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/models.mjs
CHANGED
|
@@ -1,37 +1,25 @@
|
|
|
1
|
+
import { CATALOGUE_OUTPUT_SCHEMA } from "./catalogue.mjs";
|
|
1
2
|
// src/models.ts
|
|
2
|
-
/** Cordis row name, used by Loader diagnostics. */
|
|
3
3
|
const name = "pstack-models";
|
|
4
|
-
/** The hard dependencies: the adapter registry and the tool registry. */
|
|
5
4
|
const inject = ["llm", "tools"];
|
|
6
|
-
/** Model-facing tool name. */
|
|
7
5
|
const TOOL_NAME = "pstack_models";
|
|
8
6
|
const MAX_PROVIDERS = 64;
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
const efforts = info.reasoning?.efforts.map((effort) => effort.id) ?? [];
|
|
12
|
-
return {
|
|
13
|
-
route: `${provider}/${info.id}`,
|
|
14
|
-
id: info.id,
|
|
15
|
-
name: info.name,
|
|
16
|
-
...info.description === void 0 ? {} : { description: info.description },
|
|
17
|
-
...info.context?.contextWindow === void 0 ? {} : { contextWindow: info.context.contextWindow },
|
|
18
|
-
...info.defaultMaxTokens === void 0 ? {} : { maxTokens: info.defaultMaxTokens },
|
|
19
|
-
efforts,
|
|
20
|
-
...info.reasoning?.defaultEffort === void 0 ? {} : { defaultEffort: info.reasoning.defaultEffort }
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
/** Collect the catalogue from the live adapters. */
|
|
7
|
+
const MAX_MODELS = 200;
|
|
8
|
+
/** Collect the live catalogue with bounded provider/model counts. */
|
|
24
9
|
async function collectCatalogue(llm, providerFilter, signal) {
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
10
|
+
const registered = llm.listProviders();
|
|
11
|
+
const providers = providerFilter === void 0 ? registered : registered.filter((provider) => provider.id === providerFilter || provider.name === providerFilter);
|
|
12
|
+
const selected = providers.slice(0, MAX_PROVIDERS);
|
|
13
|
+
const output = [];
|
|
14
|
+
let truncated = providers.length > selected.length;
|
|
15
|
+
for (const provider of selected) {
|
|
16
|
+
signal.throwIfAborted();
|
|
30
17
|
let models;
|
|
31
18
|
try {
|
|
32
19
|
models = await llm.listModels(provider.id);
|
|
33
20
|
} catch (error) {
|
|
34
|
-
|
|
21
|
+
if (signal.aborted) throw error;
|
|
22
|
+
output.push({
|
|
35
23
|
provider: provider.id,
|
|
36
24
|
name: provider.name,
|
|
37
25
|
models: [],
|
|
@@ -39,13 +27,15 @@ async function collectCatalogue(llm, providerFilter, signal) {
|
|
|
39
27
|
});
|
|
40
28
|
continue;
|
|
41
29
|
}
|
|
42
|
-
if (models.length >
|
|
30
|
+
if (models.length > MAX_MODELS) truncated = true;
|
|
43
31
|
const entries = [];
|
|
44
|
-
for (const model of models.slice(0,
|
|
32
|
+
for (const model of models.slice(0, MAX_MODELS)) {
|
|
45
33
|
signal.throwIfAborted();
|
|
46
34
|
try {
|
|
47
|
-
|
|
35
|
+
const info = await llm.resolveModelInfo(provider.id, model.id, signal);
|
|
36
|
+
entries.push(entryFor(provider.id, info));
|
|
48
37
|
} catch (error) {
|
|
38
|
+
if (signal.aborted) throw error;
|
|
49
39
|
entries.push({
|
|
50
40
|
route: `${provider.id}/${model.id}`,
|
|
51
41
|
id: model.id,
|
|
@@ -56,21 +46,21 @@ async function collectCatalogue(llm, providerFilter, signal) {
|
|
|
56
46
|
});
|
|
57
47
|
}
|
|
58
48
|
}
|
|
59
|
-
|
|
49
|
+
output.push({
|
|
60
50
|
provider: provider.id,
|
|
61
51
|
name: provider.name,
|
|
62
52
|
models: entries
|
|
63
53
|
});
|
|
64
54
|
}
|
|
65
|
-
if (selected.length > MAX_PROVIDERS) truncated = true;
|
|
66
55
|
return {
|
|
67
|
-
providers,
|
|
56
|
+
providers: output,
|
|
68
57
|
truncated,
|
|
69
58
|
...providerFilter === void 0 ? {} : { providerFilter }
|
|
70
59
|
};
|
|
71
60
|
}
|
|
61
|
+
/** Render the catalogue as compact model-facing text. */
|
|
72
62
|
function renderCatalogue(result) {
|
|
73
|
-
if (result.providers.length === 0) return result.providerFilter === void 0 ? "No provider is registered with the live adapter registry." : `No provider matches "${result.providerFilter}"
|
|
63
|
+
if (result.providers.length === 0) return result.providerFilter === void 0 ? "No provider is registered with the live adapter registry." : `No provider matches "${result.providerFilter}".`;
|
|
74
64
|
const lines = [];
|
|
75
65
|
for (const provider of result.providers) {
|
|
76
66
|
lines.push(`${provider.provider} (${provider.name})`);
|
|
@@ -84,76 +74,36 @@ function renderCatalogue(result) {
|
|
|
84
74
|
}
|
|
85
75
|
for (const model of provider.models) {
|
|
86
76
|
const efforts = model.efforts.length === 0 ? "no reasoning efforts" : `efforts: ${model.efforts.join(", ")}`;
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
lines.push(` ${model.route} — ${efforts}${
|
|
77
|
+
const fallback = model.defaultEffort === void 0 ? "" : `; default: ${model.defaultEffort}`;
|
|
78
|
+
const error = model.error === void 0 ? "" : `; error: ${model.error}`;
|
|
79
|
+
lines.push(` ${model.route} — ${efforts}${fallback}${error}`);
|
|
90
80
|
}
|
|
91
81
|
}
|
|
92
|
-
if (result.truncated) lines.push("",
|
|
82
|
+
if (result.truncated) lines.push("", "Truncated at the provider/model page limits.");
|
|
93
83
|
return lines.join("\n");
|
|
94
84
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
error: { type: "string" },
|
|
108
|
-
models: {
|
|
109
|
-
type: "array",
|
|
110
|
-
items: {
|
|
111
|
-
type: "object",
|
|
112
|
-
additionalProperties: false,
|
|
113
|
-
properties: {
|
|
114
|
-
route: { type: "string" },
|
|
115
|
-
id: { type: "string" },
|
|
116
|
-
name: { type: "string" },
|
|
117
|
-
description: { type: "string" },
|
|
118
|
-
contextWindow: { type: "integer" },
|
|
119
|
-
maxTokens: { type: "integer" },
|
|
120
|
-
efforts: {
|
|
121
|
-
type: "array",
|
|
122
|
-
items: { type: "string" }
|
|
123
|
-
},
|
|
124
|
-
defaultEffort: { type: "string" },
|
|
125
|
-
error: { type: "string" }
|
|
126
|
-
},
|
|
127
|
-
required: [
|
|
128
|
-
"route",
|
|
129
|
-
"id",
|
|
130
|
-
"name",
|
|
131
|
-
"efforts"
|
|
132
|
-
]
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
required: [
|
|
137
|
-
"provider",
|
|
138
|
-
"name",
|
|
139
|
-
"models"
|
|
140
|
-
]
|
|
141
|
-
}
|
|
142
|
-
},
|
|
143
|
-
truncated: { type: "boolean" },
|
|
144
|
-
providerFilter: { type: "string" }
|
|
145
|
-
},
|
|
146
|
-
required: ["providers", "truncated"]
|
|
147
|
-
};
|
|
85
|
+
function entryFor(provider, info) {
|
|
86
|
+
return {
|
|
87
|
+
route: `${provider}/${info.id}`,
|
|
88
|
+
id: info.id,
|
|
89
|
+
name: info.name,
|
|
90
|
+
...info.description === void 0 ? {} : { description: info.description },
|
|
91
|
+
...info.context?.contextWindow === void 0 ? {} : { contextWindow: info.context.contextWindow },
|
|
92
|
+
...info.defaultMaxTokens === void 0 ? {} : { maxTokens: info.defaultMaxTokens },
|
|
93
|
+
efforts: info.reasoning?.efforts.map((effort) => effort.id) ?? [],
|
|
94
|
+
...info.reasoning?.defaultEffort === void 0 ? {} : { defaultEffort: info.reasoning.defaultEffort }
|
|
95
|
+
};
|
|
96
|
+
}
|
|
148
97
|
const TOOL_DESCRIPTION = [
|
|
149
98
|
"List the exact model routes this deployment serves, with each route's advertised reasoning-effort tokens.",
|
|
150
99
|
"",
|
|
151
|
-
"Read-only. Use it before writing `$DSH_HOME/pstack-models.mdc`: it reports what the live adapters actually serve, so a role line names a route that exists instead of a slug guessed from
|
|
100
|
+
"Read-only. Use it before writing `$DSH_HOME/pstack-models.mdc`: it reports what the live adapters actually serve, so a role line names a route that exists instead of a slug guessed from a Cursor name.",
|
|
152
101
|
"",
|
|
153
102
|
"`provider` limits discovery to one registered provider id or display name; omit it to list every provider.",
|
|
154
103
|
"",
|
|
155
|
-
"A route is written `<provider>/<model>`, and a role line may add `[effort]` using a token from that route's `efforts`.
|
|
104
|
+
"A route is written `<provider>/<model>`, and a role line may add `[effort]` using a token from that route's `efforts`."
|
|
156
105
|
].join("\n");
|
|
106
|
+
/** Build `pstack_models` for one LLM service. */
|
|
157
107
|
function createPstackModelsTool(llm) {
|
|
158
108
|
return {
|
|
159
109
|
name: TOOL_NAME,
|
|
@@ -163,11 +113,11 @@ function createPstackModelsTool(llm) {
|
|
|
163
113
|
additionalProperties: false,
|
|
164
114
|
properties: { provider: {
|
|
165
115
|
type: "string",
|
|
166
|
-
description: "A registered provider id or display name
|
|
116
|
+
description: "A registered provider id or display name; omit for every provider."
|
|
167
117
|
} }
|
|
168
118
|
},
|
|
169
119
|
output: {
|
|
170
|
-
schema:
|
|
120
|
+
schema: CATALOGUE_OUTPUT_SCHEMA,
|
|
171
121
|
render: (_args, value) => [{
|
|
172
122
|
type: "text",
|
|
173
123
|
text: renderCatalogue(value)
|
|
@@ -175,27 +125,17 @@ function createPstackModelsTool(llm) {
|
|
|
175
125
|
},
|
|
176
126
|
isConcurrencySafe: () => true,
|
|
177
127
|
async execute(rawArgs, exec) {
|
|
178
|
-
|
|
128
|
+
if (typeof rawArgs !== "object" || rawArgs === null || Array.isArray(rawArgs)) throw new Error("pstack_models takes an object argument");
|
|
129
|
+
const provider = rawArgs["provider"];
|
|
130
|
+
if (provider !== void 0 && typeof provider !== "string") throw new Error("provider must be a string when present");
|
|
131
|
+
return collectCatalogue(llm, provider, exec.signal);
|
|
179
132
|
}
|
|
180
133
|
};
|
|
181
134
|
}
|
|
182
|
-
function readProviderArgument(raw) {
|
|
183
|
-
if (raw === null || raw === void 0) return void 0;
|
|
184
|
-
if (typeof raw !== "object" || Array.isArray(raw)) throw new Error("pstack_models arguments must be an object");
|
|
185
|
-
const provider = raw["provider"];
|
|
186
|
-
if (provider === void 0) return void 0;
|
|
187
|
-
if (typeof provider !== "string" || provider.trim() === "") throw new Error("`provider` must be a non-empty string when present");
|
|
188
|
-
return provider.trim();
|
|
189
|
-
}
|
|
190
|
-
/** Register `pstack_models`. */
|
|
191
135
|
function apply(ctx) {
|
|
192
136
|
ctx.tools.register(createPstackModelsTool(ctx.llm));
|
|
193
137
|
}
|
|
194
138
|
function describeError(error) {
|
|
195
|
-
|
|
196
|
-
const code = error.code;
|
|
197
|
-
return typeof code === "string" ? `${error.message} (${code})` : error.message;
|
|
198
|
-
}
|
|
199
|
-
return String(error);
|
|
139
|
+
return error instanceof Error ? error.message : String(error);
|
|
200
140
|
}
|
|
201
141
|
export { TOOL_NAME, apply, collectCatalogue, createPstackModelsTool, inject, name, renderCatalogue };
|
package/dist/paths.d.mts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package-internal resource locations.
|
|
3
|
+
*
|
|
4
|
+
* The bundler writes public entries to `dist/`. The generated pstack tree is
|
|
5
|
+
* copied to `dist/pstack/`, and vendored skills to `dist/skills/vendored/`.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The `poteto-mode` instruction path used by the root `poteto-mode` preset and
|
|
9
|
+
* the `poteto-agent` delegate brief.
|
|
10
|
+
*/
|
|
11
|
+
export declare const POTETO_MODE_SKILL_PATH: string;
|
|
12
|
+
/** The shipped DSH adapter document. */
|
|
13
|
+
export declare const HARNESS_DOC_PATH: string;
|
package/dist/paths.mjs
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { dirname, join, resolve } from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
// src/paths.ts
|
|
4
|
+
/**
|
|
5
|
+
* Package-internal resource locations.
|
|
6
|
+
*
|
|
7
|
+
* The bundler writes public entries to `dist/`. The generated pstack tree is
|
|
8
|
+
* copied to `dist/pstack/`, and vendored skills to `dist/skills/vendored/`.
|
|
9
|
+
*/
|
|
10
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
/** The package root, from a bundled entry in `dist/`. */
|
|
12
|
+
const PACKAGE_ROOT = resolve(here, "..");
|
|
13
|
+
/** The shipped output tree. */
|
|
14
|
+
const DIST_ROOT = join(PACKAGE_ROOT, "dist");
|
|
15
|
+
/** The generated pstack tree. */
|
|
16
|
+
const PORT_ROOT = join(DIST_ROOT, "pstack");
|
|
17
|
+
/** The generated pstack skills. */
|
|
18
|
+
const SKILLS_ROOT = join(PORT_ROOT, "skills");
|
|
19
|
+
/**
|
|
20
|
+
* The `poteto-mode` instruction path used by the root `poteto-mode` preset and
|
|
21
|
+
* the `poteto-agent` delegate brief.
|
|
22
|
+
*/
|
|
23
|
+
const POTETO_MODE_SKILL_PATH = join(SKILLS_ROOT, "poteto-mode", "SKILL.md");
|
|
24
|
+
/** The shipped DSH adapter document. */
|
|
25
|
+
const HARNESS_DOC_PATH = join(PORT_ROOT, "docs", "harness", "dsh.md");
|
|
26
|
+
export { HARNESS_DOC_PATH, POTETO_MODE_SKILL_PATH };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Context } from "@deepseek-ai/cordis";
|
|
2
|
+
export declare const name = "pstack-poteto-mode";
|
|
3
|
+
export declare const inject: string[];
|
|
4
|
+
/** Stable section name. */
|
|
5
|
+
export declare const SECTION_NAME = "pstack:poteto-mode";
|
|
6
|
+
/** Section order. */
|
|
7
|
+
export declare const SECTION_ORDER = 10;
|
|
8
|
+
/** Error used when Agent Teams would compete with pstack delegation. */
|
|
9
|
+
export declare const AGENT_TEAMS_CONFLICT = "pstack root presets cannot be used with Agent Teams. Disable @deepseek-ai/dsh-experimental-agent-team-profile in this profile, or use the standard or Creator preset for Agent Teams.";
|
|
10
|
+
/** Refuse to mount a pstack root preset when Agent Teams owns delegation. */
|
|
11
|
+
export declare function assertNoAgentTeams(ctx: Context): void;
|
|
12
|
+
/** The prompt section shape accepted by the system prompt registry. */
|
|
13
|
+
export interface PromptSectionLike {
|
|
14
|
+
readonly name: string;
|
|
15
|
+
readonly order: number;
|
|
16
|
+
readonly text: string;
|
|
17
|
+
readonly interpolate?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/** The slice of `ctx.systemPrompt` this row writes to. */
|
|
20
|
+
export interface SystemPromptHost {
|
|
21
|
+
systemPrompt: {
|
|
22
|
+
section(section: PromptSectionLike): () => void;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build the persistent section from a skill file and the DSH adapter path.
|
|
27
|
+
*
|
|
28
|
+
* The leading YAML frontmatter is stripped, and `interpolate: false` keeps any
|
|
29
|
+
* literal `{{...}}` in the skill body from being resolved as a prompt variable.
|
|
30
|
+
*/
|
|
31
|
+
export declare function createPotetoModeSection(skillPath?: string, harnessDocPath?: string): PromptSectionLike;
|
|
32
|
+
/** Optional section sources. Tests pass a temporary skill so `apply` does not read the built tree. */
|
|
33
|
+
export interface PotetoModeSectionPaths {
|
|
34
|
+
readonly skillPath?: string;
|
|
35
|
+
readonly harnessDocPath?: string;
|
|
36
|
+
}
|
|
37
|
+
export declare function apply(ctx: Context, paths?: PotetoModeSectionPaths): void;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { HARNESS_DOC_PATH, POTETO_MODE_SKILL_PATH } from "./paths.mjs";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
// src/poteto-mode.ts
|
|
5
|
+
/**
|
|
6
|
+
* `pstack-poteto-mode`: mount the full `poteto-mode` skill as a persistent section.
|
|
7
|
+
*
|
|
8
|
+
* A root session that selects the `poteto-mode` preset keeps this section for its
|
|
9
|
+
* whole life, so the model never has to load the skill again between turns.
|
|
10
|
+
*/
|
|
11
|
+
const name = "pstack-poteto-mode";
|
|
12
|
+
const inject = ["systemPrompt"];
|
|
13
|
+
/** Stable section name. */
|
|
14
|
+
const SECTION_NAME = "pstack:poteto-mode";
|
|
15
|
+
/** Section order. */
|
|
16
|
+
const SECTION_ORDER = 10;
|
|
17
|
+
/** Error used when Agent Teams would compete with pstack delegation. */
|
|
18
|
+
const AGENT_TEAMS_CONFLICT = "pstack root presets cannot be used with Agent Teams. Disable @deepseek-ai/dsh-experimental-agent-team-profile in this profile, or use the standard or Creator preset for Agent Teams.";
|
|
19
|
+
/** Refuse to mount a pstack root preset when Agent Teams owns delegation. */
|
|
20
|
+
function assertNoAgentTeams(ctx) {
|
|
21
|
+
if (ctx.get("agentTeams") !== void 0) throw new Error(AGENT_TEAMS_CONFLICT);
|
|
22
|
+
}
|
|
23
|
+
const FRONTMATTER = /^---\r?\n[\s\S]*?\r?\n---\r?\n?/;
|
|
24
|
+
/**
|
|
25
|
+
* Build the persistent section from a skill file and the DSH adapter path.
|
|
26
|
+
*
|
|
27
|
+
* The leading YAML frontmatter is stripped, and `interpolate: false` keeps any
|
|
28
|
+
* literal `{{...}}` in the skill body from being resolved as a prompt variable.
|
|
29
|
+
*/
|
|
30
|
+
function createPotetoModeSection(skillPath = POTETO_MODE_SKILL_PATH, harnessDocPath = HARNESS_DOC_PATH) {
|
|
31
|
+
const body = readFileSync(skillPath, "utf8").replace(FRONTMATTER, "");
|
|
32
|
+
const skillDirectory = dirname(skillPath);
|
|
33
|
+
const text = [
|
|
34
|
+
"You are running in the persistent pstack `poteto-mode` root preset. The full `poteto-mode` skill below stays in this system prompt for every turn of the session.",
|
|
35
|
+
"",
|
|
36
|
+
`- Skill file: ${skillPath}`,
|
|
37
|
+
`- Skill directory: ${skillDirectory}`,
|
|
38
|
+
`- DSH adapter: ${harnessDocPath}`,
|
|
39
|
+
"",
|
|
40
|
+
`Read the DSH adapter at ${harnessDocPath} once per session before you follow this skill.`,
|
|
41
|
+
"",
|
|
42
|
+
body.replace(/^\n+/, "")
|
|
43
|
+
].join("\n");
|
|
44
|
+
return {
|
|
45
|
+
name: SECTION_NAME,
|
|
46
|
+
order: 10,
|
|
47
|
+
interpolate: false,
|
|
48
|
+
text
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function apply(ctx, paths) {
|
|
52
|
+
assertNoAgentTeams(ctx);
|
|
53
|
+
const host = ctx;
|
|
54
|
+
const section = createPotetoModeSection(paths?.skillPath, paths?.harnessDocPath);
|
|
55
|
+
ctx.effect(() => host.systemPrompt.section(section), "pstack.poteto-mode.section()");
|
|
56
|
+
ctx.effect(() => ctx.on("agent/created", ({ agent }) => {
|
|
57
|
+
const preset = agent.session.header.agentPreset;
|
|
58
|
+
if (preset === "poteto-mode" || preset === "poteto-mode-creator") assertNoAgentTeams(ctx);
|
|
59
|
+
}), "pstack.poteto-mode.team-guard()");
|
|
60
|
+
}
|
|
61
|
+
export { AGENT_TEAMS_CONFLICT, SECTION_NAME, SECTION_ORDER, apply, assertNoAgentTeams, createPotetoModeSection, inject, name };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Display copy for dsh-pstack presets. */
|
|
2
|
+
/** Fallback locale for a missing catalog or preset entry. */
|
|
3
|
+
export declare const FALLBACK_LOCALE = "en";
|
|
4
|
+
/** One preset's display name and description. */
|
|
5
|
+
export interface PresetCopy {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly description: string;
|
|
8
|
+
}
|
|
9
|
+
/** Preset copy keyed by locale, then preset id. */
|
|
10
|
+
export declare const PRESET_COPY: Record<string, Record<string, PresetCopy>>;
|
|
11
|
+
/** Read one preset's copy for a BCP 47 locale. */
|
|
12
|
+
export declare function presetCopyFor(id: string, locale: string | undefined): PresetCopy | undefined;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// src/preset-copy.ts
|
|
2
|
+
/** Display copy for dsh-pstack presets. */
|
|
3
|
+
/** Fallback locale for a missing catalog or preset entry. */
|
|
4
|
+
const FALLBACK_LOCALE = "en";
|
|
5
|
+
/** Preset copy keyed by locale, then preset id. */
|
|
6
|
+
const PRESET_COPY = {
|
|
7
|
+
en: {
|
|
8
|
+
"poteto-mode": {
|
|
9
|
+
name: "Poteto mode",
|
|
10
|
+
description: "Based on Standard mode, with the same capabilities plus the persistent poteto-mode workflow."
|
|
11
|
+
},
|
|
12
|
+
"poteto-mode-creator": {
|
|
13
|
+
name: "Poteto Creator mode",
|
|
14
|
+
description: "Based on Creator mode, with the same capabilities plus the persistent poteto-mode workflow."
|
|
15
|
+
},
|
|
16
|
+
"poteto-agent": {
|
|
17
|
+
name: "Implementation agent",
|
|
18
|
+
description: "Implementation delegate that follows poteto-mode discipline for one task."
|
|
19
|
+
},
|
|
20
|
+
"comment-sicko": {
|
|
21
|
+
name: "Comment review",
|
|
22
|
+
description: "Review comments and report deletion targets and symbols that need refactoring."
|
|
23
|
+
},
|
|
24
|
+
readonly: {
|
|
25
|
+
name: "Read-only research",
|
|
26
|
+
description: "Read-only research delegate that gathers evidence without editing files."
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
zh: {
|
|
30
|
+
"poteto-mode": {
|
|
31
|
+
name: "Poteto 模式",
|
|
32
|
+
description: "基于标准模式,能力与标准模式一致,额外常驻 poteto-mode 工作流。"
|
|
33
|
+
},
|
|
34
|
+
"poteto-mode-creator": {
|
|
35
|
+
name: "Poteto 创造模式",
|
|
36
|
+
description: "基于创造模式,能力与创造模式一致,额外常驻 poteto-mode 工作流。"
|
|
37
|
+
},
|
|
38
|
+
"poteto-agent": {
|
|
39
|
+
name: "实现代理",
|
|
40
|
+
description: "实现型子代理,按 poteto-mode 的纪律完成单个任务。"
|
|
41
|
+
},
|
|
42
|
+
"comment-sicko": {
|
|
43
|
+
name: "评论审查",
|
|
44
|
+
description: "审查评论,报告删除目标和需要重构的符号。"
|
|
45
|
+
},
|
|
46
|
+
readonly: {
|
|
47
|
+
name: "只读研究",
|
|
48
|
+
description: "只读研究代理,收集证据但不修改文件。"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
/** Read one preset's copy for a BCP 47 locale. */
|
|
53
|
+
function presetCopyFor(id, locale) {
|
|
54
|
+
const tag = locale?.trim().toLowerCase();
|
|
55
|
+
if (tag !== void 0 && tag !== "") {
|
|
56
|
+
const exact = PRESET_COPY[tag]?.[id];
|
|
57
|
+
if (exact !== void 0) return exact;
|
|
58
|
+
const primary = tag.split("-")[0];
|
|
59
|
+
const primaryCopy = primary === void 0 ? void 0 : PRESET_COPY[primary]?.[id];
|
|
60
|
+
if (primaryCopy !== void 0) return primaryCopy;
|
|
61
|
+
}
|
|
62
|
+
return PRESET_COPY["en"]?.[id];
|
|
63
|
+
}
|
|
64
|
+
export { FALLBACK_LOCALE, PRESET_COPY, presetCopyFor };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Context, Service } from "@deepseek-ai/cordis";
|
|
2
|
+
import { EntryGroup } from "@deepseek-ai/cordis-plugin-loader";
|
|
3
|
+
import z from "@deepseek-ai/schemastery";
|
|
4
|
+
import { PresetDefinition } from "@deepseek-ai/dsh-agent-preset-registry";
|
|
5
|
+
/** Read the explicit Web UI locale from `locale.preference`. */
|
|
6
|
+
export declare function readWebUiLocale(ctx: Context): string | undefined;
|
|
7
|
+
/** Replace one preset's name and description with its copy for the active locale. */
|
|
8
|
+
export declare function localizePresetConfig(ctx: Context, config: PresetDefinition): PresetDefinition;
|
|
9
|
+
/** Drop-in replacement for `@deepseek-ai/dsh-agent-preset`. */
|
|
10
|
+
export default class LocalizedAgentPreset {
|
|
11
|
+
static inject: string[];
|
|
12
|
+
/** Preserve child expressions until their own plugins activate. */
|
|
13
|
+
static readonly [EntryGroup.key] = true;
|
|
14
|
+
static Config: z<Schemastery.ObjectS<NoInfer<{
|
|
15
|
+
id: z<string, string, "defined">;
|
|
16
|
+
name: z<string, string, "plain">;
|
|
17
|
+
description: z<string, string, "plain">;
|
|
18
|
+
order: z<number, number, "plain">;
|
|
19
|
+
plugins: z<any[], any[], "defined">;
|
|
20
|
+
}>>, Schemastery.ObjectT<NoInfer<{
|
|
21
|
+
id: z<string, string, "defined">;
|
|
22
|
+
name: z<string, string, "plain">;
|
|
23
|
+
description: z<string, string, "plain">;
|
|
24
|
+
order: z<number, number, "plain">;
|
|
25
|
+
plugins: z<any[], any[], "defined">;
|
|
26
|
+
}>>, "plain">;
|
|
27
|
+
private readonly ctx;
|
|
28
|
+
private readonly config;
|
|
29
|
+
constructor(ctx: Context, config: PresetDefinition);
|
|
30
|
+
[Service.init](): AsyncGenerator<() => Promise<void>, void, unknown>;
|
|
31
|
+
}
|
package/dist/preset.mjs
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { presetCopyFor } from "./preset-copy.mjs";
|
|
2
|
+
import { Service } from "@deepseek-ai/cordis";
|
|
3
|
+
import { EntryGroup } from "@deepseek-ai/cordis-plugin-loader";
|
|
4
|
+
import z from "@deepseek-ai/schemastery";
|
|
5
|
+
// src/preset.ts
|
|
6
|
+
/** A localized `@deepseek-ai/dsh-agent-preset` replacement row. */
|
|
7
|
+
/** Read the explicit Web UI locale from `locale.preference`. */
|
|
8
|
+
function readWebUiLocale(ctx) {
|
|
9
|
+
const settings = ctx.get("settings");
|
|
10
|
+
try {
|
|
11
|
+
const value = settings?.describe().find((row) => row.ns === "locale")?.value;
|
|
12
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
|
|
13
|
+
const preference = value.preference;
|
|
14
|
+
return typeof preference === "string" ? preference : void 0;
|
|
15
|
+
} catch {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** Replace one preset's name and description with its copy for the active locale. */
|
|
20
|
+
function localizePresetConfig(ctx, config) {
|
|
21
|
+
const copy = presetCopyFor(config.id, readWebUiLocale(ctx));
|
|
22
|
+
if (copy === void 0) return config;
|
|
23
|
+
return {
|
|
24
|
+
...config,
|
|
25
|
+
name: copy.name,
|
|
26
|
+
description: copy.description
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/** Drop-in replacement for `@deepseek-ai/dsh-agent-preset`. */
|
|
30
|
+
var LocalizedAgentPreset = class {
|
|
31
|
+
static inject = ["agentPresets"];
|
|
32
|
+
/** Preserve child expressions until their own plugins activate. */
|
|
33
|
+
static [EntryGroup.key] = true;
|
|
34
|
+
static Config = z.object({
|
|
35
|
+
id: z.string().required(),
|
|
36
|
+
name: z.string(),
|
|
37
|
+
description: z.string(),
|
|
38
|
+
order: z.number(),
|
|
39
|
+
plugins: z.array(z.any()).required()
|
|
40
|
+
});
|
|
41
|
+
ctx;
|
|
42
|
+
config;
|
|
43
|
+
constructor(ctx, config) {
|
|
44
|
+
this.ctx = ctx;
|
|
45
|
+
this.config = localizePresetConfig(ctx, config);
|
|
46
|
+
}
|
|
47
|
+
async *[Service.init]() {
|
|
48
|
+
yield await this.ctx.agentPresets.register(this.config);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export { LocalizedAgentPreset as default, localizePresetConfig, readWebUiLocale };
|