@clinebot/core 0.0.34 → 0.0.35

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 (372) hide show
  1. package/README.md +12 -8
  2. package/dist/ClineCore.d.ts +48 -29
  3. package/dist/ClineCore.d.ts.map +1 -1
  4. package/dist/extensions/config/agent-config-loader.d.ts +2 -2
  5. package/dist/extensions/config/agent-config-loader.d.ts.map +1 -1
  6. package/dist/extensions/config/agent-config-parser.d.ts +1 -1
  7. package/dist/extensions/config/agent-config-parser.d.ts.map +1 -1
  8. package/dist/extensions/config/hooks-config-loader.d.ts +2 -2
  9. package/dist/extensions/config/hooks-config-loader.d.ts.map +1 -1
  10. package/dist/extensions/config/index.d.ts +3 -3
  11. package/dist/extensions/config/index.d.ts.map +1 -1
  12. package/dist/extensions/config/user-instruction-config-loader.d.ts +2 -2
  13. package/dist/extensions/config/user-instruction-config-loader.d.ts.map +1 -1
  14. package/dist/extensions/plugin-sandbox-bootstrap.js +248 -248
  15. package/dist/extensions/tools/constants.d.ts.map +1 -0
  16. package/dist/extensions/tools/definitions.d.ts.map +1 -0
  17. package/dist/extensions/tools/executors/apply-patch-parser.d.ts.map +1 -0
  18. package/dist/extensions/tools/executors/apply-patch.d.ts.map +1 -0
  19. package/dist/extensions/tools/executors/bash.d.ts.map +1 -0
  20. package/dist/extensions/tools/executors/editor.d.ts.map +1 -0
  21. package/dist/extensions/tools/executors/file-read.d.ts.map +1 -0
  22. package/dist/extensions/tools/executors/index.d.ts.map +1 -0
  23. package/dist/extensions/tools/executors/search.d.ts.map +1 -0
  24. package/dist/extensions/tools/executors/web-fetch.d.ts.map +1 -0
  25. package/dist/extensions/tools/helpers.d.ts.map +1 -0
  26. package/dist/extensions/tools/index.d.ts.map +1 -0
  27. package/dist/{tools → extensions/tools}/model-tool-routing.d.ts +1 -1
  28. package/dist/extensions/tools/model-tool-routing.d.ts.map +1 -0
  29. package/dist/{tools → extensions/tools}/presets.d.ts +1 -2
  30. package/dist/extensions/tools/presets.d.ts.map +1 -0
  31. package/dist/extensions/tools/schemas.d.ts.map +1 -0
  32. package/dist/extensions/tools/team/delegated-agent.d.ts.map +1 -0
  33. package/dist/extensions/tools/team/index.d.ts.map +1 -0
  34. package/dist/{team → extensions/tools/team}/multi-agent.d.ts +1 -3
  35. package/dist/extensions/tools/team/multi-agent.d.ts.map +1 -0
  36. package/dist/extensions/tools/team/projections.d.ts.map +1 -0
  37. package/dist/extensions/tools/team/runtime.d.ts.map +1 -0
  38. package/dist/{team → extensions/tools/team}/spawn-agent-tool.d.ts +0 -1
  39. package/dist/extensions/tools/team/spawn-agent-tool.d.ts.map +1 -0
  40. package/dist/extensions/tools/team/subagent-prompts.d.ts.map +1 -0
  41. package/dist/extensions/tools/team/team-tools.d.ts.map +1 -0
  42. package/dist/{tools → extensions/tools}/types.d.ts +4 -3
  43. package/dist/extensions/tools/types.d.ts.map +1 -0
  44. package/dist/{runtime → hooks}/checkpoint-hooks.d.ts +7 -0
  45. package/dist/hooks/checkpoint-hooks.d.ts.map +1 -0
  46. package/dist/{runtime → hooks}/hook-file-hooks.d.ts +0 -2
  47. package/dist/hooks/hook-file-hooks.d.ts.map +1 -0
  48. package/dist/hooks/subprocess.d.ts +3 -130
  49. package/dist/hooks/subprocess.d.ts.map +1 -1
  50. package/dist/index.d.ts +35 -33
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +381 -379
  53. package/dist/runtime/history.d.ts +4 -0
  54. package/dist/runtime/history.d.ts.map +1 -0
  55. package/dist/runtime/host.d.ts +9 -0
  56. package/dist/runtime/host.d.ts.map +1 -0
  57. package/dist/{session → runtime}/rpc-runtime-ensure.d.ts +13 -1
  58. package/dist/{session → runtime}/rpc-runtime-ensure.d.ts.map +1 -1
  59. package/dist/{session → runtime}/rpc-spawn-lease.d.ts.map +1 -1
  60. package/dist/runtime/runtime-builder.d.ts.map +1 -1
  61. package/dist/{session/session-manager.d.ts → runtime/runtime-host.d.ts} +55 -12
  62. package/dist/runtime/runtime-host.d.ts.map +1 -0
  63. package/dist/{session → runtime}/runtime-oauth-token-manager.d.ts +1 -1
  64. package/dist/{session → runtime}/runtime-oauth-token-manager.d.ts.map +1 -1
  65. package/dist/runtime/session-runtime.d.ts +2 -2
  66. package/dist/runtime/session-runtime.d.ts.map +1 -1
  67. package/dist/{session/session-agent-events.d.ts → services/agent-events.d.ts} +4 -4
  68. package/dist/services/agent-events.d.ts.map +1 -0
  69. package/dist/services/config.d.ts +3 -0
  70. package/dist/services/config.d.ts.map +1 -0
  71. package/dist/services/local-runtime-bootstrap.d.ts +41 -0
  72. package/dist/services/local-runtime-bootstrap.d.ts.map +1 -0
  73. package/dist/services/providers/local-provider-registry.d.ts.map +1 -0
  74. package/dist/services/providers/local-provider-service.d.ts.map +1 -0
  75. package/dist/{session → services}/session-artifacts.d.ts +0 -4
  76. package/dist/services/session-artifacts.d.ts.map +1 -0
  77. package/dist/{session/utils/helpers.d.ts → services/session-data.d.ts} +19 -27
  78. package/dist/services/session-data.d.ts.map +1 -0
  79. package/dist/{session → services}/session-telemetry.d.ts +2 -2
  80. package/dist/services/session-telemetry.d.ts.map +1 -0
  81. package/dist/{storage → services/storage}/file-team-store.d.ts +2 -2
  82. package/dist/services/storage/file-team-store.d.ts.map +1 -0
  83. package/dist/{storage → services/storage}/provider-settings-legacy-migration.d.ts +1 -1
  84. package/dist/services/storage/provider-settings-legacy-migration.d.ts.map +1 -0
  85. package/dist/{storage → services/storage}/provider-settings-manager.d.ts +1 -1
  86. package/dist/services/storage/provider-settings-manager.d.ts.map +1 -0
  87. package/dist/{storage → services/storage}/sqlite-session-store.d.ts +3 -3
  88. package/dist/services/storage/sqlite-session-store.d.ts.map +1 -0
  89. package/dist/{storage → services/storage}/sqlite-team-store.d.ts +2 -2
  90. package/dist/services/storage/sqlite-team-store.d.ts.map +1 -0
  91. package/dist/{storage → services/storage}/team-store.d.ts +1 -1
  92. package/dist/services/storage/team-store.d.ts.map +1 -0
  93. package/dist/services/telemetry/ITelemetryAdapter.d.ts.map +1 -0
  94. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts.map +1 -0
  95. package/dist/services/telemetry/OpenTelemetryProvider.d.ts.map +1 -0
  96. package/dist/services/telemetry/TelemetryLoggerSink.d.ts.map +1 -0
  97. package/dist/services/telemetry/TelemetryService.d.ts.map +1 -0
  98. package/dist/services/telemetry/core-events.d.ts.map +1 -0
  99. package/dist/services/telemetry/distinct-id.d.ts.map +1 -0
  100. package/dist/services/telemetry/index.d.ts.map +1 -0
  101. package/dist/{telemetry → services/telemetry}/index.js +6 -6
  102. package/dist/{session/utils → services}/usage.d.ts +1 -1
  103. package/dist/services/usage.d.ts.map +1 -0
  104. package/dist/services/workspace/file-indexer.d.ts.map +1 -0
  105. package/dist/services/workspace/index.d.ts.map +1 -0
  106. package/dist/services/workspace/mention-enricher.d.ts.map +1 -0
  107. package/dist/services/workspace-manifest.d.ts.map +1 -0
  108. package/dist/session/file-session-service.d.ts +4 -1
  109. package/dist/session/file-session-service.d.ts.map +1 -1
  110. package/dist/session/persistence-service.d.ts +8 -6
  111. package/dist/session/persistence-service.d.ts.map +1 -1
  112. package/dist/session/rpc-session-service.d.ts +3 -0
  113. package/dist/session/rpc-session-service.d.ts.map +1 -1
  114. package/dist/session/session-service.d.ts +8 -9
  115. package/dist/session/session-service.d.ts.map +1 -1
  116. package/dist/session/session-team-coordination.d.ts +4 -4
  117. package/dist/session/session-team-coordination.d.ts.map +1 -1
  118. package/dist/session/sqlite-rpc-session-backend.d.ts.map +1 -1
  119. package/dist/{session/default-session-manager.d.ts → transports/local.d.ts} +24 -14
  120. package/dist/transports/local.d.ts.map +1 -0
  121. package/dist/transports/rpc.d.ts +51 -0
  122. package/dist/transports/rpc.d.ts.map +1 -0
  123. package/dist/transports/runtime-host-support.d.ts +21 -0
  124. package/dist/transports/runtime-host-support.d.ts.map +1 -0
  125. package/dist/types/chat-schema.d.ts.map +1 -0
  126. package/dist/types/config.d.ts +2 -2
  127. package/dist/types/config.d.ts.map +1 -1
  128. package/dist/{session/utils/types.d.ts → types/session.d.ts} +15 -6
  129. package/dist/types/session.d.ts.map +1 -0
  130. package/dist/types/sessions.d.ts +19 -0
  131. package/dist/types/sessions.d.ts.map +1 -1
  132. package/dist/types/storage.d.ts +1 -3
  133. package/dist/types/storage.d.ts.map +1 -1
  134. package/dist/types.d.ts +7 -6
  135. package/dist/types.d.ts.map +1 -1
  136. package/package.json +7 -12
  137. package/src/ClineCore.test.ts +95 -19
  138. package/src/ClineCore.ts +120 -50
  139. package/src/auth/cline.ts +1 -1
  140. package/src/auth/codex.ts +1 -1
  141. package/src/auth/oca.ts +1 -1
  142. package/src/extensions/config/agent-config-loader.test.ts +3 -3
  143. package/src/extensions/config/agent-config-loader.ts +1 -5
  144. package/src/extensions/config/agent-config-parser.ts +1 -1
  145. package/src/extensions/config/hooks-config-loader.ts +1 -2
  146. package/src/extensions/config/index.ts +0 -4
  147. package/src/extensions/config/user-instruction-config-loader.ts +0 -4
  148. package/src/extensions/plugin/plugin-config-loader.test.ts +6 -4
  149. package/src/{tools → extensions/tools}/definitions.ts +1 -1
  150. package/src/extensions/tools/executors/file-read.test.ts +125 -0
  151. package/src/{tools → extensions/tools}/executors/file-read.ts +29 -4
  152. package/src/{tools → extensions/tools}/executors/search.ts +1 -1
  153. package/src/{tools → extensions/tools}/model-tool-routing.ts +1 -1
  154. package/src/{tools → extensions/tools}/presets.ts +2 -3
  155. package/src/extensions/tools/team/multi-agent.lifecycle.test.ts +455 -0
  156. package/src/{team → extensions/tools/team}/multi-agent.ts +80 -17
  157. package/src/{team → extensions/tools/team}/spawn-agent-tool.test.ts +0 -6
  158. package/src/{team → extensions/tools/team}/spawn-agent-tool.ts +1 -7
  159. package/src/{team → extensions/tools/team}/subagent-prompts.ts +2 -2
  160. package/src/{team → extensions/tools/team}/team-tools.test.ts +43 -31
  161. package/src/{team → extensions/tools/team}/team-tools.ts +63 -53
  162. package/src/{tools → extensions/tools}/types.ts +5 -3
  163. package/src/{runtime → hooks}/checkpoint-hooks.ts +27 -0
  164. package/src/{runtime → hooks}/hook-file-hooks.ts +6 -11
  165. package/src/hooks/subprocess.ts +48 -257
  166. package/src/index.ts +167 -158
  167. package/src/runtime/history.test.ts +114 -0
  168. package/src/runtime/history.ts +237 -0
  169. package/src/runtime/host.test.ts +230 -0
  170. package/src/runtime/host.ts +362 -0
  171. package/src/runtime/rpc-runtime-ensure.test.ts +123 -0
  172. package/src/{session → runtime}/rpc-runtime-ensure.ts +165 -27
  173. package/src/{session → runtime}/rpc-spawn-lease.test.ts +33 -1
  174. package/src/{session → runtime}/rpc-spawn-lease.ts +54 -20
  175. package/src/runtime/runtime-builder.team-persistence.test.ts +6 -3
  176. package/src/runtime/runtime-builder.test.ts +3 -4
  177. package/src/runtime/runtime-builder.ts +13 -21
  178. package/src/runtime/runtime-host.ts +178 -0
  179. package/src/{session → runtime}/runtime-oauth-token-manager.ts +1 -1
  180. package/src/runtime/runtime-parity.test.ts +1 -1
  181. package/src/runtime/session-runtime.ts +2 -2
  182. package/src/{session/session-agent-events.ts → services/agent-events.ts} +7 -7
  183. package/src/services/config.ts +5 -0
  184. package/src/services/local-runtime-bootstrap.ts +280 -0
  185. package/src/{providers → services/providers}/local-provider-service.ts +4 -4
  186. package/src/{session → services}/session-artifacts.ts +7 -19
  187. package/src/{session/utils/helpers.test.ts → services/session-data.test.ts} +1 -1
  188. package/src/{session/utils/helpers.ts → services/session-data.ts} +76 -72
  189. package/src/{session → services}/session-telemetry.ts +7 -9
  190. package/src/services/storage/artifact-store.ts +1 -0
  191. package/src/{storage → services/storage}/file-team-store.ts +2 -2
  192. package/src/{storage → services/storage}/provider-settings-legacy-migration.test.ts +1 -1
  193. package/src/{storage → services/storage}/provider-settings-legacy-migration.ts +2 -2
  194. package/src/{storage → services/storage}/provider-settings-manager.ts +2 -2
  195. package/src/services/storage/session-store.ts +1 -0
  196. package/src/{storage → services/storage}/sqlite-session-store.ts +7 -12
  197. package/src/{storage → services/storage}/sqlite-team-store.ts +4 -4
  198. package/src/{storage → services/storage}/team-store.ts +1 -1
  199. package/src/{session/utils → services}/usage.ts +1 -1
  200. package/src/{input → services/workspace}/file-indexer.test.ts +30 -1
  201. package/src/{input → services/workspace}/file-indexer.ts +26 -2
  202. package/src/{input → services/workspace}/mention-enricher.test.ts +21 -0
  203. package/src/{input → services/workspace}/mention-enricher.ts +1 -1
  204. package/src/session/file-session-service.ts +9 -7
  205. package/src/session/index.ts +25 -17
  206. package/src/session/persistence-service.test.ts +86 -27
  207. package/src/session/persistence-service.ts +104 -103
  208. package/src/session/rpc-session-service.ts +9 -2
  209. package/src/session/session-service.team-persistence.test.ts +1 -1
  210. package/src/session/session-service.ts +32 -19
  211. package/src/session/session-team-coordination.ts +13 -6
  212. package/src/session/sqlite-rpc-session-backend.ts +4 -6
  213. package/src/session/workspace-manager.ts +1 -1
  214. package/src/{session/default-session-manager.e2e.test.ts → transports/local.e2e.test.ts} +13 -17
  215. package/src/{session/default-session-manager.test.ts → transports/local.test.ts} +316 -230
  216. package/src/{session/default-session-manager.ts → transports/local.ts} +137 -169
  217. package/src/transports/rpc.test.ts +82 -0
  218. package/src/transports/rpc.ts +665 -0
  219. package/src/transports/runtime-host-support.ts +86 -0
  220. package/src/types/config.ts +2 -2
  221. package/src/{session/utils/types.ts → types/session.ts} +18 -5
  222. package/src/types/sessions.ts +21 -0
  223. package/src/types/storage.ts +1 -6
  224. package/src/types.ts +25 -18
  225. package/dist/chat/chat-schema.d.ts.map +0 -1
  226. package/dist/input/file-indexer.d.ts.map +0 -1
  227. package/dist/input/index.d.ts.map +0 -1
  228. package/dist/input/mention-enricher.d.ts.map +0 -1
  229. package/dist/prompt/default-system.d.ts +0 -2
  230. package/dist/prompt/default-system.d.ts.map +0 -1
  231. package/dist/providers/local-provider-registry.d.ts.map +0 -1
  232. package/dist/providers/local-provider-service.d.ts.map +0 -1
  233. package/dist/runtime/checkpoint-hooks.d.ts.map +0 -1
  234. package/dist/runtime/hook-file-hooks.d.ts.map +0 -1
  235. package/dist/session/default-session-manager.d.ts.map +0 -1
  236. package/dist/session/session-agent-events.d.ts.map +0 -1
  237. package/dist/session/session-artifacts.d.ts.map +0 -1
  238. package/dist/session/session-config-builder.d.ts +0 -16
  239. package/dist/session/session-config-builder.d.ts.map +0 -1
  240. package/dist/session/session-host.d.ts +0 -15
  241. package/dist/session/session-host.d.ts.map +0 -1
  242. package/dist/session/session-manager.d.ts.map +0 -1
  243. package/dist/session/session-telemetry.d.ts.map +0 -1
  244. package/dist/session/utils/helpers.d.ts.map +0 -1
  245. package/dist/session/utils/types.d.ts.map +0 -1
  246. package/dist/session/utils/usage.d.ts.map +0 -1
  247. package/dist/session/workspace-manifest.d.ts.map +0 -1
  248. package/dist/storage/file-team-store.d.ts.map +0 -1
  249. package/dist/storage/provider-settings-legacy-migration.d.ts.map +0 -1
  250. package/dist/storage/provider-settings-manager.d.ts.map +0 -1
  251. package/dist/storage/sqlite-session-store.d.ts.map +0 -1
  252. package/dist/storage/sqlite-team-store.d.ts.map +0 -1
  253. package/dist/storage/team-store.d.ts.map +0 -1
  254. package/dist/team/delegated-agent.d.ts.map +0 -1
  255. package/dist/team/index.d.ts.map +0 -1
  256. package/dist/team/multi-agent.d.ts.map +0 -1
  257. package/dist/team/projections.d.ts.map +0 -1
  258. package/dist/team/runtime.d.ts.map +0 -1
  259. package/dist/team/spawn-agent-tool.d.ts.map +0 -1
  260. package/dist/team/subagent-prompts.d.ts.map +0 -1
  261. package/dist/team/team-tools.d.ts.map +0 -1
  262. package/dist/telemetry/ITelemetryAdapter.d.ts.map +0 -1
  263. package/dist/telemetry/OpenTelemetryAdapter.d.ts.map +0 -1
  264. package/dist/telemetry/OpenTelemetryProvider.d.ts.map +0 -1
  265. package/dist/telemetry/TelemetryLoggerSink.d.ts.map +0 -1
  266. package/dist/telemetry/TelemetryService.d.ts.map +0 -1
  267. package/dist/telemetry/core-events.d.ts.map +0 -1
  268. package/dist/telemetry/distinct-id.d.ts.map +0 -1
  269. package/dist/telemetry/index.d.ts.map +0 -1
  270. package/dist/tools/constants.d.ts.map +0 -1
  271. package/dist/tools/definitions.d.ts.map +0 -1
  272. package/dist/tools/executors/apply-patch-parser.d.ts.map +0 -1
  273. package/dist/tools/executors/apply-patch.d.ts.map +0 -1
  274. package/dist/tools/executors/bash.d.ts.map +0 -1
  275. package/dist/tools/executors/editor.d.ts.map +0 -1
  276. package/dist/tools/executors/file-read.d.ts.map +0 -1
  277. package/dist/tools/executors/index.d.ts.map +0 -1
  278. package/dist/tools/executors/search.d.ts.map +0 -1
  279. package/dist/tools/executors/web-fetch.d.ts.map +0 -1
  280. package/dist/tools/helpers.d.ts.map +0 -1
  281. package/dist/tools/index.d.ts.map +0 -1
  282. package/dist/tools/model-tool-routing.d.ts.map +0 -1
  283. package/dist/tools/presets.d.ts.map +0 -1
  284. package/dist/tools/schemas.d.ts.map +0 -1
  285. package/dist/tools/types.d.ts.map +0 -1
  286. package/src/prompt/default-system.ts +0 -21
  287. package/src/session/session-config-builder.ts +0 -172
  288. package/src/session/session-host.test.ts +0 -89
  289. package/src/session/session-host.ts +0 -213
  290. package/src/session/session-manager.ts +0 -74
  291. package/src/storage/artifact-store.ts +0 -1
  292. package/src/storage/session-store.ts +0 -1
  293. package/src/team/multi-agent.lifecycle.test.ts +0 -201
  294. package/src/tools/executors/file-read.test.ts +0 -49
  295. /package/dist/{tools → extensions/tools}/constants.d.ts +0 -0
  296. /package/dist/{tools → extensions/tools}/definitions.d.ts +0 -0
  297. /package/dist/{tools → extensions/tools}/executors/apply-patch-parser.d.ts +0 -0
  298. /package/dist/{tools → extensions/tools}/executors/apply-patch.d.ts +0 -0
  299. /package/dist/{tools → extensions/tools}/executors/bash.d.ts +0 -0
  300. /package/dist/{tools → extensions/tools}/executors/editor.d.ts +0 -0
  301. /package/dist/{tools → extensions/tools}/executors/file-read.d.ts +0 -0
  302. /package/dist/{tools → extensions/tools}/executors/index.d.ts +0 -0
  303. /package/dist/{tools → extensions/tools}/executors/search.d.ts +0 -0
  304. /package/dist/{tools → extensions/tools}/executors/web-fetch.d.ts +0 -0
  305. /package/dist/{tools → extensions/tools}/helpers.d.ts +0 -0
  306. /package/dist/{tools → extensions/tools}/index.d.ts +0 -0
  307. /package/dist/{tools → extensions/tools}/schemas.d.ts +0 -0
  308. /package/dist/{team → extensions/tools/team}/delegated-agent.d.ts +0 -0
  309. /package/dist/{team → extensions/tools/team}/index.d.ts +0 -0
  310. /package/dist/{team → extensions/tools/team}/projections.d.ts +0 -0
  311. /package/dist/{team → extensions/tools/team}/runtime.d.ts +0 -0
  312. /package/dist/{team → extensions/tools/team}/subagent-prompts.d.ts +0 -0
  313. /package/dist/{team → extensions/tools/team}/team-tools.d.ts +0 -0
  314. /package/dist/{session → runtime}/rpc-spawn-lease.d.ts +0 -0
  315. /package/dist/{providers → services/providers}/local-provider-registry.d.ts +0 -0
  316. /package/dist/{providers → services/providers}/local-provider-service.d.ts +0 -0
  317. /package/dist/{telemetry → services/telemetry}/ITelemetryAdapter.d.ts +0 -0
  318. /package/dist/{telemetry → services/telemetry}/OpenTelemetryAdapter.d.ts +0 -0
  319. /package/dist/{telemetry → services/telemetry}/OpenTelemetryProvider.d.ts +0 -0
  320. /package/dist/{telemetry → services/telemetry}/TelemetryLoggerSink.d.ts +0 -0
  321. /package/dist/{telemetry → services/telemetry}/TelemetryService.d.ts +0 -0
  322. /package/dist/{telemetry → services/telemetry}/core-events.d.ts +0 -0
  323. /package/dist/{telemetry → services/telemetry}/distinct-id.d.ts +0 -0
  324. /package/dist/{telemetry → services/telemetry}/index.d.ts +0 -0
  325. /package/dist/{input → services/workspace}/file-indexer.d.ts +0 -0
  326. /package/dist/{input → services/workspace}/index.d.ts +0 -0
  327. /package/dist/{input → services/workspace}/mention-enricher.d.ts +0 -0
  328. /package/dist/{session → services}/workspace-manifest.d.ts +0 -0
  329. /package/dist/{chat → types}/chat-schema.d.ts +0 -0
  330. /package/src/{tools → extensions/tools}/constants.ts +0 -0
  331. /package/src/{tools → extensions/tools}/definitions.test.ts +0 -0
  332. /package/src/{tools → extensions/tools}/executors/apply-patch-parser.ts +0 -0
  333. /package/src/{tools → extensions/tools}/executors/apply-patch.ts +0 -0
  334. /package/src/{tools → extensions/tools}/executors/bash.test.ts +0 -0
  335. /package/src/{tools → extensions/tools}/executors/bash.ts +0 -0
  336. /package/src/{tools → extensions/tools}/executors/editor.test.ts +0 -0
  337. /package/src/{tools → extensions/tools}/executors/editor.ts +0 -0
  338. /package/src/{tools → extensions/tools}/executors/index.ts +0 -0
  339. /package/src/{tools → extensions/tools}/executors/web-fetch.ts +0 -0
  340. /package/src/{tools → extensions/tools}/helpers.ts +0 -0
  341. /package/src/{tools → extensions/tools}/index.ts +0 -0
  342. /package/src/{tools → extensions/tools}/model-tool-routing.test.ts +0 -0
  343. /package/src/{tools → extensions/tools}/presets.test.ts +0 -0
  344. /package/src/{tools → extensions/tools}/schemas.ts +0 -0
  345. /package/src/{team → extensions/tools/team}/delegated-agent.ts +0 -0
  346. /package/src/{team → extensions/tools/team}/index.ts +0 -0
  347. /package/src/{team → extensions/tools/team}/projections.ts +0 -0
  348. /package/src/{team → extensions/tools/team}/runtime.ts +0 -0
  349. /package/src/{runtime → hooks}/checkpoint-hooks.test.ts +0 -0
  350. /package/src/{runtime → hooks}/hook-file-hooks.test.ts +0 -0
  351. /package/src/{session → runtime}/runtime-oauth-token-manager.test.ts +0 -0
  352. /package/src/{providers → services/providers}/local-provider-registry.ts +0 -0
  353. /package/src/{providers → services/providers}/local-provider-service.test.ts +0 -0
  354. /package/src/{storage → services/storage}/index.ts +0 -0
  355. /package/src/{storage → services/storage}/provider-settings-manager.test.ts +0 -0
  356. /package/src/{telemetry → services/telemetry}/ITelemetryAdapter.ts +0 -0
  357. /package/src/{telemetry → services/telemetry}/OpenTelemetryAdapter.test.ts +0 -0
  358. /package/src/{telemetry → services/telemetry}/OpenTelemetryAdapter.ts +0 -0
  359. /package/src/{telemetry → services/telemetry}/OpenTelemetryProvider.test.ts +0 -0
  360. /package/src/{telemetry → services/telemetry}/OpenTelemetryProvider.ts +0 -0
  361. /package/src/{telemetry → services/telemetry}/TelemetryLoggerSink.test.ts +0 -0
  362. /package/src/{telemetry → services/telemetry}/TelemetryLoggerSink.ts +0 -0
  363. /package/src/{telemetry → services/telemetry}/TelemetryService.test.ts +0 -0
  364. /package/src/{telemetry → services/telemetry}/TelemetryService.ts +0 -0
  365. /package/src/{telemetry → services/telemetry}/core-events.ts +0 -0
  366. /package/src/{telemetry → services/telemetry}/distinct-id.test.ts +0 -0
  367. /package/src/{telemetry → services/telemetry}/distinct-id.ts +0 -0
  368. /package/src/{telemetry → services/telemetry}/index.ts +0 -0
  369. /package/src/{input → services/workspace}/file-indexer.d.ts +0 -0
  370. /package/src/{input → services/workspace}/index.ts +0 -0
  371. /package/src/{session → services}/workspace-manifest.ts +0 -0
  372. /package/src/{chat → types}/chat-schema.ts +0 -0
