@proompteng/temporal-bun-sdk 0.5.0 → 0.6.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 (233) hide show
  1. package/README.md +6 -14
  2. package/dist/src/bin/lint-workflows-command.d.ts +31 -0
  3. package/dist/src/bin/lint-workflows-command.d.ts.map +1 -0
  4. package/dist/src/bin/lint-workflows-command.js +239 -0
  5. package/dist/src/bin/lint-workflows-command.js.map +1 -0
  6. package/dist/src/bin/replay-command.d.ts +34 -7
  7. package/dist/src/bin/replay-command.d.ts.map +1 -1
  8. package/dist/src/bin/replay-command.js +211 -34
  9. package/dist/src/bin/replay-command.js.map +1 -1
  10. package/dist/src/bin/temporal-bun.d.ts +3 -2
  11. package/dist/src/bin/temporal-bun.d.ts.map +1 -1
  12. package/dist/src/bin/temporal-bun.js +22 -1
  13. package/dist/src/bin/temporal-bun.js.map +1 -1
  14. package/dist/src/bin/workflow-lint/config.d.ts +20 -0
  15. package/dist/src/bin/workflow-lint/config.d.ts.map +1 -0
  16. package/dist/src/bin/workflow-lint/config.js +50 -0
  17. package/dist/src/bin/workflow-lint/config.js.map +1 -0
  18. package/dist/src/bin/workflow-lint/graph.d.ts +25 -0
  19. package/dist/src/bin/workflow-lint/graph.d.ts.map +1 -0
  20. package/dist/src/bin/workflow-lint/graph.js +124 -0
  21. package/dist/src/bin/workflow-lint/graph.js.map +1 -0
  22. package/dist/src/bin/workflow-lint/rules.d.ts +15 -0
  23. package/dist/src/bin/workflow-lint/rules.d.ts.map +1 -0
  24. package/dist/src/bin/workflow-lint/rules.js +124 -0
  25. package/dist/src/bin/workflow-lint/rules.js.map +1 -0
  26. package/dist/src/client.d.ts +200 -0
  27. package/dist/src/client.d.ts.map +1 -1
  28. package/dist/src/client.js +636 -3
  29. package/dist/src/client.js.map +1 -1
  30. package/dist/src/config.d.ts +16 -1
  31. package/dist/src/config.d.ts.map +1 -1
  32. package/dist/src/config.js +59 -4
  33. package/dist/src/config.js.map +1 -1
  34. package/dist/src/index.d.ts +8 -1
  35. package/dist/src/index.d.ts.map +1 -1
  36. package/dist/src/index.js +3 -0
  37. package/dist/src/index.js.map +1 -1
  38. package/dist/src/interceptors/types.d.ts +1 -1
  39. package/dist/src/interceptors/types.d.ts.map +1 -1
  40. package/dist/src/interceptors/types.js.map +1 -1
  41. package/dist/src/proto/protoc-gen-openapiv2/options/annotations_pb.d.ts +62 -0
  42. package/dist/src/proto/protoc-gen-openapiv2/options/annotations_pb.d.ts.map +1 -0
  43. package/dist/src/proto/protoc-gen-openapiv2/options/annotations_pb.js +65 -0
  44. package/dist/src/proto/protoc-gen-openapiv2/options/annotations_pb.js.map +1 -0
  45. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.d.ts +1448 -0
  46. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.d.ts.map +1 -0
  47. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.js +304 -0
  48. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.js.map +1 -0
  49. package/dist/src/proto/temporal/api/activity/v1/message_pb.d.ts +347 -2
  50. package/dist/src/proto/temporal/api/activity/v1/message_pb.d.ts.map +1 -1
  51. package/dist/src/proto/temporal/api/activity/v1/message_pb.js +23 -3
  52. package/dist/src/proto/temporal/api/activity/v1/message_pb.js.map +1 -1
  53. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.d.ts +242 -0
  54. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.d.ts.map +1 -0
  55. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.js +76 -0
  56. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.js.map +1 -0
  57. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.d.ts +109 -0
  58. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.d.ts.map +1 -0
  59. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.js +20 -0
  60. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.js.map +1 -0
  61. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.d.ts +2988 -0
  62. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.d.ts.map +1 -0
  63. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.js +669 -0
  64. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.js.map +1 -0
  65. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.d.ts +656 -0
  66. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.d.ts.map +1 -0
  67. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.js +19 -0
  68. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.js.map +1 -0
  69. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.d.ts +132 -0
  70. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.d.ts.map +1 -0
  71. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.js +31 -0
  72. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.js.map +1 -0
  73. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.d.ts +783 -0
  74. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.d.ts.map +1 -0
  75. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.js +209 -0
  76. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.js.map +1 -0
  77. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.d.ts +976 -0
  78. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.d.ts.map +1 -0
  79. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.js +271 -0
  80. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.js.map +1 -0
  81. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.d.ts +201 -0
  82. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.d.ts.map +1 -0
  83. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.js +42 -0
  84. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.js.map +1 -0
  85. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.d.ts +129 -0
  86. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.d.ts.map +1 -0
  87. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.js +65 -0
  88. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.js.map +1 -0
  89. package/dist/src/proto/temporal/api/cloud/region/v1/message_pb.d.ts +76 -0
  90. package/dist/src/proto/temporal/api/cloud/region/v1/message_pb.d.ts.map +1 -0
  91. package/dist/src/proto/temporal/api/cloud/region/v1/message_pb.js +38 -0
  92. package/dist/src/proto/temporal/api/cloud/region/v1/message_pb.js.map +1 -0
  93. package/dist/src/proto/temporal/api/cloud/resource/v1/message_pb.d.ts +79 -0
  94. package/dist/src/proto/temporal/api/cloud/resource/v1/message_pb.d.ts.map +1 -0
  95. package/dist/src/proto/temporal/api/cloud/resource/v1/message_pb.js +83 -0
  96. package/dist/src/proto/temporal/api/cloud/resource/v1/message_pb.js.map +1 -0
  97. package/dist/src/proto/temporal/api/cloud/sink/v1/message_pb.d.ts +137 -0
  98. package/dist/src/proto/temporal/api/cloud/sink/v1/message_pb.d.ts.map +1 -0
  99. package/dist/src/proto/temporal/api/cloud/sink/v1/message_pb.js +29 -0
  100. package/dist/src/proto/temporal/api/cloud/sink/v1/message_pb.js.map +1 -0
  101. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.d.ts +166 -0
  102. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.d.ts.map +1 -0
  103. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.js +96 -0
  104. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.js.map +1 -0
  105. package/dist/src/proto/temporal/api/command/v1/message_pb.d.ts +36 -1
  106. package/dist/src/proto/temporal/api/command/v1/message_pb.d.ts.map +1 -1
  107. package/dist/src/proto/temporal/api/command/v1/message_pb.js +1 -1
  108. package/dist/src/proto/temporal/api/command/v1/message_pb.js.map +1 -1
  109. package/dist/src/proto/temporal/api/common/v1/message_pb.d.ts +24 -0
  110. package/dist/src/proto/temporal/api/common/v1/message_pb.d.ts.map +1 -1
  111. package/dist/src/proto/temporal/api/common/v1/message_pb.js +6 -1
  112. package/dist/src/proto/temporal/api/common/v1/message_pb.js.map +1 -1
  113. package/dist/src/proto/temporal/api/deployment/v1/message_pb.d.ts +41 -0
  114. package/dist/src/proto/temporal/api/deployment/v1/message_pb.d.ts.map +1 -1
  115. package/dist/src/proto/temporal/api/deployment/v1/message_pb.js +6 -1
  116. package/dist/src/proto/temporal/api/deployment/v1/message_pb.js.map +1 -1
  117. package/dist/src/proto/temporal/api/enums/v1/activity_pb.d.ts +145 -0
  118. package/dist/src/proto/temporal/api/enums/v1/activity_pb.d.ts.map +1 -0
  119. package/dist/src/proto/temporal/api/enums/v1/activity_pb.js +151 -0
  120. package/dist/src/proto/temporal/api/enums/v1/activity_pb.js.map +1 -0
  121. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.d.ts +13 -1
  122. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.d.ts.map +1 -1
  123. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.js +13 -1
  124. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.js.map +1 -1
  125. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.d.ts +6 -0
  126. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.d.ts.map +1 -1
  127. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.js +6 -0
  128. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.js.map +1 -1
  129. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.d.ts +102 -16
  130. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.d.ts.map +1 -1
  131. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.js +104 -16
  132. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.js.map +1 -1
  133. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.d.ts +22 -0
  134. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.d.ts.map +1 -1
  135. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.js +6 -1
  136. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.js.map +1 -1
  137. package/dist/src/proto/temporal/api/history/v1/message_pb.d.ts +148 -8
  138. package/dist/src/proto/temporal/api/history/v1/message_pb.d.ts.map +1 -1
  139. package/dist/src/proto/temporal/api/history/v1/message_pb.js +22 -12
  140. package/dist/src/proto/temporal/api/history/v1/message_pb.js.map +1 -1
  141. package/dist/src/proto/temporal/api/namespace/v1/message_pb.d.ts +36 -0
  142. package/dist/src/proto/temporal/api/namespace/v1/message_pb.d.ts.map +1 -1
  143. package/dist/src/proto/temporal/api/namespace/v1/message_pb.js +6 -1
  144. package/dist/src/proto/temporal/api/namespace/v1/message_pb.js.map +1 -1
  145. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.d.ts +12 -0
  146. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.d.ts.map +1 -1
  147. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.js +1 -1
  148. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.js.map +1 -1
  149. package/dist/src/proto/temporal/api/workflow/v1/message_pb.d.ts +105 -21
  150. package/dist/src/proto/temporal/api/workflow/v1/message_pb.d.ts.map +1 -1
  151. package/dist/src/proto/temporal/api/workflow/v1/message_pb.js +6 -3
  152. package/dist/src/proto/temporal/api/workflow/v1/message_pb.js.map +1 -1
  153. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.d.ts +702 -13
  154. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.d.ts.map +1 -1
  155. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.js +107 -1
  156. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.js.map +1 -1
  157. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.d.ts +157 -9
  158. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.d.ts.map +1 -1
  159. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.js +1 -1
  160. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.js.map +1 -1
  161. package/dist/src/runtime/effect-layers.d.ts +50 -0
  162. package/dist/src/runtime/effect-layers.d.ts.map +1 -1
  163. package/dist/src/search-attributes.d.ts +13 -0
  164. package/dist/src/search-attributes.d.ts.map +1 -0
  165. package/dist/src/search-attributes.js +23 -0
  166. package/dist/src/search-attributes.js.map +1 -0
  167. package/dist/src/testing/index.d.ts +3 -0
  168. package/dist/src/testing/index.d.ts.map +1 -0
  169. package/dist/src/testing/index.js +2 -0
  170. package/dist/src/testing/index.js.map +1 -0
  171. package/dist/src/testing/test-environment.d.ts +36 -0
  172. package/dist/src/testing/test-environment.d.ts.map +1 -0
  173. package/dist/src/testing/test-environment.js +239 -0
  174. package/dist/src/testing/test-environment.js.map +1 -0
  175. package/dist/src/worker/concurrency.d.ts +4 -4
  176. package/dist/src/worker/concurrency.d.ts.map +1 -1
  177. package/dist/src/worker/concurrency.js +12 -2
  178. package/dist/src/worker/concurrency.js.map +1 -1
  179. package/dist/src/worker/defaults.d.ts +1 -0
  180. package/dist/src/worker/defaults.d.ts.map +1 -1
  181. package/dist/src/worker/defaults.js +74 -1
  182. package/dist/src/worker/defaults.js.map +1 -1
  183. package/dist/src/worker/index.d.ts +5 -0
  184. package/dist/src/worker/index.d.ts.map +1 -1
  185. package/dist/src/worker/index.js +3 -0
  186. package/dist/src/worker/index.js.map +1 -1
  187. package/dist/src/worker/plugins.d.ts +26 -0
  188. package/dist/src/worker/plugins.d.ts.map +1 -0
  189. package/dist/src/worker/plugins.js +25 -0
  190. package/dist/src/worker/plugins.js.map +1 -0
  191. package/dist/src/worker/runtime.d.ts +6 -0
  192. package/dist/src/worker/runtime.d.ts.map +1 -1
  193. package/dist/src/worker/runtime.js +278 -20
  194. package/dist/src/worker/runtime.js.map +1 -1
  195. package/dist/src/worker/sticky-cache.d.ts +3 -1
  196. package/dist/src/worker/sticky-cache.d.ts.map +1 -1
  197. package/dist/src/worker/sticky-cache.js.map +1 -1
  198. package/dist/src/worker/tuner.d.ts +8 -0
  199. package/dist/src/worker/tuner.d.ts.map +1 -0
  200. package/dist/src/worker/tuner.js +5 -0
  201. package/dist/src/worker/tuner.js.map +1 -0
  202. package/dist/src/worker.d.ts +4 -0
  203. package/dist/src/worker.d.ts.map +1 -1
  204. package/dist/src/worker.js +9 -2
  205. package/dist/src/worker.js.map +1 -1
  206. package/dist/src/workflow/commands.d.ts +17 -2
  207. package/dist/src/workflow/commands.d.ts.map +1 -1
  208. package/dist/src/workflow/commands.js +39 -1
  209. package/dist/src/workflow/commands.js.map +1 -1
  210. package/dist/src/workflow/context.d.ts +25 -0
  211. package/dist/src/workflow/context.d.ts.map +1 -1
  212. package/dist/src/workflow/context.js +116 -18
  213. package/dist/src/workflow/context.js.map +1 -1
  214. package/dist/src/workflow/executor.d.ts +5 -1
  215. package/dist/src/workflow/executor.d.ts.map +1 -1
  216. package/dist/src/workflow/executor.js +10 -0
  217. package/dist/src/workflow/executor.js.map +1 -1
  218. package/dist/src/workflow/guards.d.ts +5 -0
  219. package/dist/src/workflow/guards.d.ts.map +1 -0
  220. package/dist/src/workflow/guards.js +453 -0
  221. package/dist/src/workflow/guards.js.map +1 -0
  222. package/dist/src/workflow/log.d.ts +1 -0
  223. package/dist/src/workflow/log.d.ts.map +1 -1
  224. package/dist/src/workflow/log.js +4 -1
  225. package/dist/src/workflow/log.js.map +1 -1
  226. package/dist/src/workflow/module-load.d.ts +8 -0
  227. package/dist/src/workflow/module-load.d.ts.map +1 -0
  228. package/dist/src/workflow/module-load.js +5 -0
  229. package/dist/src/workflow/module-load.js.map +1 -0
  230. package/dist/src/workflow/replay.d.ts.map +1 -1
  231. package/dist/src/workflow/replay.js +131 -8
  232. package/dist/src/workflow/replay.js.map +1 -1
  233. package/package.json +8 -2
