@fluidgrids/workflows 2026.1028.2 → 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 (154) hide show
  1. package/README.md +181 -11
  2. package/dist/{activation-BBh1p82z.d.cts → activation-DqUfpHzk.d.cts} +1 -1
  3. package/dist/{activation-DnhG7SmF.d.ts → activation-xpx1oWuo.d.ts} +1 -1
  4. package/dist/{chunk-VRHHBPT6.js → chunk-2D3MYIIF.js} +1212 -128
  5. package/dist/chunk-3U2NU7YC.cjs +124 -0
  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-5HIVIV53.js +330 -0
  9. package/dist/chunk-5MFVJM76.js +1222 -0
  10. package/dist/{chunk-JD2VQIDZ.cjs → chunk-672KMMBK.cjs} +2 -2
  11. package/dist/{chunk-C5OLWZ42.js → chunk-6A2FGSUS.js} +22 -14
  12. package/dist/{chunk-XKJA7KX3.js → chunk-6OLN6BMB.js} +52 -3
  13. package/dist/{chunk-6FSHT5IL.js → chunk-7EZIANC7.js} +1 -1
  14. package/dist/{chunk-2J6TF7YI.cjs → chunk-A5SXCA62.cjs} +10 -3
  15. package/dist/{chunk-BO6OVILK.js → chunk-AC6ZEXVR.js} +10 -4
  16. package/dist/{chunk-ABFZWYHT.js → chunk-AE5Q6ZAJ.js} +315 -50
  17. package/dist/chunk-C4F5KJTI.js +293 -0
  18. package/dist/{chunk-IISBRUWJ.js → chunk-G5H32GIG.js} +1 -1
  19. package/dist/chunk-GEQDGUGB.cjs +2719 -0
  20. package/dist/{chunk-XHXIDVEC.js → chunk-HCM7ZC7Q.js} +1 -1
  21. package/dist/chunk-HMZUGSMU.cjs +1554 -0
  22. package/dist/{chunk-SAOBPYYJ.cjs → chunk-IQPXHQQQ.cjs} +8 -4
  23. package/dist/{chunk-P6TA5EZT.cjs → chunk-ISOIA7NV.cjs} +335 -58
  24. package/dist/chunk-JSC75O5C.cjs +167 -0
  25. package/dist/chunk-M272AHEX.js +25 -0
  26. package/dist/{chunk-BD7ZPG53.js → chunk-NWQ5WRLE.js} +10 -2
  27. package/dist/chunk-ODZ2IAR2.cjs +1247 -0
  28. package/dist/chunk-Q4MWQNJK.cjs +28 -0
  29. package/dist/{chunk-HWJZVOG7.js → chunk-SR7TR5KX.js} +6 -2
  30. package/dist/{chunk-FEW3JBYA.cjs → chunk-TCTE7DX5.cjs} +3 -3
  31. package/dist/{chunk-623FVQSN.cjs → chunk-TYF56RGB.cjs} +123 -0
  32. package/dist/chunk-VA4OFR72.cjs +324 -0
  33. package/dist/chunk-VU5S5A7V.js +150 -0
  34. package/dist/chunk-YEHR4NNE.js +1522 -0
  35. package/dist/{chunk-FMSW2HDF.cjs → chunk-ZCGKGDCL.cjs} +23 -15
  36. package/dist/codegen/index.d.cts +2 -2
  37. package/dist/codegen/index.d.ts +2 -2
  38. package/dist/collect-6NIEufHd.d.ts +103 -0
  39. package/dist/collect-CcTCKqx6.d.cts +103 -0
  40. package/dist/{file-BOoHZgoQ.d.cts → file-BxYpwjRQ.d.cts} +1007 -21
  41. package/dist/{file-yuPCFU5b.d.ts → file-CFdPQJI9.d.ts} +1007 -21
  42. package/dist/history/index.cjs +375 -86
  43. package/dist/history/index.d.cts +590 -12
  44. package/dist/history/index.d.ts +590 -12
  45. package/dist/history/index.js +50 -4
  46. package/dist/index.cjs +156 -50
  47. package/dist/index.d.cts +38 -58
  48. package/dist/index.d.ts +38 -58
  49. package/dist/index.js +6 -4
  50. package/dist/interceptors-CNcr2dlk.d.ts +159 -0
  51. package/dist/interceptors-CqkNZVfI.d.cts +159 -0
  52. package/dist/ir/index.cjs +362 -38
  53. package/dist/ir/index.d.cts +282 -7
  54. package/dist/ir/index.d.ts +282 -7
  55. package/dist/ir/index.js +329 -23
  56. package/dist/{lower-BzmUz0sq.d.cts → lower-BtRfIW2A.d.cts} +56 -8
  57. package/dist/{lower-_-iT4HYs.d.ts → lower-CpsMFOFX.d.ts} +56 -8
  58. package/dist/{manifest-C8N6HDYl.d.ts → manifest-D-I_twys.d.ts} +1 -1
  59. package/dist/{manifest-0OLw0i7k.d.cts → manifest-DahBQVM8.d.cts} +1 -1
  60. package/dist/node-evaluator-DGQDPSPI.cjs +24 -0
  61. package/dist/node-evaluator-LEEVD7H7.js +14 -0
  62. package/dist/payload-fields-BVRQn2yH.d.cts +122 -0
  63. package/dist/payload-fields-oOBWxDiG.d.ts +122 -0
  64. package/dist/quickjs/index.cjs +28 -27
  65. package/dist/quickjs/index.d.cts +6 -6
  66. package/dist/quickjs/index.d.ts +6 -6
  67. package/dist/quickjs/index.js +10 -9
  68. package/dist/roundtrip/index.cjs +259 -51
  69. package/dist/roundtrip/index.d.cts +100 -9
  70. package/dist/roundtrip/index.d.ts +100 -9
  71. package/dist/roundtrip/index.js +177 -11
  72. package/dist/runtime/index.cjs +21 -20
  73. package/dist/runtime/index.d.cts +184 -15
  74. package/dist/runtime/index.d.ts +184 -15
  75. package/dist/runtime/index.js +8 -7
  76. package/dist/testing/index.cjs +1122 -115
  77. package/dist/testing/index.d.cts +294 -13
  78. package/dist/testing/index.d.ts +294 -13
  79. package/dist/testing/index.js +1086 -84
  80. package/dist/{types-DV-HX_Gt.d.ts → types-Bv2i4cBX.d.cts} +244 -33
  81. package/dist/{types-CpBBjaGX.d.cts → types-DGx-b9eq.d.ts} +244 -33
  82. package/dist/{types-BGoPzgcl.d.ts → types-V7jEEUaL.d.cts} +20 -1
  83. package/dist/{types-BGoPzgcl.d.cts → types-V7jEEUaL.d.ts} +20 -1
  84. package/dist/{workflow-Bpr3vnA_.d.ts → workflow-B18OeF7g.d.ts} +2 -2
  85. package/dist/workflow-BGnv8SS6.d.ts +803 -0
  86. package/dist/{workflow-FXUkpIBc.d.cts → workflow-BJPFv3cp.d.cts} +2 -2
  87. package/dist/workflow-DS32Gtws.d.cts +803 -0
  88. package/fixtures/histories/activity-options-updated.history.json +159 -0
  89. package/fixtures/histories/activity-paused-unpaused.history.json +160 -0
  90. package/fixtures/histories/auto-upgrade-patched.history.json +276 -0
  91. package/fixtures/histories/benign-failure.history.json +146 -0
  92. package/fixtures/histories/cancel-activity-try-cancel.history.json +150 -0
  93. package/fixtures/histories/child-cancel-wait-requested.history.json +217 -0
  94. package/fixtures/histories/child-options-roundtrip.history.json +192 -0
  95. package/fixtures/histories/codec-opaque.history.json +229 -0
  96. package/fixtures/histories/continue-as-new-last-result.history.json +86 -0
  97. package/fixtures/histories/continue-as-new-options.history.json +99 -0
  98. package/fixtures/histories/continue-as-new-r1-long-task-queue.history.json +78 -0
  99. package/fixtures/histories/continue-as-new-r1-retry-options.history.json +83 -0
  100. package/fixtures/histories/dynamic-workflow.history.json +150 -0
  101. package/fixtures/histories/execution-timeout-chain.history.json +98 -0
  102. package/fixtures/histories/external-cancel-resolved.history.json +123 -0
  103. package/fixtures/histories/external-cancel-unknown-target.history.json +127 -0
  104. package/fixtures/histories/failure-error-types-fails-run.history.json +144 -0
  105. package/fixtures/histories/handler-drain-warn.history.json +222 -0
  106. package/fixtures/histories/heartbeat-details-on-retry.history.json +145 -0
  107. package/fixtures/histories/interceptor-headers.history.json +339 -0
  108. package/fixtures/histories/local-activity-abandoned-at-completion.history.json +73 -0
  109. package/fixtures/histories/local-activity-cancelled-in-scope.history.json +118 -0
  110. package/fixtures/histories/local-activity-completed.history.json +157 -0
  111. package/fixtures/histories/local-activity-failed.history.json +93 -0
  112. package/fixtures/histories/local-activity-retry-in-task.history.json +88 -0
  113. package/fixtures/histories/query-custom.history.json +213 -0
  114. package/fixtures/histories/query-default-handler.history.json +120 -0
  115. package/fixtures/histories/reset-forked-reapplied-signals.history.json +239 -0
  116. package/fixtures/histories/reset-reapplied-update-admitted.history.json +228 -0
  117. package/fixtures/histories/run-retry-last-failure.history.json +90 -0
  118. package/fixtures/histories/run-timeout.history.json +159 -0
  119. package/fixtures/histories/schedule-to-start-timeout.history.json +132 -0
  120. package/fixtures/histories/search-attributes-upserted.history.json +177 -0
  121. package/fixtures/histories/start-delay-signal-ends-delay.history.json +155 -0
  122. package/fixtures/histories/typeerror-task-retry-100.history.json +137 -0
  123. package/fixtures/histories/update-accepted-completed.history.json +45 -30
  124. package/fixtures/histories/update-default-handler.history.json +246 -0
  125. package/fixtures/histories/update-handler-awaits-activity.history.json +196 -0
  126. package/fixtures/histories/update-not-handled.history.json +138 -0
  127. package/fixtures/histories/update-rejected-no-event.history.json +190 -0
  128. package/fixtures/histories/update-with-start-admitted.history.json +150 -0
  129. package/fixtures/histories/user-activity-cancel.history.json +149 -0
  130. package/fixtures/histories/user-activity-retry.history.json +143 -0
  131. package/fixtures/histories/user-activity.history.json +149 -0
  132. package/package.json +1 -1
  133. package/schema/bridge-v2.schema.json +1062 -0
  134. package/schema/history-file.schema.json +538 -83
  135. package/schema/ir-v2.schema.json +290 -0
  136. package/schema/payload-fields.json +162 -0
  137. package/schema/run-event.schema.json +503 -82
  138. package/schema/workflow-command.schema.json +372 -69
  139. package/schema/workflow-task.schema.json +924 -171
  140. package/dist/assemble-BLqQ8lSu.d.cts +0 -39
  141. package/dist/assemble-DWgaXHd-.d.ts +0 -39
  142. package/dist/chunk-DHTLALBL.cjs +0 -80
  143. package/dist/chunk-DJYMDLV5.js +0 -227
  144. package/dist/chunk-I5LR3D2K.js +0 -869
  145. package/dist/chunk-M4BBAERY.cjs +0 -1635
  146. package/dist/chunk-N23SKIG4.js +0 -73
  147. package/dist/chunk-PZCVF76Q.cjs +0 -868
  148. package/dist/chunk-QQ6ULXHI.cjs +0 -885
  149. package/dist/chunk-UK3WM7YZ.cjs +0 -75
  150. package/dist/chunk-VOKMAAJP.js +0 -848
  151. package/dist/node-evaluator-4MSDKWOG.cjs +0 -22
  152. package/dist/node-evaluator-SX4LEYQC.js +0 -12
  153. package/dist/workflow-C2a05WUJ.d.ts +0 -444
  154. package/dist/workflow-J-yYixny.d.cts +0 -444
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://docs.fluidgrids.ai/schemas/workflow-command.schema.json",
4
4
  "title": "FluidGrids workflow-task command",
