@dharma-ai-labs/agent-fabric 0.2.183 → 0.2.185

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 (36) hide show
  1. package/dist/codexSetupChildProvider.test.js +33 -2
  2. package/dist/codexSetupChildProvider.test.js.map +1 -1
  3. package/dist/codexSetupDiagnostic.d.ts.map +1 -1
  4. package/dist/codexSetupDiagnostic.js +3 -1
  5. package/dist/codexSetupDiagnostic.js.map +1 -1
  6. package/dist/codexSetupDiagnostic.test.js +16 -1
  7. package/dist/codexSetupDiagnostic.test.js.map +1 -1
  8. package/dist/codexSetupOwnedConnection.js +2 -2
  9. package/dist/codexSetupOwnedConnection.js.map +1 -1
  10. package/dist/codexSetupOwnedConnection.test.js +4 -2
  11. package/dist/codexSetupOwnedConnection.test.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +114 -94
  14. package/dist/index.js.map +1 -1
  15. package/dist/namedCodexFilesystem.d.ts +2 -0
  16. package/dist/namedCodexFilesystem.d.ts.map +1 -1
  17. package/dist/namedCodexFilesystem.js +8 -1
  18. package/dist/namedCodexFilesystem.js.map +1 -1
  19. package/dist/namedCodexFilesystem.test.js +46 -0
  20. package/dist/namedCodexFilesystem.test.js.map +1 -1
  21. package/dist/namedSessionStartupChild.d.ts +2 -10
  22. package/dist/namedSessionStartupChild.d.ts.map +1 -1
  23. package/dist/namedSessionStartupChild.js +4 -9
  24. package/dist/namedSessionStartupChild.js.map +1 -1
  25. package/dist/namedSessionStartupChild.test.js +15 -0
  26. package/dist/namedSessionStartupChild.test.js.map +1 -1
  27. package/dist/namedSessionStartupDiagnostic.d.ts +18 -0
  28. package/dist/namedSessionStartupDiagnostic.d.ts.map +1 -0
  29. package/dist/namedSessionStartupDiagnostic.js +45 -0
  30. package/dist/namedSessionStartupDiagnostic.js.map +1 -0
  31. package/dist/namedSessionStartupDiagnostic.test.d.ts +2 -0
  32. package/dist/namedSessionStartupDiagnostic.test.d.ts.map +1 -0
  33. package/dist/namedSessionStartupDiagnostic.test.js +43 -0
  34. package/dist/namedSessionStartupDiagnostic.test.js.map +1 -0
  35. package/dist/schemas/codex-setup-failure-diagnostic.schema.json +4 -1
  36. package/package.json +1 -1
