@renseiai/agentfactory 0.8.12 → 0.8.13

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 (101) hide show
  1. package/dist/src/config/repository-config.d.ts +24 -0
  2. package/dist/src/config/repository-config.d.ts.map +1 -1
  3. package/dist/src/config/repository-config.js +21 -0
  4. package/dist/src/config/repository-config.test.js +202 -0
  5. package/dist/src/governor/decision-engine.d.ts +2 -0
  6. package/dist/src/governor/decision-engine.d.ts.map +1 -1
  7. package/dist/src/governor/decision-engine.js +7 -0
  8. package/dist/src/governor/decision-engine.test.js +63 -0
  9. package/dist/src/governor/governor-types.d.ts +2 -1
  10. package/dist/src/governor/governor-types.d.ts.map +1 -1
  11. package/dist/src/index.d.ts +1 -0
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +1 -0
  14. package/dist/src/merge-queue/conflict-resolver.d.ts +62 -0
  15. package/dist/src/merge-queue/conflict-resolver.d.ts.map +1 -0
  16. package/dist/src/merge-queue/conflict-resolver.js +168 -0
  17. package/dist/src/merge-queue/conflict-resolver.test.d.ts +2 -0
  18. package/dist/src/merge-queue/conflict-resolver.test.d.ts.map +1 -0
  19. package/dist/src/merge-queue/conflict-resolver.test.js +405 -0
  20. package/dist/src/merge-queue/lock-file-regeneration.d.ts +14 -0
  21. package/dist/src/merge-queue/lock-file-regeneration.d.ts.map +1 -0
  22. package/dist/src/merge-queue/lock-file-regeneration.js +82 -0
  23. package/dist/src/merge-queue/lock-file-regeneration.test.d.ts +2 -0
  24. package/dist/src/merge-queue/lock-file-regeneration.test.d.ts.map +1 -0
  25. package/dist/src/merge-queue/lock-file-regeneration.test.js +236 -0
  26. package/dist/src/merge-queue/merge-worker.d.ts +79 -0
  27. package/dist/src/merge-queue/merge-worker.d.ts.map +1 -0
  28. package/dist/src/merge-queue/merge-worker.js +221 -0
  29. package/dist/src/merge-queue/merge-worker.test.d.ts +2 -0
  30. package/dist/src/merge-queue/merge-worker.test.d.ts.map +1 -0
  31. package/dist/src/merge-queue/merge-worker.test.js +883 -0
  32. package/dist/src/merge-queue/strategies/index.d.ts +19 -0
  33. package/dist/src/merge-queue/strategies/index.d.ts.map +1 -0
  34. package/dist/src/merge-queue/strategies/index.js +30 -0
  35. package/dist/src/merge-queue/strategies/merge-commit-strategy.d.ts +14 -0
  36. package/dist/src/merge-queue/strategies/merge-commit-strategy.d.ts.map +1 -0
  37. package/dist/src/merge-queue/strategies/merge-commit-strategy.js +58 -0
  38. package/dist/src/merge-queue/strategies/rebase-strategy.d.ts +14 -0
  39. package/dist/src/merge-queue/strategies/rebase-strategy.d.ts.map +1 -0
  40. package/dist/src/merge-queue/strategies/rebase-strategy.js +62 -0
  41. package/dist/src/merge-queue/strategies/squash-strategy.d.ts +14 -0
  42. package/dist/src/merge-queue/strategies/squash-strategy.d.ts.map +1 -0
  43. package/dist/src/merge-queue/strategies/squash-strategy.js +59 -0
  44. package/dist/src/merge-queue/strategies/strategies.test.d.ts +2 -0
  45. package/dist/src/merge-queue/strategies/strategies.test.d.ts.map +1 -0
  46. package/dist/src/merge-queue/strategies/strategies.test.js +354 -0
  47. package/dist/src/merge-queue/strategies/types.d.ts +62 -0
  48. package/dist/src/merge-queue/strategies/types.d.ts.map +1 -0
  49. package/dist/src/merge-queue/strategies/types.js +7 -0
  50. package/dist/src/orchestrator/parse-work-result.d.ts.map +1 -1
  51. package/dist/src/orchestrator/parse-work-result.js +22 -0
  52. package/dist/src/orchestrator/parse-work-result.test.js +49 -0
  53. package/dist/src/providers/index.d.ts +1 -0
  54. package/dist/src/providers/index.d.ts.map +1 -1
  55. package/dist/src/providers/plugin-types.d.ts +177 -0
  56. package/dist/src/providers/plugin-types.d.ts.map +1 -0
  57. package/dist/src/providers/plugin-types.js +10 -0
  58. package/dist/src/providers/plugin-types.test.d.ts +2 -0
  59. package/dist/src/providers/plugin-types.test.d.ts.map +1 -0
  60. package/dist/src/providers/plugin-types.test.js +810 -0
  61. package/dist/src/registry/index.d.ts +4 -0
  62. package/dist/src/registry/index.d.ts.map +1 -0
  63. package/dist/src/registry/index.js +2 -0
  64. package/dist/src/registry/loader.d.ts +25 -0
  65. package/dist/src/registry/loader.d.ts.map +1 -0
  66. package/dist/src/registry/loader.js +88 -0
  67. package/dist/src/registry/node-type-registry.d.ts +52 -0
  68. package/dist/src/registry/node-type-registry.d.ts.map +1 -0
  69. package/dist/src/registry/node-type-registry.js +130 -0
  70. package/dist/src/registry/types.d.ts +65 -0
  71. package/dist/src/registry/types.d.ts.map +1 -0
  72. package/dist/src/registry/types.js +10 -0
  73. package/dist/src/workflow/expression/ast.d.ts +1 -1
  74. package/dist/src/workflow/expression/ast.d.ts.map +1 -1
  75. package/dist/src/workflow/expression/context.d.ts +4 -0
  76. package/dist/src/workflow/expression/context.d.ts.map +1 -1
  77. package/dist/src/workflow/expression/context.js +5 -1
  78. package/dist/src/workflow/expression/evaluator.d.ts.map +1 -1
  79. package/dist/src/workflow/expression/evaluator.js +24 -1
  80. package/dist/src/workflow/expression/evaluator.test.js +174 -0
  81. package/dist/src/workflow/expression/expression.test.js +140 -1
  82. package/dist/src/workflow/expression/helpers.d.ts +4 -0
  83. package/dist/src/workflow/expression/helpers.d.ts.map +1 -1
  84. package/dist/src/workflow/expression/helpers.js +51 -0
  85. package/dist/src/workflow/expression/index.d.ts +14 -0
  86. package/dist/src/workflow/expression/index.d.ts.map +1 -1
  87. package/dist/src/workflow/expression/index.js +28 -1
  88. package/dist/src/workflow/expression/lexer.d.ts.map +1 -1
  89. package/dist/src/workflow/expression/lexer.js +43 -0
  90. package/dist/src/workflow/expression/parser.js +1 -1
  91. package/dist/src/workflow/index.d.ts +3 -3
  92. package/dist/src/workflow/index.d.ts.map +1 -1
  93. package/dist/src/workflow/index.js +4 -2
  94. package/dist/src/workflow/workflow-loader.d.ts +8 -2
  95. package/dist/src/workflow/workflow-loader.d.ts.map +1 -1
  96. package/dist/src/workflow/workflow-loader.js +21 -2
  97. package/dist/src/workflow/workflow-types.d.ts +781 -12
  98. package/dist/src/workflow/workflow-types.d.ts.map +1 -1
  99. package/dist/src/workflow/workflow-types.js +248 -3
  100. package/dist/src/workflow/workflow-types.test.js +621 -1
  101. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-types.d.ts","sourceRoot":"","sources":["../../../src/workflow/workflow-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-types.d.ts","sourceRoot":"","sources":["../../../src/workflow/workflow-types.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,11 @@
