dsh-pstack 0.3.0-beta.1 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +122 -76
- package/README.zh.md +116 -70
- package/assets/agent-presets.png +0 -0
- package/assets/plugin-configure.png +0 -0
- package/assets/plugin-recommended.png +0 -0
- package/assets/plugin-roles.png +0 -0
- package/assets/session-preset.png +0 -0
- package/cordis.patch.yml +332 -24
- package/dist/budget.d.mts +82 -0
- package/dist/budget.mjs +293 -0
- package/dist/catalogue-wgVaGeUx.d.mts +27 -0
- package/dist/catalogue.d.mts +2 -0
- package/dist/catalogue.mjs +116 -0
- package/dist/client.js +4072 -0
- package/dist/index.d.mts +2 -87
- package/dist/index.mjs +3 -394
- package/dist/models.d.mts +11 -40
- package/dist/models.mjs +47 -107
- package/dist/paths.d.mts +13 -0
- package/dist/paths.mjs +26 -0
- package/dist/poteto-mode.d.mts +37 -0
- package/dist/poteto-mode.mjs +61 -0
- package/dist/preset-copy.d.mts +12 -0
- package/dist/preset-copy.mjs +64 -0
- package/dist/preset.d.mts +31 -0
- package/dist/preset.mjs +51 -0
- package/dist/pstack/docs/harness/dsh.md +40 -40
- package/dist/pstack/plugin.json +21 -0
- package/dist/pstack/skills/poteto-mode/scripts/bootstrap.ts +62 -0
- package/dist/pstack/skills/poteto-mode/scripts/bun.lock +67 -0
- package/dist/pstack/skills/poteto-mode/scripts/check-plan.mjs +70 -83
- package/dist/pstack/skills/poteto-mode/scripts/{check-plan.test.mjs → check-plan.test.ts} +24 -42
- package/dist/pstack/skills/poteto-mode/scripts/package.json +16 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.ts +224 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/cli.ts +223 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +129 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/github.test.ts +498 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/github.ts +726 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.ts +482 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/policy.ts +842 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/render.ts +169 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/tsconfig.json +13 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/types.compile.ts +93 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/types.ts +414 -0
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr +6 -0
- package/dist/pstack/skills/poteto-mode/scripts/worktree-audit.sh +134 -0
- package/dist/pstack/skills/show-me-your-work/scripts/log.sh +42 -0
- package/dist/pstack/skills/statechart/scripts/backends/cfg.ts +33 -0
- package/dist/pstack/skills/statechart/scripts/backends/mermaid.ts +201 -0
- package/dist/pstack/skills/statechart/scripts/backends/plain-text.ts +72 -0
- package/dist/pstack/skills/statechart/scripts/backends/report.ts +177 -0
- package/dist/pstack/skills/statechart/scripts/frontends/config.ts +276 -0
- package/dist/pstack/skills/statechart/scripts/frontends/dot.ts +74 -0
- package/dist/pstack/skills/statechart/scripts/frontends/marks.ts +93 -0
- package/dist/pstack/skills/statechart/scripts/frontends/messages.ts +52 -0
- package/dist/pstack/skills/statechart/scripts/frontends/spec.ts +114 -0
- package/dist/pstack/skills/statechart/scripts/frontends/trace.ts +24 -0
- package/dist/pstack/skills/statechart/scripts/frontends/value.ts +166 -0
- package/dist/pstack/skills/statechart/scripts/frontends/verdict.ts +40 -0
- package/dist/pstack/skills/statechart/scripts/frontends/view.ts +119 -0
- package/dist/pstack/skills/statechart/scripts/ir.ts +547 -0
- package/dist/pstack/skills/statechart/scripts/package.json +11 -0
- package/dist/pstack/skills/statechart/scripts/passes/annotate.ts +128 -0
- package/dist/pstack/skills/statechart/scripts/passes/label.ts +269 -0
- package/dist/pstack/skills/statechart/scripts/passes/lift.ts +85 -0
- package/dist/pstack/skills/statechart/scripts/passes/loop-check.ts +68 -0
- package/dist/pstack/skills/statechart/scripts/passes/paths.ts +60 -0
- package/dist/pstack/skills/statechart/scripts/passes/reach.ts +135 -0
- package/dist/pstack/skills/statechart/scripts/passes/region-check.ts +97 -0
- package/dist/pstack/skills/statechart/scripts/passes/regions.ts +295 -0
- package/dist/pstack/skills/statechart/scripts/pipeline.ts +76 -0
- package/dist/pstack/skills/statechart/scripts/run.ts +481 -0
- package/dist/pstack/skills/statechart/scripts/statechart +29 -0
- package/dist/pstack/skills/statechart/scripts/statechart.ts +164 -0
- package/dist/pstack/skills/statechart/scripts/test/ConfigOracle.java +63 -0
- package/dist/pstack/skills/statechart/scripts/test/chart.test.ts +1210 -0
- package/dist/pstack/skills/statechart/scripts/test/charts/Braces.mmd +7 -0
- package/dist/pstack/skills/statechart/scripts/test/charts/Escapes.mmd +11 -0
- package/dist/pstack/skills/statechart/scripts/test/charts/Phases.mmd +29 -0
- package/dist/pstack/skills/statechart/scripts/test/cli.test.ts +1314 -0
- package/dist/pstack/skills/statechart/scripts/test/config-fuzz.test.ts +263 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/Counter.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/Counter.tla +10 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/chart.mmd +9 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/graph.dot +16 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/report.md +7 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/verdict-1.out +49 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/ChartRun.out +60 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/CounterAction.cfg +4 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/CounterAction.tla +22 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/chart.mmd +26 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/graph.dot +19 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/report.md +20 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-1.out +56 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-2.out +82 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-3.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/ChartRun.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/CounterDeadlock.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/CounterDeadlock.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/chart.mmd +22 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/graph.dot +16 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/report.md +17 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-1.out +56 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-2.out +77 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/ChartRun.out +69 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/CounterFan.cfg +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/CounterFan.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/chart.mmd +85 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/graph.dot +70 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/report.md +12 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/verdict-1.out +67 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/verdict-2.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/ChartRun.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/ChartRun.out +85 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/CounterGuard.cfg +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/CounterGuard.tla +13 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/chart.mmd +5 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/graph.dot +10 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/report.md +31 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/verdict-1.out +64 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/verdict-2.out +77 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/ChartRun.out +55 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/CounterInitPast.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/CounterInitPast.tla +10 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/chart.mmd +12 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/graph.dot +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/report.md +12 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-1.out +33 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-2.out +54 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/ChartRun.out +54 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.tla +10 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/chart.mmd +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/graph.dot +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/report.md +7 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/verdict-1.out +46 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/ChartRun.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/CounterInstance.cfg +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/CounterInstance.tla +10 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/CounterSteps.tla +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/chart.mmd +17 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/graph.dot +15 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/report.md +14 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/sany.out +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/verdict-1.out +78 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/ChartRun.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/CounterJump.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/CounterJump.tla +19 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/chart.mmd +26 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/graph.dot +22 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/report.md +12 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/verdict-1.out +58 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/verdict-2.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/CounterLoop.cfg +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/CounterLoop.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/chart.mmd +17 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/graph.dot +15 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/report.md +14 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/verdict-1.out +76 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/ChartRun.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/CounterOrder.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/CounterOrder.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/chart.mmd +19 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/graph.dot +10 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/report.md +15 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/verdict-1.out +56 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/verdict-2.out +67 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/ChartRun.out +62 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/CounterRules.cfg +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/CounterRules.tla +24 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/Moves.tla +5 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/chart.mmd +22 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/graph.dot +10 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/report.md +23 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/sany.out +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-1.out +58 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-2.out +66 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-3.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-3.out +74 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-4.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/ChartRun.out +58 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/CounterStart.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/CounterStart.tla +15 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/chart.mmd +18 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/graph.dot +13 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/report.md +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/verdict-1.out +33 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/verdict-2.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/CounterStop.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/CounterStop.tla +15 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/chart.mmd +7 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/graph.dot +13 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/report.md +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/verdict-1.out +49 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/ChartRun.out +61 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/CounterTie.cfg +4 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/CounterTie.tla +14 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/chart.mmd +30 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/graph.dot +19 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/report.md +27 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-1.out +56 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-2.out +64 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-3.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-3.out +87 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-4.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/ChartRun.out +60 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/CounterTieInGraph.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/CounterTieInGraph.tla +12 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/chart.mmd +23 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/graph.dot +19 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/report.md +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-1.out +56 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-2.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/ChartRun.out +61 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/CounterView.cfg +4 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/CounterView.tla +14 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/chart.mmd +23 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/graph.dot +19 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/report.md +27 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-1.out +56 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-2.out +64 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-3.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-3.out +87 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-4.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/view.mjs +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/ChartRun.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/DieHard.cfg +4 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/DieHard.tla +38 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/chart.mmd +92 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/graph.dot +126 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/report.md +17 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/verdict-1.out +91 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/verdict-2.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/ChartRun.out +61 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/FirstRule.cfg +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/FirstRule.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/chart.mmd +22 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/graph.dot +16 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/report.md +25 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-1.out +56 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-2.out +64 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-3.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-3.out +64 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-4.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-4.out +77 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/HiddenClock.cfg +4 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/HiddenClock.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/chart.mmd +13 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/graph.dot +12 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/report.md +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/verdict-1.out +72 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/Login.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/Login.tla +62 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/chart.mmd +27 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/graph.dot +40 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/report.md +7 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/sany.out +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/verdict-1.out +47 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Login/view.mjs +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/LoginGuarded.cfg +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/LoginGuarded.tla +64 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/chart.mmd +28 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/graph.dot +37 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/report.md +8 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/sany.out +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/verdict-1.out +47 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/view.mjs +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/ChartRun.out +60 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/LoginParallel.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/LoginParallel.tla +64 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/chart.mmd +44 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/graph.dot +58 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/report.md +17 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/sany.out +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/verdict-1.out +83 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/verdict-2.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/view.mjs +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/ChartRun.out +60 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/MediaPlayer.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/MediaPlayer.tla +103 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/chart.mmd +43 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/graph.dot +93 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/report.md +14 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/sany.out +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-1.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-2.out +72 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/view.mjs +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.cfg +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.tla +100 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/chart.mmd +31 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/graph.dot +85 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/report.md +9 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/sany.out +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/verdict-1.out +47 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/view.mjs +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/ChartRun.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayer.tla +103 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayerProps.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayerProps.tla +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/chart.mmd +42 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/graph.dot +93 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/report.md +19 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-1.out +61 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-2.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-3.out +61 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-4.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-4.out +66 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-5.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-5.out +58 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-6.out +49 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/view.mjs +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/PickWorker.cfg +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/PickWorker.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/chart.mmd +5 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/graph.dot +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/report.md +7 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/sany.out +5 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/verdict-1.out +70 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/ChartRun.out +61 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/Shadow.cfg +4 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/Shadow.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/ShadowLib.tla +6 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/ShadowSub.tla +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/chart.mmd +9 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/graph.dot +16 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/report.md +8 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/sany.out +4 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/verdict-1.out +65 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/ChartRun.out +59 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/SpacedNames.cfg +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/SpacedNames.tla +9 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/chart.mmd +23 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/graph.dot +17 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/report.md +15 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/sany.out +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/verdict-1.out +65 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/verdict-2.out +75 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/ChartRun.out +69 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.tla +75 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/chart.mmd +60 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/graph.dot +297 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/report.md +20 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/sany.out +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/verdict-1.out +95 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/verdict-2.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/view.mjs +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/ChartRun.out +57 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.cfg +3 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tla +75 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/chart.mmd +37 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/graph.dot +223 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/report.md +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/sany.out +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/verdict-1.out +47 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/view.mjs +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/ChartRun.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/ChartRun.out +75 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/TypeGuard.cfg +5 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/TypeGuard.tla +11 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/chart.mmd +18 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/graph.dot +14 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/report.md +29 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/verdict-1.out +64 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/verdict-2.out +75 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/ChartRun.out +58 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/UserNoDeadlock.cfg +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/UserNoDeadlock.tla +8 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/chart.mmd +22 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/graph.dot +16 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/report.md +15 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-1.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-1.out +56 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-2.exit +1 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-2.out +77 -0
- package/dist/pstack/skills/statechart/scripts/test/corpus.test.ts +403 -0
- package/dist/pstack/skills/statechart/scripts/test/differential.test.ts +565 -0
- package/dist/pstack/skills/statechart/scripts/test/grid/Grid.cfg +2 -0
- package/dist/pstack/skills/statechart/scripts/test/grid/Grid.tla +9 -0
- package/dist/pstack/skills/statechart/scripts/test/grid/sany.out +2 -0
- package/dist/pstack/skills/statechart/scripts/test/java.ts +63 -0
- package/dist/pstack/skills/statechart/scripts/test/labels.ts +643 -0
- package/dist/pstack/skills/statechart/scripts/test/messages.test.ts +212 -0
- package/dist/pstack/skills/statechart/scripts/test/pipeline.test.ts +270 -0
- package/dist/pstack/skills/statechart/scripts/test/plain-tlc.test.ts +255 -0
- package/dist/pstack/skills/statechart/scripts/test/render.test.ts +81 -0
- package/dist/pstack/skills/statechart/scripts/test/tlc-out.test.ts +90 -0
- package/dist/pstack/skills/statechart/scripts/test/tlc.ts +158 -0
- package/dist/pstack/skills/statechart/scripts/tsconfig.json +11 -0
- package/dist/pstack/skills/statechart/scripts/worker.ts +35 -0
- package/dist/readonly.d.mts +3 -0
- package/dist/readonly.mjs +9 -0
- package/dist/role-catalog.d.mts +11 -24
- package/dist/role-catalog.mjs +17 -32
- package/dist/role-config.d.mts +41 -0
- package/dist/role-config.mjs +112 -0
- package/dist/role-editor.d.mts +25 -0
- package/dist/role-editor.mjs +372 -0
- package/dist/role-file-CIVHnhBg.d.mts +53 -0
- package/dist/role-file.d.mts +2 -0
- package/dist/role-file.mjs +121 -0
- package/dist/{role-manifest-8OERX9-s.d.mts → role-manifest-D1npMjqZ.d.mts} +21 -10
- package/dist/role-manifest.d.mts +2 -0
- package/dist/{role-manifest-79cnFfDM.mjs → role-manifest.mjs} +20 -16
- package/dist/role-remote.d.mts +23 -0
- package/dist/role-remote.mjs +106 -0
- package/dist/{roles.d.mts → role-service.d.mts} +8 -4
- package/dist/role-service.mjs +43 -0
- package/dist/role-wire.d.mts +54 -0
- package/dist/role-wire.mjs +127 -0
- package/dist/route-7SqXDYrL.d.mts +36 -0
- package/dist/route.d.mts +2 -0
- package/dist/route.mjs +78 -0
- package/dist/skill.d.mts +9 -23
- package/dist/skill.mjs +28 -37
- package/dist/skills/authored/docs-drift/SKILL.md +4 -4
- package/dist/skills/authored/docs-drift/SKILL.zh.md +4 -4
- package/dist/skills/vendored/control-cli/SKILL.md +109 -0
- package/dist/skills/vendored/control-ui/SKILL.md +109 -0
- package/dist/skills/vendored/deslop/SKILL.md +22 -0
- package/dist/subagent.d.mts +60 -169
- package/dist/subagent.mjs +344 -587
- package/dist/wire-error-D_r-UW4w.d.mts +5 -0
- package/dist/wire-error.d.mts +2 -0
- package/dist/wire-error.mjs +9 -0
- package/locale/en.json +1 -1
- package/package.json +51 -35
- package/assets/pstack-config-entry.png +0 -0
- package/dist/client.mjs +0 -2482
- package/dist/client.mjs.map +0 -1
- package/dist/host-contract-CUPSpeNk.d.mts +0 -22
- package/dist/paths-yji9SNak.mjs +0 -47
- package/dist/pstack/skills/poteto-mode/scripts/expect.mjs +0 -254
- package/dist/pstack/skills/poteto-mode/scripts/support.mjs +0 -93
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/cli.mjs +0 -123
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.mjs +0 -217
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.mjs +0 -119
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/github.mjs +0 -626
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/github.test.mjs +0 -521
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/policy.mjs +0 -657
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.mjs +0 -523
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/render.mjs +0 -106
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/types.mjs +0 -9
- package/dist/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr.mjs +0 -5
- package/dist/pstack/skills/poteto-mode/scripts/worktree-audit.mjs +0 -668
- package/dist/pstack/skills/poteto-mode/scripts/worktree-audit.test.mjs +0 -134
- package/dist/pstack/skills/show-me-your-work/scripts/log.mjs +0 -106
- package/dist/pstack/skills/show-me-your-work/scripts/log.test.mjs +0 -56
- package/dist/pstack/skills/statechart/scripts/backends/cfg.mjs +0 -31
- package/dist/pstack/skills/statechart/scripts/backends/mermaid.mjs +0 -186
- package/dist/pstack/skills/statechart/scripts/backends/plain-text.mjs +0 -62
- package/dist/pstack/skills/statechart/scripts/backends/report.mjs +0 -84
- package/dist/pstack/skills/statechart/scripts/frontends/config.mjs +0 -268
- package/dist/pstack/skills/statechart/scripts/frontends/dot.mjs +0 -67
- package/dist/pstack/skills/statechart/scripts/frontends/marks.mjs +0 -94
- package/dist/pstack/skills/statechart/scripts/frontends/messages.mjs +0 -48
- package/dist/pstack/skills/statechart/scripts/frontends/spec.mjs +0 -101
- package/dist/pstack/skills/statechart/scripts/frontends/trace.mjs +0 -39
- package/dist/pstack/skills/statechart/scripts/frontends/value.mjs +0 -180
- package/dist/pstack/skills/statechart/scripts/frontends/verdict.mjs +0 -40
- package/dist/pstack/skills/statechart/scripts/frontends/view.mjs +0 -99
- package/dist/pstack/skills/statechart/scripts/ir.mjs +0 -277
- package/dist/pstack/skills/statechart/scripts/passes/annotate.mjs +0 -92
- package/dist/pstack/skills/statechart/scripts/passes/label.mjs +0 -210
- package/dist/pstack/skills/statechart/scripts/passes/lift.mjs +0 -84
- package/dist/pstack/skills/statechart/scripts/passes/loop-check.mjs +0 -47
- package/dist/pstack/skills/statechart/scripts/passes/paths.mjs +0 -72
- package/dist/pstack/skills/statechart/scripts/passes/reach.mjs +0 -135
- package/dist/pstack/skills/statechart/scripts/passes/region-check.mjs +0 -82
- package/dist/pstack/skills/statechart/scripts/passes/regions.mjs +0 -268
- package/dist/pstack/skills/statechart/scripts/pipeline.mjs +0 -72
- package/dist/pstack/skills/statechart/scripts/run.mjs +0 -440
- package/dist/pstack/skills/statechart/scripts/statechart.mjs +0 -155
- package/dist/pstack/skills/statechart/scripts/statechart.test.mjs +0 -198
- package/dist/pstack/skills/statechart/scripts/worker.mjs +0 -31
- package/dist/remote.d.mts +0 -27
- package/dist/remote.mjs +0 -235
- package/dist/role-config-a4JpVdc-.mjs +0 -379
- package/dist/role-wire-CAJsVA6e.d.mts +0 -54
- package/dist/roles.mjs +0 -293
- package/dist/script.d.mts +0 -91
- package/dist/script.mjs +0 -485
package/dist/script.mjs
DELETED
|
@@ -1,485 +0,0 @@
|
|
|
1
|
-
import { i as PORT_ROOT } from "./paths-yji9SNak.mjs";
|
|
2
|
-
import { isAbsolute, join, resolve } from "node:path";
|
|
3
|
-
import { spawn } from "node:child_process";
|
|
4
|
-
// src/internal/script-registry.ts
|
|
5
|
-
const SCRIPT_ENTRIES = [
|
|
6
|
-
{
|
|
7
|
-
id: "check-plan",
|
|
8
|
-
assetPath: "skills/poteto-mode/scripts/check-plan.mjs"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
id: "watch-pr",
|
|
12
|
-
assetPath: "skills/poteto-mode/scripts/watch-pr/watch-pr.mjs"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
id: "worktree-audit",
|
|
16
|
-
assetPath: "skills/poteto-mode/scripts/worktree-audit.mjs"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
id: "log",
|
|
20
|
-
assetPath: "skills/show-me-your-work/scripts/log.mjs"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
id: "statechart",
|
|
24
|
-
assetPath: "skills/statechart/scripts/statechart.mjs"
|
|
25
|
-
}
|
|
26
|
-
];
|
|
27
|
-
// src/script.ts
|
|
28
|
-
/**
|
|
29
|
-
* `pstack_script`: run a bundled pstack script through the Host's own runtime.
|
|
30
|
-
*
|
|
31
|
-
* The `id` is a closed enum over the shipped artefacts and resolves from this package,
|
|
32
|
-
* so a call cannot reach a script the package does not contain. It is not a shell: no
|
|
33
|
-
* `sh -c`, no glob expansion, no way to name another executable.
|
|
34
|
-
*
|
|
35
|
-
* The child is spawned with `process.execPath` — whichever binary runs this Host, Node or
|
|
36
|
-
* Electron — and `ELECTRON_RUN_AS_NODE=1` only under Electron. That makes the npm CLI and
|
|
37
|
-
* the Desktop build behave the same without `node` on `PATH`.
|
|
38
|
-
*/
|
|
39
|
-
/** Model-facing tool name. */
|
|
40
|
-
const TOOL_NAME = "pstack_script";
|
|
41
|
-
/** The shipped scripts this tool may run, in display order. */
|
|
42
|
-
const SCRIPT_IDS = SCRIPT_ENTRIES.map((entry) => entry.id);
|
|
43
|
-
const DEFAULT_TIMEOUT_MS = 12e4;
|
|
44
|
-
const MAX_TIMEOUT_MS = 6e5;
|
|
45
|
-
const DEFAULT_OUTPUT_LIMIT_BYTES = 65536;
|
|
46
|
-
/** Raised for an argument problem, before anything is spawned. */
|
|
47
|
-
var ScriptInputError = class extends Error {
|
|
48
|
-
constructor(message) {
|
|
49
|
-
super(message);
|
|
50
|
-
this.name = "ScriptInputError";
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
/** Raised when a shipped artefact is missing from this install. */
|
|
54
|
-
var ScriptMissingError = class extends Error {
|
|
55
|
-
constructor(message) {
|
|
56
|
-
super(message);
|
|
57
|
-
this.name = "ScriptMissingError";
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
/** Absolute path of one shipped artefact. */
|
|
61
|
-
function scriptPath(id) {
|
|
62
|
-
const entry = SCRIPT_ENTRIES.find((candidate) => candidate.id === id);
|
|
63
|
-
if (entry === void 0) throw new ScriptInputError(`unknown script id "${String(id)}"`);
|
|
64
|
-
return join(PORT_ROOT, ...entry.assetPath.split("/"));
|
|
65
|
-
}
|
|
66
|
-
/** The environment a child gets: the Electron selector, and otherwise the caller's. */
|
|
67
|
-
function scriptEnvironment(base = process.env, versions = process.versions) {
|
|
68
|
-
if (versions.electron === void 0) return { ...base };
|
|
69
|
-
return {
|
|
70
|
-
...base,
|
|
71
|
-
ELECTRON_RUN_AS_NODE: "1"
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
/** Validate the raw tool arguments. */
|
|
75
|
-
function parseScriptArgs(raw) {
|
|
76
|
-
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) throw new ScriptInputError("arguments must be an object");
|
|
77
|
-
const record = raw;
|
|
78
|
-
for (const key of Object.keys(record)) if (![
|
|
79
|
-
"id",
|
|
80
|
-
"args",
|
|
81
|
-
"cwd",
|
|
82
|
-
"background",
|
|
83
|
-
"timeoutMs",
|
|
84
|
-
"outputLimitBytes"
|
|
85
|
-
].includes(key)) throw new ScriptInputError(`unknown argument "${key}"`);
|
|
86
|
-
const id = record["id"];
|
|
87
|
-
if (typeof id !== "string") throw new ScriptInputError("\"id\" must be a string");
|
|
88
|
-
if (!SCRIPT_IDS.includes(id)) throw new ScriptInputError(`"id" must be one of ${SCRIPT_IDS.join(", ")}; this tool runs bundled scripts only`);
|
|
89
|
-
const rawArgs = record["args"];
|
|
90
|
-
if (rawArgs !== void 0 && !Array.isArray(rawArgs)) throw new ScriptInputError("\"args\" must be an array of strings");
|
|
91
|
-
const args = [];
|
|
92
|
-
for (const value of rawArgs ?? []) {
|
|
93
|
-
if (typeof value !== "string") throw new ScriptInputError("\"args\" must contain only strings");
|
|
94
|
-
args.push(value);
|
|
95
|
-
}
|
|
96
|
-
const cwd = record["cwd"];
|
|
97
|
-
if (cwd !== void 0 && (typeof cwd !== "string" || cwd.trim() === "")) throw new ScriptInputError("\"cwd\" must be a non-empty string when present");
|
|
98
|
-
const background = record["background"] ?? false;
|
|
99
|
-
if (typeof background !== "boolean") throw new ScriptInputError("\"background\" must be a boolean");
|
|
100
|
-
const timeoutMs = record["timeoutMs"];
|
|
101
|
-
if (timeoutMs !== void 0) {
|
|
102
|
-
if (typeof timeoutMs !== "number" || !Number.isInteger(timeoutMs) || timeoutMs <= 0) throw new ScriptInputError("\"timeoutMs\" must be a positive integer");
|
|
103
|
-
if (timeoutMs > 6e5) throw new ScriptInputError(`"timeoutMs" must be at most ${MAX_TIMEOUT_MS}`);
|
|
104
|
-
}
|
|
105
|
-
const outputLimitBytes = record["outputLimitBytes"];
|
|
106
|
-
if (outputLimitBytes !== void 0) {
|
|
107
|
-
if (typeof outputLimitBytes !== "number" || !Number.isInteger(outputLimitBytes) || outputLimitBytes <= 0) throw new ScriptInputError("\"outputLimitBytes\" must be a positive integer");
|
|
108
|
-
}
|
|
109
|
-
return {
|
|
110
|
-
id,
|
|
111
|
-
args,
|
|
112
|
-
...cwd === void 0 ? {} : { cwd },
|
|
113
|
-
background,
|
|
114
|
-
...timeoutMs === void 0 ? {} : { timeoutMs },
|
|
115
|
-
...outputLimitBytes === void 0 ? {} : { outputLimitBytes }
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
/** Resolve the directory the child runs in, relative to the caller-established session directory. */
|
|
119
|
-
function resolveWorkingDirectory(requested, sessionCwd) {
|
|
120
|
-
if (requested === void 0) return sessionCwd;
|
|
121
|
-
if (isAbsolute(requested)) return resolve(requested);
|
|
122
|
-
return sessionCwd === void 0 ? resolve(requested) : resolve(join(sessionCwd, requested));
|
|
123
|
-
}
|
|
124
|
-
/** Run one script in the foreground. A nonzero exit, signal, timeout, and truncation are returned, not thrown. */
|
|
125
|
-
async function runForeground(args, options = {}) {
|
|
126
|
-
const path = scriptPath(args.id);
|
|
127
|
-
const started = Date.now();
|
|
128
|
-
const timeoutMs = args.timeoutMs ?? 12e4;
|
|
129
|
-
const limit = args.outputLimitBytes ?? 65536;
|
|
130
|
-
return await new Promise((resolve, reject) => {
|
|
131
|
-
const child = spawn(options.execPath ?? process.execPath, [path, ...args.args], {
|
|
132
|
-
cwd: args.cwd ?? options.cwd,
|
|
133
|
-
env: options.environment ?? scriptEnvironment(),
|
|
134
|
-
stdio: [
|
|
135
|
-
"ignore",
|
|
136
|
-
"pipe",
|
|
137
|
-
"pipe"
|
|
138
|
-
],
|
|
139
|
-
windowsHide: true,
|
|
140
|
-
signal: options.signal
|
|
141
|
-
});
|
|
142
|
-
let stdout = "";
|
|
143
|
-
let stderr = "";
|
|
144
|
-
let stdoutTruncated = false;
|
|
145
|
-
let stderrTruncated = false;
|
|
146
|
-
let timedOut = false;
|
|
147
|
-
const collect = (chunk, to) => {
|
|
148
|
-
const text = chunk.toString("utf8");
|
|
149
|
-
if (to === "out") {
|
|
150
|
-
if (stdout.length >= limit) {
|
|
151
|
-
stdoutTruncated = true;
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
stdout += text.slice(0, limit - stdout.length);
|
|
155
|
-
if (stdout.length >= limit) stdoutTruncated = true;
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
if (stderr.length >= limit) {
|
|
159
|
-
stderrTruncated = true;
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
stderr += text.slice(0, limit - stderr.length);
|
|
163
|
-
if (stderr.length >= limit) stderrTruncated = true;
|
|
164
|
-
};
|
|
165
|
-
child.stdout?.on("data", (chunk) => collect(chunk, "out"));
|
|
166
|
-
child.stderr?.on("data", (chunk) => collect(chunk, "err"));
|
|
167
|
-
const timer = setTimeout(() => {
|
|
168
|
-
timedOut = true;
|
|
169
|
-
child.kill("SIGKILL");
|
|
170
|
-
}, timeoutMs);
|
|
171
|
-
child.once("error", (error) => {
|
|
172
|
-
clearTimeout(timer);
|
|
173
|
-
reject(error);
|
|
174
|
-
});
|
|
175
|
-
child.once("close", (code, signal) => {
|
|
176
|
-
clearTimeout(timer);
|
|
177
|
-
resolve({
|
|
178
|
-
kind: "foreground",
|
|
179
|
-
id: args.id,
|
|
180
|
-
exitCode: code ?? 1,
|
|
181
|
-
signal,
|
|
182
|
-
timedOut,
|
|
183
|
-
stdout,
|
|
184
|
-
stderr,
|
|
185
|
-
stdoutTruncated,
|
|
186
|
-
stderrTruncated,
|
|
187
|
-
durationMs: Date.now() - started
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
/** Start a script as a background job. `jobs` absent is a refusal with a reason. */
|
|
193
|
-
async function runBackground(args, options) {
|
|
194
|
-
const jobs = options.jobs;
|
|
195
|
-
if (jobs === void 0) throw new ScriptInputError("background: true needs the Host jobs service, and this composition has none. Run the call in the foreground (omit background), or ask the operator to mount a job controller.");
|
|
196
|
-
const path = scriptPath(args.id);
|
|
197
|
-
const execPath = options.execPath ?? process.execPath;
|
|
198
|
-
const environment = options.environment ?? scriptEnvironment();
|
|
199
|
-
const cwd = options.cwd;
|
|
200
|
-
let reportStarted;
|
|
201
|
-
const state = {
|
|
202
|
-
settled: false,
|
|
203
|
-
ran: false
|
|
204
|
-
};
|
|
205
|
-
const started = new Promise((settle) => {
|
|
206
|
-
reportStarted = (failure) => {
|
|
207
|
-
if (state.settled) return;
|
|
208
|
-
state.settled = true;
|
|
209
|
-
settle(failure);
|
|
210
|
-
};
|
|
211
|
-
});
|
|
212
|
-
const jobId = jobs.start({
|
|
213
|
-
kind: "bash",
|
|
214
|
-
label: `pstack_script ${args.id}`,
|
|
215
|
-
...options.caller === void 0 ? {} : { owner: options.caller },
|
|
216
|
-
outputLimitBytes: args.outputLimitBytes ?? 65536,
|
|
217
|
-
run: (job) => {
|
|
218
|
-
state.ran = true;
|
|
219
|
-
const settleStarted = reportStarted;
|
|
220
|
-
let child;
|
|
221
|
-
try {
|
|
222
|
-
child = spawn(execPath, [path, ...args.args], {
|
|
223
|
-
cwd,
|
|
224
|
-
env: environment,
|
|
225
|
-
stdio: [
|
|
226
|
-
"ignore",
|
|
227
|
-
"pipe",
|
|
228
|
-
"pipe"
|
|
229
|
-
],
|
|
230
|
-
windowsHide: true
|
|
231
|
-
});
|
|
232
|
-
} catch (error) {
|
|
233
|
-
settleStarted(error.code ?? "spawn-threw");
|
|
234
|
-
throw error;
|
|
235
|
-
}
|
|
236
|
-
child.stdout?.on("data", (chunk) => job.append(chunk.toString("utf8"), { channel: "stdout" }));
|
|
237
|
-
child.stderr?.on("data", (chunk) => job.append(chunk.toString("utf8"), { channel: "stderr" }));
|
|
238
|
-
child.once("spawn", () => settleStarted(null));
|
|
239
|
-
child.once("error", (error) => settleStarted(error.code ?? "spawn-failed"));
|
|
240
|
-
return {
|
|
241
|
-
cancel: (reason) => {
|
|
242
|
-
child.kill("SIGTERM");
|
|
243
|
-
if (reason !== void 0) job.updateProgress(`cancelling: ${reason}`);
|
|
244
|
-
},
|
|
245
|
-
done: new Promise((settle) => {
|
|
246
|
-
child.once("error", (error) => settle({
|
|
247
|
-
status: "failed",
|
|
248
|
-
detail: error.code ?? "spawn-failed"
|
|
249
|
-
}));
|
|
250
|
-
child.once("close", (code, signal) => {
|
|
251
|
-
if (signal !== null) settle({
|
|
252
|
-
status: "killed",
|
|
253
|
-
detail: `signal ${signal}`
|
|
254
|
-
});
|
|
255
|
-
else if (code === 0) settle({ status: "completed" });
|
|
256
|
-
else settle({
|
|
257
|
-
status: "failed",
|
|
258
|
-
detail: `exit code ${code ?? "unknown"}`
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
})
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
});
|
|
265
|
-
const failStart = (reason) => {
|
|
266
|
-
throw new ScriptMissingError(`background job ${jobId} failed to start (${reason}). Run the same script in the foreground to see its error.`);
|
|
267
|
-
};
|
|
268
|
-
if (!state.ran) {
|
|
269
|
-
const view = jobs.get(jobId, options.caller);
|
|
270
|
-
if (view.status === "failed") failStart("the job controller reported a failed start");
|
|
271
|
-
return {
|
|
272
|
-
kind: "background",
|
|
273
|
-
id: args.id,
|
|
274
|
-
jobId,
|
|
275
|
-
status: view.status
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
const startFailure = await started;
|
|
279
|
-
if (startFailure !== null) failStart(startFailure);
|
|
280
|
-
const view = jobs.get(jobId, options.caller);
|
|
281
|
-
if (view.status === "failed") failStart("the job controller reported a failed start");
|
|
282
|
-
return {
|
|
283
|
-
kind: "background",
|
|
284
|
-
id: args.id,
|
|
285
|
-
jobId,
|
|
286
|
-
status: view.status
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
/** Render one captured stream as a fence that the content cannot close early. */
|
|
290
|
-
function renderCapturedStream(text) {
|
|
291
|
-
if (text === "") return [];
|
|
292
|
-
const longestRun = Math.max(0, ...(text.match(/`+/g) ?? []).map((run) => run.length));
|
|
293
|
-
const fence = "`".repeat(Math.max(3, longestRun + 1));
|
|
294
|
-
return [
|
|
295
|
-
fence,
|
|
296
|
-
text.endsWith("\n") ? text.slice(0, -1) : text,
|
|
297
|
-
fence
|
|
298
|
-
];
|
|
299
|
-
}
|
|
300
|
-
/** Render one outcome for the model. */
|
|
301
|
-
function renderScriptOutcome(outcome) {
|
|
302
|
-
if (outcome.kind === "background") return [`started ${outcome.id} as background job ${outcome.jobId} (status: ${outcome.status}).`, "Read or stop it through the Host's job tools; this tool does not poll."].join("\n");
|
|
303
|
-
const lines = [`${outcome.id} exited with code ${outcome.exitCode}${outcome.signal === null ? "" : ` (signal ${outcome.signal})`}${outcome.timedOut ? ` after the timeout` : ""} in ${outcome.durationMs}ms`];
|
|
304
|
-
if (outcome.stdout !== "") lines.push("", "stdout (exact bytes):", ...renderCapturedStream(outcome.stdout));
|
|
305
|
-
if (outcome.stderr !== "") lines.push("", "stderr (exact bytes):", ...renderCapturedStream(outcome.stderr));
|
|
306
|
-
if (outcome.stdoutTruncated) lines.push("", "stdout was truncated at the output limit.");
|
|
307
|
-
if (outcome.stderrTruncated) lines.push("", "stderr was truncated at the output limit.");
|
|
308
|
-
if (outcome.exitCode !== 0 || outcome.signal !== null || outcome.timedOut) lines.push("", "This run failed. Read the output above; do not report success.");
|
|
309
|
-
return lines.join("\n");
|
|
310
|
-
}
|
|
311
|
-
const TOOL_DESCRIPTION = [
|
|
312
|
-
"Run one of the scripts bundled with pstack, using the Host's own Node runtime.",
|
|
313
|
-
"",
|
|
314
|
-
"Use this instead of a shell for the pstack scripts. It works in both deployments: the npm CLI and",
|
|
315
|
-
"the Desktop app, where `node` is not on PATH because the Desktop process is Electron.",
|
|
316
|
-
"",
|
|
317
|
-
"`id` selects a bundled script by name; only those names are accepted, so this is not a general",
|
|
318
|
-
"shell and takes no path or command string. `args` are passed to the script verbatim.",
|
|
319
|
-
"",
|
|
320
|
-
"The run starts in this session's directory, so a relative path in `args` lands inside the",
|
|
321
|
-
"workspace or worktree the session is using.",
|
|
322
|
-
"",
|
|
323
|
-
"**This tool does not go through command approval, and the Host's sandbox policy does not apply**",
|
|
324
|
-
"to it. It spawns a Node process directly instead of asking `ctx.shell` to run a command, which is",
|
|
325
|
-
"what keeps it working where no `node` is on PATH. The scripts are this package's own audited",
|
|
326
|
-
"artefacts and `id` cannot name anything else, but the consequence is real: unlike a bash call, no",
|
|
327
|
-
"approval prompt is shown and no filesystem policy is enforced on what the script writes. Say so",
|
|
328
|
-
"when a task depends on that difference.",
|
|
329
|
-
"",
|
|
330
|
-
"A nonzero exit, a signal, a timeout, and truncated output all come back in the result with the",
|
|
331
|
-
"captured output, so a failed run is visible rather than silent.",
|
|
332
|
-
"",
|
|
333
|
-
"Set `background: true` for a long run. That needs the Host jobs service; without it the call is",
|
|
334
|
-
"refused with a reason instead of hanging. Background runs return a job id and a settlement notice",
|
|
335
|
-
"arrives later — do not poll."
|
|
336
|
-
].join("\n");
|
|
337
|
-
function buildScriptParameters() {
|
|
338
|
-
return {
|
|
339
|
-
type: "object",
|
|
340
|
-
additionalProperties: false,
|
|
341
|
-
properties: {
|
|
342
|
-
id: {
|
|
343
|
-
type: "string",
|
|
344
|
-
enum: [...SCRIPT_IDS],
|
|
345
|
-
description: "Which bundled pstack script to run. Not a path: only these names are accepted."
|
|
346
|
-
},
|
|
347
|
-
args: {
|
|
348
|
-
type: "array",
|
|
349
|
-
items: { type: "string" },
|
|
350
|
-
description: "Arguments passed to the script verbatim, one array entry per argument."
|
|
351
|
-
},
|
|
352
|
-
cwd: {
|
|
353
|
-
type: "string",
|
|
354
|
-
description: "Working directory for the script. Relative paths resolve against this session's directory; an absolute path is used as-is. Omitted runs in this session's directory."
|
|
355
|
-
},
|
|
356
|
-
background: {
|
|
357
|
-
type: "boolean",
|
|
358
|
-
description: "Run as a Host background job and return its id. Requires the jobs service; a composition without it refuses the call."
|
|
359
|
-
},
|
|
360
|
-
timeoutMs: {
|
|
361
|
-
type: "integer",
|
|
362
|
-
description: `Foreground wall-clock limit; 1 or greater, and values below 1 are rejected. Defaults to ${DEFAULT_TIMEOUT_MS}; values above ${MAX_TIMEOUT_MS} are rejected.`
|
|
363
|
-
},
|
|
364
|
-
outputLimitBytes: {
|
|
365
|
-
type: "integer",
|
|
366
|
-
description: `Per-stream capture limit; 1 or greater, and values below 1 are rejected. Defaults to ${DEFAULT_OUTPUT_LIMIT_BYTES}.`
|
|
367
|
-
}
|
|
368
|
-
},
|
|
369
|
-
required: ["id"]
|
|
370
|
-
};
|
|
371
|
-
}
|
|
372
|
-
const OUTPUT_SCHEMA = { oneOf: [{
|
|
373
|
-
type: "object",
|
|
374
|
-
additionalProperties: false,
|
|
375
|
-
properties: {
|
|
376
|
-
kind: {
|
|
377
|
-
type: "string",
|
|
378
|
-
const: "foreground"
|
|
379
|
-
},
|
|
380
|
-
id: {
|
|
381
|
-
type: "string",
|
|
382
|
-
description: "Which bundled script ran."
|
|
383
|
-
},
|
|
384
|
-
exitCode: {
|
|
385
|
-
type: "integer",
|
|
386
|
-
description: "The child's exit code."
|
|
387
|
-
},
|
|
388
|
-
signal: {
|
|
389
|
-
oneOf: [{ type: "string" }, { type: "null" }],
|
|
390
|
-
description: "Terminating signal, or null when the script exited on its own."
|
|
391
|
-
},
|
|
392
|
-
timedOut: {
|
|
393
|
-
type: "boolean",
|
|
394
|
-
description: "True when this tool's own timeout killed the run."
|
|
395
|
-
},
|
|
396
|
-
stdout: { type: "string" },
|
|
397
|
-
stderr: { type: "string" },
|
|
398
|
-
stdoutTruncated: { type: "boolean" },
|
|
399
|
-
stderrTruncated: { type: "boolean" },
|
|
400
|
-
durationMs: { type: "integer" }
|
|
401
|
-
},
|
|
402
|
-
required: [
|
|
403
|
-
"kind",
|
|
404
|
-
"id",
|
|
405
|
-
"exitCode",
|
|
406
|
-
"signal",
|
|
407
|
-
"timedOut",
|
|
408
|
-
"stdout",
|
|
409
|
-
"stderr",
|
|
410
|
-
"stdoutTruncated",
|
|
411
|
-
"stderrTruncated",
|
|
412
|
-
"durationMs"
|
|
413
|
-
]
|
|
414
|
-
}, {
|
|
415
|
-
type: "object",
|
|
416
|
-
additionalProperties: false,
|
|
417
|
-
properties: {
|
|
418
|
-
kind: {
|
|
419
|
-
type: "string",
|
|
420
|
-
const: "background"
|
|
421
|
-
},
|
|
422
|
-
id: {
|
|
423
|
-
type: "string",
|
|
424
|
-
description: "Which bundled script started."
|
|
425
|
-
},
|
|
426
|
-
jobId: {
|
|
427
|
-
type: "string",
|
|
428
|
-
description: "The Host job id to read or stop."
|
|
429
|
-
},
|
|
430
|
-
status: {
|
|
431
|
-
type: "string",
|
|
432
|
-
description: "Job status when the call returned."
|
|
433
|
-
}
|
|
434
|
-
},
|
|
435
|
-
required: [
|
|
436
|
-
"kind",
|
|
437
|
-
"id",
|
|
438
|
-
"jobId",
|
|
439
|
-
"status"
|
|
440
|
-
]
|
|
441
|
-
}] };
|
|
442
|
-
/** Build the tool for one row. */
|
|
443
|
-
function createPstackScriptTool(host) {
|
|
444
|
-
return {
|
|
445
|
-
name: TOOL_NAME,
|
|
446
|
-
description: TOOL_DESCRIPTION,
|
|
447
|
-
parameters: buildScriptParameters(),
|
|
448
|
-
output: {
|
|
449
|
-
schema: OUTPUT_SCHEMA,
|
|
450
|
-
render: (_args, value) => [{
|
|
451
|
-
type: "text",
|
|
452
|
-
text: renderScriptOutcome(value)
|
|
453
|
-
}]
|
|
454
|
-
},
|
|
455
|
-
isConcurrencySafe: () => false,
|
|
456
|
-
timeoutMs: MAX_TIMEOUT_MS,
|
|
457
|
-
async execute(rawArgs, exec) {
|
|
458
|
-
const args = parseScriptArgs(rawArgs);
|
|
459
|
-
const sessionCwd = exec.agent === void 0 ? void 0 : await host.workingDirectory.ensure(exec.agent, exec.signal);
|
|
460
|
-
const cwd = resolveWorkingDirectory(args.cwd, sessionCwd);
|
|
461
|
-
if (args.background) return await runBackground(args, {
|
|
462
|
-
jobs: host.getJobs?.(),
|
|
463
|
-
...cwd === void 0 ? {} : { cwd },
|
|
464
|
-
...exec.agent === void 0 ? {} : { caller: exec.agent.id }
|
|
465
|
-
});
|
|
466
|
-
return await runForeground(args, {
|
|
467
|
-
signal: exec.signal,
|
|
468
|
-
...cwd === void 0 ? {} : { cwd }
|
|
469
|
-
});
|
|
470
|
-
}
|
|
471
|
-
};
|
|
472
|
-
}
|
|
473
|
-
/** Cordis row name, used by Loader diagnostics. */
|
|
474
|
-
const name = "pstack-script";
|
|
475
|
-
/** Hard dependencies: the tool registry and the session directory. `jobs` is optional and read per call. */
|
|
476
|
-
const inject = ["tools", "workingDirectory"];
|
|
477
|
-
/** Register `pstack_script` for this row. */
|
|
478
|
-
function apply(ctx) {
|
|
479
|
-
ctx.tools.register(createPstackScriptTool({
|
|
480
|
-
tools: ctx.tools,
|
|
481
|
-
workingDirectory: ctx.workingDirectory,
|
|
482
|
-
getJobs: () => ctx.get?.("jobs")
|
|
483
|
-
}));
|
|
484
|
-
}
|
|
485
|
-
export { DEFAULT_OUTPUT_LIMIT_BYTES, DEFAULT_TIMEOUT_MS, MAX_TIMEOUT_MS, OUTPUT_SCHEMA, SCRIPT_IDS, ScriptInputError, ScriptMissingError, TOOL_NAME, apply, buildScriptParameters, createPstackScriptTool, inject, name, parseScriptArgs, renderCapturedStream, renderScriptOutcome, resolveWorkingDirectory, runBackground, runForeground, scriptEnvironment, scriptPath };
|