indusagi 0.13.5 → 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.
Files changed (435) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +7 -1
  3. package/dist/cli.js +114 -23
  4. package/package.json +56 -45
  5. package/dist/agent.js +0 -28713
  6. package/dist/ai.js +0 -19964
  7. package/dist/capabilities.js +0 -2730
  8. package/dist/connectors-saas.js +0 -3355
  9. package/dist/index.js +0 -16644
  10. package/dist/interop.js +0 -3247
  11. package/dist/knowledge/guides/authoring-an-agent.md +0 -53
  12. package/dist/knowledge/guides/choosing-tools.md +0 -49
  13. package/dist/knowledge/guides/model-selection.md +0 -51
  14. package/dist/knowledge/guides/writing-system-prompts.md +0 -53
  15. package/dist/knowledge/index.ts +0 -19
  16. package/dist/knowledge/loader.ts +0 -200
  17. package/dist/knowledge/manifest.json +0 -29
  18. package/dist/llmgateway.js +0 -3243
  19. package/dist/mcp.js +0 -1639
  20. package/dist/memory.js +0 -0
  21. package/dist/react-host/index.js +0 -101
  22. package/dist/react-host/ink.js +0 -97
  23. package/dist/react-host/jsx-runtime.js +0 -95
  24. package/dist/react-ink.js +0 -3834
  25. package/dist/runtime.js +0 -4421
  26. package/dist/shell-app.js +0 -12333
  27. package/dist/smithy.js +0 -8033
  28. package/dist/swarm.js +0 -8818
  29. package/dist/tracing.js +0 -724
  30. package/dist/tui.js +0 -2213
  31. package/dist/types/capabilities/backends/index.d.ts +0 -10
  32. package/dist/types/capabilities/backends/node-backends.d.ts +0 -30
  33. package/dist/types/capabilities/capabilities.test.d.ts +0 -14
  34. package/dist/types/capabilities/files/diff.d.ts +0 -49
  35. package/dist/types/capabilities/files/edit.d.ts +0 -21
  36. package/dist/types/capabilities/files/ls.d.ts +0 -16
  37. package/dist/types/capabilities/files/read-state-gate.d.ts +0 -69
  38. package/dist/types/capabilities/files/read-state-gate.test.d.ts +0 -14
  39. package/dist/types/capabilities/files/read.d.ts +0 -15
  40. package/dist/types/capabilities/files/write.d.ts +0 -16
  41. package/dist/types/capabilities/index.d.ts +0 -29
  42. package/dist/types/capabilities/kernel/backends.d.ts +0 -119
  43. package/dist/types/capabilities/kernel/context.d.ts +0 -52
  44. package/dist/types/capabilities/kernel/index.d.ts +0 -24
  45. package/dist/types/capabilities/kernel/output.d.ts +0 -40
  46. package/dist/types/capabilities/kernel/registry.d.ts +0 -61
  47. package/dist/types/capabilities/kernel/spec.d.ts +0 -168
  48. package/dist/types/capabilities/planning/todo.d.ts +0 -62
  49. package/dist/types/capabilities/registry.d.ts +0 -44
  50. package/dist/types/capabilities/search/find.d.ts +0 -33
  51. package/dist/types/capabilities/search/grep.d.ts +0 -30
  52. package/dist/types/capabilities/shell/bash.d.ts +0 -18
  53. package/dist/types/capabilities/shell/process.d.ts +0 -33
  54. package/dist/types/capabilities/web/webfetch.d.ts +0 -25
  55. package/dist/types/capabilities/web/websearch.d.ts +0 -23
  56. package/dist/types/connectors-saas/connectors-saas.test.d.ts +0 -12
  57. package/dist/types/connectors-saas/index.d.ts +0 -16
  58. package/dist/types/connectors-saas/saas/adapter/composio-backend.d.ts +0 -60
  59. package/dist/types/connectors-saas/saas/control/connect.d.ts +0 -114
  60. package/dist/types/connectors-saas/saas/control/tools.d.ts +0 -67
  61. package/dist/types/connectors-saas/saas/core/builder.d.ts +0 -86
  62. package/dist/types/connectors-saas/saas/core/cache.d.ts +0 -53
  63. package/dist/types/connectors-saas/saas/core/index.d.ts +0 -14
  64. package/dist/types/connectors-saas/saas/core/port.d.ts +0 -157
  65. package/dist/types/connectors-saas/saas/core/scope-planner.d.ts +0 -74
  66. package/dist/types/connectors-saas/saas/gateway.d.ts +0 -133
  67. package/dist/types/connectors-saas/saas/render/format.d.ts +0 -54
  68. package/dist/types/connectors-saas/saas/render/index.d.ts +0 -19
  69. package/dist/types/connectors-saas/saas/render/summarizers.d.ts +0 -58
  70. package/dist/types/facade/agent.d.ts +0 -1
  71. package/dist/types/facade/ai.d.ts +0 -1
  72. package/dist/types/facade/bot/actions/bash.d.ts +0 -71
  73. package/dist/types/facade/bot/actions/bash.test.d.ts +0 -1
  74. package/dist/types/facade/bot/actions/checkpoint.d.ts +0 -49
  75. package/dist/types/facade/bot/actions/checkpoint.test.d.ts +0 -1
  76. package/dist/types/facade/bot/actions/composio/accounts.d.ts +0 -22
  77. package/dist/types/facade/bot/actions/composio/client.d.ts +0 -39
  78. package/dist/types/facade/bot/actions/composio/connect.d.ts +0 -19
  79. package/dist/types/facade/bot/actions/composio/enable.d.ts +0 -25
  80. package/dist/types/facade/bot/actions/composio/execute.d.ts +0 -26
  81. package/dist/types/facade/bot/actions/composio/helpers.d.ts +0 -16
  82. package/dist/types/facade/bot/actions/composio/index.d.ts +0 -9
  83. package/dist/types/facade/bot/actions/composio/provider.d.ts +0 -8
  84. package/dist/types/facade/bot/actions/composio/toolkits.d.ts +0 -22
  85. package/dist/types/facade/bot/actions/composio/tools.d.ts +0 -28
  86. package/dist/types/facade/bot/actions/composio/types.d.ts +0 -137
  87. package/dist/types/facade/bot/actions/crew/activity-tracker.d.ts +0 -65
  88. package/dist/types/facade/bot/actions/crew/cleanup.d.ts +0 -50
  89. package/dist/types/facade/bot/actions/crew/fs-lock.d.ts +0 -11
  90. package/dist/types/facade/bot/actions/crew/index.d.ts +0 -11
  91. package/dist/types/facade/bot/actions/crew/mailbox.d.ts +0 -20
  92. package/dist/types/facade/bot/actions/crew/model-policy.d.ts +0 -22
  93. package/dist/types/facade/bot/actions/crew/names.d.ts +0 -27
  94. package/dist/types/facade/bot/actions/crew/protocol.d.ts +0 -74
  95. package/dist/types/facade/bot/actions/crew/task-store.d.ts +0 -88
  96. package/dist/types/facade/bot/actions/crew/team-attach-claim.d.ts +0 -35
  97. package/dist/types/facade/bot/actions/crew/team-config.d.ts +0 -54
  98. package/dist/types/facade/bot/actions/crew/worktree.d.ts +0 -39
  99. package/dist/types/facade/bot/actions/edit-diff.d.ts +0 -66
  100. package/dist/types/facade/bot/actions/edit-utils.d.ts +0 -86
  101. package/dist/types/facade/bot/actions/edit.d.ts +0 -59
  102. package/dist/types/facade/bot/actions/edit.test.d.ts +0 -1
  103. package/dist/types/facade/bot/actions/find.d.ts +0 -27
  104. package/dist/types/facade/bot/actions/find.test.d.ts +0 -1
  105. package/dist/types/facade/bot/actions/grep.d.ts +0 -53
  106. package/dist/types/facade/bot/actions/grep.test.d.ts +0 -1
  107. package/dist/types/facade/bot/actions/index.d.ts +0 -316
  108. package/dist/types/facade/bot/actions/kit/hook-runner.d.ts +0 -12
  109. package/dist/types/facade/bot/actions/kit/image-resize.d.ts +0 -19
  110. package/dist/types/facade/bot/actions/kit/mime.d.ts +0 -1
  111. package/dist/types/facade/bot/actions/kit/shell.d.ts +0 -12
  112. package/dist/types/facade/bot/actions/ls.d.ts +0 -41
  113. package/dist/types/facade/bot/actions/path-utils.d.ts +0 -8
  114. package/dist/types/facade/bot/actions/process-controller.d.ts +0 -14
  115. package/dist/types/facade/bot/actions/process-manager.d.ts +0 -59
  116. package/dist/types/facade/bot/actions/process-types.d.ts +0 -73
  117. package/dist/types/facade/bot/actions/process.d.ts +0 -37
  118. package/dist/types/facade/bot/actions/read-state.d.ts +0 -83
  119. package/dist/types/facade/bot/actions/read-state.test.d.ts +0 -1
  120. package/dist/types/facade/bot/actions/read.d.ts +0 -43
  121. package/dist/types/facade/bot/actions/read.test.d.ts +0 -1
  122. package/dist/types/facade/bot/actions/registry.d.ts +0 -20
  123. package/dist/types/facade/bot/actions/sandbox-backend.d.ts +0 -99
  124. package/dist/types/facade/bot/actions/sandbox-backend.test.d.ts +0 -1
  125. package/dist/types/facade/bot/actions/todo-store.d.ts +0 -76
  126. package/dist/types/facade/bot/actions/todo-types.d.ts +0 -72
  127. package/dist/types/facade/bot/actions/todo.d.ts +0 -76
  128. package/dist/types/facade/bot/actions/truncate.d.ts +0 -78
  129. package/dist/types/facade/bot/actions/webfetch.d.ts +0 -35
  130. package/dist/types/facade/bot/actions/websearch.d.ts +0 -37
  131. package/dist/types/facade/bot/actions/websearch.test.d.ts +0 -1
  132. package/dist/types/facade/bot/actions/write.d.ts +0 -45
  133. package/dist/types/facade/bot/agent-loop.d.ts +0 -30
  134. package/dist/types/facade/bot/agent-loop.test.d.ts +0 -1
  135. package/dist/types/facade/bot/agent.d.ts +0 -140
  136. package/dist/types/facade/bot/error-handler.d.ts +0 -7
  137. package/dist/types/facade/bot/event-bus.d.ts +0 -8
  138. package/dist/types/facade/bot/index.d.ts +0 -7
  139. package/dist/types/facade/bot/messages.d.ts +0 -83
  140. package/dist/types/facade/bot/permission-gate.test.d.ts +0 -1
  141. package/dist/types/facade/bot/proxy.d.ts +0 -70
  142. package/dist/types/facade/bot/session-manager.d.ts +0 -409
  143. package/dist/types/facade/bot/state-manager.d.ts +0 -21
  144. package/dist/types/facade/bot/telemetry.d.ts +0 -6
  145. package/dist/types/facade/bot/types.d.ts +0 -267
  146. package/dist/types/facade/mcp-core/client-pool.d.ts +0 -105
  147. package/dist/types/facade/mcp-core/client.d.ts +0 -213
  148. package/dist/types/facade/mcp-core/client.test.d.ts +0 -18
  149. package/dist/types/facade/mcp-core/config.d.ts +0 -60
  150. package/dist/types/facade/mcp-core/errors.d.ts +0 -103
  151. package/dist/types/facade/mcp-core/index.d.ts +0 -55
  152. package/dist/types/facade/mcp-core/schema-converter.d.ts +0 -67
  153. package/dist/types/facade/mcp-core/server.d.ts +0 -110
  154. package/dist/types/facade/mcp-core/tool-factory.d.ts +0 -62
  155. package/dist/types/facade/mcp-core/types.d.ts +0 -298
  156. package/dist/types/facade/mcp.d.ts +0 -1
  157. package/dist/types/facade/memory.d.ts +0 -1
  158. package/dist/types/facade/ml/adapters/amazon-bedrock.d.ts +0 -32
  159. package/dist/types/facade/ml/adapters/anthropic-retry.test.d.ts +0 -1
  160. package/dist/types/facade/ml/adapters/anthropic.d.ts +0 -78
  161. package/dist/types/facade/ml/adapters/azure-openai-responses.d.ts +0 -14
  162. package/dist/types/facade/ml/adapters/google-shared.d.ts +0 -99
  163. package/dist/types/facade/ml/adapters/google-vertex.d.ts +0 -14
  164. package/dist/types/facade/ml/adapters/google.d.ts +0 -15
  165. package/dist/types/facade/ml/adapters/kimi.d.ts +0 -21
  166. package/dist/types/facade/ml/adapters/mock.d.ts +0 -9
  167. package/dist/types/facade/ml/adapters/nvidia.d.ts +0 -12
  168. package/dist/types/facade/ml/adapters/openai-codex-responses.d.ts +0 -8
  169. package/dist/types/facade/ml/adapters/openai-completions.d.ts +0 -24
  170. package/dist/types/facade/ml/adapters/openai-responses-shared.d.ts +0 -25
  171. package/dist/types/facade/ml/adapters/openai-responses.d.ts +0 -12
  172. package/dist/types/facade/ml/adapters/openai-scaffold.d.ts +0 -3
  173. package/dist/types/facade/ml/adapters/register-builtins.d.ts +0 -2
  174. package/dist/types/facade/ml/adapters/simple-options.d.ts +0 -39
  175. package/dist/types/facade/ml/adapters/simple-options.test.d.ts +0 -1
  176. package/dist/types/facade/ml/adapters/transform-messages.d.ts +0 -23
  177. package/dist/types/facade/ml/api-registry.d.ts +0 -49
  178. package/dist/types/facade/ml/cli.d.ts +0 -2
  179. package/dist/types/facade/ml/env-api-keys.d.ts +0 -19
  180. package/dist/types/facade/ml/index.d.ts +0 -27
  181. package/dist/types/facade/ml/kit/auth/anthropic.d.ts +0 -17
  182. package/dist/types/facade/ml/kit/auth/github-copilot.d.ts +0 -22
  183. package/dist/types/facade/ml/kit/auth/index.d.ts +0 -50
  184. package/dist/types/facade/ml/kit/auth/kimi.d.ts +0 -23
  185. package/dist/types/facade/ml/kit/auth/oauth-page.d.ts +0 -2
  186. package/dist/types/facade/ml/kit/auth/openai-codex.d.ts +0 -36
  187. package/dist/types/facade/ml/kit/auth/pkce.d.ts +0 -12
  188. package/dist/types/facade/ml/kit/auth/types.d.ts +0 -67
  189. package/dist/types/facade/ml/kit/base-stream-handler.d.ts +0 -30
  190. package/dist/types/facade/ml/kit/event-stream.d.ts +0 -63
  191. package/dist/types/facade/ml/kit/index.d.ts +0 -14
  192. package/dist/types/facade/ml/kit/json-parse.d.ts +0 -23
  193. package/dist/types/facade/ml/kit/message-transform.d.ts +0 -32
  194. package/dist/types/facade/ml/kit/output-factory.d.ts +0 -8
  195. package/dist/types/facade/ml/kit/overflow.d.ts +0 -9
  196. package/dist/types/facade/ml/kit/provider-adapter.d.ts +0 -56
  197. package/dist/types/facade/ml/kit/provider-client-builder.d.ts +0 -36
  198. package/dist/types/facade/ml/kit/provider-consolidation.d.ts +0 -3
  199. package/dist/types/facade/ml/kit/provider-constants.d.ts +0 -34
  200. package/dist/types/facade/ml/kit/provider-errors.d.ts +0 -52
  201. package/dist/types/facade/ml/kit/sanitize-unicode.d.ts +0 -2
  202. package/dist/types/facade/ml/kit/stream-event-helper.d.ts +0 -38
  203. package/dist/types/facade/ml/kit/stream-handler-types.d.ts +0 -46
  204. package/dist/types/facade/ml/kit/streaming-state-manager.d.ts +0 -42
  205. package/dist/types/facade/ml/kit/tool-converter.d.ts +0 -49
  206. package/dist/types/facade/ml/kit/typebox-helpers.d.ts +0 -24
  207. package/dist/types/facade/ml/kit/validation.d.ts +0 -26
  208. package/dist/types/facade/ml/models.d.ts +0 -41
  209. package/dist/types/facade/ml/models.generated.d.ts +0 -12405
  210. package/dist/types/facade/ml/stream.d.ts +0 -27
  211. package/dist/types/facade/ml/types.d.ts +0 -269
  212. package/dist/types/index.d.ts +0 -16
  213. package/dist/types/interop/index.d.ts +0 -12
  214. package/dist/types/interop/interop.test.d.ts +0 -19
  215. package/dist/types/interop/protocol-bridge/bridge.d.ts +0 -52
  216. package/dist/types/interop/protocol-bridge/contract.d.ts +0 -249
  217. package/dist/types/interop/protocol-bridge/endpoint.d.ts +0 -124
  218. package/dist/types/interop/protocol-bridge/fleet.d.ts +0 -92
  219. package/dist/types/interop/protocol-bridge/host.d.ts +0 -61
  220. package/dist/types/interop/protocol-bridge/index.d.ts +0 -16
  221. package/dist/types/interop/protocol-bridge/schema.d.ts +0 -29
  222. package/dist/types/llmgateway/catalog/cards.d.ts +0 -18
  223. package/dist/types/llmgateway/catalog/cost.d.ts +0 -15
  224. package/dist/types/llmgateway/catalog/index.d.ts +0 -7
  225. package/dist/types/llmgateway/catalog/query.d.ts +0 -40
  226. package/dist/types/llmgateway/connectors/anthropic.d.ts +0 -35
  227. package/dist/types/llmgateway/connectors/azure-openai.d.ts +0 -33
  228. package/dist/types/llmgateway/connectors/bedrock.d.ts +0 -113
  229. package/dist/types/llmgateway/connectors/google-vertex.d.ts +0 -38
  230. package/dist/types/llmgateway/connectors/google.d.ts +0 -40
  231. package/dist/types/llmgateway/connectors/index.d.ts +0 -26
  232. package/dist/types/llmgateway/connectors/kimi.d.ts +0 -28
  233. package/dist/types/llmgateway/connectors/mock.d.ts +0 -37
  234. package/dist/types/llmgateway/connectors/nvidia.d.ts +0 -27
  235. package/dist/types/llmgateway/connectors/ollama.d.ts +0 -45
  236. package/dist/types/llmgateway/connectors/openai-chat.d.ts +0 -25
  237. package/dist/types/llmgateway/connectors/openai-responses.d.ts +0 -49
  238. package/dist/types/llmgateway/contract/connector.d.ts +0 -32
  239. package/dist/types/llmgateway/contract/conversation.d.ts +0 -86
  240. package/dist/types/llmgateway/contract/emission.d.ts +0 -55
  241. package/dist/types/llmgateway/contract/errors.d.ts +0 -27
  242. package/dist/types/llmgateway/contract/index.d.ts +0 -13
  243. package/dist/types/llmgateway/contract/model-card.d.ts +0 -42
  244. package/dist/types/llmgateway/contract/options.d.ts +0 -31
  245. package/dist/types/llmgateway/contract/reply.d.ts +0 -33
  246. package/dist/types/llmgateway/conversion/index.d.ts +0 -10
  247. package/dist/types/llmgateway/conversion/mappers.d.ts +0 -65
  248. package/dist/types/llmgateway/conversion/openai-compatible.d.ts +0 -46
  249. package/dist/types/llmgateway/conversion/reduce.d.ts +0 -20
  250. package/dist/types/llmgateway/credentials/oauth.d.ts +0 -73
  251. package/dist/types/llmgateway/credentials/pkce.d.ts +0 -52
  252. package/dist/types/llmgateway/credentials/secrets.d.ts +0 -74
  253. package/dist/types/llmgateway/gateway.d.ts +0 -34
  254. package/dist/types/llmgateway/gateway.test.d.ts +0 -14
  255. package/dist/types/llmgateway/index.d.ts +0 -11
  256. package/dist/types/llmgateway/streaming/channel.d.ts +0 -24
  257. package/dist/types/llmgateway/streaming/index.d.ts +0 -10
  258. package/dist/types/llmgateway/streaming/ndjson.d.ts +0 -17
  259. package/dist/types/llmgateway/streaming/sse.d.ts +0 -31
  260. package/dist/types/react-host/index.d.ts +0 -9
  261. package/dist/types/react-host/ink.d.ts +0 -5
  262. package/dist/types/react-host/jsx-runtime.d.ts +0 -4
  263. package/dist/types/react-host/loader.d.ts +0 -3
  264. package/dist/types/react-ink/components/ChangelogBlock.d.ts +0 -8
  265. package/dist/types/react-ink/components/DisplayBlockView.d.ts +0 -8
  266. package/dist/types/react-ink/components/Footer.d.ts +0 -11
  267. package/dist/types/react-ink/components/MessageList.d.ts +0 -14
  268. package/dist/types/react-ink/components/MessageRow.d.ts +0 -13
  269. package/dist/types/react-ink/components/StatusLine.d.ts +0 -18
  270. package/dist/types/react-ink/components/TaskPanel.d.ts +0 -11
  271. package/dist/types/react-ink/components/ToolEventBlock.d.ts +0 -48
  272. package/dist/types/react-ink/components/ToolEventBlock.test.d.ts +0 -1
  273. package/dist/types/react-ink/components/dialogs/DialogFrame.d.ts +0 -8
  274. package/dist/types/react-ink/components/dialogs/LoginDialog.d.ts +0 -14
  275. package/dist/types/react-ink/components/dialogs/ModelDialog.d.ts +0 -9
  276. package/dist/types/react-ink/components/dialogs/OAuthDialog.d.ts +0 -9
  277. package/dist/types/react-ink/components/dialogs/ScopedModelsDialog.d.ts +0 -9
  278. package/dist/types/react-ink/components/dialogs/SelectableDialog.d.ts +0 -22
  279. package/dist/types/react-ink/components/dialogs/SessionDialog.d.ts +0 -13
  280. package/dist/types/react-ink/components/dialogs/SettingsDialog.d.ts +0 -14
  281. package/dist/types/react-ink/components/dialogs/StartupSessionPicker.d.ts +0 -9
  282. package/dist/types/react-ink/components/dialogs/ThemeDialog.d.ts +0 -26
  283. package/dist/types/react-ink/components/dialogs/TreeDialog.d.ts +0 -8
  284. package/dist/types/react-ink/components/dialogs/UserMessageDialog.d.ts +0 -8
  285. package/dist/types/react-ink/components/messages/AssistantMessage.d.ts +0 -12
  286. package/dist/types/react-ink/components/messages/BashMessage.d.ts +0 -8
  287. package/dist/types/react-ink/components/messages/BranchSummaryMessage.d.ts +0 -8
  288. package/dist/types/react-ink/components/messages/CompactionMessage.d.ts +0 -8
  289. package/dist/types/react-ink/components/messages/CustomMessage.d.ts +0 -9
  290. package/dist/types/react-ink/components/messages/SkillInvocationMessage.d.ts +0 -7
  291. package/dist/types/react-ink/components/messages/ToolCallMessage.d.ts +0 -8
  292. package/dist/types/react-ink/components/messages/ToolResultBlock.d.ts +0 -12
  293. package/dist/types/react-ink/components/messages/UserMessage.d.ts +0 -9
  294. package/dist/types/react-ink/diff/Diff.d.ts +0 -22
  295. package/dist/types/react-ink/diff/diff.test.d.ts +0 -1
  296. package/dist/types/react-ink/diff/structured.d.ts +0 -41
  297. package/dist/types/react-ink/diff/word-diff.d.ts +0 -27
  298. package/dist/types/react-ink/index.d.ts +0 -42
  299. package/dist/types/react-ink/markdown/Markdown.d.ts +0 -23
  300. package/dist/types/react-ink/markdown/MarkdownTable.d.ts +0 -19
  301. package/dist/types/react-ink/markdown/StreamingMarkdown.d.ts +0 -34
  302. package/dist/types/react-ink/markdown/format-token.d.ts +0 -39
  303. package/dist/types/react-ink/markdown/highlight.d.ts +0 -31
  304. package/dist/types/react-ink/theme-adapter.d.ts +0 -66
  305. package/dist/types/react-ink/types.d.ts +0 -133
  306. package/dist/types/react-ink/utils/message-groups.d.ts +0 -25
  307. package/dist/types/react-ink/utils/selection-dialog.d.ts +0 -2
  308. package/dist/types/react-ink/utils/session-browser.d.ts +0 -27
  309. package/dist/types/react-ink/utils/tool-display.d.ts +0 -37
  310. package/dist/types/runtime/cadence/cadence.test.d.ts +0 -6
  311. package/dist/types/runtime/cadence/fold.d.ts +0 -48
  312. package/dist/types/runtime/cadence/index.d.ts +0 -12
  313. package/dist/types/runtime/cadence/reducer.d.ts +0 -44
  314. package/dist/types/runtime/conductor/agent.d.ts +0 -71
  315. package/dist/types/runtime/conductor/index.d.ts +0 -11
  316. package/dist/types/runtime/contract/config.d.ts +0 -44
  317. package/dist/types/runtime/contract/effect.d.ts +0 -41
  318. package/dist/types/runtime/contract/errors.d.ts +0 -22
  319. package/dist/types/runtime/contract/events.d.ts +0 -63
  320. package/dist/types/runtime/contract/index.d.ts +0 -18
  321. package/dist/types/runtime/contract/run-state.d.ts +0 -57
  322. package/dist/types/runtime/contract/session.d.ts +0 -42
  323. package/dist/types/runtime/contract/signal.d.ts +0 -49
  324. package/dist/types/runtime/contract/tools.d.ts +0 -45
  325. package/dist/types/runtime/dispatch/index.d.ts +0 -9
  326. package/dist/types/runtime/dispatch/scheduler.d.ts +0 -53
  327. package/dist/types/runtime/index.d.ts +0 -22
  328. package/dist/types/runtime/ledger/accumulator.d.ts +0 -44
  329. package/dist/types/runtime/ledger/bus.d.ts +0 -50
  330. package/dist/types/runtime/ledger/index.d.ts +0 -11
  331. package/dist/types/runtime/memory/compactor.d.ts +0 -56
  332. package/dist/types/runtime/memory/estimate.d.ts +0 -21
  333. package/dist/types/runtime/memory/index.d.ts +0 -8
  334. package/dist/types/runtime/runtime.test.d.ts +0 -15
  335. package/dist/types/runtime/store/dag.d.ts +0 -72
  336. package/dist/types/runtime/store/hash.d.ts +0 -18
  337. package/dist/types/runtime/store/index.d.ts +0 -12
  338. package/dist/types/runtime/store/persist.d.ts +0 -49
  339. package/dist/types/runtime/turn/driver.d.ts +0 -32
  340. package/dist/types/runtime/turn/index.d.ts +0 -8
  341. package/dist/types/runtime/wire/index.d.ts +0 -10
  342. package/dist/types/runtime/wire/projectors.d.ts +0 -53
  343. package/dist/types/shell-app/auth-cli/index.d.ts +0 -9
  344. package/dist/types/shell-app/auth-cli/oauth-cli.d.ts +0 -73
  345. package/dist/types/shell-app/boot/context.d.ts +0 -108
  346. package/dist/types/shell-app/boot/index.d.ts +0 -13
  347. package/dist/types/shell-app/boot/pipeline.d.ts +0 -66
  348. package/dist/types/shell-app/boot/stages.d.ts +0 -77
  349. package/dist/types/shell-app/cli.d.ts +0 -75
  350. package/dist/types/shell-app/config/index.d.ts +0 -11
  351. package/dist/types/shell-app/config/locator.d.ts +0 -85
  352. package/dist/types/shell-app/config/settings.d.ts +0 -91
  353. package/dist/types/shell-app/index.d.ts +0 -26
  354. package/dist/types/shell-app/invocation/flags.d.ts +0 -89
  355. package/dist/types/shell-app/invocation/parse.d.ts +0 -89
  356. package/dist/types/shell-app/locate/brand.d.ts +0 -71
  357. package/dist/types/shell-app/locate/index.d.ts +0 -12
  358. package/dist/types/shell-app/locate/locator.d.ts +0 -122
  359. package/dist/types/shell-app/runners/contract.d.ts +0 -116
  360. package/dist/types/shell-app/runners/index.d.ts +0 -15
  361. package/dist/types/shell-app/runners/one-shot.d.ts +0 -21
  362. package/dist/types/shell-app/runners/registry.d.ts +0 -34
  363. package/dist/types/shell-app/runners/repl.d.ts +0 -51
  364. package/dist/types/shell-app/runners/wire.d.ts +0 -34
  365. package/dist/types/shell-app/shell-app.test.d.ts +0 -14
  366. package/dist/types/shell-app/upgrade/index.d.ts +0 -9
  367. package/dist/types/shell-app/upgrade/upgrades.d.ts +0 -62
  368. package/dist/types/smithy/config/flag-reader.d.ts +0 -128
  369. package/dist/types/smithy/config/index.d.ts +0 -9
  370. package/dist/types/smithy/forge.d.ts +0 -135
  371. package/dist/types/smithy/index.d.ts +0 -36
  372. package/dist/types/smithy/knowledge/index.d.ts +0 -10
  373. package/dist/types/smithy/knowledge/loader.d.ts +0 -64
  374. package/dist/types/smithy/persona/blueprint.d.ts +0 -75
  375. package/dist/types/smithy/persona/define-agent.d.ts +0 -51
  376. package/dist/types/smithy/persona/index.d.ts +0 -14
  377. package/dist/types/smithy/persona/profiles.d.ts +0 -44
  378. package/dist/types/smithy/runtime/index.d.ts +0 -9
  379. package/dist/types/smithy/runtime/tool-ledger.d.ts +0 -130
  380. package/dist/types/smithy/smithy.test.d.ts +0 -20
  381. package/dist/types/smithy/ui/index.d.ts +0 -11
  382. package/dist/types/smithy/ui/transcript.d.ts +0 -183
  383. package/dist/types/swarm/coordinator.d.ts +0 -192
  384. package/dist/types/swarm/index.d.ts +0 -33
  385. package/dist/types/swarm/isolation/index.d.ts +0 -14
  386. package/dist/types/swarm/isolation/runner.d.ts +0 -61
  387. package/dist/types/swarm/isolation/worktree.d.ts +0 -142
  388. package/dist/types/swarm/kernel/faults.d.ts +0 -52
  389. package/dist/types/swarm/kernel/ids.d.ts +0 -25
  390. package/dist/types/swarm/kernel/index.d.ts +0 -26
  391. package/dist/types/swarm/kernel/json-cell.d.ts +0 -113
  392. package/dist/types/swarm/kernel/jsonl-log.d.ts +0 -81
  393. package/dist/types/swarm/postbox/channel.d.ts +0 -88
  394. package/dist/types/swarm/postbox/codecs.d.ts +0 -253
  395. package/dist/types/swarm/postbox/index.d.ts +0 -16
  396. package/dist/types/swarm/roster/index.d.ts +0 -16
  397. package/dist/types/swarm/roster/manifest.d.ts +0 -185
  398. package/dist/types/swarm/swarm.test.d.ts +0 -24
  399. package/dist/types/swarm/telemetry/activity.d.ts +0 -143
  400. package/dist/types/swarm/workboard/board.d.ts +0 -174
  401. package/dist/types/swarm/workboard/dep-graph.d.ts +0 -77
  402. package/dist/types/swarm/workboard/index.d.ts +0 -12
  403. package/dist/types/tracing/adapter/index.d.ts +0 -12
  404. package/dist/types/tracing/adapter/runtime-trace.d.ts +0 -54
  405. package/dist/types/tracing/channel/index.d.ts +0 -9
  406. package/dist/types/tracing/channel/signal.d.ts +0 -93
  407. package/dist/types/tracing/index.d.ts +0 -25
  408. package/dist/types/tracing/recorder/index.d.ts +0 -12
  409. package/dist/types/tracing/recorder/recorder.d.ts +0 -75
  410. package/dist/types/tracing/recorder/sampling.d.ts +0 -55
  411. package/dist/types/tracing/redaction/index.d.ts +0 -8
  412. package/dist/types/tracing/redaction/secret-scrubber.d.ts +0 -95
  413. package/dist/types/tracing/registry/hub.d.ts +0 -57
  414. package/dist/types/tracing/registry/index.d.ts +0 -7
  415. package/dist/types/tracing/signal/handle.d.ts +0 -73
  416. package/dist/types/tracing/signal/index.d.ts +0 -12
  417. package/dist/types/tracing/signal/segment.d.ts +0 -124
  418. package/dist/types/tracing/sinks/base.d.ts +0 -51
  419. package/dist/types/tracing/sinks/console.d.ts +0 -44
  420. package/dist/types/tracing/sinks/file.d.ts +0 -47
  421. package/dist/types/tracing/sinks/index.d.ts +0 -16
  422. package/dist/types/tracing/sinks/stream.d.ts +0 -46
  423. package/dist/types/tracing/tracing.test.d.ts +0 -7
  424. package/dist/types/ui/autocomplete.d.ts +0 -59
  425. package/dist/types/ui/contracts.d.ts +0 -38
  426. package/dist/types/ui/editor-component.d.ts +0 -100
  427. package/dist/types/ui/fuzzy.d.ts +0 -29
  428. package/dist/types/ui/index.d.ts +0 -8
  429. package/dist/types/ui/keybindings.d.ts +0 -62
  430. package/dist/types/ui/keys.d.ts +0 -171
  431. package/dist/types/ui/theme-types.d.ts +0 -36
  432. package/dist/types/ui/utils.d.ts +0 -101
  433. package/dist/types/ui-bridge/InteractiveApp.d.ts +0 -38
  434. package/dist/types/ui-bridge/adapter.d.ts +0 -90
  435. package/dist/types/ui-bridge/index.d.ts +0 -37
