@openacp/cli 2026.326.4 → 2026.327.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.
Files changed (132) hide show
  1. package/README.md +2 -2
  2. package/dist/{adapter-6ANPBSVU.js → adapter-LC2QSDAS.js} +4 -5
  3. package/dist/{adapter-PQGHVG4K.js → adapter-Y55NXX6I.js} +2 -2
  4. package/dist/{api-server-3PYLRBCN.js → api-server-7G3ZUZRM.js} +2 -2
  5. package/dist/{api-server-CHVSUDBX.js → api-server-CAYNPUF2.js} +2 -2
  6. package/dist/{chunk-UNJUWWQO.js → chunk-2YCW3QDV.js} +21 -14
  7. package/dist/chunk-2YCW3QDV.js.map +1 -0
  8. package/dist/{chunk-Y64XWMJ4.js → chunk-36YQ44D7.js} +2 -2
  9. package/dist/{chunk-UB2QB6DE.js → chunk-3ASUU6WW.js} +2 -2
  10. package/dist/{chunk-V5JT5TPD.js → chunk-4GMLGCF2.js} +2 -2
  11. package/dist/chunk-CDAUYTVP.js +41 -0
  12. package/dist/chunk-CDAUYTVP.js.map +1 -0
  13. package/dist/{chunk-Q6ZXJTZB.js → chunk-HUWOFP2H.js} +9 -17
  14. package/dist/chunk-HUWOFP2H.js.map +1 -0
  15. package/dist/{chunk-P4SNGQNI.js → chunk-KMMEFXIE.js} +2 -2
  16. package/dist/{chunk-RKB2ZK6S.js → chunk-LP45RCA4.js} +579 -153
  17. package/dist/chunk-LP45RCA4.js.map +1 -0
  18. package/dist/{chunk-L7YNNBI5.js → chunk-QAQDGPB4.js} +1 -75
  19. package/dist/chunk-QAQDGPB4.js.map +1 -0
  20. package/dist/{chunk-V2M243KZ.js → chunk-TRXBJEZ5.js} +55 -53
  21. package/dist/chunk-TRXBJEZ5.js.map +1 -0
  22. package/dist/{chunk-NBFIBGAT.js → chunk-UMT7RU77.js} +45 -118
  23. package/dist/chunk-UMT7RU77.js.map +1 -0
  24. package/dist/{chunk-FQEBWOZR.js → chunk-XIBG7LSL.js} +181 -128
  25. package/dist/chunk-XIBG7LSL.js.map +1 -0
  26. package/dist/cli.js +155 -49
  27. package/dist/cli.js.map +1 -1
  28. package/dist/{config-editor-HNEKXRLQ.js → config-editor-3IKBPZA7.js} +2 -2
  29. package/dist/{core-plugins-VEUNFTMB.js → core-plugins-ROU4GPLT.js} +8 -12
  30. package/dist/{dev-loader-RDC5E2CW.js → dev-loader-DRU3R7ZM.js} +7 -18
  31. package/dist/dev-loader-DRU3R7ZM.js.map +1 -0
  32. package/dist/{doctor-H72BZOPA.js → doctor-QZQAP46W.js} +2 -2
  33. package/dist/index.d.ts +128 -66
  34. package/dist/index.js +41 -20
  35. package/dist/index.js.map +1 -1
  36. package/dist/{integrate-5C6KSU6D.js → integrate-G6CVXTGT.js} +3 -4
  37. package/dist/integrate-G6CVXTGT.js.map +1 -0
  38. package/dist/{main-T5WVCCFN.js → main-UVTZ46WP.js} +39 -185
  39. package/dist/main-UVTZ46WP.js.map +1 -0
  40. package/dist/plugin-create-5HQRF2ID.js +967 -0
  41. package/dist/plugin-create-5HQRF2ID.js.map +1 -0
  42. package/dist/plugin-installer-GQ2P3Q3E.js +23 -0
  43. package/dist/plugin-installer-GQ2P3Q3E.js.map +1 -0
  44. package/dist/plugin-search-HQ4WQKOF.js +40 -0
  45. package/dist/plugin-search-HQ4WQKOF.js.map +1 -0
  46. package/dist/{post-upgrade-XLHZ6ZB7.js → post-upgrade-3ADZRMYJ.js} +2 -2
  47. package/dist/registry-client-AVGRE4CF.js +8 -0
  48. package/dist/{setup-BAI2F24H.js → setup-EYAFK2WI.js} +77 -50
  49. package/dist/setup-EYAFK2WI.js.map +1 -0
  50. package/dist/{slack-KH7E3VBS.js → slack-37ZWBDUI.js} +2 -2
  51. package/dist/{telegram-ZDC3JQF2.js → telegram-2ZCCCZIY.js} +2 -2
  52. package/dist/{tunnel-M47I7H4B.js → tunnel-45HA72MB.js} +2 -2
  53. package/dist/{tunnel-service-WADYHREX.js → tunnel-service-QJPUYEKU.js} +11 -3
  54. package/dist/tunnel-service-QJPUYEKU.js.map +1 -0
  55. package/package.json +2 -3
  56. package/dist/action-detect-QPA775HB.js +0 -16
  57. package/dist/adapter-77ZCVABT.js +0 -2394
  58. package/dist/adapter-77ZCVABT.js.map +0 -1
  59. package/dist/admin-GBPZFFAU.js +0 -23
  60. package/dist/agents-BWU4MRRD.js +0 -15
  61. package/dist/chunk-2CX4IEEC.js +0 -124
  62. package/dist/chunk-2CX4IEEC.js.map +0 -1
  63. package/dist/chunk-4KGLKKQK.js +0 -298
  64. package/dist/chunk-4KGLKKQK.js.map +0 -1
  65. package/dist/chunk-5ZOFBTOR.js +0 -553
  66. package/dist/chunk-5ZOFBTOR.js.map +0 -1
  67. package/dist/chunk-6RXVEXF3.js +0 -23
  68. package/dist/chunk-6RXVEXF3.js.map +0 -1
  69. package/dist/chunk-FQEBWOZR.js.map +0 -1
  70. package/dist/chunk-GJOY37U7.js +0 -265
  71. package/dist/chunk-GJOY37U7.js.map +0 -1
  72. package/dist/chunk-HVBNCPAY.js +0 -71
  73. package/dist/chunk-HVBNCPAY.js.map +0 -1
  74. package/dist/chunk-I3CGU5W7.js +0 -134
  75. package/dist/chunk-I3CGU5W7.js.map +0 -1
  76. package/dist/chunk-L7YNNBI5.js.map +0 -1
  77. package/dist/chunk-MTSDOSXS.js +0 -219
  78. package/dist/chunk-MTSDOSXS.js.map +0 -1
  79. package/dist/chunk-NAM4ERUW.js +0 -203
  80. package/dist/chunk-NAM4ERUW.js.map +0 -1
  81. package/dist/chunk-NBFIBGAT.js.map +0 -1
  82. package/dist/chunk-O5RG4YZY.js +0 -122
  83. package/dist/chunk-O5RG4YZY.js.map +0 -1
  84. package/dist/chunk-Q6ZXJTZB.js.map +0 -1
  85. package/dist/chunk-QSDZDHNS.js +0 -145
  86. package/dist/chunk-QSDZDHNS.js.map +0 -1
  87. package/dist/chunk-RKB2ZK6S.js.map +0 -1
  88. package/dist/chunk-UNJUWWQO.js.map +0 -1
  89. package/dist/chunk-V2M243KZ.js.map +0 -1
  90. package/dist/chunk-WAAD23KY.js +0 -222
  91. package/dist/chunk-WAAD23KY.js.map +0 -1
  92. package/dist/chunk-WVLDNYOJ.js +0 -150
  93. package/dist/chunk-WVLDNYOJ.js.map +0 -1
  94. package/dist/dev-loader-RDC5E2CW.js.map +0 -1
  95. package/dist/discord-NOJQ5PZO.js +0 -8
  96. package/dist/doctor-RF6BHMCC.js +0 -15
  97. package/dist/doctor-RF6BHMCC.js.map +0 -1
  98. package/dist/integrate-5C6KSU6D.js.map +0 -1
  99. package/dist/main-T5WVCCFN.js.map +0 -1
  100. package/dist/new-session-AVQCNXRG.js +0 -17
  101. package/dist/new-session-AVQCNXRG.js.map +0 -1
  102. package/dist/plugin-create-AQ3B22BZ.js +0 -334
  103. package/dist/plugin-create-AQ3B22BZ.js.map +0 -1
  104. package/dist/session-KZFA6Z26.js +0 -20
  105. package/dist/session-KZFA6Z26.js.map +0 -1
  106. package/dist/settings-MFYM7CZO.js +0 -14
  107. package/dist/settings-MFYM7CZO.js.map +0 -1
  108. package/dist/setup-BAI2F24H.js.map +0 -1
  109. package/dist/slack-KH7E3VBS.js.map +0 -1
  110. package/dist/telegram-ZDC3JQF2.js.map +0 -1
  111. package/dist/tunnel-M47I7H4B.js.map +0 -1
  112. package/dist/tunnel-service-WADYHREX.js.map +0 -1
  113. package/dist/usage-WYNK6ZC5.js +0 -10
  114. package/dist/usage-WYNK6ZC5.js.map +0 -1
  115. package/dist/validators-6CLEZUBD.js +0 -8
  116. package/dist/validators-6CLEZUBD.js.map +0 -1
  117. /package/dist/{action-detect-QPA775HB.js.map → adapter-LC2QSDAS.js.map} +0 -0
  118. /package/dist/{adapter-PQGHVG4K.js.map → adapter-Y55NXX6I.js.map} +0 -0
  119. /package/dist/{adapter-6ANPBSVU.js.map → api-server-7G3ZUZRM.js.map} +0 -0
  120. /package/dist/{admin-GBPZFFAU.js.map → api-server-CAYNPUF2.js.map} +0 -0
  121. /package/dist/{chunk-Y64XWMJ4.js.map → chunk-36YQ44D7.js.map} +0 -0
  122. /package/dist/{chunk-UB2QB6DE.js.map → chunk-3ASUU6WW.js.map} +0 -0
  123. /package/dist/{chunk-V5JT5TPD.js.map → chunk-4GMLGCF2.js.map} +0 -0
  124. /package/dist/{chunk-P4SNGQNI.js.map → chunk-KMMEFXIE.js.map} +0 -0
  125. /package/dist/{agents-BWU4MRRD.js.map → config-editor-3IKBPZA7.js.map} +0 -0
  126. /package/dist/{api-server-3PYLRBCN.js.map → core-plugins-ROU4GPLT.js.map} +0 -0
  127. /package/dist/{api-server-CHVSUDBX.js.map → doctor-QZQAP46W.js.map} +0 -0
  128. /package/dist/{post-upgrade-XLHZ6ZB7.js.map → post-upgrade-3ADZRMYJ.js.map} +0 -0
  129. /package/dist/{config-editor-HNEKXRLQ.js.map → registry-client-AVGRE4CF.js.map} +0 -0
  130. /package/dist/{core-plugins-VEUNFTMB.js.map → slack-37ZWBDUI.js.map} +0 -0
  131. /package/dist/{discord-NOJQ5PZO.js.map → telegram-2ZCCCZIY.js.map} +0 -0
  132. /package/dist/{doctor-H72BZOPA.js.map → tunnel-45HA72MB.js.map} +0 -0
