@moreih29/nexus-core 0.17.0 → 0.18.2

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 (415) hide show
  1. package/README.md +101 -67
  2. package/dist/cli/sync.d.ts +3 -0
  3. package/dist/cli/sync.d.ts.map +1 -0
  4. package/dist/cli/sync.js +59 -0
  5. package/dist/cli/sync.js.map +1 -0
  6. package/dist/generate/index.d.ts +3 -0
  7. package/dist/generate/index.d.ts.map +1 -0
  8. package/dist/generate/index.js +2 -0
  9. package/dist/generate/index.js.map +1 -0
  10. package/dist/generate/load-data.d.ts +8 -0
  11. package/dist/generate/load-data.d.ts.map +1 -0
  12. package/dist/generate/load-data.js +45 -0
  13. package/dist/generate/load-data.js.map +1 -0
  14. package/dist/generate/load-spec.d.ts +3 -0
  15. package/dist/generate/load-spec.d.ts.map +1 -0
  16. package/dist/generate/load-spec.js +48 -0
  17. package/dist/generate/load-spec.js.map +1 -0
  18. package/dist/generate/macros/expand.d.ts +3 -0
  19. package/dist/generate/macros/expand.d.ts.map +1 -0
  20. package/dist/generate/macros/expand.js +48 -0
  21. package/dist/generate/macros/expand.js.map +1 -0
  22. package/dist/generate/macros/parse.d.ts +4 -0
  23. package/dist/generate/macros/parse.d.ts.map +1 -0
  24. package/dist/generate/macros/parse.js +142 -0
  25. package/dist/generate/macros/parse.js.map +1 -0
  26. package/dist/generate/macros/validate.d.ts +3 -0
  27. package/dist/generate/macros/validate.d.ts.map +1 -0
  28. package/dist/generate/macros/validate.js +23 -0
  29. package/dist/generate/macros/validate.js.map +1 -0
  30. package/dist/generate/renderers/claude.d.ts +3 -0
  31. package/dist/generate/renderers/claude.d.ts.map +1 -0
  32. package/dist/generate/renderers/claude.js +48 -0
  33. package/dist/generate/renderers/claude.js.map +1 -0
  34. package/dist/generate/renderers/codex.d.ts +3 -0
  35. package/dist/generate/renderers/codex.d.ts.map +1 -0
  36. package/dist/generate/renderers/codex.js +79 -0
  37. package/dist/generate/renderers/codex.js.map +1 -0
  38. package/dist/generate/renderers/markdown.d.ts +2 -0
  39. package/dist/generate/renderers/markdown.d.ts.map +1 -0
  40. package/dist/generate/renderers/markdown.js +6 -0
  41. package/dist/generate/renderers/markdown.js.map +1 -0
  42. package/dist/generate/renderers/opencode.d.ts +3 -0
  43. package/dist/generate/renderers/opencode.d.ts.map +1 -0
  44. package/dist/generate/renderers/opencode.js +69 -0
  45. package/dist/generate/renderers/opencode.js.map +1 -0
  46. package/dist/generate/sync.d.ts +4 -0
  47. package/dist/generate/sync.d.ts.map +1 -0
  48. package/dist/generate/sync.js +60 -0
  49. package/dist/generate/sync.js.map +1 -0
  50. package/dist/generate/types.d.ts +74 -0
  51. package/dist/generate/types.d.ts.map +1 -0
  52. package/dist/generate/types.js +2 -0
  53. package/dist/generate/types.js.map +1 -0
  54. package/dist/index.d.ts +4 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +2 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/mcp/definitions/artifact.d.ts +20 -0
  59. package/dist/mcp/definitions/artifact.d.ts.map +1 -0
  60. package/dist/mcp/definitions/artifact.js +14 -0
  61. package/dist/mcp/definitions/artifact.js.map +1 -0
  62. package/dist/mcp/definitions/history.d.ts +20 -0
  63. package/dist/mcp/definitions/history.d.ts.map +1 -0
  64. package/dist/mcp/definitions/history.js +18 -0
  65. package/dist/mcp/definitions/history.js.map +1 -0
  66. package/dist/mcp/definitions/index.d.ts +276 -0
  67. package/dist/mcp/definitions/index.d.ts.map +1 -0
  68. package/dist/mcp/definitions/index.js +16 -0
  69. package/dist/mcp/definitions/index.js.map +1 -0
  70. package/dist/mcp/definitions/plan.d.ts +111 -0
  71. package/dist/mcp/definitions/plan.d.ts.map +1 -0
  72. package/dist/mcp/definitions/plan.js +89 -0
  73. package/dist/mcp/definitions/plan.js.map +1 -0
  74. package/dist/mcp/definitions/task.d.ts +138 -0
  75. package/dist/mcp/definitions/task.d.ts.map +1 -0
  76. package/dist/mcp/definitions/task.js +78 -0
  77. package/dist/mcp/definitions/task.js.map +1 -0
  78. package/dist/mcp/handlers/artifact.d.ts.map +1 -0
  79. package/dist/mcp/handlers/artifact.js +42 -0
  80. package/dist/mcp/handlers/artifact.js.map +1 -0
  81. package/dist/mcp/handlers/history.d.ts.map +1 -0
  82. package/dist/mcp/handlers/history.js +35 -0
  83. package/dist/mcp/handlers/history.js.map +1 -0
  84. package/dist/mcp/handlers/plan.d.ts.map +1 -0
  85. package/dist/mcp/handlers/plan.js +324 -0
  86. package/dist/mcp/handlers/plan.js.map +1 -0
  87. package/dist/mcp/handlers/task.d.ts.map +1 -0
  88. package/dist/mcp/handlers/task.js +216 -0
  89. package/dist/mcp/handlers/task.js.map +1 -0
  90. package/dist/{src/mcp → mcp}/server.d.ts +1 -1
  91. package/dist/mcp/server.d.ts.map +1 -0
  92. package/dist/mcp/server.js +58 -0
  93. package/dist/mcp/server.js.map +1 -0
  94. package/dist/shared/json-store.d.ts.map +1 -0
  95. package/dist/{src/shared → shared}/json-store.js +5 -4
  96. package/dist/shared/json-store.js.map +1 -0
  97. package/dist/shared/mcp-utils.d.ts.map +1 -0
  98. package/dist/shared/mcp-utils.js.map +1 -0
  99. package/dist/{src/shared → shared}/paths.d.ts +0 -6
  100. package/dist/shared/paths.d.ts.map +1 -0
  101. package/dist/shared/paths.js +62 -0
  102. package/dist/shared/paths.js.map +1 -0
  103. package/dist/shared/register-tool.d.ts +20 -0
  104. package/dist/shared/register-tool.d.ts.map +1 -0
  105. package/dist/shared/register-tool.js +15 -0
  106. package/dist/shared/register-tool.js.map +1 -0
  107. package/dist/{src/types → types}/state.d.ts +65 -65
  108. package/dist/types/state.d.ts.map +1 -0
  109. package/dist/{src/types → types}/state.js +1 -1
  110. package/dist/types/state.js.map +1 -0
  111. package/harness/claude/agent-rules.yml +21 -0
  112. package/harness/claude/invocations.yml +11 -0
  113. package/harness/claude/layout.yml +3 -0
  114. package/harness/codex/agent-rules.yml +28 -0
  115. package/harness/codex/invocations.yml +13 -0
  116. package/harness/codex/layout.yml +3 -0
  117. package/harness/opencode/agent-rules.yml +18 -0
  118. package/harness/opencode/invocations.yml +12 -0
  119. package/harness/opencode/layout.yml +3 -0
  120. package/package.json +38 -43
  121. package/{assets → spec}/agents/architect/body.ko.md +92 -84
  122. package/spec/agents/architect/body.md +185 -0
  123. package/spec/agents/designer/body.ko.md +330 -0
  124. package/spec/agents/designer/body.md +330 -0
  125. package/spec/agents/engineer/body.ko.md +166 -0
  126. package/spec/agents/engineer/body.md +166 -0
  127. package/spec/agents/lead/body.ko.md +276 -0
  128. package/spec/agents/lead/body.md +276 -0
  129. package/{assets → spec}/agents/postdoc/body.ko.md +116 -46
  130. package/spec/agents/postdoc/body.md +192 -0
  131. package/{assets → spec}/agents/researcher/body.ko.md +131 -45
  132. package/spec/agents/researcher/body.md +223 -0
  133. package/spec/agents/reviewer/body.ko.md +219 -0
  134. package/spec/agents/reviewer/body.md +219 -0
  135. package/{assets → spec}/agents/strategist/body.ko.md +108 -35
  136. package/spec/agents/strategist/body.md +187 -0
  137. package/spec/agents/tester/body.ko.md +272 -0
  138. package/spec/agents/tester/body.md +272 -0
  139. package/{assets → spec}/agents/writer/body.ko.md +109 -33
  140. package/spec/agents/writer/body.md +198 -0
  141. package/spec/skills/nx-auto-plan/body.ko.md +150 -0
  142. package/spec/skills/nx-auto-plan/body.md +150 -0
  143. package/spec/skills/nx-plan/body.ko.md +159 -0
  144. package/spec/skills/nx-plan/body.md +159 -0
  145. package/spec/skills/nx-run/body.ko.md +132 -0
  146. package/spec/skills/nx-run/body.md +132 -0
  147. package/vocabulary/enums/task-register-state.yml +4 -0
  148. package/vocabulary/invocations.yml +43 -0
  149. package/assets/agents/architect/body.md +0 -177
  150. package/assets/agents/designer/body.ko.md +0 -125
  151. package/assets/agents/designer/body.md +0 -125
  152. package/assets/agents/engineer/body.ko.md +0 -106
  153. package/assets/agents/engineer/body.md +0 -106
  154. package/assets/agents/lead/body.ko.md +0 -70
  155. package/assets/agents/lead/body.md +0 -70
  156. package/assets/agents/postdoc/body.md +0 -122
  157. package/assets/agents/researcher/body.md +0 -137
  158. package/assets/agents/reviewer/body.ko.md +0 -138
  159. package/assets/agents/reviewer/body.md +0 -138
  160. package/assets/agents/strategist/body.md +0 -116
  161. package/assets/agents/tester/body.ko.md +0 -195
  162. package/assets/agents/tester/body.md +0 -195
  163. package/assets/agents/writer/body.md +0 -122
  164. package/assets/capability-matrix.yml +0 -200
  165. package/assets/hooks/agent-bootstrap/handler.test.ts +0 -369
  166. package/assets/hooks/agent-bootstrap/handler.ts +0 -132
  167. package/assets/hooks/agent-bootstrap/meta.yml +0 -10
  168. package/assets/hooks/agent-finalize/handler.test.ts +0 -368
  169. package/assets/hooks/agent-finalize/handler.ts +0 -76
  170. package/assets/hooks/agent-finalize/meta.yml +0 -10
  171. package/assets/hooks/capability-matrix.yml +0 -313
  172. package/assets/hooks/post-tool-telemetry/handler.test.ts +0 -302
  173. package/assets/hooks/post-tool-telemetry/handler.ts +0 -49
  174. package/assets/hooks/post-tool-telemetry/meta.yml +0 -10
  175. package/assets/hooks/prompt-router/handler.test.ts +0 -801
  176. package/assets/hooks/prompt-router/handler.ts +0 -272
  177. package/assets/hooks/prompt-router/meta.yml +0 -11
  178. package/assets/hooks/session-init/handler.test.ts +0 -274
  179. package/assets/hooks/session-init/handler.ts +0 -31
  180. package/assets/hooks/session-init/meta.yml +0 -9
  181. package/assets/lsp-servers.json +0 -55
  182. package/assets/schema/lsp-servers.schema.json +0 -67
  183. package/assets/skills/nx-init/body.ko.md +0 -197
  184. package/assets/skills/nx-init/body.md +0 -197
  185. package/assets/skills/nx-plan/body.ko.md +0 -361
  186. package/assets/skills/nx-plan/body.md +0 -361
  187. package/assets/skills/nx-run/body.ko.md +0 -161
  188. package/assets/skills/nx-run/body.md +0 -160
  189. package/assets/skills/nx-sync/body.ko.md +0 -92
  190. package/assets/skills/nx-sync/body.md +0 -92
  191. package/assets/tools/tool-name-map.yml +0 -353
  192. package/dist/assets/hooks/agent-bootstrap/handler.d.ts +0 -4
  193. package/dist/assets/hooks/agent-bootstrap/handler.d.ts.map +0 -1
  194. package/dist/assets/hooks/agent-bootstrap/handler.js +0 -114
  195. package/dist/assets/hooks/agent-bootstrap/handler.js.map +0 -1
  196. package/dist/assets/hooks/agent-finalize/handler.d.ts +0 -4
  197. package/dist/assets/hooks/agent-finalize/handler.d.ts.map +0 -1
  198. package/dist/assets/hooks/agent-finalize/handler.js +0 -63
  199. package/dist/assets/hooks/agent-finalize/handler.js.map +0 -1
  200. package/dist/assets/hooks/post-tool-telemetry/handler.d.ts +0 -4
  201. package/dist/assets/hooks/post-tool-telemetry/handler.d.ts.map +0 -1
  202. package/dist/assets/hooks/post-tool-telemetry/handler.js +0 -40
  203. package/dist/assets/hooks/post-tool-telemetry/handler.js.map +0 -1
  204. package/dist/assets/hooks/prompt-router/handler.d.ts +0 -4
  205. package/dist/assets/hooks/prompt-router/handler.d.ts.map +0 -1
  206. package/dist/assets/hooks/prompt-router/handler.js +0 -214
  207. package/dist/assets/hooks/prompt-router/handler.js.map +0 -1
  208. package/dist/assets/hooks/session-init/handler.d.ts +0 -4
  209. package/dist/assets/hooks/session-init/handler.d.ts.map +0 -1
  210. package/dist/assets/hooks/session-init/handler.js +0 -22
  211. package/dist/assets/hooks/session-init/handler.js.map +0 -1
  212. package/dist/claude/.claude-plugin/marketplace.json +0 -75
  213. package/dist/claude/.claude-plugin/plugin.json +0 -67
  214. package/dist/claude/agents/architect.md +0 -172
  215. package/dist/claude/agents/designer.md +0 -120
  216. package/dist/claude/agents/engineer.md +0 -98
  217. package/dist/claude/agents/lead.md +0 -59
  218. package/dist/claude/agents/postdoc.md +0 -117
  219. package/dist/claude/agents/researcher.md +0 -132
  220. package/dist/claude/agents/reviewer.md +0 -133
  221. package/dist/claude/agents/strategist.md +0 -111
  222. package/dist/claude/agents/tester.md +0 -190
  223. package/dist/claude/agents/writer.md +0 -114
  224. package/dist/claude/dist/hooks/agent-bootstrap.js +0 -238
  225. package/dist/claude/dist/hooks/agent-finalize.js +0 -180
  226. package/dist/claude/dist/hooks/post-tool-telemetry.js +0 -71
  227. package/dist/claude/dist/hooks/prompt-router.js +0 -7336
  228. package/dist/claude/dist/hooks/session-init.js +0 -50
  229. package/dist/claude/hooks/hooks.json +0 -64
  230. package/dist/claude/settings.json +0 -3
  231. package/dist/claude/skills/nx-init/SKILL.md +0 -189
  232. package/dist/claude/skills/nx-plan/SKILL.md +0 -353
  233. package/dist/claude/skills/nx-run/SKILL.md +0 -154
  234. package/dist/claude/skills/nx-sync/SKILL.md +0 -87
  235. package/dist/codex/agents/architect.toml +0 -175
  236. package/dist/codex/agents/designer.toml +0 -123
  237. package/dist/codex/agents/engineer.toml +0 -105
  238. package/dist/codex/agents/lead.toml +0 -64
  239. package/dist/codex/agents/postdoc.toml +0 -120
  240. package/dist/codex/agents/researcher.toml +0 -136
  241. package/dist/codex/agents/reviewer.toml +0 -137
  242. package/dist/codex/agents/strategist.toml +0 -114
  243. package/dist/codex/agents/tester.toml +0 -194
  244. package/dist/codex/agents/writer.toml +0 -121
  245. package/dist/codex/dist/hooks/agent-bootstrap.js +0 -238
  246. package/dist/codex/dist/hooks/agent-finalize.js +0 -180
  247. package/dist/codex/dist/hooks/prompt-router.js +0 -7336
  248. package/dist/codex/dist/hooks/session-init.js +0 -50
  249. package/dist/codex/hooks/hooks.json +0 -28
  250. package/dist/codex/install/AGENTS.fragment.md +0 -60
  251. package/dist/codex/install/config.fragment.toml +0 -5
  252. package/dist/codex/install/install.sh +0 -60
  253. package/dist/codex/package.json +0 -20
  254. package/dist/codex/plugin/.codex-plugin/plugin.json +0 -57
  255. package/dist/codex/plugin/skills/nx-init/SKILL.md +0 -189
  256. package/dist/codex/plugin/skills/nx-plan/SKILL.md +0 -353
  257. package/dist/codex/plugin/skills/nx-run/SKILL.md +0 -154
  258. package/dist/codex/plugin/skills/nx-sync/SKILL.md +0 -87
  259. package/dist/codex/prompts/architect.md +0 -166
  260. package/dist/codex/prompts/designer.md +0 -114
  261. package/dist/codex/prompts/engineer.md +0 -97
  262. package/dist/codex/prompts/lead.md +0 -60
  263. package/dist/codex/prompts/postdoc.md +0 -111
  264. package/dist/codex/prompts/researcher.md +0 -127
  265. package/dist/codex/prompts/reviewer.md +0 -128
  266. package/dist/codex/prompts/strategist.md +0 -105
  267. package/dist/codex/prompts/tester.md +0 -185
  268. package/dist/codex/prompts/writer.md +0 -113
  269. package/dist/hooks/agent-bootstrap.js +0 -238
  270. package/dist/hooks/agent-finalize.js +0 -180
  271. package/dist/hooks/post-tool-telemetry.js +0 -71
  272. package/dist/hooks/prompt-router.js +0 -7336
  273. package/dist/hooks/session-init.js +0 -50
  274. package/dist/manifests/claude-hooks.json +0 -64
  275. package/dist/manifests/codex-hooks.json +0 -28
  276. package/dist/manifests/opencode-manifest.json +0 -54
  277. package/dist/manifests/portability-report.json +0 -75
  278. package/dist/opencode/.opencode/skills/nx-init/SKILL.md +0 -189
  279. package/dist/opencode/.opencode/skills/nx-plan/SKILL.md +0 -353
  280. package/dist/opencode/.opencode/skills/nx-run/SKILL.md +0 -154
  281. package/dist/opencode/.opencode/skills/nx-sync/SKILL.md +0 -87
  282. package/dist/opencode/package.json +0 -23
  283. package/dist/opencode/src/agents/architect.ts +0 -176
  284. package/dist/opencode/src/agents/designer.ts +0 -124
  285. package/dist/opencode/src/agents/engineer.ts +0 -105
  286. package/dist/opencode/src/agents/lead.ts +0 -66
  287. package/dist/opencode/src/agents/postdoc.ts +0 -121
  288. package/dist/opencode/src/agents/researcher.ts +0 -136
  289. package/dist/opencode/src/agents/reviewer.ts +0 -137
  290. package/dist/opencode/src/agents/strategist.ts +0 -115
  291. package/dist/opencode/src/agents/tester.ts +0 -194
  292. package/dist/opencode/src/agents/writer.ts +0 -121
  293. package/dist/opencode/src/index.ts +0 -25
  294. package/dist/opencode/src/plugin.ts +0 -6
  295. package/dist/scripts/build-agents.d.ts +0 -170
  296. package/dist/scripts/build-agents.d.ts.map +0 -1
  297. package/dist/scripts/build-agents.js +0 -907
  298. package/dist/scripts/build-agents.js.map +0 -1
  299. package/dist/scripts/build-hooks.d.ts +0 -57
  300. package/dist/scripts/build-hooks.d.ts.map +0 -1
  301. package/dist/scripts/build-hooks.js +0 -562
  302. package/dist/scripts/build-hooks.js.map +0 -1
  303. package/dist/scripts/cli.d.ts +0 -54
  304. package/dist/scripts/cli.d.ts.map +0 -1
  305. package/dist/scripts/cli.js +0 -504
  306. package/dist/scripts/cli.js.map +0 -1
  307. package/dist/scripts/smoke/smoke-claude.d.ts +0 -2
  308. package/dist/scripts/smoke/smoke-claude.d.ts.map +0 -1
  309. package/dist/scripts/smoke/smoke-claude.js +0 -58
  310. package/dist/scripts/smoke/smoke-claude.js.map +0 -1
  311. package/dist/scripts/smoke/smoke-codex.d.ts +0 -2
  312. package/dist/scripts/smoke/smoke-codex.d.ts.map +0 -1
  313. package/dist/scripts/smoke/smoke-codex.js +0 -50
  314. package/dist/scripts/smoke/smoke-codex.js.map +0 -1
  315. package/dist/scripts/smoke/smoke-consumer.d.ts +0 -2
  316. package/dist/scripts/smoke/smoke-consumer.d.ts.map +0 -1
  317. package/dist/scripts/smoke/smoke-consumer.js +0 -230
  318. package/dist/scripts/smoke/smoke-consumer.js.map +0 -1
  319. package/dist/scripts/smoke/smoke-opencode.d.ts +0 -2
  320. package/dist/scripts/smoke/smoke-opencode.d.ts.map +0 -1
  321. package/dist/scripts/smoke/smoke-opencode.js +0 -99
  322. package/dist/scripts/smoke/smoke-opencode.js.map +0 -1
  323. package/dist/src/hooks/opencode-mount.d.ts +0 -35
  324. package/dist/src/hooks/opencode-mount.d.ts.map +0 -1
  325. package/dist/src/hooks/opencode-mount.js +0 -352
  326. package/dist/src/hooks/opencode-mount.js.map +0 -1
  327. package/dist/src/hooks/runtime.d.ts +0 -37
  328. package/dist/src/hooks/runtime.d.ts.map +0 -1
  329. package/dist/src/hooks/runtime.js +0 -274
  330. package/dist/src/hooks/runtime.js.map +0 -1
  331. package/dist/src/hooks/types.d.ts +0 -196
  332. package/dist/src/hooks/types.d.ts.map +0 -1
  333. package/dist/src/hooks/types.js +0 -85
  334. package/dist/src/hooks/types.js.map +0 -1
  335. package/dist/src/lsp/cache.d.ts +0 -9
  336. package/dist/src/lsp/cache.d.ts.map +0 -1
  337. package/dist/src/lsp/cache.js +0 -216
  338. package/dist/src/lsp/cache.js.map +0 -1
  339. package/dist/src/lsp/client.d.ts +0 -24
  340. package/dist/src/lsp/client.d.ts.map +0 -1
  341. package/dist/src/lsp/client.js +0 -166
  342. package/dist/src/lsp/client.js.map +0 -1
  343. package/dist/src/lsp/detect.d.ts +0 -77
  344. package/dist/src/lsp/detect.d.ts.map +0 -1
  345. package/dist/src/lsp/detect.js +0 -116
  346. package/dist/src/lsp/detect.js.map +0 -1
  347. package/dist/src/mcp/server.d.ts.map +0 -1
  348. package/dist/src/mcp/server.js +0 -34
  349. package/dist/src/mcp/server.js.map +0 -1
  350. package/dist/src/mcp/tools/artifact.d.ts.map +0 -1
  351. package/dist/src/mcp/tools/artifact.js +0 -36
  352. package/dist/src/mcp/tools/artifact.js.map +0 -1
  353. package/dist/src/mcp/tools/history.d.ts.map +0 -1
  354. package/dist/src/mcp/tools/history.js +0 -29
  355. package/dist/src/mcp/tools/history.js.map +0 -1
  356. package/dist/src/mcp/tools/lsp.d.ts +0 -13
  357. package/dist/src/mcp/tools/lsp.d.ts.map +0 -1
  358. package/dist/src/mcp/tools/lsp.js +0 -225
  359. package/dist/src/mcp/tools/lsp.js.map +0 -1
  360. package/dist/src/mcp/tools/plan.d.ts.map +0 -1
  361. package/dist/src/mcp/tools/plan.js +0 -317
  362. package/dist/src/mcp/tools/plan.js.map +0 -1
  363. package/dist/src/mcp/tools/task.d.ts.map +0 -1
  364. package/dist/src/mcp/tools/task.js +0 -252
  365. package/dist/src/mcp/tools/task.js.map +0 -1
  366. package/dist/src/shared/invocations.d.ts +0 -74
  367. package/dist/src/shared/invocations.d.ts.map +0 -1
  368. package/dist/src/shared/invocations.js +0 -247
  369. package/dist/src/shared/invocations.js.map +0 -1
  370. package/dist/src/shared/json-store.d.ts.map +0 -1
  371. package/dist/src/shared/json-store.js.map +0 -1
  372. package/dist/src/shared/mcp-utils.d.ts.map +0 -1
  373. package/dist/src/shared/mcp-utils.js.map +0 -1
  374. package/dist/src/shared/package-root.d.ts +0 -6
  375. package/dist/src/shared/package-root.d.ts.map +0 -1
  376. package/dist/src/shared/package-root.js +0 -19
  377. package/dist/src/shared/package-root.js.map +0 -1
  378. package/dist/src/shared/paths.d.ts.map +0 -1
  379. package/dist/src/shared/paths.js +0 -117
  380. package/dist/src/shared/paths.js.map +0 -1
  381. package/dist/src/shared/tool-log.d.ts +0 -8
  382. package/dist/src/shared/tool-log.d.ts.map +0 -1
  383. package/dist/src/shared/tool-log.js +0 -22
  384. package/dist/src/shared/tool-log.js.map +0 -1
  385. package/dist/src/types/agent-config.d.ts +0 -22
  386. package/dist/src/types/agent-config.d.ts.map +0 -1
  387. package/dist/src/types/agent-config.js +0 -2
  388. package/dist/src/types/agent-config.js.map +0 -1
  389. package/dist/src/types/index.d.ts +0 -2
  390. package/dist/src/types/index.d.ts.map +0 -1
  391. package/dist/src/types/index.js +0 -2
  392. package/dist/src/types/index.js.map +0 -1
  393. package/dist/src/types/state.d.ts.map +0 -1
  394. package/dist/src/types/state.js.map +0 -1
  395. package/docs/consuming/codex-lead-merge.md +0 -106
  396. package/docs/contract/harness-io.md +0 -333
  397. package/docs/plugin-guide.md +0 -355
  398. package/docs/plugin-template/claude/.github/workflows/build.yml +0 -60
  399. package/docs/plugin-template/claude/README.md +0 -110
  400. package/docs/plugin-template/claude/package.json +0 -16
  401. package/docs/plugin-template/codex/.github/workflows/build.yml +0 -51
  402. package/docs/plugin-template/codex/README.md +0 -147
  403. package/docs/plugin-template/codex/install/install.sh +0 -60
  404. package/docs/plugin-template/codex/package.json +0 -17
  405. package/docs/plugin-template/opencode/.github/workflows/build.yml +0 -61
  406. package/docs/plugin-template/opencode/README.md +0 -121
  407. package/docs/plugin-template/opencode/package.json +0 -25
  408. package/docs/plugin-template/opencode/src/plugin.ts +0 -6
  409. /package/dist/{src/mcp/tools → mcp/handlers}/artifact.d.ts +0 -0
  410. /package/dist/{src/mcp/tools → mcp/handlers}/history.d.ts +0 -0
  411. /package/dist/{src/mcp/tools → mcp/handlers}/plan.d.ts +0 -0
  412. /package/dist/{src/mcp/tools → mcp/handlers}/task.d.ts +0 -0
  413. /package/dist/{src/shared → shared}/json-store.d.ts +0 -0
  414. /package/dist/{src/shared → shared}/mcp-utils.d.ts +0 -0
  415. /package/dist/{src/shared → shared}/mcp-utils.js +0 -0
