@openacp/cli 0.6.3 → 0.6.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.
Files changed (109) hide show
  1. package/dist/adapter-YSEIZJBA.js +798 -0
  2. package/dist/adapter-YSEIZJBA.js.map +1 -0
  3. package/dist/{admin-3ZHEO5VP.js → admin-SCP25TN2.js} +3 -3
  4. package/dist/agent-catalog-SBZQRYOD.js +10 -0
  5. package/dist/agent-store-CGE4G6PA.js +8 -0
  6. package/dist/{agents-SXIY4IEF.js → agents-QJPHNWK2.js} +3 -3
  7. package/dist/{autostart-A7JRU4WJ.js → autostart-6M3FZAKW.js} +3 -3
  8. package/dist/{chunk-PMGNLNSH.js → chunk-2CJ46J3C.js} +2 -2
  9. package/dist/{chunk-5HGXUCMX.js → chunk-34M4OS5P.js} +2 -2
  10. package/dist/{chunk-AVCHZESZ.js → chunk-3IRAWHMC.js} +49 -20
  11. package/dist/chunk-3IRAWHMC.js.map +1 -0
  12. package/dist/{chunk-EWYNCHUH.js → chunk-3ZO3MHZN.js} +22 -3
  13. package/dist/chunk-3ZO3MHZN.js.map +1 -0
  14. package/dist/{chunk-TTDSLV35.js → chunk-4CTX774K.js} +3 -3
  15. package/dist/chunk-4GQ3I65A.js +23 -0
  16. package/dist/chunk-4GQ3I65A.js.map +1 -0
  17. package/dist/{chunk-NXEQXRQR.js → chunk-774Y4RAK.js} +2 -2
  18. package/dist/{chunk-6LSFRNHE.js → chunk-7KZI2236.js} +3 -3
  19. package/dist/{chunk-SM3G6UAX.js → chunk-BNLGTZ34.js} +2 -2
  20. package/dist/{chunk-FMWSVLRM.js → chunk-FCLGYYTY.js} +1 -21
  21. package/dist/chunk-FCLGYYTY.js.map +1 -0
  22. package/dist/chunk-FEWSQT3U.js +3949 -0
  23. package/dist/chunk-FEWSQT3U.js.map +1 -0
  24. package/dist/{chunk-HP2IJYCA.js → chunk-FW6HM4VU.js} +91 -4030
  25. package/dist/chunk-FW6HM4VU.js.map +1 -0
  26. package/dist/{chunk-ESOPMQAY.js → chunk-GAK6PIBW.js} +25 -2
  27. package/dist/chunk-GAK6PIBW.js.map +1 -0
  28. package/dist/{chunk-3KGRVAEV.js → chunk-J4SJTKIK.js} +2 -2
  29. package/dist/{chunk-FZ5BIWG5.js → chunk-JV6XQRAE.js} +4 -4
  30. package/dist/{chunk-OHR6SBMC.js → chunk-PJVKOZTR.js} +3 -3
  31. package/dist/{chunk-EVFJW45N.js → chunk-S64CB6J3.js} +13 -13
  32. package/dist/{chunk-EVFJW45N.js.map → chunk-S64CB6J3.js.map} +1 -1
  33. package/dist/{chunk-CKOK7JW6.js → chunk-UKT3G5IA.js} +3 -3
  34. package/dist/{chunk-PWFPTG5X.js → chunk-V5GZQEIY.js} +2 -2
  35. package/dist/{chunk-KO5RL7MZ.js → chunk-WVMSP4AF.js} +2 -2
  36. package/dist/{chunk-TMCQZAXN.js → chunk-XVL6AGMG.js} +3 -3
  37. package/dist/{chunk-IER5UCY7.js → chunk-YQRF3IOR.js} +2 -2
  38. package/dist/{chunk-G3OHCXZG.js → chunk-ZKTIZME6.js} +194 -133
  39. package/dist/chunk-ZKTIZME6.js.map +1 -0
  40. package/dist/cli.js +54 -44
  41. package/dist/cli.js.map +1 -1
  42. package/dist/{config-4YSJ4NCI.js → config-B26J3XXN.js} +3 -3
  43. package/dist/config-editor-QTGUK3CD.js +12 -0
  44. package/dist/{daemon-I6XMRQ6P.js → daemon-5DS5BQXJ.js} +4 -4
  45. package/dist/{discord-VHCBN3JJ.js → discord-QKT3JMRW.js} +28 -26
  46. package/dist/{discord-VHCBN3JJ.js.map → discord-QKT3JMRW.js.map} +1 -1
  47. package/dist/doctor-6SUCVUZB.js +9 -0
  48. package/dist/doctor-QQ3YZEYV.js +14 -0
  49. package/dist/index.d.ts +166 -11
  50. package/dist/index.js +17 -14
  51. package/dist/{install-cloudflared-G2GUKCHA.js → install-cloudflared-FSILDS5J.js} +3 -3
  52. package/dist/{install-jq-7QTU7XYY.js → install-jq-P6RUBKPV.js} +3 -3
  53. package/dist/{log-SPS2S6FO.js → log-RCVBXLTN.js} +8 -4
  54. package/dist/{main-P4X6SAPZ.js → main-TSZR4HPP.js} +57 -29
  55. package/dist/main-TSZR4HPP.js.map +1 -0
  56. package/dist/{new-session-PUNUHGYP.js → new-session-K6UCWYOP.js} +5 -5
  57. package/dist/{post-upgrade-6N4JCV5S.js → post-upgrade-62LUHDJO.js} +5 -5
  58. package/dist/{session-ZMAM67AA.js → session-O6ZPLJIZ.js} +4 -4
  59. package/dist/{settings-OEQEZS5Y.js → settings-RRF77IC4.js} +3 -3
  60. package/dist/{setup-7YBFKRG7.js → setup-5ZKSUR26.js} +4 -4
  61. package/dist/{tunnel-service-BMIBHUBK.js → tunnel-service-NJJH4I26.js} +3 -3
  62. package/dist/{version-ALWGGVKM.js → version-AXXV6IV2.js} +2 -2
  63. package/package.json +6 -1
  64. package/dist/agent-catalog-IVU2KANH.js +0 -10
  65. package/dist/agent-store-ZBXGOFPH.js +0 -8
  66. package/dist/chunk-AVCHZESZ.js.map +0 -1
  67. package/dist/chunk-ESOPMQAY.js.map +0 -1
  68. package/dist/chunk-EWYNCHUH.js.map +0 -1
  69. package/dist/chunk-FMWSVLRM.js.map +0 -1
  70. package/dist/chunk-G3OHCXZG.js.map +0 -1
  71. package/dist/chunk-HP2IJYCA.js.map +0 -1
  72. package/dist/config-editor-F25HEMGL.js +0 -12
  73. package/dist/doctor-GPW5ECK6.js +0 -14
  74. package/dist/doctor-Y3SCSVPI.js +0 -9
  75. package/dist/main-P4X6SAPZ.js.map +0 -1
  76. /package/dist/{admin-3ZHEO5VP.js.map → admin-SCP25TN2.js.map} +0 -0
  77. /package/dist/{agent-catalog-IVU2KANH.js.map → agent-catalog-SBZQRYOD.js.map} +0 -0
  78. /package/dist/{agent-store-ZBXGOFPH.js.map → agent-store-CGE4G6PA.js.map} +0 -0
  79. /package/dist/{agents-SXIY4IEF.js.map → agents-QJPHNWK2.js.map} +0 -0
  80. /package/dist/{autostart-A7JRU4WJ.js.map → autostart-6M3FZAKW.js.map} +0 -0
  81. /package/dist/{chunk-PMGNLNSH.js.map → chunk-2CJ46J3C.js.map} +0 -0
  82. /package/dist/{chunk-5HGXUCMX.js.map → chunk-34M4OS5P.js.map} +0 -0
  83. /package/dist/{chunk-TTDSLV35.js.map → chunk-4CTX774K.js.map} +0 -0
  84. /package/dist/{chunk-NXEQXRQR.js.map → chunk-774Y4RAK.js.map} +0 -0
  85. /package/dist/{chunk-6LSFRNHE.js.map → chunk-7KZI2236.js.map} +0 -0
  86. /package/dist/{chunk-SM3G6UAX.js.map → chunk-BNLGTZ34.js.map} +0 -0
  87. /package/dist/{chunk-3KGRVAEV.js.map → chunk-J4SJTKIK.js.map} +0 -0
  88. /package/dist/{chunk-FZ5BIWG5.js.map → chunk-JV6XQRAE.js.map} +0 -0
  89. /package/dist/{chunk-OHR6SBMC.js.map → chunk-PJVKOZTR.js.map} +0 -0
  90. /package/dist/{chunk-CKOK7JW6.js.map → chunk-UKT3G5IA.js.map} +0 -0
  91. /package/dist/{chunk-PWFPTG5X.js.map → chunk-V5GZQEIY.js.map} +0 -0
  92. /package/dist/{chunk-KO5RL7MZ.js.map → chunk-WVMSP4AF.js.map} +0 -0
  93. /package/dist/{chunk-TMCQZAXN.js.map → chunk-XVL6AGMG.js.map} +0 -0
  94. /package/dist/{chunk-IER5UCY7.js.map → chunk-YQRF3IOR.js.map} +0 -0
  95. /package/dist/{config-4YSJ4NCI.js.map → config-B26J3XXN.js.map} +0 -0
  96. /package/dist/{config-editor-F25HEMGL.js.map → config-editor-QTGUK3CD.js.map} +0 -0
  97. /package/dist/{daemon-I6XMRQ6P.js.map → daemon-5DS5BQXJ.js.map} +0 -0
  98. /package/dist/{doctor-GPW5ECK6.js.map → doctor-6SUCVUZB.js.map} +0 -0
  99. /package/dist/{doctor-Y3SCSVPI.js.map → doctor-QQ3YZEYV.js.map} +0 -0
  100. /package/dist/{install-cloudflared-G2GUKCHA.js.map → install-cloudflared-FSILDS5J.js.map} +0 -0
  101. /package/dist/{install-jq-7QTU7XYY.js.map → install-jq-P6RUBKPV.js.map} +0 -0
  102. /package/dist/{log-SPS2S6FO.js.map → log-RCVBXLTN.js.map} +0 -0
  103. /package/dist/{new-session-PUNUHGYP.js.map → new-session-K6UCWYOP.js.map} +0 -0
  104. /package/dist/{post-upgrade-6N4JCV5S.js.map → post-upgrade-62LUHDJO.js.map} +0 -0
  105. /package/dist/{session-ZMAM67AA.js.map → session-O6ZPLJIZ.js.map} +0 -0
  106. /package/dist/{settings-OEQEZS5Y.js.map → settings-RRF77IC4.js.map} +0 -0
  107. /package/dist/{setup-7YBFKRG7.js.map → setup-5ZKSUR26.js.map} +0 -0
  108. /package/dist/{tunnel-service-BMIBHUBK.js.map → tunnel-service-NJJH4I26.js.map} +0 -0
  109. /package/dist/{version-ALWGGVKM.js.map → version-AXXV6IV2.js.map} +0 -0
