@ken-jo/agent-connector 0.4.79 → 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.
Files changed (110) hide show
  1. package/README.md +3 -3
  2. package/dist/{action-OHGFVKMC.js → action-L44DXFHT.js} +9 -9
  3. package/dist/antigravity-cli-JO6GUTV7.js +436 -0
  4. package/dist/antigravity-cli-JO6GUTV7.js.map +1 -0
  5. package/dist/{chunk-X457NOFE.js → chunk-25CPWJA7.js} +91 -11
  6. package/dist/chunk-25CPWJA7.js.map +1 -0
  7. package/dist/{chunk-VKRGQLY4.js → chunk-7HUUINPB.js} +18 -18
  8. package/dist/{chunk-LKAVD4HP.js → chunk-BLTVZACS.js} +8 -8
  9. package/dist/{chunk-PZHB5TVA.js → chunk-G4CEELKO.js} +2 -2
  10. package/dist/{chunk-VD4EG6SG.js → chunk-KIRCPLM4.js} +5 -5
  11. package/dist/{chunk-ZXX5DVSE.js → chunk-LAIITCMW.js} +6 -6
  12. package/dist/{chunk-UYZ53KWS.js → chunk-LF76VPGQ.js} +5 -5
  13. package/dist/{chunk-IRUYJD23.js → chunk-NLE2J5P4.js} +1 -1
  14. package/dist/{chunk-7NXEHZAK.js → chunk-NWLRJNXM.js} +2 -2
  15. package/dist/{chunk-YJP3KGLM.js → chunk-QARPXSIV.js} +4 -4
  16. package/dist/{chunk-AMK2K6XZ.js → chunk-R6LML2YS.js} +2 -2
  17. package/dist/{chunk-S4E6QQEM.js → chunk-ZMLVR4J7.js} +7 -2
  18. package/dist/chunk-ZMLVR4J7.js.map +1 -0
  19. package/dist/{claude-code-T6ZRCMA7.js → claude-code-WS4NAGZT.js} +4 -4
  20. package/dist/cli/sdk.js +4 -4
  21. package/dist/cli.js +1 -1
  22. package/dist/codebuddy-RBEZGXBG.js +643 -0
  23. package/dist/codebuddy-RBEZGXBG.js.map +1 -0
  24. package/dist/{codex-RHKQKNNG.js → codex-ZZ434GYR.js} +4 -4
  25. package/dist/{detect-ALAKE54S.js → detect-3S46RUMK.js} +4 -4
  26. package/dist/devin-PRJY2TTD.js +510 -0
  27. package/dist/devin-PRJY2TTD.js.map +1 -0
  28. package/dist/{doctor-UNF7FCF4.js → doctor-3CUBPQKU.js} +14 -14
  29. package/dist/grok-cli-5QD235UB.js +482 -0
  30. package/dist/grok-cli-5QD235UB.js.map +1 -0
  31. package/dist/{hook-GM2IDA3C.js → hook-P6EKDINW.js} +9 -9
  32. package/dist/index.d.ts +2 -2
  33. package/dist/index.js +2 -2
  34. package/dist/{install-7O4XWH7T.js → install-7DMK53SB.js} +10 -10
  35. package/dist/{introspect-5o5ick0_.d.ts → introspect-DYOIX8Ov.d.ts} +1 -1
  36. package/dist/{jetbrains-copilot-4IOT3I2Y.js → jetbrains-copilot-T2EPKROP.js} +9 -3
  37. package/dist/jetbrains-copilot-T2EPKROP.js.map +1 -0
  38. package/dist/junie-SQ4SDLGK.js +227 -0
  39. package/dist/junie-SQ4SDLGK.js.map +1 -0
  40. package/dist/{kilo-TAHOPT2Q.js → kilo-OU2ZLZKB.js} +4 -4
  41. package/dist/{kilo-cli-X4NPJWGX.js → kilo-cli-NMWGYF4F.js} +4 -4
  42. package/dist/{kiro-YZ4TTZGD.js → kiro-4IN5IH46.js} +77 -2
  43. package/dist/kiro-4IN5IH46.js.map +1 -0
  44. package/dist/{leaderboard-DVW4WYJ6.js → leaderboard-LF5SP6X2.js} +4 -4
  45. package/dist/mistral-vibe-TRQDHAWV.js +300 -0
  46. package/dist/mistral-vibe-TRQDHAWV.js.map +1 -0
  47. package/dist/open-interpreter-4PKL56AA.js +264 -0
  48. package/dist/open-interpreter-4PKL56AA.js.map +1 -0
  49. package/dist/openhands-5LNH3BKB.js +384 -0
  50. package/dist/openhands-5LNH3BKB.js.map +1 -0
  51. package/dist/{package-H5V3AZHR.js → package-2EAIYSJ4.js} +7 -7
  52. package/dist/{pi-I7BLL4EI.js → pi-BUADR5MJ.js} +139 -2
  53. package/dist/pi-BUADR5MJ.js.map +1 -0
  54. package/dist/{qwen-code-JG7AF442.js → qwen-code-TUJNHKNI.js} +4 -4
  55. package/dist/runtime/index.d.ts +1 -1
  56. package/dist/runtime/index.js +7 -7
  57. package/dist/sdk/index.d.ts +3 -3
  58. package/dist/sdk/index.js +3 -3
  59. package/dist/sdk/test.d.ts +2 -2
  60. package/dist/sdk/test.js +7 -7
  61. package/dist/{serve-WMO2TUW3.js → serve-K62FW3V7.js} +9 -9
  62. package/dist/{status-WRLBTBRE.js → status-E5MCFZM6.js} +7 -7
  63. package/dist/{statusline-EUD4DMIP.js → statusline-LIPF2KVP.js} +8 -8
  64. package/dist/{telemetry-U3LGMR3D.js → telemetry-4OC56NTM.js} +5 -5
  65. package/dist/{types-D6RWGXm1.d.ts → types-C4qMgbJn.d.ts} +10 -9
  66. package/dist/{uninstall-TWPUEJEC.js → uninstall-2YYKN5DX.js} +10 -10
  67. package/dist/{upgrade-EM6Y7QLH.js → upgrade-55AFPJEF.js} +10 -10
  68. package/dist/{usage-3HQDTXGY.js → usage-3PB3WZSL.js} +3 -3
  69. package/dist/{usage-event-DWIGKO7V.js → usage-event-KD5FW6W4.js} +8 -8
  70. package/dist/{zed-LLOAUXSA.js → zed-ZF2OQ75O.js} +119 -3
  71. package/dist/zed-ZF2OQ75O.js.map +1 -0
  72. package/package.json +1 -1
  73. package/dist/antigravity-cli-KODEKUTM.js +0 -87
  74. package/dist/antigravity-cli-KODEKUTM.js.map +0 -1
  75. package/dist/chunk-S4E6QQEM.js.map +0 -1
  76. package/dist/chunk-X457NOFE.js.map +0 -1
  77. package/dist/jetbrains-copilot-4IOT3I2Y.js.map +0 -1
  78. package/dist/kiro-YZ4TTZGD.js.map +0 -1
  79. package/dist/pi-I7BLL4EI.js.map +0 -1
  80. package/dist/zed-LLOAUXSA.js.map +0 -1
  81. /package/dist/{action-OHGFVKMC.js.map → action-L44DXFHT.js.map} +0 -0
  82. /package/dist/{chunk-VKRGQLY4.js.map → chunk-7HUUINPB.js.map} +0 -0
  83. /package/dist/{chunk-LKAVD4HP.js.map → chunk-BLTVZACS.js.map} +0 -0
  84. /package/dist/{chunk-PZHB5TVA.js.map → chunk-G4CEELKO.js.map} +0 -0
  85. /package/dist/{chunk-VD4EG6SG.js.map → chunk-KIRCPLM4.js.map} +0 -0
  86. /package/dist/{chunk-ZXX5DVSE.js.map → chunk-LAIITCMW.js.map} +0 -0
  87. /package/dist/{chunk-UYZ53KWS.js.map → chunk-LF76VPGQ.js.map} +0 -0
  88. /package/dist/{chunk-IRUYJD23.js.map → chunk-NLE2J5P4.js.map} +0 -0
  89. /package/dist/{chunk-7NXEHZAK.js.map → chunk-NWLRJNXM.js.map} +0 -0
  90. /package/dist/{chunk-YJP3KGLM.js.map → chunk-QARPXSIV.js.map} +0 -0
  91. /package/dist/{chunk-AMK2K6XZ.js.map → chunk-R6LML2YS.js.map} +0 -0
  92. /package/dist/{claude-code-T6ZRCMA7.js.map → claude-code-WS4NAGZT.js.map} +0 -0
  93. /package/dist/{codex-RHKQKNNG.js.map → codex-ZZ434GYR.js.map} +0 -0
  94. /package/dist/{detect-ALAKE54S.js.map → detect-3S46RUMK.js.map} +0 -0
  95. /package/dist/{doctor-UNF7FCF4.js.map → doctor-3CUBPQKU.js.map} +0 -0
  96. /package/dist/{hook-GM2IDA3C.js.map → hook-P6EKDINW.js.map} +0 -0
  97. /package/dist/{install-7O4XWH7T.js.map → install-7DMK53SB.js.map} +0 -0
  98. /package/dist/{kilo-TAHOPT2Q.js.map → kilo-OU2ZLZKB.js.map} +0 -0
  99. /package/dist/{kilo-cli-X4NPJWGX.js.map → kilo-cli-NMWGYF4F.js.map} +0 -0
  100. /package/dist/{leaderboard-DVW4WYJ6.js.map → leaderboard-LF5SP6X2.js.map} +0 -0
  101. /package/dist/{package-H5V3AZHR.js.map → package-2EAIYSJ4.js.map} +0 -0
  102. /package/dist/{qwen-code-JG7AF442.js.map → qwen-code-TUJNHKNI.js.map} +0 -0
  103. /package/dist/{serve-WMO2TUW3.js.map → serve-K62FW3V7.js.map} +0 -0
  104. /package/dist/{status-WRLBTBRE.js.map → status-E5MCFZM6.js.map} +0 -0
  105. /package/dist/{statusline-EUD4DMIP.js.map → statusline-LIPF2KVP.js.map} +0 -0
  106. /package/dist/{telemetry-U3LGMR3D.js.map → telemetry-4OC56NTM.js.map} +0 -0
  107. /package/dist/{uninstall-TWPUEJEC.js.map → uninstall-2YYKN5DX.js.map} +0 -0
  108. /package/dist/{upgrade-EM6Y7QLH.js.map → upgrade-55AFPJEF.js.map} +0 -0
  109. /package/dist/{usage-3HQDTXGY.js.map → usage-3PB3WZSL.js.map} +0 -0
  110. /package/dist/{usage-event-DWIGKO7V.js.map → usage-event-KD5FW6W4.js.map} +0 -0
