@dharma-ai-labs/agent-fabric 0.2.207 → 0.2.209

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 (33) hide show
  1. package/README.md +22 -0
  2. package/dist/bootstrapProcessCaller.test.js +2 -0
  3. package/dist/bootstrapProcessCaller.test.js.map +1 -1
  4. package/dist/codexSetupSessionCaller.test.js +2 -0
  5. package/dist/codexSetupSessionCaller.test.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +20 -5
  8. package/dist/index.js.map +1 -1
  9. package/dist/namedSessionService.d.ts +3 -1
  10. package/dist/namedSessionService.d.ts.map +1 -1
  11. package/dist/namedSessionService.js +32 -13
  12. package/dist/namedSessionService.js.map +1 -1
  13. package/dist/namedSessionTransportDiagnostic.d.ts +40 -0
  14. package/dist/namedSessionTransportDiagnostic.d.ts.map +1 -0
  15. package/dist/namedSessionTransportDiagnostic.js +71 -0
  16. package/dist/namedSessionTransportDiagnostic.js.map +1 -0
  17. package/dist/namedSessionTransportDiagnostic.test.d.ts +2 -0
  18. package/dist/namedSessionTransportDiagnostic.test.d.ts.map +1 -0
  19. package/dist/namedSessionTransportDiagnostic.test.js +188 -0
  20. package/dist/namedSessionTransportDiagnostic.test.js.map +1 -0
  21. package/dist/repositoryRelayPreludeDiagnostic.test.d.ts +2 -0
  22. package/dist/repositoryRelayPreludeDiagnostic.test.d.ts.map +1 -0
  23. package/dist/repositoryRelayPreludeDiagnostic.test.js +27 -0
  24. package/dist/repositoryRelayPreludeDiagnostic.test.js.map +1 -0
  25. package/dist/repositoryRelaySupervisor.d.ts +1 -1
  26. package/dist/repositoryRelaySupervisor.d.ts.map +1 -1
  27. package/dist/repositoryRelaySupervisor.js +1 -1
  28. package/dist/repositoryRelaySupervisor.js.map +1 -1
  29. package/dist/schemas/named-session-readiness-diagnostic.schema.json +37 -0
  30. package/dist/usage.d.ts.map +1 -1
  31. package/dist/usage.js +3 -2
  32. package/dist/usage.js.map +1 -1
  33. package/package.json +1 -1
@@ -27,7 +27,9 @@ export declare function namedSessionPaths(home: string, name: string): {
27
27
  };
28
28
  export declare function readNamedSession(home: string, name: string): Promise<NamedSessionRegistration | null>;
29
29
  export declare function saveNamedSession(home: string, value: NamedSessionRegistration): Promise<void>;
