@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
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
renderBridgePrelude
|
|
4
|
+
} from "./chunk-FBJQGRET.js";
|
|
2
5
|
import {
|
|
3
6
|
BaseAdapter
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-VVFDU4IX.js";
|
|
8
|
+
import "./chunk-HORHRHNG.js";
|
|
9
|
+
import "./chunk-YYNXIUR2.js";
|
|
10
|
+
import "./chunk-IXOQDZWC.js";
|
|
8
11
|
|
|
9
12
|
// src/adapters/pi/index.ts
|
|
10
13
|
import { existsSync } from "fs";
|
|
@@ -42,7 +45,13 @@ var PiAdapter = class extends BaseAdapter {
|
|
|
42
45
|
// Content surfaces: prompt-template commands + skills.
|
|
43
46
|
supportsCommands: true,
|
|
44
47
|
supportsSkills: true,
|
|
45
|
-
supportsSubagents: false
|
|
48
|
+
supportsSubagents: false,
|
|
49
|
+
// Action surface: each declared action becomes a user-invokable command
|
|
50
|
+
// registered INSIDE a generated TS extension module (pi.registerCommand),
|
|
51
|
+
// shelling out to the home-bin `action` verb — the SAME mechanism the omp
|
|
52
|
+
// fork uses (omp's action support was inferred FROM pi). supportsActions →
|
|
53
|
+
// the installActions/uninstallActions overrides below.
|
|
54
|
+
supportsActions: true
|
|
46
55
|
};
|
|
47
56
|
// ── Detection ────────────────────────────────────────────────────────────
|
|
48
57
|
detectInstalled(projectDir) {
|
|
@@ -106,6 +115,21 @@ var PiAdapter = class extends BaseAdapter {
|
|
|
106
115
|
skillDir(ctx, name) {
|
|
107
116
|
return join(this.skillsDir(ctx), name);
|
|
108
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Extension package dir Pi loads the action module from, per scope:
|
|
120
|
+
* project scope → <projectDir>/.pi/extensions/<id>/
|
|
121
|
+
* user scope → ~/.pi/agent/extensions/<id>/
|
|
122
|
+
* (mirrors the prompts/skills scope split; the OMP fork uses the analogous
|
|
123
|
+
* <agentDir>/extensions/<id>/ path.)
|
|
124
|
+
*/
|
|
125
|
+
extensionDir(ctx) {
|
|
126
|
+
const base = ctx.scope === "project" ? join(ctx.projectDir, ".pi") : join(homedir(), ".pi", "agent");
|
|
127
|
+
return join(base, "extensions", ctx.connector.id);
|
|
128
|
+
}
|
|
129
|
+
/** The generated action extension entry module: <extensionDir>/index.js. */
|
|
130
|
+
actionEntryPath(ctx) {
|
|
131
|
+
return join(this.extensionDir(ctx), "index.js");
|
|
132
|
+
}
|
|
109
133
|
// ── MCP server (unavailable — Pi has no writable MCP config) ─────────────
|
|
110
134
|
installServer(_ctx) {
|
|
111
135
|
return [
|
|
@@ -261,6 +285,112 @@ var PiAdapter = class extends BaseAdapter {
|
|
|
261
285
|
if (skill.extra) Object.assign(frontmatter, skill.extra);
|
|
262
286
|
return this.renderFrontmatterMd(frontmatter, skill.body);
|
|
263
287
|
}
|
|
288
|
+
// ── Action surface (slash commands in a generated extension module) ───────
|
|
289
|
+
// Each declared action becomes a pi.registerCommand(...) inside a generated,
|
|
290
|
+
// self-contained TS extension module (<extensionDir>/index.js). This mirrors
|
|
291
|
+
// the OMP adapter's emitter near-verbatim (omp wraps Pi; its action support was
|
|
292
|
+
// inferred FROM Pi). UNLIKE omp the module is NOT shared with a hook surface —
|
|
293
|
+
// Pi has no lifecycle hook layer here — so it is actions-only AND
|
|
294
|
+
// uninstallActions owns the teardown directly (no uninstallHooks to delegate to).
|
|
295
|
+
// Idempotent (byte-identical → skip) via writeManagedFile; honors
|
|
296
|
+
// platforms["pi"].actions === false and the empty-actions skip.
|
|
297
|
+
installActions(ctx) {
|
|
298
|
+
const entryPath = this.actionEntryPath(ctx);
|
|
299
|
+
if (ctx.connector.platforms[HOST]?.actions === false) {
|
|
300
|
+
return [{ platform: this.id, action: "skip", path: entryPath, detail: "actions disabled for pi" }];
|
|
301
|
+
}
|
|
302
|
+
if (this.actionTriggers(ctx).length === 0) {
|
|
303
|
+
return [{ platform: this.id, action: "skip", path: entryPath, detail: "connector declares no actions" }];
|
|
304
|
+
}
|
|
305
|
+
return this.synthesizeExtension(ctx).map(
|
|
306
|
+
(file) => this.writeManagedFile(
|
|
307
|
+
file.path,
|
|
308
|
+
file.contents,
|
|
309
|
+
ctx.dryRun,
|
|
310
|
+
"pi extension module (action commands)",
|
|
311
|
+
file.executable
|
|
312
|
+
)
|
|
313
|
+
);
|
|
314
|
+
}
|
|
315
|
+
uninstallActions(ctx) {
|
|
316
|
+
const entryPath = this.actionEntryPath(ctx);
|
|
317
|
+
if (!existsSync(entryPath)) {
|
|
318
|
+
return [{ platform: this.id, action: "skip", path: entryPath, detail: "no pi extension present" }];
|
|
319
|
+
}
|
|
320
|
+
const changes = [
|
|
321
|
+
this.removeManagedFile(entryPath, ctx.dryRun, "pi extension module", "no pi extension module present")
|
|
322
|
+
];
|
|
323
|
+
changes.push(this.removeDirIfEmpty(this.extensionDir(ctx), ctx.dryRun));
|
|
324
|
+
return changes;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Build the Pi action extension: a single self-contained ESM module
|
|
328
|
+
* (<extensionDir>/index.js) whose default export is the Pi plugin factory
|
|
329
|
+
* `(pi) => void`. It imports nothing from agent-connector. For each declared
|
|
330
|
+
* action it calls `pi.registerCommand(action.id, { handler })`; the handler
|
|
331
|
+
* shells out to the stable home binary's `action pi <id>` verb over
|
|
332
|
+
* child_process (fail-open). Mirrors the OMP adapter's registerCommand emission
|
|
333
|
+
* (the shared renderBridgePrelude head + the per-action block), minus the hook
|
|
334
|
+
* handlers Pi has no surface for.
|
|
335
|
+
*/
|
|
336
|
+
synthesizeExtension(ctx) {
|
|
337
|
+
return [
|
|
338
|
+
{
|
|
339
|
+
path: this.actionEntryPath(ctx),
|
|
340
|
+
contents: this.buildExtensionSource(ctx),
|
|
341
|
+
executable: false
|
|
342
|
+
}
|
|
343
|
+
];
|
|
344
|
+
}
|
|
345
|
+
/** Compose the generated extension source with plain string concatenation. */
|
|
346
|
+
buildExtensionSource(ctx) {
|
|
347
|
+
const header = `/**
|
|
348
|
+
* AUTO-GENERATED by agent-connector \u2014 DO NOT EDIT.
|
|
349
|
+
*
|
|
350
|
+
* Self-contained Pi extension for connector ${ctx.connector.id}. It imports
|
|
351
|
+
* nothing from agent-connector: each registered command shells out to the stable
|
|
352
|
+
* home binary's universal action entrypoint. Fail-open: any launcher error
|
|
353
|
+
* degrades to a no-op (never wedges Pi).
|
|
354
|
+
*
|
|
355
|
+
* Pi loads this module and calls its DEFAULT export, the plugin factory
|
|
356
|
+
* (pi) => void, once at load time; each pi.registerCommand(...) wires one
|
|
357
|
+
* user-invokable command.
|
|
358
|
+
*/
|
|
359
|
+
import { execFileSync, execSync } from "node:child_process";
|
|
360
|
+
|
|
361
|
+
${renderBridgePrelude({
|
|
362
|
+
homeBin: ctx.homeBinPath,
|
|
363
|
+
connectorId: ctx.connector.id,
|
|
364
|
+
hookSlug: "pi",
|
|
365
|
+
payloadNoun: "Pi",
|
|
366
|
+
failOpenComment: "Fail-open \u2014 never break a Pi command invocation."
|
|
367
|
+
})}
|
|
368
|
+
`;
|
|
369
|
+
const actionHandlers = [];
|
|
370
|
+
for (const action of this.actionTriggers(ctx)) {
|
|
371
|
+
const id = JSON.stringify(action.id);
|
|
372
|
+
const description = JSON.stringify(action.description);
|
|
373
|
+
actionHandlers.push(` // Action /${action.id} \u2192 run the home-bin action verb directly.
|
|
374
|
+
pi.registerCommand(${id}, {
|
|
375
|
+
description: ${description},
|
|
376
|
+
handler: async (_args, _ctx) => {
|
|
377
|
+
try {
|
|
378
|
+
const args = ["action", "pi", ${id}, "--connector", CONNECTOR_ID];
|
|
379
|
+
process.platform === "win32"
|
|
380
|
+
? execSync([HOME_BIN, ...args].map((a) => '"' + a + '"').join(" "), { stdio: "inherit" })
|
|
381
|
+
: execFileSync(HOME_BIN, args, { stdio: "inherit" });
|
|
382
|
+
} catch { /* fail-open */ }
|
|
383
|
+
return undefined;
|
|
384
|
+
},
|
|
385
|
+
});`);
|
|
386
|
+
}
|
|
387
|
+
const factory = `
|
|
388
|
+
export default function plugin(pi) {
|
|
389
|
+
${actionHandlers.join("\n\n")}
|
|
390
|
+
}
|
|
391
|
+
`;
|
|
392
|
+
return header + factory;
|
|
393
|
+
}
|
|
264
394
|
// ── Diagnostics ──────────────────────────────────────────────────────────
|
|
265
395
|
getHealthChecks(ctx) {
|
|
266
396
|
const checks = [];
|
|
@@ -278,6 +408,13 @@ var PiAdapter = class extends BaseAdapter {
|
|
|
278
408
|
check: () => existsSync(p) ? { status: "OK", detail: p } : { status: "FAIL", detail: `not found: ${p}` }
|
|
279
409
|
});
|
|
280
410
|
}
|
|
411
|
+
if (this.actionTriggers(ctx).length > 0 && ctx.connector.platforms[HOST]?.actions !== false) {
|
|
412
|
+
const p = this.actionEntryPath(ctx);
|
|
413
|
+
checks.push({
|
|
414
|
+
name: `${this.name}: action extension present`,
|
|
415
|
+
check: () => existsSync(p) ? { status: "OK", detail: p } : { status: "FAIL", detail: `not found: ${p}` }
|
|
416
|
+
});
|
|
417
|
+
}
|
|
281
418
|
return checks;
|
|
282
419
|
}
|
|
283
420
|
};
|
|
@@ -288,4 +425,4 @@ export {
|
|
|
288
425
|
adapter,
|
|
289
426
|
pi_default as default
|
|
290
427
|
};
|
|
291
|
-
//# sourceMappingURL=pi-
|
|
428
|
+
//# sourceMappingURL=pi-BUADR5MJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/adapters/pi/index.ts"],"sourcesContent":["/**\n * adapters/pi — Pi platform adapter for agent-connector.\n *\n * Pi is a file-based-skills host with NO writable MCP config and a native\n * prompt-template (slash command) surface. It has no lifecycle hook system in\n * the json-stdio or ts-plugin sense. Its extensibility surfaces are:\n *\n * - server → single \"skip\" (Pi has no writable MCP config).\n * - hooks → single \"skip\" (no json-stdio / ts-plugin hook layer).\n * - commands → write prompt templates under <piPromptsDir>/<name>.md.\n * project scope → <projectDir>/.pi/prompts/<name>.md\n * user scope → ~/.pi/agent/prompts/<name>.md\n * - skills → write <piSkillsDir>/<name>/SKILL.md (+ declared resources).\n * project scope → <projectDir>/.pi/skills/<name>/SKILL.md\n * user scope → ~/.pi/agent/skills/<name>/SKILL.md\n * - actions → write a self-contained TS extension module that calls\n * pi.registerCommand(<action.id>, { handler }) once per action.\n * project scope → <projectDir>/.pi/extensions/<id>/index.js\n * user scope → ~/.pi/agent/extensions/<id>/index.js\n * Each handler shells out to the home-bin `action pi <id>` verb\n * (the SAME mechanism the OMP fork — which wraps Pi — uses for its\n * action surface). Unlike OMP this module wires NO hook handlers:\n * Pi has no lifecycle hook layer here, so it is actions-only.\n * - subagents → unsupported (BaseAdapter skip/warn).\n *\n * Ground-truth refs (docs/research/kilo-pi-ground-truth.md):\n * - prompt templates: docs/prompt-templates.md → ~/.pi/agent/prompts/*.md\n * and .pi/prompts/*.md, invoked as /name.\n * - global skills: ~/.pi/agent/skills/<n>/SKILL.md (NOT ~/.pi/skills/).\n * - project skills: .pi/skills/<n>/SKILL.md (unchanged).\n * - allowed-tools: space-delimited (NOT comma-delimited).\n * - extensions: Pi loads TS extension modules that call pi.registerCommand(...);\n * the OMP adapter (Oh My Pi, a Pi fork) proved this exact mechanism — its\n * supportsActions emission was inferred FROM Pi. We mirror omp's emitter.\n */\n\nimport { existsSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { join } from \"node:path\";\n\nimport { BaseAdapter } from \"../base.js\";\nimport type { Adapter, GeneratedPluginFile, InstallContext } from \"../spi.js\";\nimport type {\n ChangeRecord,\n CommandDef,\n DetectedPlatform,\n HealthCheck,\n HookParadigm,\n PlatformCapabilities,\n PlatformId,\n SkillDef,\n} from \"../../core/types.js\";\nimport { renderBridgePrelude } from \"../../core/ts-plugin-bridge.js\";\n\nconst HOST: PlatformId = \"pi\";\n\nexport class PiAdapter extends BaseAdapter implements Adapter {\n readonly id: PlatformId = HOST;\n readonly name = \"Pi\";\n /**\n * Pi has no MCP surface at all — the paradigm label \"mcp-only\" is backwards\n * for a host with NO writable MCP config. Pi is purely a content-surface host\n * (skills + prompt templates). Use \"mcp-only\" only because the HookParadigm\n * union has no \"no-mcp\" variant; MCP is explicitly unsupported below.\n */\n readonly paradigm: HookParadigm = \"mcp-only\";\n\n readonly capabilities: PlatformCapabilities = {\n // Memory surface: AGENTS.md-first managed block via the BaseAdapter default\n // (user scope: ~/.pi/agent/AGENTS.md per base.ts AGENTS_MD_USER_PATHS).\n supportsMemory: true,\n // Pi has no json-stdio / ts-plugin lifecycle hook system.\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 // No writable MCP config.\n transports: [],\n // Content surfaces: prompt-template commands + skills.\n supportsCommands: true,\n supportsSkills: true,\n supportsSubagents: false,\n // Action surface: each declared action becomes a user-invokable command\n // registered INSIDE a generated TS extension module (pi.registerCommand),\n // shelling out to the home-bin `action` verb — the SAME mechanism the omp\n // fork uses (omp's action support was inferred FROM pi). supportsActions →\n // the installActions/uninstallActions overrides below.\n supportsActions: true,\n };\n\n // ── Detection ────────────────────────────────────────────────────────────\n\n detectInstalled(projectDir: string): DetectedPlatform {\n const userDir = join(homedir(), \".pi\");\n const projDir = join(projectDir, \".pi\");\n\n const userInstalled = existsSync(userDir);\n const projInstalled = existsSync(projDir);\n const installed = userInstalled || projInstalled;\n const scope = projInstalled && !userInstalled ? \"project\" : \"user\";\n const configPath = scope === \"project\" ? projDir : userDir;\n\n return {\n id: this.id,\n name: this.name,\n installed,\n paradigm: this.paradigm,\n capabilities: this.capabilities,\n configPath,\n scope,\n reason: installed\n ? `found Pi config (${scope}) at ${configPath}`\n : `no .pi config at ${userDir} or ${projDir}`,\n confidence: installed ? \"high\" : \"low\",\n };\n }\n\n // ── Native paths ─────────────────────────────────────────────────────────\n\n /**\n * Base config dir (used for server/hook doctor paths only; content surfaces\n * use dedicated helpers below so the scope split is explicit).\n */\n getConfigDir(ctx: InstallContext): string {\n return ctx.scope === \"project\"\n ? join(ctx.projectDir, \".pi\")\n : join(homedir(), \".pi\");\n }\n\n /**\n * Pi has no writable MCP config. Returning the config dir keeps the generic\n * doctor/backup sensible while installServer always skips.\n */\n getServerConfigPath(ctx: InstallContext): string {\n return this.getConfigDir(ctx);\n }\n\n /** Pi has no hook file — point at the config dir for generic doctor/backup. */\n getHookConfigPath(ctx: InstallContext): string {\n return this.getConfigDir(ctx);\n }\n\n /**\n * Prompt-templates dir (slash commands):\n * project scope → <projectDir>/.pi/prompts/\n * user scope → ~/.pi/agent/prompts/\n * (ground truth: docs/prompt-templates.md)\n */\n private promptsDir(ctx: InstallContext): string {\n return ctx.scope === \"project\"\n ? join(ctx.projectDir, \".pi\", \"prompts\")\n : join(homedir(), \".pi\", \"agent\", \"prompts\");\n }\n\n /**\n * Skills dir:\n * project scope → <projectDir>/.pi/skills/\n * user scope → ~/.pi/agent/skills/\n * (ground truth: ~/.pi/agent/skills/ is what Pi actually reads for global skills)\n */\n private skillsDir(ctx: InstallContext): string {\n return ctx.scope === \"project\"\n ? join(ctx.projectDir, \".pi\", \"skills\")\n : join(homedir(), \".pi\", \"agent\", \"skills\");\n }\n\n /** Native skill dir: <skillsDir>/<name>. */\n private skillDir(ctx: InstallContext, name: string): string {\n return join(this.skillsDir(ctx), name);\n }\n\n /**\n * Extension package dir Pi loads the action module from, per scope:\n * project scope → <projectDir>/.pi/extensions/<id>/\n * user scope → ~/.pi/agent/extensions/<id>/\n * (mirrors the prompts/skills scope split; the OMP fork uses the analogous\n * <agentDir>/extensions/<id>/ path.)\n */\n private extensionDir(ctx: InstallContext): string {\n const base =\n ctx.scope === \"project\"\n ? join(ctx.projectDir, \".pi\")\n : join(homedir(), \".pi\", \"agent\");\n return join(base, \"extensions\", ctx.connector.id);\n }\n\n /** The generated action extension entry module: <extensionDir>/index.js. */\n private actionEntryPath(ctx: InstallContext): string {\n return join(this.extensionDir(ctx), \"index.js\");\n }\n\n // ── MCP server (unavailable — Pi has no writable MCP config) ─────────────\n\n installServer(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"Pi has no writable MCP config\",\n },\n ];\n }\n\n uninstallServer(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"Pi has no writable MCP config\",\n },\n ];\n }\n\n // ── Hooks (unavailable — Pi has no json-stdio/ts-plugin hook layer) ───────\n\n installHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Pi has no hook layer)\",\n },\n ];\n }\n\n uninstallHooks(_ctx: InstallContext): ChangeRecord[] {\n return [\n {\n platform: this.id,\n action: \"skip\",\n detail: \"hooks unavailable (Pi has no hook layer)\",\n },\n ];\n }\n\n // ── Content surface: commands (prompt templates) ─────────────────────────\n // Pi slash commands are prompt template files: <promptsDir>/<name>.md.\n // Idempotent (byte-identical → skip) via BaseAdapter.writeContentFile and\n // reversible via removeContentFile. Honors platforms[\"pi\"].commands === false.\n\n /** Native prompt-template file path: <promptsDir>/<name>.md. */\n private commandPath(ctx: InstallContext, name: string): string {\n return join(this.promptsDir(ctx), `${name}.md`);\n }\n\n override installCommands(ctx: InstallContext): ChangeRecord[] {\n const { connector } = ctx;\n if (connector.platforms[HOST]?.commands === false) {\n return [{ platform: this.id, action: \"skip\", detail: \"commands disabled for pi\" }];\n }\n if (connector.commands.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no commands\" }];\n }\n return connector.commands.map((cmd) =>\n this.writeContentFile(\n this.commandPath(ctx, cmd.name),\n this.renderCommand(cmd),\n ctx.dryRun,\n ),\n );\n }\n\n override uninstallCommands(ctx: InstallContext): ChangeRecord[] {\n const { connector } = ctx;\n if (connector.commands.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no commands\" }];\n }\n return connector.commands.map((cmd) =>\n this.removeContentFile(this.commandPath(ctx, cmd.name), ctx.dryRun),\n );\n }\n\n /**\n * Render a command as a Pi prompt template (md+frontmatter).\n * Pi's format mirrors the generic command render: description, optional model,\n * optional argument-hint. The body is the prompt template text.\n */\n private renderCommand(cmd: CommandDef): string {\n const frontmatter: Record<string, unknown> = {};\n if (cmd.description !== undefined) frontmatter.description = cmd.description;\n if (cmd.model !== undefined) frontmatter.model = cmd.model;\n if (cmd.argumentHint !== undefined) frontmatter[\"argument-hint\"] = cmd.argumentHint;\n if (cmd.extra) Object.assign(frontmatter, cmd.extra);\n return this.renderFrontmatterMd(frontmatter, cmd.prompt);\n }\n\n // ── Content surface: skills ──────────────────────────────────────────────\n // CONTENT-ONLY: pure native-file writer under <skillsDir>/<name>.\n // Idempotent (byte-identical → skip) via BaseAdapter.writeContentFile and\n // reversible via removeContentFile. Honors platforms[\"pi\"].skills === false.\n\n override installSkills(ctx: InstallContext): ChangeRecord[] {\n const { connector } = ctx;\n if (connector.platforms[HOST]?.skills === false) {\n return [{ platform: this.id, action: \"skip\", detail: \"skills disabled for pi\" }];\n }\n if (connector.skills.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no skills\" }];\n }\n const changes: ChangeRecord[] = [];\n for (const skill of connector.skills) {\n const dir = this.skillDir(ctx, skill.name);\n changes.push(\n this.writeContentFile(join(dir, \"SKILL.md\"), this.renderSkill(skill), ctx.dryRun),\n );\n // Bundle any resource files beside SKILL.md (relative path → contents).\n // Defense-in-depth: skip+warn on any key that escapes the skill dir.\n for (const [rel, contents] of Object.entries(skill.resources ?? {})) {\n const target = this.resolveWithin(dir, rel);\n if (target === null) {\n changes.push({\n platform: this.id,\n action: \"warn\",\n detail: `skill resource \"${rel}\" escapes the skill dir; skipped`,\n });\n continue;\n }\n changes.push(this.writeContentFile(target, contents, ctx.dryRun));\n }\n }\n return changes;\n }\n\n override uninstallSkills(ctx: InstallContext): ChangeRecord[] {\n const { connector } = ctx;\n if (connector.skills.length === 0) {\n return [{ platform: this.id, action: \"skip\", detail: \"connector declares no skills\" }];\n }\n const changes: ChangeRecord[] = [];\n for (const skill of connector.skills) {\n const dir = this.skillDir(ctx, skill.name);\n changes.push(this.removeContentFile(join(dir, \"SKILL.md\"), ctx.dryRun));\n for (const rel of Object.keys(skill.resources ?? {})) {\n const target = this.resolveWithin(dir, rel);\n if (target === null) continue;\n changes.push(this.removeContentFile(target, ctx.dryRun));\n }\n // Only remove the skill dir when WE own its full contents.\n changes.push(this.removeDirIfEmpty(dir, ctx.dryRun));\n }\n return changes;\n }\n\n /**\n * Render a skill's SKILL.md.\n *\n * Pi's allowed-tools field is SPACE-delimited (not comma-delimited).\n * Every other field follows the uniform SKILL.md convention.\n */\n private renderSkill(skill: SkillDef): string {\n const frontmatter: Record<string, unknown> = {\n name: skill.name,\n description: skill.description,\n };\n if (skill.model !== undefined) frontmatter.model = skill.model;\n const allow = skill.tools?.allow;\n // Pi reads allowed-tools as space-separated — NOT the \", \" used by other hosts.\n if (allow && allow.length > 0) frontmatter[\"allowed-tools\"] = allow.join(\" \");\n if (skill.disableModelInvocation !== undefined) {\n frontmatter[\"disable-model-invocation\"] = skill.disableModelInvocation;\n }\n if (skill.extra) Object.assign(frontmatter, skill.extra);\n return this.renderFrontmatterMd(frontmatter, skill.body);\n }\n\n // ── Action surface (slash commands in a generated extension module) ───────\n // Each declared action becomes a pi.registerCommand(...) inside a generated,\n // self-contained TS extension module (<extensionDir>/index.js). This mirrors\n // the OMP adapter's emitter near-verbatim (omp wraps Pi; its action support was\n // inferred FROM Pi). UNLIKE omp the module is NOT shared with a hook surface —\n // Pi has no lifecycle hook layer here — so it is actions-only AND\n // uninstallActions owns the teardown directly (no uninstallHooks to delegate to).\n // Idempotent (byte-identical → skip) via writeManagedFile; honors\n // platforms[\"pi\"].actions === false and the empty-actions skip.\n\n override installActions(ctx: InstallContext): ChangeRecord[] {\n const entryPath = this.actionEntryPath(ctx);\n if (ctx.connector.platforms[HOST]?.actions === false) {\n return [{ platform: this.id, action: \"skip\", path: entryPath, detail: \"actions disabled for pi\" }];\n }\n if (this.actionTriggers(ctx).length === 0) {\n return [{ platform: this.id, action: \"skip\", path: entryPath, detail: \"connector declares no actions\" }];\n }\n return this.synthesizeExtension(ctx).map((file) =>\n this.writeManagedFile(\n file.path,\n file.contents,\n ctx.dryRun,\n \"pi extension module (action commands)\",\n file.executable,\n ),\n );\n }\n\n override uninstallActions(ctx: InstallContext): ChangeRecord[] {\n const entryPath = this.actionEntryPath(ctx);\n if (!existsSync(entryPath)) {\n return [{ platform: this.id, action: \"skip\", path: entryPath, detail: \"no pi extension present\" }];\n }\n const changes: ChangeRecord[] = [\n this.removeManagedFile(entryPath, ctx.dryRun, \"pi extension module\", \"no pi extension module present\"),\n ];\n // Only remove the extension dir when we own its full contents (we write a\n // single index.js into a per-connector dir, so this is normally now empty).\n changes.push(this.removeDirIfEmpty(this.extensionDir(ctx), ctx.dryRun));\n return changes;\n }\n\n /**\n * Build the Pi action extension: a single self-contained ESM module\n * (<extensionDir>/index.js) whose default export is the Pi plugin factory\n * `(pi) => void`. It imports nothing from agent-connector. For each declared\n * action it calls `pi.registerCommand(action.id, { handler })`; the handler\n * shells out to the stable home binary's `action pi <id>` verb over\n * child_process (fail-open). Mirrors the OMP adapter's registerCommand emission\n * (the shared renderBridgePrelude head + the per-action block), minus the hook\n * handlers Pi has no surface for.\n */\n private synthesizeExtension(ctx: InstallContext): GeneratedPluginFile[] {\n return [\n {\n path: this.actionEntryPath(ctx),\n contents: this.buildExtensionSource(ctx),\n executable: false,\n },\n ];\n }\n\n /** Compose the generated extension source with plain string concatenation. */\n private buildExtensionSource(ctx: InstallContext): string {\n const header = `/**\n * AUTO-GENERATED by agent-connector — DO NOT EDIT.\n *\n * Self-contained Pi extension for connector ${ctx.connector.id}. It imports\n * nothing from agent-connector: each registered command shells out to the stable\n * home binary's universal action entrypoint. Fail-open: any launcher error\n * degrades to a no-op (never wedges Pi).\n *\n * Pi loads this module and calls its DEFAULT export, the plugin factory\n * (pi) => void, once at load time; each pi.registerCommand(...) wires one\n * user-invokable command.\n */\nimport { execFileSync, execSync } from \"node:child_process\";\n\n${renderBridgePrelude({\n homeBin: ctx.homeBinPath,\n connectorId: ctx.connector.id,\n hookSlug: \"pi\",\n payloadNoun: \"Pi\",\n failOpenComment: \"Fail-open — never break a Pi command invocation.\",\n})}\n`;\n\n // Action surface: one pi.registerCommand per declared action. The command\n // shells out to the home-bin `action` verb (host token literal \"pi\"). Both id\n // AND description are JSON.stringify'd — descriptions are free-form connector\n // text, so a raw \" / backtick would break the module.\n const actionHandlers: string[] = [];\n for (const action of this.actionTriggers(ctx)) {\n const id = JSON.stringify(action.id);\n const description = JSON.stringify(action.description);\n actionHandlers.push(` // Action /${action.id} → run the home-bin action verb directly.\n pi.registerCommand(${id}, {\n description: ${description},\n handler: async (_args, _ctx) => {\n try {\n const args = [\"action\", \"pi\", ${id}, \"--connector\", CONNECTOR_ID];\n process.platform === \"win32\"\n ? execSync([HOME_BIN, ...args].map((a) => '\"' + a + '\"').join(\" \"), { stdio: \"inherit\" })\n : execFileSync(HOME_BIN, args, { stdio: \"inherit\" });\n } catch { /* fail-open */ }\n return undefined;\n },\n });`);\n }\n\n const factory = `\nexport default function plugin(pi) {\n${actionHandlers.join(\"\\n\\n\")}\n}\n`;\n\n return header + factory;\n }\n\n // ── Diagnostics ──────────────────────────────────────────────────────────\n\n override getHealthChecks(ctx: InstallContext): readonly HealthCheck[] {\n const checks: HealthCheck[] = [];\n\n // Command (prompt-template) checks.\n for (const cmd of ctx.connector.commands) {\n const p = this.commandPath(ctx, cmd.name);\n checks.push({\n name: `${this.name}: command ${cmd.name} present`,\n check: () =>\n existsSync(p)\n ? { status: \"OK\", detail: p }\n : { status: \"FAIL\", detail: `not found: ${p}` },\n });\n }\n\n // Skill-surface checks.\n for (const skill of ctx.connector.skills) {\n const p = join(this.skillDir(ctx, skill.name), \"SKILL.md\");\n checks.push({\n name: `${this.name}: skill ${skill.name} present`,\n check: () =>\n existsSync(p)\n ? { status: \"OK\", detail: p }\n : { status: \"FAIL\", detail: `not found: ${p}` },\n });\n }\n\n // Action-surface check: the generated extension module carries every action,\n // so a connector declaring actions must have written it (unless opted out).\n if (\n this.actionTriggers(ctx).length > 0 &&\n ctx.connector.platforms[HOST]?.actions !== false\n ) {\n const p = this.actionEntryPath(ctx);\n checks.push({\n name: `${this.name}: action extension present`,\n check: () =>\n existsSync(p)\n ? { status: \"OK\", detail: p }\n : { status: \"FAIL\", detail: `not found: ${p}` },\n });\n }\n return checks;\n }\n}\n\nexport const adapter = new PiAdapter();\nexport default adapter;\n"],"mappings":";;;;;;;;;;;;AAoCA,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,YAAY;AAgBrB,IAAM,OAAmB;AAElB,IAAM,YAAN,cAAwB,YAA+B;AAAA,EACnD,KAAiB;AAAA,EACjB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOP,WAAyB;AAAA,EAEzB,eAAqC;AAAA;AAAA;AAAA,IAG5C,gBAAgB;AAAA;AAAA,IAEhB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,MAAM;AAAA,IACN,cAAc;AAAA,IACd,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,yBAAyB;AAAA;AAAA,IAEzB,YAAY,CAAC;AAAA;AAAA,IAEb,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnB,iBAAiB;AAAA,EACnB;AAAA;AAAA,EAIA,gBAAgB,YAAsC;AACpD,UAAM,UAAU,KAAK,QAAQ,GAAG,KAAK;AACrC,UAAM,UAAU,KAAK,YAAY,KAAK;AAEtC,UAAM,gBAAgB,WAAW,OAAO;AACxC,UAAM,gBAAgB,WAAW,OAAO;AACxC,UAAM,YAAY,iBAAiB;AACnC,UAAM,QAAQ,iBAAiB,CAAC,gBAAgB,YAAY;AAC5D,UAAM,aAAa,UAAU,YAAY,UAAU;AAEnD,WAAO;AAAA,MACL,IAAI,KAAK;AAAA,MACT,MAAM,KAAK;AAAA,MACX;AAAA,MACA,UAAU,KAAK;AAAA,MACf,cAAc,KAAK;AAAA,MACnB;AAAA,MACA;AAAA,MACA,QAAQ,YACJ,oBAAoB,KAAK,QAAQ,UAAU,KAC3C,oBAAoB,OAAO,OAAO,OAAO;AAAA,MAC7C,YAAY,YAAY,SAAS;AAAA,IACnC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAa,KAA6B;AACxC,WAAO,IAAI,UAAU,YACjB,KAAK,IAAI,YAAY,KAAK,IAC1B,KAAK,QAAQ,GAAG,KAAK;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,oBAAoB,KAA6B;AAC/C,WAAO,KAAK,aAAa,GAAG;AAAA,EAC9B;AAAA;AAAA,EAGA,kBAAkB,KAA6B;AAC7C,WAAO,KAAK,aAAa,GAAG;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,WAAW,KAA6B;AAC9C,WAAO,IAAI,UAAU,YACjB,KAAK,IAAI,YAAY,OAAO,SAAS,IACrC,KAAK,QAAQ,GAAG,OAAO,SAAS,SAAS;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,UAAU,KAA6B;AAC7C,WAAO,IAAI,UAAU,YACjB,KAAK,IAAI,YAAY,OAAO,QAAQ,IACpC,KAAK,QAAQ,GAAG,OAAO,SAAS,QAAQ;AAAA,EAC9C;AAAA;AAAA,EAGQ,SAAS,KAAqB,MAAsB;AAC1D,WAAO,KAAK,KAAK,UAAU,GAAG,GAAG,IAAI;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASQ,aAAa,KAA6B;AAChD,UAAM,OACJ,IAAI,UAAU,YACV,KAAK,IAAI,YAAY,KAAK,IAC1B,KAAK,QAAQ,GAAG,OAAO,OAAO;AACpC,WAAO,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE;AAAA,EAClD;AAAA;AAAA,EAGQ,gBAAgB,KAA6B;AACnD,WAAO,KAAK,KAAK,aAAa,GAAG,GAAG,UAAU;AAAA,EAChD;AAAA;AAAA,EAIA,cAAc,MAAsC;AAClD,WAAO;AAAA,MACL;AAAA,QACE,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA,EAEA,gBAAgB,MAAsC;AACpD,WAAO;AAAA,MACL;AAAA,QACE,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAIA,aAAa,MAAsC;AACjD,WAAO;AAAA,MACL;AAAA,QACE,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA,EAEA,eAAe,MAAsC;AACnD,WAAO;AAAA,MACL;AAAA,QACE,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,YAAY,KAAqB,MAAsB;AAC7D,WAAO,KAAK,KAAK,WAAW,GAAG,GAAG,GAAG,IAAI,KAAK;AAAA,EAChD;AAAA,EAES,gBAAgB,KAAqC;AAC5D,UAAM,EAAE,UAAU,IAAI;AACtB,QAAI,UAAU,UAAU,IAAI,GAAG,aAAa,OAAO;AACjD,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,2BAA2B,CAAC;AAAA,IACnF;AACA,QAAI,UAAU,SAAS,WAAW,GAAG;AACnC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,iCAAiC,CAAC;AAAA,IACzF;AACA,WAAO,UAAU,SAAS;AAAA,MAAI,CAAC,QAC7B,KAAK;AAAA,QACH,KAAK,YAAY,KAAK,IAAI,IAAI;AAAA,QAC9B,KAAK,cAAc,GAAG;AAAA,QACtB,IAAI;AAAA,MACN;AAAA,IACF;AAAA,EACF;AAAA,EAES,kBAAkB,KAAqC;AAC9D,UAAM,EAAE,UAAU,IAAI;AACtB,QAAI,UAAU,SAAS,WAAW,GAAG;AACnC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,iCAAiC,CAAC;AAAA,IACzF;AACA,WAAO,UAAU,SAAS;AAAA,MAAI,CAAC,QAC7B,KAAK,kBAAkB,KAAK,YAAY,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM;AAAA,IACpE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,cAAc,KAAyB;AAC7C,UAAM,cAAuC,CAAC;AAC9C,QAAI,IAAI,gBAAgB,OAAW,aAAY,cAAc,IAAI;AACjE,QAAI,IAAI,UAAU,OAAW,aAAY,QAAQ,IAAI;AACrD,QAAI,IAAI,iBAAiB,OAAW,aAAY,eAAe,IAAI,IAAI;AACvE,QAAI,IAAI,MAAO,QAAO,OAAO,aAAa,IAAI,KAAK;AACnD,WAAO,KAAK,oBAAoB,aAAa,IAAI,MAAM;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA,EAOS,cAAc,KAAqC;AAC1D,UAAM,EAAE,UAAU,IAAI;AACtB,QAAI,UAAU,UAAU,IAAI,GAAG,WAAW,OAAO;AAC/C,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,yBAAyB,CAAC;AAAA,IACjF;AACA,QAAI,UAAU,OAAO,WAAW,GAAG;AACjC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,+BAA+B,CAAC;AAAA,IACvF;AACA,UAAM,UAA0B,CAAC;AACjC,eAAW,SAAS,UAAU,QAAQ;AACpC,YAAM,MAAM,KAAK,SAAS,KAAK,MAAM,IAAI;AACzC,cAAQ;AAAA,QACN,KAAK,iBAAiB,KAAK,KAAK,UAAU,GAAG,KAAK,YAAY,KAAK,GAAG,IAAI,MAAM;AAAA,MAClF;AAGA,iBAAW,CAAC,KAAK,QAAQ,KAAK,OAAO,QAAQ,MAAM,aAAa,CAAC,CAAC,GAAG;AACnE,cAAM,SAAS,KAAK,cAAc,KAAK,GAAG;AAC1C,YAAI,WAAW,MAAM;AACnB,kBAAQ,KAAK;AAAA,YACX,UAAU,KAAK;AAAA,YACf,QAAQ;AAAA,YACR,QAAQ,mBAAmB,GAAG;AAAA,UAChC,CAAC;AACD;AAAA,QACF;AACA,gBAAQ,KAAK,KAAK,iBAAiB,QAAQ,UAAU,IAAI,MAAM,CAAC;AAAA,MAClE;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAES,gBAAgB,KAAqC;AAC5D,UAAM,EAAE,UAAU,IAAI;AACtB,QAAI,UAAU,OAAO,WAAW,GAAG;AACjC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,QAAQ,+BAA+B,CAAC;AAAA,IACvF;AACA,UAAM,UAA0B,CAAC;AACjC,eAAW,SAAS,UAAU,QAAQ;AACpC,YAAM,MAAM,KAAK,SAAS,KAAK,MAAM,IAAI;AACzC,cAAQ,KAAK,KAAK,kBAAkB,KAAK,KAAK,UAAU,GAAG,IAAI,MAAM,CAAC;AACtE,iBAAW,OAAO,OAAO,KAAK,MAAM,aAAa,CAAC,CAAC,GAAG;AACpD,cAAM,SAAS,KAAK,cAAc,KAAK,GAAG;AAC1C,YAAI,WAAW,KAAM;AACrB,gBAAQ,KAAK,KAAK,kBAAkB,QAAQ,IAAI,MAAM,CAAC;AAAA,MACzD;AAEA,cAAQ,KAAK,KAAK,iBAAiB,KAAK,IAAI,MAAM,CAAC;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,YAAY,OAAyB;AAC3C,UAAM,cAAuC;AAAA,MAC3C,MAAM,MAAM;AAAA,MACZ,aAAa,MAAM;AAAA,IACrB;AACA,QAAI,MAAM,UAAU,OAAW,aAAY,QAAQ,MAAM;AACzD,UAAM,QAAQ,MAAM,OAAO;AAE3B,QAAI,SAAS,MAAM,SAAS,EAAG,aAAY,eAAe,IAAI,MAAM,KAAK,GAAG;AAC5E,QAAI,MAAM,2BAA2B,QAAW;AAC9C,kBAAY,0BAA0B,IAAI,MAAM;AAAA,IAClD;AACA,QAAI,MAAM,MAAO,QAAO,OAAO,aAAa,MAAM,KAAK;AACvD,WAAO,KAAK,oBAAoB,aAAa,MAAM,IAAI;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYS,eAAe,KAAqC;AAC3D,UAAM,YAAY,KAAK,gBAAgB,GAAG;AAC1C,QAAI,IAAI,UAAU,UAAU,IAAI,GAAG,YAAY,OAAO;AACpD,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,MAAM,WAAW,QAAQ,0BAA0B,CAAC;AAAA,IACnG;AACA,QAAI,KAAK,eAAe,GAAG,EAAE,WAAW,GAAG;AACzC,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,MAAM,WAAW,QAAQ,gCAAgC,CAAC;AAAA,IACzG;AACA,WAAO,KAAK,oBAAoB,GAAG,EAAE;AAAA,MAAI,CAAC,SACxC,KAAK;AAAA,QACH,KAAK;AAAA,QACL,KAAK;AAAA,QACL,IAAI;AAAA,QACJ;AAAA,QACA,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAAA,EAES,iBAAiB,KAAqC;AAC7D,UAAM,YAAY,KAAK,gBAAgB,GAAG;AAC1C,QAAI,CAAC,WAAW,SAAS,GAAG;AAC1B,aAAO,CAAC,EAAE,UAAU,KAAK,IAAI,QAAQ,QAAQ,MAAM,WAAW,QAAQ,0BAA0B,CAAC;AAAA,IACnG;AACA,UAAM,UAA0B;AAAA,MAC9B,KAAK,kBAAkB,WAAW,IAAI,QAAQ,uBAAuB,gCAAgC;AAAA,IACvG;AAGA,YAAQ,KAAK,KAAK,iBAAiB,KAAK,aAAa,GAAG,GAAG,IAAI,MAAM,CAAC;AACtE,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYQ,oBAAoB,KAA4C;AACtE,WAAO;AAAA,MACL;AAAA,QACE,MAAM,KAAK,gBAAgB,GAAG;AAAA,QAC9B,UAAU,KAAK,qBAAqB,GAAG;AAAA,QACvC,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAGQ,qBAAqB,KAA6B;AACxD,UAAM,SAAS;AAAA;AAAA;AAAA,+CAG4B,IAAI,UAAU,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAW7D,oBAAoB;AAAA,MACpB,SAAS,IAAI;AAAA,MACb,aAAa,IAAI,UAAU;AAAA,MAC3B,UAAU;AAAA,MACV,aAAa;AAAA,MACb,iBAAiB;AAAA,IACnB,CAAC,CAAC;AAAA;AAOE,UAAM,iBAA2B,CAAC;AAClC,eAAW,UAAU,KAAK,eAAe,GAAG,GAAG;AAC7C,YAAM,KAAK,KAAK,UAAU,OAAO,EAAE;AACnC,YAAM,cAAc,KAAK,UAAU,OAAO,WAAW;AACrD,qBAAe,KAAK,gBAAgB,OAAO,EAAE;AAAA,uBAC5B,EAAE;AAAA,mBACN,WAAW;AAAA;AAAA;AAAA,wCAGU,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOpC;AAAA,IACF;AAEA,UAAM,UAAU;AAAA;AAAA,EAElB,eAAe,KAAK,MAAM,CAAC;AAAA;AAAA;AAIzB,WAAO,SAAS;AAAA,EAClB;AAAA;AAAA,EAIS,gBAAgB,KAA6C;AACpE,UAAM,SAAwB,CAAC;AAG/B,eAAW,OAAO,IAAI,UAAU,UAAU;AACxC,YAAM,IAAI,KAAK,YAAY,KAAK,IAAI,IAAI;AACxC,aAAO,KAAK;AAAA,QACV,MAAM,GAAG,KAAK,IAAI,aAAa,IAAI,IAAI;AAAA,QACvC,OAAO,MACL,WAAW,CAAC,IACR,EAAE,QAAQ,MAAM,QAAQ,EAAE,IAC1B,EAAE,QAAQ,QAAQ,QAAQ,cAAc,CAAC,GAAG;AAAA,MACpD,CAAC;AAAA,IACH;AAGA,eAAW,SAAS,IAAI,UAAU,QAAQ;AACxC,YAAM,IAAI,KAAK,KAAK,SAAS,KAAK,MAAM,IAAI,GAAG,UAAU;AACzD,aAAO,KAAK;AAAA,QACV,MAAM,GAAG,KAAK,IAAI,WAAW,MAAM,IAAI;AAAA,QACvC,OAAO,MACL,WAAW,CAAC,IACR,EAAE,QAAQ,MAAM,QAAQ,EAAE,IAC1B,EAAE,QAAQ,QAAQ,QAAQ,cAAc,CAAC,GAAG;AAAA,MACpD,CAAC;AAAA,IACH;AAIA,QACE,KAAK,eAAe,GAAG,EAAE,SAAS,KAClC,IAAI,UAAU,UAAU,IAAI,GAAG,YAAY,OAC3C;AACA,YAAM,IAAI,KAAK,gBAAgB,GAAG;AAClC,aAAO,KAAK;AAAA,QACV,MAAM,GAAG,KAAK,IAAI;AAAA,QAClB,OAAO,MACL,WAAW,CAAC,IACR,EAAE,QAAQ,MAAM,QAAQ,EAAE,IAC1B,EAAE,QAAQ,QAAQ,QAAQ,cAAc,CAAC,GAAG;AAAA,MACpD,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AACF;AAEO,IAAM,UAAU,IAAI,UAAU;AACrC,IAAO,aAAQ;","names":[]}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
writeTomlString
|
|
4
|
+
} from "./chunk-OPXAP3AC.js";
|
|
2
5
|
import {
|
|
3
6
|
addLedgerOwner,
|
|
4
7
|
createLedgerEntry,
|
|
@@ -11,10 +14,7 @@ import {
|
|
|
11
14
|
loadConfigPatchLedger,
|
|
12
15
|
removeLedgerOwner,
|
|
13
16
|
saveConfigPatchLedger
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import {
|
|
16
|
-
writeTomlString
|
|
17
|
-
} from "./chunk-OPXAP3AC.js";
|
|
17
|
+
} from "./chunk-56R2ER7K.js";
|
|
18
18
|
import {
|
|
19
19
|
normalizeSessionSource
|
|
20
20
|
} from "./chunk-H53QZQJI.js";
|
|
@@ -24,15 +24,15 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
BaseAdapter,
|
|
26
26
|
renderSkillMd
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-VVFDU4IX.js";
|
|
28
28
|
import {
|
|
29
29
|
buildHomeBinStatuslineCommand,
|
|
30
30
|
buildWrappedStdio,
|
|
31
31
|
isHomeBinHookCommand,
|
|
32
32
|
isHomeBinStatuslineCommand
|
|
33
|
-
} from "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
33
|
+
} from "./chunk-HORHRHNG.js";
|
|
34
|
+
import "./chunk-YYNXIUR2.js";
|
|
35
|
+
import "./chunk-IXOQDZWC.js";
|
|
36
36
|
|
|
37
37
|
// src/adapters/qwen-code/index.ts
|
|
38
38
|
import { existsSync } from "fs";
|
|
@@ -1083,4 +1083,4 @@ export {
|
|
|
1083
1083
|
adapter,
|
|
1084
1084
|
qwen_code_default as default
|
|
1085
1085
|
};
|
|
1086
|
-
//# sourceMappingURL=qwen-code-
|
|
1086
|
+
//# sourceMappingURL=qwen-code-TUJNHKNI.js.map
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
BaseAdapter,
|
|
7
7
|
renderCommandMd,
|
|
8
8
|
renderSkillMd
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VVFDU4IX.js";
|
|
10
10
|
import {
|
|
11
11
|
buildWrappedStdio
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-HORHRHNG.js";
|
|
13
|
+
import "./chunk-YYNXIUR2.js";
|
|
14
|
+
import "./chunk-IXOQDZWC.js";
|
|
15
15
|
|
|
16
16
|
// src/adapters/roo-code/index.ts
|
|
17
17
|
import { existsSync } from "fs";
|
|
@@ -358,4 +358,4 @@ export {
|
|
|
358
358
|
adapter,
|
|
359
359
|
roo_code_default as default
|
|
360
360
|
};
|
|
361
|
-
//# sourceMappingURL=roo-code-
|
|
361
|
+
//# sourceMappingURL=roo-code-L5F7S6QH.js.map
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as HookEventName, P as PlatformId } from '../types-
|
|
1
|
+
import { e as HookEventName, P as PlatformId } from '../types-C4qMgbJn.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* runtime/hook-entrypoint — the universal json-stdio hook dispatcher.
|
|
@@ -135,6 +135,17 @@ interface RunServeOptions {
|
|
|
135
135
|
* otherwise mis-attributes). Absent/unrecognized → fall back to detection.
|
|
136
136
|
*/
|
|
137
137
|
hostPlatformOverride?: PlatformId;
|
|
138
|
+
/**
|
|
139
|
+
* Framework data-root from `--data-dir <path>` (baked into the wrapper at
|
|
140
|
+
* install time, only for a NON-DEFAULT root). OPTIONAL: when present, it pins
|
|
141
|
+
* the data-root the WHOLE child resolves — connector record lookup AND the
|
|
142
|
+
* telemetry store — by populating AGENT_CONNECTOR_DATA_DIR before anything
|
|
143
|
+
* reads it. This is the env-independent path for hosts (codex) that strip the
|
|
144
|
+
* MCP child's environment and would otherwise drop the override, leaving the
|
|
145
|
+
* child to resolve the default `~/.agent-connector` and fail "not registered".
|
|
146
|
+
* Absent → resolve the data-root the usual way (env or default).
|
|
147
|
+
*/
|
|
148
|
+
dataDir?: string;
|
|
138
149
|
}
|
|
139
150
|
declare function runServe(opts: RunServeOptions): Promise<number>;
|
|
140
151
|
|
package/dist/runtime/index.js
CHANGED
|
@@ -4,24 +4,24 @@ import {
|
|
|
4
4
|
runServe,
|
|
5
5
|
runStatusline,
|
|
6
6
|
runUsageEvent
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-BLTVZACS.js";
|
|
8
8
|
import "../chunk-OP4KBXUO.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-LN76OGNR.js";
|
|
10
|
+
import "../chunk-ZMLVR4J7.js";
|
|
11
11
|
import {
|
|
12
12
|
isNativeHookDeclared,
|
|
13
13
|
runHook,
|
|
14
14
|
runNativeHook
|
|
15
|
-
} from "../chunk-
|
|
16
|
-
import "../chunk-D6ZJS4ND.js";
|
|
15
|
+
} from "../chunk-LAIITCMW.js";
|
|
17
16
|
import "../chunk-KHO5WNTP.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-4FWETID5.js";
|
|
18
|
+
import "../chunk-NWLRJNXM.js";
|
|
19
|
+
import "../chunk-G4CEELKO.js";
|
|
20
|
+
import "../chunk-25CPWJA7.js";
|
|
21
|
+
import "../chunk-56R2ER7K.js";
|
|
22
|
+
import "../chunk-HORHRHNG.js";
|
|
23
|
+
import "../chunk-YYNXIUR2.js";
|
|
24
|
+
import "../chunk-IXOQDZWC.js";
|
|
25
25
|
export {
|
|
26
26
|
isNativeHookDeclared,
|
|
27
27
|
runAction,
|
package/dist/sdk/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { ConnectorConfigError, defineAction, defineCommand, defineConfigPatch, defineConnector, defineHook, defineMemory, defineNativeHook, defineSkill, defineStatusline, defineSubagent } from '../index.js';
|
|
2
|
-
export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-
|
|
3
|
-
import { P as PlatformId } from '../types-
|
|
4
|
-
export { A as ActionDef, a as ActionResult, b as AuthSpec, C as CommandDef, c as ConfigPatchDef, d as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, I as InstallScope, J as JsonValue, M as MemoryDef, N as NativeHookDef, j as NativeHookEvent, k as NotificationEvent, l as PermissionRequestEvent, m as PlatformCapabilities, n as PlatformMemoryOverride, o as PlatformOverride, p as PostToolUseEvent, q as PostToolUseFailureEvent, r as PreCompactEvent, s as PreToolUseEvent, t as PublishConfig, R as ResolvedConnector, S as ServerDef, u as SessionEndEvent, v as SessionStartEvent, w as SkillDef, x as StatuslineContext, y as StatuslineDef, z as StopEvent, B as SubagentDef, D as SubagentStartEvent, F as SubagentStopEvent, G as SurfaceToolPolicy, T as TelemetryAccessor, K as TelemetryConfig, L as TelemetryUsageSummary, O as ToolFilter, Q as Transport, U as UserPromptSubmitEvent } from '../types-
|
|
2
|
+
export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-DYOIX8Ov.js';
|
|
3
|
+
import { P as PlatformId } from '../types-C4qMgbJn.js';
|
|
4
|
+
export { A as ActionDef, a as ActionResult, b as AuthSpec, C as CommandDef, c as ConfigPatchDef, d as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, I as InstallScope, J as JsonValue, M as MemoryDef, N as NativeHookDef, j as NativeHookEvent, k as NotificationEvent, l as PermissionRequestEvent, m as PlatformCapabilities, n as PlatformMemoryOverride, o as PlatformOverride, p as PostToolUseEvent, q as PostToolUseFailureEvent, r as PreCompactEvent, s as PreToolUseEvent, t as PublishConfig, R as ResolvedConnector, S as ServerDef, u as SessionEndEvent, v as SessionStartEvent, w as SkillDef, x as StatuslineContext, y as StatuslineDef, z as StopEvent, B as SubagentDef, D as SubagentStartEvent, F as SubagentStopEvent, G as SurfaceToolPolicy, T as TelemetryAccessor, K as TelemetryConfig, L as TelemetryUsageSummary, O as ToolFilter, Q as Transport, U as UserPromptSubmitEvent } from '../types-C4qMgbJn.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* sdk/helpers — host-aware authoring helpers for connector handlers.
|
package/dist/sdk/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
capabilitiesOf,
|
|
5
5
|
hostsSupporting,
|
|
6
6
|
surfaceSupport
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-R6LML2YS.js";
|
|
8
8
|
import {
|
|
9
9
|
ConnectorConfigError,
|
|
10
10
|
defineAction,
|
|
@@ -17,11 +17,11 @@ import {
|
|
|
17
17
|
defineSkill,
|
|
18
18
|
defineStatusline,
|
|
19
19
|
defineSubagent
|
|
20
|
-
} from "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
20
|
+
} from "../chunk-G4CEELKO.js";
|
|
21
|
+
import "../chunk-25CPWJA7.js";
|
|
22
|
+
import "../chunk-56R2ER7K.js";
|
|
23
|
+
import "../chunk-YYNXIUR2.js";
|
|
24
|
+
import "../chunk-IXOQDZWC.js";
|
|
25
25
|
|
|
26
26
|
// src/sdk/helpers.ts
|
|
27
27
|
var PREFIXED_HOSTS = /* @__PURE__ */ new Set([
|
package/dist/sdk/test.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PlatformId, e as HookEventName, R as ResolvedConnector } from '../types-
|
|
2
|
-
import { a as SurfaceName } from '../introspect-
|
|
1
|
+
import { P as PlatformId, e as HookEventName, R as ResolvedConnector } from '../types-C4qMgbJn.js';
|
|
2
|
+
import { a as SurfaceName } from '../introspect-DYOIX8Ov.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* sdk/test-harness — the SHIPPED, OFFLINE behavioral harness.
|
package/dist/sdk/test.js
CHANGED
|
@@ -3,17 +3,17 @@ import {
|
|
|
3
3
|
explain,
|
|
4
4
|
explainHooks,
|
|
5
5
|
simulate
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-D6ZJS4ND.js";
|
|
6
|
+
} from "../chunk-QARPXSIV.js";
|
|
7
|
+
import "../chunk-LAIITCMW.js";
|
|
9
8
|
import "../chunk-KHO5WNTP.js";
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-4FWETID5.js";
|
|
10
|
+
import "../chunk-R6LML2YS.js";
|
|
11
|
+
import "../chunk-NWLRJNXM.js";
|
|
12
|
+
import "../chunk-G4CEELKO.js";
|
|
13
|
+
import "../chunk-25CPWJA7.js";
|
|
14
|
+
import "../chunk-56R2ER7K.js";
|
|
15
|
+
import "../chunk-YYNXIUR2.js";
|
|
16
|
+
import "../chunk-IXOQDZWC.js";
|
|
17
17
|
export {
|
|
18
18
|
explain,
|
|
19
19
|
explainHooks,
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fail
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7HUUINPB.js";
|
|
5
5
|
import {
|
|
6
6
|
runServe
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BLTVZACS.js";
|
|
8
8
|
import "./chunk-OP4KBXUO.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-D6ZJS4ND.js";
|
|
9
|
+
import "./chunk-LN76OGNR.js";
|
|
10
|
+
import "./chunk-ZMLVR4J7.js";
|
|
11
|
+
import "./chunk-LAIITCMW.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-4FWETID5.js";
|
|
14
|
+
import "./chunk-NWLRJNXM.js";
|
|
15
|
+
import "./chunk-G4CEELKO.js";
|
|
16
|
+
import "./chunk-25CPWJA7.js";
|
|
17
|
+
import "./chunk-56R2ER7K.js";
|
|
18
|
+
import "./chunk-HORHRHNG.js";
|
|
19
|
+
import "./chunk-YYNXIUR2.js";
|
|
20
|
+
import "./chunk-IXOQDZWC.js";
|
|
21
21
|
|
|
22
22
|
// src/cli/commands/serve.ts
|
|
23
23
|
import { parseArgs } from "util";
|
|
@@ -25,7 +25,7 @@ async function run(argv) {
|
|
|
25
25
|
const sepIndex = argv.indexOf("--");
|
|
26
26
|
if (sepIndex === -1) {
|
|
27
27
|
return fail(
|
|
28
|
-
"usage: agent-connector serve --connector <id> [--scope <user|project>] [--host <platformId>] -- <command> [args...]"
|
|
28
|
+
"usage: agent-connector serve --connector <id> [--scope <user|project>] [--host <platformId>] [--data-dir <path>] -- <command> [args...]"
|
|
29
29
|
);
|
|
30
30
|
}
|
|
31
31
|
const flagArgs = argv.slice(0, sepIndex);
|
|
@@ -38,7 +38,12 @@ async function run(argv) {
|
|
|
38
38
|
// `--host <platformId>` bakes the install TARGET platform into the wrapper
|
|
39
39
|
// so the proxy stamps hostPlatform correctly under a headless spawn (where
|
|
40
40
|
// runtime env markers are absent). Optional + tolerated (strict:false).
|
|
41
|
-
host: { type: "string" }
|
|
41
|
+
host: { type: "string" },
|
|
42
|
+
// `--data-dir <path>` pins the framework data-root for the child (connector
|
|
43
|
+
// record + telemetry). Written only for a NON-DEFAULT root, so the child
|
|
44
|
+
// never depends on inheriting AGENT_CONNECTOR_DATA_DIR (codex strips it).
|
|
45
|
+
// Optional + tolerated (strict:false).
|
|
46
|
+
"data-dir": { type: "string" }
|
|
42
47
|
},
|
|
43
48
|
allowPositionals: true,
|
|
44
49
|
strict: false
|
|
@@ -50,6 +55,7 @@ async function run(argv) {
|
|
|
50
55
|
const rawScope = values.scope;
|
|
51
56
|
const installScope = rawScope === "user" || rawScope === "project" ? rawScope : void 0;
|
|
52
57
|
const hostPlatformOverride = typeof values.host === "string" ? values.host : void 0;
|
|
58
|
+
const dataDir = typeof values["data-dir"] === "string" && values["data-dir"].trim() !== "" ? values["data-dir"] : void 0;
|
|
53
59
|
const serverCommand = serverInvocation[0];
|
|
54
60
|
if (!serverCommand) {
|
|
55
61
|
return fail("serve requires a command after `--`");
|
|
@@ -60,11 +66,12 @@ async function run(argv) {
|
|
|
60
66
|
serverCommand,
|
|
61
67
|
serverArgs,
|
|
62
68
|
installScope,
|
|
63
|
-
hostPlatformOverride
|
|
69
|
+
hostPlatformOverride,
|
|
70
|
+
dataDir
|
|
64
71
|
});
|
|
65
72
|
process.exit(code);
|
|
66
73
|
}
|
|
67
74
|
export {
|
|
68
75
|
run
|
|
69
76
|
};
|
|
70
|
-
//# sourceMappingURL=serve-
|
|
77
|
+
//# sourceMappingURL=serve-K62FW3V7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/serve.ts"],"sourcesContent":["/**\n * cli/commands/serve — the telemetry-wrapping MCP stdio proxy entrypoint.\n *\n * agent-connector serve --connector <id> [--scope <user|project>] [--host <platformId>] -- <realCommand> <realArgs...>\n *\n * A stdio MCP server that opts into transparent telemetry has its host config\n * rewritten to launch THIS instead of the server directly. We split argv at the\n * literal `--` separator: flags on the left, the real server command + args on\n * the right (taken verbatim). The optional `--scope` flag records the install\n * dimension (global user vs project-local) onto telemetry; it is absent for\n * configs written before scope plumbing existed → the runtime reads \"unknown\".\n * The optional `--host` flag carries the install TARGET platform id so the proxy\n * stamps hostPlatform correctly under a headless spawn; absent configs fall back\n * to runtime env detection.\n * The optional `--data-dir` flag pins the framework data-root the child must use\n * to resolve the connector record (and write telemetry). It is written by the\n * wrapper only for a NON-DEFAULT root, because some hosts (codex) strip the MCP\n * child's environment and would otherwise not propagate AGENT_CONNECTOR_DATA_DIR\n * — the child would then resolve the default root and fail \"Connector not\n * registered\". Absent configs resolve the data-root the usual way.\n * runServe stands up the per-session telemetry context and proxies bytes both\n * ways, resolving with the child's exit code.\n */\n\nimport { parseArgs } from \"node:util\";\n\nimport type { PlatformId } from \"../../core/types.js\";\nimport type { TelemetryInstallScope } from \"../../telemetry/types.js\";\nimport { runServe } from \"../../runtime/index.js\";\nimport { fail } from \"../app.js\";\n\nexport async function run(argv: string[]): Promise<number> {\n // Split at the FIRST literal \"--\": everything after it is the real server\n // invocation and must be passed through verbatim (never re-parsed as flags).\n const sepIndex = argv.indexOf(\"--\");\n if (sepIndex === -1) {\n return fail(\n \"usage: agent-connector serve --connector <id> [--scope <user|project>] [--host <platformId>] [--data-dir <path>] -- <command> [args...]\",\n );\n }\n const flagArgs = argv.slice(0, sepIndex);\n const serverInvocation = argv.slice(sepIndex + 1);\n\n // strict:false so an unknown FUTURE flag before `--` (written by a newer host\n // config) is ignored instead of throwing — a parse throw here would prevent the\n // real MCP server from ever spawning and wedge the host's tool call. We only\n // read the flags we understand; everything else is tolerated.\n const { values } = parseArgs({\n args: flagArgs,\n options: {\n connector: { type: \"string\" },\n scope: { type: \"string\" },\n // `--host <platformId>` bakes the install TARGET platform into the wrapper\n // so the proxy stamps hostPlatform correctly under a headless spawn (where\n // runtime env markers are absent). Optional + tolerated (strict:false).\n host: { type: \"string\" },\n // `--data-dir <path>` pins the framework data-root for the child (connector\n // record + telemetry). Written only for a NON-DEFAULT root, so the child\n // never depends on inheriting AGENT_CONNECTOR_DATA_DIR (codex strips it).\n // Optional + tolerated (strict:false).\n \"data-dir\": { type: \"string\" },\n },\n allowPositionals: true,\n strict: false,\n });\n\n // With strict:false, parseArgs types each value as string | boolean; we only\n // accept the string form (a bare `--connector` flag with no value is invalid).\n const connectorId = typeof values.connector === \"string\" ? values.connector : undefined;\n if (!connectorId || connectorId.trim() === \"\") {\n return fail(\"serve requires --connector <id>\");\n }\n\n // `--scope` is optional and only ever \"user\" | \"project\" (the wrapper emits\n // exactly those). An unrecognized value is ignored rather than fatal so a\n // future/older wrapper can never break a real tool call over a flag mismatch.\n const rawScope = values.scope;\n const installScope: TelemetryInstallScope | undefined =\n rawScope === \"user\" || rawScope === \"project\" ? rawScope : undefined;\n\n // `--host` carries the install TARGET platform id (string only). runServe\n // validates it against the registry and falls back to runtime detection when\n // it is absent or unrecognized — so a future/older wrapper never breaks here.\n const hostPlatformOverride =\n typeof values.host === \"string\" ? (values.host as PlatformId) : undefined;\n\n // `--data-dir` pins the framework data-root (string only). When present and\n // non-empty, runServe makes the WHOLE child resolve this root — connector\n // record lookup AND telemetry store — so the wrap is independent of the child\n // env that codex strips. Absent → resolve the data-root the usual way.\n const dataDir =\n typeof values[\"data-dir\"] === \"string\" && values[\"data-dir\"].trim() !== \"\"\n ? values[\"data-dir\"]\n : undefined;\n\n const serverCommand = serverInvocation[0];\n if (!serverCommand) {\n return fail(\"serve requires a command after `--`\");\n }\n const serverArgs = serverInvocation.slice(1);\n\n const code = await runServe({\n connectorId,\n serverCommand,\n serverArgs,\n installScope,\n hostPlatformOverride,\n dataDir,\n });\n process.exit(code);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAS,iBAAiB;AAO1B,eAAsB,IAAI,MAAiC;AAGzD,QAAM,WAAW,KAAK,QAAQ,IAAI;AAClC,MAAI,aAAa,IAAI;AACnB,WAAO;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACA,QAAM,WAAW,KAAK,MAAM,GAAG,QAAQ;AACvC,QAAM,mBAAmB,KAAK,MAAM,WAAW,CAAC;AAMhD,QAAM,EAAE,OAAO,IAAI,UAAU;AAAA,IAC3B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,WAAW,EAAE,MAAM,SAAS;AAAA,MAC5B,OAAO,EAAE,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA,MAIxB,MAAM,EAAE,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,MAKvB,YAAY,EAAE,MAAM,SAAS;AAAA,IAC/B;AAAA,IACA,kBAAkB;AAAA,IAClB,QAAQ;AAAA,EACV,CAAC;AAID,QAAM,cAAc,OAAO,OAAO,cAAc,WAAW,OAAO,YAAY;AAC9E,MAAI,CAAC,eAAe,YAAY,KAAK,MAAM,IAAI;AAC7C,WAAO,KAAK,iCAAiC;AAAA,EAC/C;AAKA,QAAM,WAAW,OAAO;AACxB,QAAM,eACJ,aAAa,UAAU,aAAa,YAAY,WAAW;AAK7D,QAAM,uBACJ,OAAO,OAAO,SAAS,WAAY,OAAO,OAAsB;AAMlE,QAAM,UACJ,OAAO,OAAO,UAAU,MAAM,YAAY,OAAO,UAAU,EAAE,KAAK,MAAM,KACpE,OAAO,UAAU,IACjB;AAEN,QAAM,gBAAgB,iBAAiB,CAAC;AACxC,MAAI,CAAC,eAAe;AAClB,WAAO,KAAK,qCAAqC;AAAA,EACnD;AACA,QAAM,aAAa,iBAAiB,MAAM,CAAC;AAE3C,QAAM,OAAO,MAAM,SAAS;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,UAAQ,KAAK,IAAI;AACnB;","names":[]}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
marketplaceEvidence
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QKLJU4JX.js";
|
|
5
|
+
import "./chunk-UM5S7DKK.js";
|
|
5
6
|
import {
|
|
6
7
|
fail,
|
|
7
8
|
parseScope,
|
|
8
9
|
print
|
|
9
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7HUUINPB.js";
|
|
10
11
|
import {
|
|
11
12
|
detectInstalledPlatforms
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZMLVR4J7.js";
|
|
13
14
|
import {
|
|
14
15
|
findConnectorConfig,
|
|
15
16
|
listRegisteredConnectors,
|
|
16
17
|
loadConnectorFromPath
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-NWLRJNXM.js";
|
|
19
|
+
import "./chunk-G4CEELKO.js";
|
|
19
20
|
import {
|
|
20
21
|
loadAdapter
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-ALVXORZM.js";
|
|
22
|
+
} from "./chunk-25CPWJA7.js";
|
|
23
|
+
import "./chunk-56R2ER7K.js";
|
|
24
|
+
import "./chunk-YYNXIUR2.js";
|
|
25
25
|
import {
|
|
26
26
|
dataRoot,
|
|
27
27
|
homeBinPath
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-IXOQDZWC.js";
|
|
29
29
|
|
|
30
30
|
// src/cli/commands/status.ts
|
|
31
31
|
import { parseArgs } from "util";
|
|
@@ -139,4 +139,4 @@ async function run(argv) {
|
|
|
139
139
|
export {
|
|
140
140
|
run
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=status-
|
|
142
|
+
//# sourceMappingURL=status-E5MCFZM6.js.map
|