indusagi 0.13.6 → 0.13.7
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/LICENSE +661 -0
- package/README.md +7 -1
- package/dist/cli.js +114 -23
- package/package.json +54 -47
- package/dist/agent.js +0 -28713
- package/dist/ai.js +0 -19964
- package/dist/capabilities.js +0 -2730
- package/dist/connectors-saas.js +0 -3355
- package/dist/index.js +0 -16644
- package/dist/interop.js +0 -3247
- package/dist/knowledge/guides/authoring-an-agent.md +0 -53
- package/dist/knowledge/guides/choosing-tools.md +0 -49
- package/dist/knowledge/guides/model-selection.md +0 -51
- package/dist/knowledge/guides/writing-system-prompts.md +0 -53
- package/dist/knowledge/index.ts +0 -19
- package/dist/knowledge/loader.ts +0 -200
- package/dist/knowledge/manifest.json +0 -29
- package/dist/llmgateway.js +0 -3243
- package/dist/mcp.js +0 -1639
- package/dist/memory.js +0 -0
- package/dist/react-host/index.js +0 -101
- package/dist/react-host/ink.js +0 -97
- package/dist/react-host/jsx-runtime.js +0 -95
- package/dist/react-ink.js +0 -3834
- package/dist/runtime.js +0 -4421
- package/dist/shell-app.js +0 -12333
- package/dist/smithy.js +0 -8033
- package/dist/swarm.js +0 -8818
- package/dist/tracing.js +0 -724
- package/dist/tui.js +0 -2213
- package/dist/types/capabilities/backends/index.d.ts +0 -10
- package/dist/types/capabilities/backends/node-backends.d.ts +0 -30
- package/dist/types/capabilities/capabilities.test.d.ts +0 -14
- package/dist/types/capabilities/files/diff.d.ts +0 -49
- package/dist/types/capabilities/files/edit.d.ts +0 -21
- package/dist/types/capabilities/files/ls.d.ts +0 -16
- package/dist/types/capabilities/files/read-state-gate.d.ts +0 -69
- package/dist/types/capabilities/files/read-state-gate.test.d.ts +0 -14
- package/dist/types/capabilities/files/read.d.ts +0 -15
- package/dist/types/capabilities/files/write.d.ts +0 -16
- package/dist/types/capabilities/index.d.ts +0 -29
- package/dist/types/capabilities/kernel/backends.d.ts +0 -119
- package/dist/types/capabilities/kernel/context.d.ts +0 -52
- package/dist/types/capabilities/kernel/index.d.ts +0 -24
- package/dist/types/capabilities/kernel/output.d.ts +0 -40
- package/dist/types/capabilities/kernel/registry.d.ts +0 -61
- package/dist/types/capabilities/kernel/spec.d.ts +0 -168
- package/dist/types/capabilities/planning/todo.d.ts +0 -62
- package/dist/types/capabilities/registry.d.ts +0 -44
- package/dist/types/capabilities/search/find.d.ts +0 -33
- package/dist/types/capabilities/search/grep.d.ts +0 -30
- package/dist/types/capabilities/shell/bash.d.ts +0 -18
- package/dist/types/capabilities/shell/process.d.ts +0 -33
- package/dist/types/capabilities/web/webfetch.d.ts +0 -25
- package/dist/types/capabilities/web/websearch.d.ts +0 -23
- package/dist/types/connectors-saas/connectors-saas.test.d.ts +0 -12
- package/dist/types/connectors-saas/index.d.ts +0 -16
- package/dist/types/connectors-saas/saas/adapter/composio-backend.d.ts +0 -60
- package/dist/types/connectors-saas/saas/control/connect.d.ts +0 -114
- package/dist/types/connectors-saas/saas/control/tools.d.ts +0 -67
- package/dist/types/connectors-saas/saas/core/builder.d.ts +0 -86
- package/dist/types/connectors-saas/saas/core/cache.d.ts +0 -53
- package/dist/types/connectors-saas/saas/core/index.d.ts +0 -14
- package/dist/types/connectors-saas/saas/core/port.d.ts +0 -157
- package/dist/types/connectors-saas/saas/core/scope-planner.d.ts +0 -74
- package/dist/types/connectors-saas/saas/gateway.d.ts +0 -133
- package/dist/types/connectors-saas/saas/render/format.d.ts +0 -54
- package/dist/types/connectors-saas/saas/render/index.d.ts +0 -19
- package/dist/types/connectors-saas/saas/render/summarizers.d.ts +0 -58
- package/dist/types/facade/agent.d.ts +0 -1
- package/dist/types/facade/ai.d.ts +0 -1
- package/dist/types/facade/bot/actions/bash.d.ts +0 -71
- package/dist/types/facade/bot/actions/bash.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/checkpoint.d.ts +0 -49
- package/dist/types/facade/bot/actions/checkpoint.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/composio/accounts.d.ts +0 -22
- package/dist/types/facade/bot/actions/composio/client.d.ts +0 -39
- package/dist/types/facade/bot/actions/composio/connect.d.ts +0 -19
- package/dist/types/facade/bot/actions/composio/enable.d.ts +0 -25
- package/dist/types/facade/bot/actions/composio/execute.d.ts +0 -26
- package/dist/types/facade/bot/actions/composio/helpers.d.ts +0 -16
- package/dist/types/facade/bot/actions/composio/index.d.ts +0 -9
- package/dist/types/facade/bot/actions/composio/provider.d.ts +0 -8
- package/dist/types/facade/bot/actions/composio/toolkits.d.ts +0 -22
- package/dist/types/facade/bot/actions/composio/tools.d.ts +0 -28
- package/dist/types/facade/bot/actions/composio/types.d.ts +0 -137
- package/dist/types/facade/bot/actions/crew/activity-tracker.d.ts +0 -65
- package/dist/types/facade/bot/actions/crew/cleanup.d.ts +0 -50
- package/dist/types/facade/bot/actions/crew/fs-lock.d.ts +0 -11
- package/dist/types/facade/bot/actions/crew/index.d.ts +0 -11
- package/dist/types/facade/bot/actions/crew/mailbox.d.ts +0 -20
- package/dist/types/facade/bot/actions/crew/model-policy.d.ts +0 -22
- package/dist/types/facade/bot/actions/crew/names.d.ts +0 -27
- package/dist/types/facade/bot/actions/crew/protocol.d.ts +0 -74
- package/dist/types/facade/bot/actions/crew/task-store.d.ts +0 -88
- package/dist/types/facade/bot/actions/crew/team-attach-claim.d.ts +0 -35
- package/dist/types/facade/bot/actions/crew/team-config.d.ts +0 -54
- package/dist/types/facade/bot/actions/crew/worktree.d.ts +0 -39
- package/dist/types/facade/bot/actions/edit-diff.d.ts +0 -66
- package/dist/types/facade/bot/actions/edit-utils.d.ts +0 -86
- package/dist/types/facade/bot/actions/edit.d.ts +0 -59
- package/dist/types/facade/bot/actions/edit.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/find.d.ts +0 -27
- package/dist/types/facade/bot/actions/find.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/grep.d.ts +0 -53
- package/dist/types/facade/bot/actions/grep.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/index.d.ts +0 -316
- package/dist/types/facade/bot/actions/kit/hook-runner.d.ts +0 -12
- package/dist/types/facade/bot/actions/kit/image-resize.d.ts +0 -19
- package/dist/types/facade/bot/actions/kit/mime.d.ts +0 -1
- package/dist/types/facade/bot/actions/kit/shell.d.ts +0 -12
- package/dist/types/facade/bot/actions/ls.d.ts +0 -41
- package/dist/types/facade/bot/actions/path-utils.d.ts +0 -8
- package/dist/types/facade/bot/actions/process-controller.d.ts +0 -14
- package/dist/types/facade/bot/actions/process-manager.d.ts +0 -59
- package/dist/types/facade/bot/actions/process-types.d.ts +0 -73
- package/dist/types/facade/bot/actions/process.d.ts +0 -37
- package/dist/types/facade/bot/actions/read-state.d.ts +0 -83
- package/dist/types/facade/bot/actions/read-state.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/read.d.ts +0 -43
- package/dist/types/facade/bot/actions/read.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/registry.d.ts +0 -20
- package/dist/types/facade/bot/actions/sandbox-backend.d.ts +0 -99
- package/dist/types/facade/bot/actions/sandbox-backend.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/todo-store.d.ts +0 -76
- package/dist/types/facade/bot/actions/todo-types.d.ts +0 -72
- package/dist/types/facade/bot/actions/todo.d.ts +0 -76
- package/dist/types/facade/bot/actions/truncate.d.ts +0 -78
- package/dist/types/facade/bot/actions/webfetch.d.ts +0 -35
- package/dist/types/facade/bot/actions/websearch.d.ts +0 -37
- package/dist/types/facade/bot/actions/websearch.test.d.ts +0 -1
- package/dist/types/facade/bot/actions/write.d.ts +0 -45
- package/dist/types/facade/bot/agent-loop.d.ts +0 -30
- package/dist/types/facade/bot/agent-loop.test.d.ts +0 -1
- package/dist/types/facade/bot/agent.d.ts +0 -140
- package/dist/types/facade/bot/error-handler.d.ts +0 -7
- package/dist/types/facade/bot/event-bus.d.ts +0 -8
- package/dist/types/facade/bot/index.d.ts +0 -7
- package/dist/types/facade/bot/messages.d.ts +0 -83
- package/dist/types/facade/bot/permission-gate.test.d.ts +0 -1
- package/dist/types/facade/bot/proxy.d.ts +0 -70
- package/dist/types/facade/bot/session-manager.d.ts +0 -409
- package/dist/types/facade/bot/state-manager.d.ts +0 -21
- package/dist/types/facade/bot/telemetry.d.ts +0 -6
- package/dist/types/facade/bot/types.d.ts +0 -267
- package/dist/types/facade/mcp-core/client-pool.d.ts +0 -105
- package/dist/types/facade/mcp-core/client.d.ts +0 -213
- package/dist/types/facade/mcp-core/client.test.d.ts +0 -18
- package/dist/types/facade/mcp-core/config.d.ts +0 -60
- package/dist/types/facade/mcp-core/errors.d.ts +0 -103
- package/dist/types/facade/mcp-core/index.d.ts +0 -55
- package/dist/types/facade/mcp-core/schema-converter.d.ts +0 -67
- package/dist/types/facade/mcp-core/server.d.ts +0 -110
- package/dist/types/facade/mcp-core/tool-factory.d.ts +0 -62
- package/dist/types/facade/mcp-core/types.d.ts +0 -298
- package/dist/types/facade/mcp.d.ts +0 -1
- package/dist/types/facade/memory.d.ts +0 -1
- package/dist/types/facade/ml/adapters/amazon-bedrock.d.ts +0 -32
- package/dist/types/facade/ml/adapters/anthropic-retry.test.d.ts +0 -1
- package/dist/types/facade/ml/adapters/anthropic.d.ts +0 -78
- package/dist/types/facade/ml/adapters/azure-openai-responses.d.ts +0 -14
- package/dist/types/facade/ml/adapters/google-shared.d.ts +0 -99
- package/dist/types/facade/ml/adapters/google-vertex.d.ts +0 -14
- package/dist/types/facade/ml/adapters/google.d.ts +0 -15
- package/dist/types/facade/ml/adapters/kimi.d.ts +0 -21
- package/dist/types/facade/ml/adapters/mock.d.ts +0 -9
- package/dist/types/facade/ml/adapters/nvidia.d.ts +0 -12
- package/dist/types/facade/ml/adapters/openai-codex-responses.d.ts +0 -8
- package/dist/types/facade/ml/adapters/openai-completions.d.ts +0 -24
- package/dist/types/facade/ml/adapters/openai-responses-shared.d.ts +0 -25
- package/dist/types/facade/ml/adapters/openai-responses.d.ts +0 -12
- package/dist/types/facade/ml/adapters/openai-scaffold.d.ts +0 -3
- package/dist/types/facade/ml/adapters/register-builtins.d.ts +0 -2
- package/dist/types/facade/ml/adapters/simple-options.d.ts +0 -39
- package/dist/types/facade/ml/adapters/simple-options.test.d.ts +0 -1
- package/dist/types/facade/ml/adapters/transform-messages.d.ts +0 -23
- package/dist/types/facade/ml/api-registry.d.ts +0 -49
- package/dist/types/facade/ml/cli.d.ts +0 -2
- package/dist/types/facade/ml/env-api-keys.d.ts +0 -19
- package/dist/types/facade/ml/index.d.ts +0 -27
- package/dist/types/facade/ml/kit/auth/anthropic.d.ts +0 -17
- package/dist/types/facade/ml/kit/auth/github-copilot.d.ts +0 -22
- package/dist/types/facade/ml/kit/auth/index.d.ts +0 -50
- package/dist/types/facade/ml/kit/auth/kimi.d.ts +0 -23
- package/dist/types/facade/ml/kit/auth/oauth-page.d.ts +0 -2
- package/dist/types/facade/ml/kit/auth/openai-codex.d.ts +0 -36
- package/dist/types/facade/ml/kit/auth/pkce.d.ts +0 -12
- package/dist/types/facade/ml/kit/auth/types.d.ts +0 -67
- package/dist/types/facade/ml/kit/base-stream-handler.d.ts +0 -30
- package/dist/types/facade/ml/kit/event-stream.d.ts +0 -63
- package/dist/types/facade/ml/kit/index.d.ts +0 -14
- package/dist/types/facade/ml/kit/json-parse.d.ts +0 -23
- package/dist/types/facade/ml/kit/message-transform.d.ts +0 -32
- package/dist/types/facade/ml/kit/output-factory.d.ts +0 -8
- package/dist/types/facade/ml/kit/overflow.d.ts +0 -9
- package/dist/types/facade/ml/kit/provider-adapter.d.ts +0 -56
- package/dist/types/facade/ml/kit/provider-client-builder.d.ts +0 -36
- package/dist/types/facade/ml/kit/provider-consolidation.d.ts +0 -3
- package/dist/types/facade/ml/kit/provider-constants.d.ts +0 -34
- package/dist/types/facade/ml/kit/provider-errors.d.ts +0 -52
- package/dist/types/facade/ml/kit/sanitize-unicode.d.ts +0 -2
- package/dist/types/facade/ml/kit/stream-event-helper.d.ts +0 -38
- package/dist/types/facade/ml/kit/stream-handler-types.d.ts +0 -46
- package/dist/types/facade/ml/kit/streaming-state-manager.d.ts +0 -42
- package/dist/types/facade/ml/kit/tool-converter.d.ts +0 -49
- package/dist/types/facade/ml/kit/typebox-helpers.d.ts +0 -24
- package/dist/types/facade/ml/kit/validation.d.ts +0 -26
- package/dist/types/facade/ml/models.d.ts +0 -41
- package/dist/types/facade/ml/models.generated.d.ts +0 -12405
- package/dist/types/facade/ml/stream.d.ts +0 -27
- package/dist/types/facade/ml/types.d.ts +0 -269
- package/dist/types/index.d.ts +0 -16
- package/dist/types/interop/index.d.ts +0 -12
- package/dist/types/interop/interop.test.d.ts +0 -19
- package/dist/types/interop/protocol-bridge/bridge.d.ts +0 -52
- package/dist/types/interop/protocol-bridge/contract.d.ts +0 -249
- package/dist/types/interop/protocol-bridge/endpoint.d.ts +0 -124
- package/dist/types/interop/protocol-bridge/fleet.d.ts +0 -92
- package/dist/types/interop/protocol-bridge/host.d.ts +0 -61
- package/dist/types/interop/protocol-bridge/index.d.ts +0 -16
- package/dist/types/interop/protocol-bridge/schema.d.ts +0 -29
- package/dist/types/llmgateway/catalog/cards.d.ts +0 -18
- package/dist/types/llmgateway/catalog/cost.d.ts +0 -15
- package/dist/types/llmgateway/catalog/index.d.ts +0 -7
- package/dist/types/llmgateway/catalog/query.d.ts +0 -40
- package/dist/types/llmgateway/connectors/anthropic.d.ts +0 -35
- package/dist/types/llmgateway/connectors/azure-openai.d.ts +0 -33
- package/dist/types/llmgateway/connectors/bedrock.d.ts +0 -113
- package/dist/types/llmgateway/connectors/google-vertex.d.ts +0 -38
- package/dist/types/llmgateway/connectors/google.d.ts +0 -40
- package/dist/types/llmgateway/connectors/index.d.ts +0 -26
- package/dist/types/llmgateway/connectors/kimi.d.ts +0 -28
- package/dist/types/llmgateway/connectors/mock.d.ts +0 -37
- package/dist/types/llmgateway/connectors/nvidia.d.ts +0 -27
- package/dist/types/llmgateway/connectors/ollama.d.ts +0 -45
- package/dist/types/llmgateway/connectors/openai-chat.d.ts +0 -25
- package/dist/types/llmgateway/connectors/openai-responses.d.ts +0 -49
- package/dist/types/llmgateway/contract/connector.d.ts +0 -32
- package/dist/types/llmgateway/contract/conversation.d.ts +0 -86
- package/dist/types/llmgateway/contract/emission.d.ts +0 -55
- package/dist/types/llmgateway/contract/errors.d.ts +0 -27
- package/dist/types/llmgateway/contract/index.d.ts +0 -13
- package/dist/types/llmgateway/contract/model-card.d.ts +0 -42
- package/dist/types/llmgateway/contract/options.d.ts +0 -31
- package/dist/types/llmgateway/contract/reply.d.ts +0 -33
- package/dist/types/llmgateway/conversion/index.d.ts +0 -10
- package/dist/types/llmgateway/conversion/mappers.d.ts +0 -65
- package/dist/types/llmgateway/conversion/openai-compatible.d.ts +0 -46
- package/dist/types/llmgateway/conversion/reduce.d.ts +0 -20
- package/dist/types/llmgateway/credentials/oauth.d.ts +0 -73
- package/dist/types/llmgateway/credentials/pkce.d.ts +0 -52
- package/dist/types/llmgateway/credentials/secrets.d.ts +0 -74
- package/dist/types/llmgateway/gateway.d.ts +0 -34
- package/dist/types/llmgateway/gateway.test.d.ts +0 -14
- package/dist/types/llmgateway/index.d.ts +0 -11
- package/dist/types/llmgateway/streaming/channel.d.ts +0 -24
- package/dist/types/llmgateway/streaming/index.d.ts +0 -10
- package/dist/types/llmgateway/streaming/ndjson.d.ts +0 -17
- package/dist/types/llmgateway/streaming/sse.d.ts +0 -31
- package/dist/types/react-host/index.d.ts +0 -9
- package/dist/types/react-host/ink.d.ts +0 -5
- package/dist/types/react-host/jsx-runtime.d.ts +0 -4
- package/dist/types/react-host/loader.d.ts +0 -3
- package/dist/types/react-ink/components/ChangelogBlock.d.ts +0 -8
- package/dist/types/react-ink/components/DisplayBlockView.d.ts +0 -8
- package/dist/types/react-ink/components/Footer.d.ts +0 -11
- package/dist/types/react-ink/components/MessageList.d.ts +0 -14
- package/dist/types/react-ink/components/MessageRow.d.ts +0 -13
- package/dist/types/react-ink/components/StatusLine.d.ts +0 -18
- package/dist/types/react-ink/components/TaskPanel.d.ts +0 -11
- package/dist/types/react-ink/components/ToolEventBlock.d.ts +0 -48
- package/dist/types/react-ink/components/ToolEventBlock.test.d.ts +0 -1
- package/dist/types/react-ink/components/dialogs/DialogFrame.d.ts +0 -8
- package/dist/types/react-ink/components/dialogs/LoginDialog.d.ts +0 -14
- package/dist/types/react-ink/components/dialogs/ModelDialog.d.ts +0 -9
- package/dist/types/react-ink/components/dialogs/OAuthDialog.d.ts +0 -9
- package/dist/types/react-ink/components/dialogs/ScopedModelsDialog.d.ts +0 -9
- package/dist/types/react-ink/components/dialogs/SelectableDialog.d.ts +0 -22
- package/dist/types/react-ink/components/dialogs/SessionDialog.d.ts +0 -13
- package/dist/types/react-ink/components/dialogs/SettingsDialog.d.ts +0 -14
- package/dist/types/react-ink/components/dialogs/StartupSessionPicker.d.ts +0 -9
- package/dist/types/react-ink/components/dialogs/ThemeDialog.d.ts +0 -26
- package/dist/types/react-ink/components/dialogs/TreeDialog.d.ts +0 -8
- package/dist/types/react-ink/components/dialogs/UserMessageDialog.d.ts +0 -8
- package/dist/types/react-ink/components/messages/AssistantMessage.d.ts +0 -12
- package/dist/types/react-ink/components/messages/BashMessage.d.ts +0 -8
- package/dist/types/react-ink/components/messages/BranchSummaryMessage.d.ts +0 -8
- package/dist/types/react-ink/components/messages/CompactionMessage.d.ts +0 -8
- package/dist/types/react-ink/components/messages/CustomMessage.d.ts +0 -9
- package/dist/types/react-ink/components/messages/SkillInvocationMessage.d.ts +0 -7
- package/dist/types/react-ink/components/messages/ToolCallMessage.d.ts +0 -8
- package/dist/types/react-ink/components/messages/ToolResultBlock.d.ts +0 -12
- package/dist/types/react-ink/components/messages/UserMessage.d.ts +0 -9
- package/dist/types/react-ink/diff/Diff.d.ts +0 -22
- package/dist/types/react-ink/diff/diff.test.d.ts +0 -1
- package/dist/types/react-ink/diff/structured.d.ts +0 -41
- package/dist/types/react-ink/diff/word-diff.d.ts +0 -27
- package/dist/types/react-ink/index.d.ts +0 -42
- package/dist/types/react-ink/markdown/Markdown.d.ts +0 -23
- package/dist/types/react-ink/markdown/MarkdownTable.d.ts +0 -19
- package/dist/types/react-ink/markdown/StreamingMarkdown.d.ts +0 -34
- package/dist/types/react-ink/markdown/format-token.d.ts +0 -39
- package/dist/types/react-ink/markdown/highlight.d.ts +0 -31
- package/dist/types/react-ink/theme-adapter.d.ts +0 -66
- package/dist/types/react-ink/types.d.ts +0 -133
- package/dist/types/react-ink/utils/message-groups.d.ts +0 -25
- package/dist/types/react-ink/utils/selection-dialog.d.ts +0 -2
- package/dist/types/react-ink/utils/session-browser.d.ts +0 -27
- package/dist/types/react-ink/utils/tool-display.d.ts +0 -37
- package/dist/types/runtime/cadence/cadence.test.d.ts +0 -6
- package/dist/types/runtime/cadence/fold.d.ts +0 -48
- package/dist/types/runtime/cadence/index.d.ts +0 -12
- package/dist/types/runtime/cadence/reducer.d.ts +0 -44
- package/dist/types/runtime/conductor/agent.d.ts +0 -71
- package/dist/types/runtime/conductor/index.d.ts +0 -11
- package/dist/types/runtime/contract/config.d.ts +0 -44
- package/dist/types/runtime/contract/effect.d.ts +0 -41
- package/dist/types/runtime/contract/errors.d.ts +0 -22
- package/dist/types/runtime/contract/events.d.ts +0 -63
- package/dist/types/runtime/contract/index.d.ts +0 -18
- package/dist/types/runtime/contract/run-state.d.ts +0 -57
- package/dist/types/runtime/contract/session.d.ts +0 -42
- package/dist/types/runtime/contract/signal.d.ts +0 -49
- package/dist/types/runtime/contract/tools.d.ts +0 -45
- package/dist/types/runtime/dispatch/index.d.ts +0 -9
- package/dist/types/runtime/dispatch/scheduler.d.ts +0 -53
- package/dist/types/runtime/index.d.ts +0 -22
- package/dist/types/runtime/ledger/accumulator.d.ts +0 -44
- package/dist/types/runtime/ledger/bus.d.ts +0 -50
- package/dist/types/runtime/ledger/index.d.ts +0 -11
- package/dist/types/runtime/memory/compactor.d.ts +0 -56
- package/dist/types/runtime/memory/estimate.d.ts +0 -21
- package/dist/types/runtime/memory/index.d.ts +0 -8
- package/dist/types/runtime/runtime.test.d.ts +0 -15
- package/dist/types/runtime/store/dag.d.ts +0 -72
- package/dist/types/runtime/store/hash.d.ts +0 -18
- package/dist/types/runtime/store/index.d.ts +0 -12
- package/dist/types/runtime/store/persist.d.ts +0 -49
- package/dist/types/runtime/turn/driver.d.ts +0 -32
- package/dist/types/runtime/turn/index.d.ts +0 -8
- package/dist/types/runtime/wire/index.d.ts +0 -10
- package/dist/types/runtime/wire/projectors.d.ts +0 -53
- package/dist/types/shell-app/auth-cli/index.d.ts +0 -9
- package/dist/types/shell-app/auth-cli/oauth-cli.d.ts +0 -73
- package/dist/types/shell-app/boot/context.d.ts +0 -108
- package/dist/types/shell-app/boot/index.d.ts +0 -13
- package/dist/types/shell-app/boot/pipeline.d.ts +0 -66
- package/dist/types/shell-app/boot/stages.d.ts +0 -77
- package/dist/types/shell-app/cli.d.ts +0 -75
- package/dist/types/shell-app/config/index.d.ts +0 -11
- package/dist/types/shell-app/config/locator.d.ts +0 -85
- package/dist/types/shell-app/config/settings.d.ts +0 -91
- package/dist/types/shell-app/index.d.ts +0 -26
- package/dist/types/shell-app/invocation/flags.d.ts +0 -89
- package/dist/types/shell-app/invocation/parse.d.ts +0 -89
- package/dist/types/shell-app/locate/brand.d.ts +0 -71
- package/dist/types/shell-app/locate/index.d.ts +0 -12
- package/dist/types/shell-app/locate/locator.d.ts +0 -122
- package/dist/types/shell-app/runners/contract.d.ts +0 -116
- package/dist/types/shell-app/runners/index.d.ts +0 -15
- package/dist/types/shell-app/runners/one-shot.d.ts +0 -21
- package/dist/types/shell-app/runners/registry.d.ts +0 -34
- package/dist/types/shell-app/runners/repl.d.ts +0 -51
- package/dist/types/shell-app/runners/wire.d.ts +0 -34
- package/dist/types/shell-app/shell-app.test.d.ts +0 -14
- package/dist/types/shell-app/upgrade/index.d.ts +0 -9
- package/dist/types/shell-app/upgrade/upgrades.d.ts +0 -62
- package/dist/types/smithy/config/flag-reader.d.ts +0 -128
- package/dist/types/smithy/config/index.d.ts +0 -9
- package/dist/types/smithy/forge.d.ts +0 -135
- package/dist/types/smithy/index.d.ts +0 -36
- package/dist/types/smithy/knowledge/index.d.ts +0 -10
- package/dist/types/smithy/knowledge/loader.d.ts +0 -64
- package/dist/types/smithy/persona/blueprint.d.ts +0 -75
- package/dist/types/smithy/persona/define-agent.d.ts +0 -51
- package/dist/types/smithy/persona/index.d.ts +0 -14
- package/dist/types/smithy/persona/profiles.d.ts +0 -44
- package/dist/types/smithy/runtime/index.d.ts +0 -9
- package/dist/types/smithy/runtime/tool-ledger.d.ts +0 -130
- package/dist/types/smithy/smithy.test.d.ts +0 -20
- package/dist/types/smithy/ui/index.d.ts +0 -11
- package/dist/types/smithy/ui/transcript.d.ts +0 -183
- package/dist/types/swarm/coordinator.d.ts +0 -192
- package/dist/types/swarm/index.d.ts +0 -33
- package/dist/types/swarm/isolation/index.d.ts +0 -14
- package/dist/types/swarm/isolation/runner.d.ts +0 -61
- package/dist/types/swarm/isolation/worktree.d.ts +0 -142
- package/dist/types/swarm/kernel/faults.d.ts +0 -52
- package/dist/types/swarm/kernel/ids.d.ts +0 -25
- package/dist/types/swarm/kernel/index.d.ts +0 -26
- package/dist/types/swarm/kernel/json-cell.d.ts +0 -113
- package/dist/types/swarm/kernel/jsonl-log.d.ts +0 -81
- package/dist/types/swarm/postbox/channel.d.ts +0 -88
- package/dist/types/swarm/postbox/codecs.d.ts +0 -253
- package/dist/types/swarm/postbox/index.d.ts +0 -16
- package/dist/types/swarm/roster/index.d.ts +0 -16
- package/dist/types/swarm/roster/manifest.d.ts +0 -185
- package/dist/types/swarm/swarm.test.d.ts +0 -24
- package/dist/types/swarm/telemetry/activity.d.ts +0 -143
- package/dist/types/swarm/workboard/board.d.ts +0 -174
- package/dist/types/swarm/workboard/dep-graph.d.ts +0 -77
- package/dist/types/swarm/workboard/index.d.ts +0 -12
- package/dist/types/tracing/adapter/index.d.ts +0 -12
- package/dist/types/tracing/adapter/runtime-trace.d.ts +0 -54
- package/dist/types/tracing/channel/index.d.ts +0 -9
- package/dist/types/tracing/channel/signal.d.ts +0 -93
- package/dist/types/tracing/index.d.ts +0 -25
- package/dist/types/tracing/recorder/index.d.ts +0 -12
- package/dist/types/tracing/recorder/recorder.d.ts +0 -75
- package/dist/types/tracing/recorder/sampling.d.ts +0 -55
- package/dist/types/tracing/redaction/index.d.ts +0 -8
- package/dist/types/tracing/redaction/secret-scrubber.d.ts +0 -95
- package/dist/types/tracing/registry/hub.d.ts +0 -57
- package/dist/types/tracing/registry/index.d.ts +0 -7
- package/dist/types/tracing/signal/handle.d.ts +0 -73
- package/dist/types/tracing/signal/index.d.ts +0 -12
- package/dist/types/tracing/signal/segment.d.ts +0 -124
- package/dist/types/tracing/sinks/base.d.ts +0 -51
- package/dist/types/tracing/sinks/console.d.ts +0 -44
- package/dist/types/tracing/sinks/file.d.ts +0 -47
- package/dist/types/tracing/sinks/index.d.ts +0 -16
- package/dist/types/tracing/sinks/stream.d.ts +0 -46
- package/dist/types/tracing/tracing.test.d.ts +0 -7
- package/dist/types/ui/autocomplete.d.ts +0 -59
- package/dist/types/ui/contracts.d.ts +0 -38
- package/dist/types/ui/editor-component.d.ts +0 -100
- package/dist/types/ui/fuzzy.d.ts +0 -29
- package/dist/types/ui/index.d.ts +0 -8
- package/dist/types/ui/keybindings.d.ts +0 -62
- package/dist/types/ui/keys.d.ts +0 -171
- package/dist/types/ui/theme-types.d.ts +0 -36
- package/dist/types/ui/utils.d.ts +0 -101
- package/dist/types/ui-bridge/InteractiveApp.d.ts +0 -38
- package/dist/types/ui-bridge/adapter.d.ts +0 -90
- package/dist/types/ui-bridge/index.d.ts +0 -37
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
export declare const MESSAGE_TYPE_PROCESS_UPDATE = "ad-process:update";
|
|
2
|
-
export type ProcessStatus = "running" | "terminating" | "terminate_timeout" | "exited" | "killed";
|
|
3
|
-
export declare const LIVE_STATUSES: ReadonlySet<ProcessStatus>;
|
|
4
|
-
export interface ProcessInfo {
|
|
5
|
-
id: string;
|
|
6
|
-
name: string;
|
|
7
|
-
pid: number;
|
|
8
|
-
command: string;
|
|
9
|
-
cwd: string;
|
|
10
|
-
startTime: number;
|
|
11
|
-
endTime: number | null;
|
|
12
|
-
status: ProcessStatus;
|
|
13
|
-
exitCode: number | null;
|
|
14
|
-
success: boolean | null;
|
|
15
|
-
stdoutFile: string;
|
|
16
|
-
stderrFile: string;
|
|
17
|
-
alertOnSuccess: boolean;
|
|
18
|
-
alertOnFailure: boolean;
|
|
19
|
-
alertOnKill: boolean;
|
|
20
|
-
}
|
|
21
|
-
export type ManagerEvent = {
|
|
22
|
-
type: "process_started";
|
|
23
|
-
info: ProcessInfo;
|
|
24
|
-
} | {
|
|
25
|
-
type: "process_ended";
|
|
26
|
-
info: ProcessInfo;
|
|
27
|
-
} | {
|
|
28
|
-
type: "processes_changed";
|
|
29
|
-
};
|
|
30
|
-
export type KillResult = {
|
|
31
|
-
ok: true;
|
|
32
|
-
info: ProcessInfo;
|
|
33
|
-
} | {
|
|
34
|
-
ok: false;
|
|
35
|
-
info: ProcessInfo;
|
|
36
|
-
reason: "not_found" | "timeout" | "error";
|
|
37
|
-
};
|
|
38
|
-
export type WriteResult = {
|
|
39
|
-
ok: true;
|
|
40
|
-
} | {
|
|
41
|
-
ok: false;
|
|
42
|
-
reason: "not_found" | "process_exited" | "stdin_closed" | "write_error";
|
|
43
|
-
};
|
|
44
|
-
export interface StartOptions {
|
|
45
|
-
alertOnSuccess?: boolean;
|
|
46
|
-
alertOnFailure?: boolean;
|
|
47
|
-
alertOnKill?: boolean;
|
|
48
|
-
}
|
|
49
|
-
export interface ProcessesDetails {
|
|
50
|
-
action: string;
|
|
51
|
-
success: boolean;
|
|
52
|
-
message: string;
|
|
53
|
-
process?: ProcessInfo;
|
|
54
|
-
processes?: ProcessInfo[];
|
|
55
|
-
output?: {
|
|
56
|
-
stdout: string[];
|
|
57
|
-
stderr: string[];
|
|
58
|
-
status: string;
|
|
59
|
-
};
|
|
60
|
-
logFiles?: {
|
|
61
|
-
stdoutFile: string;
|
|
62
|
-
stderrFile: string;
|
|
63
|
-
combinedFile?: string;
|
|
64
|
-
};
|
|
65
|
-
cleared?: number;
|
|
66
|
-
}
|
|
67
|
-
export interface ExecuteResult {
|
|
68
|
-
content: Array<{
|
|
69
|
-
type: "text";
|
|
70
|
-
text: string;
|
|
71
|
-
}>;
|
|
72
|
-
details: ProcessesDetails;
|
|
73
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { AgentTool } from "../types.js";
|
|
2
|
-
import { type Static } from "@sinclair/typebox";
|
|
3
|
-
import { getProcessController, type ProcessController, type ProcessControllerOptions } from "./process-controller.js";
|
|
4
|
-
import type { ProcessesDetails } from "./process-types.js";
|
|
5
|
-
declare const ProcessesParams: import("@sinclair/typebox").TObject<{
|
|
6
|
-
action: import("@sinclair/typebox").TUnsafe<"output" | "start" | "write" | "list" | "logs" | "kill" | "clear">;
|
|
7
|
-
command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
|
-
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
9
|
-
id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
10
|
-
input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
11
|
-
end: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
12
|
-
alertOnSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
13
|
-
alertOnFailure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
14
|
-
alertOnKill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
15
|
-
}>;
|
|
16
|
-
export type ProcessesParamsType = Static<typeof ProcessesParams>;
|
|
17
|
-
export interface ProcessToolOptions extends ProcessControllerOptions {
|
|
18
|
-
controller?: ProcessController;
|
|
19
|
-
cwd?: string;
|
|
20
|
-
defaultTailLines?: number;
|
|
21
|
-
maxOutputLines?: number;
|
|
22
|
-
}
|
|
23
|
-
export declare function createProcessTool(options?: ProcessToolOptions): AgentTool<typeof ProcessesParams, ProcessesDetails>;
|
|
24
|
-
export declare const processTool: AgentTool<import("@sinclair/typebox").TObject<{
|
|
25
|
-
action: import("@sinclair/typebox").TUnsafe<"output" | "start" | "write" | "list" | "logs" | "kill" | "clear">;
|
|
26
|
-
command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
27
|
-
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
28
|
-
id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
29
|
-
input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
30
|
-
end: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
31
|
-
alertOnSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
32
|
-
alertOnFailure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
33
|
-
alertOnKill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
34
|
-
}>, ProcessesDetails>;
|
|
35
|
-
export { getProcessController, type ProcessController, type ProcessControllerOptions, };
|
|
36
|
-
export { MESSAGE_TYPE_PROCESS_UPDATE, LIVE_STATUSES, type ExecuteResult, type KillResult, type ManagerEvent, type ProcessInfo, type ProcessStatus, type ProcessesDetails, type StartOptions, type WriteResult, } from "./process-types.js";
|
|
37
|
-
export { ProcessManager, type ProcessManagerOptions } from "./process-manager.js";
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Read-before-edit gate for the WIRED facade tool layer.
|
|
3
|
-
*
|
|
4
|
-
* This is the product-side half of the read-edit-gate feature. The framework's
|
|
5
|
-
* `capabilities/files/read-state-gate.ts` carries the same discipline, but the
|
|
6
|
-
* product wires the `read` / `edit` / `write` factories exported from
|
|
7
|
-
* `indusagi/agent` (i.e. these `facade/bot/actions/` factories), so the gate had
|
|
8
|
-
* to live here too to actually take effect.
|
|
9
|
-
*
|
|
10
|
-
* When — and ONLY when — a host passes a {@link ReadStateHandle} via the tool's
|
|
11
|
-
* options bag, the file tools enforce a small discipline borrowed from
|
|
12
|
-
* interactive coding agents:
|
|
13
|
-
*
|
|
14
|
-
* 1. A file may not be edited or overwritten until it has been *read* in this
|
|
15
|
-
* session (so the model is never blindly clobbering content it has not
|
|
16
|
-
* seen). Brand-new files (those that do not yet exist on disk) are exempt
|
|
17
|
-
* from the write tool's gate.
|
|
18
|
-
* 2. A file may not be mutated if it has drifted on disk since that read — its
|
|
19
|
-
* modification time or byte size advanced past what was recorded — because
|
|
20
|
-
* that usually means a human or a linter changed it underneath us.
|
|
21
|
-
*
|
|
22
|
-
* After every successful read (and every successful mutation) the recorded state
|
|
23
|
-
* is refreshed from the fresh on-disk stat, so the next gate check compares
|
|
24
|
-
* against the latest known-good snapshot.
|
|
25
|
-
*
|
|
26
|
-
* The whole mechanism is *additive*: with no handle present, every helper here
|
|
27
|
-
* is a no-op and the tools behave exactly as they did before. The handle is
|
|
28
|
-
* duck-typed so the host and these factories agree on shape without a
|
|
29
|
-
* cross-package type import.
|
|
30
|
-
*/
|
|
31
|
-
/** A single recorded read: the on-disk shape captured at read time. */
|
|
32
|
-
export interface ReadStateRecord {
|
|
33
|
-
/** File modification time in ms, floored to a whole millisecond. */
|
|
34
|
-
mtimeMs: number;
|
|
35
|
-
/** File byte size at read time. */
|
|
36
|
-
size: number;
|
|
37
|
-
/** Optional content hash; unused by the default gate but reserved for hosts. */
|
|
38
|
-
contentHash?: string;
|
|
39
|
-
/** When the read was recorded; the gate mirrors this to `mtimeMs`. */
|
|
40
|
-
readAt: number;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Duck-typed store the host injects to drive the gate. Any object exposing this
|
|
44
|
-
* shape (e.g. a `Map`-backed wrapper) works; nothing is imported across packages.
|
|
45
|
-
*/
|
|
46
|
-
export interface ReadStateHandle {
|
|
47
|
-
get(path: string): ReadStateRecord | undefined;
|
|
48
|
-
set(path: string, rec: ReadStateRecord): void;
|
|
49
|
-
has(path: string): boolean;
|
|
50
|
-
}
|
|
51
|
-
/** The two byte-stable refusal messages the gate emits. */
|
|
52
|
-
export declare const READ_BEFORE_EDIT_MESSAGE = "File has not been read yet. Read it first before writing to it.";
|
|
53
|
-
export declare const MODIFIED_SINCE_READ_MESSAGE = "File has been modified since read, either by the user or by a linter. Read it again before attempting to write it.";
|
|
54
|
-
/**
|
|
55
|
-
* Record (or refresh) the read state for `absPath` from a fresh stat.
|
|
56
|
-
*
|
|
57
|
-
* No-op when no handle is present. The mtime is floored to a whole millisecond
|
|
58
|
-
* so a sub-ms clock skew between read and a later compare can never spuriously
|
|
59
|
-
* trip the staleness check. `readAt` mirrors the floored mtime — no wall-clock
|
|
60
|
-
* call is made. A failed stat is swallowed: state-keeping is best-effort and
|
|
61
|
-
* must never mask the real operation's outcome.
|
|
62
|
-
*/
|
|
63
|
-
export declare function recordReadState(handle: ReadStateHandle | undefined, absPath: string): void;
|
|
64
|
-
/** Outcome of a gate check: either cleared, or refused with a message. */
|
|
65
|
-
export type GateOutcome = {
|
|
66
|
-
ok: true;
|
|
67
|
-
} | {
|
|
68
|
-
ok: false;
|
|
69
|
-
message: string;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Enforce the read-before-edit + staleness gate ahead of a mutation.
|
|
73
|
-
*
|
|
74
|
-
* With no handle present this always clears (the gate is opt-in). With a handle:
|
|
75
|
-
* - refuse when `absPath` has no recorded read this session;
|
|
76
|
-
* - refuse when the on-disk modification time or byte size has advanced past
|
|
77
|
-
* the recorded read.
|
|
78
|
-
*
|
|
79
|
-
* The on-disk mtime is floored the same way the recorded mtime is, so the
|
|
80
|
-
* comparison is apples-to-apples. A stat failure (e.g. the file vanished) clears
|
|
81
|
-
* the gate so the underlying tool can surface its own, more specific error.
|
|
82
|
-
*/
|
|
83
|
-
export declare function enforceReadGate(handle: ReadStateHandle | undefined, absPath: string): GateOutcome;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { AgentTool } from "../types.js";
|
|
2
|
-
import { type ReadStateHandle } from "./read-state.js";
|
|
3
|
-
import { type TruncationResult } from "./truncate.js";
|
|
4
|
-
declare const readSchema: import("@sinclair/typebox").TObject<{
|
|
5
|
-
path: import("@sinclair/typebox").TString;
|
|
6
|
-
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
7
|
-
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
8
|
-
}>;
|
|
9
|
-
export interface ReadToolDetails {
|
|
10
|
-
truncation?: TruncationResult;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Pluggable filesystem callbacks for the read tool. Override them to fetch
|
|
14
|
-
* files from an alternate backend, for instance an SSH or remote-mount layer.
|
|
15
|
-
*/
|
|
16
|
-
export interface ReadOperations {
|
|
17
|
-
/** Read a file's raw bytes. */
|
|
18
|
-
readFile: (absolutePath: string) => Promise<Buffer>;
|
|
19
|
-
/** Verify the file can be read, raising if not. */
|
|
20
|
-
access: (absolutePath: string) => Promise<void>;
|
|
21
|
-
/** Return the file's image MIME type, or null/undefined for non-image files. */
|
|
22
|
-
detectImageMimeType?: (absolutePath: string) => Promise<string | null | undefined>;
|
|
23
|
-
}
|
|
24
|
-
export interface ReadToolOptions {
|
|
25
|
-
/** Default true; when set, large images are shrunk to fit within 2000x2000. */
|
|
26
|
-
autoResizeImages?: boolean;
|
|
27
|
-
/** Swap out the filesystem callbacks; the local disk is used by default. */
|
|
28
|
-
operations?: ReadOperations;
|
|
29
|
-
/**
|
|
30
|
-
* Optional read-before-edit gate store. When present, a successful read
|
|
31
|
-
* records the file's on-disk stat so a later edit/write can verify it was
|
|
32
|
-
* read first and has not drifted. Absent → no gate bookkeeping (no-op).
|
|
33
|
-
*/
|
|
34
|
-
readState?: ReadStateHandle;
|
|
35
|
-
}
|
|
36
|
-
export declare function createReadTool(cwd: string, options?: ReadToolOptions): AgentTool<typeof readSchema>;
|
|
37
|
-
/** Ready-to-use read tool bound to the current working directory. */
|
|
38
|
-
export declare const readTool: AgentTool<import("@sinclair/typebox").TObject<{
|
|
39
|
-
path: import("@sinclair/typebox").TString;
|
|
40
|
-
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
41
|
-
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
42
|
-
}>, any>;
|
|
43
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { AgentTool } from "../types.js";
|
|
2
|
-
export type ToolCategory = "core" | "search" | "management" | "web" | "filesystem" | "mcp";
|
|
3
|
-
export interface ToolMetadata {
|
|
4
|
-
name: string;
|
|
5
|
-
label: string;
|
|
6
|
-
category: ToolCategory;
|
|
7
|
-
description?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare abstract class ToolFactory<TTool extends AgentTool<any> = AgentTool<any>> {
|
|
10
|
-
abstract readonly metadata: ToolMetadata;
|
|
11
|
-
abstract create(): TTool;
|
|
12
|
-
}
|
|
13
|
-
export declare class ToolRegistry {
|
|
14
|
-
private readonly metadata;
|
|
15
|
-
private readonly factories;
|
|
16
|
-
register<TTool extends AgentTool<any>>(meta: ToolMetadata, create: () => TTool): void;
|
|
17
|
-
create(name: string): AgentTool<any>;
|
|
18
|
-
createMany(names: string[]): AgentTool<any>[];
|
|
19
|
-
listMetadata(): ToolMetadata[];
|
|
20
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import type { BashOperations } from "./bash.js";
|
|
2
|
-
/** Configuration for the OPT-IN OS sandbox applied to bash command execution. */
|
|
3
|
-
export interface SandboxConfig {
|
|
4
|
-
/** Master switch. When false/undefined the sandbox seam is a pure no-op. */
|
|
5
|
-
enabled?: boolean;
|
|
6
|
-
/**
|
|
7
|
-
* When true, the sandbox permits outbound network access. When false (the
|
|
8
|
-
* default) all network traffic is denied at the OS level.
|
|
9
|
-
*/
|
|
10
|
-
allowNetwork?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Extra absolute paths the command is allowed to write to, in addition to the
|
|
13
|
-
* working directory and the OS temp directory which are always writable.
|
|
14
|
-
*/
|
|
15
|
-
writableRoots?: string[];
|
|
16
|
-
/**
|
|
17
|
-
* Override for the temp directory treated as writable. Defaults to the OS
|
|
18
|
-
* temp directory. Exposed mainly so tests can pin a deterministic value.
|
|
19
|
-
*/
|
|
20
|
-
tmpDir?: string;
|
|
21
|
-
}
|
|
22
|
-
/** A platform/availability probe result for the OS sandbox tooling. */
|
|
23
|
-
export interface SandboxAvailability {
|
|
24
|
-
platform: "macos" | "linux" | "unsupported";
|
|
25
|
-
/** The sandbox launcher binary for this platform, if one exists. */
|
|
26
|
-
binary: "sandbox-exec" | "bwrap" | null;
|
|
27
|
-
/** True only when the launcher binary is actually present on PATH. */
|
|
28
|
-
binaryPresent: boolean;
|
|
29
|
-
/** Human-readable explanation when the sandbox cannot be applied. */
|
|
30
|
-
reason?: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Build a Seatbelt profile string for `sandbox-exec -p`.
|
|
34
|
-
*
|
|
35
|
-
* Policy: deny by default, allow process exec + read everywhere, allow write
|
|
36
|
-
* only under the resolved writable roots (cwd + tmp + extras), and deny network
|
|
37
|
-
* unless `allowNetwork` is set. This is a PURE function — no I/O, no spawning —
|
|
38
|
-
* so the generated text is unit-testable on any platform.
|
|
39
|
-
*/
|
|
40
|
-
export declare function buildSeatbeltProfile(config: SandboxConfig, cwd: string): string;
|
|
41
|
-
/**
|
|
42
|
-
* Build the `sandbox-exec` argv that runs `command` under the generated
|
|
43
|
-
* profile. PURE: returns the argv vector without spawning anything.
|
|
44
|
-
*
|
|
45
|
-
* Shape: `sandbox-exec -p <profile> /bin/sh -c <command>`.
|
|
46
|
-
*/
|
|
47
|
-
export declare function buildSeatbeltArgv(config: SandboxConfig, cwd: string, command: string): string[];
|
|
48
|
-
/**
|
|
49
|
-
* Build the `bwrap` argv that runs `command` with the writable roots bind
|
|
50
|
-
* mounted read-write over an otherwise read-only root. PURE: no spawning.
|
|
51
|
-
*
|
|
52
|
-
* Shape: `bwrap --ro-bind / / [--bind <root> <root> ...] [--unshare-net]
|
|
53
|
-
* --dev /dev --proc /proc /bin/sh -c <command>`.
|
|
54
|
-
*
|
|
55
|
-
* Network is denied by unsharing the network namespace unless `allowNetwork`.
|
|
56
|
-
*/
|
|
57
|
-
export declare function buildBwrapArgv(config: SandboxConfig, cwd: string, command: string): string[];
|
|
58
|
-
/**
|
|
59
|
-
* Probe the current platform for OS-sandbox support. Never throws and never
|
|
60
|
-
* spawns the sandbox itself — it only checks for the launcher binary so callers
|
|
61
|
-
* can decide between sandboxed execution and an honest passthrough fallback.
|
|
62
|
-
*
|
|
63
|
-
* The optional `platform`/`probe` parameters are seams for unit tests so the
|
|
64
|
-
* pure decision logic can be exercised without depending on the host OS.
|
|
65
|
-
*/
|
|
66
|
-
export declare function sandboxAvailability(platform?: NodeJS.Platform, probe?: (binary: string) => boolean): SandboxAvailability;
|
|
67
|
-
/**
|
|
68
|
-
* Build the platform-appropriate sandbox argv for `command`, or `null` when no
|
|
69
|
-
* sandbox can be applied. PURE with respect to the OS: callers pass an
|
|
70
|
-
* availability result (or rely on the live probe) and get back either the
|
|
71
|
-
* wrapped argv or `null`, never a spawn.
|
|
72
|
-
*/
|
|
73
|
-
export declare function buildSandboxArgv(config: SandboxConfig, cwd: string, command: string, availability?: SandboxAvailability): string[] | null;
|
|
74
|
-
/** Renders an argv vector into a single `sh -c`-safe command string. */
|
|
75
|
-
export declare function argvToCommandString(argv: string[]): string;
|
|
76
|
-
/** Optional reporting hook so callers can surface sandbox status honestly. */
|
|
77
|
-
export interface SandboxedOperationsOptions {
|
|
78
|
-
/** Underlying backend that actually spawns. Defaults are supplied by bash.ts. */
|
|
79
|
-
base: BashOperations;
|
|
80
|
-
/** Availability probe override (mainly for tests). */
|
|
81
|
-
availability?: SandboxAvailability;
|
|
82
|
-
/**
|
|
83
|
-
* Called once per exec with a human-readable note describing whether the
|
|
84
|
-
* sandbox was applied or why it was skipped. Lets the caller record the
|
|
85
|
-
* truth instead of the wrapper silently claiming sandboxing.
|
|
86
|
-
*/
|
|
87
|
-
onNote?: (note: string) => void;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Wrap a `BashOperations` backend so each command is executed inside the OS
|
|
91
|
-
* sandbox when one is available. When the sandbox tool is missing or the
|
|
92
|
-
* platform is unsupported, the command is passed through UNCHANGED and an
|
|
93
|
-
* honest note is emitted via `onNote` — we never pretend a command was
|
|
94
|
-
* sandboxed when it was not.
|
|
95
|
-
*
|
|
96
|
-
* When `config.enabled` is falsy this returns the base operations unchanged so
|
|
97
|
-
* the seam is a guaranteed no-op for the default (off) path.
|
|
98
|
-
*/
|
|
99
|
-
export declare function createSandboxedBashOperations(config: SandboxConfig, options: SandboxedOperationsOptions): BashOperations;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Todo Store - Persistent todo list management
|
|
3
|
-
*
|
|
4
|
-
* @module agent/tools/todo-store
|
|
5
|
-
* @description
|
|
6
|
-
* Manages a todo list with optional persistence callbacks.
|
|
7
|
-
* The coding-agent uses this to integrate with SessionManager for session persistence.
|
|
8
|
-
*
|
|
9
|
-
* ## Architecture
|
|
10
|
-
*
|
|
11
|
-
* The TodoStore supports two modes:
|
|
12
|
-
* 1. **Simple mode** (default): Stores todos in memory only
|
|
13
|
-
* 2. **Persistent mode**: Uses callbacks to persist/load todos
|
|
14
|
-
*
|
|
15
|
-
* ## Usage
|
|
16
|
-
*
|
|
17
|
-
* ### Simple mode
|
|
18
|
-
* ```typescript
|
|
19
|
-
* const store = new TodoStore();
|
|
20
|
-
* store.setTodos([{ content: "Task", status: "pending", priority: "high" }]);
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* ### Persistent mode (coding-agent style)
|
|
24
|
-
* ```typescript
|
|
25
|
-
* const store = new TodoStore({
|
|
26
|
-
* persist: (todos) => sessionManager.appendCustomEntry('todo', { todos }),
|
|
27
|
-
* load: () => loadFromSession(),
|
|
28
|
-
* rebuildFromBranch: () => rebuildFromSession(),
|
|
29
|
-
* });
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
import type { TodoItem, TodoStatus, TodoStoreOptions } from "./todo-types.js";
|
|
33
|
-
export type { TodoItem, TodoStatus, TodoPriority, TodoStoreOptions, TodoToolDetails } from "./todo-types.js";
|
|
34
|
-
declare const TODO_STATUSES: readonly ["pending", "in_progress", "completed", "cancelled"];
|
|
35
|
-
declare const TODO_PRIORITIES: readonly ["high", "medium", "low"];
|
|
36
|
-
/**
|
|
37
|
-
* Simple Todo Store for the todo tool.
|
|
38
|
-
* Supports optional persistence callbacks for session integration.
|
|
39
|
-
*/
|
|
40
|
-
export declare class TodoStore {
|
|
41
|
-
private todos;
|
|
42
|
-
private options?;
|
|
43
|
-
/**
|
|
44
|
-
* Create a new TodoStore
|
|
45
|
-
* @param initialTodos - Optional initial todos (takes precedence over load callback)
|
|
46
|
-
* @param options - Optional persistence callbacks
|
|
47
|
-
*/
|
|
48
|
-
constructor(initialTodos?: TodoItem[], options?: TodoStoreOptions);
|
|
49
|
-
constructor(options?: TodoStoreOptions);
|
|
50
|
-
/**
|
|
51
|
-
* Get all todos (returns a copy)
|
|
52
|
-
*/
|
|
53
|
-
getTodos(): TodoItem[];
|
|
54
|
-
/**
|
|
55
|
-
* Set todos and persist
|
|
56
|
-
*/
|
|
57
|
-
setTodos(todos: TodoItem[]): void;
|
|
58
|
-
/**
|
|
59
|
-
* Find todos matching a query
|
|
60
|
-
*/
|
|
61
|
-
find(query: string): TodoItem[];
|
|
62
|
-
/**
|
|
63
|
-
* Filter todos by status
|
|
64
|
-
*/
|
|
65
|
-
filterByStatus(status: TodoStatus): TodoItem[];
|
|
66
|
-
/**
|
|
67
|
-
* Rebuild todos from session branch
|
|
68
|
-
* Called when navigating the session tree
|
|
69
|
-
*/
|
|
70
|
-
rebuildFromBranch(): void;
|
|
71
|
-
/**
|
|
72
|
-
* Remove expired todos
|
|
73
|
-
*/
|
|
74
|
-
private removeExpired;
|
|
75
|
-
}
|
|
76
|
-
export { TODO_STATUSES, TODO_PRIORITIES };
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Todo Tool Types - Interfaces for extensible todo storage
|
|
3
|
-
*
|
|
4
|
-
* These interfaces allow the todo tool to be extended with custom persistence.
|
|
5
|
-
* The coding-agent uses these to integrate with SessionManager for session persistence.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Todo item status
|
|
9
|
-
*/
|
|
10
|
-
export type TodoStatus = "pending" | "in_progress" | "completed" | "cancelled";
|
|
11
|
-
/**
|
|
12
|
-
* Todo item priority
|
|
13
|
-
*/
|
|
14
|
-
export type TodoPriority = "high" | "medium" | "low";
|
|
15
|
-
/**
|
|
16
|
-
* Todo item structure
|
|
17
|
-
*/
|
|
18
|
-
export interface TodoItem {
|
|
19
|
-
content: string;
|
|
20
|
-
status: TodoStatus;
|
|
21
|
-
priority: TodoPriority;
|
|
22
|
-
expiresAt?: number;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Todo tool details - returned after todo operations
|
|
26
|
-
*/
|
|
27
|
-
export interface TodoToolDetails {
|
|
28
|
-
todos: TodoItem[];
|
|
29
|
-
incompleteCount: number;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Options for TodoStore - allows custom persistence
|
|
33
|
-
*
|
|
34
|
-
* The coding-agent implements these to:
|
|
35
|
-
* - persist: Save todos to session entries
|
|
36
|
-
* - load: Load todos from session on startup
|
|
37
|
-
* - rebuildFromBranch: Restore todos when navigating session tree
|
|
38
|
-
*/
|
|
39
|
-
export interface TodoStoreOptions {
|
|
40
|
-
/**
|
|
41
|
-
* Persist todos to storage
|
|
42
|
-
* Called whenever todos are updated
|
|
43
|
-
*/
|
|
44
|
-
persist?: (todos: TodoItem[]) => void;
|
|
45
|
-
/**
|
|
46
|
-
* Load todos from storage
|
|
47
|
-
* Called on TodoStore construction
|
|
48
|
-
*/
|
|
49
|
-
load?: () => TodoItem[];
|
|
50
|
-
/**
|
|
51
|
-
* Rebuild todos from session branch
|
|
52
|
-
* Called when navigating the session tree
|
|
53
|
-
*/
|
|
54
|
-
rebuildFromBranch?: () => TodoItem[];
|
|
55
|
-
/**
|
|
56
|
-
* Callback when todos change
|
|
57
|
-
* Useful for triggering UI updates
|
|
58
|
-
*/
|
|
59
|
-
onChange?: (todos: TodoItem[]) => void;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Session manager interface for type safety
|
|
63
|
-
* The coding-agent's SessionManager implements this
|
|
64
|
-
*/
|
|
65
|
-
export interface TodoSessionManager {
|
|
66
|
-
appendCustomEntry(type: string, data: unknown): void;
|
|
67
|
-
getBranch(): Array<{
|
|
68
|
-
type?: string;
|
|
69
|
-
customType?: string;
|
|
70
|
-
data?: unknown;
|
|
71
|
-
}>;
|
|
72
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Todo Tools - Read and write todo lists
|
|
3
|
-
*
|
|
4
|
-
* @module agent/tools/todo
|
|
5
|
-
* @description
|
|
6
|
-
* Provides tools for managing todo lists. The todos are stored in a TodoStore
|
|
7
|
-
* which can optionally persist to external storage (e.g., session entries).
|
|
8
|
-
*
|
|
9
|
-
* ## Architecture
|
|
10
|
-
*
|
|
11
|
-
* Two tools are provided:
|
|
12
|
-
* - `todoread`: Read the current todo list
|
|
13
|
-
* - `todowrite`: Update the todo list
|
|
14
|
-
*
|
|
15
|
-
* Both tools share the same TodoStore instance for consistency.
|
|
16
|
-
*
|
|
17
|
-
* ## Usage
|
|
18
|
-
*
|
|
19
|
-
* ### Simple mode
|
|
20
|
-
* ```typescript
|
|
21
|
-
* import { todoReadTool, todoWriteTool } from "indusvx/agent";
|
|
22
|
-
* // Uses default in-memory store
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* ### With custom store (persistent mode)
|
|
26
|
-
* ```typescript
|
|
27
|
-
* import { createTodoReadTool, createTodoWriteTool, TodoStore } from "indusvx/agent";
|
|
28
|
-
*
|
|
29
|
-
* const store = new TodoStore({
|
|
30
|
-
* persist: (todos) => sessionManager.appendCustomEntry('todo', { todos }),
|
|
31
|
-
* load: () => loadFromSession(),
|
|
32
|
-
* });
|
|
33
|
-
*
|
|
34
|
-
* const todoReadTool = createTodoReadTool(store);
|
|
35
|
-
* const todoWriteTool = createTodoWriteTool(store);
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
import type { AgentTool } from "../types.js";
|
|
39
|
-
import { TodoStore } from "./todo-store.js";
|
|
40
|
-
import type { TodoToolDetails } from "./todo-types.js";
|
|
41
|
-
export type { TodoItem, TodoStatus, TodoPriority, TodoStoreOptions, TodoToolDetails } from "./todo-types.js";
|
|
42
|
-
export { TodoStore, TODO_PRIORITIES, TODO_STATUSES } from "./todo-store.js";
|
|
43
|
-
declare const TodoReadSchema: import("@sinclair/typebox").TObject<{}>;
|
|
44
|
-
declare const TodoWriteSchema: import("@sinclair/typebox").TObject<{
|
|
45
|
-
todos: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
46
|
-
content: import("@sinclair/typebox").TString;
|
|
47
|
-
status: import("@sinclair/typebox").TUnsafe<"completed" | "cancelled" | "pending" | "in_progress">;
|
|
48
|
-
priority: import("@sinclair/typebox").TUnsafe<"low" | "medium" | "high">;
|
|
49
|
-
}>>;
|
|
50
|
-
search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
51
|
-
status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"completed" | "cancelled" | "pending" | "in_progress">>;
|
|
52
|
-
}>;
|
|
53
|
-
/**
|
|
54
|
-
* Create a todo read tool
|
|
55
|
-
* @param store - The TodoStore to read from
|
|
56
|
-
* @returns The todoread tool
|
|
57
|
-
*/
|
|
58
|
-
export declare function createTodoReadTool(store: TodoStore): AgentTool<typeof TodoReadSchema, TodoToolDetails>;
|
|
59
|
-
/**
|
|
60
|
-
* Create a todo write tool
|
|
61
|
-
* @param store - The TodoStore to write to
|
|
62
|
-
* @returns The todowrite tool
|
|
63
|
-
*/
|
|
64
|
-
export declare function createTodoWriteTool(store: TodoStore): AgentTool<typeof TodoWriteSchema, TodoToolDetails>;
|
|
65
|
-
/** Default todo read tool using in-memory store */
|
|
66
|
-
export declare const todoReadTool: AgentTool<import("@sinclair/typebox").TObject<{}>, TodoToolDetails>;
|
|
67
|
-
/** Default todo write tool using in-memory store */
|
|
68
|
-
export declare const todoWriteTool: AgentTool<import("@sinclair/typebox").TObject<{
|
|
69
|
-
todos: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
70
|
-
content: import("@sinclair/typebox").TString;
|
|
71
|
-
status: import("@sinclair/typebox").TUnsafe<"completed" | "cancelled" | "pending" | "in_progress">;
|
|
72
|
-
priority: import("@sinclair/typebox").TUnsafe<"low" | "medium" | "high">;
|
|
73
|
-
}>>;
|
|
74
|
-
search: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
75
|
-
status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"completed" | "cancelled" | "pending" | "in_progress">>;
|
|
76
|
-
}>, TodoToolDetails>;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Routines that trim oversized tool output before it reaches the model.
|
|
3
|
-
*
|
|
4
|
-
* Two separate ceilings are checked at once, and trimming kicks in the moment
|
|
5
|
-
* either is reached:
|
|
6
|
-
* - a maximum count of lines that may be returned (2500 by default)
|
|
7
|
-
* - a maximum count of bytes that may be returned (64KB by default)
|
|
8
|
-
*
|
|
9
|
-
* Trims occur at line breaks, so output is never left holding a partial line.
|
|
10
|
-
* The single exception is when trimming from the tail: should the very last line
|
|
11
|
-
* by itself blow past the byte ceiling, that line gets cut mid-way.
|
|
12
|
-
*/
|
|
13
|
-
export declare const DEFAULT_MAX_LINES = 2500;
|
|
14
|
-
export declare const DEFAULT_MAX_BYTES: number;
|
|
15
|
-
export declare const GREP_MAX_LINE_LENGTH = 512;
|
|
16
|
-
export interface TruncationResult {
|
|
17
|
-
/** Final text once the budgets have been enforced. */
|
|
18
|
-
content: string;
|
|
19
|
-
/** Whether any budget actually forced something to be dropped. */
|
|
20
|
-
truncated: boolean;
|
|
21
|
-
/** Which budget caused the cut, or null if everything fit. */
|
|
22
|
-
truncatedBy: "lines" | "bytes" | null;
|
|
23
|
-
/** Number of lines the original input had prior to any trimming. */
|
|
24
|
-
totalLines: number;
|
|
25
|
-
/** Number of bytes the original input had prior to any trimming. */
|
|
26
|
-
totalBytes: number;
|
|
27
|
-
/** How many complete lines survived into the result. */
|
|
28
|
-
outputLines: number;
|
|
29
|
-
/** How many bytes the result occupies. */
|
|
30
|
-
outputBytes: number;
|
|
31
|
-
/** Set only in the tail case where the closing line had to be cut mid-line. */
|
|
32
|
-
lastLinePartial: boolean;
|
|
33
|
-
/** Set when even the leading line by itself blows past the byte budget (head case). */
|
|
34
|
-
firstLineExceedsLimit: boolean;
|
|
35
|
-
/** The active line budget. */
|
|
36
|
-
maxLines: number;
|
|
37
|
-
/** The active byte budget. */
|
|
38
|
-
maxBytes: number;
|
|
39
|
-
}
|
|
40
|
-
export interface TruncationOptions {
|
|
41
|
-
/** Custom line budget; defaults to 2500 when omitted. */
|
|
42
|
-
maxLines?: number;
|
|
43
|
-
/** Custom byte budget; defaults to 64KB when omitted. */
|
|
44
|
-
maxBytes?: number;
|
|
45
|
-
}
|
|
46
|
-
export interface TruncationStrategy {
|
|
47
|
-
truncate(content: string, options?: TruncationOptions): TruncationResult;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Render a raw byte count as a compact label a person can read at a glance,
|
|
51
|
-
* picking B, KB, or MB depending on magnitude.
|
|
52
|
-
*/
|
|
53
|
-
export declare function formatSize(bytes: number): string;
|
|
54
|
-
/**
|
|
55
|
-
* Retain the leading slice of the content (its first lines/bytes) and discard
|
|
56
|
-
* what follows. Suited to reading files, where the beginning is most relevant.
|
|
57
|
-
*
|
|
58
|
-
* Whole lines are preserved. Should the opening line on its own exceed the byte
|
|
59
|
-
* budget, an empty result is returned with firstLineExceedsLimit set.
|
|
60
|
-
*/
|
|
61
|
-
export declare function truncateHead(content: string, options?: TruncationOptions): TruncationResult;
|
|
62
|
-
/**
|
|
63
|
-
* Retain the trailing slice of the content (its last lines/bytes) and discard
|
|
64
|
-
* what precedes it. Suited to command output, where errors and results land at
|
|
65
|
-
* the end.
|
|
66
|
-
*
|
|
67
|
-
* When the closing line by itself overshoots the byte budget, the returned text
|
|
68
|
-
* can start partway through that line.
|
|
69
|
-
*/
|
|
70
|
-
export declare function truncateTail(content: string, options?: TruncationOptions): TruncationResult;
|
|
71
|
-
/**
|
|
72
|
-
* Shorten one line to a character budget, tacking on a marker if it was cut.
|
|
73
|
-
* Used on search hits whose lines would otherwise run too long.
|
|
74
|
-
*/
|
|
75
|
-
export declare function truncateLine(line: string, maxChars?: number): {
|
|
76
|
-
text: string;
|
|
77
|
-
wasTruncated: boolean;
|
|
78
|
-
};
|