@diff-review-system/drs 4.0.0-rc.4 → 4.1.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 (419) hide show
  1. package/.pi/agents/describe/pr-describer.md +14 -0
  2. package/.pi/agents/review/unified-reviewer.md +33 -7
  3. package/.pi/agents/task/agents-md-updater.md +3 -1
  4. package/.pi/agents/task/review-assistant.md +22 -0
  5. package/.pi/agents/task/review-issue-fixer.md +18 -1
  6. package/.pi/agents/visual/pr-explainer.md +205 -0
  7. package/.pi/workflows/github-pr-describe.yaml +10 -7
  8. package/.pi/workflows/github-pr-fix-review-issues-stacked.yaml +154 -0
  9. package/.pi/workflows/github-pr-post-comment.yaml +10 -10
  10. package/.pi/workflows/github-pr-review-post.yaml +18 -8
  11. package/.pi/workflows/github-pr-review.yaml +354 -7
  12. package/.pi/workflows/github-pr-show-changes.yaml +8 -8
  13. package/.pi/workflows/github-pr-update-agents-md-stacked.yaml +103 -0
  14. package/.pi/workflows/github-pr-visual-explain.yaml +80 -0
  15. package/.pi/workflows/gitlab-mr-describe.yaml +8 -5
  16. package/.pi/workflows/gitlab-mr-fix-review-issues-stacked.yaml +150 -0
  17. package/.pi/workflows/gitlab-mr-post-comment.yaml +8 -8
  18. package/.pi/workflows/gitlab-mr-review.yaml +354 -5
  19. package/.pi/workflows/gitlab-mr-show-changes.yaml +6 -6
  20. package/.pi/workflows/gitlab-mr-update-agents-md-stacked.yaml +100 -0
  21. package/.pi/workflows/gitlab-mr-visual-explain.yaml +78 -0
  22. package/.pi/workflows/local-fix-review-issues.yaml +89 -13
  23. package/.pi/workflows/local-review.yaml +15 -2
  24. package/.pi/workflows/local-update-agents-md.yaml +1 -1
  25. package/.pi/workflows/local-visual-explain.yaml +76 -0
  26. package/.pi/workflows/release-changelog-finalize.yaml +47 -0
  27. package/.pi/workflows/tag-changelog-update.yaml +4 -4
  28. package/.pi/workflows/temporal-control-smoke.yaml +63 -0
  29. package/README.md +130 -27
  30. package/dist/ci/runner.d.ts.map +1 -1
  31. package/dist/ci/runner.js +3 -1
  32. package/dist/ci/runner.js.map +1 -1
  33. package/dist/cli/index.js +258 -9
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/cli/init.d.ts +6 -1
  36. package/dist/cli/init.d.ts.map +1 -1
  37. package/dist/cli/init.js +29 -10
  38. package/dist/cli/init.js.map +1 -1
  39. package/dist/cli/run-agent.d.ts +4 -7
  40. package/dist/cli/run-agent.d.ts.map +1 -1
  41. package/dist/cli/run-agent.js +4 -0
  42. package/dist/cli/run-agent.js.map +1 -1
  43. package/dist/cli/workflow-executor-selection.d.ts +3 -0
  44. package/dist/cli/workflow-executor-selection.d.ts.map +1 -0
  45. package/dist/cli/workflow-executor-selection.js +15 -0
  46. package/dist/cli/workflow-executor-selection.js.map +1 -0
  47. package/dist/cli/workflow.d.ts +76 -26
  48. package/dist/cli/workflow.d.ts.map +1 -1
  49. package/dist/cli/workflow.js +1624 -192
  50. package/dist/cli/workflow.js.map +1 -1
  51. package/dist/github/client.d.ts +12 -0
  52. package/dist/github/client.d.ts.map +1 -1
  53. package/dist/github/client.js +27 -0
  54. package/dist/github/client.js.map +1 -1
  55. package/dist/github/platform-adapter.d.ts +6 -1
  56. package/dist/github/platform-adapter.d.ts.map +1 -1
  57. package/dist/github/platform-adapter.js +84 -8
  58. package/dist/github/platform-adapter.js.map +1 -1
  59. package/dist/gitlab/client.d.ts +11 -0
  60. package/dist/gitlab/client.d.ts.map +1 -1
  61. package/dist/gitlab/client.js +11 -0
  62. package/dist/gitlab/client.js.map +1 -1
  63. package/dist/gitlab/platform-adapter.d.ts +3 -1
  64. package/dist/gitlab/platform-adapter.d.ts.map +1 -1
  65. package/dist/gitlab/platform-adapter.js +32 -1
  66. package/dist/gitlab/platform-adapter.js.map +1 -1
  67. package/dist/lib/agent-result.d.ts +8 -0
  68. package/dist/lib/agent-result.d.ts.map +1 -0
  69. package/dist/lib/agent-result.js +2 -0
  70. package/dist/lib/agent-result.js.map +1 -0
  71. package/dist/lib/comment-formatter.d.ts +8 -0
  72. package/dist/lib/comment-formatter.d.ts.map +1 -1
  73. package/dist/lib/comment-formatter.js +12 -4
  74. package/dist/lib/comment-formatter.js.map +1 -1
  75. package/dist/lib/comment-poster.d.ts.map +1 -1
  76. package/dist/lib/comment-poster.js +28 -1
  77. package/dist/lib/comment-poster.js.map +1 -1
  78. package/dist/lib/config.d.ts +71 -11
  79. package/dist/lib/config.d.ts.map +1 -1
  80. package/dist/lib/config.js +163 -28
  81. package/dist/lib/config.js.map +1 -1
  82. package/dist/lib/context-compression.d.ts +10 -0
  83. package/dist/lib/context-compression.d.ts.map +1 -1
  84. package/dist/lib/context-compression.js +101 -13
  85. package/dist/lib/context-compression.js.map +1 -1
  86. package/dist/lib/context-loader.d.ts +2 -1
  87. package/dist/lib/context-loader.d.ts.map +1 -1
  88. package/dist/lib/context-loader.js +70 -1
  89. package/dist/lib/context-loader.js.map +1 -1
  90. package/dist/lib/describe-core.d.ts.map +1 -1
  91. package/dist/lib/describe-core.js +3 -2
  92. package/dist/lib/describe-core.js.map +1 -1
  93. package/dist/lib/diff-lines.d.ts +9 -0
  94. package/dist/lib/diff-lines.d.ts.map +1 -1
  95. package/dist/lib/diff-lines.js +17 -9
  96. package/dist/lib/diff-lines.js.map +1 -1
  97. package/dist/lib/exit.js +4 -4
  98. package/dist/lib/exit.js.map +1 -1
  99. package/dist/lib/html-artifact.d.ts +14 -0
  100. package/dist/lib/html-artifact.d.ts.map +1 -0
  101. package/dist/lib/html-artifact.js +59 -0
  102. package/dist/lib/html-artifact.js.map +1 -0
  103. package/dist/lib/issue-parser.js +3 -3
  104. package/dist/lib/issue-parser.js.map +1 -1
  105. package/dist/lib/json-output-schema.d.ts +70 -0
  106. package/dist/lib/json-output-schema.d.ts.map +1 -1
  107. package/dist/lib/json-output-schema.js +40 -0
  108. package/dist/lib/json-output-schema.js.map +1 -1
  109. package/dist/lib/output-paths.d.ts +0 -1
  110. package/dist/lib/output-paths.d.ts.map +1 -1
  111. package/dist/lib/output-paths.js +0 -1
  112. package/dist/lib/output-paths.js.map +1 -1
  113. package/dist/lib/platform-client.d.ts +26 -0
  114. package/dist/lib/platform-client.d.ts.map +1 -1
  115. package/dist/lib/project-setup.d.ts +10 -0
  116. package/dist/lib/project-setup.d.ts.map +1 -0
  117. package/dist/lib/project-setup.js +25 -0
  118. package/dist/lib/project-setup.js.map +1 -0
  119. package/dist/lib/review-artifact-store.d.ts +16 -0
  120. package/dist/lib/review-artifact-store.d.ts.map +1 -0
  121. package/dist/lib/review-artifact-store.js +84 -0
  122. package/dist/lib/review-artifact-store.js.map +1 -0
  123. package/dist/lib/review-artifact.d.ts +69 -0
  124. package/dist/lib/review-artifact.d.ts.map +1 -0
  125. package/dist/lib/review-artifact.js +172 -0
  126. package/dist/lib/review-artifact.js.map +1 -0
  127. package/dist/lib/review-core.d.ts +7 -4
  128. package/dist/lib/review-core.d.ts.map +1 -1
  129. package/dist/lib/review-core.js +82 -165
  130. package/dist/lib/review-core.js.map +1 -1
  131. package/dist/lib/review-orchestrator.d.ts +23 -0
  132. package/dist/lib/review-orchestrator.d.ts.map +1 -1
  133. package/dist/lib/review-orchestrator.js +20 -13
  134. package/dist/lib/review-orchestrator.js.map +1 -1
  135. package/dist/lib/review-parser.d.ts.map +1 -1
  136. package/dist/lib/review-parser.js +15 -12
  137. package/dist/lib/review-parser.js.map +1 -1
  138. package/dist/lib/review-usage.d.ts +4 -0
  139. package/dist/lib/review-usage.d.ts.map +1 -1
  140. package/dist/lib/review-usage.js +25 -0
  141. package/dist/lib/review-usage.js.map +1 -1
  142. package/dist/lib/skills.d.ts +16 -0
  143. package/dist/lib/skills.d.ts.map +1 -0
  144. package/dist/lib/skills.js +140 -0
  145. package/dist/lib/skills.js.map +1 -0
  146. package/dist/lib/trace-collector.d.ts +105 -0
  147. package/dist/lib/trace-collector.d.ts.map +1 -0
  148. package/dist/lib/trace-collector.js +255 -0
  149. package/dist/lib/trace-collector.js.map +1 -0
  150. package/dist/lib/trace-html.d.ts +3 -0
  151. package/dist/lib/trace-html.d.ts.map +1 -0
  152. package/dist/lib/trace-html.js +349 -0
  153. package/dist/lib/trace-html.js.map +1 -0
  154. package/dist/lib/workflow/artifact-store.d.ts +71 -0
  155. package/dist/lib/workflow/artifact-store.d.ts.map +1 -0
  156. package/dist/lib/workflow/artifact-store.js +121 -0
  157. package/dist/lib/workflow/artifact-store.js.map +1 -0
  158. package/dist/lib/workflow/compiled-plan.d.ts +87 -0
  159. package/dist/lib/workflow/compiled-plan.d.ts.map +1 -0
  160. package/dist/lib/workflow/compiled-plan.js +62 -0
  161. package/dist/lib/workflow/compiled-plan.js.map +1 -0
  162. package/dist/lib/workflow/executor.d.ts +18 -0
  163. package/dist/lib/workflow/executor.d.ts.map +1 -0
  164. package/dist/lib/workflow/executor.js +2 -0
  165. package/dist/lib/workflow/executor.js.map +1 -0
  166. package/dist/lib/workflow/graph.d.ts +30 -0
  167. package/dist/lib/workflow/graph.d.ts.map +1 -0
  168. package/dist/lib/workflow/graph.js +139 -0
  169. package/dist/lib/workflow/graph.js.map +1 -0
  170. package/dist/lib/workflow/input.d.ts +4 -0
  171. package/dist/lib/workflow/input.d.ts.map +1 -0
  172. package/dist/lib/workflow/input.js +4 -0
  173. package/dist/lib/workflow/input.js.map +1 -0
  174. package/dist/lib/workflow/node-executor.d.ts +19 -0
  175. package/dist/lib/workflow/node-executor.d.ts.map +1 -0
  176. package/dist/lib/workflow/node-executor.js +2 -0
  177. package/dist/lib/workflow/node-executor.js.map +1 -0
  178. package/dist/lib/workflow/planning.d.ts +51 -0
  179. package/dist/lib/workflow/planning.d.ts.map +1 -0
  180. package/dist/lib/workflow/planning.js +814 -0
  181. package/dist/lib/workflow/planning.js.map +1 -0
  182. package/dist/lib/workflow/types.d.ts +66 -0
  183. package/dist/lib/workflow/types.d.ts.map +1 -0
  184. package/dist/lib/workflow/types.js +2 -0
  185. package/dist/lib/workflow/types.js.map +1 -0
  186. package/dist/lib/workflow-artifacts.d.ts +54 -0
  187. package/dist/lib/workflow-artifacts.d.ts.map +1 -0
  188. package/dist/lib/workflow-artifacts.js +150 -0
  189. package/dist/lib/workflow-artifacts.js.map +1 -0
  190. package/dist/lib/write-json-output.d.ts.map +1 -1
  191. package/dist/lib/write-json-output.js +3 -8
  192. package/dist/lib/write-json-output.js.map +1 -1
  193. package/dist/pi/sdk.d.ts.map +1 -1
  194. package/dist/pi/sdk.js +576 -8
  195. package/dist/pi/sdk.js.map +1 -1
  196. package/dist/runtime/agent-loader.js +2 -2
  197. package/dist/runtime/built-in-paths.d.ts +1 -0
  198. package/dist/runtime/built-in-paths.d.ts.map +1 -1
  199. package/dist/runtime/built-in-paths.js +7 -0
  200. package/dist/runtime/built-in-paths.js.map +1 -1
  201. package/dist/runtime/client.d.ts +2 -0
  202. package/dist/runtime/client.d.ts.map +1 -1
  203. package/dist/runtime/client.js +11 -5
  204. package/dist/runtime/client.js.map +1 -1
  205. package/dist/temporal/activities.d.ts +26 -0
  206. package/dist/temporal/activities.d.ts.map +1 -0
  207. package/dist/temporal/activities.js +219 -0
  208. package/dist/temporal/activities.js.map +1 -0
  209. package/dist/temporal/config.d.ts +4 -0
  210. package/dist/temporal/config.d.ts.map +1 -0
  211. package/dist/temporal/config.js +36 -0
  212. package/dist/temporal/config.js.map +1 -0
  213. package/dist/temporal/executor.d.ts +7 -0
  214. package/dist/temporal/executor.d.ts.map +1 -0
  215. package/dist/temporal/executor.js +233 -0
  216. package/dist/temporal/executor.js.map +1 -0
  217. package/dist/temporal/retry-policy.d.ts +28 -0
  218. package/dist/temporal/retry-policy.d.ts.map +1 -0
  219. package/dist/temporal/retry-policy.js +56 -0
  220. package/dist/temporal/retry-policy.js.map +1 -0
  221. package/dist/temporal/types.d.ts +86 -0
  222. package/dist/temporal/types.d.ts.map +1 -0
  223. package/dist/temporal/types.js +2 -0
  224. package/dist/temporal/types.js.map +1 -0
  225. package/dist/temporal/worker.d.ts +3 -0
  226. package/dist/temporal/worker.d.ts.map +1 -0
  227. package/dist/temporal/worker.js +18 -0
  228. package/dist/temporal/worker.js.map +1 -0
  229. package/dist/temporal/workflow-id.d.ts +27 -0
  230. package/dist/temporal/workflow-id.d.ts.map +1 -0
  231. package/dist/temporal/workflow-id.js +53 -0
  232. package/dist/temporal/workflow-id.js.map +1 -0
  233. package/dist/temporal/workflows.d.ts +6 -0
  234. package/dist/temporal/workflows.d.ts.map +1 -0
  235. package/dist/temporal/workflows.js +342 -0
  236. package/dist/temporal/workflows.js.map +1 -0
  237. package/package.json +26 -15
  238. package/.pi/workflows/github-pr-describe-post.yaml +0 -24
  239. package/.pi/workflows/gitlab-mr-describe-post.yaml +0 -22
  240. package/.pi/workflows/gitlab-mr-review-code-quality.yaml +0 -31
  241. package/.pi/workflows/gitlab-mr-review-post-code-quality.yaml +0 -40
  242. package/.pi/workflows/gitlab-mr-review-post.yaml +0 -30
  243. package/.pi/workflows/local-staged-review.yaml +0 -17
  244. package/dist/cli/run-agent.test.d.ts +0 -2
  245. package/dist/cli/run-agent.test.d.ts.map +0 -1
  246. package/dist/cli/run-agent.test.js +0 -204
  247. package/dist/cli/run-agent.test.js.map +0 -1
  248. package/dist/cli/workflow.test.d.ts +0 -2
  249. package/dist/cli/workflow.test.d.ts.map +0 -1
  250. package/dist/cli/workflow.test.js +0 -1410
  251. package/dist/cli/workflow.test.js.map +0 -1
  252. package/dist/github/client.test.d.ts +0 -2
  253. package/dist/github/client.test.d.ts.map +0 -1
  254. package/dist/github/client.test.js +0 -206
  255. package/dist/github/client.test.js.map +0 -1
  256. package/dist/github/platform-adapter.test.d.ts +0 -2
  257. package/dist/github/platform-adapter.test.d.ts.map +0 -1
  258. package/dist/github/platform-adapter.test.js +0 -40
  259. package/dist/github/platform-adapter.test.js.map +0 -1
  260. package/dist/gitlab/diff-parser.test.d.ts +0 -2
  261. package/dist/gitlab/diff-parser.test.d.ts.map +0 -1
  262. package/dist/gitlab/diff-parser.test.js +0 -315
  263. package/dist/gitlab/diff-parser.test.js.map +0 -1
  264. package/dist/gitlab/platform-adapter.test.d.ts +0 -2
  265. package/dist/gitlab/platform-adapter.test.d.ts.map +0 -1
  266. package/dist/gitlab/platform-adapter.test.js +0 -21
  267. package/dist/gitlab/platform-adapter.test.js.map +0 -1
  268. package/dist/index.test.d.ts +0 -2
  269. package/dist/index.test.d.ts.map +0 -1
  270. package/dist/index.test.js +0 -7
  271. package/dist/index.test.js.map +0 -1
  272. package/dist/lib/code-quality-report.test.d.ts +0 -2
  273. package/dist/lib/code-quality-report.test.d.ts.map +0 -1
  274. package/dist/lib/code-quality-report.test.js +0 -327
  275. package/dist/lib/code-quality-report.test.js.map +0 -1
  276. package/dist/lib/comment-formatter.test.d.ts +0 -2
  277. package/dist/lib/comment-formatter.test.d.ts.map +0 -1
  278. package/dist/lib/comment-formatter.test.js +0 -727
  279. package/dist/lib/comment-formatter.test.js.map +0 -1
  280. package/dist/lib/comment-manager.test.d.ts +0 -2
  281. package/dist/lib/comment-manager.test.d.ts.map +0 -1
  282. package/dist/lib/comment-manager.test.js +0 -680
  283. package/dist/lib/comment-manager.test.js.map +0 -1
  284. package/dist/lib/comment-poster.test.d.ts +0 -5
  285. package/dist/lib/comment-poster.test.d.ts.map +0 -1
  286. package/dist/lib/comment-poster.test.js +0 -255
  287. package/dist/lib/comment-poster.test.js.map +0 -1
  288. package/dist/lib/config-model-overrides.test.d.ts +0 -2
  289. package/dist/lib/config-model-overrides.test.d.ts.map +0 -1
  290. package/dist/lib/config-model-overrides.test.js +0 -218
  291. package/dist/lib/config-model-overrides.test.js.map +0 -1
  292. package/dist/lib/config.test.d.ts +0 -2
  293. package/dist/lib/config.test.d.ts.map +0 -1
  294. package/dist/lib/config.test.js +0 -353
  295. package/dist/lib/config.test.js.map +0 -1
  296. package/dist/lib/context-compression.test.d.ts +0 -2
  297. package/dist/lib/context-compression.test.d.ts.map +0 -1
  298. package/dist/lib/context-compression.test.js +0 -337
  299. package/dist/lib/context-compression.test.js.map +0 -1
  300. package/dist/lib/context-loader.test.d.ts +0 -2
  301. package/dist/lib/context-loader.test.d.ts.map +0 -1
  302. package/dist/lib/context-loader.test.js +0 -212
  303. package/dist/lib/context-loader.test.js.map +0 -1
  304. package/dist/lib/cursor-fix-link.test.d.ts +0 -2
  305. package/dist/lib/cursor-fix-link.test.d.ts.map +0 -1
  306. package/dist/lib/cursor-fix-link.test.js +0 -70
  307. package/dist/lib/cursor-fix-link.test.js.map +0 -1
  308. package/dist/lib/describe-core.test.d.ts +0 -2
  309. package/dist/lib/describe-core.test.d.ts.map +0 -1
  310. package/dist/lib/describe-core.test.js +0 -208
  311. package/dist/lib/describe-core.test.js.map +0 -1
  312. package/dist/lib/describe-output-path.test.d.ts +0 -2
  313. package/dist/lib/describe-output-path.test.d.ts.map +0 -1
  314. package/dist/lib/describe-output-path.test.js +0 -51
  315. package/dist/lib/describe-output-path.test.js.map +0 -1
  316. package/dist/lib/describe-parser.test.d.ts +0 -2
  317. package/dist/lib/describe-parser.test.d.ts.map +0 -1
  318. package/dist/lib/describe-parser.test.js +0 -282
  319. package/dist/lib/describe-parser.test.js.map +0 -1
  320. package/dist/lib/description-executor.test.d.ts +0 -2
  321. package/dist/lib/description-executor.test.d.ts.map +0 -1
  322. package/dist/lib/description-executor.test.js +0 -135
  323. package/dist/lib/description-executor.test.js.map +0 -1
  324. package/dist/lib/description-formatter.test.d.ts +0 -2
  325. package/dist/lib/description-formatter.test.d.ts.map +0 -1
  326. package/dist/lib/description-formatter.test.js +0 -57
  327. package/dist/lib/description-formatter.test.js.map +0 -1
  328. package/dist/lib/diff-lines.test.d.ts +0 -2
  329. package/dist/lib/diff-lines.test.d.ts.map +0 -1
  330. package/dist/lib/diff-lines.test.js +0 -13
  331. package/dist/lib/diff-lines.test.js.map +0 -1
  332. package/dist/lib/diff-parser.test.d.ts +0 -2
  333. package/dist/lib/diff-parser.test.d.ts.map +0 -1
  334. package/dist/lib/diff-parser.test.js +0 -335
  335. package/dist/lib/diff-parser.test.js.map +0 -1
  336. package/dist/lib/error-comment-poster.test.d.ts +0 -2
  337. package/dist/lib/error-comment-poster.test.d.ts.map +0 -1
  338. package/dist/lib/error-comment-poster.test.js +0 -128
  339. package/dist/lib/error-comment-poster.test.js.map +0 -1
  340. package/dist/lib/exit.test.d.ts +0 -2
  341. package/dist/lib/exit.test.d.ts.map +0 -1
  342. package/dist/lib/exit.test.js +0 -120
  343. package/dist/lib/exit.test.js.map +0 -1
  344. package/dist/lib/issue-parser.test.d.ts +0 -2
  345. package/dist/lib/issue-parser.test.d.ts.map +0 -1
  346. package/dist/lib/issue-parser.test.js +0 -281
  347. package/dist/lib/issue-parser.test.js.map +0 -1
  348. package/dist/lib/json-output-schema.test.d.ts +0 -2
  349. package/dist/lib/json-output-schema.test.d.ts.map +0 -1
  350. package/dist/lib/json-output-schema.test.js +0 -92
  351. package/dist/lib/json-output-schema.test.js.map +0 -1
  352. package/dist/lib/json-output.test.d.ts +0 -2
  353. package/dist/lib/json-output.test.d.ts.map +0 -1
  354. package/dist/lib/json-output.test.js +0 -141
  355. package/dist/lib/json-output.test.js.map +0 -1
  356. package/dist/lib/logger.test.d.ts +0 -2
  357. package/dist/lib/logger.test.d.ts.map +0 -1
  358. package/dist/lib/logger.test.js +0 -324
  359. package/dist/lib/logger.test.js.map +0 -1
  360. package/dist/lib/position-validator.test.d.ts +0 -2
  361. package/dist/lib/position-validator.test.d.ts.map +0 -1
  362. package/dist/lib/position-validator.test.js +0 -128
  363. package/dist/lib/position-validator.test.js.map +0 -1
  364. package/dist/lib/prompt-budget.test.d.ts +0 -2
  365. package/dist/lib/prompt-budget.test.d.ts.map +0 -1
  366. package/dist/lib/prompt-budget.test.js +0 -55
  367. package/dist/lib/prompt-budget.test.js.map +0 -1
  368. package/dist/lib/repository-validator.test.d.ts +0 -5
  369. package/dist/lib/repository-validator.test.d.ts.map +0 -1
  370. package/dist/lib/repository-validator.test.js +0 -341
  371. package/dist/lib/repository-validator.test.js.map +0 -1
  372. package/dist/lib/review-core.test.d.ts +0 -2
  373. package/dist/lib/review-core.test.d.ts.map +0 -1
  374. package/dist/lib/review-core.test.js +0 -614
  375. package/dist/lib/review-core.test.js.map +0 -1
  376. package/dist/lib/review-orchestrator.test.d.ts +0 -2
  377. package/dist/lib/review-orchestrator.test.d.ts.map +0 -1
  378. package/dist/lib/review-orchestrator.test.js +0 -552
  379. package/dist/lib/review-orchestrator.test.js.map +0 -1
  380. package/dist/lib/review-output-path.test.d.ts +0 -2
  381. package/dist/lib/review-output-path.test.d.ts.map +0 -1
  382. package/dist/lib/review-output-path.test.js +0 -83
  383. package/dist/lib/review-output-path.test.js.map +0 -1
  384. package/dist/lib/review-parser.test.d.ts +0 -2
  385. package/dist/lib/review-parser.test.d.ts.map +0 -1
  386. package/dist/lib/review-parser.test.js +0 -130
  387. package/dist/lib/review-parser.test.js.map +0 -1
  388. package/dist/lib/review-usage.test.d.ts +0 -2
  389. package/dist/lib/review-usage.test.d.ts.map +0 -1
  390. package/dist/lib/review-usage.test.js +0 -83
  391. package/dist/lib/review-usage.test.js.map +0 -1
  392. package/dist/lib/unified-review-executor.d.ts +0 -58
  393. package/dist/lib/unified-review-executor.d.ts.map +0 -1
  394. package/dist/lib/unified-review-executor.js +0 -201
  395. package/dist/lib/unified-review-executor.js.map +0 -1
  396. package/dist/lib/unified-review-executor.test.d.ts +0 -5
  397. package/dist/lib/unified-review-executor.test.d.ts.map +0 -1
  398. package/dist/lib/unified-review-executor.test.js +0 -472
  399. package/dist/lib/unified-review-executor.test.js.map +0 -1
  400. package/dist/lib/write-json-output.test.d.ts +0 -2
  401. package/dist/lib/write-json-output.test.d.ts.map +0 -1
  402. package/dist/lib/write-json-output.test.js +0 -259
  403. package/dist/lib/write-json-output.test.js.map +0 -1
  404. package/dist/pi/sdk.test.d.ts +0 -2
  405. package/dist/pi/sdk.test.d.ts.map +0 -1
  406. package/dist/pi/sdk.test.js +0 -488
  407. package/dist/pi/sdk.test.js.map +0 -1
  408. package/dist/runtime/agent-loader.test.d.ts +0 -2
  409. package/dist/runtime/agent-loader.test.d.ts.map +0 -1
  410. package/dist/runtime/agent-loader.test.js +0 -277
  411. package/dist/runtime/agent-loader.test.js.map +0 -1
  412. package/dist/runtime/client.test.d.ts +0 -2
  413. package/dist/runtime/client.test.d.ts.map +0 -1
  414. package/dist/runtime/client.test.js +0 -772
  415. package/dist/runtime/client.test.js.map +0 -1
  416. package/dist/runtime/path-config.test.d.ts +0 -2
  417. package/dist/runtime/path-config.test.d.ts.map +0 -1
  418. package/dist/runtime/path-config.test.js +0 -112
  419. package/dist/runtime/path-config.test.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activities.js","sourceRoot":"","sources":["../../src/temporal/activities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DRSConfig } from '../lib/config.js';
