@ken-jo/agent-connector 0.4.79 → 0.4.92
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 +302 -561
- package/dist/{action-OHGFVKMC.js → action-CVIEPX4U.js} +14 -14
- package/dist/{amazon-q-B52EY2SV.js → amazon-q-TIT7FIW3.js} +5 -5
- package/dist/{amp-UXABVUKC.js → amp-NF3OAAUG.js} +5 -5
- package/dist/{antigravity-RZHN53VB.js → antigravity-7LPK7QOY.js} +6 -6
- package/dist/antigravity-cli-MDEMPPAH.js +467 -0
- package/dist/antigravity-cli-MDEMPPAH.js.map +1 -0
- package/dist/{chunk-QKLJU4JX.js → chunk-2Y2MZRLP.js} +56 -2
- package/dist/chunk-2Y2MZRLP.js.map +1 -0
- package/dist/{chunk-UBB7T54N.js → chunk-3C5AASHM.js} +3 -3
- package/dist/{chunk-LKAVD4HP.js → chunk-447JWFZO.js} +12 -12
- package/dist/{chunk-HORHRHNG.js → chunk-4NHXLXSD.js} +2 -2
- package/dist/chunk-5Z36KVU2.js +590 -0
- package/dist/chunk-5Z36KVU2.js.map +1 -0
- package/dist/{chunk-AY3RGRTT.js → chunk-6TF7MHG5.js} +2 -2
- package/dist/{chunk-AMK2K6XZ.js → chunk-7UT6OB52.js} +2 -2
- package/dist/{chunk-PZHB5TVA.js → chunk-AY3VFNOH.js} +5 -5
- package/dist/{chunk-4HVQ7IUM.js → chunk-DI5S6TXJ.js} +17 -4
- package/dist/chunk-DI5S6TXJ.js.map +1 -0
- package/dist/{chunk-ZXX5DVSE.js → chunk-FBCBHEGB.js} +8 -8
- package/dist/{chunk-4NSU3KWX.js → chunk-FJCUKXGX.js} +2 -2
- package/dist/{chunk-S4E6QQEM.js → chunk-FO5CEXXN.js} +7 -2
- package/dist/chunk-FO5CEXXN.js.map +1 -0
- package/dist/{chunk-IXOQDZWC.js → chunk-GZGLCCEE.js} +5 -1
- package/dist/chunk-GZGLCCEE.js.map +1 -0
- package/dist/{chunk-UYZ53KWS.js → chunk-IBLYVAWH.js} +31 -9
- package/dist/chunk-IBLYVAWH.js.map +1 -0
- package/dist/{chunk-4FWETID5.js → chunk-IVAWP6HH.js} +2 -2
- package/dist/{chunk-NBUEL74R.js → chunk-JFXL4HYA.js} +3 -3
- package/dist/{chunk-VD4EG6SG.js → chunk-JO2IM2JL.js} +538 -226
- package/dist/chunk-JO2IM2JL.js.map +1 -0
- package/dist/{chunk-7NXEHZAK.js → chunk-JVO6NBTT.js} +3 -3
- package/dist/{chunk-X457NOFE.js → chunk-KA55FISM.js} +116 -36
- package/dist/chunk-KA55FISM.js.map +1 -0
- package/dist/{chunk-YJP3KGLM.js → chunk-L26PSQTY.js} +4 -4
- package/dist/{chunk-YYNXIUR2.js → chunk-M2H7JURF.js} +2 -2
- package/dist/{chunk-56R2ER7K.js → chunk-NBYKLUF6.js} +2 -2
- package/dist/{chunk-IRUYJD23.js → chunk-NLE2J5P4.js} +1 -1
- package/dist/{chunk-VVFDU4IX.js → chunk-WFEHWTLM.js} +12 -5
- package/dist/{chunk-VVFDU4IX.js.map → chunk-WFEHWTLM.js.map} +1 -1
- package/dist/{chunk-LN76OGNR.js → chunk-Z2MRSS2I.js} +2 -2
- package/dist/{claude-code-T6ZRCMA7.js → claude-code-7RS4YVGZ.js} +9 -9
- package/dist/cli/sdk.js +7 -7
- package/dist/cli.js +1 -1
- package/dist/{cline-NNMVCECA.js → cline-BZQAUYPC.js} +5 -5
- package/dist/codebuddy-G42IKGKB.js +643 -0
- package/dist/codebuddy-G42IKGKB.js.map +1 -0
- package/dist/{codebuff-RJIDSEU3.js → codebuff-5RLTLZAU.js} +5 -5
- package/dist/{codex-RHKQKNNG.js → codex-XHAMJILX.js} +14 -8
- package/dist/{codex-RHKQKNNG.js.map → codex-XHAMJILX.js.map} +1 -1
- package/dist/{continue-MNM7YVJY.js → continue-JLIB7R7X.js} +6 -6
- package/dist/{copilot-cli-SMTX5F65.js → copilot-cli-XZSUYNQZ.js} +5 -5
- package/dist/{crush-NYDBHIJE.js → crush-ESERLVLT.js} +5 -5
- package/dist/{cursor-AOELDNZU.js → cursor-FUDOV5VK.js} +6 -6
- package/dist/{detect-ALAKE54S.js → detect-Z5BDTY6B.js} +4 -4
- package/dist/devin-Y7PWKVHY.js +510 -0
- package/dist/devin-Y7PWKVHY.js.map +1 -0
- package/dist/{doctor-UNF7FCF4.js → doctor-GAP27PP2.js} +27 -23
- package/dist/doctor-GAP27PP2.js.map +1 -0
- package/dist/{droid-PTCH2K7Y.js → droid-DTO5POTK.js} +5 -5
- package/dist/{gemini-cli-QGLN2UMS.js → gemini-cli-RBIG6U2F.js} +5 -5
- package/dist/{goose-DQ6GSZ5O.js → goose-VGNOP5J2.js} +6 -6
- package/dist/grok-cli-2RFBK6J3.js +482 -0
- package/dist/grok-cli-2RFBK6J3.js.map +1 -0
- package/dist/{hermes-E47IG63A.js → hermes-NUKFWZI5.js} +6 -6
- package/dist/{hook-GM2IDA3C.js → hook-XPR3AHDI.js} +14 -14
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -5
- package/dist/install-O32TDIZP.js +382 -0
- package/dist/install-O32TDIZP.js.map +1 -0
- package/dist/{introspect-5o5ick0_.d.ts → introspect-BkId4LGP.d.ts} +1 -1
- package/dist/{jetbrains-copilot-4IOT3I2Y.js → jetbrains-copilot-FXZ5AOTS.js} +31 -9
- package/dist/jetbrains-copilot-FXZ5AOTS.js.map +1 -0
- package/dist/junie-TSXIZSCE.js +227 -0
- package/dist/junie-TSXIZSCE.js.map +1 -0
- package/dist/{kilo-TAHOPT2Q.js → kilo-JLH3KVZJ.js} +8 -8
- package/dist/{kilo-cli-X4NPJWGX.js → kilo-cli-5W36VJQZ.js} +8 -8
- package/dist/{kimi-Z7L2LEEI.js → kimi-R62W7HKZ.js} +5 -5
- package/dist/{kiro-YZ4TTZGD.js → kiro-AUJMGIBL.js} +81 -6
- package/dist/kiro-AUJMGIBL.js.map +1 -0
- package/dist/{leaderboard-DVW4WYJ6.js → leaderboard-YWMOSJBC.js} +7 -7
- package/dist/{mimo-code-G2CBZ4M6.js → mimo-code-PGLFFVER.js} +5 -5
- package/dist/mistral-vibe-36CZVQNQ.js +300 -0
- package/dist/mistral-vibe-36CZVQNQ.js.map +1 -0
- package/dist/{mux-JNM3F2NW.js → mux-HWL4N5KH.js} +5 -5
- package/dist/{nemoclaw-SHA4IUML.js → nemoclaw-QPHETUXM.js} +6 -6
- package/dist/{omp-OOVUNXME.js → omp-3TFMTJ5U.js} +5 -5
- package/dist/open-interpreter-UTBKE2EH.js +264 -0
- package/dist/open-interpreter-UTBKE2EH.js.map +1 -0
- package/dist/openclaw-RYFO5TLY.js +17 -0
- package/dist/{opencode-W2RK4M7G.js → opencode-JX7GBE5Q.js} +5 -5
- package/dist/openhands-AZW4PXJ3.js +384 -0
- package/dist/openhands-AZW4PXJ3.js.map +1 -0
- package/dist/{package-H5V3AZHR.js → package-2KKUGZFS.js} +13 -13
- package/dist/{pi-I7BLL4EI.js → pi-MRI3EBWU.js} +143 -6
- package/dist/pi-MRI3EBWU.js.map +1 -0
- package/dist/{qwen-code-JG7AF442.js → qwen-code-ISR6BEET.js} +9 -9
- package/dist/{roo-code-L5F7S6QH.js → roo-code-6TSCME4R.js} +5 -5
- package/dist/runtime/index.d.ts +1 -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-WMO2TUW3.js → serve-EPRN7F2X.js} +14 -14
- package/dist/{status-WRLBTBRE.js → status-B2PG6YKR.js} +11 -11
- package/dist/{statusline-EUD4DMIP.js → statusline-5ERFMYSM.js} +13 -13
- package/dist/{telemetry-U3LGMR3D.js → telemetry-ZMCAWBWB.js} +10 -10
- package/dist/{trae-Z7CQ2A2Q.js → trae-7KDCYIMN.js} +5 -5
- package/dist/{types-D6RWGXm1.d.ts → types-D0RqWxT8.d.ts} +53 -9
- package/dist/{uninstall-TWPUEJEC.js → uninstall-M76BHLTH.js} +37 -27
- package/dist/uninstall-M76BHLTH.js.map +1 -0
- package/dist/{upgrade-EM6Y7QLH.js → upgrade-JLSCNAQA.js} +25 -19
- package/dist/upgrade-JLSCNAQA.js.map +1 -0
- package/dist/{usage-3HQDTXGY.js → usage-5I72HWCR.js} +3 -3
- package/dist/{usage-event-DWIGKO7V.js → usage-event-HIX4ZI45.js} +13 -13
- package/dist/{vscode-copilot-LU5NC4ZS.js → vscode-copilot-LILHAPJI.js} +20 -5
- package/dist/vscode-copilot-LILHAPJI.js.map +1 -0
- package/dist/{warp-4PPG5LOM.js → warp-KJUCWEA3.js} +5 -5
- package/dist/{windsurf-3T3RVXKM.js → windsurf-5TGGQR5I.js} +5 -5
- package/dist/{zed-LLOAUXSA.js → zed-EL3JCZ25.js} +123 -7
- package/dist/zed-EL3JCZ25.js.map +1 -0
- package/package.json +1 -1
- package/dist/antigravity-cli-KODEKUTM.js +0 -87
- package/dist/antigravity-cli-KODEKUTM.js.map +0 -1
- package/dist/chunk-4HVQ7IUM.js.map +0 -1
- package/dist/chunk-IXOQDZWC.js.map +0 -1
- package/dist/chunk-QKLJU4JX.js.map +0 -1
- package/dist/chunk-S4E6QQEM.js.map +0 -1
- package/dist/chunk-UYZ53KWS.js.map +0 -1
- package/dist/chunk-VD4EG6SG.js.map +0 -1
- package/dist/chunk-VKRGQLY4.js +0 -201
- package/dist/chunk-VKRGQLY4.js.map +0 -1
- package/dist/chunk-X457NOFE.js.map +0 -1
- package/dist/doctor-UNF7FCF4.js.map +0 -1
- package/dist/install-7O4XWH7T.js +0 -96
- package/dist/install-7O4XWH7T.js.map +0 -1
- package/dist/jetbrains-copilot-4IOT3I2Y.js.map +0 -1
- package/dist/kiro-YZ4TTZGD.js.map +0 -1
- package/dist/openclaw-BD56E5MV.js +0 -17
- package/dist/pi-I7BLL4EI.js.map +0 -1
- package/dist/uninstall-TWPUEJEC.js.map +0 -1
- package/dist/upgrade-EM6Y7QLH.js.map +0 -1
- package/dist/vscode-copilot-LU5NC4ZS.js.map +0 -1
- package/dist/zed-LLOAUXSA.js.map +0 -1
- /package/dist/{action-OHGFVKMC.js.map → action-CVIEPX4U.js.map} +0 -0
- /package/dist/{amazon-q-B52EY2SV.js.map → amazon-q-TIT7FIW3.js.map} +0 -0
- /package/dist/{amp-UXABVUKC.js.map → amp-NF3OAAUG.js.map} +0 -0
- /package/dist/{antigravity-RZHN53VB.js.map → antigravity-7LPK7QOY.js.map} +0 -0
- /package/dist/{chunk-UBB7T54N.js.map → chunk-3C5AASHM.js.map} +0 -0
- /package/dist/{chunk-LKAVD4HP.js.map → chunk-447JWFZO.js.map} +0 -0
- /package/dist/{chunk-HORHRHNG.js.map → chunk-4NHXLXSD.js.map} +0 -0
- /package/dist/{chunk-AY3RGRTT.js.map → chunk-6TF7MHG5.js.map} +0 -0
- /package/dist/{chunk-AMK2K6XZ.js.map → chunk-7UT6OB52.js.map} +0 -0
- /package/dist/{chunk-PZHB5TVA.js.map → chunk-AY3VFNOH.js.map} +0 -0
- /package/dist/{chunk-ZXX5DVSE.js.map → chunk-FBCBHEGB.js.map} +0 -0
- /package/dist/{chunk-4NSU3KWX.js.map → chunk-FJCUKXGX.js.map} +0 -0
- /package/dist/{chunk-4FWETID5.js.map → chunk-IVAWP6HH.js.map} +0 -0
- /package/dist/{chunk-NBUEL74R.js.map → chunk-JFXL4HYA.js.map} +0 -0
- /package/dist/{chunk-7NXEHZAK.js.map → chunk-JVO6NBTT.js.map} +0 -0
- /package/dist/{chunk-YJP3KGLM.js.map → chunk-L26PSQTY.js.map} +0 -0
- /package/dist/{chunk-YYNXIUR2.js.map → chunk-M2H7JURF.js.map} +0 -0
- /package/dist/{chunk-56R2ER7K.js.map → chunk-NBYKLUF6.js.map} +0 -0
- /package/dist/{chunk-IRUYJD23.js.map → chunk-NLE2J5P4.js.map} +0 -0
- /package/dist/{chunk-LN76OGNR.js.map → chunk-Z2MRSS2I.js.map} +0 -0
- /package/dist/{claude-code-T6ZRCMA7.js.map → claude-code-7RS4YVGZ.js.map} +0 -0
- /package/dist/{cline-NNMVCECA.js.map → cline-BZQAUYPC.js.map} +0 -0
- /package/dist/{codebuff-RJIDSEU3.js.map → codebuff-5RLTLZAU.js.map} +0 -0
- /package/dist/{continue-MNM7YVJY.js.map → continue-JLIB7R7X.js.map} +0 -0
- /package/dist/{copilot-cli-SMTX5F65.js.map → copilot-cli-XZSUYNQZ.js.map} +0 -0
- /package/dist/{crush-NYDBHIJE.js.map → crush-ESERLVLT.js.map} +0 -0
- /package/dist/{cursor-AOELDNZU.js.map → cursor-FUDOV5VK.js.map} +0 -0
- /package/dist/{detect-ALAKE54S.js.map → detect-Z5BDTY6B.js.map} +0 -0
- /package/dist/{droid-PTCH2K7Y.js.map → droid-DTO5POTK.js.map} +0 -0
- /package/dist/{gemini-cli-QGLN2UMS.js.map → gemini-cli-RBIG6U2F.js.map} +0 -0
- /package/dist/{goose-DQ6GSZ5O.js.map → goose-VGNOP5J2.js.map} +0 -0
- /package/dist/{hermes-E47IG63A.js.map → hermes-NUKFWZI5.js.map} +0 -0
- /package/dist/{hook-GM2IDA3C.js.map → hook-XPR3AHDI.js.map} +0 -0
- /package/dist/{kilo-TAHOPT2Q.js.map → kilo-JLH3KVZJ.js.map} +0 -0
- /package/dist/{kilo-cli-X4NPJWGX.js.map → kilo-cli-5W36VJQZ.js.map} +0 -0
- /package/dist/{kimi-Z7L2LEEI.js.map → kimi-R62W7HKZ.js.map} +0 -0
- /package/dist/{leaderboard-DVW4WYJ6.js.map → leaderboard-YWMOSJBC.js.map} +0 -0
- /package/dist/{mimo-code-G2CBZ4M6.js.map → mimo-code-PGLFFVER.js.map} +0 -0
- /package/dist/{mux-JNM3F2NW.js.map → mux-HWL4N5KH.js.map} +0 -0
- /package/dist/{nemoclaw-SHA4IUML.js.map → nemoclaw-QPHETUXM.js.map} +0 -0
- /package/dist/{omp-OOVUNXME.js.map → omp-3TFMTJ5U.js.map} +0 -0
- /package/dist/{openclaw-BD56E5MV.js.map → openclaw-RYFO5TLY.js.map} +0 -0
- /package/dist/{opencode-W2RK4M7G.js.map → opencode-JX7GBE5Q.js.map} +0 -0
- /package/dist/{package-H5V3AZHR.js.map → package-2KKUGZFS.js.map} +0 -0
- /package/dist/{qwen-code-JG7AF442.js.map → qwen-code-ISR6BEET.js.map} +0 -0
- /package/dist/{roo-code-L5F7S6QH.js.map → roo-code-6TSCME4R.js.map} +0 -0
- /package/dist/{serve-WMO2TUW3.js.map → serve-EPRN7F2X.js.map} +0 -0
- /package/dist/{status-WRLBTBRE.js.map → status-B2PG6YKR.js.map} +0 -0
- /package/dist/{statusline-EUD4DMIP.js.map → statusline-5ERFMYSM.js.map} +0 -0
- /package/dist/{telemetry-U3LGMR3D.js.map → telemetry-ZMCAWBWB.js.map} +0 -0
- /package/dist/{trae-Z7CQ2A2Q.js.map → trae-7KDCYIMN.js.map} +0 -0
- /package/dist/{usage-3HQDTXGY.js.map → usage-5I72HWCR.js.map} +0 -0
- /package/dist/{usage-event-DWIGKO7V.js.map → usage-event-HIX4ZI45.js.map} +0 -0
- /package/dist/{warp-4PPG5LOM.js.map → warp-KJUCWEA3.js.map} +0 -0
- /package/dist/{windsurf-3T3RVXKM.js.map → windsurf-5TGGQR5I.js.map} +0 -0
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fail
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-5Z36KVU2.js";
|
|
5
5
|
import {
|
|
6
6
|
runAction
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-447JWFZO.js";
|
|
8
8
|
import "./chunk-OP4KBXUO.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-4FWETID5.js";
|
|
9
|
+
import "./chunk-Z2MRSS2I.js";
|
|
10
|
+
import "./chunk-FO5CEXXN.js";
|
|
11
|
+
import "./chunk-FBCBHEGB.js";
|
|
13
12
|
import "./chunk-KHO5WNTP.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-IVAWP6HH.js";
|
|
14
|
+
import "./chunk-JVO6NBTT.js";
|
|
15
|
+
import "./chunk-AY3VFNOH.js";
|
|
16
|
+
import "./chunk-KA55FISM.js";
|
|
17
|
+
import "./chunk-NBYKLUF6.js";
|
|
18
|
+
import "./chunk-4NHXLXSD.js";
|
|
19
|
+
import "./chunk-M2H7JURF.js";
|
|
20
|
+
import "./chunk-GZGLCCEE.js";
|
|
21
21
|
|
|
22
22
|
// src/cli/commands/action.ts
|
|
23
23
|
import { parseArgs } from "util";
|
|
@@ -52,4 +52,4 @@ async function run(argv) {
|
|
|
52
52
|
export {
|
|
53
53
|
run
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=action-
|
|
55
|
+
//# sourceMappingURL=action-CVIEPX4U.js.map
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./chunk-BEFVJ2OE.js";
|
|
5
5
|
import {
|
|
6
6
|
BaseAdapter
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WFEHWTLM.js";
|
|
8
8
|
import {
|
|
9
9
|
buildWrappedStdio,
|
|
10
10
|
isHomeBinHookCommand
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-4NHXLXSD.js";
|
|
12
|
+
import "./chunk-M2H7JURF.js";
|
|
13
|
+
import "./chunk-GZGLCCEE.js";
|
|
14
14
|
|
|
15
15
|
// src/adapters/amazon-q/index.ts
|
|
16
16
|
import { existsSync, statSync } from "fs";
|
|
@@ -563,4 +563,4 @@ export {
|
|
|
563
563
|
adapter,
|
|
564
564
|
amazon_q_default as default
|
|
565
565
|
};
|
|
566
|
-
//# sourceMappingURL=amazon-q-
|
|
566
|
+
//# sourceMappingURL=amazon-q-TIT7FIW3.js.map
|
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
BaseAdapter,
|
|
10
10
|
renderSkillMd
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WFEHWTLM.js";
|
|
12
12
|
import {
|
|
13
13
|
buildWrappedStdio
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-4NHXLXSD.js";
|
|
15
|
+
import "./chunk-M2H7JURF.js";
|
|
16
|
+
import "./chunk-GZGLCCEE.js";
|
|
17
17
|
|
|
18
18
|
// src/adapters/amp/index.ts
|
|
19
19
|
import { existsSync } from "fs";
|
|
@@ -608,4 +608,4 @@ export {
|
|
|
608
608
|
adapter,
|
|
609
609
|
amp_default as default
|
|
610
610
|
};
|
|
611
|
-
//# sourceMappingURL=amp-
|
|
611
|
+
//# sourceMappingURL=amp-NF3OAAUG.js.map
|
|
@@ -3,16 +3,16 @@ import {
|
|
|
3
3
|
AntigravityAdapter,
|
|
4
4
|
adapter,
|
|
5
5
|
antigravity_default
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DI5S6TXJ.js";
|
|
7
7
|
import "./chunk-H53QZQJI.js";
|
|
8
8
|
import "./chunk-BEFVJ2OE.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-WFEHWTLM.js";
|
|
10
|
+
import "./chunk-4NHXLXSD.js";
|
|
11
|
+
import "./chunk-M2H7JURF.js";
|
|
12
|
+
import "./chunk-GZGLCCEE.js";
|
|
13
13
|
export {
|
|
14
14
|
AntigravityAdapter,
|
|
15
15
|
adapter,
|
|
16
16
|
antigravity_default as default
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=antigravity-
|
|
18
|
+
//# sourceMappingURL=antigravity-7LPK7QOY.js.map
|
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
AntigravityAdapter,
|
|
4
|
+
adapter
|
|
5
|
+
} from "./chunk-DI5S6TXJ.js";
|
|
6
|
+
import {
|
|
7
|
+
addLedgerOwner,
|
|
8
|
+
createLedgerEntry,
|
|
9
|
+
describeJsonValue,
|
|
10
|
+
dropLedgerEntry,
|
|
11
|
+
findLedgerEntry,
|
|
12
|
+
hashJsonValue,
|
|
13
|
+
jsonDeepEquals,
|
|
14
|
+
ledgerEntriesOwnedBy,
|
|
15
|
+
loadConfigPatchLedger,
|
|
16
|
+
removeLedgerOwner,
|
|
17
|
+
saveConfigPatchLedger
|
|
18
|
+
} from "./chunk-NBYKLUF6.js";
|
|
19
|
+
import "./chunk-H53QZQJI.js";
|
|
20
|
+
import "./chunk-BEFVJ2OE.js";
|
|
21
|
+
import "./chunk-WFEHWTLM.js";
|
|
22
|
+
import {
|
|
23
|
+
buildHomeBinStatuslineCommand,
|
|
24
|
+
isHomeBinStatuslineCommand
|
|
25
|
+
} from "./chunk-4NHXLXSD.js";
|
|
26
|
+
import "./chunk-M2H7JURF.js";
|
|
27
|
+
import "./chunk-GZGLCCEE.js";
|
|
28
|
+
|
|
29
|
+
// src/adapters/antigravity-cli/index.ts
|
|
30
|
+
import { existsSync } from "fs";
|
|
31
|
+
import { homedir } from "os";
|
|
32
|
+
import { join } from "path";
|
|
33
|
+
var HOST = "antigravity-cli";
|
|
34
|
+
var STATUSLINE_KEY = "statusLine";
|
|
35
|
+
var AntigravityCliAdapter = class _AntigravityCliAdapter extends AntigravityAdapter {
|
|
36
|
+
id = HOST;
|
|
37
|
+
name = "Antigravity CLI";
|
|
38
|
+
/**
|
|
39
|
+
* Capabilities = the inherited IDE surface, with the two CLI-specific
|
|
40
|
+
* divergences applied on top:
|
|
41
|
+
*
|
|
42
|
+
* - `supportsStatusline: true` — the `agy` custom status line, live-verified
|
|
43
|
+
* above (the IDE app does NOT advertise statusline; its payload is unverified).
|
|
44
|
+
* - `sessionStart: false` — the `agy` CLI does NOT recognize a SessionStart
|
|
45
|
+
* hook. LIVE-VERIFIED (agy): the binary's recognized hook events are exactly
|
|
46
|
+
* PreToolUse / PostToolUse / PreInvocation / PostInvocation / Stop — the
|
|
47
|
+
* `/hooks` UI lists only those five and writing both SessionStart + PreToolUse
|
|
48
|
+
* into hooks.json loads ONLY PreToolUse. Declaring SessionStart on the IDE
|
|
49
|
+
* `antigravity` adapter is left UNCHANGED (this finding is agy-CLI-specific
|
|
50
|
+
* and was NOT verified for the IDE app). This flag is the source of truth for
|
|
51
|
+
* the docs hooks-matrix + the fleet-wide never-silent-drop contract; the
|
|
52
|
+
* matching install-time warn-skip is driven by {@link supportedHookEvents}.
|
|
53
|
+
*
|
|
54
|
+
* Everything else is spread from the IDE adapter's own capabilities so the two
|
|
55
|
+
* surfaces stay in lock-step (a parent field added later flows in automatically).
|
|
56
|
+
* `super.capabilities` is unusable here: the parent's `capabilities` is an
|
|
57
|
+
* instance FIELD (not on the prototype), so it resolves to undefined in a
|
|
58
|
+
* subclass field initializer — spread the IDE singleton instead.
|
|
59
|
+
*/
|
|
60
|
+
capabilities = {
|
|
61
|
+
...adapter.capabilities,
|
|
62
|
+
supportsStatusline: true,
|
|
63
|
+
sessionStart: false
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* The hook events the `agy` CLI actually recognizes. LIVE-VERIFIED: agy's hook
|
|
67
|
+
* event tokens are exactly PreToolUse / PostToolUse / PreInvocation /
|
|
68
|
+
* PostInvocation / Stop — confirmed by the `/hooks` UI listing only those five,
|
|
69
|
+
* by the binary's hook-event tokens, and by agy loading ONLY PreToolUse when
|
|
70
|
+
* both SessionStart + PreToolUse are written into hooks.json. SessionStart is
|
|
71
|
+
* therefore DROPPED: a declared SessionStart hook warn-skips at install rather
|
|
72
|
+
* than writing an inert hooks.json entry that never loads / never fires / never
|
|
73
|
+
* shows in `/hooks`. NOTE: PreInvocation / PostInvocation are agy-only events
|
|
74
|
+
* with no canonical AC analog — left unmapped here (a possible future
|
|
75
|
+
* nativeHooks enhancement, NOT this fix). This narrows the IDE's
|
|
76
|
+
* {@link AntigravityAdapter.supportedHookEvents} (which still includes
|
|
77
|
+
* SessionStart for the IDE app, where this finding was not verified).
|
|
78
|
+
*/
|
|
79
|
+
static CLI_SUPPORTED_EVENTS = /* @__PURE__ */ new Set(["PreToolUse", "PostToolUse", "Stop"]);
|
|
80
|
+
supportedHookEvents() {
|
|
81
|
+
return _AntigravityCliAdapter.CLI_SUPPORTED_EVENTS;
|
|
82
|
+
}
|
|
83
|
+
// ── Detection ────────────────────────────────────────────────────────────
|
|
84
|
+
/**
|
|
85
|
+
* Probe the CLI's runtime markers, DISTINCT from the IDE app even though the
|
|
86
|
+
* two share `~/.gemini/antigravity/`: the `agy` binary at ~/.local/bin/agy
|
|
87
|
+
* (the definitive CLI marker, CONFIRMED present) and the shared
|
|
88
|
+
* ~/.gemini/antigravity/ tree (or a user-scope mcp_config candidate / the
|
|
89
|
+
* project config). Reported before the IDE adapter in the registry so the
|
|
90
|
+
* more-specific CLI marker (the `agy` binary) wins host detection. Note: a
|
|
91
|
+
* machine with ONLY the IDE (no `agy` binary) will not match here, while one
|
|
92
|
+
* with the CLI matches on the binary regardless of the shared config dir.
|
|
93
|
+
*/
|
|
94
|
+
detectInstalled(projectDir) {
|
|
95
|
+
const home = homedir();
|
|
96
|
+
const userConfig = this.resolveUserConfigPath();
|
|
97
|
+
const agyBin = join(home, ".local", "bin", "agy");
|
|
98
|
+
const sharedDir = join(home, ".gemini", "antigravity");
|
|
99
|
+
const projectConfig = join(projectDir, ".agents", "mcp_config.json");
|
|
100
|
+
const cliMarker = existsSync(agyBin);
|
|
101
|
+
const userInstalled = cliMarker || existsSync(sharedDir) || this.userConfigCandidates().some((parts) => existsSync(join(home, ...parts)));
|
|
102
|
+
const projInstalled = existsSync(projectConfig);
|
|
103
|
+
const installed = userInstalled || projInstalled;
|
|
104
|
+
const scope = projInstalled && !userInstalled ? "project" : "user";
|
|
105
|
+
const configPath = scope === "project" ? projectConfig : userConfig;
|
|
106
|
+
return {
|
|
107
|
+
id: this.id,
|
|
108
|
+
name: this.name,
|
|
109
|
+
installed,
|
|
110
|
+
paradigm: this.paradigm,
|
|
111
|
+
capabilities: this.capabilities,
|
|
112
|
+
configPath,
|
|
113
|
+
scope,
|
|
114
|
+
reason: installed ? scope === "project" ? `found project Antigravity CLI config at ${projectConfig}` : `found Antigravity CLI (agy) at ${agyBin} / shared ${sharedDir}` : `no Antigravity CLI install at ${agyBin}, ${sharedDir}, or ${projectConfig}`,
|
|
115
|
+
// The `agy` binary is a high-confidence CLI marker; matching only the shared
|
|
116
|
+
// config dir is weaker (it could be a pure-IDE install).
|
|
117
|
+
confidence: cliMarker ? "high" : installed ? "medium" : "low"
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* MCP user-config path — LIVE-PROVEN for `agy` v1.0.5 (2026-06-04). The
|
|
122
|
+
* standalone CLI reads user MCP servers from `~/.gemini/config/mcp_config.json`
|
|
123
|
+
* (root key `mcpServers`), NOT the IDE's `~/.gemini/antigravity/mcp_config.json`:
|
|
124
|
+
* a real `agy -p` session spawned an MCP server ONLY when it was placed in
|
|
125
|
+
* `config/` (negative control: a server in `antigravity/` was ignored), and the
|
|
126
|
+
* binary carries the error string "failed to read mcp_config.json" + a literal
|
|
127
|
+
* "/.gemini/config" path. `agy mcp` is TUI-only (no headless add) and there is
|
|
128
|
+
* no `--mcp-config` flag. So the CLI must PREFER `config/` over the inherited
|
|
129
|
+
* `antigravity/` default; the IDE path stays as a prefer-existing fallback.
|
|
130
|
+
* (Skills/workflows/hooks dirs remain inherited; project scope
|
|
131
|
+
* `<proj>/.agents/mcp_config.json` is already correct and live-proven.)
|
|
132
|
+
*/
|
|
133
|
+
static CLI_USER_CONFIG_CANDIDATES = [
|
|
134
|
+
[".gemini", "config", "mcp_config.json"],
|
|
135
|
+
// CONFIRMED canonical for agy v1.0.5
|
|
136
|
+
[".gemini", "antigravity", "mcp_config.json"]
|
|
137
|
+
// legacy IDE layout (prefer-existing)
|
|
138
|
+
];
|
|
139
|
+
userConfigCandidates() {
|
|
140
|
+
return _AntigravityCliAdapter.CLI_USER_CONFIG_CANDIDATES;
|
|
141
|
+
}
|
|
142
|
+
// ── Statusline surface (the `agy` custom status line) ─────────────────────
|
|
143
|
+
// Wires settings.json `statusLine` = { enabled:true, command:<home-bin
|
|
144
|
+
// statusline cmd> } through the SAME refcounted ownership ledger as configPatch
|
|
145
|
+
// (the ledger primitives are surface-agnostic). antigravity-cli does NOT
|
|
146
|
+
// advertise supportsConfigPatch, so — like qwen-code — this adapter performs the
|
|
147
|
+
// set-if-absent write directly with the exported ledger primitives. Semantics
|
|
148
|
+
// are identical to claude-code/qwen-code: never clobber a `statusLine`
|
|
149
|
+
// agent-connector does not own (skip-warn), record prior state + owner
|
|
150
|
+
// (refcounted across connectors), reversible by uninstallStatusline
|
|
151
|
+
// (last-owner-verified delete).
|
|
152
|
+
//
|
|
153
|
+
// The home-bin command makes agy exec
|
|
154
|
+
// `<homeBin> statusline antigravity-cli --connector <id>` on every refresh,
|
|
155
|
+
// which re-imports the connector module and renders the line (runtime/
|
|
156
|
+
// statusline-entrypoint). The status line lives in the GLOBAL
|
|
157
|
+
// ~/.gemini/antigravity-cli/settings.json (agy has no project-scope statusLine),
|
|
158
|
+
// so this surface is user-scope regardless of the install scope. No telemetry
|
|
159
|
+
// in v1.
|
|
160
|
+
/**
|
|
161
|
+
* The `agy` settings.json that holds the statusLine config. LIVE-VERIFIED at
|
|
162
|
+
* ~/.gemini/antigravity-cli/settings.json (the CLI's own global home — distinct
|
|
163
|
+
* from the shared ~/.gemini/config/mcp_config.json the MCP surface writes). agy
|
|
164
|
+
* stores statusLine as a GLOBAL UI setting with no project-scope variant, so the
|
|
165
|
+
* path is scope-independent.
|
|
166
|
+
*/
|
|
167
|
+
statuslineSettingsPath() {
|
|
168
|
+
return join(homedir(), ".gemini", "antigravity-cli", "settings.json");
|
|
169
|
+
}
|
|
170
|
+
/** The statusLine config value agent-connector writes at `statusLine`. */
|
|
171
|
+
statuslineValue(ctx) {
|
|
172
|
+
const command = buildHomeBinStatuslineCommand(ctx.homeBinPath, HOST, ctx.connector.id);
|
|
173
|
+
return { enabled: true, command };
|
|
174
|
+
}
|
|
175
|
+
installStatusline(ctx) {
|
|
176
|
+
const { connector } = ctx;
|
|
177
|
+
if (connector.statusline == null) {
|
|
178
|
+
return [{ platform: this.id, action: "skip", detail: "connector declares no statusline" }];
|
|
179
|
+
}
|
|
180
|
+
if (connector.platforms[HOST]?.statusline === false) {
|
|
181
|
+
return [{ platform: this.id, action: "skip", detail: `statusline disabled for ${HOST}` }];
|
|
182
|
+
}
|
|
183
|
+
const filePath = this.statuslineSettingsPath();
|
|
184
|
+
const symlink = this.symlinkPathWarning(filePath);
|
|
185
|
+
if (symlink) return [symlink];
|
|
186
|
+
if (this.isPresentButUnparseable(filePath)) {
|
|
187
|
+
return [
|
|
188
|
+
{
|
|
189
|
+
platform: this.id,
|
|
190
|
+
action: "warn",
|
|
191
|
+
path: filePath,
|
|
192
|
+
detail: `existing ${filePath} is not parseable; statusline left unapplied (back it up / fix it, then re-run)`
|
|
193
|
+
}
|
|
194
|
+
];
|
|
195
|
+
}
|
|
196
|
+
const settings = this.readJson(filePath) ?? {};
|
|
197
|
+
if (typeof settings !== "object" || Array.isArray(settings)) {
|
|
198
|
+
return [
|
|
199
|
+
{
|
|
200
|
+
platform: this.id,
|
|
201
|
+
action: "warn",
|
|
202
|
+
path: filePath,
|
|
203
|
+
detail: `existing ${filePath} is not a JSON object; statusline left unapplied`
|
|
204
|
+
}
|
|
205
|
+
];
|
|
206
|
+
}
|
|
207
|
+
const ledger = loadConfigPatchLedger(ctx.dataRoot);
|
|
208
|
+
const desired = this.statuslineValue(ctx);
|
|
209
|
+
const leaf = settings[STATUSLINE_KEY];
|
|
210
|
+
const entry = findLedgerEntry(ledger, HOST, filePath, STATUSLINE_KEY);
|
|
211
|
+
const changes = [];
|
|
212
|
+
if (leaf === void 0) {
|
|
213
|
+
settings[STATUSLINE_KEY] = desired;
|
|
214
|
+
this.writeJson(filePath, settings, ctx.dryRun);
|
|
215
|
+
if (entry) {
|
|
216
|
+
entry.writtenValue = desired;
|
|
217
|
+
entry.writtenValueHash = hashJsonValue(desired);
|
|
218
|
+
addLedgerOwner(entry, connector.id, connector.version);
|
|
219
|
+
} else {
|
|
220
|
+
createLedgerEntry(ledger, {
|
|
221
|
+
platform: HOST,
|
|
222
|
+
file: filePath,
|
|
223
|
+
key: STATUSLINE_KEY,
|
|
224
|
+
value: desired,
|
|
225
|
+
connectorId: connector.id,
|
|
226
|
+
connectorVersion: connector.version
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
if (!ctx.dryRun) saveConfigPatchLedger(ctx.dataRoot, ledger);
|
|
230
|
+
changes.push({
|
|
231
|
+
platform: this.id,
|
|
232
|
+
action: "create",
|
|
233
|
+
path: filePath,
|
|
234
|
+
detail: `statusline ${STATUSLINE_KEY}: <absent> \u2192 ${describeJsonValue(desired)}`
|
|
235
|
+
});
|
|
236
|
+
return changes;
|
|
237
|
+
}
|
|
238
|
+
const leafValue = leaf;
|
|
239
|
+
if (!entry) {
|
|
240
|
+
return [
|
|
241
|
+
{
|
|
242
|
+
platform: this.id,
|
|
243
|
+
action: "warn",
|
|
244
|
+
path: filePath,
|
|
245
|
+
detail: `statusline ${STATUSLINE_KEY} skipped: already set to ${describeJsonValue(leafValue)} (not created by agent-connector) \u2014 left untouched`
|
|
246
|
+
}
|
|
247
|
+
];
|
|
248
|
+
}
|
|
249
|
+
if (!jsonDeepEquals(leafValue, entry.writtenValue)) {
|
|
250
|
+
return [
|
|
251
|
+
{
|
|
252
|
+
platform: this.id,
|
|
253
|
+
action: "warn",
|
|
254
|
+
path: filePath,
|
|
255
|
+
detail: `statusline ${STATUSLINE_KEY}: value changed since install (current ${describeJsonValue(leafValue)}, wrote ${describeJsonValue(entry.writtenValue)}); leaving in place`
|
|
256
|
+
}
|
|
257
|
+
];
|
|
258
|
+
}
|
|
259
|
+
if (jsonDeepEquals(desired, leafValue)) {
|
|
260
|
+
const owners = entry.owners.map((o) => o.connectorId);
|
|
261
|
+
if (addLedgerOwner(entry, connector.id, connector.version)) {
|
|
262
|
+
if (!ctx.dryRun) saveConfigPatchLedger(ctx.dataRoot, ledger);
|
|
263
|
+
return [
|
|
264
|
+
{
|
|
265
|
+
platform: this.id,
|
|
266
|
+
action: "skip",
|
|
267
|
+
path: filePath,
|
|
268
|
+
detail: `statusline ${STATUSLINE_KEY} already installed; registered as co-owner (co-owned with ${owners.join(", ")})`
|
|
269
|
+
}
|
|
270
|
+
];
|
|
271
|
+
}
|
|
272
|
+
return [
|
|
273
|
+
{
|
|
274
|
+
platform: this.id,
|
|
275
|
+
action: "skip",
|
|
276
|
+
path: filePath,
|
|
277
|
+
detail: `statusline ${STATUSLINE_KEY} already installed`
|
|
278
|
+
}
|
|
279
|
+
];
|
|
280
|
+
}
|
|
281
|
+
return [
|
|
282
|
+
{
|
|
283
|
+
platform: this.id,
|
|
284
|
+
action: "warn",
|
|
285
|
+
path: filePath,
|
|
286
|
+
detail: `statusline ${STATUSLINE_KEY} skipped: already owned by ${entry.owners.map((o) => o.connectorId).join(", ")} with a different value \u2014 left untouched`
|
|
287
|
+
}
|
|
288
|
+
];
|
|
289
|
+
}
|
|
290
|
+
uninstallStatusline(ctx) {
|
|
291
|
+
const ledger = loadConfigPatchLedger(ctx.dataRoot);
|
|
292
|
+
const owned = ledgerEntriesOwnedBy(ledger, HOST, ctx.connector.id).filter(
|
|
293
|
+
(e) => e.key === STATUSLINE_KEY
|
|
294
|
+
);
|
|
295
|
+
if (owned.length === 0) {
|
|
296
|
+
return [
|
|
297
|
+
{
|
|
298
|
+
platform: this.id,
|
|
299
|
+
action: "skip",
|
|
300
|
+
detail: "statusline: no ownership recorded; left untouched"
|
|
301
|
+
}
|
|
302
|
+
];
|
|
303
|
+
}
|
|
304
|
+
const changes = [];
|
|
305
|
+
let ledgerMutated = false;
|
|
306
|
+
const byFile = /* @__PURE__ */ new Map();
|
|
307
|
+
for (const entry of owned) {
|
|
308
|
+
const bucket = byFile.get(entry.file) ?? [];
|
|
309
|
+
bucket.push(entry);
|
|
310
|
+
byFile.set(entry.file, bucket);
|
|
311
|
+
}
|
|
312
|
+
for (const [filePath, entries] of byFile) {
|
|
313
|
+
const symlink = this.symlinkPathWarning(filePath);
|
|
314
|
+
if (symlink) {
|
|
315
|
+
changes.push(symlink);
|
|
316
|
+
continue;
|
|
317
|
+
}
|
|
318
|
+
const unparseable = this.isPresentButUnparseable(filePath);
|
|
319
|
+
const settings = unparseable ? null : this.readJson(filePath);
|
|
320
|
+
let fileMutated = false;
|
|
321
|
+
for (const entry of entries) {
|
|
322
|
+
const { lastOwner } = removeLedgerOwner(entry, ctx.connector.id);
|
|
323
|
+
ledgerMutated = true;
|
|
324
|
+
if (!lastOwner) {
|
|
325
|
+
changes.push({
|
|
326
|
+
platform: this.id,
|
|
327
|
+
action: "skip",
|
|
328
|
+
path: filePath,
|
|
329
|
+
detail: `statusline ${entry.key} retained: still owned by ${entry.owners.map((o) => o.connectorId).join(", ")}`
|
|
330
|
+
});
|
|
331
|
+
continue;
|
|
332
|
+
}
|
|
333
|
+
dropLedgerEntry(ledger, entry);
|
|
334
|
+
if (unparseable) {
|
|
335
|
+
changes.push({
|
|
336
|
+
platform: this.id,
|
|
337
|
+
action: "warn",
|
|
338
|
+
path: filePath,
|
|
339
|
+
detail: `statusline ${entry.key}: ${filePath} is not parseable; key left in place (ownership released)`
|
|
340
|
+
});
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
343
|
+
if (!settings || typeof settings !== "object" || Array.isArray(settings)) {
|
|
344
|
+
changes.push({
|
|
345
|
+
platform: this.id,
|
|
346
|
+
action: "skip",
|
|
347
|
+
path: filePath,
|
|
348
|
+
detail: `statusline ${entry.key} already absent (no settings file); ownership record dropped`
|
|
349
|
+
});
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
const leaf = settings[entry.key];
|
|
353
|
+
if (leaf === void 0) {
|
|
354
|
+
changes.push({
|
|
355
|
+
platform: this.id,
|
|
356
|
+
action: "skip",
|
|
357
|
+
path: filePath,
|
|
358
|
+
detail: `statusline ${entry.key} already absent; ownership record dropped`
|
|
359
|
+
});
|
|
360
|
+
continue;
|
|
361
|
+
}
|
|
362
|
+
if (entry.prior?.present !== false || !jsonDeepEquals(leaf, entry.writtenValue)) {
|
|
363
|
+
changes.push({
|
|
364
|
+
platform: this.id,
|
|
365
|
+
action: "warn",
|
|
366
|
+
path: filePath,
|
|
367
|
+
detail: `statusline ${entry.key}: value changed since install (current ${describeJsonValue(leaf)}, wrote ${describeJsonValue(entry.writtenValue)}); left in place`
|
|
368
|
+
});
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
371
|
+
delete settings[entry.key];
|
|
372
|
+
fileMutated = true;
|
|
373
|
+
changes.push({
|
|
374
|
+
platform: this.id,
|
|
375
|
+
action: "remove",
|
|
376
|
+
path: filePath,
|
|
377
|
+
detail: `statusline ${entry.key} removed (was ${describeJsonValue(entry.writtenValue)})`
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
if (fileMutated && settings) this.writeJson(filePath, settings, ctx.dryRun);
|
|
381
|
+
}
|
|
382
|
+
if (ledgerMutated && !ctx.dryRun) saveConfigPatchLedger(ctx.dataRoot, ledger);
|
|
383
|
+
return changes;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Parse the `agy` statusLine stdin JSON into the normalized
|
|
387
|
+
* {@link StatuslineContext}. agy pipes a JSON object on stdin
|
|
388
|
+
* (model/context_window/workspace/…); fields the payload omits stay undefined.
|
|
389
|
+
* `raw` keeps the verbatim payload (incl. version/agent_state/vcs/plan_tier/
|
|
390
|
+
* quota/email/terminal_width). agy has no cost analog, so `ctx.cost` is left
|
|
391
|
+
* undefined. LIVE-CAPTURED against agy v1.0.10 (see header / AgyStatuslineInput).
|
|
392
|
+
*/
|
|
393
|
+
parseStatusInput(raw) {
|
|
394
|
+
const input = raw ?? {};
|
|
395
|
+
const ctx = {
|
|
396
|
+
host: HOST,
|
|
397
|
+
capabilities: this.capabilities,
|
|
398
|
+
raw
|
|
399
|
+
};
|
|
400
|
+
const sessionId = typeof input.conversation_id === "string" && input.conversation_id !== "" ? input.conversation_id : typeof input.session_id === "string" && input.session_id !== "" ? input.session_id : void 0;
|
|
401
|
+
if (sessionId !== void 0) ctx.sessionId = sessionId;
|
|
402
|
+
const cwd = typeof input.cwd === "string" ? input.cwd : typeof input.workspace?.current_dir === "string" ? input.workspace.current_dir : void 0;
|
|
403
|
+
if (cwd !== void 0) ctx.cwd = cwd;
|
|
404
|
+
if (typeof input.transcript_path === "string") ctx.transcriptPath = input.transcript_path;
|
|
405
|
+
const model = {};
|
|
406
|
+
if (typeof input.model?.id === "string") model.id = input.model.id;
|
|
407
|
+
if (typeof input.model?.display_name === "string") model.displayName = input.model.display_name;
|
|
408
|
+
if (model.id !== void 0 || model.displayName !== void 0) ctx.model = model;
|
|
409
|
+
const cw = input.context_window;
|
|
410
|
+
if (cw) {
|
|
411
|
+
const context = {};
|
|
412
|
+
if (typeof cw.context_window_size === "number") context.maxTokens = cw.context_window_size;
|
|
413
|
+
if (typeof cw.total_input_tokens === "number" || typeof cw.total_output_tokens === "number") {
|
|
414
|
+
context.usedTokens = (cw.total_input_tokens ?? 0) + (cw.total_output_tokens ?? 0);
|
|
415
|
+
}
|
|
416
|
+
if (typeof cw.used_percentage === "number") context.percent = cw.used_percentage;
|
|
417
|
+
if (context.usedTokens !== void 0 || context.maxTokens !== void 0 || context.percent !== void 0) {
|
|
418
|
+
ctx.context = context;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
return ctx;
|
|
422
|
+
}
|
|
423
|
+
/** Format the rendered status line into agy's native reply: stdout = line, exit 0. */
|
|
424
|
+
formatStatusOutput(rendered) {
|
|
425
|
+
return { exitCode: 0, stdout: rendered };
|
|
426
|
+
}
|
|
427
|
+
// ── Diagnostics: add the statusline check on top of the inherited IDE checks ─
|
|
428
|
+
getHealthChecks(ctx) {
|
|
429
|
+
const checks = [...super.getHealthChecks(ctx)];
|
|
430
|
+
const settingsPath = this.statuslineSettingsPath();
|
|
431
|
+
const connectorId = ctx.connector.id;
|
|
432
|
+
const homeBin = ctx.homeBinPath;
|
|
433
|
+
const statuslineLedgerOwned = ledgerEntriesOwnedBy(
|
|
434
|
+
loadConfigPatchLedger(ctx.dataRoot),
|
|
435
|
+
HOST,
|
|
436
|
+
connectorId
|
|
437
|
+
).some((e) => e.key === STATUSLINE_KEY);
|
|
438
|
+
if ((ctx.connector.statusline != null || statuslineLedgerOwned) && ctx.connector.platforms[HOST]?.statusline !== false) {
|
|
439
|
+
checks.push({
|
|
440
|
+
name: `${this.name}: statusline wired`,
|
|
441
|
+
check: () => {
|
|
442
|
+
const settings = this.readJson(settingsPath);
|
|
443
|
+
const command = settings?.statusLine?.command;
|
|
444
|
+
if (command === void 0) {
|
|
445
|
+
return { status: "FAIL", detail: `statusLine not set in ${settingsPath}` };
|
|
446
|
+
}
|
|
447
|
+
if (typeof command === "string" && isHomeBinStatuslineCommand(command, homeBin, connectorId)) {
|
|
448
|
+
return { status: "OK", detail: "statusLine command present" };
|
|
449
|
+
}
|
|
450
|
+
return {
|
|
451
|
+
status: "FAIL",
|
|
452
|
+
detail: `statusLine in ${settingsPath} is not agent-connector's (left untouched)`
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
return checks;
|
|
458
|
+
}
|
|
459
|
+
};
|
|
460
|
+
var adapter2 = new AntigravityCliAdapter();
|
|
461
|
+
var antigravity_cli_default = adapter2;
|
|
462
|
+
export {
|
|
463
|
+
AntigravityCliAdapter,
|
|
464
|
+
adapter2 as adapter,
|
|
465
|
+
antigravity_cli_default as default
|
|
466
|
+
};
|
|
467
|
+
//# sourceMappingURL=antigravity-cli-MDEMPPAH.js.map
|