@moreih29/nexus-core 0.12.0 → 0.14.0

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 (245) hide show
  1. package/README.md +76 -57
  2. package/assets/agents/architect/body.ko.md +177 -0
  3. package/{agents → assets/agents}/architect/body.md +16 -0
  4. package/assets/agents/designer/body.ko.md +125 -0
  5. package/{agents → assets/agents}/designer/body.md +16 -0
  6. package/assets/agents/engineer/body.ko.md +106 -0
  7. package/{agents → assets/agents}/engineer/body.md +14 -0
  8. package/assets/agents/lead/body.ko.md +70 -0
  9. package/assets/agents/lead/body.md +70 -0
  10. package/assets/agents/postdoc/body.ko.md +122 -0
  11. package/{agents → assets/agents}/postdoc/body.md +16 -0
  12. package/assets/agents/researcher/body.ko.md +137 -0
  13. package/{agents → assets/agents}/researcher/body.md +15 -0
  14. package/assets/agents/reviewer/body.ko.md +138 -0
  15. package/{agents → assets/agents}/reviewer/body.md +15 -0
  16. package/assets/agents/strategist/body.ko.md +116 -0
  17. package/{agents → assets/agents}/strategist/body.md +16 -0
  18. package/assets/agents/tester/body.ko.md +195 -0
  19. package/{agents → assets/agents}/tester/body.md +15 -0
  20. package/assets/agents/writer/body.ko.md +122 -0
  21. package/{agents → assets/agents}/writer/body.md +14 -0
  22. package/assets/capability-matrix.yml +198 -0
  23. package/assets/hooks/agent-bootstrap/handler.test.ts +368 -0
  24. package/assets/hooks/agent-bootstrap/handler.ts +119 -0
  25. package/assets/hooks/agent-bootstrap/meta.yml +10 -0
  26. package/assets/hooks/agent-finalize/handler.test.ts +368 -0
  27. package/assets/hooks/agent-finalize/handler.ts +76 -0
  28. package/assets/hooks/agent-finalize/meta.yml +10 -0
  29. package/assets/hooks/capability-matrix.yml +313 -0
  30. package/assets/hooks/post-tool-telemetry/handler.test.ts +302 -0
  31. package/assets/hooks/post-tool-telemetry/handler.ts +49 -0
  32. package/assets/hooks/post-tool-telemetry/meta.yml +11 -0
  33. package/assets/hooks/prompt-router/handler.test.ts +801 -0
  34. package/assets/hooks/prompt-router/handler.ts +261 -0
  35. package/assets/hooks/prompt-router/meta.yml +11 -0
  36. package/assets/hooks/session-init/handler.test.ts +274 -0
  37. package/assets/hooks/session-init/handler.ts +30 -0
  38. package/assets/hooks/session-init/meta.yml +9 -0
  39. package/assets/lsp-servers.json +55 -0
  40. package/assets/schema/lsp-servers.schema.json +67 -0
  41. package/assets/skills/nx-init/body.ko.md +197 -0
  42. package/{skills → assets/skills}/nx-init/body.md +11 -0
  43. package/assets/skills/nx-plan/body.ko.md +361 -0
  44. package/{skills → assets/skills}/nx-plan/body.md +13 -0
  45. package/assets/skills/nx-run/body.ko.md +161 -0
  46. package/{skills → assets/skills}/nx-run/body.md +11 -0
  47. package/assets/skills/nx-sync/body.ko.md +92 -0
  48. package/{skills → assets/skills}/nx-sync/body.md +10 -0
  49. package/assets/tools/tool-name-map.yml +353 -0
  50. package/dist/assets/hooks/agent-bootstrap/handler.d.ts +4 -0
  51. package/dist/assets/hooks/agent-bootstrap/handler.d.ts.map +1 -0
  52. package/dist/assets/hooks/agent-bootstrap/handler.js +100 -0
  53. package/dist/assets/hooks/agent-bootstrap/handler.js.map +1 -0
  54. package/dist/assets/hooks/agent-finalize/handler.d.ts +4 -0
  55. package/dist/assets/hooks/agent-finalize/handler.d.ts.map +1 -0
  56. package/dist/assets/hooks/agent-finalize/handler.js +63 -0
  57. package/dist/assets/hooks/agent-finalize/handler.js.map +1 -0
  58. package/dist/assets/hooks/post-tool-telemetry/handler.d.ts +4 -0
  59. package/dist/assets/hooks/post-tool-telemetry/handler.d.ts.map +1 -0
  60. package/dist/assets/hooks/post-tool-telemetry/handler.js +40 -0
  61. package/dist/assets/hooks/post-tool-telemetry/handler.js.map +1 -0
  62. package/dist/assets/hooks/prompt-router/handler.d.ts +4 -0
  63. package/dist/assets/hooks/prompt-router/handler.d.ts.map +1 -0
  64. package/dist/assets/hooks/prompt-router/handler.js +204 -0
  65. package/dist/assets/hooks/prompt-router/handler.js.map +1 -0
  66. package/dist/assets/hooks/session-init/handler.d.ts +4 -0
  67. package/dist/assets/hooks/session-init/handler.d.ts.map +1 -0
  68. package/dist/assets/hooks/session-init/handler.js +23 -0
  69. package/dist/assets/hooks/session-init/handler.js.map +1 -0
  70. package/dist/hooks/agent-bootstrap.js +105 -0
  71. package/dist/hooks/agent-finalize.js +164 -0
  72. package/dist/hooks/post-tool-telemetry.js +55 -0
  73. package/dist/hooks/prompt-router.js +7300 -0
  74. package/dist/hooks/session-init.js +21 -0
  75. package/dist/manifests/claude-hooks.json +52 -0
  76. package/dist/manifests/codex-hooks.json +28 -0
  77. package/dist/manifests/opencode-manifest.json +44 -0
  78. package/dist/manifests/portability-report.json +87 -0
  79. package/dist/scripts/build-agents.d.ts +157 -0
  80. package/dist/scripts/build-agents.d.ts.map +1 -0
  81. package/dist/scripts/build-agents.js +737 -0
  82. package/dist/scripts/build-agents.js.map +1 -0
  83. package/dist/scripts/build-hooks.d.ts +16 -0
  84. package/dist/scripts/build-hooks.d.ts.map +1 -0
  85. package/dist/scripts/build-hooks.js +388 -0
  86. package/dist/scripts/build-hooks.js.map +1 -0
  87. package/dist/scripts/cli.d.ts +54 -0
  88. package/dist/scripts/cli.d.ts.map +1 -0
  89. package/dist/scripts/cli.js +467 -0
  90. package/dist/scripts/cli.js.map +1 -0
  91. package/dist/src/hooks/opencode-mount.d.ts +35 -0
  92. package/dist/src/hooks/opencode-mount.d.ts.map +1 -0
  93. package/dist/src/hooks/opencode-mount.js +352 -0
  94. package/dist/src/hooks/opencode-mount.js.map +1 -0
  95. package/dist/src/hooks/runtime.d.ts +37 -0
  96. package/dist/src/hooks/runtime.d.ts.map +1 -0
  97. package/dist/src/hooks/runtime.js +274 -0
  98. package/dist/src/hooks/runtime.js.map +1 -0
  99. package/dist/src/hooks/types.d.ts +196 -0
  100. package/dist/src/hooks/types.d.ts.map +1 -0
  101. package/dist/src/hooks/types.js +85 -0
  102. package/dist/src/hooks/types.js.map +1 -0
  103. package/dist/src/lsp/cache.d.ts +9 -0
  104. package/dist/src/lsp/cache.d.ts.map +1 -0
  105. package/dist/src/lsp/cache.js +216 -0
  106. package/dist/src/lsp/cache.js.map +1 -0
  107. package/dist/src/lsp/client.d.ts +24 -0
  108. package/dist/src/lsp/client.d.ts.map +1 -0
  109. package/dist/src/lsp/client.js +166 -0
  110. package/dist/src/lsp/client.js.map +1 -0
  111. package/dist/src/lsp/detect.d.ts +77 -0
  112. package/dist/src/lsp/detect.d.ts.map +1 -0
  113. package/dist/src/lsp/detect.js +116 -0
  114. package/dist/src/lsp/detect.js.map +1 -0
  115. package/dist/src/mcp/server.d.ts +5 -0
  116. package/dist/src/mcp/server.d.ts.map +1 -0
  117. package/dist/src/mcp/server.js +34 -0
  118. package/dist/src/mcp/server.js.map +1 -0
  119. package/dist/src/mcp/tools/artifact.d.ts +4 -0
  120. package/dist/src/mcp/tools/artifact.d.ts.map +1 -0
  121. package/dist/src/mcp/tools/artifact.js +36 -0
  122. package/dist/src/mcp/tools/artifact.js.map +1 -0
  123. package/dist/src/mcp/tools/history.d.ts +3 -0
  124. package/dist/src/mcp/tools/history.d.ts.map +1 -0
  125. package/dist/src/mcp/tools/history.js +29 -0
  126. package/dist/src/mcp/tools/history.js.map +1 -0
  127. package/dist/src/mcp/tools/lsp.d.ts +13 -0
  128. package/dist/src/mcp/tools/lsp.d.ts.map +1 -0
  129. package/dist/src/mcp/tools/lsp.js +225 -0
  130. package/dist/src/mcp/tools/lsp.js.map +1 -0
  131. package/dist/src/mcp/tools/plan.d.ts +3 -0
  132. package/dist/src/mcp/tools/plan.d.ts.map +1 -0
  133. package/dist/src/mcp/tools/plan.js +317 -0
  134. package/dist/src/mcp/tools/plan.js.map +1 -0
  135. package/dist/src/mcp/tools/task.d.ts +3 -0
  136. package/dist/src/mcp/tools/task.d.ts.map +1 -0
  137. package/dist/src/mcp/tools/task.js +252 -0
  138. package/dist/src/mcp/tools/task.js.map +1 -0
  139. package/dist/src/shared/invocations.d.ts +74 -0
  140. package/dist/src/shared/invocations.d.ts.map +1 -0
  141. package/dist/src/shared/invocations.js +247 -0
  142. package/dist/src/shared/invocations.js.map +1 -0
  143. package/dist/src/shared/json-store.d.ts +37 -0
  144. package/dist/src/shared/json-store.d.ts.map +1 -0
  145. package/dist/src/shared/json-store.js +163 -0
  146. package/dist/src/shared/json-store.js.map +1 -0
  147. package/dist/src/shared/mcp-utils.d.ts +3 -0
  148. package/dist/src/shared/mcp-utils.d.ts.map +1 -0
  149. package/dist/src/shared/mcp-utils.js +6 -0
  150. package/dist/src/shared/mcp-utils.js.map +1 -0
  151. package/dist/src/shared/paths.d.ts +21 -0
  152. package/dist/src/shared/paths.d.ts.map +1 -0
  153. package/dist/src/shared/paths.js +81 -0
  154. package/dist/src/shared/paths.js.map +1 -0
  155. package/dist/src/shared/tool-log.d.ts +8 -0
  156. package/dist/src/shared/tool-log.d.ts.map +1 -0
  157. package/dist/src/shared/tool-log.js +22 -0
  158. package/dist/src/shared/tool-log.js.map +1 -0
  159. package/dist/src/types/state.d.ts +862 -0
  160. package/dist/src/types/state.d.ts.map +1 -0
  161. package/dist/src/types/state.js +66 -0
  162. package/dist/src/types/state.js.map +1 -0
  163. package/docs/consuming/codex-lead-merge.md +106 -0
  164. package/docs/plugin-guide.md +396 -0
  165. package/docs/plugin-template/claude/.github/workflows/build.yml +60 -0
  166. package/docs/plugin-template/claude/README.md +110 -0
  167. package/docs/plugin-template/claude/package.json +16 -0
  168. package/docs/plugin-template/codex/.github/workflows/build.yml +51 -0
  169. package/docs/plugin-template/codex/README.md +147 -0
  170. package/docs/plugin-template/codex/package.json +17 -0
  171. package/docs/plugin-template/opencode/.github/workflows/build.yml +61 -0
  172. package/docs/plugin-template/opencode/README.md +121 -0
  173. package/docs/plugin-template/opencode/package.json +25 -0
  174. package/package.json +36 -28
  175. package/agents/architect/meta.yml +0 -13
  176. package/agents/designer/meta.yml +0 -13
  177. package/agents/engineer/meta.yml +0 -11
  178. package/agents/postdoc/meta.yml +0 -13
  179. package/agents/researcher/meta.yml +0 -12
  180. package/agents/reviewer/meta.yml +0 -12
  181. package/agents/strategist/meta.yml +0 -13
  182. package/agents/tester/meta.yml +0 -12
  183. package/agents/writer/meta.yml +0 -11
  184. package/conformance/README.md +0 -311
  185. package/conformance/examples/plan.extension.schema.example.json +0 -25
  186. package/conformance/lifecycle/README.md +0 -48
  187. package/conformance/lifecycle/agent-complete.json +0 -44
  188. package/conformance/lifecycle/agent-resume.json +0 -43
  189. package/conformance/lifecycle/agent-spawn.json +0 -36
  190. package/conformance/lifecycle/memory-access-record.json +0 -27
  191. package/conformance/lifecycle/session-end.json +0 -48
  192. package/conformance/scenarios/full-plan-cycle.json +0 -147
  193. package/conformance/scenarios/task-deps-ordering.json +0 -95
  194. package/conformance/schema/fixture.schema.json +0 -354
  195. package/conformance/state-schemas/agent-tracker.schema.json +0 -63
  196. package/conformance/state-schemas/history.schema.json +0 -134
  197. package/conformance/state-schemas/memory-access.schema.json +0 -36
  198. package/conformance/state-schemas/plan.schema.json +0 -77
  199. package/conformance/state-schemas/tasks.schema.json +0 -98
  200. package/conformance/tools/artifact-write.json +0 -97
  201. package/conformance/tools/context.json +0 -172
  202. package/conformance/tools/history-search.json +0 -219
  203. package/conformance/tools/plan-decide.json +0 -139
  204. package/conformance/tools/plan-start.json +0 -81
  205. package/conformance/tools/plan-status.json +0 -127
  206. package/conformance/tools/plan-update.json +0 -341
  207. package/conformance/tools/task-add.json +0 -156
  208. package/conformance/tools/task-close.json +0 -161
  209. package/conformance/tools/task-list.json +0 -177
  210. package/conformance/tools/task-update.json +0 -167
  211. package/docs/behavioral-contracts.md +0 -145
  212. package/docs/consumer-implementation-guide.md +0 -840
  213. package/docs/memory-lifecycle-contract.md +0 -119
  214. package/docs/nexus-layout.md +0 -224
  215. package/docs/nexus-outputs-contract.md +0 -344
  216. package/docs/nexus-state-overview.md +0 -170
  217. package/docs/nexus-tools-contract.md +0 -438
  218. package/manifest.json +0 -448
  219. package/schema/README.md +0 -69
  220. package/schema/agent.schema.json +0 -23
  221. package/schema/common.schema.json +0 -17
  222. package/schema/manifest.schema.json +0 -78
  223. package/schema/memory-policy.schema.json +0 -98
  224. package/schema/skill.schema.json +0 -54
  225. package/schema/task-exceptions.schema.json +0 -40
  226. package/schema/vocabulary.schema.json +0 -167
  227. package/scripts/.gitkeep +0 -0
  228. package/scripts/conformance-coverage.ts +0 -466
  229. package/scripts/import-from-claude-nexus.ts +0 -403
  230. package/scripts/lib/frontmatter.ts +0 -71
  231. package/scripts/lib/lint.ts +0 -348
  232. package/scripts/lib/structure.ts +0 -159
  233. package/scripts/lib/validate.ts +0 -796
  234. package/scripts/validate.ts +0 -90
  235. package/skills/nx-init/meta.yml +0 -8
  236. package/skills/nx-plan/meta.yml +0 -10
  237. package/skills/nx-run/meta.yml +0 -8
  238. package/skills/nx-sync/meta.yml +0 -7
  239. package/vocabulary/capabilities.yml +0 -65
  240. package/vocabulary/categories.yml +0 -11
  241. package/vocabulary/invocations.yml +0 -147
  242. package/vocabulary/memory_policy.yml +0 -88
  243. package/vocabulary/resume-tiers.yml +0 -11
  244. package/vocabulary/tags.yml +0 -60
  245. package/vocabulary/task-exceptions.yml +0 -29