package/README.md CHANGED
@@ -49,7 +49,6 @@ A Bun-first Temporal SDK implemented entirely in TypeScript. It speaks gRPC over
49
49
  TEMPORAL_DETERMINISM_MARKER_MAX_DETAIL_BYTES=1800000 # optional – skip markers exceeding size limit
50
50
  TEMPORAL_ACTIVITY_HEARTBEAT_INTERVAL_MS=4000 # optional – heartbeat throttle interval in ms
51
51
  TEMPORAL_ACTIVITY_HEARTBEAT_RPC_TIMEOUT_MS=5000 # optional – heartbeat RPC timeout in ms
52
- TEMPORAL_WORKER_DEPLOYMENT_NAME=replay-worker # optional – worker deployment metadata
53
52
  TEMPORAL_WORKER_BUILD_ID=git-sha # optional – build-id for versioning
54
53
  ```
55
54
 
@@ -505,22 +504,15 @@ Pass your converter to both the worker and client factories to keep payload hand
505
504
 
506
505
  ## Worker versioning and build IDs
507
506
 
508
- Workers derive their build ID from `TEMPORAL_WORKER_BUILD_ID`, the package version, or the configured identity. When `deployment.versioningMode` is `WorkerVersioningMode.VERSIONED`, `WorkerRuntime.create()` now:
507
+ Workers derive their build ID (in priority order) from:
509
508
 
510
- 1. Calls `GetWorkerBuildIdCompatibility` to confirm the WorkflowService supports worker versioning for the namespace/task queue.
511
- 2. Registers the build ID via `UpdateWorkerBuildIdCompatibility` before any pollers start, retrying transient `Unavailable`, `DeadlineExceeded`, `Aborted`, and `Internal` errors with incremental backoff.
512
- 3. Emits an info log so deploy pipelines can trace which build IDs were registered.
509
+ 1. `deployment.buildId` passed to `createWorker(...)` / `WorkerRuntime.create(...)`
510
+ 2. `TEMPORAL_WORKER_BUILD_ID`
511
+ 3. a derived value based on the configured `workflowsPath` contents (recommended default)
513
512
 
514
- If the capability probe returns `Unimplemented` or `FailedPrecondition`, the runtime logs a warning and skips registration so local development servers (for example, the Temporal CLI dev server started via `bun scripts/start-temporal-cli.ts`) continue working even though they lack worker versioning APIs. Any other error aborts startup because versioned task queues will refuse to hand out work without a registered build ID.
513
+ When `deployment.versioningMode` is `WorkerVersioningMode.VERSIONED`, the worker includes deployment metadata (deployment name + build ID) in poll/response requests so the server can route workflow tasks to the correct build.
515
514
 
516
- Example logs:
517
-
518
- ```
519
- [temporal-bun-sdk] registered worker build ID replay-worker@1.2.3 for default/replay-fixtures
520
- [temporal-bun-sdk] skipping worker build ID registration for default/replay-fixtures: worker versioning API unavailable (Unimplemented (12)). If you are running against the Temporal CLI dev server via bun scripts/start-temporal-cli.ts this warning is expected because that server does not implement worker versioning APIs yet.
521
- ```
522
-
523
- Production clusters should enable worker versioning, watch for the registration log during deploys, and alert on failures so versioned queues stay healthy.
515
+ The Bun SDK does not call the deprecated Build ID Compatibility APIs (Version Set-based “worker versioning v0.1”), since they may be disabled on some namespaces.
524
516
 
525
517
  ## License
526
518
  MIT © ProomptEng AI
@@ -0,0 +1,31 @@
1
+ import { type WorkflowLintFormat, type WorkflowLintMode } from './workflow-lint/config';
2
+ import { type WorkflowLintViolation } from './workflow-lint/rules';
3
+ export type LintWorkflowsExitCode = 0 | 1;
4
+ export type LintWorkflowsResult = {
5
+ readonly exitCode: LintWorkflowsExitCode;
6
+ readonly mode: WorkflowLintMode;
7
+ readonly format: WorkflowLintFormat;
8
+ readonly entries: readonly string[];
9
+ readonly violations: readonly WorkflowLintViolation[];
10
+ readonly configSource?: string;
11
+ };
12
+ export declare const executeLintWorkflows: (options: {
13
+ readonly cwd?: string;
14
+ readonly workflows?: readonly string[];
15
+ readonly mode?: WorkflowLintMode;
16
+ readonly format?: WorkflowLintFormat;
17
+ readonly configPath?: string;
18
+ readonly changedOnly?: boolean;
19
+ }) => Promise<LintWorkflowsResult>;
20
+ export declare const printLintWorkflows: (result: LintWorkflowsResult, options?: {
21
+ outPath?: string;
22
+ }) => Promise<void>;
23
+ export declare const parseLintWorkflowsFlags: (flags: Record<string, string | boolean>) => {
24
+ workflows: string[];
25
+ mode: WorkflowLintMode;
26
+ format: WorkflowLintFormat;
27
+ configPath: string;
28
+ changedOnly: boolean;
29
+ };
30
+ export declare const withTempDir: <T>(fn: (dir: string) => Promise<T>) => Promise<T>;
31
+ //# sourceMappingURL=lint-workflows-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-workflows-command.d.ts","sourceRoot":"","sources":["../../../src/bin/lint-workflows-command.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE/G,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAEzF,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,CAAC,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAA;IACxC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAA;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AA4GD,eAAO,MAAM,oBAAoB,GAAU,SAAS;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B,KAAG,OAAO,CAAC,mBAAmB,CAgF9B,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,QAAQ,mBAAmB,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,kBAqCnG,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;;;;;;CAyB9E,CAAA;AAGD,eAAO,MAAM,WAAW,GAAU,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAI/E,CAAA"}
@@ -0,0 +1,239 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { mkdir, mkdtemp, writeFile } from 'node:fs/promises';
3
+ import { tmpdir } from 'node:os';
4
+ import { dirname, resolve } from 'node:path';
5
+ import { loadWorkflowLintConfig } from './workflow-lint/config';
6
+ import { buildWorkflowLintGraph } from './workflow-lint/graph';
7
+ import { lintWorkflowModuleAst } from './workflow-lint/rules';
8
+ class WorkflowLintCommandError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = 'WorkflowLintCommandError';
12
+ }
13
+ }
14
+ const truthy = new Set(['1', 'true', 't', 'yes', 'y', 'on']);
15
+ const readStringFlag = (value) => typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
16
+ const readBooleanFlag = (value) => {
17
+ if (value === true)
18
+ return true;
19
+ if (typeof value === 'string')
20
+ return truthy.has(value.trim().toLowerCase());
21
+ return false;
22
+ };
23
+ const parseMode = (raw) => {
24
+ const normalized = raw?.trim().toLowerCase();
25
+ if (!normalized)
26
+ return undefined;
27
+ if (normalized === 'strict' || normalized === 'warn' || normalized === 'off') {
28
+ return normalized;
29
+ }
30
+ return undefined;
31
+ };
32
+ const parseFormat = (raw) => {
33
+ const normalized = raw?.trim().toLowerCase();
34
+ if (!normalized)
35
+ return undefined;
36
+ if (normalized === 'text' || normalized === 'json') {
37
+ return normalized;
38
+ }
39
+ return undefined;
40
+ };
41
+ const splitRepeatable = (value) => {
42
+ if (!value)
43
+ return [];
44
+ return value
45
+ .split(',')
46
+ .map((token) => token.trim())
47
+ .filter((token) => token.length > 0);
48
+ };
49
+ const resolveDefaultMode = (env) => parseMode(env.TEMPORAL_WORKFLOW_LINT) ?? (readBooleanFlag(env.CI) ? 'strict' : 'warn');
50
+ const defaultDenyImports = new Set([
51
+ '@proompteng/temporal-bun-sdk/client',
52
+ '@proompteng/temporal-bun-sdk/worker',
53
+ 'node:fs',
54
+ 'node:fs/promises',
55
+ 'node:net',
56
+ 'node:http',
57
+ 'node:https',
58
+ 'node:dgram',
59
+ 'node:tls',
60
+ 'node:child_process',
61
+ 'node:worker_threads',
62
+ 'fs',
63
+ 'net',
64
+ 'http',
65
+ 'https',
66
+ 'child_process',
67
+ 'worker_threads',
68
+ ]);
69
+ const defaultDenyGlobals = new Set(['fetch', 'WebSocket', 'setTimeout', 'setInterval', 'Bun.spawn', 'Deno.run']);
70
+ const defaultDenyMemberExpressions = new Set(['process.env', 'Bun.env']);
71
+ const expandWorkflowEntries = async (cwdPath, patterns) => {
72
+ const entries = new Set();
73
+ for (const pattern of patterns) {
74
+ const resolved = resolve(cwdPath, pattern);
75
+ if (existsSync(resolved)) {
76
+ entries.add(resolved);
77
+ continue;
78
+ }
79
+ // Bun supports glob scanning natively.
80
+ const glob = new Bun.Glob(pattern);
81
+ for await (const match of glob.scan({ cwd: cwdPath, onlyFiles: true })) {
82
+ entries.add(resolve(cwdPath, match));
83
+ }
84
+ }
85
+ return [...entries].sort();
86
+ };
87
+ const listChangedFiles = async (cwdPath) => {
88
+ const child = Bun.spawn(['git', 'diff', '--name-only', '--diff-filter=ACMRTUXB', 'origin/main...HEAD'], {
89
+ cwd: cwdPath,
90
+ stdout: 'pipe',
91
+ stderr: 'pipe',
92
+ });
93
+ const text = await new Response(child.stdout).text();
94
+ const files = text
95
+ .split('\n')
96
+ .map((line) => line.trim())
97
+ .filter((line) => line.length > 0)
98
+ .map((line) => resolve(cwdPath, line));
99
+ return new Set(files);
100
+ };
101
+ export const executeLintWorkflows = async (options) => {
102
+ // TODO(TBS-NDG-003): implement workflow lint CLI
103
+ const cwdPath = options.cwd ?? process.cwd();
104
+ const mode = options.mode ?? resolveDefaultMode(process.env);
105
+ const format = options.format ?? 'text';
106
+ if (mode === 'off') {
107
+ return { exitCode: 0, mode, format, entries: [], violations: [] };
108
+ }
109
+ const { config, source } = await loadWorkflowLintConfig(cwdPath, options.configPath);
110
+ const patterns = options.workflows && options.workflows.length > 0 ? options.workflows : (config?.entries ?? []);
111
+ if (patterns.length === 0) {
112
+ throw new WorkflowLintCommandError('No workflow entries provided. Use --workflows or .temporal-bun-workflows.json.');
113
+ }
114
+ const entries = await expandWorkflowEntries(cwdPath, patterns);
115
+ if (entries.length === 0) {
116
+ throw new WorkflowLintCommandError('No workflow entry files matched the configured patterns.');
117
+ }
118
+ const denyImports = new Set(defaultDenyImports);
119
+ const denyGlobals = new Set(defaultDenyGlobals);
120
+ const denyMemberExpressions = new Set(defaultDenyMemberExpressions);
121
+ for (const item of config?.deny?.imports ?? [])
122
+ denyImports.add(item);
123
+ for (const item of config?.deny?.globals ?? [])
124
+ denyGlobals.add(item);
125
+ for (const item of config?.deny?.memberExpressions ?? [])
126
+ denyMemberExpressions.add(item);
127
+ for (const allowed of config?.allow?.imports ?? [])
128
+ denyImports.delete(allowed);
129
+ for (const allowed of config?.allow?.globals ?? [])
130
+ denyGlobals.delete(allowed);
131
+ for (const allowed of config?.allow?.memberExpressions ?? [])
132
+ denyMemberExpressions.delete(allowed);
133
+ const changedFiles = options.changedOnly ? await listChangedFiles(cwdPath) : undefined;
134
+ const violations = [];
135
+ for (const entry of entries) {
136
+ const { graph, violations: graphViolations } = await buildWorkflowLintGraph({
137
+ entry,
138
+ cwd: cwdPath,
139
+ denyImports,
140
+ });
141
+ const modules = [...graph.modules].sort();
142
+ if (changedFiles && !modules.some((file) => changedFiles.has(file))) {
143
+ continue;
144
+ }
145
+ for (const violation of graphViolations) {
146
+ violations.push({
147
+ filePath: violation.filePath,
148
+ rule: violation.rule === 'dynamic-import' ? 'dynamic-import' : 'deny-import',
149
+ message: violation.message,
150
+ line: 1,
151
+ column: 1,
152
+ ...(violation.specifier ? { details: { specifier: violation.specifier } } : {}),
153
+ });
154
+ }
155
+ for (const filePath of modules) {
156
+ const fileViolations = await lintWorkflowModuleAst({
157
+ filePath,
158
+ denyGlobals,
159
+ denyMemberExpressions,
160
+ denyImports,
161
+ });
162
+ violations.push(...fileViolations);
163
+ }
164
+ }
165
+ const exitCode = violations.length > 0 && mode === 'strict' ? 1 : 0;
166
+ return {
167
+ exitCode,
168
+ mode,
169
+ format,
170
+ entries,
171
+ violations,
172
+ ...(source ? { configSource: source } : {}),
173
+ };
174
+ };
175
+ export const printLintWorkflows = async (result, options) => {
176
+ const lines = [];
177
+ lines.push(`temporal-bun lint-workflows (${result.mode})`);
178
+ if (result.configSource) {
179
+ lines.push(` config: ${result.configSource}`);
180
+ }
181
+ lines.push(` entries: ${result.entries.length}`);
182
+ lines.push(` violations: ${result.violations.length}`);
183
+ if (result.format === 'json') {
184
+ const payload = JSON.stringify(result, null, 2);
185
+ console.log(payload);
186
+ if (options?.outPath) {
187
+ await mkdir(dirname(options.outPath), { recursive: true });
188
+ await writeFile(options.outPath, payload);
189
+ }
190
+ return;
191
+ }
192
+ for (const line of lines) {
193
+ console.log(line);
194
+ }
195
+ if (result.violations.length > 0) {
196
+ const grouped = new Map();
197
+ for (const violation of result.violations) {
198
+ const list = grouped.get(violation.filePath) ?? [];
199
+ list.push(violation);
200
+ grouped.set(violation.filePath, list);
201
+ }
202
+ for (const [filePath, fileViolations] of grouped) {
203
+ console.log(`\n${filePath}`);
204
+ for (const v of fileViolations) {
205
+ console.log(` ${v.line}:${v.column} ${v.rule} ${v.message}`);
206
+ }
207
+ }
208
+ }
209
+ };
210
+ export const parseLintWorkflowsFlags = (flags) => {
211
+ const workflows = [
212
+ ...splitRepeatable(readStringFlag(flags.workflows)),
213
+ ...splitRepeatable(readStringFlag(flags.workflow)),
214
+ ...splitRepeatable(readStringFlag(flags.entries)),
215
+ ];
216
+ const workflowsFromRepeatable = [
217
+ readStringFlag(flags['workflows-0']),
218
+ readStringFlag(flags['workflows-1']),
219
+ readStringFlag(flags['workflows-2']),
220
+ ].filter(Boolean);
221
+ const mode = parseMode(readStringFlag(flags.mode));
222
+ const format = parseFormat(readStringFlag(flags.format));
223
+ const configPath = readStringFlag(flags.config);
224
+ const changedOnly = readBooleanFlag(flags['changed-only']);
225
+ return {
226
+ workflows: [...workflows, ...workflowsFromRepeatable],
227
+ mode,
228
+ format,
229
+ configPath,
230
+ changedOnly,
231
+ };
232
+ };
233
+ // Used by tests for isolated temp workspace runs.
234
+ export const withTempDir = async (fn) => {
235
+ const root = await mkdtemp(resolve(tmpdir(), 'temporal-bun-lint-'));
236
+ await mkdir(root, { recursive: true });
237
+ return await fn(root);
238
+ };
239
+ //# sourceMappingURL=lint-workflows-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-workflows-command.js","sourceRoot":"","sources":["../../../src/bin/lint-workflows-command.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ interface WorkflowExecutionRef {
11
11
  readonly workflowId: string;
12
12
  readonly runId: string;
13
13
  }
14
- interface ReplayCommandOptions {
14
+ interface ReplaySingleOptions {
15
15
  readonly historyFile?: string;
16
16
  readonly execution?: WorkflowExecutionRef;
17
17
  readonly workflowType?: string;
@@ -19,7 +19,22 @@ interface ReplayCommandOptions {
19
19
  readonly temporalCliPath?: string;
20
20
  readonly source: ReplayHistorySourcePreference;
21
21
  readonly jsonOutput: boolean;
22
+ readonly debug: boolean;
22
23
  }
24
+ interface ReplayDirectoryOptions {
25
+ readonly historyDir: string;
26
+ readonly outDir?: string;
27
+ readonly workflowType?: string;
28
+ readonly namespaceOverride?: string;
29
+ readonly temporalCliPath?: string;
30
+ readonly source: ReplayHistorySourcePreference;
31
+ readonly jsonOutput: boolean;
32
+ readonly debug: boolean;
33
+ }
34
+ type ReplayCommandOptions = ReplaySingleOptions | ReplayDirectoryOptions;
35
+ type ReplayExecutionOptions = ReplaySingleOptions & {
36
+ execution: WorkflowExecutionRef;
37
+ };
23
38
  interface HistoryMetadata {
24
39
  readonly workflowId?: string;
25
40
  readonly runId?: string;
@@ -50,6 +65,16 @@ export interface ReplayRunResult {
50
65
  readonly exitCode: number;
51
66
  readonly summary: ReplaySummary;
52
67
  }
68
+ export interface ReplayBatchResult {
69
+ readonly exitCode: number;
70
+ readonly summaries: readonly ReplaySummary[];
71
+ readonly historyDir: string;
72
+ readonly outDir?: string;
73
+ readonly reportPath?: string;
74
+ readonly startedAtIso: string;
75
+ readonly durationMs: number;
76
+ readonly status: 'ok' | 'nondeterministic';
77
+ }
53
78
  export interface ReplaySummary {
54
79
  readonly workflow: WorkflowInfo;
55
80
  readonly history: {
@@ -63,6 +88,8 @@ export interface ReplaySummary {
63
88
  readonly hasMarker: boolean;
64
89
  readonly mismatchCount: number;
65
90
  readonly mismatches: DeterminismDiffResult['mismatches'];
91
+ readonly ignoredMismatchCount?: number;
92
+ readonly ignoredMismatches?: DeterminismDiffResult['mismatches'];
66
93
  readonly failureMetadata?: WorkflowDeterminismFailureMetadata;
67
94
  };
68
95
  readonly attempts: HistoryLoaderAttempt[];
@@ -75,30 +102,30 @@ declare class ReplayCommandError extends Error {
75
102
  readonly details?: Record<string, unknown>;
76
103
  constructor(message: string, details?: Record<string, unknown>);
77
104
  }
78
- export declare const executeReplay: (flagsOrOptions: Record<string, string | boolean> | ReplayCommandOptions) => Effect.Effect<ReplayRunResult, ReplayCommandError, TemporalConfigService | ObservabilityService | WorkflowServiceClientService>;
105
+ export declare const executeReplay: (flagsOrOptions: Record<string, string | boolean> | ReplayCommandOptions) => Effect.Effect<ReplayRunResult | ReplayBatchResult, ReplayCommandError, TemporalConfigService | ObservabilityService | WorkflowServiceClientService>;
79
106
  export declare const parseReplayOptions: (flags: Record<string, string | boolean>) => ReplayCommandOptions;
80
107
  export declare const parseExecutionFlag: (value: string) => WorkflowExecutionRef;
81
108
  declare function loadHistoryViaCli({ options, config, namespace, }: {
82
- readonly options: ReplayCommandOptions;
109
+ readonly options: ReplayExecutionOptions;
83
110
  readonly config: TemporalConfig;
84
111
  readonly namespace: string;
85
112
  }): Promise<HistorySourceRecord>;
86
113
  declare function loadHistoryViaService({ options, config, namespace, workflowService, }: {
87
- readonly options: ReplayCommandOptions;
114
+ readonly options: ReplayExecutionOptions;
88
115
  readonly config: TemporalConfig;
89
116
  readonly namespace: string;
90
117
  readonly workflowService: WorkflowServiceClient;
91
118
  }): Promise<HistorySourceRecord>;
92
- export declare const printReplaySummary: (summary: ReplaySummary, jsonOutput: boolean) => void;
119
+ export declare const printReplaySummary: (result: ReplayRunResult | ReplayBatchResult, jsonOutput: boolean) => void;
93
120
  export declare const replayCommandTestHooks: {
94
121
  loadHistoryFromFile: (filePath: string) => Promise<HistorySourceRecord>;
95
122
  loadExecutionHistory: ({ options, config, loaders, workflowService, }: {
96
- readonly options: ReplayCommandOptions;
123
+ readonly options: ReplayExecutionOptions;
97
124
  readonly config: TemporalConfig;
98
125
  readonly loaders: HistoryLoaders;
99
126
  readonly workflowService: WorkflowServiceClient;
100
127
  }) => Promise<HistoryLoadOutcome>;
101
- executeReplay: (flagsOrOptions: Record<string, string | boolean> | ReplayCommandOptions) => Effect.Effect<ReplayRunResult, ReplayCommandError, TemporalConfigService | ObservabilityService | WorkflowServiceClientService>;
128
+ executeReplay: (flagsOrOptions: Record<string, string | boolean> | ReplayCommandOptions) => Effect.Effect<ReplayRunResult | ReplayBatchResult, ReplayCommandError, TemporalConfigService | ObservabilityService | WorkflowServiceClientService>;
102
129
  };
103
130
  export {};
104
131
  //# sourceMappingURL=replay-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replay-command.d.ts","sourceRoot":"","sources":["../../../src/bin/replay-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay-command.d.ts","sourceRoot":"","sources":["../../../src/bin/replay-command.ts"],"names":[],"mappings":"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"}