@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
@@ -0,0 +1,178 @@
1
+ import type * as LlmsProviders from "@clinebot/llms";
2
+ import type {
3
+ AgentResult,
4
+ ToolApprovalRequest,
5
+ ToolApprovalResult,
6
+ } from "@clinebot/shared";
7
+ import type { HookEventPayload } from "../hooks";
8
+ import type { SessionManifest } from "../session/session-manifest";
9
+ import type { SessionSource } from "../types/common";
10
+ import type { CoreSessionConfig } from "../types/config";
11
+ import type { CoreSessionEvent } from "../types/events";
12
+ import type { SessionRecord } from "../types/sessions";
13
+
14
+ export interface RuntimeSessionConfig {
15
+ sessionId?: string;
16
+ providerId: string;
17
+ modelId: string;
18
+ apiKey?: string;
19
+ cwd: string;
20
+ workspaceRoot?: string;
21
+ systemPrompt: string;
22
+ mode: CoreSessionConfig["mode"];
23
+ rules?: CoreSessionConfig["rules"];
24
+ maxIterations?: CoreSessionConfig["maxIterations"];
25
+ enableTools: boolean;
26
+ enableSpawnAgent: boolean;
27
+ enableAgentTeams: boolean;
28
+ disableMcpSettingsTools?: boolean;
29
+ teamName?: string;
30
+ missionLogIntervalSteps?: number;
31
+ missionLogIntervalMs?: number;
32
+ }
33
+
34
+ export type LocalRuntimeConfigOverrides = Omit<
35
+ CoreSessionConfig,
36
+ keyof RuntimeSessionConfig
37
+ >;
38
+
39
+ export interface LocalRuntimeStartOptions {
40
+ configOverrides?: Partial<LocalRuntimeConfigOverrides>;
41
+ userInstructionWatcher?: import("../extensions/config").UserInstructionConfigWatcher;
42
+ onTeamRestored?: () => void;
43
+ }
44
+
45
+ export interface StartSessionInput {
46
+ config: RuntimeSessionConfig;
47
+ source?: SessionSource;
48
+ prompt?: string;
49
+ interactive?: boolean;
50
+ sessionMetadata?: Record<string, unknown>;
51
+ initialMessages?: LlmsProviders.Message[];
52
+ userImages?: string[];
53
+ userFiles?: string[];
54
+ /**
55
+ * Local runtime bootstrap options. These are intentionally isolated under a
56
+ * local-only bag so the transport-facing host contract stays transport-safe.
57
+ */
58
+ localRuntime?: LocalRuntimeStartOptions;
59
+ toolPolicies?: import("@clinebot/shared").AgentConfig["toolPolicies"];
60
+ requestToolApproval?: (
61
+ request: ToolApprovalRequest,
62
+ ) => Promise<ToolApprovalResult>;
63
+ }
64
+
65
+ export function splitCoreSessionConfig(config: CoreSessionConfig): {
66
+ config: RuntimeSessionConfig;
67
+ localRuntime?: LocalRuntimeStartOptions;
68
+ } {
69
+ const {
70
+ sessionId,
71
+ providerId,
72
+ modelId,
73
+ apiKey,
74
+ cwd,
75
+ workspaceRoot,
76
+ systemPrompt,
77
+ mode,
78
+ rules,
79
+ maxIterations,
80
+ enableTools,
81
+ enableSpawnAgent,
82
+ enableAgentTeams,
83
+ disableMcpSettingsTools,
84
+ teamName,
85
+ missionLogIntervalSteps,
86
+ missionLogIntervalMs,
87
+ ...localConfigOverrides
88
+ } = config;
89
+
90
+ const localRuntime =
91
+ Object.keys(localConfigOverrides).length > 0
92
+ ? {
93
+ configOverrides:
94
+ localConfigOverrides as Partial<LocalRuntimeConfigOverrides>,
95
+ }
96
+ : undefined;
97
+
98
+ return {
99
+ config: {
100
+ ...(sessionId ? { sessionId } : {}),
101
+ providerId,
102
+ modelId,
103
+ ...(apiKey ? { apiKey } : {}),
104
+ cwd,
105
+ ...(workspaceRoot ? { workspaceRoot } : {}),
106
+ systemPrompt,
107
+ mode,
108
+ rules,
109
+ maxIterations,
110
+ enableTools,
111
+ enableSpawnAgent,
112
+ enableAgentTeams,
113
+ disableMcpSettingsTools,
114
+ teamName,
115
+ missionLogIntervalSteps,
116
+ missionLogIntervalMs,
117
+ },
118
+ ...(localRuntime ? { localRuntime } : {}),
119
+ };
120
+ }
121
+
122
+ export interface StartSessionResult {
123
+ sessionId: string;
124
+ manifest: SessionManifest;
125
+ manifestPath: string;
126
+ messagesPath: string;
127
+ result?: AgentResult;
128
+ }
129
+
130
+ export interface SendSessionInput {
131
+ sessionId: string;
132
+ prompt: string;
133
+ userImages?: string[];
134
+ userFiles?: string[];
135
+ delivery?: "queue" | "steer";
136
+ }
137
+
138
+ export interface SessionAccumulatedUsage {
139
+ inputTokens: number;
140
+ outputTokens: number;
141
+ cacheReadTokens: number;
142
+ cacheWriteTokens: number;
143
+ totalCost: number;
144
+ }
145
+
146
+ /**
147
+ * RuntimeHost is the transport/runtime boundary for core session execution.
148
+ * Callers must normalize broad local config into `RuntimeSessionConfig`
149
+ * plus optional `localRuntime` overrides before invoking a host.
150
+ */
151
+ export interface RuntimeHost {
152
+ readonly runtimeAddress?: string;
153
+ start(input: StartSessionInput): Promise<StartSessionResult>;
154
+ send(input: SendSessionInput): Promise<AgentResult | undefined>;
155
+ getAccumulatedUsage(
156
+ sessionId: string,
157
+ ): Promise<SessionAccumulatedUsage | undefined>;
158
+ abort(sessionId: string, reason?: unknown): Promise<void>;
159
+ stop(sessionId: string): Promise<void>;
160
+ dispose(reason?: string): Promise<void>;
161
+ get(sessionId: string): Promise<SessionRecord | undefined>;
162
+ list(limit?: number): Promise<SessionRecord[]>;
163
+ delete(sessionId: string): Promise<boolean>;
164
+ update(
165
+ sessionId: string,
166
+ updates: {
167
+ prompt?: string | null;
168
+ metadata?: Record<string, unknown> | null;
169
+ title?: string | null;
170
+ },
171
+ ): Promise<{ updated: boolean }>;
172
+ readMessages(sessionId: string): Promise<LlmsProviders.Message[]>;
173
+ handleHookEvent(payload: HookEventPayload): Promise<void>;
174
+ subscribe(listener: (event: CoreSessionEvent) => void): () => void;
175
+ updateSessionModel?(sessionId: string, modelId: string): Promise<void>;
176
+ }
177
+
178
+ export type RuntimeHostMode = "auto" | "rpc" | "local";
@@ -11,7 +11,7 @@ import {
11
11
  import { getValidOpenAICodexCredentials } from "../auth/codex";
12
12
  import { getValidOcaCredentials } from "../auth/oca";
13
13
  import { decodeJwtPayload } from "../auth/utils";
14
- import { ProviderSettingsManager } from "../storage/provider-settings-manager";
14
+ import { ProviderSettingsManager } from "../services/storage/provider-settings-manager";
15
15
 
16
16
  const DEFAULT_CLINE_API_BASE_URL = "https://api.cline.bot";
17
17
  const WORKOS_TOKEN_PREFIX = "workos:";
@@ -3,7 +3,7 @@ import { tmpdir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  import type { Tool } from "@clinebot/shared";
5
5
  import { describe, expect, it } from "vitest";
6
- import { createBuiltinTools } from "../tools";
6
+ import { createBuiltinTools } from "../extensions/tools";
7
7
  import { DefaultRuntimeBuilder } from "./runtime-builder";
8
8
 
9
9
  type LegacyConfig = {
@@ -9,12 +9,12 @@ import type {
9
9
  Tool,
10
10
  } from "@clinebot/shared";
11
11
  import type { UserInstructionConfigWatcher } from "../extensions/config";
12
+ import type { ToolExecutors } from "../extensions/tools";
12
13
  import type {
13
14
  AgentTeamsRuntime,
14
15
  DelegatedAgentConfigProvider,
15
16
  TeamEvent,
16
- } from "../team";
17
- import type { ToolExecutors } from "../tools";
17
+ } from "../extensions/tools/team";
18
18
  import type { CoreSessionConfig } from "../types/config";
19
19
 
20
20
  export interface BuiltRuntime {
@@ -1,4 +1,9 @@
1
1
  import type { AgentEvent } from "@clinebot/shared";
2
+ import type { SessionAccumulatedUsage } from "../runtime/runtime-host";
3
+ import type { CoreSessionConfig } from "../types/config";
4
+ import type { CoreSessionEvent } from "../types/events";
5
+ import type { ActiveSession } from "../types/session";
6
+ import { serializeAgentEvent } from "./session-data";
2
7
  import {
3
8
  captureConversationTurnEvent,
4
9
  captureDiffEditFailure,
@@ -7,13 +12,8 @@ import {
7
12
  captureTokenUsage,
8
13
  captureToolUsage,
9
14
  type TelemetryAgentIdentityProperties,
10
- } from "../telemetry/core-events";
11
- import type { CoreSessionConfig } from "../types/config";
12
- import type { CoreSessionEvent } from "../types/events";
13
- import type { SessionAccumulatedUsage } from "./session-manager";
14
- import { serializeAgentEvent } from "./utils/helpers";
15
- import type { ActiveSession } from "./utils/types";
16
- import { accumulateUsageTotals } from "./utils/usage";
15
+ } from "./telemetry/core-events";
16
+ import { accumulateUsageTotals } from "./usage";
17
17
 
18
18
  export function extractSkillNameFromToolInput(
19
19
  input: unknown,
@@ -0,0 +1,5 @@
1
+ import type { CoreSessionConfig } from "../types/config";
2
+
3
+ export function resolveWorkspacePath(config: CoreSessionConfig): string {
4
+ return config.workspaceRoot ?? config.cwd;
5
+ }
@@ -0,0 +1,280 @@
1
+ import type {
2
+ AgentConfig,
3
+ AgentHooks,
4
+ ITelemetryService,
5
+ Tool,
6
+ ToolApprovalRequest,
7
+ ToolApprovalResult,
8
+ } from "@clinebot/shared";
9
+ import { resolveAndLoadAgentPlugins } from "../extensions/plugin/plugin-config-loader";
10
+ import type {
11
+ PluginInitializationFailure,
12
+ PluginInitializationWarning,
13
+ } from "../extensions/plugin/plugin-load-report";
14
+ import type { ToolExecutors } from "../extensions/tools";
15
+ import type { TeamEvent } from "../extensions/tools/team";
16
+ import { createCheckpointHooks } from "../hooks/checkpoint-hooks";
17
+ import {
18
+ createHookAuditHooks,
19
+ createHookConfigFileHooks,
20
+ mergeAgentHooks,
21
+ } from "../hooks/hook-file-hooks";
22
+ import type {
23
+ LocalRuntimeConfigOverrides,
24
+ LocalRuntimeStartOptions,
25
+ StartSessionInput,
26
+ } from "../runtime/runtime-host";
27
+ import type {
28
+ RuntimeBuilderInput,
29
+ TeamToolsFactory,
30
+ } from "../runtime/session-runtime";
31
+ import type { CoreSessionConfig } from "../types/config";
32
+ import {
33
+ type ProviderConfig,
34
+ type ProviderSettings,
35
+ toProviderConfig,
36
+ } from "../types/provider-settings";
37
+ import { resolveWorkspacePath } from "./config";
38
+ import { hasRuntimeHooks, mergeAgentExtensions } from "./session-data";
39
+ import type { ProviderSettingsManager } from "./storage/provider-settings-manager";
40
+ import { buildWorkspaceMetadata } from "./workspace-manifest";
41
+
42
+ function formatPluginFailure(failure: PluginInitializationFailure): string {
43
+ const label = failure.pluginName ?? failure.pluginPath;
44
+ return `${label}: ${failure.message}`;
45
+ }
46
+
47
+ function logPluginDiagnostics(
48
+ failures: PluginInitializationFailure[],
49
+ warnings: PluginInitializationWarning[],
50
+ logger: CoreSessionConfig["logger"],
51
+ ): void {
52
+ if (warnings.length > 0) {
53
+ for (const warning of warnings) {
54
+ logger?.log(warning.message, { severity: "warn" });
55
+ }
56
+ }
57
+ if (failures.length === 0) {
58
+ return;
59
+ }
60
+ const preview = failures.slice(0, 3).map(formatPluginFailure).join("; ");
61
+ const suffix = failures.length > 3 ? `; and ${failures.length - 3} more` : "";
62
+ logger?.log(
63
+ `Some plugins failed to initialize. ${preview}${suffix}. Use --verbose for more details.`,
64
+ { severity: "warn" },
65
+ );
66
+ for (const failure of failures) {
67
+ logger?.log(
68
+ `Plugin initialization failed (${failure.phase}) for ${failure.pluginPath}`,
69
+ {
70
+ severity: "warn",
71
+ stack: failure.stack,
72
+ pluginPath: failure.pluginPath,
73
+ pluginName: failure.pluginName,
74
+ },
75
+ );
76
+ }
77
+ }
78
+
79
+ function resolveReasoningSettings(
80
+ config: CoreSessionConfig,
81
+ storedReasoning: ProviderSettings["reasoning"],
82
+ ): ProviderSettings["reasoning"] {
83
+ const hasThinking = typeof config.thinking === "boolean";
84
+ const hasEffort = typeof config.reasoningEffort === "string";
85
+ if (!hasThinking && !hasEffort) return storedReasoning;
86
+ return {
87
+ ...(storedReasoning ?? {}),
88
+ ...(hasThinking ? { enabled: config.thinking } : {}),
89
+ ...(hasEffort ? { effort: config.reasoningEffort } : {}),
90
+ };
91
+ }
92
+
93
+ function buildProviderConfig(
94
+ config: CoreSessionConfig,
95
+ providerSettingsManager: ProviderSettingsManager,
96
+ ): ProviderConfig {
97
+ const stored = providerSettingsManager.getProviderSettings(config.providerId);
98
+ const settings: ProviderSettings = {
99
+ ...(stored ?? {}),
100
+ provider: config.providerId,
101
+ model: config.modelId,
102
+ apiKey: config.apiKey ?? stored?.apiKey,
103
+ baseUrl: config.baseUrl ?? stored?.baseUrl,
104
+ headers: config.headers ?? stored?.headers,
105
+ reasoning: resolveReasoningSettings(config, stored?.reasoning),
106
+ };
107
+ const providerConfig = toProviderConfig(settings);
108
+ if (config.knownModels) {
109
+ providerConfig.knownModels = config.knownModels;
110
+ }
111
+ if (config.extensionContext) {
112
+ providerConfig.extensionContext = config.extensionContext;
113
+ }
114
+ return providerConfig;
115
+ }
116
+
117
+ export interface PrepareLocalRuntimeBootstrapOptions {
118
+ input: StartSessionInput;
119
+ localRuntime?: LocalRuntimeStartOptions;
120
+ sessionId: string;
121
+ providerSettingsManager: ProviderSettingsManager;
122
+ defaultTelemetry?: ITelemetryService;
123
+ defaultToolExecutors?: Partial<ToolExecutors>;
124
+ teamToolsFactory?: TeamToolsFactory;
125
+ defaultToolPolicies?: AgentConfig["toolPolicies"];
126
+ defaultRequestToolApproval?: (
127
+ request: ToolApprovalRequest,
128
+ ) => Promise<ToolApprovalResult>;
129
+ onPluginEvent: (event: { name: string; payload?: unknown }) => void;
130
+ onTeamEvent: (event: TeamEvent) => void;
131
+ createSpawnTool: () => Tool;
132
+ readSessionMetadata: () => Promise<Record<string, unknown> | undefined>;
133
+ writeSessionMetadata: (
134
+ metadata: Record<string, unknown>,
135
+ ) => Promise<void> | void;
136
+ }
137
+
138
+ export interface LocalRuntimeBootstrap {
139
+ effectiveInput: StartSessionInput;
140
+ config: CoreSessionConfig;
141
+ providerConfig: ProviderConfig;
142
+ workspaceMetadata: string;
143
+ extensions: AgentConfig["extensions"];
144
+ hooks: AgentHooks | undefined;
145
+ toolPolicies: AgentConfig["toolPolicies"];
146
+ requestToolApproval?: (
147
+ request: ToolApprovalRequest,
148
+ ) => Promise<ToolApprovalResult>;
149
+ pluginSandboxShutdown?: () => Promise<void>;
150
+ runtimeBuilderInput: RuntimeBuilderInput;
151
+ }
152
+
153
+ export async function prepareLocalRuntimeBootstrap(
154
+ options: PrepareLocalRuntimeBootstrapOptions,
155
+ ): Promise<LocalRuntimeBootstrap> {
156
+ const {
157
+ input,
158
+ sessionId,
159
+ providerSettingsManager,
160
+ defaultTelemetry,
161
+ defaultToolExecutors,
162
+ teamToolsFactory,
163
+ defaultToolPolicies,
164
+ defaultRequestToolApproval,
165
+ onPluginEvent,
166
+ onTeamEvent,
167
+ createSpawnTool,
168
+ localRuntime,
169
+ readSessionMetadata,
170
+ writeSessionMetadata,
171
+ } = options;
172
+ const workspacePath = resolveWorkspacePath(input.config);
173
+ const configOverrides = localRuntime?.configOverrides as
174
+ | Partial<LocalRuntimeConfigOverrides>
175
+ | undefined;
176
+
177
+ const fileHooks = createHookConfigFileHooks({
178
+ cwd: input.config.cwd,
179
+ workspacePath,
180
+ rootSessionId: sessionId,
181
+ logger: configOverrides?.logger,
182
+ });
183
+ const auditHooks = hasRuntimeHooks(configOverrides?.hooks)
184
+ ? undefined
185
+ : createHookAuditHooks({
186
+ rootSessionId: sessionId,
187
+ workspacePath,
188
+ });
189
+ const baseHooks = mergeAgentHooks([
190
+ configOverrides?.hooks,
191
+ fileHooks,
192
+ auditHooks,
193
+ ]);
194
+
195
+ let loadedPlugins:
196
+ | Awaited<ReturnType<typeof resolveAndLoadAgentPlugins>>
197
+ | undefined;
198
+ try {
199
+ loadedPlugins = await resolveAndLoadAgentPlugins({
200
+ pluginPaths: configOverrides?.pluginPaths,
201
+ workspacePath,
202
+ cwd: input.config.cwd,
203
+ onEvent: onPluginEvent,
204
+ });
205
+ logPluginDiagnostics(
206
+ loadedPlugins.failures,
207
+ loadedPlugins.warnings,
208
+ configOverrides?.logger,
209
+ );
210
+ } catch (error) {
211
+ const message = error instanceof Error ? error.message : String(error);
212
+ configOverrides?.logger?.log?.(
213
+ `plugin loading failed; continuing without plugins (${message})`,
214
+ );
215
+ }
216
+
217
+ const extensions = mergeAgentExtensions(
218
+ configOverrides?.extensions,
219
+ loadedPlugins?.extensions,
220
+ );
221
+ const workspaceMetadata = await buildWorkspaceMetadata(input.config.cwd);
222
+ const baseConfig: CoreSessionConfig = {
223
+ ...input.config,
224
+ ...(configOverrides ?? {}),
225
+ hooks: baseHooks,
226
+ extensions,
227
+ telemetry: configOverrides?.telemetry ?? defaultTelemetry,
228
+ };
229
+ const providerConfig = buildProviderConfig(
230
+ baseConfig,
231
+ providerSettingsManager,
232
+ );
233
+ const hooks = mergeAgentHooks([
234
+ baseConfig.hooks,
235
+ baseConfig.checkpoint?.enabled === true
236
+ ? createCheckpointHooks({
237
+ cwd: baseConfig.cwd,
238
+ sessionId,
239
+ logger: baseConfig.logger,
240
+ createCheckpoint: baseConfig.checkpoint?.createCheckpoint,
241
+ readSessionMetadata,
242
+ writeSessionMetadata,
243
+ })
244
+ : undefined,
245
+ ]);
246
+ const config: CoreSessionConfig = {
247
+ ...baseConfig,
248
+ providerConfig,
249
+ workspaceMetadata,
250
+ hooks,
251
+ };
252
+ const toolPolicies = input.toolPolicies ?? defaultToolPolicies;
253
+ const requestToolApproval =
254
+ input.requestToolApproval ?? defaultRequestToolApproval;
255
+
256
+ return {
257
+ effectiveInput: input,
258
+ config,
259
+ providerConfig,
260
+ workspaceMetadata,
261
+ extensions,
262
+ hooks,
263
+ toolPolicies,
264
+ requestToolApproval,
265
+ pluginSandboxShutdown: loadedPlugins?.shutdown,
266
+ runtimeBuilderInput: {
267
+ config,
268
+ hooks,
269
+ extensions,
270
+ onTeamEvent,
271
+ createSpawnTool,
272
+ onTeamRestored: localRuntime?.onTeamRestored,
273
+ userInstructionWatcher: localRuntime?.userInstructionWatcher,
274
+ defaultToolExecutors,
275
+ logger: config.logger,
276
+ telemetry: config.telemetry,
277
+ teamToolsFactory,
278
+ },
279
+ };
280
+ }
@@ -8,10 +8,10 @@ import type {
8
8
  RpcProviderModel,
9
9
  RpcSaveProviderSettingsActionRequest,
10
10
  } from "@clinebot/shared";
11
- import { createOAuthClientCallbacks } from "../auth/client";
12
- import { loginClineOAuth } from "../auth/cline";
13
- import { loginOpenAICodex } from "../auth/codex";
14
- import { loginOcaOAuth } from "../auth/oca";
11
+ import { createOAuthClientCallbacks } from "../../auth/client";
12
+ import { loginClineOAuth } from "../../auth/cline";
13
+ import { loginOpenAICodex } from "../../auth/codex";
14
+ import { loginOcaOAuth } from "../../auth/oca";
15
15
  import type { ProviderSettingsManager } from "../storage/provider-settings-manager";
16
16
  import {
17
17
  readModelsFile,
@@ -7,7 +7,10 @@ import {
7
7
  unlinkSync,
8
8
  } from "node:fs";
9
9
  import { dirname, join } from "node:path";
10
- import { parseSubSessionId, parseTeamTaskSubSessionId } from "./session-graph";
10
+ import {
11
+ parseSubSessionId,
12
+ parseTeamTaskSubSessionId,
13
+ } from "../session/session-graph";
11
14
 
12
15
  export function nowIso(): string {
13
16
  return new Date().toISOString();
@@ -25,8 +28,6 @@ export function unlinkIfExists(path: string | null | undefined): void {
25
28
  }
26
29
 
27
30
  export interface SessionArtifactPaths {
28
- transcriptPath: string;
29
- hookPath: string;
30
31
  messagesPath: string;
31
32
  }
32
33
 
@@ -71,25 +72,14 @@ export class SessionArtifacts {
71
72
  return dir;
72
73
  }
73
74
 
74
- public sessionTranscriptPath(sessionId: string): string {
75
- return join(this.ensureSessionArtifactsDir(sessionId), `${sessionId}.log`);
76
- }
77
-
78
- public sessionHookPath(sessionId: string): string {
79
- return join(
80
- this.ensureSessionArtifactsDir(sessionId),
81
- `${sessionId}.hooks.jsonl`,
82
- );
83
- }
84
-
85
75
  public sessionMessagesPath(sessionId: string): string {
86
76
  return join(
87
- this.ensureSessionArtifactsDir(sessionId),
77
+ this.sessionArtifactsDir(sessionId),
88
78
  `${sessionId}.messages.json`,
89
79
  );
90
80
  }
91
81
 
92
- public sessionManifestPath(sessionId: string, ensureDir = true): string {
82
+ public sessionManifestPath(sessionId: string, ensureDir = false): string {
93
83
  const base = ensureDir
94
84
  ? this.ensureSessionArtifactsDir(sessionId)
95
85
  : this.sessionArtifactsDir(sessionId);
@@ -140,10 +130,8 @@ export class SessionArtifacts {
140
130
  void subAgentId;
141
131
  void activeTeamTaskSessionId;
142
132
  const { rootSessionId, fileStem } = childArtifactFileStem(sessionId);
143
- const dir = this.ensureSessionArtifactsDir(rootSessionId);
133
+ const dir = this.sessionArtifactsDir(rootSessionId);
144
134
  return {
145
- transcriptPath: join(dir, `${fileStem}.log`),
146
- hookPath: join(dir, `${fileStem}.hooks.jsonl`),
147
135
  messagesPath: join(dir, `${fileStem}.messages.json`),
148
136
  };
149
137
  }
@@ -1,7 +1,7 @@
1
1
  import type { MessageWithMetadata } from "@clinebot/llms";
2
2
  import type { AgentResult } from "@clinebot/shared";
3
3
  import { describe, expect, it } from "vitest";
4
- import { withLatestAssistantTurnMetadata } from "./helpers";
4
+ import { withLatestAssistantTurnMetadata } from "./session-data";
5
5
 
6
6
  type LegacyStoredMessage = MessageWithMetadata & {
7
7
  providerId?: string;