veto-sdk 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/cli/init.d.ts +5 -1
  2. package/dist/cli/init.d.ts.map +1 -1
  3. package/dist/cli/init.js +21 -5
  4. package/dist/cli/init.js.map +1 -1
  5. package/dist/cli/mcp.d.ts +1 -1
  6. package/dist/cli/mcp.d.ts.map +1 -1
  7. package/dist/cli/mcp.js +6 -7
  8. package/dist/cli/mcp.js.map +1 -1
  9. package/dist/cli/runner.d.ts.map +1 -1
  10. package/dist/cli/runner.js +4 -1
  11. package/dist/cli/runner.js.map +1 -1
  12. package/dist/cli/templates.d.ts +7 -1
  13. package/dist/cli/templates.d.ts.map +1 -1
  14. package/dist/cli/templates.js +83 -23
  15. package/dist/cli/templates.js.map +1 -1
  16. package/dist/rules/condition-evaluator.d.ts.map +1 -1
  17. package/dist/rules/condition-evaluator.js +5 -1
  18. package/dist/rules/condition-evaluator.js.map +1 -1
  19. package/dist/rules/feed-provider.d.ts +39 -0
  20. package/dist/rules/feed-provider.d.ts.map +1 -0
  21. package/dist/rules/feed-provider.js +65 -0
  22. package/dist/rules/feed-provider.js.map +1 -0
  23. package/dist/rules/index.d.ts +2 -1
  24. package/dist/rules/index.d.ts.map +1 -1
  25. package/dist/rules/index.js +5 -0
  26. package/dist/rules/index.js.map +1 -1
  27. package/dist/rules/local-evaluator.d.ts +14 -3
  28. package/dist/rules/local-evaluator.d.ts.map +1 -1
  29. package/dist/rules/local-evaluator.js +20 -5
  30. package/dist/rules/local-evaluator.js.map +1 -1
  31. package/dist/rules/pipeline-dsl.d.ts +802 -0
  32. package/dist/rules/pipeline-dsl.d.ts.map +1 -0
  33. package/dist/rules/pipeline-dsl.js +198 -0
  34. package/dist/rules/pipeline-dsl.js.map +1 -0
  35. package/dist/rules/policy-ir-schema.d.ts +62 -0
  36. package/dist/rules/policy-ir-schema.d.ts.map +1 -1
  37. package/dist/rules/policy-ir-schema.js +58 -0
  38. package/dist/rules/policy-ir-schema.js.map +1 -1
  39. package/dist/rules/types.d.ts +78 -0
  40. package/dist/rules/types.d.ts.map +1 -1
  41. package/dist/rules/types.js +13 -0
  42. package/dist/rules/types.js.map +1 -1
  43. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-dsl.d.ts","sourceRoot":"","sources":["../../src/rules/pipeline-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkExB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAO7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;IASjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA4BvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,YAAY,GAC5C,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAC9B,YAAY,CAEd"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Pipeline DSL — declarative, content-addressable spec for dynamic
