@dharma-ai-labs/agent-fabric 0.2.189 → 0.2.191

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 (59) hide show
  1. package/AGENT_FABRIC_ONBOARDING.md +4 -2
  2. package/dist/cliVersionContract.test.d.ts +2 -0
  3. package/dist/cliVersionContract.test.d.ts.map +1 -0
  4. package/dist/cliVersionContract.test.js +17 -0
  5. package/dist/cliVersionContract.test.js.map +1 -0
  6. package/dist/codexSetupLaunchReservation.d.ts +12 -0
  7. package/dist/codexSetupLaunchReservation.d.ts.map +1 -0
  8. package/dist/codexSetupLaunchReservation.js +76 -0
  9. package/dist/codexSetupLaunchReservation.js.map +1 -0
  10. package/dist/codexSetupLaunchReservation.test.d.ts +2 -0
  11. package/dist/codexSetupLaunchReservation.test.d.ts.map +1 -0
  12. package/dist/codexSetupLaunchReservation.test.js +168 -0
  13. package/dist/codexSetupLaunchReservation.test.js.map +1 -0
  14. package/dist/codexSetupNativeHost.test.js +18 -0
  15. package/dist/codexSetupNativeHost.test.js.map +1 -1
  16. package/dist/codexSetupOwnedConnection.d.ts +4 -1
  17. package/dist/codexSetupOwnedConnection.d.ts.map +1 -1
  18. package/dist/codexSetupOwnedConnection.js +16 -3
  19. package/dist/codexSetupOwnedConnection.js.map +1 -1
  20. package/dist/codexSetupOwnedConnection.test.js +14 -0
  21. package/dist/codexSetupOwnedConnection.test.js.map +1 -1
  22. package/dist/codexSetupPortalIngress.test.d.ts +2 -0
  23. package/dist/codexSetupPortalIngress.test.d.ts.map +1 -0
  24. package/dist/codexSetupPortalIngress.test.js +355 -0
  25. package/dist/codexSetupPortalIngress.test.js.map +1 -0
  26. package/dist/codexSetupPortalPreparation.d.ts +28 -0
  27. package/dist/codexSetupPortalPreparation.d.ts.map +1 -0
  28. package/dist/codexSetupPortalPreparation.js +101 -0
  29. package/dist/codexSetupPortalPreparation.js.map +1 -0
  30. package/dist/codexSetupPortalPreparation.test.d.ts +2 -0
  31. package/dist/codexSetupPortalPreparation.test.d.ts.map +1 -0
  32. package/dist/codexSetupPortalPreparation.test.js +173 -0
  33. package/dist/codexSetupPortalPreparation.test.js.map +1 -0
  34. package/dist/codexSetupPublicStdin.d.ts +6 -0
  35. package/dist/codexSetupPublicStdin.d.ts.map +1 -0
  36. package/dist/codexSetupPublicStdin.js +36 -0
  37. package/dist/codexSetupPublicStdin.js.map +1 -0
  38. package/dist/codexSetupPublicStdin.test.d.ts +2 -0
  39. package/dist/codexSetupPublicStdin.test.d.ts.map +1 -0
  40. package/dist/codexSetupPublicStdin.test.js +40 -0
  41. package/dist/codexSetupPublicStdin.test.js.map +1 -0
  42. package/dist/codexSetupUserPrompt.d.ts +2 -0
  43. package/dist/codexSetupUserPrompt.d.ts.map +1 -1
  44. package/dist/codexSetupUserPrompt.js +15 -8
  45. package/dist/codexSetupUserPrompt.js.map +1 -1
  46. package/dist/codexSetupUserPrompt.test.js +7 -0
  47. package/dist/codexSetupUserPrompt.test.js.map +1 -1
  48. package/dist/index.d.ts +15 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +187 -4
  51. package/dist/index.js.map +1 -1
  52. package/dist/onboardingContract.test.js +9 -0
  53. package/dist/onboardingContract.test.js.map +1 -1
  54. package/dist/schemas/setup-claim-request.schema.json +10 -0
  55. package/dist/schemas/setup-host-preparation.schema.json +51 -0
  56. package/dist/schemas/setup-launch-reservation.schema.json +29 -0
  57. package/dist/usage.js +1 -1
  58. package/dist/usage.js.map +1 -1
  59. package/package.json +1 -1
