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,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Crew` — the swarm coordinator that ties the domain services together.
|
|
3
|
+
*
|
|
4
|
+
* A crew is a roster of teammate agents working a shared board of tickets,
|
|
5
|
+
* talking over one channel, with every coordination step narrated to an activity
|
|
6
|
+
* log. This module is the conductor that wires those services into a single
|
|
7
|
+
* driveable object:
|
|
8
|
+
*
|
|
9
|
+
* - a {@link CrewManifest} — who is on the crew (the roster);
|
|
10
|
+
* - a {@link TicketBoard} — the shared, dependency-aware to-do list;
|
|
11
|
+
* - a {@link Channel} — the cursor-based mailbox teammates post on;
|
|
12
|
+
* - an {@link ActivityLog} — the append-only transcript of what happened;
|
|
13
|
+
* - optionally a {@link Workspace} — git-worktree isolation per teammate.
|
|
14
|
+
*
|
|
15
|
+
* The crew owns no `node:fs` locking, temp renames, or coercion of its own — all
|
|
16
|
+
* of that lives in the kernel under the services. What the coordinator adds is
|
|
17
|
+
* the *policy*: how ready tickets are matched to idle members, how a teammate
|
|
18
|
+
* agent is spawned to work a ticket, and how its result is folded back onto the
|
|
19
|
+
* board and the channel.
|
|
20
|
+
*
|
|
21
|
+
* The agent spawner is **injectable**. By default a member is backed by a real
|
|
22
|
+
* {@link createAgent} bound to the member's model and tool collection; tests pass
|
|
23
|
+
* a scripted fake agent so a round runs deterministically with no model or
|
|
24
|
+
* network. The coordinator only depends on the {@link Agent} handle's `submit`
|
|
25
|
+
* and `snapshot` surface, so a fake need only implement those.
|
|
26
|
+
*
|
|
27
|
+
* One round of work — {@link Crew.runRound} — is the heartbeat:
|
|
28
|
+
* 1. read the board's ready tickets and the idle members;
|
|
29
|
+
* 2. pair each ready ticket with an idle member;
|
|
30
|
+
* 3. for each pair: claim the ticket, spawn the member's agent, let it work the
|
|
31
|
+
* ticket, post a `result` envelope, complete (or fail) the ticket, and
|
|
32
|
+
* narrate every step to the activity log.
|
|
33
|
+
*/
|
|
34
|
+
import type { Agent } from "../runtime";
|
|
35
|
+
import type { CrewMember, MemberDraft } from "./roster";
|
|
36
|
+
import type { Ticket } from "./workboard";
|
|
37
|
+
import type { CrewEvent } from "./telemetry/activity";
|
|
38
|
+
import { Workspace } from "./isolation";
|
|
39
|
+
/**
|
|
40
|
+
* The injectable factory that brings a teammate agent up for a member.
|
|
41
|
+
*
|
|
42
|
+
* The default ({@link defaultSpawnAgent}) builds a real {@link createAgent} bound
|
|
43
|
+
* to the member's model and {@link toolBox} collection. Tests substitute a
|
|
44
|
+
* scripted fake whose `submit` resolves to a canned snapshot, exercising the
|
|
45
|
+
* coordination logic without a model or the network.
|
|
46
|
+
*/
|
|
47
|
+
export type SpawnAgent = (member: CrewMember) => Agent;
|
|
48
|
+
/** What a caller may set when standing up a crew. */
|
|
49
|
+
export interface CrewOptions {
|
|
50
|
+
/**
|
|
51
|
+
* Root directory the crew persists under. The manifest, board, channel, and
|
|
52
|
+
* activity log are all rooted here; the directory is created lazily by the
|
|
53
|
+
* underlying kernel services.
|
|
54
|
+
*/
|
|
55
|
+
readonly dir: string;
|
|
56
|
+
/**
|
|
57
|
+
* Optional git repository the crew isolates teammates into via a
|
|
58
|
+
* {@link Workspace}. When present the workspace is constructed (and exposed on
|
|
59
|
+
* {@link Crew.workspace}) so a host can provision per-teammate worktrees; the
|
|
60
|
+
* coordinator itself does not force isolation on every round.
|
|
61
|
+
*/
|
|
62
|
+
readonly baseRepo?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Override the agent spawner. Defaults to {@link defaultSpawnAgent} (a real
|
|
65
|
+
* {@link createAgent}); tests inject a scripted fake.
|
|
66
|
+
*/
|
|
67
|
+
readonly spawnAgent?: SpawnAgent;
|
|
68
|
+
/** Injected clock, epoch ms — threaded into the board and activity log for tests. */
|
|
69
|
+
readonly now?: () => number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A point-in-time aggregate of the crew's state, assembled from the board, the
|
|
73
|
+
* roster, and the activity log. This is what a status pane renders.
|
|
74
|
+
*/
|
|
75
|
+
export interface CrewStatus {
|
|
76
|
+
/** The crew id from the manifest (empty until {@link Crew.create}). */
|
|
77
|
+
readonly crewId: string;
|
|
78
|
+
/** The full roster, in enrollment order. */
|
|
79
|
+
readonly members: readonly CrewMember[];
|
|
80
|
+
/** Every ticket on the board, in insertion order. */
|
|
81
|
+
readonly tickets: readonly Ticket[];
|
|
82
|
+
/** The ticket ids currently workable (open, all deps done). */
|
|
83
|
+
readonly ready: readonly string[];
|
|
84
|
+
/** Count of tickets in each lifecycle state. */
|
|
85
|
+
readonly counts: {
|
|
86
|
+
readonly open: number;
|
|
87
|
+
readonly claimed: number;
|
|
88
|
+
readonly blocked: number;
|
|
89
|
+
readonly done: number;
|
|
90
|
+
readonly failed: number;
|
|
91
|
+
};
|
|
92
|
+
/** The full activity timeline, oldest first. */
|
|
93
|
+
readonly activity: readonly CrewEvent[];
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The swarm coordinator. Construct with {@link createCrew}; it owns the four
|
|
97
|
+
* domain services and the agent spawner, and exposes the small set of verbs a
|
|
98
|
+
* host drives a crew through.
|
|
99
|
+
*/
|
|
100
|
+
export declare class Crew {
|
|
101
|
+
private readonly manifest;
|
|
102
|
+
private readonly board;
|
|
103
|
+
private readonly channel;
|
|
104
|
+
private readonly activity;
|
|
105
|
+
private readonly spawnAgent;
|
|
106
|
+
/** The optional git-worktree isolation seam (present only with a `baseRepo`). */
|
|
107
|
+
readonly workspace: Workspace | null;
|
|
108
|
+
/** The base repository worktrees are provisioned against, if any. */
|
|
109
|
+
readonly baseRepo: string | null;
|
|
110
|
+
private constructor();
|
|
111
|
+
/**
|
|
112
|
+
* Stand up a crew rooted at `dir`, wiring up the manifest, board, channel, and
|
|
113
|
+
* activity log (and a {@link Workspace} when `baseRepo` is given). The crew
|
|
114
|
+
* record is created eagerly so a fresh crew is immediately usable by
|
|
115
|
+
* {@link addMember}.
|
|
116
|
+
*/
|
|
117
|
+
static open(opts: CrewOptions): Promise<Crew>;
|
|
118
|
+
/**
|
|
119
|
+
* Enroll a teammate and narrate the spawn to the activity log.
|
|
120
|
+
*
|
|
121
|
+
* Delegates the roster edit to the {@link CrewManifest}; on success a
|
|
122
|
+
* `member_spawned` event is recorded so the transcript reflects the new member.
|
|
123
|
+
*/
|
|
124
|
+
addMember(draft: MemberDraft): Promise<CrewMember>;
|
|
125
|
+
/**
|
|
126
|
+
* Post a unit of work to the board and narrate it.
|
|
127
|
+
*
|
|
128
|
+
* Accepts the same draft shape the board's {@link TicketBoard.add} takes
|
|
129
|
+
* (title, optional body, optional deps); returns the admitted ticket. A
|
|
130
|
+
* `ticket_posted` event is recorded on success.
|
|
131
|
+
*/
|
|
132
|
+
postTask(draft: TaskDraft): Promise<Ticket>;
|
|
133
|
+
/**
|
|
134
|
+
* Drive one round of work, returning the tickets that reached a terminal state
|
|
135
|
+
* this round.
|
|
136
|
+
*
|
|
137
|
+
* Reads the board's ready tickets and pairs each with an idle member (one
|
|
138
|
+
* ticket per member per round). For each pair it: claims the ticket for the
|
|
139
|
+
* member, spawns the member's agent, lets the agent work the ticket, posts a
|
|
140
|
+
* `result` envelope on the channel, completes (or, on a thrown error, fails)
|
|
141
|
+
* the ticket, and records the corresponding activity events. A round with no
|
|
142
|
+
* ready work or no idle members is a no-op that returns an empty list.
|
|
143
|
+
*/
|
|
144
|
+
runRound(): Promise<RoundOutcome>;
|
|
145
|
+
/**
|
|
146
|
+
* Assemble the crew's current state from the board, roster, and activity log.
|
|
147
|
+
* A pure read across the three services — it takes no locks and mutates
|
|
148
|
+
* nothing.
|
|
149
|
+
*/
|
|
150
|
+
status(): Promise<CrewStatus>;
|
|
151
|
+
/**
|
|
152
|
+
* Work a single ticket with a single member, end to end.
|
|
153
|
+
*
|
|
154
|
+
* Claims the ticket (recording `ticket_claimed`), spawns the member's agent and
|
|
155
|
+
* runs it over the ticket brief, posts a `result` envelope back to the
|
|
156
|
+
* coordinator (recording `message_sent`), then completes the ticket (recording
|
|
157
|
+
* `ticket_done`). Any throw while the agent runs fails the ticket instead
|
|
158
|
+
* (recording `ticket_failed`), so one bad teammate cannot wedge the round.
|
|
159
|
+
*/
|
|
160
|
+
private workOne;
|
|
161
|
+
/** The set of member ids currently holding a claimed (or blocked) ticket. */
|
|
162
|
+
private busyMemberIds;
|
|
163
|
+
}
|
|
164
|
+
/** The result of one {@link Crew.runRound}: which tickets settled and how. */
|
|
165
|
+
export interface RoundOutcome {
|
|
166
|
+
/** Tickets that reached `done` this round. */
|
|
167
|
+
readonly completed: readonly Ticket[];
|
|
168
|
+
/** Tickets that reached `failed` this round. */
|
|
169
|
+
readonly failed: readonly Ticket[];
|
|
170
|
+
}
|
|
171
|
+
/** A ticket draft accepted by {@link Crew.postTask} (mirrors the board's draft). */
|
|
172
|
+
export interface TaskDraft {
|
|
173
|
+
/** Short human-facing summary (required). */
|
|
174
|
+
readonly title: string;
|
|
175
|
+
/** Full task description; defaults to empty. */
|
|
176
|
+
readonly body?: string;
|
|
177
|
+
/** Ids of tickets that must complete first; defaults to none. */
|
|
178
|
+
readonly deps?: readonly string[];
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Stand up a crew. The host-facing factory; see {@link CrewOptions} for the knobs
|
|
182
|
+
* and {@link Crew} for the verbs.
|
|
183
|
+
*/
|
|
184
|
+
export declare function createCrew(opts: CrewOptions): Promise<Crew>;
|
|
185
|
+
/**
|
|
186
|
+
* The default agent spawner: a real {@link createAgent} bound to the member's
|
|
187
|
+
* model and tool collection. The member's `toolCollection` (a structural twin of
|
|
188
|
+
* the capabilities {@link ToolCollection}) is handed straight to {@link toolBox};
|
|
189
|
+
* an unset collection defaults to `read-only` (the safe floor). The member's
|
|
190
|
+
* pinned model — or {@link DEFAULT_MEMBER_MODEL} — backs the run.
|
|
191
|
+
*/
|
|
192
|
+
export declare function defaultSpawnAgent(member: CrewMember): Agent;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The swarm layer — public surface.
|
|
3
|
+
*
|
|
4
|
+
* The crew/swarm coordination stack, assembled into one import site. The
|
|
5
|
+
* coordinator ({@link Crew} / {@link createCrew}) ties together four domain
|
|
6
|
+
* services — each a thin wrapper over the frozen kernel — plus an optional
|
|
7
|
+
* git-worktree isolation seam:
|
|
8
|
+
*
|
|
9
|
+
* - {@link CrewManifest} — the roster (who is on the crew);
|
|
10
|
+
* - {@link TicketBoard} — the dependency-aware shared task store;
|
|
11
|
+
* - {@link Channel} — the cursor-based mailbox;
|
|
12
|
+
* - {@link ActivityLog} — the append-only coordination transcript;
|
|
13
|
+
* - {@link Workspace} — per-teammate git-worktree isolation.
|
|
14
|
+
*
|
|
15
|
+
* The kernel primitives the services are built on ({@link JsonCell},
|
|
16
|
+
* {@link JsonlLog}, {@link newId}, {@link SwarmFault}) are re-exported too, so a
|
|
17
|
+
* host that wants to compose its own service over the same foundation can reach
|
|
18
|
+
* them from one place.
|
|
19
|
+
*/
|
|
20
|
+
export { createCrew, Crew, defaultSpawnAgent } from "./coordinator";
|
|
21
|
+
export type { CrewOptions, CrewStatus, RoundOutcome, TaskDraft, SpawnAgent, } from "./coordinator";
|
|
22
|
+
export { CrewManifest, ModelPolicy } from "./roster";
|
|
23
|
+
export type { CrewMember, CrewRecord, MemberDraft, CrewToolCollection, } from "./roster";
|
|
24
|
+
export { TicketBoard, ticketSchema, ticketStatuses, DepGraph } from "./workboard";
|
|
25
|
+
export type { Ticket, TicketStatus, TicketDraft } from "./workboard";
|
|
26
|
+
export { Channel, encode, decode, ENVELOPE_SCHEMA, ENVELOPE_TYPES } from "./postbox";
|
|
27
|
+
export type { Envelope, EnvelopeType, PayloadOf } from "./postbox";
|
|
28
|
+
export { Workspace, nodeRunner } from "./isolation";
|
|
29
|
+
export type { WorktreeRef, WorktreeEntry, CreateOptions, RemoveOptions, ShellRunner, RunResult, } from "./isolation";
|
|
30
|
+
export { ActivityLog, CREW_EVENT_KINDS } from "./telemetry/activity";
|
|
31
|
+
export type { CrewEvent, CrewEventKind, CrewEventInput } from "./telemetry/activity";
|
|
32
|
+
export { JsonCell, JsonlLog, newId, SwarmFault, swarmFault } from "./kernel";
|
|
33
|
+
export type { GuardOptions, TreeNode, SwarmFaultKind, } from "./kernel";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The swarm isolation layer — public surface.
|
|
3
|
+
*
|
|
4
|
+
* Teammates run in isolated git worktrees so each can mutate its own working
|
|
5
|
+
* tree and branch without colliding with its peers. This module exposes the
|
|
6
|
+
* provisioning primitive ({@link Workspace}) and the injectable shell seam it
|
|
7
|
+
* runs git through ({@link ShellRunner} / {@link nodeRunner}).
|
|
8
|
+
*
|
|
9
|
+
* Git failures surface as `isolation`-kind {@link import("../kernel").SwarmFault}s.
|
|
10
|
+
*/
|
|
11
|
+
export { Workspace } from "./worktree";
|
|
12
|
+
export type { WorktreeRef, WorktreeEntry, CreateOptions, RemoveOptions, } from "./worktree";
|
|
13
|
+
export { nodeRunner } from "./runner";
|
|
14
|
+
export type { ShellRunner, RunResult } from "./runner";
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shell seam the {@link import("./worktree").Workspace} runs git through.
|
|
3
|
+
*
|
|
4
|
+
* Worktree provisioning is the one place in the isolation layer that has to
|
|
5
|
+
* shell out — `git worktree add/list/remove` has no in-process equivalent. To
|
|
6
|
+
* keep that I/O testable, the {@link Workspace} never reaches for
|
|
7
|
+
* `node:child_process` itself; it asks for a {@link ShellRunner} and invokes
|
|
8
|
+
* git through it. Tests inject a hand-written fake runner (asserting on the
|
|
9
|
+
* exact command strings, returning scripted output and exit codes); production
|
|
10
|
+
* code injects {@link nodeRunner}, a thin wrapper over `execFile` with the
|
|
11
|
+
* shell disabled.
|
|
12
|
+
*
|
|
13
|
+
* A run never throws on a non-zero exit. The runner always resolves with a
|
|
14
|
+
* {@link RunResult} carrying `{ stdout, stderr, code }`; it is the
|
|
15
|
+
* {@link Workspace}'s job to inspect `code` and translate a git failure into a
|
|
16
|
+
* typed `isolation` {@link import("../kernel").SwarmFault}. This keeps the
|
|
17
|
+
* seam dumb (it transports bytes and an exit status, nothing more) and the
|
|
18
|
+
* policy (what counts as a failure, what the error should say) in one place.
|
|
19
|
+
*/
|
|
20
|
+
/** The outcome of one shelled-out command. */
|
|
21
|
+
export interface RunResult {
|
|
22
|
+
/** Everything the command wrote to stdout, decoded as UTF-8. */
|
|
23
|
+
readonly stdout: string;
|
|
24
|
+
/** Everything the command wrote to stderr, decoded as UTF-8. */
|
|
25
|
+
readonly stderr: string;
|
|
26
|
+
/**
|
|
27
|
+
* The process exit code. `0` is success; any other value is a failure the
|
|
28
|
+
* caller is expected to map onto a fault. A process killed by a signal (no
|
|
29
|
+
* numeric code) is reported as `null`.
|
|
30
|
+
*/
|
|
31
|
+
readonly code: number | null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A function that runs one command and resolves with its captured output and
|
|
35
|
+
* exit status. It must *not* reject on a non-zero exit — a failed command is a
|
|
36
|
+
* resolved {@link RunResult} with a non-zero `code`. Rejection is reserved for
|
|
37
|
+
* the runner itself being unable to spawn anything (e.g. the binary is
|
|
38
|
+
* missing), which the {@link Workspace} also folds into an `isolation` fault.
|
|
39
|
+
*/
|
|
40
|
+
export interface ShellRunner {
|
|
41
|
+
/**
|
|
42
|
+
* Execute `command` and resolve with its result. `command` is the full
|
|
43
|
+
* command line as a single string (e.g. `git worktree list --porcelain`).
|
|
44
|
+
* The optional `cwd` is the directory to run it in; when omitted the runner's
|
|
45
|
+
* own default applies.
|
|
46
|
+
*/
|
|
47
|
+
exec(command: string, cwd?: string): Promise<RunResult>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The production {@link ShellRunner}: a thin wrapper over `execFile`.
|
|
51
|
+
*
|
|
52
|
+
* The command string is split on whitespace into an argv vector and handed to
|
|
53
|
+
* `execFile` with **no shell** — there is no `/bin/sh -c`, so command
|
|
54
|
+
* substitution, globbing, pipes, and quoting do not apply. Every argument this
|
|
55
|
+
* layer ever passes to git is a literal token (a branch name, an absolute
|
|
56
|
+
* path, a flag), so the naive split is exactly right and the shell-less spawn
|
|
57
|
+
* removes an injection surface. A non-zero exit resolves (it does not reject):
|
|
58
|
+
* `execFile`'s error object still carries `stdout`/`stderr`/`code`, which we
|
|
59
|
+
* forward verbatim.
|
|
60
|
+
*/
|
|
61
|
+
export declare const nodeRunner: ShellRunner;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Workspace` — git-worktree isolation for teammates.
|
|
3
|
+
*
|
|
4
|
+
* Each teammate agent in the swarm needs its own checkout to mutate without
|
|
5
|
+
* trampling its peers: its own working tree, its own branch, its own index.
|
|
6
|
+
* Git's native answer is a *worktree* — a second working directory linked to
|
|
7
|
+
* one shared object store. `Workspace` is the thin class that provisions and
|
|
8
|
+
* reclaims those worktrees on the swarm's behalf.
|
|
9
|
+
*
|
|
10
|
+
* It deliberately owns no `node:child_process` of its own. Every git
|
|
11
|
+
* invocation flows through an injected {@link ShellRunner} (see
|
|
12
|
+
* {@link import("./runner").ShellRunner}); the default is the real
|
|
13
|
+
* {@link nodeRunner}, and tests pass a scripted fake that asserts on the exact
|
|
14
|
+
* git command and returns canned output. This is what makes worktree
|
|
15
|
+
* provisioning unit-testable without a repo on disk.
|
|
16
|
+
*
|
|
17
|
+
* Three verbs:
|
|
18
|
+
* - {@link Workspace.create} runs `git worktree add` to materialize a fresh
|
|
19
|
+
* working tree on a named branch and reports back its path and branch.
|
|
20
|
+
* - {@link Workspace.list} parses `git worktree list --porcelain` into a
|
|
21
|
+
* structured inventory of every worktree git knows about.
|
|
22
|
+
* - {@link Workspace.remove} runs `git worktree remove` then prunes stale
|
|
23
|
+
* administrative metadata, so a reclaimed slot leaves nothing behind.
|
|
24
|
+
*
|
|
25
|
+
* Every git failure — a non-zero exit, or the runner being unable to spawn git
|
|
26
|
+
* at all — is mapped onto a single typed {@link SwarmFault} of kind
|
|
27
|
+
* `isolation`, with the failing command and git's own stderr preserved in the
|
|
28
|
+
* message and the underlying error threaded onto `cause`. Callers branch on
|
|
29
|
+
* `SwarmFault.is(err, "isolation")` rather than scraping git's text.
|
|
30
|
+
*/
|
|
31
|
+
import type { ShellRunner } from "./runner";
|
|
32
|
+
/** The coordinates of a provisioned worktree. */
|
|
33
|
+
export interface WorktreeRef {
|
|
34
|
+
/** Absolute (or git-reported) path of the linked working directory. */
|
|
35
|
+
readonly path: string;
|
|
36
|
+
/**
|
|
37
|
+
* The branch checked out in that working directory, as a short ref name
|
|
38
|
+
* (e.g. `feature/login`, not `refs/heads/feature/login`). May be `null` for a
|
|
39
|
+
* detached-HEAD worktree surfaced by {@link Workspace.list}.
|
|
40
|
+
*/
|
|
41
|
+
readonly branch: string | null;
|
|
42
|
+
}
|
|
43
|
+
/** One entry parsed from `git worktree list --porcelain`. */
|
|
44
|
+
export interface WorktreeEntry extends WorktreeRef {
|
|
45
|
+
/** The commit the worktree's HEAD points at, when git reported one. */
|
|
46
|
+
readonly head: string | null;
|
|
47
|
+
/** True when the worktree is in detached-HEAD state (no branch). */
|
|
48
|
+
readonly detached: boolean;
|
|
49
|
+
/** True when git flagged the worktree as bare. */
|
|
50
|
+
readonly bare: boolean;
|
|
51
|
+
/** True when git flagged the worktree as locked. */
|
|
52
|
+
readonly locked: boolean;
|
|
53
|
+
}
|
|
54
|
+
/** Options accepted by {@link Workspace.create}. */
|
|
55
|
+
export interface CreateOptions {
|
|
56
|
+
/**
|
|
57
|
+
* Where to place the new working directory. When omitted, the worktree is
|
|
58
|
+
* created at a sibling path git derives from the branch name; supply this to
|
|
59
|
+
* control placement (the usual case for per-teammate scratch dirs).
|
|
60
|
+
*/
|
|
61
|
+
readonly path?: string;
|
|
62
|
+
/**
|
|
63
|
+
* The committish the new branch starts from (a branch, tag, or SHA). When
|
|
64
|
+
* omitted, git branches from the base repo's current `HEAD`.
|
|
65
|
+
*/
|
|
66
|
+
readonly startPoint?: string;
|
|
67
|
+
}
|
|
68
|
+
/** Options accepted by {@link Workspace.remove}. */
|
|
69
|
+
export interface RemoveOptions {
|
|
70
|
+
/**
|
|
71
|
+
* Pass `--force` to `git worktree remove`, letting git reclaim a worktree
|
|
72
|
+
* that still has uncommitted changes or a locked administrative file. Off by
|
|
73
|
+
* default so an accidental remove of dirty work is refused.
|
|
74
|
+
*/
|
|
75
|
+
readonly force?: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Provisions and reclaims git worktrees through an injected shell runner.
|
|
79
|
+
*
|
|
80
|
+
* Construct directly; the runner defaults to {@link nodeRunner} so callers that
|
|
81
|
+
* just want real git can write `new Workspace()`. Pass a fake runner to drive
|
|
82
|
+
* the class in tests.
|
|
83
|
+
*/
|
|
84
|
+
export declare class Workspace {
|
|
85
|
+
private readonly runner;
|
|
86
|
+
/**
|
|
87
|
+
* @param runner The shell seam every git command is sent through. Defaults to
|
|
88
|
+
* the production {@link nodeRunner}; inject a fake in tests.
|
|
89
|
+
*/
|
|
90
|
+
constructor(runner?: ShellRunner);
|
|
91
|
+
/**
|
|
92
|
+
* Materialize a fresh worktree on a new branch.
|
|
93
|
+
*
|
|
94
|
+
* Runs `git worktree add [-b <branch>] <path> [<start-point>]` inside
|
|
95
|
+
* `baseRepo`. The branch is created (git's `-b`), so `branch` must not
|
|
96
|
+
* already exist as a worktree-checked-out ref. Returns the worktree's
|
|
97
|
+
* resolved path and branch on success; a non-zero exit (e.g. the branch
|
|
98
|
+
* already exists, the path is occupied) raises an `isolation` fault.
|
|
99
|
+
*
|
|
100
|
+
* @param baseRepo Directory of the repository the worktree links into.
|
|
101
|
+
* @param branch Short name of the branch to create and check out.
|
|
102
|
+
* @param opts Optional placement and start-point overrides.
|
|
103
|
+
*/
|
|
104
|
+
create(baseRepo: string, branch: string, opts?: CreateOptions): Promise<WorktreeRef>;
|
|
105
|
+
/**
|
|
106
|
+
* Enumerate every worktree git tracks for `baseRepo`.
|
|
107
|
+
*
|
|
108
|
+
* Runs `git worktree list --porcelain` and parses the stable, machine-facing
|
|
109
|
+
* porcelain format into {@link WorktreeEntry} records (the first record is the
|
|
110
|
+
* main working tree; the rest are linked worktrees). A non-zero exit raises an
|
|
111
|
+
* `isolation` fault.
|
|
112
|
+
*
|
|
113
|
+
* @param baseRepo Directory of the repository to inventory.
|
|
114
|
+
*/
|
|
115
|
+
list(baseRepo: string): Promise<WorktreeEntry[]>;
|
|
116
|
+
/**
|
|
117
|
+
* Remove a linked worktree and prune its leftover metadata.
|
|
118
|
+
*
|
|
119
|
+
* Runs `git worktree remove <path>` (with `--force` when
|
|
120
|
+
* `opts.force`) and then `git worktree prune`, so a removed worktree leaves no
|
|
121
|
+
* dangling administrative entry under `.git/worktrees`. Either step failing
|
|
122
|
+
* raises an `isolation` fault; the prune runs from the base repo so it can be
|
|
123
|
+
* invoked even after the worktree directory itself is gone.
|
|
124
|
+
*
|
|
125
|
+
* @param path The worktree working directory to remove.
|
|
126
|
+
* @param baseRepo Directory of the owning repository the prune runs in. When
|
|
127
|
+
* omitted, both commands run from the worktree `path` (sufficient while the
|
|
128
|
+
* worktree still exists; pass `baseRepo` to prune after manual deletion).
|
|
129
|
+
*/
|
|
130
|
+
remove(path: string, baseRepo?: string, opts?: RemoveOptions): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Run one git command through the injected runner and assert success.
|
|
133
|
+
*
|
|
134
|
+
* Resolves with the {@link RunResult} on a zero exit. A non-zero exit, or the
|
|
135
|
+
* runner rejecting outright (git not spawnable), is folded into one
|
|
136
|
+
* `isolation` fault carrying the command, git's stderr, and the original
|
|
137
|
+
* trigger on `cause`.
|
|
138
|
+
*/
|
|
139
|
+
private git;
|
|
140
|
+
/** Derive a default sibling worktree path from the branch name. */
|
|
141
|
+
private defaultPath;
|
|
142
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The swarm fault model.
|
|
3
|
+
*
|
|
4
|
+
* Every failure the swarm kernel raises is a {@link SwarmFault} — a real
|
|
5
|
+
* `Error` subclass carrying a typed, discriminable `kind`. Callers branch on
|
|
6
|
+
* `fault.kind` (or `instanceof SwarmFault`) instead of matching message
|
|
7
|
+
* substrings or sniffing for sentinel prefixes. The underlying trigger, when
|
|
8
|
+
* there is one, is preserved verbatim on the standard `Error.cause` slot so a
|
|
9
|
+
* stack/cause chain survives across the kernel boundary.
|
|
10
|
+
*
|
|
11
|
+
* The `kind` axis is closed and exhaustive:
|
|
12
|
+
*
|
|
13
|
+
* - `lock_timeout` — an exclusive guard could not be acquired before its
|
|
14
|
+
* deadline. Transient; the caller may retry or treat it as "skip this poll".
|
|
15
|
+
* - `validation` — a value failed its zod schema on read or write. The
|
|
16
|
+
* `cause` is the originating `ZodError` when available.
|
|
17
|
+
* - `not_found` — a cell, ticket, or log entry the caller named does not
|
|
18
|
+
* exist.
|
|
19
|
+
* - `conflict` — a guarded mutation lost a race or violated an invariant
|
|
20
|
+
* (e.g. claiming an already-claimed ticket).
|
|
21
|
+
* - `isolation` — a worktree / sandbox provisioning step failed.
|
|
22
|
+
* - `spawn` — a teammate agent could not be brought up.
|
|
23
|
+
*
|
|
24
|
+
* This file is pure (no I/O) and is the one dependency every other kernel
|
|
25
|
+
* module is allowed to lean on.
|
|
26
|
+
*/
|
|
27
|
+
/** The closed set of failure classes the swarm kernel can raise. */
|
|
28
|
+
export type SwarmFaultKind = "lock_timeout" | "validation" | "not_found" | "conflict" | "isolation" | "spawn";
|
|
29
|
+
/**
|
|
30
|
+
* A typed, discriminable failure raised anywhere inside the swarm kernel.
|
|
31
|
+
*
|
|
32
|
+
* It is a genuine `Error` (so it throws, stringifies, and carries a stack like
|
|
33
|
+
* any other), tagged with a {@link SwarmFaultKind} on {@link kind}. The
|
|
34
|
+
* `discriminated union on kind` the spec asks for is expressed structurally:
|
|
35
|
+
* narrowing on `fault.kind` narrows the value, and `instanceof SwarmFault`
|
|
36
|
+
* separates kernel faults from incidental errors.
|
|
37
|
+
*/
|
|
38
|
+
export declare class SwarmFault<K extends SwarmFaultKind = SwarmFaultKind> extends Error {
|
|
39
|
+
/** Which failure class this fault belongs to. */
|
|
40
|
+
readonly kind: K;
|
|
41
|
+
/** Stable error name, useful for logs and `error.name` consumers. */
|
|
42
|
+
readonly name = "SwarmFault";
|
|
43
|
+
constructor(kind: K, message: string, cause?: unknown);
|
|
44
|
+
/** Type guard narrowing an unknown value to a fault of a specific `kind`. */
|
|
45
|
+
static is<K extends SwarmFaultKind>(value: unknown, kind: K): value is SwarmFault<K>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Construct a {@link SwarmFault}. The ergonomic front door — prefer this over
|
|
49
|
+
* `new SwarmFault(...)` at call sites so the kind/message/cause order stays
|
|
50
|
+
* uniform across the kernel.
|
|
51
|
+
*/
|
|
52
|
+
export declare function swarmFault<K extends SwarmFaultKind>(kind: K, message: string, cause?: unknown): SwarmFault<K>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sortable unique identifiers for swarm entities.
|
|
3
|
+
*
|
|
4
|
+
* Every long-lived thing the swarm names — tickets, envelopes, channels,
|
|
5
|
+
* leases — gets an id from here. We use ULIDs rather than a monotonic
|
|
6
|
+
* high-water-mark counter: a ULID is lexicographically sortable by creation
|
|
7
|
+
* time (its leading 48 bits are a millisecond timestamp), globally unique
|
|
8
|
+
* without coordination, and needs no separate counter file or lock. That last
|
|
9
|
+
* property is what lets the workboard skip the bespoke `.highwatermark`
|
|
10
|
+
* sequence the old design serialized under its own mutex.
|
|
11
|
+
*
|
|
12
|
+
* Ids are optionally prefixed (`tkt_…`, `env_…`) so a bare string is
|
|
13
|
+
* self-describing in logs and on disk. The prefix is cosmetic — it is not part
|
|
14
|
+
* of the sortable suffix, so two ids with the same prefix still order by time.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Mint a fresh, time-sortable unique id.
|
|
18
|
+
*
|
|
19
|
+
* With no argument it returns a bare 26-char ULID. With a `prefix` it returns
|
|
20
|
+
* `<prefix>_<ULID>` — handy for distinguishing id families at a glance. Ids
|
|
21
|
+
* minted later in wall-clock time sort lexicographically after earlier ones
|
|
22
|
+
* (within a shared prefix), so a plain string sort doubles as a chronological
|
|
23
|
+
* sort.
|
|
24
|
+
*/
|
|
25
|
+
export declare function newId(prefix?: string): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The swarm kernel — public surface.
|
|
3
|
+
*
|
|
4
|
+
* The frozen, load-bearing foundation the crew/swarm orchestration layer is
|
|
5
|
+
* built on. Four primitives, deliberately small:
|
|
6
|
+
*
|
|
7
|
+
* - {@link JsonCell} — a lockable, schema-validated, atomically-published
|
|
8
|
+
* JSON file. The single abstraction that collapses the lock + atomic-write
|
|
9
|
+
* + read/validate trio every higher-level service needs.
|
|
10
|
+
* - {@link JsonlLog} — an append-only, schema-validated event log with a
|
|
11
|
+
* parent-pointer threading helper.
|
|
12
|
+
* - {@link newId} — sortable, coordination-free unique ids (ULID-backed).
|
|
13
|
+
* - {@link SwarmFault} — the typed, discriminable error every kernel
|
|
14
|
+
* operation raises.
|
|
15
|
+
*
|
|
16
|
+
* Domain services (`TicketBoard`, `Channel`, `CrewManifest`, the driver lease)
|
|
17
|
+
* are expected to be thin wrappers over these — they should never reach for
|
|
18
|
+
* `node:fs` locking, temp-file renames, or hand-rolled coercion directly.
|
|
19
|
+
*/
|
|
20
|
+
export { JsonCell } from "./json-cell";
|
|
21
|
+
export type { GuardOptions } from "./json-cell";
|
|
22
|
+
export { JsonlLog } from "./jsonl-log";
|
|
23
|
+
export type { TreeNode } from "./jsonl-log";
|
|
24
|
+
export { newId } from "./ids";
|
|
25
|
+
export { SwarmFault, swarmFault } from "./faults";
|
|
26
|
+
export type { SwarmFaultKind } from "./faults";
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `JsonCell<T>` — the one abstraction the swarm kernel coordinates through.
|
|
3
|
+
*
|
|
4
|
+
* The old crew layer hand-rolled the same three-step dance in four different
|
|
5
|
+
* files: take a cooperative file lock, read-and-validate the JSON, write it
|
|
6
|
+
* back atomically. This module collapses that trio into a single, well-tested
|
|
7
|
+
* class so every domain service (manifest, ticket board, channel, lease) is a
|
|
8
|
+
* thin wrapper over it rather than another copy of the pattern.
|
|
9
|
+
*
|
|
10
|
+
* A cell owns exactly one JSON file plus a zod schema describing its contents:
|
|
11
|
+
*
|
|
12
|
+
* - {@link JsonCell.read} — load the file, validate against the schema, and
|
|
13
|
+
* return a typed value. A missing file yields the cell's `initial` value;
|
|
14
|
+
* malformed JSON or a schema mismatch raises a `validation` fault.
|
|
15
|
+
* - {@link JsonCell.mutate} — the transactional primitive. It takes an
|
|
16
|
+
* exclusive lock, reads+validates the current value, applies the caller's
|
|
17
|
+
* pure transform, re-validates the result, atomically publishes it
|
|
18
|
+
* (temp file → `rename`), and releases the lock — even on error.
|
|
19
|
+
*
|
|
20
|
+
* Three deliberate divergences from the prior art:
|
|
21
|
+
*
|
|
22
|
+
* 1. **mkdir-lock, not `O_EXCL`.** The mutex is an atomic `mkdir` of a
|
|
23
|
+
* `<file>.lockdir` directory. `mkdir` is atomic on POSIX and Windows and
|
|
24
|
+
* fails with `EEXIST` when the directory already exists, giving the same
|
|
25
|
+
* single-writer guarantee as an exclusive-create lockfile without opening
|
|
26
|
+
* a file handle. A small JSON marker is dropped *inside* the lock dir for
|
|
27
|
+
* stale detection and debuggability.
|
|
28
|
+
* 2. **Our own backoff.** Acquisition retries on a jittered exponential
|
|
29
|
+
* schedule bounded by a deadline; a lock dir older than `staleMs` is
|
|
30
|
+
* forcibly reclaimed (its owner is presumed dead).
|
|
31
|
+
* 3. **Schema-validated on every crossing.** Reads and writes both run the
|
|
32
|
+
* passed zod schema, so a cell can never persist or surface a value that
|
|
33
|
+
* violates its type. Validation failures are typed `SwarmFault`s carrying
|
|
34
|
+
* the originating `ZodError` as `cause`.
|
|
35
|
+
*/
|
|
36
|
+
import { type ZodType } from "zod";
|
|
37
|
+
/** Tunables for the exclusive-guard acquisition loop. */
|
|
38
|
+
export interface GuardOptions {
|
|
39
|
+
/** Hard deadline for acquiring the lock, in ms. Default 10_000. */
|
|
40
|
+
readonly timeoutMs?: number;
|
|
41
|
+
/** A lock dir older than this (by marker/mtime age) is reclaimed. Default 30_000. */
|
|
42
|
+
readonly staleMs?: number;
|
|
43
|
+
/** First backoff sleep, in ms; subsequent sleeps grow exponentially. Default 12. */
|
|
44
|
+
readonly baseDelayMs?: number;
|
|
45
|
+
/** Ceiling on any single backoff sleep, in ms. Default 250. */
|
|
46
|
+
readonly maxDelayMs?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A lockable, schema-validated, atomically-published JSON file.
|
|
50
|
+
*
|
|
51
|
+
* Construct one with {@link JsonCell.open}; never `new` it directly — the
|
|
52
|
+
* factory is `async` so it can ensure the parent directory exists up front.
|
|
53
|
+
*/
|
|
54
|
+
export declare class JsonCell<T> {
|
|
55
|
+
/** Absolute path of the JSON file this cell owns. */
|
|
56
|
+
readonly path: string;
|
|
57
|
+
private readonly schema;
|
|
58
|
+
private readonly initial;
|
|
59
|
+
private readonly guardOpts;
|
|
60
|
+
private constructor();
|
|
61
|
+
/**
|
|
62
|
+
* Open (or adopt) the cell at `path`.
|
|
63
|
+
*
|
|
64
|
+
* The `initial` value is what {@link read} returns when the file does not yet
|
|
65
|
+
* exist; it is validated against `schema` immediately so a bad default fails
|
|
66
|
+
* loudly at open time rather than on first read. The file itself is *not*
|
|
67
|
+
* eagerly created — it materializes on the first {@link mutate}. The parent
|
|
68
|
+
* directory is created if missing.
|
|
69
|
+
*/
|
|
70
|
+
static open<T>(path: string, schema: ZodType<T>, initial: T, guard?: GuardOptions): Promise<JsonCell<T>>;
|
|
71
|
+
/**
|
|
72
|
+
* Load and validate the current value.
|
|
73
|
+
*
|
|
74
|
+
* A missing file returns the cell's `initial` value (the cell is born empty,
|
|
75
|
+
* not broken). Unparseable JSON or a schema mismatch raises a `validation`
|
|
76
|
+
* fault. Reads are lock-free: thanks to atomic publish, a reader either sees
|
|
77
|
+
* the previous complete value or the next complete value, never a torn one.
|
|
78
|
+
*/
|
|
79
|
+
read(): Promise<T>;
|
|
80
|
+
/**
|
|
81
|
+
* Transactionally read-modify-write under the exclusive guard.
|
|
82
|
+
*
|
|
83
|
+
* Acquires the lock, reads+validates the current value, applies `fn`,
|
|
84
|
+
* validates the result, atomically publishes it, and releases the lock in a
|
|
85
|
+
* `finally`. `fn` must be pure and must not perform its own I/O on this cell
|
|
86
|
+
* (it runs while the lock is held). Returns the freshly persisted value.
|
|
87
|
+
*/
|
|
88
|
+
mutate(fn: (current: T) => T): Promise<T>;
|
|
89
|
+
/** Parse + validate file text into a typed value. */
|
|
90
|
+
private decode;
|
|
91
|
+
/** Validate an outgoing value and serialize it. */
|
|
92
|
+
private encode;
|
|
93
|
+
/** Write to a unique temp sibling then `rename` over the target (atomic). */
|
|
94
|
+
private publishAtomic;
|
|
95
|
+
/** Path of this cell's lock directory. */
|
|
96
|
+
private get lockDir();
|
|
97
|
+
/**
|
|
98
|
+
* Run `body` while holding this cell's exclusive guard.
|
|
99
|
+
*
|
|
100
|
+
* Acquisition is an atomic `mkdir` of the lock dir; on `EEXIST` we back off
|
|
101
|
+
* and retry, reclaiming a lock dir that has gone stale. The lock is always
|
|
102
|
+
* released, including when `body` throws.
|
|
103
|
+
*/
|
|
104
|
+
private withGuard;
|
|
105
|
+
/** Acquire the lock dir, backing off and breaking stale locks until the deadline. */
|
|
106
|
+
private acquire;
|
|
107
|
+
/** True when the held lock dir is older than `staleMs` (presumed abandoned). */
|
|
108
|
+
private lockIsStale;
|
|
109
|
+
/** Forcibly remove a stale lock dir so a fresh holder can take it. */
|
|
110
|
+
private breakLock;
|
|
111
|
+
/** Release the lock by removing its directory. Best-effort; never throws. */
|
|
112
|
+
private release;
|
|
113
|
+
}
|