@antseed/cli 0.1.141 → 0.1.142

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/cli/commands/buyer/sweep.d.ts.map +1 -1
  2. package/dist/cli/commands/buyer/sweep.js +11 -5
  3. package/dist/cli/commands/buyer/sweep.js.map +1 -1
  4. package/dist/cli/commands/payments.d.ts.map +1 -1
  5. package/dist/cli/commands/payments.js +37 -20
  6. package/dist/cli/commands/payments.js.map +1 -1
  7. package/dist/cli/commands/system-proxy/ca-trust-state.d.ts +8 -0
  8. package/dist/cli/commands/system-proxy/ca-trust-state.d.ts.map +1 -0
  9. package/dist/cli/commands/system-proxy/ca-trust-state.js +20 -0
  10. package/dist/cli/commands/system-proxy/ca-trust-state.js.map +1 -0
  11. package/dist/cli/commands/system-proxy/index.d.ts.map +1 -1
  12. package/dist/cli/commands/system-proxy/index.js +2 -0
  13. package/dist/cli/commands/system-proxy/index.js.map +1 -1
  14. package/dist/cli/commands/system-proxy/install-ca.d.ts.map +1 -1
  15. package/dist/cli/commands/system-proxy/install-ca.js +9 -0
  16. package/dist/cli/commands/system-proxy/install-ca.js.map +1 -1
  17. package/dist/cli/commands/system-proxy/start.d.ts.map +1 -1
  18. package/dist/cli/commands/system-proxy/start.js +3 -1
  19. package/dist/cli/commands/system-proxy/start.js.map +1 -1
  20. package/dist/cli/commands/wrapped-tools.d.ts.map +1 -1
  21. package/dist/cli/commands/wrapped-tools.js +7 -0
  22. package/dist/cli/commands/wrapped-tools.js.map +1 -1
  23. package/dist/cli/commands/wrapped-tools.test.js +6 -1
  24. package/dist/cli/commands/wrapped-tools.test.js.map +1 -1
  25. package/dist/proxy/buyer-proxy.d.ts +38 -1
  26. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  27. package/dist/proxy/buyer-proxy.js +340 -23
  28. package/dist/proxy/buyer-proxy.js.map +1 -1
  29. package/dist/proxy/buyer-proxy.test.js +382 -11
  30. package/dist/proxy/buyer-proxy.test.js.map +1 -1
  31. package/dist/proxy/conversation-identity.d.ts +79 -0
  32. package/dist/proxy/conversation-identity.d.ts.map +1 -0
  33. package/dist/proxy/conversation-identity.js +302 -0
  34. package/dist/proxy/conversation-identity.js.map +1 -0
  35. package/dist/proxy/conversation-identity.test.d.ts +2 -0
  36. package/dist/proxy/conversation-identity.test.d.ts.map +1 -0
  37. package/dist/proxy/conversation-identity.test.js +236 -0
  38. package/dist/proxy/conversation-identity.test.js.map +1 -0
  39. package/dist/proxy/conversation-store.d.ts +96 -0
  40. package/dist/proxy/conversation-store.d.ts.map +1 -0
  41. package/dist/proxy/conversation-store.js +242 -0
  42. package/dist/proxy/conversation-store.js.map +1 -0
  43. package/dist/proxy/conversation-store.test.d.ts +2 -0
  44. package/dist/proxy/conversation-store.test.d.ts.map +1 -0
  45. package/dist/proxy/conversation-store.test.js +277 -0
  46. package/dist/proxy/conversation-store.test.js.map +1 -0
  47. package/dist/proxy/count-tokens.d.ts +20 -0
  48. package/dist/proxy/count-tokens.d.ts.map +1 -0
  49. package/dist/proxy/count-tokens.js +75 -0
  50. package/dist/proxy/count-tokens.js.map +1 -0
  51. package/dist/proxy/count-tokens.test.d.ts +2 -0
  52. package/dist/proxy/count-tokens.test.d.ts.map +1 -0
  53. package/dist/proxy/count-tokens.test.js +56 -0
  54. package/dist/proxy/count-tokens.test.js.map +1 -0
  55. package/dist/proxy/request-utils.d.ts +38 -0
  56. package/dist/proxy/request-utils.d.ts.map +1 -1
  57. package/dist/proxy/request-utils.js +84 -8
  58. package/dist/proxy/request-utils.js.map +1 -1
  59. package/dist/proxy/telemetry.d.ts +6 -0
  60. package/dist/proxy/telemetry.d.ts.map +1 -1
  61. package/dist/proxy/telemetry.js +53 -13
  62. package/dist/proxy/telemetry.js.map +1 -1
  63. package/dist/system-proxy/ca-manager.d.ts +67 -0
  64. package/dist/system-proxy/ca-manager.d.ts.map +1 -1
  65. package/dist/system-proxy/ca-manager.js +258 -39
  66. package/dist/system-proxy/ca-manager.js.map +1 -1
  67. package/dist/system-proxy/ca-manager.test.js +50 -1
  68. package/dist/system-proxy/ca-manager.test.js.map +1 -1
  69. package/dist/system-proxy/profiles.d.ts +2 -1
  70. package/dist/system-proxy/profiles.d.ts.map +1 -1
  71. package/dist/system-proxy/profiles.js +55 -4
  72. package/dist/system-proxy/profiles.js.map +1 -1
  73. package/dist/system-proxy/proxy-server.d.ts +18 -1
  74. package/dist/system-proxy/proxy-server.d.ts.map +1 -1
  75. package/dist/system-proxy/proxy-server.js +91 -38
  76. package/dist/system-proxy/proxy-server.js.map +1 -1
  77. package/dist/system-proxy/proxy-server.test.js +142 -13
  78. package/dist/system-proxy/proxy-server.test.js.map +1 -1
  79. package/dist/system-proxy/system-proxy.d.ts +1 -0
  80. package/dist/system-proxy/system-proxy.d.ts.map +1 -1
  81. package/dist/system-proxy/system-proxy.js +57 -15
  82. package/dist/system-proxy/system-proxy.js.map +1 -1
  83. package/dist/system-proxy/types.d.ts +17 -4
  84. package/dist/system-proxy/types.d.ts.map +1 -1
  85. package/package.json +3 -3
