SPB Git forge

spb/doc-api

Public
2commits 1branches 0releases
15.7 MBsize
maindefault branch
13 days agolast push
Python 88.3% TypeScript 7.6% Shell 4.1%
5.3 KB · 18 lines json
Raw Blame History
1[2 {"provider": "openai", "area": "admin", "file": "examples/openai/admin/list_org_resources.sh", "language": "bash", "status": "ACCOUNT_RESTRICTED", "verified_at": "2026-09-18", "notes": "Ran with project key: 403 string-body 'Missing scopes: api.management.read/api.roles.read/api.groups.read' on users, invites, projects, admin_api_keys, roles, groups; 401 api.audit_logs.read on audit_logs. Needs OPENAI_ADMIN_KEY for real data. Read-only.", "http_status_observed": [403, 401]},3 {"provider": "openai", "area": "admin", "file": "examples/openai/admin/usage_costs.sh", "language": "bash", "status": "ACCOUNT_RESTRICTED", "verified_at": "2026-09-18", "notes": "usage/completions, usage/embeddings, costs with bucket_width/group_by: 403 'Missing scopes: api.usage.read'. Query grammar taken from OpenAPI spec.", "http_status_observed": [403]},4 {"provider": "openai", "area": "admin", "file": "examples/openai/admin/admin_readonly.py", "language": "python", "status": "ACCOUNT_RESTRICTED", "verified_at": "2026-09-18", "notes": "openai 3.16.2 client.admin.organization.{users,projects,audit_logs,usage.completions,usage.costs}: PermissionDeniedError 403 x4, AuthenticationError 401 (audit logs); request ids captured; logged to reports/live-requests.jsonl.", "http_status_observed": [403, 401]},5 {"provider": "openai", "area": "admin", "file": "examples/openai/admin/admin_readonly.ts", "language": "typescript", "status": "ACCOUNT_RESTRICTED", "verified_at": "2026-09-18", "notes": "openai@7.18.0 client.admin.organization.* with adminAPIKey fallback to project key: PermissionDeniedError 403 x4, AuthenticationError 401; run with node --env-file=.env (Node 25 type stripping).", "http_status_observed": [403, 401]},6 {"provider": "openai", "area": "webhooks", "file": "examples/openai/webhooks/verify_manual.py", "language": "python", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "Manual Standard-Webhooks HMAC-SHA256 verification (whsec_ base64 secret, id.timestamp.body, v1 list, 300 s tolerance); byte-identical signatures to openai 3.16.2 lib/_webhooks.py. Offline."},7 {"provider": "openai", "area": "webhooks", "file": "examples/openai/webhooks/verify_manual.ts", "language": "typescript", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "node:crypto implementation of the same scheme; agrees with openai@7.18.0 webhooks.unwrap. Offline."},8 {"provider": "openai", "area": "webhooks", "file": "examples/openai/webhooks/offline_test.py", "language": "python", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "Signs a payload with a fake secret; 11 checks passed (SDK unwrap + verify_signature, manual verify, tampered body, wrong secret, stale timestamp, rotation double-signature, missing header). No network."},9 {"provider": "openai", "area": "webhooks", "file": "examples/openai/webhooks/offline_test.ts", "language": "typescript", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "Same 11 checks with the Node SDK (`node examples/openai/webhooks/offline_test.ts`). No network."},10 {"provider": "openai", "area": "webhooks", "file": "examples/openai/webhooks/server_express.ts", "language": "typescript", "status": "UNVERIFIED", "verified_at": "2026-09-18", "notes": "Express receiver using client.webhooks.unwrap on the raw text body + manual route; express is not installed in this repo so the process was not started (logic verified via offline_test.ts)."},11 {"provider": "openai", "area": "webhooks", "file": "examples/openai/webhooks/server_fastapi.py", "language": "python", "status": "UNVERIFIED", "verified_at": "2026-09-18", "notes": "FastAPI receiver (unwrap + BackgroundTasks + dedupe on webhook-id + manual route); fastapi not installed here, py_compile OK; logic verified via offline_test.py."},12 {"provider": "openai", "area": "errors", "file": "examples/shared/errors/classify_error.py", "language": "python", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "Classifier for OpenAI (object / bare-string / empty bodies) and Anthropic error shapes with retryability + Retry-After/backoff; exercised by tests/openai/test_errors.py against live-captured bodies (all 44 tests green)."},13 {"provider": "openai", "area": "errors", "file": "examples/shared/errors/classify_error.ts", "language": "typescript", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "Same classifier in TypeScript with an 11-case self-test (`node examples/shared/errors/classify_error.ts`)."},14 {"provider": "openai", "area": "tests", "file": "tests/openai/test_errors.py", "language": "python", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "8 live cheap-error tests ($0: all rejected before generation) + 14-case classifier matrix; passed."},15 {"provider": "openai", "area": "tests", "file": "tests/openai/test_admin.py", "language": "python", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "Asserts the ACCOUNT_RESTRICTED shapes (11 admin GETs + usage/costs) and that webhook endpoints/event types lists work with a project key; gated real admin tests skipped (RUN_ADMIN_TESTS / OPENAI_ADMIN_KEY absent)."},16 {"provider": "openai", "area": "tests", "file": "tests/openai/test_webhooks_offline.py", "language": "python", "status": "LIVE_VERIFIED", "verified_at": "2026-09-18", "notes": "6 offline signature tests (SDK vs manual, known vector, tamper, stale, rotation, missing header); passed."}17]18