6
6
  * escalation ladder, gates, and parallelism — in YAML rather than hard-coded
7
7
  * TypeScript.
8
8
  *
9
- * This is an additive v1.1 schema extension. Existing v1 WorkflowTemplate
10
- * and PartialTemplate documents remain valid and unchanged.
9
+ * Supports two schema versions:
10
+ * - **v1.1**: Phase-based workflow with template bindings, transitions, escalation
11
+ * - **v2**: Event-driven workflow with triggers, providers, config, and multi-step nodes
12
+ *
13
+ * Use {@link AnyWorkflowDefinition} for consumers that handle both versions.
11
14
  */
12
15
  import { z } from 'zod';
13
16
  // ---------------------------------------------------------------------------
@@ -105,10 +108,74 @@ export const WorkflowDefinitionSchema = z.object({
105
108
  branching: z.array(BranchingDefinitionSchema).optional(),
106
109
  });
107
110
  // ---------------------------------------------------------------------------
111
+ // v2 Zod Schemas
112
+ // ---------------------------------------------------------------------------
113
+ export const WorkflowTriggerDefinitionSchema = z.object({
114
+ name: z.string().min(1),
115
+ type: z.enum(['webhook', 'schedule', 'manual']),
116
+ source: z.string().optional(),
117
+ event: z.string().optional(),
118
+ filter: z.record(z.string(), z.unknown()).optional(),
119
+ schedule: z.string().optional(),
120
+ });
121
+ export const ProviderRequirementSchema = z.object({
122
+ name: z.string().min(1),
123
+ type: z.string().min(1),
124
+ config: z.record(z.string(), z.unknown()).optional(),
125
+ });
126
+ export const WorkflowConfigSchema = z.object({
127
+ projectMapping: z.record(z.string(), z.string()).optional(),
128
+ }).passthrough();
129
+ export const StepDefinitionSchema = z.object({
130
+ id: z.string().min(1),
131
+ action: z.string().min(1),
132
+ with: z.record(z.string(), z.unknown()).optional(),
133
+ when: z.string().optional(),
134
+ output: z.record(z.string(), PhaseOutputDeclarationSchema).optional(),
135
+ });
136
+ export const NodeDefinitionSchema = z.object({
137
+ name: z.string().min(1),
138
+ description: z.string().optional(),
139
+ provider: z.string().optional(),
140
+ template: z.string().optional(),
141
+ steps: z.array(StepDefinitionSchema).optional(),
142
+ when: z.string().optional(),
143
+ retry: TemplateRetryConfigSchema.optional(),
144
+ timeout: TemplateTimeoutConfigSchema.optional(),
145
+ inputs: z.record(z.string(), PhaseInputDeclarationSchema).optional(),
146
+ outputs: z.record(z.string(), PhaseOutputDeclarationSchema).optional(),
147
+ });
148
+ export const WorkflowDefinitionV2Schema = z.object({
149
+ apiVersion: z.literal('v2'),
150
+ kind: z.literal('WorkflowDefinition'),
151
+ metadata: z.object({
152
+ name: z.string().min(1),
153
+ description: z.string().optional(),
154
+ }),
155
+ triggers: z.array(WorkflowTriggerDefinitionSchema).optional(),
156
+ providers: z.array(ProviderRequirementSchema).optional(),
157
+ config: WorkflowConfigSchema.optional(),
158
+ nodes: z.array(NodeDefinitionSchema).optional(),
159
+ phases: z.array(PhaseDefinitionSchema).optional(),
160
+ transitions: z.array(TransitionDefinitionSchema).optional(),
161
+ escalation: EscalationConfigSchema.optional(),
162
+ gates: z.array(GateDefinitionSchema).optional(),
163
+ parallelism: z.array(ParallelismGroupDefinitionSchema).optional(),
164
+ branching: z.array(BranchingDefinitionSchema).optional(),
165
+ });
166
+ /**
167
+ * Discriminated union schema that accepts both v1.1 and v2 workflow definitions.
168
+ * Dispatches to the correct schema based on the `apiVersion` field.
169
+ */
170
+ export const AnyWorkflowDefinitionSchema = z.discriminatedUnion('apiVersion', [
171
+ WorkflowDefinitionSchema,
172
+ WorkflowDefinitionV2Schema,
173
+ ]);
174
+ // ---------------------------------------------------------------------------
108
175
  // Validation Helpers
