@joshuafolkken/kit 1.1166.0 → 1.1229.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 (437) hide show
  1. package/.claude/.claude-plugin/plugin.json +1 -1
  2. package/.claude/settings.json +2 -2
  3. package/.claude/skills/dependency-update/SKILL.md +4 -8
  4. package/.claude/skills/epic-commands/SKILL.md +2 -2
  5. package/.claude/skills/epic-commands/epic-bundle.md +1 -1
  6. package/.claude/skills/workflow-commands/SKILL.md +2 -4
  7. package/.claude/skills/workflow-commands/backlogrun-child.md +6 -4
  8. package/.claude/skills/workflow-commands/backlogrun-lanes.md +9 -5
  9. package/.claude/skills/workflow-commands/backlogrun-park.md +29 -9
  10. package/.claude/skills/workflow-commands/backlogrun-progress.md +7 -2
  11. package/.claude/skills/workflow-commands/backlogrun-recovery.md +4 -3
  12. package/.claude/skills/workflow-commands/backlogrun-steps.md +24 -15
  13. package/.claude/skills/workflow-commands/chain-rule.md +1 -1
  14. package/.claude/skills/workflow-commands/delegation.md +2 -2
  15. package/.claude/skills/workflow-commands/followup.md +5 -0
  16. package/.claude/skills/workflow-commands/fullrun-steps.md +1 -1
  17. package/.claude/skills/workflow-commands/halfrun.md +1 -1
  18. package/.claude/skills/workflow-commands/issue-scout.md +1 -1
  19. package/.claude/skills/workflow-commands/kickoff.md +1 -1
  20. package/.claude/skills/workflow-commands/observation-ledger.md +3 -3
  21. package/.claude/skills/workflow-commands/pre-gate-cut.md +10 -5
  22. package/.claude/skills/workflow-commands/prerequisite.md +2 -2
  23. package/.claude/skills/workflow-commands/progress-watcher.md +1 -1
  24. package/.claude/skills/workflow-commands/working-tree-hold.md +1 -1
  25. package/.codex/hooks.json +2 -2
  26. package/.cursorrules +6 -41
  27. package/.github/actions/setup-node/action.yml +1 -1
  28. package/.github/workflows/auto-tag.yml +3 -4
  29. package/.github/workflows/ci.yml +47 -33
  30. package/.github/workflows/dependabot-auto-merge.yml +13 -6
  31. package/.github/workflows/publish.yml +48 -4
  32. package/.github/workflows/sonar-qube.yml +3 -0
  33. package/.pnpmfile.mjs +4 -3
  34. package/.prettierignore +8 -2
  35. package/CLAUDE.md +18 -20
  36. package/README.md +26 -19
  37. package/SECURITY.md +15 -1
  38. package/dist/CLAUDE.md +18 -20
  39. package/dist/commands/document-section-cli.js +734 -0
  40. package/dist/hooks/audit-provision.js +346 -0
  41. package/dist/hooks/batch-guard.js +5 -4
  42. package/dist/hooks/{chunk-DYAVAM6S.js → chunk-55HHG5PX.js} +1405 -631
  43. package/dist/hooks/{chunk-A6P7PN7P.js → chunk-5VMKCCC4.js} +25 -10
  44. package/dist/hooks/chunk-5VNDSNG3.js +12 -0
  45. package/dist/hooks/{chunk-5KTCMCOT.js → chunk-6HJJXRBX.js} +4 -2
  46. package/dist/hooks/chunk-CDY4NFQG.js +15 -0
  47. package/dist/hooks/chunk-ELCN5LCH.js +135 -0
  48. package/dist/hooks/{chunk-ENA7P5FB.js → chunk-F56MFS4B.js} +3 -3
  49. package/dist/hooks/{chunk-ANJ2WGFD.js → chunk-FIVDHQGT.js} +7 -6
  50. package/dist/hooks/{chunk-3V37IID6.js → chunk-JBBMAPC4.js} +23 -14
  51. package/dist/hooks/{chunk-GU5MATVE.js → chunk-JUDKDCDP.js} +499 -389
  52. package/dist/hooks/{chunk-ZDZ555YH.js → chunk-NV2JRZZO.js} +743 -909
  53. package/dist/hooks/{chunk-V2BTOZHT.js → chunk-RNWHN5BP.js} +3 -3
  54. package/dist/hooks/{chunk-URJA6XY4.js → chunk-TQNPDZNH.js} +4 -4
  55. package/dist/hooks/{chunk-GYNGP7HI.js → chunk-VC3PZPZO.js} +1 -1
  56. package/dist/hooks/codex-hook-adapter.js +14 -12
  57. package/dist/hooks/duplicate-read-guard.js +6 -5
  58. package/dist/hooks/format-edited.js +4 -3
  59. package/dist/hooks/inputs.json +232 -210
  60. package/dist/hooks/investigation-guard.js +6 -5
  61. package/dist/hooks/pretool-guard.js +12 -10
  62. package/dist/hooks/session-lang.js +2 -4
  63. package/dist/hooks/stop-guard.js +81 -59
  64. package/dist/josh.js +872 -75
  65. package/dist/version/index.d.ts +7 -2
  66. package/dist/version/index.js +152 -75
  67. package/eslint/base.js +23 -1
  68. package/eslint/rules/code-quality.js +3 -0
  69. package/eslint/rules/early-return-one-liner.js +98 -0
  70. package/eslint/rules/unicorn.js +16 -1
  71. package/package.json +7 -6
  72. package/pnpm-workspace.yaml +9 -4
  73. package/prettier/basic.d.ts +3 -1
  74. package/prettier/index.d.ts +3 -1
  75. package/prettier/static.d.ts +3 -1
  76. package/prompts/coding-standards.md +1 -1
  77. package/prompts/collaboration-workflow/file-edits.md +4 -4
  78. package/prompts/collaboration-workflow/glossary.md +1 -1
  79. package/prompts/collaboration-workflow/operating-rules.md +17 -9
  80. package/prompts/collaboration-workflow/overview.md +2 -2
  81. package/prompts/collaboration-workflow/principles.md +14 -12
  82. package/prompts/collaboration-workflow/report-format.md +1 -1
  83. package/prompts/collaboration-workflow/residency.md +1 -1
  84. package/prompts/collaboration-workflow/rule-delivery.md +6 -6
  85. package/prompts/collaboration-workflow/shell-body.md +6 -6
  86. package/prompts/collaboration-workflow/turn-batching.md +1 -1
  87. package/prompts/collaboration-workflow/upstream-interrupt.md +12 -2
  88. package/prompts/collaboration-workflow/wip-cap.md +10 -10
  89. package/prompts/review-rubric.md +1 -2
  90. package/prompts/review.md +1 -1
  91. package/scripts/agent/agent-headless.ts +29 -0
  92. package/scripts/agent/agent-launch-environment.ts +6 -2
  93. package/scripts/agent/codex-agent-argv.ts +2 -1
  94. package/scripts/auto-ok/auto-ok-cli.ts +1 -1
  95. package/scripts/backlog/backlog-arrival.ts +3 -3
  96. package/scripts/backlog/backlog-budget.ts +1 -1
  97. package/scripts/backlog/backlog-drive-args.ts +135 -0
  98. package/scripts/backlog/backlog-drive-cli.ts +11 -137
  99. package/scripts/backlog/backlog-drive-launch.ts +39 -0
  100. package/scripts/backlog/backlog-drive-named-offer.ts +3 -5
  101. package/scripts/backlog/backlog-drive-named.ts +3 -3
  102. package/scripts/backlog/backlog-drive-offer-argv.ts +1 -1
  103. package/scripts/backlog/backlog-drive-owner.ts +1 -1
  104. package/scripts/backlog/backlog-drive-restore.ts +1 -1
  105. package/scripts/backlog/backlog-drive-retrospective.ts +1 -1
  106. package/scripts/backlog/backlog-drive.ts +1 -1
  107. package/scripts/backlog/backlog-next.ts +31 -9
  108. package/scripts/backlog/backlog-offer-cli.ts +6 -6
  109. package/scripts/backlog/backlog-offer.ts +1 -1
  110. package/scripts/backlog/backlog-plan-cli.ts +7 -6
  111. package/scripts/backlog/backlog-pool.ts +57 -11
  112. package/scripts/backlog/backlog-rank.ts +18 -9
  113. package/scripts/backlog/backlog-ready.ts +1 -1
  114. package/scripts/backlog/backlog-restructure.ts +152 -0
  115. package/scripts/backlog/backlog-scope.ts +1 -1
  116. package/scripts/backlog/backlog-stalled-detect.ts +2 -2
  117. package/scripts/backlog/backlog-stalled.ts +1 -1
  118. package/scripts/backlog/backlog-waves.ts +15 -17
  119. package/scripts/build/build-codex-hooks.ts +3 -1
  120. package/scripts/build/build-commands.ts +66 -0
  121. package/scripts/build/build-hooks.ts +2 -1
  122. package/scripts/build/build-library.ts +12 -3
  123. package/scripts/build/build.ts +70 -0
  124. package/scripts/build/local-bin.ts +3 -13
  125. package/scripts/cost-runtime/context-cut-threshold.ts +1 -9
  126. package/scripts/cost-runtime/cost-verdict.ts +15 -28
  127. package/scripts/delegation/investigation-reads.ts +3 -1
  128. package/scripts/discovery/repo-origin.ts +5 -5
  129. package/scripts/doctor/doctor-consumer.ts +2 -2
  130. package/scripts/doctor/doctor-io.ts +2 -3
  131. package/scripts/document/capped-print-part.ts +30 -0
  132. package/scripts/document/capped-print.ts +3 -4
  133. package/scripts/document/document-byte-budget.ts +11 -2
  134. package/scripts/document/document-scan.ts +117 -0
  135. package/scripts/document/document-section.ts +143 -16
  136. package/scripts/document/entry-read-budget.ts +5 -3
  137. package/scripts/document/entry-read-set.ts +10 -89
  138. package/scripts/document/read-set-cost.ts +98 -0
  139. package/scripts/epic/epic-add-body.ts +1 -0
  140. package/scripts/epic/epic-audit-checks.ts +1 -1
  141. package/scripts/epic/epic-audit-rationale.ts +4 -3
  142. package/scripts/epic/epic-bundle-cli.ts +14 -3
  143. package/scripts/epic/epic-bundle-poll.ts +41 -0
  144. package/scripts/epic/epic-busy.ts +1 -1
  145. package/scripts/epic/epic-candidate-confirm.ts +3 -2
  146. package/scripts/epic/epic-classify.ts +1 -1
  147. package/scripts/epic/epic-cli-argv.ts +78 -46
  148. package/scripts/epic/epic-cli-remove.ts +11 -19
  149. package/scripts/epic/epic-cli.ts +74 -73
  150. package/scripts/epic/epic-close-comment.ts +1 -1
  151. package/scripts/epic/epic-close.ts +1 -1
  152. package/scripts/epic/epic-cross-repo.ts +5 -5
  153. package/scripts/epic/epic-graph.ts +1 -1
  154. package/scripts/epic/epic-index.ts +1 -1
  155. package/scripts/epic/epic-issue.ts +2 -6
  156. package/scripts/epic/epic-lane-offer.ts +2 -2
  157. package/scripts/epic/epic-next.ts +29 -42
  158. package/scripts/epic/epic-solo-stale.ts +1 -1
  159. package/scripts/epic/epic-triage.ts +8 -4
  160. package/scripts/epic/epic-validate.ts +1 -1
  161. package/scripts/followup/git-followup-finish.ts +2 -2
  162. package/scripts/followup/git-followup-label.ts +2 -2
  163. package/scripts/followup/git-followup-merged.ts +2 -2
  164. package/scripts/followup/git-followup-stages.ts +9 -0
  165. package/scripts/followup/git-pr-followup-checks.ts +142 -0
  166. package/scripts/followup/git-pr-followup.ts +5 -130
  167. package/scripts/gate/core-budget.ts +69 -1
  168. package/scripts/gate/gate-plan.ts +47 -7
  169. package/scripts/gate/gate-skip.ts +38 -7
  170. package/scripts/gate/hook-gate-reuse.ts +12 -10
  171. package/scripts/gate/pre-commit-type-check.ts +4 -1
  172. package/scripts/gate/project-checks.ts +6 -9
  173. package/scripts/gate/type-check-step.ts +2 -3
  174. package/scripts/gate/verification-gate.ts +27 -8
  175. package/scripts/gh/git-gh-api-path.ts +2 -2
  176. package/scripts/gh/git-gh-issue-rest.ts +3 -3
  177. package/scripts/gh/git-gh-issue-write.ts +53 -7
  178. package/scripts/gh/git-gh-issue.ts +5 -3
  179. package/scripts/gh/git-gh-pr-read.ts +68 -19
  180. package/scripts/gh/git-gh-pr-rest.ts +1 -1
  181. package/scripts/gh/git-gh-pr.ts +5 -1
  182. package/scripts/gh/git-pr-ai-review.ts +1 -1
  183. package/scripts/gh/git-pr-checks-eval.ts +9 -3
  184. package/scripts/gh/git-pr-checks-parse.ts +1 -1
  185. package/scripts/gh/git-pr-checks-watch.ts +6 -5
  186. package/scripts/gh/git-pr-checks.ts +18 -6
  187. package/scripts/gh/git-pr-coderabbit.ts +1 -1
  188. package/scripts/gh/git-pr-error.ts +1 -3
  189. package/scripts/gh/git-pr.ts +9 -13
  190. package/scripts/gh/github-issue-url.ts +2 -2
  191. package/scripts/git/constants.ts +12 -6
  192. package/scripts/git/git-command.ts +20 -218
  193. package/scripts/git/git-diff-reads.ts +225 -0
  194. package/scripts/git/git-error.ts +4 -12
  195. package/scripts/git/git-pre-push-hook.ts +139 -0
  196. package/scripts/git/git-prompt.ts +2 -6
  197. package/scripts/git/{schemas.ts → git-schemas.ts} +2 -0
  198. package/scripts/git/git-spawn-sync.ts +3 -1
  199. package/scripts/git/git-spawn.ts +1 -1
  200. package/scripts/git/git-staging.ts +4 -6
  201. package/scripts/git/git-status.ts +3 -9
  202. package/scripts/git/main-merge.ts +57 -21
  203. package/scripts/hooks/codex-hook-adapter.ts +1 -1
  204. package/scripts/hooks/edited-cspell.ts +2 -4
  205. package/scripts/hooks/format-edited-file.ts +3 -12
  206. package/scripts/hooks/pre-push-unit.ts +31 -9
  207. package/scripts/hooks/reserved-run.ts +2 -2
  208. package/scripts/hooks/run-hook.sh +5 -4
  209. package/scripts/hooks/stop-guard.ts +5 -3
  210. package/scripts/init/init-actions.ts +0 -5
  211. package/scripts/init/init-ai-copy.ts +13 -2
  212. package/scripts/init/init-logic-json-merge.ts +19 -0
  213. package/scripts/init/init-logic-secretlint.ts +7 -7
  214. package/scripts/init/init-logic-workspace.ts +41 -2
  215. package/scripts/init/init-logic.ts +16 -26
  216. package/scripts/init/init.ts +5 -15
  217. package/scripts/init/initial-commit.ts +4 -4
  218. package/scripts/init/kit-development-versions.ts +40 -0
  219. package/scripts/init/kit-setup-state.ts +2 -2
  220. package/scripts/init/start-exec.ts +68 -19
  221. package/scripts/init/start-setup-pr.ts +9 -9
  222. package/scripts/init/start-steps.ts +6 -10
  223. package/scripts/issue/defect-rate-cli.ts +1 -1
  224. package/scripts/issue/git-next-issues.ts +1 -1
  225. package/scripts/issue/issue-auto-ok.ts +1 -1
  226. package/scripts/issue/issue-backlinks-cli.ts +2 -2
  227. package/scripts/issue/issue-backlinks.ts +9 -9
  228. package/scripts/issue/issue-comment-cli.ts +19 -13
  229. package/scripts/issue/issue-file-cli.ts +45 -18
  230. package/scripts/issue/issue-file.ts +24 -1
  231. package/scripts/issue/issue-scout-closed.ts +1 -1
  232. package/scripts/issue/issue-state-cli.ts +30 -74
  233. package/scripts/josh/josh-command-map.ts +2 -0
  234. package/scripts/josh/josh-command-types.ts +11 -0
  235. package/scripts/josh/josh-commands-ai.ts +4 -4
  236. package/scripts/josh/josh-commands-backlog.ts +4 -1
  237. package/scripts/josh/josh-commands-development.ts +11 -1
  238. package/scripts/josh/josh-commands-document.ts +1 -0
  239. package/scripts/josh/josh-commands-lane.ts +22 -0
  240. package/scripts/josh/josh-commands-maintenance.ts +4 -4
  241. package/scripts/josh/josh-commands-run.ts +12 -7
  242. package/scripts/josh/josh-in-process.ts +28 -9
  243. package/scripts/josh/josh-logic.ts +33 -15
  244. package/scripts/josh/process-identity.ts +1 -3
  245. package/scripts/josh/session-language-cli.ts +3 -4
  246. package/scripts/lane/lane-await.ts +5 -1
  247. package/scripts/lane/lane-child-invocation.ts +2 -2
  248. package/scripts/lane/lane-cli.ts +3 -3
  249. package/scripts/lane/lane-dispatch.ts +14 -10
  250. package/scripts/lane/lane-environment.ts +5 -1
  251. package/scripts/lane/lane-handoff.ts +1 -1
  252. package/scripts/lane/lane-install.ts +2 -13
  253. package/scripts/lane/lane-launch-cli.ts +35 -3
  254. package/scripts/lane/lane-ledger.ts +145 -0
  255. package/scripts/lane/lane-leftover.ts +1 -1
  256. package/scripts/lane/lane-load.ts +108 -0
  257. package/scripts/lane/lane-measure-cli.ts +149 -0
  258. package/scripts/lane/lane-occupancy.ts +3 -0
  259. package/scripts/lane/lane-reap.ts +1 -3
  260. package/scripts/lane/lane-relaunch.ts +1 -1
  261. package/scripts/lane/lane-stats.ts +224 -0
  262. package/scripts/lane/lane-vacant.ts +36 -0
  263. package/scripts/lane/openai-lane-ship.ts +2 -2
  264. package/scripts/lane/openai-lane-supervisor-owner.ts +180 -0
  265. package/scripts/lane/openai-lane-supervisor.ts +7 -165
  266. package/scripts/lane/openai-review-broker.ts +2 -4
  267. package/scripts/lib/ancestor-directories.ts +35 -0
  268. package/scripts/lib/animation-helpers.ts +2 -2
  269. package/scripts/lib/buffered-process.ts +3 -7
  270. package/scripts/lib/cli-flags.ts +71 -1
  271. package/scripts/lib/spawn-exit.ts +2 -2
  272. package/scripts/lib/timeouts.ts +35 -2
  273. package/scripts/lines/line-budget.ts +4 -6
  274. package/scripts/notify/telegram-notify.ts +26 -1
  275. package/scripts/notify/telegram-test.ts +6 -0
  276. package/scripts/observations/observation-ledger-line.ts +6 -6
  277. package/scripts/observations/observation-ledger-migrate.ts +55 -4
  278. package/scripts/observations/observation-ledger.ts +26 -7
  279. package/scripts/overrides/lockfile-overrides.ts +1 -1
  280. package/scripts/overrides/overrides-logic.ts +1 -1
  281. package/scripts/propagate/propagate-git.ts +1 -1
  282. package/scripts/propagate/propagate-publish.ts +2 -2
  283. package/scripts/propagate/propagate-steps.ts +20 -15
  284. package/scripts/propagate/propagate.ts +36 -27
  285. package/scripts/refactor/import-graph.ts +18 -1
  286. package/scripts/refactor/refactor-lint.ts +4 -4
  287. package/scripts/repo/repository-labels.ts +2 -2
  288. package/scripts/repo/required-checks-logic.ts +1 -3
  289. package/scripts/review/live-evidence.ts +2 -4
  290. package/scripts/review/review-brief-cli.ts +1 -1
  291. package/scripts/review/review-finding-ledger.ts +1 -1
  292. package/scripts/review/review-findings-cli.ts +1 -3
  293. package/scripts/rules/decision-oracle-batch.ts +128 -0
  294. package/scripts/rules/decision-oracle-tokens.ts +21 -0
  295. package/scripts/rules/decision-oracle.ts +8 -120
  296. package/scripts/rules/delivered-rules.ts +26 -182
  297. package/scripts/rules/direct-filing.ts +1 -1
  298. package/scripts/rules/early-heartbeat.ts +3 -3
  299. package/scripts/rules/git-argv.ts +1 -1
  300. package/scripts/rules/git-force.ts +1 -1
  301. package/scripts/rules/implementation-cut.ts +2 -2
  302. package/scripts/rules/index-guard.ts +1 -1
  303. package/scripts/rules/issue-comments.ts +118 -0
  304. package/scripts/rules/{issue-fold.ts → issue-fold-rule.ts} +2 -2
  305. package/scripts/rules/lane-background.ts +2 -2
  306. package/scripts/rules/lane-park.ts +18 -0
  307. package/scripts/rules/lane-split-park.ts +128 -0
  308. package/scripts/rules/oracle-firing.ts +1 -1
  309. package/scripts/rules/poll-loop.ts +1 -1
  310. package/scripts/rules/pre-gate-cut.ts +3 -3
  311. package/scripts/rules/protected-files.ts +59 -4
  312. package/scripts/rules/{run-tail.ts → run-tail-rule.ts} +2 -2
  313. package/scripts/rules/shell-body-trigger.ts +1 -1
  314. package/scripts/rules/stop-rules.ts +18 -7
  315. package/scripts/rules/test-declared-commit.ts +4 -4
  316. package/scripts/rules/wip-cap.ts +63 -0
  317. package/scripts/run/{run-carry-args.ts → carry/run-carry-args.ts} +37 -13
  318. package/scripts/run/{run-carry-change.ts → carry/run-carry-change.ts} +29 -7
  319. package/scripts/run/{run-carry-cli.ts → carry/run-carry-cli.ts} +4 -6
  320. package/scripts/run/{run-carry.ts → carry/run-carry.ts} +12 -6
  321. package/scripts/run/{run-cut-args.ts → cut/run-cut-args.ts} +1 -1
  322. package/scripts/run/{run-cut-cli.ts → cut/run-cut-cli.ts} +3 -3
  323. package/scripts/run/{run-cut-report.ts → cut/run-cut-report.ts} +2 -2
  324. package/scripts/run/{run-cut.ts → cut/run-cut.ts} +1 -1
  325. package/scripts/run/{run-entry-cli.ts → entry/run-entry-cli.ts} +11 -11
  326. package/scripts/run/{run-entry.ts → entry/run-entry.ts} +2 -2
  327. package/scripts/run/{run-event-scope.ts → event/run-event-scope.ts} +1 -1
  328. package/scripts/run/{run-event-stream-emit.ts → event/run-event-stream-emit.ts} +1 -1
  329. package/scripts/run/{run-event-stream.ts → event/run-event-stream.ts} +16 -2
  330. package/scripts/run/{run-hold-cli.ts → hold/run-hold-cli.ts} +5 -5
  331. package/scripts/run/{run-merge-cli.ts → merge/run-merge-cli.ts} +10 -5
  332. package/scripts/run/{run-merge-steps.ts → merge/run-merge-steps.ts} +53 -5
  333. package/scripts/run/{run-merge.ts → merge/run-merge.ts} +1 -1
  334. package/scripts/run/{run-progress-cli.ts → progress/run-progress-cli.ts} +1 -1
  335. package/scripts/run/{run-progress-config.ts → progress/run-progress-config.ts} +2 -17
  336. package/scripts/run/{run-progress-read.ts → progress/run-progress-read.ts} +5 -5
  337. package/scripts/run/{run-progress.ts → progress/run-progress.ts} +1 -1
  338. package/scripts/run/{run-review-steps.ts → review/run-review-steps.ts} +2 -3
  339. package/scripts/run/run-ending.ts +2 -2
  340. package/scripts/run/run-halfrun-resume.ts +6 -1
  341. package/scripts/run/run-headless.ts +1 -1
  342. package/scripts/run/run-invocation.ts +85 -84
  343. package/scripts/run/run-liveness.ts +1 -1
  344. package/scripts/run/run-parent-cut-hook.ts +1 -1
  345. package/scripts/run/run-preflight.ts +6 -6
  346. package/scripts/run/run-prep-cli.ts +1 -1
  347. package/scripts/run/run-prrun-resume.ts +1 -1
  348. package/scripts/run/run-report-cli.ts +4 -4
  349. package/scripts/run/run-report.ts +2 -2
  350. package/scripts/run/run-status-cli.ts +1 -1
  351. package/scripts/run/run-step-cli.ts +3 -3
  352. package/scripts/run/run-step.ts +2 -2
  353. package/scripts/run/run-stop-notify.ts +1 -1
  354. package/scripts/run/run-stranded-detect.ts +4 -4
  355. package/scripts/run/run-stranded.ts +2 -2
  356. package/scripts/run/run-watcher-guard-cli.ts +1 -1
  357. package/scripts/run/run-watcher-guard.ts +5 -3
  358. package/scripts/run/run-watcher-hook.ts +1 -1
  359. package/scripts/run/{run-ship-cli.ts → ship/run-ship-cli.ts} +29 -8
  360. package/scripts/run/{run-ship-detach.ts → ship/run-ship-detach.ts} +3 -3
  361. package/scripts/run/ship/run-ship-lock.ts +50 -0
  362. package/scripts/run/{run-ship-next.ts → ship/run-ship-next.ts} +13 -0
  363. package/scripts/run/ship/run-ship-pre-detach.ts +66 -0
  364. package/scripts/run/{run-ship-preflight.ts → ship/run-ship-preflight.ts} +6 -2
  365. package/scripts/run/{run-ship-probe.ts → ship/run-ship-probe.ts} +2 -2
  366. package/scripts/run/{run-ship-return.ts → ship/run-ship-return.ts} +10 -6
  367. package/scripts/run/{run-ship-review-steps.ts → ship/run-ship-review-steps.ts} +3 -3
  368. package/scripts/run/{run-ship-scoped.ts → ship/run-ship-scoped.ts} +10 -1
  369. package/scripts/run/{run-ship-stage.ts → ship/run-ship-stage.ts} +13 -0
  370. package/scripts/run/{run-ship-steps.ts → ship/run-ship-steps.ts} +15 -8
  371. package/scripts/run/ship/run-ship-stop-text.ts +13 -0
  372. package/scripts/run/ship/run-ship-sync.ts +128 -0
  373. package/scripts/run/{run-ship.ts → ship/run-ship.ts} +6 -0
  374. package/scripts/run/{run-tidy-lanes.ts → tidy/run-tidy-lanes.ts} +1 -1
  375. package/scripts/run/{run-wake-cli.ts → wake/run-wake-cli.ts} +31 -9
  376. package/scripts/run/{run-wake-describe.ts → wake/run-wake-describe.ts} +3 -3
  377. package/scripts/run/{run-wake-driver.ts → wake/run-wake-driver.ts} +99 -17
  378. package/scripts/run/{run-wake-handoff.ts → wake/run-wake-handoff.ts} +1 -1
  379. package/scripts/run/{run-wake-loop.ts → wake/run-wake-loop.ts} +8 -2
  380. package/scripts/run/wake/run-wake-restart.ts +58 -0
  381. package/scripts/run/{run-wake-session.ts → wake/run-wake-session.ts} +3 -3
  382. package/scripts/run/{run-wake.ts → wake/run-wake.ts} +1 -1
  383. package/scripts/safe-chain/preinstall-command.ts +20 -21
  384. package/scripts/safe-chain/project-config.ts +19 -15
  385. package/scripts/sync/sync-ai-files.ts +1 -1
  386. package/scripts/sync/sync-configs.ts +2 -1
  387. package/scripts/sync/sync.ts +15 -2
  388. package/scripts/test/test-red-logic.ts +17 -2
  389. package/scripts/test/test-red.ts +8 -7
  390. package/scripts/test/unit-worker-share.ts +1 -0
  391. package/scripts/time-runtime/time-background.ts +5 -1
  392. package/scripts/time-runtime/time-instant.ts +3 -1
  393. package/scripts/time-runtime/time-spans.ts +6 -139
  394. package/scripts/time-runtime/time-tool-call.ts +160 -0
  395. package/scripts/time-runtime/time-transcript-line.ts +27 -1
  396. package/scripts/version/effective-upstream.ts +2 -20
  397. package/scripts/version/latest-corepack.ts +17 -17
  398. package/scripts/version/latest-regression.ts +1 -1
  399. package/scripts/version/latest-update.ts +4 -4
  400. package/scripts/version/npm-registry.ts +20 -5
  401. package/scripts/version/publishable-range-check.ts +2 -2
  402. package/scripts/version/publishable-range.ts +1 -1
  403. package/scripts/version/release-age.ts +48 -38
  404. package/scripts/version/release-hold.ts +1 -1
  405. package/scripts/version/safe-chain-version-update.ts +40 -0
  406. package/scripts/version/upgrade-shell-command.ts +48 -8
  407. package/scripts/version/version-check-logic.ts +23 -14
  408. package/scripts/version/version-commands.ts +23 -11
  409. package/scripts/version/version-remote.ts +28 -13
  410. package/templates/pnpm-workspace.basic.yaml +4 -0
  411. package/templates/workflows/dependabot-auto-merge.yml +5 -5
  412. package/templates/workflows/github-release.yml +2 -0
  413. package/scripts/build/build-config-merge.ts +0 -27
  414. package/scripts/build/build-managed-marker.ts +0 -27
  415. package/scripts/build/build-self-sync-guard.ts +0 -27
  416. package/scripts/build/build-version.ts +0 -26
  417. package/scripts/version/preinstall-version-update.ts +0 -86
  418. /package/scripts/overrides/{schemas.ts → overrides-schemas.ts} +0 -0
  419. /package/scripts/run/{run-carry-conversation.ts → carry/run-carry-conversation.ts} +0 -0
  420. /package/scripts/run/{run-carry-reclaim.ts → carry/run-carry-reclaim.ts} +0 -0
  421. /package/scripts/run/{run-carry-stash.ts → carry/run-carry-stash.ts} +0 -0
  422. /package/scripts/run/{run-carry-streak.ts → carry/run-carry-streak.ts} +0 -0
  423. /package/scripts/run/{run-cut-handoff.ts → cut/run-cut-handoff.ts} +0 -0
  424. /package/scripts/run/{run-entry-stop.ts → entry/run-entry-stop.ts} +0 -0
  425. /package/scripts/run/{run-event-cli.ts → event/run-event-cli.ts} +0 -0
  426. /package/scripts/run/{run-event-follow.ts → event/run-event-follow.ts} +0 -0
  427. /package/scripts/run/{run-event-render.ts → event/run-event-render.ts} +0 -0
  428. /package/scripts/run/{run-event-watch.ts → event/run-event-watch.ts} +0 -0
  429. /package/scripts/run/{run-hold.ts → hold/run-hold.ts} +0 -0
  430. /package/scripts/run/{run-progress-args.ts → progress/run-progress-args.ts} +0 -0
  431. /package/scripts/run/{run-progress-clock.ts → progress/run-progress-clock.ts} +0 -0
  432. /package/scripts/run/{run-review-cli.ts → review/run-review-cli.ts} +0 -0
  433. /package/scripts/run/{run-review.ts → review/run-review.ts} +0 -0
  434. /package/scripts/run/{run-ship-review.ts → ship/run-ship-review.ts} +0 -0
  435. /package/scripts/run/{run-tidy-cli.ts → tidy/run-tidy-cli.ts} +0 -0
  436. /package/scripts/run/{run-tidy-stashes.ts → tidy/run-tidy-stashes.ts} +0 -0
  437. /package/scripts/run/{run-tidy.ts → tidy/run-tidy.ts} +0 -0
