codex-computer-use-mcp 0.1.0 → 0.2.0

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 (46) hide show
  1. package/ARCHITECTURE.md +134 -0
  2. package/CONTRIBUTING.md +16 -10
  3. package/MIGRATION.md +77 -0
  4. package/PROOF.md +114 -67
  5. package/README.md +94 -116
  6. package/SECURITY.md +43 -22
  7. package/dist/audit.d.ts +15 -14
  8. package/dist/audit.js +1 -1
  9. package/dist/audit.js.map +1 -1
  10. package/dist/config.d.ts +8 -8
  11. package/dist/config.js +8 -103
  12. package/dist/config.js.map +1 -1
  13. package/dist/direct-broker.d.ts +57 -0
  14. package/dist/direct-broker.js +638 -0
  15. package/dist/direct-broker.js.map +1 -0
  16. package/dist/direct-service.d.ts +31 -0
  17. package/dist/direct-service.js +345 -0
  18. package/dist/direct-service.js.map +1 -0
  19. package/dist/lock.d.ts +1 -0
  20. package/dist/lock.js +32 -3
  21. package/dist/lock.js.map +1 -1
  22. package/dist/mcp-server.js +46 -105
  23. package/dist/mcp-server.js.map +1 -1
  24. package/dist/system.d.ts +0 -1
  25. package/dist/system.js +12 -37
  26. package/dist/system.js.map +1 -1
  27. package/dist/tools.d.ts +78 -0
  28. package/dist/tools.js +192 -0
  29. package/dist/tools.js.map +1 -0
  30. package/integrations/pi/README.md +41 -27
  31. package/integrations/pi/index.ts +110 -123
  32. package/integrations/pi/mcp.json.example +3 -3
  33. package/npm-shrinkwrap.json +3278 -48
  34. package/package.json +40 -13
  35. package/dist/policy.d.ts +0 -42
  36. package/dist/policy.js +0 -428
  37. package/dist/policy.js.map +0 -1
  38. package/dist/prompt.d.ts +0 -62
  39. package/dist/prompt.js +0 -119
  40. package/dist/prompt.js.map +0 -1
  41. package/dist/runner.d.ts +0 -55
  42. package/dist/runner.js +0 -494
  43. package/dist/runner.js.map +0 -1
  44. package/dist/service.d.ts +0 -17
  45. package/dist/service.js +0 -382
  46. package/dist/service.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { runOfficialCodex } from "./runner.ts";