@@ -59,6 +59,22 @@ function wrapVariadic(logger) {
59
59
  };
60
60
  }
61
61
  var log = wrapVariadic(rootLogger);
62
+ var muteCount = 0;
63
+ var savedLevel = "info";
64
+ function muteLogger() {
65
+ if (muteCount === 0) {
66
+ savedLevel = rootLogger.level;
67
+ rootLogger.level = "silent";
68
+ }
69
+ muteCount++;
70
+ }
71
+ function unmuteLogger() {
72
+ muteCount--;
73
+ if (muteCount <= 0) {
74
+ muteCount = 0;
75
+ rootLogger.level = savedLevel;
76
+ }
77
+ }
62
78
  function initLogger(config) {
63
79
  if (initialized) return rootLogger;
64
80
  const resolvedLogDir = expandHome(config.logDir);
@@ -74,7 +90,12 @@ function initLogger(config) {
74
90
  targets: [
75
91
  {
76
92
  target: "pino-pretty",
77
- options: { colorize: true, translateTime: "SYS:standard" },
93
+ options: {
94
+ colorize: true,
95
+ translateTime: "HH:mm:ss",
96
+ ignore: "pid,hostname",
97
+ singleLine: true
98
+ },
78
99
  level: config.level
79
100
  },
80
101
  {
@@ -191,6 +212,8 @@ async function cleanupOldSessionLogs(retentionDays) {
191
212
 
192
213
  export {
193
214
  log,
215
+ muteLogger,
216
+ unmuteLogger,
194
217
  initLogger,
195
218
  setLogLevel,
196
219
  createChildLogger,
@@ -198,4 +221,4 @@ export {
198
221
  shutdownLogger,
199
222
  cleanupOldSessionLogs
200
223
  };
201
- //# sourceMappingURL=chunk-ESOPMQAY.js.map
224
+ //# sourceMappingURL=chunk-GAK6PIBW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/log.ts"],"sourcesContent":["import pino from 'pino'\nimport fs from 'node:fs'\nimport path from 'node:path'\nimport os from 'node:os'\nimport type { LoggingConfig } from './config.js'\n\nexport type Logger = pino.Logger\n\n// --- Default console-only logger (pre-init) ---\nlet rootLogger: pino.Logger = pino({\n level: 'debug',\n transport: { target: 'pino-pretty', options: { colorize: true, translateTime: 'SYS:standard' } },\n})\nlet initialized = false\nlet logDir: string | undefined\nlet currentTransport: ReturnType<typeof pino.transport> | undefined\n\nfunction expandHome(p: string): string {\n return p.startsWith('~') ? path.join(os.homedir(), p.slice(1)) : p\n}\n\n// --- Variadic wrapper for backward compatibility ---\nfunction wrapVariadic(logger: pino.Logger) {\n return {\n info: (...args: unknown[]) => {\n if (args.length === 0) return\n if (typeof args[0] === 'object' && args[0] !== null && !(args[0] instanceof Error)) {\n logger.info(args[0] as object, args.slice(1).join(' '))\n } else {\n logger.info(args.map(String).join(' '))\n }\n },\n warn: (...args: unknown[]) => {\n if (args.length === 0) return\n if (typeof args[0] === 'object' && args[0] !== null && !(args[0] instanceof Error)) {\n logger.warn(args[0] as object, args.slice(1).join(' '))\n } else {\n logger.warn(args.map(String).join(' '))\n }\n },\n error: (...args: unknown[]) => {\n if (args.length === 0) return\n if (typeof args[0] === 'object' && args[0] !== null && !(args[0] instanceof Error)) {\n logger.error(args[0] as object, args.slice(1).join(' '))\n } else {\n logger.error(args.map(String).join(' '))\n }\n },\n debug: (...args: unknown[]) => {\n if (args.length === 0) return\n if (typeof args[0] === 'object' && args[0] !== null && !(args[0] instanceof Error)) {\n logger.debug(args[0] as object, args.slice(1).join(' '))\n } else {\n logger.debug(args.map(String).join(' '))\n }\n },\n fatal: (...args: unknown[]) => {\n if (args.length === 0) return\n if (typeof args[0] === 'object' && args[0] !== null && !(args[0] instanceof Error)) {\n logger.fatal(args[0] as object, args.slice(1).join(' '))\n } else {\n logger.fatal(args.map(String).join(' '))\n }\n },\n child: (bindings: pino.Bindings) => logger.child(bindings),\n }\n}\n\nexport const log = wrapVariadic(rootLogger)\n\n// --- Mute/unmute (suppress pino output during interactive prompts) ---\n\nlet muteCount = 0\nlet savedLevel = 'info'\n\nexport function muteLogger(): void {\n if (muteCount === 0) {\n savedLevel = rootLogger.level\n rootLogger.level = 'silent'\n }\n muteCount++\n}\n\nexport function unmuteLogger(): void {\n muteCount--\n if (muteCount <= 0) {\n muteCount = 0\n rootLogger.level = savedLevel\n }\n}\n\n// --- Public API ---\n\nexport function initLogger(config: LoggingConfig): Logger {\n if (initialized) return rootLogger\n\n const resolvedLogDir = expandHome(config.logDir)\n logDir = resolvedLogDir\n\n try {\n fs.mkdirSync(resolvedLogDir, { recursive: true })\n fs.mkdirSync(path.join(resolvedLogDir, 'sessions'), { recursive: true })\n } catch (err) {\n console.error(`[WARN] Failed to create log directory ${resolvedLogDir}, falling back to console-only:`, err)\n return rootLogger\n }\n\n const transports = pino.transport({\n targets: [\n {\n target: 'pino-pretty',\n options: {\n colorize: true,\n translateTime: 'HH:mm:ss',\n ignore: 'pid,hostname',\n singleLine: true,\n },\n level: config.level,\n },\n {\n target: 'pino-roll',\n options: {\n file: path.join(resolvedLogDir, 'openacp.log'),\n size: config.maxFileSize,\n limit: { count: config.maxFiles },\n },\n level: config.level,\n },\n ],\n })\n\n currentTransport = transports\n rootLogger = pino({ level: config.level }, transports)\n initialized = true\n\n // Update the default log wrapper to use the new root logger\n Object.assign(log, wrapVariadic(rootLogger))\n\n return rootLogger\n}\n\n/** Change log level at runtime. Pino transport targets respect parent level changes automatically. */\nexport function setLogLevel(level: string): void {\n rootLogger.level = level\n}\n\nexport function createChildLogger(context: { module: string; [key: string]: unknown }): Logger {\n // Return a proxy that always delegates to the current rootLogger.\n // This ensures child loggers created at module-level (before initLogger)\n // pick up the initialized logger with pino-pretty transport.\n return new Proxy({} as Logger, {\n get(_target, prop, receiver) {\n const child = rootLogger.child(context)\n const value = Reflect.get(child, prop, receiver)\n return typeof value === 'function' ? value.bind(child) : value\n },\n })\n}\n\nexport function createSessionLogger(sessionId: string, parentLogger: Logger): Logger {\n const sessionLogDir = logDir ? path.join(logDir, 'sessions') : undefined\n if (!sessionLogDir) {\n return parentLogger.child({ sessionId })\n }\n\n try {\n const sessionLogPath = path.join(sessionLogDir, `${sessionId}.log`)\n const dest = pino.destination(sessionLogPath)\n const sessionFileLogger = pino({ level: parentLogger.level }, dest).child({ sessionId })\n\n // Create a logger that writes to both parent (combined) and session file\n const combinedChild = parentLogger.child({ sessionId })\n const originalInfo = combinedChild.info.bind(combinedChild)\n const originalWarn = combinedChild.warn.bind(combinedChild)\n const originalError = combinedChild.error.bind(combinedChild)\n const originalDebug = combinedChild.debug.bind(combinedChild)\n const originalFatal = combinedChild.fatal.bind(combinedChild)\n\n // Proxy log methods to write to both destinations\n combinedChild.info = ((objOrMsg: any, ...rest: any[]) => {\n sessionFileLogger.info(objOrMsg, ...rest)\n return originalInfo(objOrMsg, ...rest)\n }) as any\n combinedChild.warn = ((objOrMsg: any, ...rest: any[]) => {\n sessionFileLogger.warn(objOrMsg, ...rest)\n return originalWarn(objOrMsg, ...rest)\n }) as any\n combinedChild.error = ((objOrMsg: any, ...rest: any[]) => {\n sessionFileLogger.error(objOrMsg, ...rest)\n return originalError(objOrMsg, ...rest)\n }) as any\n combinedChild.debug = ((objOrMsg: any, ...rest: any[]) => {\n sessionFileLogger.debug(objOrMsg, ...rest)\n return originalDebug(objOrMsg, ...rest)\n }) as any\n combinedChild.fatal = ((objOrMsg: any, ...rest: any[]) => {\n sessionFileLogger.fatal(objOrMsg, ...rest)\n return originalFatal(objOrMsg, ...rest)\n }) as any\n\n // Store dest for cleanup\n ;(combinedChild as any).__sessionDest = dest\n\n return combinedChild\n } catch (err) {\n // Graceful degradation: session file failed, just use combined log\n parentLogger.warn({ sessionId, err }, 'Failed to create session log file, using combined log only')\n return parentLogger.child({ sessionId })\n }\n}\n\nexport async function shutdownLogger(): Promise<void> {\n if (!initialized) return\n\n const transport = currentTransport\n\n // Reset state immediately so re-init is possible\n rootLogger = pino({ level: 'debug' })\n Object.assign(log, wrapVariadic(rootLogger))\n currentTransport = undefined\n logDir = undefined\n initialized = false\n\n if (transport) {\n await new Promise<void>((resolve) => {\n const timeout = setTimeout(resolve, 3000)\n transport.on('close', () => {\n clearTimeout(timeout)\n resolve()\n })\n transport.end()\n })\n }\n}\n\nexport async function cleanupOldSessionLogs(retentionDays: number): Promise<void> {\n if (!logDir) return\n\n const sessionsDir = path.join(logDir, 'sessions')\n try {\n const files = await fs.promises.readdir(sessionsDir)\n const cutoff = Date.now() - retentionDays * 24 * 60 * 60 * 1000\n\n for (const file of files) {\n try {\n const filePath = path.join(sessionsDir, file)\n const stat = await fs.promises.stat(filePath)\n if (stat.mtimeMs < cutoff) {\n await fs.promises.unlink(filePath)\n rootLogger.debug({ file }, 'Deleted old session log')\n }\n } catch (err) {\n rootLogger.warn({ file, err }, 'Failed to delete old session log')\n }\n }\n } catch {\n // Sessions directory doesn't exist — no-op\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  log
3
- } from "./chunk-ESOPMQAY.js";
3
+ } from "./chunk-GAK6PIBW.js";
4
4
 
5
5
  // src/adapters/discord/commands/agents.ts
6
6
  import {
@@ -200,4 +200,4 @@ export {
200
200
  handleInstall,
201
201
  handleAgentButton
202
202
  };
203
- //# sourceMappingURL=chunk-3KGRVAEV.js.map
203
+ //# sourceMappingURL=chunk-J4SJTKIK.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  buildSessionControlKeyboard
3
- } from "./chunk-NXEQXRQR.js";
3
+ } from "./chunk-774Y4RAK.js";
4
4
  import {
5
5
  createSessionThread,
6
6
  deleteSessionThread
7
- } from "./chunk-SM3G6UAX.js";
7
+ } from "./chunk-BNLGTZ34.js";
8
8
  import {
9
9
  log
10
- } from "./chunk-ESOPMQAY.js";
10
+ } from "./chunk-GAK6PIBW.js";
11
11
 
12
12
  // src/adapters/discord/commands/new-session.ts
13
13
  import {
@@ -142,4 +142,4 @@ export {
142
142
  executeNewSession,
143
143
  handleNewSessionButton
144
144
  };
145
- //# sourceMappingURL=chunk-FZ5BIWG5.js.map
145
+ //# sourceMappingURL=chunk-JV6XQRAE.js.map
@@ -3,7 +3,7 @@ import {
3
3
  ConfigSchema,
4
4
  applyMigrations,
5
5
  expandHome
6
- } from "./chunk-EWYNCHUH.js";
6
+ } from "./chunk-3ZO3MHZN.js";
7
7
 
8
8
  // src/core/doctor/index.ts
9
9
  import * as fs8 from "fs";
@@ -605,7 +605,7 @@ var tunnelCheck = {
605
605
  fixRisk: "safe",
606
606
  fix: async () => {
607
607
  try {
608
- const { ensureCloudflared } = await import("./install-cloudflared-G2GUKCHA.js");
608
+ const { ensureCloudflared } = await import("./install-cloudflared-FSILDS5J.js");
609
609
  await ensureCloudflared();
610
610
  return { success: true, message: "installed cloudflared" };
611
611
  } catch (err) {
@@ -721,4 +721,4 @@ var DoctorEngine = class {
721
721
  export {
722
722
  DoctorEngine
723
723
  };
724
- //# sourceMappingURL=chunk-OHR6SBMC.js.map
724
+ //# sourceMappingURL=chunk-PJVKOZTR.js.map
@@ -72,19 +72,19 @@ async function checkAndPromptUpdate() {
72
72
  const latest = await getLatestVersion();
73
73
  if (!latest || compareVersions(current, latest) >= 0) return;
74
74
  console.log(`\x1B[33mUpdate available: v${current} \u2192 v${latest}\x1B[0m`);
75
- const { confirm } = await import("@inquirer/prompts");
76
- const yes = await confirm({
77
- message: "Update now before starting?",
78
- default: true
75
+ const clack = await import("@clack/prompts");
76
+ const yes = await clack.confirm({
77
+ message: "Update now before starting?"
79
78
  });
80
- if (yes) {
81
- const ok = await runUpdate();
82
- if (ok) {
83
- console.log(`\x1B[32m\u2713 Updated to v${latest}. Please re-run your command.\x1B[0m`);
84
- process.exit(0);
85
- } else {
86
- console.error("\x1B[31mUpdate failed. Continuing with current version.\x1B[0m");
87
- }
79
+ if (clack.isCancel(yes) || !yes) {
80
+ return;
81
+ }
82
+ const ok = await runUpdate();
83
+ if (ok) {
84
+ console.log(`\x1B[32m\u2713 Updated to v${latest}. Please re-run your command.\x1B[0m`);
85
+ process.exit(0);
86
+ } else {
87
+ console.error("\x1B[31mUpdate failed. Continuing with current version.\x1B[0m");
88
88
  }
89
89
  }
90
90
 
@@ -95,4 +95,4 @@ export {
95
95
  runUpdate,
96
96
  checkAndPromptUpdate
97
97
  };
98
- //# sourceMappingURL=chunk-EVFJW45N.js.map
98
+ //# sourceMappingURL=chunk-S64CB6J3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/version.ts"],"sourcesContent":["import { fileURLToPath } from 'node:url'\nimport { dirname, join, resolve } from 'node:path'\nimport { existsSync, readFileSync } from 'node:fs'\n\nconst NPM_PACKAGE = '@openacp/cli'\n\nfunction findPackageJson(): string | null {\n let dir = dirname(fileURLToPath(import.meta.url))\n for (let i = 0; i < 5; i++) {\n const candidate = join(dir, 'package.json')\n if (existsSync(candidate)) return candidate\n const parent = resolve(dir, '..')\n if (parent === dir) break\n dir = parent\n }\n return null\n}\n\nexport function getCurrentVersion(): string {\n try {\n const pkgPath = findPackageJson()\n if (!pkgPath) return '0.0.0-dev'\n const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'))\n return pkg.version as string\n } catch {\n return '0.0.0-dev'\n }\n}\n\nexport async function getLatestVersion(): Promise<string | null> {\n try {\n const res = await fetch(`https://registry.npmjs.org/${NPM_PACKAGE}/latest`, {\n signal: AbortSignal.timeout(5000),\n })\n if (!res.ok) return null\n const data = (await res.json()) as { version?: string }\n return data.version ?? null\n } catch {\n return null\n }\n}\n\nexport function compareVersions(current: string, latest: string): -1 | 0 | 1 {\n const a = current.split('.').map(Number)\n const b = latest.split('.').map(Number)\n for (let i = 0; i < 3; i++) {\n if ((a[i] ?? 0) < (b[i] ?? 0)) return -1\n if ((a[i] ?? 0) > (b[i] ?? 0)) return 1\n }\n return 0\n}\n\nexport async function runUpdate(): Promise<boolean> {\n const { spawn } = await import('node:child_process')\n return new Promise((resolve) => {\n const child = spawn('npm', ['install', '-g', `${NPM_PACKAGE}@latest`], {\n stdio: 'inherit',\n shell: true,\n })\n const onSignal = () => {\n child.kill('SIGTERM')\n resolve(false)\n }\n process.on('SIGINT', onSignal)\n process.on('SIGTERM', onSignal)\n child.on('close', (code) => {\n process.off('SIGINT', onSignal)\n process.off('SIGTERM', onSignal)\n resolve(code === 0)\n })\n })\n}\n\nexport async function checkAndPromptUpdate(): Promise<void> {\n if (process.env.OPENACP_DEV_LOOP || process.env.OPENACP_SKIP_UPDATE_CHECK) return\n\n const current = getCurrentVersion()\n if (current === '0.0.0-dev') return\n\n const latest = await getLatestVersion()\n if (!latest || compareVersions(current, latest) >= 0) return\n\n console.log(`\\x1b[33mUpdate available: v${current} → v${latest}\\x1b[0m`)\n const { confirm } = await import('@inquirer/prompts')\n const yes = await confirm({\n message: 'Update now before starting?',\n default: true,\n })\n if (yes) {\n const ok = await runUpdate()\n if (ok) {\n console.log(`\\x1b[32m✓ Updated to v${latest}. Please re-run your command.\\x1b[0m`)\n process.exit(0)\n } else {\n console.error('\\x1b[31mUpdate failed. Continuing with current version.\\x1b[0m')\n }\n }\n}\n"],"mappings":"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","names":["resolve"]}
1
+ {"version":3,"sources":["../../src/cli/version.ts"],"sourcesContent":["import { fileURLToPath } from 'node:url'\nimport { dirname, join, resolve } from 'node:path'\nimport { existsSync, readFileSync } from 'node:fs'\n\nconst NPM_PACKAGE = '@openacp/cli'\n\nfunction findPackageJson(): string | null {\n let dir = dirname(fileURLToPath(import.meta.url))\n for (let i = 0; i < 5; i++) {\n const candidate = join(dir, 'package.json')\n if (existsSync(candidate)) return candidate\n const parent = resolve(dir, '..')\n if (parent === dir) break\n dir = parent\n }\n return null\n}\n\nexport function getCurrentVersion(): string {\n try {\n const pkgPath = findPackageJson()\n if (!pkgPath) return '0.0.0-dev'\n const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'))\n return pkg.version as string\n } catch {\n return '0.0.0-dev'\n }\n}\n\nexport async function getLatestVersion(): Promise<string | null> {\n try {\n const res = await fetch(`https://registry.npmjs.org/${NPM_PACKAGE}/latest`, {\n signal: AbortSignal.timeout(5000),\n })\n if (!res.ok) return null\n const data = (await res.json()) as { version?: string }\n return data.version ?? null\n } catch {\n return null\n }\n}\n\nexport function compareVersions(current: string, latest: string): -1 | 0 | 1 {\n const a = current.split('.').map(Number)\n const b = latest.split('.').map(Number)\n for (let i = 0; i < 3; i++) {\n if ((a[i] ?? 0) < (b[i] ?? 0)) return -1\n if ((a[i] ?? 0) > (b[i] ?? 0)) return 1\n }\n return 0\n}\n\nexport async function runUpdate(): Promise<boolean> {\n const { spawn } = await import('node:child_process')\n return new Promise((resolve) => {\n const child = spawn('npm', ['install', '-g', `${NPM_PACKAGE}@latest`], {\n stdio: 'inherit',\n shell: true,\n })\n const onSignal = () => {\n child.kill('SIGTERM')\n resolve(false)\n }\n process.on('SIGINT', onSignal)\n process.on('SIGTERM', onSignal)\n child.on('close', (code) => {\n process.off('SIGINT', onSignal)\n process.off('SIGTERM', onSignal)\n resolve(code === 0)\n })\n })\n}\n\nexport async function checkAndPromptUpdate(): Promise<void> {\n if (process.env.OPENACP_DEV_LOOP || process.env.OPENACP_SKIP_UPDATE_CHECK) return\n\n const current = getCurrentVersion()\n if (current === '0.0.0-dev') return\n\n const latest = await getLatestVersion()\n if (!latest || compareVersions(current, latest) >= 0) return\n\n console.log(`\\x1b[33mUpdate available: v${current} → v${latest}\\x1b[0m`)\n const clack = await import('@clack/prompts')\n const yes = await clack.confirm({\n message: 'Update now before starting?',\n })\n if (clack.isCancel(yes) || !yes) {\n return\n }\n const ok = await runUpdate()\n if (ok) {\n console.log(`\\x1b[32m✓ Updated to v${latest}. Please re-run your command.\\x1b[0m`)\n process.exit(0)\n } else {\n console.error('\\x1b[31mUpdate failed. Continuing with current version.\\x1b[0m')\n }\n}\n"],"mappings":"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","names":["resolve"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AgentStore
3
- } from "./chunk-5HGXUCMX.js";
3
+ } from "./chunk-34M4OS5P.js";
4
4
  import {
5
5
  checkDependencies,
6
6
  checkRuntimeAvailable,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-JKBFUAJK.js";
10
10
  import {
11
11
  createChildLogger
12
- } from "./chunk-ESOPMQAY.js";
12
+ } from "./chunk-GAK6PIBW.js";
13
13
 
14
14
  // src/core/agent-catalog.ts
15
15
  import * as fs2 from "fs";
@@ -481,4 +481,4 @@ var AgentCatalog = class {
481
481
  export {
482
482
  AgentCatalog
483
483
  };
484
- //# sourceMappingURL=chunk-CKOK7JW6.js.map
484
+ //# sourceMappingURL=chunk-UKT3G5IA.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-JKBFUAJK.js";
4
4
  import {
5
5
  createChildLogger
6
- } from "./chunk-ESOPMQAY.js";
6
+ } from "./chunk-GAK6PIBW.js";
7
7
 
8
8
  // src/core/install-binary.ts
9
9
  import fs from "fs";
@@ -98,4 +98,4 @@ async function ensureBinary(spec) {
98
98
  export {
99
99
  ensureBinary
100
100
  };
101
- //# sourceMappingURL=chunk-PWFPTG5X.js.map
101
+ //# sourceMappingURL=chunk-V5GZQEIY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  expandHome
3
- } from "./chunk-EWYNCHUH.js";
3
+ } from "./chunk-3ZO3MHZN.js";
4
4
 
5
5
  // src/core/daemon.ts
6
6
  import { spawn } from "child_process";
@@ -169,4 +169,4 @@ export {
169
169
  clearRunning,
170
170
  shouldAutoStart
171
171
  };
172
- //# sourceMappingURL=chunk-KO5RL7MZ.js.map
172
+ //# sourceMappingURL=chunk-WVMSP4AF.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  PLUGINS_DIR
3
- } from "./chunk-EWYNCHUH.js";
3
+ } from "./chunk-3ZO3MHZN.js";
4
4
  import {
5
5
  createChildLogger
6
- } from "./chunk-ESOPMQAY.js";
6
+ } from "./chunk-GAK6PIBW.js";
7
7
 
8
8
  // src/core/plugin-manager.ts
9
9
  import { execSync } from "child_process";
@@ -60,4 +60,4 @@ export {
60
60
  listPlugins,
61
61
  loadAdapterFactory
62
62
  };
63
- //# sourceMappingURL=chunk-TMCQZAXN.js.map
63
+ //# sourceMappingURL=chunk-XVL6AGMG.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-F3AICYO4.js";
7
7
  import {
8
8
  log
9
- } from "./chunk-ESOPMQAY.js";
9
+ } from "./chunk-GAK6PIBW.js";
10
10
 
11
11
  // src/adapters/discord/commands/settings.ts
12
12
  import {
@@ -295,4 +295,4 @@ export {
295
295
  showSettingsInfo,
296
296
  handleSettingsButton
297
297
  };
298
- //# sourceMappingURL=chunk-IER5UCY7.js.map
298
+ //# sourceMappingURL=chunk-YQRF3IOR.js.map