@xoxoai/checkmate 0.6.7 → 0.7.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 (382) hide show
  1. package/dist/checkmate.js +13375 -0
  2. package/package.json +14 -100
  3. package/plugin/.claude-plugin/plugin.json +10 -0
  4. package/plugin/bin/checkmate.ts +3 -0
  5. package/plugin/contracts/finding.schema.json +78 -0
  6. package/plugin/contracts/gap.schema.json +56 -0
  7. package/plugin/contracts/plan-candidate.schema.json +103 -0
  8. package/plugin/contracts/plan-delta.schema.json +63 -0
  9. package/plugin/contracts/plan-patch.schema.json +116 -0
  10. package/plugin/contracts/plan-request.schema.json +108 -0
  11. package/plugin/contracts/plan.schema.json +313 -0
  12. package/plugin/contracts/profile.schema.json +154 -0
  13. package/plugin/contracts/response.schema.json +25 -0
  14. package/plugin/contracts/result.schema.json +410 -0
  15. package/plugin/dist/checkmate.js +13012 -0
  16. package/plugin/package.json +4 -0
  17. package/plugin/references/browser.md +35 -0
  18. package/plugin/references/http.md +30 -0
  19. package/plugin/references/workflow.md +122 -0
  20. package/plugin/skills/execute/SKILL.md +92 -0
  21. package/plugin/skills/plan/SKILL.md +94 -0
  22. package/plugin/skills/report/SKILL.md +28 -0
  23. package/plugin/skills/revise/SKILL.md +43 -0
  24. package/plugin/skills/setup/SKILL.md +82 -0
  25. package/plugin/skills/status/SKILL.md +20 -0
  26. package/plugin/skills/ui/SKILL.md +26 -0
  27. package/plugin/src/actor.ts +21 -0
  28. package/plugin/src/cli.ts +1133 -0
  29. package/plugin/src/contracts.ts +342 -0
  30. package/plugin/src/index.ts +52 -0
  31. package/plugin/src/plans.ts +1028 -0
  32. package/plugin/src/render.ts +544 -0
  33. package/plugin/src/runs.ts +868 -0
  34. package/plugin/src/store.ts +384 -0
  35. package/plugin/src/targets.ts +205 -0
  36. package/plugin/src/types.ts +319 -0
  37. package/plugin/src/ui/assets/client.js +501 -0
  38. package/plugin/src/ui/assets/favicon.svg +1 -0
  39. package/plugin/src/ui/assets/fonts/inter-OFL.txt +93 -0
  40. package/plugin/src/ui/assets/fonts/inter.woff2 +0 -0
  41. package/plugin/src/ui/assets/fonts/jetbrains-mono-OFL.txt +93 -0
  42. package/plugin/src/ui/assets/fonts/jetbrains-mono.woff2 +0 -0
  43. package/plugin/src/ui/assets/fonts/space-grotesk-OFL.txt +93 -0
  44. package/plugin/src/ui/assets/fonts/space-grotesk.woff2 +0 -0
  45. package/plugin/src/ui/assets/style.css +1926 -0
  46. package/plugin/src/ui/edit.ts +305 -0
  47. package/plugin/src/ui/forms.ts +209 -0
  48. package/plugin/src/ui/html.ts +130 -0
  49. package/plugin/src/ui/layout.ts +198 -0
  50. package/plugin/src/ui/lists.ts +645 -0
  51. package/plugin/src/ui/plan.ts +577 -0
  52. package/plugin/src/ui/run.ts +489 -0
  53. package/plugin/src/ui/server.ts +684 -0
  54. package/plugin/src/validators.d.ts +13 -0
  55. package/plugin/src/validators.js +1 -0
  56. package/plugin/src/views.ts +839 -0
  57. package/LICENSE +0 -21
  58. package/README.md +0 -294
  59. package/bin/checkmate.js +0 -13
  60. package/dist/ai/client.d.ts +0 -64
  61. package/dist/ai/client.d.ts.map +0 -1
  62. package/dist/ai/client.js +0 -313
  63. package/dist/ai/client.js.map +0 -1
  64. package/dist/ai/message-handler.d.ts +0 -9
  65. package/dist/ai/message-handler.d.ts.map +0 -1
  66. package/dist/ai/message-handler.js +0 -50
  67. package/dist/ai/message-handler.js.map +0 -1
  68. package/dist/ai/message-history.d.ts +0 -17
  69. package/dist/ai/message-history.d.ts.map +0 -1
  70. package/dist/ai/message-history.js +0 -45
  71. package/dist/ai/message-history.js.map +0 -1
  72. package/dist/ai/prompts.d.ts +0 -4
  73. package/dist/ai/prompts.d.ts.map +0 -1
  74. package/dist/ai/prompts.js +0 -24
  75. package/dist/ai/prompts.js.map +0 -1
  76. package/dist/ai/rate-limit-policy.d.ts +0 -9
  77. package/dist/ai/rate-limit-policy.d.ts.map +0 -1
  78. package/dist/ai/rate-limit-policy.js +0 -34
  79. package/dist/ai/rate-limit-policy.js.map +0 -1
  80. package/dist/ai/tool-response-handler.d.ts +0 -16
  81. package/dist/ai/tool-response-handler.d.ts.map +0 -1
  82. package/dist/ai/tool-response-handler.js +0 -85
  83. package/dist/ai/tool-response-handler.js.map +0 -1
  84. package/dist/ai/turn-processor.d.ts +0 -34
  85. package/dist/ai/turn-processor.d.ts.map +0 -1
  86. package/dist/ai/turn-processor.js +0 -107
  87. package/dist/ai/turn-processor.js.map +0 -1
  88. package/dist/api/allocate-run-identity.d.ts +0 -8
  89. package/dist/api/allocate-run-identity.d.ts.map +0 -1
  90. package/dist/api/allocate-run-identity.js +0 -10
  91. package/dist/api/allocate-run-identity.js.map +0 -1
  92. package/dist/api/execute-prepared-run.d.ts +0 -22
  93. package/dist/api/execute-prepared-run.d.ts.map +0 -1
  94. package/dist/api/execute-prepared-run.js +0 -184
  95. package/dist/api/execute-prepared-run.js.map +0 -1
  96. package/dist/api/index.d.ts +0 -25
  97. package/dist/api/index.d.ts.map +0 -1
  98. package/dist/api/index.js +0 -69
  99. package/dist/api/index.js.map +0 -1
  100. package/dist/api/prepare-run.d.ts +0 -44
  101. package/dist/api/prepare-run.d.ts.map +0 -1
  102. package/dist/api/prepare-run.js +0 -261
  103. package/dist/api/prepare-run.js.map +0 -1
  104. package/dist/cli/diagnostic-relay.d.ts +0 -6
  105. package/dist/cli/diagnostic-relay.d.ts.map +0 -1
  106. package/dist/cli/diagnostic-relay.js +0 -6
  107. package/dist/cli/diagnostic-relay.js.map +0 -1
  108. package/dist/cli/main.d.ts +0 -21
  109. package/dist/cli/main.d.ts.map +0 -1
  110. package/dist/cli/main.js +0 -166
  111. package/dist/cli/main.js.map +0 -1
  112. package/dist/cli/protocol.d.ts +0 -57
  113. package/dist/cli/protocol.d.ts.map +0 -1
  114. package/dist/cli/protocol.js +0 -116
  115. package/dist/cli/protocol.js.map +0 -1
  116. package/dist/cli/reconcile-result.d.ts +0 -13
  117. package/dist/cli/reconcile-result.d.ts.map +0 -1
  118. package/dist/cli/reconcile-result.js +0 -300
  119. package/dist/cli/reconcile-result.js.map +0 -1
  120. package/dist/cli/run-parent.d.ts +0 -37
  121. package/dist/cli/run-parent.d.ts.map +0 -1
  122. package/dist/cli/run-parent.js +0 -491
  123. package/dist/cli/run-parent.js.map +0 -1
  124. package/dist/cli/signals.d.ts +0 -36
  125. package/dist/cli/signals.d.ts.map +0 -1
  126. package/dist/cli/signals.js +0 -85
  127. package/dist/cli/signals.js.map +0 -1
  128. package/dist/cli/static-commands.d.ts +0 -11
  129. package/dist/cli/static-commands.d.ts.map +0 -1
  130. package/dist/cli/static-commands.js +0 -83
  131. package/dist/cli/static-commands.js.map +0 -1
  132. package/dist/cli/worker-stream-guard.d.ts +0 -20
  133. package/dist/cli/worker-stream-guard.d.ts.map +0 -1
  134. package/dist/cli/worker-stream-guard.js +0 -41
  135. package/dist/cli/worker-stream-guard.js.map +0 -1
  136. package/dist/cli/worker.d.ts +0 -3
  137. package/dist/cli/worker.d.ts.map +0 -1
  138. package/dist/cli/worker.js +0 -111
  139. package/dist/cli/worker.js.map +0 -1
  140. package/dist/config/ingestion.d.ts +0 -58
  141. package/dist/config/ingestion.d.ts.map +0 -1
  142. package/dist/config/ingestion.js +0 -283
  143. package/dist/config/ingestion.js.map +0 -1
  144. package/dist/config/manifest.d.ts +0 -20
  145. package/dist/config/manifest.d.ts.map +0 -1
  146. package/dist/config/manifest.js +0 -91
  147. package/dist/config/manifest.js.map +0 -1
  148. package/dist/config/model-egress.d.ts +0 -10
  149. package/dist/config/model-egress.d.ts.map +0 -1
  150. package/dist/config/model-egress.js +0 -62
  151. package/dist/config/model-egress.js.map +0 -1
  152. package/dist/config/package-resolution.d.ts +0 -4
  153. package/dist/config/package-resolution.d.ts.map +0 -1
  154. package/dist/config/package-resolution.js +0 -24
  155. package/dist/config/package-resolution.js.map +0 -1
  156. package/dist/config/policy.d.ts +0 -44
  157. package/dist/config/policy.d.ts.map +0 -1
  158. package/dist/config/policy.js +0 -141
  159. package/dist/config/policy.js.map +0 -1
  160. package/dist/config/record.d.ts +0 -4
  161. package/dist/config/record.d.ts.map +0 -1
  162. package/dist/config/record.js +0 -10
  163. package/dist/config/record.js.map +0 -1
  164. package/dist/config/secrets.d.ts +0 -11
  165. package/dist/config/secrets.d.ts.map +0 -1
  166. package/dist/config/secrets.js +0 -42
  167. package/dist/config/secrets.js.map +0 -1
  168. package/dist/contracts/diagnostics.d.ts +0 -4
  169. package/dist/contracts/diagnostics.d.ts.map +0 -1
  170. package/dist/contracts/diagnostics.js +0 -31
  171. package/dist/contracts/diagnostics.js.map +0 -1
  172. package/dist/contracts/serialize.d.ts +0 -2
  173. package/dist/contracts/serialize.d.ts.map +0 -1
  174. package/dist/contracts/serialize.js +0 -90
  175. package/dist/contracts/serialize.js.map +0 -1
  176. package/dist/contracts/types.d.ts +0 -316
  177. package/dist/contracts/types.d.ts.map +0 -1
  178. package/dist/contracts/types.js +0 -74
  179. package/dist/contracts/types.js.map +0 -1
  180. package/dist/contracts/validator.d.ts +0 -8
  181. package/dist/contracts/validator.d.ts.map +0 -1
  182. package/dist/contracts/validator.js +0 -71
  183. package/dist/contracts/validator.js.map +0 -1
  184. package/dist/driver.d.ts +0 -97
  185. package/dist/driver.d.ts.map +0 -1
  186. package/dist/driver.js +0 -24
  187. package/dist/driver.js.map +0 -1
  188. package/dist/drivers/descriptor.d.ts +0 -15
  189. package/dist/drivers/descriptor.d.ts.map +0 -1
  190. package/dist/drivers/descriptor.js +0 -122
  191. package/dist/drivers/descriptor.js.map +0 -1
  192. package/dist/drivers/loader.d.ts +0 -18
  193. package/dist/drivers/loader.d.ts.map +0 -1
  194. package/dist/drivers/loader.js +0 -97
  195. package/dist/drivers/loader.js.map +0 -1
  196. package/dist/drivers/web/checkmate-driver.json +0 -47
  197. package/dist/drivers/web/index.d.ts +0 -6
  198. package/dist/drivers/web/index.d.ts.map +0 -1
  199. package/dist/drivers/web/index.js +0 -27
  200. package/dist/drivers/web/index.js.map +0 -1
  201. package/dist/drivers/web/session.d.ts +0 -25
  202. package/dist/drivers/web/session.d.ts.map +0 -1
  203. package/dist/drivers/web/session.js +0 -132
  204. package/dist/drivers/web/session.js.map +0 -1
  205. package/dist/drivers/web/tools/network-request-recorder.d.ts +0 -46
  206. package/dist/drivers/web/tools/network-request-recorder.d.ts.map +0 -1
  207. package/dist/drivers/web/tools/network-request-recorder.js +0 -164
  208. package/dist/drivers/web/tools/network-request-recorder.js.map +0 -1
  209. package/dist/drivers/web/tools/screenshot-service.d.ts +0 -10
  210. package/dist/drivers/web/tools/screenshot-service.d.ts.map +0 -1
  211. package/dist/drivers/web/tools/screenshot-service.js +0 -23
  212. package/dist/drivers/web/tools/screenshot-service.js.map +0 -1
  213. package/dist/drivers/web/tools/snapshot-filter/index.d.ts +0 -4
  214. package/dist/drivers/web/tools/snapshot-filter/index.d.ts.map +0 -1
  215. package/dist/drivers/web/tools/snapshot-filter/index.js +0 -4
  216. package/dist/drivers/web/tools/snapshot-filter/index.js.map +0 -1
  217. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.d.ts +0 -15
  218. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.d.ts.map +0 -1
  219. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.js +0 -99
  220. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.js.map +0 -1
  221. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.d.ts +0 -5
  222. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.d.ts.map +0 -1
  223. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.js +0 -56
  224. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.js.map +0 -1
  225. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.d.ts +0 -3
  226. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.d.ts.map +0 -1
  227. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.js +0 -85
  228. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.js.map +0 -1
  229. package/dist/drivers/web/tools/snapshot-service.d.ts +0 -31
  230. package/dist/drivers/web/tools/snapshot-service.d.ts.map +0 -1
  231. package/dist/drivers/web/tools/snapshot-service.js +0 -96
  232. package/dist/drivers/web/tools/snapshot-service.js.map +0 -1
  233. package/dist/drivers/web/tools/tool.d.ts +0 -76
  234. package/dist/drivers/web/tools/tool.d.ts.map +0 -1
  235. package/dist/drivers/web/tools/tool.js +0 -562
  236. package/dist/drivers/web/tools/tool.js.map +0 -1
  237. package/dist/drivers/web/tools/transient-state-tracker.d.ts +0 -26
  238. package/dist/drivers/web/tools/transient-state-tracker.d.ts.map +0 -1
  239. package/dist/drivers/web/tools/transient-state-tracker.js +0 -301
  240. package/dist/drivers/web/tools/transient-state-tracker.js.map +0 -1
  241. package/dist/drivers/web/tools/types.d.ts +0 -11
  242. package/dist/drivers/web/tools/types.d.ts.map +0 -1
  243. package/dist/drivers/web/tools/types.js +0 -2
  244. package/dist/drivers/web/tools/types.js.map +0 -1
  245. package/dist/evidence/atomic-file.d.ts +0 -23
  246. package/dist/evidence/atomic-file.d.ts.map +0 -1
  247. package/dist/evidence/atomic-file.js +0 -104
  248. package/dist/evidence/atomic-file.js.map +0 -1
  249. package/dist/evidence/layout.d.ts +0 -30
  250. package/dist/evidence/layout.d.ts.map +0 -1
  251. package/dist/evidence/layout.js +0 -152
  252. package/dist/evidence/layout.js.map +0 -1
  253. package/dist/evidence/retention.d.ts +0 -5
  254. package/dist/evidence/retention.d.ts.map +0 -1
  255. package/dist/evidence/retention.js +0 -10
  256. package/dist/evidence/retention.js.map +0 -1
  257. package/dist/evidence/store.d.ts +0 -101
  258. package/dist/evidence/store.d.ts.map +0 -1
  259. package/dist/evidence/store.js +0 -375
  260. package/dist/evidence/store.js.map +0 -1
  261. package/dist/evidence/terminal-finalizer.d.ts +0 -19
  262. package/dist/evidence/terminal-finalizer.d.ts.map +0 -1
  263. package/dist/evidence/terminal-finalizer.js +0 -56
  264. package/dist/evidence/terminal-finalizer.js.map +0 -1
  265. package/dist/index.d.ts +0 -9
  266. package/dist/index.d.ts.map +0 -1
  267. package/dist/index.js +0 -12
  268. package/dist/index.js.map +0 -1
  269. package/dist/logging/invocation-logger.d.ts +0 -4
  270. package/dist/logging/invocation-logger.d.ts.map +0 -1
  271. package/dist/logging/invocation-logger.js +0 -25
  272. package/dist/logging/invocation-logger.js.map +0 -1
  273. package/dist/logging/level-logger.d.ts +0 -11
  274. package/dist/logging/level-logger.d.ts.map +0 -1
  275. package/dist/logging/level-logger.js +0 -82
  276. package/dist/logging/level-logger.js.map +0 -1
  277. package/dist/logging/types.d.ts +0 -8
  278. package/dist/logging/types.d.ts.map +0 -1
  279. package/dist/logging/types.js +0 -7
  280. package/dist/logging/types.js.map +0 -1
  281. package/dist/redaction/diagnostic-sanitizer.d.ts +0 -7
  282. package/dist/redaction/diagnostic-sanitizer.d.ts.map +0 -1
  283. package/dist/redaction/diagnostic-sanitizer.js +0 -42
  284. package/dist/redaction/diagnostic-sanitizer.js.map +0 -1
  285. package/dist/redaction/redactor.d.ts +0 -40
  286. package/dist/redaction/redactor.d.ts.map +0 -1
  287. package/dist/redaction/redactor.js +0 -176
  288. package/dist/redaction/redactor.js.map +0 -1
  289. package/dist/redaction/scrub.d.ts +0 -29
  290. package/dist/redaction/scrub.d.ts.map +0 -1
  291. package/dist/redaction/scrub.js +0 -54
  292. package/dist/redaction/scrub.js.map +0 -1
  293. package/dist/runtime/config.d.ts +0 -16
  294. package/dist/runtime/config.d.ts.map +0 -1
  295. package/dist/runtime/config.js +0 -2
  296. package/dist/runtime/config.js.map +0 -1
  297. package/dist/runtime/driver-boundary.d.ts +0 -16
  298. package/dist/runtime/driver-boundary.d.ts.map +0 -1
  299. package/dist/runtime/driver-boundary.js +0 -71
  300. package/dist/runtime/driver-boundary.js.map +0 -1
  301. package/dist/runtime/driver-session.d.ts +0 -9
  302. package/dist/runtime/driver-session.d.ts.map +0 -1
  303. package/dist/runtime/driver-session.js +0 -64
  304. package/dist/runtime/driver-session.js.map +0 -1
  305. package/dist/runtime/internal-step-evidence.d.ts +0 -30
  306. package/dist/runtime/internal-step-evidence.d.ts.map +0 -1
  307. package/dist/runtime/internal-step-evidence.js +0 -82
  308. package/dist/runtime/internal-step-evidence.js.map +0 -1
  309. package/dist/runtime/result-adapter.d.ts +0 -9
  310. package/dist/runtime/result-adapter.d.ts.map +0 -1
  311. package/dist/runtime/result-adapter.js +0 -77
  312. package/dist/runtime/result-adapter.js.map +0 -1
  313. package/dist/runtime/runner.d.ts +0 -43
  314. package/dist/runtime/runner.d.ts.map +0 -1
  315. package/dist/runtime/runner.js +0 -72
  316. package/dist/runtime/runner.js.map +0 -1
  317. package/dist/runtime/scenario-control.d.ts +0 -40
  318. package/dist/runtime/scenario-control.d.ts.map +0 -1
  319. package/dist/runtime/scenario-control.js +0 -94
  320. package/dist/runtime/scenario-control.js.map +0 -1
  321. package/dist/runtime/scenario-runner.d.ts +0 -41
  322. package/dist/runtime/scenario-runner.d.ts.map +0 -1
  323. package/dist/runtime/scenario-runner.js +0 -274
  324. package/dist/runtime/scenario-runner.js.map +0 -1
  325. package/dist/runtime/scenario-state.d.ts +0 -55
  326. package/dist/runtime/scenario-state.d.ts.map +0 -1
  327. package/dist/runtime/scenario-state.js +0 -128
  328. package/dist/runtime/scenario-state.js.map +0 -1
  329. package/dist/runtime/step-execution.d.ts +0 -27
  330. package/dist/runtime/step-execution.d.ts.map +0 -1
  331. package/dist/runtime/step-execution.js +0 -143
  332. package/dist/runtime/step-execution.js.map +0 -1
  333. package/dist/runtime/text.d.ts +0 -10
  334. package/dist/runtime/text.d.ts.map +0 -1
  335. package/dist/runtime/text.js +0 -25
  336. package/dist/runtime/text.js.map +0 -1
  337. package/dist/runtime/types.d.ts +0 -53
  338. package/dist/runtime/types.d.ts.map +0 -1
  339. package/dist/runtime/types.js +0 -2
  340. package/dist/runtime/types.js.map +0 -1
  341. package/dist/runtime/usage-tracker.d.ts +0 -37
  342. package/dist/runtime/usage-tracker.d.ts.map +0 -1
  343. package/dist/runtime/usage-tracker.js +0 -110
  344. package/dist/runtime/usage-tracker.js.map +0 -1
  345. package/dist/tools/define-agent-tool.d.ts +0 -20
  346. package/dist/tools/define-agent-tool.d.ts.map +0 -1
  347. package/dist/tools/define-agent-tool.js +0 -30
  348. package/dist/tools/define-agent-tool.js.map +0 -1
  349. package/dist/tools/dispatcher.d.ts +0 -19
  350. package/dist/tools/dispatcher.d.ts.map +0 -1
  351. package/dist/tools/dispatcher.js +0 -91
  352. package/dist/tools/dispatcher.js.map +0 -1
  353. package/dist/tools/loop-detector.d.ts +0 -27
  354. package/dist/tools/loop-detector.d.ts.map +0 -1
  355. package/dist/tools/loop-detector.js +0 -76
  356. package/dist/tools/loop-detector.js.map +0 -1
  357. package/dist/tools/registry.d.ts +0 -19
  358. package/dist/tools/registry.d.ts.map +0 -1
  359. package/dist/tools/registry.js +0 -54
  360. package/dist/tools/registry.js.map +0 -1
  361. package/dist/tools/step/result-tool.d.ts +0 -7
  362. package/dist/tools/step/result-tool.d.ts.map +0 -1
  363. package/dist/tools/step/result-tool.js +0 -34
  364. package/dist/tools/step/result-tool.js.map +0 -1
  365. package/dist/tools/tool-contract.d.ts +0 -3
  366. package/dist/tools/tool-contract.d.ts.map +0 -1
  367. package/dist/tools/tool-contract.js +0 -2
  368. package/dist/tools/tool-contract.js.map +0 -1
  369. package/dist/tools/types.d.ts +0 -210
  370. package/dist/tools/types.d.ts.map +0 -1
  371. package/dist/tools/types.js +0 -4
  372. package/dist/tools/types.js.map +0 -1
  373. package/docs/CLI.md +0 -59
  374. package/docs/CONFIGURATION.md +0 -105
  375. package/docs/DRIVERS.md +0 -79
  376. package/docs/EVIDENCE.md +0 -64
  377. package/schemas/checkmate-config.v1.json +0 -176
  378. package/schemas/describe-result.v1.json +0 -414
  379. package/schemas/driver-descriptor.v1.json +0 -66
  380. package/schemas/run-request.v1.json +0 -67
  381. package/schemas/run-result.v1.json +0 -333
  382. package/schemas/validation-result.v1.json +0 -86
