lorenz 0.1.0

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 (630) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +13 -0
  3. package/README.md +774 -0
  4. package/RELEASE-MANIFEST.json +211 -0
  5. package/apps/cli/bin/lorenz.js +25 -0
  6. package/apps/cli/dist/bin/cli.d.ts +3 -0
  7. package/apps/cli/dist/bin/cli.d.ts.map +1 -0
  8. package/apps/cli/dist/bin/cli.js +4 -0
  9. package/apps/cli/dist/bin/cli.js.map +1 -0
  10. package/apps/cli/dist/daemon.d.ts +76 -0
  11. package/apps/cli/dist/daemon.d.ts.map +1 -0
  12. package/apps/cli/dist/daemon.js +189 -0
  13. package/apps/cli/dist/daemon.js.map +1 -0
  14. package/apps/cli/dist/doctor.d.ts +40 -0
  15. package/apps/cli/dist/doctor.d.ts.map +1 -0
  16. package/apps/cli/dist/doctor.js +590 -0
  17. package/apps/cli/dist/doctor.js.map +1 -0
  18. package/apps/cli/dist/index.d.ts +32 -0
  19. package/apps/cli/dist/index.d.ts.map +1 -0
  20. package/apps/cli/dist/index.js +26 -0
  21. package/apps/cli/dist/index.js.map +1 -0
  22. package/apps/cli/dist/main.d.ts +40 -0
  23. package/apps/cli/dist/main.d.ts.map +1 -0
  24. package/apps/cli/dist/main.js +259 -0
  25. package/apps/cli/dist/main.js.map +1 -0
  26. package/apps/cli/dist/runs.d.ts +31 -0
  27. package/apps/cli/dist/runs.d.ts.map +1 -0
  28. package/apps/cli/dist/runs.js +281 -0
  29. package/apps/cli/dist/runs.js.map +1 -0
  30. package/apps/cli/dist/workerDriverLoader.d.ts +64 -0
  31. package/apps/cli/dist/workerDriverLoader.d.ts.map +1 -0
  32. package/apps/cli/dist/workerDriverLoader.js +211 -0
  33. package/apps/cli/dist/workerDriverLoader.js.map +1 -0
  34. package/apps/cli/package.json +57 -0
  35. package/apps/symphony-dashboard/dist/assets/index-B3owF3jd.css +1 -0
  36. package/apps/symphony-dashboard/dist/assets/index-DQ6XlL0d.js +227 -0
  37. package/apps/symphony-dashboard/dist/index.html +18 -0
  38. package/bin/lorenz +16 -0
  39. package/extensions/docker-worker/dist/index.d.ts +92 -0
  40. package/extensions/docker-worker/dist/index.d.ts.map +1 -0
  41. package/extensions/docker-worker/dist/index.js +283 -0
  42. package/extensions/docker-worker/dist/index.js.map +1 -0
  43. package/extensions/docker-worker/package.json +14 -0
  44. package/extensions/jira-tracker/dist/client.d.ts +50 -0
  45. package/extensions/jira-tracker/dist/client.d.ts.map +1 -0
  46. package/extensions/jira-tracker/dist/client.js +619 -0
  47. package/extensions/jira-tracker/dist/client.js.map +1 -0
  48. package/extensions/jira-tracker/dist/index.d.ts +5 -0
  49. package/extensions/jira-tracker/dist/index.d.ts.map +1 -0
  50. package/extensions/jira-tracker/dist/index.js +5 -0
  51. package/extensions/jira-tracker/dist/index.js.map +1 -0
  52. package/extensions/jira-tracker/dist/options.d.ts +38 -0
  53. package/extensions/jira-tracker/dist/options.d.ts.map +1 -0
  54. package/extensions/jira-tracker/dist/options.js +61 -0
  55. package/extensions/jira-tracker/dist/options.js.map +1 -0
  56. package/extensions/jira-tracker/dist/provider.d.ts +6 -0
  57. package/extensions/jira-tracker/dist/provider.d.ts.map +1 -0
  58. package/extensions/jira-tracker/dist/provider.js +178 -0
  59. package/extensions/jira-tracker/dist/provider.js.map +1 -0
  60. package/extensions/jira-tracker/dist/register.d.ts +10 -0
  61. package/extensions/jira-tracker/dist/register.d.ts.map +1 -0
  62. package/extensions/jira-tracker/dist/register.js +15 -0
  63. package/extensions/jira-tracker/dist/register.js.map +1 -0
  64. package/extensions/jira-tracker/package.json +16 -0
  65. package/extensions/linear-tracker/dist/client.d.ts +82 -0
  66. package/extensions/linear-tracker/dist/client.d.ts.map +1 -0
  67. package/extensions/linear-tracker/dist/client.js +622 -0
  68. package/extensions/linear-tracker/dist/client.js.map +1 -0
  69. package/extensions/linear-tracker/dist/index.d.ts +8 -0
  70. package/extensions/linear-tracker/dist/index.d.ts.map +1 -0
  71. package/extensions/linear-tracker/dist/index.js +7 -0
  72. package/extensions/linear-tracker/dist/index.js.map +1 -0
  73. package/extensions/linear-tracker/dist/options.d.ts +32 -0
  74. package/extensions/linear-tracker/dist/options.d.ts.map +1 -0
  75. package/extensions/linear-tracker/dist/options.js +59 -0
  76. package/extensions/linear-tracker/dist/options.js.map +1 -0
  77. package/extensions/linear-tracker/dist/provider.d.ts +4 -0
  78. package/extensions/linear-tracker/dist/provider.d.ts.map +1 -0
  79. package/extensions/linear-tracker/dist/provider.js +58 -0
  80. package/extensions/linear-tracker/dist/provider.js.map +1 -0
  81. package/extensions/linear-tracker/dist/register.d.ts +11 -0
  82. package/extensions/linear-tracker/dist/register.d.ts.map +1 -0
  83. package/extensions/linear-tracker/dist/register.js +19 -0
  84. package/extensions/linear-tracker/dist/register.js.map +1 -0
  85. package/extensions/linear-tracker/dist/toolOps.d.ts +8 -0
  86. package/extensions/linear-tracker/dist/toolOps.d.ts.map +1 -0
  87. package/extensions/linear-tracker/dist/toolOps.js +160 -0
  88. package/extensions/linear-tracker/dist/toolOps.js.map +1 -0
  89. package/extensions/linear-tracker/dist/tools.d.ts +7 -0
  90. package/extensions/linear-tracker/dist/tools.d.ts.map +1 -0
  91. package/extensions/linear-tracker/dist/tools.js +210 -0
  92. package/extensions/linear-tracker/dist/tools.js.map +1 -0
  93. package/extensions/linear-tracker/package.json +18 -0
  94. package/extensions/local-tracker/dist/boardStore.d.ts +116 -0
  95. package/extensions/local-tracker/dist/boardStore.d.ts.map +1 -0
  96. package/extensions/local-tracker/dist/boardStore.js +475 -0
  97. package/extensions/local-tracker/dist/boardStore.js.map +1 -0
  98. package/extensions/local-tracker/dist/client.d.ts +14 -0
  99. package/extensions/local-tracker/dist/client.d.ts.map +1 -0
  100. package/extensions/local-tracker/dist/client.js +27 -0
  101. package/extensions/local-tracker/dist/client.js.map +1 -0
  102. package/extensions/local-tracker/dist/index.d.ts +7 -0
  103. package/extensions/local-tracker/dist/index.d.ts.map +1 -0
  104. package/extensions/local-tracker/dist/index.js +7 -0
  105. package/extensions/local-tracker/dist/index.js.map +1 -0
  106. package/extensions/local-tracker/dist/options.d.ts +31 -0
  107. package/extensions/local-tracker/dist/options.d.ts.map +1 -0
  108. package/extensions/local-tracker/dist/options.js +69 -0
  109. package/extensions/local-tracker/dist/options.js.map +1 -0
  110. package/extensions/local-tracker/dist/provider.d.ts +9 -0
  111. package/extensions/local-tracker/dist/provider.d.ts.map +1 -0
  112. package/extensions/local-tracker/dist/provider.js +35 -0
  113. package/extensions/local-tracker/dist/provider.js.map +1 -0
  114. package/extensions/local-tracker/dist/register.d.ts +11 -0
  115. package/extensions/local-tracker/dist/register.d.ts.map +1 -0
  116. package/extensions/local-tracker/dist/register.js +19 -0
  117. package/extensions/local-tracker/dist/register.js.map +1 -0
  118. package/extensions/local-tracker/dist/resolveBoardDir.d.ts +24 -0
  119. package/extensions/local-tracker/dist/resolveBoardDir.d.ts.map +1 -0
  120. package/extensions/local-tracker/dist/resolveBoardDir.js +39 -0
  121. package/extensions/local-tracker/dist/resolveBoardDir.js.map +1 -0
  122. package/extensions/local-tracker/dist/toolOps.d.ts +9 -0
  123. package/extensions/local-tracker/dist/toolOps.d.ts.map +1 -0
  124. package/extensions/local-tracker/dist/toolOps.js +86 -0
  125. package/extensions/local-tracker/dist/toolOps.js.map +1 -0
  126. package/extensions/local-tracker/dist/tools.d.ts +7 -0
  127. package/extensions/local-tracker/dist/tools.d.ts.map +1 -0
  128. package/extensions/local-tracker/dist/tools.js +170 -0
  129. package/extensions/local-tracker/dist/tools.js.map +1 -0
  130. package/extensions/local-tracker/package.json +18 -0
  131. package/extensions/memory-tracker/dist/index.d.ts +24 -0
  132. package/extensions/memory-tracker/dist/index.d.ts.map +1 -0
  133. package/extensions/memory-tracker/dist/index.js +110 -0
  134. package/extensions/memory-tracker/dist/index.js.map +1 -0
  135. package/extensions/memory-tracker/package.json +16 -0
  136. package/extensions/slack-tracker/dist/client.d.ts +88 -0
  137. package/extensions/slack-tracker/dist/client.d.ts.map +1 -0
  138. package/extensions/slack-tracker/dist/client.js +246 -0
  139. package/extensions/slack-tracker/dist/client.js.map +1 -0
  140. package/extensions/slack-tracker/dist/inMemoryTransport.d.ts +42 -0
  141. package/extensions/slack-tracker/dist/inMemoryTransport.d.ts.map +1 -0
  142. package/extensions/slack-tracker/dist/inMemoryTransport.js +104 -0
  143. package/extensions/slack-tracker/dist/inMemoryTransport.js.map +1 -0
  144. package/extensions/slack-tracker/dist/index.d.ts +15 -0
  145. package/extensions/slack-tracker/dist/index.d.ts.map +1 -0
  146. package/extensions/slack-tracker/dist/index.js +11 -0
  147. package/extensions/slack-tracker/dist/index.js.map +1 -0
  148. package/extensions/slack-tracker/dist/mapping.d.ts +27 -0
  149. package/extensions/slack-tracker/dist/mapping.d.ts.map +1 -0
  150. package/extensions/slack-tracker/dist/mapping.js +109 -0
  151. package/extensions/slack-tracker/dist/mapping.js.map +1 -0
  152. package/extensions/slack-tracker/dist/operations.d.ts +41 -0
  153. package/extensions/slack-tracker/dist/operations.d.ts.map +1 -0
  154. package/extensions/slack-tracker/dist/operations.js +97 -0
  155. package/extensions/slack-tracker/dist/operations.js.map +1 -0
  156. package/extensions/slack-tracker/dist/options.d.ts +30 -0
  157. package/extensions/slack-tracker/dist/options.d.ts.map +1 -0
  158. package/extensions/slack-tracker/dist/options.js +49 -0
  159. package/extensions/slack-tracker/dist/options.js.map +1 -0
  160. package/extensions/slack-tracker/dist/provider.d.ts +9 -0
  161. package/extensions/slack-tracker/dist/provider.d.ts.map +1 -0
  162. package/extensions/slack-tracker/dist/provider.js +74 -0
  163. package/extensions/slack-tracker/dist/provider.js.map +1 -0
  164. package/extensions/slack-tracker/dist/register.d.ts +11 -0
  165. package/extensions/slack-tracker/dist/register.d.ts.map +1 -0
  166. package/extensions/slack-tracker/dist/register.js +19 -0
  167. package/extensions/slack-tracker/dist/register.js.map +1 -0
  168. package/extensions/slack-tracker/dist/threadState.d.ts +52 -0
  169. package/extensions/slack-tracker/dist/threadState.d.ts.map +1 -0
  170. package/extensions/slack-tracker/dist/threadState.js +192 -0
  171. package/extensions/slack-tracker/dist/threadState.js.map +1 -0
  172. package/extensions/slack-tracker/dist/toolOps.d.ts +13 -0
  173. package/extensions/slack-tracker/dist/toolOps.d.ts.map +1 -0
  174. package/extensions/slack-tracker/dist/toolOps.js +76 -0
  175. package/extensions/slack-tracker/dist/toolOps.js.map +1 -0
  176. package/extensions/slack-tracker/dist/tools.d.ts +8 -0
  177. package/extensions/slack-tracker/dist/tools.d.ts.map +1 -0
  178. package/extensions/slack-tracker/dist/tools.js +266 -0
  179. package/extensions/slack-tracker/dist/tools.js.map +1 -0
  180. package/extensions/slack-tracker/dist/transport.d.ts +63 -0
  181. package/extensions/slack-tracker/dist/transport.d.ts.map +1 -0
  182. package/extensions/slack-tracker/dist/transport.js +2 -0
  183. package/extensions/slack-tracker/dist/transport.js.map +1 -0
  184. package/extensions/slack-tracker/dist/webTransport.d.ts +44 -0
  185. package/extensions/slack-tracker/dist/webTransport.d.ts.map +1 -0
  186. package/extensions/slack-tracker/dist/webTransport.js +402 -0
  187. package/extensions/slack-tracker/dist/webTransport.js.map +1 -0
  188. package/extensions/slack-tracker/package.json +17 -0
  189. package/package.json +89 -0
  190. package/packages/acp/dist/childProcess.d.ts +4 -0
  191. package/packages/acp/dist/childProcess.d.ts.map +1 -0
  192. package/packages/acp/dist/childProcess.js +33 -0
  193. package/packages/acp/dist/childProcess.js.map +1 -0
  194. package/packages/acp/dist/index.d.ts +70 -0
  195. package/packages/acp/dist/index.d.ts.map +1 -0
  196. package/packages/acp/dist/index.js +701 -0
  197. package/packages/acp/dist/index.js.map +1 -0
  198. package/packages/acp/dist/options.d.ts +24 -0
  199. package/packages/acp/dist/options.d.ts.map +1 -0
  200. package/packages/acp/dist/options.js +92 -0
  201. package/packages/acp/dist/options.js.map +1 -0
  202. package/packages/acp/dist/toml.d.ts +2 -0
  203. package/packages/acp/dist/toml.d.ts.map +1 -0
  204. package/packages/acp/dist/toml.js +51 -0
  205. package/packages/acp/dist/toml.js.map +1 -0
  206. package/packages/acp/package.json +24 -0
  207. package/packages/agent-runner/dist/index.d.ts +58 -0
  208. package/packages/agent-runner/dist/index.d.ts.map +1 -0
  209. package/packages/agent-runner/dist/index.js +288 -0
  210. package/packages/agent-runner/dist/index.js.map +1 -0
  211. package/packages/agent-runner/package.json +19 -0
  212. package/packages/agent-sdk/dist/index.d.ts +2 -0
  213. package/packages/agent-sdk/dist/index.d.ts.map +1 -0
  214. package/packages/agent-sdk/dist/index.js +2 -0
  215. package/packages/agent-sdk/dist/index.js.map +1 -0
  216. package/packages/agent-sdk/dist/provider.d.ts +66 -0
  217. package/packages/agent-sdk/dist/provider.d.ts.map +1 -0
  218. package/packages/agent-sdk/dist/provider.js +38 -0
  219. package/packages/agent-sdk/dist/provider.js.map +1 -0
  220. package/packages/agent-sdk/package.json +14 -0
  221. package/packages/cli-kit/dist/index.d.ts +20 -0
  222. package/packages/cli-kit/dist/index.d.ts.map +1 -0
  223. package/packages/cli-kit/dist/index.js +72 -0
  224. package/packages/cli-kit/dist/index.js.map +1 -0
  225. package/packages/cli-kit/package.json +14 -0
  226. package/packages/config/dist/aliases.d.ts +10 -0
  227. package/packages/config/dist/aliases.d.ts.map +1 -0
  228. package/packages/config/dist/aliases.js +153 -0
  229. package/packages/config/dist/aliases.js.map +1 -0
  230. package/packages/config/dist/defaults.d.ts +12 -0
  231. package/packages/config/dist/defaults.d.ts.map +1 -0
  232. package/packages/config/dist/defaults.js +78 -0
  233. package/packages/config/dist/defaults.js.map +1 -0
  234. package/packages/config/dist/errors.d.ts +3 -0
  235. package/packages/config/dist/errors.d.ts.map +1 -0
  236. package/packages/config/dist/errors.js +56 -0
  237. package/packages/config/dist/errors.js.map +1 -0
  238. package/packages/config/dist/index.d.ts +5 -0
  239. package/packages/config/dist/index.d.ts.map +1 -0
  240. package/packages/config/dist/index.js +4 -0
  241. package/packages/config/dist/index.js.map +1 -0
  242. package/packages/config/dist/leaf-utils.d.ts +3 -0
  243. package/packages/config/dist/leaf-utils.d.ts.map +1 -0
  244. package/packages/config/dist/leaf-utils.js +9 -0
  245. package/packages/config/dist/leaf-utils.js.map +1 -0
  246. package/packages/config/dist/parse.d.ts +11 -0
  247. package/packages/config/dist/parse.d.ts.map +1 -0
  248. package/packages/config/dist/parse.js +821 -0
  249. package/packages/config/dist/parse.js.map +1 -0
  250. package/packages/config/dist/schemas.d.ts +214 -0
  251. package/packages/config/dist/schemas.d.ts.map +1 -0
  252. package/packages/config/dist/schemas.js +248 -0
  253. package/packages/config/dist/schemas.js.map +1 -0
  254. package/packages/config/package.json +19 -0
  255. package/packages/dispatch/dist/index.d.ts +22 -0
  256. package/packages/dispatch/dist/index.d.ts.map +1 -0
  257. package/packages/dispatch/dist/index.js +117 -0
  258. package/packages/dispatch/dist/index.js.map +1 -0
  259. package/packages/dispatch/package.json +16 -0
  260. package/packages/dispatch-coordinator/dist/coordinator.d.ts +158 -0
  261. package/packages/dispatch-coordinator/dist/coordinator.d.ts.map +1 -0
  262. package/packages/dispatch-coordinator/dist/coordinator.js +529 -0
  263. package/packages/dispatch-coordinator/dist/coordinator.js.map +1 -0
  264. package/packages/dispatch-coordinator/dist/gate.d.ts +24 -0
  265. package/packages/dispatch-coordinator/dist/gate.d.ts.map +1 -0
  266. package/packages/dispatch-coordinator/dist/gate.js +47 -0
  267. package/packages/dispatch-coordinator/dist/gate.js.map +1 -0
  268. package/packages/dispatch-coordinator/dist/index.d.ts +6 -0
  269. package/packages/dispatch-coordinator/dist/index.d.ts.map +1 -0
  270. package/packages/dispatch-coordinator/dist/index.js +16 -0
  271. package/packages/dispatch-coordinator/dist/index.js.map +1 -0
  272. package/packages/dispatch-coordinator/dist/mcpEndpointManager.d.ts +28 -0
  273. package/packages/dispatch-coordinator/dist/mcpEndpointManager.d.ts.map +1 -0
  274. package/packages/dispatch-coordinator/dist/mcpEndpointManager.js +54 -0
  275. package/packages/dispatch-coordinator/dist/mcpEndpointManager.js.map +1 -0
  276. package/packages/dispatch-coordinator/dist/nullEndpointManager.d.ts +18 -0
  277. package/packages/dispatch-coordinator/dist/nullEndpointManager.d.ts.map +1 -0
  278. package/packages/dispatch-coordinator/dist/nullEndpointManager.js +40 -0
  279. package/packages/dispatch-coordinator/dist/nullEndpointManager.js.map +1 -0
  280. package/packages/dispatch-coordinator/dist/types.d.ts +119 -0
  281. package/packages/dispatch-coordinator/dist/types.d.ts.map +1 -0
  282. package/packages/dispatch-coordinator/dist/types.js +17 -0
  283. package/packages/dispatch-coordinator/dist/types.js.map +1 -0
  284. package/packages/dispatch-coordinator/package.json +16 -0
  285. package/packages/domain/dist/index.d.ts +775 -0
  286. package/packages/domain/dist/index.d.ts.map +1 -0
  287. package/packages/domain/dist/index.js +124 -0
  288. package/packages/domain/dist/index.js.map +1 -0
  289. package/packages/domain/package.json +14 -0
  290. package/packages/humanize/dist/index.d.ts +4 -0
  291. package/packages/humanize/dist/index.d.ts.map +1 -0
  292. package/packages/humanize/dist/index.js +347 -0
  293. package/packages/humanize/dist/index.js.map +1 -0
  294. package/packages/humanize/package.json +11 -0
  295. package/packages/issue/dist/index.d.ts +7 -0
  296. package/packages/issue/dist/index.d.ts.map +1 -0
  297. package/packages/issue/dist/index.js +147 -0
  298. package/packages/issue/dist/index.js.map +1 -0
  299. package/packages/issue/package.json +14 -0
  300. package/packages/log-file/dist/index.d.ts +10 -0
  301. package/packages/log-file/dist/index.d.ts.map +1 -0
  302. package/packages/log-file/dist/index.js +200 -0
  303. package/packages/log-file/dist/index.js.map +1 -0
  304. package/packages/log-file/package.json +15 -0
  305. package/packages/mcp/dist/agentEndpoint.d.ts +31 -0
  306. package/packages/mcp/dist/agentEndpoint.d.ts.map +1 -0
  307. package/packages/mcp/dist/agentEndpoint.js +270 -0
  308. package/packages/mcp/dist/agentEndpoint.js.map +1 -0
  309. package/packages/mcp/dist/auth.d.ts +7 -0
  310. package/packages/mcp/dist/auth.d.ts.map +1 -0
  311. package/packages/mcp/dist/auth.js +48 -0
  312. package/packages/mcp/dist/auth.js.map +1 -0
  313. package/packages/mcp/dist/filter.d.ts +70 -0
  314. package/packages/mcp/dist/filter.d.ts.map +1 -0
  315. package/packages/mcp/dist/filter.js +231 -0
  316. package/packages/mcp/dist/filter.js.map +1 -0
  317. package/packages/mcp/dist/index.d.ts +7 -0
  318. package/packages/mcp/dist/index.d.ts.map +1 -0
  319. package/packages/mcp/dist/index.js +5 -0
  320. package/packages/mcp/dist/index.js.map +1 -0
  321. package/packages/mcp/dist/server.d.ts +31 -0
  322. package/packages/mcp/dist/server.d.ts.map +1 -0
  323. package/packages/mcp/dist/server.js +176 -0
  324. package/packages/mcp/dist/server.js.map +1 -0
  325. package/packages/mcp/dist/tools/linear.d.ts +5 -0
  326. package/packages/mcp/dist/tools/linear.d.ts.map +1 -0
  327. package/packages/mcp/dist/tools/linear.js +192 -0
  328. package/packages/mcp/dist/tools/linear.js.map +1 -0
  329. package/packages/mcp/dist/tools/local.d.ts +5 -0
  330. package/packages/mcp/dist/tools/local.d.ts.map +1 -0
  331. package/packages/mcp/dist/tools/local.js +161 -0
  332. package/packages/mcp/dist/tools/local.js.map +1 -0
  333. package/packages/mcp/dist/tools/result.d.ts +5 -0
  334. package/packages/mcp/dist/tools/result.d.ts.map +1 -0
  335. package/packages/mcp/dist/tools/result.js +15 -0
  336. package/packages/mcp/dist/tools/result.js.map +1 -0
  337. package/packages/mcp/dist/tools.d.ts +14 -0
  338. package/packages/mcp/dist/tools.d.ts.map +1 -0
  339. package/packages/mcp/dist/tools.js +58 -0
  340. package/packages/mcp/dist/tools.js.map +1 -0
  341. package/packages/mcp/package.json +20 -0
  342. package/packages/orchestrator/dist/index.d.ts +171 -0
  343. package/packages/orchestrator/dist/index.d.ts.map +1 -0
  344. package/packages/orchestrator/dist/index.js +524 -0
  345. package/packages/orchestrator/dist/index.js.map +1 -0
  346. package/packages/orchestrator/package.json +18 -0
  347. package/packages/policies/dist/index.d.ts +11 -0
  348. package/packages/policies/dist/index.d.ts.map +1 -0
  349. package/packages/policies/dist/index.js +6 -0
  350. package/packages/policies/dist/index.js.map +1 -0
  351. package/packages/policies/dist/reconciliation.d.ts +5 -0
  352. package/packages/policies/dist/reconciliation.d.ts.map +1 -0
  353. package/packages/policies/dist/reconciliation.js +17 -0
  354. package/packages/policies/dist/reconciliation.js.map +1 -0
  355. package/packages/policies/dist/resume.d.ts +14 -0
  356. package/packages/policies/dist/resume.d.ts.map +1 -0
  357. package/packages/policies/dist/resume.js +7 -0
  358. package/packages/policies/dist/resume.js.map +1 -0
  359. package/packages/policies/dist/retry.d.ts +4 -0
  360. package/packages/policies/dist/retry.d.ts.map +1 -0
  361. package/packages/policies/dist/retry.js +7 -0
  362. package/packages/policies/dist/retry.js.map +1 -0
  363. package/packages/policies/dist/stopReason.d.ts +4 -0
  364. package/packages/policies/dist/stopReason.d.ts.map +1 -0
  365. package/packages/policies/dist/stopReason.js +11 -0
  366. package/packages/policies/dist/stopReason.js.map +1 -0
  367. package/packages/policies/dist/usage.d.ts +14 -0
  368. package/packages/policies/dist/usage.d.ts.map +1 -0
  369. package/packages/policies/dist/usage.js +38 -0
  370. package/packages/policies/dist/usage.js.map +1 -0
  371. package/packages/policies/dist/workerHost.d.ts +8 -0
  372. package/packages/policies/dist/workerHost.d.ts.map +1 -0
  373. package/packages/policies/dist/workerHost.js +20 -0
  374. package/packages/policies/dist/workerHost.js.map +1 -0
  375. package/packages/policies/package.json +21 -0
  376. package/packages/presenter/dist/index.d.ts +81 -0
  377. package/packages/presenter/dist/index.d.ts.map +1 -0
  378. package/packages/presenter/dist/index.js +421 -0
  379. package/packages/presenter/dist/index.js.map +1 -0
  380. package/packages/presenter/package.json +16 -0
  381. package/packages/projections/dist/index.d.ts +10 -0
  382. package/packages/projections/dist/index.d.ts.map +1 -0
  383. package/packages/projections/dist/index.js +30 -0
  384. package/packages/projections/dist/index.js.map +1 -0
  385. package/packages/projections/package.json +15 -0
  386. package/packages/prompt/dist/index.d.ts +9 -0
  387. package/packages/prompt/dist/index.d.ts.map +1 -0
  388. package/packages/prompt/dist/index.js +71 -0
  389. package/packages/prompt/dist/index.js.map +1 -0
  390. package/packages/prompt/package.json +16 -0
  391. package/packages/retry-scheduler/dist/index.d.ts +12 -0
  392. package/packages/retry-scheduler/dist/index.d.ts.map +1 -0
  393. package/packages/retry-scheduler/dist/index.js +39 -0
  394. package/packages/retry-scheduler/dist/index.js.map +1 -0
  395. package/packages/retry-scheduler/package.json +15 -0
  396. package/packages/runtime/dist/index.d.ts +157 -0
  397. package/packages/runtime/dist/index.d.ts.map +1 -0
  398. package/packages/runtime/dist/index.js +1074 -0
  399. package/packages/runtime/dist/index.js.map +1 -0
  400. package/packages/runtime/package.json +26 -0
  401. package/packages/runtime-events/dist/index.d.ts +110 -0
  402. package/packages/runtime-events/dist/index.d.ts.map +1 -0
  403. package/packages/runtime-events/dist/index.js +25 -0
  404. package/packages/runtime-events/dist/index.js.map +1 -0
  405. package/packages/runtime-events/package.json +14 -0
  406. package/packages/server/dist/index.d.ts +25 -0
  407. package/packages/server/dist/index.d.ts.map +1 -0
  408. package/packages/server/dist/index.js +213 -0
  409. package/packages/server/dist/index.js.map +1 -0
  410. package/packages/server/dist/issue-store.d.ts +26 -0
  411. package/packages/server/dist/issue-store.d.ts.map +1 -0
  412. package/packages/server/dist/issue-store.js +88 -0
  413. package/packages/server/dist/issue-store.js.map +1 -0
  414. package/packages/server/dist/path-params.d.ts +6 -0
  415. package/packages/server/dist/path-params.d.ts.map +1 -0
  416. package/packages/server/dist/path-params.js +15 -0
  417. package/packages/server/dist/path-params.js.map +1 -0
  418. package/packages/server/dist/source.d.ts +12 -0
  419. package/packages/server/dist/source.d.ts.map +1 -0
  420. package/packages/server/dist/source.js +2 -0
  421. package/packages/server/dist/source.js.map +1 -0
  422. package/packages/server/dist/trace-routes.d.ts +21 -0
  423. package/packages/server/dist/trace-routes.d.ts.map +1 -0
  424. package/packages/server/dist/trace-routes.js +66 -0
  425. package/packages/server/dist/trace-routes.js.map +1 -0
  426. package/packages/server/dist/ws.d.ts +18 -0
  427. package/packages/server/dist/ws.d.ts.map +1 -0
  428. package/packages/server/dist/ws.js +168 -0
  429. package/packages/server/dist/ws.js.map +1 -0
  430. package/packages/server/package.json +22 -0
  431. package/packages/ssh/dist/index.d.ts +33 -0
  432. package/packages/ssh/dist/index.d.ts.map +1 -0
  433. package/packages/ssh/dist/index.js +281 -0
  434. package/packages/ssh/dist/index.js.map +1 -0
  435. package/packages/ssh/package.json +15 -0
  436. package/packages/static-worker/dist/index.d.ts +73 -0
  437. package/packages/static-worker/dist/index.d.ts.map +1 -0
  438. package/packages/static-worker/dist/index.js +150 -0
  439. package/packages/static-worker/dist/index.js.map +1 -0
  440. package/packages/static-worker/package.json +14 -0
  441. package/packages/tool-sdk/dist/filter.d.ts +70 -0
  442. package/packages/tool-sdk/dist/filter.d.ts.map +1 -0
  443. package/packages/tool-sdk/dist/filter.js +231 -0
  444. package/packages/tool-sdk/dist/filter.js.map +1 -0
  445. package/packages/tool-sdk/dist/index.d.ts +6 -0
  446. package/packages/tool-sdk/dist/index.d.ts.map +1 -0
  447. package/packages/tool-sdk/dist/index.js +4 -0
  448. package/packages/tool-sdk/dist/index.js.map +1 -0
  449. package/packages/tool-sdk/dist/provider.d.ts +51 -0
  450. package/packages/tool-sdk/dist/provider.d.ts.map +1 -0
  451. package/packages/tool-sdk/dist/provider.js +2 -0
  452. package/packages/tool-sdk/dist/provider.js.map +1 -0
  453. package/packages/tool-sdk/dist/registry.d.ts +35 -0
  454. package/packages/tool-sdk/dist/registry.d.ts.map +1 -0
  455. package/packages/tool-sdk/dist/registry.js +85 -0
  456. package/packages/tool-sdk/dist/registry.js.map +1 -0
  457. package/packages/tool-sdk/dist/result.d.ts +5 -0
  458. package/packages/tool-sdk/dist/result.d.ts.map +1 -0
  459. package/packages/tool-sdk/dist/result.js +15 -0
  460. package/packages/tool-sdk/dist/result.js.map +1 -0
  461. package/packages/tool-sdk/package.json +14 -0
  462. package/packages/traceviz-emitter/dist/index.d.ts +19 -0
  463. package/packages/traceviz-emitter/dist/index.d.ts.map +1 -0
  464. package/packages/traceviz-emitter/dist/index.js +97 -0
  465. package/packages/traceviz-emitter/dist/index.js.map +1 -0
  466. package/packages/traceviz-emitter/package.json +17 -0
  467. package/packages/traceviz-server/dist/index.d.ts +14 -0
  468. package/packages/traceviz-server/dist/index.d.ts.map +1 -0
  469. package/packages/traceviz-server/dist/index.js +10 -0
  470. package/packages/traceviz-server/dist/index.js.map +1 -0
  471. package/packages/traceviz-server/dist/models/api.d.ts +51 -0
  472. package/packages/traceviz-server/dist/models/api.d.ts.map +1 -0
  473. package/packages/traceviz-server/dist/models/api.js +5 -0
  474. package/packages/traceviz-server/dist/models/api.js.map +1 -0
  475. package/packages/traceviz-server/dist/models/display-events.d.ts +58 -0
  476. package/packages/traceviz-server/dist/models/display-events.d.ts.map +1 -0
  477. package/packages/traceviz-server/dist/models/display-events.js +6 -0
  478. package/packages/traceviz-server/dist/models/display-events.js.map +1 -0
  479. package/packages/traceviz-server/dist/parser.d.ts +14 -0
  480. package/packages/traceviz-server/dist/parser.d.ts.map +1 -0
  481. package/packages/traceviz-server/dist/parser.js +363 -0
  482. package/packages/traceviz-server/dist/parser.js.map +1 -0
  483. package/packages/traceviz-server/dist/stats.d.ts +7 -0
  484. package/packages/traceviz-server/dist/stats.d.ts.map +1 -0
  485. package/packages/traceviz-server/dist/stats.js +81 -0
  486. package/packages/traceviz-server/dist/stats.js.map +1 -0
  487. package/packages/traceviz-server/dist/watcher.d.ts +54 -0
  488. package/packages/traceviz-server/dist/watcher.d.ts.map +1 -0
  489. package/packages/traceviz-server/dist/watcher.js +368 -0
  490. package/packages/traceviz-server/dist/watcher.js.map +1 -0
  491. package/packages/traceviz-server/package.json +16 -0
  492. package/packages/tracker-sdk/dist/index.d.ts +5 -0
  493. package/packages/tracker-sdk/dist/index.d.ts.map +1 -0
  494. package/packages/tracker-sdk/dist/index.js +4 -0
  495. package/packages/tracker-sdk/dist/index.js.map +1 -0
  496. package/packages/tracker-sdk/dist/options.d.ts +20 -0
  497. package/packages/tracker-sdk/dist/options.d.ts.map +1 -0
  498. package/packages/tracker-sdk/dist/options.js +46 -0
  499. package/packages/tracker-sdk/dist/options.js.map +1 -0
  500. package/packages/tracker-sdk/dist/provider.d.ts +104 -0
  501. package/packages/tracker-sdk/dist/provider.d.ts.map +1 -0
  502. package/packages/tracker-sdk/dist/provider.js +2 -0
  503. package/packages/tracker-sdk/dist/provider.js.map +1 -0
  504. package/packages/tracker-sdk/dist/registry.d.ts +26 -0
  505. package/packages/tracker-sdk/dist/registry.d.ts.map +1 -0
  506. package/packages/tracker-sdk/dist/registry.js +52 -0
  507. package/packages/tracker-sdk/dist/registry.js.map +1 -0
  508. package/packages/tracker-sdk/dist/toolPack.d.ts +10 -0
  509. package/packages/tracker-sdk/dist/toolPack.d.ts.map +1 -0
  510. package/packages/tracker-sdk/dist/toolPack.js +185 -0
  511. package/packages/tracker-sdk/dist/toolPack.js.map +1 -0
  512. package/packages/tracker-sdk/package.json +15 -0
  513. package/packages/tui/dist/index.d.ts +35 -0
  514. package/packages/tui/dist/index.d.ts.map +1 -0
  515. package/packages/tui/dist/index.js +354 -0
  516. package/packages/tui/dist/index.js.map +1 -0
  517. package/packages/tui/package.json +18 -0
  518. package/packages/worker-host-pool/dist/index.d.ts +33 -0
  519. package/packages/worker-host-pool/dist/index.d.ts.map +1 -0
  520. package/packages/worker-host-pool/dist/index.js +311 -0
  521. package/packages/worker-host-pool/dist/index.js.map +1 -0
  522. package/packages/worker-host-pool/package.json +14 -0
  523. package/packages/worker-pool/dist/index.d.ts +6 -0
  524. package/packages/worker-pool/dist/index.d.ts.map +1 -0
  525. package/packages/worker-pool/dist/index.js +15 -0
  526. package/packages/worker-pool/dist/index.js.map +1 -0
  527. package/packages/worker-pool/dist/lease.d.ts +36 -0
  528. package/packages/worker-pool/dist/lease.d.ts.map +1 -0
  529. package/packages/worker-pool/dist/lease.js +53 -0
  530. package/packages/worker-pool/dist/lease.js.map +1 -0
  531. package/packages/worker-pool/dist/ledger.d.ts +51 -0
  532. package/packages/worker-pool/dist/ledger.d.ts.map +1 -0
  533. package/packages/worker-pool/dist/ledger.js +165 -0
  534. package/packages/worker-pool/dist/ledger.js.map +1 -0
  535. package/packages/worker-pool/dist/mutex.d.ts +10 -0
  536. package/packages/worker-pool/dist/mutex.d.ts.map +1 -0
  537. package/packages/worker-pool/dist/mutex.js +22 -0
  538. package/packages/worker-pool/dist/mutex.js.map +1 -0
  539. package/packages/worker-pool/dist/pool.d.ts +33 -0
  540. package/packages/worker-pool/dist/pool.d.ts.map +1 -0
  541. package/packages/worker-pool/dist/pool.js +1727 -0
  542. package/packages/worker-pool/dist/pool.js.map +1 -0
  543. package/packages/worker-pool/dist/reaper.d.ts +94 -0
  544. package/packages/worker-pool/dist/reaper.d.ts.map +1 -0
  545. package/packages/worker-pool/dist/reaper.js +295 -0
  546. package/packages/worker-pool/dist/reaper.js.map +1 -0
  547. package/packages/worker-pool/dist/types.d.ts +249 -0
  548. package/packages/worker-pool/dist/types.d.ts.map +1 -0
  549. package/packages/worker-pool/dist/types.js +2 -0
  550. package/packages/worker-pool/dist/types.js.map +1 -0
  551. package/packages/worker-pool/package.json +16 -0
  552. package/packages/worker-sdk/dist/conformance.d.ts +64 -0
  553. package/packages/worker-sdk/dist/conformance.d.ts.map +1 -0
  554. package/packages/worker-sdk/dist/conformance.js +109 -0
  555. package/packages/worker-sdk/dist/conformance.js.map +1 -0
  556. package/packages/worker-sdk/dist/fake.d.ts +76 -0
  557. package/packages/worker-sdk/dist/fake.d.ts.map +1 -0
  558. package/packages/worker-sdk/dist/fake.js +142 -0
  559. package/packages/worker-sdk/dist/fake.js.map +1 -0
  560. package/packages/worker-sdk/dist/index.d.ts +5 -0
  561. package/packages/worker-sdk/dist/index.d.ts.map +1 -0
  562. package/packages/worker-sdk/dist/index.js +10 -0
  563. package/packages/worker-sdk/dist/index.js.map +1 -0
  564. package/packages/worker-sdk/dist/module.d.ts +46 -0
  565. package/packages/worker-sdk/dist/module.d.ts.map +1 -0
  566. package/packages/worker-sdk/dist/module.js +59 -0
  567. package/packages/worker-sdk/dist/module.js.map +1 -0
  568. package/packages/worker-sdk/dist/registry.d.ts +24 -0
  569. package/packages/worker-sdk/dist/registry.d.ts.map +1 -0
  570. package/packages/worker-sdk/dist/registry.js +49 -0
  571. package/packages/worker-sdk/dist/registry.js.map +1 -0
  572. package/packages/worker-sdk/dist/types.d.ts +138 -0
  573. package/packages/worker-sdk/dist/types.d.ts.map +1 -0
  574. package/packages/worker-sdk/dist/types.js +21 -0
  575. package/packages/worker-sdk/dist/types.js.map +1 -0
  576. package/packages/worker-sdk/package.json +15 -0
  577. package/packages/workflow/dist/index.d.ts +33 -0
  578. package/packages/workflow/dist/index.d.ts.map +1 -0
  579. package/packages/workflow/dist/index.js +125 -0
  580. package/packages/workflow/dist/index.js.map +1 -0
  581. package/packages/workflow/package.json +19 -0
  582. package/packages/workspace/dist/index.d.ts +70 -0
  583. package/packages/workspace/dist/index.d.ts.map +1 -0
  584. package/packages/workspace/dist/index.js +1016 -0
  585. package/packages/workspace/dist/index.js.map +1 -0
  586. package/packages/workspace/package.json +17 -0
  587. package/runtime-deps/anthropic-claude-agent-sdk/LICENSE.md +1 -0
  588. package/runtime-deps/anthropic-claude-agent-sdk/README.md +65 -0
  589. package/runtime-deps/anthropic-claude-agent-sdk/agentSdkTypes.d.ts +1 -0
  590. package/runtime-deps/anthropic-claude-agent-sdk/assistant.d.ts +135 -0
  591. package/runtime-deps/anthropic-claude-agent-sdk/assistant.mjs +190 -0
  592. package/runtime-deps/anthropic-claude-agent-sdk/bridge.d.ts +231 -0
  593. package/runtime-deps/anthropic-claude-agent-sdk/bridge.mjs +168 -0
  594. package/runtime-deps/anthropic-claude-agent-sdk/browser-sdk.d.ts +53 -0
  595. package/runtime-deps/anthropic-claude-agent-sdk/browser-sdk.js +93 -0
  596. package/runtime-deps/anthropic-claude-agent-sdk/extractFromBunfs.d.ts +1 -0
  597. package/runtime-deps/anthropic-claude-agent-sdk/extractFromBunfs.js +156 -0
  598. package/runtime-deps/anthropic-claude-agent-sdk/manifest.json +47 -0
  599. package/runtime-deps/anthropic-claude-agent-sdk/manifest.zst.json +55 -0
  600. package/runtime-deps/anthropic-claude-agent-sdk/node_modules/.bin/anthropic-ai-sdk +21 -0
  601. package/runtime-deps/anthropic-claude-agent-sdk/package.json +81 -0
  602. package/runtime-deps/anthropic-claude-agent-sdk/sdk-tools.d.ts +3170 -0
  603. package/runtime-deps/anthropic-claude-agent-sdk/sdk.d.ts +6000 -0
  604. package/runtime-deps/anthropic-claude-agent-sdk/sdk.mjs +119 -0
  605. package/runtime-deps/openai-codex/README.md +60 -0
  606. package/runtime-deps/openai-codex/bin/codex.js +229 -0
  607. package/runtime-deps/openai-codex/bin/rg +79 -0
  608. package/runtime-deps/openai-codex/package.json +22 -0
  609. package/vendor/claude-agent-acp/dist/acp-agent.d.ts +239 -0
  610. package/vendor/claude-agent-acp/dist/acp-agent.d.ts.map +1 -0
  611. package/vendor/claude-agent-acp/dist/acp-agent.js +2693 -0
  612. package/vendor/claude-agent-acp/dist/bundle.js +41230 -0
  613. package/vendor/claude-agent-acp/dist/index.d.ts +3 -0
  614. package/vendor/claude-agent-acp/dist/index.d.ts.map +1 -0
  615. package/vendor/claude-agent-acp/dist/index.js +67 -0
  616. package/vendor/claude-agent-acp/dist/lib.d.ts +6 -0
  617. package/vendor/claude-agent-acp/dist/lib.d.ts.map +1 -0
  618. package/vendor/claude-agent-acp/dist/lib.js +5 -0
  619. package/vendor/claude-agent-acp/dist/settings.d.ts +68 -0
  620. package/vendor/claude-agent-acp/dist/settings.d.ts.map +1 -0
  621. package/vendor/claude-agent-acp/dist/settings.js +182 -0
  622. package/vendor/claude-agent-acp/dist/tools.d.ts +103 -0
  623. package/vendor/claude-agent-acp/dist/tools.d.ts.map +1 -0
  624. package/vendor/claude-agent-acp/dist/tools.js +713 -0
  625. package/vendor/claude-agent-acp/dist/utils.d.ts +16 -0
  626. package/vendor/claude-agent-acp/dist/utils.d.ts.map +1 -0
  627. package/vendor/claude-agent-acp/dist/utils.js +83 -0
  628. package/vendor/claude-agent-acp/package.json +23 -0
  629. package/vendor/codex-acp/dist/index.js +21280 -0
  630. package/vendor/codex-acp/package.json +17 -0
