@clinebot/core 0.0.35 → 0.0.37

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 (441) hide show
  1. package/README.md +1 -2
  2. package/dist/ClineCore.d.ts +362 -39
  3. package/dist/ClineCore.d.ts.map +1 -1
  4. package/dist/account/cline-account-service.d.ts.map +1 -1
  5. package/dist/account/index.d.ts +1 -1
  6. package/dist/account/index.d.ts.map +1 -1
  7. package/dist/account/rpc.d.ts +6 -6
  8. package/dist/account/rpc.d.ts.map +1 -1
  9. package/dist/cron/cron-event-ingress.d.ts +38 -0
  10. package/dist/cron/cron-event-ingress.d.ts.map +1 -0
  11. package/dist/cron/cron-materializer.d.ts +36 -0
  12. package/dist/cron/cron-materializer.d.ts.map +1 -0
  13. package/dist/cron/cron-reconciler.d.ts +62 -0
  14. package/dist/cron/cron-reconciler.d.ts.map +1 -0
  15. package/dist/cron/cron-report-writer.d.ts +41 -0
  16. package/dist/cron/cron-report-writer.d.ts.map +1 -0
  17. package/dist/cron/cron-runner.d.ts +43 -0
  18. package/dist/cron/cron-runner.d.ts.map +1 -0
  19. package/dist/cron/cron-schema.d.ts +3 -0
  20. package/dist/cron/cron-schema.d.ts.map +1 -0
  21. package/dist/cron/cron-service.d.ts +57 -0
  22. package/dist/cron/cron-service.d.ts.map +1 -0
  23. package/dist/cron/cron-spec-parser.d.ts +27 -0
  24. package/dist/cron/cron-spec-parser.d.ts.map +1 -0
  25. package/dist/cron/cron-watcher.d.ts +23 -0
  26. package/dist/cron/cron-watcher.d.ts.map +1 -0
  27. package/dist/cron/resource-limiter.d.ts +9 -0
  28. package/dist/cron/resource-limiter.d.ts.map +1 -0
  29. package/dist/cron/schedule-command-service.d.ts +10 -0
  30. package/dist/cron/schedule-command-service.d.ts.map +1 -0
  31. package/dist/cron/schedule-service.d.ts +100 -0
  32. package/dist/cron/schedule-service.d.ts.map +1 -0
  33. package/dist/cron/scheduler.d.ts +68 -0
  34. package/dist/cron/scheduler.d.ts.map +1 -0
  35. package/dist/cron/sqlite-cron-store.d.ts +230 -0
  36. package/dist/cron/sqlite-cron-store.d.ts.map +1 -0
  37. package/dist/cron/sqlite-schedule-store.d.ts +52 -0
  38. package/dist/cron/sqlite-schedule-store.d.ts.map +1 -0
  39. package/dist/extensions/config/agent-config-loader.d.ts +4 -3
  40. package/dist/extensions/config/agent-config-loader.d.ts.map +1 -1
  41. package/dist/extensions/config/runtime-commands.d.ts +1 -0
  42. package/dist/extensions/config/runtime-commands.d.ts.map +1 -1
  43. package/dist/extensions/config/user-instruction-config-loader.d.ts +1 -0
  44. package/dist/extensions/config/user-instruction-config-loader.d.ts.map +1 -1
  45. package/dist/extensions/context/agentic-compaction.d.ts +2 -2
  46. package/dist/extensions/context/agentic-compaction.d.ts.map +1 -1
  47. package/dist/extensions/context/compaction-shared.d.ts +5 -4
  48. package/dist/extensions/context/compaction-shared.d.ts.map +1 -1
  49. package/dist/extensions/context/compaction.d.ts.map +1 -1
  50. package/dist/extensions/plugin/plugin-config-loader.d.ts +15 -2
  51. package/dist/extensions/plugin/plugin-config-loader.d.ts.map +1 -1
  52. package/dist/extensions/plugin/plugin-loader.d.ts +13 -7
  53. package/dist/extensions/plugin/plugin-loader.d.ts.map +1 -1
  54. package/dist/extensions/plugin/plugin-module-import.d.ts.map +1 -1
  55. package/dist/extensions/plugin/plugin-sandbox.d.ts +21 -2
  56. package/dist/extensions/plugin/plugin-sandbox.d.ts.map +1 -1
  57. package/dist/extensions/plugin/plugin-targeting.d.ts +7 -0
  58. package/dist/extensions/plugin/plugin-targeting.d.ts.map +1 -0
  59. package/dist/extensions/plugin-sandbox-bootstrap.js +237 -276
  60. package/dist/extensions/tools/constants.d.ts +1 -0
  61. package/dist/extensions/tools/constants.d.ts.map +1 -1
  62. package/dist/extensions/tools/definitions.d.ts +3 -4
  63. package/dist/extensions/tools/definitions.d.ts.map +1 -1
  64. package/dist/extensions/tools/executors/apply-patch.d.ts +3 -1
  65. package/dist/extensions/tools/executors/apply-patch.d.ts.map +1 -1
  66. package/dist/extensions/tools/executors/editor.d.ts.map +1 -1
  67. package/dist/extensions/tools/executors/search.d.ts +1 -1
  68. package/dist/extensions/tools/executors/search.d.ts.map +1 -1
  69. package/dist/extensions/tools/helpers.d.ts +1 -0
  70. package/dist/extensions/tools/helpers.d.ts.map +1 -1
  71. package/dist/extensions/tools/index.d.ts +3 -2
  72. package/dist/extensions/tools/index.d.ts.map +1 -1
  73. package/dist/extensions/tools/presets.d.ts +27 -44
  74. package/dist/extensions/tools/presets.d.ts.map +1 -1
  75. package/dist/extensions/tools/runtime.d.ts +25 -0
  76. package/dist/extensions/tools/runtime.d.ts.map +1 -0
  77. package/dist/extensions/tools/schemas.d.ts +25 -3
  78. package/dist/extensions/tools/schemas.d.ts.map +1 -1
  79. package/dist/extensions/tools/team/delegated-agent.d.ts +2 -2
  80. package/dist/extensions/tools/team/delegated-agent.d.ts.map +1 -1
  81. package/dist/extensions/tools/team/multi-agent.d.ts +7 -3
  82. package/dist/extensions/tools/team/multi-agent.d.ts.map +1 -1
  83. package/dist/extensions/tools/team/team-tools.d.ts +1 -0
  84. package/dist/extensions/tools/team/team-tools.d.ts.map +1 -1
  85. package/dist/extensions/tools/types.d.ts +0 -5
  86. package/dist/extensions/tools/types.d.ts.map +1 -1
  87. package/dist/hooks/hook-bridge.d.ts +118 -0
  88. package/dist/hooks/hook-bridge.d.ts.map +1 -0
  89. package/dist/hooks/hook-file-hooks.d.ts +6 -2
  90. package/dist/hooks/hook-file-hooks.d.ts.map +1 -1
  91. package/dist/hooks/hook-registry.d.ts +16 -0
  92. package/dist/hooks/hook-registry.d.ts.map +1 -0
  93. package/dist/hooks/index.d.ts +0 -1
  94. package/dist/hooks/index.d.ts.map +1 -1
  95. package/dist/hooks/subprocess.d.ts +8 -1
  96. package/dist/hooks/subprocess.d.ts.map +1 -1
  97. package/dist/hub/browser-websocket.d.ts +18 -0
  98. package/dist/hub/browser-websocket.d.ts.map +1 -0
  99. package/dist/hub/client.d.ts +51 -0
  100. package/dist/hub/client.d.ts.map +1 -0
  101. package/dist/hub/connect.d.ts +15 -0
  102. package/dist/hub/connect.d.ts.map +1 -0
  103. package/dist/hub/daemon-entry.d.ts +2 -0
  104. package/dist/hub/daemon-entry.d.ts.map +1 -0
  105. package/dist/hub/daemon-entry.js +1305 -0
  106. package/dist/hub/daemon.d.ts +5 -0
  107. package/dist/hub/daemon.d.ts.map +1 -0
  108. package/dist/hub/defaults.d.ts +17 -0
  109. package/dist/hub/defaults.d.ts.map +1 -0
  110. package/dist/hub/discovery.d.ts +29 -0
  111. package/dist/hub/discovery.d.ts.map +1 -0
  112. package/dist/hub/index.d.ts +15 -0
  113. package/dist/hub/index.d.ts.map +1 -0
  114. package/dist/hub/index.js +1294 -0
  115. package/dist/hub/native-transport.d.ts +17 -0
  116. package/dist/hub/native-transport.d.ts.map +1 -0
  117. package/dist/hub/runtime-handlers.d.ts +11 -0
  118. package/dist/hub/runtime-handlers.d.ts.map +1 -0
  119. package/dist/hub/server.d.ts +104 -0
  120. package/dist/hub/server.d.ts.map +1 -0
  121. package/dist/hub/session-client.d.ts +90 -0
  122. package/dist/hub/session-client.d.ts.map +1 -0
  123. package/dist/hub/start-shared-server.d.ts +19 -0
  124. package/dist/hub/start-shared-server.d.ts.map +1 -0
  125. package/dist/hub/transport.d.ts +8 -0
  126. package/dist/hub/transport.d.ts.map +1 -0
  127. package/dist/hub/ui-client.d.ts +45 -0
  128. package/dist/hub/ui-client.d.ts.map +1 -0
  129. package/dist/hub/workspace.d.ts +4 -0
  130. package/dist/hub/workspace.d.ts.map +1 -0
  131. package/dist/index.d.ts +29 -16
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +782 -471
  134. package/dist/llms/cline-recommended-models.d.ts +20 -0
  135. package/dist/llms/cline-recommended-models.d.ts.map +1 -0
  136. package/dist/llms/configured-provider-registry.d.ts +28 -0
  137. package/dist/llms/configured-provider-registry.d.ts.map +1 -0
  138. package/dist/llms/handler-factory.d.ts +16 -0
  139. package/dist/llms/handler-factory.d.ts.map +1 -0
  140. package/dist/llms/provider-defaults.d.ts +27 -0
  141. package/dist/llms/provider-defaults.d.ts.map +1 -0
  142. package/dist/llms/provider-settings.d.ts +245 -0
  143. package/dist/llms/provider-settings.d.ts.map +1 -0
  144. package/dist/llms/runtime-config.d.ts +4 -0
  145. package/dist/llms/runtime-config.d.ts.map +1 -0
  146. package/dist/llms/runtime-registry.d.ts +20 -0
  147. package/dist/llms/runtime-registry.d.ts.map +1 -0
  148. package/dist/llms/runtime-types.d.ts +85 -0
  149. package/dist/llms/runtime-types.d.ts.map +1 -0
  150. package/dist/runtime/agent-config-adapter.d.ts +148 -0
  151. package/dist/runtime/agent-config-adapter.d.ts.map +1 -0
  152. package/dist/runtime/agent-runtime-config-builder.d.ts +96 -0
  153. package/dist/runtime/agent-runtime-config-builder.d.ts.map +1 -0
  154. package/dist/runtime/history.d.ts +6 -0
  155. package/dist/runtime/history.d.ts.map +1 -1
  156. package/dist/runtime/host.d.ts +1 -2
  157. package/dist/runtime/host.d.ts.map +1 -1
  158. package/dist/runtime/loop-detection.d.ts +59 -0
  159. package/dist/runtime/loop-detection.d.ts.map +1 -0
  160. package/dist/runtime/mistake-tracker.d.ts +69 -0
  161. package/dist/runtime/mistake-tracker.d.ts.map +1 -0
  162. package/dist/runtime/rules.d.ts +1 -0
  163. package/dist/runtime/rules.d.ts.map +1 -1
  164. package/dist/runtime/runtime-builder.d.ts.map +1 -1
  165. package/dist/runtime/runtime-event-adapter.d.ts +102 -0
  166. package/dist/runtime/runtime-event-adapter.d.ts.map +1 -0
  167. package/dist/runtime/runtime-host.d.ts +49 -26
  168. package/dist/runtime/runtime-host.d.ts.map +1 -1
  169. package/dist/runtime/runtime-oauth-token-manager.d.ts.map +1 -1
  170. package/dist/runtime/session-runtime-orchestrator.d.ts +261 -0
  171. package/dist/runtime/session-runtime-orchestrator.d.ts.map +1 -0
  172. package/dist/runtime/session-runtime.d.ts +16 -21
  173. package/dist/runtime/session-runtime.d.ts.map +1 -1
  174. package/dist/runtime/user-input-builder.d.ts +24 -0
  175. package/dist/runtime/user-input-builder.d.ts.map +1 -0
  176. package/dist/services/global-settings.d.ts +12 -0
  177. package/dist/services/global-settings.d.ts.map +1 -0
  178. package/dist/services/index.js +28 -0
  179. package/dist/services/local-runtime-bootstrap.d.ts +9 -3
  180. package/dist/services/local-runtime-bootstrap.d.ts.map +1 -1
  181. package/dist/services/plugin-tools.d.ts +16 -0
  182. package/dist/services/plugin-tools.d.ts.map +1 -0
  183. package/dist/services/providers/local-provider-registry.d.ts +199 -23
  184. package/dist/services/providers/local-provider-registry.d.ts.map +1 -1
  185. package/dist/services/providers/local-provider-service.d.ts +15 -13
  186. package/dist/services/providers/local-provider-service.d.ts.map +1 -1
  187. package/dist/services/session-data.d.ts +1 -1
  188. package/dist/services/session-data.d.ts.map +1 -1
  189. package/dist/services/session-telemetry.d.ts +7 -2
  190. package/dist/services/session-telemetry.d.ts.map +1 -1
  191. package/dist/services/storage/file-team-store.d.ts.map +1 -1
  192. package/dist/services/storage/provider-settings-legacy-migration.d.ts +1 -1
  193. package/dist/services/storage/provider-settings-legacy-migration.d.ts.map +1 -1
  194. package/dist/services/storage/provider-settings-manager.d.ts +1 -0
  195. package/dist/services/storage/provider-settings-manager.d.ts.map +1 -1
  196. package/dist/services/storage/sqlite-team-store.d.ts.map +1 -1
  197. package/dist/services/workspace-manifest.d.ts +11 -0
  198. package/dist/services/workspace-manifest.d.ts.map +1 -1
  199. package/dist/session/conversation-store.d.ts +30 -0
  200. package/dist/session/conversation-store.d.ts.map +1 -0
  201. package/dist/session/message-builder.d.ts +65 -0
  202. package/dist/session/message-builder.d.ts.map +1 -0
  203. package/dist/session/persistence-service.d.ts +11 -23
  204. package/dist/session/persistence-service.d.ts.map +1 -1
  205. package/dist/session/session-manifest-store.d.ts +22 -0
  206. package/dist/session/session-manifest-store.d.ts.map +1 -0
  207. package/dist/session/session-manifest.d.ts +1 -1
  208. package/dist/session/session-row.d.ts +93 -0
  209. package/dist/session/session-row.d.ts.map +1 -0
  210. package/dist/session/session-service.d.ts +2 -102
  211. package/dist/session/session-service.d.ts.map +1 -1
  212. package/dist/session/subagent-session-manager.d.ts +36 -0
  213. package/dist/session/subagent-session-manager.d.ts.map +1 -0
  214. package/dist/session/team-persistence-store.d.ts +24 -0
  215. package/dist/session/team-persistence-store.d.ts.map +1 -0
  216. package/dist/transports/hub.d.ts +58 -0
  217. package/dist/transports/hub.d.ts.map +1 -0
  218. package/dist/transports/local.d.ts +23 -9
  219. package/dist/transports/local.d.ts.map +1 -1
  220. package/dist/transports/remote.d.ts +10 -0
  221. package/dist/transports/remote.d.ts.map +1 -0
  222. package/dist/transports/runtime-host-support.d.ts +3 -2
  223. package/dist/transports/runtime-host-support.d.ts.map +1 -1
  224. package/dist/types/chat-schema.d.ts +15 -17
  225. package/dist/types/chat-schema.d.ts.map +1 -1
  226. package/dist/types/config.d.ts +17 -7
  227. package/dist/types/config.d.ts.map +1 -1
  228. package/dist/types/events.d.ts +7 -6
  229. package/dist/types/events.d.ts.map +1 -1
  230. package/dist/types/provider-settings.d.ts +4 -5
  231. package/dist/types/provider-settings.d.ts.map +1 -1
  232. package/dist/types/session.d.ts +7 -3
  233. package/dist/types/session.d.ts.map +1 -1
  234. package/dist/types.d.ts +11 -4
  235. package/dist/types.d.ts.map +1 -1
  236. package/package.json +20 -6
  237. package/src/ClineCore.ts +757 -44
  238. package/src/account/cline-account-service.ts +44 -6
  239. package/src/account/index.ts +3 -3
  240. package/src/account/rpc.ts +12 -12
  241. package/src/cron/cron-event-ingress.ts +357 -0
  242. package/src/cron/cron-materializer.ts +97 -0
  243. package/src/cron/cron-reconciler.ts +241 -0
  244. package/src/cron/cron-report-writer.ts +153 -0
  245. package/src/cron/cron-runner.ts +495 -0
  246. package/src/cron/cron-schema.ts +127 -0
  247. package/src/cron/cron-service.ts +163 -0
  248. package/src/cron/cron-spec-parser.ts +489 -0
  249. package/src/cron/cron-watcher.ts +102 -0
  250. package/src/cron/index.ts +15 -0
  251. package/src/cron/resource-limiter.ts +46 -0
  252. package/src/cron/schedule-command-service.ts +193 -0
  253. package/src/cron/schedule-service.ts +703 -0
  254. package/src/cron/scheduler.ts +772 -0
  255. package/src/cron/sqlite-cron-store.ts +1286 -0
  256. package/src/cron/sqlite-schedule-store.ts +708 -0
  257. package/src/extensions/config/agent-config-loader.ts +17 -7
  258. package/src/extensions/config/runtime-commands.ts +6 -0
  259. package/src/extensions/config/user-instruction-config-loader.ts +1 -0
  260. package/src/extensions/context/agentic-compaction.ts +3 -3
  261. package/src/extensions/context/basic-compaction.ts +2 -2
  262. package/src/extensions/context/compaction-shared.ts +5 -4
  263. package/src/extensions/context/compaction.ts +3 -3
  264. package/src/extensions/plugin/plugin-config-loader.ts +37 -2
  265. package/src/extensions/plugin/plugin-loader.ts +69 -9
  266. package/src/extensions/plugin/plugin-module-import.ts +0 -2
  267. package/src/extensions/plugin/plugin-sandbox-bootstrap.ts +243 -39
  268. package/src/extensions/plugin/plugin-sandbox.ts +173 -29
  269. package/src/extensions/plugin/plugin-targeting.ts +32 -0
  270. package/src/extensions/tools/constants.ts +2 -0
  271. package/src/extensions/tools/definitions.ts +61 -71
  272. package/src/extensions/tools/executors/apply-patch.ts +69 -80
  273. package/src/extensions/tools/executors/editor.ts +4 -3
  274. package/src/extensions/tools/executors/search.ts +195 -3
  275. package/src/extensions/tools/helpers.ts +24 -0
  276. package/src/extensions/tools/index.ts +11 -2
  277. package/src/extensions/tools/presets.ts +32 -47
  278. package/src/extensions/tools/runtime.ts +261 -0
  279. package/src/extensions/tools/schemas.ts +17 -20
  280. package/src/extensions/tools/team/delegated-agent.ts +8 -3
  281. package/src/extensions/tools/team/multi-agent.ts +135 -19
  282. package/src/extensions/tools/team/team-tools.ts +172 -91
  283. package/src/extensions/tools/types.ts +0 -6
  284. package/src/hooks/hook-bridge.ts +489 -0
  285. package/src/hooks/hook-file-hooks.ts +66 -5
  286. package/src/hooks/hook-registry.ts +257 -0
  287. package/src/hooks/index.ts +0 -7
  288. package/src/hooks/subprocess-runner.ts +1 -1
  289. package/src/hooks/subprocess.ts +9 -0
  290. package/src/hub/browser-websocket.ts +159 -0
  291. package/src/hub/client.ts +633 -0
  292. package/src/hub/connect.ts +156 -0
  293. package/src/hub/daemon-entry.ts +122 -0
  294. package/src/hub/daemon.ts +284 -0
  295. package/src/hub/defaults.ts +70 -0
  296. package/src/hub/discovery.ts +247 -0
  297. package/src/hub/index.ts +14 -0
  298. package/src/hub/native-transport.ts +31 -0
  299. package/src/hub/runtime-handlers.ts +141 -0
  300. package/src/hub/server.ts +2317 -0
  301. package/src/hub/session-client.ts +502 -0
  302. package/src/hub/start-shared-server.ts +61 -0
  303. package/src/hub/transport.ts +14 -0
  304. package/src/hub/ui-client.ts +126 -0
  305. package/src/hub/workspace.ts +19 -0
  306. package/src/index.ts +169 -68
  307. package/src/llms/cline-recommended-models.ts +167 -0
  308. package/src/llms/configured-provider-registry.ts +193 -0
  309. package/src/llms/handler-factory.ts +56 -0
  310. package/src/llms/provider-defaults.ts +653 -0
  311. package/src/llms/provider-settings.ts +310 -0
  312. package/src/llms/runtime-config.ts +43 -0
  313. package/src/llms/runtime-registry.ts +172 -0
  314. package/src/llms/runtime-types.ts +121 -0
  315. package/src/runtime/agent-config-adapter.ts +636 -0
  316. package/src/runtime/agent-runtime-config-builder.ts +205 -0
  317. package/src/runtime/error-feedback.ts +142 -0
  318. package/src/runtime/history.ts +137 -0
  319. package/src/runtime/host.ts +127 -267
  320. package/src/runtime/index.ts +1 -0
  321. package/src/runtime/loop-detection.ts +162 -0
  322. package/src/runtime/mistake-tracker.ts +221 -0
  323. package/src/runtime/rules.ts +12 -0
  324. package/src/runtime/runtime-builder.ts +85 -13
  325. package/src/runtime/runtime-event-adapter.ts +412 -0
  326. package/src/runtime/runtime-host.ts +134 -62
  327. package/src/runtime/runtime-oauth-token-manager.ts +11 -15
  328. package/src/runtime/session-runtime-orchestrator.ts +1253 -0
  329. package/src/runtime/session-runtime.ts +16 -26
  330. package/src/runtime/user-input-builder.ts +167 -0
  331. package/src/services/global-settings.ts +122 -0
  332. package/src/services/local-runtime-bootstrap.ts +175 -31
  333. package/src/services/plugin-tools.ts +86 -0
  334. package/src/services/providers/local-provider-registry.ts +277 -61
  335. package/src/services/providers/local-provider-service.ts +109 -44
  336. package/src/services/session-data.ts +18 -10
  337. package/src/services/session-telemetry.ts +6 -15
  338. package/src/services/storage/file-team-store.ts +1 -5
  339. package/src/services/storage/provider-settings-legacy-migration.ts +14 -51
  340. package/src/services/storage/provider-settings-manager.ts +17 -2
  341. package/src/services/storage/sqlite-team-store.ts +1 -5
  342. package/src/services/workspace-manifest.ts +18 -0
  343. package/src/session/conversation-store.ts +77 -0
  344. package/src/session/file-session-service.ts +1 -1
  345. package/src/session/index.ts +6 -27
  346. package/src/session/message-builder.ts +941 -0
  347. package/src/session/persistence-service.ts +119 -504
  348. package/src/session/session-manifest-store.ts +158 -0
  349. package/src/session/session-row.ts +199 -0
  350. package/src/session/session-service.ts +17 -376
  351. package/src/session/session-team-coordination.ts +1 -1
  352. package/src/session/subagent-session-manager.ts +397 -0
  353. package/src/session/team-persistence-store.ts +176 -0
  354. package/src/transports/hub.ts +1081 -0
  355. package/src/transports/local.ts +419 -93
  356. package/src/transports/remote.ts +27 -0
  357. package/src/transports/runtime-host-support.ts +63 -9
  358. package/src/types/chat-schema.ts +4 -5
  359. package/src/types/config.ts +17 -7
  360. package/src/types/events.ts +8 -6
  361. package/src/types/index.ts +3 -0
  362. package/src/types/provider-settings.ts +18 -7
  363. package/src/types/session.ts +7 -6
  364. package/src/types.ts +42 -2
  365. package/dist/hooks/persistent.d.ts +0 -64
  366. package/dist/hooks/persistent.d.ts.map +0 -1
  367. package/dist/runtime/rpc-runtime-ensure.d.ts +0 -65
  368. package/dist/runtime/rpc-runtime-ensure.d.ts.map +0 -1
  369. package/dist/runtime/rpc-spawn-lease.d.ts +0 -8
  370. package/dist/runtime/rpc-spawn-lease.d.ts.map +0 -1
  371. package/dist/services/telemetry/index.js +0 -15
  372. package/dist/session/rpc-session-service.d.ts +0 -16
  373. package/dist/session/rpc-session-service.d.ts.map +0 -1
  374. package/dist/session/sqlite-rpc-session-backend.d.ts +0 -31
  375. package/dist/session/sqlite-rpc-session-backend.d.ts.map +0 -1
  376. package/dist/transports/rpc.d.ts +0 -51
  377. package/dist/transports/rpc.d.ts.map +0 -1
  378. package/src/ClineCore.test.ts +0 -226
  379. package/src/account/cline-account-service.test.ts +0 -185
  380. package/src/account/featurebase-token.test.ts +0 -175
  381. package/src/account/rpc.test.ts +0 -63
  382. package/src/auth/bounded-ttl-cache.test.ts +0 -38
  383. package/src/auth/client.test.ts +0 -69
  384. package/src/auth/cline.test.ts +0 -267
  385. package/src/auth/codex.test.ts +0 -170
  386. package/src/auth/oca.test.ts +0 -340
  387. package/src/auth/server.test.ts +0 -287
  388. package/src/auth/utils.test.ts +0 -128
  389. package/src/extensions/config/agent-config-loader.test.ts +0 -236
  390. package/src/extensions/config/hooks-config-loader.test.ts +0 -20
  391. package/src/extensions/config/runtime-commands.test.ts +0 -115
  392. package/src/extensions/config/unified-config-file-watcher.test.ts +0 -196
  393. package/src/extensions/config/user-instruction-config-loader.test.ts +0 -246
  394. package/src/extensions/context/compaction.test.ts +0 -483
  395. package/src/extensions/mcp/config-loader.test.ts +0 -238
  396. package/src/extensions/mcp/manager.test.ts +0 -105
  397. package/src/extensions/plugin/plugin-config-loader.test.ts +0 -184
  398. package/src/extensions/plugin/plugin-loader.test.ts +0 -292
  399. package/src/extensions/plugin/plugin-sandbox.test.ts +0 -423
  400. package/src/extensions/tools/definitions.test.ts +0 -780
  401. package/src/extensions/tools/executors/bash.test.ts +0 -87
  402. package/src/extensions/tools/executors/editor.test.ts +0 -35
  403. package/src/extensions/tools/executors/file-read.test.ts +0 -125
  404. package/src/extensions/tools/model-tool-routing.test.ts +0 -86
  405. package/src/extensions/tools/presets.test.ts +0 -70
  406. package/src/extensions/tools/team/multi-agent.lifecycle.test.ts +0 -455
  407. package/src/extensions/tools/team/spawn-agent-tool.test.ts +0 -381
  408. package/src/extensions/tools/team/team-tools.test.ts +0 -918
  409. package/src/hooks/checkpoint-hooks.test.ts +0 -168
  410. package/src/hooks/hook-file-hooks.test.ts +0 -311
  411. package/src/hooks/persistent.ts +0 -661
  412. package/src/runtime/history.test.ts +0 -114
  413. package/src/runtime/host.test.ts +0 -230
  414. package/src/runtime/rpc-runtime-ensure.test.ts +0 -123
  415. package/src/runtime/rpc-runtime-ensure.ts +0 -659
  416. package/src/runtime/rpc-spawn-lease.test.ts +0 -81
  417. package/src/runtime/rpc-spawn-lease.ts +0 -156
  418. package/src/runtime/runtime-builder.team-persistence.test.ts +0 -245
  419. package/src/runtime/runtime-builder.test.ts +0 -615
  420. package/src/runtime/runtime-oauth-token-manager.test.ts +0 -137
  421. package/src/runtime/runtime-parity.test.ts +0 -143
  422. package/src/services/providers/local-provider-service.test.ts +0 -1062
  423. package/src/services/session-data.test.ts +0 -160
  424. package/src/services/storage/provider-settings-legacy-migration.test.ts +0 -424
  425. package/src/services/storage/provider-settings-manager.test.ts +0 -191
  426. package/src/services/telemetry/OpenTelemetryAdapter.test.ts +0 -157
  427. package/src/services/telemetry/OpenTelemetryProvider.test.ts +0 -326
  428. package/src/services/telemetry/TelemetryLoggerSink.test.ts +0 -42
  429. package/src/services/telemetry/TelemetryService.test.ts +0 -134
  430. package/src/services/telemetry/distinct-id.test.ts +0 -57
  431. package/src/services/workspace/file-indexer.d.ts +0 -11
  432. package/src/services/workspace/file-indexer.test.ts +0 -156
  433. package/src/services/workspace/mention-enricher.test.ts +0 -106
  434. package/src/session/persistence-service.test.ts +0 -300
  435. package/src/session/rpc-session-service.ts +0 -114
  436. package/src/session/session-service.team-persistence.test.ts +0 -48
  437. package/src/session/sqlite-rpc-session-backend.ts +0 -301
  438. package/src/transports/local.e2e.test.ts +0 -380
  439. package/src/transports/local.test.ts +0 -2559
  440. package/src/transports/rpc.test.ts +0 -82
  441. package/src/transports/rpc.ts +0 -665
