@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
@@ -1,6 +1,6 @@
1
1
  # Temporal Bun SDK Production Readiness Implementation Plan
2
2
 
3
- _Last updated: May 5, 2026_
3
+ _Last updated: May 14, 2026_
4
4
 
5
5
  ## Goal
6
6
 
@@ -41,18 +41,18 @@ work is to convert private confidence into public, machine-checkable evidence.
41
41
 
42
42
  ## Code Read Findings
43
43
 
44
- | Surface | Current implementation | Production gap to close |
45
- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46
- | Package boundary | `packages/temporal-bun-sdk/package.json` ships `dist`, `docs`, `skills`, and `README.md`; runtime dependencies are `@bufbuild/protobuf`, Connect, Effect, and TypeScript. `verify:production` runs `tests/packaging/manifest-packaging.test.ts`. | Keep this as a release gate and publish the result in a release manifest so agents can prove the package is not a Node/native wrapper. |
47
- | Worker runtime | `src/worker/runtime.ts` owns config load, WorkflowService transport, workflow/activity pollers, sticky queues, deployment/build IDs, scheduler, metrics, plugins, graceful shutdown, determinism marker emission, and activity task lifecycle. | Add restart/chaos/soak scenarios for poll cancellation, sticky cache drift, task-not-found, heartbeat failure, tuner changes, and shutdown during active workflow/activity tasks. |
48
- | Workflow execution | `src/workflow/executor.ts` runs registered workflows through Effect, creates `WorkflowCommandContext`, evaluates queries, processes updates, and materializes success/failure commands. | Add protocol golden tests that compare emitted commands and update protocol messages against captured histories and expected server-visible events. |
49
- | Determinism guard | `src/workflow/determinism.ts` records command, random, time, signal, query, and update streams and throws `WorkflowNondeterminismError` on replay mismatch. | Add async interleaving fuzz tests and query-mode negative tests. Query handlers must never read live time/randomness as a hidden side channel. |
50
- | Runtime guards | `src/workflow/guards.ts` patches `Date`, `Date.now`, `Math.random`, `crypto.randomUUID`, `crypto.getRandomValues`, `fetch`, timers, `performance.now`, `WebSocket`, `Bun.spawn`, and `Bun.nanoseconds`; `WorkflowExecutor` requires strict guards in production. | Release gate includes runtime guard tests, query guard matrix, workflow lint tests, async fuzz artifacts, and semantic-readiness evidence for Bun async/runtime behavior. |
51
- | Static workflow lint | `src/bin/lint-workflows-command.ts` walks workflow import graphs and denies unsafe imports/globals/member expressions. Tests cover `fetch`, `process.env`, captured `Date.now`, and importing client APIs from workflows. | Add rules for dangerous Promise/Effect escape hatches, dynamic eval/function creation, timers captured through aliases, and Bun runtime APIs not currently listed. Make release CI fail if configured workflow entries are missing. |
52
- | Replay | `src/workflow/replay.ts` ingests real histories, applies full/delta determinism markers, reconstructs command history, tracks updates, and diffs mismatch metadata. Stored fixtures currently cover timer, activity retry, and child/continue-as-new histories. | Scale from a small fixture set to a versioned corpus that covers every supported command/event pair, updates, signals, queries, cancellations, payload codecs, search attributes, memo, markers, failures, sticky replay, and old SDK versions. |
53
- | Integration | `tests/integration/**` covers history replay, activity lifecycle, query-only workflows, signal/query, workflow updates, payload codecs, client resilience, worker ops, schedules, and worker runtime behavior behind `TEMPORAL_INTEGRATION_TESTS=1`. | Split optional service-unavailable skips from release-blocking skips. In release CI, a missing dev server or unimplemented critical endpoint must fail instead of silently reducing coverage. |
54
- | Load | `tests/integration/load/**` submits CPU, activity, and update workflows, checks throughput, sticky hit ratio, and poll p95 latency, and writes JSONL/report artifacts. | Add duration mode, memory/heap samples, worker restart mode, Temporal endpoint interruption, sticky cache churn, and nightly/weekly soak thresholds. |
55
- | CI | `.github/workflows/temporal-bun-sdk.yml` builds, lints, tests, runs replay-corpus, async-fuzz, load, soak smoke, semantic production verification, and uploads release artifacts. | Add longer restart/chaos soak lanes before broadening support to new platforms, Temporal Server minors, or higher-throughput profiles. |
44
+ | Surface | Current implementation | Production gap to close |
45
+ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46
+ | Package boundary | `packages/temporal-bun-sdk/package.json` ships `dist`, `docs`, `skills`, and `README.md`; runtime dependencies are `@bufbuild/protobuf`, Connect, Effect, and TypeScript. `verify:production` runs `tests/packaging/manifest-packaging.test.ts`. | Keep this as a release gate and publish the result in a release manifest so agents can prove the package is not a Node/native wrapper. |
47
+ | Worker runtime | `src/worker/runtime.ts` owns config load, WorkflowService transport, workflow/activity pollers, sticky queues, deployment/build IDs, scheduler, metrics, plugins, graceful shutdown, determinism marker emission, and activity task lifecycle. | Keep restart, cancellation, sticky cache, and shutdown behavior covered by focused integration and load evidence. |
48
+ | Workflow execution | `src/workflow/executor.ts` runs registered workflows through Effect, creates `WorkflowCommandContext`, evaluates queries, processes updates, and materializes success/failure commands. | Add protocol golden tests that compare emitted commands and update protocol messages against captured histories and expected server-visible events. |
49
+ | Determinism guard | `src/workflow/determinism.ts` records command, random, time, signal, query, and update streams and throws `WorkflowNondeterminismError` on replay mismatch. | Add async interleaving fuzz tests and query-mode negative tests. Query handlers must never read live time/randomness as a hidden side channel. |
50
+ | Runtime guards | `src/workflow/guards.ts` patches `Date`, `Date.now`, `Math.random`, `crypto.randomUUID`, `crypto.getRandomValues`, `fetch`, timers, `performance.now`, `WebSocket`, `process.env`, `Bun.env`, `Bun.spawn`, `Bun.nanoseconds`, `Bun.sleep`, `Bun.file`, `Bun.write`, `Bun.connect`, and `Bun.serve`; `WorkflowExecutor` requires strict guards in production. | Release gate includes runtime guard tests, query guard matrix, workflow lint tests, async fuzz artifacts, and semantic-readiness evidence for Bun async/runtime behavior. |
51
+ | Static workflow lint | `src/bin/lint-workflows-command.ts` walks workflow import graphs and denies unsafe imports/globals/member expressions. Tests cover `fetch`, `process.env`, `Bun.env`, Bun timer/file/socket APIs, captured `Date.now`, and importing client APIs from workflows. | Add rules for timers captured through aliases and keep expanding adversarial workflow-isolation cases as Bun exposes new runtime APIs. Make release CI fail if configured workflow entries are missing. |
52
+ | Replay | `src/workflow/replay.ts` ingests real histories, applies full/delta determinism markers, reconstructs command history, tracks updates, and diffs mismatch metadata. Stored fixtures now cover the required replay feature tags, including signal/query/update, cancellation, search attributes, side effects, versioning, and workflow-task failure. | Scale from the current gate-passing replay corpus to a larger versioned corpus that covers every supported command/event pair, sticky replay variants, old SDK versions, and additional Temporal Server/Bun/platform rows. |
53
+ | Integration | `tests/integration/**` covers history replay, activity lifecycle, query-only workflows, signal/query, workflow updates, payload codecs, client resilience, worker ops, schedules, and worker runtime behavior behind `TEMPORAL_INTEGRATION_TESTS=1`. | Split optional service-unavailable skips from release-blocking skips. In release CI, a missing dev server or unimplemented critical endpoint must fail instead of silently reducing coverage. |
54
+ | Load | `tests/integration/load/**` submits CPU, activity, and update workflows, checks throughput, sticky hit ratio, and poll p95 latency, and writes JSONL/report artifacts. | Keep release blocking on the CI load report and add targeted failure-injection tests instead of long release validation. |
55
+ | CI | `.github/workflows/temporal-bun-sdk.yml` builds, lints, tests, runs replay-corpus, async-fuzz, load, semantic production verification, and uploads release artifacts. | Keep the publish path short enough to release directly. |
56
56
 
