@kynetic-ai/spec 0.6.0 → 0.8.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/dist/agents/adapters.d.ts +2 -0
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/adapters.js +18 -0
- package/dist/agents/adapters.js.map +1 -1
- package/dist/agents/spawner.d.ts +2 -0
- package/dist/agents/spawner.d.ts.map +1 -1
- package/dist/agents/spawner.js +4 -2
- package/dist/agents/spawner.js.map +1 -1
- package/dist/cli/commands/batch.d.ts.map +1 -1
- package/dist/cli/commands/batch.js +38 -6
- package/dist/cli/commands/batch.js.map +1 -1
- package/dist/cli/commands/ralph.d.ts.map +1 -1
- package/dist/cli/commands/ralph.js +76 -39
- package/dist/cli/commands/ralph.js.map +1 -1
- package/dist/cli/commands/setup-seeding.d.ts +6 -3
- package/dist/cli/commands/setup-seeding.d.ts.map +1 -1
- package/dist/cli/commands/setup-seeding.js +20 -4
- package/dist/cli/commands/setup-seeding.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +3 -2
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +10 -90
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skill-install.d.ts.map +1 -1
- package/dist/cli/commands/skill-install.js +104 -1
- package/dist/cli/commands/skill-install.js.map +1 -1
- package/dist/lib/codex-config.d.ts +14 -0
- package/dist/lib/codex-config.d.ts.map +1 -0
- package/dist/lib/codex-config.js +88 -0
- package/dist/lib/codex-config.js.map +1 -0
- package/dist/parser/agent-detection.d.ts +14 -0
- package/dist/parser/agent-detection.d.ts.map +1 -0
- package/dist/parser/agent-detection.js +118 -0
- package/dist/parser/agent-detection.js.map +1 -0
- package/dist/parser/setup-status.d.ts +4 -3
- package/dist/parser/setup-status.d.ts.map +1 -1
- package/dist/parser/setup-status.js +4 -10
- package/dist/parser/setup-status.js.map +1 -1
- package/dist/parser/shadow.d.ts.map +1 -1
- package/dist/parser/shadow.js +22 -31
- package/dist/parser/shadow.js.map +1 -1
- package/dist/parser/skill-render.d.ts +9 -1
- package/dist/parser/skill-render.d.ts.map +1 -1
- package/dist/parser/skill-render.js +116 -17
- package/dist/parser/skill-render.js.map +1 -1
- package/dist/ralph/subagent.d.ts +2 -0
- package/dist/ralph/subagent.d.ts.map +1 -1
- package/dist/ralph/subagent.js +2 -0
- package/dist/ralph/subagent.js.map +1 -1
- package/dist/ralph/wrap-up.d.ts +2 -0
- package/dist/ralph/wrap-up.d.ts.map +1 -1
- package/dist/ralph/wrap-up.js +1 -0
- package/dist/ralph/wrap-up.js.map +1 -1
- package/dist/sessions/store.d.ts +10 -0
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +59 -7
- package/dist/sessions/store.js.map +1 -1
- package/package.json +2 -1
- package/plugin/.claude-plugin/marketplace.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/templates/agents-sections/03-task-lifecycle.md +4 -1
- package/templates/agents-sections/07-batch-usage.md +51 -0
- package/templates/skills/create-workflow/SKILL.md +2 -2
- package/templates/skills/manifest.yaml +11 -0
- package/templates/skills/observations/SKILL.md +2 -2
- package/templates/skills/plan/SKILL.md +5 -5
- package/templates/skills/reflect/SKILL.md +1 -1
- package/templates/skills/review/SKILL.md +2 -2
- package/templates/skills/task-work/SKILL.md +6 -6
- package/templates/skills/triage/SKILL.md +1 -1
- package/templates/skills/triage/docs/inbox.md +1 -1
- package/templates/skills/triage/docs/observations.md +1 -1
- package/templates/skills/triage-automation/SKILL.md +1 -1
- package/templates/skills/triage-inbox/SKILL.md +3 -3
- package/templates/skills/writing-specs/SKILL.md +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/agents/adapters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/agents/adapters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AA4DD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAEvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,CAexD"}
|
package/dist/agents/adapters.js
CHANGED
|
@@ -17,6 +17,7 @@ const ADAPTERS = {
|
|
|
17
17
|
args: ["@zed-industries/claude-agent-acp"],
|
|
18
18
|
shell: process.platform === "win32",
|
|
19
19
|
description: "Claude Agent via ACP protocol",
|
|
20
|
+
autoApproveArgs: ["--dangerously-skip-permissions"],
|
|
20
21
|
},
|
|
21
22
|
/**
|
|
22
23
|
* @deprecated Alias for backwards compatibility.
|
|
@@ -28,6 +29,23 @@ const ADAPTERS = {
|
|
|
28
29
|
args: ["@zed-industries/claude-agent-acp"],
|
|
29
30
|
shell: process.platform === "win32",
|
|
30
31
|
description: "Claude Agent via ACP protocol (deprecated alias)",
|
|
32
|
+
autoApproveArgs: ["--dangerously-skip-permissions"],
|
|
33
|
+
},
|
|
34
|
+
/**
|
|
35
|
+
* Codex ACP adapter.
|
|
36
|
+
* Uses the codex-acp package for OpenAI Codex agent.
|
|
37
|
+
*/
|
|
38
|
+
"codex-acp": {
|
|
39
|
+
command: "npx",
|
|
40
|
+
args: ["@zed-industries/codex-acp"],
|
|
41
|
+
shell: process.platform === "win32",
|
|
42
|
+
description: "Codex agent via ACP protocol",
|
|
43
|
+
autoApproveArgs: [
|
|
44
|
+
"-c",
|
|
45
|
+
'approval_policy="never"',
|
|
46
|
+
"-c",
|
|
47
|
+
'sandbox_mode="danger-full-access"',
|
|
48
|
+
],
|
|
31
49
|
},
|
|
32
50
|
/**
|
|
33
51
|
* Mock ACP adapter for testing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/agents/adapters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/agents/adapters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH;;GAEG;AACH,MAAM,QAAQ,GAAiC;IAC7C;;;OAGG;IACH,kBAAkB,EAAE;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,kCAAkC,CAAC;QAC1C,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;QACnC,WAAW,EAAE,+BAA+B;QAC5C,eAAe,EAAE,CAAC,gCAAgC,CAAC;KACpD;IAED;;;;OAIG;IACH,iBAAiB,EAAE;QACjB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,kCAAkC,CAAC;QAC1C,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;QACnC,WAAW,EAAE,kDAAkD;QAC/D,eAAe,EAAE,CAAC,gCAAgC,CAAC;KACpD;IAED;;;OAGG;IACH,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,2BAA2B,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;QACnC,WAAW,EAAE,8BAA8B;QAC3C,eAAe,EAAE;YACf,IAAI;YACJ,yBAAyB;YACzB,IAAI;YACJ,mCAAmC;SACpC;KACF;IAED;;;OAGG;IACH,UAAU,EAAE;QACV,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,EAAE,EAAE,6CAA6C;QACvD,GAAG,EAAE,EAAE;QACP,WAAW,EAAE,4BAA4B;KAC1C;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EAAU;IACnC,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,OAAqB;IAC/D,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;AACzB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,EAAW;IACxC,MAAM,SAAS,GAAG,EAAE,IAAI,kBAAkB,CAAC;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAEtC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,qEAAqE;IACrE,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;QACnC,WAAW,EAAE,sBAAsB,SAAS,EAAE;KAC/C,CAAC;AACJ,CAAC"}
|
package/dist/agents/spawner.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface SpawnAgentOptions {
|
|
|
15
15
|
cwd: string;
|
|
16
16
|
/** Additional environment variables */
|
|
17
17
|
env?: Record<string, string>;
|
|
18
|
+
/** Extra arguments to append (e.g., auto-approve flags) */
|
|
19
|
+
extraArgs?: string[];
|
|
18
20
|
/** ACP client options */
|
|
19
21
|
clientOptions?: Omit<ACPClientOptions, "stdin" | "stdout">;
|
|
20
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../../src/agents/spawner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yBAAyB;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,+BAA+B;IAC/B,OAAO,EAAE,YAAY,CAAC;IACtB,6BAA6B;IAC7B,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,iBAAiB,GACzB,YAAY,
|
|
1
|
+
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../../src/agents/spawner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,yBAAyB;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,+BAA+B;IAC/B,OAAO,EAAE,YAAY,CAAC;IACtB,6BAA6B;IAC7B,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,iBAAiB,GACzB,YAAY,CAoDd;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,YAAY,CAAC,CAWvB"}
|
package/dist/agents/spawner.js
CHANGED
|
@@ -17,15 +17,17 @@ import { ACPClient } from "../acp/index.js";
|
|
|
17
17
|
* @returns SpawnedAgent with client, process, and kill function
|
|
18
18
|
*/
|
|
19
19
|
export function spawnAgent(adapter, options) {
|
|
20
|
-
const { cwd, env = {}, clientOptions = {} } = options;
|
|
20
|
+
const { cwd, env = {}, extraArgs, clientOptions = {} } = options;
|
|
21
21
|
// Merge environment variables
|
|
22
22
|
const processEnv = {
|
|
23
23
|
...process.env,
|
|
24
24
|
...adapter.env,
|
|
25
25
|
...env,
|
|
26
26
|
};
|
|
27
|
+
// Build args from fresh copy to prevent cross-call leakage
|
|
28
|
+
const args = [...adapter.args, ...(extraArgs || [])];
|
|
27
29
|
// Spawn the agent process
|
|
28
|
-
const child = spawn(adapter.command,
|
|
30
|
+
const child = spawn(adapter.command, args, {
|
|
29
31
|
cwd,
|
|
30
32
|
env: processEnv,
|
|
31
33
|
shell: adapter.shell,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner.js","sourceRoot":"","sources":["../../src/agents/spawner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawner.js","sourceRoot":"","sources":["../../src/agents/spawner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC;AA6BnE;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACxB,OAAqB,EACrB,OAA0B;IAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEjE,8BAA8B;IAC9B,MAAM,UAAU,GAAG;QACjB,GAAG,OAAO,CAAC,GAAG;QACd,GAAG,OAAO,CAAC,GAAG;QACd,GAAG,GAAG;KACP,CAAC;IAEF,2DAA2D;IAC3D,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAErD,0BAA0B;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;QACzC,GAAG;QACH,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,oCAAoC;KACzE,CAAC,CAAC;IAEH,oCAAoC;IACpC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,+CAA+C;IAC/C,uCAAuC;IACvC,iDAAiD;IACjD,gDAAgD;IAChD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,GAAG,aAAa;QAChB,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,8BAA8B;QACnD,MAAM,EAAE,KAAK,CAAC,KAA8B,EAAE,4BAA4B;KAC3E,CAAC,CAAC;IAEH,uCAAuC;IACvC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,IAAI,GAAG,CAAC,SAAyB,SAAS,EAAQ,EAAE;QACxD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAqB,EACrB,OAA0B;IAE1B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qCAAqC;QACrC,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/batch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkFzC;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/batch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkFzC;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuM3D"}
|
|
@@ -174,7 +174,8 @@ Examples:
|
|
|
174
174
|
batchCmd
|
|
175
175
|
.command("commands")
|
|
176
176
|
.description("List commands allowed in batch mode")
|
|
177
|
-
.
|
|
177
|
+
.argument("[path]", "Filter to a specific command (e.g. 'task add')")
|
|
178
|
+
.action((pathFilter) => {
|
|
178
179
|
const json = isJsonMode();
|
|
179
180
|
const tree = extractCommandTree(program);
|
|
180
181
|
const allCommands = flattenCommandTree(tree);
|
|
@@ -192,22 +193,53 @@ Examples:
|
|
|
192
193
|
return false;
|
|
193
194
|
return true;
|
|
194
195
|
});
|
|
196
|
+
// AC: @batch-allowed-commands ac-filter-by-path
|
|
197
|
+
let filteredCommands = allowedCommands;
|
|
198
|
+
if (pathFilter) {
|
|
199
|
+
const normalizedFilter = pathFilter.trim();
|
|
200
|
+
filteredCommands = allowedCommands.filter((cmd) => cmd.fullPath.slice(1).join(" ") === normalizedFilter);
|
|
201
|
+
// AC: @batch-allowed-commands ac-filter-not-found
|
|
202
|
+
if (filteredCommands.length === 0) {
|
|
203
|
+
if (json) {
|
|
204
|
+
output({
|
|
205
|
+
commands: [],
|
|
206
|
+
total: 0,
|
|
207
|
+
filter: normalizedFilter,
|
|
208
|
+
error: `No batch-allowed command found matching '${normalizedFilter}'`,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
console.error(`No batch-allowed command found matching '${normalizedFilter}'`);
|
|
213
|
+
console.error("Run 'kspec batch commands' without arguments to see all available commands.");
|
|
214
|
+
}
|
|
215
|
+
process.exit(EXIT_CODES.NOT_FOUND);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
195
219
|
if (json) {
|
|
196
|
-
const commandInfos =
|
|
197
|
-
|
|
220
|
+
const commandInfos = filteredCommands.map(buildCommandInfo);
|
|
221
|
+
const result = {
|
|
222
|
+
commands: commandInfos,
|
|
223
|
+
total: commandInfos.length,
|
|
224
|
+
};
|
|
225
|
+
if (pathFilter)
|
|
226
|
+
result.filter = pathFilter.trim();
|
|
227
|
+
output(result);
|
|
198
228
|
}
|
|
199
229
|
else {
|
|
200
230
|
console.log(chalk.bold.cyan("Batch-Allowed Commands"));
|
|
201
231
|
console.log(chalk.gray("─".repeat(60)));
|
|
202
|
-
|
|
203
|
-
|
|
232
|
+
if (!pathFilter) {
|
|
233
|
+
console.log(chalk.gray("Only mutating commands can be used in batch mode.\n"));
|
|
234
|
+
}
|
|
235
|
+
for (const cmd of filteredCommands) {
|
|
204
236
|
const signature = formatCommandSignature(cmd);
|
|
205
237
|
console.log(chalk.green(signature));
|
|
206
238
|
if (cmd.description) {
|
|
207
239
|
console.log(chalk.gray(` ${cmd.description}`));
|
|
208
240
|
}
|
|
209
241
|
}
|
|
210
|
-
console.log(chalk.gray(`\n${
|
|
242
|
+
console.log(chalk.gray(`\n${filteredCommands.length} command(s) available`));
|
|
211
243
|
}
|
|
212
244
|
});
|
|
213
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/cli/commands/batch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/cli/commands/batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ralph.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ralph.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqyBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA42B3D"}
|
|
@@ -492,6 +492,7 @@ async function processPendingReviewTasks(ctx, adapter, pendingReviewTasks, optio
|
|
|
492
492
|
}, {
|
|
493
493
|
yolo: options.yolo,
|
|
494
494
|
cwd: options.cwd,
|
|
495
|
+
extraArgs: options.autoApproveArgs,
|
|
495
496
|
handleRequest: (client, reqId, method, params) => handleRequest(client, reqId, method, params, options.yolo),
|
|
496
497
|
});
|
|
497
498
|
if (result.timedOut) {
|
|
@@ -612,6 +613,8 @@ export function registerRalphCommand(program) {
|
|
|
612
613
|
.option("--no-yolo", "Require normal permission prompts")
|
|
613
614
|
.option("--subagent-timeout <minutes>", "Review subagent timeout in minutes", "20")
|
|
614
615
|
.option("--adapter <id>", "Agent adapter to use", "claude-agent-acp")
|
|
616
|
+
.option("--worker-adapter <id>", "Adapter for task-work agent (overrides --adapter)")
|
|
617
|
+
.option("--reviewer-adapter <id>", "Adapter for review subagent (overrides --adapter)")
|
|
615
618
|
.option("--adapter-cmd <cmd>", "Custom adapter command (for testing)")
|
|
616
619
|
.option("--restart-every <n>", "Restart agent every N iterations to prevent OOM (0 = never)", "10")
|
|
617
620
|
.option("--focus <instructions>", "Focus instructions included in every iteration prompt")
|
|
@@ -679,28 +682,32 @@ export function registerRalphCommand(program) {
|
|
|
679
682
|
registerAdapter("custom", customAdapter);
|
|
680
683
|
options.adapter = "custom";
|
|
681
684
|
}
|
|
682
|
-
//
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
// -
|
|
689
|
-
//
|
|
690
|
-
|
|
691
|
-
const
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
// Add yolo flag to adapter args if needed (accept both new and deprecated names)
|
|
701
|
-
if (options.yolo && isDefaultAdapter) {
|
|
702
|
-
adapter.args = [...adapter.args, "--dangerously-skip-permissions"];
|
|
685
|
+
// AC: @ralph-per-role-adapters ac-3, ac-4, ac-5
|
|
686
|
+
// Resolve per-role adapters with precedence: role flag > --adapter > default
|
|
687
|
+
const workerAdapterId = options.workerAdapter ?? options.adapter;
|
|
688
|
+
const reviewerAdapterId = options.reviewerAdapter ?? options.adapter;
|
|
689
|
+
const workerAdapter = resolveAdapter(workerAdapterId);
|
|
690
|
+
const reviewerAdapter = resolveAdapter(reviewerAdapterId);
|
|
691
|
+
// AC: @ralph-per-role-adapters ac-6, ac-9, ac-11
|
|
692
|
+
// Validate adapter packages — deduplicate when same ID
|
|
693
|
+
const adapterIdsToValidate = new Set([workerAdapterId, reviewerAdapterId]);
|
|
694
|
+
for (const id of adapterIdsToValidate) {
|
|
695
|
+
const resolved = resolveAdapter(id);
|
|
696
|
+
const isDefault = id === "claude-agent-acp" || id === "claude-code-acp";
|
|
697
|
+
const skip = resolved.command !== "npx" ||
|
|
698
|
+
!resolved.args[0] ||
|
|
699
|
+
(options.dryRun && isDefault);
|
|
700
|
+
if (!skip) {
|
|
701
|
+
validateAdapter(resolved.args[0]);
|
|
702
|
+
}
|
|
703
703
|
}
|
|
704
|
+
// Build auto-approve extra args per adapter (applied per-spawn to prevent cross-role leakage)
|
|
705
|
+
const workerAutoApproveArgs = options.yolo
|
|
706
|
+
? workerAdapter.autoApproveArgs
|
|
707
|
+
: undefined;
|
|
708
|
+
const reviewerAutoApproveArgs = options.yolo
|
|
709
|
+
? reviewerAdapter.autoApproveArgs
|
|
710
|
+
: undefined;
|
|
704
711
|
const restartInfo = restartEvery > 0 ? `, restart every ${restartEvery}` : "";
|
|
705
712
|
const maxTasksInfo = maxTasks === 0 ? "unlimited" : `${maxTasks}`;
|
|
706
713
|
// Initialize kspec context early to validate --tasks
|
|
@@ -720,7 +727,10 @@ export function registerRalphCommand(program) {
|
|
|
720
727
|
const taskScopeInfo = explicitTaskScope
|
|
721
728
|
? `, tasks=${explicitTaskScope.refs.join(",")}`
|
|
722
729
|
: "";
|
|
723
|
-
|
|
730
|
+
const adapterInfo = workerAdapterId === reviewerAdapterId
|
|
731
|
+
? `adapter=${workerAdapterId}`
|
|
732
|
+
: `worker=${workerAdapterId}, reviewer=${reviewerAdapterId}`;
|
|
733
|
+
info(`Starting ralph loop (${adapterInfo}, max ${maxLoops} iterations, ${maxRetries} retries, ${maxFailures} max failures${restartInfo}, max-tasks=${maxTasksInfo}${taskScopeInfo})`);
|
|
724
734
|
if (options.focus) {
|
|
725
735
|
info(`Focus: ${options.focus}`);
|
|
726
736
|
}
|
|
@@ -738,12 +748,20 @@ export function registerRalphCommand(program) {
|
|
|
738
748
|
// Create session with budget. When maxTasks=0 (unlimited), no budget.json is created.
|
|
739
749
|
await createSessionWithBudget(specDir, {
|
|
740
750
|
id: sessionId,
|
|
741
|
-
agent_type:
|
|
751
|
+
agent_type: workerAdapterId,
|
|
742
752
|
budget: maxTasks,
|
|
743
753
|
});
|
|
744
|
-
//
|
|
745
|
-
//
|
|
746
|
-
|
|
754
|
+
// AC: @ralph-per-role-adapters ac-6, ac-7
|
|
755
|
+
// Adapter IDs for harness-specific env injection/cleanup.
|
|
756
|
+
// Deduplicate by harness target, not just adapter ID. claude-code-acp is
|
|
757
|
+
// an alias for claude-agent-acp — both inject to the same Claude Code
|
|
758
|
+
// settings file. Without normalization, injecting twice would clobber the
|
|
759
|
+
// previousValue and break cleanup restoration.
|
|
760
|
+
const normalizeForEnv = (id) => id === "claude-code-acp" ? "claude-agent-acp" : id;
|
|
761
|
+
const uniqueAdapterIds = [...new Set([
|
|
762
|
+
normalizeForEnv(workerAdapterId),
|
|
763
|
+
normalizeForEnv(reviewerAdapterId),
|
|
764
|
+
])];
|
|
747
765
|
// Everything after session creation is wrapped in try/finally to guarantee
|
|
748
766
|
// budget cleanup even if pre-loop setup (event logging, signal handlers) throws.
|
|
749
767
|
// AC: @ralph-session-budget-integration ac-session-close-all-paths
|
|
@@ -753,7 +771,9 @@ export function registerRalphCommand(program) {
|
|
|
753
771
|
let exitReason = null;
|
|
754
772
|
let lastIterationCtx = null;
|
|
755
773
|
let lastErrorMessage;
|
|
756
|
-
|
|
774
|
+
// AC: @ralph-per-role-adapters ac-7
|
|
775
|
+
// Track previous env values per adapter for cleanup restoration
|
|
776
|
+
const previousEnvValues = new Map();
|
|
757
777
|
const recentTaskRefs = [];
|
|
758
778
|
const sessionIterationMap = new Map();
|
|
759
779
|
// Signal handler refs — declared here so finally can remove them
|
|
@@ -772,7 +792,7 @@ export function registerRalphCommand(program) {
|
|
|
772
792
|
await Promise.all([
|
|
773
793
|
fs.unlink(getSessionBudgetPath(specDir, sessionId)).catch(() => { }),
|
|
774
794
|
closeSession(specDir, sessionId, "abandoned", `Received ${signal}`),
|
|
775
|
-
removeEnvForAdapter(
|
|
795
|
+
...uniqueAdapterIds.map((id) => removeEnvForAdapter(id, previousEnvValues.get(id))),
|
|
776
796
|
]);
|
|
777
797
|
}
|
|
778
798
|
catch {
|
|
@@ -792,19 +812,24 @@ export function registerRalphCommand(program) {
|
|
|
792
812
|
// AC: @ralph-session-budget-integration ac-session-close-all-paths
|
|
793
813
|
process.on("SIGINT", sigintHandler);
|
|
794
814
|
process.on("SIGTERM", sigtermHandler);
|
|
795
|
-
//
|
|
796
|
-
//
|
|
815
|
+
// AC: @ralph-per-role-adapters ac-6, ac-7
|
|
816
|
+
// Inject KSPEC_SESSION_ID into agent harness config for each unique adapter.
|
|
797
817
|
// Process env alone is insufficient — some harnesses (e.g., Claude Code)
|
|
798
818
|
// sandbox child processes and don't forward arbitrary parent env vars.
|
|
799
819
|
// AC: @ralph-session-budget-integration ac-env-inject
|
|
800
|
-
const
|
|
801
|
-
|
|
802
|
-
|
|
820
|
+
for (const id of uniqueAdapterIds) {
|
|
821
|
+
const injectionResult = await injectEnvForAdapter(id, sessionId);
|
|
822
|
+
previousEnvValues.set(id, injectionResult?.previousValue);
|
|
823
|
+
}
|
|
824
|
+
// AC: @ralph-per-role-adapters ac-12
|
|
825
|
+
// Log session start with both adapter IDs
|
|
803
826
|
await appendEvent(specDir, {
|
|
804
827
|
session_id: sessionId,
|
|
805
828
|
type: "session.start",
|
|
806
829
|
data: {
|
|
807
|
-
adapter:
|
|
830
|
+
adapter: workerAdapterId,
|
|
831
|
+
workerAdapter: workerAdapterId,
|
|
832
|
+
reviewerAdapter: reviewerAdapterId,
|
|
808
833
|
maxLoops,
|
|
809
834
|
maxRetries,
|
|
810
835
|
maxFailures,
|
|
@@ -841,14 +866,16 @@ export function registerRalphCommand(program) {
|
|
|
841
866
|
sessionCtx = filterByExplicitTasks(sessionCtx, explicitTaskScope);
|
|
842
867
|
}
|
|
843
868
|
// AC: @ralph-subagent-spawning ac-8 - Process pending_review tasks BEFORE main iteration
|
|
869
|
+
// AC: @ralph-per-role-adapters ac-2 - Use reviewer adapter for review subagents
|
|
844
870
|
// This wraps consecutiveFailures in an object so it can be mutated by the helper
|
|
845
871
|
const failureTracker = { count: consecutiveFailures };
|
|
846
|
-
const continueLoop = await processPendingReviewTasks(ctx,
|
|
872
|
+
const continueLoop = await processPendingReviewTasks(ctx, reviewerAdapter, sessionCtx.pending_review_tasks, {
|
|
847
873
|
yolo: options.yolo,
|
|
848
874
|
maxRetries,
|
|
849
875
|
maxFailures,
|
|
850
876
|
cwd: process.cwd(),
|
|
851
877
|
subagentTimeout: subagentTimeout * 60 * 1000,
|
|
878
|
+
autoApproveArgs: reviewerAutoApproveArgs,
|
|
852
879
|
}, failureTracker);
|
|
853
880
|
consecutiveFailures = failureTracker.count;
|
|
854
881
|
if (!continueLoop) {
|
|
@@ -905,8 +932,11 @@ export function registerRalphCommand(program) {
|
|
|
905
932
|
const taskWorkPrompt = buildTaskWorkPrompt(currentCtx, iteration, maxLoops, sessionId, ctx.config.ralph.skills.task_work, options.focus, explicitTaskScope);
|
|
906
933
|
const reflectPrompt = buildReflectPrompt(iteration, maxLoops, sessionId, ctx.config.ralph.skills.reflect);
|
|
907
934
|
// AC: @cli-ralph ac-21
|
|
935
|
+
// AC: @ralph-per-role-adapters ac-10
|
|
908
936
|
if (options.dryRun) {
|
|
909
937
|
console.log(chalk.yellow("=== DRY RUN - Configuration ===\n"));
|
|
938
|
+
console.log(` worker-adapter: ${workerAdapterId}`);
|
|
939
|
+
console.log(` reviewer-adapter: ${reviewerAdapterId}`);
|
|
910
940
|
console.log(` max-loops: ${maxLoops}`);
|
|
911
941
|
console.log(` max-tasks: ${maxTasks === 0 ? "unlimited" : maxTasks}`);
|
|
912
942
|
console.log(` max-retries: ${maxRetries}`);
|
|
@@ -945,12 +975,15 @@ export function registerRalphCommand(program) {
|
|
|
945
975
|
}
|
|
946
976
|
try {
|
|
947
977
|
// Spawn agent if not already running
|
|
978
|
+
// AC: @ralph-per-role-adapters ac-1 - Use worker adapter for task-work
|
|
948
979
|
if (!agent) {
|
|
949
980
|
info("Spawning ACP agent...");
|
|
950
981
|
// AC: @ralph-session-budget-integration ac-env-inject
|
|
951
|
-
|
|
982
|
+
// AC: @ralph-adapter-auto-approve ac-1, ac-2, ac-3
|
|
983
|
+
agent = await spawnAndInitialize(workerAdapter, {
|
|
952
984
|
cwd: process.cwd(),
|
|
953
985
|
env: { KSPEC_SESSION_ID: sessionId },
|
|
986
|
+
extraArgs: workerAutoApproveArgs,
|
|
954
987
|
clientOptions: {
|
|
955
988
|
clientInfo: {
|
|
956
989
|
name: "kspec-ralph",
|
|
@@ -1127,9 +1160,11 @@ export function registerRalphCommand(program) {
|
|
|
1127
1160
|
agent = null;
|
|
1128
1161
|
}
|
|
1129
1162
|
// AC: @ralph-session-budget-integration ac-session-close-all-paths
|
|
1130
|
-
//
|
|
1163
|
+
// AC: @ralph-per-role-adapters ac-7 - Clean up env for all unique adapters
|
|
1131
1164
|
await fs.unlink(getSessionBudgetPath(specDir, sessionId)).catch(() => { });
|
|
1132
|
-
|
|
1165
|
+
for (const id of uniqueAdapterIds) {
|
|
1166
|
+
await removeEnvForAdapter(id, previousEnvValues.get(id));
|
|
1167
|
+
}
|
|
1133
1168
|
// Clean up session env vars
|
|
1134
1169
|
delete process.env.KSPEC_RALPH_SESSION;
|
|
1135
1170
|
delete process.env.KSPEC_SESSION_ID;
|
|
@@ -1147,9 +1182,11 @@ export function registerRalphCommand(program) {
|
|
|
1147
1182
|
maxLoops, inProgressTasks, pendingReviewTasks, recentTaskRefs, process.cwd(), lastErrorMessage);
|
|
1148
1183
|
info(`Exit reason: ${exitReason}`);
|
|
1149
1184
|
info(`Working tree: ${wrapUpCtx.workingTree.clean ? "clean" : "has uncommitted changes"}`);
|
|
1150
|
-
|
|
1185
|
+
// AC: @ralph-per-role-adapters ac-8 - Wrap-up uses worker adapter
|
|
1186
|
+
const wrapUpResult = await runWrapUpAgent(workerAdapter, wrapUpCtx, {
|
|
1151
1187
|
yolo: options.yolo,
|
|
1152
1188
|
cwd: process.cwd(),
|
|
1189
|
+
extraArgs: workerAutoApproveArgs,
|
|
1153
1190
|
handleRequest: (client, reqId, method, params) => handleRequest(client, reqId, method, params, options.yolo),
|
|
1154
1191
|
}, DEFAULT_WRAPUP_TIMEOUT);
|
|
1155
1192
|
// Log wrap-up result
|