@@ -0,0 +1,21 @@
1
+ // assets/hooks/session-init/handler.ts
2
+ import { mkdirSync, writeFileSync } from "node:fs";
3
+ import { join, basename } from "node:path";
4
+ var handler = async (input) => {
5
+ if (input.hook_event_name !== "SessionStart")
6
+ return;
7
+ const safeSid = basename(input.session_id);
8
+ if (!safeSid || safeSid.startsWith(".") || safeSid.includes("/")) {
9
+ process.stderr.write(`[session-init] invalid session_id: ${input.session_id}
10
+ `);
11
+ return;
12
+ }
13
+ const sessionDir = join(input.cwd, ".nexus/state", safeSid);
14
+ mkdirSync(sessionDir, { recursive: true });
15
+ writeFileSync(join(sessionDir, "agent-tracker.json"), "[]");
16
+ writeFileSync(join(sessionDir, "tool-log.jsonl"), "");
17
+ };
18
+ var handler_default = handler;
19
+ export {
20
+ handler_default as default
21
+ };
@@ -0,0 +1,52 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "matcher": "*",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/dist/hooks/session-init.js",
10
+ "timeout": 10
11
+ }
12
+ ]
13
+ }
14
+ ],
15
+ "UserPromptSubmit": [
16
+ {
17
+ "matcher": "*",
18
+ "hooks": [
19
+ {
20
+ "type": "command",
21
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/dist/hooks/prompt-router.js",
22
+ "timeout": 10
23
+ }
24
+ ]
25
+ }
26
+ ],
27
+ "SubagentStop": [
28
+ {
29
+ "matcher": "*",
30
+ "hooks": [
31
+ {
32
+ "type": "command",
33
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/dist/hooks/agent-finalize.js",
34
+ "timeout": 10
35
+ }
36
+ ]
37
+ }
38
+ ],
39
+ "SubagentStart": [
40
+ {
41
+ "matcher": "*",
42
+ "hooks": [
43
+ {
44
+ "type": "command",
45
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/dist/hooks/agent-bootstrap.js",
46
+ "timeout": 10
47
+ }
48
+ ]
49
+ }
50
+ ]
51
+ }
52
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/dist/hooks/session-init.js",
6
+ "timeout": 10
7
+ }
8
+ ],
9
+ "UserPromptSubmit": [
10
+ {
11
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/dist/hooks/prompt-router.js",
12
+ "timeout": 10
13
+ }
14
+ ],
15
+ "SubagentStop": [
16
+ {
17
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/dist/hooks/agent-finalize.js",
18
+ "timeout": 10
19
+ }
20
+ ],
21
+ "SubagentStart": [
22
+ {
23
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/dist/hooks/agent-bootstrap.js",
24
+ "timeout": 10
25
+ }
26
+ ]
27
+ }
28
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "hooks": [
3
+ {
4
+ "name": "session-init",
5
+ "events": [
6
+ "SessionStart"
7
+ ],
8
+ "matcher": "*",
9
+ "handlerPath": "../assets/hooks/session-init/handler.js",
10
+ "priority": 0,
11
+ "timeout": 10
12
+ },
13
+ {
14
+ "name": "prompt-router",
15
+ "events": [
16
+ "UserPromptSubmit"
17
+ ],
18
+ "matcher": "*",
19
+ "handlerPath": "../assets/hooks/prompt-router/handler.js",
20
+ "priority": 0,
21
+ "timeout": 10
22
+ },
23
+ {
24
+ "name": "agent-finalize",
25
+ "events": [
26
+ "SubagentStop"
27
+ ],
28
+ "matcher": "*",
29
+ "handlerPath": "../assets/hooks/agent-finalize/handler.js",
30
+ "priority": 0,
31
+ "timeout": 10
32
+ },
33
+ {
34
+ "name": "agent-bootstrap",
35
+ "events": [
36
+ "SubagentStart"
37
+ ],
38
+ "matcher": "*",
39
+ "handlerPath": "../assets/hooks/agent-bootstrap/handler.js",
40
+ "priority": 0,
41
+ "timeout": 10
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "post-tool-telemetry": {
3
+ "tier": "experimental",
4
+ "registered_in": [],
5
+ "excluded_from": [
6
+ {
7
+ "harness": "claude",
8
+ "missing": [
9
+ "event.post_tool_use.bash_parsed"
10
+ ],
11
+ "reason": "Codex-specific capability: the nexus wrapper parses Bash commands to derive equivalent nexus tool_name values"
12
+ },
13
+ {
14
+ "harness": "codex",
15
+ "missing": [
16
+ "event.post_tool_use.read",
17
+ "event.post_tool_use.edit"
18
+ ],
19
+ "reason": "Codex has no independent Read tool; file reads use shell (cat/head/tail); Codex: apply_patch does not emit PostToolUse — same constraint as event.pre_tool_use.edit"
20
+ },
21
+ {
22
+ "harness": "opencode",
23
+ "missing": [
24
+ "event.post_tool_use.bash_parsed"
25
+ ],
26
+ "reason": "Codex-specific capability: the nexus wrapper parses Bash commands to derive equivalent nexus tool_name values"
27
+ }
28
+ ],
29
+ "capabilities_required": [
30
+ "event.post_tool_use.read",
31
+ "event.post_tool_use.edit",
32
+ "event.post_tool_use.bash_parsed"
33
+ ]
34
+ },
35
+ "session-init": {
36
+ "tier": "core",
37
+ "registered_in": [
38
+ "claude",
39
+ "codex",
40
+ "opencode"
41
+ ],
42
+ "excluded_from": [],
43
+ "capabilities_required": [
44
+ "event.session_start"
45
+ ]
46
+ },
47
+ "prompt-router": {
48
+ "tier": "core",
49
+ "registered_in": [
50
+ "claude",
51
+ "codex",
52
+ "opencode"
53
+ ],
54
+ "excluded_from": [],
55
+ "capabilities_required": [
56
+ "event.user_prompt_submit",
57
+ "output.additional_context.user_prompt",
58
+ "output.decision_block"
59
+ ]
60
+ },
61
+ "agent-finalize": {
62
+ "tier": "core",
63
+ "registered_in": [
64
+ "claude",
65
+ "codex",
66
+ "opencode"
67
+ ],
68
+ "excluded_from": [],
69
+ "capabilities_required": [
70
+ "event.subagent_stop",
71
+ "output.additional_context.subagent_stop"
72
+ ]
73
+ },
74
+ "agent-bootstrap": {
75
+ "tier": "core",
76
+ "registered_in": [
77
+ "claude",
78
+ "codex",
79
+ "opencode"
80
+ ],
81
+ "excluded_from": [],
82
+ "capabilities_required": [
83
+ "event.subagent_start",
84
+ "output.additional_context.session_start"
85
+ ]
86
+ }
87
+ }
@@ -0,0 +1,157 @@
1
+ /**
2
+ * scripts/build-agents.ts
3
+ *
4
+ * Build pipeline for nexus agents and skills.
5
+ *
6
+ * Inputs:
7
+ * assets/agents/<n>/body.md × 9 agents
8
+ * assets/skills/<n>/body.md × 4 skills
9
+ * assets/capability-matrix.yml
10
+ * assets/tools/tool-name-map.yml (invocations section)
11
+ *
12
+ * Outputs per harness:
13
+ * dist/claude/
14
+ * .claude-plugin/plugin.json (Template — skip if exists, --force to overwrite)
15
+ * .claude-plugin/marketplace.json (Template — skip if exists, --force to overwrite)
16
+ * agents/<n>.md × N
17
+ * skills/<n>/SKILL.md × 4
18
+ * settings.json (Managed — primary agent injection, omitted if no primary)
19
+ *
20
+ * dist/opencode/
21
+ * package.json (Template — skip if exists)
22
+ * opencode.json.fragment (Managed — always overwrite)
23
+ * src/index.ts (Managed — always overwrite)
24
+ * src/agents/<n>.ts × N (Managed — always overwrite, mode:primary gets mode field)
25
+ * .opencode/skills/<n>/SKILL.md × 4 (Managed)
26
+ *
27
+ * dist/codex/
28
+ * plugin/.codex-plugin/plugin.json (Managed)
29
+ * plugin/skills/<n>/SKILL.md × 4 (Managed)
30
+ * agents/<n>.toml × N (Managed)
31
+ * prompts/<n>.md × N (Managed)
32
+ * install/config.fragment.toml (Managed)
33
+ * install/AGENTS.fragment.md (Managed — primary agents only, omitted if none)
34
+ *
35
+ * Overwrite policy:
36
+ * Managed paths — always overwrite (unless --dry-run)
37
+ * Template paths — skip if file exists (overwrite only with --force)
38
+ *
39
+ * CLI flags:
40
+ * --harness=claude|opencode|codex (default: all)
41
+ * --target=<dir> (default: dist/)
42
+ * --dry-run print affected files, no writes
43
+ * --force force Template file overwrite
44
+ * --strict error if Managed output has untracked modifications
45
+ * --only=<agent|skill name> restrict to a single asset
46
+ */
47
+ import type { InvocationsMap, Harness } from "../src/shared/invocations.js";
48
+ export declare const ROOT: string;
49
+ export declare const AGENTS_DIR: string;
50
+ export declare const SKILLS_DIR: string;
51
+ export declare const CAPABILITY_MATRIX_PATH: string;
52
+ export declare const TOOL_NAME_MAP_PATH: string;
53
+ export interface AgentFrontmatter {
54
+ name: string;
55
+ description: string;
56
+ task?: string;
57
+ alias_ko?: string;
58
+ category: "how" | "do" | "check" | "lead";
59
+ mode?: "primary" | "subagent" | "all";
60
+ resume_tier?: "persistent" | "bounded" | "ephemeral";
61
+ model_tier: "high" | "standard" | "low";
62
+ capabilities: string[];
63
+ id: string;
64
+ summary?: string;
65
+ triggers?: string[];
66
+ manual_only?: boolean;
67
+ harness_docs_refs?: string[];
68
+ }
69
+ export interface AssetEntry {
70
+ type: "agent" | "skill";
71
+ name: string;
72
+ frontmatter: AgentFrontmatter;
73
+ body: string;
74
+ bodyPath: string;
75
+ }
76
+ export interface CapabilityMatrixEntry {
77
+ claude?: {
78
+ disallowedTools?: string[];
79
+ };
80
+ opencode?: {
81
+ permission?: Record<string, string>;
82
+ };
83
+ codex?: {
84
+ sandbox_mode?: string | null;
85
+ disabled_tools?: string[];
86
+ };
87
+ }
88
+ export interface CapabilityMatrix {
89
+ capabilities: Record<string, CapabilityMatrixEntry>;
90
+ model_tier: Record<string, {
91
+ claude: string;
92
+ codex: string;
93
+ opencode: string | null;
94
+ }>;
95
+ }
96
+ export interface ToolNameMapInvocations {
97
+ invocations: InvocationsMap;
98
+ }
99
+ export interface BuildOptions {
100
+ harnesses: Harness[];
101
+ targetDir: string;
102
+ dryRun: boolean;
103
+ force: boolean;
104
+ strict: boolean;
105
+ only?: string;
106
+ }
107
+ /**
108
+ * Split a body.md file into frontmatter object and body text.
109
+ * Throws on YAML parse failure.
110
+ */
111
+ export declare function parseFrontmatter(raw: string, filePath: string): {
112
+ fm: AgentFrontmatter;
113
+ body: string;
114
+ };
115
+ /**
116
+ * Load all agents and skills from assets/, whitelisting only body.md.
117
+ */
118
+ export declare function loadAssets(opts?: {
119
+ only?: string;
120
+ }): AssetEntry[];
121
+ export declare function loadCapabilityMatrix(): CapabilityMatrix;
122
+ export declare function loadInvocations(): InvocationsMap;
123
+ /**
124
+ * Collect all Claude disallowedTools for an agent based on its capabilities[].
125
+ */
126
+ export declare function resolveClaudeDisallowedTools(capabilities: string[], capMatrix: CapabilityMatrix): string[];
127
+ /**
128
+ * Collect merged OpenCode permission block for an agent.
129
+ */
130
+ export declare function resolveOpencodePermissions(capabilities: string[], capMatrix: CapabilityMatrix): Record<string, string>;
131
+ /**
132
+ * Resolve codex sandbox_mode and disabled_tools for an agent.
133
+ * sandbox_mode: take the most restrictive non-null value ("read-only" wins).
134
+ */
135
+ export declare function resolveCodexConfig(capabilities: string[], capMatrix: CapabilityMatrix): {
136
+ sandbox_mode: string | null;
137
+ disabled_tools: string[];
138
+ };
139
+ /**
140
+ * Resolve model slug for a given model_tier and harness.
141
+ */
142
+ export declare function resolveModel(modelTier: string, harness: Harness, capMatrix: CapabilityMatrix): string | null;
143
+ /**
144
+ * Write a file according to the managed/template overwrite policy.
145
+ *
146
+ * Managed: always overwrite (unless --dry-run)
147
+ * Template: skip if exists (overwrite only with --force)
148
+ * --dry-run: record path, no write
149
+ * --strict: error if Managed path has untracked git modifications
150
+ */
151
+ export declare function applyOverwritePolicy(filePath: string, content: string, isManaged: boolean, opts: BuildOptions): void;
152
+ export declare function buildForClaude(assets: AssetEntry[], capMatrix: CapabilityMatrix, invocations: InvocationsMap, opts: BuildOptions): void;
153
+ export declare function buildForOpencode(assets: AssetEntry[], capMatrix: CapabilityMatrix, invocations: InvocationsMap, opts: BuildOptions): void;
154
+ export declare function buildForCodex(assets: AssetEntry[], capMatrix: CapabilityMatrix, invocations: InvocationsMap, opts: BuildOptions): void;
155
+ export declare function parseArgs(argv: string[]): BuildOptions;
156
+ export declare function buildAgents(opts: BuildOptions): Promise<void>;
157
+ //# sourceMappingURL=build-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-agents.d.ts","sourceRoot":"","sources":["../../scripts/build-agents.ts"],"names":[],"mappings":"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"}