@probelabs/probe 0.6.0-rc337 → 0.6.0-rc341
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/bin/binaries/{probe-v0.6.0-rc337-x86_64-pc-windows-msvc.zip → probe-v0.6.0-rc341-aarch64-apple-darwin.tar.gz} +0 -0
- package/bin/binaries/{probe-v0.6.0-rc337-aarch64-unknown-linux-musl.tar.gz → probe-v0.6.0-rc341-aarch64-unknown-linux-musl.tar.gz} +0 -0
- package/bin/binaries/{probe-v0.6.0-rc337-x86_64-apple-darwin.tar.gz → probe-v0.6.0-rc341-x86_64-apple-darwin.tar.gz} +0 -0
- package/bin/binaries/probe-v0.6.0-rc341-x86_64-pc-windows-msvc.zip +0 -0
- package/bin/binaries/{probe-v0.6.0-rc337-x86_64-unknown-linux-musl.tar.gz → probe-v0.6.0-rc341-x86_64-unknown-linux-musl.tar.gz} +0 -0
- package/build/agent/ProbeAgent.d.ts +37 -9
- package/build/agent/ProbeAgent.js +196 -62
- package/build/agent/acp/tools.js +1 -1
- package/build/agent/engines/codex.js +189 -52
- package/build/agent/engines/governed-answer-failure.js +164 -5
- package/build/agent/engines/governed-codex-exec.js +1227 -0
- package/build/agent/engines/governed-codex-profile.js +80 -28
- package/build/agent/governance/index.d.ts +18 -0
- package/build/agent/governance/index.js +14 -0
- package/build/agent/mcp/client.js +10 -56
- package/build/index.js +26 -0
- package/cjs/agent/ProbeAgent.cjs +3623 -1476
- package/cjs/index.cjs +3650 -1478
- package/index.d.ts +53 -7
- package/package.json +1 -1
- package/src/agent/ProbeAgent.d.ts +37 -9
- package/src/agent/ProbeAgent.js +196 -62
- package/src/agent/acp/tools.js +1 -1
- package/src/agent/engines/codex.js +189 -52
- package/src/agent/engines/governed-answer-failure.js +164 -5
- package/src/agent/engines/governed-codex-exec.js +1227 -0
- package/src/agent/engines/governed-codex-profile.js +80 -28
- package/src/agent/governance/index.d.ts +18 -0
- package/src/agent/governance/index.js +14 -0
- package/src/agent/mcp/client.js +10 -56
- package/src/index.js +26 -0
- package/bin/binaries/probe-v0.6.0-rc337-aarch64-apple-darwin.tar.gz +0 -0
package/index.d.ts
CHANGED
|
@@ -45,6 +45,24 @@ export interface GovernedProcessHandle {
|
|
|
45
45
|
|
|
46
46
|
export declare function spawnGovernedProcess(spec: GovernedProcessSpec): GovernedProcessHandle;
|
|
47
47
|
|
|
48
|
+
export declare const GOVERNED_CODEX_EXEC_PROTOCOL: 'probe.governed-codex-exec/v1';
|
|
49
|
+
export declare const GOVERNED_CODEX_EXEC_ATTESTATION_VERSION: 'probe.governed-codex-exec-attestation/v1';
|
|
50
|
+
export declare const GOVERNED_CODEX_EXEC_TRANSPORT: 'exec-jsonl-default-auth-v1';
|
|
51
|
+
export declare function buildGovernedCodexExecLaunch(options: Record<string, unknown>): Readonly<Record<string, unknown>>;
|
|
52
|
+
export declare function createGovernedCodexExecEngine(options: Record<string, unknown>): Promise<Readonly<{
|
|
53
|
+
run(prompt?: string, options?: Record<string, unknown>): Promise<Readonly<Record<string, unknown>>>;
|
|
54
|
+
query(prompt: string, options?: Record<string, unknown>): AsyncGenerator<Readonly<Record<string, unknown>>>;
|
|
55
|
+
close(): Promise<void>;
|
|
56
|
+
readonly launch: Readonly<Record<string, unknown>> | null;
|
|
57
|
+
}>>;
|
|
58
|
+
export declare function runGovernedCodexExec(options: Record<string, unknown>): Promise<Readonly<Record<string, unknown>>>;
|
|
59
|
+
export declare function formatGovernedCodexExecAttestation(input: Record<string, unknown>): Readonly<Record<string, unknown>>;
|
|
60
|
+
export declare const buildGovernedCodexExecAttestation: typeof formatGovernedCodexExecAttestation;
|
|
61
|
+
export declare function validateGovernedCodexExecAttestation(input: Record<string, unknown>): Readonly<Record<string, unknown>>;
|
|
62
|
+
export declare function projectGovernedCodexExecFailure(error: unknown): Readonly<Record<string, unknown>> | null;
|
|
63
|
+
export declare function normalizeGovernedCodexExecFailure(error: unknown, boundary: 'acquire' | 'query' | 'close'): Error;
|
|
64
|
+
export declare function previewGovernedCodexExecDispatch(prompt: string, systemPrompt?: string): Readonly<{ source: 'probe-host-exec'; tool: 'codex-exec'; promptDigest: `sha256:${string}`; promptBytes: number }>;
|
|
65
|
+
|
|
48
66
|
/**
|
|
49
67
|
* Configuration options for creating a ProbeAgent instance
|
|
50
68
|
*/
|
|
@@ -91,6 +109,12 @@ export interface ProbeAgentOptions {
|
|
|
91
109
|
allowedTools?: string[] | null;
|
|
92
110
|
/** Attested, fail-closed Codex runtime profile. Requires provider codex and an exact allowedTools match. */
|
|
93
111
|
governedCodexProfile?: GovernedCodexProfile;
|
|
112
|
+
/** Transport for an attested governed Codex profile. */
|
|
113
|
+
governedCodexTransport?: 'mcp-server-v1' | 'exec-jsonl-default-auth-v1';
|
|
114
|
+
/** Absolute Codex executable for the governed exec transport. */
|
|
115
|
+
codexBin?: string;
|
|
116
|
+
/** Caller-supplied SHA-256 for codexBin. */
|
|
117
|
+
codexSha256?: string;
|
|
94
118
|
/** Convenience flag to disable all tools (equivalent to allowedTools: []). Takes precedence over allowedTools if set. */
|
|
95
119
|
disableTools?: boolean;
|
|
96
120
|
/** Disable automatic mermaid diagram validation and fixing */
|
|
@@ -346,7 +370,9 @@ export interface GovernedResultIdentity {
|
|
|
346
370
|
export type GovernedCodexProfile =
|
|
347
371
|
{ version: 'probe.governed-codex-profile/v1'; profileId: 'luna-xhigh-readonly-v1'; engine: 'codex'; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'read-only'; approvalPolicy: 'never'; cwd: string; probeTools: ['search', 'extract', 'listFiles']; fallback: false; retries: 0; }
|
|
348
372
|
/** Admits pinned-protocol `exec` inside the attested sandbox; does not claim commands are semantically safe. */
|
|
349
|
-
| { version: 'probe.governed-codex-profile/v2'; profileId: 'luna-xhigh-readonly-native-exec-v1'; engine: 'codex'; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'read-only'; approvalPolicy: 'never'; cwd: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['exec']; fallback: false; retries: 0; }
|
|
373
|
+
| { version: 'probe.governed-codex-profile/v2'; profileId: 'luna-xhigh-readonly-native-exec-v1'; engine: 'codex'; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'read-only'; approvalPolicy: 'never'; cwd: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['exec']; fallback: false; retries: 0; }
|
|
374
|
+
/** Admits observed native `apply_patch` and `exec` inside the configured workspace-write cwd; callers bind that cwd to an isolated worktree. */
|
|
375
|
+
| { version: 'probe.governed-codex-profile/v3'; profileId: 'luna-xhigh-isolated-writer-v1'; engine: 'codex'; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'workspace-write'; approvalPolicy: 'never'; cwd: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['apply_patch', 'exec']; fallback: false; retries: 0; };
|
|
350
376
|
|
|
351
377
|
export interface GovernedCodexRuntimeAttestation {
|
|
352
378
|
version: 'probe.governed-codex-attestation/v1';
|
|
@@ -359,7 +385,7 @@ export interface GovernedCodexRuntimeAttestation {
|
|
|
359
385
|
|
|
360
386
|
export interface GovernedAnswerResult {
|
|
361
387
|
data: unknown;
|
|
362
|
-
runtimeAttestation: GovernedCodexRuntimeAttestation | GovernedCodexRuntimeAttestationV3;
|
|
388
|
+
runtimeAttestation: GovernedCodexRuntimeAttestation | GovernedCodexRuntimeAttestationV3 | GovernedCodexExecAttestation;
|
|
363
389
|
}
|
|
364
390
|
|
|
365
391
|
export interface GovernedCodexRuntimeAttestationV2 {
|
|
@@ -375,26 +401,46 @@ export interface GovernedCodexRuntimeAttestationV2 {
|
|
|
375
401
|
|
|
376
402
|
export interface GovernedInvocationAnswerResult {
|
|
377
403
|
data: unknown;
|
|
378
|
-
runtimeAttestation: GovernedCodexRuntimeAttestationV2 | GovernedCodexRuntimeAttestationV3;
|
|
404
|
+
runtimeAttestation: GovernedCodexRuntimeAttestationV2 | GovernedCodexRuntimeAttestationV3 | GovernedCodexExecAttestation;
|
|
379
405
|
}
|
|
380
406
|
|
|
381
407
|
export interface GovernedIdentifiedAnswerResult {
|
|
382
408
|
data: unknown;
|
|
383
|
-
runtimeAttestation: GovernedCodexRuntimeAttestationV2 | GovernedCodexRuntimeAttestationV3;
|
|
409
|
+
runtimeAttestation: GovernedCodexRuntimeAttestationV2 | GovernedCodexRuntimeAttestationV3 | GovernedCodexExecAttestation;
|
|
384
410
|
resultIdentity: GovernedResultIdentity;
|
|
385
411
|
}
|
|
386
412
|
|
|
387
413
|
export interface GovernedCodexRuntimeAttestationV3 {
|
|
388
414
|
version: 'probe.governed-codex-attestation/v3';
|
|
389
|
-
profileId: 'luna-xhigh-readonly-native-exec-v1';
|
|
390
|
-
requested:
|
|
391
|
-
|
|
415
|
+
profileId: 'luna-xhigh-readonly-native-exec-v1' | 'luna-xhigh-isolated-writer-v1';
|
|
416
|
+
requested:
|
|
417
|
+
| { profileDigest: string; cwdDigest: string; probeMcpToolsDigest: string; codexNativeToolsDigest: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['exec']; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'read-only'; approvalPolicy: 'never'; }
|
|
418
|
+
| { profileDigest: string; cwdDigest: string; probeMcpToolsDigest: string; codexNativeToolsDigest: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['apply_patch', 'exec']; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'workspace-write'; approvalPolicy: 'never'; };
|
|
419
|
+
observed:
|
|
420
|
+
| { source: 'session_configured+raw_response_item'; model: 'gpt-5.6-luna'; modelProviderId: 'openai'; reasoningEffort: 'xhigh'; approvalPolicy: 'never'; cwdDigest: string; permissionProfileDigest: string; filesystem: 'restricted-read-root'; network: 'restricted'; nativeTools: { total: number; tools: GovernedCodexNativeToolAggregate[]; }; }
|
|
421
|
+
| { source: 'session_configured+raw_response_item'; model: 'gpt-5.6-luna'; modelProviderId: 'openai'; reasoningEffort: 'xhigh'; approvalPolicy: 'never'; cwdDigest: string; permissionProfileDigest: string; filesystem: 'restricted-write-cwd'; network: 'restricted'; nativeTools: { total: number; tools: GovernedCodexNativeToolAggregate[]; }; };
|
|
392
422
|
executionContext?: { source: 'caller'; invocationDigest: string; };
|
|
393
423
|
dispatch?: { source: 'probe-host-tools-call'; tool: 'codex'; promptDigest: string; promptBytes: number; };
|
|
394
424
|
evidence: { sessionEventCount: 1; nativeCallCount: number; probeMcpCallCount: number; };
|
|
395
425
|
usage: { status: 'unavailable'; };
|
|
396
426
|
}
|
|
397
427
|
|
|
428
|
+
export interface GovernedCodexExecAttestation {
|
|
429
|
+
version: 'probe.governed-codex-exec-attestation/v1';
|
|
430
|
+
profileId: 'luna-xhigh-readonly-v1' | 'luna-xhigh-readonly-native-exec-v1' | 'luna-xhigh-isolated-writer-v1';
|
|
431
|
+
requested: Record<string, unknown>;
|
|
432
|
+
enforced: {
|
|
433
|
+
source: 'probe-host-codex-exec-argv/v1'; transport: 'exec-jsonl-default-auth-v1'; cliPath: string; cliSha256: `sha256:${string}`; cliVersion: string;
|
|
434
|
+
configDigest: `sha256:${string}`; launchDigest: `sha256:${string}`; cwdDigest: string; codexHome: 'omitted';
|
|
435
|
+
environmentPolicy: 'inherit-with-CODEX_HOME-omitted-v1'; ignoreUserConfig: true; ignoreRules: true; ephemeral: true; noShell: true; loopbackMcpDigest: `sha256:${string}`;
|
|
436
|
+
};
|
|
437
|
+
observed: { source: 'codex-exec-jsonl/v1'; threadDigest: string; streamDigest: string; terminal: 'turn.completed'; eventCount: number; completedItemCount: number; agentMessageCount: number; usedToolItems: Array<{ category: 'mcp_tool_call' | 'command_execution' | 'file_change'; name: string | null; status: 'completed'; count: number }>; probeMcpCallCount: number; finalDigest: string; finalBytes: number; processExitCode: 0; processSignal: null; };
|
|
438
|
+
executionContext?: { source: 'caller'; invocationDigest: string };
|
|
439
|
+
dispatch: { source: 'probe-host-exec'; tool: 'codex-exec'; promptDigest: string; promptBytes: number };
|
|
440
|
+
evidence: { eventCount: number; completedItemCount: number; agentMessageCount: number; probeMcpCallCount: number };
|
|
441
|
+
usage: { status: 'observed'; inputTokens: number; cachedInputTokens: number; outputTokens: number };
|
|
442
|
+
}
|
|
443
|
+
|
|
398
444
|
/**
|
|
399
445
|
* Clone options for creating a new agent with shared history
|
|
400
446
|
*/
|
package/package.json
CHANGED
|
@@ -82,6 +82,12 @@ export interface ProbeAgentOptions {
|
|
|
82
82
|
allowedTools?: string[] | null;
|
|
83
83
|
/** Attested, fail-closed Codex runtime profile. Requires provider codex and an exact allowedTools match. */
|
|
84
84
|
governedCodexProfile?: GovernedCodexProfile;
|
|
85
|
+
/** Transport for an attested governed Codex profile. The exec transport requires codexBin and codexSha256. */
|
|
86
|
+
governedCodexTransport?: 'mcp-server-v1' | 'exec-jsonl-default-auth-v1';
|
|
87
|
+
/** Absolute Codex executable used by exec-jsonl-default-auth-v1. */
|
|
88
|
+
codexBin?: string;
|
|
89
|
+
/** Caller-supplied SHA-256 (sha256:<64 hex> or bare 64 hex) for codexBin. */
|
|
90
|
+
codexSha256?: string;
|
|
85
91
|
/** Convenience flag to disable all tools (equivalent to allowedTools: []). Takes precedence over allowedTools if set. */
|
|
86
92
|
disableTools?: boolean;
|
|
87
93
|
/** Retry configuration for handling transient API failures */
|
|
@@ -104,9 +110,9 @@ export interface ProbeAgentOptions {
|
|
|
104
110
|
completionPrompt?: string;
|
|
105
111
|
/** Enable task management system for tracking multi-step progress */
|
|
106
112
|
enableTasks?: boolean;
|
|
107
|
-
/** Timeout in ms for AI requests (default: 120000 or REQUEST_TIMEOUT env var).
|
|
113
|
+
/** Timeout in ms for AI requests (default: 120000 or REQUEST_TIMEOUT env var). `0` disables the per-request deadline; Codex startup remains bounded. */
|
|
108
114
|
requestTimeout?: number;
|
|
109
|
-
/** Maximum timeout in ms for the entire operation including all retries and fallbacks (default: 300000 or MAX_OPERATION_TIMEOUT env var).
|
|
115
|
+
/** Maximum timeout in ms for the entire operation including all retries and fallbacks (default: 300000 or MAX_OPERATION_TIMEOUT env var). `0` disables the overall operation deadline. */
|
|
110
116
|
maxOperationTimeout?: number;
|
|
111
117
|
/** Timeout behavior: 'graceful' winds down with bonus steps, 'hard' aborts immediately, 'negotiated' uses a timeout observer (separate LLM call) to decide extensions (default: 'graceful'). Env var: TIMEOUT_BEHAVIOR */
|
|
112
118
|
timeoutBehavior?: 'graceful' | 'hard' | 'negotiated';
|
|
@@ -272,7 +278,9 @@ export interface GovernedResultIdentity {
|
|
|
272
278
|
export type GovernedCodexProfile =
|
|
273
279
|
{ version: 'probe.governed-codex-profile/v1'; profileId: 'luna-xhigh-readonly-v1'; engine: 'codex'; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'read-only'; approvalPolicy: 'never'; cwd: string; probeTools: ['search', 'extract', 'listFiles']; fallback: false; retries: 0; }
|
|
274
280
|
/** Admits pinned-protocol `exec` inside the attested sandbox; does not claim commands are semantically safe. */
|
|
275
|
-
| { version: 'probe.governed-codex-profile/v2'; profileId: 'luna-xhigh-readonly-native-exec-v1'; engine: 'codex'; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'read-only'; approvalPolicy: 'never'; cwd: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['exec']; fallback: false; retries: 0; }
|
|
281
|
+
| { version: 'probe.governed-codex-profile/v2'; profileId: 'luna-xhigh-readonly-native-exec-v1'; engine: 'codex'; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'read-only'; approvalPolicy: 'never'; cwd: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['exec']; fallback: false; retries: 0; }
|
|
282
|
+
/** Admits observed native `apply_patch` and `exec` inside the configured workspace-write cwd; callers bind that cwd to an isolated worktree. */
|
|
283
|
+
| { version: 'probe.governed-codex-profile/v3'; profileId: 'luna-xhigh-isolated-writer-v1'; engine: 'codex'; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'workspace-write'; approvalPolicy: 'never'; cwd: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['apply_patch', 'exec']; fallback: false; retries: 0; };
|
|
276
284
|
|
|
277
285
|
export interface GovernedCodexRuntimeAttestation {
|
|
278
286
|
version: 'probe.governed-codex-attestation/v1';
|
|
@@ -285,7 +293,7 @@ export interface GovernedCodexRuntimeAttestation {
|
|
|
285
293
|
|
|
286
294
|
export interface GovernedAnswerResult {
|
|
287
295
|
data: unknown;
|
|
288
|
-
runtimeAttestation: GovernedCodexRuntimeAttestation | GovernedCodexRuntimeAttestationV3;
|
|
296
|
+
runtimeAttestation: GovernedCodexRuntimeAttestation | GovernedCodexRuntimeAttestationV3 | GovernedCodexExecAttestation;
|
|
289
297
|
}
|
|
290
298
|
|
|
291
299
|
export interface GovernedCodexRuntimeAttestationV2 {
|
|
@@ -301,26 +309,46 @@ export interface GovernedCodexRuntimeAttestationV2 {
|
|
|
301
309
|
|
|
302
310
|
export interface GovernedInvocationAnswerResult {
|
|
303
311
|
data: unknown;
|
|
304
|
-
runtimeAttestation: GovernedCodexRuntimeAttestationV2 | GovernedCodexRuntimeAttestationV3;
|
|
312
|
+
runtimeAttestation: GovernedCodexRuntimeAttestationV2 | GovernedCodexRuntimeAttestationV3 | GovernedCodexExecAttestation;
|
|
305
313
|
}
|
|
306
314
|
|
|
307
315
|
export interface GovernedIdentifiedAnswerResult {
|
|
308
316
|
data: unknown;
|
|
309
|
-
runtimeAttestation: GovernedCodexRuntimeAttestationV2 | GovernedCodexRuntimeAttestationV3;
|
|
317
|
+
runtimeAttestation: GovernedCodexRuntimeAttestationV2 | GovernedCodexRuntimeAttestationV3 | GovernedCodexExecAttestation;
|
|
310
318
|
resultIdentity: GovernedResultIdentity;
|
|
311
319
|
}
|
|
312
320
|
|
|
313
321
|
export interface GovernedCodexRuntimeAttestationV3 {
|
|
314
322
|
version: 'probe.governed-codex-attestation/v3';
|
|
315
|
-
profileId: 'luna-xhigh-readonly-native-exec-v1';
|
|
316
|
-
requested:
|
|
317
|
-
|
|
323
|
+
profileId: 'luna-xhigh-readonly-native-exec-v1' | 'luna-xhigh-isolated-writer-v1';
|
|
324
|
+
requested:
|
|
325
|
+
| { profileDigest: string; cwdDigest: string; probeMcpToolsDigest: string; codexNativeToolsDigest: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['exec']; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'read-only'; approvalPolicy: 'never'; }
|
|
326
|
+
| { profileDigest: string; cwdDigest: string; probeMcpToolsDigest: string; codexNativeToolsDigest: string; probeMcpTools: ['search', 'extract', 'listFiles']; codexNativeTools: ['apply_patch', 'exec']; model: 'gpt-5.6-luna'; reasoningEffort: 'xhigh'; sandbox: 'workspace-write'; approvalPolicy: 'never'; };
|
|
327
|
+
observed:
|
|
328
|
+
| { source: 'session_configured+raw_response_item'; model: 'gpt-5.6-luna'; modelProviderId: 'openai'; reasoningEffort: 'xhigh'; approvalPolicy: 'never'; cwdDigest: string; permissionProfileDigest: string; filesystem: 'restricted-read-root'; network: 'restricted'; nativeTools: { total: number; tools: GovernedCodexNativeToolAggregate[]; }; }
|
|
329
|
+
| { source: 'session_configured+raw_response_item'; model: 'gpt-5.6-luna'; modelProviderId: 'openai'; reasoningEffort: 'xhigh'; approvalPolicy: 'never'; cwdDigest: string; permissionProfileDigest: string; filesystem: 'restricted-write-cwd'; network: 'restricted'; nativeTools: { total: number; tools: GovernedCodexNativeToolAggregate[]; }; };
|
|
318
330
|
executionContext?: { source: 'caller'; invocationDigest: string; };
|
|
319
331
|
dispatch?: { source: 'probe-host-tools-call'; tool: 'codex'; promptDigest: string; promptBytes: number; };
|
|
320
332
|
evidence: { sessionEventCount: 1; nativeCallCount: number; probeMcpCallCount: number; };
|
|
321
333
|
usage: { status: 'unavailable'; };
|
|
322
334
|
}
|
|
323
335
|
|
|
336
|
+
export interface GovernedCodexExecAttestation {
|
|
337
|
+
version: 'probe.governed-codex-exec-attestation/v1';
|
|
338
|
+
profileId: 'luna-xhigh-readonly-v1' | 'luna-xhigh-readonly-native-exec-v1' | 'luna-xhigh-isolated-writer-v1';
|
|
339
|
+
requested: Record<string, unknown>;
|
|
340
|
+
enforced: {
|
|
341
|
+
source: 'probe-host-codex-exec-argv/v1'; transport: 'exec-jsonl-default-auth-v1'; cliPath: string; cliSha256: `sha256:${string}`; cliVersion: string;
|
|
342
|
+
configDigest: `sha256:${string}`; launchDigest: `sha256:${string}`; cwdDigest: string; codexHome: 'omitted';
|
|
343
|
+
environmentPolicy: 'inherit-with-CODEX_HOME-omitted-v1'; ignoreUserConfig: true; ignoreRules: true; ephemeral: true; noShell: true; loopbackMcpDigest: `sha256:${string}`;
|
|
344
|
+
};
|
|
345
|
+
observed: { source: 'codex-exec-jsonl/v1'; threadDigest: string; streamDigest: string; terminal: 'turn.completed'; eventCount: number; completedItemCount: number; agentMessageCount: number; usedToolItems: Array<{ category: 'mcp_tool_call' | 'command_execution' | 'file_change'; name: string | null; status: 'completed'; count: number }>; probeMcpCallCount: number; finalDigest: string; finalBytes: number; processExitCode: 0; processSignal: null; };
|
|
346
|
+
executionContext?: { source: 'caller'; invocationDigest: string };
|
|
347
|
+
dispatch: { source: 'probe-host-exec'; tool: 'codex-exec'; promptDigest: string; promptBytes: number };
|
|
348
|
+
evidence: { eventCount: number; completedItemCount: number; agentMessageCount: number; probeMcpCallCount: number };
|
|
349
|
+
usage: { status: 'observed'; inputTokens: number; cachedInputTokens: number; outputTokens: number };
|
|
350
|
+
}
|
|
351
|
+
|
|
324
352
|
/**
|
|
325
353
|
* Clone options for creating a new agent with shared history
|
|
326
354
|
*/
|