30
- export declare function namedSessionRequest(home: string, name: string, request: Record<string, unknown>): Promise<Record<string, unknown>>;
30
+ export declare function namedSessionRequest(home: string, name: string, request: Record<string, unknown>, options?: {
31
+ readonly diagnostic?: boolean;
32
+ }): Promise<Record<string, unknown>>;
31
33
  export declare function runNamedSessionService(input: {
32
34
  home: string;
33
35
  registration: NamedSessionRegistration;
@@ -1 +1 @@
1
- {"version":3,"file":"namedSessionService.d.ts","sourceRoot":"","sources":["../src/namedSessionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedSessionService.d.ts","sourceRoot":"","sources":["../src/namedSessionService.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { readNamedSessionNativeAudit } from './namedSessionNativeAudit.js';
9
9
  import { composeNamedSessionRepositoryPrompt } from './namedSessionPackageGate.js';
10
10
  import { parseNamedCodexSkillObservation } from './namedCodexSkillDiscovery.js';
11
11
  import { NamedSessionAdmission } from './namedSessionAdmission.js';
12
+ import { NamedSessionTransportFailure } from './namedSessionTransportDiagnostic.js';
12
13
  function validateRegistration(value, name) {
13
14
  if (!value || typeof value !== 'object' || Array.isArray(value))
14
15
  throw new Error('named_session_registration_invalid');
@@ -71,28 +72,44 @@ export async function saveNamedSession(home, value) {
71
72
  await writeFile(temporary, `${JSON.stringify(value)}\n`, { mode: 0o600, flag: 'wx' });
72
73
  await rename(temporary, paths.registration);
73
74
  }
74
- export async function namedSessionRequest(home, name, request) {
75
+ export async function namedSessionRequest(home, name, request, options) {
75
76
  const paths = namedSessionPaths(home, name);
76
77
  const serialized = `${JSON.stringify(request)}\n`;
77
78
  if (Buffer.byteLength(serialized) > 20000)
78
79
  throw new Error('named_session_request_too_large');
79
80
  return new Promise((resolveReply, reject) => {
80
81
  const socket = createConnection(paths.socket);
81
- let bytes = Buffer.alloc(0), complete = false;
82
+ let bytes = Buffer.alloc(0), complete = false, connected = false;
82
83
  socket.setTimeout(request.action === 'work' || request.action === 'quiesce' ? 310_000 : 30_000);
83
- const fail = () => { if (!complete) {
84
- complete = true;
85
- reject(new Error('named_session_unavailable'));
86
- } socket.destroy(); };
87
- socket.on('connect', () => socket.write(serialized));
88
- socket.on('error', fail);
89
- socket.on('timeout', fail);
84
+ const fail = (failure) => {
85
+ if (!complete) {
86
+ complete = true;
87
+ reject(options?.diagnostic === true ? failure : new Error('named_session_unavailable'));
88
+ }
89
+ socket.destroy();
90
+ };
91
+ const phase = () => connected ? 'response' : 'connect';
92
+ socket.on('connect', () => {
93
+ if (complete)
94
+ return;
95
+ connected = true;
96
+ try {
97
+ socket.write(serialized);
98
+ }
99
+ catch (error) {
100
+ fail(NamedSessionTransportFailure.fromSocket('write', error));
101
+ }
102
+ });
103
+ socket.on('error', error => fail(NamedSessionTransportFailure.fromSocket(phase(), error)));
104
+ socket.on('timeout', () => fail(new NamedSessionTransportFailure(phase(), 'timeout')));
90
105
  socket.on('close', () => { if (!complete)
91
- fail(); });
106
+ fail(new NamedSessionTransportFailure(phase(), 'connection_closed')); });
92
107
  socket.on('data', chunk => {
108
+ if (complete)
109
+ return;
93
110
  bytes = Buffer.concat([bytes, chunk]);
94
111
  if (bytes.length > 50000) {
95
- fail();
112
+ fail(new NamedSessionTransportFailure('response', 'response_too_large'));
96
113
  return;
97
114
  }
98
115
  const end = bytes.indexOf(10);
@@ -105,12 +122,14 @@ export async function namedSessionRequest(home, name, request) {
105
122
  complete = true;
106
123
  socket.end();
107
124
  if (value.ok !== true)
108
- reject(new Error(String(value.code || 'named_session_failed')));
125
+ reject(options?.diagnostic === true
126
+ ? new NamedSessionTransportFailure('remote', 'remote_rejected', null, value.code)
127
+ : new Error(String(value.code || 'named_session_failed')));
109
128
  else
110
129
  resolveReply(value);
111
130
  }
112
131
  catch {
113
- fail();
132
+ fail(new NamedSessionTransportFailure('decode', 'malformed_response'));
114
133
  }
115
134
  });
116
135
  });
@@ -1 +1 @@
1
- {"version":3,"file":"namedSessionService.js","sourceRoot":"","sources":["../src/namedSessionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedSessionService.js","sourceRoot":"","sources":["../src/namedSessionService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { LocalProviderSessionIdentity } from '@dharma-ai-labs/agent-fabric-local-vault';
2
+ declare const phases: readonly ["connect", "write", "response", "decode", "remote"];
3
+ declare const reasons: readonly ["socket_missing", "connection_refused", "permission_denied", "connection_reset", "timeout", "transport_error", "connection_closed", "response_too_large", "malformed_response", "remote_rejected"];
4
+ export type NamedSessionTransportPhase = typeof phases[number];
5
+ export type NamedSessionTransportReason = typeof reasons[number];
6
+ export interface NamedSessionTransportDiagnostic {
7
+ readonly schema: 'dharma.named-session-transport-diagnostic/v1';
8
+ readonly phase: NamedSessionTransportPhase;
9
+ readonly reason: NamedSessionTransportReason;
10
+ readonly osCode: string | null;
11
+ readonly remoteCode: string | null;
12
+ }
13
+ export declare function namedSessionReadinessDiagnosticRequested(action: string, flags: Map<string, string | boolean>): boolean;
14
+ /** A closed local observation, never a copy of a socket error or remote body. */
15
+ export declare class NamedSessionTransportFailure extends Error {
16
+ #private;
17
+ constructor(phase: NamedSessionTransportPhase, reason: NamedSessionTransportReason, osCode?: unknown, remoteCode?: unknown);
18
+ get diagnostic(): Readonly<NamedSessionTransportDiagnostic>;
19
+ static fromSocket(phase: NamedSessionTransportPhase, error: unknown): NamedSessionTransportFailure;
20
+ }
21
+ export declare function namedSessionReadinessDiagnostic(input: {
22
+ readonly name: string;
23
+ readonly bindingId: string;
24
+ readonly identity: LocalProviderSessionIdentity;
25
+ }, failure: NamedSessionTransportFailure): Readonly<{
26
+ provider: "codex";
27
+ code: "named_session_unavailable";
28
+ diagnostic: Readonly<NamedSessionTransportDiagnostic>;
29
+ ok: false;
30
+ schema: "dharma.named-session-readiness-diagnostic/v1";
31
+ localOnly: true;
32
+ nativeReady: false;
33
+ receiptId: `${string}-${string}-${string}-${string}-${string}`;
34
+ observedAt: string;
35
+ name: string;
36
+ bindingId: string;
37
+ organizationId: string;
38
+ }>;
39
+ export {};
40
+ //# sourceMappingURL=namedSessionTransportDiagnostic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionTransportDiagnostic.d.ts","sourceRoot":"","sources":["../src/namedSessionTransportDiagnostic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,0CAA0C,CAAC;AAE3F,QAAA,MAAM,MAAM,+DAA4D,CAAC;AACzE,QAAA,MAAM,OAAO,8MACgG,CAAC;AAQ9G,MAAM,MAAM,0BAA0B,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,2BAA2B,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,8CAA8C,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAC,MAAM,GAAG,OAAO,CAAC,WAO3G;AAED,iFAAiF;AACjF,qBAAa,4BAA6B,SAAQ,KAAK;;gBAEzC,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,2BAA2B,EAChF,MAAM,GAAE,OAAc,EAAE,UAAU,GAAE,OAAc;IAQpD,IAAI,UAAU,8CAA6B;IAE3C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,OAAO;CAUpE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IAAC,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAC,MAAM,CAAC;IACtG,QAAQ,CAAC,QAAQ,EAAC,4BAA4B,CAAA;CAAC,EAAE,OAAO,EAAE,4BAA4B;;;;;;;;;;;;;GAuBvF"}
@@ -0,0 +1,71 @@
1
+ import { types } from 'node:util';
2
+ import { randomUUID } from 'node:crypto';
3
+ const phases = ['connect', 'write', 'response', 'decode', 'remote'];
4
+ const reasons = ['socket_missing', 'connection_refused', 'permission_denied', 'connection_reset', 'timeout',
5
+ 'transport_error', 'connection_closed', 'response_too_large', 'malformed_response', 'remote_rejected'];
6
+ const osCodes = new Set(['ENOENT', 'ECONNREFUSED', 'EACCES', 'EPERM', 'ECONNRESET', 'ETIMEDOUT', 'EPIPE']);
7
+ const remoteCodes = new Set(['named_session_unavailable', 'named_session_failed', 'named_session_stopped',
8
+ 'named_session_busy', 'named_session_quiesced', 'named_session_readiness_unavailable',
9
+ 'named_session_readiness_scope_mismatch', 'named_session_native_skill_unavailable',
10
+ 'named_session_scope_mismatch', 'named_session_registration_invalid', 'setup_session_invalid',
11
+ 'setup_session_scope_changed', 'setup_readiness_stale', 'vault_api_unavailable']);
12
+ export function namedSessionReadinessDiagnosticRequested(action, flags) {
13
+ if (!flags.has('diagnostic'))
14
+ return false;
15
+ if (action !== 'readiness' || flags.get('diagnostic') !== true
16
+ || [...flags.keys()].some(key => !['name', 'workspace-id', 'diagnostic'].includes(key))) {
17
+ throw new Error('named_session_diagnostic_invalid');
18
+ }
19
+ return true;
20
+ }
21
+ /** A closed local observation, never a copy of a socket error or remote body. */
22
+ export class NamedSessionTransportFailure extends Error {
23
+ #diagnostic;
24
+ constructor(phase, reason, osCode = null, remoteCode = null) {
25
+ super('named_session_unavailable');
26
+ this.name = 'NamedSessionTransportFailure';
27
+ this.#diagnostic = Object.freeze({ schema: 'dharma.named-session-transport-diagnostic/v1',
28
+ phase: phases.includes(phase) ? phase : 'response', reason: reasons.includes(reason) ? reason : 'transport_error',
29
+ osCode: typeof osCode === 'string' && osCodes.has(osCode) ? osCode : null,
30
+ remoteCode: typeof remoteCode === 'string' && remoteCodes.has(remoteCode) ? remoteCode : null });
31
+ }
32
+ get diagnostic() { return this.#diagnostic; }
33
+ static fromSocket(phase, error) {
34
+ const field = error && typeof error === 'object' && !types.isProxy(error)
35
+ ? Object.getOwnPropertyDescriptor(error, 'code') : undefined;
36
+ const code = field && Object.hasOwn(field, 'value') ? field.value : undefined;
37
+ const reason = code === 'ENOENT' ? 'socket_missing' : code === 'ECONNREFUSED' ? 'connection_refused'
38
+ : code === 'EACCES' || code === 'EPERM' ? 'permission_denied'
39
+ : code === 'ECONNRESET' || code === 'EPIPE' ? 'connection_reset'
40
+ : code === 'ETIMEDOUT' ? 'timeout' : 'transport_error';
41
+ return new NamedSessionTransportFailure(phase, reason, code);
42
+ }
43
+ }
44
+ export function namedSessionReadinessDiagnostic(input, failure) {
45
+ const own = (value, key) => {
46
+ if (!value || typeof value !== 'object' || types.isProxy(value))
47
+ return undefined;
48
+ const field = Object.getOwnPropertyDescriptor(value, key);
49
+ return field && Object.hasOwn(field, 'value') ? field.value : undefined;
50
+ };
51
+ const name = own(input, 'name'), bindingId = own(input, 'bindingId');
52
+ const identity = own(input, 'identity');
53
+ const uuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\s\S])/i;
54
+ const organizationId = own(identity, 'organizationId');
55
+ if (typeof name !== 'string' || !/^[a-z][a-z0-9-]{0,47}$(?![\s\S])/.test(name)
56
+ || typeof bindingId !== 'string' || !uuid.test(bindingId)
57
+ || typeof organizationId !== 'string' || !/^[A-Za-z0-9][A-Za-z0-9_-]{0,199}$(?![\s\S])/.test(organizationId)
58
+ || own(identity, 'provider') !== 'codex')
59
+ throw new Error('named_session_diagnostic_scope_invalid');
60
+ const ids = {};
61
+ for (const key of ['repositoryBindingId', 'workspaceId', 'endpointId', 'membershipId', 'deviceId']) {
62
+ const value = own(identity, key);
63
+ if (typeof value !== 'string' || !uuid.test(value))
64
+ throw new Error('named_session_diagnostic_scope_invalid');
65
+ ids[key] = value;
66
+ }
67
+ return Object.freeze({ ok: false, schema: 'dharma.named-session-readiness-diagnostic/v1', localOnly: true,
68
+ nativeReady: false, receiptId: randomUUID(), observedAt: new Date().toISOString(), name, bindingId,
69
+ organizationId, ...ids, provider: 'codex', code: 'named_session_unavailable', diagnostic: failure.diagnostic });
70
+ }
71
+ //# sourceMappingURL=namedSessionTransportDiagnostic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionTransportDiagnostic.js","sourceRoot":"","sources":["../src/namedSessionTransportDiagnostic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=namedSessionTransportDiagnostic.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionTransportDiagnostic.test.d.ts","sourceRoot":"","sources":["../src/namedSessionTransportDiagnostic.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,188 @@
1
+ import assert from 'node:assert/strict';
2
+ import { EventEmitter } from 'node:events';
3
+ import net from 'node:net';
4
+ import { syncBuiltinESMExports } from 'node:module';
5
+ import test, { mock } from 'node:test';
6
+ import { namedSessionRequest } from './namedSessionService.js';
7
+ import { commandExitCode } from './index.js';
8
+ import { randomUUID } from 'node:crypto';
9
+ import { join } from 'node:path';
10
+ import { validateContract } from '@dharma-ai-labs/agent-fabric-contracts';
11
+ import { NamedSessionTransportFailure, namedSessionReadinessDiagnostic, namedSessionReadinessDiagnosticRequested } from './namedSessionTransportDiagnostic.js';
12
+ class FixtureSocket extends EventEmitter {
13
+ sent = [];
14
+ timeoutMs = 0;
15
+ destroyed = false;
16
+ setTimeout(value) { this.timeoutMs = value; return this; }
17
+ write(value) { this.sent.push(value); return true; }
18
+ end() { return this; }
19
+ destroy() { this.destroyed = true; return this; }
20
+ }
21
+ function fixture(t, diagnostic = true) {
22
+ const socket = new FixtureSocket();
23
+ const factory = mock.method(net, 'createConnection', () => socket);
24
+ syncBuiltinESMExports();
25
+ t.after(() => { factory.mock.restore(); syncBuiltinESMExports(); });
26
+ const home = process.platform === 'win32' ? 'C:/dhr-ipc-fixture' : '/tmp/dhr-ipc-fixture';
27
+ // The initial regression runs against the legacy three-argument implementation.
28
+ const promise = Reflect.apply(namedSessionRequest, undefined, [home, 'owner', { action: 'readiness' }, ...(diagnostic ? [{ diagnostic: true }] : [])]);
29
+ return { socket, promise, factory };
30
+ }
31
+ function diagnostic(reason, phase, osCode = null, remoteCode = null) {
32
+ return { schema: 'dharma.named-session-transport-diagnostic/v1', phase, reason, osCode, remoteCode };
33
+ }
34
+ for (const [code, reason] of [['ENOENT', 'socket_missing'], ['ECONNREFUSED', 'connection_refused'],
35
+ ['EACCES', 'permission_denied'], ['EPERM', 'permission_denied'], ['ECONNRESET', 'connection_reset']]) {
36
+ test('diagnostic distinguishes ' + code + ' without returning private error details', async (t) => {
37
+ const { socket, promise } = fixture(t);
38
+ const failure = assert.rejects(promise, error => {
39
+ assert(error instanceof Error);
40
+ assert.equal(error.message, 'named_session_unavailable');
41
+ assert.deepEqual(error.diagnostic, diagnostic(reason, 'connect', code));
42
+ assert(!JSON.stringify(error).includes('PRIVATE_FIXTURE'));
43
+ assert(!error.stack?.includes('PRIVATE_FIXTURE'));
44
+ return true;
45
+ });
46
+ socket.emit('error', Object.assign(new Error('PRIVATE_FIXTURE'), { code, path: 'PRIVATE_FIXTURE', syscall: 'PRIVATE_FIXTURE' }));
47
+ await failure;
48
+ assert.equal(socket.destroyed, true);
49
+ });
50
+ }
51
+ test('diagnostic does not modify the existing request or successful response', async (t) => {
52
+ const { socket, promise } = fixture(t);
53
+ socket.emit('connect');
54
+ assert.deepEqual(socket.sent, ['{"action":"readiness"}\n']);
55
+ assert.equal(socket.timeoutMs, 30000);
56
+ const response = { ok: true, bindingId: 'public-fixture' };
57
+ socket.emit('data', Buffer.from(JSON.stringify(response) + '\n'));
58
+ assert.deepEqual(await promise, response);
59
+ });
60
+ test('timeout and close remain distinct from connection refusal', async (t) => {
61
+ const { socket, promise } = fixture(t);
62
+ const failure = assert.rejects(promise, error => {
63
+ assert.deepEqual(error.diagnostic, diagnostic('timeout', 'response'));
64
+ return true;
65
+ });
66
+ socket.emit('connect');
67
+ socket.emit('timeout');
68
+ await failure;
69
+ });
70
+ test('close before any response is explicit without pretending the service exited', async (t) => {
71
+ const { socket, promise } = fixture(t);
72
+ const failure = assert.rejects(promise, error => {
73
+ assert.deepEqual(error.diagnostic, diagnostic('connection_closed', 'response'));
74
+ return true;
75
+ });
76
+ socket.emit('connect');
77
+ socket.emit('close');
78
+ await failure;
79
+ });
80
+ for (const [bytes, reason, phase] of [[Buffer.from('PRIVATE_FIXTURE\n'), 'malformed_response', 'decode'],
81
+ [Buffer.alloc(50001), 'response_too_large', 'response']]) {
82
+ test('diagnostic safely classifies ' + reason, async (t) => {
83
+ const { socket, promise } = fixture(t);
84
+ const failure = assert.rejects(promise, error => {
85
+ assert.deepEqual(error.diagnostic, diagnostic(reason, phase));
86
+ assert(!JSON.stringify(error).includes('PRIVATE_FIXTURE'));
87
+ return true;
88
+ });
89
+ socket.emit('connect');
90
+ socket.emit('data', bytes);
91
+ await failure;
92
+ });
93
+ }
94
+ for (const code of ['named_session_stopped', 'vault_api_unavailable', 'PRIVATE_FIXTURE']) {
95
+ test('remote failure classification is closed for ' + code, async (t) => {
96
+ const { socket, promise } = fixture(t);
97
+ const failure = assert.rejects(promise, error => {
98
+ assert.deepEqual(error.diagnostic, diagnostic('remote_rejected', 'remote', null, code === 'PRIVATE_FIXTURE' ? null : code));
99
+ assert(!JSON.stringify(error).includes('PRIVATE_FIXTURE'));
100
+ return true;
101
+ });
102
+ socket.emit('connect');
103
+ socket.emit('data', Buffer.from(JSON.stringify({ ok: false, code, private: 'PRIVATE_FIXTURE' }) + '\n'));
104
+ await failure;
105
+ });
106
+ }
107
+ test('legacy callers keep the generic unavailable error without diagnostic fields', async (t) => {
108
+ const { socket, promise } = fixture(t, false);
109
+ const failure = assert.rejects(promise, error => {
110
+ assert(error instanceof Error);
111
+ assert.equal(error.message, 'named_session_unavailable');
112
+ assert.equal(error.diagnostic, undefined);
113
+ return true;
114
+ });
115
+ socket.emit('error', Object.assign(new Error('PRIVATE_FIXTURE'), { code: 'EACCES' }));
116
+ await failure;
117
+ });
118
+ test('a failed readiness diagnostic cannot exit successfully', () => {
119
+ assert.equal(commandExitCode(['sessions', 'readiness', '--diagnostic'], { ok: false, schema: 'dharma.named-session-readiness-diagnostic/v1' }), 2);
120
+ });
121
+ test('diagnostic success exit requires the actual readiness response, not an arbitrary ok flag', () => {
122
+ assert.equal(commandExitCode(['sessions', 'readiness', '--diagnostic'], { ok: true }), 2);
123
+ assert.equal(commandExitCode(['sessions', 'readiness', '--diagnostic'], { ok: true, schema: 'dharma.named-session-readiness/v1' }), 0);
124
+ });
125
+ test('diagnostic option is confined to readiness and cannot be combined with write options', () => {
126
+ const valid = new Map([['name', 'owner'], ['workspace-id', randomUUID()], ['diagnostic', true]]);
127
+ assert.equal(namedSessionReadinessDiagnosticRequested('readiness', valid), true);
128
+ assert.equal(namedSessionReadinessDiagnosticRequested('start', new Map([['apply', true]])), false);
129
+ for (const action of ['start', 'serve', 'work', 'stop', 'ask', 'read', 'quiesce', 'resume', 'audit']) {
130
+ assert.throws(() => namedSessionReadinessDiagnosticRequested(action, valid), /named_session_diagnostic_invalid/);
131
+ }
132
+ for (const [key, value] of [['apply', true], ['prompt', 'PRIVATE_FIXTURE'], ['endpoint', 'foreign'], ['diagnostic', 'true']]) {
133
+ assert.throws(() => namedSessionReadinessDiagnosticRequested('readiness', new Map([...valid, [key, value]])), /named_session_diagnostic_invalid/);
134
+ }
135
+ });
136
+ function scopeFixture() {
137
+ return { name: 'owner', bindingId: randomUUID(), identity: { organizationId: 'org_synthetic', repositoryBindingId: randomUUID(),
138
+ workspaceId: randomUUID(), endpointId: randomUUID(), membershipId: randomUUID(), deviceId: randomUUID(), provider: 'codex' } };
139
+ }
140
+ test('local failure receipt is scoped, closed-schema and explicitly not native readiness', async () => {
141
+ const scope = scopeFixture(), failure = NamedSessionTransportFailure.fromSocket('connect', { code: 'EACCES', private: 'PRIVATE_FIXTURE' });
142
+ const input = { ...scope, private: 'PRIVATE_FIXTURE' };
143
+ const report = namedSessionReadinessDiagnostic(input, failure);
144
+ assert.equal(report.ok, false);
145
+ assert.equal(report.localOnly, true);
146
+ assert.equal(report.nativeReady, false);
147
+ assert.equal(report.organizationId, scope.identity.organizationId);
148
+ assert.equal(report.bindingId, scope.bindingId);
149
+ assert(!JSON.stringify(report).includes('PRIVATE_FIXTURE'));
150
+ const directory = join(import.meta.dirname, '../../../schemas'), id = 'https://schemas.dharma-ai.io/named-session-readiness-diagnostic/v1';
151
+ assert.equal((await validateContract(directory, id, report)).ok, true);
152
+ for (const changed of [{ ...report, nativeReady: true }, { ...report, private: 'PRIVATE_FIXTURE' },
153
+ { ...report, diagnostic: { ...report.diagnostic, path: 'PRIVATE_FIXTURE' } }]) {
154
+ assert.equal((await validateContract(directory, id, changed)).ok, false);
155
+ }
156
+ });
157
+ test('failure receipt refuses missing or accessor-based identity without invoking getters', () => {
158
+ const scope = scopeFixture(), failure = new NamedSessionTransportFailure('response', 'timeout');
159
+ let reads = 0;
160
+ assert.throws(() => namedSessionReadinessDiagnostic({ ...scope, bindingId: 'foreign' }, failure), /diagnostic_scope_invalid/);
161
+ const identity = { ...scope.identity };
162
+ Object.defineProperty(identity, 'endpointId', { get() { reads++; return randomUUID(); } });
163
+ assert.throws(() => namedSessionReadinessDiagnostic({ ...scope, identity }, failure), /diagnostic_scope_invalid/);
164
+ assert.equal(reads, 0);
165
+ });
166
+ test('socket diagnostics do not read getters or proxies on foreign error objects', () => {
167
+ let reads = 0;
168
+ const error = {};
169
+ Object.defineProperty(error, 'code', { get() { reads++; return 'EACCES'; } });
170
+ const proxy = new Proxy({}, { get() { reads++; throw new Error('PRIVATE_FIXTURE'); }, getOwnPropertyDescriptor() { reads++; throw new Error('PRIVATE_FIXTURE'); } });
171
+ for (const value of [error, proxy]) {
172
+ const failure = NamedSessionTransportFailure.fromSocket('connect', value);
173
+ assert.equal(failure.diagnostic.reason, 'transport_error');
174
+ assert.equal(failure.diagnostic.osCode, null);
175
+ }
176
+ assert.equal(reads, 0);
177
+ });
178
+ test('a settled failure never reconnects or writes a late duplicate request', async (t) => {
179
+ const { socket, promise, factory } = fixture(t);
180
+ const failure = assert.rejects(promise, /named_session_unavailable/);
181
+ socket.emit('error', Object.assign(new Error('PRIVATE_FIXTURE'), { code: 'ECONNREFUSED' }));
182
+ await failure;
183
+ socket.emit('connect');
184
+ socket.emit('data', Buffer.from('{"ok":true}\n'));
185
+ assert.equal(factory.mock.calls.length, 1);
186
+ assert.equal(socket.sent.length, 0);
187
+ });
188
+ //# sourceMappingURL=namedSessionTransportDiagnostic.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionTransportDiagnostic.test.js","sourceRoot":"","sources":["../src/namedSessionTransportDiagnostic.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=repositoryRelayPreludeDiagnostic.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositoryRelayPreludeDiagnostic.test.d.ts","sourceRoot":"","sources":["../src/repositoryRelayPreludeDiagnostic.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { currentRepositoryRelayFailure, runRegisteredRepositoryRelays, withRepositoryRelayStage } from './repositoryRelaySupervisor.js';
4
+ for (const stage of ['session_open', 'vault_open']) {
5
+ test(`current-process diagnostics retain ${stage} without private error text`, () => {
6
+ const at = '2026-10-16T23:00:00.000Z', mtime = Date.parse(at) - 1000;
7
+ const receipt = { schema: 'dharma.local-repository-relay-failure/v1', organizationId: 'org_a',
8
+ deviceId: 'device_a', workspaceId: 'workspace_a', pid: 50, relayPidMtimeMs: mtime,
9
+ relayPidCtimeMs: mtime, at, stage, category: 'unexpected', privateDetail: 'must-not-leak' };
10
+ assert.deepEqual(currentRepositoryRelayFailure({ receipt, organizationId: 'org_a', deviceId: 'device_a',
11
+ workspaceId: 'workspace_a', pid: 50, relayPidMtimeMs: mtime, relayPidCtimeMs: mtime,
12
+ lastSuccessfulPollAt: null, now: Date.parse(at) + 1000 }), { at, stage, category: 'unexpected' });
13
+ });
14
+ test(`${stage} remains a bounded failed worker, not a raw error or successful poll`, async () => {
15
+ const controller = new AbortController(), events = [];
16
+ let ticks = 0;
17
+ await runRegisteredRepositoryRelays({ signal: controller.signal,
18
+ list: async () => [{ workspaceId: 'workspace_a', policyPath: '/a/.dharma/approved-policy.json' }],
19
+ run: () => withRepositoryRelayStage(stage, async () => { throw Error('private-key-and-response-body'); }),
20
+ observe: event => { events.push(event); }, now: () => 0,
21
+ wait: async () => { await Promise.resolve(); await Promise.resolve(); if (++ticks === 4)
22
+ controller.abort(); } });
23
+ assert.deepEqual(events, [{ workspaceId: 'workspace_a', code: 'repository_relay_failed', stage, category: 'unexpected' }]);
24
+ assert(!JSON.stringify(events).includes('private-key-and-response-body'));
25
+ });
26
+ }
27
+ //# sourceMappingURL=repositoryRelayPreludeDiagnostic.test.js.map