@tagma/sdk 0.7.35 → 0.7.37

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/workflow.js CHANGED
@@ -2,11 +2,22 @@ import yaml from 'js-yaml';
2
2
  import { readFileSync } from 'node:fs';
3
3
  import { isAbsolute, resolve } from 'node:path';
4
4
  import { generateRunId, isValidTaskId, runPipeline, validatePath, } from '@tagma/core';
5
- import { PipelineValidationError, loadPipeline } from './schema';
5
+ import { PipelineValidationError, loadPipeline, validateConfigDiagnostics } from './schema';
6
6
  const VALID_FAILURE_POLICIES = new Set([
7
7
  'stop_all',
8
8
  'continue_independent',
9
9
  ]);
10
+ const VALID_WORKFLOW_KINDS = new Set(['workflow', 'graph']);
11
+ const VALID_PIPELINE_STOP_WHEN = new Set([
12
+ 'success',
13
+ 'failure',
14
+ 'always',
15
+ ]);
16
+ const WORKFLOW_YAML_DUMP_OPTIONS = {
17
+ lineWidth: 120,
18
+ indent: 2,
19
+ noCompatMode: true,
20
+ };
10
21
  export class WorkflowValidationError extends PipelineValidationError {
11
22
  constructor(diagnostics) {
12
23
  super(diagnostics);
@@ -34,10 +45,11 @@ export function parseWorkflowYaml(content) {
34
45
  return workflow;
35
46
  }
36
47
  export function serializeWorkflow(config) {
37
- return yaml.dump({ workflow: stripLoadedPipelines(config) }, { lineWidth: 120, indent: 2 });
48
+ return yaml.dump({ workflow: stripLoadedPipelines(config) }, WORKFLOW_YAML_DUMP_OPTIONS);
38
49
  }
39
50
  function stripLoadedPipelines(config) {
40
51
  return {
52
+ kind: config.kind ?? 'graph',
41
53
  name: config.name,
42
54
  ...(config.max_concurrency !== undefined ? { max_concurrency: config.max_concurrency } : {}),
43
55
  ...(config.failure_policy ? { failure_policy: config.failure_policy } : {}),
@@ -45,6 +57,8 @@ function stripLoadedPipelines(config) {
45
57
  id: pipeline.id,
46
58
  path: pipeline.path,
47
59
  ...(pipeline.depends_on?.length ? { depends_on: pipeline.depends_on } : {}),
60
+ ...(pipeline.position ? { position: pipeline.position } : {}),
61
+ ...(pipeline.lifecycle ? { lifecycle: stripDefaultLifecycle(pipeline.lifecycle) } : {}),
48
62
  })),
49
63
  };
50
64
  }
@@ -77,10 +91,13 @@ export async function loadWorkflow(content, workDir) {
77
91
  path: pipeline.path,
78
92
  cwd: workDir,
79
93
  depends_on: pipeline.depends_on,
94
+ position: pipeline.position,
95
+ lifecycle: pipeline.lifecycle,
80
96
  config,
81
97
  };
82
98
  }));
