@clinebot/core 0.0.37 → 0.0.38

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 (617) hide show
  1. package/README.md +11 -1
  2. package/dist/ClineCore.d.ts +18 -214
  3. package/dist/account/cline-account-service.d.ts +0 -1
  4. package/dist/account/index.d.ts +0 -1
  5. package/dist/account/rpc.d.ts +0 -1
  6. package/dist/account/types.d.ts +0 -1
  7. package/dist/auth/bounded-ttl-cache.d.ts +0 -1
  8. package/dist/auth/client.d.ts +0 -1
  9. package/dist/auth/cline.d.ts +0 -5
  10. package/dist/auth/codex.d.ts +0 -1
  11. package/dist/auth/oca.d.ts +0 -1
  12. package/dist/auth/server.d.ts +0 -1
  13. package/dist/auth/types.d.ts +0 -1
  14. package/dist/auth/utils.d.ts +0 -1
  15. package/dist/cline-core/automation.d.ts +34 -0
  16. package/dist/cline-core/runtime-services.d.ts +5 -0
  17. package/dist/cline-core/start-input.d.ts +10 -0
  18. package/dist/cline-core/telemetry.d.ts +10 -0
  19. package/dist/cline-core/types.d.ts +221 -0
  20. package/dist/cron/{cron-event-ingress.d.ts → events/cron-event-ingress.d.ts} +1 -2
  21. package/dist/cron/{cron-report-writer.d.ts → reports/cron-report-writer.d.ts} +1 -2
  22. package/dist/cron/{cron-materializer.d.ts → runner/cron-materializer.d.ts} +1 -2
  23. package/dist/cron/{cron-runner.d.ts → runner/cron-runner.d.ts} +6 -4
  24. package/dist/cron/{resource-limiter.d.ts → runner/resource-limiter.d.ts} +0 -1
  25. package/dist/cron/schedule/scheduler.d.ts +12 -0
  26. package/dist/cron/{cron-service.d.ts → service/cron-service.d.ts} +4 -5
  27. package/dist/cron/{schedule-command-service.d.ts → service/schedule-command-service.d.ts} +0 -1
  28. package/dist/cron/{schedule-service.d.ts → service/schedule-service.d.ts} +20 -22
  29. package/dist/cron/{cron-reconciler.d.ts → specs/cron-reconciler.d.ts} +1 -2
  30. package/dist/cron/{cron-spec-parser.d.ts → specs/cron-spec-parser.d.ts} +0 -1
  31. package/dist/cron/{cron-watcher.d.ts → specs/cron-watcher.d.ts} +0 -1
  32. package/dist/cron/{cron-schema.d.ts → store/cron-schema.d.ts} +0 -1
  33. package/dist/cron/{sqlite-cron-store.d.ts → store/sqlite-cron-store.d.ts} +12 -2
  34. package/dist/extensions/config/index.d.ts +4 -7
  35. package/dist/extensions/config/runtime-commands.d.ts +0 -1
  36. package/dist/extensions/config/skill-frontmatter-toggle.d.ts +11 -0
  37. package/dist/extensions/config/unified-config-file-watcher.d.ts +0 -1
  38. package/dist/extensions/config/user-instruction-config-loader.d.ts +0 -1
  39. package/dist/extensions/config/user-instruction-plugin.d.ts +25 -0
  40. package/dist/extensions/config/user-instruction-service.d.ts +23 -0
  41. package/dist/extensions/context/agentic-compaction.d.ts +0 -1
  42. package/dist/extensions/context/basic-compaction.d.ts +0 -1
  43. package/dist/extensions/context/compaction-shared.d.ts +0 -1
  44. package/dist/extensions/context/compaction.d.ts +0 -1
  45. package/dist/extensions/index.d.ts +0 -1
  46. package/dist/extensions/mcp/client.d.ts +0 -1
  47. package/dist/extensions/mcp/config-loader.d.ts +0 -1
  48. package/dist/extensions/mcp/index.d.ts +0 -1
  49. package/dist/extensions/mcp/manager.d.ts +0 -1
  50. package/dist/extensions/mcp/name-transform.d.ts +0 -1
  51. package/dist/extensions/mcp/policies.d.ts +0 -1
  52. package/dist/extensions/mcp/tools.d.ts +2 -3
  53. package/dist/extensions/mcp/types.d.ts +3 -4
  54. package/dist/extensions/plugin/plugin-config-loader.d.ts +0 -1
  55. package/dist/extensions/plugin/plugin-load-report.d.ts +0 -1
  56. package/dist/extensions/plugin/plugin-loader.d.ts +0 -1
  57. package/dist/extensions/plugin/plugin-module-import.d.ts +0 -1
  58. package/dist/extensions/plugin/plugin-sandbox.d.ts +0 -1
  59. package/dist/extensions/plugin/plugin-targeting.d.ts +0 -1
  60. package/dist/extensions/plugin-sandbox-bootstrap.js +1 -446
  61. package/dist/extensions/tools/constants.d.ts +0 -1
  62. package/dist/extensions/tools/definitions.d.ts +13 -14
  63. package/dist/extensions/tools/executors/apply-patch-parser.d.ts +0 -1
  64. package/dist/extensions/tools/executors/apply-patch.d.ts +0 -1
  65. package/dist/extensions/tools/executors/bash.d.ts +0 -1
  66. package/dist/extensions/tools/executors/editor.d.ts +0 -1
  67. package/dist/extensions/tools/executors/file-read.d.ts +0 -1
  68. package/dist/extensions/tools/executors/index.d.ts +0 -1
  69. package/dist/extensions/tools/executors/search.d.ts +0 -1
  70. package/dist/extensions/tools/executors/web-fetch.d.ts +0 -1
  71. package/dist/extensions/tools/helpers.d.ts +0 -1
  72. package/dist/extensions/tools/index.d.ts +2 -3
  73. package/dist/extensions/tools/model-tool-routing.d.ts +0 -1
  74. package/dist/extensions/tools/presets.d.ts +4 -5
  75. package/dist/extensions/tools/runtime.d.ts +0 -1
  76. package/dist/extensions/tools/schemas.d.ts +0 -1
  77. package/dist/extensions/tools/team/delegated-agent.d.ts +3 -4
  78. package/dist/extensions/tools/team/index.d.ts +0 -1
  79. package/dist/extensions/tools/team/multi-agent.d.ts +1 -2
  80. package/dist/extensions/tools/team/projections.d.ts +0 -1
  81. package/dist/extensions/tools/team/runtime.d.ts +0 -1
  82. package/dist/extensions/tools/team/spawn-agent-tool.d.ts +4 -5
  83. package/dist/extensions/tools/team/subagent-prompts.d.ts +0 -1
  84. package/dist/extensions/tools/team/team-tools.d.ts +7 -8
  85. package/dist/extensions/tools/types.d.ts +11 -12
  86. package/dist/hooks/checkpoint-hooks.d.ts +9 -2
  87. package/dist/hooks/hook-extension.d.ts +2 -0
  88. package/dist/{extensions/config/hooks-config-loader.d.ts → hooks/hook-file-config.d.ts} +1 -2
  89. package/dist/hooks/hook-file-hooks.d.ts +2 -2
  90. package/dist/hooks/index.d.ts +3 -1
  91. package/dist/hooks/subprocess-runner.d.ts +0 -1
  92. package/dist/hooks/subprocess.d.ts +0 -1
  93. package/dist/hub/{connect.d.ts → client/connect.d.ts} +1 -2
  94. package/dist/hub/{client.d.ts → client/index.d.ts} +41 -4
  95. package/dist/hub/{session-client.d.ts → client/session-client.d.ts} +41 -13
  96. package/dist/hub/{ui-client.d.ts → client/ui-client.d.ts} +1 -1
  97. package/dist/hub/daemon/entry.d.ts +1 -0
  98. package/dist/hub/daemon/entry.js +720 -0
  99. package/dist/hub/{daemon.d.ts → daemon/index.d.ts} +6 -3
  100. package/dist/hub/{runtime-handlers.d.ts → daemon/runtime-handlers.d.ts} +3 -2
  101. package/dist/hub/{start-shared-server.d.ts → daemon/start-shared-server.d.ts} +1 -2
  102. package/dist/hub/{defaults.d.ts → discovery/defaults.d.ts} +0 -1
  103. package/dist/hub/{discovery.d.ts → discovery/index.d.ts} +2 -1
  104. package/dist/hub/{workspace.d.ts → discovery/workspace.d.ts} +1 -2
  105. package/dist/hub/index.d.ts +28 -11
  106. package/dist/hub/index.js +484 -1061
  107. package/dist/hub/runtime-host/hub-runtime-host.d.ts +73 -0
  108. package/dist/{transports/remote.d.ts → hub/runtime-host/remote-runtime-host.d.ts} +1 -2
  109. package/dist/hub/{browser-websocket.d.ts → server/browser-websocket.d.ts} +1 -2
  110. package/dist/hub/{transport.d.ts → server/command-transport.d.ts} +0 -1
  111. package/dist/hub/server/handlers/approval-handlers.d.ts +17 -0
  112. package/dist/hub/server/handlers/capability-handlers.d.ts +12 -0
  113. package/dist/hub/server/handlers/client-handlers.d.ts +6 -0
  114. package/dist/hub/server/handlers/context.d.ts +56 -0
  115. package/dist/hub/server/handlers/run-handlers.d.ts +5 -0
  116. package/dist/hub/server/handlers/session-event-projector.d.ts +7 -0
  117. package/dist/hub/server/handlers/session-handlers.d.ts +20 -0
  118. package/dist/hub/server/hub-client-contributions.d.ts +19 -0
  119. package/dist/hub/server/hub-notifications.d.ts +7 -0
  120. package/dist/hub/server/hub-schedule-events.d.ts +2 -0
  121. package/dist/hub/server/hub-server-logging.d.ts +2 -0
  122. package/dist/hub/server/hub-server-options.d.ts +55 -0
  123. package/dist/hub/server/hub-server-transport.d.ts +34 -0
  124. package/dist/hub/server/hub-session-records.d.ts +8 -0
  125. package/dist/hub/server/hub-websocket-server.d.ts +6 -0
  126. package/dist/hub/server/index.d.ts +4 -0
  127. package/dist/hub/{native-transport.d.ts → server/native-transport.d.ts} +1 -2
  128. package/dist/index.d.ts +51 -41
  129. package/dist/index.js +214 -872
  130. package/dist/runtime/capabilities/index.d.ts +2 -0
  131. package/dist/runtime/capabilities/normalize-runtime-capabilities.d.ts +2 -0
  132. package/dist/runtime/capabilities/runtime-capabilities.d.ts +6 -0
  133. package/dist/runtime/config/agent-message-codec.d.ts +6 -0
  134. package/dist/runtime/{agent-runtime-config-builder.d.ts → config/agent-runtime-config-builder.d.ts} +12 -21
  135. package/dist/runtime/host/history.d.ts +18 -0
  136. package/dist/runtime/{host.d.ts → host/host.d.ts} +3 -4
  137. package/dist/runtime/host/local/agent-event-bridge.d.ts +29 -0
  138. package/dist/runtime/host/local/session-record.d.ts +6 -0
  139. package/dist/runtime/host/local/session-service-invoker.d.ts +4 -0
  140. package/dist/runtime/host/local/spawn-tool.d.ts +15 -0
  141. package/dist/runtime/host/local/user-files.d.ts +1 -0
  142. package/dist/runtime/host/local-runtime-host.d.ts +118 -0
  143. package/dist/{transports → runtime/host}/runtime-host-support.d.ts +3 -5
  144. package/dist/runtime/{runtime-host.d.ts → host/runtime-host.d.ts} +66 -31
  145. package/dist/runtime/{runtime-builder.d.ts → orchestration/runtime-builder.d.ts} +0 -1
  146. package/dist/runtime/{runtime-event-adapter.d.ts → orchestration/runtime-event-adapter.d.ts} +0 -1
  147. package/dist/runtime/{runtime-oauth-token-manager.d.ts → orchestration/runtime-oauth-token-manager.d.ts} +1 -2
  148. package/dist/runtime/{session-runtime-orchestrator.d.ts → orchestration/session-runtime-orchestrator.d.ts} +20 -63
  149. package/dist/runtime/{session-runtime.d.ts → orchestration/session-runtime.d.ts} +14 -12
  150. package/dist/runtime/{user-input-builder.d.ts → orchestration/user-input-builder.d.ts} +2 -11
  151. package/dist/runtime/{loop-detection.d.ts → safety/loop-detection.d.ts} +0 -1
  152. package/dist/runtime/{mistake-tracker.d.ts → safety/mistake-tracker.d.ts} +0 -1
  153. package/dist/runtime/{rules.d.ts → safety/rules.d.ts} +1 -2
  154. package/dist/runtime/{subprocess-sandbox.d.ts → tools/subprocess-sandbox.d.ts} +15 -1
  155. package/dist/runtime/{tool-approval.d.ts → tools/tool-approval.d.ts} +0 -1
  156. package/dist/runtime/turn-queue/pending-prompt-service.d.ts +64 -0
  157. package/dist/services/agent-events.d.ts +1 -2
  158. package/dist/services/config.d.ts +0 -1
  159. package/dist/services/global-settings.d.ts +27 -5
  160. package/dist/{llms → services/llms}/cline-recommended-models.d.ts +1 -2
  161. package/dist/{llms → services/llms}/configured-provider-registry.d.ts +0 -1
  162. package/dist/services/llms/handler-factory.d.ts +3 -0
  163. package/dist/{llms → services/llms}/provider-defaults.d.ts +2 -1
  164. package/dist/{llms → services/llms}/provider-settings.d.ts +5 -3
  165. package/dist/{llms → services/llms}/runtime-config.d.ts +0 -1
  166. package/dist/{llms → services/llms}/runtime-registry.d.ts +0 -1
  167. package/dist/{llms → services/llms}/runtime-types.d.ts +0 -1
  168. package/dist/services/local-runtime-bootstrap.d.ts +7 -9
  169. package/dist/services/plugin-tools.d.ts +0 -1
  170. package/dist/services/providers/local-provider-registry.d.ts +9 -10
  171. package/dist/services/providers/local-provider-service.d.ts +36 -3
  172. package/dist/services/providers/model-source.d.ts +3 -0
  173. package/dist/services/session-artifacts.d.ts +0 -1
  174. package/dist/services/session-data.d.ts +2 -3
  175. package/dist/services/session-telemetry.d.ts +0 -1
  176. package/dist/services/storage/file-team-store.d.ts +0 -1
  177. package/dist/services/storage/provider-settings-legacy-migration.d.ts +0 -1
  178. package/dist/services/storage/provider-settings-manager.d.ts +3 -4
  179. package/dist/services/storage/sqlite-session-store.d.ts +0 -1
  180. package/dist/services/storage/sqlite-team-store.d.ts +0 -1
  181. package/dist/services/storage/team-store.d.ts +0 -1
  182. package/dist/services/telemetry/ITelemetryAdapter.d.ts +0 -1
  183. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts +0 -1
  184. package/dist/services/telemetry/OpenTelemetryProvider.d.ts +32 -1
  185. package/dist/services/telemetry/TelemetryLoggerSink.d.ts +0 -1
  186. package/dist/services/telemetry/TelemetryService.d.ts +0 -1
  187. package/dist/services/telemetry/core-events.d.ts +46 -3
  188. package/dist/services/telemetry/distinct-id.d.ts +0 -1
  189. package/dist/services/telemetry/index.d.ts +1 -2
  190. package/dist/services/telemetry/index.js +1 -0
  191. package/dist/services/usage.d.ts +10 -2
  192. package/dist/services/workspace/file-indexer.d.ts +0 -1
  193. package/dist/services/workspace/index.d.ts +0 -1
  194. package/dist/services/workspace/mention-enricher.d.ts +0 -1
  195. package/dist/{session → services/workspace}/workspace-manager.d.ts +0 -1
  196. package/dist/services/{workspace-manifest.d.ts → workspace/workspace-manifest.d.ts} +20 -5
  197. package/dist/services/workspace/workspace-telemetry.d.ts +18 -0
  198. package/dist/session/checkpoint-restore.d.ts +20 -0
  199. package/dist/session/{session-graph.d.ts → models/session-graph.d.ts} +2 -3
  200. package/dist/session/{session-manifest.d.ts → models/session-manifest.d.ts} +0 -1
  201. package/dist/session/{session-row.d.ts → models/session-row.d.ts} +2 -3
  202. package/dist/session/{file-session-service.d.ts → services/file-session-service.d.ts} +1 -2
  203. package/dist/session/{message-builder.d.ts → services/message-builder.d.ts} +7 -16
  204. package/dist/session/{persistence-service.d.ts → services/persistence-service.d.ts} +10 -11
  205. package/dist/session/{session-service.d.ts → services/session-service.d.ts} +4 -5
  206. package/dist/session/session-snapshot.d.ts +57 -0
  207. package/dist/session/session-versioning-service.d.ts +48 -0
  208. package/dist/session/{conversation-store.d.ts → stores/conversation-store.d.ts} +0 -1
  209. package/dist/session/{session-manifest-store.d.ts → stores/session-manifest-store.d.ts} +3 -4
  210. package/dist/session/{team-persistence-store.d.ts → stores/team-persistence-store.d.ts} +2 -3
  211. package/dist/session/team/index.d.ts +2 -0
  212. package/dist/session/{subagent-session-manager.d.ts → team/team-child-session-manager.d.ts} +7 -8
  213. package/dist/session/{session-team-coordination.d.ts → team/team-session-coordinator.d.ts} +3 -4
  214. package/dist/settings/index.d.ts +2 -0
  215. package/dist/settings/settings-service.d.ts +6 -0
  216. package/dist/settings/types.d.ts +42 -0
  217. package/dist/types/chat-schema.d.ts +24 -7
  218. package/dist/types/common.d.ts +0 -1
  219. package/dist/types/config.d.ts +2 -3
  220. package/dist/types/events.d.ts +8 -1
  221. package/dist/types/provider-settings.d.ts +2 -3
  222. package/dist/types/session.d.ts +22 -6
  223. package/dist/types/sessions.d.ts +0 -1
  224. package/dist/types/storage.d.ts +0 -1
  225. package/dist/types.d.ts +17 -14
  226. package/dist/version.d.ts +0 -1
  227. package/package.json +16 -12
  228. package/dist/ClineCore.d.ts.map +0 -1
  229. package/dist/account/cline-account-service.d.ts.map +0 -1
  230. package/dist/account/index.d.ts.map +0 -1
  231. package/dist/account/rpc.d.ts.map +0 -1
  232. package/dist/account/types.d.ts.map +0 -1
  233. package/dist/auth/bounded-ttl-cache.d.ts.map +0 -1
  234. package/dist/auth/client.d.ts.map +0 -1
  235. package/dist/auth/cline.d.ts.map +0 -1
  236. package/dist/auth/codex.d.ts.map +0 -1
  237. package/dist/auth/oca.d.ts.map +0 -1
  238. package/dist/auth/server.d.ts.map +0 -1
  239. package/dist/auth/types.d.ts.map +0 -1
  240. package/dist/auth/utils.d.ts.map +0 -1
  241. package/dist/cron/cron-event-ingress.d.ts.map +0 -1
  242. package/dist/cron/cron-materializer.d.ts.map +0 -1
  243. package/dist/cron/cron-reconciler.d.ts.map +0 -1
  244. package/dist/cron/cron-report-writer.d.ts.map +0 -1
  245. package/dist/cron/cron-runner.d.ts.map +0 -1
  246. package/dist/cron/cron-schema.d.ts.map +0 -1
  247. package/dist/cron/cron-service.d.ts.map +0 -1
  248. package/dist/cron/cron-spec-parser.d.ts.map +0 -1
  249. package/dist/cron/cron-watcher.d.ts.map +0 -1
  250. package/dist/cron/resource-limiter.d.ts.map +0 -1
  251. package/dist/cron/schedule-command-service.d.ts.map +0 -1
  252. package/dist/cron/schedule-service.d.ts.map +0 -1
  253. package/dist/cron/scheduler.d.ts +0 -68
  254. package/dist/cron/scheduler.d.ts.map +0 -1
  255. package/dist/cron/sqlite-cron-store.d.ts.map +0 -1
  256. package/dist/cron/sqlite-schedule-store.d.ts +0 -52
  257. package/dist/cron/sqlite-schedule-store.d.ts.map +0 -1
  258. package/dist/extensions/config/agent-config-loader.d.ts +0 -20
  259. package/dist/extensions/config/agent-config-loader.d.ts.map +0 -1
  260. package/dist/extensions/config/agent-config-parser.d.ts +0 -29
  261. package/dist/extensions/config/agent-config-parser.d.ts.map +0 -1
  262. package/dist/extensions/config/hooks-config-loader.d.ts.map +0 -1
  263. package/dist/extensions/config/index.d.ts.map +0 -1
  264. package/dist/extensions/config/runtime-commands.d.ts.map +0 -1
  265. package/dist/extensions/config/unified-config-file-watcher.d.ts.map +0 -1
  266. package/dist/extensions/config/user-instruction-config-loader.d.ts.map +0 -1
  267. package/dist/extensions/context/agentic-compaction.d.ts.map +0 -1
  268. package/dist/extensions/context/basic-compaction.d.ts.map +0 -1
  269. package/dist/extensions/context/compaction-shared.d.ts.map +0 -1
  270. package/dist/extensions/context/compaction.d.ts.map +0 -1
  271. package/dist/extensions/index.d.ts.map +0 -1
  272. package/dist/extensions/mcp/client.d.ts.map +0 -1
  273. package/dist/extensions/mcp/config-loader.d.ts.map +0 -1
  274. package/dist/extensions/mcp/index.d.ts.map +0 -1
  275. package/dist/extensions/mcp/manager.d.ts.map +0 -1
  276. package/dist/extensions/mcp/name-transform.d.ts.map +0 -1
  277. package/dist/extensions/mcp/policies.d.ts.map +0 -1
  278. package/dist/extensions/mcp/tools.d.ts.map +0 -1
  279. package/dist/extensions/mcp/types.d.ts.map +0 -1
  280. package/dist/extensions/plugin/plugin-config-loader.d.ts.map +0 -1
  281. package/dist/extensions/plugin/plugin-load-report.d.ts.map +0 -1
  282. package/dist/extensions/plugin/plugin-loader.d.ts.map +0 -1
  283. package/dist/extensions/plugin/plugin-module-import.d.ts.map +0 -1
  284. package/dist/extensions/plugin/plugin-sandbox.d.ts.map +0 -1
  285. package/dist/extensions/plugin/plugin-targeting.d.ts.map +0 -1
  286. package/dist/extensions/tools/constants.d.ts.map +0 -1
  287. package/dist/extensions/tools/definitions.d.ts.map +0 -1
  288. package/dist/extensions/tools/executors/apply-patch-parser.d.ts.map +0 -1
  289. package/dist/extensions/tools/executors/apply-patch.d.ts.map +0 -1
  290. package/dist/extensions/tools/executors/bash.d.ts.map +0 -1
  291. package/dist/extensions/tools/executors/editor.d.ts.map +0 -1
  292. package/dist/extensions/tools/executors/file-read.d.ts.map +0 -1
  293. package/dist/extensions/tools/executors/index.d.ts.map +0 -1
  294. package/dist/extensions/tools/executors/search.d.ts.map +0 -1
  295. package/dist/extensions/tools/executors/web-fetch.d.ts.map +0 -1
  296. package/dist/extensions/tools/helpers.d.ts.map +0 -1
  297. package/dist/extensions/tools/index.d.ts.map +0 -1
  298. package/dist/extensions/tools/model-tool-routing.d.ts.map +0 -1
  299. package/dist/extensions/tools/presets.d.ts.map +0 -1
  300. package/dist/extensions/tools/runtime.d.ts.map +0 -1
  301. package/dist/extensions/tools/schemas.d.ts.map +0 -1
  302. package/dist/extensions/tools/team/delegated-agent.d.ts.map +0 -1
  303. package/dist/extensions/tools/team/index.d.ts.map +0 -1
  304. package/dist/extensions/tools/team/multi-agent.d.ts.map +0 -1
  305. package/dist/extensions/tools/team/projections.d.ts.map +0 -1
  306. package/dist/extensions/tools/team/runtime.d.ts.map +0 -1
  307. package/dist/extensions/tools/team/spawn-agent-tool.d.ts.map +0 -1
  308. package/dist/extensions/tools/team/subagent-prompts.d.ts.map +0 -1
  309. package/dist/extensions/tools/team/team-tools.d.ts.map +0 -1
  310. package/dist/extensions/tools/types.d.ts.map +0 -1
  311. package/dist/hooks/checkpoint-hooks.d.ts.map +0 -1
  312. package/dist/hooks/hook-bridge.d.ts +0 -118
  313. package/dist/hooks/hook-bridge.d.ts.map +0 -1
  314. package/dist/hooks/hook-file-hooks.d.ts.map +0 -1
  315. package/dist/hooks/hook-registry.d.ts +0 -16
  316. package/dist/hooks/hook-registry.d.ts.map +0 -1
  317. package/dist/hooks/index.d.ts.map +0 -1
  318. package/dist/hooks/subprocess-runner.d.ts.map +0 -1
  319. package/dist/hooks/subprocess.d.ts.map +0 -1
  320. package/dist/hub/browser-websocket.d.ts.map +0 -1
  321. package/dist/hub/client.d.ts.map +0 -1
  322. package/dist/hub/connect.d.ts.map +0 -1
  323. package/dist/hub/daemon-entry.d.ts +0 -2
  324. package/dist/hub/daemon-entry.d.ts.map +0 -1
  325. package/dist/hub/daemon-entry.js +0 -1305
  326. package/dist/hub/daemon.d.ts.map +0 -1
  327. package/dist/hub/defaults.d.ts.map +0 -1
  328. package/dist/hub/discovery.d.ts.map +0 -1
  329. package/dist/hub/index.d.ts.map +0 -1
  330. package/dist/hub/native-transport.d.ts.map +0 -1
  331. package/dist/hub/runtime-handlers.d.ts.map +0 -1
  332. package/dist/hub/server.d.ts +0 -104
  333. package/dist/hub/server.d.ts.map +0 -1
  334. package/dist/hub/session-client.d.ts.map +0 -1
  335. package/dist/hub/start-shared-server.d.ts.map +0 -1
  336. package/dist/hub/transport.d.ts.map +0 -1
  337. package/dist/hub/ui-client.d.ts.map +0 -1
  338. package/dist/hub/workspace.d.ts.map +0 -1
  339. package/dist/index.d.ts.map +0 -1
  340. package/dist/llms/cline-recommended-models.d.ts.map +0 -1
  341. package/dist/llms/configured-provider-registry.d.ts.map +0 -1
  342. package/dist/llms/handler-factory.d.ts +0 -16
  343. package/dist/llms/handler-factory.d.ts.map +0 -1
  344. package/dist/llms/provider-defaults.d.ts.map +0 -1
  345. package/dist/llms/provider-settings.d.ts.map +0 -1
  346. package/dist/llms/runtime-config.d.ts.map +0 -1
  347. package/dist/llms/runtime-registry.d.ts.map +0 -1
  348. package/dist/llms/runtime-types.d.ts.map +0 -1
  349. package/dist/runtime/agent-config-adapter.d.ts +0 -148
  350. package/dist/runtime/agent-config-adapter.d.ts.map +0 -1
  351. package/dist/runtime/agent-runtime-config-builder.d.ts.map +0 -1
  352. package/dist/runtime/history.d.ts +0 -10
  353. package/dist/runtime/history.d.ts.map +0 -1
  354. package/dist/runtime/host.d.ts.map +0 -1
  355. package/dist/runtime/loop-detection.d.ts.map +0 -1
  356. package/dist/runtime/mistake-tracker.d.ts.map +0 -1
  357. package/dist/runtime/rules.d.ts.map +0 -1
  358. package/dist/runtime/runtime-builder.d.ts.map +0 -1
  359. package/dist/runtime/runtime-event-adapter.d.ts.map +0 -1
  360. package/dist/runtime/runtime-host.d.ts.map +0 -1
  361. package/dist/runtime/runtime-oauth-token-manager.d.ts.map +0 -1
  362. package/dist/runtime/session-runtime-orchestrator.d.ts.map +0 -1
  363. package/dist/runtime/session-runtime.d.ts.map +0 -1
  364. package/dist/runtime/subprocess-sandbox.d.ts.map +0 -1
  365. package/dist/runtime/tool-approval.d.ts.map +0 -1
  366. package/dist/runtime/user-input-builder.d.ts.map +0 -1
  367. package/dist/services/agent-events.d.ts.map +0 -1
  368. package/dist/services/config.d.ts.map +0 -1
  369. package/dist/services/global-settings.d.ts.map +0 -1
  370. package/dist/services/index.js +0 -28
  371. package/dist/services/local-runtime-bootstrap.d.ts.map +0 -1
  372. package/dist/services/plugin-tools.d.ts.map +0 -1
  373. package/dist/services/providers/local-provider-registry.d.ts.map +0 -1
  374. package/dist/services/providers/local-provider-service.d.ts.map +0 -1
  375. package/dist/services/session-artifacts.d.ts.map +0 -1
  376. package/dist/services/session-data.d.ts.map +0 -1
  377. package/dist/services/session-telemetry.d.ts.map +0 -1
  378. package/dist/services/storage/file-team-store.d.ts.map +0 -1
  379. package/dist/services/storage/provider-settings-legacy-migration.d.ts.map +0 -1
  380. package/dist/services/storage/provider-settings-manager.d.ts.map +0 -1
  381. package/dist/services/storage/sqlite-session-store.d.ts.map +0 -1
  382. package/dist/services/storage/sqlite-team-store.d.ts.map +0 -1
  383. package/dist/services/storage/team-store.d.ts.map +0 -1
  384. package/dist/services/telemetry/ITelemetryAdapter.d.ts.map +0 -1
  385. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts.map +0 -1
  386. package/dist/services/telemetry/OpenTelemetryProvider.d.ts.map +0 -1
  387. package/dist/services/telemetry/TelemetryLoggerSink.d.ts.map +0 -1
  388. package/dist/services/telemetry/TelemetryService.d.ts.map +0 -1
  389. package/dist/services/telemetry/core-events.d.ts.map +0 -1
  390. package/dist/services/telemetry/distinct-id.d.ts.map +0 -1
  391. package/dist/services/telemetry/index.d.ts.map +0 -1
  392. package/dist/services/usage.d.ts.map +0 -1
  393. package/dist/services/workspace/file-indexer.d.ts.map +0 -1
  394. package/dist/services/workspace/index.d.ts.map +0 -1
  395. package/dist/services/workspace/mention-enricher.d.ts.map +0 -1
  396. package/dist/services/workspace-manifest.d.ts.map +0 -1
  397. package/dist/session/conversation-store.d.ts.map +0 -1
  398. package/dist/session/file-session-service.d.ts.map +0 -1
  399. package/dist/session/message-builder.d.ts.map +0 -1
  400. package/dist/session/persistence-service.d.ts.map +0 -1
  401. package/dist/session/session-graph.d.ts.map +0 -1
  402. package/dist/session/session-manifest-store.d.ts.map +0 -1
  403. package/dist/session/session-manifest.d.ts.map +0 -1
  404. package/dist/session/session-row.d.ts.map +0 -1
  405. package/dist/session/session-service.d.ts.map +0 -1
  406. package/dist/session/session-team-coordination.d.ts.map +0 -1
  407. package/dist/session/subagent-session-manager.d.ts.map +0 -1
  408. package/dist/session/team-persistence-store.d.ts.map +0 -1
  409. package/dist/session/workspace-manager.d.ts.map +0 -1
  410. package/dist/transports/hub.d.ts +0 -58
  411. package/dist/transports/hub.d.ts.map +0 -1
  412. package/dist/transports/local.d.ts +0 -119
  413. package/dist/transports/local.d.ts.map +0 -1
  414. package/dist/transports/remote.d.ts.map +0 -1
  415. package/dist/transports/runtime-host-support.d.ts.map +0 -1
  416. package/dist/types/chat-schema.d.ts.map +0 -1
  417. package/dist/types/common.d.ts.map +0 -1
  418. package/dist/types/config.d.ts.map +0 -1
  419. package/dist/types/events.d.ts.map +0 -1
  420. package/dist/types/provider-settings.d.ts.map +0 -1
  421. package/dist/types/session.d.ts.map +0 -1
  422. package/dist/types/sessions.d.ts.map +0 -1
  423. package/dist/types/storage.d.ts.map +0 -1
  424. package/dist/types.d.ts.map +0 -1
  425. package/dist/version.d.ts.map +0 -1
  426. package/src/ClineCore.ts +0 -1026
  427. package/src/account/cline-account-service.ts +0 -338
  428. package/src/account/index.ts +0 -24
  429. package/src/account/rpc.ts +0 -185
  430. package/src/account/types.ts +0 -108
  431. package/src/auth/bounded-ttl-cache.ts +0 -53
  432. package/src/auth/client.ts +0 -46
  433. package/src/auth/cline.ts +0 -724
  434. package/src/auth/codex.ts +0 -491
  435. package/src/auth/oca.ts +0 -588
  436. package/src/auth/server.ts +0 -265
  437. package/src/auth/types.ts +0 -110
  438. package/src/auth/utils.ts +0 -247
  439. package/src/cron/cron-event-ingress.ts +0 -357
  440. package/src/cron/cron-materializer.ts +0 -97
  441. package/src/cron/cron-reconciler.ts +0 -241
  442. package/src/cron/cron-report-writer.ts +0 -153
  443. package/src/cron/cron-runner.ts +0 -495
  444. package/src/cron/cron-schema.ts +0 -127
  445. package/src/cron/cron-service.ts +0 -163
  446. package/src/cron/cron-spec-parser.ts +0 -489
  447. package/src/cron/cron-watcher.ts +0 -102
  448. package/src/cron/index.ts +0 -15
  449. package/src/cron/resource-limiter.ts +0 -46
  450. package/src/cron/schedule-command-service.ts +0 -193
  451. package/src/cron/schedule-service.ts +0 -703
  452. package/src/cron/scheduler.ts +0 -772
  453. package/src/cron/sqlite-cron-store.ts +0 -1286
  454. package/src/cron/sqlite-schedule-store.ts +0 -708
  455. package/src/extensions/config/agent-config-loader.ts +0 -114
  456. package/src/extensions/config/agent-config-parser.ts +0 -198
  457. package/src/extensions/config/hooks-config-loader.ts +0 -117
  458. package/src/extensions/config/index.ts +0 -77
  459. package/src/extensions/config/runtime-commands.ts +0 -82
  460. package/src/extensions/config/unified-config-file-watcher.ts +0 -496
  461. package/src/extensions/config/user-instruction-config-loader.ts +0 -549
  462. package/src/extensions/context/agentic-compaction.ts +0 -131
  463. package/src/extensions/context/basic-compaction.ts +0 -300
  464. package/src/extensions/context/compaction-shared.ts +0 -459
  465. package/src/extensions/context/compaction.ts +0 -226
  466. package/src/extensions/index.ts +0 -18
  467. package/src/extensions/mcp/client.ts +0 -420
  468. package/src/extensions/mcp/config-loader.ts +0 -219
  469. package/src/extensions/mcp/index.ts +0 -42
  470. package/src/extensions/mcp/manager.ts +0 -260
  471. package/src/extensions/mcp/name-transform.ts +0 -33
  472. package/src/extensions/mcp/policies.ts +0 -47
  473. package/src/extensions/mcp/tools.ts +0 -47
  474. package/src/extensions/mcp/types.ts +0 -116
  475. package/src/extensions/plugin/plugin-config-loader.ts +0 -140
  476. package/src/extensions/plugin/plugin-load-report.ts +0 -20
  477. package/src/extensions/plugin/plugin-loader.ts +0 -220
  478. package/src/extensions/plugin/plugin-module-import.ts +0 -276
  479. package/src/extensions/plugin/plugin-sandbox-bootstrap.ts +0 -662
  480. package/src/extensions/plugin/plugin-sandbox.ts +0 -586
  481. package/src/extensions/plugin/plugin-targeting.ts +0 -32
  482. package/src/extensions/tools/constants.ts +0 -37
  483. package/src/extensions/tools/definitions.ts +0 -738
  484. package/src/extensions/tools/executors/apply-patch-parser.ts +0 -520
  485. package/src/extensions/tools/executors/apply-patch.ts +0 -348
  486. package/src/extensions/tools/executors/bash.ts +0 -207
  487. package/src/extensions/tools/executors/editor.ts +0 -220
  488. package/src/extensions/tools/executors/file-read.ts +0 -135
  489. package/src/extensions/tools/executors/index.ts +0 -87
  490. package/src/extensions/tools/executors/search.ts +0 -470
  491. package/src/extensions/tools/executors/web-fetch.ts +0 -259
  492. package/src/extensions/tools/helpers.ts +0 -154
  493. package/src/extensions/tools/index.ts +0 -183
  494. package/src/extensions/tools/model-tool-routing.ts +0 -134
  495. package/src/extensions/tools/presets.ts +0 -190
  496. package/src/extensions/tools/runtime.ts +0 -261
  497. package/src/extensions/tools/schemas.ts +0 -343
  498. package/src/extensions/tools/team/delegated-agent.ts +0 -136
  499. package/src/extensions/tools/team/index.ts +0 -5
  500. package/src/extensions/tools/team/multi-agent.ts +0 -1845
  501. package/src/extensions/tools/team/projections.ts +0 -283
  502. package/src/extensions/tools/team/runtime.ts +0 -54
  503. package/src/extensions/tools/team/spawn-agent-tool.ts +0 -201
  504. package/src/extensions/tools/team/subagent-prompts.ts +0 -41
  505. package/src/extensions/tools/team/team-tools.ts +0 -902
  506. package/src/extensions/tools/types.ts +0 -354
  507. package/src/hooks/checkpoint-hooks.ts +0 -238
  508. package/src/hooks/hook-bridge.ts +0 -489
  509. package/src/hooks/hook-file-hooks.ts +0 -934
  510. package/src/hooks/hook-registry.ts +0 -257
  511. package/src/hooks/index.ts +0 -18
  512. package/src/hooks/subprocess-runner.ts +0 -196
  513. package/src/hooks/subprocess.ts +0 -469
  514. package/src/hub/browser-websocket.ts +0 -159
  515. package/src/hub/client.ts +0 -633
  516. package/src/hub/connect.ts +0 -156
  517. package/src/hub/daemon-entry.ts +0 -122
  518. package/src/hub/daemon.ts +0 -284
  519. package/src/hub/defaults.ts +0 -70
  520. package/src/hub/discovery.ts +0 -247
  521. package/src/hub/index.ts +0 -14
  522. package/src/hub/native-transport.ts +0 -31
  523. package/src/hub/runtime-handlers.ts +0 -141
  524. package/src/hub/server.ts +0 -2317
  525. package/src/hub/session-client.ts +0 -502
  526. package/src/hub/start-shared-server.ts +0 -61
  527. package/src/hub/transport.ts +0 -14
  528. package/src/hub/ui-client.ts +0 -126
  529. package/src/hub/workspace.ts +0 -19
  530. package/src/index.ts +0 -688
  531. package/src/llms/cline-recommended-models.ts +0 -167
  532. package/src/llms/configured-provider-registry.ts +0 -193
  533. package/src/llms/handler-factory.ts +0 -56
  534. package/src/llms/provider-defaults.ts +0 -653
  535. package/src/llms/provider-settings.ts +0 -310
  536. package/src/llms/runtime-config.ts +0 -43
  537. package/src/llms/runtime-registry.ts +0 -172
  538. package/src/llms/runtime-types.ts +0 -121
  539. package/src/runtime/agent-config-adapter.ts +0 -636
  540. package/src/runtime/agent-runtime-config-builder.ts +0 -205
  541. package/src/runtime/error-feedback.ts +0 -142
  542. package/src/runtime/history.ts +0 -374
  543. package/src/runtime/host.ts +0 -222
  544. package/src/runtime/index.ts +0 -23
  545. package/src/runtime/loop-detection.ts +0 -162
  546. package/src/runtime/mistake-tracker.ts +0 -221
  547. package/src/runtime/rules.ts +0 -49
  548. package/src/runtime/runtime-builder.ts +0 -814
  549. package/src/runtime/runtime-event-adapter.ts +0 -412
  550. package/src/runtime/runtime-host.ts +0 -250
  551. package/src/runtime/runtime-oauth-token-manager.ts +0 -268
  552. package/src/runtime/session-runtime-orchestrator.ts +0 -1253
  553. package/src/runtime/session-runtime.ts +0 -69
  554. package/src/runtime/subprocess-sandbox.ts +0 -255
  555. package/src/runtime/tool-approval.ts +0 -102
  556. package/src/runtime/user-input-builder.ts +0 -167
  557. package/src/services/agent-events.ts +0 -256
  558. package/src/services/config.ts +0 -5
  559. package/src/services/global-settings.ts +0 -122
  560. package/src/services/local-runtime-bootstrap.ts +0 -424
  561. package/src/services/plugin-tools.ts +0 -86
  562. package/src/services/providers/local-provider-registry.ts +0 -456
  563. package/src/services/providers/local-provider-service.ts +0 -772
  564. package/src/services/session-artifacts.ts +0 -138
  565. package/src/services/session-data.ts +0 -398
  566. package/src/services/session-telemetry.ts +0 -89
  567. package/src/services/storage/artifact-store.ts +0 -1
  568. package/src/services/storage/file-team-store.ts +0 -250
  569. package/src/services/storage/index.ts +0 -11
  570. package/src/services/storage/provider-settings-legacy-migration.ts +0 -789
  571. package/src/services/storage/provider-settings-manager.ts +0 -167
  572. package/src/services/storage/session-store.ts +0 -1
  573. package/src/services/storage/sqlite-session-store.ts +0 -270
  574. package/src/services/storage/sqlite-team-store.ts +0 -537
  575. package/src/services/storage/team-store.ts +0 -36
  576. package/src/services/telemetry/ITelemetryAdapter.ts +0 -94
  577. package/src/services/telemetry/OpenTelemetryAdapter.ts +0 -348
  578. package/src/services/telemetry/OpenTelemetryProvider.ts +0 -415
  579. package/src/services/telemetry/TelemetryLoggerSink.ts +0 -121
  580. package/src/services/telemetry/TelemetryService.ts +0 -139
  581. package/src/services/telemetry/core-events.ts +0 -400
  582. package/src/services/telemetry/distinct-id.ts +0 -58
  583. package/src/services/telemetry/index.ts +0 -20
  584. package/src/services/usage.ts +0 -32
  585. package/src/services/workspace/file-indexer.ts +0 -351
  586. package/src/services/workspace/index.ts +0 -7
  587. package/src/services/workspace/mention-enricher.ts +0 -122
  588. package/src/services/workspace-manifest.ts +0 -72
  589. package/src/session/conversation-store.ts +0 -77
  590. package/src/session/file-session-service.ts +0 -282
  591. package/src/session/index.ts +0 -32
  592. package/src/session/message-builder.ts +0 -941
  593. package/src/session/persistence-service.ts +0 -559
  594. package/src/session/session-graph.ts +0 -92
  595. package/src/session/session-manifest-store.ts +0 -158
  596. package/src/session/session-manifest.ts +0 -29
  597. package/src/session/session-row.ts +0 -199
  598. package/src/session/session-service.ts +0 -324
  599. package/src/session/session-team-coordination.ts +0 -240
  600. package/src/session/subagent-session-manager.ts +0 -397
  601. package/src/session/team-persistence-store.ts +0 -176
  602. package/src/session/workspace-manager.ts +0 -100
  603. package/src/transports/hub.ts +0 -1081
  604. package/src/transports/local.ts +0 -1826
  605. package/src/transports/remote.ts +0 -27
  606. package/src/transports/runtime-host-support.ts +0 -140
  607. package/src/types/chat-schema.ts +0 -81
  608. package/src/types/common.ts +0 -26
  609. package/src/types/config.ts +0 -220
  610. package/src/types/events.ts +0 -80
  611. package/src/types/index.ts +0 -26
  612. package/src/types/provider-settings.ts +0 -54
  613. package/src/types/session.ts +0 -111
  614. package/src/types/sessions.ts +0 -37
  615. package/src/types/storage.ts +0 -56
  616. package/src/types.ts +0 -167
  617. package/src/version.ts +0 -3
