@relayflows/core 0.0.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/dist/agent-handle.d.ts +27 -0
  2. package/dist/agent-handle.d.ts.map +1 -0
  3. package/dist/agent-handle.js +32 -0
  4. package/dist/agent-handle.js.map +1 -0
  5. package/dist/api-executor.d.ts +16 -0
  6. package/dist/api-executor.d.ts.map +1 -0
  7. package/dist/api-executor.js +94 -0
  8. package/dist/api-executor.js.map +1 -0
  9. package/dist/barrier.d.ts +72 -0
  10. package/dist/barrier.d.ts.map +1 -0
  11. package/dist/barrier.js +162 -0
  12. package/dist/barrier.js.map +1 -0
  13. package/dist/budget-tracker.d.ts +75 -0
  14. package/dist/budget-tracker.d.ts.map +1 -0
  15. package/dist/budget-tracker.js +184 -0
  16. package/dist/budget-tracker.js.map +1 -0
  17. package/dist/builder.d.ts +229 -0
  18. package/dist/builder.d.ts.map +1 -0
  19. package/dist/builder.js +430 -0
  20. package/dist/builder.js.map +1 -0
  21. package/dist/builtin-templates/bug-fix.yaml +139 -0
  22. package/dist/builtin-templates/code-review.yaml +137 -0
  23. package/dist/builtin-templates/competitive.yaml +107 -0
  24. package/dist/builtin-templates/documentation.yaml +128 -0
  25. package/dist/builtin-templates/feature-dev.yaml +146 -0
  26. package/dist/builtin-templates/refactor.yaml +145 -0
  27. package/dist/builtin-templates/review-loop.yaml +227 -0
  28. package/dist/builtin-templates/security-audit.yaml +139 -0
  29. package/dist/channel-messenger.d.ts +28 -0
  30. package/dist/channel-messenger.d.ts.map +1 -0
  31. package/dist/channel-messenger.js +275 -0
  32. package/dist/channel-messenger.js.map +1 -0
  33. package/dist/cli-registry.d.ts +77 -0
  34. package/dist/cli-registry.d.ts.map +1 -0
  35. package/dist/cli-registry.js +268 -0
  36. package/dist/cli-registry.js.map +1 -0
  37. package/dist/cli-session-collector.d.ts +39 -0
  38. package/dist/cli-session-collector.d.ts.map +1 -0
  39. package/dist/cli-session-collector.js +23 -0
  40. package/dist/cli-session-collector.js.map +1 -0
  41. package/dist/cli.d.ts +11 -0
  42. package/dist/cli.d.ts.map +1 -0
  43. package/dist/cli.js +395 -0
  44. package/dist/cli.js.map +1 -0
  45. package/dist/cloud-runner.d.ts +15 -0
  46. package/dist/cloud-runner.d.ts.map +1 -0
  47. package/dist/cloud-runner.js +41 -0
  48. package/dist/cloud-runner.js.map +1 -0
  49. package/dist/cloud-schedules.d.ts +3 -0
  50. package/dist/cloud-schedules.d.ts.map +1 -0
  51. package/dist/cloud-schedules.js +2 -0
  52. package/dist/cloud-schedules.js.map +1 -0
  53. package/dist/collectors/claude.d.ts +6 -0
  54. package/dist/collectors/claude.d.ts.map +1 -0
  55. package/dist/collectors/claude.js +330 -0
  56. package/dist/collectors/claude.js.map +1 -0
  57. package/dist/collectors/codex.d.ts +18 -0
  58. package/dist/collectors/codex.d.ts.map +1 -0
  59. package/dist/collectors/codex.js +265 -0
  60. package/dist/collectors/codex.js.map +1 -0
  61. package/dist/collectors/opencode.d.ts +6 -0
  62. package/dist/collectors/opencode.d.ts.map +1 -0
  63. package/dist/collectors/opencode.js +204 -0
  64. package/dist/collectors/opencode.js.map +1 -0
  65. package/dist/coordinator.d.ts +73 -0
  66. package/dist/coordinator.d.ts.map +1 -0
  67. package/dist/coordinator.js +647 -0
  68. package/dist/coordinator.js.map +1 -0
  69. package/dist/custom-steps.d.ts +73 -0
  70. package/dist/custom-steps.d.ts.map +1 -0
  71. package/dist/custom-steps.js +321 -0
  72. package/dist/custom-steps.js.map +1 -0
  73. package/dist/default-logger.d.ts +9 -0
  74. package/dist/default-logger.d.ts.map +1 -0
  75. package/dist/default-logger.js +104 -0
  76. package/dist/default-logger.js.map +1 -0
  77. package/dist/dry-run-format.d.ts +6 -0
  78. package/dist/dry-run-format.d.ts.map +1 -0
  79. package/dist/dry-run-format.js +76 -0
  80. package/dist/dry-run-format.js.map +1 -0
  81. package/dist/file-db.d.ts +85 -0
  82. package/dist/file-db.d.ts.map +1 -0
  83. package/dist/file-db.js +215 -0
  84. package/dist/file-db.js.map +1 -0
  85. package/dist/index.d.ts +37 -1
  86. package/dist/index.d.ts.map +1 -0
  87. package/dist/index.js +34 -3
  88. package/dist/index.js.map +1 -0
  89. package/dist/integrations/browser.d.ts +99 -0
  90. package/dist/integrations/browser.d.ts.map +1 -0
  91. package/dist/integrations/browser.js +419 -0
  92. package/dist/integrations/browser.js.map +1 -0
  93. package/dist/integrations/github.d.ts +79 -0
  94. package/dist/integrations/github.d.ts.map +1 -0
  95. package/dist/integrations/github.js +459 -0
  96. package/dist/integrations/github.js.map +1 -0
  97. package/dist/integrations/slack.d.ts +80 -0
  98. package/dist/integrations/slack.d.ts.map +1 -0
  99. package/dist/integrations/slack.js +355 -0
  100. package/dist/integrations/slack.js.map +1 -0
  101. package/dist/listr-renderer.d.ts +26 -0
  102. package/dist/listr-renderer.d.ts.map +1 -0
  103. package/dist/listr-renderer.js +230 -0
  104. package/dist/listr-renderer.js.map +1 -0
  105. package/dist/memory-db.d.ts +17 -0
  106. package/dist/memory-db.d.ts.map +1 -0
  107. package/dist/memory-db.js +33 -0
  108. package/dist/memory-db.js.map +1 -0
  109. package/dist/process-backend-executor.d.ts +18 -0
  110. package/dist/process-backend-executor.d.ts.map +1 -0
  111. package/dist/process-backend-executor.js +74 -0
  112. package/dist/process-backend-executor.js.map +1 -0
  113. package/dist/process-spawner.d.ts +35 -0
  114. package/dist/process-spawner.d.ts.map +1 -0
  115. package/dist/process-spawner.js +173 -0
  116. package/dist/process-spawner.js.map +1 -0
  117. package/dist/provisioner.d.ts +64 -0
  118. package/dist/provisioner.d.ts.map +1 -0
  119. package/dist/provisioner.js +269 -0
  120. package/dist/provisioner.js.map +1 -0
  121. package/dist/proxy-env.d.ts +52 -0
  122. package/dist/proxy-env.d.ts.map +1 -0
  123. package/dist/proxy-env.js +92 -0
  124. package/dist/proxy-env.js.map +1 -0
  125. package/dist/run-script.d.ts +82 -0
  126. package/dist/run-script.d.ts.map +1 -0
  127. package/dist/run-script.js +527 -0
  128. package/dist/run-script.js.map +1 -0
  129. package/dist/run-summary-table.d.ts +5 -0
  130. package/dist/run-summary-table.d.ts.map +1 -0
  131. package/dist/run-summary-table.js +132 -0
  132. package/dist/run-summary-table.js.map +1 -0
  133. package/dist/run.d.ts +45 -0
  134. package/dist/run.d.ts.map +1 -0
  135. package/dist/run.js +37 -0
  136. package/dist/run.js.map +1 -0
  137. package/dist/runner.d.ts +528 -0
  138. package/dist/runner.d.ts.map +1 -0
  139. package/dist/runner.js +6269 -0
  140. package/dist/runner.js.map +1 -0
  141. package/dist/schema.d.ts +275 -0
  142. package/dist/schema.d.ts.map +1 -0
  143. package/dist/schema.js +27 -0
  144. package/dist/schema.js.map +1 -0
  145. package/dist/schema.json +940 -0
  146. package/dist/sibling-links.d.ts +100 -0
  147. package/dist/sibling-links.d.ts.map +1 -0
  148. package/dist/sibling-links.js +205 -0
  149. package/dist/sibling-links.js.map +1 -0
  150. package/dist/state.d.ts +77 -0
  151. package/dist/state.d.ts.map +1 -0
  152. package/dist/state.js +140 -0
  153. package/dist/state.js.map +1 -0
  154. package/dist/step-executor.d.ts +95 -0
  155. package/dist/step-executor.d.ts.map +1 -0
  156. package/dist/step-executor.js +393 -0
  157. package/dist/step-executor.js.map +1 -0
  158. package/dist/template-resolver.d.ts +33 -0
  159. package/dist/template-resolver.d.ts.map +1 -0
  160. package/dist/template-resolver.js +144 -0
  161. package/dist/template-resolver.js.map +1 -0
  162. package/dist/templates.d.ts +47 -0
  163. package/dist/templates.d.ts.map +1 -0
  164. package/dist/templates.js +405 -0
  165. package/dist/templates.js.map +1 -0
  166. package/dist/trajectory.d.ts +87 -0
  167. package/dist/trajectory.d.ts.map +1 -0
  168. package/dist/trajectory.js +412 -0
  169. package/dist/trajectory.js.map +1 -0
  170. package/dist/types.d.ts +471 -0
  171. package/dist/types.d.ts.map +1 -0
  172. package/dist/types.js +37 -0
  173. package/dist/types.js.map +1 -0
  174. package/dist/validator.d.ts +11 -0
  175. package/dist/validator.d.ts.map +1 -0
  176. package/dist/validator.js +186 -0
  177. package/dist/validator.js.map +1 -0
  178. package/dist/verification.d.ts +53 -0
  179. package/dist/verification.d.ts.map +1 -0
  180. package/dist/verification.js +238 -0
  181. package/dist/verification.js.map +1 -0
  182. package/package.json +12 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Custom Steps Loader
