@proletariat/cli 0.3.92 → 0.3.93

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 (260) hide show
  1. package/dist/commands/agent/auth.js +2 -6
  2. package/dist/commands/agent/auth.js.map +1 -1
  3. package/dist/commands/agent/cleanup.js +5 -5
  4. package/dist/commands/agent/cleanup.js.map +1 -1
  5. package/dist/commands/agent/gc.d.ts +17 -0
  6. package/dist/commands/agent/gc.js +75 -0
  7. package/dist/commands/agent/gc.js.map +1 -0
  8. package/dist/commands/agent/list.js +2 -2
  9. package/dist/commands/agent/list.js.map +1 -1
  10. package/dist/commands/agent/shell.js +3 -5
  11. package/dist/commands/agent/shell.js.map +1 -1
  12. package/dist/commands/branch/create.js +2 -2
  13. package/dist/commands/branch/create.js.map +1 -1
  14. package/dist/commands/claude/index.js +2 -2
  15. package/dist/commands/claude/index.js.map +1 -1
  16. package/dist/commands/claude/open.js +11 -5
  17. package/dist/commands/claude/open.js.map +1 -1
  18. package/dist/commands/config/index.js +88 -7
  19. package/dist/commands/config/index.js.map +1 -1
  20. package/dist/commands/db/repair.js +2 -2
  21. package/dist/commands/db/repair.js.map +1 -1
  22. package/dist/commands/docker/clean.js +2 -4
  23. package/dist/commands/docker/clean.js.map +1 -1
  24. package/dist/commands/docker/index.js +2 -4
  25. package/dist/commands/docker/index.js.map +1 -1
  26. package/dist/commands/docker/list.js +2 -4
  27. package/dist/commands/docker/list.js.map +1 -1
  28. package/dist/commands/docker/logs.js +2 -4
  29. package/dist/commands/docker/logs.js.map +1 -1
  30. package/dist/commands/docker/restart.js +2 -4
  31. package/dist/commands/docker/restart.js.map +1 -1
  32. package/dist/commands/docker/shell.js +2 -4
  33. package/dist/commands/docker/shell.js.map +1 -1
  34. package/dist/commands/docker/start.js +2 -4
  35. package/dist/commands/docker/start.js.map +1 -1
  36. package/dist/commands/docker/stop.js +2 -4
  37. package/dist/commands/docker/stop.js.map +1 -1
  38. package/dist/commands/docker/sync.js +2 -4
  39. package/dist/commands/docker/sync.js.map +1 -1
  40. package/dist/commands/execution/config.js +39 -0
  41. package/dist/commands/execution/config.js.map +1 -1
  42. package/dist/commands/execution/list.js +2 -4
  43. package/dist/commands/execution/list.js.map +1 -1
  44. package/dist/commands/execution/logs.js +2 -4
  45. package/dist/commands/execution/logs.js.map +1 -1
  46. package/dist/commands/execution/stop.js +2 -4
  47. package/dist/commands/execution/stop.js.map +1 -1
  48. package/dist/commands/execution/view.js +2 -4
  49. package/dist/commands/execution/view.js.map +1 -1
  50. package/dist/commands/gh/login.js +2 -1
  51. package/dist/commands/gh/login.js.map +1 -1
  52. package/dist/commands/gh/status.js +18 -2
  53. package/dist/commands/gh/status.js.map +1 -1
  54. package/dist/commands/hook/export.d.ts +17 -0
  55. package/dist/commands/hook/export.js +52 -0
  56. package/dist/commands/hook/export.js.map +1 -0
  57. package/dist/commands/hook/fire.d.ts +29 -0
  58. package/dist/commands/hook/fire.js +139 -0
  59. package/dist/commands/hook/fire.js.map +1 -0
  60. package/dist/commands/hook/index.d.ts +14 -0
  61. package/dist/commands/hook/index.js +53 -0
  62. package/dist/commands/hook/index.js.map +1 -0
  63. package/dist/commands/hook/list.d.ts +19 -0
  64. package/dist/commands/hook/list.js +136 -0
  65. package/dist/commands/hook/list.js.map +1 -0
  66. package/dist/commands/hook/preset.d.ts +22 -0
  67. package/dist/commands/hook/preset.js +76 -0
  68. package/dist/commands/hook/preset.js.map +1 -0
  69. package/dist/commands/mcp-server.js +2 -3
  70. package/dist/commands/mcp-server.js.map +1 -1
  71. package/dist/commands/orchestrate/index.d.ts +35 -0
  72. package/dist/commands/orchestrate/index.js +267 -0
  73. package/dist/commands/orchestrate/index.js.map +1 -0
  74. package/dist/commands/orchestrator/attach.js +2 -3
  75. package/dist/commands/orchestrator/attach.js.map +1 -1
  76. package/dist/commands/orchestrator/start.js +22 -31
  77. package/dist/commands/orchestrator/start.js.map +1 -1
  78. package/dist/commands/orchestrator/stop.js +21 -26
  79. package/dist/commands/orchestrator/stop.js.map +1 -1
  80. package/dist/commands/qa/index.js +3 -3
  81. package/dist/commands/qa/index.js.map +1 -1
  82. package/dist/commands/session/attach.js +5 -7
  83. package/dist/commands/session/attach.js.map +1 -1
  84. package/dist/commands/session/cleanup.js +2 -4
  85. package/dist/commands/session/cleanup.js.map +1 -1
  86. package/dist/commands/session/exec.js +2 -3
  87. package/dist/commands/session/exec.js.map +1 -1
  88. package/dist/commands/session/health.js +2 -4
  89. package/dist/commands/session/health.js.map +1 -1
  90. package/dist/commands/session/inspect.js +2 -3
  91. package/dist/commands/session/inspect.js.map +1 -1
  92. package/dist/commands/session/list.js +2 -4
  93. package/dist/commands/session/list.js.map +1 -1
  94. package/dist/commands/session/peek.js +3 -6
  95. package/dist/commands/session/peek.js.map +1 -1
  96. package/dist/commands/session/poke.js +2 -4
  97. package/dist/commands/session/poke.js.map +1 -1
  98. package/dist/commands/session/prune.js +2 -4
  99. package/dist/commands/session/prune.js.map +1 -1
  100. package/dist/commands/session/report.js +2 -4
  101. package/dist/commands/session/report.js.map +1 -1
  102. package/dist/commands/session/restart.js +2 -3
  103. package/dist/commands/session/restart.js.map +1 -1
  104. package/dist/commands/ticket/complete.js +20 -5
  105. package/dist/commands/ticket/complete.js.map +1 -1
  106. package/dist/commands/ticket/create.d.ts +3 -4
  107. package/dist/commands/ticket/create.js +69 -88
  108. package/dist/commands/ticket/create.js.map +1 -1
  109. package/dist/commands/ticket/edit.js +22 -14
  110. package/dist/commands/ticket/edit.js.map +1 -1
  111. package/dist/commands/ticket/reassign.js +35 -6
  112. package/dist/commands/ticket/reassign.js.map +1 -1
  113. package/dist/commands/ticket/resolve.js +15 -5
  114. package/dist/commands/ticket/resolve.js.map +1 -1
  115. package/dist/commands/ticket/update.js +31 -14
  116. package/dist/commands/ticket/update.js.map +1 -1
  117. package/dist/commands/ticket/view.js +9 -5
  118. package/dist/commands/ticket/view.js.map +1 -1
  119. package/dist/commands/work/complete.js +2 -3
  120. package/dist/commands/work/complete.js.map +1 -1
  121. package/dist/commands/work/hooks/add.js +2 -4
  122. package/dist/commands/work/hooks/add.js.map +1 -1
  123. package/dist/commands/work/hooks/list.js +2 -4
  124. package/dist/commands/work/hooks/list.js.map +1 -1
  125. package/dist/commands/work/hooks/remove.js +2 -4
  126. package/dist/commands/work/hooks/remove.js.map +1 -1
  127. package/dist/commands/work/hooks/toggle.js +2 -4
  128. package/dist/commands/work/hooks/toggle.js.map +1 -1
  129. package/dist/commands/work/index.js +4 -0
  130. package/dist/commands/work/index.js.map +1 -1
  131. package/dist/commands/work/ready.js +2 -3
  132. package/dist/commands/work/ready.js.map +1 -1
  133. package/dist/commands/work/rebase.d.ts +33 -0
  134. package/dist/commands/work/rebase.js +394 -0
  135. package/dist/commands/work/rebase.js.map +1 -0
  136. package/dist/commands/work/ship.d.ts +1 -0
  137. package/dist/commands/work/ship.js +49 -4
  138. package/dist/commands/work/ship.js.map +1 -1
  139. package/dist/commands/work/spawn.js +2 -4
  140. package/dist/commands/work/spawn.js.map +1 -1
  141. package/dist/commands/work/start.d.ts +7 -0
  142. package/dist/commands/work/start.js +190 -22
  143. package/dist/commands/work/start.js.map +1 -1
  144. package/dist/commands/work/stop.js +2 -4
  145. package/dist/commands/work/stop.js.map +1 -1
  146. package/dist/commands/work/watch.js +2 -4
  147. package/dist/commands/work/watch.js.map +1 -1
  148. package/dist/hooks/init.js +1 -1
  149. package/dist/hooks/init.js.map +1 -1
  150. package/dist/lib/agents/commands.d.ts +9 -3
  151. package/dist/lib/agents/commands.js +103 -88
  152. package/dist/lib/agents/commands.js.map +1 -1
  153. package/dist/lib/dashboard/server.js +1 -1
  154. package/dist/lib/dashboard/server.js.map +1 -1
  155. package/dist/lib/database/agents.d.ts +62 -4
  156. package/dist/lib/database/agents.js +161 -8
  157. package/dist/lib/database/agents.js.map +1 -1
  158. package/dist/lib/database/db-safety.js +4 -4
  159. package/dist/lib/database/db-safety.js.map +1 -1
  160. package/dist/lib/database/drizzle-schema.d.ts +2 -2
  161. package/dist/lib/database/drizzle-schema.js +2 -1
  162. package/dist/lib/database/drizzle-schema.js.map +1 -1
  163. package/dist/lib/database/index.d.ts +1 -1
  164. package/dist/lib/database/index.js +1 -1
  165. package/dist/lib/database/index.js.map +1 -1
  166. package/dist/lib/database/migrations/0013_agent_lifecycle_states.d.ts +11 -0
  167. package/dist/lib/database/migrations/0013_agent_lifecycle_states.js +47 -0
  168. package/dist/lib/database/migrations/0013_agent_lifecycle_states.js.map +1 -0
  169. package/dist/lib/database/migrations/0014_agent_work_lifecycle.d.ts +10 -0
  170. package/dist/lib/database/migrations/0014_agent_work_lifecycle.js +31 -0
  171. package/dist/lib/database/migrations/0014_agent_work_lifecycle.js.map +1 -0
  172. package/dist/lib/database/migrations/0015_orchestrate_hooks.d.ts +8 -0
  173. package/dist/lib/database/migrations/0015_orchestrate_hooks.js +35 -0
  174. package/dist/lib/database/migrations/0015_orchestrate_hooks.js.map +1 -0
  175. package/dist/lib/database/migrations/0016_schema_catchup.d.ts +15 -0
  176. package/dist/lib/database/migrations/0016_schema_catchup.js +154 -0
  177. package/dist/lib/database/migrations/0016_schema_catchup.js.map +1 -0
  178. package/dist/lib/database/migrations/index.js +8 -0
  179. package/dist/lib/database/migrations/index.js.map +1 -1
  180. package/dist/lib/database/pmo-bootstrap.js +2 -2
  181. package/dist/lib/database/pmo-bootstrap.js.map +1 -1
  182. package/dist/lib/database/workspace-schema.d.ts +1 -1
  183. package/dist/lib/database/workspace-schema.js +3 -1
  184. package/dist/lib/database/workspace-schema.js.map +1 -1
  185. package/dist/lib/events/events.d.ts +28 -0
  186. package/dist/lib/events/index.d.ts +1 -1
  187. package/dist/lib/events/index.js.map +1 -1
  188. package/dist/lib/execution/config.d.ts +2 -0
  189. package/dist/lib/execution/config.js +14 -0
  190. package/dist/lib/execution/config.js.map +1 -1
  191. package/dist/lib/execution/runners/devcontainer-tmux.js +1 -1
  192. package/dist/lib/execution/runners/devcontainer-tmux.js.map +1 -1
  193. package/dist/lib/execution/runners/devcontainer.js +9 -1
  194. package/dist/lib/execution/runners/devcontainer.js.map +1 -1
  195. package/dist/lib/execution/runners/docker-credentials.d.ts +8 -0
  196. package/dist/lib/execution/runners/docker-credentials.js +20 -3
  197. package/dist/lib/execution/runners/docker-credentials.js.map +1 -1
  198. package/dist/lib/execution/runners/docker-management.d.ts +31 -0
  199. package/dist/lib/execution/runners/docker-management.js +95 -0
  200. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  201. package/dist/lib/execution/runners/index.d.ts +1 -1
  202. package/dist/lib/execution/runners/index.js +1 -1
  203. package/dist/lib/execution/runners/index.js.map +1 -1
  204. package/dist/lib/execution/runners/shared.d.ts +23 -1
  205. package/dist/lib/execution/runners/shared.js +112 -1
  206. package/dist/lib/execution/runners/shared.js.map +1 -1
  207. package/dist/lib/execution/spawner.js +8 -1
  208. package/dist/lib/execution/spawner.js.map +1 -1
  209. package/dist/lib/execution/types.js +2 -2
  210. package/dist/lib/linear/client.d.ts +13 -0
  211. package/dist/lib/linear/client.js +37 -0
  212. package/dist/lib/linear/client.js.map +1 -1
  213. package/dist/lib/orchestrate/actions.d.ts +20 -0
  214. package/dist/lib/orchestrate/actions.js +194 -0
  215. package/dist/lib/orchestrate/actions.js.map +1 -0
  216. package/dist/lib/orchestrate/config-loader.d.ts +31 -0
  217. package/dist/lib/orchestrate/config-loader.js +201 -0
  218. package/dist/lib/orchestrate/config-loader.js.map +1 -0
  219. package/dist/lib/orchestrate/engine.d.ts +94 -0
  220. package/dist/lib/orchestrate/engine.js +290 -0
  221. package/dist/lib/orchestrate/engine.js.map +1 -0
  222. package/dist/lib/orchestrate/index.d.ts +16 -0
  223. package/dist/lib/orchestrate/index.js +14 -0
  224. package/dist/lib/orchestrate/index.js.map +1 -0
  225. package/dist/lib/orchestrate/poller.d.ts +58 -0
  226. package/dist/lib/orchestrate/poller.js +282 -0
  227. package/dist/lib/orchestrate/poller.js.map +1 -0
  228. package/dist/lib/orchestrate/presets.d.ts +27 -0
  229. package/dist/lib/orchestrate/presets.js +65 -0
  230. package/dist/lib/orchestrate/presets.js.map +1 -0
  231. package/dist/lib/orchestrate/types.d.ts +93 -0
  232. package/dist/lib/orchestrate/types.js +46 -0
  233. package/dist/lib/orchestrate/types.js.map +1 -0
  234. package/dist/lib/pmo/storage/specs.js.map +1 -1
  235. package/dist/lib/pr/index.d.ts +28 -0
  236. package/dist/lib/pr/index.js +100 -0
  237. package/dist/lib/pr/index.js.map +1 -1
  238. package/dist/lib/providers/event-emitting-provider.d.ts +4 -2
  239. package/dist/lib/providers/event-emitting-provider.js +12 -0
  240. package/dist/lib/providers/event-emitting-provider.js.map +1 -1
  241. package/dist/lib/providers/index.d.ts +1 -1
  242. package/dist/lib/providers/index.js.map +1 -1
  243. package/dist/lib/providers/linear-provider.d.ts +4 -2
  244. package/dist/lib/providers/linear-provider.js +106 -0
  245. package/dist/lib/providers/linear-provider.js.map +1 -1
  246. package/dist/lib/providers/pmo-provider.d.ts +4 -2
  247. package/dist/lib/providers/pmo-provider.js +26 -0
  248. package/dist/lib/providers/pmo-provider.js.map +1 -1
  249. package/dist/lib/providers/types.d.ts +30 -1
  250. package/dist/lib/telemetry/analytics.d.ts +1 -1
  251. package/dist/lib/telemetry/analytics.js +16 -8
  252. package/dist/lib/telemetry/analytics.js.map +1 -1
  253. package/dist/lib/update-check.d.ts +8 -3
  254. package/dist/lib/update-check.js +16 -5
  255. package/dist/lib/update-check.js.map +1 -1
  256. package/dist/lib/work-lifecycle/hooks/types.d.ts +3 -2
  257. package/dist/lib/work-lifecycle/hooks/types.js +12 -0
  258. package/dist/lib/work-lifecycle/hooks/types.js.map +1 -1
  259. package/oclif.manifest.json +3623 -2968
  260. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/linear/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/linear/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Orchestrate Built-in Actions
