indusagi 0.12.32 → 0.12.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1144) hide show
  1. package/CHANGELOG.md +340 -0
  2. package/CREDITS.md +22 -0
  3. package/NOTICE +17 -0
  4. package/README.md +47 -388
  5. package/dist/agent.js +27512 -0
  6. package/dist/ai.js +19758 -0
  7. package/dist/capabilities.js +2663 -0
  8. package/dist/cli.js +11653 -0
  9. package/dist/connectors-saas.js +3289 -0
  10. package/dist/index.js +16533 -0
  11. package/dist/interop.js +3181 -0
  12. package/dist/knowledge/guides/authoring-an-agent.md +53 -0
  13. package/dist/knowledge/guides/choosing-tools.md +49 -0
  14. package/dist/knowledge/guides/model-selection.md +51 -0
  15. package/dist/knowledge/guides/writing-system-prompts.md +53 -0
  16. package/dist/knowledge/index.ts +19 -0
  17. package/dist/knowledge/loader.ts +200 -0
  18. package/dist/knowledge/manifest.json +29 -0
  19. package/dist/llmgateway.js +3209 -0
  20. package/dist/mcp.js +1732 -0
  21. package/dist/memory.js +0 -0
  22. package/dist/react-host/index.js +101 -0
  23. package/dist/react-host/ink.js +97 -0
  24. package/dist/react-host/jsx-runtime.js +95 -0
  25. package/dist/react-ink.js +3821 -0
  26. package/dist/runtime.js +4387 -0
  27. package/dist/shell-app.js +12222 -0
  28. package/dist/smithy.js +7932 -0
  29. package/dist/swarm.js +8717 -0
  30. package/dist/tracing.js +724 -0
  31. package/dist/tui.js +2213 -0
  32. package/dist/types/capabilities/backends/index.d.ts +10 -0
  33. package/dist/types/capabilities/backends/node-backends.d.ts +28 -0
  34. package/dist/types/capabilities/capabilities.test.d.ts +14 -0
  35. package/dist/types/capabilities/files/diff.d.ts +49 -0
  36. package/dist/types/capabilities/files/edit.d.ts +21 -0
  37. package/dist/types/capabilities/files/ls.d.ts +16 -0
  38. package/dist/types/capabilities/files/read.d.ts +15 -0
  39. package/dist/types/capabilities/files/write.d.ts +16 -0
  40. package/dist/types/capabilities/index.d.ts +29 -0
  41. package/dist/types/capabilities/kernel/backends.d.ts +119 -0
  42. package/dist/types/capabilities/kernel/context.d.ts +48 -0
  43. package/dist/types/capabilities/kernel/index.d.ts +24 -0
  44. package/dist/types/capabilities/kernel/output.d.ts +40 -0
  45. package/dist/types/capabilities/kernel/registry.d.ts +61 -0
  46. package/dist/types/capabilities/kernel/spec.d.ts +113 -0
  47. package/dist/types/capabilities/planning/todo.d.ts +62 -0
  48. package/dist/types/capabilities/registry.d.ts +44 -0
  49. package/dist/types/capabilities/search/find.d.ts +33 -0
  50. package/dist/types/capabilities/search/grep.d.ts +30 -0
  51. package/dist/types/capabilities/shell/bash.d.ts +18 -0
  52. package/dist/types/capabilities/shell/process.d.ts +33 -0
  53. package/dist/types/capabilities/web/webfetch.d.ts +25 -0
  54. package/dist/types/capabilities/web/websearch.d.ts +23 -0
  55. package/dist/types/connectors-saas/connectors-saas.test.d.ts +12 -0
  56. package/dist/types/connectors-saas/index.d.ts +16 -0
  57. package/dist/types/connectors-saas/saas/adapter/composio-backend.d.ts +60 -0
  58. package/dist/types/connectors-saas/saas/control/connect.d.ts +114 -0
  59. package/dist/types/connectors-saas/saas/control/tools.d.ts +67 -0
  60. package/dist/types/connectors-saas/saas/core/builder.d.ts +86 -0
  61. package/dist/types/connectors-saas/saas/core/cache.d.ts +53 -0
  62. package/dist/types/connectors-saas/saas/core/index.d.ts +14 -0
  63. package/dist/types/connectors-saas/saas/core/port.d.ts +157 -0
  64. package/dist/types/connectors-saas/saas/core/scope-planner.d.ts +74 -0
  65. package/dist/types/connectors-saas/saas/gateway.d.ts +133 -0
  66. package/dist/types/connectors-saas/saas/render/format.d.ts +54 -0
  67. package/dist/types/connectors-saas/saas/render/index.d.ts +19 -0
  68. package/dist/types/connectors-saas/saas/render/summarizers.d.ts +58 -0
  69. package/dist/types/facade/agent.d.ts +1 -0
  70. package/dist/types/facade/ai.d.ts +1 -0
  71. package/dist/types/facade/bot/actions/bash.d.ts +56 -0
  72. package/dist/types/facade/bot/actions/composio/accounts.d.ts +22 -0
  73. package/dist/types/facade/bot/actions/composio/client.d.ts +39 -0
  74. package/dist/types/facade/bot/actions/composio/connect.d.ts +19 -0
  75. package/dist/types/facade/bot/actions/composio/enable.d.ts +25 -0
  76. package/dist/types/facade/bot/actions/composio/execute.d.ts +26 -0
  77. package/dist/types/facade/bot/actions/composio/helpers.d.ts +16 -0
  78. package/dist/types/facade/bot/actions/composio/index.d.ts +9 -0
  79. package/dist/types/facade/bot/actions/composio/provider.d.ts +8 -0
  80. package/dist/types/facade/bot/actions/composio/toolkits.d.ts +22 -0
  81. package/dist/types/facade/bot/actions/composio/tools.d.ts +28 -0
  82. package/dist/types/facade/bot/actions/composio/types.d.ts +137 -0
  83. package/dist/types/facade/bot/actions/crew/activity-tracker.d.ts +65 -0
  84. package/dist/types/facade/bot/actions/crew/cleanup.d.ts +50 -0
  85. package/dist/types/facade/bot/actions/crew/fs-lock.d.ts +11 -0
  86. package/dist/types/facade/bot/actions/crew/index.d.ts +11 -0
  87. package/dist/types/facade/bot/actions/crew/mailbox.d.ts +20 -0
  88. package/dist/types/facade/bot/actions/crew/model-policy.d.ts +22 -0
  89. package/dist/types/facade/bot/actions/crew/names.d.ts +27 -0
  90. package/dist/types/facade/bot/actions/crew/protocol.d.ts +74 -0
  91. package/dist/types/facade/bot/actions/crew/task-store.d.ts +88 -0
  92. package/dist/types/facade/bot/actions/crew/team-attach-claim.d.ts +35 -0
  93. package/dist/types/facade/bot/actions/crew/team-config.d.ts +54 -0
  94. package/dist/types/facade/bot/actions/crew/worktree.d.ts +39 -0
  95. package/dist/types/facade/bot/actions/edit-diff.d.ts +66 -0
  96. package/dist/types/facade/bot/actions/edit.d.ts +41 -0
  97. package/dist/types/facade/bot/actions/find.d.ts +25 -0
  98. package/dist/types/facade/bot/actions/grep.d.ts +43 -0
  99. package/dist/types/facade/bot/actions/index.d.ts +300 -0
  100. package/dist/types/facade/bot/actions/kit/hook-runner.d.ts +12 -0
  101. package/dist/types/facade/bot/actions/kit/image-resize.d.ts +19 -0
  102. package/dist/types/facade/bot/actions/kit/mime.d.ts +1 -0
  103. package/dist/types/facade/bot/actions/kit/shell.d.ts +12 -0
  104. package/dist/types/facade/bot/actions/ls.d.ts +41 -0
  105. package/dist/types/facade/bot/actions/path-utils.d.ts +8 -0
  106. package/dist/types/facade/bot/actions/process-controller.d.ts +14 -0
  107. package/dist/types/facade/bot/actions/process-manager.d.ts +59 -0
  108. package/dist/types/facade/bot/actions/process-types.d.ts +73 -0
  109. package/dist/types/facade/bot/actions/process.d.ts +37 -0
  110. package/dist/types/facade/bot/actions/read.d.ts +36 -0
  111. package/dist/types/facade/bot/actions/registry.d.ts +20 -0
  112. package/dist/types/facade/bot/actions/todo-store.d.ts +76 -0
  113. package/dist/types/facade/bot/actions/todo-types.d.ts +72 -0
  114. package/dist/types/facade/bot/actions/todo.d.ts +76 -0
  115. package/dist/types/facade/bot/actions/truncate.d.ts +78 -0
  116. package/dist/types/facade/bot/actions/webfetch.d.ts +35 -0
  117. package/dist/types/facade/bot/actions/websearch.d.ts +34 -0
  118. package/dist/types/facade/bot/actions/write.d.ts +30 -0
  119. package/dist/types/facade/bot/agent-loop.d.ts +20 -0
  120. package/dist/types/facade/bot/agent.d.ts +132 -0
  121. package/dist/types/facade/bot/error-handler.d.ts +7 -0
  122. package/dist/types/facade/bot/event-bus.d.ts +8 -0
  123. package/dist/types/facade/bot/index.d.ts +7 -0
  124. package/dist/types/facade/bot/messages.d.ts +83 -0
  125. package/dist/types/facade/bot/proxy.d.ts +70 -0
  126. package/dist/types/facade/bot/session-manager.d.ts +409 -0
  127. package/dist/types/facade/bot/state-manager.d.ts +21 -0
  128. package/dist/types/facade/bot/telemetry.d.ts +6 -0
  129. package/dist/types/facade/bot/types.d.ts +207 -0
  130. package/dist/types/facade/mcp-core/client-pool.d.ts +105 -0
  131. package/dist/types/facade/mcp-core/client.d.ts +157 -0
  132. package/dist/types/facade/mcp-core/config.d.ts +60 -0
  133. package/dist/types/facade/mcp-core/errors.d.ts +103 -0
  134. package/dist/types/facade/mcp-core/index.d.ts +55 -0
  135. package/dist/types/facade/mcp-core/schema-converter.d.ts +67 -0
  136. package/dist/types/facade/mcp-core/server.d.ts +110 -0
  137. package/dist/types/facade/mcp-core/tool-factory.d.ts +62 -0
  138. package/dist/types/facade/mcp-core/types.d.ts +288 -0
  139. package/dist/types/facade/mcp.d.ts +1 -0
  140. package/dist/types/facade/memory.d.ts +1 -0
  141. package/dist/types/facade/ml/adapters/amazon-bedrock.d.ts +32 -0
  142. package/dist/types/facade/ml/adapters/anthropic.d.ts +61 -0
  143. package/dist/types/facade/ml/adapters/azure-openai-responses.d.ts +14 -0
  144. package/dist/types/facade/ml/adapters/google-shared.d.ts +99 -0
  145. package/dist/types/facade/ml/adapters/google-vertex.d.ts +14 -0
  146. package/dist/types/facade/ml/adapters/google.d.ts +15 -0
  147. package/dist/types/facade/ml/adapters/kimi.d.ts +21 -0
  148. package/dist/types/facade/ml/adapters/mock.d.ts +9 -0
  149. package/dist/types/facade/ml/adapters/nvidia.d.ts +12 -0
  150. package/dist/types/facade/ml/adapters/openai-codex-responses.d.ts +8 -0
  151. package/dist/types/facade/ml/adapters/openai-completions.d.ts +24 -0
  152. package/dist/types/facade/ml/adapters/openai-responses-shared.d.ts +25 -0
  153. package/dist/types/facade/ml/adapters/openai-responses.d.ts +12 -0
  154. package/dist/types/facade/ml/adapters/openai-scaffold.d.ts +3 -0
  155. package/dist/types/facade/ml/adapters/register-builtins.d.ts +2 -0
  156. package/dist/types/facade/ml/adapters/simple-options.d.ts +26 -0
  157. package/dist/types/facade/ml/adapters/transform-messages.d.ts +23 -0
  158. package/dist/types/facade/ml/api-registry.d.ts +49 -0
  159. package/dist/types/facade/ml/cli.d.ts +2 -0
  160. package/dist/types/facade/ml/env-api-keys.d.ts +19 -0
  161. package/dist/types/facade/ml/index.d.ts +27 -0
  162. package/dist/types/facade/ml/kit/auth/anthropic.d.ts +17 -0
  163. package/dist/types/facade/ml/kit/auth/github-copilot.d.ts +22 -0
  164. package/dist/types/facade/ml/kit/auth/index.d.ts +50 -0
  165. package/dist/types/facade/ml/kit/auth/kimi.d.ts +23 -0
  166. package/dist/types/facade/ml/kit/auth/oauth-page.d.ts +2 -0
  167. package/dist/types/facade/ml/kit/auth/openai-codex.d.ts +36 -0
  168. package/dist/types/facade/ml/kit/auth/pkce.d.ts +12 -0
  169. package/dist/types/facade/ml/kit/auth/types.d.ts +67 -0
  170. package/dist/types/facade/ml/kit/base-stream-handler.d.ts +30 -0
  171. package/dist/types/facade/ml/kit/event-stream.d.ts +63 -0
  172. package/dist/types/facade/ml/kit/index.d.ts +14 -0
  173. package/dist/types/facade/ml/kit/json-parse.d.ts +23 -0
  174. package/dist/types/facade/ml/kit/message-transform.d.ts +32 -0
  175. package/dist/types/facade/ml/kit/output-factory.d.ts +8 -0
  176. package/dist/types/facade/ml/kit/overflow.d.ts +9 -0
  177. package/dist/types/facade/ml/kit/provider-adapter.d.ts +56 -0
  178. package/dist/types/facade/ml/kit/provider-client-builder.d.ts +36 -0
  179. package/dist/types/facade/ml/kit/provider-consolidation.d.ts +3 -0
  180. package/dist/types/facade/ml/kit/provider-constants.d.ts +34 -0
  181. package/dist/types/facade/ml/kit/provider-errors.d.ts +52 -0
  182. package/dist/types/facade/ml/kit/sanitize-unicode.d.ts +2 -0
  183. package/dist/types/facade/ml/kit/stream-event-helper.d.ts +38 -0
  184. package/dist/types/facade/ml/kit/stream-handler-types.d.ts +46 -0
  185. package/dist/types/facade/ml/kit/streaming-state-manager.d.ts +42 -0
  186. package/dist/types/facade/ml/kit/tool-converter.d.ts +49 -0
  187. package/dist/types/facade/ml/kit/typebox-helpers.d.ts +24 -0
  188. package/dist/types/facade/ml/kit/validation.d.ts +26 -0
  189. package/dist/types/facade/ml/models.d.ts +41 -0
  190. package/dist/types/facade/ml/models.generated.d.ts +12261 -0
  191. package/dist/types/facade/ml/stream.d.ts +27 -0
  192. package/dist/types/facade/ml/types.d.ts +269 -0
  193. package/dist/types/index.d.ts +16 -0
  194. package/dist/types/interop/index.d.ts +12 -0
  195. package/dist/types/interop/interop.test.d.ts +19 -0
  196. package/dist/types/interop/protocol-bridge/bridge.d.ts +52 -0
  197. package/dist/types/interop/protocol-bridge/contract.d.ts +249 -0
  198. package/dist/types/interop/protocol-bridge/endpoint.d.ts +124 -0
  199. package/dist/types/interop/protocol-bridge/fleet.d.ts +92 -0
  200. package/dist/types/interop/protocol-bridge/host.d.ts +61 -0
  201. package/dist/types/interop/protocol-bridge/index.d.ts +16 -0
  202. package/dist/types/interop/protocol-bridge/schema.d.ts +29 -0
  203. package/dist/types/llmgateway/catalog/cards.d.ts +18 -0
  204. package/dist/types/llmgateway/catalog/cost.d.ts +15 -0
  205. package/dist/types/llmgateway/catalog/index.d.ts +7 -0
  206. package/dist/types/llmgateway/catalog/query.d.ts +40 -0
  207. package/dist/types/llmgateway/connectors/anthropic.d.ts +35 -0
  208. package/dist/types/llmgateway/connectors/azure-openai.d.ts +33 -0
  209. package/dist/types/llmgateway/connectors/bedrock.d.ts +113 -0
  210. package/dist/types/llmgateway/connectors/google-vertex.d.ts +38 -0
  211. package/dist/types/llmgateway/connectors/google.d.ts +40 -0
  212. package/dist/types/llmgateway/connectors/index.d.ts +26 -0
  213. package/dist/types/llmgateway/connectors/kimi.d.ts +28 -0
  214. package/dist/types/llmgateway/connectors/mock.d.ts +37 -0
  215. package/dist/types/llmgateway/connectors/nvidia.d.ts +27 -0
  216. package/dist/types/llmgateway/connectors/ollama.d.ts +45 -0
  217. package/dist/types/llmgateway/connectors/openai-chat.d.ts +25 -0
  218. package/dist/types/llmgateway/connectors/openai-responses.d.ts +49 -0
  219. package/dist/types/llmgateway/contract/connector.d.ts +32 -0
  220. package/dist/types/llmgateway/contract/conversation.d.ts +86 -0
  221. package/dist/types/llmgateway/contract/emission.d.ts +55 -0
  222. package/dist/types/llmgateway/contract/errors.d.ts +27 -0
  223. package/dist/types/llmgateway/contract/index.d.ts +13 -0
  224. package/dist/types/llmgateway/contract/model-card.d.ts +42 -0
  225. package/dist/types/llmgateway/contract/options.d.ts +31 -0
  226. package/dist/types/llmgateway/contract/reply.d.ts +33 -0
  227. package/dist/types/llmgateway/conversion/index.d.ts +10 -0
  228. package/dist/types/llmgateway/conversion/mappers.d.ts +65 -0
  229. package/dist/types/llmgateway/conversion/openai-compatible.d.ts +46 -0
  230. package/dist/types/llmgateway/conversion/reduce.d.ts +20 -0
  231. package/dist/types/llmgateway/credentials/oauth.d.ts +73 -0
  232. package/dist/types/llmgateway/credentials/pkce.d.ts +52 -0
  233. package/dist/types/llmgateway/credentials/secrets.d.ts +74 -0
  234. package/dist/types/llmgateway/gateway.d.ts +34 -0
  235. package/dist/types/llmgateway/gateway.test.d.ts +14 -0
  236. package/dist/types/llmgateway/index.d.ts +11 -0
  237. package/dist/types/llmgateway/streaming/channel.d.ts +24 -0
  238. package/dist/types/llmgateway/streaming/index.d.ts +10 -0
  239. package/dist/types/llmgateway/streaming/ndjson.d.ts +17 -0
  240. package/dist/types/llmgateway/streaming/sse.d.ts +31 -0
  241. package/dist/types/react-host/index.d.ts +9 -0
  242. package/dist/types/react-host/ink.d.ts +5 -0
  243. package/dist/types/react-host/jsx-runtime.d.ts +4 -0
  244. package/dist/types/react-host/loader.d.ts +3 -0
  245. package/dist/types/react-ink/components/ChangelogBlock.d.ts +8 -0
  246. package/dist/types/react-ink/components/DisplayBlockView.d.ts +8 -0
  247. package/dist/types/react-ink/components/Footer.d.ts +11 -0
  248. package/dist/types/react-ink/components/MessageList.d.ts +14 -0
  249. package/dist/types/react-ink/components/MessageRow.d.ts +13 -0
  250. package/dist/types/react-ink/components/StatusLine.d.ts +9 -0
  251. package/dist/types/react-ink/components/TaskPanel.d.ts +11 -0
  252. package/dist/types/react-ink/components/ToolEventBlock.d.ts +24 -0
  253. package/dist/types/react-ink/components/dialogs/DialogFrame.d.ts +8 -0
  254. package/dist/types/react-ink/components/dialogs/LoginDialog.d.ts +14 -0
  255. package/dist/types/react-ink/components/dialogs/ModelDialog.d.ts +9 -0
  256. package/dist/types/react-ink/components/dialogs/OAuthDialog.d.ts +9 -0
  257. package/dist/types/react-ink/components/dialogs/ScopedModelsDialog.d.ts +9 -0
  258. package/dist/types/react-ink/components/dialogs/SelectableDialog.d.ts +22 -0
  259. package/dist/types/react-ink/components/dialogs/SessionDialog.d.ts +13 -0
  260. package/dist/types/react-ink/components/dialogs/SettingsDialog.d.ts +14 -0
  261. package/dist/types/react-ink/components/dialogs/StartupSessionPicker.d.ts +9 -0
  262. package/dist/types/react-ink/components/dialogs/ThemeDialog.d.ts +26 -0
  263. package/dist/types/react-ink/components/dialogs/TreeDialog.d.ts +8 -0
  264. package/dist/types/react-ink/components/dialogs/UserMessageDialog.d.ts +8 -0
  265. package/dist/types/react-ink/components/messages/AssistantMessage.d.ts +12 -0
  266. package/dist/types/react-ink/components/messages/BashMessage.d.ts +8 -0
  267. package/dist/types/react-ink/components/messages/BranchSummaryMessage.d.ts +8 -0
  268. package/dist/types/react-ink/components/messages/CompactionMessage.d.ts +8 -0
  269. package/dist/types/react-ink/components/messages/CustomMessage.d.ts +9 -0
  270. package/dist/types/react-ink/components/messages/SkillInvocationMessage.d.ts +7 -0
  271. package/dist/types/react-ink/components/messages/ToolCallMessage.d.ts +8 -0
  272. package/dist/types/react-ink/components/messages/ToolResultBlock.d.ts +12 -0
  273. package/dist/types/react-ink/components/messages/UserMessage.d.ts +9 -0
  274. package/dist/types/react-ink/diff/Diff.d.ts +22 -0
  275. package/dist/types/react-ink/diff/diff.test.d.ts +1 -0
  276. package/dist/types/react-ink/diff/structured.d.ts +41 -0
  277. package/dist/types/react-ink/diff/word-diff.d.ts +27 -0
  278. package/dist/types/react-ink/index.d.ts +42 -0
  279. package/dist/types/react-ink/markdown/Markdown.d.ts +23 -0
  280. package/dist/types/react-ink/markdown/MarkdownTable.d.ts +19 -0
  281. package/dist/types/react-ink/markdown/StreamingMarkdown.d.ts +34 -0
  282. package/dist/types/react-ink/markdown/format-token.d.ts +39 -0
  283. package/dist/types/react-ink/markdown/highlight.d.ts +31 -0
  284. package/dist/types/react-ink/theme-adapter.d.ts +66 -0
  285. package/dist/types/react-ink/types.d.ts +133 -0
  286. package/dist/types/react-ink/utils/message-groups.d.ts +25 -0
  287. package/dist/types/react-ink/utils/selection-dialog.d.ts +2 -0
  288. package/dist/types/react-ink/utils/session-browser.d.ts +27 -0
  289. package/dist/types/react-ink/utils/tool-display.d.ts +37 -0
  290. package/dist/types/runtime/cadence/cadence.test.d.ts +6 -0
  291. package/dist/types/runtime/cadence/fold.d.ts +48 -0
  292. package/dist/types/runtime/cadence/index.d.ts +12 -0
  293. package/dist/types/runtime/cadence/reducer.d.ts +44 -0
  294. package/dist/types/runtime/conductor/agent.d.ts +71 -0
  295. package/dist/types/runtime/conductor/index.d.ts +11 -0
  296. package/dist/types/runtime/contract/config.d.ts +44 -0
  297. package/dist/types/runtime/contract/effect.d.ts +41 -0
  298. package/dist/types/runtime/contract/errors.d.ts +22 -0
  299. package/dist/types/runtime/contract/events.d.ts +63 -0
  300. package/dist/types/runtime/contract/index.d.ts +18 -0
  301. package/dist/types/runtime/contract/run-state.d.ts +57 -0
  302. package/dist/types/runtime/contract/session.d.ts +42 -0
  303. package/dist/types/runtime/contract/signal.d.ts +49 -0
  304. package/dist/types/runtime/contract/tools.d.ts +45 -0
  305. package/dist/types/runtime/dispatch/index.d.ts +9 -0
  306. package/dist/types/runtime/dispatch/scheduler.d.ts +53 -0
  307. package/dist/types/runtime/index.d.ts +22 -0
  308. package/dist/types/runtime/ledger/accumulator.d.ts +44 -0
  309. package/dist/types/runtime/ledger/bus.d.ts +50 -0
  310. package/dist/types/runtime/ledger/index.d.ts +11 -0
  311. package/dist/types/runtime/memory/compactor.d.ts +56 -0
  312. package/dist/types/runtime/memory/estimate.d.ts +21 -0
  313. package/dist/types/runtime/memory/index.d.ts +8 -0
  314. package/dist/types/runtime/runtime.test.d.ts +15 -0
  315. package/dist/types/runtime/store/dag.d.ts +72 -0
  316. package/dist/types/runtime/store/hash.d.ts +18 -0
  317. package/dist/types/runtime/store/index.d.ts +12 -0
  318. package/dist/types/runtime/store/persist.d.ts +49 -0
  319. package/dist/types/runtime/turn/driver.d.ts +32 -0
  320. package/dist/types/runtime/turn/index.d.ts +8 -0
  321. package/dist/types/runtime/wire/index.d.ts +10 -0
  322. package/dist/types/runtime/wire/projectors.d.ts +53 -0
  323. package/dist/types/shell-app/auth-cli/index.d.ts +9 -0
  324. package/dist/types/shell-app/auth-cli/oauth-cli.d.ts +73 -0
  325. package/dist/types/shell-app/boot/context.d.ts +108 -0
  326. package/dist/types/shell-app/boot/index.d.ts +13 -0
  327. package/dist/types/shell-app/boot/pipeline.d.ts +66 -0
  328. package/dist/types/shell-app/boot/stages.d.ts +77 -0
  329. package/dist/types/shell-app/cli.d.ts +75 -0
  330. package/dist/types/shell-app/config/index.d.ts +11 -0
  331. package/dist/types/shell-app/config/locator.d.ts +85 -0
  332. package/dist/types/shell-app/config/settings.d.ts +91 -0
  333. package/dist/types/shell-app/index.d.ts +26 -0
  334. package/dist/types/shell-app/invocation/flags.d.ts +89 -0
  335. package/dist/types/shell-app/invocation/parse.d.ts +89 -0
  336. package/dist/types/shell-app/locate/brand.d.ts +71 -0
  337. package/dist/types/shell-app/locate/index.d.ts +12 -0
  338. package/dist/types/shell-app/locate/locator.d.ts +122 -0
  339. package/dist/types/shell-app/runners/contract.d.ts +116 -0
  340. package/dist/types/shell-app/runners/index.d.ts +15 -0
  341. package/dist/types/shell-app/runners/one-shot.d.ts +21 -0
  342. package/dist/types/shell-app/runners/registry.d.ts +34 -0
  343. package/dist/types/shell-app/runners/repl.d.ts +51 -0
  344. package/dist/types/shell-app/runners/wire.d.ts +34 -0
  345. package/dist/types/shell-app/shell-app.test.d.ts +14 -0
  346. package/dist/types/shell-app/upgrade/index.d.ts +9 -0
  347. package/dist/types/shell-app/upgrade/upgrades.d.ts +62 -0
  348. package/dist/types/smithy/config/flag-reader.d.ts +128 -0
  349. package/dist/types/smithy/config/index.d.ts +9 -0
  350. package/dist/types/smithy/forge.d.ts +135 -0
  351. package/dist/types/smithy/index.d.ts +36 -0
  352. package/dist/types/smithy/knowledge/index.d.ts +10 -0
  353. package/dist/types/smithy/knowledge/loader.d.ts +64 -0
  354. package/dist/types/smithy/persona/blueprint.d.ts +75 -0
  355. package/dist/types/smithy/persona/define-agent.d.ts +51 -0
  356. package/dist/types/smithy/persona/index.d.ts +14 -0
  357. package/dist/types/smithy/persona/profiles.d.ts +44 -0
  358. package/dist/types/smithy/runtime/index.d.ts +9 -0
  359. package/dist/types/smithy/runtime/tool-ledger.d.ts +130 -0
  360. package/dist/types/smithy/smithy.test.d.ts +20 -0
  361. package/dist/types/smithy/ui/index.d.ts +11 -0
  362. package/dist/types/smithy/ui/transcript.d.ts +183 -0
  363. package/dist/types/swarm/coordinator.d.ts +192 -0
  364. package/dist/types/swarm/index.d.ts +33 -0
  365. package/dist/types/swarm/isolation/index.d.ts +14 -0
  366. package/dist/types/swarm/isolation/runner.d.ts +61 -0
  367. package/dist/types/swarm/isolation/worktree.d.ts +142 -0
  368. package/dist/types/swarm/kernel/faults.d.ts +52 -0
  369. package/dist/types/swarm/kernel/ids.d.ts +25 -0
  370. package/dist/types/swarm/kernel/index.d.ts +26 -0
  371. package/dist/types/swarm/kernel/json-cell.d.ts +113 -0
  372. package/dist/types/swarm/kernel/jsonl-log.d.ts +81 -0
  373. package/dist/types/swarm/postbox/channel.d.ts +88 -0
  374. package/dist/types/swarm/postbox/codecs.d.ts +253 -0
  375. package/dist/types/swarm/postbox/index.d.ts +16 -0
  376. package/dist/types/swarm/roster/index.d.ts +16 -0
  377. package/dist/types/swarm/roster/manifest.d.ts +185 -0
  378. package/dist/types/swarm/swarm.test.d.ts +24 -0
  379. package/dist/types/swarm/telemetry/activity.d.ts +143 -0
  380. package/dist/types/swarm/workboard/board.d.ts +174 -0
  381. package/dist/types/swarm/workboard/dep-graph.d.ts +77 -0
  382. package/dist/types/swarm/workboard/index.d.ts +12 -0
  383. package/dist/types/tracing/adapter/index.d.ts +12 -0
  384. package/dist/types/tracing/adapter/runtime-trace.d.ts +54 -0
  385. package/dist/types/tracing/channel/index.d.ts +9 -0
  386. package/dist/types/tracing/channel/signal.d.ts +93 -0
  387. package/dist/types/tracing/index.d.ts +25 -0
  388. package/dist/types/tracing/recorder/index.d.ts +12 -0
  389. package/dist/types/tracing/recorder/recorder.d.ts +75 -0
  390. package/dist/types/tracing/recorder/sampling.d.ts +55 -0
  391. package/dist/types/tracing/redaction/index.d.ts +8 -0
  392. package/dist/types/tracing/redaction/secret-scrubber.d.ts +95 -0
  393. package/dist/types/tracing/registry/hub.d.ts +57 -0
  394. package/dist/types/tracing/registry/index.d.ts +7 -0
  395. package/dist/types/tracing/signal/handle.d.ts +73 -0
  396. package/dist/types/tracing/signal/index.d.ts +12 -0
  397. package/dist/types/tracing/signal/segment.d.ts +124 -0
  398. package/dist/types/tracing/sinks/base.d.ts +51 -0
  399. package/dist/types/tracing/sinks/console.d.ts +44 -0
  400. package/dist/types/tracing/sinks/file.d.ts +47 -0
  401. package/dist/types/tracing/sinks/index.d.ts +16 -0
  402. package/dist/types/tracing/sinks/stream.d.ts +46 -0
  403. package/dist/types/tracing/tracing.test.d.ts +7 -0
  404. package/dist/types/ui/autocomplete.d.ts +59 -0
  405. package/dist/types/ui/contracts.d.ts +38 -0
  406. package/dist/types/ui/editor-component.d.ts +100 -0
  407. package/dist/types/ui/fuzzy.d.ts +29 -0
  408. package/dist/types/ui/index.d.ts +8 -0
  409. package/dist/types/ui/keybindings.d.ts +62 -0
  410. package/dist/types/ui/keys.d.ts +171 -0
  411. package/dist/types/ui/theme-types.d.ts +36 -0
  412. package/dist/types/ui/utils.d.ts +101 -0
  413. package/dist/types/ui-bridge/InteractiveApp.d.ts +38 -0
  414. package/dist/types/ui-bridge/adapter.d.ts +90 -0
  415. package/dist/types/ui-bridge/index.d.ts +37 -0
  416. package/package.json +120 -107
  417. package/LICENSE +0 -8
  418. package/LICENSE-THIRD-PARTY.txt +0 -30
  419. package/local-dist-new/IndusForge/examples/research-agent.d.ts +0 -3
  420. package/local-dist-new/IndusForge/examples/research-agent.d.ts.map +0 -1
  421. package/local-dist-new/IndusForge/examples/research-agent.js +0 -18
  422. package/local-dist-new/IndusForge/examples/research-agent.js.map +0 -1
  423. package/local-dist-new/IndusForge/examples/review-agent.d.ts +0 -3
  424. package/local-dist-new/IndusForge/examples/review-agent.d.ts.map +0 -1
  425. package/local-dist-new/IndusForge/examples/review-agent.js +0 -18
  426. package/local-dist-new/IndusForge/examples/review-agent.js.map +0 -1
  427. package/local-dist-new/IndusForge/examples/terminal-builder-agent.d.ts +0 -3
  428. package/local-dist-new/IndusForge/examples/terminal-builder-agent.d.ts.map +0 -1
  429. package/local-dist-new/IndusForge/examples/terminal-builder-agent.js +0 -18
  430. package/local-dist-new/IndusForge/examples/terminal-builder-agent.js.map +0 -1
  431. package/local-dist-new/IndusForge/terminal-chat.d.ts +0 -2
  432. package/local-dist-new/IndusForge/terminal-chat.d.ts.map +0 -1
  433. package/local-dist-new/IndusForge/terminal-chat.js +0 -557
  434. package/local-dist-new/IndusForge/terminal-chat.js.map +0 -1
  435. package/local-dist-new/agent.d.ts +0 -6
  436. package/local-dist-new/agent.d.ts.map +0 -1
  437. package/local-dist-new/agent.js +0 -6
  438. package/local-dist-new/agent.js.map +0 -1
  439. package/local-dist-new/ai.d.ts +0 -6
  440. package/local-dist-new/ai.d.ts.map +0 -1
  441. package/local-dist-new/ai.js +0 -6
  442. package/local-dist-new/ai.js.map +0 -1
  443. package/local-dist-new/bot/actions/bash.d.ts +0 -56
  444. package/local-dist-new/bot/actions/bash.d.ts.map +0 -1
  445. package/local-dist-new/bot/actions/bash.js +0 -275
  446. package/local-dist-new/bot/actions/bash.js.map +0 -1
  447. package/local-dist-new/bot/actions/composio/accounts.d.ts +0 -23
  448. package/local-dist-new/bot/actions/composio/accounts.d.ts.map +0 -1
  449. package/local-dist-new/bot/actions/composio/accounts.js +0 -40
  450. package/local-dist-new/bot/actions/composio/accounts.js.map +0 -1
  451. package/local-dist-new/bot/actions/composio/client.d.ts +0 -40
  452. package/local-dist-new/bot/actions/composio/client.d.ts.map +0 -1
  453. package/local-dist-new/bot/actions/composio/client.js +0 -361
  454. package/local-dist-new/bot/actions/composio/client.js.map +0 -1
  455. package/local-dist-new/bot/actions/composio/connect.d.ts +0 -20
  456. package/local-dist-new/bot/actions/composio/connect.d.ts.map +0 -1
  457. package/local-dist-new/bot/actions/composio/connect.js +0 -41
  458. package/local-dist-new/bot/actions/composio/connect.js.map +0 -1
  459. package/local-dist-new/bot/actions/composio/enable.d.ts +0 -26
  460. package/local-dist-new/bot/actions/composio/enable.d.ts.map +0 -1
  461. package/local-dist-new/bot/actions/composio/enable.js +0 -66
  462. package/local-dist-new/bot/actions/composio/enable.js.map +0 -1
  463. package/local-dist-new/bot/actions/composio/execute.d.ts +0 -27
  464. package/local-dist-new/bot/actions/composio/execute.d.ts.map +0 -1
  465. package/local-dist-new/bot/actions/composio/execute.js +0 -46
  466. package/local-dist-new/bot/actions/composio/execute.js.map +0 -1
  467. package/local-dist-new/bot/actions/composio/helpers.d.ts +0 -17
  468. package/local-dist-new/bot/actions/composio/helpers.d.ts.map +0 -1
  469. package/local-dist-new/bot/actions/composio/helpers.js +0 -533
  470. package/local-dist-new/bot/actions/composio/helpers.js.map +0 -1
  471. package/local-dist-new/bot/actions/composio/index.d.ts +0 -10
  472. package/local-dist-new/bot/actions/composio/index.d.ts.map +0 -1
  473. package/local-dist-new/bot/actions/composio/index.js +0 -9
  474. package/local-dist-new/bot/actions/composio/index.js.map +0 -1
  475. package/local-dist-new/bot/actions/composio/provider.d.ts +0 -9
  476. package/local-dist-new/bot/actions/composio/provider.d.ts.map +0 -1
  477. package/local-dist-new/bot/actions/composio/provider.js +0 -54
  478. package/local-dist-new/bot/actions/composio/provider.js.map +0 -1
  479. package/local-dist-new/bot/actions/composio/toolkits.d.ts +0 -23
  480. package/local-dist-new/bot/actions/composio/toolkits.d.ts.map +0 -1
  481. package/local-dist-new/bot/actions/composio/toolkits.js +0 -40
  482. package/local-dist-new/bot/actions/composio/toolkits.js.map +0 -1
  483. package/local-dist-new/bot/actions/composio/tools.d.ts +0 -29
  484. package/local-dist-new/bot/actions/composio/tools.d.ts.map +0 -1
  485. package/local-dist-new/bot/actions/composio/tools.js +0 -72
  486. package/local-dist-new/bot/actions/composio/tools.js.map +0 -1
  487. package/local-dist-new/bot/actions/composio/types.d.ts +0 -138
  488. package/local-dist-new/bot/actions/composio/types.d.ts.map +0 -1
  489. package/local-dist-new/bot/actions/composio/types.js +0 -2
  490. package/local-dist-new/bot/actions/composio/types.js.map +0 -1
  491. package/local-dist-new/bot/actions/crew/activity-tracker.d.ts +0 -66
  492. package/local-dist-new/bot/actions/crew/activity-tracker.d.ts.map +0 -1
  493. package/local-dist-new/bot/actions/crew/activity-tracker.js +0 -480
  494. package/local-dist-new/bot/actions/crew/activity-tracker.js.map +0 -1
  495. package/local-dist-new/bot/actions/crew/cleanup.d.ts +0 -51
  496. package/local-dist-new/bot/actions/crew/cleanup.d.ts.map +0 -1
  497. package/local-dist-new/bot/actions/crew/cleanup.js +0 -219
  498. package/local-dist-new/bot/actions/crew/cleanup.js.map +0 -1
  499. package/local-dist-new/bot/actions/crew/fs-lock.d.ts +0 -12
  500. package/local-dist-new/bot/actions/crew/fs-lock.d.ts.map +0 -1
  501. package/local-dist-new/bot/actions/crew/fs-lock.js +0 -74
  502. package/local-dist-new/bot/actions/crew/fs-lock.js.map +0 -1
  503. package/local-dist-new/bot/actions/crew/index.d.ts +0 -12
  504. package/local-dist-new/bot/actions/crew/index.d.ts.map +0 -1
  505. package/local-dist-new/bot/actions/crew/index.js +0 -12
  506. package/local-dist-new/bot/actions/crew/index.js.map +0 -1
  507. package/local-dist-new/bot/actions/crew/mailbox.d.ts +0 -21
  508. package/local-dist-new/bot/actions/crew/mailbox.d.ts.map +0 -1
  509. package/local-dist-new/bot/actions/crew/mailbox.js +0 -106
  510. package/local-dist-new/bot/actions/crew/mailbox.js.map +0 -1
  511. package/local-dist-new/bot/actions/crew/model-policy.d.ts +0 -23
  512. package/local-dist-new/bot/actions/crew/model-policy.d.ts.map +0 -1
  513. package/local-dist-new/bot/actions/crew/model-policy.js +0 -113
  514. package/local-dist-new/bot/actions/crew/model-policy.js.map +0 -1
  515. package/local-dist-new/bot/actions/crew/names.d.ts +0 -28
  516. package/local-dist-new/bot/actions/crew/names.d.ts.map +0 -1
  517. package/local-dist-new/bot/actions/crew/names.js +0 -109
  518. package/local-dist-new/bot/actions/crew/names.js.map +0 -1
  519. package/local-dist-new/bot/actions/crew/protocol.d.ts +0 -75
  520. package/local-dist-new/bot/actions/crew/protocol.d.ts.map +0 -1
  521. package/local-dist-new/bot/actions/crew/protocol.js +0 -205
  522. package/local-dist-new/bot/actions/crew/protocol.js.map +0 -1
  523. package/local-dist-new/bot/actions/crew/task-store.d.ts +0 -89
  524. package/local-dist-new/bot/actions/crew/task-store.d.ts.map +0 -1
  525. package/local-dist-new/bot/actions/crew/task-store.js +0 -445
  526. package/local-dist-new/bot/actions/crew/task-store.js.map +0 -1
  527. package/local-dist-new/bot/actions/crew/team-attach-claim.d.ts +0 -36
  528. package/local-dist-new/bot/actions/crew/team-attach-claim.d.ts.map +0 -1
  529. package/local-dist-new/bot/actions/crew/team-attach-claim.js +0 -144
  530. package/local-dist-new/bot/actions/crew/team-attach-claim.js.map +0 -1
  531. package/local-dist-new/bot/actions/crew/team-config.d.ts +0 -55
  532. package/local-dist-new/bot/actions/crew/team-config.d.ts.map +0 -1
  533. package/local-dist-new/bot/actions/crew/team-config.js +0 -252
  534. package/local-dist-new/bot/actions/crew/team-config.js.map +0 -1
  535. package/local-dist-new/bot/actions/crew/worktree.d.ts +0 -40
  536. package/local-dist-new/bot/actions/crew/worktree.d.ts.map +0 -1
  537. package/local-dist-new/bot/actions/crew/worktree.js +0 -213
  538. package/local-dist-new/bot/actions/crew/worktree.js.map +0 -1
  539. package/local-dist-new/bot/actions/edit-diff.d.ts +0 -63
  540. package/local-dist-new/bot/actions/edit-diff.d.ts.map +0 -1
  541. package/local-dist-new/bot/actions/edit-diff.js +0 -255
  542. package/local-dist-new/bot/actions/edit-diff.js.map +0 -1
  543. package/local-dist-new/bot/actions/edit.d.ts +0 -42
  544. package/local-dist-new/bot/actions/edit.d.ts.map +0 -1
  545. package/local-dist-new/bot/actions/edit.js +0 -176
  546. package/local-dist-new/bot/actions/edit.js.map +0 -1
  547. package/local-dist-new/bot/actions/find.d.ts +0 -26
  548. package/local-dist-new/bot/actions/find.d.ts.map +0 -1
  549. package/local-dist-new/bot/actions/find.js +0 -170
  550. package/local-dist-new/bot/actions/find.js.map +0 -1
  551. package/local-dist-new/bot/actions/grep.d.ts +0 -43
  552. package/local-dist-new/bot/actions/grep.d.ts.map +0 -1
  553. package/local-dist-new/bot/actions/grep.js +0 -218
  554. package/local-dist-new/bot/actions/grep.js.map +0 -1
  555. package/local-dist-new/bot/actions/index.d.ts +0 -301
  556. package/local-dist-new/bot/actions/index.d.ts.map +0 -1
  557. package/local-dist-new/bot/actions/index.js +0 -255
  558. package/local-dist-new/bot/actions/index.js.map +0 -1
  559. package/local-dist-new/bot/actions/kit/hook-runner.d.ts +0 -13
  560. package/local-dist-new/bot/actions/kit/hook-runner.d.ts.map +0 -1
  561. package/local-dist-new/bot/actions/kit/hook-runner.js +0 -33
  562. package/local-dist-new/bot/actions/kit/hook-runner.js.map +0 -1
  563. package/local-dist-new/bot/actions/kit/image-resize.d.ts +0 -20
  564. package/local-dist-new/bot/actions/kit/image-resize.d.ts.map +0 -1
  565. package/local-dist-new/bot/actions/kit/image-resize.js +0 -93
  566. package/local-dist-new/bot/actions/kit/image-resize.js.map +0 -1
  567. package/local-dist-new/bot/actions/kit/mime.d.ts +0 -2
  568. package/local-dist-new/bot/actions/kit/mime.d.ts.map +0 -1
  569. package/local-dist-new/bot/actions/kit/mime.js +0 -65
  570. package/local-dist-new/bot/actions/kit/mime.js.map +0 -1
  571. package/local-dist-new/bot/actions/kit/shell.d.ts +0 -13
  572. package/local-dist-new/bot/actions/kit/shell.d.ts.map +0 -1
  573. package/local-dist-new/bot/actions/kit/shell.js +0 -103
  574. package/local-dist-new/bot/actions/kit/shell.js.map +0 -1
  575. package/local-dist-new/bot/actions/ls.d.ts +0 -41
  576. package/local-dist-new/bot/actions/ls.d.ts.map +0 -1
  577. package/local-dist-new/bot/actions/ls.js +0 -174
  578. package/local-dist-new/bot/actions/ls.js.map +0 -1
  579. package/local-dist-new/bot/actions/path-utils.d.ts +0 -8
  580. package/local-dist-new/bot/actions/path-utils.d.ts.map +0 -1
  581. package/local-dist-new/bot/actions/path-utils.js +0 -75
  582. package/local-dist-new/bot/actions/path-utils.js.map +0 -1
  583. package/local-dist-new/bot/actions/process-controller.d.ts +0 -15
  584. package/local-dist-new/bot/actions/process-controller.d.ts.map +0 -1
  585. package/local-dist-new/bot/actions/process-controller.js +0 -39
  586. package/local-dist-new/bot/actions/process-controller.js.map +0 -1
  587. package/local-dist-new/bot/actions/process-manager.d.ts +0 -60
  588. package/local-dist-new/bot/actions/process-manager.d.ts.map +0 -1
  589. package/local-dist-new/bot/actions/process-manager.js +0 -485
  590. package/local-dist-new/bot/actions/process-manager.js.map +0 -1
  591. package/local-dist-new/bot/actions/process-types.d.ts +0 -74
  592. package/local-dist-new/bot/actions/process-types.d.ts.map +0 -1
  593. package/local-dist-new/bot/actions/process-types.js +0 -7
  594. package/local-dist-new/bot/actions/process-types.js.map +0 -1
  595. package/local-dist-new/bot/actions/process.d.ts +0 -38
  596. package/local-dist-new/bot/actions/process.d.ts.map +0 -1
  597. package/local-dist-new/bot/actions/process.js +0 -360
  598. package/local-dist-new/bot/actions/process.js.map +0 -1
  599. package/local-dist-new/bot/actions/read.d.ts +0 -37
  600. package/local-dist-new/bot/actions/read.d.ts.map +0 -1
  601. package/local-dist-new/bot/actions/read.js +0 -190
  602. package/local-dist-new/bot/actions/read.js.map +0 -1
  603. package/local-dist-new/bot/actions/registry.d.ts +0 -21
  604. package/local-dist-new/bot/actions/registry.d.ts.map +0 -1
  605. package/local-dist-new/bot/actions/registry.js +0 -23
  606. package/local-dist-new/bot/actions/registry.js.map +0 -1
  607. package/local-dist-new/bot/actions/todo-store.d.ts +0 -77
  608. package/local-dist-new/bot/actions/todo-store.d.ts.map +0 -1
  609. package/local-dist-new/bot/actions/todo-store.js +0 -137
  610. package/local-dist-new/bot/actions/todo-store.js.map +0 -1
  611. package/local-dist-new/bot/actions/todo-types.d.ts +0 -73
  612. package/local-dist-new/bot/actions/todo-types.d.ts.map +0 -1
  613. package/local-dist-new/bot/actions/todo-types.js +0 -8
  614. package/local-dist-new/bot/actions/todo-types.js.map +0 -1
  615. package/local-dist-new/bot/actions/todo.d.ts +0 -77
  616. package/local-dist-new/bot/actions/todo.d.ts.map +0 -1
  617. package/local-dist-new/bot/actions/todo.js +0 -122
  618. package/local-dist-new/bot/actions/todo.js.map +0 -1
  619. package/local-dist-new/bot/actions/truncate.d.ts +0 -73
  620. package/local-dist-new/bot/actions/truncate.d.ts.map +0 -1
  621. package/local-dist-new/bot/actions/truncate.js +0 -221
  622. package/local-dist-new/bot/actions/truncate.js.map +0 -1
  623. package/local-dist-new/bot/actions/webfetch.d.ts +0 -36
  624. package/local-dist-new/bot/actions/webfetch.d.ts.map +0 -1
  625. package/local-dist-new/bot/actions/webfetch.js +0 -247
  626. package/local-dist-new/bot/actions/webfetch.js.map +0 -1
  627. package/local-dist-new/bot/actions/websearch.d.ts +0 -35
  628. package/local-dist-new/bot/actions/websearch.d.ts.map +0 -1
  629. package/local-dist-new/bot/actions/websearch.js +0 -132
  630. package/local-dist-new/bot/actions/websearch.js.map +0 -1
  631. package/local-dist-new/bot/actions/write.d.ts +0 -31
  632. package/local-dist-new/bot/actions/write.d.ts.map +0 -1
  633. package/local-dist-new/bot/actions/write.js +0 -139
  634. package/local-dist-new/bot/actions/write.js.map +0 -1
  635. package/local-dist-new/bot/agent-loop.d.ts +0 -15
  636. package/local-dist-new/bot/agent-loop.d.ts.map +0 -1
  637. package/local-dist-new/bot/agent-loop.js +0 -293
  638. package/local-dist-new/bot/agent-loop.js.map +0 -1
  639. package/local-dist-new/bot/agent.d.ts +0 -122
  640. package/local-dist-new/bot/agent.d.ts.map +0 -1
  641. package/local-dist-new/bot/agent.js +0 -393
  642. package/local-dist-new/bot/agent.js.map +0 -1
  643. package/local-dist-new/bot/error-handler.d.ts +0 -8
  644. package/local-dist-new/bot/error-handler.d.ts.map +0 -1
  645. package/local-dist-new/bot/error-handler.js +0 -8
  646. package/local-dist-new/bot/error-handler.js.map +0 -1
  647. package/local-dist-new/bot/event-bus.d.ts +0 -9
  648. package/local-dist-new/bot/event-bus.d.ts.map +0 -1
  649. package/local-dist-new/bot/event-bus.js +0 -15
  650. package/local-dist-new/bot/event-bus.js.map +0 -1
  651. package/local-dist-new/bot/index.d.ts +0 -8
  652. package/local-dist-new/bot/index.d.ts.map +0 -1
  653. package/local-dist-new/bot/index.js +0 -8
  654. package/local-dist-new/bot/index.js.map +0 -1
  655. package/local-dist-new/bot/messages.d.ts +0 -77
  656. package/local-dist-new/bot/messages.d.ts.map +0 -1
  657. package/local-dist-new/bot/messages.js +0 -116
  658. package/local-dist-new/bot/messages.js.map +0 -1
  659. package/local-dist-new/bot/proxy.d.ts +0 -66
  660. package/local-dist-new/bot/proxy.d.ts.map +0 -1
  661. package/local-dist-new/bot/proxy.js +0 -228
  662. package/local-dist-new/bot/proxy.js.map +0 -1
  663. package/local-dist-new/bot/session-manager.d.ts +0 -448
  664. package/local-dist-new/bot/session-manager.d.ts.map +0 -1
  665. package/local-dist-new/bot/session-manager.js +0 -1232
  666. package/local-dist-new/bot/session-manager.js.map +0 -1
  667. package/local-dist-new/bot/state-manager.d.ts +0 -22
  668. package/local-dist-new/bot/state-manager.d.ts.map +0 -1
  669. package/local-dist-new/bot/state-manager.js +0 -60
  670. package/local-dist-new/bot/state-manager.js.map +0 -1
  671. package/local-dist-new/bot/telemetry.d.ts +0 -7
  672. package/local-dist-new/bot/telemetry.d.ts.map +0 -1
  673. package/local-dist-new/bot/telemetry.js +0 -18
  674. package/local-dist-new/bot/telemetry.js.map +0 -1
  675. package/local-dist-new/bot/types.d.ts +0 -205
  676. package/local-dist-new/bot/types.d.ts.map +0 -1
  677. package/local-dist-new/bot/types.js +0 -60
  678. package/local-dist-new/bot/types.js.map +0 -1
  679. package/local-dist-new/cli.d.ts +0 -3
  680. package/local-dist-new/cli.d.ts.map +0 -1
  681. package/local-dist-new/cli.js +0 -3
  682. package/local-dist-new/cli.js.map +0 -1
  683. package/local-dist-new/index.d.ts +0 -7
  684. package/local-dist-new/index.d.ts.map +0 -1
  685. package/local-dist-new/index.js +0 -7
  686. package/local-dist-new/index.js.map +0 -1
  687. package/local-dist-new/mcp/client-pool.d.ts +0 -106
  688. package/local-dist-new/mcp/client-pool.d.ts.map +0 -1
  689. package/local-dist-new/mcp/client-pool.js +0 -234
  690. package/local-dist-new/mcp/client-pool.js.map +0 -1
  691. package/local-dist-new/mcp/client.d.ts +0 -158
  692. package/local-dist-new/mcp/client.d.ts.map +0 -1
  693. package/local-dist-new/mcp/client.js +0 -611
  694. package/local-dist-new/mcp/client.js.map +0 -1
  695. package/local-dist-new/mcp/config.d.ts +0 -61
  696. package/local-dist-new/mcp/config.d.ts.map +0 -1
  697. package/local-dist-new/mcp/config.js +0 -250
  698. package/local-dist-new/mcp/config.js.map +0 -1
  699. package/local-dist-new/mcp/errors.d.ts +0 -104
  700. package/local-dist-new/mcp/errors.d.ts.map +0 -1
  701. package/local-dist-new/mcp/errors.js +0 -146
  702. package/local-dist-new/mcp/errors.js.map +0 -1
  703. package/local-dist-new/mcp/index.d.ts +0 -56
  704. package/local-dist-new/mcp/index.d.ts.map +0 -1
  705. package/local-dist-new/mcp/index.js +0 -83
  706. package/local-dist-new/mcp/index.js.map +0 -1
  707. package/local-dist-new/mcp/schema-converter.d.ts +0 -68
  708. package/local-dist-new/mcp/schema-converter.d.ts.map +0 -1
  709. package/local-dist-new/mcp/schema-converter.js +0 -230
  710. package/local-dist-new/mcp/schema-converter.js.map +0 -1
  711. package/local-dist-new/mcp/server.d.ts +0 -111
  712. package/local-dist-new/mcp/server.d.ts.map +0 -1
  713. package/local-dist-new/mcp/server.js +0 -305
  714. package/local-dist-new/mcp/server.js.map +0 -1
  715. package/local-dist-new/mcp/tool-factory.d.ts +0 -63
  716. package/local-dist-new/mcp/tool-factory.d.ts.map +0 -1
  717. package/local-dist-new/mcp/tool-factory.js +0 -228
  718. package/local-dist-new/mcp/tool-factory.js.map +0 -1
  719. package/local-dist-new/mcp/types.d.ts +0 -289
  720. package/local-dist-new/mcp/types.d.ts.map +0 -1
  721. package/local-dist-new/mcp/types.js +0 -8
  722. package/local-dist-new/mcp/types.js.map +0 -1
  723. package/local-dist-new/mcp.d.ts +0 -2
  724. package/local-dist-new/mcp.d.ts.map +0 -1
  725. package/local-dist-new/mcp.js +0 -2
  726. package/local-dist-new/mcp.js.map +0 -1
  727. package/local-dist-new/ml/adapters/amazon-bedrock.d.ts +0 -33
  728. package/local-dist-new/ml/adapters/amazon-bedrock.d.ts.map +0 -1
  729. package/local-dist-new/ml/adapters/amazon-bedrock.js +0 -610
  730. package/local-dist-new/ml/adapters/amazon-bedrock.js.map +0 -1
  731. package/local-dist-new/ml/adapters/anthropic.d.ts +0 -62
  732. package/local-dist-new/ml/adapters/anthropic.d.ts.map +0 -1
  733. package/local-dist-new/ml/adapters/anthropic.js +0 -682
  734. package/local-dist-new/ml/adapters/anthropic.js.map +0 -1
  735. package/local-dist-new/ml/adapters/azure-openai-responses.d.ts +0 -15
  736. package/local-dist-new/ml/adapters/azure-openai-responses.d.ts.map +0 -1
  737. package/local-dist-new/ml/adapters/azure-openai-responses.js +0 -233
  738. package/local-dist-new/ml/adapters/azure-openai-responses.js.map +0 -1
  739. package/local-dist-new/ml/adapters/google-shared.d.ts +0 -60
  740. package/local-dist-new/ml/adapters/google-shared.d.ts.map +0 -1
  741. package/local-dist-new/ml/adapters/google-shared.js +0 -316
  742. package/local-dist-new/ml/adapters/google-shared.js.map +0 -1
  743. package/local-dist-new/ml/adapters/google-vertex.d.ts +0 -15
  744. package/local-dist-new/ml/adapters/google-vertex.d.ts.map +0 -1
  745. package/local-dist-new/ml/adapters/google-vertex.js +0 -396
  746. package/local-dist-new/ml/adapters/google-vertex.js.map +0 -1
  747. package/local-dist-new/ml/adapters/google.d.ts +0 -16
  748. package/local-dist-new/ml/adapters/google.d.ts.map +0 -1
  749. package/local-dist-new/ml/adapters/google.js +0 -381
  750. package/local-dist-new/ml/adapters/google.js.map +0 -1
  751. package/local-dist-new/ml/adapters/kimi.d.ts +0 -22
  752. package/local-dist-new/ml/adapters/kimi.d.ts.map +0 -1
  753. package/local-dist-new/ml/adapters/kimi.js +0 -249
  754. package/local-dist-new/ml/adapters/kimi.js.map +0 -1
  755. package/local-dist-new/ml/adapters/mock.d.ts +0 -10
  756. package/local-dist-new/ml/adapters/mock.d.ts.map +0 -1
  757. package/local-dist-new/ml/adapters/mock.js +0 -64
  758. package/local-dist-new/ml/adapters/mock.js.map +0 -1
  759. package/local-dist-new/ml/adapters/nvidia.d.ts +0 -14
  760. package/local-dist-new/ml/adapters/nvidia.d.ts.map +0 -1
  761. package/local-dist-new/ml/adapters/nvidia.js +0 -377
  762. package/local-dist-new/ml/adapters/nvidia.js.map +0 -1
  763. package/local-dist-new/ml/adapters/openai-codex-responses.d.ts +0 -9
  764. package/local-dist-new/ml/adapters/openai-codex-responses.d.ts.map +0 -1
  765. package/local-dist-new/ml/adapters/openai-codex-responses.js +0 -397
  766. package/local-dist-new/ml/adapters/openai-codex-responses.js.map +0 -1
  767. package/local-dist-new/ml/adapters/openai-completions.d.ts +0 -25
  768. package/local-dist-new/ml/adapters/openai-completions.d.ts.map +0 -1
  769. package/local-dist-new/ml/adapters/openai-completions.js +0 -831
  770. package/local-dist-new/ml/adapters/openai-completions.js.map +0 -1
  771. package/local-dist-new/ml/adapters/openai-responses-shared.d.ts +0 -26
  772. package/local-dist-new/ml/adapters/openai-responses-shared.d.ts.map +0 -1
  773. package/local-dist-new/ml/adapters/openai-responses-shared.js +0 -461
  774. package/local-dist-new/ml/adapters/openai-responses-shared.js.map +0 -1
  775. package/local-dist-new/ml/adapters/openai-responses.d.ts +0 -13
  776. package/local-dist-new/ml/adapters/openai-responses.d.ts.map +0 -1
  777. package/local-dist-new/ml/adapters/openai-responses.js +0 -209
  778. package/local-dist-new/ml/adapters/openai-responses.js.map +0 -1
  779. package/local-dist-new/ml/adapters/openai-scaffold.d.ts +0 -4
  780. package/local-dist-new/ml/adapters/openai-scaffold.d.ts.map +0 -1
  781. package/local-dist-new/ml/adapters/openai-scaffold.js +0 -33
  782. package/local-dist-new/ml/adapters/openai-scaffold.js.map +0 -1
  783. package/local-dist-new/ml/adapters/register-builtins.d.ts +0 -3
  784. package/local-dist-new/ml/adapters/register-builtins.d.ts.map +0 -1
  785. package/local-dist-new/ml/adapters/register-builtins.js +0 -143
  786. package/local-dist-new/ml/adapters/register-builtins.js.map +0 -1
  787. package/local-dist-new/ml/adapters/simple-options.d.ts +0 -27
  788. package/local-dist-new/ml/adapters/simple-options.d.ts.map +0 -1
  789. package/local-dist-new/ml/adapters/simple-options.js +0 -96
  790. package/local-dist-new/ml/adapters/simple-options.js.map +0 -1
  791. package/local-dist-new/ml/adapters/transform-messages.d.ts +0 -22
  792. package/local-dist-new/ml/adapters/transform-messages.d.ts.map +0 -1
  793. package/local-dist-new/ml/adapters/transform-messages.js +0 -147
  794. package/local-dist-new/ml/adapters/transform-messages.js.map +0 -1
  795. package/local-dist-new/ml/api-registry.d.ts +0 -50
  796. package/local-dist-new/ml/api-registry.d.ts.map +0 -1
  797. package/local-dist-new/ml/api-registry.js +0 -121
  798. package/local-dist-new/ml/api-registry.js.map +0 -1
  799. package/local-dist-new/ml/cli.d.ts +0 -3
  800. package/local-dist-new/ml/cli.d.ts.map +0 -1
  801. package/local-dist-new/ml/cli.js +0 -117
  802. package/local-dist-new/ml/cli.js.map +0 -1
  803. package/local-dist-new/ml/env-api-keys.d.ts +0 -18
  804. package/local-dist-new/ml/env-api-keys.d.ts.map +0 -1
  805. package/local-dist-new/ml/env-api-keys.js +0 -122
  806. package/local-dist-new/ml/env-api-keys.js.map +0 -1
  807. package/local-dist-new/ml/index.d.ts +0 -28
  808. package/local-dist-new/ml/index.d.ts.map +0 -1
  809. package/local-dist-new/ml/index.js +0 -28
  810. package/local-dist-new/ml/index.js.map +0 -1
  811. package/local-dist-new/ml/kit/auth/anthropic.d.ts +0 -18
  812. package/local-dist-new/ml/kit/auth/anthropic.d.ts.map +0 -1
  813. package/local-dist-new/ml/kit/auth/anthropic.js +0 -152
  814. package/local-dist-new/ml/kit/auth/anthropic.js.map +0 -1
  815. package/local-dist-new/ml/kit/auth/github-copilot.d.ts +0 -23
  816. package/local-dist-new/ml/kit/auth/github-copilot.d.ts.map +0 -1
  817. package/local-dist-new/ml/kit/auth/github-copilot.js +0 -275
  818. package/local-dist-new/ml/kit/auth/github-copilot.js.map +0 -1
  819. package/local-dist-new/ml/kit/auth/index.d.ts +0 -50
  820. package/local-dist-new/ml/kit/auth/index.d.ts.map +0 -1
  821. package/local-dist-new/ml/kit/auth/index.js +0 -112
  822. package/local-dist-new/ml/kit/auth/index.js.map +0 -1
  823. package/local-dist-new/ml/kit/auth/kimi.d.ts +0 -24
  824. package/local-dist-new/ml/kit/auth/kimi.d.ts.map +0 -1
  825. package/local-dist-new/ml/kit/auth/kimi.js +0 -30
  826. package/local-dist-new/ml/kit/auth/kimi.js.map +0 -1
  827. package/local-dist-new/ml/kit/auth/oauth-page.d.ts +0 -3
  828. package/local-dist-new/ml/kit/auth/oauth-page.d.ts.map +0 -1
  829. package/local-dist-new/ml/kit/auth/oauth-page.js +0 -105
  830. package/local-dist-new/ml/kit/auth/oauth-page.js.map +0 -1
  831. package/local-dist-new/ml/kit/auth/openai-codex.d.ts +0 -34
  832. package/local-dist-new/ml/kit/auth/openai-codex.d.ts.map +0 -1
  833. package/local-dist-new/ml/kit/auth/openai-codex.js +0 -373
  834. package/local-dist-new/ml/kit/auth/openai-codex.js.map +0 -1
  835. package/local-dist-new/ml/kit/auth/pkce.d.ts +0 -13
  836. package/local-dist-new/ml/kit/auth/pkce.d.ts.map +0 -1
  837. package/local-dist-new/ml/kit/auth/pkce.js +0 -31
  838. package/local-dist-new/ml/kit/auth/pkce.js.map +0 -1
  839. package/local-dist-new/ml/kit/auth/types.d.ts +0 -72
  840. package/local-dist-new/ml/kit/auth/types.d.ts.map +0 -1
  841. package/local-dist-new/ml/kit/auth/types.js +0 -11
  842. package/local-dist-new/ml/kit/auth/types.js.map +0 -1
  843. package/local-dist-new/ml/kit/base-stream-handler.d.ts +0 -16
  844. package/local-dist-new/ml/kit/base-stream-handler.d.ts.map +0 -1
  845. package/local-dist-new/ml/kit/base-stream-handler.js +0 -25
  846. package/local-dist-new/ml/kit/base-stream-handler.js.map +0 -1
  847. package/local-dist-new/ml/kit/event-stream.d.ts +0 -45
  848. package/local-dist-new/ml/kit/event-stream.d.ts.map +0 -1
  849. package/local-dist-new/ml/kit/event-stream.js +0 -178
  850. package/local-dist-new/ml/kit/event-stream.js.map +0 -1
  851. package/local-dist-new/ml/kit/index.d.ts +0 -15
  852. package/local-dist-new/ml/kit/index.d.ts.map +0 -1
  853. package/local-dist-new/ml/kit/index.js +0 -15
  854. package/local-dist-new/ml/kit/index.js.map +0 -1
  855. package/local-dist-new/ml/kit/json-parse.d.ts +0 -21
  856. package/local-dist-new/ml/kit/json-parse.d.ts.map +0 -1
  857. package/local-dist-new/ml/kit/json-parse.js +0 -44
  858. package/local-dist-new/ml/kit/json-parse.js.map +0 -1
  859. package/local-dist-new/ml/kit/message-transform.d.ts +0 -29
  860. package/local-dist-new/ml/kit/message-transform.d.ts.map +0 -1
  861. package/local-dist-new/ml/kit/message-transform.js +0 -55
  862. package/local-dist-new/ml/kit/message-transform.js.map +0 -1
  863. package/local-dist-new/ml/kit/output-factory.d.ts +0 -3
  864. package/local-dist-new/ml/kit/output-factory.d.ts.map +0 -1
  865. package/local-dist-new/ml/kit/output-factory.js +0 -23
  866. package/local-dist-new/ml/kit/output-factory.js.map +0 -1
  867. package/local-dist-new/ml/kit/overflow.d.ts +0 -10
  868. package/local-dist-new/ml/kit/overflow.d.ts.map +0 -1
  869. package/local-dist-new/ml/kit/overflow.js +0 -76
  870. package/local-dist-new/ml/kit/overflow.js.map +0 -1
  871. package/local-dist-new/ml/kit/provider-adapter.d.ts +0 -57
  872. package/local-dist-new/ml/kit/provider-adapter.d.ts.map +0 -1
  873. package/local-dist-new/ml/kit/provider-adapter.js +0 -37
  874. package/local-dist-new/ml/kit/provider-adapter.js.map +0 -1
  875. package/local-dist-new/ml/kit/provider-client-builder.d.ts +0 -37
  876. package/local-dist-new/ml/kit/provider-client-builder.d.ts.map +0 -1
  877. package/local-dist-new/ml/kit/provider-client-builder.js +0 -50
  878. package/local-dist-new/ml/kit/provider-client-builder.js.map +0 -1
  879. package/local-dist-new/ml/kit/provider-consolidation.d.ts +0 -4
  880. package/local-dist-new/ml/kit/provider-consolidation.d.ts.map +0 -1
  881. package/local-dist-new/ml/kit/provider-consolidation.js +0 -33
  882. package/local-dist-new/ml/kit/provider-consolidation.js.map +0 -1
  883. package/local-dist-new/ml/kit/provider-constants.d.ts +0 -35
  884. package/local-dist-new/ml/kit/provider-constants.d.ts.map +0 -1
  885. package/local-dist-new/ml/kit/provider-constants.js +0 -35
  886. package/local-dist-new/ml/kit/provider-constants.js.map +0 -1
  887. package/local-dist-new/ml/kit/provider-errors.d.ts +0 -46
  888. package/local-dist-new/ml/kit/provider-errors.d.ts.map +0 -1
  889. package/local-dist-new/ml/kit/provider-errors.js +0 -103
  890. package/local-dist-new/ml/kit/provider-errors.js.map +0 -1
  891. package/local-dist-new/ml/kit/sanitize-unicode.d.ts +0 -3
  892. package/local-dist-new/ml/kit/sanitize-unicode.d.ts.map +0 -1
  893. package/local-dist-new/ml/kit/sanitize-unicode.js +0 -60
  894. package/local-dist-new/ml/kit/sanitize-unicode.js.map +0 -1
  895. package/local-dist-new/ml/kit/stream-event-helper.d.ts +0 -28
  896. package/local-dist-new/ml/kit/stream-event-helper.d.ts.map +0 -1
  897. package/local-dist-new/ml/kit/stream-event-helper.js +0 -52
  898. package/local-dist-new/ml/kit/stream-event-helper.js.map +0 -1
  899. package/local-dist-new/ml/kit/stream-handler-types.d.ts +0 -43
  900. package/local-dist-new/ml/kit/stream-handler-types.d.ts.map +0 -1
  901. package/local-dist-new/ml/kit/stream-handler-types.js +0 -23
  902. package/local-dist-new/ml/kit/stream-handler-types.js.map +0 -1
  903. package/local-dist-new/ml/kit/streaming-state-manager.d.ts +0 -50
  904. package/local-dist-new/ml/kit/streaming-state-manager.d.ts.map +0 -1
  905. package/local-dist-new/ml/kit/streaming-state-manager.js +0 -67
  906. package/local-dist-new/ml/kit/streaming-state-manager.js.map +0 -1
  907. package/local-dist-new/ml/kit/tool-converter.d.ts +0 -50
  908. package/local-dist-new/ml/kit/tool-converter.d.ts.map +0 -1
  909. package/local-dist-new/ml/kit/tool-converter.js +0 -54
  910. package/local-dist-new/ml/kit/tool-converter.js.map +0 -1
  911. package/local-dist-new/ml/kit/typebox-helpers.d.ts +0 -24
  912. package/local-dist-new/ml/kit/typebox-helpers.d.ts.map +0 -1
  913. package/local-dist-new/ml/kit/typebox-helpers.js +0 -46
  914. package/local-dist-new/ml/kit/typebox-helpers.js.map +0 -1
  915. package/local-dist-new/ml/kit/validation.d.ts +0 -24
  916. package/local-dist-new/ml/kit/validation.d.ts.map +0 -1
  917. package/local-dist-new/ml/kit/validation.js +0 -119
  918. package/local-dist-new/ml/kit/validation.js.map +0 -1
  919. package/local-dist-new/ml/models.d.ts +0 -41
  920. package/local-dist-new/ml/models.d.ts.map +0 -1
  921. package/local-dist-new/ml/models.generated.d.ts +0 -12245
  922. package/local-dist-new/ml/models.generated.d.ts.map +0 -1
  923. package/local-dist-new/ml/models.generated.js +0 -12080
  924. package/local-dist-new/ml/models.generated.js.map +0 -1
  925. package/local-dist-new/ml/models.js +0 -126
  926. package/local-dist-new/ml/models.js.map +0 -1
  927. package/local-dist-new/ml/stream.d.ts +0 -12
  928. package/local-dist-new/ml/stream.d.ts.map +0 -1
  929. package/local-dist-new/ml/stream.js +0 -54
  930. package/local-dist-new/ml/stream.js.map +0 -1
  931. package/local-dist-new/ml/types.d.ts +0 -270
  932. package/local-dist-new/ml/types.d.ts.map +0 -1
  933. package/local-dist-new/ml/types.js +0 -169
  934. package/local-dist-new/ml/types.js.map +0 -1
  935. package/local-dist-new/observability.d.ts +0 -2
  936. package/local-dist-new/observability.d.ts.map +0 -1
  937. package/local-dist-new/observability.js +0 -2
  938. package/local-dist-new/observability.js.map +0 -1
  939. package/local-dist-new/react-host/index.d.ts +0 -10
  940. package/local-dist-new/react-host/index.d.ts.map +0 -1
  941. package/local-dist-new/react-host/index.js +0 -9
  942. package/local-dist-new/react-host/index.js.map +0 -1
  943. package/local-dist-new/react-host/ink.d.ts +0 -6
  944. package/local-dist-new/react-host/ink.d.ts.map +0 -1
  945. package/local-dist-new/react-host/ink.js +0 -7
  946. package/local-dist-new/react-host/ink.js.map +0 -1
  947. package/local-dist-new/react-host/jsx-runtime.d.ts +0 -5
  948. package/local-dist-new/react-host/jsx-runtime.d.ts.map +0 -1
  949. package/local-dist-new/react-host/jsx-runtime.js +0 -6
  950. package/local-dist-new/react-host/jsx-runtime.js.map +0 -1
  951. package/local-dist-new/react-host/loader.d.ts +0 -4
  952. package/local-dist-new/react-host/loader.d.ts.map +0 -1
  953. package/local-dist-new/react-host/loader.js +0 -108
  954. package/local-dist-new/react-host/loader.js.map +0 -1
  955. package/local-dist-new/react-ink/components/ChangelogBlock.d.ts +0 -9
  956. package/local-dist-new/react-ink/components/ChangelogBlock.d.ts.map +0 -1
  957. package/local-dist-new/react-ink/components/ChangelogBlock.js +0 -58
  958. package/local-dist-new/react-ink/components/ChangelogBlock.js.map +0 -1
  959. package/local-dist-new/react-ink/components/DisplayBlockView.d.ts +0 -9
  960. package/local-dist-new/react-ink/components/DisplayBlockView.d.ts.map +0 -1
  961. package/local-dist-new/react-ink/components/DisplayBlockView.js +0 -11
  962. package/local-dist-new/react-ink/components/DisplayBlockView.js.map +0 -1
  963. package/local-dist-new/react-ink/components/Footer.d.ts +0 -12
  964. package/local-dist-new/react-ink/components/Footer.d.ts.map +0 -1
  965. package/local-dist-new/react-ink/components/Footer.js +0 -113
  966. package/local-dist-new/react-ink/components/Footer.js.map +0 -1
  967. package/local-dist-new/react-ink/components/MessageList.d.ts +0 -15
  968. package/local-dist-new/react-ink/components/MessageList.d.ts.map +0 -1
  969. package/local-dist-new/react-ink/components/MessageList.js +0 -43
  970. package/local-dist-new/react-ink/components/MessageList.js.map +0 -1
  971. package/local-dist-new/react-ink/components/MessageRow.d.ts +0 -14
  972. package/local-dist-new/react-ink/components/MessageRow.d.ts.map +0 -1
  973. package/local-dist-new/react-ink/components/MessageRow.js +0 -35
  974. package/local-dist-new/react-ink/components/MessageRow.js.map +0 -1
  975. package/local-dist-new/react-ink/components/StatusLine.d.ts +0 -10
  976. package/local-dist-new/react-ink/components/StatusLine.d.ts.map +0 -1
  977. package/local-dist-new/react-ink/components/StatusLine.js +0 -39
  978. package/local-dist-new/react-ink/components/StatusLine.js.map +0 -1
  979. package/local-dist-new/react-ink/components/TaskPanel.d.ts +0 -12
  980. package/local-dist-new/react-ink/components/TaskPanel.d.ts.map +0 -1
  981. package/local-dist-new/react-ink/components/TaskPanel.js +0 -23
  982. package/local-dist-new/react-ink/components/TaskPanel.js.map +0 -1
  983. package/local-dist-new/react-ink/components/ToolEventBlock.d.ts +0 -18
  984. package/local-dist-new/react-ink/components/ToolEventBlock.d.ts.map +0 -1
  985. package/local-dist-new/react-ink/components/ToolEventBlock.js +0 -61
  986. package/local-dist-new/react-ink/components/ToolEventBlock.js.map +0 -1
  987. package/local-dist-new/react-ink/components/dialogs/DialogFrame.d.ts +0 -9
  988. package/local-dist-new/react-ink/components/dialogs/DialogFrame.d.ts.map +0 -1
  989. package/local-dist-new/react-ink/components/dialogs/DialogFrame.js +0 -6
  990. package/local-dist-new/react-ink/components/dialogs/DialogFrame.js.map +0 -1
  991. package/local-dist-new/react-ink/components/dialogs/LoginDialog.d.ts +0 -15
  992. package/local-dist-new/react-ink/components/dialogs/LoginDialog.d.ts.map +0 -1
  993. package/local-dist-new/react-ink/components/dialogs/LoginDialog.js +0 -10
  994. package/local-dist-new/react-ink/components/dialogs/LoginDialog.js.map +0 -1
  995. package/local-dist-new/react-ink/components/dialogs/ModelDialog.d.ts +0 -10
  996. package/local-dist-new/react-ink/components/dialogs/ModelDialog.d.ts.map +0 -1
  997. package/local-dist-new/react-ink/components/dialogs/ModelDialog.js +0 -64
  998. package/local-dist-new/react-ink/components/dialogs/ModelDialog.js.map +0 -1
  999. package/local-dist-new/react-ink/components/dialogs/OAuthDialog.d.ts +0 -10
  1000. package/local-dist-new/react-ink/components/dialogs/OAuthDialog.d.ts.map +0 -1
  1001. package/local-dist-new/react-ink/components/dialogs/OAuthDialog.js +0 -24
  1002. package/local-dist-new/react-ink/components/dialogs/OAuthDialog.js.map +0 -1
  1003. package/local-dist-new/react-ink/components/dialogs/ScopedModelsDialog.d.ts +0 -10
  1004. package/local-dist-new/react-ink/components/dialogs/ScopedModelsDialog.d.ts.map +0 -1
  1005. package/local-dist-new/react-ink/components/dialogs/ScopedModelsDialog.js +0 -95
  1006. package/local-dist-new/react-ink/components/dialogs/ScopedModelsDialog.js.map +0 -1
  1007. package/local-dist-new/react-ink/components/dialogs/SelectableDialog.d.ts +0 -17
  1008. package/local-dist-new/react-ink/components/dialogs/SelectableDialog.d.ts.map +0 -1
  1009. package/local-dist-new/react-ink/components/dialogs/SelectableDialog.js +0 -66
  1010. package/local-dist-new/react-ink/components/dialogs/SelectableDialog.js.map +0 -1
  1011. package/local-dist-new/react-ink/components/dialogs/SessionDialog.d.ts +0 -14
  1012. package/local-dist-new/react-ink/components/dialogs/SessionDialog.d.ts.map +0 -1
  1013. package/local-dist-new/react-ink/components/dialogs/SessionDialog.js +0 -201
  1014. package/local-dist-new/react-ink/components/dialogs/SessionDialog.js.map +0 -1
  1015. package/local-dist-new/react-ink/components/dialogs/SettingsDialog.d.ts +0 -15
  1016. package/local-dist-new/react-ink/components/dialogs/SettingsDialog.d.ts.map +0 -1
  1017. package/local-dist-new/react-ink/components/dialogs/SettingsDialog.js +0 -79
  1018. package/local-dist-new/react-ink/components/dialogs/SettingsDialog.js.map +0 -1
  1019. package/local-dist-new/react-ink/components/dialogs/StartupSessionPicker.d.ts +0 -10
  1020. package/local-dist-new/react-ink/components/dialogs/StartupSessionPicker.d.ts.map +0 -1
  1021. package/local-dist-new/react-ink/components/dialogs/StartupSessionPicker.js +0 -100
  1022. package/local-dist-new/react-ink/components/dialogs/StartupSessionPicker.js.map +0 -1
  1023. package/local-dist-new/react-ink/components/dialogs/ThemeDialog.d.ts +0 -8
  1024. package/local-dist-new/react-ink/components/dialogs/ThemeDialog.d.ts.map +0 -1
  1025. package/local-dist-new/react-ink/components/dialogs/ThemeDialog.js +0 -7
  1026. package/local-dist-new/react-ink/components/dialogs/ThemeDialog.js.map +0 -1
  1027. package/local-dist-new/react-ink/components/dialogs/TreeDialog.d.ts +0 -9
  1028. package/local-dist-new/react-ink/components/dialogs/TreeDialog.d.ts.map +0 -1
  1029. package/local-dist-new/react-ink/components/dialogs/TreeDialog.js +0 -7
  1030. package/local-dist-new/react-ink/components/dialogs/TreeDialog.js.map +0 -1
  1031. package/local-dist-new/react-ink/components/dialogs/UserMessageDialog.d.ts +0 -9
  1032. package/local-dist-new/react-ink/components/dialogs/UserMessageDialog.d.ts.map +0 -1
  1033. package/local-dist-new/react-ink/components/dialogs/UserMessageDialog.js +0 -7
  1034. package/local-dist-new/react-ink/components/dialogs/UserMessageDialog.js.map +0 -1
  1035. package/local-dist-new/react-ink/components/messages/AssistantMessage.d.ts +0 -13
  1036. package/local-dist-new/react-ink/components/messages/AssistantMessage.d.ts.map +0 -1
  1037. package/local-dist-new/react-ink/components/messages/AssistantMessage.js +0 -20
  1038. package/local-dist-new/react-ink/components/messages/AssistantMessage.js.map +0 -1
  1039. package/local-dist-new/react-ink/components/messages/BashMessage.d.ts +0 -9
  1040. package/local-dist-new/react-ink/components/messages/BashMessage.d.ts.map +0 -1
  1041. package/local-dist-new/react-ink/components/messages/BashMessage.js +0 -11
  1042. package/local-dist-new/react-ink/components/messages/BashMessage.js.map +0 -1
  1043. package/local-dist-new/react-ink/components/messages/BranchSummaryMessage.d.ts +0 -9
  1044. package/local-dist-new/react-ink/components/messages/BranchSummaryMessage.d.ts.map +0 -1
  1045. package/local-dist-new/react-ink/components/messages/BranchSummaryMessage.js +0 -6
  1046. package/local-dist-new/react-ink/components/messages/BranchSummaryMessage.js.map +0 -1
  1047. package/local-dist-new/react-ink/components/messages/CompactionMessage.d.ts +0 -9
  1048. package/local-dist-new/react-ink/components/messages/CompactionMessage.d.ts.map +0 -1
  1049. package/local-dist-new/react-ink/components/messages/CompactionMessage.js +0 -6
  1050. package/local-dist-new/react-ink/components/messages/CompactionMessage.js.map +0 -1
  1051. package/local-dist-new/react-ink/components/messages/CustomMessage.d.ts +0 -10
  1052. package/local-dist-new/react-ink/components/messages/CustomMessage.d.ts.map +0 -1
  1053. package/local-dist-new/react-ink/components/messages/CustomMessage.js +0 -9
  1054. package/local-dist-new/react-ink/components/messages/CustomMessage.js.map +0 -1
  1055. package/local-dist-new/react-ink/components/messages/SkillInvocationMessage.d.ts +0 -8
  1056. package/local-dist-new/react-ink/components/messages/SkillInvocationMessage.d.ts.map +0 -1
  1057. package/local-dist-new/react-ink/components/messages/SkillInvocationMessage.js +0 -10
  1058. package/local-dist-new/react-ink/components/messages/SkillInvocationMessage.js.map +0 -1
  1059. package/local-dist-new/react-ink/components/messages/ToolCallMessage.d.ts +0 -9
  1060. package/local-dist-new/react-ink/components/messages/ToolCallMessage.d.ts.map +0 -1
  1061. package/local-dist-new/react-ink/components/messages/ToolCallMessage.js +0 -8
  1062. package/local-dist-new/react-ink/components/messages/ToolCallMessage.js.map +0 -1
  1063. package/local-dist-new/react-ink/components/messages/ToolResultBlock.d.ts +0 -13
  1064. package/local-dist-new/react-ink/components/messages/ToolResultBlock.d.ts.map +0 -1
  1065. package/local-dist-new/react-ink/components/messages/ToolResultBlock.js +0 -8
  1066. package/local-dist-new/react-ink/components/messages/ToolResultBlock.js.map +0 -1
  1067. package/local-dist-new/react-ink/components/messages/UserMessage.d.ts +0 -10
  1068. package/local-dist-new/react-ink/components/messages/UserMessage.d.ts.map +0 -1
  1069. package/local-dist-new/react-ink/components/messages/UserMessage.js +0 -9
  1070. package/local-dist-new/react-ink/components/messages/UserMessage.js.map +0 -1
  1071. package/local-dist-new/react-ink/index.d.ts +0 -35
  1072. package/local-dist-new/react-ink/index.d.ts.map +0 -1
  1073. package/local-dist-new/react-ink/index.js +0 -35
  1074. package/local-dist-new/react-ink/index.js.map +0 -1
  1075. package/local-dist-new/react-ink/theme-adapter.d.ts +0 -10
  1076. package/local-dist-new/react-ink/theme-adapter.d.ts.map +0 -1
  1077. package/local-dist-new/react-ink/theme-adapter.js +0 -44
  1078. package/local-dist-new/react-ink/theme-adapter.js.map +0 -1
  1079. package/local-dist-new/react-ink/types.d.ts +0 -134
  1080. package/local-dist-new/react-ink/types.d.ts.map +0 -1
  1081. package/local-dist-new/react-ink/types.js +0 -2
  1082. package/local-dist-new/react-ink/types.js.map +0 -1
  1083. package/local-dist-new/react-ink/utils/message-groups.d.ts +0 -26
  1084. package/local-dist-new/react-ink/utils/message-groups.d.ts.map +0 -1
  1085. package/local-dist-new/react-ink/utils/message-groups.js +0 -240
  1086. package/local-dist-new/react-ink/utils/message-groups.js.map +0 -1
  1087. package/local-dist-new/react-ink/utils/selection-dialog.d.ts +0 -3
  1088. package/local-dist-new/react-ink/utils/selection-dialog.d.ts.map +0 -1
  1089. package/local-dist-new/react-ink/utils/selection-dialog.js +0 -18
  1090. package/local-dist-new/react-ink/utils/selection-dialog.js.map +0 -1
  1091. package/local-dist-new/react-ink/utils/session-browser.d.ts +0 -28
  1092. package/local-dist-new/react-ink/utils/session-browser.d.ts.map +0 -1
  1093. package/local-dist-new/react-ink/utils/session-browser.js +0 -191
  1094. package/local-dist-new/react-ink/utils/session-browser.js.map +0 -1
  1095. package/local-dist-new/react-ink/utils/tool-display.d.ts +0 -22
  1096. package/local-dist-new/react-ink/utils/tool-display.d.ts.map +0 -1
  1097. package/local-dist-new/react-ink/utils/tool-display.js +0 -349
  1098. package/local-dist-new/react-ink/utils/tool-display.js.map +0 -1
  1099. package/local-dist-new/react-ink.d.ts +0 -3
  1100. package/local-dist-new/react-ink.d.ts.map +0 -1
  1101. package/local-dist-new/react-ink.js +0 -2
  1102. package/local-dist-new/react-ink.js.map +0 -1
  1103. package/local-dist-new/tui.d.ts +0 -9
  1104. package/local-dist-new/tui.d.ts.map +0 -1
  1105. package/local-dist-new/tui.js +0 -8
  1106. package/local-dist-new/tui.js.map +0 -1
  1107. package/local-dist-new/ui/autocomplete.d.ts +0 -60
  1108. package/local-dist-new/ui/autocomplete.d.ts.map +0 -1
  1109. package/local-dist-new/ui/autocomplete.js +0 -393
  1110. package/local-dist-new/ui/autocomplete.js.map +0 -1
  1111. package/local-dist-new/ui/contracts.d.ts +0 -39
  1112. package/local-dist-new/ui/contracts.d.ts.map +0 -1
  1113. package/local-dist-new/ui/contracts.js +0 -2
  1114. package/local-dist-new/ui/contracts.js.map +0 -1
  1115. package/local-dist-new/ui/editor-component.d.ts +0 -101
  1116. package/local-dist-new/ui/editor-component.d.ts.map +0 -1
  1117. package/local-dist-new/ui/editor-component.js +0 -2
  1118. package/local-dist-new/ui/editor-component.js.map +0 -1
  1119. package/local-dist-new/ui/fuzzy.d.ts +0 -26
  1120. package/local-dist-new/ui/fuzzy.d.ts.map +0 -1
  1121. package/local-dist-new/ui/fuzzy.js +0 -177
  1122. package/local-dist-new/ui/fuzzy.js.map +0 -1
  1123. package/local-dist-new/ui/index.d.ts +0 -9
  1124. package/local-dist-new/ui/index.d.ts.map +0 -1
  1125. package/local-dist-new/ui/index.js +0 -6
  1126. package/local-dist-new/ui/index.js.map +0 -1
  1127. package/local-dist-new/ui/keybindings.d.ts +0 -52
  1128. package/local-dist-new/ui/keybindings.d.ts.map +0 -1
  1129. package/local-dist-new/ui/keybindings.js +0 -193
  1130. package/local-dist-new/ui/keybindings.js.map +0 -1
  1131. package/local-dist-new/ui/keys.d.ts +0 -168
  1132. package/local-dist-new/ui/keys.d.ts.map +0 -1
  1133. package/local-dist-new/ui/keys.js +0 -1093
  1134. package/local-dist-new/ui/keys.js.map +0 -1
  1135. package/local-dist-new/ui/theme-types.d.ts +0 -37
  1136. package/local-dist-new/ui/theme-types.d.ts.map +0 -1
  1137. package/local-dist-new/ui/theme-types.js +0 -2
  1138. package/local-dist-new/ui/theme-types.js.map +0 -1
  1139. package/local-dist-new/ui/utils.d.ts +0 -97
  1140. package/local-dist-new/ui/utils.d.ts.map +0 -1
  1141. package/local-dist-new/ui/utils.js +0 -860
  1142. package/local-dist-new/ui/utils.js.map +0 -1
  1143. package/observe.d.ts +0 -1
  1144. package/observe.js +0 -1
