@monoes/monomindcli 2.15.7 → 2.16.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 (460) hide show
  1. package/.claude/helpers/build-skill-registry.cjs +23 -2
  2. package/.claude/helpers/handlers/route-handler.cjs +102 -3
  3. package/.claude/helpers/handlers/session-restore-handler.cjs +1 -1
  4. package/.claude/helpers/hook-handler.cjs +17 -2
  5. package/.claude/helpers/jev-picker.cjs +499 -0
  6. package/.claude/helpers/redact-secrets.cjs +69 -0
  7. package/.claude/skills/mastermind-agent-select/SKILL.md +28 -0
  8. package/.claude/skills/monodesign/SKILL.md +257 -0
  9. package/.claude/skills/monodesign/adapt.md +53 -0
  10. package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +100 -0
  11. package/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +103 -0
  12. package/.claude/skills/monodesign/animate.md +65 -0
  13. package/.claude/skills/monodesign/audit.md +89 -0
  14. package/.claude/skills/monodesign/bolder.md +50 -0
  15. package/.claude/skills/monodesign/clarify.md +64 -0
  16. package/.claude/skills/monodesign/colorize.md +68 -0
  17. package/.claude/skills/monodesign/craft.md +51 -0
  18. package/.claude/skills/monodesign/critique.md +66 -0
  19. package/.claude/skills/monodesign/delight.md +47 -0
  20. package/.claude/skills/monodesign/distill.md +56 -0
  21. package/.claude/skills/monodesign/document.md +83 -0
  22. package/.claude/skills/monodesign/extract.md +74 -0
  23. package/.claude/skills/monodesign/harden.md +65 -0
  24. package/.claude/skills/monodesign/init.md +30 -0
  25. package/.claude/skills/monodesign/layout.md +36 -0
  26. package/.claude/skills/monodesign/live.md +34 -0
  27. package/.claude/skills/monodesign/onboard.md +50 -0
  28. package/.claude/skills/monodesign/optimize.md +64 -0
  29. package/.claude/skills/monodesign/overdrive.md +56 -0
  30. package/.claude/skills/monodesign/polish.md +68 -0
  31. package/.claude/skills/monodesign/quieter.md +57 -0
  32. package/.claude/skills/monodesign/reference/adapt.md +312 -0
  33. package/.claude/skills/monodesign/reference/adapt.native.md +58 -0
  34. package/.claude/skills/monodesign/reference/android.md +40 -0
  35. package/.claude/skills/monodesign/reference/animate.md +203 -0
  36. package/.claude/skills/monodesign/reference/antipatterns-catalog.md +410 -0
  37. package/.claude/skills/monodesign/reference/audit.md +135 -0
  38. package/.claude/skills/monodesign/reference/audit.native.md +139 -0
  39. package/.claude/skills/monodesign/reference/bolder.md +120 -0
  40. package/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
  41. package/.claude/skills/monodesign/reference/brand.md +108 -0
  42. package/.claude/skills/monodesign/reference/clarify.md +288 -0
  43. package/.claude/skills/monodesign/reference/codex.md +105 -0
  44. package/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
  45. package/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
  46. package/.claude/skills/monodesign/reference/colorize.md +257 -0
  47. package/.claude/skills/monodesign/reference/component-specs.md +260 -0
  48. package/.claude/skills/monodesign/reference/component-states.md +274 -0
  49. package/.claude/skills/monodesign/reference/component-system.md +358 -0
  50. package/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
  51. package/.claude/skills/monodesign/reference/craft.md +123 -0
  52. package/.claude/skills/monodesign/reference/critique.md +780 -0
  53. package/.claude/skills/monodesign/reference/delight.md +302 -0
  54. package/.claude/skills/monodesign/reference/design-principles.md +246 -0
  55. package/.claude/skills/monodesign/reference/distill.md +111 -0
  56. package/.claude/skills/monodesign/reference/document.md +429 -0
  57. package/.claude/skills/monodesign/reference/extract.md +69 -0
  58. package/.claude/skills/monodesign/reference/harden.md +347 -0
  59. package/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
  60. package/.claude/skills/monodesign/reference/hooks.md +92 -0
  61. package/.claude/skills/monodesign/reference/image-prompts.md +130 -0
  62. package/.claude/skills/monodesign/reference/init.md +221 -0
  63. package/.claude/skills/monodesign/reference/interaction-design.md +189 -0
  64. package/.claude/skills/monodesign/reference/ios.md +45 -0
  65. package/.claude/skills/monodesign/reference/layout.md +185 -0
  66. package/.claude/skills/monodesign/reference/live.md +710 -0
  67. package/.claude/skills/monodesign/reference/motion-design.md +109 -0
  68. package/.claude/skills/monodesign/reference/onboard.md +234 -0
  69. package/.claude/skills/monodesign/reference/optimize.md +258 -0
  70. package/.claude/skills/monodesign/reference/overdrive.md +130 -0
  71. package/.claude/skills/monodesign/reference/personas.md +179 -0
  72. package/.claude/skills/monodesign/reference/polish.md +241 -0
  73. package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
  74. package/.claude/skills/monodesign/reference/product.md +60 -0
  75. package/.claude/skills/monodesign/reference/quieter.md +99 -0
  76. package/.claude/skills/monodesign/reference/responsive-design.md +114 -0
  77. package/.claude/skills/monodesign/reference/shape.md +165 -0
  78. package/.claude/skills/monodesign/reference/spatial-design.md +100 -0
  79. package/.claude/skills/monodesign/reference/teach.md +10 -0
  80. package/.claude/skills/monodesign/reference/token-architecture.md +222 -0
  81. package/.claude/skills/monodesign/reference/typeset.md +301 -0
  82. package/.claude/skills/monodesign/reference/typography.md +159 -0
  83. package/.claude/skills/monodesign/reference/ux-research.md +143 -0
  84. package/.claude/skills/monodesign/reference/ux-rules.md +211 -0
  85. package/.claude/skills/monodesign/reference/ux-writing.md +107 -0
  86. package/.claude/skills/monodesign/scripts/command-metadata.json +94 -0
  87. package/.claude/skills/monodesign/scripts/context-signals.mjs +260 -0
  88. package/.claude/skills/monodesign/scripts/context.mjs +1065 -0
  89. package/.claude/skills/monodesign/scripts/critique-storage.mjs +416 -0
  90. package/.claude/skills/monodesign/scripts/detect-csp.mjs +193 -0
  91. package/.claude/skills/monodesign/scripts/detect.mjs +33 -0
  92. package/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +1960 -0
  93. package/.claude/skills/monodesign/scripts/detector/cli/main.mjs +321 -0
  94. package/.claude/skills/monodesign/scripts/detector/design-system.mjs +814 -0
  95. package/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +5628 -0
  96. package/.claude/skills/monodesign/scripts/detector/detect-antipatterns.mjs +50 -0
  97. package/.claude/skills/monodesign/scripts/detector/engines/browser/detect-url.mjs +259 -0
  98. package/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +339 -0
  99. package/.claude/skills/monodesign/scripts/detector/engines/regex/detect-text.mjs +636 -0
  100. package/.claude/skills/monodesign/scripts/detector/engines/static-html/css-cascade.mjs +1016 -0
  101. package/.claude/skills/monodesign/scripts/detector/engines/static-html/detect-html.mjs +253 -0
  102. package/.claude/skills/monodesign/scripts/detector/engines/visual/screenshot-contrast.mjs +198 -0
  103. package/.claude/skills/monodesign/scripts/detector/findings.mjs +12 -0
  104. package/.claude/skills/monodesign/scripts/detector/fix/css-regions.mjs +181 -0
  105. package/.claude/skills/monodesign/scripts/detector/fix/fixers.mjs +373 -0
  106. package/.claude/skills/monodesign/scripts/detector/fix/index.mjs +426 -0
  107. package/.claude/skills/monodesign/scripts/detector/node/file-system.mjs +198 -0
  108. package/.claude/skills/monodesign/scripts/detector/profile/profiler.mjs +166 -0
  109. package/.claude/skills/monodesign/scripts/detector/registry/antipatterns.mjs +563 -0
  110. package/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +3024 -0
  111. package/.claude/skills/monodesign/scripts/detector/shared/color.mjs +124 -0
  112. package/.claude/skills/monodesign/scripts/detector/shared/constants.mjs +101 -0
  113. package/.claude/skills/monodesign/scripts/detector/shared/fonts.mjs +30 -0
  114. package/.claude/skills/monodesign/scripts/detector/shared/inline-ignores.mjs +148 -0
  115. package/.claude/skills/monodesign/scripts/detector/shared/page.mjs +7 -0
  116. package/.claude/skills/monodesign/scripts/hook-admin.mjs +694 -0
  117. package/.claude/skills/monodesign/scripts/hook-before-edit.mjs +516 -0
  118. package/.claude/skills/monodesign/scripts/hook-lib.mjs +1785 -0
  119. package/.claude/skills/monodesign/scripts/hook.mjs +61 -0
  120. package/.claude/skills/monodesign/scripts/lib/design-parser.mjs +809 -0
  121. package/.claude/skills/monodesign/scripts/lib/is-generated.mjs +69 -0
  122. package/.claude/skills/monodesign/scripts/lib/monodesign-config.mjs +640 -0
  123. package/.claude/skills/monodesign/scripts/lib/monodesign-paths.mjs +129 -0
  124. package/.claude/skills/monodesign/scripts/lib/provider.mjs +4 -0
  125. package/.claude/skills/monodesign/scripts/lib/target-args.mjs +42 -0
  126. package/.claude/skills/monodesign/scripts/live/browser-script-parts.mjs +50 -0
  127. package/.claude/skills/monodesign/scripts/live/completion.mjs +19 -0
  128. package/.claude/skills/monodesign/scripts/live/event-validation.mjs +137 -0
  129. package/.claude/skills/monodesign/scripts/live/insert-ui.mjs +458 -0
  130. package/.claude/skills/monodesign/scripts/live/manual-apply.mjs +939 -0
  131. package/.claude/skills/monodesign/scripts/live/manual-edit-routes.mjs +357 -0
  132. package/.claude/skills/monodesign/scripts/live/manual-edits-buffer.mjs +152 -0
  133. package/.claude/skills/monodesign/scripts/live/session-store.mjs +293 -0
  134. package/.claude/skills/monodesign/scripts/live/svelte-component.mjs +826 -0
  135. package/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +279 -0
  136. package/.claude/skills/monodesign/scripts/live/ui-core.mjs +180 -0
  137. package/.claude/skills/monodesign/scripts/live/vocabulary.mjs +36 -0
  138. package/.claude/skills/monodesign/scripts/live-accept.mjs +812 -0
  139. package/.claude/skills/monodesign/scripts/live-browser-dom.js +147 -0
  140. package/.claude/skills/monodesign/scripts/live-browser-session.js +124 -0
  141. package/.claude/skills/monodesign/scripts/live-browser.js +11213 -0
  142. package/.claude/skills/monodesign/scripts/live-commit-manual-edits.mjs +1241 -0
  143. package/.claude/skills/monodesign/scripts/live-complete.mjs +75 -0
  144. package/.claude/skills/monodesign/scripts/live-copy-edit-agent.mjs +683 -0
  145. package/.claude/skills/monodesign/scripts/live-discard-manual-edits.mjs +51 -0
  146. package/.claude/skills/monodesign/scripts/live-inject.mjs +596 -0
  147. package/.claude/skills/monodesign/scripts/live-insert.mjs +272 -0
  148. package/.claude/skills/monodesign/scripts/live-manual-edit-evidence.mjs +363 -0
  149. package/.claude/skills/monodesign/scripts/live-poll.mjs +384 -0
  150. package/.claude/skills/monodesign/scripts/live-resume.mjs +94 -0
  151. package/.claude/skills/monodesign/scripts/live-server.mjs +1210 -0
  152. package/.claude/skills/monodesign/scripts/live-status.mjs +61 -0
  153. package/.claude/skills/monodesign/scripts/live-target.mjs +30 -0
  154. package/.claude/skills/monodesign/scripts/live-wrap.mjs +884 -0
  155. package/.claude/skills/monodesign/scripts/live.mjs +297 -0
  156. package/.claude/skills/monodesign/scripts/modern-screenshot.umd.js +14 -0
  157. package/.claude/skills/monodesign/scripts/palette.mjs +635 -0
  158. package/.claude/skills/monodesign/scripts/pin.mjs +221 -0
  159. package/.claude/skills/monodesign/shape.md +71 -0
  160. package/.claude/skills/monodesign/teach.md +18 -0
  161. package/.claude/skills/monodesign/typeset.md +59 -0
  162. package/README.md +1 -1
  163. package/dist/src/capabilities/cap-code.d.ts.map +1 -1
  164. package/dist/src/capabilities/cap-code.js +10 -5
  165. package/dist/src/capabilities/cap-code.js.map +1 -1
  166. package/dist/src/capabilities/manager.d.ts +2 -1
  167. package/dist/src/capabilities/manager.d.ts.map +1 -1
  168. package/dist/src/capabilities/manager.js +4 -1
  169. package/dist/src/capabilities/manager.js.map +1 -1
  170. package/dist/src/catalog/blueprints.d.ts +39 -0
  171. package/dist/src/catalog/blueprints.d.ts.map +1 -0
  172. package/dist/src/catalog/blueprints.js +78 -0
  173. package/dist/src/catalog/blueprints.js.map +1 -0
  174. package/dist/src/catalog/digest.d.ts +16 -0
  175. package/dist/src/catalog/digest.d.ts.map +1 -0
  176. package/dist/src/catalog/digest.js +62 -0
  177. package/dist/src/catalog/digest.js.map +1 -0
  178. package/dist/src/catalog/frontmatter.d.ts +23 -0
  179. package/dist/src/catalog/frontmatter.d.ts.map +1 -0
  180. package/dist/src/catalog/frontmatter.js +80 -0
  181. package/dist/src/catalog/frontmatter.js.map +1 -0
  182. package/dist/src/catalog/lifecycle.d.ts +31 -0
  183. package/dist/src/catalog/lifecycle.d.ts.map +1 -0
  184. package/dist/src/catalog/lifecycle.js +78 -0
  185. package/dist/src/catalog/lifecycle.js.map +1 -0
  186. package/dist/src/catalog/projection.d.ts +57 -0
  187. package/dist/src/catalog/projection.d.ts.map +1 -0
  188. package/dist/src/catalog/projection.js +272 -0
  189. package/dist/src/catalog/projection.js.map +1 -0
  190. package/dist/src/catalog/scan.d.ts +37 -0
  191. package/dist/src/catalog/scan.d.ts.map +1 -0
  192. package/dist/src/catalog/scan.js +214 -0
  193. package/dist/src/catalog/scan.js.map +1 -0
  194. package/dist/src/catalog/snapshot.d.ts +62 -0
  195. package/dist/src/catalog/snapshot.d.ts.map +1 -0
  196. package/dist/src/catalog/snapshot.js +183 -0
  197. package/dist/src/catalog/snapshot.js.map +1 -0
  198. package/dist/src/catalog/stage.d.ts +26 -0
  199. package/dist/src/catalog/stage.d.ts.map +1 -0
  200. package/dist/src/catalog/stage.js +316 -0
  201. package/dist/src/catalog/stage.js.map +1 -0
  202. package/dist/src/catalog/state.d.ts +23 -0
  203. package/dist/src/catalog/state.d.ts.map +1 -0
  204. package/dist/src/catalog/state.js +102 -0
  205. package/dist/src/catalog/state.js.map +1 -0
  206. package/dist/src/catalog/types.d.ts +289 -0
  207. package/dist/src/catalog/types.d.ts.map +1 -0
  208. package/dist/src/catalog/types.js +118 -0
  209. package/dist/src/catalog/types.js.map +1 -0
  210. package/dist/src/commands/catalog.d.ts +14 -0
  211. package/dist/src/commands/catalog.d.ts.map +1 -0
  212. package/dist/src/commands/catalog.js +392 -0
  213. package/dist/src/commands/catalog.js.map +1 -0
  214. package/dist/src/commands/doctor-catalog-checks.d.ts +3 -0
  215. package/dist/src/commands/doctor-catalog-checks.d.ts.map +1 -0
  216. package/dist/src/commands/doctor-catalog-checks.js +69 -0
  217. package/dist/src/commands/doctor-catalog-checks.js.map +1 -0
  218. package/dist/src/commands/doctor-decision-checks.d.ts +10 -0
  219. package/dist/src/commands/doctor-decision-checks.d.ts.map +1 -0
  220. package/dist/src/commands/doctor-decision-checks.js +82 -0
  221. package/dist/src/commands/doctor-decision-checks.js.map +1 -0
  222. package/dist/src/commands/doctor-project-checks.js +1 -1
  223. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  224. package/dist/src/commands/doctor.d.ts.map +1 -1
  225. package/dist/src/commands/doctor.js +9 -1
  226. package/dist/src/commands/doctor.js.map +1 -1
  227. package/dist/src/commands/index.d.ts +2 -2
  228. package/dist/src/commands/index.d.ts.map +1 -1
  229. package/dist/src/commands/index.js +4 -1
  230. package/dist/src/commands/index.js.map +1 -1
  231. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  232. package/dist/src/commands/init-wizard.js +2 -0
  233. package/dist/src/commands/init-wizard.js.map +1 -1
  234. package/dist/src/commands/init.d.ts.map +1 -1
  235. package/dist/src/commands/init.js +25 -26
  236. package/dist/src/commands/init.js.map +1 -1
  237. package/dist/src/commands/org-observe.d.ts.map +1 -1
  238. package/dist/src/commands/org-observe.js +12 -10
  239. package/dist/src/commands/org-observe.js.map +1 -1
  240. package/dist/src/commands/org-run-end.d.ts +26 -0
  241. package/dist/src/commands/org-run-end.d.ts.map +1 -0
  242. package/dist/src/commands/org-run-end.js +40 -0
  243. package/dist/src/commands/org-run-end.js.map +1 -0
  244. package/dist/src/commands/org-skills.d.ts.map +1 -1
  245. package/dist/src/commands/org-skills.js +14 -4
  246. package/dist/src/commands/org-skills.js.map +1 -1
  247. package/dist/src/commands/org.d.ts +2 -1
  248. package/dist/src/commands/org.d.ts.map +1 -1
  249. package/dist/src/commands/org.js +44 -16
  250. package/dist/src/commands/org.js.map +1 -1
  251. package/dist/src/commands/pick.d.ts +4 -0
  252. package/dist/src/commands/pick.d.ts.map +1 -0
  253. package/dist/src/commands/pick.js +77 -0
  254. package/dist/src/commands/pick.js.map +1 -0
  255. package/dist/src/commands/route.js +1 -1
  256. package/dist/src/commands/route.js.map +1 -1
  257. package/dist/src/commands/search-universal.d.ts.map +1 -1
  258. package/dist/src/commands/search-universal.js +1 -2
  259. package/dist/src/commands/search-universal.js.map +1 -1
  260. package/dist/src/decision/catalogs.d.ts +20 -0
  261. package/dist/src/decision/catalogs.d.ts.map +1 -0
  262. package/dist/src/decision/catalogs.js +64 -0
  263. package/dist/src/decision/catalogs.js.map +1 -0
  264. package/dist/src/decision/jev.d.ts +85 -0
  265. package/dist/src/decision/jev.d.ts.map +1 -0
  266. package/dist/src/decision/jev.js +72 -0
  267. package/dist/src/decision/jev.js.map +1 -0
  268. package/dist/src/decision/picks.d.ts +50 -0
  269. package/dist/src/decision/picks.d.ts.map +1 -0
  270. package/dist/src/decision/picks.js +100 -0
  271. package/dist/src/decision/picks.js.map +1 -0
  272. package/dist/src/init/executor.d.ts.map +1 -1
  273. package/dist/src/init/executor.js +7 -0
  274. package/dist/src/init/executor.js.map +1 -1
  275. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  276. package/dist/src/init/helpers-generator.js +7 -0
  277. package/dist/src/init/helpers-generator.js.map +1 -1
  278. package/dist/src/init/init-memory.d.ts +14 -0
  279. package/dist/src/init/init-memory.d.ts.map +1 -0
  280. package/dist/src/init/init-memory.js +44 -0
  281. package/dist/src/init/init-memory.js.map +1 -0
  282. package/dist/src/init/types.d.ts +13 -0
  283. package/dist/src/init/types.d.ts.map +1 -1
  284. package/dist/src/init/types.js.map +1 -1
  285. package/dist/src/init/upgrade.d.ts.map +1 -1
  286. package/dist/src/init/upgrade.js +9 -0
  287. package/dist/src/init/upgrade.js.map +1 -1
  288. package/dist/src/orgrt/agent-runner.d.ts +7 -0
  289. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  290. package/dist/src/orgrt/agent-runner.js +5 -1
  291. package/dist/src/orgrt/agent-runner.js.map +1 -1
  292. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  293. package/dist/src/orgrt/antigravity-runner.js +8 -14
  294. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  295. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  296. package/dist/src/orgrt/checkpoint-ops.js +7 -1
  297. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  298. package/dist/src/orgrt/checkpoint.d.ts +10 -2
  299. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  300. package/dist/src/orgrt/checkpoint.js +8 -2
  301. package/dist/src/orgrt/checkpoint.js.map +1 -1
  302. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  303. package/dist/src/orgrt/codex-runner.js +8 -14
  304. package/dist/src/orgrt/codex-runner.js.map +1 -1
  305. package/dist/src/orgrt/completion-gate.d.ts +6 -0
  306. package/dist/src/orgrt/completion-gate.d.ts.map +1 -1
  307. package/dist/src/orgrt/completion-gate.js +18 -0
  308. package/dist/src/orgrt/completion-gate.js.map +1 -1
  309. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
  310. package/dist/src/orgrt/copilot-runner.js +7 -10
  311. package/dist/src/orgrt/copilot-runner.js.map +1 -1
  312. package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
  313. package/dist/src/orgrt/crush-runner.js +7 -10
  314. package/dist/src/orgrt/crush-runner.js.map +1 -1
  315. package/dist/src/orgrt/cumulative-meter.d.ts +26 -0
  316. package/dist/src/orgrt/cumulative-meter.d.ts.map +1 -0
  317. package/dist/src/orgrt/cumulative-meter.js +46 -0
  318. package/dist/src/orgrt/cumulative-meter.js.map +1 -0
  319. package/dist/src/orgrt/daemon.d.ts +20 -3
  320. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  321. package/dist/src/orgrt/daemon.js +55 -28
  322. package/dist/src/orgrt/daemon.js.map +1 -1
  323. package/dist/src/orgrt/dashboard-health.d.ts +54 -0
  324. package/dist/src/orgrt/dashboard-health.d.ts.map +1 -0
  325. package/dist/src/orgrt/dashboard-health.js +143 -0
  326. package/dist/src/orgrt/dashboard-health.js.map +1 -0
  327. package/dist/src/orgrt/decisions.d.ts +13 -1
  328. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  329. package/dist/src/orgrt/decisions.js +92 -18
  330. package/dist/src/orgrt/decisions.js.map +1 -1
  331. package/dist/src/orgrt/forwarder.d.ts +2 -1
  332. package/dist/src/orgrt/forwarder.d.ts.map +1 -1
  333. package/dist/src/orgrt/forwarder.js +87 -27
  334. package/dist/src/orgrt/forwarder.js.map +1 -1
  335. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  336. package/dist/src/orgrt/grok-runner.js +7 -12
  337. package/dist/src/orgrt/grok-runner.js.map +1 -1
  338. package/dist/src/orgrt/hermes-runner.d.ts.map +1 -1
  339. package/dist/src/orgrt/hermes-runner.js +9 -15
  340. package/dist/src/orgrt/hermes-runner.js.map +1 -1
  341. package/dist/src/orgrt/kimicode-runner.d.ts +1 -1
  342. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  343. package/dist/src/orgrt/kimicode-runner.js +9 -15
  344. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  345. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  346. package/dist/src/orgrt/opencode-runner.js +7 -13
  347. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  348. package/dist/src/orgrt/org-harness-tools.d.ts +8 -0
  349. package/dist/src/orgrt/org-harness-tools.d.ts.map +1 -0
  350. package/dist/src/orgrt/org-harness-tools.js +21 -0
  351. package/dist/src/orgrt/org-harness-tools.js.map +1 -0
  352. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  353. package/dist/src/orgrt/pi-rpc-runner.js +9 -13
  354. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  355. package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
  356. package/dist/src/orgrt/pi-runner.js +7 -11
  357. package/dist/src/orgrt/pi-runner.js.map +1 -1
  358. package/dist/src/orgrt/policy-git.d.ts +5 -1
  359. package/dist/src/orgrt/policy-git.d.ts.map +1 -1
  360. package/dist/src/orgrt/policy-git.js +56 -29
  361. package/dist/src/orgrt/policy-git.js.map +1 -1
  362. package/dist/src/orgrt/policy.d.ts +7 -0
  363. package/dist/src/orgrt/policy.d.ts.map +1 -1
  364. package/dist/src/orgrt/policy.js +10 -1
  365. package/dist/src/orgrt/policy.js.map +1 -1
  366. package/dist/src/orgrt/prompt-vars.d.ts +8 -1
  367. package/dist/src/orgrt/prompt-vars.d.ts.map +1 -1
  368. package/dist/src/orgrt/prompt-vars.js +60 -11
  369. package/dist/src/orgrt/prompt-vars.js.map +1 -1
  370. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -1
  371. package/dist/src/orgrt/qwen-rpc-runner.js +9 -14
  372. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -1
  373. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
  374. package/dist/src/orgrt/qwen-runner.js +7 -12
  375. package/dist/src/orgrt/qwen-runner.js.map +1 -1
  376. package/dist/src/orgrt/report-budget.d.ts +4 -0
  377. package/dist/src/orgrt/report-budget.d.ts.map +1 -0
  378. package/dist/src/orgrt/report-budget.js +12 -0
  379. package/dist/src/orgrt/report-budget.js.map +1 -0
  380. package/dist/src/orgrt/reporting.d.ts +4 -0
  381. package/dist/src/orgrt/reporting.d.ts.map +1 -1
  382. package/dist/src/orgrt/reporting.js +8 -2
  383. package/dist/src/orgrt/reporting.js.map +1 -1
  384. package/dist/src/orgrt/role-sandbox.d.ts +4 -1
  385. package/dist/src/orgrt/role-sandbox.d.ts.map +1 -1
  386. package/dist/src/orgrt/role-sandbox.js +24 -10
  387. package/dist/src/orgrt/role-sandbox.js.map +1 -1
  388. package/dist/src/orgrt/role-trace.d.ts +27 -0
  389. package/dist/src/orgrt/role-trace.d.ts.map +1 -0
  390. package/dist/src/orgrt/role-trace.js +28 -0
  391. package/dist/src/orgrt/role-trace.js.map +1 -0
  392. package/dist/src/orgrt/sandbox-deny-write.d.ts +52 -0
  393. package/dist/src/orgrt/sandbox-deny-write.d.ts.map +1 -0
  394. package/dist/src/orgrt/sandbox-deny-write.js +89 -0
  395. package/dist/src/orgrt/sandbox-deny-write.js.map +1 -0
  396. package/dist/src/orgrt/sandbox-fault.d.ts +40 -0
  397. package/dist/src/orgrt/sandbox-fault.d.ts.map +1 -0
  398. package/dist/src/orgrt/sandbox-fault.js +94 -0
  399. package/dist/src/orgrt/sandbox-fault.js.map +1 -0
  400. package/dist/src/orgrt/session.d.ts +10 -3
  401. package/dist/src/orgrt/session.d.ts.map +1 -1
  402. package/dist/src/orgrt/session.js +124 -64
  403. package/dist/src/orgrt/session.js.map +1 -1
  404. package/dist/src/orgrt/skill-library.d.ts +10 -1
  405. package/dist/src/orgrt/skill-library.d.ts.map +1 -1
  406. package/dist/src/orgrt/skill-library.js +53 -4
  407. package/dist/src/orgrt/skill-library.js.map +1 -1
  408. package/dist/src/orgrt/task-dag.d.ts +9 -1
  409. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  410. package/dist/src/orgrt/task-dag.js +6 -1
  411. package/dist/src/orgrt/task-dag.js.map +1 -1
  412. package/dist/src/orgrt/tool-fence.d.ts +21 -3
  413. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  414. package/dist/src/orgrt/tool-fence.js +45 -7
  415. package/dist/src/orgrt/tool-fence.js.map +1 -1
  416. package/dist/src/orgrt/tool-providers.d.ts +4 -0
  417. package/dist/src/orgrt/tool-providers.d.ts.map +1 -1
  418. package/dist/src/orgrt/tool-providers.js +10 -0
  419. package/dist/src/orgrt/tool-providers.js.map +1 -1
  420. package/dist/src/orgrt/types.d.ts +10 -0
  421. package/dist/src/orgrt/types.d.ts.map +1 -1
  422. package/dist/src/orgrt/types.js +15 -0
  423. package/dist/src/orgrt/types.js.map +1 -1
  424. package/dist/src/orgrt/vercel-runner.d.ts +23 -0
  425. package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
  426. package/dist/src/orgrt/vercel-runner.js +2 -26
  427. package/dist/src/orgrt/vercel-runner.js.map +1 -1
  428. package/dist/src/platform-adapters/merge.d.ts +11 -0
  429. package/dist/src/platform-adapters/merge.d.ts.map +1 -1
  430. package/dist/src/platform-adapters/merge.js +28 -0
  431. package/dist/src/platform-adapters/merge.js.map +1 -1
  432. package/dist/src/platform-adapters/mutation.d.ts +37 -0
  433. package/dist/src/platform-adapters/mutation.d.ts.map +1 -0
  434. package/dist/src/platform-adapters/mutation.js +231 -0
  435. package/dist/src/platform-adapters/mutation.js.map +1 -0
  436. package/dist/src/platform-adapters/operations.d.ts +8 -1
  437. package/dist/src/platform-adapters/operations.d.ts.map +1 -1
  438. package/dist/src/platform-adapters/operations.js +41 -83
  439. package/dist/src/platform-adapters/operations.js.map +1 -1
  440. package/dist/src/platform-adapters/renderers/skills.d.ts.map +1 -1
  441. package/dist/src/platform-adapters/renderers/skills.js +11 -2
  442. package/dist/src/platform-adapters/renderers/skills.js.map +1 -1
  443. package/dist/src/platform-adapters/shared-surface.d.ts +34 -0
  444. package/dist/src/platform-adapters/shared-surface.d.ts.map +1 -0
  445. package/dist/src/platform-adapters/shared-surface.js +89 -0
  446. package/dist/src/platform-adapters/shared-surface.js.map +1 -0
  447. package/dist/src/platform-adapters/types.d.ts +7 -0
  448. package/dist/src/platform-adapters/types.d.ts.map +1 -1
  449. package/dist/src/routing/jev-step.d.ts +17 -0
  450. package/dist/src/routing/jev-step.d.ts.map +1 -0
  451. package/dist/src/routing/jev-step.js +27 -0
  452. package/dist/src/routing/jev-step.js.map +1 -0
  453. package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
  454. package/dist/src/routing/route-layer-factory.js +16 -1
  455. package/dist/src/routing/route-layer-factory.js.map +1 -1
  456. package/dist/src/utils/redaction.d.ts.map +1 -1
  457. package/dist/src/utils/redaction.js +19 -4
  458. package/dist/src/utils/redaction.js.map +1 -1
  459. package/dist/tsconfig.tsbuildinfo +1 -1
  460. package/package.json +7 -7