3
+ *
4
+ * Implementations for the built-in hook actions that the orchestrate daemon
5
+ * can execute. Each action receives an event context and returns a result.
6
+ *
7
+ * Actions use prlt CLI commands where possible to keep behavior consistent
8
+ * with manual invocations.
9
+ */
10
+ import type { OrchestrateEventContext, OrchestrateActionResult } from './types.js';
11
+ type ActionHandler = (ctx: OrchestrateEventContext, config?: Record<string, unknown>) => OrchestrateActionResult;
12
+ /**
13
+ * Registry of built-in action handlers.
14
+ */
15
+ export declare const ACTION_HANDLERS: Record<string, ActionHandler>;
16
+ /**
17
+ * Execute a built-in action by name.
18
+ */
19
+ export declare function executeBuiltinAction(actionName: string, ctx: OrchestrateEventContext, config?: Record<string, unknown>): OrchestrateActionResult;
20
+ export {};
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Orchestrate Built-in Actions
3
+ *
4
+ * Implementations for the built-in hook actions that the orchestrate daemon
5
+ * can execute. Each action receives an event context and returns a result.
6
+ *
7
+ * Actions use prlt CLI commands where possible to keep behavior consistent
8
+ * with manual invocations.
9
+ */
10
+ import { execSync } from 'node:child_process';
11
+ /**
12
+ * Merge a PR via `prlt work ship`.
13
+ */
14
+ const mergePr = (ctx, config) => {
15
+ const start = Date.now();
16
+ try {
17
+ if (!ctx.ticket && !ctx.pr) {
18
+ return { action: 'merge-pr', success: false, error: 'No ticket or PR number in context', durationMs: Date.now() - start };
19
+ }
20
+ const args = ['prlt', 'work', 'ship'];
21
+ if (ctx.ticket)
22
+ args.push(ctx.ticket);
23
+ if (ctx.pr)
24
+ args.push('--pr', String(ctx.pr));
25
+ args.push('--yes'); // Skip confirmation
26
+ execSync(args.join(' '), { timeout: 120_000, stdio: 'pipe' });
27
+ return { action: 'merge-pr', success: true, durationMs: Date.now() - start };
28
+ }
29
+ catch (err) {
30
+ return { action: 'merge-pr', success: false, error: err instanceof Error ? err.message : String(err), durationMs: Date.now() - start };
31
+ }
32
+ };
33
+ /**
34
+ * Move a ticket to a target status.
35
+ */
36
+ const moveTicket = (ctx, config) => {
37
+ const start = Date.now();
38
+ try {
39
+ const target = config?.target || 'done';
40
+ if (!ctx.ticket) {
41
+ return { action: 'move-ticket', success: false, error: 'No ticket in context', durationMs: Date.now() - start };
42
+ }
43
+ execSync(`prlt ticket move ${ctx.ticket} --to "${target}" --yes`, { timeout: 30_000, stdio: 'pipe' });
44
+ return { action: 'move-ticket', success: true, durationMs: Date.now() - start };
45
+ }
46
+ catch (err) {
47
+ return { action: 'move-ticket', success: false, error: err instanceof Error ? err.message : String(err), durationMs: Date.now() - start };
48
+ }
49
+ };
50
+ /**
51
+ * Rebase conflicting PRs after a merge.
52
+ */
53
+ const rebaseConflictingPrs = (ctx) => {
54
+ const start = Date.now();
55
+ try {
56
+ execSync('prlt work rebase --all --yes 2>/dev/null || true', { timeout: 300_000, stdio: 'pipe' });
57
+ return { action: 'rebase-conflicting-prs', success: true, durationMs: Date.now() - start };
58
+ }
59
+ catch (err) {
60
+ return { action: 'rebase-conflicting-prs', success: false, error: err instanceof Error ? err.message : String(err), durationMs: Date.now() - start };
61
+ }
62
+ };
63
+ /**
64
+ * Spawn an agent for a ticket.
65
+ */
66
+ const spawnAgent = (ctx) => {
67
+ const start = Date.now();
68
+ try {
69
+ if (!ctx.ticket) {
70
+ return { action: 'spawn-agent', success: false, error: 'No ticket in context', durationMs: Date.now() - start };
71
+ }
72
+ execSync(`prlt work start ${ctx.ticket} --yes --display background`, { timeout: 60_000, stdio: 'pipe' });
73
+ return { action: 'spawn-agent', success: true, durationMs: Date.now() - start };
74
+ }
75
+ catch (err) {
76
+ return { action: 'spawn-agent', success: false, error: err instanceof Error ? err.message : String(err), durationMs: Date.now() - start };
77
+ }
78
+ };
79
+ /**
80
+ * Respawn a failed/died agent.
81
+ */
82
+ const respawn = (ctx, config) => {
83
+ const start = Date.now();
84
+ try {
85
+ if (!ctx.ticket) {
86
+ return { action: 'respawn', success: false, error: 'No ticket in context', durationMs: Date.now() - start };
87
+ }
88
+ execSync(`prlt work start ${ctx.ticket} --yes --display background --force`, { timeout: 60_000, stdio: 'pipe' });
89
+ return { action: 'respawn', success: true, durationMs: Date.now() - start };
90
+ }
91
+ catch (err) {
92
+ return { action: 'respawn', success: false, error: err instanceof Error ? err.message : String(err), durationMs: Date.now() - start };
93
+ }
94
+ };
95
+ /**
96
+ * Send a notification about an event.
97
+ */
98
+ const notify = (ctx) => {
99
+ const start = Date.now();
100
+ const parts = [];
101
+ if (ctx.event)
102
+ parts.push(`[${ctx.event}]`);
103
+ if (ctx.ticket)
104
+ parts.push(`ticket=${ctx.ticket}`);
105
+ if (ctx.pr)
106
+ parts.push(`PR=#${ctx.pr}`);
107
+ if (ctx.agent)
108
+ parts.push(`agent=${ctx.agent}`);
109
+ // eslint-disable-next-line no-console
110
+ console.log(`[orchestrate:notify] ${parts.join(' ')}`);
111
+ return { action: 'notify', success: true, durationMs: Date.now() - start };
112
+ };
113
+ /**
114
+ * Clean up a container after agent completion.
115
+ */
116
+ const cleanupContainer = (ctx) => {
117
+ const start = Date.now();
118
+ try {
119
+ if (!ctx.agent && !ctx.container) {
120
+ return { action: 'cleanup-container', success: false, error: 'No agent or container in context', durationMs: Date.now() - start };
121
+ }
122
+ const target = ctx.container || ctx.agent;
123
+ execSync(`prlt docker rm ${target} --yes 2>/dev/null || true`, { timeout: 30_000, stdio: 'pipe' });
124
+ return { action: 'cleanup-container', success: true, durationMs: Date.now() - start };
125
+ }
126
+ catch (err) {
127
+ return { action: 'cleanup-container', success: false, error: err instanceof Error ? err.message : String(err), durationMs: Date.now() - start };
128
+ }
129
+ };
130
+ /**
131
+ * Spawn a fix agent after CI failure.
132
+ */
133
+ const spawnFixAgent = (ctx) => {
134
+ const start = Date.now();
135
+ try {
136
+ if (!ctx.ticket) {
137
+ return { action: 'spawn-fix-agent', success: false, error: 'No ticket in context', durationMs: Date.now() - start };
138
+ }
139
+ execSync(`prlt work start ${ctx.ticket} --action revise --yes --display background`, { timeout: 60_000, stdio: 'pipe' });
140
+ return { action: 'spawn-fix-agent', success: true, durationMs: Date.now() - start };
141
+ }
142
+ catch (err) {
143
+ return { action: 'spawn-fix-agent', success: false, error: err instanceof Error ? err.message : String(err), durationMs: Date.now() - start };
144
+ }
145
+ };
146
+ /**
147
+ * Health check / poke an idle agent.
148
+ */
149
+ const healthCheck = (ctx) => {
150
+ const start = Date.now();
151
+ try {
152
+ if (!ctx.agent) {
153
+ return { action: 'health-check', success: false, error: 'No agent in context', durationMs: Date.now() - start };
154
+ }
155
+ execSync(`prlt poke ${ctx.agent} "Are you still working? Please provide a status update."`, { timeout: 30_000, stdio: 'pipe' });
156
+ return { action: 'health-check', success: true, durationMs: Date.now() - start };
157
+ }
158
+ catch (err) {
159
+ return { action: 'health-check', success: false, error: err instanceof Error ? err.message : String(err), durationMs: Date.now() - start };
160
+ }
161
+ };
162
+ // =============================================================================
163
+ // Action Registry
164
+ // =============================================================================
165
+ /**
166
+ * Registry of built-in action handlers.
167
+ */
168
+ export const ACTION_HANDLERS = {
169
+ 'merge-pr': mergePr,
170
+ 'move-ticket': moveTicket,
171
+ 'rebase-conflicting-prs': rebaseConflictingPrs,
172
+ 'spawn-agent': spawnAgent,
173
+ 'respawn': respawn,
174
+ 'notify': notify,
175
+ 'cleanup-container': cleanupContainer,
176
+ 'spawn-fix-agent': spawnFixAgent,
177
+ 'health-check': healthCheck,
178
+ };
179
+ /**
180
+ * Execute a built-in action by name.
181
+ */
182
+ export function executeBuiltinAction(actionName, ctx, config) {
183
+ const handler = ACTION_HANDLERS[actionName];
184
+ if (!handler) {
185
+ return {
186
+ action: actionName,
187
+ success: false,
188
+ error: `Unknown action: ${actionName}`,
189
+ durationMs: 0,
190
+ };
191
+ }
192
+ return handler(ctx, config);
193
+ }
194
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Orchestrate Config Loader
3
+ *
4
+ * Loads .proletariat/hooks.yml and .proletariat/workflow.yml files,
5
+ * validates them, and syncs hook configurations into the database.
6
+ */
7
+ import type Database from 'better-sqlite3';
8
+ import type { HooksYaml, WorkflowYaml, PresetName } from './types.js';
9
+ /**
10
+ * Load and parse .proletariat/hooks.yml from an HQ path.
11
+ * Returns null if the file doesn't exist.
12
+ */
13
+ export declare function loadHooksYaml(hqPath: string): HooksYaml | null;
14
+ /**
15
+ * Load and parse .proletariat/workflow.yml from an HQ path.
16
+ * Returns null if the file doesn't exist.
17
+ */
18
+ export declare function loadWorkflowYaml(hqPath: string): WorkflowYaml | null;
19
+ /**
20
+ * Sync hooks from a parsed YAML config into the database.
21
+ * Clears existing YAML-sourced hooks and replaces them.
22
+ */
23
+ export declare function syncHooksFromYaml(db: Database.Database, hooksYaml: HooksYaml): number;
24
+ /**
25
+ * Apply a preset to the database, replacing existing preset-sourced hooks.
26
+ */
27
+ export declare function applyPreset(db: Database.Database, presetName: PresetName): number;
28
+ /**
29
+ * Export current hook configuration to YAML format.
30
+ */
31
+ export declare function exportHooksToYaml(db: Database.Database): string;
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Orchestrate Config Loader
3
+ *
4
+ * Loads .proletariat/hooks.yml and .proletariat/workflow.yml files,
5
+ * validates them, and syncs hook configurations into the database.
6
+ */
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import yaml from 'js-yaml';
10
+ import { WorkHookStorage } from '../work-lifecycle/hooks/storage.js';
11
+ import { HOOK_MODES } from './types.js';
12
+ import { getPreset } from './presets.js';
13
+ // =============================================================================
14
+ // YAML File Loading
15
+ // =============================================================================
16
+ /**
17
+ * Load and parse .proletariat/hooks.yml from an HQ path.
18
+ * Returns null if the file doesn't exist.
19
+ */
20
+ export function loadHooksYaml(hqPath) {
21
+ const filePath = path.join(hqPath, '.proletariat', 'hooks.yml');
22
+ if (!fs.existsSync(filePath))
23
+ return null;
24
+ const content = fs.readFileSync(filePath, 'utf-8');
25
+ const parsed = yaml.load(content);
26
+ return parsed ?? null;
27
+ }
28
+ /**
29
+ * Load and parse .proletariat/workflow.yml from an HQ path.
30
+ * Returns null if the file doesn't exist.
31
+ */
32
+ export function loadWorkflowYaml(hqPath) {
33
+ const filePath = path.join(hqPath, '.proletariat', 'workflow.yml');
34
+ if (!fs.existsSync(filePath))
35
+ return null;
36
+ const content = fs.readFileSync(filePath, 'utf-8');
37
+ const parsed = yaml.load(content);
38
+ return parsed ?? null;
39
+ }
40
+ // =============================================================================
41
+ // Hook Sync
42
+ // =============================================================================
43
+ /**
44
+ * Map an OrchestrateEvent + action string into an existing HookableEvent + HookActionType.
45
+ * For built-in actions, we use 'shell' type with a `prlt` command as the action value.
46
+ */
47
+ function mapToHookConfig(event, entry) {
48
+ // Map orchestrate events to hookable events where possible
49
+ const eventMap = {
50
+ 'work:started': 'work:started',
51
+ 'work:status_changed': 'work:status_changed',
52
+ 'work:pr_created': 'work:pr_created',
53
+ 'work:completed': 'work:completed',
54
+ 'agent:spawned': 'agent:spawned',
55
+ 'agent:stopped': 'agent:stopped',
56
+ };
57
+ const hookEvent = eventMap[event];
58
+ // For events without a direct mapping, store as shell hook with prlt hook fire
59
+ const resolvedEvent = hookEvent ?? 'work:status_changed';
60
+ const actionValue = `prlt hook fire ${event} --action ${entry.action}`;
61
+ return {
62
+ event: resolvedEvent,
63
+ actionType: 'shell',
64
+ actionValue,
65
+ };
66
+ }
67
+ /**
68
+ * Sync hooks from a parsed YAML config into the database.
69
+ * Clears existing YAML-sourced hooks and replaces them.
70
+ */
71
+ export function syncHooksFromYaml(db, hooksYaml) {
72
+ const storage = new WorkHookStorage(db);
73
+ let count = 0;
74
+ // Clear existing YAML-sourced hooks
75
+ try {
76
+ db.exec("DELETE FROM pmo_work_hooks WHERE source = 'yaml'");
77
+ }
78
+ catch {
79
+ // source column might not exist yet — ignore
80
+ }
81
+ for (const [eventName, entries] of Object.entries(hooksYaml)) {
82
+ if (!Array.isArray(entries))
83
+ continue;
84
+ for (let i = 0; i < entries.length; i++) {
85
+ const entry = entries[i];
86
+ if (!entry.action)
87
+ continue;
88
+ const mode = entry.mode && HOOK_MODES.includes(entry.mode)
89
+ ? entry.mode
90
+ : 'auto';
91
+ const hookName = `yaml:${eventName}:${entry.action}:${i}`;
92
+ try {
93
+ const hook = storage.create({
94
+ name: hookName,
95
+ event: eventName || 'work:status_changed',
96
+ actionType: 'shell',
97
+ actionValue: entry.action,
98
+ description: `From hooks.yml: ${eventName} → ${entry.action} (${mode})`,
99
+ });
100
+ // Update the mode and source via raw SQL since WorkHookStorage doesn't support these yet
101
+ try {
102
+ db.prepare("UPDATE pmo_work_hooks SET mode = ?, priority = ?, source = 'yaml', config = ? WHERE id = ?").run(mode, i, entry.max_retries ? JSON.stringify({ max_retries: entry.max_retries }) : null, hook.id);
103
+ }
104
+ catch {
105
+ // Columns might not exist yet
106
+ }
107
+ count++;
108
+ }
109
+ catch {
110
+ // Skip duplicates
111
+ }
112
+ }
113
+ }
114
+ return count;
115
+ }
116
+ /**
117
+ * Apply a preset to the database, replacing existing preset-sourced hooks.
118
+ */
119
+ export function applyPreset(db, presetName) {
120
+ const preset = getPreset(presetName);
121
+ const storage = new WorkHookStorage(db);
122
+ let count = 0;
123
+ // Clear existing preset-sourced hooks
124
+ try {
125
+ db.exec("DELETE FROM pmo_work_hooks WHERE source = 'preset'");
126
+ }
127
+ catch {
128
+ // source column might not exist yet
129
+ }
130
+ for (let i = 0; i < preset.hooks.length; i++) {
131
+ const hook = preset.hooks[i];
132
+ const hookName = `preset:${presetName}:${hook.event}:${hook.action}:${i}`;
133
+ try {
134
+ const created = storage.create({
135
+ name: hookName,
136
+ event: mapOrchestrateToHookable(hook.event),
137
+ actionType: 'shell',
138
+ actionValue: `prlt hook fire ${hook.event} --action ${hook.action}`,
139
+ description: `Preset ${presetName}: ${hook.event} → ${hook.action} (${hook.mode})`,
140
+ });
141
+ try {
142
+ db.prepare("UPDATE pmo_work_hooks SET mode = ?, priority = ?, source = 'preset', config = ? WHERE id = ?").run(hook.mode, i, hook.config ? JSON.stringify(hook.config) : null, created.id);
143
+ }
144
+ catch {
145
+ // Columns might not exist
146
+ }
147
+ count++;
148
+ }
149
+ catch {
150
+ // Skip duplicates
151
+ }
152
+ }
153
+ return count;
154
+ }
155
+ /**
156
+ * Map orchestrate event to the closest hookable event.
157
+ * For new orchestrate events, use a fallback.
158
+ */
159
+ function mapOrchestrateToHookable(event) {
160
+ const directMap = {
161
+ 'work:started': 'work:started',
162
+ 'work:status_changed': 'work:status_changed',
163
+ 'work:pr_created': 'work:pr_created',
164
+ 'work:completed': 'work:completed',
165
+ 'agent:spawned': 'agent:spawned',
166
+ 'agent:stopped': 'agent:stopped',
167
+ };
168
+ return directMap[event] ?? 'work:status_changed';
169
+ }
170
+ /**
171
+ * Export current hook configuration to YAML format.
172
+ */
173
+ export function exportHooksToYaml(db) {
174
+ const storage = new WorkHookStorage(db);
175
+ const hooks = storage.list();
176
+ const grouped = {};
177
+ for (const hook of hooks) {
178
+ const event = hook.event;
179
+ if (!grouped[event])
180
+ grouped[event] = [];
181
+ let mode = 'auto';
182
+ let config;
183
+ try {
184
+ const row = db.prepare("SELECT mode, config FROM pmo_work_hooks WHERE id = ?").get(hook.id);
185
+ if (row?.mode)
186
+ mode = row.mode;
187
+ if (row?.config)
188
+ config = JSON.parse(row.config);
189
+ }
190
+ catch {
191
+ // mode column might not exist
192
+ }
193
+ grouped[event].push({
194
+ action: hook.actionValue,
195
+ mode,
196
+ ...(config ? config : {}),
197
+ });
198
+ }
199
+ return yaml.dump(grouped, { indent: 2, lineWidth: 120 });
200
+ }
201
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Orchestrate Engine
3
+ *
4
+ * The core daemon loop that:
5
+ * 1. Loads hook configuration from DB (synced from YAML/presets/CLI)
6
+ * 2. Subscribes to EventBus events
7
+ * 3. Executes matching hooks with mode-aware behavior
8
+ * 4. Optionally polls external sources for events
9
+ *
10
+ * The engine extends the existing HookManager with mode support
11
+ * and built-in action execution.
12
+ */
13
+ import type Database from 'better-sqlite3';
14
+ import type { OrchestrateEventContext, OrchestrateActionResult } from './types.js';
15
+ export interface OrchestrateEngineOptions {
16
+ /** Database connection */
17
+ db: Database.Database;
18
+ /** Logger function */
19
+ log?: (msg: string) => void;
20
+ /** Callback for confirm-mode hooks (returns true to approve) */
21
+ onConfirm?: (hookName: string, event: string, action: string) => Promise<boolean>;
22
+ /** Callback for notifications */
23
+ onNotify?: (hookName: string, event: string, action: string, result: OrchestrateActionResult) => void;
24
+ }
25
+ export declare class OrchestrateEngine {
26
+ private db;
27
+ private hookStorage;
28
+ private unsubscribers;
29
+ private log;
30
+ private onConfirm?;
31
+ private onNotify?;
32
+ private running;
33
+ private pendingConfirmations;
34
+ constructor(options: OrchestrateEngineOptions);
35
+ /**
36
+ * Start the orchestrate engine — subscribe to all orchestrate events.
37
+ */
38
+ start(): void;
39
+ /**
40
+ * Stop the engine and clean up subscriptions.
41
+ */
42
+ stop(): void;
43
+ /**
44
+ * Fire an event manually (used by `prlt hook fire`).
45
+ * This is the entry point for external event sources (GitHub Actions, polling, etc.).
46
+ */
47
+ fireEvent(event: string, ctx: OrchestrateEventContext): Promise<OrchestrateActionResult[]>;
48
+ /**
49
+ * Get pending confirmations for hooks in confirm mode.
50
+ */
51
+ getPendingConfirmations(): typeof this.pendingConfirmations;
52
+ /**
53
+ * Approve a pending confirmation and execute it.
54
+ */
55
+ approveConfirmation(index: number): Promise<OrchestrateActionResult | null>;
56
+ /**
57
+ * Deny a pending confirmation.
58
+ */
59
+ denyConfirmation(index: number): boolean;
60
+ /**
61
+ * Handle an event by finding and executing matching hooks.
62
+ */
63
+ private handleEvent;
64
+ /**
65
+ * Get hooks for a given event from the database, ordered by priority.
66
+ */
67
+ private getHooksForEvent;
68
+ /**
69
+ * Build an OrchestrateEventContext from raw event data.
70
+ */
71
+ private buildContext;
72
+ /**
73
+ * Resolve the action name from a hook row.
74
+ * Built-in actions are referenced by name; shell hooks use the raw command.
75
+ */
76
+ private resolveActionName;
77
+ /**
78
+ * Execute an action — either built-in or shell fallback.
79
+ */
80
+ private executeAction;
81
+ }
82
+ /**
83
+ * Initialize and start the orchestrate engine.
84
+ * Safe to call multiple times.
85
+ */
86
+ export declare function initOrchestrateEngine(options: OrchestrateEngineOptions): OrchestrateEngine;
87
+ /**
88
+ * Get the running orchestrate engine instance.
89
+ */
90
+ export declare function getOrchestrateEngine(): OrchestrateEngine | undefined;
91
+ /**
92
+ * Stop the orchestrate engine.
93
+ */
94
+ export declare function stopOrchestrateEngine(): void;