@@ -0,0 +1,713 @@
1
+ import path from "node:path";
2
+ /**
3
+ * Convert an absolute file path to a project-relative path for display.
4
+ * Returns the original path if it's outside the project directory or if no cwd is provided.
5
+ */
6
+ export function toDisplayPath(filePath, cwd) {
7
+ if (!cwd)
8
+ return filePath;
9
+ const resolvedCwd = path.resolve(cwd);
10
+ const resolvedFile = path.resolve(filePath);
11
+ if (resolvedFile.startsWith(resolvedCwd + path.sep) || resolvedFile === resolvedCwd) {
12
+ return path.relative(resolvedCwd, resolvedFile);
13
+ }
14
+ return filePath;
15
+ }
16
+ export function toolInfoFromToolUse(toolUse, supportsTerminalOutput = false, cwd) {
17
+ const name = toolUse.name;
18
+ switch (name) {
19
+ case "Agent":
20
+ case "Task": {
21
+ const input = toolUse.input;
22
+ return {
23
+ title: input?.description ? input.description : "Task",
24
+ kind: "think",
25
+ content: input && "prompt" in input
26
+ ? [
27
+ {
28
+ type: "content",
29
+ content: { type: "text", text: input.prompt },
30
+ },
31
+ ]
32
+ : [],
33
+ };
34
+ }
35
+ case "Bash": {
36
+ const input = toolUse.input;
37
+ return {
38
+ title: input?.command ? input.command : "Terminal",
39
+ kind: "execute",
40
+ content: supportsTerminalOutput
41
+ ? [{ type: "terminal", terminalId: toolUse.id }]
42
+ : input && input.description
43
+ ? [
44
+ {
45
+ type: "content",
46
+ content: { type: "text", text: input.description },
47
+ },
48
+ ]
49
+ : [],
50
+ };
51
+ }
52
+ case "Read": {
53
+ const input = toolUse.input;
54
+ let limit = "";
55
+ if (input?.limit && input.limit > 0) {
56
+ limit = " (" + (input.offset ?? 1) + " - " + ((input.offset ?? 1) + input.limit - 1) + ")";
57
+ }
58
+ else if (input?.offset) {
59
+ limit = " (from line " + input.offset + ")";
60
+ }
61
+ const displayPath = input?.file_path ? toDisplayPath(input.file_path, cwd) : "File";
62
+ return {
63
+ title: "Read " + displayPath + limit,
64
+ kind: "read",
65
+ locations: input?.file_path
66
+ ? [
67
+ {
68
+ path: input.file_path,
69
+ line: input.offset ?? 1,
70
+ },
71
+ ]
72
+ : [],
73
+ content: [],
74
+ };
75
+ }
76
+ case "Write": {
77
+ const input = toolUse.input;
78
+ let content = [];
79
+ if (input && input.file_path) {
80
+ content = [
81
+ {
82
+ type: "diff",
83
+ path: input.file_path,
84
+ oldText: null,
85
+ newText: input.content,
86
+ },
87
+ ];
88
+ }
89
+ else if (input && input.content) {
90
+ content = [
91
+ {
92
+ type: "content",
93
+ content: { type: "text", text: input.content },
94
+ },
95
+ ];
96
+ }
97
+ const displayPath = input?.file_path ? toDisplayPath(input.file_path, cwd) : undefined;
98
+ return {
99
+ title: displayPath ? `Write ${displayPath}` : "Write",
100
+ kind: "edit",
101
+ content,
102
+ locations: input?.file_path ? [{ path: input.file_path }] : [],
103
+ };
104
+ }
105
+ case "Edit": {
106
+ const input = toolUse.input;
107
+ let content = [];
108
+ if (input && input.file_path && (input.old_string || input.new_string)) {
109
+ content = [
110
+ {
111
+ type: "diff",
112
+ path: input.file_path,
113
+ oldText: input.old_string || null,
114
+ newText: input.new_string ?? "",
115
+ },
116
+ ];
117
+ }
118
+ const displayPath = input?.file_path ? toDisplayPath(input.file_path, cwd) : undefined;
119
+ return {
120
+ title: displayPath ? `Edit ${displayPath}` : "Edit",
121
+ kind: "edit",
122
+ content,
123
+ locations: input?.file_path ? [{ path: input.file_path }] : [],
124
+ };
125
+ }
126
+ case "Glob": {
127
+ const input = toolUse.input;
128
+ let label = "Find";
129
+ if (input?.path) {
130
+ label += ` \`${input.path}\``;
131
+ }
132
+ if (input?.pattern) {
133
+ label += ` \`${input.pattern}\``;
134
+ }
135
+ return {
136
+ title: label,
137
+ kind: "search",
138
+ content: [],
139
+ locations: input?.path ? [{ path: input.path }] : [],
140
+ };
141
+ }
142
+ case "Grep": {
143
+ const input = toolUse.input;
144
+ let label = "grep";
145
+ if (input?.["-i"]) {
146
+ label += " -i";
147
+ }
148
+ if (input?.["-n"]) {
149
+ label += " -n";
150
+ }
151
+ if (input?.["-A"] !== undefined) {
152
+ label += ` -A ${input["-A"]}`;
153
+ }
154
+ if (input?.["-B"] !== undefined) {
155
+ label += ` -B ${input["-B"]}`;
156
+ }
157
+ if (input?.["-C"] !== undefined) {
158
+ label += ` -C ${input["-C"]}`;
159
+ }
160
+ if (input?.output_mode) {
161
+ switch (input.output_mode) {
162
+ case "files_with_matches":
163
+ label += " -l";
164
+ break;
165
+ case "count":
166
+ label += " -c";
167
+ break;
168
+ case "content":
169
+ default:
170
+ break;
171
+ }
172
+ }
173
+ if (input?.head_limit !== undefined) {
174
+ label += ` | head -${input.head_limit}`;
175
+ }
176
+ if (input?.glob) {
177
+ label += ` --include="${input.glob}"`;
178
+ }
179
+ if (input?.type) {
180
+ label += ` --type=${input.type}`;
181
+ }
182
+ if (input?.multiline) {
183
+ label += " -P";
184
+ }
185
+ if (input?.pattern) {
186
+ label += ` "${input.pattern}"`;
187
+ }
188
+ if (input?.path) {
189
+ label += ` ${input.path}`;
190
+ }
191
+ return {
192
+ title: label,
193
+ kind: "search",
194
+ content: [],
195
+ };
196
+ }
197
+ case "WebFetch": {
198
+ const input = toolUse.input;
199
+ return {
200
+ title: input?.url ? `Fetch ${input.url}` : "Fetch",
201
+ kind: "fetch",
202
+ content: input && input.prompt
203
+ ? [
204
+ {
205
+ type: "content",
206
+ content: { type: "text", text: input.prompt },
207
+ },
208
+ ]
209
+ : [],
210
+ };
211
+ }
212
+ case "WebSearch": {
213
+ const input = toolUse.input;
214
+ let label = input?.query ? `"${input.query}"` : "Web search";
215
+ if (input?.allowed_domains && input.allowed_domains.length > 0) {
216
+ label += ` (allowed: ${input.allowed_domains.join(", ")})`;
217
+ }
218
+ if (input?.blocked_domains && input.blocked_domains.length > 0) {
219
+ label += ` (blocked: ${input.blocked_domains.join(", ")})`;
220
+ }
221
+ return {
222
+ title: label,
223
+ kind: "fetch",
224
+ content: [],
225
+ };
226
+ }
227
+ case "TodoWrite": {
228
+ const input = toolUse.input;
229
+ return {
230
+ title: Array.isArray(input?.todos)
231
+ ? `Update TODOs: ${input.todos.map((todo) => todo.content).join(", ")}`
232
+ : "Update TODOs",
233
+ kind: "think",
234
+ content: [],
235
+ };
236
+ }
237
+ case "TaskCreate": {
238
+ const input = toolUse.input;
239
+ return {
240
+ title: input?.subject ? `Create task: ${input.subject}` : "Create task",
241
+ kind: "think",
242
+ content: [],
243
+ };
244
+ }
245
+ case "TaskUpdate": {
246
+ const input = toolUse.input;
247
+ return {
248
+ title: input?.subject ? `Update task: ${input.subject}` : "Update task",
249
+ kind: "think",
250
+ content: [],
251
+ };
252
+ }
253
+ case "TaskList": {
254
+ return {
255
+ title: "List tasks",
256
+ kind: "think",
257
+ content: [],
258
+ };
259
+ }
260
+ case "TaskGet": {
261
+ return {
262
+ title: "Get task",
263
+ kind: "think",
264
+ content: [],
265
+ };
266
+ }
267
+ case "ExitPlanMode": {
268
+ const planInput = toolUse.input;
269
+ return {
270
+ title: "Ready to code?",
271
+ kind: "switch_mode",
272
+ content: planInput?.plan
273
+ ? [{ type: "content", content: { type: "text", text: planInput.plan } }]
274
+ : [],
275
+ };
276
+ }
277
+ case "Other": {
278
+ const input = toolUse.input;
279
+ let output;
280
+ try {
281
+ output = JSON.stringify(input, null, 2);
282
+ }
283
+ catch {
284
+ output = typeof input === "string" ? input : "{}";
285
+ }
286
+ return {
287
+ title: name || "Unknown Tool",
288
+ kind: "other",
289
+ content: [
290
+ {
291
+ type: "content",
292
+ content: {
293
+ type: "text",
294
+ text: `\`\`\`json\n${output}\`\`\``,
295
+ },
296
+ },
297
+ ],
298
+ };
299
+ }
300
+ default:
301
+ return {
302
+ title: name || "Unknown Tool",
303
+ kind: "other",
304
+ content: [],
305
+ };
306
+ }
307
+ }
308
+ export function toolUpdateFromToolResult(toolResult, toolUse, supportsTerminalOutput = false) {
309
+ if ("is_error" in toolResult &&
310
+ toolResult.is_error &&
311
+ toolResult.content &&
312
+ toolResult.content.length > 0) {
313
+ // Only return errors
314
+ return toAcpContentUpdate(toolResult.content, true);
315
+ }
316
+ switch (toolUse?.name) {
317
+ case "Read":
318
+ if (Array.isArray(toolResult.content) && toolResult.content.length > 0) {
319
+ return {
320
+ content: toolResult.content.map((content) => ({
321
+ type: "content",
322
+ content: content.type === "text"
323
+ ? {
324
+ type: "text",
325
+ text: markdownEscape(content.text),
326
+ }
327
+ : toAcpContentBlock(content, false),
328
+ })),
329
+ };
330
+ }
331
+ else if (typeof toolResult.content === "string" && toolResult.content.length > 0) {
332
+ return {
333
+ content: [
334
+ {
335
+ type: "content",
336
+ content: {
337
+ type: "text",
338
+ text: markdownEscape(toolResult.content),
339
+ },
340
+ },
341
+ ],
342
+ };
343
+ }
344
+ return {};
345
+ case "Bash": {
346
+ const result = toolResult.content;
347
+ const terminalId = "tool_use_id" in toolResult ? String(toolResult.tool_use_id) : "";
348
+ const isError = "is_error" in toolResult && toolResult.is_error;
349
+ // Extract output and exit code from either format:
350
+ // 1. BetaBashCodeExecutionResultBlock: { type: "bash_code_execution_result", stdout, stderr, return_code }
351
+ // 2. Plain string content from a regular tool_result
352
+ // 3. Array content (e.g. [{ type: "text", text: "..." }])
353
+ let output = "";
354
+ let exitCode = isError ? 1 : 0;
355
+ if (result &&
356
+ typeof result === "object" &&
357
+ "type" in result &&
358
+ result.type === "bash_code_execution_result") {
359
+ const bashResult = result;
360
+ output = [bashResult.stdout, bashResult.stderr].filter(Boolean).join("\n");
361
+ exitCode = bashResult.return_code;
362
+ }
363
+ else if (typeof result === "string") {
364
+ output = result;
365
+ }
366
+ else if (Array.isArray(result) &&
367
+ result.length > 0 &&
368
+ "text" in result[0] &&
369
+ typeof result[0].text === "string") {
370
+ output = result.map((c) => c.text).join("\n");
371
+ }
372
+ if (supportsTerminalOutput) {
373
+ return {
374
+ content: [{ type: "terminal", terminalId }],
375
+ _meta: {
376
+ terminal_info: {
377
+ terminal_id: terminalId,
378
+ },
379
+ terminal_output: {
380
+ terminal_id: terminalId,
381
+ data: output,
382
+ },
383
+ terminal_exit: {
384
+ terminal_id: terminalId,
385
+ exit_code: exitCode,
386
+ signal: null,
387
+ },
388
+ },
389
+ };
390
+ }
391
+ // Fallback: format output as a code block without terminal _meta
392
+ if (output.trim()) {
393
+ return {
394
+ content: [
395
+ {
396
+ type: "content",
397
+ content: {
398
+ type: "text",
399
+ text: `\`\`\`console\n${output.trimEnd()}\n\`\`\``,
400
+ },
401
+ },
402
+ ],
403
+ };
404
+ }
405
+ return {};
406
+ }
407
+ case "Edit": // Edit is handled in hooks
408
+ case "Write": {
409
+ return {};
410
+ }
411
+ case "ExitPlanMode": {
412
+ return { title: "Exited Plan Mode" };
413
+ }
414
+ default: {
415
+ return toAcpContentUpdate(toolResult.content, "is_error" in toolResult ? toolResult.is_error : false);
416
+ }
417
+ }
418
+ }
419
+ function toAcpContentUpdate(content, isError = false) {
420
+ if (Array.isArray(content) && content.length > 0) {
421
+ return {
422
+ content: content.map((c) => ({
423
+ type: "content",
424
+ content: toAcpContentBlock(c, isError),
425
+ })),
426
+ };
427
+ }
428
+ else if (typeof content === "object" && content !== null && "type" in content) {
429
+ return {
430
+ content: [
431
+ {
432
+ type: "content",
433
+ content: toAcpContentBlock(content, isError),
434
+ },
435
+ ],
436
+ };
437
+ }
438
+ else if (typeof content === "string" && content.length > 0) {
439
+ return {
440
+ content: [
441
+ {
442
+ type: "content",
443
+ content: {
444
+ type: "text",
445
+ text: isError ? `\`\`\`\n${content}\n\`\`\`` : content,
446
+ },
447
+ },
448
+ ],
449
+ };
450
+ }
451
+ return {};
452
+ }
453
+ function toAcpContentBlock(content, isError) {
454
+ const wrapText = (text) => ({
455
+ type: "text",
456
+ text: isError ? `\`\`\`\n${text}\n\`\`\`` : text,
457
+ });
458
+ switch (content.type) {
459
+ case "text":
460
+ return {
461
+ type: "text",
462
+ text: isError ? `\`\`\`\n${content.text}\n\`\`\`` : content.text,
463
+ };
464
+ case "image":
465
+ if (content.source.type === "base64") {
466
+ return {
467
+ type: "image",
468
+ data: content.source.data,
469
+ mimeType: content.source.media_type,
470
+ };
471
+ }
472
+ // URL and file-based images can't be converted to ACP format (requires data)
473
+ return wrapText(content.source.type === "url"
474
+ ? `[image: ${content.source.url}]`
475
+ : "[image: file reference]");
476
+ case "tool_reference":
477
+ return wrapText(`Tool: ${content.tool_name}`);
478
+ case "tool_search_tool_search_result":
479
+ return wrapText(`Tools found: ${content.tool_references.map((r) => r.tool_name).join(", ") || "none"}`);
480
+ case "tool_search_tool_result_error":
481
+ return wrapText(`Error: ${content.error_code}${content.error_message ? ` - ${content.error_message}` : ""}`);
482
+ case "web_search_result":
483
+ return wrapText(`${content.title} (${content.url})`);
484
+ case "web_search_tool_result_error":
485
+ return wrapText(`Error: ${content.error_code}`);
486
+ case "web_fetch_result":
487
+ return wrapText(`Fetched: ${content.url}`);
488
+ case "web_fetch_tool_result_error":
489
+ return wrapText(`Error: ${content.error_code}`);
490
+ case "code_execution_result":
491
+ return wrapText(`Output: ${content.stdout || content.stderr || ""}`);
492
+ case "bash_code_execution_result":
493
+ return wrapText(`Output: ${content.stdout || content.stderr || ""}`);
494
+ case "code_execution_tool_result_error":
495
+ case "bash_code_execution_tool_result_error":
496
+ return wrapText(`Error: ${content.error_code}`);
497
+ case "text_editor_code_execution_view_result":
498
+ return wrapText(content.content);
499
+ case "text_editor_code_execution_create_result":
500
+ return wrapText(content.is_file_update ? "File updated" : "File created");
501
+ case "text_editor_code_execution_str_replace_result":
502
+ return wrapText(content.lines?.join("\n") || "");
503
+ case "text_editor_code_execution_tool_result_error":
504
+ return wrapText(`Error: ${content.error_code}${content.error_message ? ` - ${content.error_message}` : ""}`);
505
+ default:
506
+ return wrapText(JSON.stringify(content));
507
+ }
508
+ }
509
+ export function planEntries(input) {
510
+ return (input?.todos ?? []).map((todo) => ({
511
+ content: todo.content,
512
+ status: todo.status,
513
+ priority: "medium",
514
+ }));
515
+ }
516
+ /**
517
+ * Best-effort parse of a TaskCreate tool_result content into the structured
518
+ * TaskCreateOutput. The SDK delivers tool outputs either as a string or as
519
+ * an array of TextBlockParam-like blocks containing JSON text; try both.
520
+ */
521
+ export function parseTaskCreateOutput(content) {
522
+ const tryParse = (text) => {
523
+ try {
524
+ const parsed = JSON.parse(text);
525
+ if (parsed &&
526
+ typeof parsed === "object" &&
527
+ parsed.task &&
528
+ typeof parsed.task.id === "string") {
529
+ return parsed;
530
+ }
531
+ }
532
+ catch {
533
+ // ignore
534
+ }
535
+ return undefined;
536
+ };
537
+ if (typeof content === "string") {
538
+ return tryParse(content);
539
+ }
540
+ if (Array.isArray(content)) {
541
+ for (const block of content) {
542
+ if (block && typeof block === "object" && "type" in block && block.type === "text") {
543
+ const text = block.text;
544
+ if (typeof text === "string") {
545
+ const parsed = tryParse(text);
546
+ if (parsed)
547
+ return parsed;
548
+ }
549
+ }
550
+ }
551
+ }
552
+ return undefined;
553
+ }
554
+ export function applyTaskCreate(state, input, output) {
555
+ const taskId = output?.task?.id;
556
+ if (!taskId || !input)
557
+ return;
558
+ state.set(taskId, {
559
+ subject: input.subject,
560
+ status: "pending",
561
+ activeForm: input.activeForm,
562
+ description: input.description,
563
+ });
564
+ }
565
+ export function applyTaskUpdate(state, input) {
566
+ if (!input?.taskId)
567
+ return;
568
+ if (input.status === "deleted") {
569
+ state.delete(input.taskId);
570
+ return;
571
+ }
572
+ const existing = state.get(input.taskId);
573
+ // Without a subject from either the existing entry or the update payload,
574
+ // we'd produce a plan entry with empty `content` — drop the update.
575
+ const subject = input.subject ?? existing?.subject;
576
+ if (!subject)
577
+ return;
578
+ state.set(input.taskId, {
579
+ subject,
580
+ status: input.status ?? existing?.status ?? "pending",
581
+ activeForm: input.activeForm ?? existing?.activeForm,
582
+ description: input.description ?? existing?.description,
583
+ });
584
+ }
585
+ export function taskStateToPlanEntries(state) {
586
+ return Array.from(state.values()).map((task) => ({
587
+ content: task.subject,
588
+ status: task.status,
589
+ priority: "medium",
590
+ }));
591
+ }
592
+ export function markdownEscape(text) {
593
+ let escape = "```";
594
+ for (const [m] of text.matchAll(/^```+/gm)) {
595
+ while (m.length >= escape.length) {
596
+ escape += "`";
597
+ }
598
+ }
599
+ return escape + "\n" + text + (text.endsWith("\n") ? "" : "\n") + escape;
600
+ }
601
+ /**
602
+ * Builds diff ToolUpdate content from the structured toolResponse provided by
603
+ * the PostToolUse hook for diff-producing tools (Edit, Write). Unlike parsing
604
+ * the plain unified diff string, this uses the pre-parsed structuredPatch
605
+ * which supports multiple replacement sites (replaceAll) and always includes
606
+ * context lines for better readability.
607
+ */
608
+ export function toolUpdateFromDiffToolResponse(toolResponse) {
609
+ if (!toolResponse || typeof toolResponse !== "object")
610
+ return {};
611
+ const response = toolResponse;
612
+ if (!response.filePath || !Array.isArray(response.structuredPatch))
613
+ return {};
614
+ const content = [];
615
+ const locations = [];
616
+ for (const { lines, newStart } of response.structuredPatch) {
617
+ const oldText = [];
618
+ const newText = [];
619
+ for (const line of lines) {
620
+ if (line.startsWith("-")) {
621
+ oldText.push(line.slice(1));
622
+ }
623
+ else if (line.startsWith("+")) {
624
+ newText.push(line.slice(1));
625
+ }
626
+ else {
627
+ oldText.push(line.slice(1));
628
+ newText.push(line.slice(1));
629
+ }
630
+ }
631
+ if (oldText.length > 0 || newText.length > 0) {
632
+ locations.push({ path: response.filePath, line: newStart });
633
+ content.push({
634
+ type: "diff",
635
+ path: response.filePath,
636
+ oldText: oldText.join("\n") || null,
637
+ newText: newText.join("\n"),
638
+ });
639
+ }
640
+ }
641
+ const result = {};
642
+ if (content.length > 0)
643
+ result.content = content;
644
+ if (locations.length > 0)
645
+ result.locations = locations;
646
+ return result;
647
+ }
648
+ /* A global variable to store callbacks that should be executed when receiving hooks from Claude Code */
649
+ const toolUseCallbacks = {};
650
+ /* Setup callbacks that will be called when receiving hooks from Claude Code */
651
+ export const registerHookCallback = (toolUseID, { onPostToolUseHook, }) => {
652
+ toolUseCallbacks[toolUseID] = {
653
+ onPostToolUseHook,
654
+ };
655
+ };
656
+ /* A callback for Claude Code that is called when receiving a PostToolUse hook */
657
+ export const createPostToolUseHook = (logger = console, options) => async (input, toolUseID) => {
658
+ if (input.hook_event_name === "PostToolUse") {
659
+ // Handle EnterPlanMode tool - notify client of mode change after successful execution
660
+ if (input.tool_name === "EnterPlanMode" && options?.onEnterPlanMode) {
661
+ await options.onEnterPlanMode();
662
+ }
663
+ if (toolUseID) {
664
+ const onPostToolUseHook = toolUseCallbacks[toolUseID]?.onPostToolUseHook;
665
+ if (onPostToolUseHook) {
666
+ await onPostToolUseHook(toolUseID, input.tool_input, input.tool_response);
667
+ delete toolUseCallbacks[toolUseID]; // Cleanup after execution
668
+ }
669
+ else {
670
+ logger.error(`No onPostToolUseHook found for tool use ID: ${toolUseID}`);
671
+ delete toolUseCallbacks[toolUseID];
672
+ }
673
+ }
674
+ }
675
+ return { continue: true };
676
+ };
677
+ /**
678
+ * Hook callback for `TaskCreated` / `TaskCompleted` events. The SDK fires
679
+ * these for both user-facing TaskCreate tool calls and subagent task
680
+ * creation, giving us `task_id` + `task_subject` without having to parse
681
+ * tool_result payloads.
682
+ *
683
+ * Populating `taskState` from the hook means a later `TaskUpdate` (which
684
+ * typically only carries `taskId` + `status`) finds an existing entry with
685
+ * a real subject, instead of synthesizing a placeholder with empty content.
686
+ */
687
+ export const createTaskHook = (options) => async (input) => {
688
+ const taskId = "task_id" in input && typeof input.task_id === "string" ? input.task_id : undefined;
689
+ if (!taskId)
690
+ return { continue: true };
691
+ if (input.hook_event_name === "TaskCreated") {
692
+ if (!input.task_subject)
693
+ return { continue: true };
694
+ if (options.taskState.has(taskId))
695
+ return { continue: true };
696
+ options.taskState.set(taskId, {
697
+ subject: input.task_subject,
698
+ status: "pending",
699
+ description: input.task_description,
700
+ });
701
+ if (options.onChange)
702
+ await options.onChange();
703
+ }
704
+ else if (input.hook_event_name === "TaskCompleted") {
705
+ const existing = options.taskState.get(taskId);
706
+ if (!existing || existing.status === "completed")
707
+ return { continue: true };
708
+ options.taskState.set(taskId, { ...existing, status: "completed" });
709
+ if (options.onChange)
710
+ await options.onChange();
711
+ }
712
+ return { continue: true };
713
+ };