@telorun/analyzer 0.62.0 → 0.63.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 (146) hide show
  1. package/dist/analysis-registry.d.ts.map +1 -1
  2. package/dist/analysis-registry.js +6 -0
  3. package/dist/analyzer.d.ts +1 -1
  4. package/dist/analyzer.d.ts.map +1 -1
  5. package/dist/analyzer.js +343 -13
  6. package/dist/call-graph.d.ts.map +1 -1
  7. package/dist/call-graph.js +2 -7
  8. package/dist/flatten-for-analyzer.js +1 -1
  9. package/dist/import-resolution-diagnostics.d.ts +9 -2
  10. package/dist/import-resolution-diagnostics.d.ts.map +1 -1
  11. package/dist/import-resolution-diagnostics.js +26 -7
  12. package/dist/index.d.ts +15 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +13 -1
  15. package/dist/invocation-contract.d.ts +6 -1
  16. package/dist/invocation-contract.d.ts.map +1 -1
  17. package/dist/invocation-contract.js +27 -4
  18. package/dist/loaded-types.d.ts +12 -3
  19. package/dist/loaded-types.d.ts.map +1 -1
  20. package/dist/manifest-loader.d.ts +0 -1
  21. package/dist/manifest-loader.d.ts.map +1 -1
  22. package/dist/manifest-loader.js +62 -41
  23. package/dist/manifest-schemas.d.ts +699 -0
  24. package/dist/manifest-schemas.d.ts.map +1 -1
  25. package/dist/manifest-schemas.js +306 -14
  26. package/dist/module-compatibility.d.ts +40 -0
  27. package/dist/module-compatibility.d.ts.map +1 -0
  28. package/dist/module-compatibility.js +52 -0
  29. package/dist/ref-slot-reading.d.ts +30 -0
  30. package/dist/ref-slot-reading.d.ts.map +1 -0
  31. package/dist/ref-slot-reading.js +139 -0
  32. package/dist/referrer-rule.d.ts +67 -0
  33. package/dist/referrer-rule.d.ts.map +1 -0
  34. package/dist/referrer-rule.js +96 -0
  35. package/dist/release/index.d.ts +1 -1
  36. package/dist/release/index.d.ts.map +1 -1
  37. package/dist/release/index.js +1 -1
  38. package/dist/release/payload-digest.d.ts +7 -3
  39. package/dist/release/payload-digest.d.ts.map +1 -1
  40. package/dist/release/payload-digest.js +7 -3
  41. package/dist/release/version-stamp.d.ts +16 -0
  42. package/dist/release/version-stamp.d.ts.map +1 -1
  43. package/dist/release/version-stamp.js +52 -0
  44. package/dist/release/workspace-config.d.ts +10 -6
  45. package/dist/release/workspace-config.d.ts.map +1 -1
  46. package/dist/release/workspace-config.js +10 -6
  47. package/dist/resolve-schema-ref-kinds.d.ts +4 -3
  48. package/dist/resolve-schema-ref-kinds.d.ts.map +1 -1
  49. package/dist/resolve-schema-ref-kinds.js +16 -0
  50. package/dist/resolve-throws-union.d.ts.map +1 -1
  51. package/dist/resolve-throws-union.js +4 -3
  52. package/dist/resolve-zone-containment.d.ts +99 -0
  53. package/dist/resolve-zone-containment.d.ts.map +1 -0
  54. package/dist/resolve-zone-containment.js +212 -0
  55. package/dist/resolve-zone-requirements.d.ts +5 -0
  56. package/dist/resolve-zone-requirements.d.ts.map +1 -1
  57. package/dist/resolve-zone-requirements.js +48 -7
  58. package/dist/resource-rule.d.ts +106 -0
  59. package/dist/resource-rule.d.ts.map +1 -0
  60. package/dist/resource-rule.js +236 -0
  61. package/dist/rule-condition.d.ts +50 -0
  62. package/dist/rule-condition.d.ts.map +1 -0
  63. package/dist/rule-condition.js +108 -0
  64. package/dist/schema-keywords.d.ts.map +1 -1
  65. package/dist/schema-keywords.js +20 -0
  66. package/dist/schema-projection.d.ts +171 -0
  67. package/dist/schema-projection.d.ts.map +1 -0
  68. package/dist/schema-projection.js +317 -0
  69. package/dist/step-slot.d.ts +39 -0
  70. package/dist/step-slot.d.ts.map +1 -0
  71. package/dist/step-slot.js +49 -0
  72. package/dist/telo-version.d.ts +1 -1
  73. package/dist/telo-version.js +1 -1
  74. package/dist/validate-cel-context.d.ts.map +1 -1
  75. package/dist/validate-cel-context.js +17 -3
  76. package/dist/validate-durable-regions.d.ts +15 -0
  77. package/dist/validate-durable-regions.d.ts.map +1 -0
  78. package/dist/validate-durable-regions.js +336 -0
  79. package/dist/validate-references.d.ts.map +1 -1
  80. package/dist/validate-references.js +44 -2
  81. package/dist/validate-referrer-rules.d.ts +120 -0
  82. package/dist/validate-referrer-rules.d.ts.map +1 -0
  83. package/dist/validate-referrer-rules.js +255 -0
  84. package/dist/validate-resource-rules.d.ts +114 -0
  85. package/dist/validate-resource-rules.d.ts.map +1 -0
  86. package/dist/validate-resource-rules.js +283 -0
  87. package/dist/validate-schema-projection.d.ts +32 -0
  88. package/dist/validate-schema-projection.d.ts.map +1 -0
  89. package/dist/validate-schema-projection.js +110 -0
  90. package/dist/validate-step-inputs.d.ts +2 -1
  91. package/dist/validate-step-inputs.d.ts.map +1 -1
  92. package/dist/validate-step-inputs.js +5 -3
  93. package/dist/validate-throws-coverage.d.ts.map +1 -1
  94. package/dist/validate-throws-coverage.js +11 -5
  95. package/dist/validate-zone-slots.d.ts +2 -2
  96. package/dist/validate-zone-slots.d.ts.map +1 -1
  97. package/dist/validate-zone-slots.js +202 -6
  98. package/dist/validate-zone-violations.d.ts +12 -0
  99. package/dist/validate-zone-violations.d.ts.map +1 -0
  100. package/dist/validate-zone-violations.js +169 -0
  101. package/dist/value-type-keyword.d.ts +1 -1
  102. package/dist/value-type-keyword.d.ts.map +1 -1
  103. package/dist/value-type-keyword.js +4 -0
  104. package/dist/zone-slot.d.ts +61 -0
  105. package/dist/zone-slot.d.ts.map +1 -1
  106. package/dist/zone-slot.js +86 -5
  107. package/package.json +2 -2
  108. package/src/analysis-registry.ts +6 -0
  109. package/src/analyzer.ts +395 -14
  110. package/src/call-graph.ts +2 -8
  111. package/src/flatten-for-analyzer.ts +1 -1
  112. package/src/import-resolution-diagnostics.ts +25 -7
  113. package/src/index.ts +73 -0
  114. package/src/invocation-contract.ts +45 -2
  115. package/src/loaded-types.ts +12 -3
  116. package/src/manifest-loader.ts +87 -55
  117. package/src/manifest-schemas.ts +328 -14
  118. package/src/module-compatibility.ts +72 -0
  119. package/src/ref-slot-reading.ts +156 -0
  120. package/src/referrer-rule.ts +116 -0
  121. package/src/release/index.ts +1 -0
  122. package/src/release/payload-digest.ts +7 -3
  123. package/src/release/version-stamp.ts +58 -0
  124. package/src/release/workspace-config.ts +10 -6
  125. package/src/resolve-schema-ref-kinds.ts +28 -4
  126. package/src/resolve-throws-union.ts +4 -3
  127. package/src/resolve-zone-containment.ts +329 -0
  128. package/src/resolve-zone-requirements.ts +67 -7
  129. package/src/resource-rule.ts +252 -0
  130. package/src/rule-condition.ts +126 -0
  131. package/src/schema-keywords.ts +24 -0
  132. package/src/schema-projection.ts +403 -0
  133. package/src/step-slot.ts +64 -0
  134. package/src/telo-version.ts +1 -1
  135. package/src/validate-cel-context.ts +17 -3
  136. package/src/validate-durable-regions.ts +401 -0
  137. package/src/validate-references.ts +57 -2
  138. package/src/validate-referrer-rules.ts +373 -0
  139. package/src/validate-resource-rules.ts +401 -0
  140. package/src/validate-schema-projection.ts +184 -0
  141. package/src/validate-step-inputs.ts +5 -3
  142. package/src/validate-throws-coverage.ts +12 -5
  143. package/src/validate-zone-slots.ts +192 -8
  144. package/src/validate-zone-violations.ts +190 -0
  145. package/src/value-type-keyword.ts +4 -0
  146. package/src/zone-slot.ts +114 -5
