@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
@@ -0,0 +1,36 @@
1
+ import type { CronSpecRecord, SqliteCronStore } from "./sqlite-cron-store";
2
+ /**
3
+ * Queue materialization rules shared between the reconciler, watcher, and
4
+ * periodic runner tick. Execution stays trigger-agnostic once a row is
5
+ * queued; this module is the only place that decides when to create a row.
6
+ */
7
+ export interface CronMaterializerOptions {
8
+ store: SqliteCronStore;
9
+ now?: () => number;
10
+ }
11
+ export interface MaterializeSummary {
12
+ oneOffQueued: number;
13
+ scheduleQueued: number;
14
+ }
15
+ export declare class CronMaterializer {
16
+ private readonly store;
17
+ private readonly nowFn;
18
+ constructor(options: CronMaterializerOptions);
19
+ /**
20
+ * Run materialization for every valid/enabled spec. Typically called at
21
+ * startup (after reconciliation) and on each runner tick.
22
+ */
23
+ materializeAll(): MaterializeSummary;
24
+ /**
25
+ * Ensure a single one-off spec has exactly one run record for its current
26
+ * revision unless an explicit rerun path creates a different trigger kind.
27
+ * Returns true if a new queued run was created.
28
+ */
29
+ materializeOneOff(spec: CronSpecRecord): boolean;
30
+ /**
31
+ * Materialize schedule runs. Implements the "one overdue catch-up on
32
+ * startup, then advance" policy described in PLAN.md.
33
+ */
34
+ materializeSchedule(spec: CronSpecRecord): boolean;
35
+ }
36
+ //# sourceMappingURL=cron-materializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-materializer.d.ts","sourceRoot":"","sources":["../../src/cron/cron-materializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3E;;;;GAIG;AAEH,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,eAAe,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,OAAO,EAAE,uBAAuB;IAK5C;;;OAGG;IACI,cAAc,IAAI,kBAAkB;IA+B3C;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;IAevD;;;OAGG;IACI,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;CAUzD"}
@@ -0,0 +1,62 @@
1
+ import type { CronSpecParseResult } from "@clinebot/shared";
2
+ import { type ResolveCronSpecsDirOptions } from "@clinebot/shared/storage";
3
+ import type { CronSpecRecord, SqliteCronStore, UpsertSpecResult } from "./sqlite-cron-store";
4
+ /**
5
+ * Scan the configured cron specs directory on disk, parse every file, and
6
+ * upsert spec state into the cron DB. This is the startup source of truth:
7
+ * watcher events are triggers to re-run reconciliation for one file, not a
8
+ * replacement.
9
+ */
10
+ export interface CronReconcilerOptions {
11
+ store: SqliteCronStore;
12
+ /**
13
+ * Cron spec source location. Defaults to global `~/.cline/cron`.
14
+ * Pass `{ scope: "workspace", workspaceRoot }` later to enable
15
+ * workspace-level cron sources without changing reconciler internals.
16
+ */
17
+ specs?: ResolveCronSpecsDirOptions;
18
+ /** @deprecated Use `specs: { scope: "workspace", workspaceRoot }`. */
19
+ workspaceRoot?: string;
20
+ }
21
+ export interface ReconcileChange {
22
+ relativePath: string;
23
+ result: UpsertSpecResult;
24
+ parse: CronSpecParseResult;
25
+ }
26
+ export interface ReconcileSummary {
27
+ scanned: number;
28
+ upserted: number;
29
+ invalidParses: number;
30
+ removed: number;
31
+ changes: ReconcileChange[];
32
+ }
33
+ export declare class CronReconciler {
34
+ private readonly store;
35
+ private readonly cronDir;
36
+ constructor(options: CronReconcilerOptions);
37
+ getCronDir(): string;
38
+ /**
39
+ * Reconcile every file under the cron specs directory into the DB and mark specs
40
+ * whose source files no longer exist as `removed=1`.
41
+ */
42
+ reconcileAll(): Promise<ReconcileSummary>;
43
+ /**
44
+ * Reconcile a single file (absolute path). `relativePath` is expected to
45
+ * be POSIX-relative to the cron specs directory. Returns the reconciliation change
46
+ * or undefined if the file could not be read.
47
+ */
48
+ reconcileFile(relativePath: string, absolutePath: string): Promise<ReconcileChange | undefined>;
49
+ /**
50
+ * Handle a file that disappeared from disk between reconciliations.
51
+ * Marks the spec as removed and cancels any queued runs for it.
52
+ */
53
+ handleFileDeleted(spec: CronSpecRecord): void;
54
+ /**
55
+ * Refresh next_run_at for every enabled schedule spec.
56
+ * Used at startup to handle the "one overdue catch-up on startup then
57
+ * advance to next slot" policy.
58
+ */
59
+ refreshScheduleNextRunAt(): void;
60
+ private applyScheduleNextRunAt;
61
+ }
62
+ //# sourceMappingURL=cron-reconciler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-reconciler.d.ts","sourceRoot":"","sources":["../../src/cron/cron-reconciler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACN,KAAK,0BAA0B,EAE/B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AAEH,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,eAAe,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC3B;AAmCD,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,qBAAqB;IAUnC,UAAU,IAAI,MAAM;IAI3B;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwCtD;;;;OAIG;IACU,aAAa,CACzB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IA2CvC;;;OAGG;IACI,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAKpD;;;;OAIG;IACI,wBAAwB,IAAI,IAAI;IAWvC,OAAO,CAAC,sBAAsB;CAqB9B"}
@@ -0,0 +1,41 @@
1
+ import { type ResolveCronSpecsDirOptions } from "@clinebot/shared/storage";
2
+ import type { CronEventLogRecord, CronRunRecord, CronSpecRecord } from "./sqlite-cron-store";
3
+ /**
4
+ * Writes a markdown report for a completed or failed cron run.
5
+ * Reports live under `<cron-specs-dir>/reports/<run-id>.md`.
6
+ * By default that is `~/.cline/cron/reports/<run-id>.md`.
7
+ * and are derived artifacts — the database is still the operational source
8
+ * of truth.
9
+ */
10
+ export interface CronRunReportData {
11
+ finalText?: string;
12
+ usage?: {
13
+ inputTokens?: number;
14
+ outputTokens?: number;
15
+ cacheReadTokens?: number;
16
+ cacheWriteTokens?: number;
17
+ totalCost?: number;
18
+ };
19
+ toolCalls?: Array<{
20
+ name: string;
21
+ error?: string;
22
+ durationMs?: number;
23
+ }>;
24
+ durationMs?: number;
25
+ error?: string;
26
+ triggerEvent?: CronEventLogRecord;
27
+ }
28
+ export interface WriteReportOptions {
29
+ /**
30
+ * Cron spec source/report location. Defaults to global `~/.cline/cron`.
31
+ * Pass `{ scope: "workspace", workspaceRoot }` to write reports beside a
32
+ * future workspace-scoped cron specs directory.
33
+ */
34
+ specs?: ResolveCronSpecsDirOptions;
35
+ workspaceRoot: string;
36
+ run: CronRunRecord;
37
+ spec: CronSpecRecord;
38
+ data: CronRunReportData;
39
+ }
40
+ export declare function writeCronRunReport(options: WriteReportOptions): string;
41
+ //# sourceMappingURL=cron-report-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-report-writer.d.ts","sourceRoot":"","sources":["../../src/cron/cron-report-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,0BAA0B,EAE/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACX,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,MAAM,qBAAqB,CAAC;AAE7B;;;;;;GAMG;AAEH,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IAClC;;;;OAIG;IACH,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,iBAAiB,CAAC;CACxB;AA+FD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAWtE"}
@@ -0,0 +1,43 @@
1
+ import type { BasicLogger } from "@clinebot/shared";
2
+ import type { ResolveCronSpecsDirOptions } from "@clinebot/shared/storage";
3
+ import type { CronMaterializer } from "./cron-materializer";
4
+ import type { HubScheduleRuntimeHandlers } from "./schedule-service";
5
+ import type { SqliteCronStore } from "./sqlite-cron-store";
6
+ export interface CronRunnerOptions {
7
+ store: SqliteCronStore;
8
+ materializer: CronMaterializer;
9
+ runtimeHandlers: HubScheduleRuntimeHandlers;
10
+ /** Default runtime workspace for the hub/daemon process. */
11
+ workspaceRoot: string;
12
+ /** Cron spec source/report location. Defaults to global `~/.cline/cron`. */
13
+ specs?: ResolveCronSpecsDirOptions;
14
+ logger?: BasicLogger;
15
+ pollIntervalMs?: number;
16
+ claimLeaseSeconds?: number;
17
+ globalMaxConcurrency?: number;
18
+ }
19
+ export declare class CronRunner {
20
+ private readonly store;
21
+ private readonly materializer;
22
+ private readonly options;
23
+ private readonly limiter;
24
+ private readonly claimLeaseMs;
25
+ private timer;
26
+ private started;
27
+ private ticking;
28
+ private disposed;
29
+ private stopping;
30
+ private readonly activeRuns;
31
+ constructor(options: CronRunnerOptions);
32
+ start(): Promise<void>;
33
+ stop(): Promise<void>;
34
+ dispose(): Promise<void>;
35
+ tick(): Promise<void>;
36
+ private executeClaim;
37
+ private buildPrompt;
38
+ private startClaimLeaseHeartbeat;
39
+ private loadRulesForSpec;
40
+ private buildSystemPrompt;
41
+ private buildStartRequest;
42
+ }
43
+ //# sourceMappingURL=cron-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-runner.d.ts","sourceRoot":"","sources":["../../src/cron/cron-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,WAAW,EAGX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAQ3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAIX,eAAe,EACf,MAAM,qBAAqB,CAAC;AAiG7B,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,eAAe,EAAE,0BAA0B,CAAC;IAC5C,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,UAAU;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAGvB;gBAEQ,OAAO,EAAE,iBAAiB;IAWzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBpB,YAAY;IA4I1B,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,wBAAwB;YAkBlB,gBAAgB;YAmBhB,iBAAiB;YA2BjB,iBAAiB;CAmC/B"}
@@ -0,0 +1,3 @@
1
+ import type { SqliteDb } from "@clinebot/shared/db";
2
+ export declare function ensureCronSchema(db: SqliteDb): void;
3
+ //# sourceMappingURL=cron-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-schema.d.ts","sourceRoot":"","sources":["../../src/cron/cron-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAuHpD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAOnD"}
@@ -0,0 +1,57 @@
1
+ import type { AutomationEventEnvelope, BasicLogger } from "@clinebot/shared";
2
+ import type { ResolveCronSpecsDirOptions } from "@clinebot/shared/storage";
3
+ import { type CronEventIngressResult } from "./cron-event-ingress";
4
+ import type { HubScheduleRuntimeHandlers } from "./schedule-service";
5
+ import type { CronRunRecord, CronSpecRecord, ListEventLogsOptions, ListRunsOptions, ListSpecsOptions } from "./sqlite-cron-store";
6
+ /**
7
+ * Top-level orchestrator for file-based cron automation.
8
+ *
9
+ * Wires together:
10
+ * - `SqliteCronStore` (cron.db)
11
+ * - `CronReconciler` (disk -> DB)
12
+ * - `CronWatcher` (cron specs directory filesystem events)
13
+ * - `CronMaterializer` (queue materialization)
14
+ * - `CronRunner` (claim + execute + report)
15
+ *
16
+ * This service is the forward path: the legacy `HubScheduleService`
17
+ * continues to serve programmatic schedules, while `CronService` handles
18
+ * everything sourced from the configured file-based cron directory.
19
+ */
20
+ export interface CronServiceOptions {
21
+ /** Default runtime workspace for the hub/daemon process. */
22
+ workspaceRoot: string;
23
+ /** Cron spec source/report location. Defaults to global `~/.cline/cron`. */
24
+ specs?: ResolveCronSpecsDirOptions;
25
+ runtimeHandlers: HubScheduleRuntimeHandlers;
26
+ dbPath?: string;
27
+ logger?: BasicLogger;
28
+ pollIntervalMs?: number;
29
+ claimLeaseSeconds?: number;
30
+ globalMaxConcurrency?: number;
31
+ watcherDebounceMs?: number;
32
+ }
33
+ export declare class CronService {
34
+ private readonly store;
35
+ private readonly reconciler;
36
+ private readonly watcher;
37
+ private readonly eventIngress;
38
+ private readonly materializer;
39
+ private readonly runner;
40
+ private started;
41
+ private disposed;
42
+ constructor(options: CronServiceOptions);
43
+ start(): Promise<void>;
44
+ stop(): Promise<void>;
45
+ dispose(): Promise<void>;
46
+ listSpecs(options?: ListSpecsOptions): CronSpecRecord[];
47
+ getSpec(specId: string): CronSpecRecord | undefined;
48
+ listRuns(options?: ListRunsOptions): CronRunRecord[];
49
+ getRun(runId: string): CronRunRecord | undefined;
50
+ listActiveRuns(): CronRunRecord[];
51
+ listUpcomingRuns(limit?: number): CronRunRecord[];
52
+ reconcileNow(): Promise<void>;
53
+ ingestEvent(event: AutomationEventEnvelope): CronEventIngressResult;
54
+ listEventLogs(options?: ListEventLogsOptions): import("./sqlite-cron-store").CronEventLogRecord[];
55
+ getEventLog(eventId: string): import("./sqlite-cron-store").CronEventLogRecord | undefined;
56
+ }
57
+ //# sourceMappingURL=cron-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-service.d.ts","sourceRoot":"","sources":["../../src/cron/cron-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAEN,KAAK,sBAAsB,EAC3B,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EACX,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,kBAAkB;IAClC,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,eAAe,EAAE,0BAA0B,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,kBAAkB;IAuC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,EAAE;IAIvD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAInD,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,aAAa,EAAE;IAIpD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIhD,cAAc,IAAI,aAAa,EAAE;IAIjC,gBAAgB,CAAC,KAAK,SAAK,GAAG,aAAa,EAAE;IAIvC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC,WAAW,CAAC,KAAK,EAAE,uBAAuB,GAAG,sBAAsB;IAInE,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB;IAI5C,WAAW,CAAC,OAAO,EAAE,MAAM;CAGlC"}
@@ -0,0 +1,27 @@
1
+ import type { CronSpecParseResult, CronTriggerKind } from "@clinebot/shared";
2
+ /**
3
+ * Markdown frontmatter parser for `.cline/cron/*.md` automation specs.
4
+ *
5
+ * Lives in @clinebot/core because it depends on `yaml`. The spec types
6
+ * themselves live in @clinebot/shared so other packages can consume them
7
+ * without pulling in a YAML parser.
8
+ *
9
+ * The parser never throws for a single bad file — it produces a
10
+ * `CronSpecParseResult` with an `error` message so the reconciler can record
11
+ * `parse_status='invalid'` durably instead of dropping state.
12
+ */
13
+ export declare function inferTriggerKindFromPath(relativePath: string): CronTriggerKind;
14
+ export declare function splitFrontmatter(raw: string): {
15
+ frontmatter: string | undefined;
16
+ body: string;
17
+ };
18
+ export declare function computeContentHash(frontmatterJson: unknown, body: string): string;
19
+ export interface ParseCronSpecInput {
20
+ relativePath: string;
21
+ raw: string;
22
+ }
23
+ /**
24
+ * Parse a single cron spec file. Never throws; always returns a result.
25
+ */
26
+ export declare function parseCronSpecFile(input: ParseCronSpecInput): CronSpecParseResult;
27
+ //# sourceMappingURL=cron-spec-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-spec-parser.d.ts","sourceRoot":"","sources":["../../src/cron/cron-spec-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAOX,mBAAmB,EACnB,eAAe,EACf,MAAM,kBAAkB,CAAC;AAK1B;;;;;;;;;;GAUG;AAEH,wBAAgB,wBAAwB,CACvC,YAAY,EAAE,MAAM,GAClB,eAAe,CASjB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAC9C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACb,CAcA;AA+HD,wBAAgB,kBAAkB,CACjC,eAAe,EAAE,OAAO,EACxB,IAAI,EAAE,MAAM,GACV,MAAM,CAMR;AAqBD,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACZ;AAqCD;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,kBAAkB,GACvB,mBAAmB,CAqOrB"}
@@ -0,0 +1,23 @@
1
+ import type { CronReconciler } from "./cron-reconciler";
2
+ export interface CronWatcherOptions {
3
+ reconciler: CronReconciler;
4
+ debounceMs?: number;
5
+ onError?: (error: unknown) => void;
6
+ onReconciled?: () => void | Promise<void>;
7
+ }
8
+ export declare class CronWatcher {
9
+ private readonly reconciler;
10
+ private readonly debounceMs;
11
+ private readonly onError;
12
+ private readonly onReconciled;
13
+ private watcher?;
14
+ private readonly pending;
15
+ private disposed;
16
+ constructor(options: CronWatcherOptions);
17
+ start(): void;
18
+ stop(): void;
19
+ dispose(): void;
20
+ private scheduleReconcile;
21
+ private reconcileNow;
22
+ }
23
+ //# sourceMappingURL=cron-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-watcher.d.ts","sourceRoot":"","sources":["../../src/cron/cron-watcher.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYxD,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,OAAO,CAAC,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,kBAAkB;IAOhC,KAAK,IAAI,IAAI;IAmBb,IAAI,IAAI,IAAI;IAOZ,OAAO,IAAI,IAAI;IAKtB,OAAO,CAAC,iBAAiB;YAUX,YAAY;CAsB1B"}
@@ -0,0 +1,9 @@
1
+ export declare class ResourceLimiter {
2
+ private readonly globalMaxConcurrency;
3
+ private readonly activeExecutions;
4
+ constructor(globalMaxConcurrency: number);
5
+ acquire(scheduleId: string, executionId: string, maxParallel: number): boolean;
6
+ release(scheduleId: string, executionId: string): void;
7
+ getGlobalActiveCount(): number;
8
+ }
9
+ //# sourceMappingURL=resource-limiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-limiter.d.ts","sourceRoot":"","sources":["../../src/cron/resource-limiter.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;gBAEvD,oBAAoB,EAAE,MAAM;IAIjC,OAAO,CACb,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACjB,OAAO;IAeH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAWtD,oBAAoB,IAAI,MAAM;CAOrC"}
@@ -0,0 +1,10 @@
1
+ import type { HubCommandEnvelope, HubReplyEnvelope } from "@clinebot/shared";
2
+ import type { HubScheduleService } from "./schedule-service";
3
+ export declare class HubScheduleCommandService {
4
+ private readonly schedules;
5
+ constructor(schedules: HubScheduleService);
6
+ handleCommand(envelope: HubCommandEnvelope): Promise<HubReplyEnvelope>;
7
+ private toCreateInput;
8
+ private toUpdateInput;
9
+ }
10
+ //# sourceMappingURL=schedule-command-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-command-service.d.ts","sourceRoot":"","sources":["../../src/cron/schedule-command-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AA2B7D,qBAAa,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,kBAAkB;IAE7C,aAAa,CACzB,QAAQ,EAAE,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAiH5B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,aAAa;CAoBrB"}
@@ -0,0 +1,100 @@
1
+ import type { BasicLogger, ChatRunTurnRequest, ChatStartSessionArtifacts, ChatStartSessionRequest, HubScheduleCreateInput, HubScheduleUpdateInput, ScheduleExecutionRecord, ScheduleRecord } from "@clinebot/shared";
2
+ import { type ListScheduleExecutionsOptions, type ListSchedulesOptions, type ScheduleExecutionStats } from "./sqlite-schedule-store";
3
+ type HubScheduleTurnResult = {
4
+ text: string;
5
+ usage?: {
6
+ inputTokens?: number;
7
+ outputTokens?: number;
8
+ cacheReadTokens?: number;
9
+ cacheWriteTokens?: number;
10
+ totalCost?: number;
11
+ };
12
+ inputTokens?: number;
13
+ outputTokens?: number;
14
+ iterations?: number;
15
+ finishReason?: string;
16
+ messages?: unknown[];
17
+ toolCalls?: Array<{
18
+ name: string;
19
+ input?: unknown;
20
+ output?: unknown;
21
+ error?: string;
22
+ durationMs?: number;
23
+ }>;
24
+ };
25
+ export interface ScheduleAutonomousOptions {
26
+ enabled?: boolean;
27
+ idleTimeoutSeconds?: number;
28
+ pollIntervalSeconds?: number;
29
+ }
30
+ export interface HubScheduleRuntimeHandlers {
31
+ startSession(request: ChatStartSessionRequest): Promise<{
32
+ sessionId: string;
33
+ startResult?: ChatStartSessionArtifacts;
34
+ }>;
35
+ sendSession(sessionId: string, request: ChatRunTurnRequest): Promise<{
36
+ result: HubScheduleTurnResult;
37
+ }>;
38
+ abortSession(sessionId: string): Promise<{
39
+ applied: boolean;
40
+ }>;
41
+ stopSession(sessionId: string): Promise<{
42
+ applied: boolean;
43
+ }>;
44
+ }
45
+ export interface ActiveScheduledExecution {
46
+ executionId: string;
47
+ scheduleId: string;
48
+ sessionId: string;
49
+ startedAt: string;
50
+ timeoutAt?: string;
51
+ }
52
+ export interface HubScheduleServiceOptions {
53
+ runtimeHandlers: HubScheduleRuntimeHandlers;
54
+ eventPublisher?: (eventType: string, payload: unknown) => void;
55
+ logger?: BasicLogger;
56
+ sessionsDbPath?: string;
57
+ pollIntervalMs?: number;
58
+ globalMaxConcurrency?: number;
59
+ claimLeaseSeconds?: number;
60
+ }
61
+ export declare class HubScheduleService {
62
+ private readonly store;
63
+ private readonly resourceLimiter;
64
+ private readonly options;
65
+ private readonly claimLeaseMs;
66
+ private readonly activeExecutions;
67
+ private timer;
68
+ private started;
69
+ private ticking;
70
+ private disposed;
71
+ constructor(options: HubScheduleServiceOptions);
72
+ start(): Promise<void>;
73
+ stop(): Promise<void>;
74
+ dispose(): Promise<void>;
75
+ createSchedule(input: HubScheduleCreateInput): ScheduleRecord;
76
+ getSchedule(scheduleId: string): ScheduleRecord | undefined;
77
+ listSchedules(options?: ListSchedulesOptions): ScheduleRecord[];
78
+ updateSchedule(scheduleId: string, updates: HubScheduleUpdateInput): ScheduleRecord | undefined;
79
+ deleteSchedule(scheduleId: string): boolean;
80
+ pauseSchedule(scheduleId: string): ScheduleRecord | undefined;
81
+ resumeSchedule(scheduleId: string): ScheduleRecord | undefined;
82
+ triggerScheduleNow(scheduleId: string): Promise<ScheduleExecutionRecord | undefined>;
83
+ listScheduleExecutions(options: ListScheduleExecutionsOptions): ScheduleExecutionRecord[];
84
+ getScheduleStats(scheduleId: string): ScheduleExecutionStats;
85
+ getActiveExecutions(): ActiveScheduledExecution[];
86
+ getUpcomingRuns(limit?: number): Array<{
87
+ scheduleId: string;
88
+ name: string;
89
+ nextRunAt: string;
90
+ }>;
91
+ private tick;
92
+ private executeClaimedSchedule;
93
+ private startClaimLeaseHeartbeat;
94
+ private buildStartRequest;
95
+ private executeSchedule;
96
+ private publishEvent;
97
+ private runAutonomousIdleLoop;
98
+ }
99
+ export {};
100
+ //# sourceMappingURL=schedule-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-service.d.ts","sourceRoot":"","sources":["../../src/cron/schedule-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { type HubScheduleCreateInput, type HubScheduleUpdateInput, type ScheduleExecutionRecord, type ScheduleExecutionStatus, type ScheduleRecord } from "@clinebot/shared";
2
+ export interface ParsedCron {
3
+ minutes: number[];
4
+ hours: number[];
5
+ daysOfMonth: number[];
6
+ months: number[];
7
+ daysOfWeek: number[];
8
+ }
9
+ export declare function parseCron(pattern: string): ParsedCron;
10
+ export declare function validateCronPattern(pattern: string): void;
11
+ export declare function validateCronSchedule(pattern: string, timezone?: string, after?: number): void;
12
+ export declare function validateTimezone(timezone: string | undefined): void;
13
+ export declare function getNextCronTime(pattern: string, after: number, timezone?: string): number;
14
+ export declare class ScheduleStore {
15
+ private schedules;
16
+ private executions;
17
+ load(schedules: ScheduleRecord[] | undefined, executions: ScheduleExecutionRecord[] | undefined): void;
18
+ snapshotSchedules(): ScheduleRecord[];
19
+ snapshotExecutions(): ScheduleExecutionRecord[];
20
+ create(input: HubScheduleCreateInput, now: number): ScheduleRecord;
21
+ get(scheduleId: string): ScheduleRecord | undefined;
22
+ list(): ScheduleRecord[];
23
+ update(input: HubScheduleUpdateInput, now: number): ScheduleRecord;
24
+ setEnabled(scheduleId: string, enabled: boolean, now: number): ScheduleRecord;
25
+ delete(scheduleId: string): void;
26
+ recordTriggered(scheduleId: string, now: number): ScheduleRecord;
27
+ getDueSchedules(now: number): ScheduleRecord[];
28
+ startExecution(scheduleId: string, sessionId: string, now: number): ScheduleExecutionRecord;
29
+ completeExecution(executionId: string, status: Exclude<ScheduleExecutionStatus, "running">, now: number, errorMessage?: string): ScheduleExecutionRecord;
30
+ listExecutions(scheduleId?: string): ScheduleExecutionRecord[];
31
+ }
32
+ export interface SchedulerTriggerContext {
33
+ scheduleId: string;
34
+ sessionId: string;
35
+ executionId: string;
36
+ }
37
+ export interface SchedulerCallbacks {
38
+ onTrigger(record: ScheduleRecord): Promise<{
39
+ sessionId: string;
40
+ }>;
41
+ onExecutionCompleted(context: SchedulerTriggerContext, execution: ScheduleExecutionRecord): void;
42
+ onExecutionFailed(context: SchedulerTriggerContext, execution: ScheduleExecutionRecord, error: unknown): void;
43
+ onScheduleUpdated(record: ScheduleRecord): void;
44
+ onPersist(): Promise<void>;
45
+ }
46
+ export interface HubSchedulerOptions {
47
+ store: ScheduleStore;
48
+ callbacks: SchedulerCallbacks;
49
+ now?: () => number;
50
+ pollIntervalMs?: number;
51
+ }
52
+ export declare class HubScheduler {
53
+ private readonly store;
54
+ private readonly callbacks;
55
+ private readonly now;
56
+ private readonly pollIntervalMs;
57
+ private timer;
58
+ private readonly runningExecutions;
59
+ constructor(options: HubSchedulerOptions);
60
+ start(): void;
61
+ stop(): void;
62
+ triggerNow(scheduleId: string): Promise<ScheduleExecutionRecord>;
63
+ notifySessionCompleted(sessionId: string, failed: boolean, errorMessage?: string): Promise<void>;
64
+ get scheduleStore(): ScheduleStore;
65
+ private poll;
66
+ private executeSchedule;
67
+ }
68
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"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"}