@dharma-ai-labs/agent-fabric 0.2.180 → 0.2.182

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.
@@ -1 +1 @@
1
- {"version":3,"file":"namedPeerContentAuthorization.d.ts","sourceRoot":"","sources":["../src/namedPeerContentAuthorization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,MAAM,MAAM,uBAAuB,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,oBAAoB,GACnG,eAAe,GAAG,oBAAoB,GAAG,eAAe,GAAG,8BAA8B,GACzF,+BAA+B,GAAG,uBAAuB,CAAC;AAE9D,qBAAa,kCAAmC,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;CAGtD;AAID,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,8BAA8B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,IAKe,SAAS,MAAM,EAAE,MAAM,UAAU,GAAG,QAAQ,KAAG,OAAO,CAAC,OAAO,CAAC,CA0B9E"}
1
+ {"version":3,"file":"namedPeerContentAuthorization.d.ts","sourceRoot":"","sources":["../src/namedPeerContentAuthorization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,MAAM,MAAM,uBAAuB,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,oBAAoB,GACnG,eAAe,GAAG,oBAAoB,GAAG,eAAe,GAAG,8BAA8B,GACzF,+BAA+B,GAAG,uBAAuB,CAAC;AAE9D,qBAAa,kCAAmC,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;CAGtD;AASD,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,8BAA8B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,IAKe,SAAS,MAAM,EAAE,MAAM,UAAU,GAAG,QAAQ,KAAG,OAAO,CAAC,OAAO,CAAC,CA+B9E"}
@@ -10,6 +10,10 @@ export class NamedPeerContentAuthorizationError extends Error {
10
10
  this.blocker = blocker;
11
11
  }
12
12
  }
13
+ function compactJsonWhitespace(content) {
14
+ // Preserve every string token, including escapes; parsing alone could lose duplicate keys.
15
+ return content.replace(/("(?:\\[\s\S]|[^"\\])*")|[ \t\r\n]+/g, (_match, literal) => literal ?? '');
16
+ }
13
17
  // This authorizes bounded task-channel text, not native history or learning intake.
14
18
  // Session ownership, signed offers, task/target scope and budgets remain the channel's responsibility.
15
19
  export function createNamedPeerContentAuthorization(input) {
@@ -30,8 +34,13 @@ export function createNamedPeerContentAuthorization(input) {
30
34
  return deny('private_local_path');
31
35
  if (referencesExcludedPath(content, policy.evidence.excludePaths, 'content'))
32
36
  return deny('excluded_path');
33
- if (canonicalize(redactValue(content, { classes: new Set(), redactedValues: 0,
34
- excludedPaths: 0, inputBytes: 0, outputBytes: 0 })) !== canonicalize(content))
37
+ const stats = { classes: new Set(), redactedValues: 0,
38
+ excludedPaths: 0, inputBytes: 0, outputBytes: 0 };
39
+ const redacted = redactValue(content, stats);
40
+ if (canonicalize(redacted) !== canonicalize(content)
41
+ && !(typeof redacted === 'string' && stats.classes.size === 0 && stats.redactedValues === 0
42
+ && stats.excludedPaths === 0 && /^[\[{]/.test(content.trim())
43
+ && compactJsonWhitespace(content) === redacted))
35
44
  return deny('redaction_required');
36
45
  const mode = policy.evidence.automaticDisclosure?.mode;
37
46
  if (mode === 'customer_authorized_content')
@@ -1 +1 @@
1
- {"version":3,"file":"namedPeerContentAuthorization.js","sourceRoot":"","sources":["../src/namedPeerContentAuthorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACnI,OAAO,EAAE,YAAY,EAA2B,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAE3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAMxE,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IACtC;IAArB,YAAqB,OAAgC;QACnD,KAAK,CAAC,gCAAgC,CAAC,CAAC;QADrB,YAAO,GAAP,OAAO,CAAyB;IAErD,CAAC;CACF;AAED,oFAAoF;AACpF,uGAAuG;AACvG,MAAM,UAAU,mCAAmC,CAAC,KAMnD;IACC,SAAS,IAAI,CAAC,OAAgC;QAC5C,IAAI,KAAK,CAAC,WAAW;YAAE,MAAM,IAAI,kCAAkC,CAAC,OAAO,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,EAAE,OAAe,EAAE,IAA2B,EAAoB,EAAE;QAC9E,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3I,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC/C,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC,KAAK,CAAC,cAAc;gBAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxF,IAAI,2BAA2B,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC5E,IAAI,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;YAC3G,IAAI,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAU,EAAE,cAAc,EAAE,CAAC;gBACnF,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACnH,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC;YACvD,IAAI,IAAI,KAAK,6BAA6B;gBAAE,OAAO,IAAI,CAAC;YACxD,oEAAoE;YACpE,IAAI,IAAI,KAAK,gBAAgB;gBAAE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5D,IAAI,MAAgE,CAAC;YACrE,IAAI,CAAC;gBACH,MAAM,GAAG,qCAAqC,CAAC,MAAM,KAAK,CAAC,8BAA8B,EAAE,EACzF,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAAC,CAAC;YACxD,8FAA8F;YAC9F,OAAO,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,kCAAkC;gBAAE,MAAM,KAAK,CAAC;YACrE,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"namedPeerContentAuthorization.js","sourceRoot":"","sources":["../src/namedPeerContentAuthorization.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,35 @@ test('repository-authorized task text works without upgrading local-analysis or
45
45
  assert.deepEqual(f.policy, original);
46
46
  assert.equal(f.policy.evidence.automaticDisclosure?.consentReceiptId, undefined);
47
47
  });
48
+ test('safe JSON formatting is not a redaction and retains current source authorization', async () => {
49
+ const f = fixture(true);
50
+ for (const content of [
51
+ JSON.stringify({ procedure: 'logical-job-failure-retry', expected_effects: { total: 3 }, evidence: 'reasoning_not_executed' }, null, 2),
52
+ ' \n[ { "value": "quoted spaces and \\"escapes\\"" }, true, null ]\t',
53
+ '{\n\t"value" : "whitespace inside strings stays intact"\r\n}',
54
+ ]) {
55
+ assert.equal(await f.authorize(content, 'answer'), true);
56
+ }
57
+ assert.equal(await f.authorize('{ "value": "same source scope" }', 'question'), true);
58
+ assert.equal(f.loads(), 4);
59
+ await assert.rejects(f.authorize('{\n"value": "multiline question remains invalid"\n}', 'question'), /provider_session_channel_input/);
60
+ f.setUnavailable();
61
+ await assert.rejects(f.authorize('{ "total": 3 }', 'answer'), /provider_session_channel_input/);
62
+ });
63
+ test('JSON formatting cannot conceal sensitive fields, nested paths or lossy normalization', async () => {
64
+ const f = fixture();
65
+ for (const content of [
66
+ '{ "password": "synthetic-private-value" }',
67
+ '{ "nested": { "api_key": "synthetic-private-value" } }',
68
+ '{ "nested": "{\\"password\\":\\"synthetic-private-value\\"}" }',
69
+ '{ "message": "Read /internal/notes.txt" }',
70
+ '{ "result": "first", "result": "last" }',
71
+ '{ "value": 1.0 }',
72
+ '{ "value": "\\u0061" }',
73
+ ])
74
+ assert.equal(await f.authorize(content, 'answer'), false);
75
+ assert.equal(f.loads(), 0);
76
+ });
48
77
  test('source authority is refreshed and a later denial cannot reuse approval', async () => {
49
78
  const f = fixture();
50
79
  assert.equal(await f.authorize('Which catalog applies?', 'question'), true);
@@ -1 +1 @@
1
- {"version":3,"file":"namedPeerContentAuthorization.test.js","sourceRoot":"","sources":["../src/namedPeerContentAuthorization.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedPeerContentAuthorization.test.js","sourceRoot":"","sources":["../src/namedPeerContentAuthorization.test.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ async function fixture() {
24
24
  readdir: async () => [], pidProcessState: async () => 'stopped',
25
25
  VERSION: '0.2.118', stableRepositoryLauncherContents: (version) => ({ version }),
26
26
  resolveRepositoryNpmCli: async () => '/fixtures/npm/bin/npm-cli.js',
27
+ providerProcessEnvironment: (source) => source,
28
+ resolveRepositoryCodexDirectory: async () => '/fixtures/codex/bin',
27
29
  withRelayStartupMutation: async (operation) => { calls.push('lock'); return operation(); },
28
30
  upgradeRelayRuntime: async (_input, hooks) => {
29
31
  await hooks.assertStopped();
@@ -87,17 +89,22 @@ test('actual upgrade caller binds the reviewed recorded-runtime verifier without
87
89
  test('actual Linux upgrade records npm while rollback does not require a replacement npm installation', async () => {
88
90
  const f = await fixture();
89
91
  let resolutions = 0;
92
+ let codexResolutions = 0;
90
93
  f.deps.resolveRepositoryNpmCli = async () => { resolutions++; return '/fixtures/npm/bin/npm-cli.js'; };
94
+ f.deps.resolveRepositoryCodexDirectory = async () => { codexResolutions++; return '/fixtures/codex/bin'; };
91
95
  f.deps.stableRepositoryLauncherContents = (_version, runtime) => ({ runtime });
92
96
  f.deps.upgradeRelayRuntime = async (_input, hooks) => {
93
97
  assert.equal(hooks.launcherContents('0.2.118').runtime?.npmCliPath, f.flags.has('rollback') ? undefined : '/fixtures/npm/bin/npm-cli.js');
98
+ assert.equal(hooks.launcherContents('0.2.118').runtime?.codexDirectory, f.flags.has('rollback') ? undefined : '/fixtures/codex/bin');
94
99
  return { state: 'planned' };
95
100
  };
96
101
  await f.run()(f.flags);
97
102
  assert.equal(resolutions, 1);
103
+ assert.equal(codexResolutions, 1);
98
104
  f.flags.set('rollback', true);
99
105
  await f.run()(f.flags);
100
106
  assert.equal(resolutions, 1);
107
+ assert.equal(codexResolutions, 1);
101
108
  });
102
109
  test('actual Linux caller and real runtime journal restore exact bytes on a fresh rollback without npm resolution', { skip: process.platform !== 'linux' }, async (t) => {
103
110
  for (const fixedPrevious of [false, true]) {
@@ -131,6 +138,7 @@ test('actual Linux caller and real runtime journal restore exact bytes on a fres
131
138
  readDeviceConfig: async () => ({ organizationId: selected.organizationId, deviceId: selected.deviceId }),
132
139
  stableRepositoryLauncherContents, upgradeRelayRuntime,
133
140
  resolveRepositoryNpmCli: async () => { resolutions++; return npmCliPath; },
141
+ resolveRepositoryCodexDirectory: async () => undefined,
134
142
  enableRelayAutostart: async (input) => { f.startup.version = input.version; },
135
143
  startRelayAutostart: async () => { running = true; }, stopRelayAutostart: async () => { running = false; },
136
144
  relayStop: async () => ({ ok: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"relayRuntimeUpgradeCaller.test.js","sourceRoot":"","sources":["../src/relayRuntimeUpgradeCaller.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayRuntimeUpgradeCaller.test.js","sourceRoot":"","sources":["../src/relayRuntimeUpgradeCaller.test.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,23 @@ type Launchers = {
2
2
  shell: string;
3
3
  windows: string;
4
4
  };
5
- export declare function stableRepositoryLauncherContents(version: string, runtime?: {
5
+ type LauncherRuntime = {
6
6
  platform: NodeJS.Platform;
7
7
  nodeDirectory: string;
8
8
  npmCliPath?: string;
9
- }): Launchers;
9
+ codexDirectory?: string;
10
+ };
11
+ export declare function stableRepositoryLauncherContents(version: string, runtime?: LauncherRuntime): Launchers;
10
12
  export declare function recordedRepositoryNodeDirectory(version: string, launchers: Launchers, platform: NodeJS.Platform): string | undefined;
11
13
  export declare function resolveRepositoryNpmCli(options?: {
12
14
  npmExecPath?: string;
13
15
  searchPath?: string;
14
16
  platform?: NodeJS.Platform;
15
17
  }): Promise<string>;
18
+ export declare function resolveRepositoryCodexDirectory(options?: {
19
+ searchPath?: string;
20
+ platform?: NodeJS.Platform;
21
+ }): Promise<string | undefined>;
16
22
  export declare function verifyRecordedRepositoryLaunchers(version: string, launchers: Launchers, runtime?: {
17
23
  platform: NodeJS.Platform;
18
24
  nodePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"repositoryLaunchers.d.ts","sourceRoot":"","sources":["../src/repositoryLaunchers.ts"],"names":[],"mappings":"AAKA,KAAK,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAGpD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAC9D,OAAO,CAAC,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA2BhG;AA4BD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,sBAE/G;AA0BD,wBAAsB,uBAAuB,CAAC,OAAO,GAAE;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAAM,mBAiBlI;AAsBD,wBAAsB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAC3F,OAAO,GAAE;IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAA8D,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5J;AAGD,wBAAsB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/G"}
1
+ {"version":3,"file":"repositoryLaunchers.d.ts","sourceRoot":"","sources":["../src/repositoryLaunchers.ts"],"names":[],"mappings":"AAKA,KAAK,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,KAAK,eAAe,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAUxH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAC9D,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAiCtC;AAkCD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,sBAE/G;AA0BD,wBAAsB,uBAAuB,CAAC,OAAO,GAAE;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAAM,mBAiBlI;AAmCD,wBAAsB,+BAA+B,CAAC,OAAO,GAAE;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAAM,+BAYpH;AAsBD,wBAAsB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAC3F,OAAO,GAAE;IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAA8D,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5J;AAGD,wBAAsB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/G"}
@@ -3,6 +3,13 @@ import { constants } from 'node:fs';
3
3
  import { lstat, open, readdir, readFile, realpath } from 'node:fs/promises';
4
4
  import { dirname, join, posix, win32 } from 'node:path';
5
5
  const VERSION = /^(?=.{1,64}$)\d+\.\d+\.\d+(?:-[a-zA-Z0-9.-]+)?$/;
6
+ function codexDirectoryPath(value) {
7
+ if (!value || value.length > 4096 || !posix.isAbsolute(value) || value === '/'
8
+ || posix.resolve(value) !== value || /[\x00-\x1f\x7f:]/.test(value)) {
9
+ throw new Error('relay_startup_codex_path_invalid');
10
+ }
11
+ return value;
12
+ }
6
13
  export function stableRepositoryLauncherContents(version, runtime) {
7
14
  if (!VERSION.test(version))
8
15
  throw new Error('Managed launcher version is invalid.');
@@ -32,6 +39,13 @@ export function stableRepositoryLauncherContents(version, runtime) {
32
39
  const quote = (value) => `'${value.replace(/'/g, "'\\''")}'`;
33
40
  shellInvocation = `${quote(posix.join(runtime.nodeDirectory, 'node'))} ${quote(entry)} exec --yes -- @dharma-ai-labs/agent-fabric@${version}`;
34
41
  }
42
+ if (runtime?.codexDirectory !== undefined) {
43
+ if (runtime.platform !== 'linux')
44
+ throw new Error('relay_startup_codex_path_invalid');
45
+ const directory = codexDirectoryPath(runtime.codexDirectory);
46
+ // Preserve only the qualified provider bin directory, not the login environment.
47
+ shellEnvironment += `export PATH='${directory.replace(/'/g, "'\\''")}':"$PATH"\n`;
48
+ }
35
49
  return { shell: `#!/bin/sh\n${shellEnvironment}exec ${shellInvocation} "$@"\n`,
36
50
  windows: `@echo off\r\n${windowsEnvironment}${invocation} %*\r\n` };
37
51
  }
@@ -40,9 +54,15 @@ function recordedRuntime(version, launchers, platform) {
40
54
  if (typeof launchers.shell !== 'string' || typeof launchers.windows !== 'string'
41
55
  || launchers.shell.length > 16384 || launchers.windows.length > 16384)
42
56
  return undefined;
57
+ let shell = launchers.shell;
58
+ const providerPrefix = platform === 'linux'
59
+ ? shell.match(/^#!\/bin\/sh\nexport PATH='([^\n]*)':"\$PATH"\nexport PATH='([^\n]*)':"\$PATH"\n/) : undefined;
60
+ const codexDirectory = providerPrefix ? codexDirectoryPath(providerPrefix[2].replace(/'\\''/g, "'")) : undefined;
61
+ if (providerPrefix)
62
+ shell = `#!/bin/sh\nexport PATH='${providerPrefix[1]}':"$PATH"\n` + shell.slice(providerPrefix[0].length);
43
63
  const captured = platform === 'win32'
44
64
  ? launchers.windows.match(/^@echo off\r\nsetlocal DisableDelayedExpansion\r\nset "PATH=([^\r\n]*);%PATH%"\r\n/)?.[1]
45
- : launchers.shell.match(/^#!\/bin\/sh\nexport PATH='([^\n]*)':"\$PATH"\n/)?.[1];
65
+ : shell.match(/^#!\/bin\/sh\nexport PATH='([^\n]*)':"\$PATH"\n/)?.[1];
46
66
  if (!captured)
47
67
  return undefined;
48
68
  const directory = platform === 'win32' ? captured.replace(/%%/g, '%') : captured.replace(/'\\''/g, "'");
@@ -51,14 +71,15 @@ function recordedRuntime(version, launchers, platform) {
51
71
  const quote = (value) => `'${value.replace(/'/g, "'\\''")}'`;
52
72
  const prefix = `#!/bin/sh\nexport PATH=${quote(directory)}:"$PATH"\nexec ${quote(posix.join(directory, 'node'))} `;
53
73
  const suffix = ` exec --yes -- @dharma-ai-labs/agent-fabric@${version} "$@"\n`;
54
- if (launchers.shell.startsWith(prefix) && launchers.shell.endsWith(suffix)) {
55
- const token = launchers.shell.slice(prefix.length, -suffix.length);
74
+ if (shell.startsWith(prefix) && shell.endsWith(suffix)) {
75
+ const token = shell.slice(prefix.length, -suffix.length);
56
76
  if (!token.startsWith("'") || !token.endsWith("'"))
57
77
  return undefined;
58
78
  npmCliPath = token.slice(1, -1).replace(/'\\''/g, "'");
59
79
  }
60
80
  }
61
- const runtime = { platform, nodeDirectory: directory, ...(npmCliPath === undefined ? {} : { npmCliPath }) };
81
+ const runtime = { platform, nodeDirectory: directory, ...(npmCliPath === undefined ? {} : { npmCliPath }),
82
+ ...(codexDirectory === undefined ? {} : { codexDirectory }) };
62
83
  const expected = stableRepositoryLauncherContents(version, runtime);
63
84
  return expected.shell === launchers.shell && expected.windows === launchers.windows ? runtime : undefined;
64
85
  }
@@ -125,6 +146,71 @@ export async function resolveRepositoryNpmCli(options = {}) {
125
146
  }
126
147
  throw new Error('relay_startup_npm_unavailable');
127
148
  }
149
+ async function protectedCodexDirectory(directory, nodePath = process.execPath) {
150
+ codexDirectoryPath(directory);
151
+ if (await realpath(directory) !== directory)
152
+ throw Error();
153
+ const protectParents = async (path) => {
154
+ for (let current = path;; current = dirname(current)) {
155
+ const parent = await lstat(current);
156
+ // Root-owned sticky temporary roots cannot replace this user's child directories.
157
+ const stickyRoot = current !== path && parent.uid === 0 && (parent.mode & 0o1000);
158
+ if (!parent.isDirectory() || parent.isSymbolicLink() || ![0, process.getuid()].includes(parent.uid)
159
+ || ((parent.mode & 0o022) && !stickyRoot))
160
+ throw Error();
161
+ if (dirname(current) === current)
162
+ break;
163
+ }
164
+ };
165
+ await protectParents(directory);
166
+ const executable = await realpath(join(directory, 'codex'));
167
+ await protectParents(dirname(executable));
168
+ await protectedBinaryHash(executable, 'linux');
169
+ if (!((await lstat(executable)).mode & 0o111))
170
+ throw Error();
171
+ let hasNode = true;
172
+ try {
173
+ await lstat(join(directory, 'node'));
174
+ }
175
+ catch (error) {
176
+ if (error.code !== 'ENOENT')
177
+ throw error;
178
+ hasNode = false;
179
+ }
180
+ // npm's CLI child uses env-node; provider priority must not replace its runtime.
181
+ if (hasNode) {
182
+ const selectedNode = await realpath(join(directory, 'node'));
183
+ await protectParents(dirname(selectedNode));
184
+ if (!((await lstat(selectedNode)).mode & 0o111)
185
+ || await protectedBinaryHash(selectedNode, 'linux') !== await protectedBinaryHash(nodePath, 'linux'))
186
+ throw Error();
187
+ }
188
+ return directory;
189
+ }
190
+ export async function resolveRepositoryCodexDirectory(options = {}) {
191
+ if ((options.platform ?? process.platform) !== 'linux')
192
+ return undefined;
193
+ for (const directory of (options.searchPath ?? process.env.PATH ?? '').split(':')) {
194
+ if (!directory)
195
+ continue;
196
+ try {
197
+ await lstat(join(directory, 'codex'));
198
+ }
199
+ catch (error) {
200
+ if (error.code === 'ENOENT')
201
+ continue;
202
+ throw new Error('relay_startup_codex_path_invalid');
203
+ }
204
+ // Do not skip an unsafe first match and silently select a different provider.
205
+ try {
206
+ return await protectedCodexDirectory(directory);
207
+ }
208
+ catch {
209
+ throw new Error('relay_startup_codex_path_invalid');
210
+ }
211
+ }
212
+ return undefined;
213
+ }
128
214
  async function protectedBinaryHash(path, platform) {
129
215
  if (await realpath(path) !== path)
130
216
  throw new Error('noncanonical_node_binary');
@@ -164,6 +250,8 @@ async function verifyRecordedRuntime(version, launchers, runtime, npmContext) {
164
250
  // A changed npm cache path is not a new trust root: require the already running Node bytes.
165
251
  const node = join(directory, runtime.platform === 'win32' ? 'node.exe' : 'node');
166
252
  try {
253
+ if (recorded.codexDirectory !== undefined)
254
+ await protectedCodexDirectory(recorded.codexDirectory, runtime.nodePath);
167
255
  if (recorded.npmCliPath !== undefined) {
168
256
  const activeNpm = npmContext === 'recorded' ? await protectedNpmCli(recorded.npmCliPath, runtime.platform)
169
257
  : await resolveRepositoryNpmCli({ npmExecPath: runtime.npmCliPath, platform: runtime.platform });
@@ -1 +1 @@
1
- {"version":3,"file":"repositoryLaunchers.js","sourceRoot":"","sources":["../src/repositoryLaunchers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repositoryLaunchers.js","sourceRoot":"","sources":["../src/repositoryLaunchers.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,24 @@
1
1
  import assert from 'node:assert/strict';
2
- import { chmod, copyFile, mkdir, mkdtemp, readFile, realpath, symlink, writeFile } from 'node:fs/promises';
2
+ import { chmod, copyFile, mkdir, mkdtemp, readFile, realpath, rm, symlink, writeFile } from 'node:fs/promises';
3
3
  import { execFile } from 'node:child_process';
4
4
  import { promisify } from 'node:util';
5
5
  import { tmpdir } from 'node:os';
6
- import { join } from 'node:path';
6
+ import { dirname, join, relative } from 'node:path';
7
7
  import test from 'node:test';
8
+ test('Linux launcher retains the selected Codex directory without copying the ambient environment', async () => {
9
+ const { stableRepositoryLauncherContents, recordedRepositoryNodeDirectory } = await import('./repositoryLaunchers.js');
10
+ const runtime = { platform: 'linux', nodeDirectory: '/approved/node/bin',
11
+ npmCliPath: '/approved/npm/bin/npm-cli.js', codexDirectory: "/approved/codex ' tools/bin" };
12
+ const launchers = stableRepositoryLauncherContents('0.2.180', runtime);
13
+ assert.ok(launchers.shell.includes("export PATH='/approved/codex '\\'' tools/bin':\"$PATH\"\n"));
14
+ assert.ok(launchers.shell.indexOf("export PATH='/approved/node/bin'") < launchers.shell.indexOf('codex'));
15
+ assert.equal(recordedRepositoryNodeDirectory('0.2.180', launchers, 'linux'), runtime.nodeDirectory);
16
+ assert.equal(recordedRepositoryNodeDirectory('0.2.180', { ...launchers,
17
+ shell: launchers.shell.replace('codex', 'codex\nunsafe') }, 'linux'), undefined);
18
+ for (const codexDirectory of ['relative/bin', '/approved/bin:foreign', '/approved/bin\nunsafe', '/']) {
19
+ assert.throws(() => stableRepositoryLauncherContents('0.2.180', { ...runtime, codexDirectory }));
20
+ }
21
+ });
8
22
  test('Linux startup records npm explicitly instead of relying on the service PATH', async () => {
9
23
  const { stableRepositoryLauncherContents, recordedRepositoryNodeDirectory } = await import('./repositoryLaunchers.js');
10
24
  const runtime = { platform: 'linux', nodeDirectory: '/approved/node/bin',
@@ -18,6 +32,75 @@ test('Linux startup records npm explicitly instead of relying on the service PAT
18
32
  assert.throws(() => stableRepositoryLauncherContents('0.2.177', { ...runtime, npmCliPath }));
19
33
  }
20
34
  });
35
+ test('Codex startup resolution is protected and does not skip an unsafe first executable', { skip: process.platform !== 'linux' }, async () => {
36
+ const { resolveRepositoryCodexDirectory } = await import('./repositoryLaunchers.js');
37
+ const root = await realpath(await mkdtemp(join(tmpdir(), 'fabric-codex-startup-')));
38
+ const good = join(root, 'good'), unsafe = join(root, 'unsafe');
39
+ await mkdir(good, { mode: 0o700 });
40
+ await mkdir(unsafe, { mode: 0o700 });
41
+ const binary = join(good, 'codex');
42
+ await writeFile(binary, '#!/bin/sh\nprintf "fixture-codex\\n"\n', { mode: 0o700 });
43
+ await symlink(binary, join(unsafe, 'codex'));
44
+ assert.equal(await resolveRepositoryCodexDirectory({ searchPath: join(root, 'absent') + ':' + good }), good);
45
+ assert.equal(await resolveRepositoryCodexDirectory({ searchPath: '' }), undefined);
46
+ await assert.rejects(resolveRepositoryCodexDirectory({ searchPath: relative(process.cwd(), good) + ':' + good }), /relay_startup_codex_path_invalid/);
47
+ await chmod(unsafe, 0o777);
48
+ await assert.rejects(resolveRepositoryCodexDirectory({ searchPath: unsafe + ':' + good }), /relay_startup_codex_path_invalid/);
49
+ await chmod(binary, 0o722);
50
+ await assert.rejects(resolveRepositoryCodexDirectory({ searchPath: good }), /relay_startup_codex_path_invalid/);
51
+ await chmod(binary, 0o700);
52
+ await chmod(root, 0o777);
53
+ await assert.rejects(resolveRepositoryCodexDirectory({ searchPath: good }), /relay_startup_codex_path_invalid/);
54
+ await chmod(root, 0o700);
55
+ });
56
+ test('actual Linux service-style startup retains Codex with a minimal inherited PATH', { skip: process.platform !== 'linux' }, async () => {
57
+ const { stableRepositoryLauncherContents, verifyRecordedRepositoryLaunchers, verifyRollbackRepositoryLaunchers, resolveRepositoryCodexDirectory } = await import('./repositoryLaunchers.js');
58
+ const root = await realpath(await mkdtemp(join(tmpdir(), "fabric-codex ' startup-")));
59
+ const nodeDirectory = join(root, 'node'), npmDirectory = join(root, 'npm'), codexDirectory = join(root, 'provider');
60
+ for (const directory of [nodeDirectory, npmDirectory, codexDirectory])
61
+ await mkdir(directory, { mode: 0o700 });
62
+ await copyFile(process.execPath, join(nodeDirectory, 'node'));
63
+ await chmod(join(nodeDirectory, 'node'), 0o700);
64
+ const npmCliPath = join(npmDirectory, 'bin', 'npm-cli.js');
65
+ await mkdir(dirname(npmCliPath), { mode: 0o700 });
66
+ await writeFile(join(npmDirectory, 'package.json'), JSON.stringify({ name: 'npm', bin: { npm: 'bin/npm-cli.js' } }), { mode: 0o600 });
67
+ await writeFile(npmCliPath, "const r=require('node:child_process').spawnSync('codex',['--version'],{encoding:'utf8'});process.stdout.write(JSON.stringify({status:r.status,stdout:r.stdout}));", { mode: 0o600 });
68
+ await writeFile(join(codexDirectory, 'codex'), '#!/bin/sh\nprintf "fixture-codex\\n"\n', { mode: 0o700 });
69
+ const runtime = { platform: 'linux', nodeDirectory, npmCliPath, codexDirectory };
70
+ const old = join(root, 'old.sh'), fixed = join(root, 'fixed.sh');
71
+ await writeFile(old, stableRepositoryLauncherContents('0.2.180', { ...runtime, codexDirectory: undefined }).shell);
72
+ const launchers = stableRepositoryLauncherContents('0.2.180', runtime);
73
+ await writeFile(fixed, launchers.shell);
74
+ const run = promisify(execFile), env = { PATH: join(root, 'absent'), HOME: root, UNRELATED_SECRET: 'not-in-launcher' };
75
+ const before = JSON.parse((await run('/bin/sh', [old], { env })).stdout);
76
+ assert.equal(before.status, null);
77
+ await writeFile(join(nodeDirectory, 'codex'), '#!/bin/sh\nprintf "wrong-node-directory-codex\\n"\n', { mode: 0o700 });
78
+ assert.deepEqual(JSON.parse((await run('/bin/sh', [fixed], { env })).stdout), { status: 0, stdout: 'fixture-codex\n' });
79
+ await rm(join(nodeDirectory, 'codex'));
80
+ assert.ok(!launchers.shell.includes('UNRELATED_SECRET') && !launchers.shell.includes('not-in-launcher'));
81
+ assert.equal(await verifyRecordedRepositoryLaunchers('0.2.180', launchers, { platform: 'linux', nodePath: process.execPath, npmCliPath }), true);
82
+ assert.equal(await verifyRollbackRepositoryLaunchers('0.2.180', launchers), true);
83
+ const shadow = join(codexDirectory, 'node');
84
+ await writeFile(shadow, '#!/bin/sh\nprintf "unapproved-node\\n"\n', { mode: 0o700 });
85
+ const envNode = '/usr/bin/env node\n';
86
+ const shebang = join(root, 'child');
87
+ await writeFile(shebang, '#!' + envNode + 'console.log(process.version);\n', { mode: 0o700 });
88
+ await writeFile(npmCliPath, `const r=require('node:child_process').spawnSync(${JSON.stringify(shebang)},[],{encoding:'utf8'});process.stdout.write(JSON.stringify({status:r.status,stdout:r.stdout}));`, { mode: 0o600 });
89
+ assert.deepEqual(JSON.parse((await run('/bin/sh', [fixed], { env })).stdout), { status: 0, stdout: 'unapproved-node\n' });
90
+ await assert.rejects(resolveRepositoryCodexDirectory({ searchPath: codexDirectory }), /relay_startup_codex_path_invalid/);
91
+ assert.equal(await verifyRecordedRepositoryLaunchers('0.2.180', launchers, { platform: 'linux', nodePath: process.execPath, npmCliPath }), false);
92
+ assert.equal(await verifyRollbackRepositoryLaunchers('0.2.180', launchers), false);
93
+ await copyFile(process.execPath, shadow);
94
+ await chmod(shadow, 0o700);
95
+ assert.equal(await resolveRepositoryCodexDirectory({ searchPath: codexDirectory }), codexDirectory);
96
+ assert.deepEqual(JSON.parse((await run('/bin/sh', [fixed], { env })).stdout), { status: 0, stdout: process.version + '\n' });
97
+ assert.equal(await verifyRecordedRepositoryLaunchers('0.2.180', launchers, { platform: 'linux', nodePath: process.execPath, npmCliPath }), true);
98
+ assert.equal(await verifyRollbackRepositoryLaunchers('0.2.180', launchers), true);
99
+ await rm(shadow);
100
+ await chmod(join(codexDirectory, 'codex'), 0o722);
101
+ assert.equal(await verifyRecordedRepositoryLaunchers('0.2.180', launchers, { platform: 'linux', nodePath: process.execPath, npmCliPath }), false);
102
+ assert.equal(await verifyRollbackRepositoryLaunchers('0.2.180', launchers), false);
103
+ });
21
104
  test('npm resolution validates the selected protected package without falling back from invalid state', async () => {
22
105
  const { resolveRepositoryNpmCli } = await import('./repositoryLaunchers.js');
23
106
  const root = await realpath(await mkdtemp(join(tmpdir(), 'dharma-startup-npm-')));