5
- "description": "A flat object discriminated by an UPPER_SNAKE type. Commands travel as [JSON!]! (DB4). UPSERT_SEARCH_ATTRIBUTES, ACCEPT_UPDATE, REJECT_UPDATE and COMPLETE_UPDATE are defined but refused in Phase B.",
5
+ "description": "A flat object discriminated by an UPPER_SNAKE type. Commands travel as [JSON!]! (DB4). UPSERT_SEARCH_ATTRIBUTES, ACCEPT_UPDATE, REJECT_UPDATE, COMPLETE_UPDATE and SCHEDULE_ACTIVITY of kind user are Phase C: the service accepts them only for the C-GATE features its flags enable (c.searchAttributes, c.updates, c.userActivity).",
6
6
  "type": "object",
7
7
  "required": [
8
8
  "type"
@@ -467,6 +467,7 @@
467
467
  "workflowKey",
468
468
  "workflowId"
469
469
  ],
470
+ "description": "The open run of a workflow id, following its continue-as-new chain; firstRunId pins the chain (R2).",
470
471
  "properties": {
471
472
  "workflowKey": {
472
473
  "type": "string",
@@ -477,12 +478,82 @@
477
478
  "type": "string",
478
479
  "minLength": 1,
479
480
  "maxLength": 256
481
+ },
482
+ "firstRunId": {
483
+ "type": "string",
484
+ "minLength": 1,
485
+ "maxLength": 256
480
486
  }
481
487
  },