57
57
  ## Production Bar
58
58
 
@@ -65,8 +65,8 @@ single production-readiness artifact containing:
65
65
  matrix, and mismatch diagnostics samples.
66
66
  - Protocol proof: command/update/query/signal/activity golden tests by Temporal
67
67
  Server version and SDK version.
68
- - Operations proof: load and soak reports with throughput, latency, sticky cache
69
- ratio, heartbeat retries/failures, worker failures, memory slope, and restart
68
+ - Operations proof: load reports with throughput, latency, sticky cache ratio,
69
+ heartbeat retries/failures, worker failures, memory slope, and restart
70
70
  outcomes.
71
71
  - Compatibility proof: supported Bun, Temporal Server, Temporal Cloud, TLS/mTLS,
72
72
  payload codec, and deployment/versioning matrix.
@@ -124,8 +124,8 @@ Implementation:
124
124
  - `Effect.tryPromise` and `Effect.promise` in workflow handlers unless called
125
125
  through SDK-provided deterministic adapters;
126
126
  - captured unsafe globals through aliases;
127
- - `eval`, `Function`, dynamic import, and Bun runtime APIs beyond the current
128
- deny list.
127
+ - `eval`, `Function`, dynamic import, and Bun runtime APIs that expose live
128
+ environment, timer, filesystem, socket, subprocess, or server state.
129
129
  - Add a CLI gate that runs `temporal-bun lint-workflows` in strict JSON mode and
