@sensigo/realm 0.6.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-definition.d.ts","sourceRoot":"","sources":["../../src/types/workflow-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-definition.d.ts","sourceRoot":"","sources":["../../src/types/workflow-definition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ /**
2
+ * JSON Schema (draft-07) for the minimal webhook trigger block.
3
+ *
4
+ * `auth` is discriminated on `mode`. Each mode's `then` is a closed set: a field belonging to a
5
+ * different mode (e.g. `mode: github` + `algorithm`) is rejected as unknown rather than silently
6
+ * ignored. Every `if` includes `required: ['mode']` so the condition only matches when `mode` is
7
+ * present and equal to the const (avoids the draft-07 "absent property in `if` is vacuously true"
8
+ * trap). The combinators (filter `oneOf`, value `anyOf`) carry property stubs to satisfy
9
+ * strictRequired.
10
+ */
11
+ export declare const TRIGGER_JSON_SCHEMA: {
12
+ readonly type: "object";
13
+ readonly required: readonly ["type", "auth"];
14
+ readonly additionalProperties: false;
15
+ readonly properties: {
16
+ readonly type: {
17
+ readonly const: "webhook";
18
+ };
19
+ readonly path: {
20
+ readonly type: "string";
21
+ readonly minLength: 1;
22
+ };
23
+ readonly auth: {
24
+ readonly type: "object";
25
+ readonly required: readonly ["mode"];
26
+ readonly properties: {
27
+ readonly mode: {
28
+ readonly enum: readonly ["shared_secret", "github", "stripe", "hmac", "none"];
29
+ };
30
+ };
31
+ readonly allOf: readonly [{
32
+ readonly if: {
33
+ readonly properties: {
34
+ readonly mode: {
35
+ readonly const: "shared_secret";
36
+ };
37
+ };
38
+ readonly required: readonly ["mode"];
39
+ };
40
+ readonly then: {
41
+ readonly additionalProperties: false;
42
+ readonly required: readonly ["header", "secret_from"];
43
+ readonly properties: {
44
+ readonly mode: {};
45
+ readonly header: {
46
+ readonly type: "string";
47
+ readonly minLength: 1;
48
+ };
49
+ readonly secret_from: {
50
+ readonly type: "string";
51
+ readonly minLength: 1;
52
+ };
53
+ };
54
+ };
55
+ }, {
56
+ readonly if: {
57
+ readonly properties: {
58
+ readonly mode: {
59
+ readonly const: "github";
60
+ };
61
+ };
62
+ readonly required: readonly ["mode"];
63
+ };
64
+ readonly then: {
65
+ readonly additionalProperties: false;
66
+ readonly required: readonly ["secret_from"];
67
+ readonly properties: {
68
+ readonly mode: {};
69
+ readonly secret_from: {
70
+ readonly type: "string";
71
+ readonly minLength: 1;
72
+ };
73
+ };
74
+ };
75
+ }, {
76
+ readonly if: {
77
+ readonly properties: {
78
+ readonly mode: {
79
+ readonly const: "stripe";
80
+ };
81
+ };
82
+ readonly required: readonly ["mode"];
83
+ };
84
+ readonly then: {
85
+ readonly additionalProperties: false;
86
+ readonly required: readonly ["secret_from"];
87
+ readonly properties: {
88
+ readonly mode: {};
89
+ readonly secret_from: {
90
+ readonly type: "string";
91
+ readonly minLength: 1;
92
+ };
93
+ readonly max_age_seconds: {
94
+ readonly type: "integer";
95
+ readonly minimum: 1;
96
+ };
97
+ };
98
+ };
99
+ }, {
100
+ readonly if: {
101
+ readonly properties: {
102
+ readonly mode: {
103
+ readonly const: "hmac";
104
+ };
105
+ };
106
+ readonly required: readonly ["mode"];
107
+ };
108
+ readonly then: {
109
+ readonly additionalProperties: false;
110
+ readonly required: readonly ["secret_from", "header"];
111
+ readonly properties: {
112
+ readonly mode: {};
113
+ readonly secret_from: {
114
+ readonly type: "string";
115
+ readonly minLength: 1;
116
+ };
117
+ readonly header: {
118
+ readonly type: "string";
119
+ readonly minLength: 1;
120
+ };
121
+ readonly algorithm: {
122
+ readonly enum: readonly ["sha1", "sha256", "sha512"];
123
+ };
124
+ readonly encoding: {
125
+ readonly enum: readonly ["hex", "base64"];
126
+ };
127
+ readonly timestamp_header: {
128
+ readonly type: "string";
129
+ readonly minLength: 1;
130
+ };
131
+ readonly max_age_seconds: {
132
+ readonly type: "integer";
133
+ readonly minimum: 1;
134
+ };
135
+ };
136
+ };
137
+ }, {
138
+ readonly if: {
139
+ readonly properties: {
140
+ readonly mode: {
141
+ readonly const: "none";
142
+ };
143
+ };
144
+ readonly required: readonly ["mode"];
145
+ };
146
+ readonly then: {
147
+ readonly additionalProperties: false;
148
+ readonly properties: {
149
+ readonly mode: {};
150
+ };
151
+ };
152
+ }];
153
+ };
154
+ readonly filter: {
155
+ readonly type: "object";
156
+ readonly required: readonly ["all"];
157
+ readonly additionalProperties: false;
158
+ readonly properties: {
159
+ readonly all: {
160
+ readonly type: "array";
161
+ readonly minItems: 1;
162
+ readonly maxItems: 8;
163
+ readonly items: {
164
+ readonly type: "object";
165
+ readonly additionalProperties: false;
166
+ readonly required: readonly ["value"];
167
+ readonly properties: {
168
+ readonly header: {
169
+ readonly type: "string";
170
+ readonly minLength: 1;
171
+ };
172
+ readonly path: {
173
+ readonly type: "string";
174
+ readonly minLength: 1;
175
+ };
176
+ readonly value: {
177
+ readonly anyOf: readonly [{
178
+ readonly type: "string";
179
+ readonly minLength: 1;
180
+ }, {
181
+ readonly type: "array";
182
+ readonly items: {
183
+ readonly type: "string";
184
+ readonly minLength: 1;
185
+ };
186
+ readonly minItems: 1;
187
+ }];
188
+ };
189
+ };
190
+ readonly oneOf: readonly [{
191
+ readonly required: readonly ["header"];
192
+ readonly properties: {
193
+ readonly header: {};
194
+ };
195
+ }, {
196
+ readonly required: readonly ["path"];
197
+ readonly properties: {
198
+ readonly path: {};
199
+ };
200
+ }];
201
+ };
202
+ };
203
+ };
204
+ };
205
+ readonly dedup: {
206
+ readonly oneOf: readonly [{
207
+ readonly const: false;
208
+ }, {
209
+ readonly type: "object";
210
+ readonly required: readonly ["id_from"];
211
+ readonly additionalProperties: false;
212
+ readonly properties: {
213
+ readonly id_from: {
214
+ readonly type: "string";
215
+ readonly minLength: 1;
216
+ };
217
+ readonly ttl_minutes: {
218
+ readonly type: "integer";
219
+ readonly minimum: 1;
220
+ readonly maximum: 10080;
221
+ };
222
+ readonly on_missing_id: {
223
+ readonly enum: readonly ["skip", "reject"];
224
+ };
225
+ };
226
+ }];
227
+ };
228
+ readonly params_map: {
229
+ readonly type: "object";
230
+ readonly additionalProperties: {
231
+ readonly type: "string";
232
+ readonly minLength: 1;
233
+ };
234
+ };
235
+ };
236
+ };
237
+ /**
238
+ * Normalises a shorthand filter (a single FilterCondition object with no `all` key) into the
239
+ * canonical { all: [condition] } form, IN PLACE. Called BEFORE schema validation so a malformed
240
+ * shorthand is validated rather than silently laundered into canonical form. No-op when trigger is
241
+ * not an object, when filter is absent/not an object, or when filter already has an `all` key.
242
+ */
243
+ export declare function normalizeTriggerFilter(trigger: unknown): void;
244
+ /**
245
+ * Validates a trigger block against TRIGGER_JSON_SCHEMA via Ajv. Returns an array of human-readable
246
+ * error strings (empty = valid). Never throws.
247
+ */
248
+ export declare function validateTriggerStructure(trigger: unknown): string[];
249
+ //# sourceMappingURL=trigger-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-schema.d.ts","sourceRoot":"","sources":["../../src/workflow/trigger-schema.ts"],"names":[],"mappings":"AAcA;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6HtB,CAAC;AA6GX;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa7D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAMnE"}
@@ -0,0 +1,280 @@
1
+ // Declarative trigger-block validation (minimal, Gorgias-anchored).
2
+ //
3
+ // The webhook `trigger:` block is validated against a single small JSON Schema (draft-07) using the
4
+ // same Ajv pattern the loader already uses for params_schema and adapter config_schema. The surface
5
+ // is intentionally small: `auth` carries a verification *mode* (shared_secret | github | stripe |
6
+ // hmac | none), an optional `filter`, optional `dedup`, and `params_map`.
7
+ //
8
+ // Patterns carried over from the earlier (closed) rich design: per-mode CLOSED sets (each mode's
9
+ // `then` has its own additionalProperties:false + properties + required, with property stubs on the
10
+ // combinators so the schema is `strictRequired`-clean under Ajv strict:true), the `formatAjvErrors`
11
+ // wrapper-noise pruning, and the `normalizeTriggerFilter` shorthand→{all:[…]} step.
12
+ import { Ajv } from 'ajv';
13
+ /**
14
+ * JSON Schema (draft-07) for the minimal webhook trigger block.
15
+ *
16
+ * `auth` is discriminated on `mode`. Each mode's `then` is a closed set: a field belonging to a
17
+ * different mode (e.g. `mode: github` + `algorithm`) is rejected as unknown rather than silently
18
+ * ignored. Every `if` includes `required: ['mode']` so the condition only matches when `mode` is
19
+ * present and equal to the const (avoids the draft-07 "absent property in `if` is vacuously true"
20
+ * trap). The combinators (filter `oneOf`, value `anyOf`) carry property stubs to satisfy
21
+ * strictRequired.
22
+ */
23
+ export const TRIGGER_JSON_SCHEMA = {
24
+ type: 'object',
25
+ required: ['type', 'auth'],
26
+ additionalProperties: false,
27
+ properties: {
28
+ type: { const: 'webhook' },
29
+ path: { type: 'string', minLength: 1 },
30
+ auth: {
31
+ type: 'object',
32
+ required: ['mode'],
33
+ properties: {
34
+ mode: { enum: ['shared_secret', 'github', 'stripe', 'hmac', 'none'] },
35
+ },
36
+ allOf: [
37
+ {
38
+ if: { properties: { mode: { const: 'shared_secret' } }, required: ['mode'] },
39
+ then: {
40
+ additionalProperties: false,
41
+ required: ['header', 'secret_from'],
42
+ properties: {
43
+ mode: {},
44
+ header: { type: 'string', minLength: 1 },
45
+ secret_from: { type: 'string', minLength: 1 },
46
+ },
47
+ },
48
+ },
49
+ {
50
+ if: { properties: { mode: { const: 'github' } }, required: ['mode'] },
51
+ then: {
52
+ additionalProperties: false,
53
+ required: ['secret_from'],
54
+ properties: { mode: {}, secret_from: { type: 'string', minLength: 1 } },
55
+ },
56
+ },
57
+ {
58
+ if: { properties: { mode: { const: 'stripe' } }, required: ['mode'] },
59
+ then: {
60
+ additionalProperties: false,
61
+ required: ['secret_from'],
62
+ properties: {
63
+ mode: {},
64
+ secret_from: { type: 'string', minLength: 1 },
65
+ max_age_seconds: { type: 'integer', minimum: 1 },
66
+ },
67
+ },
68
+ },
69
+ {
70
+ if: { properties: { mode: { const: 'hmac' } }, required: ['mode'] },
71
+ then: {
72
+ additionalProperties: false,
73
+ required: ['secret_from', 'header'],
74
+ properties: {
75
+ mode: {},
76
+ secret_from: { type: 'string', minLength: 1 },
77
+ header: { type: 'string', minLength: 1 },
78
+ algorithm: { enum: ['sha1', 'sha256', 'sha512'] },
79
+ encoding: { enum: ['hex', 'base64'] },
80
+ timestamp_header: { type: 'string', minLength: 1 },
81
+ max_age_seconds: { type: 'integer', minimum: 1 },
82
+ },
83
+ },
84
+ },
85
+ {
86
+ if: { properties: { mode: { const: 'none' } }, required: ['mode'] },
87
+ then: {
88
+ additionalProperties: false,
89
+ properties: { mode: {} },
90
+ },
91
+ },
92
+ ],
93
+ },
94
+ filter: {
95
+ type: 'object',
96
+ required: ['all'],
97
+ additionalProperties: false,
98
+ properties: {
99
+ all: {
100
+ type: 'array',
101
+ minItems: 1,
102
+ maxItems: 8,
103
+ items: {
104
+ type: 'object',
105
+ additionalProperties: false,
106
+ required: ['value'],
107
+ properties: {
108
+ header: { type: 'string', minLength: 1 },
109
+ path: { type: 'string', minLength: 1 },
110
+ // non-empty string OR non-empty array of non-empty strings (an empty / empty-element
111
+ // allow-list is an unsatisfiable, dead-on-arrival condition).
112
+ value: {
113
+ anyOf: [
114
+ { type: 'string', minLength: 1 },
115
+ { type: 'array', items: { type: 'string', minLength: 1 }, minItems: 1 },
116
+ ],
117
+ },
118
+ },
119
+ // exactly one of header / path. Property stubs satisfy strictRequired.
120
+ oneOf: [
121
+ { required: ['header'], properties: { header: {} } },
122
+ { required: ['path'], properties: { path: {} } },
123
+ ],
124
+ },
125
+ },
126
+ },
127
+ },
128
+ dedup: {
129
+ oneOf: [
130
+ { const: false },
131
+ {
132
+ type: 'object',
133
+ required: ['id_from'],
134
+ additionalProperties: false,
135
+ properties: {
136
+ id_from: { type: 'string', minLength: 1 },
137
+ ttl_minutes: { type: 'integer', minimum: 1, maximum: 10080 },
138
+ on_missing_id: { enum: ['skip', 'reject'] },
139
+ },
140
+ },
141
+ ],
142
+ },
143
+ params_map: {
144
+ type: 'object',
145
+ additionalProperties: { type: 'string', minLength: 1 },
146
+ },
147
+ },
148
+ };
149
+ // Compile once. allErrors:true so anyOf/oneOf subschema failures surface field-naming errors and a
150
+ // misconfiguration reports every problem at load. strict:true is safe AND enforced — the per-mode
151
+ // `then`s declare every property they require and the combinators carry property stubs, so any
152
+ // future edit that reintroduces a strictRequired violation fails loudly at module import / in tests.
153
+ const ajv = new Ajv({ allErrors: true, strict: true });
154
+ const validateFn = ajv.compile(TRIGGER_JSON_SCHEMA);
155
+ /**
156
+ * Formats one Ajv error into a human-readable string that INCLUDES the offending field name, so
157
+ * downstream message regexes keep matching. Ajv 8 exposes `instancePath` as a JSON Pointer
158
+ * (e.g. '/auth/mode') and `params.{missingProperty,additionalProperty}`.
159
+ */
160
+ function formatAjvError(err) {
161
+ const instancePath = typeof err.instancePath === 'string' ? err.instancePath : '';
162
+ const base = `trigger${instancePath}`;
163
+ const params = (err.params ?? {});
164
+ if (err.keyword === 'required' && typeof params['missingProperty'] === 'string') {
165
+ return `${base}: missing required property '${params['missingProperty']}'`;
166
+ }
167
+ if (err.keyword === 'additionalProperties' && typeof params['additionalProperty'] === 'string') {
168
+ return `${base}: unknown property '${params['additionalProperty']}'`;
169
+ }
170
+ return `${base} ${err.message ?? 'is invalid'}`.trim();
171
+ }
172
+ // Structural combinator keywords. Their errors wrap the real (leaf) failures, so they add noise
173
+ // without information once a leaf is present.
174
+ const WRAPPER_KEYWORDS = new Set(['oneOf', 'anyOf', 'if']);
175
+ /**
176
+ * Cleans Ajv's raw error array into a concise, field-named, de-duplicated string list:
177
+ * - drops the misleading dedup `{ const: false }` line (it implies "dedup must be false"),
178
+ * - drops structural wrapper noise (`if`, and `anyOf`/`oneOf` when a leaf already explains it),
179
+ * - replaces the otherwise-cryptic filter header-XOR-path `oneOf` (both branches matched → no leaf)
180
+ * with a clear message,
181
+ * - keeps every field-named leaf error, de-duplicates (first-seen order), never returns empty for a
182
+ * real failure.
183
+ * Pure and string-only — never changes which configs validate.
184
+ */
185
+ function formatAjvErrors(errs) {
186
+ const leafPaths = new Set();
187
+ for (const err of errs) {
188
+ if (!WRAPPER_KEYWORDS.has(err.keyword)) {
189
+ leafPaths.add(typeof err.instancePath === 'string' ? err.instancePath : '');
190
+ }
191
+ }
192
+ const hasLeafAtOrUnder = (path) => {
193
+ for (const leaf of leafPaths) {
194
+ if (leaf === path || leaf.startsWith(`${path}/`)) {
195
+ return true;
196
+ }
197
+ }
198
+ return false;
199
+ };
200
+ const out = [];
201
+ for (const err of errs) {
202
+ const instancePath = typeof err.instancePath === 'string' ? err.instancePath : '';
203
+ const params = (err.params ?? {});
204
+ // Misleading dedup `{ const: false }` branch error.
205
+ if (err.keyword === 'const' && instancePath === '/dedup' && params['allowedValue'] === false) {
206
+ continue;
207
+ }
208
+ // `if` is always redundant — the failing `then`'s own leaf error is always present.
209
+ if (err.keyword === 'if') {
210
+ continue;
211
+ }
212
+ // `anyOf` — drop when a leaf exists at the same path or deeper.
213
+ if (err.keyword === 'anyOf') {
214
+ if (hasLeafAtOrUnder(instancePath)) {
215
+ continue;
216
+ }
217
+ out.push(formatAjvError(err));
218
+ continue;
219
+ }
220
+ // `oneOf`.
221
+ if (err.keyword === 'oneOf') {
222
+ const passing = params['passingSchemas'];
223
+ if (Array.isArray(passing) && passing.length >= 2) {
224
+ // More than one branch matched → no leaf error exists. Replace with a clear message.
225
+ if (/^\/filter\/all\/\d+$/.test(instancePath)) {
226
+ out.push(`trigger${instancePath}: must have exactly one of 'header' or 'path'`);
227
+ }
228
+ else {
229
+ out.push(`trigger${instancePath}: must match exactly one of the allowed shapes`);
230
+ }
231
+ continue;
232
+ }
233
+ if (hasLeafAtOrUnder(instancePath)) {
234
+ continue;
235
+ }
236
+ out.push(formatAjvError(err));
237
+ continue;
238
+ }
239
+ // Leaf error.
240
+ out.push(formatAjvError(err));
241
+ }
242
+ const deduped = [...new Set(out)];
243
+ // Safety net: a failure must never produce zero messages.
244
+ if (deduped.length === 0 && errs.length > 0) {
245
+ return [...new Set(errs.map(formatAjvError))];
246
+ }
247
+ return deduped;
248
+ }
249
+ /**
250
+ * Normalises a shorthand filter (a single FilterCondition object with no `all` key) into the
251
+ * canonical { all: [condition] } form, IN PLACE. Called BEFORE schema validation so a malformed
252
+ * shorthand is validated rather than silently laundered into canonical form. No-op when trigger is
253
+ * not an object, when filter is absent/not an object, or when filter already has an `all` key.
254
+ */
255
+ export function normalizeTriggerFilter(trigger) {
256
+ if (typeof trigger !== 'object' || trigger === null || Array.isArray(trigger)) {
257
+ return;
258
+ }
259
+ const t = trigger;
260
+ const filter = t['filter'];
261
+ if (typeof filter !== 'object' || filter === null || Array.isArray(filter)) {
262
+ return;
263
+ }
264
+ if ('all' in filter) {
265
+ return;
266
+ }
267
+ t['filter'] = { all: [filter] };
268
+ }
269
+ /**
270
+ * Validates a trigger block against TRIGGER_JSON_SCHEMA via Ajv. Returns an array of human-readable
271
+ * error strings (empty = valid). Never throws.
272
+ */
273
+ export function validateTriggerStructure(trigger) {
274
+ const valid = validateFn(trigger);
275
+ if (!valid && validateFn.errors) {
276
+ return formatAjvErrors(validateFn.errors);
277
+ }
278
+ return [];
279
+ }
280
+ //# sourceMappingURL=trigger-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-schema.js","sourceRoot":"","sources":["../../src/workflow/trigger-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-loader.d.ts","sourceRoot":"","sources":["../../src/workflow/yaml-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,iFAAiF;AACjF,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAajD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CA+HpB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CAsdpB"}
1
+ {"version":3,"file":"yaml-loader.d.ts","sourceRoot":"","sources":["../../src/workflow/yaml-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,iFAAiF;AACjF,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAajD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CA+HpB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CA6dpB"}
@@ -6,6 +6,7 @@ import { load } from 'js-yaml';
6
6
  import { Ajv } from 'ajv';
7
7
  import { WorkflowError } from '../types/workflow-error.js';
8
8
  import { resolveTemplates } from './template-resolver.js';
9
+ import { normalizeTriggerFilter, validateTriggerStructure } from './trigger-schema.js';
9
10
  /** Bumped on every breaking change to WorkflowDefinition's serialized format. */
10
11
  export const CURRENT_WORKFLOW_SCHEMA_VERSION = 1;
11
12
  const VALID_EXECUTIONS = new Set(['auto', 'agent', 'guard']);
@@ -476,6 +477,12 @@ export function loadWorkflowFromString(content, registry) {
476
477
  }
477
478
  }
478
479
  }
480
+ // Step 3b: Trigger block validation (schema-driven — see trigger-schema.ts)
481
+ const triggerRaw = doc['trigger'];
482
+ if (triggerRaw !== undefined) {
483
+ normalizeTriggerFilter(triggerRaw); // canonicalise shorthand BEFORE validation
484
+ errors.push(...validateTriggerStructure(triggerRaw));
485
+ }
479
486
  if (errors.length > 0) {
480
487
  throw new WorkflowError(`Invalid workflow: ${errors.join('; ')}`, {
481
488
  code: 'VALIDATION_WORKFLOW_SCHEMA',