@openacp/cli 2026.328.2 → 2026.330.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 (85) hide show
  1. package/dist/{adapter-HGJENQCN.js → adapter-4U6MC5ZS.js} +4 -4
  2. package/dist/api-server-5VNYFWJE.js +7 -0
  3. package/dist/{api-server-WFB5K6FP.js → api-server-JLBDKCU4.js} +2 -2
  4. package/dist/{chunk-I53NEV3S.js → chunk-5WGVYX3C.js} +13 -3
  5. package/dist/chunk-5WGVYX3C.js.map +1 -0
  6. package/dist/{chunk-RXMWJHWH.js → chunk-5ZNBNIK3.js} +723 -217
  7. package/dist/chunk-5ZNBNIK3.js.map +1 -0
  8. package/dist/{chunk-6VR4GWOO.js → chunk-7RKPIM3E.js} +247 -70
  9. package/dist/chunk-7RKPIM3E.js.map +1 -0
  10. package/dist/{chunk-IXMIC4GQ.js → chunk-BTJHGSLM.js} +2 -2
  11. package/dist/{chunk-5TCXYDLR.js → chunk-CFUJGWOP.js} +2 -2
  12. package/dist/{chunk-43JVXFYP.js → chunk-GEOXPGCO.js} +2 -2
  13. package/dist/{chunk-JUFN4XMB.js → chunk-KDU3ZEWT.js} +2 -2
  14. package/dist/{chunk-QWP76EBW.js → chunk-MITTQMGZ.js} +16 -9
  15. package/dist/chunk-MITTQMGZ.js.map +1 -0
  16. package/dist/{chunk-QBEQJFGL.js → chunk-MPGEHTGE.js} +3 -3
  17. package/dist/{chunk-4B6PCWQP.js → chunk-PA6MNBG4.js} +6 -2
  18. package/dist/chunk-PA6MNBG4.js.map +1 -0
  19. package/dist/{chunk-VD3QSMVY.js → chunk-QWVHCTCA.js} +2 -2
  20. package/dist/{chunk-NT6FYV27.js → chunk-TMVTSWVH.js} +2 -2
  21. package/dist/chunk-UWH7KIAA.js +701 -0
  22. package/dist/chunk-UWH7KIAA.js.map +1 -0
  23. package/dist/{chunk-JOMDPFQ2.js → chunk-W4LK6WJP.js} +29 -4
  24. package/dist/chunk-W4LK6WJP.js.map +1 -0
  25. package/dist/{chunk-E2SLHZAC.js → chunk-YIGBJFJL.js} +6 -6
  26. package/dist/cli.js +63 -68
  27. package/dist/cli.js.map +1 -1
  28. package/dist/config-KN6NKKPF.js +20 -0
  29. package/dist/{config-editor-OU6PUY66.js → config-editor-76RVZS4B.js} +3 -3
  30. package/dist/context-NXXW62NJ.js +9 -0
  31. package/dist/{core-plugins-R2EVZAJV.js → core-plugins-OCHKGCIZ.js} +9 -9
  32. package/dist/{daemon-DTA6KYYY.js → daemon-XFEMMJSZ.js} +3 -3
  33. package/dist/doctor-AV6AUO22.js +9 -0
  34. package/dist/index.d.ts +104 -42
  35. package/dist/index.js +8 -8
  36. package/dist/{main-RRSX5SRL.js → main-L2M4NTJY.js} +38 -30
  37. package/dist/main-L2M4NTJY.js.map +1 -0
  38. package/dist/{plugin-installer-5XHORMLS.js → plugin-installer-VSTYZSXC.js} +2 -2
  39. package/dist/{setup-OI6A3OXW.js → setup-E6BNEYCS.js} +4 -5
  40. package/dist/setup-E6BNEYCS.js.map +1 -0
  41. package/dist/speech-SG62JYIF.js +9 -0
  42. package/dist/telegram-EAVRDNFU.js +7 -0
  43. package/dist/tunnel-HWJ27WDH.js +7 -0
  44. package/dist/{tunnel-service-I2NFUX3V.js → tunnel-service-ZMO4THKE.js} +88 -8
  45. package/dist/tunnel-service-ZMO4THKE.js.map +1 -0
  46. package/package.json +1 -1
  47. package/dist/api-server-DSUW637I.js +0 -7
  48. package/dist/chunk-4B6PCWQP.js.map +0 -1
  49. package/dist/chunk-6VR4GWOO.js.map +0 -1
  50. package/dist/chunk-I53NEV3S.js.map +0 -1
  51. package/dist/chunk-JOMDPFQ2.js.map +0 -1
  52. package/dist/chunk-QWP76EBW.js.map +0 -1
  53. package/dist/chunk-RXMWJHWH.js.map +0 -1
  54. package/dist/chunk-ZHGPZBS4.js +0 -49
  55. package/dist/chunk-ZHGPZBS4.js.map +0 -1
  56. package/dist/config-UCAFCS5W.js +0 -14
  57. package/dist/context-7MPU7RL5.js +0 -9
  58. package/dist/doctor-D723IB2I.js +0 -9
  59. package/dist/main-RRSX5SRL.js.map +0 -1
  60. package/dist/setup-OI6A3OXW.js.map +0 -1
  61. package/dist/speech-GB7PHVQZ.js +0 -9
  62. package/dist/telegram-UVIAXADE.js +0 -7
  63. package/dist/tunnel-4WNFC7GO.js +0 -7
  64. package/dist/tunnel-service-I2NFUX3V.js.map +0 -1
  65. /package/dist/{adapter-HGJENQCN.js.map → adapter-4U6MC5ZS.js.map} +0 -0
  66. /package/dist/{api-server-DSUW637I.js.map → api-server-5VNYFWJE.js.map} +0 -0
  67. /package/dist/{api-server-WFB5K6FP.js.map → api-server-JLBDKCU4.js.map} +0 -0
  68. /package/dist/{chunk-IXMIC4GQ.js.map → chunk-BTJHGSLM.js.map} +0 -0
  69. /package/dist/{chunk-5TCXYDLR.js.map → chunk-CFUJGWOP.js.map} +0 -0
  70. /package/dist/{chunk-43JVXFYP.js.map → chunk-GEOXPGCO.js.map} +0 -0
  71. /package/dist/{chunk-JUFN4XMB.js.map → chunk-KDU3ZEWT.js.map} +0 -0
  72. /package/dist/{chunk-QBEQJFGL.js.map → chunk-MPGEHTGE.js.map} +0 -0
  73. /package/dist/{chunk-VD3QSMVY.js.map → chunk-QWVHCTCA.js.map} +0 -0
  74. /package/dist/{chunk-NT6FYV27.js.map → chunk-TMVTSWVH.js.map} +0 -0
  75. /package/dist/{chunk-E2SLHZAC.js.map → chunk-YIGBJFJL.js.map} +0 -0
  76. /package/dist/{config-UCAFCS5W.js.map → config-KN6NKKPF.js.map} +0 -0
  77. /package/dist/{config-editor-OU6PUY66.js.map → config-editor-76RVZS4B.js.map} +0 -0
  78. /package/dist/{context-7MPU7RL5.js.map → context-NXXW62NJ.js.map} +0 -0
  79. /package/dist/{core-plugins-R2EVZAJV.js.map → core-plugins-OCHKGCIZ.js.map} +0 -0
  80. /package/dist/{daemon-DTA6KYYY.js.map → daemon-XFEMMJSZ.js.map} +0 -0
  81. /package/dist/{doctor-D723IB2I.js.map → doctor-AV6AUO22.js.map} +0 -0
  82. /package/dist/{plugin-installer-5XHORMLS.js.map → plugin-installer-VSTYZSXC.js.map} +0 -0
  83. /package/dist/{speech-GB7PHVQZ.js.map → speech-SG62JYIF.js.map} +0 -0
  84. /package/dist/{telegram-UVIAXADE.js.map → telegram-EAVRDNFU.js.map} +0 -0
  85. /package/dist/{tunnel-4WNFC7GO.js.map → tunnel-HWJ27WDH.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  TelegramAdapter
3
- } from "./chunk-RXMWJHWH.js";
3
+ } from "./chunk-5ZNBNIK3.js";
4
4
  import "./chunk-AFKX424Q.js";