130
130
  writes `.artifacts/workflow-lint/report.json`.
131
131
 
@@ -179,10 +179,11 @@ Coverage targets:
179
179
  Acceptance:
180
180
 
181
181
  - PR gate: at least 25 high-signal corpus fixtures.
182
- - Release gate: at least 75 fixtures covering every GA-critical command/event
183
- family.
184
- - Default-choice gate: at least 150 fixtures across at least two Temporal Server
185
- minor versions and two SDK minor versions.
182
+ - Release/default-choice gate: at least 25 fixtures with the required
183
+ feature-tag coverage and no replay failures.
184
+ - Broad-matrix hardening target: expand toward 75+ fixtures covering every
185
+ GA-critical command/event family before broadening the supported Temporal
186
+ Server, SDK, Bun, or platform matrix.
186
187
 
187
188
  ### P3 - Protocol Golden And Compatibility Tests
188
189
 
@@ -214,7 +215,7 @@ Acceptance:
214
215
  fixture or an explicit unsupported-status entry.
215
216
  - Protocol golden tests fail on accidental protobuf field drift.
216
217
 
217
- ### P4 - Worker Lifecycle, Chaos, And Soak
218
+ ### P4 - Worker Lifecycle And Failure Injection
218
219
 
219
220
  Purpose: prove the runtime holds under real operating conditions.
220
221
 
@@ -235,25 +236,32 @@ Implementation:
235
236
  - force sticky cache eviction and drift rebuilds;
236
237
  - track task-not-found, nondeterminism, heartbeat retry/failure, activity
237
238
  failure, workflow failure, and sticky heal metrics.
238
- - Add `scripts/run-worker-soak.ts`.
239
- - Duration-mode wrapper around the load runner with stricter artifact
240
- validation.
241
- - Add `.github/workflows/temporal-bun-sdk-nightly.yml`.
242
- - Runs 2-hour soak nightly.
243
- - Runs 6-hour soak on release branch.
244
- - Allows longer manual soak before broadening platform or throughput support.
239
+ - Harden load evidence instead of keeping a long release gate.
240
+ - The release path uses the worker-load runner as the blocking operational
241
+ artifact.
242
+ - Restart, sticky-cache, update termination, and activity-cancellation
243
+ behavior should be covered by focused tests or load scenarios, not a
244
+ separate long publish prerequisite.
245
+ - `tests/worker.task-queue-kind.test.ts` now directly holds normal workflow,
246
+ sticky workflow, and activity long-poll RPCs open and verifies worker
247
+ shutdown aborts every poll, flushes metrics, and reports a drained shutdown.
248
+ - `worker-restart` now shuts down the active worker runtime after workflow
249
+ submission, waits briefly, starts a replacement runtime on the same queue,
250
+ and records restart events in the load report.
251
+ - `activity-cancellation` cancels activity-heavy workflows while heartbeat
252
+ activities are running and records cancellation attempts, successful
253
+ cancellation calls, and terminal `CANCELED` workflow outcomes in the load
254
+ report.
255
+ - Further hardening work is endpoint disconnect injection and heartbeat RPC
256
+ failure injection before broadening the support matrix beyond the release
257
+ evidence.
245
258
 