@@ -1,352 +0,0 @@
1
- /**
2
- * OpenCode plugin adapter — mounts nexus hooks into OpenCode's plugin API.
3
- *
4
- * 결정 참조: plan.json Issue #1 (3-레이어 책임 분담),
5
- * Issue #3 (OpenCode 2단 처리 — SubagentStart/Stop, agent-tracker),
6
- * Issue #6 (additional_context 주입 우회 — SubagentStop output.output append)
7
- */
8
- import { spawn } from "node:child_process";
9
- import { mkdirSync } from "node:fs";
10
- import { dirname, join } from "node:path";
11
- import { fileURLToPath } from "node:url";
12
- import { updateJsonFileLocked } from "../shared/json-store.js";
13
- // ---------------------------------------------------------------------------
14
- // resolveManifestPath — handlerPath absolutizer
15
- // ---------------------------------------------------------------------------
16
- /**
17
- * Resolve a manifest-relative handlerPath to an absolute filesystem path.
18
- *
19
- * The manifest JSON lives at dist/manifests/opencode-manifest.json.
20
- * This module lives at dist/src/hooks/opencode-mount.js.
21
- * We construct the manifest's URL relative to this module, then resolve
22
- * the handlerPath relative to that manifest URL.
23
- */
24
- function resolveManifestPath(relPath) {
25
- const manifestUrl = new URL("../../manifests/opencode-manifest.json", import.meta.url);
26
- return fileURLToPath(new URL(relPath, manifestUrl));
27
- }
28
- // ---------------------------------------------------------------------------
29
- // mountHooks — primary export
30
- // ---------------------------------------------------------------------------
31
- /**
32
- * Mount nexus hooks into OpenCode's plugin API.
33
- *
34
- * Returns an object whose keys are OpenCode plugin hook names. Each value is
35
- * the async handler function OpenCode calls when the corresponding event fires.
36
- *
37
- * @param pluginCtx OpenCode plugin context (must expose `.directory: string`)
38
- * @param manifest Hook manifest produced by build-hooks.ts
39
- */
40
- export function mountHooks(pluginCtx, manifest) {
41
- // Resolve all handlerPaths to absolute paths so spawn() works regardless of CWD.
42
- const resolvedManifest = {
43
- hooks: manifest.hooks.map((h) => ({ ...h, handlerPath: resolveManifestPath(h.handlerPath) })),
44
- };
45
- // Buffer for additional_context produced by SessionStart / UserPromptSubmit hooks.
46
- // Flushed into the system prompt on each LLM call via chat.system.transform.
47
- const systemTransformBuffer = [];
48
- return {
49
- // ------------------------------------------------------------------
50
- // session.created → SessionStart
51
- // ------------------------------------------------------------------
52
- "event": async (input) => {
53
- const ev = input;
54
- if (ev["event"]?.["type"] !== "session.created") {
55
- return;
56
- }
57
- const sessionEvent = ev["event"];
58
- const sessionId = sessionEvent["sessionID"] ?? "";
59
- await dispatchEvent("SessionStart", resolvedManifest, {
60
- hook_event_name: "SessionStart",
61
- session_id: sessionId,
62
- cwd: pluginCtx.directory,
63
- source: "startup",
64
- }, { systemTransformBuffer });
65
- },
66
- // ------------------------------------------------------------------
67
- // chat.message → UserPromptSubmit
68
- // ------------------------------------------------------------------
69
- "chat.message": async (input) => {
70
- const msg = input;
71
- const sessionId = msg["sessionID"] ?? "";
72
- const prompt = msg["message"] ?? "";
73
- await dispatchEvent("UserPromptSubmit", resolvedManifest, {
74
- hook_event_name: "UserPromptSubmit",
75
- session_id: sessionId,
76
- cwd: pluginCtx.directory,
77
- prompt,
78
- }, { systemTransformBuffer });
79
- },
80
- // ------------------------------------------------------------------
81
- // tool.execute.before → PreToolUse (or SubagentStart when tool=task)
82
- // ------------------------------------------------------------------
83
- "tool.execute.before": async (input, output) => {
84
- const inp = input;
85
- const out = output;
86
- const sessionId = inp["sessionID"] ?? "";
87
- const toolName = inp["tool"] ?? "";
88
- const isTask = toolName === "task";
89
- const args = out["args"] ?? {};
90
- if (isTask) {
91
- await dispatchEvent("SubagentStart", resolvedManifest, {
92
- hook_event_name: "SubagentStart",
93
- session_id: sessionId,
94
- cwd: pluginCtx.directory,
95
- // agent_id is unknown until tool.execute.after resolves the subagent session
96
- agent_id: "",
97
- agent_type: args["subagent_type"] ?? "",
98
- }, { outputArgsRef: args });
99
- }
100
- else {
101
- await dispatchEvent("PreToolUse", resolvedManifest, {
102
- hook_event_name: "PreToolUse",
103
- session_id: sessionId,
104
- cwd: pluginCtx.directory,
105
- tool_name: normalizeOpenCodeToolName(toolName),
106
- tool_input: args,
107
- }, { outputArgsRef: args });
108
- }
109
- },
110
- // ------------------------------------------------------------------
111
- // tool.execute.after → PostToolUse (or SubagentStop when tool=task)
112
- // ------------------------------------------------------------------
113
- "tool.execute.after": async (input, output) => {
114
- const inp = input;
115
- const out = output;
116
- const sessionId = inp["sessionID"] ?? "";
117
- const toolName = inp["tool"] ?? "";
118
- const isTask = toolName === "task";
119
- const args = out["args"] ?? {};
120
- const metadata = out["metadata"] ?? {};
121
- const agentId = metadata["sessionId"] ?? "";
122
- if (isTask) {
123
- // Register / update agent-tracker before dispatching SubagentStop
124
- await upsertAgentTracker(pluginCtx.directory, sessionId, agentId, args["subagent_type"] ?? "");
125
- await dispatchEvent("SubagentStop", resolvedManifest, {
126
- hook_event_name: "SubagentStop",
127
- session_id: sessionId,
128
- cwd: pluginCtx.directory,
129
- agent_id: agentId,
130
- agent_type: args["subagent_type"] ?? "",
131
- last_assistant_message: out["output"] ?? "",
132
- },
133
- // additional_context appended to output.output (bypass #6)
134
- { outputOutputRef: out });
135
- }
136
- else {
137
- await dispatchEvent("PostToolUse", resolvedManifest, {
138
- hook_event_name: "PostToolUse",
139
- session_id: sessionId,
140
- cwd: pluginCtx.directory,
141
- tool_name: normalizeOpenCodeToolName(toolName),
142
- tool_input: args,
143
- tool_response: out["output"] ?? "",
144
- }, {});
145
- }
146
- },
147
- // ------------------------------------------------------------------
148
- // experimental.chat.system.transform — flush buffer into system prompt
149
- // ------------------------------------------------------------------
150
- "experimental.chat.system.transform": async (_input, output) => {
151
- const out = output;
152
- if (!Array.isArray(out.system))
153
- return;
154
- while (systemTransformBuffer.length > 0) {
155
- out.system.push(systemTransformBuffer.shift());
156
- }
157
- },
158
- };
159
- }
160
- // ---------------------------------------------------------------------------
161
- // dispatchEvent
162
- // ---------------------------------------------------------------------------
163
- async function dispatchEvent(nexusEventName, manifest, nexusInput, sideEffects) {
164
- // Sort hooks by priority (ascending) so lower numbers run first
165
- const candidates = manifest.hooks
166
- .filter((h) => h.events.includes(nexusEventName))
167
- .sort((a, b) => a.priority - b.priority);
168
- for (const hook of candidates) {
169
- const toolOrSource = nexusInput["tool_name"] ??
170
- nexusInput["source"] ??
171
- "";
172
- if (!matchesPattern(hook.matcher, toolOrSource))
173
- continue;
174
- const timeoutMs = (hook.timeout ?? 30) * 1000;
175
- const result = await spawnHandler(hook.handlerPath, nexusInput, timeoutMs);
176
- if (result == null)
177
- continue;
178
- applyResult(result, nexusEventName, sideEffects);
179
- }
180
- }
181
- // ---------------------------------------------------------------------------
182
- // spawnHandler
183
- // ---------------------------------------------------------------------------
184
- async function spawnHandler(handlerPath, nexusInput, timeoutMs) {
185
- return new Promise((resolve) => {
186
- let child;
187
- try {
188
- child = spawn("node", [handlerPath], {
189
- env: { ...process.env, NEXUS_HARNESS: "opencode" },
190
- stdio: ["pipe", "pipe", "pipe"],
191
- });
192
- }
193
- catch {
194
- // spawn itself threw (e.g. node not found) — silent
195
- resolve(null);
196
- return;
197
- }
198
- let stdout = "";
199
- let timedOut = false;
200
- const timer = setTimeout(() => {
201
- timedOut = true;
202
- try {
203
- child.kill();
204
- }
205
- catch {
206
- // ignore
207
- }
208
- resolve(null);
209
- }, timeoutMs);
210
- if (!child.stdout || !child.stdin) {
211
- clearTimeout(timer);
212
- resolve(null);
213
- return;
214
- }
215
- child.stdout.on("data", (chunk) => {
216
- stdout += chunk.toString();
217
- });
218
- child.stdin.write(JSON.stringify(nexusInput));
219
- child.stdin.end();
220
- child.on("exit", () => {
221
- clearTimeout(timer);
222
- if (timedOut)
223
- return;
224
- try {
225
- resolve(stdout ? JSON.parse(stdout) : null);
226
- }
227
- catch {
228
- resolve(null);
229
- }
230
- });
231
- child.on("error", () => {
232
- clearTimeout(timer);
233
- resolve(null); // spawn failure — silent, keep OpenCode turn alive
234
- });
235
- });
236
- }
237
- // ---------------------------------------------------------------------------
238
- // applyResult — convert nexus output to OpenCode API side effects
239
- // ---------------------------------------------------------------------------
240
- function applyResult(result, nexusEventName, sideEffects) {
241
- // decision:block → throw (OpenCode sees an error and halts the turn)
242
- if (result["decision"] === "block") {
243
- const reason = result["block_reason"] ?? "Blocked by nexus hook";
244
- throw new Error(reason);
245
- }
246
- // continue:false → throw
247
- if (result["continue"] === false) {
248
- const msg = result["system_message"] ?? "Hook requested stop";
249
- throw new Error(msg);
250
- }
251
- // additional_context
252
- const additionalContext = result["additional_context"];
253
- if (additionalContext) {
254
- if (nexusEventName === "SessionStart" || nexusEventName === "UserPromptSubmit") {
255
- // Push to system.transform buffer
256
- sideEffects.systemTransformBuffer?.push(additionalContext);
257
- }
258
- else if (nexusEventName === "SubagentStart") {
259
- // Prepend to args.prompt so the subagent receives the context
260
- if (sideEffects.outputArgsRef) {
261
- const existing = sideEffects.outputArgsRef["prompt"] ?? "";
262
- sideEffects.outputArgsRef["prompt"] = additionalContext + "\n\n" + existing;
263
- }
264
- }
265
- else if (nexusEventName === "SubagentStop") {
266
- // Append to output.output (bypass #6)
267
- if (sideEffects.outputOutputRef) {
268
- const existing = sideEffects.outputOutputRef["output"] ?? "";
269
- sideEffects.outputOutputRef["output"] = existing + "\n\n" + additionalContext;
270
- }
271
- }
272
- }
273
- // updated_input → mutate output.args (PreToolUse only)
274
- const updatedInput = result["updated_input"];
275
- if (updatedInput && nexusEventName === "PreToolUse" && sideEffects.outputArgsRef) {
276
- Object.assign(sideEffects.outputArgsRef, updatedInput);
277
- }
278
- }
279
- // ---------------------------------------------------------------------------
280
- // upsertAgentTracker
281
- // ---------------------------------------------------------------------------
282
- async function upsertAgentTracker(cwd, sessionId, agentId, agentType) {
283
- if (!agentId)
284
- return; // agent_id not yet resolved — skip silently
285
- const trackerPath = join(cwd, ".nexus", "state", sessionId, "agent-tracker.json");
286
- try {
287
- mkdirSync(dirname(trackerPath), { recursive: true });
288
- await updateJsonFileLocked(trackerPath, [], (tracker) => {
289
- const existing = tracker.find((e) => e.agent_id === agentId);
290
- if (!existing) {
291
- tracker.push({
292
- agent_id: agentId,
293
- agent_type: agentType,
294
- started_at: new Date().toISOString(),
295
- resume_count: 0,
296
- status: "running",
297
- });
298
- }
299
- else {
300
- existing.resume_count = (existing.resume_count ?? 0) + 1;
301
- existing.last_resumed_at = new Date().toISOString();
302
- }
303
- return tracker;
304
- });
305
- }
306
- catch {
307
- // tracker update failure must never disrupt the OpenCode turn
308
- }
309
- }
310
- /**
311
- * Test whether a nexus matcher pattern matches the given value.
312
- * Pattern "*" matches everything.
313
- * Otherwise the pattern is treated as a pipe-separated list of literals
314
- * (e.g. "Read|Write|Edit") or a simple regex.
315
- */
316
- function matchesPattern(pattern, value) {
317
- if (pattern === "*")
318
- return true;
319
- // Try literal pipe-separated list first (most common case)
320
- const literals = pattern.split("|");
321
- if (literals.every((l) => /^[A-Za-z0-9_-]+$/.test(l))) {
322
- return literals.includes(value);
323
- }
324
- // Fall back to regex
325
- try {
326
- return new RegExp(pattern).test(value);
327
- }
328
- catch {
329
- return false;
330
- }
331
- }
332
- /**
333
- * Normalize OpenCode lowercase tool names to nexus PascalCase equivalents.
334
- * OpenCode uses snake_case/lowercase internally; nexus standard is PascalCase.
335
- */
336
- function normalizeOpenCodeToolName(name) {
337
- const aliasMap = {
338
- read: "Read",
339
- edit: "Edit",
340
- write: "Write",
341
- bash: "Bash",
342
- glob: "Glob",
343
- grep: "Grep",
344
- ls: "LS",
345
- task: "Task",
346
- web_fetch: "WebFetch",
347
- web_search: "WebSearch",
348
- patch: "Edit",
349
- };
350
- return aliasMap[name] ?? name;
351
- }
352
- //# sourceMappingURL=opencode-mount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"opencode-mount.js","sourceRoot":"","sources":["../../../src/hooks/opencode-mount.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Nexus Hook shell wrapper entry — reads stdin, normalizes for harness,
3
- * dispatches to handler, and serializes stdout per NEXUS_HARNESS.
4
- *
5
- * 결정 참조: plan.json Issue #1 (3-레이어 책임 분담),
6
- * Issue #3 (Bash parse patterns), Issue #4 (Codex tool aliases)
7
- */
8
- import type { NexusHookInput, NexusHookOutput } from "./types.js";
9
- export interface RunWrapperOptions {
10
- /** Absolute path to the compiled handler .js file. */
11
- handlerPath: string;
12
- /** Optional absolute path to meta.yml; enables condition.state_file_exists check. */
13
- metaPath?: string;
14
- }
15
- export declare function runWrapper(options: RunWrapperOptions): Promise<void>;
16
- export interface ParsedBashCommand {
17
- tool: string;
18
- target?: string;
19
- }
20
- /** Parse a Bash command string into a nexus standard tool name.
21
- * Returns null when the command is a compound/piped command or unrecognised. */
22
- export declare function parseBashCommand(command: string): ParsedBashCommand | null;
23
- /** Map Codex native tool aliases to nexus PascalCase equivalents. */
24
- declare function normalizeCodexToolName(name: string): string;
25
- /** When tool_name is "Bash" and tool_input.command is present, attempt to
26
- * resolve a more specific nexus standard tool_name via bash_parse_patterns. */
27
- declare function normalizeBashToolName(input: NexusHookInput, _harness: string): NexusHookInput;
28
- declare function serializeForClaude(out: NexusHookOutput, eventName: string): Record<string, unknown>;
29
- declare function serializeForCodex(out: NexusHookOutput, eventName: string): Record<string, unknown>;
30
- export declare const __test: {
31
- serializeForClaude: typeof serializeForClaude;
32
- serializeForCodex: typeof serializeForCodex;
33
- normalizeBashToolName: typeof normalizeBashToolName;
34
- normalizeCodexToolName: typeof normalizeCodexToolName;
35
- };
36
- export {};
37
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/hooks/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;AAU/E,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC1E;AAMD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;iFACiF;AACjF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAiB1E;AAqFD,qEAAqE;AACrE,iBAAS,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBpD;AAED;gFACgF;AAChF,iBAAS,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAatF;AA2CD,iBAAS,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2B5F;AAED,iBAAS,iBAAiB,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyB3F;AAmBD,eAAO,MAAM,MAAM;;;;;CAKlB,CAAC"}