2
+ import type { TemporalConfig } from './types.js';
3
+ export declare function resolveTemporalConfig(config: DRSConfig): TemporalConfig;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/temporal/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAajD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CA4BvE"}
@@ -0,0 +1,36 @@
1
+ const DEFAULT_TEMPORAL_CONFIG = {
2
+ address: 'localhost:7233',
3
+ namespace: 'default',
4
+ taskQueue: 'drs-workflows',
5
+ workflowIdPrefix: 'drs',
6
+ workspace: {
7
+ mode: 'local',
8
+ root: '/tmp/drs-temporal-workspaces',
9
+ },
10
+ };
11
+ export function resolveTemporalConfig(config) {
12
+ const configured = config.temporal ?? {};
13
+ const configuredWorkspace = configured.workspace ?? {};
14
+ const envMode = process.env.DRS_TEMPORAL_WORKSPACE_MODE;
15
+ const mode = envMode === 'managed' || envMode === 'local' ? envMode : configuredWorkspace.mode;
16
+ return {
17
+ ...DEFAULT_TEMPORAL_CONFIG,
18
+ ...configured,
19
+ address: process.env.DRS_TEMPORAL_ADDRESS ?? configured.address ?? DEFAULT_TEMPORAL_CONFIG.address,
20
+ namespace: process.env.DRS_TEMPORAL_NAMESPACE ??
21
+ configured.namespace ??
22
+ DEFAULT_TEMPORAL_CONFIG.namespace,
23
+ taskQueue: process.env.DRS_TEMPORAL_TASK_QUEUE ??
24
+ configured.taskQueue ??
25
+ DEFAULT_TEMPORAL_CONFIG.taskQueue,
26
+ workspace: {
27
+ ...DEFAULT_TEMPORAL_CONFIG.workspace,
28
+ ...configuredWorkspace,
29
+ ...(mode ? { mode } : {}),
30
+ ...(process.env.DRS_TEMPORAL_WORKSPACE_ROOT
31
+ ? { root: process.env.DRS_TEMPORAL_WORKSPACE_ROOT }
32
+ : {}),
33
+ },
34
+ };
35
+ }
36
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/temporal/config.ts"],"names":[],"mappings":"AAGA,MAAM,uBAAuB,GAAmB;IAC9C,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,KAAK;IACvB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,8BAA8B;KACrC;CACF,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;IAE/F,OAAO;QACL,GAAG,uBAAuB;QAC1B,GAAG,UAAU;QACb,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,UAAU,CAAC,OAAO,IAAI,uBAAuB,CAAC,OAAO;QAC3F,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,sBAAsB;YAClC,UAAU,CAAC,SAAS;YACpB,uBAAuB,CAAC,SAAS;QACnC,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,uBAAuB;YACnC,UAAU,CAAC,SAAS;YACpB,uBAAuB,CAAC,SAAS;QACnC,SAAS,EAAE;YACT,GAAG,uBAAuB,CAAC,SAAS;YACpC,GAAG,mBAAmB;YACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B;gBACzC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DRSConfig } from '../lib/config.js';
2
+ import type { WorkflowExecutor } from '../lib/workflow/executor.js';
3
+ import type { WorkflowRunOptions, WorkflowRunResult } from '../lib/workflow/types.js';
4
+ export declare class TemporalWorkflowExecutor implements WorkflowExecutor {
5
+ run(config: DRSConfig, workflowName: string, options?: WorkflowRunOptions): Promise<WorkflowRunResult>;
6
+ }
7
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/temporal/executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAkLtF,qBAAa,wBAAyB,YAAW,gBAAgB;IACzD,GAAG,CACP,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;CA2H9B"}
@@ -0,0 +1,233 @@
1
+ import { mkdir, readFile, writeFile } from 'fs/promises';
2
+ import { dirname } from 'path';
3
+ import { Connection, Client, WorkflowExecutionAlreadyStartedError } from '@temporalio/client';
4
+ import chalk from 'chalk';
5
+ import simpleGit from 'simple-git';
6
+ import { getLogger } from '../lib/logger.js';
7
+ import { resolveWithinWorkingDir } from '../lib/path-utils.js';
8
+ import { saveWorkflowArtifact } from '../lib/workflow-artifacts.js';
9
+ import { compileWorkflowPlan } from '../lib/workflow/compiled-plan.js';
10
+ import { normalizeWorkflowBooleanLike } from '../lib/workflow/planning.js';
11
+ import { resolveTemporalConfig } from './config.js';
12
+ import { deriveTemporalWorkflowId } from './workflow-id.js';
13
+ async function writeWorkflowFile(workingDir, outputPath, content) {
14
+ const resolved = resolveWithinWorkingDir(workingDir, outputPath, 'write');
15
+ await mkdir(dirname(resolved), { recursive: true });
16
+ await writeFile(resolved, content, 'utf-8');
17
+ }
18
+ function formatWorkflowJson(result) {
19
+ return JSON.stringify(result, null, 2);
20
+ }
21
+ async function saveTemporalWorkflowTrace(workingDir, workflowName, startedAt, result, temporal, handle, options) {
22
+ const saved = await saveWorkflowArtifact(workingDir, {
23
+ kind: 'trace',
24
+ scope: {
25
+ platform: 'temporal',
26
+ projectId: workflowName,
27
+ subject: 'workflow',
28
+ },
29
+ payload: {
30
+ schemaVersion: 1,
31
+ executor: 'temporal',
32
+ workflowName,
33
+ temporal: {
34
+ workflowId: handle.workflowId,
35
+ runId: handle.firstExecutionRunId,
36
+ namespace: temporal.namespace,
37
+ taskQueue: temporal.taskQueue,
38
+ },
39
+ startedAt,
40
+ completedAt: new Date().toISOString(),
41
+ inputs: result.inputs,
42
+ nodes: result.nodes,
43
+ artifacts: result.artifacts,
44
+ loop: result.loop,
45
+ output: result.output,
46
+ },
47
+ });
48
+ if (!options.jsonOutput) {
49
+ console.log(chalk.green(`\n✓ Temporal trace saved to ${saved.latestPath}`));
50
+ }
51
+ }
52
+ function validateResolvedWorkflowInput(key, input, value) {
53
+ if (input.required === true && value.trim() === '') {
54
+ throw new Error(`Workflow input "${key}" is required.`);
55
+ }
56
+ if (input.type === 'boolean') {
57
+ if (normalizeWorkflowBooleanLike(value) === undefined) {
58
+ throw new Error(`Workflow input "${key}" must be a boolean value.`);
59
+ }
60
+ return;
61
+ }
62
+ if (input.type === 'number') {
63
+ if (value.trim() === '' || !Number.isFinite(Number(value))) {
64
+ throw new Error(`Workflow input "${key}" must be a number.`);
65
+ }
66
+ return;
67
+ }
68
+ if (input.type === 'enum') {
69
+ const allowedValues = input.values?.map(String) ?? [];
70
+ if (allowedValues.length === 0) {
71
+ throw new Error(`Workflow input "${key}" with type enum must define values.`);
72
+ }
73
+ if (!allowedValues.includes(value)) {
74
+ throw new Error(`Workflow input "${key}" must be one of: ${allowedValues.join(', ')}.`);
75
+ }
76
+ return;
77
+ }
78
+ if (input.type !== 'string') {
79
+ throw new Error(`Workflow input "${key}" has unsupported type "${input.type}".`);
80
+ }
81
+ }
82
+ async function resolveManagedWorkspaceInput(workingDir, temporal) {
83
+ if (temporal.workspace.mode !== 'managed') {
84
+ return undefined;
85
+ }
86
+ const git = simpleGit(workingDir);
87
+ const configuredRepoUrl = process.env.DRS_TEMPORAL_WORKSPACE_REPO_URL;
88
+ const repoUrl = configuredRepoUrl ?? String(await git.remote(['get-url', 'origin']));
89
+ const ref = process.env.DRS_TEMPORAL_WORKSPACE_REF ?? (await git.revparse(['HEAD']));
90
+ return {
91
+ mode: 'managed',
92
+ root: temporal.workspace.root,
93
+ repoUrl: repoUrl.trim(),
94
+ ref: ref.trim(),
95
+ };
96
+ }
97
+ async function resolveCompiledPlanInputs(inputs, options, workingDir) {
98
+ const values = {};
99
+ for (const [key, input] of Object.entries(inputs)) {
100
+ const hasValue = input.value !== undefined || input.default !== undefined;
101
+ const hasFile = input.file !== undefined;
102
+ if (hasValue && hasFile) {
103
+ throw new Error(`Workflow input "${key}" cannot define both value/default and file.`);
104
+ }
105
+ if (hasValue) {
106
+ values[key] = String(input.value ?? input.default ?? '');
107
+ }
108
+ else if (hasFile) {
109
+ const inputPath = resolveWithinWorkingDir(workingDir, input.file ?? '', 'read');
110
+ values[key] = await readFile(inputPath, 'utf-8');
111
+ }
112
+ else {
113
+ values[key] = '';
114
+ }
115
+ }
116
+ for (const [key, value] of Object.entries(options.inputs ?? {})) {
117
+ values[key] = value;
118
+ }
119
+ for (const [key, filePath] of Object.entries(options.inputFiles ?? {})) {
120
+ const resolvedPath = resolveWithinWorkingDir(workingDir, filePath, 'read');
121
+ values[key] = await readFile(resolvedPath, 'utf-8');
122
+ }
123
+ for (const [key, input] of Object.entries(inputs)) {
124
+ validateResolvedWorkflowInput(key, input, values[key] ?? '');
125
+ }
126
+ return values;
127
+ }
128
+ export class TemporalWorkflowExecutor {
129
+ async run(config, workflowName, options = {}) {
130
+ const workingDir = options.workingDir ?? process.cwd();
131
+ const temporal = resolveTemporalConfig(config);
132
+ const plan = compileWorkflowPlan(config, workflowName, { workingDir });
133
+ const inputs = await resolveCompiledPlanInputs(plan.inputs, options, workingDir);
134
+ const logger = getLogger();
135
+ const startedAt = new Date().toISOString();
136
+ const connection = await Connection.connect({ address: temporal.address });
137
+ try {
138
+ const client = new Client({ connection, namespace: temporal.namespace });
139
+ const workflowId = options.workflowId ??
140
+ deriveTemporalWorkflowId(temporal.workflowIdPrefix, workflowName, inputs);
141
+ const workspace = await resolveManagedWorkspaceInput(workingDir, temporal);
142
+ const workflowInput = {
143
+ plan,
144
+ inputs,
145
+ workingDir,
146
+ options: {
147
+ debug: options.debug,
148
+ thinkingLevel: options.thinkingLevel,
149
+ },
150
+ ...(workspace ? { workspace } : {}),
151
+ };
152
+ let handle;
153
+ let isDuplicate = false;
154
+ try {
155
+ handle = await client.workflow.start('drsWorkflow', {
156
+ taskQueue: temporal.taskQueue,
157
+ workflowId,
158
+ args: [workflowInput],
159
+ });
160
+ }
161
+ catch (error) {
162
+ if (error instanceof WorkflowExecutionAlreadyStartedError) {
163
+ isDuplicate = true;
164
+ handle = client.workflow.getHandle(workflowId);
165
+ logger.debug('Temporal workflow already running — joining existing run', {
166
+ component: 'temporal-executor',
167
+ workflow: workflowName,
168
+ workflowId,
169
+ namespace: temporal.namespace,
170
+ taskQueue: temporal.taskQueue,
171
+ });
172
+ }
173
+ else {
174
+ throw error;
175
+ }
176
+ }
177
+ const runId = handle.firstExecutionRunId ?? '';
178
+ const logContext = {
179
+ component: 'temporal-executor',
180
+ workflow: workflowName,
181
+ workflowId: handle.workflowId,
182
+ runId,
183
+ namespace: temporal.namespace,
184
+ taskQueue: temporal.taskQueue,
185
+ ...(isDuplicate ? { duplicate: true } : {}),
186
+ };
187
+ logger.debug(isDuplicate ? 'Temporal workflow already running' : 'Temporal workflow started', logContext);
188
+ if (options.wait === false) {
189
+ const result = {
190
+ timestamp: new Date().toISOString(),
191
+ workflow: workflowName,
192
+ inputs,
193
+ nodes: {},
194
+ artifacts: {},
195
+ loop: {},
196
+ output: {
197
+ workflowId: handle.workflowId,
198
+ runId,
199
+ },
200
+ };
201
+ if (options.jsonOutput) {
202
+ console.log(formatWorkflowJson(result));
203
+ }
204
+ else {
205
+ console.log(`Temporal workflow ${isDuplicate ? 'already running' : 'started'}: ${handle.workflowId}${runId ? ` (run ${runId})` : ''}`);
206
+ }
207
+ return result;
208
+ }
209
+ const result = await handle.result();
210
+ logger.debug('Temporal workflow completed', logContext);
211
+ if (options.trace) {
212
+ await saveTemporalWorkflowTrace(workingDir, workflowName, startedAt, result, temporal, { workflowId: handle.workflowId, firstExecutionRunId: runId }, options);
213
+ }
214
+ if (options.outputPath) {
215
+ await writeWorkflowFile(workingDir, options.outputPath, formatWorkflowJson(result));
216
+ if (!options.jsonOutput) {
217
+ console.log(chalk.green(`\n✓ Workflow output saved to ${options.outputPath}`));
218
+ }
219
+ }
220
+ if (options.jsonOutput) {
221
+ console.log(formatWorkflowJson(result));
222
+ }
223
+ else if (typeof result.output === 'string' && result.output.trim()) {
224
+ console.log(`\n${result.output}`);
225
+ }
226
+ return result;
227
+ }
228
+ finally {
229
+ await connection.close();
230
+ }
231
+ }
232
+ }
233
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/temporal/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAA8B,MAAM,kCAAkC,CAAC;AAEnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,KAAK,UAAU,iBAAiB,CAC9B,UAAkB,EAClB,UAAkB,EAClB,OAAe;IAEf,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAyB;IACnD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAqBD,KAAK,UAAU,yBAAyB,CACtC,UAAkB,EAClB,YAAoB,EACpB,SAAiB,EACjB,MAAyB,EACzB,QAAkD,EAClD,MAA2D,EAC3D,OAA2B;IAE3B,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAA+B,UAAU,EAAE;QACjF,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,UAAU;SACpB;QACD,OAAO,EAAE;YACP,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,UAAU;YACpB,YAAY;YACZ,QAAQ,EAAE;gBACR,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,mBAAmB;gBACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B;YACD,SAAS;YACT,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACpC,GAAW,EACX,KAA4B,EAC5B,KAAa;IAEb,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,4BAA4B,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,4BAA4B,CAAC,CAAC;QACtE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,sCAAsC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,2BAA2B,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,UAAkB,EAClB,QAAkD;IAElD,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC;IACtE,MAAM,OAAO,GAAG,iBAAiB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAErF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI;QAC7B,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;QACvB,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;KAChB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,MAA6C,EAC7C,OAA2B,EAC3B,UAAkB;IAElB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC;QAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;QACzC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,8CAA8C,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAChF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,YAAY,GAAG,uBAAuB,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,OAAO,wBAAwB;IACnC,KAAK,CAAC,GAAG,CACP,MAAiB,EACjB,YAAoB,EACpB,UAA8B,EAAE;QAEhC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YACzE,MAAM,UAAU,GACd,OAAO,CAAC,UAAU;gBAClB,wBAAwB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YAC5E,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC3E,MAAM,aAAa,GAA0B;gBAC3C,IAAI;gBACJ,MAAM;gBACN,UAAU;gBACV,OAAO,EAAE;oBACP,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,aAAa,EAAE,OAAO,CAAC,aAAa;iBACrC;gBACD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC;YAEF,IAAI,MAAyD,CAAC;YAC9D,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;oBAClD,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,UAAU;oBACV,IAAI,EAAE,CAAC,aAAa,CAAC;iBACtB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,oCAAoC,EAAE,CAAC;oBAC1D,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAE5C,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE;wBACvE,SAAS,EAAE,mBAAmB;wBAC9B,QAAQ,EAAE,YAAY;wBACtB,UAAU;wBACV,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;qBAC9B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG;gBACjB,SAAS,EAAE,mBAAmB;gBAC9B,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK;gBACL,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,CAAC;YAEF,MAAM,CAAC,KAAK,CACV,WAAW,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,2BAA2B,EAC/E,UAAU,CACX,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAsB;oBAChC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,YAAY;oBACtB,MAAM;oBACN,KAAK,EAAE,EAAE;oBACT,SAAS,EAAE,EAAE;oBACb,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE;wBACN,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,KAAK;qBACN;iBACF,CAAC;gBACF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CACT,qBAAqB,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1H,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;YAExD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,yBAAyB,CAC7B,UAAU,EACV,YAAY,EACZ,SAAS,EACT,MAAM,EACN,QAAQ,EACR,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAC7D,OAAO,CACR,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import type { WorkflowNodeConfig } from '../lib/config.js';
2
+ import type { RetryPolicy } from '@temporalio/common';
3
+ export type TemporalNodeRetryMode = 'retryable' | 'no-retry';
4
+ export declare const TEMPORAL_NO_RETRY_ACTIONS: Set<NonNullable<"write" | "git-diff" | "git-add" | "git-branch" | "git-commit" | "git-push" | "has-diff" | "stack-guard" | "review-threshold" | "save-artifact" | "load-artifact" | "artifact-exists" | "create-review-artifact" | "review-artifact-status" | "review-artifact-add-finding" | "review-artifact-update-findings" | "verify-fix" | "review-artifact-promote-finding" | "review-artifact-resolve-finding" | "create-change-request" | "create-pr" | "create-mr" | "change-source" | "review" | "review-context" | "describe" | "code-quality-report" | "post-comment" | "post-review-comments" | "post-fix-status" | undefined>>;
5
+ /**
6
+ * Retry policy for retryable DRS workflow activities (read-only actions and
7
+ * non-writing agent nodes).
8
+ *
9
+ * Temporal's default activity retry is effectively unlimited
10
+ * (`maximumAttempts: Infinity`) with exponential backoff. Without an explicit
11
+ * cap, a transiently failing activity (model 5xx, rate limit, network blip)
12
+ * can retry for a very long time. This policy bounds retries so a persistently
13
+ * failing activity fails the workflow in minutes rather than hours or days.
14
+ *
15
+ * - `maximumAttempts: 5` — enough to ride out transient failures, bounded.
16
+ * - `initialInterval: 1s` with `backoffCoefficient: 2` — standard exponential
17
+ * backoff (1s, 2s, 4s, 8s between attempts).
18
+ * - `maximumInterval: 1 minute` — caps backoff growth so later retries don't
19
+ * stall for too long.
20
+ * - `nonRetryableErrorTypes: ['NonRetryableProviderFailure']` —
21
+ * defense-in-depth: provider quota/auth failures are already converted to
22
+ * `ApplicationFailure.nonRetryable` in the activity, but listing the type
23
+ * here ensures Temporal never retries them even if the non-retryable flag
24
+ * is lost in serialization.
25
+ */
26
+ export declare const TEMPORAL_RETRYABLE_ACTIVITY_POLICY: RetryPolicy;
27
+ export declare function getTemporalNodeRetryMode(node: WorkflowNodeConfig): TemporalNodeRetryMode;
28
+ //# sourceMappingURL=retry-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-policy.d.ts","sourceRoot":"","sources":["../../src/temporal/retry-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7D,eAAO,MAAM,yBAAyB,+mBAiBpC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kCAAkC,EAAE,WAMhD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,GAAG,qBAAqB,CAUxF"}
@@ -0,0 +1,56 @@
1
+ export const TEMPORAL_NO_RETRY_ACTIONS = new Set([
2
+ 'write',
3
+ 'git-add',
4
+ 'git-branch',
5
+ 'git-commit',
6
+ 'git-push',
7
+ 'save-artifact',
8
+ 'review-artifact-add-finding',
9
+ 'review-artifact-update-findings',
10
+ 'review-artifact-promote-finding',
11
+ 'review-artifact-resolve-finding',
12
+ 'create-change-request',
13
+ 'create-pr',
14
+ 'create-mr',
15
+ 'post-comment',
16
+ 'post-review-comments',
17
+ 'post-fix-status',
18
+ ]);
19
+ /**
20
+ * Retry policy for retryable DRS workflow activities (read-only actions and
21
+ * non-writing agent nodes).
22
+ *
23
+ * Temporal's default activity retry is effectively unlimited
24
+ * (`maximumAttempts: Infinity`) with exponential backoff. Without an explicit
25
+ * cap, a transiently failing activity (model 5xx, rate limit, network blip)
26
+ * can retry for a very long time. This policy bounds retries so a persistently
27
+ * failing activity fails the workflow in minutes rather than hours or days.
28
+ *
29
+ * - `maximumAttempts: 5` — enough to ride out transient failures, bounded.
30
+ * - `initialInterval: 1s` with `backoffCoefficient: 2` — standard exponential
31
+ * backoff (1s, 2s, 4s, 8s between attempts).
32
+ * - `maximumInterval: 1 minute` — caps backoff growth so later retries don't
33
+ * stall for too long.
34
+ * - `nonRetryableErrorTypes: ['NonRetryableProviderFailure']` —
35
+ * defense-in-depth: provider quota/auth failures are already converted to
36
+ * `ApplicationFailure.nonRetryable` in the activity, but listing the type
37
+ * here ensures Temporal never retries them even if the non-retryable flag
38
+ * is lost in serialization.
39
+ */
40
+ export const TEMPORAL_RETRYABLE_ACTIVITY_POLICY = {
41
+ maximumAttempts: 5,
42
+ initialInterval: '1 second',
43
+ backoffCoefficient: 2,
44
+ maximumInterval: '1 minute',
45
+ nonRetryableErrorTypes: ['NonRetryableProviderFailure'],
46
+ };
47
+ export function getTemporalNodeRetryMode(node) {
48
+ if (node.action && TEMPORAL_NO_RETRY_ACTIONS.has(node.action)) {
49
+ return 'no-retry';
50
+ }
51
+ if ((node.agent || node.agentsFrom) && node.writes) {
52
+ return 'no-retry';
53
+ }
54
+ return 'retryable';
55
+ }
56
+ //# sourceMappingURL=retry-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-policy.js","sourceRoot":"","sources":["../../src/temporal/retry-policy.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAA4C;IAC1F,OAAO;IACP,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,eAAe;IACf,6BAA6B;IAC7B,iCAAiC;IACjC,iCAAiC;IACjC,iCAAiC;IACjC,uBAAuB;IACvB,WAAW;IACX,WAAW;IACX,cAAc;IACd,sBAAsB;IACtB,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAgB;IAC7D,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,UAAU;IAC3B,kBAAkB,EAAE,CAAC;IACrB,eAAe,EAAE,UAAU;IAC3B,sBAAsB,EAAE,CAAC,6BAA6B,CAAC;CACxD,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,IAAwB;IAC/D,IAAI,IAAI,CAAC,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,86 @@
1
+ import type { WorkflowNodeConfig } from '../lib/config.js';
2
+ import type { CompiledWorkflowPlan } from '../lib/workflow/compiled-plan.js';
3
+ import type { WorkflowRunOptions, WorkflowRunResult, WorkflowTemplateContext, WorkflowActivityIdempotencyContext } from '../lib/workflow/types.js';
4
+ import type { TemporalArtifactRef } from '../lib/workflow/artifact-store.js';
5
+ export interface TemporalConfig {
6
+ address: string;
7
+ namespace: string;
8
+ taskQueue: string;
9
+ workflowIdPrefix: string;
10
+ workspace: TemporalWorkspaceConfig;
11
+ }
12
+ export interface TemporalWorkspaceConfig {
13
+ mode: 'local' | 'managed';
14
+ root: string;
15
+ }
16
+ export interface TemporalManagedWorkspaceInput {
17
+ mode: 'managed';
18
+ root: string;
19
+ repoUrl: string;
20
+ ref: string;
21
+ }
22
+ export interface TemporalWorkflowInput {
23
+ plan: CompiledWorkflowPlan;
24
+ inputs: Record<string, string>;
25
+ workingDir: string;
26
+ options?: Pick<WorkflowRunOptions, 'debug' | 'thinkingLevel'>;
27
+ workspace?: TemporalManagedWorkspaceInput;
28
+ }
29
+ export interface PrepareWorkspaceActivityInput {
30
+ workspace: TemporalManagedWorkspaceInput;
31
+ workflowId: string;
32
+ runId: string;
33
+ }
34
+ export interface PrepareWorkspaceActivityResult {
35
+ workingDir: string;
36
+ }
37
+ export interface ResolveArtifactRefsActivityInput {
38
+ workingDir: string;
39
+ refs: Record<string, TemporalArtifactRef>;
40
+ }
41
+ export type ActivityIdempotencyContext = WorkflowActivityIdempotencyContext;
42
+ export type ScheduledActivityIdempotencyContext = Omit<ActivityIdempotencyContext, 'attempt'> & {
43
+ attempt?: number;
44
+ };
45
+ export interface RunWorkflowNodeActivityInput {
46
+ workingDir: string;
47
+ nodeId: string;
48
+ node: WorkflowNodeConfig;
49
+ context: WorkflowTemplateContext;
50
+ options?: Pick<WorkflowRunOptions, 'debug' | 'thinkingLevel'>;
51
+ idempotencyContext?: ScheduledActivityIdempotencyContext;
52
+ /**
53
+ * When true, the activity constructs a LocalWorkflowArtifactStore for the
54
+ * worker's working directory and offloads large node outputs as refs so
55
+ * they stay out of Temporal event history.
56
+ */
57
+ offloadArtifacts?: boolean;
58
+ /**
59
+ * Inline size threshold in bytes. Values larger than this become refs when
60
+ * offloadArtifacts is true. Defaults to 64KB.
61
+ */
62
+ artifactInlineMaxBytes?: number;
63
+ }
64
+ export type TemporalWorkflowNodeQueryStatus = 'pending' | 'running' | 'success' | 'skipped';
65
+ export interface TemporalWorkflowNodeStatusSnapshot {
66
+ id: string;
67
+ status: TemporalWorkflowNodeQueryStatus;
68
+ action?: string;
69
+ agent?: string;
70
+ control?: string;
71
+ }
72
+ export interface TemporalWorkflowStatusQueryResult {
73
+ workflow: string;
74
+ workflowId: string;
75
+ runId: string;
76
+ cancelled: boolean;
77
+ nodes: Record<string, TemporalWorkflowNodeStatusSnapshot>;
78
+ runningNodeIds: string[];
79
+ completedNodeIds: string[];
80
+ }
81
+ export interface TemporalWorkflowArtifactsQueryResult {
82
+ artifactKeys: string[];
83
+ artifactRefs: Record<string, TemporalArtifactRef>;
84
+ }
85
+ export type TemporalWorkflowResult = WorkflowRunResult;
86
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/temporal/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/temporal/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { DRSConfig } from '../lib/config.js';
2
+ export declare function runTemporalWorker(config: DRSConfig): Promise<void>;
3
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/temporal/worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE"}
@@ -0,0 +1,18 @@
1
+ import { fileURLToPath } from 'url';
2
+ import { Worker, NativeConnection } from '@temporalio/worker';
3
+ import { resolveTemporalConfig } from './config.js';
4
+ import * as activities from './activities.js';
5
+ export async function runTemporalWorker(config) {
6
+ const temporal = resolveTemporalConfig(config);
7
+ const workflowModule = import.meta.url.endsWith('.ts') ? './workflows.ts' : './workflows.js';
8
+ const connection = await NativeConnection.connect({ address: temporal.address });
9
+ const worker = await Worker.create({
10
+ connection,
11
+ namespace: temporal.namespace,
12
+ taskQueue: temporal.taskQueue,
13
+ workflowsPath: fileURLToPath(new URL(workflowModule, import.meta.url)),
14
+ activities,
15
+ });
16
+ await worker.run();
17
+ }
18
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/temporal/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAiB;IACvD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC7F,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QACjC,UAAU;QACV,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtE,UAAU;KACX,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Derive a deterministic Temporal workflow ID from the workflow name and
3
+ * resolved inputs.
4
+ *
5
+ * DRS workflows are triggered by external events whose identity is stable
6
+ * across re-deliveries (a webhook retried, a scheduler replay, a service
7
+ * restart). A deterministic workflow ID lets Temporal's built-in workflow-ID
8
+ * uniqueness deduplicate repeated triggers instead of scheduling duplicate
9
+ * work.
10
+ *
11
+ * Recognized trigger patterns (based on the standard DRS workflow inputs):
12
+ *
13
+ * - **GitHub PR** — inputs contain `owner`, `repo`, and `pr`:
14
+ * `{prefix}-{workflowName}-gh-{owner}-{repo}-pr-{pr}`
15
+ * - **GitLab MR** — inputs contain `project` and `mr`:
16
+ * `{prefix}-{workflowName}-gl-{project}-mr-{mr}`
17
+ *
18
+ * Workflows without a recognized external trigger identity (e.g. `local-review`,
19
+ * one-off CLI runs, smoke tests) fall back to a random UUID suffix so each
20
+ * dispatch is a fresh run — exactly the behavior expected for unique work.
21
+ *
22
+ * Callers that need full control (a service layer with a custom trigger
23
+ * identity) can bypass this helper by passing an explicit `workflowId` in
24
+ * {@link WorkflowRunOptions}.
25
+ */
26
+ export declare function deriveTemporalWorkflowId(prefix: string, workflowName: string, inputs: Record<string, string>): string;
27
+ //# sourceMappingURL=workflow-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-id.d.ts","sourceRoot":"","sources":["../../src/temporal/workflow-id.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAoBR"}