@moreih29/nexus-core 0.16.2 → 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 (413) 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 -4
  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 -198
  165. package/assets/hooks/agent-bootstrap/handler.test.ts +0 -368
  166. package/assets/hooks/agent-bootstrap/handler.ts +0 -119
  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 -11
  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 -30
  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 -100
  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 -23
  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 -121
  225. package/dist/claude/dist/hooks/agent-finalize.js +0 -180
  226. package/dist/claude/dist/hooks/prompt-router.js +0 -7336
  227. package/dist/claude/dist/hooks/session-init.js +0 -37
  228. package/dist/claude/hooks/hooks.json +0 -52
  229. package/dist/claude/settings.json +0 -3
  230. package/dist/claude/skills/nx-init/SKILL.md +0 -189
  231. package/dist/claude/skills/nx-plan/SKILL.md +0 -353
  232. package/dist/claude/skills/nx-run/SKILL.md +0 -154
  233. package/dist/claude/skills/nx-sync/SKILL.md +0 -87
  234. package/dist/codex/agents/architect.toml +0 -175
  235. package/dist/codex/agents/designer.toml +0 -123
  236. package/dist/codex/agents/engineer.toml +0 -105
  237. package/dist/codex/agents/lead.toml +0 -64
  238. package/dist/codex/agents/postdoc.toml +0 -120
  239. package/dist/codex/agents/researcher.toml +0 -136
  240. package/dist/codex/agents/reviewer.toml +0 -137
  241. package/dist/codex/agents/strategist.toml +0 -114
  242. package/dist/codex/agents/tester.toml +0 -194
  243. package/dist/codex/agents/writer.toml +0 -121
  244. package/dist/codex/dist/hooks/agent-bootstrap.js +0 -121
  245. package/dist/codex/dist/hooks/agent-finalize.js +0 -180
  246. package/dist/codex/dist/hooks/prompt-router.js +0 -7336
  247. package/dist/codex/dist/hooks/session-init.js +0 -37
  248. package/dist/codex/hooks/hooks.json +0 -28
  249. package/dist/codex/install/AGENTS.fragment.md +0 -60
  250. package/dist/codex/install/config.fragment.toml +0 -5
  251. package/dist/codex/install/install.sh +0 -60
  252. package/dist/codex/package.json +0 -20
  253. package/dist/codex/plugin/.codex-plugin/plugin.json +0 -57
  254. package/dist/codex/plugin/skills/nx-init/SKILL.md +0 -189
  255. package/dist/codex/plugin/skills/nx-plan/SKILL.md +0 -353
  256. package/dist/codex/plugin/skills/nx-run/SKILL.md +0 -154
  257. package/dist/codex/plugin/skills/nx-sync/SKILL.md +0 -87
  258. package/dist/codex/prompts/architect.md +0 -166
  259. package/dist/codex/prompts/designer.md +0 -114
  260. package/dist/codex/prompts/engineer.md +0 -97
  261. package/dist/codex/prompts/lead.md +0 -60
  262. package/dist/codex/prompts/postdoc.md +0 -111
  263. package/dist/codex/prompts/researcher.md +0 -127
  264. package/dist/codex/prompts/reviewer.md +0 -128
  265. package/dist/codex/prompts/strategist.md +0 -105
  266. package/dist/codex/prompts/tester.md +0 -185
  267. package/dist/codex/prompts/writer.md +0 -113
  268. package/dist/hooks/agent-bootstrap.js +0 -121
  269. package/dist/hooks/agent-finalize.js +0 -180
  270. package/dist/hooks/prompt-router.js +0 -7336
  271. package/dist/hooks/session-init.js +0 -37
  272. package/dist/manifests/claude-hooks.json +0 -52
  273. package/dist/manifests/codex-hooks.json +0 -28
  274. package/dist/manifests/opencode-manifest.json +0 -44
  275. package/dist/manifests/portability-report.json +0 -87
  276. package/dist/opencode/.opencode/skills/nx-init/SKILL.md +0 -189
  277. package/dist/opencode/.opencode/skills/nx-plan/SKILL.md +0 -353
  278. package/dist/opencode/.opencode/skills/nx-run/SKILL.md +0 -154
  279. package/dist/opencode/.opencode/skills/nx-sync/SKILL.md +0 -87
  280. package/dist/opencode/package.json +0 -23
  281. package/dist/opencode/src/agents/architect.ts +0 -176
  282. package/dist/opencode/src/agents/designer.ts +0 -124
  283. package/dist/opencode/src/agents/engineer.ts +0 -105
  284. package/dist/opencode/src/agents/lead.ts +0 -66
  285. package/dist/opencode/src/agents/postdoc.ts +0 -121
  286. package/dist/opencode/src/agents/researcher.ts +0 -136
  287. package/dist/opencode/src/agents/reviewer.ts +0 -137
  288. package/dist/opencode/src/agents/strategist.ts +0 -115
  289. package/dist/opencode/src/agents/tester.ts +0 -194
  290. package/dist/opencode/src/agents/writer.ts +0 -121
  291. package/dist/opencode/src/index.ts +0 -25
  292. package/dist/opencode/src/plugin.ts +0 -6
  293. package/dist/scripts/build-agents.d.ts +0 -164
  294. package/dist/scripts/build-agents.d.ts.map +0 -1
  295. package/dist/scripts/build-agents.js +0 -890
  296. package/dist/scripts/build-agents.js.map +0 -1
  297. package/dist/scripts/build-hooks.d.ts +0 -57
  298. package/dist/scripts/build-hooks.d.ts.map +0 -1
  299. package/dist/scripts/build-hooks.js +0 -555
  300. package/dist/scripts/build-hooks.js.map +0 -1
  301. package/dist/scripts/cli.d.ts +0 -54
  302. package/dist/scripts/cli.d.ts.map +0 -1
  303. package/dist/scripts/cli.js +0 -504
  304. package/dist/scripts/cli.js.map +0 -1
  305. package/dist/scripts/smoke/smoke-claude.d.ts +0 -2
  306. package/dist/scripts/smoke/smoke-claude.d.ts.map +0 -1
  307. package/dist/scripts/smoke/smoke-claude.js +0 -58
  308. package/dist/scripts/smoke/smoke-claude.js.map +0 -1
  309. package/dist/scripts/smoke/smoke-codex.d.ts +0 -2
  310. package/dist/scripts/smoke/smoke-codex.d.ts.map +0 -1
  311. package/dist/scripts/smoke/smoke-codex.js +0 -50
  312. package/dist/scripts/smoke/smoke-codex.js.map +0 -1
  313. package/dist/scripts/smoke/smoke-consumer.d.ts +0 -2
  314. package/dist/scripts/smoke/smoke-consumer.d.ts.map +0 -1
  315. package/dist/scripts/smoke/smoke-consumer.js +0 -80
  316. package/dist/scripts/smoke/smoke-consumer.js.map +0 -1
  317. package/dist/scripts/smoke/smoke-opencode.d.ts +0 -2
  318. package/dist/scripts/smoke/smoke-opencode.d.ts.map +0 -1
  319. package/dist/scripts/smoke/smoke-opencode.js +0 -99
  320. package/dist/scripts/smoke/smoke-opencode.js.map +0 -1
  321. package/dist/src/hooks/opencode-mount.d.ts +0 -35
  322. package/dist/src/hooks/opencode-mount.d.ts.map +0 -1
  323. package/dist/src/hooks/opencode-mount.js +0 -352
  324. package/dist/src/hooks/opencode-mount.js.map +0 -1
  325. package/dist/src/hooks/runtime.d.ts +0 -37
  326. package/dist/src/hooks/runtime.d.ts.map +0 -1
  327. package/dist/src/hooks/runtime.js +0 -274
  328. package/dist/src/hooks/runtime.js.map +0 -1
  329. package/dist/src/hooks/types.d.ts +0 -196
  330. package/dist/src/hooks/types.d.ts.map +0 -1
  331. package/dist/src/hooks/types.js +0 -85
  332. package/dist/src/hooks/types.js.map +0 -1
  333. package/dist/src/lsp/cache.d.ts +0 -9
  334. package/dist/src/lsp/cache.d.ts.map +0 -1
  335. package/dist/src/lsp/cache.js +0 -216
  336. package/dist/src/lsp/cache.js.map +0 -1
  337. package/dist/src/lsp/client.d.ts +0 -24
  338. package/dist/src/lsp/client.d.ts.map +0 -1
  339. package/dist/src/lsp/client.js +0 -166
  340. package/dist/src/lsp/client.js.map +0 -1
  341. package/dist/src/lsp/detect.d.ts +0 -77
  342. package/dist/src/lsp/detect.d.ts.map +0 -1
  343. package/dist/src/lsp/detect.js +0 -116
  344. package/dist/src/lsp/detect.js.map +0 -1
  345. package/dist/src/mcp/server.d.ts.map +0 -1
  346. package/dist/src/mcp/server.js +0 -34
  347. package/dist/src/mcp/server.js.map +0 -1
  348. package/dist/src/mcp/tools/artifact.d.ts.map +0 -1
  349. package/dist/src/mcp/tools/artifact.js +0 -36
  350. package/dist/src/mcp/tools/artifact.js.map +0 -1
  351. package/dist/src/mcp/tools/history.d.ts.map +0 -1
  352. package/dist/src/mcp/tools/history.js +0 -29
  353. package/dist/src/mcp/tools/history.js.map +0 -1
  354. package/dist/src/mcp/tools/lsp.d.ts +0 -13
  355. package/dist/src/mcp/tools/lsp.d.ts.map +0 -1
  356. package/dist/src/mcp/tools/lsp.js +0 -225
  357. package/dist/src/mcp/tools/lsp.js.map +0 -1
  358. package/dist/src/mcp/tools/plan.d.ts.map +0 -1
  359. package/dist/src/mcp/tools/plan.js +0 -317
  360. package/dist/src/mcp/tools/plan.js.map +0 -1
  361. package/dist/src/mcp/tools/task.d.ts.map +0 -1
  362. package/dist/src/mcp/tools/task.js +0 -252
  363. package/dist/src/mcp/tools/task.js.map +0 -1
  364. package/dist/src/shared/invocations.d.ts +0 -74
  365. package/dist/src/shared/invocations.d.ts.map +0 -1
  366. package/dist/src/shared/invocations.js +0 -247
  367. package/dist/src/shared/invocations.js.map +0 -1
  368. package/dist/src/shared/json-store.d.ts.map +0 -1
  369. package/dist/src/shared/json-store.js.map +0 -1
  370. package/dist/src/shared/mcp-utils.d.ts.map +0 -1
  371. package/dist/src/shared/mcp-utils.js.map +0 -1
  372. package/dist/src/shared/package-root.d.ts +0 -6
  373. package/dist/src/shared/package-root.d.ts.map +0 -1
  374. package/dist/src/shared/package-root.js +0 -19
  375. package/dist/src/shared/package-root.js.map +0 -1
  376. package/dist/src/shared/paths.d.ts.map +0 -1
  377. package/dist/src/shared/paths.js +0 -81
  378. package/dist/src/shared/paths.js.map +0 -1
  379. package/dist/src/shared/tool-log.d.ts +0 -8
  380. package/dist/src/shared/tool-log.d.ts.map +0 -1
  381. package/dist/src/shared/tool-log.js +0 -22
  382. package/dist/src/shared/tool-log.js.map +0 -1
  383. package/dist/src/types/agent-config.d.ts +0 -22
  384. package/dist/src/types/agent-config.d.ts.map +0 -1
  385. package/dist/src/types/agent-config.js +0 -2
  386. package/dist/src/types/agent-config.js.map +0 -1
  387. package/dist/src/types/index.d.ts +0 -2
  388. package/dist/src/types/index.d.ts.map +0 -1
  389. package/dist/src/types/index.js +0 -2
  390. package/dist/src/types/index.js.map +0 -1
  391. package/dist/src/types/state.d.ts.map +0 -1
  392. package/dist/src/types/state.js.map +0 -1
  393. package/docs/consuming/codex-lead-merge.md +0 -106
  394. package/docs/contract/harness-io.md +0 -333
  395. package/docs/plugin-guide.md +0 -355
  396. package/docs/plugin-template/claude/.github/workflows/build.yml +0 -60
  397. package/docs/plugin-template/claude/README.md +0 -110
  398. package/docs/plugin-template/claude/package.json +0 -16
  399. package/docs/plugin-template/codex/.github/workflows/build.yml +0 -51
  400. package/docs/plugin-template/codex/README.md +0 -147
  401. package/docs/plugin-template/codex/install/install.sh +0 -60
  402. package/docs/plugin-template/codex/package.json +0 -17
  403. package/docs/plugin-template/opencode/.github/workflows/build.yml +0 -61
  404. package/docs/plugin-template/opencode/README.md +0 -121
  405. package/docs/plugin-template/opencode/package.json +0 -25
  406. package/docs/plugin-template/opencode/src/plugin.ts +0 -6
  407. /package/dist/{src/mcp/tools → mcp/handlers}/artifact.d.ts +0 -0
  408. /package/dist/{src/mcp/tools → mcp/handlers}/history.d.ts +0 -0
  409. /package/dist/{src/mcp/tools → mcp/handlers}/plan.d.ts +0 -0
  410. /package/dist/{src/mcp/tools → mcp/handlers}/task.d.ts +0 -0
  411. /package/dist/{src/shared → shared}/json-store.d.ts +0 -0
  412. /package/dist/{src/shared → shared}/mcp-utils.d.ts +0 -0
  413. /package/dist/{src/shared → shared}/mcp-utils.js +0 -0
