@dharma-ai-labs/agent-fabric 0.2.159 → 0.2.160

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=namedCodexShellPolicy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedCodexShellPolicy.test.d.ts","sourceRoot":"","sources":["../src/namedCodexShellPolicy.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import assert from 'node:assert/strict';
2
+ import { readFile } from 'node:fs/promises';
3
+ import test from 'node:test';
4
+ import ts from 'typescript';
5
+ async function launchArguments(file, declaration) {
6
+ const text = await readFile(new URL(`../src/${file}`, import.meta.url), 'utf8');
7
+ const source = ts.createSourceFile(file, text, ts.ScriptTarget.Latest, true);
8
+ const functions = source.statements.filter(node => ts.isFunctionDeclaration(node) && node.name?.text === declaration);
9
+ assert.equal(functions.length, 1);
10
+ const argumentsFound = [];
11
+ function visit(node) {
12
+ if (ts.isCallExpression(node) && node.expression.getText(source) === 'openCodexAppServerTransport') {
13
+ const input = node.arguments[0];
14
+ assert.ok(input && ts.isObjectLiteralExpression(input));
15
+ const property = input.properties.find(item => ts.isPropertyAssignment(item) && item.name.getText(source) === 'argv');
16
+ assert.ok(property && ts.isPropertyAssignment(property) && ts.isArrayLiteralExpression(property.initializer));
17
+ argumentsFound.push(property.initializer);
18
+ }
19
+ ts.forEachChild(node, visit);
20
+ }
21
+ visit(functions[0]);
22
+ assert.equal(argumentsFound.length, 1);
23
+ return argumentsFound[0].elements.filter(ts.isStringLiteral).map(item => item.text);
24
+ }
25
+ for (const [file, declaration] of [
26
+ ['index.ts', 'namedSessionCommand'],
27
+ ['codexSetupOwnedConnection.ts', 'openCodexSetupOwnedConnection'],
28
+ ]) {
29
+ test(`${declaration} enforces non-login tools without widening permission profiles`, async () => {
30
+ const args = await launchArguments(file, declaration);
31
+ const at = args.indexOf('allow_login_shell=false');
32
+ assert.ok(at > 0, 'inherited pinned runtime must not be replaced by login-profile environment');
33
+ assert.equal(args[at - 1], '-c');
34
+ assert.ok(!args.includes('allow_login_shell=true'));
35
+ assert.ok(args.includes('permissions.dharma_bridge.network={enabled=false}'));
36
+ assert.ok(args.includes('default_permissions="dharma_bridge"'));
37
+ assert.equal(args.at(-1), 'app-server');
38
+ if (declaration === 'namedSessionCommand')
39
+ assert.ok(args.includes('permissions.dharma_work.network={enabled=false}'));
40
+ });
41
+ }
42
+ //# sourceMappingURL=namedCodexShellPolicy.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namedCodexShellPolicy.test.js","sourceRoot":"","sources":["../src/namedCodexShellPolicy.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.159",
3
+ "version": "0.2.160",
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",