@sensigo/realm 0.41.0 → 0.43.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 (41) hide show
  1. package/dist/adapters/gorgias-adapter.d.ts.map +1 -1
  2. package/dist/adapters/gorgias-adapter.js +39 -10
  3. package/dist/adapters/gorgias-adapter.js.map +1 -1
  4. package/dist/engine/execution-loop.d.ts.map +1 -1
  5. package/dist/engine/execution-loop.js +124 -21
  6. package/dist/engine/execution-loop.js.map +1 -1
  7. package/dist/engine/run-health.d.ts +1 -1
  8. package/dist/engine/run-health.d.ts.map +1 -1
  9. package/dist/engine/run-health.js +49 -4
  10. package/dist/engine/run-health.js.map +1 -1
  11. package/dist/index.d.ts +7 -3
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +8 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/types/run-record.d.ts +11 -1
  16. package/dist/types/run-record.d.ts.map +1 -1
  17. package/dist/types/run-record.js.map +1 -1
  18. package/dist/types/workflow-definition.d.ts +146 -10
  19. package/dist/types/workflow-definition.d.ts.map +1 -1
  20. package/dist/types/workflow-definition.js +225 -0
  21. package/dist/types/workflow-definition.js.map +1 -1
  22. package/dist/types/workflow-error.d.ts +1 -1
  23. package/dist/types/workflow-error.d.ts.map +1 -1
  24. package/dist/types/workflow-error.js.map +1 -1
  25. package/dist/workflow/diagnostics.d.ts +41 -5
  26. package/dist/workflow/diagnostics.d.ts.map +1 -1
  27. package/dist/workflow/diagnostics.js +34 -6
  28. package/dist/workflow/diagnostics.js.map +1 -1
  29. package/dist/workflow/registrar.d.ts +42 -0
  30. package/dist/workflow/registrar.d.ts.map +1 -1
  31. package/dist/workflow/registrar.js +57 -0
  32. package/dist/workflow/registrar.js.map +1 -1
  33. package/dist/workflow/step-key-registry.d.ts +1258 -0
  34. package/dist/workflow/step-key-registry.d.ts.map +1 -0
  35. package/dist/workflow/step-key-registry.js +1217 -0
  36. package/dist/workflow/step-key-registry.js.map +1 -0
  37. package/dist/workflow/yaml-loader.d.ts +16 -0
  38. package/dist/workflow/yaml-loader.d.ts.map +1 -1
  39. package/dist/workflow/yaml-loader.js +581 -345
  40. package/dist/workflow/yaml-loader.js.map +1 -1
  41. package/package.json +1 -1