package/dist/mcp.js ADDED
@@ -0,0 +1,1732 @@
1
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
+ }) : x)(function(x) {
4
+ if (typeof require !== "undefined") return require.apply(this, arguments);
5
+ throw Error('Dynamic require of "' + x + '" is not supported');
6
+ });
7
+
8
+ // src/facade/mcp-core/client.ts
9
+ import { spawn } from "child_process";
10
+
11
+ // src/facade/mcp-core/errors.ts
12
+ var MCPErrorCode = /* @__PURE__ */ ((MCPErrorCode2) => {
13
+ MCPErrorCode2["CONNECTION_FAILED"] = "CONNECTION_FAILED";
14
+ MCPErrorCode2["TIMEOUT"] = "TIMEOUT";
15
+ MCPErrorCode2["TOOL_NOT_FOUND"] = "TOOL_NOT_FOUND";
16
+ MCPErrorCode2["INVALID_PARAMETERS"] = "INVALID_PARAMETERS";
17
+ MCPErrorCode2["SERVER_ERROR"] = "SERVER_ERROR";
18
+ MCPErrorCode2["TRANSPORT_ERROR"] = "TRANSPORT_ERROR";
19
+ MCPErrorCode2["NOT_CONNECTED"] = "NOT_CONNECTED";
20
+ MCPErrorCode2["PROTOCOL_ERROR"] = "PROTOCOL_ERROR";
21
+ MCPErrorCode2["CONFIG_ERROR"] = "CONFIG_ERROR";
22
+ MCPErrorCode2["SCHEMA_CONVERSION_ERROR"] = "SCHEMA_CONVERSION_ERROR";
23
+ MCPErrorCode2["RESOURCE_NOT_FOUND"] = "RESOURCE_NOT_FOUND";
24
+ MCPErrorCode2["PROMPT_NOT_FOUND"] = "PROMPT_NOT_FOUND";
25
+ MCPErrorCode2["SESSION_ERROR"] = "SESSION_ERROR";
26
+ return MCPErrorCode2;
27
+ })(MCPErrorCode || {});
28
+ var MCPError = class extends Error {
29
+ /** Error code */
30
+ code;
31
+ /** Additional error details */
32
+ details;
33
+ /** Server name where error occurred */
34
+ serverName;
35
+ /** Tool name if error occurred during tool execution */
36
+ toolName;
37
+ constructor(message, code, details, options) {
38
+ super(message, options?.cause ? { cause: options.cause } : void 0);
39
+ this.name = "MCPError";
40
+ this.code = code;
41
+ this.details = details;
42
+ this.serverName = options?.serverName;
43
+ this.toolName = options?.toolName;
44
+ }
45
+ /**
46
+ * Convert error to JSON for logging/serialization.
47
+ */
48
+ toJSON() {
49
+ return {
50
+ name: this.name,
51
+ message: this.message,
52
+ code: this.code,
53
+ details: this.details,
54
+ serverName: this.serverName,
55
+ toolName: this.toolName
56
+ };
57
+ }
58
+ /**
59
+ * Create a string representation of the error.
60
+ */
61
+ toString() {
62
+ let str = `${this.name} [${this.code}]: ${this.message}`;
63
+ if (this.serverName) str += ` (server: ${this.serverName})`;
64
+ if (this.toolName) str += ` (tool: ${this.toolName})`;
65
+ return str;
66
+ }
67
+ };
68
+ function isMCPError(error) {
69
+ return error instanceof MCPError;
70
+ }
71
+ function isSessionError(error) {
72
+ if (!isMCPError(error)) return false;
73
+ return error.code === "SESSION_ERROR" /* SESSION_ERROR */ || error.code === "NOT_CONNECTED" /* NOT_CONNECTED */;
74
+ }
75
+ function createConnectionError(serverName, cause) {
76
+ return new MCPError(
77
+ `Failed to connect to MCP server: ${serverName}`,
78
+ "CONNECTION_FAILED" /* CONNECTION_FAILED */,
79
+ { cause: cause?.message },
80
+ { serverName, cause }
81
+ );
82
+ }
83
+ function createTimeoutError(operation, serverName) {
84
+ return new MCPError(`Operation timed out: ${operation}`, "TIMEOUT" /* TIMEOUT */, { operation }, { serverName });
85
+ }
86
+ function createToolNotFoundError(toolName, serverName) {
87
+ return new MCPError(`Tool not found: ${toolName}`, "TOOL_NOT_FOUND" /* TOOL_NOT_FOUND */, { toolName }, { serverName, toolName });
88
+ }
89
+ function createInvalidParametersError(toolName, details, serverName) {
90
+ return new MCPError(
91
+ `Invalid parameters for tool: ${toolName}`,
92
+ "INVALID_PARAMETERS" /* INVALID_PARAMETERS */,
93
+ details,
94
+ { serverName, toolName }
95
+ );
96
+ }
97
+ function createServerError(message, serverName, details) {
98
+ return new MCPError(message, "SERVER_ERROR" /* SERVER_ERROR */, details, { serverName });
99
+ }
100
+ function createNotConnectedError(serverName) {
101
+ return new MCPError("Not connected to MCP server", "NOT_CONNECTED" /* NOT_CONNECTED */, void 0, { serverName });
102
+ }
103
+ function createConfigError(message, details) {
104
+ return new MCPError(message, "CONFIG_ERROR" /* CONFIG_ERROR */, details);
105
+ }
106
+ function createSchemaConversionError(toolName, details, serverName) {
107
+ return new MCPError(
108
+ `Failed to convert schema for tool: ${toolName}`,
109
+ "SCHEMA_CONVERSION_ERROR" /* SCHEMA_CONVERSION_ERROR */,
110
+ details,
111
+ { serverName, toolName }
112
+ );
113
+ }
114
+
115
+ // src/facade/mcp-core/client.ts
116
+ var DEFAULT_REQUEST_TIMEOUT = 6e4;
117
+ var MCPClient = class {
118
+ constructor(options) {
119
+ this.options = options;
120
+ this.serverName = options.name;
121
+ this.config = options.config;
122
+ this.timeout = options.timeout ?? DEFAULT_REQUEST_TIMEOUT;
123
+ this.logHandler = options.logger;
124
+ this.enableServerLogs = options.enableServerLogs ?? true;
125
+ this.enableProgressTracking = options.enableProgressTracking ?? false;
126
+ this._roots = options.roots ?? [];
127
+ }
128
+ options;
129
+ process;
130
+ buffer = "";
131
+ messageId = 0;
132
+ pendingRequests = /* @__PURE__ */ new Map();
133
+ isConnected = false;
134
+ connectionPromise = null;
135
+ serverCapabilities;
136
+ logHandler;
137
+ enableServerLogs;
138
+ enableProgressTracking;
139
+ _roots;
140
+ /** Server name */
141
+ serverName;
142
+ /** Server config */
143
+ config;
144
+ /** Request timeout */
145
+ timeout;
146
+ // ========================================================================
147
+ // Connection Lifecycle
148
+ // ========================================================================
149
+ /**
150
+ * Connect to the MCP server.
151
+ * Safe to call multiple times - returns existing connection if already connected.
152
+ */
153
+ async connect() {
154
+ if (this.isConnected) return;
155
+ if (this.connectionPromise) {
156
+ return this.connectionPromise;
157
+ }
158
+ this.connectionPromise = this.doConnect();
159
+ try {
160
+ await this.connectionPromise;
161
+ } finally {
162
+ this.connectionPromise = null;
163
+ }
164
+ }
165
+ async doConnect() {
166
+ if ("command" in this.config) {
167
+ await this.connectStdio(this.config);
168
+ } else if ("url" in this.config) {
169
+ await this.connectHttp(this.config);
170
+ } else {
171
+ throw new MCPError(
172
+ "Server configuration must include either a command or a url",
173
+ "CONFIG_ERROR" /* CONFIG_ERROR */,
174
+ void 0,
175
+ { serverName: this.serverName }
176
+ );
177
+ }
178
+ const initResult = await this.sendRequest("initialize", {
179
+ protocolVersion: "2024-11-05",
180
+ capabilities: {
181
+ ...this._roots.length > 0 ? { roots: { listChanged: true } } : {},
182
+ elicitation: {}
183
+ },
184
+ clientInfo: {
185
+ name: "new_indusvx",
186
+ version: "1.0.0"
187
+ }
188
+ });
189
+ this.serverCapabilities = initResult.capabilities;
190
+ this.isConnected = true;
191
+ await this.sendNotification("notifications/initialized", {});
192
+ this.log("info", `Connected to MCP server`);
193
+ }
194
+ async connectHttp(config) {
195
+ this.log("debug", `Starting HTTP transport: ${config.url.toString()}`);
196
+ this.isConnected = true;
197
+ }
198
+ async connectStdio(config) {
199
+ return new Promise((resolve, reject) => {
200
+ this.log("debug", `Starting stdio transport: ${config.command} ${(config.args ?? []).join(" ")}`);
201
+ this.process = spawn(config.command, config.args ?? [], {
202
+ env: { ...process.env, ...config.env },
203
+ cwd: config.cwd,
204
+ stdio: ["pipe", "pipe", "pipe"]
205
+ });
206
+ this.process.stdout?.on("data", (data) => {
207
+ this.buffer += data.toString("utf-8");
208
+ this.processBuffer();
209
+ });
210
+ this.process.stderr?.on("data", (data) => {
211
+ const message = data.toString("utf-8").trim();
212
+ if (message) {
213
+ this.log("debug", `[stderr] ${message}`);
214
+ }
215
+ });
216
+ this.process.on("error", (error) => {
217
+ const mcpError = new MCPError(
218
+ `Failed to spawn MCP server: ${error.message}`,
219
+ "CONNECTION_FAILED" /* CONNECTION_FAILED */,
220
+ { error: error.message },
221
+ { serverName: this.serverName, cause: error }
222
+ );
223
+ reject(mcpError);
224
+ });
225
+ this.process.on("close", (code) => {
226
+ this.isConnected = false;
227
+ if (code !== 0 && code !== null) {
228
+ this.log("warning", `Process exited with code ${code}`);
229
+ }
230
+ for (const [id, { reject: reqReject, timeout }] of this.pendingRequests) {
231
+ clearTimeout(timeout);
232
+ reqReject(new MCPError("Connection closed", "NOT_CONNECTED" /* NOT_CONNECTED */));
233
+ }
234
+ this.pendingRequests.clear();
235
+ });
236
+ setTimeout(resolve, 500);
237
+ });
238
+ }
239
+ /**
240
+ * Disconnect from the MCP server.
241
+ */
242
+ async disconnect() {
243
+ if ("url" in this.config) {
244
+ this.isConnected = false;
245
+ this.log("debug", "Disconnected from HTTP MCP server");
246
+ return;
247
+ }
248
+ if (!this.process) {
249
+ this.log("debug", "Disconnect called but no process was running");
250
+ return;
251
+ }
252
+ this.log("debug", "Disconnecting from MCP server");
253
+ try {
254
+ this.process.kill();
255
+ this.process = void 0;
256
+ this.isConnected = false;
257
+ for (const [id, { reject, timeout }] of this.pendingRequests) {
258
+ clearTimeout(timeout);
259
+ reject(new MCPError("Connection closed", "NOT_CONNECTED" /* NOT_CONNECTED */));
260
+ }
261
+ this.pendingRequests.clear();
262
+ this.log("debug", "Successfully disconnected");
263
+ } catch (error) {
264
+ this.log("error", `Error during disconnect: ${error}`);
265
+ throw error;
266
+ }
267
+ }
268
+ /**
269
+ * Whether the client is connected.
270
+ */
271
+ get connected() {
272
+ return this.isConnected;
273
+ }
274
+ // ========================================================================
275
+ // Tool Operations
276
+ // ========================================================================
277
+ /**
278
+ * List all tools available from the server.
279
+ */
280
+ async listTools() {
281
+ this.ensureConnected();
282
+ const result = await this.sendRequest("tools/list", {});
283
+ return result.tools;
284
+ }
285
+ /**
286
+ * Call a tool on the server.
287
+ */
288
+ async callTool(name, args) {
289
+ this.ensureConnected();
290
+ this.log("debug", `Calling tool: ${name}`);
291
+ try {
292
+ const result = await this.sendRequest("tools/call", {
293
+ name,
294
+ arguments: args
295
+ });
296
+ this.log("debug", `Tool ${name} executed successfully`);
297
+ return result;
298
+ } catch (error) {
299
+ this.log("error", `Tool ${name} failed: ${error}`);
300
+ throw error;
301
+ }
302
+ }
303
+ // ========================================================================
304
+ // Resource Operations
305
+ // ========================================================================
306
+ /**
307
+ * List all resources available from the server.
308
+ */
309
+ async listResources() {
310
+ this.ensureConnected();
311
+ if (!this.serverCapabilities?.resources) {
312
+ return [];
313
+ }
314
+ const result = await this.sendRequest("resources/list", {});
315
+ return result.resources;
316
+ }
317
+ /**
318
+ * Read a resource from the server.
319
+ */
320
+ async readResource(uri) {
321
+ this.ensureConnected();
322
+ return await this.sendRequest("resources/read", { uri });
323
+ }
324
+ /**
325
+ * Subscribe to resource updates.
326
+ */
327
+ async subscribeResource(uri) {
328
+ this.ensureConnected();
329
+ await this.sendRequest("resources/subscribe", { uri });
330
+ }
331
+ /**
332
+ * Unsubscribe from resource updates.
333
+ */
334
+ async unsubscribeResource(uri) {
335
+ this.ensureConnected();
336
+ await this.sendRequest("resources/unsubscribe", { uri });
337
+ }
338
+ // ========================================================================
339
+ // Prompt Operations
340
+ // ========================================================================
341
+ /**
342
+ * List all prompts available from the server.
343
+ */
344
+ async listPrompts() {
345
+ this.ensureConnected();
346
+ if (!this.serverCapabilities?.prompts) {
347
+ return [];
348
+ }
349
+ const result = await this.sendRequest("prompts/list", {});
350
+ return result.prompts;
351
+ }
352
+ /**
353
+ * Get a prompt from the server.
354
+ */
355
+ async getPrompt(name, args) {
356
+ this.ensureConnected();
357
+ return await this.sendRequest("prompts/get", { name, arguments: args });
358
+ }
359
+ // ========================================================================
360
+ // Roots Operations
361
+ // ========================================================================
362
+ /**
363
+ * Get the configured roots.
364
+ */
365
+ get roots() {
366
+ return [...this._roots];
367
+ }
368
+ /**
369
+ * Update the roots and notify the server.
370
+ */
371
+ async setRoots(roots) {
372
+ this.log("debug", `Updating roots to ${roots.length} entries`);
373
+ this._roots = [...roots];
374
+ if (this.isConnected) {
375
+ await this.sendNotification("notifications/roots/list_changed", {});
376
+ }
377
+ }
378
+ // ========================================================================
379
+ // Handler Registration
380
+ // ========================================================================
381
+ /**
382
+ * Set a handler for resource updated notifications.
383
+ */
384
+ setResourceUpdatedHandler(handler) {
385
+ this.log("debug", "Resource updated handler registered");
386
+ }
387
+ /**
388
+ * Set a handler for resource list changed notifications.
389
+ */
390
+ setResourceListChangedHandler(handler) {
391
+ this.log("debug", "Resource list changed handler registered");
392
+ }
393
+ /**
394
+ * Set a handler for prompt list changed notifications.
395
+ */
396
+ setPromptListChangedHandler(handler) {
397
+ this.log("debug", "Prompt list changed handler registered");
398
+ }
399
+ /**
400
+ * Set a handler for elicitation requests.
401
+ */
402
+ setElicitationHandler(handler) {
403
+ this.log("debug", "Elicitation handler registered");
404
+ }
405
+ /**
406
+ * Set a handler for progress notifications.
407
+ */
408
+ setProgressHandler(handler) {
409
+ this.log("debug", "Progress handler registered");
410
+ }
411
+ // ========================================================================
412
+ // Private Methods
413
+ // ========================================================================
414
+ ensureConnected() {
415
+ const isHttpTransport = "url" in this.config;
416
+ if (!this.isConnected || !isHttpTransport && !this.process) {
417
+ throw new MCPError(
418
+ "Not connected to MCP server",
419
+ "NOT_CONNECTED" /* NOT_CONNECTED */,
420
+ void 0,
421
+ { serverName: this.serverName }
422
+ );
423
+ }
424
+ }
425
+ async sendRequest(method, params) {
426
+ if (method !== "initialize") {
427
+ this.ensureConnected();
428
+ }
429
+ if ("url" in this.config) {
430
+ return this.sendHttpRequest(method, params);
431
+ }
432
+ if (!this.process) {
433
+ throw new MCPError(
434
+ "Not connected to MCP server",
435
+ "NOT_CONNECTED" /* NOT_CONNECTED */,
436
+ void 0,
437
+ { serverName: this.serverName }
438
+ );
439
+ }
440
+ return new Promise((resolve, reject) => {
441
+ const id = ++this.messageId;
442
+ const timeout = setTimeout(() => {
443
+ this.pendingRequests.delete(id);
444
+ reject(
445
+ new MCPError(
446
+ `Request timeout: ${method}`,
447
+ "TIMEOUT" /* TIMEOUT */,
448
+ { method, id },
449
+ { serverName: this.serverName }
450
+ )
451
+ );
452
+ }, this.timeout);
453
+ this.pendingRequests.set(id, {
454
+ resolve,
455
+ reject,
456
+ timeout
457
+ });
458
+ const message = {
459
+ jsonrpc: "2.0",
460
+ id,
461
+ method,
462
+ params
463
+ };
464
+ this.log("debug", `Sending request: ${method} (id: ${id})`);
465
+ try {
466
+ const messageStr = JSON.stringify(message) + "\n";
467
+ this.process.stdin.write(messageStr);
468
+ } catch (error) {
469
+ this.pendingRequests.delete(id);
470
+ clearTimeout(timeout);
471
+ reject(
472
+ new MCPError(
473
+ `Failed to send request: ${error}`,
474
+ "TRANSPORT_ERROR" /* TRANSPORT_ERROR */,
475
+ { error: String(error) },
476
+ { serverName: this.serverName }
477
+ )
478
+ );
479
+ }
480
+ });
481
+ }
482
+ async sendHttpRequest(method, params) {
483
+ const config = this.config;
484
+ const id = ++this.messageId;
485
+ const message = {
486
+ jsonrpc: "2.0",
487
+ id,
488
+ method,
489
+ params
490
+ };
491
+ this.log("debug", `Sending HTTP request: ${method} (id: ${id})`);
492
+ const controller = new AbortController();
493
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
494
+ try {
495
+ const response = await fetch(config.url.toString(), {
496
+ method: "POST",
497
+ headers: {
498
+ "Content-Type": "application/json",
499
+ "Accept": "application/json, text/event-stream",
500
+ ...config.headers
501
+ },
502
+ body: JSON.stringify(message),
503
+ signal: controller.signal
504
+ });
505
+ clearTimeout(timeoutId);
506
+ if (!response.ok) {
507
+ const errorText = await response.text();
508
+ let errorMessage = `HTTP error: ${response.status} ${response.statusText}`;
509
+ try {
510
+ const errorJson = JSON.parse(errorText);
511
+ if (errorJson.error?.message) {
512
+ errorMessage = errorJson.error.message;
513
+ }
514
+ } catch {
515
+ if (errorText) {
516
+ errorMessage = errorText;
517
+ }
518
+ }
519
+ throw new MCPError(
520
+ errorMessage,
521
+ "TRANSPORT_ERROR" /* TRANSPORT_ERROR */,
522
+ { status: response.status, body: errorText },
523
+ { serverName: this.serverName }
524
+ );
525
+ }
526
+ const responseText = await response.text();
527
+ let result;
528
+ if (responseText.startsWith("event:") || responseText.startsWith("data:")) {
529
+ const lines = responseText.split("\n");
530
+ let dataLine = "";
531
+ for (const line of lines) {
532
+ if (line.startsWith("data:")) {
533
+ dataLine = line.slice(5).trim();
534
+ break;
535
+ }
536
+ }
537
+ if (dataLine) {
538
+ result = JSON.parse(dataLine);
539
+ } else {
540
+ throw new MCPError(
541
+ "Empty SSE response",
542
+ "TRANSPORT_ERROR" /* TRANSPORT_ERROR */,
543
+ { response: responseText },
544
+ { serverName: this.serverName }
545
+ );
546
+ }
547
+ } else {
548
+ result = JSON.parse(responseText);
549
+ }
550
+ if (result.error) {
551
+ throw new MCPError(
552
+ result.error.message || "MCP error",
553
+ "SERVER_ERROR" /* SERVER_ERROR */,
554
+ result.error,
555
+ { serverName: this.serverName }
556
+ );
557
+ }
558
+ this.log("debug", `HTTP request ${id} succeeded`);
559
+ return result.result;
560
+ } catch (error) {
561
+ clearTimeout(timeoutId);
562
+ if (error instanceof MCPError) throw error;
563
+ if (error instanceof Error && error.name === "AbortError") {
564
+ throw new MCPError(
565
+ `Request timeout: ${method}`,
566
+ "TIMEOUT" /* TIMEOUT */,
567
+ { method, id },
568
+ { serverName: this.serverName }
569
+ );
570
+ }
571
+ throw new MCPError(
572
+ `HTTP request failed: ${error}`,
573
+ "TRANSPORT_ERROR" /* TRANSPORT_ERROR */,
574
+ { error: String(error) },
575
+ { serverName: this.serverName }
576
+ );
577
+ }
578
+ }
579
+ async sendNotification(method, params) {
580
+ const message = {
581
+ jsonrpc: "2.0",
582
+ method,
583
+ params
584
+ };
585
+ this.log("debug", `Sending notification: ${method}`);
586
+ if ("url" in this.config) {
587
+ const config = this.config;
588
+ try {
589
+ await fetch(config.url.toString(), {
590
+ method: "POST",
591
+ headers: {
592
+ "Content-Type": "application/json",
593
+ ...config.headers
594
+ },
595
+ body: JSON.stringify(message)
596
+ });
597
+ } catch (error) {
598
+ this.log("error", `Failed to send HTTP notification: ${error}`);
599
+ }
600
+ return;
601
+ }
602
+ if (!this.process) {
603
+ throw new MCPError(
604
+ "Not connected to MCP server",
605
+ "NOT_CONNECTED" /* NOT_CONNECTED */,
606
+ void 0,
607
+ { serverName: this.serverName }
608
+ );
609
+ }
610
+ try {
611
+ const messageStr = JSON.stringify(message) + "\n";
612
+ this.process.stdin.write(messageStr);
613
+ } catch (error) {
614
+ this.log("error", `Failed to send notification: ${error}`);
615
+ }
616
+ }
617
+ processBuffer() {
618
+ const lines = this.buffer.split("\n");
619
+ this.buffer = lines.pop() || "";
620
+ for (const line of lines) {
621
+ const trimmed = line.trim();
622
+ if (!trimmed) continue;
623
+ try {
624
+ const message = JSON.parse(trimmed);
625
+ this.handleMessage(message);
626
+ } catch (error) {
627
+ this.log("warning", `Failed to parse message: ${trimmed}`);
628
+ }
629
+ }
630
+ }
631
+ handleMessage(message) {
632
+ if (message.id !== void 0 && this.pendingRequests.has(message.id)) {
633
+ const { resolve, reject, timeout } = this.pendingRequests.get(message.id);
634
+ this.pendingRequests.delete(message.id);
635
+ clearTimeout(timeout);
636
+ if (message.error) {
637
+ this.log("debug", `Request ${message.id} failed: ${message.error.message}`);
638
+ reject(
639
+ new MCPError(
640
+ message.error.message || "Unknown error",
641
+ "SERVER_ERROR" /* SERVER_ERROR */,
642
+ message.error,
643
+ { serverName: this.serverName }
644
+ )
645
+ );
646
+ } else {
647
+ this.log("debug", `Request ${message.id} succeeded`);
648
+ resolve(message.result);
649
+ }
650
+ }
651
+ if (message.method) {
652
+ this.handleNotification(message.method, message.params);
653
+ }
654
+ }
655
+ handleNotification(method, params) {
656
+ this.log("debug", `Received notification: ${method}`);
657
+ switch (method) {
658
+ case "notifications/message":
659
+ if (this.enableServerLogs && params) {
660
+ const { level, ...rest } = params;
661
+ this.log(level || "info", "[SERVER]", rest);
662
+ }
663
+ break;
664
+ case "notifications/progress":
665
+ this.log("debug", `Progress: ${JSON.stringify(params)}`);
666
+ break;
667
+ case "notifications/resources/updated":
668
+ this.log("debug", `Resource updated: ${JSON.stringify(params)}`);
669
+ break;
670
+ case "notifications/resources/list_changed":
671
+ this.log("debug", "Resource list changed");
672
+ break;
673
+ case "notifications/prompts/list_changed":
674
+ this.log("debug", "Prompt list changed");
675
+ break;
676
+ }
677
+ }
678
+ log(level, message, details) {
679
+ const msg = `[${this.serverName}] ${message}`;
680
+ if (this.logHandler) {
681
+ this.logHandler({
682
+ level,
683
+ message: msg,
684
+ timestamp: /* @__PURE__ */ new Date(),
685
+ serverName: this.serverName,
686
+ details
687
+ });
688
+ } else {
689
+ if (process.env.INDUSAGI_DEBUG || level === "error") {
690
+ const prefix = `[MCP:${level.toUpperCase()}]`;
691
+ if (details) {
692
+ if (level === "error") {
693
+ console.error(prefix, msg, details);
694
+ } else {
695
+ console.log(prefix, msg, details);
696
+ }
697
+ } else {
698
+ if (level === "error") {
699
+ console.error(prefix, msg);
700
+ } else {
701
+ console.log(prefix, msg);
702
+ }
703
+ }
704
+ }
705
+ }
706
+ }
707
+ };
708
+
709
+ // src/facade/mcp-core/client-pool.ts
710
+ var MCPClientPool = class {
711
+ constructor(options) {
712
+ this.options = options;
713
+ }
714
+ options;
715
+ clients = /* @__PURE__ */ new Map();
716
+ isConnecting = false;
717
+ /**
718
+ * Connect to all configured servers.
719
+ *
720
+ * Errors for individual servers are logged but don't fail the entire operation.
721
+ */
722
+ async connectAll() {
723
+ if (this.isConnecting) {
724
+ throw new MCPError(
725
+ "Already connecting to servers",
726
+ "CONNECTION_FAILED" /* CONNECTION_FAILED */
727
+ );
728
+ }
729
+ this.isConnecting = true;
730
+ try {
731
+ for (const serverConfig of this.options.servers) {
732
+ try {
733
+ const client = new MCPClient(serverConfig);
734
+ await client.connect();
735
+ this.clients.set(serverConfig.name, client);
736
+ console.log(`[MCP] Connected to ${serverConfig.name}`);
737
+ } catch (error) {
738
+ console.error(
739
+ `[MCP] Failed to connect to ${serverConfig.name}:`,
740
+ error instanceof Error ? error.message : String(error)
741
+ );
742
+ }
743
+ }
744
+ } finally {
745
+ this.isConnecting = false;
746
+ }
747
+ }
748
+ /**
749
+ * Disconnect from all servers.
750
+ */
751
+ async disconnectAll() {
752
+ for (const [name, client] of this.clients) {
753
+ try {
754
+ await client.disconnect();
755
+ console.log(`[MCP] Disconnected from ${name}`);
756
+ } catch (error) {
757
+ console.error(`[MCP] Error disconnecting from ${name}:`, error);
758
+ }
759
+ }
760
+ this.clients.clear();
761
+ }
762
+ /**
763
+ * Get a specific client by name.
764
+ */
765
+ getClient(name) {
766
+ return this.clients.get(name);
767
+ }
768
+ /**
769
+ * Get all connected clients.
770
+ */
771
+ getAllClients() {
772
+ return Array.from(this.clients.values());
773
+ }
774
+ /**
775
+ * Check if a client is connected.
776
+ */
777
+ isConnected(name) {
778
+ return this.clients.get(name)?.connected ?? false;
779
+ }
780
+ /**
781
+ * Get status of all servers.
782
+ */
783
+ async getStatus() {
784
+ const statuses = [];
785
+ for (const [name, client] of this.clients) {
786
+ const status = {
787
+ name,
788
+ connected: client.connected
789
+ };
790
+ if (client.connected) {
791
+ try {
792
+ const tools = await client.listTools();
793
+ status.toolCount = tools.length;
794
+ } catch {
795
+ }
796
+ try {
797
+ const resources = await client.listResources();
798
+ status.resourceCount = resources.length;
799
+ } catch {
800
+ }
801
+ try {
802
+ const prompts = await client.listPrompts();
803
+ status.promptCount = prompts.length;
804
+ } catch {
805
+ }
806
+ }
807
+ statuses.push(status);
808
+ }
809
+ return statuses;
810
+ }
811
+ /**
812
+ * Get all tools from all connected servers.
813
+ */
814
+ async listAllTools() {
815
+ const allTools = {};
816
+ for (const [name, client] of this.clients) {
817
+ if (client.connected) {
818
+ try {
819
+ allTools[name] = await client.listTools();
820
+ } catch (error) {
821
+ console.error(`[MCP] Failed to list tools from ${name}:`, error);
822
+ allTools[name] = [];
823
+ }
824
+ }
825
+ }
826
+ return allTools;
827
+ }
828
+ /**
829
+ * Get all resources from all connected servers.
830
+ */
831
+ async listAllResources() {
832
+ const allResources = {};
833
+ for (const [name, client] of this.clients) {
834
+ if (client.connected) {
835
+ try {
836
+ allResources[name] = await client.listResources();
837
+ } catch (error) {
838
+ console.error(`[MCP] Failed to list resources from ${name}:`, error);
839
+ allResources[name] = [];
840
+ }
841
+ }
842
+ }
843
+ return allResources;
844
+ }
845
+ /**
846
+ * Get all prompts from all connected servers.
847
+ */
848
+ async listAllPrompts() {
849
+ const allPrompts = {};
850
+ for (const [name, client] of this.clients) {
851
+ if (client.connected) {
852
+ try {
853
+ allPrompts[name] = await client.listPrompts();
854
+ } catch (error) {
855
+ console.error(`[MCP] Failed to list prompts from ${name}:`, error);
856
+ allPrompts[name] = [];
857
+ }
858
+ }
859
+ }
860
+ return allPrompts;
861
+ }
862
+ /**
863
+ * Reload all connections.
864
+ */
865
+ async reload() {
866
+ await this.disconnectAll();
867
+ await this.connectAll();
868
+ }
869
+ /**
870
+ * Add a new server connection.
871
+ */
872
+ async addServer(config) {
873
+ if (this.clients.has(config.name)) {
874
+ console.warn(`[MCP] Server ${config.name} already exists`);
875
+ return false;
876
+ }
877
+ try {
878
+ const client = new MCPClient(config);
879
+ await client.connect();
880
+ this.clients.set(config.name, client);
881
+ console.log(`[MCP] Connected to ${config.name}`);
882
+ return true;
883
+ } catch (error) {
884
+ console.error(`[MCP] Failed to connect to ${config.name}:`, error);
885
+ return false;
886
+ }
887
+ }
888
+ /**
889
+ * Remove a server connection.
890
+ */
891
+ async removeServer(name) {
892
+ const client = this.clients.get(name);
893
+ if (!client) {
894
+ return false;
895
+ }
896
+ try {
897
+ await client.disconnect();
898
+ this.clients.delete(name);
899
+ console.log(`[MCP] Disconnected from ${name}`);
900
+ return true;
901
+ } catch (error) {
902
+ console.error(`[MCP] Error disconnecting from ${name}:`, error);
903
+ return false;
904
+ }
905
+ }
906
+ };
907
+
908
+ // src/facade/mcp-core/config.ts
909
+ import { existsSync, readFileSync, mkdirSync } from "fs";
910
+ import { join, dirname } from "path";
911
+ import { homedir } from "os";
912
+ function loadMCPConfig(configPathOrCwd = process.cwd()) {
913
+ const configs = [];
914
+ if (existsSync(configPathOrCwd)) {
915
+ try {
916
+ const stats = __require("fs").statSync(configPathOrCwd);
917
+ if (stats.isFile()) {
918
+ const fileConfigs = parseConfigFile(configPathOrCwd);
919
+ configs.push(...fileConfigs);
920
+ return configs;
921
+ }
922
+ } catch {
923
+ }
924
+ }
925
+ const cwd = configPathOrCwd;
926
+ const projectConfig = join(cwd, ".indusvx", "mcp.json");
927
+ if (existsSync(projectConfig)) {
928
+ try {
929
+ const projectConfigs = parseConfigFile(projectConfig);
930
+ configs.push(...projectConfigs);
931
+ console.log(`[MCP] Loaded ${projectConfigs.length} servers from project config`);
932
+ } catch (error) {
933
+ console.error(`[MCP] Error loading project config:`, error);
934
+ }
935
+ }
936
+ const xdgConfigHome = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
937
+ const userConfig = join(xdgConfigHome, "indusvx", "mcp.json");
938
+ if (existsSync(userConfig)) {
939
+ try {
940
+ const userConfigs = parseConfigFile(userConfig);
941
+ configs.push(...userConfigs);
942
+ console.log(`[MCP] Loaded ${userConfigs.length} servers from user config`);
943
+ } catch (error) {
944
+ console.error(`[MCP] Error loading user config:`, error);
945
+ }
946
+ }
947
+ const legacyConfig = join(homedir(), ".indusvx", "agent", "mcp.json");
948
+ if (existsSync(legacyConfig)) {
949
+ try {
950
+ const legacyConfigs = parseConfigFile(legacyConfig);
951
+ configs.push(...legacyConfigs);
952
+ console.log(`[MCP] Loaded ${legacyConfigs.length} servers from legacy config`);
953
+ } catch (error) {
954
+ console.error(`[MCP] Error loading legacy config:`, error);
955
+ }
956
+ }
957
+ const legacyServersConfig = join(homedir(), ".indusvx", "agent", "mcp-servers.json");
958
+ if (existsSync(legacyServersConfig)) {
959
+ try {
960
+ const legacyConfigs = parseConfigFile(legacyServersConfig);
961
+ configs.push(...legacyConfigs);
962
+ console.log(`[MCP] Loaded ${legacyConfigs.length} servers from mcp-servers.json`);
963
+ } catch (error) {
964
+ console.error(`[MCP] Error loading mcp-servers.json:`, error);
965
+ }
966
+ }
967
+ return configs;
968
+ }
969
+ function parseConfigFile(path) {
970
+ const content = readFileSync(path, "utf-8");
971
+ const config = JSON.parse(content);
972
+ if (!config.servers) {
973
+ console.warn(`[MCP] Invalid config file ${path}: missing "servers" field`);
974
+ return [];
975
+ }
976
+ let serversArray;
977
+ if (Array.isArray(config.servers)) {
978
+ serversArray = config.servers;
979
+ } else if (typeof config.servers === "object") {
980
+ serversArray = Object.entries(config.servers).map(([name, serverConfig]) => ({
981
+ name,
982
+ ...serverConfig
983
+ }));
984
+ } else {
985
+ console.warn(`[MCP] Invalid config file ${path}: "servers" must be array or object`);
986
+ return [];
987
+ }
988
+ return serversArray.filter((server) => server.enabled !== false).map((server) => {
989
+ if (server.url) {
990
+ return {
991
+ name: server.name,
992
+ config: {
993
+ url: new URL(server.url),
994
+ headers: server.headers
995
+ },
996
+ timeout: server.timeout
997
+ };
998
+ } else if (server.command) {
999
+ return {
1000
+ name: server.name,
1001
+ config: {
1002
+ command: server.command,
1003
+ args: server.args,
1004
+ env: server.env
1005
+ },
1006
+ timeout: server.timeout
1007
+ };
1008
+ }
1009
+ throw new MCPError(
1010
+ `Invalid server config: ${server.name}`,
1011
+ "CONFIG_ERROR" /* CONFIG_ERROR */,
1012
+ { server }
1013
+ );
1014
+ });
1015
+ }
1016
+ function getUserConfigPath() {
1017
+ const xdgConfigHome = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
1018
+ return join(xdgConfigHome, "indusvx", "mcp.json");
1019
+ }
1020
+ function getProjectConfigPath(cwd = process.cwd()) {
1021
+ return join(cwd, ".indusvx", "mcp.json");
1022
+ }
1023
+ function ensureUserConfigDir() {
1024
+ const xdgConfigHome = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
1025
+ const configDir = join(xdgConfigHome, "indusvx");
1026
+ if (!existsSync(configDir)) {
1027
+ mkdirSync(configDir, { recursive: true });
1028
+ }
1029
+ return configDir;
1030
+ }
1031
+ function ensureProjectConfigDir(cwd = process.cwd()) {
1032
+ const configDir = join(cwd, ".indusvx");
1033
+ if (!existsSync(configDir)) {
1034
+ mkdirSync(configDir, { recursive: true });
1035
+ }
1036
+ return configDir;
1037
+ }
1038
+ function saveConfig(path, config) {
1039
+ const dir = dirname(path);
1040
+ if (!existsSync(dir)) {
1041
+ mkdirSync(dir, { recursive: true });
1042
+ }
1043
+ const content = JSON.stringify(config, null, 2);
1044
+ __require("fs").writeFileSync(path, content, "utf-8");
1045
+ }
1046
+ function saveUserConfig(config) {
1047
+ saveConfig(getUserConfigPath(), config);
1048
+ }
1049
+ function saveProjectConfig(config, cwd = process.cwd()) {
1050
+ saveConfig(getProjectConfigPath(cwd), config);
1051
+ }
1052
+ function createDefaultConfig() {
1053
+ return {
1054
+ servers: []
1055
+ };
1056
+ }
1057
+ var EXAMPLE_CONFIG = {
1058
+ servers: [
1059
+ {
1060
+ name: "filesystem",
1061
+ command: "npx",
1062
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"],
1063
+ enabled: true
1064
+ },
1065
+ {
1066
+ name: "github",
1067
+ command: "npx",
1068
+ args: ["-y", "@modelcontextprotocol/server-github"],
1069
+ env: {
1070
+ GITHUB_TOKEN: "your-github-token"
1071
+ },
1072
+ enabled: true
1073
+ },
1074
+ {
1075
+ name: "remote-server",
1076
+ url: "http://localhost:8080/mcp",
1077
+ headers: {
1078
+ Authorization: "Bearer your-token"
1079
+ },
1080
+ enabled: false
1081
+ }
1082
+ ]
1083
+ };
1084
+
1085
+ // src/facade/mcp-core/schema-converter.ts
1086
+ import { Type } from "@sinclair/typebox";
1087
+ function jsonSchemaToTypeBox(schema) {
1088
+ if (schema.type === "null") {
1089
+ return Type.Null({ description: schema.description });
1090
+ }
1091
+ if (schema.enum) {
1092
+ if (schema.enum.length === 1) {
1093
+ return Type.Literal(schema.enum[0], {
1094
+ description: schema.description
1095
+ });
1096
+ }
1097
+ const literals = schema.enum.map((e) => {
1098
+ if (e === null) return Type.Null();
1099
+ return Type.Literal(e);
1100
+ });
1101
+ return Type.Union(literals, { description: schema.description });
1102
+ }
1103
+ if (schema.const !== void 0) {
1104
+ if (schema.const === null) {
1105
+ return Type.Null({ description: schema.description });
1106
+ }
1107
+ return Type.Literal(schema.const, {
1108
+ description: schema.description
1109
+ });
1110
+ }
1111
+ if (schema.oneOf || schema.anyOf) {
1112
+ const schemas = (schema.oneOf || schema.anyOf).map((s) => jsonSchemaToTypeBox(s));
1113
+ return Type.Union(schemas, { description: schema.description });
1114
+ }
1115
+ if (schema.allOf) {
1116
+ const schemas = schema.allOf.map((s) => jsonSchemaToTypeBox(s));
1117
+ return Type.Intersect(schemas, { description: schema.description });
1118
+ }
1119
+ if (schema.type === "array" || Array.isArray(schema.type) && schema.type.includes("array")) {
1120
+ return convertArraySchema(schema);
1121
+ }
1122
+ if (schema.type === "object" || Array.isArray(schema.type) && schema.type.includes("object")) {
1123
+ return convertObjectSchema(schema);
1124
+ }
1125
+ switch (schema.type) {
1126
+ case "string":
1127
+ return convertStringSchema(schema);
1128
+ case "number":
1129
+ case "integer":
1130
+ return convertNumberSchema(schema);
1131
+ case "boolean":
1132
+ return Type.Boolean({ description: schema.description });
1133
+ default:
1134
+ if (schema.properties) {
1135
+ return convertObjectSchema(schema);
1136
+ }
1137
+ if (schema.items) {
1138
+ return convertArraySchema(schema);
1139
+ }
1140
+ return Type.Any({ description: schema.description });
1141
+ }
1142
+ }
1143
+ function convertStringSchema(schema) {
1144
+ return Type.String({
1145
+ description: schema.description,
1146
+ minLength: schema.minLength,
1147
+ maxLength: schema.maxLength,
1148
+ pattern: schema.pattern,
1149
+ format: schema.format
1150
+ });
1151
+ }
1152
+ function convertNumberSchema(schema) {
1153
+ const options = {
1154
+ description: schema.description
1155
+ };
1156
+ if (schema.minimum !== void 0) options.minimum = schema.minimum;
1157
+ if (schema.maximum !== void 0) options.maximum = schema.maximum;
1158
+ if (typeof schema.exclusiveMinimum === "number") options.exclusiveMinimum = schema.exclusiveMinimum;
1159
+ if (typeof schema.exclusiveMaximum === "number") options.exclusiveMaximum = schema.exclusiveMaximum;
1160
+ if (schema.multipleOf !== void 0) options.multipleOf = schema.multipleOf;
1161
+ return Type.Number(options);
1162
+ }
1163
+ function convertArraySchema(schema) {
1164
+ let itemsSchema;
1165
+ if (schema.items) {
1166
+ if (Array.isArray(schema.items)) {
1167
+ const items = schema.items.map((item) => jsonSchemaToTypeBox(item));
1168
+ itemsSchema = Type.Tuple(items);
1169
+ } else {
1170
+ itemsSchema = jsonSchemaToTypeBox(schema.items);
1171
+ }
1172
+ } else {
1173
+ itemsSchema = Type.Any();
1174
+ }
1175
+ return Type.Array(itemsSchema, {
1176
+ description: schema.description,
1177
+ minItems: schema.minItems,
1178
+ maxItems: schema.maxItems
1179
+ });
1180
+ }
1181
+ function convertObjectSchema(schema) {
1182
+ const properties = {};
1183
+ const required = new Set(schema.required ?? []);
1184
+ for (const [key, value] of Object.entries(schema.properties ?? {})) {
1185
+ let propSchema = jsonSchemaToTypeBox(value);
1186
+ if (!required.has(key)) {
1187
+ propSchema = Type.Optional(propSchema);
1188
+ }
1189
+ properties[key] = propSchema;
1190
+ }
1191
+ let additionalProperties = void 0;
1192
+ if (schema.additionalProperties === true) {
1193
+ additionalProperties = true;
1194
+ } else if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
1195
+ additionalProperties = jsonSchemaToTypeBox(schema.additionalProperties);
1196
+ } else if (schema.additionalProperties === false) {
1197
+ additionalProperties = false;
1198
+ }
1199
+ return Type.Object(properties, {
1200
+ description: schema.description,
1201
+ additionalProperties
1202
+ });
1203
+ }
1204
+ function applyPassthrough(schema) {
1205
+ const kind = schema[/* @__PURE__ */ Symbol.for("TypeBox.Kind")];
1206
+ if (kind === "Object") {
1207
+ const shape = { ...schema.properties };
1208
+ for (const key of Object.keys(shape)) {
1209
+ shape[key] = applyPassthrough(shape[key]);
1210
+ }
1211
+ return Type.Object(shape, {
1212
+ description: schema.description,
1213
+ additionalProperties: true
1214
+ });
1215
+ }
1216
+ if (kind === "Array") {
1217
+ return Type.Array(applyPassthrough(schema.items), {
1218
+ description: schema.description,
1219
+ minItems: schema.minItems,
1220
+ maxItems: schema.maxItems
1221
+ });
1222
+ }
1223
+ if (kind === "Union") {
1224
+ return Type.Union(
1225
+ schema.anyOf.map((s) => applyPassthrough(s)),
1226
+ { description: schema.description }
1227
+ );
1228
+ }
1229
+ if (kind === "Intersect") {
1230
+ return Type.Intersect(
1231
+ schema.allOf.map((s) => applyPassthrough(s)),
1232
+ { description: schema.description }
1233
+ );
1234
+ }
1235
+ if (kind === "Optional") {
1236
+ return Type.Optional(applyPassthrough(schema.schema ?? schema.type));
1237
+ }
1238
+ return schema;
1239
+ }
1240
+ function convertMCPInputSchema(inputSchema) {
1241
+ const typeboxSchema = jsonSchemaToTypeBox(inputSchema);
1242
+ return applyPassthrough(typeboxSchema);
1243
+ }
1244
+ function convertMCPOutputSchema(outputSchema) {
1245
+ if (!outputSchema) return void 0;
1246
+ const typeboxSchema = jsonSchemaToTypeBox(outputSchema);
1247
+ return applyPassthrough(typeboxSchema);
1248
+ }
1249
+
1250
+ // src/facade/mcp-core/tool-factory.ts
1251
+ function createMCPAgentToolFactory(mcpTool, client) {
1252
+ return () => {
1253
+ const namespacedName = `${client.serverName}_${mcpTool.name}`;
1254
+ const parameters = convertMCPInputSchema(mcpTool.inputSchema);
1255
+ return {
1256
+ name: namespacedName,
1257
+ label: mcpTool.name,
1258
+ description: `[${client.serverName}] ${mcpTool.description || ""}`,
1259
+ category: "mcp",
1260
+ parameters,
1261
+ execute: async (toolCallId, params, signal, onUpdate) => {
1262
+ const typedParams = params;
1263
+ try {
1264
+ if (!client.connected) {
1265
+ throw new MCPError(
1266
+ `MCP server ${client.serverName} not connected`,
1267
+ "NOT_CONNECTED" /* NOT_CONNECTED */,
1268
+ void 0,
1269
+ { serverName: client.serverName, toolName: mcpTool.name }
1270
+ );
1271
+ }
1272
+ if (signal?.aborted) {
1273
+ throw new MCPError(
1274
+ "Tool execution aborted",
1275
+ "TIMEOUT" /* TIMEOUT */,
1276
+ void 0,
1277
+ { serverName: client.serverName, toolName: mcpTool.name }
1278
+ );
1279
+ }
1280
+ const result = await client.callTool(mcpTool.name, typedParams);
1281
+ return convertMCPResultToAgentResult(result, client.serverName, mcpTool.name);
1282
+ } catch (error) {
1283
+ if (error instanceof MCPError) {
1284
+ return {
1285
+ content: [
1286
+ {
1287
+ type: "text",
1288
+ text: `MCP Error: ${error.message}`
1289
+ }
1290
+ ],
1291
+ details: {
1292
+ error: error.message,
1293
+ code: error.code,
1294
+ serverName: error.serverName,
1295
+ toolName: error.toolName
1296
+ },
1297
+ isError: true
1298
+ };
1299
+ }
1300
+ if (error instanceof Error && error.name === "AbortError") {
1301
+ return {
1302
+ content: [
1303
+ {
1304
+ type: "text",
1305
+ text: `Tool execution aborted`
1306
+ }
1307
+ ],
1308
+ details: {
1309
+ error: "Aborted"
1310
+ },
1311
+ isError: true
1312
+ };
1313
+ }
1314
+ return {
1315
+ content: [
1316
+ {
1317
+ type: "text",
1318
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`
1319
+ }
1320
+ ],
1321
+ details: {
1322
+ error: String(error)
1323
+ },
1324
+ isError: true
1325
+ };
1326
+ }
1327
+ }
1328
+ };
1329
+ };
1330
+ }
1331
+ function truncateTextForDisplay(text, maxLines = 4, maxChars = 500) {
1332
+ const lines = text.split("\n");
1333
+ if (lines.length <= maxLines && text.length <= maxChars) {
1334
+ return text;
1335
+ }
1336
+ let truncated = lines.slice(0, maxLines).join("\n");
1337
+ if (truncated.length > maxChars) {
1338
+ truncated = truncated.slice(0, maxChars);
1339
+ }
1340
+ const remaining = lines.length - maxLines;
1341
+ if (remaining > 0) {
1342
+ truncated += `
1343
+ ... (${remaining} more lines)`;
1344
+ } else if (text.length > maxChars) {
1345
+ truncated += "...";
1346
+ }
1347
+ return truncated;
1348
+ }
1349
+ function convertMCPResultToAgentResult(result, serverName, toolName) {
1350
+ const content = [];
1351
+ if (result.content && Array.isArray(result.content)) {
1352
+ for (const item of result.content) {
1353
+ if (item.type === "text") {
1354
+ const truncatedText = truncateTextForDisplay(item.text);
1355
+ content.push({ type: "text", text: truncatedText });
1356
+ } else if (item.type === "image") {
1357
+ content.push({
1358
+ type: "image",
1359
+ data: item.data,
1360
+ mimeType: item.mimeType
1361
+ });
1362
+ }
1363
+ }
1364
+ } else if (typeof result === "string") {
1365
+ const truncatedText = truncateTextForDisplay(result);
1366
+ content.push({ type: "text", text: truncatedText });
1367
+ } else {
1368
+ const jsonStr = JSON.stringify(result, null, 2);
1369
+ const truncatedText = truncateTextForDisplay(jsonStr);
1370
+ content.push({ type: "text", text: truncatedText });
1371
+ }
1372
+ return {
1373
+ content,
1374
+ details: result,
1375
+ isError: result.isError || false
1376
+ };
1377
+ }
1378
+ async function registerMCPToolsInRegistry(registry, client, tools) {
1379
+ let registeredCount = 0;
1380
+ for (const tool of tools) {
1381
+ try {
1382
+ const factory = createMCPAgentToolFactory(tool, client);
1383
+ registry.register(
1384
+ {
1385
+ name: `${client.serverName}_${tool.name}`,
1386
+ label: tool.name,
1387
+ category: "mcp",
1388
+ description: `[${client.serverName}] ${tool.description || ""}`
1389
+ },
1390
+ factory
1391
+ );
1392
+ registeredCount++;
1393
+ } catch (error) {
1394
+ console.error(`Failed to register MCP tool ${tool.name}:`, error);
1395
+ }
1396
+ }
1397
+ return registeredCount;
1398
+ }
1399
+ function createMCPToolsMap(tools, client) {
1400
+ const toolMap = /* @__PURE__ */ new Map();
1401
+ for (const tool of tools) {
1402
+ const factory = createMCPAgentToolFactory(tool, client);
1403
+ const namespacedName = `${client.serverName}_${tool.name}`;
1404
+ toolMap.set(namespacedName, factory());
1405
+ }
1406
+ return toolMap;
1407
+ }
1408
+ function createMCPToolsRecord(tools, client) {
1409
+ const toolRecord = {};
1410
+ for (const tool of tools) {
1411
+ const factory = createMCPAgentToolFactory(tool, client);
1412
+ const namespacedName = `${client.serverName}_${tool.name}`;
1413
+ toolRecord[namespacedName] = factory();
1414
+ }
1415
+ return toolRecord;
1416
+ }
1417
+
1418
+ // src/facade/mcp-core/server.ts
1419
+ var MCPServer = class {
1420
+ constructor(options) {
1421
+ this.options = options;
1422
+ this.name = options.name;
1423
+ this.version = options.version || "1.0.0";
1424
+ for (const tool of options.tools) {
1425
+ const converted = this.convertTool(tool);
1426
+ this.tools.set(converted.name, converted);
1427
+ }
1428
+ console.error(`[MCP Server] Initialized "${this.name}" v${this.version} with ${this.tools.size} tools`);
1429
+ }
1430
+ options;
1431
+ tools = /* @__PURE__ */ new Map();
1432
+ buffer = "";
1433
+ isConnected = false;
1434
+ /** Server name */
1435
+ name;
1436
+ /** Server version */
1437
+ version;
1438
+ // ========================================================================
1439
+ // Lifecycle
1440
+ // ========================================================================
1441
+ /**
1442
+ * Start the server using stdio transport.
1443
+ *
1444
+ * This is typically used when running the server as a subprocess
1445
+ * that MCP clients (like Claude Desktop) spawn.
1446
+ */
1447
+ async startStdio() {
1448
+ this.isConnected = true;
1449
+ console.error(`[MCP Server] Starting stdio transport`);
1450
+ process.stdin.setEncoding("utf8");
1451
+ process.stdin.on("data", (chunk) => {
1452
+ this.buffer += chunk;
1453
+ this.processBuffer();
1454
+ });
1455
+ process.stdin.on("end", () => {
1456
+ console.error(`[MCP Server] Stdin closed, shutting down`);
1457
+ this.isConnected = false;
1458
+ process.exit(0);
1459
+ });
1460
+ return new Promise(() => {
1461
+ });
1462
+ }
1463
+ /**
1464
+ * Stop the server.
1465
+ */
1466
+ async stop() {
1467
+ this.isConnected = false;
1468
+ console.error(`[MCP Server] Stopped`);
1469
+ }
1470
+ // ========================================================================
1471
+ // Tool Management
1472
+ // ========================================================================
1473
+ /**
1474
+ * Add a tool to the server.
1475
+ */
1476
+ addTool(tool) {
1477
+ const converted = this.convertTool(tool);
1478
+ this.tools.set(converted.name, converted);
1479
+ console.error(`[MCP Server] Added tool: ${converted.name}`);
1480
+ }
1481
+ /**
1482
+ * Remove a tool from the server.
1483
+ */
1484
+ removeTool(name) {
1485
+ const result = this.tools.delete(name);
1486
+ if (result) {
1487
+ console.error(`[MCP Server] Removed tool: ${name}`);
1488
+ }
1489
+ return result;
1490
+ }
1491
+ /**
1492
+ * List all available tools.
1493
+ */
1494
+ listTools() {
1495
+ return Array.from(this.tools.values());
1496
+ }
1497
+ // ========================================================================
1498
+ // Private Methods
1499
+ // ========================================================================
1500
+ convertTool(tool) {
1501
+ const inputSchema = this.typeBoxToJsonSchema(tool.parameters);
1502
+ return {
1503
+ name: tool.name,
1504
+ description: tool.description || tool.label,
1505
+ inputSchema,
1506
+ execute: async (args) => {
1507
+ const result = await tool.execute(
1508
+ `mcp_${Date.now()}`,
1509
+ args,
1510
+ void 0,
1511
+ void 0
1512
+ );
1513
+ return result;
1514
+ }
1515
+ };
1516
+ }
1517
+ typeBoxToJsonSchema(schema) {
1518
+ if (!schema) {
1519
+ return { type: "object", properties: {} };
1520
+ }
1521
+ if (schema.type || schema.properties || schema.$schema) {
1522
+ return schema;
1523
+ }
1524
+ const jsonSchema = schema.toJSONSchema?.() || schema;
1525
+ return {
1526
+ type: "object",
1527
+ properties: jsonSchema.properties || {},
1528
+ required: jsonSchema.required || []
1529
+ };
1530
+ }
1531
+ processBuffer() {
1532
+ const lines = this.buffer.split("\n");
1533
+ this.buffer = lines.pop() || "";
1534
+ for (const line of lines) {
1535
+ const trimmed = line.trim();
1536
+ if (!trimmed) continue;
1537
+ try {
1538
+ const message = JSON.parse(trimmed);
1539
+ this.handleMessage(message);
1540
+ } catch (error) {
1541
+ console.error(`[MCP Server] Failed to parse message: ${trimmed}`);
1542
+ }
1543
+ }
1544
+ }
1545
+ async handleMessage(message) {
1546
+ console.error(`[MCP Server] Received: ${message.method || `response to ${message.id}`}`);
1547
+ try {
1548
+ if (message.method) {
1549
+ const response = await this.handleRequest(message);
1550
+ this.sendResponse(message.id, response);
1551
+ }
1552
+ } catch (error) {
1553
+ console.error(`[MCP Server] Error handling message:`, error);
1554
+ if (message.id !== void 0) {
1555
+ this.sendError(message.id, error);
1556
+ }
1557
+ }
1558
+ }
1559
+ async handleRequest(message) {
1560
+ switch (message.method) {
1561
+ case "initialize":
1562
+ return this.handleInitialize(message.params);
1563
+ case "tools/list":
1564
+ return this.handleToolsList();
1565
+ case "tools/call":
1566
+ return this.handleToolsCall(message.params);
1567
+ case "resources/list":
1568
+ return { resources: [] };
1569
+ case "prompts/list":
1570
+ return { prompts: [] };
1571
+ default:
1572
+ throw new MCPError(
1573
+ `Unknown method: ${message.method}`,
1574
+ "PROTOCOL_ERROR" /* PROTOCOL_ERROR */
1575
+ );
1576
+ }
1577
+ }
1578
+ handleInitialize(params) {
1579
+ console.error(`[MCP Server] Initialize from client: ${params?.clientInfo?.name || "unknown"}`);
1580
+ return {
1581
+ protocolVersion: "2024-11-05",
1582
+ serverInfo: {
1583
+ name: this.name,
1584
+ version: this.version
1585
+ },
1586
+ capabilities: {
1587
+ tools: {}
1588
+ }
1589
+ };
1590
+ }
1591
+ handleToolsList() {
1592
+ const tools = Array.from(this.tools.values()).map((tool) => ({
1593
+ name: tool.name,
1594
+ description: tool.description,
1595
+ inputSchema: tool.inputSchema
1596
+ }));
1597
+ return { tools };
1598
+ }
1599
+ async handleToolsCall(params) {
1600
+ const { name, arguments: args } = params;
1601
+ const tool = this.tools.get(name);
1602
+ if (!tool) {
1603
+ return {
1604
+ content: [{ type: "text", text: `Unknown tool: ${name}` }],
1605
+ isError: true
1606
+ };
1607
+ }
1608
+ try {
1609
+ console.error(`[MCP Server] Executing tool: ${name}`);
1610
+ const result = await tool.execute(args || {});
1611
+ if (result && typeof result === "object" && "content" in result) {
1612
+ const agentResult = result;
1613
+ const content = [];
1614
+ for (const item of agentResult.content || []) {
1615
+ if (item.type === "text") {
1616
+ content.push({ type: "text", text: item.text });
1617
+ } else if (item.type === "image") {
1618
+ content.push({
1619
+ type: "text",
1620
+ text: `[Image: ${item.mimeType}, ${item.data.length} bytes]`
1621
+ });
1622
+ }
1623
+ }
1624
+ return {
1625
+ content,
1626
+ isError: agentResult.isError || false
1627
+ };
1628
+ }
1629
+ return {
1630
+ content: [
1631
+ {
1632
+ type: "text",
1633
+ text: typeof result === "string" ? result : JSON.stringify(result, null, 2)
1634
+ }
1635
+ ]
1636
+ };
1637
+ } catch (error) {
1638
+ console.error(`[MCP Server] Tool execution failed:`, error);
1639
+ return {
1640
+ content: [
1641
+ {
1642
+ type: "text",
1643
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`
1644
+ }
1645
+ ],
1646
+ isError: true
1647
+ };
1648
+ }
1649
+ }
1650
+ sendResponse(id, result) {
1651
+ const response = {
1652
+ jsonrpc: "2.0",
1653
+ id,
1654
+ result
1655
+ };
1656
+ process.stdout.write(JSON.stringify(response) + "\n");
1657
+ }
1658
+ sendError(id, error) {
1659
+ const response = {
1660
+ jsonrpc: "2.0",
1661
+ id,
1662
+ error: {
1663
+ code: -32e3,
1664
+ message: error instanceof Error ? error.message : String(error)
1665
+ }
1666
+ };
1667
+ process.stdout.write(JSON.stringify(response) + "\n");
1668
+ }
1669
+ };
1670
+ function createMCPServer(options) {
1671
+ return new MCPServer(options);
1672
+ }
1673
+
1674
+ // src/facade/mcp-core/index.ts
1675
+ async function initializeMCP(registry, cwd = process.cwd()) {
1676
+ const configs = loadMCPConfig(cwd);
1677
+ if (configs.length === 0) {
1678
+ console.log("[MCP] No servers configured");
1679
+ return { pool: new MCPClientPool({ servers: [] }), toolCount: 0 };
1680
+ }
1681
+ const pool = new MCPClientPool({ servers: configs });
1682
+ await pool.connectAll();
1683
+ let totalTools = 0;
1684
+ for (const client of pool.getAllClients()) {
1685
+ try {
1686
+ const tools = await client.listTools();
1687
+ const count = await registerMCPToolsInRegistry(registry, client, tools);
1688
+ totalTools += count;
1689
+ console.log(`[MCP] Registered ${count} tools from ${client.serverName}`);
1690
+ } catch (error) {
1691
+ console.error(`[MCP] Failed to register tools from ${client.serverName}:`, error);
1692
+ }
1693
+ }
1694
+ return { pool, toolCount: totalTools };
1695
+ }
1696
+ export {
1697
+ EXAMPLE_CONFIG,
1698
+ MCPClient,
1699
+ MCPClientPool,
1700
+ MCPError,
1701
+ MCPErrorCode,
1702
+ MCPServer,
1703
+ applyPassthrough,
1704
+ convertMCPInputSchema,
1705
+ convertMCPOutputSchema,
1706
+ createConfigError,
1707
+ createConnectionError,
1708
+ createDefaultConfig,
1709
+ createInvalidParametersError,
1710
+ createMCPAgentToolFactory,
1711
+ createMCPServer,
1712
+ createMCPToolsMap,
1713
+ createMCPToolsRecord,
1714
+ createNotConnectedError,
1715
+ createSchemaConversionError,
1716
+ createServerError,
1717
+ createTimeoutError,
1718
+ createToolNotFoundError,
1719
+ ensureProjectConfigDir,
1720
+ ensureUserConfigDir,
1721
+ getProjectConfigPath,
1722
+ getUserConfigPath,
1723
+ initializeMCP,
1724
+ isMCPError,
1725
+ isSessionError,
1726
+ jsonSchemaToTypeBox,
1727
+ loadMCPConfig,
1728
+ registerMCPToolsInRegistry,
1729
+ saveConfig,
1730
+ saveProjectConfig,
1731
+ saveUserConfig
1732
+ };