@@ -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"}
@@ -1,274 +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 { NexusHookInputSchema, NexusHookOutputSchema, HookMetaSchema } from "./types.js";
9
- import { readFileSync, existsSync } from "node:fs";
10
- import { resolve, dirname } from "node:path";
11
- import { createRequire } from "node:module";
12
- import { parse as parseYaml } from "yaml";
13
- export async function runWrapper(options) {
14
- try {
15
- const stdin = await readStdin();
16
- const rawInput = JSON.parse(stdin);
17
- const harness = resolveHarness();
18
- const normalized = normalizeInput(rawInput, harness);
19
- const validated = NexusHookInputSchema.parse(normalized);
20
- if (await shouldSkipByCondition(options.metaPath, validated.cwd)) {
21
- process.exit(0);
22
- }
23
- // Normalize Bash tool_name when applicable
24
- const input = normalizeBashToolName(validated, harness);
25
- // Dynamic import — must be file:// URL in ESM to handle absolute paths
26
- const handlerUrl = options.handlerPath.startsWith("file://")
27
- ? options.handlerPath
28
- : `file://${options.handlerPath}`;
29
- const handlerModule = await import(handlerUrl);
30
- const handler = handlerModule.default ?? handlerModule.handler;
31
- if (typeof handler !== "function") {
32
- throw new Error(`handler export not found in ${options.handlerPath}`);
33
- }
34
- const rawOutput = await handler(input);
35
- if (rawOutput == null) {
36
- process.exit(0);
37
- }
38
- const output = NexusHookOutputSchema.parse(rawOutput);
39
- const stdout = serializeForHarness(output, harness, input.hook_event_name);
40
- process.stdout.write(JSON.stringify(stdout));
41
- process.exit(0);
42
- }
43
- catch (err) {
44
- process.stderr.write(`[nexus-hook] ${String(err)}\n`);
45
- process.exit(0); // never kill the turn
46
- }
47
- }
48
- /** Parse a Bash command string into a nexus standard tool name.
49
- * Returns null when the command is a compound/piped command or unrecognised. */
50
- export function parseBashCommand(command) {
51
- const patterns = loadBashParsePatterns();
52
- const trimmed = command.trim();
53
- // Reject compound commands (pipes, &&, ||, ;) — best-effort single-entrypoint only
54
- if (/[|;&]/.test(trimmed)) {
55
- return null;
56
- }
57
- for (const [toolName, regexList] of Object.entries(patterns)) {
58
- for (const regex of regexList) {
59
- if (regex.test(trimmed)) {
60
- return { tool: toolName };
61
- }
62
- }
63
- }
64
- return null;
65
- }
66
- // ---------------------------------------------------------------------------
67
- // Internal helpers
68
- // ---------------------------------------------------------------------------
69
- /** Cached bash_parse_patterns from tool-name-map.yml */
70
- let _bashParsePatternsCache = null;
71
- function loadBashParsePatterns() {
72
- if (_bashParsePatternsCache)
73
- return _bashParsePatternsCache;
74
- const ymlPath = resolveAssetPath("assets/tools/tool-name-map.yml");
75
- const raw = readFileSync(ymlPath, "utf8");
76
- const parsed = parseYaml(raw);
77
- const result = {};
78
- for (const [tool, patterns] of Object.entries(parsed.bash_parse_patterns ?? {})) {
79
- result[tool] = patterns.map((p) => new RegExp(p));
80
- }
81
- _bashParsePatternsCache = result;
82
- return result;
83
- }
84
- /** Resolve a path relative to the nexus-core package root.
85
- * Works whether running from src/ (ts-node/bun) or dist/ (compiled). */
86
- function resolveAssetPath(relativePath) {
87
- // Try createRequire first (installed package case)
88
- try {
89
- const req = createRequire(import.meta.url);
90
- const pkgJson = req.resolve("@moreih29/nexus-core/manifest.json").replace(/\/manifest\.json$/, "");
91
- const candidate = resolve(pkgJson, relativePath);
92
- if (existsSync(candidate))
93
- return candidate;
94
- }
95
- catch {
96
- // Package not installed or manifest.json not resolvable — fall through to walk-up
97
- }
98
- // Fallback: walk up from current file to find package root by locating package.json
99
- const selfDir = new URL(".", import.meta.url).pathname;
100
- let dir = selfDir;
101
- while (dir !== "/") {
102
- const pkgCandidate = resolve(dir, relativePath);
103
- if (existsSync(pkgCandidate))
104
- return pkgCandidate;
105
- const parent = dirname(dir);
106
- if (parent === dir)
107
- break;
108
- dir = parent;
109
- }
110
- throw new Error(`[nexus-hook] Cannot locate ${relativePath} from ${selfDir}`);
111
- }
112
- function resolveHarness() {
113
- return process.env["NEXUS_HARNESS"] ?? "claude";
114
- }
115
- /** Normalise harness-native stdin to nexus standard NexusHookInput shape.
116
- *
117
- * - claude / codex: field names are already mostly compatible; handle known aliases
118
- * - opencode: mountHooks already delivers nexus standard — pass-through
119
- */
120
- function normalizeInput(raw, harness) {
121
- if (harness === "opencode") {
122
- // pass-through — mountHooks already normalised
123
- return raw;
124
- }
125
- if (harness === "codex") {
126
- // Codex uses snake_case and sends tool_name; primary event shape is compatible.
127
- // Remap known Codex-native tool aliases to nexus PascalCase names.
128
- const out = { ...raw };
129
- if (typeof out["tool_name"] === "string") {
130
- out["tool_name"] = normalizeCodexToolName(out["tool_name"]);
131
- }
132
- return out;
133
- }
134
- // claude — direct pass-through; field names match nexus standard
135
- return raw;
136
- }
137
- /** Map Codex native tool aliases to nexus PascalCase equivalents. */
138
- function normalizeCodexToolName(name) {
139
- const aliasMap = {
140
- shell: "Bash",
141
- shell_command: "Bash",
142
- exec_command: "Bash",
143
- exec: "Bash",
144
- apply_patch: "Edit",
145
- list_dir: "LS",
146
- web_search: "WebSearch",
147
- view_image: "ViewImage",
148
- js_repl: "REPL",
149
- js_repl_reset: "REPL",
150
- tool_search: "ToolSearch",
151
- tool_suggest: "ToolSearch",
152
- spawn_agent: "Task",
153
- update_plan: "TodoWrite",
154
- request_user_input: "AskUserQuestion",
155
- request_permissions: "RequestPermissions",
156
- };
157
- return aliasMap[name] ?? name;
158
- }
159
- /** When tool_name is "Bash" and tool_input.command is present, attempt to
160
- * resolve a more specific nexus standard tool_name via bash_parse_patterns. */
161
- function normalizeBashToolName(input, _harness) {
162
- if ((input.hook_event_name === "PreToolUse" || input.hook_event_name === "PostToolUse") &&
163
- input.tool_name === "Bash" &&
164
- input.tool_input &&
165
- typeof input.tool_input["command"] === "string") {
166
- const parsed = parseBashCommand(input.tool_input["command"]);
167
- if (parsed) {
168
- return { ...input, tool_name: parsed.tool };
169
- }
170
- }
171
- return input;
172
- }
173
- /** Check meta.yml condition.state_file_exists; returns true when the hook
174
- * should be skipped (condition not met). */
175
- async function shouldSkipByCondition(metaPath, cwd) {
176
- if (!metaPath)
177
- return false;
178
- if (!existsSync(metaPath))
179
- return false;
180
- try {
181
- const raw = readFileSync(metaPath, "utf8");
182
- const meta = HookMetaSchema.parse(parseYaml(raw));
183
- if (!meta.condition?.state_file_exists)
184
- return false;
185
- const stateFile = resolve(cwd, meta.condition.state_file_exists);
186
- return !existsSync(stateFile);
187
- }
188
- catch {
189
- // Malformed meta.yml — do not skip
190
- return false;
191
- }
192
- }
193
- /** Serialize NexusHookOutput into the harness-native stdout shape. */
194
- function serializeForHarness(out, harness, eventName) {
195
- if (harness === "opencode") {
196
- // nexus JSON passed through — mountHooks will parse
197
- return out;
198
- }
199
- if (harness === "codex") {
200
- return serializeForCodex(out, eventName);
201
- }
202
- // Default: claude
203
- return serializeForClaude(out, eventName);
204
- }
205
- function serializeForClaude(out, eventName) {
206
- const result = {};
207
- if (out.decision === "block") {
208
- if (eventName === "PreToolUse") {
209
- result["permissionDecision"] = "deny";
210
- if (out.block_reason)
211
- result["permissionDecisionReason"] = out.block_reason;
212
- }
213
- else {
214
- result["decision"] = "block";
215
- if (out.block_reason)
216
- result["reason"] = out.block_reason;
217
- }
218
- }
219
- if (out.additional_context) {
220
- result["additionalContext"] = out.additional_context;
221
- }
222
- if (out.system_message) {
223
- result["systemMessage"] = out.system_message;
224
- }
225
- if (out.continue === false) {
226
- result["continue"] = false;
227
- result["stopReason"] = "system_message";
228
- }
229
- return result;
230
- }
231
- function serializeForCodex(out, eventName) {
232
- const result = {};
233
- if (out.decision === "block") {
234
- result["decision"] = "block";
235
- if (out.block_reason)
236
- result["reason"] = out.block_reason;
237
- }
238
- if (out.additional_context) {
239
- result["hookSpecificOutput"] = {
240
- hookEventName: eventName,
241
- additionalContext: out.additional_context,
242
- };
243
- }
244
- if (out.system_message) {
245
- result["systemMessage"] = out.system_message;
246
- }
247
- if (out.continue === false) {
248
- result["continue"] = false;
249
- result["stopReason"] = "system_message";
250
- }
251
- return result;
252
- }
253
- /** Read all of stdin and return as string. */
254
- async function readStdin() {
255
- return new Promise((res, rej) => {
256
- let data = "";
257
- process.stdin.setEncoding("utf8");
258
- process.stdin.on("data", (chunk) => {
259
- data += chunk;
260
- });
261
- process.stdin.on("end", () => res(data));
262
- process.stdin.on("error", rej);
263
- });
264
- }
265
- // ---------------------------------------------------------------------------
266
- // Test-only exports (do not use in production code)
267
- // ---------------------------------------------------------------------------
268
- export const __test = {
269
- serializeForClaude,
270
- serializeForCodex,
271
- normalizeBashToolName,
272
- normalizeCodexToolName,
273
- };
274
- //# sourceMappingURL=runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/hooks/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,196 +0,0 @@
1
- /**
2
- * Nexus Hook 표준 stdin/stdout 스키마 및 meta.yml 스키마
3
- *
4
- * 결정 참조: plan.json Issue #1 (hook stdin/stdout 표준화),
5
- * Issue #5 (HookMeta portability_tier 제거 — .strict() 강제)
6
- */
7
- import { z } from "zod";
8
- export declare const NexusHookInputSchema: z.ZodDiscriminatedUnion<"hook_event_name", [z.ZodObject<{
9
- session_id: z.ZodString;
10
- cwd: z.ZodString;
11
- } & {
12
- hook_event_name: z.ZodLiteral<"SessionStart">;
13
- source: z.ZodOptional<z.ZodEnum<["startup", "resume", "clear", "compact"]>>;
14
- }, "strip", z.ZodTypeAny, {
15
- session_id: string;
16
- cwd: string;
17
- hook_event_name: "SessionStart";
18
- source?: "startup" | "resume" | "clear" | "compact" | undefined;
19
- }, {
20
- session_id: string;
21
- cwd: string;
22
- hook_event_name: "SessionStart";
23
- source?: "startup" | "resume" | "clear" | "compact" | undefined;
24
- }>, z.ZodObject<{
25
- session_id: z.ZodString;
26
- cwd: z.ZodString;
27
- } & {
28
- hook_event_name: z.ZodLiteral<"UserPromptSubmit">;
29
- prompt: z.ZodString;
30
- }, "strip", z.ZodTypeAny, {
31
- prompt: string;
32
- session_id: string;
33
- cwd: string;
34
- hook_event_name: "UserPromptSubmit";
35
- }, {
36
- prompt: string;
37
- session_id: string;
38
- cwd: string;
39
- hook_event_name: "UserPromptSubmit";
40
- }>, z.ZodObject<{
41
- session_id: z.ZodString;
42
- cwd: z.ZodString;
43
- } & {
44
- hook_event_name: z.ZodLiteral<"PreToolUse">;
45
- tool_name: z.ZodString;
46
- tool_input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
47
- agent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
- }, "strip", z.ZodTypeAny, {
49
- tool_name: string;
50
- session_id: string;
51
- cwd: string;
52
- hook_event_name: "PreToolUse";
53
- agent_id?: string | null | undefined;
54
- tool_input?: Record<string, unknown> | undefined;
55
- }, {
56
- tool_name: string;
57
- session_id: string;
58
- cwd: string;
59
- hook_event_name: "PreToolUse";
60
- agent_id?: string | null | undefined;
61
- tool_input?: Record<string, unknown> | undefined;
62
- }>, z.ZodObject<{
63
- session_id: z.ZodString;
64
- cwd: z.ZodString;
65
- } & {
66
- hook_event_name: z.ZodLiteral<"PostToolUse">;
67
- tool_name: z.ZodString;
68
- tool_input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
69
- tool_response: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
70
- agent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
- }, "strip", z.ZodTypeAny, {
72
- tool_name: string;
73
- session_id: string;
74
- cwd: string;
75
- hook_event_name: "PostToolUse";
76
- agent_id?: string | null | undefined;
77
- tool_input?: Record<string, unknown> | undefined;
78
- tool_response?: string | Record<string, unknown> | undefined;
79
- }, {
80
- tool_name: string;
81
- session_id: string;
82
- cwd: string;
83
- hook_event_name: "PostToolUse";
84
- agent_id?: string | null | undefined;
85
- tool_input?: Record<string, unknown> | undefined;
86
- tool_response?: string | Record<string, unknown> | undefined;
87
- }>, z.ZodObject<{
88
- session_id: z.ZodString;
89
- cwd: z.ZodString;
90
- } & {
91
- hook_event_name: z.ZodLiteral<"SubagentStart">;
92
- agent_type: z.ZodString;
93
- agent_id: z.ZodString;
94
- }, "strip", z.ZodTypeAny, {
95
- session_id: string;
96
- cwd: string;
97
- hook_event_name: "SubagentStart";
98
- agent_id: string;
99
- agent_type: string;
100
- }, {
101
- session_id: string;
102
- cwd: string;
103
- hook_event_name: "SubagentStart";
104
- agent_id: string;
105
- agent_type: string;
106
- }>, z.ZodObject<{
107
- session_id: z.ZodString;
108
- cwd: z.ZodString;
109
- } & {
110
- hook_event_name: z.ZodLiteral<"SubagentStop">;
111
- agent_type: z.ZodString;
112
- agent_id: z.ZodString;
113
- last_assistant_message: z.ZodOptional<z.ZodString>;
114
- }, "strip", z.ZodTypeAny, {
115
- session_id: string;
116
- cwd: string;
117
- hook_event_name: "SubagentStop";
118
- agent_id: string;
119
- agent_type: string;
120
- last_assistant_message?: string | undefined;
121
- }, {
122
- session_id: string;
123
- cwd: string;
124
- hook_event_name: "SubagentStop";
125
- agent_id: string;
126
- agent_type: string;
127
- last_assistant_message?: string | undefined;
128
- }>]>;
129
- export type NexusHookInput = z.infer<typeof NexusHookInputSchema>;
130
- export declare const NexusHookOutputSchema: z.ZodObject<{
131
- decision: z.ZodOptional<z.ZodLiteral<"block">>;
132
- block_reason: z.ZodOptional<z.ZodString>;
133
- additional_context: z.ZodOptional<z.ZodString>;
134
- updated_input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
135
- continue: z.ZodOptional<z.ZodBoolean>;
136
- system_message: z.ZodOptional<z.ZodString>;
137
- }, "strict", z.ZodTypeAny, {
138
- decision?: "block" | undefined;
139
- block_reason?: string | undefined;
140
- continue?: boolean | undefined;
141
- system_message?: string | undefined;
142
- additional_context?: string | undefined;
143
- updated_input?: Record<string, unknown> | undefined;
144
- }, {
145
- decision?: "block" | undefined;
146
- block_reason?: string | undefined;
147
- continue?: boolean | undefined;
148
- system_message?: string | undefined;
149
- additional_context?: string | undefined;
150
- updated_input?: Record<string, unknown> | undefined;
151
- }>;
152
- export type NexusHookOutput = z.infer<typeof NexusHookOutputSchema>;
153
- export declare const HookMetaSchema: z.ZodObject<{
154
- name: z.ZodString;
155
- description: z.ZodString;
156
- events: z.ZodArray<z.ZodEnum<["SessionStart", "UserPromptSubmit", "PreToolUse", "PostToolUse", "SubagentStart", "SubagentStop"]>, "many">;
157
- requires_capabilities: z.ZodArray<z.ZodString, "many">;
158
- matcher: z.ZodDefault<z.ZodString>;
159
- timeout: z.ZodDefault<z.ZodNumber>;
160
- fallback: z.ZodDefault<z.ZodEnum<["warn", "skip", "error"]>>;
161
- priority: z.ZodDefault<z.ZodNumber>;
162
- condition: z.ZodOptional<z.ZodObject<{
163
- state_file_exists: z.ZodOptional<z.ZodString>;
164
- }, "strip", z.ZodTypeAny, {
165
- state_file_exists?: string | undefined;
166
- }, {
167
- state_file_exists?: string | undefined;
168
- }>>;
169
- }, "strict", z.ZodTypeAny, {
170
- name: string;
171
- description: string;
172
- events: ("SessionStart" | "UserPromptSubmit" | "SubagentStart" | "SubagentStop" | "PreToolUse" | "PostToolUse")[];
173
- requires_capabilities: string[];
174
- matcher: string;
175
- timeout: number;
176
- fallback: "error" | "warn" | "skip";
177
- priority: number;
178
- condition?: {
179
- state_file_exists?: string | undefined;
180
- } | undefined;
181
- }, {
182
- name: string;
183
- description: string;
184
- events: ("SessionStart" | "UserPromptSubmit" | "SubagentStart" | "SubagentStop" | "PreToolUse" | "PostToolUse")[];
185
- requires_capabilities: string[];
186
- matcher?: string | undefined;
187
- timeout?: number | undefined;
188
- fallback?: "error" | "warn" | "skip" | undefined;
189
- priority?: number | undefined;
190
- condition?: {
191
- state_file_exists?: string | undefined;
192
- } | undefined;
193
- }>;
194
- export type HookMeta = z.infer<typeof HookMetaSchema>;
195
- export type HookHandler = (input: NexusHookInput) => Promise<NexusHookOutput | void> | NexusHookOutput | void;
196
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiC/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EASvB,CAAC;AACZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BhB,CAAC;AACZ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAItD,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,cAAc,KAClB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Nexus Hook 표준 stdin/stdout 스키마 및 meta.yml 스키마
3
- *
4
- * 결정 참조: plan.json Issue #1 (hook stdin/stdout 표준화),
5
- * Issue #5 (HookMeta portability_tier 제거 — .strict() 강제)
6
- */
7
- import { z } from "zod";
8
- // ---- NexusHookInput (discriminated union on hook_event_name) ----
9
- const BaseInput = z.object({
10
- session_id: z.string(),
11
- cwd: z.string(),
12
- });
13
- export const NexusHookInputSchema = z.discriminatedUnion("hook_event_name", [
14
- BaseInput.extend({
15
- hook_event_name: z.literal("SessionStart"),
16
- source: z.enum(["startup", "resume", "clear", "compact"]).optional(),
17
- }),
18
- BaseInput.extend({
19
- hook_event_name: z.literal("UserPromptSubmit"),
20
- prompt: z.string(),
21
- }),
22
- BaseInput.extend({
23
- hook_event_name: z.literal("PreToolUse"),
24
- tool_name: z.string(),
25
- tool_input: z.record(z.unknown()).optional(),
26
- agent_id: z.string().nullable().optional(),
27
- }),
28
- BaseInput.extend({
29
- hook_event_name: z.literal("PostToolUse"),
30
- tool_name: z.string(),
31
- tool_input: z.record(z.unknown()).optional(),
32
- tool_response: z.union([z.string(), z.record(z.unknown())]).optional(),
33
- agent_id: z.string().nullable().optional(),
34
- }),
35
- BaseInput.extend({
36
- hook_event_name: z.literal("SubagentStart"),
37
- agent_type: z.string(),
38
- agent_id: z.string(),
39
- }),
40
- BaseInput.extend({
41
- hook_event_name: z.literal("SubagentStop"),
42
- agent_type: z.string(),
43
- agent_id: z.string(),
44
- last_assistant_message: z.string().optional(),
45
- }),
46
- ]);
47
- // ---- NexusHookOutput ----
48
- export const NexusHookOutputSchema = z
49
- .object({
50
- decision: z.literal("block").optional(),
51
- block_reason: z.string().optional(),
52
- additional_context: z.string().optional(),
53
- updated_input: z.record(z.unknown()).optional(),
54
- continue: z.boolean().optional(),
55
- system_message: z.string().optional(),
56
- })
57
- .strict();
58
- // ---- HookMeta (meta.yml 스키마 — portability_tier 등 unknown 필드 reject) ----
59
- export const HookMetaSchema = z
60
- .object({
61
- name: z.string().regex(/^[a-z][a-z0-9-]*$/),
62
- description: z.string(),
63
- events: z
64
- .array(z.enum([
65
- "SessionStart",
66
- "UserPromptSubmit",
67
- "PreToolUse",
68
- "PostToolUse",
69
- "SubagentStart",
70
- "SubagentStop",
71
- ]))
72
- .min(1),
73
- requires_capabilities: z.array(z.string()),
74
- matcher: z.string().default("*"),
75
- timeout: z.number().int().positive().default(30),
76
- fallback: z.enum(["warn", "skip", "error"]).default("warn"),
77
- priority: z.number().int().default(0),
78
- condition: z
79
- .object({
80
- state_file_exists: z.string().optional(),
81
- })
82
- .optional(),
83
- })
84
- .strict();
85
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/hooks/types.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { LspClient } from './client.js';
2
- export declare function findWorkspaceRoot(filePath: string): string;
3
- export declare function ensureClient(filePath: string): Promise<LspClient | {
4
- error: string;
5
- install_hint?: string;
6
- }>;
7
- export declare function ensureFileSync(client: LspClient, filePath: string): Promise<void>;
8
- export declare function shutdownAll(): Promise<void>;
9
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/lsp/cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAoExC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuB1D;AAgCD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+E/D;AAMD,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAgCf;AAMD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAYjD"}