@@ -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":"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","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,
@@ -12,9 +15,6 @@ import {
12
15
  removeLedgerOwner,
13
16
  saveConfigPatchLedger
14
17
  } from "./chunk-56R2ER7K.js";
15
- import {
16
- writeTomlString
17
- } from "./chunk-OPXAP3AC.js";
18
18
  import {
19
19
  normalizeSessionSource
20
20
  } from "./chunk-H53QZQJI.js";
@@ -1083,4 +1083,4 @@ export {
1083
1083
  adapter,
1084
1084
  qwen_code_default as default
1085
1085
  };
1086
- //# sourceMappingURL=qwen-code-JG7AF442.js.map
1086
+ //# sourceMappingURL=qwen-code-TUJNHKNI.js.map
@@ -1,4 +1,4 @@
1
- import { e as HookEventName, P as PlatformId } from '../types-D6RWGXm1.js';
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.
@@ -4,20 +4,20 @@ import {
4
4
  runServe,
5
5
  runStatusline,
6
6
  runUsageEvent
7
- } from "../chunk-LKAVD4HP.js";
7
+ } from "../chunk-BLTVZACS.js";
8
8
  import "../chunk-OP4KBXUO.js";
9
9
  import "../chunk-LN76OGNR.js";
10
- import "../chunk-S4E6QQEM.js";
10
+ import "../chunk-ZMLVR4J7.js";
11
11
  import {
12
12
  isNativeHookDeclared,
13
13
  runHook,
14
14
  runNativeHook
15
- } from "../chunk-ZXX5DVSE.js";
16
- import "../chunk-4FWETID5.js";
15
+ } from "../chunk-LAIITCMW.js";
17
16
  import "../chunk-KHO5WNTP.js";
