@daniel156161/prism 0.2.76 → 0.2.78
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/dist/pi/pi-env.d.ts +1 -1
- package/dist/pi/pi-env.js +1 -1
- package/dist/pi/pi-patch-extension-loader.js +2 -0
- package/dist/pi/pi-patch-extension-loader.js.map +1 -1
- package/dist/prism-extensions/integrations/ai-memory-system.js +168 -0
- package/dist/prism-extensions/integrations/ai-memory-system.js.map +1 -1
- package/dist/prism-extensions/integrations/research-tools.js +5 -2
- package/dist/prism-extensions/integrations/research-tools.js.map +1 -1
- package/dist/prism-extensions/integrations/youtube.d.ts +32 -0
- package/dist/prism-extensions/integrations/youtube.js +251 -0
- package/dist/prism-extensions/integrations/youtube.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/README.md +9 -3
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +3 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +6 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +452 -85
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +204 -917
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +13 -6
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +11 -15
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +14 -17
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +23 -36
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +23 -7
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +3 -3
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js +3 -3
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js +4 -9
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.d.ts +100 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.js +415 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.d.ts +40 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.js +41 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.d.ts +22 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.js +67 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/index.d.ts +7 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/index.js +6 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.d.ts +8 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.js +190 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/codec.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.d.ts +5 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.js +11 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.d.ts +23 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.js +132 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.d.ts +43 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.js +208 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.d.ts +38 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.js +2 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/types.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl.d.ts +3 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl.js +2 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.d.ts +44 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.js +141 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/search.d.ts +19 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/search.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/search.js +42 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/search.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +43 -42
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +187 -228
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.d.ts +65 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.js +319 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.d.ts +4 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.js +743 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/index.d.ts +3 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/index.js +2 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/types.d.ts +14 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/types.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/types.js +2 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/types.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.d.ts +333 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.js +10 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js +21 -19
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.d.ts +1221 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.js +508 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +6 -459
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js +0 -19
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +10 -9
- package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/index.js +7 -8
- package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +9 -2
- package/node_modules/@earendil-works/pi-ai/README.md +16 -7
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +5 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +48 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts +11 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js +44 -7
- package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/lazy.d.ts +5 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/lazy.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/lazy.js +19 -7
- package/node_modules/@earendil-works/pi-ai/dist/api/lazy.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +39 -19
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts +5 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +57 -8
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +22 -9
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +5 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +8 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.d.ts +6 -6
- package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.js +22 -11
- package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.d.ts +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js +7 -2
- package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/anthropic.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/anthropic.js +14 -8
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/anthropic.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.js +4 -4
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/device-code.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js +43 -30
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/github-copilot.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js +17 -5
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.js +12 -5
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.js +10 -10
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/radius.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/radius.js +8 -7
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/radius.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/xai.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/xai.js +3 -2
- package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/xai.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +24 -13
- package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.d.ts +20 -8
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/auth/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cli.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cli.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/cli.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +30 -0
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +32 -2
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-models.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/images-models.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models-store.d.ts +9 -12
- package/node_modules/@earendil-works/pi-ai/dist/models-store.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models-store.js +6 -3
- package/node_modules/@earendil-works/pi-ai/dist/models-store.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +40 -18
- package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.js +245 -89
- package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +2 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +15 -7
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +15 -6
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/baseten.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/baseten.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/baseten.js +15 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/baseten.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/baseten.models.d.ts +4 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/baseten.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/baseten.models.js +6 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/baseten.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js +15 -10
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/groq.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/mistral.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts +18 -13
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js +95 -5
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js +15 -7
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.js +5 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/radius.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/radius.js +36 -26
- package/node_modules/@earendil-works/pi-ai/dist/providers/radius.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/xai.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +96 -80
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/abort.d.ts +8 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/abort.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/abort.js +49 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/abort.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js +23 -4
- package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +10 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +12 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js +6 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -1
- package/node_modules/@earendil-works/pi-client/CHANGELOG.md +13 -0
- package/node_modules/@earendil-works/pi-client/README.md +63 -0
- package/node_modules/@earendil-works/pi-client/dist/client.d.ts +25 -0
- package/node_modules/@earendil-works/pi-client/dist/client.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/client.js +385 -0
- package/node_modules/@earendil-works/pi-client/dist/client.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/connection.d.ts +24 -0
- package/node_modules/@earendil-works/pi-client/dist/connection.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/connection.js +204 -0
- package/node_modules/@earendil-works/pi-client/dist/connection.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/errors.d.ts +23 -0
- package/node_modules/@earendil-works/pi-client/dist/errors.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/errors.js +46 -0
- package/node_modules/@earendil-works/pi-client/dist/errors.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/index.d.ts +6 -0
- package/node_modules/@earendil-works/pi-client/dist/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/index.js +3 -0
- package/node_modules/@earendil-works/pi-client/dist/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/promise.d.ts +8 -0
- package/node_modules/@earendil-works/pi-client/dist/promise.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/promise.js +11 -0
- package/node_modules/@earendil-works/pi-client/dist/promise.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/session-handle.d.ts +54 -0
- package/node_modules/@earendil-works/pi-client/dist/session-handle.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/session-handle.js +51 -0
- package/node_modules/@earendil-works/pi-client/dist/session-handle.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/state.d.ts +22 -0
- package/node_modules/@earendil-works/pi-client/dist/state.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/state.js +145 -0
- package/node_modules/@earendil-works/pi-client/dist/state.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/transport.d.ts +17 -0
- package/node_modules/@earendil-works/pi-client/dist/transport.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/transport.js +2 -0
- package/node_modules/@earendil-works/pi-client/dist/transport.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/types.d.ts +22 -0
- package/node_modules/@earendil-works/pi-client/dist/types.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/types.js +2 -0
- package/node_modules/@earendil-works/pi-client/dist/types.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/unix.d.ts +8 -0
- package/node_modules/@earendil-works/pi-client/dist/unix.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-client/dist/unix.js +151 -0
- package/node_modules/@earendil-works/pi-client/dist/unix.js.map +1 -0
- package/node_modules/@earendil-works/pi-client/package.json +56 -0
- package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +198 -0
- package/node_modules/@earendil-works/pi-coding-agent/README.md +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js +19 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/credential-print.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/credential-print.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/credential-print.js +6 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/credential-print.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/auth.d.ts +16 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/auth.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/auth.js +13 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/auth.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/cli.d.ts +6 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/cli.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/cli.js +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/cli.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/command-options.d.ts +17 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/command-options.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/command-options.js +35 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/command-options.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/command.d.ts +63 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/command.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/command.js +130 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/command.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/client.d.ts +13 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/client.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/client.js +25 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/client.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/pi.d.ts +15 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/pi.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/pi.js +28 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/pi.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/server.d.ts +13 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/server.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/server.js +25 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/commands/server.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/transport-address.d.ts +10 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/transport-address.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/transport-address.js +38 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/experimental/transport-address.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/index.d.ts +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/index.js +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/remote-session.d.ts +53 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/remote-session.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/remote-session.js +340 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/remote-session.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/transcript.d.ts +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/transcript.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/transcript.js +98 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/client/transcript.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +1 -10
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +72 -70
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts +15 -9
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +159 -38
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +43 -20
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +21 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.d.ts +36 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-config.d.ts +29 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-config.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-config.js +4 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-config.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts +5 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +13 -10
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +41 -10
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-runtime.d.ts +28 -13
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-runtime.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-runtime.js +231 -73
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-runtime.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/models-store.d.ts +12 -7
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/models-store.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/models-store.js +83 -14
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/models-store.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts +4 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +63 -36
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/pi-manifest.d.ts +8 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/pi-manifest.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/pi-manifest.js +25 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/pi-manifest.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-composer.d.ts +4 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-composer.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-composer.js +36 -15
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-composer.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/remote-catalog-provider.js +73 -67
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/remote-catalog-provider.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/runtime-credentials.d.ts +5 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/runtime-credentials.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/runtime-credentials.js +11 -8
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/runtime-credentials.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +267 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +24 -10
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +40 -16
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js +11 -18
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/index.js +11 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.js +21 -7
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +4 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +16 -7
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts +5 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.js +13 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.js +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/markdown-transform.js +19 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/markdown-transform.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/mermaid.d.ts +11 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/mermaid.js +75 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/mermaid.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js +16 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/scoped-models-selector.d.ts +4 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/scoped-models-selector.js +26 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +8 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +30 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js +9 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +33 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +430 -145
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/dark.json +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/light.json +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme-controller.d.ts +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme-controller.js +10 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme-schema.json +5 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +13 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/json-event.d.ts +28 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/json-event.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/json-event.js +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/json-event.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.js +12 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +5 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +11 -9
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/rpc-entry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/rpc-entry.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/rpc-entry.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/abort.d.ts +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/abort.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/abort.js +48 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/abort.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.js +22 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/management-http.d.ts +23 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/management-http.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/management-http.js +50 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/management-http.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.d.ts +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.js +23 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tool-result-images.d.ts +19 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tool-result-images.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tool-result-images.js +45 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tool-result-images.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tools-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tools-manager.js +4 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tools-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.d.ts +4 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.js +20 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/compaction.md +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +7 -5
- package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +27 -3
- package/node_modules/@earendil-works/pi-coding-agent/docs/json.md +19 -14
- package/node_modules/@earendil-works/pi-coding-agent/docs/keybindings.md +38 -10
- package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +24 -3
- package/node_modules/@earendil-works/pi-coding-agent/docs/providers.md +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +13 -11
- package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +21 -2
- package/node_modules/@earendil-works/pi-coding-agent/docs/security.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +4 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/themes.md +5 -3
- package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-compaction.ts +1 -16
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/index.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/index.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/doom-overlay/wad-finder.ts +7 -3
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/handoff.ts +2 -11
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/qna.ts +3 -7
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/summarize.ts +7 -18
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/rpc-extension-ui.ts +11 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/sdk/02-custom-model.ts +1 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/sdk/09-api-keys-and-oauth.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/sdk/12-full-control.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/sdk/README.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/package.json +13 -6
- package/node_modules/@earendil-works/pi-protocol/README.md +69 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/decoder.d.ts +4 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/decoder.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/decoder.js +165 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/decoder.js.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/encoder.d.ts +4 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/encoder.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/encoder.js +201 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/encoder.js.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/index.d.ts +4 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/index.js +4 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/options.d.ts +26 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/options.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/options.js +29 -0
- package/node_modules/@earendil-works/pi-protocol/dist/cbor/options.js.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/codec.d.ts +29 -0
- package/node_modules/@earendil-works/pi-protocol/dist/codec.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/codec.js +146 -0
- package/node_modules/@earendil-works/pi-protocol/dist/codec.js.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/framing.d.ts +29 -0
- package/node_modules/@earendil-works/pi-protocol/dist/framing.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/framing.js +155 -0
- package/node_modules/@earendil-works/pi-protocol/dist/framing.js.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/index.d.ts +5 -0
- package/node_modules/@earendil-works/pi-protocol/dist/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/index.js +5 -0
- package/node_modules/@earendil-works/pi-protocol/dist/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/schemas.d.ts +13739 -0
- package/node_modules/@earendil-works/pi-protocol/dist/schemas.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/dist/schemas.js +386 -0
- package/node_modules/@earendil-works/pi-protocol/dist/schemas.js.map +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/compile/code.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/compile/code.mjs +65 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/compile/compile.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/compile/compile.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/compile/index.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/compile/index.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/compile/validator.d.mts +35 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/compile/validator.mjs +91 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/error/errors.d.mts +208 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/error/errors.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/error/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/error/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/_idna.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/_idna.mjs +246 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/_puny.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/_puny.mjs +77 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/_registry.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/_registry.mjs +96 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/date.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/date.mjs +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/date_time.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/date_time.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/duration.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/duration.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/email.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/email.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/format.d.mts +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/format.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/hostname.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/hostname.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/idn_email.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/idn_email.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/idn_hostname.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/idn_hostname.mjs +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/index.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/index.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/ipv4.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/ipv4.mjs +38 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/ipv6.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/ipv6.mjs +67 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/iri.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/iri.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/iri_reference.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/iri_reference.mjs +60 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/json_pointer.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/json_pointer.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/json_pointer_uri_fragment.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/json_pointer_uri_fragment.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/regex.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/regex.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/relative_json_pointer.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/relative_json_pointer.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/time.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/time.mjs +27 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/uri.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/uri.mjs +135 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/uri_reference.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/uri_reference.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/uri_template.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/uri_template.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/url.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/url.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/uuid.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/format/uuid.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/emit.d.mts +54 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/emit.mjs +186 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/globals.d.mts +35 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/globals.mjs +90 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/guard.d.mts +65 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/guard.mjs +212 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/index.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/index.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/native.d.mts +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/native.mjs +60 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/string.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/guard/string.mjs +176 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/index.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/index.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/build.d.mts +39 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/build.mjs +118 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/check.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/check.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/compile.d.mts +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/compile.mjs +46 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_context.d.mts +35 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_context.mjs +129 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_exact_optional.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_exact_optional.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_externals.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_externals.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_functions.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_functions.mjs +66 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_reducer.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_reducer.mjs +45 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_refine.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_refine.mjs +29 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_stack.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_stack.mjs +107 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_unique.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/_unique.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/additionalItems.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/additionalItems.mjs +50 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/additionalProperties.mjs +110 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/allOf.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/allOf.mjs +47 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/anyOf.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/anyOf.mjs +52 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/boolean.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/boolean.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/const.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/const.mjs +30 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/contains.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/contains.mjs +42 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/dependencies.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/dependencies.mjs +45 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/dependentRequired.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +38 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/dynamicRef.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/enum.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/enum.mjs +33 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/format.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/format.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/if.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/if.mjs +47 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/index.d.mts +48 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/index.mjs +54 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/items.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/items.mjs +68 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maxContains.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maxContains.mjs +42 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maxItems.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maxItems.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maxLength.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maxLength.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maxProperties.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maxProperties.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maximum.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/maximum.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minContains.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minContains.mjs +41 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minItems.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minItems.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minLength.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minLength.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minProperties.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minProperties.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minimum.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/minimum.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/multipleOf.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/multipleOf.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/not.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/not.mjs +37 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/oneOf.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/oneOf.mjs +58 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/pattern.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/pattern.mjs +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/patternProperties.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/patternProperties.mjs +44 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/prefixItems.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/prefixItems.mjs +35 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/properties.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/properties.mjs +75 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/propertyNames.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/propertyNames.mjs +39 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/recursiveRef.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/ref.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/ref.mjs +58 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/required.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/required.mjs +32 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/schema.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/schema.mjs +347 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/type.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/type.mjs +70 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +51 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +51 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/engine/uniqueItems.mjs +51 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/errors.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/errors.mjs +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/index.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/index.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/parse.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/parse.mjs +27 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/pointer/index.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/pointer/index.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/pointer/pointer.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/pointer/pointer.mjs +106 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/pointer/pointer_get.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/pointer/pointer_get.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/resolve/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/resolve/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/resolve/ref.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/resolve/ref.mjs +146 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/resolve/resolve.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/resolve/resolve.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/schema.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/schema.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/_canonical.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/_canonical.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/_comparer.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/_comparer.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/_elements.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/_elements.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/additionalProperties.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/additionalProperties.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/allOf.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/allOf.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/anyOf.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/anyOf.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/const.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/const.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/enum.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/enum.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/if.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/if.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/items.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/items.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/oneOf.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/oneOf.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/patternProperties.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/patternProperties.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/prefixItems.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/prefixItems.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/properties.d.mts +32 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/properties.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/ref.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/ref.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/required.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/required.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/schema.d.mts +56 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/schema.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/static.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/static.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/type.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/type.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/unevaluatedProperties.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/static/unevaluatedProperties.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/_refine.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/_refine.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/additionalItems.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/additionalItems.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/additionalProperties.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/additionalProperties.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/allOf.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/allOf.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/anchor.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/anchor.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/anyOf.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/anyOf.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/const.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/const.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/contains.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/contains.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/contentEncoding.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/contentEncoding.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/contentMediaType.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/contentMediaType.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/default.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/default.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/defs.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/defs.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dependencies.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dependencies.mjs +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dependentRequired.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dependentRequired.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dependentSchemas.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dependentSchemas.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dynamicAnchor.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dynamicAnchor.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dynamicRef.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/dynamicRef.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/else.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/else.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/enum.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/enum.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/exclusiveMaximum.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/exclusiveMaximum.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/exclusiveMinimum.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/exclusiveMinimum.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/format.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/format.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/id.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/id.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/if.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/if.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/index.d.mts +53 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/index.mjs +59 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/items.d.mts +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/items.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maxContains.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maxContains.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maxItems.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maxItems.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maxLength.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maxLength.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maxProperties.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maxProperties.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maximum.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/maximum.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minContains.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minContains.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minItems.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minItems.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minLength.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minLength.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minProperties.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minProperties.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minimum.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/minimum.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/multipleOf.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/multipleOf.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/not.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/not.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/oneOf.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/oneOf.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/pattern.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/pattern.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/patternProperties.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/patternProperties.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/prefixItems.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/prefixItems.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/properties.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/properties.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/propertyNames.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/propertyNames.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/recursiveAnchor.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/recursiveAnchor.mjs +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/recursiveRef.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/recursiveRef.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/ref.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/ref.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/required.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/required.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/schema.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/schema.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/then.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/then.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/type.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/type.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/unevaluatedItems.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/unevaluatedItems.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/unevaluatedProperties.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/unevaluatedProperties.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/uniqueItems.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/schema/types/uniqueItems.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/arguments/arguments.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/arguments/arguments.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/arguments/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/arguments/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/environment/environment.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/environment/environment.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/environment/evaluate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/environment/evaluate.mjs +37 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/environment/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/environment/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/hashing/hash.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/hashing/hash.mjs +232 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/hashing/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/hashing/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/index.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/index.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/_config.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/_config.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/_locale.d.mts +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/_locale.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ar_001.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ar_001.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/bn_BD.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/bn_BD.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/cs_CZ.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/cs_CZ.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/de_DE.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/de_DE.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/el_GR.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/el_GR.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/en_US.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/en_US.mjs +39 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/es_419.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/es_419.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/es_AR.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/es_AR.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/es_ES.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/es_ES.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/es_MX.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/es_MX.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/fa_IR.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/fa_IR.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/fil_PH.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/fil_PH.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/fr_CA.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/fr_CA.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/fr_FR.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/fr_FR.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ha_NG.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ha_NG.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/hi_IN.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/hi_IN.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/hu_HU.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/hu_HU.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/id_ID.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/id_ID.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/it_IT.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/it_IT.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ja_JP.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ja_JP.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ko_KR.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ko_KR.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ms_MY.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ms_MY.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/nl_NL.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/nl_NL.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/pl_PL.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/pl_PL.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/pt_BR.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/pt_BR.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/pt_PT.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/pt_PT.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ro_RO.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ro_RO.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ru_RU.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ru_RU.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/sv_SE.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/sv_SE.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/sw_TZ.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/sw_TZ.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/th_TH.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/th_TH.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/tr_TR.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/tr_TR.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/uk_UA.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/uk_UA.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ur_PK.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/ur_PK.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/vi_VN.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/vi_VN.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/yo_NG.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/yo_NG.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/zh_Hans.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/zh_Hans.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/zh_Hant.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/locale/zh_Hant.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/assign.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/assign.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/clone.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/clone.mjs +110 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/create.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/create.mjs +30 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/discard.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/discard.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/memory.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/memory.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/metrics.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/metrics.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/update.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/memory/update.mjs +32 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/settings/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/settings/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/settings/settings.d.mts +71 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/settings/settings.mjs +34 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/system.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/system.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/unreachable/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/unreachable/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/unreachable/unreachable.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/system/unreachable/unreachable.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/capitalize.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/capitalize.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/conditional.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/conditional.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/constructor_parameters.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/constructor_parameters.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/evaluate.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/evaluate.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/exclude.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/exclude.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/extract.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/extract.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/index.d.mts +30 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/index.mjs +30 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/indexed.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/indexed.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/instance_type.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/instance_type.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/interface.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/interface.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/keyof.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/keyof.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/lowercase.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/lowercase.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/mapped.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/mapped.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/module.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/module.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/non_nullable.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/non_nullable.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/omit.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/omit.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/parameters.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/parameters.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/partial.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/partial.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/pick.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/pick.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/readonly_object.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/readonly_object.mjs +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/required.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/required.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/return_type.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/return_type.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/uncapitalize.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/uncapitalize.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/uppercase.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/uppercase.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/with.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/action/with.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +53 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/call/instantiate.d.mts +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/call/instantiate.mjs +49 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/call/resolve_arguments.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +33 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/call/resolve_target.d.mts +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/call/resolve_target.mjs +27 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/conditional/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/conditional/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/conditional/instantiate.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/conditional/instantiate.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/constructor_parameters/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/constructor_parameters/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/check.d.mts +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/check.mjs +45 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +47 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/extends.mjs +47 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/index.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/index.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +31 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/target.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/cyclic/target.mjs +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/enum/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/enum/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +43 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/compare.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +34 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/composite.mjs +67 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +45 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +53 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/index.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/index.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/instantiate.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/instantiate.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/exclude/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/exclude/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/exclude/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/exclude/instantiate.mjs +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/exclude/operation.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/exclude/operation.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/extract/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/extract/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/extract/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/extract/instantiate.mjs +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/extract/operation.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/extract/operation.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/helpers/index.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/helpers/index.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/helpers/keys.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/helpers/keys.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/helpers/union.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/helpers/union.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/index.d.mts +31 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/index.mjs +37 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_cyclic.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_cyclic.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_intersect.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_intersect.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_literal.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_literal.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_type.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_union.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/from_union.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/to_indexable.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/to_indexable.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/array_indexer.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/array_indexer.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/from_array.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/from_array.mjs +35 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/from_object.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/from_object.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/from_tuple.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/from_tuple.mjs +35 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/from_type.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/from_type.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/instance_type/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/instance_type/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/instance_type/instantiate.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/instance_type/instantiate.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/instantiate.d.mts +178 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/instantiate.mjs +158 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/interface/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/interface/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/interface/instantiate.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/from_literal.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/from_literal.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/from_type.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/from_type.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/from_union.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/from_union.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/instantiate.d.mts +38 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/instantiate.mjs +52 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/mapping.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/intrinsics/mapping.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_any.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_any.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_array.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_array.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_object.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_object.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_record.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_record.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_tuple.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_tuple.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_type.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/from_type.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +29 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/mapped/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/mapped/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/mapped/instantiate.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/mapped/instantiate.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +42 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +39 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/module/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/module/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/module/instantiate.d.mts +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/module/instantiate.mjs +36 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/non_nullable/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/non_nullable/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/non_nullable/instantiate.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/non_nullable/instantiate.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/collapse.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/collapse.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_cyclic.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_cyclic.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_intersect.d.mts +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_intersect.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_object.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_object.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_tuple.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_tuple.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_type.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_type.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_union.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/from_union.mjs +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/object/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/omit/from_type.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/omit/from_type.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/omit/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/omit/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/omit/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/omit/instantiate.mjs +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/parameters/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/parameters/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_cyclic.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_cyclic.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_object.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_object.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_type.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_type.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_union.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/from_union.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/partial/instantiate.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/patterns/index.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/patterns/index.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/patterns/pattern.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/patterns/pattern.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/patterns/template.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/patterns/template.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/pick/from_type.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/pick/from_type.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/pick/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/pick/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/pick/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/pick/instantiate.mjs +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_union.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/from_union.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/readonly_object/instantiate.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key.d.mts +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key.mjs +40 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_any.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_any.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_boolean.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_boolean.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_integer.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_integer.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_intersect.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_intersect.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_literal.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_literal.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_number.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_number.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_string.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_string.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_union.d.mts +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/from_key_union.mjs +39 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/instantiate.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/record_create.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/record/record_create.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/ref/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/ref/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/ref/instantiate.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_cyclic.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_cyclic.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_intersect.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_object.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_object.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_type.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_type.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_union.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/from_union.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/required/instantiate.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/rest/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/rest/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/rest/spread.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/rest/spread.mjs +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/return_type/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/return_type/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/return_type/instantiate.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/return_type/instantiate.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/create.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/create.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/decode.d.mts +30 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/decode.mjs +81 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +33 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/encode.mjs +81 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/index.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/index.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/instantiate.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/instantiate.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/is_finite.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/is_pattern.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/static.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/template_literal/static.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/this/expand_this.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/this/expand_this.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/tuple/to_object.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/tuple/to_object.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/with/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/with/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/engine/with/instantiate.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/any.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/any.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/array.d.mts +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/array.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/bigint.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/bigint.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/boolean.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/boolean.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/constructor.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/constructor.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/enum.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/enum.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/extends.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/extends.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/extends_left.d.mts +53 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/extends_left.mjs +80 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/extends_right.d.mts +27 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/extends_right.mjs +49 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/function.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/function.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/index.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/index.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/inference.d.mts +34 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/inference.mjs +62 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/integer.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/integer.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/intersect.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/intersect.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/literal.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/literal.mjs +44 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/never.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/never.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/null.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/null.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/number.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/number.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/object.d.mts +32 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/object.mjs +109 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/parameters.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/parameters.mjs +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/record.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/record.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/result.d.mts +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/result.mjs +36 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/return_type.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/return_type.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/string.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/string.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/symbol.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/symbol.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/template_literal.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/template_literal.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/tuple.d.mts +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/tuple.mjs +61 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/undefined.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/undefined.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/union.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/union.mjs +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/unknown.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/unknown.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/void.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/extends/void.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/index.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/index.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/mapping.d.mts +353 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/mapping.mjs +535 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/parser.d.mts +262 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/parser.mjs +136 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/script.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/script.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/bigint.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/bigint.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/const.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/const.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/ident.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/ident.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/index.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/index.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/integer.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/integer.mjs +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/char.d.mts +75 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/char.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/guard.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/many.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/many.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/match.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/match.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/optional.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/optional.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/take.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/take.mjs +30 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/trim.d.mts +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/internal/trim.mjs +34 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/number.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/number.mjs +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/rest.d.mts +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/rest.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/span.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/span.mjs +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/string.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/string.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/unsigned_integer.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/unsigned_integer.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/unsigned_number.d.mts +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/unsigned_number.mjs +38 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/until.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/until.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/until_1.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/script/token/until_1.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_codec.d.mts +30 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_codec.mjs +60 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_immutable.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_immutable.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_optional.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_optional.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_readonly.d.mts +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_readonly.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_refine.d.mts +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/_refine.mjs +36 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/any.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/any.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/array.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/array.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/bigint.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/bigint.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/boolean.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/boolean.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/call.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/call.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/constructor.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/constructor.mjs +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/cyclic.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/cyclic.mjs +29 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/deferred.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/deferred.mjs +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/dependent.mjs +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/enum.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/enum.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/function.d.mts +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/function.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/generic.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/generic.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/identifier.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/identifier.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/index.d.mts +45 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/index.mjs +51 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/infer.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/infer.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/integer.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/integer.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/intersect.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/intersect.mjs +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/literal.d.mts +31 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/literal.mjs +62 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/never.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/never.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/null.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/null.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/number.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/number.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/object.d.mts +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/object.mjs +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/parameter.d.mts +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/parameter.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/properties.d.mts +43 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/properties.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/record.d.mts +52 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/record.mjs +66 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/ref.d.mts +19 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/ref.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/rest.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/rest.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/schema.d.mts +176 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/schema.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/static.d.mts +45 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/static.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/string.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/string.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/symbol.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/symbol.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/template_literal.d.mts +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/template_literal.mjs +37 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/this.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/this.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/tuple.d.mts +38 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/tuple.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/undefined.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/undefined.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/union.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/union.mjs +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/unknown.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/unknown.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/unsafe.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/unsafe.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/void.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/type/types/void.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/typebox.d.mts +69 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/typebox.mjs +85 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/assert/assert.d.mts +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/assert/assert.mjs +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/assert/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/assert/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/check/check.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/check/check.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/check/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/check/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/additional.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/additional.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/clean.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/clean.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_array.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_array.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_cyclic.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_cyclic.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_intersect.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_intersect.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_object.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_object.mjs +31 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_record.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_record.mjs +32 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_ref.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_ref.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_tuple.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_tuple.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_type.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_type.mjs +21 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_union.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/from_union.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clean/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clone/clone.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clone/clone.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clone/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/clone/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/callback.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/callback.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/decode.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/decode.mjs +52 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/encode.d.mts +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/encode.mjs +52 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_array.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_array.mjs +35 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_cyclic.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_cyclic.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_intersect.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_intersect.mjs +58 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_object.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_object.mjs +42 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_record.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_record.mjs +39 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_ref.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_ref.mjs +31 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_tuple.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_tuple.mjs +32 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_type.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_type.mjs +22 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_union.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/from_union.mjs +39 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/has.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/has.mjs +93 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/index.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/codec/index.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/convert.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/convert.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_additional.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_additional.mjs +18 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_array.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_array.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_bigint.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_bigint.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_boolean.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_boolean.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_cyclic.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_cyclic.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_enum.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_enum.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_integer.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_integer.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_intersect.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_intersect.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_literal.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_literal.mjs +44 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_null.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_null.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_number.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_number.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_object.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_object.mjs +28 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_record.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_record.mjs +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_ref.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_ref.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_string.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_string.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_template_literal.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_template_literal.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_tuple.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_tuple.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_type.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_type.mjs +43 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_undefined.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_undefined.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_union.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_union.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_void.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/from_void.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_array.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_array.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_bigint.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_bigint.mjs +45 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_boolean.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_boolean.mjs +41 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_null.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_null.mjs +44 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_number.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_number.mjs +44 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_result.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_result.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_string.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_string.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_undefined.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/convert/try/try_undefined.mjs +44 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/create.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/create.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/error.d.mts +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/error.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_array.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_array.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_bigint.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_bigint.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_boolean.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_boolean.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_constructor.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_constructor.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_cyclic.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_cyclic.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_default.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_default.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_enum.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_enum.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_function.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_function.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_integer.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_integer.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_intersect.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_intersect.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_literal.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_literal.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_never.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_never.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_null.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_null.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_number.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_number.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_object.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_object.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_record.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_record.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_ref.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_ref.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_string.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_string.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_symbol.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_symbol.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_template_literal.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_template_literal.mjs +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_tuple.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_tuple.mjs +5 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_type.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_type.mjs +61 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_undefined.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_undefined.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_union.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_union.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_void.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/from_void.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/index.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/create/index.mjs +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/default.d.mts +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/default.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_array.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_array.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_cyclic.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_cyclic.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_default.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_default.mjs +13 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_intersect.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_intersect.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_object.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_object.mjs +32 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_record.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_record.mjs +26 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_ref.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_ref.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_tuple.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_tuple.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_type.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_type.mjs +25 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_union.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/from_union.mjs +14 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/default/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/delta/diff.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/delta/diff.mjs +135 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/delta/edit.d.mts +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/delta/edit.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/delta/index.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/delta/index.mjs +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/delta/patch.d.mts +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/delta/patch.mjs +42 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/equal/equal.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/equal/equal.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/equal/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/equal/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/errors/errors.d.mts +16 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/errors/errors.mjs +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/errors/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/errors/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/hash/hash.d.mts +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/hash/hash.mjs +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/hash/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/hash/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/index.d.mts +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/index.mjs +29 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/parse/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/parse/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/parse/parse.d.mts +11 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/parse/parse.mjs +47 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/pipeline/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/pipeline/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/pipeline/pipeline.d.mts +10 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/pipeline/pipeline.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/pointer/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/pointer/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/error.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/error.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_array.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_array.mjs +39 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_enum.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_enum.mjs +6 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_intersect.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_intersect.mjs +8 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_object.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_object.mjs +33 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_record.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_record.mjs +33 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_ref.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_ref.mjs +9 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_template_literal.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_template_literal.mjs +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_tuple.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_tuple.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_type.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_type.mjs +88 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_union.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_union.mjs +24 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_unknown.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/from_unknown.mjs +12 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/index.d.mts +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/index.mjs +1 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/repair.d.mts +17 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/repair/repair.mjs +20 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/shared/index.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/shared/index.mjs +4 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/shared/optional_undefined.d.mts +2 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/shared/optional_undefined.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +7 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/shared/union_priority_sort.mjs +72 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/shared/union_score_select.d.mts +3 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/shared/union_score_select.mjs +51 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/value.d.mts +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/build/value/value.mjs +15 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/license +23 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/package.json +87 -0
- package/node_modules/@earendil-works/pi-protocol/node_modules/typebox/readme.md +370 -0
- package/node_modules/@earendil-works/pi-protocol/package.json +48 -0
- package/node_modules/@earendil-works/pi-telemetry/README.md +464 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/index.d.ts +194 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/index.js +18 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/memory.d.ts +26 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/memory.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/memory.js +154 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/memory.js.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/noop.d.ts +4 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/noop.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/noop.js +18 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/noop.js.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/conformance.d.ts +4 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/conformance.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/conformance.js +294 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/conformance.js.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/index.d.ts +3 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/index.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/index.js +2 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/index.js.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/types.d.ts +16 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/types.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/types.js +2 -0
- package/node_modules/@earendil-works/pi-telemetry/dist/testing/types.js.map +1 -0
- package/node_modules/@earendil-works/pi-telemetry/package.json +47 -0
- package/node_modules/@earendil-works/pi-tui/README.md +77 -14
- package/node_modules/@earendil-works/pi-tui/dist/components/alt-screen-flash.d.ts +13 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/alt-screen-flash.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/alt-screen-flash.js +37 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/alt-screen-flash.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +11 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/h-stack.d.ts +7 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/h-stack.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/h-stack.js +43 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/h-stack.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +4 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +128 -2
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.d.ts +51 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.js +173 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js +3 -6
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/stack.d.ts +32 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/stack.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/stack.js +111 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/stack.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/v-stack.d.ts +8 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/v-stack.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/v-stack.js +26 -0
- package/node_modules/@earendil-works/pi-tui/dist/components/v-stack.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +9 -2
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.js +10 -2
- package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +44 -4
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +31 -4
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/latex.d.ts +10 -0
- package/node_modules/@earendil-works/pi-tui/dist/latex.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/latex.js +1124 -0
- package/node_modules/@earendil-works/pi-tui/dist/latex.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/layout-node.d.ts +40 -0
- package/node_modules/@earendil-works/pi-tui/dist/layout-node.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/layout-node.js +6 -0
- package/node_modules/@earendil-works/pi-tui/dist/layout-node.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/layout.d.ts +40 -0
- package/node_modules/@earendil-works/pi-tui/dist/layout.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/layout.js +314 -0
- package/node_modules/@earendil-works/pi-tui/dist/layout.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +10 -3
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-colors.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-colors.js +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-colors.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +21 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +128 -3
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js +10 -7
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +85 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +768 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.d.ts +39 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.js +533 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.js.map +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +75 -38
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.js +98 -573
- package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +11 -0
- package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/utils.js +119 -6
- package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/native/darwin/README.md +20 -0
- package/node_modules/@earendil-works/pi-tui/native/darwin/build.sh +62 -0
- package/node_modules/@earendil-works/pi-tui/native/darwin/src/darwin-modifiers.c +70 -0
- package/node_modules/@earendil-works/pi-tui/native/win32/README.md +22 -0
- package/node_modules/@earendil-works/pi-tui/native/win32/build.mjs +229 -0
- package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
- package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
- package/node_modules/@earendil-works/pi-tui/native/win32/src/win32-console-mode.c +119 -0
- package/node_modules/@earendil-works/pi-tui/package.json +9 -1
- package/node_modules/grok-mermaid/CHANGELOG.md +40 -0
- package/node_modules/grok-mermaid/LICENSE +205 -0
- package/node_modules/grok-mermaid/README.md +191 -0
- package/node_modules/grok-mermaid/dist/ansi.d.ts +16 -0
- package/node_modules/grok-mermaid/dist/ansi.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/ansi.js +23 -0
- package/node_modules/grok-mermaid/dist/ansi.js.map +1 -0
- package/node_modules/grok-mermaid/dist/canvas.d.ts +87 -0
- package/node_modules/grok-mermaid/dist/canvas.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/canvas.js +366 -0
- package/node_modules/grok-mermaid/dist/canvas.js.map +1 -0
- package/node_modules/grok-mermaid/dist/graph.d.ts +74 -0
- package/node_modules/grok-mermaid/dist/graph.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/graph.js +91 -0
- package/node_modules/grok-mermaid/dist/graph.js.map +1 -0
- package/node_modules/grok-mermaid/dist/index.d.ts +32 -0
- package/node_modules/grok-mermaid/dist/index.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/index.js +100 -0
- package/node_modules/grok-mermaid/dist/index.js.map +1 -0
- package/node_modules/grok-mermaid/dist/labels.d.ts +62 -0
- package/node_modules/grok-mermaid/dist/labels.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/labels.js +324 -0
- package/node_modules/grok-mermaid/dist/labels.js.map +1 -0
- package/node_modules/grok-mermaid/dist/layout-seq.d.ts +12 -0
- package/node_modules/grok-mermaid/dist/layout-seq.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/layout-seq.js +194 -0
- package/node_modules/grok-mermaid/dist/layout-seq.js.map +1 -0
- package/node_modules/grok-mermaid/dist/layout.d.ts +87 -0
- package/node_modules/grok-mermaid/dist/layout.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/layout.js +881 -0
- package/node_modules/grok-mermaid/dist/layout.js.map +1 -0
- package/node_modules/grok-mermaid/dist/parse.d.ts +83 -0
- package/node_modules/grok-mermaid/dist/parse.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/parse.js +1108 -0
- package/node_modules/grok-mermaid/dist/parse.js.map +1 -0
- package/node_modules/grok-mermaid/dist/source-box.d.ts +18 -0
- package/node_modules/grok-mermaid/dist/source-box.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/source-box.js +78 -0
- package/node_modules/grok-mermaid/dist/source-box.js.map +1 -0
- package/node_modules/grok-mermaid/dist/types.d.ts +42 -0
- package/node_modules/grok-mermaid/dist/types.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/types.js +1 -0
- package/node_modules/grok-mermaid/dist/types.js.map +1 -0
- package/node_modules/grok-mermaid/dist/width-data.d.ts +2 -0
- package/node_modules/grok-mermaid/dist/width-data.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/width-data.js +994 -0
- package/node_modules/grok-mermaid/dist/width-data.js.map +1 -0
- package/node_modules/grok-mermaid/dist/width.d.ts +18 -0
- package/node_modules/grok-mermaid/dist/width.d.ts.map +1 -0
- package/node_modules/grok-mermaid/dist/width.js +76 -0
- package/node_modules/grok-mermaid/dist/width.js.map +1 -0
- package/node_modules/grok-mermaid/package.json +49 -0
- package/node_modules/grok-mermaid/src/ansi.ts +34 -0
- package/node_modules/grok-mermaid/src/canvas.ts +373 -0
- package/node_modules/grok-mermaid/src/graph.ts +142 -0
- package/node_modules/grok-mermaid/src/index.ts +104 -0
- package/node_modules/grok-mermaid/src/labels.ts +326 -0
- package/node_modules/grok-mermaid/src/layout-seq.ts +203 -0
- package/node_modules/grok-mermaid/src/layout.ts +1015 -0
- package/node_modules/grok-mermaid/src/parse.ts +1150 -0
- package/node_modules/grok-mermaid/src/source-box.ts +89 -0
- package/node_modules/grok-mermaid/src/types.ts +43 -0
- package/node_modules/grok-mermaid/src/width-data.ts +993 -0
- package/node_modules/grok-mermaid/src/width.ts +74 -0
- package/node_modules/undici/README.md +8 -2
- package/node_modules/undici/docs/docs/api/Agent.md +248 -44
- package/node_modules/undici/docs/docs/api/BalancedPool.md +246 -48
- package/node_modules/undici/docs/docs/api/CacheStorage.md +171 -13
- package/node_modules/undici/docs/docs/api/CacheStore.md +294 -98
- package/node_modules/undici/docs/docs/api/Client.md +369 -179
- package/node_modules/undici/docs/docs/api/ClientStats.md +80 -14
- package/node_modules/undici/docs/docs/api/Connector.md +118 -36
- package/node_modules/undici/docs/docs/api/ContentType.md +65 -25
- package/node_modules/undici/docs/docs/api/Cookies.md +122 -71
- package/node_modules/undici/docs/docs/api/Debug.md +34 -18
- package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +364 -164
- package/node_modules/undici/docs/docs/api/Dispatcher.md +485 -1102
- package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +101 -87
- package/node_modules/undici/docs/docs/api/Errors.md +503 -40
- package/node_modules/undici/docs/docs/api/EventSource.md +294 -32
- package/node_modules/undici/docs/docs/api/Fetch.md +680 -31
- package/node_modules/undici/docs/docs/api/GlobalInstallation.md +78 -98
- package/node_modules/undici/docs/docs/api/H2CClient.md +298 -176
- package/node_modules/undici/docs/docs/api/Interceptors.md +414 -0
- package/node_modules/undici/docs/docs/api/MockAgent.md +333 -314
- package/node_modules/undici/docs/docs/api/MockCallHistory.md +272 -98
- package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +189 -26
- package/node_modules/undici/docs/docs/api/MockClient.md +151 -33
- package/node_modules/undici/docs/docs/api/MockErrors.md +56 -5
- package/node_modules/undici/docs/docs/api/MockPool.md +321 -258
- package/node_modules/undici/docs/docs/api/Pool.md +235 -43
- package/node_modules/undici/docs/docs/api/PoolStats.md +119 -13
- package/node_modules/undici/docs/docs/api/ProxyAgent.md +179 -160
- package/node_modules/undici/docs/docs/api/RedirectHandler.md +238 -63
- package/node_modules/undici/docs/docs/api/RetryAgent.md +113 -26
- package/node_modules/undici/docs/docs/api/RetryHandler.md +161 -77
- package/node_modules/undici/docs/docs/api/RoundRobinPool.md +166 -72
- package/node_modules/undici/docs/docs/api/SnapshotAgent.md +264 -542
- package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +162 -187
- package/node_modules/undici/docs/docs/api/Util.md +68 -11
- package/node_modules/undici/docs/docs/api/WebSocket.md +475 -80
- package/node_modules/undici/docs/docs/api/api-lifecycle.md +100 -32
- package/node_modules/undici/docs/docs/best-practices/client-certificate.md +2 -0
- package/node_modules/undici/docs/docs/best-practices/crawling.md +3 -1
- package/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +6 -4
- package/node_modules/undici/docs/docs/best-practices/mocking-request.md +9 -7
- package/node_modules/undici/docs/docs/best-practices/proxy.md +3 -1
- package/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +10 -8
- package/node_modules/undici/docs/docs/best-practices/writing-tests.md +2 -0
- package/node_modules/undici/docs/docs/{GettingStarted.md → getting-started.md} +22 -19
- package/node_modules/undici/docs/docs/index.md +784 -0
- package/node_modules/undici/docs/docs/site.json +125 -0
- package/node_modules/undici/docs/docs/type-map.json +79 -0
- package/node_modules/undici/lib/api/api-request.js +7 -1
- package/node_modules/undici/lib/api/readable.js +47 -2
- package/node_modules/undici/lib/cache/memory-cache-store.js +54 -9
- package/node_modules/undici/lib/cache/sqlite-cache-store.js +7 -1
- package/node_modules/undici/lib/core/errors.js +20 -0
- package/node_modules/undici/lib/core/request.js +14 -3
- package/node_modules/undici/lib/core/util.js +30 -2
- package/node_modules/undici/lib/dispatcher/agent.js +3 -3
- package/node_modules/undici/lib/dispatcher/client-h1.js +65 -8
- package/node_modules/undici/lib/dispatcher/client-h2.js +265 -142
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +40 -6
- package/node_modules/undici/lib/global.js +36 -16
- package/node_modules/undici/lib/handler/cache-handler.js +269 -61
- package/node_modules/undici/lib/handler/cache-revalidation-handler.js +13 -3
- package/node_modules/undici/lib/handler/redirect-handler.js +6 -2
- package/node_modules/undici/lib/handler/retry-handler.js +87 -23
- package/node_modules/undici/lib/interceptor/cache.js +159 -52
- package/node_modules/undici/lib/interceptor/decompress.js +9 -2
- package/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
- package/node_modules/undici/lib/mock/mock-utils.js +39 -10
- package/node_modules/undici/lib/util/cache.js +372 -68
- package/node_modules/undici/lib/util/date.js +23 -6
- package/node_modules/undici/lib/web/cookies/parse.js +3 -2
- package/node_modules/undici/lib/web/cookies/util.js +79 -9
- package/node_modules/undici/lib/web/eventsource/util.js +1 -1
- package/node_modules/undici/lib/web/fetch/body.js +2 -1
- package/node_modules/undici/lib/web/fetch/constants.js +1 -1
- package/node_modules/undici/lib/web/fetch/index.js +11 -2
- package/node_modules/undici/lib/web/fetch/response.js +1 -3
- package/node_modules/undici/lib/web/fetch/util.js +4 -1
- package/node_modules/undici/package.json +2 -2
- package/node_modules/undici/types/client.d.ts +3 -3
- package/node_modules/undici/types/cookies.d.ts +1 -1
- package/node_modules/undici/types/dispatcher.d.ts +3 -3
- package/node_modules/undici/types/errors.d.ts +10 -0
- package/node_modules/undici/types/handlers.d.ts +2 -0
- package/node_modules/undici/types/mock-interceptor.d.ts +5 -1
- package/node_modules/undici/types/proxy-agent.d.ts +7 -0
- package/package.json +7 -7
- package/src/prism-extensions/integrations/ai-memory-system.ts +185 -0
- package/src/prism-extensions/integrations/research-tools.ts +4 -2
- package/src/prism-extensions/integrations/youtube.ts +292 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts +0 -26
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js +0 -103
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts +0 -42
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js +0 -293
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts +0 -18
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js +0 -42
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts +0 -33
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js +0 -168
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts +0 -11
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js +0 -39
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2CAA2C;AAC3C,OAAO,EAIN,WAAW,EAEX,kBAAkB,GAIlB,MAAM,uBAAuB,CAAC;AAE/B,uDAAuD;AACvD,MAAM,uBAAwB,SAAQ,WAAoD;IACzF,cAAc;QACb,KAAK,CACJ,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAC1D,CAAC,KAAK,EAAE,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,KAAK,CAAC,OAAO,CAAC;YAChD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAAA,CACzC,CACD,CAAC;IAAA,CACF;CACD;AAmDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,wBAAwB,CAAC,OAA2B,EAAkC;IAC9F,OAAO;QACN,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,eAAe,EAAE,OAAO,CAAC,eAAe;KACxC,CAAC;AAAA,CACF;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAE,OAAgB,EAAE,OAA2B,EAA2B;IACtH,MAAM,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAE7C,CAAC,KAAK,IAAI,EAAE,CAAC;QACZ,iEAAiE;QACjE,MAAM,OAAO,GAAqB;YACjC,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,EAAE;YACX,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,KAAK,EAAE;gBACN,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;aACpE;YACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,IAAI,MAA2D,CAAC;QAEhE,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC;YAC1B,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;QAAA,CACD,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,aAAa,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,OAAO,CAAC,SAAS,EAAE;oBAC5C,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC;iBAC1C,CAAC;gBACF,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,IAAI,YAAY,GAAG,gBAAgB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5E,IAAI,CAAC;oBACJ,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;oBAChE,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;wBACrB,YAAY,GAAG,gBAAgB,SAAS,CAAC,KAAK,EAAE,CAAC;oBAClD,CAAC;gBACF,CAAC;gBAAC,MAAM,CAAC;oBACR,gCAAgC;gBACjC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,GAAG,QAAQ,CAAC,IAAK,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,OAAO,IAAI,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAClC,IAAI,IAAI,EAAE,CAAC;4BACV,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA+B,CAAC;4BAClE,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;4BACrD,IAAI,KAAK,EAAE,CAAC;gCACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACpB,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;YAC5B,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,MAAM;gBACN,KAAK,EAAE,OAAO;aACd,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;gBAAS,CAAC;YACV,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC;IAAA,CACD,CAAC,EAAE,CAAC;IAEL,OAAO,MAAM,CAAC;AAAA,CACd;AAED;;GAEG;AACH,SAAS,iBAAiB,CACzB,UAAsC,EACtC,OAAyB,EACW;IACpC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,OAAO;YACX,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAEnC,KAAK,YAAY;YAChB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QAE/E,KAAK,YAAY,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC;gBACjC,OAAO;oBACN,IAAI,EAAE,YAAY;oBAClB,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,OAAO;iBACP,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,UAAU,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC;gBACpD,OAAO;oBACN,IAAI,EAAE,UAAU;oBAChB,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,OAAO,EAAE,OAAO,CAAC,IAAI;oBACrB,OAAO;iBACP,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,gBAAgB;YACpB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC9E,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QAEnF,KAAK,gBAAgB,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBAClC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC;gBACrC,OAAO;oBACN,IAAI,EAAE,gBAAgB;oBACtB,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,OAAO;iBACP,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;QAED,KAAK,cAAc,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBAClC,OAAO,CAAC,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC;gBACxD,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,OAAO,EAAE,OAAO,CAAC,QAAQ;oBACzB,OAAO;iBACP,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,gBAAgB;YACpB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG;gBAC1C,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;aAC0C,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QAEnF,KAAK,gBAAgB,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBACjC,OAAe,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC;gBACjD,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC3E,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,qBAAqB;gBAChF,OAAO;oBACN,IAAI,EAAE,gBAAgB;oBACtB,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,OAAO;iBACP,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;QAED,KAAK,cAAc,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBAClC,OAAQ,OAAe,CAAC,WAAW,CAAC;gBACpC,OAAO;oBACN,IAAI,EAAE,cAAc;oBACpB,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,QAAQ,EAAE,OAAO;oBACjB,OAAO;iBACP,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,KAAK,MAAM;YACV,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAEtE,KAAK,OAAO;YACX,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;YAC/C,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAErE,SAAS,CAAC;YACT,MAAM,gBAAgB,GAAU,UAAU,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,+BAAgC,UAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;AAAA,CACD","sourcesContent":["/**\n * Proxy stream function for apps that route LLM calls through a server.\n * The server manages auth and proxies requests to LLM providers.\n */\n\n// Internal import for JSON parsing utility\nimport {\n\ttype AssistantMessage,\n\ttype AssistantMessageEvent,\n\ttype Context,\n\tEventStream,\n\ttype Model,\n\tparseStreamingJson,\n\ttype SimpleStreamOptions,\n\ttype StopReason,\n\ttype ToolCall,\n} from \"@earendil-works/pi-ai\";\n\n// Create stream class matching ProxyMessageEventStream\nclass ProxyMessageEventStream extends EventStream<AssistantMessageEvent, AssistantMessage> {\n\tconstructor() {\n\t\tsuper(\n\t\t\t(event) => event.type === \"done\" || event.type === \"error\",\n\t\t\t(event) => {\n\t\t\t\tif (event.type === \"done\") return event.message;\n\t\t\t\tif (event.type === \"error\") return event.error;\n\t\t\t\tthrow new Error(\"Unexpected event type\");\n\t\t\t},\n\t\t);\n\t}\n}\n\n/**\n * Proxy event types - server sends these with partial field stripped to reduce bandwidth.\n */\nexport type ProxyAssistantMessageEvent =\n\t| { type: \"start\" }\n\t| { type: \"text_start\"; contentIndex: number }\n\t| { type: \"text_delta\"; contentIndex: number; delta: string }\n\t| { type: \"text_end\"; contentIndex: number; contentSignature?: string }\n\t| { type: \"thinking_start\"; contentIndex: number }\n\t| { type: \"thinking_delta\"; contentIndex: number; delta: string }\n\t| { type: \"thinking_end\"; contentIndex: number; contentSignature?: string }\n\t| { type: \"toolcall_start\"; contentIndex: number; id: string; toolName: string }\n\t| { type: \"toolcall_delta\"; contentIndex: number; delta: string }\n\t| { type: \"toolcall_end\"; contentIndex: number }\n\t| {\n\t\t\ttype: \"done\";\n\t\t\treason: Extract<StopReason, \"stop\" | \"length\" | \"toolUse\">;\n\t\t\tusage: AssistantMessage[\"usage\"];\n\t }\n\t| {\n\t\t\ttype: \"error\";\n\t\t\treason: Extract<StopReason, \"aborted\" | \"error\">;\n\t\t\terrorMessage?: string;\n\t\t\tusage: AssistantMessage[\"usage\"];\n\t };\n\ntype ProxySerializableStreamOptions = Pick<\n\tSimpleStreamOptions,\n\t| \"temperature\"\n\t| \"maxTokens\"\n\t| \"reasoning\"\n\t| \"cacheRetention\"\n\t| \"sessionId\"\n\t| \"headers\"\n\t| \"metadata\"\n\t| \"transport\"\n\t| \"thinkingBudgets\"\n\t| \"maxRetryDelayMs\"\n>;\n\nexport interface ProxyStreamOptions extends ProxySerializableStreamOptions {\n\t/** Local abort signal for the proxy request */\n\tsignal?: AbortSignal;\n\t/** Auth token for the proxy server */\n\tauthToken: string;\n\t/** Proxy server URL (e.g., \"https://genai.example.com\") */\n\tproxyUrl: string;\n}\n\n/**\n * Stream function that proxies through a server instead of calling LLM providers directly.\n * The server strips the partial field from delta events to reduce bandwidth.\n * We reconstruct the partial message client-side.\n *\n * Use this as the `streamFn` option when creating an Agent that needs to go through a proxy.\n *\n * @example\n * ```typescript\n * const agent = new Agent({\n * streamFn: (model, context, options) =>\n * streamProxy(model, context, {\n * ...options,\n * authToken: await getAuthToken(),\n * proxyUrl: \"https://genai.example.com\",\n * }),\n * });\n * ```\n */\nfunction buildProxyRequestOptions(options: ProxyStreamOptions): ProxySerializableStreamOptions {\n\treturn {\n\t\ttemperature: options.temperature,\n\t\tmaxTokens: options.maxTokens,\n\t\treasoning: options.reasoning,\n\t\tcacheRetention: options.cacheRetention,\n\t\tsessionId: options.sessionId,\n\t\theaders: options.headers,\n\t\tmetadata: options.metadata,\n\t\ttransport: options.transport,\n\t\tthinkingBudgets: options.thinkingBudgets,\n\t\tmaxRetryDelayMs: options.maxRetryDelayMs,\n\t};\n}\n\nexport function streamProxy(model: Model<any>, context: Context, options: ProxyStreamOptions): ProxyMessageEventStream {\n\tconst stream = new ProxyMessageEventStream();\n\n\t(async () => {\n\t\t// Initialize the partial message that we'll build up from events\n\t\tconst partial: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tstopReason: \"pending\",\n\t\t\tcontent: [],\n\t\t\tapi: model.api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\tlet reader: ReadableStreamDefaultReader<Uint8Array> | undefined;\n\n\t\tconst abortHandler = () => {\n\t\t\tif (reader) {\n\t\t\t\treader.cancel(\"Request aborted by user\").catch(() => {});\n\t\t\t}\n\t\t};\n\n\t\tif (options.signal) {\n\t\t\toptions.signal.addEventListener(\"abort\", abortHandler);\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await fetch(`${options.proxyUrl}/api/stream`, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: `Bearer ${options.authToken}`,\n\t\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tmodel,\n\t\t\t\t\tcontext,\n\t\t\t\t\toptions: buildProxyRequestOptions(options),\n\t\t\t\t}),\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\tlet errorMessage = `Proxy error: ${response.status} ${response.statusText}`;\n\t\t\t\ttry {\n\t\t\t\t\tconst errorData = (await response.json()) as { error?: string };\n\t\t\t\t\tif (errorData.error) {\n\t\t\t\t\t\terrorMessage = `Proxy error: ${errorData.error}`;\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Couldn't parse error response\n\t\t\t\t}\n\t\t\t\tthrow new Error(errorMessage);\n\t\t\t}\n\n\t\t\treader = response.body!.getReader();\n\t\t\tconst decoder = new TextDecoder();\n\t\t\tlet buffer = \"\";\n\n\t\t\twhile (true) {\n\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\tif (done) break;\n\n\t\t\t\tif (options.signal?.aborted) {\n\t\t\t\t\tthrow new Error(\"Request aborted by user\");\n\t\t\t\t}\n\n\t\t\t\tbuffer += decoder.decode(value, { stream: true });\n\t\t\t\tconst lines = buffer.split(\"\\n\");\n\t\t\t\tbuffer = lines.pop() || \"\";\n\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tif (line.startsWith(\"data: \")) {\n\t\t\t\t\t\tconst data = line.slice(6).trim();\n\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\tconst proxyEvent = JSON.parse(data) as ProxyAssistantMessageEvent;\n\t\t\t\t\t\t\tconst event = processProxyEvent(proxyEvent, partial);\n\t\t\t\t\t\t\tif (event) {\n\t\t\t\t\t\t\t\tstream.push(event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request aborted by user\");\n\t\t\t}\n\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\tconst errorMessage = error instanceof Error ? error.message : String(error);\n\t\t\tconst reason = options.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\tpartial.stopReason = reason;\n\t\t\tpartial.errorMessage = errorMessage;\n\t\t\tstream.push({\n\t\t\t\ttype: \"error\",\n\t\t\t\treason,\n\t\t\t\terror: partial,\n\t\t\t});\n\t\t\tstream.end();\n\t\t} finally {\n\t\t\tif (options.signal) {\n\t\t\t\toptions.signal.removeEventListener(\"abort\", abortHandler);\n\t\t\t}\n\t\t}\n\t})();\n\n\treturn stream;\n}\n\n/**\n * Process a proxy event and update the partial message.\n */\nfunction processProxyEvent(\n\tproxyEvent: ProxyAssistantMessageEvent,\n\tpartial: AssistantMessage,\n): AssistantMessageEvent | undefined {\n\tswitch (proxyEvent.type) {\n\t\tcase \"start\":\n\t\t\treturn { type: \"start\", partial };\n\n\t\tcase \"text_start\":\n\t\t\tpartial.content[proxyEvent.contentIndex] = { type: \"text\", text: \"\" };\n\t\t\treturn { type: \"text_start\", contentIndex: proxyEvent.contentIndex, partial };\n\n\t\tcase \"text_delta\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"text\") {\n\t\t\t\tcontent.text += proxyEvent.delta;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tdelta: proxyEvent.delta,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received text_delta for non-text content\");\n\t\t}\n\n\t\tcase \"text_end\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"text\") {\n\t\t\t\tcontent.textSignature = proxyEvent.contentSignature;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tcontent: content.text,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received text_end for non-text content\");\n\t\t}\n\n\t\tcase \"thinking_start\":\n\t\t\tpartial.content[proxyEvent.contentIndex] = { type: \"thinking\", thinking: \"\" };\n\t\t\treturn { type: \"thinking_start\", contentIndex: proxyEvent.contentIndex, partial };\n\n\t\tcase \"thinking_delta\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"thinking\") {\n\t\t\t\tcontent.thinking += proxyEvent.delta;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tdelta: proxyEvent.delta,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received thinking_delta for non-thinking content\");\n\t\t}\n\n\t\tcase \"thinking_end\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"thinking\") {\n\t\t\t\tcontent.thinkingSignature = proxyEvent.contentSignature;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tcontent: content.thinking,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received thinking_end for non-thinking content\");\n\t\t}\n\n\t\tcase \"toolcall_start\":\n\t\t\tpartial.content[proxyEvent.contentIndex] = {\n\t\t\t\ttype: \"toolCall\",\n\t\t\t\tid: proxyEvent.id,\n\t\t\t\tname: proxyEvent.toolName,\n\t\t\t\targuments: {},\n\t\t\t\tpartialJson: \"\",\n\t\t\t} satisfies ToolCall & { partialJson: string } as ToolCall;\n\t\t\treturn { type: \"toolcall_start\", contentIndex: proxyEvent.contentIndex, partial };\n\n\t\tcase \"toolcall_delta\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"toolCall\") {\n\t\t\t\t(content as any).partialJson += proxyEvent.delta;\n\t\t\t\tcontent.arguments = parseStreamingJson((content as any).partialJson) || {};\n\t\t\t\tpartial.content[proxyEvent.contentIndex] = { ...content }; // Trigger reactivity\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tdelta: proxyEvent.delta,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received toolcall_delta for non-toolCall content\");\n\t\t}\n\n\t\tcase \"toolcall_end\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"toolCall\") {\n\t\t\t\tdelete (content as any).partialJson;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\ttoolCall: content,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn undefined;\n\t\t}\n\n\t\tcase \"done\":\n\t\t\tpartial.stopReason = proxyEvent.reason;\n\t\t\tpartial.usage = proxyEvent.usage;\n\t\t\treturn { type: \"done\", reason: proxyEvent.reason, message: partial };\n\n\t\tcase \"error\":\n\t\t\tpartial.stopReason = proxyEvent.reason;\n\t\t\tpartial.errorMessage = proxyEvent.errorMessage;\n\t\t\tpartial.usage = proxyEvent.usage;\n\t\t\treturn { type: \"error\", reason: proxyEvent.reason, error: partial };\n\n\t\tdefault: {\n\t\t\tconst _exhaustiveCheck: never = proxyEvent;\n\t\t\tconsole.warn(`Unhandled proxy event type: ${(proxyEvent as any).type}`);\n\t\t\treturn undefined;\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Proxy stream function for apps that route LLM calls through a server.\n * The server manages auth and proxies requests to LLM providers.\n */\n\n// Internal import for JSON parsing utility\nimport {\n\ttype AssistantMessage,\n\ttype AssistantMessageEvent,\n\ttype Context,\n\tEventStream,\n\ttype Model,\n\tparseStreamingJson,\n\ttype SimpleStreamOptions,\n\ttype StopReason,\n\ttype ToolCall,\n} from \"@earendil-works/pi-ai\";\n\n// Create stream class matching ProxyMessageEventStream\nclass ProxyMessageEventStream extends EventStream<AssistantMessageEvent, AssistantMessage> {\n\tconstructor() {\n\t\tsuper(\n\t\t\t(event) => event.type === \"done\" || event.type === \"error\",\n\t\t\t(event) => {\n\t\t\t\tif (event.type === \"done\") return event.message;\n\t\t\t\tif (event.type === \"error\") return event.error;\n\t\t\t\tthrow new Error(\"Unexpected event type\");\n\t\t\t},\n\t\t);\n\t}\n}\n\n/**\n * Proxy event types - server sends these with partial field stripped to reduce bandwidth.\n */\nexport type ProxyAssistantMessageEvent =\n\t| { type: \"start\" }\n\t| { type: \"text_start\"; contentIndex: number }\n\t| { type: \"text_delta\"; contentIndex: number; delta: string }\n\t| { type: \"text_end\"; contentIndex: number; contentSignature?: string }\n\t| { type: \"thinking_start\"; contentIndex: number }\n\t| { type: \"thinking_delta\"; contentIndex: number; delta: string }\n\t| { type: \"thinking_end\"; contentIndex: number; contentSignature?: string }\n\t| { type: \"toolcall_start\"; contentIndex: number; id: string; toolName: string }\n\t| { type: \"toolcall_delta\"; contentIndex: number; delta: string }\n\t| { type: \"toolcall_end\"; contentIndex: number }\n\t| {\n\t\t\ttype: \"done\";\n\t\t\treason: Extract<StopReason, \"stop\" | \"length\" | \"toolUse\">;\n\t\t\tusage: AssistantMessage[\"usage\"];\n\t }\n\t| {\n\t\t\ttype: \"error\";\n\t\t\treason: Extract<StopReason, \"aborted\" | \"error\">;\n\t\t\terrorMessage?: string;\n\t\t\tusage: AssistantMessage[\"usage\"];\n\t };\n\ntype ProxySerializableStreamOptions = Pick<\n\tSimpleStreamOptions,\n\t| \"temperature\"\n\t| \"samplingParams\"\n\t| \"maxTokens\"\n\t| \"reasoning\"\n\t| \"cacheRetention\"\n\t| \"sessionId\"\n\t| \"headers\"\n\t| \"metadata\"\n\t| \"transport\"\n\t| \"thinkingBudgets\"\n\t| \"maxRetryDelayMs\"\n>;\n\nexport interface ProxyStreamOptions extends ProxySerializableStreamOptions {\n\t/** Local abort signal for the proxy request */\n\tsignal?: AbortSignal;\n\t/** Auth token for the proxy server */\n\tauthToken: string;\n\t/** Proxy server URL (e.g., \"https://genai.example.com\") */\n\tproxyUrl: string;\n}\n\n/**\n * Stream function that proxies through a server instead of calling LLM providers directly.\n * The server strips the partial field from delta events to reduce bandwidth.\n * We reconstruct the partial message client-side.\n *\n * Use this as the `streamFn` option when creating an Agent that needs to go through a proxy.\n *\n * @example\n * ```typescript\n * const agent = new Agent({\n * streamFn: (model, context, options) =>\n * streamProxy(model, context, {\n * ...options,\n * authToken: await getAuthToken(),\n * proxyUrl: \"https://genai.example.com\",\n * }),\n * });\n * ```\n */\nfunction buildProxyRequestOptions(options: ProxyStreamOptions): ProxySerializableStreamOptions {\n\treturn {\n\t\ttemperature: options.temperature,\n\t\tsamplingParams: options.samplingParams,\n\t\tmaxTokens: options.maxTokens,\n\t\treasoning: options.reasoning,\n\t\tcacheRetention: options.cacheRetention,\n\t\tsessionId: options.sessionId,\n\t\theaders: options.headers,\n\t\tmetadata: options.metadata,\n\t\ttransport: options.transport,\n\t\tthinkingBudgets: options.thinkingBudgets,\n\t\tmaxRetryDelayMs: options.maxRetryDelayMs,\n\t};\n}\n\nexport function streamProxy(model: Model<any>, context: Context, options: ProxyStreamOptions): ProxyMessageEventStream {\n\tconst stream = new ProxyMessageEventStream();\n\n\t(async () => {\n\t\t// Initialize the partial message that we'll build up from events\n\t\tconst partial: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tstopReason: \"pending\",\n\t\t\tcontent: [],\n\t\t\tapi: model.api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\tlet reader: ReadableStreamDefaultReader<Uint8Array> | undefined;\n\n\t\tconst abortHandler = () => {\n\t\t\tif (reader) {\n\t\t\t\treader.cancel(\"Request aborted by user\").catch(() => {});\n\t\t\t}\n\t\t};\n\n\t\tif (options.signal) {\n\t\t\toptions.signal.addEventListener(\"abort\", abortHandler);\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await fetch(`${options.proxyUrl}/api/stream`, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: `Bearer ${options.authToken}`,\n\t\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tmodel,\n\t\t\t\t\tcontext,\n\t\t\t\t\toptions: buildProxyRequestOptions(options),\n\t\t\t\t}),\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\tlet errorMessage = `Proxy error: ${response.status} ${response.statusText}`;\n\t\t\t\ttry {\n\t\t\t\t\tconst errorData = (await response.json()) as { error?: string };\n\t\t\t\t\tif (errorData.error) {\n\t\t\t\t\t\terrorMessage = `Proxy error: ${errorData.error}`;\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Couldn't parse error response\n\t\t\t\t}\n\t\t\t\tthrow new Error(errorMessage);\n\t\t\t}\n\n\t\t\treader = response.body!.getReader();\n\t\t\tconst decoder = new TextDecoder();\n\t\t\tlet buffer = \"\";\n\n\t\t\twhile (true) {\n\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\tif (done) break;\n\n\t\t\t\tif (options.signal?.aborted) {\n\t\t\t\t\tthrow new Error(\"Request aborted by user\");\n\t\t\t\t}\n\n\t\t\t\tbuffer += decoder.decode(value, { stream: true });\n\t\t\t\tconst lines = buffer.split(\"\\n\");\n\t\t\t\tbuffer = lines.pop() || \"\";\n\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tif (line.startsWith(\"data: \")) {\n\t\t\t\t\t\tconst data = line.slice(6).trim();\n\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\tconst proxyEvent = JSON.parse(data) as ProxyAssistantMessageEvent;\n\t\t\t\t\t\t\tconst event = processProxyEvent(proxyEvent, partial);\n\t\t\t\t\t\t\tif (event) {\n\t\t\t\t\t\t\t\tstream.push(event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request aborted by user\");\n\t\t\t}\n\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\tconst errorMessage = error instanceof Error ? error.message : String(error);\n\t\t\tconst reason = options.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\tpartial.stopReason = reason;\n\t\t\tpartial.errorMessage = errorMessage;\n\t\t\tstream.push({\n\t\t\t\ttype: \"error\",\n\t\t\t\treason,\n\t\t\t\terror: partial,\n\t\t\t});\n\t\t\tstream.end();\n\t\t} finally {\n\t\t\tif (options.signal) {\n\t\t\t\toptions.signal.removeEventListener(\"abort\", abortHandler);\n\t\t\t}\n\t\t}\n\t})();\n\n\treturn stream;\n}\n\n/**\n * Process a proxy event and update the partial message.\n */\nfunction processProxyEvent(\n\tproxyEvent: ProxyAssistantMessageEvent,\n\tpartial: AssistantMessage,\n): AssistantMessageEvent | undefined {\n\tswitch (proxyEvent.type) {\n\t\tcase \"start\":\n\t\t\treturn { type: \"start\", partial };\n\n\t\tcase \"text_start\":\n\t\t\tpartial.content[proxyEvent.contentIndex] = { type: \"text\", text: \"\" };\n\t\t\treturn { type: \"text_start\", contentIndex: proxyEvent.contentIndex, partial };\n\n\t\tcase \"text_delta\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"text\") {\n\t\t\t\tcontent.text += proxyEvent.delta;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tdelta: proxyEvent.delta,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received text_delta for non-text content\");\n\t\t}\n\n\t\tcase \"text_end\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"text\") {\n\t\t\t\tcontent.textSignature = proxyEvent.contentSignature;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tcontent: content.text,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received text_end for non-text content\");\n\t\t}\n\n\t\tcase \"thinking_start\":\n\t\t\tpartial.content[proxyEvent.contentIndex] = { type: \"thinking\", thinking: \"\" };\n\t\t\treturn { type: \"thinking_start\", contentIndex: proxyEvent.contentIndex, partial };\n\n\t\tcase \"thinking_delta\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"thinking\") {\n\t\t\t\tcontent.thinking += proxyEvent.delta;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tdelta: proxyEvent.delta,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received thinking_delta for non-thinking content\");\n\t\t}\n\n\t\tcase \"thinking_end\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"thinking\") {\n\t\t\t\tcontent.thinkingSignature = proxyEvent.contentSignature;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tcontent: content.thinking,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received thinking_end for non-thinking content\");\n\t\t}\n\n\t\tcase \"toolcall_start\":\n\t\t\tpartial.content[proxyEvent.contentIndex] = {\n\t\t\t\ttype: \"toolCall\",\n\t\t\t\tid: proxyEvent.id,\n\t\t\t\tname: proxyEvent.toolName,\n\t\t\t\targuments: {},\n\t\t\t\tpartialJson: \"\",\n\t\t\t} satisfies ToolCall & { partialJson: string } as ToolCall;\n\t\t\treturn { type: \"toolcall_start\", contentIndex: proxyEvent.contentIndex, partial };\n\n\t\tcase \"toolcall_delta\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"toolCall\") {\n\t\t\t\t(content as any).partialJson += proxyEvent.delta;\n\t\t\t\tcontent.arguments = parseStreamingJson((content as any).partialJson) || {};\n\t\t\t\tpartial.content[proxyEvent.contentIndex] = { ...content }; // Trigger reactivity\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\tdelta: proxyEvent.delta,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(\"Received toolcall_delta for non-toolCall content\");\n\t\t}\n\n\t\tcase \"toolcall_end\": {\n\t\t\tconst content = partial.content[proxyEvent.contentIndex];\n\t\t\tif (content?.type === \"toolCall\") {\n\t\t\t\tdelete (content as any).partialJson;\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\t\tcontentIndex: proxyEvent.contentIndex,\n\t\t\t\t\ttoolCall: content,\n\t\t\t\t\tpartial,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn undefined;\n\t\t}\n\n\t\tcase \"done\":\n\t\t\tpartial.stopReason = proxyEvent.reason;\n\t\t\tpartial.usage = proxyEvent.usage;\n\t\t\treturn { type: \"done\", reason: proxyEvent.reason, message: partial };\n\n\t\tcase \"error\":\n\t\t\tpartial.stopReason = proxyEvent.reason;\n\t\t\tpartial.errorMessage = proxyEvent.errorMessage;\n\t\t\tpartial.usage = proxyEvent.usage;\n\t\t\treturn { type: \"error\", reason: proxyEvent.reason, error: partial };\n\n\t\tdefault: {\n\t\t\tconst _exhaustiveCheck: never = proxyEvent;\n\t\t\tconsole.warn(`Unhandled proxy event type: ${(proxyEvent as any).type}`);\n\t\t\treturn undefined;\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-agent-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.84.0",
|
|
4
4
|
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
"types": "./dist/node.d.ts",
|
|
15
15
|
"import": "./dist/node.js"
|
|
16
16
|
},
|
|
17
|
+
"./session/testing": {
|
|
18
|
+
"types": "./dist/harness/session/testing/index.d.ts",
|
|
19
|
+
"import": "./dist/harness/session/testing/index.js"
|
|
20
|
+
},
|
|
17
21
|
"./package.json": "./package.json"
|
|
18
22
|
},
|
|
19
23
|
"files": [
|
|
@@ -22,6 +26,8 @@
|
|
|
22
26
|
],
|
|
23
27
|
"scripts": {
|
|
24
28
|
"clean": "shx rm -rf dist",
|
|
29
|
+
"generate-telemetry-docs": "node scripts/generate-telemetry-docs.ts",
|
|
30
|
+
"check:telemetry-docs": "node scripts/generate-telemetry-docs.ts --check",
|
|
25
31
|
"build": "tsgo -p tsconfig.build.json",
|
|
26
32
|
"test": "vitest --run",
|
|
27
33
|
"test:harness": "vitest --run --config vitest.harness.config.ts",
|
|
@@ -29,7 +35,8 @@
|
|
|
29
35
|
"prepublishOnly": "npm run build"
|
|
30
36
|
},
|
|
31
37
|
"dependencies": {
|
|
32
|
-
"@earendil-works/pi-ai": "^0.
|
|
38
|
+
"@earendil-works/pi-ai": "^0.84.0",
|
|
39
|
+
"@earendil-works/pi-telemetry": "^0.84.0",
|
|
33
40
|
"diff": "8.0.4",
|
|
34
41
|
"ignore": "7.0.5",
|
|
35
42
|
"typebox": "1.3.7",
|
|
@@ -76,6 +76,7 @@ Unified LLM API with provider collections, automatic auth resolution, token and
|
|
|
76
76
|
- **ZAI Coding Plan (Global)** (with separate China provider)
|
|
77
77
|
- **MiniMax** (with separate China provider)
|
|
78
78
|
- **Together AI**
|
|
79
|
+
- **Baseten**
|
|
79
80
|
- **Hugging Face**
|
|
80
81
|
- **Moonshot AI** (with separate China provider)
|
|
81
82
|
- **GitHub Copilot** (requires OAuth, see below)
|
|
@@ -312,8 +313,8 @@ Providers may have dynamic model lists (a llama.cpp server, a live OpenRouter li
|
|
|
312
313
|
|
|
313
314
|
```typescript
|
|
314
315
|
// getModels() returns the last-known list (empty before the first refresh)
|
|
315
|
-
await models.refresh('llamacpp');
|
|
316
|
-
await models.refresh();
|
|
316
|
+
await models.refresh({ providers: ['llamacpp'] }); // refresh one provider
|
|
317
|
+
await models.refresh(); // refresh all providers concurrently, best-effort
|
|
317
318
|
const fresh = models.getModel('llamacpp', 'qwen3-30b');
|
|
318
319
|
```
|
|
319
320
|
|
|
@@ -351,6 +352,8 @@ if (modelAuth) {
|
|
|
351
352
|
|
|
352
353
|
Both overloads resolve credentials, refresh expired OAuth when necessary, and may return an auth-derived `apiKey`, `headers`, or `baseUrl`. `getAuth()` resolves `undefined` for unconfigured providers and rejects with `ModelsError` when something is actually broken (`"oauth"`: token refresh failed, credential preserved for re-login; `"auth"`: key resolution or credential store failure). Request paths surface the same failures as stream errors.
|
|
353
354
|
|
|
355
|
+
`getAuth()`, `checkAuth()`, `getAvailable()`, login, and logout accept optional caller cancellation through their existing options or interaction objects and remain unbounded when no signal is supplied. Provider `login`, `ApiKeyAuth.check`, `ApiKeyAuth.resolve`, and `OAuthAuth.refresh` implementations always receive a concrete signal and must honor it for blocking work.
|
|
356
|
+
|
|
354
357
|
### Transforming Request Headers
|
|
355
358
|
|
|
356
359
|
`Models.stream()`, `complete()`, `streamSimple()`, and `completeSimple()` accept a Models-only `transformHeaders` option. It runs once after provider auth, `model.headers`, and explicit `options.headers` have been merged, but before provider dispatch:
|
|
@@ -387,7 +390,7 @@ const models = createModels({ credentials: myFileBackedStore });
|
|
|
387
390
|
// const models = builtinModels({ credentials: myFileBackedStore });
|
|
388
391
|
```
|
|
389
392
|
|
|
390
|
-
The contract is small: `read(providerId)`, `list()` for non-secret `{ providerId, type }` metadata, `modify(providerId, fn)` (the only write path — a serialized read-modify-write), and `delete(providerId)`. Enumeration must not resolve secrets or execute configured key commands. OAuth token refresh runs inside `modify`, so concurrent requests and processes cannot double-refresh a rotated token. A stored credential *owns* its provider: environment variables are only consulted when nothing is stored, and a failed refresh never silently falls back to an env key.
|
|
393
|
+
The contract is small: `read(providerId)`, `list()` for non-secret `{ providerId, type }` metadata, `modify(providerId, fn)` (the only write path — a serialized read-modify-write), and `delete(providerId)`. Each operation accepts optional cancellation options. Enumeration must not resolve secrets or execute configured key commands. OAuth token refresh runs inside `modify`, so concurrent requests and processes cannot double-refresh a rotated token. A stored credential *owns* its provider: environment variables are only consulted when nothing is stored, and a failed refresh never silently falls back to an env key.
|
|
391
394
|
|
|
392
395
|
API-key credentials use the same discriminator as pi's `auth.json` and can carry provider-scoped env/config values:
|
|
393
396
|
|
|
@@ -424,6 +427,7 @@ Built-in providers resolve these env vars (Node.js; in browsers pass `apiKey` ex
|
|
|
424
427
|
| xAI | `XAI_API_KEY` |
|
|
425
428
|
| Fireworks | `FIREWORKS_API_KEY` |
|
|
426
429
|
| Together AI | `TOGETHER_API_KEY` |
|
|
430
|
+
| Baseten | `BASETEN_API_KEY` |
|
|
427
431
|
| OpenRouter | `OPENROUTER_API_KEY` |
|
|
428
432
|
| Vercel AI Gateway | `AI_GATEWAY_API_KEY` |
|
|
429
433
|
| ZAI Coding Plan (Global) | `ZAI_API_KEY` |
|
|
@@ -1066,7 +1070,7 @@ const tenantGateway = createProvider({
|
|
|
1066
1070
|
});
|
|
1067
1071
|
```
|
|
1068
1072
|
|
|
1069
|
-
Dynamic model lists use `fetchModels`. `Models.refresh()` refreshes every configured dynamic provider, passing its effective API-key or refreshed OAuth credential. A `ModelsStore` persists dynamic catalogs; both stores default to in-memory implementations.
|
|
1073
|
+
Dynamic model lists use `fetchModels`. `Models.refresh()` refreshes every configured dynamic provider, passing its effective API-key or refreshed OAuth credential. A `ModelsStore` persists dynamic catalogs; both stores default to in-memory implementations. Its `read`, `write`, and `delete` operations accept optional cancellation, and `Models` binds those waits to the provider refresh signal.
|
|
1070
1074
|
|
|
1071
1075
|
```typescript
|
|
1072
1076
|
const models = createModels({ credentials, modelsStore });
|
|
@@ -1084,7 +1088,11 @@ if (result.aborted) console.log('refresh cancelled');
|
|
|
1084
1088
|
for (const [provider, error] of result.errors) console.error(provider, error);
|
|
1085
1089
|
```
|
|
1086
1090
|
|
|
1087
|
-
|
|
1091
|
+
`Models.refresh()` is unbounded when its optional signal is omitted. Providers always receive a concrete `RefreshModelsContext.signal` and must honor it for network requests and other blocking work. When a caller supplies a signal, `Models.refresh()` returns promptly with `aborted: true` after cancellation even if a custom provider fails to cooperate; the provider must still honor the signal to stop its underlying work.
|
|
1092
|
+
|
|
1093
|
+
Use `models.refresh({ providers: ['openrouter'] })` to restrict work to selected providers, `models.refresh({ allowNetwork: false })` to restore persisted catalogs without network access, or `models.refresh({ force: true })` to bypass provider freshness checks. Model reads stay synchronous and return the last restored or refreshed list.
|
|
1094
|
+
|
|
1095
|
+
`createProvider()` handles dynamic publication and persistence automatically. Handwritten `Provider.refreshModels()` implementations receive the read-only `context.stored` snapshot and publish through `context.publish({ persist?, update? })`. Omit `persist` to leave storage unchanged, pass a `ModelsStoreEntry` to write it, or pass `persist: null` to delete it. Publication is generation-checked; put synchronous in-memory catalog changes in `update` rather than mutating state before publication.
|
|
1088
1096
|
|
|
1089
1097
|
Custom models can carry `headers` (e.g. proxies behind bot detection) and `compat` flags. `Models.getAuth(model)` includes those model headers, and stream methods merge them before explicit request headers and `transformHeaders`. See [OpenAI Compatibility Settings](#openai-compatibility-settings).
|
|
1090
1098
|
|
|
@@ -1167,8 +1175,9 @@ interface OpenAICompletionsCompat {
|
|
|
1167
1175
|
requiresAssistantAfterToolResult?: boolean; // Whether tool results must be followed by an assistant message (default: false)
|
|
1168
1176
|
requiresThinkingAsText?: boolean; // Whether thinking blocks must be converted to text (default: false)
|
|
1169
1177
|
requiresReasoningContentOnAssistantMessages?: boolean; // Whether all replayed assistant messages must include empty reasoning_content when reasoning is enabled (default: auto-detected for DeepSeek)
|
|
1170
|
-
thinkingFormat?: 'openai' | 'openrouter' | 'deepseek' | 'together' | 'zai' | 'qwen' | 'chat-template' | 'qwen-chat-template' | 'string-thinking' | 'ant-ling'; // Format for reasoning param: 'openai' uses reasoning_effort, 'openrouter' uses reasoning: { effort }, 'deepseek' uses thinking: { type } plus reasoning_effort when supported, 'together' uses reasoning: { enabled } plus reasoning_effort when supported, 'zai' uses thinking: { type }, 'qwen' uses enable_thinking, 'chat-template' uses configurable chat_template_kwargs, 'qwen-chat-template' uses chat_template_kwargs.enable_thinking and preserve_thinking, 'string-thinking' uses top-level thinking, 'ant-ling' uses reasoning: { effort } only for mapped efforts (default: openai)
|
|
1178
|
+
thinkingFormat?: 'openai' | 'openrouter' | 'deepseek' | 'together' | 'baseten' | 'zai' | 'qwen' | 'chat-template' | 'qwen-chat-template' | 'string-thinking' | 'ant-ling'; // Format for reasoning param: 'openai' uses reasoning_effort, 'openrouter' uses reasoning: { effort }, 'deepseek' uses thinking: { type } plus reasoning_effort when supported, 'together' uses reasoning: { enabled } plus reasoning_effort when supported, 'baseten' uses configurable chat_template_args plus reasoning_effort when supported, 'zai' uses thinking: { type }, 'qwen' uses enable_thinking, 'chat-template' uses configurable chat_template_kwargs, 'qwen-chat-template' uses chat_template_kwargs.enable_thinking and preserve_thinking, 'string-thinking' uses top-level thinking, 'ant-ling' uses reasoning: { effort } only for mapped efforts (default: openai)
|
|
1171
1179
|
chatTemplateKwargs?: Record<string, string | number | boolean | null | { '$var': 'thinking.enabled' | 'thinking.effort'; omitWhenOff?: boolean }>; // chat_template_kwargs values; use $var for pi-controlled thinking values
|
|
1180
|
+
chatTemplateArgs?: Record<string, string | number | boolean | null | { '$var': 'thinking.enabled' | 'thinking.effort'; omitWhenOff?: boolean }>; // chat_template_args values for thinkingFormat: 'baseten'; use $var for pi-controlled thinking values
|
|
1172
1181
|
cacheControlFormat?: 'anthropic'; // Anthropic-style cache_control on system prompt, last tool, and last user/assistant text content
|
|
1173
1182
|
openRouterRouting?: OpenRouterRouting; // OpenRouter routing preferences (default: {})
|
|
1174
1183
|
vercelGatewayRouting?: VercelGatewayRouting; // Vercel AI Gateway routing preferences (default: {})
|
|
@@ -1462,7 +1471,7 @@ Several providers support OAuth authentication instead of static API keys:
|
|
|
1462
1471
|
- **GitHub Copilot** (Copilot subscription)
|
|
1463
1472
|
- **OpenRouter** (OAuth PKCE that mints a user-controlled API key)
|
|
1464
1473
|
|
|
1465
|
-
Each of these providers carries an `OAuthAuth` on `provider.auth.oauth` with three operations: `login(interaction)` uses the provider-neutral `AuthInteraction.prompt()`/`notify()` protocol and returns a credential, `refresh(credential)` refreshes expiring credentials when applicable, and `toAuth(credential)` derives request auth (GitHub Copilot's per-account base URL comes from here). Refresh is automatic: `models.getAuth(providerId)` and request paths refresh expired tokens under a credential-store lock, so concurrent requests and processes cannot double-refresh. OpenRouter's OAuth flow instead returns a permanent API key, so its refresh operation is a no-op.
|
|
1474
|
+
Each of these providers carries an `OAuthAuth` on `provider.auth.oauth` with three operations: `login(interaction)` uses the provider-neutral `AuthInteraction.prompt()`/`notify()` protocol and returns a credential, `refresh(credential, signal)` refreshes expiring credentials when applicable, and `toAuth(credential)` derives request auth (GitHub Copilot's per-account base URL comes from here). Provider login interactions and refresh calls always carry a concrete abort signal. Refresh is automatic: `models.getAuth(providerId)` and request paths refresh expired tokens under a credential-store lock, so concurrent requests and processes cannot double-refresh. OpenRouter's OAuth flow instead returns a permanent API key, so its refresh operation is a no-op.
|
|
1466
1475
|
|
|
1467
1476
|
```typescript
|
|
1468
1477
|
import { createModels } from '@earendil-works/pi-ai';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-messages.d.ts","sourceRoot":"","sources":["../../src/api/anthropic-messages.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAU1C,OAAO,KAAK,EAWX,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAMb,MAAM,aAAa,CAAC;AAuIrB,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,SAAS,CAAC;AAkChE,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACtD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACnB;AAiOD,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CA+RzE,CAAC;AA2BF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CAwClF,CAAC","sourcesContent":["import Anthropic from \"@anthropic-ai/sdk\";\nimport type {\n\tCacheControlEphemeral,\n\tContentBlockParam,\n\tMessageCreateParamsStreaming,\n\tMessageParam,\n\tRawMessageStreamEvent,\n\tRefusalStopDetails,\n} from \"@anthropic-ai/sdk/resources/messages.js\";\nimport { calculateCost } from \"../models.ts\";\nimport type {\n\tAnthropicMessagesCompat,\n\tApi,\n\tAssistantMessage,\n\tCacheRetention,\n\tContext,\n\tImageContent,\n\tMessage,\n\tModel,\n\tProviderEnv,\n\tProviderHeaders,\n\tSimpleStreamOptions,\n\tStopReason,\n\tStreamFunction,\n\tStreamOptions,\n\tTextContent,\n\tThinkingContent,\n\tTool,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.ts\";\nimport { splitDeferredTools } from \"../utils/deferred-tools.ts\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.ts\";\nimport { headersToRecord } from \"../utils/headers.ts\";\nimport { parseJsonWithRepair, parseStreamingJson } from \"../utils/json-parse.ts\";\nimport { getProviderEnvValue } from \"../utils/provider-env.ts\";\nimport { retryProviderRequest } from \"../utils/provider-retry.ts\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.ts\";\n\nimport { resolveJsonSchemaStrictSampling } from \"./constrained-sampling.ts\";\nimport { buildCopilotDynamicHeaders, hasCopilotVisionInput } from \"./github-copilot-headers.ts\";\nimport { adjustMaxTokensForThinking, buildBaseOptions, clampMaxTokensToContext } from \"./simple-options.ts\";\nimport { transformMessages } from \"./transform-messages.ts\";\n\n/**\n * Resolve cache retention preference.\n * Defaults to \"short\" and uses PI_CACHE_RETENTION for backward compatibility.\n */\nfunction resolveCacheRetention(cacheRetention?: CacheRetention, env?: ProviderEnv): CacheRetention {\n\tif (cacheRetention) {\n\t\treturn cacheRetention;\n\t}\n\tif (getProviderEnvValue(\"PI_CACHE_RETENTION\", env) === \"long\") {\n\t\treturn \"long\";\n\t}\n\treturn \"short\";\n}\n\nfunction getCacheControl(\n\tmodel: Model<\"anthropic-messages\">,\n\tcacheRetention?: CacheRetention,\n\tenv?: ProviderEnv,\n): { retention: CacheRetention; cacheControl?: CacheControlEphemeral } {\n\tconst retention = resolveCacheRetention(cacheRetention, env);\n\tif (retention === \"none\") {\n\t\treturn { retention };\n\t}\n\tconst ttl = retention === \"long\" && getAnthropicCompat(model).supportsLongCacheRetention ? \"1h\" : undefined;\n\treturn {\n\t\tretention,\n\t\tcacheControl: { type: \"ephemeral\", ...(ttl && { ttl }) },\n\t};\n}\n\n// Stealth mode: Mimic Claude Code's tool naming exactly\nconst claudeCodeVersion = \"2.1.75\";\n\n// Claude Code 2.x tool names (canonical casing)\n// Source: https://cchistory.mariozechner.at/data/prompts-2.1.11.md\n// To update: https://github.com/badlogic/cchistory\nconst claudeCodeTools = [\n\t\"Read\",\n\t\"Write\",\n\t\"Edit\",\n\t\"Bash\",\n\t\"Grep\",\n\t\"Glob\",\n\t\"AskUserQuestion\",\n\t\"EnterPlanMode\",\n\t\"ExitPlanMode\",\n\t\"KillShell\",\n\t\"NotebookEdit\",\n\t\"Skill\",\n\t\"Task\",\n\t\"TaskOutput\",\n\t\"TodoWrite\",\n\t\"WebFetch\",\n\t\"WebSearch\",\n];\n\nconst ccToolLookup = new Map(claudeCodeTools.map((t) => [t.toLowerCase(), t]));\n\n// Convert tool name to CC canonical casing if it matches (case-insensitive)\nconst toClaudeCodeName = (name: string) => ccToolLookup.get(name.toLowerCase()) ?? name;\nconst fromClaudeCodeName = (name: string, tools?: Tool[]) => {\n\tif (tools && tools.length > 0) {\n\t\tconst lowerName = name.toLowerCase();\n\t\tconst matchedTool = tools.find((tool) => tool.name.toLowerCase() === lowerName);\n\t\tif (matchedTool) return matchedTool.name;\n\t}\n\treturn name;\n};\n\n/**\n * Convert content blocks to Anthropic API format\n */\nfunction convertContentBlocks(content: (TextContent | ImageContent)[]):\n\t| string\n\t| Array<\n\t\t\t| { type: \"text\"; text: string }\n\t\t\t| {\n\t\t\t\t\ttype: \"image\";\n\t\t\t\t\tsource: {\n\t\t\t\t\t\ttype: \"base64\";\n\t\t\t\t\t\tmedia_type: \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\";\n\t\t\t\t\t\tdata: string;\n\t\t\t\t\t};\n\t\t\t }\n\t > {\n\t// If only text blocks, return as concatenated string for simplicity\n\tconst hasImages = content.some((c) => c.type === \"image\");\n\tif (!hasImages) {\n\t\treturn sanitizeSurrogates(content.map((c) => (c as TextContent).text).join(\"\\n\"));\n\t}\n\n\t// If we have images, convert to content block array\n\tconst blocks = content.map((block) => {\n\t\tif (block.type === \"text\") {\n\t\t\treturn {\n\t\t\t\ttype: \"text\" as const,\n\t\t\t\ttext: sanitizeSurrogates(block.text),\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"image\" as const,\n\t\t\tsource: {\n\t\t\t\ttype: \"base64\" as const,\n\t\t\t\tmedia_type: block.mimeType as \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\",\n\t\t\t\tdata: block.data,\n\t\t\t},\n\t\t};\n\t});\n\n\t// If only images (no text), add placeholder text block\n\tconst hasText = blocks.some((b) => b.type === \"text\");\n\tif (!hasText) {\n\t\tblocks.unshift({\n\t\t\ttype: \"text\" as const,\n\t\t\ttext: \"(see attached image)\",\n\t\t});\n\t}\n\n\treturn blocks;\n}\n\nexport type AnthropicEffort = \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"max\";\n\nexport type AnthropicThinkingDisplay = \"summarized\" | \"omitted\";\n\nconst FINE_GRAINED_TOOL_STREAMING_BETA = \"fine-grained-tool-streaming-2025-05-14\";\nconst INTERLEAVED_THINKING_BETA = \"interleaved-thinking-2025-05-14\";\n\nfunction getAnthropicCompat(\n\tmodel: Model<\"anthropic-messages\">,\n): Required<Omit<AnthropicMessagesCompat, \"forceAdaptiveThinking\">> {\n\treturn {\n\t\tsupportsEagerToolInputStreaming: model.compat?.supportsEagerToolInputStreaming ?? true,\n\t\tsupportsLongCacheRetention: model.compat?.supportsLongCacheRetention ?? true,\n\t\tsendSessionAffinityHeaders: model.compat?.sendSessionAffinityHeaders ?? false,\n\t\tsupportsCacheControlOnTools: model.compat?.supportsCacheControlOnTools ?? true,\n\t\tsupportsTemperature: model.compat?.supportsTemperature ?? true,\n\t\tallowEmptySignature: model.compat?.allowEmptySignature ?? false,\n\t\tsupportsStrictTools: model.compat?.supportsStrictTools ?? false,\n\t\tsupportsToolReferences: model.compat?.supportsToolReferences ?? defaultSupportsToolReferences(model),\n\t};\n}\n\n/**\n * Default for `supportsToolReferences`: first-party Anthropic models except\n * Haiku (rejects client-side tool_reference blocks) and models that predate\n * tool search (Claude 3.x, Opus/Sonnet 4.0, Opus 4.1).\n */\nfunction defaultSupportsToolReferences(model: Model<\"anthropic-messages\">): boolean {\n\tif (model.provider !== \"anthropic\" || model.id.includes(\"haiku\")) return false;\n\tconst version = model.id.match(/^claude-(?:opus|sonnet|fable)-(\\d+)(?:-(\\d+))?(?:-|$)/);\n\tif (!version) return false;\n\tconst major = Number(version[1]);\n\tconst minor = version[2] && version[2].length < 8 ? Number(version[2]) : 0;\n\treturn major > 4 || (major === 4 && minor >= 5);\n}\n\nexport interface AnthropicOptions extends StreamOptions {\n\t/**\n\t * Enable extended thinking.\n\t * For adaptive thinking models: the model decides when/how much to think.\n\t * For older models: uses budget-based thinking with thinkingBudgetTokens.\n\t * Default: undefined (thinking is omitted unless `streamSimple()` maps\n\t * a simple reasoning level to this option, or callers set it explicitly).\n\t */\n\tthinkingEnabled?: boolean;\n\t/**\n\t * Token budget for extended thinking (older models only).\n\t * Ignored for adaptive thinking models.\n\t * Default: 1024 when `thinkingEnabled` is true and no budget is provided.\n\t */\n\tthinkingBudgetTokens?: number;\n\t/**\n\t * Effort level for adaptive thinking models.\n\t * Controls how much thinking Claude allocates:\n\t * - \"max\": Always thinks with no constraints (Opus 4.6 only)\n\t * - \"xhigh\": Highest reasoning level (Opus 4.7+, Fable 5)\n\t * - \"high\": Always thinks, deep reasoning\n\t * - \"medium\": Moderate thinking, may skip for simple queries\n\t * - \"low\": Minimal thinking, skips for simple tasks\n\t * Ignored for older models.\n\t * Default: omitted unless `streamSimple()` maps a simple reasoning\n\t * level to this option.\n\t */\n\teffort?: AnthropicEffort;\n\t/**\n\t * Controls how thinking content is returned in API responses.\n\t * - \"summarized\": Thinking blocks contain summarized thinking text.\n\t * - \"omitted\": Thinking blocks return an empty thinking field; the encrypted\n\t * signature still travels back for multi-turn continuity. Use for faster\n\t * time-to-first-text-token when your UI does not surface thinking.\n\t *\n\t * Note: Anthropic's API default for Claude Opus 4.7 and Claude Mythos Preview\n\t * is \"omitted\". We default to \"summarized\" here to keep behavior consistent\n\t * with older Claude 4 models. Set this explicitly to \"omitted\" to opt in.\n\t * Default: \"summarized\" when thinking is enabled.\n\t */\n\tthinkingDisplay?: AnthropicThinkingDisplay;\n\t/**\n\t * Whether to request the interleaved thinking beta header for non-adaptive\n\t * thinking models. Adaptive thinking models have interleaved thinking built in,\n\t * so the header is skipped for them regardless of this setting.\n\t * Default: true.\n\t */\n\tinterleavedThinking?: boolean;\n\t/**\n\t * Anthropic tool choice behavior. String values map to Anthropic's built-in\n\t * choices; `{ type: \"tool\", name }` forces a specific tool.\n\t * Default: omitted (Anthropic default behavior, currently equivalent to auto).\n\t */\n\ttoolChoice?: \"auto\" | \"any\" | \"none\" | { type: \"tool\"; name: string };\n\t/**\n\t * Pre-built Anthropic client instance. When provided, skips internal client\n\t * construction entirely. Use this to inject alternative SDK clients such as\n\t * `AnthropicVertex` that shares the same messaging API.\n\t */\n\tclient?: Anthropic;\n}\n\nfunction mergeHeaders(...headerSources: (ProviderHeaders | undefined)[]): ProviderHeaders {\n\tconst merged: ProviderHeaders = {};\n\tfor (const headers of headerSources) {\n\t\tif (headers) {\n\t\t\tObject.assign(merged, headers);\n\t\t}\n\t}\n\treturn merged;\n}\n\nfunction hasHeader(headers: ProviderHeaders | undefined, name: string): boolean {\n\tif (!headers) return false;\n\tconst expected = name.toLowerCase();\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tif (key.toLowerCase() === expected && value !== null && value.trim().length > 0) return true;\n\t}\n\treturn false;\n}\n\nfunction assertRequestAuth(provider: string, apiKey: string | undefined, headers: ProviderHeaders | undefined): void {\n\tif (apiKey) return;\n\tif (\n\t\thasHeader(headers, \"authorization\") ||\n\t\thasHeader(headers, \"x-api-key\") ||\n\t\thasHeader(headers, \"cf-aig-authorization\")\n\t) {\n\t\treturn;\n\t}\n\tthrow new Error(`No API key for provider: ${provider}`);\n}\n\ninterface ServerSentEvent {\n\tevent: string | null;\n\tdata: string;\n\traw: string[];\n}\n\ninterface SseDecoderState {\n\tevent: string | null;\n\tdata: string[];\n\traw: string[];\n}\n\nconst ANTHROPIC_MESSAGE_EVENTS: ReadonlySet<string> = new Set([\n\t\"message_start\",\n\t\"message_delta\",\n\t\"message_stop\",\n\t\"content_block_start\",\n\t\"content_block_delta\",\n\t\"content_block_stop\",\n]);\n\nfunction flushSseEvent(state: SseDecoderState): ServerSentEvent | null {\n\tif (!state.event && state.data.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst event: ServerSentEvent = {\n\t\tevent: state.event,\n\t\tdata: state.data.join(\"\\n\"),\n\t\traw: [...state.raw],\n\t};\n\tstate.event = null;\n\tstate.data = [];\n\tstate.raw = [];\n\treturn event;\n}\n\nfunction decodeSseLine(line: string, state: SseDecoderState): ServerSentEvent | null {\n\tif (line === \"\") {\n\t\treturn flushSseEvent(state);\n\t}\n\n\tstate.raw.push(line);\n\tif (line.startsWith(\":\")) {\n\t\treturn null;\n\t}\n\n\tconst delimiterIndex = line.indexOf(\":\");\n\tconst fieldName = delimiterIndex === -1 ? line : line.slice(0, delimiterIndex);\n\tlet value = delimiterIndex === -1 ? \"\" : line.slice(delimiterIndex + 1);\n\tif (value.startsWith(\" \")) {\n\t\tvalue = value.slice(1);\n\t}\n\n\tif (fieldName === \"event\") {\n\t\tstate.event = value;\n\t} else if (fieldName === \"data\") {\n\t\tstate.data.push(value);\n\t}\n\n\treturn null;\n}\n\nfunction nextLineBreakIndex(text: string): number {\n\tconst carriageReturnIndex = text.indexOf(\"\\r\");\n\tconst newlineIndex = text.indexOf(\"\\n\");\n\tif (carriageReturnIndex === -1) {\n\t\treturn newlineIndex;\n\t}\n\tif (newlineIndex === -1) {\n\t\treturn carriageReturnIndex;\n\t}\n\treturn Math.min(carriageReturnIndex, newlineIndex);\n}\n\nfunction consumeLine(text: string): { line: string; rest: string } | null {\n\tconst lineBreakIndex = nextLineBreakIndex(text);\n\tif (lineBreakIndex === -1) {\n\t\treturn null;\n\t}\n\n\tlet nextIndex = lineBreakIndex + 1;\n\tif (text[lineBreakIndex] === \"\\r\" && text[nextIndex] === \"\\n\") {\n\t\tnextIndex += 1;\n\t}\n\n\treturn {\n\t\tline: text.slice(0, lineBreakIndex),\n\t\trest: text.slice(nextIndex),\n\t};\n}\n\nasync function* iterateSseMessages(\n\tbody: ReadableStream<Uint8Array>,\n\tsignal?: AbortSignal,\n): AsyncGenerator<ServerSentEvent> {\n\tconst reader = body.getReader();\n\tconst decoder = new TextDecoder();\n\tconst state: SseDecoderState = { event: null, data: [], raw: [] };\n\tlet buffer = \"\";\n\n\ttry {\n\t\twhile (true) {\n\t\t\tif (signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tconst { value, done } = await reader.read();\n\t\t\tif (done) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tbuffer += decoder.decode(value, { stream: true });\n\t\t\tlet consumed = consumeLine(buffer);\n\t\t\twhile (consumed) {\n\t\t\t\tbuffer = consumed.rest;\n\t\t\t\tconst event = decodeSseLine(consumed.line, state);\n\t\t\t\tif (event) {\n\t\t\t\t\tyield event;\n\t\t\t\t}\n\t\t\t\tconsumed = consumeLine(buffer);\n\t\t\t}\n\t\t}\n\n\t\tbuffer += decoder.decode();\n\t\tlet consumed = consumeLine(buffer);\n\t\twhile (consumed) {\n\t\t\tbuffer = consumed.rest;\n\t\t\tconst event = decodeSseLine(consumed.line, state);\n\t\t\tif (event) {\n\t\t\t\tyield event;\n\t\t\t}\n\t\t\tconsumed = consumeLine(buffer);\n\t\t}\n\n\t\tif (buffer.length > 0) {\n\t\t\tconst event = decodeSseLine(buffer, state);\n\t\t\tif (event) {\n\t\t\t\tyield event;\n\t\t\t}\n\t\t}\n\n\t\tconst trailingEvent = flushSseEvent(state);\n\t\tif (trailingEvent) {\n\t\t\tyield trailingEvent;\n\t\t}\n\t} finally {\n\t\treader.releaseLock();\n\t}\n}\n\nasync function* iterateAnthropicEvents(\n\tresponse: Response,\n\tsignal?: AbortSignal,\n): AsyncGenerator<RawMessageStreamEvent> {\n\tif (!response.body) {\n\t\tthrow new Error(\"Attempted to iterate over an Anthropic response with no body\");\n\t}\n\n\tlet sawMessageStart = false;\n\tlet sawMessageEnd = false;\n\n\tfor await (const sse of iterateSseMessages(response.body, signal)) {\n\t\tif (sse.event === \"error\") {\n\t\t\tthrow new Error(sse.data);\n\t\t}\n\n\t\tif (!ANTHROPIC_MESSAGE_EVENTS.has(sse.event ?? \"\")) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tconst event = parseJsonWithRepair<RawMessageStreamEvent>(sse.data);\n\t\t\tif (event.type === \"message_start\") {\n\t\t\t\tsawMessageStart = true;\n\t\t\t} else if (event.type === \"message_stop\") {\n\t\t\t\tsawMessageEnd = true;\n\t\t\t}\n\t\t\tyield event;\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tthrow new Error(\n\t\t\t\t`Could not parse Anthropic SSE event ${sse.event}: ${message}; data=${sse.data}; raw=${sse.raw.join(\"\\\\n\")}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tif (sawMessageStart && !sawMessageEnd) {\n\t\tthrow new Error(\"Anthropic stream ended before message_stop\");\n\t}\n}\n\nexport const stream: StreamFunction<\"anthropic-messages\", AnthropicOptions> = (\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\toptions?: AnthropicOptions,\n): AssistantMessageEventStream => {\n\tconst stream = new AssistantMessageEventStream();\n\n\t(async () => {\n\t\tconst output: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tcontent: [],\n\t\t\tapi: model.api as Api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\tstopReason: \"pending\",\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\ttry {\n\t\t\tlet client: Anthropic;\n\t\t\tlet isOAuth: boolean;\n\n\t\t\tif (options?.client) {\n\t\t\t\tclient = options.client;\n\t\t\t\tisOAuth = false;\n\t\t\t} else {\n\t\t\t\tconst apiKey = options?.apiKey;\n\t\t\t\tassertRequestAuth(model.provider, apiKey, options?.headers);\n\n\t\t\t\tlet copilotDynamicHeaders: Record<string, string> | undefined;\n\t\t\t\tif (model.provider === \"github-copilot\") {\n\t\t\t\t\tconst hasImages = hasCopilotVisionInput(context.messages);\n\t\t\t\t\tcopilotDynamicHeaders = buildCopilotDynamicHeaders({\n\t\t\t\t\t\tmessages: context.messages,\n\t\t\t\t\t\thasImages,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst cacheRetention = resolveCacheRetention(options?.cacheRetention, options?.env);\n\t\t\t\tconst cacheSessionId = cacheRetention === \"none\" ? undefined : options?.sessionId;\n\n\t\t\t\tconst created = createClient(\n\t\t\t\t\tmodel,\n\t\t\t\t\tapiKey,\n\t\t\t\t\toptions?.interleavedThinking ?? true,\n\t\t\t\t\tshouldUseFineGrainedToolStreamingBeta(model, context),\n\t\t\t\t\toptions?.headers,\n\t\t\t\t\toptions?.fetch,\n\t\t\t\t\tcopilotDynamicHeaders,\n\t\t\t\t\tcacheSessionId,\n\t\t\t\t);\n\t\t\t\tclient = created.client;\n\t\t\t\tisOAuth = created.isOAuthToken;\n\t\t\t}\n\t\t\tlet params = buildParams(model, context, isOAuth, options);\n\t\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\t\tif (nextParams !== undefined) {\n\t\t\t\tparams = nextParams as MessageCreateParamsStreaming;\n\t\t\t}\n\t\t\tconst requestOptions = {\n\t\t\t\t...(options?.signal ? { signal: options.signal } : {}),\n\t\t\t\t...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n\t\t\t\tmaxRetries: 0,\n\t\t\t};\n\t\t\tconst response = await retryProviderRequest(\n\t\t\t\t() => client.messages.create({ ...params, stream: true }, requestOptions).asResponse(),\n\t\t\t\t{\n\t\t\t\t\tmaxRetries: options?.maxRetries,\n\t\t\t\t\tmaxRetryDelayMs: options?.maxRetryDelayMs,\n\t\t\t\t\tsignal: options?.signal,\n\t\t\t\t},\n\t\t\t);\n\t\t\tawait options?.onResponse?.({ status: response.status, headers: headersToRecord(response.headers) }, model);\n\t\t\tstream.push({ type: \"start\", partial: output });\n\n\t\t\ttype Block = (ThinkingContent | TextContent | (ToolCall & { partialJson: string })) & { index: number };\n\t\t\tconst blocks = output.content as Block[];\n\n\t\t\tfor await (const event of iterateAnthropicEvents(response, options?.signal)) {\n\t\t\t\tif (event.type === \"message_start\") {\n\t\t\t\t\toutput.responseId = event.message.id;\n\t\t\t\t\t// Capture initial token usage from message_start event\n\t\t\t\t\t// This ensures we have input token counts even if the stream is aborted early\n\t\t\t\t\toutput.usage.input = event.message.usage.input_tokens || 0;\n\t\t\t\t\toutput.usage.output = event.message.usage.output_tokens || 0;\n\t\t\t\t\toutput.usage.cacheRead = event.message.usage.cache_read_input_tokens || 0;\n\t\t\t\t\toutput.usage.cacheWrite = event.message.usage.cache_creation_input_tokens || 0;\n\t\t\t\t\toutput.usage.cacheWrite1h = event.message.usage.cache_creation?.ephemeral_1h_input_tokens || 0;\n\t\t\t\t\t// Anthropic doesn't provide total_tokens, compute from components\n\t\t\t\t\toutput.usage.totalTokens =\n\t\t\t\t\t\toutput.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n\t\t\t\t\tcalculateCost(model, output.usage);\n\t\t\t\t} else if (event.type === \"content_block_start\") {\n\t\t\t\t\tif (event.content_block.type === \"text\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"thinking\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: \"\",\n\t\t\t\t\t\t\tthinkingSignature: \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"redacted_thinking\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: \"[Reasoning redacted]\",\n\t\t\t\t\t\t\tthinkingSignature: event.content_block.data,\n\t\t\t\t\t\t\tredacted: true,\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"tool_use\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"toolCall\",\n\t\t\t\t\t\t\tid: event.content_block.id,\n\t\t\t\t\t\t\tname: isOAuth\n\t\t\t\t\t\t\t\t? fromClaudeCodeName(event.content_block.name, context.tools)\n\t\t\t\t\t\t\t\t: event.content_block.name,\n\t\t\t\t\t\t\targuments: (event.content_block.input as Record<string, any>) ?? {},\n\t\t\t\t\t\t\tpartialJson: \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"toolcall_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"content_block_delta\") {\n\t\t\t\t\tif (event.delta.type === \"text_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"text\") {\n\t\t\t\t\t\t\tblock.text += event.delta.text;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.text,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"thinking_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"thinking\") {\n\t\t\t\t\t\t\tblock.thinking += event.delta.thinking;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.thinking,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"input_json_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"toolCall\") {\n\t\t\t\t\t\t\tblock.partialJson += event.delta.partial_json;\n\t\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialJson);\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.partial_json,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"signature_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"thinking\") {\n\t\t\t\t\t\t\tblock.thinkingSignature = block.thinkingSignature || \"\";\n\t\t\t\t\t\t\tblock.thinkingSignature += event.delta.signature;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"content_block_stop\") {\n\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\tif (block) {\n\t\t\t\t\t\tdelete (block as any).index;\n\t\t\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tcontent: block.text,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tcontent: block.thinking,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialJson);\n\t\t\t\t\t\t\t// Finalize in-place and strip the scratch buffer so replay only\n\t\t\t\t\t\t\t// carries parsed arguments.\n\t\t\t\t\t\t\tdelete (block as { partialJson?: string }).partialJson;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\ttoolCall: block,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"message_delta\") {\n\t\t\t\t\tif (event.delta.stop_reason) {\n\t\t\t\t\t\toutput.rawStopReason = event.delta.stop_reason;\n\t\t\t\t\t\tconst stopReasonResult = mapStopReason(event.delta.stop_reason, event.delta.stop_details);\n\t\t\t\t\t\toutput.stopReason = stopReasonResult.stopReason;\n\t\t\t\t\t\tif (stopReasonResult.errorMessage) {\n\t\t\t\t\t\t\toutput.errorMessage = stopReasonResult.errorMessage;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Only update usage fields if present (not null).\n\t\t\t\t\t// Preserves input_tokens from message_start when proxies omit it in message_delta.\n\t\t\t\t\tif (event.usage) {\n\t\t\t\t\t\tif (event.usage.input_tokens != null) {\n\t\t\t\t\t\t\toutput.usage.input = event.usage.input_tokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (event.usage.output_tokens != null) {\n\t\t\t\t\t\t\toutput.usage.output = event.usage.output_tokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (event.usage.cache_read_input_tokens != null) {\n\t\t\t\t\t\t\toutput.usage.cacheRead = event.usage.cache_read_input_tokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (event.usage.cache_creation_input_tokens != null) {\n\t\t\t\t\t\t\toutput.usage.cacheWrite = event.usage.cache_creation_input_tokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Anthropic reports reasoning tokens in `output_tokens_details.thinking_tokens` on the\n\t\t\t\t\t\t// final message_delta usage (a subset of output_tokens). SDK 0.91.1 omits the field from\n\t\t\t\t\t\t// its Usage type, so read it through a narrow cast. Verified against the live API.\n\t\t\t\t\t\tconst thinkingTokens = (event.usage as { output_tokens_details?: { thinking_tokens?: number } })\n\t\t\t\t\t\t\t.output_tokens_details?.thinking_tokens;\n\t\t\t\t\t\tif (thinkingTokens != null) {\n\t\t\t\t\t\t\toutput.usage.reasoning = thinkingTokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Anthropic doesn't provide total_tokens, compute from components\n\t\t\t\t\toutput.usage.totalTokens =\n\t\t\t\t\t\toutput.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n\t\t\t\t\tcalculateCost(model, output.usage);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options?.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tif (output.stopReason === \"pending\") {\n\t\t\t\tthrow new Error(\"Anthropic stream ended without a stop reason\");\n\t\t\t}\n\t\t\tif (output.stopReason === \"aborted\" || output.stopReason === \"error\") {\n\t\t\t\tthrow new Error(output.errorMessage || \"An unknown error occurred\");\n\t\t\t}\n\n\t\t\tstream.push({ type: \"done\", reason: output.stopReason, message: output });\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\tfor (const block of output.content) {\n\t\t\t\tdelete (block as { index?: number }).index;\n\t\t\t\t// partialJson is only a streaming scratch buffer; never persist it.\n\t\t\t\tdelete (block as { partialJson?: string }).partialJson;\n\t\t\t}\n\t\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\t\tstream.push({ type: \"error\", reason: output.stopReason, error: output });\n\t\t\tstream.end();\n\t\t}\n\t})();\n\n\treturn stream;\n};\n\n/**\n * Map ThinkingLevel to Anthropic effort levels for adaptive thinking.\n * Note: effort \"max\" is available on all adaptive-thinking Claude models, while native\n * \"xhigh\" is only available on Opus 4.7/4.8, Sonnet 5, and Fable 5.\n */\nfunction mapThinkingLevelToEffort(\n\tmodel: Model<\"anthropic-messages\">,\n\tlevel: SimpleStreamOptions[\"reasoning\"],\n): AnthropicEffort {\n\tconst mapped = level ? model.thinkingLevelMap?.[level] : undefined;\n\tif (typeof mapped === \"string\") return mapped as AnthropicEffort;\n\n\tswitch (level) {\n\t\tcase \"minimal\":\n\t\tcase \"low\":\n\t\t\treturn \"low\";\n\t\tcase \"medium\":\n\t\t\treturn \"medium\";\n\t\tcase \"high\":\n\t\t\treturn \"high\";\n\t\tdefault:\n\t\t\treturn \"high\";\n\t}\n}\n\nexport const streamSimple: StreamFunction<\"anthropic-messages\", SimpleStreamOptions> = (\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n): AssistantMessageEventStream => {\n\tassertRequestAuth(model.provider, options?.apiKey, options?.headers);\n\n\tconst base = buildBaseOptions(model, context, options, options?.apiKey);\n\tif (!options?.reasoning) {\n\t\treturn stream(model, context, { ...base, thinkingEnabled: false } satisfies AnthropicOptions);\n\t}\n\n\t// For models with adaptive thinking: use an effort level.\n\t// For older models: use budget-based thinking.\n\tif (model.compat?.forceAdaptiveThinking === true) {\n\t\tconst effort = mapThinkingLevelToEffort(model, options.reasoning);\n\t\treturn stream(model, context, {\n\t\t\t...base,\n\t\t\tthinkingEnabled: true,\n\t\t\teffort,\n\t\t} satisfies AnthropicOptions);\n\t}\n\n\t// Undefined means the caller did not request an output cap; let the helper use the model cap.\n\t// Do not coerce to 0 here, or the thinking budget would become the entire max_tokens value.\n\tconst adjusted = adjustMaxTokensForThinking(\n\t\tbase.maxTokens,\n\t\tmodel.maxTokens,\n\t\toptions.reasoning,\n\t\toptions.thinkingBudgets,\n\t);\n\n\tconst maxTokens = clampMaxTokensToContext(model, context, adjusted.maxTokens);\n\n\treturn stream(model, context, {\n\t\t...base,\n\t\tmaxTokens,\n\t\tthinkingEnabled: true,\n\t\tthinkingBudgetTokens: Math.min(adjusted.thinkingBudget, Math.max(0, maxTokens - 1024)),\n\t} satisfies AnthropicOptions);\n};\n\nfunction isOAuthToken(apiKey: string): boolean {\n\treturn apiKey.includes(\"sk-ant-oat\");\n}\n\nfunction createClient(\n\tmodel: Model<\"anthropic-messages\">,\n\tapiKey: string | undefined,\n\tinterleavedThinking: boolean,\n\tuseFineGrainedToolStreamingBeta: boolean,\n\toptionsHeaders?: ProviderHeaders,\n\tfetch?: typeof globalThis.fetch,\n\tdynamicHeaders?: Record<string, string>,\n\tsessionId?: string,\n): { client: Anthropic; isOAuthToken: boolean } {\n\t// Adaptive thinking models have interleaved thinking built in, so skip the beta header.\n\tconst needsInterleavedBeta = interleavedThinking && model.compat?.forceAdaptiveThinking !== true;\n\tconst betaFeatures: string[] = [];\n\tif (useFineGrainedToolStreamingBeta) {\n\t\tbetaFeatures.push(FINE_GRAINED_TOOL_STREAMING_BETA);\n\t}\n\tif (needsInterleavedBeta) {\n\t\tbetaFeatures.push(INTERLEAVED_THINKING_BETA);\n\t}\n\n\t// Copilot: Bearer auth, selective betas.\n\tif (model.provider === \"github-copilot\") {\n\t\tconst client = new Anthropic({\n\t\t\tapiKey: null,\n\t\t\tauthToken: apiKey ?? null,\n\t\t\tbaseURL: model.baseUrl,\n\t\t\tdangerouslyAllowBrowser: true,\n\t\t\tfetch,\n\t\t\tdefaultHeaders: mergeHeaders(\n\t\t\t\t{\n\t\t\t\t\taccept: \"application/json\",\n\t\t\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t\t\t...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n\t\t\t\t},\n\t\t\t\tmodel.headers,\n\t\t\t\tdynamicHeaders,\n\t\t\t\toptionsHeaders,\n\t\t\t),\n\t\t});\n\n\t\treturn { client, isOAuthToken: false };\n\t}\n\n\t// OAuth: Bearer auth, Claude Code identity headers\n\tif (apiKey && isOAuthToken(apiKey)) {\n\t\tconst client = new Anthropic({\n\t\t\tapiKey: null,\n\t\t\tauthToken: apiKey,\n\t\t\tbaseURL: model.baseUrl,\n\t\t\tdangerouslyAllowBrowser: true,\n\t\t\tfetch,\n\t\t\tdefaultHeaders: mergeHeaders(\n\t\t\t\t{\n\t\t\t\t\taccept: \"application/json\",\n\t\t\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t\t\t\"anthropic-beta\": [\"claude-code-20250219\", \"oauth-2025-04-20\", ...betaFeatures].join(\",\"),\n\t\t\t\t\t\"user-agent\": `claude-cli/${claudeCodeVersion}`,\n\t\t\t\t\t\"x-app\": \"cli\",\n\t\t\t\t},\n\t\t\t\tmodel.headers,\n\t\t\t\toptionsHeaders,\n\t\t\t),\n\t\t});\n\n\t\treturn { client, isOAuthToken: true };\n\t}\n\n\t// API key or header-owned auth.\n\tconst sessionAffinityHeaders: ProviderHeaders =\n\t\tsessionId && getAnthropicCompat(model).sendSessionAffinityHeaders ? { \"x-session-affinity\": sessionId } : {};\n\tconst defaultHeaders = mergeHeaders(\n\t\t{\n\t\t\taccept: \"application/json\",\n\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n\t\t},\n\t\tsessionAffinityHeaders,\n\t\tmodel.headers,\n\t\toptionsHeaders,\n\t);\n\tconst client = new Anthropic({\n\t\tapiKey: apiKey ?? null,\n\t\tauthToken: null,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tfetch,\n\t\tdefaultHeaders,\n\t});\n\n\treturn { client, isOAuthToken: false };\n}\n\nfunction buildParams(\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\tisOAuthToken: boolean,\n\toptions?: AnthropicOptions,\n): MessageCreateParamsStreaming {\n\tconst { cacheControl } = getCacheControl(model, options?.cacheRetention, options?.env);\n\tconst compat = getAnthropicCompat(model);\n\tconst transformedMessages = transformMessages(context.messages, model, normalizeToolCallId);\n\tconst normalizeToolName = isOAuthToken ? toClaudeCodeName : (name: string) => name;\n\tconst toolPlacement = splitDeferredTools(\n\t\t{ ...context, messages: transformedMessages },\n\t\tcompat.supportsToolReferences,\n\t\tnormalizeToolName,\n\t);\n\tlet immediateTools = toolPlacement.immediate;\n\tlet deferredTools = [...toolPlacement.deferred.values()];\n\tif (immediateTools.length === 0 && deferredTools.length > 0) {\n\t\timmediateTools = deferredTools;\n\t\tdeferredTools = [];\n\t}\n\tconst deferredToolNames = new Set(deferredTools.map((tool) => normalizeToolName(tool.name)));\n\tconst params: MessageCreateParamsStreaming = {\n\t\tmodel: model.id,\n\t\tmessages: convertMessages(\n\t\t\ttransformedMessages,\n\t\t\tisOAuthToken,\n\t\t\tcacheControl,\n\t\t\tcompat.allowEmptySignature,\n\t\t\tdeferredToolNames,\n\t\t\tnormalizeToolName,\n\t\t),\n\t\tmax_tokens: options?.maxTokens ?? model.maxTokens,\n\t\tstream: true,\n\t};\n\n\t// For OAuth tokens, we MUST include Claude Code identity\n\tif (isOAuthToken) {\n\t\tparams.system = [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: \"You are Claude Code, Anthropic's official CLI for Claude.\",\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t},\n\t\t];\n\t\tif (context.systemPrompt) {\n\t\t\tparams.system.push({\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(context.systemPrompt),\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t});\n\t\t}\n\t} else if (context.systemPrompt) {\n\t\t// Add cache control to system prompt for non-OAuth tokens\n\t\tparams.system = [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(context.systemPrompt),\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t},\n\t\t];\n\t}\n\n\t// Temperature is incompatible with extended thinking and unsupported on Claude Opus 4.7+.\n\tif (options?.temperature !== undefined && !options?.thinkingEnabled && compat.supportsTemperature) {\n\t\tparams.temperature = options.temperature;\n\t}\n\n\tif (immediateTools.length > 0 || deferredTools.length > 0) {\n\t\tparams.tools = [\n\t\t\t...convertTools(\n\t\t\t\timmediateTools,\n\t\t\t\tisOAuthToken,\n\t\t\t\tcompat.supportsEagerToolInputStreaming,\n\t\t\t\tcompat.supportsStrictTools,\n\t\t\t\tcompat.supportsCacheControlOnTools ? cacheControl : undefined,\n\t\t\t),\n\t\t\t...convertTools(\n\t\t\t\tdeferredTools,\n\t\t\t\tisOAuthToken,\n\t\t\t\tcompat.supportsEagerToolInputStreaming,\n\t\t\t\tcompat.supportsStrictTools,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t];\n\t}\n\n\t// Configure thinking mode: adaptive, budget-based, or explicitly disabled.\n\tif (model.reasoning) {\n\t\tif (options?.thinkingEnabled) {\n\t\t\t// Default to \"summarized\" so Opus 4.7 and Mythos Preview behave like\n\t\t\t// older Claude 4 models (whose API default is also \"summarized\").\n\t\t\tconst display: AnthropicThinkingDisplay = options.thinkingDisplay ?? \"summarized\";\n\t\t\tif (model.compat?.forceAdaptiveThinking === true) {\n\t\t\t\t// Adaptive thinking: Claude decides when and how much to think.\n\t\t\t\tparams.thinking = { type: \"adaptive\", display };\n\t\t\t\tif (options.effort) {\n\t\t\t\t\t// The Anthropic SDK types can lag newly supported effort values such as \"xhigh\".\n\t\t\t\t\tparams.output_config =\n\t\t\t\t\t\toptions.effort === \"xhigh\"\n\t\t\t\t\t\t\t? ({ effort: options.effort } as unknown as NonNullable<\n\t\t\t\t\t\t\t\t\tMessageCreateParamsStreaming[\"output_config\"]\n\t\t\t\t\t\t\t\t>)\n\t\t\t\t\t\t\t: { effort: options.effort };\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Budget-based thinking for older models\n\t\t\t\tparams.thinking = {\n\t\t\t\t\ttype: \"enabled\",\n\t\t\t\t\tbudget_tokens: options.thinkingBudgetTokens || 1024,\n\t\t\t\t\tdisplay,\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (options?.thinkingEnabled === false && model.thinkingLevelMap?.off !== null) {\n\t\t\tparams.thinking = { type: \"disabled\" };\n\t\t}\n\t}\n\n\tif (options?.metadata) {\n\t\tconst userId = options.metadata.user_id;\n\t\tif (typeof userId === \"string\") {\n\t\t\tparams.metadata = { user_id: userId };\n\t\t}\n\t}\n\n\tif (options?.toolChoice) {\n\t\tif (typeof options.toolChoice === \"string\") {\n\t\t\tparams.tool_choice = { type: options.toolChoice };\n\t\t} else {\n\t\t\tparams.tool_choice = options.toolChoice;\n\t\t}\n\t}\n\n\treturn params;\n}\n\n// Normalize tool call IDs to match Anthropic's required pattern and length\nfunction normalizeToolCallId(id: string): string {\n\treturn id.replace(/[^a-zA-Z0-9_-]/g, \"_\").slice(0, 64);\n}\n\nfunction convertToolResult(\n\tmsg: ToolResultMessage,\n\tisOAuthToken: boolean,\n\tdeferredToolNames: ReadonlySet<string>,\n\tloadedToolNames: Set<string>,\n\tnormalizeToolName: (name: string) => string,\n): { toolResult: ContentBlockParam; siblingContent: ContentBlockParam[] } {\n\tconst references: Array<{ type: \"tool_reference\"; tool_name: string }> = [];\n\tfor (const name of msg.addedToolNames ?? []) {\n\t\tconst normalizedName = normalizeToolName(name);\n\t\tif (!deferredToolNames.has(normalizedName) || loadedToolNames.has(normalizedName)) continue;\n\t\tloadedToolNames.add(normalizedName);\n\t\treferences.push({\n\t\t\ttype: \"tool_reference\",\n\t\t\ttool_name: isOAuthToken ? toClaudeCodeName(name) : name,\n\t\t});\n\t}\n\tconst convertedContent = convertContentBlocks(msg.content);\n\t// Anthropic rejects tool references mixed with ordinary tool-result content.\n\treturn {\n\t\ttoolResult: {\n\t\t\ttype: \"tool_result\",\n\t\t\ttool_use_id: msg.toolCallId,\n\t\t\tcontent: references.length > 0 ? references : convertedContent,\n\t\t\tis_error: msg.isError,\n\t\t},\n\t\tsiblingContent:\n\t\t\treferences.length === 0\n\t\t\t\t? []\n\t\t\t\t: typeof convertedContent === \"string\"\n\t\t\t\t\t? [{ type: \"text\", text: convertedContent }]\n\t\t\t\t\t: convertedContent,\n\t};\n}\n\nfunction convertMessages(\n\ttransformedMessages: Message[],\n\tisOAuthToken: boolean,\n\tcacheControl?: CacheControlEphemeral,\n\tallowEmptySignature = false,\n\tdeferredToolNames: ReadonlySet<string> = new Set(),\n\tnormalizeToolName: (name: string) => string = (name) => name,\n): MessageParam[] {\n\tconst params: MessageParam[] = [];\n\tconst loadedToolNames = new Set<string>();\n\n\tfor (let i = 0; i < transformedMessages.length; i++) {\n\t\tconst msg = transformedMessages[i];\n\n\t\tif (msg.role === \"user\") {\n\t\t\tif (typeof msg.content === \"string\") {\n\t\t\t\tif (msg.content.trim().length > 0) {\n\t\t\t\t\tparams.push({\n\t\t\t\t\t\trole: \"user\",\n\t\t\t\t\t\tcontent: sanitizeSurrogates(msg.content),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst blocks: ContentBlockParam[] = msg.content.map((item) => {\n\t\t\t\t\tif (item.type === \"text\") {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"image\",\n\t\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\t\ttype: \"base64\",\n\t\t\t\t\t\t\t\tmedia_type: item.mimeType as \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\",\n\t\t\t\t\t\t\t\tdata: item.data,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst filteredBlocks = blocks.filter((b) => {\n\t\t\t\t\tif (b.type === \"text\") {\n\t\t\t\t\t\treturn b.text.trim().length > 0;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\t\t\t\tif (filteredBlocks.length === 0) continue;\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent: filteredBlocks,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (msg.role === \"assistant\") {\n\t\t\tconst blocks: ContentBlockParam[] = [];\n\n\t\t\tfor (const block of msg.content) {\n\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\tif (block.text.trim().length === 0) continue;\n\t\t\t\t\tblocks.push({\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: sanitizeSurrogates(block.text),\n\t\t\t\t\t});\n\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\t// Redacted thinking: pass the opaque payload back as redacted_thinking\n\t\t\t\t\tif (block.redacted) {\n\t\t\t\t\t\tblocks.push({\n\t\t\t\t\t\t\ttype: \"redacted_thinking\",\n\t\t\t\t\t\t\tdata: block.thinkingSignature!,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tconst thinkingSignature = block.thinkingSignature;\n\t\t\t\t\tconst hasThinkingSignature = !!thinkingSignature && thinkingSignature.trim().length > 0;\n\t\t\t\t\tif (block.thinking.trim().length === 0 && !hasThinkingSignature) continue;\n\t\t\t\t\t// If thinking signature is missing/empty (e.g., from aborted stream),\n\t\t\t\t\t// convert to plain text for Anthropic. Some compatible providers emit\n\t\t\t\t\t// and accept empty signatures, so let marked models preserve the block.\n\t\t\t\t\tif (!hasThinkingSignature) {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tallowEmptySignature\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\t\t\t\tthinking: sanitizeSurrogates(block.thinking),\n\t\t\t\t\t\t\t\t\t\tsignature: \"\",\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\ttext: sanitizeSurrogates(block.thinking),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblocks.push({\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: sanitizeSurrogates(block.thinking),\n\t\t\t\t\t\t\tsignature: thinkingSignature,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\tblocks.push({\n\t\t\t\t\t\ttype: \"tool_use\",\n\t\t\t\t\t\tid: block.id,\n\t\t\t\t\t\tname: isOAuthToken ? toClaudeCodeName(block.name) : block.name,\n\t\t\t\t\t\tinput: block.arguments ?? {},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (blocks.length === 0) continue;\n\t\t\tparams.push({\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: blocks,\n\t\t\t});\n\t\t} else if (msg.role === \"toolResult\") {\n\t\t\t// Collect all consecutive toolResult messages, needed for z.ai Anthropic endpoint.\n\t\t\tconst toolResults: ContentBlockParam[] = [];\n\t\t\tconst siblingContent: ContentBlockParam[] = [];\n\t\t\tlet j = i;\n\t\t\twhile (j < transformedMessages.length && transformedMessages[j].role === \"toolResult\") {\n\t\t\t\tconst converted = convertToolResult(\n\t\t\t\t\ttransformedMessages[j] as ToolResultMessage,\n\t\t\t\t\tisOAuthToken,\n\t\t\t\t\tdeferredToolNames,\n\t\t\t\t\tloadedToolNames,\n\t\t\t\t\tnormalizeToolName,\n\t\t\t\t);\n\t\t\t\ttoolResults.push(converted.toolResult);\n\t\t\t\tsiblingContent.push(...converted.siblingContent);\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\t// Skip the messages we've already processed.\n\t\t\ti = j - 1;\n\n\t\t\t// Displaced reference-bearing results must follow every tool_result block.\n\t\t\tparams.push({\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: [...toolResults, ...siblingContent],\n\t\t\t});\n\t\t}\n\t}\n\n\t// Add cache_control to the last user message to cache conversation history\n\tif (cacheControl && params.length > 0) {\n\t\tconst lastMessage = params[params.length - 1];\n\t\tif (lastMessage.role === \"user\") {\n\t\t\tif (Array.isArray(lastMessage.content)) {\n\t\t\t\tconst lastBlock = lastMessage.content[lastMessage.content.length - 1];\n\t\t\t\tif (\n\t\t\t\t\tlastBlock &&\n\t\t\t\t\t(lastBlock.type === \"text\" || lastBlock.type === \"image\" || lastBlock.type === \"tool_result\")\n\t\t\t\t) {\n\t\t\t\t\t(lastBlock as any).cache_control = cacheControl;\n\t\t\t\t}\n\t\t\t} else if (typeof lastMessage.content === \"string\") {\n\t\t\t\tlastMessage.content = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: lastMessage.content,\n\t\t\t\t\t\tcache_control: cacheControl,\n\t\t\t\t\t},\n\t\t\t\t] as any;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn params;\n}\n\nfunction shouldUseFineGrainedToolStreamingBeta(model: Model<\"anthropic-messages\">, context: Context): boolean {\n\treturn !!context.tools?.length && !getAnthropicCompat(model).supportsEagerToolInputStreaming;\n}\n\nfunction convertTools(\n\ttools: Tool[],\n\tisOAuthToken: boolean,\n\tsupportsEagerToolInputStreaming: boolean,\n\tsupportsStrictTools: boolean,\n\tcacheControl?: CacheControlEphemeral,\n\tdeferLoading = false,\n): Anthropic.Messages.Tool[] {\n\tif (!tools) return [];\n\n\treturn tools.map((tool, index) => {\n\t\tconst strict = resolveJsonSchemaStrictSampling(tool, supportsStrictTools);\n\t\tconst schema = tool.parameters as { properties?: unknown; required?: string[] };\n\t\tconst legacyInputSchema = {\n\t\t\ttype: \"object\" as const,\n\t\t\tproperties: schema.properties ?? {},\n\t\t\trequired: schema.required ?? [],\n\t\t};\n\t\tconst inputSchema =\n\t\t\tstrict === true\n\t\t\t\t? {\n\t\t\t\t\t\t...(tool.parameters as Record<string, unknown>),\n\t\t\t\t\t\t...legacyInputSchema,\n\t\t\t\t\t}\n\t\t\t\t: legacyInputSchema;\n\n\t\treturn {\n\t\t\tname: isOAuthToken ? toClaudeCodeName(tool.name) : tool.name,\n\t\t\tdescription: tool.description,\n\t\t\t...(supportsEagerToolInputStreaming ? { eager_input_streaming: true } : {}),\n\t\t\t...(strict === true ? { strict: true } : {}),\n\t\t\tinput_schema: inputSchema,\n\t\t\t...(deferLoading ? { defer_loading: true } : {}),\n\t\t\t...(cacheControl && index === tools.length - 1 ? { cache_control: cacheControl } : {}),\n\t\t};\n\t});\n}\n\nfunction mapStopReason(\n\treason: Anthropic.Messages.StopReason | string,\n\tstopDetails?: RefusalStopDetails | null,\n): { stopReason: StopReason; errorMessage?: string } {\n\tswitch (reason) {\n\t\tcase \"end_turn\":\n\t\t\treturn { stopReason: \"stop\" };\n\t\tcase \"max_tokens\":\n\t\t\treturn { stopReason: \"length\" };\n\t\tcase \"tool_use\":\n\t\t\treturn { stopReason: \"toolUse\" };\n\t\tcase \"refusal\":\n\t\t\treturn {\n\t\t\t\tstopReason: \"error\",\n\t\t\t\terrorMessage: stopDetails?.explanation || `The model refused to complete the request`,\n\t\t\t};\n\t\tcase \"pause_turn\": // Stop is good enough -> resubmit\n\t\t\treturn { stopReason: \"stop\" };\n\t\tcase \"stop_sequence\":\n\t\t\treturn { stopReason: \"stop\" }; // We don't supply stop sequences, so this should never happen\n\t\tcase \"sensitive\": // Content flagged by safety filters (not yet in SDK types)\n\t\t\treturn { stopReason: \"error\", errorMessage: \"Provider stopped with: sensitive\" };\n\t\tdefault:\n\t\t\t// Handle unknown stop reasons gracefully (API may add new values)\n\t\t\tthrow new Error(`Unhandled stop reason: ${reason}`);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"anthropic-messages.d.ts","sourceRoot":"","sources":["../../src/api/anthropic-messages.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAU1C,OAAO,KAAK,EAWX,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAMb,MAAM,aAAa,CAAC;AAuIrB,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,SAAS,CAAC;AAkChE,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACtD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACnB;AAiOD,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CA+RzE,CAAC;AA2BF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CAwClF,CAAC","sourcesContent":["import Anthropic from \"@anthropic-ai/sdk\";\nimport type {\n\tCacheControlEphemeral,\n\tContentBlockParam,\n\tMessageCreateParamsStreaming,\n\tMessageParam,\n\tRawMessageStreamEvent,\n\tRefusalStopDetails,\n} from \"@anthropic-ai/sdk/resources/messages.js\";\nimport { calculateCost } from \"../models.ts\";\nimport type {\n\tAnthropicMessagesCompat,\n\tApi,\n\tAssistantMessage,\n\tCacheRetention,\n\tContext,\n\tImageContent,\n\tMessage,\n\tModel,\n\tProviderEnv,\n\tProviderHeaders,\n\tSimpleStreamOptions,\n\tStopReason,\n\tStreamFunction,\n\tStreamOptions,\n\tTextContent,\n\tThinkingContent,\n\tTool,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.ts\";\nimport { splitDeferredTools } from \"../utils/deferred-tools.ts\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.ts\";\nimport { headersToRecord } from \"../utils/headers.ts\";\nimport { parseJsonWithRepair, parseStreamingJson } from \"../utils/json-parse.ts\";\nimport { getProviderEnvValue } from \"../utils/provider-env.ts\";\nimport { retryProviderRequest } from \"../utils/provider-retry.ts\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.ts\";\n\nimport { resolveJsonSchemaStrictSampling } from \"./constrained-sampling.ts\";\nimport { buildCopilotDynamicHeaders, hasCopilotVisionInput } from \"./github-copilot-headers.ts\";\nimport { adjustMaxTokensForThinking, buildBaseOptions, clampMaxTokensToContext } from \"./simple-options.ts\";\nimport { transformMessages } from \"./transform-messages.ts\";\n\n/**\n * Resolve cache retention preference.\n * Defaults to \"short\" and uses PI_CACHE_RETENTION for backward compatibility.\n */\nfunction resolveCacheRetention(cacheRetention?: CacheRetention, env?: ProviderEnv): CacheRetention {\n\tif (cacheRetention) {\n\t\treturn cacheRetention;\n\t}\n\tif (getProviderEnvValue(\"PI_CACHE_RETENTION\", env) === \"long\") {\n\t\treturn \"long\";\n\t}\n\treturn \"short\";\n}\n\nfunction getCacheControl(\n\tmodel: Model<\"anthropic-messages\">,\n\tcacheRetention?: CacheRetention,\n\tenv?: ProviderEnv,\n): { retention: CacheRetention; cacheControl?: CacheControlEphemeral } {\n\tconst retention = resolveCacheRetention(cacheRetention, env);\n\tif (retention === \"none\") {\n\t\treturn { retention };\n\t}\n\tconst ttl = retention === \"long\" && getAnthropicCompat(model).supportsLongCacheRetention ? \"1h\" : undefined;\n\treturn {\n\t\tretention,\n\t\tcacheControl: { type: \"ephemeral\", ...(ttl && { ttl }) },\n\t};\n}\n\n// Stealth mode: Mimic Claude Code's tool naming exactly\nconst claudeCodeVersion = \"2.1.75\";\n\n// Claude Code 2.x tool names (canonical casing)\n// Source: https://cchistory.mariozechner.at/data/prompts-2.1.11.md\n// To update: https://github.com/badlogic/cchistory\nconst claudeCodeTools = [\n\t\"Read\",\n\t\"Write\",\n\t\"Edit\",\n\t\"Bash\",\n\t\"Grep\",\n\t\"Glob\",\n\t\"AskUserQuestion\",\n\t\"EnterPlanMode\",\n\t\"ExitPlanMode\",\n\t\"KillShell\",\n\t\"NotebookEdit\",\n\t\"Skill\",\n\t\"Task\",\n\t\"TaskOutput\",\n\t\"TodoWrite\",\n\t\"WebFetch\",\n\t\"WebSearch\",\n];\n\nconst ccToolLookup = new Map(claudeCodeTools.map((t) => [t.toLowerCase(), t]));\n\n// Convert tool name to CC canonical casing if it matches (case-insensitive)\nconst toClaudeCodeName = (name: string) => ccToolLookup.get(name.toLowerCase()) ?? name;\nconst fromClaudeCodeName = (name: string, tools?: Tool[]) => {\n\tif (tools && tools.length > 0) {\n\t\tconst lowerName = name.toLowerCase();\n\t\tconst matchedTool = tools.find((tool) => tool.name.toLowerCase() === lowerName);\n\t\tif (matchedTool) return matchedTool.name;\n\t}\n\treturn name;\n};\n\n/**\n * Convert content blocks to Anthropic API format\n */\nfunction convertContentBlocks(content: (TextContent | ImageContent)[]):\n\t| string\n\t| Array<\n\t\t\t| { type: \"text\"; text: string }\n\t\t\t| {\n\t\t\t\t\ttype: \"image\";\n\t\t\t\t\tsource: {\n\t\t\t\t\t\ttype: \"base64\";\n\t\t\t\t\t\tmedia_type: \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\";\n\t\t\t\t\t\tdata: string;\n\t\t\t\t\t};\n\t\t\t }\n\t > {\n\t// If only text blocks, return as concatenated string for simplicity\n\tconst hasImages = content.some((c) => c.type === \"image\");\n\tif (!hasImages) {\n\t\treturn sanitizeSurrogates(content.map((c) => (c as TextContent).text).join(\"\\n\"));\n\t}\n\n\t// If we have images, convert to content block array\n\tconst blocks = content.map((block) => {\n\t\tif (block.type === \"text\") {\n\t\t\treturn {\n\t\t\t\ttype: \"text\" as const,\n\t\t\t\ttext: sanitizeSurrogates(block.text),\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"image\" as const,\n\t\t\tsource: {\n\t\t\t\ttype: \"base64\" as const,\n\t\t\t\tmedia_type: block.mimeType as \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\",\n\t\t\t\tdata: block.data,\n\t\t\t},\n\t\t};\n\t});\n\n\t// If only images (no text), add placeholder text block\n\tconst hasText = blocks.some((b) => b.type === \"text\");\n\tif (!hasText) {\n\t\tblocks.unshift({\n\t\t\ttype: \"text\" as const,\n\t\t\ttext: \"(see attached image)\",\n\t\t});\n\t}\n\n\treturn blocks;\n}\n\nexport type AnthropicEffort = \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"max\";\n\nexport type AnthropicThinkingDisplay = \"summarized\" | \"omitted\";\n\nconst FINE_GRAINED_TOOL_STREAMING_BETA = \"fine-grained-tool-streaming-2025-05-14\";\nconst INTERLEAVED_THINKING_BETA = \"interleaved-thinking-2025-05-14\";\n\nfunction getAnthropicCompat(\n\tmodel: Model<\"anthropic-messages\">,\n): Required<Omit<AnthropicMessagesCompat, \"forceAdaptiveThinking\">> {\n\treturn {\n\t\tsupportsEagerToolInputStreaming: model.compat?.supportsEagerToolInputStreaming ?? true,\n\t\tsupportsLongCacheRetention: model.compat?.supportsLongCacheRetention ?? true,\n\t\tsendSessionAffinityHeaders: model.compat?.sendSessionAffinityHeaders ?? false,\n\t\tsupportsCacheControlOnTools: model.compat?.supportsCacheControlOnTools ?? true,\n\t\tsupportsTemperature: model.compat?.supportsTemperature ?? true,\n\t\tallowEmptySignature: model.compat?.allowEmptySignature ?? false,\n\t\tsupportsStrictTools: model.compat?.supportsStrictTools ?? false,\n\t\tsupportsToolReferences: model.compat?.supportsToolReferences ?? defaultSupportsToolReferences(model),\n\t};\n}\n\n/**\n * Default for `supportsToolReferences`: first-party Anthropic models except\n * Haiku (rejects client-side tool_reference blocks) and models that predate\n * tool search (Claude 3.x, Opus/Sonnet 4.0, Opus 4.1).\n */\nfunction defaultSupportsToolReferences(model: Model<\"anthropic-messages\">): boolean {\n\tif (model.provider !== \"anthropic\" || model.id.includes(\"haiku\")) return false;\n\tconst version = model.id.match(/^claude-(?:opus|sonnet|fable)-(\\d+)(?:-(\\d+))?(?:-|$)/);\n\tif (!version) return false;\n\tconst major = Number(version[1]);\n\tconst minor = version[2] && version[2].length < 8 ? Number(version[2]) : 0;\n\treturn major > 4 || (major === 4 && minor >= 5);\n}\n\nexport interface AnthropicOptions extends StreamOptions {\n\t/**\n\t * Enable extended thinking.\n\t * For adaptive thinking models: the model decides when/how much to think.\n\t * For older models: uses budget-based thinking with thinkingBudgetTokens.\n\t * Default: undefined (thinking is omitted unless `streamSimple()` maps\n\t * a simple reasoning level to this option, or callers set it explicitly).\n\t */\n\tthinkingEnabled?: boolean;\n\t/**\n\t * Token budget for extended thinking (older models only).\n\t * Ignored for adaptive thinking models.\n\t * Default: 1024 when `thinkingEnabled` is true and no budget is provided.\n\t */\n\tthinkingBudgetTokens?: number;\n\t/**\n\t * Effort level for adaptive thinking models.\n\t * Controls how much thinking Claude allocates:\n\t * - \"max\": Always thinks with no constraints (Opus 4.6 only)\n\t * - \"xhigh\": Highest reasoning level (Opus 4.7+, Fable 5)\n\t * - \"high\": Always thinks, deep reasoning\n\t * - \"medium\": Moderate thinking, may skip for simple queries\n\t * - \"low\": Minimal thinking, skips for simple tasks\n\t * Ignored for older models.\n\t * Default: omitted unless `streamSimple()` maps a simple reasoning\n\t * level to this option.\n\t */\n\teffort?: AnthropicEffort;\n\t/**\n\t * Controls how thinking content is returned in API responses.\n\t * - \"summarized\": Thinking blocks contain summarized thinking text.\n\t * - \"omitted\": Thinking blocks return an empty thinking field; the encrypted\n\t * signature still travels back for multi-turn continuity. Use for faster\n\t * time-to-first-text-token when your UI does not surface thinking.\n\t *\n\t * Note: Anthropic's API default for Claude Opus 4.7 and Claude Mythos Preview\n\t * is \"omitted\". We default to \"summarized\" here to keep behavior consistent\n\t * with older Claude 4 models. Set this explicitly to \"omitted\" to opt in.\n\t * Default: \"summarized\" when thinking is enabled.\n\t */\n\tthinkingDisplay?: AnthropicThinkingDisplay;\n\t/**\n\t * Whether to request the interleaved thinking beta header for non-adaptive\n\t * thinking models. Adaptive thinking models have interleaved thinking built in,\n\t * so the header is skipped for them regardless of this setting.\n\t * Default: true.\n\t */\n\tinterleavedThinking?: boolean;\n\t/**\n\t * Anthropic tool choice behavior. String values map to Anthropic's built-in\n\t * choices; `{ type: \"tool\", name }` forces a specific tool.\n\t * Default: omitted (Anthropic default behavior, currently equivalent to auto).\n\t */\n\ttoolChoice?: \"auto\" | \"any\" | \"none\" | { type: \"tool\"; name: string };\n\t/**\n\t * Pre-built Anthropic client instance. When provided, skips internal client\n\t * construction entirely. Use this to inject alternative SDK clients such as\n\t * `AnthropicVertex` that shares the same messaging API.\n\t */\n\tclient?: Anthropic;\n}\n\nfunction mergeHeaders(...headerSources: (ProviderHeaders | undefined)[]): ProviderHeaders {\n\tconst merged: ProviderHeaders = {};\n\tfor (const headers of headerSources) {\n\t\tif (headers) {\n\t\t\tObject.assign(merged, headers);\n\t\t}\n\t}\n\treturn merged;\n}\n\nfunction hasHeader(headers: ProviderHeaders | undefined, name: string): boolean {\n\tif (!headers) return false;\n\tconst expected = name.toLowerCase();\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tif (key.toLowerCase() === expected && value !== null && value.trim().length > 0) return true;\n\t}\n\treturn false;\n}\n\nfunction assertRequestAuth(provider: string, apiKey: string | undefined, headers: ProviderHeaders | undefined): void {\n\tif (apiKey) return;\n\tif (\n\t\thasHeader(headers, \"authorization\") ||\n\t\thasHeader(headers, \"x-api-key\") ||\n\t\thasHeader(headers, \"cf-aig-authorization\")\n\t) {\n\t\treturn;\n\t}\n\tthrow new Error(`No API key for provider: ${provider}`);\n}\n\ninterface ServerSentEvent {\n\tevent: string | null;\n\tdata: string;\n\traw: string[];\n}\n\ninterface SseDecoderState {\n\tevent: string | null;\n\tdata: string[];\n\traw: string[];\n}\n\nconst ANTHROPIC_MESSAGE_EVENTS: ReadonlySet<string> = new Set([\n\t\"message_start\",\n\t\"message_delta\",\n\t\"message_stop\",\n\t\"content_block_start\",\n\t\"content_block_delta\",\n\t\"content_block_stop\",\n]);\n\nfunction flushSseEvent(state: SseDecoderState): ServerSentEvent | null {\n\tif (!state.event && state.data.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst event: ServerSentEvent = {\n\t\tevent: state.event,\n\t\tdata: state.data.join(\"\\n\"),\n\t\traw: [...state.raw],\n\t};\n\tstate.event = null;\n\tstate.data = [];\n\tstate.raw = [];\n\treturn event;\n}\n\nfunction decodeSseLine(line: string, state: SseDecoderState): ServerSentEvent | null {\n\tif (line === \"\") {\n\t\treturn flushSseEvent(state);\n\t}\n\n\tstate.raw.push(line);\n\tif (line.startsWith(\":\")) {\n\t\treturn null;\n\t}\n\n\tconst delimiterIndex = line.indexOf(\":\");\n\tconst fieldName = delimiterIndex === -1 ? line : line.slice(0, delimiterIndex);\n\tlet value = delimiterIndex === -1 ? \"\" : line.slice(delimiterIndex + 1);\n\tif (value.startsWith(\" \")) {\n\t\tvalue = value.slice(1);\n\t}\n\n\tif (fieldName === \"event\") {\n\t\tstate.event = value;\n\t} else if (fieldName === \"data\") {\n\t\tstate.data.push(value);\n\t}\n\n\treturn null;\n}\n\nfunction nextLineBreakIndex(text: string): number {\n\tconst carriageReturnIndex = text.indexOf(\"\\r\");\n\tconst newlineIndex = text.indexOf(\"\\n\");\n\tif (carriageReturnIndex === -1) {\n\t\treturn newlineIndex;\n\t}\n\tif (newlineIndex === -1) {\n\t\treturn carriageReturnIndex;\n\t}\n\treturn Math.min(carriageReturnIndex, newlineIndex);\n}\n\nfunction consumeLine(text: string): { line: string; rest: string } | null {\n\tconst lineBreakIndex = nextLineBreakIndex(text);\n\tif (lineBreakIndex === -1) {\n\t\treturn null;\n\t}\n\n\tlet nextIndex = lineBreakIndex + 1;\n\tif (text[lineBreakIndex] === \"\\r\" && text[nextIndex] === \"\\n\") {\n\t\tnextIndex += 1;\n\t}\n\n\treturn {\n\t\tline: text.slice(0, lineBreakIndex),\n\t\trest: text.slice(nextIndex),\n\t};\n}\n\nasync function* iterateSseMessages(\n\tbody: ReadableStream<Uint8Array>,\n\tsignal?: AbortSignal,\n): AsyncGenerator<ServerSentEvent> {\n\tconst reader = body.getReader();\n\tconst decoder = new TextDecoder();\n\tconst state: SseDecoderState = { event: null, data: [], raw: [] };\n\tlet buffer = \"\";\n\n\ttry {\n\t\twhile (true) {\n\t\t\tif (signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tconst { value, done } = await reader.read();\n\t\t\tif (done) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tbuffer += decoder.decode(value, { stream: true });\n\t\t\tlet consumed = consumeLine(buffer);\n\t\t\twhile (consumed) {\n\t\t\t\tbuffer = consumed.rest;\n\t\t\t\tconst event = decodeSseLine(consumed.line, state);\n\t\t\t\tif (event) {\n\t\t\t\t\tyield event;\n\t\t\t\t}\n\t\t\t\tconsumed = consumeLine(buffer);\n\t\t\t}\n\t\t}\n\n\t\tbuffer += decoder.decode();\n\t\tlet consumed = consumeLine(buffer);\n\t\twhile (consumed) {\n\t\t\tbuffer = consumed.rest;\n\t\t\tconst event = decodeSseLine(consumed.line, state);\n\t\t\tif (event) {\n\t\t\t\tyield event;\n\t\t\t}\n\t\t\tconsumed = consumeLine(buffer);\n\t\t}\n\n\t\tif (buffer.length > 0) {\n\t\t\tconst event = decodeSseLine(buffer, state);\n\t\t\tif (event) {\n\t\t\t\tyield event;\n\t\t\t}\n\t\t}\n\n\t\tconst trailingEvent = flushSseEvent(state);\n\t\tif (trailingEvent) {\n\t\t\tyield trailingEvent;\n\t\t}\n\t} finally {\n\t\treader.releaseLock();\n\t}\n}\n\nasync function* iterateAnthropicEvents(\n\tresponse: Response,\n\tsignal?: AbortSignal,\n): AsyncGenerator<RawMessageStreamEvent> {\n\tif (!response.body) {\n\t\tthrow new Error(\"Attempted to iterate over an Anthropic response with no body\");\n\t}\n\n\tlet sawMessageStart = false;\n\tlet sawMessageEnd = false;\n\n\tfor await (const sse of iterateSseMessages(response.body, signal)) {\n\t\tif (sse.event === \"error\") {\n\t\t\tthrow new Error(sse.data);\n\t\t}\n\n\t\tif (!ANTHROPIC_MESSAGE_EVENTS.has(sse.event ?? \"\")) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tconst event = parseJsonWithRepair<RawMessageStreamEvent>(sse.data);\n\t\t\tif (event.type === \"message_start\") {\n\t\t\t\tsawMessageStart = true;\n\t\t\t} else if (event.type === \"message_stop\") {\n\t\t\t\tsawMessageEnd = true;\n\t\t\t}\n\t\t\tyield event;\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tthrow new Error(\n\t\t\t\t`Could not parse Anthropic SSE event ${sse.event}: ${message}; data=${sse.data}; raw=${sse.raw.join(\"\\\\n\")}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tif (sawMessageStart && !sawMessageEnd) {\n\t\tthrow new Error(\"Anthropic stream ended before message_stop\");\n\t}\n}\n\nexport const stream: StreamFunction<\"anthropic-messages\", AnthropicOptions> = (\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\toptions?: AnthropicOptions,\n): AssistantMessageEventStream => {\n\tconst stream = new AssistantMessageEventStream();\n\n\t(async () => {\n\t\tconst output: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tcontent: [],\n\t\t\tapi: model.api as Api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\tstopReason: \"pending\",\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\ttry {\n\t\t\tlet client: Anthropic;\n\t\t\tlet isOAuth: boolean;\n\n\t\t\tif (options?.client) {\n\t\t\t\tclient = options.client;\n\t\t\t\tisOAuth = false;\n\t\t\t} else {\n\t\t\t\tconst apiKey = options?.apiKey;\n\t\t\t\tassertRequestAuth(model.provider, apiKey, options?.headers);\n\n\t\t\t\tlet copilotDynamicHeaders: Record<string, string> | undefined;\n\t\t\t\tif (model.provider === \"github-copilot\") {\n\t\t\t\t\tconst hasImages = hasCopilotVisionInput(context.messages);\n\t\t\t\t\tcopilotDynamicHeaders = buildCopilotDynamicHeaders({\n\t\t\t\t\t\tmessages: context.messages,\n\t\t\t\t\t\thasImages,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst cacheRetention = resolveCacheRetention(options?.cacheRetention, options?.env);\n\t\t\t\tconst cacheSessionId = cacheRetention === \"none\" ? undefined : options?.sessionId;\n\n\t\t\t\tconst created = createClient(\n\t\t\t\t\tmodel,\n\t\t\t\t\tapiKey,\n\t\t\t\t\toptions?.interleavedThinking ?? true,\n\t\t\t\t\tshouldUseFineGrainedToolStreamingBeta(model, context),\n\t\t\t\t\toptions?.headers,\n\t\t\t\t\toptions?.fetch,\n\t\t\t\t\tcopilotDynamicHeaders,\n\t\t\t\t\tcacheSessionId,\n\t\t\t\t);\n\t\t\t\tclient = created.client;\n\t\t\t\tisOAuth = created.isOAuthToken;\n\t\t\t}\n\t\t\tlet params = buildParams(model, context, isOAuth, options);\n\t\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\t\tif (nextParams !== undefined) {\n\t\t\t\tparams = nextParams as MessageCreateParamsStreaming;\n\t\t\t}\n\t\t\tconst requestOptions = {\n\t\t\t\t...(options?.signal ? { signal: options.signal } : {}),\n\t\t\t\t...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n\t\t\t\tmaxRetries: 0,\n\t\t\t};\n\t\t\tconst response = await retryProviderRequest(\n\t\t\t\t() => client.messages.create({ ...params, stream: true }, requestOptions).asResponse(),\n\t\t\t\t{\n\t\t\t\t\tmaxRetries: options?.maxRetries,\n\t\t\t\t\tmaxRetryDelayMs: options?.maxRetryDelayMs,\n\t\t\t\t\tsignal: options?.signal,\n\t\t\t\t},\n\t\t\t);\n\t\t\tawait options?.onResponse?.({ status: response.status, headers: headersToRecord(response.headers) }, model);\n\t\t\tstream.push({ type: \"start\", partial: output });\n\n\t\t\ttype Block = (ThinkingContent | TextContent | (ToolCall & { partialJson: string })) & { index: number };\n\t\t\tconst blocks = output.content as Block[];\n\n\t\t\tfor await (const event of iterateAnthropicEvents(response, options?.signal)) {\n\t\t\t\tif (event.type === \"message_start\") {\n\t\t\t\t\toutput.responseId = event.message.id;\n\t\t\t\t\t// Capture initial token usage from message_start event\n\t\t\t\t\t// This ensures we have input token counts even if the stream is aborted early\n\t\t\t\t\toutput.usage.input = event.message.usage.input_tokens || 0;\n\t\t\t\t\toutput.usage.output = event.message.usage.output_tokens || 0;\n\t\t\t\t\toutput.usage.cacheRead = event.message.usage.cache_read_input_tokens || 0;\n\t\t\t\t\toutput.usage.cacheWrite = event.message.usage.cache_creation_input_tokens || 0;\n\t\t\t\t\toutput.usage.cacheWrite1h = event.message.usage.cache_creation?.ephemeral_1h_input_tokens || 0;\n\t\t\t\t\t// Anthropic doesn't provide total_tokens, compute from components\n\t\t\t\t\toutput.usage.totalTokens =\n\t\t\t\t\t\toutput.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n\t\t\t\t\tcalculateCost(model, output.usage);\n\t\t\t\t} else if (event.type === \"content_block_start\") {\n\t\t\t\t\tif (event.content_block.type === \"text\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: event.content_block.text ?? \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"thinking\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: event.content_block.thinking ?? \"\",\n\t\t\t\t\t\t\tthinkingSignature: event.content_block.signature ?? \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"redacted_thinking\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: \"[Reasoning redacted]\",\n\t\t\t\t\t\t\tthinkingSignature: event.content_block.data,\n\t\t\t\t\t\t\tredacted: true,\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"tool_use\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"toolCall\",\n\t\t\t\t\t\t\tid: event.content_block.id,\n\t\t\t\t\t\t\tname: isOAuth\n\t\t\t\t\t\t\t\t? fromClaudeCodeName(event.content_block.name, context.tools)\n\t\t\t\t\t\t\t\t: event.content_block.name,\n\t\t\t\t\t\t\targuments: (event.content_block.input as Record<string, any>) ?? {},\n\t\t\t\t\t\t\tpartialJson: \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"toolcall_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"content_block_delta\") {\n\t\t\t\t\tif (event.delta.type === \"text_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"text\") {\n\t\t\t\t\t\t\tblock.text += event.delta.text;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.text,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"thinking_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"thinking\") {\n\t\t\t\t\t\t\tblock.thinking += event.delta.thinking;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.thinking,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"input_json_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"toolCall\") {\n\t\t\t\t\t\t\tblock.partialJson += event.delta.partial_json;\n\t\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialJson);\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.partial_json,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"signature_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"thinking\") {\n\t\t\t\t\t\t\tblock.thinkingSignature = block.thinkingSignature || \"\";\n\t\t\t\t\t\t\tblock.thinkingSignature += event.delta.signature;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"content_block_stop\") {\n\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\tif (block) {\n\t\t\t\t\t\tdelete (block as any).index;\n\t\t\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tcontent: block.text,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tcontent: block.thinking,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialJson);\n\t\t\t\t\t\t\t// Finalize in-place and strip the scratch buffer so replay only\n\t\t\t\t\t\t\t// carries parsed arguments.\n\t\t\t\t\t\t\tdelete (block as { partialJson?: string }).partialJson;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\ttoolCall: block,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"message_delta\") {\n\t\t\t\t\tif (event.delta.stop_reason) {\n\t\t\t\t\t\toutput.rawStopReason = event.delta.stop_reason;\n\t\t\t\t\t\tconst stopReasonResult = mapStopReason(event.delta.stop_reason, event.delta.stop_details);\n\t\t\t\t\t\toutput.stopReason = stopReasonResult.stopReason;\n\t\t\t\t\t\tif (stopReasonResult.errorMessage) {\n\t\t\t\t\t\t\toutput.errorMessage = stopReasonResult.errorMessage;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Only update usage fields if present (not null).\n\t\t\t\t\t// Preserves input_tokens from message_start when proxies omit it in message_delta.\n\t\t\t\t\tif (event.usage) {\n\t\t\t\t\t\tif (event.usage.input_tokens != null) {\n\t\t\t\t\t\t\toutput.usage.input = event.usage.input_tokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (event.usage.output_tokens != null) {\n\t\t\t\t\t\t\toutput.usage.output = event.usage.output_tokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (event.usage.cache_read_input_tokens != null) {\n\t\t\t\t\t\t\toutput.usage.cacheRead = event.usage.cache_read_input_tokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (event.usage.cache_creation_input_tokens != null) {\n\t\t\t\t\t\t\toutput.usage.cacheWrite = event.usage.cache_creation_input_tokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Anthropic reports reasoning tokens in `output_tokens_details.thinking_tokens` on the\n\t\t\t\t\t\t// final message_delta usage (a subset of output_tokens). SDK 0.91.1 omits the field from\n\t\t\t\t\t\t// its Usage type, so read it through a narrow cast. Verified against the live API.\n\t\t\t\t\t\tconst thinkingTokens = (event.usage as { output_tokens_details?: { thinking_tokens?: number } })\n\t\t\t\t\t\t\t.output_tokens_details?.thinking_tokens;\n\t\t\t\t\t\tif (thinkingTokens != null) {\n\t\t\t\t\t\t\toutput.usage.reasoning = thinkingTokens;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Anthropic doesn't provide total_tokens, compute from components\n\t\t\t\t\toutput.usage.totalTokens =\n\t\t\t\t\t\toutput.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n\t\t\t\t\tcalculateCost(model, output.usage);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options?.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tif (output.stopReason === \"pending\") {\n\t\t\t\tthrow new Error(\"Anthropic stream ended without a stop reason\");\n\t\t\t}\n\t\t\tif (output.stopReason === \"aborted\" || output.stopReason === \"error\") {\n\t\t\t\tthrow new Error(output.errorMessage || \"An unknown error occurred\");\n\t\t\t}\n\n\t\t\tstream.push({ type: \"done\", reason: output.stopReason, message: output });\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\tfor (const block of output.content) {\n\t\t\t\tdelete (block as { index?: number }).index;\n\t\t\t\t// partialJson is only a streaming scratch buffer; never persist it.\n\t\t\t\tdelete (block as { partialJson?: string }).partialJson;\n\t\t\t}\n\t\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\t\tstream.push({ type: \"error\", reason: output.stopReason, error: output });\n\t\t\tstream.end();\n\t\t}\n\t})();\n\n\treturn stream;\n};\n\n/**\n * Map ThinkingLevel to Anthropic effort levels for adaptive thinking.\n * Note: effort \"max\" is available on all adaptive-thinking Claude models, while native\n * \"xhigh\" is only available on Opus 4.7/4.8, Sonnet 5, and Fable 5.\n */\nfunction mapThinkingLevelToEffort(\n\tmodel: Model<\"anthropic-messages\">,\n\tlevel: SimpleStreamOptions[\"reasoning\"],\n): AnthropicEffort {\n\tconst mapped = level ? model.thinkingLevelMap?.[level] : undefined;\n\tif (typeof mapped === \"string\") return mapped as AnthropicEffort;\n\n\tswitch (level) {\n\t\tcase \"minimal\":\n\t\tcase \"low\":\n\t\t\treturn \"low\";\n\t\tcase \"medium\":\n\t\t\treturn \"medium\";\n\t\tcase \"high\":\n\t\t\treturn \"high\";\n\t\tdefault:\n\t\t\treturn \"high\";\n\t}\n}\n\nexport const streamSimple: StreamFunction<\"anthropic-messages\", SimpleStreamOptions> = (\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n): AssistantMessageEventStream => {\n\tassertRequestAuth(model.provider, options?.apiKey, options?.headers);\n\n\tconst base = buildBaseOptions(model, context, options, options?.apiKey);\n\tif (!options?.reasoning) {\n\t\treturn stream(model, context, { ...base, thinkingEnabled: false } satisfies AnthropicOptions);\n\t}\n\n\t// For models with adaptive thinking: use an effort level.\n\t// For older models: use budget-based thinking.\n\tif (model.compat?.forceAdaptiveThinking === true) {\n\t\tconst effort = mapThinkingLevelToEffort(model, options.reasoning);\n\t\treturn stream(model, context, {\n\t\t\t...base,\n\t\t\tthinkingEnabled: true,\n\t\t\teffort,\n\t\t} satisfies AnthropicOptions);\n\t}\n\n\t// Undefined means the caller did not request an output cap; let the helper use the model cap.\n\t// Do not coerce to 0 here, or the thinking budget would become the entire max_tokens value.\n\tconst adjusted = adjustMaxTokensForThinking(\n\t\tbase.maxTokens,\n\t\tmodel.maxTokens,\n\t\toptions.reasoning,\n\t\toptions.thinkingBudgets,\n\t);\n\n\tconst maxTokens = clampMaxTokensToContext(model, context, adjusted.maxTokens);\n\n\treturn stream(model, context, {\n\t\t...base,\n\t\tmaxTokens,\n\t\tthinkingEnabled: true,\n\t\tthinkingBudgetTokens: Math.min(adjusted.thinkingBudget, Math.max(0, maxTokens - 1024)),\n\t} satisfies AnthropicOptions);\n};\n\nfunction isOAuthToken(apiKey: string): boolean {\n\treturn apiKey.includes(\"sk-ant-oat\");\n}\n\nfunction createClient(\n\tmodel: Model<\"anthropic-messages\">,\n\tapiKey: string | undefined,\n\tinterleavedThinking: boolean,\n\tuseFineGrainedToolStreamingBeta: boolean,\n\toptionsHeaders?: ProviderHeaders,\n\tfetch?: typeof globalThis.fetch,\n\tdynamicHeaders?: Record<string, string>,\n\tsessionId?: string,\n): { client: Anthropic; isOAuthToken: boolean } {\n\t// Adaptive thinking models have interleaved thinking built in, so skip the beta header.\n\tconst needsInterleavedBeta = interleavedThinking && model.compat?.forceAdaptiveThinking !== true;\n\tconst betaFeatures: string[] = [];\n\tif (useFineGrainedToolStreamingBeta) {\n\t\tbetaFeatures.push(FINE_GRAINED_TOOL_STREAMING_BETA);\n\t}\n\tif (needsInterleavedBeta) {\n\t\tbetaFeatures.push(INTERLEAVED_THINKING_BETA);\n\t}\n\n\t// Copilot: Bearer auth, selective betas.\n\tif (model.provider === \"github-copilot\") {\n\t\tconst client = new Anthropic({\n\t\t\tapiKey: null,\n\t\t\tauthToken: apiKey ?? null,\n\t\t\tbaseURL: model.baseUrl,\n\t\t\tdangerouslyAllowBrowser: true,\n\t\t\tfetch,\n\t\t\tdefaultHeaders: mergeHeaders(\n\t\t\t\t{\n\t\t\t\t\taccept: \"application/json\",\n\t\t\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t\t\t...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n\t\t\t\t},\n\t\t\t\tmodel.headers,\n\t\t\t\tdynamicHeaders,\n\t\t\t\toptionsHeaders,\n\t\t\t),\n\t\t});\n\n\t\treturn { client, isOAuthToken: false };\n\t}\n\n\t// OAuth: Bearer auth, Claude Code identity headers\n\tif (apiKey && isOAuthToken(apiKey)) {\n\t\tconst client = new Anthropic({\n\t\t\tapiKey: null,\n\t\t\tauthToken: apiKey,\n\t\t\tbaseURL: model.baseUrl,\n\t\t\tdangerouslyAllowBrowser: true,\n\t\t\tfetch,\n\t\t\tdefaultHeaders: mergeHeaders(\n\t\t\t\t{\n\t\t\t\t\taccept: \"application/json\",\n\t\t\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t\t\t\"anthropic-beta\": [\"claude-code-20250219\", \"oauth-2025-04-20\", ...betaFeatures].join(\",\"),\n\t\t\t\t\t\"user-agent\": `claude-cli/${claudeCodeVersion}`,\n\t\t\t\t\t\"x-app\": \"cli\",\n\t\t\t\t},\n\t\t\t\tmodel.headers,\n\t\t\t\toptionsHeaders,\n\t\t\t),\n\t\t});\n\n\t\treturn { client, isOAuthToken: true };\n\t}\n\n\t// API key or header-owned auth.\n\tconst sessionAffinityHeaders: ProviderHeaders =\n\t\tsessionId && getAnthropicCompat(model).sendSessionAffinityHeaders ? { \"x-session-affinity\": sessionId } : {};\n\tconst defaultHeaders = mergeHeaders(\n\t\t{\n\t\t\taccept: \"application/json\",\n\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n\t\t},\n\t\tsessionAffinityHeaders,\n\t\tmodel.headers,\n\t\toptionsHeaders,\n\t);\n\tconst client = new Anthropic({\n\t\tapiKey: apiKey ?? null,\n\t\tauthToken: null,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tfetch,\n\t\tdefaultHeaders,\n\t});\n\n\treturn { client, isOAuthToken: false };\n}\n\nfunction buildParams(\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\tisOAuthToken: boolean,\n\toptions?: AnthropicOptions,\n): MessageCreateParamsStreaming {\n\tconst { cacheControl } = getCacheControl(model, options?.cacheRetention, options?.env);\n\tconst compat = getAnthropicCompat(model);\n\tconst transformedMessages = transformMessages(context.messages, model, normalizeToolCallId);\n\tconst normalizeToolName = isOAuthToken ? toClaudeCodeName : (name: string) => name;\n\tconst toolPlacement = splitDeferredTools(\n\t\t{ ...context, messages: transformedMessages },\n\t\tcompat.supportsToolReferences,\n\t\tnormalizeToolName,\n\t);\n\tlet immediateTools = toolPlacement.immediate;\n\tlet deferredTools = [...toolPlacement.deferred.values()];\n\tif (immediateTools.length === 0 && deferredTools.length > 0) {\n\t\timmediateTools = deferredTools;\n\t\tdeferredTools = [];\n\t}\n\tconst deferredToolNames = new Set(deferredTools.map((tool) => normalizeToolName(tool.name)));\n\tconst params: MessageCreateParamsStreaming = {\n\t\tmodel: model.id,\n\t\tmessages: convertMessages(\n\t\t\ttransformedMessages,\n\t\t\tisOAuthToken,\n\t\t\tcacheControl,\n\t\t\tcompat.allowEmptySignature,\n\t\t\tdeferredToolNames,\n\t\t\tnormalizeToolName,\n\t\t),\n\t\tmax_tokens: options?.maxTokens ?? model.maxTokens,\n\t\tstream: true,\n\t};\n\n\t// For OAuth tokens, we MUST include Claude Code identity\n\tif (isOAuthToken) {\n\t\tparams.system = [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: \"You are Claude Code, Anthropic's official CLI for Claude.\",\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t},\n\t\t];\n\t\tif (context.systemPrompt) {\n\t\t\tparams.system.push({\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(context.systemPrompt),\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t});\n\t\t}\n\t} else if (context.systemPrompt) {\n\t\t// Add cache control to system prompt for non-OAuth tokens\n\t\tparams.system = [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(context.systemPrompt),\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t},\n\t\t];\n\t}\n\n\t// Temperature is incompatible with extended thinking and unsupported on Claude Opus 4.7+.\n\tif (options?.temperature !== undefined && !options?.thinkingEnabled && compat.supportsTemperature) {\n\t\tparams.temperature = options.temperature;\n\t}\n\n\tif (immediateTools.length > 0 || deferredTools.length > 0) {\n\t\tparams.tools = [\n\t\t\t...convertTools(\n\t\t\t\timmediateTools,\n\t\t\t\tisOAuthToken,\n\t\t\t\tcompat.supportsEagerToolInputStreaming,\n\t\t\t\tcompat.supportsStrictTools,\n\t\t\t\tcompat.supportsCacheControlOnTools ? cacheControl : undefined,\n\t\t\t),\n\t\t\t...convertTools(\n\t\t\t\tdeferredTools,\n\t\t\t\tisOAuthToken,\n\t\t\t\tcompat.supportsEagerToolInputStreaming,\n\t\t\t\tcompat.supportsStrictTools,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t];\n\t}\n\n\t// Configure thinking mode: adaptive, budget-based, or explicitly disabled.\n\tif (model.reasoning) {\n\t\tif (options?.thinkingEnabled) {\n\t\t\t// Default to \"summarized\" so Opus 4.7 and Mythos Preview behave like\n\t\t\t// older Claude 4 models (whose API default is also \"summarized\").\n\t\t\tconst display: AnthropicThinkingDisplay = options.thinkingDisplay ?? \"summarized\";\n\t\t\tif (model.compat?.forceAdaptiveThinking === true) {\n\t\t\t\t// Adaptive thinking: Claude decides when and how much to think.\n\t\t\t\tparams.thinking = { type: \"adaptive\", display };\n\t\t\t\tif (options.effort) {\n\t\t\t\t\t// The Anthropic SDK types can lag newly supported effort values such as \"xhigh\".\n\t\t\t\t\tparams.output_config =\n\t\t\t\t\t\toptions.effort === \"xhigh\"\n\t\t\t\t\t\t\t? ({ effort: options.effort } as unknown as NonNullable<\n\t\t\t\t\t\t\t\t\tMessageCreateParamsStreaming[\"output_config\"]\n\t\t\t\t\t\t\t\t>)\n\t\t\t\t\t\t\t: { effort: options.effort };\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Budget-based thinking for older models\n\t\t\t\tparams.thinking = {\n\t\t\t\t\ttype: \"enabled\",\n\t\t\t\t\tbudget_tokens: options.thinkingBudgetTokens || 1024,\n\t\t\t\t\tdisplay,\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (options?.thinkingEnabled === false && model.thinkingLevelMap?.off !== null) {\n\t\t\tparams.thinking = { type: \"disabled\" };\n\t\t}\n\t}\n\n\tif (options?.metadata) {\n\t\tconst userId = options.metadata.user_id;\n\t\tif (typeof userId === \"string\") {\n\t\t\tparams.metadata = { user_id: userId };\n\t\t}\n\t}\n\n\tif (options?.toolChoice) {\n\t\tif (typeof options.toolChoice === \"string\") {\n\t\t\tparams.tool_choice = { type: options.toolChoice };\n\t\t} else {\n\t\t\tparams.tool_choice = options.toolChoice;\n\t\t}\n\t}\n\n\treturn params;\n}\n\n// Normalize tool call IDs to match Anthropic's required pattern and length\nfunction normalizeToolCallId(id: string): string {\n\treturn id.replace(/[^a-zA-Z0-9_-]/g, \"_\").slice(0, 64);\n}\n\nfunction convertToolResult(\n\tmsg: ToolResultMessage,\n\tisOAuthToken: boolean,\n\tdeferredToolNames: ReadonlySet<string>,\n\tloadedToolNames: Set<string>,\n\tnormalizeToolName: (name: string) => string,\n): { toolResult: ContentBlockParam; siblingContent: ContentBlockParam[] } {\n\tconst references: Array<{ type: \"tool_reference\"; tool_name: string }> = [];\n\tfor (const name of msg.addedToolNames ?? []) {\n\t\tconst normalizedName = normalizeToolName(name);\n\t\tif (!deferredToolNames.has(normalizedName) || loadedToolNames.has(normalizedName)) continue;\n\t\tloadedToolNames.add(normalizedName);\n\t\treferences.push({\n\t\t\ttype: \"tool_reference\",\n\t\t\ttool_name: isOAuthToken ? toClaudeCodeName(name) : name,\n\t\t});\n\t}\n\tconst convertedContent = convertContentBlocks(msg.content);\n\t// Anthropic rejects tool references mixed with ordinary tool-result content.\n\treturn {\n\t\ttoolResult: {\n\t\t\ttype: \"tool_result\",\n\t\t\ttool_use_id: msg.toolCallId,\n\t\t\tcontent: references.length > 0 ? references : convertedContent,\n\t\t\tis_error: msg.isError,\n\t\t},\n\t\tsiblingContent:\n\t\t\treferences.length === 0\n\t\t\t\t? []\n\t\t\t\t: typeof convertedContent === \"string\"\n\t\t\t\t\t? [{ type: \"text\", text: convertedContent }]\n\t\t\t\t\t: convertedContent,\n\t};\n}\n\nfunction convertMessages(\n\ttransformedMessages: Message[],\n\tisOAuthToken: boolean,\n\tcacheControl?: CacheControlEphemeral,\n\tallowEmptySignature = false,\n\tdeferredToolNames: ReadonlySet<string> = new Set(),\n\tnormalizeToolName: (name: string) => string = (name) => name,\n): MessageParam[] {\n\tconst params: MessageParam[] = [];\n\tconst loadedToolNames = new Set<string>();\n\n\tfor (let i = 0; i < transformedMessages.length; i++) {\n\t\tconst msg = transformedMessages[i];\n\n\t\tif (msg.role === \"user\") {\n\t\t\tif (typeof msg.content === \"string\") {\n\t\t\t\tif (msg.content.trim().length > 0) {\n\t\t\t\t\tparams.push({\n\t\t\t\t\t\trole: \"user\",\n\t\t\t\t\t\tcontent: sanitizeSurrogates(msg.content),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst blocks: ContentBlockParam[] = msg.content.map((item) => {\n\t\t\t\t\tif (item.type === \"text\") {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"image\",\n\t\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\t\ttype: \"base64\",\n\t\t\t\t\t\t\t\tmedia_type: item.mimeType as \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\",\n\t\t\t\t\t\t\t\tdata: item.data,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst filteredBlocks = blocks.filter((b) => {\n\t\t\t\t\tif (b.type === \"text\") {\n\t\t\t\t\t\treturn b.text.trim().length > 0;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\t\t\t\tif (filteredBlocks.length === 0) continue;\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent: filteredBlocks,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (msg.role === \"assistant\") {\n\t\t\tconst blocks: ContentBlockParam[] = [];\n\n\t\t\tfor (const block of msg.content) {\n\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\tif (block.text.trim().length === 0) continue;\n\t\t\t\t\tblocks.push({\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: sanitizeSurrogates(block.text),\n\t\t\t\t\t});\n\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\t// Redacted thinking: pass the opaque payload back as redacted_thinking\n\t\t\t\t\tif (block.redacted) {\n\t\t\t\t\t\tblocks.push({\n\t\t\t\t\t\t\ttype: \"redacted_thinking\",\n\t\t\t\t\t\t\tdata: block.thinkingSignature!,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tconst thinkingSignature = block.thinkingSignature;\n\t\t\t\t\tconst hasThinkingSignature = !!thinkingSignature && thinkingSignature.trim().length > 0;\n\t\t\t\t\tif (block.thinking.trim().length === 0 && !hasThinkingSignature) continue;\n\t\t\t\t\t// If thinking signature is missing/empty (e.g., from aborted stream),\n\t\t\t\t\t// convert to plain text for Anthropic. Some compatible providers emit\n\t\t\t\t\t// and accept empty signatures, so let marked models preserve the block.\n\t\t\t\t\tif (!hasThinkingSignature) {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tallowEmptySignature\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\t\t\t\tthinking: sanitizeSurrogates(block.thinking),\n\t\t\t\t\t\t\t\t\t\tsignature: \"\",\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\ttext: sanitizeSurrogates(block.thinking),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblocks.push({\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: sanitizeSurrogates(block.thinking),\n\t\t\t\t\t\t\tsignature: thinkingSignature,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\tblocks.push({\n\t\t\t\t\t\ttype: \"tool_use\",\n\t\t\t\t\t\tid: block.id,\n\t\t\t\t\t\tname: isOAuthToken ? toClaudeCodeName(block.name) : block.name,\n\t\t\t\t\t\tinput: block.arguments ?? {},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (blocks.length === 0) continue;\n\t\t\tparams.push({\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: blocks,\n\t\t\t});\n\t\t} else if (msg.role === \"toolResult\") {\n\t\t\t// Collect all consecutive toolResult messages, needed for z.ai Anthropic endpoint.\n\t\t\tconst toolResults: ContentBlockParam[] = [];\n\t\t\tconst siblingContent: ContentBlockParam[] = [];\n\t\t\tlet j = i;\n\t\t\twhile (j < transformedMessages.length && transformedMessages[j].role === \"toolResult\") {\n\t\t\t\tconst converted = convertToolResult(\n\t\t\t\t\ttransformedMessages[j] as ToolResultMessage,\n\t\t\t\t\tisOAuthToken,\n\t\t\t\t\tdeferredToolNames,\n\t\t\t\t\tloadedToolNames,\n\t\t\t\t\tnormalizeToolName,\n\t\t\t\t);\n\t\t\t\ttoolResults.push(converted.toolResult);\n\t\t\t\tsiblingContent.push(...converted.siblingContent);\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\t// Skip the messages we've already processed.\n\t\t\ti = j - 1;\n\n\t\t\t// Displaced reference-bearing results must follow every tool_result block.\n\t\t\tparams.push({\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: [...toolResults, ...siblingContent],\n\t\t\t});\n\t\t}\n\t}\n\n\t// Add cache_control to the last user message to cache conversation history\n\tif (cacheControl && params.length > 0) {\n\t\tconst lastMessage = params[params.length - 1];\n\t\tif (lastMessage.role === \"user\") {\n\t\t\tif (Array.isArray(lastMessage.content)) {\n\t\t\t\tconst lastBlock = lastMessage.content[lastMessage.content.length - 1];\n\t\t\t\tif (\n\t\t\t\t\tlastBlock &&\n\t\t\t\t\t(lastBlock.type === \"text\" || lastBlock.type === \"image\" || lastBlock.type === \"tool_result\")\n\t\t\t\t) {\n\t\t\t\t\t(lastBlock as any).cache_control = cacheControl;\n\t\t\t\t}\n\t\t\t} else if (typeof lastMessage.content === \"string\") {\n\t\t\t\tlastMessage.content = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: lastMessage.content,\n\t\t\t\t\t\tcache_control: cacheControl,\n\t\t\t\t\t},\n\t\t\t\t] as any;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn params;\n}\n\nfunction shouldUseFineGrainedToolStreamingBeta(model: Model<\"anthropic-messages\">, context: Context): boolean {\n\treturn !!context.tools?.length && !getAnthropicCompat(model).supportsEagerToolInputStreaming;\n}\n\nfunction convertTools(\n\ttools: Tool[],\n\tisOAuthToken: boolean,\n\tsupportsEagerToolInputStreaming: boolean,\n\tsupportsStrictTools: boolean,\n\tcacheControl?: CacheControlEphemeral,\n\tdeferLoading = false,\n): Anthropic.Messages.Tool[] {\n\tif (!tools) return [];\n\n\treturn tools.map((tool, index) => {\n\t\tconst strict = resolveJsonSchemaStrictSampling(tool, supportsStrictTools);\n\t\tconst schema = tool.parameters as { properties?: unknown; required?: string[] };\n\t\tconst legacyInputSchema = {\n\t\t\ttype: \"object\" as const,\n\t\t\tproperties: schema.properties ?? {},\n\t\t\trequired: schema.required ?? [],\n\t\t};\n\t\tconst inputSchema =\n\t\t\tstrict === true\n\t\t\t\t? {\n\t\t\t\t\t\t...(tool.parameters as Record<string, unknown>),\n\t\t\t\t\t\t...legacyInputSchema,\n\t\t\t\t\t}\n\t\t\t\t: legacyInputSchema;\n\n\t\treturn {\n\t\t\tname: isOAuthToken ? toClaudeCodeName(tool.name) : tool.name,\n\t\t\tdescription: tool.description,\n\t\t\t...(supportsEagerToolInputStreaming ? { eager_input_streaming: true } : {}),\n\t\t\t...(strict === true ? { strict: true } : {}),\n\t\t\tinput_schema: inputSchema,\n\t\t\t...(deferLoading ? { defer_loading: true } : {}),\n\t\t\t...(cacheControl && index === tools.length - 1 ? { cache_control: cacheControl } : {}),\n\t\t};\n\t});\n}\n\nfunction mapStopReason(\n\treason: Anthropic.Messages.StopReason | string,\n\tstopDetails?: RefusalStopDetails | null,\n): { stopReason: StopReason; errorMessage?: string } {\n\tswitch (reason) {\n\t\tcase \"end_turn\":\n\t\t\treturn { stopReason: \"stop\" };\n\t\tcase \"max_tokens\":\n\t\t\treturn { stopReason: \"length\" };\n\t\tcase \"tool_use\":\n\t\t\treturn { stopReason: \"toolUse\" };\n\t\tcase \"refusal\":\n\t\t\treturn {\n\t\t\t\tstopReason: \"error\",\n\t\t\t\terrorMessage: stopDetails?.explanation || `The model refused to complete the request`,\n\t\t\t};\n\t\tcase \"pause_turn\": // Stop is good enough -> resubmit\n\t\t\treturn { stopReason: \"stop\" };\n\t\tcase \"stop_sequence\":\n\t\t\treturn { stopReason: \"stop\" }; // We don't supply stop sequences, so this should never happen\n\t\tcase \"sensitive\": // Content flagged by safety filters (not yet in SDK types)\n\t\t\treturn { stopReason: \"error\", errorMessage: \"Provider stopped with: sensitive\" };\n\t\tdefault:\n\t\t\t// Handle unknown stop reasons gracefully (API may add new values)\n\t\t\tthrow new Error(`Unhandled stop reason: ${reason}`);\n\t}\n}\n"]}
|
|
@@ -397,7 +397,7 @@ export const stream = (model, context, options) => {
|
|
|
397
397
|
if (event.content_block.type === "text") {
|
|
398
398
|
const block = {
|
|
399
399
|
type: "text",
|
|
400
|
-
text: "",
|
|
400
|
+
text: event.content_block.text ?? "",
|
|
401
401
|
index: event.index,
|
|
402
402
|
};
|
|
403
403
|
output.content.push(block);
|
|
@@ -406,8 +406,8 @@ export const stream = (model, context, options) => {
|
|
|
406
406
|
else if (event.content_block.type === "thinking") {
|
|
407
407
|
const block = {
|
|
408
408
|
type: "thinking",
|
|
409
|
-
thinking: "",
|
|
410
|
-
thinkingSignature: "",
|
|
409
|
+
thinking: event.content_block.thinking ?? "",
|
|
410
|
+
thinkingSignature: event.content_block.signature ?? "",
|
|
411
411
|
index: event.index,
|
|
412
412
|
};
|
|
413
413
|
output.content.push(block);
|