@@ -233,6 +233,23 @@ export declare const InvokeStepSchema: {
233
233
  retry: {
234
234
  title: string;
235
235
  $ref: string;
236
+ properties: {
237
+ nonRetryable: {
238
+ title: string;
239
+ description: string;
240
+ type: string;
241
+ items: {
242
+ type: string;
243
+ };
244
+ default: never[];
245
+ };
246
+ };
247
+ };
248
+ timeout: {
249
+ title: string;
250
+ description: string;
251
+ type: string;
252
+ minimum: number;
236
253
  };
237
254
  };
238
255
  };
@@ -289,6 +306,349 @@ export declare const KindSchemaSchema: {
289
306
  properties: import("./schema-keywords.js").SchemaKeywords;
290
307
  additionalProperties: boolean;
291
308
  };
309
+ /**
310
+ * One step of a step body: a dispatch, a computed value, or a control-flow block.
311
+ *
312
+ * THE GRAMMAR, owned here rather than by `modules/run`. It was declared four
313
+ * times in one file — `$defs` are local to the schema that declares them, so
314
+ * four kinds in one module could not share one, let alone four kinds in four
315
+ * modules — and that is why a kind wanting a body had to take a `!ref` to an
316
+ * executable instead. A fragment is what makes `Sql.Transaction` or a durable
317
+ * `Workflow` able to carry one directly.
318
+ *
319
+ * RECURSIVE (a branch holds steps), so a reference to it is localized and
320
+ * hoisted rather than expanded in place — see {@link localizeRecursiveFragment}.
321
+ *
322
+ * `while/do` is admitted in EVERY body. Three of the four copies dropped it
323
+ * ("the kind is itself the loop"), which is an editorial nudge rather than a
324
+ * soundness rule — a nested `while` inside a for-each body is ordinary control
325
+ * flow the same engine already runs — and a fragment cannot be narrowed by its
326
+ * consumer anyway: draft-07 makes `$ref` exclusive, so a sibling restating a
327
+ * subset would be silently ignored by AJV while still reaching completion. One
328
+ * grammar, or two fragments and the duplication back where it started.
329
+ */
330
+ export declare const StepSchema: {
331
+ title: string;
332
+ description: string;
333
+ type: string;
334
+ properties: {
335
+ name: {
336
+ title: string;
337
+ description: string;
338
+ type: string;
339
+ };
340
+ };
341
+ oneOf: ({
342
+ title: string;
343
+ description: string;
344
+ $ref: string;
345
+ properties?: undefined;
346
+ required?: undefined;
347
+ } | {
348
+ title: string;
349
+ description: string;
350
+ properties: {
351
+ if: {
352
+ title: string;
353
+ description: string;
354
+ "x-telo-topology-role": string;
355
+ type: string;
356
+ };
357
+ elseif: {
358
+ title: string;
359
+ description: string;
360
+ "x-telo-topology-role": string;
361
+ type: string;
362
+ items: {
363
+ type: string;
364
+ properties: {
365
+ if: {
366
+ title: string;
367
+ description: string;
368
+ "x-telo-topology-role": string;
369
+ type: string;
370
+ };
371
+ then: {
372
+ title: string;
373
+ description: string;
374
+ "x-telo-topology-role": string;
375
+ type: string;
376
+ items: {
377
+ $ref: string;
378
+ };
379
+ };
380
+ };
381
+ required: string[];
382
+ };
383
+ };
384
+ then: {
385
+ title: string;
386
+ description: string;
387
+ "x-telo-topology-role": string;
388
+ type: string;
389
+ items: {
390
+ $ref: string;
391
+ };
392
+ };
393
+ else: {
394
+ title: string;
395
+ description: string;
396
+ "x-telo-topology-role": string;
397
+ type: string;
398
+ items: {
399
+ $ref: string;
400
+ };
401
+ };
402
+ while?: undefined;
403
+ do?: undefined;
404
+ switch?: undefined;
405
+ cases?: undefined;
406
+ default?: undefined;
407
+ try?: undefined;
408
+ catch?: undefined;
409
+ finally?: undefined;
410
+ throw?: undefined;
411
+ value?: undefined;
412
+ };
413
+ required: string[];
414
+ $ref?: undefined;
415
+ } | {
416
+ title: string;
417
+ description: string;
418
+ properties: {
419
+ while: {
420
+ title: string;
421
+ description: string;
422
+ "x-telo-topology-role": string;
423
+ type: string;
424
+ };
425
+ do: {
426
+ title: string;
427
+ description: string;
428
+ "x-telo-topology-role": string;
429
+ type: string;
430
+ items: {
431
+ $ref: string;
432
+ };
433
+ };
434
+ if?: undefined;
435
+ elseif?: undefined;
436
+ then?: undefined;
437
+ else?: undefined;
438
+ switch?: undefined;
439
+ cases?: undefined;
440
+ default?: undefined;
441
+ try?: undefined;
442
+ catch?: undefined;
443
+ finally?: undefined;
444
+ throw?: undefined;
445
+ value?: undefined;
446
+ };
447
+ required: string[];
448
+ $ref?: undefined;
449
+ } | {
450
+ title: string;
451
+ description: string;
452
+ properties: {
453
+ switch: {
454
+ title: string;
455
+ description: string;
456
+ "x-telo-topology-role": string;
457
+ type: string;
458
+ };
459
+ cases: {
460
+ title: string;
461
+ description: string;
462
+ "x-telo-topology-role": string;
463
+ type: string;
464
+ additionalProperties: {
465
+ type: string;
466
+ items: {
467
+ $ref: string;
468
+ };
469
+ };
470
+ };
471
+ default: {
472
+ title: string;
473
+ description: string;
474
+ "x-telo-topology-role": string;
475
+ type: string;
476
+ items: {
477
+ $ref: string;
478
+ };
479
+ };
480
+ if?: undefined;
481
+ elseif?: undefined;
482
+ then?: undefined;
483
+ else?: undefined;
484
+ while?: undefined;
485
+ do?: undefined;
486
+ try?: undefined;
487
+ catch?: undefined;
488
+ finally?: undefined;
489
+ throw?: undefined;
490
+ value?: undefined;
491
+ };
492
+ required: string[];
493
+ $ref?: undefined;
494
+ } | {
495
+ title: string;
496
+ description: string;
497
+ properties: {
498
+ try: {
499
+ title: string;
500
+ description: string;
501
+ "x-telo-topology-role": string;
502
+ type: string;
503
+ items: {
504
+ $ref: string;
505
+ };
506
+ };
507
+ catch: {
508
+ "x-telo-error-context": {
509
+ type: string;
510
+ description: string;
511
+ properties: {
512
+ code: {
513
+ description: string;
514
+ type: string;
515
+ };
516
+ message: {
517
+ description: string;
518
+ type: string;
519
+ };
520
+ step: {
521
+ description: string;
522
+ type: string;
523
+ };
524
+ data: {
525
+ description: string;
526
+ };
527
+ };
528
+ additionalProperties: boolean;
529
+ };
530
+ title: string;
531
+ description: string;
532
+ "x-telo-topology-role": string;
533
+ type: string;
534
+ items: {
535
+ $ref: string;
536
+ };
537
+ };
538
+ finally: {
539
+ "x-telo-error-context": {
540
+ type: string[];
541
+ description: string;
542
+ properties: {
543
+ code: {
544
+ description: string;
545
+ type: string;
546
+ };
547
+ message: {
548
+ description: string;
549
+ type: string;
550
+ };
551
+ step: {
552
+ description: string;
553
+ type: string;
554
+ };
555
+ data: {
556
+ description: string;
557
+ };
558
+ };
559
+ additionalProperties: boolean;
560
+ };
561
+ title: string;
562
+ description: string;
563
+ "x-telo-topology-role": string;
564
+ type: string;
565
+ items: {
566
+ $ref: string;
567
+ };
568
+ };
569
+ if?: undefined;
570
+ elseif?: undefined;
571
+ then?: undefined;
572
+ else?: undefined;
573
+ while?: undefined;
574
+ do?: undefined;
575
+ switch?: undefined;
576
+ cases?: undefined;
577
+ default?: undefined;
578
+ throw?: undefined;
579
+ value?: undefined;
580
+ };
581
+ required: string[];
582
+ $ref?: undefined;
583
+ } | {
584
+ title: string;
585
+ description: string;
586
+ properties: {
587
+ throw: {
588
+ title: string;
589
+ description: string;
590
+ type: string;
591
+ properties: {
592
+ code: {
593
+ title: string;
594
+ description: string;
595
+ type: string;
596
+ };
597
+ message: {
598
+ title: string;
599
+ description: string;
600
+ type: string;
601
+ };
602
+ data: {
603
+ title: string;
604
+ description: string;
605
+ };
606
+ };
607
+ required: string[];
608
+ };
609
+ if?: undefined;
610
+ elseif?: undefined;
611
+ then?: undefined;
612
+ else?: undefined;
613
+ while?: undefined;
614
+ do?: undefined;
615
+ switch?: undefined;
616
+ cases?: undefined;
617
+ default?: undefined;
618
+ try?: undefined;
619
+ catch?: undefined;
620
+ finally?: undefined;
621
+ value?: undefined;
622
+ };
623
+ required: string[];
624
+ $ref?: undefined;
625
+ } | {
626
+ title: string;
627
+ description: string;
628
+ properties: {
629
+ value: {
630
+ title: string;
631
+ description: string;
632
+ };
633
+ if?: undefined;
634
+ elseif?: undefined;
635
+ then?: undefined;
636
+ else?: undefined;
637
+ while?: undefined;
638
+ do?: undefined;
639
+ switch?: undefined;
640
+ cases?: undefined;
641
+ default?: undefined;
642
+ try?: undefined;
643
+ catch?: undefined;
644
+ finally?: undefined;
645
+ throw?: undefined;
646
+ };
647
+ required: string[];
648
+ $ref?: undefined;
649
+ })[];
650
+ required: string[];
651
+ };
292
652
  /** True when a slot's `x-telo-fragment` stamp says it holds author-written JSON
293
653
  * Schema — a kind's `schema:`, a `status:` block, a `Telo.JsonSchema`'s own
294
654
  * `schema`. The one accessor every consumer asks, so no surface re-spells the
@@ -426,9 +786,348 @@ export declare const ManifestRootSchema: {
426
786
  retry: {
427
787
  title: string;
428
788
  $ref: string;
789
+ properties: {
790
+ nonRetryable: {
791
+ title: string;
792
+ description: string;
793
+ type: string;
794
+ items: {
795
+ type: string;
796
+ };
797
+ default: never[];
798
+ };
799
+ };
800
+ };
801
+ timeout: {
802
+ title: string;
803
+ description: string;
804
+ type: string;
805
+ minimum: number;
429
806
  };
430
807
  };
431
808
  };
809
+ Step: {
810
+ title: string;
811
+ description: string;
812
+ type: string;
813
+ properties: {
814
+ name: {
815
+ title: string;
816
+ description: string;
817
+ type: string;
818
+ };
819
+ };
820
+ oneOf: ({
821
+ title: string;
822
+ description: string;
823
+ $ref: string;
824
+ properties?: undefined;
825
+ required?: undefined;
826
+ } | {
827
+ title: string;
828
+ description: string;
829
+ properties: {
830
+ if: {
831
+ title: string;
832
+ description: string;
833
+ "x-telo-topology-role": string;
834
+ type: string;
835
+ };
836
+ elseif: {
837
+ title: string;
838
+ description: string;
839
+ "x-telo-topology-role": string;
840
+ type: string;
841
+ items: {
842
+ type: string;
843
+ properties: {
844
+ if: {
845
+ title: string;
846
+ description: string;
847
+ "x-telo-topology-role": string;
848
+ type: string;
849
+ };
850
+ then: {
851
+ title: string;
852
+ description: string;
853
+ "x-telo-topology-role": string;
854
+ type: string;
855
+ items: {
856
+ $ref: string;
857
+ };
858
+ };
859
+ };
860
+ required: string[];
861
+ };
862
+ };
863
+ then: {
864
+ title: string;
865
+ description: string;
866
+ "x-telo-topology-role": string;
867
+ type: string;
868
+ items: {
869
+ $ref: string;
870
+ };
871
+ };
872
+ else: {
873
+ title: string;
874
+ description: string;
875
+ "x-telo-topology-role": string;
876
+ type: string;
877
+ items: {
878
+ $ref: string;
879
+ };
880
+ };
881
+ while?: undefined;
882
+ do?: undefined;
883
+ switch?: undefined;
884
+ cases?: undefined;
885
+ default?: undefined;
886
+ try?: undefined;
887
+ catch?: undefined;
888
+ finally?: undefined;
889
+ throw?: undefined;
890
+ value?: undefined;
891
+ };
892
+ required: string[];
893
+ $ref?: undefined;
894
+ } | {
895
+ title: string;
896
+ description: string;
897
+ properties: {
898
+ while: {
899
+ title: string;
900
+ description: string;
901
+ "x-telo-topology-role": string;
902
+ type: string;
903
+ };
904
+ do: {
905
+ title: string;
906
+ description: string;
907
+ "x-telo-topology-role": string;
908
+ type: string;
909
+ items: {
910
+ $ref: string;
911
+ };
912
+ };
913
+ if?: undefined;
914
+ elseif?: undefined;
915
+ then?: undefined;
916
+ else?: undefined;
917
+ switch?: undefined;
918
+ cases?: undefined;
919
+ default?: undefined;
920
+ try?: undefined;
921
+ catch?: undefined;
922
+ finally?: undefined;
923
+ throw?: undefined;
924
+ value?: undefined;
925
+ };
926
+ required: string[];
927
+ $ref?: undefined;
928
+ } | {
929
+ title: string;
930
+ description: string;
931
+ properties: {
932
+ switch: {
933
+ title: string;
934
+ description: string;
935
+ "x-telo-topology-role": string;
936
+ type: string;
937
+ };
938
+ cases: {
939
+ title: string;
940
+ description: string;
941
+ "x-telo-topology-role": string;
942
+ type: string;
943
+ additionalProperties: {
944
+ type: string;
945
+ items: {
946
+ $ref: string;
947
+ };
948
+ };
949
+ };
950
+ default: {
951
+ title: string;
952
+ description: string;
953
+ "x-telo-topology-role": string;
954
+ type: string;
955
+ items: {
956
+ $ref: string;
957
+ };
958
+ };
959
+ if?: undefined;
960
+ elseif?: undefined;
961
+ then?: undefined;
962
+ else?: undefined;
963
+ while?: undefined;
964
+ do?: undefined;
965
+ try?: undefined;
966
+ catch?: undefined;
967
+ finally?: undefined;
968
+ throw?: undefined;
969
+ value?: undefined;
970
+ };
971
+ required: string[];
972
+ $ref?: undefined;
973
+ } | {
974
+ title: string;
975
+ description: string;
976
+ properties: {
977
+ try: {
978
+ title: string;
979
+ description: string;
980
+ "x-telo-topology-role": string;
981
+ type: string;
982
+ items: {
983
+ $ref: string;
984
+ };
985
+ };
986
+ catch: {
987
+ "x-telo-error-context": {
988
+ type: string;
989
+ description: string;
990
+ properties: {
991
+ code: {
992
+ description: string;
993
+ type: string;
994
+ };
995
+ message: {
996
+ description: string;
997
+ type: string;
998
+ };
999
+ step: {
1000
+ description: string;
1001
+ type: string;
1002
+ };
1003
+ data: {
1004
+ description: string;
1005
+ };
1006
+ };
1007
+ additionalProperties: boolean;
1008
+ };
1009
+ title: string;
1010
+ description: string;
1011
+ "x-telo-topology-role": string;
1012
+ type: string;
1013
+ items: {
1014
+ $ref: string;
1015
+ };
1016
+ };
1017
+ finally: {
1018
+ "x-telo-error-context": {
1019
+ type: string[];
1020
+ description: string;
1021
+ properties: {
1022
+ code: {
1023
+ description: string;
1024
+ type: string;
1025
+ };
1026
+ message: {
1027
+ description: string;
1028
+ type: string;
1029
+ };
1030
+ step: {
1031
+ description: string;
1032
+ type: string;
1033
+ };
1034
+ data: {
1035
+ description: string;
1036
+ };
1037
+ };
1038
+ additionalProperties: boolean;
1039
+ };
1040
+ title: string;
1041
+ description: string;
1042
+ "x-telo-topology-role": string;
1043
+ type: string;
1044
+ items: {
1045
+ $ref: string;
1046
+ };
1047
+ };
1048
+ if?: undefined;
1049
+ elseif?: undefined;
1050
+ then?: undefined;
1051
+ else?: undefined;
1052
+ while?: undefined;
1053
+ do?: undefined;
1054
+ switch?: undefined;
1055
+ cases?: undefined;
1056
+ default?: undefined;
1057
+ throw?: undefined;
1058
+ value?: undefined;
1059
+ };
1060
+ required: string[];
1061
+ $ref?: undefined;
1062
+ } | {
1063
+ title: string;
1064
+ description: string;
1065
+ properties: {
1066
+ throw: {
1067
+ title: string;
1068
+ description: string;
1069
+ type: string;
1070
+ properties: {
1071
+ code: {
1072
+ title: string;
1073
+ description: string;
1074
+ type: string;
1075
+ };
1076
+ message: {
1077
+ title: string;
1078
+ description: string;
1079
+ type: string;
1080
+ };
1081
+ data: {
1082
+ title: string;
1083
+ description: string;
1084
+ };
1085
+ };
1086
+ required: string[];
1087
+ };
1088
+ if?: undefined;
1089
+ elseif?: undefined;
1090
+ then?: undefined;
1091
+ else?: undefined;
1092
+ while?: undefined;
1093
+ do?: undefined;
1094
+ switch?: undefined;
1095
+ cases?: undefined;
1096
+ default?: undefined;
1097
+ try?: undefined;
1098
+ catch?: undefined;
1099
+ finally?: undefined;
1100
+ value?: undefined;
1101
+ };
1102
+ required: string[];
1103
+ $ref?: undefined;
1104
+ } | {
1105
+ title: string;
1106
+ description: string;
1107
+ properties: {
1108
+ value: {
1109
+ title: string;
1110
+ description: string;
1111
+ };
1112
+ if?: undefined;
1113
+ elseif?: undefined;
1114
+ then?: undefined;
1115
+ else?: undefined;
1116
+ while?: undefined;
1117
+ do?: undefined;
1118
+ switch?: undefined;
1119
+ cases?: undefined;
1120
+ default?: undefined;
1121
+ try?: undefined;
1122
+ catch?: undefined;
1123
+ finally?: undefined;
1124
+ throw?: undefined;
1125
+ };
1126
+ required: string[];
1127
+ $ref?: undefined;
1128
+ })[];
1129
+ required: string[];
1130
+ };
432
1131
  JsonSchema7: {
433
1132
  title: string;
434
1133
  description: string;