@@ -1,10 +0,0 @@
1
- /**
2
- * The Node-backed backends — public surface.
3
- *
4
- * One import site for the concrete {@link Fs}/{@link Shell} pair and the
5
- * {@link ToolContext} assembler that the runtime and the test suite use to run
6
- * tools against the real machine. Everything here is the single sanctioned
7
- * place where the kernel's abstract capabilities touch `node:fs` and
8
- * `node:child_process`.
9
- */
10
- export { nodeFs, nodeShell, makeNodeContext } from "./node-backends";
@@ -1,30 +0,0 @@
1
- /**
2
- * The Node-backed seam.
3
- *
4
- * The kernel deliberately hands tools only two abstract capabilities — {@link Fs}
5
- * and {@link Shell} — and forbids any tool from reaching for `node:fs` or
6
- * `node:child_process` on its own. This module is the single sanctioned place
7
- * where those abstractions are bound to the real operating system. Everything
8
- * here talks to Node directly *on purpose*; nothing above this layer does.
9
- *
10
- * Three things are exported: {@link nodeFs}, a filesystem backed by
11
- * `node:fs/promises`; {@link nodeShell}, a command runner backed by
12
- * `node:child_process`; and {@link makeNodeContext}, which staples those two
13
- * onto a working directory, a cancellation signal, and an output budget to
14
- * produce the {@link ToolContext} that tests and the live runtime feed to tools.
15
- */
16
- import type { Fs, Shell, ToolContext, OutputBudget } from "../kernel";
17
- /** The shared Node-backed {@link Fs} instance. */
18
- export declare const nodeFs: Fs;
19
- /** The shared Node-backed {@link Shell} instance. */
20
- export declare const nodeShell: Shell;
21
- /**
22
- * Assemble a {@link ToolContext} backed by the real Node filesystem and shell.
23
- *
24
- * This is the production wiring as well as the default test seam: a `cwd` is
25
- * required, while the cancellation `signal` and output `budget` fall back to a
26
- * never-aborting signal and the kernel's standard window when omitted.
27
- */
28
- export declare function makeNodeContext(cwd: string, signal?: AbortSignal, budget?: OutputBudget, framework?: {
29
- readonly [key: string]: unknown;
30
- }): ToolContext;
@@ -1,14 +0,0 @@
1
- /**
2
- * Golden tests for the assembled capabilities layer.
3
- *
4
- * Every case runs against a real on-disk sandbox under {@link os.tmpdir} and the
5
- * genuine Node-backed {@link makeNodeContext}, so the tools exercise their real
6
- * filesystem and shell paths rather than stubs. The web tools are checked for
7
- * their *offline* contract: they must surface a typed `isError` result instead
8
- * of throwing when the network is unreachable.
9
- *
10
- * The suite also pins the registry/toolbox wiring: the `coding` collection must
11
- * advertise exactly its members, and the runner must dispatch a call to the
12
- * right tool by name (and reject an unknown name as an error, not a throw).
13
- */
14
- export {};
@@ -1,49 +0,0 @@
1
- /**
2
- * A from-scratch line diff and unified-style renderer.
3
- *
4
- * The core is Myers' O(ND) shortest-edit-script algorithm. Given two token
5
- * sequences (here: the lines of two text blobs), it finds the minimum number of
6
- * single-token insertions and deletions that turns the first into the second.
7
- * We run the greedy forward sweep, snapshotting the search frontier at every
8
- * edit depth, then walk those snapshots backward to recover the actual ordered
9
- * list of operations. From that list we group consecutive changes into
10
- * "hunks" and print them in the familiar `@@ … @@` / `+` / `-` / ` ` shape.
11
- *
12
- * Nothing here touches the filesystem or any external diff utility — it is a
13
- * self-contained string-to-string transformation, derived directly from the
14
- * published algorithm rather than adapted from any existing implementation.
15
- */
16
- /** One step in an edit script: a line that stayed, was added, or was removed. */
17
- export type DiffOpKind = "keep" | "add" | "remove";
18
- /** A single line-level operation produced by the diff. */
19
- export interface DiffOp {
20
- readonly kind: DiffOpKind;
21
- /** The line text, with its trailing newline already stripped. */
22
- readonly text: string;
23
- /** 1-based line number in the original blob (undefined for pure additions). */
24
- readonly beforeLine?: number;
25
- /** 1-based line number in the revised blob (undefined for pure removals). */
26
- readonly afterLine?: number;
27
- }
28
- /** Outcome of {@link diffLines}: the flat op list plus a few useful tallies. */
29
- export interface LineDiff {
30
- readonly ops: DiffOp[];
31
- readonly added: number;
32
- readonly removed: number;
33
- }
34
- /**
35
- * Diff two text blobs at line granularity and return the full operation list.
36
- *
37
- * This is the public entry point used by tools that want structured change
38
- * data; {@link renderUnifiedDiff} consumes the same data for display.
39
- */
40
- export declare function diffLines(before: string, after: string): LineDiff;
41
- /**
42
- * Render a line diff in the conventional unified format.
43
- *
44
- * Each hunk opens with an `@@ -beforeStart,beforeCount +afterStart,afterCount @@`
45
- * header, followed by its lines prefixed with ` `, `-`, or `+`. When the two
46
- * blobs are identical the result is the empty string. `context` controls how
47
- * many unchanged lines frame each hunk (default 3).
48
- */
49
- export declare function renderUnifiedDiff(before: string, after: string, context?: number): string;
@@ -1,21 +0,0 @@
1
- /**
2
- * The `edit` capability: substitute an exact (or whitespace-tolerant) snippet
3
- * inside a file and report the change as a unified-style diff.
4
- *
5
- * The tool reads the target file through the kernel's {@link Fs} seam, locates
6
- * the `oldText` to replace, swaps in `newText`, writes the result back, and
7
- * hands the model a readable before/after diff produced by our own Myers-based
8
- * {@link renderUnifiedDiff}. Matching is strict by default: the literal
9
- * `oldText` must appear exactly once. If a literal match is missing we make a
10
- * single whitespace-fuzzy attempt (ignoring differences in indentation and
11
- * inter-token spacing) so trivial formatting drift doesn't block an otherwise
12
- * unambiguous edit. Anything genuinely absent or ambiguous is refused with a
13
- * specific message rather than guessed at.
14
- */
15
- /**
16
- * Public edit tool.
17
- *
18
- * Replaces a located snippet with new text inside a single file and returns a
19
- * unified diff of the change.
20
- */
21
- export declare const editTool: import("..").DefinedTool;
@@ -1,16 +0,0 @@
1
- /**
2
- * The `ls` capability: enumerate the immediate contents of a directory.
3
- *
4
- * The directory's children are pulled through the {@link Fs} backend, and each
5
- * one is `stat`-ed so the listing can report a concrete kind (file, directory,
6
- * symlink, or other) and a byte size alongside its bare name. By default,
7
- * dot-prefixed entries are hidden, matching the convention most shells follow;
8
- * the caller can opt into seeing them. The rendered table is bounded by the
9
- * context's {@link OutputBudget} so a very large folder cannot overrun the
10
- * model's window.
11
- *
12
- * Authored entirely against the kernel surface — directory walking and metadata
13
- * lookups go through `ctx.fs`, and trimming goes through `ctx.budget` / `clamp`.
14
- * No Node API is reached for here.
15
- */
16
- export declare const lsTool: import("..").DefinedTool;
@@ -1,69 +0,0 @@
1
- /**
2
- * The read-before-edit gate (shared by `read`, `edit`, and `write`).
3
- *
4
- * This is the framework half of the read-edit-gate feature. When — and ONLY
5
- * when — a host has stashed a {@link ReadStateHandle} on
6
- * `ctx.framework[READ_STATE_HANDLE_KEY]`, the file tools enforce a small
7
- * discipline borrowed from interactive coding agents:
8
- *
9
- * 1. A file may not be edited or overwritten until it has been *read* in this
10
- * session (so the model is never blindly clobbering content it has not
11
- * seen).
12
- * 2. A file may not be mutated if it has drifted on disk since that read — its
13
- * modification time or byte size advanced past what was recorded — because
14
- * that usually means a human or a linter changed it underneath us.
15
- *
16
- * After every successful read (and every successful mutation) the recorded state
17
- * is refreshed from the fresh on-disk stat, so the next gate check compares
18
- * against the latest known-good snapshot.
19
- *
20
- * The whole mechanism is *additive*: with no handle present, every helper here
21
- * is a no-op and the tools behave exactly as they did before. Nothing imports
22
- * from the product — the handle is duck-typed and the key is a shared string
23
- * literal, so the framework consumer and the product injector agree on shape
24
- * without a cross-package type import.
25
- */
26
- import type { ReadStateHandle, ToolContext } from "../kernel";
27
- /** The two byte-stable refusal messages the gate emits. */
28
- export declare const READ_BEFORE_EDIT_MESSAGE = "File has not been read yet. Read it first before writing to it.";
29
- 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.";
30
- /**
31
- * Pull the read-state handle off the context, if one was injected.
32
- *
33
- * Returns `undefined` whenever the framework bag, the key, or a well-formed
34
- * handle is absent — the gate then degrades to a no-op. The handle is validated
35
- * structurally (it must expose `get` / `set` / `has`) so a malformed injection
36
- * can never throw mid-mutation; it simply disables the gate.
37
- */
38
- export declare function getReadStateHandle(ctx: ToolContext): ReadStateHandle | undefined;
39
- /**
40
- * Record (or refresh) the read state for `absPath` from a fresh stat.
41
- *
42
- * No-op when no handle is present. Stats are taken through the kernel `fs` seam
43
- * — its `modifiedMs` field is floored to a whole millisecond so a sub-ms clock
44
- * skew between read and a later compare can never spuriously trip the staleness
45
- * check. A failed stat is swallowed: state-keeping is best-effort and must never
46
- * mask the real operation's outcome.
47
- */
48
- export declare function recordReadState(ctx: ToolContext, absPath: string, handle: ReadStateHandle | undefined): Promise<void>;
49
- /** Outcome of a gate check: either cleared, or refused with a message. */
50
- export type GateOutcome = {
51
- ok: true;
52
- } | {
53
- ok: false;
54
- message: string;
55
- };
56
- /**
57
- * Enforce the read-before-edit + staleness gate ahead of a mutation.
58
- *
59
- * With no handle present this always clears (the gate is opt-in). With a handle:
60
- * - refuse when `absPath` has no recorded read this session;
61
- * - refuse when the on-disk modification time or byte size has advanced past
62
- * the recorded read.
63
- *
64
- * The on-disk stat is read through the kernel `fs` seam and floored the same way
65
- * the recorded mtime is, so the comparison is apples-to-apples. A stat failure
66
- * (e.g. the file vanished) clears the gate so the underlying tool can surface
67
- * its own, more specific error.
68
- */
69
- export declare function enforceReadGate(ctx: ToolContext, absPath: string, handle: ReadStateHandle | undefined): Promise<GateOutcome>;
@@ -1,14 +0,0 @@
1
- /**
2
- * Tests for the read-before-edit gate (framework half of read-edit-gate).
3
- *
4
- * The gate is opt-in: it activates only when a host injects a {@link ReadStateHandle}
5
- * on `ctx.framework[READ_STATE_HANDLE_KEY]`. These cases exercise both worlds —
6
- * the gate ACTIVE (handle present) and the gate ABSENT (no handle, today's
7
- * behavior) — across the three file tools (`read`, `edit`, `write`).
8
- *
9
- * Everything runs against a real on-disk sandbox via the genuine
10
- * {@link makeNodeContext}, so the tools take their real filesystem path. The
11
- * injected store is a tiny in-memory Map, mirroring what the product host will
12
- * supply through the shared string-literal handle key.
13
- */
14
- export {};
@@ -1,15 +0,0 @@
1
- /**
2
- * The `read` capability: surface a text file's contents to the model.
3
- *
4
- * The file is loaded as UTF-8 through the {@link Fs} backend, optionally narrowed
5
- * to a window of lines, and decorated with a left-hand line-number gutter so the
6
- * model can refer to exact positions. Before the text is handed back it is run
7
- * through the context's {@link OutputBudget} so an oversized file can never blow
8
- * past the model's window; whenever that trimming actually fires, a short note is
9
- * spliced in so the model knows it is looking at a partial view.
10
- *
11
- * Authored purely against the kernel surface — file access goes through
12
- * `ctx.fs`, byte-bounding goes through `ctx.budget` / `clamp`. No Node API is
13
- * touched here.
14
- */
15
- export declare const readTool: import("..").DefinedTool;
@@ -1,16 +0,0 @@
1
- /**
2
- * The `write` capability: persist a text file through the kernel's filesystem
3
- * seam, materializing any missing parent directories along the way.
4
- *
5
- * The tool is intentionally simple — it accepts a destination path and a body of
6
- * UTF-8 text, ensures the enclosing folder exists, commits the bytes, and reports
7
- * how many bytes landed on disk. All I/O flows through {@link ToolContext.fs};
8
- * nothing reaches for `node:fs` directly, so a sandboxed or in-memory backend can
9
- * stand in transparently.
10
- */
11
- /**
12
- * Write a text file, creating parent directories as needed.
13
- *
14
- * Exported as a named {@link DefinedTool} so a host can register it directly.
15
- */
16
- export declare const writeTool: import("..").DefinedTool;
@@ -1,29 +0,0 @@
1
- /**
2
- * The capabilities layer — public surface.
3
- *
4
- * One import site for everything a host needs to stand up the built-in tools:
5
- * the kernel authoring shape and type vocabulary, every individual tool, the
6
- * Node-backed context assembler, and the assembled registry/toolbox helpers.
7
- *
8
- * The two outward contracts — the runtime's `ToolCall`/`ToolOutcome`/`ToolBox`/
9
- * `ToolRunner` and the gateway's `ToolDescriptor`/`JsonSchema` — are deliberately
10
- * not re-exported here; consumers import those straight from their own contracts
11
- * so there is a single source of truth.
12
- */
13
- export { defineTool, clamp, ToolRegistry, UnknownToolError } from "./kernel";
14
- export type { ToolSpec, ToolResult, ToolContentBlock, TextContentBlock, JsonContentBlock, ToolContext, DefinedTool, Fs, FsEntryInfo, DirChild, RemoveOptions, Shell, ShellLaunchOptions, ShellExecOptions, ShellExecResult, ShellHandle, OutputBudget, ClipEnd, RegistryContextFactory, ContextOverrides, ContextFactory, } from "./kernel";
15
- export { nodeFs, nodeShell, makeNodeContext } from "./backends/node-backends";
16
- export { readTool } from "./files/read";
17
- export { writeTool } from "./files/write";
18
- export { editTool } from "./files/edit";
19
- export { lsTool } from "./files/ls";
20
- export { grepTool } from "./search/grep";
21
- export { findTool } from "./search/find";
22
- export { bashTool } from "./shell/bash";
23
- export { processTool, resetProcessTable } from "./shell/process";
24
- export { todoSetTool, todoReadTool, todoStore, TodoStore, reset as resetTodos, } from "./planning/todo";
25
- export type { TodoItem, TodoStatus } from "./planning/todo";
26
- export { webSearchTool } from "./web/websearch";
27
- export { webFetchTool } from "./web/webfetch";
28
- export { builtinRegistry, toolBox } from "./registry";
29
- export type { ToolCollection } from "./registry";
@@ -1,119 +0,0 @@
1
- /**
2
- * Coarse I/O backends a tool may reach for.
3
- *
4
- * Tools never touch `node:fs` or `node:child_process` directly. Instead they
5
- * receive an {@link Fs} and a {@link Shell} through their {@link ToolContext},
6
- * and every real-world side effect flows through one of those two seams. Keeping
7
- * the surface intentionally small means a host can swap in a sandboxed, remote,
8
- * or in-memory implementation without any tool being aware of it.
9
- *
10
- * Only the interfaces live here. The concrete Node-backed implementations are
11
- * assembled in a later phase under `backends/`.
12
- */
13
- /** Metadata about a single filesystem entry, as returned by {@link Fs.stat}. */
14
- export interface FsEntryInfo {
15
- /** True when the entry is a regular file. */
16
- readonly isFile: boolean;
17
- /** True when the entry is a directory. */
18
- readonly isDirectory: boolean;
19
- /** True when the entry is a symbolic link. */
20
- readonly isSymlink: boolean;
21
- /** Size of the entry in bytes. */
22
- readonly size: number;
23
- /** Last-modified time, in epoch milliseconds. */
24
- readonly modifiedMs: number;
25
- }
26
- /** One child of a directory, as yielded by {@link Fs.readdir}. */
27
- export interface DirChild {
28
- /** The bare entry name (no leading path). */
29
- readonly name: string;
30
- /** True when this child is itself a directory. */
31
- readonly isDirectory: boolean;
32
- }
33
- /** Options accepted by {@link Fs.rm}. */
34
- export interface RemoveOptions {
35
- /** Remove directory trees, not just single files. Defaults to false. */
36
- readonly recursive?: boolean;
37
- /** Stay silent when the target is already absent. Defaults to false. */
38
- readonly ignoreMissing?: boolean;
39
- }
40
- /**
41
- * The filesystem capability handed to file-oriented tools.
42
- *
43
- * Paths are plain strings the caller has already resolved against the working
44
- * directory; the backend does no path interpretation of its own. Text reads and
45
- * writes go through {@link readFile} / {@link writeFile} with an explicit
46
- * encoding, while raw bytes are exchanged as a `Uint8Array` when encoding is
47
- * omitted.
48
- */
49
- export interface Fs {
50
- /** Load a file's contents. With an encoding, returns text; without, raw bytes. */
51
- readFile(path: string, encoding: BufferEncoding): Promise<string>;
52
- readFile(path: string): Promise<Uint8Array>;
53
- /** Persist data to a file, creating it if absent and truncating if present. */
54
- writeFile(path: string, data: string | Uint8Array, encoding?: BufferEncoding): Promise<void>;
55
- /** Describe a single entry, following symlinks. Rejects when the path is absent. */
56
- stat(path: string): Promise<FsEntryInfo>;
57
- /** Enumerate the immediate children of a directory. */
58
- readdir(path: string): Promise<DirChild[]>;
59
- /** Create a directory, optionally building any missing parents. */
60
- mkdir(path: string, options?: {
61
- recursive?: boolean;
62
- }): Promise<void>;
63
- /** Delete a file or directory subtree per {@link RemoveOptions}. */
64
- rm(path: string, options?: RemoveOptions): Promise<void>;
65
- /** Report whether anything exists at the given path. */
66
- exists(path: string): Promise<boolean>;
67
- }
68
- /** Settings shared by both one-shot and long-lived shell launches. */
69
- export interface ShellLaunchOptions {
70
- /** Working directory for the launched command. Defaults to the context cwd. */
71
- readonly cwd?: string;
72
- /** Environment overlay merged onto the inherited process environment. */
73
- readonly env?: Record<string, string>;
74
- /** Abort hook; firing it terminates the command. */
75
- readonly signal?: AbortSignal;
76
- }
77
- /** Extra knobs for a blocking {@link Shell.exec}. */
78
- export interface ShellExecOptions extends ShellLaunchOptions {
79
- /** Hard deadline in milliseconds after which the command is killed. */
80
- readonly timeoutMs?: number;
81
- /** Bytes piped to the command's standard input before it runs. */
82
- readonly input?: string;
83
- }
84
- /** The settled result of a one-shot {@link Shell.exec}. */
85
- export interface ShellExecResult {
86
- /** Everything the command emitted on standard output. */
87
- readonly stdout: string;
88
- /** Everything the command emitted on standard error. */
89
- readonly stderr: string;
90
- /** The process exit status; null when the command was signalled instead. */
91
- readonly code: number | null;
92
- }
93
- /** A live handle to a process started via {@link Shell.spawn}. */
94
- export interface ShellHandle {
95
- /** The operating-system process id, once assigned. */
96
- readonly pid: number | undefined;
97
- /** Request termination of the process (and, where supported, its group). */
98
- kill(signal?: NodeJS.Signals): void;
99
- /**
100
- * Subscribe to the process finishing. The listener fires once with the exit
101
- * code (or null on signal) and the signal name if one ended it. Returns an
102
- * unsubscribe function.
103
- */
104
- onExit(listener: (code: number | null, signal: NodeJS.Signals | null) => void): () => void;
105
- }
106
- /**
107
- * The shell capability handed to command-running tools.
108
- *
109
- * {@link exec} is the blocking path used by the bulk of tools: it runs a command
110
- * to completion and resolves with its captured streams and status. {@link spawn}
111
- * is the background path used by the daemon/process tool: it hands back a live
112
- * {@link ShellHandle} the caller manages over time.
113
- */
114
- export interface Shell {
115
- /** Run a command to completion, capturing its output. */
116
- exec(command: string, options?: ShellExecOptions): Promise<ShellExecResult>;
117
- /** Start a long-lived command and return a handle to manage it. */
118
- spawn(command: string, options?: ShellLaunchOptions): ShellHandle;
119
- }
@@ -1,52 +0,0 @@
1
- /**
2
- * Context assembly.
3
- *
4
- * Tools run inside a {@link ToolContext}: a working directory, the {@link Fs} and
5
- * {@link Shell} backends, a cancellation signal, and a default
6
- * {@link OutputBudget}. Production code builds that from real Node-backed
7
- * backends; tests want to build it cheaply with only the fields a single case
8
- * cares about.
9
- *
10
- * This module fixes the *shape* of that helper — {@link ContextOverrides} and the
11
- * {@link ContextFactory} signature — so call sites can type against it now. The
12
- * concrete {@link makeContext} body is wired up in the backends phase, once the
13
- * Node {@link Fs}/{@link Shell} implementations exist to serve as the defaults.
14
- */
15
- import type { Fs, Shell } from "./backends";
16
- import type { ToolContext } from "./spec";
17
- import type { OutputBudget } from "./output";
18
- /**
19
- * A partial {@link ToolContext} supplied to {@link makeContext}.
20
- *
21
- * Any field left out is filled with a default: `cwd` falls back to the current
22
- * working directory, `fs`/`shell` to the Node backends, `signal` to a
23
- * never-aborting signal, and `budget` to the kernel's standard window.
24
- */
25
- export interface ContextOverrides {
26
- readonly cwd?: string;
27
- readonly fs?: Fs;
28
- readonly shell?: Shell;
29
- readonly signal?: AbortSignal;
30
- readonly budget?: OutputBudget;
31
- /** Optional open bag of host-injected framework handles (e.g. the read-state store). */
32
- readonly framework?: {
33
- readonly [key: string]: unknown;
34
- };
35
- }
36
- /**
37
- * Build a {@link ToolContext}, defaulting every field the caller omits.
38
- *
39
- * Intended chiefly as a test seam: a case overrides only the slice it exercises
40
- * (say, a stub `fs`) and inherits sensible defaults for the rest. The real
41
- * implementation arrives with the Node backends; this declaration pins the
42
- * contract every call site can rely on.
43
- */
44
- export type ContextFactory = (overrides?: ContextOverrides) => ToolContext;
45
- /**
46
- * The {@link ContextFactory} the rest of the codebase imports.
47
- *
48
- * Declared here, defined in the backends phase. Until then it is intentionally
49
- * unbound so any premature call fails loudly rather than silently producing a
50
- * half-formed context.
51
- */
52
- export declare const makeContext: ContextFactory;
@@ -1,24 +0,0 @@
1
- /**
2
- * The frozen tool kernel — public surface.
3
- *
4
- * One import site for everything a built-in tool (or a host wiring tools in)
5
- * needs: the declarative {@link ToolSpec} authoring shape and its
6
- * {@link defineTool} adapter, the result/content/context vocabulary, the coarse
7
- * {@link Fs}/{@link Shell} backends, the {@link OutputBudget} windowing with its
8
- * {@link clamp} applier, the {@link ToolRegistry} and its collections, and the
9
- * {@link makeContext} test helper.
10
- *
11
- * The outward contracts — the runtime's `ToolCall`/`ToolOutcome`/`ToolBox` and
12
- * the gateway's `ToolDescriptor`/`JsonSchema` — are deliberately *not*
13
- * re-exported here; consumers import those straight from "../../runtime/contract"
14
- * and "../../llmgateway/contract" so there is a single source of truth.
15
- */
16
- export { defineTool, READ_STATE_HANDLE_KEY } from "./spec";
17
- export type { ToolSpec, ToolResult, ToolContentBlock, TextContentBlock, JsonContentBlock, ToolContext, DefinedTool, ReadStateHandle, ReadStateRecord, } from "./spec";
18
- export type { Fs, FsEntryInfo, DirChild, RemoveOptions, Shell, ShellLaunchOptions, ShellExecOptions, ShellExecResult, ShellHandle, } from "./backends";
19
- export { clamp } from "./output";
20
- export type { OutputBudget, ClipEnd } from "./output";
21
- export { ToolRegistry, UnknownToolError } from "./registry";
22
- export type { ContextFactory as RegistryContextFactory } from "./registry";
23
- export { makeContext } from "./context";
24
- export type { ContextOverrides, ContextFactory } from "./context";
@@ -1,40 +0,0 @@
1
- /**
2
- * Output windowing.
3
- *
4
- * Tool output is fed to a model with a finite context, so a single tool must
5
- * never return an unbounded blob. This module collapses what used to be two
6
- * separate head/tail truncators into one {@link OutputBudget} description plus a
7
- * single {@link clamp} applier. A budget says how big the surviving window may
8
- * be (`maxBytes`), which end of the text to keep (`kind`), and optionally how to
9
- * announce what was dropped (`notice`).
10
- *
11
- * All measurement is in UTF-8 bytes via {@link Buffer}, and every cut is snapped
12
- * to a character boundary so a multibyte sequence is never sliced in half.
13
- */
14
- /** Which slice of an over-budget string survives clamping. */
15
- export type ClipEnd = "head" | "tail" | "middle";
16
- /**
17
- * A request to bound a string's UTF-8 byte length.
18
- *
19
- * `kind` selects which portion to keep:
20
- * - `head` — keep the opening bytes, drop the tail.
21
- * - `tail` — keep the closing bytes, drop the head.
22
- * - `middle` — drop a band from the center, keeping both ends.
23
- *
24
- * `maxBytes` is the ceiling for the *kept* text (the optional notice is appended
25
- * on top and is not counted against it). `notice`, when given, is called with
26
- * the number of omitted bytes and returns a marker spliced in at the cut point.
27
- */
28
- export interface OutputBudget {
29
- readonly kind: ClipEnd;
30
- readonly maxBytes: number;
31
- readonly notice?: (omitted: number) => string;
32
- }
33
- /**
34
- * Bound `text` to `policy.maxBytes` UTF-8 bytes, keeping the end named by
35
- * `policy.kind` and splicing in a notice where bytes were removed.
36
- *
37
- * When the input already fits, it is returned untouched and no notice is added.
38
- * Cuts always fall on character boundaries, so the result is always valid UTF-8.
39
- */
40
- export declare function clamp(text: string, policy: OutputBudget): string;
@@ -1,61 +0,0 @@
1
- /**
2
- * The tool registry.
3
- *
4
- * A {@link ToolRegistry} is the in-memory directory of every defined tool plus
5
- * the named *collections* that group them (e.g. a read-only set vs. the full
6
- * coding set). Its payoff method is {@link ToolRegistry.toToolBox}, which turns a
7
- * chosen collection into a runtime {@link ToolBox}: the descriptors the model is
8
- * shown together with a {@link ToolRunner} that dispatches the model's calls to
9
- * the right tool's `invoke`.
10
- *
11
- * The registry stays decoupled from how a {@link ToolContext} is built: it asks
12
- * for a `ctxFactory` at box-construction time and calls it per dispatch, so each
13
- * tool run gets a fresh, correctly-scoped context.
14
- */
15
- import type { ToolBox } from "../../runtime/contract";
16
- import type { DefinedTool, ToolContext } from "./spec";
17
- /** Thrown when a registry operation references a name that was never registered. */
18
- export declare class UnknownToolError extends Error {
19
- /** The offending tool or collection name. */
20
- readonly missing: string;
21
- constructor(kind: "tool" | "collection", missing: string);
22
- }
23
- /** Supplies a fresh {@link ToolContext} for each individual tool dispatch. */
24
- export type ContextFactory = () => ToolContext;
25
- /**
26
- * A mutable catalog of tools and the named collections over them.
27
- *
28
- * Register tools first, then describe collections by listing tool names. A
29
- * collection is just a label for a subset; the same tool can belong to many.
30
- */
31
- export declare class ToolRegistry {
32
- private readonly tools;
33
- private readonly collections;
34
- /** Add a defined tool. A later registration under the same name replaces it. */
35
- register(tool: DefinedTool): this;
36
- /** Register several tools in one call. */
37
- registerAll(tools: Iterable<DefinedTool>): this;
38
- /** True when a tool with this name has been registered. */
39
- has(name: string): boolean;
40
- /** Fetch a registered tool, or throw {@link UnknownToolError} if absent. */
41
- get(name: string): DefinedTool;
42
- /** The names of every registered tool, in registration order. */
43
- names(): string[];
44
- /**
45
- * Define (or redefine) a named collection as the given list of tool names.
46
- * Every listed tool must already be registered.
47
- */
48
- collection(name: string, toolNames: readonly string[]): this;
49
- /** The tool names belonging to a collection, or throw if it is undefined. */
50
- membersOf(collectionName: string): string[];
51
- /** The names of every defined collection. */
52
- collectionNames(): string[];
53
- /**
54
- * Build a runtime {@link ToolBox} from a set of tools.
55
- *
56
- * Pass a collection name to box that collection, or omit it to box every
57
- * registered tool. `ctxFactory` is invoked once per dispatched call to mint
58
- * the {@link ToolContext} the chosen tool runs under.
59
- */
60
- toToolBox(ctxFactory: ContextFactory, collectionName?: string): ToolBox;
61
- }