@@ -1,15 +1,35 @@
1
1
  import 'reflect-metadata';
2
2
  import * as x509 from '@peculiar/x509';
3
- import { webcrypto } from 'node:crypto';
3
+ import { webcrypto, X509Certificate, randomUUID } from 'node:crypto';
4
4
  import { readFile, writeFile, mkdir } from 'node:fs/promises';
5
- import { existsSync } from 'node:fs';
5
+ import { existsSync, readFileSync, unlinkSync } from 'node:fs';
6
6
  import { join } from 'node:path';
7
7
  import { execSync, execFileSync } from 'node:child_process';
8
- import { homedir } from 'node:os';
8
+ import { homedir, tmpdir } from 'node:os';
9
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
10
  x509.cryptoProvider.set(webcrypto);
11
11
  const KEY_ALG = { name: 'ECDSA', namedCurve: 'P-256' };
12
12
  const SIGN_ALG = { name: 'ECDSA', hash: 'SHA-256' };
13
+ /** Subject/issuer common name of the generated CA — must match `generate()`. */
14
+ const CA_COMMON_NAME = 'AntSeed Local CA';
15
+ /** Normalize a certificate fingerprint to bare uppercase hex for comparison. */
16
+ function normalizeFingerprint(value) {
17
+ return value.replace(/[^0-9a-fA-F]/g, '').toUpperCase();
18
+ }
19
+ /**
20
+ * Classify trust from the current CA fingerprint and the fingerprints of every
21
+ * AntSeed CA the OS currently trusts. Pure so it can be unit-tested without a
22
+ * real keychain.
23
+ */
24
+ export function classifyCATrust(currentFingerprint, installedFingerprints) {
25
+ const current = normalizeFingerprint(currentFingerprint);
26
+ const installed = installedFingerprints.map(normalizeFingerprint).filter((fp) => fp.length > 0);
27
+ if (current && installed.includes(current))
28
+ return 'trusted';
29
+ if (installed.length > 0)
30
+ return 'stale';
31
+ return 'absent';
32
+ }
13
33
  function pemEncode(label, der) {
14
34
  const b64 = Buffer.from(der).toString('base64');
15
35
  const lines = b64.match(/.{1,64}/g) ?? [];
@@ -18,8 +38,35 @@ function pemEncode(label, der) {
18
38
  function shellQuote(value) {
19
39
  return `'${value.replace(/'/g, "'\\''")}'`;
20
40
  }
21
- function errorMessage(err) {
22
- return err instanceof Error ? err.message : String(err);
41
+ /** Escape a value for interpolation inside a single-quoted PowerShell string. */
42
+ function psQuote(value) {
43
+ return `'${value.replace(/'/g, "''")}'`;
44
+ }
45
+ /** Failure output of a spawned command WITHOUT the command line itself —
46
+ exec errors embed the entire shell invocation in `message`, which reads
47
+ like something went deeply wrong when shown to a user. */
48
+ function commandErrorDetail(err) {
49
+ if (err instanceof Error) {
50
+ const stderr = err.stderr?.toString().trim();
51
+ if (stderr)
52
+ return stderr;
53
+ const message = err.message.trim();
54
+ return message.startsWith('Command failed:') ? 'command failed' : message;
55
+ }
56
+ return String(err);
57
+ }
58
+ /**
59
+ * Classify a failed privileged trust-store command into a calm, one-phrase
60
+ * reason for the UI, keeping the raw output separate for logs. The common
61
+ * case is the user dismissing the macOS administrator password prompt or the
62
+ * Windows UAC prompt.
63
+ */
64
+ export function describeTrustInstallFailure(err) {
65
+ const detail = commandErrorDetail(err);
66
+ if (/user canceled|canceled by the user/i.test(detail) || detail.includes('-128')) {
67
+ return { reason: 'the administrator prompt was cancelled', detail };
68
+ }
69
+ return { reason: 'the system-level install failed', detail };
23
70
  }
24
71
  export class CAManager {
25
72
  dir;
@@ -39,6 +86,87 @@ export class CAManager {
39
86
  ]);
40
87
  return { certPem, privateKeyPem };
41
88
  }
89
+ /** SHA-1 fingerprint of the current ca.crt (bare uppercase hex), or null. */
90
+ fingerprint() {
91
+ if (!existsSync(this.certPath))
92
+ return null;
93
+ try {
94
+ const cert = new X509Certificate(readFileSync(this.certPath));
95
+ return normalizeFingerprint(cert.fingerprint);
96
+ }
97
+ catch {
98
+ return null;
99
+ }
100
+ }
101
+ /** macOS keychains that may hold a trusted copy of the CA. */
102
+ macKeychainPaths() {
103
+ return [
104
+ join(homedir(), 'Library', 'Keychains', 'login.keychain-db'),
105
+ '/Library/Keychains/System.keychain',
106
+ ];
107
+ }
108
+ /** SHA-1 fingerprints of every AntSeed CA the OS trust store currently holds. */
109
+ listInstalledFingerprints() {
110
+ const platform = process.platform;
111
+ if (platform === 'darwin') {
112
+ const hashes = [];
113
+ for (const keychain of this.macKeychainPaths()) {
114
+ try {
115
+ const out = execFileSync('security', ['find-certificate', '-a', '-c', CA_COMMON_NAME, '-Z', keychain], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] });
116
+ for (const match of out.matchAll(/SHA-1 hash:\s*([0-9A-Fa-f]+)/g)) {
117
+ hashes.push(match[1]);
118
+ }
119
+ }
120
+ catch {
121
+ // Keychain absent or no matching certificate — nothing to add.
122
+ }
123
+ }
124
+ return hashes;
125
+ }
126
+ if (platform === 'win32') {
127
+ try {
128
+ const out = execFileSync('certutil', ['-store', 'Root', CA_COMMON_NAME], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] });
129
+ return [...out.matchAll(/Cert Hash\(sha1\):\s*([0-9A-Fa-f ]+)/g)].map((m) => m[1]);
130
+ }
131
+ catch {
132
+ return [];
133
+ }
134
+ }
135
+ // Linux: the CA is installed as a single file; compare its fingerprint.
136
+ try {
137
+ const installed = new X509Certificate(readFileSync('/usr/local/share/ca-certificates/antseed-ca.crt'));
138
+ return [normalizeFingerprint(installed.fingerprint)];
139
+ }
140
+ catch {
141
+ return [];
142
+ }
143
+ }
144
+ /** Whether the OS already trusts this exact CA. */
145
+ trustState() {
146
+ const current = this.fingerprint();
147
+ if (!current)
148
+ return 'absent';
149
+ return classifyCATrust(current, this.listInstalledFingerprints());
150
+ }
151
+ /**
152
+ * SHA-1 hashes of AntSeed CAs in one macOS keychain whose fingerprint differs
153
+ * from the current ca.crt. These are the certs that cause
154
+ * CERT_SIGNATURE_FAILURE: trusted under the same subject name, but the proxy
155
+ * now signs leaves with a different key.
156
+ */
157
+ staleMacHashes(keychain, current) {
158
+ let out = '';
159
+ try {
160
+ out = execFileSync('security', ['find-certificate', '-a', '-c', CA_COMMON_NAME, '-Z', keychain], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] });
161
+ }
162
+ catch {
163
+ return [];
164
+ }
165
+ const stale = [...out.matchAll(/SHA-1 hash:\s*([0-9A-Fa-f]+)/g)]
166
+ .map((m) => normalizeFingerprint(m[1]))
167
+ .filter((fp) => fp && fp !== current);
168
+ return [...new Set(stale)];
169
+ }
42
170
  async generate() {
43
171
  await mkdir(this.dir, { recursive: true });
44
172
  const keyPair = await webcrypto.subtle.generateKey(KEY_ALG, true, ['sign', 'verify']);
@@ -65,42 +193,10 @@ export class CAManager {
65
193
  async installToSystemKeychain() {
66
194
  const platform = process.platform;
67
195
  if (platform === 'darwin') {
68
- const systemCommand = `security add-trusted-cert -d -r trustRoot -p ssl -k ${shellQuote('/Library/Keychains/System.keychain')} ${shellQuote(this.certPath)}`;
69
- try {
70
- execSync(systemCommand, { stdio: 'pipe' });
71
- return { target: 'system-keychain' };
72
- }
73
- catch (systemErr) {
74
- try {
75
- execSync(`osascript -e ${shellQuote(`do shell script ${JSON.stringify(systemCommand)} with administrator privileges`)}`, { stdio: 'pipe' });
76
- return { target: 'system-keychain' };
77
- }
78
- catch (adminErr) {
79
- const keychainPath = join(homedir(), 'Library', 'Keychains', 'login.keychain-db');
80
- try {
81
- execSync(`security add-trusted-cert -d -r trustRoot -p ssl -k ${shellQuote(keychainPath)} ${shellQuote(this.certPath)}`, { stdio: 'pipe' });
82
- return {
83
- target: 'login-keychain',
84
- warning: [
85
- 'CA certificate was trusted in the login keychain only.',
86
- 'Some GUI apps may require System keychain trust and a restart.',
87
- `System keychain install failed: ${errorMessage(adminErr)}`,
88
- ].join(' '),
89
- };
90
- }
91
- catch (loginErr) {
92
- throw new Error([
93
- `System keychain install failed: ${errorMessage(systemErr)}`,
94
- `Admin install failed: ${errorMessage(adminErr)}`,
95
- `Login keychain install failed: ${errorMessage(loginErr)}`,
96
- ].join(' '));
97
- }
98
- }
99
- }
196
+ return this.installMacOS();
100
197
  }
101
198
  else if (platform === 'win32') {
102
- execFileSync('certutil', ['-addstore', '-f', 'Root', this.certPath], { stdio: 'pipe' });
103
- return { target: 'windows-root' };
199
+ return this.installWindows();
104
200
  }
105
201
  else {
106
202
  execFileSync('sudo', ['cp', this.certPath, '/usr/local/share/ca-certificates/antseed-ca.crt'], { stdio: 'pipe' });
@@ -108,5 +204,128 @@ export class CAManager {
108
204
  return { target: 'linux-system' };
109
205
  }
110
206
  }
207
+ /**
208
+ * macOS install, designed around ONE password prompt total. Every privileged
209
+ * `security` invocation can raise its own auth dialog, so all admin-domain
210
+ * work — purging stale System-keychain copies AND trusting the current cert
211
+ * (`add-trusted-cert -d` writes admin trust settings even "unelevated") —
212
+ * runs as a single elevated shell script. Stale login-keychain certs are
213
+ * deleted silently without `-t`: once the cert is gone its trust settings
214
+ * can't match anything, and `-t` would raise a trust-settings dialog.
215
+ */
216
+ installMacOS() {
217
+ const current = this.fingerprint() ?? '';
218
+ const loginKeychain = join(homedir(), 'Library', 'Keychains', 'login.keychain-db');
219
+ const systemKeychain = '/Library/Keychains/System.keychain';
220
+ for (const hash of this.staleMacHashes(loginKeychain, current)) {
221
+ try {
222
+ execFileSync('security', ['delete-certificate', '-Z', hash, loginKeychain], { stdio: 'pipe' });
223
+ }
224
+ catch {
225
+ // Best-effort; a leftover cert without System-keychain trust is inert
226
+ // once the elevated purge below removes the trusted copy.
227
+ }
228
+ }
229
+ const adminScript = [
230
+ ...this.staleMacHashes(systemKeychain, current).map((hash) => `security delete-certificate -Z ${hash} ${shellQuote(systemKeychain)} || true`),
231
+ `security add-trusted-cert -d -r trustRoot -p ssl -k ${shellQuote(systemKeychain)} ${shellQuote(this.certPath)}`,
232
+ ].join(' ; ');
233
+ try {
234
+ if (typeof process.getuid === 'function' && process.getuid() === 0) {
235
+ execSync(adminScript, { stdio: 'pipe' });
236
+ }
237
+ else {
238
+ execSync(`osascript -e ${shellQuote(`do shell script ${JSON.stringify(adminScript)} with administrator privileges`)}`, { stdio: 'pipe' });
239
+ }
240
+ return { target: 'system-keychain' };
241
+ }
242
+ catch (adminErr) {
243
+ // Likely a cancelled admin prompt. Fall back to the user trust domain:
244
+ // no -d, so this touches only the login keychain and at most raises one
245
+ // login-password trust-settings dialog.
246
+ const adminFailure = describeTrustInstallFailure(adminErr);
247
+ try {
248
+ execFileSync('security', ['add-trusted-cert', '-r', 'trustRoot', '-p', 'ssl', '-k', loginKeychain, this.certPath], { stdio: 'pipe' });
249
+ return {
250
+ target: 'login-keychain',
251
+ warning: [
252
+ `The certificate is trusted for your user account, but system-wide trust was skipped because ${adminFailure.reason}.`,
253
+ 'If a connected app can\'t reach AntSeed, connect it again and approve the administrator prompt.',
254
+ ].join(' '),
255
+ detail: adminFailure.detail,
256
+ };
257
+ }
258
+ catch (loginErr) {
259
+ const loginFailure = describeTrustInstallFailure(loginErr);
260
+ throw new Error(`The certificate could not be trusted automatically because ${adminFailure.reason}. `
261
+ + `Trust it manually by opening ${this.certPath} in Keychain Access, or connect again and approve the prompt. `
262
+ + `(${adminFailure.detail}; ${loginFailure.detail})`);
263
+ }
264
+ }
265
+ }
266
+ /**
267
+ * `certutil -addstore Root` always targets the Local Machine store, which
268
+ * requires administrator rights — Node can't request elevation directly,
269
+ * so both the stale-cert purge and the add run as ONE elevated `cmd.exe`
270
+ * (one UAC prompt) via PowerShell's `Start-Process -Verb RunAs`.
271
+ */
272
+ installWindows() {
273
+ const current = this.fingerprint();
274
+ const staleHashes = [...new Set(this.listInstalledFingerprints().map(normalizeFingerprint))]
275
+ .filter((hash) => hash && hash !== current);
276
+ const commands = [
277
+ ...staleHashes.map((hash) => `certutil -delstore -f Root ${hash}`),
278
+ `certutil -addstore -f Root "${this.certPath}"`,
279
+ ];
280
+ try {
281
+ this.runElevatedCertutil(commands);
282
+ return { target: 'windows-root' };
283
+ }
284
+ catch (err) {
285
+ const failure = describeTrustInstallFailure(err);
286
+ throw new Error(`The certificate could not be trusted automatically because ${failure.reason}. `
287
+ + `Trust it manually: open ${this.certPath}, click "Install Certificate", choose "Local Machine", `
288
+ + 'and place it in "Trusted Root Certification Authorities". '
289
+ + `(${failure.detail})`);
290
+ }
291
+ }
292
+ /**
293
+ * Runs `commands` inside one elevated `cmd.exe`, redirecting its combined
294
+ * stdout+stderr to a temp file — an elevated child's stdio can't be piped
295
+ * back to this process directly, and `certutil` writes its real errors
296
+ * (e.g. "Access is denied") to stdout, which a plain `execFileSync` never
297
+ * surfaces.
298
+ */
299
+ runElevatedCertutil(commands) {
300
+ const outFile = join(tmpdir(), `antseed-ca-install-${randomUUID()}.log`);
301
+ const innerCmd = `${commands.join(' & ')} > "${outFile}" 2>&1`;
302
+ const psCommand = [
303
+ `$p = Start-Process -FilePath cmd.exe -ArgumentList '/d','/c',${psQuote(innerCmd)} -Verb RunAs -Wait -PassThru -WindowStyle Hidden`,
304
+ 'exit $p.ExitCode',
305
+ ].join('; ');
306
+ let execErr = null;
307
+ try {
308
+ execFileSync('powershell.exe', ['-NoProfile', '-NonInteractive', '-Command', psCommand], { stdio: 'pipe' });
309
+ }
310
+ catch (err) {
311
+ execErr = err;
312
+ }
313
+ let fileOutput = '';
314
+ try {
315
+ fileOutput = readFileSync(outFile, 'utf8').trim();
316
+ }
317
+ catch {
318
+ // Elevation itself may have failed before certutil ever ran.
319
+ }
320
+ finally {
321
+ try {
322
+ unlinkSync(outFile);
323
+ }
324
+ catch { /* best-effort cleanup */ }
325
+ }
326
+ if (execErr) {
327
+ throw new Error(fileOutput || commandErrorDetail(execErr));
328
+ }
329
+ }
111
330
  }
112
331
  //# sourceMappingURL=ca-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ca-manager.js","sourceRoot":"","sources":["../../src/system-proxy/ca-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ca-manager.js","sourceRoot":"","sources":["../../src/system-proxy/ca-manager.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { mkdtemp, rm } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import test from 'node:test';
6
- import { CAManager } from './ca-manager.js';
6
+ import { CAManager, classifyCATrust, describeTrustInstallFailure } from './ca-manager.js';
7
7
  test('CAManager.exists() returns false before generation', async () => {
8
8
  const tmpDir = await mkdtemp(join(tmpdir(), 'antseed-ca-test-'));
9
9
  try {
@@ -45,6 +45,55 @@ test('CAManager.certFilePath points into the system-proxy subdirectory', () => {
45
45
  assert.ok(mgr.certFilePath.includes('system-proxy'), 'cert path should be under system-proxy/');
46
46
  assert.ok(mgr.certFilePath.endsWith('.crt'), 'cert file should have .crt extension');
47
47
  });
48
+ test('classifyCATrust: trusted when the current fingerprint is installed', () => {
49
+ assert.equal(classifyCATrust('AA:BB:CC', ['aabbcc']), 'trusted');
50
+ assert.equal(classifyCATrust('aabbcc', ['AA BB CC', '112233']), 'trusted');
51
+ });
52
+ test('classifyCATrust: stale when an AntSeed CA is trusted with a different fingerprint', () => {
53
+ // The CERT_SIGNATURE_FAILURE case: an old CA is trusted, current one is not.
54
+ assert.equal(classifyCATrust('AABBCC', ['DDEEFF']), 'stale');
55
+ });
56
+ test('classifyCATrust: absent when nothing is trusted', () => {
57
+ assert.equal(classifyCATrust('AABBCC', []), 'absent');
58
+ });
59
+ test('classifyCATrust: absent when the current fingerprint is empty', () => {
60
+ // No ca.crt yet → nothing to match, treated as absent regardless of installs.
61
+ assert.equal(classifyCATrust('', []), 'absent');
62
+ assert.equal(classifyCATrust('', ['AABBCC']), 'stale');
63
+ });
64
+ test('describeTrustInstallFailure classifies a cancelled admin prompt', () => {
65
+ const err = Object.assign(new Error("Command failed: osascript -e 'do shell script \"security add-trusted-cert ...\"'"), { stderr: Buffer.from('execution error: User canceled. (-128)\n') });
66
+ const failure = describeTrustInstallFailure(err);
67
+ assert.equal(failure.reason, 'the administrator prompt was cancelled');
68
+ assert.equal(failure.detail, 'execution error: User canceled. (-128)');
69
+ });
70
+ test('describeTrustInstallFailure never leaks the command line into the detail', () => {
71
+ const err = new Error("Command failed: osascript -e 'do shell script \"security delete-certificate -Z AABB /Library/Keychains/System.keychain\"'");
72
+ const failure = describeTrustInstallFailure(err);
73
+ assert.equal(failure.reason, 'the system-level install failed');
74
+ assert.equal(failure.detail, 'command failed');
75
+ });
76
+ test('describeTrustInstallFailure keeps concise stderr as the detail', () => {
77
+ const err = Object.assign(new Error('Command failed: security add-trusted-cert ...'), {
78
+ stderr: 'SecTrustSettingsSetTrustSettings: The authorization was denied since no user interaction was possible.',
79
+ });
80
+ const failure = describeTrustInstallFailure(err);
81
+ assert.equal(failure.reason, 'the system-level install failed');
82
+ assert.equal(failure.detail, 'SecTrustSettingsSetTrustSettings: The authorization was denied since no user interaction was possible.');
83
+ });
84
+ test('CAManager.fingerprint() returns null before generation and hex after', async () => {
85
+ const tmpDir = await mkdtemp(join(tmpdir(), 'antseed-ca-test-'));
86
+ try {
87
+ const mgr = new CAManager(tmpDir);
88
+ assert.equal(mgr.fingerprint(), null);
89
+ await mgr.generate();
90
+ const fp = mgr.fingerprint();
91
+ assert.ok(fp && /^[0-9A-F]+$/.test(fp), 'fingerprint should be bare uppercase hex');
92
+ }
93
+ finally {
94
+ await rm(tmpDir, { recursive: true, force: true });
95
+ }
96
+ });
48
97
  test('CAManager.generate() is idempotent — second call overwrites cleanly', async () => {
49
98
  const tmpDir = await mkdtemp(join(tmpdir(), 'antseed-ca-test-'));
50
99
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"ca-manager.test.js","sourceRoot":"","sources":["../../src/system-proxy/ca-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ca-manager.test.js","sourceRoot":"","sources":["../../src/system-proxy/ca-manager.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { SystemProxyForwardRule, SystemProxyProfile } from './types.js';
1
+ import type { SystemProxyForwardRule, SystemProxyProfile, SystemProxySource } from './types.js';
2
2
  export declare function loadSystemProxyProfiles(env?: NodeJS.ProcessEnv): readonly SystemProxyProfile[];
3
3
  export declare const CONFIGURED_PROFILES: readonly SystemProxyProfile[];
4
4
  export declare function findProfile(name: string): SystemProxyProfile | undefined;
@@ -9,5 +9,6 @@ export declare function partitionProfiles(profileNames: string[]): {
9
9
  };
10
10
  export declare function resolveProxiedDomains(profileNames: string[]): Set<string>;
11
11
  export declare function resolveProxiedPathPrefixes(profileNames: string[]): Map<string, Set<string>>;
12
+ export declare function resolveSystemProxySources(profileNames: string[]): Map<string, Map<string, SystemProxySource>>;
12
13
  export declare function resolveSystemProxyForwardRules(profileNames: string[]): Map<string, SystemProxyForwardRule>;
13
14
  //# sourceMappingURL=profiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/system-proxy/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKpG,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,SAAS,kBAAkB,EAAE,CAY3G;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,kBAAkB,EAA8B,CAAA;AAiF3F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAExE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAQpG;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAUzE;AAED,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAc3F;AAED,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAU1G"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/system-proxy/profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,sBAAsB,EAAE,kBAAkB,EAA8B,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAWnJ,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,SAAS,kBAAkB,EAAE,CAY3G;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,kBAAkB,EAA8B,CAAA;AA8G3F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAExE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAQpG;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAUzE;AAED,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAc3F;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAe7G;AAED,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAU1G"}
@@ -1,6 +1,12 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  const PROFILES_JSON_ENV = 'ANTSEED_SYSTEM_PROXY_PROFILES_JSON';
3
3
  const PROFILES_FILE_ENV = 'ANTSEED_SYSTEM_PROXY_PROFILES_FILE';
4
+ const APP_ACTIONS = new Set([
5
+ 'none',
6
+ 'open-url',
7
+ 'open-tool',
8
+ 'restart-app',
9
+ ]);
4
10
  export function loadSystemProxyProfiles(env = process.env) {
5
11
  const raw = env[PROFILES_JSON_ENV]?.trim()
6
12
  || (env[PROFILES_FILE_ENV]?.trim()
@@ -27,6 +33,7 @@ function normalizeProfile(value, index) {
27
33
  const pathPrefixes = stringArray(raw['pathPrefixes']);
28
34
  const forward = normalizeForward(raw['forward'], name);
29
35
  const configPatch = normalizeConfigPatch(raw['configPatch'], name);
36
+ const metadata = normalizeMetadata(raw['metadata'], name);
30
37
  return {
31
38
  name,
32
39
  displayName,
@@ -35,6 +42,7 @@ function normalizeProfile(value, index) {
35
42
  pathPrefixes,
36
43
  ...(forward ? { forward } : {}),
37
44
  ...(configPatch ? { configPatch } : {}),
45
+ ...(metadata ? { metadata } : {}),
38
46
  };
39
47
  }
40
48
  function normalizeForward(value, profileName) {
@@ -63,14 +71,40 @@ function normalizeConfigPatch(value, profileName) {
63
71
  }
64
72
  const raw = value;
65
73
  return {
74
+ ...raw,
66
75
  configPath: requiredString(raw, 'configPath', profileName),
67
76
  providerKey: requiredString(raw, 'providerKey', profileName),
68
- npm: requiredString(raw, 'npm', profileName),
69
- providerName: requiredString(raw, 'providerName', profileName),
70
- baseURL: requiredString(raw, 'baseURL', profileName),
71
- modelFormat: 'peer-routed',
72
77
  };
73
78
  }
79
+ function normalizeMetadata(value, profileName) {
80
+ if (value === undefined)
81
+ return undefined;
82
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
83
+ throw new Error(`metadata for ${profileName} must be an object`);
84
+ }
85
+ const raw = value;
86
+ const icon = optionalString(raw, 'icon');
87
+ const displayLabel = optionalString(raw, 'displayLabel');
88
+ const methodLabel = optionalString(raw, 'methodLabel');
89
+ const appActionValue = raw['appAction'];
90
+ const appAction = isAppAction(appActionValue) ? appActionValue : undefined;
91
+ const openUrl = optionalString(raw, 'openUrl');
92
+ const toolName = optionalString(raw, 'toolName');
93
+ const restartAppName = optionalString(raw, 'restartAppName');
94
+ const metadata = {
95
+ ...(icon ? { icon } : {}),
96
+ ...(displayLabel ? { displayLabel } : {}),
97
+ ...(methodLabel ? { methodLabel } : {}),
98
+ ...(appAction ? { appAction } : {}),
99
+ ...(openUrl ? { openUrl } : {}),
100
+ ...(toolName ? { toolName } : {}),
101
+ ...(restartAppName ? { restartAppName } : {}),
102
+ };
103
+ return Object.keys(metadata).length > 0 ? metadata : undefined;
104
+ }
105
+ function isAppAction(value) {
106
+ return typeof value === 'string' && APP_ACTIONS.has(value);
107
+ }
74
108
  function requiredString(raw, key, context) {
75
109
  const value = raw[key];
76
110
  if (typeof value !== 'string' || value.trim().length === 0) {
@@ -135,6 +169,23 @@ export function resolveProxiedPathPrefixes(profileNames) {
135
169
  }
136
170
  return prefixesByDomain;
137
171
  }
172
+ export function resolveSystemProxySources(profileNames) {
173
+ const sourcesByDomain = new Map();
174
+ for (const name of profileNames) {
175
+ const profile = findProfile(name);
176
+ if (!profile || profile.kind === 'config-patch')
177
+ continue;
178
+ const source = profile.forward?.source ?? profile.name;
179
+ for (const domain of profile.domains) {
180
+ const sources = sourcesByDomain.get(domain) ?? new Map();
181
+ for (const prefix of profile.pathPrefixes) {
182
+ sources.set(prefix, source);
183
+ }
184
+ sourcesByDomain.set(domain, sources);
185
+ }
186
+ }
187
+ return sourcesByDomain;
188
+ }
138
189
  export function resolveSystemProxyForwardRules(profileNames) {
139
190
  const rulesByDomain = new Map();
140
191
  for (const name of profileNames) {
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/system-proxy/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/system-proxy/profiles.ts"],"names":[],"mappings":"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"}