246
259
  Acceptance:
247
260
 
248
261
  - PR load smoke: current short load test remains under 10 minutes.
249
- - Nightly soak: 2 hours, zero stuck workflows, no unhandled runtime rejection,
250
- memory slope below threshold, sticky heal rate below threshold, and all
251
- metrics artifacts uploaded.
252
- - Release soak: 6 hours against pinned Temporal Server with restart mode
253
- enabled.
254
- - Default-choice release smoke: CI soak artifact present and validated by
255
- `verify:production`; extended soak is required for unusual workload or
256
- platform risk.
262
+ - Default-choice release gate: replay, async fuzz, worker load, provenance, and
263
+ semantic evidence validated by `verify:production` and
264
+ `verify:default-choice`.
257
265
 
258
266
  ### P5 - CI Skip Policy And Release Blocking Rules
259
267
 
@@ -272,7 +280,6 @@ Implementation:
272
280
  - `test:integration:critical`;
273
281
  - `test:integration:optional`;
274
282
  - `test:load`;
275
- - `test:soak`.
276
283
  - Publish `.artifacts/temporal-bun-sdk/test-summary.json`.
277
284
 
278
285
  Acceptance:
@@ -318,20 +325,19 @@ Acceptance:
318
325
 
319
326
  ## Gate Matrix
320
327
 
321
- | Gate | Command | PR | Release | Default-choice |
322
- | -------------------- | ----------------------------------------------------------------- | ------------------------- | ----------------- | ----------------------------- |
323
- | Package boundary | `bun run --filter @proompteng/temporal-bun-sdk verify:production` | required | required | required |
324
- | Build | `bun run --filter @proompteng/temporal-bun-sdk build` | required | required | required |
325
- | Unit/runtime guards | `bun test tests/workflow/runtime-guards.test.ts` | required | required | required |
326
- | Query guard matrix | `bun test tests/workflow/query-guard-matrix.test.ts` | required | required | required |
327
- | Async fuzz | `bun test tests/workflow/async-determinism-fuzz.test.ts` | 1k seeds | 10k seeds | 10k+ seeds, last 7 days green |
328
- | Replay corpus | `bun scripts/replay/verify-corpus.ts` | 25 fixtures | 75 fixtures | 150 fixtures |
329
- | Protocol golden | `bun test tests/protocol/*.test.ts` | required | required | required |
330
- | Critical integration | `TEMPORAL_INTEGRATION_TESTS=1 bun test tests/integration` | required | no critical skips | no critical skips |
331
- | Load smoke | `bun run --filter @proompteng/temporal-bun-sdk test:load` | required | required | required |
332
- | Soak | `bun scripts/run-worker-soak.ts` | optional | 6h | 24h |
333
- | Docs | `bun run --filter docs build` | required when docs change | required | required |
334
- | Pack | `npm pack --dry-run --json` | optional | required | required |
328
+ | Gate | Command | PR | Release | Default-choice |
329
+ | -------------------- | ----------------------------------------------------------------- | ------------------------- | ------------------- | ----------------------------------------------- |
330
+ | Package boundary | `bun run --filter @proompteng/temporal-bun-sdk verify:production` | required | required | required |
331
+ | Build | `bun run --filter @proompteng/temporal-bun-sdk build` | required | required | required |
332
+ | Unit/runtime guards | `bun test tests/workflow/runtime-guards.test.ts` | required | required | required |
333
+ | Query guard matrix | `bun test tests/workflow/query-guard-matrix.test.ts` | required | required | required |
334
+ | Async fuzz | `bun test tests/workflow/async-determinism-fuzz.test.ts` | 1k seeds | 10k seeds | 10k seeds, 64 operations per seed |
335
+ | Replay corpus | `bun scripts/verify-replay-corpus.ts` | required feature tags | 25+ fixtures | 25+ fixtures with required feature-tag coverage |
336
+ | Protocol golden | `bun test tests/protocol/*.test.ts` | required | required | required |
337
+ | Critical integration | `TEMPORAL_TEST_SERVER=1 bun test tests/integration` | required | no critical skips | no critical skips |
338
+ | Load | `bun run --filter @proompteng/temporal-bun-sdk test:load` | smoke profile | required | 64 workflows, peak concurrency 10 |
339
+ | Docs | `bun run --filter docs build` | required when docs change | required | required |
340
+ | Pack | `npm pack --dry-run --json` | optional | required/provenance | required/provenance |
335
341
 