109
176
  // ---------------------------------------------------------------------------
110
177
  /**
111
- * Validate a parsed YAML object as a WorkflowDefinition.
178
+ * Validate a parsed YAML object as a WorkflowDefinition (v1.1).
112
179
  * Throws ZodError with detailed messages on failure.
113
180
  *
114
181
  * After Zod schema validation succeeds, performs cross-validation to ensure:
@@ -130,6 +197,184 @@ export function validateWorkflowDefinition(data, filePath) {
130
197
  throw error;
131
198
  }
132
199
  }
200
+ /**
201
+ * Validate a parsed YAML object as either a v1.1 or v2 WorkflowDefinition.
202
+ * Uses the `apiVersion` field to dispatch to the correct schema.
203
+ * Throws on invalid schema or cross-validation failure.
204
+ */
205
+ export function validateAnyWorkflowDefinition(data, filePath) {
206
+ try {
207
+ const workflow = AnyWorkflowDefinitionSchema.parse(data);
208
+ if (workflow.apiVersion === 'v1.1') {
209
+ crossValidateWorkflow(workflow, filePath);
210
+ }
211
+ else {
212
+ crossValidateWorkflowV2(workflow, filePath);
213
+ }
214
+ return workflow;
215
+ }
216
+ catch (error) {
217
+ if (filePath && error instanceof z.ZodError) {
218
+ throw new Error(`Invalid workflow definition at ${filePath}: ${error.message}`, { cause: error });
219
+ }
220
+ throw error;
221
+ }
222
+ }
223
+ /**
224
+ * Perform cross-validation for v2 workflow definitions.
225
+ * Validates referential integrity for triggers, providers, nodes, and steps.
226
+ *
227
+ * Checks:
228
+ * - Node names must be unique
229
+ * - node.provider must reference a declared provider name
230
+ * - Step IDs must be unique within a node
231
+ * - {{ steps.<id>.output.<key> }} references must point to valid step IDs within the same node
232
+ * - {{ trigger.* }} references require at least one trigger to be declared
233
+ * - config.projectMapping values must be non-empty strings
234
+ * - when expressions must have balanced {{ }} brackets
235
+ */
236
+ export function crossValidateWorkflowV2(workflow, filePath) {
237
+ const loc = filePath ? ` in ${filePath}` : '';
238
+ const providerNames = new Set((workflow.providers ?? []).map(p => p.name));
239
+ const hasTriggers = (workflow.triggers ?? []).length > 0;
240
+ // --- Node name uniqueness ---
241
+ const nodeNames = new Set();
242
+ for (const node of workflow.nodes ?? []) {
243
+ if (nodeNames.has(node.name)) {
244
+ throw new Error(`Duplicate node name "${node.name}"${loc}`);
245
+ }
246
+ nodeNames.add(node.name);
247
+ }
248
+ // --- Per-node validation ---
249
+ for (const node of workflow.nodes ?? []) {
250
+ // Provider reference validation
251
+ if (node.provider && !providerNames.has(node.provider)) {
252
+ throw new Error(`Node "${node.name}" references undefined provider "${node.provider}"${loc}`);
253
+ }
254
+ // Step ID uniqueness within node
255
+ const stepIds = new Set();
256
+ for (const step of node.steps ?? []) {
257
+ if (stepIds.has(step.id)) {
258
+ throw new Error(`Node "${node.name}" has duplicate step ID "${step.id}"${loc}`);
259
+ }
260
+ stepIds.add(step.id);
261
+ }
262
+ // Step output reference validation: {{ steps.<id>.output.<key> }} in with params
263
+ for (const step of node.steps ?? []) {
264
+ const refs = extractStepReferences(step.with);
265
+ for (const refId of refs) {
266
+ if (!stepIds.has(refId)) {
267
+ throw new Error(`Node "${node.name}" step "${step.id}" references undefined step "${refId}"${loc}`);
268
+ }
269
+ }
270
+ // Check when condition for step references too
271
+ if (step.when) {
272
+ const whenRefs = extractStepReferencesFromString(step.when);
273
+ for (const refId of whenRefs) {
274
+ if (!stepIds.has(refId)) {
275
+ throw new Error(`Node "${node.name}" step "${step.id}" references undefined step "${refId}"${loc}`);
276
+ }
277
+ }
278
+ }
279
+ }
280
+ // Trigger reference validation: {{ trigger.* }} requires at least one trigger
281
+ if (!hasTriggers) {
282
+ const usesTriggerRef = nodeUsesTriggerReferences(node);
283
+ if (usesTriggerRef) {
284
+ throw new Error(`Node "${node.name}" uses trigger references but no triggers are declared${loc}`);
285
+ }
286
+ }
287
+ // When condition syntax check (basic {{ }} bracket matching)
288
+ if (node.when) {
289
+ validateBracketSyntax(node.when, `Node "${node.name}" when condition`, loc);
290
+ }
291
+ for (const step of node.steps ?? []) {
292
+ if (step.when) {
293
+ validateBracketSyntax(step.when, `Node "${node.name}" step "${step.id}" when condition`, loc);
294
+ }
295
+ }
296
+ }
297
+ // --- Config validation ---
298
+ if (workflow.config?.projectMapping) {
299
+ for (const [key, value] of Object.entries(workflow.config.projectMapping)) {
300
+ if (!value || value.trim() === '') {
301
+ throw new Error(`config.projectMapping["${key}"] has empty value${loc}`);
302
+ }
303
+ }
304
+ }
305
+ // --- v1.1 compat: validate phases/parallelism if present ---
306
+ if (workflow.phases && workflow.parallelism) {
307
+ const phaseNames = new Set(workflow.phases.map(p => p.name));
308
+ for (const group of workflow.parallelism) {
309
+ for (const phaseName of group.phases) {
310
+ if (!phaseNames.has(phaseName)) {
311
+ throw new Error(`Parallelism group "${group.name}" references undefined phase "${phaseName}"${loc}`);
312
+ }
313
+ }
314
+ if (group.maxConcurrent && group.maxConcurrent > 10) {
315
+ console.warn(`[workflow] Parallelism group "${group.name}" has maxConcurrent=${group.maxConcurrent} which may be excessive`);
316
+ }
317
+ }
318
+ }
319
+ }
320
+ /**
321
+ * Extract step ID references from {{ steps.<id>.output.<key> }} patterns
322
+ * in a record of parameters (the `with` block).
323
+ */
324
+ function extractStepReferences(params) {
325
+ const refs = new Set();
326
+ if (!params)
327
+ return refs;
328
+ for (const value of Object.values(params)) {
329
+ if (typeof value === 'string') {
330
+ for (const ref of extractStepReferencesFromString(value)) {
331
+ refs.add(ref);
332
+ }
333
+ }
334
+ }
335
+ return refs;
336
+ }
337
+ /**
338
+ * Extract step ID references from {{ steps.<id>.* }} patterns in a string.
339
+ */
340
+ function extractStepReferencesFromString(str) {
341
+ const refs = new Set();
342
+ const pattern = /\{\{\s*steps\.([a-zA-Z0-9_-]+)\./g;
343
+ let match;
344
+ while ((match = pattern.exec(str)) !== null) {
345
+ refs.add(match[1]);
346
+ }
347
+ return refs;
348
+ }
349
+ /**
350
+ * Check if a node uses {{ trigger.* }} references in when conditions or step with params.
351
+ */
352
+ function nodeUsesTriggerReferences(node) {
353
+ const triggerPattern = /\{\{\s*trigger\./;
354
+ if (node.when && triggerPattern.test(node.when))
355
+ return true;
356
+ for (const step of node.steps ?? []) {
357
+ if (step.when && triggerPattern.test(step.when))
358
+ return true;
359
+ if (step.with) {
360
+ for (const value of Object.values(step.with)) {
361
+ if (typeof value === 'string' && triggerPattern.test(value))
362
+ return true;
363
+ }
364
+ }
365
+ }
366
+ return false;
367
+ }
368
+ /**
369
+ * Validate that {{ }} brackets are balanced in an expression string.
370
+ */
371
+ function validateBracketSyntax(expr, context, loc) {
372
+ const opens = (expr.match(/\{\{/g) ?? []).length;
373
+ const closes = (expr.match(/\}\}/g) ?? []).length;
374
+ if (opens !== closes) {
375
+ throw new Error(`${context} has unbalanced brackets: ${opens} opening vs ${closes} closing${loc}`);
376
+ }
377
+ }
133
378
  /**
134
379
  * Perform cross-validation checks that go beyond what Zod schema can enforce.
135
380
  * Validates referential integrity between phases, parallelism groups, and input/output declarations.