@ken-jo/agent-connector 0.4.75 → 0.4.91
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 +3 -3
- package/dist/{action-TCKBTTZX.js → action-L44DXFHT.js} +14 -14
- package/dist/{amazon-q-CB4XFX7T.js → amazon-q-B52EY2SV.js} +5 -5
- package/dist/{amp-6Q5OYHNW.js → amp-UXABVUKC.js} +5 -5
- package/dist/{antigravity-WIK3XBN5.js → antigravity-RZHN53VB.js} +6 -6
- package/dist/antigravity-cli-JO6GUTV7.js +436 -0
- package/dist/antigravity-cli-JO6GUTV7.js.map +1 -0
- package/dist/{chunk-Q5LECKZL.js → chunk-25CPWJA7.js} +116 -36
- package/dist/chunk-25CPWJA7.js.map +1 -0
- package/dist/{chunk-D6ZJS4ND.js → chunk-4FWETID5.js} +2 -2
- package/dist/{chunk-Q42SEI7W.js → chunk-4HVQ7IUM.js} +3 -3
- package/dist/{chunk-IU42THN7.js → chunk-4NSU3KWX.js} +2 -2
- package/dist/{chunk-7CZKXXBD.js → chunk-56R2ER7K.js} +2 -2
- package/dist/{chunk-HKM3HUOK.js → chunk-7HUUINPB.js} +18 -18
- package/dist/{chunk-TZ5KGCE2.js → chunk-AY3RGRTT.js} +2 -2
- package/dist/{chunk-MHDQWZ4A.js → chunk-BLTVZACS.js} +23 -13
- package/dist/chunk-BLTVZACS.js.map +1 -0
- package/dist/{chunk-7ITLLYWB.js → chunk-G4CEELKO.js} +5 -5
- package/dist/{chunk-TO57WYBB.js → chunk-HORHRHNG.js} +9 -3
- package/dist/chunk-HORHRHNG.js.map +1 -0
- package/dist/{chunk-2HCJV6UO.js → chunk-IXOQDZWC.js} +9 -2
- package/dist/chunk-IXOQDZWC.js.map +1 -0
- package/dist/{chunk-2L6LTQ6L.js → chunk-KIRCPLM4.js} +21 -10
- package/dist/chunk-KIRCPLM4.js.map +1 -0
- package/dist/{chunk-24K6JOKV.js → chunk-LAIITCMW.js} +8 -8
- package/dist/{chunk-OEQJGBBW.js → chunk-LF76VPGQ.js} +9 -9
- package/dist/{chunk-7QRUZAUG.js → chunk-LN76OGNR.js} +2 -2
- package/dist/{chunk-DI6OWKH2.js → chunk-NBUEL74R.js} +3 -3
- package/dist/{chunk-IRUYJD23.js → chunk-NLE2J5P4.js} +1 -1
- package/dist/{chunk-5LAFKXFM.js → chunk-NWLRJNXM.js} +3 -3
- package/dist/{chunk-ECSRTK4M.js → chunk-QARPXSIV.js} +4 -4
- package/dist/{chunk-AXAHW2KU.js → chunk-QKLJU4JX.js} +2 -2
- package/dist/{chunk-MDZG5QHB.js → chunk-R6LML2YS.js} +2 -2
- package/dist/{chunk-FUXUEXDP.js → chunk-UBB7T54N.js} +3 -3
- package/dist/{chunk-NUGMVVV2.js → chunk-VVFDU4IX.js} +4 -4
- package/dist/{chunk-ALVXORZM.js → chunk-YYNXIUR2.js} +2 -2
- package/dist/{chunk-TW4DVR4V.js → chunk-ZMLVR4J7.js} +7 -2
- package/dist/chunk-ZMLVR4J7.js.map +1 -0
- package/dist/{claude-code-HFBAAVWS.js → claude-code-WS4NAGZT.js} +9 -9
- package/dist/cli/sdk.js +7 -7
- package/dist/cli.js +1 -1
- package/dist/{cline-26W4FEZ6.js → cline-NNMVCECA.js} +5 -5
- package/dist/codebuddy-RBEZGXBG.js +643 -0
- package/dist/codebuddy-RBEZGXBG.js.map +1 -0
- package/dist/{codebuff-J5KEEBIL.js → codebuff-RJIDSEU3.js} +5 -5
- package/dist/{codex-JKQ6TLRI.js → codex-ZZ434GYR.js} +8 -8
- package/dist/{continue-KQSJUSWX.js → continue-MNM7YVJY.js} +6 -6
- package/dist/{copilot-cli-YBNKLYUB.js → copilot-cli-SMTX5F65.js} +5 -5
- package/dist/{crush-JTWTZIPB.js → crush-NYDBHIJE.js} +5 -5
- package/dist/{cursor-2NIZSDZ4.js → cursor-AOELDNZU.js} +6 -6
- package/dist/{detect-CWEIQCRC.js → detect-3S46RUMK.js} +4 -4
- package/dist/devin-PRJY2TTD.js +510 -0
- package/dist/devin-PRJY2TTD.js.map +1 -0
- package/dist/{doctor-AC437ZAW.js → doctor-3CUBPQKU.js} +22 -22
- package/dist/{droid-HF2AIFB2.js → droid-PTCH2K7Y.js} +5 -5
- package/dist/{gemini-cli-2EOK26S2.js → gemini-cli-QGLN2UMS.js} +5 -5
- package/dist/{goose-55JOTXS5.js → goose-DQ6GSZ5O.js} +6 -6
- package/dist/grok-cli-5QD235UB.js +482 -0
- package/dist/grok-cli-5QD235UB.js.map +1 -0
- package/dist/{hermes-QVZOZU4B.js → hermes-E47IG63A.js} +6 -6
- package/dist/{hook-VYD3OCLM.js → hook-P6EKDINW.js} +14 -14
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -5
- package/dist/{install-S6BYIJ62.js → install-7DMK53SB.js} +18 -18
- package/dist/{introspect-5o5ick0_.d.ts → introspect-DYOIX8Ov.d.ts} +1 -1
- package/dist/{jetbrains-copilot-DZ2ATXFN.js → jetbrains-copilot-T2EPKROP.js} +13 -7
- package/dist/jetbrains-copilot-T2EPKROP.js.map +1 -0
- package/dist/junie-SQ4SDLGK.js +227 -0
- package/dist/junie-SQ4SDLGK.js.map +1 -0
- package/dist/{kilo-GJNSBWVV.js → kilo-OU2ZLZKB.js} +8 -8
- package/dist/{kilo-cli-2CCB3DBI.js → kilo-cli-NMWGYF4F.js} +8 -8
- package/dist/{kimi-YRPCSB6N.js → kimi-Z7L2LEEI.js} +5 -5
- package/dist/{kiro-BUOQFASX.js → kiro-4IN5IH46.js} +81 -6
- package/dist/kiro-4IN5IH46.js.map +1 -0
- package/dist/{leaderboard-SUSUDKHR.js → leaderboard-LF5SP6X2.js} +7 -7
- package/dist/{mimo-code-V4FP5PUJ.js → mimo-code-G2CBZ4M6.js} +5 -5
- package/dist/mistral-vibe-TRQDHAWV.js +300 -0
- package/dist/mistral-vibe-TRQDHAWV.js.map +1 -0
- package/dist/{mux-CMJSM42O.js → mux-JNM3F2NW.js} +5 -5
- package/dist/{nemoclaw-VP56PGKC.js → nemoclaw-SHA4IUML.js} +6 -6
- package/dist/{omp-OOFGD3GG.js → omp-OOVUNXME.js} +5 -5
- package/dist/open-interpreter-4PKL56AA.js +264 -0
- package/dist/open-interpreter-4PKL56AA.js.map +1 -0
- package/dist/openclaw-BD56E5MV.js +17 -0
- package/dist/{opencode-MKLHSQRD.js → opencode-W2RK4M7G.js} +5 -5
- package/dist/openhands-5LNH3BKB.js +384 -0
- package/dist/openhands-5LNH3BKB.js.map +1 -0
- package/dist/{package-KOAAVKHH.js → package-2EAIYSJ4.js} +13 -13
- package/dist/{pi-NMVL7OFL.js → pi-BUADR5MJ.js} +143 -6
- package/dist/pi-BUADR5MJ.js.map +1 -0
- package/dist/{qwen-code-2XE2T6F4.js → qwen-code-TUJNHKNI.js} +9 -9
- package/dist/{roo-code-YJOIKCCS.js → roo-code-L5F7S6QH.js} +5 -5
- package/dist/runtime/index.d.ts +12 -1
- package/dist/runtime/index.js +12 -12
- package/dist/sdk/index.d.ts +3 -3
- package/dist/sdk/index.js +6 -6
- package/dist/sdk/test.d.ts +2 -2
- package/dist/sdk/test.js +10 -10
- package/dist/{serve-BU23QUSJ.js → serve-K62FW3V7.js} +24 -17
- package/dist/serve-K62FW3V7.js.map +1 -0
- package/dist/{status-N5LCQQ3R.js → status-E5MCFZM6.js} +11 -11
- package/dist/{statusline-442XOF7R.js → statusline-LIPF2KVP.js} +13 -13
- package/dist/{telemetry-V4YQL2NU.js → telemetry-4OC56NTM.js} +10 -10
- package/dist/{trae-QSV2JZFT.js → trae-Z7CQ2A2Q.js} +5 -5
- package/dist/{types-D6RWGXm1.d.ts → types-C4qMgbJn.d.ts} +10 -9
- package/dist/{uninstall-WGEKTCDZ.js → uninstall-2YYKN5DX.js} +18 -18
- package/dist/{upgrade-IH7CKPTO.js → upgrade-55AFPJEF.js} +18 -18
- package/dist/{usage-DI7XRCKM.js → usage-3PB3WZSL.js} +3 -3
- package/dist/{usage-event-2FCU55AN.js → usage-event-KD5FW6W4.js} +13 -13
- package/dist/{vscode-copilot-R23RTVST.js → vscode-copilot-LU5NC4ZS.js} +5 -5
- package/dist/{warp-B72XSQ5G.js → warp-4PPG5LOM.js} +5 -5
- package/dist/{windsurf-642VBMQ2.js → windsurf-3T3RVXKM.js} +5 -5
- package/dist/{zed-6UJS7JKB.js → zed-ZF2OQ75O.js} +123 -7
- package/dist/zed-ZF2OQ75O.js.map +1 -0
- package/package.json +1 -1
- package/dist/antigravity-cli-L3RZMF6V.js +0 -87
- package/dist/antigravity-cli-L3RZMF6V.js.map +0 -1
- package/dist/chunk-2HCJV6UO.js.map +0 -1
- package/dist/chunk-2L6LTQ6L.js.map +0 -1
- package/dist/chunk-MHDQWZ4A.js.map +0 -1
- package/dist/chunk-Q5LECKZL.js.map +0 -1
- package/dist/chunk-TO57WYBB.js.map +0 -1
- package/dist/chunk-TW4DVR4V.js.map +0 -1
- package/dist/jetbrains-copilot-DZ2ATXFN.js.map +0 -1
- package/dist/kiro-BUOQFASX.js.map +0 -1
- package/dist/openclaw-V73XHPXP.js +0 -17
- package/dist/pi-NMVL7OFL.js.map +0 -1
- package/dist/serve-BU23QUSJ.js.map +0 -1
- package/dist/zed-6UJS7JKB.js.map +0 -1
- /package/dist/{action-TCKBTTZX.js.map → action-L44DXFHT.js.map} +0 -0
- /package/dist/{amazon-q-CB4XFX7T.js.map → amazon-q-B52EY2SV.js.map} +0 -0
- /package/dist/{amp-6Q5OYHNW.js.map → amp-UXABVUKC.js.map} +0 -0
- /package/dist/{antigravity-WIK3XBN5.js.map → antigravity-RZHN53VB.js.map} +0 -0
- /package/dist/{chunk-D6ZJS4ND.js.map → chunk-4FWETID5.js.map} +0 -0
- /package/dist/{chunk-Q42SEI7W.js.map → chunk-4HVQ7IUM.js.map} +0 -0
- /package/dist/{chunk-IU42THN7.js.map → chunk-4NSU3KWX.js.map} +0 -0
- /package/dist/{chunk-7CZKXXBD.js.map → chunk-56R2ER7K.js.map} +0 -0
- /package/dist/{chunk-HKM3HUOK.js.map → chunk-7HUUINPB.js.map} +0 -0
- /package/dist/{chunk-TZ5KGCE2.js.map → chunk-AY3RGRTT.js.map} +0 -0
- /package/dist/{chunk-7ITLLYWB.js.map → chunk-G4CEELKO.js.map} +0 -0
- /package/dist/{chunk-24K6JOKV.js.map → chunk-LAIITCMW.js.map} +0 -0
- /package/dist/{chunk-OEQJGBBW.js.map → chunk-LF76VPGQ.js.map} +0 -0
- /package/dist/{chunk-7QRUZAUG.js.map → chunk-LN76OGNR.js.map} +0 -0
- /package/dist/{chunk-DI6OWKH2.js.map → chunk-NBUEL74R.js.map} +0 -0
- /package/dist/{chunk-IRUYJD23.js.map → chunk-NLE2J5P4.js.map} +0 -0
- /package/dist/{chunk-5LAFKXFM.js.map → chunk-NWLRJNXM.js.map} +0 -0
- /package/dist/{chunk-ECSRTK4M.js.map → chunk-QARPXSIV.js.map} +0 -0
- /package/dist/{chunk-AXAHW2KU.js.map → chunk-QKLJU4JX.js.map} +0 -0
- /package/dist/{chunk-MDZG5QHB.js.map → chunk-R6LML2YS.js.map} +0 -0
- /package/dist/{chunk-FUXUEXDP.js.map → chunk-UBB7T54N.js.map} +0 -0
- /package/dist/{chunk-NUGMVVV2.js.map → chunk-VVFDU4IX.js.map} +0 -0
- /package/dist/{chunk-ALVXORZM.js.map → chunk-YYNXIUR2.js.map} +0 -0
- /package/dist/{claude-code-HFBAAVWS.js.map → claude-code-WS4NAGZT.js.map} +0 -0
- /package/dist/{cline-26W4FEZ6.js.map → cline-NNMVCECA.js.map} +0 -0
- /package/dist/{codebuff-J5KEEBIL.js.map → codebuff-RJIDSEU3.js.map} +0 -0
- /package/dist/{codex-JKQ6TLRI.js.map → codex-ZZ434GYR.js.map} +0 -0
- /package/dist/{continue-KQSJUSWX.js.map → continue-MNM7YVJY.js.map} +0 -0
- /package/dist/{copilot-cli-YBNKLYUB.js.map → copilot-cli-SMTX5F65.js.map} +0 -0
- /package/dist/{crush-JTWTZIPB.js.map → crush-NYDBHIJE.js.map} +0 -0
- /package/dist/{cursor-2NIZSDZ4.js.map → cursor-AOELDNZU.js.map} +0 -0
- /package/dist/{detect-CWEIQCRC.js.map → detect-3S46RUMK.js.map} +0 -0
- /package/dist/{doctor-AC437ZAW.js.map → doctor-3CUBPQKU.js.map} +0 -0
- /package/dist/{droid-HF2AIFB2.js.map → droid-PTCH2K7Y.js.map} +0 -0
- /package/dist/{gemini-cli-2EOK26S2.js.map → gemini-cli-QGLN2UMS.js.map} +0 -0
- /package/dist/{goose-55JOTXS5.js.map → goose-DQ6GSZ5O.js.map} +0 -0
- /package/dist/{hermes-QVZOZU4B.js.map → hermes-E47IG63A.js.map} +0 -0
- /package/dist/{hook-VYD3OCLM.js.map → hook-P6EKDINW.js.map} +0 -0
- /package/dist/{install-S6BYIJ62.js.map → install-7DMK53SB.js.map} +0 -0
- /package/dist/{kilo-GJNSBWVV.js.map → kilo-OU2ZLZKB.js.map} +0 -0
- /package/dist/{kilo-cli-2CCB3DBI.js.map → kilo-cli-NMWGYF4F.js.map} +0 -0
- /package/dist/{kimi-YRPCSB6N.js.map → kimi-Z7L2LEEI.js.map} +0 -0
- /package/dist/{leaderboard-SUSUDKHR.js.map → leaderboard-LF5SP6X2.js.map} +0 -0
- /package/dist/{mimo-code-V4FP5PUJ.js.map → mimo-code-G2CBZ4M6.js.map} +0 -0
- /package/dist/{mux-CMJSM42O.js.map → mux-JNM3F2NW.js.map} +0 -0
- /package/dist/{nemoclaw-VP56PGKC.js.map → nemoclaw-SHA4IUML.js.map} +0 -0
- /package/dist/{omp-OOFGD3GG.js.map → omp-OOVUNXME.js.map} +0 -0
- /package/dist/{openclaw-V73XHPXP.js.map → openclaw-BD56E5MV.js.map} +0 -0
- /package/dist/{opencode-MKLHSQRD.js.map → opencode-W2RK4M7G.js.map} +0 -0
- /package/dist/{package-KOAAVKHH.js.map → package-2EAIYSJ4.js.map} +0 -0
- /package/dist/{qwen-code-2XE2T6F4.js.map → qwen-code-TUJNHKNI.js.map} +0 -0
- /package/dist/{roo-code-YJOIKCCS.js.map → roo-code-L5F7S6QH.js.map} +0 -0
- /package/dist/{status-N5LCQQ3R.js.map → status-E5MCFZM6.js.map} +0 -0
- /package/dist/{statusline-442XOF7R.js.map → statusline-LIPF2KVP.js.map} +0 -0
- /package/dist/{telemetry-V4YQL2NU.js.map → telemetry-4OC56NTM.js.map} +0 -0
- /package/dist/{trae-QSV2JZFT.js.map → trae-Z7CQ2A2Q.js.map} +0 -0
- /package/dist/{uninstall-WGEKTCDZ.js.map → uninstall-2YYKN5DX.js.map} +0 -0
- /package/dist/{upgrade-IH7CKPTO.js.map → upgrade-55AFPJEF.js.map} +0 -0
- /package/dist/{usage-DI7XRCKM.js.map → usage-3PB3WZSL.js.map} +0 -0
- /package/dist/{usage-event-2FCU55AN.js.map → usage-event-KD5FW6W4.js.map} +0 -0
- /package/dist/{vscode-copilot-R23RTVST.js.map → vscode-copilot-LU5NC4ZS.js.map} +0 -0
- /package/dist/{warp-B72XSQ5G.js.map → warp-4PPG5LOM.js.map} +0 -0
- /package/dist/{windsurf-642VBMQ2.js.map → windsurf-3T3RVXKM.js.map} +0 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
resolveEnvRefsDeep
|
|
4
|
+
} from "./chunk-BEFVJ2OE.js";
|
|
5
|
+
import {
|
|
6
|
+
BaseAdapter,
|
|
7
|
+
removeFromObjectMap,
|
|
8
|
+
upsertInObjectMap
|
|
9
|
+
} from "./chunk-VVFDU4IX.js";
|
|
10
|
+
import {
|
|
11
|
+
buildWrappedStdio
|
|
12
|
+
} from "./chunk-HORHRHNG.js";
|
|
13
|
+
import "./chunk-YYNXIUR2.js";
|
|
14
|
+
import {
|
|
15
|
+
ensureDir
|
|
16
|
+
} from "./chunk-IXOQDZWC.js";
|
|
17
|
+
|
|
18
|
+
// src/adapters/open-interpreter/index.ts
|
|
19
|
+
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
20
|
+
import { homedir } from "os";
|
|
21
|
+
import { dirname, join, resolve } from "path";
|
|
22
|
+
import TOML from "@iarna/toml";
|
|
23
|
+
var HOST = "open-interpreter";
|
|
24
|
+
var MCP_ROOT_KEY = "mcp_servers";
|
|
25
|
+
var OpenInterpreterAdapter = class extends BaseAdapter {
|
|
26
|
+
id = HOST;
|
|
27
|
+
name = "Open Interpreter";
|
|
28
|
+
paradigm = "mcp-only";
|
|
29
|
+
capabilities = {
|
|
30
|
+
// mcp-only: every hook flag is false (no first-party-verified hook surface
|
|
31
|
+
// for the `interpreter` product).
|
|
32
|
+
preToolUse: false,
|
|
33
|
+
postToolUse: false,
|
|
34
|
+
preCompact: false,
|
|
35
|
+
sessionStart: false,
|
|
36
|
+
sessionEnd: false,
|
|
37
|
+
userPromptSubmit: false,
|
|
38
|
+
stop: false,
|
|
39
|
+
notification: false,
|
|
40
|
+
canModifyArgs: false,
|
|
41
|
+
canModifyOutput: false,
|
|
42
|
+
canInjectSessionContext: false,
|
|
43
|
+
// config.toml [mcp_servers] supports stdio (command) + streamable HTTP (url),
|
|
44
|
+
// inheriting codex's transport support.
|
|
45
|
+
transports: ["stdio", "http"]
|
|
46
|
+
};
|
|
47
|
+
// ── Detection ──────────────────────────────────────────────────────────
|
|
48
|
+
detectInstalled(_projectDir) {
|
|
49
|
+
const userDir = this.userConfigDir();
|
|
50
|
+
const userCfg = join(userDir, "config.toml");
|
|
51
|
+
const installed = existsSync(userDir) || existsSync(userCfg);
|
|
52
|
+
return {
|
|
53
|
+
id: this.id,
|
|
54
|
+
name: this.name,
|
|
55
|
+
installed,
|
|
56
|
+
paradigm: this.paradigm,
|
|
57
|
+
capabilities: this.capabilities,
|
|
58
|
+
configPath: userCfg,
|
|
59
|
+
scope: "user",
|
|
60
|
+
reason: installed ? `Found Open Interpreter config dir (${userDir})` : `No Open Interpreter config dir at ${userDir}`,
|
|
61
|
+
confidence: installed ? "high" : "low"
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// ── Native paths ───────────────────────────────────────────────────────
|
|
65
|
+
// User scope only — Open Interpreter (like codex's user scope) keeps its config
|
|
66
|
+
// under the home dir. The home dir is $INTERPRETER_HOME (when set & non-empty)
|
|
67
|
+
// or ~/.openinterpreter; $CODEX_HOME is deliberately NOT consulted (the fork
|
|
68
|
+
// isolates the two identities — codex-rs/utils/home-dir/src/lib.rs).
|
|
69
|
+
getConfigDir(_ctx) {
|
|
70
|
+
return this.userConfigDir();
|
|
71
|
+
}
|
|
72
|
+
getServerConfigPath(ctx) {
|
|
73
|
+
return join(this.getConfigDir(ctx), "config.toml");
|
|
74
|
+
}
|
|
75
|
+
/** Open Interpreter has no separate hook file — alias the hook config path to
|
|
76
|
+
* the MCP file so the generic doctor/backup helpers behave sensibly (the
|
|
77
|
+
* amazon-q / windsurf idiom for mcp-only hosts). */
|
|
78
|
+
getHookConfigPath(ctx) {
|
|
79
|
+
return this.getServerConfigPath(ctx);
|
|
80
|
+
}
|
|
81
|
+
/** $INTERPRETER_HOME (tilde-expanded, then resolved) when set & non-empty,
|
|
82
|
+
* else ~/.openinterpreter. Byte-confirmed against codex-rs/utils/home-dir. */
|
|
83
|
+
userConfigDir() {
|
|
84
|
+
const env = process.env.INTERPRETER_HOME;
|
|
85
|
+
if (env && env.trim() !== "") {
|
|
86
|
+
if (env.startsWith("~")) return join(homedir(), env.replace(/^~[/\\]?/, ""));
|
|
87
|
+
return resolve(env);
|
|
88
|
+
}
|
|
89
|
+
return join(homedir(), ".openinterpreter");
|
|
90
|
+
}
|
|
91
|
+
// ── TOML config IO (config.toml is TOML, not JSON) ───────────────────────
|
|
92
|
+
readToml(path) {
|
|
93
|
+
if (!existsSync(path)) return {};
|
|
94
|
+
try {
|
|
95
|
+
return TOML.parse(readFileSync(path, "utf8"));
|
|
96
|
+
} catch {
|
|
97
|
+
return {};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
writeToml(path, data, dryRun) {
|
|
101
|
+
if (dryRun) return;
|
|
102
|
+
ensureDir(dirname(path));
|
|
103
|
+
writeFileSync(path, TOML.stringify(data), "utf8");
|
|
104
|
+
}
|
|
105
|
+
/** An ObjectMapCodec over config.toml for the core/object-map engine.
|
|
106
|
+
* `isPresentButUnparseable` is `() => false`: readToml fail-softs to {} and the
|
|
107
|
+
* server path coerces/overwrites rather than warn-skip on an unparseable file —
|
|
108
|
+
* matching the codex adapter's coerce policy. */
|
|
109
|
+
tomlObjectMapCodec() {
|
|
110
|
+
return {
|
|
111
|
+
parse: (path) => this.readToml(path),
|
|
112
|
+
serialize: (path, data, dryRun) => this.writeToml(path, data, dryRun),
|
|
113
|
+
isPresentButUnparseable: () => false
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
// ── Install server (config.toml → [mcp_servers.<id>]) ───────────────────
|
|
117
|
+
installServer(ctx) {
|
|
118
|
+
const { connector, dryRun } = ctx;
|
|
119
|
+
const server = this.effectiveServer(ctx);
|
|
120
|
+
const path = this.getServerConfigPath(ctx);
|
|
121
|
+
if (!server) {
|
|
122
|
+
return [{ platform: this.id, action: "skip", path, detail: "no server declared" }];
|
|
123
|
+
}
|
|
124
|
+
const isStdio = server.transport === "stdio" && !!server.command;
|
|
125
|
+
const isHttp = server.transport === "http" && !!server.url;
|
|
126
|
+
if (!isStdio && !isHttp) {
|
|
127
|
+
return [
|
|
128
|
+
{
|
|
129
|
+
platform: this.id,
|
|
130
|
+
action: "skip",
|
|
131
|
+
path,
|
|
132
|
+
detail: `transport "${server.transport}" not registrable in config.toml (stdio + streamable-http only)`
|
|
133
|
+
}
|
|
134
|
+
];
|
|
135
|
+
}
|
|
136
|
+
const symlink = this.symlinkPathWarning(path);
|
|
137
|
+
if (symlink) return [symlink];
|
|
138
|
+
const entry = this.renderMcpEntry(ctx, server);
|
|
139
|
+
return [
|
|
140
|
+
upsertInObjectMap({
|
|
141
|
+
codec: this.tomlObjectMapCodec(),
|
|
142
|
+
rootKey: MCP_ROOT_KEY,
|
|
143
|
+
policy: "coerce",
|
|
144
|
+
platform: this.id,
|
|
145
|
+
configPath: path,
|
|
146
|
+
entryId: connector.id,
|
|
147
|
+
entry,
|
|
148
|
+
dryRun
|
|
149
|
+
})
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
uninstallServer(ctx) {
|
|
153
|
+
const { connector, dryRun } = ctx;
|
|
154
|
+
const path = this.getServerConfigPath(ctx);
|
|
155
|
+
const symlink = this.symlinkPathWarning(path);
|
|
156
|
+
if (symlink) return [symlink];
|
|
157
|
+
return [
|
|
158
|
+
removeFromObjectMap({
|
|
159
|
+
codec: this.tomlObjectMapCodec(),
|
|
160
|
+
rootKey: MCP_ROOT_KEY,
|
|
161
|
+
policy: "coerce",
|
|
162
|
+
platform: this.id,
|
|
163
|
+
configPath: path,
|
|
164
|
+
entryId: connector.id,
|
|
165
|
+
dryRun
|
|
166
|
+
})
|
|
167
|
+
];
|
|
168
|
+
}
|
|
169
|
+
// ── Hooks (unavailable — Open Interpreter is mcp-only here) ──────────────
|
|
170
|
+
installHooks(_ctx) {
|
|
171
|
+
return [
|
|
172
|
+
{
|
|
173
|
+
platform: this.id,
|
|
174
|
+
action: "skip",
|
|
175
|
+
detail: "hooks unavailable (Open Interpreter is mcp-only)"
|
|
176
|
+
}
|
|
177
|
+
];
|
|
178
|
+
}
|
|
179
|
+
uninstallHooks(_ctx) {
|
|
180
|
+
return [
|
|
181
|
+
{
|
|
182
|
+
platform: this.id,
|
|
183
|
+
action: "skip",
|
|
184
|
+
detail: "hooks unavailable (Open Interpreter is mcp-only)"
|
|
185
|
+
}
|
|
186
|
+
];
|
|
187
|
+
}
|
|
188
|
+
// ── Health checks (default doctor renders these) ────────────────────────
|
|
189
|
+
getHealthChecks(ctx) {
|
|
190
|
+
const path = this.getServerConfigPath(ctx);
|
|
191
|
+
const id = ctx.connector.id;
|
|
192
|
+
return [
|
|
193
|
+
{
|
|
194
|
+
name: `${this.name}: config.toml exists`,
|
|
195
|
+
check: () => existsSync(path) ? { status: "OK", detail: path } : { status: "FAIL", detail: `not found: ${path}` }
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
name: `${this.name}: ${MCP_ROOT_KEY}.${id} registered`,
|
|
199
|
+
check: () => {
|
|
200
|
+
if (!ctx.connector.server) {
|
|
201
|
+
return { status: "OK", detail: "no MCP server declared" };
|
|
202
|
+
}
|
|
203
|
+
const cfg = this.readToml(path);
|
|
204
|
+
const bucket = cfg[MCP_ROOT_KEY];
|
|
205
|
+
const present = typeof bucket === "object" && bucket !== null && id in bucket;
|
|
206
|
+
return present ? { status: "OK", detail: `${MCP_ROOT_KEY}.${id}` } : { status: "FAIL", detail: `${MCP_ROOT_KEY}.${id} not found in ${path}` };
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
];
|
|
210
|
+
}
|
|
211
|
+
// ── Internal helpers ────────────────────────────────────────────────────
|
|
212
|
+
/** Resolve the per-platform server override into an effective ServerDef. */
|
|
213
|
+
effectiveServer(ctx) {
|
|
214
|
+
const override = ctx.connector.platforms[this.id]?.server;
|
|
215
|
+
if (override === false) return void 0;
|
|
216
|
+
const base = ctx.connector.server;
|
|
217
|
+
if (!base) return void 0;
|
|
218
|
+
return override ? { ...base, ...override } : base;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Render the `[mcp_servers.<id>]` table. TOML has NO interpolation, so every
|
|
222
|
+
* `${env:VAR}` is resolved to a literal at install time. Honors the telemetry
|
|
223
|
+
* serve-wrapper for stdio.
|
|
224
|
+
*/
|
|
225
|
+
renderMcpEntry(ctx, server) {
|
|
226
|
+
if (server.transport === "http") {
|
|
227
|
+
const remote = { url: resolveEnvRefsDeep(server.url ?? "") };
|
|
228
|
+
if (server.auth?.type === "bearerEnv" && server.auth.bearerEnvVar) {
|
|
229
|
+
remote.bearer_token_env_var = server.auth.bearerEnvVar;
|
|
230
|
+
}
|
|
231
|
+
if (server.headers && Object.keys(server.headers).length > 0) {
|
|
232
|
+
const headers = {};
|
|
233
|
+
for (const [k, v] of Object.entries(resolveEnvRefsDeep(server.headers))) {
|
|
234
|
+
headers[k] = String(v);
|
|
235
|
+
}
|
|
236
|
+
remote.http_headers = headers;
|
|
237
|
+
}
|
|
238
|
+
return remote;
|
|
239
|
+
}
|
|
240
|
+
let command = server.command;
|
|
241
|
+
let args = [...server.args ?? []];
|
|
242
|
+
({ command, args } = buildWrappedStdio(ctx, server, this.id, command, args));
|
|
243
|
+
command = resolveEnvRefsDeep(command);
|
|
244
|
+
args = resolveEnvRefsDeep(args);
|
|
245
|
+
const entry = { command };
|
|
246
|
+
if (args.length > 0) entry.args = args;
|
|
247
|
+
if (server.env && Object.keys(server.env).length > 0) {
|
|
248
|
+
const env = {};
|
|
249
|
+
for (const [k, v] of Object.entries(resolveEnvRefsDeep(server.env))) {
|
|
250
|
+
env[k] = String(v);
|
|
251
|
+
}
|
|
252
|
+
entry.env = env;
|
|
253
|
+
}
|
|
254
|
+
return entry;
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
var adapter = new OpenInterpreterAdapter();
|
|
258
|
+
var open_interpreter_default = adapter;
|
|
259
|
+
export {
|
|
260
|
+
OpenInterpreterAdapter,
|
|
261
|
+
adapter,
|
|
262
|
+
open_interpreter_default as default
|
|
263
|
+
};
|
|
264
|
+
//# sourceMappingURL=open-interpreter-4PKL56AA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/adapters/open-interpreter/index.ts"],"sourcesContent":["/**\n * adapters/open-interpreter — Open Interpreter (the new Rust `interpreter` / `i`\n * CLI) platform adapter for agent-connector.\n *\n * Open Interpreter is a FORK of OpenAI's Codex. The project's own README states\n * verbatim: \"This is the new Rust version of Open Interpreter … Open Interpreter\n * is a fork of OpenAI's Codex, with a focus on emulating the agent harness that\n * gets the best performance out of low-cost models.\" (The original Python project\n * lives on as the community fork endolith/open-interpreter.) The repo at\n * github.com/openinterpreter/open-interpreter IS the codex-rs source tree.\n *\n * Because it is Codex, the native MCP config is Codex's:\n * - config file → <home>/config.toml (CONFIG_TOML_FILE = \"config.toml\";\n * codex-rs/config/src/lib.rs:33), TOML.\n * - MCP table → `[mcp_servers.<id>]` (codex-rs/config/src/mcp_edit.rs:\n * replace_mcp_servers inserts root key \"mcp_servers\"). stdio entry shape is\n * { command, args, env } and the streamable-HTTP entry is { url,\n * bearer_token_env_var?, http_headers? } (codex-rs/config/src/mcp_types.rs\n * RawMcpServerConfig). TOML has NO native interpolation, so `${env:VAR}` refs\n * resolve to LITERALS at install time (same rule as the codex adapter).\n *\n * Config HOME (byte-confirmed against codex-rs/utils/home-dir/src/lib.rs):\n * - The `interpreter` binary deliberately does NOT honor $CODEX_HOME (\"sharing\n * the Codex home leaks Codex config, update caches, and credentials into the\n * Interpreter identity\"). The ONLY honored override is $INTERPRETER_HOME, and\n * the default is ~/.openinterpreter. The install script\n * (scripts/install/install-open-interpreter.sh) confirms both: it sets\n * CODEX_COMMAND_NAME=interpreter and CODEX_HOME=\"${INTERPRETER_HOME:-$HOME/.openinterpreter}\".\n *\n * Paradigm: mcp-only. Codex's hook subsystem (codex-rs/hooks) is present in the\n * fork, but the `interpreter` PRODUCT's live hook wire contract is not first-party\n * verified here (a live authenticated run, which we cannot perform). Following the\n * project rule \"MCP-only unless hooks byte-confirmed\", this adapter registers the\n * MCP server only and reports hooks unavailable.\n *\n * Mirrors the codex adapter's TOML object-map machinery (shared @iarna/toml codec\n * + the core/object-map engine, policy \"coerce\"), trimmed to the MCP surface.\n */\n\nimport { existsSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, join, resolve } from \"node:path\";\n\nimport TOML from \"@iarna/toml\";\n\nimport type {\n ChangeRecord,\n DetectedPlatform,\n HealthCheck,\n HookParadigm,\n PlatformCapabilities,\n PlatformId,\n ServerDef,\n} from \"../../core/types.js\";\nimport { ensureDir } from \"../../core/paths.js\";\nimport { resolveEnvRefsDeep } from \"../../core/interpolate.js\";\nimport {\n removeFromObjectMap,\n upsertInObjectMap,\n type ObjectMapCodec,\n} from \"../../core/object-map.js\";\nimport { buildWrappedStdio } from \"../../core/spawn.js\";\nimport { BaseAdapter } from \"../base.js\";\nimport type { InstallContext } from \"../spi.js\";\n\nconst HOST: PlatformId = \"open-interpreter\";\nconst MCP_ROOT_KEY = \"mcp_servers\";\n\n/** Rendered `[mcp_servers.<id>]` table — string env table, no interpolation. */\ninterface OpenInterpreterMcpEntry {\n // stdio transport\n command?: string;\n args?: string[];\n env?: Record<string, string>;\n // streamable HTTP transport (remote): transport is inferred from `url`\n // (no explicit transport key), exactly like codex.\n url?: string;\n bearer_token_env_var?: string;\n http_headers?: Record<string, string>;\n}\n\nexport class OpenInterpreterAdapter extends BaseAdapter {\n readonly id: PlatformId = HOST;\n readonly name = \"Open Interpreter\";\n readonly paradigm: HookParadigm = \"mcp-only\";\n\n readonly capabilities: PlatformCapabilities = {\n // mcp-only: every hook flag is false (no first-party-verified hook surface\n // for the `interpreter` product).\n preToolUse: false,\n postToolUse: false,\n preCompact: false,\n sessionStart: false,\n sessionEnd: false,\n userPromptSubmit: false,\n stop: false,\n notification: false,\n canModifyArgs: false,\n canModifyOutput: false,\n canInjectSessionContext: false,\n // config.toml [mcp_servers] supports stdio (command) + streamable HTTP (url),\n // inheriting codex's transport support.\n transports: [\"stdio\", \"http\"],\n };\n\n // ── Detection ──────────────────────────────────────────────────────────\n\n detectInstalled(_projectDir: string): DetectedPlatform {\n const userDir = this.userConfigDir();\n const userCfg = join(userDir, \"config.toml\");\n const installed = existsSync(userDir) || existsSync(userCfg);\n return {\n id: this.id,\n name: this.name,\n installed,\n paradigm: this.paradigm,\n capabilities: this.capabilities,\n configPath: userCfg,\n scope: \"user\",\n reason: installed\n ? `Found Open Interpreter config dir (${userDir})`\n : `No Open Interpreter config dir at ${userDir}`,\n confidence: installed ? \"high\" : \"low\",\n };\n }\n\n // ── Native paths ───────────────────────────────────────────────────────\n // User scope only — Open Interpreter (like codex's user scope) keeps its config\n // under the home dir. The home dir is $INTERPRETER_HOME (when set & non-empty)\n // or ~/.openinterpreter; $CODEX_HOME is deliberately NOT consulted (the fork\n // isolates the two identities — codex-rs/utils/home-dir/src/lib.rs).\n\n override getConfigDir(_ctx: InstallContext): string {\n return this.userConfigDir();\n }\n\n override getServerConfigPath(ctx: InstallContext): string {\n return join(this.getConfigDir(ctx), \"config.toml\");\n }\n\n /** Open Interpreter has no separate hook file — alias the hook config path to\n * the MCP file so the generic doctor/backup helpers behave sensibly (the\n * amazon-q / windsurf idiom for mcp-only hosts). */\n override getHookConfigPath(ctx: InstallContext): string {\n return this.getServerConfigPath(ctx);\n }\n\n /** $INTERPRETER_HOME (tilde-expanded, then resolved) when set & non-empty,\n * else ~/.openinterpreter. Byte-confirmed against codex-rs/utils/home-dir. */\n private userConfigDir(): string {\n const env = process.env.INTERPRETER_HOME;\n if (env && env.trim() !== \"\") {\n if (env.startsWith(\"~\")) return join(homedir(), env.replace(/^~[/\\\\]?/, \"\"));\n return resolve(env);\n }\n return join(homedir(), \".openinterpreter\");\n }\n\n // ── TOML config IO (config.toml is TOML, not JSON) ───────────────────────\n\n private readToml(path: string): Record<string, unknown> {\n if (!existsSync(path)) return {};\n try {\n return TOML.parse(readFileSync(path, \"utf8\")) as Record<string, unknown>;\n } catch {\n return {};\n }\n }\n\n private writeToml(path: string, data: Record<string, unknown>, dryRun: boolean): void {\n if (dryRun) return;\n ensureDir(dirname(path));\n // @iarna/toml's stringify type wants its JsonMap; our object is structurally compatible.\n writeFileSync(path, TOML.stringify(data as never), \"utf8\");\n }\n\n /** An ObjectMapCodec over config.toml for the core/object-map engine.\n * `isPresentButUnparseable` is `() => false`: readToml fail-softs to {} and the\n * server path coerces/overwrites rather than warn-skip on an unparseable file —\n * matching the codex adapter's coerce policy. */\n private tomlObjectMapCodec(): ObjectMapCodec {\n return {\n parse: (path) => this.readToml(path),\n serialize: (path, data, dryRun) => this.writeToml(path, data, dryRun),\n isPresentButUnparseable: () => false,\n };\n }\n\n // ── Install server (config.toml → [mcp_servers.<id>]) ───────────────────\n\n override installServer(ctx: InstallContext): ChangeRecord[] {\n const { connector, dryRun } = ctx;\n const server = this.effectiveServer(ctx);\n const path = this.getServerConfigPath(ctx);\n\n if (!server) {\n return [{ platform: this.id, action: \"skip\", path, detail: \"no server declared\" }];\n }\n const isStdio = server.transport === \"stdio\" && !!server.command;\n const isHttp = server.transport === \"http\" && !!server.url;\n if (!isStdio && !isHttp) {\n // config.toml [mcp_servers] supports stdio (command) + streamable HTTP\n // (url). Other remote transports (sse/ws) have no analog.\n return [\n {\n platform: this.id,\n action: \"skip\",\n path,\n detail: `transport \"${server.transport}\" not registrable in config.toml (stdio + streamable-http only)`,\n },\n ];\n }\n\n const symlink = this.symlinkPathWarning(path);\n if (symlink) return [symlink];\n\n const entry = this.renderMcpEntry(ctx, server);\n\n return [\n upsertInObjectMap({\n codec: this.tomlObjectMapCodec(),\n rootKey: MCP_ROOT_KEY,\n policy: \"coerce\",\n platform: this.id,\n configPath: path,\n entryId: connector.id,\n entry,\n dryRun,\n }),\n ];\n }\n\n override uninstallServer(ctx: InstallContext): ChangeRecord[] {\n const { connector, dryRun } = ctx;\n const path = this.getServerConfigPath(ctx);\n const symlink = this.symlinkPathWarning(path);\n if (symlink) return [symlink];\n\n return [\n removeFromObjectMap({\n codec: this.tomlObjectMapCodec(),\n rootKey: MCP_ROOT_KEY,\n policy: \"coerce\",\n platform: this.id,\n configPath: path,\n entryId: connector.id,\n dryRun,\n }),\n ];\n }\n\n // ── Hooks (unavailable — Open Interpreter is mcp-only here) ──────────────\n\n override installHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Open Interpreter is mcp-only)\",\n },\n ];\n }\n\n override uninstallHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Open Interpreter is mcp-only)\",\n },\n ];\n }\n\n // ── Health checks (default doctor renders these) ────────────────────────\n\n override getHealthChecks(ctx: InstallContext): readonly HealthCheck[] {\n const path = this.getServerConfigPath(ctx);\n const id = ctx.connector.id;\n return [\n {\n name: `${this.name}: config.toml exists`,\n check: () =>\n existsSync(path)\n ? { status: \"OK\", detail: path }\n : { status: \"FAIL\", detail: `not found: ${path}` },\n },\n {\n name: `${this.name}: ${MCP_ROOT_KEY}.${id} registered`,\n check: () => {\n // Only assert what the connector declares: a server-less connector\n // never writes an [mcp_servers.<id>] table, so its absence is healthy.\n if (!ctx.connector.server) {\n return { status: \"OK\", detail: \"no MCP server declared\" };\n }\n const cfg = this.readToml(path);\n const bucket = cfg[MCP_ROOT_KEY];\n const present =\n typeof bucket === \"object\" &&\n bucket !== null &&\n id in (bucket as Record<string, unknown>);\n return present\n ? { status: \"OK\", detail: `${MCP_ROOT_KEY}.${id}` }\n : { status: \"FAIL\", detail: `${MCP_ROOT_KEY}.${id} not found in ${path}` };\n },\n },\n ];\n }\n\n // ── Internal helpers ────────────────────────────────────────────────────\n\n /** Resolve the per-platform server override into an effective ServerDef. */\n private effectiveServer(ctx: InstallContext): ServerDef | undefined {\n const override = ctx.connector.platforms[this.id]?.server;\n if (override === false) return undefined;\n const base = ctx.connector.server;\n if (!base) return undefined;\n return override ? { ...base, ...override } : base;\n }\n\n /**\n * Render the `[mcp_servers.<id>]` table. TOML has NO interpolation, so every\n * `${env:VAR}` is resolved to a literal at install time. Honors the telemetry\n * serve-wrapper for stdio.\n */\n private renderMcpEntry(ctx: InstallContext, server: ServerDef): OpenInterpreterMcpEntry {\n // Streamable HTTP server: transport is inferred from `url` (no explicit\n // transport key), exactly like codex. Telemetry serve-wrapping is stdio-only\n // (remote cannot be intercepted). installServer's guard only lets stdio+command\n // or http+url reach here, so this branch is exactly the streamable-HTTP case.\n if (server.transport === \"http\") {\n const remote: OpenInterpreterMcpEntry = { url: resolveEnvRefsDeep(server.url ?? \"\") };\n if (server.auth?.type === \"bearerEnv\" && server.auth.bearerEnvVar) {\n remote.bearer_token_env_var = server.auth.bearerEnvVar;\n }\n if (server.headers && Object.keys(server.headers).length > 0) {\n const headers: Record<string, string> = {};\n for (const [k, v] of Object.entries(resolveEnvRefsDeep(server.headers))) {\n headers[k] = String(v);\n }\n remote.http_headers = headers;\n }\n return remote;\n }\n\n let command = server.command as string;\n let args = [...(server.args ?? [])];\n\n ({ command, args } = buildWrappedStdio(ctx, server, this.id, command, args));\n\n // Resolve env-refs to literals (TOML cannot interpolate).\n command = resolveEnvRefsDeep(command);\n args = resolveEnvRefsDeep(args);\n\n const entry: OpenInterpreterMcpEntry = { command };\n if (args.length > 0) entry.args = args;\n\n if (server.env && Object.keys(server.env).length > 0) {\n const env: Record<string, string> = {};\n for (const [k, v] of Object.entries(resolveEnvRefsDeep(server.env))) {\n env[k] = String(v);\n }\n entry.env = env;\n }\n return entry;\n }\n}\n\nexport const adapter = new OpenInterpreterAdapter();\nexport default adapter;\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
OpenClawAdapter,
|
|
4
|
+
adapter,
|
|
5
|
+
openclaw_default
|
|
6
|
+
} from "./chunk-UBB7T54N.js";
|
|
7
|
+
import "./chunk-BEFVJ2OE.js";
|
|
8
|
+
import "./chunk-VVFDU4IX.js";
|
|
9
|
+
import "./chunk-HORHRHNG.js";
|
|
10
|
+
import "./chunk-YYNXIUR2.js";
|
|
11
|
+
import "./chunk-IXOQDZWC.js";
|
|
12
|
+
export {
|
|
13
|
+
OpenClawAdapter,
|
|
14
|
+
adapter,
|
|
15
|
+
openclaw_default as default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=openclaw-BD56E5MV.js.map
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
BaseAdapter,
|
|
10
10
|
renderOpenCodeSubagentMd,
|
|
11
11
|
renderSkillMd
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VVFDU4IX.js";
|
|
13
13
|
import {
|
|
14
14
|
buildWrappedStdio
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-HORHRHNG.js";
|
|
16
|
+
import "./chunk-YYNXIUR2.js";
|
|
17
|
+
import "./chunk-IXOQDZWC.js";
|
|
18
18
|
|
|
19
19
|
// src/adapters/opencode/index.ts
|
|
20
20
|
import { existsSync } from "fs";
|
|
@@ -734,4 +734,4 @@ export {
|
|
|
734
734
|
adapter,
|
|
735
735
|
opencode_default as default
|
|
736
736
|
};
|
|
737
|
-
//# sourceMappingURL=opencode-
|
|
737
|
+
//# sourceMappingURL=opencode-W2RK4M7G.js.map
|