@openacp/cli 2026.327.3 → 2026.328.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -13
- package/dist/adapter-HGJENQCN.js +13 -0
- package/dist/agent-catalog-SZQQERV7.js +10 -0
- package/dist/{agent-dependencies-WS7Z2DFW.js → agent-dependencies-ED2ZTUHG.js} +1 -2
- package/dist/{agent-registry-5LZT7CUB.js → agent-registry-YOGP656W.js} +1 -2
- package/dist/agent-store-5UHZH2XI.js +8 -0
- package/dist/{api-client-AQPNKXI2.js → api-client-XTLRRFPX.js} +1 -2
- package/dist/api-server-DSUW637I.js +7 -0
- package/dist/api-server-WFB5K6FP.js +10 -0
- package/dist/{autostart-6JS565RY.js → autostart-CUPZMKKC.js} +3 -4
- package/dist/{chunk-WIIZNPCR.js → chunk-2KT6TROD.js} +12 -33
- package/dist/chunk-2KT6TROD.js.map +1 -0
- package/dist/{chunk-PPSMUECX.js → chunk-2R5XM3ES.js} +2 -2
- package/dist/{chunk-SNPYTMPR.js → chunk-3EWTPOF7.js} +2 -2
- package/dist/{chunk-YEULD3SG.js → chunk-3NAFXVQM.js} +7 -2
- package/dist/{chunk-YEULD3SG.js.map → chunk-3NAFXVQM.js.map} +1 -1
- package/dist/{chunk-QAQDGPB4.js → chunk-43JVXFYP.js} +3 -3
- package/dist/{chunk-KMMEFXIE.js → chunk-4B6PCWQP.js} +37 -9
- package/dist/chunk-4B6PCWQP.js.map +1 -0
- package/dist/{chunk-A6Y4GZM3.js → chunk-566W6INH.js} +2 -2
- package/dist/{chunk-ODUM3D6X.js → chunk-5HKQCYOI.js} +1 -39
- package/dist/chunk-5HKQCYOI.js.map +1 -0
- package/dist/{chunk-36YQ44D7.js → chunk-5TCXYDLR.js} +3 -3
- package/dist/{chunk-XIBG7LSL.js → chunk-6VR4GWOO.js} +238 -108
- package/dist/chunk-6VR4GWOO.js.map +1 -0
- package/dist/{chunk-WXVT3AOY.js → chunk-7ZCQF6QM.js} +8 -3
- package/dist/chunk-7ZCQF6QM.js.map +1 -0
- package/dist/{chunk-HUWOFP2H.js → chunk-E2SLHZAC.js} +8 -12
- package/dist/{chunk-HUWOFP2H.js.map → chunk-E2SLHZAC.js.map} +1 -1
- package/dist/{chunk-RBYBSSGO.js → chunk-FCTC7KDT.js} +2 -2
- package/dist/chunk-I53NEV3S.js +45 -0
- package/dist/chunk-I53NEV3S.js.map +1 -0
- package/dist/{chunk-2YCW3QDV.js → chunk-IXMIC4GQ.js} +8 -7
- package/dist/chunk-IXMIC4GQ.js.map +1 -0
- package/dist/{chunk-BLQUXO7S.js → chunk-IZ5UEZF7.js} +27 -2
- package/dist/chunk-IZ5UEZF7.js.map +1 -0
- package/dist/{chunk-QVMEF6FB.js → chunk-JOMDPFQ2.js} +10 -24
- package/dist/chunk-JOMDPFQ2.js.map +1 -0
- package/dist/{chunk-4GMLGCF2.js → chunk-JUFN4XMB.js} +2 -2
- package/dist/{chunk-AD3X6DGK.js → chunk-NT6FYV27.js} +75 -13
- package/dist/chunk-NT6FYV27.js.map +1 -0
- package/dist/{chunk-UMT7RU77.js → chunk-QBEQJFGL.js} +9 -9
- package/dist/{chunk-XMMAGAT4.js → chunk-R6KZYF7D.js} +8 -1
- package/dist/{chunk-XMMAGAT4.js.map → chunk-R6KZYF7D.js.map} +1 -1
- package/dist/{chunk-LP45RCA4.js → chunk-RXMWJHWH.js} +1007 -495
- package/dist/chunk-RXMWJHWH.js.map +1 -0
- package/dist/{chunk-SHTGQGAU.js → chunk-V2YZWYXT.js} +3 -3
- package/dist/{chunk-BQ6FR32N.js → chunk-VD3QSMVY.js} +2 -2
- package/dist/cli.js +141 -115
- package/dist/cli.js.map +1 -1
- package/dist/{config-I4FMCJGZ.js → config-UCAFCS5W.js} +3 -4
- package/dist/config-editor-OU6PUY66.js +10 -0
- package/dist/{config-registry-CUMNXFGK.js → config-registry-ZXAIJNYB.js} +2 -3
- package/dist/{context-XM6E22LM.js → context-7MPU7RL5.js} +1 -2
- package/dist/core-plugins-R2EVZAJV.js +22 -0
- package/dist/{daemon-PXO5QPCR.js → daemon-DTA6KYYY.js} +4 -5
- package/dist/{dev-loader-DRU3R7ZM.js → dev-loader-7P3HZCIA.js} +1 -3
- package/dist/{dev-loader-DRU3R7ZM.js.map → dev-loader-7P3HZCIA.js.map} +1 -1
- package/dist/doctor-D723IB2I.js +9 -0
- package/dist/file-service-HHB3JQIO.js +8 -0
- package/dist/index.d.ts +41 -150
- package/dist/index.js +63 -29
- package/dist/index.js.map +1 -1
- package/dist/{install-cloudflared-AN24L4DP.js → install-cloudflared-JRJ4BSOM.js} +3 -4
- package/dist/{install-cloudflared-AN24L4DP.js.map → install-cloudflared-JRJ4BSOM.js.map} +1 -1
- package/dist/{install-context-XPWTFT3J.js → install-context-EHYV5WRY.js} +2 -3
- package/dist/{install-context-XPWTFT3J.js.map → install-context-EHYV5WRY.js.map} +1 -1
- package/dist/{install-jq-CRVDJGF3.js → install-jq-ISTGT263.js} +3 -4
- package/dist/{install-jq-CRVDJGF3.js.map → install-jq-ISTGT263.js.map} +1 -1
- package/dist/{integrate-G6CVXTGT.js → integrate-JIEZYDOR.js} +1 -2
- package/dist/{integrate-G6CVXTGT.js.map → integrate-JIEZYDOR.js.map} +1 -1
- package/dist/{log-LZ7FTRKG.js → log-YZ243M5G.js} +4 -3
- package/dist/{main-UVTZ46WP.js → main-RRSX5SRL.js} +117 -40
- package/dist/main-RRSX5SRL.js.map +1 -0
- package/dist/{menu-YDQ2LWAR.js → menu-ALFN37IR.js} +1 -2
- package/dist/notifications-MO23S7S3.js +8 -0
- package/dist/{plugin-create-5HQRF2ID.js → plugin-create-EHL76ZZG.js} +1 -2
- package/dist/{plugin-create-5HQRF2ID.js.map → plugin-create-EHL76ZZG.js.map} +1 -1
- package/dist/plugin-installer-5XHORMLS.js +9 -0
- package/dist/{plugin-registry-WB3DR67H.js → plugin-registry-6J3YSFHF.js} +1 -2
- package/dist/{plugin-search-HQ4WQKOF.js → plugin-search-MGKAL5JM.js} +1 -2
- package/dist/{plugin-search-HQ4WQKOF.js.map → plugin-search-MGKAL5JM.js.map} +1 -1
- package/dist/{post-upgrade-3ADZRMYJ.js → post-upgrade-Y26S2ZQ7.js} +6 -7
- package/dist/{post-upgrade-3ADZRMYJ.js.map → post-upgrade-Y26S2ZQ7.js.map} +1 -1
- package/dist/{read-text-file-IRZM3QLM.js → read-text-file-DJBTITIB.js} +1 -2
- package/dist/{registry-client-AVGRE4CF.js → registry-client-GTBWLXYU.js} +1 -2
- package/dist/{security-YNRBW6S7.js → security-2BA265LN.js} +1 -2
- package/dist/{settings-manager-MD2U4ZV2.js → settings-manager-B4UN2LAC.js} +1 -2
- package/dist/{setup-EYAFK2WI.js → setup-OI6A3OXW.js} +109 -80
- package/dist/setup-OI6A3OXW.js.map +1 -0
- package/dist/speech-GB7PHVQZ.js +9 -0
- package/dist/{suggest-7D6B542M.js → suggest-RST5VOHB.js} +1 -3
- package/dist/{suggest-7D6B542M.js.map → suggest-RST5VOHB.js.map} +1 -1
- package/dist/telegram-UVIAXADE.js +7 -0
- package/dist/tunnel-4WNFC7GO.js +7 -0
- package/dist/{tunnel-service-QJPUYEKU.js → tunnel-service-I2NFUX3V.js} +3 -4
- package/dist/{tunnel-service-QJPUYEKU.js.map → tunnel-service-I2NFUX3V.js.map} +1 -1
- package/dist/{validators-WSTBNKRW.js → validators-GITLOFXC.js} +1 -2
- package/dist/{version-NQZBM5M7.js → version-AXXV6IV2.js} +1 -2
- package/package.json +1 -3
- package/dist/adapter-LC2QSDAS.js +0 -15
- package/dist/adapter-Y55NXX6I.js +0 -1006
- package/dist/adapter-Y55NXX6I.js.map +0 -1
- package/dist/agent-catalog-YHBFERYO.js +0 -11
- package/dist/agent-store-VSHNY5GT.js +0 -9
- package/dist/api-server-7G3ZUZRM.js +0 -8
- package/dist/api-server-CAYNPUF2.js +0 -11
- package/dist/chunk-2YCW3QDV.js.map +0 -1
- package/dist/chunk-3ASUU6WW.js +0 -124
- package/dist/chunk-3ASUU6WW.js.map +0 -1
- package/dist/chunk-AD3X6DGK.js.map +0 -1
- package/dist/chunk-BLQUXO7S.js.map +0 -1
- package/dist/chunk-KMMEFXIE.js.map +0 -1
- package/dist/chunk-LP45RCA4.js.map +0 -1
- package/dist/chunk-ODUM3D6X.js.map +0 -1
- package/dist/chunk-QVMEF6FB.js.map +0 -1
- package/dist/chunk-TRXBJEZ5.js +0 -447
- package/dist/chunk-TRXBJEZ5.js.map +0 -1
- package/dist/chunk-VUNV25KB.js +0 -16
- package/dist/chunk-WIIZNPCR.js.map +0 -1
- package/dist/chunk-WXVT3AOY.js.map +0 -1
- package/dist/chunk-XIBG7LSL.js.map +0 -1
- package/dist/config-editor-3IKBPZA7.js +0 -11
- package/dist/core-plugins-ROU4GPLT.js +0 -23
- package/dist/dist-UHQK5CXN.js +0 -21151
- package/dist/dist-UHQK5CXN.js.map +0 -1
- package/dist/doctor-QZQAP46W.js +0 -10
- package/dist/file-service-EUODJAIT.js +0 -9
- package/dist/main-UVTZ46WP.js.map +0 -1
- package/dist/notifications-D5BRDNSU.js +0 -9
- package/dist/plugin-installer-GQ2P3Q3E.js +0 -23
- package/dist/plugin-installer-GQ2P3Q3E.js.map +0 -1
- package/dist/setup-EYAFK2WI.js.map +0 -1
- package/dist/slack-37ZWBDUI.js +0 -8
- package/dist/speech-2GHQNRIO.js +0 -9
- package/dist/telegram-2ZCCCZIY.js +0 -8
- package/dist/tunnel-45HA72MB.js +0 -8
- package/dist/version-NQZBM5M7.js.map +0 -1
- /package/dist/{adapter-LC2QSDAS.js.map → adapter-HGJENQCN.js.map} +0 -0
- /package/dist/{agent-catalog-YHBFERYO.js.map → agent-catalog-SZQQERV7.js.map} +0 -0
- /package/dist/{agent-dependencies-WS7Z2DFW.js.map → agent-dependencies-ED2ZTUHG.js.map} +0 -0
- /package/dist/{agent-registry-5LZT7CUB.js.map → agent-registry-YOGP656W.js.map} +0 -0
- /package/dist/{agent-store-VSHNY5GT.js.map → agent-store-5UHZH2XI.js.map} +0 -0
- /package/dist/{api-client-AQPNKXI2.js.map → api-client-XTLRRFPX.js.map} +0 -0
- /package/dist/{api-server-7G3ZUZRM.js.map → api-server-DSUW637I.js.map} +0 -0
- /package/dist/{api-server-CAYNPUF2.js.map → api-server-WFB5K6FP.js.map} +0 -0
- /package/dist/{autostart-6JS565RY.js.map → autostart-CUPZMKKC.js.map} +0 -0
- /package/dist/{chunk-PPSMUECX.js.map → chunk-2R5XM3ES.js.map} +0 -0
- /package/dist/{chunk-SNPYTMPR.js.map → chunk-3EWTPOF7.js.map} +0 -0
- /package/dist/{chunk-QAQDGPB4.js.map → chunk-43JVXFYP.js.map} +0 -0
- /package/dist/{chunk-A6Y4GZM3.js.map → chunk-566W6INH.js.map} +0 -0
- /package/dist/{chunk-36YQ44D7.js.map → chunk-5TCXYDLR.js.map} +0 -0
- /package/dist/{chunk-RBYBSSGO.js.map → chunk-FCTC7KDT.js.map} +0 -0
- /package/dist/{chunk-4GMLGCF2.js.map → chunk-JUFN4XMB.js.map} +0 -0
- /package/dist/{chunk-UMT7RU77.js.map → chunk-QBEQJFGL.js.map} +0 -0
- /package/dist/{chunk-SHTGQGAU.js.map → chunk-V2YZWYXT.js.map} +0 -0
- /package/dist/{chunk-BQ6FR32N.js.map → chunk-VD3QSMVY.js.map} +0 -0
- /package/dist/{chunk-VUNV25KB.js.map → config-UCAFCS5W.js.map} +0 -0
- /package/dist/{config-I4FMCJGZ.js.map → config-editor-OU6PUY66.js.map} +0 -0
- /package/dist/{config-editor-3IKBPZA7.js.map → config-registry-ZXAIJNYB.js.map} +0 -0
- /package/dist/{config-registry-CUMNXFGK.js.map → context-7MPU7RL5.js.map} +0 -0
- /package/dist/{context-XM6E22LM.js.map → core-plugins-R2EVZAJV.js.map} +0 -0
- /package/dist/{core-plugins-ROU4GPLT.js.map → daemon-DTA6KYYY.js.map} +0 -0
- /package/dist/{daemon-PXO5QPCR.js.map → doctor-D723IB2I.js.map} +0 -0
- /package/dist/{doctor-QZQAP46W.js.map → file-service-HHB3JQIO.js.map} +0 -0
- /package/dist/{file-service-EUODJAIT.js.map → log-YZ243M5G.js.map} +0 -0
- /package/dist/{log-LZ7FTRKG.js.map → menu-ALFN37IR.js.map} +0 -0
- /package/dist/{menu-YDQ2LWAR.js.map → notifications-MO23S7S3.js.map} +0 -0
- /package/dist/{notifications-D5BRDNSU.js.map → plugin-installer-5XHORMLS.js.map} +0 -0
- /package/dist/{plugin-registry-WB3DR67H.js.map → plugin-registry-6J3YSFHF.js.map} +0 -0
- /package/dist/{read-text-file-IRZM3QLM.js.map → read-text-file-DJBTITIB.js.map} +0 -0
- /package/dist/{registry-client-AVGRE4CF.js.map → registry-client-GTBWLXYU.js.map} +0 -0
- /package/dist/{security-YNRBW6S7.js.map → security-2BA265LN.js.map} +0 -0
- /package/dist/{settings-manager-MD2U4ZV2.js.map → settings-manager-B4UN2LAC.js.map} +0 -0
- /package/dist/{slack-37ZWBDUI.js.map → speech-GB7PHVQZ.js.map} +0 -0
- /package/dist/{speech-2GHQNRIO.js.map → telegram-UVIAXADE.js.map} +0 -0
- /package/dist/{telegram-2ZCCCZIY.js.map → tunnel-4WNFC7GO.js.map} +0 -0
- /package/dist/{tunnel-45HA72MB.js.map → validators-GITLOFXC.js.map} +0 -0
- /package/dist/{validators-WSTBNKRW.js.map → version-AXXV6IV2.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -13,9 +13,8 @@ import {
|
|
|
13
13
|
} from "./chunk-S64CB6J3.js";
|
|
14
14
|
import {
|
|
15
15
|
PLUGINS_DIR
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-VUNV25KB.js";
|
|
16
|
+
} from "./chunk-JOMDPFQ2.js";
|
|
17
|
+
import "./chunk-R6KZYF7D.js";
|
|
19
18
|
|
|
20
19
|
// src/cli.ts
|
|
21
20
|
import { setDefaultAutoSelectFamily } from "net";
|
|
@@ -100,7 +99,7 @@ Connect messaging platforms (Telegram, Discord) to 28+ AI coding agents via ACP
|
|
|
100
99
|
|
|
101
100
|
// src/cli/commands/version.ts
|
|
102
101
|
async function cmdVersion() {
|
|
103
|
-
const { getCurrentVersion: getCurrentVersion2 } = await import("./version-
|
|
102
|
+
const { getCurrentVersion: getCurrentVersion2 } = await import("./version-AXXV6IV2.js");
|
|
104
103
|
console.log(`openacp v${getCurrentVersion2()}`);
|
|
105
104
|
}
|
|
106
105
|
|
|
@@ -207,10 +206,10 @@ Shows all plugins registered in the plugin registry.
|
|
|
207
206
|
`);
|
|
208
207
|
return;
|
|
209
208
|
}
|
|
210
|
-
const
|
|
211
|
-
const
|
|
212
|
-
const { PluginRegistry } = await import("./plugin-registry-
|
|
213
|
-
const registryPath =
|
|
209
|
+
const os3 = await import("os");
|
|
210
|
+
const path6 = await import("path");
|
|
211
|
+
const { PluginRegistry } = await import("./plugin-registry-6J3YSFHF.js");
|
|
212
|
+
const registryPath = path6.join(os3.homedir(), ".openacp", "plugins.json");
|
|
214
213
|
const registry = new PluginRegistry(registryPath);
|
|
215
214
|
await registry.load();
|
|
216
215
|
const plugins = registry.list();
|
|
@@ -257,7 +256,7 @@ async function cmdPlugin(args2 = []) {
|
|
|
257
256
|
case "list":
|
|
258
257
|
return cmdPlugins(args2.slice(1));
|
|
259
258
|
case "search": {
|
|
260
|
-
const { cmdPluginSearch } = await import("./plugin-search-
|
|
259
|
+
const { cmdPluginSearch } = await import("./plugin-search-MGKAL5JM.js");
|
|
261
260
|
await cmdPluginSearch(args2.slice(2));
|
|
262
261
|
return;
|
|
263
262
|
}
|
|
@@ -310,7 +309,7 @@ async function cmdPlugin(args2 = []) {
|
|
|
310
309
|
return;
|
|
311
310
|
}
|
|
312
311
|
case "create": {
|
|
313
|
-
const { cmdPluginCreate } = await import("./plugin-create-
|
|
312
|
+
const { cmdPluginCreate } = await import("./plugin-create-EHL76ZZG.js");
|
|
314
313
|
await cmdPluginCreate();
|
|
315
314
|
return;
|
|
316
315
|
}
|
|
@@ -321,10 +320,10 @@ async function cmdPlugin(args2 = []) {
|
|
|
321
320
|
}
|
|
322
321
|
}
|
|
323
322
|
async function setPluginEnabled(name, enabled) {
|
|
324
|
-
const
|
|
325
|
-
const
|
|
326
|
-
const { PluginRegistry } = await import("./plugin-registry-
|
|
327
|
-
const registryPath =
|
|
323
|
+
const os3 = await import("os");
|
|
324
|
+
const path6 = await import("path");
|
|
325
|
+
const { PluginRegistry } = await import("./plugin-registry-6J3YSFHF.js");
|
|
326
|
+
const registryPath = path6.join(os3.homedir(), ".openacp", "plugins.json");
|
|
328
327
|
const registry = new PluginRegistry(registryPath);
|
|
329
328
|
await registry.load();
|
|
330
329
|
const entry = registry.get(name);
|
|
@@ -337,17 +336,17 @@ async function setPluginEnabled(name, enabled) {
|
|
|
337
336
|
console.log(`Plugin ${name} ${enabled ? "enabled" : "disabled"}. Restart to apply.`);
|
|
338
337
|
}
|
|
339
338
|
async function configurePlugin(name) {
|
|
340
|
-
const
|
|
341
|
-
const
|
|
342
|
-
const { corePlugins } = await import("./core-plugins-
|
|
343
|
-
const { SettingsManager } = await import("./settings-manager-
|
|
344
|
-
const { createInstallContext } = await import("./install-context-
|
|
339
|
+
const os3 = await import("os");
|
|
340
|
+
const path6 = await import("path");
|
|
341
|
+
const { corePlugins } = await import("./core-plugins-R2EVZAJV.js");
|
|
342
|
+
const { SettingsManager } = await import("./settings-manager-B4UN2LAC.js");
|
|
343
|
+
const { createInstallContext } = await import("./install-context-EHYV5WRY.js");
|
|
345
344
|
const plugin = corePlugins.find((p) => p.name === name);
|
|
346
345
|
if (!plugin) {
|
|
347
346
|
console.error(`Plugin "${name}" not found.`);
|
|
348
347
|
process.exit(1);
|
|
349
348
|
}
|
|
350
|
-
const basePath =
|
|
349
|
+
const basePath = path6.join(os3.homedir(), ".openacp", "plugins", "data");
|
|
351
350
|
const settingsManager = new SettingsManager(basePath);
|
|
352
351
|
const ctx = createInstallContext({ pluginName: name, settingsManager, basePath });
|
|
353
352
|
if (plugin.configure) {
|
|
@@ -359,13 +358,13 @@ async function configurePlugin(name) {
|
|
|
359
358
|
}
|
|
360
359
|
}
|
|
361
360
|
async function installPlugin(input) {
|
|
362
|
-
const
|
|
363
|
-
const
|
|
364
|
-
const {
|
|
365
|
-
const { getCurrentVersion: getCurrentVersion2 } = await import("./version-
|
|
366
|
-
const { SettingsManager } = await import("./settings-manager-
|
|
367
|
-
const { createInstallContext } = await import("./install-context-
|
|
368
|
-
const { PluginRegistry } = await import("./plugin-registry-
|
|
361
|
+
const os3 = await import("os");
|
|
362
|
+
const path6 = await import("path");
|
|
363
|
+
const { execFileSync } = await import("child_process");
|
|
364
|
+
const { getCurrentVersion: getCurrentVersion2 } = await import("./version-AXXV6IV2.js");
|
|
365
|
+
const { SettingsManager } = await import("./settings-manager-B4UN2LAC.js");
|
|
366
|
+
const { createInstallContext } = await import("./install-context-EHYV5WRY.js");
|
|
367
|
+
const { PluginRegistry } = await import("./plugin-registry-6J3YSFHF.js");
|
|
369
368
|
let pkgName;
|
|
370
369
|
let pkgVersion;
|
|
371
370
|
if (input.startsWith("@")) {
|
|
@@ -391,7 +390,7 @@ async function installPlugin(input) {
|
|
|
391
390
|
pkgName = input;
|
|
392
391
|
}
|
|
393
392
|
}
|
|
394
|
-
const { RegistryClient } = await import("./registry-client-
|
|
393
|
+
const { RegistryClient } = await import("./registry-client-GTBWLXYU.js");
|
|
395
394
|
const client = new RegistryClient();
|
|
396
395
|
let registryPlugin = null;
|
|
397
396
|
try {
|
|
@@ -408,11 +407,11 @@ async function installPlugin(input) {
|
|
|
408
407
|
}
|
|
409
408
|
const installSpec = pkgVersion ? `${pkgName}@${pkgVersion}` : pkgName;
|
|
410
409
|
console.log(`Installing ${installSpec}...`);
|
|
411
|
-
const { corePlugins } = await import("./core-plugins-
|
|
410
|
+
const { corePlugins } = await import("./core-plugins-R2EVZAJV.js");
|
|
412
411
|
const builtinPlugin = corePlugins.find((p) => p.name === pkgName);
|
|
413
|
-
const basePath =
|
|
412
|
+
const basePath = path6.join(os3.homedir(), ".openacp", "plugins", "data");
|
|
414
413
|
const settingsManager = new SettingsManager(basePath);
|
|
415
|
-
const registryPath =
|
|
414
|
+
const registryPath = path6.join(os3.homedir(), ".openacp", "plugins.json");
|
|
416
415
|
const pluginRegistry = new PluginRegistry(registryPath);
|
|
417
416
|
await pluginRegistry.load();
|
|
418
417
|
if (builtinPlugin) {
|
|
@@ -431,10 +430,10 @@ async function installPlugin(input) {
|
|
|
431
430
|
console.log(`\u2713 ${builtinPlugin.name} installed! Restart to activate.`);
|
|
432
431
|
return;
|
|
433
432
|
}
|
|
434
|
-
const pluginsDir =
|
|
435
|
-
const nodeModulesDir =
|
|
433
|
+
const pluginsDir = path6.join(os3.homedir(), ".openacp", "plugins");
|
|
434
|
+
const nodeModulesDir = path6.join(pluginsDir, "node_modules");
|
|
436
435
|
try {
|
|
437
|
-
|
|
436
|
+
execFileSync("npm", ["install", installSpec, "--prefix", pluginsDir, "--save"], {
|
|
438
437
|
stdio: "inherit",
|
|
439
438
|
timeout: 6e4
|
|
440
439
|
});
|
|
@@ -443,13 +442,15 @@ async function installPlugin(input) {
|
|
|
443
442
|
process.exit(1);
|
|
444
443
|
}
|
|
445
444
|
const cliVersion = getCurrentVersion2();
|
|
445
|
+
const isLocalPath = pkgName.startsWith("/") || pkgName.startsWith(".");
|
|
446
446
|
try {
|
|
447
|
-
const
|
|
447
|
+
const pluginRoot = isLocalPath ? path6.resolve(pkgName) : path6.join(nodeModulesDir, pkgName);
|
|
448
|
+
const installedPkgPath = path6.join(pluginRoot, "package.json");
|
|
448
449
|
const { readFileSync } = await import("fs");
|
|
449
450
|
const installedPkg = JSON.parse(readFileSync(installedPkgPath, "utf-8"));
|
|
450
451
|
const minVersion = installedPkg.engines?.openacp?.replace(/[>=^~\s]/g, "");
|
|
451
452
|
if (minVersion) {
|
|
452
|
-
const { compareVersions: compareVersions2 } = await import("./version-
|
|
453
|
+
const { compareVersions: compareVersions2 } = await import("./version-AXXV6IV2.js");
|
|
453
454
|
if (compareVersions2(cliVersion, minVersion) < 0) {
|
|
454
455
|
console.log(`
|
|
455
456
|
\u26A0\uFE0F This plugin requires OpenACP >= ${minVersion}. You have ${cliVersion}.`);
|
|
@@ -457,7 +458,7 @@ async function installPlugin(input) {
|
|
|
457
458
|
`);
|
|
458
459
|
}
|
|
459
460
|
}
|
|
460
|
-
const pluginModule = await import(
|
|
461
|
+
const pluginModule = await import(path6.join(pluginRoot, installedPkg.main ?? "dist/index.js"));
|
|
461
462
|
const plugin = pluginModule.default;
|
|
462
463
|
if (plugin?.install) {
|
|
463
464
|
const ctx = createInstallContext({ pluginName: plugin.name ?? pkgName, settingsManager, basePath });
|
|
@@ -484,11 +485,11 @@ async function installPlugin(input) {
|
|
|
484
485
|
}
|
|
485
486
|
}
|
|
486
487
|
async function uninstallPlugin(name, purge) {
|
|
487
|
-
const
|
|
488
|
-
const
|
|
488
|
+
const os3 = await import("os");
|
|
489
|
+
const path6 = await import("path");
|
|
489
490
|
const fs4 = await import("fs");
|
|
490
|
-
const { PluginRegistry } = await import("./plugin-registry-
|
|
491
|
-
const registryPath =
|
|
491
|
+
const { PluginRegistry } = await import("./plugin-registry-6J3YSFHF.js");
|
|
492
|
+
const registryPath = path6.join(os3.homedir(), ".openacp", "plugins.json");
|
|
492
493
|
const registry = new PluginRegistry(registryPath);
|
|
493
494
|
await registry.load();
|
|
494
495
|
const entry = registry.get(name);
|
|
@@ -501,12 +502,12 @@ async function uninstallPlugin(name, purge) {
|
|
|
501
502
|
process.exit(1);
|
|
502
503
|
}
|
|
503
504
|
try {
|
|
504
|
-
const { corePlugins } = await import("./core-plugins-
|
|
505
|
+
const { corePlugins } = await import("./core-plugins-R2EVZAJV.js");
|
|
505
506
|
const plugin = corePlugins.find((p) => p.name === name);
|
|
506
507
|
if (plugin?.uninstall) {
|
|
507
|
-
const { SettingsManager } = await import("./settings-manager-
|
|
508
|
-
const { createInstallContext } = await import("./install-context-
|
|
509
|
-
const basePath =
|
|
508
|
+
const { SettingsManager } = await import("./settings-manager-B4UN2LAC.js");
|
|
509
|
+
const { createInstallContext } = await import("./install-context-EHYV5WRY.js");
|
|
510
|
+
const basePath = path6.join(os3.homedir(), ".openacp", "plugins", "data");
|
|
510
511
|
const settingsManager = new SettingsManager(basePath);
|
|
511
512
|
const ctx = createInstallContext({ pluginName: name, settingsManager, basePath });
|
|
512
513
|
await plugin.uninstall(ctx, { purge });
|
|
@@ -514,7 +515,7 @@ async function uninstallPlugin(name, purge) {
|
|
|
514
515
|
} catch {
|
|
515
516
|
}
|
|
516
517
|
if (purge) {
|
|
517
|
-
const pluginDir =
|
|
518
|
+
const pluginDir = path6.join(os3.homedir(), ".openacp", "plugins", name);
|
|
518
519
|
fs4.rmSync(pluginDir, { recursive: true, force: true });
|
|
519
520
|
}
|
|
520
521
|
registry.remove(name);
|
|
@@ -920,18 +921,19 @@ Shows the version of the currently running daemon process.
|
|
|
920
921
|
console.error(`Error: ${data.error}`);
|
|
921
922
|
process.exit(1);
|
|
922
923
|
}
|
|
924
|
+
const s = data.session ?? data;
|
|
923
925
|
console.log(`Session details:`);
|
|
924
|
-
console.log(` ID : ${
|
|
925
|
-
console.log(` Agent : ${
|
|
926
|
-
console.log(` Status : ${
|
|
927
|
-
console.log(` Name : ${
|
|
928
|
-
console.log(` Workspace : ${
|
|
929
|
-
console.log(` Created : ${
|
|
930
|
-
console.log(` Dangerous : ${
|
|
931
|
-
console.log(` Queue depth : ${
|
|
932
|
-
console.log(` Prompt active : ${
|
|
933
|
-
console.log(` Channel : ${
|
|
934
|
-
console.log(` Thread : ${
|
|
926
|
+
console.log(` ID : ${s.id}`);
|
|
927
|
+
console.log(` Agent : ${s.agent}`);
|
|
928
|
+
console.log(` Status : ${s.status}`);
|
|
929
|
+
console.log(` Name : ${s.name ?? "(none)"}`);
|
|
930
|
+
console.log(` Workspace : ${s.workspace}`);
|
|
931
|
+
console.log(` Created : ${s.createdAt}`);
|
|
932
|
+
console.log(` Dangerous : ${s.dangerousMode}`);
|
|
933
|
+
console.log(` Queue depth : ${s.queueDepth}`);
|
|
934
|
+
console.log(` Prompt active : ${s.promptRunning}`);
|
|
935
|
+
console.log(` Channel : ${s.channelId ?? "(none)"}`);
|
|
936
|
+
console.log(` Thread : ${s.threadId ?? "(none)"}`);
|
|
935
937
|
} else if (subCmd === "dangerous") {
|
|
936
938
|
const sessionId = args2[2];
|
|
937
939
|
if (!sessionId) {
|
|
@@ -962,19 +964,23 @@ Shows the version of the currently running daemon process.
|
|
|
962
964
|
console.error(`Error: ${data.error}`);
|
|
963
965
|
process.exit(1);
|
|
964
966
|
}
|
|
965
|
-
const
|
|
967
|
+
const uptimeMs = typeof data.uptime === "number" ? data.uptime : 0;
|
|
968
|
+
const uptimeSeconds = Math.floor(uptimeMs / 1e3);
|
|
966
969
|
const hours = Math.floor(uptimeSeconds / 3600);
|
|
967
970
|
const minutes = Math.floor(uptimeSeconds % 3600 / 60);
|
|
968
|
-
const
|
|
969
|
-
const memoryMB = (
|
|
971
|
+
const mem = data.memory;
|
|
972
|
+
const memoryMB = mem ? (mem.rss / 1024 / 1024).toFixed(1) : "0.0";
|
|
970
973
|
const sessions = data.sessions ?? {};
|
|
974
|
+
const tunnel = data.tunnel;
|
|
975
|
+
const tunnelStr = tunnel?.enabled ? `${tunnel.url}` : "disabled";
|
|
976
|
+
const adapters = Array.isArray(data.adapters) ? data.adapters.join(", ") : String(data.adapters ?? "none");
|
|
971
977
|
console.log(`Status : ${data.status}`);
|
|
972
978
|
console.log(`Uptime : ${hours}h ${minutes}m`);
|
|
973
979
|
console.log(`Version : ${data.version}`);
|
|
974
980
|
console.log(`Memory : ${memoryMB} MB`);
|
|
975
981
|
console.log(`Sessions : ${sessions.active ?? 0} active / ${sessions.total ?? 0} total`);
|
|
976
|
-
console.log(`Adapters : ${
|
|
977
|
-
console.log(`Tunnel : ${
|
|
982
|
+
console.log(`Adapters : ${adapters}`);
|
|
983
|
+
console.log(`Tunnel : ${tunnelStr}`);
|
|
978
984
|
} else if (subCmd === "restart") {
|
|
979
985
|
const res = await apiCall(port, "/api/restart", { method: "POST" });
|
|
980
986
|
const data = await res.json();
|
|
@@ -1076,7 +1082,7 @@ Shows the version of the currently running daemon process.
|
|
|
1076
1082
|
}
|
|
1077
1083
|
console.log(`Daemon version: ${data.version}`);
|
|
1078
1084
|
} else {
|
|
1079
|
-
const { suggestMatch } = await import("./suggest-
|
|
1085
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1080
1086
|
const apiSubcommands = [
|
|
1081
1087
|
"new",
|
|
1082
1088
|
"cancel",
|
|
@@ -1134,8 +1140,8 @@ Requires an existing config \u2014 run 'openacp' first to set up.
|
|
|
1134
1140
|
return;
|
|
1135
1141
|
}
|
|
1136
1142
|
await checkAndPromptUpdate();
|
|
1137
|
-
const { startDaemon, getPidPath } = await import("./daemon-
|
|
1138
|
-
const { ConfigManager } = await import("./config-
|
|
1143
|
+
const { startDaemon, getPidPath } = await import("./daemon-DTA6KYYY.js");
|
|
1144
|
+
const { ConfigManager } = await import("./config-UCAFCS5W.js");
|
|
1139
1145
|
const cm = new ConfigManager();
|
|
1140
1146
|
if (await cm.exists()) {
|
|
1141
1147
|
await cm.load();
|
|
@@ -1165,7 +1171,7 @@ Sends a stop signal to the running OpenACP daemon process.
|
|
|
1165
1171
|
`);
|
|
1166
1172
|
return;
|
|
1167
1173
|
}
|
|
1168
|
-
const { stopDaemon } = await import("./daemon-
|
|
1174
|
+
const { stopDaemon } = await import("./daemon-DTA6KYYY.js");
|
|
1169
1175
|
const result = await stopDaemon();
|
|
1170
1176
|
if (result.stopped) {
|
|
1171
1177
|
console.log(`OpenACP daemon stopped (was PID ${result.pid})`);
|
|
@@ -1188,7 +1194,7 @@ Shows whether the OpenACP daemon is running and its PID.
|
|
|
1188
1194
|
`);
|
|
1189
1195
|
return;
|
|
1190
1196
|
}
|
|
1191
|
-
const { getStatus } = await import("./daemon-
|
|
1197
|
+
const { getStatus } = await import("./daemon-DTA6KYYY.js");
|
|
1192
1198
|
const status = getStatus();
|
|
1193
1199
|
if (status.running) {
|
|
1194
1200
|
console.log(`OpenACP is running (PID ${status.pid})`);
|
|
@@ -1214,7 +1220,7 @@ Log file location is configured in config (default: ~/.openacp/logs/).
|
|
|
1214
1220
|
return;
|
|
1215
1221
|
}
|
|
1216
1222
|
const { spawn } = await import("child_process");
|
|
1217
|
-
const { ConfigManager, expandHome } = await import("./config-
|
|
1223
|
+
const { ConfigManager, expandHome } = await import("./config-UCAFCS5W.js");
|
|
1218
1224
|
const pathMod = await import("path");
|
|
1219
1225
|
const cm = new ConfigManager();
|
|
1220
1226
|
let logDir = "~/.openacp/logs";
|
|
@@ -1286,11 +1292,11 @@ the API for live updates. When stopped, edits config file directly.
|
|
|
1286
1292
|
console.error("Usage: openacp config set <path> <value>");
|
|
1287
1293
|
process.exit(1);
|
|
1288
1294
|
}
|
|
1289
|
-
const { ConfigSchema } = await import("./config-
|
|
1295
|
+
const { ConfigSchema } = await import("./config-UCAFCS5W.js");
|
|
1290
1296
|
const topLevelKey = configPath.split(".")[0];
|
|
1291
1297
|
const validConfigKeys = Object.keys(ConfigSchema.shape);
|
|
1292
1298
|
if (!validConfigKeys.includes(topLevelKey)) {
|
|
1293
|
-
const { suggestMatch } = await import("./suggest-
|
|
1299
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1294
1300
|
const suggestion = suggestMatch(topLevelKey, validConfigKeys);
|
|
1295
1301
|
console.error(`Unknown config key: ${topLevelKey}`);
|
|
1296
1302
|
if (suggestion) console.error(`Did you mean: ${suggestion}?`);
|
|
@@ -1318,7 +1324,7 @@ the API for live updates. When stopped, edits config file directly.
|
|
|
1318
1324
|
console.log("Note: restart required for this change to take effect.");
|
|
1319
1325
|
}
|
|
1320
1326
|
} else {
|
|
1321
|
-
const { ConfigManager: ConfigManager2 } = await import("./config-
|
|
1327
|
+
const { ConfigManager: ConfigManager2 } = await import("./config-UCAFCS5W.js");
|
|
1322
1328
|
const cm2 = new ConfigManager2();
|
|
1323
1329
|
if (!await cm2.exists()) {
|
|
1324
1330
|
console.error('No config found. Run "openacp" first to set up.');
|
|
@@ -1331,8 +1337,8 @@ the API for live updates. When stopped, edits config file directly.
|
|
|
1331
1337
|
}
|
|
1332
1338
|
return;
|
|
1333
1339
|
}
|
|
1334
|
-
const { runConfigEditor } = await import("./config-editor-
|
|
1335
|
-
const { ConfigManager } = await import("./config-
|
|
1340
|
+
const { runConfigEditor } = await import("./config-editor-OU6PUY66.js");
|
|
1341
|
+
const { ConfigManager } = await import("./config-UCAFCS5W.js");
|
|
1336
1342
|
const cm = new ConfigManager();
|
|
1337
1343
|
if (!await cm.exists()) {
|
|
1338
1344
|
console.error('No config found. Run "openacp" first to set up.');
|
|
@@ -1362,7 +1368,7 @@ start fresh with the setup wizard. The daemon must be stopped first.
|
|
|
1362
1368
|
`);
|
|
1363
1369
|
return;
|
|
1364
1370
|
}
|
|
1365
|
-
const { getStatus } = await import("./daemon-
|
|
1371
|
+
const { getStatus } = await import("./daemon-DTA6KYYY.js");
|
|
1366
1372
|
const status = getStatus();
|
|
1367
1373
|
if (status.running) {
|
|
1368
1374
|
console.error("OpenACP is running. Stop it first: openacp stop");
|
|
@@ -1377,12 +1383,12 @@ start fresh with the setup wizard. The daemon must be stopped first.
|
|
|
1377
1383
|
console.log("Aborted.");
|
|
1378
1384
|
return;
|
|
1379
1385
|
}
|
|
1380
|
-
const { uninstallAutoStart } = await import("./autostart-
|
|
1386
|
+
const { uninstallAutoStart } = await import("./autostart-CUPZMKKC.js");
|
|
1381
1387
|
uninstallAutoStart();
|
|
1382
1388
|
const fs4 = await import("fs");
|
|
1383
|
-
const
|
|
1384
|
-
const
|
|
1385
|
-
const openacpDir =
|
|
1389
|
+
const os3 = await import("os");
|
|
1390
|
+
const path6 = await import("path");
|
|
1391
|
+
const openacpDir = path6.join(os3.homedir(), ".openacp");
|
|
1386
1392
|
fs4.rmSync(openacpDir, { recursive: true, force: true });
|
|
1387
1393
|
console.log("Reset complete. Run `openacp` to set up again.");
|
|
1388
1394
|
}
|
|
@@ -1466,7 +1472,7 @@ as a messaging thread. Requires a running daemon.
|
|
|
1466
1472
|
process.exit(1);
|
|
1467
1473
|
}
|
|
1468
1474
|
try {
|
|
1469
|
-
const { apiCall: apiCall2 } = await import("./api-client-
|
|
1475
|
+
const { apiCall: apiCall2 } = await import("./api-client-XTLRRFPX.js");
|
|
1470
1476
|
const res = await apiCall2(port, "/api/sessions/adopt", {
|
|
1471
1477
|
method: "POST",
|
|
1472
1478
|
headers: { "Content-Type": "application/json" },
|
|
@@ -1518,7 +1524,7 @@ a "Handoff" slash command to Claude Code.
|
|
|
1518
1524
|
`);
|
|
1519
1525
|
return;
|
|
1520
1526
|
}
|
|
1521
|
-
const { getIntegration, listIntegrations } = await import("./integrate-
|
|
1527
|
+
const { getIntegration, listIntegrations } = await import("./integrate-JIEZYDOR.js");
|
|
1522
1528
|
const agent = args2[1];
|
|
1523
1529
|
const uninstall = args2.includes("--uninstall");
|
|
1524
1530
|
if (!agent) {
|
|
@@ -1528,7 +1534,7 @@ a "Handoff" slash command to Claude Code.
|
|
|
1528
1534
|
}
|
|
1529
1535
|
const integration = getIntegration(agent);
|
|
1530
1536
|
if (!integration) {
|
|
1531
|
-
const { suggestMatch } = await import("./suggest-
|
|
1537
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1532
1538
|
const available = listIntegrations();
|
|
1533
1539
|
const suggestion = suggestMatch(agent, available);
|
|
1534
1540
|
console.log(`No integration available for '${agent}'.`);
|
|
@@ -1585,7 +1591,7 @@ Fixable issues can be auto-repaired when not using --dry-run.
|
|
|
1585
1591
|
(a) => a.startsWith("--") && !knownFlags.includes(a)
|
|
1586
1592
|
);
|
|
1587
1593
|
if (unknownFlags.length > 0) {
|
|
1588
|
-
const { suggestMatch } = await import("./suggest-
|
|
1594
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1589
1595
|
for (const flag of unknownFlags) {
|
|
1590
1596
|
const suggestion = suggestMatch(flag, knownFlags);
|
|
1591
1597
|
console.error(`Unknown flag: ${flag}`);
|
|
@@ -1594,7 +1600,7 @@ Fixable issues can be auto-repaired when not using --dry-run.
|
|
|
1594
1600
|
process.exit(1);
|
|
1595
1601
|
}
|
|
1596
1602
|
const dryRun = args2.includes("--dry-run");
|
|
1597
|
-
const { DoctorEngine } = await import("./doctor-
|
|
1603
|
+
const { DoctorEngine } = await import("./doctor-D723IB2I.js");
|
|
1598
1604
|
const engine = new DoctorEngine({ dryRun });
|
|
1599
1605
|
console.log("\n\u{1FA7A} OpenACP Doctor\n");
|
|
1600
1606
|
const report = await engine.runAll();
|
|
@@ -1692,7 +1698,7 @@ bypassing the normal staleness check.
|
|
|
1692
1698
|
case void 0:
|
|
1693
1699
|
return agentsList();
|
|
1694
1700
|
default: {
|
|
1695
|
-
const { suggestMatch } = await import("./suggest-
|
|
1701
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1696
1702
|
const agentSubcommands = ["install", "uninstall", "refresh", "info", "run", "list"];
|
|
1697
1703
|
const suggestion = suggestMatch(subcommand, agentSubcommands);
|
|
1698
1704
|
console.error(`Unknown agents command: ${subcommand}`);
|
|
@@ -1704,7 +1710,7 @@ Run 'openacp agents' to see available agents.`);
|
|
|
1704
1710
|
}
|
|
1705
1711
|
}
|
|
1706
1712
|
async function agentsList() {
|
|
1707
|
-
const { AgentCatalog } = await import("./agent-catalog-
|
|
1713
|
+
const { AgentCatalog } = await import("./agent-catalog-SZQQERV7.js");
|
|
1708
1714
|
const catalog = new AgentCatalog();
|
|
1709
1715
|
catalog.load();
|
|
1710
1716
|
await catalog.refreshRegistryIfStale();
|
|
@@ -1767,7 +1773,7 @@ Run 'openacp agents' to see available agents.
|
|
|
1767
1773
|
`);
|
|
1768
1774
|
return;
|
|
1769
1775
|
}
|
|
1770
|
-
const { AgentCatalog } = await import("./agent-catalog-
|
|
1776
|
+
const { AgentCatalog } = await import("./agent-catalog-SZQQERV7.js");
|
|
1771
1777
|
const catalog = new AgentCatalog();
|
|
1772
1778
|
catalog.load();
|
|
1773
1779
|
await catalog.refreshRegistryIfStale();
|
|
@@ -1802,17 +1808,17 @@ Run 'openacp agents' to see available agents.
|
|
|
1802
1808
|
const result = await catalog.install(nameOrId, progress, force);
|
|
1803
1809
|
if (!result.ok) {
|
|
1804
1810
|
if (result.error?.includes("not found")) {
|
|
1805
|
-
const { suggestMatch } = await import("./suggest-
|
|
1811
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1806
1812
|
const allKeys = catalog.getAvailable().map((a) => a.key);
|
|
1807
1813
|
const suggestion = suggestMatch(nameOrId, allKeys);
|
|
1808
1814
|
if (suggestion) console.log(` Did you mean: ${suggestion}?`);
|
|
1809
1815
|
}
|
|
1810
1816
|
process.exit(1);
|
|
1811
1817
|
}
|
|
1812
|
-
const { getAgentCapabilities } = await import("./agent-dependencies-
|
|
1818
|
+
const { getAgentCapabilities } = await import("./agent-dependencies-ED2ZTUHG.js");
|
|
1813
1819
|
const caps = getAgentCapabilities(result.agentKey);
|
|
1814
1820
|
if (caps.integration) {
|
|
1815
|
-
const { installIntegration } = await import("./integrate-
|
|
1821
|
+
const { installIntegration } = await import("./integrate-JIEZYDOR.js");
|
|
1816
1822
|
const intResult = await installIntegration(result.agentKey, caps.integration);
|
|
1817
1823
|
if (intResult.success) {
|
|
1818
1824
|
console.log(` \x1B[32m\u2713\x1B[0m Handoff integration installed for ${result.agentKey}`);
|
|
@@ -1846,15 +1852,15 @@ async function agentsUninstall(name, help = false) {
|
|
|
1846
1852
|
`);
|
|
1847
1853
|
return;
|
|
1848
1854
|
}
|
|
1849
|
-
const { AgentCatalog } = await import("./agent-catalog-
|
|
1855
|
+
const { AgentCatalog } = await import("./agent-catalog-SZQQERV7.js");
|
|
1850
1856
|
const catalog = new AgentCatalog();
|
|
1851
1857
|
catalog.load();
|
|
1852
1858
|
const result = await catalog.uninstall(name);
|
|
1853
1859
|
if (result.ok) {
|
|
1854
|
-
const { getAgentCapabilities } = await import("./agent-dependencies-
|
|
1860
|
+
const { getAgentCapabilities } = await import("./agent-dependencies-ED2ZTUHG.js");
|
|
1855
1861
|
const caps = getAgentCapabilities(name);
|
|
1856
1862
|
if (caps.integration) {
|
|
1857
|
-
const { uninstallIntegration } = await import("./integrate-
|
|
1863
|
+
const { uninstallIntegration } = await import("./integrate-JIEZYDOR.js");
|
|
1858
1864
|
await uninstallIntegration(name, caps.integration);
|
|
1859
1865
|
console.log(` \x1B[32m\u2713\x1B[0m Handoff integration removed for ${name}`);
|
|
1860
1866
|
}
|
|
@@ -1865,7 +1871,7 @@ async function agentsUninstall(name, help = false) {
|
|
|
1865
1871
|
console.log(`
|
|
1866
1872
|
\x1B[31m\u2717 ${result.error}\x1B[0m`);
|
|
1867
1873
|
if (result.error?.includes("not installed")) {
|
|
1868
|
-
const { suggestMatch } = await import("./suggest-
|
|
1874
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1869
1875
|
const installedKeys = Object.keys(catalog.getInstalledEntries());
|
|
1870
1876
|
const suggestion = suggestMatch(name, installedKeys);
|
|
1871
1877
|
if (suggestion) console.log(` Did you mean: ${suggestion}?`);
|
|
@@ -1874,7 +1880,7 @@ async function agentsUninstall(name, help = false) {
|
|
|
1874
1880
|
}
|
|
1875
1881
|
}
|
|
1876
1882
|
async function agentsRefresh() {
|
|
1877
|
-
const { AgentCatalog } = await import("./agent-catalog-
|
|
1883
|
+
const { AgentCatalog } = await import("./agent-catalog-SZQQERV7.js");
|
|
1878
1884
|
const catalog = new AgentCatalog();
|
|
1879
1885
|
catalog.load();
|
|
1880
1886
|
console.log("\n Updating agent list...");
|
|
@@ -1901,10 +1907,10 @@ whether the agent is installed or available from the registry.
|
|
|
1901
1907
|
`);
|
|
1902
1908
|
return;
|
|
1903
1909
|
}
|
|
1904
|
-
const { AgentCatalog } = await import("./agent-catalog-
|
|
1910
|
+
const { AgentCatalog } = await import("./agent-catalog-SZQQERV7.js");
|
|
1905
1911
|
const catalog = new AgentCatalog();
|
|
1906
1912
|
catalog.load();
|
|
1907
|
-
const { getAgentSetup } = await import("./agent-dependencies-
|
|
1913
|
+
const { getAgentSetup } = await import("./agent-dependencies-ED2ZTUHG.js");
|
|
1908
1914
|
const installed = catalog.getInstalledAgent(nameOrId);
|
|
1909
1915
|
if (installed) {
|
|
1910
1916
|
console.log(`
|
|
@@ -1951,7 +1957,7 @@ whether the agent is installed or available from the registry.
|
|
|
1951
1957
|
`);
|
|
1952
1958
|
return;
|
|
1953
1959
|
}
|
|
1954
|
-
const { suggestMatch } = await import("./suggest-
|
|
1960
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1955
1961
|
const allKeys = catalog.getAvailable().map((a) => a.key);
|
|
1956
1962
|
const suggestion = suggestMatch(nameOrId, allKeys);
|
|
1957
1963
|
console.log(`
|
|
@@ -1982,12 +1988,12 @@ ACP-specific flags are automatically stripped.
|
|
|
1982
1988
|
`);
|
|
1983
1989
|
return;
|
|
1984
1990
|
}
|
|
1985
|
-
const { AgentCatalog } = await import("./agent-catalog-
|
|
1991
|
+
const { AgentCatalog } = await import("./agent-catalog-SZQQERV7.js");
|
|
1986
1992
|
const catalog = new AgentCatalog();
|
|
1987
1993
|
catalog.load();
|
|
1988
1994
|
const installed = catalog.getInstalledAgent(nameOrId);
|
|
1989
1995
|
if (!installed) {
|
|
1990
|
-
const { suggestMatch } = await import("./suggest-
|
|
1996
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
1991
1997
|
const installedKeys = Object.keys(catalog.getInstalledEntries());
|
|
1992
1998
|
const suggestion = suggestMatch(nameOrId, installedKeys);
|
|
1993
1999
|
console.log(`
|
|
@@ -2115,23 +2121,38 @@ Tunnel Management:
|
|
|
2115
2121
|
}
|
|
2116
2122
|
|
|
2117
2123
|
// src/cli/commands/onboard.ts
|
|
2124
|
+
import path3 from "path";
|
|
2125
|
+
import os from "os";
|
|
2126
|
+
var OPENACP_DIR = path3.join(os.homedir(), ".openacp");
|
|
2127
|
+
var PLUGINS_DATA_DIR = path3.join(OPENACP_DIR, "plugins", "data");
|
|
2128
|
+
var REGISTRY_PATH = path3.join(OPENACP_DIR, "plugins.json");
|
|
2118
2129
|
async function cmdOnboard() {
|
|
2119
|
-
const { ConfigManager } = await import("./config-
|
|
2130
|
+
const { ConfigManager } = await import("./config-UCAFCS5W.js");
|
|
2131
|
+
const { SettingsManager } = await import("./settings-manager-B4UN2LAC.js");
|
|
2132
|
+
const { PluginRegistry } = await import("./plugin-registry-6J3YSFHF.js");
|
|
2120
2133
|
const cm = new ConfigManager();
|
|
2134
|
+
const settingsManager = new SettingsManager(PLUGINS_DATA_DIR);
|
|
2135
|
+
const pluginRegistry = new PluginRegistry(REGISTRY_PATH);
|
|
2136
|
+
await pluginRegistry.load();
|
|
2121
2137
|
if (await cm.exists()) {
|
|
2122
|
-
const { runReconfigure } = await import("./setup-
|
|
2138
|
+
const { runReconfigure } = await import("./setup-OI6A3OXW.js");
|
|
2123
2139
|
await runReconfigure(cm);
|
|
2124
2140
|
} else {
|
|
2125
|
-
const { runSetup } = await import("./setup-
|
|
2126
|
-
await runSetup(cm, { skipRunMode: true });
|
|
2141
|
+
const { runSetup } = await import("./setup-OI6A3OXW.js");
|
|
2142
|
+
await runSetup(cm, { skipRunMode: true, settingsManager, pluginRegistry });
|
|
2127
2143
|
}
|
|
2128
2144
|
}
|
|
2129
2145
|
|
|
2130
2146
|
// src/cli/commands/default.ts
|
|
2147
|
+
import path4 from "path";
|
|
2148
|
+
import os2 from "os";
|
|
2149
|
+
var OPENACP_DIR2 = path4.join(os2.homedir(), ".openacp");
|
|
2150
|
+
var PLUGINS_DATA_DIR2 = path4.join(OPENACP_DIR2, "plugins", "data");
|
|
2151
|
+
var REGISTRY_PATH2 = path4.join(OPENACP_DIR2, "plugins.json");
|
|
2131
2152
|
async function cmdDefault(command2) {
|
|
2132
2153
|
const forceForeground = command2 === "--foreground";
|
|
2133
2154
|
if (command2 && !command2.startsWith("-")) {
|
|
2134
|
-
const { suggestMatch } = await import("./suggest-
|
|
2155
|
+
const { suggestMatch } = await import("./suggest-RST5VOHB.js");
|
|
2135
2156
|
const topLevelCommands = [
|
|
2136
2157
|
"start",
|
|
2137
2158
|
"stop",
|
|
@@ -2158,17 +2179,22 @@ async function cmdDefault(command2) {
|
|
|
2158
2179
|
process.exit(1);
|
|
2159
2180
|
}
|
|
2160
2181
|
await checkAndPromptUpdate();
|
|
2161
|
-
const { ConfigManager } = await import("./config-
|
|
2182
|
+
const { ConfigManager } = await import("./config-UCAFCS5W.js");
|
|
2162
2183
|
const cm = new ConfigManager();
|
|
2163
2184
|
if (!await cm.exists()) {
|
|
2164
|
-
const {
|
|
2165
|
-
const
|
|
2185
|
+
const { SettingsManager } = await import("./settings-manager-B4UN2LAC.js");
|
|
2186
|
+
const { PluginRegistry } = await import("./plugin-registry-6J3YSFHF.js");
|
|
2187
|
+
const settingsManager = new SettingsManager(PLUGINS_DATA_DIR2);
|
|
2188
|
+
const pluginRegistry = new PluginRegistry(REGISTRY_PATH2);
|
|
2189
|
+
await pluginRegistry.load();
|
|
2190
|
+
const { runSetup } = await import("./setup-OI6A3OXW.js");
|
|
2191
|
+
const shouldStart = await runSetup(cm, { settingsManager, pluginRegistry });
|
|
2166
2192
|
if (!shouldStart) process.exit(0);
|
|
2167
2193
|
}
|
|
2168
2194
|
await cm.load();
|
|
2169
2195
|
const config = cm.get();
|
|
2170
2196
|
if (!forceForeground && config.runMode === "daemon") {
|
|
2171
|
-
const { startDaemon, getPidPath } = await import("./daemon-
|
|
2197
|
+
const { startDaemon, getPidPath } = await import("./daemon-DTA6KYYY.js");
|
|
2172
2198
|
const result = startDaemon(getPidPath(), config.logging.logDir);
|
|
2173
2199
|
if ("error" in result) {
|
|
2174
2200
|
console.error(result.error);
|
|
@@ -2177,15 +2203,15 @@ async function cmdDefault(command2) {
|
|
|
2177
2203
|
console.log(`OpenACP daemon started (PID ${result.pid})`);
|
|
2178
2204
|
return;
|
|
2179
2205
|
}
|
|
2180
|
-
const { markRunning } = await import("./daemon-
|
|
2206
|
+
const { markRunning } = await import("./daemon-DTA6KYYY.js");
|
|
2181
2207
|
markRunning();
|
|
2182
|
-
const { startServer } = await import("./main-
|
|
2208
|
+
const { startServer } = await import("./main-RRSX5SRL.js");
|
|
2183
2209
|
await startServer();
|
|
2184
2210
|
}
|
|
2185
2211
|
|
|
2186
2212
|
// src/cli/commands/dev.ts
|
|
2187
2213
|
import fs3 from "fs";
|
|
2188
|
-
import
|
|
2214
|
+
import path5 from "path";
|
|
2189
2215
|
async function cmdDev(args2 = []) {
|
|
2190
2216
|
if (wantsHelp(args2)) {
|
|
2191
2217
|
console.log(`
|
|
@@ -2212,12 +2238,12 @@ async function cmdDev(args2 = []) {
|
|
|
2212
2238
|
console.error("Error: missing plugin path. Usage: openacp dev <plugin-path>");
|
|
2213
2239
|
process.exit(1);
|
|
2214
2240
|
}
|
|
2215
|
-
const pluginPath =
|
|
2241
|
+
const pluginPath = path5.resolve(pluginPathArg);
|
|
2216
2242
|
if (!fs3.existsSync(pluginPath)) {
|
|
2217
2243
|
console.error(`Error: plugin path does not exist: ${pluginPath}`);
|
|
2218
2244
|
process.exit(1);
|
|
2219
2245
|
}
|
|
2220
|
-
const tsconfigPath =
|
|
2246
|
+
const tsconfigPath = path5.join(pluginPath, "tsconfig.json");
|
|
2221
2247
|
const hasTsconfig = fs3.existsSync(tsconfigPath);
|
|
2222
2248
|
if (hasTsconfig) {
|
|
2223
2249
|
console.log("Compiling plugin TypeScript...");
|
|
@@ -2253,7 +2279,7 @@ async function cmdDev(args2 = []) {
|
|
|
2253
2279
|
process.env.OPENACP_DEBUG = "1";
|
|
2254
2280
|
}
|
|
2255
2281
|
process.env.OPENACP_DEV_LOOP = "1";
|
|
2256
|
-
const { startServer } = await import("./main-
|
|
2282
|
+
const { startServer } = await import("./main-RRSX5SRL.js");
|
|
2257
2283
|
await startServer({ devPluginPath: pluginPath, noWatch });
|
|
2258
2284
|
}
|
|
2259
2285
|
|
|
@@ -2286,7 +2312,7 @@ var commands = {
|
|
|
2286
2312
|
"onboard": () => cmdOnboard(),
|
|
2287
2313
|
"dev": () => cmdDev(args),
|
|
2288
2314
|
"--daemon-child": async () => {
|
|
2289
|
-
const { startServer } = await import("./main-
|
|
2315
|
+
const { startServer } = await import("./main-RRSX5SRL.js");
|
|
2290
2316
|
await startServer();
|
|
2291
2317
|
}
|
|
2292
2318
|
};
|