@@ -0,0 +1,346 @@
1
+ #!/usr/bin/env tsx
2
+ import {
3
+ timed_fetch
4
+ } from "./chunk-5VNDSNG3.js";
5
+ import {
6
+ error_text
7
+ } from "./chunk-CDY4NFQG.js";
8
+ import {
9
+ PROJECT_ROOT,
10
+ stamp_file
11
+ } from "./chunk-ELCN5LCH.js";
12
+
13
+ // scripts/security/security-audit-provision.ts
14
+ import { chmodSync, mkdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
15
+ import path2 from "node:path";
16
+ import { fileURLToPath as fileURLToPath2 } from "node:url";
17
+
18
+ // scripts/security/security-audit.ts
19
+ import { accessSync, constants, statSync } from "node:fs";
20
+ import { fileURLToPath } from "node:url";
21
+ import { execaSync } from "execa";
22
+
23
+ // scripts/security/security-audit-logic.ts
24
+ import path from "node:path";
25
+ var BINARY_NAME = "osv-scanner";
26
+ var LOCKFILE_PATH = "pnpm-lock.yaml";
27
+ var MANAGED_TOOL_SEGMENTS = ["node_modules", ".cache", "josh-tools"];
28
+ var WINDOWS_PLATFORM = "win32";
29
+ var WINDOWS_BINARY_SUFFIX = ".exe";
30
+ var INSTALL_INSTRUCTIONS = [
31
+ "",
32
+ "Install options:",
33
+ " Managed: pnpm josh audit:provision",
34
+ " macOS: brew install osv-scanner",
35
+ " Go: go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest",
36
+ ' Docker: docker run --rm -v "$PWD:/src" ghcr.io/google/osv-scanner --lockfile=/src/pnpm-lock.yaml',
37
+ "",
38
+ "Docs: https://google.github.io/osv-scanner/"
39
+ ].join("\n");
40
+ function build_scanner_arguments(lockfile_path) {
41
+ return [`--lockfile=${lockfile_path}`];
42
+ }
43
+ function build_managed_binary_path(project_root, platform) {
44
+ const suffix = platform === WINDOWS_PLATFORM ? WINDOWS_BINARY_SUFFIX : "";
45
+ return path.join(project_root, ...MANAGED_TOOL_SEGMENTS, `${BINARY_NAME}${suffix}`);
46
+ }
47
+ function format_missing_binary_error(binary_name) {
48
+ return `${binary_name} is not installed.
49
+ ${INSTALL_INSTRUCTIONS}`;
50
+ }
51
+ var security_audit_logic = {
52
+ BINARY_NAME,
53
+ LOCKFILE_PATH,
54
+ build_managed_binary_path,
55
+ build_scanner_arguments,
56
+ format_missing_binary_error
57
+ };
58
+
59
+ // scripts/security/security-audit-provision-logic.ts
60
+ var SCANNER_VERSION = "2.6.0";
61
+ var MINIMUM_SCANNER_VERSION = SCANNER_VERSION;
62
+ var RELEASE_BASE_URL = "https://github.com/google/osv-scanner/releases/download";
63
+ var WINDOWS_PLATFORM2 = "win32";
64
+ var WINDOWS_ASSET_SUFFIX = ".exe";
65
+ var STAGING_SUFFIX = ".download";
66
+ var SESSION_DOWNLOAD_TIMEOUT_MS = 6e4;
67
+ var FORCED_DOWNLOAD_TIMEOUT_MS = 6e5;
68
+ function build_download_timeout(is_forced) {
69
+ return is_forced ? FORCED_DOWNLOAD_TIMEOUT_MS : SESSION_DOWNLOAD_TIMEOUT_MS;
70
+ }
71
+ var MS_PER_HOUR = 36e5;
72
+ var HOURS_BEFORE_RETRY = 6;
73
+ var RETRY_INTERVAL_MS = HOURS_BEFORE_RETRY * MS_PER_HOUR;
74
+ var PLATFORM_NAMES = {
75
+ darwin: "darwin",
76
+ linux: "linux",
77
+ win32: "windows"
78
+ };
79
+ var ARCHITECTURE_NAMES = {
80
+ arm64: "arm64",
81
+ x64: "amd64"
82
+ };
83
+ var ASSET_CHECKSUMS = {
84
+ "osv-scanner_darwin_amd64": "60c5296637e977b28eeda5c7f13573e447659a632922737f94d11fa7e30ad6ca",
85
+ "osv-scanner_darwin_arm64": "98c460dcd37de25819babd757d04542045b6243113e209edcd4d89fedb0256b4",
86
+ "osv-scanner_linux_amd64": "ca69b3d3cd08f889a49dc0a383122f71cc528b83803671df5fd874d97485b108",
87
+ "osv-scanner_linux_arm64": "2c71403eb443d05891c4f268c3ad771cf4f16e5443463fd7851ef8f454d3c7e4",
88
+ "osv-scanner_windows_amd64.exe": "e0ed7644118b717b028c249ee9d3515024e55e8510747ca08906eb96765354d6",
89
+ "osv-scanner_windows_arm64.exe": "ca1379da0e408279ef2c85cde0846a903495738a91c7b065a208048437c1686c"
90
+ };
91
+ function build_asset_name(platform, architecture) {
92
+ const platform_name = PLATFORM_NAMES[platform];
93
+ const architecture_name = ARCHITECTURE_NAMES[architecture];
94
+ if (platform_name === void 0 || architecture_name === void 0) return void 0;
95
+ const suffix = platform === WINDOWS_PLATFORM2 ? WINDOWS_ASSET_SUFFIX : "";
96
+ return `${security_audit_logic.BINARY_NAME}_${platform_name}_${architecture_name}${suffix}`;
97
+ }
98
+ function build_download_url(asset_name) {
99
+ return `${RELEASE_BASE_URL}/v${SCANNER_VERSION}/${asset_name}`;
100
+ }
101
+ function build_staging_path(target_path, process_id) {
102
+ return `${target_path}.${String(process_id)}${STAGING_SUFFIX}`;
103
+ }
104
+ function resolve_asset(platform, architecture) {
105
+ const name = build_asset_name(platform, architecture);
106
+ if (name === void 0) return void 0;
107
+ const sha256 = ASSET_CHECKSUMS[name];
108
+ if (sha256 === void 0) return void 0;
109
+ return { name, sha256, url: build_download_url(name) };
110
+ }
111
+ function format_already_present(location) {
112
+ return `osv-scanner is already available (${location}); nothing to provision.`;
113
+ }
114
+ function format_unsupported_platform(platform, architecture) {
115
+ return `No pinned osv-scanner build for ${platform}/${architecture}; install it manually to run the pre-push audit.`;
116
+ }
117
+ function format_download_failure(url, reason) {
118
+ return `Could not fetch osv-scanner from ${url}: ${reason}. Run \`pnpm josh audit:provision --force\` to retry with a longer timeout; until then the pre-push audit will report the missing binary.`;
119
+ }
120
+ function format_checksum_mismatch(asset_name, expected, actual) {
121
+ return `Checksum mismatch for ${asset_name}: expected ${expected}, got ${actual}. Nothing was installed.`;
122
+ }
123
+ function format_installed(target_path) {
124
+ return `Installed osv-scanner v${SCANNER_VERSION} at ${target_path}.`;
125
+ }
126
+ function format_recent_failure() {
127
+ return `A previous attempt to provision osv-scanner failed less than ${String(HOURS_BEFORE_RETRY)} hours ago; not retrying at session start. Run \`pnpm josh audit:provision --force\` to try again now.`;
128
+ }
129
+ function format_provision_error(reason) {
130
+ return `Could not provision osv-scanner: ${reason}. The pre-push audit will report the missing binary.`;
131
+ }
132
+ var SCANNER_VERSION_PATTERN = /osv-scanner version:\s*(\d+\.\d+\.\d+)/u;
133
+ function parse_scanner_version(version_output) {
134
+ return SCANNER_VERSION_PATTERN.exec(version_output)?.[1];
135
+ }
136
+ function to_version_parts(version) {
137
+ return version.split(".").map(Number);
138
+ }
139
+ function compare_versions(left, right) {
140
+ const left_parts = to_version_parts(left);
141
+ const right_parts = to_version_parts(right);
142
+ const length = Math.max(left_parts.length, right_parts.length);
143
+ for (let index = 0; index < length; index += 1) {
144
+ const difference = (left_parts[index] ?? 0) - (right_parts[index] ?? 0);
145
+ if (difference !== 0) return difference;
146
+ }
147
+ return 0;
148
+ }
149
+ function meets_version_floor(version) {
150
+ return compare_versions(version, MINIMUM_SCANNER_VERSION) >= 0;
151
+ }
152
+ function format_below_floor(version) {
153
+ return `osv-scanner ${version} is below the required v${MINIMUM_SCANNER_VERSION}; older builds parse only part of pnpm-lock.yaml, so a clean result here is not proof the lockfile is clean. Run \`pnpm josh audit:provision --force\` to install v${SCANNER_VERSION}.`;
154
+ }
155
+ var security_audit_provision_logic = {
156
+ RETRY_INTERVAL_MS,
157
+ SESSION_DOWNLOAD_TIMEOUT_MS,
158
+ SCANNER_VERSION,
159
+ MINIMUM_SCANNER_VERSION,
160
+ build_asset_name,
161
+ build_download_timeout,
162
+ build_download_url,
163
+ build_staging_path,
164
+ format_already_present,
165
+ format_below_floor,
166
+ format_checksum_mismatch,
167
+ format_download_failure,
168
+ format_installed,
169
+ format_provision_error,
170
+ format_recent_failure,
171
+ format_unsupported_platform,
172
+ meets_version_floor,
173
+ parse_scanner_version,
174
+ resolve_asset
175
+ };
176
+
177
+ // scripts/security/security-audit.ts
178
+ var FAILURE_EXIT_CODE = 1;
179
+ var UNKNOWN_VERSION = "unknown";
180
+ function is_binary_available(binary_name) {
181
+ const result = execaSync(binary_name, ["--version"], { stdio: "ignore", reject: false });
182
+ return result.exitCode !== void 0;
183
+ }
184
+ function scanner_version(binary_or_path) {
185
+ const result = execaSync(binary_or_path, ["--version"], { reject: false });
186
+ if (result.exitCode === void 0) return void 0;
187
+ return security_audit_provision_logic.parse_scanner_version(result.stdout);
188
+ }
189
+ function meets_floor(binary_or_path) {
190
+ const version = scanner_version(binary_or_path);
191
+ return version !== void 0 && security_audit_provision_logic.meets_version_floor(version);
192
+ }
193
+ function is_executable_file(candidate_path) {
194
+ try {
195
+ accessSync(candidate_path, constants.X_OK);
196
+ const stats = statSync(candidate_path);
197
+ return stats.isFile() && stats.size > 0;
198
+ } catch {
199
+ return false;
200
+ }
201
+ }
202
+ function managed_scanner(project_root, platform) {
203
+ const managed_path = security_audit_logic.build_managed_binary_path(project_root, platform);
204
+ return is_executable_file(managed_path) && meets_floor(managed_path) ? managed_path : void 0;
205
+ }
206
+ function resolve_scanner(project_root, platform) {
207
+ const { BINARY_NAME: BINARY_NAME2 } = security_audit_logic;
208
+ const has_path_binary = is_binary_available(BINARY_NAME2);
209
+ if (has_path_binary && meets_floor(BINARY_NAME2)) {
210
+ return { path: BINARY_NAME2, is_below_floor: false };
211
+ }
212
+ const managed = managed_scanner(project_root, platform);
213
+ if (managed !== void 0) return { path: managed, is_below_floor: false };
214
+ return has_path_binary ? { path: BINARY_NAME2, is_below_floor: true } : void 0;
215
+ }
216
+ var FORWARDED_OUTPUT = ["inherit", "pipe"];
217
+ function run_scanner(scanner_path) {
218
+ const { LOCKFILE_PATH: LOCKFILE_PATH2, build_scanner_arguments: build_scanner_arguments2 } = security_audit_logic;
219
+ const result = execaSync(scanner_path, [...build_scanner_arguments2(LOCKFILE_PATH2)], {
220
+ stdin: "inherit",
221
+ stdout: FORWARDED_OUTPUT,
222
+ stderr: FORWARDED_OUTPUT,
223
+ reject: false
224
+ });
225
+ return result.exitCode ?? FAILURE_EXIT_CODE;
226
+ }
227
+ function warn_below_floor(scanner_path) {
228
+ const version = scanner_version(scanner_path) ?? UNKNOWN_VERSION;
229
+ console.warn(security_audit_provision_logic.format_below_floor(version));
230
+ }
231
+ function main() {
232
+ const { BINARY_NAME: BINARY_NAME2, format_missing_binary_error: format_missing_binary_error2 } = security_audit_logic;
233
+ const choice = resolve_scanner(PROJECT_ROOT, process.platform);
234
+ if (choice === void 0) {
235
+ console.error(format_missing_binary_error2(BINARY_NAME2));
236
+ process.exit(FAILURE_EXIT_CODE);
237
+ }
238
+ if (choice.is_below_floor) warn_below_floor(choice.path);
239
+ process.exit(run_scanner(choice.path));
240
+ }
241
+ if (process.argv[1] === fileURLToPath(import.meta.url)) main();
242
+ var security_audit = {
243
+ is_binary_available,
244
+ is_executable_file,
245
+ meets_floor,
246
+ resolve_scanner,
247
+ run_scanner
248
+ };
249
+
250
+ // scripts/security/security-audit-provision.ts
251
+ var EXECUTABLE_MODE = 493;
252
+ var FAILURE_STAMP_PREFIX = "josh-audit-provision-";
253
+ var FORCE_FLAG = "--force";
254
+ var PATH_LOCATION = "on PATH";
255
+ var { RETRY_INTERVAL_MS: RETRY_INTERVAL_MS2 } = security_audit_provision_logic;
256
+ async function download(url, timeout_ms) {
257
+ try {
258
+ const response = await timed_fetch(url, {}, timeout_ms);
259
+ if (!response.ok) return { reason: `HTTP ${String(response.status)}` };
260
+ return { content: Buffer.from(await response.arrayBuffer()), reason: "" };
261
+ } catch (error) {
262
+ return { reason: error_text.message_of(error) };
263
+ }
264
+ }
265
+ function install(target_path, content) {
266
+ const staging_path = security_audit_provision_logic.build_staging_path(target_path, process.pid);
267
+ mkdirSync(path2.dirname(target_path), { recursive: true });
268
+ try {
269
+ writeFileSync(staging_path, content);
270
+ chmodSync(staging_path, EXECUTABLE_MODE);
271
+ renameSync(staging_path, target_path);
272
+ } finally {
273
+ rmSync(staging_path, { force: true });
274
+ }
275
+ }
276
+ function failure_stamp_path(target_path) {
277
+ return stamp_file.stamp_path(FAILURE_STAMP_PREFIX, target_path);
278
+ }
279
+ function is_in_backoff(target_path) {
280
+ const recorded = Number(stamp_file.read_stamp_text(failure_stamp_path(target_path)));
281
+ return Number.isFinite(recorded) && Date.now() - recorded < RETRY_INTERVAL_MS2;
282
+ }
283
+ function record_failure(target_path, message) {
284
+ stamp_file.write_stamp(failure_stamp_path(target_path), Date.now());
285
+ return message;
286
+ }
287
+ async function provision(target_path, asset, timeout_ms) {
288
+ const { format_checksum_mismatch: format_checksum_mismatch2, format_download_failure: format_download_failure2, format_installed: format_installed2 } = security_audit_provision_logic;
289
+ const outcome = await download(asset.url, timeout_ms);
290
+ if (outcome.content === void 0) {
291
+ return { is_installed: false, message: format_download_failure2(asset.url, outcome.reason) };
292
+ }
293
+ const actual = stamp_file.digest(outcome.content);
294
+ if (actual !== asset.sha256) {
295
+ return {
296
+ is_installed: false,
297
+ message: format_checksum_mismatch2(asset.name, asset.sha256, actual)
298
+ };
299
+ }
300
+ install(target_path, outcome.content);
301
+ return { is_installed: true, message: format_installed2(target_path) };
302
+ }
303
+ async function attempt(target_path, asset, timeout_ms) {
304
+ try {
305
+ const outcome = await provision(target_path, asset, timeout_ms);
306
+ if (!outcome.is_installed) return record_failure(target_path, outcome.message);
307
+ stamp_file.remove_stamp(failure_stamp_path(target_path));
308
+ return outcome.message;
309
+ } catch (error) {
310
+ return record_failure(
311
+ target_path,
312
+ security_audit_provision_logic.format_provision_error(error_text.message_of(error))
313
+ );
314
+ }
315
+ }
316
+ function existing_scanner(target_path) {
317
+ const { BINARY_NAME: BINARY_NAME2 } = security_audit_logic;
318
+ if (security_audit.meets_floor(BINARY_NAME2)) return PATH_LOCATION;
319
+ const is_managed_usable = security_audit.is_executable_file(target_path) && security_audit.meets_floor(target_path);
320
+ return is_managed_usable ? target_path : void 0;
321
+ }
322
+ async function report(project_root, platform, architecture, is_forced) {
323
+ const logic = security_audit_provision_logic;
324
+ const target_path = security_audit_logic.build_managed_binary_path(project_root, platform);
325
+ const existing = existing_scanner(target_path);
326
+ if (existing !== void 0) return logic.format_already_present(existing);
327
+ const asset = logic.resolve_asset(platform, architecture);
328
+ if (asset === void 0) return logic.format_unsupported_platform(platform, architecture);
329
+ if (!is_forced && is_in_backoff(target_path)) return logic.format_recent_failure();
330
+ return await attempt(target_path, asset, logic.build_download_timeout(is_forced));
331
+ }
332
+ async function main2() {
333
+ const is_forced = process.argv.includes(FORCE_FLAG);
334
+ try {
335
+ console.info(await report(PROJECT_ROOT, process.platform, process.arch, is_forced));
336
+ } catch (error) {
337
+ console.warn(
338
+ security_audit_provision_logic.format_provision_error(error_text.message_of(error))
339
+ );
340
+ }
341
+ }
342
+ if (process.argv[1] === fileURLToPath2(import.meta.url)) await main2();
343
+ var security_audit_provision = { attempt, provision, report };
344
+ export {
345
+ security_audit_provision
346
+ };
@@ -9,12 +9,13 @@ import {
9
9
  load_environment_file,
10
10
  notice_refusal_path,
11
11
  refusal_path
12
- } from "./chunk-V2BTOZHT.js";
13
- import "./chunk-GYNGP7HI.js";
14
- import "./chunk-5KTCMCOT.js";
15
- import "./chunk-DYAVAM6S.js";
12
+ } from "./chunk-RNWHN5BP.js";
13
+ import "./chunk-VC3PZPZO.js";
14
+ import "./chunk-6HJJXRBX.js";
15
+ import "./chunk-55HHG5PX.js";
16
16
  import "./chunk-WPALEIRX.js";
17
17
  import "./chunk-RKUAD3I6.js";
18
+ import "./chunk-ELCN5LCH.js";
18
19
  export {
19
20
  DISABLED_VALUES,
20
21
  SWITCH_ENV_KEY,