@@ -4,12 +4,14 @@ The current portal setup-reference flow connects the exact selected source repos
4
4
 
5
5
  The portal supplies a public setup reference with the organization, intended recipient, exact repository, policy, scope digest, contract digest and pinned CLI release. The public setup reference is not a bearer credential. On the selected Linux named-Codex route, the trusted native host supplies the original public prompt as the single user message and registers the matching `dharma_setup_reference` tool. Its original scoped intent and execution lease, not the prompt text, authorize setup. The native client proves possession of its protected device key and opens the same-origin recipient approval page. Organization credentials move only from the trusted HTTPS endpoint into the native protected store, using the approved device and its signed ephemeral encryption key. Never put credentials in agent output, argv, environment, files, clipboard or tool messages. The agent does not receive a private grant field. Legacy private-input options are not a fallback for this one-prompt contract.
6
6
 
7
- The controller entry `openCodexBootstrapFromPortalCommand` requires `initialUserPrompt` for the exact public portal text alongside independently validated command arguments and the host intent. Also supply `initialUserPromptBinding` containing the recipient email and repository remote URL from the independently verified portal selection; neither field comes from parsing the prompt or from the provider account email. Missing text is refused, never replaced with a controller message. Separately qualified legacy callers of `openCodexBootstrapNativeHost` retain their omitted-prompt behavior; they do not qualify this portal journey. The controller snapshots these public fields, checks the remote fingerprint and requires exact displayed headers before connecting. Credential-shaped text is rejected rather than redacted and forwarded. It verifies the intended provider account through the official owned connection, outside model shell tools, and returns `initialUserPromptSha256` for the captured text. Prompt capture is a consistency check, not new authority. A matching host-bound setup tool must already be provided by the supported native integration; pasting into an arbitrary desktop chat does not register that tool. When the agent has no matching registered tool, it reports the guide-level blocker `codex_setup_host_unavailable`; this is not a runtime API error. A failed attempted host startup returns the existing public error `codex_setup_owned_start_unqualified`. Neither permits a denied nested login check, permission changes or terminal input. This implementation contract is not itself a live qualification receipt.
7
+ Use an already registered matching `dharma_setup_reference` tool when present. Otherwise the selected Linux route's official entry is `dharma setup codex --stdin`, invoked once by the actual coding agent with the entire original public portal prompt unchanged on standard input and the exact public arguments supplied by the portal. It requires the intended qualified private `DHARMA_HOME` and existing `CODEX_HOME`, genuine Codex context and supported protected storage. It opens an owned named setup session with the matching tool, not attachment to an arbitrary existing desktop chat. The current authenticated provider account is checked through the official owned connection; its identity is distinct from the intended Dharma recipient. No human terminal command, nested login check, invented provider marker or copied authentication is permitted. Keep the originating command and same native turn pending through recipient approval and final JSON; never retry a refused, expired or interrupted setup through another route.
8
+
9
+ The controller entry `openCodexBootstrapFromPortalCommand` requires `initialUserPrompt` for the exact public portal text alongside independently validated command arguments and the host intent. Also supply `initialUserPromptBinding` containing the recipient email and repository remote URL from the independently verified portal selection; neither field comes from parsing the prompt or from the provider account email. Missing text is refused, never replaced with a controller message. Separately qualified legacy callers of `openCodexBootstrapNativeHost` retain their omitted-prompt behavior; they do not qualify this portal journey. The controller snapshots these public fields, checks the remote fingerprint and requires exact displayed headers before connecting. Credential-shaped text is rejected rather than redacted and forwarded. The original authenticated portal message pins immutable preparation context, CLI and expiry; same-origin HTTPS authenticates fresh policy and timestamps. This is context integrity, not an application-level server signature or independently signed freshness. Prompt capture is a consistency check, not new authority. Public preparation and a settled provider turn are not readiness: success requires the original host's journal/readiness-verified operation receipt and exact installed configuration. An unavailable prerequisite or `codex_setup_owned_start_unqualified` is a blocked stage, not permission to weaken protection or request terminal input. This implementation contract is not itself a live qualification receipt.
8
10
 
