@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,489 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import type {
3
- CronEventSpec,
4
- CronOneOffSpec,
5
- CronScheduleSpec,
6
- CronSpec,
7
- CronSpecExtensionKind,
8
- CronSpecMode,
9
- CronSpecParseResult,
10
- CronTriggerKind,
11
- } from "@clinebot/shared";
12
- import YAML from "yaml";
13
- import { ALL_DEFAULT_TOOL_NAMES } from "../extensions/tools/constants";
14
- import { validateCronSchedule } from "./scheduler";
15
-
16
- /**
17
- * Markdown frontmatter parser for `.cline/cron/*.md` automation specs.
18
- *
19
- * Lives in @clinebot/core because it depends on `yaml`. The spec types
20
- * themselves live in @clinebot/shared so other packages can consume them
21
- * without pulling in a YAML parser.
22
- *
23
- * The parser never throws for a single bad file — it produces a
24
- * `CronSpecParseResult` with an `error` message so the reconciler can record
25
- * `parse_status='invalid'` durably instead of dropping state.
26
- */
27
-
28
- export function inferTriggerKindFromPath(
29
- relativePath: string,
30
- ): CronTriggerKind {
31
- const normalized = relativePath.replace(/\\/g, "/");
32
- if (normalized.startsWith("events/") && normalized.endsWith(".event.md")) {
33
- return "event";
34
- }
35
- if (normalized.endsWith(".cron.md")) {
36
- return "schedule";
37
- }
38
- return "one_off";
39
- }
40
-
41
- export function splitFrontmatter(raw: string): {
42
- frontmatter: string | undefined;
43
- body: string;
44
- } {
45
- const text = raw.replace(/\r\n/g, "\n");
46
- if (!text.startsWith("---\n")) {
47
- return { frontmatter: undefined, body: raw };
48
- }
49
- const afterOpen = text.slice(4);
50
- const closeIdx = afterOpen.indexOf("\n---");
51
- if (closeIdx === -1) {
52
- return { frontmatter: undefined, body: raw };
53
- }
54
- const frontmatter = afterOpen.slice(0, closeIdx);
55
- let rest = afterOpen.slice(closeIdx + 4);
56
- if (rest.startsWith("\n")) rest = rest.slice(1);
57
- return { frontmatter, body: rest };
58
- }
59
-
60
- function trimOrUndefined(value: unknown): string | undefined {
61
- if (typeof value !== "string") return undefined;
62
- const trimmed = value.trim();
63
- return trimmed.length > 0 ? trimmed : undefined;
64
- }
65
-
66
- function normalizeTags(value: unknown): string[] | undefined {
67
- if (!Array.isArray(value)) return undefined;
68
- const tags = value
69
- .map((item) => (typeof item === "string" ? item.trim() : ""))
70
- .filter((item) => item.length > 0);
71
- return tags.length > 0 ? tags : undefined;
72
- }
73
-
74
- function normalizeRecord(value: unknown): Record<string, unknown> | undefined {
75
- if (!value || typeof value !== "object" || Array.isArray(value)) {
76
- return undefined;
77
- }
78
- return value as Record<string, unknown>;
79
- }
80
-
81
- function normalizeModelSelection(
82
- value: unknown,
83
- ): { providerId?: string; modelId?: string } | undefined {
84
- const obj = normalizeRecord(value);
85
- if (!obj) return undefined;
86
- const providerId = trimOrUndefined(obj.providerId);
87
- const modelId = trimOrUndefined(obj.modelId);
88
- if (providerId === undefined && modelId === undefined) return undefined;
89
- return { providerId, modelId };
90
- }
91
-
92
- function normalizeMode(value: unknown): CronSpecMode | undefined {
93
- if (typeof value !== "string") return undefined;
94
- const lower = value.trim().toLowerCase();
95
- if (lower === "act" || lower === "plan" || lower === "yolo") return lower;
96
- return undefined;
97
- }
98
-
99
- function normalizeStringList(
100
- value: unknown,
101
- options: { preserveEmptyArray?: boolean } = {},
102
- ): string[] | undefined {
103
- const raw = Array.isArray(value)
104
- ? value
105
- : typeof value === "string"
106
- ? value.split(",")
107
- : undefined;
108
- if (!raw) return undefined;
109
- const normalized = [
110
- ...new Set(
111
- raw
112
- .map((item) => (typeof item === "string" ? item.trim() : ""))
113
- .filter((item) => item.length > 0),
114
- ),
115
- ];
116
- if (Array.isArray(value) && options.preserveEmptyArray) {
117
- return normalized;
118
- }
119
- return normalized.length > 0 ? normalized : undefined;
120
- }
121
-
122
- const DEFAULT_TOOL_NAME_SET = new Set<string>(ALL_DEFAULT_TOOL_NAMES);
123
-
124
- function normalizeToolList(value: unknown): string[] | undefined {
125
- const tools = normalizeStringList(value, { preserveEmptyArray: true });
126
- if (!tools) return undefined;
127
- const invalid = tools.filter((tool) => !DEFAULT_TOOL_NAME_SET.has(tool));
128
- if (invalid.length > 0) {
129
- throw new Error(`unknown tool(s): ${invalid.join(", ")}`);
130
- }
131
- return tools;
132
- }
133
-
134
- const CRON_EXTENSION_KINDS = new Set<CronSpecExtensionKind>([
135
- "rules",
136
- "skills",
137
- "plugins",
138
- ]);
139
-
140
- function normalizeExtensions(
141
- value: unknown,
142
- ): CronSpecExtensionKind[] | undefined {
143
- const extensions = normalizeStringList(value, { preserveEmptyArray: true });
144
- if (!extensions) return undefined;
145
- const invalid = extensions.filter(
146
- (extension) =>
147
- !CRON_EXTENSION_KINDS.has(extension as CronSpecExtensionKind),
148
- );
149
- if (invalid.length > 0) {
150
- throw new Error(`unknown extension(s): ${invalid.join(", ")}`);
151
- }
152
- return extensions as CronSpecExtensionKind[];
153
- }
154
-
155
- function asPositiveInt(value: unknown): number | undefined {
156
- if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) {
157
- return undefined;
158
- }
159
- return Math.floor(value);
160
- }
161
-
162
- function asNonNegativeInt(value: unknown): number | undefined {
163
- if (typeof value !== "number" || !Number.isFinite(value) || value < 0) {
164
- return undefined;
165
- }
166
- return Math.floor(value);
167
- }
168
-
169
- function stableStringify(value: unknown): string {
170
- if (value === null || typeof value !== "object") {
171
- return JSON.stringify(value ?? null);
172
- }
173
- if (Array.isArray(value)) {
174
- return `[${value.map((item) => stableStringify(item)).join(",")}]`;
175
- }
176
- const entries = Object.entries(value as Record<string, unknown>).filter(
177
- ([, v]) => v !== undefined,
178
- );
179
- entries.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
180
- return `{${entries
181
- .map(([k, v]) => `${JSON.stringify(k)}:${stableStringify(v)}`)
182
- .join(",")}}`;
183
- }
184
-
185
- export function computeContentHash(
186
- frontmatterJson: unknown,
187
- body: string,
188
- ): string {
189
- const hash = createHash("sha256");
190
- hash.update(stableStringify(frontmatterJson));
191
- hash.update("\n");
192
- hash.update(body);
193
- return hash.digest("hex");
194
- }
195
-
196
- function filenameStem(relativePath: string): string {
197
- const base = relativePath.split("/").pop() ?? relativePath;
198
- return base
199
- .replace(/\.event\.md$/, "")
200
- .replace(/\.cron\.md$/, "")
201
- .replace(/\.md$/, "");
202
- }
203
-
204
- const SCHEDULE_ONLY_FIELDS = ["schedule", "timezone"] as const;
205
- const EVENT_ONLY_FIELDS = [
206
- "event",
207
- "filters",
208
- "debounceSeconds",
209
- "dedupeWindowSeconds",
210
- "cooldownSeconds",
211
- "maxParallel",
212
- ] as const;
213
- const REMOVED_FIELDS = ["cwd"] as const;
214
-
215
- export interface ParseCronSpecInput {
216
- relativePath: string;
217
- raw: string;
218
- }
219
-
220
- function invalid(
221
- relativePath: string,
222
- triggerKind: CronTriggerKind,
223
- body: string,
224
- frontmatter: Record<string, unknown>,
225
- error: string,
226
- ): CronSpecParseResult {
227
- return {
228
- externalId: relativePath,
229
- relativePath,
230
- triggerKind,
231
- body,
232
- contentHash: computeContentHash(frontmatter, body),
233
- error,
234
- };
235
- }
236
-
237
- function invalidWithHash(
238
- externalId: string,
239
- relativePath: string,
240
- triggerKind: CronTriggerKind,
241
- body: string,
242
- contentHash: string,
243
- error: string,
244
- ): CronSpecParseResult {
245
- return {
246
- externalId,
247
- relativePath,
248
- triggerKind,
249
- body,
250
- contentHash,
251
- error,
252
- };
253
- }
254
-
255
- /**
256
- * Parse a single cron spec file. Never throws; always returns a result.
257
- */
258
- export function parseCronSpecFile(
259
- input: ParseCronSpecInput,
260
- ): CronSpecParseResult {
261
- const relativePath = input.relativePath.replace(/\\/g, "/");
262
- const triggerKind = inferTriggerKindFromPath(relativePath);
263
- const { frontmatter, body } = splitFrontmatter(input.raw);
264
-
265
- let frontmatterData: Record<string, unknown> = {};
266
- if (frontmatter !== undefined && frontmatter.trim().length > 0) {
267
- try {
268
- const parsed = YAML.parse(frontmatter) as unknown;
269
- if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
270
- frontmatterData = parsed as Record<string, unknown>;
271
- } else if (parsed !== null && parsed !== undefined) {
272
- return invalid(
273
- relativePath,
274
- triggerKind,
275
- body,
276
- {},
277
- "frontmatter must be a YAML mapping",
278
- );
279
- }
280
- } catch (err) {
281
- return invalid(
282
- relativePath,
283
- triggerKind,
284
- body,
285
- {},
286
- err instanceof Error
287
- ? `failed to parse frontmatter: ${err.message}`
288
- : "failed to parse frontmatter",
289
- );
290
- }
291
- }
292
-
293
- const contentHash = computeContentHash(frontmatterData, body);
294
- const externalIdRaw = trimOrUndefined(frontmatterData.id);
295
- const externalId = externalIdRaw ?? relativePath;
296
-
297
- if (triggerKind !== "schedule") {
298
- for (const key of SCHEDULE_ONLY_FIELDS) {
299
- if (frontmatterData[key] !== undefined) {
300
- return invalidWithHash(
301
- externalId,
302
- relativePath,
303
- triggerKind,
304
- body,
305
- contentHash,
306
- `field "${key}" is only allowed on *.cron.md specs`,
307
- );
308
- }
309
- }
310
- }
311
- for (const key of REMOVED_FIELDS) {
312
- if (frontmatterData[key] !== undefined) {
313
- return invalidWithHash(
314
- externalId,
315
- relativePath,
316
- triggerKind,
317
- body,
318
- contentHash,
319
- `field "${key}" is no longer supported; cron specs use workspaceRoot as cwd`,
320
- );
321
- }
322
- }
323
- if (triggerKind !== "event") {
324
- for (const key of EVENT_ONLY_FIELDS) {
325
- if (frontmatterData[key] !== undefined) {
326
- return invalidWithHash(
327
- externalId,
328
- relativePath,
329
- triggerKind,
330
- body,
331
- contentHash,
332
- `field "${key}" is only allowed on .event.md specs`,
333
- );
334
- }
335
- }
336
- }
337
-
338
- const frontmatterPrompt = trimOrUndefined(frontmatterData.prompt);
339
- const bodyTrimmed = body.trim();
340
- const prompt =
341
- frontmatterPrompt ?? (bodyTrimmed.length > 0 ? bodyTrimmed : undefined);
342
- if (!prompt) {
343
- return invalidWithHash(
344
- externalId,
345
- relativePath,
346
- triggerKind,
347
- body,
348
- contentHash,
349
- "prompt is required (frontmatter `prompt` or markdown body)",
350
- );
351
- }
352
-
353
- const workspaceRoot = trimOrUndefined(frontmatterData.workspaceRoot);
354
- if (!workspaceRoot) {
355
- return invalidWithHash(
356
- externalId,
357
- relativePath,
358
- triggerKind,
359
- body,
360
- contentHash,
361
- "workspaceRoot is required",
362
- );
363
- }
364
-
365
- let tools: string[] | undefined;
366
- let extensions: CronSpecExtensionKind[] | undefined;
367
- try {
368
- tools = normalizeToolList(frontmatterData.tools);
369
- extensions = normalizeExtensions(frontmatterData.extensions);
370
- } catch (err) {
371
- return invalidWithHash(
372
- externalId,
373
- relativePath,
374
- triggerKind,
375
- body,
376
- contentHash,
377
- err instanceof Error ? err.message : String(err),
378
- );
379
- }
380
-
381
- const mode = normalizeMode(frontmatterData.mode);
382
- if (frontmatterData.mode !== undefined && mode === undefined) {
383
- return invalidWithHash(
384
- externalId,
385
- relativePath,
386
- triggerKind,
387
- body,
388
- contentHash,
389
- "mode must be one of: act, plan, yolo",
390
- );
391
- }
392
-
393
- const common = {
394
- id: externalIdRaw,
395
- title:
396
- trimOrUndefined(frontmatterData.title) ??
397
- externalIdRaw ??
398
- filenameStem(relativePath),
399
- prompt,
400
- workspaceRoot,
401
- mode: mode ?? "yolo",
402
- systemPrompt: trimOrUndefined(frontmatterData.systemPrompt),
403
- modelSelection: normalizeModelSelection(frontmatterData.modelSelection),
404
- maxIterations: asPositiveInt(frontmatterData.maxIterations),
405
- timeoutSeconds: asPositiveInt(frontmatterData.timeoutSeconds),
406
- tools,
407
- notesDirectory: trimOrUndefined(frontmatterData.notesDirectory),
408
- extensions,
409
- source: trimOrUndefined(frontmatterData.source) ?? "user",
410
- tags: normalizeTags(frontmatterData.tags),
411
- enabled:
412
- typeof frontmatterData.enabled === "boolean"
413
- ? frontmatterData.enabled
414
- : true,
415
- metadata: normalizeRecord(frontmatterData.metadata),
416
- };
417
-
418
- let spec: CronSpec;
419
- if (triggerKind === "schedule") {
420
- const schedule = trimOrUndefined(frontmatterData.schedule);
421
- if (!schedule) {
422
- return invalidWithHash(
423
- externalId,
424
- relativePath,
425
- triggerKind,
426
- body,
427
- contentHash,
428
- "schedule is required for *.cron.md specs",
429
- );
430
- }
431
- const timezone = trimOrUndefined(frontmatterData.timezone);
432
- try {
433
- validateCronSchedule(schedule, timezone);
434
- } catch (err) {
435
- return invalidWithHash(
436
- externalId,
437
- relativePath,
438
- triggerKind,
439
- body,
440
- contentHash,
441
- err instanceof Error ? err.message : String(err),
442
- );
443
- }
444
- const s: CronScheduleSpec = {
445
- ...common,
446
- triggerKind: "schedule",
447
- schedule,
448
- timezone,
449
- };
450
- spec = s;
451
- } else if (triggerKind === "event") {
452
- const event = trimOrUndefined(frontmatterData.event);
453
- if (!event) {
454
- return invalidWithHash(
455
- externalId,
456
- relativePath,
457
- triggerKind,
458
- body,
459
- contentHash,
460
- "event is required for .event.md specs",
461
- );
462
- }
463
- const e: CronEventSpec = {
464
- ...common,
465
- triggerKind: "event",
466
- event,
467
- filters: normalizeRecord(frontmatterData.filters),
468
- debounceSeconds: asNonNegativeInt(frontmatterData.debounceSeconds),
469
- dedupeWindowSeconds: asNonNegativeInt(
470
- frontmatterData.dedupeWindowSeconds,
471
- ),
472
- cooldownSeconds: asNonNegativeInt(frontmatterData.cooldownSeconds),
473
- maxParallel: asPositiveInt(frontmatterData.maxParallel),
474
- };
475
- spec = e;
476
- } else {
477
- const o: CronOneOffSpec = { ...common, triggerKind: "one_off" };
478
- spec = o;
479
- }
480
-
481
- return {
482
- externalId,
483
- relativePath,
484
- triggerKind,
485
- body,
486
- contentHash,
487
- spec,
488
- };
489
- }
@@ -1,102 +0,0 @@
1
- import type { FSWatcher } from "node:fs";
2
- import { existsSync, mkdirSync, watch } from "node:fs";
3
- import { relative, resolve } from "node:path";
4
- import type { CronReconciler } from "./cron-reconciler";
5
-
6
- /**
7
- * Filesystem watcher for the configured cron specs directory.
8
- *
9
- * Uses `node:fs` `watch` with `{ recursive: true }`. Emits a re-reconcile
10
- * request for each change, debounced per path, so rapid save bursts from
11
- * editors don't cause redundant DB churn.
12
- */
13
-
14
- const DEFAULT_DEBOUNCE_MS = 250;
15
-
16
- export interface CronWatcherOptions {
17
- reconciler: CronReconciler;
18
- debounceMs?: number;
19
- onError?: (error: unknown) => void;
20
- onReconciled?: () => void | Promise<void>;
21
- }
22
-
23
- export class CronWatcher {
24
- private readonly reconciler: CronReconciler;
25
- private readonly debounceMs: number;
26
- private readonly onError: (error: unknown) => void;
27
- private readonly onReconciled: () => void | Promise<void>;
28
- private watcher?: FSWatcher;
29
- private readonly pending = new Map<string, ReturnType<typeof setTimeout>>();
30
- private disposed = false;
31
-
32
- constructor(options: CronWatcherOptions) {
33
- this.reconciler = options.reconciler;
34
- this.debounceMs = Math.max(0, options.debounceMs ?? DEFAULT_DEBOUNCE_MS);
35
- this.onError = options.onError ?? (() => {});
36
- this.onReconciled = options.onReconciled ?? (() => {});
37
- }
38
-
39
- public start(): void {
40
- if (this.disposed) throw new Error("CronWatcher disposed");
41
- if (this.watcher) return;
42
- const dir = this.reconciler.getCronDir();
43
- try {
44
- mkdirSync(dir, { recursive: true });
45
- this.watcher = watch(dir, { recursive: true }, (_eventType, filename) => {
46
- if (!filename) return;
47
- const rel = String(filename).replace(/\\/g, "/");
48
- if (!rel.endsWith(".md")) return;
49
- if (rel.startsWith("reports/")) return;
50
- this.scheduleReconcile(rel);
51
- });
52
- this.watcher.on("error", this.onError);
53
- } catch (err) {
54
- this.onError(err);
55
- }
56
- }
57
-
58
- public stop(): void {
59
- for (const timer of this.pending.values()) clearTimeout(timer);
60
- this.pending.clear();
61
- this.watcher?.close();
62
- this.watcher = undefined;
63
- }
64
-
65
- public dispose(): void {
66
- this.disposed = true;
67
- this.stop();
68
- }
69
-
70
- private scheduleReconcile(relativePath: string): void {
71
- const existing = this.pending.get(relativePath);
72
- if (existing) clearTimeout(existing);
73
- const timer = setTimeout(() => {
74
- this.pending.delete(relativePath);
75
- void this.reconcileNow(relativePath);
76
- }, this.debounceMs);
77
- this.pending.set(relativePath, timer);
78
- }
79
-
80
- private async reconcileNow(relativePath: string): Promise<void> {
81
- try {
82
- const abs = resolve(this.reconciler.getCronDir(), relativePath);
83
- if (!existsSync(abs)) {
84
- // File was deleted — force a full reconcile to catch the
85
- // missing source and mark the spec removed.
86
- await this.reconciler.reconcileAll();
87
- await this.onReconciled();
88
- return;
89
- }
90
- // Normalize relative path through the reconciler dir to defend
91
- // against a watcher emitting an unexpected format.
92
- const normalizedRel = relative(this.reconciler.getCronDir(), abs).replace(
93
- /\\/g,
94
- "/",
95
- );
96
- await this.reconciler.reconcileFile(normalizedRel, abs);
97
- await this.onReconciled();
98
- } catch (err) {
99
- this.onError(err);
100
- }
101
- }
102
- }
package/src/cron/index.ts DELETED
@@ -1,15 +0,0 @@
1
- export * from "./cron-event-ingress";
2
- export * from "./cron-materializer";
3
- export * from "./cron-reconciler";
4
- export * from "./cron-report-writer";
5
- export * from "./cron-runner";
6
- export * from "./cron-schema";
7
- export * from "./cron-service";
8
- export * from "./cron-spec-parser";
9
- export * from "./cron-watcher";
10
- export * from "./resource-limiter";
11
- export * from "./schedule-command-service";
12
- export * from "./schedule-service";
13
- export * from "./scheduler";
14
- export * from "./sqlite-cron-store";
15
- export * from "./sqlite-schedule-store";
@@ -1,46 +0,0 @@
1
- export class ResourceLimiter {
2
- private readonly globalMaxConcurrency: number;
3
- private readonly activeExecutions = new Map<string, Set<string>>();
4
-
5
- constructor(globalMaxConcurrency: number) {
6
- this.globalMaxConcurrency = Math.max(1, Math.floor(globalMaxConcurrency));
7
- }
8
-
9
- public acquire(
10
- scheduleId: string,
11
- executionId: string,
12
- maxParallel: number,
13
- ): boolean {
14
- if (this.getGlobalActiveCount() >= this.globalMaxConcurrency) {
15
- return false;
16
- }
17
- const perScheduleLimit = Math.max(1, Math.floor(maxParallel));
18
- const scheduleExecutions =
19
- this.activeExecutions.get(scheduleId) ?? new Set<string>();
20
- if (scheduleExecutions.size >= perScheduleLimit) {
21
- return false;
22
- }
23
- scheduleExecutions.add(executionId);
24
- this.activeExecutions.set(scheduleId, scheduleExecutions);
25
- return true;
26
- }
27
-
28
- public release(scheduleId: string, executionId: string): void {
29
- const executions = this.activeExecutions.get(scheduleId);
30
- if (!executions) {
31
- return;
32
- }
33
- executions.delete(executionId);
34
- if (executions.size === 0) {
35
- this.activeExecutions.delete(scheduleId);
36
- }
37
- }
38
-
39
- public getGlobalActiveCount(): number {
40
- let total = 0;
41
- for (const executions of this.activeExecutions.values()) {
42
- total += executions.size;
43
- }
44
- return total;
45
- }
46
- }