@clinebot/core 0.0.37 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (617) hide show
  1. package/README.md +11 -1
  2. package/dist/ClineCore.d.ts +18 -214
  3. package/dist/account/cline-account-service.d.ts +0 -1
  4. package/dist/account/index.d.ts +0 -1
  5. package/dist/account/rpc.d.ts +0 -1
  6. package/dist/account/types.d.ts +0 -1
  7. package/dist/auth/bounded-ttl-cache.d.ts +0 -1
  8. package/dist/auth/client.d.ts +0 -1
  9. package/dist/auth/cline.d.ts +0 -5
  10. package/dist/auth/codex.d.ts +0 -1
  11. package/dist/auth/oca.d.ts +0 -1
  12. package/dist/auth/server.d.ts +0 -1
  13. package/dist/auth/types.d.ts +0 -1
  14. package/dist/auth/utils.d.ts +0 -1
  15. package/dist/cline-core/automation.d.ts +34 -0
  16. package/dist/cline-core/runtime-services.d.ts +5 -0
  17. package/dist/cline-core/start-input.d.ts +10 -0
  18. package/dist/cline-core/telemetry.d.ts +10 -0
  19. package/dist/cline-core/types.d.ts +221 -0
  20. package/dist/cron/{cron-event-ingress.d.ts → events/cron-event-ingress.d.ts} +1 -2
  21. package/dist/cron/{cron-report-writer.d.ts → reports/cron-report-writer.d.ts} +1 -2
  22. package/dist/cron/{cron-materializer.d.ts → runner/cron-materializer.d.ts} +1 -2
  23. package/dist/cron/{cron-runner.d.ts → runner/cron-runner.d.ts} +6 -4
  24. package/dist/cron/{resource-limiter.d.ts → runner/resource-limiter.d.ts} +0 -1
  25. package/dist/cron/schedule/scheduler.d.ts +12 -0
  26. package/dist/cron/{cron-service.d.ts → service/cron-service.d.ts} +4 -5
  27. package/dist/cron/{schedule-command-service.d.ts → service/schedule-command-service.d.ts} +0 -1
  28. package/dist/cron/{schedule-service.d.ts → service/schedule-service.d.ts} +20 -22
  29. package/dist/cron/{cron-reconciler.d.ts → specs/cron-reconciler.d.ts} +1 -2
  30. package/dist/cron/{cron-spec-parser.d.ts → specs/cron-spec-parser.d.ts} +0 -1
  31. package/dist/cron/{cron-watcher.d.ts → specs/cron-watcher.d.ts} +0 -1
  32. package/dist/cron/{cron-schema.d.ts → store/cron-schema.d.ts} +0 -1
  33. package/dist/cron/{sqlite-cron-store.d.ts → store/sqlite-cron-store.d.ts} +12 -2
  34. package/dist/extensions/config/index.d.ts +4 -7
  35. package/dist/extensions/config/runtime-commands.d.ts +0 -1
  36. package/dist/extensions/config/skill-frontmatter-toggle.d.ts +11 -0
  37. package/dist/extensions/config/unified-config-file-watcher.d.ts +0 -1
  38. package/dist/extensions/config/user-instruction-config-loader.d.ts +0 -1
  39. package/dist/extensions/config/user-instruction-plugin.d.ts +25 -0
  40. package/dist/extensions/config/user-instruction-service.d.ts +23 -0
  41. package/dist/extensions/context/agentic-compaction.d.ts +0 -1
  42. package/dist/extensions/context/basic-compaction.d.ts +0 -1
  43. package/dist/extensions/context/compaction-shared.d.ts +0 -1
  44. package/dist/extensions/context/compaction.d.ts +0 -1
  45. package/dist/extensions/index.d.ts +0 -1
  46. package/dist/extensions/mcp/client.d.ts +0 -1
  47. package/dist/extensions/mcp/config-loader.d.ts +0 -1
  48. package/dist/extensions/mcp/index.d.ts +0 -1
  49. package/dist/extensions/mcp/manager.d.ts +0 -1
  50. package/dist/extensions/mcp/name-transform.d.ts +0 -1
  51. package/dist/extensions/mcp/policies.d.ts +0 -1
  52. package/dist/extensions/mcp/tools.d.ts +2 -3
  53. package/dist/extensions/mcp/types.d.ts +3 -4
  54. package/dist/extensions/plugin/plugin-config-loader.d.ts +0 -1
  55. package/dist/extensions/plugin/plugin-load-report.d.ts +0 -1
  56. package/dist/extensions/plugin/plugin-loader.d.ts +0 -1
  57. package/dist/extensions/plugin/plugin-module-import.d.ts +0 -1
  58. package/dist/extensions/plugin/plugin-sandbox.d.ts +0 -1
  59. package/dist/extensions/plugin/plugin-targeting.d.ts +0 -1
  60. package/dist/extensions/plugin-sandbox-bootstrap.js +1 -446
  61. package/dist/extensions/tools/constants.d.ts +0 -1
  62. package/dist/extensions/tools/definitions.d.ts +13 -14
  63. package/dist/extensions/tools/executors/apply-patch-parser.d.ts +0 -1
  64. package/dist/extensions/tools/executors/apply-patch.d.ts +0 -1
  65. package/dist/extensions/tools/executors/bash.d.ts +0 -1
  66. package/dist/extensions/tools/executors/editor.d.ts +0 -1
  67. package/dist/extensions/tools/executors/file-read.d.ts +0 -1
  68. package/dist/extensions/tools/executors/index.d.ts +0 -1
  69. package/dist/extensions/tools/executors/search.d.ts +0 -1
  70. package/dist/extensions/tools/executors/web-fetch.d.ts +0 -1
  71. package/dist/extensions/tools/helpers.d.ts +0 -1
  72. package/dist/extensions/tools/index.d.ts +2 -3
  73. package/dist/extensions/tools/model-tool-routing.d.ts +0 -1
  74. package/dist/extensions/tools/presets.d.ts +4 -5
  75. package/dist/extensions/tools/runtime.d.ts +0 -1
  76. package/dist/extensions/tools/schemas.d.ts +0 -1
  77. package/dist/extensions/tools/team/delegated-agent.d.ts +3 -4
  78. package/dist/extensions/tools/team/index.d.ts +0 -1
  79. package/dist/extensions/tools/team/multi-agent.d.ts +1 -2
  80. package/dist/extensions/tools/team/projections.d.ts +0 -1
  81. package/dist/extensions/tools/team/runtime.d.ts +0 -1
  82. package/dist/extensions/tools/team/spawn-agent-tool.d.ts +4 -5
  83. package/dist/extensions/tools/team/subagent-prompts.d.ts +0 -1
  84. package/dist/extensions/tools/team/team-tools.d.ts +7 -8
  85. package/dist/extensions/tools/types.d.ts +11 -12
  86. package/dist/hooks/checkpoint-hooks.d.ts +9 -2
  87. package/dist/hooks/hook-extension.d.ts +2 -0
  88. package/dist/{extensions/config/hooks-config-loader.d.ts → hooks/hook-file-config.d.ts} +1 -2
  89. package/dist/hooks/hook-file-hooks.d.ts +2 -2
  90. package/dist/hooks/index.d.ts +3 -1
  91. package/dist/hooks/subprocess-runner.d.ts +0 -1
  92. package/dist/hooks/subprocess.d.ts +0 -1
  93. package/dist/hub/{connect.d.ts → client/connect.d.ts} +1 -2
  94. package/dist/hub/{client.d.ts → client/index.d.ts} +41 -4
  95. package/dist/hub/{session-client.d.ts → client/session-client.d.ts} +41 -13
  96. package/dist/hub/{ui-client.d.ts → client/ui-client.d.ts} +1 -1
  97. package/dist/hub/daemon/entry.d.ts +1 -0
  98. package/dist/hub/daemon/entry.js +720 -0
  99. package/dist/hub/{daemon.d.ts → daemon/index.d.ts} +6 -3
  100. package/dist/hub/{runtime-handlers.d.ts → daemon/runtime-handlers.d.ts} +3 -2
  101. package/dist/hub/{start-shared-server.d.ts → daemon/start-shared-server.d.ts} +1 -2
  102. package/dist/hub/{defaults.d.ts → discovery/defaults.d.ts} +0 -1
  103. package/dist/hub/{discovery.d.ts → discovery/index.d.ts} +2 -1
  104. package/dist/hub/{workspace.d.ts → discovery/workspace.d.ts} +1 -2
  105. package/dist/hub/index.d.ts +28 -11
  106. package/dist/hub/index.js +484 -1061
  107. package/dist/hub/runtime-host/hub-runtime-host.d.ts +73 -0
  108. package/dist/{transports/remote.d.ts → hub/runtime-host/remote-runtime-host.d.ts} +1 -2
  109. package/dist/hub/{browser-websocket.d.ts → server/browser-websocket.d.ts} +1 -2
  110. package/dist/hub/{transport.d.ts → server/command-transport.d.ts} +0 -1
  111. package/dist/hub/server/handlers/approval-handlers.d.ts +17 -0
  112. package/dist/hub/server/handlers/capability-handlers.d.ts +12 -0
  113. package/dist/hub/server/handlers/client-handlers.d.ts +6 -0
  114. package/dist/hub/server/handlers/context.d.ts +56 -0
  115. package/dist/hub/server/handlers/run-handlers.d.ts +5 -0
  116. package/dist/hub/server/handlers/session-event-projector.d.ts +7 -0
  117. package/dist/hub/server/handlers/session-handlers.d.ts +20 -0
  118. package/dist/hub/server/hub-client-contributions.d.ts +19 -0
  119. package/dist/hub/server/hub-notifications.d.ts +7 -0
  120. package/dist/hub/server/hub-schedule-events.d.ts +2 -0
  121. package/dist/hub/server/hub-server-logging.d.ts +2 -0
  122. package/dist/hub/server/hub-server-options.d.ts +55 -0
  123. package/dist/hub/server/hub-server-transport.d.ts +34 -0
  124. package/dist/hub/server/hub-session-records.d.ts +8 -0
  125. package/dist/hub/server/hub-websocket-server.d.ts +6 -0
  126. package/dist/hub/server/index.d.ts +4 -0
  127. package/dist/hub/{native-transport.d.ts → server/native-transport.d.ts} +1 -2
  128. package/dist/index.d.ts +51 -41
  129. package/dist/index.js +214 -872
  130. package/dist/runtime/capabilities/index.d.ts +2 -0
  131. package/dist/runtime/capabilities/normalize-runtime-capabilities.d.ts +2 -0
  132. package/dist/runtime/capabilities/runtime-capabilities.d.ts +6 -0
  133. package/dist/runtime/config/agent-message-codec.d.ts +6 -0
  134. package/dist/runtime/{agent-runtime-config-builder.d.ts → config/agent-runtime-config-builder.d.ts} +12 -21
  135. package/dist/runtime/host/history.d.ts +18 -0
  136. package/dist/runtime/{host.d.ts → host/host.d.ts} +3 -4
  137. package/dist/runtime/host/local/agent-event-bridge.d.ts +29 -0
  138. package/dist/runtime/host/local/session-record.d.ts +6 -0
  139. package/dist/runtime/host/local/session-service-invoker.d.ts +4 -0
  140. package/dist/runtime/host/local/spawn-tool.d.ts +15 -0
  141. package/dist/runtime/host/local/user-files.d.ts +1 -0
  142. package/dist/runtime/host/local-runtime-host.d.ts +118 -0
  143. package/dist/{transports → runtime/host}/runtime-host-support.d.ts +3 -5
  144. package/dist/runtime/{runtime-host.d.ts → host/runtime-host.d.ts} +66 -31
  145. package/dist/runtime/{runtime-builder.d.ts → orchestration/runtime-builder.d.ts} +0 -1
  146. package/dist/runtime/{runtime-event-adapter.d.ts → orchestration/runtime-event-adapter.d.ts} +0 -1
  147. package/dist/runtime/{runtime-oauth-token-manager.d.ts → orchestration/runtime-oauth-token-manager.d.ts} +1 -2
  148. package/dist/runtime/{session-runtime-orchestrator.d.ts → orchestration/session-runtime-orchestrator.d.ts} +20 -63
  149. package/dist/runtime/{session-runtime.d.ts → orchestration/session-runtime.d.ts} +14 -12
  150. package/dist/runtime/{user-input-builder.d.ts → orchestration/user-input-builder.d.ts} +2 -11
  151. package/dist/runtime/{loop-detection.d.ts → safety/loop-detection.d.ts} +0 -1
  152. package/dist/runtime/{mistake-tracker.d.ts → safety/mistake-tracker.d.ts} +0 -1
  153. package/dist/runtime/{rules.d.ts → safety/rules.d.ts} +1 -2
  154. package/dist/runtime/{subprocess-sandbox.d.ts → tools/subprocess-sandbox.d.ts} +15 -1
  155. package/dist/runtime/{tool-approval.d.ts → tools/tool-approval.d.ts} +0 -1
  156. package/dist/runtime/turn-queue/pending-prompt-service.d.ts +64 -0
  157. package/dist/services/agent-events.d.ts +1 -2
  158. package/dist/services/config.d.ts +0 -1
  159. package/dist/services/global-settings.d.ts +27 -5
  160. package/dist/{llms → services/llms}/cline-recommended-models.d.ts +1 -2
  161. package/dist/{llms → services/llms}/configured-provider-registry.d.ts +0 -1
  162. package/dist/services/llms/handler-factory.d.ts +3 -0
  163. package/dist/{llms → services/llms}/provider-defaults.d.ts +2 -1
  164. package/dist/{llms → services/llms}/provider-settings.d.ts +5 -3
  165. package/dist/{llms → services/llms}/runtime-config.d.ts +0 -1
  166. package/dist/{llms → services/llms}/runtime-registry.d.ts +0 -1
  167. package/dist/{llms → services/llms}/runtime-types.d.ts +0 -1
  168. package/dist/services/local-runtime-bootstrap.d.ts +7 -9
  169. package/dist/services/plugin-tools.d.ts +0 -1
  170. package/dist/services/providers/local-provider-registry.d.ts +9 -10
  171. package/dist/services/providers/local-provider-service.d.ts +36 -3
  172. package/dist/services/providers/model-source.d.ts +3 -0
  173. package/dist/services/session-artifacts.d.ts +0 -1
  174. package/dist/services/session-data.d.ts +2 -3
  175. package/dist/services/session-telemetry.d.ts +0 -1
  176. package/dist/services/storage/file-team-store.d.ts +0 -1
  177. package/dist/services/storage/provider-settings-legacy-migration.d.ts +0 -1
  178. package/dist/services/storage/provider-settings-manager.d.ts +3 -4
  179. package/dist/services/storage/sqlite-session-store.d.ts +0 -1
  180. package/dist/services/storage/sqlite-team-store.d.ts +0 -1
  181. package/dist/services/storage/team-store.d.ts +0 -1
  182. package/dist/services/telemetry/ITelemetryAdapter.d.ts +0 -1
  183. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts +0 -1
  184. package/dist/services/telemetry/OpenTelemetryProvider.d.ts +32 -1
  185. package/dist/services/telemetry/TelemetryLoggerSink.d.ts +0 -1
  186. package/dist/services/telemetry/TelemetryService.d.ts +0 -1
  187. package/dist/services/telemetry/core-events.d.ts +46 -3
  188. package/dist/services/telemetry/distinct-id.d.ts +0 -1
  189. package/dist/services/telemetry/index.d.ts +1 -2
  190. package/dist/services/telemetry/index.js +1 -0
  191. package/dist/services/usage.d.ts +10 -2
  192. package/dist/services/workspace/file-indexer.d.ts +0 -1
  193. package/dist/services/workspace/index.d.ts +0 -1
  194. package/dist/services/workspace/mention-enricher.d.ts +0 -1
  195. package/dist/{session → services/workspace}/workspace-manager.d.ts +0 -1
  196. package/dist/services/{workspace-manifest.d.ts → workspace/workspace-manifest.d.ts} +20 -5
  197. package/dist/services/workspace/workspace-telemetry.d.ts +18 -0
  198. package/dist/session/checkpoint-restore.d.ts +20 -0
  199. package/dist/session/{session-graph.d.ts → models/session-graph.d.ts} +2 -3
  200. package/dist/session/{session-manifest.d.ts → models/session-manifest.d.ts} +0 -1
  201. package/dist/session/{session-row.d.ts → models/session-row.d.ts} +2 -3
  202. package/dist/session/{file-session-service.d.ts → services/file-session-service.d.ts} +1 -2
  203. package/dist/session/{message-builder.d.ts → services/message-builder.d.ts} +7 -16
  204. package/dist/session/{persistence-service.d.ts → services/persistence-service.d.ts} +10 -11
  205. package/dist/session/{session-service.d.ts → services/session-service.d.ts} +4 -5
  206. package/dist/session/session-snapshot.d.ts +57 -0
  207. package/dist/session/session-versioning-service.d.ts +48 -0
  208. package/dist/session/{conversation-store.d.ts → stores/conversation-store.d.ts} +0 -1
  209. package/dist/session/{session-manifest-store.d.ts → stores/session-manifest-store.d.ts} +3 -4
  210. package/dist/session/{team-persistence-store.d.ts → stores/team-persistence-store.d.ts} +2 -3
  211. package/dist/session/team/index.d.ts +2 -0
  212. package/dist/session/{subagent-session-manager.d.ts → team/team-child-session-manager.d.ts} +7 -8
  213. package/dist/session/{session-team-coordination.d.ts → team/team-session-coordinator.d.ts} +3 -4
  214. package/dist/settings/index.d.ts +2 -0
  215. package/dist/settings/settings-service.d.ts +6 -0
  216. package/dist/settings/types.d.ts +42 -0
  217. package/dist/types/chat-schema.d.ts +24 -7
  218. package/dist/types/common.d.ts +0 -1
  219. package/dist/types/config.d.ts +2 -3
  220. package/dist/types/events.d.ts +8 -1
  221. package/dist/types/provider-settings.d.ts +2 -3
  222. package/dist/types/session.d.ts +22 -6
  223. package/dist/types/sessions.d.ts +0 -1
  224. package/dist/types/storage.d.ts +0 -1
  225. package/dist/types.d.ts +17 -14
  226. package/dist/version.d.ts +0 -1
  227. package/package.json +16 -12
  228. package/dist/ClineCore.d.ts.map +0 -1
  229. package/dist/account/cline-account-service.d.ts.map +0 -1
  230. package/dist/account/index.d.ts.map +0 -1
  231. package/dist/account/rpc.d.ts.map +0 -1
  232. package/dist/account/types.d.ts.map +0 -1
  233. package/dist/auth/bounded-ttl-cache.d.ts.map +0 -1
  234. package/dist/auth/client.d.ts.map +0 -1
  235. package/dist/auth/cline.d.ts.map +0 -1
  236. package/dist/auth/codex.d.ts.map +0 -1
  237. package/dist/auth/oca.d.ts.map +0 -1
  238. package/dist/auth/server.d.ts.map +0 -1
  239. package/dist/auth/types.d.ts.map +0 -1
  240. package/dist/auth/utils.d.ts.map +0 -1
  241. package/dist/cron/cron-event-ingress.d.ts.map +0 -1
  242. package/dist/cron/cron-materializer.d.ts.map +0 -1
  243. package/dist/cron/cron-reconciler.d.ts.map +0 -1
  244. package/dist/cron/cron-report-writer.d.ts.map +0 -1
  245. package/dist/cron/cron-runner.d.ts.map +0 -1
  246. package/dist/cron/cron-schema.d.ts.map +0 -1
  247. package/dist/cron/cron-service.d.ts.map +0 -1
  248. package/dist/cron/cron-spec-parser.d.ts.map +0 -1
  249. package/dist/cron/cron-watcher.d.ts.map +0 -1
  250. package/dist/cron/resource-limiter.d.ts.map +0 -1
  251. package/dist/cron/schedule-command-service.d.ts.map +0 -1
  252. package/dist/cron/schedule-service.d.ts.map +0 -1
  253. package/dist/cron/scheduler.d.ts +0 -68
  254. package/dist/cron/scheduler.d.ts.map +0 -1
  255. package/dist/cron/sqlite-cron-store.d.ts.map +0 -1
  256. package/dist/cron/sqlite-schedule-store.d.ts +0 -52
  257. package/dist/cron/sqlite-schedule-store.d.ts.map +0 -1
  258. package/dist/extensions/config/agent-config-loader.d.ts +0 -20
  259. package/dist/extensions/config/agent-config-loader.d.ts.map +0 -1
  260. package/dist/extensions/config/agent-config-parser.d.ts +0 -29
  261. package/dist/extensions/config/agent-config-parser.d.ts.map +0 -1
  262. package/dist/extensions/config/hooks-config-loader.d.ts.map +0 -1
  263. package/dist/extensions/config/index.d.ts.map +0 -1
  264. package/dist/extensions/config/runtime-commands.d.ts.map +0 -1
  265. package/dist/extensions/config/unified-config-file-watcher.d.ts.map +0 -1
  266. package/dist/extensions/config/user-instruction-config-loader.d.ts.map +0 -1
  267. package/dist/extensions/context/agentic-compaction.d.ts.map +0 -1
  268. package/dist/extensions/context/basic-compaction.d.ts.map +0 -1
  269. package/dist/extensions/context/compaction-shared.d.ts.map +0 -1
  270. package/dist/extensions/context/compaction.d.ts.map +0 -1
  271. package/dist/extensions/index.d.ts.map +0 -1
  272. package/dist/extensions/mcp/client.d.ts.map +0 -1
  273. package/dist/extensions/mcp/config-loader.d.ts.map +0 -1
  274. package/dist/extensions/mcp/index.d.ts.map +0 -1
  275. package/dist/extensions/mcp/manager.d.ts.map +0 -1
  276. package/dist/extensions/mcp/name-transform.d.ts.map +0 -1
  277. package/dist/extensions/mcp/policies.d.ts.map +0 -1
  278. package/dist/extensions/mcp/tools.d.ts.map +0 -1
  279. package/dist/extensions/mcp/types.d.ts.map +0 -1
  280. package/dist/extensions/plugin/plugin-config-loader.d.ts.map +0 -1
  281. package/dist/extensions/plugin/plugin-load-report.d.ts.map +0 -1
  282. package/dist/extensions/plugin/plugin-loader.d.ts.map +0 -1
  283. package/dist/extensions/plugin/plugin-module-import.d.ts.map +0 -1
  284. package/dist/extensions/plugin/plugin-sandbox.d.ts.map +0 -1
  285. package/dist/extensions/plugin/plugin-targeting.d.ts.map +0 -1
  286. package/dist/extensions/tools/constants.d.ts.map +0 -1
  287. package/dist/extensions/tools/definitions.d.ts.map +0 -1
  288. package/dist/extensions/tools/executors/apply-patch-parser.d.ts.map +0 -1
  289. package/dist/extensions/tools/executors/apply-patch.d.ts.map +0 -1
  290. package/dist/extensions/tools/executors/bash.d.ts.map +0 -1
  291. package/dist/extensions/tools/executors/editor.d.ts.map +0 -1
  292. package/dist/extensions/tools/executors/file-read.d.ts.map +0 -1
  293. package/dist/extensions/tools/executors/index.d.ts.map +0 -1
  294. package/dist/extensions/tools/executors/search.d.ts.map +0 -1
  295. package/dist/extensions/tools/executors/web-fetch.d.ts.map +0 -1
  296. package/dist/extensions/tools/helpers.d.ts.map +0 -1
  297. package/dist/extensions/tools/index.d.ts.map +0 -1
  298. package/dist/extensions/tools/model-tool-routing.d.ts.map +0 -1
  299. package/dist/extensions/tools/presets.d.ts.map +0 -1
  300. package/dist/extensions/tools/runtime.d.ts.map +0 -1
  301. package/dist/extensions/tools/schemas.d.ts.map +0 -1
  302. package/dist/extensions/tools/team/delegated-agent.d.ts.map +0 -1
  303. package/dist/extensions/tools/team/index.d.ts.map +0 -1
  304. package/dist/extensions/tools/team/multi-agent.d.ts.map +0 -1
  305. package/dist/extensions/tools/team/projections.d.ts.map +0 -1
  306. package/dist/extensions/tools/team/runtime.d.ts.map +0 -1
  307. package/dist/extensions/tools/team/spawn-agent-tool.d.ts.map +0 -1
  308. package/dist/extensions/tools/team/subagent-prompts.d.ts.map +0 -1
  309. package/dist/extensions/tools/team/team-tools.d.ts.map +0 -1
  310. package/dist/extensions/tools/types.d.ts.map +0 -1
  311. package/dist/hooks/checkpoint-hooks.d.ts.map +0 -1
  312. package/dist/hooks/hook-bridge.d.ts +0 -118
  313. package/dist/hooks/hook-bridge.d.ts.map +0 -1
  314. package/dist/hooks/hook-file-hooks.d.ts.map +0 -1
  315. package/dist/hooks/hook-registry.d.ts +0 -16
  316. package/dist/hooks/hook-registry.d.ts.map +0 -1
  317. package/dist/hooks/index.d.ts.map +0 -1
  318. package/dist/hooks/subprocess-runner.d.ts.map +0 -1
  319. package/dist/hooks/subprocess.d.ts.map +0 -1
  320. package/dist/hub/browser-websocket.d.ts.map +0 -1
  321. package/dist/hub/client.d.ts.map +0 -1
  322. package/dist/hub/connect.d.ts.map +0 -1
  323. package/dist/hub/daemon-entry.d.ts +0 -2
  324. package/dist/hub/daemon-entry.d.ts.map +0 -1
  325. package/dist/hub/daemon-entry.js +0 -1305
  326. package/dist/hub/daemon.d.ts.map +0 -1
  327. package/dist/hub/defaults.d.ts.map +0 -1
  328. package/dist/hub/discovery.d.ts.map +0 -1
  329. package/dist/hub/index.d.ts.map +0 -1
  330. package/dist/hub/native-transport.d.ts.map +0 -1
  331. package/dist/hub/runtime-handlers.d.ts.map +0 -1
  332. package/dist/hub/server.d.ts +0 -104
  333. package/dist/hub/server.d.ts.map +0 -1
  334. package/dist/hub/session-client.d.ts.map +0 -1
  335. package/dist/hub/start-shared-server.d.ts.map +0 -1
  336. package/dist/hub/transport.d.ts.map +0 -1
  337. package/dist/hub/ui-client.d.ts.map +0 -1
  338. package/dist/hub/workspace.d.ts.map +0 -1
  339. package/dist/index.d.ts.map +0 -1
  340. package/dist/llms/cline-recommended-models.d.ts.map +0 -1
  341. package/dist/llms/configured-provider-registry.d.ts.map +0 -1
  342. package/dist/llms/handler-factory.d.ts +0 -16
  343. package/dist/llms/handler-factory.d.ts.map +0 -1
  344. package/dist/llms/provider-defaults.d.ts.map +0 -1
  345. package/dist/llms/provider-settings.d.ts.map +0 -1
  346. package/dist/llms/runtime-config.d.ts.map +0 -1
  347. package/dist/llms/runtime-registry.d.ts.map +0 -1
  348. package/dist/llms/runtime-types.d.ts.map +0 -1
  349. package/dist/runtime/agent-config-adapter.d.ts +0 -148
  350. package/dist/runtime/agent-config-adapter.d.ts.map +0 -1
  351. package/dist/runtime/agent-runtime-config-builder.d.ts.map +0 -1
  352. package/dist/runtime/history.d.ts +0 -10
  353. package/dist/runtime/history.d.ts.map +0 -1
  354. package/dist/runtime/host.d.ts.map +0 -1
  355. package/dist/runtime/loop-detection.d.ts.map +0 -1
  356. package/dist/runtime/mistake-tracker.d.ts.map +0 -1
  357. package/dist/runtime/rules.d.ts.map +0 -1
  358. package/dist/runtime/runtime-builder.d.ts.map +0 -1
  359. package/dist/runtime/runtime-event-adapter.d.ts.map +0 -1
  360. package/dist/runtime/runtime-host.d.ts.map +0 -1
  361. package/dist/runtime/runtime-oauth-token-manager.d.ts.map +0 -1
  362. package/dist/runtime/session-runtime-orchestrator.d.ts.map +0 -1
  363. package/dist/runtime/session-runtime.d.ts.map +0 -1
  364. package/dist/runtime/subprocess-sandbox.d.ts.map +0 -1
  365. package/dist/runtime/tool-approval.d.ts.map +0 -1
  366. package/dist/runtime/user-input-builder.d.ts.map +0 -1
  367. package/dist/services/agent-events.d.ts.map +0 -1
  368. package/dist/services/config.d.ts.map +0 -1
  369. package/dist/services/global-settings.d.ts.map +0 -1
  370. package/dist/services/index.js +0 -28
  371. package/dist/services/local-runtime-bootstrap.d.ts.map +0 -1
  372. package/dist/services/plugin-tools.d.ts.map +0 -1
  373. package/dist/services/providers/local-provider-registry.d.ts.map +0 -1
  374. package/dist/services/providers/local-provider-service.d.ts.map +0 -1
  375. package/dist/services/session-artifacts.d.ts.map +0 -1
  376. package/dist/services/session-data.d.ts.map +0 -1
  377. package/dist/services/session-telemetry.d.ts.map +0 -1
  378. package/dist/services/storage/file-team-store.d.ts.map +0 -1
  379. package/dist/services/storage/provider-settings-legacy-migration.d.ts.map +0 -1
  380. package/dist/services/storage/provider-settings-manager.d.ts.map +0 -1
  381. package/dist/services/storage/sqlite-session-store.d.ts.map +0 -1
  382. package/dist/services/storage/sqlite-team-store.d.ts.map +0 -1
  383. package/dist/services/storage/team-store.d.ts.map +0 -1
  384. package/dist/services/telemetry/ITelemetryAdapter.d.ts.map +0 -1
  385. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts.map +0 -1
  386. package/dist/services/telemetry/OpenTelemetryProvider.d.ts.map +0 -1
  387. package/dist/services/telemetry/TelemetryLoggerSink.d.ts.map +0 -1
  388. package/dist/services/telemetry/TelemetryService.d.ts.map +0 -1
  389. package/dist/services/telemetry/core-events.d.ts.map +0 -1
  390. package/dist/services/telemetry/distinct-id.d.ts.map +0 -1
  391. package/dist/services/telemetry/index.d.ts.map +0 -1
  392. package/dist/services/usage.d.ts.map +0 -1
  393. package/dist/services/workspace/file-indexer.d.ts.map +0 -1
  394. package/dist/services/workspace/index.d.ts.map +0 -1
  395. package/dist/services/workspace/mention-enricher.d.ts.map +0 -1
  396. package/dist/services/workspace-manifest.d.ts.map +0 -1
  397. package/dist/session/conversation-store.d.ts.map +0 -1
  398. package/dist/session/file-session-service.d.ts.map +0 -1
  399. package/dist/session/message-builder.d.ts.map +0 -1
  400. package/dist/session/persistence-service.d.ts.map +0 -1
  401. package/dist/session/session-graph.d.ts.map +0 -1
  402. package/dist/session/session-manifest-store.d.ts.map +0 -1
  403. package/dist/session/session-manifest.d.ts.map +0 -1
  404. package/dist/session/session-row.d.ts.map +0 -1
  405. package/dist/session/session-service.d.ts.map +0 -1
  406. package/dist/session/session-team-coordination.d.ts.map +0 -1
  407. package/dist/session/subagent-session-manager.d.ts.map +0 -1
  408. package/dist/session/team-persistence-store.d.ts.map +0 -1
  409. package/dist/session/workspace-manager.d.ts.map +0 -1
  410. package/dist/transports/hub.d.ts +0 -58
  411. package/dist/transports/hub.d.ts.map +0 -1
  412. package/dist/transports/local.d.ts +0 -119
  413. package/dist/transports/local.d.ts.map +0 -1
  414. package/dist/transports/remote.d.ts.map +0 -1
  415. package/dist/transports/runtime-host-support.d.ts.map +0 -1
  416. package/dist/types/chat-schema.d.ts.map +0 -1
  417. package/dist/types/common.d.ts.map +0 -1
  418. package/dist/types/config.d.ts.map +0 -1
  419. package/dist/types/events.d.ts.map +0 -1
  420. package/dist/types/provider-settings.d.ts.map +0 -1
  421. package/dist/types/session.d.ts.map +0 -1
  422. package/dist/types/sessions.d.ts.map +0 -1
  423. package/dist/types/storage.d.ts.map +0 -1
  424. package/dist/types.d.ts.map +0 -1
  425. package/dist/version.d.ts.map +0 -1
  426. package/src/ClineCore.ts +0 -1026
  427. package/src/account/cline-account-service.ts +0 -338
  428. package/src/account/index.ts +0 -24
  429. package/src/account/rpc.ts +0 -185
  430. package/src/account/types.ts +0 -108
  431. package/src/auth/bounded-ttl-cache.ts +0 -53
  432. package/src/auth/client.ts +0 -46
  433. package/src/auth/cline.ts +0 -724
  434. package/src/auth/codex.ts +0 -491
  435. package/src/auth/oca.ts +0 -588
  436. package/src/auth/server.ts +0 -265
  437. package/src/auth/types.ts +0 -110
  438. package/src/auth/utils.ts +0 -247
  439. package/src/cron/cron-event-ingress.ts +0 -357
  440. package/src/cron/cron-materializer.ts +0 -97
  441. package/src/cron/cron-reconciler.ts +0 -241
  442. package/src/cron/cron-report-writer.ts +0 -153
  443. package/src/cron/cron-runner.ts +0 -495
  444. package/src/cron/cron-schema.ts +0 -127
  445. package/src/cron/cron-service.ts +0 -163
  446. package/src/cron/cron-spec-parser.ts +0 -489
  447. package/src/cron/cron-watcher.ts +0 -102
  448. package/src/cron/index.ts +0 -15
  449. package/src/cron/resource-limiter.ts +0 -46
  450. package/src/cron/schedule-command-service.ts +0 -193
  451. package/src/cron/schedule-service.ts +0 -703
  452. package/src/cron/scheduler.ts +0 -772
  453. package/src/cron/sqlite-cron-store.ts +0 -1286
  454. package/src/cron/sqlite-schedule-store.ts +0 -708
  455. package/src/extensions/config/agent-config-loader.ts +0 -114
  456. package/src/extensions/config/agent-config-parser.ts +0 -198
  457. package/src/extensions/config/hooks-config-loader.ts +0 -117
  458. package/src/extensions/config/index.ts +0 -77
  459. package/src/extensions/config/runtime-commands.ts +0 -82
  460. package/src/extensions/config/unified-config-file-watcher.ts +0 -496
  461. package/src/extensions/config/user-instruction-config-loader.ts +0 -549
  462. package/src/extensions/context/agentic-compaction.ts +0 -131
  463. package/src/extensions/context/basic-compaction.ts +0 -300
  464. package/src/extensions/context/compaction-shared.ts +0 -459
  465. package/src/extensions/context/compaction.ts +0 -226
  466. package/src/extensions/index.ts +0 -18
  467. package/src/extensions/mcp/client.ts +0 -420
  468. package/src/extensions/mcp/config-loader.ts +0 -219
  469. package/src/extensions/mcp/index.ts +0 -42
  470. package/src/extensions/mcp/manager.ts +0 -260
  471. package/src/extensions/mcp/name-transform.ts +0 -33
  472. package/src/extensions/mcp/policies.ts +0 -47
  473. package/src/extensions/mcp/tools.ts +0 -47
  474. package/src/extensions/mcp/types.ts +0 -116
  475. package/src/extensions/plugin/plugin-config-loader.ts +0 -140
  476. package/src/extensions/plugin/plugin-load-report.ts +0 -20
  477. package/src/extensions/plugin/plugin-loader.ts +0 -220
  478. package/src/extensions/plugin/plugin-module-import.ts +0 -276
  479. package/src/extensions/plugin/plugin-sandbox-bootstrap.ts +0 -662
  480. package/src/extensions/plugin/plugin-sandbox.ts +0 -586
  481. package/src/extensions/plugin/plugin-targeting.ts +0 -32
  482. package/src/extensions/tools/constants.ts +0 -37
  483. package/src/extensions/tools/definitions.ts +0 -738
  484. package/src/extensions/tools/executors/apply-patch-parser.ts +0 -520
  485. package/src/extensions/tools/executors/apply-patch.ts +0 -348
  486. package/src/extensions/tools/executors/bash.ts +0 -207
  487. package/src/extensions/tools/executors/editor.ts +0 -220
  488. package/src/extensions/tools/executors/file-read.ts +0 -135
  489. package/src/extensions/tools/executors/index.ts +0 -87
  490. package/src/extensions/tools/executors/search.ts +0 -470
  491. package/src/extensions/tools/executors/web-fetch.ts +0 -259
  492. package/src/extensions/tools/helpers.ts +0 -154
  493. package/src/extensions/tools/index.ts +0 -183
  494. package/src/extensions/tools/model-tool-routing.ts +0 -134
  495. package/src/extensions/tools/presets.ts +0 -190
  496. package/src/extensions/tools/runtime.ts +0 -261
  497. package/src/extensions/tools/schemas.ts +0 -343
  498. package/src/extensions/tools/team/delegated-agent.ts +0 -136
  499. package/src/extensions/tools/team/index.ts +0 -5
  500. package/src/extensions/tools/team/multi-agent.ts +0 -1845
  501. package/src/extensions/tools/team/projections.ts +0 -283
  502. package/src/extensions/tools/team/runtime.ts +0 -54
  503. package/src/extensions/tools/team/spawn-agent-tool.ts +0 -201
  504. package/src/extensions/tools/team/subagent-prompts.ts +0 -41
  505. package/src/extensions/tools/team/team-tools.ts +0 -902
  506. package/src/extensions/tools/types.ts +0 -354
  507. package/src/hooks/checkpoint-hooks.ts +0 -238
  508. package/src/hooks/hook-bridge.ts +0 -489
  509. package/src/hooks/hook-file-hooks.ts +0 -934
  510. package/src/hooks/hook-registry.ts +0 -257
  511. package/src/hooks/index.ts +0 -18
  512. package/src/hooks/subprocess-runner.ts +0 -196
  513. package/src/hooks/subprocess.ts +0 -469
  514. package/src/hub/browser-websocket.ts +0 -159
  515. package/src/hub/client.ts +0 -633
  516. package/src/hub/connect.ts +0 -156
  517. package/src/hub/daemon-entry.ts +0 -122
  518. package/src/hub/daemon.ts +0 -284
  519. package/src/hub/defaults.ts +0 -70
  520. package/src/hub/discovery.ts +0 -247
  521. package/src/hub/index.ts +0 -14
  522. package/src/hub/native-transport.ts +0 -31
  523. package/src/hub/runtime-handlers.ts +0 -141
  524. package/src/hub/server.ts +0 -2317
  525. package/src/hub/session-client.ts +0 -502
  526. package/src/hub/start-shared-server.ts +0 -61
  527. package/src/hub/transport.ts +0 -14
  528. package/src/hub/ui-client.ts +0 -126
  529. package/src/hub/workspace.ts +0 -19
  530. package/src/index.ts +0 -688
  531. package/src/llms/cline-recommended-models.ts +0 -167
  532. package/src/llms/configured-provider-registry.ts +0 -193
  533. package/src/llms/handler-factory.ts +0 -56
  534. package/src/llms/provider-defaults.ts +0 -653
  535. package/src/llms/provider-settings.ts +0 -310
  536. package/src/llms/runtime-config.ts +0 -43
  537. package/src/llms/runtime-registry.ts +0 -172
  538. package/src/llms/runtime-types.ts +0 -121
  539. package/src/runtime/agent-config-adapter.ts +0 -636
  540. package/src/runtime/agent-runtime-config-builder.ts +0 -205
  541. package/src/runtime/error-feedback.ts +0 -142
  542. package/src/runtime/history.ts +0 -374
  543. package/src/runtime/host.ts +0 -222
  544. package/src/runtime/index.ts +0 -23
  545. package/src/runtime/loop-detection.ts +0 -162
  546. package/src/runtime/mistake-tracker.ts +0 -221
  547. package/src/runtime/rules.ts +0 -49
  548. package/src/runtime/runtime-builder.ts +0 -814
  549. package/src/runtime/runtime-event-adapter.ts +0 -412
  550. package/src/runtime/runtime-host.ts +0 -250
  551. package/src/runtime/runtime-oauth-token-manager.ts +0 -268
  552. package/src/runtime/session-runtime-orchestrator.ts +0 -1253
  553. package/src/runtime/session-runtime.ts +0 -69
  554. package/src/runtime/subprocess-sandbox.ts +0 -255
  555. package/src/runtime/tool-approval.ts +0 -102
  556. package/src/runtime/user-input-builder.ts +0 -167
  557. package/src/services/agent-events.ts +0 -256
  558. package/src/services/config.ts +0 -5
  559. package/src/services/global-settings.ts +0 -122
  560. package/src/services/local-runtime-bootstrap.ts +0 -424
  561. package/src/services/plugin-tools.ts +0 -86
  562. package/src/services/providers/local-provider-registry.ts +0 -456
  563. package/src/services/providers/local-provider-service.ts +0 -772
  564. package/src/services/session-artifacts.ts +0 -138
  565. package/src/services/session-data.ts +0 -398
  566. package/src/services/session-telemetry.ts +0 -89
  567. package/src/services/storage/artifact-store.ts +0 -1
  568. package/src/services/storage/file-team-store.ts +0 -250
  569. package/src/services/storage/index.ts +0 -11
  570. package/src/services/storage/provider-settings-legacy-migration.ts +0 -789
  571. package/src/services/storage/provider-settings-manager.ts +0 -167
  572. package/src/services/storage/session-store.ts +0 -1
  573. package/src/services/storage/sqlite-session-store.ts +0 -270
  574. package/src/services/storage/sqlite-team-store.ts +0 -537
  575. package/src/services/storage/team-store.ts +0 -36
  576. package/src/services/telemetry/ITelemetryAdapter.ts +0 -94
  577. package/src/services/telemetry/OpenTelemetryAdapter.ts +0 -348
  578. package/src/services/telemetry/OpenTelemetryProvider.ts +0 -415
  579. package/src/services/telemetry/TelemetryLoggerSink.ts +0 -121
  580. package/src/services/telemetry/TelemetryService.ts +0 -139
  581. package/src/services/telemetry/core-events.ts +0 -400
  582. package/src/services/telemetry/distinct-id.ts +0 -58
  583. package/src/services/telemetry/index.ts +0 -20
  584. package/src/services/usage.ts +0 -32
  585. package/src/services/workspace/file-indexer.ts +0 -351
  586. package/src/services/workspace/index.ts +0 -7
  587. package/src/services/workspace/mention-enricher.ts +0 -122
  588. package/src/services/workspace-manifest.ts +0 -72
  589. package/src/session/conversation-store.ts +0 -77
  590. package/src/session/file-session-service.ts +0 -282
  591. package/src/session/index.ts +0 -32
  592. package/src/session/message-builder.ts +0 -941
  593. package/src/session/persistence-service.ts +0 -559
  594. package/src/session/session-graph.ts +0 -92
  595. package/src/session/session-manifest-store.ts +0 -158
  596. package/src/session/session-manifest.ts +0 -29
  597. package/src/session/session-row.ts +0 -199
  598. package/src/session/session-service.ts +0 -324
  599. package/src/session/session-team-coordination.ts +0 -240
  600. package/src/session/subagent-session-manager.ts +0 -397
  601. package/src/session/team-persistence-store.ts +0 -176
  602. package/src/session/workspace-manager.ts +0 -100
  603. package/src/transports/hub.ts +0 -1081
  604. package/src/transports/local.ts +0 -1826
  605. package/src/transports/remote.ts +0 -27
  606. package/src/transports/runtime-host-support.ts +0 -140
  607. package/src/types/chat-schema.ts +0 -81
  608. package/src/types/common.ts +0 -26
  609. package/src/types/config.ts +0 -220
  610. package/src/types/events.ts +0 -80
  611. package/src/types/index.ts +0 -26
  612. package/src/types/provider-settings.ts +0 -54
  613. package/src/types/session.ts +0 -111
  614. package/src/types/sessions.ts +0 -37
  615. package/src/types/storage.ts +0 -56
  616. package/src/types.ts +0 -167
  617. package/src/version.ts +0 -3
