codex-computer-use-mcp 0.3.2 → 0.3.4
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/ARCHITECTURE.md +42 -32
- package/CHANGELOG.md +19 -0
- package/CONTRIBUTING.md +5 -4
- package/MIGRATION.md +19 -2
- package/PROOF.md +8 -2
- package/README.md +14 -14
- package/SECURITY.md +15 -7
- package/dist/direct-broker.js +1 -1
- package/dist/direct-service.js +11 -13
- package/dist/direct-service.js.map +1 -1
- package/dist/mcp-server.js +1 -1
- package/dist/system.d.ts +9 -0
- package/dist/system.js +14 -4
- package/dist/system.js.map +1 -1
- package/integrations/pi/README.md +3 -3
- package/integrations/pi/mcp.json.example +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -1
package/ARCHITECTURE.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Code Mode remains outside this package. See [ADR 0001: Keep Code Mode in a standalone MCP process](docs/adr/0001-standalone-code-mode-mcp.md).
|
|
4
4
|
|
|
5
|
+
## Design intent
|
|
6
|
+
|
|
7
|
+
This package is a thin transport adapter to the official signed Computer Use tools. It has no independent policy or security role. Codex and macOS remain authoritative for tool behavior, access decisions, and platform controls.
|
|
8
|
+
|
|
9
|
+
Preserve the official capability surface. Add adapter code only when the transport, zero-model-turn architecture, component compatibility, or process lifecycle requires it.
|
|
10
|
+
|
|
11
|
+
Canonical app resolution, same-app locking, focus completion telemetry, and metadata-only audit came from the earlier background-computer-use wrapper. The current release retains them for compatibility. They do not provide extra authorization or sandbox boundaries. This inventory does not justify extending them. A maintainer must explicitly approve their removal or material simplification.
|
|
12
|
+
|
|
5
13
|
## Official API evidence
|
|
6
14
|
|
|
7
15
|
The architecture uses public source and the installed signed binaries; it does not speak a private Computer Use socket protocol.
|
|
@@ -90,40 +98,42 @@ codex mcp-server model tools
|
|
|
90
98
|
nested prompts or result summaries
|
|
91
99
|
```
|
|
92
100
|
|
|
93
|
-
##
|
|
101
|
+
## Current adapter inventory
|
|
94
102
|
|
|
95
|
-
|
|
|
103
|
+
| Mechanism or former restriction | Role in the direct design | Current treatment |
|
|
96
104
|
|---|---|---|
|
|
97
|
-
| Reviewed ChatGPT/Codex/client paths |
|
|
98
|
-
| Strict signatures and OpenAI Team ID |
|
|
99
|
-
| Signed-parent/responsible-process chain |
|
|
100
|
-
| Private Sky socket/native-pipe access |
|
|
101
|
-
| Nested Codex model and prompt |
|
|
102
|
-
| Model selection and reasoning effort |
|
|
103
|
-
| Responses websocket prewarm on empty thread |
|
|
104
|
-
| Plugin/remote-control startup networking |
|
|
105
|
-
| Model-written multi-step task plan |
|
|
106
|
-
| Model result schema/summary |
|
|
107
|
-
| Streamed model-event target/method validation |
|
|
108
|
-
| Per-operation tool allowlists and call budgets |
|
|
109
|
-
| Task text, cleanup instructions, required-capabilities fields |
|
|
110
|
-
| Dictionary-only special policy |
|
|
111
|
-
| Wrapper app/intent allowlists in full mode |
|
|
112
|
-
| Safe/full wrapper modes |
|
|
113
|
-
| Wrapper approval prompts/configuration |
|
|
114
|
-
| Official first-party app access |
|
|
115
|
-
| macOS TCC |
|
|
116
|
-
| Exact ten-tool inventory/schema |
|
|
117
|
-
| Canonical bundle identity |
|
|
118
|
-
| Same-app kernel lock |
|
|
119
|
-
| Automatic background app launch |
|
|
120
|
-
| Global focus watcher and final sample |
|
|
121
|
-
| Timeout/cancellation process-tree termination |
|
|
122
|
-
| Temporary broker-session cleanup |
|
|
123
|
-
| Codex token usage accounting |
|
|
124
|
-
| Content-safe private audit |
|
|
125
|
-
| Full-result spill files |
|
|
126
|
-
| Browser-host integration |
|
|
105
|
+
| Reviewed ChatGPT/Codex/client paths | official transport compatibility | current per-user installed-component contract plus exact legacy plugin layout; canonicalized and verified |
|
|
106
|
+
| Strict signatures and OpenAI Team ID | official component verification | retained to verify the selected signed transport components |
|
|
107
|
+
| Signed-parent/responsible-process chain | official transport requirement | retained through signed app-server |
|
|
108
|
+
| Private Sky socket/native-pipe access | unsupported/private route | prohibited |
|
|
109
|
+
| Nested Codex model and prompt | former compatibility layer | removed |
|
|
110
|
+
| Model selection and reasoning effort | former compatibility layer | removed; dummy unreachable provider prevents model transport |
|
|
111
|
+
| Responses websocket prewarm on empty thread | accidental app-server behavior | disabled with non-websocket dummy provider |
|
|
112
|
+
| Plugin/remote-control startup networking | accidental app-server behavior | corresponding features disabled |
|
|
113
|
+
| Model-written multi-step task plan | former compatibility layer | removed |
|
|
114
|
+
| Model result schema/summary | former compatibility layer | removed |
|
|
115
|
+
| Streamed model-event target/method validation | former compatibility layer | replaced by pre-dispatch typed call validation |
|
|
116
|
+
| Per-operation tool allowlists and call budgets | former wrapper policy | removed; one typed method per direct request |
|
|
117
|
+
| Task text, cleanup instructions, required-capabilities fields | former compatibility layer | removed |
|
|
118
|
+
| Dictionary-only special policy | former wrapper policy | removed |
|
|
119
|
+
| Wrapper app/intent allowlists in full mode | former wrapper policy | absent |
|
|
120
|
+
| Safe/full wrapper modes | former wrapper policy | removed; one durable no-permissions interface exposes all ten methods |
|
|
121
|
+
| Wrapper approval prompts/configuration | former wrapper policy | removed; no command, config, environment, or per-call selector remains |
|
|
122
|
+
| Official first-party app access | official Codex control | official Codex Full access auto-accepts normal empty-schema app approval elicitations; any elicitation app-server emits is forwarded unchanged |
|
|
123
|
+
| macOS TCC | official platform control | retained; never modified |
|
|
124
|
+
| Exact ten-tool inventory/schema | protocol compatibility check | retained and checked before each call |
|
|
125
|
+
| Canonical bundle identity | legacy wrapper behavior | retained for the current release contract; not an independent authorization boundary |
|
|
126
|
+
| Same-app kernel lock | legacy wrapper coordination | retained in one fixed per-user namespace shared across Pi/MCP state roots |
|
|
127
|
+
| Automatic background app launch | accidental wrapper behavior | removed; the official tool owns app behavior |
|
|
128
|
+
| Global focus watcher and final sample | legacy completion telemetry | retained for the current release contract; not a preventive sandbox |
|
|
129
|
+
| Timeout/cancellation process-tree termination | operational lifecycle | retained with strict enumeration, freeze, kill, stdio-close, and exit verification |
|
|
130
|
+
| Temporary broker-session cleanup | operational lifecycle | retained with isolated `CODEX_HOME`; Pi closes after the inspection-action pair, replacement inspection, or session shutdown |
|
|
131
|
+
| Codex token usage accounting | former compatibility layer | removed; no model turn exists |
|
|
132
|
+
| Content-safe private audit | legacy observability behavior | retained with direct-call fields; not an authorization mechanism |
|
|
133
|
+
| Full-result spill files | output hygiene | prohibited; truncation is in-memory only |
|
|
134
|
+
| Browser-host integration | out of scope | unchanged |
|
|
135
|
+
|
|
136
|
+
These roles explain the current code. They do not authorize new safeguards. Only propose hardening for a concrete, realistically reachable failure in the supported path.
|
|
127
137
|
|
|
128
138
|
## No-permissions and elicitation boundary
|
|
129
139
|
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
This changelog records user-visible changes from version 0.3.2 onwards.
|
|
4
|
+
|
|
5
|
+
## 0.3.4 - 2026-07-27
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Match native Computer Use focus behavior: already-frontmost targets, focus changes, and unavailable legacy focus telemetry no longer block or override official tool results. Focus observations remain available in metadata-only audit and response details.
|
|
10
|
+
|
|
11
|
+
## 0.3.3 - 2026-07-27
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Support the macOS 27 `lsappinfo` `bundleID` output so frontmost-app detection can proceed to official Computer Use dispatch. [Brad Hallett](https://github.com/bradhallett) contributed this fix in [PR #6](https://github.com/tmustier/codex-computer-use-mcp/pull/6).
|
|
16
|
+
|
|
17
|
+
### Documentation
|
|
18
|
+
|
|
19
|
+
- Clarify that this package is a thin transport adapter and distinguish official transport requirements from retained legacy wrapper behavior in [PR #12](https://github.com/tmustier/codex-computer-use-mcp/pull/12).
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Contributing
|
|
2
2
|
|
|
3
|
-
Contributions are welcome, especially compatibility fixes, direct-protocol tests,
|
|
3
|
+
Contributions are welcome, especially compatibility fixes, direct-protocol tests, realistic regression coverage, and clearer host diagnostics.
|
|
4
4
|
|
|
5
5
|
## Setup
|
|
6
6
|
|
|
@@ -20,12 +20,13 @@ Development and live acceptance require macOS and the official ChatGPT Computer
|
|
|
20
20
|
- Do not add a nested model, action planner, prompt, subagent, or model-written result summary to direct dispatch.
|
|
21
21
|
- Do not use private pipes/sockets, credential extraction, app injection, re-signing, sender impersonation, TCC automation, or automatic approval acceptance.
|
|
22
22
|
- Keep app-server in a credential-free isolated `CODEX_HOME` with only official Computer Use configured.
|
|
23
|
-
- Add a regression test for
|
|
23
|
+
- Add a regression test for each concrete protocol, compatibility, lifecycle, or current-behavior fix.
|
|
24
24
|
- Never log or persist arguments, typed values, screenshots, app-state/result content, elicitation contents, prompts, credentials, or tokens.
|
|
25
|
-
-
|
|
25
|
+
- Do not add wrapper-side permission policy, risk classification, allowlists, gates, or speculative defence-in-depth on top of official Codex and macOS controls.
|
|
26
|
+
- Treat current focus checks as legacy post-action completion telemetry, not preventive isolation or a precedent for further hardening.
|
|
26
27
|
- Document reviewed ChatGPT component paths, launcher contracts, and upstream schema/API assumptions.
|
|
27
28
|
- Include strict core/Pi type checks, tests, build, audit, package inspection, and real-app acceptance evidence.
|
|
28
|
-
-
|
|
29
|
+
- Review material transport or published-behavior changes at the exact head, and keep findings tied to realistic supported paths.
|
|
29
30
|
|
|
30
31
|
Repository/package renaming, merge, npm publication, and GitHub release require separate maintainer approval.
|
|
31
32
|
|
package/MIGRATION.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Migration and rollback
|
|
2
2
|
|
|
3
|
-
Version 0.2.0 was the breaking direct-tool architecture change from version 0.1.0. Version 0.3.0 added Pi progressive disclosure, version 0.3.1 followed ChatGPT's current per-user Computer Use component layout,
|
|
3
|
+
Version 0.2.0 was the breaking direct-tool architecture change from version 0.1.0. Version 0.3.0 added Pi progressive disclosure, version 0.3.1 followed ChatGPT's current per-user Computer Use component layout, version 0.3.2 restored one complete direct Pi surface with shared inspection-action session continuity, version 0.3.3 added macOS 27 compatibility, and version 0.3.4 aligns focus behavior with native Computer Use. Use the relevant section below.
|
|
4
4
|
|
|
5
5
|
## What changes
|
|
6
6
|
|
|
@@ -100,6 +100,23 @@ Version 0.3.2 activates all ten direct Pi tools at session start and retains one
|
|
|
100
100
|
|
|
101
101
|
The exact schemas, strict signature and OpenAI Team ID checks, canonical client and app resolution, Full access policy, zero-turn attestation, inventory validation, kernel lock, focus telemetry, process-tree cleanup, and content-safe audit remain mandatory.
|
|
102
102
|
|
|
103
|
+
## Upgrade from version 0.3.2 to 0.3.3
|
|
104
|
+
|
|
105
|
+
Version 0.3.3 accepts both the legacy `CFBundleIdentifier` key and the macOS 27 `bundleID` key from `lsappinfo`.
|
|
106
|
+
|
|
107
|
+
1. Verify that npm resolves `codex-computer-use-mcp@0.3.3` exactly, then install that exact package.
|
|
108
|
+
2. Start a fresh Pi process so it loads the updated extension code.
|
|
109
|
+
3. On an unlocked Mac, run `computer_use_get_app_state` against a benign background app and verify that the result succeeds without moving focus.
|
|
110
|
+
|
|
111
|
+
## Upgrade from version 0.3.3 to 0.3.4
|
|
112
|
+
|
|
113
|
+
Version 0.3.4 removes the legacy background-only focus gate. Calls now match native Computer Use when a target is already frontmost, changes focus, or focus telemetry is unavailable. Focus observations remain metadata-only telemetry. No configuration migration is required.
|
|
114
|
+
|
|
115
|
+
1. Verify that npm resolves `codex-computer-use-mcp@0.3.4` exactly, then install that exact package.
|
|
116
|
+
2. Start a fresh Pi process so it loads the updated extension code.
|
|
117
|
+
3. On an unlocked Mac, make a benign app frontmost, then run `computer_use_get_app_state` followed by `computer_use_press_key` with `ESC` against that same app.
|
|
118
|
+
4. Verify both calls succeed, `backgroundPreserved` records `false`, the pair uses one zero-turn ephemeral session, and cleanup completes.
|
|
119
|
+
|
|
103
120
|
## Rollback
|
|
104
121
|
|
|
105
122
|
1. Stop the current Pi process.
|
|
@@ -114,4 +131,4 @@ Direct state can be removed only after rollback evidence is captured and no proc
|
|
|
114
131
|
|
|
115
132
|
## Generic MCP gateway
|
|
116
133
|
|
|
117
|
-
If Pi uses `mcp.json`, retain `directTools: false`. Use the exact `0.3.
|
|
134
|
+
If Pi uses `mcp.json`, retain `directTools: false`. Use the exact `0.3.4` package shown in `integrations/pi/mcp.json.example`. During source acceptance, use a distinct temporary server name and source path, then remove it. The direct Pi adapter is the primary live path; do not leave the version 0.1 aggregate server active after the switch.
|
package/PROOF.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Direct architecture proof and acceptance record
|
|
2
2
|
|
|
3
|
-
This file records evidence for the 0.2 direct-tool branch. It
|
|
3
|
+
This file records evidence for the 0.2 direct-tool branch. It does not promise compatibility with future ChatGPT versions or authorize more wrapper safeguards. Historical proof for focus telemetry, locking, cleanup, and audit records released behavior. It does not give the wrapper an independent policy or security role.
|
|
4
4
|
|
|
5
5
|
## Supported direct path
|
|
6
6
|
|
|
@@ -66,7 +66,7 @@ Current branch tests cover:
|
|
|
66
66
|
- unrestricted read and mutation dispatch under the single no-permissions policy;
|
|
67
67
|
- absence of wrapper app/intent/action gates and permission prompts;
|
|
68
68
|
- canonical bundle-ID dispatch;
|
|
69
|
-
-
|
|
69
|
+
- native-compatible focus behavior for already-frontmost targets, focus changes, and unavailable legacy telemetry;
|
|
70
70
|
- official error preservation;
|
|
71
71
|
- private metadata-only audits with no arguments/results and truthful separate broker/lease cleanup evidence;
|
|
72
72
|
- secure audit-directory/file no-follow and mode checks;
|
|
@@ -80,6 +80,12 @@ Current branch tests cover:
|
|
|
80
80
|
- one retained broker/client session across `get_app_state` and the following action, with deterministic active-app lease continuity and verified close;
|
|
81
81
|
- Pi form, opaque OpenAI-form, URL, decline, and headless-cancel elicitation handling.
|
|
82
82
|
|
|
83
|
+
## Version 0.3.4 native focus compatibility
|
|
84
|
+
|
|
85
|
+
Before the change, a live installed-path call targeting frontmost TextEdit was rejected with `Target app is already frontmost; direct background-only dispatch was refused`; the official broker was never called. The same signed official path accepted a state read when hosted by native ChatGPT, confirming the rejection was wrapper-only.
|
|
86
|
+
|
|
87
|
+
After the change, a retained signed-client session targeted the app that was already frontmost and completed `get_app_state` followed by harmless `ESC`. Both audits recorded `outcome=ok`, `directCalls=1`, `modelTurnsStarted=0`, `ephemeralThread=true`, `backgroundPreserved=false`, and `appLeaseReleased=true`; cleanup was verified when the retained session closed after the action. No app-state text or screenshot was retained.
|
|
88
|
+
|
|
83
89
|
## Official Full access approval probe
|
|
84
90
|
|
|
85
91
|
A live differential used Chess (`com.apple.Chess`), which was absent from the signed service's persistent per-bundle approval file before and after both calls:
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Codex Computer Use MCP
|
|
2
2
|
|
|
3
|
-
Version 0.3.
|
|
3
|
+
Version 0.3.4 exposes the official signed macOS Computer Use capabilities as direct typed tools for Pi and MCP clients. The calling agent chooses every tool and argument itself.
|
|
4
4
|
|
|
5
5
|
The primary path has:
|
|
6
6
|
|
|
@@ -43,13 +43,13 @@ As the official contract specifies, Pi—not a nested planner—calls `computer_
|
|
|
43
43
|
|
|
44
44
|
The app-server runtime uses the official Full access combination: `approvalPolicy: "never"` and `sandbox: "danger-full-access"`. In the pinned Codex host, that maps to a disabled permission profile and automatically accepts empty-schema MCP approval elicitations. Normal Computer Use app-access checks therefore proceed without a per-app prompt, just as they do in Codex Full access. The bridge does not edit the service's persistent per-bundle approval file. If app-server emits an elicitation instead of resolving it under Full access, the bridge still forwards it faithfully to the invoking client; unsupported clients return `cancel`, never a fabricated `accept` or `decline`.
|
|
45
45
|
|
|
46
|
-
No-permissions
|
|
46
|
+
No-permissions leaves the official and transport requirements unchanged:
|
|
47
47
|
|
|
48
|
-
- macOS Screen Recording, Accessibility,
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
- focus telemetry,
|
|
48
|
+
- macOS Screen Recording, Accessibility, and TCC controls remain authoritative;
|
|
49
|
+
- the adapter still selects and verifies the official signed components required for the supported transport;
|
|
50
|
+
- the wrapper verifies compatibility with the upstream ten-tool contract.
|
|
51
|
+
|
|
52
|
+
The current release also retains behavior from the earlier background-computer-use wrapper. This includes canonical app resolution, per-user/per-app coordination, focus completion telemetry, process cleanup, and metadata-only audit. These provide compatibility, lifecycle management, and observability. They do not provide extra authorization or a sandbox. Do not use them as a foundation for more wrapper safeguards.
|
|
53
53
|
|
|
54
54
|
## Why the signed app-server is required
|
|
55
55
|
|
|
@@ -77,16 +77,16 @@ The direct bridge starts app-server with a new private `CODEX_HOME` containing n
|
|
|
77
77
|
|
|
78
78
|
### Locked-screen limitation
|
|
79
79
|
|
|
80
|
-
Version 0.3.
|
|
80
|
+
Version 0.3.4 supports direct local calls in an unlocked macOS session. It does not support window or accessibility actions after the Mac locks.
|
|
81
81
|
|
|
82
|
-
OpenAI's [locked Computer Use](https://developers.openai.com/codex/app/computer-use#use-computer-use-while-your-mac-is-locked) is limited to active, trusted ChatGPT turns started from a connected device. It does not authorize other apps or local processes to unlock the Mac. This package uses local zero-turn dispatch, so targeted calls can fail with official error `-10005` while the Mac is locked. Support for locked local use remains a follow-up and is not part of version 0.3.
|
|
82
|
+
OpenAI's [locked Computer Use](https://developers.openai.com/codex/app/computer-use#use-computer-use-while-your-mac-is-locked) is limited to active, trusted ChatGPT turns started from a connected device. It does not authorize other apps or local processes to unlock the Mac. This package uses local zero-turn dispatch, so targeted calls can fail with official error `-10005` while the Mac is locked. Support for locked local use remains a follow-up and is not part of version 0.3.4.
|
|
83
83
|
|
|
84
84
|
## Pi integration
|
|
85
85
|
|
|
86
86
|
Install the exact release from npm:
|
|
87
87
|
|
|
88
88
|
```bash
|
|
89
|
-
pi install npm:codex-computer-use-mcp@0.3.
|
|
89
|
+
pi install npm:codex-computer-use-mcp@0.3.4
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
To evaluate a source checkout instead:
|
|
@@ -131,9 +131,9 @@ For Pi's generic MCP gateway, keep `directTools: false` so this powerful surface
|
|
|
131
131
|
|
|
132
132
|
The generic MCP server exposes the same no-permissions behavior: official Codex Full access, no wrapper permission gate, and all ten methods. App-access approvals are resolved inside the official host. Any standard form or URL elicitation that app-server emits is forwarded as an MCP `elicitation/create` request. The upstream client response is returned unchanged; unsupported or headless clients cancel rather than fabricate a decision.
|
|
133
133
|
|
|
134
|
-
##
|
|
134
|
+
## Execution and privacy
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
For the current released implementation, each call:
|
|
137
137
|
|
|
138
138
|
1. validates typed arguments;
|
|
139
139
|
2. applies the single durable no-permissions policy with no mode or prompt branch;
|
|
@@ -148,7 +148,7 @@ Each call:
|
|
|
148
148
|
11. rejects any model-turn notification, including during teardown;
|
|
149
149
|
12. combines partial-preserving ancestry enumeration with private-working-directory ownership recovery, then freezes, terminates, and verifies the app-server plus separately grouped or reparented helpers; finally it removes temporary state, releases the lock, and writes a content-safe audit with separate broker/lease cleanup evidence.
|
|
150
150
|
|
|
151
|
-
Focus
|
|
151
|
+
Focus telemetry is legacy observational behavior from the earlier background-computer-use wrapper. It does not provide an official Codex access control or a preventive macOS sandbox. Matching native Computer Use, the wrapper permits calls when the target is already frontmost and does not convert a completed official call into an error when focus changes or telemetry is unavailable. `backgroundPreserved` records the observation without gating the result. Do not use this telemetry as a reason to add further defensive policy.
|
|
152
152
|
|
|
153
153
|
Tool results may contain visible target-app text or screenshots because that is the purpose of Computer Use. They return only to the invoking Pi/MCP client. Audits never retain arguments, typed values, screenshots, app-state payloads, result text, prompts, credentials, or tokens—only bounded metadata such as method, canonical/hashed app identity, byte counts, content types, outcome, focus, broker version, and zero-turn evidence.
|
|
154
154
|
|
|
@@ -172,7 +172,7 @@ npm pack --dry-run
|
|
|
172
172
|
|
|
173
173
|
Registry dependency tarballs are exact-pinned with integrity and the package includes `npm-shrinkwrap.json`.
|
|
174
174
|
|
|
175
|
-
See [`PROOF.md`](PROOF.md), [`SECURITY.md`](SECURITY.md), and [`CONTRIBUTING.md`](CONTRIBUTING.md).
|
|
175
|
+
See [`CHANGELOG.md`](CHANGELOG.md), [`PROOF.md`](PROOF.md), [`SECURITY.md`](SECURITY.md), and [`CONTRIBUTING.md`](CONTRIBUTING.md). Agent contributors must also follow [`AGENTS.md`](AGENTS.md). It records the maintainer's thin-adapter intent and review standard.
|
|
176
176
|
|
|
177
177
|
## License
|
|
178
178
|
|
package/SECURITY.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## Reporting a vulnerability
|
|
4
4
|
|
|
5
|
-
Do not open a public issue for a vulnerability
|
|
5
|
+
Do not open a public issue for a concrete vulnerability in the supported production path. This includes realistic paths to untrusted component execution, unauthorized wrapper dispatch, credential or result-content exposure, or materially false completion reporting.
|
|
6
6
|
|
|
7
|
-
Use GitHub private vulnerability reporting. Include the affected commit
|
|
7
|
+
Use GitHub private vulnerability reporting. Include the affected commit and version, a small non-sensitive reproduction, and the expected and observed behavior. Provide evidence that the path is realistically reachable. State whether an official action completed before failure. Speculative hardening ideas without a reachable material effect are not vulnerability reports.
|
|
8
8
|
|
|
9
9
|
Never include credentials, tokens, customer/private content, sensitive screenshots, raw app-state payloads, elicitation contents, or private audit files.
|
|
10
10
|
|
|
@@ -16,7 +16,15 @@ The API requires a loaded thread ID. The bridge creates an empty, pathless, ephe
|
|
|
16
16
|
|
|
17
17
|
This is direct tool dispatch—not model orchestration.
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## Authority and non-goals
|
|
20
|
+
|
|
21
|
+
This package is a thin adapter to official Codex Computer Use. Codex and macOS remain authoritative for tool behavior, app access, and platform permissions. The wrapper must not add permission policy, risk classification, app allowlists, action gates, content inspection, or speculative defence-in-depth.
|
|
22
|
+
|
|
23
|
+
The earlier background-computer-use wrapper provided canonical app resolution, same-app locking, focus completion telemetry, and metadata-only audit. The current release retains these legacy behaviors. They do not provide independent security or authorization boundaries. Do not expand them because a hypothetical safeguard is possible. A maintainer must explicitly approve their removal or material simplification because this changes the release contract.
|
|
24
|
+
|
|
25
|
+
## Current adapter invariants
|
|
26
|
+
|
|
27
|
+
These invariants describe the supported transport, zero-model-turn architecture, current released behavior, process lifecycle, and privacy contract. They are not a general security framework or a mandate to add safeguards.
|
|
20
28
|
|
|
21
29
|
1. Only the fixed app-bundled Codex path and reviewed official Computer Use layouts are allowed in production. The current client is resolved from the OS account home under `~/.codex/computer-use/`; `HOME`, `CODEX_HOME`, arbitrary paths, and symlinked layouts are not accepted. The former exact plugin-bundle layout is considered only when the current component is absent.
|
|
22
30
|
2. Both binaries pass strict code-signature verification and OpenAI Team ID `2DC432GLL2` checks before dispatch. A present current-layout client that fails verification never falls back.
|
|
@@ -24,9 +32,9 @@ This is direct tool dispatch—not model orchestration.
|
|
|
24
32
|
4. `no-permissions` is the only wrapper policy: all ten methods are exposed and no wrapper permission prompt is opened.
|
|
25
33
|
5. There is no config file, environment override, command, tool argument, per-call branch, or alternate safe/full route that an agent can select.
|
|
26
34
|
6. App-server uses the official Full access combination, `approvalPolicy: "never"` plus `sandbox: "danger-full-access"`. The pinned Codex host automatically accepts empty-schema MCP approval elicitations, so normal first-party app-access checks proceed without prompts. The wrapper does not synthesize this response or edit persistent per-app approvals. Any elicitation app-server emits is forwarded faithfully; an unavailable client cancels.
|
|
27
|
-
7.
|
|
28
|
-
8.
|
|
29
|
-
9.
|
|
35
|
+
7. As current legacy wrapper behavior, target selectors resolve to canonical installed bundle IDs before dispatch.
|
|
36
|
+
8. As current legacy wrapper coordination, same-app work is excluded across native Pi, generic MCP, and custom state roots with one fixed per-user kernel `lockf` lease namespace.
|
|
37
|
+
9. As legacy observational telemetry, target focus events, periodic samples, watcher health, queued ASN resolution, and final state are recorded without gating official dispatch or results. This is reporting, not a preventive OS sandbox or an official Codex access control.
|
|
30
38
|
10. One direct request emits one official `mcpServer/tool/call`; no model turn, subagent, shell, web, plugin, prompt, or reachable model transport is available.
|
|
31
39
|
11. App-server and helper share one private broker-session working directory. One-shot calls close it immediately; Pi retains it only across the required `get_app_state` and following action, then closes it after the action, before replacement inspection, or on session shutdown. Cleanup combines strict ancestry enumeration (preserving partial results) with working-directory ownership recovery, freezes processes to a stable set, kills every owned process, awaits stdio closure, and verifies exit. This still finds a helper reparented by an early app-server exit; enumeration/freeze/exit uncertainty is fatal.
|
|
32
40
|
12. Protocol JSONL is bounded before an unterminated line can exceed 8 MB in memory.
|
|
@@ -56,6 +64,6 @@ Computer Use returns the official app-state text and screenshots to the invoking
|
|
|
56
64
|
|
|
57
65
|
## Supported versions
|
|
58
66
|
|
|
59
|
-
Only the latest approved release is supported. Version 0.3.
|
|
67
|
+
Only the latest approved release is supported. Version 0.3.4 supports direct local calls in an unlocked macOS session. Targeted local calls while the Mac is locked are not supported.
|
|
60
68
|
|
|
61
69
|
App-server is experimental and bundle paths or schemas can change. Drift fails closed until reviewed.
|
package/dist/direct-broker.js
CHANGED
|
@@ -609,7 +609,7 @@ export async function createOfficialDirectToolSession(options = {}) {
|
|
|
609
609
|
proc.stdout.on("end", () => { if (stdoutBuffer.length > 0)
|
|
610
610
|
processProtocolLine(stdoutBuffer); stdoutBuffer = ""; });
|
|
611
611
|
await request("initialize", {
|
|
612
|
-
clientInfo: { name: "pi_direct_computer_use", title: "Pi Direct Computer Use", version: "0.3.
|
|
612
|
+
clientInfo: { name: "pi_direct_computer_use", title: "Pi Direct Computer Use", version: "0.3.3" },
|
|
613
613
|
capabilities: { mcpServerOpenaiFormElicitation: options.supportsOpenAiFormElicitation === true },
|
|
614
614
|
}, 15_000);
|
|
615
615
|
send({ method: "initialized" });
|
package/dist/direct-service.js
CHANGED
|
@@ -143,6 +143,7 @@ export async function executeDirectTool(raw, deps = {}) {
|
|
|
143
143
|
let frontBefore;
|
|
144
144
|
let targetBecameFrontmost = false;
|
|
145
145
|
let unrelatedFocusChanges = false;
|
|
146
|
+
let backgroundPreserved = null;
|
|
146
147
|
let broker;
|
|
147
148
|
let brokerFailure;
|
|
148
149
|
let brokerDispatchAttempted = false;
|
|
@@ -155,12 +156,14 @@ export async function executeDirectTool(raw, deps = {}) {
|
|
|
155
156
|
lock = await (deps.acquireLock ?? acquireAppLock)(globalAppLockRoot(), identity.leaseId, runId);
|
|
156
157
|
if (identity?.bundleId) {
|
|
157
158
|
frontBefore = (deps.frontmost ?? frontmostBundleId)();
|
|
158
|
-
if (
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
if (frontBefore?.toLowerCase() === identity.bundleId.toLowerCase())
|
|
160
|
+
targetBecameFrontmost = true;
|
|
161
|
+
try {
|
|
162
|
+
watcher = await (deps.watchFocus ?? watchTargetFrontmost)();
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
focusSamplingFailed = true;
|
|
162
166
|
}
|
|
163
|
-
watcher = await (deps.watchFocus ?? watchTargetFrontmost)();
|
|
164
167
|
const sample = async () => {
|
|
165
168
|
if (focusSample)
|
|
166
169
|
return focusSample;
|
|
@@ -170,7 +173,7 @@ export async function executeDirectTool(raw, deps = {}) {
|
|
|
170
173
|
return;
|
|
171
174
|
if (current.toLowerCase() === identity.bundleId.toLowerCase())
|
|
172
175
|
targetBecameFrontmost = true;
|
|
173
|
-
else if (current !== frontBefore)
|
|
176
|
+
else if (frontBefore && current !== frontBefore)
|
|
174
177
|
unrelatedFocusChanges = true;
|
|
175
178
|
})().finally(() => { focusSample = undefined; });
|
|
176
179
|
return focusSample;
|
|
@@ -255,12 +258,7 @@ export async function executeDirectTool(raw, deps = {}) {
|
|
|
255
258
|
else if (frontBefore && frontAfter !== frontBefore)
|
|
256
259
|
unrelatedFocusChanges = true;
|
|
257
260
|
}
|
|
258
|
-
|
|
259
|
-
if (identity && backgroundPreserved !== true && !thrown) {
|
|
260
|
-
outcome = "focus_violation";
|
|
261
|
-
thrown = new DirectPolicyError("Target focus changed or focus telemetry failed; the completed tool call is not trusted as background-safe");
|
|
262
|
-
response = undefined;
|
|
263
|
-
}
|
|
261
|
+
backgroundPreserved = identity ? !targetBecameFrontmost && !watcherFailed : null;
|
|
264
262
|
let releaseFailed = false;
|
|
265
263
|
try {
|
|
266
264
|
await lock?.release();
|
|
@@ -308,7 +306,7 @@ export async function executeDirectTool(raw, deps = {}) {
|
|
|
308
306
|
throw thrown;
|
|
309
307
|
if (!response)
|
|
310
308
|
throw new Error("Direct Computer Use ended without a result");
|
|
311
|
-
response.details.backgroundPreserved =
|
|
309
|
+
response.details.backgroundPreserved = backgroundPreserved;
|
|
312
310
|
response.details.unrelatedFocusChanges = unrelatedFocusChanges;
|
|
313
311
|
response.details.brokerCleanupVerified = brokerCleanupVerified;
|
|
314
312
|
return response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-service.js","sourceRoot":"","sources":["../src/direct-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"direct-service.js","sourceRoot":"","sources":["../src/direct-service.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -5,7 +5,7 @@ import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } f
|
|
|
5
5
|
import { executeDirectTool, getDirectStatus } from "./direct-service.js";
|
|
6
6
|
import { forwardOfficialElicitationToMcpClient } from "./mcp-elicitation.js";
|
|
7
7
|
import { EXPECTED_OFFICIAL_INPUT_SCHEMAS, isDirectMethod, OFFICIAL_METHODS, OFFICIAL_TOOL_METADATA, } from "./tools.js";
|
|
8
|
-
const version = "0.3.
|
|
8
|
+
const version = "0.3.3";
|
|
9
9
|
async function handleCli() {
|
|
10
10
|
const args = process.argv.slice(2);
|
|
11
11
|
if (args.length === 0)
|
package/dist/system.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse the bundle identifier from `lsappinfo info -only bundleID <asn>` output.
|
|
3
|
+
*
|
|
4
|
+
* Upstream API assumption: LaunchServices changed the emitted key across macOS
|
|
5
|
+
* releases. macOS <= 26 prints `"CFBundleIdentifier"="com.example"`; macOS 27+
|
|
6
|
+
* (Darwin 27) prints `bundleID="com.example"` and drops `CFBundleIdentifier`.
|
|
7
|
+
* Accept both spellings so retained focus telemetry survives the rename.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseLsappinfoBundleId(stdout: string): string | undefined;
|
|
1
10
|
export declare function frontmostApplicationToken(): string | undefined;
|
|
2
11
|
export declare function frontmostBundleId(): string | undefined;
|
|
3
12
|
export declare function frontmostBundleIdAsync(): Promise<string | undefined>;
|
package/dist/system.js
CHANGED
|
@@ -3,6 +3,17 @@ import { realpathSync } from "node:fs";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { promisify } from "node:util";
|
|
5
5
|
const execFileAsync = promisify(execFile);
|
|
6
|
+
/**
|
|
7
|
+
* Parse the bundle identifier from `lsappinfo info -only bundleID <asn>` output.
|
|
8
|
+
*
|
|
9
|
+
* Upstream API assumption: LaunchServices changed the emitted key across macOS
|
|
10
|
+
* releases. macOS <= 26 prints `"CFBundleIdentifier"="com.example"`; macOS 27+
|
|
11
|
+
* (Darwin 27) prints `bundleID="com.example"` and drops `CFBundleIdentifier`.
|
|
12
|
+
* Accept both spellings so retained focus telemetry survives the rename.
|
|
13
|
+
*/
|
|
14
|
+
export function parseLsappinfoBundleId(stdout) {
|
|
15
|
+
return stdout.match(/(?:"CFBundleIdentifier"|bundleID)="([^"]+)"/)?.[1];
|
|
16
|
+
}
|
|
6
17
|
export function frontmostApplicationToken() {
|
|
7
18
|
const front = spawnSync("/usr/bin/lsappinfo", ["front"], { encoding: "utf8", timeout: 3000 });
|
|
8
19
|
const asn = (front.stdout ?? "").trim();
|
|
@@ -18,8 +29,7 @@ export function frontmostBundleId() {
|
|
|
18
29
|
});
|
|
19
30
|
if (info.status !== 0)
|
|
20
31
|
return undefined;
|
|
21
|
-
|
|
22
|
-
return match?.[1];
|
|
32
|
+
return parseLsappinfoBundleId(info.stdout ?? "");
|
|
23
33
|
}
|
|
24
34
|
export async function frontmostBundleIdAsync() {
|
|
25
35
|
try {
|
|
@@ -31,7 +41,7 @@ export async function frontmostBundleIdAsync() {
|
|
|
31
41
|
encoding: "utf8",
|
|
32
42
|
timeout: 3000,
|
|
33
43
|
});
|
|
34
|
-
return info.stdout
|
|
44
|
+
return parseLsappinfoBundleId(info.stdout);
|
|
35
45
|
}
|
|
36
46
|
catch {
|
|
37
47
|
return undefined;
|
|
@@ -111,7 +121,7 @@ function bundleIdForAsn(asn, infoPath = "/usr/bin/lsappinfo") {
|
|
|
111
121
|
});
|
|
112
122
|
if (info.status !== 0)
|
|
113
123
|
return undefined;
|
|
114
|
-
return (info.stdout ?? "")
|
|
124
|
+
return parseLsappinfoBundleId(info.stdout ?? "");
|
|
115
125
|
}
|
|
116
126
|
export async function watchTargetFrontmost(listenerPath = "/usr/bin/lsappinfo", infoPath = "/usr/bin/lsappinfo") {
|
|
117
127
|
// Listen globally so a stopped/display-name target is covered before background launch and canonical resolution.
|
package/dist/system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../src/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,UAAU,yBAAyB;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,MAAM,GAAG,GAAG,yBAAyB,EAAE,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE;QAChF,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,IAAI;KACb,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../src/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,10 @@ CODEX_COMPUTER_USE_HOME="$(mktemp -d)" \
|
|
|
13
13
|
|
|
14
14
|
`-ne` prevents an installed 0.1 adapter from loading at the same time. This source workflow does not install or switch live Pi configuration.
|
|
15
15
|
|
|
16
|
-
For normal installation, use the exact version 0.3.
|
|
16
|
+
For normal installation, use the exact version 0.3.4 npm package:
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
pi install npm:codex-computer-use-mcp@0.3.
|
|
19
|
+
pi install npm:codex-computer-use-mcp@0.3.4
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Use the source workflow only when you need to test an exact reviewed commit. Follow the rollback procedure in `MIGRATION.md` when replacing version 0.1.
|
|
@@ -48,7 +48,7 @@ No-permissions is the only policy: all ten tools are registered and available th
|
|
|
48
48
|
|
|
49
49
|
## Generic MCP gateway
|
|
50
50
|
|
|
51
|
-
Merge `mcp.json.example` only for the exact 0.3.
|
|
51
|
+
Merge `mcp.json.example` only for the exact 0.3.4 package or after building an exact reviewed source commit. `directTools: false` is intentional; it keeps this powerful generic MCP surface behind Pi's gateway.
|
|
52
52
|
|
|
53
53
|
For a source checkout:
|
|
54
54
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-computer-use-mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "codex-computer-use-mcp",
|
|
9
|
-
"version": "0.3.
|
|
9
|
+
"version": "0.3.4",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"os": [
|
|
12
12
|
"darwin"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-computer-use-mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "Expose the official macOS Computer Use tools directly to Pi and MCP clients without a nested model.",
|
|
5
5
|
"author": "Thomas Mustier",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"integrations/pi",
|
|
32
32
|
"npm-shrinkwrap.json",
|
|
33
33
|
"README.md",
|
|
34
|
+
"CHANGELOG.md",
|
|
34
35
|
"PROOF.md",
|
|
35
36
|
"ARCHITECTURE.md",
|
|
36
37
|
"MIGRATION.md",
|