indusagi 0.12.32 → 0.12.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +340 -0
- package/CREDITS.md +22 -0
- package/NOTICE +17 -0
- package/README.md +47 -388
- package/dist/agent.js +27512 -0
- package/dist/ai.js +19758 -0
- package/dist/capabilities.js +2663 -0
- package/dist/cli.js +11653 -0
- package/dist/connectors-saas.js +3289 -0
- package/dist/index.js +16533 -0
- package/dist/interop.js +3181 -0
- package/dist/knowledge/guides/authoring-an-agent.md +53 -0
- package/dist/knowledge/guides/choosing-tools.md +49 -0
- package/dist/knowledge/guides/model-selection.md +51 -0
- package/dist/knowledge/guides/writing-system-prompts.md +53 -0
- package/dist/knowledge/index.ts +19 -0
- package/dist/knowledge/loader.ts +200 -0
- package/dist/knowledge/manifest.json +29 -0
- package/dist/llmgateway.js +3209 -0
- package/dist/mcp.js +1732 -0
- package/dist/memory.js +0 -0
- package/dist/react-host/index.js +101 -0
- package/dist/react-host/ink.js +97 -0
- package/dist/react-host/jsx-runtime.js +95 -0
- package/dist/react-ink.js +3821 -0
- package/dist/runtime.js +4387 -0
- package/dist/shell-app.js +12222 -0
- package/dist/smithy.js +7932 -0
- package/dist/swarm.js +8717 -0
- package/dist/tracing.js +724 -0
- package/dist/tui.js +2213 -0
- package/dist/types/capabilities/backends/index.d.ts +10 -0
- package/dist/types/capabilities/backends/node-backends.d.ts +28 -0
- package/dist/types/capabilities/capabilities.test.d.ts +14 -0
- package/dist/types/capabilities/files/diff.d.ts +49 -0
- package/dist/types/capabilities/files/edit.d.ts +21 -0
- package/dist/types/capabilities/files/ls.d.ts +16 -0
- package/dist/types/capabilities/files/read.d.ts +15 -0
- package/dist/types/capabilities/files/write.d.ts +16 -0
- package/dist/types/capabilities/index.d.ts +29 -0
- package/dist/types/capabilities/kernel/backends.d.ts +119 -0
- package/dist/types/capabilities/kernel/context.d.ts +48 -0
- package/dist/types/capabilities/kernel/index.d.ts +24 -0
- package/dist/types/capabilities/kernel/output.d.ts +40 -0
- package/dist/types/capabilities/kernel/registry.d.ts +61 -0
- package/dist/types/capabilities/kernel/spec.d.ts +113 -0
- package/dist/types/capabilities/planning/todo.d.ts +62 -0
- package/dist/types/capabilities/registry.d.ts +44 -0
- package/dist/types/capabilities/search/find.d.ts +33 -0
- package/dist/types/capabilities/search/grep.d.ts +30 -0
- package/dist/types/capabilities/shell/bash.d.ts +18 -0
- package/dist/types/capabilities/shell/process.d.ts +33 -0
- package/dist/types/capabilities/web/webfetch.d.ts +25 -0
- package/dist/types/capabilities/web/websearch.d.ts +23 -0
- package/dist/types/connectors-saas/connectors-saas.test.d.ts +12 -0
- package/dist/types/connectors-saas/index.d.ts +16 -0
- package/dist/types/connectors-saas/saas/adapter/composio-backend.d.ts +60 -0
- package/dist/types/connectors-saas/saas/control/connect.d.ts +114 -0
- package/dist/types/connectors-saas/saas/control/tools.d.ts +67 -0
- package/dist/types/connectors-saas/saas/core/builder.d.ts +86 -0
- package/dist/types/connectors-saas/saas/core/cache.d.ts +53 -0
- package/dist/types/connectors-saas/saas/core/index.d.ts +14 -0
- package/dist/types/connectors-saas/saas/core/port.d.ts +157 -0
- package/dist/types/connectors-saas/saas/core/scope-planner.d.ts +74 -0
- package/dist/types/connectors-saas/saas/gateway.d.ts +133 -0
- package/dist/types/connectors-saas/saas/render/format.d.ts +54 -0
- package/dist/types/connectors-saas/saas/render/index.d.ts +19 -0
- package/dist/types/connectors-saas/saas/render/summarizers.d.ts +58 -0
- package/dist/types/facade/agent.d.ts +1 -0
- package/dist/types/facade/ai.d.ts +1 -0
- package/dist/types/facade/bot/actions/bash.d.ts +56 -0
- package/dist/types/facade/bot/actions/composio/accounts.d.ts +22 -0
- package/dist/types/facade/bot/actions/composio/client.d.ts +39 -0
- package/dist/types/facade/bot/actions/composio/connect.d.ts +19 -0
- package/dist/types/facade/bot/actions/composio/enable.d.ts +25 -0
- package/dist/types/facade/bot/actions/composio/execute.d.ts +26 -0
- package/dist/types/facade/bot/actions/composio/helpers.d.ts +16 -0
- package/dist/types/facade/bot/actions/composio/index.d.ts +9 -0
- package/dist/types/facade/bot/actions/composio/provider.d.ts +8 -0
- package/dist/types/facade/bot/actions/composio/toolkits.d.ts +22 -0
- package/dist/types/facade/bot/actions/composio/tools.d.ts +28 -0
- package/dist/types/facade/bot/actions/composio/types.d.ts +137 -0
- package/dist/types/facade/bot/actions/crew/activity-tracker.d.ts +65 -0
- package/dist/types/facade/bot/actions/crew/cleanup.d.ts +50 -0
- package/dist/types/facade/bot/actions/crew/fs-lock.d.ts +11 -0
- package/dist/types/facade/bot/actions/crew/index.d.ts +11 -0
- package/dist/types/facade/bot/actions/crew/mailbox.d.ts +20 -0
- package/dist/types/facade/bot/actions/crew/model-policy.d.ts +22 -0
- package/dist/types/facade/bot/actions/crew/names.d.ts +27 -0
- package/dist/types/facade/bot/actions/crew/protocol.d.ts +74 -0
- package/dist/types/facade/bot/actions/crew/task-store.d.ts +88 -0
- package/dist/types/facade/bot/actions/crew/team-attach-claim.d.ts +35 -0
- package/dist/types/facade/bot/actions/crew/team-config.d.ts +54 -0
- package/dist/types/facade/bot/actions/crew/worktree.d.ts +39 -0
- package/dist/types/facade/bot/actions/edit-diff.d.ts +66 -0
- package/dist/types/facade/bot/actions/edit.d.ts +41 -0
- package/dist/types/facade/bot/actions/find.d.ts +25 -0
- package/dist/types/facade/bot/actions/grep.d.ts +43 -0
- package/dist/types/facade/bot/actions/index.d.ts +300 -0
- package/dist/types/facade/bot/actions/kit/hook-runner.d.ts +12 -0
- package/dist/types/facade/bot/actions/kit/image-resize.d.ts +19 -0
- package/dist/types/facade/bot/actions/kit/mime.d.ts +1 -0
- package/dist/types/facade/bot/actions/kit/shell.d.ts +12 -0
- package/dist/types/facade/bot/actions/ls.d.ts +41 -0
- package/dist/types/facade/bot/actions/path-utils.d.ts +8 -0
- package/dist/types/facade/bot/actions/process-controller.d.ts +14 -0
- package/dist/types/facade/bot/actions/process-manager.d.ts +59 -0
- package/dist/types/facade/bot/actions/process-types.d.ts +73 -0
- package/dist/types/facade/bot/actions/process.d.ts +37 -0
- package/dist/types/facade/bot/actions/read.d.ts +36 -0
- package/dist/types/facade/bot/actions/registry.d.ts +20 -0
- package/dist/types/facade/bot/actions/todo-store.d.ts +76 -0
- package/dist/types/facade/bot/actions/todo-types.d.ts +72 -0
- package/dist/types/facade/bot/actions/todo.d.ts +76 -0
- package/dist/types/facade/bot/actions/truncate.d.ts +78 -0
- package/dist/types/facade/bot/actions/webfetch.d.ts +35 -0
- package/dist/types/facade/bot/actions/websearch.d.ts +34 -0
- package/dist/types/facade/bot/actions/write.d.ts +30 -0
- package/dist/types/facade/bot/agent-loop.d.ts +20 -0
- package/dist/types/facade/bot/agent.d.ts +132 -0
- package/dist/types/facade/bot/error-handler.d.ts +7 -0
- package/dist/types/facade/bot/event-bus.d.ts +8 -0
- package/dist/types/facade/bot/index.d.ts +7 -0
- package/dist/types/facade/bot/messages.d.ts +83 -0
- package/dist/types/facade/bot/proxy.d.ts +70 -0
- package/dist/types/facade/bot/session-manager.d.ts +409 -0
- package/dist/types/facade/bot/state-manager.d.ts +21 -0
- package/dist/types/facade/bot/telemetry.d.ts +6 -0
- package/dist/types/facade/bot/types.d.ts +207 -0
- package/dist/types/facade/mcp-core/client-pool.d.ts +105 -0
- package/dist/types/facade/mcp-core/client.d.ts +157 -0
- package/dist/types/facade/mcp-core/config.d.ts +60 -0
- package/dist/types/facade/mcp-core/errors.d.ts +103 -0
- package/dist/types/facade/mcp-core/index.d.ts +55 -0
- package/dist/types/facade/mcp-core/schema-converter.d.ts +67 -0
- package/dist/types/facade/mcp-core/server.d.ts +110 -0
- package/dist/types/facade/mcp-core/tool-factory.d.ts +62 -0
- package/dist/types/facade/mcp-core/types.d.ts +288 -0
- package/dist/types/facade/mcp.d.ts +1 -0
- package/dist/types/facade/memory.d.ts +1 -0
- package/dist/types/facade/ml/adapters/amazon-bedrock.d.ts +32 -0
- package/dist/types/facade/ml/adapters/anthropic.d.ts +61 -0
- package/dist/types/facade/ml/adapters/azure-openai-responses.d.ts +14 -0
- package/dist/types/facade/ml/adapters/google-shared.d.ts +99 -0
- package/dist/types/facade/ml/adapters/google-vertex.d.ts +14 -0
- package/dist/types/facade/ml/adapters/google.d.ts +15 -0
- package/dist/types/facade/ml/adapters/kimi.d.ts +21 -0
- package/dist/types/facade/ml/adapters/mock.d.ts +9 -0
- package/dist/types/facade/ml/adapters/nvidia.d.ts +12 -0
- package/dist/types/facade/ml/adapters/openai-codex-responses.d.ts +8 -0
- package/dist/types/facade/ml/adapters/openai-completions.d.ts +24 -0
- package/dist/types/facade/ml/adapters/openai-responses-shared.d.ts +25 -0
- package/dist/types/facade/ml/adapters/openai-responses.d.ts +12 -0
- package/dist/types/facade/ml/adapters/openai-scaffold.d.ts +3 -0
- package/dist/types/facade/ml/adapters/register-builtins.d.ts +2 -0
- package/dist/types/facade/ml/adapters/simple-options.d.ts +26 -0
- package/dist/types/facade/ml/adapters/transform-messages.d.ts +23 -0
- package/dist/types/facade/ml/api-registry.d.ts +49 -0
- package/dist/types/facade/ml/cli.d.ts +2 -0
- package/dist/types/facade/ml/env-api-keys.d.ts +19 -0
- package/dist/types/facade/ml/index.d.ts +27 -0
- package/dist/types/facade/ml/kit/auth/anthropic.d.ts +17 -0
- package/dist/types/facade/ml/kit/auth/github-copilot.d.ts +22 -0
- package/dist/types/facade/ml/kit/auth/index.d.ts +50 -0
- package/dist/types/facade/ml/kit/auth/kimi.d.ts +23 -0
- package/dist/types/facade/ml/kit/auth/oauth-page.d.ts +2 -0
- package/dist/types/facade/ml/kit/auth/openai-codex.d.ts +36 -0
- package/dist/types/facade/ml/kit/auth/pkce.d.ts +12 -0
- package/dist/types/facade/ml/kit/auth/types.d.ts +67 -0
- package/dist/types/facade/ml/kit/base-stream-handler.d.ts +30 -0
- package/dist/types/facade/ml/kit/event-stream.d.ts +63 -0
- package/dist/types/facade/ml/kit/index.d.ts +14 -0
- package/dist/types/facade/ml/kit/json-parse.d.ts +23 -0
- package/dist/types/facade/ml/kit/message-transform.d.ts +32 -0
- package/dist/types/facade/ml/kit/output-factory.d.ts +8 -0
- package/dist/types/facade/ml/kit/overflow.d.ts +9 -0
- package/dist/types/facade/ml/kit/provider-adapter.d.ts +56 -0
- package/dist/types/facade/ml/kit/provider-client-builder.d.ts +36 -0
- package/dist/types/facade/ml/kit/provider-consolidation.d.ts +3 -0
- package/dist/types/facade/ml/kit/provider-constants.d.ts +34 -0
- package/dist/types/facade/ml/kit/provider-errors.d.ts +52 -0
- package/dist/types/facade/ml/kit/sanitize-unicode.d.ts +2 -0
- package/dist/types/facade/ml/kit/stream-event-helper.d.ts +38 -0
- package/dist/types/facade/ml/kit/stream-handler-types.d.ts +46 -0
- package/dist/types/facade/ml/kit/streaming-state-manager.d.ts +42 -0
- package/dist/types/facade/ml/kit/tool-converter.d.ts +49 -0
- package/dist/types/facade/ml/kit/typebox-helpers.d.ts +24 -0
- package/dist/types/facade/ml/kit/validation.d.ts +26 -0
- package/dist/types/facade/ml/models.d.ts +41 -0
- package/dist/types/facade/ml/models.generated.d.ts +12261 -0
- package/dist/types/facade/ml/stream.d.ts +27 -0
- package/dist/types/facade/ml/types.d.ts +269 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/interop/index.d.ts +12 -0
- package/dist/types/interop/interop.test.d.ts +19 -0
- package/dist/types/interop/protocol-bridge/bridge.d.ts +52 -0
- package/dist/types/interop/protocol-bridge/contract.d.ts +249 -0
- package/dist/types/interop/protocol-bridge/endpoint.d.ts +124 -0
- package/dist/types/interop/protocol-bridge/fleet.d.ts +92 -0
- package/dist/types/interop/protocol-bridge/host.d.ts +61 -0
- package/dist/types/interop/protocol-bridge/index.d.ts +16 -0
- package/dist/types/interop/protocol-bridge/schema.d.ts +29 -0
- package/dist/types/llmgateway/catalog/cards.d.ts +18 -0
- package/dist/types/llmgateway/catalog/cost.d.ts +15 -0
- package/dist/types/llmgateway/catalog/index.d.ts +7 -0
- package/dist/types/llmgateway/catalog/query.d.ts +40 -0
- package/dist/types/llmgateway/connectors/anthropic.d.ts +35 -0
- package/dist/types/llmgateway/connectors/azure-openai.d.ts +33 -0
- package/dist/types/llmgateway/connectors/bedrock.d.ts +113 -0
- package/dist/types/llmgateway/connectors/google-vertex.d.ts +38 -0
- package/dist/types/llmgateway/connectors/google.d.ts +40 -0
- package/dist/types/llmgateway/connectors/index.d.ts +26 -0
- package/dist/types/llmgateway/connectors/kimi.d.ts +28 -0
- package/dist/types/llmgateway/connectors/mock.d.ts +37 -0
- package/dist/types/llmgateway/connectors/nvidia.d.ts +27 -0
- package/dist/types/llmgateway/connectors/ollama.d.ts +45 -0
- package/dist/types/llmgateway/connectors/openai-chat.d.ts +25 -0
- package/dist/types/llmgateway/connectors/openai-responses.d.ts +49 -0
- package/dist/types/llmgateway/contract/connector.d.ts +32 -0
- package/dist/types/llmgateway/contract/conversation.d.ts +86 -0
- package/dist/types/llmgateway/contract/emission.d.ts +55 -0
- package/dist/types/llmgateway/contract/errors.d.ts +27 -0
- package/dist/types/llmgateway/contract/index.d.ts +13 -0
- package/dist/types/llmgateway/contract/model-card.d.ts +42 -0
- package/dist/types/llmgateway/contract/options.d.ts +31 -0
- package/dist/types/llmgateway/contract/reply.d.ts +33 -0
- package/dist/types/llmgateway/conversion/index.d.ts +10 -0
- package/dist/types/llmgateway/conversion/mappers.d.ts +65 -0
- package/dist/types/llmgateway/conversion/openai-compatible.d.ts +46 -0
- package/dist/types/llmgateway/conversion/reduce.d.ts +20 -0
- package/dist/types/llmgateway/credentials/oauth.d.ts +73 -0
- package/dist/types/llmgateway/credentials/pkce.d.ts +52 -0
- package/dist/types/llmgateway/credentials/secrets.d.ts +74 -0
- package/dist/types/llmgateway/gateway.d.ts +34 -0
- package/dist/types/llmgateway/gateway.test.d.ts +14 -0
- package/dist/types/llmgateway/index.d.ts +11 -0
- package/dist/types/llmgateway/streaming/channel.d.ts +24 -0
- package/dist/types/llmgateway/streaming/index.d.ts +10 -0
- package/dist/types/llmgateway/streaming/ndjson.d.ts +17 -0
- package/dist/types/llmgateway/streaming/sse.d.ts +31 -0
- package/dist/types/react-host/index.d.ts +9 -0
- package/dist/types/react-host/ink.d.ts +5 -0
- package/dist/types/react-host/jsx-runtime.d.ts +4 -0
- package/dist/types/react-host/loader.d.ts +3 -0
- package/dist/types/react-ink/components/ChangelogBlock.d.ts +8 -0
- package/dist/types/react-ink/components/DisplayBlockView.d.ts +8 -0
- package/dist/types/react-ink/components/Footer.d.ts +11 -0
- package/dist/types/react-ink/components/MessageList.d.ts +14 -0
- package/dist/types/react-ink/components/MessageRow.d.ts +13 -0
- package/dist/types/react-ink/components/StatusLine.d.ts +9 -0
- package/dist/types/react-ink/components/TaskPanel.d.ts +11 -0
- package/dist/types/react-ink/components/ToolEventBlock.d.ts +24 -0
- package/dist/types/react-ink/components/dialogs/DialogFrame.d.ts +8 -0
- package/dist/types/react-ink/components/dialogs/LoginDialog.d.ts +14 -0
- package/dist/types/react-ink/components/dialogs/ModelDialog.d.ts +9 -0
- package/dist/types/react-ink/components/dialogs/OAuthDialog.d.ts +9 -0
- package/dist/types/react-ink/components/dialogs/ScopedModelsDialog.d.ts +9 -0
- package/dist/types/react-ink/components/dialogs/SelectableDialog.d.ts +22 -0
- package/dist/types/react-ink/components/dialogs/SessionDialog.d.ts +13 -0
- package/dist/types/react-ink/components/dialogs/SettingsDialog.d.ts +14 -0
- package/dist/types/react-ink/components/dialogs/StartupSessionPicker.d.ts +9 -0
- package/dist/types/react-ink/components/dialogs/ThemeDialog.d.ts +26 -0
- package/dist/types/react-ink/components/dialogs/TreeDialog.d.ts +8 -0
- package/dist/types/react-ink/components/dialogs/UserMessageDialog.d.ts +8 -0
- package/dist/types/react-ink/components/messages/AssistantMessage.d.ts +12 -0
- package/dist/types/react-ink/components/messages/BashMessage.d.ts +8 -0
- package/dist/types/react-ink/components/messages/BranchSummaryMessage.d.ts +8 -0
- package/dist/types/react-ink/components/messages/CompactionMessage.d.ts +8 -0
- package/dist/types/react-ink/components/messages/CustomMessage.d.ts +9 -0
- package/dist/types/react-ink/components/messages/SkillInvocationMessage.d.ts +7 -0
- package/dist/types/react-ink/components/messages/ToolCallMessage.d.ts +8 -0
- package/dist/types/react-ink/components/messages/ToolResultBlock.d.ts +12 -0
- package/dist/types/react-ink/components/messages/UserMessage.d.ts +9 -0
- package/dist/types/react-ink/diff/Diff.d.ts +22 -0
- package/dist/types/react-ink/diff/diff.test.d.ts +1 -0
- package/dist/types/react-ink/diff/structured.d.ts +41 -0
- package/dist/types/react-ink/diff/word-diff.d.ts +27 -0
- package/dist/types/react-ink/index.d.ts +42 -0
- package/dist/types/react-ink/markdown/Markdown.d.ts +23 -0
- package/dist/types/react-ink/markdown/MarkdownTable.d.ts +19 -0
- package/dist/types/react-ink/markdown/StreamingMarkdown.d.ts +34 -0
- package/dist/types/react-ink/markdown/format-token.d.ts +39 -0
- package/dist/types/react-ink/markdown/highlight.d.ts +31 -0
- package/dist/types/react-ink/theme-adapter.d.ts +66 -0
- package/dist/types/react-ink/types.d.ts +133 -0
- package/dist/types/react-ink/utils/message-groups.d.ts +25 -0
- package/dist/types/react-ink/utils/selection-dialog.d.ts +2 -0
- package/dist/types/react-ink/utils/session-browser.d.ts +27 -0
- package/dist/types/react-ink/utils/tool-display.d.ts +37 -0
- package/dist/types/runtime/cadence/cadence.test.d.ts +6 -0
- package/dist/types/runtime/cadence/fold.d.ts +48 -0
- package/dist/types/runtime/cadence/index.d.ts +12 -0
- package/dist/types/runtime/cadence/reducer.d.ts +44 -0
- package/dist/types/runtime/conductor/agent.d.ts +71 -0
- package/dist/types/runtime/conductor/index.d.ts +11 -0
- package/dist/types/runtime/contract/config.d.ts +44 -0
- package/dist/types/runtime/contract/effect.d.ts +41 -0
- package/dist/types/runtime/contract/errors.d.ts +22 -0
- package/dist/types/runtime/contract/events.d.ts +63 -0
- package/dist/types/runtime/contract/index.d.ts +18 -0
- package/dist/types/runtime/contract/run-state.d.ts +57 -0
- package/dist/types/runtime/contract/session.d.ts +42 -0
- package/dist/types/runtime/contract/signal.d.ts +49 -0
- package/dist/types/runtime/contract/tools.d.ts +45 -0
- package/dist/types/runtime/dispatch/index.d.ts +9 -0
- package/dist/types/runtime/dispatch/scheduler.d.ts +53 -0
- package/dist/types/runtime/index.d.ts +22 -0
- package/dist/types/runtime/ledger/accumulator.d.ts +44 -0
- package/dist/types/runtime/ledger/bus.d.ts +50 -0
- package/dist/types/runtime/ledger/index.d.ts +11 -0
- package/dist/types/runtime/memory/compactor.d.ts +56 -0
- package/dist/types/runtime/memory/estimate.d.ts +21 -0
- package/dist/types/runtime/memory/index.d.ts +8 -0
- package/dist/types/runtime/runtime.test.d.ts +15 -0
- package/dist/types/runtime/store/dag.d.ts +72 -0
- package/dist/types/runtime/store/hash.d.ts +18 -0
- package/dist/types/runtime/store/index.d.ts +12 -0
- package/dist/types/runtime/store/persist.d.ts +49 -0
- package/dist/types/runtime/turn/driver.d.ts +32 -0
- package/dist/types/runtime/turn/index.d.ts +8 -0
- package/dist/types/runtime/wire/index.d.ts +10 -0
- package/dist/types/runtime/wire/projectors.d.ts +53 -0
- package/dist/types/shell-app/auth-cli/index.d.ts +9 -0
- package/dist/types/shell-app/auth-cli/oauth-cli.d.ts +73 -0
- package/dist/types/shell-app/boot/context.d.ts +108 -0
- package/dist/types/shell-app/boot/index.d.ts +13 -0
- package/dist/types/shell-app/boot/pipeline.d.ts +66 -0
- package/dist/types/shell-app/boot/stages.d.ts +77 -0
- package/dist/types/shell-app/cli.d.ts +75 -0
- package/dist/types/shell-app/config/index.d.ts +11 -0
- package/dist/types/shell-app/config/locator.d.ts +85 -0
- package/dist/types/shell-app/config/settings.d.ts +91 -0
- package/dist/types/shell-app/index.d.ts +26 -0
- package/dist/types/shell-app/invocation/flags.d.ts +89 -0
- package/dist/types/shell-app/invocation/parse.d.ts +89 -0
- package/dist/types/shell-app/locate/brand.d.ts +71 -0
- package/dist/types/shell-app/locate/index.d.ts +12 -0
- package/dist/types/shell-app/locate/locator.d.ts +122 -0
- package/dist/types/shell-app/runners/contract.d.ts +116 -0
- package/dist/types/shell-app/runners/index.d.ts +15 -0
- package/dist/types/shell-app/runners/one-shot.d.ts +21 -0
- package/dist/types/shell-app/runners/registry.d.ts +34 -0
- package/dist/types/shell-app/runners/repl.d.ts +51 -0
- package/dist/types/shell-app/runners/wire.d.ts +34 -0
- package/dist/types/shell-app/shell-app.test.d.ts +14 -0
- package/dist/types/shell-app/upgrade/index.d.ts +9 -0
- package/dist/types/shell-app/upgrade/upgrades.d.ts +62 -0
- package/dist/types/smithy/config/flag-reader.d.ts +128 -0
- package/dist/types/smithy/config/index.d.ts +9 -0
- package/dist/types/smithy/forge.d.ts +135 -0
- package/dist/types/smithy/index.d.ts +36 -0
- package/dist/types/smithy/knowledge/index.d.ts +10 -0
- package/dist/types/smithy/knowledge/loader.d.ts +64 -0
- package/dist/types/smithy/persona/blueprint.d.ts +75 -0
- package/dist/types/smithy/persona/define-agent.d.ts +51 -0
- package/dist/types/smithy/persona/index.d.ts +14 -0
- package/dist/types/smithy/persona/profiles.d.ts +44 -0
- package/dist/types/smithy/runtime/index.d.ts +9 -0
- package/dist/types/smithy/runtime/tool-ledger.d.ts +130 -0
- package/dist/types/smithy/smithy.test.d.ts +20 -0
- package/dist/types/smithy/ui/index.d.ts +11 -0
- package/dist/types/smithy/ui/transcript.d.ts +183 -0
- package/dist/types/swarm/coordinator.d.ts +192 -0
- package/dist/types/swarm/index.d.ts +33 -0
- package/dist/types/swarm/isolation/index.d.ts +14 -0
- package/dist/types/swarm/isolation/runner.d.ts +61 -0
- package/dist/types/swarm/isolation/worktree.d.ts +142 -0
- package/dist/types/swarm/kernel/faults.d.ts +52 -0
- package/dist/types/swarm/kernel/ids.d.ts +25 -0
- package/dist/types/swarm/kernel/index.d.ts +26 -0
- package/dist/types/swarm/kernel/json-cell.d.ts +113 -0
- package/dist/types/swarm/kernel/jsonl-log.d.ts +81 -0
- package/dist/types/swarm/postbox/channel.d.ts +88 -0
- package/dist/types/swarm/postbox/codecs.d.ts +253 -0
- package/dist/types/swarm/postbox/index.d.ts +16 -0
- package/dist/types/swarm/roster/index.d.ts +16 -0
- package/dist/types/swarm/roster/manifest.d.ts +185 -0
- package/dist/types/swarm/swarm.test.d.ts +24 -0
- package/dist/types/swarm/telemetry/activity.d.ts +143 -0
- package/dist/types/swarm/workboard/board.d.ts +174 -0
- package/dist/types/swarm/workboard/dep-graph.d.ts +77 -0
- package/dist/types/swarm/workboard/index.d.ts +12 -0
- package/dist/types/tracing/adapter/index.d.ts +12 -0
- package/dist/types/tracing/adapter/runtime-trace.d.ts +54 -0
- package/dist/types/tracing/channel/index.d.ts +9 -0
- package/dist/types/tracing/channel/signal.d.ts +93 -0
- package/dist/types/tracing/index.d.ts +25 -0
- package/dist/types/tracing/recorder/index.d.ts +12 -0
- package/dist/types/tracing/recorder/recorder.d.ts +75 -0
- package/dist/types/tracing/recorder/sampling.d.ts +55 -0
- package/dist/types/tracing/redaction/index.d.ts +8 -0
- package/dist/types/tracing/redaction/secret-scrubber.d.ts +95 -0
- package/dist/types/tracing/registry/hub.d.ts +57 -0
- package/dist/types/tracing/registry/index.d.ts +7 -0
- package/dist/types/tracing/signal/handle.d.ts +73 -0
- package/dist/types/tracing/signal/index.d.ts +12 -0
- package/dist/types/tracing/signal/segment.d.ts +124 -0
- package/dist/types/tracing/sinks/base.d.ts +51 -0
- package/dist/types/tracing/sinks/console.d.ts +44 -0
- package/dist/types/tracing/sinks/file.d.ts +47 -0
- package/dist/types/tracing/sinks/index.d.ts +16 -0
- package/dist/types/tracing/sinks/stream.d.ts +46 -0
- package/dist/types/tracing/tracing.test.d.ts +7 -0
- package/dist/types/ui/autocomplete.d.ts +59 -0
- package/dist/types/ui/contracts.d.ts +38 -0
- package/dist/types/ui/editor-component.d.ts +100 -0
- package/dist/types/ui/fuzzy.d.ts +29 -0
- package/dist/types/ui/index.d.ts +8 -0
- package/dist/types/ui/keybindings.d.ts +62 -0
- package/dist/types/ui/keys.d.ts +171 -0
- package/dist/types/ui/theme-types.d.ts +36 -0
- package/dist/types/ui/utils.d.ts +101 -0
- package/dist/types/ui-bridge/InteractiveApp.d.ts +38 -0
- package/dist/types/ui-bridge/adapter.d.ts +90 -0
- package/dist/types/ui-bridge/index.d.ts +37 -0
- package/package.json +120 -107
- package/LICENSE +0 -8
- package/LICENSE-THIRD-PARTY.txt +0 -30
- package/local-dist-new/IndusForge/examples/research-agent.d.ts +0 -3
- package/local-dist-new/IndusForge/examples/research-agent.d.ts.map +0 -1
- package/local-dist-new/IndusForge/examples/research-agent.js +0 -18
- package/local-dist-new/IndusForge/examples/research-agent.js.map +0 -1
- package/local-dist-new/IndusForge/examples/review-agent.d.ts +0 -3
- package/local-dist-new/IndusForge/examples/review-agent.d.ts.map +0 -1
- package/local-dist-new/IndusForge/examples/review-agent.js +0 -18
- package/local-dist-new/IndusForge/examples/review-agent.js.map +0 -1
- package/local-dist-new/IndusForge/examples/terminal-builder-agent.d.ts +0 -3
- package/local-dist-new/IndusForge/examples/terminal-builder-agent.d.ts.map +0 -1
- package/local-dist-new/IndusForge/examples/terminal-builder-agent.js +0 -18
- package/local-dist-new/IndusForge/examples/terminal-builder-agent.js.map +0 -1
- package/local-dist-new/IndusForge/terminal-chat.d.ts +0 -2
- package/local-dist-new/IndusForge/terminal-chat.d.ts.map +0 -1
- package/local-dist-new/IndusForge/terminal-chat.js +0 -557
- package/local-dist-new/IndusForge/terminal-chat.js.map +0 -1
- package/local-dist-new/agent.d.ts +0 -6
- package/local-dist-new/agent.d.ts.map +0 -1
- package/local-dist-new/agent.js +0 -6
- package/local-dist-new/agent.js.map +0 -1
- package/local-dist-new/ai.d.ts +0 -6
- package/local-dist-new/ai.d.ts.map +0 -1
- package/local-dist-new/ai.js +0 -6
- package/local-dist-new/ai.js.map +0 -1
- package/local-dist-new/bot/actions/bash.d.ts +0 -56
- package/local-dist-new/bot/actions/bash.d.ts.map +0 -1
- package/local-dist-new/bot/actions/bash.js +0 -275
- package/local-dist-new/bot/actions/bash.js.map +0 -1
- package/local-dist-new/bot/actions/composio/accounts.d.ts +0 -23
- package/local-dist-new/bot/actions/composio/accounts.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/accounts.js +0 -40
- package/local-dist-new/bot/actions/composio/accounts.js.map +0 -1
- package/local-dist-new/bot/actions/composio/client.d.ts +0 -40
- package/local-dist-new/bot/actions/composio/client.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/client.js +0 -361
- package/local-dist-new/bot/actions/composio/client.js.map +0 -1
- package/local-dist-new/bot/actions/composio/connect.d.ts +0 -20
- package/local-dist-new/bot/actions/composio/connect.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/connect.js +0 -41
- package/local-dist-new/bot/actions/composio/connect.js.map +0 -1
- package/local-dist-new/bot/actions/composio/enable.d.ts +0 -26
- package/local-dist-new/bot/actions/composio/enable.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/enable.js +0 -66
- package/local-dist-new/bot/actions/composio/enable.js.map +0 -1
- package/local-dist-new/bot/actions/composio/execute.d.ts +0 -27
- package/local-dist-new/bot/actions/composio/execute.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/execute.js +0 -46
- package/local-dist-new/bot/actions/composio/execute.js.map +0 -1
- package/local-dist-new/bot/actions/composio/helpers.d.ts +0 -17
- package/local-dist-new/bot/actions/composio/helpers.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/helpers.js +0 -533
- package/local-dist-new/bot/actions/composio/helpers.js.map +0 -1
- package/local-dist-new/bot/actions/composio/index.d.ts +0 -10
- package/local-dist-new/bot/actions/composio/index.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/index.js +0 -9
- package/local-dist-new/bot/actions/composio/index.js.map +0 -1
- package/local-dist-new/bot/actions/composio/provider.d.ts +0 -9
- package/local-dist-new/bot/actions/composio/provider.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/provider.js +0 -54
- package/local-dist-new/bot/actions/composio/provider.js.map +0 -1
- package/local-dist-new/bot/actions/composio/toolkits.d.ts +0 -23
- package/local-dist-new/bot/actions/composio/toolkits.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/toolkits.js +0 -40
- package/local-dist-new/bot/actions/composio/toolkits.js.map +0 -1
- package/local-dist-new/bot/actions/composio/tools.d.ts +0 -29
- package/local-dist-new/bot/actions/composio/tools.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/tools.js +0 -72
- package/local-dist-new/bot/actions/composio/tools.js.map +0 -1
- package/local-dist-new/bot/actions/composio/types.d.ts +0 -138
- package/local-dist-new/bot/actions/composio/types.d.ts.map +0 -1
- package/local-dist-new/bot/actions/composio/types.js +0 -2
- package/local-dist-new/bot/actions/composio/types.js.map +0 -1
- package/local-dist-new/bot/actions/crew/activity-tracker.d.ts +0 -66
- package/local-dist-new/bot/actions/crew/activity-tracker.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/activity-tracker.js +0 -480
- package/local-dist-new/bot/actions/crew/activity-tracker.js.map +0 -1
- package/local-dist-new/bot/actions/crew/cleanup.d.ts +0 -51
- package/local-dist-new/bot/actions/crew/cleanup.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/cleanup.js +0 -219
- package/local-dist-new/bot/actions/crew/cleanup.js.map +0 -1
- package/local-dist-new/bot/actions/crew/fs-lock.d.ts +0 -12
- package/local-dist-new/bot/actions/crew/fs-lock.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/fs-lock.js +0 -74
- package/local-dist-new/bot/actions/crew/fs-lock.js.map +0 -1
- package/local-dist-new/bot/actions/crew/index.d.ts +0 -12
- package/local-dist-new/bot/actions/crew/index.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/index.js +0 -12
- package/local-dist-new/bot/actions/crew/index.js.map +0 -1
- package/local-dist-new/bot/actions/crew/mailbox.d.ts +0 -21
- package/local-dist-new/bot/actions/crew/mailbox.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/mailbox.js +0 -106
- package/local-dist-new/bot/actions/crew/mailbox.js.map +0 -1
- package/local-dist-new/bot/actions/crew/model-policy.d.ts +0 -23
- package/local-dist-new/bot/actions/crew/model-policy.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/model-policy.js +0 -113
- package/local-dist-new/bot/actions/crew/model-policy.js.map +0 -1
- package/local-dist-new/bot/actions/crew/names.d.ts +0 -28
- package/local-dist-new/bot/actions/crew/names.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/names.js +0 -109
- package/local-dist-new/bot/actions/crew/names.js.map +0 -1
- package/local-dist-new/bot/actions/crew/protocol.d.ts +0 -75
- package/local-dist-new/bot/actions/crew/protocol.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/protocol.js +0 -205
- package/local-dist-new/bot/actions/crew/protocol.js.map +0 -1
- package/local-dist-new/bot/actions/crew/task-store.d.ts +0 -89
- package/local-dist-new/bot/actions/crew/task-store.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/task-store.js +0 -445
- package/local-dist-new/bot/actions/crew/task-store.js.map +0 -1
- package/local-dist-new/bot/actions/crew/team-attach-claim.d.ts +0 -36
- package/local-dist-new/bot/actions/crew/team-attach-claim.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/team-attach-claim.js +0 -144
- package/local-dist-new/bot/actions/crew/team-attach-claim.js.map +0 -1
- package/local-dist-new/bot/actions/crew/team-config.d.ts +0 -55
- package/local-dist-new/bot/actions/crew/team-config.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/team-config.js +0 -252
- package/local-dist-new/bot/actions/crew/team-config.js.map +0 -1
- package/local-dist-new/bot/actions/crew/worktree.d.ts +0 -40
- package/local-dist-new/bot/actions/crew/worktree.d.ts.map +0 -1
- package/local-dist-new/bot/actions/crew/worktree.js +0 -213
- package/local-dist-new/bot/actions/crew/worktree.js.map +0 -1
- package/local-dist-new/bot/actions/edit-diff.d.ts +0 -63
- package/local-dist-new/bot/actions/edit-diff.d.ts.map +0 -1
- package/local-dist-new/bot/actions/edit-diff.js +0 -255
- package/local-dist-new/bot/actions/edit-diff.js.map +0 -1
- package/local-dist-new/bot/actions/edit.d.ts +0 -42
- package/local-dist-new/bot/actions/edit.d.ts.map +0 -1
- package/local-dist-new/bot/actions/edit.js +0 -176
- package/local-dist-new/bot/actions/edit.js.map +0 -1
- package/local-dist-new/bot/actions/find.d.ts +0 -26
- package/local-dist-new/bot/actions/find.d.ts.map +0 -1
- package/local-dist-new/bot/actions/find.js +0 -170
- package/local-dist-new/bot/actions/find.js.map +0 -1
- package/local-dist-new/bot/actions/grep.d.ts +0 -43
- package/local-dist-new/bot/actions/grep.d.ts.map +0 -1
- package/local-dist-new/bot/actions/grep.js +0 -218
- package/local-dist-new/bot/actions/grep.js.map +0 -1
- package/local-dist-new/bot/actions/index.d.ts +0 -301
- package/local-dist-new/bot/actions/index.d.ts.map +0 -1
- package/local-dist-new/bot/actions/index.js +0 -255
- package/local-dist-new/bot/actions/index.js.map +0 -1
- package/local-dist-new/bot/actions/kit/hook-runner.d.ts +0 -13
- package/local-dist-new/bot/actions/kit/hook-runner.d.ts.map +0 -1
- package/local-dist-new/bot/actions/kit/hook-runner.js +0 -33
- package/local-dist-new/bot/actions/kit/hook-runner.js.map +0 -1
- package/local-dist-new/bot/actions/kit/image-resize.d.ts +0 -20
- package/local-dist-new/bot/actions/kit/image-resize.d.ts.map +0 -1
- package/local-dist-new/bot/actions/kit/image-resize.js +0 -93
- package/local-dist-new/bot/actions/kit/image-resize.js.map +0 -1
- package/local-dist-new/bot/actions/kit/mime.d.ts +0 -2
- package/local-dist-new/bot/actions/kit/mime.d.ts.map +0 -1
- package/local-dist-new/bot/actions/kit/mime.js +0 -65
- package/local-dist-new/bot/actions/kit/mime.js.map +0 -1
- package/local-dist-new/bot/actions/kit/shell.d.ts +0 -13
- package/local-dist-new/bot/actions/kit/shell.d.ts.map +0 -1
- package/local-dist-new/bot/actions/kit/shell.js +0 -103
- package/local-dist-new/bot/actions/kit/shell.js.map +0 -1
- package/local-dist-new/bot/actions/ls.d.ts +0 -41
- package/local-dist-new/bot/actions/ls.d.ts.map +0 -1
- package/local-dist-new/bot/actions/ls.js +0 -174
- package/local-dist-new/bot/actions/ls.js.map +0 -1
- package/local-dist-new/bot/actions/path-utils.d.ts +0 -8
- package/local-dist-new/bot/actions/path-utils.d.ts.map +0 -1
- package/local-dist-new/bot/actions/path-utils.js +0 -75
- package/local-dist-new/bot/actions/path-utils.js.map +0 -1
- package/local-dist-new/bot/actions/process-controller.d.ts +0 -15
- package/local-dist-new/bot/actions/process-controller.d.ts.map +0 -1
- package/local-dist-new/bot/actions/process-controller.js +0 -39
- package/local-dist-new/bot/actions/process-controller.js.map +0 -1
- package/local-dist-new/bot/actions/process-manager.d.ts +0 -60
- package/local-dist-new/bot/actions/process-manager.d.ts.map +0 -1
- package/local-dist-new/bot/actions/process-manager.js +0 -485
- package/local-dist-new/bot/actions/process-manager.js.map +0 -1
- package/local-dist-new/bot/actions/process-types.d.ts +0 -74
- package/local-dist-new/bot/actions/process-types.d.ts.map +0 -1
- package/local-dist-new/bot/actions/process-types.js +0 -7
- package/local-dist-new/bot/actions/process-types.js.map +0 -1
- package/local-dist-new/bot/actions/process.d.ts +0 -38
- package/local-dist-new/bot/actions/process.d.ts.map +0 -1
- package/local-dist-new/bot/actions/process.js +0 -360
- package/local-dist-new/bot/actions/process.js.map +0 -1
- package/local-dist-new/bot/actions/read.d.ts +0 -37
- package/local-dist-new/bot/actions/read.d.ts.map +0 -1
- package/local-dist-new/bot/actions/read.js +0 -190
- package/local-dist-new/bot/actions/read.js.map +0 -1
- package/local-dist-new/bot/actions/registry.d.ts +0 -21
- package/local-dist-new/bot/actions/registry.d.ts.map +0 -1
- package/local-dist-new/bot/actions/registry.js +0 -23
- package/local-dist-new/bot/actions/registry.js.map +0 -1
- package/local-dist-new/bot/actions/todo-store.d.ts +0 -77
- package/local-dist-new/bot/actions/todo-store.d.ts.map +0 -1
- package/local-dist-new/bot/actions/todo-store.js +0 -137
- package/local-dist-new/bot/actions/todo-store.js.map +0 -1
- package/local-dist-new/bot/actions/todo-types.d.ts +0 -73
- package/local-dist-new/bot/actions/todo-types.d.ts.map +0 -1
- package/local-dist-new/bot/actions/todo-types.js +0 -8
- package/local-dist-new/bot/actions/todo-types.js.map +0 -1
- package/local-dist-new/bot/actions/todo.d.ts +0 -77
- package/local-dist-new/bot/actions/todo.d.ts.map +0 -1
- package/local-dist-new/bot/actions/todo.js +0 -122
- package/local-dist-new/bot/actions/todo.js.map +0 -1
- package/local-dist-new/bot/actions/truncate.d.ts +0 -73
- package/local-dist-new/bot/actions/truncate.d.ts.map +0 -1
- package/local-dist-new/bot/actions/truncate.js +0 -221
- package/local-dist-new/bot/actions/truncate.js.map +0 -1
- package/local-dist-new/bot/actions/webfetch.d.ts +0 -36
- package/local-dist-new/bot/actions/webfetch.d.ts.map +0 -1
- package/local-dist-new/bot/actions/webfetch.js +0 -247
- package/local-dist-new/bot/actions/webfetch.js.map +0 -1
- package/local-dist-new/bot/actions/websearch.d.ts +0 -35
- package/local-dist-new/bot/actions/websearch.d.ts.map +0 -1
- package/local-dist-new/bot/actions/websearch.js +0 -132
- package/local-dist-new/bot/actions/websearch.js.map +0 -1
- package/local-dist-new/bot/actions/write.d.ts +0 -31
- package/local-dist-new/bot/actions/write.d.ts.map +0 -1
- package/local-dist-new/bot/actions/write.js +0 -139
- package/local-dist-new/bot/actions/write.js.map +0 -1
- package/local-dist-new/bot/agent-loop.d.ts +0 -15
- package/local-dist-new/bot/agent-loop.d.ts.map +0 -1
- package/local-dist-new/bot/agent-loop.js +0 -293
- package/local-dist-new/bot/agent-loop.js.map +0 -1
- package/local-dist-new/bot/agent.d.ts +0 -122
- package/local-dist-new/bot/agent.d.ts.map +0 -1
- package/local-dist-new/bot/agent.js +0 -393
- package/local-dist-new/bot/agent.js.map +0 -1
- package/local-dist-new/bot/error-handler.d.ts +0 -8
- package/local-dist-new/bot/error-handler.d.ts.map +0 -1
- package/local-dist-new/bot/error-handler.js +0 -8
- package/local-dist-new/bot/error-handler.js.map +0 -1
- package/local-dist-new/bot/event-bus.d.ts +0 -9
- package/local-dist-new/bot/event-bus.d.ts.map +0 -1
- package/local-dist-new/bot/event-bus.js +0 -15
- package/local-dist-new/bot/event-bus.js.map +0 -1
- package/local-dist-new/bot/index.d.ts +0 -8
- package/local-dist-new/bot/index.d.ts.map +0 -1
- package/local-dist-new/bot/index.js +0 -8
- package/local-dist-new/bot/index.js.map +0 -1
- package/local-dist-new/bot/messages.d.ts +0 -77
- package/local-dist-new/bot/messages.d.ts.map +0 -1
- package/local-dist-new/bot/messages.js +0 -116
- package/local-dist-new/bot/messages.js.map +0 -1
- package/local-dist-new/bot/proxy.d.ts +0 -66
- package/local-dist-new/bot/proxy.d.ts.map +0 -1
- package/local-dist-new/bot/proxy.js +0 -228
- package/local-dist-new/bot/proxy.js.map +0 -1
- package/local-dist-new/bot/session-manager.d.ts +0 -448
- package/local-dist-new/bot/session-manager.d.ts.map +0 -1
- package/local-dist-new/bot/session-manager.js +0 -1232
- package/local-dist-new/bot/session-manager.js.map +0 -1
- package/local-dist-new/bot/state-manager.d.ts +0 -22
- package/local-dist-new/bot/state-manager.d.ts.map +0 -1
- package/local-dist-new/bot/state-manager.js +0 -60
- package/local-dist-new/bot/state-manager.js.map +0 -1
- package/local-dist-new/bot/telemetry.d.ts +0 -7
- package/local-dist-new/bot/telemetry.d.ts.map +0 -1
- package/local-dist-new/bot/telemetry.js +0 -18
- package/local-dist-new/bot/telemetry.js.map +0 -1
- package/local-dist-new/bot/types.d.ts +0 -205
- package/local-dist-new/bot/types.d.ts.map +0 -1
- package/local-dist-new/bot/types.js +0 -60
- package/local-dist-new/bot/types.js.map +0 -1
- package/local-dist-new/cli.d.ts +0 -3
- package/local-dist-new/cli.d.ts.map +0 -1
- package/local-dist-new/cli.js +0 -3
- package/local-dist-new/cli.js.map +0 -1
- package/local-dist-new/index.d.ts +0 -7
- package/local-dist-new/index.d.ts.map +0 -1
- package/local-dist-new/index.js +0 -7
- package/local-dist-new/index.js.map +0 -1
- package/local-dist-new/mcp/client-pool.d.ts +0 -106
- package/local-dist-new/mcp/client-pool.d.ts.map +0 -1
- package/local-dist-new/mcp/client-pool.js +0 -234
- package/local-dist-new/mcp/client-pool.js.map +0 -1
- package/local-dist-new/mcp/client.d.ts +0 -158
- package/local-dist-new/mcp/client.d.ts.map +0 -1
- package/local-dist-new/mcp/client.js +0 -611
- package/local-dist-new/mcp/client.js.map +0 -1
- package/local-dist-new/mcp/config.d.ts +0 -61
- package/local-dist-new/mcp/config.d.ts.map +0 -1
- package/local-dist-new/mcp/config.js +0 -250
- package/local-dist-new/mcp/config.js.map +0 -1
- package/local-dist-new/mcp/errors.d.ts +0 -104
- package/local-dist-new/mcp/errors.d.ts.map +0 -1
- package/local-dist-new/mcp/errors.js +0 -146
- package/local-dist-new/mcp/errors.js.map +0 -1
- package/local-dist-new/mcp/index.d.ts +0 -56
- package/local-dist-new/mcp/index.d.ts.map +0 -1
- package/local-dist-new/mcp/index.js +0 -83
- package/local-dist-new/mcp/index.js.map +0 -1
- package/local-dist-new/mcp/schema-converter.d.ts +0 -68
- package/local-dist-new/mcp/schema-converter.d.ts.map +0 -1
- package/local-dist-new/mcp/schema-converter.js +0 -230
- package/local-dist-new/mcp/schema-converter.js.map +0 -1
- package/local-dist-new/mcp/server.d.ts +0 -111
- package/local-dist-new/mcp/server.d.ts.map +0 -1
- package/local-dist-new/mcp/server.js +0 -305
- package/local-dist-new/mcp/server.js.map +0 -1
- package/local-dist-new/mcp/tool-factory.d.ts +0 -63
- package/local-dist-new/mcp/tool-factory.d.ts.map +0 -1
- package/local-dist-new/mcp/tool-factory.js +0 -228
- package/local-dist-new/mcp/tool-factory.js.map +0 -1
- package/local-dist-new/mcp/types.d.ts +0 -289
- package/local-dist-new/mcp/types.d.ts.map +0 -1
- package/local-dist-new/mcp/types.js +0 -8
- package/local-dist-new/mcp/types.js.map +0 -1
- package/local-dist-new/mcp.d.ts +0 -2
- package/local-dist-new/mcp.d.ts.map +0 -1
- package/local-dist-new/mcp.js +0 -2
- package/local-dist-new/mcp.js.map +0 -1
- package/local-dist-new/ml/adapters/amazon-bedrock.d.ts +0 -33
- package/local-dist-new/ml/adapters/amazon-bedrock.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/amazon-bedrock.js +0 -610
- package/local-dist-new/ml/adapters/amazon-bedrock.js.map +0 -1
- package/local-dist-new/ml/adapters/anthropic.d.ts +0 -62
- package/local-dist-new/ml/adapters/anthropic.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/anthropic.js +0 -682
- package/local-dist-new/ml/adapters/anthropic.js.map +0 -1
- package/local-dist-new/ml/adapters/azure-openai-responses.d.ts +0 -15
- package/local-dist-new/ml/adapters/azure-openai-responses.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/azure-openai-responses.js +0 -233
- package/local-dist-new/ml/adapters/azure-openai-responses.js.map +0 -1
- package/local-dist-new/ml/adapters/google-shared.d.ts +0 -60
- package/local-dist-new/ml/adapters/google-shared.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/google-shared.js +0 -316
- package/local-dist-new/ml/adapters/google-shared.js.map +0 -1
- package/local-dist-new/ml/adapters/google-vertex.d.ts +0 -15
- package/local-dist-new/ml/adapters/google-vertex.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/google-vertex.js +0 -396
- package/local-dist-new/ml/adapters/google-vertex.js.map +0 -1
- package/local-dist-new/ml/adapters/google.d.ts +0 -16
- package/local-dist-new/ml/adapters/google.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/google.js +0 -381
- package/local-dist-new/ml/adapters/google.js.map +0 -1
- package/local-dist-new/ml/adapters/kimi.d.ts +0 -22
- package/local-dist-new/ml/adapters/kimi.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/kimi.js +0 -249
- package/local-dist-new/ml/adapters/kimi.js.map +0 -1
- package/local-dist-new/ml/adapters/mock.d.ts +0 -10
- package/local-dist-new/ml/adapters/mock.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/mock.js +0 -64
- package/local-dist-new/ml/adapters/mock.js.map +0 -1
- package/local-dist-new/ml/adapters/nvidia.d.ts +0 -14
- package/local-dist-new/ml/adapters/nvidia.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/nvidia.js +0 -377
- package/local-dist-new/ml/adapters/nvidia.js.map +0 -1
- package/local-dist-new/ml/adapters/openai-codex-responses.d.ts +0 -9
- package/local-dist-new/ml/adapters/openai-codex-responses.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/openai-codex-responses.js +0 -397
- package/local-dist-new/ml/adapters/openai-codex-responses.js.map +0 -1
- package/local-dist-new/ml/adapters/openai-completions.d.ts +0 -25
- package/local-dist-new/ml/adapters/openai-completions.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/openai-completions.js +0 -831
- package/local-dist-new/ml/adapters/openai-completions.js.map +0 -1
- package/local-dist-new/ml/adapters/openai-responses-shared.d.ts +0 -26
- package/local-dist-new/ml/adapters/openai-responses-shared.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/openai-responses-shared.js +0 -461
- package/local-dist-new/ml/adapters/openai-responses-shared.js.map +0 -1
- package/local-dist-new/ml/adapters/openai-responses.d.ts +0 -13
- package/local-dist-new/ml/adapters/openai-responses.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/openai-responses.js +0 -209
- package/local-dist-new/ml/adapters/openai-responses.js.map +0 -1
- package/local-dist-new/ml/adapters/openai-scaffold.d.ts +0 -4
- package/local-dist-new/ml/adapters/openai-scaffold.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/openai-scaffold.js +0 -33
- package/local-dist-new/ml/adapters/openai-scaffold.js.map +0 -1
- package/local-dist-new/ml/adapters/register-builtins.d.ts +0 -3
- package/local-dist-new/ml/adapters/register-builtins.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/register-builtins.js +0 -143
- package/local-dist-new/ml/adapters/register-builtins.js.map +0 -1
- package/local-dist-new/ml/adapters/simple-options.d.ts +0 -27
- package/local-dist-new/ml/adapters/simple-options.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/simple-options.js +0 -96
- package/local-dist-new/ml/adapters/simple-options.js.map +0 -1
- package/local-dist-new/ml/adapters/transform-messages.d.ts +0 -22
- package/local-dist-new/ml/adapters/transform-messages.d.ts.map +0 -1
- package/local-dist-new/ml/adapters/transform-messages.js +0 -147
- package/local-dist-new/ml/adapters/transform-messages.js.map +0 -1
- package/local-dist-new/ml/api-registry.d.ts +0 -50
- package/local-dist-new/ml/api-registry.d.ts.map +0 -1
- package/local-dist-new/ml/api-registry.js +0 -121
- package/local-dist-new/ml/api-registry.js.map +0 -1
- package/local-dist-new/ml/cli.d.ts +0 -3
- package/local-dist-new/ml/cli.d.ts.map +0 -1
- package/local-dist-new/ml/cli.js +0 -117
- package/local-dist-new/ml/cli.js.map +0 -1
- package/local-dist-new/ml/env-api-keys.d.ts +0 -18
- package/local-dist-new/ml/env-api-keys.d.ts.map +0 -1
- package/local-dist-new/ml/env-api-keys.js +0 -122
- package/local-dist-new/ml/env-api-keys.js.map +0 -1
- package/local-dist-new/ml/index.d.ts +0 -28
- package/local-dist-new/ml/index.d.ts.map +0 -1
- package/local-dist-new/ml/index.js +0 -28
- package/local-dist-new/ml/index.js.map +0 -1
- package/local-dist-new/ml/kit/auth/anthropic.d.ts +0 -18
- package/local-dist-new/ml/kit/auth/anthropic.d.ts.map +0 -1
- package/local-dist-new/ml/kit/auth/anthropic.js +0 -152
- package/local-dist-new/ml/kit/auth/anthropic.js.map +0 -1
- package/local-dist-new/ml/kit/auth/github-copilot.d.ts +0 -23
- package/local-dist-new/ml/kit/auth/github-copilot.d.ts.map +0 -1
- package/local-dist-new/ml/kit/auth/github-copilot.js +0 -275
- package/local-dist-new/ml/kit/auth/github-copilot.js.map +0 -1
- package/local-dist-new/ml/kit/auth/index.d.ts +0 -50
- package/local-dist-new/ml/kit/auth/index.d.ts.map +0 -1
- package/local-dist-new/ml/kit/auth/index.js +0 -112
- package/local-dist-new/ml/kit/auth/index.js.map +0 -1
- package/local-dist-new/ml/kit/auth/kimi.d.ts +0 -24
- package/local-dist-new/ml/kit/auth/kimi.d.ts.map +0 -1
- package/local-dist-new/ml/kit/auth/kimi.js +0 -30
- package/local-dist-new/ml/kit/auth/kimi.js.map +0 -1
- package/local-dist-new/ml/kit/auth/oauth-page.d.ts +0 -3
- package/local-dist-new/ml/kit/auth/oauth-page.d.ts.map +0 -1
- package/local-dist-new/ml/kit/auth/oauth-page.js +0 -105
- package/local-dist-new/ml/kit/auth/oauth-page.js.map +0 -1
- package/local-dist-new/ml/kit/auth/openai-codex.d.ts +0 -34
- package/local-dist-new/ml/kit/auth/openai-codex.d.ts.map +0 -1
- package/local-dist-new/ml/kit/auth/openai-codex.js +0 -373
- package/local-dist-new/ml/kit/auth/openai-codex.js.map +0 -1
- package/local-dist-new/ml/kit/auth/pkce.d.ts +0 -13
- package/local-dist-new/ml/kit/auth/pkce.d.ts.map +0 -1
- package/local-dist-new/ml/kit/auth/pkce.js +0 -31
- package/local-dist-new/ml/kit/auth/pkce.js.map +0 -1
- package/local-dist-new/ml/kit/auth/types.d.ts +0 -72
- package/local-dist-new/ml/kit/auth/types.d.ts.map +0 -1
- package/local-dist-new/ml/kit/auth/types.js +0 -11
- package/local-dist-new/ml/kit/auth/types.js.map +0 -1
- package/local-dist-new/ml/kit/base-stream-handler.d.ts +0 -16
- package/local-dist-new/ml/kit/base-stream-handler.d.ts.map +0 -1
- package/local-dist-new/ml/kit/base-stream-handler.js +0 -25
- package/local-dist-new/ml/kit/base-stream-handler.js.map +0 -1
- package/local-dist-new/ml/kit/event-stream.d.ts +0 -45
- package/local-dist-new/ml/kit/event-stream.d.ts.map +0 -1
- package/local-dist-new/ml/kit/event-stream.js +0 -178
- package/local-dist-new/ml/kit/event-stream.js.map +0 -1
- package/local-dist-new/ml/kit/index.d.ts +0 -15
- package/local-dist-new/ml/kit/index.d.ts.map +0 -1
- package/local-dist-new/ml/kit/index.js +0 -15
- package/local-dist-new/ml/kit/index.js.map +0 -1
- package/local-dist-new/ml/kit/json-parse.d.ts +0 -21
- package/local-dist-new/ml/kit/json-parse.d.ts.map +0 -1
- package/local-dist-new/ml/kit/json-parse.js +0 -44
- package/local-dist-new/ml/kit/json-parse.js.map +0 -1
- package/local-dist-new/ml/kit/message-transform.d.ts +0 -29
- package/local-dist-new/ml/kit/message-transform.d.ts.map +0 -1
- package/local-dist-new/ml/kit/message-transform.js +0 -55
- package/local-dist-new/ml/kit/message-transform.js.map +0 -1
- package/local-dist-new/ml/kit/output-factory.d.ts +0 -3
- package/local-dist-new/ml/kit/output-factory.d.ts.map +0 -1
- package/local-dist-new/ml/kit/output-factory.js +0 -23
- package/local-dist-new/ml/kit/output-factory.js.map +0 -1
- package/local-dist-new/ml/kit/overflow.d.ts +0 -10
- package/local-dist-new/ml/kit/overflow.d.ts.map +0 -1
- package/local-dist-new/ml/kit/overflow.js +0 -76
- package/local-dist-new/ml/kit/overflow.js.map +0 -1
- package/local-dist-new/ml/kit/provider-adapter.d.ts +0 -57
- package/local-dist-new/ml/kit/provider-adapter.d.ts.map +0 -1
- package/local-dist-new/ml/kit/provider-adapter.js +0 -37
- package/local-dist-new/ml/kit/provider-adapter.js.map +0 -1
- package/local-dist-new/ml/kit/provider-client-builder.d.ts +0 -37
- package/local-dist-new/ml/kit/provider-client-builder.d.ts.map +0 -1
- package/local-dist-new/ml/kit/provider-client-builder.js +0 -50
- package/local-dist-new/ml/kit/provider-client-builder.js.map +0 -1
- package/local-dist-new/ml/kit/provider-consolidation.d.ts +0 -4
- package/local-dist-new/ml/kit/provider-consolidation.d.ts.map +0 -1
- package/local-dist-new/ml/kit/provider-consolidation.js +0 -33
- package/local-dist-new/ml/kit/provider-consolidation.js.map +0 -1
- package/local-dist-new/ml/kit/provider-constants.d.ts +0 -35
- package/local-dist-new/ml/kit/provider-constants.d.ts.map +0 -1
- package/local-dist-new/ml/kit/provider-constants.js +0 -35
- package/local-dist-new/ml/kit/provider-constants.js.map +0 -1
- package/local-dist-new/ml/kit/provider-errors.d.ts +0 -46
- package/local-dist-new/ml/kit/provider-errors.d.ts.map +0 -1
- package/local-dist-new/ml/kit/provider-errors.js +0 -103
- package/local-dist-new/ml/kit/provider-errors.js.map +0 -1
- package/local-dist-new/ml/kit/sanitize-unicode.d.ts +0 -3
- package/local-dist-new/ml/kit/sanitize-unicode.d.ts.map +0 -1
- package/local-dist-new/ml/kit/sanitize-unicode.js +0 -60
- package/local-dist-new/ml/kit/sanitize-unicode.js.map +0 -1
- package/local-dist-new/ml/kit/stream-event-helper.d.ts +0 -28
- package/local-dist-new/ml/kit/stream-event-helper.d.ts.map +0 -1
- package/local-dist-new/ml/kit/stream-event-helper.js +0 -52
- package/local-dist-new/ml/kit/stream-event-helper.js.map +0 -1
- package/local-dist-new/ml/kit/stream-handler-types.d.ts +0 -43
- package/local-dist-new/ml/kit/stream-handler-types.d.ts.map +0 -1
- package/local-dist-new/ml/kit/stream-handler-types.js +0 -23
- package/local-dist-new/ml/kit/stream-handler-types.js.map +0 -1
- package/local-dist-new/ml/kit/streaming-state-manager.d.ts +0 -50
- package/local-dist-new/ml/kit/streaming-state-manager.d.ts.map +0 -1
- package/local-dist-new/ml/kit/streaming-state-manager.js +0 -67
- package/local-dist-new/ml/kit/streaming-state-manager.js.map +0 -1
- package/local-dist-new/ml/kit/tool-converter.d.ts +0 -50
- package/local-dist-new/ml/kit/tool-converter.d.ts.map +0 -1
- package/local-dist-new/ml/kit/tool-converter.js +0 -54
- package/local-dist-new/ml/kit/tool-converter.js.map +0 -1
- package/local-dist-new/ml/kit/typebox-helpers.d.ts +0 -24
- package/local-dist-new/ml/kit/typebox-helpers.d.ts.map +0 -1
- package/local-dist-new/ml/kit/typebox-helpers.js +0 -46
- package/local-dist-new/ml/kit/typebox-helpers.js.map +0 -1
- package/local-dist-new/ml/kit/validation.d.ts +0 -24
- package/local-dist-new/ml/kit/validation.d.ts.map +0 -1
- package/local-dist-new/ml/kit/validation.js +0 -119
- package/local-dist-new/ml/kit/validation.js.map +0 -1
- package/local-dist-new/ml/models.d.ts +0 -41
- package/local-dist-new/ml/models.d.ts.map +0 -1
- package/local-dist-new/ml/models.generated.d.ts +0 -12245
- package/local-dist-new/ml/models.generated.d.ts.map +0 -1
- package/local-dist-new/ml/models.generated.js +0 -12080
- package/local-dist-new/ml/models.generated.js.map +0 -1
- package/local-dist-new/ml/models.js +0 -126
- package/local-dist-new/ml/models.js.map +0 -1
- package/local-dist-new/ml/stream.d.ts +0 -12
- package/local-dist-new/ml/stream.d.ts.map +0 -1
- package/local-dist-new/ml/stream.js +0 -54
- package/local-dist-new/ml/stream.js.map +0 -1
- package/local-dist-new/ml/types.d.ts +0 -270
- package/local-dist-new/ml/types.d.ts.map +0 -1
- package/local-dist-new/ml/types.js +0 -169
- package/local-dist-new/ml/types.js.map +0 -1
- package/local-dist-new/observability.d.ts +0 -2
- package/local-dist-new/observability.d.ts.map +0 -1
- package/local-dist-new/observability.js +0 -2
- package/local-dist-new/observability.js.map +0 -1
- package/local-dist-new/react-host/index.d.ts +0 -10
- package/local-dist-new/react-host/index.d.ts.map +0 -1
- package/local-dist-new/react-host/index.js +0 -9
- package/local-dist-new/react-host/index.js.map +0 -1
- package/local-dist-new/react-host/ink.d.ts +0 -6
- package/local-dist-new/react-host/ink.d.ts.map +0 -1
- package/local-dist-new/react-host/ink.js +0 -7
- package/local-dist-new/react-host/ink.js.map +0 -1
- package/local-dist-new/react-host/jsx-runtime.d.ts +0 -5
- package/local-dist-new/react-host/jsx-runtime.d.ts.map +0 -1
- package/local-dist-new/react-host/jsx-runtime.js +0 -6
- package/local-dist-new/react-host/jsx-runtime.js.map +0 -1
- package/local-dist-new/react-host/loader.d.ts +0 -4
- package/local-dist-new/react-host/loader.d.ts.map +0 -1
- package/local-dist-new/react-host/loader.js +0 -108
- package/local-dist-new/react-host/loader.js.map +0 -1
- package/local-dist-new/react-ink/components/ChangelogBlock.d.ts +0 -9
- package/local-dist-new/react-ink/components/ChangelogBlock.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/ChangelogBlock.js +0 -58
- package/local-dist-new/react-ink/components/ChangelogBlock.js.map +0 -1
- package/local-dist-new/react-ink/components/DisplayBlockView.d.ts +0 -9
- package/local-dist-new/react-ink/components/DisplayBlockView.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/DisplayBlockView.js +0 -11
- package/local-dist-new/react-ink/components/DisplayBlockView.js.map +0 -1
- package/local-dist-new/react-ink/components/Footer.d.ts +0 -12
- package/local-dist-new/react-ink/components/Footer.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/Footer.js +0 -113
- package/local-dist-new/react-ink/components/Footer.js.map +0 -1
- package/local-dist-new/react-ink/components/MessageList.d.ts +0 -15
- package/local-dist-new/react-ink/components/MessageList.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/MessageList.js +0 -43
- package/local-dist-new/react-ink/components/MessageList.js.map +0 -1
- package/local-dist-new/react-ink/components/MessageRow.d.ts +0 -14
- package/local-dist-new/react-ink/components/MessageRow.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/MessageRow.js +0 -35
- package/local-dist-new/react-ink/components/MessageRow.js.map +0 -1
- package/local-dist-new/react-ink/components/StatusLine.d.ts +0 -10
- package/local-dist-new/react-ink/components/StatusLine.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/StatusLine.js +0 -39
- package/local-dist-new/react-ink/components/StatusLine.js.map +0 -1
- package/local-dist-new/react-ink/components/TaskPanel.d.ts +0 -12
- package/local-dist-new/react-ink/components/TaskPanel.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/TaskPanel.js +0 -23
- package/local-dist-new/react-ink/components/TaskPanel.js.map +0 -1
- package/local-dist-new/react-ink/components/ToolEventBlock.d.ts +0 -18
- package/local-dist-new/react-ink/components/ToolEventBlock.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/ToolEventBlock.js +0 -61
- package/local-dist-new/react-ink/components/ToolEventBlock.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/DialogFrame.d.ts +0 -9
- package/local-dist-new/react-ink/components/dialogs/DialogFrame.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/DialogFrame.js +0 -6
- package/local-dist-new/react-ink/components/dialogs/DialogFrame.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/LoginDialog.d.ts +0 -15
- package/local-dist-new/react-ink/components/dialogs/LoginDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/LoginDialog.js +0 -10
- package/local-dist-new/react-ink/components/dialogs/LoginDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/ModelDialog.d.ts +0 -10
- package/local-dist-new/react-ink/components/dialogs/ModelDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/ModelDialog.js +0 -64
- package/local-dist-new/react-ink/components/dialogs/ModelDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/OAuthDialog.d.ts +0 -10
- package/local-dist-new/react-ink/components/dialogs/OAuthDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/OAuthDialog.js +0 -24
- package/local-dist-new/react-ink/components/dialogs/OAuthDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/ScopedModelsDialog.d.ts +0 -10
- package/local-dist-new/react-ink/components/dialogs/ScopedModelsDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/ScopedModelsDialog.js +0 -95
- package/local-dist-new/react-ink/components/dialogs/ScopedModelsDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/SelectableDialog.d.ts +0 -17
- package/local-dist-new/react-ink/components/dialogs/SelectableDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/SelectableDialog.js +0 -66
- package/local-dist-new/react-ink/components/dialogs/SelectableDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/SessionDialog.d.ts +0 -14
- package/local-dist-new/react-ink/components/dialogs/SessionDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/SessionDialog.js +0 -201
- package/local-dist-new/react-ink/components/dialogs/SessionDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/SettingsDialog.d.ts +0 -15
- package/local-dist-new/react-ink/components/dialogs/SettingsDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/SettingsDialog.js +0 -79
- package/local-dist-new/react-ink/components/dialogs/SettingsDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/StartupSessionPicker.d.ts +0 -10
- package/local-dist-new/react-ink/components/dialogs/StartupSessionPicker.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/StartupSessionPicker.js +0 -100
- package/local-dist-new/react-ink/components/dialogs/StartupSessionPicker.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/ThemeDialog.d.ts +0 -8
- package/local-dist-new/react-ink/components/dialogs/ThemeDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/ThemeDialog.js +0 -7
- package/local-dist-new/react-ink/components/dialogs/ThemeDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/TreeDialog.d.ts +0 -9
- package/local-dist-new/react-ink/components/dialogs/TreeDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/TreeDialog.js +0 -7
- package/local-dist-new/react-ink/components/dialogs/TreeDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/UserMessageDialog.d.ts +0 -9
- package/local-dist-new/react-ink/components/dialogs/UserMessageDialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/dialogs/UserMessageDialog.js +0 -7
- package/local-dist-new/react-ink/components/dialogs/UserMessageDialog.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/AssistantMessage.d.ts +0 -13
- package/local-dist-new/react-ink/components/messages/AssistantMessage.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/AssistantMessage.js +0 -20
- package/local-dist-new/react-ink/components/messages/AssistantMessage.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/BashMessage.d.ts +0 -9
- package/local-dist-new/react-ink/components/messages/BashMessage.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/BashMessage.js +0 -11
- package/local-dist-new/react-ink/components/messages/BashMessage.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/BranchSummaryMessage.d.ts +0 -9
- package/local-dist-new/react-ink/components/messages/BranchSummaryMessage.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/BranchSummaryMessage.js +0 -6
- package/local-dist-new/react-ink/components/messages/BranchSummaryMessage.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/CompactionMessage.d.ts +0 -9
- package/local-dist-new/react-ink/components/messages/CompactionMessage.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/CompactionMessage.js +0 -6
- package/local-dist-new/react-ink/components/messages/CompactionMessage.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/CustomMessage.d.ts +0 -10
- package/local-dist-new/react-ink/components/messages/CustomMessage.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/CustomMessage.js +0 -9
- package/local-dist-new/react-ink/components/messages/CustomMessage.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/SkillInvocationMessage.d.ts +0 -8
- package/local-dist-new/react-ink/components/messages/SkillInvocationMessage.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/SkillInvocationMessage.js +0 -10
- package/local-dist-new/react-ink/components/messages/SkillInvocationMessage.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/ToolCallMessage.d.ts +0 -9
- package/local-dist-new/react-ink/components/messages/ToolCallMessage.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/ToolCallMessage.js +0 -8
- package/local-dist-new/react-ink/components/messages/ToolCallMessage.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/ToolResultBlock.d.ts +0 -13
- package/local-dist-new/react-ink/components/messages/ToolResultBlock.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/ToolResultBlock.js +0 -8
- package/local-dist-new/react-ink/components/messages/ToolResultBlock.js.map +0 -1
- package/local-dist-new/react-ink/components/messages/UserMessage.d.ts +0 -10
- package/local-dist-new/react-ink/components/messages/UserMessage.d.ts.map +0 -1
- package/local-dist-new/react-ink/components/messages/UserMessage.js +0 -9
- package/local-dist-new/react-ink/components/messages/UserMessage.js.map +0 -1
- package/local-dist-new/react-ink/index.d.ts +0 -35
- package/local-dist-new/react-ink/index.d.ts.map +0 -1
- package/local-dist-new/react-ink/index.js +0 -35
- package/local-dist-new/react-ink/index.js.map +0 -1
- package/local-dist-new/react-ink/theme-adapter.d.ts +0 -10
- package/local-dist-new/react-ink/theme-adapter.d.ts.map +0 -1
- package/local-dist-new/react-ink/theme-adapter.js +0 -44
- package/local-dist-new/react-ink/theme-adapter.js.map +0 -1
- package/local-dist-new/react-ink/types.d.ts +0 -134
- package/local-dist-new/react-ink/types.d.ts.map +0 -1
- package/local-dist-new/react-ink/types.js +0 -2
- package/local-dist-new/react-ink/types.js.map +0 -1
- package/local-dist-new/react-ink/utils/message-groups.d.ts +0 -26
- package/local-dist-new/react-ink/utils/message-groups.d.ts.map +0 -1
- package/local-dist-new/react-ink/utils/message-groups.js +0 -240
- package/local-dist-new/react-ink/utils/message-groups.js.map +0 -1
- package/local-dist-new/react-ink/utils/selection-dialog.d.ts +0 -3
- package/local-dist-new/react-ink/utils/selection-dialog.d.ts.map +0 -1
- package/local-dist-new/react-ink/utils/selection-dialog.js +0 -18
- package/local-dist-new/react-ink/utils/selection-dialog.js.map +0 -1
- package/local-dist-new/react-ink/utils/session-browser.d.ts +0 -28
- package/local-dist-new/react-ink/utils/session-browser.d.ts.map +0 -1
- package/local-dist-new/react-ink/utils/session-browser.js +0 -191
- package/local-dist-new/react-ink/utils/session-browser.js.map +0 -1
- package/local-dist-new/react-ink/utils/tool-display.d.ts +0 -22
- package/local-dist-new/react-ink/utils/tool-display.d.ts.map +0 -1
- package/local-dist-new/react-ink/utils/tool-display.js +0 -349
- package/local-dist-new/react-ink/utils/tool-display.js.map +0 -1
- package/local-dist-new/react-ink.d.ts +0 -3
- package/local-dist-new/react-ink.d.ts.map +0 -1
- package/local-dist-new/react-ink.js +0 -2
- package/local-dist-new/react-ink.js.map +0 -1
- package/local-dist-new/tui.d.ts +0 -9
- package/local-dist-new/tui.d.ts.map +0 -1
- package/local-dist-new/tui.js +0 -8
- package/local-dist-new/tui.js.map +0 -1
- package/local-dist-new/ui/autocomplete.d.ts +0 -60
- package/local-dist-new/ui/autocomplete.d.ts.map +0 -1
- package/local-dist-new/ui/autocomplete.js +0 -393
- package/local-dist-new/ui/autocomplete.js.map +0 -1
- package/local-dist-new/ui/contracts.d.ts +0 -39
- package/local-dist-new/ui/contracts.d.ts.map +0 -1
- package/local-dist-new/ui/contracts.js +0 -2
- package/local-dist-new/ui/contracts.js.map +0 -1
- package/local-dist-new/ui/editor-component.d.ts +0 -101
- package/local-dist-new/ui/editor-component.d.ts.map +0 -1
- package/local-dist-new/ui/editor-component.js +0 -2
- package/local-dist-new/ui/editor-component.js.map +0 -1
- package/local-dist-new/ui/fuzzy.d.ts +0 -26
- package/local-dist-new/ui/fuzzy.d.ts.map +0 -1
- package/local-dist-new/ui/fuzzy.js +0 -177
- package/local-dist-new/ui/fuzzy.js.map +0 -1
- package/local-dist-new/ui/index.d.ts +0 -9
- package/local-dist-new/ui/index.d.ts.map +0 -1
- package/local-dist-new/ui/index.js +0 -6
- package/local-dist-new/ui/index.js.map +0 -1
- package/local-dist-new/ui/keybindings.d.ts +0 -52
- package/local-dist-new/ui/keybindings.d.ts.map +0 -1
- package/local-dist-new/ui/keybindings.js +0 -193
- package/local-dist-new/ui/keybindings.js.map +0 -1
- package/local-dist-new/ui/keys.d.ts +0 -168
- package/local-dist-new/ui/keys.d.ts.map +0 -1
- package/local-dist-new/ui/keys.js +0 -1093
- package/local-dist-new/ui/keys.js.map +0 -1
- package/local-dist-new/ui/theme-types.d.ts +0 -37
- package/local-dist-new/ui/theme-types.d.ts.map +0 -1
- package/local-dist-new/ui/theme-types.js +0 -2
- package/local-dist-new/ui/theme-types.js.map +0 -1
- package/local-dist-new/ui/utils.d.ts +0 -97
- package/local-dist-new/ui/utils.d.ts.map +0 -1
- package/local-dist-new/ui/utils.js +0 -860
- package/local-dist-new/ui/utils.js.map +0 -1
- package/observe.d.ts +0 -1
- package/observe.js +0 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tracer instance: a {@link Recorder}.
|
|
3
|
+
*
|
|
4
|
+
* A recorder is the object call sites reach for to *start* tracing. It owns a
|
|
5
|
+
* {@link SignalChannel} (the transport sinks drain) and a {@link SampleGate}
|
|
6
|
+
* (admission control), and stamps every trace it produces with a `serviceName`.
|
|
7
|
+
* Its one job is {@link open}: consult the gate, and either mint a live
|
|
8
|
+
* {@link SegmentHandle} whose signals flow onto the channel, or hand back the
|
|
9
|
+
* shared {@link NOOP_HANDLE} so a sampled-out trace costs nothing downstream.
|
|
10
|
+
*
|
|
11
|
+
* This replaces the OTel "tracer provider / tracer" pair with a single, flat
|
|
12
|
+
* object: there is no global ambient context, no `startSpan` ceremony, and no
|
|
13
|
+
* exporter wiring here — sinks subscribe by draining {@link channel}.
|
|
14
|
+
*/
|
|
15
|
+
import { SignalChannel } from "../channel/signal";
|
|
16
|
+
import { type SegmentHandle } from "../signal/handle";
|
|
17
|
+
import { type SegmentKind } from "../signal/segment";
|
|
18
|
+
import { SampleGate, type SampleStrategy } from "./sampling";
|
|
19
|
+
/** Per-`open` options; all optional. */
|
|
20
|
+
export interface OpenOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Trace to join. Omit to start a *new* trace (the recorder mints a fresh id
|
|
23
|
+
* and the gate decides on it). Supplied for a child whose admission should
|
|
24
|
+
* follow its trace's verdict.
|
|
25
|
+
*/
|
|
26
|
+
readonly traceId?: string;
|
|
27
|
+
/** Enclosing segment id, or `null`/omitted for a trace root. */
|
|
28
|
+
readonly parentId?: string | null;
|
|
29
|
+
/** Initial attributes for the opened segment. */
|
|
30
|
+
readonly attributes?: Readonly<Record<string, unknown>>;
|
|
31
|
+
}
|
|
32
|
+
/** Construction options for a {@link Recorder}. */
|
|
33
|
+
export interface RecorderOptions {
|
|
34
|
+
/**
|
|
35
|
+
* Logical name of the service/agent this recorder traces. Stamped onto the
|
|
36
|
+
* root attributes of every admitted trace under the `service.name` key.
|
|
37
|
+
*/
|
|
38
|
+
readonly serviceName: string;
|
|
39
|
+
/** Admission strategy or a pre-built gate; defaults to `"always"`. */
|
|
40
|
+
readonly sampling?: SampleStrategy | SampleGate;
|
|
41
|
+
/** Transport to emit onto; a fresh unbounded {@link SignalChannel} by default. */
|
|
42
|
+
readonly channel?: SignalChannel;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A homegrown tracer instance.
|
|
46
|
+
*
|
|
47
|
+
* Holds a service name, a {@link SampleGate}, and a {@link SignalChannel}.
|
|
48
|
+
* {@link open} is the sole entry point; {@link channel} exposes the stream for
|
|
49
|
+
* sinks to drain.
|
|
50
|
+
*/
|
|
51
|
+
export declare class Recorder {
|
|
52
|
+
/** Logical service/agent name stamped onto admitted root traces. */
|
|
53
|
+
readonly serviceName: string;
|
|
54
|
+
private readonly gate;
|
|
55
|
+
private readonly signalChannel;
|
|
56
|
+
constructor(options: RecorderOptions);
|
|
57
|
+
/**
|
|
58
|
+
* Open a segment, subject to sampling.
|
|
59
|
+
*
|
|
60
|
+
* Resolves the trace id (a supplied `opts.traceId` joins an existing trace; a
|
|
61
|
+
* root mints a fresh one), then consults the {@link SampleGate}. Sampled out →
|
|
62
|
+
* the frozen {@link NOOP_HANDLE} (nothing is emitted). Sampled in → a live
|
|
63
|
+
* {@link SegmentHandle} from {@link openHandle}, whose `open` signal — and all
|
|
64
|
+
* subsequent `update`/`close` signals — land on this recorder's channel. A
|
|
65
|
+
* root open also folds `serviceName` into the segment's attributes.
|
|
66
|
+
*/
|
|
67
|
+
open(kind: SegmentKind, name: string, opts?: OpenOptions): SegmentHandle;
|
|
68
|
+
/**
|
|
69
|
+
* The recorder's signal stream.
|
|
70
|
+
*
|
|
71
|
+
* Sinks drain this with `for await … of recorder.channel()`. It is the same
|
|
72
|
+
* underlying {@link SignalChannel} every {@link open}ed handle emits onto.
|
|
73
|
+
*/
|
|
74
|
+
channel(): SignalChannel;
|
|
75
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trace admission control: the {@link SampleGate}.
|
|
3
|
+
*
|
|
4
|
+
* A {@link Recorder} consults a gate once per `open` to decide whether a new
|
|
5
|
+
* trace is recorded at all. Three strategies cover the useful spectrum:
|
|
6
|
+
*
|
|
7
|
+
* - `"always"` — admit everything (the default; good for dev/diagnostics).
|
|
8
|
+
* - `"never"` — admit nothing (a kill-switch that keeps call sites intact).
|
|
9
|
+
* - `{ ratio }` — admit a deterministic fraction in `[0, 1]`, keyed by the
|
|
10
|
+
* trace id, so the *same* trace id always yields the *same* verdict. This is
|
|
11
|
+
* ratio sampling without a random draw: the decision is reproducible across
|
|
12
|
+
* processes and replays, and a child opened on an admitted trace id is itself
|
|
13
|
+
* admitted (the whole trace is consistently in or out).
|
|
14
|
+
*
|
|
15
|
+
* The ratio hash is a small, dependency-free FNV-1a over the trace id's bytes,
|
|
16
|
+
* folded to a unit fraction. It is *not* cryptographic — it only needs to spread
|
|
17
|
+
* hex trace ids roughly uniformly across `[0, 1)`, which FNV-1a does well enough
|
|
18
|
+
* for sampling. (Trace ids are themselves minted from `node:crypto`, so the
|
|
19
|
+
* input is already high-entropy.)
|
|
20
|
+
*/
|
|
21
|
+
/** A deterministic ratio strategy: admit a fraction `ratio ∈ [0, 1]` of traces. */
|
|
22
|
+
export interface RatioStrategy {
|
|
23
|
+
readonly ratio: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* How a {@link SampleGate} decides admission.
|
|
27
|
+
*
|
|
28
|
+
* `"always"`/`"never"` are constant verdicts; `{ ratio }` is a per-trace-id
|
|
29
|
+
* deterministic fraction.
|
|
30
|
+
*/
|
|
31
|
+
export type SampleStrategy = "always" | "never" | RatioStrategy;
|
|
32
|
+
/**
|
|
33
|
+
* Admission control for traces.
|
|
34
|
+
*
|
|
35
|
+
* Construct with a {@link SampleStrategy} and call {@link decide} with a trace
|
|
36
|
+
* id; the verdict is constant for `"always"`/`"never"` and deterministic per id
|
|
37
|
+
* for a ratio. A gate holds no mutable state, so a single instance is safely
|
|
38
|
+
* shared across recorders and threads of execution.
|
|
39
|
+
*/
|
|
40
|
+
export declare class SampleGate {
|
|
41
|
+
private readonly strategy;
|
|
42
|
+
/** Pre-clamped admission threshold for the ratio strategy; unused otherwise. */
|
|
43
|
+
private readonly threshold;
|
|
44
|
+
constructor(strategy?: SampleStrategy);
|
|
45
|
+
/**
|
|
46
|
+
* Decide whether the trace identified by `traceId` is admitted.
|
|
47
|
+
*
|
|
48
|
+
* - `"always"` → always `true`.
|
|
49
|
+
* - `"never"` → always `false`.
|
|
50
|
+
* - `{ ratio }` → `unitHash(traceId) < ratio` (clamped): deterministic, so the
|
|
51
|
+
* same id always yields the same answer. Ratio `0` admits nothing and ratio
|
|
52
|
+
* `1` admits everything regardless of the hash.
|
|
53
|
+
*/
|
|
54
|
+
decide(traceId: string): boolean;
|
|
55
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redaction layer — attribute scrubbing before trace data leaves the process.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the {@link SecretScrubber} processor along with its default rule
|
|
5
|
+
* set and redaction token, so sinks can sanitize segment attributes without
|
|
6
|
+
* reaching into the module directly.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./secret-scrubber";
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Attribute scrubbing: the {@link SecretScrubber} segment-attribute processor.
|
|
3
|
+
*
|
|
4
|
+
* Trace attributes are an open `Record<string, unknown>` bag — callers stash
|
|
5
|
+
* request payloads, tool arguments, headers, and model parameters in there, and
|
|
6
|
+
* any of those can carry a credential. Before a {@link import('../signal/segment').Segment}'s
|
|
7
|
+
* attributes leave the process (persisted by a sink, printed to a console), this
|
|
8
|
+
* processor walks the whole bag and replaces anything that looks secret with an
|
|
9
|
+
* inert {@link REDACTION_TOKEN}.
|
|
10
|
+
*
|
|
11
|
+
* Two independent signals trigger a redaction:
|
|
12
|
+
*
|
|
13
|
+
* - **Key shape** — the *path key* matches a {@link SecretPattern} (e.g. a field
|
|
14
|
+
* literally named `api_key`, `authorization`, `password`). The value is
|
|
15
|
+
* redacted regardless of what it is.
|
|
16
|
+
* - **Value shape** — a *string value* matches a pattern (e.g. a `Bearer …`
|
|
17
|
+
* token or a `sk-…` style key) even when its key looks innocuous.
|
|
18
|
+
*
|
|
19
|
+
* The walk is a single iterative pass over an explicit work stack rather than a
|
|
20
|
+
* recursive per-field branch cascade: every node (object, array, leaf) is
|
|
21
|
+
* pushed once and handled by one uniform loop body, so arbitrarily nested
|
|
22
|
+
* structures cost no extra call frames and there is no field-by-field `if`
|
|
23
|
+
* ladder to maintain. The vocabulary is deliberately our own — `SecretScrubber`
|
|
24
|
+
* and a guillemet redaction token, not an OTel "attribute processor" emitting
|
|
25
|
+
* `[REDACTED]`.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* A rule that flags a secret.
|
|
29
|
+
*
|
|
30
|
+
* `key` matches against the *name* of a field on the current path; `value`
|
|
31
|
+
* matches against a *string* leaf. A pattern provides at least one of the two.
|
|
32
|
+
* Patterns are tested with {@link RegExp.test}, so a global (`/g`) flag would
|
|
33
|
+
* make matching stateful — supply non-global expressions.
|
|
34
|
+
*/
|
|
35
|
+
export interface SecretPattern {
|
|
36
|
+
/** Human label, useful when reasoning about which rule fired. */
|
|
37
|
+
readonly label: string;
|
|
38
|
+
/** Matches a field/key name on the attribute path. */
|
|
39
|
+
readonly key?: RegExp;
|
|
40
|
+
/** Matches a string leaf value. */
|
|
41
|
+
readonly value?: RegExp;
|
|
42
|
+
}
|
|
43
|
+
/** The inert string that replaces any redacted value. Not `[REDACTED]`. */
|
|
44
|
+
export declare const REDACTION_TOKEN = "\u2039redacted\u203A";
|
|
45
|
+
/**
|
|
46
|
+
* The built-in rule set. Fresh wording — these are not lifted from any existing
|
|
47
|
+
* processor's defaults. Tuned to catch the common shapes that show up in agent
|
|
48
|
+
* trace attributes without being so broad they swallow ordinary text.
|
|
49
|
+
*/
|
|
50
|
+
export declare const DEFAULT_SECRET_PATTERNS: readonly SecretPattern[];
|
|
51
|
+
/** Construction options for a {@link SecretScrubber}. */
|
|
52
|
+
export interface SecretScrubberOptions {
|
|
53
|
+
/** Override the default rule set entirely. Defaults to {@link DEFAULT_SECRET_PATTERNS}. */
|
|
54
|
+
readonly patterns?: readonly SecretPattern[];
|
|
55
|
+
/** Override the replacement string. Defaults to {@link REDACTION_TOKEN}. */
|
|
56
|
+
readonly token?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A configurable, OTel-free attribute processor that redacts secret-looking
|
|
60
|
+
* keys and values from a trace attribute bag.
|
|
61
|
+
*
|
|
62
|
+
* Stateless across calls and safe to share: {@link scrub} never mutates its
|
|
63
|
+
* input and produces a fresh structure each time.
|
|
64
|
+
*/
|
|
65
|
+
export declare class SecretScrubber {
|
|
66
|
+
private readonly patterns;
|
|
67
|
+
private readonly token;
|
|
68
|
+
/** Pre-split views so the hot loop never re-checks which rules have a key/value side. */
|
|
69
|
+
private readonly keyRules;
|
|
70
|
+
private readonly valueRules;
|
|
71
|
+
constructor(options?: SecretScrubberOptions);
|
|
72
|
+
/** True when a field name matches any key-shaped rule. */
|
|
73
|
+
private keyIsSecret;
|
|
74
|
+
/** True when a string leaf matches any value-shaped rule. */
|
|
75
|
+
private valueIsSecret;
|
|
76
|
+
/**
|
|
77
|
+
* Decide a leaf's sanitized form given the key that points at it.
|
|
78
|
+
*
|
|
79
|
+
* Redacts when the key looks secret, or when a string value looks secret.
|
|
80
|
+
* Non-string leaves under an innocuous key pass through untouched.
|
|
81
|
+
*/
|
|
82
|
+
private sanitizeLeaf;
|
|
83
|
+
/**
|
|
84
|
+
* Return a deep copy of `attributes` with secret-looking keys and values
|
|
85
|
+
* replaced by the redaction token.
|
|
86
|
+
*
|
|
87
|
+
* Walks the structure with a single explicit stack (no recursion). Containers
|
|
88
|
+
* are cloned shallowly up front and their children enqueued; leaves are
|
|
89
|
+
* resolved through {@link sanitizeLeaf}. The input — including nested objects
|
|
90
|
+
* and arrays — is never mutated. A key whose name is itself secret short-
|
|
91
|
+
* circuits the descent: the whole subtree under it collapses to the token,
|
|
92
|
+
* so credentials nested inside (e.g. `auth: { token: … }`) cannot leak.
|
|
93
|
+
*/
|
|
94
|
+
scrub(attributes: Record<string, unknown>): Record<string, unknown>;
|
|
95
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The recorder registry: a {@link TelemetryHub}.
|
|
3
|
+
*
|
|
4
|
+
* Where a {@link Recorder} traces one service, an application usually wants a
|
|
5
|
+
* handful — one per agent, subsystem, or tenant — addressable by name without
|
|
6
|
+
* threading instances through every call site. The hub is that lookup: a small
|
|
7
|
+
* named map of recorders with a designated default.
|
|
8
|
+
*
|
|
9
|
+
* This is the homegrown analogue of an OTel "tracer provider" registry, minus
|
|
10
|
+
* the global ambient machinery: a hub is an ordinary object you can construct,
|
|
11
|
+
* pass around, and replace. A module-level *process default* is offered for
|
|
12
|
+
* convenience ({@link getDefaultHub}/{@link setDefaultHub}) but is strictly
|
|
13
|
+
* opt-in — nothing here reads it implicitly.
|
|
14
|
+
*/
|
|
15
|
+
import { Recorder, type RecorderOptions } from "../recorder/recorder";
|
|
16
|
+
/**
|
|
17
|
+
* A named registry of {@link Recorder}s.
|
|
18
|
+
*
|
|
19
|
+
* {@link register} adds (or replaces) a recorder under a name and returns it;
|
|
20
|
+
* {@link recorder} looks one up (falling back to the default when called with no
|
|
21
|
+
* name); {@link getDefault} returns the default recorder if one exists. The
|
|
22
|
+
* *first* recorder registered becomes the default unless a later
|
|
23
|
+
* {@link register} explicitly uses the reserved default name.
|
|
24
|
+
*/
|
|
25
|
+
export declare class TelemetryHub {
|
|
26
|
+
private readonly recorders;
|
|
27
|
+
/** Name of the recorder returned by {@link recorder} with no argument. */
|
|
28
|
+
private defaultName;
|
|
29
|
+
/**
|
|
30
|
+
* Register a recorder under `name`, returning the constructed instance.
|
|
31
|
+
*
|
|
32
|
+
* Re-registering a name replaces the prior recorder. If no default has been
|
|
33
|
+
* chosen yet, the first registration becomes the default; registering under
|
|
34
|
+
* the reserved `"default"` name always (re)designates the default.
|
|
35
|
+
*/
|
|
36
|
+
register(name: string, options: RecorderOptions): Recorder;
|
|
37
|
+
/**
|
|
38
|
+
* Look up a recorder by `name`, or the default when `name` is omitted.
|
|
39
|
+
*
|
|
40
|
+
* Throws if the requested (or default) recorder is not registered, so a
|
|
41
|
+
* missing recorder fails loudly rather than silently dropping traces.
|
|
42
|
+
*/
|
|
43
|
+
recorder(name?: string): Recorder;
|
|
44
|
+
/** The default recorder, or `undefined` if none has been registered. */
|
|
45
|
+
getDefault(): Recorder | undefined;
|
|
46
|
+
/** Whether a recorder is registered under `name`. */
|
|
47
|
+
has(name: string): boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The process-wide default {@link TelemetryHub}, created on first access.
|
|
51
|
+
*
|
|
52
|
+
* A convenience for code that has no hub to hand. Purely opt-in: nothing in this
|
|
53
|
+
* subsystem consults it unless a caller does.
|
|
54
|
+
*/
|
|
55
|
+
export declare function getDefaultHub(): TelemetryHub;
|
|
56
|
+
/** Replace the process-wide default {@link TelemetryHub} (e.g. for tests). */
|
|
57
|
+
export declare function setDefaultHub(hub: TelemetryHub): void;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The behavioural face of a segment: a functional {@link SegmentHandle}.
|
|
3
|
+
*
|
|
4
|
+
* Where {@link Segment} is the immutable data, a {@link SegmentHandle} is the
|
|
5
|
+
* small bag of closures a caller actually uses — `note`, `child`, `fail`,
|
|
6
|
+
* `close`. Each operation derives the next frozen segment value and emits a
|
|
7
|
+
* {@link TraceSignal} onto an injected `sink`. There is intentionally **no
|
|
8
|
+
* class hierarchy**: a sampled-in handle is a plain object of closures built by
|
|
9
|
+
* {@link openHandle}, and a sampled-out handle is the single frozen
|
|
10
|
+
* {@link NOOP_HANDLE} value implementing the same shape with empty methods — not
|
|
11
|
+
* a subclass, not a separate `NoopSegment` type.
|
|
12
|
+
*
|
|
13
|
+
* The handle keeps the segment's *current* value in a closed-over variable so
|
|
14
|
+
* that `note`/`fail` can derive successive values; this is the only mutable
|
|
15
|
+
* state in the module and it never escapes — callers only ever see immutable
|
|
16
|
+
* {@link Segment}/{@link TraceRecord} values via the emitted signals.
|
|
17
|
+
*/
|
|
18
|
+
import type { TraceSignal } from "../channel/signal";
|
|
19
|
+
import { type SegmentKind } from "./segment";
|
|
20
|
+
/** A consumer of trace signals — typically a {@link import('../channel/signal').SignalChannel}'s `emit`. */
|
|
21
|
+
export type SignalSink = (signal: TraceSignal) => void;
|
|
22
|
+
/**
|
|
23
|
+
* The functional handle over a single in-flight segment.
|
|
24
|
+
*
|
|
25
|
+
* `note`, `child`, and `fail` are no-ops after `close`; `close` itself is
|
|
26
|
+
* idempotent (the first call wins, later calls do nothing). This makes the
|
|
27
|
+
* happy path forgiving of double-close in `finally` blocks.
|
|
28
|
+
*/
|
|
29
|
+
export interface SegmentHandle {
|
|
30
|
+
/** The trace this handle's segment belongs to. Hex; stable across the trace. */
|
|
31
|
+
readonly traceId: string;
|
|
32
|
+
/** This segment's own id. Hex. `""` for the {@link NOOP_HANDLE}. */
|
|
33
|
+
readonly id: string;
|
|
34
|
+
/** Whether this handle does real work (`true`) or is the sampled-out no-op. */
|
|
35
|
+
readonly active: boolean;
|
|
36
|
+
/** Amend the segment's attributes; emits an `update` signal. */
|
|
37
|
+
note(attributes: Readonly<Record<string, unknown>>): void;
|
|
38
|
+
/** Open a child segment under this one, sharing the trace; returns its handle. */
|
|
39
|
+
child(kind: SegmentKind, name: string): SegmentHandle;
|
|
40
|
+
/** Record a failure (sets the closing status to `error`). Does not close. */
|
|
41
|
+
fail(error: unknown): void;
|
|
42
|
+
/** Close the segment; emits a `close` signal carrying the {@link TraceRecord}. */
|
|
43
|
+
close(status?: "ok" | "error"): void;
|
|
44
|
+
}
|
|
45
|
+
/** Inputs for opening a real, sampled-in handle. */
|
|
46
|
+
export interface OpenHandleInput {
|
|
47
|
+
readonly kind: SegmentKind;
|
|
48
|
+
readonly name: string;
|
|
49
|
+
/** Trace to join; a fresh trace id is minted when omitted (a root). */
|
|
50
|
+
readonly traceId?: string;
|
|
51
|
+
/** Enclosing segment id, or `null`/omitted for a root. */
|
|
52
|
+
readonly parentId?: string | null;
|
|
53
|
+
/** Initial attributes. */
|
|
54
|
+
readonly attributes?: Readonly<Record<string, unknown>>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Open a live segment and return its functional handle.
|
|
58
|
+
*
|
|
59
|
+
* Immediately emits an `open` {@link TraceSignal} carrying the fresh frozen
|
|
60
|
+
* {@link Segment}. Subsequent `note`/`fail`/`close` derive successive frozen
|
|
61
|
+
* values and emit `update`/`close` signals through the same `sink`. Children
|
|
62
|
+
* inherit `traceId` and are parented to this segment, and share the `sink`.
|
|
63
|
+
*/
|
|
64
|
+
export declare function openHandle(input: OpenHandleInput, sink: SignalSink): SegmentHandle;
|
|
65
|
+
/**
|
|
66
|
+
* The single shared sampled-out handle.
|
|
67
|
+
*
|
|
68
|
+
* A frozen no-op object satisfying {@link SegmentHandle}: it emits nothing,
|
|
69
|
+
* allocates nothing per call, and returns *itself* from `child` so an entire
|
|
70
|
+
* sampled-out subtree costs nothing. This is the whole "noop" story — there is
|
|
71
|
+
* no `NoopSegment` class to subclass.
|
|
72
|
+
*/
|
|
73
|
+
export declare const NOOP_HANDLE: SegmentHandle;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The signal layer — public surface.
|
|
3
|
+
*
|
|
4
|
+
* The immutable {@link Segment} data model and its terminal {@link TraceRecord},
|
|
5
|
+
* the value constructors/derivations ({@link openSegment}/{@link withAttributes}/
|
|
6
|
+
* {@link closeSegment}) and id minting, plus the functional {@link SegmentHandle}
|
|
7
|
+
* with its sampled-in factory {@link openHandle} and shared {@link NOOP_HANDLE}.
|
|
8
|
+
*/
|
|
9
|
+
export type { Segment, SegmentKind, SegmentStatus, SegmentError, TraceRecord, OpenSegmentInput, } from "./segment";
|
|
10
|
+
export { openSegment, withAttributes, closeSegment, freshId, freshTraceId, freshSegmentId, } from "./segment";
|
|
11
|
+
export type { SegmentHandle, SignalSink, OpenHandleInput } from "./handle";
|
|
12
|
+
export { openHandle, NOOP_HANDLE } from "./handle";
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The unit of trace data: an immutable {@link Segment} value.
|
|
3
|
+
*
|
|
4
|
+
* A {@link Segment} is a plain, frozen value object — never a class instance and
|
|
5
|
+
* never mutated in place. The lifecycle (open → note → close) is expressed by
|
|
6
|
+
* *producing new* segment values rather than by toggling fields on a live
|
|
7
|
+
* object, which keeps the data model trivially serializable and free of the
|
|
8
|
+
* `BaseSpan`/`DefaultSpan`/`NoopSpan` inheritance shape. The behavioural side —
|
|
9
|
+
* the open/note/close operations a caller actually invokes — lives entirely in
|
|
10
|
+
* {@link SegmentHandle} (see `./handle`).
|
|
11
|
+
*
|
|
12
|
+
* The vocabulary here is deliberately distinct from the OpenTelemetry "span"
|
|
13
|
+
* lineage: an entity kind is a {@link SegmentKind} (`run`/`inference`/`action`/
|
|
14
|
+
* `recall`/`custom`), and the exported, closed form is a {@link TraceRecord}.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* The kind of work a segment records.
|
|
18
|
+
*
|
|
19
|
+
* - `run` — a whole agent run / top-level invocation.
|
|
20
|
+
* - `inference` — a single model/LLM call.
|
|
21
|
+
* - `action` — a tool or side-effecting action execution.
|
|
22
|
+
* - `recall` — a memory / retrieval operation.
|
|
23
|
+
* - `custom` — anything a caller wants to time that does not fit above.
|
|
24
|
+
*/
|
|
25
|
+
export type SegmentKind = "run" | "inference" | "action" | "recall" | "custom";
|
|
26
|
+
/** The lifecycle status of a segment. `open` until closed; then `ok` or `error`. */
|
|
27
|
+
export type SegmentStatus = "open" | "ok" | "error";
|
|
28
|
+
/** A captured failure attached to a segment. Intentionally minimal and serializable. */
|
|
29
|
+
export interface SegmentError {
|
|
30
|
+
readonly message: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* An immutable trace segment.
|
|
34
|
+
*
|
|
35
|
+
* Every field is `readonly`; the value is frozen at construction (see
|
|
36
|
+
* {@link openSegment}). Transitions are modelled as *new* frozen values derived
|
|
37
|
+
* from a prior one ({@link withAttributes}, {@link closeSegment}) — there is no
|
|
38
|
+
* in-place mutation anywhere in this module.
|
|
39
|
+
*/
|
|
40
|
+
export interface Segment {
|
|
41
|
+
/** Stable identifier for this segment, unique within its trace. Hex. */
|
|
42
|
+
readonly id: string;
|
|
43
|
+
/** Identifier of the trace this segment belongs to. Shared by all kin. Hex. */
|
|
44
|
+
readonly traceId: string;
|
|
45
|
+
/** The enclosing segment's `id`, or `null` for a trace root. */
|
|
46
|
+
readonly parentId: string | null;
|
|
47
|
+
/** What kind of work this segment records. */
|
|
48
|
+
readonly kind: SegmentKind;
|
|
49
|
+
/** Human-readable label for the segment. */
|
|
50
|
+
readonly name: string;
|
|
51
|
+
/** Wall-clock start, in epoch milliseconds. */
|
|
52
|
+
readonly startedAt: number;
|
|
53
|
+
/** Wall-clock end, in epoch milliseconds; `null` while still open. */
|
|
54
|
+
readonly endedAt: number | null;
|
|
55
|
+
/** Lifecycle status. */
|
|
56
|
+
readonly status: SegmentStatus;
|
|
57
|
+
/** Arbitrary structured annotations; a frozen, read-only bag. */
|
|
58
|
+
readonly attributes: Readonly<Record<string, unknown>>;
|
|
59
|
+
/** Present only once a segment has failed. */
|
|
60
|
+
readonly error?: SegmentError;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The exported, serializable form of a *closed* segment.
|
|
64
|
+
*
|
|
65
|
+
* Structurally a {@link Segment} that is guaranteed terminal: `endedAt` is a
|
|
66
|
+
* number (not `null`) and `status` is no longer `open`. This is what a
|
|
67
|
+
* `close` signal carries and what sinks persist; it never appears for a segment
|
|
68
|
+
* still in flight.
|
|
69
|
+
*/
|
|
70
|
+
export interface TraceRecord extends Segment {
|
|
71
|
+
readonly endedAt: number;
|
|
72
|
+
readonly status: "ok" | "error";
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Generate a fresh hex identifier of `byteLength` random bytes.
|
|
76
|
+
*
|
|
77
|
+
* Trace ids default to 16 bytes (128-bit) and segment ids to 8 bytes (64-bit),
|
|
78
|
+
* mirroring the W3C Trace Context sizing without depending on any OTel SDK.
|
|
79
|
+
*/
|
|
80
|
+
export declare function freshId(byteLength: number): string;
|
|
81
|
+
/** A new 128-bit hex trace id. */
|
|
82
|
+
export declare function freshTraceId(): string;
|
|
83
|
+
/** A new 64-bit hex segment id. */
|
|
84
|
+
export declare function freshSegmentId(): string;
|
|
85
|
+
/** Inputs for opening a fresh segment. Missing ids/clock are generated/sampled. */
|
|
86
|
+
export interface OpenSegmentInput {
|
|
87
|
+
readonly kind: SegmentKind;
|
|
88
|
+
readonly name: string;
|
|
89
|
+
/** Trace to join. Omit on a root to mint a fresh trace id. */
|
|
90
|
+
readonly traceId?: string;
|
|
91
|
+
/** Enclosing segment id, or `null`/omitted for a root. */
|
|
92
|
+
readonly parentId?: string | null;
|
|
93
|
+
/** Pre-assigned segment id; one is minted when omitted. */
|
|
94
|
+
readonly id?: string;
|
|
95
|
+
/** Initial annotations. */
|
|
96
|
+
readonly attributes?: Readonly<Record<string, unknown>>;
|
|
97
|
+
/** Start clock override (epoch ms); `Date.now()` when omitted. */
|
|
98
|
+
readonly startedAt?: number;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Construct a fresh, frozen, `open` {@link Segment}.
|
|
102
|
+
*
|
|
103
|
+
* Pure aside from id/clock defaulting: with all fields supplied it is
|
|
104
|
+
* deterministic. The returned value and its `attributes` bag are both frozen.
|
|
105
|
+
*/
|
|
106
|
+
export declare function openSegment(input: OpenSegmentInput): Segment;
|
|
107
|
+
/**
|
|
108
|
+
* Derive a new frozen segment with `patch` merged over its attributes.
|
|
109
|
+
*
|
|
110
|
+
* Last-writer-wins on key collision. The original segment is untouched.
|
|
111
|
+
*/
|
|
112
|
+
export declare function withAttributes(segment: Segment, patch: Readonly<Record<string, unknown>>): Segment;
|
|
113
|
+
/**
|
|
114
|
+
* Derive the terminal {@link TraceRecord} for an open segment.
|
|
115
|
+
*
|
|
116
|
+
* Stamps `endedAt` (defaulting to now), sets the final `status`, and — when the
|
|
117
|
+
* status is `error` — attaches `error` (a passed-in error wins over any already
|
|
118
|
+
* recorded one). Closing an already-closed segment is idempotent in spirit:
|
|
119
|
+
* the new end clock and status simply replace the prior terminal fields.
|
|
120
|
+
*/
|
|
121
|
+
export declare function closeSegment(segment: Segment, status: "ok" | "error", options?: {
|
|
122
|
+
readonly endedAt?: number;
|
|
123
|
+
readonly error?: SegmentError;
|
|
124
|
+
}): TraceRecord;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The {@link Sink} contract: a consumer that drains a {@link SignalChannel}.
|
|
3
|
+
*
|
|
4
|
+
* A sink is the *terminal* end of the trace transport. Where a producer pushes
|
|
5
|
+
* {@link TraceSignal}s into a {@link SignalChannel} (via `emit`), a sink pulls
|
|
6
|
+
* them back out with `for await … of channel` and does something with them —
|
|
7
|
+
* print a line, append NDJSON, forward to an injected stream. There is no
|
|
8
|
+
* subscriber registration and no push: the sink owns its own pull loop and runs
|
|
9
|
+
* until the channel is closed and drained.
|
|
10
|
+
*
|
|
11
|
+
* This mirrors the layer's deliberate divergence from the OTel exporter shape:
|
|
12
|
+
* a sink is not an `Exporter` with `export(batch)` / `shutdown()`; it is a plain
|
|
13
|
+
* object with a single mandatory {@link Sink.drain} coroutine plus optional
|
|
14
|
+
* {@link Sink.flush}/{@link Sink.close} lifecycle hooks. Concrete sinks
|
|
15
|
+
* (`ConsoleSink`, `FileSink`, `StreamSink`) implement this interface.
|
|
16
|
+
*/
|
|
17
|
+
import type { SignalChannel } from "../channel/signal";
|
|
18
|
+
/**
|
|
19
|
+
* A terminal consumer of a {@link SignalChannel}.
|
|
20
|
+
*
|
|
21
|
+
* Implementations iterate the channel to completion inside {@link drain},
|
|
22
|
+
* handling each {@link TraceSignal} as it arrives. {@link flush} and
|
|
23
|
+
* {@link close} are optional: a buffered sink overrides `flush` to force pending
|
|
24
|
+
* writes to their destination, and a sink that owns a resource (a file handle,
|
|
25
|
+
* a socket) overrides `close` to release it. A sink with no buffering and no
|
|
26
|
+
* owned resource needs neither.
|
|
27
|
+
*/
|
|
28
|
+
export interface Sink {
|
|
29
|
+
/**
|
|
30
|
+
* Pull every signal from `channel` and handle it, returning once the channel
|
|
31
|
+
* is closed and fully drained.
|
|
32
|
+
*
|
|
33
|
+
* Implemented as a `for await … of channel` loop. A sink is expected to call
|
|
34
|
+
* this once per channel; concurrent drains of the same channel are undefined
|
|
35
|
+
* because the channel is single-consumer.
|
|
36
|
+
*/
|
|
37
|
+
drain(channel: SignalChannel): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Force any buffered output to its destination without ending the sink.
|
|
40
|
+
*
|
|
41
|
+
* Optional — only buffered sinks need it. Safe to call repeatedly.
|
|
42
|
+
*/
|
|
43
|
+
flush?(): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Release any resource the sink owns (file handle, socket, …).
|
|
46
|
+
*
|
|
47
|
+
* Optional — only resource-owning sinks need it. Should be idempotent and is
|
|
48
|
+
* typically preceded by an implicit or explicit {@link flush}.
|
|
49
|
+
*/
|
|
50
|
+
close?(): Promise<void>;
|
|
51
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {@link ConsoleSink}: a human-facing sink that prints one tidy line per closed
|
|
3
|
+
* segment.
|
|
4
|
+
*
|
|
5
|
+
* It drains a {@link SignalChannel} and ignores `open`/`update` chatter,
|
|
6
|
+
* emitting a single formatted line only when a segment *closes* — i.e. on each
|
|
7
|
+
* {@link CloseSignal} / {@link TraceRecord}. The line carries the status, the
|
|
8
|
+
* segment kind and name, the wall-clock duration, and a short trace/segment id
|
|
9
|
+
* tag, e.g.:
|
|
10
|
+
*
|
|
11
|
+
* ```text
|
|
12
|
+
* ✓ inference chat.completion 842ms [a1b2c3d4/9f8e7d6c]
|
|
13
|
+
* ✗ action write_file 12ms [a1b2c3d4/0011aabb] — EACCES: permission denied
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* Output goes through an injected `log` function (default `console.log`) so the
|
|
17
|
+
* sink stays testable and never reaches for a global directly beyond that
|
|
18
|
+
* default.
|
|
19
|
+
*/
|
|
20
|
+
import type { SignalChannel } from "../channel/signal";
|
|
21
|
+
import type { Sink } from "./base";
|
|
22
|
+
/** Tuning for a {@link ConsoleSink}. */
|
|
23
|
+
export interface ConsoleSinkOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Where formatted lines go. Defaults to `console.log`. Injected for tests and
|
|
26
|
+
* for routing to alternative loggers.
|
|
27
|
+
*/
|
|
28
|
+
readonly log?: (line: string) => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A {@link Sink} that prints one line per closed segment to a `log` function.
|
|
32
|
+
*
|
|
33
|
+
* Stateless and resource-free: it owns no buffer and no handle, so it needs
|
|
34
|
+
* neither `flush` nor `close`. Constructing it does nothing until {@link drain}
|
|
35
|
+
* is awaited on a channel.
|
|
36
|
+
*/
|
|
37
|
+
export declare class ConsoleSink implements Sink {
|
|
38
|
+
private readonly log;
|
|
39
|
+
constructor(options?: ConsoleSinkOptions);
|
|
40
|
+
/** Render the one-line summary for a closed segment. */
|
|
41
|
+
private format;
|
|
42
|
+
/** Drain `channel`, printing a line for every `close` signal. */
|
|
43
|
+
drain(channel: SignalChannel): Promise<void>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {@link FileSink}: persists closed segments as newline-delimited JSON.
|
|
3
|
+
*
|
|
4
|
+
* It drains a {@link SignalChannel} and, for every `close` signal, appends the
|
|
5
|
+
* carried {@link TraceRecord} as a single JSON line to a file. The result is an
|
|
6
|
+
* NDJSON log — one self-contained record per line — that downstream tools can
|
|
7
|
+
* stream-parse without loading the whole file.
|
|
8
|
+
*
|
|
9
|
+
* Writes go through `node:fs/promises` `appendFile`, which creates the file if
|
|
10
|
+
* absent and atomically appends otherwise. Records are buffered in memory and
|
|
11
|
+
* flushed in a single append either when the in-memory batch reaches
|
|
12
|
+
* `flushEvery` lines or when {@link flush}/{@link close} is called — so a busy
|
|
13
|
+
* trace is not one syscall per segment. Only `open`/`update` are ignored;
|
|
14
|
+
* everything persisted is a terminal record.
|
|
15
|
+
*/
|
|
16
|
+
import type { SignalChannel } from "../channel/signal";
|
|
17
|
+
import type { Sink } from "./base";
|
|
18
|
+
/** Tuning for a {@link FileSink}. */
|
|
19
|
+
export interface FileSinkOptions {
|
|
20
|
+
/**
|
|
21
|
+
* How many records to accumulate before an automatic append. Defaults to 1
|
|
22
|
+
* (append each record as it closes). Larger values trade latency for fewer
|
|
23
|
+
* syscalls; any remainder is flushed on {@link flush}/{@link close}.
|
|
24
|
+
*/
|
|
25
|
+
readonly flushEvery?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A {@link Sink} that appends each closed segment to a path as NDJSON.
|
|
29
|
+
*
|
|
30
|
+
* Owns an in-memory pending batch (hence a meaningful {@link flush}) but no live
|
|
31
|
+
* OS handle — each write opens, appends, and closes via `fs/promises`. {@link drain}
|
|
32
|
+
* flushes whatever remains when the channel ends, and {@link close} is a final
|
|
33
|
+
* flush.
|
|
34
|
+
*/
|
|
35
|
+
export declare class FileSink implements Sink {
|
|
36
|
+
private readonly path;
|
|
37
|
+
private readonly flushEvery;
|
|
38
|
+
/** Serialized records awaiting their append, oldest first. */
|
|
39
|
+
private pending;
|
|
40
|
+
constructor(path: string, options?: FileSinkOptions);
|
|
41
|
+
/** Drain `channel`, buffering each closed record and flushing on threshold/end. */
|
|
42
|
+
drain(channel: SignalChannel): Promise<void>;
|
|
43
|
+
/** Append all pending records to the file as NDJSON lines, then clear them. */
|
|
44
|
+
flush(): Promise<void>;
|
|
45
|
+
/** Flush any remaining records. Idempotent; the sink holds no OS handle. */
|
|
46
|
+
close(): Promise<void>;
|
|
47
|
+
}
|