@united-workforce/cli 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 (310) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +221 -0
  3. package/dist/__tests__/adapter-json-roundtrip.test.d.ts +2 -0
  4. package/dist/__tests__/adapter-json-roundtrip.test.d.ts.map +1 -0
  5. package/dist/__tests__/adapter-json-roundtrip.test.js +147 -0
  6. package/dist/__tests__/adapter-json-roundtrip.test.js.map +1 -0
  7. package/dist/__tests__/config.test.d.ts +2 -0
  8. package/dist/__tests__/config.test.d.ts.map +1 -0
  9. package/dist/__tests__/config.test.js +685 -0
  10. package/dist/__tests__/config.test.js.map +1 -0
  11. package/dist/__tests__/current-role.test.d.ts +2 -0
  12. package/dist/__tests__/current-role.test.d.ts.map +1 -0
  13. package/dist/__tests__/current-role.test.js +401 -0
  14. package/dist/__tests__/current-role.test.js.map +1 -0
  15. package/dist/__tests__/e2e-mock-agent.test.d.ts +2 -0
  16. package/dist/__tests__/e2e-mock-agent.test.d.ts.map +1 -0
  17. package/dist/__tests__/e2e-mock-agent.test.js +401 -0
  18. package/dist/__tests__/e2e-mock-agent.test.js.map +1 -0
  19. package/dist/__tests__/include-tag.test.d.ts +2 -0
  20. package/dist/__tests__/include-tag.test.d.ts.map +1 -0
  21. package/dist/__tests__/include-tag.test.js +69 -0
  22. package/dist/__tests__/include-tag.test.js.map +1 -0
  23. package/dist/__tests__/log.test.d.ts +2 -0
  24. package/dist/__tests__/log.test.d.ts.map +1 -0
  25. package/dist/__tests__/log.test.js +161 -0
  26. package/dist/__tests__/log.test.js.map +1 -0
  27. package/dist/__tests__/moderator-evaluate.test.d.ts +2 -0
  28. package/dist/__tests__/moderator-evaluate.test.d.ts.map +1 -0
  29. package/dist/__tests__/moderator-evaluate.test.js +170 -0
  30. package/dist/__tests__/moderator-evaluate.test.js.map +1 -0
  31. package/dist/__tests__/preload.d.ts +3 -0
  32. package/dist/__tests__/preload.d.ts.map +1 -0
  33. package/dist/__tests__/preload.js +6 -0
  34. package/dist/__tests__/preload.js.map +1 -0
  35. package/dist/__tests__/prompt.test.d.ts +2 -0
  36. package/dist/__tests__/prompt.test.d.ts.map +1 -0
  37. package/dist/__tests__/prompt.test.js +111 -0
  38. package/dist/__tests__/prompt.test.js.map +1 -0
  39. package/dist/__tests__/resolve-head-hash.test.d.ts +2 -0
  40. package/dist/__tests__/resolve-head-hash.test.d.ts.map +1 -0
  41. package/dist/__tests__/resolve-head-hash.test.js +66 -0
  42. package/dist/__tests__/resolve-head-hash.test.js.map +1 -0
  43. package/dist/__tests__/setup-agent-discovery.test.d.ts +2 -0
  44. package/dist/__tests__/setup-agent-discovery.test.d.ts.map +1 -0
  45. package/dist/__tests__/setup-agent-discovery.test.js +119 -0
  46. package/dist/__tests__/setup-agent-discovery.test.js.map +1 -0
  47. package/dist/__tests__/setup-complexity.test.d.ts +2 -0
  48. package/dist/__tests__/setup-complexity.test.d.ts.map +1 -0
  49. package/dist/__tests__/setup-complexity.test.js +314 -0
  50. package/dist/__tests__/setup-complexity.test.js.map +1 -0
  51. package/dist/__tests__/setup-validate.test.d.ts +2 -0
  52. package/dist/__tests__/setup-validate.test.d.ts.map +1 -0
  53. package/dist/__tests__/setup-validate.test.js +108 -0
  54. package/dist/__tests__/setup-validate.test.js.map +1 -0
  55. package/dist/__tests__/solve-issue-tea-worktree.test.d.ts +2 -0
  56. package/dist/__tests__/solve-issue-tea-worktree.test.d.ts.map +1 -0
  57. package/dist/__tests__/solve-issue-tea-worktree.test.js +107 -0
  58. package/dist/__tests__/solve-issue-tea-worktree.test.js.map +1 -0
  59. package/dist/__tests__/spawn-agent-json.test.d.ts +2 -0
  60. package/dist/__tests__/spawn-agent-json.test.d.ts.map +1 -0
  61. package/dist/__tests__/spawn-agent-json.test.js +79 -0
  62. package/dist/__tests__/spawn-agent-json.test.js.map +1 -0
  63. package/dist/__tests__/step-read.test.d.ts +2 -0
  64. package/dist/__tests__/step-read.test.d.ts.map +1 -0
  65. package/dist/__tests__/step-read.test.js +561 -0
  66. package/dist/__tests__/step-read.test.js.map +1 -0
  67. package/dist/__tests__/step-show-json.test.d.ts +2 -0
  68. package/dist/__tests__/step-show-json.test.d.ts.map +1 -0
  69. package/dist/__tests__/step-show-json.test.js +311 -0
  70. package/dist/__tests__/step-show-json.test.js.map +1 -0
  71. package/dist/__tests__/step-timing.test.d.ts +2 -0
  72. package/dist/__tests__/step-timing.test.d.ts.map +1 -0
  73. package/dist/__tests__/step-timing.test.js +345 -0
  74. package/dist/__tests__/step-timing.test.js.map +1 -0
  75. package/dist/__tests__/store-global-cas.test.d.ts +2 -0
  76. package/dist/__tests__/store-global-cas.test.d.ts.map +1 -0
  77. package/dist/__tests__/store-global-cas.test.js +235 -0
  78. package/dist/__tests__/store-global-cas.test.js.map +1 -0
  79. package/dist/__tests__/store-storage-root.test.d.ts +2 -0
  80. package/dist/__tests__/store-storage-root.test.d.ts.map +1 -0
  81. package/dist/__tests__/store-storage-root.test.js +43 -0
  82. package/dist/__tests__/store-storage-root.test.js.map +1 -0
  83. package/dist/__tests__/store-unified-threads.test.d.ts +2 -0
  84. package/dist/__tests__/store-unified-threads.test.d.ts.map +1 -0
  85. package/dist/__tests__/store-unified-threads.test.js +189 -0
  86. package/dist/__tests__/store-unified-threads.test.js.map +1 -0
  87. package/dist/__tests__/thread-cancel-status.test.d.ts +2 -0
  88. package/dist/__tests__/thread-cancel-status.test.d.ts.map +1 -0
  89. package/dist/__tests__/thread-cancel-status.test.js +111 -0
  90. package/dist/__tests__/thread-cancel-status.test.js.map +1 -0
  91. package/dist/__tests__/thread-list-filters.test.d.ts +2 -0
  92. package/dist/__tests__/thread-list-filters.test.d.ts.map +1 -0
  93. package/dist/__tests__/thread-list-filters.test.js +442 -0
  94. package/dist/__tests__/thread-list-filters.test.js.map +1 -0
  95. package/dist/__tests__/thread-location.test.d.ts +2 -0
  96. package/dist/__tests__/thread-location.test.d.ts.map +1 -0
  97. package/dist/__tests__/thread-location.test.js +159 -0
  98. package/dist/__tests__/thread-location.test.js.map +1 -0
  99. package/dist/__tests__/thread-read-quota.test.d.ts +2 -0
  100. package/dist/__tests__/thread-read-quota.test.d.ts.map +1 -0
  101. package/dist/__tests__/thread-read-quota.test.js +546 -0
  102. package/dist/__tests__/thread-read-quota.test.js.map +1 -0
  103. package/dist/__tests__/thread-read-xml-tags.test.d.ts +2 -0
  104. package/dist/__tests__/thread-read-xml-tags.test.d.ts.map +1 -0
  105. package/dist/__tests__/thread-read-xml-tags.test.js +610 -0
  106. package/dist/__tests__/thread-read-xml-tags.test.js.map +1 -0
  107. package/dist/__tests__/thread-resume.test.d.ts +2 -0
  108. package/dist/__tests__/thread-resume.test.d.ts.map +1 -0
  109. package/dist/__tests__/thread-resume.test.js +592 -0
  110. package/dist/__tests__/thread-resume.test.js.map +1 -0
  111. package/dist/__tests__/thread-show-status.test.d.ts +2 -0
  112. package/dist/__tests__/thread-show-status.test.d.ts.map +1 -0
  113. package/dist/__tests__/thread-show-status.test.js +267 -0
  114. package/dist/__tests__/thread-show-status.test.js.map +1 -0
  115. package/dist/__tests__/thread-start-cwd-cli.test.d.ts +2 -0
  116. package/dist/__tests__/thread-start-cwd-cli.test.d.ts.map +1 -0
  117. package/dist/__tests__/thread-start-cwd-cli.test.js +130 -0
  118. package/dist/__tests__/thread-start-cwd-cli.test.js.map +1 -0
  119. package/dist/__tests__/thread-step-count.test.d.ts +2 -0
  120. package/dist/__tests__/thread-step-count.test.d.ts.map +1 -0
  121. package/dist/__tests__/thread-step-count.test.js +55 -0
  122. package/dist/__tests__/thread-step-count.test.js.map +1 -0
  123. package/dist/__tests__/thread-suspend-step.test.d.ts +2 -0
  124. package/dist/__tests__/thread-suspend-step.test.d.ts.map +1 -0
  125. package/dist/__tests__/thread-suspend-step.test.js +155 -0
  126. package/dist/__tests__/thread-suspend-step.test.js.map +1 -0
  127. package/dist/__tests__/thread-suspended-display.test.d.ts +2 -0
  128. package/dist/__tests__/thread-suspended-display.test.d.ts.map +1 -0
  129. package/dist/__tests__/thread-suspended-display.test.js +247 -0
  130. package/dist/__tests__/thread-suspended-display.test.js.map +1 -0
  131. package/dist/__tests__/thread-test-helpers.d.ts +4 -0
  132. package/dist/__tests__/thread-test-helpers.d.ts.map +1 -0
  133. package/dist/__tests__/thread-test-helpers.js +23 -0
  134. package/dist/__tests__/thread-test-helpers.js.map +1 -0
  135. package/dist/__tests__/thread.test.d.ts +2 -0
  136. package/dist/__tests__/thread.test.d.ts.map +1 -0
  137. package/dist/__tests__/thread.test.js +883 -0
  138. package/dist/__tests__/thread.test.js.map +1 -0
  139. package/dist/__tests__/validate-semantic.test.d.ts +2 -0
  140. package/dist/__tests__/validate-semantic.test.d.ts.map +1 -0
  141. package/dist/__tests__/validate-semantic.test.js +408 -0
  142. package/dist/__tests__/validate-semantic.test.js.map +1 -0
  143. package/dist/__tests__/workflow-resolution.test.d.ts +2 -0
  144. package/dist/__tests__/workflow-resolution.test.d.ts.map +1 -0
  145. package/dist/__tests__/workflow-resolution.test.js +308 -0
  146. package/dist/__tests__/workflow-resolution.test.js.map +1 -0
  147. package/dist/background/background.d.ts +38 -0
  148. package/dist/background/background.d.ts.map +1 -0
  149. package/dist/background/background.js +123 -0
  150. package/dist/background/background.js.map +1 -0
  151. package/dist/background/index.d.ts +3 -0
  152. package/dist/background/index.d.ts.map +1 -0
  153. package/dist/background/index.js +2 -0
  154. package/dist/background/index.js.map +1 -0
  155. package/dist/background/types.d.ts +9 -0
  156. package/dist/background/types.d.ts.map +1 -0
  157. package/dist/background/types.js +2 -0
  158. package/dist/background/types.js.map +1 -0
  159. package/dist/cli.d.ts +3 -0
  160. package/dist/cli.d.ts.map +1 -0
  161. package/dist/cli.js +535 -0
  162. package/dist/cli.js.map +1 -0
  163. package/dist/commands/config.d.ts +41 -0
  164. package/dist/commands/config.d.ts.map +1 -0
  165. package/dist/commands/config.js +252 -0
  166. package/dist/commands/config.js.map +1 -0
  167. package/dist/commands/log.d.ts +26 -0
  168. package/dist/commands/log.d.ts.map +1 -0
  169. package/dist/commands/log.js +79 -0
  170. package/dist/commands/log.js.map +1 -0
  171. package/dist/commands/prompt.d.ts +6 -0
  172. package/dist/commands/prompt.d.ts.map +1 -0
  173. package/dist/commands/prompt.js +67 -0
  174. package/dist/commands/prompt.js.map +1 -0
  175. package/dist/commands/setup.d.ts +73 -0
  176. package/dist/commands/setup.d.ts.map +1 -0
  177. package/dist/commands/setup.js +522 -0
  178. package/dist/commands/setup.js.map +1 -0
  179. package/dist/commands/shared.d.ts +31 -0
  180. package/dist/commands/shared.d.ts.map +1 -0
  181. package/dist/commands/shared.js +154 -0
  182. package/dist/commands/shared.js.map +1 -0
  183. package/dist/commands/step.d.ts +18 -0
  184. package/dist/commands/step.d.ts.map +1 -0
  185. package/dist/commands/step.js +257 -0
  186. package/dist/commands/step.js.map +1 -0
  187. package/dist/commands/thread-time-parser.d.ts +6 -0
  188. package/dist/commands/thread-time-parser.d.ts.map +1 -0
  189. package/dist/commands/thread-time-parser.js +22 -0
  190. package/dist/commands/thread-time-parser.js.map +1 -0
  191. package/dist/commands/thread.d.ts +38 -0
  192. package/dist/commands/thread.d.ts.map +1 -0
  193. package/dist/commands/thread.js +1087 -0
  194. package/dist/commands/thread.js.map +1 -0
  195. package/dist/commands/workflow.d.ts +24 -0
  196. package/dist/commands/workflow.d.ts.map +1 -0
  197. package/dist/commands/workflow.js +138 -0
  198. package/dist/commands/workflow.js.map +1 -0
  199. package/dist/format.d.ts +3 -0
  200. package/dist/format.d.ts.map +1 -0
  201. package/dist/format.js +10 -0
  202. package/dist/format.js.map +1 -0
  203. package/dist/include.d.ts +12 -0
  204. package/dist/include.d.ts.map +1 -0
  205. package/dist/include.js +35 -0
  206. package/dist/include.js.map +1 -0
  207. package/dist/moderator/__tests__/evaluate.test.d.ts +2 -0
  208. package/dist/moderator/__tests__/evaluate.test.d.ts.map +1 -0
  209. package/dist/moderator/__tests__/evaluate.test.js +167 -0
  210. package/dist/moderator/__tests__/evaluate.test.js.map +1 -0
  211. package/dist/moderator/evaluate.d.ts +6 -0
  212. package/dist/moderator/evaluate.d.ts.map +1 -0
  213. package/dist/moderator/evaluate.js +65 -0
  214. package/dist/moderator/evaluate.js.map +1 -0
  215. package/dist/moderator/index.d.ts +4 -0
  216. package/dist/moderator/index.d.ts.map +1 -0
  217. package/dist/moderator/index.js +3 -0
  218. package/dist/moderator/index.js.map +1 -0
  219. package/dist/moderator/types.d.ts +25 -0
  220. package/dist/moderator/types.d.ts.map +1 -0
  221. package/dist/moderator/types.js +4 -0
  222. package/dist/moderator/types.js.map +1 -0
  223. package/dist/schemas.d.ts +16 -0
  224. package/dist/schemas.d.ts.map +1 -0
  225. package/dist/schemas.js +17 -0
  226. package/dist/schemas.js.map +1 -0
  227. package/dist/store.d.ts +77 -0
  228. package/dist/store.d.ts.map +1 -0
  229. package/dist/store.js +392 -0
  230. package/dist/store.js.map +1 -0
  231. package/dist/validate-semantic.d.ts +7 -0
  232. package/dist/validate-semantic.d.ts.map +1 -0
  233. package/dist/validate-semantic.js +263 -0
  234. package/dist/validate-semantic.js.map +1 -0
  235. package/dist/validate.d.ts +16 -0
  236. package/dist/validate.d.ts.map +1 -0
  237. package/dist/validate.js +115 -0
  238. package/dist/validate.js.map +1 -0
  239. package/package.json +44 -0
  240. package/src/__tests__/adapter-json-roundtrip.test.ts +181 -0
  241. package/src/__tests__/config.test.ts +740 -0
  242. package/src/__tests__/current-role.test.ts +438 -0
  243. package/src/__tests__/e2e-mock-agent.test.ts +498 -0
  244. package/src/__tests__/fixtures/e2e-completed-resume.mock.yaml +15 -0
  245. package/src/__tests__/fixtures/e2e-count.mock.yaml +19 -0
  246. package/src/__tests__/fixtures/e2e-count.workflow.yaml +45 -0
  247. package/src/__tests__/fixtures/e2e-linear.mock.yaml +13 -0
  248. package/src/__tests__/fixtures/e2e-linear.workflow.yaml +32 -0
  249. package/src/__tests__/fixtures/e2e-loop.mock.yaml +25 -0
  250. package/src/__tests__/fixtures/e2e-loop.workflow.yaml +36 -0
  251. package/src/__tests__/fixtures/e2e-mismatch.mock.yaml +16 -0
  252. package/src/__tests__/fixtures/e2e-mustache.mock.yaml +15 -0
  253. package/src/__tests__/fixtures/e2e-mustache.workflow.yaml +34 -0
  254. package/src/__tests__/fixtures/e2e-suspend.mock.yaml +14 -0
  255. package/src/__tests__/fixtures/e2e-suspend.workflow.yaml +24 -0
  256. package/src/__tests__/include-tag.test.ts +84 -0
  257. package/src/__tests__/log.test.ts +181 -0
  258. package/src/__tests__/moderator-evaluate.test.ts +186 -0
  259. package/src/__tests__/preload.ts +7 -0
  260. package/src/__tests__/prompt.test.ts +129 -0
  261. package/src/__tests__/resolve-head-hash.test.ts +86 -0
  262. package/src/__tests__/setup-agent-discovery.test.ts +167 -0
  263. package/src/__tests__/setup-complexity.test.ts +381 -0
  264. package/src/__tests__/setup-validate.test.ts +148 -0
  265. package/src/__tests__/solve-issue-tea-worktree.test.ts +144 -0
  266. package/src/__tests__/spawn-agent-json.test.ts +100 -0
  267. package/src/__tests__/step-read.test.ts +632 -0
  268. package/src/__tests__/step-show-json.test.ts +373 -0
  269. package/src/__tests__/step-timing.test.ts +392 -0
  270. package/src/__tests__/store-global-cas.test.ts +308 -0
  271. package/src/__tests__/store-storage-root.test.ts +49 -0
  272. package/src/__tests__/store-unified-threads.test.ts +235 -0
  273. package/src/__tests__/thread-cancel-status.test.ts +138 -0
  274. package/src/__tests__/thread-list-filters.test.ts +572 -0
  275. package/src/__tests__/thread-location.test.ts +186 -0
  276. package/src/__tests__/thread-read-quota.test.ts +613 -0
  277. package/src/__tests__/thread-read-xml-tags.test.ts +717 -0
  278. package/src/__tests__/thread-resume.test.ts +710 -0
  279. package/src/__tests__/thread-show-status.test.ts +317 -0
  280. package/src/__tests__/thread-start-cwd-cli.test.ts +164 -0
  281. package/src/__tests__/thread-step-count.test.ts +70 -0
  282. package/src/__tests__/thread-suspend-step.test.ts +181 -0
  283. package/src/__tests__/thread-suspended-display.test.ts +287 -0
  284. package/src/__tests__/thread-test-helpers.ts +37 -0
  285. package/src/__tests__/thread.test.ts +1025 -0
  286. package/src/__tests__/validate-semantic.test.ts +474 -0
  287. package/src/__tests__/workflow-resolution.test.ts +421 -0
  288. package/src/background/background.ts +147 -0
  289. package/src/background/index.ts +11 -0
  290. package/src/background/types.ts +9 -0
  291. package/src/cli.ts +692 -0
  292. package/src/commands/config.ts +304 -0
  293. package/src/commands/log.ts +116 -0
  294. package/src/commands/prompt.ts +81 -0
  295. package/src/commands/setup.ts +603 -0
  296. package/src/commands/shared.ts +227 -0
  297. package/src/commands/step.ts +343 -0
  298. package/src/commands/thread-time-parser.ts +23 -0
  299. package/src/commands/thread.ts +1575 -0
  300. package/src/commands/workflow.ts +213 -0
  301. package/src/format.ts +12 -0
  302. package/src/include.ts +37 -0
  303. package/src/moderator/__tests__/evaluate.test.ts +199 -0
  304. package/src/moderator/evaluate.ts +80 -0
  305. package/src/moderator/index.ts +7 -0
  306. package/src/moderator/types.ts +24 -0
  307. package/src/schemas.ts +26 -0
  308. package/src/store.ts +479 -0
  309. package/src/validate-semantic.ts +304 -0
  310. package/src/validate.ts +137 -0
