@burdenoff/vibe-agent 2.7.4 → 2.7.5
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/dist/{app-hc590rye.js → app-rjhw31y9.js} +2 -2
- package/dist/cli.js +25 -5
- package/dist/cli.js.map +3 -3
- package/dist/{index-10wkaqpa.js → index-b6fsz3ht.js} +4 -4
- package/dist/index.js +2 -2
- package/dist/{package-a5yw4d19.js → package-6sds8pgn.js} +3 -3
- package/dist/{package-a5yw4d19.js.map → package-6sds8pgn.js.map} +1 -1
- package/dist/{plugin-system-7hmbwvtf.js → plugin-system-a2hmq7cg.js} +51 -4
- package/dist/plugin-system-a2hmq7cg.js.map +10 -0
- package/package.json +1 -1
- package/dist/plugin-system-7hmbwvtf.js.map +0 -10
- /package/dist/{app-hc590rye.js.map → app-rjhw31y9.js.map} +0 -0
- /package/dist/{index-10wkaqpa.js.map → index-b6fsz3ht.js.map} +0 -0
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./index-g8dczzvv.js";
|
|
18
18
|
import {
|
|
19
19
|
PluginManager
|
|
20
|
-
} from "./plugin-system-
|
|
20
|
+
} from "./plugin-system-a2hmq7cg.js";
|
|
21
21
|
|
|
22
22
|
// node_modules/@elysiajs/cors/dist/index.mjs
|
|
23
23
|
var isBun = typeof new Headers()?.toJSON === "function";
|
|
@@ -1210,4 +1210,4 @@ async function getPackageVersion() {
|
|
|
1210
1210
|
export { createApp };
|
|
1211
1211
|
|
|
1212
1212
|
//# debugId=8FFB9BBA2F91A40A64756E2164756E21
|
|
1213
|
-
//# sourceMappingURL=app-
|
|
1213
|
+
//# sourceMappingURL=app-rjhw31y9.js.map
|
package/dist/cli.js
CHANGED
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
} from "./index-g8dczzvv.js";
|
|
34
34
|
import {
|
|
35
35
|
PluginManager
|
|
36
|
-
} from "./plugin-system-
|
|
36
|
+
} from "./plugin-system-a2hmq7cg.js";
|
|
37
37
|
|
|
38
38
|
// node_modules/commander/lib/error.js
|
|
39
39
|
var require_error = __commonJS((exports) => {
|
|
@@ -2183,7 +2183,7 @@ async function findFreePortFrom(startPort, host = "0.0.0.0") {
|
|
|
2183
2183
|
|
|
2184
2184
|
// src/cli/commands/start.cmd.ts
|
|
2185
2185
|
function register(program2) {
|
|
2186
|
-
program2.command("start").description("Start a VibeControls agent instance").option("-p, --port <port>", "Port to listen on", "3005").option("-n, --name <name>", "Agent instance name", "default").option("-f, --foreground", "Run in foreground mode (default: daemon)", false).option("--db-path <path>", "Path to the SQLite database", "./vibecontrols-agent.db").option("--host <host>", "Host to bind to", "0.0.0.0").action(async (opts) => {
|
|
2186
|
+
program2.command("start").description("Start a VibeControls agent instance").option("-p, --port <port>", "Port to listen on", "3005").option("-n, --name <name>", "Agent instance name", "default").option("-f, --foreground", "Run in foreground mode (default: daemon)", false).option("--db-path <path>", "Path to the SQLite database", "./vibecontrols-agent.db").option("--host <host>", "Host to bind to", "0.0.0.0").option("--skip-plugin-install", "Skip automatic installation of default plugins", false).action(async (opts) => {
|
|
2187
2187
|
try {
|
|
2188
2188
|
const serviceManager = new ServiceManager;
|
|
2189
2189
|
const dbPath = opts.dbPath;
|
|
@@ -2210,6 +2210,26 @@ function register(program2) {
|
|
|
2210
2210
|
}
|
|
2211
2211
|
blank();
|
|
2212
2212
|
}
|
|
2213
|
+
if (!opts.skipPluginInstall) {
|
|
2214
|
+
const pluginManager = new PluginManager;
|
|
2215
|
+
await pluginManager.loadCorePlugins();
|
|
2216
|
+
await pluginManager.loadAll();
|
|
2217
|
+
const installed = await pluginManager.ensureDefaultPlugins((message) => {
|
|
2218
|
+
if (message.startsWith("No ")) {
|
|
2219
|
+
warn(message);
|
|
2220
|
+
} else if (message.startsWith("Installed ")) {
|
|
2221
|
+
success(message);
|
|
2222
|
+
} else if (message.startsWith("Failed ")) {
|
|
2223
|
+
warn(message);
|
|
2224
|
+
} else {
|
|
2225
|
+
info(message);
|
|
2226
|
+
}
|
|
2227
|
+
});
|
|
2228
|
+
if (installed.length > 0) {
|
|
2229
|
+
success(`Auto-installed ${installed.length} default plugin${installed.length > 1 ? "s" : ""}.`);
|
|
2230
|
+
blank();
|
|
2231
|
+
}
|
|
2232
|
+
}
|
|
2213
2233
|
let port = parseInt(opts.port, 10);
|
|
2214
2234
|
if (isNaN(port) || port < 1 || port > 65535) {
|
|
2215
2235
|
fail("Invalid port number. Must be between 1 and 65535.");
|
|
@@ -2228,7 +2248,7 @@ function register(program2) {
|
|
|
2228
2248
|
kv("Host", host);
|
|
2229
2249
|
kv("Database", dbPath);
|
|
2230
2250
|
blank();
|
|
2231
|
-
const { createApp } = await import("./app-
|
|
2251
|
+
const { createApp } = await import("./app-rjhw31y9.js");
|
|
2232
2252
|
const appInstance = await createApp({
|
|
2233
2253
|
port,
|
|
2234
2254
|
host,
|
|
@@ -2502,7 +2522,7 @@ function register8(program2) {
|
|
|
2502
2522
|
blank();
|
|
2503
2523
|
let currentVersion;
|
|
2504
2524
|
try {
|
|
2505
|
-
const pkg = await import("./package-
|
|
2525
|
+
const pkg = await import("./package-6sds8pgn.js", {
|
|
2506
2526
|
with: { type: "json" }
|
|
2507
2527
|
});
|
|
2508
2528
|
currentVersion = pkg.default.version || pkg.version;
|
|
@@ -3219,5 +3239,5 @@ main().catch((err) => {
|
|
|
3219
3239
|
process.exit(1);
|
|
3220
3240
|
});
|
|
3221
3241
|
|
|
3222
|
-
//# debugId=
|
|
3242
|
+
//# debugId=DDB76B4620709DBC64756E2164756E21
|
|
3223
3243
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"const { Argument } = require('./lib/argument.js');\nconst { Command } = require('./lib/command.js');\nconst { CommanderError, InvalidArgumentError } = require('./lib/error.js');\nconst { Help } = require('./lib/help.js');\nconst { Option } = require('./lib/option.js');\n\nexports.program = new Command();\n\nexports.createCommand = (name) => new Command(name);\nexports.createOption = (flags, description) => new Option(flags, description);\nexports.createArgument = (name, description) => new Argument(name, description);\n\n/**\n * Expose classes\n */\n\nexports.Command = Command;\nexports.Option = Option;\nexports.Argument = Argument;\nexports.Help = Help;\n\nexports.CommanderError = CommanderError;\nexports.InvalidArgumentError = InvalidArgumentError;\nexports.InvalidOptionArgumentError = InvalidArgumentError; // Deprecated\n",
|
|
12
12
|
"import commander from './index.js';\n\n// wrapper to provide named exports for ESM.\nexport const {\n program,\n createCommand,\n createArgument,\n createOption,\n CommanderError,\n InvalidArgumentError,\n InvalidOptionArgumentError, // deprecated old name\n Command,\n Argument,\n Option,\n Help,\n} = commander;\n",
|
|
13
13
|
"#!/usr/bin/env bun\n\n/**\n * VibeControls Agent CLI — Plugin-First Architecture\n *\n * Main CLI entry point. Uses Commander.js for argument parsing.\n * Requires Bun runtime (shebang: #!/usr/bin/env bun).\n *\n * Command registration:\n * 1. Daemon lifecycle commands (start, stop, restart, kill, list, logs,\n * setup, update, completion) — always registered from src/cli/commands/\n * 2. Plugin commands — registered via onCliSetup() from core + external plugins\n * 3. External plugin commands — registered via dispatchCliSetup()\n *\n * Global option:\n * --provider <name> — Override the default provider for provider-tagged plugins\n */\n\nimport { Command } from \"commander\";\nimport { join } from \"node:path\";\n\nimport { PluginManager } from \"./core/plugin-system.js\";\nimport type { HostServices } from \"./core/plugin-system.js\";\nimport { ServiceRegistry } from \"./core/service-registry.js\";\nimport type { StorageProvider } from \"./core/providers/storage.provider.js\";\nimport type { StorageEntry } from \"./core/types.js\";\nimport { logger } from \"./services/logger.js\";\n\n// Non-plugin lifecycle commands that stay in src/cli/commands/\nimport { register as registerStart } from \"./cli/commands/start.cmd.js\";\nimport { register as registerStop } from \"./cli/commands/stop.cmd.js\";\nimport { register as registerRestart } from \"./cli/commands/restart.cmd.js\";\nimport { register as registerKill } from \"./cli/commands/kill.cmd.js\";\nimport { register as registerList } from \"./cli/commands/list.cmd.js\";\nimport { register as registerLogs } from \"./cli/commands/logs.cmd.js\";\nimport { register as registerSetup } from \"./cli/commands/setup.cmd.js\";\nimport { register as registerUpdate } from \"./cli/commands/update.cmd.js\";\nimport { register as registerCompletion } from \"./cli/commands/completion.cmd.js\";\nimport { register as registerAutostart } from \"./cli/commands/autostart.cmd.js\";\n\n// ── Bun Runtime Check ──────────────────────────────────────────────────\n\nif (typeof Bun === \"undefined\") {\n console.error(\n \"\\x1b[31mError:\\x1b[0m VibeControls Agent requires the Bun runtime.\\n\" +\n \" Install Bun: https://bun.sh\\n\" +\n \" Then run: bun run vibe ...\",\n );\n process.exit(1);\n}\n\n// ── Version ─────────────────────────────────────────────────────────────\n\nlet packageVersion = \"1.0.0\";\ntry {\n const packageJsonPath = join(import.meta.dir, \"..\", \"package.json\");\n const packageJson = await Bun.file(packageJsonPath).json();\n packageVersion = packageJson.version;\n} catch {\n // fallback\n}\n\n// ── Commander Program ──────────────────────────────────────────────────\n\nconst program = new Command();\n\nprogram\n .name(\"vibe\")\n .description(\n \"VibeControls Agent CLI — Remote development environment management\",\n )\n .version(packageVersion, \"-v, --version\")\n .option(\n \"--provider <name>\",\n \"Override the default provider for tunnel/session operations\",\n );\n\n// ── Register Daemon Lifecycle Commands (Non-Plugin) ─────────────────────\n\nregisterStart(program);\nregisterStop(program);\nregisterRestart(program);\nregisterKill(program);\nregisterList(program);\nregisterLogs(program);\nregisterSetup(program);\nregisterUpdate(program);\nregisterCompletion(program);\nregisterAutostart(program);\n\n// ── Main ────────────────────────────────────────────────────────────────\n\nasync function main() {\n // Initialize plugin manager\n const pluginManager = new PluginManager();\n\n // Load core plugins\n try {\n await pluginManager.loadCorePlugins();\n } catch {\n // Silently skip core plugin load failures in CLI mode\n }\n\n // Load external plugins\n try {\n await pluginManager.loadAll();\n } catch {\n // Silently skip external plugin load failures in CLI mode\n }\n\n // Build host services for CLI mode\n const serviceRegistry = new ServiceRegistry();\n\n // Minimal no-op storage provider for CLI mode\n const cliStorage: StorageProvider = {\n async get() {\n return null;\n },\n async set() {\n /* no-op */\n },\n async delete() {\n return false;\n },\n async list() {\n return [] as StorageEntry[];\n },\n async deleteAll() {\n return 0;\n },\n };\n\n const hostServices: HostServices = {\n storage: cliStorage,\n logger,\n serviceRegistry,\n getProvider: ((type: \"tunnel\" | \"session\") =>\n serviceRegistry.getProvider(type)) as HostServices[\"getProvider\"],\n getAgentBaseUrl: () => process.env.AGENT_URL || \"http://localhost:3005\",\n getAgentVersion: () => packageVersion,\n };\n\n // Dispatch onCliSetup to all plugins (core + external)\n // This is where plugins register their commander commands\n try {\n await pluginManager.dispatchCliSetup(program, hostServices);\n } catch {\n // Silently skip plugin CLI setup failures\n }\n\n // Parse CLI arguments\n program.parse();\n}\n\nmain().catch((err) => {\n console.error(\n `\\x1b[31mFatal:\\x1b[0m ${err instanceof Error ? err.message : err}`,\n );\n process.exit(1);\n});\n",
|
|
14
|
-
"import { Command } from \"commander\";\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport {\n success,\n info,\n warn,\n fail,\n header,\n kv,\n blank,\n colors,\n printAgentDetails,\n} from \"../utils/index.js\";\nimport { ServiceManager } from \"../../services/service-manager.js\";\nimport {\n checkDependencies,\n installDependencies,\n} from \"../../services/bootstrap.service.js\";\nimport { findFreePortFrom } from \"../../services/port-utils.js\";\n\nexport function register(program: Command): void {\n program\n .command(\"start\")\n .description(\"Start a VibeControls agent instance\")\n .option(\"-p, --port <port>\", \"Port to listen on\", \"3005\")\n .option(\"-n, --name <name>\", \"Agent instance name\", \"default\")\n .option(\n \"-f, --foreground\",\n \"Run in foreground mode (default: daemon)\",\n false,\n )\n .option(\n \"--db-path <path>\",\n \"Path to the SQLite database\",\n \"./vibecontrols-agent.db\",\n )\n .option(\"--host <host>\", \"Host to bind to\", \"0.0.0.0\")\n .action(async (opts) => {\n try {\n const serviceManager = new ServiceManager();\n\n // Auto-run setup on first run (no DB and no agents.json)\n const dbPath = opts.dbPath as string;\n const configDir = join(homedir(), \".vibecontrols\");\n const firstRun =\n !existsSync(dbPath) && !existsSync(join(configDir, \"agents.json\"));\n\n if (firstRun) {\n info(\"First run detected — running setup...\");\n blank();\n\n const deps = checkDependencies();\n const missing = deps.filter((d) => !d.installed);\n\n if (missing.length > 0) {\n warn(\n `Missing dependencies: ${missing.map((d) => d.name).join(\", \")}`,\n );\n info(\"Running auto-install...\");\n blank();\n const result = await installDependencies(\n missing.map((d) => d.name),\n );\n if (result.failed.length > 0) {\n warn(`Could not install: ${result.failed.join(\", \")}`);\n warn(\n \"Some features may not work. Run `vibe setup` for manual install.\",\n );\n } else {\n success(\"All dependencies installed successfully.\");\n }\n } else {\n success(\"All system dependencies verified.\");\n }\n blank();\n }\n\n let port = parseInt(opts.port, 10);\n\n if (isNaN(port) || port < 1 || port > 65535) {\n fail(\"Invalid port number. Must be between 1 and 65535.\");\n }\n\n // Port conflict detection\n const availablePort = await findFreePortFrom(port);\n\n if (availablePort !== port) {\n warn(\n `Port ${port} is in use. Auto-selecting port ${colors.bold(String(availablePort))} instead.`,\n );\n port = availablePort;\n }\n\n const host = opts.host as string;\n const agentUrl = `http://${host === \"0.0.0.0\" ? \"localhost\" : host}:${port}`;\n\n if (opts.foreground) {\n header(\"Starting agent in foreground\");\n kv(\"Name\", opts.name);\n kv(\"Port\", String(port));\n kv(\"Host\", host);\n kv(\"Database\", dbPath);\n blank();\n\n // Import and create the Elysia app directly\n const { createApp } = await import(\"../../app.js\");\n const appInstance = await createApp({\n port,\n host,\n dbPath,\n });\n\n await appInstance.start();\n\n // Print connection details (tunnel URL, API key)\n await printAgentDetails(agentUrl);\n\n // Foreground mode — block until SIGINT/SIGTERM\n const shutdown = async () => {\n await appInstance.stop();\n process.exit(0);\n };\n process.on(\"SIGTERM\", shutdown);\n process.on(\"SIGINT\", shutdown);\n } else {\n header(\"Starting agent in daemon mode\");\n kv(\"Name\", opts.name);\n kv(\"Port\", String(port));\n kv(\"Host\", host);\n kv(\"Database\", dbPath);\n blank();\n\n await serviceManager.startDaemon({\n port,\n name: opts.name,\n daemon: true,\n dbPath,\n host,\n });\n\n await printAgentDetails(agentUrl);\n }\n } catch (err) {\n fail(\n `Failed to start agent: ${err instanceof Error ? err.message : err}`,\n );\n }\n });\n}\n",
|
|
14
|
+
"import { Command } from \"commander\";\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport {\n success,\n info,\n warn,\n fail,\n header,\n kv,\n blank,\n colors,\n printAgentDetails,\n} from \"../utils/index.js\";\nimport { ServiceManager } from \"../../services/service-manager.js\";\nimport {\n checkDependencies,\n installDependencies,\n} from \"../../services/bootstrap.service.js\";\nimport { findFreePortFrom } from \"../../services/port-utils.js\";\nimport { PluginManager } from \"../../core/plugin-system.js\";\n\nexport function register(program: Command): void {\n program\n .command(\"start\")\n .description(\"Start a VibeControls agent instance\")\n .option(\"-p, --port <port>\", \"Port to listen on\", \"3005\")\n .option(\"-n, --name <name>\", \"Agent instance name\", \"default\")\n .option(\n \"-f, --foreground\",\n \"Run in foreground mode (default: daemon)\",\n false,\n )\n .option(\n \"--db-path <path>\",\n \"Path to the SQLite database\",\n \"./vibecontrols-agent.db\",\n )\n .option(\"--host <host>\", \"Host to bind to\", \"0.0.0.0\")\n .option(\n \"--skip-plugin-install\",\n \"Skip automatic installation of default plugins\",\n false,\n )\n .action(async (opts) => {\n try {\n const serviceManager = new ServiceManager();\n\n // Auto-run setup on first run (no DB and no agents.json)\n const dbPath = opts.dbPath as string;\n const configDir = join(homedir(), \".vibecontrols\");\n const firstRun =\n !existsSync(dbPath) && !existsSync(join(configDir, \"agents.json\"));\n\n if (firstRun) {\n info(\"First run detected — running setup...\");\n blank();\n\n const deps = checkDependencies();\n const missing = deps.filter((d) => !d.installed);\n\n if (missing.length > 0) {\n warn(\n `Missing dependencies: ${missing.map((d) => d.name).join(\", \")}`,\n );\n info(\"Running auto-install...\");\n blank();\n const result = await installDependencies(\n missing.map((d) => d.name),\n );\n if (result.failed.length > 0) {\n warn(`Could not install: ${result.failed.join(\", \")}`);\n warn(\n \"Some features may not work. Run `vibe setup` for manual install.\",\n );\n } else {\n success(\"All dependencies installed successfully.\");\n }\n } else {\n success(\"All system dependencies verified.\");\n }\n blank();\n }\n\n // Auto-install default plugins if not present\n if (!opts.skipPluginInstall) {\n const pluginManager = new PluginManager();\n await pluginManager.loadCorePlugins();\n await pluginManager.loadAll();\n\n const installed = await pluginManager.ensureDefaultPlugins(\n (message) => {\n if (message.startsWith(\"No \")) {\n warn(message);\n } else if (message.startsWith(\"Installed \")) {\n success(message);\n } else if (message.startsWith(\"Failed \")) {\n warn(message);\n } else {\n info(message);\n }\n },\n );\n\n if (installed.length > 0) {\n success(\n `Auto-installed ${installed.length} default plugin${installed.length > 1 ? \"s\" : \"\"}.`,\n );\n blank();\n }\n }\n\n let port = parseInt(opts.port, 10);\n\n if (isNaN(port) || port < 1 || port > 65535) {\n fail(\"Invalid port number. Must be between 1 and 65535.\");\n }\n\n // Port conflict detection\n const availablePort = await findFreePortFrom(port);\n\n if (availablePort !== port) {\n warn(\n `Port ${port} is in use. Auto-selecting port ${colors.bold(String(availablePort))} instead.`,\n );\n port = availablePort;\n }\n\n const host = opts.host as string;\n const agentUrl = `http://${host === \"0.0.0.0\" ? \"localhost\" : host}:${port}`;\n\n if (opts.foreground) {\n header(\"Starting agent in foreground\");\n kv(\"Name\", opts.name);\n kv(\"Port\", String(port));\n kv(\"Host\", host);\n kv(\"Database\", dbPath);\n blank();\n\n // Import and create the Elysia app directly\n const { createApp } = await import(\"../../app.js\");\n const appInstance = await createApp({\n port,\n host,\n dbPath,\n });\n\n await appInstance.start();\n\n // Print connection details (tunnel URL, API key)\n await printAgentDetails(agentUrl);\n\n // Foreground mode — block until SIGINT/SIGTERM\n const shutdown = async () => {\n await appInstance.stop();\n process.exit(0);\n };\n process.on(\"SIGTERM\", shutdown);\n process.on(\"SIGINT\", shutdown);\n } else {\n header(\"Starting agent in daemon mode\");\n kv(\"Name\", opts.name);\n kv(\"Port\", String(port));\n kv(\"Host\", host);\n kv(\"Database\", dbPath);\n blank();\n\n await serviceManager.startDaemon({\n port,\n name: opts.name,\n daemon: true,\n dbPath,\n host,\n });\n\n await printAgentDetails(agentUrl);\n }\n } catch (err) {\n fail(\n `Failed to start agent: ${err instanceof Error ? err.message : err}`,\n );\n }\n });\n}\n",
|
|
15
15
|
"/**\n * Port Utilities\n *\n * Helper functions for checking port availability and finding free ports.\n */\n\n/**\n * Check if a port is available for binding.\n */\nexport function isPortAvailable(\n port: number,\n host: string = \"0.0.0.0\",\n): Promise<boolean> {\n return new Promise((resolve) => {\n try {\n const server = Bun.listen({\n hostname: host,\n port,\n socket: {\n data() {},\n },\n });\n server.stop(true);\n resolve(true);\n } catch {\n resolve(false);\n }\n });\n}\n\n/**\n * Find a free port in the given range.\n */\nexport async function findFreePort(\n startPort: number,\n endPort: number,\n host: string = \"0.0.0.0\",\n): Promise<number | null> {\n for (let port = startPort; port <= endPort; port++) {\n if (await isPortAvailable(port, host)) {\n return port;\n }\n }\n return null;\n}\n\n/**\n * Find a free port starting from the given port.\n */\nexport async function findFreePortFrom(\n startPort: number,\n host: string = \"0.0.0.0\",\n): Promise<number> {\n let port = startPort;\n while (!(await isPortAvailable(port, host))) {\n port++;\n if (port > 65535) {\n throw new Error(`No free port found starting from ${startPort}`);\n }\n }\n return port;\n}\n",
|
|
16
16
|
"import { Command } from \"commander\";\nimport {\n success,\n info,\n fail,\n header,\n blank,\n colors,\n icons,\n} from \"../utils/index.js\";\nimport { ServiceManager } from \"../../services/service-manager.js\";\n\nexport function register(program: Command): void {\n program\n .command(\"stop\")\n .description(\"Stop a running VibeControls agent instance\")\n .option(\"-n, --name <name>\", \"Agent instance name\", \"default\")\n .option(\"--all\", \"Stop all running agent instances\", false)\n .action(async (opts) => {\n try {\n const serviceManager = new ServiceManager();\n\n if (opts.all) {\n header(\"Stopping all agent instances\");\n blank();\n\n const instances = await serviceManager.listInstances();\n\n if (!instances || instances.length === 0) {\n info(`${icons.info} No running agent instances found.`);\n return;\n }\n\n let stopped = 0;\n for (const instance of instances) {\n try {\n await serviceManager.stop(instance.name);\n success(`${icons.success} Stopped ${colors.bold(instance.name)}`);\n stopped++;\n } catch {\n fail(`Failed to stop ${colors.bold(instance.name)}`);\n }\n }\n\n blank();\n success(\n `${icons.success} Stopped ${stopped}/${instances.length} instance(s).`,\n );\n } else {\n header(`Stopping agent: ${opts.name}`);\n blank();\n\n await serviceManager.stop(opts.name);\n\n success(`${icons.success} Agent ${colors.bold(opts.name)} stopped.`);\n }\n } catch (err: any) {\n fail(`Failed to stop agent: ${err.message}`);\n }\n });\n}\n",
|
|
17
17
|
"import { Command } from \"commander\";\nimport {\n success,\n info,\n fail,\n header,\n kv,\n blank,\n colors,\n icons,\n printAgentDetails,\n} from \"../utils/index.js\";\nimport { ServiceManager } from \"../../services/service-manager.js\";\nimport type { AgentConfig } from \"../../services/agent.service.js\";\n\nexport function register(program: Command): void {\n program\n .command(\"restart\")\n .description(\"Restart a running VibeControls agent instance\")\n .option(\"-n, --name <name>\", \"Agent instance name\", \"default\")\n .option(\"-p, --port <port>\", \"Port to listen on\", \"3005\")\n .option(\n \"--db-path <path>\",\n \"Path to the SQLite database\",\n \"./vibecontrols-agent.db\",\n )\n .action(async (opts) => {\n try {\n const serviceManager = new ServiceManager();\n\n header(`Restarting agent: ${opts.name}`);\n blank();\n\n // Stop the existing instance\n info(`${icons.info} Stopping agent ${colors.bold(opts.name)}...`);\n\n try {\n await serviceManager.stop(opts.name);\n success(`${icons.success} Agent stopped.`);\n } catch {\n info(`${icons.info} Agent was not running.`);\n }\n\n blank();\n\n // Start it again as daemon\n const port = parseInt(opts.port, 10);\n\n if (isNaN(port) || port < 1 || port > 65535) {\n fail(\"Invalid port number. Must be between 1 and 65535.\");\n return;\n }\n\n const config: AgentConfig = {\n port,\n name: opts.name,\n daemon: true,\n dbPath: opts.dbPath,\n };\n\n info(`${icons.info} Starting agent ${colors.bold(opts.name)}...`);\n\n await serviceManager.startDaemon(config);\n\n const agentUrl = `http://localhost:${port}`;\n\n blank();\n success(`${icons.success} Agent ${colors.bold(opts.name)} restarted.`);\n blank();\n kv(\"Port\", String(port));\n kv(\"Database\", opts.dbPath);\n blank();\n printAgentDetails(agentUrl);\n } catch (err: any) {\n fail(`Failed to restart agent: ${err.message}`);\n }\n });\n}\n",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"import { Command } from \"commander\";\nimport { fail, success, info } from \"../utils/index.js\";\nimport {\n collectCommands,\n generateBash,\n generateZsh,\n generateFish,\n installCompletion,\n uninstallCompletion,\n} from \"../../services/completion.service.js\";\n\nexport function register(program: Command): void {\n const cmd = program\n .command(\"completion\")\n .description(\"Generate shell completion scripts (bash, zsh, fish)\");\n\n // completion bash\n cmd\n .command(\"bash\")\n .description(\"Print Bash completion script\")\n .action(() => {\n const cmds = collectCommands(program);\n process.stdout.write(generateBash(cmds));\n });\n\n // completion zsh\n cmd\n .command(\"zsh\")\n .description(\"Print Zsh completion script\")\n .action(() => {\n const cmds = collectCommands(program);\n process.stdout.write(generateZsh(cmds));\n });\n\n // completion fish\n cmd\n .command(\"fish\")\n .description(\"Print Fish completion script\")\n .action(() => {\n const cmds = collectCommands(program);\n process.stdout.write(generateFish(cmds));\n });\n\n // completion install\n cmd\n .command(\"install\")\n .description(\"Auto-install completions for your current shell\")\n .option(\n \"--shell <shell>\",\n \"Force a specific shell (bash, zsh, fish). Auto-detects if omitted.\",\n )\n .action((options) => {\n try {\n const cmds = collectCommands(program);\n const result = installCompletion(\n cmds,\n options.shell as \"bash\" | \"zsh\" | \"fish\" | undefined,\n );\n success(`Completions installed for ${result.shell}`);\n info(`Written to: ${result.path}`);\n info(\"Restart your shell or run:\");\n console.log(` source ${result.path}`);\n console.log();\n } catch (err) {\n fail(\n `Failed to install completions: ${err instanceof Error ? err.message : err}`,\n );\n }\n });\n\n // completion uninstall\n cmd\n .command(\"uninstall\")\n .description(\"Remove previously installed completions\")\n .option(\"--shell <shell>\", \"Force a specific shell (bash, zsh, fish)\")\n .action((options) => {\n try {\n const result = uninstallCompletion(\n options.shell as \"bash\" | \"zsh\" | \"fish\" | undefined,\n );\n success(`Completions removed for ${result.shell}`);\n info(`Cleaned: ${result.path}`);\n console.log();\n } catch (err) {\n fail(\n `Failed to uninstall completions: ${err instanceof Error ? err.message : err}`,\n );\n }\n });\n}\n",
|
|
25
25
|
"/**\n * Autostart Command — Configure the agent to auto-start on system boot\n *\n * Generates and manages systemd (Linux) or launchd (macOS) service files.\n * This is opt-in and works alongside the existing daemon mode.\n *\n * Usage:\n * vibe autostart install — Generate and enable the system service\n * vibe autostart uninstall — Stop and remove the system service\n * vibe autostart status — Check if autostart is configured\n */\n\nimport { Command } from \"commander\";\nimport { existsSync, mkdirSync, writeFileSync, unlinkSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir, platform } from \"node:os\";\nimport {\n success,\n info,\n warn,\n fail,\n header,\n kv,\n blank,\n} from \"../utils/index.js\";\n\n// ── Helpers ─────────────────────────────────────────────────────────────\n\nfunction getConfigDir(): string {\n return join(homedir(), \".vibecontrols\");\n}\n\nfunction getLogsDir(): string {\n return join(getConfigDir(), \"logs\");\n}\n\nfunction resolveBunPath(): string {\n // Try process.execPath first (works when running via bun)\n if (process.execPath && process.execPath.includes(\"bun\")) {\n return process.execPath;\n }\n // Fallback: use which\n const result = Bun.spawnSync([\"which\", \"bun\"]);\n const path = result.stdout.toString().trim();\n if (path) return path;\n throw new Error(\n \"Could not find bun binary. Ensure bun is installed and in PATH.\",\n );\n}\n\nfunction resolveAgentEntryPoint(): string {\n // In production (dist/), import.meta.dir points to dist/ where index.js lives.\n // In dev (src/cli/commands/), we resolve up to src/index.ts.\n const isDist =\n import.meta.dir.endsWith(\"/dist\") || import.meta.dir.includes(\"/dist/\");\n return isDist\n ? join(import.meta.dir, \"index.js\")\n : join(import.meta.dir, \"..\", \"..\", \"index.ts\");\n}\n\n// ── systemd (Linux) ─────────────────────────────────────────────────────\n\nfunction getSystemdUnitPath(name: string): string {\n const dir = join(homedir(), \".config\", \"systemd\", \"user\");\n mkdirSync(dir, { recursive: true });\n return join(dir, `vibecontrols-agent-${name}.service`);\n}\n\nfunction generateSystemdUnit(opts: {\n name: string;\n port: number;\n dbPath: string;\n bunPath: string;\n entryPoint: string;\n logFile: string;\n}): string {\n return `[Unit]\nDescription=VibeControls Agent (${opts.name})\nAfter=network.target\n\n[Service]\nType=simple\nExecStart=${opts.bunPath} run ${opts.entryPoint}\nEnvironment=PORT=${opts.port}\nEnvironment=DB_PATH=${opts.dbPath}\nEnvironment=NODE_ENV=production\nEnvironment=HOME=${homedir()}\nEnvironment=PATH=${process.env.PATH}\nWorkingDirectory=${homedir()}\nRestart=always\nRestartSec=5\nStandardOutput=append:${opts.logFile}\nStandardError=append:${opts.logFile}\n\n[Install]\nWantedBy=default.target\n`;\n}\n\nasync function installSystemd(\n name: string,\n port: number,\n dbPath: string,\n): Promise<void> {\n const bunPath = resolveBunPath();\n const entryPoint = resolveAgentEntryPoint();\n const logFile = join(getLogsDir(), `${name}.log`);\n const unitPath = getSystemdUnitPath(name);\n const serviceName = `vibecontrols-agent-${name}.service`;\n\n mkdirSync(getLogsDir(), { recursive: true });\n\n const unit = generateSystemdUnit({\n name,\n port,\n dbPath,\n bunPath,\n entryPoint,\n logFile,\n });\n writeFileSync(unitPath, unit);\n info(`Wrote systemd unit: ${unitPath}`);\n\n // Reload, enable, start\n const cmds = [\n [\"systemctl\", \"--user\", \"daemon-reload\"],\n [\"systemctl\", \"--user\", \"enable\", serviceName],\n [\"systemctl\", \"--user\", \"start\", serviceName],\n ];\n\n for (const cmd of cmds) {\n const result = Bun.spawnSync(cmd);\n if (result.exitCode !== 0) {\n const stderr = result.stderr.toString().trim();\n warn(`Command failed: ${cmd.join(\" \")}${stderr ? ` — ${stderr}` : \"\"}`);\n }\n }\n\n // Enable linger so user services survive logout\n const lingerResult = Bun.spawnSync([\n \"loginctl\",\n \"enable-linger\",\n process.env.USER || \"\",\n ]);\n if (lingerResult.exitCode === 0) {\n info(\"Enabled user linger (service survives logout)\");\n }\n\n success(`Autostart installed for agent '${name}' on port ${port}`);\n kv(\"Service\", serviceName);\n kv(\"Unit file\", unitPath);\n kv(\"Log file\", logFile);\n blank();\n info(`Check status: systemctl --user status ${serviceName}`);\n}\n\nasync function uninstallSystemd(name: string): Promise<void> {\n const serviceName = `vibecontrols-agent-${name}.service`;\n const unitPath = getSystemdUnitPath(name);\n\n const cmds = [\n [\"systemctl\", \"--user\", \"stop\", serviceName],\n [\"systemctl\", \"--user\", \"disable\", serviceName],\n ];\n\n for (const cmd of cmds) {\n Bun.spawnSync(cmd); // Best-effort\n }\n\n if (existsSync(unitPath)) {\n unlinkSync(unitPath);\n info(`Removed unit file: ${unitPath}`);\n }\n\n Bun.spawnSync([\"systemctl\", \"--user\", \"daemon-reload\"]);\n success(`Autostart removed for agent '${name}'`);\n}\n\nasync function statusSystemd(name: string): Promise<void> {\n const serviceName = `vibecontrols-agent-${name}.service`;\n const unitPath = getSystemdUnitPath(name);\n\n if (!existsSync(unitPath)) {\n info(`Autostart is NOT configured for agent '${name}'`);\n kv(\"Expected unit\", unitPath);\n return;\n }\n\n header(`Autostart Status — ${name}`);\n kv(\"Unit file\", unitPath);\n kv(\"Service\", serviceName);\n blank();\n\n const result = Bun.spawnSync([\"systemctl\", \"--user\", \"status\", serviceName]);\n const output = result.stdout.toString().trim();\n if (output) {\n console.log(output);\n } else {\n info(\"Service status unavailable\");\n }\n}\n\n// ── launchd (macOS) ─────────────────────────────────────────────────────\n\nfunction getLaunchdPlistPath(name: string): string {\n const dir = join(homedir(), \"Library\", \"LaunchAgents\");\n mkdirSync(dir, { recursive: true });\n return join(dir, `com.vibecontrols.agent.${name}.plist`);\n}\n\nfunction generateLaunchdPlist(opts: {\n name: string;\n port: number;\n dbPath: string;\n bunPath: string;\n entryPoint: string;\n logFile: string;\n}): string {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n <key>Label</key>\n <string>com.vibecontrols.agent.${opts.name}</string>\n <key>ProgramArguments</key>\n <array>\n <string>${opts.bunPath}</string>\n <string>run</string>\n <string>${opts.entryPoint}</string>\n </array>\n <key>EnvironmentVariables</key>\n <dict>\n <key>PORT</key>\n <string>${opts.port}</string>\n <key>DB_PATH</key>\n <string>${opts.dbPath}</string>\n <key>NODE_ENV</key>\n <string>production</string>\n <key>HOME</key>\n <string>${homedir()}</string>\n <key>PATH</key>\n <string>${process.env.PATH}</string>\n </dict>\n <key>WorkingDirectory</key>\n <string>${homedir()}</string>\n <key>RunAtLoad</key>\n <true/>\n <key>KeepAlive</key>\n <dict>\n <key>SuccessfulExit</key>\n <false/>\n </dict>\n <key>StandardOutPath</key>\n <string>${opts.logFile}</string>\n <key>StandardErrorPath</key>\n <string>${opts.logFile}</string>\n <key>ProcessType</key>\n <string>Background</string>\n</dict>\n</plist>\n`;\n}\n\nasync function installLaunchd(\n name: string,\n port: number,\n dbPath: string,\n): Promise<void> {\n const bunPath = resolveBunPath();\n const entryPoint = resolveAgentEntryPoint();\n const logFile = join(getLogsDir(), `${name}.log`);\n const plistPath = getLaunchdPlistPath(name);\n\n mkdirSync(getLogsDir(), { recursive: true });\n\n const plist = generateLaunchdPlist({\n name,\n port,\n dbPath,\n bunPath,\n entryPoint,\n logFile,\n });\n writeFileSync(plistPath, plist);\n info(`Wrote launchd plist: ${plistPath}`);\n\n const result = Bun.spawnSync([\"launchctl\", \"load\", plistPath]);\n if (result.exitCode !== 0) {\n const stderr = result.stderr.toString().trim();\n warn(`launchctl load failed: ${stderr}`);\n info(\"Trying bootstrap method...\");\n const uid = Bun.spawnSync([\"id\", \"-u\"]).stdout.toString().trim();\n Bun.spawnSync([\"launchctl\", \"bootstrap\", `gui/${uid}`, plistPath]);\n }\n\n success(`Autostart installed for agent '${name}' on port ${port}`);\n kv(\"Plist\", plistPath);\n kv(\"Log file\", logFile);\n}\n\nasync function uninstallLaunchd(name: string): Promise<void> {\n const plistPath = getLaunchdPlistPath(name);\n const label = `com.vibecontrols.agent.${name}`;\n\n Bun.spawnSync([\"launchctl\", \"unload\", plistPath]); // Best-effort\n const uid = Bun.spawnSync([\"id\", \"-u\"]).stdout.toString().trim();\n Bun.spawnSync([\"launchctl\", \"bootout\", `gui/${uid}/${label}`]); // Best-effort\n\n if (existsSync(plistPath)) {\n unlinkSync(plistPath);\n info(`Removed plist: ${plistPath}`);\n }\n\n success(`Autostart removed for agent '${name}'`);\n}\n\nasync function statusLaunchd(name: string): Promise<void> {\n const plistPath = getLaunchdPlistPath(name);\n const label = `com.vibecontrols.agent.${name}`;\n\n if (!existsSync(plistPath)) {\n info(`Autostart is NOT configured for agent '${name}'`);\n kv(\"Expected plist\", plistPath);\n return;\n }\n\n header(`Autostart Status — ${name}`);\n kv(\"Plist\", plistPath);\n kv(\"Label\", label);\n blank();\n\n const result = Bun.spawnSync([\"launchctl\", \"list\"]);\n const output = result.stdout.toString();\n const lines = output.split(\"\\n\").filter((l) => l.includes(\"vibecontrols\"));\n if (lines.length > 0) {\n console.log(lines.join(\"\\n\"));\n } else {\n info(\"Service not currently loaded\");\n }\n}\n\n// ── Register Command ────────────────────────────────────────────────────\n\nexport function register(program: Command): void {\n const autostart = program\n .command(\"autostart\")\n .description(\"Configure agent to auto-start on system boot\");\n\n autostart\n .command(\"install\")\n .description(\"Generate and enable system service for auto-start on reboot\")\n .option(\"-n, --name <name>\", \"Agent instance name\", \"default\")\n .option(\"-p, --port <port>\", \"Port to listen on\", \"3005\")\n .option(\n \"--db-path <path>\",\n \"SQLite database path\",\n \"./vibecontrols-agent.db\",\n )\n .action(async (opts) => {\n const os = platform();\n const port = parseInt(opts.port, 10);\n\n header(\"Installing Autostart\");\n kv(\"Platform\", os);\n kv(\"Agent\", opts.name);\n kv(\"Port\", String(port));\n blank();\n\n try {\n if (os === \"linux\") {\n await installSystemd(opts.name, port, opts.dbPath);\n } else if (os === \"darwin\") {\n await installLaunchd(opts.name, port, opts.dbPath);\n } else {\n fail(\n `Autostart is not supported on ${os}. Supported: linux, darwin (macOS).`,\n );\n process.exit(1);\n }\n } catch (err) {\n fail(`Failed to install autostart: ${err}`);\n process.exit(1);\n }\n });\n\n autostart\n .command(\"uninstall\")\n .description(\"Stop and remove the system service\")\n .option(\"-n, --name <name>\", \"Agent instance name\", \"default\")\n .action(async (opts) => {\n const os = platform();\n header(\"Removing Autostart\");\n\n try {\n if (os === \"linux\") {\n await uninstallSystemd(opts.name);\n } else if (os === \"darwin\") {\n await uninstallLaunchd(opts.name);\n } else {\n fail(`Autostart is not supported on ${os}.`);\n process.exit(1);\n }\n } catch (err) {\n fail(`Failed to uninstall autostart: ${err}`);\n process.exit(1);\n }\n });\n\n autostart\n .command(\"status\")\n .description(\"Check if autostart is configured and running\")\n .option(\"-n, --name <name>\", \"Agent instance name\", \"default\")\n .action(async (opts) => {\n const os = platform();\n\n try {\n if (os === \"linux\") {\n await statusSystemd(opts.name);\n } else if (os === \"darwin\") {\n await statusLaunchd(opts.name);\n } else {\n fail(`Autostart is not supported on ${os}.`);\n process.exit(1);\n }\n } catch (err) {\n fail(`Failed to check autostart status: ${err}`);\n process.exit(1);\n }\n });\n}\n"
|
|
26
26
|
],
|
|
27
|
-
"mappings": "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",
|
|
28
|
-
"debugId": "
|
|
27
|
+
"mappings": "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",
|
|
28
|
+
"debugId": "DDB76B4620709DBC64756E2164756E21",
|
|
29
29
|
"names": []
|
|
30
30
|
}
|
|
@@ -162,7 +162,7 @@ function register(program) {
|
|
|
162
162
|
} catch {
|
|
163
163
|
warn("Agent not reachable. Attempting local plugin registry...");
|
|
164
164
|
try {
|
|
165
|
-
const { PluginManager } = await import("./plugin-system-
|
|
165
|
+
const { PluginManager } = await import("./plugin-system-a2hmq7cg.js");
|
|
166
166
|
const pm = new PluginManager;
|
|
167
167
|
plugins = pm.getPluginDetails() || [];
|
|
168
168
|
} catch {
|
|
@@ -198,7 +198,7 @@ function register(program) {
|
|
|
198
198
|
} catch {
|
|
199
199
|
warn("Agent not reachable. Attempting local install...");
|
|
200
200
|
try {
|
|
201
|
-
const { PluginManager } = await import("./plugin-system-
|
|
201
|
+
const { PluginManager } = await import("./plugin-system-a2hmq7cg.js");
|
|
202
202
|
const pm = new PluginManager;
|
|
203
203
|
await pm.install(packageName);
|
|
204
204
|
success(`Plugin "${packageName}" installed locally.`);
|
|
@@ -221,7 +221,7 @@ function register(program) {
|
|
|
221
221
|
} catch {
|
|
222
222
|
warn("Agent not reachable. Attempting local removal...");
|
|
223
223
|
try {
|
|
224
|
-
const { PluginManager } = await import("./plugin-system-
|
|
224
|
+
const { PluginManager } = await import("./plugin-system-a2hmq7cg.js");
|
|
225
225
|
const pm = new PluginManager;
|
|
226
226
|
await pm.remove(packageName);
|
|
227
227
|
success(`Plugin "${packageName}" removed locally.`);
|
|
@@ -598,4 +598,4 @@ export {
|
|
|
598
598
|
};
|
|
599
599
|
|
|
600
600
|
//# debugId=77470ADF30C64CDD64756E2164756E21
|
|
601
|
-
//# sourceMappingURL=index-
|
|
601
|
+
//# sourceMappingURL=index-b6fsz3ht.js.map
|
package/dist/index.js
CHANGED
|
@@ -9,8 +9,8 @@ import"./index-wr0mkm57.js";
|
|
|
9
9
|
import"./index-g8dczzvv.js";
|
|
10
10
|
import {
|
|
11
11
|
createApp
|
|
12
|
-
} from "./app-
|
|
13
|
-
import"./plugin-system-
|
|
12
|
+
} from "./app-rjhw31y9.js";
|
|
13
|
+
import"./plugin-system-a2hmq7cg.js";
|
|
14
14
|
|
|
15
15
|
// src/index.ts
|
|
16
16
|
if (typeof Bun === "undefined") {
|
|
@@ -3,7 +3,7 @@ import"./index-g8dczzvv.js";
|
|
|
3
3
|
|
|
4
4
|
// package.json
|
|
5
5
|
var name = "@burdenoff/vibe-agent";
|
|
6
|
-
var version = "2.7.
|
|
6
|
+
var version = "2.7.5";
|
|
7
7
|
var main = "./dist/index.js";
|
|
8
8
|
var type = "module";
|
|
9
9
|
var bin = {
|
|
@@ -134,5 +134,5 @@ export {
|
|
|
134
134
|
author
|
|
135
135
|
};
|
|
136
136
|
|
|
137
|
-
//# debugId=
|
|
138
|
-
//# sourceMappingURL=package-
|
|
137
|
+
//# debugId=741B4C5AE48088C064756E2164756E21
|
|
138
|
+
//# sourceMappingURL=package-6sds8pgn.js.map
|
|
@@ -29,6 +29,20 @@ var CORE_PLUGIN_NAMES = [
|
|
|
29
29
|
var VIBECONTROLS_DIR = join(os.homedir(), ".vibecontrols");
|
|
30
30
|
var REGISTRY_FILE = join(VIBECONTROLS_DIR, "plugins.json");
|
|
31
31
|
var PROVIDER_DEFAULT_PREFIX = "provider:default:";
|
|
32
|
+
var DEFAULT_PLUGINS = [
|
|
33
|
+
{
|
|
34
|
+
packageName: "@burdenoff/vibe-plugin-session-tmux",
|
|
35
|
+
label: "tmux session provider",
|
|
36
|
+
category: "session",
|
|
37
|
+
pluginName: "session-tmux"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
packageName: "@burdenoff/vibe-plugin-tunnel-cloudflare",
|
|
41
|
+
label: "Cloudflare tunnel provider",
|
|
42
|
+
category: "tunnel",
|
|
43
|
+
pluginName: "tunnel-cloudflare"
|
|
44
|
+
}
|
|
45
|
+
];
|
|
32
46
|
|
|
33
47
|
class PluginManager {
|
|
34
48
|
registry = [];
|
|
@@ -74,7 +88,7 @@ class PluginManager {
|
|
|
74
88
|
import("./index-6vry08rz.js"),
|
|
75
89
|
import("./index-wmvkjcjj.js"),
|
|
76
90
|
import("./index-30p492yv.js"),
|
|
77
|
-
import("./index-
|
|
91
|
+
import("./index-b6fsz3ht.js"),
|
|
78
92
|
import("./index-hefqxwht.js"),
|
|
79
93
|
import("./index-a9g7hbj9.js")
|
|
80
94
|
]);
|
|
@@ -129,6 +143,39 @@ class PluginManager {
|
|
|
129
143
|
logger.info("plugin-manager", `Installed ${packageName}@${plugin.version} (${plugin.name})`);
|
|
130
144
|
return entry;
|
|
131
145
|
}
|
|
146
|
+
async ensureDefaultPlugins(onStatus) {
|
|
147
|
+
const installed = [];
|
|
148
|
+
const categoryMap = new Map;
|
|
149
|
+
for (const entry of DEFAULT_PLUGINS) {
|
|
150
|
+
const list = categoryMap.get(entry.category) || [];
|
|
151
|
+
list.push(entry);
|
|
152
|
+
categoryMap.set(entry.category, list);
|
|
153
|
+
}
|
|
154
|
+
for (const [category, defaults] of categoryMap) {
|
|
155
|
+
const hasPlugin = this.registry.some((r) => {
|
|
156
|
+
return defaults.some((d) => d.packageName === r.packageName);
|
|
157
|
+
});
|
|
158
|
+
if (hasPlugin) {
|
|
159
|
+
logger.info("plugin-manager", `${category} plugin already installed, skipping auto-install`);
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const defaultPlugin = defaults[0];
|
|
163
|
+
onStatus?.(`No ${category} plugin found. Installing ${defaultPlugin.label} (${defaultPlugin.packageName})...`);
|
|
164
|
+
try {
|
|
165
|
+
await this.install(defaultPlugin.packageName);
|
|
166
|
+
installed.push(defaultPlugin);
|
|
167
|
+
onStatus?.(`Installed ${defaultPlugin.label} (${defaultPlugin.packageName})`);
|
|
168
|
+
} catch (err) {
|
|
169
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
170
|
+
logger.error("plugin-manager", `Failed to auto-install ${defaultPlugin.packageName}: ${message}`);
|
|
171
|
+
onStatus?.(`Failed to install ${defaultPlugin.label}: ${message}`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (installed.length > 0) {
|
|
175
|
+
this.loadRegistry();
|
|
176
|
+
}
|
|
177
|
+
return installed;
|
|
178
|
+
}
|
|
132
179
|
async installAndLoad(packageName, app, hostServices) {
|
|
133
180
|
const entry = await this.install(packageName);
|
|
134
181
|
const plugin = this.loaded.get(entry.packageName);
|
|
@@ -502,7 +549,7 @@ class PluginManager {
|
|
|
502
549
|
}
|
|
503
550
|
}
|
|
504
551
|
|
|
505
|
-
export { PluginManager };
|
|
552
|
+
export { PluginManager, DEFAULT_PLUGINS };
|
|
506
553
|
|
|
507
|
-
//# debugId=
|
|
508
|
-
//# sourceMappingURL=plugin-system-
|
|
554
|
+
//# debugId=2EDF9F65F373EAED64756E2164756E21
|
|
555
|
+
//# sourceMappingURL=plugin-system-a2hmq7cg.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/core/plugin-system.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Plugin System — Plugin-First Architecture\n *\n * Manages the full lifecycle of VibeControls plugins: discovery, loading,\n * provider registration, lifecycle dispatch, and introspection.\n *\n * Two plugin classes:\n * 1. Core plugins — statically imported from ../plugins/index.js,\n * always available, bundled with the agent.\n * 2. External plugins — npm packages installed globally, loaded via\n * dynamic import, persisted in ~/.vibecontrols/plugins.json.\n *\n * Override rule: An external plugin whose name matches a core plugin\n * replaces the core version. Loading order is core-first, external-second.\n *\n * Plugin registry persisted at ~/.vibecontrols/plugins.json\n *\n * Lifecycle:\n * install - load - onServerStart - onServerReady - ... - onServerStop - remove\n *\n * CLI lifecycle:\n * load - onCliSetup - program.parse() - ...\n */\n\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport os from \"node:os\";\nimport type { Command } from \"commander\";\nimport type { Elysia } from \"elysia\";\n\nimport type { TunnelProvider } from \"./providers/tunnel.provider.js\";\nimport type { SessionProvider } from \"./providers/session.provider.js\";\nimport type { StorageProvider } from \"./providers/storage.provider.js\";\nimport type { ServiceRegistry } from \"./service-registry.js\";\nimport type { AgentDatabase } from \"../db/database.js\";\nimport type {\n PluginTag,\n PluginUIConfig,\n PluginRouteDeps,\n PluginEntry,\n PluginInfo,\n LogLevel,\n} from \"./types.js\";\nimport { logger } from \"../services/logger.js\";\n\n// ── Constants ────────────────────────────────────────────────────────────\n\n/** Core plugin names — order matches the static import array */\nconst CORE_PLUGIN_NAMES = [\n \"agent\",\n \"session\",\n \"tunnel\",\n \"task\",\n \"config\",\n \"git\",\n \"file\",\n \"bookmark\",\n \"notification\",\n \"project\",\n \"plugin-mgr\",\n \"state\",\n \"log\",\n] as const;\n\n/** Registry directory and file */\nconst VIBECONTROLS_DIR = join(os.homedir(), \".vibecontrols\");\nconst REGISTRY_FILE = join(VIBECONTROLS_DIR, \"plugins.json\");\n\n/** DB key prefix for default provider settings */\nconst PROVIDER_DEFAULT_PREFIX = \"provider:default:\";\n\n/**\n * Default plugins that should be auto-installed when running `vibe start`\n * if no plugin for that category is already registered.\n *\n * Each entry maps a provider category to the npm package that should be\n * installed as the default implementation for that category.\n */\nexport interface DefaultPluginEntry {\n /** npm package name */\n packageName: string;\n /** Human-readable label for CLI output */\n label: string;\n /** Provider category this plugin satisfies (e.g., \"tunnel\", \"session\") */\n category: \"tunnel\" | \"session\";\n /** The plugin name that will be registered (used to check if already present) */\n pluginName: string;\n}\n\nexport const DEFAULT_PLUGINS: DefaultPluginEntry[] = [\n {\n packageName: \"@burdenoff/vibe-plugin-session-tmux\",\n label: \"tmux session provider\",\n category: \"session\",\n pluginName: \"session-tmux\",\n },\n {\n packageName: \"@burdenoff/vibe-plugin-tunnel-cloudflare\",\n label: \"Cloudflare tunnel provider\",\n category: \"tunnel\",\n pluginName: \"tunnel-cloudflare\",\n },\n];\n\n// ── Host Services (passed to plugins) ───────────────────────────────────\n\nexport interface HostServices {\n /** KV storage for plugin data */\n storage: StorageProvider;\n /** Structured logger */\n logger: {\n debug(\n source: string,\n message: string,\n metadata?: Record<string, unknown>,\n ): void;\n info(\n source: string,\n message: string,\n metadata?: Record<string, unknown>,\n ): void;\n warn(\n source: string,\n message: string,\n metadata?: Record<string, unknown>,\n ): void;\n error(\n source: string,\n message: string,\n metadata?: Record<string, unknown>,\n ): void;\n setLevel(level: LogLevel): void;\n };\n /** Service registry for inter-plugin communication */\n serviceRegistry: ServiceRegistry;\n /** Get a registered provider */\n getProvider<T extends TunnelProvider | SessionProvider>(\n type: \"tunnel\" | \"session\",\n ): T | undefined;\n /** Get the agent's base URL (local) */\n getAgentBaseUrl(): string;\n /** Get the agent version */\n getAgentVersion(): string;\n}\n\n// ── Plugin Interface ────────────────────────────────────────────────────\n\nexport interface VibePlugin {\n /** Unique plugin name (e.g., \"tunnel\", \"session\", \"git\") */\n name: string;\n /** Semver version string */\n version: string;\n /** Short description */\n description?: string;\n\n // Discovery metadata\n /** Classification tags for filtering and grouping */\n tags?: PluginTag[];\n /** Base CLI command name (e.g., \"git\" → `vibe git ...`) */\n cliCommand?: string;\n /** Base API route prefix (e.g., \"/api/git\") */\n apiPrefix?: string;\n /** Other plugin names this plugin depends on */\n dependencies?: string[];\n /** Public paths that bypass authentication */\n publicPaths?: string[];\n\n // Provider registration\n providers?: {\n tunnel?: TunnelProvider;\n session?: SessionProvider;\n [key: string]: unknown;\n };\n\n // UI configuration\n ui?: PluginUIConfig;\n\n // Route factory\n /** Create Elysia sub-routes for the plugin */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n createRoutes?: (deps: PluginRouteDeps) => any;\n\n // Lifecycle hooks\n /** Called during CLI setup to register commander commands */\n onCliSetup?: (\n program: Command,\n hostServices: HostServices,\n ) => void | Promise<void>;\n /** Called when the server starts (before listening) */\n onServerStart?: (\n app: Elysia,\n hostServices: HostServices,\n ) => void | Promise<void>;\n /** Called after the server is listening */\n onServerReady?: (\n app: Elysia,\n hostServices: HostServices,\n ) => void | Promise<void>;\n /** Called when the server is stopping */\n onServerStop?: () => void | Promise<void>;\n}\n\n// ── Plugin Manager ──────────────────────────────────────────────────────\n\nexport class PluginManager {\n /** External plugin registry (persisted to JSON) */\n private registry: PluginEntry[] = [];\n\n /** External plugins loaded in memory, keyed by packageName */\n private loaded = new Map<string, VibePlugin>();\n\n /** Core plugins loaded from ../plugins/*, keyed by plugin name */\n private corePlugins = new Map<string, VibePlugin>();\n\n /** Optional database reference for provider defaults */\n private db: AgentDatabase | undefined;\n\n constructor(db?: AgentDatabase) {\n this.db = db;\n this.ensureDir();\n this.loadRegistry();\n }\n\n // ── Registry Persistence ────────────────────────────────────────────\n\n /**\n * Ensure the ~/.vibecontrols directory exists.\n */\n private ensureDir(): void {\n if (!existsSync(VIBECONTROLS_DIR)) {\n mkdirSync(VIBECONTROLS_DIR, { recursive: true });\n }\n }\n\n /**\n * Load the plugin registry from disk.\n */\n private loadRegistry(): void {\n try {\n if (existsSync(REGISTRY_FILE)) {\n const raw = readFileSync(REGISTRY_FILE, \"utf-8\");\n const parsed: unknown = JSON.parse(raw);\n if (Array.isArray(parsed)) {\n this.registry = parsed as PluginEntry[];\n }\n }\n } catch {\n this.registry = [];\n }\n }\n\n /**\n * Persist the plugin registry to disk.\n */\n private saveRegistry(): void {\n this.ensureDir();\n writeFileSync(\n REGISTRY_FILE,\n JSON.stringify(this.registry, null, 2),\n \"utf-8\",\n );\n }\n\n // ── Core Plugin Loading ─────────────────────────────────────────────\n\n /**\n * Load all core plugins via static imports.\n *\n * Uses Promise.allSettled so a single broken plugin does not prevent\n * the rest from loading. Each module is expected to export a default\n * VibePlugin (or a named `vibePlugin` export).\n */\n async loadCorePlugins(): Promise<void> {\n const coreModules = await Promise.allSettled([\n import(\"../plugins/agent/index.js\"),\n import(\"../plugins/session/index.js\"),\n import(\"../plugins/tunnel/index.js\"),\n import(\"../plugins/task/index.js\"),\n import(\"../plugins/config/index.js\"),\n import(\"../plugins/git/index.js\"),\n import(\"../plugins/file/index.js\"),\n import(\"../plugins/bookmark/index.js\"),\n import(\"../plugins/notification/index.js\"),\n import(\"../plugins/project/index.js\"),\n import(\"../plugins/plugin-mgr/index.js\"),\n import(\"../plugins/state/index.js\"),\n import(\"../plugins/log/index.js\"),\n ]);\n\n for (let i = 0; i < coreModules.length; i++) {\n const result = coreModules[i];\n const expectedName = CORE_PLUGIN_NAMES[i];\n\n if (result.status === \"fulfilled\") {\n const mod = result.value as Record<string, unknown>;\n const plugin = this.extractPlugin(mod);\n\n if (plugin?.name) {\n this.corePlugins.set(plugin.name, plugin);\n logger.info(\n \"plugin-manager\",\n `Core plugin loaded: ${plugin.name} v${plugin.version}`,\n );\n } else {\n logger.warn(\n \"plugin-manager\",\n `Core plugin '${expectedName}' did not export a valid VibePlugin`,\n );\n }\n } else {\n logger.warn(\n \"plugin-manager\",\n `Failed to load core plugin '${expectedName}': ${result.reason}`,\n );\n }\n }\n\n logger.info(\n \"plugin-manager\",\n `Core plugins loaded: ${this.corePlugins.size}/${CORE_PLUGIN_NAMES.length}`,\n );\n }\n\n // ── External Plugin Install ─────────────────────────────────────────\n\n /**\n * Install a plugin package globally via npm.\n * Validates the package exports a valid VibePlugin before persisting.\n */\n async install(packageName: string): Promise<PluginEntry> {\n logger.info(\"plugin-manager\", `Installing ${packageName}...`);\n\n // npm install -g\n try {\n const result = Bun.spawnSync([\"npm\", \"install\", \"-g\", packageName], {\n timeout: 120_000,\n stdout: \"pipe\",\n stderr: \"pipe\",\n });\n if (result.exitCode !== 0) {\n throw new Error(result.stderr.toString().trim());\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n throw new Error(`Failed to install ${packageName}: ${message}`, {\n cause: err,\n });\n }\n\n // Dynamic import to validate\n const plugin = await this.importPlugin(packageName);\n\n // Log if this overrides a core plugin\n if (this.corePlugins.has(plugin.name)) {\n logger.info(\n \"plugin-manager\",\n `External plugin '${packageName}' overrides core plugin '${plugin.name}'`,\n );\n }\n\n // Save to registry (deduplicate by packageName)\n const entry: PluginEntry = {\n packageName,\n version: plugin.version,\n pluginName: plugin.name,\n installedAt: new Date().toISOString(),\n };\n\n this.registry = this.registry.filter((e) => e.packageName !== packageName);\n this.registry.push(entry);\n this.saveRegistry();\n\n logger.info(\n \"plugin-manager\",\n `Installed ${packageName}@${plugin.version} (${plugin.name})`,\n );\n return entry;\n }\n\n /**\n * Ensure that default plugins for each required provider category\n * (session, tunnel) are installed. If a category has no registered\n * external plugin, the default plugin for that category is installed\n * automatically.\n *\n * Called during `vibe start` before the daemon launches.\n *\n * @returns List of plugins that were newly installed\n */\n async ensureDefaultPlugins(\n onStatus?: (message: string) => void,\n ): Promise<DefaultPluginEntry[]> {\n const installed: DefaultPluginEntry[] = [];\n\n // Group default plugins by category\n const categoryMap = new Map<string, DefaultPluginEntry[]>();\n for (const entry of DEFAULT_PLUGINS) {\n const list = categoryMap.get(entry.category) || [];\n list.push(entry);\n categoryMap.set(entry.category, list);\n }\n\n for (const [category, defaults] of categoryMap) {\n // Check if any plugin for this category is already installed\n const hasPlugin = this.registry.some((r) => {\n // Check if the registered plugin matches a known default for this category\n return defaults.some((d) => d.packageName === r.packageName);\n });\n\n if (hasPlugin) {\n logger.info(\n \"plugin-manager\",\n `${category} plugin already installed, skipping auto-install`,\n );\n continue;\n }\n\n // Install the first default plugin for this category\n const defaultPlugin = defaults[0];\n onStatus?.(\n `No ${category} plugin found. Installing ${defaultPlugin.label} (${defaultPlugin.packageName})...`,\n );\n\n try {\n await this.install(defaultPlugin.packageName);\n installed.push(defaultPlugin);\n onStatus?.(\n `Installed ${defaultPlugin.label} (${defaultPlugin.packageName})`,\n );\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n logger.error(\n \"plugin-manager\",\n `Failed to auto-install ${defaultPlugin.packageName}: ${message}`,\n );\n onStatus?.(`Failed to install ${defaultPlugin.label}: ${message}`);\n }\n }\n\n // Reload registry so newly installed plugins are available\n if (installed.length > 0) {\n this.loadRegistry();\n }\n\n return installed;\n }\n\n /**\n * Install and immediately load a plugin into a running server.\n * Registers providers and dispatches onServerStart.\n */\n async installAndLoad(\n packageName: string,\n app: Elysia,\n hostServices: HostServices,\n ): Promise<PluginEntry> {\n const entry = await this.install(packageName);\n\n // Load and start\n const plugin = this.loaded.get(entry.packageName);\n if (plugin) {\n this.registerPluginProviders(plugin, hostServices);\n\n if (plugin.onServerStart) {\n await plugin.onServerStart(app, hostServices);\n }\n }\n\n return entry;\n }\n\n // ── External Plugin Remove ──────────────────────────────────────────\n\n /**\n * Remove a plugin package. Stops the plugin, unregisters it,\n * runs npm uninstall -g, and updates the persisted registry.\n */\n async remove(packageName: string): Promise<void> {\n logger.info(\"plugin-manager\", `Removing ${packageName}...`);\n\n // Stop plugin if loaded\n const plugin = this.loaded.get(packageName);\n if (plugin?.onServerStop) {\n try {\n await plugin.onServerStop();\n } catch (err) {\n logger.warn(\"plugin-manager\", `Error stopping ${packageName}: ${err}`);\n }\n }\n\n // Clean up loaded reference\n if (plugin) {\n this.loaded.delete(packageName);\n }\n\n // npm uninstall -g\n try {\n Bun.spawnSync([\"npm\", \"uninstall\", \"-g\", packageName], {\n timeout: 60_000,\n stdout: \"pipe\",\n stderr: \"pipe\",\n });\n } catch {\n // Package might not be globally installed — that's ok\n }\n\n // Remove from registry\n this.registry = this.registry.filter((e) => e.packageName !== packageName);\n this.saveRegistry();\n\n logger.info(\"plugin-manager\", `Removed ${packageName}`);\n }\n\n // ── External Plugin Load ────────────────────────────────────────────\n\n /**\n * Load all registered external plugins into memory.\n * Does not clear core plugins — only external loaded map.\n */\n async loadAll(): Promise<void> {\n this.loaded.clear();\n\n for (const entry of this.registry) {\n try {\n await this.importPlugin(entry.packageName);\n logger.info(\n \"plugin-manager\",\n `Loaded ${entry.packageName} (${entry.pluginName})`,\n );\n } catch (err) {\n logger.warn(\n \"plugin-manager\",\n `Failed to load ${entry.packageName}: ${err}`,\n );\n }\n }\n }\n\n /**\n * Import a plugin module and extract the VibePlugin export.\n *\n * Supports multiple export patterns:\n * 1. `{ vibePlugin: VibePlugin }`\n * 2. `{ default: { vibePlugin: VibePlugin } }`\n * 3. `{ default: VibePlugin }`\n */\n private async importPlugin(packageName: string): Promise<VibePlugin> {\n let mod: Record<string, unknown>;\n\n try {\n // Try bare import first (works when running from source)\n mod = (await import(packageName)) as Record<string, unknown>;\n } catch {\n // Bare import fails in bundled dist — resolve from npm global root\n const globalRoot = this.getNpmGlobalRoot();\n if (!globalRoot) {\n throw new Error(\n `Cannot find module '${packageName}': bare import failed and npm global root is unavailable`,\n );\n }\n const absolutePath = join(globalRoot, packageName);\n mod = (await import(absolutePath)) as Record<string, unknown>;\n }\n\n const plugin = this.extractPlugin(mod);\n\n if (!plugin) {\n throw new Error(`${packageName} does not export a valid VibePlugin`);\n }\n\n this.loaded.set(packageName, plugin);\n return plugin;\n }\n\n /**\n * Get npm global root directory via `npm root -g`.\n * Cached after first call to avoid repeated spawns.\n */\n private npmGlobalRoot: string | null | undefined;\n private getNpmGlobalRoot(): string | null {\n if (this.npmGlobalRoot !== undefined) return this.npmGlobalRoot;\n\n try {\n const result = Bun.spawnSync([\"npm\", \"root\", \"-g\"], {\n stdout: \"pipe\",\n stderr: \"pipe\",\n timeout: 10_000,\n });\n if (result.exitCode === 0) {\n this.npmGlobalRoot = result.stdout.toString().trim();\n return this.npmGlobalRoot;\n }\n } catch {\n // Fall through\n }\n\n this.npmGlobalRoot = null;\n return null;\n }\n\n /**\n * Extract a VibePlugin from a module object, supporting multiple\n * export patterns (default export, named vibePlugin export, nested).\n */\n private extractPlugin(mod: Record<string, unknown>): VibePlugin | undefined {\n // Pattern 1: named export { vibePlugin }\n if (this.isVibePlugin(mod.vibePlugin)) {\n return mod.vibePlugin;\n }\n\n // Pattern 2: { default: { vibePlugin } }\n const defaultExport = mod.default as Record<string, unknown> | undefined;\n if (defaultExport && this.isVibePlugin(defaultExport.vibePlugin)) {\n return defaultExport.vibePlugin as VibePlugin;\n }\n\n // Pattern 3: { default: VibePlugin }\n if (this.isVibePlugin(defaultExport)) {\n return defaultExport as VibePlugin;\n }\n\n return undefined;\n }\n\n /**\n * Type guard: check if a value looks like a valid VibePlugin.\n */\n private isVibePlugin(value: unknown): value is VibePlugin {\n if (!value || typeof value !== \"object\") return false;\n const candidate = value as Record<string, unknown>;\n return (\n typeof candidate.name === \"string\" &&\n typeof candidate.version === \"string\"\n );\n }\n\n // ── Provider Registration ───────────────────────────────────────────\n\n /**\n * Register tunnel and session providers from a plugin into the\n * service registry.\n */\n private registerPluginProviders(\n plugin: VibePlugin,\n hostServices: HostServices,\n ): void {\n if (plugin.providers?.tunnel) {\n hostServices.serviceRegistry.registerProvider(\n \"tunnel\",\n plugin.providers.tunnel,\n plugin.name,\n );\n }\n if (plugin.providers?.session) {\n hostServices.serviceRegistry.registerProvider(\n \"session\",\n plugin.providers.session,\n plugin.name,\n );\n }\n }\n\n // ── Lifecycle Dispatch ──────────────────────────────────────────────\n\n /**\n * Dispatch onCliSetup to all loaded plugins (core + external).\n */\n async dispatchCliSetup(\n program: Command,\n hostServices: HostServices,\n ): Promise<void> {\n for (const plugin of this.getAllPlugins()) {\n if (plugin.onCliSetup) {\n try {\n await plugin.onCliSetup(program, hostServices);\n } catch (err) {\n logger.warn(\n \"plugin-manager\",\n `onCliSetup failed for ${plugin.name}: ${err}`,\n );\n }\n }\n }\n }\n\n /**\n * Dispatch onServerStart to all plugins (core + external).\n * Sorts by dependencies before dispatching. Registers providers first.\n */\n async dispatchServerStart(\n app: Elysia,\n hostServices: HostServices,\n ): Promise<void> {\n const sorted = this.sortAllByDependencies();\n\n for (const plugin of sorted) {\n // Register providers before calling onServerStart\n this.registerPluginProviders(plugin, hostServices);\n\n if (plugin.onServerStart) {\n try {\n await plugin.onServerStart(app, hostServices);\n } catch (err) {\n logger.error(\n \"plugin-manager\",\n `onServerStart failed for ${plugin.name}: ${err}`,\n );\n }\n }\n\n // Re-register providers after onServerStart — some plugins (e.g.\n // tunnel-cloudflare) only populate their providers bag at runtime\n // inside onServerStart, so the pre-start registration saw undefined.\n this.registerPluginProviders(plugin, hostServices);\n }\n }\n\n /**\n * Dispatch onServerReady to all plugins (core + external).\n */\n async dispatchServerReady(\n app: Elysia,\n hostServices: HostServices,\n ): Promise<void> {\n for (const plugin of this.getAllPlugins()) {\n if (plugin.onServerReady) {\n try {\n await plugin.onServerReady(app, hostServices);\n } catch (err) {\n logger.warn(\n \"plugin-manager\",\n `onServerReady failed for ${plugin.name}: ${err}`,\n );\n }\n }\n }\n }\n\n /**\n * Dispatch onServerStop to all plugins (core + external).\n */\n async dispatchServerStop(): Promise<void> {\n for (const plugin of this.getAllPlugins()) {\n if (plugin.onServerStop) {\n try {\n await plugin.onServerStop();\n } catch (err) {\n logger.warn(\n \"plugin-manager\",\n `onServerStop failed for ${plugin.name}: ${err}`,\n );\n }\n }\n }\n }\n\n /**\n * Reload all plugins: stop everything, clear state, reload registry,\n * reload core + external plugins, and restart.\n */\n async reloadAll(app: Elysia, hostServices: HostServices): Promise<void> {\n await this.dispatchServerStop();\n this.loaded.clear();\n this.corePlugins.clear();\n this.loadRegistry();\n await this.loadCorePlugins();\n await this.loadAll();\n await this.dispatchServerStart(app, hostServices);\n await this.dispatchServerReady(app, hostServices);\n }\n\n // ── Dependency Sorting ──────────────────────────────────────────────\n\n /**\n * Topological sort of ALL plugins (core + external, deduplicated)\n * respecting declared dependencies.\n */\n private sortAllByDependencies(): VibePlugin[] {\n const allPlugins = this.getAllPlugins();\n const pluginMap = new Map<string, VibePlugin>();\n for (const plugin of allPlugins) {\n pluginMap.set(plugin.name, plugin);\n }\n\n const visited = new Set<string>();\n const sorted: VibePlugin[] = [];\n\n const visit = (name: string) => {\n if (visited.has(name)) return;\n visited.add(name);\n\n const plugin = pluginMap.get(name);\n if (!plugin) return;\n\n if (plugin.dependencies) {\n for (const dep of plugin.dependencies) {\n if (pluginMap.has(dep)) {\n visit(dep);\n }\n }\n }\n\n sorted.push(plugin);\n };\n\n for (const plugin of allPlugins) {\n visit(plugin.name);\n }\n\n return sorted;\n }\n\n /**\n * Topological sort of external plugins only.\n * Returns [packageName, VibePlugin] pairs in dependency order.\n */\n private sortByDependencies(): Array<[string, VibePlugin]> {\n const entries = Array.from(this.loaded.entries());\n const nameToPackage = new Map<string, string>();\n for (const [pkg, plugin] of entries) {\n nameToPackage.set(plugin.name, pkg);\n }\n\n const visited = new Set<string>();\n const sorted: Array<[string, VibePlugin]> = [];\n\n const visit = (pkg: string) => {\n if (visited.has(pkg)) return;\n visited.add(pkg);\n\n const plugin = this.loaded.get(pkg);\n if (plugin?.dependencies) {\n for (const dep of plugin.dependencies) {\n const depPkg = nameToPackage.get(dep);\n if (depPkg && this.loaded.has(depPkg)) {\n visit(depPkg);\n }\n }\n }\n const loadedPlugin = this.loaded.get(pkg);\n if (loadedPlugin) {\n sorted.push([pkg, loadedPlugin]);\n }\n };\n\n for (const [pkg] of entries) {\n visit(pkg);\n }\n\n return sorted;\n }\n\n // ── Unified Lookup ──────────────────────────────────────────────────\n\n /**\n * Look up a plugin by its name across core and external.\n * External plugins win on conflict (override semantics).\n */\n getPluginByKey(key: string): VibePlugin | undefined {\n // Check external plugins first (they override core)\n for (const [, plugin] of this.loaded) {\n if (plugin.name === key) {\n return plugin;\n }\n }\n\n // Fall back to core plugins\n return this.corePlugins.get(key);\n }\n\n /**\n * Return all plugins (core + external), deduplicated by name.\n * External plugins override core plugins with the same name.\n */\n getAllPlugins(): VibePlugin[] {\n const merged = new Map<string, VibePlugin>();\n\n // Core first\n for (const [key, plugin] of this.corePlugins) {\n merged.set(key, plugin);\n }\n\n // External override core\n for (const [, plugin] of this.loaded) {\n merged.set(plugin.name, plugin);\n }\n\n return Array.from(merged.values());\n }\n\n /**\n * Return all plugins that have the specified tag.\n */\n getAllPluginsByTag(tag: PluginTag): VibePlugin[] {\n return this.getAllPlugins().filter(\n (plugin) => plugin.tags?.includes(tag) ?? false,\n );\n }\n\n // ── Plugin Chain Resolution ─────────────────────────────────────────\n\n /**\n * Walk tokens left-to-right, matching against all known plugin names.\n * First non-matching token (or flag starting with `-`) is treated as\n * the command.\n *\n * Examples:\n * tokens = [\"git\", \"commit\", \"-m\", \"msg\"]\n * → { chain: [\"git\"], command: \"commit\", args: [\"-m\", \"msg\"] }\n *\n * tokens = [\"agent\", \"config\", \"set\", \"key\", \"value\"]\n * → { chain: [\"agent\", \"config\"], command: \"set\", args: [\"key\", \"value\"] }\n *\n * tokens = [\"tunnel\"]\n * → { chain: [\"tunnel\"], command: \"\", args: [] }\n */\n resolvePluginChain(tokens: string[]): {\n chain: string[];\n command: string;\n args: string[];\n } {\n const allKeys = new Set<string>();\n for (const p of this.getAllPlugins()) {\n allKeys.add(p.name);\n }\n\n const chain: string[] = [];\n let commandIdx = -1;\n\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].startsWith(\"-\")) {\n // Flag — stop chain resolution\n commandIdx = i;\n break;\n }\n if (allKeys.has(tokens[i])) {\n chain.push(tokens[i]);\n } else {\n commandIdx = i;\n break;\n }\n }\n\n if (commandIdx === -1) {\n // All tokens were plugins, no command\n return { chain, command: \"\", args: [] };\n }\n\n return {\n chain,\n command: tokens[commandIdx],\n args: tokens.slice(commandIdx + 1),\n };\n }\n\n // ── Provider Defaults ───────────────────────────────────────────────\n\n /**\n * Get the default provider plugin name for a given provider type.\n * Reads from `provider:default:<type>` in the agent database.\n * Returns null if no default is set or db is not available.\n */\n getDefaultProvider(type: string): string | null {\n if (!this.db) return null;\n\n const value = this.db.getConfig(`${PROVIDER_DEFAULT_PREFIX}${type}`);\n return value ?? null;\n }\n\n /**\n * Set the default provider plugin name for a given provider type.\n * Writes `provider:default:<type>` to the agent database.\n * Throws if db is not available.\n */\n setDefaultProvider(type: string, pluginName: string): void {\n if (!this.db) {\n throw new Error(\n \"Cannot set default provider: PluginManager was constructed without a database reference\",\n );\n }\n\n // Verify the plugin exists\n const plugin = this.getPluginByKey(pluginName);\n if (!plugin) {\n throw new Error(`Plugin '${pluginName}' not found`);\n }\n\n this.db.setConfig(`${PROVIDER_DEFAULT_PREFIX}${type}`, pluginName);\n logger.info(\n \"plugin-manager\",\n `Set default '${type}' provider to '${pluginName}'`,\n );\n }\n\n // ── Introspection ───────────────────────────────────────────────────\n\n /**\n * Get detailed information about all plugins (core + external).\n * Deduplicated — external overrides core by plugin name.\n */\n getPluginDetails(): PluginInfo[] {\n const coreInfos = this.getCorePluginDetails();\n const externalInfos = this.getExternalPluginDetails();\n\n // Deduplicate: external overrides core by pluginName\n const merged = new Map<string, PluginInfo>();\n for (const info of coreInfos) {\n merged.set(info.pluginName, info);\n }\n for (const info of externalInfos) {\n merged.set(info.pluginName, info);\n }\n\n return Array.from(merged.values());\n }\n\n /**\n * Build PluginInfo entries for all core plugins.\n */\n private getCorePluginDetails(): PluginInfo[] {\n const infos: PluginInfo[] = [];\n\n for (const [name, plugin] of this.corePlugins) {\n infos.push({\n packageName: `@vibecontrols/plugin-${name}`,\n pluginName: name,\n version: plugin.version,\n description: plugin.description,\n tags: plugin.tags,\n cliCommand: plugin.cliCommand,\n apiPrefix: plugin.apiPrefix,\n dependencies: plugin.dependencies,\n installedAt: \"\",\n loaded: true,\n isCore: true,\n hasUI: !!plugin.ui,\n uiUrl: plugin.ui ? `/ui/${name}` : undefined,\n hasCliSetup: !!plugin.onCliSetup,\n hasServerStart: !!plugin.onServerStart,\n hasServerStop: !!plugin.onServerStop,\n hasServerReady: !!plugin.onServerReady,\n hasProviders: !!(plugin.providers?.tunnel || plugin.providers?.session),\n });\n }\n\n return infos;\n }\n\n /**\n * Build PluginInfo entries for all external (installed) plugins.\n */\n private getExternalPluginDetails(): PluginInfo[] {\n return this.registry.map((entry) => {\n const plugin = this.loaded.get(entry.packageName);\n return {\n packageName: entry.packageName,\n pluginName: entry.pluginName,\n version: plugin?.version ?? entry.version,\n description: plugin?.description,\n tags: plugin?.tags,\n cliCommand: plugin?.cliCommand,\n apiPrefix: plugin?.apiPrefix,\n dependencies: plugin?.dependencies,\n installedAt: entry.installedAt,\n loaded: !!plugin,\n isCore: false,\n hasUI: !!plugin?.ui,\n uiUrl: plugin?.ui ? `/ui/${entry.pluginName}` : undefined,\n hasCliSetup: !!plugin?.onCliSetup,\n hasServerStart: !!plugin?.onServerStart,\n hasServerStop: !!plugin?.onServerStop,\n hasServerReady: !!plugin?.onServerReady,\n hasProviders: !!(\n plugin?.providers?.tunnel || plugin?.providers?.session\n ),\n };\n });\n }\n\n /**\n * Get the external plugin registry entries.\n */\n getRegistry(): PluginEntry[] {\n return [...this.registry];\n }\n\n /**\n * Get an external loaded plugin by package name.\n */\n getLoaded(packageName: string): VibePlugin | undefined {\n return this.loaded.get(packageName);\n }\n\n /**\n * Get all externally loaded plugins (Map keyed by packageName).\n */\n getAllLoaded(): Map<string, VibePlugin> {\n return new Map(this.loaded);\n }\n\n /**\n * Check if a package is installed in the external registry.\n */\n isInstalled(packageName: string): boolean {\n return this.registry.some((e) => e.packageName === packageName);\n }\n\n /**\n * Check if a package is loaded in the external plugins map.\n */\n isLoaded(packageName: string): boolean {\n return this.loaded.has(packageName);\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "2EDF9F65F373EAED64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/core/plugin-system.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Plugin System — Plugin-First Architecture\n *\n * Manages the full lifecycle of VibeControls plugins: discovery, loading,\n * provider registration, lifecycle dispatch, and introspection.\n *\n * Two plugin classes:\n * 1. Core plugins — statically imported from ../plugins/index.js,\n * always available, bundled with the agent.\n * 2. External plugins — npm packages installed globally, loaded via\n * dynamic import, persisted in ~/.vibecontrols/plugins.json.\n *\n * Override rule: An external plugin whose name matches a core plugin\n * replaces the core version. Loading order is core-first, external-second.\n *\n * Plugin registry persisted at ~/.vibecontrols/plugins.json\n *\n * Lifecycle:\n * install - load - onServerStart - onServerReady - ... - onServerStop - remove\n *\n * CLI lifecycle:\n * load - onCliSetup - program.parse() - ...\n */\n\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport os from \"node:os\";\nimport type { Command } from \"commander\";\nimport type { Elysia } from \"elysia\";\n\nimport type { TunnelProvider } from \"./providers/tunnel.provider.js\";\nimport type { SessionProvider } from \"./providers/session.provider.js\";\nimport type { StorageProvider } from \"./providers/storage.provider.js\";\nimport type { ServiceRegistry } from \"./service-registry.js\";\nimport type { AgentDatabase } from \"../db/database.js\";\nimport type {\n PluginTag,\n PluginUIConfig,\n PluginRouteDeps,\n PluginEntry,\n PluginInfo,\n LogLevel,\n} from \"./types.js\";\nimport { logger } from \"../services/logger.js\";\n\n// ── Constants ────────────────────────────────────────────────────────────\n\n/** Core plugin names — order matches the static import array */\nconst CORE_PLUGIN_NAMES = [\n \"agent\",\n \"session\",\n \"tunnel\",\n \"task\",\n \"config\",\n \"git\",\n \"file\",\n \"bookmark\",\n \"notification\",\n \"project\",\n \"plugin-mgr\",\n \"state\",\n \"log\",\n] as const;\n\n/** Registry directory and file */\nconst VIBECONTROLS_DIR = join(os.homedir(), \".vibecontrols\");\nconst REGISTRY_FILE = join(VIBECONTROLS_DIR, \"plugins.json\");\n\n/** DB key prefix for default provider settings */\nconst PROVIDER_DEFAULT_PREFIX = \"provider:default:\";\n\n// ── Host Services (passed to plugins) ───────────────────────────────────\n\nexport interface HostServices {\n /** KV storage for plugin data */\n storage: StorageProvider;\n /** Structured logger */\n logger: {\n debug(\n source: string,\n message: string,\n metadata?: Record<string, unknown>,\n ): void;\n info(\n source: string,\n message: string,\n metadata?: Record<string, unknown>,\n ): void;\n warn(\n source: string,\n message: string,\n metadata?: Record<string, unknown>,\n ): void;\n error(\n source: string,\n message: string,\n metadata?: Record<string, unknown>,\n ): void;\n setLevel(level: LogLevel): void;\n };\n /** Service registry for inter-plugin communication */\n serviceRegistry: ServiceRegistry;\n /** Get a registered provider */\n getProvider<T extends TunnelProvider | SessionProvider>(\n type: \"tunnel\" | \"session\",\n ): T | undefined;\n /** Get the agent's base URL (local) */\n getAgentBaseUrl(): string;\n /** Get the agent version */\n getAgentVersion(): string;\n}\n\n// ── Plugin Interface ────────────────────────────────────────────────────\n\nexport interface VibePlugin {\n /** Unique plugin name (e.g., \"tunnel\", \"session\", \"git\") */\n name: string;\n /** Semver version string */\n version: string;\n /** Short description */\n description?: string;\n\n // Discovery metadata\n /** Classification tags for filtering and grouping */\n tags?: PluginTag[];\n /** Base CLI command name (e.g., \"git\" → `vibe git ...`) */\n cliCommand?: string;\n /** Base API route prefix (e.g., \"/api/git\") */\n apiPrefix?: string;\n /** Other plugin names this plugin depends on */\n dependencies?: string[];\n /** Public paths that bypass authentication */\n publicPaths?: string[];\n\n // Provider registration\n providers?: {\n tunnel?: TunnelProvider;\n session?: SessionProvider;\n [key: string]: unknown;\n };\n\n // UI configuration\n ui?: PluginUIConfig;\n\n // Route factory\n /** Create Elysia sub-routes for the plugin */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n createRoutes?: (deps: PluginRouteDeps) => any;\n\n // Lifecycle hooks\n /** Called during CLI setup to register commander commands */\n onCliSetup?: (\n program: Command,\n hostServices: HostServices,\n ) => void | Promise<void>;\n /** Called when the server starts (before listening) */\n onServerStart?: (\n app: Elysia,\n hostServices: HostServices,\n ) => void | Promise<void>;\n /** Called after the server is listening */\n onServerReady?: (\n app: Elysia,\n hostServices: HostServices,\n ) => void | Promise<void>;\n /** Called when the server is stopping */\n onServerStop?: () => void | Promise<void>;\n}\n\n// ── Plugin Manager ──────────────────────────────────────────────────────\n\nexport class PluginManager {\n /** External plugin registry (persisted to JSON) */\n private registry: PluginEntry[] = [];\n\n /** External plugins loaded in memory, keyed by packageName */\n private loaded = new Map<string, VibePlugin>();\n\n /** Core plugins loaded from ../plugins/*, keyed by plugin name */\n private corePlugins = new Map<string, VibePlugin>();\n\n /** Optional database reference for provider defaults */\n private db: AgentDatabase | undefined;\n\n constructor(db?: AgentDatabase) {\n this.db = db;\n this.ensureDir();\n this.loadRegistry();\n }\n\n // ── Registry Persistence ────────────────────────────────────────────\n\n /**\n * Ensure the ~/.vibecontrols directory exists.\n */\n private ensureDir(): void {\n if (!existsSync(VIBECONTROLS_DIR)) {\n mkdirSync(VIBECONTROLS_DIR, { recursive: true });\n }\n }\n\n /**\n * Load the plugin registry from disk.\n */\n private loadRegistry(): void {\n try {\n if (existsSync(REGISTRY_FILE)) {\n const raw = readFileSync(REGISTRY_FILE, \"utf-8\");\n const parsed: unknown = JSON.parse(raw);\n if (Array.isArray(parsed)) {\n this.registry = parsed as PluginEntry[];\n }\n }\n } catch {\n this.registry = [];\n }\n }\n\n /**\n * Persist the plugin registry to disk.\n */\n private saveRegistry(): void {\n this.ensureDir();\n writeFileSync(\n REGISTRY_FILE,\n JSON.stringify(this.registry, null, 2),\n \"utf-8\",\n );\n }\n\n // ── Core Plugin Loading ─────────────────────────────────────────────\n\n /**\n * Load all core plugins via static imports.\n *\n * Uses Promise.allSettled so a single broken plugin does not prevent\n * the rest from loading. Each module is expected to export a default\n * VibePlugin (or a named `vibePlugin` export).\n */\n async loadCorePlugins(): Promise<void> {\n const coreModules = await Promise.allSettled([\n import(\"../plugins/agent/index.js\"),\n import(\"../plugins/session/index.js\"),\n import(\"../plugins/tunnel/index.js\"),\n import(\"../plugins/task/index.js\"),\n import(\"../plugins/config/index.js\"),\n import(\"../plugins/git/index.js\"),\n import(\"../plugins/file/index.js\"),\n import(\"../plugins/bookmark/index.js\"),\n import(\"../plugins/notification/index.js\"),\n import(\"../plugins/project/index.js\"),\n import(\"../plugins/plugin-mgr/index.js\"),\n import(\"../plugins/state/index.js\"),\n import(\"../plugins/log/index.js\"),\n ]);\n\n for (let i = 0; i < coreModules.length; i++) {\n const result = coreModules[i];\n const expectedName = CORE_PLUGIN_NAMES[i];\n\n if (result.status === \"fulfilled\") {\n const mod = result.value as Record<string, unknown>;\n const plugin = this.extractPlugin(mod);\n\n if (plugin?.name) {\n this.corePlugins.set(plugin.name, plugin);\n logger.info(\n \"plugin-manager\",\n `Core plugin loaded: ${plugin.name} v${plugin.version}`,\n );\n } else {\n logger.warn(\n \"plugin-manager\",\n `Core plugin '${expectedName}' did not export a valid VibePlugin`,\n );\n }\n } else {\n logger.warn(\n \"plugin-manager\",\n `Failed to load core plugin '${expectedName}': ${result.reason}`,\n );\n }\n }\n\n logger.info(\n \"plugin-manager\",\n `Core plugins loaded: ${this.corePlugins.size}/${CORE_PLUGIN_NAMES.length}`,\n );\n }\n\n // ── External Plugin Install ─────────────────────────────────────────\n\n /**\n * Install a plugin package globally via npm.\n * Validates the package exports a valid VibePlugin before persisting.\n */\n async install(packageName: string): Promise<PluginEntry> {\n logger.info(\"plugin-manager\", `Installing ${packageName}...`);\n\n // npm install -g\n try {\n const result = Bun.spawnSync([\"npm\", \"install\", \"-g\", packageName], {\n timeout: 120_000,\n stdout: \"pipe\",\n stderr: \"pipe\",\n });\n if (result.exitCode !== 0) {\n throw new Error(result.stderr.toString().trim());\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n throw new Error(`Failed to install ${packageName}: ${message}`, {\n cause: err,\n });\n }\n\n // Dynamic import to validate\n const plugin = await this.importPlugin(packageName);\n\n // Log if this overrides a core plugin\n if (this.corePlugins.has(plugin.name)) {\n logger.info(\n \"plugin-manager\",\n `External plugin '${packageName}' overrides core plugin '${plugin.name}'`,\n );\n }\n\n // Save to registry (deduplicate by packageName)\n const entry: PluginEntry = {\n packageName,\n version: plugin.version,\n pluginName: plugin.name,\n installedAt: new Date().toISOString(),\n };\n\n this.registry = this.registry.filter((e) => e.packageName !== packageName);\n this.registry.push(entry);\n this.saveRegistry();\n\n logger.info(\n \"plugin-manager\",\n `Installed ${packageName}@${plugin.version} (${plugin.name})`,\n );\n return entry;\n }\n\n /**\n * Install and immediately load a plugin into a running server.\n * Registers providers and dispatches onServerStart.\n */\n async installAndLoad(\n packageName: string,\n app: Elysia,\n hostServices: HostServices,\n ): Promise<PluginEntry> {\n const entry = await this.install(packageName);\n\n // Load and start\n const plugin = this.loaded.get(entry.packageName);\n if (plugin) {\n this.registerPluginProviders(plugin, hostServices);\n\n if (plugin.onServerStart) {\n await plugin.onServerStart(app, hostServices);\n }\n }\n\n return entry;\n }\n\n // ── External Plugin Remove ──────────────────────────────────────────\n\n /**\n * Remove a plugin package. Stops the plugin, unregisters it,\n * runs npm uninstall -g, and updates the persisted registry.\n */\n async remove(packageName: string): Promise<void> {\n logger.info(\"plugin-manager\", `Removing ${packageName}...`);\n\n // Stop plugin if loaded\n const plugin = this.loaded.get(packageName);\n if (plugin?.onServerStop) {\n try {\n await plugin.onServerStop();\n } catch (err) {\n logger.warn(\"plugin-manager\", `Error stopping ${packageName}: ${err}`);\n }\n }\n\n // Clean up loaded reference\n if (plugin) {\n this.loaded.delete(packageName);\n }\n\n // npm uninstall -g\n try {\n Bun.spawnSync([\"npm\", \"uninstall\", \"-g\", packageName], {\n timeout: 60_000,\n stdout: \"pipe\",\n stderr: \"pipe\",\n });\n } catch {\n // Package might not be globally installed — that's ok\n }\n\n // Remove from registry\n this.registry = this.registry.filter((e) => e.packageName !== packageName);\n this.saveRegistry();\n\n logger.info(\"plugin-manager\", `Removed ${packageName}`);\n }\n\n // ── External Plugin Load ────────────────────────────────────────────\n\n /**\n * Load all registered external plugins into memory.\n * Does not clear core plugins — only external loaded map.\n */\n async loadAll(): Promise<void> {\n this.loaded.clear();\n\n for (const entry of this.registry) {\n try {\n await this.importPlugin(entry.packageName);\n logger.info(\n \"plugin-manager\",\n `Loaded ${entry.packageName} (${entry.pluginName})`,\n );\n } catch (err) {\n logger.warn(\n \"plugin-manager\",\n `Failed to load ${entry.packageName}: ${err}`,\n );\n }\n }\n }\n\n /**\n * Import a plugin module and extract the VibePlugin export.\n *\n * Supports multiple export patterns:\n * 1. `{ vibePlugin: VibePlugin }`\n * 2. `{ default: { vibePlugin: VibePlugin } }`\n * 3. `{ default: VibePlugin }`\n */\n private async importPlugin(packageName: string): Promise<VibePlugin> {\n let mod: Record<string, unknown>;\n\n try {\n // Try bare import first (works when running from source)\n mod = (await import(packageName)) as Record<string, unknown>;\n } catch {\n // Bare import fails in bundled dist — resolve from npm global root\n const globalRoot = this.getNpmGlobalRoot();\n if (!globalRoot) {\n throw new Error(\n `Cannot find module '${packageName}': bare import failed and npm global root is unavailable`,\n );\n }\n const absolutePath = join(globalRoot, packageName);\n mod = (await import(absolutePath)) as Record<string, unknown>;\n }\n\n const plugin = this.extractPlugin(mod);\n\n if (!plugin) {\n throw new Error(`${packageName} does not export a valid VibePlugin`);\n }\n\n this.loaded.set(packageName, plugin);\n return plugin;\n }\n\n /**\n * Get npm global root directory via `npm root -g`.\n * Cached after first call to avoid repeated spawns.\n */\n private npmGlobalRoot: string | null | undefined;\n private getNpmGlobalRoot(): string | null {\n if (this.npmGlobalRoot !== undefined) return this.npmGlobalRoot;\n\n try {\n const result = Bun.spawnSync([\"npm\", \"root\", \"-g\"], {\n stdout: \"pipe\",\n stderr: \"pipe\",\n timeout: 10_000,\n });\n if (result.exitCode === 0) {\n this.npmGlobalRoot = result.stdout.toString().trim();\n return this.npmGlobalRoot;\n }\n } catch {\n // Fall through\n }\n\n this.npmGlobalRoot = null;\n return null;\n }\n\n /**\n * Extract a VibePlugin from a module object, supporting multiple\n * export patterns (default export, named vibePlugin export, nested).\n */\n private extractPlugin(mod: Record<string, unknown>): VibePlugin | undefined {\n // Pattern 1: named export { vibePlugin }\n if (this.isVibePlugin(mod.vibePlugin)) {\n return mod.vibePlugin;\n }\n\n // Pattern 2: { default: { vibePlugin } }\n const defaultExport = mod.default as Record<string, unknown> | undefined;\n if (defaultExport && this.isVibePlugin(defaultExport.vibePlugin)) {\n return defaultExport.vibePlugin as VibePlugin;\n }\n\n // Pattern 3: { default: VibePlugin }\n if (this.isVibePlugin(defaultExport)) {\n return defaultExport as VibePlugin;\n }\n\n return undefined;\n }\n\n /**\n * Type guard: check if a value looks like a valid VibePlugin.\n */\n private isVibePlugin(value: unknown): value is VibePlugin {\n if (!value || typeof value !== \"object\") return false;\n const candidate = value as Record<string, unknown>;\n return (\n typeof candidate.name === \"string\" &&\n typeof candidate.version === \"string\"\n );\n }\n\n // ── Provider Registration ───────────────────────────────────────────\n\n /**\n * Register tunnel and session providers from a plugin into the\n * service registry.\n */\n private registerPluginProviders(\n plugin: VibePlugin,\n hostServices: HostServices,\n ): void {\n if (plugin.providers?.tunnel) {\n hostServices.serviceRegistry.registerProvider(\n \"tunnel\",\n plugin.providers.tunnel,\n plugin.name,\n );\n }\n if (plugin.providers?.session) {\n hostServices.serviceRegistry.registerProvider(\n \"session\",\n plugin.providers.session,\n plugin.name,\n );\n }\n }\n\n // ── Lifecycle Dispatch ──────────────────────────────────────────────\n\n /**\n * Dispatch onCliSetup to all loaded plugins (core + external).\n */\n async dispatchCliSetup(\n program: Command,\n hostServices: HostServices,\n ): Promise<void> {\n for (const plugin of this.getAllPlugins()) {\n if (plugin.onCliSetup) {\n try {\n await plugin.onCliSetup(program, hostServices);\n } catch (err) {\n logger.warn(\n \"plugin-manager\",\n `onCliSetup failed for ${plugin.name}: ${err}`,\n );\n }\n }\n }\n }\n\n /**\n * Dispatch onServerStart to all plugins (core + external).\n * Sorts by dependencies before dispatching. Registers providers first.\n */\n async dispatchServerStart(\n app: Elysia,\n hostServices: HostServices,\n ): Promise<void> {\n const sorted = this.sortAllByDependencies();\n\n for (const plugin of sorted) {\n // Register providers before calling onServerStart\n this.registerPluginProviders(plugin, hostServices);\n\n if (plugin.onServerStart) {\n try {\n await plugin.onServerStart(app, hostServices);\n } catch (err) {\n logger.error(\n \"plugin-manager\",\n `onServerStart failed for ${plugin.name}: ${err}`,\n );\n }\n }\n\n // Re-register providers after onServerStart — some plugins (e.g.\n // tunnel-cloudflare) only populate their providers bag at runtime\n // inside onServerStart, so the pre-start registration saw undefined.\n this.registerPluginProviders(plugin, hostServices);\n }\n }\n\n /**\n * Dispatch onServerReady to all plugins (core + external).\n */\n async dispatchServerReady(\n app: Elysia,\n hostServices: HostServices,\n ): Promise<void> {\n for (const plugin of this.getAllPlugins()) {\n if (plugin.onServerReady) {\n try {\n await plugin.onServerReady(app, hostServices);\n } catch (err) {\n logger.warn(\n \"plugin-manager\",\n `onServerReady failed for ${plugin.name}: ${err}`,\n );\n }\n }\n }\n }\n\n /**\n * Dispatch onServerStop to all plugins (core + external).\n */\n async dispatchServerStop(): Promise<void> {\n for (const plugin of this.getAllPlugins()) {\n if (plugin.onServerStop) {\n try {\n await plugin.onServerStop();\n } catch (err) {\n logger.warn(\n \"plugin-manager\",\n `onServerStop failed for ${plugin.name}: ${err}`,\n );\n }\n }\n }\n }\n\n /**\n * Reload all plugins: stop everything, clear state, reload registry,\n * reload core + external plugins, and restart.\n */\n async reloadAll(app: Elysia, hostServices: HostServices): Promise<void> {\n await this.dispatchServerStop();\n this.loaded.clear();\n this.corePlugins.clear();\n this.loadRegistry();\n await this.loadCorePlugins();\n await this.loadAll();\n await this.dispatchServerStart(app, hostServices);\n await this.dispatchServerReady(app, hostServices);\n }\n\n // ── Dependency Sorting ──────────────────────────────────────────────\n\n /**\n * Topological sort of ALL plugins (core + external, deduplicated)\n * respecting declared dependencies.\n */\n private sortAllByDependencies(): VibePlugin[] {\n const allPlugins = this.getAllPlugins();\n const pluginMap = new Map<string, VibePlugin>();\n for (const plugin of allPlugins) {\n pluginMap.set(plugin.name, plugin);\n }\n\n const visited = new Set<string>();\n const sorted: VibePlugin[] = [];\n\n const visit = (name: string) => {\n if (visited.has(name)) return;\n visited.add(name);\n\n const plugin = pluginMap.get(name);\n if (!plugin) return;\n\n if (plugin.dependencies) {\n for (const dep of plugin.dependencies) {\n if (pluginMap.has(dep)) {\n visit(dep);\n }\n }\n }\n\n sorted.push(plugin);\n };\n\n for (const plugin of allPlugins) {\n visit(plugin.name);\n }\n\n return sorted;\n }\n\n /**\n * Topological sort of external plugins only.\n * Returns [packageName, VibePlugin] pairs in dependency order.\n */\n private sortByDependencies(): Array<[string, VibePlugin]> {\n const entries = Array.from(this.loaded.entries());\n const nameToPackage = new Map<string, string>();\n for (const [pkg, plugin] of entries) {\n nameToPackage.set(plugin.name, pkg);\n }\n\n const visited = new Set<string>();\n const sorted: Array<[string, VibePlugin]> = [];\n\n const visit = (pkg: string) => {\n if (visited.has(pkg)) return;\n visited.add(pkg);\n\n const plugin = this.loaded.get(pkg);\n if (plugin?.dependencies) {\n for (const dep of plugin.dependencies) {\n const depPkg = nameToPackage.get(dep);\n if (depPkg && this.loaded.has(depPkg)) {\n visit(depPkg);\n }\n }\n }\n const loadedPlugin = this.loaded.get(pkg);\n if (loadedPlugin) {\n sorted.push([pkg, loadedPlugin]);\n }\n };\n\n for (const [pkg] of entries) {\n visit(pkg);\n }\n\n return sorted;\n }\n\n // ── Unified Lookup ──────────────────────────────────────────────────\n\n /**\n * Look up a plugin by its name across core and external.\n * External plugins win on conflict (override semantics).\n */\n getPluginByKey(key: string): VibePlugin | undefined {\n // Check external plugins first (they override core)\n for (const [, plugin] of this.loaded) {\n if (plugin.name === key) {\n return plugin;\n }\n }\n\n // Fall back to core plugins\n return this.corePlugins.get(key);\n }\n\n /**\n * Return all plugins (core + external), deduplicated by name.\n * External plugins override core plugins with the same name.\n */\n getAllPlugins(): VibePlugin[] {\n const merged = new Map<string, VibePlugin>();\n\n // Core first\n for (const [key, plugin] of this.corePlugins) {\n merged.set(key, plugin);\n }\n\n // External override core\n for (const [, plugin] of this.loaded) {\n merged.set(plugin.name, plugin);\n }\n\n return Array.from(merged.values());\n }\n\n /**\n * Return all plugins that have the specified tag.\n */\n getAllPluginsByTag(tag: PluginTag): VibePlugin[] {\n return this.getAllPlugins().filter(\n (plugin) => plugin.tags?.includes(tag) ?? false,\n );\n }\n\n // ── Plugin Chain Resolution ─────────────────────────────────────────\n\n /**\n * Walk tokens left-to-right, matching against all known plugin names.\n * First non-matching token (or flag starting with `-`) is treated as\n * the command.\n *\n * Examples:\n * tokens = [\"git\", \"commit\", \"-m\", \"msg\"]\n * → { chain: [\"git\"], command: \"commit\", args: [\"-m\", \"msg\"] }\n *\n * tokens = [\"agent\", \"config\", \"set\", \"key\", \"value\"]\n * → { chain: [\"agent\", \"config\"], command: \"set\", args: [\"key\", \"value\"] }\n *\n * tokens = [\"tunnel\"]\n * → { chain: [\"tunnel\"], command: \"\", args: [] }\n */\n resolvePluginChain(tokens: string[]): {\n chain: string[];\n command: string;\n args: string[];\n } {\n const allKeys = new Set<string>();\n for (const p of this.getAllPlugins()) {\n allKeys.add(p.name);\n }\n\n const chain: string[] = [];\n let commandIdx = -1;\n\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].startsWith(\"-\")) {\n // Flag — stop chain resolution\n commandIdx = i;\n break;\n }\n if (allKeys.has(tokens[i])) {\n chain.push(tokens[i]);\n } else {\n commandIdx = i;\n break;\n }\n }\n\n if (commandIdx === -1) {\n // All tokens were plugins, no command\n return { chain, command: \"\", args: [] };\n }\n\n return {\n chain,\n command: tokens[commandIdx],\n args: tokens.slice(commandIdx + 1),\n };\n }\n\n // ── Provider Defaults ───────────────────────────────────────────────\n\n /**\n * Get the default provider plugin name for a given provider type.\n * Reads from `provider:default:<type>` in the agent database.\n * Returns null if no default is set or db is not available.\n */\n getDefaultProvider(type: string): string | null {\n if (!this.db) return null;\n\n const value = this.db.getConfig(`${PROVIDER_DEFAULT_PREFIX}${type}`);\n return value ?? null;\n }\n\n /**\n * Set the default provider plugin name for a given provider type.\n * Writes `provider:default:<type>` to the agent database.\n * Throws if db is not available.\n */\n setDefaultProvider(type: string, pluginName: string): void {\n if (!this.db) {\n throw new Error(\n \"Cannot set default provider: PluginManager was constructed without a database reference\",\n );\n }\n\n // Verify the plugin exists\n const plugin = this.getPluginByKey(pluginName);\n if (!plugin) {\n throw new Error(`Plugin '${pluginName}' not found`);\n }\n\n this.db.setConfig(`${PROVIDER_DEFAULT_PREFIX}${type}`, pluginName);\n logger.info(\n \"plugin-manager\",\n `Set default '${type}' provider to '${pluginName}'`,\n );\n }\n\n // ── Introspection ───────────────────────────────────────────────────\n\n /**\n * Get detailed information about all plugins (core + external).\n * Deduplicated — external overrides core by plugin name.\n */\n getPluginDetails(): PluginInfo[] {\n const coreInfos = this.getCorePluginDetails();\n const externalInfos = this.getExternalPluginDetails();\n\n // Deduplicate: external overrides core by pluginName\n const merged = new Map<string, PluginInfo>();\n for (const info of coreInfos) {\n merged.set(info.pluginName, info);\n }\n for (const info of externalInfos) {\n merged.set(info.pluginName, info);\n }\n\n return Array.from(merged.values());\n }\n\n /**\n * Build PluginInfo entries for all core plugins.\n */\n private getCorePluginDetails(): PluginInfo[] {\n const infos: PluginInfo[] = [];\n\n for (const [name, plugin] of this.corePlugins) {\n infos.push({\n packageName: `@vibecontrols/plugin-${name}`,\n pluginName: name,\n version: plugin.version,\n description: plugin.description,\n tags: plugin.tags,\n cliCommand: plugin.cliCommand,\n apiPrefix: plugin.apiPrefix,\n dependencies: plugin.dependencies,\n installedAt: \"\",\n loaded: true,\n isCore: true,\n hasUI: !!plugin.ui,\n uiUrl: plugin.ui ? `/ui/${name}` : undefined,\n hasCliSetup: !!plugin.onCliSetup,\n hasServerStart: !!plugin.onServerStart,\n hasServerStop: !!plugin.onServerStop,\n hasServerReady: !!plugin.onServerReady,\n hasProviders: !!(plugin.providers?.tunnel || plugin.providers?.session),\n });\n }\n\n return infos;\n }\n\n /**\n * Build PluginInfo entries for all external (installed) plugins.\n */\n private getExternalPluginDetails(): PluginInfo[] {\n return this.registry.map((entry) => {\n const plugin = this.loaded.get(entry.packageName);\n return {\n packageName: entry.packageName,\n pluginName: entry.pluginName,\n version: plugin?.version ?? entry.version,\n description: plugin?.description,\n tags: plugin?.tags,\n cliCommand: plugin?.cliCommand,\n apiPrefix: plugin?.apiPrefix,\n dependencies: plugin?.dependencies,\n installedAt: entry.installedAt,\n loaded: !!plugin,\n isCore: false,\n hasUI: !!plugin?.ui,\n uiUrl: plugin?.ui ? `/ui/${entry.pluginName}` : undefined,\n hasCliSetup: !!plugin?.onCliSetup,\n hasServerStart: !!plugin?.onServerStart,\n hasServerStop: !!plugin?.onServerStop,\n hasServerReady: !!plugin?.onServerReady,\n hasProviders: !!(\n plugin?.providers?.tunnel || plugin?.providers?.session\n ),\n };\n });\n }\n\n /**\n * Get the external plugin registry entries.\n */\n getRegistry(): PluginEntry[] {\n return [...this.registry];\n }\n\n /**\n * Get an external loaded plugin by package name.\n */\n getLoaded(packageName: string): VibePlugin | undefined {\n return this.loaded.get(packageName);\n }\n\n /**\n * Get all externally loaded plugins (Map keyed by packageName).\n */\n getAllLoaded(): Map<string, VibePlugin> {\n return new Map(this.loaded);\n }\n\n /**\n * Check if a package is installed in the external registry.\n */\n isInstalled(packageName: string): boolean {\n return this.registry.some((e) => e.packageName === packageName);\n }\n\n /**\n * Check if a package is loaded in the external plugins map.\n */\n isLoaded(packageName: string): boolean {\n return this.loaded.has(packageName);\n }\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "B63838C4965057F664756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
File without changes
|
|
File without changes
|