@tagma/sdk 0.7.36 → 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/README.md +36 -1
- package/dist/bootstrap.d.ts +56 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +51 -4
- package/dist/bootstrap.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/tagma.d.ts +25 -1
- package/dist/tagma.d.ts.map +1 -1
- package/dist/tagma.js +53 -9
- package/dist/tagma.js.map +1 -1
- package/dist/triggers/directory.d.ts.map +1 -1
- package/dist/triggers/directory.js +12 -7
- package/dist/triggers/directory.js.map +1 -1
- package/dist/triggers/file.d.ts.map +1 -1
- package/dist/triggers/file.js +11 -6
- package/dist/triggers/file.js.map +1 -1
- package/dist/workflow.d.ts +5 -2
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +227 -49
- package/dist/workflow.js.map +1 -1
- package/dist/yaml.d.ts +1 -1
- package/dist/yaml.d.ts.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -339,6 +339,8 @@ Tasks can declare named, typed `inputs` / `outputs`. Inputs flow in from upstrea
|
|
|
339
339
|
|
|
340
340
|
### Built-in Triggers
|
|
341
341
|
|
|
342
|
+
File and directory trigger watch paths may be relative to `workDir`, absolute, or external. This exception is only for trigger watch paths; other path fields remain workspace-bound.
|
|
343
|
+
|
|
342
344
|
#### `manual` — Human approval gate
|
|
343
345
|
|
|
344
346
|
| Field | Type | Required | Default | Description |
|
|
@@ -409,6 +411,10 @@ Tasks can declare named, typed `inputs` / `outputs`. Inputs flow in from upstrea
|
|
|
409
411
|
### Root: `@tagma/sdk`
|
|
410
412
|
|
|
411
413
|
- `createTagma(options?)`
|
|
414
|
+
- `createTagma().run(config, options)` for either a single `PipelineConfig` or a `PipelineGraphConfig`
|
|
415
|
+
- `createTagma().runYaml(content, options)` for either `pipeline:` or `workflow:` YAML documents
|
|
416
|
+
- `detectTagmaYamlKind(content)`
|
|
417
|
+
- `loadTagmaYaml(content, workDir)`
|
|
412
418
|
- `bunRuntime()`
|
|
413
419
|
- `definePipeline(pipeline)`
|
|
414
420
|
- `PluginRegistry`
|
|
@@ -424,6 +430,10 @@ Tasks can declare named, typed `inputs` / `outputs`. Inputs flow in from upstrea
|
|
|
424
430
|
- `deresolvePipeline(config, workDir)`
|
|
425
431
|
- `validateConfig(config)`
|
|
426
432
|
- `compileYamlContent(content, options?)`
|
|
433
|
+
- `loadWorkflow(yaml, workDir)`
|
|
434
|
+
- `parseWorkflowYaml(content)`
|
|
435
|
+
- `serializeWorkflow(config)`
|
|
436
|
+
- `validateRawWorkflow(config)`
|
|
427
437
|
|
|
428
438
|
### Plugins: `@tagma/sdk/plugins`
|
|
429
439
|
|
|
@@ -491,7 +501,7 @@ Options:
|
|
|
491
501
|
|
|
492
502
|
### `createTagma().run(config, options): Promise<EngineResult>`
|
|
493
503
|
|
|
494
|
-
Executes
|
|
504
|
+
Executes a single pipeline. Returns `{ success, runId, logPath, summary, states }`.
|
|
495
505
|
|
|
496
506
|
Options:
|
|
497
507
|
|
|
@@ -514,6 +524,31 @@ Options:
|
|
|
514
524
|
|
|
515
525
|
> **stdout / stderr persistence.** With the default Bun runtime, the engine streams every task's stdout and stderr to disk under `<workDir>/.tagma/logs/<runId>/<taskId>.stdout` and `.stderr`. Custom runtimes can relocate those artifacts by implementing `runtime.logStore.taskOutputPath()`. The `TaskResult.stdout` / `stderr` strings are bounded tails (8 MB / 4 MB by default) — long outputs are truncated from the head with a marker, and consumers that need the full bytes should read `TaskResult.stdoutPath` / `stderrPath`. Use `TaskResult.stdoutBytes` / `stderrBytes` to display "32 MB (truncated)" without re-stat'ing the file.
|
|
516
526
|
|
|
527
|
+
### Workflow graph YAML
|
|
528
|
+
|
|
529
|
+
Workflow graph YAML wraps multiple pipeline YAML files and lets the SDK execute them with graph-level dependencies and pipeline lifecycle controls.
|
|
530
|
+
|
|
531
|
+
```yaml
|
|
532
|
+
workflow:
|
|
533
|
+
kind: graph
|
|
534
|
+
name: release-flow
|
|
535
|
+
max_concurrency: 2
|
|
536
|
+
failure_policy: stop_all
|
|
537
|
+
pipelines:
|
|
538
|
+
- id: build
|
|
539
|
+
path: .tagma/build/build.yaml
|
|
540
|
+
lifecycle:
|
|
541
|
+
max_runs: 3
|
|
542
|
+
stop_when: success
|
|
543
|
+
- id: deploy
|
|
544
|
+
path: .tagma/deploy/deploy.yaml
|
|
545
|
+
depends_on: [build]
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
Per-pipeline `lifecycle.max_runs` defaults to `1`. `lifecycle.stop_when` defaults to `success`; supported values are `success` (retry until the first successful run or the max is reached), `failure` (run until the first failed run or the max is reached), and `always` (run exactly `max_runs` attempts unless aborted). Graph results include `runCount`, `maxRuns`, and per-attempt state on each pipeline node.
|
|
549
|
+
|
|
550
|
+
`createTagma().run(graphConfig, options)` runs a programmatic `PipelineGraphConfig`. `createTagma().runYaml(content, options)` detects either top-level `pipeline:` or `workflow:` YAML and returns `{ kind: 'pipeline' | 'workflow', result }`, so CLI hosts can route one file path through one SDK call.
|
|
551
|
+
|
|
517
552
|
### `PipelineRunner`
|
|
518
553
|
|
|
519
554
|
Higher-level wrapper for managing multiple concurrent pipeline runs — designed for sidecar / Tauri IPC scenarios where the frontend controls pipeline lifecycle by ID.
|
package/dist/bootstrap.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { PluginRegistry } from '@tagma/core';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Safe-mode built-ins: plugins that do not execute arbitrary code or shell
|
|
4
|
+
* commands. These are registered with `{ safeMode: true }` and are available
|
|
5
|
+
* under `mode: 'safe'` pipelines without explicit allowlist entries.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SafeBuiltinTagmaPlugin: {
|
|
3
8
|
name: string;
|
|
4
9
|
capabilities: {
|
|
5
10
|
drivers: {
|
|
@@ -13,8 +18,50 @@ export declare const BuiltinTagmaPlugin: {
|
|
|
13
18
|
completions: {
|
|
14
19
|
exit_code: import("@tagma/types").CompletionPlugin;
|
|
15
20
|
file_exists: import("@tagma/types").CompletionPlugin;
|
|
21
|
+
};
|
|
22
|
+
middlewares: {
|
|
23
|
+
static_context: import("@tagma/types").MiddlewarePlugin;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Unsafe built-ins: plugins that execute arbitrary shell commands and must
|
|
29
|
+
* NOT be in the safe-mode allowlist. These require explicit caller opt-in
|
|
30
|
+
* via `safeModeAllowlist` or `mode: 'trusted'`.
|
|
31
|
+
*
|
|
32
|
+
* `output_check` pipes task output into a user-specified shell command,
|
|
33
|
+
* which is a direct command-execution vector. Including it in safe mode
|
|
34
|
+
* would bypass the safe-mode intent that blocks command execution.
|
|
35
|
+
*/
|
|
36
|
+
export declare const UnsafeBuiltinTagmaPlugin: {
|
|
37
|
+
name: string;
|
|
38
|
+
capabilities: {
|
|
39
|
+
completions: {
|
|
16
40
|
output_check: import("@tagma/types").CompletionPlugin;
|
|
17
41
|
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Combined built-in plugin bundle for backward compatibility. Includes both
|
|
46
|
+
* safe and unsafe plugins. Use `bootstrapBuiltins()` to register with
|
|
47
|
+
* proper safe-mode scoping.
|
|
48
|
+
*/
|
|
49
|
+
export declare const BuiltinTagmaPlugin: {
|
|
50
|
+
name: string;
|
|
51
|
+
capabilities: {
|
|
52
|
+
drivers: {
|
|
53
|
+
opencode: import("@tagma/types").DriverPlugin;
|
|
54
|
+
};
|
|
55
|
+
triggers: {
|
|
56
|
+
directory: import("@tagma/types").TriggerPlugin;
|
|
57
|
+
file: import("@tagma/types").TriggerPlugin;
|
|
58
|
+
manual: import("@tagma/types").TriggerPlugin;
|
|
59
|
+
};
|
|
60
|
+
completions: {
|
|
61
|
+
output_check: import("@tagma/types").CompletionPlugin;
|
|
62
|
+
exit_code: import("@tagma/types").CompletionPlugin;
|
|
63
|
+
file_exists: import("@tagma/types").CompletionPlugin;
|
|
64
|
+
};
|
|
18
65
|
middlewares: {
|
|
19
66
|
static_context: import("@tagma/types").MiddlewarePlugin;
|
|
20
67
|
};
|
|
@@ -28,6 +75,14 @@ export declare const BuiltinTagmaPlugin: {
|
|
|
28
75
|
*
|
|
29
76
|
* Built-in handlers are stateless module singletons — registering the same
|
|
30
77
|
* handler object into N registries is cheap and safe; no cloning is needed.
|
|
78
|
+
*
|
|
79
|
+
* Safe built-ins register with `{ safeMode: true }` so they are automatically
|
|
80
|
+
* available under `mode: 'safe'` pipelines without explicit allowlist entries.
|
|
81
|
+
* Unsafe built-ins (output_check, which executes arbitrary shell commands)
|
|
82
|
+
* register WITHOUT safeMode, requiring explicit caller opt-in.
|
|
83
|
+
*
|
|
84
|
+
* The registry's `getSafeModeDefaults()` surfaces these to the engine's 3-way
|
|
85
|
+
* safe-mode merge (hardcoded defaults ∪ registry-declared ∪ caller-supplied).
|
|
31
86
|
*/
|
|
32
87
|
export declare function bootstrapBuiltins(target: PluginRegistry): void;
|
|
33
88
|
//# sourceMappingURL=bootstrap.d.ts.map
|
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuBlD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuBlD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;CAmBZ,CAAC;AAExB;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;CAOd,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;CAWR,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAG9D"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -14,8 +14,13 @@ import { FileExistsCompletion } from './completions/file-exists';
|
|
|
14
14
|
import { OutputCheckCompletion } from './completions/output-check';
|
|
15
15
|
// Built-in Middleware
|
|
16
16
|
import { StaticContextMiddleware } from './middlewares/static-context';
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Safe-mode built-ins: plugins that do not execute arbitrary code or shell
|
|
19
|
+
* commands. These are registered with `{ safeMode: true }` and are available
|
|
20
|
+
* under `mode: 'safe'` pipelines without explicit allowlist entries.
|
|
21
|
+
*/
|
|
22
|
+
export const SafeBuiltinTagmaPlugin = {
|
|
23
|
+
name: '@tagma/sdk/builtins-safe',
|
|
19
24
|
capabilities: {
|
|
20
25
|
drivers: {
|
|
21
26
|
opencode: OpenCodeDriver,
|
|
@@ -28,13 +33,46 @@ export const BuiltinTagmaPlugin = {
|
|
|
28
33
|
completions: {
|
|
29
34
|
exit_code: ExitCodeCompletion,
|
|
30
35
|
file_exists: FileExistsCompletion,
|
|
31
|
-
output_check: OutputCheckCompletion,
|
|
32
36
|
},
|
|
33
37
|
middlewares: {
|
|
34
38
|
static_context: StaticContextMiddleware,
|
|
35
39
|
},
|
|
36
40
|
},
|
|
37
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* Unsafe built-ins: plugins that execute arbitrary shell commands and must
|
|
44
|
+
* NOT be in the safe-mode allowlist. These require explicit caller opt-in
|
|
45
|
+
* via `safeModeAllowlist` or `mode: 'trusted'`.
|
|
46
|
+
*
|
|
47
|
+
* `output_check` pipes task output into a user-specified shell command,
|
|
48
|
+
* which is a direct command-execution vector. Including it in safe mode
|
|
49
|
+
* would bypass the safe-mode intent that blocks command execution.
|
|
50
|
+
*/
|
|
51
|
+
export const UnsafeBuiltinTagmaPlugin = {
|
|
52
|
+
name: '@tagma/sdk/builtins-unsafe',
|
|
53
|
+
capabilities: {
|
|
54
|
+
completions: {
|
|
55
|
+
output_check: OutputCheckCompletion,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Combined built-in plugin bundle for backward compatibility. Includes both
|
|
61
|
+
* safe and unsafe plugins. Use `bootstrapBuiltins()` to register with
|
|
62
|
+
* proper safe-mode scoping.
|
|
63
|
+
*/
|
|
64
|
+
export const BuiltinTagmaPlugin = {
|
|
65
|
+
name: '@tagma/sdk/builtins',
|
|
66
|
+
capabilities: {
|
|
67
|
+
drivers: SafeBuiltinTagmaPlugin.capabilities.drivers,
|
|
68
|
+
triggers: SafeBuiltinTagmaPlugin.capabilities.triggers,
|
|
69
|
+
completions: {
|
|
70
|
+
...SafeBuiltinTagmaPlugin.capabilities.completions,
|
|
71
|
+
...UnsafeBuiltinTagmaPlugin.capabilities.completions,
|
|
72
|
+
},
|
|
73
|
+
middlewares: SafeBuiltinTagmaPlugin.capabilities.middlewares,
|
|
74
|
+
},
|
|
75
|
+
};
|
|
38
76
|
/**
|
|
39
77
|
* Register every built-in plugin into `target`. Hosts instantiate one
|
|
40
78
|
* PluginRegistry per workspace or SDK instance and call this once per
|
|
@@ -43,8 +81,17 @@ export const BuiltinTagmaPlugin = {
|
|
|
43
81
|
*
|
|
44
82
|
* Built-in handlers are stateless module singletons — registering the same
|
|
45
83
|
* handler object into N registries is cheap and safe; no cloning is needed.
|
|
84
|
+
*
|
|
85
|
+
* Safe built-ins register with `{ safeMode: true }` so they are automatically
|
|
86
|
+
* available under `mode: 'safe'` pipelines without explicit allowlist entries.
|
|
87
|
+
* Unsafe built-ins (output_check, which executes arbitrary shell commands)
|
|
88
|
+
* register WITHOUT safeMode, requiring explicit caller opt-in.
|
|
89
|
+
*
|
|
90
|
+
* The registry's `getSafeModeDefaults()` surfaces these to the engine's 3-way
|
|
91
|
+
* safe-mode merge (hardcoded defaults ∪ registry-declared ∪ caller-supplied).
|
|
46
92
|
*/
|
|
47
93
|
export function bootstrapBuiltins(target) {
|
|
48
|
-
target.registerTagmaPlugin(
|
|
94
|
+
target.registerTagmaPlugin(SafeBuiltinTagmaPlugin, { safeMode: true });
|
|
95
|
+
target.registerTagmaPlugin(UnsafeBuiltinTagmaPlugin, { safeMode: false });
|
|
49
96
|
}
|
|
50
97
|
//# sourceMappingURL=bootstrap.js.map
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAGA,mBAAmB;AACnB,wEAAwE;AACxE,0EAA0E;AAC1E,iCAAiC;AACjC,kEAAkE;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,uBAAuB;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,sBAAsB;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAGA,mBAAmB;AACnB,wEAAwE;AACxE,0EAA0E;AAC1E,iCAAiC;AACjC,kEAAkE;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,uBAAuB;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,sBAAsB;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,0BAA0B;IAChC,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,cAAc;SACzB;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,aAAa;SACtB;QACD,WAAW,EAAE;YACX,SAAS,EAAE,kBAAkB;YAC7B,WAAW,EAAE,oBAAoB;SAClC;QACD,WAAW,EAAE;YACX,cAAc,EAAE,uBAAuB;SACxC;KACF;CACoB,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,4BAA4B;IAClC,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,YAAY,EAAE,qBAAqB;SACpC;KACF;CACoB,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,qBAAqB;IAC3B,YAAY,EAAE;QACZ,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,OAAO;QACpD,QAAQ,EAAE,sBAAsB,CAAC,YAAY,CAAC,QAAQ;QACtD,WAAW,EAAE;YACX,GAAG,sBAAsB,CAAC,YAAY,CAAC,WAAW;YAClD,GAAG,wBAAwB,CAAC,YAAY,CAAC,WAAW;SACrD;QACD,WAAW,EAAE,sBAAsB,CAAC,YAAY,CAAC,WAAW;KAC7D;CACoB,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,MAAM,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5E,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { createTagma } from './tagma';
|
|
2
|
-
export type { CreateTagmaOptions, Tagma, TagmaRunOptions } from './tagma';
|
|
1
|
+
export { createTagma, detectTagmaYamlKind, loadTagmaYaml } from './tagma';
|
|
2
|
+
export type { CreateTagmaOptions, Tagma, TagmaGraphRunOptions, TagmaRunOptions, TagmaRunnableConfig, TagmaYamlDocument, TagmaYamlRunResult, } from './tagma';
|
|
3
3
|
export { bunRuntime } from '@tagma/runtime-bun';
|
|
4
4
|
export type { EnvPolicy, TagmaRuntime, RunOptions as RuntimeRunOptions } from '@tagma/core';
|
|
5
|
-
export { definePipeline, PluginRegistry, TriggerBlockedError, TriggerTimeoutError, } from '@tagma/core';
|
|
5
|
+
export { definePipeline, PluginRegistry, TriggerBlockedError, TriggerTimeoutError, DEFAULT_TASK_TIMEOUT_MS, } from '@tagma/core';
|
|
6
6
|
export type { EngineResult, RegisterPluginOptions, RunEventPayload } from '@tagma/core';
|
|
7
7
|
export { RUN_PROTOCOL_VERSION, TASK_LOG_CAP, TASK_LIVE_OUTPUT_CAP, appendLiveOutput, } from '@tagma/types';
|
|
8
8
|
export { PipelineGroup, PipelineGraphRunner, WorkflowValidationError, createPipelineGroup, loadWorkflow, parseWorkflowYaml, runPipelineGraph, serializeWorkflow, validateRawWorkflow, } from './workflow';
|
|
9
9
|
export type { CreatePipelineGroupOptions, PipelineGraphPipelineResult, PipelineGraphResult, PipelineGraphRunnerOptions, PipelineGroupAddOptions, } from './workflow';
|
|
10
|
-
export type { PipelineConfig, PipelineExecutionMode, PipelineGraphAbortReason, PipelineGraphConfig, PipelineGraphEventPayload, PipelineGraphNodeState, PipelineGraphNodeStatus, PipelineGraphPipelineConfig, RawPipelineConfig, RawWorkflowConfig, RawWorkflowPipelineConfig, RawTrackConfig, RawTaskConfig, TrackConfig, TaskConfig, WorkflowConfig, WorkflowFailurePolicy, WorkflowPipelineConfig, RunSnapshotPayload, WireRunEvent, RunTaskState, TaskLogLine, SecretResolver, SecretResolverContext, ApprovalRequestInfo, ApprovalRequestHandle, TaskStatus, ApprovalRequest, ApprovalGateway, PluginCategory, PluginCapabilities, TagmaPlugin, DriverPlugin, TriggerPlugin, TriggerWatchHandle, CompletionPlugin, MiddlewarePlugin, RunEventPayload as PipelineRunEventPayload, } from '@tagma/types';
|
|
10
|
+
export type { PipelineConfig, PipelineExecutionMode, PipelineGraphAbortReason, PipelineGraphConfig, PipelineGraphEventPayload, PipelineGraphNodeState, PipelineGraphNodeStatus, PipelineGraphPipelineAttemptState, PipelineGraphPipelineConfig, PipelineGraphPipelineLifecycle, PipelineGraphStopWhen, RawPipelineConfig, RawWorkflowConfig, RawWorkflowPipelineConfig, RawTrackConfig, RawTaskConfig, TrackConfig, TaskConfig, WorkflowConfig, WorkflowDocumentKind, WorkflowFailurePolicy, WorkflowPipelineConfig, RunSnapshotPayload, WireRunEvent, RunTaskState, TaskLogLine, SecretResolver, SecretResolverContext, ApprovalRequestInfo, ApprovalRequestHandle, TaskStatus, ApprovalRequest, ApprovalGateway, PluginCategory, PluginCapabilities, TagmaPlugin, DriverPlugin, TriggerPlugin, TriggerWatchHandle, CompletionPlugin, MiddlewarePlugin, RunEventPayload as PipelineRunEventPayload, } from '@tagma/types';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EACV,kBAAkB,EAClB,KAAK,EACL,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,iCAAiC,EACjC,2BAA2B,EAC3B,8BAA8B,EAC9B,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAMhB,eAAe,IAAI,uBAAuB,GAC3C,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { createTagma } from './tagma';
|
|
1
|
+
export { createTagma, detectTagmaYamlKind, loadTagmaYaml } from './tagma';
|
|
2
2
|
export { bunRuntime } from '@tagma/runtime-bun';
|
|
3
|
-
export { definePipeline, PluginRegistry, TriggerBlockedError, TriggerTimeoutError, } from '@tagma/core';
|
|
3
|
+
export { definePipeline, PluginRegistry, TriggerBlockedError, TriggerTimeoutError, DEFAULT_TASK_TIMEOUT_MS, } from '@tagma/core';
|
|
4
4
|
export { RUN_PROTOCOL_VERSION, TASK_LOG_CAP, TASK_LIVE_OUTPUT_CAP, appendLiveOutput, } from '@tagma/types';
|
|
5
5
|
export { PipelineGroup, PipelineGraphRunner, WorkflowValidationError, createPipelineGroup, loadWorkflow, parseWorkflowYaml, runPipelineGraph, serializeWorkflow, validateRawWorkflow, } from './workflow';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAU1E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/tagma.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PluginRegistry, type EngineResult, type RunPipelineOptions } from '@tagma/core';
|
|
2
2
|
import type { TagmaRuntime } from '@tagma/core';
|
|
3
|
-
import type { PipelineConfig, TagmaPlugin } from '@tagma/types';
|
|
3
|
+
import type { PipelineConfig, PipelineGraphConfig, TagmaPlugin, WorkflowConfig } from '@tagma/types';
|
|
4
|
+
import { type PipelineGraphResult, type PipelineGraphRunnerOptions } from './workflow';
|
|
4
5
|
export interface CreateTagmaOptions {
|
|
5
6
|
/**
|
|
6
7
|
* Registry used by this SDK instance. Omit to create an isolated registry.
|
|
@@ -24,10 +25,33 @@ export interface CreateTagmaOptions {
|
|
|
24
25
|
export interface TagmaRunOptions extends Omit<RunPipelineOptions, 'registry' | 'runtime'> {
|
|
25
26
|
readonly cwd: string;
|
|
26
27
|
}
|
|
28
|
+
export interface TagmaGraphRunOptions extends Omit<PipelineGraphRunnerOptions, 'registry' | 'runtime'> {
|
|
29
|
+
readonly cwd: string;
|
|
30
|
+
}
|
|
31
|
+
export type TagmaRunnableConfig = PipelineConfig | PipelineGraphConfig;
|
|
32
|
+
export type TagmaYamlDocument = {
|
|
33
|
+
readonly kind: 'pipeline';
|
|
34
|
+
readonly config: PipelineConfig;
|
|
35
|
+
} | {
|
|
36
|
+
readonly kind: 'workflow';
|
|
37
|
+
readonly config: WorkflowConfig;
|
|
38
|
+
};
|
|
39
|
+
export type TagmaYamlRunResult = {
|
|
40
|
+
readonly kind: 'pipeline';
|
|
41
|
+
readonly result: EngineResult;
|
|
42
|
+
} | {
|
|
43
|
+
readonly kind: 'workflow';
|
|
44
|
+
readonly result: PipelineGraphResult;
|
|
45
|
+
};
|
|
27
46
|
export interface Tagma {
|
|
28
47
|
readonly registry: PluginRegistry;
|
|
29
48
|
run(config: PipelineConfig, options: TagmaRunOptions): Promise<EngineResult>;
|
|
49
|
+
run(config: PipelineGraphConfig, options: TagmaGraphRunOptions): Promise<PipelineGraphResult>;
|
|
50
|
+
run(config: TagmaRunnableConfig, options: TagmaRunOptions | TagmaGraphRunOptions): Promise<EngineResult | PipelineGraphResult>;
|
|
51
|
+
runYaml(content: string, options: TagmaRunOptions | TagmaGraphRunOptions): Promise<TagmaYamlRunResult>;
|
|
30
52
|
validate(config: PipelineConfig): readonly string[];
|
|
31
53
|
}
|
|
54
|
+
export declare function detectTagmaYamlKind(content: string): TagmaYamlDocument['kind'];
|
|
55
|
+
export declare function loadTagmaYaml(content: string, workDir: string): Promise<TagmaYamlDocument>;
|
|
32
56
|
export declare function createTagma(options?: CreateTagmaOptions): Tagma;
|
|
33
57
|
//# sourceMappingURL=tagma.d.ts.map
|
package/dist/tagma.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagma.d.ts","sourceRoot":"","sources":["../src/tagma.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tagma.d.ts","sourceRoot":"","sources":["../src/tagma.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAUrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrG,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAChC,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAC;IACvF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,mBAAmB,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAExE,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9F,GAAG,CACD,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,eAAe,GAAG,oBAAoB,GAC9C,OAAO,CAAC,YAAY,GAAG,mBAAmB,CAAC,CAAC;IAC/C,OAAO,CACL,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,GAAG,oBAAoB,GAC9C,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,MAAM,EAAE,CAAC;CACrD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAY9E;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAIhG;AAMD,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,KAAK,CAsDnE"}
|
package/dist/tagma.js
CHANGED
|
@@ -1,7 +1,33 @@
|
|
|
1
1
|
import { PluginRegistry, runPipeline, } from '@tagma/core';
|
|
2
|
+
import yaml from 'js-yaml';
|
|
2
3
|
import { bootstrapBuiltins } from './bootstrap';
|
|
3
|
-
import { PipelineValidationError, validateConfig, validateConfigDiagnostics } from './schema';
|
|
4
|
+
import { PipelineValidationError, loadPipeline, validateConfig, validateConfigDiagnostics, } from './schema';
|
|
4
5
|
import { bunRuntime } from '@tagma/runtime-bun';
|
|
6
|
+
import { loadWorkflow, runPipelineGraph, } from './workflow';
|
|
7
|
+
export function detectTagmaYamlKind(content) {
|
|
8
|
+
const doc = yaml.load(content);
|
|
9
|
+
if (doc && typeof doc === 'object' && !Array.isArray(doc)) {
|
|
10
|
+
const hasPipeline = Object.prototype.hasOwnProperty.call(doc, 'pipeline');
|
|
11
|
+
const hasWorkflow = Object.prototype.hasOwnProperty.call(doc, 'workflow');
|
|
12
|
+
if (hasPipeline && hasWorkflow) {
|
|
13
|
+
throw new Error('YAML must not contain both top-level "pipeline" and "workflow" keys');
|
|
14
|
+
}
|
|
15
|
+
if (hasPipeline)
|
|
16
|
+
return 'pipeline';
|
|
17
|
+
if (hasWorkflow)
|
|
18
|
+
return 'workflow';
|
|
19
|
+
}
|
|
20
|
+
throw new Error('YAML must contain a top-level "pipeline" or "workflow" key');
|
|
21
|
+
}
|
|
22
|
+
export async function loadTagmaYaml(content, workDir) {
|
|
23
|
+
const kind = detectTagmaYamlKind(content);
|
|
24
|
+
if (kind === 'pipeline')
|
|
25
|
+
return { kind, config: await loadPipeline(content, workDir) };
|
|
26
|
+
return { kind, config: await loadWorkflow(content, workDir) };
|
|
27
|
+
}
|
|
28
|
+
function isPipelineGraphConfig(config) {
|
|
29
|
+
return Array.isArray(config.pipelines);
|
|
30
|
+
}
|
|
5
31
|
export function createTagma(options = {}) {
|
|
6
32
|
const registry = options.registry ?? new PluginRegistry();
|
|
7
33
|
const runtime = options.runtime ?? bunRuntime();
|
|
@@ -11,18 +37,36 @@ export function createTagma(options = {}) {
|
|
|
11
37
|
for (const plugin of options.plugins ?? []) {
|
|
12
38
|
registry.registerTagmaPlugin(plugin);
|
|
13
39
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const diagnostics = validateConfigDiagnostics(config, cwd);
|
|
18
|
-
if (diagnostics.length > 0) {
|
|
19
|
-
throw new PipelineValidationError(diagnostics);
|
|
20
|
-
}
|
|
21
|
-
return await runPipeline(config, cwd, {
|
|
40
|
+
async function run(config, { cwd, ...runOptions }) {
|
|
41
|
+
if (isPipelineGraphConfig(config)) {
|
|
42
|
+
return await runPipelineGraph(config, cwd, {
|
|
22
43
|
...runOptions,
|
|
23
44
|
registry,
|
|
24
45
|
runtime,
|
|
25
46
|
});
|
|
47
|
+
}
|
|
48
|
+
const diagnostics = validateConfigDiagnostics(config, cwd);
|
|
49
|
+
if (diagnostics.length > 0) {
|
|
50
|
+
throw new PipelineValidationError(diagnostics);
|
|
51
|
+
}
|
|
52
|
+
return await runPipeline(config, cwd, {
|
|
53
|
+
...runOptions,
|
|
54
|
+
registry,
|
|
55
|
+
runtime,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
registry,
|
|
60
|
+
run,
|
|
61
|
+
async runYaml(content, options) {
|
|
62
|
+
const document = await loadTagmaYaml(content, options.cwd);
|
|
63
|
+
if (document.kind === 'pipeline') {
|
|
64
|
+
return { kind: 'pipeline', result: await run(document.config, options) };
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
kind: 'workflow',
|
|
68
|
+
result: await run(document.config, options),
|
|
69
|
+
};
|
|
26
70
|
},
|
|
27
71
|
validate(config) {
|
|
28
72
|
return validateConfig(config);
|
package/dist/tagma.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagma.js","sourceRoot":"","sources":["../src/tagma.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"tagma.js","sourceRoot":"","sources":["../src/tagma.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/triggers/directory.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/triggers/directory.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,cAAc,CAAC;AActB,eAAO,MAAM,gBAAgB,EAAE,aA2C9B,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { resolve, dirname } from 'path';
|
|
1
|
+
import { resolve, dirname, isAbsolute, relative } from 'path';
|
|
2
2
|
import { TriggerTimeoutError, linkAbort, } from '@tagma/types';
|
|
3
|
-
import { validatePath } from '@tagma/core';
|
|
4
3
|
import { parseOptionalPluginTimeout } from '../duration';
|
|
5
4
|
const IS_WINDOWS = process.platform === 'win32';
|
|
6
5
|
function pathsEqual(a, b) {
|
|
7
6
|
return IS_WINDOWS ? a.toLowerCase() === b.toLowerCase() : a === b;
|
|
8
7
|
}
|
|
8
|
+
function isInsideOrEqual(parent, child) {
|
|
9
|
+
const rel = relative(resolve(parent), resolve(child));
|
|
10
|
+
return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
|
|
11
|
+
}
|
|
9
12
|
export const DirectoryTrigger = {
|
|
10
13
|
name: 'directory',
|
|
11
14
|
schema: {
|
|
@@ -28,8 +31,8 @@ export const DirectoryTrigger = {
|
|
|
28
31
|
const dirPath = config.path;
|
|
29
32
|
if (!dirPath)
|
|
30
33
|
throw new Error(`directory trigger: "path" is required`);
|
|
31
|
-
const safePath =
|
|
32
|
-
const parentDir =
|
|
34
|
+
const safePath = resolve(ctx.workDir, dirPath);
|
|
35
|
+
const parentDir = dirname(safePath);
|
|
33
36
|
const timeoutMs = parseOptionalPluginTimeout(config.timeout, 0);
|
|
34
37
|
const disposeController = new AbortController();
|
|
35
38
|
return {
|
|
@@ -54,9 +57,11 @@ async function waitForDirectory(options) {
|
|
|
54
57
|
throw new Error('Pipeline aborted');
|
|
55
58
|
if (disposeSignal.aborted)
|
|
56
59
|
throw new Error('Trigger disposed');
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
if (isInsideOrEqual(ctx.workDir, parentDir)) {
|
|
61
|
+
await ctx.runtime.ensureDir(parentDir).catch(() => {
|
|
62
|
+
/* best effort; runtime watch will surface real failures */
|
|
63
|
+
});
|
|
64
|
+
}
|
|
60
65
|
if (ctx.signal.aborted)
|
|
61
66
|
throw new Error('Pipeline aborted');
|
|
62
67
|
if (disposeSignal.aborted)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/triggers/directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/triggers/directory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/triggers/file.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/triggers/file.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,cAAc,CAAC;AActB,eAAO,MAAM,WAAW,EAAE,aAyCzB,CAAC"}
|
package/dist/triggers/file.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { resolve, dirname } from 'path';
|
|
1
|
+
import { resolve, dirname, isAbsolute, relative } from 'path';
|
|
2
2
|
import { TriggerTimeoutError, linkAbort, } from '@tagma/types';
|
|
3
|
-
import { validatePath } from '@tagma/core';
|
|
4
3
|
import { parseOptionalPluginTimeout } from '../duration';
|
|
5
4
|
const IS_WINDOWS = process.platform === 'win32';
|
|
6
5
|
function pathsEqual(a, b) {
|
|
7
6
|
return IS_WINDOWS ? a.toLowerCase() === b.toLowerCase() : a === b;
|
|
8
7
|
}
|
|
8
|
+
function isInsideOrEqual(parent, child) {
|
|
9
|
+
const rel = relative(resolve(parent), resolve(child));
|
|
10
|
+
return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
|
|
11
|
+
}
|
|
9
12
|
export const FileTrigger = {
|
|
10
13
|
name: 'file',
|
|
11
14
|
schema: {
|
|
@@ -28,7 +31,7 @@ export const FileTrigger = {
|
|
|
28
31
|
const filePath = config.path;
|
|
29
32
|
if (!filePath)
|
|
30
33
|
throw new Error(`file trigger: "path" is required`);
|
|
31
|
-
const safePath =
|
|
34
|
+
const safePath = resolve(ctx.workDir, filePath);
|
|
32
35
|
const timeoutMs = parseOptionalPluginTimeout(config.timeout, 0);
|
|
33
36
|
const disposeController = new AbortController();
|
|
34
37
|
return {
|
|
@@ -53,9 +56,11 @@ async function waitForFile(options) {
|
|
|
53
56
|
if (disposeSignal.aborted)
|
|
54
57
|
throw new Error('Trigger disposed');
|
|
55
58
|
const dir = dirname(safePath);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
if (isInsideOrEqual(ctx.workDir, dir)) {
|
|
60
|
+
await ctx.runtime.ensureDir(dir).catch(() => {
|
|
61
|
+
/* best effort; runtime watch will surface real failures */
|
|
62
|
+
});
|
|
63
|
+
}
|
|
59
64
|
if (ctx.signal.aborted)
|
|
60
65
|
throw new Error('Pipeline aborted');
|
|
61
66
|
if (disposeSignal.aborted)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/triggers/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/triggers/file.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type EngineResult, type RunPipelineOptions } from '@tagma/core';
|
|
2
|
-
import type { PipelineGraphAbortReason, PipelineGraphConfig, PipelineGraphEventPayload, PipelineGraphNodeState, PipelineGraphPipelineConfig, RawWorkflowConfig, WorkflowConfig, WorkflowFailurePolicy } from '@tagma/types';
|
|
2
|
+
import type { PipelineGraphAbortReason, PipelineGraphConfig, PipelineGraphEventPayload, PipelineGraphNodeState, PipelineGraphPipelineConfig, PipelineGraphPipelineLifecycle, RawWorkflowConfig, WorkflowConfig, WorkflowFailurePolicy } from '@tagma/types';
|
|
3
3
|
import { PipelineValidationError } from './schema';
|
|
4
4
|
import type { ValidationError } from './validate-raw';
|
|
5
|
-
export type { PipelineGraphAbortReason, PipelineGraphConfig, PipelineGraphEventPayload, PipelineGraphNodeState, PipelineGraphNodeStatus, PipelineGraphPipelineConfig, RawWorkflowConfig, RawWorkflowPipelineConfig, WorkflowConfig, WorkflowFailurePolicy, WorkflowPipelineConfig, } from '@tagma/types';
|
|
5
|
+
export type { PipelineGraphAbortReason, PipelineGraphConfig, PipelineGraphEventPayload, PipelineGraphNodeState, PipelineGraphNodeStatus, PipelineGraphPipelineAttemptState, PipelineGraphPipelineConfig, PipelineGraphPipelineLifecycle, PipelineGraphStopWhen, RawWorkflowConfig, RawWorkflowPipelineConfig, WorkflowConfig, WorkflowDocumentKind, WorkflowFailurePolicy, WorkflowPipelineConfig, } from '@tagma/types';
|
|
6
6
|
export type { EngineResult };
|
|
7
7
|
export interface PipelineGraphPipelineResult extends PipelineGraphNodeState {
|
|
8
8
|
readonly result: EngineResult | null;
|
|
@@ -45,6 +45,8 @@ export declare class PipelineGraphRunner {
|
|
|
45
45
|
private runGraph;
|
|
46
46
|
private launchReadyNodes;
|
|
47
47
|
private runOnePipeline;
|
|
48
|
+
private shouldFinishLifecycle;
|
|
49
|
+
private patchAttempt;
|
|
48
50
|
private stopAllForFailure;
|
|
49
51
|
private skipNodesWithFailedDeps;
|
|
50
52
|
private skipWaitingNodes;
|
|
@@ -66,6 +68,7 @@ export interface PipelineGroupAddOptions {
|
|
|
66
68
|
readonly cwd?: string;
|
|
67
69
|
readonly path?: string;
|
|
68
70
|
readonly dependsOn?: readonly string[];
|
|
71
|
+
readonly lifecycle?: PipelineGraphPipelineLifecycle;
|
|
69
72
|
}
|
|
70
73
|
export declare class PipelineGroup {
|
|
71
74
|
private readonly options;
|
package/dist/workflow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
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) },
|
|
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
|
|
219
|
-
|
|
220
|
-
|
|
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
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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
|
-
|
|
254
|
-
const
|
|
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
|
-
|
|
259
|
-
|
|
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
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
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 }) => ({
|
|
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,6 +578,8 @@ 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;
|
|
@@ -485,6 +610,59 @@ function validatePipelineNodes(pipelines, errors, requirePath) {
|
|
|
485
610
|
}
|
|
486
611
|
});
|
|
487
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
|
+
}
|
|
488
666
|
function validateWorkflowPath(value, basePath, errors) {
|
|
489
667
|
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
490
668
|
errors.push({ path: `${basePath}.path`, message: 'pipeline path must be a non-empty string' });
|
package/dist/workflow.js.map
CHANGED
|
@@ -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":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,GAGb,MAAM,aAAa,CAAC;AAkBrB,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAqD5F,MAAM,sBAAsB,GAAuC,IAAI,GAAG,CAAC;IACzE,UAAU;IACV,sBAAsB;CACvB,CAAC,CAAC;AACH,MAAM,oBAAoB,GAAsC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/F,MAAM,wBAAwB,GAAuC,IAAI,GAAG,CAAC;IAC3E,SAAS;IACT,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,0BAA0B,GAAG;IACjC,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,IAAI;CAC4C,CAAC;AAEjE,MAAM,OAAO,uBAAwB,SAAQ,uBAAuB;IAClE,YAAY,WAAuC;QACjD,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2B,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAA6B,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAY,CAAC;QAClD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA0C;IAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,0BAA0B,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA0C;IACtE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,OAAO;QAC5B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC7C,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IAC3D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;QACnF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,OAAe;IACjE,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,GAAG,EAAE,OAAO;YACZ,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO;QACzB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA2B,EAC3B,OAAe,EACf,OAAmC;IAEnC,OAAO,MAAM,IAAI,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,OAAO,mBAAmB;IAaX;IACA;IACA;IAdV,UAAU,CAAS;IAEX,KAAK,CAAoB;IACzB,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC5C,WAAW,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC7D,QAAQ,GAAG,IAAI,GAAG,EAA8C,CAAC;IACjE,iBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAChE,MAAM,GAAwC,IAAI,CAAC;IACnD,WAAW,GAA6B,IAAI,CAAC;IAC7C,OAAO,GAAG,KAAK,CAAC;IAExB,YACmB,MAA2B,EAC3B,OAAe,EACf,OAAmC;QAFnC,WAAM,GAAN,MAAM,CAAqB;QAC3B,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAA4B;QAEpD,MAAM,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACxD,WAAW,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAExD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAC1B,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;gBAC3B,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,SAAS,CAAC,QAAQ,IAAI,CAAC;gBAChC,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAgB;QACpB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;YAAE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAmD;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC9B,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE;SAChC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;QAExD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,MAAM;YAE9B,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,8DAA8D,CAAC;gBAC/E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC/B,MAAM;YACR,CAAC;YAED,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAwB;YAClC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS;SACV,CAAC;QACF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE;SAChC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,OAAmC,EAAE,cAAsB;QAClF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,IAAI,IAAI,cAAc;gBAAE,OAAO;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YACzC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC;gBAAE,SAAS;YAEzF,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACxD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,UAAkB;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QACnD,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC;QAClD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1F,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;oBAC1B,MAAM,EAAE,SAAS;oBACjB,UAAU;oBACV,KAAK,EAAE,oDAAoD;iBAC5D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;gBAC1B,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,OAAO;gBACjB,OAAO;gBACP,QAAQ,EAAE;oBACR,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,QAAQ;oBACvC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;iBACtF;gBACD,SAAS;gBACT,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;oBAC9E,GAAG,eAAe;oBAClB,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACjB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;4BAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;gCAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;gCAClB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;6BACzE,CAAC,CAAC;wBACL,CAAC;wBACD,IAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,gBAAgB;4BACtB,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,UAAU;4BACV,OAAO;4BACP,KAAK;yBACN,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;gBAEH,MAAM,MAAM,GAA4B,UAAU,CAAC,MAAM,CAAC,OAAO;oBAC/D,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC,OAAO;wBACd,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,QAAQ,CAAC;gBACf,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;oBAC1B,MAAM;oBACN,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;iBAChF,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;wBAC1B,MAAM;wBACN,MAAM;wBACN,UAAU;wBACV,KAAK;qBACN,CAAC,CAAC;oBACH,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;wBACrF,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC3B,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAA4B,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACzF,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;iBAChF,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;wBAC1B,MAAM;wBACN,KAAK;wBACL,UAAU;qBACX,CAAC,CAAC;oBACH,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACxB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;wBACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,UAAU,CAAC,KAAK,UAAU;4BAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC1F,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,qBAAqB,CAC3B,MAA+B,EAC/B,QAA+B,EAC/B,OAAe,EACf,OAAe;QAEf,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC9D,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,OAAO,IAAI,OAAO,CAAC;QACrD,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAChE,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/D,OAAO,OAAO,IAAI,OAAO,CAAC;IAC5B,CAAC;IAEO,YAAY,CAClB,UAAkB,EAClB,OAAe,EACf,KAAkE;QAElE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QAC1C,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAC3D,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;YAAE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,uBAAuB;QAC7B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YACzC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAAE,SAAS;YAC3D,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;oBAC1B,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACpC,KAAK,EAAE,sDAAsD;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YACzC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;gBAC1B,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,KAAK,EAAE,gDAAgD;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,OAAe;QACtC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YACzC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;gBAC1B,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAChB,UAAkB,EAClB,KAA2E;QAE3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACtE,GAAG,KAAK;YACR,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;YAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;SAC5D,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,eAAe;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;YAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YAC3D,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,IAAI,CAAC,KAAgC;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,mEAAmE,EAAE,GAAG,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAiBD,MAAM,OAAO,aAAa;IAGK;IAFZ,SAAS,GAAkC,EAAE,CAAC;IAE/D,YAA6B,UAAsC,EAAE;QAAxC,YAAO,GAAP,OAAO,CAAiC;IAAG,CAAC;IAEzE,GAAG,CAAC,OAAgC;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,gBAAgB;YAC3C,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC5C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,OAAmC;QACtD,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAsC,EAAE;IAC1E,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA2B;IAC9D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;QACnF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CACnC,MAA2B,EAC3B,OAAe;IAEf,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,QAA+C,CAAC;QAClE,IACE,CAAC,SAAS,CAAC,MAAM;YACjB,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;YACpC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAC/B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,aAAa,KAAK,UAAU;gBAClC,OAAO,EAAE,6BAA6B;aACvC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GACnB,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1F,KAAK,MAAM,UAAU,IAAI,yBAAyB,CAChD,SAAS,CAAC,MAAwB,EAClC,eAAe,CAChB,EAAE,CAAC;YACF,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,aAAa,KAAK,YAAY,UAAU,CAAC,IAAI,EAAE;gBACrD,OAAO,EAAE,UAAU,CAAC,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAyF,EACzF,MAAyB;IAEzB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,EACzE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAA+E,EAC/E,MAAyB,EACzB,WAAoB;IAEpB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,aAAa,KAAK,GAAG,CAAC;QACnC,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,IAAI,KAAK;gBAClB,OAAO,EAAE,gBAAgB,QAAQ,CAAC,EAAE,cAAc;aACnD,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,OAAO,EAAE,0BAA0B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,WAAW;YACb,oBAAoB,CAAE,QAAsC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACnF,wBAAwB,CACrB,QAAoE,CAAC,QAAQ,EAC9E,IAAI,EACJ,MAAM,CACP,CAAC;QACF,yBAAyB,CACtB,QAAoE,CAAC,SAAS,EAC/E,IAAI,EACJ,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,aAAa,KAAK,cAAc;gBACtC,OAAO,EAAE,6BAA6B;aACvC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,aAAa,KAAK,gBAAgB,EAAE,GAAG;oBAC7C,OAAO,EAAE,8CAA8C;iBACxD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,aAAa,KAAK,cAAc;oBACtC,OAAO,EAAE,aAAa,QAAQ,CAAC,EAAE,iBAAiB,GAAG,4BAA4B;iBAClF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAc,EACd,QAAgB,EAChB,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,WAAW,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,KAAqC,CAAC;IAClD,IACE,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ;QACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ;QACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EACvB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,QAAQ,WAAW;YAC5B,OAAO,EAAE,kDAAkD;SAC5D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAc,EACd,QAAgB,EAChB,MAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,YAAY,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IACD,MAAM,SAAS,GAAG,KAAuC,CAAC;IAC1D,IACE,SAAS,CAAC,QAAQ,KAAK,SAAS;QAChC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,EACjE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,QAAQ,qBAAqB;YACtC,OAAO,EAAE,+CAA+C;SACzD,CAAC,CAAC;IACL,CAAC;IACD,IACE,SAAS,CAAC,SAAS,KAAK,SAAS;QACjC,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,EAClD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,QAAQ,sBAAsB;YACvC,OAAO,EAAE,+DAA+D;SACzE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,SAAqD;IAErD,OAAO;QACL,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;QAClC,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,SAAS;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAyC;IAEzC,OAAO;QACL,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,QAAgB,EAAE,MAAyB;IACvF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,OAAO,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,QAAQ,OAAO;YACxB,OAAO,EAAE,kEAAkE;SAC5E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,QAAQ,OAAO;YACxB,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAA+E;IAE/E,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,SAAS;SACN,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC9B,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CACzE,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,SAAS;QACpC,QAAQ,CAAC,GAAG,CACV,QAAQ,CAAC,EAAE,EACX,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,SAAS,GAAG,CAAC,EAAU;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,iCAAiC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;iBACxE,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACnD,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAA+E;IAE/E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;SACjB,IAAI,EAAE,CAAC;IACV,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,GAAG,CAAC,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B;IACjD,OAAO,CACL,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAC5F,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAY;IAChC,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAe,EAAE,IAAY;IACvE,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9C,CAAC"}
|
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
|
package/dist/yaml.d.ts.map
CHANGED
|
@@ -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.
|
|
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.
|
|
83
|
-
"@tagma/runtime-bun": "0.1.
|
|
84
|
-
"@tagma/types": "0.4.
|
|
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
|
}
|