18
- import "../chunk-7NXEHZAK.js";
19
- import "../chunk-PZHB5TVA.js";
20
- import "../chunk-X457NOFE.js";
17
+ import "../chunk-4FWETID5.js";
18
+ import "../chunk-NWLRJNXM.js";
19
+ import "../chunk-G4CEELKO.js";
20
+ import "../chunk-25CPWJA7.js";
21
21
  import "../chunk-56R2ER7K.js";
22
22
  import "../chunk-HORHRHNG.js";
23
23
  import "../chunk-YYNXIUR2.js";
@@ -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-5o5ick0_.js';
3
- import { P as PlatformId } from '../types-D6RWGXm1.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-D6RWGXm1.js';
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-AMK2K6XZ.js";
7
+ } from "../chunk-R6LML2YS.js";
8
8
  import {
9
9
  ConnectorConfigError,
10
10
  defineAction,
@@ -17,8 +17,8 @@ import {
17
17
  defineSkill,
18
18
  defineStatusline,
19
19
  defineSubagent
20
- } from "../chunk-PZHB5TVA.js";
21
- import "../chunk-X457NOFE.js";
20
+ } from "../chunk-G4CEELKO.js";
21
+ import "../chunk-25CPWJA7.js";
22
22
  import "../chunk-56R2ER7K.js";