482
488
  "additionalProperties": false
483
489
  }
484
490
  ]
485
491
  },
492
+ "runRetryPolicy": {
493
+ "type": "object",
494
+ "required": [
495
+ "initialDelayMs"
496
+ ],
497
+ "description": "Run-level retry (11 §2.17), in milliseconds. maxAttempts counts every attempt; absent means unlimited, bounded by the execution timeout.",
498
+ "properties": {
499
+ "maxAttempts": {
500
+ "type": "integer",
501
+ "minimum": 1
502
+ },
503
+ "initialDelayMs": {
504
+ "type": "integer",
505
+ "minimum": 0
506
+ },
507
+ "backoffMultiplier": {
508
+ "type": "number",
509
+ "minimum": 1
510
+ },
511
+ "maxDelayMs": {
512
+ "type": "integer",
513
+ "minimum": 0
514
+ },
515
+ "retryOnErrorTypes": {
516
+ "type": "array",
517
+ "items": {
518
+ "enum": [
519
+ "TIMEOUT",
520
+ "TRANSIENT",
521
+ "DEPENDENCY",
522
+ "AUTHORIZATION",
523
+ "VALIDATION",
524
+ "PERMANENT",
525
+ "UNKNOWN"
526
+ ]
527
+ }
528
+ },
529
+ "nonRetryableErrorTypes": {
530
+ "type": "array",
531
+ "items": {
532
+ "type": "string"
533
+ }
534
+ }
535
+ },
536
+ "additionalProperties": false
537
+ },
538
+ "timeouts": {
539
+ "type": "object",
540
+ "description": "The three workflow timeouts (11 §2.20), in milliseconds.",
541
+ "properties": {
542
+ "executionTimeout": {
543
+ "type": "integer",
544
+ "minimum": 0
545
+ },
546
+ "runTimeout": {
547
+ "type": "integer",
548
+ "minimum": 0
549
+ },
550
+ "workflowTaskTimeout": {
551
+ "type": "integer",
552
+ "minimum": 0
553
+ }
554
+ },
555
+ "additionalProperties": false
556
+ },
486
557
  "childOptions": {
487
558
  "type": "object",
488
559
  "required": [
@@ -544,101 +615,319 @@
544
615
  "startDelay": {
545
616
  "type": "integer",
546
617
  "minimum": 0
618
+ },
619
+ "retry": {
620
+ "$ref": "#/$defs/runRetryPolicy"
621
+ },
622
+ "versioningBehavior": {
623
+ "enum": [
624
+ "PINNED",
625
+ "AUTO_UPGRADE"
626
+ ]
627
+ },
628
+ "idReusePolicy": {
629
+ "enum": [
630
+ "ALLOW_DUPLICATE",
631
+ "ALLOW_DUPLICATE_FAILED_ONLY",
632
+ "REJECT_DUPLICATE"
633
+ ]
634
+ },
635
+ "idConflictPolicy": {
636
+ "enum": [
637
+ "FAIL",
638
+ "USE_EXISTING",
639
+ "TERMINATE_EXISTING"
640
+ ]
641
+ },
642
+ "fairnessKey": {
643
+ "type": "string",
644
+ "minLength": 1,
645
+ "maxLength": 255,
646
+ "description": "Phase C: the fairness key of the task (11 §2.11); default the workspace id."
647
+ },
648
+ "fairnessWeight": {
649
+ "type": "number",
650
+ "minimum": 0.1,
651
+ "maximum": 10,
652
+ "description": "Phase C: the weight of the fairness key, 0.1 to 10 (default 1)."
547
653
  }
548
654
  }
549
655
  },
