@proletariat/cli 0.3.101 → 0.3.103

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 (33) hide show
  1. package/dist/lib/orchestrate/actions.d.ts +6 -0
  2. package/dist/lib/orchestrate/actions.js +11 -5
  3. package/dist/lib/orchestrate/actions.js.map +1 -1
  4. package/dist/lib/orchestrate/engine.d.ts +19 -39
  5. package/dist/lib/orchestrate/engine.js +51 -215
  6. package/dist/lib/orchestrate/engine.js.map +1 -1
  7. package/dist/lib/orchestrate/poller.d.ts +2 -0
  8. package/dist/lib/orchestrate/poller.js +26 -9
  9. package/dist/lib/orchestrate/poller.js.map +1 -1
  10. package/dist/lib/orchestrate/presets.js +7 -2
  11. package/dist/lib/orchestrate/presets.js.map +1 -1
  12. package/dist/lib/orchestrate/types.d.ts +3 -11
  13. package/dist/lib/orchestrate/types.js +1 -2
  14. package/dist/lib/orchestrate/types.js.map +1 -1
  15. package/dist/lib/work-lifecycle/hooks/executor.js +2 -0
  16. package/dist/lib/work-lifecycle/hooks/executor.js.map +1 -1
  17. package/dist/lib/work-lifecycle/hooks/index.d.ts +5 -3
  18. package/dist/lib/work-lifecycle/hooks/index.js +3 -2
  19. package/dist/lib/work-lifecycle/hooks/index.js.map +1 -1
  20. package/dist/lib/work-lifecycle/hooks/manager.d.ts +93 -8
  21. package/dist/lib/work-lifecycle/hooks/manager.js +248 -20
  22. package/dist/lib/work-lifecycle/hooks/manager.js.map +1 -1
  23. package/dist/lib/work-lifecycle/hooks/storage.d.ts +1 -0
  24. package/dist/lib/work-lifecycle/hooks/storage.js +28 -6
  25. package/dist/lib/work-lifecycle/hooks/storage.js.map +1 -1
  26. package/dist/lib/work-lifecycle/hooks/types.d.ts +37 -0
  27. package/dist/lib/work-lifecycle/hooks/types.js +2 -0
  28. package/dist/lib/work-lifecycle/hooks/types.js.map +1 -1
  29. package/dist/lib/work-lifecycle/index.d.ts +2 -1
  30. package/dist/lib/work-lifecycle/index.js +1 -1
  31. package/dist/lib/work-lifecycle/index.js.map +1 -1
  32. package/oclif.manifest.json +846 -846
  33. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/poller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/poller.ts"],"names":[],"mappings":"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"}
@@ -22,14 +22,19 @@ const SHARED_HOOKS = [
22
22
  { event: 'on_agent_idle', action: 'health-check' },
23
23
  { event: 'on_agent_spawned', action: 'move-ticket', config: { target: 'in-progress' } },
24
24
  ];
25
- /** Safe actions that can be auto-executed even in supervised mode. */
25
+ /**
26
+ * Safe actions that can be auto-executed even in supervised mode.
27
+ *
28
+ * Actions that spawn agents/containers (spawn-agent, respawn, spawn-fix-agent,
29
+ * resolve-conflict) are NOT safe — they create external resources and must
30
+ * require confirmation in supervised mode.
31
+ */
26
32
  const SAFE_ACTIONS = new Set([
27
33
  'move-ticket',
28
34
  'notify',
29
35
  'cleanup-container',
30
36
  'health-check',
31
37
  'rebase-conflicting-prs',
32
- 'resolve-conflict',
33
38
  ]);