23
23
  import "../chunk-YYNXIUR2.js";
24
24
  import "../chunk-IXOQDZWC.js";
@@ -1,5 +1,5 @@
1
- import { P as PlatformId, e as HookEventName, R as ResolvedConnector } from '../types-D6RWGXm1.js';
2
- import { a as SurfaceName } from '../introspect-5o5ick0_.js';
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,14 +3,14 @@ import {
3
3
  explain,
4
4
  explainHooks,
5
5
  simulate
6
- } from "../chunk-YJP3KGLM.js";
7
- import "../chunk-ZXX5DVSE.js";
8
- import "../chunk-4FWETID5.js";
6
+ } from "../chunk-QARPXSIV.js";
7
+ import "../chunk-LAIITCMW.js";
9
8
  import "../chunk-KHO5WNTP.js";
10
- import "../chunk-AMK2K6XZ.js";
11
- import "../chunk-7NXEHZAK.js";
12
- import "../chunk-PZHB5TVA.js";
13
- import "../chunk-X457NOFE.js";
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
14
  import "../chunk-56R2ER7K.js";
15
15
  import "../chunk-YYNXIUR2.js";
16
16
  import "../chunk-IXOQDZWC.js";
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fail
4
- } from "./chunk-VKRGQLY4.js";
4
+ } from "./chunk-7HUUINPB.js";
5
5
  import {
6
6
  runServe
7
- } from "./chunk-LKAVD4HP.js";
7
+ } from "./chunk-BLTVZACS.js";
8
8
  import "./chunk-OP4KBXUO.js";
9
9
  import "./chunk-LN76OGNR.js";
10
- import "./chunk-S4E6QQEM.js";
11
- import "./chunk-ZXX5DVSE.js";
12
- import "./chunk-4FWETID5.js";
10
+ import "./chunk-ZMLVR4J7.js";
11
+ import "./chunk-LAIITCMW.js";
13
12
  import "./chunk-KHO5WNTP.js";
