@dharma-ai-labs/agent-fabric 0.2.206 → 0.2.208

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 (52) hide show
  1. package/README.md +22 -0
  2. package/dist/bootstrapHostScope.test.js +2 -1
  3. package/dist/bootstrapHostScope.test.js.map +1 -1
  4. package/dist/bootstrapProcessCaller.test.js +2 -0
  5. package/dist/bootstrapProcessCaller.test.js.map +1 -1
  6. package/dist/bootstrapVaultScope.test.js +32 -1
  7. package/dist/bootstrapVaultScope.test.js.map +1 -1
  8. package/dist/codexInboxSession.d.ts +1 -1
  9. package/dist/codexSetupSessionCaller.test.js +2 -0
  10. package/dist/codexSetupSessionCaller.test.js.map +1 -1
  11. package/dist/cooperativeInboxSession.d.ts +1 -1
  12. package/dist/demoPeer.d.ts +2 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +85 -4
  15. package/dist/index.js.map +1 -1
  16. package/dist/namedSessionAdmission.d.ts +23 -0
  17. package/dist/namedSessionAdmission.d.ts.map +1 -0
  18. package/dist/namedSessionAdmission.js +120 -0
  19. package/dist/namedSessionAdmission.js.map +1 -0
  20. package/dist/namedSessionAdmission.test.d.ts +2 -0
  21. package/dist/namedSessionAdmission.test.d.ts.map +1 -0
  22. package/dist/namedSessionAdmission.test.js +151 -0
  23. package/dist/namedSessionAdmission.test.js.map +1 -0
  24. package/dist/namedSessionMaintenance.d.ts +49 -0
  25. package/dist/namedSessionMaintenance.d.ts.map +1 -0
  26. package/dist/namedSessionMaintenance.js +79 -0
  27. package/dist/namedSessionMaintenance.js.map +1 -0
  28. package/dist/namedSessionMaintenance.test.d.ts +2 -0
  29. package/dist/namedSessionMaintenance.test.d.ts.map +1 -0
  30. package/dist/namedSessionMaintenance.test.js +141 -0
  31. package/dist/namedSessionMaintenance.test.js.map +1 -0
  32. package/dist/namedSessionService.d.ts +8 -1
  33. package/dist/namedSessionService.d.ts.map +1 -1
  34. package/dist/namedSessionService.js +138 -45
  35. package/dist/namedSessionService.js.map +1 -1
  36. package/dist/namedSessionService.test.js +58 -3
  37. package/dist/namedSessionService.test.js.map +1 -1
  38. package/dist/namedSessionTransportDiagnostic.d.ts +40 -0
  39. package/dist/namedSessionTransportDiagnostic.d.ts.map +1 -0
  40. package/dist/namedSessionTransportDiagnostic.js +71 -0
  41. package/dist/namedSessionTransportDiagnostic.js.map +1 -0
  42. package/dist/namedSessionTransportDiagnostic.test.d.ts +2 -0
  43. package/dist/namedSessionTransportDiagnostic.test.d.ts.map +1 -0
  44. package/dist/namedSessionTransportDiagnostic.test.js +188 -0
  45. package/dist/namedSessionTransportDiagnostic.test.js.map +1 -0
  46. package/dist/providerSessionReplyRecovery.d.ts +1 -1
  47. package/dist/schemas/named-session-maintenance.schema.json +38 -0
  48. package/dist/schemas/named-session-readiness-diagnostic.schema.json +37 -0
  49. package/dist/usage.d.ts.map +1 -1
  50. package/dist/usage.js +3 -2
  51. package/dist/usage.js.map +1 -1
  52. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import { generateKeyPairSync, randomBytes, randomUUID } from 'node:crypto';
3
- import { mkdir, mkdtemp, readFile, readdir, writeFile } from 'node:fs/promises';
3
+ import { chmod, mkdir, mkdtemp, readFile, readdir, writeFile } from 'node:fs/promises';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
6
  import test from 'node:test';