@@ -9,16 +9,20 @@ import {
9
9
  } from "node:fs";
10
10
  import { join } from "node:path";
11
11
  import type { TeamTeammateSpec } from "@clinebot/shared";
12
- import { resolveTeamDataDir } from "@clinebot/shared/storage";
13
- import type { SqliteSessionStore } from "../storage/sqlite-session-store";
14
- import type { AgentTeamsRuntime, TeamEvent } from "../team";
12
+ import {
13
+ resolveSessionDataDir,
14
+ resolveTeamDataDir,
15
+ } from "@clinebot/shared/storage";
16
+ import type { AgentTeamsRuntime, TeamEvent } from "../extensions/tools/team";
17
+ import { nowIso } from "../services/session-artifacts";
18
+ import type { SqliteSessionStore } from "../services/storage/sqlite-session-store";
15
19
  import type { SessionSource, SessionStatus } from "../types/common";
20
+ import type { SessionMessagesArtifactUploader } from "../types/session";
16
21
  import type {
17
22
  PersistedSessionUpdateInput,
18
23
  SessionPersistenceAdapter,
19
24
  } from "./persistence-service";
20
25
  import { UnifiedSessionPersistenceService } from "./persistence-service";
21
- import { nowIso } from "./session-artifacts";
22
26
  import type { SessionManifest } from "./session-manifest";
