praxis-agent 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 (395) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +534 -0
  3. package/dist/application/background-agent-manager.d.ts +66 -0
  4. package/dist/application/background-agent-manager.d.ts.map +1 -0
  5. package/dist/application/background-agent-manager.js +362 -0
  6. package/dist/application/background-agent-manager.js.map +1 -0
  7. package/dist/application/background-bash-manager.d.ts +54 -0
  8. package/dist/application/background-bash-manager.d.ts.map +1 -0
  9. package/dist/application/background-bash-manager.js +354 -0
  10. package/dist/application/background-bash-manager.js.map +1 -0
  11. package/dist/application/background-task-id.d.ts +5 -0
  12. package/dist/application/background-task-id.d.ts.map +1 -0
  13. package/dist/application/background-task-id.js +25 -0
  14. package/dist/application/background-task-id.js.map +1 -0
  15. package/dist/application/claude-project-purge.d.ts +50 -0
  16. package/dist/application/claude-project-purge.d.ts.map +1 -0
  17. package/dist/application/claude-project-purge.js +459 -0
  18. package/dist/application/claude-project-purge.js.map +1 -0
  19. package/dist/application/managed-worktree.d.ts +15 -0
  20. package/dist/application/managed-worktree.d.ts.map +1 -0
  21. package/dist/application/managed-worktree.js +127 -0
  22. package/dist/application/managed-worktree.js.map +1 -0
  23. package/dist/application/model-compactor.d.ts +8 -0
  24. package/dist/application/model-compactor.d.ts.map +1 -0
  25. package/dist/application/model-compactor.js +70 -0
  26. package/dist/application/model-compactor.js.map +1 -0
  27. package/dist/application/scheduled-prompt-manager.d.ts +69 -0
  28. package/dist/application/scheduled-prompt-manager.d.ts.map +1 -0
  29. package/dist/application/scheduled-prompt-manager.js +387 -0
  30. package/dist/application/scheduled-prompt-manager.js.map +1 -0
  31. package/dist/application/session-service.d.ts +142 -0
  32. package/dist/application/session-service.d.ts.map +1 -0
  33. package/dist/application/session-service.js +1690 -0
  34. package/dist/application/session-service.js.map +1 -0
  35. package/dist/application/session-worktree.d.ts +55 -0
  36. package/dist/application/session-worktree.d.ts.map +1 -0
  37. package/dist/application/session-worktree.js +311 -0
  38. package/dist/application/session-worktree.js.map +1 -0
  39. package/dist/application/subagent-service.d.ts +98 -0
  40. package/dist/application/subagent-service.d.ts.map +1 -0
  41. package/dist/application/subagent-service.js +1305 -0
  42. package/dist/application/subagent-service.js.map +1 -0
  43. package/dist/application/tool-use-summary.d.ts +8 -0
  44. package/dist/application/tool-use-summary.d.ts.map +1 -0
  45. package/dist/application/tool-use-summary.js +53 -0
  46. package/dist/application/tool-use-summary.js.map +1 -0
  47. package/dist/application/top-level-agent-manager.d.ts +58 -0
  48. package/dist/application/top-level-agent-manager.d.ts.map +1 -0
  49. package/dist/application/top-level-agent-manager.js +907 -0
  50. package/dist/application/top-level-agent-manager.js.map +1 -0
  51. package/dist/application/workflow-manager.d.ts +61 -0
  52. package/dist/application/workflow-manager.d.ts.map +1 -0
  53. package/dist/application/workflow-manager.js +582 -0
  54. package/dist/application/workflow-manager.js.map +1 -0
  55. package/dist/application/workflow-meta.d.ts +18 -0
  56. package/dist/application/workflow-meta.d.ts.map +1 -0
  57. package/dist/application/workflow-meta.js +146 -0
  58. package/dist/application/workflow-meta.js.map +1 -0
  59. package/dist/application/workflow-runtime.d.ts +29 -0
  60. package/dist/application/workflow-runtime.d.ts.map +1 -0
  61. package/dist/application/workflow-runtime.js +176 -0
  62. package/dist/application/workflow-runtime.js.map +1 -0
  63. package/dist/application/workflow-worktree.d.ts +9 -0
  64. package/dist/application/workflow-worktree.d.ts.map +1 -0
  65. package/dist/application/workflow-worktree.js +11 -0
  66. package/dist/application/workflow-worktree.js.map +1 -0
  67. package/dist/cli/agents-dashboard.d.ts +37 -0
  68. package/dist/cli/agents-dashboard.d.ts.map +1 -0
  69. package/dist/cli/agents-dashboard.js +408 -0
  70. package/dist/cli/agents-dashboard.js.map +1 -0
  71. package/dist/cli/controls.d.ts +15 -0
  72. package/dist/cli/controls.d.ts.map +1 -0
  73. package/dist/cli/controls.js +219 -0
  74. package/dist/cli/controls.js.map +1 -0
  75. package/dist/cli/debug.d.ts +13 -0
  76. package/dist/cli/debug.d.ts.map +1 -0
  77. package/dist/cli/debug.js +37 -0
  78. package/dist/cli/debug.js.map +1 -0
  79. package/dist/cli/interactive.d.ts +63 -0
  80. package/dist/cli/interactive.d.ts.map +1 -0
  81. package/dist/cli/interactive.js +600 -0
  82. package/dist/cli/interactive.js.map +1 -0
  83. package/dist/cli/protocol.d.ts +251 -0
  84. package/dist/cli/protocol.d.ts.map +1 -0
  85. package/dist/cli/protocol.js +2146 -0
  86. package/dist/cli/protocol.js.map +1 -0
  87. package/dist/cli.d.ts +116 -0
  88. package/dist/cli.d.ts.map +1 -0
  89. package/dist/cli.js +3901 -0
  90. package/dist/cli.js.map +1 -0
  91. package/dist/compatibility/claude/compaction.d.ts +19 -0
  92. package/dist/compatibility/claude/compaction.d.ts.map +1 -0
  93. package/dist/compatibility/claude/compaction.js +82 -0
  94. package/dist/compatibility/claude/compaction.js.map +1 -0
  95. package/dist/compatibility/claude/context.d.ts +24 -0
  96. package/dist/compatibility/claude/context.d.ts.map +1 -0
  97. package/dist/compatibility/claude/context.js +92 -0
  98. package/dist/compatibility/claude/context.js.map +1 -0
  99. package/dist/compatibility/claude/dynamic-context.d.ts +20 -0
  100. package/dist/compatibility/claude/dynamic-context.d.ts.map +1 -0
  101. package/dist/compatibility/claude/dynamic-context.js +168 -0
  102. package/dist/compatibility/claude/dynamic-context.js.map +1 -0
  103. package/dist/compatibility/claude/file-history.d.ts +14 -0
  104. package/dist/compatibility/claude/file-history.d.ts.map +1 -0
  105. package/dist/compatibility/claude/file-history.js +340 -0
  106. package/dist/compatibility/claude/file-history.js.map +1 -0
  107. package/dist/compatibility/claude/file-resources.d.ts +28 -0
  108. package/dist/compatibility/claude/file-resources.d.ts.map +1 -0
  109. package/dist/compatibility/claude/file-resources.js +168 -0
  110. package/dist/compatibility/claude/file-resources.js.map +1 -0
  111. package/dist/compatibility/claude/fork.d.ts +9 -0
  112. package/dist/compatibility/claude/fork.d.ts.map +1 -0
  113. package/dist/compatibility/claude/fork.js +225 -0
  114. package/dist/compatibility/claude/fork.js.map +1 -0
  115. package/dist/compatibility/claude/history.d.ts +4 -0
  116. package/dist/compatibility/claude/history.d.ts.map +1 -0
  117. package/dist/compatibility/claude/history.js +86 -0
  118. package/dist/compatibility/claude/history.js.map +1 -0
  119. package/dist/compatibility/claude/ownership.d.ts +87 -0
  120. package/dist/compatibility/claude/ownership.d.ts.map +1 -0
  121. package/dist/compatibility/claude/ownership.js +100 -0
  122. package/dist/compatibility/claude/ownership.js.map +1 -0
  123. package/dist/compatibility/claude/paths.d.ts +17 -0
  124. package/dist/compatibility/claude/paths.d.ts.map +1 -0
  125. package/dist/compatibility/claude/paths.js +54 -0
  126. package/dist/compatibility/claude/paths.js.map +1 -0
  127. package/dist/compatibility/claude/pr-links.d.ts +25 -0
  128. package/dist/compatibility/claude/pr-links.d.ts.map +1 -0
  129. package/dist/compatibility/claude/pr-links.js +80 -0
  130. package/dist/compatibility/claude/pr-links.js.map +1 -0
  131. package/dist/compatibility/claude/projection.d.ts +11 -0
  132. package/dist/compatibility/claude/projection.d.ts.map +1 -0
  133. package/dist/compatibility/claude/projection.js +325 -0
  134. package/dist/compatibility/claude/projection.js.map +1 -0
  135. package/dist/compatibility/claude/schema.d.ts +18 -0
  136. package/dist/compatibility/claude/schema.d.ts.map +1 -0
  137. package/dist/compatibility/claude/schema.js +983 -0
  138. package/dist/compatibility/claude/schema.js.map +1 -0
  139. package/dist/compatibility/claude/shared-resources.d.ts +51 -0
  140. package/dist/compatibility/claude/shared-resources.d.ts.map +1 -0
  141. package/dist/compatibility/claude/shared-resources.js +382 -0
  142. package/dist/compatibility/claude/shared-resources.js.map +1 -0
  143. package/dist/compatibility/claude/sidechain.d.ts +50 -0
  144. package/dist/compatibility/claude/sidechain.d.ts.map +1 -0
  145. package/dist/compatibility/claude/sidechain.js +90 -0
  146. package/dist/compatibility/claude/sidechain.js.map +1 -0
  147. package/dist/compatibility/claude/tool-links.d.ts +13 -0
  148. package/dist/compatibility/claude/tool-links.d.ts.map +1 -0
  149. package/dist/compatibility/claude/tool-links.js +61 -0
  150. package/dist/compatibility/claude/tool-links.js.map +1 -0
  151. package/dist/compatibility/claude/translation.d.ts +71 -0
  152. package/dist/compatibility/claude/translation.d.ts.map +1 -0
  153. package/dist/compatibility/claude/translation.js +443 -0
  154. package/dist/compatibility/claude/translation.js.map +1 -0
  155. package/dist/compatibility/claude/workflow-replay.d.ts +10 -0
  156. package/dist/compatibility/claude/workflow-replay.d.ts.map +1 -0
  157. package/dist/compatibility/claude/workflow-replay.js +66 -0
  158. package/dist/compatibility/claude/workflow-replay.js.map +1 -0
  159. package/dist/compatibility/claude/workflow.d.ts +33 -0
  160. package/dist/compatibility/claude/workflow.d.ts.map +1 -0
  161. package/dist/compatibility/claude/workflow.js +76 -0
  162. package/dist/compatibility/claude/workflow.js.map +1 -0
  163. package/dist/core/compaction.d.ts +16 -0
  164. package/dist/core/compaction.d.ts.map +1 -0
  165. package/dist/core/compaction.js +2 -0
  166. package/dist/core/compaction.js.map +1 -0
  167. package/dist/core/context-budget.d.ts +28 -0
  168. package/dist/core/context-budget.d.ts.map +1 -0
  169. package/dist/core/context-budget.js +108 -0
  170. package/dist/core/context-budget.js.map +1 -0
  171. package/dist/core/context.d.ts +16 -0
  172. package/dist/core/context.d.ts.map +1 -0
  173. package/dist/core/context.js +13 -0
  174. package/dist/core/context.js.map +1 -0
  175. package/dist/core/runtime.d.ts +394 -0
  176. package/dist/core/runtime.d.ts.map +1 -0
  177. package/dist/core/runtime.js +507 -0
  178. package/dist/core/runtime.js.map +1 -0
  179. package/dist/core/usage.d.ts +26 -0
  180. package/dist/core/usage.d.ts.map +1 -0
  181. package/dist/core/usage.js +133 -0
  182. package/dist/core/usage.js.map +1 -0
  183. package/dist/extensions/claude-extension-tools.d.ts +16 -0
  184. package/dist/extensions/claude-extension-tools.d.ts.map +1 -0
  185. package/dist/extensions/claude-extension-tools.js +78 -0
  186. package/dist/extensions/claude-extension-tools.js.map +1 -0
  187. package/dist/extensions/claude-extensions.d.ts +41 -0
  188. package/dist/extensions/claude-extensions.d.ts.map +1 -0
  189. package/dist/extensions/claude-extensions.js +270 -0
  190. package/dist/extensions/claude-extensions.js.map +1 -0
  191. package/dist/hooks/claude-hook-tools.d.ts +26 -0
  192. package/dist/hooks/claude-hook-tools.d.ts.map +1 -0
  193. package/dist/hooks/claude-hook-tools.js +129 -0
  194. package/dist/hooks/claude-hook-tools.js.map +1 -0
  195. package/dist/hooks/claude-hooks.d.ts +87 -0
  196. package/dist/hooks/claude-hooks.d.ts.map +1 -0
  197. package/dist/hooks/claude-hooks.js +411 -0
  198. package/dist/hooks/claude-hooks.js.map +1 -0
  199. package/dist/maintenance/doctor.d.ts +33 -0
  200. package/dist/maintenance/doctor.d.ts.map +1 -0
  201. package/dist/maintenance/doctor.js +391 -0
  202. package/dist/maintenance/doctor.js.map +1 -0
  203. package/dist/maintenance/self-update.d.ts +31 -0
  204. package/dist/maintenance/self-update.d.ts.map +1 -0
  205. package/dist/maintenance/self-update.js +81 -0
  206. package/dist/maintenance/self-update.js.map +1 -0
  207. package/dist/mcp/claude-mcp-management.d.ts +28 -0
  208. package/dist/mcp/claude-mcp-management.d.ts.map +1 -0
  209. package/dist/mcp/claude-mcp-management.js +169 -0
  210. package/dist/mcp/claude-mcp-management.js.map +1 -0
  211. package/dist/mcp/claude-mcp-oauth.d.ts +113 -0
  212. package/dist/mcp/claude-mcp-oauth.d.ts.map +1 -0
  213. package/dist/mcp/claude-mcp-oauth.js +1053 -0
  214. package/dist/mcp/claude-mcp-oauth.js.map +1 -0
  215. package/dist/mcp/claude-mcp-tools.d.ts +98 -0
  216. package/dist/mcp/claude-mcp-tools.d.ts.map +1 -0
  217. package/dist/mcp/claude-mcp-tools.js +1246 -0
  218. package/dist/mcp/claude-mcp-tools.js.map +1 -0
  219. package/dist/mcp/praxis-mcp-server.d.ts +35 -0
  220. package/dist/mcp/praxis-mcp-server.d.ts.map +1 -0
  221. package/dist/mcp/praxis-mcp-server.js +520 -0
  222. package/dist/mcp/praxis-mcp-server.js.map +1 -0
  223. package/dist/permissions/claude-auto-classifier.d.ts +20 -0
  224. package/dist/permissions/claude-auto-classifier.d.ts.map +1 -0
  225. package/dist/permissions/claude-auto-classifier.js +140 -0
  226. package/dist/permissions/claude-auto-classifier.js.map +1 -0
  227. package/dist/permissions/claude-permission-resolver.d.ts +30 -0
  228. package/dist/permissions/claude-permission-resolver.d.ts.map +1 -0
  229. package/dist/permissions/claude-permission-resolver.js +334 -0
  230. package/dist/permissions/claude-permission-resolver.js.map +1 -0
  231. package/dist/persistence/claude-job-store.d.ts +68 -0
  232. package/dist/persistence/claude-job-store.d.ts.map +1 -0
  233. package/dist/persistence/claude-job-store.js +311 -0
  234. package/dist/persistence/claude-job-store.js.map +1 -0
  235. package/dist/persistence/claude-scheduled-task-store.d.ts +29 -0
  236. package/dist/persistence/claude-scheduled-task-store.d.ts.map +1 -0
  237. package/dist/persistence/claude-scheduled-task-store.js +163 -0
  238. package/dist/persistence/claude-scheduled-task-store.js.map +1 -0
  239. package/dist/persistence/claude-sidechain-store.d.ts +18 -0
  240. package/dist/persistence/claude-sidechain-store.d.ts.map +1 -0
  241. package/dist/persistence/claude-sidechain-store.js +107 -0
  242. package/dist/persistence/claude-sidechain-store.js.map +1 -0
  243. package/dist/persistence/claude-task-store.d.ts +72 -0
  244. package/dist/persistence/claude-task-store.d.ts.map +1 -0
  245. package/dist/persistence/claude-task-store.js +440 -0
  246. package/dist/persistence/claude-task-store.js.map +1 -0
  247. package/dist/persistence/claude-transcript-store.d.ts +85 -0
  248. package/dist/persistence/claude-transcript-store.d.ts.map +1 -0
  249. package/dist/persistence/claude-transcript-store.js +385 -0
  250. package/dist/persistence/claude-transcript-store.js.map +1 -0
  251. package/dist/persistence/claude-workflow-store.d.ts +41 -0
  252. package/dist/persistence/claude-workflow-store.d.ts.map +1 -0
  253. package/dist/persistence/claude-workflow-store.js +263 -0
  254. package/dist/persistence/claude-workflow-store.js.map +1 -0
  255. package/dist/persistence/in-memory-sidechain-store.d.ts +12 -0
  256. package/dist/persistence/in-memory-sidechain-store.d.ts.map +1 -0
  257. package/dist/persistence/in-memory-sidechain-store.js +30 -0
  258. package/dist/persistence/in-memory-sidechain-store.js.map +1 -0
  259. package/dist/persistence/in-memory-transcript-store.d.ts +15 -0
  260. package/dist/persistence/in-memory-transcript-store.d.ts.map +1 -0
  261. package/dist/persistence/in-memory-transcript-store.js +95 -0
  262. package/dist/persistence/in-memory-transcript-store.js.map +1 -0
  263. package/dist/platform/atomic-write.d.ts +5 -0
  264. package/dist/platform/atomic-write.d.ts.map +1 -0
  265. package/dist/platform/atomic-write.js +25 -0
  266. package/dist/platform/atomic-write.js.map +1 -0
  267. package/dist/platform/bounded-process-runner.d.ts +28 -0
  268. package/dist/platform/bounded-process-runner.d.ts.map +1 -0
  269. package/dist/platform/bounded-process-runner.js +209 -0
  270. package/dist/platform/bounded-process-runner.js.map +1 -0
  271. package/dist/platform/claude-version.d.ts +5 -0
  272. package/dist/platform/claude-version.d.ts.map +1 -0
  273. package/dist/platform/claude-version.js +17 -0
  274. package/dist/platform/claude-version.js.map +1 -0
  275. package/dist/platform/command-shell.d.ts +3 -0
  276. package/dist/platform/command-shell.d.ts.map +1 -0
  277. package/dist/platform/command-shell.js +15 -0
  278. package/dist/platform/command-shell.js.map +1 -0
  279. package/dist/platform/exclusive-file-lease.d.ts +15 -0
  280. package/dist/platform/exclusive-file-lease.d.ts.map +1 -0
  281. package/dist/platform/exclusive-file-lease.js +265 -0
  282. package/dist/platform/exclusive-file-lease.js.map +1 -0
  283. package/dist/platform/sensitive-data.d.ts +8 -0
  284. package/dist/platform/sensitive-data.d.ts.map +1 -0
  285. package/dist/platform/sensitive-data.js +138 -0
  286. package/dist/platform/sensitive-data.js.map +1 -0
  287. package/dist/platform/tmux-worktree.d.ts +30 -0
  288. package/dist/platform/tmux-worktree.d.ts.map +1 -0
  289. package/dist/platform/tmux-worktree.js +138 -0
  290. package/dist/platform/tmux-worktree.js.map +1 -0
  291. package/dist/plugins/claude-plugin-eval-discovery.d.ts +20 -0
  292. package/dist/plugins/claude-plugin-eval-discovery.d.ts.map +1 -0
  293. package/dist/plugins/claude-plugin-eval-discovery.js +128 -0
  294. package/dist/plugins/claude-plugin-eval-discovery.js.map +1 -0
  295. package/dist/plugins/claude-plugin-eval-graders.d.ts +49 -0
  296. package/dist/plugins/claude-plugin-eval-graders.d.ts.map +1 -0
  297. package/dist/plugins/claude-plugin-eval-graders.js +137 -0
  298. package/dist/plugins/claude-plugin-eval-graders.js.map +1 -0
  299. package/dist/plugins/claude-plugin-eval-runner.d.ts +50 -0
  300. package/dist/plugins/claude-plugin-eval-runner.d.ts.map +1 -0
  301. package/dist/plugins/claude-plugin-eval-runner.js +189 -0
  302. package/dist/plugins/claude-plugin-eval-runner.js.map +1 -0
  303. package/dist/plugins/claude-plugin-eval-schema.d.ts +80 -0
  304. package/dist/plugins/claude-plugin-eval-schema.d.ts.map +1 -0
  305. package/dist/plugins/claude-plugin-eval-schema.js +436 -0
  306. package/dist/plugins/claude-plugin-eval-schema.js.map +1 -0
  307. package/dist/plugins/claude-plugin-eval.d.ts +66 -0
  308. package/dist/plugins/claude-plugin-eval.d.ts.map +1 -0
  309. package/dist/plugins/claude-plugin-eval.js +438 -0
  310. package/dist/plugins/claude-plugin-eval.js.map +1 -0
  311. package/dist/plugins/claude-plugin-maintenance.d.ts +39 -0
  312. package/dist/plugins/claude-plugin-maintenance.d.ts.map +1 -0
  313. package/dist/plugins/claude-plugin-maintenance.js +336 -0
  314. package/dist/plugins/claude-plugin-maintenance.js.map +1 -0
  315. package/dist/plugins/claude-plugin-marketplace.d.ts +97 -0
  316. package/dist/plugins/claude-plugin-marketplace.d.ts.map +1 -0
  317. package/dist/plugins/claude-plugin-marketplace.js +1433 -0
  318. package/dist/plugins/claude-plugin-marketplace.js.map +1 -0
  319. package/dist/plugins/claude-plugin-mcpb.d.ts +71 -0
  320. package/dist/plugins/claude-plugin-mcpb.d.ts.map +1 -0
  321. package/dist/plugins/claude-plugin-mcpb.js +885 -0
  322. package/dist/plugins/claude-plugin-mcpb.js.map +1 -0
  323. package/dist/plugins/claude-plugin-runtime.d.ts +120 -0
  324. package/dist/plugins/claude-plugin-runtime.d.ts.map +1 -0
  325. package/dist/plugins/claude-plugin-runtime.js +1263 -0
  326. package/dist/plugins/claude-plugin-runtime.js.map +1 -0
  327. package/dist/providers/anthropic-compatible.d.ts +35 -0
  328. package/dist/providers/anthropic-compatible.d.ts.map +1 -0
  329. package/dist/providers/anthropic-compatible.js +733 -0
  330. package/dist/providers/anthropic-compatible.js.map +1 -0
  331. package/dist/providers/environment.d.ts +14 -0
  332. package/dist/providers/environment.d.ts.map +1 -0
  333. package/dist/providers/environment.js +67 -0
  334. package/dist/providers/environment.js.map +1 -0
  335. package/dist/providers/fallback-provider.d.ts +17 -0
  336. package/dist/providers/fallback-provider.d.ts.map +1 -0
  337. package/dist/providers/fallback-provider.js +70 -0
  338. package/dist/providers/fallback-provider.js.map +1 -0
  339. package/dist/providers/openai-compatible.d.ts +30 -0
  340. package/dist/providers/openai-compatible.d.ts.map +1 -0
  341. package/dist/providers/openai-compatible.js +409 -0
  342. package/dist/providers/openai-compatible.js.map +1 -0
  343. package/dist/tools/claude-interactive-tools.d.ts +58 -0
  344. package/dist/tools/claude-interactive-tools.d.ts.map +1 -0
  345. package/dist/tools/claude-interactive-tools.js +390 -0
  346. package/dist/tools/claude-interactive-tools.js.map +1 -0
  347. package/dist/tools/claude-lsp-formatters.d.ts +2 -0
  348. package/dist/tools/claude-lsp-formatters.d.ts.map +1 -0
  349. package/dist/tools/claude-lsp-formatters.js +291 -0
  350. package/dist/tools/claude-lsp-formatters.js.map +1 -0
  351. package/dist/tools/claude-lsp-tool.d.ts +22 -0
  352. package/dist/tools/claude-lsp-tool.d.ts.map +1 -0
  353. package/dist/tools/claude-lsp-tool.js +744 -0
  354. package/dist/tools/claude-lsp-tool.js.map +1 -0
  355. package/dist/tools/claude-scheduled-tools.d.ts +20 -0
  356. package/dist/tools/claude-scheduled-tools.d.ts.map +1 -0
  357. package/dist/tools/claude-scheduled-tools.js +344 -0
  358. package/dist/tools/claude-scheduled-tools.js.map +1 -0
  359. package/dist/tools/claude-task-tools.d.ts +30 -0
  360. package/dist/tools/claude-task-tools.d.ts.map +1 -0
  361. package/dist/tools/claude-task-tools.js +503 -0
  362. package/dist/tools/claude-task-tools.js.map +1 -0
  363. package/dist/tools/claude-user-message.d.ts +16 -0
  364. package/dist/tools/claude-user-message.d.ts.map +1 -0
  365. package/dist/tools/claude-user-message.js +98 -0
  366. package/dist/tools/claude-user-message.js.map +1 -0
  367. package/dist/tools/claude-workflow-tools.d.ts +27 -0
  368. package/dist/tools/claude-workflow-tools.d.ts.map +1 -0
  369. package/dist/tools/claude-workflow-tools.js +257 -0
  370. package/dist/tools/claude-workflow-tools.js.map +1 -0
  371. package/dist/tools/claude-worktree-tools.d.ts +17 -0
  372. package/dist/tools/claude-worktree-tools.d.ts.map +1 -0
  373. package/dist/tools/claude-worktree-tools.js +135 -0
  374. package/dist/tools/claude-worktree-tools.js.map +1 -0
  375. package/dist/tools/filtered-tool-registry.d.ts +16 -0
  376. package/dist/tools/filtered-tool-registry.d.ts.map +1 -0
  377. package/dist/tools/filtered-tool-registry.js +51 -0
  378. package/dist/tools/filtered-tool-registry.js.map +1 -0
  379. package/dist/tools/glob.d.ts +9 -0
  380. package/dist/tools/glob.d.ts.map +1 -0
  381. package/dist/tools/glob.js +88 -0
  382. package/dist/tools/glob.js.map +1 -0
  383. package/dist/tools/local-tools.d.ts +47 -0
  384. package/dist/tools/local-tools.d.ts.map +1 -0
  385. package/dist/tools/local-tools.js +1082 -0
  386. package/dist/tools/local-tools.js.map +1 -0
  387. package/dist/tools/notebook.d.ts +22 -0
  388. package/dist/tools/notebook.d.ts.map +1 -0
  389. package/dist/tools/notebook.js +154 -0
  390. package/dist/tools/notebook.js.map +1 -0
  391. package/dist/tools/web.d.ts +48 -0
  392. package/dist/tools/web.d.ts.map +1 -0
  393. package/dist/tools/web.js +726 -0
  394. package/dist/tools/web.js.map +1 -0
  395. package/package.json +145 -0
