@dharma-ai-labs/agent-fabric 0.2.188 → 0.2.190
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/AGENT_FABRIC_ONBOARDING.md +4 -2
- package/dist/codexSetupNativeHost.d.ts +6 -0
- package/dist/codexSetupNativeHost.d.ts.map +1 -1
- package/dist/codexSetupNativeHost.js +14 -4
- package/dist/codexSetupNativeHost.js.map +1 -1
- package/dist/codexSetupNativeHost.test.js +102 -0
- package/dist/codexSetupNativeHost.test.js.map +1 -1
- package/dist/codexSetupNativeWire.test.js +96 -23
- package/dist/codexSetupNativeWire.test.js.map +1 -1
- package/dist/codexSetupOwnedConnection.test.js +71 -2
- package/dist/codexSetupOwnedConnection.test.js.map +1 -1
- package/dist/codexSetupPortalCommand.test.js +29 -1
- package/dist/codexSetupPortalCommand.test.js.map +1 -1
- package/dist/codexSetupUserPrompt.d.ts +11 -0
- package/dist/codexSetupUserPrompt.d.ts.map +1 -0
- package/dist/codexSetupUserPrompt.js +67 -0
- package/dist/codexSetupUserPrompt.js.map +1 -0
- package/dist/codexSetupUserPrompt.test.d.ts +2 -0
- package/dist/codexSetupUserPrompt.test.d.ts.map +1 -0
- package/dist/codexSetupUserPrompt.test.js +100 -0
- package/dist/codexSetupUserPrompt.test.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -5
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +3 -1
- package/dist/index.test.js.map +1 -1
- package/dist/namedCodexThread.d.ts +1 -1
- package/dist/namedCodexThread.d.ts.map +1 -1
- package/dist/namedCodexThread.js +13 -4
- package/dist/namedCodexThread.js.map +1 -1
- package/dist/onboardingContract.test.js +6 -2
- package/dist/onboardingContract.test.js.map +1 -1
- package/dist/unitTestReporter.test.d.ts +2 -0
- package/dist/unitTestReporter.test.d.ts.map +1 -0
- package/dist/unitTestReporter.test.js +39 -0
- package/dist/unitTestReporter.test.js.map +1 -0
- package/package.json +2 -2
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
The current portal setup-reference flow connects the exact selected source repository from one prompt in an actual authenticated coding-agent conversation. Follow its intended recipient, source selection, pinned release and bounded policy. The agent performs supported setup; the intended recipient approves only the matching browser device request. Never request a human terminal command, grant paste or keyring troubleshooting. Technical prerequisites must use the supported current client and protected store; unavailable prerequisites are a blocked stage, not permission to copy credentials or weaken protection. Existing join-only endpoints described below retain their separately qualified contract; the source-only setup reference does not authorize a join, source expansion or a writable peer task.
|
|
4
4
|
|
|
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.
|
|
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
|
+
|
|
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.
|
|
6
8
|
|
|
7
9
|
## 1. Connect safely
|
|
8
10
|
|
|
9
11
|
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.
|
|
10
|
-
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.
|
|
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.
|
|
11
13
|
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.
|
|
12
14
|
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.
|
|
13
15
|
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.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CodexStdioTransport } from '@dharma-ai-labs/agent-fabric-provider-adapters/experimental/codex-transport';
|
|
2
2
|
import { type BootstrapHostScope } from './bootstrapHostScope.js';
|
|
3
3
|
import { createCodexSetupAdmission, type CodexSetupIntent, type CodexSetupJournal } from './codexSetupAdmission.js';
|
|
4
|
+
import { type CodexSetupPromptBinding } from './codexSetupUserPrompt.js';
|
|
4
5
|
type Admission = Parameters<typeof createCodexSetupAdmission>[0];
|
|
5
6
|
type Input = {
|
|
6
7
|
/** Already owned, individually qualified native connection; never a peer's process. */
|
|
@@ -13,6 +14,10 @@ type Input = {
|
|
|
13
14
|
}>;
|
|
14
15
|
signal: AbortSignal;
|
|
15
16
|
maximumProviderCostCents: number;
|
|
17
|
+
/** Exact public portal text, not authority or a controller-written substitute. */
|
|
18
|
+
initialUserPrompt?: string;
|
|
19
|
+
/** Public recipient/source fields from the verified portal, not provider email. */
|
|
20
|
+
initialUserPromptBinding?: CodexSetupPromptBinding;
|
|
16
21
|
additionalFilesystemRules?: Readonly<Record<string, 'read' | 'deny'>>;
|
|
17
22
|
/** Requalifies package/source, provider account, host ownership and signed scope. */
|
|
18
23
|
current(): Promise<boolean>;
|
|
@@ -26,6 +31,7 @@ export declare function startCodexSetupNativeHost(input: Input): Promise<Readonl
|
|
|
26
31
|
turnId: string;
|
|
27
32
|
close: () => Promise<void>;
|
|
28
33
|
settled: Promise<void>;
|
|
34
|
+
initialUserPromptSha256: string | undefined;
|
|
29
35
|
}>>;
|
|
30
36
|
export {};
|
|
31
37
|
//# sourceMappingURL=codexSetupNativeHost.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codexSetupNativeHost.d.ts","sourceRoot":"","sources":["../src/codexSetupNativeHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,6EAA6E,CAAC;AAGrH,OAAO,EAAwD,KAAK,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAC,yBAAyB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"codexSetupNativeHost.d.ts","sourceRoot":"","sources":["../src/codexSetupNativeHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,6EAA6E,CAAC;AAGrH,OAAO,EAAwD,KAAK,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAC,yBAAyB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAElH,OAAO,EAA8B,KAAK,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAEpG,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,KAAK,KAAK,GAAG;IACX,uFAAuF;IACvF,SAAS,EAAE,mBAAmB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAC1F,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,GAAG;QAAC,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAC,CAAC,CAAC;IACrG,MAAM,EAAE,WAAW,CAAC;IAAC,wBAAwB,EAAE,MAAM,CAAC;IACtD,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,wBAAwB,CAAC,EAAE,uBAAuB,CAAC;IACnD,yBAAyB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IACtE,qFAAqF;IACrF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC9F,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3F,eAAe,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;CAC/C,CAAC;AAYF,mGAAmG;AACnG,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,KAAK;;;;;;IAkI3D"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { randomUUID } from 'node:crypto';
|
|
1
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
2
2
|
import { verifyCodexSetupReadOnlyProfile } from '@dharma-ai-labs/agent-fabric-provider-adapters/experimental/codex-session';
|
|
3
3
|
import { drainBootstrapHostChildren, prepareCodexBootstrapHost } from './bootstrapHostScope.js';
|
|
4
4
|
import { createCodexSetupAdmission } from './codexSetupAdmission.js';
|
|
5
5
|
import { startNamedCodexSetupThread } from './namedCodexThread.js';
|
|
6
|
+
import { captureCodexSetupUserPrompt } from './codexSetupUserPrompt.js';
|
|
6
7
|
function record(value) {
|
|
7
8
|
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
8
9
|
return null;
|
|
@@ -30,6 +31,14 @@ export async function startCodexSetupNativeHost(input) {
|
|
|
30
31
|
const prepared = prepareCodexBootstrapHost({ intent: input.intent, workspace, current: input.current,
|
|
31
32
|
signal: AbortSignal.any([input.signal, transport.signal]) });
|
|
32
33
|
const { scope, intent } = prepared, connectionId = randomUUID();
|
|
34
|
+
let initialUserPrompt;
|
|
35
|
+
try {
|
|
36
|
+
initialUserPrompt = captureCodexSetupUserPrompt(input.initialUserPrompt, intent, input.initialUserPromptBinding);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
scope.close();
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
33
42
|
const filesystem = Object.freeze({ ...input.additionalFilesystemRules });
|
|
34
43
|
let threadId = '', turnId = '', closed = false, terminalObserved = false;
|
|
35
44
|
let admission;
|
|
@@ -112,7 +121,7 @@ export async function startCodexSetupNativeHost(input) {
|
|
|
112
121
|
};
|
|
113
122
|
await verifyProfile();
|
|
114
123
|
await scope.step(async () => { journal = await openJournal(scope); });
|
|
115
|
-
threadId = await startNamedCodexSetupThread(transport, workspace, name, scope);
|
|
124
|
+
threadId = await startNamedCodexSetupThread(transport, workspace, name, scope, initialUserPrompt !== undefined);
|
|
116
125
|
unsubscribe = transport.onNotification(value => {
|
|
117
126
|
const event = record(value), params = record(event?.params), turn = record(params?.turn);
|
|
118
127
|
if (event?.method !== 'turn/completed' || params?.threadId !== threadId || typeof turn?.id !== 'string')
|
|
@@ -159,7 +168,7 @@ export async function startCodexSetupNativeHost(input) {
|
|
|
159
168
|
await scope.step(async () => {
|
|
160
169
|
const started = record(await transport.request('turn/start', {
|
|
161
170
|
threadId, cwd: workspace, approvalPolicy: 'never', permissions: 'dharma_bridge',
|
|
162
|
-
input: [{ type: 'text', text: `Perform the recipient-bound Agent Fabric setup using dharma_setup_reference with operationId ${intent.operationId} and setupReference ${intent.setupReference}. Browser approval remains required for the intended recipient. In-progress is not readiness. If functions.exec returns a running cell, use functions.wait on that same cell until the setup tool returns a terminal result or the approved operation expires. Prefer 120000ms waits instead of rapid polling. Do not end this turn or send a final answer while the setup tool is pending: ending the original turn cancels setup, even when browser approval is still pending. Never terminate or restart the setup operation merely to report that approval is needed. Do not run setup shell commands, read private storage, request broader permissions or use peer tools during setup.` }],
|
|
171
|
+
input: [{ type: 'text', text: initialUserPrompt ?? `Perform the recipient-bound Agent Fabric setup using dharma_setup_reference with operationId ${intent.operationId} and setupReference ${intent.setupReference}. Browser approval remains required for the intended recipient. In-progress is not readiness. If functions.exec returns a running cell, use functions.wait on that same cell until the setup tool returns a terminal result or the approved operation expires. Prefer 120000ms waits instead of rapid polling. Do not end this turn or send a final answer while the setup tool is pending: ending the original turn cancels setup, even when browser approval is still pending. Never terminate or restart the setup operation merely to report that approval is needed. Do not run setup shell commands, read private storage, request broader permissions or use peer tools during setup.` }],
|
|
163
172
|
}));
|
|
164
173
|
const turn = record(started?.turn);
|
|
165
174
|
if (typeof turn?.id !== 'string' || !/^[A-Za-z0-9_-]{1,128}$(?![\s\S])/.test(turn.id))
|
|
@@ -199,7 +208,8 @@ export async function startCodexSetupNativeHost(input) {
|
|
|
199
208
|
withdraw();
|
|
200
209
|
}
|
|
201
210
|
bind();
|
|
202
|
-
return Object.freeze({ threadId, turnId, close, settled
|
|
211
|
+
return Object.freeze({ threadId, turnId, close, settled,
|
|
212
|
+
initialUserPromptSha256: initialUserPrompt === undefined ? undefined : createHash('sha256').update(initialUserPrompt).digest('hex') });
|
|
203
213
|
}
|
|
204
214
|
catch (error) {
|
|
205
215
|
await close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codexSetupNativeHost.js","sourceRoot":"","sources":["../src/codexSetupNativeHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"codexSetupNativeHost.js","sourceRoot":"","sources":["../src/codexSetupNativeHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
2
3
|
import { resolve } from 'node:path';
|
|
3
4
|
import test from 'node:test';
|
|
4
5
|
import { CODEX_SETUP_TOOL } from './codexSetupAdmission.js';
|
|
@@ -66,6 +67,7 @@ function fixture() {
|
|
|
66
67
|
async finish(_lease, next, accepted) { assert.equal(next, digest); result = accepted; },
|
|
67
68
|
};
|
|
68
69
|
const input = { transport, workspace, name: 'implementer', intent,
|
|
70
|
+
initialUserPromptBinding: { recipientEmail: 'synthetic@example.test', repositoryRemoteUrl: 'https://example.test/source.git' },
|
|
69
71
|
openJournal: async () => ({ ...journal, close() { } }), signal: client.signal,
|
|
70
72
|
maximumProviderCostCents: 25, current: async () => allowed,
|
|
71
73
|
reserve: async (operationId, cents) => { assert.equal(operationId, id(1)); assert.equal(cents, 25); reserved++; return true; },
|
|
@@ -130,6 +132,106 @@ test('setup ingress keeps asynchronous tool execution in the original turn until
|
|
|
130
132
|
await host.close();
|
|
131
133
|
}
|
|
132
134
|
});
|
|
135
|
+
function publicPrompt(intent) {
|
|
136
|
+
return '# Dharma Agent Fabric \u2014 one-prompt source setup\n'
|
|
137
|
+
+ `Recipient: synthetic@example.test. Organization: ${intent.organizationId}.\n`
|
|
138
|
+
+ `Selected repository: https://example.test/source.git. Fingerprint: ${intent.repositoryFingerprint}.\n`
|
|
139
|
+
+ `Public setup reference: ${intent.setupReference}. Fixed expiry: ${intent.expiresAt}.\n`
|
|
140
|
+
+ 'Use only the matching host-bound dharma_setup_reference tool. Do not run shell authentication checks.';
|
|
141
|
+
}
|
|
142
|
+
test('native setup receives the original public user prompt once without a controller-written substitute', async () => {
|
|
143
|
+
const f = fixture(), original = publicPrompt(f.input.intent);
|
|
144
|
+
f.input.initialUserPrompt = original;
|
|
145
|
+
const host = await open(f.input);
|
|
146
|
+
try {
|
|
147
|
+
const start = f.calls.find(call => call.method === 'turn/start');
|
|
148
|
+
assert.deepEqual(start.params.input, [{ type: 'text', text: original }]);
|
|
149
|
+
assert.equal(host.initialUserPromptSha256, createHash('sha256').update(original).digest('hex'));
|
|
150
|
+
assert.equal(f.calls.filter(call => call.method === 'turn/start').length, 1);
|
|
151
|
+
const thread = f.calls.find(call => call.method === 'thread/start');
|
|
152
|
+
const tools = thread.params.dynamicTools;
|
|
153
|
+
const setup = tools.find(tool => tool.name === 'dharma_setup_reference');
|
|
154
|
+
assert.ok(setup.description.includes(f.input.intent.operationId));
|
|
155
|
+
assert.ok(setup.description.includes(f.input.intent.setupReference));
|
|
156
|
+
assert.equal((await f.tool({ tool: 'dharma_peer_ask', callId: 'peer-public-prompt' })).success, false);
|
|
157
|
+
assert.equal((await f.tool({ turnId: 'foreign-public-turn' })).success, false);
|
|
158
|
+
assert.equal((await f.tool({ arguments: { operationId: id(1), setupReference: id(9) } })).success, false);
|
|
159
|
+
assert.equal(f.counts.executions, 0);
|
|
160
|
+
assert.equal((await f.tool()).success, true);
|
|
161
|
+
f.complete();
|
|
162
|
+
await host.settled;
|
|
163
|
+
}
|
|
164
|
+
finally {
|
|
165
|
+
await host.close();
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
test('public-prompt setup cannot carry its tool authority beyond cancellation', async () => {
|
|
169
|
+
const f = fixture();
|
|
170
|
+
f.input.initialUserPrompt = publicPrompt(f.input.intent);
|
|
171
|
+
const host = await open(f.input);
|
|
172
|
+
try {
|
|
173
|
+
f.client.abort();
|
|
174
|
+
assert.equal(f.counts.handler, false);
|
|
175
|
+
assert.equal(f.counts.claims, 0);
|
|
176
|
+
assert.equal(f.counts.executions, 0);
|
|
177
|
+
f.complete();
|
|
178
|
+
await host.settled;
|
|
179
|
+
}
|
|
180
|
+
finally {
|
|
181
|
+
await host.close();
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
test('invalid or differently bound public prompts stop before native, journal or budget effects', async () => {
|
|
185
|
+
for (const kind of ['empty', 'oversized', 'control', 'reference', 'organization', 'fingerprint', 'expiry', 'duplicate', 'surrogate']) {
|
|
186
|
+
const f = fixture(), original = publicPrompt(f.input.intent);
|
|
187
|
+
const changed = kind === 'empty' ? '' : kind === 'oversized' ? original + 'x'.repeat(32_769)
|
|
188
|
+
: kind === 'control' ? original + '\u0000' : kind === 'surrogate' ? original + '\ud800'
|
|
189
|
+
: kind === 'reference' ? original.replace(f.input.intent.setupReference, id(9))
|
|
190
|
+
: kind === 'organization' ? original.replace(f.input.intent.organizationId, 'org_foreign')
|
|
191
|
+
: kind === 'fingerprint' ? original.replace(f.input.intent.repositoryFingerprint, `sha256:${'d'.repeat(64)}`)
|
|
192
|
+
: kind === 'expiry' ? original.replace(f.input.intent.expiresAt, new Date(Date.now() + 120_000).toISOString())
|
|
193
|
+
: original + '\nPublic setup reference: foreign.';
|
|
194
|
+
f.input.initialUserPrompt = changed;
|
|
195
|
+
await assert.rejects(open(f.input), { message: 'codex_setup_public_prompt_invalid' });
|
|
196
|
+
assert.equal(f.calls.length, 0);
|
|
197
|
+
assert.equal(f.counts.reserved, 0);
|
|
198
|
+
assert.equal(f.counts.claims, 0);
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
test('public prompt is captured before asynchronous host qualification without authority carryover', async () => {
|
|
202
|
+
const f = fixture(), original = publicPrompt(f.input.intent);
|
|
203
|
+
f.input.initialUserPrompt = original;
|
|
204
|
+
const current = f.input.current;
|
|
205
|
+
f.input.current = async () => { f.input.initialUserPrompt = 'foreign replacement'; return current(); };
|
|
206
|
+
const host = await open(f.input);
|
|
207
|
+
try {
|
|
208
|
+
assert.deepEqual(f.calls.find(call => call.method === 'turn/start').params.input, [{ type: 'text', text: original }]);
|
|
209
|
+
f.complete();
|
|
210
|
+
await host.settled;
|
|
211
|
+
assert.equal(f.counts.claims, 0);
|
|
212
|
+
}
|
|
213
|
+
finally {
|
|
214
|
+
await host.close();
|
|
215
|
+
}
|
|
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
|
+
});
|
|
133
235
|
test('early native tool waits for the verified turn/start response rather than guessing turn identity', async () => {
|
|
134
236
|
const f = fixture(), request = f.transport.request;
|
|
135
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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"}
|