@@ -8,6 +8,8 @@ export declare function namedCodexFilesystem(input: {
8
8
  peer: string;
9
9
  work: string;
10
10
  runtimeRoots: string[];
11
+ environment: NodeJS.ProcessEnv;
12
+ providerExecutable: string;
11
13
  additionalFilesystemRules: Readonly<Record<string, 'read' | 'deny'>>;
12
14
  }>;
13
15
  //# sourceMappingURL=namedCodexFilesystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"namedCodexFilesystem.d.ts","sourceRoot":"","sources":["../src/namedCodexFilesystem.ts"],"names":[],"mappings":"AAUA,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAC/D,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;CAAE,CAAC,CAwExE"}
1
+ {"version":3,"file":"namedCodexFilesystem.d.ts","sourceRoot":"","sources":["../src/namedCodexFilesystem.ts"],"names":[],"mappings":"AAUA,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAC3H,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;CAAE,CAAC,CA+ExE"}
@@ -12,6 +12,8 @@ export async function namedCodexFilesystem(input) {
12
12
  const privateRoots = [...new Set(input.privateRoots.map(root => resolve(root)))];
13
13
  const denied = privateRoots.filter(root => !privateRoots.some(parent => parent !== root && contains(parent, root)));
14
14
  const runtimeRoots = [];
15
+ const environment = { ...input.environment };
16
+ let providerExecutable = 'codex';
15
17
  if (process.platform === 'linux') {
16
18
  let executable;
17
19
  for (const root of (input.environment.PATH || '').split(delimiter)) {
@@ -27,6 +29,7 @@ export async function namedCodexFilesystem(input) {
27
29
  }
28
30
  if (!executable)
29
31
  throw new Error('named_session_provider_runtime_missing');
32
+ providerExecutable = executable;
30
33
  let directory = dirname(executable);
31
34
  for (let depth = 0; depth < 5; depth++) {
32
35
  let manifest;
@@ -81,6 +84,10 @@ export async function namedCodexFilesystem(input) {
81
84
  }
82
85
  if (!runtimeRoots.some(root => contains(root, node)))
83
86
  runtimeRoots.push(node);
87
+ // PATH and the file-level mount must select the same verified runtime.
88
+ // Adding its directory to PATH does not grant directory read access.
89
+ environment.PATH = [dirname(node), ...(environment.PATH || '').split(delimiter)
90
+ .filter(root => root !== dirname(node))].join(delimiter);
84
91
  }
85
92
  for (const root of runtimeRoots) {
86
93
  if (contains(input.workspace, root) || denied.some(privateRoot => contains(root, privateRoot) || contains(privateRoot, root))) {
@@ -98,7 +105,7 @@ export async function namedCodexFilesystem(input) {
98
105
  .map(([key, value]) => `${JSON.stringify(key)}=${JSON.stringify(value)}`).join(',')}}`;
99
106
  const profile = (workspaceRoots) => `{${Object.entries(shared)
100
107
  .map(([key, value]) => `${JSON.stringify(key)}=${JSON.stringify(value)}`).join(',')},":workspace_roots"=${table(workspaceRoots)}}`;
101
- return { peer: profile({ '.': 'read' }), work: profile(roots), runtimeRoots,
108
+ return { peer: profile({ '.': 'read' }), work: profile(roots), runtimeRoots, environment, providerExecutable,
102
109
  additionalFilesystemRules: Object.freeze(additionalFilesystemRules) };
103
110
  }
104
111
  //# sourceMappingURL=namedCodexFilesystem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"namedCodexFilesystem.js","sourceRoot":"","sources":["../src/namedCodexFilesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedCodexFilesystem.js","sourceRoot":"","sources":["../src/namedCodexFilesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEzF,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAa;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAG1C;IAEC,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpH,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,kBAAkB,GAAG,OAAO,CAAC;IACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,UAA8B,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAAC,UAAU,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;YAC/F,MAAM,CAAC,CAAC,uDAAuD,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC3E,kBAAkB,GAAG,UAAU,CAAC;QAChC,IAAI,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,IAAI,QAAsF,CAAC;YAC3F,IAAI,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAAC,CAAC;YACvF,MAAM,CAAC,CAAC,+DAA+D,CAAC,CAAC;YACzE,IAAI,QAAQ,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBACvC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,CAAC;oBACpE,IAAI,IAAI,KAAK,uBAAuB,OAAO,CAAC,IAAI,EAAE;wBAAE,SAAS;oBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;oBACvE,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;wBAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAqB,CAAC,IAAI,CAAC,CAAC;wBACnD,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,qBAAqB,QAAQ,CAAC,OAAO,EAAE,CAAC;wBAC/F,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC;+BACxE,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE;4BAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;wBACpG,YAAY,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC5C,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;4BAAE,MAAM,KAAK,CAAC;wBACpE,4EAA4E;oBAC9E,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,0EAA0E;QAC1E,6EAA6E;QAC7E,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC;QAChE,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACrE,IAAI,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,uEAAuE;QACvE,qEAAqE;QACrE,WAAW,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;iBAC5E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAC9H,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,MAAM,yBAAyB,GAAoC,EAAE,CAAC;IACtE,KAAK,MAAM,IAAI,IAAI,YAAY;QAAE,yBAAyB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC1E,KAAK,MAAM,IAAI,IAAI,MAAM;QAAE,yBAAyB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACpE,MAAM,MAAM,GAA2B,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAC5F,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpG,MAAM,KAAK,GAAG,CAAC,OAA+B,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3E,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACzF,MAAM,OAAO,GAAG,CAAC,cAAsC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACnF,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC;IACrI,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB;QAC1G,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;AAC1E,CAAC"}
@@ -2,6 +2,8 @@ import assert from 'node:assert/strict';
2
2
  import { chmod, mkdir, mkdtemp, realpath, rm, symlink, writeFile } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { join } from 'node:path';
5
+ import { execFile } from 'node:child_process';
6
+ import { promisify } from 'node:util';
5
7
  import test from 'node:test';
6
8
  import { namedCodexFilesystem } from './namedCodexFilesystem.js';
7
9
  async function fixture(packageDirectory = 'node_modules') {
@@ -22,6 +24,50 @@ async function fixture(packageDirectory = 'node_modules') {
22
24
  await chmod(node, 0o755);
23
25
  return { root, bin, code, native, node };
24
26
  }
27
+ test('worker PATH selects the exact exposed Node rather than an unexposed prepared sibling', { skip: process.platform !== 'linux' }, async () => {
28
+ const f = await fixture();
29
+ try {
30
+ await writeFile(f.node, '#!/bin/sh\nprintf trusted-node\n');
31
+ await writeFile(join(f.root, 'public-node', 'codex'), '#!/bin/sh\nprintf wrong-provider\n');
32
+ await chmod(join(f.root, 'public-node', 'codex'), 0o755);
33
+ await writeFile(join(f.bin, 'node'), '#!/bin/sh\nprintf wrong-prepared-node\n');
34
+ await chmod(join(f.bin, 'node'), 0o755);
35
+ const environment = { PATH: f.bin, HOME: f.root };
36
+ const result = await namedCodexFilesystem({ environment, workspace: join(f.root, 'checkout'),
37
+ privateRoots: [join(f.root, 'private')], writeRoots: [], nodeExecutable: f.node });
38
+ const mapped = result;
39
+ assert.ok(mapped.environment, 'verified runtime environment missing');
40
+ const execution = await promisify(execFile)('node', [], { env: mapped.environment });
41
+ assert.equal(execution.stdout, 'trusted-node');
42
+ assert.equal(result.providerExecutable, join(f.code, 'bin/codex.js'));
43
+ assert.equal(result.additionalFilesystemRules[join(f.root, 'public-node', 'codex')], undefined);
44
+ assert.equal(environment.PATH, f.bin, 'caller environment mutated');
45
+ assert.equal(result.additionalFilesystemRules[f.node], 'read');
46
+ assert.equal(result.additionalFilesystemRules[join(f.root, 'public-node')], undefined);
47
+ assert.equal(result.additionalFilesystemRules[join(f.bin, 'node')], undefined);
48
+ assert.equal(result.additionalFilesystemRules[join(f.root, 'private')], 'deny');
49
+ }
50
+ finally {
51
+ await rm(f.root, { recursive: true, force: true });
52
+ }
53
+ });
54
+ test('runtime PATH uses the verified canonical Node location rather than its outer alias', { skip: process.platform !== 'linux' }, async () => {
55
+ const f = await fixture();
56
+ try {
57
+ const alias = join(f.bin, 'node');
58
+ await symlink(f.node, alias);
59
+ const result = await namedCodexFilesystem({ environment: { PATH: f.bin }, workspace: join(f.root, 'checkout'),
60
+ privateRoots: [], writeRoots: [], nodeExecutable: alias });
61
+ const mapped = result;
62
+ assert.ok(mapped.environment, 'verified runtime environment missing');
63
+ assert.equal(mapped.environment.PATH?.split(':')[0], join(f.root, 'public-node'));
64
+ assert.equal(result.additionalFilesystemRules[alias], undefined);
65
+ assert.equal(result.additionalFilesystemRules[f.node], 'read');
66
+ }
67
+ finally {
68
+ await rm(f.root, { recursive: true, force: true });
69
+ }
70
+ });
25
71
  test('the trusted Node executable is readable without exposing its directory or private siblings', { skip: process.platform !== 'linux' }, async () => {
26
72
  const f = await fixture();
27
73
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"namedCodexFilesystem.test.js","sourceRoot":"","sources":["../src/namedCodexFilesystem.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedCodexFilesystem.test.js","sourceRoot":"","sources":["../src/namedCodexFilesystem.test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,6 @@
1
1
  import type { ChildProcess } from 'node:child_process';
2
- declare const classifications: {
3
- readonly setup_child_unavailable: "named_session_startup_setup_child_unavailable";
4
- readonly named_session_registration_invalid: "named_session_startup_registration_invalid";
5
- readonly named_session_provider_authentication_required: "named_session_startup_provider_authentication_required";
6
- readonly named_session_workspace_write_not_authorized: "named_session_startup_workspace_write_not_authorized";
7
- readonly named_session_trust_scope_mismatch: "named_session_startup_trust_scope_mismatch";
8
- readonly codex_session_sandbox_unqualified: "named_session_startup_sandbox_unqualified";
9
- };
10
- export type NamedSessionStartupFailure = typeof classifications[keyof typeof classifications] | 'named_session_startup_child_spawn_failed' | 'named_session_startup_child_exited' | 'named_session_startup_child_failed';
2
+ import { namedSessionStartupErrors as classifications, type NamedSessionStartupPhaseFailure } from './namedSessionStartupDiagnostic.js';
3
+ export type NamedSessionStartupFailure = typeof classifications[keyof typeof classifications] | NamedSessionStartupPhaseFailure | 'named_session_startup_child_spawn_failed' | 'named_session_startup_child_exited' | 'named_session_startup_child_failed';
11
4
  export declare function isNamedSessionStartupFailure(value: unknown): value is NamedSessionStartupFailure;
12
5
  /** Observe only the freshly spawned handle. Raw stderr stays bounded in memory,
13
6
  * never reaches logs/receipts, and is discarded when startup observation ends. */
@@ -15,5 +8,4 @@ export declare function observeNamedSessionStartupChild(child: ChildProcess): Re
15
8
  readFailure: () => NamedSessionStartupFailure | undefined;
16
9
  dispose(): void;
17
10
  }>;
18
- export {};
19
11
  //# sourceMappingURL=namedSessionStartupChild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"namedSessionStartupChild.d.ts","sourceRoot":"","sources":["../src/namedSessionStartupChild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGrD,QAAA,MAAM,eAAe;;;;;;;CAOX,CAAC;AACX,MAAM,MAAM,0BAA0B,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,GACzF,0CAA0C,GAAG,oCAAoC,GACjF,oCAAoC,CAAC;AAGzC,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAEhG;AAED;kFACkF;AAClF,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,YAAY;;;GA4BlE"}
1
+ {"version":3,"file":"namedSessionStartupChild.d.ts","sourceRoot":"","sources":["../src/namedSessionStartupChild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAoC,yBAAyB,IAAI,eAAe,EACrF,KAAK,+BAA+B,EAAC,MAAM,oCAAoC,CAAC;AAElF,MAAM,MAAM,0BAA0B,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,GACzF,+BAA+B,GAC/B,0CAA0C,GAAG,oCAAoC,GACjF,oCAAoC,CAAC;AAGzC,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAEhG;AAED;kFACkF;AAClF,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,YAAY;;;GA6BlE"}
@@ -1,15 +1,8 @@
1
- const classifications = {
2
- setup_child_unavailable: 'named_session_startup_setup_child_unavailable',
3
- named_session_registration_invalid: 'named_session_startup_registration_invalid',
4
- named_session_provider_authentication_required: 'named_session_startup_provider_authentication_required',
5
- named_session_workspace_write_not_authorized: 'named_session_startup_workspace_write_not_authorized',
6
- named_session_trust_scope_mismatch: 'named_session_startup_trust_scope_mismatch',
7
- codex_session_sandbox_unqualified: 'named_session_startup_sandbox_unqualified',
8
- };
1
+ import { isNamedSessionStartupPhaseFailure, namedSessionStartupErrors as classifications } from './namedSessionStartupDiagnostic.js';
9
2
  const codes = new Set([...Object.values(classifications), 'named_session_startup_child_spawn_failed',
10
3
  'named_session_startup_child_exited', 'named_session_startup_child_failed']);
11
4
  export function isNamedSessionStartupFailure(value) {
12
- return typeof value === 'string' && codes.has(value);
5
+ return typeof value === 'string' && (codes.has(value) || isNamedSessionStartupPhaseFailure(value));
13
6
  }
14
7
  /** Observe only the freshly spawned handle. Raw stderr stays bounded in memory,
15
8
  * never reaches logs/receipts, and is discarded when startup observation ends. */
@@ -38,6 +31,8 @@ export function observeNamedSessionStartupChild(child) {
38
31
  const last = buffer.subarray(0, length).toString('utf8').trim().split(/\r?\n/).at(-1);
39
32
  if (last && Object.hasOwn(classifications, last))
40
33
  failure = classifications[last];
34
+ else if (isNamedSessionStartupPhaseFailure(last))
35
+ failure = last;
41
36
  }
42
37
  buffer.fill(0);
43
38
  length = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"namedSessionStartupChild.js","sourceRoot":"","sources":["../src/namedSessionStartupChild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedSessionStartupChild.js","sourceRoot":"","sources":["../src/namedSessionStartupChild.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,21 @@ test('a live child is never declared stopped from stderr alone', () => {
38
38
  assert.equal(f.observed.readFailure(), undefined);
39
39
  f.observed.dispose();
40
40
  });
41
+ test('a real child reports its fixed startup phase without private exception text', async () => {
42
+ const moduleUrl = new URL('./namedSessionStartupDiagnostic.js', import.meta.url).href;
43
+ const child = spawn(process.execPath, ['--input-type=module', '-e',
44
+ `import {namedSessionStartupPhaseError} from ${JSON.stringify(moduleUrl)};
45
+ process.stderr.write(namedSessionStartupPhaseError('thread', new Error('secret-placeholder')).message+'\\n');
46
+ process.exitCode=2;`], { stdio: ['ignore', 'ignore', 'pipe'] });
47
+ const observed = observeNamedSessionStartupChild(child);
48
+ try {
49
+ await once(child, 'close');
50
+ assert.equal(observed.readFailure(), 'named_session_startup_phase_thread_unclassified');
51
+ }
52
+ finally {
53
+ observed.dispose();
54
+ }
55
+ });
41
56
  test('clean exit before readiness and spawn error have distinct fixed categories', () => {
42
57
  const a = fixture();
43
58
  a.child.emit('close', 0);
@@ -1 +1 @@
1
- {"version":3,"file":"namedSessionStartupChild.test.js","sourceRoot":"","sources":["../src/namedSessionStartupChild.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedSessionStartupChild.test.js","sourceRoot":"","sources":["../src/namedSessionStartupChild.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare const namedSessionStartupErrors: Readonly<{
2
+ readonly setup_child_unavailable: "named_session_startup_setup_child_unavailable";
3
+ readonly named_session_registration_invalid: "named_session_startup_registration_invalid";
4
+ readonly named_session_provider_authentication_required: "named_session_startup_provider_authentication_required";
5
+ readonly named_session_workspace_write_not_authorized: "named_session_startup_workspace_write_not_authorized";
6
+ readonly named_session_trust_scope_mismatch: "named_session_startup_trust_scope_mismatch";
7
+ readonly codex_session_sandbox_unqualified: "named_session_startup_sandbox_unqualified";
8
+ }>;
9
+ declare const phases: readonly ["vault", "lock", "client", "trust", "session", "policy", "registration", "environment", "filesystem", "transport", "account", "thread", "binding", "lifetime", "service"];
10
+ export type NamedSessionStartupPhase = typeof phases[number];
11
+ declare const reasons: readonly ["unclassified", "missing", "permission", "conflict", "timeout", "connection", "aborted"];
12
+ type Reason = typeof reasons[number];
13
+ export type NamedSessionStartupPhaseFailure = `named_session_startup_phase_${NamedSessionStartupPhase}_${Reason}`;
14
+ export declare function isNamedSessionStartupPhaseFailure(value: unknown): value is NamedSessionStartupPhaseFailure;
15
+ /** Never copy exception messages, response bodies or property getters into diagnostics. */
16
+ export declare function namedSessionStartupPhaseError(phase: NamedSessionStartupPhase, error: unknown): Error;
17
+ export {};
18
+ //# sourceMappingURL=namedSessionStartupDiagnostic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionStartupDiagnostic.d.ts","sourceRoot":"","sources":["../src/namedSessionStartupDiagnostic.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB;;;;;;;EAO3B,CAAC;AAEZ,QAAA,MAAM,MAAM,qLAC+F,CAAC;AAC5G,MAAM,MAAM,wBAAwB,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7D,QAAA,MAAM,OAAO,oGAAqG,CAAC;AACnH,KAAK,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACrC,MAAM,MAAM,+BAA+B,GAAG,+BAA+B,wBAAwB,IAAI,MAAM,EAAE,CAAC;AAQlH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,+BAA+B,CAE1G;AAED,2FAA2F;AAC3F,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,CAkBpG"}
@@ -0,0 +1,45 @@
1
+ import { types } from 'node:util';
2
+ export const namedSessionStartupErrors = Object.freeze({
3
+ setup_child_unavailable: 'named_session_startup_setup_child_unavailable',
4
+ named_session_registration_invalid: 'named_session_startup_registration_invalid',
5
+ named_session_provider_authentication_required: 'named_session_startup_provider_authentication_required',
6
+ named_session_workspace_write_not_authorized: 'named_session_startup_workspace_write_not_authorized',
7
+ named_session_trust_scope_mismatch: 'named_session_startup_trust_scope_mismatch',
8
+ codex_session_sandbox_unqualified: 'named_session_startup_sandbox_unqualified',
9
+ });
10
+ const phases = ['vault', 'lock', 'client', 'trust', 'session', 'policy', 'registration',
11
+ 'environment', 'filesystem', 'transport', 'account', 'thread', 'binding', 'lifetime', 'service'];
12
+ const reasons = ['unclassified', 'missing', 'permission', 'conflict', 'timeout', 'connection', 'aborted'];
13
+ const codes = new Set(phases.flatMap(phase => reasons.map(reason => `named_session_startup_phase_${phase}_${reason}`)));
14
+ const errno = Object.freeze({
15
+ ENOENT: 'missing', EACCES: 'permission', EPERM: 'permission', EADDRINUSE: 'conflict',
16
+ EEXIST: 'conflict', ETIMEDOUT: 'timeout', ECONNREFUSED: 'connection', ECONNRESET: 'connection',
17
+ ABORT_ERR: 'aborted',
18
+ });
19
+ export function isNamedSessionStartupPhaseFailure(value) {
20
+ return typeof value === 'string' && codes.has(value);
21
+ }
22
+ /** Never copy exception messages, response bodies or property getters into diagnostics. */
23
+ export function namedSessionStartupPhaseError(phase, error) {
24
+ let reason = 'unclassified';
25
+ const seen = new Set();
26
+ for (let depth = 0; depth < 4; depth++) {
27
+ if (!error || typeof error !== 'object' || types.isProxy(error) || seen.has(error))
28
+ break;
29
+ seen.add(error);
30
+ const message = Object.getOwnPropertyDescriptor(error, 'message');
31
+ if (message && Object.hasOwn(message, 'value') && typeof message.value === 'string'
32
+ && Object.hasOwn(namedSessionStartupErrors, message.value))
33
+ return new Error(message.value);
34
+ const code = Object.getOwnPropertyDescriptor(error, 'code');
35
+ if (code && Object.hasOwn(code, 'value') && typeof code.value === 'string' && Object.hasOwn(errno, code.value)) {
36
+ reason = errno[code.value];
37
+ break;
38
+ }
39
+ const cause = Object.getOwnPropertyDescriptor(error, 'cause');
40
+ error = cause && Object.hasOwn(cause, 'value') ? cause.value : undefined;
41
+ }
42
+ const safePhase = phases.includes(phase) ? phase : 'service';
43
+ return new Error(`named_session_startup_phase_${safePhase}_${reason}`);
44
+ }
45
+ //# sourceMappingURL=namedSessionStartupDiagnostic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionStartupDiagnostic.js","sourceRoot":"","sources":["../src/namedSessionStartupDiagnostic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=namedSessionStartupDiagnostic.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionStartupDiagnostic.test.d.ts","sourceRoot":"","sources":["../src/namedSessionStartupDiagnostic.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { namedSessionStartupPhaseError, isNamedSessionStartupPhaseFailure, namedSessionStartupErrors } from './namedSessionStartupDiagnostic.js';
4
+ test('unknown private errors produce only a fixed phase and no original cause', () => {
5
+ const result = namedSessionStartupPhaseError('transport', new Error('password=secret-placeholder'));
6
+ assert.equal(result.message, 'named_session_startup_phase_transport_unclassified');
7
+ assert.equal(Object.hasOwn(result, 'cause'), false);
8
+ assert.equal(JSON.stringify(result).includes('secret-placeholder'), false);
9
+ });
10
+ for (const [code, reason] of Object.entries({ ENOENT: 'missing', EACCES: 'permission', EPERM: 'permission',
11
+ EADDRINUSE: 'conflict', EEXIST: 'conflict', ETIMEDOUT: 'timeout', ECONNREFUSED: 'connection',
12
+ ECONNRESET: 'connection', ABORT_ERR: 'aborted' })) {
13
+ test(`only fixed errno classification is emitted (${code})`, () => {
14
+ const error = Object.assign(new Error('secret-placeholder'), { code, path: 'private-placeholder' });
15
+ assert.equal(namedSessionStartupPhaseError('binding', new Error('outer-secret', { cause: error })).message, `named_session_startup_phase_binding_${reason}`);
16
+ });
17
+ }
18
+ test('fixed existing authorization and identity failures retain their public classification', () => {
19
+ for (const message of Object.keys(namedSessionStartupErrors)) {
20
+ assert.equal(namedSessionStartupPhaseError('registration', new Error(message)).message, message);
21
+ }
22
+ });
23
+ test('getters, proxies, cycles and unrecognized errno never disclose or execute private values', () => {
24
+ const accessor = Object.defineProperties({}, {
25
+ message: { get() { throw new Error('getter-ran'); } },
26
+ code: { get() { throw new Error('getter-ran'); } },
27
+ cause: { get() { throw new Error('getter-ran'); } },
28
+ });
29
+ const proxy = new Proxy({}, { getOwnPropertyDescriptor() { throw new Error('proxy-ran'); } });
30
+ const cycle = {};
31
+ cycle.cause = cycle;
32
+ for (const error of [accessor, proxy, cycle, { code: 'secret-placeholder' }, 'secret-placeholder', null]) {
33
+ assert.equal(namedSessionStartupPhaseError('account', error).message, 'named_session_startup_phase_account_unclassified');
34
+ }
35
+ });
36
+ test('only complete allowlisted phase codes are accepted', () => {
37
+ assert.equal(isNamedSessionStartupPhaseFailure('named_session_startup_phase_thread_timeout'), true);
38
+ for (const value of ['named_session_startup_phase_thread_timeout\nsecret',
39
+ 'named_session_startup_phase_foreign_missing', 'named_session_startup_phase_account_secret', {}, null]) {
40
+ assert.equal(isNamedSessionStartupPhaseFailure(value), false);
41
+ }
42
+ });
43
+ //# sourceMappingURL=namedSessionStartupDiagnostic.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedSessionStartupDiagnostic.test.js","sourceRoot":"","sources":["../src/namedSessionStartupDiagnostic.test.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,9 @@
31
31
  ]
32
32
  },
33
33
  "category": {
34
- "enum": [
34
+ "anyOf": [
35
+ {"type": "string", "pattern": "^named_session_startup_phase_(vault|lock|client|trust|session|policy|registration|environment|filesystem|transport|account|thread|binding|lifetime|service)_(unclassified|missing|permission|conflict|timeout|connection|aborted)$(?![\\s\\S])"},
36
+ {"enum": [
35
37
  "setup_runtime_unclassified",
36
38
  "codex_setup_host_scope_unavailable",
37
39
  "codex_setup_host_source_mismatch",
@@ -91,6 +93,7 @@
91
93
  "setup_readiness_context_unconfirmed",
92
94
  "setup_readiness_lease_invalid",
93
95
  "setup_readiness_persistence_unconfirmed"
96
+ ]}
94
97
  ]
95
98
  }
96
99
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dharma-ai-labs/agent-fabric",
3
- "version": "0.2.183",
3
+ "version": "0.2.185",
4
4
  "description": "Local-first CLI for connecting coding agents to Dharma evaluation, orchestration, and signed Skill delivery",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/dharma-ai-labs/dharma-agent-fabric/tree/main/packages/cli#readme",