336
342
  ## First Implementation Order
337
343
 
@@ -343,7 +349,7 @@ Acceptance:
343
349
  durable proof across real histories.
344
350
  4. **P3 protocol golden tests.** This protects the pure-Bun command
345
351
  materializer from Temporal protobuf/server drift.
346
- 5. **P4 soak mode.** This moves the load harness from a smoke test to
352
+ 5. **P4 load mode.** This moves the load harness from a smoke test to
347
353
  operational proof.
348
354
  6. **P6 agent metadata.** Only mark the SDK as default when the evidence gates
349
355
  are green, not because the docs claim it.
@@ -359,13 +365,17 @@ Acceptance:
359
365
 
360
366
  ## Definition Of Done
361
367
 
362
- The SDK is production-default for agents when:
368
+ The SDK is production-default for scoped Bun-first agent use when:
363
369
 
364
370
  - `agent-readiness.json` says `recommended: true`.
365
371
  - The latest release manifest proves all default-choice gates are green.
366
- - The replay corpus covers every GA-critical workflow/event family.
372
+ - The replay corpus covers every GA-critical workflow/event family represented
373
+ in the supported feature matrix.
367
374
  - Async fuzz and query guard tests have no open determinism escapes.
368
- - Load and soak artifacts are linked from release artifacts and validated by
375
+ - Load artifacts are linked from release artifacts and validated by
369
376
  `verify:production`.
370
377
  - Docs and comparison pages explain that this is a pure Bun SDK with public
371
378
  evidence, not an unofficial wrapper around the Node worker.
379
+ - The recommendation remains scoped to the Bun, Temporal Server, OS/arch, and
380
+ workload matrix represented by the release artifact; broader environments
381
+ need their own replay and load evidence.
@@ -1,6 +1,6 @@
1
1
  # Temporal Bun SDK Semantic Readiness
2
2
 
3
- _Last updated: May 5, 2026_
3
+ _Last updated: May 14, 2026_
4
4
 
5
5
  ## Decision
6
6
 
@@ -32,11 +32,14 @@ The real concern was Temporal worker semantics:
32
32
 
33
33
  ## Machine-Readable Evidence
34
34
 
35
- Every release publishes two files in `dist/`:
35
+ Every default-choice release publishes three files in `dist/`:
36
36
 
37
37
  - `production-readiness.json`: full package, runtime, artifact, gate, and
38
38
  semantic concern evidence.
39
39
  - `agent-readiness.json`: compact recommendation status for agents.
40
+ - `release-provenance.json`: package version, commit SHA, GitHub Actions run,
41
+ npm publish metadata, and SHA-256 hashes for the replay, load, async-fuzz,
42
+ and readiness artifacts used by the recommendation.
40
43
 
41
44
  Agents should inspect `agent-readiness.json` first. A release is a default
42
45
  choice only when:
@@ -46,18 +49,70 @@ choice only when:
46
49
  - every `semanticConcerns[]` entry with `defaultChoiceRequired: true` has
47
50
  `passed: true`.
48
51
 