5
- import "./chunk-43JVXFYP.js";
5
+ import "./chunk-GEOXPGCO.js";
6
6
  import "./chunk-APS6UEFU.js";
7
7
  import "./chunk-5HKQCYOI.js";
8
- import "./chunk-JOMDPFQ2.js";
8
+ import "./chunk-W4LK6WJP.js";
9
9
  import "./chunk-R6KZYF7D.js";
10
10
  export {
11
11
  TelegramAdapter
12
12
  };
13
- //# sourceMappingURL=adapter-HGJENQCN.js.map
13
+ //# sourceMappingURL=adapter-4U6MC5ZS.js.map
@@ -0,0 +1,7 @@
1
+ import {
2
+ api_server_default
3
+ } from "./chunk-KDU3ZEWT.js";
4
+ export {
5
+ api_server_default as default
6
+ };
7
+ //# sourceMappingURL=api-server-5VNYFWJE.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ApiServer
3
- } from "./chunk-IXMIC4GQ.js";
3
+ } from "./chunk-BTJHGSLM.js";
4
4
  import "./chunk-FNRSWA2K.js";
5
5
  import "./chunk-ZSLHHQPQ.js";
6
6
  import "./chunk-R6KZYF7D.js";
7
7
  export {
8
8
  ApiServer
9
9
  };
