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,146 @@
1
+ import { parse } from 'acorn';
2
+ function referencesReplaySensitiveGlobal(value) {
3
+ if (Array.isArray(value))
4
+ return value.some(referencesReplaySensitiveGlobal);
5
+ if (!value || typeof value !== 'object')
6
+ return false;
7
+ const node = value;
8
+ if (node.type === 'Identifier' &&
9
+ (node.name === 'workflow' || node.name === 'budget')) {
10
+ return true;
11
+ }
12
+ return Object.values(node).some(referencesReplaySensitiveGlobal);
13
+ }
14
+ function literal(node) {
15
+ if (node.type === 'Literal')
16
+ return node.value;
17
+ if (node.type === 'ArrayExpression') {
18
+ return node.elements.map((element) => {
19
+ if (!element)
20
+ throw new Error('array holes are not allowed in meta');
21
+ return literal(element);
22
+ });
23
+ }
24
+ if (node.type === 'ObjectExpression') {
25
+ const result = {};
26
+ for (const property of node.properties) {
27
+ if (property.type !== 'Property' ||
28
+ property.kind !== 'init' ||
29
+ property.computed === true ||
30
+ property.method === true ||
31
+ property.shorthand === true) {
32
+ throw new Error(`non-literal node type in meta: ${property.type}`);
33
+ }
34
+ const keyNode = property.key;
35
+ const key = keyNode.type === 'Identifier'
36
+ ? String(keyNode.name)
37
+ : String(literal(keyNode));
38
+ result[key] = literal(property.value);
39
+ }
40
+ return result;
41
+ }
42
+ if (node.type === 'UnaryExpression' && node.operator === '-') {
43
+ const value = literal(node.argument);
44
+ if (typeof value === 'number')
45
+ return -value;
46
+ }
47
+ throw new Error(`non-literal node type in meta: ${node.type}`);
48
+ }
49
+ function nonEmpty(value, field) {
50
+ if (typeof value !== 'string' || value.trim().length === 0) {
51
+ throw new Error(`meta.${field} must be a non-empty string`);
52
+ }
53
+ return value;
54
+ }
55
+ function validateMeta(value) {
56
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
57
+ throw new Error('meta must be an object literal');
58
+ }
59
+ const record = value;
60
+ const name = nonEmpty(record.name, 'name');
61
+ const description = nonEmpty(record.description, 'description');
62
+ if (!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/u.test(name)) {
63
+ throw new Error('meta.name contains invalid characters');
64
+ }
65
+ let phases;
66
+ if (record.phases !== undefined) {
67
+ if (!Array.isArray(record.phases))
68
+ throw new Error('meta.phases must be an array');
69
+ phases = record.phases.map((phase, index) => {
70
+ if (!phase || typeof phase !== 'object' || Array.isArray(phase)) {
71
+ throw new Error(`meta.phases[${index}] must be an object`);
72
+ }
73
+ const item = phase;
74
+ const title = nonEmpty(item.title, `phases[${index}].title`);
75
+ if (item.detail !== undefined && typeof item.detail !== 'string') {
76
+ throw new Error(`meta.phases[${index}].detail must be a string`);
77
+ }
78
+ if (item.model !== undefined && typeof item.model !== 'string') {
79
+ throw new Error(`meta.phases[${index}].model must be a string`);
80
+ }
81
+ return {
82
+ title,
83
+ ...(item.detail === undefined ? {} : { detail: item.detail }),
84
+ ...(item.model === undefined ? {} : { model: item.model }),
85
+ };
86
+ });
87
+ }
88
+ if (record.whenToUse !== undefined && typeof record.whenToUse !== 'string') {
89
+ throw new Error('meta.whenToUse must be a string');
90
+ }
91
+ return {
92
+ name,
93
+ description,
94
+ ...(phases ? { phases } : {}),
95
+ ...(record.whenToUse === undefined ? {} : { whenToUse: record.whenToUse }),
96
+ };
97
+ }
98
+ export function parseWorkflowScript(script) {
99
+ let program;
100
+ try {
101
+ program = parse(script, {
102
+ ecmaVersion: 'latest',
103
+ sourceType: 'module',
104
+ allowAwaitOutsideFunction: true,
105
+ allowReturnOutsideFunction: true,
106
+ });
107
+ }
108
+ catch (error) {
109
+ throw new Error(`Invalid workflow script: ${error.message}`);
110
+ }
111
+ const statements = program.body;
112
+ const first = statements[0];
113
+ if (!first || first.type !== 'ExportNamedDeclaration') {
114
+ throw new Error('Invalid workflow script: `export const meta = { name, description, phases }` must be the FIRST statement in the script');
115
+ }
116
+ const declaration = first.declaration;
117
+ const declarators = declaration?.declarations;
118
+ const item = declarators?.[0];
119
+ if (declaration?.type !== 'VariableDeclaration' ||
120
+ declaration.kind !== 'const' ||
121
+ declarators?.length !== 1 ||
122
+ item?.id == null ||
123
+ item.id.type !== 'Identifier' ||
124
+ item.id.name !== 'meta' ||
125
+ !item.init) {
126
+ throw new Error('Invalid workflow script: `export const meta = { name, description, phases }` must be the FIRST statement in the script');
127
+ }
128
+ let meta;
129
+ try {
130
+ meta = validateMeta(literal(item.init));
131
+ }
132
+ catch (error) {
133
+ const message = error.message;
134
+ throw new Error(message.startsWith('meta.')
135
+ ? `Invalid workflow script: ${message}`
136
+ : `Invalid workflow script: meta must be a pure literal: ${message}`);
137
+ }
138
+ return {
139
+ meta,
140
+ body: script.slice(first.end),
141
+ orderedReplaySafe: !statements
142
+ .slice(1)
143
+ .some(referencesReplaySensitiveGlobal),
144
+ };
145
+ }
146
+ //# sourceMappingURL=workflow-meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-meta.js","sourceRoot":"","sources":["../../src/application/workflow-meta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export interface WorkflowAgentOptions {
2
+ label?: string;
3
+ phase?: string;
4
+ schema?: Record<string, unknown>;
5
+ model?: string;
6
+ effort?: string;
7
+ isolation?: 'worktree';
8
+ agentType?: string;
9
+ }
10
+ export interface WorkflowRuntimeHost {
11
+ agent(prompt: string, options: WorkflowAgentOptions): Promise<unknown>;
12
+ workflow(reference: string | {
13
+ scriptPath: string;
14
+ }, args: unknown): Promise<unknown>;
15
+ log(message: string): void;
16
+ phase(title: string): void;
17
+ spent(): number;
18
+ total: number | null;
19
+ }
20
+ export interface WorkflowRuntimeOptions {
21
+ body: string;
22
+ args: unknown;
23
+ host: WorkflowRuntimeHost;
24
+ signal?: AbortSignal;
25
+ memoryLimitBytes?: number;
26
+ deadlineMs?: number;
27
+ }
28
+ export declare function executeWorkflowScript(options: WorkflowRuntimeOptions): Promise<unknown>;
29
+ //# sourceMappingURL=workflow-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-runtime.d.ts","sourceRoot":"","sources":["../../src/application/workflow-runtime.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtE,QAAQ,CACN,SAAS,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAC1C,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,IAAI,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,mBAAmB,CAAA;IACzB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AA6HD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAoFlB"}
@@ -0,0 +1,176 @@
1
+ import { getQuickJS } from 'quickjs-emscripten';
2
+ const MAX_COLLECTION = 4096;
3
+ const DEFAULT_MEMORY_BYTES = 64 * 1024 * 1024;
4
+ const DEFAULT_DEADLINE_MS = 30 * 60 * 1000;
5
+ function errorMessage(vm, handle) {
6
+ const value = vm.dump(handle);
7
+ if (value && typeof value === 'object' && typeof value.message === 'string') {
8
+ const stack = typeof value.stack === 'string' ? `\n${value.stack}` : '';
9
+ return `${value.message}${stack}`;
10
+ }
11
+ return String(value);
12
+ }
13
+ function installAsyncHostFunction(vm, name, operation, pending) {
14
+ const fn = vm.newFunction(name, (...handles) => {
15
+ const args = handles.map((handle) => vm.dump(handle));
16
+ const promise = vm.newPromise();
17
+ pending.add(promise);
18
+ void Promise.resolve()
19
+ .then(() => operation(...args))
20
+ .then((value) => {
21
+ const encoded = vm.newString(JSON.stringify({ value }));
22
+ try {
23
+ promise.resolve(encoded);
24
+ }
25
+ finally {
26
+ encoded.dispose();
27
+ }
28
+ }, (error) => {
29
+ const failure = vm.newError(error instanceof Error ? error.message : String(error));
30
+ try {
31
+ promise.reject(failure);
32
+ }
33
+ finally {
34
+ failure.dispose();
35
+ }
36
+ });
37
+ void promise.settled.then(() => {
38
+ vm.runtime.executePendingJobs();
39
+ });
40
+ return promise.handle;
41
+ });
42
+ vm.setProp(vm.global, name, fn);
43
+ fn.dispose();
44
+ }
45
+ function installSyncHostFunction(vm, name, operation) {
46
+ const fn = vm.newFunction(name, (...handles) => {
47
+ const value = operation(...handles.map((handle) => vm.dump(handle)));
48
+ if (typeof value === 'number')
49
+ return vm.newNumber(value);
50
+ if (typeof value === 'string')
51
+ return vm.newString(value);
52
+ if (typeof value === 'boolean')
53
+ return value ? vm.true : vm.false;
54
+ return vm.undefined;
55
+ });
56
+ vm.setProp(vm.global, name, fn);
57
+ fn.dispose();
58
+ }
59
+ const PRELUDE = String.raw `
60
+ const __decode = async value => (JSON.parse(await value)).value
61
+ const agent = (prompt, options = {}) => {
62
+ if (typeof prompt !== 'string' || prompt.length === 0) throw new Error('agent prompt must be a non-empty string')
63
+ return __decode(__workflowAgent(prompt, options))
64
+ }
65
+ const workflow = (reference, workflowArgs) => {
66
+ const validName = typeof reference === 'string' && reference.length > 0
67
+ const validPath = reference && typeof reference === 'object' && typeof reference.scriptPath === 'string' && reference.scriptPath.length > 0
68
+ if (!validName && !validPath) throw new Error('workflow reference must be a name or {scriptPath}')
69
+ return __decode(__workflowNested(reference, workflowArgs))
70
+ }
71
+ const log = message => __workflowLog(String(message))
72
+ const phase = title => __workflowPhase(String(title))
73
+ const parallel = async thunks => {
74
+ if (!Array.isArray(thunks)) throw new Error('parallel input must be an array')
75
+ if (thunks.length > ${MAX_COLLECTION}) throw new Error('parallel input exceeded ${MAX_COLLECTION}')
76
+ return Promise.all(thunks.map(async thunk => {
77
+ try {
78
+ if (typeof thunk !== 'function') throw new Error('parallel items must be functions')
79
+ return await thunk()
80
+ } catch { return null }
81
+ }))
82
+ }
83
+ const pipeline = async (items, ...stages) => {
84
+ if (!Array.isArray(items)) throw new Error('pipeline items must be an array')
85
+ if (items.length > ${MAX_COLLECTION}) throw new Error('pipeline input exceeded ${MAX_COLLECTION}')
86
+ if (stages.some(stage => typeof stage !== 'function')) throw new Error('pipeline stages must be functions')
87
+ return Promise.all(items.map(async (item, index) => {
88
+ let value = item
89
+ try {
90
+ for (const stage of stages) value = await stage(value, item, index)
91
+ return value
92
+ } catch { return null }
93
+ }))
94
+ }
95
+ const budget = Object.freeze({
96
+ total: __workflowBudgetTotal,
97
+ spent: () => __workflowBudgetSpent(),
98
+ remaining: () => __workflowBudgetTotal === null ? Infinity : Math.max(0, __workflowBudgetTotal - __workflowBudgetSpent()),
99
+ })
100
+ Date.now = () => { throw new Error('Date.now() is not available in workflows') }
101
+ Math.random = () => { throw new Error('Math.random() is not available in workflows') }
102
+ const __NativeDate = Date
103
+ Date = class WorkflowDate extends __NativeDate {
104
+ constructor(...values) {
105
+ if (values.length === 0) throw new Error('new Date() without arguments is not available in workflows')
106
+ super(...values)
107
+ }
108
+ static now() { throw new Error('Date.now() is not available in workflows') }
109
+ }
110
+ Object.freeze(budget)
111
+ `;
112
+ export async function executeWorkflowScript(options) {
113
+ if (Buffer.byteLength(options.body) > 524_288) {
114
+ throw new Error('Workflow script exceeded 524288 bytes');
115
+ }
116
+ if (options.host.total !== null &&
117
+ (options.host.total < 0 || !Number.isFinite(options.host.total))) {
118
+ throw new Error('Workflow budget total must be finite and non-negative');
119
+ }
120
+ const QuickJS = await getQuickJS();
121
+ const runtime = QuickJS.newRuntime();
122
+ runtime.setMemoryLimit(options.memoryLimitBytes ?? DEFAULT_MEMORY_BYTES);
123
+ runtime.setMaxStackSize(1024 * 1024);
124
+ const deadline = Date.now() + (options.deadlineMs ?? DEFAULT_DEADLINE_MS);
125
+ runtime.setInterruptHandler(() => options.signal?.aborted === true || Date.now() > deadline);
126
+ const vm = runtime.newContext();
127
+ const pending = new Set();
128
+ try {
129
+ installAsyncHostFunction(vm, '__workflowAgent', (prompt, agentOptions) => options.host.agent(String(prompt), (agentOptions ?? {})), pending);
130
+ installAsyncHostFunction(vm, '__workflowNested', (reference, args) => options.host.workflow(reference, args), pending);
131
+ installSyncHostFunction(vm, '__workflowLog', (message) => {
132
+ options.host.log(String(message));
133
+ });
134
+ installSyncHostFunction(vm, '__workflowPhase', (title) => {
135
+ options.host.phase(String(title));
136
+ });
137
+ installSyncHostFunction(vm, '__workflowBudgetSpent', () => options.host.spent());
138
+ const total = options.host.total === null ? vm.null : vm.newNumber(options.host.total);
139
+ vm.setProp(vm.global, '__workflowBudgetTotal', total);
140
+ if (options.host.total !== null)
141
+ total.dispose();
142
+ const args = vm.newString(JSON.stringify({ value: options.args }));
143
+ vm.setProp(vm.global, '__workflowArgsJson', args);
144
+ args.dispose();
145
+ const source = `${PRELUDE}\nconst args = JSON.parse(__workflowArgsJson).value\n;(async () => {\n${options.body}\n})()`;
146
+ const evaluated = vm.evalCode(source, 'workflow.js');
147
+ if (evaluated.error) {
148
+ const message = errorMessage(vm, evaluated.error);
149
+ evaluated.error.dispose();
150
+ throw new Error(message);
151
+ }
152
+ const promise = evaluated.value;
153
+ const settling = vm.resolvePromise(promise);
154
+ runtime.executePendingJobs();
155
+ const settled = await settling;
156
+ promise.dispose();
157
+ if (settled.error) {
158
+ const message = errorMessage(vm, settled.error);
159
+ settled.error.dispose();
160
+ if (options.signal?.aborted)
161
+ throw new Error('Workflow aborted');
162
+ throw new Error(message);
163
+ }
164
+ const result = vm.dump(settled.value);
165
+ settled.value.dispose();
166
+ return result;
167
+ }
168
+ finally {
169
+ await Promise.allSettled([...pending].map((promise) => promise.settled));
170
+ for (const promise of pending)
171
+ promise.dispose();
172
+ vm.dispose();
173
+ runtime.dispose();
174
+ }
175
+ }
176
+ //# sourceMappingURL=workflow-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-runtime.js","sourceRoot":"","sources":["../../src/application/workflow-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type ManagedWorktree } from './managed-worktree.js';
2
+ export type WorkflowWorktree = ManagedWorktree;
3
+ export declare function createWorkflowWorktree(options: {
4
+ cwd: string;
5
+ praxisRoot: string;
6
+ runId: string;
7
+ agentId: string;
8
+ }): Promise<WorkflowWorktree>;
9
+ //# sourceMappingURL=workflow-worktree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-worktree.d.ts","sourceRoot":"","sources":["../../src/application/workflow-worktree.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAA;AAE9C,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO5B"}
@@ -0,0 +1,11 @@
1
+ import { join } from 'node:path';
2
+ import { createManagedWorktree, } from './managed-worktree.js';
3
+ export async function createWorkflowWorktree(options) {
4
+ return createManagedWorktree({
5
+ cwd: options.cwd,
6
+ parentDirectory: join(options.praxisRoot, 'workflow-worktrees'),
7
+ directoryName: `${options.runId}-${options.agentId}`,
8
+ label: 'Workflow',
9
+ });
10
+ }
11
+ //# sourceMappingURL=workflow-worktree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-worktree.js","sourceRoot":"","sources":["../../src/application/workflow-worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EACL,qBAAqB,GAEtB,MAAM,uBAAuB,CAAA;AAI9B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAK5C;IACC,OAAO,qBAAqB,CAAC;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,oBAAoB,CAAC;QAC/D,aAAa,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE;QACpD,KAAK,EAAE,UAAU;KAClB,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { TopLevelAgentSummary } from '../application/top-level-agent-manager.js';
2
+ export interface AgentsDashboardManager {
3
+ launch(options: {
4
+ prompt: string;
5
+ argv: string[];
6
+ resumeSessionId?: string;
7
+ cwd?: string;
8
+ }): Promise<{
9
+ id: string;
10
+ sessionId: string;
11
+ }>;
12
+ list(options: {
13
+ cwd?: string;
14
+ all: boolean;
15
+ }): Promise<TopLevelAgentSummary[]>;
16
+ review?(agent: Pick<TopLevelAgentSummary, 'id' | 'cwd' | 'sessionId'>): Promise<string>;
17
+ stop(id: string): Promise<void>;
18
+ attach(id: string, input: AsyncIterable<string | Uint8Array>, output: (text: string) => void, signal?: AbortSignal): Promise<void>;
19
+ }
20
+ export interface AgentsDashboardDefaults {
21
+ argv: readonly string[];
22
+ cwd?: string;
23
+ }
24
+ export interface AgentsDashboardAppProps {
25
+ manager: AgentsDashboardManager;
26
+ defaults: AgentsDashboardDefaults;
27
+ signal?: AbortSignal;
28
+ refreshIntervalMs?: number;
29
+ onCancel?: () => void;
30
+ }
31
+ export declare function AgentsDashboardApp({ manager, defaults, signal, refreshIntervalMs, onCancel, }: AgentsDashboardAppProps): import("react").JSX.Element;
32
+ export declare function runAgentsDashboard(options: {
33
+ manager: AgentsDashboardManager;
34
+ defaults: AgentsDashboardDefaults;
35
+ signal?: AbortSignal;
36
+ }): Promise<number>;
37
+ //# sourceMappingURL=agents-dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-dashboard.d.ts","sourceRoot":"","sources":["../../src/cli/agents-dashboard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAErF,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,OAAO,EAAE;QACd,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAC9E,MAAM,CAAC,CACL,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC,GAC5D,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,EACzC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,sBAAsB,CAAA;IAC/B,QAAQ,EAAE,uBAAuB,CAAA;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAkID,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,MAAM,EACN,iBAAyB,EACzB,QAAQ,GACT,EAAE,uBAAuB,+BAsXzB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,OAAO,EAAE,sBAAsB,CAAA;IAC/B,QAAQ,EAAE,uBAAuB,CAAA;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBlB"}