@@ -1,11 +1,15 @@
1
1
  import type {
2
2
  AgentConfig,
3
3
  AgentHooks,
4
+ ExtensionContext,
4
5
  ITelemetryService,
6
+ RuntimeConfigExtensionKind,
5
7
  Tool,
6
8
  ToolApprovalRequest,
7
9
  ToolApprovalResult,
10
+ WorkspaceInfo,
8
11
  } from "@clinebot/shared";
12
+ import { decodeJwtPayload } from "../auth/utils";
9
13
  import { resolveAndLoadAgentPlugins } from "../extensions/plugin/plugin-config-loader";
10
14
  import type {
11
15
  PluginInitializationFailure,
@@ -24,10 +28,7 @@ import type {
24
28
  LocalRuntimeStartOptions,
25
29
  StartSessionInput,
26
30
  } from "../runtime/runtime-host";
27
- import type {
28
- RuntimeBuilderInput,
29
- TeamToolsFactory,
30
- } from "../runtime/session-runtime";
31
+ import type { RuntimeBuilderInput } from "../runtime/session-runtime";
31
32
  import type { CoreSessionConfig } from "../types/config";
32
33
  import {
33
34
  type ProviderConfig,
@@ -35,9 +36,10 @@ import {
35
36
  toProviderConfig,
36
37
  } from "../types/provider-settings";
37
38
  import { resolveWorkspacePath } from "./config";
39
+ import { filterExtensionToolRegistrations } from "./global-settings";
38
40
  import { hasRuntimeHooks, mergeAgentExtensions } from "./session-data";
39
41
  import type { ProviderSettingsManager } from "./storage/provider-settings-manager";
40
- import { buildWorkspaceMetadata } from "./workspace-manifest";
42
+ import { buildWorkspaceMetadataWithInfo } from "./workspace-manifest";
41
43
 
42
44
  function formatPluginFailure(failure: PluginInitializationFailure): string {
43
45
  const label = failure.pluginName ?? failure.pluginPath;
@@ -90,19 +92,103 @@ function resolveReasoningSettings(
90
92
  };
91
93
  }
92
94
 
95
+ const ALL_CONFIG_EXTENSIONS: readonly RuntimeConfigExtensionKind[] = [
96
+ "rules",
97
+ "skills",
98
+ "plugins",
99
+ ];
100
+
101
+ function hasConfigExtension(
102
+ extensions: ReadonlyArray<RuntimeConfigExtensionKind> | undefined,
103
+ kind: RuntimeConfigExtensionKind,
104
+ ): boolean {
105
+ return new Set(extensions ?? ALL_CONFIG_EXTENSIONS).has(kind);
106
+ }
107
+
108
+ function buildOpenAICodexHeaders(input: {
109
+ sessionId: string;
110
+ configHeaders: CoreSessionConfig["headers"];
111
+ storedHeaders: ProviderSettings["headers"];
112
+ accountId?: string;
113
+ accessToken?: string;
114
+ }): Record<string, string> | undefined {
115
+ const headers: Record<string, string> = {
116
+ ...(input.storedHeaders ?? {}),
117
+ ...(input.configHeaders ?? {}),
118
+ };
119
+ const resolvedAccountId =
120
+ input.accountId?.trim() || deriveOpenAICodexAccountId(input.accessToken);
121
+ headers.originator = "cline";
122
+ headers.session_id = input.sessionId;
123
+ headers["User-Agent"] = `Cline/${process.env.npm_package_version || "1.0.0"}`;
124
+ if (resolvedAccountId) {
125
+ headers["ChatGPT-Account-Id"] = resolvedAccountId;
126
+ }
127
+ return headers;
128
+ }
129
+
130
+ function deriveOpenAICodexAccountId(
131
+ accessToken: string | undefined,
132
+ ): string | undefined {
133
+ const trimmed = accessToken?.trim();
134
+ if (!trimmed) {
135
+ return undefined;
136
+ }
137
+ const payload = decodeJwtPayload(trimmed) as {
138
+ "https://api.openai.com/auth"?: { chatgpt_account_id?: string };
139
+ organizations?: Array<{ id?: string }>;
140
+ chatgpt_account_id?: string;
141
+ } | null;
142
+ const authAccountId =
143
+ payload?.["https://api.openai.com/auth"]?.chatgpt_account_id;
144
+ if (typeof authAccountId === "string" && authAccountId.length > 0) {
145
+ return authAccountId;
146
+ }
147
+ const orgAccountId = payload?.organizations?.[0]?.id;
148
+ if (typeof orgAccountId === "string" && orgAccountId.length > 0) {
149
+ return orgAccountId;
150
+ }
151
+ const rootAccountId = payload?.chatgpt_account_id;
152
+ if (typeof rootAccountId === "string" && rootAccountId.length > 0) {
153
+ return rootAccountId;
154
+ }
155
+ return undefined;
156
+ }
157
+
93
158
  function buildProviderConfig(
94
159
  config: CoreSessionConfig,
160
+ sessionId: string,
95
161
  providerSettingsManager: ProviderSettingsManager,
162
+ modelCatalogDefaults?: Partial<ProviderSettings["modelCatalog"]>,
163
+ defaultFetch?: typeof fetch,
96
164
  ): ProviderConfig {
97
165
  const stored = providerSettingsManager.getProviderSettings(config.providerId);
166
+ const modelCatalog =
167
+ modelCatalogDefaults || stored?.modelCatalog
168
+ ? {
169
+ ...(modelCatalogDefaults ?? {}),
170
+ ...(stored?.modelCatalog ?? {}),
171
+ }
172
+ : undefined;
98
173
  const settings: ProviderSettings = {
99
174
  ...(stored ?? {}),
100
175
  provider: config.providerId,
101
176
  model: config.modelId,
102
177
  apiKey: config.apiKey ?? stored?.apiKey,
103
178
  baseUrl: config.baseUrl ?? stored?.baseUrl,
104
- headers: config.headers ?? stored?.headers,
179
+ headers:
180
+ config.providerId === "openai-codex"
181
+ ? buildOpenAICodexHeaders({
182
+ sessionId,
183
+ configHeaders: config.headers,
184
+ storedHeaders: stored?.headers,
185
+ accountId: stored?.auth?.accountId,
186
+ accessToken:
187
+ config.apiKey ?? stored?.auth?.accessToken ?? stored?.apiKey,
188
+ })
189
+ : (config.headers ?? stored?.headers),
105
190
  reasoning: resolveReasoningSettings(config, stored?.reasoning),
191
+ modelCatalog,
106
192
  };
107
193
  const providerConfig = toProviderConfig(settings);
108
194
  if (config.knownModels) {
@@ -111,6 +197,13 @@ function buildProviderConfig(
111
197
  if (config.extensionContext) {
112
198
  providerConfig.extensionContext = config.extensionContext;
113
199
  }
200
+ // Thread a host-provided custom fetch through to the AI gateway providers.
201
+ // Precedence: explicit per-session config > stored provider settings > host default.
202
+ const sessionFetch = (config as { fetch?: typeof fetch }).fetch;
203
+ const resolvedFetch = sessionFetch ?? providerConfig.fetch ?? defaultFetch;
204
+ if (resolvedFetch) {
205
+ providerConfig.fetch = resolvedFetch;
206
+ }
114
207
  return providerConfig;
115
208
  }
116
209
 
@@ -121,11 +214,15 @@ export interface PrepareLocalRuntimeBootstrapOptions {
121
214
  providerSettingsManager: ProviderSettingsManager;
122
215
  defaultTelemetry?: ITelemetryService;
123
216
  defaultToolExecutors?: Partial<ToolExecutors>;
124
- teamToolsFactory?: TeamToolsFactory;
125
217
  defaultToolPolicies?: AgentConfig["toolPolicies"];
126
218
  defaultRequestToolApproval?: (
127
219
  request: ToolApprovalRequest,
128
220
  ) => Promise<ToolApprovalResult>;
221
+ /**
222
+ * Host-level default `fetch` threaded into `ProviderConfig.fetch` so the
223
+ * AI gateway providers can use a custom HTTP implementation.
224
+ */
225
+ defaultFetch?: typeof fetch;
129
226
  onPluginEvent: (event: { name: string; payload?: unknown }) => void;
130
227
  onTeamEvent: (event: TeamEvent) => void;
131
228
  createSpawnTool: () => Tool;
@@ -140,6 +237,8 @@ export interface LocalRuntimeBootstrap {
140
237
  config: CoreSessionConfig;
141
238
  providerConfig: ProviderConfig;
142
239
  workspaceMetadata: string;
240
+ /** Structured git + path metadata generated alongside workspaceMetadata. */
241
+ workspaceInfo: WorkspaceInfo;
143
242
  extensions: AgentConfig["extensions"];
144
243
  hooks: AgentHooks | undefined;
145
244
  toolPolicies: AgentConfig["toolPolicies"];
@@ -159,9 +258,9 @@ export async function prepareLocalRuntimeBootstrap(
159
258
  providerSettingsManager,
160
259
  defaultTelemetry,
161
260
  defaultToolExecutors,
162
- teamToolsFactory,
163
261
  defaultToolPolicies,
164
262
  defaultRequestToolApproval,
263
+ defaultFetch,
165
264
  onPluginEvent,
166
265
  onTeamEvent,
167
266
  createSpawnTool,
@@ -173,18 +272,44 @@ export async function prepareLocalRuntimeBootstrap(
173
272
  const configOverrides = localRuntime?.configOverrides as
174
273
  | Partial<LocalRuntimeConfigOverrides>
175
274
  | undefined;
275
+ const localConfig = configOverrides as Partial<CoreSessionConfig> | undefined;
276
+
277
+ // Generate workspace + git metadata once, early, so it can be forwarded to
278
+ // hooks and extensions. The serialized string goes into CoreSessionConfig
279
+ // as workspaceMetadata; the structured object is kept as workspaceInfo.
280
+ const { workspaceInfo, workspaceMetadata } =
281
+ await buildWorkspaceMetadataWithInfo(input.config.cwd);
282
+ const configuredExtensionContext = localConfig?.extensionContext;
283
+ const extensionContext: ExtensionContext = {
284
+ ...(configuredExtensionContext ?? {}),
285
+ workspace: {
286
+ ...workspaceInfo,
287
+ ...(configuredExtensionContext?.workspace ?? {}),
288
+ },
289
+ session: {
290
+ ...(configuredExtensionContext?.session ?? {}),
291
+ sessionId,
292
+ },
293
+ logger: configuredExtensionContext?.logger ?? configOverrides?.logger,
294
+ telemetry:
295
+ configuredExtensionContext?.telemetry ??
296
+ configOverrides?.telemetry ??
297
+ defaultTelemetry,
298
+ };
176
299
 
177
300
  const fileHooks = createHookConfigFileHooks({
178
301
  cwd: input.config.cwd,
179
302
  workspacePath,
180
303
  rootSessionId: sessionId,
181
304
  logger: configOverrides?.logger,
305
+ workspaceInfo,
182
306
  });
183
307
  const auditHooks = hasRuntimeHooks(configOverrides?.hooks)
184
308
  ? undefined
185
309
  : createHookAuditHooks({
186
310
  rootSessionId: sessionId,
187
311
  workspacePath,
312
+ workspaceInfo,
188
313
  });
189
314
  const baseHooks = mergeAgentHooks([
190
315
  configOverrides?.hooks,
@@ -195,40 +320,55 @@ export async function prepareLocalRuntimeBootstrap(
195
320
  let loadedPlugins:
196
321
  | Awaited<ReturnType<typeof resolveAndLoadAgentPlugins>>
197
322
  | undefined;
198
- try {
199
- loadedPlugins = await resolveAndLoadAgentPlugins({
200
- pluginPaths: configOverrides?.pluginPaths,
201
- workspacePath,
202
- cwd: input.config.cwd,
203
- onEvent: onPluginEvent,
204
- });
205
- logPluginDiagnostics(
206
- loadedPlugins.failures,
207
- loadedPlugins.warnings,
208
- configOverrides?.logger,
209
- );
210
- } catch (error) {
211
- const message = error instanceof Error ? error.message : String(error);
212
- configOverrides?.logger?.log?.(
213
- `plugin loading failed; continuing without plugins (${message})`,
214
- );
323
+ if (hasConfigExtension(localRuntime?.configExtensions, "plugins")) {
324
+ try {
325
+ loadedPlugins = await resolveAndLoadAgentPlugins({
326
+ pluginPaths: localConfig?.pluginPaths,
327
+ workspacePath,
328
+ cwd: input.config.cwd,
329
+ onEvent: onPluginEvent,
330
+ providerId: input.config.providerId,
331
+ modelId: input.config.modelId,
332
+ workspaceInfo,
333
+ session: extensionContext.session,
334
+ client: extensionContext.client,
335
+ user: extensionContext.user,
336
+ logger: extensionContext.logger,
337
+ telemetry: extensionContext.telemetry,
338
+ automation: extensionContext.automation,
339
+ });
340
+ logPluginDiagnostics(
341
+ loadedPlugins.failures,
342
+ loadedPlugins.warnings,
343
+ configOverrides?.logger,
344
+ );
345
+ } catch (error) {
346
+ const message = error instanceof Error ? error.message : String(error);
347
+ configOverrides?.logger?.log?.(
348
+ `plugin loading failed; continuing without plugins (${message})`,
349
+ );
350
+ }
215
351
  }
216
352
 
217
353
  const extensions = mergeAgentExtensions(
218
354
  configOverrides?.extensions,
219
- loadedPlugins?.extensions,
355
+ filterExtensionToolRegistrations(loadedPlugins?.extensions),
220
356
  );
221
- const workspaceMetadata = await buildWorkspaceMetadata(input.config.cwd);
222
357
  const baseConfig: CoreSessionConfig = {
223
358
  ...input.config,
224
359
  ...(configOverrides ?? {}),
360
+ sessionId,
225
361
  hooks: baseHooks,
226
362
  extensions,
227
- telemetry: configOverrides?.telemetry ?? defaultTelemetry,
363
+ extensionContext,
364
+ telemetry: extensionContext.telemetry,
228
365
  };
229
366
  const providerConfig = buildProviderConfig(
230
367
  baseConfig,
368
+ sessionId,
231
369
  providerSettingsManager,
370
+ localRuntime?.modelCatalogDefaults,
371
+ defaultFetch,
232
372
  );
233
373
  const hooks = mergeAgentHooks([
234
374
  baseConfig.hooks,
@@ -249,15 +389,19 @@ export async function prepareLocalRuntimeBootstrap(
249
389
  workspaceMetadata,
250
390
  hooks,
251
391
  };
252
- const toolPolicies = input.toolPolicies ?? defaultToolPolicies;
392
+ const toolPolicies =
393
+ input.toolPolicies ?? baseConfig.toolPolicies ?? defaultToolPolicies;
253
394
  const requestToolApproval =
254
395
  input.requestToolApproval ?? defaultRequestToolApproval;
396
+ const effectiveToolExecutors =
397
+ localRuntime?.defaultToolExecutors ?? defaultToolExecutors;
255
398
 
256
399
  return {
257
400
  effectiveInput: input,
258
401
  config,
259
402
  providerConfig,
260
403
  workspaceMetadata,
404
+ workspaceInfo,
261
405
  extensions,
262
406
  hooks,
263
407
  toolPolicies,
@@ -271,10 +415,10 @@ export async function prepareLocalRuntimeBootstrap(
271
415
  createSpawnTool,
272
416
  onTeamRestored: localRuntime?.onTeamRestored,
273
417
  userInstructionWatcher: localRuntime?.userInstructionWatcher,
274
- defaultToolExecutors,
418
+ configExtensions: localRuntime?.configExtensions,
419
+ defaultToolExecutors: effectiveToolExecutors,
275
420
  logger: config.logger,
276
421
  telemetry: config.telemetry,
277
- teamToolsFactory,
278
422
  },
279
423
  };
280
424
  }
@@ -0,0 +1,86 @@
1
+ import type { AgentConfig, Tool } from "@clinebot/shared";
2
+ import { resolveAgentPluginPaths } from "../extensions/plugin/plugin-config-loader";
3
+ import { loadAgentPluginsFromPathsWithDiagnostics } from "../extensions/plugin/plugin-loader";
4
+ import { resolveDisabledToolNames } from "./global-settings";
5
+
6
+ type AgentExtension = NonNullable<AgentConfig["extensions"]>[number];
7
+ type AgentExtensionApi = Parameters<NonNullable<AgentExtension["setup"]>>[0];
8
+
9
+ export interface PluginToolSummary {
10
+ name: string;
11
+ pluginName: string;
12
+ path: string;
13
+ source: "workspace-plugin" | "global-plugin";
14
+ enabled: boolean;
15
+ description?: string;
16
+ }
17
+
18
+ function collectRegisteredTools(
19
+ extension: AgentExtension,
20
+ workspaceInfo?: { rootPath: string },
21
+ ): Tool[] {
22
+ if (!extension.setup) {
23
+ return [];
24
+ }
25
+
26
+ const tools: Tool[] = [];
27
+ const api: AgentExtensionApi = {
28
+ registerTool: (tool) => tools.push(tool),
29
+ registerCommand: () => {},
30
+ registerMessageBuilder: () => {},
31
+ registerProvider: () => {},
32
+ registerAutomationEventType: () => {},
33
+ };
34
+ extension.setup(api, { workspaceInfo });
35
+ return tools;
36
+ }
37
+
38
+ export async function listPluginTools(input: {
39
+ workspacePath: string;
40
+ cwd?: string;
41
+ disabledToolNames?: ReadonlyArray<string>;
42
+ providerId?: string;
43
+ modelId?: string;
44
+ }): Promise<PluginToolSummary[]> {
45
+ const pluginPaths = resolveAgentPluginPaths({
46
+ workspacePath: input.workspacePath,
47
+ cwd: input.cwd,
48
+ });
49
+ const disabled = resolveDisabledToolNames(input.disabledToolNames);
50
+ const summaries: PluginToolSummary[] = [];
51
+
52
+ for (const pluginPath of pluginPaths) {
53
+ const report = await loadAgentPluginsFromPathsWithDiagnostics(
54
+ [pluginPath],
55
+ {
56
+ cwd: input.cwd,
57
+ providerId: input.providerId,
58
+ modelId: input.modelId,
59
+ },
60
+ );
61
+ for (const extension of report.plugins) {
62
+ for (const tool of collectRegisteredTools(extension, {
63
+ rootPath: input.workspacePath,
64
+ })) {
65
+ summaries.push({
66
+ name: tool.name,
67
+ pluginName: extension.name,
68
+ path: pluginPath,
69
+ source: pluginPath.startsWith(input.workspacePath)
70
+ ? "workspace-plugin"
71
+ : "global-plugin",
72
+ enabled: !disabled.has(tool.name),
73
+ description: tool.description?.trim() || undefined,
74
+ });
75
+ }
76
+ }
77
+ }
78
+
79
+ return summaries.sort((left, right) => {
80
+ const nameOrder = left.name.localeCompare(right.name);
81
+ if (nameOrder !== 0) {
82
+ return nameOrder;
83
+ }
84
+ return left.path.localeCompare(right.path);
85
+ });
86
+ }