@agentuity/cli 1.0.13 → 1.0.14

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/bin/cli.ts CHANGED
@@ -299,6 +299,14 @@ await registerCommands(program, commands, ctx as unknown as CommandContext);
299
299
 
300
300
  try {
301
301
  await program.parseAsync(process.argv);
302
+ // Ensure clean exit after successful command execution.
303
+ // In TTY environments, process.stdin may keep the event loop alive
304
+ // (e.g., after confirm() calls resume()/setRawMode()), and Bun does not
305
+ // support process.stdin.unref(), so we must explicitly exit.
306
+ closeDatabase();
307
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
308
+ const exit = (globalThis as any).AGENTUITY_PROCESS_EXIT || process.exit;
309
+ exit(0);
302
310
  } catch (error) {
303
311
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
304
312
  const exit = (globalThis as any).AGENTUITY_PROCESS_EXIT || process.exit;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * npm registry availability checking utilities.
3
- * Used to verify a version is available via bun's resolver before attempting upgrade.
3
+ * Used to verify a version is available on npm before attempting upgrade.
4
4
  */
5
5
  /**
6
6
  * Run a command via Bun.spawn with a timeout that kills the process.
@@ -15,17 +15,16 @@ export declare function spawnWithTimeout(cmd: string[], options: {
15
15
  stderr: Buffer;
16
16
  }>;
17
17
  /**
18
- * Check if a specific version of @agentuity/cli is resolvable by bun.
19
- * Uses `bun info` to verify bun's own resolver/CDN can see the version,
20
- * which avoids the race where npm registry returns 200 but bun's CDN
21
- * has not yet propagated the version.
18
+ * Check if a specific version of @agentuity/cli is available on the npm registry.
22
19
  *
23
20
  * @param version - Version to check (with or without 'v' prefix)
24
21
  * @returns true if version is available, false otherwise
25
22
  */
26
- export declare function isVersionAvailableOnNpm(version: string): Promise<boolean>;
23
+ export declare function isVersionAvailableOnNpm(version: string, options?: {
24
+ timeoutMs?: number;
25
+ }): Promise<boolean>;
27
26
  /**
28
- * Quick check if a version is available via bun's resolver.
27
+ * Quick check if a version is available on npm.
29
28
  * Used for implicit version checks (auto-upgrade flow).
30
29
  *
31
30
  * @param version - Version to check (with or without 'v' prefix)
@@ -1 +1 @@
1
- {"version":3,"file":"npm-availability.d.ts","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC/D;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB/E;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpF;AAED,MAAM,WAAW,iBAAiB;IACjC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAsBlB;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,MAAM,WAAW,uBAAuB;IACvC,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACrC,SAAS,EAAE,MAAM,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC9D,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAoD/C"}
1
+ {"version":3,"file":"npm-availability.d.ts","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC/D;AAoCD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpF;AAED,MAAM,WAAW,iBAAiB;IACjC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAsBlB;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,MAAM,WAAW,uBAAuB;IACvC,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACrC,SAAS,EAAE,MAAM,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC9D,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAoD/C"}
@@ -1,11 +1,8 @@
1
1
  /**
2
2
  * npm registry availability checking utilities.
3
- * Used to verify a version is available via bun's resolver before attempting upgrade.
3
+ * Used to verify a version is available on npm before attempting upgrade.
4
4
  */
5
- import { tmpdir } from 'node:os';
6
5
  const PACKAGE_SPEC = '@agentuity/cli';
7
- /** Default timeout for `bun info` subprocess calls (10 seconds) */
8
- const BUN_INFO_TIMEOUT_MS = 10_000;
9
6
  /** Default timeout for install (`bun add -g`) subprocess calls (30 seconds) */
10
7
  const INSTALL_TIMEOUT_MS = 30_000;
11
8
  /**
@@ -72,25 +69,19 @@ async function withTimeout(promise, timeoutMs, description) {
72
69
  }
73
70
  }
74
71
  /**
75
- * Check if a specific version of @agentuity/cli is resolvable by bun.
76
- * Uses `bun info` to verify bun's own resolver/CDN can see the version,
77
- * which avoids the race where npm registry returns 200 but bun's CDN
78
- * has not yet propagated the version.
72
+ * Check if a specific version of @agentuity/cli is available on the npm registry.
79
73
  *
80
74
  * @param version - Version to check (with or without 'v' prefix)
81
75
  * @returns true if version is available, false otherwise
82
76
  */
83
- export async function isVersionAvailableOnNpm(version) {
77
+ export async function isVersionAvailableOnNpm(version, options) {
84
78
  const normalizedVersion = version.replace(/^v/, '');
79
+ const timeoutMs = options?.timeoutMs ?? 10_000;
85
80
  try {
86
- const result = await spawnWithTimeout(['bun', 'info', `${PACKAGE_SPEC}@${normalizedVersion}`, '--json'], { cwd: tmpdir(), timeout: BUN_INFO_TIMEOUT_MS });
87
- if (result.exitCode !== 0) {
81
+ const response = await fetch(`https://registry.npmjs.org/${PACKAGE_SPEC}/${normalizedVersion}`, { signal: AbortSignal.timeout(timeoutMs) });
82
+ if (!response.ok)
88
83
  return false;
89
- }
90
- const info = JSON.parse(result.stdout.toString());
91
- if (info.error) {
92
- return false;
93
- }
84
+ const info = (await response.json());
94
85
  return info.version === normalizedVersion;
95
86
  }
96
87
  catch {
@@ -98,14 +89,14 @@ export async function isVersionAvailableOnNpm(version) {
98
89
  }
99
90
  }
100
91
  /**
101
- * Quick check if a version is available via bun's resolver.
92
+ * Quick check if a version is available on npm.
102
93
  * Used for implicit version checks (auto-upgrade flow).
103
94
  *
104
95
  * @param version - Version to check (with or without 'v' prefix)
105
96
  * @returns true if version is available, false if unavailable or error
106
97
  */
107
98
  export async function isVersionAvailableOnNpmQuick(version) {
108
- return isVersionAvailableOnNpm(version);
99
+ return isVersionAvailableOnNpm(version, { timeoutMs: 1_000 });
109
100
  }
110
101
  /**
111
102
  * Wait for a version to become available on npm with exponential backoff.
@@ -1 +1 @@
1
- {"version":3,"file":"npm-availability.js","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm-availability.js","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/cli",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -41,9 +41,9 @@
41
41
  "prepublishOnly": "bun run clean && bun run build"
42
42
  },
43
43
  "dependencies": {
44
- "@agentuity/auth": "1.0.13",
45
- "@agentuity/core": "1.0.13",
46
- "@agentuity/server": "1.0.13",
44
+ "@agentuity/auth": "1.0.14",
45
+ "@agentuity/core": "1.0.14",
46
+ "@agentuity/server": "1.0.14",
47
47
  "@datasert/cronjs-parser": "^1.4.0",
48
48
  "@vitejs/plugin-react": "^5.1.2",
49
49
  "acorn-loose": "^8.5.2",
@@ -60,10 +60,10 @@
60
60
  "typescript": "^5.9.0",
61
61
  "vite": "^7.2.7",
62
62
  "zod": "^4.3.5",
63
- "@agentuity/frontend": "1.0.13"
63
+ "@agentuity/frontend": "1.0.14"
64
64
  },
65
65
  "devDependencies": {
66
- "@agentuity/test-utils": "1.0.13",
66
+ "@agentuity/test-utils": "1.0.14",
67
67
  "@types/adm-zip": "^0.5.7",
68
68
  "@types/bun": "latest",
69
69
  "@types/tar-fs": "^2.0.4",
@@ -1,15 +1,10 @@
1
1
  /**
2
2
  * npm registry availability checking utilities.
3
- * Used to verify a version is available via bun's resolver before attempting upgrade.
3
+ * Used to verify a version is available on npm before attempting upgrade.
4
4
  */
5
5
 
6
- import { tmpdir } from 'node:os';
7
-
8
6
  const PACKAGE_SPEC = '@agentuity/cli';
9
7
 
10
- /** Default timeout for `bun info` subprocess calls (10 seconds) */
11
- const BUN_INFO_TIMEOUT_MS = 10_000;
12
-
13
8
  /** Default timeout for install (`bun add -g`) subprocess calls (30 seconds) */
14
9
  const INSTALL_TIMEOUT_MS = 30_000;
15
10
 
@@ -89,28 +84,24 @@ async function withTimeout<T>(
89
84
  }
90
85
 
91
86
  /**
92
- * Check if a specific version of @agentuity/cli is resolvable by bun.
93
- * Uses `bun info` to verify bun's own resolver/CDN can see the version,
94
- * which avoids the race where npm registry returns 200 but bun's CDN
95
- * has not yet propagated the version.
87
+ * Check if a specific version of @agentuity/cli is available on the npm registry.
96
88
  *
97
89
  * @param version - Version to check (with or without 'v' prefix)
98
90
  * @returns true if version is available, false otherwise
99
91
  */
100
- export async function isVersionAvailableOnNpm(version: string): Promise<boolean> {
92
+ export async function isVersionAvailableOnNpm(
93
+ version: string,
94
+ options?: { timeoutMs?: number }
95
+ ): Promise<boolean> {
101
96
  const normalizedVersion = version.replace(/^v/, '');
97
+ const timeoutMs = options?.timeoutMs ?? 10_000;
102
98
  try {
103
- const result = await spawnWithTimeout(
104
- ['bun', 'info', `${PACKAGE_SPEC}@${normalizedVersion}`, '--json'],
105
- { cwd: tmpdir(), timeout: BUN_INFO_TIMEOUT_MS }
99
+ const response = await fetch(
100
+ `https://registry.npmjs.org/${PACKAGE_SPEC}/${normalizedVersion}`,
101
+ { signal: AbortSignal.timeout(timeoutMs) }
106
102
  );
107
- if (result.exitCode !== 0) {
108
- return false;
109
- }
110
- const info = JSON.parse(result.stdout.toString());
111
- if (info.error) {
112
- return false;
113
- }
103
+ if (!response.ok) return false;
104
+ const info = (await response.json()) as { version?: string };
114
105
  return info.version === normalizedVersion;
115
106
  } catch {
116
107
  return false;
@@ -118,14 +109,14 @@ export async function isVersionAvailableOnNpm(version: string): Promise<boolean>
118
109
  }
119
110
 
120
111
  /**
121
- * Quick check if a version is available via bun's resolver.
112
+ * Quick check if a version is available on npm.
122
113
  * Used for implicit version checks (auto-upgrade flow).
123
114
  *
124
115
  * @param version - Version to check (with or without 'v' prefix)
125
116
  * @returns true if version is available, false if unavailable or error
126
117
  */
127
118
  export async function isVersionAvailableOnNpmQuick(version: string): Promise<boolean> {
128
- return isVersionAvailableOnNpm(version);
119
+ return isVersionAvailableOnNpm(version, { timeoutMs: 1_000 });
129
120
  }
130
121
 
131
122
  export interface WaitForNpmOptions {