@@ -8,7 +8,9 @@
8
8
  * - writes: the role's cwd, the org root, $HOME and the temp dir stay
9
9
  * writable (installs, caches, test fixtures), minus the protected git dir
10
10
  * ('read'/'none') or its config + hooks ('commit'), the guard's hooks,
11
- * local-path remotes, and git/shell/Claude config that would undo the guard;
11
+ * local-path remotes, and git/shell/Claude config that would undo the guard
12
+ * (a denied directory holding the cwd or ~/.claude goes in as its existing
13
+ * children, #323 — sandbox-deny-write.ts);
12
14
  * - network: every host allowed (`policy.sandbox.allowedDomains`, default
13
15
  * ['*']) minus the opt-in `policy.sandbox.deniedDomains`, deterministically,
14
16
  * with local binding kept for dev servers and tests. Git remote hosts are
@@ -57,6 +59,7 @@ export declare function buildClaudeRestrictions(guard: GitGuard, cfg: RoleSandbo
57
59
  home?: string;
58
60
  tmp?: string;
59
61
  env?: NodeJS.ProcessEnv;
62
+ platform?: NodeJS.Platform;
60
63
  }, sandboxEnabled: boolean): ClaudeRestrictions;
61
64
  /**
62
65
  * The authority mask (authority-mask.ts) for a role the SDK sandbox does not
@@ -1 +1 @@
1
- {"version":3,"file":"role-sandbox.d.ts","sourceRoot":"","sources":["../../../src/orgrt/role-sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-sandbox.d.ts","sourceRoot":"","sources":["../../../src/orgrt/role-sandbox.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAYH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASvC,OAAO,EACL,KAAK,QAAQ,EAKd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAeD;6EAC6E;AAC7E,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,mBAAmB,CAmBrB;AAqDD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAClC,GAAG,EAAE;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B,EACD,cAAc,EAAE,OAAO,GACtB,kBAAkB,CAsFpB;AAmBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,GAAG,MAAM,EAAE,GAAG,SAAS,CAmBvB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CAAE,CA+G3E;AAQD;yCACyC;AACzC,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,mBAA2C,GACxD;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA6C1C"}
@@ -9,7 +9,9 @@
9
9
  * - writes: the role's cwd, the org root, $HOME and the temp dir stay
10
10
  * writable (installs, caches, test fixtures), minus the protected git dir
11
11
  * ('read'/'none') or its config + hooks ('commit'), the guard's hooks,
12
- * local-path remotes, and git/shell/Claude config that would undo the guard;
12
+ * local-path remotes, and git/shell/Claude config that would undo the guard
13
+ * (a denied directory holding the cwd or ~/.claude goes in as its existing
14
+ * children, #323 — sandbox-deny-write.ts);
13
15
  * - network: every host allowed (`policy.sandbox.allowedDomains`, default
14
16
  * ['*']) minus the opt-in `policy.sandbox.deniedDomains`, deterministically,
15
17
  * with local binding kept for dev servers and tests. Git remote hosts are
@@ -36,6 +38,8 @@ import { authorityDirs, authorityMaskArgs, authorityMaskAvailability, DECISION_F
36
38
  import { CLI_SANDBOX_MODES } from './cli-sandbox.js';
37
39
  import { DAEMON_SOCKETS, dashboardCredentialPaths, HOME_DENY_READ, HOME_DENY_WRITE, runtimeDir, } from './file-roots.js';
38
40
  import { gitCommonDir, gitLocalRemotePaths, prepareGitGuard, } from './git-guard.js';
41
+ import { ORG_DISALLOWED_HARNESS_TOOLS } from './org-harness-tools.js';
42
+ import { expandDenyWrite, underAnyRoot } from './sandbox-deny-write.js';
39
43
  function onPath(bin, env) {
40
44
  for (const dir of (env.PATH ?? '').split(delimiter)) {
41
45
  if (!dir)
@@ -134,6 +138,7 @@ export function buildClaudeRestrictions(guard, cfg, ctx, sandboxEnabled) {
134
138
  // the checkout it tests from). Relative paths resolve against the org root.
135
139
  const roleDenyWrite = (cfg?.denyWrite ?? []).map((p) => resolve(ctx.orgRoot ?? ctx.cwd, p));
136
140
  const disallowedTools = [
141
+ ...ORG_DISALLOWED_HARNESS_TOOLS,
137
142
  rule('Edit', `${guard.dir}/**`),
138
143
  ...gitDirs.flatMap((d) => lockedRepo
139
144
  ? [rule('Edit', `${d}/**`)]
@@ -154,6 +159,17 @@ export function buildClaudeRestrictions(guard, cfg, ctx, sandboxEnabled) {
154
159
  ];
155
160
  if (!sandboxEnabled)
156
161
  return { disallowedTools };
162
+ const allowWrite = uniq([ctx.cwd, ctx.orgRoot, home, tmp, ...(cfg?.allowWrite ?? [])]);
163
+ // #323: a read-only directory holding the cwd or ~/.claude breaks the SDK's
164
+ // own stub mounts — pass its children instead (sandbox-deny-write.ts).
165
+ const expanded = expandDenyWrite(uniq([
166
+ guard.dir,
167
+ ...(lockedRepo ? gitDirs : gitDirs.flatMap((d) => [join(d, 'config'), join(d, 'hooks')])),
168
+ ...gitDirs.flatMap(gitLocalRemotePaths),
169
+ ...HOME_DENY_WRITE.map((p) => join(home, p)),
170
+ ...decisionFilePaths(ctx.orgRoot),
171
+ ...roleDenyWrite,
172
+ ]), [ctx.cwd, join(home, '.claude')], ctx.platform);
157
173
  const sandbox = {
158
174
  enabled: true,
159
175
  failIfUnavailable: true,
@@ -167,15 +183,11 @@ export function buildClaudeRestrictions(guard, cfg, ctx, sandboxEnabled) {
167
183
  allowAllUnixSockets: unixSockets,
168
184
  },
169
185
  filesystem: {
170
- allowWrite: uniq([ctx.cwd, ctx.orgRoot, home, tmp, ...(cfg?.allowWrite ?? [])]),
171
- denyWrite: existing([
172
- guard.dir,
173
- ...(lockedRepo ? gitDirs : gitDirs.flatMap((d) => [join(d, 'config'), join(d, 'hooks')])),
174
- ...gitDirs.flatMap(gitLocalRemotePaths),
175
- ...HOME_DENY_WRITE.map((p) => join(home, p)),
176
- ...decisionFilePaths(ctx.orgRoot),
177
- ...roleDenyWrite,
186
+ allowWrite: uniq([
187
+ ...allowWrite,
188
+ ...expanded.mountPoints.filter((d) => underAnyRoot(d, allowWrite)),
178
189
  ]),
190
+ denyWrite: existing(expanded.denyWrite),
179
191
  denyRead: existing([
180
192
  ...(guard.level === 'none' ? gitDirs : []),
181
193
  runtimeDir(env),
@@ -247,7 +259,9 @@ export function resolveRoleGitEnforcement(args) {
247
259
  });
248
260
  let guard = build(false);
249
261
  if (!guard)
250
- return { env: {} };
262
+ return args.claudeRuntime
263
+ ? { env: {}, claudeRestrictions: { disallowedTools: [...ORG_DISALLOWED_HARNESS_TOOLS] } }
264
+ : { env: {} };
251
265
  const data = { level, protectedGitDirs: guard.protectedGitDirs };
252
266
  if (!args.claudeRuntime) {
253
267
  const runtime = args.runtime ?? 'non-claude';
@@ -1 +1 @@
1
- {"version":3,"file":"role-sandbox.js","sourceRoot":"","sources":["../../../src/orgrt/role-sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-sandbox.js","sourceRoot":"","sources":["../../../src/orgrt/role-sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * #327: a role's position in a chain, as its tool calls and its org_send mail
3
+ * carry it.
4
+ *
5
+ * - The chain (`chain_id`, `hop`) comes from the latest message delivered to
6
+ * the role with a `[trace chn_… hop=N]` line (cross-org.ts's recordTrace),
7
+ * else a fresh chain at hop 0 minted once for the role.
8
+ * - `turn` numbers the role's turns: 1 for its first, +1 each time a turn ends
9
+ * (the runner's `result`). Every call inside one turn carries the same
10
+ * value; the count is checkpointed, so a stop/resume continues it.
11
+ * - A role's org_send is stamped with its chain at hop + 1 (withTrace), the
12
+ * way mono-agent's WithTrace stamps the mail it sends, so A → B → A climbs
13
+ * one chain instead of each hop starting over.
14
+ */
15
+ import type { RunningOrg } from './daemon.js';
16
+ import { type ChainTrace } from './tool-providers.js';
17
+ export interface RoleTrace extends ChainTrace {
18
+ turn: number;
19
+ }
20
+ /** The role's current chain and turn; mints the chain on first use. */
21
+ export declare function currentRoleTrace(running: RunningOrg | undefined, role: string): RoleTrace;
22
+ /** A role's turn ended: its next tool call belongs to the next turn. */
23
+ export declare function endTurn(running: RunningOrg, role: string): void;
24
+ /** `body` with the next hop of `t` as its first line, replacing any trace line
25
+ * already in it — a message sits at one position in one chain. */
26
+ export declare function withTrace(body: string, t: ChainTrace): string;
27
+ //# sourceMappingURL=role-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-trace.d.ts","sourceRoot":"","sources":["../../../src/orgrt/role-trace.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,qBAAqB,CAAC;AAEpE,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CASzF;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG/D;AAID;mEACmE;AACnE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAG7D"}
@@ -0,0 +1,28 @@
1
+ import { freshChainId } from './tool-providers.js';
2
+ /** The role's current chain and turn; mints the chain on first use. */
3
+ export function currentRoleTrace(running, role) {
4
+ if (!running)
5
+ return { chain_id: freshChainId(), hop: 0, turn: 1 };
6
+ if (!running.traces)
7
+ running.traces = new Map();
8
+ let t = running.traces.get(role);
9
+ if (!t) {
10
+ t = { chain_id: freshChainId(), hop: 0 };
11
+ running.traces.set(role, t);
12
+ }
13
+ return { chain_id: t.chain_id, hop: t.hop, turn: (running.turns?.get(role) ?? 0) + 1 };
14
+ }
15
+ /** A role's turn ended: its next tool call belongs to the next turn. */
16
+ export function endTurn(running, role) {
17
+ if (!running.turns)
18
+ running.turns = new Map();
19
+ running.turns.set(role, (running.turns.get(role) ?? 0) + 1);
20
+ }
21
+ const TRACE_LINES = /^\[trace chn_[A-Za-z0-9_-]+ hop=\d+\][^\S\n]*(?:\n|$)/gm;
22
+ /** `body` with the next hop of `t` as its first line, replacing any trace line
23
+ * already in it — a message sits at one position in one chain. */
24
+ export function withTrace(body, t) {
25
+ const rest = body.replace(TRACE_LINES, '').replace(/^\n+/, '');
26
+ return `[trace ${t.chain_id} hop=${t.hop + 1}]\n${rest}`;
27
+ }
28
+ //# sourceMappingURL=role-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-trace.js","sourceRoot":"","sources":["../../../src/orgrt/role-trace.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAmB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMpE,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,OAA+B,EAAE,IAAY;IAC5E,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACnE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAChD,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,OAAO,CAAC,OAAmB,EAAE,IAAY;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,WAAW,GAAG,yDAAyD,CAAC;AAE9E;mEACmE;AACnE,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,CAAa;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,UAAU,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * #323: deny-write directories the SDK sandbox (bubblewrap) can live with.
3
+ *
4
+ * The Claude Agent SDK adds its own write-denies for "dangerous files"
5
+ * relative to the role's cwd (.gitconfig, .bashrc, .mcp.json, .claude/…) and
6
+ * under ~/.claude (settings, hooks, skills, commands, ide, local, …). For one
7
+ * that does not exist it binds /dev/null onto the path, so bwrap must create
8
+ * a 0-byte mount-point file first. When monomind hands the SDK a read-only
9
+ * directory that contains such a path — `policy.sandbox.denyWrite: ["."]`
10
+ * resolves to the org root, which is (or contains) every role's cwd, and
11
+ * HOME_DENY_WRITE has ".claude" — bwrap dies with "Can't create file …:
12
+ * Read-only file system" and the role's Bash call fails. It only worked while
13
+ * another sandboxed process happened to hold the stub.
14
+ *
15
+ * So such a directory is never passed as a deny. It is replaced by its
16
+ * existing children, each read-only (a child that itself contains the cwd or
17
+ * ~/.claude is expanded the same way), and the directory itself is returned
18
+ * as a mount point for `filesystem.allowWrite`: bind-mounted, it cannot be
19
+ * renamed or removed (EBUSY), while bwrap can create the SDK's stubs in it.
20
+ *
21
+ * What becomes writable at the OS layer: NEW entries directly inside such a
22
+ * directory (a new top-level file in the org root or ~/.claude), and the
23
+ * directory's own mode bits. Everything that existed at session start stays
24
+ * read-only — an existing entry is a mount point, so it cannot be rewritten,
25
+ * unlinked, renamed or replaced. The Claude-Code-critical new names (settings,
26
+ * hooks, skills, commands, agents, .mcp.json, .gitconfig, …) are the SDK's own
27
+ * denies, now enforceable because their stubs can be created. The file tools
28
+ * never relied on this layer: their permission rules (`Edit(//dir/**)`) and
29
+ * the PolicyEngine deny lists keep the unexpanded directory.
30
+ *
31
+ * Linux only: seatbelt (macOS) denies by path rule, needs no mount points,
32
+ * and keeps the whole directory read-only.
33
+ */
34
+ export interface ExpandedDenyWrite {
35
+ /** What to pass as `filesystem.denyWrite` (still unfiltered for existence). */
36
+ denyWrite: string[];
37
+ /** Directories that were expanded; the caller makes each one a writable
38
+ * bind mount when it already lies under a writable root. */
39
+ mountPoints: string[];
40
+ }
41
+ /**
42
+ * Replaces every deny-write path that equals or contains one of `keepWritable`
43
+ * (the role's cwd, ~/.claude) with its existing children, recursively. A path
44
+ * that cannot be listed (missing, unreadable, not a directory) is kept as-is,
45
+ * so the old — stricter — behaviour is the fallback.
46
+ */
47
+ export declare function expandDenyWrite(paths: string[], keepWritable: string[], platform?: NodeJS.Platform): ExpandedDenyWrite;
48
+ /** `within()` over real paths, for picking the mount points that lie under a
49
+ * root that is writable anyway (anything else was never writable and must not
50
+ * become so). */
51
+ export declare function underAnyRoot(p: string, roots: string[]): boolean;
52
+ //# sourceMappingURL=sandbox-deny-write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-deny-write.d.ts","sourceRoot":"","sources":["../../../src/orgrt/sandbox-deny-write.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAiBH,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;iEAC6D;IAC7D,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,MAAM,EAAE,EACtB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,iBAAiB,CAuBnB;AAED;;kBAEkB;AAClB,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAGhE"}
@@ -0,0 +1,89 @@
1
+ // packages/@monomind/cli/src/orgrt/sandbox-deny-write.ts
2
+ /**
3
+ * #323: deny-write directories the SDK sandbox (bubblewrap) can live with.
4
+ *
5
+ * The Claude Agent SDK adds its own write-denies for "dangerous files"
6
+ * relative to the role's cwd (.gitconfig, .bashrc, .mcp.json, .claude/…) and
7
+ * under ~/.claude (settings, hooks, skills, commands, ide, local, …). For one
8
+ * that does not exist it binds /dev/null onto the path, so bwrap must create
9
+ * a 0-byte mount-point file first. When monomind hands the SDK a read-only
10
+ * directory that contains such a path — `policy.sandbox.denyWrite: ["."]`
11
+ * resolves to the org root, which is (or contains) every role's cwd, and
12
+ * HOME_DENY_WRITE has ".claude" — bwrap dies with "Can't create file …:
13
+ * Read-only file system" and the role's Bash call fails. It only worked while
14
+ * another sandboxed process happened to hold the stub.
15
+ *
16
+ * So such a directory is never passed as a deny. It is replaced by its
17
+ * existing children, each read-only (a child that itself contains the cwd or
18
+ * ~/.claude is expanded the same way), and the directory itself is returned
19
+ * as a mount point for `filesystem.allowWrite`: bind-mounted, it cannot be
20
+ * renamed or removed (EBUSY), while bwrap can create the SDK's stubs in it.
21
+ *
22
+ * What becomes writable at the OS layer: NEW entries directly inside such a
23
+ * directory (a new top-level file in the org root or ~/.claude), and the
24
+ * directory's own mode bits. Everything that existed at session start stays
25
+ * read-only — an existing entry is a mount point, so it cannot be rewritten,
26
+ * unlinked, renamed or replaced. The Claude-Code-critical new names (settings,
27
+ * hooks, skills, commands, agents, .mcp.json, .gitconfig, …) are the SDK's own
28
+ * denies, now enforceable because their stubs can be created. The file tools
29
+ * never relied on this layer: their permission rules (`Edit(//dir/**)`) and
30
+ * the PolicyEngine deny lists keep the unexpanded directory.
31
+ *
32
+ * Linux only: seatbelt (macOS) denies by path rule, needs no mount points,
33
+ * and keeps the whole directory read-only.
34
+ */
35
+ import { lstatSync, readdirSync, realpathSync } from 'node:fs';
36
+ import { join, sep } from 'node:path';
37
+ const real = (p) => {
38
+ try {
39
+ return realpathSync(p);
40
+ }
41
+ catch {
42
+ return p;
43
+ }
44
+ };
45
+ /** Is `target` equal to, or nested under, `container`? */
46
+ const within = (container, target) => target === container || target.startsWith(container.endsWith(sep) ? container : container + sep);
47
+ /**
48
+ * Replaces every deny-write path that equals or contains one of `keepWritable`
49
+ * (the role's cwd, ~/.claude) with its existing children, recursively. A path
50
+ * that cannot be listed (missing, unreadable, not a directory) is kept as-is,
51
+ * so the old — stricter — behaviour is the fallback.
52
+ */
53
+ export function expandDenyWrite(paths, keepWritable, platform = process.platform) {
54
+ if (platform !== 'linux')
55
+ return { denyWrite: paths, mountPoints: [] };
56
+ const keep = keepWritable.map(real);
57
+ const denyWrite = [];
58
+ const mountPoints = [];
59
+ const visit = (p) => {
60
+ if (!keep.some((k) => within(real(p), k))) {
61
+ denyWrite.push(p);
62
+ return;
63
+ }
64
+ let entries;
65
+ try {
66
+ if (!lstatSync(p).isDirectory())
67
+ throw new Error('not a directory');
68
+ entries = readdirSync(p);
69
+ }
70
+ catch {
71
+ denyWrite.push(p);
72
+ return;
73
+ }
74
+ mountPoints.push(p);
75
+ for (const e of entries)
76
+ visit(join(p, e));
77
+ };
78
+ for (const p of paths)
79
+ visit(p);
80
+ return { denyWrite, mountPoints };
81
+ }
82
+ /** `within()` over real paths, for picking the mount points that lie under a
83
+ * root that is writable anyway (anything else was never writable and must not
84
+ * become so). */
85
+ export function underAnyRoot(p, roots) {
86
+ const rp = real(p);
87
+ return roots.some((r) => within(real(r), rp));
88
+ }
89
+ //# sourceMappingURL=sandbox-deny-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-deny-write.js","sourceRoot":"","sources":["../../../src/orgrt/sandbox-deny-write.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;IACjC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAW,EAAE,CAC5D,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;AAUnG;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAe,EACf,YAAsB,EACtB,QAAQ,GAAoB,OAAO,CAAC,QAAQ;IAE5C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAQ,EAAE;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACpE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACpC,CAAC;AAED;;kBAEkB;AAClB,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,KAAe;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { AgentMessage } from './agent-runner.js';
2
+ import type { OrgBus } from './bus.js';
3
+ /** A Bash result that is bubblewrap's own error, not the command's: the OS
4
+ * sandbox failed to start (2.16.0 release run: 31 of these, and a QA role
5
+ * that silently lost Bash for ~7 minutes). A new runner process builds a new
6
+ * sandbox, so ending the process is the recovery. */
7
+ export declare function isSandboxFault(m: Pick<AgentMessage, 'tool' | 'text'>): boolean;
8
+ /** Consecutive faulted Bash results in one process before it is ended. */
9
+ export declare const SANDBOX_FAULTS_BEFORE_RESTART = 2;
10
+ /** Process restarts per task session before the coordinator is told instead. */
11
+ export declare const MAX_SANDBOX_RESTARTS = 2;
12
+ /** Thrown out of the session's message loop to end the runner process. */
13
+ export declare class SandboxFaultError extends Error {
14
+ readonly sessionId: string | undefined;
15
+ constructor(sessionId: string | undefined);
16
+ }
17
+ interface Surface {
18
+ bus: OrgBus;
19
+ roleId: string;
20
+ /** Who hears about it once restarts are spent (the role's reports_to). */
21
+ coordinator?: string;
22
+ deliver: (from: string, to: string, subject: string, body: string) => Promise<string>;
23
+ }
24
+ /** Per role session loop: counts restarts per session key (task). */
25
+ export declare class SandboxRestarts {
26
+ private readonly s;
27
+ private used;
28
+ private surfaced;
29
+ constructor(s: Surface);
30
+ /** One runner process's watcher for `key`. */
31
+ watch(key: string): {
32
+ observe(m: AgentMessage, sessionId: string | undefined): void;
33
+ };
34
+ /** Called once the process is gone: records the restart and returns the
35
+ * message the restarted session opens with. */
36
+ restarted(key: string): string;
37
+ private surface;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=sandbox-fault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-fault.d.ts","sourceRoot":"","sources":["../../../src/orgrt/sandbox-fault.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC;;;sDAGsD;AACtD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAE9E;AAED,0EAA0E;AAC1E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,0EAA0E;AAC1E,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAAlD,YAAqB,SAAS,EAAE,MAAM,GAAG,SAAS,EAGjD;CACF;AAED,UAAU,OAAO;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvF;AAED,qEAAqE;AACrE,qBAAa,eAAe;IAId,OAAO,CAAC,QAAQ,CAAC,CAAC;IAH9B,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,QAAQ,CAAqB;IAErC,YAA6B,CAAC,EAAE,OAAO,EAAI;IAE3C,8CAA8C;IAC9C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;KAAE,CAwBpF;IAED;oDACgD;IAChD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW7B;IAED,OAAO,CAAC,OAAO;CAuBhB"}
@@ -0,0 +1,94 @@
1
+ // packages/@monomind/cli/src/orgrt/sandbox-fault.ts
2
+ import { Mailbox } from './mailbox.js';
3
+ /** A Bash result that is bubblewrap's own error, not the command's: the OS
4
+ * sandbox failed to start (2.16.0 release run: 31 of these, and a QA role
5
+ * that silently lost Bash for ~7 minutes). A new runner process builds a new
6
+ * sandbox, so ending the process is the recovery. */
7
+ export function isSandboxFault(m) {
8
+ return m.tool === 'Bash' && (m.text ?? '').startsWith('bwrap: ');
9
+ }
10
+ /** Consecutive faulted Bash results in one process before it is ended. */
11
+ export const SANDBOX_FAULTS_BEFORE_RESTART = 2;
12
+ /** Process restarts per task session before the coordinator is told instead. */
13
+ export const MAX_SANDBOX_RESTARTS = 2;
14
+ /** Thrown out of the session's message loop to end the runner process. */
15
+ export class SandboxFaultError extends Error {
16
+ sessionId;
17
+ constructor(sessionId) {
18
+ super(`sandbox failed to start on ${SANDBOX_FAULTS_BEFORE_RESTART} consecutive Bash calls`);
19
+ this.sessionId = sessionId;
20
+ this.name = 'SandboxFaultError';
21
+ }
22
+ }
23
+ /** Per role session loop: counts restarts per session key (task). */
24
+ export class SandboxRestarts {
25
+ s;
26
+ used = new Map();
27
+ surfaced = new Set();
28
+ constructor(s) {
29
+ this.s = s;
30
+ }
31
+ /** One runner process's watcher for `key`. */
32
+ watch(key) {
33
+ let consecutive = 0;
34
+ return {
35
+ observe: (m, sessionId) => {
36
+ if (m.type !== 'tool_result' || m.tool !== 'Bash')
37
+ return;
38
+ if (!isSandboxFault(m)) {
39
+ consecutive = 0;
40
+ return;
41
+ }
42
+ consecutive++;
43
+ this.s.bus.emit({
44
+ type: 'audit',
45
+ from: this.s.roleId,
46
+ reason: 'sandbox-fault',
47
+ msg: `Bash sandbox failed to start: ${(m.text ?? '').split('\n')[0].slice(0, 300)}`,
48
+ data: { taskKey: key, consecutive, ...(m.tool_use_id ? { call_id: m.tool_use_id } : {}) },
49
+ });
50
+ if (consecutive < SANDBOX_FAULTS_BEFORE_RESTART)
51
+ return;
52
+ consecutive = 0;
53
+ if ((this.used.get(key) ?? 0) < MAX_SANDBOX_RESTARTS)
54
+ throw new SandboxFaultError(sessionId);
55
+ this.surface(key);
56
+ },
57
+ };
58
+ }
59
+ /** Called once the process is gone: records the restart and returns the
60
+ * message the restarted session opens with. */
61
+ restarted(key) {
62
+ const n = (this.used.get(key) ?? 0) + 1;
63
+ this.used.set(key, n);
64
+ this.s.bus.emit({
65
+ type: 'status',
66
+ from: this.s.roleId,
67
+ reason: 'sandbox-restart',
68
+ msg: `Bash sandbox kept failing — process restarted for ${key} (${n}/${MAX_SANDBOX_RESTARTS})`,
69
+ data: { taskKey: key, restarts: n, max: MAX_SANDBOX_RESTARTS },
70
+ });
71
+ return `${Mailbox.CONTINUE_PREFIX} Your shell's sandbox failed to start ("bwrap: …") on consecutive Bash calls, so your process was restarted with a fresh one. Continue your in-progress task from where you left off, re-running the command that failed.`;
72
+ }
73
+ surface(key) {
74
+ if (this.surfaced.has(key))
75
+ return;
76
+ this.surfaced.add(key);
77
+ const { bus, roleId, coordinator, deliver } = this.s;
78
+ bus.emit({
79
+ type: 'audit',
80
+ from: roleId,
81
+ reason: 'sandbox-fault-exhausted',
82
+ msg: `Bash sandbox still failing for ${key} after ${MAX_SANDBOX_RESTARTS} restarts${coordinator ? ` — told "${coordinator}"` : ''}`,
83
+ data: {
84
+ taskKey: key,
85
+ restarts: MAX_SANDBOX_RESTARTS,
86
+ ...(coordinator ? { coordinator } : {}),
87
+ },
88
+ });
89
+ if (!coordinator)
90
+ return;
91
+ deliver(roleId, coordinator, 'Bash sandbox keeps failing', `The OS sandbox for "${roleId}"'s Bash tool failed to start on consecutive calls (${key}) and ${MAX_SANDBOX_RESTARTS} process restarts did not fix it, so its shell commands are not running. Reassign the work, or have an operator check the role's sandbox (policy.sandbox) before relying on its results.`).catch(() => { });
92
+ }
93
+ }
94
+ //# sourceMappingURL=sandbox-fault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-fault.js","sourceRoot":"","sources":["../../../src/orgrt/sandbox-fault.ts"],"names":[],"mappings":"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"}
@@ -193,7 +193,11 @@ export interface SessionOpts {
193
193
  /** Task DAG: create a task with dependencies. `loadout` (ADR-O001 D7) is
194
194
  * the catalog entry the caller selected; only offered when the org has a
195
195
  * catalog (`loadoutCatalog`). */
196
- createTask?: (role: string, title: string, assignee: string, deps: string[], loadout?: string) => string;
196
+ createTask?: (role: string, title: string, assignee: string, deps: string[], loadout?: string, brief?: string) => string;
197
+ /** Resolves `assignee: "auto"` on org_task: the decision model (or, without
198
+ * one, a keyword match over role titles/responsibilities) picks the role.
199
+ * null = no role fits; the caller must name one. */
200
+ pickAssignee?: (title: string) => Promise<string | null>;
197
201
  /** ADR-O001 D7: the org's loadout catalog. Set only when the org declares
198
202
  * one; it adds the optional `loadout` argument to org_task/org_plan_graph.
199
203
  * Unset, those tools are byte-identical to before (same gating idea as
@@ -226,8 +230,8 @@ export interface SessionOpts {
226
230
  * a role with review_input: 'artifact-only'; otherwise org_review is not
227
231
  * registered and the tool list is unchanged. */
228
232
  requestReview?: (role: string, taskId: string, reviewer: string, base?: string) => string;
229
- /** Task DAG: list all tasks. */
230
- listTasks?: () => string;
233
+ /** Task DAG: list all tasks, or just `taskId`. */
234
+ listTasks?: (taskId?: string) => string;
231
235
  splitTask?: (role: string, parentId: string, children: {
232
236
  title: string;
233
237
  assignee: string;
@@ -245,6 +249,7 @@ export interface SessionOpts {
245
249
  assignee: string;
246
250
  after?: string[];
247
251
  loadout?: string;
252
+ brief?: string;
248
253
  }[]) => string;
249
254
  }
250
255
  /** Role briefing given to each agent session (SDK systemPrompt option).
@@ -273,5 +278,7 @@ export declare function runAgentSession(opts: SessionOpts): Promise<void>;
273
278
  *
274
279
  * Behaviour is identical to the old inline definitions: conditional tools are
275
280
  * gated on their callback being present, org_send/ask_human are always added. */
281
+ /** org_task's assignee value that asks for automatic role selection. */
282
+ export declare const AUTO_ASSIGNEE = "auto";
276
283
  export declare function buildOrgTools(opts: SessionOpts): OrgToolDef[];
277
284
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/orgrt/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/orgrt/session.ts"],"names":[],"mappings":"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"}