@@ -1,153 +0,0 @@
1
- import { mkdirSync, writeFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- import {
4
- type ResolveCronSpecsDirOptions,
5
- resolveCronReportsDir,
6
- } from "@clinebot/shared/storage";
7
- import type {
8
- CronEventLogRecord,
9
- CronRunRecord,
10
- CronSpecRecord,
11
- } from "./sqlite-cron-store";
12
-
13
- /**
14
- * Writes a markdown report for a completed or failed cron run.
15
- * Reports live under `<cron-specs-dir>/reports/<run-id>.md`.
16
- * By default that is `~/.cline/cron/reports/<run-id>.md`.
17
- * and are derived artifacts — the database is still the operational source
18
- * of truth.
19
- */
20
-
21
- export interface CronRunReportData {
22
- finalText?: string;
23
- usage?: {
24
- inputTokens?: number;
25
- outputTokens?: number;
26
- cacheReadTokens?: number;
27
- cacheWriteTokens?: number;
28
- totalCost?: number;
29
- };
30
- toolCalls?: Array<{ name: string; error?: string; durationMs?: number }>;
31
- durationMs?: number;
32
- error?: string;
33
- triggerEvent?: CronEventLogRecord;
34
- }
35
-
36
- export interface WriteReportOptions {
37
- /**
38
- * Cron spec source/report location. Defaults to global `~/.cline/cron`.
39
- * Pass `{ scope: "workspace", workspaceRoot }` to write reports beside a
40
- * future workspace-scoped cron specs directory.
41
- */
42
- specs?: ResolveCronSpecsDirOptions;
43
- workspaceRoot: string;
44
- run: CronRunRecord;
45
- spec: CronSpecRecord;
46
- data: CronRunReportData;
47
- }
48
-
49
- function escapeYamlString(value: string): string {
50
- // Minimal escaping: wrap in quotes only when needed.
51
- if (/[:#\n]/.test(value) || value.includes('"')) {
52
- return JSON.stringify(value);
53
- }
54
- return value;
55
- }
56
-
57
- function yamlEntry(key: string, value: string | undefined): string | undefined {
58
- if (value === undefined || value === null) return undefined;
59
- return `${key}: ${escapeYamlString(value)}`;
60
- }
61
-
62
- function buildFrontmatter(
63
- run: CronRunRecord,
64
- spec: CronSpecRecord,
65
- triggerEvent?: CronEventLogRecord,
66
- ): string {
67
- const entries: string[] = [
68
- `runId: ${escapeYamlString(run.runId)}`,
69
- `specId: ${escapeYamlString(spec.specId)}`,
70
- `externalId: ${escapeYamlString(spec.externalId)}`,
71
- `title: ${escapeYamlString(spec.title)}`,
72
- `triggerKind: ${escapeYamlString(run.triggerKind)}`,
73
- `status: ${escapeYamlString(run.status)}`,
74
- `sourcePath: ${escapeYamlString(spec.sourcePath)}`,
75
- ];
76
- const optional = [
77
- yamlEntry("sessionId", run.sessionId),
78
- yamlEntry("startedAt", run.startedAt),
79
- yamlEntry("completedAt", run.completedAt),
80
- yamlEntry("triggerEventId", run.triggerEventId),
81
- yamlEntry("triggerEventType", triggerEvent?.eventType),
82
- yamlEntry("triggerEventSource", triggerEvent?.source),
83
- yamlEntry("triggerEventSubject", triggerEvent?.subject),
84
- ];
85
- for (const entry of optional) if (entry) entries.push(entry);
86
- return `---\n${entries.join("\n")}\n---\n`;
87
- }
88
-
89
- function buildBody(data: CronRunReportData): string {
90
- const sections: string[] = [];
91
- if (data.triggerEvent) {
92
- const event = data.triggerEvent;
93
- const lines = [
94
- `- eventId: ${event.eventId}`,
95
- `- eventType: ${event.eventType}`,
96
- `- source: ${event.source}`,
97
- event.subject ? `- subject: ${event.subject}` : "",
98
- `- occurredAt: ${event.occurredAt}`,
99
- event.dedupeKey ? `- dedupeKey: ${event.dedupeKey}` : "",
100
- event.attributes
101
- ? `- attributes: ${JSON.stringify(event.attributes)}`
102
- : "",
103
- ].filter((line) => line.length > 0);
104
- sections.push(`## Trigger Event\n\n${lines.join("\n")}\n`);
105
- }
106
- if (data.error) {
107
- sections.push(`## Error\n\n${data.error}\n`);
108
- }
109
- if (data.finalText && data.finalText.trim().length > 0) {
110
- sections.push(`## Summary\n\n${data.finalText.trim()}\n`);
111
- }
112
- if (data.usage) {
113
- const u = data.usage;
114
- const lines = [
115
- u.inputTokens !== undefined ? `- inputTokens: ${u.inputTokens}` : "",
116
- u.outputTokens !== undefined ? `- outputTokens: ${u.outputTokens}` : "",
117
- u.cacheReadTokens !== undefined
118
- ? `- cacheReadTokens: ${u.cacheReadTokens}`
119
- : "",
120
- u.cacheWriteTokens !== undefined
121
- ? `- cacheWriteTokens: ${u.cacheWriteTokens}`
122
- : "",
123
- u.totalCost !== undefined ? `- totalCostUsd: ${u.totalCost}` : "",
124
- data.durationMs !== undefined ? `- durationMs: ${data.durationMs}` : "",
125
- ].filter((line) => line.length > 0);
126
- if (lines.length > 0) {
127
- sections.push(`## Usage\n\n${lines.join("\n")}\n`);
128
- }
129
- }
130
- if (data.toolCalls && data.toolCalls.length > 0) {
131
- const bullets = data.toolCalls.map((call) => {
132
- const parts = [`- ${call.name}`];
133
- if (call.durationMs !== undefined) parts.push(`(${call.durationMs}ms)`);
134
- if (call.error) parts.push(`error: ${call.error}`);
135
- return parts.join(" ");
136
- });
137
- sections.push(`## Tool Calls\n\n${bullets.join("\n")}\n`);
138
- }
139
- return sections.join("\n");
140
- }
141
-
142
- export function writeCronRunReport(options: WriteReportOptions): string {
143
- const dir = resolveCronReportsDir(options.specs);
144
- mkdirSync(dir, { recursive: true });
145
- const path = join(dir, `${options.run.runId}.md`);
146
- const content = `${buildFrontmatter(
147
- options.run,
148
- options.spec,
149
- options.data.triggerEvent,
150
- )}\n${buildBody(options.data)}`;
151
- writeFileSync(path, content, "utf8");
152
- return path;
153
- }
@@ -1,495 +0,0 @@
1
- import { basename } from "node:path";
2
- import type {
3
- BasicLogger,
4
- ChatRunTurnRequest,
5
- ChatStartSessionRequest,
6
- } from "@clinebot/shared";
7
- import { buildClineSystemPrompt } from "@clinebot/shared";
8
- import { nowIso } from "@clinebot/shared/db";
9
- import type { ResolveCronSpecsDirOptions } from "@clinebot/shared/storage";
10
- import { createUserInstructionConfigWatcher } from "../extensions/config";
11
- import { DefaultToolNames } from "../extensions/tools/constants";
12
- import {
13
- loadRulesForSystemPromptFromWatcher,
14
- mergeRulesForSystemPrompt,
15
- } from "../runtime/rules";
16
- import { buildWorkspaceMetadata } from "../services/workspace-manifest";
17
- import type { CronMaterializer } from "./cron-materializer";
18
- import { writeCronRunReport } from "./cron-report-writer";
19
- import { ResourceLimiter } from "./resource-limiter";
20
- import type { HubScheduleRuntimeHandlers } from "./schedule-service";
21
- import type {
22
- ClaimedCronRun,
23
- CronEventLogRecord,
24
- CronSpecRecord,
25
- SqliteCronStore,
26
- } from "./sqlite-cron-store";
27
-
28
- /**
29
- * Trigger-agnostic runner for queued cron runs.
30
- *
31
- * Polls cron.db every N seconds, atomically claims queued runs, executes
32
- * them through the existing runtime handlers (same surface used by the
33
- * legacy `HubScheduleService`), persists status transitions transactionally,
34
- * and writes a markdown report per completion/failure.
35
- */
36
-
37
- const DEFAULT_POLL_INTERVAL_MS = 15_000;
38
- const DEFAULT_CLAIM_LEASE_SECONDS = 90;
39
- const DEFAULT_CRON_EXTENSIONS = ["rules", "skills", "plugins"] as const;
40
-
41
- interface HubTurnResult {
42
- text: string;
43
- usage?: {
44
- inputTokens?: number;
45
- outputTokens?: number;
46
- cacheReadTokens?: number;
47
- cacheWriteTokens?: number;
48
- totalCost?: number;
49
- };
50
- toolCalls?: Array<{
51
- name: string;
52
- error?: string;
53
- durationMs?: number;
54
- }>;
55
- }
56
-
57
- function cronExtensionEnabled(
58
- spec: CronSpecRecord,
59
- extension: (typeof DEFAULT_CRON_EXTENSIONS)[number],
60
- ): boolean {
61
- return new Set(spec.extensions ?? DEFAULT_CRON_EXTENSIONS).has(extension);
62
- }
63
-
64
- function buildToolPolicies(
65
- spec: CronSpecRecord,
66
- mode: "act" | "plan" | "yolo",
67
- ): ChatStartSessionRequest["toolPolicies"] | undefined {
68
- if (spec.tools === undefined) {
69
- return { "*": { autoApprove: true } };
70
- }
71
- const policies: NonNullable<ChatStartSessionRequest["toolPolicies"]> = {
72
- "*": { enabled: false, autoApprove: true },
73
- };
74
- for (const tool of spec.tools) {
75
- policies[tool] = { enabled: true, autoApprove: true };
76
- }
77
- if (mode === "yolo") {
78
- policies[DefaultToolNames.SUBMIT_AND_EXIT] = {
79
- enabled: true,
80
- autoApprove: true,
81
- };
82
- }
83
- return policies;
84
- }
85
-
86
- function buildNotesSystemPromptSection(
87
- notesDirectory: string | undefined,
88
- ): string | undefined {
89
- const trimmed = notesDirectory?.trim();
90
- if (!trimmed) return undefined;
91
- return [
92
- "# Notes Directory",
93
- `Use ${trimmed} for durable notes related to this automation.`,
94
- "Before starting, inspect relevant existing notes there when useful. During or after the run, write concise notes there when they would help future runs continue with context.",
95
- ].join("\n");
96
- }
97
-
98
- class TimeoutError extends Error {
99
- constructor(message: string) {
100
- super(message);
101
- this.name = "TimeoutError";
102
- }
103
- }
104
-
105
- async function withTimeout<T>(
106
- promise: Promise<T>,
107
- timeoutMs: number,
108
- ): Promise<T> {
109
- if (timeoutMs <= 0) return promise;
110
- let handle: ReturnType<typeof setTimeout> | undefined;
111
- const timeoutPromise = new Promise<never>((_, reject) => {
112
- handle = setTimeout(() => {
113
- reject(new TimeoutError("cron run timed out"));
114
- }, timeoutMs);
115
- });
116
- try {
117
- return await Promise.race([promise, timeoutPromise]);
118
- } finally {
119
- if (handle) clearTimeout(handle);
120
- }
121
- }
122
-
123
- export interface CronRunnerOptions {
124
- store: SqliteCronStore;
125
- materializer: CronMaterializer;
126
- runtimeHandlers: HubScheduleRuntimeHandlers;
127
- /** Default runtime workspace for the hub/daemon process. */
128
- workspaceRoot: string;
129
- /** Cron spec source/report location. Defaults to global `~/.cline/cron`. */
130
- specs?: ResolveCronSpecsDirOptions;
131
- logger?: BasicLogger;
132
- pollIntervalMs?: number;
133
- claimLeaseSeconds?: number;
134
- globalMaxConcurrency?: number;
135
- }
136
-
137
- export class CronRunner {
138
- private readonly store: SqliteCronStore;
139
- private readonly materializer: CronMaterializer;
140
- private readonly options: CronRunnerOptions;
141
- private readonly limiter: ResourceLimiter;
142
- private readonly claimLeaseMs: number;
143
- private timer: ReturnType<typeof setInterval> | undefined;
144
- private started = false;
145
- private ticking = false;
146
- private disposed = false;
147
- private stopping = false;
148
- private readonly activeRuns = new Map<
149
- string,
150
- { claimToken: string; sessionId?: string }
151
- >();
152
-
153
- constructor(options: CronRunnerOptions) {
154
- this.store = options.store;
155
- this.materializer = options.materializer;
156
- this.options = options;
157
- this.limiter = new ResourceLimiter(options.globalMaxConcurrency ?? 10);
158
- this.claimLeaseMs = Math.max(
159
- 5_000,
160
- (options.claimLeaseSeconds ?? DEFAULT_CLAIM_LEASE_SECONDS) * 1000,
161
- );
162
- }
163
-
164
- public async start(): Promise<void> {
165
- if (this.disposed) throw new Error("CronRunner disposed");
166
- if (this.started) return;
167
- this.stopping = false;
168
- this.started = true;
169
- const interval = Math.max(
170
- 2_000,
171
- this.options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS,
172
- );
173
- await this.tick();
174
- this.timer = setInterval(() => void this.tick(), interval);
175
- }
176
-
177
- public async stop(): Promise<void> {
178
- const wasStarted = this.started;
179
- this.started = false;
180
- this.stopping = true;
181
- if (this.timer) {
182
- clearInterval(this.timer);
183
- this.timer = undefined;
184
- }
185
- if (!wasStarted) return;
186
- const active = [...this.activeRuns.entries()];
187
- await Promise.all(
188
- active.map(async ([runId, run]) => {
189
- if (run.sessionId) {
190
- try {
191
- await this.options.runtimeHandlers.abortSession(run.sessionId);
192
- } catch {
193
- // best effort
194
- }
195
- }
196
- try {
197
- this.store.requeueRun({
198
- runId,
199
- claimToken: run.claimToken,
200
- error: "runner stopped before completion",
201
- });
202
- } catch {
203
- // best effort
204
- }
205
- }),
206
- );
207
- }
208
-
209
- public async dispose(): Promise<void> {
210
- if (this.disposed) return;
211
- this.disposed = true;
212
- await this.stop();
213
- }
214
-
215
- public async tick(): Promise<void> {
216
- if (this.ticking) return;
217
- this.ticking = true;
218
- try {
219
- this.materializer.materializeAll();
220
- const claims = this.store.claimDueRuns({
221
- nowIso: nowIso(),
222
- leaseMs: this.claimLeaseMs,
223
- });
224
- await Promise.allSettled(claims.map((claim) => this.executeClaim(claim)));
225
- } catch (err) {
226
- const log = this.options.logger;
227
- if (log) {
228
- if (log.error) log.error("cron.runner.tick.failed", { error: err });
229
- else log.log("cron.runner.tick.failed", { error: err });
230
- }
231
- } finally {
232
- this.ticking = false;
233
- }
234
- }
235
-
236
- private async executeClaim(claim: ClaimedCronRun): Promise<void> {
237
- const run = claim.run;
238
- const spec = this.store.getSpec(run.specId);
239
- if (!spec) {
240
- this.store.completeRun(run.runId, {
241
- status: "failed",
242
- error: "spec not found",
243
- claimToken: claim.claimToken,
244
- });
245
- return;
246
- }
247
- if (!spec.enabled || spec.removed) {
248
- this.store.completeRun(run.runId, {
249
- status: "cancelled",
250
- error: "spec disabled or removed",
251
- claimToken: claim.claimToken,
252
- });
253
- return;
254
- }
255
-
256
- const maxParallel =
257
- spec.maxParallel && spec.maxParallel > 0 ? spec.maxParallel : 1;
258
- const acquired = this.limiter.acquire(spec.specId, run.runId, maxParallel);
259
- if (!acquired) {
260
- this.store.requeueRun({
261
- runId: run.runId,
262
- claimToken: claim.claimToken,
263
- error: "concurrency limit reached",
264
- });
265
- return;
266
- }
267
- if (this.stopping) {
268
- this.limiter.release(spec.specId, run.runId);
269
- this.store.requeueRun({
270
- runId: run.runId,
271
- claimToken: claim.claimToken,
272
- error: "runner stopped before execution",
273
- });
274
- return;
275
- }
276
-
277
- this.activeRuns.set(run.runId, { claimToken: claim.claimToken });
278
- const triggerEvent = run.triggerEventId
279
- ? this.store.getEventLog(run.triggerEventId)
280
- : undefined;
281
- let sessionId: string | undefined;
282
- let releaseLeaseHeartbeat: (() => void) | undefined;
283
- const startMs = Date.now();
284
- let executionDeadlineMs: number | undefined;
285
- if (spec.timeoutSeconds && spec.timeoutSeconds > 0) {
286
- executionDeadlineMs = startMs + spec.timeoutSeconds * 1000;
287
- }
288
-
289
- try {
290
- releaseLeaseHeartbeat = this.startClaimLeaseHeartbeat(claim);
291
- const startRequest = await this.buildStartRequest(spec);
292
- const startResp =
293
- await this.options.runtimeHandlers.startSession(startRequest);
294
- sessionId = startResp.sessionId.trim();
295
- if (!sessionId) throw new Error("runtime returned empty sessionId");
296
- this.activeRuns.set(run.runId, {
297
- claimToken: claim.claimToken,
298
- sessionId,
299
- });
300
- this.store.attachSessionIdToRun(run.runId, sessionId);
301
-
302
- const turnRequest: ChatRunTurnRequest = {
303
- config: startRequest,
304
- prompt: this.buildPrompt(spec, triggerEvent),
305
- };
306
- const sendPromise = this.options.runtimeHandlers.sendSession(
307
- sessionId,
308
- turnRequest,
309
- );
310
- const timeoutMs = executionDeadlineMs
311
- ? Math.max(1, executionDeadlineMs - Date.now())
312
- : 0;
313
- const sendResult = await withTimeout(sendPromise, timeoutMs);
314
- const result = sendResult.result as HubTurnResult;
315
-
316
- const endMs = Date.now();
317
- const reportPath = writeCronRunReport({
318
- specs: this.options.specs,
319
- workspaceRoot: this.options.workspaceRoot,
320
- run: { ...run, sessionId, status: "done" },
321
- spec,
322
- data: {
323
- finalText: result.text,
324
- usage: result.usage,
325
- toolCalls: result.toolCalls,
326
- durationMs: endMs - startMs,
327
- triggerEvent,
328
- },
329
- });
330
- this.store.completeRun(run.runId, {
331
- status: "done",
332
- sessionId,
333
- reportPath,
334
- claimToken: claim.claimToken,
335
- });
336
- this.store.updateSpecLastRunAt(spec.specId, nowIso());
337
- } catch (err) {
338
- const isTimeout = err instanceof TimeoutError;
339
- if (sessionId && isTimeout) {
340
- try {
341
- await this.options.runtimeHandlers.abortSession(sessionId);
342
- } catch {
343
- // best effort
344
- }
345
- }
346
- const message = err instanceof Error ? err.message : String(err);
347
- const endMs = Date.now();
348
- const reportPath = writeCronRunReport({
349
- specs: this.options.specs,
350
- workspaceRoot: this.options.workspaceRoot,
351
- run: { ...run, sessionId, status: "failed" },
352
- spec,
353
- data: { error: message, durationMs: endMs - startMs, triggerEvent },
354
- });
355
- this.store.completeRun(run.runId, {
356
- status: "failed",
357
- sessionId,
358
- reportPath,
359
- error: message,
360
- claimToken: claim.claimToken,
361
- });
362
- } finally {
363
- releaseLeaseHeartbeat?.();
364
- if (sessionId) {
365
- try {
366
- await this.options.runtimeHandlers.stopSession(sessionId);
367
- } catch {
368
- // best effort
369
- }
370
- }
371
- this.activeRuns.delete(run.runId);
372
- this.limiter.release(spec.specId, run.runId);
373
- }
374
- }
375
-
376
- private buildPrompt(
377
- spec: CronSpecRecord,
378
- triggerEvent: CronEventLogRecord | undefined,
379
- ): string {
380
- const prompt = spec.prompt ?? "";
381
- if (!triggerEvent) return prompt;
382
- const eventContext = {
383
- eventId: triggerEvent.eventId,
384
- eventType: triggerEvent.eventType,
385
- source: triggerEvent.source,
386
- subject: triggerEvent.subject,
387
- occurredAt: triggerEvent.occurredAt,
388
- workspaceRoot: triggerEvent.workspaceRoot,
389
- dedupeKey: triggerEvent.dedupeKey,
390
- attributes: triggerEvent.attributes,
391
- payload: triggerEvent.payload,
392
- };
393
- return `${prompt}\n\nTrigger event:\n${JSON.stringify(eventContext, null, 2)}`;
394
- }
395
-
396
- private startClaimLeaseHeartbeat(claim: ClaimedCronRun): () => void {
397
- const heartbeatMs = Math.max(1_000, Math.floor(this.claimLeaseMs / 2));
398
- const interval = setInterval(() => {
399
- const leaseUntilAt = new Date(
400
- Date.now() + this.claimLeaseMs,
401
- ).toISOString();
402
- const renewed = this.store.renewClaim(
403
- claim.run.runId,
404
- claim.claimToken,
405
- leaseUntilAt,
406
- );
407
- if (!renewed) {
408
- clearInterval(interval);
409
- }
410
- }, heartbeatMs);
411
- return () => clearInterval(interval);
412
- }
413
-
414
- private async loadRulesForSpec(
415
- spec: CronSpecRecord,
416
- ): Promise<string | undefined> {
417
- if (!cronExtensionEnabled(spec, "rules")) return undefined;
418
- const workspaceRoot = spec.workspaceRoot?.trim();
419
- if (!workspaceRoot) return undefined;
420
- const watcher = createUserInstructionConfigWatcher({
421
- skills: { directories: [] },
422
- rules: { workspacePath: workspaceRoot },
423
- workflows: { workspacePath: workspaceRoot },
424
- });
425
- try {
426
- await watcher.start();
427
- return loadRulesForSystemPromptFromWatcher(watcher);
428
- } finally {
429
- watcher.stop();
430
- }
431
- }
432
-
433
- private async buildSystemPrompt(
434
- spec: CronSpecRecord,
435
- workspaceRoot: string,
436
- mode: "act" | "plan" | "yolo",
437
- provider: string,
438
- ): Promise<string> {
439
- const rules = await this.loadRulesForSpec(spec);
440
- const notes = buildNotesSystemPromptSection(spec.notesDirectory);
441
- const additional = mergeRulesForSystemPrompt(rules, notes);
442
- const metadata = await buildWorkspaceMetadata(workspaceRoot);
443
- const base = buildClineSystemPrompt({
444
- ide: "Cline Cron",
445
- workspaceRoot,
446
- workspaceName: basename(workspaceRoot),
447
- metadata,
448
- rules: spec.systemPrompt ? undefined : additional,
449
- mode,
450
- providerId: provider,
451
- overridePrompt: spec.systemPrompt,
452
- platform:
453
- (typeof process !== "undefined" && process?.platform) || "unknown",
454
- });
455
- return spec.systemPrompt
456
- ? (mergeRulesForSystemPrompt(base, additional) ?? base)
457
- : base;
458
- }
459
-
460
- private async buildStartRequest(
461
- spec: CronSpecRecord,
462
- ): Promise<ChatStartSessionRequest> {
463
- const workspaceRoot = (spec.workspaceRoot ?? "").trim();
464
- const provider = (spec.providerId ?? "").trim();
465
- const model = (spec.modelId ?? "").trim();
466
- if (!workspaceRoot) {
467
- throw new Error("cron spec requires workspaceRoot");
468
- }
469
- const mode =
470
- spec.mode === "plan" ? "plan" : spec.mode === "act" ? "act" : "yolo";
471
- return {
472
- workspaceRoot,
473
- cwd: workspaceRoot,
474
- provider,
475
- model,
476
- mode,
477
- source: spec.source?.trim() || "user",
478
- systemPrompt: await this.buildSystemPrompt(
479
- spec,
480
- workspaceRoot,
481
- mode,
482
- provider,
483
- ),
484
- maxIterations: spec.maxIterations,
485
- enableTools: true,
486
- enableSpawn: true,
487
- enableTeams: true,
488
- autoApproveTools: true,
489
- toolPolicies: buildToolPolicies(spec, mode),
490
- configExtensions: DEFAULT_CRON_EXTENSIONS.filter((extension) =>
491
- cronExtensionEnabled(spec, extension),
492
- ),
493
- };
494
- }
495
- }