package/dist/cli.js ADDED
@@ -0,0 +1,535 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from "commander";
3
+ import { cmdConfigGet, cmdConfigList, cmdConfigSet } from "./commands/config.js";
4
+ import { cmdLogClean, cmdLogList, cmdLogShow } from "./commands/log.js";
5
+ import { cmdPromptAdapterDeveloping, cmdPromptBootstrap, cmdPromptList, cmdPromptSetup, cmdPromptUsage, cmdPromptUsageReference, cmdPromptWorkflowAuthoring, } from "./commands/prompt.js";
6
+ import { cmdSetup, cmdSetupInteractive } from "./commands/setup.js";
7
+ import { cmdStepFork, cmdStepList, cmdStepRead, cmdStepShow } from "./commands/step.js";
8
+ import { cmdThreadCancel, cmdThreadExec, cmdThreadList, cmdThreadRead, cmdThreadResume, cmdThreadShow, cmdThreadStart, cmdThreadStop, THREAD_READ_DEFAULT_QUOTA, } from "./commands/thread.js";
9
+ import { parseTimeInput } from "./commands/thread-time-parser.js";
10
+ import { cmdWorkflowAdd, cmdWorkflowList, cmdWorkflowShow } from "./commands/workflow.js";
11
+ import { formatOutput } from "./format.js";
12
+ import { resolveStorageRoot } from "./store.js";
13
+ function writeOutput(data) {
14
+ const fmt = program.opts().format;
15
+ process.stdout.write(`${formatOutput(data, fmt)}\n`);
16
+ }
17
+ function runAction(action) {
18
+ action().catch((e) => {
19
+ const message = e instanceof Error ? e.message : String(e);
20
+ process.stderr.write(`${message}\n`);
21
+ process.exit(1);
22
+ });
23
+ }
24
+ const program = new Command();
25
+ // eslint-disable-next-line -- dynamic import for version
26
+ const pkg = await import("../package.json", { with: { type: "json" } });
27
+ program
28
+ .name("uwf")
29
+ .description("Stateless workflow CLI\n\n" +
30
+ "Four-layer architecture:\n" +
31
+ " workflow → thread → step → turn")
32
+ .version(pkg.default.version, "-V, --version");
33
+ program.option("--format <fmt>", "Output format: json or yaml", "json");
34
+ const workflow = program
35
+ .command("workflow")
36
+ .description("Workflow definitions (layer 1: templates)");
37
+ workflow
38
+ .command("add")
39
+ .description("Register a workflow from YAML")
40
+ .argument("<file>", "Workflow YAML file")
41
+ .action((file) => {
42
+ const storageRoot = resolveStorageRoot();
43
+ runAction(async () => {
44
+ const result = await cmdWorkflowAdd(storageRoot, file);
45
+ writeOutput(result);
46
+ });
47
+ });
48
+ workflow
49
+ .command("show")
50
+ .description("Show a workflow by name or CAS hash")
51
+ .argument("<id>", "Workflow name or hash")
52
+ .action((id) => {
53
+ const storageRoot = resolveStorageRoot();
54
+ runAction(async () => {
55
+ const result = await cmdWorkflowShow(storageRoot, id);
56
+ writeOutput(result);
57
+ });
58
+ });
59
+ workflow
60
+ .command("list")
61
+ .description("List registered workflows")
62
+ .action(() => {
63
+ const storageRoot = resolveStorageRoot();
64
+ runAction(async () => {
65
+ const result = await cmdWorkflowList(storageRoot, process.cwd());
66
+ writeOutput(result);
67
+ });
68
+ });
69
+ const thread = program.command("thread").description("Thread execution (layer 2: instances)");
70
+ thread
71
+ .command("start")
72
+ .description("Create a thread without executing")
73
+ .argument("<workflow>", "Workflow name or hash")
74
+ .requiredOption("-p, --prompt <text>", "User prompt")
75
+ .option("--cwd <path>", "Working directory for thread execution (default: process.cwd())")
76
+ .action((workflow, opts) => {
77
+ const storageRoot = resolveStorageRoot();
78
+ runAction(async () => {
79
+ const result = await cmdThreadStart(storageRoot, workflow, opts.prompt, process.cwd(), opts.cwd ?? process.cwd());
80
+ writeOutput(result);
81
+ });
82
+ });
83
+ thread
84
+ .command("exec")
85
+ .description("Execute one or more steps")
86
+ .argument("<thread-id>", "Thread ULID")
87
+ .option("--agent <cmd>", "Override agent command")
88
+ .option("-c, --count <number>", "Number of steps to run (default: 1)")
89
+ .option("--background", "Run in background and return immediately")
90
+ .option("--_background-worker", "Internal flag for background worker process", false)
91
+ .action((threadId, opts) => {
92
+ const storageRoot = resolveStorageRoot();
93
+ runAction(async () => {
94
+ const agentOverride = opts.agent ?? null;
95
+ const count = opts.count !== undefined ? Number(opts.count) : 1;
96
+ const background = opts.background ?? false;
97
+ const backgroundWorker = opts._backgroundWorker ?? false;
98
+ const results = await cmdThreadExec(storageRoot, threadId, agentOverride, count, background, backgroundWorker);
99
+ if (results.length === 1) {
100
+ writeOutput(results[0]);
101
+ }
102
+ else {
103
+ writeOutput(results);
104
+ }
105
+ });
106
+ });
107
+ thread
108
+ .command("show")
109
+ .description("Show thread head pointer")
110
+ .argument("<thread-id>", "Thread ULID")
111
+ .action((threadId) => {
112
+ const storageRoot = resolveStorageRoot();
113
+ runAction(async () => {
114
+ const result = await cmdThreadShow(storageRoot, threadId);
115
+ writeOutput(result);
116
+ });
117
+ });
118
+ // Helper functions for thread list command parsing
119
+ function parseStatusFilter(status) {
120
+ if (status === undefined)
121
+ return null;
122
+ const raw = status.trim();
123
+ if (raw === "active")
124
+ return ["idle", "running"];
125
+ const parts = raw.split(",").map((s) => s.trim());
126
+ const validStatuses = ["idle", "running", "suspended", "completed", "cancelled"];
127
+ for (const part of parts) {
128
+ if (!validStatuses.includes(part)) {
129
+ process.stderr.write(`Invalid status: ${part}. Must be one of: idle, running, suspended, completed, cancelled, active\n`);
130
+ process.exit(1);
131
+ }
132
+ }
133
+ return parts;
134
+ }
135
+ function parseTimeFilters(after, before, nowMs) {
136
+ try {
137
+ const afterMs = after !== undefined ? parseTimeInput(after, nowMs) : null;
138
+ const beforeMs = before !== undefined ? parseTimeInput(before, nowMs) : null;
139
+ return { afterMs, beforeMs };
140
+ }
141
+ catch (e) {
142
+ const message = e instanceof Error ? e.message : String(e);
143
+ process.stderr.write(`${message}\n`);
144
+ process.exit(1);
145
+ }
146
+ }
147
+ function parsePaginationOptions(skip, take) {
148
+ let skipVal = null;
149
+ let takeVal = null;
150
+ if (skip !== undefined) {
151
+ skipVal = Number.parseInt(skip, 10);
152
+ if (!Number.isInteger(skipVal) || skipVal < 0) {
153
+ process.stderr.write("--skip must be a non-negative integer\n");
154
+ process.exit(1);
155
+ }
156
+ }
157
+ if (take !== undefined) {
158
+ takeVal = Number.parseInt(take, 10);
159
+ if (!Number.isInteger(takeVal) || takeVal < 1) {
160
+ process.stderr.write("--take must be a positive integer\n");
161
+ process.exit(1);
162
+ }
163
+ }
164
+ return { skip: skipVal, take: takeVal };
165
+ }
166
+ thread
167
+ .command("list")
168
+ .description("List threads")
169
+ .option("--status <status>", "Filter by status: idle, running, completed, cancelled, active (idle+running), or comma-separated values")
170
+ .option("--after <date>", "Filter threads created after this date (ISO or relative like '7d')")
171
+ .option("--before <date>", "Filter threads created before this date (ISO or relative like '7d')")
172
+ .option("--skip <n>", "Skip first n threads")
173
+ .option("--take <n>", "Return at most n threads")
174
+ .action((opts) => {
175
+ const storageRoot = resolveStorageRoot();
176
+ runAction(async () => {
177
+ const statusFilter = parseStatusFilter(opts.status);
178
+ const nowMs = Date.now();
179
+ const { afterMs, beforeMs } = parseTimeFilters(opts.after, opts.before, nowMs);
180
+ const { skip, take } = parsePaginationOptions(opts.skip, opts.take);
181
+ const result = await cmdThreadList(storageRoot, statusFilter, afterMs, beforeMs, skip, take);
182
+ writeOutput(result);
183
+ });
184
+ });
185
+ thread
186
+ .command("resume")
187
+ .description("Resume a suspended thread and re-run the suspended role")
188
+ .argument("<thread-id>", "Thread ULID")
189
+ .option("-p, --prompt <text>", "Supplementary info to append to the resume prompt")
190
+ .option("--agent <cmd>", "Override agent command")
191
+ .action((threadId, opts) => {
192
+ const storageRoot = resolveStorageRoot();
193
+ runAction(async () => {
194
+ const supplement = opts.prompt ?? null;
195
+ const agentOverride = opts.agent ?? null;
196
+ const result = await cmdThreadResume(storageRoot, threadId, supplement, agentOverride);
197
+ writeOutput(result);
198
+ });
199
+ });
200
+ thread
201
+ .command("stop")
202
+ .description("Stop background execution of a thread (keep thread active)")
203
+ .argument("<thread-id>", "Thread ULID")
204
+ .action((threadId) => {
205
+ const storageRoot = resolveStorageRoot();
206
+ runAction(async () => {
207
+ const result = await cmdThreadStop(storageRoot, threadId);
208
+ writeOutput(result);
209
+ });
210
+ });
211
+ thread
212
+ .command("cancel")
213
+ .description("Cancel a thread (stop execution and move to history)")
214
+ .argument("<thread-id>", "Thread ULID")
215
+ .action((threadId) => {
216
+ const storageRoot = resolveStorageRoot();
217
+ runAction(async () => {
218
+ const result = await cmdThreadCancel(storageRoot, threadId);
219
+ writeOutput(result);
220
+ });
221
+ });
222
+ thread
223
+ .command("read")
224
+ .description("Read thread context as human-readable markdown")
225
+ .argument("<thread-id>", "Thread ULID")
226
+ .option("--quota <chars>", "Max output characters", String(THREAD_READ_DEFAULT_QUOTA))
227
+ .option("--before <step-hash>", "Load steps before this hash (exclusive)")
228
+ .option("--start", "Include start step in output")
229
+ .action((threadId, opts) => {
230
+ const storageRoot = resolveStorageRoot();
231
+ runAction(async () => {
232
+ const quota = Number.parseInt(opts.quota, 10);
233
+ if (!Number.isFinite(quota) || quota < 1) {
234
+ process.stderr.write("invalid --quota: must be a positive integer\n");
235
+ process.exit(1);
236
+ }
237
+ const before = opts.before ?? null;
238
+ const markdown = await cmdThreadRead(storageRoot, threadId, quota, before, opts.start ?? false);
239
+ process.stdout.write(markdown.endsWith("\n") ? markdown : `${markdown}\n`);
240
+ });
241
+ });
242
+ const step = program.command("step").description("Step results (layer 3: single cycle)");
243
+ step
244
+ .command("list")
245
+ .description("List all steps in a thread")
246
+ .argument("<thread-id>", "Thread ULID")
247
+ .action((threadId) => {
248
+ const storageRoot = resolveStorageRoot();
249
+ runAction(async () => {
250
+ const result = await cmdStepList(storageRoot, threadId);
251
+ writeOutput(result);
252
+ });
253
+ });
254
+ step
255
+ .command("show")
256
+ .description("Show details of a specific step")
257
+ .argument("<step-hash>", "CAS hash of the StepNode")
258
+ .action((stepHash) => {
259
+ const storageRoot = resolveStorageRoot();
260
+ runAction(async () => {
261
+ const detail = await cmdStepShow(storageRoot, stepHash);
262
+ writeOutput(detail);
263
+ });
264
+ });
265
+ step
266
+ .command("read")
267
+ .description("Read a step's turns as human-readable markdown")
268
+ .argument("<step-hash>", "CAS hash of the StepNode")
269
+ .option("--quota <chars>", "Max output characters", "4000")
270
+ .option("--prompt", "Show the assembled prompt sent to the agent instead of turns")
271
+ .action((stepHash, opts) => {
272
+ const storageRoot = resolveStorageRoot();
273
+ runAction(async () => {
274
+ const quota = Number.parseInt(opts.quota, 10);
275
+ if (!Number.isFinite(quota) || quota < 1) {
276
+ process.stderr.write("invalid --quota: must be a positive integer\n");
277
+ process.exit(1);
278
+ }
279
+ const markdown = await cmdStepRead(storageRoot, stepHash, quota, opts.prompt === true);
280
+ process.stdout.write(markdown.endsWith("\n") ? markdown : `${markdown}\n`);
281
+ });
282
+ });
283
+ step
284
+ .command("fork")
285
+ .description("Fork a thread from a specific step")
286
+ .argument("<step-hash>", "CAS hash of the StartNode or StepNode to fork from")
287
+ .action((stepHash) => {
288
+ const storageRoot = resolveStorageRoot();
289
+ runAction(async () => {
290
+ const result = await cmdStepFork(storageRoot, stepHash);
291
+ writeOutput(result);
292
+ });
293
+ });
294
+ // ── Deprecation Handlers ──────────────────────────────────────────────────────
295
+ // These commands have been removed. Show helpful error messages.
296
+ workflow
297
+ .command("put")
298
+ .description("[DEPRECATED] Use 'workflow add' instead")
299
+ .argument("<file>", "Workflow YAML file")
300
+ .action(() => {
301
+ process.stderr.write(`Error: Command 'workflow put' has been removed.
302
+ Use 'workflow add' instead.
303
+
304
+ For more information, see: uwf help workflow add
305
+ `);
306
+ process.exit(1);
307
+ });
308
+ thread
309
+ .command("step")
310
+ .description("[DEPRECATED] Use 'thread exec' instead")
311
+ .argument("<thread-id>", "Thread ULID")
312
+ .allowUnknownOption()
313
+ .action(() => {
314
+ process.stderr.write(`Error: Command 'thread step' has been removed.
315
+ Use 'thread exec' instead.
316
+
317
+ For more information, see: uwf help thread exec
318
+ `);
319
+ process.exit(1);
320
+ });
321
+ thread
322
+ .command("steps")
323
+ .description("[DEPRECATED] Use 'step list' instead")
324
+ .argument("<thread-id>", "Thread ULID")
325
+ .action(() => {
326
+ process.stderr.write(`Error: Command 'thread steps' has been removed.
327
+ Use 'step list' instead.
328
+
329
+ For more information, see: uwf help step list
330
+ `);
331
+ process.exit(1);
332
+ });
333
+ thread
334
+ .command("step-details")
335
+ .description("[DEPRECATED] Use 'step show' instead")
336
+ .argument("<step-hash>", "Step hash")
337
+ .action(() => {
338
+ process.stderr.write(`Error: Command 'thread step-details' has been removed.
339
+ Use 'step show' instead.
340
+
341
+ For more information, see: uwf help step show
342
+ `);
343
+ process.exit(1);
344
+ });
345
+ thread
346
+ .command("fork")
347
+ .description("[DEPRECATED] Use 'step fork' instead")
348
+ .argument("<step-hash>", "Step hash")
349
+ .action(() => {
350
+ process.stderr.write(`Error: Command 'thread fork' has been removed.
351
+ Use 'step fork' instead.
352
+
353
+ For more information, see: uwf help step fork
354
+ `);
355
+ process.exit(1);
356
+ });
357
+ thread
358
+ .command("kill")
359
+ .description("[DEPRECATED] Use 'thread stop' or 'thread cancel' instead")
360
+ .argument("<thread-id>", "Thread ULID")
361
+ .action(() => {
362
+ process.stderr.write(`Error: Command 'thread kill' has been removed.
363
+ Use 'thread stop' to stop background execution (keep thread active),
364
+ or 'thread cancel' to cancel and archive the thread.
365
+
366
+ For more information, see:
367
+ uwf help thread stop
368
+ uwf help thread cancel
369
+ `);
370
+ process.exit(1);
371
+ });
372
+ thread
373
+ .command("running")
374
+ .description("[DEPRECATED] Use 'thread list --status running' instead")
375
+ .action(() => {
376
+ process.stderr.write(`Error: Command 'thread running' has been removed.
377
+ Use 'thread list --status running' instead.
378
+
379
+ For more information, see: uwf help thread list
380
+ `);
381
+ process.exit(1);
382
+ });
383
+ const prompt = program.command("prompt").description("Built-in prompt references for agents");
384
+ prompt.addHelpCommand(false);
385
+ prompt
386
+ .command("usage")
387
+ .description("Print the complete skill content (all references combined)")
388
+ .action(() => {
389
+ console.log(cmdPromptUsage());
390
+ });
391
+ prompt
392
+ .command("setup")
393
+ .description("Print setup instructions for installing the uwf skill")
394
+ .action(() => {
395
+ console.log(cmdPromptSetup());
396
+ });
397
+ prompt
398
+ .command("usage-reference")
399
+ .description("Print the usage reference (CLI guide + typical workflows)")
400
+ .action(() => {
401
+ console.log(cmdPromptUsageReference());
402
+ });
403
+ prompt
404
+ .command("workflow-authoring")
405
+ .description("Print the workflow authoring reference (YAML design guide)")
406
+ .action(() => {
407
+ console.log(cmdPromptWorkflowAuthoring());
408
+ });
409
+ prompt
410
+ .command("adapter-developing")
411
+ .description("Print the adapter developing reference (building agent adapters)")
412
+ .action(() => {
413
+ console.log(cmdPromptAdapterDeveloping());
414
+ });
415
+ prompt
416
+ .command("bootstrap")
417
+ .description("Print the bootstrap skill YAML for Hermes agents")
418
+ .action(() => {
419
+ console.log(cmdPromptBootstrap());
420
+ });
421
+ prompt
422
+ .command("list")
423
+ .description("List all available prompt names")
424
+ .action(() => {
425
+ console.log(cmdPromptList().join("\n"));
426
+ });
427
+ program
428
+ .command("setup")
429
+ .description("Configure provider, model, and agent")
430
+ .option("--provider <name>", "Provider name")
431
+ .option("--base-url <url>", "OpenAI-compatible API base URL")
432
+ .option("--api-key <key>", "API key")
433
+ .option("--model <name>", "Default model name")
434
+ .option("--agent <name>", "Default agent adapter (e.g. hermes → uwf-hermes)")
435
+ .action((opts) => {
436
+ const storageRoot = resolveStorageRoot();
437
+ runAction(async () => {
438
+ if (opts.provider && opts.baseUrl && opts.apiKey && opts.model) {
439
+ const result = await cmdSetup({
440
+ provider: opts.provider,
441
+ baseUrl: opts.baseUrl,
442
+ apiKey: opts.apiKey,
443
+ model: opts.model,
444
+ agent: opts.agent ?? undefined,
445
+ storageRoot,
446
+ });
447
+ writeOutput(result);
448
+ }
449
+ else if (!opts.provider && !opts.baseUrl && !opts.apiKey && !opts.model) {
450
+ await cmdSetupInteractive(storageRoot);
451
+ }
452
+ else {
453
+ throw new Error("Non-interactive setup requires all of: --provider, --base-url, --api-key, --model");
454
+ }
455
+ });
456
+ });
457
+ const log = program.command("log").description("Process-level debug logs");
458
+ log
459
+ .command("list")
460
+ .description("List log files with sizes")
461
+ .action(() => {
462
+ const storageRoot = resolveStorageRoot();
463
+ runAction(async () => {
464
+ const result = await cmdLogList(storageRoot);
465
+ writeOutput(result);
466
+ });
467
+ });
468
+ log
469
+ .command("show")
470
+ .description("Show and filter log entries")
471
+ .option("--thread <thread-id>", "Filter by thread ID")
472
+ .option("--process <pid>", "Filter by process ID")
473
+ .option("--date <date>", "Filter by date (YYYY-MM-DD)")
474
+ .action((opts) => {
475
+ const storageRoot = resolveStorageRoot();
476
+ runAction(async () => {
477
+ const result = await cmdLogShow(storageRoot, {
478
+ thread: opts.thread ?? null,
479
+ process: opts.process ?? null,
480
+ date: opts.date ?? null,
481
+ });
482
+ writeOutput(result);
483
+ });
484
+ });
485
+ log
486
+ .command("clean")
487
+ .description("Delete log files older than given date")
488
+ .requiredOption("--before <date>", "Delete files before this date (YYYY-MM-DD)")
489
+ .action((opts) => {
490
+ const storageRoot = resolveStorageRoot();
491
+ runAction(async () => {
492
+ const result = await cmdLogClean(storageRoot, opts.before);
493
+ writeOutput(result);
494
+ });
495
+ });
496
+ const config = program.command("config").description("Configuration management");
497
+ config
498
+ .command("list")
499
+ .description("Display all configuration values (masks API keys)")
500
+ .action(() => {
501
+ const storageRoot = resolveStorageRoot();
502
+ runAction(async () => {
503
+ const result = await cmdConfigList(storageRoot);
504
+ writeOutput(result);
505
+ });
506
+ });
507
+ config
508
+ .command("get")
509
+ .description("Get a specific configuration value")
510
+ .argument("<key>", "Dot-notation path to config value (e.g., defaultAgent, providers.dashscope.baseUrl)")
511
+ .action((key) => {
512
+ const storageRoot = resolveStorageRoot();
513
+ runAction(async () => {
514
+ const result = await cmdConfigGet(storageRoot, key);
515
+ writeOutput({ value: result });
516
+ });
517
+ });
518
+ config
519
+ .command("set")
520
+ .description("Set a specific configuration value")
521
+ .argument("<key>", "Dot-notation path to config value")
522
+ .argument("<value>", "New value (use JSON array for 'args' key, e.g., '[\"--flag\"]')")
523
+ .action((key, value) => {
524
+ const storageRoot = resolveStorageRoot();
525
+ runAction(async () => {
526
+ const result = await cmdConfigSet(storageRoot, key, value);
527
+ writeOutput(result);
528
+ });
529
+ });
530
+ program.parseAsync(process.argv).catch((e) => {
531
+ const message = e instanceof Error ? e.message : String(e);
532
+ process.stderr.write(`${message}\n`);
533
+ process.exit(1);
534
+ });
535
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Returns the path to the config.yaml file
3
+ */
4
+ export declare function getConfigPath(storageRoot: string): string;
5
+ /**
6
+ * Load and parse YAML config file
7
+ */
8
+ export declare function loadConfig(configPath: string): Record<string, unknown>;
9
+ /**
10
+ * Save config as YAML
11
+ */
12
+ export declare function saveConfig(configPath: string, config: Record<string, unknown>): void;
13
+ /**
14
+ * Parse dot-notation key into path segments
15
+ */
16
+ export declare function parseDotPath(key: string): string[];
17
+ /**
18
+ * Get nested value from object using path array
19
+ */
20
+ export declare function getNestedValue(obj: Record<string, unknown>, path: string[]): unknown;
21
+ /**
22
+ * Set nested value in object using path array (mutates obj)
23
+ */
24
+ export declare function setNestedValue(obj: Record<string, unknown>, path: string[], value: unknown): void;
25
+ /**
26
+ * Deep clone and mask all apiKey values in providers section
27
+ */
28
+ export declare function maskApiKeys(config: Record<string, unknown>): Record<string, unknown>;
29
+ /**
30
+ * List all configuration values (masks API keys)
31
+ */
32
+ export declare function cmdConfigList(storageRoot: string): Promise<unknown>;
33
+ /**
34
+ * Get a specific configuration value
35
+ */
36
+ export declare function cmdConfigGet(storageRoot: string, key: string): Promise<unknown>;
37
+ /**
38
+ * Set a specific configuration value
39
+ */
40
+ export declare function cmdConfigSet(storageRoot: string, key: string, value: string): Promise<unknown>;
41
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AA+EA;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBtE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOpF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CASpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA+BjG;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBpF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKzE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWrF;AAyCD;;GAEG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CA+BlB"}