@@ -15,6 +15,15 @@ test('durable named registration excludes credentials, grants and foreign shape'
15
15
  const good = { schema: 'dharma.named-session/v1', name: 'reviewer', bindingId: randomUUID(),
16
16
  identity, maximumCostCents: 100, maximumTurnCostCents: 25, enabled: true };
17
17
  await saveNamedSession(home, good);
18
+ const paused = { ...good, enabled: false, maintenanceFence: { fenceId: randomUUID(), generation: randomUUID() } };
19
+ await saveNamedSession(home, paused);
20
+ await assert.rejects(saveNamedSession(home, { ...paused, enabled: true }), /registration_invalid/);
21
+ assert.deepEqual(await readNamedSession(home, 'reviewer'), paused);
22
+ const permitted = { ...paused, maintenanceFence: { ...paused.maintenanceFence, restartPermitted: true } };
23
+ await saveNamedSession(home, permitted);
24
+ assert.deepEqual(await readNamedSession(home, 'reviewer'), permitted);
25
+ await assert.rejects(saveNamedSession(home, { ...permitted, enabled: true }), /registration_invalid/);
26
+ await saveNamedSession(home, good);
18
27
  for (const invalid of [{ ...good, grant: 'private-fixture' }, { ...good, maximumTurnCostCents: 101 },
19
28
  { ...good, identity: { ...identity, credential: 'private-fixture' } },
20
29
  { ...good, identity: { ...identity, membershipId: 'unbound-email' } }]) {
@@ -51,7 +60,7 @@ for (const queueFailure of [false, true])
51
60
  vault.saveProviderSessionBinding(binding);
52
61
  const controller = new AbortController(), turns = [], replies = [];
53
62
  const listeners = new Set();
54
- let offered = false, accepted = false, active = 0, maximumActive = 0, closed = false, revision = 0;
63
+ let offered = false, accepted = false, active = 0, maximumActive = 0, closed = false, revision = 0, inboxPolls = 0;
55
64
  const questionId = randomUUID(), taskId = randomUUID(), now = new Date();
56
65
  const unsigned = { schema: 'dharma.session-question/v1', questionId, taskId,
57
66
  organizationId: identity.organizationId, repositoryBindingId: identity.repositoryBindingId,
@@ -134,8 +143,10 @@ for (const queueFailure of [false, true])
134
143
  organizationId: undefined, mode: 'bridge_owned', revision: ++revision, state: 'attached',
135
144
  leaseUntil: new Date(Date.now() + 60000).toISOString(), replay: false } };
136
145
  }
137
- if (value.action === 'inbox')
146
+ if (value.action === 'inbox') {
147
+ inboxPolls++;
138
148
  return { ...base, result: { offers: offered && !accepted ? [question] : [] } };
149
+ }
139
150
  if (value.action === 'accept')
140
151
  accepted = true;
141
152
  if (value.action === 'reply')
@@ -386,6 +397,40 @@ for (const queueFailure of [false, true])
386
397
  const completion = JSON.parse((await vault.getBlob(health.lastObservation.completionHash)).toString('utf8'));
387
398
  assert.equal((await validateContract(join(import.meta.dirname, 'schemas'), 'https://schemas.dharma-ai.io/provider-session-completion/v1', completion)).ok, true);
388
399
  assert.equal((await namedSessionRequest(home, 'implementer', { action: 'status' })).sessionId, binding.sessionId);