550
- "headers": {
551
- "type": "object",
552
- "additionalProperties": {
553
- "type": "string"
554
- }
555
- },
556
- "command_SCHEDULE_ACTIVITY": {
656
+ "legacyCanRetryPolicy": {
557
657
  "type": "object",
558
658
  "required": [
559
- "type",
560
- "activityId",
561
- "kind",
562
- "nodeType",
563
- "operation",
564
- "args",
565
- "retry"
659
+ "retryDelay"
566
660
  ],
661
+ "description": "The R1 activity-shaped CONTINUE_AS_NEW retry: whatever explicitRetryPolicy wrote from a Partial<RetryPolicy>, so numbers carry no integer or minimum constraint. It never had a meaning, and the service ignores it.",
567
662
  "properties": {
568
- "type": {
569
- "const": "SCHEDULE_ACTIVITY"
570
- },
571
- "headers": {
572
- "$ref": "#/$defs/headers"
573
- },
574
- "activityId": {
575
- "type": "string",
576
- "minLength": 1,
577
- "maxLength": 256
663
+ "maxRetries": {
664
+ "type": "number"
578
665
  },
579
- "kind": {
580
- "const": "node"
666
+ "retryDelay": {
667
+ "type": "number"
581
668
  },
582
- "nodeType": {
583
- "type": "string",
584
- "minLength": 1,
585
- "maxLength": 256
669
+ "backoffMultiplier": {
670
+ "type": "number"
586
671
  },
587
- "nodeVersion": {
588
- "type": "string"
672
+ "maxDelay": {
673
+ "type": "number"
589
674
  },
590
- "operation": {
591
- "type": "string",
592
- "minLength": 1,
593
- "maxLength": 256
675
+ "retryOnErrorTypes": {
676
+ "type": "array",
677
+ "items": {
678
+ "type": "string"
679
+ }
594
680
  },
595
- "args": {},
596
- "connection": {
681
+ "nonRetryableErrorTypes": {
682
+ "type": "array",
683
+ "items": {
684
+ "type": "string"
685
+ }
686
+ }
687
+ },
688
+ "additionalProperties": false
689
+ },
690
+ "canOptions": {
691
+ "type": "object",
692
+ "description": "Options of a CONTINUE_AS_NEW command (C-SCHEMA, frozen in R2). retry is the R2 run-retry policy of the new run, or the R1 activity shape (retryDelay, maxRetries, maxDelay) that R1 bundles wrote and R2 bundles still write for that shape: it never had a meaning, and the service ignores it instead of reading it as a run-retry policy.",
693
+ "properties": {
694
+ "taskQueue": {
597
695
  "type": "string",
598
696
  "minLength": 1,
599
697
  "maxLength": 256
600
698
  },
601
699
  "retry": {
602
- "$ref": "#/$defs/retryPolicy"
603
- },
604
- "startToCloseTimeout": {
605
- "type": "integer",
606
- "minimum": 0
607
- },
608
- "scheduleToCloseTimeout": {
609
- "type": "integer",
610
- "minimum": 0
700
+ "oneOf": [
701
+ {
702
+ "$ref": "#/$defs/runRetryPolicy"
703
+ },
704
+ {
705
+ "$ref": "#/$defs/legacyCanRetryPolicy"
706
+ }
707
+ ]
611
708
  },
612
- "scheduleToStartTimeout": {
709
+ "workflowTaskTimeout": {
613
710
  "type": "integer",
614
711
  "minimum": 0
615
712
  },
616
- "heartbeatTimeout": {
617
- "type": "integer",
618
- "minimum": 0
713
+ "context": {
714
+ "type": "object"
619
715
  },
620
- "cancellationType": {
716
+ "versioningBehavior": {
621
717
  "enum": [
622
- "WAIT_CANCELLATION_COMPLETED",
623
- "TRY_CANCEL",
624
- "ABANDON"
718
+ "PINNED",
719
+ "AUTO_UPGRADE"
625
720
  ]
626
- },
627
- "priority": {
628
- "type": "integer",
629
- "minimum": 1,
630
- "maximum": 5
631
- },
632
- "summary": {
633
- "type": "string",
634
- "maxLength": 200
635
- },
636
- "runOn": {
637
- "type": "string"
638
721
  }
639
722
  },
640
723
  "additionalProperties": false
641
724
  },
725
+ "headers": {
726
+ "type": "object",
727
+ "additionalProperties": {
728
+ "type": "string"
729
+ },
730
+ "description": "Interceptor headers (11 §2.10): string values; a user activity carries at most 16 KiB of JSON (checked by validateCommands)."
731
+ },
732
+ "command_SCHEDULE_ACTIVITY": {
733
+ "description": "A oneOf on kind (C-CMD-C): node runs a canvas node operation; user (Phase C) runs a user activity on a self-hosted task queue.",
734
+ "oneOf": [
735
+ {
736
+ "type": "object",
737
+ "required": [
738
+ "type",
739
+ "activityId",
740
+ "kind",
741
+ "nodeType",
742
+ "operation",
743
+ "args",
744
+ "retry"
745
+ ],
746
+ "properties": {
747
+ "type": {
748
+ "const": "SCHEDULE_ACTIVITY"
749
+ },
750
+ "headers": {
751
+ "$ref": "#/$defs/headers"
752
+ },
753
+ "activityId": {
754
+ "type": "string",
755
+ "minLength": 1,
756
+ "maxLength": 256
757
+ },
758
+ "args": {},
759
+ "retry": {
760
+ "$ref": "#/$defs/retryPolicy"
761
+ },
762
+ "startToCloseTimeout": {
763
+ "type": "integer",
764
+ "minimum": 0
765
+ },
766
+ "scheduleToCloseTimeout": {
767
+ "type": "integer",
768
+ "minimum": 0
769
+ },
770
+ "scheduleToStartTimeout": {
771
+ "type": "integer",
772
+ "minimum": 0
773
+ },
774
+ "heartbeatTimeout": {
775
+ "type": "integer",
776
+ "minimum": 0
777
+ },
778
+ "cancellationType": {
779
+ "enum": [
780
+ "WAIT_CANCELLATION_COMPLETED",
781
+ "TRY_CANCEL",
782
+ "ABANDON"
783
+ ]
784
+ },
785
+ "priority": {
786
+ "type": "integer",
787
+ "minimum": 1,
788
+ "maximum": 5
789
+ },
790
+ "summary": {
791
+ "type": "string",
792
+ "maxLength": 200
793
+ },
794
+ "fairnessKey": {
795
+ "type": "string",
796
+ "minLength": 1,
797
+ "maxLength": 255,
798
+ "description": "Phase C: the fairness key of the task (11 §2.11); default the workspace id."
799
+ },
800
+ "fairnessWeight": {
801
+ "type": "number",
802
+ "minimum": 0.1,
803
+ "maximum": 10,
804
+ "description": "Phase C: the weight of the fairness key, 0.1 to 10 (default 1)."
805
+ },
806
+ "kind": {
807
+ "const": "node"
808
+ },
809
+ "nodeType": {
810
+ "type": "string",
811
+ "minLength": 1,
812
+ "maxLength": 256
813
+ },
814
+ "nodeVersion": {
815
+ "type": "string"
816
+ },
817
+ "operation": {
818
+ "type": "string",
819
+ "minLength": 1,
820
+ "maxLength": 256
821
+ },
822
+ "connection": {
823
+ "type": "string",
824
+ "minLength": 1,
825
+ "maxLength": 256
826
+ },
827
+ "runOn": {
828
+ "type": "string"
829
+ }
830
+ },
831
+ "additionalProperties": false
832
+ },
833
+ {
834
+ "type": "object",
835
+ "required": [
836
+ "type",
837
+ "activityId",
838
+ "kind",
839
+ "activityName",
840
+ "taskQueue",
841
+ "args",
842
+ "retry"
843
+ ],
844
+ "properties": {
845
+ "type": {
846
+ "const": "SCHEDULE_ACTIVITY"
847
+ },
848
+ "headers": {
849
+ "$ref": "#/$defs/headers"
850
+ },
851
+ "activityId": {
852
+ "type": "string",
853
+ "minLength": 1,
854
+ "maxLength": 256
855
+ },
856
+ "args": {},
857
+ "retry": {
858
+ "$ref": "#/$defs/retryPolicy"
859
+ },
860
+ "startToCloseTimeout": {
861
+ "type": "integer",
862
+ "minimum": 0
863
+ },
864
+ "scheduleToCloseTimeout": {
865
+ "type": "integer",
866
+ "minimum": 0
867
+ },
868
+ "scheduleToStartTimeout": {
869
+ "type": "integer",
870
+ "minimum": 0
871
+ },
872
+ "heartbeatTimeout": {
873
+ "type": "integer",
874
+ "minimum": 0
875
+ },
876
+ "cancellationType": {
877
+ "enum": [
878
+ "WAIT_CANCELLATION_COMPLETED",
879
+ "TRY_CANCEL",
880
+ "ABANDON"
881
+ ]
882
+ },
883
+ "priority": {
884
+ "type": "integer",
885
+ "minimum": 1,
886
+ "maximum": 5
887
+ },
888
+ "summary": {
889
+ "type": "string",
890
+ "maxLength": 200
891
+ },
892
+ "fairnessKey": {
893
+ "type": "string",
894
+ "minLength": 1,
895
+ "maxLength": 255,
896
+ "description": "Phase C: the fairness key of the task (11 §2.11); default the workspace id."
897
+ },
898
+ "fairnessWeight": {
899
+ "type": "number",
900
+ "minimum": 0.1,
901
+ "maximum": 10,
902
+ "description": "Phase C: the weight of the fairness key, 0.1 to 10 (default 1)."
903
+ },
904
+ "kind": {
905
+ "const": "user"
906
+ },
907
+ "activityName": {
908
+ "type": "string",
909
+ "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$"
910
+ },
911
+ "taskQueue": {
912
+ "type": "string",
913
+ "pattern": "^[a-z0-9][a-z0-9-]{0,62}$"
914
+ },
915
+ "connections": {
916
+ "type": "array",
917
+ "maxItems": 16,
918
+ "uniqueItems": true,
919
+ "items": {
920
+ "type": "string",
921
+ "minLength": 1,
922
+ "maxLength": 256
923
+ },
924
+ "description": "Connection names the worker may resolve for each started attempt (H2: declared by the definition and on the worker token allow-list)."
925
+ }
926
+ },
927
+ "additionalProperties": false
928
+ }
929
+ ]
930
+ },
642
931
  "command_REQUEST_CANCEL_ACTIVITY": {
643
932
  "type": "object",
644
933
  "required": [
@@ -939,6 +1228,20 @@
939
1228
  "attempts": {
940
1229
  "type": "integer",
941
1230
  "minimum": 1
1231
+ },
1232
+ "nodeType": {
1233
+ "type": "string",
1234
+ "minLength": 1,
1235
+ "maxLength": 256
1236
+ },
1237
+ "operation": {
1238
+ "type": "string",
1239
+ "minLength": 1,
1240
+ "maxLength": 256
1241
+ },
1242
+ "summary": {
1243
+ "type": "string",
1244
+ "maxLength": 200
942
1245
  }
943
1246
  },
944
1247
  "additionalProperties": false,
@@ -971,7 +1274,7 @@
971
1274
  },
972
1275
  "input": {},
973
1276
  "options": {
974
- "type": "object"
1277
+ "$ref": "#/$defs/canOptions"
975
1278
  }
976
1279
  },
977
1280
  "additionalProperties": false