@clinebot/core 0.0.33 → 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 (412) 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/auth/client.d.ts +19 -0
  5. package/dist/auth/client.d.ts.map +1 -1
  6. package/dist/auth/cline.d.ts.map +1 -1
  7. package/dist/auth/oca.d.ts.map +1 -1
  8. package/dist/auth/server.d.ts +32 -0
  9. package/dist/auth/server.d.ts.map +1 -1
  10. package/dist/auth/types.d.ts +29 -0
  11. package/dist/auth/types.d.ts.map +1 -1
  12. package/dist/extensions/config/agent-config-loader.d.ts +2 -2
  13. package/dist/extensions/config/agent-config-loader.d.ts.map +1 -1
  14. package/dist/extensions/config/agent-config-parser.d.ts +1 -1
  15. package/dist/extensions/config/agent-config-parser.d.ts.map +1 -1
  16. package/dist/extensions/config/hooks-config-loader.d.ts +2 -2
  17. package/dist/extensions/config/hooks-config-loader.d.ts.map +1 -1
  18. package/dist/extensions/config/index.d.ts +3 -3
  19. package/dist/extensions/config/index.d.ts.map +1 -1
  20. package/dist/extensions/config/user-instruction-config-loader.d.ts +2 -2
  21. package/dist/extensions/config/user-instruction-config-loader.d.ts.map +1 -1
  22. package/dist/extensions/index.d.ts +2 -1
  23. package/dist/extensions/index.d.ts.map +1 -1
  24. package/dist/extensions/plugin/plugin-config-loader.d.ts +2 -1
  25. package/dist/extensions/plugin/plugin-config-loader.d.ts.map +1 -1
  26. package/dist/extensions/plugin/plugin-load-report.d.ts +19 -0
  27. package/dist/extensions/plugin/plugin-load-report.d.ts.map +1 -0
  28. package/dist/extensions/plugin/plugin-loader.d.ts +6 -0
  29. package/dist/extensions/plugin/plugin-loader.d.ts.map +1 -1
  30. package/dist/extensions/plugin/plugin-sandbox.d.ts +2 -1
  31. package/dist/extensions/plugin/plugin-sandbox.d.ts.map +1 -1
  32. package/dist/extensions/plugin-sandbox-bootstrap.js +242 -242
  33. package/dist/extensions/tools/constants.d.ts.map +1 -0
  34. package/dist/extensions/tools/definitions.d.ts.map +1 -0
  35. package/dist/extensions/tools/executors/apply-patch-parser.d.ts.map +1 -0
  36. package/dist/extensions/tools/executors/apply-patch.d.ts.map +1 -0
  37. package/dist/extensions/tools/executors/bash.d.ts.map +1 -0
  38. package/dist/extensions/tools/executors/editor.d.ts.map +1 -0
  39. package/dist/extensions/tools/executors/file-read.d.ts.map +1 -0
  40. package/dist/extensions/tools/executors/index.d.ts.map +1 -0
  41. package/dist/extensions/tools/executors/search.d.ts.map +1 -0
  42. package/dist/extensions/tools/executors/web-fetch.d.ts.map +1 -0
  43. package/dist/extensions/tools/helpers.d.ts.map +1 -0
  44. package/dist/extensions/tools/index.d.ts.map +1 -0
  45. package/dist/{tools → extensions/tools}/model-tool-routing.d.ts +1 -1
  46. package/dist/extensions/tools/model-tool-routing.d.ts.map +1 -0
  47. package/dist/{tools → extensions/tools}/presets.d.ts +1 -2
  48. package/dist/extensions/tools/presets.d.ts.map +1 -0
  49. package/dist/extensions/tools/schemas.d.ts.map +1 -0
  50. package/dist/extensions/tools/team/delegated-agent.d.ts.map +1 -0
  51. package/dist/extensions/tools/team/index.d.ts.map +1 -0
  52. package/dist/{team → extensions/tools/team}/multi-agent.d.ts +1 -3
  53. package/dist/extensions/tools/team/multi-agent.d.ts.map +1 -0
  54. package/dist/extensions/tools/team/projections.d.ts.map +1 -0
  55. package/dist/extensions/tools/team/runtime.d.ts.map +1 -0
  56. package/dist/{team → extensions/tools/team}/spawn-agent-tool.d.ts +0 -1
  57. package/dist/extensions/tools/team/spawn-agent-tool.d.ts.map +1 -0
  58. package/dist/extensions/tools/team/subagent-prompts.d.ts.map +1 -0
  59. package/dist/extensions/tools/team/team-tools.d.ts.map +1 -0
  60. package/dist/{tools → extensions/tools}/types.d.ts +4 -3
  61. package/dist/extensions/tools/types.d.ts.map +1 -0
  62. package/dist/{runtime → hooks}/checkpoint-hooks.d.ts +7 -0
  63. package/dist/hooks/checkpoint-hooks.d.ts.map +1 -0
  64. package/dist/{runtime → hooks}/hook-file-hooks.d.ts +0 -2
  65. package/dist/hooks/hook-file-hooks.d.ts.map +1 -0
  66. package/dist/hooks/subprocess.d.ts +3 -130
  67. package/dist/hooks/subprocess.d.ts.map +1 -1
  68. package/dist/index.d.ts +38 -35
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +386 -384
  71. package/dist/runtime/history.d.ts +4 -0
  72. package/dist/runtime/history.d.ts.map +1 -0
  73. package/dist/runtime/host.d.ts +9 -0
  74. package/dist/runtime/host.d.ts.map +1 -0
  75. package/dist/{session → runtime}/rpc-runtime-ensure.d.ts +13 -1
  76. package/dist/{session → runtime}/rpc-runtime-ensure.d.ts.map +1 -1
  77. package/dist/{session → runtime}/rpc-spawn-lease.d.ts.map +1 -1
  78. package/dist/runtime/runtime-builder.d.ts +1 -1
  79. package/dist/runtime/runtime-builder.d.ts.map +1 -1
  80. package/dist/{session/session-manager.d.ts → runtime/runtime-host.d.ts} +55 -12
  81. package/dist/runtime/runtime-host.d.ts.map +1 -0
  82. package/dist/{session → runtime}/runtime-oauth-token-manager.d.ts +1 -1
  83. package/dist/{session → runtime}/runtime-oauth-token-manager.d.ts.map +1 -1
  84. package/dist/runtime/session-runtime.d.ts +2 -2
  85. package/dist/runtime/session-runtime.d.ts.map +1 -1
  86. package/dist/runtime/subprocess-sandbox.d.ts +2 -0
  87. package/dist/runtime/subprocess-sandbox.d.ts.map +1 -1
  88. package/dist/runtime/tool-approval.d.ts.map +1 -1
  89. package/dist/{session/session-agent-events.d.ts → services/agent-events.d.ts} +4 -4
  90. package/dist/services/agent-events.d.ts.map +1 -0
  91. package/dist/services/config.d.ts +3 -0
  92. package/dist/services/config.d.ts.map +1 -0
  93. package/dist/services/local-runtime-bootstrap.d.ts +41 -0
  94. package/dist/services/local-runtime-bootstrap.d.ts.map +1 -0
  95. package/dist/services/providers/local-provider-registry.d.ts.map +1 -0
  96. package/dist/services/providers/local-provider-service.d.ts.map +1 -0
  97. package/dist/{session → services}/session-artifacts.d.ts +2 -4
  98. package/dist/services/session-artifacts.d.ts.map +1 -0
  99. package/dist/{session/utils/helpers.d.ts → services/session-data.d.ts} +19 -27
  100. package/dist/services/session-data.d.ts.map +1 -0
  101. package/dist/{session → services}/session-telemetry.d.ts +2 -2
  102. package/dist/services/session-telemetry.d.ts.map +1 -0
  103. package/dist/{storage → services/storage}/file-team-store.d.ts +2 -2
  104. package/dist/services/storage/file-team-store.d.ts.map +1 -0
  105. package/dist/{storage → services/storage}/provider-settings-legacy-migration.d.ts +1 -1
  106. package/dist/services/storage/provider-settings-legacy-migration.d.ts.map +1 -0
  107. package/dist/{storage → services/storage}/provider-settings-manager.d.ts +1 -1
  108. package/dist/services/storage/provider-settings-manager.d.ts.map +1 -0
  109. package/dist/{storage → services/storage}/sqlite-session-store.d.ts +3 -3
  110. package/dist/services/storage/sqlite-session-store.d.ts.map +1 -0
  111. package/dist/{storage → services/storage}/sqlite-team-store.d.ts +2 -2
  112. package/dist/services/storage/sqlite-team-store.d.ts.map +1 -0
  113. package/dist/{storage → services/storage}/team-store.d.ts +1 -1
  114. package/dist/services/storage/team-store.d.ts.map +1 -0
  115. package/dist/services/telemetry/ITelemetryAdapter.d.ts.map +1 -0
  116. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts.map +1 -0
  117. package/dist/services/telemetry/OpenTelemetryProvider.d.ts.map +1 -0
  118. package/dist/services/telemetry/TelemetryLoggerSink.d.ts.map +1 -0
  119. package/dist/services/telemetry/TelemetryService.d.ts.map +1 -0
  120. package/dist/services/telemetry/core-events.d.ts.map +1 -0
  121. package/dist/services/telemetry/distinct-id.d.ts.map +1 -0
  122. package/dist/services/telemetry/index.d.ts.map +1 -0
  123. package/dist/{telemetry → services/telemetry}/index.js +6 -6
  124. package/dist/{session/utils → services}/usage.d.ts +1 -1
  125. package/dist/services/usage.d.ts.map +1 -0
  126. package/dist/services/workspace/file-indexer.d.ts.map +1 -0
  127. package/dist/services/workspace/index.d.ts.map +1 -0
  128. package/dist/services/workspace/mention-enricher.d.ts.map +1 -0
  129. package/dist/services/workspace-manifest.d.ts.map +1 -0
  130. package/dist/session/file-session-service.d.ts +4 -1
  131. package/dist/session/file-session-service.d.ts.map +1 -1
  132. package/dist/session/persistence-service.d.ts +8 -6
  133. package/dist/session/persistence-service.d.ts.map +1 -1
  134. package/dist/session/rpc-session-service.d.ts +3 -0
  135. package/dist/session/rpc-session-service.d.ts.map +1 -1
  136. package/dist/session/session-service.d.ts +8 -9
  137. package/dist/session/session-service.d.ts.map +1 -1
  138. package/dist/session/session-team-coordination.d.ts +4 -4
  139. package/dist/session/session-team-coordination.d.ts.map +1 -1
  140. package/dist/session/sqlite-rpc-session-backend.d.ts.map +1 -1
  141. package/dist/{session/default-session-manager.d.ts → transports/local.d.ts} +24 -14
  142. package/dist/transports/local.d.ts.map +1 -0
  143. package/dist/transports/rpc.d.ts +51 -0
  144. package/dist/transports/rpc.d.ts.map +1 -0
  145. package/dist/transports/runtime-host-support.d.ts +21 -0
  146. package/dist/transports/runtime-host-support.d.ts.map +1 -0
  147. package/dist/types/chat-schema.d.ts.map +1 -0
  148. package/dist/types/config.d.ts +3 -2
  149. package/dist/types/config.d.ts.map +1 -1
  150. package/dist/{session/utils/types.d.ts → types/session.d.ts} +15 -6
  151. package/dist/types/session.d.ts.map +1 -0
  152. package/dist/types/sessions.d.ts +19 -0
  153. package/dist/types/sessions.d.ts.map +1 -1
  154. package/dist/types/storage.d.ts +1 -3
  155. package/dist/types/storage.d.ts.map +1 -1
  156. package/dist/types.d.ts +7 -6
  157. package/dist/types.d.ts.map +1 -1
  158. package/package.json +7 -12
  159. package/src/ClineCore.test.ts +95 -19
  160. package/src/ClineCore.ts +120 -50
  161. package/src/auth/client.test.ts +29 -0
  162. package/src/auth/client.ts +21 -0
  163. package/src/auth/cline.ts +3 -1
  164. package/src/auth/codex.ts +1 -1
  165. package/src/auth/oca.ts +3 -1
  166. package/src/auth/server.test.ts +287 -0
  167. package/src/auth/server.ts +50 -1
  168. package/src/auth/types.ts +29 -0
  169. package/src/extensions/config/agent-config-loader.test.ts +3 -3
  170. package/src/extensions/config/agent-config-loader.ts +1 -5
  171. package/src/extensions/config/agent-config-parser.ts +1 -1
  172. package/src/extensions/config/hooks-config-loader.ts +1 -2
  173. package/src/extensions/config/index.ts +0 -4
  174. package/src/extensions/config/user-instruction-config-loader.ts +0 -4
  175. package/src/extensions/index.ts +6 -0
  176. package/src/extensions/plugin/plugin-config-loader.test.ts +39 -0
  177. package/src/extensions/plugin/plugin-config-loader.ts +18 -10
  178. package/src/extensions/plugin/plugin-load-report.ts +20 -0
  179. package/src/extensions/plugin/plugin-loader.test.ts +45 -0
  180. package/src/extensions/plugin/plugin-loader.ts +57 -3
  181. package/src/extensions/plugin/plugin-sandbox-bootstrap.ts +158 -86
  182. package/src/extensions/plugin/plugin-sandbox.test.ts +70 -0
  183. package/src/extensions/plugin/plugin-sandbox.ts +17 -6
  184. package/src/{tools → extensions/tools}/definitions.ts +1 -1
  185. package/src/extensions/tools/executors/file-read.test.ts +125 -0
  186. package/src/{tools → extensions/tools}/executors/file-read.ts +29 -4
  187. package/src/{tools → extensions/tools}/executors/search.ts +1 -1
  188. package/src/{tools → extensions/tools}/model-tool-routing.ts +1 -1
  189. package/src/{tools → extensions/tools}/presets.ts +2 -3
  190. package/src/extensions/tools/team/multi-agent.lifecycle.test.ts +455 -0
  191. package/src/{team → extensions/tools/team}/multi-agent.ts +80 -17
  192. package/src/{team → extensions/tools/team}/spawn-agent-tool.test.ts +0 -6
  193. package/src/{team → extensions/tools/team}/spawn-agent-tool.ts +1 -7
  194. package/src/{team → extensions/tools/team}/subagent-prompts.ts +2 -2
  195. package/src/{team → extensions/tools/team}/team-tools.test.ts +146 -30
  196. package/src/{team → extensions/tools/team}/team-tools.ts +98 -69
  197. package/src/{tools → extensions/tools}/types.ts +5 -3
  198. package/src/{runtime → hooks}/checkpoint-hooks.ts +27 -0
  199. package/src/{runtime → hooks}/hook-file-hooks.test.ts +42 -7
  200. package/src/{runtime → hooks}/hook-file-hooks.ts +6 -11
  201. package/src/hooks/subprocess.ts +48 -257
  202. package/src/index.ts +178 -158
  203. package/src/runtime/history.test.ts +114 -0
  204. package/src/runtime/history.ts +237 -0
  205. package/src/runtime/host.test.ts +230 -0
  206. package/src/runtime/host.ts +362 -0
  207. package/src/runtime/rpc-runtime-ensure.test.ts +123 -0
  208. package/src/{session → runtime}/rpc-runtime-ensure.ts +165 -27
  209. package/src/{session → runtime}/rpc-spawn-lease.test.ts +33 -1
  210. package/src/{session → runtime}/rpc-spawn-lease.ts +54 -20
  211. package/src/runtime/runtime-builder.team-persistence.test.ts +6 -3
  212. package/src/runtime/runtime-builder.test.ts +101 -4
  213. package/src/runtime/runtime-builder.ts +125 -86
  214. package/src/runtime/runtime-host.ts +178 -0
  215. package/src/{session → runtime}/runtime-oauth-token-manager.ts +1 -1
  216. package/src/runtime/runtime-parity.test.ts +1 -1
  217. package/src/runtime/session-runtime.ts +2 -2
  218. package/src/runtime/subprocess-sandbox.ts +26 -23
  219. package/src/runtime/tool-approval.ts +13 -15
  220. package/src/{session/session-agent-events.ts → services/agent-events.ts} +7 -7
  221. package/src/services/config.ts +5 -0
  222. package/src/services/local-runtime-bootstrap.ts +280 -0
  223. package/src/{providers → services/providers}/local-provider-service.ts +4 -4
  224. package/src/{session → services}/session-artifacts.ts +23 -19
  225. package/src/{session/utils/helpers.test.ts → services/session-data.test.ts} +1 -1
  226. package/src/{session/utils/helpers.ts → services/session-data.ts} +76 -72
  227. package/src/{session → services}/session-telemetry.ts +7 -9
  228. package/src/services/storage/artifact-store.ts +1 -0
  229. package/src/{storage → services/storage}/file-team-store.ts +2 -2
  230. package/src/{storage → services/storage}/provider-settings-legacy-migration.test.ts +1 -1
  231. package/src/{storage → services/storage}/provider-settings-legacy-migration.ts +2 -2
  232. package/src/{storage → services/storage}/provider-settings-manager.ts +2 -2
  233. package/src/services/storage/session-store.ts +1 -0
  234. package/src/{storage → services/storage}/sqlite-session-store.ts +7 -12
  235. package/src/{storage → services/storage}/sqlite-team-store.ts +4 -4
  236. package/src/{storage → services/storage}/team-store.ts +1 -1
  237. package/src/{session/utils → services}/usage.ts +1 -1
  238. package/src/{input → services/workspace}/file-indexer.test.ts +30 -1
  239. package/src/{input → services/workspace}/file-indexer.ts +26 -2
  240. package/src/{input → services/workspace}/mention-enricher.test.ts +21 -0
  241. package/src/{input → services/workspace}/mention-enricher.ts +1 -1
  242. package/src/session/file-session-service.ts +9 -7
  243. package/src/session/index.ts +25 -17
  244. package/src/session/persistence-service.test.ts +121 -24
  245. package/src/session/persistence-service.ts +118 -102
  246. package/src/session/rpc-session-service.ts +9 -2
  247. package/src/session/session-service.team-persistence.test.ts +1 -1
  248. package/src/session/session-service.ts +32 -19
  249. package/src/session/session-team-coordination.ts +13 -6
  250. package/src/session/sqlite-rpc-session-backend.ts +4 -6
  251. package/src/session/workspace-manager.ts +1 -1
  252. package/src/{session/default-session-manager.e2e.test.ts → transports/local.e2e.test.ts} +13 -17
  253. package/src/{session/default-session-manager.test.ts → transports/local.test.ts} +316 -230
  254. package/src/{session/default-session-manager.ts → transports/local.ts} +138 -172
  255. package/src/transports/rpc.test.ts +82 -0
  256. package/src/transports/rpc.ts +665 -0
  257. package/src/transports/runtime-host-support.ts +86 -0
  258. package/src/types/config.ts +3 -2
  259. package/src/{session/utils/types.ts → types/session.ts} +18 -5
  260. package/src/types/sessions.ts +21 -0
  261. package/src/types/storage.ts +1 -6
  262. package/src/types.ts +25 -18
  263. package/dist/chat/chat-schema.d.ts.map +0 -1
  264. package/dist/input/file-indexer.d.ts.map +0 -1
  265. package/dist/input/index.d.ts.map +0 -1
  266. package/dist/input/mention-enricher.d.ts.map +0 -1
  267. package/dist/prompt/default-system.d.ts +0 -2
  268. package/dist/prompt/default-system.d.ts.map +0 -1
  269. package/dist/providers/local-provider-registry.d.ts.map +0 -1
  270. package/dist/providers/local-provider-service.d.ts.map +0 -1
  271. package/dist/runtime/checkpoint-hooks.d.ts.map +0 -1
  272. package/dist/runtime/hook-file-hooks.d.ts.map +0 -1
  273. package/dist/runtime/team-runtime-registry.d.ts +0 -13
  274. package/dist/runtime/team-runtime-registry.d.ts.map +0 -1
  275. package/dist/session/default-session-manager.d.ts.map +0 -1
  276. package/dist/session/session-agent-events.d.ts.map +0 -1
  277. package/dist/session/session-artifacts.d.ts.map +0 -1
  278. package/dist/session/session-config-builder.d.ts +0 -16
  279. package/dist/session/session-config-builder.d.ts.map +0 -1
  280. package/dist/session/session-host.d.ts +0 -15
  281. package/dist/session/session-host.d.ts.map +0 -1
  282. package/dist/session/session-manager.d.ts.map +0 -1
  283. package/dist/session/session-telemetry.d.ts.map +0 -1
  284. package/dist/session/utils/helpers.d.ts.map +0 -1
  285. package/dist/session/utils/types.d.ts.map +0 -1
  286. package/dist/session/utils/usage.d.ts.map +0 -1
  287. package/dist/session/workspace-manifest.d.ts.map +0 -1
  288. package/dist/storage/file-team-store.d.ts.map +0 -1
  289. package/dist/storage/provider-settings-legacy-migration.d.ts.map +0 -1
  290. package/dist/storage/provider-settings-manager.d.ts.map +0 -1
  291. package/dist/storage/sqlite-session-store.d.ts.map +0 -1
  292. package/dist/storage/sqlite-team-store.d.ts.map +0 -1
  293. package/dist/storage/team-store.d.ts.map +0 -1
  294. package/dist/team/delegated-agent.d.ts.map +0 -1
  295. package/dist/team/index.d.ts.map +0 -1
  296. package/dist/team/multi-agent.d.ts.map +0 -1
  297. package/dist/team/projections.d.ts.map +0 -1
  298. package/dist/team/runtime.d.ts.map +0 -1
  299. package/dist/team/spawn-agent-tool.d.ts.map +0 -1
  300. package/dist/team/subagent-prompts.d.ts.map +0 -1
  301. package/dist/team/team-tools.d.ts.map +0 -1
  302. package/dist/telemetry/ITelemetryAdapter.d.ts.map +0 -1
  303. package/dist/telemetry/OpenTelemetryAdapter.d.ts.map +0 -1
  304. package/dist/telemetry/OpenTelemetryProvider.d.ts.map +0 -1
  305. package/dist/telemetry/TelemetryLoggerSink.d.ts.map +0 -1
  306. package/dist/telemetry/TelemetryService.d.ts.map +0 -1
  307. package/dist/telemetry/core-events.d.ts.map +0 -1
  308. package/dist/telemetry/distinct-id.d.ts.map +0 -1
  309. package/dist/telemetry/index.d.ts.map +0 -1
  310. package/dist/tools/constants.d.ts.map +0 -1
  311. package/dist/tools/definitions.d.ts.map +0 -1
  312. package/dist/tools/executors/apply-patch-parser.d.ts.map +0 -1
  313. package/dist/tools/executors/apply-patch.d.ts.map +0 -1
  314. package/dist/tools/executors/bash.d.ts.map +0 -1
  315. package/dist/tools/executors/editor.d.ts.map +0 -1
  316. package/dist/tools/executors/file-read.d.ts.map +0 -1
  317. package/dist/tools/executors/index.d.ts.map +0 -1
  318. package/dist/tools/executors/search.d.ts.map +0 -1
  319. package/dist/tools/executors/web-fetch.d.ts.map +0 -1
  320. package/dist/tools/helpers.d.ts.map +0 -1
  321. package/dist/tools/index.d.ts.map +0 -1
  322. package/dist/tools/model-tool-routing.d.ts.map +0 -1
  323. package/dist/tools/presets.d.ts.map +0 -1
  324. package/dist/tools/schemas.d.ts.map +0 -1
  325. package/dist/tools/types.d.ts.map +0 -1
  326. package/src/prompt/default-system.ts +0 -21
  327. package/src/runtime/team-runtime-registry.ts +0 -43
  328. package/src/session/session-config-builder.ts +0 -126
  329. package/src/session/session-host.test.ts +0 -89
  330. package/src/session/session-host.ts +0 -213
  331. package/src/session/session-manager.ts +0 -74
  332. package/src/storage/artifact-store.ts +0 -1
  333. package/src/storage/session-store.ts +0 -1
  334. package/src/team/multi-agent.lifecycle.test.ts +0 -201
  335. package/src/tools/executors/file-read.test.ts +0 -49
  336. /package/dist/{tools → extensions/tools}/constants.d.ts +0 -0
  337. /package/dist/{tools → extensions/tools}/definitions.d.ts +0 -0
  338. /package/dist/{tools → extensions/tools}/executors/apply-patch-parser.d.ts +0 -0
  339. /package/dist/{tools → extensions/tools}/executors/apply-patch.d.ts +0 -0
  340. /package/dist/{tools → extensions/tools}/executors/bash.d.ts +0 -0
  341. /package/dist/{tools → extensions/tools}/executors/editor.d.ts +0 -0
  342. /package/dist/{tools → extensions/tools}/executors/file-read.d.ts +0 -0
  343. /package/dist/{tools → extensions/tools}/executors/index.d.ts +0 -0
  344. /package/dist/{tools → extensions/tools}/executors/search.d.ts +0 -0
  345. /package/dist/{tools → extensions/tools}/executors/web-fetch.d.ts +0 -0
  346. /package/dist/{tools → extensions/tools}/helpers.d.ts +0 -0
  347. /package/dist/{tools → extensions/tools}/index.d.ts +0 -0
  348. /package/dist/{tools → extensions/tools}/schemas.d.ts +0 -0
  349. /package/dist/{team → extensions/tools/team}/delegated-agent.d.ts +0 -0
  350. /package/dist/{team → extensions/tools/team}/index.d.ts +0 -0
  351. /package/dist/{team → extensions/tools/team}/projections.d.ts +0 -0
  352. /package/dist/{team → extensions/tools/team}/runtime.d.ts +0 -0
  353. /package/dist/{team → extensions/tools/team}/subagent-prompts.d.ts +0 -0
  354. /package/dist/{team → extensions/tools/team}/team-tools.d.ts +0 -0
  355. /package/dist/{session → runtime}/rpc-spawn-lease.d.ts +0 -0
  356. /package/dist/{providers → services/providers}/local-provider-registry.d.ts +0 -0
  357. /package/dist/{providers → services/providers}/local-provider-service.d.ts +0 -0
  358. /package/dist/{telemetry → services/telemetry}/ITelemetryAdapter.d.ts +0 -0
  359. /package/dist/{telemetry → services/telemetry}/OpenTelemetryAdapter.d.ts +0 -0
  360. /package/dist/{telemetry → services/telemetry}/OpenTelemetryProvider.d.ts +0 -0
  361. /package/dist/{telemetry → services/telemetry}/TelemetryLoggerSink.d.ts +0 -0
  362. /package/dist/{telemetry → services/telemetry}/TelemetryService.d.ts +0 -0
  363. /package/dist/{telemetry → services/telemetry}/core-events.d.ts +0 -0
  364. /package/dist/{telemetry → services/telemetry}/distinct-id.d.ts +0 -0
  365. /package/dist/{telemetry → services/telemetry}/index.d.ts +0 -0
  366. /package/dist/{input → services/workspace}/file-indexer.d.ts +0 -0
  367. /package/dist/{input → services/workspace}/index.d.ts +0 -0
  368. /package/dist/{input → services/workspace}/mention-enricher.d.ts +0 -0
  369. /package/dist/{session → services}/workspace-manifest.d.ts +0 -0
  370. /package/dist/{chat → types}/chat-schema.d.ts +0 -0
  371. /package/src/{tools → extensions/tools}/constants.ts +0 -0
  372. /package/src/{tools → extensions/tools}/definitions.test.ts +0 -0
  373. /package/src/{tools → extensions/tools}/executors/apply-patch-parser.ts +0 -0
  374. /package/src/{tools → extensions/tools}/executors/apply-patch.ts +0 -0
  375. /package/src/{tools → extensions/tools}/executors/bash.test.ts +0 -0
  376. /package/src/{tools → extensions/tools}/executors/bash.ts +0 -0
  377. /package/src/{tools → extensions/tools}/executors/editor.test.ts +0 -0
  378. /package/src/{tools → extensions/tools}/executors/editor.ts +0 -0
  379. /package/src/{tools → extensions/tools}/executors/index.ts +0 -0
  380. /package/src/{tools → extensions/tools}/executors/web-fetch.ts +0 -0
  381. /package/src/{tools → extensions/tools}/helpers.ts +0 -0
  382. /package/src/{tools → extensions/tools}/index.ts +0 -0
  383. /package/src/{tools → extensions/tools}/model-tool-routing.test.ts +0 -0
  384. /package/src/{tools → extensions/tools}/presets.test.ts +0 -0
  385. /package/src/{tools → extensions/tools}/schemas.ts +0 -0
  386. /package/src/{team → extensions/tools/team}/delegated-agent.ts +0 -0
  387. /package/src/{team → extensions/tools/team}/index.ts +0 -0
  388. /package/src/{team → extensions/tools/team}/projections.ts +0 -0
  389. /package/src/{team → extensions/tools/team}/runtime.ts +0 -0
  390. /package/src/{runtime → hooks}/checkpoint-hooks.test.ts +0 -0
  391. /package/src/{session → runtime}/runtime-oauth-token-manager.test.ts +0 -0
  392. /package/src/{providers → services/providers}/local-provider-registry.ts +0 -0
  393. /package/src/{providers → services/providers}/local-provider-service.test.ts +0 -0
  394. /package/src/{storage → services/storage}/index.ts +0 -0
  395. /package/src/{storage → services/storage}/provider-settings-manager.test.ts +0 -0
  396. /package/src/{telemetry → services/telemetry}/ITelemetryAdapter.ts +0 -0
  397. /package/src/{telemetry → services/telemetry}/OpenTelemetryAdapter.test.ts +0 -0
  398. /package/src/{telemetry → services/telemetry}/OpenTelemetryAdapter.ts +0 -0
  399. /package/src/{telemetry → services/telemetry}/OpenTelemetryProvider.test.ts +0 -0
  400. /package/src/{telemetry → services/telemetry}/OpenTelemetryProvider.ts +0 -0
  401. /package/src/{telemetry → services/telemetry}/TelemetryLoggerSink.test.ts +0 -0
  402. /package/src/{telemetry → services/telemetry}/TelemetryLoggerSink.ts +0 -0
  403. /package/src/{telemetry → services/telemetry}/TelemetryService.test.ts +0 -0
  404. /package/src/{telemetry → services/telemetry}/TelemetryService.ts +0 -0
  405. /package/src/{telemetry → services/telemetry}/core-events.ts +0 -0
  406. /package/src/{telemetry → services/telemetry}/distinct-id.test.ts +0 -0
  407. /package/src/{telemetry → services/telemetry}/distinct-id.ts +0 -0
  408. /package/src/{telemetry → services/telemetry}/index.ts +0 -0
  409. /package/src/{input → services/workspace}/file-indexer.d.ts +0 -0
  410. /package/src/{input → services/workspace}/index.ts +0 -0
  411. /package/src/{session → services}/workspace-manifest.ts +0 -0
  412. /package/src/{chat → types}/chat-schema.ts +0 -0
