@dharma-ai-labs/agent-fabric 0.2.161 → 0.2.163
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.
- package/dist/codexSetupChildProvider.test.js +7 -2
- package/dist/codexSetupChildProvider.test.js.map +1 -1
- package/dist/codexSetupNativeHost.js +1 -1
- package/dist/codexSetupNativeHost.js.map +1 -1
- package/dist/codexSetupNativeHost.test.js +21 -0
- package/dist/codexSetupNativeHost.test.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/namedCodexNodeOutput.d.ts +3 -0
- package/dist/namedCodexNodeOutput.d.ts.map +1 -0
- package/dist/namedCodexNodeOutput.js +36 -0
- package/dist/namedCodexNodeOutput.js.map +1 -0
- package/dist/namedCodexNodeOutput.test.d.ts +2 -0
- package/dist/namedCodexNodeOutput.test.d.ts.map +1 -0
- package/dist/namedCodexNodeOutput.test.js +90 -0
- package/dist/namedCodexNodeOutput.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namedCodexNodeOutput.d.ts","sourceRoot":"","sources":["../src/namedCodexNodeOutput.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB,QAwBpC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,EAAE,CAMpG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Node can classify sandboxed socketpair descriptors as unknown and discard
|
|
2
|
+
// child output. Repair only its dummy streams, using their existing fds.
|
|
3
|
+
export const namedCodexNodeOutputBody = String.raw `
|
|
4
|
+
for (const [name, fd] of [['stdout', 1], ['stderr', 2]]) {
|
|
5
|
+
const current = process[name];
|
|
6
|
+
if (current.constructor !== Writable || current._handle || current._type || !fstatSync(fd).isSocket()) continue;
|
|
7
|
+
const stream = new Writable({
|
|
8
|
+
write(chunk, encoding, callback) {
|
|
9
|
+
try {
|
|
10
|
+
const data = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding);
|
|
11
|
+
let offset = 0;
|
|
12
|
+
while (offset < data.length) {
|
|
13
|
+
const count = writeSync(fd, data, offset, data.length - offset);
|
|
14
|
+
if (!Number.isInteger(count) || count <= 0 || count > data.length - offset) {
|
|
15
|
+
throw new Error('named_node_output_descriptor_no_progress');
|
|
16
|
+
}
|
|
17
|
+
offset += count;
|
|
18
|
+
}
|
|
19
|
+
callback();
|
|
20
|
+
} catch (error) { callback(error); }
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
stream.fd = fd;
|
|
24
|
+
stream._isStdio = true;
|
|
25
|
+
Object.defineProperty(process, name, { configurable: true, enumerable: true, value: stream });
|
|
26
|
+
}
|
|
27
|
+
`;
|
|
28
|
+
export function namedCodexNodeOutputArguments(platform = process.platform) {
|
|
29
|
+
if (platform !== 'linux')
|
|
30
|
+
return [];
|
|
31
|
+
const source = "import {writeSync,fstatSync} from 'node:fs';import {Writable} from 'node:stream';\n" + namedCodexNodeOutputBody;
|
|
32
|
+
const options = '--import=data:text/javascript;base64,' + Buffer.from(source).toString('base64');
|
|
33
|
+
// This fixed public module replaces, rather than forwards, user NODE_OPTIONS.
|
|
34
|
+
return ['-c', `shell_environment_policy.set={NODE_OPTIONS=${JSON.stringify(options)}}`];
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=namedCodexNodeOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namedCodexNodeOutput.js","sourceRoot":"","sources":["../src/namedCodexNodeOutput.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;CAwBjD,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,WAA4B,OAAO,CAAC,QAAQ;IACxF,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,qFAAqF,GAAG,wBAAwB,CAAC;IAChI,MAAM,OAAO,GAAG,uCAAuC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjG,8EAA8E;IAC9E,OAAO,CAAC,IAAI,EAAE,8CAA8C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namedCodexNodeOutput.test.d.ts","sourceRoot":"","sources":["../src/namedCodexNodeOutput.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { Writable } from 'node:stream';
|
|
4
|
+
import test from 'node:test';
|
|
5
|
+
import { compileFunction } from 'node:vm';
|
|
6
|
+
import { namedCodexNodeOutputArguments, namedCodexNodeOutputBody } from './namedCodexNodeOutput.js';
|
|
7
|
+
function fixture(options = {}) {
|
|
8
|
+
const original = new Writable({ write(_chunk, _encoding, callback) { callback(); } });
|
|
9
|
+
if (options.typed)
|
|
10
|
+
Object.assign(original, { _type: 'pipe' });
|
|
11
|
+
const target = { stdout: original, stderr: original };
|
|
12
|
+
const writes = [];
|
|
13
|
+
const inspected = [];
|
|
14
|
+
const install = compileFunction(namedCodexNodeOutputBody, ['writeSync', 'fstatSync', 'Writable', 'process']);
|
|
15
|
+
install((fd, data, offset, length) => {
|
|
16
|
+
assert.ok(fd === 1 || fd === 2);
|
|
17
|
+
if (options.failure)
|
|
18
|
+
throw Object.assign(new Error('descriptor denied'), { code: 'EACCES' });
|
|
19
|
+
if (options.zero)
|
|
20
|
+
return 0;
|
|
21
|
+
const count = options.partial ? Math.min(2, length) : length;
|
|
22
|
+
writes.push({ fd, bytes: Buffer.from(data.subarray(offset, offset + count)) });
|
|
23
|
+
return count;
|
|
24
|
+
}, (fd) => {
|
|
25
|
+
inspected.push(fd);
|
|
26
|
+
return { isSocket: () => options.socket !== false };
|
|
27
|
+
}, Writable, target);
|
|
28
|
+
return { original, target, writes, inspected };
|
|
29
|
+
}
|
|
30
|
+
test('only Linux receives a fixed public Node output module through Codex configuration', () => {
|
|
31
|
+
const args = namedCodexNodeOutputArguments('linux');
|
|
32
|
+
assert.equal(args.length, 2);
|
|
33
|
+
assert.equal(args[0], '-c');
|
|
34
|
+
assert.match(args[1], /^shell_environment_policy\.set=\{NODE_OPTIONS="--import=data:text\/javascript;base64,[A-Za-z0-9+/=]+"\}$/);
|
|
35
|
+
for (const platform of ['win32', 'darwin'])
|
|
36
|
+
assert.deepEqual(namedCodexNodeOutputArguments(platform), []);
|
|
37
|
+
});
|
|
38
|
+
test('dummy socket streams forward binary bytes only to their existing output descriptors', async () => {
|
|
39
|
+
const value = fixture();
|
|
40
|
+
assert.notEqual(value.target.stdout, value.original);
|
|
41
|
+
const bytes = Buffer.from([255, 15, 0, 128, 1]);
|
|
42
|
+
await new Promise((resolve, reject) => value.target.stdout.write(bytes, error => error ? reject(error) : resolve()));
|
|
43
|
+
await new Promise((resolve, reject) => value.target.stderr.write('public diagnostic', error => error ? reject(error) : resolve()));
|
|
44
|
+
assert.deepEqual(value.inspected, [1, 2]);
|
|
45
|
+
assert.deepEqual(value.writes[0], { fd: 1, bytes });
|
|
46
|
+
assert.deepEqual(value.writes[1], { fd: 2, bytes: Buffer.from('public diagnostic') });
|
|
47
|
+
assert.equal(value.target.stdout.fd, 1);
|
|
48
|
+
});
|
|
49
|
+
test('ordinary pipe streams and non-socket outputs are left unchanged', () => {
|
|
50
|
+
for (const options of [{ typed: true }, { socket: false }]) {
|
|
51
|
+
const value = fixture(options);
|
|
52
|
+
assert.equal(value.target.stdout, value.original);
|
|
53
|
+
assert.equal(value.target.stderr, value.original);
|
|
54
|
+
assert.deepEqual(value.writes, []);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
test('partial descriptor writes preserve every byte exactly once', async () => {
|
|
58
|
+
const value = fixture({ partial: true });
|
|
59
|
+
await new Promise((resolve, reject) => value.target.stdout.write('abcdef', error => error ? reject(error) : resolve()));
|
|
60
|
+
assert.equal(value.writes.length, 3);
|
|
61
|
+
assert.equal(Buffer.concat(value.writes.map(write => write.bytes)).toString(), 'abcdef');
|
|
62
|
+
});
|
|
63
|
+
test('zero progress and denied output fail rather than reporting a successful write', async () => {
|
|
64
|
+
for (const options of [{ zero: true }, { failure: true }]) {
|
|
65
|
+
const value = fixture(options);
|
|
66
|
+
value.target.stdout.on('error', () => { });
|
|
67
|
+
const error = await new Promise(resolve => value.target.stdout.write('x', resolve));
|
|
68
|
+
assert.ok(error instanceof Error);
|
|
69
|
+
assert.deepEqual(value.writes, []);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
test('the public module changes no environment, permission, file or network authority', () => {
|
|
73
|
+
const args = namedCodexNodeOutputArguments('linux');
|
|
74
|
+
const match = args[1]?.match(/base64,([A-Za-z0-9+/=]+)/);
|
|
75
|
+
assert.ok(match);
|
|
76
|
+
const module = Buffer.from(match[1], 'base64').toString();
|
|
77
|
+
assert.ok(module.includes(namedCodexNodeOutputBody));
|
|
78
|
+
assert.doesNotMatch(module, /process\.env|readFile|openSync|fetch\(|node:net|child_process|permissions\./);
|
|
79
|
+
assert.match(module, /writeSync/);
|
|
80
|
+
assert.match(module, /fstatSync/);
|
|
81
|
+
});
|
|
82
|
+
test('the production named launcher installs fixed output options without replacing its policy profiles', () => {
|
|
83
|
+
const entry = readFileSync(new URL('./index.js', import.meta.url), 'utf8');
|
|
84
|
+
assert.match(entry, /argv: \[\.\.\.namedCodexNodeOutputArguments\(\), '-c', 'allow_login_shell=false'/);
|
|
85
|
+
for (const profile of ['dharma_bridge', 'dharma_work']) {
|
|
86
|
+
assert.ok(entry.includes(`permissions.${profile}.network={enabled=false}`));
|
|
87
|
+
assert.ok(entry.includes(`permissions.${profile}.filesystem=`));
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=namedCodexNodeOutput.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namedCodexNodeOutput.test.js","sourceRoot":"","sources":["../src/namedCodexNodeOutput.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dharma-ai-labs/agent-fabric",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.163",
|
|
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",
|