@fluidgrids/workflows 2026.1029.1 → 2026.1030.1

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 (118) hide show
  1. package/README.md +112 -4
  2. package/dist/{activation-CESehfYi.d.cts → activation-DqUfpHzk.d.cts} +1 -1
  3. package/dist/{activation-BnVQMv9y.d.ts → activation-xpx1oWuo.d.ts} +1 -1
  4. package/dist/{chunk-MJ5TGYVG.js → chunk-2D3MYIIF.js} +969 -153
  5. package/dist/{chunk-2B37XAFQ.cjs → chunk-3U2NU7YC.cjs} +24 -11
  6. package/dist/{chunk-NEIUQASE.cjs → chunk-4QKB4ARC.cjs} +3 -3
  7. package/dist/{chunk-GBQ33SIZ.cjs → chunk-54FLQNUM.cjs} +12 -1
  8. package/dist/{chunk-2DDULZFM.js → chunk-5HIVIV53.js} +86 -75
  9. package/dist/chunk-5MFVJM76.js +1222 -0
  10. package/dist/{chunk-EWYADREB.cjs → chunk-672KMMBK.cjs} +2 -2
  11. package/dist/{chunk-KXJDRQ6G.js → chunk-6A2FGSUS.js} +22 -2
  12. package/dist/{chunk-OIX4O6UR.js → chunk-6OLN6BMB.js} +16 -3
  13. package/dist/{chunk-6FSHT5IL.js → chunk-7EZIANC7.js} +1 -1
  14. package/dist/chunk-A5SXCA62.cjs +93 -0
  15. package/dist/chunk-AC6ZEXVR.js +85 -0
  16. package/dist/{chunk-FWBRQWRX.js → chunk-AE5Q6ZAJ.js} +167 -10
  17. package/dist/{chunk-7ILGCUI6.js → chunk-C4F5KJTI.js} +142 -3
  18. package/dist/{chunk-WXXNCHUY.js → chunk-G5H32GIG.js} +1 -1
  19. package/dist/{chunk-OMY3CKUZ.cjs → chunk-GEQDGUGB.cjs} +1042 -226
  20. package/dist/{chunk-25BKWR2O.js → chunk-HCM7ZC7Q.js} +1 -1
  21. package/dist/{chunk-I47EENR4.cjs → chunk-HMZUGSMU.cjs} +673 -156
  22. package/dist/{chunk-NXFBVDOI.cjs → chunk-IQPXHQQQ.cjs} +8 -4
  23. package/dist/{chunk-RUQIMTN5.cjs → chunk-ISOIA7NV.cjs} +178 -15
  24. package/dist/chunk-JSC75O5C.cjs +167 -0
  25. package/dist/{chunk-BD7ZPG53.js → chunk-NWQ5WRLE.js} +10 -2
  26. package/dist/chunk-ODZ2IAR2.cjs +1247 -0
  27. package/dist/{chunk-FQSJI5NV.js → chunk-SR7TR5KX.js} +6 -2
  28. package/dist/{chunk-OKX3FYIM.cjs → chunk-TCTE7DX5.cjs} +3 -3
  29. package/dist/{chunk-3FIDHONL.cjs → chunk-TYF56RGB.cjs} +99 -80
  30. package/dist/{chunk-J3PYFGKA.cjs → chunk-VA4OFR72.cjs} +162 -4
  31. package/dist/chunk-VU5S5A7V.js +150 -0
  32. package/dist/{chunk-A36CCOWS.js → chunk-YEHR4NNE.js} +633 -128
  33. package/dist/{chunk-ELL2RBML.cjs → chunk-ZCGKGDCL.cjs} +23 -1
  34. package/dist/codegen/index.d.cts +2 -2
  35. package/dist/codegen/index.d.ts +2 -2
  36. package/dist/{collect-BTHjQaSp.d.ts → collect-6NIEufHd.d.ts} +20 -3
  37. package/dist/{collect-CSyOg5XC.d.cts → collect-CcTCKqx6.d.cts} +20 -3
  38. package/dist/{file-cgL9l9l8.d.cts → file-BxYpwjRQ.d.cts} +250 -15
  39. package/dist/{file-olQudcx5.d.ts → file-CFdPQJI9.d.ts} +250 -15
  40. package/dist/history/index.cjs +283 -106
  41. package/dist/history/index.d.cts +549 -10
  42. package/dist/history/index.d.ts +549 -10
  43. package/dist/history/index.js +5 -4
  44. package/dist/index.cjs +146 -53
  45. package/dist/index.d.cts +38 -14
  46. package/dist/index.d.ts +38 -14
  47. package/dist/index.js +6 -5
  48. package/dist/interceptors-CNcr2dlk.d.ts +159 -0
  49. package/dist/interceptors-CqkNZVfI.d.cts +159 -0
  50. package/dist/ir/index.cjs +339 -36
  51. package/dist/ir/index.d.cts +244 -8
  52. package/dist/ir/index.d.ts +244 -8
  53. package/dist/ir/index.js +306 -21
  54. package/dist/{lower-3S6PsqjJ.d.cts → lower-BtRfIW2A.d.cts} +23 -9
  55. package/dist/{lower-DmZpQ8hJ.d.ts → lower-CpsMFOFX.d.ts} +23 -9
  56. package/dist/{manifest-BJjrQt77.d.ts → manifest-D-I_twys.d.ts} +1 -1
  57. package/dist/{manifest-gRI2Q5Fj.d.cts → manifest-DahBQVM8.d.cts} +1 -1
  58. package/dist/node-evaluator-DGQDPSPI.cjs +24 -0
  59. package/dist/node-evaluator-LEEVD7H7.js +14 -0
  60. package/dist/payload-fields-BVRQn2yH.d.cts +122 -0
  61. package/dist/payload-fields-oOBWxDiG.d.ts +122 -0
  62. package/dist/quickjs/index.cjs +27 -27
  63. package/dist/quickjs/index.d.cts +6 -6
  64. package/dist/quickjs/index.d.ts +6 -6
  65. package/dist/quickjs/index.js +9 -9
  66. package/dist/roundtrip/index.cjs +72 -66
  67. package/dist/roundtrip/index.d.cts +25 -11
  68. package/dist/roundtrip/index.d.ts +25 -11
  69. package/dist/roundtrip/index.js +13 -11
  70. package/dist/runtime/index.cjs +19 -19
  71. package/dist/runtime/index.d.cts +139 -12
  72. package/dist/runtime/index.d.ts +139 -12
  73. package/dist/runtime/index.js +6 -6
  74. package/dist/testing/index.cjs +688 -121
  75. package/dist/testing/index.d.cts +174 -10
  76. package/dist/testing/index.d.ts +174 -10
  77. package/dist/testing/index.js +646 -82
  78. package/dist/{types-CnIOinoz.d.ts → types-Bv2i4cBX.d.cts} +126 -23
  79. package/dist/{types-CQKOhPTa.d.cts → types-DGx-b9eq.d.ts} +126 -23
  80. package/dist/{types-Bb2wRnJ5.d.cts → types-V7jEEUaL.d.cts} +1 -1
  81. package/dist/{types-Bb2wRnJ5.d.ts → types-V7jEEUaL.d.ts} +1 -1
  82. package/dist/{workflow-8uRU9rhL.d.ts → workflow-B18OeF7g.d.ts} +2 -2
  83. package/dist/{workflow-DWTPHFbt.d.ts → workflow-BGnv8SS6.d.ts} +261 -14
  84. package/dist/{workflow-CZOXUlQ5.d.cts → workflow-BJPFv3cp.d.cts} +2 -2
  85. package/dist/{workflow-O6e64ZcG.d.cts → workflow-DS32Gtws.d.cts} +261 -14
  86. package/fixtures/histories/activity-options-updated.history.json +159 -0
  87. package/fixtures/histories/activity-paused-unpaused.history.json +160 -0
  88. package/fixtures/histories/codec-opaque.history.json +229 -0
  89. package/fixtures/histories/dynamic-workflow.history.json +150 -0
  90. package/fixtures/histories/interceptor-headers.history.json +339 -0
  91. package/fixtures/histories/query-custom.history.json +213 -0
  92. package/fixtures/histories/query-default-handler.history.json +120 -0
  93. package/fixtures/histories/reset-forked-reapplied-signals.history.json +239 -0
  94. package/fixtures/histories/reset-reapplied-update-admitted.history.json +228 -0
  95. package/fixtures/histories/search-attributes-upserted.history.json +177 -0
  96. package/fixtures/histories/update-accepted-completed.history.json +45 -30
  97. package/fixtures/histories/update-default-handler.history.json +246 -0
  98. package/fixtures/histories/update-handler-awaits-activity.history.json +196 -0
  99. package/fixtures/histories/update-not-handled.history.json +138 -0
  100. package/fixtures/histories/update-rejected-no-event.history.json +190 -0
  101. package/fixtures/histories/update-with-start-admitted.history.json +150 -0
  102. package/fixtures/histories/user-activity-cancel.history.json +149 -0
  103. package/fixtures/histories/user-activity-retry.history.json +143 -0
  104. package/fixtures/histories/user-activity.history.json +149 -0
  105. package/package.json +1 -1
  106. package/schema/bridge-v2.schema.json +1062 -0
  107. package/schema/history-file.schema.json +255 -81
  108. package/schema/ir-v2.schema.json +246 -1
  109. package/schema/payload-fields.json +162 -0
  110. package/schema/run-event.schema.json +239 -80
  111. package/schema/workflow-command.schema.json +210 -84
  112. package/schema/workflow-task.schema.json +532 -167
  113. package/dist/chunk-6QPOJZT6.cjs +0 -1180
  114. package/dist/chunk-A2OHX3UQ.js +0 -1156
  115. package/dist/chunk-PWIUEWC3.js +0 -81
  116. package/dist/chunk-YHBVMOMK.cjs +0 -87
  117. package/dist/node-evaluator-SOADN23V.js +0 -14
  118. package/dist/node-evaluator-YGDEXK4U.cjs +0 -24
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "replay": {
39
39
  "type": "boolean",
40
- "description": "False for histories that use Phase C features (updates); they are parsed and projected but not replayed."
40
+ "description": "False for histories that are parsed and projected but not replayed (written by hand for a feature the recording runtime did not have)."
41
41
  },
