@proompteng/temporal-bun-sdk 0.9.1 → 0.11.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 (278) hide show
  1. package/README.md +21 -6
  2. package/dist/agent-readiness.json +115 -13
  3. package/dist/production-readiness.json +391 -26
  4. package/dist/release-provenance.json +82 -0
  5. package/dist/src/activities/lifecycle.d.ts.map +1 -1
  6. package/dist/src/activities/lifecycle.js +27 -9
  7. package/dist/src/activities/lifecycle.js.map +1 -1
  8. package/dist/src/bin/lint-workflows-command.d.ts +3 -3
  9. package/dist/src/bin/lint-workflows-command.d.ts.map +1 -1
  10. package/dist/src/bin/lint-workflows-command.js +5 -0
  11. package/dist/src/bin/lint-workflows-command.js.map +1 -1
  12. package/dist/src/bin/replay-command.d.ts +2 -2
  13. package/dist/src/bin/replay-command.d.ts.map +1 -1
  14. package/dist/src/bin/replay-command.js +9 -5
  15. package/dist/src/bin/replay-command.js.map +1 -1
  16. package/dist/src/bin/temporal-bun.d.ts +2 -2
  17. package/dist/src/client/interceptors.d.ts.map +1 -1
  18. package/dist/src/client/interceptors.js +1 -1
  19. package/dist/src/client/interceptors.js.map +1 -1
  20. package/dist/src/client/retries.d.ts.map +1 -1
  21. package/dist/src/client/retries.js +12 -2
  22. package/dist/src/client/retries.js.map +1 -1
  23. package/dist/src/client.d.ts.map +1 -1
  24. package/dist/src/client.js +102 -35
  25. package/dist/src/client.js.map +1 -1
  26. package/dist/src/common/payloads/codecs.d.ts +4 -4
  27. package/dist/src/common/payloads/codecs.d.ts.map +1 -1
  28. package/dist/src/config.d.ts +10 -10
  29. package/dist/src/config.d.ts.map +1 -1
  30. package/dist/src/interceptors/types.d.ts.map +1 -1
  31. package/dist/src/interceptors/types.js +6 -4
  32. package/dist/src/interceptors/types.js.map +1 -1
  33. package/dist/src/otel/auto-instrumentations-node.d.ts +1 -1
  34. package/dist/src/otel/auto-instrumentations-node.d.ts.map +1 -1
  35. package/dist/src/proto/protoc-gen-openapiv2/options/annotations_pb.js +1 -1
  36. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.d.ts +14 -14
  37. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.d.ts.map +1 -1
  38. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.js +1 -1
  39. package/dist/src/proto/temporal/api/activity/v1/message_pb.d.ts +106 -35
  40. package/dist/src/proto/temporal/api/activity/v1/message_pb.d.ts.map +1 -1
  41. package/dist/src/proto/temporal/api/activity/v1/message_pb.js +18 -2
  42. package/dist/src/proto/temporal/api/activity/v1/message_pb.js.map +1 -1
  43. package/dist/src/proto/temporal/api/batch/v1/message_pb.d.ts +12 -12
  44. package/dist/src/proto/temporal/api/batch/v1/message_pb.d.ts.map +1 -1
  45. package/dist/src/proto/temporal/api/batch/v1/message_pb.js +1 -1
  46. package/dist/src/proto/temporal/api/callback/v1/message_pb.d.ts +72 -0
  47. package/dist/src/proto/temporal/api/callback/v1/message_pb.d.ts.map +1 -0
  48. package/dist/src/proto/temporal/api/callback/v1/message_pb.js +18 -0
  49. package/dist/src/proto/temporal/api/callback/v1/message_pb.js.map +1 -0
  50. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.d.ts +5 -5
  51. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.d.ts.map +1 -1
  52. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.js +1 -1
  53. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.d.ts +3 -3
  54. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.d.ts.map +1 -1
  55. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.js +1 -1
  56. package/dist/src/proto/temporal/api/cloud/billing/v1/message_pb.d.ts +206 -0
  57. package/dist/src/proto/temporal/api/cloud/billing/v1/message_pb.d.ts.map +1 -0
  58. package/dist/src/proto/temporal/api/cloud/billing/v1/message_pb.js +95 -0
  59. package/dist/src/proto/temporal/api/cloud/billing/v1/message_pb.js.map +1 -0
  60. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.d.ts +462 -82
  61. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.d.ts.map +1 -1
  62. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.js +223 -132
  63. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.js.map +1 -1
  64. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.d.ts +95 -1
  65. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.d.ts.map +1 -1
  66. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.js +2 -2
  67. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.js.map +1 -1
  68. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.d.ts +11 -3
  69. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.d.ts.map +1 -1
  70. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.js +2 -2
  71. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.js.map +1 -1
  72. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.d.ts +173 -24
  73. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.d.ts.map +1 -1
  74. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.js +22 -2
  75. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.js.map +1 -1
  76. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.d.ts +325 -26
  77. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.d.ts.map +1 -1
  78. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.js +105 -22
  79. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.js.map +1 -1
  80. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.d.ts +5 -5
  81. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.d.ts.map +1 -1
  82. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.js +1 -1
  83. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.d.ts +4 -4
  84. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.d.ts.map +1 -1
  85. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.js +1 -1
  86. package/dist/src/proto/temporal/api/cloud/region/v1/message_pb.js +1 -1
  87. package/dist/src/proto/temporal/api/cloud/resource/v1/message_pb.js +1 -1
  88. package/dist/src/proto/temporal/api/cloud/sink/v1/message_pb.js +1 -1
  89. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.d.ts +2 -2
  90. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.d.ts.map +1 -1
  91. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.js +1 -1
  92. package/dist/src/proto/temporal/api/command/v1/message_pb.d.ts +61 -52
  93. package/dist/src/proto/temporal/api/command/v1/message_pb.d.ts.map +1 -1
  94. package/dist/src/proto/temporal/api/command/v1/message_pb.js +2 -2
  95. package/dist/src/proto/temporal/api/command/v1/message_pb.js.map +1 -1
  96. package/dist/src/proto/temporal/api/common/v1/message_pb.d.ts +118 -2
  97. package/dist/src/proto/temporal/api/common/v1/message_pb.d.ts.map +1 -1
  98. package/dist/src/proto/temporal/api/common/v1/message_pb.js +24 -4
  99. package/dist/src/proto/temporal/api/common/v1/message_pb.js.map +1 -1
  100. package/dist/src/proto/temporal/api/compute/v1/config_pb.d.ts +133 -0
  101. package/dist/src/proto/temporal/api/compute/v1/config_pb.d.ts.map +1 -0
  102. package/dist/src/proto/temporal/api/compute/v1/config_pb.js +38 -0
  103. package/dist/src/proto/temporal/api/compute/v1/config_pb.js.map +1 -0
  104. package/dist/src/proto/temporal/api/compute/v1/provider_pb.d.ts +49 -0
  105. package/dist/src/proto/temporal/api/compute/v1/provider_pb.d.ts.map +1 -0
  106. package/dist/src/proto/temporal/api/compute/v1/provider_pb.js +15 -0
  107. package/dist/src/proto/temporal/api/compute/v1/provider_pb.js.map +1 -0
  108. package/dist/src/proto/temporal/api/compute/v1/scaler_pb.d.ts +39 -0
  109. package/dist/src/proto/temporal/api/compute/v1/scaler_pb.d.ts.map +1 -0
  110. package/dist/src/proto/temporal/api/compute/v1/scaler_pb.js +15 -0
  111. package/dist/src/proto/temporal/api/compute/v1/scaler_pb.js.map +1 -0
  112. package/dist/src/proto/temporal/api/deployment/v1/message_pb.d.ts +76 -39
  113. package/dist/src/proto/temporal/api/deployment/v1/message_pb.d.ts.map +1 -1
  114. package/dist/src/proto/temporal/api/deployment/v1/message_pb.js +4 -2
  115. package/dist/src/proto/temporal/api/deployment/v1/message_pb.js.map +1 -1
  116. package/dist/src/proto/temporal/api/enums/v1/activity_pb.js +1 -1
  117. package/dist/src/proto/temporal/api/enums/v1/batch_operation_pb.js +1 -1
  118. package/dist/src/proto/temporal/api/enums/v1/command_type_pb.js +1 -1
  119. package/dist/src/proto/temporal/api/enums/v1/common_pb.js +1 -1
  120. package/dist/src/proto/temporal/api/enums/v1/deployment_pb.d.ts +8 -4
  121. package/dist/src/proto/temporal/api/enums/v1/deployment_pb.d.ts.map +1 -1
  122. package/dist/src/proto/temporal/api/enums/v1/deployment_pb.js +9 -5
  123. package/dist/src/proto/temporal/api/enums/v1/deployment_pb.js.map +1 -1
  124. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.d.ts +7 -1
  125. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.d.ts.map +1 -1
  126. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.js +8 -2
  127. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.js.map +1 -1
  128. package/dist/src/proto/temporal/api/enums/v1/failed_cause_pb.d.ts +7 -1
  129. package/dist/src/proto/temporal/api/enums/v1/failed_cause_pb.d.ts.map +1 -1
  130. package/dist/src/proto/temporal/api/enums/v1/failed_cause_pb.js +8 -2
  131. package/dist/src/proto/temporal/api/enums/v1/failed_cause_pb.js.map +1 -1
  132. package/dist/src/proto/temporal/api/enums/v1/namespace_pb.js +1 -1
  133. package/dist/src/proto/temporal/api/enums/v1/nexus_pb.d.ts +153 -0
  134. package/dist/src/proto/temporal/api/enums/v1/nexus_pb.d.ts.map +1 -1
  135. package/dist/src/proto/temporal/api/enums/v1/nexus_pb.js +159 -2
  136. package/dist/src/proto/temporal/api/enums/v1/nexus_pb.js.map +1 -1
  137. package/dist/src/proto/temporal/api/enums/v1/query_pb.js +1 -1
  138. package/dist/src/proto/temporal/api/enums/v1/reset_pb.js +1 -1
  139. package/dist/src/proto/temporal/api/enums/v1/schedule_pb.js +1 -1
  140. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.d.ts +10 -1
  141. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.d.ts.map +1 -1
  142. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.js +11 -2
  143. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.js.map +1 -1
  144. package/dist/src/proto/temporal/api/enums/v1/update_pb.js +1 -1
  145. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.d.ts +24 -14
  146. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.d.ts.map +1 -1
  147. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.js +24 -14
  148. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.js.map +1 -1
  149. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.d.ts +24 -2
  150. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.d.ts.map +1 -1
  151. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.js +7 -2
  152. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.js.map +1 -1
  153. package/dist/src/proto/temporal/api/export/v1/message_pb.d.ts +1 -1
  154. package/dist/src/proto/temporal/api/export/v1/message_pb.d.ts.map +1 -1
  155. package/dist/src/proto/temporal/api/export/v1/message_pb.js +1 -1
  156. package/dist/src/proto/temporal/api/failure/v1/message_pb.d.ts +26 -11
  157. package/dist/src/proto/temporal/api/failure/v1/message_pb.d.ts.map +1 -1
  158. package/dist/src/proto/temporal/api/failure/v1/message_pb.js +2 -2
  159. package/dist/src/proto/temporal/api/failure/v1/message_pb.js.map +1 -1
  160. package/dist/src/proto/temporal/api/filter/v1/message_pb.d.ts +2 -2
  161. package/dist/src/proto/temporal/api/filter/v1/message_pb.d.ts.map +1 -1
  162. package/dist/src/proto/temporal/api/filter/v1/message_pb.js +1 -1
  163. package/dist/src/proto/temporal/api/history/v1/message_pb.d.ts +278 -141
  164. package/dist/src/proto/temporal/api/history/v1/message_pb.d.ts.map +1 -1
  165. package/dist/src/proto/temporal/api/history/v1/message_pb.js +72 -62
  166. package/dist/src/proto/temporal/api/history/v1/message_pb.js.map +1 -1
  167. package/dist/src/proto/temporal/api/namespace/v1/message_pb.d.ts +39 -5
  168. package/dist/src/proto/temporal/api/namespace/v1/message_pb.d.ts.map +1 -1
  169. package/dist/src/proto/temporal/api/namespace/v1/message_pb.js +2 -2
  170. package/dist/src/proto/temporal/api/namespace/v1/message_pb.js.map +1 -1
  171. package/dist/src/proto/temporal/api/nexus/v1/message_pb.d.ts +386 -14
  172. package/dist/src/proto/temporal/api/nexus/v1/message_pb.d.ts.map +1 -1
  173. package/dist/src/proto/temporal/api/nexus/v1/message_pb.js +26 -3
  174. package/dist/src/proto/temporal/api/nexus/v1/message_pb.js.map +1 -1
  175. package/dist/src/proto/temporal/api/nexusservices/workerservice/v1/request_response_pb.d.ts +41 -0
  176. package/dist/src/proto/temporal/api/nexusservices/workerservice/v1/request_response_pb.d.ts.map +1 -0
  177. package/dist/src/proto/temporal/api/nexusservices/workerservice/v1/request_response_pb.js +20 -0
  178. package/dist/src/proto/temporal/api/nexusservices/workerservice/v1/request_response_pb.js.map +1 -0
  179. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.d.ts +6 -6
  180. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.d.ts.map +1 -1
  181. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.js +1 -1
  182. package/dist/src/proto/temporal/api/operatorservice/v1/service_pb.js +1 -1
  183. package/dist/src/proto/temporal/api/protocol/v1/message_pb.d.ts +1 -1
  184. package/dist/src/proto/temporal/api/protocol/v1/message_pb.d.ts.map +1 -1
  185. package/dist/src/proto/temporal/api/protocol/v1/message_pb.js +1 -1
  186. package/dist/src/proto/temporal/api/protometa/v1/annotations_pb.d.ts +46 -0
  187. package/dist/src/proto/temporal/api/protometa/v1/annotations_pb.d.ts.map +1 -0
  188. package/dist/src/proto/temporal/api/protometa/v1/annotations_pb.js +19 -0
  189. package/dist/src/proto/temporal/api/protometa/v1/annotations_pb.js.map +1 -0
  190. package/dist/src/proto/temporal/api/query/v1/message_pb.d.ts +4 -4
  191. package/dist/src/proto/temporal/api/query/v1/message_pb.d.ts.map +1 -1
  192. package/dist/src/proto/temporal/api/query/v1/message_pb.js +1 -1
  193. package/dist/src/proto/temporal/api/replication/v1/message_pb.d.ts +1 -1
  194. package/dist/src/proto/temporal/api/replication/v1/message_pb.d.ts.map +1 -1
  195. package/dist/src/proto/temporal/api/replication/v1/message_pb.js +1 -1
  196. package/dist/src/proto/temporal/api/rules/v1/message_pb.d.ts +3 -3
  197. package/dist/src/proto/temporal/api/rules/v1/message_pb.d.ts.map +1 -1
  198. package/dist/src/proto/temporal/api/rules/v1/message_pb.js +1 -1
  199. package/dist/src/proto/temporal/api/schedule/v1/message_pb.d.ts +24 -24
  200. package/dist/src/proto/temporal/api/schedule/v1/message_pb.d.ts.map +1 -1
  201. package/dist/src/proto/temporal/api/sdk/v1/enhanced_stack_trace_pb.d.ts +1 -1
  202. package/dist/src/proto/temporal/api/sdk/v1/enhanced_stack_trace_pb.d.ts.map +1 -1
  203. package/dist/src/proto/temporal/api/sdk/v1/enhanced_stack_trace_pb.js +1 -1
  204. package/dist/src/proto/temporal/api/sdk/v1/external_storage_pb.d.ts +35 -0
  205. package/dist/src/proto/temporal/api/sdk/v1/external_storage_pb.d.ts.map +1 -0
  206. package/dist/src/proto/temporal/api/sdk/v1/external_storage_pb.js +14 -0
  207. package/dist/src/proto/temporal/api/sdk/v1/external_storage_pb.js.map +1 -0
  208. package/dist/src/proto/temporal/api/sdk/v1/task_complete_metadata_pb.js +1 -1
  209. package/dist/src/proto/temporal/api/sdk/v1/user_metadata_pb.d.ts +2 -2
  210. package/dist/src/proto/temporal/api/sdk/v1/user_metadata_pb.d.ts.map +1 -1
  211. package/dist/src/proto/temporal/api/sdk/v1/user_metadata_pb.js +1 -1
  212. package/dist/src/proto/temporal/api/sdk/v1/worker_config_pb.js +1 -1
  213. package/dist/src/proto/temporal/api/sdk/v1/workflow_metadata_pb.d.ts +1 -1
  214. package/dist/src/proto/temporal/api/sdk/v1/workflow_metadata_pb.d.ts.map +1 -1
  215. package/dist/src/proto/temporal/api/sdk/v1/workflow_metadata_pb.js +1 -1
  216. package/dist/src/proto/temporal/api/taskqueue/v1/message_pb.d.ts +39 -23
  217. package/dist/src/proto/temporal/api/taskqueue/v1/message_pb.d.ts.map +1 -1
  218. package/dist/src/proto/temporal/api/taskqueue/v1/message_pb.js +12 -7
  219. package/dist/src/proto/temporal/api/taskqueue/v1/message_pb.js.map +1 -1
  220. package/dist/src/proto/temporal/api/update/v1/message_pb.d.ts +10 -10
  221. package/dist/src/proto/temporal/api/update/v1/message_pb.d.ts.map +1 -1
  222. package/dist/src/proto/temporal/api/update/v1/message_pb.js +1 -1
  223. package/dist/src/proto/temporal/api/version/v1/message_pb.d.ts +4 -4
  224. package/dist/src/proto/temporal/api/version/v1/message_pb.d.ts.map +1 -1
  225. package/dist/src/proto/temporal/api/version/v1/message_pb.js +1 -1
  226. package/dist/src/proto/temporal/api/worker/v1/message_pb.d.ts +208 -15
  227. package/dist/src/proto/temporal/api/worker/v1/message_pb.d.ts.map +1 -1
  228. package/dist/src/proto/temporal/api/worker/v1/message_pb.js +33 -3
  229. package/dist/src/proto/temporal/api/worker/v1/message_pb.js.map +1 -1
  230. package/dist/src/proto/temporal/api/workflow/v1/message_pb.d.ts +187 -96
  231. package/dist/src/proto/temporal/api/workflow/v1/message_pb.d.ts.map +1 -1
  232. package/dist/src/proto/temporal/api/workflow/v1/message_pb.js +16 -11
  233. package/dist/src/proto/temporal/api/workflow/v1/message_pb.js.map +1 -1
  234. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.d.ts +1884 -283
  235. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.d.ts.map +1 -1
  236. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.js +309 -127
  237. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.js.map +1 -1
  238. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.d.ts +232 -2
  239. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.d.ts.map +1 -1
  240. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.js +3 -2
  241. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.js.map +1 -1
  242. package/dist/src/runtime/effect-layers.d.ts +85 -0
  243. package/dist/src/runtime/effect-layers.d.ts.map +1 -1
  244. package/dist/src/worker/concurrency.d.ts.map +1 -1
  245. package/dist/src/worker/concurrency.js +12 -0
  246. package/dist/src/worker/concurrency.js.map +1 -1
  247. package/dist/src/worker/runtime.d.ts.map +1 -1
  248. package/dist/src/worker/runtime.js +169 -23
  249. package/dist/src/worker/runtime.js.map +1 -1
  250. package/dist/src/workflow/command-event-matrix.d.ts +13 -0
  251. package/dist/src/workflow/command-event-matrix.d.ts.map +1 -0
  252. package/dist/src/workflow/command-event-matrix.js +158 -0
  253. package/dist/src/workflow/command-event-matrix.js.map +1 -0
  254. package/dist/src/workflow/context.d.ts.map +1 -1
  255. package/dist/src/workflow/context.js +0 -11
  256. package/dist/src/workflow/context.js.map +1 -1
  257. package/dist/src/workflow/determinism.d.ts.map +1 -1
  258. package/dist/src/workflow/determinism.js +27 -1
  259. package/dist/src/workflow/determinism.js.map +1 -1
  260. package/dist/src/workflow/executor.d.ts.map +1 -1
  261. package/dist/src/workflow/executor.js +22 -21
  262. package/dist/src/workflow/executor.js.map +1 -1
  263. package/dist/src/workflow/guards.d.ts.map +1 -1
  264. package/dist/src/workflow/guards.js +141 -36
  265. package/dist/src/workflow/guards.js.map +1 -1
  266. package/dist/src/workflow/index.d.ts +1 -0
  267. package/dist/src/workflow/index.d.ts.map +1 -1
  268. package/dist/src/workflow/index.js +1 -0
  269. package/dist/src/workflow/index.js.map +1 -1
  270. package/docs/adoption-readiness.md +93 -0
  271. package/docs/agent-adoption-guide.md +25 -3
  272. package/docs/default-choice-hardening-plan.md +160 -0
  273. package/docs/feature-matrix.md +20 -20
  274. package/docs/production-design.md +3 -3
  275. package/docs/production-readiness-implementation-plan.md +66 -56
  276. package/docs/semantic-readiness.md +76 -15
  277. package/docs/support-policy.md +9 -5
  278. package/package.json +18 -10