23
27
 
24
28
  export interface SessionRow {
@@ -46,8 +50,7 @@ export interface SessionRow {
46
50
  isSubagent: boolean;
47
51
  prompt?: string | null;
48
52
  metadata?: Record<string, unknown> | null;
49
- transcriptPath: string;
50
- hookPath: string;
53
+ hookPath?: string;
51
54
  messagesPath?: string | null;
52
55
  updatedAt: string;
53
56
  }
@@ -68,8 +71,6 @@ export interface CreateRootSessionInput {
68
71
  enableTeams: boolean;
69
72
  prompt?: string;
70
73
  metadata?: Record<string, unknown>;
71
- transcriptPath: string;
72
- hookPath: string;
73
74
  messagesPath: string;
74
75
  }
75
76
 
@@ -93,8 +94,6 @@ export interface CreateRootSessionWithArtifactsInput {
93
94
 
94
95
  export interface RootSessionArtifacts {
95
96
  manifestPath: string;
96
- transcriptPath: string;
97
- hookPath: string;
98
97
  messagesPath: string;
99
98
  manifest: SessionManifest;
100
99
  }
@@ -135,7 +134,6 @@ const SESSION_SELECT_COLUMNS = `
135
134
  is_subagent AS isSubagent,
136
135
  prompt,
137
136
  metadata_json AS metadata,
138
- transcript_path AS transcriptPath,
139
137
  hook_path AS hookPath,
140
138
  messages_path AS messagesPath,
141
139
  updated_at AS updatedAt`;
@@ -386,10 +384,16 @@ export class FileTeamPersistenceStore {
386
384
  }
387
385
 
388
386
  class LocalSessionPersistenceAdapter implements SessionPersistenceAdapter {
389
- constructor(private readonly store: SqliteSessionStore) {}
387
+ constructor(
388
+ private readonly store: SqliteSessionStore,
389
+ private readonly sessionsDirPath: string = resolveSessionDataDir(),
390
+ ) {}
390
391
 
391
392
  ensureSessionsDir(): string {
392
- return this.store.ensureSessionsDir();
393
+ if (!existsSync(this.sessionsDirPath)) {
394
+ mkdirSync(this.sessionsDirPath, { recursive: true });
395
+ }
396
+ return this.sessionsDirPath;
393
397
  }
394
398
 
395
399
  async upsertSession(row: SessionRow): Promise<void> {
@@ -425,8 +429,8 @@ class LocalSessionPersistenceAdapter implements SessionPersistenceAdapter {
425
429
  row.isSubagent ? 1 : 0,
426
430
  row.prompt ?? null,
427
431
  stringifyMetadata(row.metadata),
428
- row.transcriptPath,
429
- row.hookPath,
432
+ "",
433
+ row.hookPath ?? "",
430
434
  row.messagesPath ?? null,
431
435
  row.updatedAt,
432
436
  ],
@@ -623,8 +627,17 @@ class LocalSessionPersistenceAdapter implements SessionPersistenceAdapter {
623
627
  }
624
628
 
625
629
  export class CoreSessionService extends UnifiedSessionPersistenceService {
626
- constructor(private readonly store: SqliteSessionStore) {
627
- super(new LocalSessionPersistenceAdapter(store));
630
+ constructor(
631
+ private readonly store: SqliteSessionStore,
632
+ options: {
633
+ sessionArtifactsDir?: string;
634
+ messagesArtifactUploader?: SessionMessagesArtifactUploader;
635
+ } = {},
636
+ ) {
637
+ super(
638
+ new LocalSessionPersistenceAdapter(store, options.sessionArtifactsDir),
639
+ options,
640
+ );
628
641
  }
629
642
 
630
643
  createRootSession(input: CreateRootSessionInput): void {
@@ -660,8 +673,8 @@ export class CoreSessionService extends UnifiedSessionPersistenceService {
660
673
  0,
661
674
  input.prompt ?? null,
662
675
  input.metadata ? JSON.stringify(input.metadata) : null,
663
- input.transcriptPath,
664
- input.hookPath,
676
+ "",
677
+ "",
665
678
  input.messagesPath,
666
679
  nowIso(),
667
680
  ],
@@ -1,11 +1,15 @@
1
- import { type AgentResult, formatUserInputBlock } from "@clinebot/shared";
2
- import type { TeamEvent } from "../team";
1
+ import {
2
+ type AgentMode,
3
+ type AgentResult,
4
+ formatUserInputBlock,
5
+ } from "@clinebot/shared";
6
+ import type { TeamEvent } from "../extensions/tools/team";
3
7
  import {
4
8
  buildTeamProgressSummary,
5
9
  toTeamProgressLifecycleEvent,
6
- } from "../team";
10
+ } from "../extensions/tools/team";
7
11
  import type { CoreSessionEvent } from "../types/events";
8
- import type { ActiveSession, TeamRunUpdate } from "./utils/types";
12
+ import type { ActiveSession, TeamRunUpdate } from "../types/session";
9
13
 
10
14
  export function trackTeamRunState(
11
15
  session: ActiveSession,
@@ -227,7 +231,10 @@ export function buildTeamRunContinuationPrompt(
227
231
 
228
232
  export function formatModePrompt(
229
233
  prompt: string,
230
- mode: "act" | "plan" | undefined,
234
+ mode: AgentMode | undefined,
231
235
  ): string {
232
- return formatUserInputBlock(prompt, mode === "plan" ? "plan" : "act");
236
+ return formatUserInputBlock(
237
+ prompt,
238
+ mode === "plan" ? "plan" : mode === "yolo" ? "yolo" : "act",
239
+ );
233
240
  }
@@ -12,7 +12,7 @@ import {
12
12
  nowIso,
13
13
  toBoolInt,
14
14
  } from "@clinebot/shared/db";
15
- import { SqliteSessionStore } from "../storage/sqlite-session-store";
15
+ import { SqliteSessionStore } from "../services/storage/sqlite-session-store";
16
16
 
17
17
  export interface SqliteRpcSessionBackendOptions {
18
18
  sessionsDir?: string;
@@ -62,8 +62,8 @@ export class SqliteRpcSessionBackend implements RpcSessionBackend {
62
62
  toBoolInt(row.isSubagent),
63
63
  row.prompt ?? null,
64
64
  row.metadata ? JSON.stringify(row.metadata) : null,
65
- row.transcriptPath,
66
- row.hookPath,
65
+ "",
66
+ "",
67
67
  row.messagesPath ?? null,
68
68
  row.updatedAt || nowIso(),
69
69
  ],
@@ -75,7 +75,7 @@ export class SqliteRpcSessionBackend implements RpcSessionBackend {
75
75
  `SELECT session_id, source, pid, started_at, ended_at, exit_code, status, status_lock, interactive,
76
76
  provider, model, cwd, workspace_root, team_name, enable_tools, enable_spawn, enable_teams,
77
77
  parent_session_id, parent_agent_id, agent_id, conversation_id, is_subagent, prompt,
78
- metadata_json, transcript_path, hook_path, messages_path, updated_at
78
+ metadata_json, hook_path, messages_path, updated_at
79
79
  FROM sessions WHERE session_id = ?`,
80
80
  [sessionId],
81
81
  );
@@ -121,8 +121,6 @@ export class SqliteRpcSessionBackend implements RpcSessionBackend {
121
121
  }
122
122
  return undefined;
123
123
  })(),
124
- transcriptPath: asString(row.transcript_path),
125
- hookPath: asString(row.hook_path),
126
124
  messagesPath: asOptionalString(row.messages_path),
127
125
  updatedAt: asString(row.updated_at) || nowIso(),
128
126
  };
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  generateWorkspaceInfo,
9
9
  normalizeWorkspacePath,
10
- } from "./workspace-manifest";
10
+ } from "../services/workspace-manifest";
11
11
 
12
12
  export interface WorkspaceManagerEvent {
13
13
  type: "workspace_added" | "workspace_switched";
@@ -14,10 +14,14 @@ import type { AgentResult } from "@clinebot/shared";
14
14
  import { setClineDir, setHomeDir } from "@clinebot/shared/storage";
15
15
  import { nanoid } from "nanoid";
16
16
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
17
+ import { splitCoreSessionConfig } from "../runtime/runtime-host";
18
+ import type { SessionManifest } from "../session/session-manifest";
19
+ import type {
20
+ RootSessionArtifacts,
21
+ SessionRow,
22
+ } from "../session/session-service";
17
23
  import type { SessionSource, SessionStatus } from "../types/common";
18
- import { DefaultSessionManager } from "./default-session-manager";
19
- import type { SessionManifest } from "./session-manifest";
20
- import type { RootSessionArtifacts, SessionRow } from "./session-service";
24
+ import { LocalRuntimeHost as RuntimeHostUnderTest } from "./local";
21
25
 
22
26
  function nowIso(): string {
23
27
  return new Date().toISOString();
@@ -78,8 +82,6 @@ class LocalFileSessionService {
78
82
  mkdirSync(sessionPath, { recursive: true });
79
83
 
80
84
  const manifestPath = join(sessionPath, `${sessionId}.json`);
81
- const transcriptPath = join(sessionPath, `${sessionId}.log`);
82
- const hookPath = join(sessionPath, `${sessionId}.hooks.jsonl`);
83
85
  const messagesPath = join(sessionPath, `${sessionId}.messages.json`);
84
86
  const prompt = input.prompt?.trim() || undefined;
85
87
  const manifest: SessionManifest = {
@@ -106,8 +108,6 @@ class LocalFileSessionService {
106
108
  `${JSON.stringify(manifest, null, 2)}\n`,
107
109
  "utf8",
108
110
  );
109
- writeFileSync(transcriptPath, "", "utf8");
110
- writeFileSync(hookPath, "", "utf8");
111
111
  writeFileSync(
112
112
  messagesPath,
113
113
  `${JSON.stringify({ version: 1, updated_at: startedAt, messages: [] }, null, 2)}\n`,
@@ -138,16 +138,13 @@ class LocalFileSessionService {
138
138
  conversationId: null,
139
139
  isSubagent: false,
140
140
  prompt: prompt ?? null,
141
- transcriptPath,
142
- hookPath,
141
+ hookPath: "",
143
142
  messagesPath,
144
143
  updatedAt: startedAt,
145
144
  });
146
145
 
147
146
  return {
148
147
  manifestPath,
149
- transcriptPath,
150
- hookPath,
151
148
  messagesPath,
152
149
  manifest,
153
150
  };
@@ -214,15 +211,13 @@ class LocalFileSessionService {
214
211
  return { deleted: false };
215
212
  }
216
213
  this.rows.delete(sessionId);
217
- unlinkSync(row.transcriptPath);
218
- unlinkSync(row.hookPath);
219
214
  unlinkSync(row.messagesPath ?? "");
220
215
  unlinkSync(join(this.sessionsDir, sessionId, `${sessionId}.json`));
221
216
  return { deleted: true };
222
217
  }
223
218
  }
224
219
 
225
- describe("DefaultSessionManager e2e", () => {
220
+ describe("LocalRuntimeHost e2e", () => {
226
221
  const envSnapshot = {
227
222
  HOME: process.env.HOME,
228
223
  CLINE_DIR: process.env.CLINE_DIR,
@@ -302,7 +297,7 @@ describe("DefaultSessionManager e2e", () => {
302
297
  });
303
298
  const agentShutdown = vi.fn().mockResolvedValue(undefined);
304
299
 
305
- const manager = new DefaultSessionManager({
300
+ const manager = new RuntimeHostUnderTest({
306
301
  distinctId: `test-${nanoid(5)}`,
307
302
  sessionService: sessionService as never,
308
303
  runtimeBuilder: runtimeBuilder as never,
@@ -323,16 +318,17 @@ describe("DefaultSessionManager e2e", () => {
323
318
 
324
319
  const started = await manager.start({
325
320
  interactive: true,
326
- config: {
321
+ ...splitCoreSessionConfig({
327
322
  providerId: "anthropic",
328
323
  modelId: "claude-sonnet-4-6",
329
324
  apiKey: "test-key",
330
325
  cwd: sessionsDir,
331
326
  systemPrompt: "You are a test agent",
327
+ mode: "act",
332
328
  enableTools: false,
333
329
  enableSpawnAgent: false,
334
330
  enableAgentTeams: false,
335
- },
331
+ }),
336
332
  });
337
333
 
338
334
  expect(started.sessionId.length).toBeGreaterThan(0);