@netlify/axis 1.5.0 → 1.6.1
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 +1 -1
- package/dist/adapters/auggie.d.ts +8 -0
- package/dist/adapters/auggie.d.ts.map +1 -0
- package/dist/adapters/auggie.js +15 -0
- package/dist/adapters/auggie.js.map +1 -0
- package/dist/adapters/blackbox.d.ts +7 -0
- package/dist/adapters/blackbox.d.ts.map +1 -0
- package/dist/adapters/blackbox.js +14 -0
- package/dist/adapters/blackbox.js.map +1 -0
- package/dist/adapters/cline.d.ts +8 -0
- package/dist/adapters/cline.d.ts.map +1 -0
- package/dist/adapters/cline.js +14 -0
- package/dist/adapters/cline.js.map +1 -0
- package/dist/adapters/codex-sdk.d.ts +12 -0
- package/dist/adapters/codex-sdk.d.ts.map +1 -0
- package/dist/adapters/codex-sdk.js +18 -0
- package/dist/adapters/codex-sdk.js.map +1 -0
- package/dist/adapters/copilot.d.ts +11 -0
- package/dist/adapters/copilot.d.ts.map +1 -0
- package/dist/adapters/copilot.js +17 -0
- package/dist/adapters/copilot.js.map +1 -0
- package/dist/adapters/cursor-agent.d.ts +11 -0
- package/dist/adapters/cursor-agent.d.ts.map +1 -0
- package/dist/adapters/cursor-agent.js +18 -0
- package/dist/adapters/cursor-agent.js.map +1 -0
- package/dist/adapters/factory-droid.d.ts +11 -0
- package/dist/adapters/factory-droid.d.ts.map +1 -0
- package/dist/adapters/factory-droid.js +17 -0
- package/dist/adapters/factory-droid.js.map +1 -0
- package/dist/adapters/fast-agent.d.ts +9 -0
- package/dist/adapters/fast-agent.d.ts.map +1 -0
- package/dist/adapters/fast-agent.js +14 -0
- package/dist/adapters/fast-agent.js.map +1 -0
- package/dist/adapters/gemini.d.ts +8 -0
- package/dist/adapters/gemini.d.ts.map +1 -1
- package/dist/adapters/gemini.js +30 -192
- package/dist/adapters/gemini.js.map +1 -1
- package/dist/adapters/kilo.d.ts +7 -0
- package/dist/adapters/kilo.d.ts.map +1 -0
- package/dist/adapters/kilo.js +13 -0
- package/dist/adapters/kilo.js.map +1 -0
- package/dist/adapters/kimi.d.ts +9 -0
- package/dist/adapters/kimi.d.ts.map +1 -0
- package/dist/adapters/kimi.js +15 -0
- package/dist/adapters/kimi.js.map +1 -0
- package/dist/adapters/kiro-cli.d.ts +8 -0
- package/dist/adapters/kiro-cli.d.ts.map +1 -0
- package/dist/adapters/kiro-cli.js +14 -0
- package/dist/adapters/kiro-cli.js.map +1 -0
- package/dist/adapters/mistral-vibe.d.ts +8 -0
- package/dist/adapters/mistral-vibe.d.ts.map +1 -0
- package/dist/adapters/mistral-vibe.js +14 -0
- package/dist/adapters/mistral-vibe.js.map +1 -0
- package/dist/adapters/opencode.d.ts +13 -0
- package/dist/adapters/opencode.d.ts.map +1 -0
- package/dist/adapters/opencode.js +19 -0
- package/dist/adapters/opencode.js.map +1 -0
- package/dist/adapters/openhands.d.ts +8 -0
- package/dist/adapters/openhands.d.ts.map +1 -0
- package/dist/adapters/openhands.js +14 -0
- package/dist/adapters/openhands.js.map +1 -0
- package/dist/adapters/poolside.d.ts +7 -0
- package/dist/adapters/poolside.d.ts.map +1 -0
- package/dist/adapters/poolside.js +14 -0
- package/dist/adapters/poolside.js.map +1 -0
- package/dist/adapters/qoder.d.ts +7 -0
- package/dist/adapters/qoder.d.ts.map +1 -0
- package/dist/adapters/qoder.js +14 -0
- package/dist/adapters/qoder.js.map +1 -0
- package/dist/adapters/qwen-code.d.ts +15 -0
- package/dist/adapters/qwen-code.d.ts.map +1 -0
- package/dist/adapters/qwen-code.js +53 -0
- package/dist/adapters/qwen-code.js.map +1 -0
- package/dist/adapters/registry.d.ts.map +1 -1
- package/dist/adapters/registry.js +38 -2
- package/dist/adapters/registry.js.map +1 -1
- package/dist/adapters/stakpak.d.ts +8 -0
- package/dist/adapters/stakpak.d.ts.map +1 -0
- package/dist/adapters/stakpak.js +14 -0
- package/dist/adapters/stakpak.js.map +1 -0
- package/dist/adapters/utils/mcp.d.ts +0 -11
- package/dist/adapters/utils/mcp.d.ts.map +1 -1
- package/dist/adapters/utils/mcp.js +0 -41
- package/dist/adapters/utils/mcp.js.map +1 -1
- package/dist/adapters/utils/resolve.d.ts.map +1 -1
- package/dist/adapters/utils/resolve.js +7 -1
- package/dist/adapters/utils/resolve.js.map +1 -1
- package/dist/adapters/vtcode.d.ts +11 -0
- package/dist/adapters/vtcode.d.ts.map +1 -0
- package/dist/adapters/vtcode.js +21 -0
- package/dist/adapters/vtcode.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/scoring/index.d.ts.map +1 -1
- package/dist/scoring/index.js +69 -0
- package/dist/scoring/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/adapters/gemini-acp.d.ts +0 -11
- package/dist/adapters/gemini-acp.d.ts.map +0 -1
- package/dist/adapters/gemini-acp.js +0 -60
- package/dist/adapters/gemini-acp.js.map +0 -1
package/README.md
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Augment Code (Auggie) via ACP — `auggie --acp`. Auth is session-based:
|
|
4
|
+
* either run `auggie login` once interactively, or set AUGMENT_SESSION_AUTH
|
|
5
|
+
* to a JSON blob obtained from `auggie token print` (CI/headless flow).
|
|
6
|
+
*/
|
|
7
|
+
export declare function createAuggieAdapter(): AgentAdapter;
|
|
8
|
+
//# sourceMappingURL=auggie.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auggie.d.ts","sourceRoot":"","sources":["../../src/adapters/auggie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAOlD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Augment Code (Auggie) via ACP — `auggie --acp`. Auth is session-based:
|
|
4
|
+
* either run `auggie login` once interactively, or set AUGMENT_SESSION_AUTH
|
|
5
|
+
* to a JSON blob obtained from `auggie token print` (CI/headless flow).
|
|
6
|
+
*/
|
|
7
|
+
export function createAuggieAdapter() {
|
|
8
|
+
return createAcpBasedAdapter({
|
|
9
|
+
name: "auggie",
|
|
10
|
+
cliCommand: "auggie",
|
|
11
|
+
requiredEnv: () => ["AUGMENT_SESSION_AUTH"],
|
|
12
|
+
buildArgs: () => ["--acp"],
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=auggie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auggie.js","sourceRoot":"","sources":["../../src/adapters/auggie.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,sBAAsB,CAAC;QAC3C,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Blackbox AI CLI via ACP — `blackbox --experimental-acp`. Requires
|
|
4
|
+
* BLACKBOX_API_KEY for headless authentication.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createBlackboxAdapter(): AgentAdapter;
|
|
7
|
+
//# sourceMappingURL=blackbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blackbox.d.ts","sourceRoot":"","sources":["../../src/adapters/blackbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,YAAY,CAOpD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Blackbox AI CLI via ACP — `blackbox --experimental-acp`. Requires
|
|
4
|
+
* BLACKBOX_API_KEY for headless authentication.
|
|
5
|
+
*/
|
|
6
|
+
export function createBlackboxAdapter() {
|
|
7
|
+
return createAcpBasedAdapter({
|
|
8
|
+
name: "blackbox",
|
|
9
|
+
cliCommand: "blackbox",
|
|
10
|
+
requiredEnv: () => ["BLACKBOX_API_KEY"],
|
|
11
|
+
buildArgs: () => ["--experimental-acp"],
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=blackbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blackbox.js","sourceRoot":"","sources":["../../src/adapters/blackbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB,CAAC;QACvC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,oBAAoB,CAAC;KACxC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Cline CLI via ACP — `cline --acp`. Cline auth is login-gated through
|
|
4
|
+
* app.cline.bot (`cline auth`); pre-authenticate once before headless
|
|
5
|
+
* use. No env var is enforced.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createClineAdapter(): AgentAdapter;
|
|
8
|
+
//# sourceMappingURL=cline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../../src/adapters/cline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAMjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Cline CLI via ACP — `cline --acp`. Cline auth is login-gated through
|
|
4
|
+
* app.cline.bot (`cline auth`); pre-authenticate once before headless
|
|
5
|
+
* use. No env var is enforced.
|
|
6
|
+
*/
|
|
7
|
+
export function createClineAdapter() {
|
|
8
|
+
return createAcpBasedAdapter({
|
|
9
|
+
name: "cline",
|
|
10
|
+
cliCommand: "cline",
|
|
11
|
+
buildArgs: () => ["--acp"],
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=cline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline.js","sourceRoot":"","sources":["../../src/adapters/cline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* SDK-based Codex adapter. Uses the @zed-industries/codex-acp bridge to
|
|
4
|
+
* communicate with OpenAI's Codex CLI via the Agent Client Protocol over
|
|
5
|
+
* stdio. The bridge spawns Codex internally and translates between ACP
|
|
6
|
+
* and Codex's native protocol.
|
|
7
|
+
*
|
|
8
|
+
* Named `codex-sdk` (parallel to `claude-sdk`) to distinguish from the
|
|
9
|
+
* NDJSON-mode `codex` adapter.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createCodexSdkAdapter(): AgentAdapter;
|
|
12
|
+
//# sourceMappingURL=codex-sdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-sdk.d.ts","sourceRoot":"","sources":["../../src/adapters/codex-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,YAAY,CAMpD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* SDK-based Codex adapter. Uses the @zed-industries/codex-acp bridge to
|
|
4
|
+
* communicate with OpenAI's Codex CLI via the Agent Client Protocol over
|
|
5
|
+
* stdio. The bridge spawns Codex internally and translates between ACP
|
|
6
|
+
* and Codex's native protocol.
|
|
7
|
+
*
|
|
8
|
+
* Named `codex-sdk` (parallel to `claude-sdk`) to distinguish from the
|
|
9
|
+
* NDJSON-mode `codex` adapter.
|
|
10
|
+
*/
|
|
11
|
+
export function createCodexSdkAdapter() {
|
|
12
|
+
return createAcpBasedAdapter({
|
|
13
|
+
name: "codex-sdk",
|
|
14
|
+
cliCommand: "codex-acp",
|
|
15
|
+
requiredEnv: () => ["OPENAI_API_KEY"],
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=codex-sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-sdk.js","sourceRoot":"","sources":["../../src/adapters/codex-sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC;KACtC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* GitHub Copilot CLI via ACP — `copilot --acp` (stdio is inferred). Copilot
|
|
4
|
+
* authenticates via GitHub credentials and reads, in precedence order,
|
|
5
|
+
* COPILOT_GITHUB_TOKEN → GH_TOKEN → GITHUB_TOKEN for headless use.
|
|
6
|
+
* COPILOT_OFFLINE gates server contact; COPILOT_PROVIDER_BASE_URL plus
|
|
7
|
+
* COPILOT_PROVIDER_API_KEY enable BYOK against a custom LLM provider.
|
|
8
|
+
* Interactive sign-in is `copilot auth login`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createCopilotAdapter(): AgentAdapter;
|
|
11
|
+
//# sourceMappingURL=copilot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../src/adapters/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,YAAY,CAMnD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* GitHub Copilot CLI via ACP — `copilot --acp` (stdio is inferred). Copilot
|
|
4
|
+
* authenticates via GitHub credentials and reads, in precedence order,
|
|
5
|
+
* COPILOT_GITHUB_TOKEN → GH_TOKEN → GITHUB_TOKEN for headless use.
|
|
6
|
+
* COPILOT_OFFLINE gates server contact; COPILOT_PROVIDER_BASE_URL plus
|
|
7
|
+
* COPILOT_PROVIDER_API_KEY enable BYOK against a custom LLM provider.
|
|
8
|
+
* Interactive sign-in is `copilot auth login`.
|
|
9
|
+
*/
|
|
10
|
+
export function createCopilotAdapter() {
|
|
11
|
+
return createAcpBasedAdapter({
|
|
12
|
+
name: "copilot",
|
|
13
|
+
cliCommand: "copilot",
|
|
14
|
+
buildArgs: () => ["--acp"],
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=copilot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/adapters/copilot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Cursor CLI via ACP — the binary is literally named `agent` (installed
|
|
4
|
+
* to ~/.local/bin/agent by the Cursor installer). `agent acp` starts an
|
|
5
|
+
* ACP session over stdio.
|
|
6
|
+
*
|
|
7
|
+
* Cursor honors CURSOR_API_KEY for headless auth; alternatively users can
|
|
8
|
+
* run `agent login` once interactively.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createCursorAgentAdapter(): AgentAdapter;
|
|
11
|
+
//# sourceMappingURL=cursor-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-agent.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,CAOvD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Cursor CLI via ACP — the binary is literally named `agent` (installed
|
|
4
|
+
* to ~/.local/bin/agent by the Cursor installer). `agent acp` starts an
|
|
5
|
+
* ACP session over stdio.
|
|
6
|
+
*
|
|
7
|
+
* Cursor honors CURSOR_API_KEY for headless auth; alternatively users can
|
|
8
|
+
* run `agent login` once interactively.
|
|
9
|
+
*/
|
|
10
|
+
export function createCursorAgentAdapter() {
|
|
11
|
+
return createAcpBasedAdapter({
|
|
12
|
+
name: "cursor-agent",
|
|
13
|
+
cliCommand: "agent",
|
|
14
|
+
requiredEnv: () => ["CURSOR_API_KEY"],
|
|
15
|
+
buildArgs: () => ["acp"],
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=cursor-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-agent.js","sourceRoot":"","sources":["../../src/adapters/cursor-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC;QACrC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Factory Droid via ACP — uses the @yaonyan/droid-acp bridge, which
|
|
4
|
+
* spawns Factory's `droid` CLI underneath. Both must be installed:
|
|
5
|
+
* npm i -g @yaonyan/droid-acp
|
|
6
|
+
* curl -fsSL https://app.factory.ai/cli | sh
|
|
7
|
+
*
|
|
8
|
+
* Requires FACTORY_API_KEY.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createFactoryDroidAdapter(): AgentAdapter;
|
|
11
|
+
//# sourceMappingURL=factory-droid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory-droid.d.ts","sourceRoot":"","sources":["../../src/adapters/factory-droid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,IAAI,YAAY,CAMxD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Factory Droid via ACP — uses the @yaonyan/droid-acp bridge, which
|
|
4
|
+
* spawns Factory's `droid` CLI underneath. Both must be installed:
|
|
5
|
+
* npm i -g @yaonyan/droid-acp
|
|
6
|
+
* curl -fsSL https://app.factory.ai/cli | sh
|
|
7
|
+
*
|
|
8
|
+
* Requires FACTORY_API_KEY.
|
|
9
|
+
*/
|
|
10
|
+
export function createFactoryDroidAdapter() {
|
|
11
|
+
return createAcpBasedAdapter({
|
|
12
|
+
name: "factory-droid",
|
|
13
|
+
cliCommand: "droid-acp",
|
|
14
|
+
requiredEnv: () => ["FACTORY_API_KEY"],
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=factory-droid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory-droid.js","sourceRoot":"","sources":["../../src/adapters/factory-droid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC;KACvC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* fast-agent (fast-agent.ai) via ACP — installs as a separate
|
|
4
|
+
* `fast-agent-acp` binary that speaks ACP directly. fast-agent is BYOK
|
|
5
|
+
* across multiple providers; configure the appropriate provider env var
|
|
6
|
+
* (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.) for your model selection.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createFastAgentAdapter(): AgentAdapter;
|
|
9
|
+
//# sourceMappingURL=fast-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fast-agent.d.ts","sourceRoot":"","sources":["../../src/adapters/fast-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CAKrD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* fast-agent (fast-agent.ai) via ACP — installs as a separate
|
|
4
|
+
* `fast-agent-acp` binary that speaks ACP directly. fast-agent is BYOK
|
|
5
|
+
* across multiple providers; configure the appropriate provider env var
|
|
6
|
+
* (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.) for your model selection.
|
|
7
|
+
*/
|
|
8
|
+
export function createFastAgentAdapter() {
|
|
9
|
+
return createAcpBasedAdapter({
|
|
10
|
+
name: "fast-agent",
|
|
11
|
+
cliCommand: "fast-agent-acp",
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=fast-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fast-agent.js","sourceRoot":"","sources":["../../src/adapters/fast-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,gBAAgB;KAC7B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Gemini adapter. Uses `gemini --acp` to launch Gemini CLI in Agent Client
|
|
4
|
+
* Protocol mode over stdio, giving us structured tool calls, plans, and
|
|
5
|
+
* permissions instead of ad-hoc NDJSON.
|
|
6
|
+
*
|
|
7
|
+
* MCP servers are passed through the ACP `session/new` call rather than
|
|
8
|
+
* written to settings.json.
|
|
9
|
+
*/
|
|
2
10
|
export declare function createGeminiAdapter(): AgentAdapter;
|
|
3
11
|
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/adapters/gemini.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/adapters/gemini.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAkDlD"}
|
package/dist/adapters/gemini.js
CHANGED
|
@@ -1,42 +1,32 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
|
-
import {
|
|
4
|
-
import { writeGeminiSettings } from "./utils/mcp.js";
|
|
3
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
5
4
|
import { writeGeminiSkills } from "./utils/skills.js";
|
|
5
|
+
/**
|
|
6
|
+
* Gemini adapter. Uses `gemini --acp` to launch Gemini CLI in Agent Client
|
|
7
|
+
* Protocol mode over stdio, giving us structured tool calls, plans, and
|
|
8
|
+
* permissions instead of ad-hoc NDJSON.
|
|
9
|
+
*
|
|
10
|
+
* MCP servers are passed through the ACP `session/new` call rather than
|
|
11
|
+
* written to settings.json.
|
|
12
|
+
*/
|
|
6
13
|
export function createGeminiAdapter() {
|
|
7
|
-
return
|
|
14
|
+
return createAcpBasedAdapter({
|
|
8
15
|
name: "gemini",
|
|
9
16
|
cliCommand: "gemini",
|
|
10
17
|
requiredEnv: () => ["GEMINI_API_KEY"],
|
|
11
18
|
isolationEnv: (workspace) => ({
|
|
12
19
|
GEMINI_CLI_HOME: path.join(workspace, ".gemini"),
|
|
13
20
|
GEMINI_TELEMETRY_ENABLED: "false",
|
|
21
|
+
// Unset GOOGLE_CLOUD_PROJECT to prevent interactive auth prompts in ACP mode
|
|
22
|
+
GOOGLE_CLOUD_PROJECT: "",
|
|
14
23
|
}),
|
|
15
|
-
prepare: (ctx) => {
|
|
16
|
-
const geminiHome = ctx.env?.GEMINI_CLI_HOME;
|
|
17
|
-
if (!geminiHome)
|
|
18
|
-
return;
|
|
19
|
-
fs.mkdirSync(geminiHome, { recursive: true });
|
|
20
|
-
// Always write settings.json — disables context discovery so Gemini
|
|
21
|
-
// doesn't scan the ephemeral workspace on startup. MCP servers are
|
|
22
|
-
// merged in when configured.
|
|
23
|
-
const mcpServers = ctx.input.mcpServers && Object.keys(ctx.input.mcpServers).length > 0 ? ctx.input.mcpServers : undefined;
|
|
24
|
-
writeGeminiSettings(geminiHome, mcpServers);
|
|
25
|
-
if (ctx.input.resolvedSkills?.length) {
|
|
26
|
-
writeGeminiSkills(geminiHome, ctx.input.resolvedSkills);
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
24
|
buildArgs: (input) => {
|
|
30
|
-
const
|
|
31
|
-
const yolo = flags["yolo"] ?? true;
|
|
32
|
-
const args = ["-p", input.prompt, "--output-format", "stream-json"];
|
|
33
|
-
if (yolo)
|
|
34
|
-
args.push("--yolo");
|
|
25
|
+
const args = ["--acp", "--skip-trust"];
|
|
35
26
|
if (input.config.model)
|
|
36
27
|
args.push("--model", input.config.model);
|
|
28
|
+
const flags = input.config.flags ?? {};
|
|
37
29
|
for (const [key, value] of Object.entries(flags)) {
|
|
38
|
-
if (key === "yolo")
|
|
39
|
-
continue;
|
|
40
30
|
if (value === true) {
|
|
41
31
|
args.push(`--${key}`);
|
|
42
32
|
}
|
|
@@ -46,177 +36,25 @@ export function createGeminiAdapter() {
|
|
|
46
36
|
}
|
|
47
37
|
return args;
|
|
48
38
|
},
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
// Accumulate assistant deltas instead of creating individual entries.
|
|
66
|
-
// Gemini streams assistant messages as chunks with { delta: true }.
|
|
67
|
-
if (event.type === "message" && event.role === "assistant" && event.delta === true) {
|
|
68
|
-
if (!ctx.state.pendingDeltaTimestamp) {
|
|
69
|
-
ctx.state.pendingDeltaTimestamp = event.timestamp ?? new Date().toISOString();
|
|
70
|
-
}
|
|
71
|
-
const chunk = event.content ?? "";
|
|
72
|
-
ctx.state.pendingDelta += chunk;
|
|
73
|
-
ctx.feedAssistantText(chunk);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
// Non-delta event — flush any accumulated assistant text first
|
|
77
|
-
flushPendingDelta(ctx);
|
|
78
|
-
processEvent(event, ctx);
|
|
79
|
-
},
|
|
80
|
-
onEnd: (ctx) => {
|
|
81
|
-
// Flush any remaining delta content at end of stream (including timeout)
|
|
82
|
-
flushPendingDelta(ctx);
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
getResult: (ctx) => {
|
|
86
|
-
const { lastAssistantMessage, tokenUsage, sessionId, resultError } = ctx.state;
|
|
87
|
-
return {
|
|
88
|
-
result: resultError ? null : lastAssistantMessage,
|
|
89
|
-
metadata: {
|
|
90
|
-
tokenUsage,
|
|
91
|
-
sessionId,
|
|
92
|
-
...(resultError ? { error: resultError } : {}),
|
|
39
|
+
prepare: (ctx) => {
|
|
40
|
+
const geminiHome = ctx.env?.GEMINI_CLI_HOME;
|
|
41
|
+
if (!geminiHome)
|
|
42
|
+
return;
|
|
43
|
+
fs.mkdirSync(geminiHome, { recursive: true });
|
|
44
|
+
// Write settings.json to disable context discovery — AXIS workspaces are
|
|
45
|
+
// ephemeral temp dirs with no meaningful project structure. MCP servers
|
|
46
|
+
// are NOT written here; they go through ACP's session/new instead.
|
|
47
|
+
const settings = {
|
|
48
|
+
context: {
|
|
49
|
+
discoveryMaxDirs: 0,
|
|
50
|
+
memoryBoundaryMarkers: [],
|
|
93
51
|
},
|
|
94
52
|
};
|
|
53
|
+
fs.writeFileSync(path.join(geminiHome, "settings.json"), JSON.stringify(settings, null, 2) + "\n");
|
|
54
|
+
if (ctx.input.resolvedSkills?.length) {
|
|
55
|
+
writeGeminiSkills(geminiHome, ctx.input.resolvedSkills);
|
|
56
|
+
}
|
|
95
57
|
},
|
|
96
58
|
});
|
|
97
59
|
}
|
|
98
|
-
function flushPendingDelta(ctx) {
|
|
99
|
-
const { pendingDelta, pendingDeltaTimestamp } = ctx.state;
|
|
100
|
-
if (!pendingDelta)
|
|
101
|
-
return;
|
|
102
|
-
ctx.state.lastAssistantMessage = pendingDelta;
|
|
103
|
-
ctx.transcript.push({
|
|
104
|
-
type: "assistant",
|
|
105
|
-
timestamp: pendingDeltaTimestamp ?? new Date().toISOString(),
|
|
106
|
-
content: {
|
|
107
|
-
type: "message",
|
|
108
|
-
role: "assistant",
|
|
109
|
-
content: pendingDelta,
|
|
110
|
-
},
|
|
111
|
-
});
|
|
112
|
-
ctx.state.pendingDelta = "";
|
|
113
|
-
ctx.state.pendingDeltaTimestamp = null;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Feed any textual content from an event to the token estimator so the live
|
|
117
|
-
* counter keeps moving during tool execution (not just assistant messages).
|
|
118
|
-
*/
|
|
119
|
-
function feedEventText(event, ctx) {
|
|
120
|
-
const content = event.content;
|
|
121
|
-
if (content) {
|
|
122
|
-
ctx.feedAssistantText(content);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const output = event.output;
|
|
126
|
-
if (output) {
|
|
127
|
-
ctx.feedAssistantText(output);
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
const params = event.parameters;
|
|
131
|
-
if (params) {
|
|
132
|
-
ctx.feedAssistantText(JSON.stringify(params));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Process a single NDJSON event from the Gemini CLI stream-json output.
|
|
137
|
-
*
|
|
138
|
-
* Event types:
|
|
139
|
-
* - init — session metadata (session_id, model)
|
|
140
|
-
* - message — user/assistant messages (role, content, delta?)
|
|
141
|
-
* - tool_use — tool invocation (tool_name, tool_id, parameters)
|
|
142
|
-
* - tool_result — tool output (tool_id, status, output?, error?)
|
|
143
|
-
* - error — non-fatal errors (severity, message)
|
|
144
|
-
* - result — final outcome with stats
|
|
145
|
-
*/
|
|
146
|
-
function processEvent(event, ctx) {
|
|
147
|
-
const eventType = event.type;
|
|
148
|
-
if (eventType === "init") {
|
|
149
|
-
const id = event.session_id;
|
|
150
|
-
if (id)
|
|
151
|
-
ctx.state.sessionId = id;
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
if (eventType === "result") {
|
|
155
|
-
const stats = event.stats;
|
|
156
|
-
if (stats) {
|
|
157
|
-
ctx.state.tokenUsage = {
|
|
158
|
-
input: stats.input_tokens ?? 0,
|
|
159
|
-
output: stats.output_tokens ?? 0,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
if (event.status === "error") {
|
|
163
|
-
const errObj = event.error;
|
|
164
|
-
const errMsg = errObj?.message ?? "Unknown error";
|
|
165
|
-
ctx.state.resultError = errMsg;
|
|
166
|
-
ctx.transcript.push({
|
|
167
|
-
type: "error",
|
|
168
|
-
timestamp: event.timestamp ?? new Date().toISOString(),
|
|
169
|
-
content: event,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
if (eventType === "error") {
|
|
175
|
-
ctx.transcript.push({
|
|
176
|
-
type: "error",
|
|
177
|
-
timestamp: event.timestamp ?? new Date().toISOString(),
|
|
178
|
-
content: event,
|
|
179
|
-
});
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
if (eventType === "message") {
|
|
183
|
-
const role = event.role;
|
|
184
|
-
const content = event.content;
|
|
185
|
-
if (role === "assistant" && content) {
|
|
186
|
-
ctx.state.lastAssistantMessage = content;
|
|
187
|
-
ctx.feedAssistantText(content);
|
|
188
|
-
ctx.transcript.push({
|
|
189
|
-
type: "assistant",
|
|
190
|
-
timestamp: event.timestamp ?? new Date().toISOString(),
|
|
191
|
-
content: event,
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
else if (role === "user") {
|
|
195
|
-
feedEventText(event, ctx);
|
|
196
|
-
ctx.transcript.push({
|
|
197
|
-
type: "tool_result",
|
|
198
|
-
timestamp: event.timestamp ?? new Date().toISOString(),
|
|
199
|
-
content: event,
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
if (eventType === "tool_use") {
|
|
205
|
-
feedEventText(event, ctx);
|
|
206
|
-
ctx.transcript.push({
|
|
207
|
-
type: "tool_use",
|
|
208
|
-
timestamp: event.timestamp ?? new Date().toISOString(),
|
|
209
|
-
content: event,
|
|
210
|
-
});
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
if (eventType === "tool_result") {
|
|
214
|
-
feedEventText(event, ctx);
|
|
215
|
-
ctx.transcript.push({
|
|
216
|
-
type: "tool_result",
|
|
217
|
-
timestamp: event.timestamp ?? new Date().toISOString(),
|
|
218
|
-
content: event,
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
60
|
//# sourceMappingURL=gemini.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/adapters/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/adapters/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,QAAQ;QAEpB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC;QAErC,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;YAChD,wBAAwB,EAAE,OAAO;YACjC,6EAA6E;YAC7E,oBAAoB,EAAE,EAAE;SACzB,CAAC;QAEF,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEjE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACf,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;YAC5C,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9C,yEAAyE;YACzE,wEAAwE;YACxE,mEAAmE;YACnE,MAAM,QAAQ,GAAG;gBACf,OAAO,EAAE;oBACP,gBAAgB,EAAE,CAAC;oBACnB,qBAAqB,EAAE,EAAE;iBAC1B;aACF,CAAC;YACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAEnG,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;gBACrC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Kilo Code via ACP — `kilo acp`. Auth is interactive (`kilo /connect`);
|
|
4
|
+
* pre-authenticate once before headless use. No env var is enforced.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createKiloAdapter(): AgentAdapter;
|
|
7
|
+
//# sourceMappingURL=kilo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kilo.d.ts","sourceRoot":"","sources":["../../src/adapters/kilo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAMhD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createAcpBasedAdapter } from "./base/acp-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* Kilo Code via ACP — `kilo acp`. Auth is interactive (`kilo /connect`);
|
|
4
|
+
* pre-authenticate once before headless use. No env var is enforced.
|
|
5
|
+
*/
|
|
6
|
+
export function createKiloAdapter() {
|
|
7
|
+
return createAcpBasedAdapter({
|
|
8
|
+
name: "kilo",
|
|
9
|
+
cliCommand: "kilo",
|
|
10
|
+
buildArgs: () => ["acp"],
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=kilo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kilo.js","sourceRoot":"","sources":["../../src/adapters/kilo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AgentAdapter } from "../types/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Moonshot Kimi CLI via ACP — `kimi acp`. Kimi's primary auth flow is OAuth
|
|
4
|
+
* (`kimi /login` writes ~/.kimi/config.toml). When the openai_legacy /
|
|
5
|
+
* openai_responses providers are configured, Kimi also reads OPENAI_API_KEY
|
|
6
|
+
* (which overrides the config file — see kimi-cli issue #1165).
|
|
7
|
+
*/
|
|
8
|
+
export declare function createKimiAdapter(): AgentAdapter;
|
|
9
|
+
//# sourceMappingURL=kimi.d.ts.map
|