@@ -1,491 +0,0 @@
1
- import { existsSync } from 'node:fs';
2
- import { fork } from 'node:child_process';
3
- import { fileURLToPath } from 'node:url';
4
- import { resolve } from 'node:path';
5
- import { allocateRunIdentity } from '../api/allocate-run-identity.js';
6
- import { prepareRunSource } from '../api/prepare-run.js';
7
- import { boundDiagnostics } from '../config/ingestion.js';
8
- import { serializeJson } from '../contracts/serialize.js';
9
- import { relayDiagnostic } from './diagnostic-relay.js';
10
- import { assertIpcFrameSize, digestMatches, parseWorkerMessage, sendIpcFrame, } from './protocol.js';
11
- import { readAllocatedResult, reconcileExecutionResult } from './reconcile-result.js';
12
- import { ContainmentState } from './signals.js';
13
- import { WorkerStreamGuard } from './worker-stream-guard.js';
14
- const DEFAULT_EXIT_GRACE_MS = 1000;
15
- const DEFAULT_KILL_GRACE_MS = 1000;
16
- export async function runFromParent(input, dependencies = {}) {
17
- const prepare = dependencies.prepare ?? prepareRunSource;
18
- let preparation;
19
- try {
20
- preparation = await prepare(input.source, {
21
- cwd: input.cwd,
22
- configPath: input.configPath,
23
- ...dependencies.preparation,
24
- });
25
- }
26
- catch {
27
- return writeResult(preExecutionOperationalResult({
28
- code: 'run.preparation-failed',
29
- path: '',
30
- message: 'Run preparation failed unexpectedly',
31
- }), input);
32
- }
33
- if (preparation.ok === false) {
34
- if (preparation.status === 'error') {
35
- return writeResult(preExecutionOperationalResult(...preparation.diagnostics), input);
36
- }
37
- const result = {
38
- kind: 'run-result',
39
- schemaVersion: 1,
40
- status: 'invalid',
41
- category: 'invalid',
42
- reason: 'invalid-invocation',
43
- targetMutation: 'not-attempted',
44
- diagnostics: preparation.diagnostics,
45
- };
46
- return writeResult(result, input);
47
- }
48
- const prepared = preparation.prepared;
49
- const wallNow = dependencies.wallNow ?? (() => new Date());
50
- const placeholder = placeholderIdentity(prepared, wallNow());
51
- try {
52
- assertIpcFrameSize({ type: 'start', identity: placeholder, prepared });
53
- }
54
- catch {
55
- return writeResult(containmentResult(prepared, undefined, placeholder.startedAt, 0, 'start', 'start-frame-too-large', 'not-attempted', {
56
- code: 'ipc-frame-too-large',
57
- path: '',
58
- message: 'The prepared worker start frame exceeds the IPC limit',
59
- }), input);
60
- }
61
- let identity;
62
- try {
63
- identity = await (dependencies.allocate ?? allocateRunIdentity)(prepared);
64
- }
65
- catch {
66
- return writeResult(preExecutionOperationalResult({
67
- code: 'run.identity-allocation-failed',
68
- path: '',
69
- message: 'The run identity could not be allocated',
70
- }), input);
71
- }
72
- const now = dependencies.now ?? monotonicNow;
73
- const forkedAt = now();
74
- let child;
75
- try {
76
- child = (dependencies.forkWorker ?? defaultForkWorker)();
77
- }
78
- catch {
79
- return writeResult(containmentResult(prepared, identity, identity.startedAt, now() - forkedAt, 'start', 'worker-result-unavailable', 'not-attempted', {
80
- code: 'worker.start-failed',
81
- path: '',
82
- message: 'The scenario worker could not be started',
83
- }), input);
84
- }
85
- return superviseWorker(child, prepared, identity, forkedAt, input, dependencies);
86
- }
87
- async function superviseWorker(child, prepared, identity, forkedAt, input, dependencies) {
88
- const now = dependencies.now ?? monotonicNow;
89
- const setTimer = dependencies.setTimer ?? setTimeout;
90
- const clearTimer = dependencies.clearTimer ?? clearTimeout;
91
- const signals = dependencies.signals ?? process;
92
- const machine = new ContainmentState();
93
- let timer;
94
- let deadline;
95
- let deadlineOwner;
96
- let settled = false;
97
- let childExited = false;
98
- let childExit;
99
- let terminalChecks = 0;
100
- let recoveryStarted = false;
101
- let accepted;
102
- let fileDigest;
103
- let terminationDone;
104
- let executableWorkMayHaveStarted = false;
105
- let finish;
106
- const completion = new Promise((resolveCompletion) => (finish = resolveCompletion));
107
- const streamDiagnostic = (stream, bytes, truncated) => {
108
- relayDiagnostic({
109
- code: truncated ? 'worker.stream-limit-reached' : 'worker.stream-output-discarded',
110
- path: '',
111
- message: `Worker ${stream} produced ${bytes} bytes; content was discarded`,
112
- }, input.stderr);
113
- };
114
- const stdoutGuard = new WorkerStreamGuard('stdout', (summary) => streamDiagnostic(summary.stream, summary.bytes, summary.truncated));
115
- const stderrGuard = new WorkerStreamGuard('stderr', (summary) => streamDiagnostic(summary.stream, summary.bytes, summary.truncated));
116
- stdoutGuard.attach(child.stdout);
117
- stderrGuard.attach(child.stderr);
118
- const clearTimerOnly = () => {
119
- if (timer !== undefined)
120
- clearTimer(timer);
121
- timer = undefined;
122
- };
123
- const armTimer = (milliseconds, callback) => {
124
- clearTimerOnly();
125
- timer = setTimer(callback, Math.max(0, milliseconds));
126
- };
127
- const clearDeadline = () => {
128
- clearTimerOnly();
129
- deadline = undefined;
130
- deadlineOwner = undefined;
131
- };
132
- const armDeadline = (absolute, owner) => {
133
- deadline = absolute;
134
- deadlineOwner = owner;
135
- armTimer(absolute - now(), onDeadline);
136
- };
137
- const cleanupListeners = () => {
138
- clearDeadline();
139
- signals.off('SIGINT', onSigint);
140
- signals.off('SIGTERM', onSigterm);
141
- child.off('message', onMessage);
142
- child.off('error', onError);
143
- child.off('exit', onExit);
144
- stdoutGuard.dispose(child.stdout);
145
- stderrGuard.dispose(child.stderr);
146
- };
147
- const complete = (exitCode, resultBytes) => {
148
- if (settled)
149
- return;
150
- settled = true;
151
- cleanupListeners();
152
- machine.settled();
153
- if (resultBytes !== undefined)
154
- input.stdout.write(resultBytes);
155
- finish(exitCode);
156
- };
157
- const terminate = (done) => {
158
- if (childExited) {
159
- done();
160
- return;
161
- }
162
- if (terminationDone)
163
- return;
164
- terminationDone = done;
165
- child.kill('SIGTERM');
166
- armTimer(dependencies.workerKillGraceMs ?? DEFAULT_KILL_GRACE_MS, () => {
167
- if (childExited)
168
- return;
169
- child.kill('SIGKILL');
170
- armTimer(dependencies.workerExitGraceMs ?? DEFAULT_EXIT_GRACE_MS, () => {
171
- const finalize = terminationDone;
172
- terminationDone = undefined;
173
- finalize?.();
174
- });
175
- });
176
- };
177
- const contain = (phase, trigger, diagnostic) => {
178
- if (settled || accepted)
179
- return;
180
- machine.contain();
181
- const result = containmentResult(prepared, identity, identity.startedAt, now() - forkedAt, phase, trigger, executableWorkMayHaveStarted ? 'possibly-mutated' : 'not-attempted', diagnostic);
182
- terminate(() => complete(3, serializeJson(result)));
183
- };
184
- const accept = (candidate) => {
185
- if (settled || !machine.terminalAccepted(candidate.result.reason))
186
- return;
187
- accepted = candidate;
188
- clearDeadline();
189
- const finalize = () => complete(exitCodeFor(candidate.result), candidate.bytes);
190
- if (childExited)
191
- finalize();
192
- else
193
- armTimer(dependencies.workerExitGraceMs ?? DEFAULT_EXIT_GRACE_MS, () => terminate(finalize));
194
- };
195
- const expireDeadline = () => {
196
- if (deadline === undefined || now() < deadline)
197
- return false;
198
- const owner = deadlineOwner;
199
- clearDeadline();
200
- if (owner === 'run') {
201
- const transition = machine.runDeadlineExpired();
202
- if (transition.action === 'abort') {
203
- sendAbort(child, transition.signal);
204
- armDeadline(now() + prepared.effectiveLimits.cleanupTimeoutMs, 'cleanup');
205
- return true;
206
- }
207
- return false;
208
- }
209
- const cutoff = machine.cutoff();
210
- if (!cutoff)
211
- return false;
212
- contain(cutoff.phase, cutoff.trigger, {
213
- code: 'worker.contained',
214
- path: '',
215
- message: `The worker did not produce an acceptable result before the ${cutoff.phase} cutoff`,
216
- });
217
- return true;
218
- };
219
- const terminalUnavailable = (diagnostic) => {
220
- if (settled || accepted || !machine.acceptsTerminal())
221
- return;
222
- const phase = machine.cause === 'run-deadline-expired' ? 'run' : machine.cause ? 'cleanup' : 'terminal';
223
- const trigger = machine.cause === 'run-deadline-expired' ? 'run-deadline-expired' : 'worker-result-unavailable';
224
- contain(phase, trigger, diagnostic);
225
- };
226
- const finishAfterTerminalChecks = () => {
227
- if (!childExited || terminalChecks > 0 || settled || accepted)
228
- return;
229
- if (normalExitRecoveryEligible())
230
- void recoverAfterExit();
231
- else {
232
- terminalUnavailable({
233
- code: 'worker.result-unavailable',
234
- path: '',
235
- message: 'The scenario worker stopped without an acceptable terminal result',
236
- });
237
- }
238
- };
239
- const beginTerminalCheck = (message) => {
240
- if (settled || expireDeadline() || !machine.acceptsTerminal())
241
- return;
242
- terminalChecks++;
243
- void terminalCandidate(message, identity, prepared, dependencies.readResult ?? readAllocatedResult, dependencies.reconcile ?? reconcileExecutionResult)
244
- .then((candidate) => {
245
- terminalChecks--;
246
- if (!expireDeadline())
247
- accept(candidate);
248
- finishAfterTerminalChecks();
249
- })
250
- .catch(() => {
251
- terminalChecks--;
252
- if (!expireDeadline())
253
- finishAfterTerminalChecks();
254
- });
255
- };
256
- const recoverAfterExit = async () => {
257
- if (recoveryStarted || !normalExitRecoveryEligible())
258
- return;
259
- recoveryStarted = true;
260
- try {
261
- const bytes = await (dependencies.readResult ?? readAllocatedResult)(identity);
262
- if (expireDeadline())
263
- return;
264
- if (fileDigest && !digestMatches(bytes, fileDigest))
265
- throw new Error('terminal digest mismatch');
266
- const candidate = await (dependencies.reconcile ?? reconcileExecutionResult)(bytes, identity, prepared);
267
- if (!expireDeadline())
268
- accept(candidate);
269
- }
270
- catch {
271
- if (!expireDeadline())
272
- terminalUnavailable({
273
- code: 'worker.result-unavailable',
274
- path: '',
275
- message: 'The worker exited without an acceptable terminal result',
276
- });
277
- }
278
- };
279
- const normalExitRecoveryEligible = () => !recoveryStarted &&
280
- childExit?.code === 0 &&
281
- childExit.signal === null &&
282
- machine.acceptsTerminal() &&
283
- (deadline === undefined || now() < deadline);
284
- function onMessage(raw) {
285
- if (settled || expireDeadline())
286
- return;
287
- let message;
288
- try {
289
- message = parseWorkerMessage(raw);
290
- }
291
- catch {
292
- return;
293
- }
294
- if (message.runId !== identity.runId)
295
- return;
296
- if (message.type === 'diagnostic') {
297
- relayDiagnostic(message.diagnostic, input.stderr);
298
- return;
299
- }
300
- if (message.type === 'fatal') {
301
- relayDiagnostic(message.diagnostic, input.stderr);
302
- terminalUnavailable(message.diagnostic);
303
- return;
304
- }
305
- if (message.type === 'cleanup-started') {
306
- if (machine.cleanupStarted().action === 'arm-cleanup') {
307
- armDeadline(now() + prepared.effectiveLimits.cleanupTimeoutMs, 'cleanup');
308
- }
309
- return;
310
- }
311
- if (message.type === 'terminal-file')
312
- fileDigest = message.digest;
313
- beginTerminalCheck(message);
314
- }
315
- function onError() {
316
- if (!settled && !childExited && !expireDeadline()) {
317
- terminalUnavailable({
318
- code: 'worker.process-error',
319
- path: '',
320
- message: 'The scenario worker encountered a process error',
321
- });
322
- }
323
- }
324
- function onExit(code, signal) {
325
- childExited = true;
326
- childExit = { code, signal };
327
- if (settled)
328
- return;
329
- if (terminationDone) {
330
- const finalize = terminationDone;
331
- terminationDone = undefined;
332
- finalize();
333
- return;
334
- }
335
- if (accepted) {
336
- complete(exitCodeFor(accepted.result), accepted.bytes);
337
- return;
338
- }
339
- if (!expireDeadline())
340
- finishAfterTerminalChecks();
341
- }
342
- function onDeadline() {
343
- if (deadline !== undefined && deadlineOwner && now() < deadline)
344
- armDeadline(deadline, deadlineOwner);
345
- else
346
- expireDeadline();
347
- }
348
- function onSignal(signal) {
349
- if (expireDeadline())
350
- return;
351
- const transition = machine.signal(signal);
352
- if (transition.action === 'abort') {
353
- sendAbort(child, transition.signal);
354
- armDeadline(now() + prepared.effectiveLimits.cleanupTimeoutMs, 'cleanup');
355
- }
356
- else if (transition.action === 'force-exit') {
357
- terminate(() => complete(transition.exitCode));
358
- }
359
- }
360
- function onSigint() {
361
- onSignal('SIGINT');
362
- }
363
- function onSigterm() {
364
- onSignal('SIGTERM');
365
- }
366
- child.on('message', onMessage);
367
- child.once('error', onError);
368
- child.once('exit', onExit);
369
- signals.on('SIGINT', onSigint);
370
- signals.on('SIGTERM', onSigterm);
371
- machine.forked();
372
- armDeadline(forkedAt + prepared.effectiveLimits.scenarioTimeoutMs, 'run');
373
- try {
374
- executableWorkMayHaveStarted = true;
375
- sendIpcFrame((message) => child.send(message), { type: 'start', identity, prepared });
376
- }
377
- catch {
378
- contain('start', 'worker-result-unavailable', {
379
- code: 'worker.start-failed',
380
- path: '',
381
- message: 'The prepared run could not be sent to the scenario worker',
382
- });
383
- }
384
- return completion;
385
- }
386
- async function terminalCandidate(message, identity, prepared, readResult, reconcile) {
387
- if (message.type === 'terminal-file') {
388
- const bytes = await readResult(identity);
389
- if (!digestMatches(bytes, message.digest))
390
- throw new Error('terminal file digest mismatch');
391
- return reconcile(bytes, identity, prepared);
392
- }
393
- if (message.committed === false) {
394
- const candidate = await reconcile(message.resultJson, identity, prepared);
395
- if (candidate.result.reason !== 'result-write-failed')
396
- throw new Error('uncommitted terminal has an invalid reason');
397
- return candidate;
398
- }
399
- if (!digestMatches(message.resultJson, message.digest))
400
- throw new Error('terminal inline digest mismatch');
401
- const disk = await readResult(identity);
402
- if (disk !== message.resultJson)
403
- throw new Error('terminal inline bytes differ from result.json');
404
- return reconcile(message.resultJson, identity, prepared);
405
- }
406
- function sendAbort(child, signal) {
407
- try {
408
- sendIpcFrame((message) => child.send(message), { type: 'abort', signal });
409
- }
410
- catch {
411
- return;
412
- }
413
- }
414
- function containmentResult(prepared, identity, startedAt, durationMs, phase, trigger, targetMutation, diagnostic) {
415
- return {
416
- kind: 'run-result',
417
- schemaVersion: 1,
418
- source: 'parent',
419
- status: 'contained',
420
- category: 'infra',
421
- reason: 'parent-containment',
422
- executionState: 'unavailable',
423
- durability: 'uncommitted',
424
- ...(identity ? { runId: identity.runId } : {}),
425
- scenarioId: prepared.request.scenario.id,
426
- declaredStepIds: prepared.request.scenario.steps.map((step) => step.id),
427
- targetMutation,
428
- startedAt,
429
- durationMs: Math.max(0, durationMs),
430
- containment: { phase, trigger },
431
- diagnostics: boundDiagnostics([diagnostic]),
432
- };
433
- }
434
- function preExecutionOperationalResult(...diagnostics) {
435
- return {
436
- kind: 'run-result',
437
- schemaVersion: 1,
438
- source: 'parent',
439
- status: 'error',
440
- category: 'infra',
441
- reason: 'pre-execution-error',
442
- targetMutation: 'not-attempted',
443
- diagnostics: boundDiagnostics(diagnostics),
444
- };
445
- }
446
- function placeholderIdentity(prepared, now) {
447
- const runId = '0000000000000000';
448
- const runDirectory = resolve(prepared.outputDirectory, `${'x'.repeat(96)}-${runId}`);
449
- return {
450
- runId,
451
- startedAt: now.toISOString(),
452
- runDirectory,
453
- relativeRunDirectory: relativeFromRoot(prepared.invocationRoot, runDirectory),
454
- };
455
- }
456
- function relativeFromRoot(root, path) {
457
- return path
458
- .slice(resolve(root).length + 1)
459
- .split('\\')
460
- .join('/');
461
- }
462
- function writeResult(result, input) {
463
- input.stdout.write(serializeJson(result));
464
- for (const diagnostic of result.diagnostics)
465
- relayDiagnostic(diagnostic, input.stderr);
466
- return exitCodeFor(result);
467
- }
468
- function exitCodeFor(result) {
469
- if (result.category === 'passed')
470
- return 0;
471
- if (result.category === 'app')
472
- return 1;
473
- if (result.category === 'model')
474
- return 2;
475
- if (result.category === 'invalid')
476
- return 4;
477
- return 3;
478
- }
479
- function defaultForkWorker() {
480
- const javascript = fileURLToPath(new URL('./worker.js', import.meta.url));
481
- const source = fileURLToPath(new URL('./worker.ts', import.meta.url));
482
- const modulePath = existsSync(javascript) ? javascript : source;
483
- return fork(modulePath, [], {
484
- stdio: ['ignore', 'pipe', 'pipe', 'ipc'],
485
- ...(modulePath.endsWith('.ts') ? { execArgv: ['--import', import.meta.resolve('tsx')] } : {}),
486
- });
487
- }
488
- function monotonicNow() {
489
- return Number(process.hrtime.bigint() / 1000000n);
490
- }
491
- //# sourceMappingURL=run-parent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-parent.js","sourceRoot":"","sources":["../../src/cli/run-parent.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- export type ParentPhase = 'starting' | 'running' | 'cleaning' | 'stopping' | 'terminal-accepted' | 'contained' | 'forced-signal-exit' | 'settled';
2
- export type ParentSignal = 'SIGINT' | 'SIGTERM';
3
- export type StopCause = 'run-deadline-expired' | ParentSignal;
4
- export declare const STOP_RESULT_ELIGIBILITY: Readonly<Record<StopCause, readonly RunReason[]>>;
5
- export type SignalTransition = {
6
- action: 'none';
7
- } | {
8
- action: 'arm-cleanup';
9
- } | {
10
- action: 'abort';
11
- signal: ParentSignal;
12
- } | {
13
- action: 'force-exit';
14
- exitCode: 130 | 143;
15
- };
16
- export declare class ContainmentState {
17
- private current;
18
- private stopCause;
19
- get phase(): ParentPhase;
20
- get cause(): StopCause | undefined;
21
- forked(): void;
22
- cleanupStarted(): SignalTransition;
23
- runDeadlineExpired(): SignalTransition;
24
- signal(signal: ParentSignal): SignalTransition;
25
- terminalAccepted(reason?: RunReason): boolean;
26
- resultEligible(reason?: RunReason): boolean;
27
- cutoff(): {
28
- phase: 'run' | 'cleanup';
29
- trigger: 'run-deadline-expired' | 'cleanup-deadline-expired';
30
- } | undefined;
31
- contain(): void;
32
- settled(): void;
33
- acceptsTerminal(): boolean;
34
- }
35
- import type { RunReason } from '../contracts/types.js';
36
- //# sourceMappingURL=signals.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/cli/signals.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACpB,UAAU,GACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,mBAAmB,GACnB,WAAW,GACX,oBAAoB,GACpB,SAAS,CAAA;AACZ,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAA;AAC/C,MAAM,MAAM,SAAS,GAAG,sBAAsB,GAAG,YAAY,CAAA;AAE7D,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC,CAIrF,CAAA;AAED,MAAM,MAAM,gBAAgB,GACzB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GACzB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,CAAA;AAEhD,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,SAAS,CAAuB;IAExC,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,IAAI,KAAK,IAAI,SAAS,GAAG,SAAS,CAEjC;IAED,MAAM,IAAI,IAAI;IAKd,cAAc,IAAI,gBAAgB;IAMlC,kBAAkB,IAAI,gBAAgB;IAOtC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,gBAAgB;IAW9C,gBAAgB,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO;IAM7C,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO;IAM3C,MAAM,IAAI;QAAE,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,sBAAsB,GAAG,0BAA0B,CAAA;KAAE,GAAG,SAAS;IAkBhH,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;IAIf,eAAe,IAAI,OAAO;CAG1B;AACD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,85 +0,0 @@
1
- export const STOP_RESULT_ELIGIBILITY = {
2
- SIGINT: ['interrupted', 'driver-teardown-failed', 'result-write-failed'],
3
- SIGTERM: ['interrupted', 'driver-teardown-failed', 'result-write-failed'],
4
- 'run-deadline-expired': ['scenario-timeout', 'driver-teardown-failed', 'result-write-failed'],
5
- };
6
- export class ContainmentState {
7
- current = 'starting';
8
- stopCause;
9
- get phase() {
10
- return this.current;
11
- }
12
- get cause() {
13
- return this.stopCause;
14
- }
15
- forked() {
16
- if (this.current !== 'starting')
17
- throw new Error(`Cannot fork while parent is ${this.current}`);
18
- this.current = 'running';
19
- }
20
- cleanupStarted() {
21
- if (this.current !== 'running')
22
- return { action: 'none' };
23
- this.current = 'cleaning';
24
- return { action: 'arm-cleanup' };
25
- }
26
- runDeadlineExpired() {
27
- if (this.current !== 'running')
28
- return { action: 'none' };
29
- this.stopCause = 'run-deadline-expired';
30
- this.current = 'stopping';
31
- return { action: 'abort', signal: 'SIGTERM' };
32
- }
33
- signal(signal) {
34
- if (this.current === 'stopping' && this.stopCause !== 'run-deadline-expired') {
35
- this.current = 'forced-signal-exit';
36
- return { action: 'force-exit', exitCode: this.stopCause === 'SIGINT' ? 130 : 143 };
37
- }
38
- if (this.current !== 'running' && this.current !== 'cleaning')
39
- return { action: 'none' };
40
- this.stopCause = signal;
41
- this.current = 'stopping';
42
- return { action: 'abort', signal };
43
- }
44
- terminalAccepted(reason) {
45
- if (!this.acceptsTerminal() || !this.resultEligible(reason))
46
- return false;
47
- this.current = 'terminal-accepted';
48
- return true;
49
- }
50
- resultEligible(reason) {
51
- if (!this.acceptsTerminal())
52
- return false;
53
- if (!this.stopCause)
54
- return true;
55
- return reason !== undefined && STOP_RESULT_ELIGIBILITY[this.stopCause].includes(reason);
56
- }
57
- cutoff() {
58
- if (this.current === 'running') {
59
- this.current = 'contained';
60
- return { phase: 'run', trigger: 'run-deadline-expired' };
61
- }
62
- if (this.current === 'cleaning') {
63
- this.current = 'contained';
64
- return { phase: 'cleanup', trigger: 'cleanup-deadline-expired' };
65
- }
66
- if (this.current === 'stopping') {
67
- this.current = 'contained';
68
- return this.stopCause === 'run-deadline-expired'
69
- ? { phase: 'run', trigger: 'run-deadline-expired' }
70
- : { phase: 'cleanup', trigger: 'cleanup-deadline-expired' };
71
- }
72
- return undefined;
73
- }
74
- contain() {
75
- if (this.acceptsTerminal() || this.current === 'starting')
76
- this.current = 'contained';
77
- }
78
- settled() {
79
- this.current = 'settled';
80
- }
81
- acceptsTerminal() {
82
- return this.current === 'running' || this.current === 'cleaning' || this.current === 'stopping';
83
- }
84
- }
85
- //# sourceMappingURL=signals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../src/cli/signals.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { DescribeResultV1, Diagnostic, ValidationResultV1 } from '../contracts/types.js';
2
- import { type JsonInputSource } from '../config/ingestion.js';
3
- import { type PreparationOptions } from '../api/prepare-run.js';
4
- export declare function validateStaticRequest(request: unknown, options?: PreparationOptions): Promise<ValidationResultV1>;
5
- export declare function validateStaticSource(source: JsonInputSource, options?: PreparationOptions): Promise<ValidationResultV1>;
6
- export declare function describeStaticEnvironment(options?: PreparationOptions): Promise<DescribeResultV1>;
7
- export declare function validationError(diagnostic: Diagnostic): ValidationResultV1;
8
- export declare function describeError(diagnostic: Diagnostic): DescribeResultV1;
9
- export declare function unexpectedValidationError(): ValidationResultV1;
10
- export declare function unexpectedDescribeError(): DescribeResultV1;
11
- //# sourceMappingURL=static-commands.d.ts.map