@blxzer/cursor-trellis 0.4.1 → 0.4.3

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 (337) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +25 -14
  3. package/README.zh-CN.md +14 -10
  4. package/bin/smart-search.js +10 -2
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +36 -15
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/commands/init.d.ts +1 -1
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +42 -153
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/migrate.d.ts +10 -0
  13. package/dist/commands/migrate.d.ts.map +1 -0
  14. package/dist/commands/migrate.js +38 -0
  15. package/dist/commands/migrate.js.map +1 -0
  16. package/dist/commands/update.d.ts +5 -0
  17. package/dist/commands/update.d.ts.map +1 -1
  18. package/dist/commands/update.js +144 -41
  19. package/dist/commands/update.js.map +1 -1
  20. package/dist/configurators/cursor.d.ts +2 -1
  21. package/dist/configurators/cursor.d.ts.map +1 -1
  22. package/dist/configurators/cursor.js +4 -2
  23. package/dist/configurators/cursor.js.map +1 -1
  24. package/dist/configurators/index.js +4 -4
  25. package/dist/configurators/index.js.map +1 -1
  26. package/dist/configurators/shared.d.ts +8 -0
  27. package/dist/configurators/shared.d.ts.map +1 -1
  28. package/dist/configurators/shared.js +27 -1
  29. package/dist/configurators/shared.js.map +1 -1
  30. package/dist/configurators/workflow.d.ts +0 -9
  31. package/dist/configurators/workflow.d.ts.map +1 -1
  32. package/dist/configurators/workflow.js +12 -45
  33. package/dist/configurators/workflow.js.map +1 -1
  34. package/dist/constants/paths.d.ts +13 -0
  35. package/dist/constants/paths.d.ts.map +1 -1
  36. package/dist/constants/paths.js +17 -0
  37. package/dist/constants/paths.js.map +1 -1
  38. package/dist/migrations/manifests/0.3.0.json +1 -1
  39. package/dist/templates/common/bundled-skills/cstl-check/SKILL.md +1 -1
  40. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/hooks-and-settings.md +2 -2
  41. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/overview.md +1 -1
  42. package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/skills-and-commands.md +2 -4
  43. package/dist/templates/common/bundled-skills/cstl-skill-creator/SKILL.md +10 -7
  44. package/dist/templates/common/bundled-skills/cstl-skill-creator/references/authoring-rules.md +93 -19
  45. package/dist/templates/common/bundled-skills/cstl-skill-creator/references/general-authoring.md +189 -0
  46. package/dist/templates/common/bundled-skills/cstl-skill-creator/references/review-checklist.md +10 -5
  47. package/dist/templates/common/commands/continue.md +6 -5
  48. package/dist/templates/common/index.d.ts +20 -0
  49. package/dist/templates/common/index.d.ts.map +1 -1
  50. package/dist/templates/common/index.js +21 -2
  51. package/dist/templates/common/index.js.map +1 -1
  52. package/dist/templates/common/optional-skills/chrome-cdp/SKILL.md +179 -0
  53. package/dist/templates/common/optional-skills/chrome-cdp/examples/fetch-hook-api-capture.md +149 -0
  54. package/dist/templates/common/optional-skills/chrome-cdp/scripts/cdp.mjs +903 -0
  55. package/dist/templates/common/skills/brainstorm.md +2 -2
  56. package/dist/templates/cursor/agents/cstl-check.md +2 -2
  57. package/dist/templates/cursor/agents/cstl-implement.md +1 -1
  58. package/dist/templates/cursor/agents/cstl-research.md +2 -2
  59. package/dist/templates/cursor/fixtures/expected-rules.d.ts +1 -1
  60. package/dist/templates/cursor/fixtures/expected-rules.d.ts.map +1 -1
  61. package/dist/templates/cursor/fixtures/expected-rules.js +7 -24
  62. package/dist/templates/cursor/fixtures/expected-rules.js.map +1 -1
  63. package/dist/templates/cursor/hooks.json +4 -0
  64. package/dist/templates/cursor/index.d.ts +1 -1
  65. package/dist/templates/cursor/index.js +1 -1
  66. package/dist/templates/cursor/rules/cstl-bootstrap.mdc +17 -0
  67. package/dist/templates/markdown/agents.md +36 -3
  68. package/dist/templates/markdown/{spec/guides → framework}/cursor-native-modes-guide.md.txt +13 -10
  69. package/dist/templates/markdown/{spec/guides → framework}/cursor-subagent-policy.md.txt +63 -127
  70. package/dist/templates/markdown/framework/dogfood-only-surfaces.md.txt +29 -0
  71. package/dist/templates/markdown/{spec/guides → framework}/execution-strategy.md.txt +2 -0
  72. package/dist/templates/markdown/framework/index.md.txt +31 -0
  73. package/dist/templates/markdown/framework/internal-skills-cursor-reachability.md.txt +45 -0
  74. package/dist/templates/markdown/framework/middleware-protocol.md.txt +83 -0
  75. package/dist/templates/markdown/framework/parallel-first-execution.md.txt +78 -0
  76. package/dist/templates/markdown/framework/prd-grill-frontier.md.txt +83 -0
  77. package/dist/templates/markdown/framework/release-boundary.md.txt +30 -0
  78. package/dist/templates/markdown/{spec/guides → framework}/retrieval-daily-guide.md.txt +1 -1
  79. package/dist/templates/markdown/framework/upgrade.md.txt +15 -0
  80. package/dist/templates/markdown/{spec/guides → framework}/verification-strength-guide.md.txt +2 -2
  81. package/dist/templates/markdown/index.d.ts +26 -10
  82. package/dist/templates/markdown/index.d.ts.map +1 -1
  83. package/dist/templates/markdown/index.js +87 -11
  84. package/dist/templates/markdown/index.js.map +1 -1
  85. package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +1 -1
  86. package/dist/templates/markdown/spec/guides/index.md.txt +5 -19
  87. package/dist/templates/markdown/spec/guides/prototype-guide.md.txt +10 -10
  88. package/dist/templates/markdown/spec/guides/test-discipline-guide.md.txt +1 -1
  89. package/dist/templates/shared-hooks/event-bridge.py +60 -0
  90. package/dist/templates/shared-hooks/index.d.ts +1 -1
  91. package/dist/templates/shared-hooks/index.d.ts.map +1 -1
  92. package/dist/templates/shared-hooks/index.js +1 -0
  93. package/dist/templates/shared-hooks/index.js.map +1 -1
  94. package/dist/templates/shared-hooks/session-start.py +19 -2
  95. package/dist/templates/trellis/CONTEXT.md +63 -3
  96. package/dist/templates/trellis/config.yaml +1 -1
  97. package/dist/templates/trellis/gitignore.txt +39 -39
  98. package/dist/templates/trellis/index.d.ts +12 -0
  99. package/dist/templates/trellis/index.d.ts.map +1 -1
  100. package/dist/templates/trellis/index.js +73 -15
  101. package/dist/templates/trellis/index.js.map +1 -1
  102. package/dist/templates/trellis/pool/README.md +12 -3
  103. package/dist/templates/trellis/pool/plan.md +24 -5
  104. package/dist/templates/trellis/scripts/common/adapter_middleware.py +158 -0
  105. package/dist/templates/trellis/scripts/common/artifact_locale.py +12 -3
  106. package/dist/templates/trellis/scripts/common/cursor_retrieval_env.py +5 -2
  107. package/dist/templates/trellis/scripts/common/full_quality.py +237 -0
  108. package/dist/templates/trellis/scripts/common/git.py +6 -0
  109. package/dist/templates/trellis/scripts/common/git_context.py +17 -5
  110. package/dist/templates/trellis/scripts/common/kernel_command.py +367 -0
  111. package/dist/templates/trellis/scripts/common/lite_context.py +280 -0
  112. package/dist/templates/trellis/scripts/common/ondemand_topology.py +225 -0
  113. package/dist/templates/trellis/scripts/common/parent_orchestration.py +1 -1
  114. package/dist/templates/trellis/scripts/common/pool_store.py +16 -4
  115. package/dist/templates/trellis/scripts/common/retrieval_agent_instructions.py +2 -2
  116. package/dist/templates/trellis/scripts/common/session_context.py +28 -2
  117. package/dist/templates/trellis/scripts/common/task_gates.py +73 -12
  118. package/dist/templates/trellis/scripts/common/task_map.py +42 -9
  119. package/dist/templates/trellis/scripts/common/task_store.py +293 -61
  120. package/dist/templates/trellis/scripts/common/test_adapter_middleware.py +56 -0
  121. package/dist/templates/trellis/scripts/common/test_depends_mode_block.py +9 -0
  122. package/dist/templates/trellis/scripts/common/test_full_quality.py +197 -0
  123. package/dist/templates/trellis/scripts/common/test_kernel_command.py +326 -0
  124. package/dist/templates/trellis/scripts/common/test_lite_path.py +190 -0
  125. package/dist/templates/trellis/scripts/common/test_observable_defaults.py +10 -4
  126. package/dist/templates/trellis/scripts/common/test_ondemand_topology.py +122 -0
  127. package/dist/templates/trellis/scripts/common/test_pool_store.py +17 -0
  128. package/dist/templates/trellis/scripts/common/test_task_store_kernel_patch.py +163 -0
  129. package/dist/templates/trellis/scripts/common/workflow_phase.py +3 -0
  130. package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +4 -5
  131. package/dist/templates/trellis/scripts/get_context.py +1 -0
  132. package/dist/templates/trellis/scripts/pool.py +5 -0
  133. package/dist/templates/trellis/scripts/task.py +83 -7
  134. package/dist/templates/trellis/workflow.md +109 -23
  135. package/dist/utils/cursor-retrieval-env.d.ts +2 -1
  136. package/dist/utils/cursor-retrieval-env.d.ts.map +1 -1
  137. package/dist/utils/cursor-retrieval-env.js +3 -2
  138. package/dist/utils/cursor-retrieval-env.js.map +1 -1
  139. package/dist/utils/cursor2plus-residue-cleanup.d.ts +38 -0
  140. package/dist/utils/cursor2plus-residue-cleanup.d.ts.map +1 -0
  141. package/dist/utils/cursor2plus-residue-cleanup.js +145 -0
  142. package/dist/utils/cursor2plus-residue-cleanup.js.map +1 -0
  143. package/dist/utils/manifest-prune.d.ts.map +1 -1
  144. package/dist/utils/manifest-prune.js +7 -2
  145. package/dist/utils/manifest-prune.js.map +1 -1
  146. package/dist/utils/p36-upgrade.d.ts +62 -0
  147. package/dist/utils/p36-upgrade.d.ts.map +1 -0
  148. package/dist/utils/p36-upgrade.js +160 -0
  149. package/dist/utils/p36-upgrade.js.map +1 -0
  150. package/dist/utils/project-capabilities.d.ts +1 -12
  151. package/dist/utils/project-capabilities.d.ts.map +1 -1
  152. package/dist/utils/project-capabilities.js +3 -100
  153. package/dist/utils/project-capabilities.js.map +1 -1
  154. package/dist/utils/readiness.d.ts +10 -0
  155. package/dist/utils/readiness.d.ts.map +1 -1
  156. package/dist/utils/readiness.js +58 -26
  157. package/dist/utils/readiness.js.map +1 -1
  158. package/dist/utils/retrieval-agent-instructions.js +1 -1
  159. package/dist/utils/retrieval-agent-instructions.js.map +1 -1
  160. package/dist/utils/retrieval-execution-telemetry.js +1 -1
  161. package/dist/utils/retrieval-execution-telemetry.js.map +1 -1
  162. package/dist/utils/template-hash.d.ts.map +1 -1
  163. package/dist/utils/template-hash.js +11 -1
  164. package/dist/utils/template-hash.js.map +1 -1
  165. package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
  166. package/dist/utils/uninstall-scrubbers.js +52 -14
  167. package/dist/utils/uninstall-scrubbers.js.map +1 -1
  168. package/dist/utils/update-rollout-report.d.ts +14 -0
  169. package/dist/utils/update-rollout-report.d.ts.map +1 -1
  170. package/dist/utils/update-rollout-report.js +1 -0
  171. package/dist/utils/update-rollout-report.js.map +1 -1
  172. package/dist/utils/workflow-ownership.d.ts +1 -1
  173. package/dist/utils/workflow-ownership.js +4 -4
  174. package/dist/utils/workflow-ownership.js.map +1 -1
  175. package/package.json +5 -4
  176. package/scripts/postinstall.js +6 -7
  177. package/dist/commands/campaign/canvas-render.d.ts +0 -68
  178. package/dist/commands/campaign/canvas-render.d.ts.map +0 -1
  179. package/dist/commands/campaign/canvas-render.js +0 -414
  180. package/dist/commands/campaign/canvas-render.js.map +0 -1
  181. package/dist/commands/campaign/compose.d.ts +0 -15
  182. package/dist/commands/campaign/compose.d.ts.map +0 -1
  183. package/dist/commands/campaign/compose.js +0 -110
  184. package/dist/commands/campaign/compose.js.map +0 -1
  185. package/dist/commands/campaign/index.d.ts +0 -13
  186. package/dist/commands/campaign/index.d.ts.map +0 -1
  187. package/dist/commands/campaign/index.js +0 -134
  188. package/dist/commands/campaign/index.js.map +0 -1
  189. package/dist/commands/campaign/kind-map.d.ts +0 -6
  190. package/dist/commands/campaign/kind-map.d.ts.map +0 -1
  191. package/dist/commands/campaign/kind-map.js +0 -21
  192. package/dist/commands/campaign/kind-map.js.map +0 -1
  193. package/dist/commands/campaign/mcp-server.d.ts +0 -6
  194. package/dist/commands/campaign/mcp-server.d.ts.map +0 -1
  195. package/dist/commands/campaign/mcp-server.js +0 -167
  196. package/dist/commands/campaign/mcp-server.js.map +0 -1
  197. package/dist/commands/campaign/render.d.ts +0 -5
  198. package/dist/commands/campaign/render.d.ts.map +0 -1
  199. package/dist/commands/campaign/render.js +0 -103
  200. package/dist/commands/campaign/render.js.map +0 -1
  201. package/dist/commands/campaign/trellis-load.d.ts +0 -13
  202. package/dist/commands/campaign/trellis-load.d.ts.map +0 -1
  203. package/dist/commands/campaign/trellis-load.js +0 -122
  204. package/dist/commands/campaign/trellis-load.js.map +0 -1
  205. package/dist/commands/campaign/types.d.ts +0 -61
  206. package/dist/commands/campaign/types.d.ts.map +0 -1
  207. package/dist/commands/campaign/types.js +0 -3
  208. package/dist/commands/campaign/types.js.map +0 -1
  209. package/dist/commands/goal/index.d.ts +0 -3
  210. package/dist/commands/goal/index.d.ts.map +0 -1
  211. package/dist/commands/goal/index.js +0 -159
  212. package/dist/commands/goal/index.js.map +0 -1
  213. package/dist/commands/goal/review.d.ts +0 -6
  214. package/dist/commands/goal/review.d.ts.map +0 -1
  215. package/dist/commands/goal/review.js +0 -28
  216. package/dist/commands/goal/review.js.map +0 -1
  217. package/dist/commands/rpc/client.d.ts +0 -51
  218. package/dist/commands/rpc/client.d.ts.map +0 -1
  219. package/dist/commands/rpc/client.js +0 -147
  220. package/dist/commands/rpc/client.js.map +0 -1
  221. package/dist/commands/rpc/index.d.ts +0 -10
  222. package/dist/commands/rpc/index.d.ts.map +0 -1
  223. package/dist/commands/rpc/index.js +0 -157
  224. package/dist/commands/rpc/index.js.map +0 -1
  225. package/dist/commands/rpc/serve.d.ts +0 -23
  226. package/dist/commands/rpc/serve.d.ts.map +0 -1
  227. package/dist/commands/rpc/serve.js +0 -60
  228. package/dist/commands/rpc/serve.js.map +0 -1
  229. package/dist/commands/rpc/smoke.d.ts +0 -16
  230. package/dist/commands/rpc/smoke.d.ts.map +0 -1
  231. package/dist/commands/rpc/smoke.js +0 -92
  232. package/dist/commands/rpc/smoke.js.map +0 -1
  233. package/dist/commands/sdk/index.d.ts +0 -9
  234. package/dist/commands/sdk/index.d.ts.map +0 -1
  235. package/dist/commands/sdk/index.js +0 -58
  236. package/dist/commands/sdk/index.js.map +0 -1
  237. package/dist/commands/sdk/run.d.ts +0 -42
  238. package/dist/commands/sdk/run.d.ts.map +0 -1
  239. package/dist/commands/sdk/run.js +0 -220
  240. package/dist/commands/sdk/run.js.map +0 -1
  241. package/dist/commands/sdk/status.d.ts +0 -14
  242. package/dist/commands/sdk/status.d.ts.map +0 -1
  243. package/dist/commands/sdk/status.js +0 -69
  244. package/dist/commands/sdk/status.js.map +0 -1
  245. package/dist/configurators/cursor2plus-local.d.ts +0 -6
  246. package/dist/configurators/cursor2plus-local.d.ts.map +0 -1
  247. package/dist/configurators/cursor2plus-local.js +0 -21
  248. package/dist/configurators/cursor2plus-local.js.map +0 -1
  249. package/dist/goal/action-packet.d.ts +0 -89
  250. package/dist/goal/action-packet.d.ts.map +0 -1
  251. package/dist/goal/action-packet.js +0 -113
  252. package/dist/goal/action-packet.js.map +0 -1
  253. package/dist/goal/audit.d.ts +0 -14
  254. package/dist/goal/audit.d.ts.map +0 -1
  255. package/dist/goal/audit.js +0 -12
  256. package/dist/goal/audit.js.map +0 -1
  257. package/dist/goal/constants.d.ts +0 -26
  258. package/dist/goal/constants.d.ts.map +0 -1
  259. package/dist/goal/constants.js +0 -24
  260. package/dist/goal/constants.js.map +0 -1
  261. package/dist/goal/paths.d.ts +0 -8
  262. package/dist/goal/paths.d.ts.map +0 -1
  263. package/dist/goal/paths.js +0 -36
  264. package/dist/goal/paths.js.map +0 -1
  265. package/dist/goal/preflight.d.ts +0 -21
  266. package/dist/goal/preflight.d.ts.map +0 -1
  267. package/dist/goal/preflight.js +0 -97
  268. package/dist/goal/preflight.js.map +0 -1
  269. package/dist/goal/review-seam.d.ts +0 -44
  270. package/dist/goal/review-seam.d.ts.map +0 -1
  271. package/dist/goal/review-seam.js +0 -153
  272. package/dist/goal/review-seam.js.map +0 -1
  273. package/dist/goal/reviewer-rules.d.ts +0 -13
  274. package/dist/goal/reviewer-rules.d.ts.map +0 -1
  275. package/dist/goal/reviewer-rules.js +0 -153
  276. package/dist/goal/reviewer-rules.js.map +0 -1
  277. package/dist/goal/reviewer.d.ts +0 -9
  278. package/dist/goal/reviewer.d.ts.map +0 -1
  279. package/dist/goal/reviewer.js +0 -54
  280. package/dist/goal/reviewer.js.map +0 -1
  281. package/dist/goal/runtime.d.ts +0 -32
  282. package/dist/goal/runtime.d.ts.map +0 -1
  283. package/dist/goal/runtime.js +0 -242
  284. package/dist/goal/runtime.js.map +0 -1
  285. package/dist/goal/sdk-client.d.ts +0 -10
  286. package/dist/goal/sdk-client.d.ts.map +0 -1
  287. package/dist/goal/sdk-client.js +0 -34
  288. package/dist/goal/sdk-client.js.map +0 -1
  289. package/dist/goal/state.d.ts +0 -40
  290. package/dist/goal/state.d.ts.map +0 -1
  291. package/dist/goal/state.js +0 -37
  292. package/dist/goal/state.js.map +0 -1
  293. package/dist/goal/task-triggers.d.ts +0 -15
  294. package/dist/goal/task-triggers.d.ts.map +0 -1
  295. package/dist/goal/task-triggers.js +0 -23
  296. package/dist/goal/task-triggers.js.map +0 -1
  297. package/dist/goal/walls.d.ts +0 -12
  298. package/dist/goal/walls.d.ts.map +0 -1
  299. package/dist/goal/walls.js +0 -65
  300. package/dist/goal/walls.js.map +0 -1
  301. package/dist/goal/worker-prompt.d.ts +0 -13
  302. package/dist/goal/worker-prompt.d.ts.map +0 -1
  303. package/dist/goal/worker-prompt.js +0 -41
  304. package/dist/goal/worker-prompt.js.map +0 -1
  305. package/dist/goal/worker.d.ts +0 -42
  306. package/dist/goal/worker.d.ts.map +0 -1
  307. package/dist/goal/worker.js +0 -180
  308. package/dist/goal/worker.js.map +0 -1
  309. package/dist/templates/common/bundled-skills/cstl-cursor2plus-setup/SKILL.md +0 -63
  310. package/dist/templates/cursor/commands/cursor2plus-setup.md +0 -82
  311. package/dist/templates/cursor/rules/cstl-cursor-modes.mdc +0 -32
  312. package/dist/templates/cursor/rules/cstl-session-rename.mdc +0 -31
  313. package/dist/templates/cursor/rules/cstl-subagent-dispatch.mdc +0 -34
  314. package/dist/templates/cursor/rules/cstl-triage.mdc +0 -36
  315. package/dist/templates/cursor/rules/retrieval-routing.mdc +0 -78
  316. package/dist/templates/markdown/spec/guides/cursor-trellis-release-coexistence-guide.md.txt +0 -166
  317. package/dist/templates/markdown/spec/guides/goal-release-regression-runbook.md.txt +0 -132
  318. package/dist/templates/trellis/local/README.md +0 -85
  319. package/dist/templates/trellis/local/config.local.json.example +0 -6
  320. package/dist/templates/trellis/local/index.d.ts +0 -8
  321. package/dist/templates/trellis/local/index.d.ts.map +0 -1
  322. package/dist/templates/trellis/local/index.js +0 -15
  323. package/dist/templates/trellis/local/index.js.map +0 -1
  324. package/dist/templates/trellis/local/patch_wpelc8.py +0 -421
  325. package/dist/templates/trellis/local/smoke.py +0 -94
  326. package/dist/templates/trellis/local/subagent-models.json.example +0 -4
  327. package/dist/templates/trellis/local/trellis-task-models.json.example +0 -10
  328. package/dist/templates/trellis/local/trellis-task-models.json5.example +0 -45
  329. package/dist/templates/trellis/local/trellis_task_models_config.py +0 -200
  330. package/dist/utils/cursor-sdk-gate.d.ts +0 -10
  331. package/dist/utils/cursor-sdk-gate.d.ts.map +0 -1
  332. package/dist/utils/cursor-sdk-gate.js +0 -32
  333. package/dist/utils/cursor-sdk-gate.js.map +0 -1
  334. /package/dist/templates/markdown/{spec/guides → framework}/artifact-locale-guide.md.txt +0 -0
  335. /package/dist/templates/markdown/{spec/guides → framework}/cursor-context-injection-guide.md.txt +0 -0
  336. /package/dist/templates/markdown/{spec/guides → framework}/cursor-semantic-compliance.md.txt +0 -0
  337. /package/dist/templates/markdown/{spec/guides → framework}/injection-budget-guide.md.txt +0 -0