@@ -5,6 +5,7 @@ import { createGrpcTransport } from '@connectrpc/connect-node';
5
5
  import { Cause, Duration, Effect, Exit, Fiber, Schedule } from 'effect';
6
6
  import { makeActivityLifecycle, } from '../activities/lifecycle';
7
7
  import { buildTransportOptions, normalizeTemporalAddress } from '../client';
8
+ import { withTemporalRetry } from '../client/retries';
8
9
  import { durationFromMillis, durationToMillis } from '../common/duration';
9
10
  import { buildCodecsFromConfig, createDefaultDataConverter, decodePayloadsToValues, encodeValuesToPayloads, } from '../common/payloads/converter';
10
11
  import { encodeErrorToFailure, encodeFailurePayloads, failureToError } from '../common/payloads/failure';
@@ -12,7 +13,7 @@ import { sleep } from '../common/sleep';
12
13
  import { loadTemporalConfig } from '../config';
13
14
  import { makeDefaultWorkerInterceptors, runWorkerInterceptors, } from '../interceptors/worker';
14
15
  import { createObservabilityServices } from '../observability';
15
- import { CommandSchema, RecordMarkerCommandAttributesSchema, } from '../proto/temporal/api/command/v1/message_pb';
16
+ import { CancelWorkflowExecutionCommandAttributesSchema, CommandSchema, RecordMarkerCommandAttributesSchema, } from '../proto/temporal/api/command/v1/message_pb';
16
17
  import { PayloadsSchema, WorkflowExecutionSchema, } from '../proto/temporal/api/common/v1/message_pb';