9
11
  ## 1. Connect safely
10
12
 
11
13
  1. Read the exact source selection in the portal prompt. The CLI uses a matching current checkout or clones only the selected hosted HTTPS remote into an isolated managed checkout, verifies its commit, tracked files and remote, and leaves the starting folder untouched. A disclosed prepared checkout may satisfy the starting prerequisite; that does not prove fresh remote authentication or cloning. Do not scan parent directories or unrelated repositories. An existing join-only binding needs no source Git access, but it must use its own separately qualified join contract rather than a source setup reference.
12
- 2. Verify the pinned release and public provenance. Use the legitimate current coding-agent context and its intended protected homes; a selected isolated test fixture must already have genuine provider authentication and isolated state, not copied default credentials. On the selected Linux named-Codex route, invoke only the matching host-bound setup tool using its public operation/reference identifiers and keep the same native turn pending through recipient approval and final JSON. Do not run direct-CLI compatibility commands on this route. Separately qualified direct-CLI clients retain their exact generated command and genuine harness checks; they are not a fallback for a missing or refused native setup tool. Neither route may request private terminal input. Do not change provider detection, invent environment markers, switch to a bearer grant, or ask the user to run a supplemental command. Before approval, a typed pending result identifies the exact local fingerprint, repository and bounded expiry. Pending inspection is not credential issuance. After enrollment, use supported cause-specific grant-free recovery; never replay an expired or spent setup. If expiry occurs before enrollment, request a fresh portal prompt only after the failed process is terminal and its disposition is known.
14
+ 2. Verify the pinned release and public provenance. Use the legitimate current coding-agent context and its intended protected homes; a selected isolated test fixture must already have genuine provider authentication and isolated state, not copied default credentials. On the selected Linux named-Codex route, use the matching bound tool or the official original-message handoff above; keep the same native turn pending through recipient approval and final JSON. Do not run direct-CLI compatibility commands on this route. Separately qualified direct-CLI clients retain their exact generated command and genuine harness checks; they are not a fallback for a refused or failed setup. Neither route may request private terminal input. Do not change provider detection, invent environment markers, switch to a bearer grant, or ask the user to run a supplemental command. Before approval, a typed pending result identifies the exact local fingerprint, repository and bounded expiry. Pending inspection is not credential issuance. After enrollment, use supported cause-specific grant-free recovery; never replay an expired or spent setup. If expiry occurs before enrollment, request a fresh portal prompt only after the failed process is terminal and its disposition is known.
13
15
  3. Complete the browser device approval when the CLI opens the same-origin approval page. The approving account must be the intended active organization member. A copied prompt, invitation, or administrator session cannot replace recipient approval.
14
16
  4. Read the complete JSON result. Verify `repositorySelection.workspace`. In join mode it is an isolated managed state directory, **not** a source checkout; do not edit product code there. In source mode use its verified checkout for follow-up work. Verify the organization, member, device, repository identity, provider, and enrollment state. If the command returns a pending or blocked stage, preserve the correlation data and continue only through the supported recovery path.
15
17
  Keep the original command attached through browser approval and signed repository publication, which may take up to five minutes after local setup. If the host shell yields a running session, poll that session for the final JSON; do not start a second bootstrap command.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cliVersionContract.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliVersionContract.test.d.ts","sourceRoot":"","sources":["../src/cliVersionContract.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import assert from 'node:assert/strict';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { spawnSync } from 'node:child_process';