@@ -1,220 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { randomUUID } from "node:crypto";
4
- import { campaignBroadcastTopic } from "@blxzer/cursor-trellis-core/rpc";
5
- import { resolveRpcToken, resolveRpcUrl, rpcPublish, rpcRegister, } from "../rpc/client.js";
6
- const DEFAULT_PROMPT = "Trellis SDK RUN (S1 worker): confirm task path binding by restating the absolute taskPath; do not call integrate-child or start-execution --approved; summarize readiness in one short paragraph.";
7
- function resolveTaskPath(taskArg) {
8
- return path.resolve(process.cwd(), taskArg);
9
- }
10
- function assertTaskDir(taskPath) {
11
- if (!fs.existsSync(taskPath) || !fs.statSync(taskPath).isDirectory()) {
12
- throw new Error(`Task path is not a directory: ${taskPath}`);
13
- }
14
- const prd = path.join(taskPath, "prd.md");
15
- if (!fs.existsSync(prd)) {
16
- throw new Error(`Task path missing prd.md (refusing unbound SDK RUN; pass --task <dir> that contains prd.md): ${prd}`);
17
- }
18
- }
19
- /**
20
- * Build the Agent prompt for SDK RUN. Always prepends an explicit --task binding
21
- * block so SessionStart "Selected task: none" cannot be misread as unbound.
22
- */
23
- export function buildSdkRunPrompt(taskPath, userPrompt) {
24
- const absoluteTask = path.resolve(taskPath);
25
- const prdPath = path.join(absoluteTask, "prd.md");
26
- const instruction = userPrompt?.trim() || DEFAULT_PROMPT;
27
- return [
28
- "## SDK RUN task binding (authoritative)",
29
- `- Bound via CLI \`--task\` (not \`selected_task\` / SessionStart).`,
30
- `- taskPath (absolute): \`${absoluteTask}\``,
31
- `- prd.md (absolute): \`${prdPath}\``,
32
- `- Binding status: **BOUND**.`,
33
- `- Do **not** report unbound solely because SessionStart says \`Selected task: none\` — that pointer is irrelevant for SDK RUN.`,
34
- "",
35
- "## Instructions",
36
- instruction,
37
- ].join("\n");
38
- }
39
- async function runMockAgent(prompt) {
40
- return {
41
- status: "completed",
42
- result: `[mock] SDK RUN accepted prompt (${prompt.length} chars). No @cursor/sdk call. CAP: safe-task/SDK only; no Parent integrate.`,
43
- };
44
- }
45
- async function runLiveAgent(prompt, cwd) {
46
- const { promptCursorAgent } = await import("../../goal/sdk-client.js");
47
- return promptCursorAgent(prompt, cwd);
48
- }
49
- function writeDogfoodEvidence(options) {
50
- const dir = path.dirname(options.evidencePath);
51
- fs.mkdirSync(dir, { recursive: true });
52
- const body = `# SDK RUN dogfood
53
-
54
- generated: ${new Date().toISOString()}
55
- runId: \`${options.result.runId}\`
56
- mode: \`${options.result.mode}\`
57
- taskPath: \`${options.result.taskPath}\`
58
-
59
- ## Agent
60
-
61
- - status: \`${options.result.agent.status}\`
62
- - result:
63
-
64
- \`\`\`text
65
- ${options.result.agent.result}
66
- \`\`\`
67
-
68
- ## RPC
69
-
70
- - attempted: ${options.result.rpc.attempted}
71
- - ok: ${options.result.rpc.ok}
72
- - url: ${options.result.rpc.url ?? "(none)"}
73
- - detail: ${options.result.rpc.detail}
74
-
75
- ## CAP / HITL
76
-
77
- - Claim: SDK / safe-task automation RUN only
78
- - Does **not** call \`task.py start-execution --approved\` or \`integrate-child\`
79
- - Not an IDE chat tab
80
-
81
- ## Errors
82
-
83
- ${options.result.errors.length === 0
84
- ? "(none)"
85
- : options.result.errors.map((e) => `- ${e}`).join("\n")}
86
- `;
87
- fs.writeFileSync(options.evidencePath, body, "utf-8");
88
- }
89
- async function emitRpcEvents(options) {
90
- const from = { kind: "sdk", id: options.runId };
91
- const topic = campaignBroadcastTopic(options.campaign);
92
- const reg = await rpcRegister({
93
- url: options.url,
94
- kind: from.kind,
95
- id: from.id,
96
- campaignId: options.campaign,
97
- token: options.token,
98
- });
99
- if (reg.error) {
100
- return {
101
- ok: false,
102
- detail: `register failed: ${reg.error.code} ${reg.error.message}`,
103
- };
104
- }
105
- const body = {
106
- event: "trellis.child.state",
107
- taskPath: options.taskPath,
108
- mode: options.mode,
109
- status: options.status,
110
- runId: options.runId,
111
- clientKind: "sdk",
112
- };
113
- const published = await rpcPublish({
114
- url: options.url,
115
- from,
116
- topic,
117
- campaignId: options.campaign,
118
- body,
119
- token: options.token,
120
- });
121
- if (published.error) {
122
- return {
123
- ok: false,
124
- detail: `publish failed: ${published.error.code} ${published.error.message}`,
125
- };
126
- }
127
- const delivered = typeof published.payload.delivered === "number"
128
- ? published.payload.delivered
129
- : 0;
130
- return {
131
- ok: true,
132
- detail: `registered sdk:${options.runId}; published ${topic} (delivered=${delivered})`,
133
- };
134
- }
135
- /**
136
- * Minimal Trellis SDK RUN: bind explicit task path, run mock/live agent, write dogfood, emit RPC.
137
- */
138
- export async function runSdkRun(options) {
139
- const errors = [];
140
- const runId = randomUUID().slice(0, 8);
141
- const taskPath = resolveTaskPath(options.task);
142
- assertTaskDir(taskPath);
143
- const cwd = options.cwd ? path.resolve(options.cwd) : process.cwd();
144
- const prompt = buildSdkRunPrompt(taskPath, options.prompt);
145
- const evidencePath = options.evidencePath ??
146
- path.join(taskPath, "research", "sdk-run-dogfood.md");
147
- let agent;
148
- if (options.mode === "live") {
149
- agent = await runLiveAgent(prompt, cwd);
150
- }
151
- else {
152
- agent = await runMockAgent(prompt);
153
- }
154
- let rpc = {
155
- attempted: false,
156
- ok: false,
157
- detail: "skipped (--no-rpc)",
158
- };
159
- if (!options.noRpc) {
160
- const url = resolveRpcUrl(options.rpcUrl);
161
- const token = resolveRpcToken(options.token);
162
- rpc = { attempted: true, ok: false, url, detail: "" };
163
- try {
164
- const outcome = await emitRpcEvents({
165
- url,
166
- token,
167
- runId,
168
- campaign: options.campaign,
169
- taskPath,
170
- mode: options.mode,
171
- status: agent.status,
172
- });
173
- rpc.ok = outcome.ok;
174
- rpc.detail = outcome.detail;
175
- if (!outcome.ok) {
176
- errors.push(`rpc: ${outcome.detail}`);
177
- }
178
- }
179
- catch (error) {
180
- const message = error instanceof Error ? error.message : String(error);
181
- rpc.ok = false;
182
- rpc.detail = `unavailable: ${message}`;
183
- errors.push(`rpc: ${rpc.detail}`);
184
- }
185
- }
186
- const partial = {
187
- runId,
188
- mode: options.mode,
189
- taskPath,
190
- evidencePath,
191
- rpc,
192
- agent,
193
- errors,
194
- };
195
- writeDogfoodEvidence({ evidencePath, result: partial });
196
- // RPC degrade is allowed (LAYERED); validation failures already threw.
197
- const ok = options.mode === "mock" || agent.status.length > 0;
198
- return { ok, ...partial };
199
- }
200
- export async function runSdkRunCommand(options) {
201
- try {
202
- const result = await runSdkRun(options);
203
- if (result.ok) {
204
- console.log(`SDK RUN OK mode=${result.mode} runId=${result.runId} task=${result.taskPath}`);
205
- console.log(`evidence: ${result.evidencePath}`);
206
- console.log(`rpc: ${result.rpc.detail}`);
207
- if (result.errors.length > 0) {
208
- console.warn(`notes: ${result.errors.join("; ")}`);
209
- }
210
- return 0;
211
- }
212
- console.error(`SDK RUN FAILED: ${result.errors.join("; ") || "unknown"}`);
213
- return 1;
214
- }
215
- catch (error) {
216
- console.error("SDK RUN error:", error instanceof Error ? error.message : error);
217
- return 1;
218
- }
219
- }
220
- //# sourceMappingURL=run.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/sdk/run.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export type SdkStatusResult = {
2
- ok: boolean;
3
- cwd: string;
4
- keyPresent: boolean;
5
- capabilitySelected: boolean;
6
- sdkModuleResolvable: boolean | null;
7
- nextSteps: string[];
8
- };
9
- export declare function collectSdkStatus(cwd?: string): Promise<SdkStatusResult>;
10
- export declare function runSdkStatusCommand(options?: {
11
- cwd?: string;
12
- json?: boolean;
13
- }): Promise<number>;
14
- //# sourceMappingURL=status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/sdk/status.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAeF,wBAAsB,gBAAgB,CACpC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAoC1B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmClB"}
@@ -1,69 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { cursorApiKeySetupGuide, hasCursorApiKey, } from "../../utils/cursor-sdk-gate.js";
4
- import { loadProjectCapabilities } from "../../utils/project-capabilities.js";
5
- async function probeSdkModuleResolvable() {
6
- try {
7
- const dynamicImport = new Function("specifier", "return import(specifier)");
8
- await dynamicImport("@cursor/sdk");
9
- return true;
10
- }
11
- catch {
12
- return false;
13
- }
14
- }
15
- export async function collectSdkStatus(cwd = process.cwd()) {
16
- const keyPresent = hasCursorApiKey();
17
- const selected = loadProjectCapabilities(cwd);
18
- const capabilitySelected = selected.includes("cursor-sdk");
19
- const sdkModuleResolvable = await probeSdkModuleResolvable();
20
- const nextSteps = [];
21
- if (!keyPresent) {
22
- nextSteps.push("Set CURSOR_API_KEY in this process, then re-run `cstl sdk status` or re-select `cursor-sdk` during init/update.");
23
- nextSteps.push("Use `cstl sdk run --task <path> --mock` without a key.");
24
- }
25
- else {
26
- nextSteps.push("Key present. You may enable `cursor-sdk` at init/update and use `cstl sdk run --task <path> --live` after accepting billing/privacy risk.");
27
- }
28
- if (!capabilitySelected && fs.existsSync(path.join(cwd, ".cstl"))) {
29
- nextSteps.push("Project has `.cstl/` but `cursor-sdk` is not in `.cstl/capabilities.json` selected list.");
30
- }
31
- if (sdkModuleResolvable === false) {
32
- nextSteps.push("@cursor/sdk could not be imported from this CLI install; reinstall cursor-trellis / @blxzer/cursor-trellis.");
33
- }
34
- return {
35
- ok: keyPresent,
36
- cwd,
37
- keyPresent,
38
- capabilitySelected,
39
- sdkModuleResolvable,
40
- nextSteps,
41
- };
42
- }
43
- export async function runSdkStatusCommand(options) {
44
- const cwd = options?.cwd ? path.resolve(options.cwd) : process.cwd();
45
- const status = await collectSdkStatus(cwd);
46
- if (options?.json) {
47
- console.log(JSON.stringify(status, null, 2));
48
- return status.keyPresent ? 0 : 1;
49
- }
50
- console.log("Cursor SDK status");
51
- console.log(` cwd: ${status.cwd}`);
52
- console.log(` CURSOR_API_KEY: ${status.keyPresent ? "present" : "missing"} (value never printed)`);
53
- console.log(` capability cursor-sdk selected: ${status.capabilitySelected ? "yes" : "no"}`);
54
- console.log(` @cursor/sdk importable from CLI: ${status.sdkModuleResolvable === null
55
- ? "unknown"
56
- : status.sdkModuleResolvable
57
- ? "yes"
58
- : "no"}`);
59
- console.log(" next steps:");
60
- for (const step of status.nextSteps) {
61
- console.log(` - ${step}`);
62
- }
63
- if (!status.keyPresent) {
64
- console.log("");
65
- console.log(cursorApiKeySetupGuide());
66
- }
67
- return status.keyPresent ? 0 : 1;
68
- }
69
- //# sourceMappingURL=status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/sdk/status.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Materialize Cursor++ BYOK local operator bundle (strategy C).
3
- * Native Cursor API users can ignore. Never overwrites config.local.json.
4
- */
5
- export declare function writeCursor2plusLocalBundle(cwd: string): Promise<void>;
6
- //# sourceMappingURL=cursor2plus-local.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor2plus-local.d.ts","sourceRoot":"","sources":["../../src/configurators/cursor2plus-local.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB5E"}
@@ -1,21 +0,0 @@
1
- import path from "node:path";
2
- import { DIR_NAMES } from "../constants/paths.js";
3
- import { ensureDir, writeFile } from "../utils/file-writer.js";
4
- import { cursor2plusPatchScript, cursor2plusReadme, cursor2plusSmokeScript, cursor2plusConfigExample, subagentModelsExample, trellisTaskModelsJson5Example, trellisTaskModelsConfigPy, } from "../templates/trellis/local/index.js";
5
- /**
6
- * Materialize Cursor++ BYOK local operator bundle (strategy C).
7
- * Native Cursor API users can ignore. Never overwrites config.local.json.
8
- */
9
- export async function writeCursor2plusLocalBundle(cwd) {
10
- const localRoot = path.join(cwd, DIR_NAMES.WORKFLOW, "local");
11
- const bundleDir = path.join(localRoot, "cursor2plus");
12
- ensureDir(bundleDir);
13
- await writeFile(path.join(bundleDir, "patch_wpelc8.py"), cursor2plusPatchScript);
14
- await writeFile(path.join(bundleDir, "trellis_task_models_config.py"), trellisTaskModelsConfigPy);
15
- await writeFile(path.join(bundleDir, "smoke.py"), cursor2plusSmokeScript);
16
- await writeFile(path.join(bundleDir, "README.md"), cursor2plusReadme);
17
- await writeFile(path.join(bundleDir, "config.local.json.example"), cursor2plusConfigExample);
18
- await writeFile(path.join(localRoot, "subagent-models.json.example"), subagentModelsExample);
19
- await writeFile(path.join(localRoot, "trellis-task-models.json5.example"), trellisTaskModelsJson5Example);
20
- }
21
- //# sourceMappingURL=cursor2plus-local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor2plus-local.js","sourceRoot":"","sources":["../../src/configurators/cursor2plus-local.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,GAAW;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtD,SAAS,CAAC,SAAS,CAAC,CAAC;IAErB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,CAAC;IACjF,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC,EACrD,yBAAyB,CAC1B,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAC1E,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtE,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,EACjD,wBAAwB,CACzB,CAAC;IAEF,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,8BAA8B,CAAC,EACpD,qBAAqB,CACtB,CAAC;IACF,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,EACzD,6BAA6B,CAC9B,CAAC;AACJ,CAAC"}
@@ -1,89 +0,0 @@
1
- import { z } from "zod";
2
- /** Parent lock v0 — shared with reviewer Child. */
3
- export declare const GOAL_ACTION_PACKET_SCHEMA_VERSION: 1;
4
- export declare const HARD_DENY_IDS: readonly ["H-1", "H-2", "H-3", "H-4", "H-5", "H-6"];
5
- export type HardDenyId = (typeof HARD_DENY_IDS)[number];
6
- export declare const REVIEW_DECISIONS: readonly ["allow", "allow_with_constraints", "deny_suggest_alternative", "uncertain"];
7
- export type ReviewDecision = (typeof REVIEW_DECISIONS)[number];
8
- declare const axesSchema: z.ZodObject<{
9
- A: z.ZodBoolean;
10
- B: z.ZodBoolean;
11
- C: z.ZodBoolean;
12
- }, z.core.$strip>;
13
- export declare const goalActionPacketSchema: z.ZodObject<{
14
- schema_version: z.ZodLiteral<1>;
15
- goal_id: z.ZodString;
16
- task_dir: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
- proposed_action: z.ZodString;
18
- action_kind: z.ZodString;
19
- axes: z.ZodObject<{
20
- A: z.ZodBoolean;
21
- B: z.ZodBoolean;
22
- C: z.ZodBoolean;
23
- }, z.core.$strip>;
24
- hard_deny_candidates: z.ZodArray<z.ZodString>;
25
- done_when_ref: z.ZodString;
26
- diff_or_cmd_digest: z.ZodString;
27
- constraints_hint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
- }, z.core.$strip>;
29
- export declare const goalReviewDecisionSchema: z.ZodObject<{
30
- schema_version: z.ZodLiteral<1>;
31
- decision: z.ZodEnum<{
32
- allow: "allow";
33
- allow_with_constraints: "allow_with_constraints";
34
- deny_suggest_alternative: "deny_suggest_alternative";
35
- uncertain: "uncertain";
36
- }>;
37
- axes: z.ZodObject<{
38
- A: z.ZodBoolean;
39
- B: z.ZodBoolean;
40
- C: z.ZodBoolean;
41
- }, z.core.$strip>;
42
- hard_deny_hit: z.ZodNullable<z.ZodString>;
43
- constraints: z.ZodOptional<z.ZodArray<z.ZodString>>;
44
- alternative: z.ZodOptional<z.ZodNullable<z.ZodString>>;
45
- rationale: z.ZodString;
46
- l1_ready: z.ZodObject<{
47
- time: z.ZodString;
48
- action: z.ZodString;
49
- axes: z.ZodObject<{
50
- A: z.ZodBoolean;
51
- B: z.ZodBoolean;
52
- C: z.ZodBoolean;
53
- }, z.core.$strip>;
54
- reviewer: z.ZodString;
55
- decision: z.ZodString;
56
- rollback_hint: z.ZodString;
57
- }, z.core.$strip>;
58
- h3_allowed: z.ZodOptional<z.ZodBoolean>;
59
- valid: z.ZodOptional<z.ZodBoolean>;
60
- invalid_reason: z.ZodOptional<z.ZodString>;
61
- }, z.core.$strip>;
62
- export type GoalAxes = z.infer<typeof axesSchema>;
63
- export type GoalActionPacket = z.infer<typeof goalActionPacketSchema>;
64
- export type GoalReviewDecision = z.infer<typeof goalReviewDecisionSchema>;
65
- export declare function parseGoalActionPacket(input: unknown): GoalActionPacket;
66
- export declare function safeParseGoalActionPacket(input: unknown): {
67
- valid: true;
68
- packet: GoalActionPacket;
69
- } | {
70
- valid: false;
71
- invalid_reason: string;
72
- };
73
- export declare function parseGoalReviewDecision(input: unknown): GoalReviewDecision;
74
- export declare function isValidReviewDecision(decision: GoalReviewDecision): {
75
- valid: true;
76
- } | {
77
- valid: false;
78
- reason: string;
79
- };
80
- export declare function deriveH3Allowed(decision: GoalReviewDecision): boolean;
81
- export declare function validateGoalReviewDecision(input: unknown): {
82
- valid: true;
83
- decision: GoalReviewDecision;
84
- } | {
85
- valid: false;
86
- invalid_reason: string;
87
- };
88
- export {};
89
- //# sourceMappingURL=action-packet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-packet.d.ts","sourceRoot":"","sources":["../../src/goal/action-packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mDAAmD;AACnD,eAAO,MAAM,iCAAiC,EAAG,CAAU,CAAC;AAE5D,eAAO,MAAM,aAAa,qDAOhB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB,uFAKnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,QAAA,MAAM,UAAU;;;;iBAId,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;iBAWjC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBnC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAClD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAEtE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAStF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAM1E;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,kBAAkB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAepD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAKrE;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAc1F"}
@@ -1,113 +0,0 @@
1
- import { z } from "zod";
2
- /** Parent lock v0 — shared with reviewer Child. */
3
- export const GOAL_ACTION_PACKET_SCHEMA_VERSION = 1;
4
- export const HARD_DENY_IDS = [
5
- "H-1",
6
- "H-2",
7
- "H-3",
8
- "H-4",
9
- "H-5",
10
- "H-6",
11
- ];
12
- export const REVIEW_DECISIONS = [
13
- "allow",
14
- "allow_with_constraints",
15
- "deny_suggest_alternative",
16
- "uncertain",
17
- ];
18
- const axesSchema = z.object({
19
- A: z.boolean(),
20
- B: z.boolean(),
21
- C: z.boolean(),
22
- });
23
- export const goalActionPacketSchema = z.object({
24
- schema_version: z.literal(GOAL_ACTION_PACKET_SCHEMA_VERSION),
25
- goal_id: z.string().min(1),
26
- task_dir: z.string().nullable().optional(),
27
- proposed_action: z.string().min(1),
28
- action_kind: z.string().min(1),
29
- axes: axesSchema,
30
- hard_deny_candidates: z.array(z.string()),
31
- done_when_ref: z.string().min(1),
32
- diff_or_cmd_digest: z.string().min(1),
33
- constraints_hint: z.string().nullable().optional(),
34
- });
35
- export const goalReviewDecisionSchema = z.object({
36
- schema_version: z.literal(GOAL_ACTION_PACKET_SCHEMA_VERSION),
37
- decision: z.enum(REVIEW_DECISIONS),
38
- axes: axesSchema,
39
- hard_deny_hit: z.string().nullable(),
40
- constraints: z.array(z.string()).optional(),
41
- alternative: z.string().nullable().optional(),
42
- rationale: z.string().min(1),
43
- l1_ready: z.object({
44
- time: z.string().min(1),
45
- action: z.string().min(1),
46
- axes: axesSchema,
47
- reviewer: z.string().min(1),
48
- decision: z.string().min(1),
49
- rollback_hint: z.string().min(1),
50
- }),
51
- h3_allowed: z.boolean().optional(),
52
- valid: z.boolean().optional(),
53
- invalid_reason: z.string().optional(),
54
- });
55
- export function parseGoalActionPacket(input) {
56
- return goalActionPacketSchema.parse(input);
57
- }
58
- export function safeParseGoalActionPacket(input) {
59
- const parsed = goalActionPacketSchema.safeParse(input);
60
- if (!parsed.success) {
61
- return {
62
- valid: false,
63
- invalid_reason: parsed.error.issues.map((i) => i.message).join("; "),
64
- };
65
- }
66
- return { valid: true, packet: parsed.data };
67
- }
68
- export function parseGoalReviewDecision(input) {
69
- const parsed = goalReviewDecisionSchema.parse(input);
70
- if (parsed.hard_deny_hit != null && parsed.h3_allowed === true) {
71
- throw new Error("invalid decision: hard_deny_hit set but h3_allowed is true");
72
- }
73
- return parsed;
74
- }
75
- export function isValidReviewDecision(decision) {
76
- if (decision.valid === false) {
77
- return { valid: false, reason: decision.invalid_reason ?? "marked invalid" };
78
- }
79
- const l1 = decision.l1_ready;
80
- if (!l1.time || !l1.action || !l1.reviewer || !l1.decision || !l1.rollback_hint) {
81
- return { valid: false, reason: "incomplete l1_ready" };
82
- }
83
- if (!decision.decision || !decision.axes) {
84
- return { valid: false, reason: "missing decision or axes" };
85
- }
86
- if (decision.hard_deny_hit != null && decision.h3_allowed === true) {
87
- return { valid: false, reason: "hard_deny_hit set but h3_allowed is true" };
88
- }
89
- return { valid: true };
90
- }
91
- export function deriveH3Allowed(decision) {
92
- if (decision.hard_deny_hit != null) {
93
- return false;
94
- }
95
- return decision.decision === "uncertain";
96
- }
97
- export function validateGoalReviewDecision(input) {
98
- try {
99
- const decision = parseGoalReviewDecision(input);
100
- const check = isValidReviewDecision(decision);
101
- if (!check.valid) {
102
- return { valid: false, invalid_reason: check.reason };
103
- }
104
- return { valid: true, decision };
105
- }
106
- catch (error) {
107
- return {
108
- valid: false,
109
- invalid_reason: error instanceof Error ? error.message : String(error),
110
- };
111
- }
112
- }
113
- //# sourceMappingURL=action-packet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-packet.js","sourceRoot":"","sources":["../../src/goal/action-packet.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export declare function appendAuditLine(cwd: string, goalId: string, layer: "L0" | "L1" | "L2", line: string): void;
2
- export declare function formatL1Line(l1: {
3
- time: string;
4
- action: string;
5
- axes: {
6
- A: boolean;
7
- B: boolean;
8
- C: boolean;
9
- };
10
- reviewer: string;
11
- decision: string;
12
- rollback_hint: string;
13
- }): string;
14
- //# sourceMappingURL=audit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/goal/audit.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,EACzB,IAAI,EAAE,MAAM,GACX,IAAI,CAKN;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QAAE,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAET"}
@@ -1,12 +0,0 @@
1
- import fs from "node:fs";
2
- import { goalAuditPath } from "./paths.js";
3
- export function appendAuditLine(cwd, goalId, layer, line) {
4
- const file = goalAuditPath(cwd, goalId);
5
- fs.mkdirSync(file.replace(/[/\\][^/\\]+$/, ""), { recursive: true });
6
- const stamp = new Date().toISOString();
7
- fs.appendFileSync(file, `[${stamp}] ${layer} ${line}\n`, "utf-8");
8
- }
9
- export function formatL1Line(l1) {
10
- return JSON.stringify(l1);
11
- }
12
- //# sourceMappingURL=audit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/goal/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,MAAc,EACd,KAAyB,EACzB,IAAY;IAEZ,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAO5B;IACC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC"}
@@ -1,26 +0,0 @@
1
- /** Frozen MVP wall defaults (runtime Child design §8). */
2
- export declare const GOAL_WALL_DEFAULTS: {
3
- readonly runner: {
4
- readonly wallClockSeconds: number;
5
- readonly noProgressSeconds: number;
6
- readonly noProgressRounds: 3;
7
- readonly workerTurnLimit: 12;
8
- readonly totalTurnLimit: 24;
9
- readonly workerTurnTimeoutMs: number;
10
- readonly maxReroutes: 3;
11
- readonly maxReviewRetries: 2;
12
- };
13
- readonly window: {
14
- readonly wallClockSeconds: number;
15
- readonly noProgressSeconds: number;
16
- readonly noProgressRounds: 3;
17
- readonly workerTurnLimit: 8;
18
- readonly totalTurnLimit: 16;
19
- readonly workerTurnTimeoutMs: number;
20
- readonly maxReroutes: 3;
21
- readonly maxReviewRetries: 2;
22
- };
23
- };
24
- export type GoalRunMode = keyof typeof GOAL_WALL_DEFAULTS;
25
- export type GoalLifecycleState = "draft" | "preflight_pending" | "running" | "paused" | "completed" | "crashed";
26
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/goal/constants.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAqBrB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,mBAAmB,GACnB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,SAAS,CAAC"}