2
- export interface OperationDependencies {
3
- stateRoot?: string;
4
- signal?: AbortSignal;
5
- onProgress?: (message: string) => void | Promise<void>;
6
- /** Test/integration injection; MCP and Pi adapters never override the verified runner. */
7
- runCodex?: typeof runOfficialCodex;
8
- }
9
- export interface OperationResponse {
10
- ok: boolean;
11
- isError: boolean;
12
- text: string;
13
- details: Record<string, unknown>;
14
- }
15
- export declare function defaultStateRoot(): string;
16
- export declare function executeOperation(raw: unknown, deps?: OperationDependencies): Promise<OperationResponse>;
17
- export declare function getStatus(stateRoot?: string): Promise<Record<string, unknown>>;
package/dist/service.js DELETED
@@ -1,382 +0,0 @@
1
- import crypto from "node:crypto";
2
- import path from "node:path";
3
- import { homedir } from "node:os";
4
- import { appendAudit } from "./audit.js";
5
- import { loadConfig } from "./config.js";
6
- import { acquireAppLock } from "./lock.js";
7
- import { COMPUTER_USE_TOOLS, MODEL, PolicyError, allowedToolsForRequest, createDictionaryArgumentValidator, validateObservedMethods, validateResolvedAppIdentity, validateRequest, } from "./policy.js";
8
- import { buildPrompt } from "./prompt.js";
9
- import { runOfficialCodex, verifyOfficialBroker } from "./runner.js";
10
- import { ensureAppRunningInBackground, frontmostBundleId, frontmostBundleIdAsync, resolveAppIdentity, watchTargetFrontmost, } from "./system.js";
11
- export function defaultStateRoot() {
12
- return process.env.CODEX_COMPUTER_USE_HOME || path.join(homedir(), ".codex-computer-use-mcp");
13
- }
14
- function usageText(result) {
15
- const usage = result.usage;
16
- return `Codex usage: ${usage.input} input (${usage.cachedInput} cached), ${usage.output} output tokens`;
17
- }
18
- function safeDisplay(value, maxLength) {
19
- return value.replace(/[\u0000-\u001f\u007f]+/g, " ").replace(/\s+/g, " ").trim().slice(0, maxLength);
20
- }
21
- function auditAppIdentifier(app, canonicalBundleId) {
22
- if (!app)
23
- return null;
24
- if (canonicalBundleId)
25
- return canonicalBundleId;
26
- return `target-sha256:${crypto.createHash("sha256").update(app).digest("hex").slice(0, 16)}`;
27
- }
28
- function rejectedInputMetadata(raw) {
29
- if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
30
- return { operation: "invalid_request", app: null, mutating: false, cleanup: false, inputBytes: 0 };
31
- }
32
- const value = raw;
33
- const operation = typeof value.mode === "string" && ["list", "inspect", "act", "dictionary_lookup", "configure"].includes(value.mode)
34
- ? value.mode
35
- : "invalid_request";
36
- const app = typeof value.app === "string" ? auditAppIdentifier(value.app, undefined) : null;
37
- const input = [value.task, value.query, value.cleanup_instructions]
38
- .filter((item) => typeof item === "string")
39
- .join("");
40
- return {
41
- operation,
42
- app,
43
- mutating: operation === "act" || operation === "dictionary_lookup" || operation === "configure",
44
- cleanup: value.cleanup === true,
45
- inputBytes: Buffer.byteLength(input, "utf8"),
46
- };
47
- }
48
- function interruptionMessage(kind, app, methods) {
49
- const prior = methods.length
50
- ? ` Earlier successful calls (${methods.join(", ")}) may already have changed state; cleanup is unverified.`
51
- : " No successful Computer Use call was observed before the interruption.";
52
- switch (kind) {
53
- case "app_approval":
54
- return `Official Computer Use app approval is required for ${app}. Complete or deny that first-party app approval in an official interactive session, then retry only if approved.${prior}`;
55
- case "sensitive_action":
56
- return `Official Computer Use sensitive-action confirmation interrupted work in ${app}. Review that specific first-party action prompt; wrapper full-permissions does not bypass it.${prior}`;
57
- case "os_permission":
58
- return `A macOS privacy permission interrupted Computer Use for ${app}. Review the relevant macOS permission directly; the wrapper does not alter OS privacy controls.${prior}`;
59
- case "unknown_elicitation":
60
- return `An unclassified first-party Computer Use elicitation interrupted work in ${app}. Review it in an official interactive session rather than assuming it is app approval.${prior}`;
61
- }
62
- }
63
- export async function executeOperation(raw, deps = {}) {
64
- const stateDir = deps.stateRoot || defaultStateRoot();
65
- const runId = crypto.randomUUID();
66
- const startedAt = Date.now();
67
- const config = await loadConfig(stateDir);
68
- const permissionMode = config.permissionMode;
69
- let request;
70
- try {
71
- request = validateRequest(raw, permissionMode);
72
- }
73
- catch (error) {
74
- const rejected = rejectedInputMetadata(raw);
75
- const audit = {
76
- timestamp: new Date().toISOString(),
77
- runId,
78
- operation: rejected.operation,
79
- permissionMode,
80
- app: rejected.app,
81
- mutating: rejected.mutating,
82
- cleanupRequested: rejected.cleanup,
83
- userConfirmed: false,
84
- authorization: permissionMode === "full-permissions" ? "full_permissions_config" : "none",
85
- inputBytes: rejected.inputBytes,
86
- outcome: "policy_rejected",
87
- durationMs: Date.now() - startedAt,
88
- model: MODEL,
89
- usage: { input: 0, cachedInput: 0, output: 0 },
90
- computerUseCalls: 0,
91
- computerUseMethods: [],
92
- backgroundPreserved: null,
93
- cleanupVerified: null,
94
- };
95
- try {
96
- await appendAudit(stateDir, audit, "background-computer-use.jsonl");
97
- }
98
- catch {
99
- throw new Error("Computer Use request was rejected, but secure audit logging failed");
100
- }
101
- if (error instanceof PolicyError)
102
- throw error;
103
- throw new PolicyError("Request did not pass the Computer Use policy");
104
- }
105
- let userConfirmed = false;
106
- let authorization = permissionMode === "full-permissions" ? "full_permissions_config" : "none";
107
- const locks = [];
108
- let runner;
109
- let outcome = "failed";
110
- let backgroundPreserved = null;
111
- let cleanupVerified = null;
112
- const app = request.app;
113
- let targetIdentity = app ? resolveAppIdentity(app) : undefined;
114
- const initialTargetLeaseId = targetIdentity?.leaseId;
115
- let targetLeaseId = initialTargetLeaseId;
116
- let canonicalTargetApp = targetIdentity?.bundleId;
117
- let frontBefore;
118
- let targetBecameFrontmost = false;
119
- let unrelatedFocusChanges = false;
120
- let focusWatcher;
121
- let focusWatcherFailed = false;
122
- try {
123
- validateResolvedAppIdentity(request, targetIdentity?.bundleId, targetIdentity?.verifiedSystemDictionary === true);
124
- if (initialTargetLeaseId)
125
- locks.push(await acquireAppLock(stateDir, initialTargetLeaseId, runId));
126
- frontBefore = frontmostBundleId();
127
- if (!frontBefore)
128
- throw new PolicyError("Could not observe the frontmost app; refusing to spend Codex quota without background verification");
129
- let focusSamplePromise;
130
- const sampleFocus = () => {
131
- if (focusSamplePromise)
132
- return focusSamplePromise;
133
- focusSamplePromise = (async () => {
134
- const current = await frontmostBundleIdAsync();
135
- if (!current)
136
- return;
137
- if (canonicalTargetApp && current.toLowerCase() === canonicalTargetApp.toLowerCase())
138
- targetBecameFrontmost = true;
139
- else if (current !== frontBefore)
140
- unrelatedFocusChanges = true;
141
- })().finally(() => {
142
- focusSamplePromise = undefined;
143
- });
144
- return focusSamplePromise;
145
- };
146
- if (app)
147
- focusWatcher = await watchTargetFrontmost();
148
- const focusMonitor = setInterval(() => void sampleFocus(), 250);
149
- focusMonitor.unref();
150
- try {
151
- if (app) {
152
- targetIdentity = await ensureAppRunningInBackground(app, targetIdentity);
153
- canonicalTargetApp = targetIdentity.bundleId;
154
- if (!canonicalTargetApp)
155
- throw new PolicyError("Could not resolve the background-launched app to a canonical bundle ID");
156
- targetLeaseId = canonicalTargetApp.toLowerCase();
157
- validateResolvedAppIdentity(request, targetIdentity.bundleId, targetIdentity.verifiedSystemDictionary);
158
- if (targetLeaseId !== initialTargetLeaseId)
159
- locks.push(await acquireAppLock(stateDir, targetLeaseId, runId));
160
- await sampleFocus();
161
- if (frontmostBundleId()?.toLowerCase() === targetLeaseId)
162
- targetBecameFrontmost = true;
163
- if (targetBecameFrontmost)
164
- throw new PolicyError("The target app became frontmost during background launch; background-only guarantee failed");
165
- }
166
- await deps.onProgress?.(`${permissionMode === "full-permissions" ? "FULL PERMISSIONS; " : ""}Leased ${app ?? "app inventory"}; starting signed Codex Computer Use worker…`);
167
- runner = await (deps.runCodex ?? runOfficialCodex)(buildPrompt(request, canonicalTargetApp), {
168
- signal: deps.signal,
169
- timeoutMs: 300_000,
170
- allowedTools: allowedToolsForRequest(request),
171
- targetApp: request.app,
172
- targetAppAliases: [canonicalTargetApp, targetLeaseId, initialTargetLeaseId].filter((value) => Boolean(value)),
173
- reasoningEffort: request.reasoningEffort,
174
- maxToolCalls: request.maxComputerUseCalls,
175
- validateCallArguments: request.mode === "dictionary_lookup" ? createDictionaryArgumentValidator(request.query) : undefined,
176
- });
177
- }
178
- finally {
179
- clearInterval(focusMonitor);
180
- await sampleFocus();
181
- if (focusWatcher) {
182
- focusWatcherFailed = !focusWatcher.healthy();
183
- await focusWatcher.stop();
184
- if (canonicalTargetApp)
185
- targetBecameFrontmost ||= focusWatcher.becameFrontmost(canonicalTargetApp);
186
- }
187
- }
188
- if (focusWatcherFailed)
189
- throw new PolicyError("Target focus-event monitor exited before the Computer Use worker");
190
- if (runner.policyViolation) {
191
- outcome = "policy_violation";
192
- throw new PolicyError(`${runner.policyViolation}${request.mutating ? "; target cleanup is not verified—inspect and restore the app before retrying" : ""}`);
193
- }
194
- if (runner.firstPartyInterruption) {
195
- outcome = `first_party_${runner.firstPartyInterruption}`;
196
- return {
197
- ok: false,
198
- isError: true,
199
- text: `[${permissionMode}] ${interruptionMessage(runner.firstPartyInterruption, app ?? "the target app", runner.computerUseMethods)} Do not retry automatically. ${usageText(runner)}`,
200
- details: {
201
- runId,
202
- mode: request.mode,
203
- permissionMode,
204
- app,
205
- outcome,
206
- approvalRequired: runner.firstPartyInterruption === "app_approval",
207
- firstPartyInterruption: runner.firstPartyInterruption,
208
- usedCapabilities: runner.computerUseMethods,
209
- usage: runner.usage,
210
- model: MODEL,
211
- durationMs: runner.durationMs,
212
- retryAllowed: false,
213
- },
214
- };
215
- }
216
- if (runner.errorKind === "cancelled") {
217
- outcome = "cancelled";
218
- cleanupVerified = false;
219
- return {
220
- ok: false,
221
- isError: true,
222
- text: `Computer Use was cancelled. ${runner.computerUseMethods.length ? `Earlier successful calls (${runner.computerUseMethods.join(", ")}) may already have changed state; cleanup is unverified. ` : "No successful Computer Use call was observed. "}Do not retry automatically.`,
223
- details: {
224
- runId,
225
- mode: request.mode,
226
- permissionMode,
227
- app,
228
- outcome,
229
- usedCapabilities: runner.computerUseMethods,
230
- usage: runner.usage,
231
- model: MODEL,
232
- durationMs: runner.durationMs,
233
- cleanupVerified: false,
234
- retryAllowed: false,
235
- },
236
- };
237
- }
238
- if (runner.exitCode !== 0 || !runner.result) {
239
- outcome = runner.errorKind ?? "broker_failed";
240
- throw new Error(`Official Codex broker failed (${runner.errorKind ?? "unknown"})${request.mutating ? "; target cleanup is not verified—inspect and restore the app before retrying" : ""}`);
241
- }
242
- const result = runner.result;
243
- if (result.mode !== request.mode)
244
- throw new PolicyError("Codex returned a mismatched mode");
245
- if (app &&
246
- ![app, canonicalTargetApp, targetLeaseId]
247
- .filter((value) => Boolean(value))
248
- .some((value) => value.toLowerCase() === result.app.toLowerCase())) {
249
- throw new PolicyError("Codex returned a mismatched target app");
250
- }
251
- if (result.status === "approval_required" || result.approvalRequired) {
252
- outcome = "unverified_approval_claim";
253
- throw new Error("Codex claimed app approval was required without an observed official approval event; no task completion is trusted");
254
- }
255
- if (result.status !== "ok") {
256
- outcome = `computer_use_${result.status}`;
257
- throw new Error(`Computer Use returned ${result.status}${request.mutating ? "; target cleanup is not verified—inspect and restore the app before retrying" : ""}`);
258
- }
259
- validateObservedMethods(request, runner.computerUseMethods);
260
- const frontAfter = frontmostBundleId();
261
- if (!frontAfter)
262
- throw new PolicyError("Could not verify the final frontmost app state");
263
- if (targetLeaseId && frontAfter.toLowerCase() === targetLeaseId)
264
- targetBecameFrontmost = true;
265
- else if (frontAfter !== frontBefore)
266
- unrelatedFocusChanges = true;
267
- backgroundPreserved = !targetBecameFrontmost;
268
- if (!backgroundPreserved)
269
- throw new PolicyError("The confirmed target app became frontmost; background-only guarantee failed");
270
- cleanupVerified = request.mutating ? (request.cleanup ? result.cleaned : null) : true;
271
- if (request.mutating && request.cleanup && result.cleaned !== true)
272
- throw new PolicyError("Requested cleanup was not verified");
273
- outcome = "ok";
274
- if (request.mode === "list") {
275
- const safeApps = result.apps.map((item) => ({ name: safeDisplay(item.name, 120), bundleId: safeDisplay(item.bundleId, 160) }));
276
- const lines = safeApps.map((item) => `${item.name} (${item.bundleId})`);
277
- return {
278
- ok: true,
279
- isError: false,
280
- text: `[${permissionMode}] Discovered ${safeApps.length} apps through signed Codex Computer Use:\n${lines.join("\n")}\n\n${usageText(runner)}.`,
281
- details: {
282
- runId,
283
- mode: request.mode,
284
- permissionMode,
285
- outcome,
286
- apps: safeApps,
287
- cleaned: true,
288
- backgroundPreserved,
289
- unrelatedFocusChanges,
290
- usedCapabilities: runner.computerUseMethods,
291
- usage: runner.usage,
292
- model: MODEL,
293
- durationMs: runner.durationMs,
294
- },
295
- };
296
- }
297
- return {
298
- ok: true,
299
- isError: false,
300
- text: `[${permissionMode}] ${app} ${request.mode} completed through signed Codex Computer Use. ${safeDisplay(result.summary, 1000)} Background preserved: yes. ${request.cleanup ? "Cleanup verified: yes. " : "Cleanup not requested. "}Capabilities used: ${runner.computerUseMethods.join(", ")}. ${usageText(runner)}.`,
301
- details: {
302
- runId,
303
- mode: request.mode,
304
- permissionMode,
305
- app,
306
- outcome,
307
- summary: safeDisplay(result.summary, 1000),
308
- cleaned: result.cleaned,
309
- backgroundPreserved,
310
- unrelatedFocusChanges,
311
- approvalRequired: false,
312
- usedCapabilities: runner.computerUseMethods,
313
- usage: runner.usage,
314
- model: MODEL,
315
- durationMs: runner.durationMs,
316
- },
317
- };
318
- }
319
- finally {
320
- let releaseFailure = false;
321
- for (const held of locks.reverse()) {
322
- try {
323
- await held.release();
324
- }
325
- catch {
326
- releaseFailure = true;
327
- }
328
- }
329
- const audit = {
330
- timestamp: new Date().toISOString(),
331
- runId,
332
- operation: request.mode,
333
- permissionMode,
334
- app: auditAppIdentifier(app, canonicalTargetApp),
335
- mutating: request.mutating,
336
- cleanupRequested: request.cleanup,
337
- userConfirmed,
338
- authorization,
339
- inputBytes: Buffer.byteLength(`${request.task ?? request.query ?? ""}${request.cleanupInstructions ?? ""}`, "utf8"),
340
- outcome,
341
- durationMs: Date.now() - startedAt,
342
- model: MODEL,
343
- usage: runner?.usage ?? { input: 0, cachedInput: 0, output: 0 },
344
- computerUseCalls: runner?.computerUseMethods.length ?? 0,
345
- computerUseMethods: runner?.computerUseMethods ?? [],
346
- backgroundPreserved,
347
- cleanupVerified,
348
- };
349
- try {
350
- await appendAudit(stateDir, audit, "background-computer-use.jsonl");
351
- }
352
- catch {
353
- throw new Error(`Computer Use ended with outcome ${outcome}, but secure audit logging failed${request.mutating ? "; prior mutations and cleanup state may require manual inspection" : ""}`);
354
- }
355
- if (releaseFailure) {
356
- throw new Error(`Computer Use ended with outcome ${outcome}, but one or more app leases did not release cleanly`);
357
- }
358
- }
359
- }
360
- export async function getStatus(stateRoot = defaultStateRoot()) {
361
- const config = await loadConfig(stateRoot);
362
- let brokerVerified = false;
363
- let brokerVersion;
364
- try {
365
- brokerVersion = verifyOfficialBroker();
366
- brokerVerified = true;
367
- }
368
- catch {
369
- // Status remains readable on incompatible hosts without exposing local verification details.
370
- }
371
- return {
372
- stateRoot,
373
- permissionMode: config.permissionMode,
374
- model: MODEL,
375
- brokerVerified,
376
- ...(brokerVersion ? { brokerVersion } : {}),
377
- officialApprovalAuthoritative: true,
378
- supportedMethods: [...COMPUTER_USE_TOOLS],
379
- auditPath: path.join(stateRoot, "audit", "background-computer-use.jsonl"),
380
- };
381
- }
382
- //# sourceMappingURL=service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}