17
18
  import { WorkerDeploymentOptionsSchema, } from '../proto/temporal/api/deployment/v1/message_pb';
18
19
  import { CommandType } from '../proto/temporal/api/enums/v1/command_type_pb';
@@ -678,10 +679,10 @@ export class WorkerRuntime {
678
679
  timeoutMs: POLL_TIMEOUT_MS,
679
680
  signal,
680
681
  });
681
- this.#observeHistogram(this.#metrics.workflowPollLatency, Date.now() - start);
682
682
  if (!response.taskToken || response.taskToken.length === 0) {
683
683
  return;
684
684
  }
685
+ this.#observeHistogram(this.#metrics.workflowPollLatency, Date.now() - start);
685
686
  await this.#enqueueWorkflowTask(response);
686
687
  }).pipe(Effect.catchAll((error) => this.#isRpcAbortError(error) ? Effect.void : this.#handleWorkflowPollerError(queueName, error)));
687
688
  return Effect.forever(pollOnce);
@@ -712,10 +713,10 @@ export class WorkerRuntime {
712
713
  timeoutMs: POLL_TIMEOUT_MS,
713
714
  signal,
714
715
  });
715
- this.#observeHistogram(this.#metrics.activityPollLatency, Date.now() - start);
716
716
  if (!response.taskToken || response.taskToken.length === 0) {
717
717
  return;
718
718
  }
719
+ this.#observeHistogram(this.#metrics.activityPollLatency, Date.now() - start);
719
720
  await this.#enqueueActivityTask(response);
720
721
  }).pipe(Effect.catchAll((error) => (this.#isRpcAbortError(error) ? Effect.void : this.#handleActivityPollerError(error))));
721
722
  return Effect.forever(pollOnce);
@@ -731,6 +732,23 @@ export class WorkerRuntime {
731
732
  #isRpcAbortError(error) {
732
733
  return isAbortError(error) || (error instanceof ConnectError && error.code === Code.Canceled);
733
734
  }
735
+ async #runWorkerResponseRpc(operation) {
736
+ const exit = await Effect.runPromiseExit(withTemporalRetry(Effect.tryPromise({
737
+ try: operation,
738
+ catch: (error) => error,
739
+ }), this.#config.rpcRetryPolicy));
740
+ if (Exit.isSuccess(exit)) {
741
+ return exit.value;
742
+ }
743
+ throw Cause.squash(exit.cause);
744
+ }
745
+ async #runActivityHeartbeat(effect) {
746
+ const exit = await Effect.runPromiseExit(effect);
747
+ if (Exit.isSuccess(exit)) {
748
+ return;
749
+ }
750
+ throw Cause.squash(exit.cause);
751
+ }
734
752
  #buildNormalTaskQueue(name) {
735
753
  return create(TaskQueueSchema, {
736
754
  name,
@@ -894,6 +912,14 @@ export class WorkerRuntime {
894
912
  historyEventCount: response.history?.events?.length ?? 0,
895
913
  });
896
914
  const stickyKey = this.#buildStickyKey(execution.workflowId, execution.runId);
915
+ if (!isLegacyQueryTask && hasOpenWorkflowCancellationRequest(historyEvents)) {
916
+ await this.#respondWorkflowCancellation(response, execution, baseLogFields);
917
+ if (stickyKey) {
918
+ await this.#removeStickyEntry(stickyKey);
919
+ await this.#removeStickyEntriesForWorkflow(stickyKey.workflowId);
920
+ }
921
+ return;
922
+ }
897
923
  const stickyEntry = stickyKey ? await this.#getStickyEntry(stickyKey) : undefined;
898
924
  const decodedArgs = await this.#decodeWorkflowArgs(historyEvents);
899
925
  let args = decodedArgs.args;
@@ -1232,7 +1258,7 @@ export class WorkerRuntime {
1232
1258
  ...(updateProtocolMessages.length > 0 ? { messages: updateProtocolMessages } : {}),
1233
1259
  });
1234
1260
  try {
1235
- await this.#workflowService.respondWorkflowTaskCompleted(completion, { timeoutMs: RESPOND_TIMEOUT_MS });
1261
+ await this.#runWorkerResponseRpc(() => this.#workflowService.respondWorkflowTaskCompleted(completion, { timeoutMs: RESPOND_TIMEOUT_MS }));
1236
1262
  workflowTaskCommitted = true;
1237
1263
  }
1238
1264
  catch (rpcError) {
@@ -1335,6 +1361,34 @@ export class WorkerRuntime {
1335
1361
  await this.#failWorkflowTask(response, execution, error);
1336
1362
  }
1337
1363
  }
1364
+ async #respondWorkflowCancellation(response, execution, logFields) {
1365
+ const command = create(CommandSchema, {
1366
+ commandType: CommandType.CANCEL_WORKFLOW_EXECUTION,
1367
+ attributes: {
1368
+ case: 'cancelWorkflowExecutionCommandAttributes',
1369
+ value: create(CancelWorkflowExecutionCommandAttributesSchema, {}),
1370
+ },
1371
+ });
1372
+ const completion = create(RespondWorkflowTaskCompletedRequestSchema, {
1373
+ taskToken: response.taskToken,
1374
+ commands: [command],
1375
+ identity: this.#identity,
1376
+ namespace: this.#namespace,
1377
+ deploymentOptions: this.#rpcDeploymentOptions,
1378
+ ...(this.#versioningBehavior !== null ? { versioningBehavior: this.#versioningBehavior } : {}),
1379
+ });
1380
+ try {
1381
+ await this.#runWorkerResponseRpc(() => this.#workflowService.respondWorkflowTaskCompleted(completion, { timeoutMs: RESPOND_TIMEOUT_MS }));
1382
+ this.#log('info', 'workflow cancellation request acknowledged', logFields);
1383
+ }
1384
+ catch (error) {
1385
+ if (this.#isTaskNotFoundError(error)) {
1386
+ this.#logWorkflowTaskNotFound('respondWorkflowCancellation', execution);
1387
+ return;
1388
+ }
1389
+ throw error;
1390
+ }
1391
+ }
1338
1392
  #buildStickyKey(workflowId, runId) {
1339
1393
  if (!workflowId || !runId) {
1340
1394
  return null;
@@ -1872,7 +1926,7 @@ export class WorkerRuntime {
1872
1926
  failure: queryResult.failure,
1873
1927
  cause: WorkflowTaskFailedCause.UNSPECIFIED,
1874
1928
  });
1875
- await this.#workflowService.respondQueryTaskCompleted(request, { timeoutMs: RESPOND_TIMEOUT_MS });
1929
+ await this.#runWorkerResponseRpc(() => this.#workflowService.respondQueryTaskCompleted(request, { timeoutMs: RESPOND_TIMEOUT_MS }));
1876
1930
  }
1877
1931
  async #respondLegacyQueryFailure(response, cause) {
1878
1932
  const failure = await encodeErrorToFailure(this.#dataConverter, cause);
@@ -1886,7 +1940,7 @@ export class WorkerRuntime {
1886
1940
  cause: WorkflowTaskFailedCause.UNSPECIFIED,
1887
1941
  });
1888
1942
  try {
1889
- await this.#workflowService.respondQueryTaskCompleted(request, { timeoutMs: RESPOND_TIMEOUT_MS });
1943
+ await this.#runWorkerResponseRpc(() => this.#workflowService.respondQueryTaskCompleted(request, { timeoutMs: RESPOND_TIMEOUT_MS }));
1890
1944
  }
1891
1945
  catch (rpcError) {
1892
1946
  this.#log('error', 'respondQueryTaskCompleted failed for legacy query', {
@@ -2090,7 +2144,27 @@ export class WorkerRuntime {
2090
2144
  return stableStringify(signature);
2091
2145
  }
2092
2146
  #isTaskNotFoundError(error) {
2093
- return error instanceof ConnectError && error.code === Code.NotFound;
2147
+ const underlying = this.#unwrapWorkerRpcError(error);
2148
+ return underlying instanceof ConnectError && underlying.code === Code.NotFound;
2149
+ }
2150
+ #unwrapWorkerRpcError(error) {
2151
+ if (error instanceof ConnectError) {
2152
+ return error;
2153
+ }
2154
+ if (!error || typeof error !== 'object') {
2155
+ return error;
2156
+ }
2157
+ const candidate = error;
2158
+ if (candidate._tag === 'UnknownException') {
2159
+ return this.#unwrapWorkerRpcError(candidate.cause ?? candidate.error ?? error);
2160
+ }
2161
+ if (candidate.cause) {
2162
+ return this.#unwrapWorkerRpcError(candidate.cause);
2163
+ }
2164
+ if (candidate.error) {
2165
+ return this.#unwrapWorkerRpcError(candidate.error);
2166
+ }
2167
+ return error;
2094
2168
  }
2095
2169
  #buildDeterminismMarkerCommand(details) {
2096
2170
  return create(CommandSchema, {
@@ -2338,7 +2412,7 @@ export class WorkerRuntime {
2338
2412
  deploymentOptions: this.#rpcDeploymentOptions,
2339
2413
  });
2340
2414
  try {
2341
- await this.#workflowService.respondWorkflowTaskFailed(failed, { timeoutMs: RESPOND_TIMEOUT_MS });
2415
+ await this.#runWorkerResponseRpc(() => this.#workflowService.respondWorkflowTaskFailed(failed, { timeoutMs: RESPOND_TIMEOUT_MS }));
2342
2416
  this.#incrementCounter(this.#metrics.workflowFailures);
2343
2417
  }
2344
2418
  catch (rpcError) {
@@ -2404,7 +2478,7 @@ export class WorkerRuntime {
2404
2478
  if (!registration) {
2405
2479
  return;
2406
2480
  }
2407
- await Effect.runPromise(registration.heartbeat(details));
2481
+ await this.#runActivityHeartbeat(registration.heartbeat(details));
2408
2482
  };
2409
2483
  }
2410
2484
  catch (registrationError) {
@@ -2427,18 +2501,9 @@ export class WorkerRuntime {
2427
2501
  };
2428
2502
  try {
2429
2503
  while (true) {
2504
+ let result;
2430
2505
  try {
2431
- const result = await runWithActivityContext(context, async () => await handler(...args));
2432
- const payloads = await encodeValuesToPayloads(this.#dataConverter, result === undefined ? [] : [result]);
2433
- const completion = create(RespondActivityTaskCompletedRequestSchema, {
2434
- taskToken: response.taskToken,
2435
- identity: this.#identity,
2436
- namespace: this.#namespace,
2437
- result: payloads && payloads.length > 0 ? create(PayloadsSchema, { payloads }) : undefined,
2438
- deploymentOptions: this.#rpcDeploymentOptions,
2439
- });
2440
- await this.#workflowService.respondActivityTaskCompleted(completion, { timeoutMs: RESPOND_TIMEOUT_MS });
2441
- break;
2506
+ result = await runWithActivityContext(context, async () => await handler(...args));
2442
2507
  }
2443
2508
  catch (error) {
2444
2509
  if (isAbortError(error)) {
@@ -2464,6 +2529,19 @@ export class WorkerRuntime {
2464
2529
  context.throwIfCancelled();
2465
2530
  context.info.attempt = nextRetry.attempt;
2466
2531
  retryState = nextRetry;
2532
+ continue;
2533
+ }
2534
+ try {
2535
+ const payloads = await encodeValuesToPayloads(this.#dataConverter, result === undefined ? [] : [result]);
2536
+ const completed = await this.#completeActivityTask(response, payloads);
2537
+ if (!completed) {
2538
+ return;
2539
+ }
2540
+ break;
2541
+ }
2542
+ catch (error) {
2543
+ await this.#failActivityTask(response, error, context);
2544
+ return;
2467
2545
  }
2468
2546
  }
2469
2547
  }
@@ -2493,7 +2571,16 @@ export class WorkerRuntime {
2493
2571
  lastHeartbeatDetails,
2494
2572
  deploymentOptions: this.#rpcDeploymentOptions,
2495
2573
  });
2496
- await this.#workflowService.respondActivityTaskFailed(request, { timeoutMs: RESPOND_TIMEOUT_MS });
2574
+ try {
2575
+ await this.#runWorkerResponseRpc(() => this.#workflowService.respondActivityTaskFailed(request, { timeoutMs: RESPOND_TIMEOUT_MS }));
2576
+ }
2577
+ catch (rpcError) {
2578
+ if (this.#isTaskNotFoundError(rpcError)) {
2579
+ this.#logActivityTaskNotFound('respondActivityTaskFailed', response);
2580
+ return;
2581
+ }
2582
+ throw rpcError;
2583
+ }
2497
2584
  this.#incrementCounter(this.#metrics.activityFailures);
2498
2585
  }
2499
2586
  async #cancelActivityTask(response, context) {
@@ -2505,7 +2592,36 @@ export class WorkerRuntime {
2505
2592
  details,
2506
2593
  deploymentOptions: this.#rpcDeploymentOptions,
2507
2594
  });
2508
- await this.#workflowService.respondActivityTaskCanceled(request, { timeoutMs: RESPOND_TIMEOUT_MS });
2595
+ try {
2596
+ await this.#runWorkerResponseRpc(() => this.#workflowService.respondActivityTaskCanceled(request, { timeoutMs: RESPOND_TIMEOUT_MS }));
2597
+ }
2598
+ catch (rpcError) {
2599
+ if (this.#isTaskNotFoundError(rpcError)) {
2600
+ this.#logActivityTaskNotFound('respondActivityTaskCanceled', response);
2601
+ return;
2602
+ }
2603
+ throw rpcError;
2604
+ }
2605
+ }
2606
+ async #completeActivityTask(response, payloads) {
2607
+ const completion = create(RespondActivityTaskCompletedRequestSchema, {
2608
+ taskToken: response.taskToken,
2609
+ identity: this.#identity,
2610
+ namespace: this.#namespace,
2611
+ result: payloads && payloads.length > 0 ? create(PayloadsSchema, { payloads }) : undefined,
2612
+ deploymentOptions: this.#rpcDeploymentOptions,
2613
+ });
2614
+ try {
2615
+ await this.#runWorkerResponseRpc(() => this.#workflowService.respondActivityTaskCompleted(completion, { timeoutMs: RESPOND_TIMEOUT_MS }));
2616
+ return true;
2617
+ }
2618
+ catch (rpcError) {
2619
+ if (this.#isTaskNotFoundError(rpcError)) {
2620
+ this.#logActivityTaskNotFound('respondActivityTaskCompleted', response);
2621
+ return false;
2622
+ }
2623
+ throw rpcError;
2624
+ }
2509
2625
  }
2510
2626
  async #encodeHeartbeatPayloads(details, reason) {
2511
2627
  const finalDetails = details && details.length > 0
@@ -2520,7 +2636,7 @@ export class WorkerRuntime {
2520
2636
  if (!finalDetails) {
2521
2637
  return undefined;
2522
2638
  }
2523
- const payloads = await encodeValuesToPayloads(this.#dataConverter, finalDetails);
2639
+ const payloads = (await encodeValuesToPayloads(this.#dataConverter, finalDetails)) ?? [];
2524
2640
  return payloads.length > 0 ? create(PayloadsSchema, { payloads }) : undefined;
2525
2641
  }
2526
2642
  #createActivityContext(response, cancelRequested, lastHeartbeatDetails) {
@@ -2692,6 +2808,15 @@ export class WorkerRuntime {
2692
2808
  runId: execution.runId,
2693
2809
  });
2694
2810
  }
2811
+ #logActivityTaskNotFound(context, response) {
2812
+ this.#log('warn', 'activity task already resolved', {
2813
+ context,
2814
+ workflowId: response.workflowExecution?.workflowId,
2815
+ runId: response.workflowExecution?.runId,
2816
+ activityId: response.activityId,
2817
+ activityType: response.activityType?.name,
2818
+ });
2819
+ }
2695
2820
  }