83
99
  return {
100
+ kind: raw.kind ?? 'graph',
84
101
  name: raw.name,
85
102
  max_concurrency: raw.max_concurrency,
86
103
  failure_policy: raw.failure_policy,
@@ -108,11 +125,13 @@ export class PipelineGraphRunner {
108
125
  this.workDir = workDir;
109
126
  this.options = options;
110
127
  const diagnostics = validatePipelineGraphConfig(config);
128
+ diagnostics.push(...validateGraphPipelineConfigs(config, workDir));
111
129
  if (diagnostics.length > 0)
112
130
  throw new WorkflowValidationError(diagnostics);
113
131
  this.graphRunId = generateRunId();
114
132
  this.order = topologicalPipelineOrder(config.pipelines);
115
133
  for (const pipeline of config.pipelines) {
134
+ const lifecycle = normalizePipelineLifecycle(pipeline.lifecycle);
116
135
  this.nodeConfigs.set(pipeline.id, pipeline);
117
136
  this.nodes.set(pipeline.id, {
118
137
  pipelineId: pipeline.id,
@@ -120,6 +139,9 @@ export class PipelineGraphRunner {
120
139
  dependsOn: [...(pipeline.depends_on ?? [])],
121
140
  status: 'waiting',
122
141
  runId: null,
142
+ runCount: 0,
143
+ maxRuns: lifecycle.max_runs ?? 1,
144
+ attempts: [],
123
145
  startedAt: null,
124
146
  finishedAt: null,
125
147
  error: null,
@@ -215,59 +237,121 @@ export class PipelineGraphRunner {
215
237
  }
216
238
  async runOnePipeline(pipelineId) {
217
239
  const pipeline = this.nodeConfigs.get(pipelineId);
218
- const controller = new AbortController();
219
- this.activeControllers.set(pipelineId, controller);
220
- this.updateNode(pipelineId, { status: 'running', startedAt: new Date().toISOString() });
240
+ const lifecycle = normalizePipelineLifecycle(pipeline.lifecycle);
241
+ const maxRuns = lifecycle.max_runs ?? 1;
242
+ const stopWhen = lifecycle.stop_when ?? 'success';
221
243
  const { signal: _graphSignal, onEvent: _graphOnEvent, ...pipelineOptions } = this.options;
222
- try {
223
- const result = await runPipeline(pipeline.config, pipeline.cwd ?? this.workDir, {
224
- ...pipelineOptions,
225
- signal: controller.signal,
226
- onEvent: (event) => {
227
- if (event.type === 'run_start') {
228
- this.updateNode(pipelineId, { runId: event.runId });
229
- }
230
- this.emit({
231
- type: 'pipeline_event',
232
- graphRunId: this.graphRunId,
233
- pipelineId,
234
- event,
235
- });
236
- },
237
- });
238
- const status = controller.signal.aborted
239
- ? 'aborted'
240
- : result.success
241
- ? 'success'
242
- : 'failed';
243
- this.updateNode(pipelineId, {
244
- status,
245
- result,
246
- finishedAt: new Date().toISOString(),
247
- error: status === 'failed' ? 'Pipeline failed' : null,
248
- });
249
- if (status === 'failed' && (this.config.failure_policy ?? 'stop_all') === 'stop_all') {
250
- this.stopAllForFailure();
244
+ for (let attempt = 1; attempt <= maxRuns; attempt++) {
245
+ if (this.aborted) {
246
+ const finishedAt = new Date().toISOString();
247
+ this.updateNode(pipelineId, {
248
+ status: 'aborted',
249
+ finishedAt,
250
+ error: 'Aborted before the next pipeline lifecycle attempt',
251
+ });
252
+ return;
251
253
  }
252
- }
253
- catch (err) {
254
- const status = controller.signal.aborted ? 'aborted' : 'failed';
255
- const error = errorMessage(err);
254
+ const controller = new AbortController();
255
+ this.activeControllers.set(pipelineId, controller);
256
+ const startedAt = new Date().toISOString();
256
257
  this.updateNode(pipelineId, {
257
- status,
258
- error,
259
- finishedAt: new Date().toISOString(),
258
+ status: 'running',
259
+ runId: null,
260
+ runCount: attempt,
261
+ maxRuns,
262
+ attempts: [
263
+ ...this.nodes.get(pipelineId).attempts,
264
+ { attempt, runId: null, status: 'running', startedAt, finishedAt: null, error: null },
265
+ ],
266
+ startedAt,
267
+ finishedAt: null,
268
+ error: null,
260
269
  });
261
- if (status === 'failed') {
262
- this.emit({ type: 'graph_error', graphRunId: this.graphRunId, error });
263
- if ((this.config.failure_policy ?? 'stop_all') === 'stop_all')
264
- this.stopAllForFailure();
270
+ try {
271
+ const result = await runPipeline(pipeline.config, pipeline.cwd ?? this.workDir, {
272
+ ...pipelineOptions,
273
+ signal: controller.signal,
274
+ onEvent: (event) => {
275
+ if (event.type === 'run_start') {
276
+ this.updateNode(pipelineId, {
277
+ runId: event.runId,
278
+ attempts: this.patchAttempt(pipelineId, attempt, { runId: event.runId }),
279
+ });
280
+ }
281
+ this.emit({
282
+ type: 'pipeline_event',
283
+ graphRunId: this.graphRunId,
284
+ pipelineId,
285
+ attempt,
286
+ event,
287
+ });
288
+ },
289
+ });
290
+ const status = controller.signal.aborted
291
+ ? 'aborted'
292
+ : result.success
293
+ ? 'success'
294
+ : 'failed';
295
+ const finishedAt = new Date().toISOString();
296
+ const error = status === 'failed' ? 'Pipeline failed' : null;
297
+ this.updateNode(pipelineId, {
298
+ result,
299
+ attempts: this.patchAttempt(pipelineId, attempt, { status, finishedAt, error }),
300
+ });
301
+ if (this.shouldFinishLifecycle(status, stopWhen, attempt, maxRuns)) {
302
+ this.updateNode(pipelineId, {
303
+ status,
304
+ result,
305
+ finishedAt,
306
+ error,
307
+ });
308
+ if (status === 'failed' && (this.config.failure_policy ?? 'stop_all') === 'stop_all') {
309
+ this.stopAllForFailure();
310
+ }
311
+ return;
312
+ }
313
+ }
314
+ catch (err) {
315
+ const status = controller.signal.aborted ? 'aborted' : 'failed';
316
+ const error = errorMessage(err);
317
+ const finishedAt = new Date().toISOString();
318
+ this.updateNode(pipelineId, {
319
+ attempts: this.patchAttempt(pipelineId, attempt, { status, finishedAt, error }),
320
+ });
321
+ if (this.shouldFinishLifecycle(status, stopWhen, attempt, maxRuns)) {
322
+ this.updateNode(pipelineId, {
323
+ status,
324
+ error,
325
+ finishedAt,
326
+ });
327
+ if (status === 'failed') {
328
+ this.emit({ type: 'graph_error', graphRunId: this.graphRunId, error });
329
+ if ((this.config.failure_policy ?? 'stop_all') === 'stop_all')
330
+ this.stopAllForFailure();
331
+ }
332
+ return;
333
+ }
334
+ }
335
+ finally {
336
+ this.activeControllers.delete(pipelineId);
265
337
  }
266
- }
267
- finally {
268
- this.activeControllers.delete(pipelineId);
269
338
  }
270
339
  }
340
+ shouldFinishLifecycle(status, stopWhen, attempt, maxRuns) {
341
+ if (status === 'aborted' || status === 'skipped')
342
+ return true;
343
+ if (stopWhen === 'always')
344
+ return attempt >= maxRuns;
345
+ if (stopWhen === 'success' && status === 'success')
346
+ return true;
347
+ if (stopWhen === 'failure' && status === 'failed')
348
+ return true;
349
+ return attempt >= maxRuns;
350
+ }
351
+ patchAttempt(pipelineId, attempt, patch) {
352
+ const state = this.nodes.get(pipelineId);
353
+ return state.attempts.map((entry) => entry.attempt === attempt ? { ...entry, ...patch } : entry);
354
+ }
271
355
  stopAllForFailure() {
272
356
  if (this.abortReason === null)
273
357
  this.abortReason = 'stop_all';
@@ -333,13 +417,19 @@ export class PipelineGraphRunner {
333
417
  pipelineId,
334
418
  status: state.status,
335
419
  runId: state.runId,
420
+ runCount: state.runCount,
421
+ maxRuns: state.maxRuns,
336
422
  startedAt: state.startedAt,
337
423
  finishedAt: state.finishedAt,
338
424
  error: state.error,
339
425
  });
340
426
  }
341
427
  snapshotNodes() {
342
- return [...this.nodes.values()].map(({ result: _result, ...state }) => ({ ...state }));
428
+ return [...this.nodes.values()].map(({ result: _result, ...state }) => ({
429
+ ...state,
430
+ dependsOn: [...state.dependsOn],
431
+ attempts: state.attempts.map((attempt) => ({ ...attempt })),
432
+ }));
343
433
  }
344
434
  snapshotResults() {
345
435
  return [...this.nodes.values()].map((state) => ({
@@ -348,6 +438,9 @@ export class PipelineGraphRunner {
348
438
  dependsOn: [...state.dependsOn],
349
439
  status: state.status,
350
440
  runId: state.runId,
441
+ runCount: state.runCount,
442
+ maxRuns: state.maxRuns,
443
+ attempts: state.attempts.map((attempt) => ({ ...attempt })),
351
444
  startedAt: state.startedAt,
352
445
  finishedAt: state.finishedAt,
353
446
  error: state.error,
@@ -384,11 +477,13 @@ export class PipelineGroup {
384
477
  cwd: options.cwd,
385
478
  path: options.path,
386
479
  depends_on: options.dependsOn,
480
+ lifecycle: options.lifecycle,
387
481
  });
388
482
  return this;
389
483
  }
390
484
  toConfig() {
391
485
  return {
486
+ kind: 'graph',
392
487
  name: this.options.name ?? 'pipeline-group',
393
488
  max_concurrency: this.options.maxConcurrency,
394
489
  failure_policy: this.options.failurePolicy,
@@ -417,7 +512,35 @@ function validatePipelineGraphConfig(config) {
417
512
  errors.push(...detectPipelineCycles(config.pipelines));
418
513
  return errors;
419
514
  }
515
+ function validateGraphPipelineConfigs(config, workDir) {
516
+ const errors = [];
517
+ if (!Array.isArray(config.pipelines))
518
+ return errors;
519
+ config.pipelines.forEach((pipeline, index) => {
520
+ const graphNode = pipeline;
521
+ if (!graphNode.config ||
522
+ typeof graphNode.config !== 'object' ||
523
+ Array.isArray(graphNode.config)) {
524
+ errors.push({
525
+ path: `pipelines[${index}].config`,
526
+ message: 'pipeline config is required',
527
+ });
528
+ return;
529
+ }
530
+ const pipelineWorkDir = typeof graphNode.cwd === 'string' && graphNode.cwd.length > 0 ? graphNode.cwd : workDir;
531
+ for (const diagnostic of validateConfigDiagnostics(graphNode.config, pipelineWorkDir)) {
532
+ errors.push({
533
+ path: `pipelines[${index}].config.${diagnostic.path}`,
534
+ message: diagnostic.message,
535
+ });
536
+ }
537
+ });
538
+ return errors;
539
+ }
420
540
  function validateGraphHeader(config, errors) {
541
+ if (config.kind !== undefined && !VALID_WORKFLOW_KINDS.has(config.kind)) {
542
+ errors.push({ path: 'kind', message: 'workflow.kind must be "workflow" or "graph"' });
543
+ }
421
544
  if (typeof config.name !== 'string' || config.name.trim().length === 0) {
422
545
  errors.push({ path: 'name', message: 'Workflow name is required' });
423
546
  }
@@ -455,13 +578,18 @@ function validatePipelineNodes(pipelines, errors, requirePath) {
455
578
  }
456
579
  if (requirePath)
457
580
  validateWorkflowPath(pipeline.path, path, errors);
581
+ validateWorkflowPosition(pipeline.position, path, errors);
582
+ validatePipelineLifecycle(pipeline.lifecycle, path, errors);
458
583
  });
459
584
  pipelines.forEach((pipeline, index) => {
460
585
  const deps = pipeline.depends_on;
461
586
  if (deps === undefined)
462
587
  return;
463
588
  if (!Array.isArray(deps)) {
464
- errors.push({ path: `pipelines[${index}].depends_on`, message: 'depends_on must be an array' });
589
+ errors.push({
590
+ path: `pipelines[${index}].depends_on`,
591
+ message: 'depends_on must be an array',
592
+ });
465
593
  return;
466
594
  }
467
595
  for (let di = 0; di < deps.length; di++) {
@@ -482,6 +610,59 @@ function validatePipelineNodes(pipelines, errors, requirePath) {
482
610
  }
483
611
  });
484
612
  }
613
+ function validateWorkflowPosition(value, basePath, errors) {
614
+ if (value === undefined)
615
+ return;
616
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
617
+ errors.push({ path: `${basePath}.position`, message: 'position must be an object' });
618
+ return;
619
+ }
620
+ const pos = value;
621
+ if (typeof pos.x !== 'number' ||
622
+ !Number.isFinite(pos.x) ||
623
+ typeof pos.y !== 'number' ||
624
+ !Number.isFinite(pos.y)) {
625
+ errors.push({
626
+ path: `${basePath}.position`,
627
+ message: 'position.x and position.y must be finite numbers',
628
+ });
629
+ }
630
+ }
631
+ function validatePipelineLifecycle(value, basePath, errors) {
632
+ if (value === undefined)
633
+ return;
634
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
635
+ errors.push({ path: `${basePath}.lifecycle`, message: 'lifecycle must be an object' });
636
+ return;
637
+ }
638
+ const lifecycle = value;
639
+ if (lifecycle.max_runs !== undefined &&
640
+ (!Number.isInteger(lifecycle.max_runs) || lifecycle.max_runs < 1)) {
641
+ errors.push({
642
+ path: `${basePath}.lifecycle.max_runs`,
643
+ message: 'lifecycle.max_runs must be a positive integer',
644
+ });
645
+ }
646
+ if (lifecycle.stop_when !== undefined &&
647
+ !VALID_PIPELINE_STOP_WHEN.has(lifecycle.stop_when)) {
648
+ errors.push({
649
+ path: `${basePath}.lifecycle.stop_when`,
650
+ message: 'lifecycle.stop_when must be "success", "failure", or "always"',
651
+ });
652
+ }
653
+ }
654
+ function normalizePipelineLifecycle(lifecycle) {
655
+ return {
656
+ max_runs: lifecycle?.max_runs ?? 1,
657
+ stop_when: lifecycle?.stop_when ?? 'success',
658
+ };
659
+ }
660
+ function stripDefaultLifecycle(lifecycle) {
661
+ return {
662
+ ...(lifecycle.max_runs !== undefined ? { max_runs: lifecycle.max_runs } : {}),
663
+ ...(lifecycle.stop_when !== undefined ? { stop_when: lifecycle.stop_when } : {}),
664
+ };
665
+ }
485
666
  function validateWorkflowPath(value, basePath, errors) {
486
667
  if (typeof value !== 'string' || value.trim().length === 0) {
487
668
  errors.push({ path: `${basePath}.path`, message: 'pipeline path must be a non-empty string' });
@@ -495,7 +676,10 @@ function validateWorkflowPath(value, basePath, errors) {
495
676
  });
496
677
  }
497
678
  if (!/\.ya?ml$/i.test(value)) {
498
- errors.push({ path: `${basePath}.path`, message: 'pipeline path must be a .yaml or .yml file' });
679
+ errors.push({
680
+ path: `${basePath}.path`,
681
+ message: 'pipeline path must be a .yaml or .yml file',
682
+ });
499
683
  }
500
684
  }
501
685
  function detectPipelineCycles(pipelines) {
@@ -577,7 +761,7 @@ function topologicalPipelineOrder(pipelines) {
577
761
  return sorted;
578
762
  }
579
763
  function isTerminal(status) {
580
- return status === 'success' || status === 'failed' || status === 'skipped' || status === 'aborted';
764
+ return (status === 'success' || status === 'failed' || status === 'skipped' || status === 'aborted');
581
765
  }
582
766
  function errorMessage(err) {
583
767
  if (err instanceof Error && err.message)
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
package/dist/yaml.d.ts CHANGED
@@ -2,5 +2,5 @@ export { parseYaml, resolveConfig, loadPipeline, PipelineValidationError, serial
2
2
  export { compileYamlContent } from './yaml-compiler';
3
3
  export type { YamlCompileResult, CompileYamlOptions } from './yaml-compiler';
4
4
  export { loadWorkflow, parseWorkflowYaml, serializeWorkflow, validateRawWorkflow, } from './workflow';
5
- export type { RawWorkflowConfig, RawWorkflowPipelineConfig, WorkflowConfig, WorkflowPipelineConfig, } from './workflow';
5
+ export type { PipelineGraphPipelineLifecycle, PipelineGraphStopWhen, RawWorkflowConfig, RawWorkflowPipelineConfig, WorkflowConfig, WorkflowDocumentKind, WorkflowPipelineConfig, } from './workflow';
6
6
  //# sourceMappingURL=yaml.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../src/yaml.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../src/yaml.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,8BAA8B,EAC9B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tagma/sdk",
3
- "version": "0.7.35",
3
+ "version": "0.7.37",
4
4
  "description": "Local AI task orchestration SDK for Tagma pipelines",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -79,9 +79,9 @@
79
79
  "test": "bun test"
80
80
  },
81
81
  "dependencies": {
82
- "@tagma/core": "0.1.33",
83
- "@tagma/runtime-bun": "0.1.24",
84
- "@tagma/types": "0.4.40",
82
+ "@tagma/core": "0.1.36",
83
+ "@tagma/runtime-bun": "0.1.27",
84
+ "@tagma/types": "0.4.43",
85
85
  "js-yaml": "^4.1.0"
86
86
  }
87
87
  }