4
+ import { fileURLToPath } from 'node:url';
5
+ import test from 'node:test';
6
+ import { run } from './index.js';
7
+ test('actual CLI dispatcher version agrees with its published package manifest', async () => {
8
+ const manifest = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
9
+ assert.deepEqual(await run(['--version']), { version: manifest.version });
10
+ });
11
+ test('official CLI bin reports the same exact version before setup preparation', async () => {
12
+ const manifest = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
13
+ const result = spawnSync(process.execPath, [fileURLToPath(new URL('./bin.js', import.meta.url)), '--version'], { encoding: 'utf8', timeout: 15000 });
14
+ assert.equal(result.status, 0);
15
+ assert.deepEqual(JSON.parse(result.stdout), { version: manifest.version });
16
+ });
17
+ //# sourceMappingURL=cliVersionContract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliVersionContract.test.js","sourceRoot":"","sources":["../src/cliVersionContract.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAE/B,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACjG,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,EAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,EAC3G,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAC,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** One conservative reservation per copied reference. Unsettled exposure is
2
+ * never erased on timeout, cancellation or a lost response. Not an invoice cap. */
3
+ export declare function reserveCodexSetupLaunch(input: {
4
+ home: string;
5
+ organizationId: string;
6
+ setupReference: string;
7
+ operationId: string;
8
+ promptSha256: string;
9
+ cents: number;
10
+ current(): Promise<boolean>;
11
+ }): Promise<boolean>;
12
+ //# sourceMappingURL=codexSetupLaunchReservation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupLaunchReservation.d.ts","sourceRoot":"","sources":["../src/codexSetupLaunchReservation.ts"],"names":[],"mappings":"AAMA;mFACmF;AACnF,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAClF,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAClE,GAAG,OAAO,CAAC,OAAO,CAAC,CAoDnB"}
@@ -0,0 +1,76 @@
1
+ import { constants } from 'node:fs';
2
+ import { lstat, open } from 'node:fs/promises';
3
+ import { createHash } from 'node:crypto';
4
+ import { isAbsolute, resolve } from 'node:path';
5
+ import { canonicalize, validateContract } from '@dharma-ai-labs/agent-fabric-contracts';
6
+ /** One conservative reservation per copied reference. Unsettled exposure is
7
+ * never erased on timeout, cancellation or a lost response. Not an invoice cap. */
8
+ export async function reserveCodexSetupLaunch(input) {
9
+ input = Object.freeze({ home: input.home, organizationId: input.organizationId,
10
+ setupReference: input.setupReference, operationId: input.operationId, promptSha256: input.promptSha256,
11
+ cents: input.cents, current: input.current });
12
+ if (process.platform !== 'linux' || typeof process.getuid !== 'function'
13
+ || !isAbsolute(input.home) || resolve(input.home) !== input.home
14
+ || !Number.isSafeInteger(input.cents) || input.cents < 1 || input.cents > 25
15
+ || !/^org_[A-Za-z0-9]+$/.test(input.organizationId)
16
+ || !/^[a-f0-9]{64}$/.test(input.promptSha256))
17
+ return false;
18
+ const uuid = /^[a-f0-9]{8}-[a-f0-9]{4}-[1-8][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/;
19
+ if (![input.setupReference, input.operationId].every(value => uuid.test(value)))
20
+ return false;
21
+ let handle;
22
+ let directory;
23
+ try {
24
+ if (!await input.current())
25
+ return false;
26
+ const home = await lstat(input.home);
27
+ if (!home.isDirectory() || home.isSymbolicLink() || home.uid !== process.getuid()
28
+ || (home.mode & 0o077) !== 0)
29
+ return false;
30
+ const payload = { schema: 'dharma.setup-launch-reservation/v1',
31
+ organizationId: input.organizationId, setupReference: input.setupReference, operationId: input.operationId,
32
+ promptSha256: input.promptSha256, reservedProviderCostCents: input.cents,
33
+ reservedAt: new Date().toISOString(), expiresAt: null, actualUsd: null, status: 'UNSETTLED_NOT_RELEASED',
34
+ hardInvoiceCapProven: false };
35
+ const record = { ...payload, integrity: { algorithm: 'sha256',
36
+ payloadSha256: createHash('sha256').update(canonicalize(payload)).digest('hex') } };
37
+ if (!(await validateContract(resolve(import.meta.dirname, 'schemas'), 'https://schemas.dharma-ai.io/setup-launch-reservation/v1', record)).ok || !await input.current())
38
+ return false;
39
+ directory = await open(input.home, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
40
+ const parent = await directory.stat();
41
+ if (!parent.isDirectory() || parent.uid !== home.uid || parent.dev !== home.dev || parent.ino !== home.ino
42
+ || (parent.mode & 0o077) !== 0)
43
+ return false;
44
+ const key = createHash('sha256').update(input.organizationId + '\0' + input.setupReference).digest('hex');
45
+ handle = await open(resolve(input.home, 'setup-reservation-' + key + '.json'), constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY | constants.O_NOFOLLOW, 0o600);
46
+ const identity = await handle.stat();
47
+ if (!identity.isFile() || identity.nlink !== 1 || identity.uid !== process.getuid()
48
+ || (identity.mode & 0o077) !== 0)
49
+ return false;
50
+ await handle.writeFile(JSON.stringify(record) + '\n', 'utf8');
51
+ await handle.sync();
52
+ await directory.sync();
53
+ const currentHome = await lstat(input.home);
54
+ if (!currentHome.isDirectory() || currentHome.isSymbolicLink() || currentHome.dev !== parent.dev
55
+ || currentHome.ino !== parent.ino || currentHome.uid !== parent.uid || (currentHome.mode & 0o077) !== 0)
56
+ return false;
57
+ return await input.current();
58
+ }
59
+ catch {
60
+ return false;
61
+ }
62
+ finally {
63
+ let failed = false;
64
+ for (const owned of [handle, directory]) {
65
+ try {
66
+ await owned?.close();
67
+ }
68
+ catch {
69
+ failed = true;
70
+ }
71
+ }
72
+ if (failed)
73
+ return false;
74
+ }
75
+ }
76
+ //# sourceMappingURL=codexSetupLaunchReservation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupLaunchReservation.js","sourceRoot":"","sources":["../src/codexSetupLaunchReservation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codexSetupLaunchReservation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupLaunchReservation.test.d.ts","sourceRoot":"","sources":["../src/codexSetupLaunchReservation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,168 @@
1
+ import assert from 'node:assert/strict';
2
+ import { constants } from 'node:fs';
3
+ import { mkdtemp, readFile, rm } from 'node:fs/promises';
4
+ import { createHash } from 'node:crypto';
5
+ import { resolve, isAbsolute } from 'node:path';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { tmpdir } from 'node:os';
8
+ import { canonicalize, validateContract } from '@dharma-ai-labs/agent-fabric-contracts';
9
+ import { compileFunction } from 'node:vm';
10
+ import test from 'node:test';
11
+ import ts from 'typescript';
12
+ import { reserveCodexSetupLaunch } from './codexSetupLaunchReservation.js';
13
+ // Exercise the actual declaration with synthetic POSIX metadata. This is not
14
+ // a claim that Windows fixtures qualify Linux filesystem protection.
15
+ async function fixture() {
16
+ const source = await readFile(new URL('../src/codexSetupLaunchReservation.ts', import.meta.url), 'utf8');
17
+ const ast = ts.createSourceFile('reservation.ts', source, ts.ScriptTarget.Latest, true);
18
+ const declaration = ast.statements.find(node => ts.isFunctionDeclaration(node) && node.name?.text === 'reserveCodexSetupLaunch');
19
+ assert.ok(declaration);
20
+ const compiled = ts.transpileModule(declaration.getText(ast), { compilerOptions: {
21
+ target: ts.ScriptTarget.ES2023, module: ts.ModuleKind.CommonJS
22
+ } }).outputText;
23
+ let allowed = true, opens = 0, closes = 0, writes = 0, syncs = 0, duplicate = false, failClose = false;
24
+ let homeMode = 0o700, owner = 1000, link = false, links = 1, saved = '', opened = [];
25
+ let directoryFailure = false, directorySyncs = 0, directoryCloses = 0, directoryOpenFailure = false;
26
+ let directoryCloseFailure = false, directoryMismatch = false, homeChanged = false;
27
+ let homeReads = 0;
28
+ const events = [];
29
+ const synthetic = { platform: 'linux', getuid: () => 1000 };
30
+ const open = async (...args) => {
31
+ if (!String(args[0]).endsWith('.json')) {
32
+ if (directoryOpenFailure)
33
+ throw new Error('PRIVATE_UNSUPPORTED_DIRECTORY_OPEN');
34
+ return {
35
+ stat: async () => ({ isDirectory: () => true, uid: owner, mode: homeMode, dev: 1, ino: directoryMismatch ? 99 : 2 }),
36
+ sync: async () => { directorySyncs++; events.push('directory:sync'); if (directoryFailure)
37
+ throw new Error('PRIVATE_SYNC_EXCEPTION'); },
38
+ close: async () => { directoryCloses++; if (directoryCloseFailure)
39
+ throw new Error('PRIVATE_DIRECTORY_CLOSE'); },
40
+ };
41
+ }
42
+ opens++;
43
+ opened = args;
44
+ if (duplicate)
45
+ throw new Error('PRIVATE_STORAGE_EXCEPTION');
46
+ duplicate = true;
47
+ return { stat: async () => ({ isFile: () => true, nlink: links, uid: owner, mode: 0o600 }),
48
+ writeFile: async (text) => { writes++; saved = text; events.push('file:write'); },
49
+ sync: async () => { syncs++; events.push('file:sync'); },
50
+ close: async () => { closes++; if (failClose)
51
+ throw new Error('PRIVATE_CLOSE_EXCEPTION'); } };
52
+ };
53
+ const lstat = async () => ({ isDirectory: () => true, isSymbolicLink: () => link, uid: owner, mode: homeMode,
54
+ dev: 1, ino: ++homeReads > 1 && homeChanged ? 99 : 2 });
55
+ const reserve = compileFunction(compiled.replaceAll('import.meta.dirname', 'syntheticModuleDirectory') + '\nreturn reserveCodexSetupLaunch;', ['exports', 'process', 'isAbsolute', 'resolve', 'createHash', 'constants', 'lstat', 'open', 'validateContract', 'canonicalize', 'syntheticModuleDirectory'])({}, synthetic, isAbsolute, resolve, createHash, constants, lstat, open, validateContract, canonicalize, fileURLToPath(new URL('.', import.meta.url)));
56
+ const input = { home: resolve('synthetic-owned-home'), organizationId: 'org_fixture',
57
+ setupReference: '11111111-1111-4111-8111-111111111111', operationId: '22222222-2222-4222-8222-222222222222',
58
+ promptSha256: 'a'.repeat(64), cents: 25, current: async () => allowed };
59
+ return { reserve, input, setAllowed: (value) => { allowed = value; },
60
+ setMode: (value) => { homeMode = value; }, setOwner: (value) => { owner = value; },
61
+ setLink: () => { link = true; }, setLinks: () => { links = 2; }, failClose: () => { failClose = true; },
62
+ failDirectorySync: () => { directoryFailure = true; }, get directorySyncs() { return directorySyncs; },
63
+ get directoryCloses() { return directoryCloses; }, events,
64
+ failDirectoryOpen: () => { directoryOpenFailure = true; }, failDirectoryClose: () => { directoryCloseFailure = true; },
65
+ mismatchDirectory: () => { directoryMismatch = true; }, changeHome: () => { homeChanged = true; },
66
+ get calls() { return { opens, closes, writes, syncs }; }, get saved() { return saved; }, get opened() { return opened; } };
67
+ }
68
+ test('one reference reserves once using exclusive private no-follow creation and retains unresolved liability', async () => {
69
+ const f = await fixture();
70
+ assert.equal(await f.reserve(f.input), true);
71
+ assert.equal(f.opened[1], constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY | constants.O_NOFOLLOW);
72
+ assert.equal(f.opened[2], 0o600);
73
+ assert.deepEqual(f.calls, { opens: 1, closes: 1, writes: 1, syncs: 1 });
74
+ const record = JSON.parse(f.saved);
75
+ assert.equal(record.reservedProviderCostCents, 25);
76
+ assert.equal(record.actualUsd, null);
77
+ assert.equal(record.status, 'UNSETTLED_NOT_RELEASED');
78
+ assert.equal(record.hardInvoiceCapProven, false);
79
+ assert.equal(await f.reserve(f.input), false);
80
+ assert.equal(f.calls.writes, 1);
81
+ });
82
+ for (const cause of ['open', 'stat', 'close', 'home']) {
83
+ test(`directory ${cause} uncertainty prevents provider admission`, async () => {
84
+ const f = await fixture();
85
+ if (cause === 'open')
86
+ f.failDirectoryOpen();
87
+ if (cause === 'stat')
88
+ f.mismatchDirectory();
89
+ if (cause === 'close')
90
+ f.failDirectoryClose();
91
+ if (cause === 'home')
92
+ f.changeHome();
93
+ assert.equal(await f.reserve(f.input), false);
94
+ if (cause === 'open' || cause === 'stat')
95
+ assert.equal(f.calls.writes, 0);
96
+ if (cause !== 'open')
97
+ assert.equal(f.directoryCloses, 1);
98
+ });
99
+ }
100
+ test('Linux real private fixture persists the exclusive schema-valid reservation', { skip: process.platform !== 'linux' }, async (t) => {
101
+ const home = await mkdtemp(resolve(tmpdir(), 'dharma-setup-reservation-'));
102
+ t.after(async () => { await rm(home, { recursive: true, force: true }); });
103
+ const input = { home, organizationId: 'org_fixture', setupReference: '11111111-1111-4111-8111-111111111111',
104
+ operationId: '22222222-2222-4222-8222-222222222222', promptSha256: 'a'.repeat(64), cents: 25, current: async () => true };
105
+ assert.equal(await reserveCodexSetupLaunch(input), true);
106
+ const key = createHash('sha256').update(input.organizationId + '\0' + input.setupReference).digest('hex');
107
+ const record = JSON.parse(await readFile(resolve(home, 'setup-reservation-' + key + '.json'), 'utf8'));
108
+ assert.equal((await validateContract(fileURLToPath(new URL('./schemas', import.meta.url)), 'https://schemas.dharma-ai.io/setup-launch-reservation/v1', record)).ok, true);
109
+ assert.equal(await reserveCodexSetupLaunch(input), false);
110
+ });
111
+ test('reservation fsyncs its directory after file data and refuses an uncertain durable entry', async () => {
112
+ const f = await fixture();
113
+ assert.equal(await f.reserve(f.input), true);
114
+ assert.deepEqual(f.events, ['file:write', 'file:sync', 'directory:sync']);
115
+ assert.equal(f.directoryCloses, 1);
116
+ const g = await fixture();
117
+ g.failDirectorySync();
118
+ assert.equal(await g.reserve(g.input), false);
119
+ assert.equal(g.calls.writes, 1);
120
+ assert.equal(g.directoryCloses, 1);
121
+ assert.equal(await g.reserve(g.input), false);
122
+ assert.equal(g.calls.writes, 1, 'uncertain reservation is retained, not retried');
123
+ });
124
+ test('persisted reservation conforms to a versioned contract and canonical integrity metadata', async () => {
125
+ const f = await fixture();
126
+ assert.equal(await f.reserve(f.input), true);
127
+ const value = JSON.parse(f.saved);
128
+ const schema = fileURLToPath(new URL('./schemas', import.meta.url));
129
+ assert.equal((await validateContract(schema, 'https://schemas.dharma-ai.io/setup-launch-reservation/v1', value)).ok, true);
130
+ const { integrity, ...payload } = value;
131
+ assert.deepEqual(integrity, { algorithm: 'sha256', payloadSha256: createHash('sha256').update(canonicalize(payload)).digest('hex') });
132
+ for (const change of [{ reservedProviderCostCents: 26 }, { actualUsd: 0 }, { schema: 'unknown' }, { extra: 'forbidden' }]) {
133
+ assert.equal((await validateContract(schema, 'https://schemas.dharma-ai.io/setup-launch-reservation/v1', { ...value, ...change })).ok, false);
134
+ }
135
+ });
136
+ for (const reason of ['withdrawn', 'writable', 'owner', 'symlink', 'budget', 'reference', 'platform']) {
137
+ test(`reservation rejects ${reason} before file creation`, async () => {
138
+ const f = await fixture();
139
+ if (reason === 'withdrawn')
140
+ f.setAllowed(false);
141
+ if (reason === 'writable')
142
+ f.setMode(0o755);
143
+ if (reason === 'owner')
144
+ f.setOwner(1001);
145
+ if (reason === 'symlink')
146
+ f.setLink();
147
+ if (reason === 'budget')
148
+ f.input.cents = 26;
149
+ if (reason === 'reference')
150
+ f.input.setupReference = 'invalid';
151
+ if (reason === 'platform')
152
+ f.input.home = 'relative';
153
+ assert.equal(await f.reserve(f.input), false);
154
+ assert.equal(f.calls.opens, 0);
155
+ });
156
+ }
157
+ test('a multiply linked file is not written and close failure never admits model execution', async () => {
158
+ const f = await fixture();
159
+ f.setLinks();
160
+ assert.equal(await f.reserve(f.input), false);
161
+ assert.equal(f.calls.writes, 0);
162
+ assert.equal(f.calls.closes, 1);
163
+ const g = await fixture();
164
+ g.failClose();
165
+ assert.equal(await g.reserve(g.input), false);
166
+ assert.equal(g.calls.writes, 1);
167
+ });
168
+ //# sourceMappingURL=codexSetupLaunchReservation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexSetupLaunchReservation.test.js","sourceRoot":"","sources":["../src/codexSetupLaunchReservation.test.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,24 @@ test('public prompt is captured before asynchronous host qualification without a
214
214
  await host.close();
215
215
  }
216
216
  });