package/dist/cli.js CHANGED
@@ -4,10 +4,6 @@ import {
4
4
  readApiPort,
5
5
  removeStalePortFile
6
6
  } from "./chunk-4WXALZA3.js";
7
- import {
8
- PLUGINS_DIR
9
- } from "./chunk-QVMEF6FB.js";
10
- import "./chunk-XMMAGAT4.js";
11
7
  import {
12
8
  checkAndPromptUpdate,
13
9
  compareVersions,
@@ -15,6 +11,10 @@ import {
15
11
  getLatestVersion,
16
12
  runUpdate
17
13
  } from "./chunk-S64CB6J3.js";
14
+ import {
15
+ PLUGINS_DIR
16
+ } from "./chunk-QVMEF6FB.js";
17
+ import "./chunk-XMMAGAT4.js";
18
18
  import "./chunk-VUNV25KB.js";
19
19
 
20
20
  // src/cli.ts
@@ -232,7 +232,8 @@ async function cmdPlugin(args2 = []) {
232
232
 
233
233
  \x1B[1mUsage:\x1B[0m
234
234
  openacp plugin list List all plugins with status
235
- openacp plugin add <package> Install a plugin package
235
+ openacp plugin search <query> Search the plugin registry
236
+ openacp plugin add <package>[@version] Install a plugin package
236
237
  openacp plugin install <package> Alias for add
237
238
  openacp plugin remove <package> Remove a plugin package
238
239
  openacp plugin uninstall <package> Alias for remove (--purge to delete data)
@@ -243,7 +244,9 @@ async function cmdPlugin(args2 = []) {
243
244
 
244
245
  \x1B[1mExamples:\x1B[0m
245
246
  openacp plugin list
247
+ openacp plugin search telegram
246
248
  openacp plugin add @openacp/adapter-discord
249
+ openacp plugin add translator@1.2.0
247
250
  openacp plugin enable @openacp/adapter-discord
248
251
  openacp plugin configure @openacp/adapter-discord
249
252
  openacp plugin remove @openacp/adapter-discord --purge
@@ -253,6 +256,11 @@ async function cmdPlugin(args2 = []) {
253
256
  switch (subcommand) {
254
257
  case "list":
255
258
  return cmdPlugins(args2.slice(1));
259
+ case "search": {
260
+ const { cmdPluginSearch } = await import("./plugin-search-HQ4WQKOF.js");
261
+ await cmdPluginSearch(args2.slice(2));
262
+ return;
263
+ }
256
264
  case "add":
257
265
  case "install": {
258
266
  const pkg = args2[2];
@@ -302,7 +310,7 @@ async function cmdPlugin(args2 = []) {
302
310
  return;
303
311
  }
304
312
  case "create": {
305
- const { cmdPluginCreate } = await import("./plugin-create-AQ3B22BZ.js");
313
+ const { cmdPluginCreate } = await import("./plugin-create-5HQRF2ID.js");
306
314
  await cmdPluginCreate();
307
315
  return;
308
316
  }
@@ -331,7 +339,7 @@ async function setPluginEnabled(name, enabled) {
331
339
  async function configurePlugin(name) {
332
340
  const os = await import("os");
333
341
  const path4 = await import("path");
334
- const { corePlugins } = await import("./core-plugins-VEUNFTMB.js");
342
+ const { corePlugins } = await import("./core-plugins-ROU4GPLT.js");
335
343
  const { SettingsManager } = await import("./settings-manager-MD2U4ZV2.js");
336
344
  const { createInstallContext } = await import("./install-context-XPWTFT3J.js");
337
345
  const plugin = corePlugins.find((p) => p.name === name);
@@ -350,38 +358,129 @@ async function configurePlugin(name) {
350
358
  console.log(`Plugin ${name} has no configure or install hook.`);
351
359
  }
352
360
  }
353
- async function installPlugin(pkg) {
354
- console.log(`Installing ${pkg}...`);
355
- const { corePlugins } = await import("./core-plugins-VEUNFTMB.js");
356
- const plugin = corePlugins.find((p) => p.name === pkg);
357
- if (!plugin) {
358
- console.error(`Plugin "${pkg}" not found. Community plugin install coming soon.`);
359
- return;
361
+ async function installPlugin(input) {
362
+ const os = await import("os");
363
+ const path4 = await import("path");
364
+ const { execSync: execSync3 } = await import("child_process");
365
+ const { getCurrentVersion: getCurrentVersion2 } = await import("./version-NQZBM5M7.js");
366
+ const { SettingsManager } = await import("./settings-manager-MD2U4ZV2.js");
367
+ const { createInstallContext } = await import("./install-context-XPWTFT3J.js");
368
+ const { PluginRegistry } = await import("./plugin-registry-WB3DR67H.js");
369
+ let pkgName;
370
+ let pkgVersion;
371
+ if (input.startsWith("@")) {
372
+ const afterScope = input.indexOf("/", 1);
373
+ if (afterScope === -1) {
374
+ pkgName = input;
375
+ } else {
376
+ const rest = input.slice(afterScope + 1);
377
+ const atIdx = rest.indexOf("@");
378
+ if (atIdx !== -1) {
379
+ pkgName = input.slice(0, afterScope + 1 + atIdx);
380
+ pkgVersion = rest.slice(atIdx + 1);
381
+ } else {
382
+ pkgName = input;
383
+ }
384
+ }
385
+ } else {
386
+ const atIdx = input.lastIndexOf("@");
387
+ if (atIdx > 0) {
388
+ pkgName = input.slice(0, atIdx);
389
+ pkgVersion = input.slice(atIdx + 1);
390
+ } else {
391
+ pkgName = input;
392
+ }
360
393
  }
361
- if (plugin.install) {
362
- const os = await import("os");
363
- const path4 = await import("path");
364
- const { SettingsManager } = await import("./settings-manager-MD2U4ZV2.js");
365
- const { createInstallContext } = await import("./install-context-XPWTFT3J.js");
366
- const { PluginRegistry } = await import("./plugin-registry-WB3DR67H.js");
367
- const basePath = path4.join(os.homedir(), ".openacp", "plugins");
368
- const settingsManager = new SettingsManager(basePath);
369
- const registryPath = path4.join(os.homedir(), ".openacp", "plugins.json");
370
- const registry = new PluginRegistry(registryPath);
371
- await registry.load();
372
- const ctx = createInstallContext({ pluginName: plugin.name, settingsManager, basePath });
373
- await plugin.install(ctx);
374
- registry.register(plugin.name, {
375
- version: plugin.version,
394
+ const { RegistryClient } = await import("./registry-client-AVGRE4CF.js");
395
+ const client = new RegistryClient();
396
+ let registryPlugin = null;
397
+ try {
398
+ const registry = await client.getRegistry();
399
+ registryPlugin = registry.plugins.find((p) => p.name === pkgName || p.npm === pkgName);
400
+ if (registryPlugin) {
401
+ console.log(`Resolved from registry: ${pkgName} \u2192 ${registryPlugin.npm}`);
402
+ pkgName = registryPlugin.npm;
403
+ if (!registryPlugin.verified) {
404
+ console.log("\u26A0\uFE0F This plugin is not verified by the OpenACP team.");
405
+ }
406
+ }
407
+ } catch {
408
+ }
409
+ const installSpec = pkgVersion ? `${pkgName}@${pkgVersion}` : pkgName;
410
+ console.log(`Installing ${installSpec}...`);
411
+ const { corePlugins } = await import("./core-plugins-ROU4GPLT.js");
412
+ const builtinPlugin = corePlugins.find((p) => p.name === pkgName);
413
+ const basePath = path4.join(os.homedir(), ".openacp", "plugins");
414
+ const settingsManager = new SettingsManager(basePath);
415
+ const registryPath = path4.join(os.homedir(), ".openacp", "plugins.json");
416
+ const pluginRegistry = new PluginRegistry(registryPath);
417
+ await pluginRegistry.load();
418
+ if (builtinPlugin) {
419
+ if (builtinPlugin.install) {
420
+ const ctx = createInstallContext({ pluginName: builtinPlugin.name, settingsManager, basePath });
421
+ await builtinPlugin.install(ctx);
422
+ }
423
+ pluginRegistry.register(builtinPlugin.name, {
424
+ version: builtinPlugin.version,
376
425
  source: "builtin",
377
426
  enabled: true,
378
- settingsPath: settingsManager.getSettingsPath(plugin.name),
379
- description: plugin.description
427
+ settingsPath: settingsManager.getSettingsPath(builtinPlugin.name),
428
+ description: builtinPlugin.description
380
429
  });
381
- await registry.save();
382
- console.log(`Plugin ${plugin.name} installed! Restart to activate.`);
383
- } else {
384
- console.log(`Plugin ${plugin.name} has no install hook. Nothing to do.`);
430
+ await pluginRegistry.save();
431
+ console.log(`\u2713 ${builtinPlugin.name} installed! Restart to activate.`);
432
+ return;
433
+ }
434
+ const pluginsDir = path4.join(os.homedir(), ".openacp", "plugins");
435
+ const nodeModulesDir = path4.join(pluginsDir, "node_modules");
436
+ try {
437
+ execSync3(`npm install ${installSpec} --prefix "${pluginsDir}" --save`, {
438
+ stdio: "inherit",
439
+ timeout: 6e4
440
+ });
441
+ } catch {
442
+ console.error(`Failed to install ${installSpec}. Check the package name and try again.`);
443
+ process.exit(1);
444
+ }
445
+ const cliVersion = getCurrentVersion2();
446
+ try {
447
+ const installedPkgPath = path4.join(nodeModulesDir, pkgName, "package.json");
448
+ const { readFileSync } = await import("fs");
449
+ const installedPkg = JSON.parse(readFileSync(installedPkgPath, "utf-8"));
450
+ const minVersion = installedPkg.engines?.openacp?.replace(/[>=^~\s]/g, "");
451
+ if (minVersion) {
452
+ const { compareVersions: compareVersions2 } = await import("./version-NQZBM5M7.js");
453
+ if (compareVersions2(cliVersion, minVersion) < 0) {
454
+ console.log(`
455
+ \u26A0\uFE0F This plugin requires OpenACP >= ${minVersion}. You have ${cliVersion}.`);
456
+ console.log(` Run 'openacp update' to get the latest version.
457
+ `);
458
+ }
459
+ }
460
+ const pluginModule = await import(path4.join(nodeModulesDir, pkgName, installedPkg.main ?? "dist/index.js"));
461
+ const plugin = pluginModule.default;
462
+ if (plugin?.install) {
463
+ const ctx = createInstallContext({ pluginName: plugin.name ?? pkgName, settingsManager, basePath });
464
+ await plugin.install(ctx);
465
+ }
466
+ pluginRegistry.register(plugin?.name ?? pkgName, {
467
+ version: installedPkg.version,
468
+ source: "npm",
469
+ enabled: true,
470
+ settingsPath: settingsManager.getSettingsPath(plugin?.name ?? pkgName),
471
+ description: plugin?.description ?? installedPkg.description
472
+ });
473
+ await pluginRegistry.save();
474
+ console.log(`\u2713 ${plugin?.name ?? pkgName} installed! Restart to activate.`);
475
+ } catch (err) {
476
+ pluginRegistry.register(pkgName, {
477
+ version: pkgVersion ?? "unknown",
478
+ source: "npm",
479
+ enabled: true,
480
+ settingsPath: settingsManager.getSettingsPath(pkgName)
481
+ });
482
+ await pluginRegistry.save();
483
+ console.log(`\u2713 ${pkgName} installed (npm only). Restart to activate.`);
385
484
  }
386
485
  }
387
486
  async function uninstallPlugin(name, purge) {
@@ -402,7 +501,7 @@ async function uninstallPlugin(name, purge) {
402
501
  process.exit(1);
403
502
  }
404
503
  try {
405
- const { corePlugins } = await import("./core-plugins-VEUNFTMB.js");
504
+ const { corePlugins } = await import("./core-plugins-ROU4GPLT.js");
406
505
  const plugin = corePlugins.find((p) => p.name === name);
407
506
  if (plugin?.uninstall) {
408
507
  const { SettingsManager } = await import("./settings-manager-MD2U4ZV2.js");
@@ -437,6 +536,7 @@ function printApiHelp() {
437
536
  openacp api status Show active sessions
438
537
  openacp api session <id> Show session details
439
538
  openacp api new [agent] [workspace] Create a new session
539
+ [--channel <id>]
440
540
  openacp api send <id> <prompt> Send prompt to session
441
541
  openacp api cancel <id> Cancel a session
442
542
  openacp api dangerous <id> on|off Toggle dangerous mode
@@ -494,16 +594,19 @@ dangerous mode, queue depth, and channel/thread IDs.
494
594
 
495
595
  \x1B[1mUsage:\x1B[0m
496
596
  openacp api new [agent] [workspace]
497
- openacp api new [agent] --workspace <path>
597
+ openacp api new [agent] --workspace <path> [--channel <id>]
498
598
 
499
599
  \x1B[1mArguments:\x1B[0m
500
600
  [agent] Agent name (uses default if omitted)
501
601
  [workspace] Working directory for the session
502
602
 
603
+ \x1B[1mOptions:\x1B[0m
604
+ --channel <id> Target adapter (e.g. telegram, discord). Defaults to first registered adapter.
605
+
503
606
  \x1B[1mExamples:\x1B[0m
504
607
  openacp api new
505
608
  openacp api new claude /path/to/project
506
- openacp api new gemini --workspace /path/to/project
609
+ openacp api new claude /path/to/project --channel discord
507
610
  `,
508
611
  "send": `
509
612
  \x1B[1mopenacp api send\x1B[0m \u2014 Send prompt to a session
@@ -669,9 +772,12 @@ Shows the version of the currently running daemon process.
669
772
  const agent = args2[2];
670
773
  const workspaceIdx = args2.indexOf("--workspace");
671
774
  const workspace = workspaceIdx !== -1 ? args2[workspaceIdx + 1] : args2[3];
775
+ const channelIdx = args2.indexOf("--channel");
776
+ const channel = channelIdx !== -1 ? args2[channelIdx + 1] : void 0;
672
777
  const body = {};
673
778
  if (agent) body.agent = agent;
674
779
  if (workspace) body.workspace = workspace;
780
+ if (channel) body.channel = channel;
675
781
  const res = await apiCall(port, "/api/sessions", {
676
782
  method: "POST",
677
783
  headers: { "Content-Type": "application/json" },
@@ -1225,7 +1331,7 @@ the API for live updates. When stopped, edits config file directly.
1225
1331
  }
1226
1332
  return;
1227
1333
  }
1228
- const { runConfigEditor } = await import("./config-editor-HNEKXRLQ.js");
1334
+ const { runConfigEditor } = await import("./config-editor-3IKBPZA7.js");
1229
1335
  const { ConfigManager } = await import("./config-I4FMCJGZ.js");
1230
1336
  const cm = new ConfigManager();
1231
1337
  if (!await cm.exists()) {
@@ -1412,7 +1518,7 @@ a "Handoff" slash command to Claude Code.
1412
1518
  `);
1413
1519
  return;
1414
1520
  }
1415
- const { getIntegration, listIntegrations } = await import("./integrate-5C6KSU6D.js");
1521
+ const { getIntegration, listIntegrations } = await import("./integrate-G6CVXTGT.js");
1416
1522
  const agent = args2[1];
1417
1523
  const uninstall = args2.includes("--uninstall");
1418
1524
  if (!agent) {
@@ -1488,7 +1594,7 @@ Fixable issues can be auto-repaired when not using --dry-run.
1488
1594
  process.exit(1);
1489
1595
  }
1490
1596
  const dryRun = args2.includes("--dry-run");
1491
- const { DoctorEngine } = await import("./doctor-H72BZOPA.js");
1597
+ const { DoctorEngine } = await import("./doctor-QZQAP46W.js");
1492
1598
  const engine = new DoctorEngine({ dryRun });
1493
1599
  console.log("\n\u{1FA7A} OpenACP Doctor\n");
1494
1600
  const report = await engine.runAll();
@@ -1706,7 +1812,7 @@ Run 'openacp agents' to see available agents.
1706
1812
  const { getAgentCapabilities } = await import("./agent-dependencies-WS7Z2DFW.js");
1707
1813
  const caps = getAgentCapabilities(result.agentKey);
1708
1814
  if (caps.integration) {
1709
- const { installIntegration } = await import("./integrate-5C6KSU6D.js");
1815
+ const { installIntegration } = await import("./integrate-G6CVXTGT.js");
1710
1816
  const intResult = await installIntegration(result.agentKey, caps.integration);
1711
1817
  if (intResult.success) {
1712
1818
  console.log(` \x1B[32m\u2713\x1B[0m Handoff integration installed for ${result.agentKey}`);
@@ -1748,7 +1854,7 @@ async function agentsUninstall(name, help = false) {
1748
1854
  const { getAgentCapabilities } = await import("./agent-dependencies-WS7Z2DFW.js");
1749
1855
  const caps = getAgentCapabilities(name);
1750
1856
  if (caps.integration) {
1751
- const { uninstallIntegration } = await import("./integrate-5C6KSU6D.js");
1857
+ const { uninstallIntegration } = await import("./integrate-G6CVXTGT.js");
1752
1858
  await uninstallIntegration(name, caps.integration);
1753
1859
  console.log(` \x1B[32m\u2713\x1B[0m Handoff integration removed for ${name}`);
1754
1860
  }
@@ -2013,10 +2119,10 @@ async function cmdOnboard() {
2013
2119
  const { ConfigManager } = await import("./config-I4FMCJGZ.js");
2014
2120
  const cm = new ConfigManager();
2015
2121
  if (await cm.exists()) {
2016
- const { runReconfigure } = await import("./setup-BAI2F24H.js");
2122
+ const { runReconfigure } = await import("./setup-EYAFK2WI.js");
2017
2123
  await runReconfigure(cm);
2018
2124
  } else {
2019
- const { runSetup } = await import("./setup-BAI2F24H.js");
2125
+ const { runSetup } = await import("./setup-EYAFK2WI.js");
2020
2126
  await runSetup(cm, { skipRunMode: true });
2021
2127
  }
2022
2128
  }
@@ -2055,7 +2161,7 @@ async function cmdDefault(command2) {
2055
2161
  const { ConfigManager } = await import("./config-I4FMCJGZ.js");
2056
2162
  const cm = new ConfigManager();
2057
2163
  if (!await cm.exists()) {
2058
- const { runSetup } = await import("./setup-BAI2F24H.js");
2164
+ const { runSetup } = await import("./setup-EYAFK2WI.js");
2059
2165
  const shouldStart = await runSetup(cm);
2060
2166
  if (!shouldStart) process.exit(0);
2061
2167
  }
@@ -2073,7 +2179,7 @@ async function cmdDefault(command2) {
2073
2179
  }
2074
2180
  const { markRunning } = await import("./daemon-PXO5QPCR.js");
2075
2181
  markRunning();
2076
- const { startServer } = await import("./main-T5WVCCFN.js");
2182
+ const { startServer } = await import("./main-UVTZ46WP.js");
2077
2183
  await startServer();
2078
2184
  }
2079
2185
 
@@ -2147,7 +2253,7 @@ async function cmdDev(args2 = []) {
2147
2253
  process.env.OPENACP_DEBUG = "1";
2148
2254
  }
2149
2255
  process.env.OPENACP_DEV_LOOP = "1";
2150
- const { startServer } = await import("./main-T5WVCCFN.js");
2256
+ const { startServer } = await import("./main-UVTZ46WP.js");
2151
2257
  await startServer({ devPluginPath: pluginPath, noWatch });
2152
2258
  }
2153
2259
 
@@ -2180,7 +2286,7 @@ var commands = {
2180
2286
  "onboard": () => cmdOnboard(),
2181
2287
  "dev": () => cmdDev(args),
2182
2288
  "--daemon-child": async () => {
2183
- const { startServer } = await import("./main-T5WVCCFN.js");
2289
+ const { startServer } = await import("./main-UVTZ46WP.js");
2184
2290
  await startServer();
2185
2291
  }
2186
2292
  };