3
+ *
4
+ * Loads and resolves custom step definitions from .relay/steps.yaml
5
+ */
6
+ import type { CustomStepDefinition, WorkflowStep } from './types.js';
7
+ /** Default location for custom steps configuration. */
8
+ export declare const CUSTOM_STEPS_FILE = ".relay/steps.yaml";
9
+ /** Result of validating custom steps usage in a workflow. */
10
+ export interface CustomStepsValidationResult {
11
+ valid: boolean;
12
+ errors: string[];
13
+ warnings: string[];
14
+ /** Custom steps that were referenced but not found. */
15
+ missingSteps: string[];
16
+ /** Parameters that were required but not provided. */
17
+ missingParams: Array<{
18
+ step: string;
19
+ use: string;
20
+ param: string;
21
+ }>;
22
+ /** Unreferenced variables in step definitions. */
23
+ unresolvedVariables: Array<{
24
+ step: string;
25
+ variable: string;
26
+ }>;
27
+ }
28
+ /**
29
+ * Load custom step definitions from .relay/steps.yaml.
30
+ * Returns an empty map if the file doesn't exist.
31
+ */
32
+ export declare function loadCustomSteps(cwd: string): Map<string, CustomStepDefinition>;
33
+ /**
34
+ * Custom error class for parse errors with helpful context.
35
+ */
36
+ export declare class CustomStepsParseError extends Error {
37
+ readonly issue: string;
38
+ readonly suggestion: string;
39
+ readonly filePath: string;
40
+ constructor(issue: string, suggestion: string, filePath: string);
41
+ }
42
+ /**
43
+ * Custom error class for step resolution errors.
44
+ */
45
+ export declare class CustomStepResolutionError extends Error {
46
+ readonly stepName: string;
47
+ readonly issue: string;
48
+ readonly suggestion: string;
49
+ constructor(stepName: string, issue: string, suggestion: string);
50
+ }
51
+ /**
52
+ * Validate custom step usage in workflow steps without resolving.
53
+ * Returns validation errors and warnings for dry-run.
54
+ */
55
+ export declare function validateCustomStepsUsage(steps: WorkflowStep[], customSteps: Map<string, CustomStepDefinition>): CustomStepsValidationResult;
56
+ /**
57
+ * Resolve a workflow step that uses a custom step definition.
58
+ * Returns a new step with the custom definition merged in.
59
+ */
60
+ export declare function resolveCustomStep(step: WorkflowStep, customSteps: Map<string, CustomStepDefinition>): WorkflowStep;
61
+ /**
62
+ * Resolve all custom steps in a workflow's steps array.
63
+ */
64
+ export declare function resolveAllCustomSteps(steps: WorkflowStep[], customSteps: Map<string, CustomStepDefinition>): WorkflowStep[];
65
+ /**
66
+ * Check if .relay/steps.yaml exists.
67
+ */
68
+ export declare function customStepsFileExists(cwd: string): boolean;
69
+ /**
70
+ * Get the full path to the custom steps file.
71
+ */
72
+ export declare function getCustomStepsPath(cwd: string): string;
73
+ //# sourceMappingURL=custom-steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-steps.d.ts","sourceRoot":"","sources":["../src/custom-steps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAqB,oBAAoB,EAAmB,YAAY,EAAE,MAAM,YAAY,CAAC;AAEzG,uDAAuD;AACvD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,6DAA6D;AAC7D,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,uDAAuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sDAAsD;IACtD,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,kDAAkD;IAClD,mBAAmB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CA8D9E;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,KAAK,EAAE,MAAM;aACb,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;gBAFhB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM;CAKnC;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;aAEhC,QAAQ,EAAE,MAAM;aAChB,KAAK,EAAE,MAAM;aACb,UAAU,EAAE,MAAM;gBAFlB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM;CAKrC;AAiID;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,YAAY,EAAE,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAC7C,2BAA2B,CA+E7B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAC7C,YAAY,CAgFd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EAAE,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAC7C,YAAY,EAAE,CAEhB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -0,0 +1,321 @@
1
+ /**
2
+ * Custom Steps Loader
3
+ *
4
+ * Loads and resolves custom step definitions from .relay/steps.yaml
5
+ */
6
+ import { existsSync, readFileSync } from 'node:fs';
7
+ import path from 'node:path';
8
+ import { parse as parseYaml } from 'yaml';
9
+ /** Default location for custom steps configuration. */
10
+ export const CUSTOM_STEPS_FILE = '.relay/steps.yaml';
11
+ /**
12
+ * Load custom step definitions from .relay/steps.yaml.
13
+ * Returns an empty map if the file doesn't exist.
14
+ */
15
+ export function loadCustomSteps(cwd) {
16
+ const stepsPath = path.join(cwd, CUSTOM_STEPS_FILE);
17
+ const steps = new Map();
18
+ if (!existsSync(stepsPath)) {
19
+ return steps;
20
+ }
21
+ try {
22
+ const content = readFileSync(stepsPath, 'utf-8');
23
+ // Handle empty file
24
+ if (!content.trim()) {
25
+ return steps;
26
+ }
27
+ const config = parseYaml(content);
28
+ if (!config || typeof config !== 'object') {
29
+ throw new CustomStepsParseError('Invalid file format', 'The file must contain a valid YAML object with a "steps" key', stepsPath);
30
+ }
31
+ if (!config.steps) {
32
+ throw new CustomStepsParseError('Missing "steps" key', 'Add a "steps" object containing your custom step definitions:\n\n' +
33
+ 'steps:\n' +
34
+ ' my-step:\n' +
35
+ ' command: "echo hello"', stepsPath);
36
+ }
37
+ if (typeof config.steps !== 'object' || Array.isArray(config.steps)) {
38
+ throw new CustomStepsParseError('Invalid "steps" format', 'The "steps" key must be an object (not an array) mapping step names to definitions', stepsPath);
39
+ }
40
+ for (const [name, definition] of Object.entries(config.steps)) {
41
+ validateCustomStepDefinition(name, definition, stepsPath);
42
+ steps.set(name, definition);
43
+ }
44
+ return steps;
45
+ }
46
+ catch (err) {
47
+ if (err instanceof CustomStepsParseError) {
48
+ throw err;
49
+ }
50
+ const message = err instanceof Error ? err.message : String(err);
51
+ throw new CustomStepsParseError('Failed to parse file', message, stepsPath);
52
+ }
53
+ }
54
+ /**
55
+ * Custom error class for parse errors with helpful context.
56
+ */
57
+ export class CustomStepsParseError extends Error {
58
+ issue;
59
+ suggestion;
60
+ filePath;
61
+ constructor(issue, suggestion, filePath) {
62
+ super(`${filePath}: ${issue}\n\n${suggestion}`);
63
+ this.issue = issue;
64
+ this.suggestion = suggestion;
65
+ this.filePath = filePath;
66
+ this.name = 'CustomStepsParseError';
67
+ }
68
+ }
69
+ /**
70
+ * Custom error class for step resolution errors.
71
+ */
72
+ export class CustomStepResolutionError extends Error {
73
+ stepName;
74
+ issue;
75
+ suggestion;
76
+ constructor(stepName, issue, suggestion) {
77
+ super(`Step "${stepName}": ${issue}\n\n${suggestion}`);
78
+ this.stepName = stepName;
79
+ this.issue = issue;
80
+ this.suggestion = suggestion;
81
+ this.name = 'CustomStepResolutionError';
82
+ }
83
+ }
84
+ /**
85
+ * Validate a custom step definition with clear error messages.
86
+ */
87
+ function validateCustomStepDefinition(name, def, filePath) {
88
+ if (!def || typeof def !== 'object') {
89
+ throw new CustomStepsParseError(`Invalid step "${name}"`, 'Each step must be an object with at least a "command" or "branch" field:\n\n' +
90
+ `steps:\n` +
91
+ ` ${name}:\n` +
92
+ ` command: "your-command-here"`, filePath);
93
+ }
94
+ const stepDef = def;
95
+ // Validate type if specified
96
+ if (stepDef.type !== undefined) {
97
+ if (stepDef.type !== 'deterministic' && stepDef.type !== 'worktree') {
98
+ throw new CustomStepsParseError(`Invalid type "${stepDef.type}" for step "${name}"`, 'Step type must be either "deterministic" or "worktree"', filePath);
99
+ }
100
+ }
101
+ // Determine step type (default to deterministic if command is provided)
102
+ const hasCommand = typeof stepDef.command === 'string';
103
+ const hasBranch = typeof stepDef.branch === 'string';
104
+ const explicitType = stepDef.type;
105
+ const stepType = explicitType ?? (hasCommand ? 'deterministic' : hasBranch ? 'worktree' : undefined);
106
+ if (!stepType) {
107
+ throw new CustomStepsParseError(`Step "${name}" is missing required fields`, 'Deterministic steps need "command", worktree steps need "branch":\n\n' +
108
+ '# Deterministic step:\n' +
109
+ ` ${name}:\n` +
110
+ ' command: "your-command {{param}}"\n\n' +
111
+ '# Worktree step:\n' +
112
+ ` ${name}:\n` +
113
+ ' type: worktree\n' +
114
+ ' branch: "{{branch-name}}"', filePath);
115
+ }
116
+ if (stepType === 'deterministic' && !hasCommand) {
117
+ throw new CustomStepsParseError(`Deterministic step "${name}" is missing "command"`, 'Add a command field:\n\n' +
118
+ ` ${name}:\n` +
119
+ ' command: "your-shell-command"', filePath);
120
+ }
121
+ if (stepType === 'worktree' && !hasBranch) {
122
+ throw new CustomStepsParseError(`Worktree step "${name}" is missing "branch"`, 'Add a branch field:\n\n' +
123
+ ` ${name}:\n` +
124
+ ' type: worktree\n' +
125
+ ' branch: "feature/{{branch-name}}"', filePath);
126
+ }
127
+ // Validate params if present
128
+ if (stepDef.params !== undefined) {
129
+ if (!Array.isArray(stepDef.params)) {
130
+ throw new CustomStepsParseError(`Invalid params for step "${name}"`, 'Params must be an array:\n\n' +
131
+ ` ${name}:\n` +
132
+ ' params:\n' +
133
+ ' - name: myParam\n' +
134
+ ' required: true\n' +
135
+ ' - name: optionalParam\n' +
136
+ ' default: "value"', filePath);
137
+ }
138
+ for (let i = 0; i < stepDef.params.length; i++) {
139
+ const param = stepDef.params[i];
140
+ if (!param || typeof param !== 'object') {
141
+ throw new CustomStepsParseError(`Invalid param at index ${i} for step "${name}"`, 'Each param must be an object with at least a "name" field', filePath);
142
+ }
143
+ if (!param.name || typeof param.name !== 'string') {
144
+ throw new CustomStepsParseError(`Param at index ${i} for step "${name}" is missing "name"`, 'Add a name to the parameter:\n\n' +
145
+ ' params:\n' +
146
+ ' - name: myParam', filePath);
147
+ }
148
+ if (param.required !== undefined && typeof param.required !== 'boolean') {
149
+ throw new CustomStepsParseError(`Invalid "required" value for param "${param.name}" in step "${name}"`, 'The "required" field must be true or false', filePath);
150
+ }
151
+ }
152
+ }
153
+ }
154
+ /**
155
+ * Extract all variable references ({{varName}}) from a string.
156
+ */
157
+ function extractVariables(text) {
158
+ const matches = text.match(/\{\{(\w+)\}\}/g) ?? [];
159
+ return matches.map((m) => m.slice(2, -2));
160
+ }
161
+ /**
162
+ * Validate custom step usage in workflow steps without resolving.
163
+ * Returns validation errors and warnings for dry-run.
164
+ */
165
+ export function validateCustomStepsUsage(steps, customSteps) {
166
+ const errors = [];
167
+ const warnings = [];
168
+ const missingSteps = [];
169
+ const missingParams = [];
170
+ const unresolvedVariables = [];
171
+ for (const step of steps) {
172
+ if (!step.use)
173
+ continue;
174
+ const customDef = customSteps.get(step.use);
175
+ if (!customDef) {
176
+ missingSteps.push(step.use);
177
+ errors.push(`Step "${step.name}" uses undefined custom step "${step.use}". ` +
178
+ `Add it to .relay/steps.yaml or check for typos.`);
179
+ continue;
180
+ }
181
+ // Check required parameters
182
+ const stepAny = step;
183
+ const providedParams = new Set();
184
+ if (customDef.params) {
185
+ for (const param of customDef.params) {
186
+ const providedValue = stepAny[param.name];
187
+ if (providedValue !== undefined) {
188
+ providedParams.add(param.name);
189
+ }
190
+ else if (param.default !== undefined) {
191
+ providedParams.add(param.name);
192
+ }
193
+ else if (param.required) {
194
+ missingParams.push({ step: step.name, use: step.use, param: param.name });
195
+ errors.push(`Step "${step.name}" is missing required parameter "${param.name}" for custom step "${step.use}".`);
196
+ }
197
+ }
198
+ }
199
+ // Check for unresolved variables in the resolved command/branch
200
+ const textToCheck = customDef.command ?? customDef.branch ?? '';
201
+ const variables = extractVariables(textToCheck);
202
+ for (const variable of variables) {
203
+ if (!providedParams.has(variable)) {
204
+ // Check if it's a known param with a default
205
+ const paramDef = customDef.params?.find((p) => p.name === variable);
206
+ if (!paramDef) {
207
+ unresolvedVariables.push({ step: step.name, variable });
208
+ warnings.push(`Step "${step.name}": Variable "{{${variable}}}" in custom step "${step.use}" ` +
209
+ `is not defined as a parameter. It will not be interpolated.`);
210
+ }
211
+ }
212
+ }
213
+ // Check for extra parameters that aren't defined
214
+ const definedParams = new Set((customDef.params ?? []).map((p) => p.name));
215
+ const stepKeys = Object.keys(stepAny).filter((k) => !['name', 'use', 'dependsOn', 'timeoutMs'].includes(k));
216
+ for (const key of stepKeys) {
217
+ if (!definedParams.has(key)) {
218
+ warnings.push(`Step "${step.name}": Parameter "${key}" is not defined in custom step "${step.use}" and will be ignored.`);
219
+ }
220
+ }
221
+ }
222
+ return {
223
+ valid: errors.length === 0,
224
+ errors,
225
+ warnings,
226
+ missingSteps,
227
+ missingParams,
228
+ unresolvedVariables,
229
+ };
230
+ }
231
+ /**
232
+ * Resolve a workflow step that uses a custom step definition.
233
+ * Returns a new step with the custom definition merged in.
234
+ */
235
+ export function resolveCustomStep(step, customSteps) {
236
+ if (!step.use) {
237
+ return step;
238
+ }
239
+ const customDef = customSteps.get(step.use);
240
+ if (!customDef) {
241
+ throw new CustomStepResolutionError(step.name, `Custom step "${step.use}" not found`, `Make sure "${step.use}" is defined in .relay/steps.yaml:\n\n` +
242
+ 'steps:\n' +
243
+ ` ${step.use}:\n` +
244
+ ' command: "your-command"');
245
+ }
246
+ // Build parameter values from step properties and defaults
247
+ const paramValues = {};
248
+ const missingRequired = [];
249
+ if (customDef.params) {
250
+ // Cast step to access arbitrary parameters (custom step params are passed as extra properties)
251
+ const stepAny = step;
252
+ for (const param of customDef.params) {
253
+ // Check if value provided in step
254
+ const providedValue = stepAny[param.name];
255
+ if (providedValue !== undefined) {
256
+ paramValues[param.name] = String(providedValue);
257
+ }
258
+ else if (param.default !== undefined) {
259
+ paramValues[param.name] = param.default;
260
+ }
261
+ else if (param.required) {
262
+ missingRequired.push(param.name);
263
+ }
264
+ }
265
+ }
266
+ if (missingRequired.length > 0) {
267
+ const paramList = missingRequired.map((p) => ` - ${p}`).join('\n');
268
+ throw new CustomStepResolutionError(step.name, `Missing required parameter(s) for custom step "${step.use}"`, `Add the following to your step:\n\n` +
269
+ `- name: ${step.name}\n` +
270
+ ` use: ${step.use}\n` +
271
+ missingRequired.map((p) => ` ${p}: <value>`).join('\n'));
272
+ }
273
+ // Determine step type
274
+ const stepType = customDef.type ?? (customDef.command ? 'deterministic' : 'worktree');
275
+ // Interpolate parameter values into the definition
276
+ const interpolate = (value) => {
277
+ if (!value)
278
+ return value;
279
+ return value.replace(/\{\{(\w+)\}\}/g, (match, paramName) => {
280
+ return paramValues[paramName] ?? match;
281
+ });
282
+ };
283
+ // Build resolved step
284
+ const resolvedStep = {
285
+ name: step.name,
286
+ type: stepType,
287
+ dependsOn: step.dependsOn,
288
+ timeoutMs: step.timeoutMs ?? customDef.timeoutMs,
289
+ };
290
+ if (stepType === 'deterministic') {
291
+ resolvedStep.command = interpolate(customDef.command);
292
+ resolvedStep.failOnError = customDef.failOnError;
293
+ resolvedStep.captureOutput = customDef.captureOutput;
294
+ }
295
+ else if (stepType === 'worktree') {
296
+ resolvedStep.branch = interpolate(customDef.branch);
297
+ resolvedStep.baseBranch = interpolate(customDef.baseBranch);
298
+ resolvedStep.path = interpolate(customDef.path);
299
+ resolvedStep.createBranch = customDef.createBranch;
300
+ }
301
+ return resolvedStep;
302
+ }
303
+ /**
304
+ * Resolve all custom steps in a workflow's steps array.
305
+ */
306
+ export function resolveAllCustomSteps(steps, customSteps) {
307
+ return steps.map((step) => resolveCustomStep(step, customSteps));
308
+ }
309
+ /**
310
+ * Check if .relay/steps.yaml exists.
311
+ */
312
+ export function customStepsFileExists(cwd) {
313
+ return existsSync(path.join(cwd, CUSTOM_STEPS_FILE));
314
+ }
315
+ /**
316
+ * Get the full path to the custom steps file.
317
+ */
318
+ export function getCustomStepsPath(cwd) {
319
+ return path.join(cwd, CUSTOM_STEPS_FILE);
320
+ }
321
+ //# sourceMappingURL=custom-steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-steps.js","sourceRoot":"","sources":["../src/custom-steps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAG1C,uDAAuD;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAerD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEjD,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAsB,CAAC;QAEvD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,qBAAqB,CAC7B,qBAAqB,EACrB,8DAA8D,EAC9D,SAAS,CACV,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,qBAAqB,CAC7B,qBAAqB,EACrB,mEAAmE;gBACnE,UAAU;gBACV,cAAc;gBACd,2BAA2B,EAC3B,SAAS,CACV,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,qBAAqB,CAC7B,wBAAwB,EACxB,oFAAoF,EACpF,SAAS,CACV,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAC1D,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;YACzC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,qBAAqB,CAC7B,sBAAsB,EACtB,OAAO,EACP,SAAS,CACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAE5B;IACA;IACA;IAHlB,YACkB,KAAa,EACb,UAAkB,EAClB,QAAgB;QAEhC,KAAK,CAAC,GAAG,QAAQ,KAAK,KAAK,OAAO,UAAU,EAAE,CAAC,CAAC;QAJhC,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAAQ;QAClB,aAAQ,GAAR,QAAQ,CAAQ;QAGhC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAEhC;IACA;IACA;IAHlB,YACkB,QAAgB,EAChB,KAAa,EACb,UAAkB;QAElC,KAAK,CAAC,SAAS,QAAQ,MAAM,KAAK,OAAO,UAAU,EAAE,CAAC,CAAC;QAJvC,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAAQ;QAGlC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,IAAY,EACZ,GAAY,EACZ,QAAgB;IAEhB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,qBAAqB,CAC7B,iBAAiB,IAAI,GAAG,EACxB,8EAA8E;YAC9E,UAAU;YACV,KAAK,IAAI,KAAK;YACd,kCAAkC,EAClC,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,GAA8B,CAAC;IAE/C,6BAA6B;IAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpE,MAAM,IAAI,qBAAqB,CAC7B,iBAAiB,OAAO,CAAC,IAAI,eAAe,IAAI,GAAG,EACnD,wDAAwD,EACxD,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,IAA0B,CAAC;IACxD,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAErG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,qBAAqB,CAC7B,SAAS,IAAI,8BAA8B,EAC3C,uEAAuE;YACvE,yBAAyB;YACzB,KAAK,IAAI,KAAK;YACd,2CAA2C;YAC3C,oBAAoB;YACpB,KAAK,IAAI,KAAK;YACd,sBAAsB;YACtB,+BAA+B,EAC/B,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,IAAI,wBAAwB,EACnD,0BAA0B;YAC1B,KAAK,IAAI,KAAK;YACd,mCAAmC,EACnC,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,IAAI,uBAAuB,EAC7C,yBAAyB;YACzB,KAAK,IAAI,KAAK;YACd,sBAAsB;YACtB,uCAAuC,EACvC,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,qBAAqB,CAC7B,4BAA4B,IAAI,GAAG,EACnC,8BAA8B;gBAC9B,KAAK,IAAI,KAAK;gBACd,eAAe;gBACf,yBAAyB;gBACzB,0BAA0B;gBAC1B,+BAA+B;gBAC/B,0BAA0B,EAC1B,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAA4B,CAAC;YAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,qBAAqB,CAC7B,0BAA0B,CAAC,cAAc,IAAI,GAAG,EAChD,2DAA2D,EAC3D,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,IAAI,qBAAqB,CAC7B,kBAAkB,CAAC,cAAc,IAAI,qBAAqB,EAC1D,kCAAkC;oBAClC,eAAe;oBACf,uBAAuB,EACvB,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACxE,MAAM,IAAI,qBAAqB,CAC7B,uCAAuC,KAAK,CAAC,IAAI,cAAc,IAAI,GAAG,EACtE,4CAA4C,EAC5C,QAAQ,CACT,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACnD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAqB,EACrB,WAA8C;IAE9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,aAAa,GAAwD,EAAE,CAAC;IAC9E,MAAM,mBAAmB,GAA8C,EAAE,CAAC;IAE1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,SAAS;QAExB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CACT,SAAS,IAAI,CAAC,IAAI,iCAAiC,IAAI,CAAC,GAAG,KAAK;gBAChE,iDAAiD,CAClD,CAAC;YACF,SAAS;QACX,CAAC;QAED,4BAA4B;QAC5B,MAAM,OAAO,GAAG,IAA0C,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QAEzC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACvC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;qBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC1B,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1E,MAAM,CAAC,IAAI,CACT,SAAS,IAAI,CAAC,IAAI,oCAAoC,KAAK,CAAC,IAAI,sBAAsB,IAAI,CAAC,GAAG,IAAI,CACnG,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,6CAA6C;gBAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxD,QAAQ,CAAC,IAAI,CACX,SAAS,IAAI,CAAC,IAAI,kBAAkB,QAAQ,uBAAuB,IAAI,CAAC,GAAG,IAAI;wBAC/E,6DAA6D,CAC9D,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC9D,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CACX,SAAS,IAAI,CAAC,IAAI,iBAAiB,GAAG,oCAAoC,IAAI,CAAC,GAAG,wBAAwB,CAC3G,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAkB,EAClB,WAA8C;IAE9C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,yBAAyB,CACjC,IAAI,CAAC,IAAI,EACT,gBAAgB,IAAI,CAAC,GAAG,aAAa,EACrC,cAAc,IAAI,CAAC,GAAG,wCAAwC;YAC9D,UAAU;YACV,KAAK,IAAI,CAAC,GAAG,KAAK;YAClB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,+FAA+F;QAC/F,MAAM,OAAO,GAAG,IAA0C,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrC,kCAAkC;YAClC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACvC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1C,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,IAAI,yBAAyB,CACjC,IAAI,CAAC,IAAI,EACT,kDAAkD,IAAI,CAAC,GAAG,GAAG,EAC7D,qCAAqC;YACrC,WAAW,IAAI,CAAC,IAAI,IAAI;YACxB,UAAU,IAAI,CAAC,GAAG,IAAI;YACtB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAEtF,mDAAmD;IACnD,MAAM,WAAW,GAAG,CAAC,KAAyB,EAAsB,EAAE;QACpE,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC1D,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,sBAAsB;IACtB,MAAM,YAAY,GAAiB;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,QAAwC;QAC9C,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS;KACjD,CAAC;IAEF,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtD,YAAY,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACjD,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;IACvD,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpD,YAAY,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5D,YAAY,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,YAAY,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IACrD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAqB,EACrB,WAA8C;IAE9C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { WorkflowEventListener } from './runner.js';
2
+ export type LogLevel = 'verbose' | 'normal' | 'quiet' | false;
3
+ /**
4
+ * Create a default event logger that writes workflow progress to the console.
5
+ *
6
+ * @param level - Log verbosity: "verbose" | "normal" (default) | "quiet" | false (no-op)
7
+ */
8
+ export declare function createDefaultEventLogger(level?: LogLevel): WorkflowEventListener;
9
+ //# sourceMappingURL=default-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-logger.d.ts","sourceRoot":"","sources":["../src/default-logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAI9D;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,GAAE,QAAmB,GAAG,qBAAqB,CA2G1F"}
@@ -0,0 +1,104 @@
1
+ import chalk from 'chalk';
2
+ const noop = () => { };
3
+ /**
4
+ * Create a default event logger that writes workflow progress to the console.
5
+ *
6
+ * @param level - Log verbosity: "verbose" | "normal" (default) | "quiet" | false (no-op)
7
+ */
8
+ export function createDefaultEventLogger(level = 'normal') {
9
+ if (level === false)
10
+ return noop;
11
+ return (event) => {
12
+ switch (event.type) {
13
+ // ── Run lifecycle ──
14
+ case 'run:started':
15
+ if (level !== 'quiet') {
16
+ console.log(chalk.cyan(`[workflow] run ${event.runId}`));
17
+ }
18
+ break;
19
+ case 'run:completed':
20
+ console.log(chalk.green(`[workflow] completed`));
21
+ break;
22
+ case 'run:failed':
23
+ console.log(chalk.red(`[workflow] FAILED: ${event.error}`));
24
+ break;
25
+ case 'run:cancelled':
26
+ if (level !== 'quiet') {
27
+ console.log(chalk.yellow(`[workflow] cancelled`));
28
+ }
29
+ break;
30
+ // ── Step lifecycle ──
31
+ case 'step:started':
32
+ if (level !== 'quiet') {
33
+ console.log(chalk.blue(` ● ${event.stepName} — started`));
34
+ }
35
+ break;
36
+ case 'step:completed':
37
+ if (level !== 'quiet') {
38
+ console.log(chalk.green(` ✓ ${event.stepName} — completed`));
39
+ }
40
+ break;
41
+ case 'step:failed':
42
+ console.log(chalk.red(` ✗ ${event.stepName} — FAILED: ${event.error}`));
43
+ break;
44
+ case 'step:skipped':
45
+ if (level !== 'quiet') {
46
+ console.log(chalk.gray(` ○ ${event.stepName} — skipped`));
47
+ }
48
+ break;
49
+ case 'step:retrying':
50
+ if (level !== 'quiet') {
51
+ console.log(chalk.yellow(` ↻ ${event.stepName} — retrying (attempt ${event.attempt})`));
52
+ }
53
+ break;
54
+ case 'step:nudged':
55
+ if (level !== 'quiet') {
56
+ console.log(chalk.yellow(` ⚡ ${event.stepName} — nudged (${event.nudgeCount})`));
57
+ }
58
+ break;
59
+ case 'step:agent-report': {
60
+ if (level !== 'quiet') {
61
+ const r = event.report;
62
+ const parts = [];
63
+ if (r.model)
64
+ parts.push(r.model);
65
+ if (r.cost != null)
66
+ parts.push(`$${r.cost.toFixed(2)}`);
67
+ if (r.tokens)
68
+ parts.push(`${r.tokens.input}+${r.tokens.output} tokens`);
69
+ parts.push(`${r.errors.length} errors`);
70
+ console.log(chalk.dim(` 📊 ${event.stepName} — ${parts.join(' · ')}`));
71
+ }
72
+ break;
73
+ }
74
+ // ── Broker-level events (verbose only) ──
75
+ case 'broker:event':
76
+ if (level === 'verbose') {
77
+ console.log(chalk.dim(` [broker] ${JSON.stringify(event.event)}`));
78
+ }
79
+ break;
80
+ // ── Other events (verbose only) ──
81
+ case 'step:owner-assigned':
82
+ if (level === 'verbose') {
83
+ console.log(chalk.dim(` ${event.stepName} — owner: ${event.ownerName}, specialist: ${event.specialistName}`));
84
+ }
85
+ break;
86
+ case 'step:review-completed':
87
+ if (level === 'verbose') {
88
+ console.log(chalk.dim(` ${event.stepName} — review: ${event.decision} by ${event.reviewerName}`));
89
+ }
90
+ break;
91
+ case 'step:owner-timeout':
92
+ if (level !== 'quiet') {
93
+ console.log(chalk.yellow(` ⏱ ${event.stepName} — owner timeout (${event.ownerName})`));
94
+ }
95
+ break;
96
+ case 'step:force-released':
97
+ if (level === 'verbose') {
98
+ console.log(chalk.dim(` ${event.stepName} — force-released`));
99
+ }
100
+ break;
101
+ }
102
+ };
103
+ }
104
+ //# sourceMappingURL=default-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../src/default-logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { DryRunReport } from './types.js';
2
+ /**
3
+ * Format a DryRunReport as human-readable text for terminal output.
4
+ */
5
+ export declare function formatDryRunReport(report: DryRunReport): string;
6
+ //# sourceMappingURL=dry-run-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dry-run-format.d.ts","sourceRoot":"","sources":["../src/dry-run-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAkF/D"}