@moreih29/nexus-core 0.13.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.
- package/README.md +34 -0
- package/dist/assets/hooks/agent-bootstrap/handler.d.ts +4 -0
- package/dist/assets/hooks/agent-bootstrap/handler.d.ts.map +1 -0
- package/dist/assets/hooks/agent-bootstrap/handler.js +100 -0
- package/dist/assets/hooks/agent-bootstrap/handler.js.map +1 -0
- package/dist/assets/hooks/agent-finalize/handler.d.ts +4 -0
- package/dist/assets/hooks/agent-finalize/handler.d.ts.map +1 -0
- package/dist/assets/hooks/agent-finalize/handler.js +63 -0
- package/dist/assets/hooks/agent-finalize/handler.js.map +1 -0
- package/dist/assets/hooks/post-tool-telemetry/handler.d.ts +4 -0
- package/dist/assets/hooks/post-tool-telemetry/handler.d.ts.map +1 -0
- package/dist/assets/hooks/post-tool-telemetry/handler.js +40 -0
- package/dist/assets/hooks/post-tool-telemetry/handler.js.map +1 -0
- package/dist/assets/hooks/prompt-router/handler.d.ts +4 -0
- package/dist/assets/hooks/prompt-router/handler.d.ts.map +1 -0
- package/dist/assets/hooks/prompt-router/handler.js +204 -0
- package/dist/assets/hooks/prompt-router/handler.js.map +1 -0
- package/dist/assets/hooks/session-init/handler.d.ts +4 -0
- package/dist/assets/hooks/session-init/handler.d.ts.map +1 -0
- package/dist/assets/hooks/session-init/handler.js +23 -0
- package/dist/assets/hooks/session-init/handler.js.map +1 -0
- package/dist/hooks/agent-bootstrap.js +105 -0
- package/dist/hooks/agent-finalize.js +164 -0
- package/dist/hooks/post-tool-telemetry.js +55 -0
- package/dist/hooks/prompt-router.js +7300 -0
- package/dist/hooks/session-init.js +21 -0
- package/dist/manifests/claude-hooks.json +52 -0
- package/dist/manifests/codex-hooks.json +28 -0
- package/dist/manifests/opencode-manifest.json +44 -0
- package/dist/manifests/portability-report.json +87 -0
- package/dist/scripts/build-agents.d.ts +157 -0
- package/dist/scripts/build-agents.d.ts.map +1 -0
- package/dist/scripts/build-agents.js +737 -0
- package/dist/scripts/build-agents.js.map +1 -0
- package/dist/scripts/build-hooks.d.ts +16 -0
- package/dist/scripts/build-hooks.d.ts.map +1 -0
- package/dist/scripts/build-hooks.js +388 -0
- package/dist/scripts/build-hooks.js.map +1 -0
- package/dist/scripts/cli.d.ts +54 -0
- package/dist/scripts/cli.d.ts.map +1 -0
- package/dist/scripts/cli.js +467 -0
- package/dist/scripts/cli.js.map +1 -0
- package/dist/src/hooks/opencode-mount.d.ts.map +1 -0
- package/dist/{hooks → src/hooks}/opencode-mount.js +26 -6
- package/dist/src/hooks/opencode-mount.js.map +1 -0
- package/dist/src/hooks/runtime.d.ts.map +1 -0
- package/dist/src/hooks/runtime.js.map +1 -0
- package/dist/src/hooks/types.d.ts.map +1 -0
- package/dist/src/hooks/types.js.map +1 -0
- package/dist/src/lsp/cache.d.ts.map +1 -0
- package/dist/src/lsp/cache.js.map +1 -0
- package/dist/src/lsp/client.d.ts.map +1 -0
- package/dist/src/lsp/client.js.map +1 -0
- package/dist/src/lsp/detect.d.ts.map +1 -0
- package/dist/src/lsp/detect.js.map +1 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/tools/artifact.d.ts.map +1 -0
- package/dist/src/mcp/tools/artifact.js.map +1 -0
- package/dist/src/mcp/tools/history.d.ts.map +1 -0
- package/dist/src/mcp/tools/history.js.map +1 -0
- package/dist/src/mcp/tools/lsp.d.ts.map +1 -0
- package/dist/src/mcp/tools/lsp.js.map +1 -0
- package/dist/src/mcp/tools/plan.d.ts.map +1 -0
- package/dist/src/mcp/tools/plan.js.map +1 -0
- package/dist/src/mcp/tools/task.d.ts.map +1 -0
- package/dist/src/mcp/tools/task.js.map +1 -0
- package/dist/src/shared/invocations.d.ts.map +1 -0
- package/dist/src/shared/invocations.js.map +1 -0
- package/dist/src/shared/json-store.d.ts.map +1 -0
- package/dist/src/shared/json-store.js.map +1 -0
- package/dist/src/shared/mcp-utils.d.ts.map +1 -0
- package/dist/src/shared/mcp-utils.js.map +1 -0
- package/dist/src/shared/paths.d.ts.map +1 -0
- package/dist/src/shared/paths.js.map +1 -0
- package/dist/src/shared/tool-log.d.ts.map +1 -0
- package/dist/src/shared/tool-log.js.map +1 -0
- package/dist/src/types/state.d.ts.map +1 -0
- package/dist/src/types/state.js.map +1 -0
- package/docs/plugin-guide.md +36 -0
- package/package.json +25 -17
- package/dist/hooks/opencode-mount.d.ts.map +0 -1
- package/dist/hooks/opencode-mount.js.map +0 -1
- package/dist/hooks/runtime.d.ts.map +0 -1
- package/dist/hooks/runtime.js.map +0 -1
- package/dist/hooks/types.d.ts.map +0 -1
- package/dist/hooks/types.js.map +0 -1
- package/dist/lsp/cache.d.ts.map +0 -1
- package/dist/lsp/cache.js.map +0 -1
- package/dist/lsp/client.d.ts.map +0 -1
- package/dist/lsp/client.js.map +0 -1
- package/dist/lsp/detect.d.ts.map +0 -1
- package/dist/lsp/detect.js.map +0 -1
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/tools/artifact.d.ts.map +0 -1
- package/dist/mcp/tools/artifact.js.map +0 -1
- package/dist/mcp/tools/history.d.ts.map +0 -1
- package/dist/mcp/tools/history.js.map +0 -1
- package/dist/mcp/tools/lsp.d.ts.map +0 -1
- package/dist/mcp/tools/lsp.js.map +0 -1
- package/dist/mcp/tools/plan.d.ts.map +0 -1
- package/dist/mcp/tools/plan.js.map +0 -1
- package/dist/mcp/tools/task.d.ts.map +0 -1
- package/dist/mcp/tools/task.js.map +0 -1
- package/dist/shared/invocations.d.ts.map +0 -1
- package/dist/shared/invocations.js.map +0 -1
- package/dist/shared/json-store.d.ts.map +0 -1
- package/dist/shared/json-store.js.map +0 -1
- package/dist/shared/mcp-utils.d.ts.map +0 -1
- package/dist/shared/mcp-utils.js.map +0 -1
- package/dist/shared/paths.d.ts.map +0 -1
- package/dist/shared/paths.js.map +0 -1
- package/dist/shared/tool-log.d.ts.map +0 -1
- package/dist/shared/tool-log.js.map +0 -1
- package/dist/types/state.d.ts.map +0 -1
- package/dist/types/state.js.map +0 -1
- package/scripts/build-agents.test.ts +0 -1279
- package/scripts/build-agents.ts +0 -978
- package/scripts/build-hooks.test.ts +0 -1385
- package/scripts/build-hooks.ts +0 -584
- package/scripts/cli.test.ts +0 -367
- package/scripts/cli.ts +0 -547
- /package/dist/{hooks → src/hooks}/opencode-mount.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/runtime.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/runtime.js +0 -0
- /package/dist/{hooks → src/hooks}/types.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/types.js +0 -0
- /package/dist/{lsp → src/lsp}/cache.d.ts +0 -0
- /package/dist/{lsp → src/lsp}/cache.js +0 -0
- /package/dist/{lsp → src/lsp}/client.d.ts +0 -0
- /package/dist/{lsp → src/lsp}/client.js +0 -0
- /package/dist/{lsp → src/lsp}/detect.d.ts +0 -0
- /package/dist/{lsp → src/lsp}/detect.js +0 -0
- /package/dist/{mcp → src/mcp}/server.d.ts +0 -0
- /package/dist/{mcp → src/mcp}/server.js +0 -0
- /package/dist/{mcp → src/mcp}/tools/artifact.d.ts +0 -0
- /package/dist/{mcp → src/mcp}/tools/artifact.js +0 -0
- /package/dist/{mcp → src/mcp}/tools/history.d.ts +0 -0
- /package/dist/{mcp → src/mcp}/tools/history.js +0 -0
- /package/dist/{mcp → src/mcp}/tools/lsp.d.ts +0 -0
- /package/dist/{mcp → src/mcp}/tools/lsp.js +0 -0
- /package/dist/{mcp → src/mcp}/tools/plan.d.ts +0 -0
- /package/dist/{mcp → src/mcp}/tools/plan.js +0 -0
- /package/dist/{mcp → src/mcp}/tools/task.d.ts +0 -0
- /package/dist/{mcp → src/mcp}/tools/task.js +0 -0
- /package/dist/{shared → src/shared}/invocations.d.ts +0 -0
- /package/dist/{shared → src/shared}/invocations.js +0 -0
- /package/dist/{shared → src/shared}/json-store.d.ts +0 -0
- /package/dist/{shared → src/shared}/json-store.js +0 -0
- /package/dist/{shared → src/shared}/mcp-utils.d.ts +0 -0
- /package/dist/{shared → src/shared}/mcp-utils.js +0 -0
- /package/dist/{shared → src/shared}/paths.d.ts +0 -0
- /package/dist/{shared → src/shared}/paths.js +0 -0
- /package/dist/{shared → src/shared}/tool-log.d.ts +0 -0
- /package/dist/{shared → src/shared}/tool-log.js +0 -0
- /package/dist/{types → src/types}/state.d.ts +0 -0
- /package/dist/{types → src/types}/state.js +0 -0
|
@@ -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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"}
|