14
- import "./chunk-7NXEHZAK.js";
15
- import "./chunk-PZHB5TVA.js";
16
- import "./chunk-X457NOFE.js";
13
+ import "./chunk-4FWETID5.js";
14
+ import "./chunk-NWLRJNXM.js";
15
+ import "./chunk-G4CEELKO.js";
16
+ import "./chunk-25CPWJA7.js";
17
17
  import "./chunk-56R2ER7K.js";
18
18
  import "./chunk-HORHRHNG.js";
19
19
  import "./chunk-YYNXIUR2.js";
@@ -74,4 +74,4 @@ async function run(argv) {
74
74
  export {
75
75
  run
76
76
  };
77
- //# sourceMappingURL=serve-WMO2TUW3.js.map
77
+ //# sourceMappingURL=serve-K62FW3V7.js.map
@@ -2,25 +2,25 @@
2
2
  import {
3
3
  marketplaceEvidence
4
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-VKRGQLY4.js";
10
+ } from "./chunk-7HUUINPB.js";
10
11
  import {
11
12
  detectInstalledPlatforms
12
- } from "./chunk-S4E6QQEM.js";
13
+ } from "./chunk-ZMLVR4J7.js";
13
14
  import {
14
15
  findConnectorConfig,
15
16
  listRegisteredConnectors,
16
17
  loadConnectorFromPath
17
- } from "./chunk-7NXEHZAK.js";
18
- import "./chunk-PZHB5TVA.js";
18
+ } from "./chunk-NWLRJNXM.js";
19
+ import "./chunk-G4CEELKO.js";
19
20
  import {
20
21
  loadAdapter
21
- } from "./chunk-X457NOFE.js";
22
+ } from "./chunk-25CPWJA7.js";
22
23
  import "./chunk-56R2ER7K.js";
23
- import "./chunk-UM5S7DKK.js";
24
24
  import "./chunk-YYNXIUR2.js";
25
25
  import {
26
26
  dataRoot,
@@ -139,4 +139,4 @@ async function run(argv) {
139
139
  export {
140
140
  run
141
141
  };
142
- //# sourceMappingURL=status-WRLBTBRE.js.map
142
+ //# sourceMappingURL=status-E5MCFZM6.js.map
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runStatusline
4
- } from "./chunk-LKAVD4HP.js";
4
+ } from "./chunk-BLTVZACS.js";
5
5
  import "./chunk-OP4KBXUO.js";
6
6
  import "./chunk-LN76OGNR.js";
7
- import "./chunk-S4E6QQEM.js";
8
- import "./chunk-ZXX5DVSE.js";
9
- import "./chunk-4FWETID5.js";
7
+ import "./chunk-ZMLVR4J7.js";
8
+ import "./chunk-LAIITCMW.js";
10
9
  import "./chunk-KHO5WNTP.js";
11
- import "./chunk-7NXEHZAK.js";
12
- import "./chunk-PZHB5TVA.js";
13
- import "./chunk-X457NOFE.js";
10
+ import "./chunk-4FWETID5.js";
11
+ import "./chunk-NWLRJNXM.js";
12
+ import "./chunk-G4CEELKO.js";
13
+ import "./chunk-25CPWJA7.js";
14
14
  import "./chunk-56R2ER7K.js";
15
15
  import "./chunk-HORHRHNG.js";
16
16
  import "./chunk-YYNXIUR2.js";
@@ -57,4 +57,4 @@ async function run(argv) {
57
57
  export {
58
58
  run
59
59
  };
60
- //# sourceMappingURL=statusline-EUD4DMIP.js.map
60
+ //# sourceMappingURL=statusline-LIPF2KVP.js.map
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  fail,
14
14
  print
15
- } from "./chunk-VKRGQLY4.js";
15
+ } from "./chunk-7HUUINPB.js";
16
16
  import {
17
17
  openStore
18
18
  } from "./chunk-4FWETID5.js";
