@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,814 +0,0 @@
1
- import { existsSync, readdirSync } from "node:fs";
2
- import { join } from "node:path";
3
- import type {
4
- BasicLogger,
5
- RuntimeConfigExtensionKind,
6
- TeamTeammateSpec,
7
- Tool,
8
- } from "@clinebot/shared";
9
- import { resolveSkillsConfigSearchPaths } from "@clinebot/shared/storage";
10
- import { nanoid } from "nanoid";
11
- import {
12
- createUserInstructionConfigWatcher,
13
- type SkillConfig,
14
- type UserInstructionConfigWatcher,
15
- } from "../extensions/config";
16
- import {
17
- createDefaultMcpServerClientFactory,
18
- createMcpTools,
19
- hasMcpSettingsFile,
20
- InMemoryMcpManager,
21
- registerMcpServersFromSettingsFile,
22
- resolveDefaultMcpSettingsPath,
23
- } from "../extensions/mcp";
24
- import {
25
- createBuiltinTools,
26
- DEFAULT_MODEL_TOOL_ROUTING_RULES,
27
- resolveToolPresetName,
28
- resolveToolRoutingConfig,
29
- type SkillsExecutor,
30
- type ToolExecutors,
31
- ToolPresets,
32
- type ToolRoutingRule,
33
- } from "../extensions/tools";
34
- import {
35
- AgentTeamsRuntime,
36
- bootstrapAgentTeams,
37
- createDelegatedAgentConfigProvider,
38
- type TeamEvent,
39
- } from "../extensions/tools/team";
40
- import {
41
- filterDisabledTools,
42
- resolveDisabledToolNames,
43
- } from "../services/global-settings";
44
- import { createLocalTeamStore } from "../services/storage/team-store";
45
- import type { CoreAgentMode, CoreSessionConfig } from "../types/config";
46
- import type {
47
- RuntimeBuilder,
48
- RuntimeBuilderInput,
49
- BuiltRuntime as RuntimeEnvironment,
50
- } from "./session-runtime";
51
-
52
- type SkillsExecutorMetadataItem = {
53
- id: string;
54
- name: string;
55
- description?: string;
56
- disabled: boolean;
57
- };
58
-
59
- type SkillsExecutorWithMetadata = SkillsExecutor & {
60
- configuredSkills?: SkillsExecutorMetadataItem[];
61
- };
62
-
63
- const ALL_CONFIG_EXTENSIONS: readonly RuntimeConfigExtensionKind[] = [
64
- "rules",
65
- "skills",
66
- "plugins",
67
- ];
68
-
69
- function hasConfigExtension(
70
- extensions: ReadonlyArray<RuntimeConfigExtensionKind> | undefined,
71
- kind: RuntimeConfigExtensionKind,
72
- ): boolean {
73
- return new Set(extensions ?? ALL_CONFIG_EXTENSIONS).has(kind);
74
- }
75
-
76
- function isToolEnabledByPolicies(
77
- toolName: string,
78
- toolPolicies: CoreSessionConfig["toolPolicies"],
79
- ): boolean {
80
- const globalPolicy = toolPolicies?.["*"] ?? {};
81
- const toolPolicy = toolPolicies?.[toolName] ?? {};
82
- return (
83
- {
84
- ...globalPolicy,
85
- ...toolPolicy,
86
- }.enabled !== false
87
- );
88
- }
89
-
90
- function filterToolsByPolicies(
91
- tools: Tool[],
92
- toolPolicies: CoreSessionConfig["toolPolicies"],
93
- ): Tool[] {
94
- return tools.filter((tool) =>
95
- isToolEnabledByPolicies(tool.name, toolPolicies),
96
- );
97
- }
98
-
99
- function filterAvailableTools(
100
- tools: Tool[],
101
- toolPolicies: CoreSessionConfig["toolPolicies"],
102
- ): Tool[] {
103
- return filterDisabledTools(filterToolsByPolicies(tools, toolPolicies));
104
- }
105
-
106
- export function createTeamName(): string {
107
- return `team-${nanoid(5)}`;
108
- }
109
-
110
- function createBuiltinToolsList(
111
- cwd: string,
112
- providerId: string,
113
- mode: CoreAgentMode,
114
- modelId: string,
115
- toolRoutingRules: ToolRoutingRule[] | undefined,
116
- toolPolicies: CoreSessionConfig["toolPolicies"],
117
- skillsExecutor?: SkillsExecutorWithMetadata,
118
- executorOverrides?: Partial<ToolExecutors>,
119
- ): Tool[] {
120
- const preset = ToolPresets[resolveToolPresetName({ mode })];
121
- const toolRoutingConfig = resolveToolRoutingConfig(
122
- providerId,
123
- modelId,
124
- mode,
125
- toolRoutingRules ?? DEFAULT_MODEL_TOOL_ROUTING_RULES,
126
- );
127
-
128
- return filterAvailableTools(
129
- createBuiltinTools({
130
- cwd,
131
- ...preset,
132
- enableSkills: !!skillsExecutor,
133
- ...toolRoutingConfig,
134
- executors: {
135
- ...(skillsExecutor
136
- ? {
137
- skills: skillsExecutor,
138
- }
139
- : {}),
140
- ...(executorOverrides ?? {}),
141
- },
142
- }),
143
- toolPolicies,
144
- );
145
- }
146
-
147
- const SKILL_FILE_NAME = "SKILL.md";
148
-
149
- function listAvailableSkillNames(
150
- watcher: UserInstructionConfigWatcher,
151
- allowedSkillNames?: ReadonlyArray<string>,
152
- ): string[] {
153
- return getConfiguredSkills(watcher, allowedSkillNames)
154
- .filter((skill) => !skill.disabled)
155
- .map((skill) => skill.name.trim())
156
- .filter((name) => name.length > 0)
157
- .sort((a, b) => a.localeCompare(b));
158
- }
159
-
160
- function normalizeSkillToken(token: string): string {
161
- return token.trim().replace(/^\/+/, "").toLowerCase();
162
- }
163
-
164
- function toAllowedSkillSet(
165
- allowedSkillNames?: ReadonlyArray<string>,
166
- ): Set<string> | undefined {
167
- if (!allowedSkillNames || allowedSkillNames.length === 0) {
168
- return undefined;
169
- }
170
- const normalized = allowedSkillNames
171
- .map(normalizeSkillToken)
172
- .filter((token) => token.length > 0);
173
- return normalized.length > 0 ? new Set(normalized) : undefined;
174
- }
175
-
176
- function isSkillAllowed(
177
- skillId: string,
178
- skillName: string,
179
- allowedSkills?: Set<string>,
180
- ): boolean {
181
- if (!allowedSkills) {
182
- return true;
183
- }
184
- const normalizedId = normalizeSkillToken(skillId);
185
- const normalizedName = normalizeSkillToken(skillName);
186
- const bareId = normalizedId.includes(":")
187
- ? (normalizedId.split(":").at(-1) ?? normalizedId)
188
- : normalizedId;
189
- const bareName = normalizedName.includes(":")
190
- ? (normalizedName.split(":").at(-1) ?? normalizedName)
191
- : normalizedName;
192
- return (
193
- allowedSkills.has(normalizedId) ||
194
- allowedSkills.has(normalizedName) ||
195
- allowedSkills.has(bareId) ||
196
- allowedSkills.has(bareName)
197
- );
198
- }
199
-
200
- type ConfiguredSkill = SkillsExecutorMetadataItem & {
201
- skill: SkillConfig;
202
- };
203
-
204
- function getConfiguredSkills(
205
- watcher: UserInstructionConfigWatcher,
206
- allowedSkillNames?: ReadonlyArray<string>,
207
- ): ConfiguredSkill[] {
208
- const allowedSkills = toAllowedSkillSet(allowedSkillNames);
209
- const snapshot = watcher.getSnapshot("skill");
210
- return [...snapshot.entries()]
211
- .map(([id, record]) => {
212
- const skill = record.item as SkillConfig;
213
- return {
214
- id,
215
- name: skill.name.trim(),
216
- description: skill.description?.trim(),
217
- disabled: skill.disabled === true,
218
- skill,
219
- };
220
- })
221
- .filter((skill) => isSkillAllowed(skill.id, skill.name, allowedSkills));
222
- }
223
-
224
- function hasSkillsFiles(workspacePath: string): boolean {
225
- for (const directoryPath of resolveSkillsConfigSearchPaths(workspacePath)) {
226
- if (!existsSync(directoryPath)) {
227
- continue;
228
- }
229
-
230
- const directSkillPath = join(directoryPath, SKILL_FILE_NAME);
231
- if (existsSync(directSkillPath)) {
232
- return true;
233
- }
234
-
235
- try {
236
- const entries = readdirSync(directoryPath, { withFileTypes: true });
237
- for (const entry of entries) {
238
- if (!entry.isDirectory()) {
239
- continue;
240
- }
241
- if (existsSync(join(directoryPath, entry.name, SKILL_FILE_NAME))) {
242
- return true;
243
- }
244
- }
245
- } catch {
246
- // Ignore inaccessible directories while probing for local skills.
247
- }
248
- }
249
-
250
- return false;
251
- }
252
-
253
- async function loadConfiguredMcpTools(logger?: BasicLogger): Promise<{
254
- tools: Tool[];
255
- shutdown?: () => Promise<void>;
256
- }> {
257
- const settingsPath = resolveDefaultMcpSettingsPath();
258
- if (!hasMcpSettingsFile({ filePath: settingsPath })) {
259
- return { tools: [] };
260
- }
261
-
262
- const manager = new InMemoryMcpManager({
263
- clientFactory: createDefaultMcpServerClientFactory(),
264
- });
265
-
266
- let registrations: Awaited<
267
- ReturnType<typeof registerMcpServersFromSettingsFile>
268
- >;
269
- try {
270
- registrations = await registerMcpServersFromSettingsFile(manager, {
271
- filePath: settingsPath,
272
- });
273
- } catch (error) {
274
- await manager.dispose().catch(() => {});
275
- const message = error instanceof Error ? error.message : String(error);
276
- logger?.log(
277
- `[mcp] Failed to load MCP settings, skipping MCP tools: ${message}`,
278
- );
279
- return { tools: [] };
280
- }
281
-
282
- const enabled = registrations.filter((r) => r.disabled !== true);
283
- const results = await Promise.allSettled(
284
- enabled.map((r) =>
285
- createMcpTools({ serverName: r.name, provider: manager }),
286
- ),
287
- );
288
- const tools: Tool[] = [];
289
- for (const [i, result] of results.entries()) {
290
- if (result.status === "fulfilled") {
291
- tools.push(...result.value);
292
- } else {
293
- const message =
294
- result.reason instanceof Error
295
- ? result.reason.message
296
- : String(result.reason);
297
- logger?.log(
298
- `[mcp] Failed to load tools from MCP server "${enabled[i].name}", skipping: ${message}`,
299
- );
300
- }
301
- }
302
-
303
- return {
304
- tools,
305
- shutdown: async () => {
306
- await manager.dispose();
307
- },
308
- };
309
- }
310
-
311
- function resolveSkillRecord(
312
- watcher: UserInstructionConfigWatcher,
313
- requestedSkill: string,
314
- allowedSkillNames?: ReadonlyArray<string>,
315
- ): { id: string; skill: SkillConfig } | { error: string } {
316
- const normalized = requestedSkill.trim().replace(/^\/+/, "").toLowerCase();
317
- if (!normalized) {
318
- return { error: "Missing skill name." };
319
- }
320
-
321
- const configuredSkills = getConfiguredSkills(watcher, allowedSkillNames);
322
- const exact = configuredSkills.find((entry) => entry.id === normalized);
323
- if (exact) {
324
- const { skill } = exact;
325
- if (skill.disabled === true) {
326
- return {
327
- error: `Skill "${skill.name}" is configured but disabled.`,
328
- };
329
- }
330
- return {
331
- id: exact.id,
332
- skill,
333
- };
334
- }
335
-
336
- const bareName = normalized.includes(":")
337
- ? (normalized.split(":").at(-1) ?? normalized)
338
- : normalized;
339
-
340
- const suffixMatches = configuredSkills.filter(({ id }) => {
341
- if (id === bareName) {
342
- return true;
343
- }
344
- return id.endsWith(`:${bareName}`);
345
- });
346
-
347
- const enabledSuffixMatches = suffixMatches.filter(
348
- ({ skill }) => skill.disabled !== true,
349
- );
350
-
351
- if (enabledSuffixMatches.length === 1) {
352
- const { id, skill } = enabledSuffixMatches[0];
353
- return { id, skill };
354
- }
355
-
356
- if (enabledSuffixMatches.length > 1) {
357
- return {
358
- error: `Skill "${requestedSkill}" is ambiguous. Use one of: ${enabledSuffixMatches.map(({ id }) => id).join(", ")}`,
359
- };
360
- }
361
-
362
- if (suffixMatches.length === 1) {
363
- const { skill } = suffixMatches[0];
364
- return {
365
- error: `Skill "${skill.name}" is configured but disabled.`,
366
- };
367
- }
368
-
369
- if (suffixMatches.length > 1) {
370
- return {
371
- error: `Skill "${requestedSkill}" is ambiguous, and all matches are disabled: ${suffixMatches.map(({ id }) => id).join(", ")}`,
372
- };
373
- }
374
-
375
- const available = listAvailableSkillNames(watcher, allowedSkillNames);
376
- return {
377
- error:
378
- available.length > 0
379
- ? `Skill "${requestedSkill}" not found. Available skills: ${available.join(", ")}`
380
- : "No skills are currently available.",
381
- };
382
- }
383
-
384
- function createSkillsExecutor(
385
- watcher: UserInstructionConfigWatcher,
386
- watcherReady: Promise<void>,
387
- allowedSkillNames?: ReadonlyArray<string>,
388
- ): SkillsExecutorWithMetadata {
389
- const runningSkills = new Set<string>();
390
- const executor: SkillsExecutorWithMetadata = async (skillName, args) => {
391
- await watcherReady;
392
- const resolved = resolveSkillRecord(watcher, skillName, allowedSkillNames);
393
- if ("error" in resolved) {
394
- return resolved.error;
395
- }
396
-
397
- const { id, skill } = resolved;
398
- if (runningSkills.has(id)) {
399
- return `Skill "${skill.name}" is already running.`;
400
- }
401
-
402
- runningSkills.add(id);
403
- try {
404
- const trimmedArgs = args?.trim();
405
- const argsTag = trimmedArgs
406
- ? `\n<command-args>${trimmedArgs}</command-args>`
407
- : "";
408
- const description = skill.description?.trim()
409
- ? `Description: ${skill.description.trim()}\n\n`
410
- : "";
411
-
412
- return `<command-name>${skill.name}</command-name>${argsTag}\n<command-instructions>\n${description}${skill.instructions}\n</command-instructions>`;
413
- } finally {
414
- runningSkills.delete(id);
415
- }
416
- };
417
- Object.defineProperty(executor, "configuredSkills", {
418
- get: () =>
419
- getConfiguredSkills(watcher, allowedSkillNames).map(
420
- ({ skill: _skill, ...metadata }) => metadata,
421
- ),
422
- enumerable: true,
423
- configurable: false,
424
- });
425
- return executor;
426
- }
427
-
428
- function shutdownTeamRuntime(
429
- teamRuntime: AgentTeamsRuntime | undefined,
430
- reason: string,
431
- ): void {
432
- if (!teamRuntime) {
433
- return;
434
- }
435
- for (const teammateId of teamRuntime.getTeammateIds()) {
436
- try {
437
- teamRuntime.shutdownTeammate(teammateId, reason);
438
- } catch {
439
- // Best-effort shutdown for all teammates.
440
- }
441
- }
442
- }
443
-
444
- function isRuntimeLifecycleShutdownReason(reason: string | undefined): boolean {
445
- if (reason === undefined) {
446
- return true;
447
- }
448
- switch (reason) {
449
- case "session_stop":
450
- case "session_complete":
451
- case "session_error":
452
- case "session_manager_dispose":
453
- case "cli_run_shutdown":
454
- case "cli_interactive_shutdown":
455
- case "cli_interactive_startup_cancelled":
456
- case "provider_change":
457
- case "acp_shutdown":
458
- case "hub_server_stop":
459
- case "vscode_webview_dispose":
460
- return true;
461
- default:
462
- return false;
463
- }
464
- }
465
-
466
- function normalizeConfig(
467
- config: CoreSessionConfig,
468
- ): Required<
469
- Pick<
470
- CoreSessionConfig,
471
- | "mode"
472
- | "enableTools"
473
- | "enableSpawnAgent"
474
- | "enableAgentTeams"
475
- | "disableMcpSettingsTools"
476
- | "yolo"
477
- | "missionLogIntervalSteps"
478
- | "missionLogIntervalMs"
479
- | "sessionId"
480
- >
481
- > {
482
- const preset = ToolPresets[resolveToolPresetName({ mode: config.mode })];
483
- return {
484
- sessionId: config.sessionId || "",
485
- mode:
486
- config.mode === "plan" ? "plan" : config.mode === "yolo" ? "yolo" : "act",
487
- enableTools: config.enableTools !== false,
488
- enableSpawnAgent:
489
- config.enableSpawnAgent ?? preset.enableSpawnAgent ?? true,
490
- enableAgentTeams:
491
- config.enableAgentTeams ?? preset.enableAgentTeams ?? true,
492
- disableMcpSettingsTools: config.disableMcpSettingsTools === true,
493
- yolo: config.yolo === true,
494
- missionLogIntervalSteps:
495
- typeof config.missionLogIntervalSteps === "number" &&
496
- Number.isFinite(config.missionLogIntervalSteps)
497
- ? config.missionLogIntervalSteps
498
- : 3,
499
- missionLogIntervalMs:
500
- typeof config.missionLogIntervalMs === "number" &&
501
- Number.isFinite(config.missionLogIntervalMs)
502
- ? config.missionLogIntervalMs
503
- : 120000,
504
- };
505
- }
506
-
507
- export class DefaultRuntimeBuilder implements RuntimeBuilder {
508
- private readonly teamRuntimeEntries = new Map<
509
- string,
510
- {
511
- runtime?: AgentTeamsRuntime;
512
- delegatedAgentConfigProvider: ReturnType<
513
- typeof createDelegatedAgentConfigProvider
514
- >;
515
- }
516
- >();
517
-
518
- async build(input: RuntimeBuilderInput): Promise<RuntimeEnvironment> {
519
- const {
520
- config,
521
- hooks,
522
- extensions,
523
- logger,
524
- telemetry,
525
- createSpawnTool,
526
- onTeamRestored,
527
- userInstructionWatcher: sharedUserInstructionWatcher,
528
- configExtensions,
529
- defaultToolExecutors,
530
- } = input;
531
- const onTeamEvent = input.onTeamEvent ?? (() => {});
532
- const normalized = normalizeConfig(config);
533
- const globallyDisabledToolNames = resolveDisabledToolNames();
534
- const tools: Tool[] = [];
535
- const effectiveTeamName = config.teamName?.trim() || createTeamName();
536
- const teamStoreKey = config.sessionId?.trim() || effectiveTeamName;
537
- const skillsEnabled = hasConfigExtension(configExtensions, "skills");
538
- const hasLocalSkills = skillsEnabled && hasSkillsFiles(config.cwd);
539
- let teamToolsRegistered = false;
540
- const watcherProvided = Boolean(sharedUserInstructionWatcher);
541
- let userInstructionWatcher = sharedUserInstructionWatcher;
542
- let watcherReady = Promise.resolve();
543
- let skillsExecutor: SkillsExecutorWithMetadata | undefined;
544
- let mcpShutdown: (() => Promise<void>) | undefined;
545
-
546
- if (
547
- !userInstructionWatcher &&
548
- normalized.enableTools &&
549
- skillsEnabled &&
550
- hasLocalSkills
551
- ) {
552
- userInstructionWatcher = createUserInstructionConfigWatcher({
553
- skills: { workspacePath: config.cwd },
554
- rules: { workspacePath: config.cwd },
555
- workflows: { workspacePath: config.cwd },
556
- });
557
- watcherReady = userInstructionWatcher.start().catch(() => {});
558
- }
559
-
560
- if (
561
- normalized.enableTools &&
562
- skillsEnabled &&
563
- userInstructionWatcher &&
564
- (watcherProvided ||
565
- hasLocalSkills ||
566
- getConfiguredSkills(userInstructionWatcher, config.skills).length > 0)
567
- ) {
568
- skillsExecutor = createSkillsExecutor(
569
- userInstructionWatcher,
570
- watcherReady,
571
- config.skills,
572
- );
573
- }
574
-
575
- if (normalized.enableTools) {
576
- tools.push(
577
- ...createBuiltinToolsList(
578
- config.cwd,
579
- config.providerId,
580
- normalized.mode,
581
- config.modelId,
582
- config.toolRoutingRules,
583
- config.toolPolicies,
584
- skillsExecutor,
585
- defaultToolExecutors,
586
- ),
587
- );
588
- if (!normalized.disableMcpSettingsTools) {
589
- const mcpRuntime = await loadConfiguredMcpTools(config.logger);
590
- tools.push(...mcpRuntime.tools);
591
- mcpShutdown = mcpRuntime.shutdown;
592
- }
593
- }
594
-
595
- let teamRuntime: AgentTeamsRuntime | undefined;
596
- const teamStore = normalized.enableAgentTeams
597
- ? createLocalTeamStore()
598
- : undefined;
599
- const restoredTeam = teamStore?.loadRuntime(teamStoreKey);
600
- const restoredTeamState = restoredTeam?.state;
601
- const restoredTeammateSpecs = restoredTeam?.teammates ?? [];
602
- const teammateSpecs = new Map(
603
- restoredTeammateSpecs.map((spec) => [spec.agentId, spec] as const),
604
- );
605
- const registryKey = config.sessionId || effectiveTeamName;
606
- let leadAgentInstance:
607
- | {
608
- addTools: (tools: Tool[]) => void;
609
- }
610
- | undefined;
611
- let pendingLeadTeamTools: Tool[] = [];
612
- let restoredStateHydratedIntoRuntime = false;
613
- const delegatedAgentConfigProvider = createDelegatedAgentConfigProvider({
614
- providerId: config.providerId,
615
- modelId: config.modelId,
616
- cwd: config.cwd,
617
- apiKey: config.apiKey ?? "",
618
- baseUrl: config.baseUrl,
619
- headers: config.headers,
620
- providerConfig: config.providerConfig,
621
- knownModels: config.knownModels,
622
- thinking: config.thinking,
623
- maxIterations: config.maxIterations,
624
- hooks,
625
- extensions: extensions ?? config.extensions,
626
- logger: logger ?? config.logger,
627
- telemetry: input.telemetry ?? config.telemetry,
628
- workspaceMetadata: config.workspaceMetadata,
629
- });
630
- if (!this.teamRuntimeEntries.has(registryKey)) {
631
- this.teamRuntimeEntries.set(registryKey, {
632
- delegatedAgentConfigProvider,
633
- });
634
- }
635
-
636
- const ensureTeamRuntime = (): AgentTeamsRuntime | undefined => {
637
- if (!normalized.enableAgentTeams) {
638
- return undefined;
639
- }
640
-
641
- const registryEntry = this.teamRuntimeEntries.get(registryKey) ?? {
642
- delegatedAgentConfigProvider,
643
- };
644
- this.teamRuntimeEntries.set(registryKey, registryEntry);
645
- teamRuntime = registryEntry.runtime;
646
-
647
- if (!teamRuntime) {
648
- teamRuntime = new AgentTeamsRuntime({
649
- teamName: effectiveTeamName,
650
- leadAgentId: config.sessionId || "lead",
651
- missionLogIntervalSteps: normalized.missionLogIntervalSteps,
652
- missionLogIntervalMs: normalized.missionLogIntervalMs,
653
- onTeamEvent: (event: TeamEvent) => {
654
- onTeamEvent(event);
655
- if (teamRuntime && teamStore) {
656
- if (
657
- event.type === "teammate_spawned" &&
658
- event.teammate?.rolePrompt
659
- ) {
660
- const spec: TeamTeammateSpec = {
661
- agentId: event.agentId,
662
- rolePrompt: event.teammate.rolePrompt,
663
- modelId: event.teammate.modelId,
664
- maxIterations: event.teammate.maxIterations,
665
- };
666
- teammateSpecs.set(spec.agentId, spec);
667
- }
668
- if (
669
- event.type === "teammate_shutdown" &&
670
- !isRuntimeLifecycleShutdownReason(event.reason)
671
- ) {
672
- teammateSpecs.delete(event.agentId);
673
- }
674
- teamStore.handleTeamEvent(teamStoreKey, event);
675
- teamStore.persistRuntime(
676
- teamStoreKey,
677
- teamRuntime.exportState(),
678
- Array.from(teammateSpecs.values()),
679
- );
680
- }
681
- },
682
- });
683
- if (restoredTeamState) {
684
- teamRuntime.hydrateState(restoredTeamState);
685
- restoredStateHydratedIntoRuntime = true;
686
- }
687
- registryEntry.runtime = teamRuntime;
688
- }
689
-
690
- if (!teamToolsRegistered) {
691
- if (!teamRuntime) {
692
- return undefined;
693
- }
694
- teamToolsRegistered = true;
695
-
696
- const teamBootstrap = bootstrapAgentTeams({
697
- runtime: teamRuntime,
698
- leadAgentId: config.sessionId || "lead",
699
- restoredFromPersistence: Boolean(restoredTeamState),
700
- restoredTeammates: restoredTeammateSpecs,
701
- includeLeadSpawnTool: true,
702
- includeLeadManagementTools: true,
703
- onLeadToolsUnlocked: (teamTools) => {
704
- pendingLeadTeamTools = teamTools;
705
- leadAgentInstance?.addTools(teamTools);
706
- },
707
- createBaseTools: normalized.enableTools
708
- ? () =>
709
- createBuiltinToolsList(
710
- config.cwd,
711
- config.providerId,
712
- normalized.mode,
713
- config.modelId,
714
- config.toolRoutingRules,
715
- config.toolPolicies,
716
- skillsExecutor,
717
- defaultToolExecutors,
718
- )
719
- : undefined,
720
- teammateConfigProvider: delegatedAgentConfigProvider,
721
- });
722
-
723
- if (restoredStateHydratedIntoRuntime) {
724
- teamRuntime.recoverActiveRuns("runtime_recovered");
725
- }
726
-
727
- if (teamBootstrap.restoredFromPersistence) {
728
- onTeamRestored?.();
729
- }
730
- tools.push(...teamBootstrap.tools);
731
- }
732
-
733
- return teamRuntime;
734
- };
735
-
736
- if (normalized.enableSpawnAgent && createSpawnTool) {
737
- const spawnTool = createSpawnTool();
738
- tools.push({
739
- ...spawnTool,
740
- execute: async (spawnInput, context) => {
741
- ensureTeamRuntime();
742
- return spawnTool.execute(spawnInput, context);
743
- },
744
- });
745
- }
746
-
747
- if (normalized.enableAgentTeams) {
748
- ensureTeamRuntime();
749
- }
750
-
751
- const completionGuard = normalized.enableAgentTeams
752
- ? () => {
753
- const rt = this.teamRuntimeEntries.get(registryKey)?.runtime;
754
- if (!rt) return undefined;
755
- const tasks = rt.listTasks();
756
- const hasInProgress = tasks.some(
757
- (t) => t.status === "in_progress" || t.status === "pending",
758
- );
759
- const runs = rt.listRuns({});
760
- const hasActiveRuns = runs.some(
761
- (r) => r.status === "running" || r.status === "queued",
762
- );
763
- if (hasInProgress || hasActiveRuns) {
764
- const pending = tasks
765
- .filter(
766
- (t) => t.status === "in_progress" || t.status === "pending",
767
- )
768
- .map((t) => `${t.id} (${t.status}): ${t.title}`)
769
- .join(", ");
770
- const activeRunSummary = runs
771
- .filter((r) => r.status === "running" || r.status === "queued")
772
- .map((r) => `${r.id} (${r.status})`)
773
- .join(", ");
774
- const parts = [];
775
- if (pending) parts.push(`Unfinished tasks: ${pending}`);
776
- if (activeRunSummary)
777
- parts.push(`Active runs: ${activeRunSummary}`);
778
- return `[SYSTEM] You still have team obligations. ${parts.join(". ")}. Use team_run_task to delegate work, or team_task with action=complete to mark tasks done, or team_await_runs to wait for active runs. Do NOT stop until all tasks are completed.`;
779
- }
780
- return undefined;
781
- }
782
- : undefined;
783
-
784
- return {
785
- tools: filterAvailableTools(tools, config.toolPolicies),
786
- logger: logger ?? config.logger,
787
- telemetry: telemetry ?? config.telemetry,
788
- teamRuntime,
789
- teamRestoredFromPersistence: Boolean(restoredTeamState),
790
- delegatedAgentConfigProvider:
791
- this.teamRuntimeEntries.get(registryKey)
792
- ?.delegatedAgentConfigProvider ?? delegatedAgentConfigProvider,
793
- completionGuard,
794
- registerLeadAgent: (agent) => {
795
- leadAgentInstance = agent;
796
- if (pendingLeadTeamTools.length > 0) {
797
- agent.addTools(
798
- filterDisabledTools(pendingLeadTeamTools, [
799
- ...globallyDisabledToolNames,
800
- ]),
801
- );
802
- }
803
- },
804
- shutdown: async (reason: string) => {
805
- shutdownTeamRuntime(teamRuntime, reason);
806
- this.teamRuntimeEntries.delete(registryKey);
807
- await mcpShutdown?.();
808
- if (!watcherProvided) {
809
- userInstructionWatcher?.stop();
810
- }
811
- },
812
- };
813
- }
814
- }