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.
Files changed (544) hide show
  1. package/README.md +122 -76
  2. package/README.zh.md +116 -70
  3. package/assets/agent-presets.png +0 -0
  4. package/assets/plugin-configure.png +0 -0
  5. package/assets/plugin-recommended.png +0 -0
  6. package/assets/plugin-roles.png +0 -0
  7. package/assets/session-preset.png +0 -0
  8. package/cordis.patch.yml +332 -24
  9. package/dist/budget.d.mts +82 -0
  10. package/dist/budget.mjs +293 -0
  11. package/dist/catalogue-wgVaGeUx.d.mts +27 -0
  12. package/dist/catalogue.d.mts +2 -0
  13. package/dist/catalogue.mjs +116 -0
  14. package/dist/client.js +4072 -0
  15. package/dist/index.d.mts +2 -87
  16. package/dist/index.mjs +3 -394
  17. package/dist/models.d.mts +11 -40
  18. package/dist/models.mjs +47 -107
  19. package/dist/paths.d.mts +13 -0
  20. package/dist/paths.mjs +26 -0
  21. package/dist/poteto-mode.d.mts +37 -0
  22. package/dist/poteto-mode.mjs +61 -0
  23. package/dist/preset-copy.d.mts +12 -0
  24. package/dist/preset-copy.mjs +64 -0
  25. package/dist/preset.d.mts +31 -0
  26. package/dist/preset.mjs +51 -0
  27. package/dist/pstack/docs/harness/dsh.md +40 -40
  28. package/dist/pstack/plugin.json +21 -0
  29. package/dist/pstack/skills/poteto-mode/scripts/bootstrap.ts +62 -0
  30. package/dist/pstack/skills/poteto-mode/scripts/bun.lock +67 -0
  31. package/dist/pstack/skills/poteto-mode/scripts/check-plan.mjs +70 -83
  32. package/dist/pstack/skills/poteto-mode/scripts/{check-plan.test.mjs → check-plan.test.ts} +24 -42
  33. package/dist/pstack/skills/poteto-mode/scripts/package.json +16 -0
  34. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.ts +224 -0
  35. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/cli.ts +223 -0
  36. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +129 -0
  37. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/github.test.ts +498 -0
  38. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/github.ts +726 -0
  39. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.ts +482 -0
  40. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/policy.ts +842 -0
  41. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/render.ts +169 -0
  42. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/tsconfig.json +13 -0
  43. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/types.compile.ts +93 -0
  44. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/types.ts +414 -0
  45. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr +6 -0
  46. package/dist/pstack/skills/poteto-mode/scripts/worktree-audit.sh +134 -0
  47. package/dist/pstack/skills/show-me-your-work/scripts/log.sh +42 -0
  48. package/dist/pstack/skills/statechart/scripts/backends/cfg.ts +33 -0
  49. package/dist/pstack/skills/statechart/scripts/backends/mermaid.ts +201 -0
  50. package/dist/pstack/skills/statechart/scripts/backends/plain-text.ts +72 -0
  51. package/dist/pstack/skills/statechart/scripts/backends/report.ts +177 -0
  52. package/dist/pstack/skills/statechart/scripts/frontends/config.ts +276 -0
  53. package/dist/pstack/skills/statechart/scripts/frontends/dot.ts +74 -0
  54. package/dist/pstack/skills/statechart/scripts/frontends/marks.ts +93 -0
  55. package/dist/pstack/skills/statechart/scripts/frontends/messages.ts +52 -0
  56. package/dist/pstack/skills/statechart/scripts/frontends/spec.ts +114 -0
  57. package/dist/pstack/skills/statechart/scripts/frontends/trace.ts +24 -0
  58. package/dist/pstack/skills/statechart/scripts/frontends/value.ts +166 -0
  59. package/dist/pstack/skills/statechart/scripts/frontends/verdict.ts +40 -0
  60. package/dist/pstack/skills/statechart/scripts/frontends/view.ts +119 -0
  61. package/dist/pstack/skills/statechart/scripts/ir.ts +547 -0
  62. package/dist/pstack/skills/statechart/scripts/package.json +11 -0
  63. package/dist/pstack/skills/statechart/scripts/passes/annotate.ts +128 -0
  64. package/dist/pstack/skills/statechart/scripts/passes/label.ts +269 -0
  65. package/dist/pstack/skills/statechart/scripts/passes/lift.ts +85 -0
  66. package/dist/pstack/skills/statechart/scripts/passes/loop-check.ts +68 -0
  67. package/dist/pstack/skills/statechart/scripts/passes/paths.ts +60 -0
  68. package/dist/pstack/skills/statechart/scripts/passes/reach.ts +135 -0
  69. package/dist/pstack/skills/statechart/scripts/passes/region-check.ts +97 -0
  70. package/dist/pstack/skills/statechart/scripts/passes/regions.ts +295 -0
  71. package/dist/pstack/skills/statechart/scripts/pipeline.ts +76 -0
  72. package/dist/pstack/skills/statechart/scripts/run.ts +481 -0
  73. package/dist/pstack/skills/statechart/scripts/statechart +29 -0
  74. package/dist/pstack/skills/statechart/scripts/statechart.ts +164 -0
  75. package/dist/pstack/skills/statechart/scripts/test/ConfigOracle.java +63 -0
  76. package/dist/pstack/skills/statechart/scripts/test/chart.test.ts +1210 -0
  77. package/dist/pstack/skills/statechart/scripts/test/charts/Braces.mmd +7 -0
  78. package/dist/pstack/skills/statechart/scripts/test/charts/Escapes.mmd +11 -0
  79. package/dist/pstack/skills/statechart/scripts/test/charts/Phases.mmd +29 -0
  80. package/dist/pstack/skills/statechart/scripts/test/cli.test.ts +1314 -0
  81. package/dist/pstack/skills/statechart/scripts/test/config-fuzz.test.ts +263 -0
  82. package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/ChartRun.out +57 -0
  83. package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/Counter.cfg +3 -0
  84. package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/Counter.tla +10 -0
  85. package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/chart.mmd +9 -0
  86. package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/graph.dot +16 -0
  87. package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/report.md +7 -0
  88. package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/sany.out +2 -0
  89. package/dist/pstack/skills/statechart/scripts/test/corpus/Counter/verdict-1.out +49 -0
  90. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/ChartRun.out +60 -0
  91. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/CounterAction.cfg +4 -0
  92. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/CounterAction.tla +22 -0
  93. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/chart.mmd +26 -0
  94. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/graph.dot +19 -0
  95. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/report.md +20 -0
  96. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/sany.out +2 -0
  97. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-1.exit +1 -0
  98. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-1.out +56 -0
  99. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-2.exit +1 -0
  100. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-2.out +82 -0
  101. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterAction/verdict-3.out +57 -0
  102. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/ChartRun.out +59 -0
  103. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/CounterDeadlock.cfg +3 -0
  104. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/CounterDeadlock.tla +11 -0
  105. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/chart.mmd +22 -0
  106. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/graph.dot +16 -0
  107. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/report.md +17 -0
  108. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/sany.out +2 -0
  109. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-1.exit +1 -0
  110. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-1.out +56 -0
  111. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-2.exit +1 -0
  112. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-2.out +77 -0
  113. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/ChartRun.out +69 -0
  114. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/CounterFan.cfg +2 -0
  115. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/CounterFan.tla +11 -0
  116. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/chart.mmd +85 -0
  117. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/graph.dot +70 -0
  118. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/report.md +12 -0
  119. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/sany.out +2 -0
  120. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/verdict-1.exit +1 -0
  121. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/verdict-1.out +67 -0
  122. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterFan/verdict-2.out +57 -0
  123. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/ChartRun.exit +1 -0
  124. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/ChartRun.out +85 -0
  125. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/CounterGuard.cfg +6 -0
  126. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/CounterGuard.tla +13 -0
  127. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/chart.mmd +5 -0
  128. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/graph.dot +10 -0
  129. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/report.md +31 -0
  130. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/sany.out +2 -0
  131. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/verdict-1.exit +1 -0
  132. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/verdict-1.out +64 -0
  133. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/verdict-2.exit +1 -0
  134. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterGuard/verdict-2.out +77 -0
  135. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/ChartRun.out +55 -0
  136. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/CounterInitPast.cfg +3 -0
  137. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/CounterInitPast.tla +10 -0
  138. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/chart.mmd +12 -0
  139. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/graph.dot +6 -0
  140. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/report.md +12 -0
  141. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/sany.out +2 -0
  142. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-1.exit +1 -0
  143. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-1.out +33 -0
  144. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-2.out +54 -0
  145. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/ChartRun.out +54 -0
  146. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.cfg +3 -0
  147. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.tla +10 -0
  148. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/chart.mmd +1 -0
  149. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/graph.dot +6 -0
  150. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/report.md +7 -0
  151. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/sany.out +2 -0
  152. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInitPastHolds/verdict-1.out +46 -0
  153. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/ChartRun.out +59 -0
  154. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/CounterInstance.cfg +2 -0
  155. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/CounterInstance.tla +10 -0
  156. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/CounterSteps.tla +6 -0
  157. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/chart.mmd +17 -0
  158. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/graph.dot +15 -0
  159. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/report.md +14 -0
  160. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/sany.out +3 -0
  161. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/verdict-1.exit +1 -0
  162. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterInstance/verdict-1.out +78 -0
  163. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/ChartRun.out +59 -0
  164. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/CounterJump.cfg +3 -0
  165. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/CounterJump.tla +19 -0
  166. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/chart.mmd +26 -0
  167. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/graph.dot +22 -0
  168. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/report.md +12 -0
  169. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/sany.out +2 -0
  170. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/verdict-1.exit +1 -0
  171. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/verdict-1.out +58 -0
  172. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterJump/verdict-2.out +57 -0
  173. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/ChartRun.out +57 -0
  174. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/CounterLoop.cfg +2 -0
  175. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/CounterLoop.tla +11 -0
  176. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/chart.mmd +17 -0
  177. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/graph.dot +15 -0
  178. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/report.md +14 -0
  179. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/sany.out +2 -0
  180. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/verdict-1.exit +1 -0
  181. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterLoop/verdict-1.out +76 -0
  182. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/ChartRun.out +59 -0
  183. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/CounterOrder.cfg +3 -0
  184. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/CounterOrder.tla +11 -0
  185. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/chart.mmd +19 -0
  186. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/graph.dot +10 -0
  187. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/report.md +15 -0
  188. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/sany.out +2 -0
  189. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/verdict-1.exit +1 -0
  190. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/verdict-1.out +56 -0
  191. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/verdict-2.exit +1 -0
  192. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterOrder/verdict-2.out +67 -0
  193. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/ChartRun.out +62 -0
  194. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/CounterRules.cfg +6 -0
  195. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/CounterRules.tla +24 -0
  196. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/Moves.tla +5 -0
  197. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/chart.mmd +22 -0
  198. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/graph.dot +10 -0
  199. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/report.md +23 -0
  200. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/sany.out +3 -0
  201. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-1.exit +1 -0
  202. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-1.out +58 -0
  203. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-2.exit +1 -0
  204. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-2.out +66 -0
  205. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-3.exit +1 -0
  206. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-3.out +74 -0
  207. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterRules/verdict-4.out +59 -0
  208. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/ChartRun.out +58 -0
  209. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/CounterStart.cfg +3 -0
  210. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/CounterStart.tla +15 -0
  211. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/chart.mmd +18 -0
  212. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/graph.dot +13 -0
  213. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/report.md +11 -0
  214. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/sany.out +2 -0
  215. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/verdict-1.exit +1 -0
  216. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/verdict-1.out +33 -0
  217. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStart/verdict-2.out +57 -0
  218. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/ChartRun.out +57 -0
  219. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/CounterStop.cfg +3 -0
  220. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/CounterStop.tla +15 -0
  221. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/chart.mmd +7 -0
  222. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/graph.dot +13 -0
  223. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/report.md +6 -0
  224. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/sany.out +2 -0
  225. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterStop/verdict-1.out +49 -0
  226. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/ChartRun.out +61 -0
  227. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/CounterTie.cfg +4 -0
  228. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/CounterTie.tla +14 -0
  229. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/chart.mmd +30 -0
  230. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/graph.dot +19 -0
  231. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/report.md +27 -0
  232. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/sany.out +2 -0
  233. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-1.exit +1 -0
  234. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-1.out +56 -0
  235. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-2.exit +1 -0
  236. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-2.out +64 -0
  237. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-3.exit +1 -0
  238. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-3.out +87 -0
  239. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTie/verdict-4.out +57 -0
  240. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/ChartRun.out +60 -0
  241. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/CounterTieInGraph.cfg +3 -0
  242. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/CounterTieInGraph.tla +12 -0
  243. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/chart.mmd +23 -0
  244. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/graph.dot +19 -0
  245. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/report.md +11 -0
  246. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/sany.out +2 -0
  247. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-1.exit +1 -0
  248. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-1.out +56 -0
  249. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-2.out +57 -0
  250. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/ChartRun.out +61 -0
  251. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/CounterView.cfg +4 -0
  252. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/CounterView.tla +14 -0
  253. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/chart.mmd +23 -0
  254. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/graph.dot +19 -0
  255. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/report.md +27 -0
  256. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/sany.out +2 -0
  257. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-1.exit +1 -0
  258. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-1.out +56 -0
  259. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-2.exit +1 -0
  260. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-2.out +64 -0
  261. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-3.exit +1 -0
  262. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-3.out +87 -0
  263. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/verdict-4.out +57 -0
  264. package/dist/pstack/skills/statechart/scripts/test/corpus/CounterView/view.mjs +1 -0
  265. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/ChartRun.out +59 -0
  266. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/DieHard.cfg +4 -0
  267. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/DieHard.tla +38 -0
  268. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/chart.mmd +92 -0
  269. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/graph.dot +126 -0
  270. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/report.md +17 -0
  271. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/sany.out +2 -0
  272. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/verdict-1.exit +1 -0
  273. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/verdict-1.out +91 -0
  274. package/dist/pstack/skills/statechart/scripts/test/corpus/DieHard/verdict-2.out +57 -0
  275. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/ChartRun.out +61 -0
  276. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/FirstRule.cfg +6 -0
  277. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/FirstRule.tla +11 -0
  278. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/chart.mmd +22 -0
  279. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/graph.dot +16 -0
  280. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/report.md +25 -0
  281. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/sany.out +2 -0
  282. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-1.exit +1 -0
  283. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-1.out +56 -0
  284. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-2.exit +1 -0
  285. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-2.out +64 -0
  286. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-3.exit +1 -0
  287. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-3.out +64 -0
  288. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-4.exit +1 -0
  289. package/dist/pstack/skills/statechart/scripts/test/corpus/FirstRule/verdict-4.out +77 -0
  290. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/ChartRun.out +57 -0
  291. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/HiddenClock.cfg +4 -0
  292. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/HiddenClock.tla +11 -0
  293. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/chart.mmd +13 -0
  294. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/graph.dot +12 -0
  295. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/report.md +11 -0
  296. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/sany.out +2 -0
  297. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/verdict-1.exit +1 -0
  298. package/dist/pstack/skills/statechart/scripts/test/corpus/HiddenClock/verdict-1.out +72 -0
  299. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/ChartRun.out +57 -0
  300. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/Login.cfg +3 -0
  301. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/Login.tla +62 -0
  302. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/chart.mmd +27 -0
  303. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/graph.dot +40 -0
  304. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/report.md +7 -0
  305. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/sany.out +1 -0
  306. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/verdict-1.out +47 -0
  307. package/dist/pstack/skills/statechart/scripts/test/corpus/Login/view.mjs +1 -0
  308. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/ChartRun.out +57 -0
  309. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/LoginGuarded.cfg +2 -0
  310. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/LoginGuarded.tla +64 -0
  311. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/chart.mmd +28 -0
  312. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/graph.dot +37 -0
  313. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/report.md +8 -0
  314. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/sany.out +1 -0
  315. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/verdict-1.out +47 -0
  316. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/view.mjs +1 -0
  317. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/ChartRun.out +60 -0
  318. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/LoginParallel.cfg +3 -0
  319. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/LoginParallel.tla +64 -0
  320. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/chart.mmd +44 -0
  321. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/graph.dot +58 -0
  322. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/report.md +17 -0
  323. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/sany.out +1 -0
  324. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/verdict-1.exit +1 -0
  325. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/verdict-1.out +83 -0
  326. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/verdict-2.out +57 -0
  327. package/dist/pstack/skills/statechart/scripts/test/corpus/LoginParallel/view.mjs +1 -0
  328. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/ChartRun.out +60 -0
  329. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/MediaPlayer.cfg +3 -0
  330. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/MediaPlayer.tla +103 -0
  331. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/chart.mmd +43 -0
  332. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/graph.dot +93 -0
  333. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/report.md +14 -0
  334. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/sany.out +1 -0
  335. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-1.exit +1 -0
  336. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-1.out +59 -0
  337. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-2.out +72 -0
  338. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/view.mjs +3 -0
  339. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/ChartRun.out +57 -0
  340. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.cfg +2 -0
  341. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.tla +100 -0
  342. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/chart.mmd +31 -0
  343. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/graph.dot +85 -0
  344. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/report.md +9 -0
  345. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/sany.out +1 -0
  346. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/verdict-1.out +47 -0
  347. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/view.mjs +3 -0
  348. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/ChartRun.out +59 -0
  349. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayer.tla +103 -0
  350. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayerProps.cfg +3 -0
  351. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayerProps.tla +6 -0
  352. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/chart.mmd +42 -0
  353. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/graph.dot +93 -0
  354. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/report.md +19 -0
  355. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/sany.out +2 -0
  356. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-1.exit +1 -0
  357. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-1.out +61 -0
  358. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-2.out +59 -0
  359. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-3.out +61 -0
  360. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-4.exit +1 -0
  361. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-4.out +66 -0
  362. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-5.exit +1 -0
  363. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-5.out +58 -0
  364. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-6.out +49 -0
  365. package/dist/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/view.mjs +3 -0
  366. package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/ChartRun.out +57 -0
  367. package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/PickWorker.cfg +6 -0
  368. package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/PickWorker.tla +11 -0
  369. package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/chart.mmd +5 -0
  370. package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/graph.dot +11 -0
  371. package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/report.md +7 -0
  372. package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/sany.out +5 -0
  373. package/dist/pstack/skills/statechart/scripts/test/corpus/PickWorker/verdict-1.out +70 -0
  374. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/ChartRun.out +61 -0
  375. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/Shadow.cfg +4 -0
  376. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/Shadow.tla +11 -0
  377. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/ShadowLib.tla +6 -0
  378. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/ShadowSub.tla +3 -0
  379. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/chart.mmd +9 -0
  380. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/graph.dot +16 -0
  381. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/report.md +8 -0
  382. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/sany.out +4 -0
  383. package/dist/pstack/skills/statechart/scripts/test/corpus/Shadow/verdict-1.out +65 -0
  384. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/ChartRun.out +59 -0
  385. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/SpacedNames.cfg +2 -0
  386. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/SpacedNames.tla +9 -0
  387. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/chart.mmd +23 -0
  388. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/graph.dot +17 -0
  389. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/report.md +15 -0
  390. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/sany.out +1 -0
  391. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/verdict-1.exit +1 -0
  392. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/verdict-1.out +65 -0
  393. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/verdict-2.exit +1 -0
  394. package/dist/pstack/skills/statechart/scripts/test/corpus/SpacedNames/verdict-2.out +75 -0
  395. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/ChartRun.out +69 -0
  396. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.cfg +3 -0
  397. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.tla +75 -0
  398. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/chart.mmd +60 -0
  399. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/graph.dot +297 -0
  400. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/report.md +20 -0
  401. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/sany.out +1 -0
  402. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/verdict-1.exit +1 -0
  403. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/verdict-1.out +95 -0
  404. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/verdict-2.out +57 -0
  405. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhase/view.mjs +1 -0
  406. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/ChartRun.out +57 -0
  407. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.cfg +3 -0
  408. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tla +75 -0
  409. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/chart.mmd +37 -0
  410. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/graph.dot +223 -0
  411. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/report.md +11 -0
  412. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/sany.out +1 -0
  413. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/verdict-1.out +47 -0
  414. package/dist/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/view.mjs +1 -0
  415. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/ChartRun.exit +1 -0
  416. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/ChartRun.out +75 -0
  417. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/TypeGuard.cfg +5 -0
  418. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/TypeGuard.tla +11 -0
  419. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/chart.mmd +18 -0
  420. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/graph.dot +14 -0
  421. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/report.md +29 -0
  422. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/sany.out +2 -0
  423. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/verdict-1.exit +1 -0
  424. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/verdict-1.out +64 -0
  425. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/verdict-2.exit +1 -0
  426. package/dist/pstack/skills/statechart/scripts/test/corpus/TypeGuard/verdict-2.out +75 -0
  427. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/ChartRun.out +58 -0
  428. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/UserNoDeadlock.cfg +2 -0
  429. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/UserNoDeadlock.tla +8 -0
  430. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/chart.mmd +22 -0
  431. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/graph.dot +16 -0
  432. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/report.md +15 -0
  433. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/sany.out +2 -0
  434. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-1.exit +1 -0
  435. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-1.out +56 -0
  436. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-2.exit +1 -0
  437. package/dist/pstack/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-2.out +77 -0
  438. package/dist/pstack/skills/statechart/scripts/test/corpus.test.ts +403 -0
  439. package/dist/pstack/skills/statechart/scripts/test/differential.test.ts +565 -0
  440. package/dist/pstack/skills/statechart/scripts/test/grid/Grid.cfg +2 -0
  441. package/dist/pstack/skills/statechart/scripts/test/grid/Grid.tla +9 -0
  442. package/dist/pstack/skills/statechart/scripts/test/grid/sany.out +2 -0
  443. package/dist/pstack/skills/statechart/scripts/test/java.ts +63 -0
  444. package/dist/pstack/skills/statechart/scripts/test/labels.ts +643 -0
  445. package/dist/pstack/skills/statechart/scripts/test/messages.test.ts +212 -0
  446. package/dist/pstack/skills/statechart/scripts/test/pipeline.test.ts +270 -0
  447. package/dist/pstack/skills/statechart/scripts/test/plain-tlc.test.ts +255 -0
  448. package/dist/pstack/skills/statechart/scripts/test/render.test.ts +81 -0
  449. package/dist/pstack/skills/statechart/scripts/test/tlc-out.test.ts +90 -0
  450. package/dist/pstack/skills/statechart/scripts/test/tlc.ts +158 -0
  451. package/dist/pstack/skills/statechart/scripts/tsconfig.json +11 -0
  452. package/dist/pstack/skills/statechart/scripts/worker.ts +35 -0
  453. package/dist/readonly.d.mts +3 -0
  454. package/dist/readonly.mjs +9 -0
  455. package/dist/role-catalog.d.mts +11 -24
  456. package/dist/role-catalog.mjs +17 -32
  457. package/dist/role-config.d.mts +41 -0
  458. package/dist/role-config.mjs +112 -0
  459. package/dist/role-editor.d.mts +25 -0
  460. package/dist/role-editor.mjs +372 -0
  461. package/dist/role-file-CIVHnhBg.d.mts +53 -0
  462. package/dist/role-file.d.mts +2 -0
  463. package/dist/role-file.mjs +121 -0
  464. package/dist/{role-manifest-8OERX9-s.d.mts → role-manifest-D1npMjqZ.d.mts} +21 -10
  465. package/dist/role-manifest.d.mts +2 -0
  466. package/dist/{role-manifest-79cnFfDM.mjs → role-manifest.mjs} +20 -16
  467. package/dist/role-remote.d.mts +23 -0
  468. package/dist/role-remote.mjs +106 -0
  469. package/dist/{roles.d.mts → role-service.d.mts} +8 -4
  470. package/dist/role-service.mjs +43 -0
  471. package/dist/role-wire.d.mts +54 -0
  472. package/dist/role-wire.mjs +127 -0
  473. package/dist/route-7SqXDYrL.d.mts +36 -0
  474. package/dist/route.d.mts +2 -0
  475. package/dist/route.mjs +78 -0
  476. package/dist/skill.d.mts +9 -23
  477. package/dist/skill.mjs +28 -37
  478. package/dist/skills/authored/docs-drift/SKILL.md +4 -4
  479. package/dist/skills/authored/docs-drift/SKILL.zh.md +4 -4
  480. package/dist/skills/vendored/control-cli/SKILL.md +109 -0
  481. package/dist/skills/vendored/control-ui/SKILL.md +109 -0
  482. package/dist/skills/vendored/deslop/SKILL.md +22 -0
  483. package/dist/subagent.d.mts +60 -169
  484. package/dist/subagent.mjs +344 -587
  485. package/dist/wire-error-D_r-UW4w.d.mts +5 -0
  486. package/dist/wire-error.d.mts +2 -0
  487. package/dist/wire-error.mjs +9 -0
  488. package/locale/en.json +1 -1
  489. package/package.json +51 -35
  490. package/assets/pstack-config-entry.png +0 -0
  491. package/dist/client.mjs +0 -2482
  492. package/dist/client.mjs.map +0 -1
  493. package/dist/host-contract-CUPSpeNk.d.mts +0 -22
  494. package/dist/paths-yji9SNak.mjs +0 -47
  495. package/dist/pstack/skills/poteto-mode/scripts/expect.mjs +0 -254
  496. package/dist/pstack/skills/poteto-mode/scripts/support.mjs +0 -93
  497. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/cli.mjs +0 -123
  498. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.mjs +0 -217
  499. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.mjs +0 -119
  500. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/github.mjs +0 -626
  501. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/github.test.mjs +0 -521
  502. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/policy.mjs +0 -657
  503. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.mjs +0 -523
  504. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/render.mjs +0 -106
  505. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/types.mjs +0 -9
  506. package/dist/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr.mjs +0 -5
  507. package/dist/pstack/skills/poteto-mode/scripts/worktree-audit.mjs +0 -668
  508. package/dist/pstack/skills/poteto-mode/scripts/worktree-audit.test.mjs +0 -134
  509. package/dist/pstack/skills/show-me-your-work/scripts/log.mjs +0 -106
  510. package/dist/pstack/skills/show-me-your-work/scripts/log.test.mjs +0 -56
  511. package/dist/pstack/skills/statechart/scripts/backends/cfg.mjs +0 -31
  512. package/dist/pstack/skills/statechart/scripts/backends/mermaid.mjs +0 -186
  513. package/dist/pstack/skills/statechart/scripts/backends/plain-text.mjs +0 -62
  514. package/dist/pstack/skills/statechart/scripts/backends/report.mjs +0 -84
  515. package/dist/pstack/skills/statechart/scripts/frontends/config.mjs +0 -268
  516. package/dist/pstack/skills/statechart/scripts/frontends/dot.mjs +0 -67
  517. package/dist/pstack/skills/statechart/scripts/frontends/marks.mjs +0 -94
  518. package/dist/pstack/skills/statechart/scripts/frontends/messages.mjs +0 -48
  519. package/dist/pstack/skills/statechart/scripts/frontends/spec.mjs +0 -101
  520. package/dist/pstack/skills/statechart/scripts/frontends/trace.mjs +0 -39
  521. package/dist/pstack/skills/statechart/scripts/frontends/value.mjs +0 -180
  522. package/dist/pstack/skills/statechart/scripts/frontends/verdict.mjs +0 -40
  523. package/dist/pstack/skills/statechart/scripts/frontends/view.mjs +0 -99
  524. package/dist/pstack/skills/statechart/scripts/ir.mjs +0 -277
  525. package/dist/pstack/skills/statechart/scripts/passes/annotate.mjs +0 -92
  526. package/dist/pstack/skills/statechart/scripts/passes/label.mjs +0 -210
  527. package/dist/pstack/skills/statechart/scripts/passes/lift.mjs +0 -84
  528. package/dist/pstack/skills/statechart/scripts/passes/loop-check.mjs +0 -47
  529. package/dist/pstack/skills/statechart/scripts/passes/paths.mjs +0 -72
  530. package/dist/pstack/skills/statechart/scripts/passes/reach.mjs +0 -135
  531. package/dist/pstack/skills/statechart/scripts/passes/region-check.mjs +0 -82
  532. package/dist/pstack/skills/statechart/scripts/passes/regions.mjs +0 -268
  533. package/dist/pstack/skills/statechart/scripts/pipeline.mjs +0 -72
  534. package/dist/pstack/skills/statechart/scripts/run.mjs +0 -440
  535. package/dist/pstack/skills/statechart/scripts/statechart.mjs +0 -155
  536. package/dist/pstack/skills/statechart/scripts/statechart.test.mjs +0 -198
  537. package/dist/pstack/skills/statechart/scripts/worker.mjs +0 -31
  538. package/dist/remote.d.mts +0 -27
  539. package/dist/remote.mjs +0 -235
  540. package/dist/role-config-a4JpVdc-.mjs +0 -379
  541. package/dist/role-wire-CAJsVA6e.d.mts +0 -54
  542. package/dist/roles.mjs +0 -293
  543. package/dist/script.d.mts +0 -91
  544. 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 MAX_MODELS_PER_PROVIDER = 200;