2696
2821
  const mergeSchedulerHooks = (first, second) => {
2697
2822
  if (!first && !second) {
@@ -2730,6 +2855,27 @@ const markErrorNonRetryable = (error) => {
2730
2855
  }
2731
2856
  };
2732
2857
  const isActivityCancelRequested = (response) => Boolean(response.cancelRequested);
2858
+ const hasOpenWorkflowCancellationRequest = (events) => {
2859
+ let cancelRequested = false;
2860
+ for (const event of events) {
2861
+ switch (event.eventType) {
2862
+ case EventType.WORKFLOW_EXECUTION_CANCEL_REQUESTED:
2863
+ cancelRequested = true;
2864
+ break;
2865
+ case EventType.WORKFLOW_EXECUTION_CANCELED:
2866
+ case EventType.WORKFLOW_EXECUTION_COMPLETED:
2867
+ case EventType.WORKFLOW_EXECUTION_CONTINUED_AS_NEW:
2868
+ case EventType.WORKFLOW_EXECUTION_FAILED:
2869
+ case EventType.WORKFLOW_EXECUTION_TERMINATED:
2870
+ case EventType.WORKFLOW_EXECUTION_TIMED_OUT:
2871
+ cancelRequested = false;
2872
+ break;
2873
+ default:
2874
+ break;
2875
+ }
2876
+ }
2877
+ return cancelRequested;
2878
+ };
2733
2879
  const isAbortError = (error) => error instanceof Error && error.name === 'AbortError';
2734
2880
  async function loadWorkflows(workflowsPath, overrides) {
2735
2881
  if (overrides && overrides.length > 0) {