42
42
  "info": {
43
43
  "$ref": "#/$defs/info"
@@ -376,6 +376,18 @@
376
376
  "USE_EXISTING",
377
377
  "TERMINATE_EXISTING"
378
378
  ]
379
+ },
380
+ "fairnessKey": {
381
+ "type": "string",
382
+ "minLength": 1,
383
+ "maxLength": 255,
384
+ "description": "Phase C: the fairness key of the task (11 §2.11); default the workspace id."
385
+ },
386
+ "fairnessWeight": {
387
+ "type": "number",
388
+ "minimum": 0.1,
389
+ "maximum": 10,
390
+ "description": "Phase C: the weight of the fairness key, 0.1 to 10 (default 1)."
379
391
  }
380
392
  }
381
393
  },
@@ -452,7 +464,8 @@
452
464
  "type": "object",
453
465
  "additionalProperties": {
454
466
  "type": "string"
455
- }
467
+ },
468
+ "description": "Interceptor headers (11 §2.10): string values; a user activity carries at most 16 KiB of JSON (checked by validateCommands)."
456
469
  },
457
470
  "payload_WORKFLOW_STARTED": {
458
471
  "type": "object",
@@ -583,6 +596,25 @@
583
596
  "type": "integer",
584
597
  "minimum": 1,
585
598
  "maximum": 5
599
+ },
600
+ "headers": {
601
+ "$ref": "#/$defs/headers"
602
+ },
603
+ "searchAttributes": {
604
+ "type": "object",
605
+ "description": "Phase C: the search attributes the start set (11 §2.8)."
606
+ },
607
+ "fairnessKey": {
608
+ "type": "string",
609
+ "minLength": 1,
610
+ "maxLength": 255,
611
+ "description": "Phase C: the fairness key of the task (11 §2.11); default the workspace id."
612
+ },
613
+ "fairnessWeight": {
614
+ "type": "number",
615
+ "minimum": 0.1,
616
+ "maximum": 10,
617
+ "description": "Phase C: the weight of the fairness key, 0.1 to 10 (default 1)."
586
618
  }