@@ -0,0 +1,1258 @@
1
+ import type { WarningCode } from './diagnostics.js';
2
+ import { KNOWN_STEP_KEYS } from '../types/workflow-definition.js';
3
+ import type { ExecutionMode } from '../types/workflow-definition.js';
4
+ export type StepKeyWitness = {
5
+ file: string;
6
+ pattern: string;
7
+ count?: number;
8
+ };
9
+ export type StepKeyVia = {
10
+ kind: 'advisory';
11
+ code: WarningCode;
12
+ } | {
13
+ kind: 'waived';
14
+ reason: string;
15
+ } | {
16
+ kind: 'tracked';
17
+ issue: `#${number}`;
18
+ };
19
+ export type StepKeyCell = {
20
+ c: 'consumed';
21
+ where: StepKeyWitness[];
22
+ when?: {
23
+ desc: string;
24
+ witness: StepKeyWitness;
25
+ };
26
+ inert_subpop?: Array<{
27
+ desc: string;
28
+ via: StepKeyVia;
29
+ }>;
30
+ } | {
31
+ c: 'prohibited';
32
+ by: StepKeyWitness[];
33
+ line: 'key' | 'path' | 'step';
34
+ except?: {
35
+ desc: string;
36
+ via: StepKeyVia;
37
+ };
38
+ message_data?: string;
39
+ /** #517: the minted FRONT-CLAUSE grammar for a GENERIC (no-`message_data`) minted cell.
40
+ * 'not_valid' → `'X' is not valid on execution: <this cell's kind> steps` — the historical
41
+ * kind-prohibition-loop grammar, preserved byte-for-byte (golden-proven).
42
+ * 'only_valid' → `'X' is only valid on execution: <derived consumed kinds> steps` — the
43
+ * historical twin-only grammar; the valid-kind set is DERIVED from this
44
+ * registry's own consumed cells (`consumedKindsFor`), never typed by hand.
45
+ * Exactly the generic minted population carries this field: `message_data` XOR `front` on
46
+ * every minted cell, and neither on an `except` cell — a conformance cell asserts the
47
+ * partition. */
48
+ front?: 'not_valid' | 'only_valid';
49
+ } | {
50
+ c: 'blocked_transitive';
51
+ via: (typeof KNOWN_STEP_KEYS)[number];
52
+ by: StepKeyWitness[];
53
+ message_data?: string;
54
+ } | {
55
+ c: 'inert';
56
+ via: StepKeyVia;
57
+ } | {
58
+ c: 'na';
59
+ reason: string;
60
+ };
61
+ /** Strips block and line comments, then collapses every whitespace run to a single space. Run on
62
+ * BOTH the real source and the registry's own pattern before matching, so a pattern can be
63
+ * written as a readable one-line slice of code that may itself span or sit beside comments in
64
+ * the file. The single-char lookback on `//` keeps a `https://…` literal from being truncated as
65
+ * if it opened a line comment.
66
+ *
67
+ * Deliberately a manual, single left-to-right scan rather than the equivalent lazy-regex pair
68
+ * (`/\/\*[\s\S]*?\*\//g` + a lookback-guarded `//` strip) that a first draft of this file
69
+ * shipped: CodeQL flagged that pair as a genuine polynomial-time DoS — a run of unterminated
70
+ * `/*` occurrences (no closing `*\/` anywhere after them) forces a full failed scan-to-end for
71
+ * EACH occurrence, which is quadratic in the number of occurrences. The scan below still does at
72
+ * most one `indexOf` per comment opener, but a failed `indexOf` (no closer anywhere in the rest
73
+ * of the string) ends the whole pass immediately — linear, not quadratic, in the worst case. */
74
+ export declare function normalizeSource(text: string): string;
75
+ /** Exact non-overlapping occurrence count of `pattern` inside `source`, both normalized first. */
76
+ export declare function countWitnessMatches(source: string, pattern: string): number;
77
+ export declare const MINT_WITNESS_PATTERN = "errors.push( withKeyLine( stepName, key, `Step '${stepName}': ${renderRegistryProhibition(key, kind, cell)}`,";
78
+ /** #517 rung 2: file-shorthand → the operator phrase a consequence clause names it by. TOTAL over
79
+ * every file this registry cites as a witness (conformance-checked below — a missing entry is a
80
+ * red cell, not a silent fallback). Operator words, never file basenames (D7-5). */
81
+ export declare const SURFACE_NAME: Record<string, string>;
82
+ /** #517 rung 2: where a generic-prohibited key actually LIVES — the data behind the minted
83
+ * message's witness-backed consequence clause. `kinds` is asserted deep-equal to the DERIVED set
84
+ * of kinds whose cell is `consumed` (truth cell 1); `site` is REFERENCE-IDENTICAL to a member of
85
+ * one of this key's consumed cells' `where[]` (truth cell 2) — the message's factual citation IS
86
+ * the tested witness, one object; `mechanism` is asserted byte-contained in every minted generic
87
+ * message for the key (truth cell 3) and must CONTAIN `SURFACE_NAME[site.file]` (truth cell 4).
88
+ *
89
+ * STATED RESIDUAL (the D4-4 honesty line): a wrong VERB in the mechanism prose is not
90
+ * machine-caught — the truth cells bind the surface named and the witness cited, not the
91
+ * grammar of what the surface DOES with the key. That last inch stays on review.
92
+ *
93
+ * `remedy` is per-key judgment: a re-admission clause appears ONLY where a genuine widening is
94
+ * on the board (the three-clause doctrine — no boilerplate fourth clause). Two are open today:
95
+ * #360 (when×finalizer — a mint-time 'when' evaluation for finalizers), carried by the `when`
96
+ * remedy, and #366 (guard failure-gating), carried by the `trigger_rule` guard remedy; no other
97
+ * entry has one.
98
+ *
99
+ * `mechanism`/`remedy` are per-kind-CAPABLE (`PerKindText`, issue #417's message-claim-truth
100
+ * sweep): a per-kind variant exists ONLY where one string cannot be truthful for every
101
+ * prohibited kind at once (the same fork #362/#413 already use for per-key rules, lifted into
102
+ * data here). The truth cells iterate EVERY variant a `PerKindText` can mint
103
+ * (`homeTextVariants`); the mint selects the refused step's own kind (`homeText`). */
104
+ export type PerKindText = string | ({
105
+ default: string;
106
+ } & Partial<Record<ExecutionMode, string>>);
107
+ export type ConsumedHome = {
108
+ kinds: ExecutionMode[];
109
+ mechanism: PerKindText;
110
+ site: StepKeyWitness;
111
+ remedy: PerKindText;
112
+ };
113
+ /** The minted text for one refused kind: the per-kind arm when one exists for it, else the
114
+ * shared default. */
115
+ export declare function homeText(text: PerKindText, kind: ExecutionMode): string;
116
+ /** Every DISTINCT string a `PerKindText` can mint, across all kinds — what the truth cells
117
+ * assert over (strictly stronger than asserting only the `default` arm). */
118
+ export declare function homeTextVariants(text: PerKindText): string[];
119
+ export declare const CONSUMED_HOME: Partial<Record<(typeof KNOWN_STEP_KEYS)[number], ConsumedHome>>;
120
+ /** #517: the TRUE prohibited set per kind — every key whose cell on `mode` is `prohibited`
121
+ * WITHOUT an `except` arm (the except cell, today exactly trust×finalizer, keeps its
122
+ * value-conditional hand-written check and is deliberately absent). The loader's exported
123
+ * `GUARD_PROHIBITED_STEP_KEYS` / `FINALIZER_PROHIBITED_STEP_KEYS` are computed from this — one
124
+ * source, no membership drift possible. */
125
+ export declare function prohibitedKeysFor(mode: ExecutionMode): string[];
126
+ /** #517: the kinds a key is actually CONSUMED on — the derived valid-kind set behind an
127
+ * 'only_valid' front clause (and truth cell 1's comparator for consumed_home.kinds). */
128
+ export declare function consumedKindsFor(key: (typeof KNOWN_STEP_KEYS)[number]): ExecutionMode[];
129
+ /**
130
+ * Real program defects on a key×kind surface that cannot be expressed as a cell arm — the key
131
+ * itself IS consumed (or the arm is otherwise fully accounted for); the defect lives in an
132
+ * adjacent mechanism. Recorded here so the #417 program's fate-line contract covers them from
133
+ * the registry itself, not just from the PR body. Via-hygiene-checked exactly like a tracked
134
+ * citation inside a cell.
135
+ */
136
+ export declare const TRACKED_RESIDUALS: Array<{
137
+ issue: `#${number}`;
138
+ desc: string;
139
+ }>;
140
+ export declare const STEP_KEY_REGISTRY: {
141
+ description: {
142
+ auto: {
143
+ c: "consumed";
144
+ where: {
145
+ file: string;
146
+ pattern: string;
147
+ }[];
148
+ };
149
+ agent: {
150
+ c: "consumed";
151
+ where: {
152
+ file: string;
153
+ pattern: string;
154
+ }[];
155
+ };
156
+ guard: {
157
+ c: "consumed";
158
+ where: StepKeyWitness[];
159
+ when: {
160
+ desc: string;
161
+ witness: StepKeyWitness;
162
+ };
163
+ };
164
+ finalizer: {
165
+ c: "consumed";
166
+ where: StepKeyWitness[];
167
+ when: {
168
+ desc: string;
169
+ witness: StepKeyWitness;
170
+ };
171
+ };
172
+ };
173
+ execution: {
174
+ auto: {
175
+ c: "consumed";
176
+ where: StepKeyWitness[];
177
+ };
178
+ agent: {
179
+ c: "consumed";
180
+ where: {
181
+ file: string;
182
+ pattern: string;
183
+ }[];
184
+ };
185
+ guard: {
186
+ c: "consumed";
187
+ where: {
188
+ file: string;
189
+ pattern: string;
190
+ }[];
191
+ };
192
+ finalizer: {
193
+ c: "consumed";
194
+ where: {
195
+ file: string;
196
+ pattern: string;
197
+ }[];
198
+ };
199
+ };
200
+ depends_on: {
201
+ auto: {
202
+ c: "consumed";
203
+ where: StepKeyWitness[];
204
+ };
205
+ agent: {
206
+ c: "consumed";
207
+ where: StepKeyWitness[];
208
+ };
209
+ guard: {
210
+ c: "consumed";
211
+ where: StepKeyWitness[];
212
+ };
213
+ finalizer: {
214
+ c: "prohibited";
215
+ by: StepKeyWitness[];
216
+ line: "key";
217
+ front: "not_valid";
218
+ };
219
+ };
220
+ trigger_rule: {
221
+ auto: {
222
+ c: "consumed";
223
+ where: StepKeyWitness[];
224
+ };
225
+ agent: {
226
+ c: "consumed";
227
+ where: StepKeyWitness[];
228
+ };
229
+ guard: {
230
+ c: "prohibited";
231
+ by: StepKeyWitness[];
232
+ line: "key";
233
+ front: "not_valid";
234
+ };
235
+ finalizer: {
236
+ c: "prohibited";
237
+ by: StepKeyWitness[];
238
+ line: "key";
239
+ front: "not_valid";
240
+ };
241
+ };
242
+ when: {
243
+ auto: {
244
+ c: "consumed";
245
+ where: StepKeyWitness[];
246
+ };
247
+ agent: {
248
+ c: "consumed";
249
+ where: StepKeyWitness[];
250
+ };
251
+ guard: {
252
+ c: "consumed";
253
+ where: StepKeyWitness[];
254
+ when: {
255
+ desc: string;
256
+ witness: {
257
+ file: string;
258
+ pattern: string;
259
+ };
260
+ };
261
+ };
262
+ finalizer: {
263
+ c: "prohibited";
264
+ by: StepKeyWitness[];
265
+ line: "key";
266
+ front: "not_valid";
267
+ };
268
+ };
269
+ abort_unless: {
270
+ auto: {
271
+ c: "prohibited";
272
+ by: StepKeyWitness[];
273
+ line: "key";
274
+ message_data: string;
275
+ };
276
+ agent: {
277
+ c: "prohibited";
278
+ by: StepKeyWitness[];
279
+ line: "key";
280
+ message_data: string;
281
+ };
282
+ guard: {
283
+ c: "consumed";
284
+ where: {
285
+ file: string;
286
+ pattern: string;
287
+ }[];
288
+ };
289
+ finalizer: {
290
+ c: "prohibited";
291
+ by: StepKeyWitness[];
292
+ line: "key";
293
+ message_data: string;
294
+ };
295
+ };
296
+ abort_message: {
297
+ auto: {
298
+ c: "prohibited";
299
+ by: StepKeyWitness[];
300
+ line: "key";
301
+ message_data: string;
302
+ };
303
+ agent: {
304
+ c: "prohibited";
305
+ by: StepKeyWitness[];
306
+ line: "key";
307
+ message_data: string;
308
+ };
309
+ guard: {
310
+ c: "consumed";
311
+ where: ({
312
+ file: string;
313
+ pattern: string;
314
+ count: number;
315
+ } | {
316
+ file: string;
317
+ pattern: string;
318
+ count?: never;
319
+ })[];
320
+ };
321
+ finalizer: {
322
+ c: "prohibited";
323
+ by: StepKeyWitness[];
324
+ line: "key";
325
+ message_data: string;
326
+ };
327
+ };
328
+ on_outcome: {
329
+ auto: {
330
+ c: "prohibited";
331
+ by: StepKeyWitness[];
332
+ line: "key";
333
+ message_data: string;
334
+ };
335
+ agent: {
336
+ c: "prohibited";
337
+ by: StepKeyWitness[];
338
+ line: "key";
339
+ message_data: string;
340
+ };
341
+ guard: {
342
+ c: "prohibited";
343
+ by: StepKeyWitness[];
344
+ line: "key";
345
+ message_data: string;
346
+ };
347
+ finalizer: {
348
+ c: "consumed";
349
+ where: {
350
+ file: string;
351
+ pattern: string;
352
+ }[];
353
+ };
354
+ };
355
+ idempotent: {
356
+ auto: {
357
+ c: "consumed";
358
+ where: {
359
+ file: string;
360
+ pattern: string;
361
+ }[];
362
+ inert_subpop: {
363
+ desc: string;
364
+ via: {
365
+ kind: "advisory";
366
+ code: "IDEMPOTENT_INERT_IN_FINALIZER";
367
+ };
368
+ }[];
369
+ };
370
+ agent: {
371
+ c: "prohibited";
372
+ by: StepKeyWitness[];
373
+ line: "key";
374
+ message_data: string;
375
+ };
376
+ guard: {
377
+ c: "prohibited";
378
+ by: StepKeyWitness[];
379
+ line: "key";
380
+ message_data: string;
381
+ };
382
+ finalizer: {
383
+ c: "prohibited";
384
+ by: StepKeyWitness[];
385
+ line: "key";
386
+ message_data: string;
387
+ };
388
+ };
389
+ uses_service: {
390
+ auto: {
391
+ c: "consumed";
392
+ where: StepKeyWitness[];
393
+ };
394
+ agent: {
395
+ c: "inert";
396
+ via: {
397
+ kind: "tracked";
398
+ issue: "#511";
399
+ };
400
+ };
401
+ guard: {
402
+ c: "prohibited";
403
+ by: StepKeyWitness[];
404
+ line: "key";
405
+ front: "not_valid";
406
+ };
407
+ finalizer: {
408
+ c: "prohibited";
409
+ by: StepKeyWitness[];
410
+ line: "key";
411
+ front: "not_valid";
412
+ };
413
+ };
414
+ service_method: {
415
+ auto: {
416
+ c: "consumed";
417
+ where: StepKeyWitness[];
418
+ when: {
419
+ desc: string;
420
+ witness: StepKeyWitness;
421
+ };
422
+ inert_subpop: {
423
+ desc: string;
424
+ via: {
425
+ kind: "waived";
426
+ reason: string;
427
+ };
428
+ }[];
429
+ };
430
+ agent: {
431
+ c: "inert";
432
+ via: {
433
+ kind: "tracked";
434
+ issue: "#511";
435
+ };
436
+ };
437
+ guard: {
438
+ c: "prohibited";
439
+ by: StepKeyWitness[];
440
+ line: "key";
441
+ front: "not_valid";
442
+ };
443
+ finalizer: {
444
+ c: "prohibited";
445
+ by: StepKeyWitness[];
446
+ line: "key";
447
+ front: "not_valid";
448
+ };
449
+ };
450
+ operation: {
451
+ auto: {
452
+ c: "consumed";
453
+ where: StepKeyWitness[];
454
+ when: {
455
+ desc: string;
456
+ witness: StepKeyWitness;
457
+ };
458
+ inert_subpop: {
459
+ desc: string;
460
+ via: {
461
+ kind: "waived";
462
+ reason: string;
463
+ };
464
+ }[];
465
+ };
466
+ agent: {
467
+ c: "inert";
468
+ via: {
469
+ kind: "tracked";
470
+ issue: "#511";
471
+ };
472
+ };
473
+ guard: {
474
+ c: "prohibited";
475
+ by: StepKeyWitness[];
476
+ line: "key";
477
+ front: "not_valid";
478
+ };
479
+ finalizer: {
480
+ c: "prohibited";
481
+ by: StepKeyWitness[];
482
+ line: "key";
483
+ front: "not_valid";
484
+ };
485
+ };
486
+ input_map: {
487
+ auto: {
488
+ c: "consumed";
489
+ where: StepKeyWitness[];
490
+ when: {
491
+ desc: string;
492
+ witness: StepKeyWitness;
493
+ };
494
+ inert_subpop: {
495
+ desc: string;
496
+ via: {
497
+ kind: "waived";
498
+ reason: string;
499
+ };
500
+ }[];
501
+ };
502
+ agent: {
503
+ c: "prohibited";
504
+ by: StepKeyWitness[];
505
+ line: "key";
506
+ front: "only_valid";
507
+ };
508
+ guard: {
509
+ c: "prohibited";
510
+ by: StepKeyWitness[];
511
+ line: "key";
512
+ front: "not_valid";
513
+ };
514
+ finalizer: {
515
+ c: "prohibited";
516
+ by: StepKeyWitness[];
517
+ line: "key";
518
+ front: "not_valid";
519
+ };
520
+ };
521
+ handler: {
522
+ auto: {
523
+ c: "consumed";
524
+ where: StepKeyWitness[];
525
+ inert_subpop: {
526
+ desc: string;
527
+ via: {
528
+ kind: "tracked";
529
+ issue: "#511";
530
+ };
531
+ }[];
532
+ };
533
+ agent: {
534
+ c: "consumed";
535
+ where: {
536
+ file: string;
537
+ pattern: string;
538
+ }[];
539
+ when: {
540
+ desc: string;
541
+ witness: {
542
+ file: string;
543
+ pattern: string;
544
+ };
545
+ };
546
+ };
547
+ guard: {
548
+ c: "prohibited";
549
+ by: StepKeyWitness[];
550
+ line: "key";
551
+ front: "not_valid";
552
+ };
553
+ finalizer: {
554
+ c: "consumed";
555
+ where: {
556
+ file: string;
557
+ pattern: string;
558
+ }[];
559
+ when: {
560
+ desc: string;
561
+ witness: {
562
+ file: string;
563
+ pattern: string;
564
+ };
565
+ };
566
+ };
567
+ };
568
+ config: {
569
+ auto: {
570
+ c: "consumed";
571
+ where: {
572
+ file: string;
573
+ pattern: string;
574
+ }[];
575
+ inert_subpop: {
576
+ desc: string;
577
+ via: {
578
+ kind: "waived";
579
+ reason: string;
580
+ };
581
+ }[];
582
+ };
583
+ agent: {
584
+ c: "inert";
585
+ via: {
586
+ kind: "tracked";
587
+ issue: "#511";
588
+ };
589
+ };
590
+ guard: {
591
+ c: "inert";
592
+ via: {
593
+ kind: "tracked";
594
+ issue: "#511";
595
+ };
596
+ };
597
+ finalizer: {
598
+ c: "consumed";
599
+ where: {
600
+ file: string;
601
+ pattern: string;
602
+ }[];
603
+ when: {
604
+ desc: string;
605
+ witness: {
606
+ file: string;
607
+ pattern: string;
608
+ };
609
+ };
610
+ };
611
+ };
612
+ input_schema: {
613
+ auto: {
614
+ c: "consumed";
615
+ where: StepKeyWitness[];
616
+ when: {
617
+ desc: string;
618
+ witness: StepKeyWitness;
619
+ };
620
+ };
621
+ agent: {
622
+ c: "consumed";
623
+ where: StepKeyWitness[];
624
+ };
625
+ guard: {
626
+ c: "prohibited";
627
+ by: StepKeyWitness[];
628
+ line: "key";
629
+ front: "not_valid";
630
+ };
631
+ finalizer: {
632
+ c: "inert";
633
+ via: {
634
+ kind: "tracked";
635
+ issue: "#512";
636
+ };
637
+ };
638
+ };
639
+ output_schema: {
640
+ auto: {
641
+ c: "prohibited";
642
+ by: StepKeyWitness[];
643
+ line: "key";
644
+ front: "only_valid";
645
+ };
646
+ agent: {
647
+ c: "consumed";
648
+ where: StepKeyWitness[];
649
+ };
650
+ guard: {
651
+ c: "prohibited";
652
+ by: StepKeyWitness[];
653
+ line: "key";
654
+ front: "not_valid";
655
+ };
656
+ finalizer: {
657
+ c: "prohibited";
658
+ by: StepKeyWitness[];
659
+ line: "key";
660
+ front: "not_valid";
661
+ };
662
+ };
663
+ trace_schema: {
664
+ auto: {
665
+ c: "prohibited";
666
+ by: StepKeyWitness[];
667
+ line: "key";
668
+ front: "only_valid";
669
+ };
670
+ agent: {
671
+ c: "consumed";
672
+ where: StepKeyWitness[];
673
+ };
674
+ guard: {
675
+ c: "prohibited";
676
+ by: StepKeyWitness[];
677
+ line: "key";
678
+ front: "only_valid";
679
+ };
680
+ finalizer: {
681
+ c: "prohibited";
682
+ by: StepKeyWitness[];
683
+ line: "key";
684
+ front: "only_valid";
685
+ };
686
+ };
687
+ trace_validation_mode: {
688
+ auto: {
689
+ c: "prohibited";
690
+ by: StepKeyWitness[];
691
+ line: "key";
692
+ front: "only_valid";
693
+ };
694
+ agent: {
695
+ c: "consumed";
696
+ where: StepKeyWitness[];
697
+ inert_subpop: {
698
+ desc: string;
699
+ via: {
700
+ kind: "tracked";
701
+ issue: "#514";
702
+ };
703
+ }[];
704
+ };
705
+ guard: {
706
+ c: "prohibited";
707
+ by: StepKeyWitness[];
708
+ line: "key";
709
+ front: "only_valid";
710
+ };
711
+ finalizer: {
712
+ c: "prohibited";
713
+ by: StepKeyWitness[];
714
+ line: "key";
715
+ front: "only_valid";
716
+ };
717
+ };
718
+ preconditions: {
719
+ auto: {
720
+ c: "consumed";
721
+ where: StepKeyWitness[];
722
+ };
723
+ agent: {
724
+ c: "consumed";
725
+ where: StepKeyWitness[];
726
+ };
727
+ guard: {
728
+ c: "prohibited";
729
+ by: StepKeyWitness[];
730
+ line: "key";
731
+ message_data: string;
732
+ };
733
+ finalizer: {
734
+ c: "inert";
735
+ via: {
736
+ kind: "tracked";
737
+ issue: "#509";
738
+ };
739
+ };
740
+ };
741
+ trust: {
742
+ auto: {
743
+ c: "consumed";
744
+ where: StepKeyWitness[];
745
+ };
746
+ agent: {
747
+ c: "consumed";
748
+ where: StepKeyWitness[];
749
+ };
750
+ guard: {
751
+ c: "prohibited";
752
+ by: StepKeyWitness[];
753
+ line: "key";
754
+ front: "not_valid";
755
+ };
756
+ finalizer: {
757
+ c: "prohibited";
758
+ by: StepKeyWitness[];
759
+ line: "step";
760
+ except: {
761
+ desc: string;
762
+ via: {
763
+ kind: "waived";
764
+ reason: string;
765
+ };
766
+ };
767
+ };
768
+ };
769
+ timeout_seconds: {
770
+ auto: {
771
+ c: "consumed";
772
+ where: StepKeyWitness[];
773
+ when: {
774
+ desc: string;
775
+ witness: {
776
+ file: string;
777
+ pattern: string;
778
+ };
779
+ };
780
+ };
781
+ agent: {
782
+ c: "prohibited";
783
+ by: StepKeyWitness[];
784
+ line: "key";
785
+ message_data: string;
786
+ };
787
+ guard: {
788
+ c: "prohibited";
789
+ by: StepKeyWitness[];
790
+ line: "key";
791
+ front: "not_valid";
792
+ };
793
+ finalizer: {
794
+ c: "consumed";
795
+ where: {
796
+ file: string;
797
+ pattern: string;
798
+ }[];
799
+ };
800
+ };
801
+ retry: {
802
+ auto: {
803
+ c: "consumed";
804
+ where: StepKeyWitness[];
805
+ };
806
+ agent: {
807
+ c: "inert";
808
+ via: {
809
+ kind: "advisory";
810
+ code: "RETRY_INERT_NON_AUTO";
811
+ };
812
+ };
813
+ guard: {
814
+ c: "inert";
815
+ via: {
816
+ kind: "advisory";
817
+ code: "RETRY_INERT_NON_AUTO";
818
+ };
819
+ };
820
+ finalizer: {
821
+ c: "prohibited";
822
+ by: StepKeyWitness[];
823
+ line: "key";
824
+ front: "not_valid";
825
+ };
826
+ };
827
+ validation_exhaustion: {
828
+ auto: {
829
+ c: "prohibited";
830
+ by: StepKeyWitness[];
831
+ line: "key";
832
+ front: "only_valid";
833
+ };
834
+ agent: {
835
+ c: "consumed";
836
+ where: StepKeyWitness[];
837
+ };
838
+ guard: {
839
+ c: "prohibited";
840
+ by: StepKeyWitness[];
841
+ line: "key";
842
+ front: "only_valid";
843
+ };
844
+ finalizer: {
845
+ c: "prohibited";
846
+ by: StepKeyWitness[];
847
+ line: "key";
848
+ front: "only_valid";
849
+ };
850
+ };
851
+ instructions: {
852
+ auto: {
853
+ c: "consumed";
854
+ where: {
855
+ file: string;
856
+ pattern: string;
857
+ }[];
858
+ when: {
859
+ desc: string;
860
+ witness: StepKeyWitness;
861
+ };
862
+ };
863
+ agent: {
864
+ c: "consumed";
865
+ where: {
866
+ file: string;
867
+ pattern: string;
868
+ }[];
869
+ when: {
870
+ desc: string;
871
+ witness: {
872
+ file: string;
873
+ pattern: string;
874
+ };
875
+ };
876
+ };
877
+ guard: {
878
+ c: "inert";
879
+ via: {
880
+ kind: "tracked";
881
+ issue: "#513";
882
+ };
883
+ };
884
+ finalizer: {
885
+ c: "inert";
886
+ via: {
887
+ kind: "tracked";
888
+ issue: "#513";
889
+ };
890
+ };
891
+ };
892
+ prompt: {
893
+ auto: {
894
+ c: "consumed";
895
+ where: StepKeyWitness[];
896
+ when: {
897
+ desc: string;
898
+ witness: StepKeyWitness;
899
+ };
900
+ inert_subpop: {
901
+ desc: string;
902
+ via: {
903
+ kind: "waived";
904
+ reason: string;
905
+ };
906
+ }[];
907
+ };
908
+ agent: {
909
+ c: "consumed";
910
+ where: StepKeyWitness[];
911
+ };
912
+ guard: {
913
+ c: "inert";
914
+ via: {
915
+ kind: "tracked";
916
+ issue: "#513";
917
+ };
918
+ };
919
+ finalizer: {
920
+ c: "inert";
921
+ via: {
922
+ kind: "tracked";
923
+ issue: "#513";
924
+ };
925
+ };
926
+ };
927
+ display: {
928
+ auto: {
929
+ c: "consumed";
930
+ where: {
931
+ file: string;
932
+ pattern: string;
933
+ }[];
934
+ when: {
935
+ desc: string;
936
+ witness: {
937
+ file: string;
938
+ pattern: string;
939
+ };
940
+ };
941
+ inert_subpop: {
942
+ desc: string;
943
+ via: {
944
+ kind: "waived";
945
+ reason: string;
946
+ };
947
+ }[];
948
+ };
949
+ agent: {
950
+ c: "consumed";
951
+ where: {
952
+ file: string;
953
+ pattern: string;
954
+ }[];
955
+ };
956
+ guard: {
957
+ c: "inert";
958
+ via: {
959
+ kind: "tracked";
960
+ issue: "#513";
961
+ };
962
+ };
963
+ finalizer: {
964
+ c: "inert";
965
+ via: {
966
+ kind: "tracked";
967
+ issue: "#513";
968
+ };
969
+ };
970
+ };
971
+ use_template: {
972
+ auto: {
973
+ c: "na";
974
+ reason: string;
975
+ };
976
+ agent: {
977
+ c: "na";
978
+ reason: string;
979
+ };
980
+ guard: {
981
+ c: "na";
982
+ reason: string;
983
+ };
984
+ finalizer: {
985
+ c: "na";
986
+ reason: string;
987
+ };
988
+ };
989
+ gate: {
990
+ auto: {
991
+ c: "consumed";
992
+ where: StepKeyWitness[];
993
+ when: {
994
+ desc: string;
995
+ witness: StepKeyWitness;
996
+ };
997
+ inert_subpop: {
998
+ desc: string;
999
+ via: {
1000
+ kind: "advisory";
1001
+ code: "DEAD_GATE_CONFIG";
1002
+ };
1003
+ }[];
1004
+ };
1005
+ agent: {
1006
+ c: "consumed";
1007
+ where: StepKeyWitness[];
1008
+ when: {
1009
+ desc: string;
1010
+ witness: StepKeyWitness;
1011
+ };
1012
+ inert_subpop: {
1013
+ desc: string;
1014
+ via: {
1015
+ kind: "advisory";
1016
+ code: "DEAD_GATE_CONFIG";
1017
+ };
1018
+ }[];
1019
+ };
1020
+ guard: {
1021
+ c: "inert";
1022
+ via: {
1023
+ kind: "advisory";
1024
+ code: "DEAD_GATE_CONFIG";
1025
+ };
1026
+ };
1027
+ finalizer: {
1028
+ c: "inert";
1029
+ via: {
1030
+ kind: "advisory";
1031
+ code: "DEAD_GATE_CONFIG";
1032
+ };
1033
+ };
1034
+ };
1035
+ agent_profile: {
1036
+ auto: {
1037
+ c: "prohibited";
1038
+ by: StepKeyWitness[];
1039
+ line: "key";
1040
+ message_data: string;
1041
+ };
1042
+ agent: {
1043
+ c: "consumed";
1044
+ where: {
1045
+ file: string;
1046
+ pattern: string;
1047
+ }[];
1048
+ };
1049
+ guard: {
1050
+ c: "prohibited";
1051
+ by: StepKeyWitness[];
1052
+ line: "key";
1053
+ message_data: string;
1054
+ };
1055
+ finalizer: {
1056
+ c: "prohibited";
1057
+ by: StepKeyWitness[];
1058
+ line: "key";
1059
+ message_data: string;
1060
+ };
1061
+ };
1062
+ tools: {
1063
+ auto: {
1064
+ c: "prohibited";
1065
+ by: StepKeyWitness[];
1066
+ line: "key";
1067
+ front: "only_valid";
1068
+ };
1069
+ agent: {
1070
+ c: "consumed";
1071
+ where: StepKeyWitness[];
1072
+ inert_subpop: {
1073
+ desc: string;
1074
+ via: {
1075
+ kind: "tracked";
1076
+ issue: "#510";
1077
+ };
1078
+ }[];
1079
+ };
1080
+ guard: {
1081
+ c: "prohibited";
1082
+ by: StepKeyWitness[];
1083
+ line: "key";
1084
+ front: "not_valid";
1085
+ };
1086
+ finalizer: {
1087
+ c: "prohibited";
1088
+ by: StepKeyWitness[];
1089
+ line: "key";
1090
+ front: "not_valid";
1091
+ };
1092
+ };
1093
+ max_tool_calls: {
1094
+ auto: {
1095
+ c: "inert";
1096
+ via: {
1097
+ kind: "tracked";
1098
+ issue: "#510";
1099
+ };
1100
+ };
1101
+ agent: {
1102
+ c: "consumed";
1103
+ where: {
1104
+ file: string;
1105
+ pattern: string;
1106
+ }[];
1107
+ when: {
1108
+ desc: string;
1109
+ witness: StepKeyWitness;
1110
+ };
1111
+ inert_subpop: {
1112
+ desc: string;
1113
+ via: {
1114
+ kind: "tracked";
1115
+ issue: "#510";
1116
+ };
1117
+ }[];
1118
+ };
1119
+ guard: {
1120
+ c: "inert";
1121
+ via: {
1122
+ kind: "tracked";
1123
+ issue: "#510";
1124
+ };
1125
+ };
1126
+ finalizer: {
1127
+ c: "inert";
1128
+ via: {
1129
+ kind: "tracked";
1130
+ issue: "#510";
1131
+ };
1132
+ };
1133
+ };
1134
+ max_fan_out: {
1135
+ auto: {
1136
+ c: "inert";
1137
+ via: {
1138
+ kind: "tracked";
1139
+ issue: "#510";
1140
+ };
1141
+ };
1142
+ agent: {
1143
+ c: "consumed";
1144
+ where: {
1145
+ file: string;
1146
+ pattern: string;
1147
+ }[];
1148
+ when: {
1149
+ desc: string;
1150
+ witness: StepKeyWitness;
1151
+ };
1152
+ inert_subpop: {
1153
+ desc: string;
1154
+ via: {
1155
+ kind: "tracked";
1156
+ issue: "#510";
1157
+ };
1158
+ }[];
1159
+ };
1160
+ guard: {
1161
+ c: "inert";
1162
+ via: {
1163
+ kind: "tracked";
1164
+ issue: "#510";
1165
+ };
1166
+ };
1167
+ finalizer: {
1168
+ c: "inert";
1169
+ via: {
1170
+ kind: "tracked";
1171
+ issue: "#510";
1172
+ };
1173
+ };
1174
+ };
1175
+ tool_timeout: {
1176
+ auto: {
1177
+ c: "blocked_transitive";
1178
+ via: "tools";
1179
+ by: StepKeyWitness[];
1180
+ message_data: string;
1181
+ };
1182
+ agent: {
1183
+ c: "consumed";
1184
+ where: {
1185
+ file: string;
1186
+ pattern: string;
1187
+ }[];
1188
+ when: {
1189
+ desc: string;
1190
+ witness: StepKeyWitness;
1191
+ };
1192
+ };
1193
+ guard: {
1194
+ c: "blocked_transitive";
1195
+ via: "tools";
1196
+ by: StepKeyWitness[];
1197
+ message_data: string;
1198
+ };
1199
+ finalizer: {
1200
+ c: "blocked_transitive";
1201
+ via: "tools";
1202
+ by: StepKeyWitness[];
1203
+ message_data: string;
1204
+ };
1205
+ };
1206
+ structured_output: {
1207
+ auto: {
1208
+ c: "prohibited";
1209
+ by: StepKeyWitness[];
1210
+ line: "key";
1211
+ front: "only_valid";
1212
+ };
1213
+ agent: {
1214
+ c: "consumed";
1215
+ where: StepKeyWitness[];
1216
+ };
1217
+ guard: {
1218
+ c: "prohibited";
1219
+ by: StepKeyWitness[];
1220
+ line: "key";
1221
+ front: "only_valid";
1222
+ };
1223
+ finalizer: {
1224
+ c: "prohibited";
1225
+ by: StepKeyWitness[];
1226
+ line: "key";
1227
+ front: "only_valid";
1228
+ };
1229
+ };
1230
+ llm_timeout_seconds: {
1231
+ auto: {
1232
+ c: "prohibited";
1233
+ by: StepKeyWitness[];
1234
+ line: "key";
1235
+ message_data: string;
1236
+ };
1237
+ agent: {
1238
+ c: "consumed";
1239
+ where: {
1240
+ file: string;
1241
+ pattern: string;
1242
+ }[];
1243
+ };
1244
+ guard: {
1245
+ c: "prohibited";
1246
+ by: StepKeyWitness[];
1247
+ line: "key";
1248
+ message_data: string;
1249
+ };
1250
+ finalizer: {
1251
+ c: "prohibited";
1252
+ by: StepKeyWitness[];
1253
+ line: "key";
1254
+ message_data: string;
1255
+ };
1256
+ };
1257
+ };
1258
+ //# sourceMappingURL=step-key-registry.d.ts.map