@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.
- package/dist/commands/agent/auth.js +2 -6
- package/dist/commands/agent/auth.js.map +1 -1
- package/dist/commands/agent/cleanup.js +5 -5
- package/dist/commands/agent/cleanup.js.map +1 -1
- package/dist/commands/agent/gc.d.ts +17 -0
- package/dist/commands/agent/gc.js +75 -0
- package/dist/commands/agent/gc.js.map +1 -0
- package/dist/commands/agent/list.js +2 -2
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/agent/shell.js +3 -5
- package/dist/commands/agent/shell.js.map +1 -1
- package/dist/commands/branch/create.js +2 -2
- package/dist/commands/branch/create.js.map +1 -1
- package/dist/commands/claude/index.js +2 -2
- package/dist/commands/claude/index.js.map +1 -1
- package/dist/commands/claude/open.js +11 -5
- package/dist/commands/claude/open.js.map +1 -1
- package/dist/commands/config/index.js +88 -7
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/db/repair.js +2 -2
- package/dist/commands/db/repair.js.map +1 -1
- package/dist/commands/docker/clean.js +2 -4
- package/dist/commands/docker/clean.js.map +1 -1
- package/dist/commands/docker/index.js +2 -4
- package/dist/commands/docker/index.js.map +1 -1
- package/dist/commands/docker/list.js +2 -4
- package/dist/commands/docker/list.js.map +1 -1
- package/dist/commands/docker/logs.js +2 -4
- package/dist/commands/docker/logs.js.map +1 -1
- package/dist/commands/docker/restart.js +2 -4
- package/dist/commands/docker/restart.js.map +1 -1
- package/dist/commands/docker/shell.js +2 -4
- package/dist/commands/docker/shell.js.map +1 -1
- package/dist/commands/docker/start.js +2 -4
- package/dist/commands/docker/start.js.map +1 -1
- package/dist/commands/docker/stop.js +2 -4
- package/dist/commands/docker/stop.js.map +1 -1
- package/dist/commands/docker/sync.js +2 -4
- package/dist/commands/docker/sync.js.map +1 -1
- package/dist/commands/execution/config.js +39 -0
- package/dist/commands/execution/config.js.map +1 -1
- package/dist/commands/execution/list.js +2 -4
- package/dist/commands/execution/list.js.map +1 -1
- package/dist/commands/execution/logs.js +2 -4
- package/dist/commands/execution/logs.js.map +1 -1
- package/dist/commands/execution/stop.js +2 -4
- package/dist/commands/execution/stop.js.map +1 -1
- package/dist/commands/execution/view.js +2 -4
- package/dist/commands/execution/view.js.map +1 -1
- package/dist/commands/gh/login.js +2 -1
- package/dist/commands/gh/login.js.map +1 -1
- package/dist/commands/gh/status.js +18 -2
- package/dist/commands/gh/status.js.map +1 -1
- package/dist/commands/hook/export.d.ts +17 -0
- package/dist/commands/hook/export.js +52 -0
- package/dist/commands/hook/export.js.map +1 -0
- package/dist/commands/hook/fire.d.ts +29 -0
- package/dist/commands/hook/fire.js +139 -0
- package/dist/commands/hook/fire.js.map +1 -0
- package/dist/commands/hook/index.d.ts +14 -0
- package/dist/commands/hook/index.js +53 -0
- package/dist/commands/hook/index.js.map +1 -0
- package/dist/commands/hook/list.d.ts +19 -0
- package/dist/commands/hook/list.js +136 -0
- package/dist/commands/hook/list.js.map +1 -0
- package/dist/commands/hook/preset.d.ts +22 -0
- package/dist/commands/hook/preset.js +76 -0
- package/dist/commands/hook/preset.js.map +1 -0
- package/dist/commands/mcp-server.js +2 -3
- package/dist/commands/mcp-server.js.map +1 -1
- package/dist/commands/orchestrate/index.d.ts +35 -0
- package/dist/commands/orchestrate/index.js +267 -0
- package/dist/commands/orchestrate/index.js.map +1 -0
- package/dist/commands/orchestrator/attach.js +2 -3
- package/dist/commands/orchestrator/attach.js.map +1 -1
- package/dist/commands/orchestrator/start.js +22 -31
- package/dist/commands/orchestrator/start.js.map +1 -1
- package/dist/commands/orchestrator/stop.js +21 -26
- package/dist/commands/orchestrator/stop.js.map +1 -1
- package/dist/commands/qa/index.js +3 -3
- package/dist/commands/qa/index.js.map +1 -1
- package/dist/commands/session/attach.js +5 -7
- package/dist/commands/session/attach.js.map +1 -1
- package/dist/commands/session/cleanup.js +2 -4
- package/dist/commands/session/cleanup.js.map +1 -1
- package/dist/commands/session/exec.js +2 -3
- package/dist/commands/session/exec.js.map +1 -1
- package/dist/commands/session/health.js +2 -4
- package/dist/commands/session/health.js.map +1 -1
- package/dist/commands/session/inspect.js +2 -3
- package/dist/commands/session/inspect.js.map +1 -1
- package/dist/commands/session/list.js +2 -4
- package/dist/commands/session/list.js.map +1 -1
- package/dist/commands/session/peek.js +3 -6
- package/dist/commands/session/peek.js.map +1 -1
- package/dist/commands/session/poke.js +2 -4
- package/dist/commands/session/poke.js.map +1 -1
- package/dist/commands/session/prune.js +2 -4
- package/dist/commands/session/prune.js.map +1 -1
- package/dist/commands/session/report.js +2 -4
- package/dist/commands/session/report.js.map +1 -1
- package/dist/commands/session/restart.js +2 -3
- package/dist/commands/session/restart.js.map +1 -1
- package/dist/commands/ticket/complete.js +20 -5
- package/dist/commands/ticket/complete.js.map +1 -1
- package/dist/commands/ticket/create.d.ts +3 -4
- package/dist/commands/ticket/create.js +69 -88
- package/dist/commands/ticket/create.js.map +1 -1
- package/dist/commands/ticket/edit.js +22 -14
- package/dist/commands/ticket/edit.js.map +1 -1
- package/dist/commands/ticket/reassign.js +35 -6
- package/dist/commands/ticket/reassign.js.map +1 -1
- package/dist/commands/ticket/resolve.js +15 -5
- package/dist/commands/ticket/resolve.js.map +1 -1
- package/dist/commands/ticket/update.js +31 -14
- package/dist/commands/ticket/update.js.map +1 -1
- package/dist/commands/ticket/view.js +9 -5
- package/dist/commands/ticket/view.js.map +1 -1
- package/dist/commands/work/complete.js +2 -3
- package/dist/commands/work/complete.js.map +1 -1
- package/dist/commands/work/hooks/add.js +2 -4
- package/dist/commands/work/hooks/add.js.map +1 -1
- package/dist/commands/work/hooks/list.js +2 -4
- package/dist/commands/work/hooks/list.js.map +1 -1
- package/dist/commands/work/hooks/remove.js +2 -4
- package/dist/commands/work/hooks/remove.js.map +1 -1
- package/dist/commands/work/hooks/toggle.js +2 -4
- package/dist/commands/work/hooks/toggle.js.map +1 -1
- package/dist/commands/work/index.js +4 -0
- package/dist/commands/work/index.js.map +1 -1
- package/dist/commands/work/ready.js +2 -3
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/rebase.d.ts +33 -0
- package/dist/commands/work/rebase.js +394 -0
- package/dist/commands/work/rebase.js.map +1 -0
- package/dist/commands/work/ship.d.ts +1 -0
- package/dist/commands/work/ship.js +49 -4
- package/dist/commands/work/ship.js.map +1 -1
- package/dist/commands/work/spawn.js +2 -4
- package/dist/commands/work/spawn.js.map +1 -1
- package/dist/commands/work/start.d.ts +7 -0
- package/dist/commands/work/start.js +190 -22
- package/dist/commands/work/start.js.map +1 -1
- package/dist/commands/work/stop.js +2 -4
- package/dist/commands/work/stop.js.map +1 -1
- package/dist/commands/work/watch.js +2 -4
- package/dist/commands/work/watch.js.map +1 -1
- package/dist/hooks/init.js +1 -1
- package/dist/hooks/init.js.map +1 -1
- package/dist/lib/agents/commands.d.ts +9 -3
- package/dist/lib/agents/commands.js +103 -88
- package/dist/lib/agents/commands.js.map +1 -1
- package/dist/lib/dashboard/server.js +1 -1
- package/dist/lib/dashboard/server.js.map +1 -1
- package/dist/lib/database/agents.d.ts +62 -4
- package/dist/lib/database/agents.js +161 -8
- package/dist/lib/database/agents.js.map +1 -1
- package/dist/lib/database/db-safety.js +4 -4
- package/dist/lib/database/db-safety.js.map +1 -1
- package/dist/lib/database/drizzle-schema.d.ts +2 -2
- package/dist/lib/database/drizzle-schema.js +2 -1
- package/dist/lib/database/drizzle-schema.js.map +1 -1
- package/dist/lib/database/index.d.ts +1 -1
- package/dist/lib/database/index.js +1 -1
- package/dist/lib/database/index.js.map +1 -1
- package/dist/lib/database/migrations/0013_agent_lifecycle_states.d.ts +11 -0
- package/dist/lib/database/migrations/0013_agent_lifecycle_states.js +47 -0
- package/dist/lib/database/migrations/0013_agent_lifecycle_states.js.map +1 -0
- package/dist/lib/database/migrations/0014_agent_work_lifecycle.d.ts +10 -0
- package/dist/lib/database/migrations/0014_agent_work_lifecycle.js +31 -0
- package/dist/lib/database/migrations/0014_agent_work_lifecycle.js.map +1 -0
- package/dist/lib/database/migrations/0015_orchestrate_hooks.d.ts +8 -0
- package/dist/lib/database/migrations/0015_orchestrate_hooks.js +35 -0
- package/dist/lib/database/migrations/0015_orchestrate_hooks.js.map +1 -0
- package/dist/lib/database/migrations/0016_schema_catchup.d.ts +15 -0
- package/dist/lib/database/migrations/0016_schema_catchup.js +154 -0
- package/dist/lib/database/migrations/0016_schema_catchup.js.map +1 -0
- package/dist/lib/database/migrations/index.js +8 -0
- package/dist/lib/database/migrations/index.js.map +1 -1
- package/dist/lib/database/pmo-bootstrap.js +2 -2
- package/dist/lib/database/pmo-bootstrap.js.map +1 -1
- package/dist/lib/database/workspace-schema.d.ts +1 -1
- package/dist/lib/database/workspace-schema.js +3 -1
- package/dist/lib/database/workspace-schema.js.map +1 -1
- package/dist/lib/events/events.d.ts +28 -0
- package/dist/lib/events/index.d.ts +1 -1
- package/dist/lib/events/index.js.map +1 -1
- package/dist/lib/execution/config.d.ts +2 -0
- package/dist/lib/execution/config.js +14 -0
- package/dist/lib/execution/config.js.map +1 -1
- package/dist/lib/execution/runners/devcontainer-tmux.js +1 -1
- package/dist/lib/execution/runners/devcontainer-tmux.js.map +1 -1
- package/dist/lib/execution/runners/devcontainer.js +9 -1
- package/dist/lib/execution/runners/devcontainer.js.map +1 -1
- package/dist/lib/execution/runners/docker-credentials.d.ts +8 -0
- package/dist/lib/execution/runners/docker-credentials.js +20 -3
- package/dist/lib/execution/runners/docker-credentials.js.map +1 -1
- package/dist/lib/execution/runners/docker-management.d.ts +31 -0
- package/dist/lib/execution/runners/docker-management.js +95 -0
- package/dist/lib/execution/runners/docker-management.js.map +1 -1
- package/dist/lib/execution/runners/index.d.ts +1 -1
- package/dist/lib/execution/runners/index.js +1 -1
- package/dist/lib/execution/runners/index.js.map +1 -1
- package/dist/lib/execution/runners/shared.d.ts +23 -1
- package/dist/lib/execution/runners/shared.js +112 -1
- package/dist/lib/execution/runners/shared.js.map +1 -1
- package/dist/lib/execution/spawner.js +8 -1
- package/dist/lib/execution/spawner.js.map +1 -1
- package/dist/lib/execution/types.js +2 -2
- package/dist/lib/linear/client.d.ts +13 -0
- package/dist/lib/linear/client.js +37 -0
- package/dist/lib/linear/client.js.map +1 -1
- package/dist/lib/orchestrate/actions.d.ts +20 -0
- package/dist/lib/orchestrate/actions.js +194 -0
- package/dist/lib/orchestrate/actions.js.map +1 -0
- package/dist/lib/orchestrate/config-loader.d.ts +31 -0
- package/dist/lib/orchestrate/config-loader.js +201 -0
- package/dist/lib/orchestrate/config-loader.js.map +1 -0
- package/dist/lib/orchestrate/engine.d.ts +94 -0
- package/dist/lib/orchestrate/engine.js +290 -0
- package/dist/lib/orchestrate/engine.js.map +1 -0
- package/dist/lib/orchestrate/index.d.ts +16 -0
- package/dist/lib/orchestrate/index.js +14 -0
- package/dist/lib/orchestrate/index.js.map +1 -0
- package/dist/lib/orchestrate/poller.d.ts +58 -0
- package/dist/lib/orchestrate/poller.js +282 -0
- package/dist/lib/orchestrate/poller.js.map +1 -0
- package/dist/lib/orchestrate/presets.d.ts +27 -0
- package/dist/lib/orchestrate/presets.js +65 -0
- package/dist/lib/orchestrate/presets.js.map +1 -0
- package/dist/lib/orchestrate/types.d.ts +93 -0
- package/dist/lib/orchestrate/types.js +46 -0
- package/dist/lib/orchestrate/types.js.map +1 -0
- package/dist/lib/pmo/storage/specs.js.map +1 -1
- package/dist/lib/pr/index.d.ts +28 -0
- package/dist/lib/pr/index.js +100 -0
- package/dist/lib/pr/index.js.map +1 -1
- package/dist/lib/providers/event-emitting-provider.d.ts +4 -2
- package/dist/lib/providers/event-emitting-provider.js +12 -0
- package/dist/lib/providers/event-emitting-provider.js.map +1 -1
- package/dist/lib/providers/index.d.ts +1 -1
- package/dist/lib/providers/index.js.map +1 -1
- package/dist/lib/providers/linear-provider.d.ts +4 -2
- package/dist/lib/providers/linear-provider.js +106 -0
- package/dist/lib/providers/linear-provider.js.map +1 -1
- package/dist/lib/providers/pmo-provider.d.ts +4 -2
- package/dist/lib/providers/pmo-provider.js +26 -0
- package/dist/lib/providers/pmo-provider.js.map +1 -1
- package/dist/lib/providers/types.d.ts +30 -1
- package/dist/lib/telemetry/analytics.d.ts +1 -1
- package/dist/lib/telemetry/analytics.js +16 -8
- package/dist/lib/telemetry/analytics.js.map +1 -1
- package/dist/lib/update-check.d.ts +8 -3
- package/dist/lib/update-check.js +16 -5
- package/dist/lib/update-check.js.map +1 -1
- package/dist/lib/work-lifecycle/hooks/types.d.ts +3 -2
- package/dist/lib/work-lifecycle/hooks/types.js +12 -0
- package/dist/lib/work-lifecycle/hooks/types.js.map +1 -1
- package/oclif.manifest.json +3623 -2968
- 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;
|