400
+ const current = await namedSessionRequest(home, 'implementer', { action: 'status' });
401
+ const generation = current.admission.generation, fenceId = randomUUID();
402
+ const failedFence = randomUUID(), registrationRoot = namedSessionPaths(home, 'implementer').root;
403
+ await chmod(registrationRoot, 0o500);
404
+ try {
405
+ await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'quiesce', fenceId: failedFence, generation }), { message: 'named_session_maintenance_persistence_unconfirmed' });
406
+ assert.equal((await namedSessionRequest(home, 'implementer', { action: 'status' })).admission.state, 'quiesced');
407
+ await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'work', workId: randomUUID(), prompt: 'Do not admit' }), /named_session_quiesced/);
408
+ }
409
+ finally {
410
+ await chmod(registrationRoot, 0o700);
411
+ }
412
+ await namedSessionRequest(home, 'implementer', { action: 'resume', fenceId: failedFence, generation });
413
+ assert.equal((await readNamedSession(home, 'implementer'))?.enabled, true);
414
+ await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'quiesce', fenceId, generation: randomUUID() }), /named_session_generation_changed/);
415
+ const quiesced = await namedSessionRequest(home, 'implementer', { action: 'quiesce', fenceId, generation });
416
+ assert.equal(quiesced.state, 'quiesced');
417
+ assert.equal(quiesced.pending, 0);
418
+ assert.equal(quiesced.automaticRestartEnabled, false);
419
+ assert.equal((await readNamedSession(home, 'implementer'))?.enabled, false);
420
+ assert.deepEqual((await readNamedSession(home, 'implementer'))?.maintenanceFence, { fenceId, generation });
421
+ assert.equal((await validateContract(join(import.meta.dirname, 'schemas'), 'https://schemas.dharma-ai.io/named-session-maintenance/v1', quiesced)).ok, true);
422
+ const pollsAtFence = inboxPolls, budgetAtFence = (await namedSessionRequest(home, 'implementer', { action: 'status' })).budget;
423
+ await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'work', workId: randomUUID(), prompt: 'Do not admit' }), /named_session_quiesced/);
424
+ await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'resume', fenceId: randomUUID(), generation }), /named_session_fence_conflict/);
425
+ await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'stop' }), /named_session_fence_required/);
426
+ await new Promise(resolveWait => setTimeout(resolveWait, 1100));
427
+ assert.equal(inboxPolls, pollsAtFence);
428
+ assert.equal(turns.length, 3);
429
+ assert.equal(active, 0);
430
+ assert.deepEqual((await namedSessionRequest(home, 'implementer', { action: 'status' })).budget, budgetAtFence);
431
+ assert.equal((await namedSessionRequest(home, 'implementer', { action: 'resume', fenceId, generation })).state, 'open');
432
+ assert.equal((await readNamedSession(home, 'implementer'))?.enabled, true);
433
+ assert.equal((await readNamedSession(home, 'implementer'))?.maintenanceFence, undefined);
389
434
  const retention = await vault.enforceRawEvidenceRetention({ retentionDays: 30,
390
435
  now: new Date(Date.now() + 31 * 86400000) });
391
436
  assert.equal(retention.deleted, 2);
@@ -393,6 +438,16 @@ for (const queueFailure of [false, true])
393
438
  await assert.rejects(vault.getBlob(String(receipt.nativeEvidence.contentHash)));
394
439
  assert.ok(await vault.getBlob(String(receipt.completionHash)));
395
440
  }
441
+ const stopFence = randomUUID();
442
+ await namedSessionRequest(home, 'implementer', { action: 'quiesce', fenceId: stopFence, generation });
443
+ await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'stop-drained', fenceId: randomUUID(), generation }), /named_session_fence_conflict/);
444
+ assert.equal((await readNamedSession(home, 'implementer'))?.enabled, false);
445
+ const stopped = await namedSessionRequest(home, 'implementer', { action: 'stop-drained', fenceId: stopFence, generation });
446
+ assert.equal(stopped.state, 'stop_requested');
447
+ await service;
448
+ assert.equal((await readNamedSession(home, 'implementer'))?.enabled, false);
449
+ assert.equal(active, 0);
450
+ assert.equal(turns.length, 3);
396
451
  }
397
452
  finally {
398
453
  controller.abort();
@@ -1 +1 @@
1
- {"version":3,"file":"namedSessionService.test.js","sourceRoot":"","sources":["../src/namedSessionService.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedSessionService.test.js","sourceRoot":"","sources":["../src/namedSessionService.test.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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"}
@@ -11,7 +11,7 @@ export declare function reconcileProviderSessionReply(input: {
11
11
  questionId: string;
12
12
  taskId: string;
13
13
  completionHash: string;
14
- reasonCode: "receipt_invalid" | "content_or_contract_blocked" | "delivery_unconfirmed";
14
+ reasonCode: "content_or_contract_blocked" | "receipt_invalid" | "delivery_unconfirmed";
15
15
  dispositionHash?: undefined;
16
16
  delivered?: undefined;
17
17
  replyReceiptHash?: undefined;