package/src/index.ts CHANGED
@@ -61,14 +61,16 @@ export type {
61
61
  WorkspaceManifestSchema,
62
62
  } from "@clinebot/shared";
63
63
  export {
64
+ buildClineSystemPrompt as getClineDefaultSystemPrompt,
64
65
  ContributionRegistry,
65
66
  createContributionRegistry,
66
67
  createTool,
68
+ formatDisplayUserInput,
67
69
  noopBasicLogger,
68
70
  normalizeUserInput,
71
+ parseUserCommandEnvelope,
69
72
  RPC_TEAM_LIFECYCLE_EVENT_TYPE,
70
73
  RPC_TEAM_PROGRESS_EVENT_TYPE,
71
- resolveHookLogPath,
72
74
  } from "@clinebot/shared";
73
75
  export * from "@clinebot/shared/storage";
74
76
  export {
@@ -128,6 +130,13 @@ export {
128
130
  OCI_HEADER_OPC_REQUEST_ID,
129
131
  refreshOcaToken,
130
132
  } from "./auth/oca";
133
+ export type {
134
+ LocalOAuthServer,
135
+ LocalOAuthServerOptions,
136
+ OAuthCallbackPayload,
137
+ OAuthServerCloseInfo,
138
+ OAuthServerListeningInfo,
139
+ } from "./auth/server";
131
140
  export { startLocalOAuthServer } from "./auth/server";
132
141
  export type {
133
142
  OAuthCredentials,
@@ -144,31 +153,21 @@ export type {
144
153
  export {
145
154
  ClineCore,
146
155
  type ClineCoreOptions,
156
+ type ClineCoreStartInput,
147
157
  type RpcOptions,
148
158
  } from "./ClineCore";
149
- export type {
150
- ChatMessage,
151
- ChatSessionConfig,
152
- ChatSessionStatus,
153
- ChatSummary,
154
- ChatViewState,
155
- } from "./chat/chat-schema";
156
- export {
157
- ChatMessageRoleSchema,
158
- ChatMessageSchema,
159
- ChatSessionConfigSchema,
160
- ChatSessionStatusSchema,
161
- ChatSummarySchema,
162
- ChatViewStateSchema,
163
- } from "./chat/chat-schema";
164
159
  export type {
165
160
  LoadAgentPluginFromPathOptions,
161
+ PluginInitializationFailure,
162
+ PluginInitializationWarning,
163
+ PluginLoadDiagnostics,
166
164
  ResolveAgentPluginPathsOptions,
167
165
  } from "./extensions";
168
166
  export {
169
167
  discoverPluginModulePaths,
170
168
  loadAgentPluginFromPath,
171
169
  loadAgentPluginsFromPaths,
170
+ loadAgentPluginsFromPathsWithDiagnostics,
172
171
  resolveAgentPluginPaths,
173
172
  resolveAndLoadAgentPlugins,
174
173
  resolvePluginConfigSearchPaths,
@@ -221,9 +220,6 @@ export {
221
220
  parseWorkflowConfigFromMarkdown,
222
221
  RULES_CONFIG_DIRECTORY_NAME,
223
222
  resolveAgentTools,
224
- resolveDocumentsHooksDirectoryPath,
225
- resolveDocumentsRulesDirectoryPath,
226
- resolveDocumentsWorkflowsDirectoryPath,
227
223
  resolveHooksConfigSearchPaths,
228
224
  resolveRulesConfigSearchPaths,
229
225
  resolveRuntimeSlashCommandFromWatcher,
@@ -269,6 +265,36 @@ export {
269
265
  resolveDefaultMcpSettingsPath,
270
266
  resolveMcpServerRegistrations,
271
267
  } from "./extensions/mcp";
268
+ export {
269
+ type AgentTask,
270
+ AgentTeam,
271
+ AgentTeamsRuntime,
272
+ type AgentTeamsRuntimeOptions,
273
+ type BootstrapAgentTeamsOptions,
274
+ type BootstrapAgentTeamsResult,
275
+ bootstrapAgentTeams,
276
+ buildDelegatedAgentConfig,
277
+ buildTeamProgressSummary,
278
+ type CreateAgentTeamsToolsOptions,
279
+ createAgentTeamsTools,
280
+ createDelegatedAgent,
281
+ createDelegatedAgentConfigProvider,
282
+ createSpawnAgentTool,
283
+ type DelegatedAgentConfigProvider,
284
+ type DelegatedAgentConnectionConfig,
285
+ type DelegatedAgentKind,
286
+ type DelegatedAgentRuntimeConfig,
287
+ reviveTeamStateDates,
288
+ type SpawnTeammateOptions,
289
+ type SubAgentEndContext,
290
+ type SubAgentStartContext,
291
+ sanitizeTeamName,
292
+ type TaskResult,
293
+ type TeamEvent,
294
+ type TeamMemberConfig,
295
+ type TeamTeammateRuntimeConfig,
296
+ toTeamProgressLifecycleEvent,
297
+ } from "./extensions/tools/team";
272
298
  export {
273
299
  createPersistentSubprocessHooks,
274
300
  createSubprocessHooks,
@@ -290,65 +316,16 @@ export {
290
316
  type SubprocessHookControl,
291
317
  type SubprocessHooksOptions,
292
318
  } from "./hooks";
293
- export type {
294
- FastFileIndexOptions,
295
- MentionEnricherOptions,
296
- MentionEnrichmentResult,
297
- } from "./input";
298
- export {
299
- enrichPromptWithMentions,
300
- getFileIndex,
301
- prewarmFileIndex,
302
- } from "./input";
303
- export { getClineDefaultSystemPrompt } from "./prompt/default-system";
304
- export {
305
- addLocalProvider,
306
- type DeleteLocalProviderRequest,
307
- deleteLocalProvider,
308
- ensureCustomProvidersLoaded,
309
- getLocalProviderModels,
310
- listLocalProviders,
311
- loginLocalProvider,
312
- normalizeOAuthProvider,
313
- resolveLocalClineAuthToken,
314
- saveLocalProviderOAuthCredentials,
315
- saveLocalProviderSettings,
316
- type UpdateLocalProviderRequest,
317
- updateLocalProvider,
318
- } from "./providers/local-provider-service";
319
319
  export type {
320
320
  CheckpointEntry,
321
321
  CheckpointMetadata,
322
- } from "./runtime/checkpoint-hooks";
323
- export {
324
- formatRulesForSystemPrompt,
325
- isRuleEnabled,
326
- listEnabledRulesFromWatcher,
327
- loadRulesForSystemPromptFromWatcher,
328
- } from "./runtime/rules";
322
+ } from "./hooks/checkpoint-hooks";
323
+ export type { SessionBackend } from "./runtime/host";
329
324
  export {
330
- createTeamName,
331
- DefaultRuntimeBuilder,
332
- } from "./runtime/runtime-builder";
333
- export type {
334
- BuiltRuntime,
335
- RuntimeBuilder,
336
- RuntimeBuilderInput,
337
- SessionRuntime,
338
- TeamToolsFactory,
339
- TeamToolsFactoryOptions,
340
- TeamToolsFactoryResult,
341
- } from "./runtime/session-runtime";
342
- export {
343
- type SandboxCallOptions,
344
- SubprocessSandbox,
345
- type SubprocessSandboxOptions,
346
- } from "./runtime/subprocess-sandbox";
347
- export {
348
- type DesktopToolApprovalOptions,
349
- requestDesktopToolApproval,
350
- } from "./runtime/tool-approval";
351
- export { DefaultSessionManager } from "./session/default-session-manager";
325
+ createRuntimeHost,
326
+ createRuntimeHost as createSessionHost,
327
+ resolveSessionBackend,
328
+ } from "./runtime/host";
352
329
  export {
353
330
  clearRpcDiscoveryIfAddressMatches,
354
331
  type EnsureRpcRuntimeOptions,
@@ -361,109 +338,86 @@ export {
361
338
  RPC_STARTUP_LOCK_BYPASS_ENV,
362
339
  type RpcDiscoveryRecord,
363
340
  type RpcOwnerContext,
341
+ type RpcStartupLockHandle,
364
342
  recordRpcDiscovery,
365
343
  resolveEnsuredRpcRuntime,
366
344
  resolveRpcOwnerContext,
367
345
  resolveRpcRuntimeBuildKey,
368
346
  waitForCompatibleRpcRuntime,
369
347
  withRpcStartupLock,
370
- } from "./session/rpc-runtime-ensure";
371
- export { RpcCoreSessionService } from "./session/rpc-session-service";
348
+ } from "./runtime/rpc-runtime-ensure";
372
349
  export {
373
350
  type RpcSpawnLease,
374
351
  tryAcquireRpcSpawnLease,
375
- } from "./session/rpc-spawn-lease";
352
+ } from "./runtime/rpc-spawn-lease";
376
353
  export {
377
- deriveSubsessionStatus,
378
- makeSubSessionId,
379
- makeTeamTaskSubSessionId,
380
- sanitizeSessionToken,
381
- } from "./session/session-graph";
382
- export type {
383
- SessionBackend,
384
- SessionHost,
385
- } from "./session/session-host";
354
+ formatRulesForSystemPrompt,
355
+ isRuleEnabled,
356
+ listEnabledRulesFromWatcher,
357
+ loadRulesForSystemPromptFromWatcher,
358
+ } from "./runtime/rules";
386
359
  export {
387
- createSessionHost,
388
- resolveSessionBackend,
389
- } from "./session/session-host";
360
+ createTeamName,
361
+ DefaultRuntimeBuilder,
362
+ } from "./runtime/runtime-builder";
390
363
  export type {
364
+ RuntimeHost,
365
+ RuntimeHost as SessionHost,
366
+ RuntimeHostMode,
391
367
  SendSessionInput,
392
368
  SessionAccumulatedUsage,
393
- SessionManager,
394
369
  StartSessionInput,
395
370
  StartSessionResult,
396
- } from "./session/session-manager";
397
- export type { SessionManifest } from "./session/session-manifest";
371
+ } from "./runtime/runtime-host";
372
+ export { splitCoreSessionConfig } from "./runtime/runtime-host";
398
373
  export type {
399
- CreateRootSessionWithArtifactsInput,
400
- RootSessionArtifacts,
401
- } from "./session/session-service";
402
- export { CoreSessionService } from "./session/session-service";
374
+ BuiltRuntime,
375
+ RuntimeBuilder,
376
+ RuntimeBuilderInput,
377
+ SessionRuntime,
378
+ TeamToolsFactory,
379
+ TeamToolsFactoryOptions,
380
+ TeamToolsFactoryResult,
381
+ } from "./runtime/session-runtime";
403
382
  export {
404
- createSqliteRpcSessionBackend,
405
- SqliteRpcSessionBackend,
406
- type SqliteRpcSessionBackendOptions,
407
- } from "./session/sqlite-rpc-session-backend";
383
+ type SandboxCallOptions,
384
+ SubprocessSandbox,
385
+ type SubprocessSandboxOptions,
386
+ } from "./runtime/subprocess-sandbox";
408
387
  export {
409
- accumulateUsageTotals,
410
- createInitialAccumulatedUsage,
411
- } from "./session/utils/usage";
412
- export type {
413
- WorkspaceManager,
414
- WorkspaceManagerEvent,
415
- } from "./session/workspace-manager";
416
- export { InMemoryWorkspaceManager } from "./session/workspace-manager";
388
+ type DesktopToolApprovalOptions,
389
+ requestDesktopToolApproval,
390
+ } from "./runtime/tool-approval";
417
391
  export {
418
- buildWorkspaceMetadata,
419
- generateWorkspaceInfo,
420
- normalizeWorkspacePath,
421
- } from "./session/workspace-manifest";
392
+ addLocalProvider,
393
+ type DeleteLocalProviderRequest,
394
+ deleteLocalProvider,
395
+ ensureCustomProvidersLoaded,
396
+ getLocalProviderModels,
397
+ listLocalProviders,
398
+ loginLocalProvider,
399
+ normalizeOAuthProvider,
400
+ resolveLocalClineAuthToken,
401
+ saveLocalProviderOAuthCredentials,
402
+ saveLocalProviderSettings,
403
+ type UpdateLocalProviderRequest,
404
+ updateLocalProvider,
405
+ } from "./services/providers/local-provider-service";
422
406
  export {
423
407
  type MigrateLegacyProviderSettingsOptions,
424
408
  type MigrateLegacyProviderSettingsResult,
425
409
  migrateLegacyProviderSettings,
426
- } from "./storage/provider-settings-legacy-migration";
427
- export { ProviderSettingsManager } from "./storage/provider-settings-manager";
428
- export { SqliteSessionStore } from "./storage/sqlite-session-store";
410
+ } from "./services/storage/provider-settings-legacy-migration";
411
+ export { ProviderSettingsManager } from "./services/storage/provider-settings-manager";
412
+ export { SqliteSessionStore } from "./services/storage/sqlite-session-store";
429
413
  export {
430
414
  SqliteTeamStore,
431
415
  type SqliteTeamStoreOptions,
432
- } from "./storage/team-store";
433
- export {
434
- type AgentTask,
435
- AgentTeam,
436
- AgentTeamsRuntime,
437
- type AgentTeamsRuntimeOptions,
438
- type BootstrapAgentTeamsOptions,
439
- type BootstrapAgentTeamsResult,
440
- bootstrapAgentTeams,
441
- buildDelegatedAgentConfig,
442
- buildTeamProgressSummary,
443
- type CreateAgentTeamsToolsOptions,
444
- createAgentTeamsTools,
445
- createDelegatedAgent,
446
- createDelegatedAgentConfigProvider,
447
- createSpawnAgentTool,
448
- type DelegatedAgentConfigProvider,
449
- type DelegatedAgentConnectionConfig,
450
- type DelegatedAgentKind,
451
- type DelegatedAgentRuntimeConfig,
452
- reviveTeamStateDates,
453
- type SpawnTeammateOptions,
454
- type SubAgentEndContext,
455
- type SubAgentStartContext,
456
- sanitizeTeamName,
457
- type TaskResult,
458
- type TeamEvent,
459
- type TeamMemberConfig,
460
- type TeamTeammateRuntimeConfig,
461
- toTeamProgressLifecycleEvent,
462
- } from "./team";
416
+ } from "./services/storage/team-store";
463
417
  export type {
464
418
  TelemetryAgentIdentityProperties,
465
419
  TelemetryAgentKind,
466
- } from "./telemetry/core-events";
420
+ } from "./services/telemetry/core-events";
467
421
  export {
468
422
  CORE_TELEMETRY_EVENTS,
469
423
  captureAgentCreated,
@@ -488,28 +442,85 @@ export {
488
442
  captureTokenUsage,
489
443
  captureToolUsage,
490
444
  identifyAccount,
491
- } from "./telemetry/core-events";
492
- export type { ITelemetryAdapter } from "./telemetry/ITelemetryAdapter";
445
+ } from "./services/telemetry/core-events";
446
+ export type { ITelemetryAdapter } from "./services/telemetry/ITelemetryAdapter";
493
447
  export {
494
448
  type CreateOpenTelemetryTelemetryServiceOptions,
495
449
  createConfiguredTelemetryService,
496
450
  createOpenTelemetryTelemetryService,
497
451
  OpenTelemetryProvider,
498
452
  type OpenTelemetryProviderOptions,
499
- } from "./telemetry/OpenTelemetryProvider";
453
+ } from "./services/telemetry/OpenTelemetryProvider";
500
454
  export {
501
455
  TelemetryLoggerSink,
502
456
  type TelemetryLoggerSinkOptions,
503
- } from "./telemetry/TelemetryLoggerSink";
457
+ } from "./services/telemetry/TelemetryLoggerSink";
458
+ export {
459
+ accumulateUsageTotals,
460
+ createInitialAccumulatedUsage,
461
+ } from "./services/usage";
462
+ export type {
463
+ FastFileIndexOptions,
464
+ MentionEnricherOptions,
465
+ MentionEnrichmentResult,
466
+ } from "./services/workspace";
467
+ export {
468
+ enrichPromptWithMentions,
469
+ getFileIndex,
470
+ prewarmFileIndex,
471
+ } from "./services/workspace";
472
+ export {
473
+ buildWorkspaceMetadata,
474
+ generateWorkspaceInfo,
475
+ normalizeWorkspacePath,
476
+ } from "./services/workspace-manifest";
477
+ export { RpcCoreSessionService } from "./session/rpc-session-service";
478
+ export {
479
+ deriveSubsessionStatus,
480
+ makeSubSessionId,
481
+ makeTeamTaskSubSessionId,
482
+ sanitizeSessionToken,
483
+ } from "./session/session-graph";
484
+ export type { SessionManifest } from "./session/session-manifest";
485
+ export type {
486
+ CreateRootSessionWithArtifactsInput,
487
+ RootSessionArtifacts,
488
+ SessionRow,
489
+ } from "./session/session-service";
490
+ export { CoreSessionService } from "./session/session-service";
491
+ export {
492
+ createSqliteRpcSessionBackend,
493
+ SqliteRpcSessionBackend,
494
+ type SqliteRpcSessionBackendOptions,
495
+ } from "./session/sqlite-rpc-session-backend";
496
+ export type {
497
+ WorkspaceManager,
498
+ WorkspaceManagerEvent,
499
+ } from "./session/workspace-manager";
500
+ export { InMemoryWorkspaceManager } from "./session/workspace-manager";
501
+ export { LocalRuntimeHost } from "./transports/local";
502
+ export { RpcRuntimeHost } from "./transports/rpc";
503
+ export type {
504
+ ChatMessage,
505
+ ChatSessionConfig,
506
+ ChatSessionStatus,
507
+ ChatSummary,
508
+ ChatViewState,
509
+ } from "./types/chat-schema";
510
+ export {
511
+ ChatMessageRoleSchema,
512
+ ChatMessageSchema,
513
+ ChatSessionConfigSchema,
514
+ ChatSessionStatusSchema,
515
+ ChatSummarySchema,
516
+ ChatViewStateSchema,
517
+ } from "./types/chat-schema";
518
+ export type { SessionMessagesArtifactUploader } from "./types/session";
504
519
  export { CORE_BUILD_VERSION } from "./version";