10
- function entryFromInfo(provider, info) {
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 all = llm.listProviders();
26
- const selected = providerFilter === void 0 ? all : all.filter((provider) => provider.id === providerFilter || provider.name === providerFilter);
27
- const providers = [];
28
- let truncated = false;
29
- for (const provider of selected.slice(0, MAX_PROVIDERS)) {
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
- providers.push({
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 > MAX_MODELS_PER_PROVIDER) truncated = true;
30
+ if (models.length > MAX_MODELS) truncated = true;
43
31
  const entries = [];
44
- for (const model of models.slice(0, MAX_MODELS_PER_PROVIDER)) {
32
+ for (const model of models.slice(0, MAX_MODELS)) {
45
33
  signal.throwIfAborted();
46
34
  try {
47
- entries.push(entryFromInfo(provider.id, await llm.resolveModelInfo(provider.id, model.id, signal)));
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
- providers.push({
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}". Registered providers are listed when \`provider\` is omitted.`;
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 defaultEffort = model.defaultEffort === void 0 ? "" : `; default: ${model.defaultEffort}`;
88
- const failure = model.error === void 0 ? "" : `; error: ${model.error}`;
89
- lines.push(` ${model.route} — ${efforts}${defaultEffort}${failure}`);
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("", `Truncated at ${MAX_PROVIDERS} providers and ${MAX_MODELS_PER_PROVIDER} models each.`);
82
+ if (result.truncated) lines.push("", "Truncated at the provider/model page limits.");
93
83
  return lines.join("\n");
94
84
  }
95
- const OUTPUT_SCHEMA = {
96
- type: "object",
97
- additionalProperties: false,
98
- properties: {
99
- providers: {
100
- type: "array",
101
- items: {
102
- type: "object",
103
- additionalProperties: false,
104
- properties: {
105
- provider: { type: "string" },
106
- name: { type: "string" },
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 an upstream name.",
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`. A provider whose discovery fails is reported beside the others rather than dropping the whole catalog."
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 to limit discovery to. Omit it to list every provider."
116
+ description: "A registered provider id or display name; omit for every provider."
167
117
  } }
168
118
  },
169
119
  output: {
170
- schema: OUTPUT_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
- return await collectCatalogue(llm, readProviderArgument(rawArgs), exec.signal);
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
- if (error instanceof Error) {
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 };
@@ -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
+ }
@@ -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 };