587
619
  }
588
620
  },
@@ -720,85 +752,193 @@
720
752
  }
721
753
  },
722
754
  "payload_ACTIVITY_SCHEDULED": {
723
- "type": "object",
724
- "required": [
725
- "activityId",
726
- "kind",
727
- "nodeType",
728
- "operation",
729
- "args",
730
- "retry"
731
- ],
732
- "properties": {
733
- "headers": {
734
- "$ref": "#/$defs/headers"
735
- },
736
- "activityId": {
737
- "type": "string",
738
- "minLength": 1,
739
- "maxLength": 256
740
- },
741
- "kind": {
742
- "const": "node"
743
- },
744
- "nodeType": {
745
- "type": "string",
746
- "minLength": 1,
747
- "maxLength": 256
748
- },
749
- "nodeVersion": {
750
- "type": "string"
751
- },
752
- "operation": {
753
- "type": "string",
754
- "minLength": 1,
755
- "maxLength": 256
756
- },
757
- "args": {},
758
- "connection": {
759
- "type": "string",
760
- "minLength": 1,
761
- "maxLength": 256
762
- },
763
- "retry": {
764
- "$ref": "#/$defs/retryPolicy"
765
- },
766
- "startToCloseTimeout": {
767
- "type": "integer",
768
- "minimum": 0
769
- },
770
- "scheduleToCloseTimeout": {
771
- "type": "integer",
772
- "minimum": 0
773
- },
774
- "scheduleToStartTimeout": {
775
- "type": "integer",
776
- "minimum": 0
777
- },
778
- "heartbeatTimeout": {
779
- "type": "integer",
780
- "minimum": 0
781
- },
782
- "cancellationType": {
783
- "enum": [
784
- "WAIT_CANCELLATION_COMPLETED",
785
- "TRY_CANCEL",
786
- "ABANDON"
787
- ]
788
- },
789
- "priority": {
790
- "type": "integer",
791
- "minimum": 1,
792
- "maximum": 5
793
- },
794
- "summary": {
795
- "type": "string",
796
- "maxLength": 200
755
+ "description": "The SCHEDULE_ACTIVITY command as the service accepted it: kind node, or kind user (Phase C) with activityName, taskQueue, fairness, connections and headers.",
756
+ "oneOf": [
757
+ {
758
+ "type": "object",
759
+ "required": [
760
+ "activityId",
761
+ "kind",
762
+ "nodeType",
763
+ "operation",
764
+ "args",
765
+ "retry"
766
+ ],
767
+ "properties": {
768
+ "activityId": {
769
+ "type": "string",
770
+ "minLength": 1,
771
+ "maxLength": 256
772
+ },
773
+ "args": {},
774
+ "retry": {
775
+ "$ref": "#/$defs/retryPolicy"
776
+ },
777
+ "startToCloseTimeout": {
778
+ "type": "integer",
779
+ "minimum": 0
780
+ },
781
+ "scheduleToCloseTimeout": {
782
+ "type": "integer",
783
+ "minimum": 0
784
+ },
785
+ "scheduleToStartTimeout": {
786
+ "type": "integer",
787
+ "minimum": 0
788
+ },
789
+ "heartbeatTimeout": {
790
+ "type": "integer",
791
+ "minimum": 0
792
+ },
793
+ "cancellationType": {
794
+ "enum": [
795
+ "WAIT_CANCELLATION_COMPLETED",
796
+ "TRY_CANCEL",
797
+ "ABANDON"
798
+ ]
799
+ },
800
+ "priority": {
801
+ "type": "integer",
802
+ "minimum": 1,
803
+ "maximum": 5
804
+ },
805
+ "summary": {
806
+ "type": "string",
807
+ "maxLength": 200
808
+ },
809
+ "fairnessKey": {
810
+ "type": "string",
811
+ "minLength": 1,
812
+ "maxLength": 255,
813
+ "description": "Phase C: the fairness key of the task (11 §2.11); default the workspace id."
814
+ },
815
+ "fairnessWeight": {
816
+ "type": "number",
817
+ "minimum": 0.1,
818
+ "maximum": 10,
819
+ "description": "Phase C: the weight of the fairness key, 0.1 to 10 (default 1)."
820
+ },
821
+ "kind": {
822
+ "const": "node"
823
+ },
824
+ "nodeType": {
825
+ "type": "string",
826
+ "minLength": 1,
827
+ "maxLength": 256
828
+ },
829
+ "nodeVersion": {
830
+ "type": "string"
831
+ },
832
+ "operation": {
833
+ "type": "string",
834
+ "minLength": 1,
835
+ "maxLength": 256
836
+ },
837
+ "connection": {
838
+ "type": "string",
839
+ "minLength": 1,
840
+ "maxLength": 256
841
+ },
842
+ "runOn": {
843
+ "type": "string"
844
+ },
845
+ "headers": {
846
+ "$ref": "#/$defs/headers"
847
+ }
848
+ }
797
849
  },
798
- "runOn": {
799
- "type": "string"
850
+ {
851
+ "type": "object",
852
+ "required": [
853
+ "activityId",
854
+ "kind",
855
+ "activityName",
856
+ "taskQueue",
857
+ "args",
858
+ "retry"
859
+ ],
860
+ "properties": {
861
+ "activityId": {
862
+ "type": "string",
863
+ "minLength": 1,
864
+ "maxLength": 256
865
+ },
866
+ "args": {},
867
+ "retry": {
868
+ "$ref": "#/$defs/retryPolicy"
869
+ },
870
+ "startToCloseTimeout": {
871
+ "type": "integer",
872
+ "minimum": 0
873
+ },
874
+ "scheduleToCloseTimeout": {
875
+ "type": "integer",
876
+ "minimum": 0
877
+ },
878
+ "scheduleToStartTimeout": {
879
+ "type": "integer",
880
+ "minimum": 0
881
+ },
882
+ "heartbeatTimeout": {
883
+ "type": "integer",
884
+ "minimum": 0
885
+ },
886
+ "cancellationType": {
887
+ "enum": [
888
+ "WAIT_CANCELLATION_COMPLETED",
889
+ "TRY_CANCEL",
890
+ "ABANDON"
891
+ ]
892
+ },
893
+ "priority": {
894
+ "type": "integer",
895
+ "minimum": 1,
896
+ "maximum": 5
897
+ },
898
+ "summary": {
899
+ "type": "string",
900
+ "maxLength": 200
901
+ },
902
+ "fairnessKey": {
903
+ "type": "string",
904
+ "minLength": 1,
905
+ "maxLength": 255,
906
+ "description": "Phase C: the fairness key of the task (11 §2.11); default the workspace id."
907
+ },
908
+ "fairnessWeight": {
909
+ "type": "number",
910
+ "minimum": 0.1,
911
+ "maximum": 10,
912
+ "description": "Phase C: the weight of the fairness key, 0.1 to 10 (default 1)."
913
+ },
914
+ "kind": {
915
+ "const": "user"
916
+ },
917
+ "activityName": {
918
+ "type": "string",
919
+ "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$"
920
+ },
921
+ "taskQueue": {
922
+ "type": "string",
923
+ "pattern": "^[a-z0-9][a-z0-9-]{0,62}$"
924
+ },
925
+ "connections": {
926
+ "type": "array",
927
+ "maxItems": 16,
928
+ "uniqueItems": true,
929
+ "items": {
930
+ "type": "string",
931
+ "minLength": 1,
932
+ "maxLength": 256
933
+ },
934
+ "description": "Connection names the worker may resolve for each started attempt (H2: declared by the definition and on the worker token allow-list)."
935
+ },
936
+ "headers": {
937
+ "$ref": "#/$defs/headers"
938
+ }
939
+ }
800
940
  }
801
- }
941
+ ]
802
942
  },
803
943
  "payload_ACTIVITY_STARTED": {
804
944
  "type": "object",
@@ -1060,6 +1200,9 @@
1060
1200
  "actor": {},
1061
1201
  "idempotencyKey": {
1062
1202
  "type": "string"
1203
+ },
1204
+ "headers": {
1205
+ "$ref": "#/$defs/headers"
1063
1206
  }
1064
1207
  }
1065
1208
  },
@@ -1080,7 +1223,10 @@
1080
1223
  "minLength": 1,
1081
1224
  "maxLength": 256
1082
1225
  },