@@ -1,420 +0,0 @@
1
- import { type ChildProcessWithoutNullStreams, spawn } from "node:child_process";
2
- import { StringDecoder } from "node:string_decoder";
3
- import type {
4
- McpServerClient,
5
- McpServerClientFactory,
6
- McpServerRegistration,
7
- McpToolCallResult,
8
- McpToolDescriptor,
9
- } from "./types";
10
-
11
- type JsonRpcRequest = {
12
- jsonrpc: "2.0";
13
- id: number;
14
- method: string;
15
- params?: Record<string, unknown>;
16
- };
17
-
18
- type JsonRpcMessage = {
19
- jsonrpc?: "2.0";
20
- id?: number;
21
- method?: string;
22
- result?: unknown;
23
- error?: {
24
- code?: number;
25
- message?: string;
26
- data?: unknown;
27
- };
28
- };
29
-
30
- type StdioProtocolMode = "newline" | "framed";
31
-
32
- const MCP_PROTOCOL_VERSION = "2024-11-05";
33
- const MCP_REQUEST_TIMEOUT_MS = 5_000;
34
- const MCP_CONNECT_TIMEOUT_MS = 1_500;
35
-
36
- function toErrorMessage(error: unknown): string {
37
- return error instanceof Error ? error.message : String(error);
38
- }
39
-
40
- function encodeFramedMessage(message: Record<string, unknown>): Buffer {
41
- const body = Buffer.from(JSON.stringify(message), "utf8");
42
- const header = Buffer.from(
43
- `Content-Length: ${body.byteLength}\r\n\r\n`,
44
- "utf8",
45
- );
46
- return Buffer.concat([header, body]);
47
- }
48
-
49
- function encodeNewlineMessage(message: Record<string, unknown>): Buffer {
50
- return Buffer.from(`${JSON.stringify(message)}\n`, "utf8");
51
- }
52
-
53
- class FramedMessageParser {
54
- private buffer = "";
55
- private readonly decoder = new StringDecoder("utf8");
56
-
57
- push(chunk: Buffer): string[] {
58
- this.buffer += this.decoder.write(chunk);
59
- const messages: string[] = [];
60
-
61
- while (true) {
62
- const separatorIndex = this.buffer.indexOf("\r\n\r\n");
63
- if (separatorIndex < 0) {
64
- break;
65
- }
66
-
67
- const headerText = this.buffer.slice(0, separatorIndex);
68
- const contentLengthMatch = headerText.match(
69
- /(?:^|\r\n)Content-Length:\s*(\d+)(?:\r\n|$)/i,
70
- );
71
- if (!contentLengthMatch) {
72
- throw new Error(
73
- "Invalid MCP stdio frame: missing Content-Length header.",
74
- );
75
- }
76
-
77
- const contentLength = Number.parseInt(contentLengthMatch[1], 10);
78
- const bodyStart = separatorIndex + 4;
79
- const bodyEnd = bodyStart + contentLength;
80
- if (this.buffer.length < bodyEnd) {
81
- break;
82
- }
83
-
84
- messages.push(this.buffer.slice(bodyStart, bodyEnd));
85
- this.buffer = this.buffer.slice(bodyEnd);
86
- }
87
-
88
- return messages;
89
- }
90
- }
91
-
92
- class NewlineMessageParser {
93
- private buffer = "";
94
- private readonly decoder = new StringDecoder("utf8");
95
-
96
- push(chunk: Buffer): string[] {
97
- this.buffer += this.decoder.write(chunk);
98
- const messages: string[] = [];
99
-
100
- while (true) {
101
- const newlineIndex = this.buffer.indexOf("\n");
102
- if (newlineIndex < 0) {
103
- break;
104
- }
105
- const line = this.buffer.slice(0, newlineIndex).trim();
106
- this.buffer = this.buffer.slice(newlineIndex + 1);
107
- if (line.length > 0) {
108
- messages.push(line);
109
- }
110
- }
111
-
112
- return messages;
113
- }
114
- }
115
-
116
- class StdioMcpClient implements McpServerClient {
117
- private readonly registration: McpServerRegistration;
118
- private process?: ChildProcessWithoutNullStreams;
119
- private nextRequestId = 1;
120
- private readonly pending = new Map<
121
- number,
122
- {
123
- resolve: (value: unknown) => void;
124
- reject: (error: Error) => void;
125
- timeout: ReturnType<typeof setTimeout>;
126
- }
127
- >();
128
- private framedParser = new FramedMessageParser();
129
- private newlineParser = new NewlineMessageParser();
130
- private stderrBuffer = "";
131
- private connected = false;
132
- private protocolMode: StdioProtocolMode = "newline";
133
-
134
- constructor(registration: McpServerRegistration) {
135
- this.registration = registration;
136
- }
137
-
138
- async connect(): Promise<void> {
139
- if (this.connected) {
140
- return;
141
- }
142
- if (this.registration.transport.type !== "stdio") {
143
- throw new Error(
144
- `Unsupported MCP transport for "${this.registration.name}": ${this.registration.transport.type}`,
145
- );
146
- }
147
-
148
- const attempts: StdioProtocolMode[] = ["newline", "framed"];
149
- let lastError: Error | undefined;
150
-
151
- for (const protocolMode of attempts) {
152
- await this.disconnect().catch(() => {});
153
- this.spawnProcess(protocolMode);
154
- try {
155
- await this.request(
156
- "initialize",
157
- {
158
- protocolVersion: MCP_PROTOCOL_VERSION,
159
- capabilities: {},
160
- clientInfo: {
161
- name: "@clinebot/core",
162
- version: "0.0.0",
163
- },
164
- },
165
- MCP_CONNECT_TIMEOUT_MS,
166
- );
167
- this.notify("notifications/initialized");
168
- this.connected = true;
169
- this.protocolMode = protocolMode;
170
- return;
171
- } catch (error) {
172
- lastError = error instanceof Error ? error : new Error(String(error));
173
- }
174
- }
175
-
176
- throw (
177
- lastError ??
178
- new Error(`Failed to connect to MCP server "${this.registration.name}".`)
179
- );
180
- }
181
-
182
- async disconnect(): Promise<void> {
183
- const child = this.process;
184
- this.connected = false;
185
- this.process = undefined;
186
- this.failAllPending(
187
- new Error(`Disconnected from MCP server "${this.registration.name}".`),
188
- );
189
- if (!child) {
190
- return;
191
- }
192
- child.kill();
193
- }
194
-
195
- async listTools(): Promise<readonly McpToolDescriptor[]> {
196
- const result = (await this.request("tools/list")) as {
197
- tools?: Array<{
198
- name?: string;
199
- description?: string;
200
- inputSchema?: Record<string, unknown>;
201
- }>;
202
- };
203
- return (result.tools ?? [])
204
- .filter(
205
- (
206
- tool,
207
- ): tool is {
208
- name: string;
209
- description?: string;
210
- inputSchema: Record<string, unknown>;
211
- } =>
212
- typeof tool?.name === "string" &&
213
- typeof tool.inputSchema === "object" &&
214
- tool.inputSchema !== null,
215
- )
216
- .map((tool) => ({
217
- name: tool.name,
218
- description: tool.description,
219
- inputSchema: tool.inputSchema,
220
- }));
221
- }
222
-
223
- async callTool(request: {
224
- name: string;
225
- arguments?: Record<string, unknown>;
226
- }): Promise<McpToolCallResult> {
227
- return this.request("tools/call", {
228
- name: request.name,
229
- arguments: request.arguments ?? {},
230
- });
231
- }
232
-
233
- private spawnProcess(protocolMode: StdioProtocolMode): void {
234
- const transport = this.registration.transport;
235
- if (transport.type !== "stdio") {
236
- throw new Error(
237
- `Unsupported MCP transport for "${this.registration.name}": ${transport.type}`,
238
- );
239
- }
240
-
241
- this.framedParser = new FramedMessageParser();
242
- this.newlineParser = new NewlineMessageParser();
243
- this.stderrBuffer = "";
244
- this.protocolMode = protocolMode;
245
-
246
- const child = spawn(transport.command, transport.args ?? [], {
247
- cwd: transport.cwd,
248
- env: {
249
- ...process.env,
250
- ...(transport.env ?? {}),
251
- },
252
- stdio: ["pipe", "pipe", "pipe"],
253
- });
254
-
255
- this.process = child;
256
- child.stdout.on("data", (chunk: Buffer) => this.handleStdout(chunk));
257
- child.stderr.on("data", (chunk: Buffer) => {
258
- if (this.process !== child) {
259
- return;
260
- }
261
- this.stderrBuffer += chunk.toString("utf8");
262
- if (this.stderrBuffer.length > 16_384) {
263
- this.stderrBuffer = this.stderrBuffer.slice(-16_384);
264
- }
265
- });
266
- child.once("error", (error) => {
267
- if (this.process !== child) {
268
- return;
269
- }
270
- this.failAllPending(
271
- new Error(`MCP process error: ${toErrorMessage(error)}`),
272
- );
273
- });
274
- child.once("exit", (code, signal) => {
275
- if (this.process !== child) {
276
- return;
277
- }
278
- this.connected = false;
279
- this.process = undefined;
280
- const suffix = this.stderrBuffer.trim()
281
- ? ` stderr: ${this.stderrBuffer.trim()}`
282
- : "";
283
- this.failAllPending(
284
- new Error(
285
- `MCP process exited for "${this.registration.name}" (code=${code ?? "null"}, signal=${signal ?? "null"}).${suffix}`,
286
- ),
287
- );
288
- });
289
- }
290
-
291
- private handleStdout(chunk: Buffer): void {
292
- try {
293
- const messages =
294
- this.protocolMode === "framed"
295
- ? this.framedParser.push(chunk)
296
- : this.newlineParser.push(chunk);
297
-
298
- for (const messageText of messages) {
299
- const message = JSON.parse(messageText) as JsonRpcMessage;
300
- if (typeof message.id !== "number") {
301
- continue;
302
- }
303
- const pending = this.pending.get(message.id);
304
- if (!pending) {
305
- continue;
306
- }
307
- this.pending.delete(message.id);
308
- clearTimeout(pending.timeout);
309
- if (message.error) {
310
- const errorMessage =
311
- message.error.message ||
312
- `MCP request failed with code ${message.error.code ?? "unknown"}`;
313
- pending.reject(new Error(errorMessage));
314
- continue;
315
- }
316
- pending.resolve(message.result);
317
- }
318
- } catch (error) {
319
- this.handleProtocolFailure(error);
320
- }
321
- }
322
-
323
- private handleProtocolFailure(error: unknown): void {
324
- const child = this.process;
325
- if (!child) {
326
- return;
327
- }
328
-
329
- this.connected = false;
330
- this.process = undefined;
331
- const stderrSuffix = this.stderrBuffer.trim()
332
- ? ` stderr: ${this.stderrBuffer.trim()}`
333
- : "";
334
- this.failAllPending(
335
- new Error(
336
- `Invalid MCP response from "${this.registration.name}": ${toErrorMessage(error)}.${stderrSuffix}`,
337
- ),
338
- );
339
- child.kill();
340
- }
341
-
342
- private async request(
343
- method: string,
344
- params?: Record<string, unknown>,
345
- timeoutMs = MCP_REQUEST_TIMEOUT_MS,
346
- ): Promise<unknown> {
347
- const child = this.process;
348
- if (!child?.stdin.writable) {
349
- throw new Error(
350
- `MCP server "${this.registration.name}" is not connected.`,
351
- );
352
- }
353
-
354
- const id = this.nextRequestId++;
355
- const payload: JsonRpcRequest = {
356
- jsonrpc: "2.0",
357
- id,
358
- method,
359
- ...(params ? { params } : {}),
360
- };
361
-
362
- const resultPromise = new Promise<unknown>((resolve, reject) => {
363
- const timeout = setTimeout(() => {
364
- this.pending.delete(id);
365
- reject(
366
- new Error(
367
- `MCP request timed out for "${this.registration.name}" (${method}).`,
368
- ),
369
- );
370
- }, timeoutMs);
371
- this.pending.set(id, { resolve, reject, timeout });
372
- });
373
-
374
- try {
375
- child.stdin.write(
376
- this.protocolMode === "framed"
377
- ? encodeFramedMessage(payload)
378
- : encodeNewlineMessage(payload),
379
- );
380
- } catch (error) {
381
- const pending = this.pending.get(id);
382
- if (pending) {
383
- clearTimeout(pending.timeout);
384
- this.pending.delete(id);
385
- }
386
- throw error;
387
- }
388
-
389
- return resultPromise;
390
- }
391
-
392
- private notify(method: string, params?: Record<string, unknown>): void {
393
- const child = this.process;
394
- if (!child?.stdin.writable) {
395
- return;
396
- }
397
- const payload = {
398
- jsonrpc: "2.0" as const,
399
- method,
400
- ...(params ? { params } : {}),
401
- };
402
- child.stdin.write(
403
- this.protocolMode === "framed"
404
- ? encodeFramedMessage(payload)
405
- : encodeNewlineMessage(payload),
406
- );
407
- }
408
-
409
- private failAllPending(error: Error): void {
410
- for (const [id, pending] of this.pending) {
411
- clearTimeout(pending.timeout);
412
- this.pending.delete(id);
413
- pending.reject(error);
414
- }
415
- }
416
- }
417
-
418
- export function createDefaultMcpServerClientFactory(): McpServerClientFactory {
419
- return (registration) => new StdioMcpClient(registration);
420
- }
@@ -1,219 +0,0 @@
1
- import { existsSync, readFileSync } from "node:fs";
2
- import { resolveMcpSettingsPath } from "@clinebot/shared/storage";
3
- import { z } from "zod";
4
- import type { McpManager, McpServerRegistration } from "./types";
5
-
6
- const stringRecordSchema = z.record(z.string(), z.string());
7
- const metadataSchema = z.record(z.string(), z.unknown());
8
-
9
- const stdioTransportSchema = z.object({
10
- type: z.literal("stdio"),
11
- command: z.string().min(1),
12
- args: z.array(z.string()).optional(),
13
- cwd: z.string().min(1).optional(),
14
- env: stringRecordSchema.optional(),
15
- });
16
-
17
- const sseTransportSchema = z.object({
18
- type: z.literal("sse"),
19
- url: z.string().url(),
20
- headers: stringRecordSchema.optional(),
21
- });
22
-
23
- const streamableHttpTransportSchema = z.object({
24
- type: z.literal("streamableHttp"),
25
- url: z.string().url(),
26
- headers: stringRecordSchema.optional(),
27
- });
28
-
29
- const mcpTransportSchema = z.discriminatedUnion("type", [
30
- stdioTransportSchema,
31
- sseTransportSchema,
32
- streamableHttpTransportSchema,
33
- ]);
34
-
35
- const nestedRegistrationBodySchema = z.object({
36
- transport: mcpTransportSchema,
37
- disabled: z.boolean().optional(),
38
- metadata: metadataSchema.optional(),
39
- });
40
-
41
- const legacyTransportTypeSchema = z
42
- .enum(["stdio", "sse", "http", "streamableHttp"])
43
- .optional();
44
-
45
- const legacyRegistrationBaseSchema = z.object({
46
- type: z.enum(["stdio", "sse", "streamableHttp"]).optional(),
47
- transportType: legacyTransportTypeSchema,
48
- disabled: z.boolean().optional(),
49
- metadata: metadataSchema.optional(),
50
- });
51
-
52
- function mapLegacyTransportType(
53
- transportType: z.infer<typeof legacyTransportTypeSchema>,
54
- ): "stdio" | "sse" | "streamableHttp" | undefined {
55
- if (!transportType) {
56
- return undefined;
57
- }
58
- if (transportType === "http") {
59
- return "streamableHttp";
60
- }
61
- return transportType;
62
- }
63
-
64
- const legacyStdioRegistrationSchema = legacyRegistrationBaseSchema
65
- .extend({
66
- command: z.string().min(1),
67
- args: z.array(z.string()).optional(),
68
- cwd: z.string().min(1).optional(),
69
- env: stringRecordSchema.optional(),
70
- })
71
- .superRefine((value, ctx) => {
72
- const resolvedType =
73
- value.type ?? mapLegacyTransportType(value.transportType);
74
- if (resolvedType && resolvedType !== "stdio") {
75
- ctx.addIssue({
76
- code: z.ZodIssueCode.custom,
77
- message: 'Expected type "stdio" for command-based MCP server',
78
- path: ["type"],
79
- });
80
- }
81
- })
82
- .transform((value) => ({
83
- transport: {
84
- type: "stdio" as const,
85
- command: value.command,
86
- args: value.args,
87
- cwd: value.cwd,
88
- env: value.env,
89
- },
90
- disabled: value.disabled,
91
- metadata: value.metadata,
92
- }));
93
-
94
- const legacyUrlRegistrationSchema = legacyRegistrationBaseSchema
95
- .extend({
96
- url: z.string().url(),
97
- headers: stringRecordSchema.optional(),
98
- })
99
- .superRefine((value, ctx) => {
100
- const resolvedType =
101
- value.type ?? mapLegacyTransportType(value.transportType) ?? "sse";
102
- if (resolvedType !== "sse" && resolvedType !== "streamableHttp") {
103
- ctx.addIssue({
104
- code: z.ZodIssueCode.custom,
105
- message:
106
- 'Expected type "sse" or "streamableHttp" for URL-based MCP server',
107
- path: ["type"],
108
- });
109
- }
110
- })
111
- .transform((value) => {
112
- const resolvedType =
113
- value.type ?? mapLegacyTransportType(value.transportType) ?? "sse";
114
- if (resolvedType === "streamableHttp") {
115
- return {
116
- transport: {
117
- type: "streamableHttp" as const,
118
- url: value.url,
119
- headers: value.headers,
120
- },
121
- disabled: value.disabled,
122
- metadata: value.metadata,
123
- };
124
- }
125
- return {
126
- transport: {
127
- type: "sse" as const,
128
- url: value.url,
129
- headers: value.headers,
130
- },
131
- disabled: value.disabled,
132
- metadata: value.metadata,
133
- };
134
- });
135
-
136
- const mcpRegistrationBodySchema = z.union([
137
- nestedRegistrationBodySchema,
138
- legacyStdioRegistrationSchema,
139
- legacyUrlRegistrationSchema,
140
- ]);
141
-
142
- const mcpSettingsSchema = z
143
- .object({
144
- mcpServers: z.record(z.string(), mcpRegistrationBodySchema),
145
- })
146
- .strict();
147
-
148
- export interface McpSettingsFile {
149
- mcpServers: Record<string, Omit<McpServerRegistration, "name">>;
150
- }
151
-
152
- export interface LoadMcpSettingsOptions {
153
- filePath?: string;
154
- }
155
-
156
- export interface RegisterMcpServersFromSettingsOptions {
157
- filePath?: string;
158
- }
159
-
160
- export function resolveDefaultMcpSettingsPath(): string {
161
- return resolveMcpSettingsPath();
162
- }
163
-
164
- export function loadMcpSettingsFile(
165
- options: LoadMcpSettingsOptions = {},
166
- ): McpSettingsFile {
167
- const filePath = options.filePath ?? resolveDefaultMcpSettingsPath();
168
- const raw = readFileSync(filePath, "utf8");
169
- let parsed: unknown;
170
- try {
171
- parsed = JSON.parse(raw);
172
- } catch (error) {
173
- const details = error instanceof Error ? error.message : String(error);
174
- throw new Error(
175
- `Failed to parse MCP settings JSON at "${filePath}": ${details}`,
176
- );
177
- }
178
- const result = mcpSettingsSchema.safeParse(parsed);
179
- if (!result.success) {
180
- const details = result.error.issues
181
- .map((issue) => {
182
- const path = issue.path.join(".");
183
- return path ? `${path}: ${issue.message}` : issue.message;
184
- })
185
- .join("; ");
186
- throw new Error(`Invalid MCP settings at "${filePath}": ${details}`);
187
- }
188
- return result.data;
189
- }
190
-
191
- export function hasMcpSettingsFile(
192
- options: LoadMcpSettingsOptions = {},
193
- ): boolean {
194
- const filePath = options.filePath ?? resolveDefaultMcpSettingsPath();
195
- return existsSync(filePath);
196
- }
197
-
198
- export function resolveMcpServerRegistrations(
199
- options: LoadMcpSettingsOptions = {},
200
- ): McpServerRegistration[] {
201
- const config = loadMcpSettingsFile(options);
202
- return Object.entries(config.mcpServers).map(([name, value]) => ({
203
- name,
204
- transport: value.transport,
205
- disabled: value.disabled,
206
- metadata: value.metadata,
207
- }));
208
- }
209
-
210
- export async function registerMcpServersFromSettingsFile(
211
- manager: Pick<McpManager, "registerServer">,
212
- options: RegisterMcpServersFromSettingsOptions = {},
213
- ): Promise<McpServerRegistration[]> {
214
- const registrations = resolveMcpServerRegistrations(options);
215
- for (const registration of registrations) {
216
- await manager.registerServer(registration);
217
- }
218
- return registrations;
219
- }
@@ -1,42 +0,0 @@
1
- export { createDefaultMcpServerClientFactory } from "./client";
2
- export type {
3
- LoadMcpSettingsOptions,
4
- McpSettingsFile,
5
- RegisterMcpServersFromSettingsOptions,
6
- } from "./config-loader";
7
- export {
8
- hasMcpSettingsFile,
9
- loadMcpSettingsFile,
10
- registerMcpServersFromSettingsFile,
11
- resolveDefaultMcpSettingsPath,
12
- resolveMcpServerRegistrations,
13
- } from "./config-loader";
14
- export { InMemoryMcpManager } from "./manager";
15
- export type {
16
- CreateDisabledMcpToolPoliciesOptions,
17
- CreateDisabledMcpToolPolicyOptions,
18
- } from "./policies";
19
- export {
20
- createDisabledMcpToolPolicies,
21
- createDisabledMcpToolPolicy,
22
- } from "./policies";
23
- export { createMcpTools } from "./tools";
24
- export type {
25
- CreateMcpToolsOptions,
26
- McpConnectionStatus,
27
- McpManager,
28
- McpManagerOptions,
29
- McpServerClient,
30
- McpServerClientFactory,
31
- McpServerRegistration,
32
- McpServerSnapshot,
33
- McpServerTransportConfig,
34
- McpSseTransportConfig,
35
- McpStdioTransportConfig,
36
- McpStreamableHttpTransportConfig,
37
- McpToolCallRequest,
38
- McpToolCallResult,
39
- McpToolDescriptor,
40
- McpToolNameTransform,
41
- McpToolProvider,
42
- } from "./types";