@@ -0,0 +1,582 @@
1
+ import { cpus } from 'node:os';
2
+ import { createWorkflowAgentId, createWorkflowRunId, createWorkflowTaskId, formatWorkflowLaunch, isWorkflowRunId, isWorkflowTaskId, resolveClaudeWorkflowPaths, } from '../compatibility/claude/workflow.js';
3
+ import { resolveClaudePaths } from '../compatibility/claude/paths.js';
4
+ import { workflowReplayDescriptor, workflowReplayKey, } from '../compatibility/claude/workflow-replay.js';
5
+ import { ClaudeWorkflowStore } from '../persistence/claude-workflow-store.js';
6
+ import { executeWorkflowScript, } from './workflow-runtime.js';
7
+ import { parseWorkflowScript, } from './workflow-meta.js';
8
+ const MAX_AGENTS = 1000;
9
+ const MAX_CONCURRENCY = Math.min(16, Math.max(1, cpus().length - 2));
10
+ class Semaphore {
11
+ maximum;
12
+ active = 0;
13
+ waiters = [];
14
+ constructor(maximum) {
15
+ this.maximum = maximum;
16
+ }
17
+ async use(operation, signal) {
18
+ if (this.active >= this.maximum) {
19
+ await new Promise((resolve, reject) => {
20
+ const ready = () => {
21
+ signal.removeEventListener('abort', aborted);
22
+ resolve();
23
+ };
24
+ const aborted = () => {
25
+ const index = this.waiters.indexOf(ready);
26
+ if (index >= 0)
27
+ this.waiters.splice(index, 1);
28
+ reject(new Error('Workflow aborted'));
29
+ };
30
+ signal.addEventListener('abort', aborted, { once: true });
31
+ this.waiters.push(ready);
32
+ });
33
+ }
34
+ if (signal.aborted)
35
+ throw new Error('Workflow aborted');
36
+ this.active += 1;
37
+ try {
38
+ return await operation();
39
+ }
40
+ finally {
41
+ this.active -= 1;
42
+ this.waiters.shift()?.();
43
+ }
44
+ }
45
+ }
46
+ function combineSignals(parent, own) {
47
+ if (!parent)
48
+ return () => undefined;
49
+ const abort = () => own.abort(parent.reason);
50
+ if (parent.aborted)
51
+ abort();
52
+ else
53
+ parent.addEventListener('abort', abort, { once: true });
54
+ return () => parent.removeEventListener('abort', abort);
55
+ }
56
+ function validateAgentOptions(options) {
57
+ for (const field of [
58
+ 'label',
59
+ 'phase',
60
+ 'model',
61
+ 'effort',
62
+ 'agentType',
63
+ ]) {
64
+ const value = options[field];
65
+ if (value !== undefined &&
66
+ (typeof value !== 'string' || value.length === 0)) {
67
+ throw new Error(`agent ${field} must be a non-empty string`);
68
+ }
69
+ }
70
+ if (options.effort !== undefined &&
71
+ !['low', 'medium', 'high', 'xhigh', 'max'].includes(options.effort)) {
72
+ throw new Error('agent effort must be low, medium, high, xhigh, or max');
73
+ }
74
+ if (options.isolation !== undefined && options.isolation !== 'worktree') {
75
+ throw new Error('agent isolation must be worktree');
76
+ }
77
+ if (options.schema !== undefined &&
78
+ (!options.schema ||
79
+ typeof options.schema !== 'object' ||
80
+ Array.isArray(options.schema))) {
81
+ throw new Error('agent schema must be an object');
82
+ }
83
+ }
84
+ export class WorkflowManager {
85
+ configRoot;
86
+ cwd;
87
+ cwdProvider;
88
+ tasks = new Map();
89
+ activeRuns = new Set();
90
+ async launch(options) {
91
+ const runId = options.resumeFromRunId ?? createWorkflowRunId();
92
+ if (!isWorkflowRunId(runId))
93
+ throw new Error(`Invalid workflow run ID: ${runId}`);
94
+ const activeRunKey = `${options.sessionId}:${runId}`;
95
+ if (this.activeRuns.has(activeRunKey)) {
96
+ throw new Error(`Workflow run ${runId} is already running`);
97
+ }
98
+ this.activeRuns.add(activeRunKey);
99
+ const taskId = this.uniqueTaskId();
100
+ const claudePaths = resolveClaudePaths({
101
+ configDir: this.configRoot,
102
+ cwd: this.currentCwd(),
103
+ sessionId: options.sessionId,
104
+ });
105
+ const paths = resolveClaudeWorkflowPaths({
106
+ projectRoot: claudePaths.projectRoot,
107
+ sessionId: options.sessionId,
108
+ runId,
109
+ workflowName: options.parsed.meta.name,
110
+ });
111
+ const store = new ClaudeWorkflowStore(paths);
112
+ try {
113
+ await store.initialize(options.script);
114
+ }
115
+ catch (error) {
116
+ this.activeRuns.delete(activeRunKey);
117
+ throw error;
118
+ }
119
+ const controller = new AbortController();
120
+ const removeParentAbort = combineSignals(options.signal, controller);
121
+ const task = {
122
+ taskId,
123
+ runId,
124
+ sessionId: options.sessionId,
125
+ meta: options.parsed.meta,
126
+ script: options.script,
127
+ scriptFile: paths.scriptFile,
128
+ transcriptDirectory: paths.transcriptDirectory,
129
+ store,
130
+ args: structuredClone(options.args),
131
+ defaultModel: options.defaultModel,
132
+ startTime: Date.now(),
133
+ status: 'running',
134
+ result: null,
135
+ logs: [],
136
+ phases: [],
137
+ progress: [],
138
+ agentCount: 0,
139
+ totalTokens: 0,
140
+ totalInputTokens: 0,
141
+ totalToolCalls: 0,
142
+ controller,
143
+ promise: Promise.resolve(),
144
+ notificationPending: false,
145
+ };
146
+ this.tasks.set(taskId, task);
147
+ task.promise = this.execute(task, options)
148
+ .catch(() => undefined)
149
+ .finally(() => {
150
+ removeParentAbort();
151
+ this.activeRuns.delete(activeRunKey);
152
+ });
153
+ return {
154
+ taskId,
155
+ runId,
156
+ content: formatWorkflowLaunch({
157
+ taskId,
158
+ summary: task.meta.description,
159
+ transcriptDirectory: paths.transcriptDirectory,
160
+ scriptFile: paths.scriptFile,
161
+ runId,
162
+ }),
163
+ scriptFile: paths.scriptFile,
164
+ transcriptDirectory: paths.transcriptDirectory,
165
+ };
166
+ }
167
+ has(taskId) {
168
+ return this.tasks.has(taskId);
169
+ }
170
+ async output(taskId, options) {
171
+ const task = this.task(taskId);
172
+ if (options.block && task.status === 'running') {
173
+ await Promise.race([
174
+ task.promise,
175
+ new Promise((resolve) => setTimeout(resolve, options.timeout)),
176
+ ]);
177
+ }
178
+ if (task.status === 'running') {
179
+ return [
180
+ '<retrieval_status>not_ready</retrieval_status>',
181
+ '',
182
+ `<task_id>${task.taskId}</task_id>`,
183
+ '',
184
+ '<task_type>local_workflow</task_type>',
185
+ '',
186
+ '<status>running</status>',
187
+ ].join('\n');
188
+ }
189
+ task.notificationPending = false;
190
+ return `${JSON.stringify(this.summary(task), null, 2)}\n\n${this.notification(task)}`;
191
+ }
192
+ stop(taskId) {
193
+ const task = this.task(taskId);
194
+ if (task.status === 'running')
195
+ task.controller.abort('TaskStop');
196
+ return JSON.stringify({
197
+ message: `Successfully stopped task: ${task.taskId} (${task.meta.description})`,
198
+ task_id: task.taskId,
199
+ task_type: 'local_workflow',
200
+ command: task.meta.description,
201
+ });
202
+ }
203
+ async notifications(waitForRunning) {
204
+ if (waitForRunning) {
205
+ await Promise.all([...this.tasks.values()]
206
+ .filter(({ status }) => status === 'running')
207
+ .map(({ promise }) => promise));
208
+ }
209
+ const messages = [];
210
+ let inputTokens = 0;
211
+ let outputTokens = 0;
212
+ for (const task of this.tasks.values()) {
213
+ if (task.status === 'running' || !task.notificationPending)
214
+ continue;
215
+ task.notificationPending = false;
216
+ messages.push(this.notification(task));
217
+ inputTokens += task.totalInputTokens;
218
+ outputTokens += task.totalTokens;
219
+ }
220
+ return {
221
+ messages,
222
+ usage: { inputTokens, outputTokens },
223
+ };
224
+ }
225
+ list() {
226
+ return [...this.tasks.values()].map((task) => this.summary(task));
227
+ }
228
+ abortAll() {
229
+ for (const task of this.tasks.values()) {
230
+ if (task.status === 'running')
231
+ task.controller.abort('Workflow manager closed');
232
+ }
233
+ }
234
+ async close() {
235
+ this.abortAll();
236
+ await Promise.all([...this.tasks.values()].map(({ promise }) => promise));
237
+ }
238
+ constructor(configRoot, cwd, cwdProvider) {
239
+ this.configRoot = configRoot;
240
+ this.cwd = cwd;
241
+ this.cwdProvider = cwdProvider;
242
+ }
243
+ currentCwd() {
244
+ return this.cwdProvider?.() ?? this.cwd;
245
+ }
246
+ async execute(task, options) {
247
+ const semaphore = new Semaphore(MAX_CONCURRENCY);
248
+ const replay = await task.store.replayIndex();
249
+ const replayByDescriptor = await task.store.replayByDescriptor();
250
+ const replayByOrder = await task.store.replayByOrderedSequence(task.script, task.args, options.parsed.orderedReplaySafe);
251
+ const promptReplay = await task.store.replayByPrompt();
252
+ let previousReplayKey = '';
253
+ let currentPhase;
254
+ const host = (depth) => ({
255
+ total: options.tokenBudget ?? null,
256
+ spent: () => task.totalTokens,
257
+ log: (message) => task.logs.push(message),
258
+ phase: (title) => {
259
+ currentPhase = title;
260
+ const declared = task.meta.phases?.find((item) => item.title === title);
261
+ task.phases.push({
262
+ title,
263
+ ...(declared?.detail === undefined
264
+ ? {}
265
+ : { detail: declared.detail }),
266
+ ...(declared?.model === undefined ? {} : { model: declared.model }),
267
+ });
268
+ },
269
+ agent: async (prompt, agentOptions) => {
270
+ validateAgentOptions(agentOptions);
271
+ if (task.controller.signal.aborted)
272
+ throw new Error('Workflow aborted');
273
+ if (options.tokenBudget != null &&
274
+ task.totalTokens >= options.tokenBudget) {
275
+ throw new Error(`Workflow token budget exhausted (${options.tokenBudget})`);
276
+ }
277
+ task.agentCount += 1;
278
+ if (task.agentCount > MAX_AGENTS) {
279
+ throw new Error(`Workflow agent count exceeded ${MAX_AGENTS}`);
280
+ }
281
+ const key = workflowReplayKey(prompt, agentOptions, previousReplayKey);
282
+ previousReplayKey = key;
283
+ const hasSemanticOptions = agentOptions.model !== undefined ||
284
+ agentOptions.effort !== undefined ||
285
+ agentOptions.agentType !== undefined ||
286
+ agentOptions.schema !== undefined ||
287
+ agentOptions.isolation !== undefined;
288
+ const descriptor = workflowReplayDescriptor(prompt, agentOptions);
289
+ const orderedIndex = task.agentCount - 1;
290
+ const orderedReplayKnown = orderedIndex < replayByOrder.length;
291
+ const cached = replay.get(key) ||
292
+ replayByDescriptor.get(descriptor) ||
293
+ replayByOrder[orderedIndex] ||
294
+ (!orderedReplayKnown && !hasSemanticOptions
295
+ ? promptReplay.get(prompt)
296
+ : undefined);
297
+ const label = agentOptions.label ?? prompt.slice(0, 80);
298
+ const phaseTitle = agentOptions.phase ?? currentPhase;
299
+ const queuedAt = Date.now();
300
+ if (cached) {
301
+ task.progress.push({
302
+ index: task.agentCount,
303
+ agentId: cached.agentId,
304
+ label,
305
+ ...(phaseTitle ? { phase: phaseTitle } : {}),
306
+ status: 'completed',
307
+ cached: true,
308
+ result: cached.result,
309
+ totalTokens: 0,
310
+ toolCalls: 0,
311
+ durationMs: 0,
312
+ queuedAt,
313
+ promptPreview: prompt.slice(0, 200),
314
+ ...(agentOptions.model
315
+ ? { requestedModel: agentOptions.model }
316
+ : {}),
317
+ ...(agentOptions.agentType
318
+ ? { requestedAgentType: agentOptions.agentType }
319
+ : {}),
320
+ });
321
+ return cached.result;
322
+ }
323
+ const agentId = createWorkflowAgentId();
324
+ const progress = {
325
+ index: task.agentCount,
326
+ agentId,
327
+ label,
328
+ ...(phaseTitle ? { phase: phaseTitle } : {}),
329
+ status: 'running',
330
+ totalTokens: 0,
331
+ toolCalls: 0,
332
+ durationMs: 0,
333
+ queuedAt,
334
+ promptPreview: prompt.slice(0, 200),
335
+ ...(agentOptions.model ? { requestedModel: agentOptions.model } : {}),
336
+ ...(agentOptions.agentType
337
+ ? { requestedAgentType: agentOptions.agentType }
338
+ : {}),
339
+ };
340
+ task.progress.push(progress);
341
+ await task.store.append({ type: 'started', key, agentId });
342
+ await task.store.appendMetadata({
343
+ agentId,
344
+ prompt,
345
+ options: {
346
+ ...(agentOptions.model ? { model: agentOptions.model } : {}),
347
+ ...(agentOptions.effort ? { effort: agentOptions.effort } : {}),
348
+ ...(agentOptions.agentType
349
+ ? { agentType: agentOptions.agentType }
350
+ : {}),
351
+ ...(agentOptions.schema ? { schema: agentOptions.schema } : {}),
352
+ ...(agentOptions.isolation
353
+ ? { isolation: agentOptions.isolation }
354
+ : {}),
355
+ },
356
+ });
357
+ try {
358
+ const result = await semaphore.use(() => {
359
+ progress.startedAt = Date.now();
360
+ return options.runAgent({
361
+ sessionId: task.sessionId,
362
+ promptId: options.promptId,
363
+ runId: task.runId,
364
+ agentId,
365
+ transcriptDirectory: task.transcriptDirectory,
366
+ prompt,
367
+ ...(agentOptions.label ? { label: agentOptions.label } : {}),
368
+ ...(agentOptions.model ? { model: agentOptions.model } : {}),
369
+ ...(agentOptions.effort ? { effort: agentOptions.effort } : {}),
370
+ ...(agentOptions.agentType
371
+ ? { agentType: agentOptions.agentType }
372
+ : {}),
373
+ ...(agentOptions.schema ? { schema: agentOptions.schema } : {}),
374
+ ...(agentOptions.isolation
375
+ ? { isolation: agentOptions.isolation }
376
+ : {}),
377
+ signal: task.controller.signal,
378
+ });
379
+ }, task.controller.signal);
380
+ progress.status = 'completed';
381
+ progress.result = result.result;
382
+ progress.totalTokens = result.usage.outputTokens;
383
+ progress.toolCalls = result.toolUseCount;
384
+ progress.durationMs = result.durationMs;
385
+ progress.resolvedModel = result.resolvedModel;
386
+ if (result.isolationPath)
387
+ progress.isolationPath = result.isolationPath;
388
+ if (result.isolationRetained !== undefined) {
389
+ progress.isolationRetained = result.isolationRetained;
390
+ }
391
+ if (result.isolationWarning) {
392
+ progress.isolationWarning = result.isolationWarning;
393
+ task.logs.push(result.isolationWarning);
394
+ }
395
+ task.totalTokens += progress.totalTokens;
396
+ task.totalInputTokens += result.usage.inputTokens;
397
+ task.totalToolCalls += result.toolUseCount;
398
+ await task.store.append({
399
+ type: 'result',
400
+ key,
401
+ agentId,
402
+ result: result.result,
403
+ });
404
+ return result.result;
405
+ }
406
+ catch (error) {
407
+ progress.status = 'error';
408
+ progress.error = error.message;
409
+ if (task.controller.signal.aborted)
410
+ throw error;
411
+ await task.store.append({
412
+ type: 'result',
413
+ key,
414
+ agentId,
415
+ result: null,
416
+ });
417
+ return null;
418
+ }
419
+ },
420
+ workflow: async (reference, nestedArgs) => {
421
+ if (depth >= 1)
422
+ throw new Error('Nested workflows may only be one level deep');
423
+ const source = await options.resolveNested(typeof reference === 'string' ? reference : reference.scriptPath);
424
+ return executeWorkflowScript({
425
+ body: source.parsed.body,
426
+ args: nestedArgs,
427
+ host: host(depth + 1),
428
+ signal: task.controller.signal,
429
+ });
430
+ },
431
+ });
432
+ try {
433
+ task.result = await executeWorkflowScript({
434
+ body: options.parsed.body,
435
+ args: task.args,
436
+ host: host(0),
437
+ signal: task.controller.signal,
438
+ });
439
+ task.status = 'completed';
440
+ }
441
+ catch (error) {
442
+ task.result = null;
443
+ task.status = task.controller.signal.aborted ? 'killed' : 'failed';
444
+ task.error = `${error instanceof Error ? (error.stack ?? error.message) : String(error)}`;
445
+ }
446
+ finally {
447
+ task.notificationPending = true;
448
+ await task.store.writeRun(this.runRecord(task));
449
+ }
450
+ }
451
+ runRecord(task) {
452
+ const durationMs = Date.now() - task.startTime;
453
+ return {
454
+ runId: task.runId,
455
+ timestamp: new Date().toISOString(),
456
+ taskId: task.taskId,
457
+ script: task.script,
458
+ scriptPath: task.scriptFile,
459
+ args: task.args,
460
+ result: task.result,
461
+ agentCount: task.agentCount,
462
+ logs: task.logs,
463
+ durationMs,
464
+ summary: task.meta.description,
465
+ workflowName: task.meta.name,
466
+ status: task.status,
467
+ startTime: task.startTime,
468
+ phases: task.phases,
469
+ defaultModel: task.defaultModel,
470
+ workflowProgress: this.nativeProgress(task),
471
+ totalTokens: task.totalTokens,
472
+ totalToolCalls: task.totalToolCalls,
473
+ ...(task.error ? { error: task.error } : {}),
474
+ };
475
+ }
476
+ summary(task) {
477
+ return {
478
+ task_id: task.taskId,
479
+ task_type: 'local_workflow',
480
+ status: task.status,
481
+ summary: task.meta.description,
482
+ run_id: task.runId,
483
+ progress: task.progress,
484
+ result: task.result,
485
+ ...(task.error ? { error: task.error } : {}),
486
+ };
487
+ }
488
+ nativeProgress(task) {
489
+ const phases = task.phases.map((phase, index) => ({
490
+ type: 'workflow_phase',
491
+ index: index + 1,
492
+ title: phase.title,
493
+ }));
494
+ const agents = task.progress.map((progress) => {
495
+ const phaseIndex = progress.phase
496
+ ? task.phases.findIndex(({ title }) => title === progress.phase) + 1
497
+ : 0;
498
+ const resultPreview = progress.result === undefined
499
+ ? undefined
500
+ : typeof progress.result === 'string'
501
+ ? progress.result.slice(0, 500)
502
+ : JSON.stringify(progress.result).slice(0, 500);
503
+ return {
504
+ type: 'workflow_agent',
505
+ index: progress.index,
506
+ label: progress.label,
507
+ ...(phaseIndex > 0 ? { phaseIndex, phaseTitle: progress.phase } : {}),
508
+ agentId: progress.agentId,
509
+ ...(progress.requestedAgentType
510
+ ? { agentType: progress.requestedAgentType }
511
+ : {}),
512
+ model: progress.requestedModel ?? task.defaultModel,
513
+ ...(progress.resolvedModel
514
+ ? { fallbackModel: progress.resolvedModel }
515
+ : {}),
516
+ state: progress.status === 'completed'
517
+ ? 'done'
518
+ : progress.status === 'error'
519
+ ? 'error'
520
+ : 'running',
521
+ ...(progress.startedAt ? { startedAt: progress.startedAt } : {}),
522
+ queuedAt: progress.queuedAt,
523
+ attempt: 1,
524
+ promptPreview: progress.promptPreview,
525
+ lastProgressAt: (progress.startedAt ?? progress.queuedAt) + progress.durationMs,
526
+ tokens: progress.totalTokens,
527
+ toolCalls: progress.toolCalls,
528
+ durationMs: progress.durationMs,
529
+ ...(resultPreview === undefined ? {} : { resultPreview }),
530
+ ...(progress.cached ? { cached: true } : {}),
531
+ ...(progress.error ? { error: progress.error } : {}),
532
+ ...(progress.isolationPath
533
+ ? { worktreePath: progress.isolationPath }
534
+ : {}),
535
+ ...(progress.isolationRetained !== undefined
536
+ ? { worktreeRetained: progress.isolationRetained }
537
+ : {}),
538
+ };
539
+ });
540
+ return [...phases, ...agents];
541
+ }
542
+ notification(task) {
543
+ const done = task.progress.filter(({ status }) => status === 'completed').length;
544
+ const errors = task.progress.filter(({ status }) => status === 'error').length;
545
+ const empty = task.progress.filter(({ status, result }) => status === 'completed' && (result === '' || result == null)).length;
546
+ return [
547
+ '<task-notification>',
548
+ `<task-id>${task.taskId}</task-id>`,
549
+ `<status>${task.status}</status>`,
550
+ `<summary>${task.meta.description}</summary>`,
551
+ `<result>${JSON.stringify(task.result)}</result>`,
552
+ `<diagnostics>Inspect ${task.store.paths.journalFile}. Resume with Workflow({scriptPath: "${task.scriptFile}", resumeFromRunId: "${task.runId}"}).</diagnostics>`,
553
+ '<usage>',
554
+ `agent_count: ${task.agentCount}`,
555
+ `agents_done: ${done}`,
556
+ `agents_error: ${errors}`,
557
+ 'agents_skipped: 0',
558
+ `agents_empty_result: ${empty}`,
559
+ `subagent_tokens: ${task.totalTokens}`,
560
+ `tool_uses: ${task.totalToolCalls}`,
561
+ `duration_ms: ${Date.now() - task.startTime}`,
562
+ '</usage>',
563
+ '</task-notification>',
564
+ ].join('\n');
565
+ }
566
+ uniqueTaskId() {
567
+ let id = createWorkflowTaskId();
568
+ while (this.tasks.has(id))
569
+ id = createWorkflowTaskId();
570
+ return id;
571
+ }
572
+ task(taskId) {
573
+ if (!isWorkflowTaskId(taskId))
574
+ throw new Error(`Invalid workflow task ID: ${taskId}`);
575
+ const task = this.tasks.get(taskId);
576
+ if (!task)
577
+ throw new Error(`Unknown workflow task ${taskId}`);
578
+ return task;
579
+ }
580
+ }
581
+ export { parseWorkflowScript };
582
+ //# sourceMappingURL=workflow-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-manager.js","sourceRoot":"","sources":["../../src/application/workflow-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export interface WorkflowPhaseDefinition {
2
+ title: string;
3
+ detail?: string;
4
+ model?: string;
5
+ }
6
+ export interface WorkflowMeta {
7
+ name: string;
8
+ description: string;
9
+ phases?: readonly WorkflowPhaseDefinition[];
10
+ whenToUse?: string;
11
+ }
12
+ export interface ParsedWorkflowScript {
13
+ meta: WorkflowMeta;
14
+ body: string;
15
+ orderedReplaySafe: boolean;
16
+ }
17
+ export declare function parseWorkflowScript(script: string): ParsedWorkflowScript;
18
+ //# sourceMappingURL=workflow-meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-meta.d.ts","sourceRoot":"","sources":["../../src/application/workflow-meta.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB,EAAE,OAAO,CAAA;CAC3B;AA4GD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAqDxE"}