1083
- "args": {}
1226
+ "args": {},
1227
+ "headers": {
1228
+ "$ref": "#/$defs/headers"
1229
+ }
1084
1230
  }
1085
1231
  },
1086
1232
  "payload_UPDATE_ACCEPTED": {
@@ -1100,7 +1246,10 @@
1100
1246
  "minLength": 1,
1101
1247
  "maxLength": 256
1102
1248
  },
1103
- "args": {}
1249
+ "args": {},
1250
+ "headers": {
1251
+ "$ref": "#/$defs/headers"
1252
+ }
1104
1253
  }
1105
1254
  },
1106
1255
  "payload_UPDATE_COMPLETED": {
@@ -1158,6 +1307,9 @@
1158
1307
  "GRAPH",
1159
1308
  "DURABLE_FN"
1160
1309
  ]
1310
+ },
1311
+ "headers": {
1312
+ "$ref": "#/$defs/headers"
1161
1313
  }
1162
1314
  }
1163
1315
  },
@@ -1528,6 +1680,13 @@
1528
1680
  },
1529
1681
  "reason": {
1530
1682
  "type": "string"
1683
+ },
1684
+ "actor": {},
1685
+ "reapplySignals": {
1686
+ "type": "boolean"
1687
+ },
1688
+ "reapplyUpdates": {
1689
+ "type": "boolean"
1531
1690
  }
