@theokit/sdk 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1571 -0
- package/LICENSE +201 -0
- package/README.md +80 -0
- package/bin/theokit-migrate-config.mjs +269 -0
- package/bin/theokit-migrate-memory.mjs +116 -0
- package/dist/agent-builder.d.ts +52 -0
- package/dist/agent-factory.d.ts +39 -0
- package/dist/agent.d.ts +175 -0
- package/dist/batch.d.ts +11 -0
- package/dist/budget.d.ts +48 -0
- package/dist/cache.d.ts +74 -0
- package/dist/cron-1yxL3K2S.d.cts +221 -0
- package/dist/cron-BYVdYzob.d.ts +221 -0
- package/dist/cron.cjs +14655 -0
- package/dist/cron.cjs.map +1 -0
- package/dist/cron.d.cts +3 -0
- package/dist/cron.d.ts +71 -0
- package/dist/cron.js +14652 -0
- package/dist/cron.js.map +1 -0
- package/dist/define-tool.d.ts +35 -0
- package/dist/errors-CK8brCJ1.d.cts +448 -0
- package/dist/errors-CvAeEWgE.d.ts +448 -0
- package/dist/errors.cjs +255 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +3 -0
- package/dist/errors.d.ts +356 -0
- package/dist/errors.js +238 -0
- package/dist/errors.js.map +1 -0
- package/dist/eval.cjs +14826 -0
- package/dist/eval.cjs.map +1 -0
- package/dist/eval.d.cts +35 -0
- package/dist/eval.d.ts +35 -0
- package/dist/eval.js +14821 -0
- package/dist/eval.js.map +1 -0
- package/dist/generate-object.d.ts +67 -0
- package/dist/handoff.d.ts +55 -0
- package/dist/index.cjs +17127 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1878 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +17095 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/agent-loop/loop-types.d.ts +29 -0
- package/dist/internal/agent-loop/loop.d.ts +2 -0
- package/dist/internal/agent-loop/message-builders.d.ts +6 -0
- package/dist/internal/agent-loop/tool-dispatch.d.ts +4 -0
- package/dist/internal/agent-loop/usage-and-cost.d.ts +25 -0
- package/dist/internal/budget/calendar-window.d.ts +19 -0
- package/dist/internal/budget/compute-cost.d.ts +28 -0
- package/dist/internal/budget/enforcement.d.ts +32 -0
- package/dist/internal/budget/ledger.d.ts +25 -0
- package/dist/internal/budget/normalize-usage.d.ts +27 -0
- package/dist/internal/budget/pricing-registry.d.ts +36 -0
- package/dist/internal/budget/registry.d.ts +16 -0
- package/dist/internal/budget/usage-accumulator.d.ts +31 -0
- package/dist/internal/cache/cosine.d.ts +14 -0
- package/dist/internal/cache/embed-helper.d.ts +15 -0
- package/dist/internal/cache/key.d.ts +15 -0
- package/dist/internal/cache/lookup.d.ts +28 -0
- package/dist/internal/cache/store-handler.d.ts +24 -0
- package/dist/internal/cache/store-json.d.ts +48 -0
- package/dist/internal/cache/store.d.ts +54 -0
- package/dist/internal/cache/telemetry.d.ts +20 -0
- package/dist/internal/cache/ttl.d.ts +11 -0
- package/dist/internal/catalog/fixtures.d.ts +16 -0
- package/dist/internal/catalog/local-models.d.ts +24 -0
- package/dist/internal/cron/run-job.d.ts +1 -0
- package/dist/internal/cron/scheduler.d.ts +1 -0
- package/dist/internal/cron/store.d.ts +1 -0
- package/dist/internal/cron/validate.d.ts +1 -0
- package/dist/internal/env.d.ts +1 -0
- package/dist/internal/errors/mappers/anthropic.d.ts +30 -0
- package/dist/internal/errors/mappers/bedrock.d.ts +16 -0
- package/dist/internal/errors/mappers/ollama.d.ts +41 -0
- package/dist/internal/errors/mappers/openai-compatible.d.ts +25 -0
- package/dist/internal/errors/mappers/shared.d.ts +10 -0
- package/dist/internal/errors/mappers/vertex.d.ts +15 -0
- package/dist/internal/eval/aggregate.d.ts +9 -0
- package/dist/internal/eval/dataset-iter.d.ts +9 -0
- package/dist/internal/eval/runner.d.ts +9 -0
- package/dist/internal/eval/single-flight.d.ts +16 -0
- package/dist/internal/eval/telemetry.d.ts +23 -0
- package/dist/internal/fixture-mode.d.ts +16 -0
- package/dist/internal/handoff/dispatcher.d.ts +29 -0
- package/dist/internal/handoff/registry.d.ts +23 -0
- package/dist/internal/handoff/telemetry.d.ts +18 -0
- package/dist/internal/handoff/tool-injector.d.ts +34 -0
- package/dist/internal/http.d.ts +1 -0
- package/dist/internal/ids.d.ts +1 -0
- package/dist/internal/judge/judge-call.d.ts +35 -0
- package/dist/internal/judge/parse-verdict.d.ts +11 -0
- package/dist/internal/judge/types.d.ts +17 -0
- package/dist/internal/llm/anthropic-shared.d.ts +89 -0
- package/dist/internal/llm/anthropic.d.ts +9 -0
- package/dist/internal/llm/bedrock-anthropic.d.ts +36 -0
- package/dist/internal/llm/bedrock-token-cache.d.ts +18 -0
- package/dist/internal/llm/credential-pool-context.d.ts +11 -0
- package/dist/internal/llm/credential-pool-types.d.ts +22 -0
- package/dist/internal/llm/credential-pool.d.ts +18 -0
- package/dist/internal/llm/fallback-client.d.ts +1 -0
- package/dist/internal/llm/fault-injection.d.ts +50 -0
- package/dist/internal/llm/finish.d.ts +1 -0
- package/dist/internal/llm/model-identifier.d.ts +24 -0
- package/dist/internal/llm/ollama-native.d.ts +27 -0
- package/dist/internal/llm/openai.d.ts +9 -0
- package/dist/internal/llm/pool-aware-client.d.ts +16 -0
- package/dist/internal/llm/router.d.ts +17 -0
- package/dist/internal/llm/sse.d.ts +9 -0
- package/dist/internal/llm/stream-relay.d.ts +17 -0
- package/dist/internal/llm/types.d.ts +70 -0
- package/dist/internal/llm/vertex-anthropic.d.ts +40 -0
- package/dist/internal/llm/vertex-auth.d.ts +30 -0
- package/dist/internal/llm/vertex-gemini.d.ts +28 -0
- package/dist/internal/llm/vertex-router.d.ts +21 -0
- package/dist/internal/mcp/client.d.ts +16 -0
- package/dist/internal/memory/active-memory-cache.d.ts +10 -0
- package/dist/internal/memory/active-memory.d.ts +45 -0
- package/dist/internal/memory/adapters/catalog.d.ts +1 -0
- package/dist/internal/memory/adapters/deepinfra-embedding.d.ts +2 -0
- package/dist/internal/memory/adapters/mistral-embedding.d.ts +2 -0
- package/dist/internal/memory/adapters/ollama-embedding.d.ts +34 -0
- package/dist/internal/memory/adapters/openai-compatible.d.ts +23 -0
- package/dist/internal/memory/adapters/openai-embedding.d.ts +2 -0
- package/dist/internal/memory/adapters/openrouter-embedding.d.ts +2 -0
- package/dist/internal/memory/adapters/voyage-embedding.d.ts +2 -0
- package/dist/internal/memory/atomic-write.d.ts +7 -0
- package/dist/internal/memory/chunk-markdown.d.ts +2 -0
- package/dist/internal/memory/circuit-breaker.d.ts +22 -0
- package/dist/internal/memory/cwd-mutex.d.ts +1 -0
- package/dist/internal/memory/dreaming/diary.d.ts +4 -0
- package/dist/internal/memory/dreaming/phases.d.ts +15 -0
- package/dist/internal/memory/dreaming/run.d.ts +10 -0
- package/dist/internal/memory/embedding-adapter.d.ts +42 -0
- package/dist/internal/memory/embedding-cache.d.ts +1 -0
- package/dist/internal/memory/index-db.d.ts +10 -0
- package/dist/internal/memory/index-manager-dispatch.d.ts +23 -0
- package/dist/internal/memory/index-manager.d.ts +68 -0
- package/dist/internal/memory/index-schema.d.ts +21 -0
- package/dist/internal/memory/lance-index.d.ts +32 -0
- package/dist/internal/memory/lance-memory-adapter.d.ts +43 -0
- package/dist/internal/memory/markdown-store.d.ts +16 -0
- package/dist/internal/memory/memory-index.d.ts +52 -0
- package/dist/internal/memory/migrate-sqlite-to-lance.d.ts +15 -0
- package/dist/internal/memory/migration.d.ts +9 -0
- package/dist/internal/memory/reader.d.ts +8 -0
- package/dist/internal/memory/session-loader.d.ts +1 -0
- package/dist/internal/memory/session-summary-writer.d.ts +2 -0
- package/dist/internal/memory/sqlite-vec-loader.d.ts +3 -0
- package/dist/internal/memory/tools.d.ts +14 -0
- package/dist/internal/memory/transcript-store.d.ts +1 -0
- package/dist/internal/memory/types.d.ts +17 -0
- package/dist/internal/memory/vec-index.d.ts +28 -0
- package/dist/internal/memory/wiki-loader.d.ts +2 -0
- package/dist/internal/observability/tracer-loader.d.ts +20 -0
- package/dist/internal/persistence/atomic-write.d.ts +1 -0
- package/dist/internal/persistence/conversation-storage-fs.d.ts +37 -0
- package/dist/internal/persistence/conversation-storage-memory.d.ts +24 -0
- package/dist/internal/persistence/cwd-mutex.d.ts +1 -0
- package/dist/internal/persistence/file-lock.d.ts +14 -0
- package/dist/internal/persistence/fts5-sanitize.d.ts +16 -0
- package/dist/internal/persistence/markdown-config-loader.d.ts +35 -0
- package/dist/internal/persistence/paths.d.ts +19 -0
- package/dist/internal/persistence/persistence-schema.d.ts +17 -0
- package/dist/internal/persistence/schema-version.d.ts +13 -0
- package/dist/internal/persistence/sqlite-wal.d.ts +10 -0
- package/dist/internal/personality/context.d.ts +17 -0
- package/dist/internal/personality/registry.d.ts +17 -0
- package/dist/internal/personality/store.d.ts +27 -0
- package/dist/internal/personality/switch.d.ts +36 -0
- package/dist/internal/personality/types.d.ts +18 -0
- package/dist/internal/plugins/context.d.ts +31 -0
- package/dist/internal/plugins/manager.d.ts +37 -0
- package/dist/internal/plugins/types.d.ts +102 -0
- package/dist/internal/providers/builtin/anthropic.d.ts +2 -0
- package/dist/internal/providers/builtin/bedrock.d.ts +25 -0
- package/dist/internal/providers/builtin/gemini.d.ts +10 -0
- package/dist/internal/providers/builtin/index.d.ts +19 -0
- package/dist/internal/providers/builtin/llamacpp.d.ts +1 -0
- package/dist/internal/providers/builtin/lmstudio.d.ts +1 -0
- package/dist/internal/providers/builtin/ollama.d.ts +17 -0
- package/dist/internal/providers/builtin/openai.d.ts +2 -0
- package/dist/internal/providers/builtin/openrouter.d.ts +2 -0
- package/dist/internal/providers/builtin/vertex.d.ts +27 -0
- package/dist/internal/providers/discovery.d.ts +14 -0
- package/dist/internal/providers/index.d.ts +8 -0
- package/dist/internal/providers/registry.d.ts +12 -0
- package/dist/internal/providers/types.d.ts +27 -0
- package/dist/internal/runtime/abort-utils.d.ts +21 -0
- package/dist/internal/runtime/agent-factory-registry.d.ts +16 -0
- package/dist/internal/runtime/agent-registry-store.d.ts +61 -0
- package/dist/internal/runtime/agent-registry.d.ts +34 -0
- package/dist/internal/runtime/agent-session-store.d.ts +3 -0
- package/dist/internal/runtime/agent-session.d.ts +2 -0
- package/dist/internal/runtime/async-local-storage.d.ts +20 -0
- package/dist/internal/runtime/async-semaphore.d.ts +24 -0
- package/dist/internal/runtime/budget.d.ts +36 -0
- package/dist/internal/runtime/cloud-agent.d.ts +1 -0
- package/dist/internal/runtime/cloud-config-serializer.d.ts +3 -0
- package/dist/internal/runtime/cloud-payload-types.d.ts +56 -0
- package/dist/internal/runtime/cloud-run.d.ts +1 -0
- package/dist/internal/runtime/cloud-tool-parity.d.ts +1 -0
- package/dist/internal/runtime/context-aggregator.d.ts +26 -0
- package/dist/internal/runtime/context-discovery-runner.d.ts +27 -0
- package/dist/internal/runtime/context-discovery.d.ts +21 -0
- package/dist/internal/runtime/context-frontmatter.d.ts +16 -0
- package/dist/internal/runtime/context-import-resolver.d.ts +24 -0
- package/dist/internal/runtime/context-loaders.d.ts +42 -0
- package/dist/internal/runtime/context-manager.d.ts +11 -0
- package/dist/internal/runtime/context-mdc-parser.d.ts +24 -0
- package/dist/internal/runtime/default-model.d.ts +1 -0
- package/dist/internal/runtime/fixture-events.d.ts +12 -0
- package/dist/internal/runtime/fixture-responder.d.ts +1 -0
- package/dist/internal/runtime/fixture-run-base.d.ts +45 -0
- package/dist/internal/runtime/fixture-scripts.d.ts +21 -0
- package/dist/internal/runtime/fixture-types.d.ts +1 -0
- package/dist/internal/runtime/fork-agent.d.ts +15 -0
- package/dist/internal/runtime/hooks-executor.d.ts +35 -0
- package/dist/internal/runtime/hooks-frontmatter.d.ts +26 -0
- package/dist/internal/runtime/hooks-source.d.ts +22 -0
- package/dist/internal/runtime/live-agent-registry.d.ts +87 -0
- package/dist/internal/runtime/local-agent-bootstrap.d.ts +37 -0
- package/dist/internal/runtime/local-agent-dispatch.d.ts +57 -0
- package/dist/internal/runtime/local-agent-invalidate.d.ts +8 -0
- package/dist/internal/runtime/local-agent-memory-direct.d.ts +12 -0
- package/dist/internal/runtime/local-agent-memory-hooks.d.ts +41 -0
- package/dist/internal/runtime/local-agent-memory.d.ts +1 -0
- package/dist/internal/runtime/local-agent-personality-extensions.d.ts +19 -0
- package/dist/internal/runtime/local-agent-plugins.d.ts +13 -0
- package/dist/internal/runtime/local-agent-runtime-extensions.d.ts +13 -0
- package/dist/internal/runtime/local-agent-task-wrap.d.ts +11 -0
- package/dist/internal/runtime/local-agent.d.ts +1 -0
- package/dist/internal/runtime/local-run.d.ts +1 -0
- package/dist/internal/runtime/memory-store.d.ts +4 -0
- package/dist/internal/runtime/plugin-frontmatter.d.ts +17 -0
- package/dist/internal/runtime/plugins-manager.d.ts +1 -0
- package/dist/internal/runtime/post-run-lifecycle.d.ts +1 -0
- package/dist/internal/runtime/providers-manager.d.ts +1 -0
- package/dist/internal/runtime/real-cloud-run.d.ts +2 -0
- package/dist/internal/runtime/real-local-run.d.ts +2 -0
- package/dist/internal/runtime/run-registry.d.ts +5 -0
- package/dist/internal/runtime/run-until.d.ts +22 -0
- package/dist/internal/runtime/shell-tool.d.ts +7 -0
- package/dist/internal/runtime/skill-frontmatter.d.ts +1 -0
- package/dist/internal/runtime/skills-manager.d.ts +1 -0
- package/dist/internal/runtime/spawn-collect.d.ts +8 -0
- package/dist/internal/runtime/subagents-loader.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/escape.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/local-assembly.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/pipeline.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/providers/active-memory-provider.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/providers/base-provider.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/providers/context-provider.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/providers/memory-provider.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/providers/skills-provider.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/safe-call.d.ts +1 -0
- package/dist/internal/runtime/system-prompt/types.d.ts +5 -0
- package/dist/internal/runtime/system-prompt.d.ts +1 -0
- package/dist/internal/runtime/validate-agent-options.d.ts +1 -0
- package/dist/internal/runtime/workspace-dir.d.ts +9 -0
- package/dist/internal/runtime/yaml-frontmatter.d.ts +20 -0
- package/dist/internal/scorers/llm-judge.d.ts +24 -0
- package/dist/internal/security/index.d.ts +11 -0
- package/dist/internal/security/path-guard.d.ts +56 -0
- package/dist/internal/security/redact.d.ts +21 -0
- package/dist/internal/structured-output-helpers.d.ts +54 -0
- package/dist/internal/task/registry.d.ts +61 -0
- package/dist/internal/task/ring-buffer.d.ts +10 -0
- package/dist/internal/task/store.d.ts +59 -0
- package/dist/internal/task/subscribe.d.ts +15 -0
- package/dist/internal/task/telemetry.d.ts +27 -0
- package/dist/internal/telemetry/adapter-registry.d.ts +2 -0
- package/dist/internal/telemetry/adapters/langfuse.d.ts +2 -0
- package/dist/internal/telemetry/adapters/posthog.d.ts +2 -0
- package/dist/internal/telemetry/adapters/sentry.d.ts +2 -0
- package/dist/internal/telemetry/safe-require.d.ts +1 -0
- package/dist/internal/telemetry/tracer.d.ts +18 -0
- package/dist/internal/tool-dispatch/repair-middleware.d.ts +34 -0
- package/dist/internal/tool-dispatch/strip-think.d.ts +22 -0
- package/dist/internal/tool-registry/personality-filter.d.ts +37 -0
- package/dist/internal/workflow/ctx.d.ts +19 -0
- package/dist/internal/workflow/error-shape.d.ts +7 -0
- package/dist/internal/workflow/executor.d.ts +15 -0
- package/dist/internal/workflow/index.d.ts +12 -0
- package/dist/internal/workflow/retry-policy.d.ts +14 -0
- package/dist/internal/workflow/run-id.d.ts +9 -0
- package/dist/internal/workflow/single-flight.d.ts +18 -0
- package/dist/internal/workflow/snapshot-store.d.ts +23 -0
- package/dist/internal/workflow/step-agent.d.ts +12 -0
- package/dist/internal/workflow/step-branch.d.ts +10 -0
- package/dist/internal/workflow/step-dowhile.d.ts +8 -0
- package/dist/internal/workflow/step-fn.d.ts +10 -0
- package/dist/internal/workflow/step-foreach.d.ts +11 -0
- package/dist/internal/workflow/step-parallel.d.ts +17 -0
- package/dist/internal/workflow/step-sleep.d.ts +7 -0
- package/dist/internal/workflow/telemetry.d.ts +23 -0
- package/dist/internal/zod/to-json-schema.d.ts +21 -0
- package/dist/memory-adapter-helpers.d.ts +28 -0
- package/dist/memory.d.ts +123 -0
- package/dist/migrate.d.ts +33 -0
- package/dist/path-safety.cjs +126 -0
- package/dist/path-safety.cjs.map +1 -0
- package/dist/path-safety.d.cts +15 -0
- package/dist/path-safety.d.ts +15 -0
- package/dist/path-safety.js +120 -0
- package/dist/path-safety.js.map +1 -0
- package/dist/run-DkCD5DeO.d.cts +2181 -0
- package/dist/run-DkCD5DeO.d.ts +2181 -0
- package/dist/scorers.d.ts +75 -0
- package/dist/security.d.ts +67 -0
- package/dist/stream-object.d.ts +74 -0
- package/dist/task-store.cjs +237 -0
- package/dist/task-store.cjs.map +1 -0
- package/dist/task-store.d.cts +8 -0
- package/dist/task-store.d.ts +8 -0
- package/dist/task-store.js +233 -0
- package/dist/task-store.js.map +1 -0
- package/dist/task.d.ts +87 -0
- package/dist/theokit.d.ts +84 -0
- package/dist/tools/_path-scope.d.cts +8 -0
- package/dist/tools/_path-scope.d.ts +8 -0
- package/dist/tools/_subprocess.d.cts +28 -0
- package/dist/tools/_subprocess.d.ts +28 -0
- package/dist/tools/git-diff.d.cts +22 -0
- package/dist/tools/git-diff.d.ts +22 -0
- package/dist/tools/index.d.cts +29 -0
- package/dist/tools/index.d.ts +29 -0
- package/dist/tools/list-dir.d.cts +26 -0
- package/dist/tools/list-dir.d.ts +26 -0
- package/dist/tools/read-file.d.cts +31 -0
- package/dist/tools/read-file.d.ts +31 -0
- package/dist/tools/run-vitest.d.cts +46 -0
- package/dist/tools/run-vitest.d.ts +46 -0
- package/dist/tools/search-text.d.cts +32 -0
- package/dist/tools/search-text.d.ts +32 -0
- package/dist/tools.cjs +690 -0
- package/dist/tools.cjs.map +1 -0
- package/dist/tools.js +683 -0
- package/dist/tools.js.map +1 -0
- package/dist/trajectory-helpers.d.ts +31 -0
- package/dist/types/agent.d.ts +771 -0
- package/dist/types/batch.d.ts +112 -0
- package/dist/types/budget.d.ts +88 -0
- package/dist/types/cache.d.ts +76 -0
- package/dist/types/context.d.ts +93 -0
- package/dist/types/conversation-storage.d.ts +76 -0
- package/dist/types/conversation.d.ts +90 -0
- package/dist/types/cron.d.ts +150 -0
- package/dist/types/eval.d.ts +132 -0
- package/dist/types/goal-events.d.ts +95 -0
- package/dist/types/handoff.d.ts +135 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/mcp.d.ts +64 -0
- package/dist/types/memory-adapter.d.ts +175 -0
- package/dist/types/messages.d.ts +154 -0
- package/dist/types/providers.d.ts +102 -0
- package/dist/types/run.d.ts +215 -0
- package/dist/types/task.d.ts +131 -0
- package/dist/types/theokit.d.ts +61 -0
- package/dist/types/trajectory.d.ts +49 -0
- package/dist/types/updates.d.ts +148 -0
- package/dist/types/usage.d.ts +61 -0
- package/dist/types/workflow.d.ts +217 -0
- package/dist/workflow.cjs +2405 -0
- package/dist/workflow.cjs.map +1 -0
- package/dist/workflow.d.cts +97 -0
- package/dist/workflow.d.ts +97 -0
- package/dist/workflow.js +2398 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +183 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/errors.ts"],"names":[],"mappings":";;;AAmFO,IAAM,iBAAA,GAAN,cAAgC,KAAA,CAAM;AAAA,EACzB,IAAA,GAAe,mBAAA;AAAA,EACxB,WAAA;AAAA,EACA,IAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EAET,WAAA,CACE,OAAA,EACA,OAAA,GAMI,EAAC,EACL;AACA,IAAA,KAAA,CAAM,OAAA,EAAS,QAAQ,KAAA,KAAU,MAAA,GAAY,EAAE,KAAA,EAAO,OAAA,CAAQ,KAAA,EAAM,GAAI,MAAS,CAAA;AACjF,IAAA,IAAA,CAAK,WAAA,GAAc,QAAQ,WAAA,IAAe,KAAA;AAC1C,IAAA,IAAI,OAAA,CAAQ,IAAA,KAAS,MAAA,EAAW,IAAA,CAAK,OAAO,OAAA,CAAQ,IAAA;AACpD,IAAA,IAAI,OAAA,CAAQ,cAAA,KAAmB,MAAA,EAAW,IAAA,CAAK,iBAAiB,OAAA,CAAQ,cAAA;AACxE,IAAA,IAAI,OAAA,CAAQ,QAAA,KAAa,MAAA,EAAW,IAAA,CAAK,WAAW,OAAA,CAAQ,QAAA;AAAA,EAC9D;AACF;AAOO,IAAM,mBAAA,GAAN,cAAkC,iBAAA,CAAkB;AAAA,EACvC,IAAA,GAAe,qBAAA;AAAA,EAEjC,WAAA,CACE,OAAA,EACA,OAAA,GAAwE,EAAC,EACzE;AACA,IAAA,KAAA,CAAM,SAAS,EAAE,GAAG,OAAA,EAAS,WAAA,EAAa,OAAO,CAAA;AAAA,EACnD;AACF;AAOO,IAAM,cAAA,GAAN,cAA6B,iBAAA,CAAkB;AAAA,EAClC,IAAA,GAAe,gBAAA;AAAA,EAEjC,WAAA,CACE,OAAA,EACA,OAAA,GAAwE,EAAC,EACzE;AACA,IAAA,KAAA,CAAM,SAAS,EAAE,GAAG,OAAA,EAAS,WAAA,EAAa,MAAM,CAAA;AAAA,EAClD;AACF;AAOO,IAAM,kBAAA,GAAN,cAAiC,iBAAA,CAAkB;AAAA,EACtC,IAAA,GAAe,oBAAA;AAAA,EAEjC,WAAA,CACE,OAAA,EACA,OAAA,GAAwE,EAAC,EACzE;AACA,IAAA,KAAA,CAAM,SAAS,EAAE,GAAG,OAAA,EAAS,WAAA,EAAa,OAAO,CAAA;AAAA,EACnD;AACF;AAQO,IAAM,4BAAA,GAAN,cAA2C,kBAAA,CAAmB;AAAA,EACjD,IAAA,GAAe,8BAAA;AAAA,EACxB,QAAA;AAAA,EACA,OAAA;AAAA,EAET,WAAA,CACE,SACA,OAAA,EAOA;AACA,IAAA,KAAA,CAAM,SAAS,OAAO,CAAA;AACtB,IAAA,IAAA,CAAK,WAAW,OAAA,CAAQ,QAAA;AACxB,IAAA,IAAA,CAAK,UAAU,OAAA,CAAQ,OAAA;AAAA,EACzB;AACF;AAOO,IAAM,YAAA,GAAN,cAA2B,iBAAA,CAAkB;AAAA,EAChC,IAAA,GAAe,cAAA;AAAA,EAEjC,WAAA,CACE,OAAA,EACA,OAAA,GAAwE,EAAC,EACzE;AACA,IAAA,KAAA,CAAM,SAAS,EAAE,GAAG,OAAA,EAAS,WAAA,EAAa,MAAM,CAAA;AAAA,EAClD;AACF;AAOO,IAAM,iBAAA,GAAN,cAAgC,iBAAA,CAAkB;AAAA,EACrC,IAAA,GAAe,mBAAA;AAAA,EAEjC,WAAA,CACE,OAAA,EACA,OAAA,GAAwE,EAAC,EACzE;AACA,IAAA,KAAA,CAAM,SAAS,EAAE,GAAG,OAAA,EAAS,WAAA,EAAa,OAAO,CAAA;AAAA,EACnD;AACF;AAsBO,IAAM,aAAA,GAAN,cAA4B,iBAAA,CAAkB;AAAA,EACjC,IAAA,GAAe,eAAA;AAAA,EACxB,QAAA;AAAA,EACA,GAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA,EAEA,cAAA;AAAA,EAET,WAAA,CACE,SACA,OAAA,EAUA;AACA,IAAA,KAAA,CAAM,OAAA,EAAS;AAAA,MACb,MAAM,OAAA,CAAQ,IAAA;AAAA,MACd,OAAO,OAAA,CAAQ,KAAA;AAAA,MACf,UAAU,OAAA,CAAQ,QAAA;AAAA;AAAA;AAAA;AAAA,MAIlB,WAAA,EAAa,OAAA,CAAQ,SAAA,IAAa,uBAAA,CAAwB,QAAQ,IAAI;AAAA,KACvE,CAAA;AACD,IAAA,IAAI,OAAA,CAAQ,QAAA,KAAa,MAAA,EAAW,IAAA,CAAK,WAAW,OAAA,CAAQ,QAAA;AAC5D,IAAA,IAAI,OAAA,CAAQ,GAAA,KAAQ,MAAA,EAAW,IAAA,CAAK,MAAM,OAAA,CAAQ,GAAA;AAClD,IAAA,IAAI,OAAA,CAAQ,SAAA,KAAc,MAAA,EAAW,IAAA,CAAK,YAAY,OAAA,CAAQ,SAAA;AAC9D,IAAA,IAAI,OAAA,CAAQ,cAAA,KAAmB,MAAA,EAAW,IAAA,CAAK,iBAAiB,OAAA,CAAQ,cAAA;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,SAAA,GAAqB;AACvB,IAAA,OAAO,IAAA,CAAK,WAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,YAAA,GAAmC;AACrC,IAAA,IAAI,IAAA,CAAK,QAAA,EAAU,UAAA,KAAe,MAAA,EAAW,OAAO,MAAA;AACpD,IAAA,OAAO,IAAA,CAAK,SAAS,UAAA,GAAa,GAAA;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,aAAA,GAAyB;AAC3B,IAAA,OAAO,KAAK,QAAA,EAAU,GAAA;AAAA,EACxB;AACF;AASA,SAAS,wBAAwB,IAAA,EAAkC;AACjE,EAAA,QAAQ,IAAA;AAAM,IACZ,KAAK,YAAA;AAAA,IACL,KAAK,SAAA;AAAA,IACL,KAAK,cAAA;AAAA,IACL,KAAK,SAAA;AAAA,IACL,KAAK,sBAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT;AACE,MAAA,OAAO,KAAA;AAAA;AAEb;AAYO,IAAM,4BAAA,GAAN,cAA2C,iBAAA,CAAkB;AAAA,EAChD,IAAA,GAAe,8BAAA;AAAA,EACxB,SAAA;AAAA,EAET,WAAA,CACE,OAAA,EACA,SAAA,EACA,OAAA,GAA8C,EAAC,EAC/C;AACA,IAAA,KAAA,CAAM,OAAA,EAAS;AAAA,MACb,GAAG,OAAA;AAAA,MACH,WAAA,EAAa,KAAA;AAAA,MACb,IAAA,EAAM,QAAQ,IAAA,IAAQ;AAAA,KACvB,CAAA;AACD,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AAAA,EACnB;AACF;AAaO,IAAM,4BAAA,GAAN,cAA2C,iBAAA,CAAkB;AAAA,EAChD,IAAA,GAAe,8BAAA;AAAA,EACxB,QAAA;AAAA,EACA,WAAA;AAAA,EAET,WAAA,CACE,SACA,OAAA,EAOA;AACA,IAAA,KAAA,CAAM,OAAA,EAAS;AAAA,MACb,GAAG,OAAA;AAAA,MACH,WAAA,EAAa,IAAA;AAAA,MACb,IAAA,EAAM,QAAQ,IAAA,IAAQ;AAAA,KACvB,CAAA;AACD,IAAA,IAAA,CAAK,WAAW,OAAA,CAAQ,QAAA;AACxB,IAAA,IAAA,CAAK,cAAc,OAAA,CAAQ,WAAA;AAAA,EAC7B;AACF;AAqBO,IAAM,kBAAA,GAAN,cAAiC,iBAAA,CAAkB;AAAA,EACtC,IAAA,GAAe,oBAAA;AAAA,EACxB,SAAA;AAAA,EAET,WAAA,CACE,SACA,OAAA,EAMA;AACA,IAAA,KAAA,CAAM,OAAA,EAAS;AAAA,MACb,WAAA,EAAa,OAAA,CAAQ,IAAA,KAAS,cAAA,IAAkB,QAAQ,IAAA,KAAS,SAAA;AAAA,MACjE,MAAM,OAAA,CAAQ,IAAA;AAAA,MACd,GAAI,QAAQ,KAAA,KAAU,MAAA,GAAY,EAAE,KAAA,EAAO,OAAA,CAAQ,KAAA,EAAM,GAAI,EAAC;AAAA,MAC9D,GAAI,QAAQ,QAAA,KAAa,MAAA,GAAY,EAAE,QAAA,EAAU,OAAA,CAAQ,QAAA,EAAS,GAAI;AAAC,KACxE,CAAA;AACD,IAAA,IAAA,CAAK,YAAY,OAAA,CAAQ,SAAA;AAAA,EAC3B;AACF;AASO,IAAM,kBAAA,GAAN,cAAiC,iBAAA,CAAkB;AAAA,EACtC,IAAA,GAAe,oBAAA;AAAA,EACxB,MAAA;AAAA,EAET,WAAA,CAAY,OAAA,EAAiB,MAAA,EAAgB,OAAA,GAA+B,EAAC,EAAG;AAC9E,IAAA,KAAA,CAAM,OAAA,EAAS;AAAA,MACb,GAAG,OAAA;AAAA,MACH,WAAA,EAAa,KAAA;AAAA,MACb,IAAA,EAAM;AAAA,KACP,CAAA;AACD,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AACF;AAQO,IAAM,iBAAA,GAAN,cAAgC,iBAAA,CAAkB;AAAA,EACrC,IAAA,GAAe,mBAAA;AAAA,EACxB,MAAA;AAAA,EAET,WAAA,CAAY,MAAA,EAAgB,OAAA,GAA+B,EAAC,EAAG;AAC7D,IAAA,KAAA,CAAM,CAAA,gBAAA,EAAmB,MAAM,CAAA,CAAA,EAAI;AAAA,MACjC,GAAG,OAAA;AAAA,MACH,WAAA,EAAa,KAAA;AAAA,MACb,IAAA,EAAM;AAAA,KACP,CAAA;AACD,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AACF;AAQO,IAAM,6BAAA,GAAN,cAA4C,iBAAA,CAAkB;AAAA,EACjD,IAAA,GAAe,+BAAA;AAAA,EACxB,SAAA;AAAA,EAET,WAAA,CAAY,SAAA,EAAmB,OAAA,GAA+B,EAAC,EAAG;AAChE,IAAA,KAAA;AAAA,MACE,mBAAmB,SAAS,CAAA,4DAAA,CAAA;AAAA,MAC5B;AAAA,QACE,GAAG,OAAA;AAAA,QACH,WAAA,EAAa,KAAA;AAAA,QACb,IAAA,EAAM;AAAA;AACR,KACF;AACA,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AAAA,EACnB;AACF;AASO,IAAM,mBAAA,GAAN,cAAkC,iBAAA,CAAkB;AAAA,EACvC,IAAA,GAAe,qBAAA;AAAA,EACxB,UAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EAET,YAAY,IAAA,EAOT;AACD,IAAA,KAAA;AAAA,MACE,WAAW,IAAA,CAAK,UAAU,CAAA,sBAAA,EAAyB,IAAA,CAAK,MAAM,CAAA,SAAA,EAAY,IAAA,CAAK,QAAA,CAAS,OAAA,CAAQ,CAAC,CAAC,CAAA,UAAA,EAAa,KAAK,QAAA,CAAS,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA;AAAA,MACvI;AAAA,QACE,GAAI,KAAK,KAAA,KAAU,MAAA,GAAY,EAAE,KAAA,EAAO,IAAA,CAAK,KAAA,EAAM,GAAI,EAAC;AAAA,QACxD,WAAA,EAAa,KAAA;AAAA,QACb,IAAA,EAAM;AAAA;AACR,KACF;AACA,IAAA,IAAA,CAAK,aAAa,IAAA,CAAK,UAAA;AACvB,IAAA,IAAA,CAAK,SAAS,IAAA,CAAK,MAAA;AACnB,IAAA,IAAA,CAAK,WAAW,IAAA,CAAK,QAAA;AACrB,IAAA,IAAA,CAAK,WAAW,IAAA,CAAK,QAAA;AACrB,IAAA,IAAA,CAAK,OAAO,IAAA,CAAK,IAAA;AAAA,EACnB;AACF;AAQO,IAAM,+BAAA,GAAN,cAA8C,iBAAA,CAAkB;AAAA,EACnD,IAAA,GAAe,iCAAA;AAAA,EACxB,SAAA;AAAA,EAET,WAAA,CAAY,SAAA,EAAmB,OAAA,GAA+B,EAAC,EAAG;AAChE,IAAA,KAAA;AAAA,MACE,qBAAqB,SAAS,CAAA,4DAAA,CAAA;AAAA,MAC9B;AAAA,QACE,GAAG,OAAA;AAAA,QACH,WAAA,EAAa,KAAA;AAAA,QACb,IAAA,EAAM;AAAA;AACR,KACF;AACA,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AAAA,EACnB;AACF","file":"errors.cjs","sourcesContent":["import type { RunOperation } from \"./types/run.js\";\n\n/**\n * Finite, machine-readable error codes for provider-originated errors\n * (ADR D66). Consumers can `switch (err.metadata?.code)` exhaustively\n * — adding a new variant is an explicit decision + test coverage.\n *\n * @public\n */\nexport type ErrorCode =\n | \"rate_limit\"\n | \"auth_failed\"\n | \"invalid_request\"\n | \"timeout\"\n | \"server_error\"\n | \"context_too_long\"\n | \"content_filtered\"\n | \"model_unavailable\"\n | \"network\"\n | \"unknown\";\n\n/**\n * Codes used by {@link AgentRunError} (Production-Readiness #3, ADR D311).\n *\n * Superset of {@link ErrorCode} extended with codes that do NOT originate\n * from a provider HTTP response:\n *\n * - `quota_exceeded` — billing limit hit (provider 402 or signalled error)\n * - `tool_runtime_error` — custom tool handler threw inside dispatch\n * - `aborted` — caller's `AbortSignal` fired (Phase 4)\n * - `invalid_model` — model id rejected by provider (400 \"model not found\")\n * - `safety_blocked` — provider safety filter blocked req or resp\n * - `provider_unreachable` — DNS/TCP/timeout/5xx at transport boundary\n *\n * The `& {}` tail keeps the literal-union ergonomics (autocomplete) while\n * accepting any string for forward compatibility with constructor calls\n * that pass arbitrary code values (legacy callers).\n *\n * @public\n */\nexport type AgentRunErrorCode =\n | ErrorCode\n | \"quota_exceeded\"\n | \"tool_runtime_error\"\n | \"aborted\"\n | \"invalid_model\"\n | \"safety_blocked\"\n | \"provider_unreachable\"\n | (string & {});\n\n/**\n * Structured context for errors that originated from a provider HTTP\n * call (ADR D65). Lets callers retry with the right backoff (`retryAfter`),\n * surface actionable diagnostics (`provider`, `endpoint`), and inspect the\n * raw response body when needed (`raw`, capped at ~2KB by the mapper).\n *\n * @public\n */\nexport interface ErrorMetadata {\n /** Provider canonical name (e.g., `\"anthropic\"`, `\"openai\"`, `\"openrouter\"`, `\"gemini\"`). */\n provider: string;\n /** HTTP endpoint that failed (e.g., `\"/v1/messages\"`, `\"/v1/chat/completions\"`). */\n endpoint: string;\n /** Machine-readable error code (finite enum). */\n code: ErrorCode;\n /** HTTP status code if applicable. */\n statusCode?: number;\n /** Seconds to wait before retry, per provider's `retry-after` header (numeric form only). */\n retryAfter?: number;\n /** Raw response body for debugging (truncated to ~2KB by the mapper). */\n raw?: unknown;\n}\n\n/**\n * Base class for all errors thrown by `@theokit/sdk`.\n *\n * Use `isRetryable` to drive retry/backoff logic. `code` and `protoErrorCode`\n * are populated for server-originated errors when available. `metadata`\n * (ADR D65) carries structured `{ provider, endpoint, code, ... }` when\n * the error originated from a provider HTTP call.\n *\n * @public\n */\nexport class TheokitAgentError extends Error {\n override readonly name: string = \"TheokitAgentError\";\n readonly isRetryable: boolean;\n readonly code?: string;\n readonly protoErrorCode?: string;\n readonly metadata?: ErrorMetadata;\n\n constructor(\n message: string,\n options: {\n isRetryable?: boolean;\n code?: string;\n protoErrorCode?: string;\n cause?: unknown;\n metadata?: ErrorMetadata;\n } = {},\n ) {\n super(message, options.cause !== undefined ? { cause: options.cause } : undefined);\n this.isRetryable = options.isRetryable ?? false;\n if (options.code !== undefined) this.code = options.code;\n if (options.protoErrorCode !== undefined) this.protoErrorCode = options.protoErrorCode;\n if (options.metadata !== undefined) this.metadata = options.metadata;\n }\n}\n\n/**\n * Invalid API key, not logged in, insufficient permissions.\n *\n * @public\n */\nexport class AuthenticationError extends TheokitAgentError {\n override readonly name: string = \"AuthenticationError\";\n\n constructor(\n message: string,\n options: { code?: string; cause?: unknown; metadata?: ErrorMetadata } = {},\n ) {\n super(message, { ...options, isRetryable: false });\n }\n}\n\n/**\n * Too many requests or usage limits exceeded.\n *\n * @public\n */\nexport class RateLimitError extends TheokitAgentError {\n override readonly name: string = \"RateLimitError\";\n\n constructor(\n message: string,\n options: { code?: string; cause?: unknown; metadata?: ErrorMetadata } = {},\n ) {\n super(message, { ...options, isRetryable: true });\n }\n}\n\n/**\n * Invalid model, bad request parameters, malformed options.\n *\n * @public\n */\nexport class ConfigurationError extends TheokitAgentError {\n override readonly name: string = \"ConfigurationError\";\n\n constructor(\n message: string,\n options: { code?: string; cause?: unknown; metadata?: ErrorMetadata } = {},\n ) {\n super(message, { ...options, isRetryable: false });\n }\n}\n\n/**\n * Thrown when creating a cloud agent for a repo whose SCM provider is not\n * connected. Use `helpUrl` to point the user at the right reconnect flow.\n *\n * @public\n */\nexport class IntegrationNotConnectedError extends ConfigurationError {\n override readonly name: string = \"IntegrationNotConnectedError\";\n readonly provider: string;\n readonly helpUrl: string;\n\n constructor(\n message: string,\n options: {\n provider: string;\n helpUrl: string;\n code?: string;\n cause?: unknown;\n metadata?: ErrorMetadata;\n },\n ) {\n super(message, options);\n this.provider = options.provider;\n this.helpUrl = options.helpUrl;\n }\n}\n\n/**\n * Service unavailable, timeout, transport-level failure.\n *\n * @public\n */\nexport class NetworkError extends TheokitAgentError {\n override readonly name: string = \"NetworkError\";\n\n constructor(\n message: string,\n options: { code?: string; cause?: unknown; metadata?: ErrorMetadata } = {},\n ) {\n super(message, { ...options, isRetryable: true });\n }\n}\n\n/**\n * Catch-all for unclassified server or runtime errors.\n *\n * @public\n */\nexport class UnknownAgentError extends TheokitAgentError {\n override readonly name: string = \"UnknownAgentError\";\n\n constructor(\n message: string,\n options: { code?: string; cause?: unknown; metadata?: ErrorMetadata } = {},\n ) {\n super(message, { ...options, isRetryable: false });\n }\n}\n\n/**\n * Thrown by `Agent.prompt` (and helpers that go through `run.wait()`) when\n * the option `{ throwOnError: true }` is set and the run terminates with\n * `status: 'error'`. Carries the structured `RunResult.error` fields so\n * callers can `catch` once and branch on `code` / `provider` instead of\n * unwrapping the run.\n *\n * Extends {@link TheokitAgentError} per ADR D65 — no new hierarchy.\n *\n * @example\n * try {\n * await Agent.prompt(msg, { apiKey, model, throwOnError: true });\n * } catch (err) {\n * if (err instanceof AgentRunError && err.code === 'auth_failed') {\n * // bad key\n * }\n * }\n *\n * @public\n */\nexport class AgentRunError extends TheokitAgentError {\n override readonly name: string = \"AgentRunError\";\n readonly provider?: string;\n readonly raw?: string;\n /** Provider's request id (`x-request-id` / `request-id` header). Useful for support tickets. */\n readonly requestId?: string;\n /** SDK conversation id this error was raised inside. */\n readonly conversationId?: string;\n\n constructor(\n message: string,\n options: {\n code: AgentRunErrorCode;\n provider?: string;\n raw?: string;\n requestId?: string;\n conversationId?: string;\n retriable?: boolean;\n cause?: unknown;\n metadata?: ErrorMetadata;\n },\n ) {\n super(message, {\n code: options.code,\n cause: options.cause,\n metadata: options.metadata,\n // D311: most AgentRunErrors are not retriable (auth, validation, abort).\n // Provider mappers (D314) override per-status — explicit `retriable` wins\n // over the implicit default when supplied.\n isRetryable: options.retriable ?? defaultRetriableForCode(options.code),\n });\n if (options.provider !== undefined) this.provider = options.provider;\n if (options.raw !== undefined) this.raw = options.raw;\n if (options.requestId !== undefined) this.requestId = options.requestId;\n if (options.conversationId !== undefined) this.conversationId = options.conversationId;\n }\n\n /**\n * Production-Readiness #3 (ADR D311): alias for `isRetryable` exposed as\n * `retriable` to match the handoff contract. Future v2 will deprecate\n * `isRetryable` in favor of this.\n */\n get retriable(): boolean {\n return this.isRetryable;\n }\n\n /**\n * D312: provider's `Retry-After` header in **milliseconds**. Mappers store\n * the header value (seconds) in `metadata.retryAfter`; this getter\n * multiplies by 1000 so the result composes with `Date.now()`/`setTimeout`.\n *\n * Returns `undefined` when no hint was provided. `0` is a legitimate value\n * — use `=== undefined` check rather than truthy check.\n */\n get retryAfterMs(): number | undefined {\n if (this.metadata?.retryAfter === undefined) return undefined;\n return this.metadata.retryAfter * 1000;\n }\n\n /**\n * D313: alias for `metadata.raw`. Provider response body for debugging.\n * Available but NEVER serialized into `.message` (anti-leak invariant).\n */\n get providerError(): unknown {\n return this.metadata?.raw;\n }\n}\n\n/**\n * D311 helper: choose a sensible default `isRetryable` value when the\n * caller did not supply `retriable` explicitly. Conservative defaults —\n * provider mappers override per-status when they know better.\n *\n * @internal\n */\nfunction defaultRetriableForCode(code: AgentRunErrorCode): boolean {\n switch (code) {\n case \"rate_limit\":\n case \"timeout\":\n case \"server_error\":\n case \"network\":\n case \"provider_unreachable\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Thrown when a {@link Run} or agent operation is not available on the current\n * runtime. Check first with `run.supports(operation)`.\n *\n * Extends {@link TheokitAgentError} (so error-catching code that branches on\n * `instanceof TheokitAgentError` continues to work) but is never retryable —\n * an unsupported operation will not become supported on retry.\n *\n * @public\n */\nexport class UnsupportedRunOperationError extends TheokitAgentError {\n override readonly name: string = \"UnsupportedRunOperationError\";\n readonly operation: RunOperation;\n\n constructor(\n message: string,\n operation: RunOperation,\n options: { code?: string; cause?: unknown } = {},\n ) {\n super(message, {\n ...options,\n isRetryable: false,\n code: options.code ?? \"unsupported_run_operation\",\n });\n this.operation = operation;\n }\n}\n\n/**\n * Thrown when every credential in a per-provider pool is in cooldown\n * and no healthy key is available (ADR D133). The caller's\n * {@link import(\"./internal/llm/fallback-client.js\").FallbackLlmClient}\n * catches this and tries the next provider in the fallback chain.\n *\n * `metadata.nextRetryAt` (epoch ms) tells callers when the soonest\n * pool entry resumes — useful for manual retry scheduling.\n *\n * @public\n */\nexport class CredentialPoolExhaustedError extends TheokitAgentError {\n override readonly name: string = \"CredentialPoolExhaustedError\";\n readonly provider: string;\n readonly nextRetryAt: number | undefined;\n\n constructor(\n message: string,\n options: {\n provider: string;\n nextRetryAt?: number;\n code?: string;\n cause?: unknown;\n metadata?: ErrorMetadata;\n },\n ) {\n super(message, {\n ...options,\n isRetryable: true,\n code: options.code ?? \"credential_pool_exhausted\",\n });\n this.provider = options.provider;\n this.nextRetryAt = options.nextRetryAt;\n }\n}\n\n/**\n * Finite error codes specific to memory adapter operations (ADR D141).\n *\n * @public\n */\nexport type MemoryAdapterErrorCode =\n | \"auth_failed\"\n | \"rate_limited\"\n | \"not_found\"\n | \"network\"\n | \"invalid_input\"\n | \"unknown\";\n\n/**\n * Error raised by `@theokit-memory-*` adapters. Carries `adapterId`\n * so callers can branch on which provider failed (ADR D141).\n *\n * @public\n */\nexport class MemoryAdapterError extends TheokitAgentError {\n override readonly name: string = \"MemoryAdapterError\";\n readonly adapterId: string;\n\n constructor(\n message: string,\n options: {\n adapterId: string;\n code: MemoryAdapterErrorCode;\n cause?: unknown;\n metadata?: ErrorMetadata;\n },\n ) {\n super(message, {\n isRetryable: options.code === \"rate_limited\" || options.code === \"network\",\n code: options.code,\n ...(options.cause !== undefined ? { cause: options.cause } : {}),\n ...(options.metadata !== undefined ? { metadata: options.metadata } : {}),\n });\n this.adapterId = options.adapterId;\n }\n}\n\n/**\n * Thrown when a user-supplied task ID violates the grammar\n * `^[a-z0-9][a-z0-9_-]*$` (D368) OR starts with a reserved adapter\n * prefix (`wf-` / `b-` / `cron-`, EC-5).\n *\n * @public\n */\nexport class InvalidTaskIdError extends TheokitAgentError {\n override readonly name: string = \"InvalidTaskIdError\";\n readonly taskId: string;\n\n constructor(message: string, taskId: string, options: { cause?: unknown } = {}) {\n super(message, {\n ...options,\n isRetryable: false,\n code: \"invalid_task_id\",\n });\n this.taskId = taskId;\n }\n}\n\n/**\n * Thrown when `Task.subscribe(id)` is called for a task that has been\n * evicted, never submitted, or evicted after retention (D373).\n *\n * @public\n */\nexport class TaskNotFoundError extends TheokitAgentError {\n override readonly name: string = \"TaskNotFoundError\";\n readonly taskId: string;\n\n constructor(taskId: string, options: { cause?: unknown } = {}) {\n super(`Task not found: ${taskId}`, {\n ...options,\n isRetryable: false,\n code: \"task_not_found\",\n });\n this.taskId = taskId;\n }\n}\n\n/**\n * Thrown when `CloudAgent` is asked to wrap a task (D370). Cloud\n * task observability is deferred until Theo PaaS GA.\n *\n * @public\n */\nexport class UnsupportedTaskOperationError extends TheokitAgentError {\n override readonly name: string = \"UnsupportedTaskOperationError\";\n readonly operation: string;\n\n constructor(operation: string, options: { cause?: unknown } = {}) {\n super(\n `Task operation \"${operation}\" is not supported on CloudAgent (pre-release; see ADR D370)`,\n {\n ...options,\n isRetryable: false,\n code: \"task_op_unsupported\",\n },\n );\n this.operation = operation;\n }\n}\n\n/**\n * Thrown by `Budget` enforcement (ADR D386) when a `mode: \"block\"`\n * budget would be exceeded by the upcoming LLM call. Caller pega\n * tipado para retry-after-window-reset or surface to the user.\n *\n * @public\n */\nexport class BudgetExceededError extends TheokitAgentError {\n override readonly name: string = \"BudgetExceededError\";\n readonly budgetName: string;\n readonly window: import(\"./types/budget.js\").BudgetWindow;\n readonly spentUsd: number;\n readonly limitUsd: number;\n readonly mode: import(\"./types/budget.js\").BudgetMode;\n\n constructor(args: {\n budgetName: string;\n window: import(\"./types/budget.js\").BudgetWindow;\n spentUsd: number;\n limitUsd: number;\n mode: import(\"./types/budget.js\").BudgetMode;\n cause?: unknown;\n }) {\n super(\n `Budget \"${args.budgetName}\" exceeded for window ${args.window}: spent $${args.spentUsd.toFixed(4)} > limit $${args.limitUsd.toFixed(4)}`,\n {\n ...(args.cause !== undefined ? { cause: args.cause } : {}),\n isRetryable: false,\n code: \"budget_exceeded\",\n },\n );\n this.budgetName = args.budgetName;\n this.window = args.window;\n this.spentUsd = args.spentUsd;\n this.limitUsd = args.limitUsd;\n this.mode = args.mode;\n }\n}\n\n/**\n * Thrown when `CloudAgent.send({ budget })` is invoked (D388). Cloud\n * budget surface waits for Theo PaaS GA.\n *\n * @public\n */\nexport class UnsupportedBudgetOperationError extends TheokitAgentError {\n override readonly name: string = \"UnsupportedBudgetOperationError\";\n readonly operation: string;\n\n constructor(operation: string, options: { cause?: unknown } = {}) {\n super(\n `Budget operation \"${operation}\" is not supported on CloudAgent (pre-release; see ADR D388)`,\n {\n ...options,\n isRetryable: false,\n code: \"budget_op_unsupported\",\n },\n );\n this.operation = operation;\n }\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { A as AgentRunError, c as AgentRunErrorCode, d as AuthenticationError, f as BudgetExceededError, C as ConfigurationError, s as CredentialPoolExhaustedError, E as ErrorCode, l as ErrorMetadata, I as IntegrationNotConnectedError, m as InvalidTaskIdError, M as MemoryAdapterError, n as MemoryAdapterErrorCode, N as NetworkError, R as RateLimitError, o as TaskNotFoundError, T as TheokitAgentError, U as UnknownAgentError, p as UnsupportedBudgetOperationError, q as UnsupportedRunOperationError, r as UnsupportedTaskOperationError } from './errors-CK8brCJ1.cjs';
|
|
2
|
+
import './run-DkCD5DeO.cjs';
|
|
3
|
+
import 'zod';
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import type { RunOperation } from "./types/run.js";
|
|
2
|
+
/**
|
|
3
|
+
* Finite, machine-readable error codes for provider-originated errors
|
|
4
|
+
* (ADR D66). Consumers can `switch (err.metadata?.code)` exhaustively
|
|
5
|
+
* — adding a new variant is an explicit decision + test coverage.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export type ErrorCode = "rate_limit" | "auth_failed" | "invalid_request" | "timeout" | "server_error" | "context_too_long" | "content_filtered" | "model_unavailable" | "network" | "unknown";
|
|
10
|
+
/**
|
|
11
|
+
* Codes used by {@link AgentRunError} (Production-Readiness #3, ADR D311).
|
|
12
|
+
*
|
|
13
|
+
* Superset of {@link ErrorCode} extended with codes that do NOT originate
|
|
14
|
+
* from a provider HTTP response:
|
|
15
|
+
*
|
|
16
|
+
* - `quota_exceeded` — billing limit hit (provider 402 or signalled error)
|
|
17
|
+
* - `tool_runtime_error` — custom tool handler threw inside dispatch
|
|
18
|
+
* - `aborted` — caller's `AbortSignal` fired (Phase 4)
|
|
19
|
+
* - `invalid_model` — model id rejected by provider (400 "model not found")
|
|
20
|
+
* - `safety_blocked` — provider safety filter blocked req or resp
|
|
21
|
+
* - `provider_unreachable` — DNS/TCP/timeout/5xx at transport boundary
|
|
22
|
+
*
|
|
23
|
+
* The `& {}` tail keeps the literal-union ergonomics (autocomplete) while
|
|
24
|
+
* accepting any string for forward compatibility with constructor calls
|
|
25
|
+
* that pass arbitrary code values (legacy callers).
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export type AgentRunErrorCode = ErrorCode | "quota_exceeded" | "tool_runtime_error" | "aborted" | "invalid_model" | "safety_blocked" | "provider_unreachable" | (string & {});
|
|
30
|
+
/**
|
|
31
|
+
* Structured context for errors that originated from a provider HTTP
|
|
32
|
+
* call (ADR D65). Lets callers retry with the right backoff (`retryAfter`),
|
|
33
|
+
* surface actionable diagnostics (`provider`, `endpoint`), and inspect the
|
|
34
|
+
* raw response body when needed (`raw`, capped at ~2KB by the mapper).
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export interface ErrorMetadata {
|
|
39
|
+
/** Provider canonical name (e.g., `"anthropic"`, `"openai"`, `"openrouter"`, `"gemini"`). */
|
|
40
|
+
provider: string;
|
|
41
|
+
/** HTTP endpoint that failed (e.g., `"/v1/messages"`, `"/v1/chat/completions"`). */
|
|
42
|
+
endpoint: string;
|
|
43
|
+
/** Machine-readable error code (finite enum). */
|
|
44
|
+
code: ErrorCode;
|
|
45
|
+
/** HTTP status code if applicable. */
|
|
46
|
+
statusCode?: number;
|
|
47
|
+
/** Seconds to wait before retry, per provider's `retry-after` header (numeric form only). */
|
|
48
|
+
retryAfter?: number;
|
|
49
|
+
/** Raw response body for debugging (truncated to ~2KB by the mapper). */
|
|
50
|
+
raw?: unknown;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Base class for all errors thrown by `@theokit/sdk`.
|
|
54
|
+
*
|
|
55
|
+
* Use `isRetryable` to drive retry/backoff logic. `code` and `protoErrorCode`
|
|
56
|
+
* are populated for server-originated errors when available. `metadata`
|
|
57
|
+
* (ADR D65) carries structured `{ provider, endpoint, code, ... }` when
|
|
58
|
+
* the error originated from a provider HTTP call.
|
|
59
|
+
*
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
export declare class TheokitAgentError extends Error {
|
|
63
|
+
readonly name: string;
|
|
64
|
+
readonly isRetryable: boolean;
|
|
65
|
+
readonly code?: string;
|
|
66
|
+
readonly protoErrorCode?: string;
|
|
67
|
+
readonly metadata?: ErrorMetadata;
|
|
68
|
+
constructor(message: string, options?: {
|
|
69
|
+
isRetryable?: boolean;
|
|
70
|
+
code?: string;
|
|
71
|
+
protoErrorCode?: string;
|
|
72
|
+
cause?: unknown;
|
|
73
|
+
metadata?: ErrorMetadata;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Invalid API key, not logged in, insufficient permissions.
|
|
78
|
+
*
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
export declare class AuthenticationError extends TheokitAgentError {
|
|
82
|
+
readonly name: string;
|
|
83
|
+
constructor(message: string, options?: {
|
|
84
|
+
code?: string;
|
|
85
|
+
cause?: unknown;
|
|
86
|
+
metadata?: ErrorMetadata;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Too many requests or usage limits exceeded.
|
|
91
|
+
*
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
export declare class RateLimitError extends TheokitAgentError {
|
|
95
|
+
readonly name: string;
|
|
96
|
+
constructor(message: string, options?: {
|
|
97
|
+
code?: string;
|
|
98
|
+
cause?: unknown;
|
|
99
|
+
metadata?: ErrorMetadata;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Invalid model, bad request parameters, malformed options.
|
|
104
|
+
*
|
|
105
|
+
* @public
|
|
106
|
+
*/
|
|
107
|
+
export declare class ConfigurationError extends TheokitAgentError {
|
|
108
|
+
readonly name: string;
|
|
109
|
+
constructor(message: string, options?: {
|
|
110
|
+
code?: string;
|
|
111
|
+
cause?: unknown;
|
|
112
|
+
metadata?: ErrorMetadata;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Thrown when creating a cloud agent for a repo whose SCM provider is not
|
|
117
|
+
* connected. Use `helpUrl` to point the user at the right reconnect flow.
|
|
118
|
+
*
|
|
119
|
+
* @public
|
|
120
|
+
*/
|
|
121
|
+
export declare class IntegrationNotConnectedError extends ConfigurationError {
|
|
122
|
+
readonly name: string;
|
|
123
|
+
readonly provider: string;
|
|
124
|
+
readonly helpUrl: string;
|
|
125
|
+
constructor(message: string, options: {
|
|
126
|
+
provider: string;
|
|
127
|
+
helpUrl: string;
|
|
128
|
+
code?: string;
|
|
129
|
+
cause?: unknown;
|
|
130
|
+
metadata?: ErrorMetadata;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Service unavailable, timeout, transport-level failure.
|
|
135
|
+
*
|
|
136
|
+
* @public
|
|
137
|
+
*/
|
|
138
|
+
export declare class NetworkError extends TheokitAgentError {
|
|
139
|
+
readonly name: string;
|
|
140
|
+
constructor(message: string, options?: {
|
|
141
|
+
code?: string;
|
|
142
|
+
cause?: unknown;
|
|
143
|
+
metadata?: ErrorMetadata;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Catch-all for unclassified server or runtime errors.
|
|
148
|
+
*
|
|
149
|
+
* @public
|
|
150
|
+
*/
|
|
151
|
+
export declare class UnknownAgentError extends TheokitAgentError {
|
|
152
|
+
readonly name: string;
|
|
153
|
+
constructor(message: string, options?: {
|
|
154
|
+
code?: string;
|
|
155
|
+
cause?: unknown;
|
|
156
|
+
metadata?: ErrorMetadata;
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Thrown by `Agent.prompt` (and helpers that go through `run.wait()`) when
|
|
161
|
+
* the option `{ throwOnError: true }` is set and the run terminates with
|
|
162
|
+
* `status: 'error'`. Carries the structured `RunResult.error` fields so
|
|
163
|
+
* callers can `catch` once and branch on `code` / `provider` instead of
|
|
164
|
+
* unwrapping the run.
|
|
165
|
+
*
|
|
166
|
+
* Extends {@link TheokitAgentError} per ADR D65 — no new hierarchy.
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* try {
|
|
170
|
+
* await Agent.prompt(msg, { apiKey, model, throwOnError: true });
|
|
171
|
+
* } catch (err) {
|
|
172
|
+
* if (err instanceof AgentRunError && err.code === 'auth_failed') {
|
|
173
|
+
* // bad key
|
|
174
|
+
* }
|
|
175
|
+
* }
|
|
176
|
+
*
|
|
177
|
+
* @public
|
|
178
|
+
*/
|
|
179
|
+
export declare class AgentRunError extends TheokitAgentError {
|
|
180
|
+
readonly name: string;
|
|
181
|
+
readonly provider?: string;
|
|
182
|
+
readonly raw?: string;
|
|
183
|
+
/** Provider's request id (`x-request-id` / `request-id` header). Useful for support tickets. */
|
|
184
|
+
readonly requestId?: string;
|
|
185
|
+
/** SDK conversation id this error was raised inside. */
|
|
186
|
+
readonly conversationId?: string;
|
|
187
|
+
constructor(message: string, options: {
|
|
188
|
+
code: AgentRunErrorCode;
|
|
189
|
+
provider?: string;
|
|
190
|
+
raw?: string;
|
|
191
|
+
requestId?: string;
|
|
192
|
+
conversationId?: string;
|
|
193
|
+
retriable?: boolean;
|
|
194
|
+
cause?: unknown;
|
|
195
|
+
metadata?: ErrorMetadata;
|
|
196
|
+
});
|
|
197
|
+
/**
|
|
198
|
+
* Production-Readiness #3 (ADR D311): alias for `isRetryable` exposed as
|
|
199
|
+
* `retriable` to match the handoff contract. Future v2 will deprecate
|
|
200
|
+
* `isRetryable` in favor of this.
|
|
201
|
+
*/
|
|
202
|
+
get retriable(): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* D312: provider's `Retry-After` header in **milliseconds**. Mappers store
|
|
205
|
+
* the header value (seconds) in `metadata.retryAfter`; this getter
|
|
206
|
+
* multiplies by 1000 so the result composes with `Date.now()`/`setTimeout`.
|
|
207
|
+
*
|
|
208
|
+
* Returns `undefined` when no hint was provided. `0` is a legitimate value
|
|
209
|
+
* — use `=== undefined` check rather than truthy check.
|
|
210
|
+
*/
|
|
211
|
+
get retryAfterMs(): number | undefined;
|
|
212
|
+
/**
|
|
213
|
+
* D313: alias for `metadata.raw`. Provider response body for debugging.
|
|
214
|
+
* Available but NEVER serialized into `.message` (anti-leak invariant).
|
|
215
|
+
*/
|
|
216
|
+
get providerError(): unknown;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Thrown when a {@link Run} or agent operation is not available on the current
|
|
220
|
+
* runtime. Check first with `run.supports(operation)`.
|
|
221
|
+
*
|
|
222
|
+
* Extends {@link TheokitAgentError} (so error-catching code that branches on
|
|
223
|
+
* `instanceof TheokitAgentError` continues to work) but is never retryable —
|
|
224
|
+
* an unsupported operation will not become supported on retry.
|
|
225
|
+
*
|
|
226
|
+
* @public
|
|
227
|
+
*/
|
|
228
|
+
export declare class UnsupportedRunOperationError extends TheokitAgentError {
|
|
229
|
+
readonly name: string;
|
|
230
|
+
readonly operation: RunOperation;
|
|
231
|
+
constructor(message: string, operation: RunOperation, options?: {
|
|
232
|
+
code?: string;
|
|
233
|
+
cause?: unknown;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Thrown when every credential in a per-provider pool is in cooldown
|
|
238
|
+
* and no healthy key is available (ADR D133). The caller's
|
|
239
|
+
* {@link import("./internal/llm/fallback-client.js").FallbackLlmClient}
|
|
240
|
+
* catches this and tries the next provider in the fallback chain.
|
|
241
|
+
*
|
|
242
|
+
* `metadata.nextRetryAt` (epoch ms) tells callers when the soonest
|
|
243
|
+
* pool entry resumes — useful for manual retry scheduling.
|
|
244
|
+
*
|
|
245
|
+
* @public
|
|
246
|
+
*/
|
|
247
|
+
export declare class CredentialPoolExhaustedError extends TheokitAgentError {
|
|
248
|
+
readonly name: string;
|
|
249
|
+
readonly provider: string;
|
|
250
|
+
readonly nextRetryAt: number | undefined;
|
|
251
|
+
constructor(message: string, options: {
|
|
252
|
+
provider: string;
|
|
253
|
+
nextRetryAt?: number;
|
|
254
|
+
code?: string;
|
|
255
|
+
cause?: unknown;
|
|
256
|
+
metadata?: ErrorMetadata;
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Finite error codes specific to memory adapter operations (ADR D141).
|
|
261
|
+
*
|
|
262
|
+
* @public
|
|
263
|
+
*/
|
|
264
|
+
export type MemoryAdapterErrorCode = "auth_failed" | "rate_limited" | "not_found" | "network" | "invalid_input" | "unknown";
|
|
265
|
+
/**
|
|
266
|
+
* Error raised by `@theokit-memory-*` adapters. Carries `adapterId`
|
|
267
|
+
* so callers can branch on which provider failed (ADR D141).
|
|
268
|
+
*
|
|
269
|
+
* @public
|
|
270
|
+
*/
|
|
271
|
+
export declare class MemoryAdapterError extends TheokitAgentError {
|
|
272
|
+
readonly name: string;
|
|
273
|
+
readonly adapterId: string;
|
|
274
|
+
constructor(message: string, options: {
|
|
275
|
+
adapterId: string;
|
|
276
|
+
code: MemoryAdapterErrorCode;
|
|
277
|
+
cause?: unknown;
|
|
278
|
+
metadata?: ErrorMetadata;
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Thrown when a user-supplied task ID violates the grammar
|
|
283
|
+
* `^[a-z0-9][a-z0-9_-]*$` (D368) OR starts with a reserved adapter
|
|
284
|
+
* prefix (`wf-` / `b-` / `cron-`, EC-5).
|
|
285
|
+
*
|
|
286
|
+
* @public
|
|
287
|
+
*/
|
|
288
|
+
export declare class InvalidTaskIdError extends TheokitAgentError {
|
|
289
|
+
readonly name: string;
|
|
290
|
+
readonly taskId: string;
|
|
291
|
+
constructor(message: string, taskId: string, options?: {
|
|
292
|
+
cause?: unknown;
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Thrown when `Task.subscribe(id)` is called for a task that has been
|
|
297
|
+
* evicted, never submitted, or evicted after retention (D373).
|
|
298
|
+
*
|
|
299
|
+
* @public
|
|
300
|
+
*/
|
|
301
|
+
export declare class TaskNotFoundError extends TheokitAgentError {
|
|
302
|
+
readonly name: string;
|
|
303
|
+
readonly taskId: string;
|
|
304
|
+
constructor(taskId: string, options?: {
|
|
305
|
+
cause?: unknown;
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Thrown when `CloudAgent` is asked to wrap a task (D370). Cloud
|
|
310
|
+
* task observability is deferred until Theo PaaS GA.
|
|
311
|
+
*
|
|
312
|
+
* @public
|
|
313
|
+
*/
|
|
314
|
+
export declare class UnsupportedTaskOperationError extends TheokitAgentError {
|
|
315
|
+
readonly name: string;
|
|
316
|
+
readonly operation: string;
|
|
317
|
+
constructor(operation: string, options?: {
|
|
318
|
+
cause?: unknown;
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Thrown by `Budget` enforcement (ADR D386) when a `mode: "block"`
|
|
323
|
+
* budget would be exceeded by the upcoming LLM call. Caller pega
|
|
324
|
+
* tipado para retry-after-window-reset or surface to the user.
|
|
325
|
+
*
|
|
326
|
+
* @public
|
|
327
|
+
*/
|
|
328
|
+
export declare class BudgetExceededError extends TheokitAgentError {
|
|
329
|
+
readonly name: string;
|
|
330
|
+
readonly budgetName: string;
|
|
331
|
+
readonly window: import("./types/budget.js").BudgetWindow;
|
|
332
|
+
readonly spentUsd: number;
|
|
333
|
+
readonly limitUsd: number;
|
|
334
|
+
readonly mode: import("./types/budget.js").BudgetMode;
|
|
335
|
+
constructor(args: {
|
|
336
|
+
budgetName: string;
|
|
337
|
+
window: import("./types/budget.js").BudgetWindow;
|
|
338
|
+
spentUsd: number;
|
|
339
|
+
limitUsd: number;
|
|
340
|
+
mode: import("./types/budget.js").BudgetMode;
|
|
341
|
+
cause?: unknown;
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Thrown when `CloudAgent.send({ budget })` is invoked (D388). Cloud
|
|
346
|
+
* budget surface waits for Theo PaaS GA.
|
|
347
|
+
*
|
|
348
|
+
* @public
|
|
349
|
+
*/
|
|
350
|
+
export declare class UnsupportedBudgetOperationError extends TheokitAgentError {
|
|
351
|
+
readonly name: string;
|
|
352
|
+
readonly operation: string;
|
|
353
|
+
constructor(operation: string, options?: {
|
|
354
|
+
cause?: unknown;
|
|
355
|
+
});
|
|
356
|
+
}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
// src/errors.ts
|
|
2
|
+
var TheokitAgentError = class extends Error {
|
|
3
|
+
name = "TheokitAgentError";
|
|
4
|
+
isRetryable;
|
|
5
|
+
code;
|
|
6
|
+
protoErrorCode;
|
|
7
|
+
metadata;
|
|
8
|
+
constructor(message, options = {}) {
|
|
9
|
+
super(message, options.cause !== void 0 ? { cause: options.cause } : void 0);
|
|
10
|
+
this.isRetryable = options.isRetryable ?? false;
|
|
11
|
+
if (options.code !== void 0) this.code = options.code;
|
|
12
|
+
if (options.protoErrorCode !== void 0) this.protoErrorCode = options.protoErrorCode;
|
|
13
|
+
if (options.metadata !== void 0) this.metadata = options.metadata;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
var AuthenticationError = class extends TheokitAgentError {
|
|
17
|
+
name = "AuthenticationError";
|
|
18
|
+
constructor(message, options = {}) {
|
|
19
|
+
super(message, { ...options, isRetryable: false });
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
var RateLimitError = class extends TheokitAgentError {
|
|
23
|
+
name = "RateLimitError";
|
|
24
|
+
constructor(message, options = {}) {
|
|
25
|
+
super(message, { ...options, isRetryable: true });
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var ConfigurationError = class extends TheokitAgentError {
|
|
29
|
+
name = "ConfigurationError";
|
|
30
|
+
constructor(message, options = {}) {
|
|
31
|
+
super(message, { ...options, isRetryable: false });
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var IntegrationNotConnectedError = class extends ConfigurationError {
|
|
35
|
+
name = "IntegrationNotConnectedError";
|
|
36
|
+
provider;
|
|
37
|
+
helpUrl;
|
|
38
|
+
constructor(message, options) {
|
|
39
|
+
super(message, options);
|
|
40
|
+
this.provider = options.provider;
|
|
41
|
+
this.helpUrl = options.helpUrl;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var NetworkError = class extends TheokitAgentError {
|
|
45
|
+
name = "NetworkError";
|
|
46
|
+
constructor(message, options = {}) {
|
|
47
|
+
super(message, { ...options, isRetryable: true });
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var UnknownAgentError = class extends TheokitAgentError {
|
|
51
|
+
name = "UnknownAgentError";
|
|
52
|
+
constructor(message, options = {}) {
|
|
53
|
+
super(message, { ...options, isRetryable: false });
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
var AgentRunError = class extends TheokitAgentError {
|
|
57
|
+
name = "AgentRunError";
|
|
58
|
+
provider;
|
|
59
|
+
raw;
|
|
60
|
+
/** Provider's request id (`x-request-id` / `request-id` header). Useful for support tickets. */
|
|
61
|
+
requestId;
|
|
62
|
+
/** SDK conversation id this error was raised inside. */
|
|
63
|
+
conversationId;
|
|
64
|
+
constructor(message, options) {
|
|
65
|
+
super(message, {
|
|
66
|
+
code: options.code,
|
|
67
|
+
cause: options.cause,
|
|
68
|
+
metadata: options.metadata,
|
|
69
|
+
// D311: most AgentRunErrors are not retriable (auth, validation, abort).
|
|
70
|
+
// Provider mappers (D314) override per-status — explicit `retriable` wins
|
|
71
|
+
// over the implicit default when supplied.
|
|
72
|
+
isRetryable: options.retriable ?? defaultRetriableForCode(options.code)
|
|
73
|
+
});
|
|
74
|
+
if (options.provider !== void 0) this.provider = options.provider;
|
|
75
|
+
if (options.raw !== void 0) this.raw = options.raw;
|
|
76
|
+
if (options.requestId !== void 0) this.requestId = options.requestId;
|
|
77
|
+
if (options.conversationId !== void 0) this.conversationId = options.conversationId;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Production-Readiness #3 (ADR D311): alias for `isRetryable` exposed as
|
|
81
|
+
* `retriable` to match the handoff contract. Future v2 will deprecate
|
|
82
|
+
* `isRetryable` in favor of this.
|
|
83
|
+
*/
|
|
84
|
+
get retriable() {
|
|
85
|
+
return this.isRetryable;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* D312: provider's `Retry-After` header in **milliseconds**. Mappers store
|
|
89
|
+
* the header value (seconds) in `metadata.retryAfter`; this getter
|
|
90
|
+
* multiplies by 1000 so the result composes with `Date.now()`/`setTimeout`.
|
|
91
|
+
*
|
|
92
|
+
* Returns `undefined` when no hint was provided. `0` is a legitimate value
|
|
93
|
+
* — use `=== undefined` check rather than truthy check.
|
|
94
|
+
*/
|
|
95
|
+
get retryAfterMs() {
|
|
96
|
+
if (this.metadata?.retryAfter === void 0) return void 0;
|
|
97
|
+
return this.metadata.retryAfter * 1e3;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* D313: alias for `metadata.raw`. Provider response body for debugging.
|
|
101
|
+
* Available but NEVER serialized into `.message` (anti-leak invariant).
|
|
102
|
+
*/
|
|
103
|
+
get providerError() {
|
|
104
|
+
return this.metadata?.raw;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
function defaultRetriableForCode(code) {
|
|
108
|
+
switch (code) {
|
|
109
|
+
case "rate_limit":
|
|
110
|
+
case "timeout":
|
|
111
|
+
case "server_error":
|
|
112
|
+
case "network":
|
|
113
|
+
case "provider_unreachable":
|
|
114
|
+
return true;
|
|
115
|
+
default:
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
var UnsupportedRunOperationError = class extends TheokitAgentError {
|
|
120
|
+
name = "UnsupportedRunOperationError";
|
|
121
|
+
operation;
|
|
122
|
+
constructor(message, operation, options = {}) {
|
|
123
|
+
super(message, {
|
|
124
|
+
...options,
|
|
125
|
+
isRetryable: false,
|
|
126
|
+
code: options.code ?? "unsupported_run_operation"
|
|
127
|
+
});
|
|
128
|
+
this.operation = operation;
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
var CredentialPoolExhaustedError = class extends TheokitAgentError {
|
|
132
|
+
name = "CredentialPoolExhaustedError";
|
|
133
|
+
provider;
|
|
134
|
+
nextRetryAt;
|
|
135
|
+
constructor(message, options) {
|
|
136
|
+
super(message, {
|
|
137
|
+
...options,
|
|
138
|
+
isRetryable: true,
|
|
139
|
+
code: options.code ?? "credential_pool_exhausted"
|
|
140
|
+
});
|
|
141
|
+
this.provider = options.provider;
|
|
142
|
+
this.nextRetryAt = options.nextRetryAt;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
var MemoryAdapterError = class extends TheokitAgentError {
|
|
146
|
+
name = "MemoryAdapterError";
|
|
147
|
+
adapterId;
|
|
148
|
+
constructor(message, options) {
|
|
149
|
+
super(message, {
|
|
150
|
+
isRetryable: options.code === "rate_limited" || options.code === "network",
|
|
151
|
+
code: options.code,
|
|
152
|
+
...options.cause !== void 0 ? { cause: options.cause } : {},
|
|
153
|
+
...options.metadata !== void 0 ? { metadata: options.metadata } : {}
|
|
154
|
+
});
|
|
155
|
+
this.adapterId = options.adapterId;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
var InvalidTaskIdError = class extends TheokitAgentError {
|
|
159
|
+
name = "InvalidTaskIdError";
|
|
160
|
+
taskId;
|
|
161
|
+
constructor(message, taskId, options = {}) {
|
|
162
|
+
super(message, {
|
|
163
|
+
...options,
|
|
164
|
+
isRetryable: false,
|
|
165
|
+
code: "invalid_task_id"
|
|
166
|
+
});
|
|
167
|
+
this.taskId = taskId;
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
var TaskNotFoundError = class extends TheokitAgentError {
|
|
171
|
+
name = "TaskNotFoundError";
|
|
172
|
+
taskId;
|
|
173
|
+
constructor(taskId, options = {}) {
|
|
174
|
+
super(`Task not found: ${taskId}`, {
|
|
175
|
+
...options,
|
|
176
|
+
isRetryable: false,
|
|
177
|
+
code: "task_not_found"
|
|
178
|
+
});
|
|
179
|
+
this.taskId = taskId;
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
var UnsupportedTaskOperationError = class extends TheokitAgentError {
|
|
183
|
+
name = "UnsupportedTaskOperationError";
|
|
184
|
+
operation;
|
|
185
|
+
constructor(operation, options = {}) {
|
|
186
|
+
super(
|
|
187
|
+
`Task operation "${operation}" is not supported on CloudAgent (pre-release; see ADR D370)`,
|
|
188
|
+
{
|
|
189
|
+
...options,
|
|
190
|
+
isRetryable: false,
|
|
191
|
+
code: "task_op_unsupported"
|
|
192
|
+
}
|
|
193
|
+
);
|
|
194
|
+
this.operation = operation;
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
var BudgetExceededError = class extends TheokitAgentError {
|
|
198
|
+
name = "BudgetExceededError";
|
|
199
|
+
budgetName;
|
|
200
|
+
window;
|
|
201
|
+
spentUsd;
|
|
202
|
+
limitUsd;
|
|
203
|
+
mode;
|
|
204
|
+
constructor(args) {
|
|
205
|
+
super(
|
|
206
|
+
`Budget "${args.budgetName}" exceeded for window ${args.window}: spent $${args.spentUsd.toFixed(4)} > limit $${args.limitUsd.toFixed(4)}`,
|
|
207
|
+
{
|
|
208
|
+
...args.cause !== void 0 ? { cause: args.cause } : {},
|
|
209
|
+
isRetryable: false,
|
|
210
|
+
code: "budget_exceeded"
|
|
211
|
+
}
|
|
212
|
+
);
|
|
213
|
+
this.budgetName = args.budgetName;
|
|
214
|
+
this.window = args.window;
|
|
215
|
+
this.spentUsd = args.spentUsd;
|
|
216
|
+
this.limitUsd = args.limitUsd;
|
|
217
|
+
this.mode = args.mode;
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
var UnsupportedBudgetOperationError = class extends TheokitAgentError {
|
|
221
|
+
name = "UnsupportedBudgetOperationError";
|
|
222
|
+
operation;
|
|
223
|
+
constructor(operation, options = {}) {
|
|
224
|
+
super(
|
|
225
|
+
`Budget operation "${operation}" is not supported on CloudAgent (pre-release; see ADR D388)`,
|
|
226
|
+
{
|
|
227
|
+
...options,
|
|
228
|
+
isRetryable: false,
|
|
229
|
+
code: "budget_op_unsupported"
|
|
230
|
+
}
|
|
231
|
+
);
|
|
232
|
+
this.operation = operation;
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
export { AgentRunError, AuthenticationError, BudgetExceededError, ConfigurationError, CredentialPoolExhaustedError, IntegrationNotConnectedError, InvalidTaskIdError, MemoryAdapterError, NetworkError, RateLimitError, TaskNotFoundError, TheokitAgentError, UnknownAgentError, UnsupportedBudgetOperationError, UnsupportedRunOperationError, UnsupportedTaskOperationError };
|
|
237
|
+
//# sourceMappingURL=errors.js.map
|
|
238
|
+
//# sourceMappingURL=errors.js.map
|