3
+ * policy feeds.
4
+ *
5
+ * A pipeline composes a small set of validated resolver operations into
6
+ * a list-producing DAG. The LLM compiler emits pipelines by selecting
7
+ * from a fixed catalog; it never writes executable code. Identity is
8
+ * the sha256 of the canonicalized spec (minus `id`), so two callers
9
+ * requesting "block gambling sites" share one pipeline.
10
+ *
11
+ * This module is pure OSS: runtime, scheduler, and resolver
12
+ * implementations live in the platform. The SDK only exposes the
13
+ * schema and validator so consumers can author, verify, and diff
14
+ * pipeline specs without the platform.
15
+ *
16
+ * @module rules/pipeline-dsl
17
+ */
18
+ import { z } from 'zod';
19
+ import { createHash } from 'node:crypto';
20
+ const identifier = z
21
+ .string()
22
+ .min(1)
23
+ .max(64)
24
+ .regex(/^[a-z][a-z0-9_]*$/i, 'identifier must start with a letter and contain only [A-Za-z0-9_]');
25
+ const resolverName = z
26
+ .string()
27
+ .min(1)
28
+ .max(64)
29
+ .regex(/^[a-z][a-z0-9_-]*$/, 'resolver name must be lowercase kebab/snake');
30
+ const searchStep = z.object({
31
+ kind: z.literal('search'),
32
+ resolver: resolverName,
33
+ query: z.string().min(1).max(2048),
34
+ limit: z.number().int().min(1).max(1000).optional(),
35
+ as: identifier.optional(),
36
+ });
37
+ const fetchStep = z.object({
38
+ kind: z.literal('fetch'),
39
+ resolver: resolverName,
40
+ id_from: z.string().min(1).max(256),
41
+ fields: z.array(z.string().min(1).max(128)).min(1).max(32),
42
+ as: identifier.optional(),
43
+ });
44
+ const extractStep = z.object({
45
+ kind: z.literal('extract'),
46
+ from: z.string().min(1).max(256),
47
+ selector: z.string().min(1).max(256),
48
+ as: identifier,
49
+ });
50
+ const aggregateStep = z.object({
51
+ kind: z.literal('aggregate'),
52
+ source: z.string().min(1).max(256),
53
+ op: z.enum(['unique', 'count', 'union', 'intersect']),
54
+ as: identifier.optional(),
55
+ });
56
+ const diffStep = z.object({
57
+ kind: z.literal('diff'),
58
+ current: z.string().min(1).max(256),
59
+ previous: z.string().min(1).max(256),
60
+ emit: z.enum(['added', 'removed', 'changed']),
61
+ as: identifier.optional(),
62
+ });
63
+ const leafStep = z.union([searchStep, fetchStep, extractStep, aggregateStep, diffStep]);
64
+ // `foreach` is the only step that can contain other steps. Depth 1 is
65
+ // sufficient for all compiled pipelines observed so far; deeper nesting
66
+ // is rejected to keep the cost model tractable and to block recursive
67
+ // prompt-injection patterns.
68
+ const foreachStep = z.object({
69
+ kind: z.literal('foreach'),
70
+ source: z.string().min(1).max(256),
71
+ do: z.array(leafStep).min(1).max(16),
72
+ as: identifier.optional(),
73
+ });
74
+ export const PipelineStepSchema = z.union([
75
+ searchStep,
76
+ fetchStep,
77
+ extractStep,
78
+ aggregateStep,
79
+ diffStep,
80
+ foreachStep,
81
+ ]);
82
+ export const PipelineScheduleSchema = z.union([
83
+ z.object({
84
+ kind: z.literal('interval'),
85
+ every_sec: z.number().int().min(60).max(7 * 24 * 60 * 60),
86
+ }),
87
+ z.object({
88
+ kind: z.literal('cron'),
89
+ expr: z.string().min(1).max(128),
90
+ }),
91
+ ]);
92
+ export const PipelineOutputSchema = z.object({
93
+ shape: z.enum(['list_of_strings', 'list_of_objects']),
94
+ schema: z.unknown().optional(),
95
+ });
96
+ export const PipelineBudgetSchema = z.object({
97
+ max_resolver_calls_per_run: z.number().int().min(1).max(10_000),
98
+ max_tokens_per_run: z.number().int().min(0).max(1_000_000),
99
+ });
100
+ export const PipelineSpecSchema = z.object({
101
+ dsl_version: z.literal(1),
102
+ // id is the sha256 of the canonicalized spec-minus-id. Required at
103
+ // load time; computed by `computePipelineId()` before persistence.
104
+ id: z.string().regex(/^[0-9a-f]{64}$/, 'pipeline id must be a hex sha256'),
105
+ description: z.string().max(512).optional(),
106
+ schedule: PipelineScheduleSchema,
107
+ steps: z.array(PipelineStepSchema).min(1).max(32),
108
+ output: PipelineOutputSchema,
109
+ budget: PipelineBudgetSchema,
110
+ on_failure: z.enum(['skip', 'fail_open', 'fail_closed', 'last_known_good']),
111
+ });
112
+ /**
113
+ * Canonicalize an arbitrary JSON value to a deterministic string.
114
+ *
115
+ * Rules:
116
+ * - Object keys sorted lexicographically.
117
+ * - Arrays preserved in order (order is semantically meaningful in DSL).
118
+ * - Numbers formatted with JSON.stringify default (no special handling).
119
+ * - `undefined` removed (matches JSON.stringify behavior).
120
+ *
121
+ * Throws on non-plain-object container types (Date, Map, Set, RegExp,
122
+ * class instances), BigInt, Symbol, and functions. These would either
123
+ * hash-collide silently (Date → `{}`) or crash JSON.stringify (BigInt).
124
+ * Pipeline specs validated by PipelineSpecSchema never contain such
125
+ * values; the guard exists for callers who bypass Zod.
126
+ *
127
+ * Used only for content-hash identity; not a general-purpose serializer.
128
+ */
129
+ export function canonicalizeJson(value) {
130
+ if (value === null)
131
+ return 'null';
132
+ const t = typeof value;
133
+ if (t === 'bigint' || t === 'symbol' || t === 'function') {
134
+ throw new TypeError(`canonicalizeJson: unsupported value of type ${t}`);
135
+ }
136
+ if (t !== 'object') {
137
+ return JSON.stringify(value);
138
+ }
139
+ if (Array.isArray(value)) {
140
+ return '[' + value.map(canonicalizeJson).join(',') + ']';
141
+ }
142
+ // Reject non-plain objects (Date, Map, Set, RegExp, class instances)
143
+ // which would serialize to `{}` via Object.entries and collide on hash.
144
+ const proto = Object.getPrototypeOf(value);
145
+ if (proto !== Object.prototype && proto !== null) {
146
+ throw new TypeError('canonicalizeJson: non-plain object rejected (Date/Map/Set/RegExp/class instances are not allowed in pipeline specs)');
147
+ }
148
+ const entries = Object.entries(value)
149
+ .filter(([, v]) => v !== undefined)
150
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
151
+ return ('{' +
152
+ entries.map(([k, v]) => JSON.stringify(k) + ':' + canonicalizeJson(v)).join(',') +
153
+ '}');
154
+ }
155
+ /**
156
+ * Compute the content-addressable pipeline id.
157
+ *
158
+ * The id is the hex sha256 of the canonicalized spec with the `id`
159
+ * field stripped (the id cannot refer to itself). Two specs that
160
+ * differ only in description still hash the same because the
161
+ * description is intentionally included — a new description means
162
+ * new monitoring semantics. Callers that want to reuse an existing
163
+ * pipeline should pass the same description.
164
+ */
165
+ export function computePipelineId(spec) {
166
+ const { ...rest } = spec;
167
+ delete rest.id;
168
+ const canonical = canonicalizeJson(rest);
169
+ return createHash('sha256').update(canonical).digest('hex');
170
+ }
171
+ /**
172
+ * Parse and validate an untrusted pipeline spec.
173
+ *
174
+ * Throws on any schema violation. Does NOT verify the `id` matches
175
+ * the content hash — call `verifyPipelineId(spec)` for that.
176
+ */
177
+ export function parsePipelineSpec(input) {
178
+ return PipelineSpecSchema.parse(input);
179
+ }
180
+ /**
181
+ * Verify the `id` field equals the computed content hash.
182
+ *
183
+ * Use on load from any untrusted source (network, disk) to detect
184
+ * tampering or stale ids after edits.
185
+ */
186
+ export function verifyPipelineId(spec) {
187
+ return spec.id === computePipelineId(spec);
188
+ }
189
+ /**
190
+ * Stamp the correct content-hash id onto a draft spec.
191
+ *
192
+ * Convenience for authors and compilers who produce specs without
193
+ * pre-computing the id.
194
+ */
195
+ export function stampPipelineId(draft) {
196
+ return { ...draft, id: computePipelineId(draft) };
197
+ }
198
+ //# sourceMappingURL=pipeline-dsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-dsl.js","sourceRoot":"","sources":["../../src/rules/pipeline-dsl.ts"],"names":[],"mappings":"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"}
@@ -337,6 +337,68 @@ export declare const POLICY_IR_V1_SCHEMA: {
337
337
  }];