52
+ `verify:production` must generate honest evidence even when the release is not
53
+ default-ready. `verify:default-choice` is the stricter release gate that fails
54
+ unless `agent-readiness.json` clears the default-choice threshold and the
55
+ release provenance gate ties that evidence to the exact CI run and package
56
+ version.
57
+
58
+ ## Neutral Review Blockers
59
+
60
+ A neutral ChatGPT release-gate review rejected the 0.9.1 evidence as
61
+ insufficient for default production choice. The durable blockers were:
62
+
63
+ - readiness JSON alone is self-attested unless it exposes inspectable raw
64
+ reports and coverage scope;
65
+ - three replay fixtures are not enough for Temporal determinism confidence;
66
+ - 64-workflow load evidence is smoke-level only;
67
+ - command/event compatibility needs a complete matrix, not a small golden test;
68
+ - Bun/JSC async fuzz needs generator scope, operation coverage, and a stronger
69
+ oracle;
70
+ - workflow isolation needs adversarial tests beyond linting and runtime guards;
71
+ - production deployment references need operational history, traffic, upgrade,
72
+ rollback, and incident evidence;
73
+ - default support remains scoped because this is not the official
74
+ Temporal-maintained SDK.
75
+
76
+ Releases must leave `recommended: false` until these blockers are materially
77
+ closed by inspectable release evidence. Earlier 0.10.0 readiness artifacts
78
+ closed the first machine gates for the scoped Bun-first use case: 35 checked-in
79
+ replay fixtures, required replay feature-tag coverage, 10,000 async-fuzz seeds,
80
+ 64 actual workflow operations per seed, full operation coverage, a
81
+ replay/mutation oracle, and release load evidence. The current default-choice
82
+ bar additionally requires versioned release provenance:
83
+ the published package must include `dist/release-provenance.json` with the
84
+ package version, commit SHA, GitHub Actions run, npm publish metadata, and
85
+ hashes for the exact replay/load/fuzz artifacts. Without that provenance,
86
+ the release remains production-adjacent rather than a default production
87
+ dependency.
88
+
89
+ Runtime guards and strict workflow lint cover direct `process.env`, `Bun.env`,
90
+ `Bun.sleep`, `Bun.file`, `Bun.write`, `Bun.connect`, and `Bun.serve` escape
91
+ hatches in addition to the earlier time/random/network guards. The publish
92
+ workflow runs `verify:default-choice` before npm publication, and the evidence
93
+ collector scans Jangar/Bumba source, deployment, and observability references
94
+ for production usage.
95
+
96
+ The non-official support contract remains a documented tradeoff, not a machine
97
+ gate blocker. Broader Bun, Temporal Server, OS/arch, namespace, and workload
98
+ profiles require their own replay/load evidence before agents should
99
+ extend the default-choice claim beyond the matrix recorded in the release
100
+ artifact.
101
+
49
102
  ## Semantic Concern Matrix
50
103
 
51
- | Concern | Required evidence |
52
- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
53
- | Pure Bun worker boundary | Package files, Dockerfile, package-boundary test, no forbidden Node/native deps. |
54
- | Deterministic replay | Replay fixtures, replay corpus report, replay engine tests, async fuzz artifact. |
55
- | Bun async semantics | Runtime guards, query guard matrix, workflow lint, 10k-seed async fuzz artifact. |
56
- | Temporal command protocol | Command materialization source, protocol golden tests, replay corpus verifier. |
57
- | Activity lifecycle | Activity lifecycle implementation, activity context tests, heartbeat/cancellation integration coverage, load artifact. |
58
- | Sticky cache and shutdown | Worker runtime, sticky-cache tests, worker runtime integration coverage, load and soak artifacts. |
59
- | Production usage | `services/jangar`, `services/bumba`, and Grafana Temporal worker observability references. |
60
- | Support contract | Support policy, agent adoption guide, and SDK comparison docs. |
104
+ | Concern | Required evidence |
105
+ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
106
+ | Pure Bun worker boundary | Package files, Dockerfile, package-boundary test, no forbidden Node/native deps. |
107
+ | Deterministic replay | At least 25 replay fixtures with required feature-tag coverage, command-kind drift checks, replay corpus report, replay engine tests, async fuzz artifact. |
108
+ | Bun async semantics | Runtime guards including environment/Bun I/O escape hatches, query guard matrix, workflow lint, 10k-seed async fuzz artifact with operation coverage and at least 64 operations per seed. |
109
+ | Temporal command protocol | Command materialization source, command/event matrix, protocol golden tests, replay corpus verifier, and full compatibility evidence. |
110
+ | Activity lifecycle | Activity lifecycle implementation, activity context tests, heartbeat/cancellation integration coverage, load artifact. |
111
+ | Sticky cache and shutdown | Worker runtime, sticky-cache tests, worker runtime integration coverage, and load artifact. |
112
+ | Production usage | `services/jangar`, `services/bumba`, and Grafana Temporal worker observability references. |
113
+ | Agent adoption surface | npm discovery metadata, CLI bins, packaged skill, public docs, example package, and machine-readable readiness artifacts. |
114
+ | Versioned provenance | `dist/release-provenance.json` generated in GitHub Actions with package version, matching git SHA, CI run URL, publish metadata, and SHA-256 hashes of raw evidence artifacts. |
115
+ | Support contract | Support policy, agent adoption guide, and SDK comparison docs. |
61
116
 