@@ -21,9 +21,9 @@ import {
21
21
  listRegisteredConnectors,
22
22
  loadRegisteredConnector,
23
23
  readRegisteredMeta
24
- } from "./chunk-7NXEHZAK.js";
25
- import "./chunk-PZHB5TVA.js";
26
- import "./chunk-X457NOFE.js";
24
+ } from "./chunk-NWLRJNXM.js";
25
+ import "./chunk-G4CEELKO.js";
26
+ import "./chunk-25CPWJA7.js";
27
27
  import "./chunk-56R2ER7K.js";
28
28
  import "./chunk-YYNXIUR2.js";
29
29
  import "./chunk-IXOQDZWC.js";
@@ -349,4 +349,4 @@ export {
349
349
  parseSince,
350
350
  run
351
351
  };
352
- //# sourceMappingURL=telemetry-U3LGMR3D.js.map
352
+ //# sourceMappingURL=telemetry-4OC56NTM.js.map
@@ -23,23 +23,24 @@
23
23
  * exposes no writable MCP config to install into. The registry-completeness test
24
24
  * (tests/adapters/registry-completeness.test.ts) allowlists it for this reason.
25
25
  */
26
- type PlatformId = "claude-code" | "codex" | "cursor" | "vscode-copilot" | "jetbrains-copilot" | "copilot-cli" | "gemini-cli" | "opencode" | "mimo-code" | "kilo" | "kilo-cli" | "warp" | "hermes" | "nemoclaw" | "openclaw" | "zed" | "antigravity" | "antigravity-cli" | "kiro" | "qwen-code" | "kimi" | "pi" | "omp" | "droid" | "roo-code" | "cline" | "trae" | "amp" | "codebuff" | "mux" | "crush" | "goose" | "amazon-q" | "continue" | "windsurf" | "synthetic" | "unknown";
26
+ type PlatformId = "claude-code" | "codebuddy" | "codex" | "cursor" | "vscode-copilot" | "jetbrains-copilot" | "copilot-cli" | "gemini-cli" | "opencode" | "mimo-code" | "kilo" | "kilo-cli" | "warp" | "hermes" | "nemoclaw" | "openclaw" | "zed" | "antigravity" | "antigravity-cli" | "kiro" | "qwen-code" | "kimi" | "pi" | "omp" | "droid" | "openhands" | "roo-code" | "cline" | "trae" | "amp" | "codebuff" | "mux" | "crush" | "goose" | "amazon-q" | "continue" | "windsurf" | "grok-cli" | "devin" | "open-interpreter" | "junie" | "mistral-vibe" | "synthetic" | "unknown";
27
27
  /**
28
28
  * Hook I/O paradigm — the deepest cross-platform divergence (report §4).
29
29
  * Canonical shipped sets (keep in sync with src/adapters/registry.ts — this
30
30
  * comment once drifted and seeded a docs-wide misclassification):
31
- * - "json-stdio" (18): host pipes JSON to a command on stdin, reads
32
- * JSON/exit-code back — Claude Code, Codex, Cursor, VS Code/JetBrains
33
- * Copilot, Copilot CLI, Gemini CLI, Qwen, Kiro, Kimi, Crush, Goose, Hermes,
34
- * Droid (Factory), Antigravity (+ the agy CLI), Continue, Amazon Q. One
35
- * universal entrypoint binary handles all of them.
31
+ * - "json-stdio" (19): host pipes JSON to a command on stdin, reads
32
+ * JSON/exit-code back — Claude Code, CodeBuddy (Tencent, a Claude Code
33
+ * fork), Codex, Cursor, VS Code/JetBrains Copilot, Copilot CLI, Gemini CLI,
34
+ * Qwen, Kiro, Kimi, Crush, Goose, Hermes, Droid (Factory), Antigravity (+
35
+ * the agy CLI), Continue, Amazon Q. One universal entrypoint binary handles
36
+ * all of them.
36
37
  * - "ts-plugin" (8): host loads a JS/TS module exporting lifecycle functions
37
38
  * — OpenCode, MiMoCode (an OpenCode fork), Kilo CLI, Kilo, OMP, OpenClaw,
38
39
  * NemoClaw (an OpenClaw wrapper/fork), Amp (.amp/plugins/*.ts). Framework
39
40
  * generates the module.
40
- * - "mcp-only" (9): no hook layer at all — Warp, Roo Code, Cline, Trae, Zed,
41
- * Codebuff, Mux, Pi, Windsurf. Only the MCP server (or skills surface) is
42
- * installed; hooks are reported unavailable.
41
+ * - "mcp-only" (10): no hook layer at all — Warp, Roo Code, Cline, Trae, Zed,
42
+ * Codebuff, Mux, Pi, Windsurf, Mistral Vibe. Only the MCP server (or skills
43
+ * surface) is installed; hooks are reported unavailable.
43
44
  */