505
520
  export async function loadOpenTelemetryAdapter() {
506
- return import("./telemetry/index.js");
521
+ return import("./services/telemetry/index.js");
507
522
  }
508
523
  export { createContextCompactionPrepareTurn } from "./extensions/context/compaction";
509
- export {
510
- TelemetryService,
511
- type TelemetryServiceOptions,
512
- } from "./telemetry/TelemetryService";
513
524
  export {
514
525
  ALL_DEFAULT_TOOL_NAMES,
515
526
  type AskQuestionExecutor,
@@ -528,7 +539,11 @@ export {
528
539
  type ToolPolicyPresetName,
529
540
  type ToolPresetName,
530
541
  ToolPresets,
531
- } from "./tools";
542
+ } from "./extensions/tools";
543
+ export {
544
+ TelemetryService,
545
+ type TelemetryServiceOptions,
546
+ } from "./services/telemetry/TelemetryService";
532
547
  // Compatibility barrel (legacy imports).
533
548
  export type { RuntimeEnvironment } from "./types";
534
549
  export type { SessionStatus } from "./types/common";
@@ -563,5 +578,10 @@ export {
563
578
  StoredProviderSettingsEntrySchema,
564
579
  StoredProviderSettingsSchema,
565
580
  } from "./types/provider-settings";