10
- //# sourceMappingURL=api-server-WFB5K6FP.js.map
10
+ //# sourceMappingURL=api-server-JLBDKCU4.js.map
@@ -1,7 +1,7 @@
1
1
  // src/core/plugin/plugin-installer.ts
2
2
  import { exec } from "child_process";
3
3
  import { promisify } from "util";
4
- import * as fs from "fs";
4
+ import * as fs from "fs/promises";
5
5
  import * as os from "os";
6
6
  import * as path from "path";
7
7
  import { pathToFileURL } from "url";
@@ -9,7 +9,12 @@ var execAsync = promisify(exec);
9
9
  async function importFromDir(packageName, dir) {
10
10
  const pkgDir = path.join(dir, "node_modules", ...packageName.split("/"));
11
11
  const pkgJsonPath = path.join(pkgDir, "package.json");
12
- const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8"));
12
+ let pkgJson;
13
+ try {
14
+ pkgJson = JSON.parse(await fs.readFile(pkgJsonPath, "utf-8"));
15
+ } catch (err) {
16
+ throw new Error(`Cannot read package.json for "${packageName}" at ${pkgJsonPath}: ${err.message}`);
17
+ }
13
18
  let entry;
14
19
  const exportsMain = pkgJson.exports?.["."];
15
20
  if (typeof exportsMain === "string") {
@@ -20,6 +25,11 @@ async function importFromDir(packageName, dir) {
20
25
  entry = pkgJson.main ?? "index.js";
21
26
  }
22
27
  const entryPath = path.join(pkgDir, entry);
28
+ try {
29
+ await fs.access(entryPath);
30
+ } catch {
31
+ throw new Error(`Entry point "${entry}" not found for "${packageName}" at ${entryPath}`);
32
+ }
23
33
  return import(pathToFileURL(entryPath).href);
24
34
  }
25
35
  var VALID_NPM_NAME = /^(@[a-z0-9][\w.-]*\/)?[a-z0-9][\w.-]*(@[\w.^~>=<|-]+)?$/i;
@@ -42,4 +52,4 @@ export {
42
52
  importFromDir,
43
53
  installNpmPlugin
44
54
  };
45
- //# sourceMappingURL=chunk-I53NEV3S.js.map
55
+ //# sourceMappingURL=chunk-5WGVYX3C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/plugin/plugin-installer.ts"],"sourcesContent":["import { exec } from 'node:child_process'\nimport { promisify } from 'node:util'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\nimport { pathToFileURL } from 'node:url'\n\nconst execAsync = promisify(exec)\n\n/**\n * Import a package resolved from a specific directory (not the project root).\n * Reads the package's package.json to find the ESM entry point, then imports by file path.\n */\nexport async function importFromDir(packageName: string, dir: string): Promise<any> {\n const pkgDir = path.join(dir, 'node_modules', ...packageName.split('/'))\n const pkgJsonPath = path.join(pkgDir, 'package.json')\n\n let pkgJson: Record<string, any>\n try {\n pkgJson = JSON.parse(await fs.readFile(pkgJsonPath, 'utf-8'))\n } catch (err) {\n throw new Error(`Cannot read package.json for \"${packageName}\" at ${pkgJsonPath}: ${(err as Error).message}`)\n }\n\n // Resolve entry: exports[\".\"].import > main > index.js\n let entry: string\n const exportsMain = pkgJson.exports?.['.']\n if (typeof exportsMain === 'string') {\n entry = exportsMain\n } else if (exportsMain?.import) {\n entry = exportsMain.import\n } else {\n entry = pkgJson.main ?? 'index.js'\n }\n\n const entryPath = path.join(pkgDir, entry)\n try {\n await fs.access(entryPath)\n } catch {\n throw new Error(`Entry point \"${entry}\" not found for \"${packageName}\" at ${entryPath}`)\n }\n\n return import(pathToFileURL(entryPath).href)\n}\n\n/** Valid npm package name: optional @scope/, alphanumeric/hyphens/dots, optional @version */\nconst VALID_NPM_NAME = /^(@[a-z0-9][\\w.-]*\\/)?[a-z0-9][\\w.-]*(@[\\w.^~>=<|-]+)?$/i;\n\n/**\n * Install an npm package to the plugins directory and return the loaded module.\n * Tries to import first; if not installed, runs npm install asynchronously.\n */\nexport async function installNpmPlugin(packageName: string, pluginsDir?: string): Promise<any> {\n if (!VALID_NPM_NAME.test(packageName)) {\n throw new Error(`Invalid package name: \"${packageName}\". Must be a valid npm package name.`);\n }\n\n const dir = pluginsDir ?? path.join(os.homedir(), '.openacp', 'plugins')\n\n // Try import from plugins dir first — already installed\n try {\n return await importFromDir(packageName, dir)\n } catch {\n // Not installed, proceed with install\n }\n\n await execAsync(`npm install ${packageName} --prefix \"${dir}\" --save`, {\n timeout: 60000,\n })\n\n return await importFromDir(packageName, dir)\n}\n"],"mappings":";AAAA,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAC1B,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,SAAS,qBAAqB;AAE9B,IAAM,YAAY,UAAU,IAAI;AAMhC,eAAsB,cAAc,aAAqB,KAA2B;AAClF,QAAM,SAAc,UAAK,KAAK,gBAAgB,GAAG,YAAY,MAAM,GAAG,CAAC;AACvE,QAAM,cAAmB,UAAK,QAAQ,cAAc;AAEpD,MAAI;AACJ,MAAI;AACF,cAAU,KAAK,MAAM,MAAS,YAAS,aAAa,OAAO,CAAC;AAAA,EAC9D,SAAS,KAAK;AACZ,UAAM,IAAI,MAAM,iCAAiC,WAAW,QAAQ,WAAW,KAAM,IAAc,OAAO,EAAE;AAAA,EAC9G;AAGA,MAAI;AACJ,QAAM,cAAc,QAAQ,UAAU,GAAG;AACzC,MAAI,OAAO,gBAAgB,UAAU;AACnC,YAAQ;AAAA,EACV,WAAW,aAAa,QAAQ;AAC9B,YAAQ,YAAY;AAAA,EACtB,OAAO;AACL,YAAQ,QAAQ,QAAQ;AAAA,EAC1B;AAEA,QAAM,YAAiB,UAAK,QAAQ,KAAK;AACzC,MAAI;AACF,UAAS,UAAO,SAAS;AAAA,EAC3B,QAAQ;AACN,UAAM,IAAI,MAAM,gBAAgB,KAAK,oBAAoB,WAAW,QAAQ,SAAS,EAAE;AAAA,EACzF;AAEA,SAAO,OAAO,cAAc,SAAS,EAAE;AACzC;AAGA,IAAM,iBAAiB;AAMvB,eAAsB,iBAAiB,aAAqB,YAAmC;AAC7F,MAAI,CAAC,eAAe,KAAK,WAAW,GAAG;AACrC,UAAM,IAAI,MAAM,0BAA0B,WAAW,sCAAsC;AAAA,EAC7F;AAEA,QAAM,MAAM,cAAmB,UAAQ,WAAQ,GAAG,YAAY,SAAS;AAGvE,MAAI;AACF,WAAO,MAAM,cAAc,aAAa,GAAG;AAAA,EAC7C,QAAQ;AAAA,EAER;AAEA,QAAM,UAAU,eAAe,WAAW,cAAc,GAAG,YAAY;AAAA,IACrE,SAAS;AAAA,EACX,CAAC;AAED,SAAO,MAAM,cAAc,aAAa,GAAG;AAC7C;","names":[]}