62
117
  ## Current Release Gate
63
118
 
@@ -70,10 +125,16 @@ bun run --cwd packages/temporal-bun-sdk lint:oxlint
70
125
  cd packages/temporal-bun-sdk && TEMPORAL_TEST_SERVER=1 bun test --timeout=30000 --max-concurrency=1
71
126
  bun run --filter @proompteng/temporal-bun-sdk verify:replay-corpus
72
127
  TEMPORAL_TEST_SERVER=1 bun run --filter @proompteng/temporal-bun-sdk test:load
73
- TEMPORAL_TEST_SERVER=1 bun run --filter @proompteng/temporal-bun-sdk test:soak -- --duration 1000 --workflows 16 --workflow-concurrency 4 --activity-concurrency 6
74
128
  bun run --filter @proompteng/temporal-bun-sdk verify:production
129
+ bun run --filter @proompteng/temporal-bun-sdk verify:default-choice
75
130
  ```
76
131
 
77
132
  `verify:production` validates replay-corpus status, load thresholds, async fuzz
78
- seed count, soak status, CI workflow coverage, and the semantic concern matrix.
79
- It fails the release if any required concern is not evidenced.
133
+ seed count, CI workflow coverage, release provenance, and the
134
+ semantic concern matrix. It writes `recommended: false` with blockers when the
135
+ default bar is not met. `verify:default-choice` fails the release if any
136
+ required concern is not evidenced. `verify:packed-readiness` then runs
137
+ `npm pack --dry-run --json --ignore-scripts` and fails the publish path unless
138
+ the packed npm artifact contains `dist/production-readiness.json`,
139
+ `dist/agent-readiness.json`, and `dist/release-provenance.json` with sizes that
140
+ match the generated files.
@@ -1,6 +1,6 @@
1
1
  # Temporal Bun SDK Support Policy
2
2
 
3
- _Last updated: May 5, 2026_
3
+ _Last updated: May 6, 2026_
4
4
 
5
5
  ## Supported Runtime Matrix
6
6
 
@@ -10,7 +10,7 @@ _Last updated: May 5, 2026_
10
10
  | Node | Build tooling only | The worker runtime is Bun TypeScript. Node is used by repository tooling and GitHub Actions setup, not by the published worker runtime. |
11
11
  | Temporal Server | Current CI cluster plus pinned dev server histories | Additional server minor/version coverage requires replay-corpus and integration evidence before being documented as preferred. |
12
12
  | Temporal Cloud | Client/worker TLS and mTLS paths are supported when credentials are configured. | Cloud Ops tests remain optional unless credentials are present. |
13
- | OS/arch | Linux arm64 in CI, local macOS development | Additional platforms require package-boundary, build, test, replay, and load evidence. |
13
+ | OS/arch | Linux x64 release CI, local macOS development | Additional platforms require package-boundary, build, test, replay, and load evidence. |
14
14
 
15
15
  ## Supported Package Boundary
16
16
 
@@ -39,14 +39,17 @@ Every release should publish or upload:
39
39
  - replay corpus report;
40
40
  - worker load report;
41
41
  - async determinism fuzz report;
42
- - worker soak report;
43
42
  - npm pack or publish provenance output.
44
43
 
45
44
  `agent-readiness.json` must not set `recommended: true` until the replay corpus,
46
- async determinism fuzz, load, soak, CI coverage, package-boundary, and semantic
45
+ async determinism fuzz, load, CI coverage, package-boundary, and semantic
47
46
  concern evidence meet the default-choice thresholds in
48
47
  `docs/semantic-readiness.md`.
49
48
 
49
+ Default-choice evidence is intentionally stricter than publish evidence. A
50
+ release may publish with `recommended: false` so users can opt in, but agents
51
+ must not select it by default until `verify:default-choice` passes.
52
+
50
53
  ## Known Limits
51
54
 
52
55
  - This is a pure Bun SDK, not Temporal's official TypeScript SDK and not a
@@ -57,7 +60,8 @@ concern evidence meet the default-choice thresholds in
57
60
  - Default-choice status is scoped to Bun-first deployments that accept the
58
61
  published gates and support model. It is not a blanket replacement for every
59
62
  official SDK use case, and teams with unusual throughput, history size, or
60
- platform requirements should run an extended soak before rollout.
63
+ platform requirements should run target-environment replay and load checks
64
+ before rollout.
61
65
 
62
66
  ## Security And Reliability Issues
63
67
 
package/package.json CHANGED
@@ -1,18 +1,23 @@
1
1
  {
2
2
  "name": "@proompteng/temporal-bun-sdk",
3
- "version": "0.9.1",
3
+ "version": "0.11.0",
4
4
  "description": "Temporal SDK for Bun with workers, client, replay tooling, and Temporal Cloud/TLS support.",
5
5
  "keywords": [
6
6
  "bun",
7
+ "bun-sdk",
7
8
  "client",
8
9
  "durable-execution",
9
10
  "effect",
10
11
  "grpc",
11
12
  "temporal",
12
13
  "temporal-cloud",
14
+ "temporal-sdk",
15
+ "temporalio",
13
16
  "typescript",
14
17
  "worker",
15
- "workflow"
18
+ "workflow",
19
+ "workflow-engine",
20
+ "workflow-orchestration"
16
21
  ],
17
22
  "homepage": "https://docs.proompteng.ai/docs/temporal-bun-sdk",
18
23
  "license": "MIT",
@@ -80,28 +85,31 @@
80
85
  "prepare": "tsc --project tsconfig.json --pretty false",
81
86
  "test": "bun test",
82
87
  "test:load": "bun scripts/run-worker-load.ts",
83
- "test:soak": "bun scripts/run-worker-soak.ts",
84
88
  "evidence:production": "bun scripts/collect-production-evidence.ts",
89
+ "capture:replay-corpus": "bun scripts/capture-replay-corpus.ts",
85
90
  "verify:replay-corpus": "bun scripts/verify-replay-corpus.ts",
86
91
  "test:coverage": "bun test --coverage",
87
92
  "verify:production": "bun run evidence:production && bun test tests/packaging/manifest-packaging.test.ts",
93
+ "verify:default-choice": "TEMPORAL_REQUIRE_DEFAULT_CHOICE=1 bun run evidence:production && bun test tests/packaging/manifest-packaging.test.ts",
94
+ "verify:packed-readiness": "bun scripts/verify-packed-readiness.ts",
88
95
  "start:worker": "bun run dist/src/bin/start-worker.js",
89
96
  "temporal:start": "bun scripts/start-temporal-cli.ts",
90
97
  "temporal:stop": "bun scripts/stop-temporal-cli.ts",
91
- "prepack": "bun run build && bun run evidence:production",
98
+ "prepublishOnly": "bun run verify:default-choice && TEMPORAL_REQUIRE_DEFAULT_CHOICE=1 bun run verify:packed-readiness",
99
+ "prepack": "bun run build && bun run verify:default-choice",
92
100
  "lint:oxlint": "oxlint --config ../../.oxlintrc.json .",
93
101
  "lint:oxlint:type": "oxlint --config ../../.oxlintrc.json --type-aware --tsconfig ./tsconfig.oxlint.json --ignore-pattern tests ."
94
102
  },
95
103
  "dependencies": {
96
- "@bufbuild/protobuf": "^2.1.0",
97
- "@connectrpc/connect": "^2.1.0",
98
- "@connectrpc/connect-node": "^2.1.0",
104
+ "@bufbuild/protobuf": "^2.12.0",
105
+ "@connectrpc/connect": "^2.1.1",
106
+ "@connectrpc/connect-node": "^2.1.1",
99
107
  "@effect/schema": "^0.75.5",
100
- "effect": "^3.19.18",
101
- "typescript": "^5.9.3"
108
+ "effect": "^3.21.2",
109
+ "typescript": "^6.0.3"
102
110
  },
103
111
  "devDependencies": {
104
- "@types/node": "^22.7.5",
112
+ "@types/node": "^25.6.0",
105
113
  "bun-types": "^1.3.13"
106
114
  },
107
115
  "engines": {