44
45
  type HookParadigm = "json-stdio" | "ts-plugin" | "mcp-only";
45
46
  /**
@@ -5,32 +5,32 @@ import {
5
5
  resolveUninstallTargets,
6
6
  uninstallConnector,
7
7
  uninstallViaMarketplace
8
- } from "./chunk-VD4EG6SG.js";
9
- import "./chunk-UYZ53KWS.js";
8
+ } from "./chunk-KIRCPLM4.js";
9
+ import "./chunk-LF76VPGQ.js";
10
10
  import {
11
11
  marketplaceEvidence,
12
12
  readMarketplaceInstalls
13
13
  } from "./chunk-QKLJU4JX.js";
14
+ import "./chunk-UM5S7DKK.js";
14
15
  import "./chunk-NBUEL74R.js";
16
+ import "./chunk-OPXAP3AC.js";
15
17
  import {
16
18
  fail,
17
19
  parseScope,
18
20
  parseTargets,
19
21
  print,
20
22
  renderInstallResult
21
- } from "./chunk-VKRGQLY4.js";
23
+ } from "./chunk-7HUUINPB.js";
22
24
  import "./chunk-LN76OGNR.js";
23
- import "./chunk-S4E6QQEM.js";
25
+ import "./chunk-ZMLVR4J7.js";
24
26
  import "./chunk-KHO5WNTP.js";
25
27
  import {
26
28
  findConnectorConfig,
27
29
  loadConnectorFromPath
28
- } from "./chunk-7NXEHZAK.js";
29
- import "./chunk-PZHB5TVA.js";
30
- import "./chunk-X457NOFE.js";
30
+ } from "./chunk-NWLRJNXM.js";
31
+ import "./chunk-G4CEELKO.js";
32
+ import "./chunk-25CPWJA7.js";
31
33
  import "./chunk-56R2ER7K.js";
32
- import "./chunk-OPXAP3AC.js";
33
- import "./chunk-UM5S7DKK.js";
34
34
  import "./chunk-H53QZQJI.js";
35
35
  import "./chunk-BEFVJ2OE.js";
36
36
  import "./chunk-VVFDU4IX.js";
@@ -173,4 +173,4 @@ async function run(argv) {
173
173
  export {
174
174
  run
175
175
  };
176
- //# sourceMappingURL=uninstall-TWPUEJEC.js.map
176
+ //# sourceMappingURL=uninstall-2YYKN5DX.js.map
@@ -4,29 +4,29 @@ import {
4
4
  resolveCliEntry,
5
5
  syncConnector,
6
6
  upgradeViaMarketplace
7
- } from "./chunk-VD4EG6SG.js";
8
- import "./chunk-UYZ53KWS.js";
7
+ } from "./chunk-KIRCPLM4.js";
8
+ import "./chunk-LF76VPGQ.js";
9
9
  import "./chunk-QKLJU4JX.js";
10
+ import "./chunk-UM5S7DKK.js";
10
11
  import "./chunk-NBUEL74R.js";
12
+ import "./chunk-OPXAP3AC.js";
11
13
  import {
12
14
  fail,
13
15
  parseScope,
14
16
  parseTargets,
15
17
  print,
16
18
  renderInstallResult
17
- } from "./chunk-VKRGQLY4.js";
19
+ } from "./chunk-7HUUINPB.js";
18
20
  import "./chunk-LN76OGNR.js";
19
- import "./chunk-S4E6QQEM.js";
21
+ import "./chunk-ZMLVR4J7.js";
20
22
  import "./chunk-KHO5WNTP.js";
21
23
  import {
22
24
  findConnectorConfig,
23
25
  loadConnectorFromPath
24
- } from "./chunk-7NXEHZAK.js";
25
- import "./chunk-PZHB5TVA.js";
26
- import "./chunk-X457NOFE.js";
26
+ } from "./chunk-NWLRJNXM.js";
27
+ import "./chunk-G4CEELKO.js";
28
+ import "./chunk-25CPWJA7.js";
27
29
  import "./chunk-56R2ER7K.js";
28
- import "./chunk-OPXAP3AC.js";
29
- import "./chunk-UM5S7DKK.js";
30
30
  import "./chunk-H53QZQJI.js";
31
31
  import "./chunk-BEFVJ2OE.js";
32
32
  import "./chunk-VVFDU4IX.js";
@@ -127,4 +127,4 @@ Refreshed home binary pointer: ${binPath}`);
127
127
  export {
128
128
  run
129
129
  };
130
- //# sourceMappingURL=upgrade-EM6Y7QLH.js.map
130
+ //# sourceMappingURL=upgrade-55AFPJEF.js.map
@@ -3,7 +3,7 @@ import {
3
3
  formatHostLeaderboard,
4
4
  hostLeaderboard,
5
5
  scanUsage
6
- } from "./chunk-IRUYJD23.js";
6
+ } from "./chunk-NLE2J5P4.js";
7
7
  import {
8
8
  aggregateBy,
9
9
  sumTokens
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  fail,
13
13
  print
14
- } from "./chunk-VKRGQLY4.js";
14
+ } from "./chunk-7HUUINPB.js";
15
15
 
16
16
  // src/cli/commands/usage.ts
17
17
  import { writeFileSync } from "fs";
@@ -321,4 +321,4 @@ export {
321
321
  parseSince,
322
322
  run
323
323
  };
324
- //# sourceMappingURL=usage-3HQDTXGY.js.map
324
+ //# sourceMappingURL=usage-3PB3WZSL.js.map
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runUsageEvent
4
- } from "./chunk-LKAVD4HP.js";
4
+ } from "./chunk-BLTVZACS.js";
5
5
  import "./chunk-OP4KBXUO.js";
6
6
  import "./chunk-LN76OGNR.js";
7
- import "./chunk-S4E6QQEM.js";
8
- import "./chunk-ZXX5DVSE.js";
9
- import "./chunk-4FWETID5.js";
7
+ import "./chunk-ZMLVR4J7.js";
8
+ import "./chunk-LAIITCMW.js";
10
9
  import "./chunk-KHO5WNTP.js";
11
- import "./chunk-7NXEHZAK.js";
12
- import "./chunk-PZHB5TVA.js";
13
- import "./chunk-X457NOFE.js";
10
+ import "./chunk-4FWETID5.js";
11
+ import "./chunk-NWLRJNXM.js";
12
+ import "./chunk-G4CEELKO.js";
13
+ import "./chunk-25CPWJA7.js";
14
14
  import "./chunk-56R2ER7K.js";
15
15
  import "./chunk-HORHRHNG.js";
16
16
  import "./chunk-YYNXIUR2.js";
@@ -50,4 +50,4 @@ async function run(argv) {
50
50
  export {
51
51
  run
52
52
  };
53
- //# sourceMappingURL=usage-event-DWIGKO7V.js.map
53
+ //# sourceMappingURL=usage-event-KD5FW6W4.js.map