338
338
  readonly additionalProperties: false;
339
339
  };
340
+ readonly FeedRef: {
341
+ readonly type: "object";
342
+ readonly required: readonly ["kind", "feed_id", "version", "max_staleness_sec", "fallback"];
343
+ readonly properties: {
344
+ readonly kind: {
345
+ readonly const: "feed";
346
+ };
347
+ readonly feed_id: {
348
+ readonly type: "string";
349
+ readonly minLength: 1;
350
+ readonly description: "Content-addressable pipeline/feed identifier.";
351
+ };
352
+ readonly version: {
353
+ readonly type: "string";
354
+ readonly minLength: 1;
355
+ readonly description: "Version pin: semver, \"latest\", or \"pinned\".";
356
+ };
357
+ readonly max_staleness_sec: {
358
+ readonly type: "integer";
359
+ readonly minimum: 0;
360
+ readonly description: "Max snapshot age in seconds before fallback applies.";
361
+ };
362
+ readonly fallback: {
363
+ readonly type: "string";
364
+ readonly enum: readonly ["fail_open", "fail_closed", "last_known_good"];
365
+ readonly description: "Behavior when the snapshot is missing or stale.";
366
+ };
367
+ };
368
+ readonly additionalProperties: false;
369
+ readonly description: "Typed reference to a dynamic pipeline feed. Used as a condition value for set-membership operators.";
370
+ };
371
+ readonly PipelineRef: {
372
+ readonly type: "object";
373
+ readonly required: readonly ["kind", "pipeline_id", "version", "max_staleness_sec", "fallback"];
374
+ readonly properties: {
375
+ readonly kind: {
376
+ readonly const: "pipeline";
377
+ };
378
+ readonly pipeline_id: {
379
+ readonly type: "string";
380
+ readonly minLength: 1;
381
+ readonly description: "Content-addressable pipeline identifier.";
382
+ };
383
+ readonly version: {
384
+ readonly type: "string";
385
+ readonly minLength: 1;
386
+ readonly description: "Version pin: semver, \"latest\", or \"pinned\".";
387
+ };
388
+ readonly max_staleness_sec: {
389
+ readonly type: "integer";
390
+ readonly minimum: 0;
391
+ readonly description: "Max snapshot age in seconds before fallback applies.";
392
+ };
393
+ readonly fallback: {
394
+ readonly type: "string";
395
+ readonly enum: readonly ["fail_open", "fail_closed", "last_known_good"];
396
+ readonly description: "Behavior when the snapshot is missing or stale.";
397
+ };
398
+ };
399
+ readonly additionalProperties: false;
400
+ readonly description: "Typed reference to a pipeline by id. Equivalent shape to FeedRef but kept distinct for compiler clarity.";
401
+ };
340
402
  readonly TimeWindowValue: {
341
403
  readonly type: "object";
342
404
  readonly required: readonly ["start", "end", "timezone"];
@@ -1 +1 @@
1
- {"version":3,"file":"policy-ir-schema.d.ts","sourceRoot":"","sources":["../../src/rules/policy-ir-schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6kBtB,CAAC"}
1
+ {"version":3,"file":"policy-ir-schema.d.ts","sourceRoot":"","sources":["../../src/rules/policy-ir-schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuoBtB,CAAC"}
@@ -294,6 +294,64 @@ export const POLICY_IR_V1_SCHEMA = {
294
294
  ],
295
295
  additionalProperties: false,
296
296
  },
297
+ FeedRef: {
298
+ type: 'object',
299
+ required: ['kind', 'feed_id', 'version', 'max_staleness_sec', 'fallback'],
300
+ properties: {
301
+ kind: { const: 'feed' },
302
+ feed_id: {
303
+ type: 'string',
304
+ minLength: 1,
305
+ description: 'Content-addressable pipeline/feed identifier.',
306
+ },
307
+ version: {
308
+ type: 'string',
309
+ minLength: 1,
310
+ description: 'Version pin: semver, "latest", or "pinned".',
311
+ },
312
+ max_staleness_sec: {
313
+ type: 'integer',
314
+ minimum: 0,
315
+ description: 'Max snapshot age in seconds before fallback applies.',
316
+ },
317
+ fallback: {
318
+ type: 'string',
319
+ enum: ['fail_open', 'fail_closed', 'last_known_good'],
320
+ description: 'Behavior when the snapshot is missing or stale.',
321
+ },
322
+ },
323
+ additionalProperties: false,
324
+ description: 'Typed reference to a dynamic pipeline feed. Used as a condition value for set-membership operators.',
325
+ },
326
+ PipelineRef: {
327
+ type: 'object',
328
+ required: ['kind', 'pipeline_id', 'version', 'max_staleness_sec', 'fallback'],
329
+ properties: {
330
+ kind: { const: 'pipeline' },
331
+ pipeline_id: {
332
+ type: 'string',
333
+ minLength: 1,
334
+ description: 'Content-addressable pipeline identifier.',
335
+ },
336
+ version: {
337
+ type: 'string',
338
+ minLength: 1,
339
+ description: 'Version pin: semver, "latest", or "pinned".',
340
+ },
341
+ max_staleness_sec: {
342
+ type: 'integer',
343
+ minimum: 0,
344
+ description: 'Max snapshot age in seconds before fallback applies.',
345
+ },
346
+ fallback: {
347
+ type: 'string',
348
+ enum: ['fail_open', 'fail_closed', 'last_known_good'],
349
+ description: 'Behavior when the snapshot is missing or stale.',
350
+ },
351
+ },
352
+ additionalProperties: false,
353
+ description: 'Typed reference to a pipeline by id. Equivalent shape to FeedRef but kept distinct for compiler clarity.',
354
+ },
297
355
  TimeWindowValue: {
298
356
  type: 'object',
299
357
  required: ['start', 'end', 'timezone'],
@@ -1 +1 @@
1
- {"version":3,"file":"policy-ir-schema.js","sourceRoot":"","sources":["../../src/rules/policy-ir-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-ir-schema.js","sourceRoot":"","sources":["../../src/rules/policy-ir-schema.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,84 @@ export interface TimeWindowConditionValue {
31
31
  /** Optional allowed day filters. If omitted, applies every day. */
32
32
  days?: TimeConditionDay[];
33
33
  }
34
+ /**
35
+ * Behavior when a feed snapshot is missing or stale.
36
+ *
37
+ * - `fail_open`: treat as unmatched (rule does not trigger). Use when the
38
+ * rule is a block-list and availability matters more than precision.
39
+ * - `fail_closed`: treat as matched (rule triggers). Use when the rule is
40
+ * an allow-list and missing data must not silently permit.
41
+ * - `last_known_good`: use the most recent snapshot irrespective of age.
42
+ * The provider is responsible for holding the last snapshot; the
43
+ * evaluator only distinguishes "snapshot present" vs "absent".
44
+ */
45
+ export type FeedFallback = 'fail_open' | 'fail_closed' | 'last_known_good';
46
+ /**
47
+ * Condition value referencing a dynamic pipeline feed.
48
+ *
49
+ * The comparand is resolved at evaluation time from a FeedProvider.
50
+ * Used with set-membership operators (`in`, `not_in`, `contains`,
51
+ * `not_contains`).
52
+ */
53
+ export interface FeedConditionValue {
54
+ kind: 'feed';
55
+ /** Content-addressable pipeline/feed identifier. */
56
+ feed_id: string;
57
+ /** Version pinning: semver, `"latest"`, or `"pinned"` (immutable). */
58
+ version: string | 'latest' | 'pinned';
59
+ /** Max age in seconds before the snapshot is considered stale. */
60
+ max_staleness_sec: number;
61
+ /** Behavior on missing or stale snapshot. */
62
+ fallback: FeedFallback;
63
+ }
64
+ /**
65
+ * Condition value referencing a pipeline by id. Equivalent to a FeedRef
66
+ * whose feed_id is the pipeline's content hash — kept as a distinct
67
+ * variant so compilers can emit either shape depending on whether the
68
+ * policy references the pipeline itself or a downstream feed.
69
+ */
70
+ export interface PipelineConditionValue {
71
+ kind: 'pipeline';
72
+ pipeline_id: string;
73
+ version: string | 'latest' | 'pinned';
74
+ max_staleness_sec: number;
75
+ fallback: FeedFallback;
76
+ }
77
+ /**
78
+ * Union of the typed condition-value variants. A literal value in
79
+ * `RuleCondition.value` is not wrapped; only references are tagged.
80
+ * Use `isConditionValueRef(v)` at runtime to narrow.
81
+ */
82
+ export type ConditionValueRef = FeedConditionValue | PipelineConditionValue;
83
+ /**
84
+ * Runtime narrowing guard for typed condition-value references.
85
+ *
86
+ * Returns true when `value` is a tagged FeedRef or PipelineRef.
87
+ * Literal values, arrays, TimeWindowConditionValue, and other plain
88
+ * objects return false and are treated as bare comparands.
89
+ */
90
+ export declare function isConditionValueRef(value: unknown): value is ConditionValueRef;
91
+ /**
92
+ * Snapshot returned by a FeedProvider.
93
+ */
94
+ export interface FeedSnapshot {
95
+ /** Resolved snapshot data — usually a list of strings or objects. */
96
+ data: unknown[];
97
+ /** Unix ms timestamp when the snapshot was produced upstream. */
98
+ refreshed_at_ms: number;
99
+ /** Semver or content-hash version of the producing pipeline spec. */
100
+ version?: string;
101
+ }
102
+ /**
103
+ * Read-only feed-snapshot provider injected into the local evaluator.
104
+ *
105
+ * Intentionally synchronous: the evaluator must remain sub-millisecond.
106
+ * Async refresh is the caller's responsibility — the provider should
107
+ * hand back the most recent pre-fetched snapshot or `undefined`.
108
+ */
109
+ export interface FeedProvider {
110
+ get(feedId: string, version?: string): FeedSnapshot | undefined;
111
+ }
34
112
  /**
35
113
  * A single condition within a rule.
36
114
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,cAAc,GACd,aAAa,GACb,WAAW,GACX,SAAS,GACT,cAAc,GACd,uBAAuB,GACvB,WAAW,GACX,oBAAoB,GACpB,YAAY,GACZ,qBAAqB,GACrB,IAAI,GACJ,QAAQ,GACR,YAAY,GACZ,eAAe,GACf,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtC,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;AAE5E;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAI9E;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;CACjE;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC;IACrC,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAErG;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACjC,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,EAAE,GAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,2CAA2C;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,sEAAsE;IACtE,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC;IACrC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACpC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,2CAA2C;IAC3C,MAAM,EAAE,gBAAgB,CAAC;IACzB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IACpC,6DAA6D;IAC7D,uBAAuB,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC;IAC5C,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACxC,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,yCAAyC;IACzC,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,yCAAyC;IACzC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,gDAAgD;IAChD,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,kDAAkD;IAClD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,yDAAyD;IACzD,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7C,2CAA2C;IAC3C,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,kDAAkD;IAClD,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAChC,oCAAoC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GACf,IAAI,EAAE,CAKR;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GACf,UAAU,EAAE,CAKd"}
@@ -6,6 +6,19 @@
6
6
  *
7
7
  * @module rules/types
8
8
  */
9
+ /**
10
+ * Runtime narrowing guard for typed condition-value references.
11
+ *
12
+ * Returns true when `value` is a tagged FeedRef or PipelineRef.
13
+ * Literal values, arrays, TimeWindowConditionValue, and other plain
14
+ * objects return false and are treated as bare comparands.
15
+ */
16
+ export function isConditionValueRef(value) {
17
+ if (value === null || typeof value !== 'object' || Array.isArray(value))
18
+ return false;
19
+ const kind = value.kind;
20
+ return kind === 'feed' || kind === 'pipeline';
21
+ }
9
22
  /**
10
23
  * Get rules applicable to a specific tool.
11
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2TH;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAwB,EACxB,QAAgB;IAEhB,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAwB,EACxB,QAAgB;IAEhB,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,CAAC,GAAG,WAAW,CAAC,iBAAiB,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CAC/D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsGH;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,UAAU,CAAC;AAChD,CAAC;AAmSD;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAwB,EACxB,QAAgB;IAEhB,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAwB,EACxB,QAAgB;IAEhB,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,CAAC,GAAG,WAAW,CAAC,iBAAiB,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CAC/D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veto-sdk",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "A guardrail system that intercepts and validates AI agent tool calls",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -127,6 +127,10 @@
127
127
  "types": "./dist/rules/index.d.ts",
128
128
  "import": "./dist/rules/index.js"
129
129
  },
130
+ "./rules/pipeline-dsl": {
131
+ "types": "./dist/rules/pipeline-dsl.d.ts",
132
+ "import": "./dist/rules/pipeline-dsl.js"
133
+ },
130
134
  "./config": {
131
135
  "types": "./dist/cli/config.d.ts",
132
136
  "import": "./dist/cli/config.js"