34
39
  export const PRESETS = {
35
40
  aggressive: {
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,MAAM,YAAY,GAAyF;IACzG,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE;IAC5C,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAC5E,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAC9E,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,wBAAwB,EAAE;IAC3D,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC1D,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE;IACnD,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;IACzE,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5C,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC3C,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACpD,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC5D,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE;IAClD,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;CACxF,CAAA;AAED,sEAAsE;AACtE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,aAAa;IACb,QAAQ;IACR,mBAAmB;IACnB,cAAc;IACd,wBAAwB;IACxB,kBAAkB;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,OAAO,GAAyC;IAC3D,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,mCAAmC;QAChD,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,GAAG,CAAC;YACJ,IAAI,EAAE,MAAkB;SACzB,CAAC,CAAC;KACJ;IAED,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iDAAiD;QAC9D,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,GAAG,CAAC;YACJ,IAAI,EAAE,SAAqB;SAC5B,CAAC,CAAC;KACJ;IAED,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oDAAoD;QACjE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,GAAG,CAAC;YACJ,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAa;SACpE,CAAC,CAAC;KACJ;CACF,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,MAAM,YAAY,GAAyF;IACzG,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE;IAC5C,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAC5E,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAC9E,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,wBAAwB,EAAE;IAC3D,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC1D,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE;IACnD,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;IACzE,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5C,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC3C,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACpD,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC5D,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE;IAClD,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;CACxF,CAAA;AAED;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,aAAa;IACb,QAAQ;IACR,mBAAmB;IACnB,cAAc;IACd,wBAAwB;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,OAAO,GAAyC;IAC3D,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,mCAAmC;QAChD,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,GAAG,CAAC;YACJ,IAAI,EAAE,MAAkB;SACzB,CAAC,CAAC;KACJ;IAED,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iDAAiD;QAC9D,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,GAAG,CAAC;YACJ,IAAI,EAAE,SAAqB;SAC5B,CAAC,CAAC;KACJ;IAED,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oDAAoD;QACjE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,GAAG,CAAC;YACJ,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAa;SACpE,CAAC,CAAC;KACJ;CACF,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC"}
@@ -12,17 +12,9 @@
12
12
  export type OrchestrateEvent = 'work:started' | 'work:status_changed' | 'work:pr_created' | 'work:pr_merged' | 'work:pr_closed' | 'work:completed' | 'agent:spawned' | 'agent:stopped' | 'on_ci_green' | 'on_ci_failed' | 'on_pr_opened' | 'on_pr_merged' | 'on_pr_conflicting' | 'on_ticket_ready' | 'on_agent_spawned' | 'on_agent_died' | 'on_agent_completed' | 'on_agent_idle' | 'on_version_published';
13
13
  /** All valid orchestrate event names. */
14
14
  export declare const ORCHESTRATE_EVENTS: OrchestrateEvent[];
15
- /**
16
- * Automation level for a hook.
17
- *
18
- * - auto: fires immediately, no human needed
19
- * - confirm: pauses, notifies, waits for approval
20
- * - notify: fires but also pings (log, Slack, dashboard)
21
- * - off: disabled
22
- */
23
- export type HookMode = 'auto' | 'confirm' | 'notify' | 'off';
24
- /** All valid hook modes. */
25
- export declare const HOOK_MODES: HookMode[];
15
+ import type { HookMode as _HookMode } from '../work-lifecycle/hooks/types.js';
16
+ export type HookMode = _HookMode;
17
+ export { HOOK_MODES } from '../work-lifecycle/hooks/types.js';
26
18
  /**
27
19
  * Built-in orchestrate actions.
28
20
  * These are first-class actions the daemon knows how to execute natively.
@@ -27,8 +27,7 @@ export const ORCHESTRATE_EVENTS = [
27
27
  'on_agent_idle',
28
28
  'on_version_published',
29
29
  ];
30
- /** All valid hook modes. */
31
- export const HOOK_MODES = ['auto', 'confirm', 'notify', 'off'];
30
+ export { HOOK_MODES } from '../work-lifecycle/hooks/types.js';
32
31
  /** All valid built-in action names. */
33
32
  export const BUILTIN_ACTIONS = [
34
33
  'merge-pr',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAuB;IACpD,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,oBAAoB;IACpB,eAAe;IACf,sBAAsB;CACvB,CAAA;AAgBD,4BAA4B;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;AAsB1E,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,UAAU;IACV,aAAa;IACb,wBAAwB;IACxB,aAAa;IACb,SAAS;IACT,QAAQ;IACR,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,kBAAkB;CACnB,CAAA;AAmDD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAiB,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/orchestrate/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAuB;IACpD,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,oBAAoB;IACpB,eAAe;IACf,sBAAsB;CACvB,CAAA;AASD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAsB7D,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,UAAU;IACV,aAAa;IACb,wBAAwB;IACxB,aAAa;IACb,SAAS;IACT,QAAQ;IACR,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,kBAAkB;CACnB,CAAA;AAmDD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAiB,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA"}
@@ -85,6 +85,7 @@ export function executeHook(hook, eventName, eventData) {
85
85
  return {
86
86
  hookId: hook.id,
87
87
  hookName: hook.name,
88
+ action: hook.actionValue,
88
89
  success: true,
89
90
  durationMs: Date.now() - start,
90
91
  };
@@ -93,6 +94,7 @@ export function executeHook(hook, eventName, eventData) {
93
94
  return {
94
95
  hookId: hook.id,
95
96
  hookName: hook.name,
97
+ action: hook.actionValue,
96
98
  success: false,
97
99
  error: err instanceof Error ? err.message : String(err),
98
100
  durationMs: Date.now() - start,
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/executor.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,12 @@
3
3
  *
4
4
  * Configurable event-driven actions for work lifecycle events.
5
5
  * Hooks subscribe to the EventBus and execute user-configured
6
- * actions (shell commands, webhooks, log messages) when events fire.
6
+ * actions (shell commands, webhooks, log messages, built-in actions)
7
+ * when events fire, with mode-aware behavior (auto/confirm/notify/off).
7
8
  */
8
- export type { HookableEvent, HookActionType, WorkHookConfig, WorkHookRow, HookExecutionResult, } from './types.js';
9
- export { HOOKABLE_EVENTS } from './types.js';
9
+ export type { HookableEvent, HookActionType, HookMode, WorkHookConfig, WorkHookRow, HookExecutionResult, HookActionHandler, } from './types.js';
10
+ export { HOOKABLE_EVENTS, HOOK_MODES } from './types.js';
10
11
  export { WorkHookStorage, HOOKS_TABLE, HOOKS_TABLE_SCHEMA, HOOKS_TABLE_INDEX, ensureHooksTable, } from './storage.js';
11
12
  export { executeHook } from './executor.js';
12
13
  export { HookManager, initHookManager, stopHookManager, } from './manager.js';
14
+ export type { HookManagerOptions } from './manager.js';
@@ -3,9 +3,10 @@
3
3
  *
4
4
  * Configurable event-driven actions for work lifecycle events.
5
5
  * Hooks subscribe to the EventBus and execute user-configured
6
- * actions (shell commands, webhooks, log messages) when events fire.
6
+ * actions (shell commands, webhooks, log messages, built-in actions)
7
+ * when events fire, with mode-aware behavior (auto/confirm/notify/off).
7
8
  */
8
- export { HOOKABLE_EVENTS } from './types.js';
9
+ export { HOOKABLE_EVENTS, HOOK_MODES } from './types.js';
9
10
  export { WorkHookStorage, HOOKS_TABLE, HOOKS_TABLE_SCHEMA, HOOKS_TABLE_INDEX, ensureHooksTable, } from './storage.js';
10
11
  export { executeHook } from './executor.js';
11
12
  export { HookManager, initHookManager, stopHookManager, } from './manager.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EACL,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EACL,WAAW,EACX,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,EACL,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EACL,WAAW,EACX,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAA"}
@@ -1,22 +1,61 @@
1
1
  /**
2
2
  * Work Lifecycle Hook Manager
3
3
  *
4
+ * The single hook execution system for the entire application.
4
5
  * Subscribes to work lifecycle events on the global EventBus and
5
- * executes matching hook configurations from the database.
6
+ * executes matching hook configurations from the database with
7
+ * mode-aware behavior (auto/confirm/notify/off).
6
8
  *
7
- * Hooks are fire-and-forget: execution failures are logged but never
8
- * block the caller or break the event emission chain.
9
+ * Used by both the interactive CLI (with default auto mode) and
10
+ * the orchestrate daemon (with full mode/callback support).
11
+ *
12
+ * Hooks are fire-and-forget when triggered via EventBus: execution
13
+ * failures are logged but never block the caller or break the event
14
+ * emission chain.
9
15
  */
10
16
  import type Database from 'better-sqlite3';
17
+ import { type HookExecutionResult, type HookActionHandler, type WorkHookConfig } from './types.js';
18
+ /**
19
+ * Options for creating a HookManager.
20
+ */
21
+ export interface HookManagerOptions {
22
+ /** Database connection */
23
+ db: Database.Database;
24
+ /** Logger function */
25
+ log?: (msg: string) => void;
26
+ /** Callback for confirm-mode hooks (returns true to approve) */
27
+ onConfirm?: (hookName: string, event: string, action: string) => Promise<boolean>;
28
+ /** Callback for notifications (notify-mode hooks) */
29
+ onNotify?: (hookName: string, event: string, action: string, result: HookExecutionResult) => void;
30
+ /**
31
+ * Built-in action handlers (e.g., merge-pr, spawn-agent).
32
+ * When a hook's action resolves to a key in this map, the handler
33
+ * is called instead of shell/webhook/log execution.
34
+ */
35
+ actionHandlers?: Record<string, HookActionHandler>;
36
+ }
37
+ interface PendingConfirmation {
38
+ hookName: string;
39
+ event: string;
40
+ action: string;
41
+ ctx: Record<string, unknown>;
42
+ config?: Record<string, unknown>;
43
+ }
11
44
  /**
12
45
  * HookManager loads hook configs from the database and subscribes to
13
46
  * the global EventBus. When a hookable event fires, it finds all
14
- * enabled hooks for that event and executes them.
47
+ * enabled hooks for that event and executes them with mode-aware behavior.
15
48
  */
16
49
  export declare class HookManager {
17
50
  private unsubscribers;
18
51
  private hookStorage;
19
- constructor(db: Database.Database);
52
+ private db;
53
+ private log;
54
+ private onConfirm?;
55
+ private onNotify?;
56
+ private actionHandlers;
57
+ private _pendingConfirmations;
58
+ constructor(options: HookManagerOptions);
20
59
  /**
21
60
  * Start listening for hookable events on the global EventBus.
22
61
  * For each event, looks up enabled hooks and executes them.
@@ -27,17 +66,63 @@ export declare class HookManager {
27
66
  */
28
67
  stop(): void;
29
68
  /**
30
- * Handle a hookable event by executing all matching enabled hooks.
31
- * Hook failures are swallowed to avoid breaking the event chain.
69
+ * Fire an event explicitly (used by orchestrate daemon and `prlt hook fire`).
70
+ * Returns the execution results for all matching hooks.
71
+ */
72
+ fireEvent(event: string, eventData: Record<string, unknown>): Promise<HookExecutionResult[]>;
73
+ /**
74
+ * Get pending confirmations for hooks in confirm mode.
75
+ */
76
+ getPendingConfirmations(): PendingConfirmation[];
77
+ /**
78
+ * Approve a pending confirmation and execute it.
79
+ */
80
+ approveConfirmation(index: number): Promise<HookExecutionResult | null>;
81
+ /**
82
+ * Deny a pending confirmation.
83
+ */
84
+ denyConfirmation(index: number): boolean;
85
+ /**
86
+ * Build a context object from raw event data.
87
+ * Normalizes common field names for built-in action handlers.
88
+ *
89
+ * Public so it can be tested in isolation.
90
+ */
91
+ static buildContext(eventName: string, data: Record<string, unknown>): Record<string, unknown>;
92
+ /**
93
+ * Resolve the action name from a hook config and a set of known action handlers.
94
+ *
95
+ * - If the action_value contains `--action <name>`, extracts the name
96
+ * - If the action_value is a known built-in action, uses it directly
97
+ * - Otherwise uses the raw action_value (shell command)
98
+ *
99
+ * Public so it can be tested in isolation.
100
+ */
101
+ static resolveActionName(hook: WorkHookConfig, knownActions?: Record<string, unknown>): string;
102
+ /**
103
+ * Handle an event by finding and executing all matching enabled hooks.
104
+ * Supports mode-aware execution: auto, confirm, notify, off.
32
105
  */
33
106
  private handleEvent;
107
+ /**
108
+ * Execute a hook action — either via a built-in handler or the standard executor.
109
+ */
110
+ private executeHookAction;
111
+ /**
112
+ * Execute an action by name (used for approved confirmations).
113
+ */
114
+ private executeActionByName;
34
115
  }
35
116
  /**
36
117
  * Initialize and start the hook manager.
37
118
  * Safe to call multiple times — subsequent calls are no-ops.
119
+ *
120
+ * When called with just a db (interactive CLI), hooks default to auto mode.
121
+ * Pass additional options for mode-aware execution (orchestrate daemon).
38
122
  */
39
- export declare function initHookManager(db: Database.Database): HookManager;
123
+ export declare function initHookManager(db: Database.Database, options?: Omit<HookManagerOptions, 'db'>): HookManager;
40
124
  /**
41
125
  * Stop the hook manager (primarily for testing).
42
126
  */
43
127
  export declare function stopHookManager(): void;
128
+ export {};
@@ -1,26 +1,47 @@
1
1
  /**
2
2
  * Work Lifecycle Hook Manager
3
3
  *
4
+ * The single hook execution system for the entire application.
4
5
  * Subscribes to work lifecycle events on the global EventBus and
5
- * executes matching hook configurations from the database.
6
+ * executes matching hook configurations from the database with
7
+ * mode-aware behavior (auto/confirm/notify/off).
6
8
  *
7
- * Hooks are fire-and-forget: execution failures are logged but never
8
- * block the caller or break the event emission chain.
9
+ * Used by both the interactive CLI (with default auto mode) and
10
+ * the orchestrate daemon (with full mode/callback support).
11
+ *
12
+ * Hooks are fire-and-forget when triggered via EventBus: execution
13
+ * failures are logged but never block the caller or break the event
14
+ * emission chain.
9
15
  */
16
+ import { execSync } from 'node:child_process';
10
17
  import { getEventBus } from '../../events/event-bus.js';
11
18
  import { WorkHookStorage } from './storage.js';
12
19
  import { executeHook } from './executor.js';
13
- import { HOOKABLE_EVENTS } from './types.js';
20
+ import { HOOKABLE_EVENTS, } from './types.js';
21
+ // =============================================================================
22
+ // Manager
23
+ // =============================================================================
14
24
  /**
15
25
  * HookManager loads hook configs from the database and subscribes to
16
26
  * the global EventBus. When a hookable event fires, it finds all
17
- * enabled hooks for that event and executes them.
27
+ * enabled hooks for that event and executes them with mode-aware behavior.
18
28
  */
19
29
  export class HookManager {
20
30
  unsubscribers = [];
21
31
  hookStorage;
22
- constructor(db) {
23
- this.hookStorage = new WorkHookStorage(db);
32
+ db;
33
+ log;
34
+ onConfirm;
35
+ onNotify;
36
+ actionHandlers;
37
+ _pendingConfirmations = [];
38
+ constructor(options) {
39
+ this.db = options.db;
40
+ this.hookStorage = new WorkHookStorage(options.db);
41
+ this.log = options.log ?? (() => { });
42
+ this.onConfirm = options.onConfirm;
43
+ this.onNotify = options.onNotify;
44
+ this.actionHandlers = options.actionHandlers ?? {};
24
45
  }
25
46
  /**
26
47
  * Start listening for hookable events on the global EventBus.
@@ -30,7 +51,7 @@ export class HookManager {
30
51
  const bus = getEventBus();
31
52
  for (const eventName of HOOKABLE_EVENTS) {
32
53
  this.unsubscribers.push(bus.on(eventName, (payload) => {
33
- this.handleEvent(eventName, payload);
54
+ void this.handleEvent(eventName, payload);
34
55
  }));
35
56
  }
36
57
  }
@@ -42,27 +63,231 @@ export class HookManager {
42
63
  unsub();
43
64
  }
44
65
  this.unsubscribers = [];
66
+ this._pendingConfirmations = [];
67
+ }
68
+ /**
69
+ * Fire an event explicitly (used by orchestrate daemon and `prlt hook fire`).
70
+ * Returns the execution results for all matching hooks.
71
+ */
72
+ async fireEvent(event, eventData) {
73
+ return this.handleEvent(event, eventData);
74
+ }
75
+ /**
76
+ * Get pending confirmations for hooks in confirm mode.
77
+ */
78
+ getPendingConfirmations() {
79
+ return [...this._pendingConfirmations];
80
+ }
81
+ /**
82
+ * Approve a pending confirmation and execute it.
83
+ */
84
+ async approveConfirmation(index) {
85
+ if (index < 0 || index >= this._pendingConfirmations.length)
86
+ return null;
87
+ const pending = this._pendingConfirmations.splice(index, 1)[0];
88
+ const result = this.executeActionByName(pending.action, pending.ctx, pending.config);
89
+ this.log(`[hooks] Approved: ${pending.hookName} → ${pending.action} (${result.success ? 'success' : 'failed'})`);
90
+ return result;
91
+ }
92
+ /**
93
+ * Deny a pending confirmation.
94
+ */
95
+ denyConfirmation(index) {
96
+ if (index < 0 || index >= this._pendingConfirmations.length)
97
+ return false;
98
+ const pending = this._pendingConfirmations.splice(index, 1)[0];
99
+ this.log(`[hooks] Denied: ${pending.hookName} → ${pending.action}`);
100
+ return true;
101
+ }
102
+ // ===========================================================================
103
+ // Testable Utilities (public for PRLT-1223 test suite)
104
+ // ===========================================================================
105
+ /**
106
+ * Build a context object from raw event data.
107
+ * Normalizes common field names for built-in action handlers.
108
+ *
109
+ * Public so it can be tested in isolation.
110
+ */
111
+ static buildContext(eventName, data) {
112
+ return {
113
+ event: eventName,
114
+ ticket: (data.ticketId ?? data.workItemId ?? data.ticket),
115
+ pr: (data.prNumber ?? data.pr),
116
+ branch: data.branch,
117
+ agent: (data.agentName ?? data.agent ?? data.sessionId),
118
+ container: data.containerId,
119
+ executionId: data.executionId,
120
+ prUrl: data.prUrl,
121
+ projectId: data.projectId,
122
+ ...data,
123
+ };
45
124
  }
46
125
  /**
47
- * Handle a hookable event by executing all matching enabled hooks.
48
- * Hook failures are swallowed to avoid breaking the event chain.
126
+ * Resolve the action name from a hook config and a set of known action handlers.
127
+ *
128
+ * - If the action_value contains `--action <name>`, extracts the name
129
+ * - If the action_value is a known built-in action, uses it directly
130
+ * - Otherwise uses the raw action_value (shell command)
131
+ *
132
+ * Public so it can be tested in isolation.
49
133
  */
50
- handleEvent(eventName, eventData) {
134
+ static resolveActionName(hook, knownActions = {}) {
135
+ // If the action_value contains --action, extract the action name
136
+ const actionMatch = hook.actionValue.match(/--action\s+(\S+)/);
137
+ if (actionMatch)
138
+ return actionMatch[1];
139
+ // If it's a known built-in action name directly
140
+ if (knownActions[hook.actionValue])
141
+ return hook.actionValue;
142
+ // Otherwise it's a raw shell command — use the action_value as-is
143
+ return hook.actionValue;
144
+ }
145
+ // ===========================================================================
146
+ // Private
147
+ // ===========================================================================
148
+ /**
149
+ * Handle an event by finding and executing all matching enabled hooks.
150
+ * Supports mode-aware execution: auto, confirm, notify, off.
151
+ */
152
+ async handleEvent(eventName, eventData) {
153
+ const results = [];
51
154
  try {
52
155
  const hooks = this.hookStorage.list({ event: eventName, enabled: true });
53
156
  if (hooks.length === 0)
54
- return;
157
+ return results;
158
+ // Build context from the payload
159
+ const ctx = HookManager.buildContext(eventName, eventData);
55
160
  for (const hook of hooks) {
56
- try {
57
- executeHook(hook, eventName, eventData);
161
+ const mode = hook.mode || 'auto';
162
+ const actionName = HookManager.resolveActionName(hook, this.actionHandlers);
163
+ // --- off: skip silently ---
164
+ if (mode === 'off') {
165
+ results.push({
166
+ hookId: hook.id,
167
+ hookName: hook.name,
168
+ action: actionName,
169
+ success: true,
170
+ durationMs: 0,
171
+ skipped: true,
172
+ });
173
+ continue;
174
+ }
175
+ // --- confirm: require approval ---
176
+ if (mode === 'confirm') {
177
+ if (this.onConfirm) {
178
+ const approved = await this.onConfirm(hook.name, eventName, actionName);
179
+ if (!approved) {
180
+ this.log(`[hooks] Skipped (not confirmed): ${hook.name} → ${actionName}`);
181
+ results.push({
182
+ hookId: hook.id,
183
+ hookName: hook.name,
184
+ action: actionName,
185
+ success: true,
186
+ durationMs: 0,
187
+ skipped: true,
188
+ });
189
+ continue;
190
+ }
191
+ // Approved — fall through to execution
192
+ }
193
+ else {
194
+ // No confirm handler — queue for later approval
195
+ this._pendingConfirmations.push({
196
+ hookName: hook.name,
197
+ event: eventName,
198
+ action: actionName,
199
+ ctx,
200
+ config: hook.config ?? undefined,
201
+ });
202
+ this.log(`[hooks] Queued for confirmation: ${hook.name} → ${actionName}`);
203
+ results.push({
204
+ hookId: hook.id,
205
+ hookName: hook.name,
206
+ action: actionName,
207
+ success: true,
208
+ durationMs: 0,
209
+ awaitingConfirmation: true,
210
+ });
211
+ continue;
212
+ }
58
213
  }
59
- catch {
60
- // Hook execution errors are non-fatal
214
+ // --- auto / notify / confirmed: execute ---
215
+ const result = this.executeHookAction(hook, eventName, eventData, ctx);
216
+ results.push(result);
217
+ this.log(`[hooks] ${hook.name} → ${actionName}: ${result.success ? 'success' : `failed: ${result.error}`} (${result.durationMs}ms)`);
218
+ // For notify mode, also fire the notification callback
219
+ if (mode === 'notify' && this.onNotify) {
220
+ this.onNotify(hook.name, eventName, actionName, result);
61
221
  }
62
222
  }
63
223
  }
64
- catch {
65
- // Storage errors are non-fatal
224
+ catch (err) {
225
+ this.log(`[hooks] Error handling event ${eventName}: ${err instanceof Error ? err.message : String(err)}`);
226
+ }
227
+ return results;
228
+ }
229
+ /**
230
+ * Execute a hook action — either via a built-in handler or the standard executor.
231
+ */
232
+ executeHookAction(hook, eventName, eventData, ctx) {
233
+ const actionName = HookManager.resolveActionName(hook, this.actionHandlers);
234
+ // Try built-in action handler first
235
+ if (this.actionHandlers[actionName]) {
236
+ const handlerResult = this.actionHandlers[actionName](ctx, hook.config ?? undefined);
237
+ return {
238
+ hookId: hook.id,
239
+ hookName: hook.name,
240
+ action: handlerResult.action,
241
+ success: handlerResult.success,
242
+ error: handlerResult.error,
243
+ durationMs: handlerResult.durationMs,
244
+ skipped: handlerResult.skipped,
245
+ };
246
+ }
247
+ // For shell/webhook/log hooks, use the standard executor
248
+ const result = executeHook(hook, eventName, eventData);
249
+ return {
250
+ ...result,
251
+ action: actionName,
252
+ };
253
+ }
254
+ /**
255
+ * Execute an action by name (used for approved confirmations).
256
+ */
257
+ executeActionByName(actionName, ctx, config) {
258
+ // Try built-in action handler first
259
+ if (this.actionHandlers[actionName]) {
260
+ const handlerResult = this.actionHandlers[actionName](ctx, config);
261
+ return {
262
+ hookId: '',
263
+ hookName: '',
264
+ action: handlerResult.action,
265
+ success: handlerResult.success,
266
+ error: handlerResult.error,
267
+ durationMs: handlerResult.durationMs,
268
+ skipped: handlerResult.skipped,
269
+ };
270
+ }
271
+ // Fallback to shell execution
272
+ const start = Date.now();
273
+ try {
274
+ const env = {
275
+ ...process.env,
276
+ PRLT_HOOK_EVENT: ctx.event ?? '',
277
+ PRLT_HOOK_TICKET: ctx.ticket ?? '',
278
+ PRLT_HOOK_PR: ctx.pr ? String(ctx.pr) : '',
279
+ PRLT_HOOK_BRANCH: ctx.branch ?? '',
280
+ PRLT_HOOK_AGENT: ctx.agent ?? '',
281
+ };
282
+ execSync(actionName, { env, timeout: 30_000, stdio: 'pipe' });
283
+ return { hookId: '', hookName: '', action: actionName, success: true, durationMs: Date.now() - start };
284
+ }
285
+ catch (err) {
286
+ return {
287
+ hookId: '', hookName: '', action: actionName, success: false,
288
+ error: err instanceof Error ? err.message : String(err),
289
+ durationMs: Date.now() - start,
290
+ };
66
291
  }
67
292
  }
68
293
  }
@@ -73,10 +298,13 @@ let _manager;
73
298
  /**
74
299
  * Initialize and start the hook manager.
75
300
  * Safe to call multiple times — subsequent calls are no-ops.
301
+ *
302
+ * When called with just a db (interactive CLI), hooks default to auto mode.
303
+ * Pass additional options for mode-aware execution (orchestrate daemon).
76
304
  */
77
- export function initHookManager(db) {
305
+ export function initHookManager(db, options) {
78
306
  if (!_manager) {
79
- _manager = new HookManager(db);
307
+ _manager = new HookManager({ db, ...options });
80
308
  _manager.start();
81
309
  }
82
310
  return _manager;