566
- export type { SessionRecord, SessionRef } from "./types/sessions";
581
+ export type {
582
+ SessionHistoryMetadata,
583
+ SessionHistoryRecord,
584
+ SessionRecord,
585
+ SessionRef,
586
+ } from "./types/sessions";
567
587
  export type { ArtifactStore, SessionStore, TeamStore } from "./types/storage";
@@ -0,0 +1,114 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import type { SessionRecord } from "../types/sessions";
3
+ import { hydrateSessionHistory } from "./history";
4
+
5
+ function createRow(
6
+ overrides: Partial<SessionRecord> & Pick<SessionRecord, "sessionId">,
7
+ ): SessionRecord {
8
+ return {
9
+ source: "cli",
10
+ pid: 1,
11
+ startedAt: "2026-04-21T02:17:46.169Z",
12
+ status: "completed",
13
+ interactive: false,
14
+ provider: "",
15
+ model: "",
16
+ cwd: "/tmp/workspace",
17
+ workspaceRoot: "/tmp/workspace",
18
+ enableTools: true,
19
+ enableSpawn: false,
20
+ enableTeams: false,
21
+ isSubagent: false,
22
+ updatedAt: "2026-04-21T02:17:46.169Z",
23
+ ...overrides,
24
+ };
25
+ }
26
+
27
+ describe("hydrateSessionHistory", () => {
28
+ it("preserves rows that already have history display metadata", async () => {
29
+ const readMessages = vi.fn();
30
+ const rows = await hydrateSessionHistory({ readMessages }, [
31
+ createRow({
32
+ sessionId: "sess_1",
33
+ provider: "cline",
34
+ model: "anthropic/claude-sonnet-4.6",
35
+ prompt: "hello",
36
+ metadata: {
37
+ title: "hello",
38
+ totalCost: 0.02,
39
+ },
40
+ }),
41
+ ]);
42
+
43
+ expect(rows).toEqual([
44
+ expect.objectContaining({
45
+ sessionId: "sess_1",
46
+ provider: "cline",
47
+ model: "anthropic/claude-sonnet-4.6",
48
+ metadata: expect.objectContaining({
49
+ title: "hello",
50
+ totalCost: 0.02,
51
+ }),
52
+ }),
53
+ ]);
54
+ expect(readMessages).not.toHaveBeenCalled();
55
+ });
56
+
57
+ it("hydrates missing provider, model, and cost from stored messages", async () => {
58
+ const readMessages = vi.fn().mockResolvedValue([
59
+ {
60
+ role: "user",
61
+ content: [{ type: "text", text: "hello" }],
62
+ },
63
+ {
64
+ role: "assistant",
65
+ content: [{ type: "text", text: "hi" }],
66
+ modelInfo: {
67
+ provider: "cline",
68
+ id: "anthropic/claude-sonnet-4.6",
69
+ },
70
+ metrics: {
71
+ cost: 0.02,
72
+ },
73
+ },
74
+ ]);
75
+
76
+ const [row] = await hydrateSessionHistory({ readMessages }, [
77
+ createRow({
78
+ sessionId: "sess_2",
79
+ prompt: "hello",
80
+ metadata: {},
81
+ }),
82
+ ]);
83
+
84
+ expect(readMessages).toHaveBeenCalledWith("sess_2");
85
+ expect(row).toMatchObject({
86
+ sessionId: "sess_2",
87
+ provider: "cline",
88
+ model: "anthropic/claude-sonnet-4.6",
89
+ metadata: {
90
+ title: "hello",
91
+ totalCost: 0.02,
92
+ },
93
+ });
94
+ });
95
+
96
+ it("falls back to nested metadata provider/model ids before reading messages", async () => {
97
+ const readMessages = vi.fn().mockResolvedValue([]);
98
+
99
+ const [row] = await hydrateSessionHistory({ readMessages }, [
100
+ createRow({
101
+ sessionId: "sess_3",
102
+ metadata: {
103
+ title: "hello",
104
+ provider: { id: "cline" },
105
+ model: { id: "anthropic/claude-haiku-4.5" },
106
+ },
107
+ }),
108
+ ]);
109
+
110
+ expect(row.provider).toBe("cline");
111
+ expect(row.model).toBe("anthropic/claude-haiku-4.5");
112
+ expect(readMessages).toHaveBeenCalledWith("sess_3");
113
+ });
114
+ });