217
+ test('product grant contamination stops before native persistence, journal or model admission', async () => {
218
+ const f = fixture();
219
+ f.input.initialUserPrompt = publicPrompt(f.input.intent) + '\n' + ['dhab', 'SYNTHETIC_NOT_A_REAL_GRANT_20261013'].join('_');
220
+ let host;
221
+ try {
222
+ await assert.rejects(async () => { host = await open(f.input); }, { message: 'codex_setup_public_prompt_invalid' });
223
+ assert.equal(f.calls.length, 0);
224
+ assert.equal(f.counts.reserved, 0);
225
+ assert.equal(f.counts.claims, 0);
226
+ assert.equal(f.counts.executions, 0);
227
+ assert.equal(f.counts.handler, false);
228
+ assert.equal(f.counts.listeners, 0);
229
+ }
230
+ finally {
231
+ f.complete();
232
+ await host?.close();
233
+ }
234
+ });
217
235
  test('early native tool waits for the verified turn/start response rather than guessing turn identity', async () => {
218
236
  const f = fixture(), request = f.transport.request;
219
237
  let resolveTurn, early;
@@ -1 +1 @@
1
- {"version":3,"file":"codexSetupNativeHost.test.js","sourceRoot":"","sources":["../src/codexSetupNativeHost.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codexSetupNativeHost.test.js","sourceRoot":"","sources":["../src/codexSetupNativeHost.test.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,16 @@
2
2
  export declare function openCodexSetupOwnedConnection(input: {
3
3
  workspace: string;
4
4
  deviceHome: string;
5
- expectedAccountEmail: string;
5
+ expectedAccountEmail?: string;
6
+ /** Explicit local ingress selection; never use a portal recipient as provider identity. */
7
+ accountSelection?: 'current_authenticated';
6
8
  signal: AbortSignal;
7
9
  current(): Promise<boolean>;
8
10
  }): Promise<Readonly<{
9
11
  transport: import("@dharma-ai-labs/agent-fabric-provider-adapters/experimental/codex-transport").CodexStdioTransport;
10
12
  additionalFilesystemRules: Readonly<Record<string, "read" | "deny">>;
11
13
  current: () => Promise<boolean>;
14
+ accountEmail: string;
12
15
  close: () => Promise<void>;
13
16
  }>>;
14
17
  //# sourceMappingURL=codexSetupOwnedConnection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codexSetupOwnedConnection.d.ts","sourceRoot":"","sources":["../src/codexSetupOwnedConnection.ts"],"names":[],"mappings":"AAOA,iFAAiF;AACjF,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IACpE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD;;;;;IAiDA"}
1
+ {"version":3,"file":"codexSetupOwnedConnection.d.ts","sourceRoot":"","sources":["../src/codexSetupOwnedConnection.ts"],"names":[],"mappings":"AAOA,iFAAiF;AACjF,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACrE,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD;;;;;;IA4DA"}