1532
1691
  }
1533
1692
  },
@@ -2818,6 +2977,21 @@
2818
2977
  },
2819
2978
  "retry": {
2820
2979
  "$ref": "#/$defs/runRetryPolicy"
2980
+ },
2981
+ "searchAttributes": {
2982
+ "type": "object"
2983
+ },
2984
+ "fairnessKey": {
2985
+ "type": "string",
2986
+ "minLength": 1,
2987
+ "maxLength": 255,
2988
+ "description": "Phase C: the fairness key of the task (11 §2.11); default the workspace id."
2989
+ },
2990
+ "fairnessWeight": {
2991
+ "type": "number",
2992
+ "minimum": 0.1,
2993
+ "maximum": 10,
2994
+ "description": "Phase C: the weight of the fairness key, 0.1 to 10 (default 1)."
2821
2995
  }
2822
2996
  }
2823
2997
  }
@@ -387,6 +387,251 @@
387
387
  }
388
388
  }
389
389
  }
390
+ },
391
+ {
392
+ "if": {
393
+ "properties": {
394
+ "type": {
395
+ "const": "internal:signal-run"
396
+ }
397
+ },
398
+ "required": [
399
+ "type"
400
+ ]
401
+ },
402
+ "then": {
403
+ "description": "Phase C (fluidgrids.run-control): signal another run of the workspace (05 §4). A retried node delivers once (dedupe key signal-node:<nodeStateId>:<attempt>).",
404
+ "required": [
405
+ "args"
406
+ ],
407
+ "properties": {
408
+ "args": {
409
+ "required": [
410
+ "state"
411
+ ],
412
+ "properties": {
413
+ "state": {
414
+ "type": "object",
415
+ "required": [
416
+ "signalName",
417
+ "target"
418
+ ],
419
+ "properties": {
420
+ "signalName": {
421
+ "type": "string",
422
+ "minLength": 1
423
+ },
424
+ "target": {
425
+ "description": "The run to signal: { runId }, { workflowKey, workflowId, firstRunId? } (the open run of that workflow id) or { parent: true }. Values may be expressions.",
426
+ "oneOf": [
427
+ {
428
+ "type": "object",
429
+ "required": [
430
+ "runId"
431
+ ],
432
+ "properties": {
433
+ "runId": {
434
+ "type": "string",
435
+ "minLength": 1
436
+ }
437
+ },
438
+ "additionalProperties": false
439
+ },
440
+ {
441
+ "type": "object",
442
+ "required": [
443
+ "workflowKey",
444
+ "workflowId"
445
+ ],
446
+ "properties": {
447
+ "workflowKey": {
448
+ "type": "string",
449
+ "minLength": 1
450
+ },
451
+ "workflowId": {
452
+ "type": "string",
453
+ "minLength": 1
454
+ },
455
+ "firstRunId": {
456
+ "type": "string",
457
+ "minLength": 1
458
+ }
459
+ },
460
+ "additionalProperties": false
461
+ },
462
+ {
463
+ "type": "object",
464
+ "required": [
465
+ "parent"
466
+ ],
467
+ "properties": {
468
+ "parent": {
469
+ "const": true
470
+ }
471
+ },
472
+ "additionalProperties": false
473
+ }
474
+ ]
475
+ },
476
+ "payload": {},
477
+ "failOnUndelivered": {
478
+ "type": "boolean",
479
+ "description": "Default true: an undelivered signal fails the node."
480
+ }
481
+ }
482
+ }
483
+ }
484
+ }
485
+ }
486
+ }
487
+ },
488
+ {
489
+ "if": {
490
+ "properties": {
491
+ "type": {
492
+ "const": "internal:set-search-attributes"
493
+ }
494
+ },
495
+ "required": [
496
+ "type"
497
+ ]
498
+ },
499
+ "then": {
500
+ "description": "Phase C (fluidgrids.search-attributes): upsert the run search attributes (11 §2.8); a null value removes one. Values may be expressions; the service validates them against the workspace definitions.",
501
+ "required": [
502
+ "args"
503
+ ],
504
+ "properties": {
505
+ "args": {
506
+ "required": [
507
+ "state"
508
+ ],
509
+ "properties": {
510
+ "state": {
511
+ "type": "object",
512
+ "required": [
513
+ "attributes"
514
+ ],
515
+ "properties": {
516
+ "attributes": {
517
+ "type": "object",
518
+ "minProperties": 1
519
+ }
520
+ }
521
+ }
522
+ }
523
+ }
524
+ }
525
+ }
526
+ },
527
+ {
528
+ "if": {
529
+ "properties": {
530
+ "type": {
531
+ "const": "internal:schedule"
532
+ }
533
+ },
534
+ "required": [
535
+ "type"
536
+ ]
537
+ },
538
+ "then": {
539
+ "properties": {
540
+ "args": {
541
+ "properties": {
542
+ "state": {
543
+ "description": "Phase C schedule policies (11 §2.16, §2.33; fluidgrids.schedule-policies). Every field is optional; a trigger without overlapPolicy keeps the ALLOW_ALL behaviour of earlier versions.",
544
+ "properties": {
545
+ "overlapPolicy": {
546
+ "enum": [
547
+ "SKIP",
548
+ "BUFFER_ONE",
549
+ "BUFFER_ALL",
550
+ "CANCEL_OTHER",
551
+ "TERMINATE_OTHER",
552
+ "ALLOW_ALL"
553
+ ]
554
+ },
555
+ "catchupWindow": {
556
+ "oneOf": [
557
+ {
558
+ "type": "number",
559
+ "minimum": 0
560
+ },
561
+ {
562
+ "type": "string",
563
+ "minLength": 1
564
+ }
565
+ ]
566
+ },
567
+ "pauseOnFailure": {
568
+ "type": "boolean"
569
+ },
570
+ "limitedActions": {
571
+ "type": "integer",
572
+ "minimum": 1
573
+ },
574
+ "scheduleContext": {
575
+ "type": "object"
576
+ },
577
+ "scheduleSearchAttributes": {
578
+ "type": "object"
579
+ },
580
+ "spec": {
581
+ "description": "One of cron, calendar or interval, plus excludeCalendars (calendar entries whose matches are skipped), startAt, endAt (ISO 8601), timezone and jitter.",
582
+ "properties": {
583
+ "cron": {
584
+ "type": "string"
585
+ },
586
+ "calendar": {
587
+ "type": "array",
588
+ "items": {
589
+ "type": "object"
590
+ }
591
+ },
592
+ "interval": {
593
+ "type": "array",
594
+ "items": {
595
+ "type": "object"
596
+ }
597
+ },
598
+ "excludeCalendars": {
599
+ "type": "array",
600
+ "items": {
601
+ "type": "object"
602
+ }
603
+ },
604
+ "startAt": {
605
+ "type": "string",
606
+ "minLength": 1
607
+ },
608
+ "endAt": {
609
+ "type": "string",
610
+ "minLength": 1
611
+ },
612
+ "timezone": {
613
+ "type": "string"
614
+ },
615
+ "jitter": {
616
+ "oneOf": [
617
+ {
618
+ "type": "number",
619
+ "minimum": 0
620
+ },
621
+ {
622
+ "type": "string",
623
+ "minLength": 1
624
+ }
625
+ ]
626
+ }
627
+ }
628
+ }
629
+ }
630
+ }
631
+ }
632
+ }
633
+ }
634
+ }
390
635
  }
391
636
  ]
392
637
  },
@@ -660,7 +905,7 @@
660
905
  "minLength": 1
661
906
  },
662
907
  "uniqueItems": true,
663
- "description": "Runtime features the bundle uses (C-FEATURES, SDK R2): localActivity, externalCancel, childOptions, canOptions, autoUpgrade, runRetry, timeouts; Phase C adds userActivity, updates, queries, searchAttributes, dynamic and interceptors. A bundle without the field was built before R2 and uses none."
908
+ "description": "Runtime features the bundle uses (C-FEATURES): localActivity, externalCancel, childOptions, canOptions, autoUpgrade, runRetry, timeouts (SDK R2); userActivity, updates, queries, searchAttributes, dynamic and interceptors (Phase C, C-R1). A bundle without the field was built before R2 and uses none."
664
909
  }
665
910
  }
666
911
  },