@wacando/agent 2.0.0-rc.1 → 2.0.1
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/THIRD-PARTY-NOTICES.txt +3 -3
- package/docs/AGENT_TOOLS.md +18 -0
- package/docs/RELEASE.md +33 -6
- package/package.json +5 -5
- package/packages/onboarding/version.mjs +1 -1
- package/packages/runtime/conversations.mjs +53 -4
- package/packages/runtime/recovery.mjs +49 -0
- package/plugins/wacando/.codex-plugin/plugin.json +1 -1
- package/plugins/wacando-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/wacando-cursor/.cursor-plugin/plugin.json +1 -1
- package/provenance.json +6 -6
- package/docs/evidence/issue-2/DOCUMENTARY_FOLLOWUP.md +0 -107
- package/docs/evidence/issue-2/QUALIFICATION_LINK_FOLLOWUP.md +0 -105
- package/docs/evidence/issue-2/REVIEW_FOLLOWUP.md +0 -93
- package/docs/evidence/issue-2/baseline.txt +0 -76
- package/docs/evidence/issue-2/check-mcp.txt +0 -14
- package/docs/evidence/issue-2/check.txt +0 -376
- package/docs/evidence/issue-2/codex-exec-help.json +0 -11
- package/docs/evidence/issue-2/codex-help.json +0 -10
- package/docs/evidence/issue-2/cursor-help.json +0 -10
- package/docs/evidence/issue-2/documentary-check.txt +0 -376
- package/docs/evidence/issue-2/documentary-validation.txt +0 -7
- package/docs/evidence/issue-2/local-build-api.txt +0 -203
- package/docs/evidence/issue-2/local-build-first.txt +0 -87
- package/docs/evidence/issue-2/local-build-policy-first.txt +0 -34
- package/docs/evidence/issue-2/local-build-policy.txt +0 -153
- package/docs/evidence/issue-2/local-build-web.txt +0 -219
- package/docs/evidence/issue-2/local-check-mcp.txt +0 -14
- package/docs/evidence/issue-2/local-check.txt +0 -376
- package/docs/evidence/issue-2/local-codex-probe.txt +0 -3
- package/docs/evidence/issue-2/local-codex-probe2.txt +0 -3
- package/docs/evidence/issue-2/local-codex.txt +0 -2
- package/docs/evidence/issue-2/local-cursor-probe.txt +0 -1
- package/docs/evidence/issue-2/local-cursor.txt +0 -2
- package/docs/evidence/issue-2/local-down.txt +0 -32
- package/docs/evidence/issue-2/local-health.txt +0 -1
- package/docs/evidence/issue-2/local-live.txt +0 -28
- package/docs/evidence/issue-2/local-seed.txt +0 -26
- package/docs/evidence/issue-2/local-status.txt +0 -6
- package/docs/evidence/issue-2/local-up.txt +0 -18
- package/docs/evidence/issue-2/prepare-local-stack.py +0 -67
- package/docs/evidence/issue-2/qualification-body-validation.txt +0 -9
- package/docs/evidence/issue-2/qualification-link-check.txt +0 -376
- package/docs/evidence/issue-2/qualification-link-validation.txt +0 -20
- package/docs/evidence/issue-2/review-check.txt +0 -376
- package/docs/evidence/issue-2/review-validation.txt +0 -218
- package/docs/evidence/issue-7/README.md +0 -21
- package/docs/evidence/issue-7/check-mcp.txt +0 -9
- package/docs/evidence/issue-7/check.txt +0 -381
- package/docs/evidence/issue-7/live.txt +0 -23
- package/docs/evidence/issue-8/README.md +0 -56
- package/docs/evidence/issue-8/check-mcp.txt +0 -9
- package/docs/evidence/issue-8/check.txt +0 -465
- package/docs/evidence/issue-8/e2e-desktop-observer-human-devices.txt +0 -30
- package/docs/evidence/issue-8/e2e-desktop-observer-main-without-109.txt +0 -17
- package/docs/evidence/issue-8/e2e-desktop-observer.txt +0 -26
- package/docs/evidence/issue-8/live-regression-human-devices.txt +0 -24
- package/docs/evidence/issue-8/live-regression.txt +0 -23
- package/docs/evidence/issue-8/review-fixes/README.md +0 -30
- package/docs/evidence/issue-8/review-fixes/check-mcp.txt +0 -9
- package/docs/evidence/issue-8/review-fixes/check.txt +0 -484
- package/docs/evidence/issue-8/review-fixes/e2e-desktop-observer.txt +0 -28
- package/docs/evidence/issue-8/review-fixes/onboarding-live.txt +0 -15
- package/docs/evidence/issue-8/review-fixes/session-replacement-live.txt +0 -13
- package/docs/evidence/npm-release/check-mcp.txt +0 -9
- package/docs/evidence/npm-release/check.txt +0 -484
- package/docs/evidence/npm-release/e2e-desktop-observer.txt +0 -28
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
TAP version 13
|
|
2
|
-
# Subtest: cursor shutdown waits for session cleanup and releases its own lock without changing keys
|
|
3
|
-
not ok 1 - cursor shutdown waits for session cleanup and releases its own lock without changing keys
|
|
4
|
-
---
|
|
5
|
-
duration_ms: 1658.574925
|
|
6
|
-
type: 'test'
|
|
7
|
-
location: '/tmp/wacando-issue2-before.56NFHw/tests/onboarding-shutdown.test.mjs:16:3'
|
|
8
|
-
failureType: 'testCodeFailure'
|
|
9
|
-
error: |-
|
|
10
|
-
MCP must finish protected session cleanup before forcing exit
|
|
11
|
-
|
|
12
|
-
0 !== null
|
|
13
|
-
|
|
14
|
-
code: 'ERR_ASSERTION'
|
|
15
|
-
name: 'AssertionError'
|
|
16
|
-
expected: ~
|
|
17
|
-
actual: 0
|
|
18
|
-
operator: 'strictEqual'
|
|
19
|
-
stack: |-
|
|
20
|
-
TestContext.<anonymous> (file:///tmp/wacando-issue2-before.56NFHw/tests/onboarding-shutdown.test.mjs:57:12)
|
|
21
|
-
async Test.run (node:internal/test_runner/test:1054:7)
|
|
22
|
-
async startSubtestAfterBootstrap (node:internal/test_runner/harness:296:3)
|
|
23
|
-
...
|
|
24
|
-
# Subtest: codex shutdown waits for session cleanup and releases its own lock without changing keys
|
|
25
|
-
not ok 2 - codex shutdown waits for session cleanup and releases its own lock without changing keys
|
|
26
|
-
---
|
|
27
|
-
duration_ms: 1553.895394
|
|
28
|
-
type: 'test'
|
|
29
|
-
location: '/tmp/wacando-issue2-before.56NFHw/tests/onboarding-shutdown.test.mjs:16:3'
|
|
30
|
-
failureType: 'testCodeFailure'
|
|
31
|
-
error: |-
|
|
32
|
-
MCP must finish protected session cleanup before forcing exit
|
|
33
|
-
|
|
34
|
-
0 !== null
|
|
35
|
-
|
|
36
|
-
code: 'ERR_ASSERTION'
|
|
37
|
-
name: 'AssertionError'
|
|
38
|
-
expected: ~
|
|
39
|
-
actual: 0
|
|
40
|
-
operator: 'strictEqual'
|
|
41
|
-
stack: |-
|
|
42
|
-
TestContext.<anonymous> (file:///tmp/wacando-issue2-before.56NFHw/tests/onboarding-shutdown.test.mjs:57:12)
|
|
43
|
-
async Test.run (node:internal/test_runner/test:1054:7)
|
|
44
|
-
async Test.processPendingSubtests (node:internal/test_runner/test:744:7)
|
|
45
|
-
...
|
|
46
|
-
# Subtest: MCP shutdown finishes saving an in-flight verification response before exiting
|
|
47
|
-
not ok 3 - MCP shutdown finishes saving an in-flight verification response before exiting
|
|
48
|
-
---
|
|
49
|
-
duration_ms: 1261.625698
|
|
50
|
-
type: 'test'
|
|
51
|
-
location: '/tmp/wacando-issue2-before.56NFHw/tests/onboarding-shutdown.test.mjs:68:1'
|
|
52
|
-
failureType: 'testCodeFailure'
|
|
53
|
-
error: |-
|
|
54
|
-
The active verification still needs to save its response
|
|
55
|
-
|
|
56
|
-
0 !== null
|
|
57
|
-
|
|
58
|
-
code: 'ERR_ASSERTION'
|
|
59
|
-
name: 'AssertionError'
|
|
60
|
-
expected: ~
|
|
61
|
-
actual: 0
|
|
62
|
-
operator: 'strictEqual'
|
|
63
|
-
stack: |-
|
|
64
|
-
TestContext.<anonymous> (file:///tmp/wacando-issue2-before.56NFHw/tests/onboarding-shutdown.test.mjs:90:10)
|
|
65
|
-
async Test.run (node:internal/test_runner/test:1054:7)
|
|
66
|
-
async Test.processPendingSubtests (node:internal/test_runner/test:744:7)
|
|
67
|
-
...
|
|
68
|
-
1..3
|
|
69
|
-
# tests 3
|
|
70
|
-
# suites 0
|
|
71
|
-
# pass 0
|
|
72
|
-
# fail 3
|
|
73
|
-
# cancelled 0
|
|
74
|
-
# skipped 0
|
|
75
|
-
# todo 0
|
|
76
|
-
# duration_ms 4531.867881
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> wacando-plugins@1.0.0 check:mcp
|
|
3
|
-
> npm run build && node scripts/check-mcp.mjs
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
> wacando-plugins@1.0.0 build
|
|
7
|
-
> node scripts/build.mjs
|
|
8
|
-
|
|
9
|
-
Built self-contained codex plugin: wacando@1.0.0
|
|
10
|
-
Built self-contained cursor plugin: wacando-cursor@1.0.0
|
|
11
|
-
Built self-contained claude plugin: wacando-claude@1.0.0
|
|
12
|
-
Official Inspector 2.7.0 passed: wacando
|
|
13
|
-
Official Inspector 2.7.0 passed: wacando-cursor
|
|
14
|
-
Official Inspector 2.7.0 passed: wacando-claude
|
|
@@ -1,376 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> wacando-plugins@1.0.0 check
|
|
3
|
-
> npm run build && npm run check:generated && npm test
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
> wacando-plugins@1.0.0 build
|
|
7
|
-
> node scripts/build.mjs
|
|
8
|
-
|
|
9
|
-
Built self-contained codex plugin: wacando@1.0.0
|
|
10
|
-
Built self-contained cursor plugin: wacando-cursor@1.0.0
|
|
11
|
-
Built self-contained claude plugin: wacando-claude@1.0.0
|
|
12
|
-
|
|
13
|
-
> wacando-plugins@1.0.0 check:generated
|
|
14
|
-
> node scripts/check-generated.mjs
|
|
15
|
-
|
|
16
|
-
Verified exact runtime: wacando
|
|
17
|
-
Verified exact runtime: wacando-cursor
|
|
18
|
-
Verified exact runtime: wacando-claude
|
|
19
|
-
|
|
20
|
-
> wacando-plugins@1.0.0 test
|
|
21
|
-
> node --test tests/*.test.mjs
|
|
22
|
-
|
|
23
|
-
TAP version 13
|
|
24
|
-
# Subtest: clean package builds remove deleted sources and preserve the old runtime on preparation failure
|
|
25
|
-
ok 1 - clean package builds remove deleted sources and preserve the old runtime on preparation failure
|
|
26
|
-
---
|
|
27
|
-
duration_ms: 1051.087639
|
|
28
|
-
type: 'test'
|
|
29
|
-
...
|
|
30
|
-
# Subtest: cursor checker requires an affirmative parsed payload even when the wrapper says success
|
|
31
|
-
ok 2 - cursor checker requires an affirmative parsed payload even when the wrapper says success
|
|
32
|
-
---
|
|
33
|
-
duration_ms: 2.664519
|
|
34
|
-
type: 'test'
|
|
35
|
-
...
|
|
36
|
-
# Subtest: cursor checker distinguishes clear revocation from a crash, lock error or false connection
|
|
37
|
-
ok 3 - cursor checker distinguishes clear revocation from a crash, lock error or false connection
|
|
38
|
-
---
|
|
39
|
-
duration_ms: 1.38043
|
|
40
|
-
type: 'test'
|
|
41
|
-
...
|
|
42
|
-
# Subtest: codex checker requires an affirmative parsed payload even when the wrapper says success
|
|
43
|
-
ok 4 - codex checker requires an affirmative parsed payload even when the wrapper says success
|
|
44
|
-
---
|
|
45
|
-
duration_ms: 0.489554
|
|
46
|
-
type: 'test'
|
|
47
|
-
...
|
|
48
|
-
# Subtest: codex checker distinguishes clear revocation from a crash, lock error or false connection
|
|
49
|
-
ok 5 - codex checker distinguishes clear revocation from a crash, lock error or false connection
|
|
50
|
-
---
|
|
51
|
-
duration_ms: 0.411003
|
|
52
|
-
type: 'test'
|
|
53
|
-
...
|
|
54
|
-
# Subtest: checker requires verified:true for installation readiness
|
|
55
|
-
ok 6 - checker requires verified:true for installation readiness
|
|
56
|
-
---
|
|
57
|
-
duration_ms: 0.405553
|
|
58
|
-
type: 'test'
|
|
59
|
-
...
|
|
60
|
-
# Subtest: malformed viewer request targets return 400 without losing MCP events
|
|
61
|
-
ok 7 - malformed viewer request targets return 400 without losing MCP events
|
|
62
|
-
---
|
|
63
|
-
duration_ms: 82.943859
|
|
64
|
-
type: 'test'
|
|
65
|
-
...
|
|
66
|
-
# Subtest: MCP shutdown on EOF closes SSE and unfinished HTTP headers
|
|
67
|
-
ok 8 - MCP shutdown on EOF closes SSE and unfinished HTTP headers
|
|
68
|
-
---
|
|
69
|
-
duration_ms: 315.184055
|
|
70
|
-
type: 'test'
|
|
71
|
-
...
|
|
72
|
-
# Subtest: MCP shutdown on SIGTERM closes SSE and unfinished HTTP headers
|
|
73
|
-
ok 9 - MCP shutdown on SIGTERM closes SSE and unfinished HTTP headers
|
|
74
|
-
---
|
|
75
|
-
duration_ms: 305.673835
|
|
76
|
-
type: 'test'
|
|
77
|
-
...
|
|
78
|
-
# Subtest: HTTP and SSE snapshots use bounded pages and preserve large Unicode events
|
|
79
|
-
ok 10 - HTTP and SSE snapshots use bounded pages and preserve large Unicode events
|
|
80
|
-
---
|
|
81
|
-
duration_ms: 61.905405
|
|
82
|
-
type: 'test'
|
|
83
|
-
...
|
|
84
|
-
# Subtest: SSE client and queue limits isolate slow readers
|
|
85
|
-
ok 11 - SSE client and queue limits isolate slow readers
|
|
86
|
-
---
|
|
87
|
-
duration_ms: 12.125679
|
|
88
|
-
type: 'test'
|
|
89
|
-
...
|
|
90
|
-
# Subtest: legacy negotiation requires valid initialization and the initialized notification
|
|
91
|
-
ok 12 - legacy negotiation requires valid initialization and the initialized notification
|
|
92
|
-
---
|
|
93
|
-
duration_ms: 62.283697
|
|
94
|
-
type: 'test'
|
|
95
|
-
...
|
|
96
|
-
# Subtest: JSON-RPC rejects invalid IDs and parameters without answering responses or notifications
|
|
97
|
-
ok 13 - JSON-RPC rejects invalid IDs and parameters without answering responses or notifications
|
|
98
|
-
---
|
|
99
|
-
duration_ms: 54.601141
|
|
100
|
-
type: 'test'
|
|
101
|
-
...
|
|
102
|
-
# Subtest: tools enforce schemas, preserve Unicode limits, and never claim observed visibility
|
|
103
|
-
ok 14 - tools enforce schemas, preserve Unicode limits, and never claim observed visibility
|
|
104
|
-
---
|
|
105
|
-
duration_ms: 66.77478
|
|
106
|
-
type: 'test'
|
|
107
|
-
...
|
|
108
|
-
# Subtest: event pages obey encoded byte limits and traverse without losing filtered records
|
|
109
|
-
ok 15 - event pages obey encoded byte limits and traverse without losing filtered records
|
|
110
|
-
---
|
|
111
|
-
duration_ms: 11.553055
|
|
112
|
-
type: 'test'
|
|
113
|
-
...
|
|
114
|
-
# Subtest: retention is bounded by bytes as well as event count and reports eviction
|
|
115
|
-
ok 16 - retention is bounded by bytes as well as event count and reports eviction
|
|
116
|
-
---
|
|
117
|
-
duration_ms: 1.935104
|
|
118
|
-
type: 'test'
|
|
119
|
-
...
|
|
120
|
-
# Subtest: stdio framing handles split UTF-8, CRLF and escaped newlines with strict byte bounds
|
|
121
|
-
ok 17 - stdio framing handles split UTF-8, CRLF and escaped newlines with strict byte bounds
|
|
122
|
-
---
|
|
123
|
-
duration_ms: 2.863391
|
|
124
|
-
type: 'test'
|
|
125
|
-
...
|
|
126
|
-
# Subtest: an oversized unfinished frame closes the MCP process promptly
|
|
127
|
-
ok 18 - an oversized unfinished frame closes the MCP process promptly
|
|
128
|
-
---
|
|
129
|
-
duration_ms: 54.294119
|
|
130
|
-
type: 'test'
|
|
131
|
-
...
|
|
132
|
-
# Subtest: SIGTERM exits within a deadline even when the host stops reading stdout
|
|
133
|
-
ok 19 - SIGTERM exits within a deadline even when the host stops reading stdout
|
|
134
|
-
---
|
|
135
|
-
duration_ms: 1107.18707
|
|
136
|
-
type: 'test'
|
|
137
|
-
...
|
|
138
|
-
# Subtest: stdio writes wait for readers and reject stalled or oversized output
|
|
139
|
-
ok 20 - stdio writes wait for readers and reject stalled or oversized output
|
|
140
|
-
---
|
|
141
|
-
duration_ms: 1004.277874
|
|
142
|
-
type: 'test'
|
|
143
|
-
...
|
|
144
|
-
# Subtest: rate limiting admits bursts, rejects excess calls and refills over time
|
|
145
|
-
ok 21 - rate limiting admits bursts, rejects excess calls and refills over time
|
|
146
|
-
---
|
|
147
|
-
duration_ms: 0.322933
|
|
148
|
-
type: 'test'
|
|
149
|
-
...
|
|
150
|
-
# Subtest: MCP tool floods receive actionable rate-limit errors
|
|
151
|
-
ok 22 - MCP tool floods receive actionable rate-limit errors
|
|
152
|
-
---
|
|
153
|
-
duration_ms: 63.699898
|
|
154
|
-
type: 'test'
|
|
155
|
-
...
|
|
156
|
-
# Subtest: live dev API: codex installed runtime verifies, enrolls, publishes OMEMO, restarts and stops on revocation
|
|
157
|
-
ok 23 - live dev API: codex installed runtime verifies, enrolls, publishes OMEMO, restarts and stops on revocation # SKIP
|
|
158
|
-
---
|
|
159
|
-
duration_ms: 0.656305
|
|
160
|
-
type: 'test'
|
|
161
|
-
...
|
|
162
|
-
# Subtest: live dev API: cursor installed runtime verifies, enrolls, publishes OMEMO, restarts and stops on revocation
|
|
163
|
-
ok 24 - live dev API: cursor installed runtime verifies, enrolls, publishes OMEMO, restarts and stops on revocation # SKIP
|
|
164
|
-
---
|
|
165
|
-
duration_ms: 0.101111
|
|
166
|
-
type: 'test'
|
|
167
|
-
...
|
|
168
|
-
# Subtest: live dev API: claude installed runtime verifies, enrolls, publishes OMEMO, restarts and stops on revocation
|
|
169
|
-
ok 25 - live dev API: claude installed runtime verifies, enrolls, publishes OMEMO, restarts and stops on revocation # SKIP
|
|
170
|
-
---
|
|
171
|
-
duration_ms: 0.090091
|
|
172
|
-
type: 'test'
|
|
173
|
-
...
|
|
174
|
-
# cursor: delayed shutdown released session lock; OMEMO snapshot unchanged
|
|
175
|
-
# Subtest: cursor shutdown waits for session cleanup and releases its own lock without changing keys
|
|
176
|
-
ok 26 - cursor shutdown waits for session cleanup and releases its own lock without changing keys
|
|
177
|
-
---
|
|
178
|
-
duration_ms: 2282.813723
|
|
179
|
-
type: 'test'
|
|
180
|
-
...
|
|
181
|
-
# codex: delayed shutdown released session lock; OMEMO snapshot unchanged
|
|
182
|
-
# Subtest: codex shutdown waits for session cleanup and releases its own lock without changing keys
|
|
183
|
-
ok 27 - codex shutdown waits for session cleanup and releases its own lock without changing keys
|
|
184
|
-
---
|
|
185
|
-
duration_ms: 1598.667168
|
|
186
|
-
type: 'test'
|
|
187
|
-
...
|
|
188
|
-
# Subtest: MCP shutdown finishes saving an in-flight verification response before exiting
|
|
189
|
-
ok 28 - MCP shutdown finishes saving an in-flight verification response before exiting
|
|
190
|
-
---
|
|
191
|
-
duration_ms: 1332.841137
|
|
192
|
-
type: 'test'
|
|
193
|
-
...
|
|
194
|
-
# Subtest: enrollment saves durable credential before XMPP, publishes before callback, and resumes without redemption
|
|
195
|
-
ok 29 - enrollment saves durable credential before XMPP, publishes before callback, and resumes without redemption
|
|
196
|
-
---
|
|
197
|
-
duration_ms: 1043.328531
|
|
198
|
-
type: 'test'
|
|
199
|
-
...
|
|
200
|
-
# Subtest: origins, host identities and installations cannot be substituted
|
|
201
|
-
ok 30 - origins, host identities and installations cannot be substituted
|
|
202
|
-
---
|
|
203
|
-
duration_ms: 208.854253
|
|
204
|
-
type: 'test'
|
|
205
|
-
...
|
|
206
|
-
# Subtest: expiration, replay, wrong installation and revocation return safe actions
|
|
207
|
-
ok 31 - expiration, replay, wrong installation and revocation return safe actions
|
|
208
|
-
---
|
|
209
|
-
duration_ms: 42.991905
|
|
210
|
-
type: 'test'
|
|
211
|
-
...
|
|
212
|
-
# Subtest: background heartbeats preserve the stream and retry outages with bounded backoff and safe diagnostics
|
|
213
|
-
ok 32 - background heartbeats preserve the stream and retry outages with bounded backoff and safe diagnostics
|
|
214
|
-
---
|
|
215
|
-
duration_ms: 114.009357
|
|
216
|
-
type: 'test'
|
|
217
|
-
...
|
|
218
|
-
# Subtest: failed initial connection recovers in background without another redemption and close cancels retries
|
|
219
|
-
ok 33 - failed initial connection recovers in background without another redemption and close cancels retries
|
|
220
|
-
---
|
|
221
|
-
duration_ms: 18.615887
|
|
222
|
-
type: 'test'
|
|
223
|
-
...
|
|
224
|
-
# Subtest: failed XMPP ping closes only the broken stream and obtains a fresh grant on automatic retry
|
|
225
|
-
ok 34 - failed XMPP ping closes only the broken stream and obtains a fresh grant on automatic retry
|
|
226
|
-
---
|
|
227
|
-
duration_ms: 19.640814
|
|
228
|
-
type: 'test'
|
|
229
|
-
...
|
|
230
|
-
# Subtest: shutdown waits for a background grant request and prevents a new session after closing
|
|
231
|
-
ok 35 - shutdown waits for a background grant request and prevents a new session after closing
|
|
232
|
-
---
|
|
233
|
-
duration_ms: 96.954952
|
|
234
|
-
type: 'test'
|
|
235
|
-
...
|
|
236
|
-
# Subtest: failed OMEMO registration preserves credential, suppresses connected callback, and resumes
|
|
237
|
-
ok 36 - failed OMEMO registration preserves credential, suppresses connected callback, and resumes
|
|
238
|
-
---
|
|
239
|
-
duration_ms: 32.641529
|
|
240
|
-
type: 'test'
|
|
241
|
-
...
|
|
242
|
-
# Subtest: lost redemption and failed persistence never claim success
|
|
243
|
-
ok 37 - lost redemption and failed persistence never claim success
|
|
244
|
-
---
|
|
245
|
-
duration_ms: 15.961747
|
|
246
|
-
type: 'test'
|
|
247
|
-
...
|
|
248
|
-
# Subtest: unsafe permissions, symlinks and concurrent writes fail closed
|
|
249
|
-
ok 38 - unsafe permissions, symlinks and concurrent writes fail closed
|
|
250
|
-
---
|
|
251
|
-
duration_ms: 2.011264
|
|
252
|
-
type: 'test'
|
|
253
|
-
...
|
|
254
|
-
# Subtest: HTTP policy rejects non-loopback cleartext, URL credentials and redirects
|
|
255
|
-
ok 39 - HTTP policy rejects non-loopback cleartext, URL credentials and redirects
|
|
256
|
-
---
|
|
257
|
-
duration_ms: 15.899446
|
|
258
|
-
type: 'test'
|
|
259
|
-
...
|
|
260
|
-
# Subtest: existing Wacando OMEMO identity survives reload; corrupt state is never regenerated
|
|
261
|
-
ok 40 - existing Wacando OMEMO identity survives reload; corrupt state is never regenerated
|
|
262
|
-
---
|
|
263
|
-
duration_ms: 403.376792
|
|
264
|
-
type: 'test'
|
|
265
|
-
...
|
|
266
|
-
# Subtest: installed MCP tools verify via HTTP and never expose response credentials
|
|
267
|
-
ok 41 - installed MCP tools verify via HTTP and never expose response credentials
|
|
268
|
-
---
|
|
269
|
-
duration_ms: 88.259078
|
|
270
|
-
type: 'test'
|
|
271
|
-
...
|
|
272
|
-
# Subtest: cursor packaged MCP rejects a locally revoked identity without crashing or reporting connection
|
|
273
|
-
ok 42 - cursor packaged MCP rejects a locally revoked identity without crashing or reporting connection
|
|
274
|
-
---
|
|
275
|
-
duration_ms: 71.019902
|
|
276
|
-
type: 'test'
|
|
277
|
-
...
|
|
278
|
-
# Subtest: codex packaged MCP rejects a locally revoked identity without crashing or reporting connection
|
|
279
|
-
ok 43 - codex packaged MCP rejects a locally revoked identity without crashing or reporting connection
|
|
280
|
-
---
|
|
281
|
-
duration_ms: 73.068047
|
|
282
|
-
type: 'test'
|
|
283
|
-
...
|
|
284
|
-
# Subtest: release version matches all manifests
|
|
285
|
-
ok 44 - release version matches all manifests
|
|
286
|
-
---
|
|
287
|
-
duration_ms: 6.070935
|
|
288
|
-
type: 'test'
|
|
289
|
-
...
|
|
290
|
-
# Subtest: local npm tarball contains standalone hosts and installer preserves existing installations
|
|
291
|
-
ok 45 - local npm tarball contains standalone hosts and installer preserves existing installations
|
|
292
|
-
---
|
|
293
|
-
duration_ms: 1231.05584
|
|
294
|
-
type: 'test'
|
|
295
|
-
...
|
|
296
|
-
# Subtest: codex package runs relocated without the repository and records its own provider
|
|
297
|
-
ok 46 - codex package runs relocated without the repository and records its own provider
|
|
298
|
-
---
|
|
299
|
-
duration_ms: 180.434215
|
|
300
|
-
type: 'test'
|
|
301
|
-
...
|
|
302
|
-
# Subtest: cursor package runs relocated without the repository and records its own provider
|
|
303
|
-
ok 47 - cursor package runs relocated without the repository and records its own provider
|
|
304
|
-
---
|
|
305
|
-
duration_ms: 261.805562
|
|
306
|
-
type: 'test'
|
|
307
|
-
...
|
|
308
|
-
# Subtest: claude package runs relocated without the repository and records its own provider
|
|
309
|
-
ok 48 - claude package runs relocated without the repository and records its own provider
|
|
310
|
-
---
|
|
311
|
-
duration_ms: 190.058795
|
|
312
|
-
type: 'test'
|
|
313
|
-
...
|
|
314
|
-
# Subtest: Claude, Cursor and Codex MCP processes have independent stores and ports
|
|
315
|
-
ok 49 - Claude, Cursor and Codex MCP processes have independent stores and ports
|
|
316
|
-
---
|
|
317
|
-
duration_ms: 70.82851
|
|
318
|
-
type: 'test'
|
|
319
|
-
...
|
|
320
|
-
# Subtest: Cursor installer copies a real package and refuses to overwrite an existing install
|
|
321
|
-
ok 50 - Cursor installer copies a real package and refuses to overwrite an existing install
|
|
322
|
-
---
|
|
323
|
-
duration_ms: 301.01033
|
|
324
|
-
type: 'test'
|
|
325
|
-
...
|
|
326
|
-
# Subtest: store validates messages, orders events and bounds retention
|
|
327
|
-
ok 51 - store validates messages, orders events and bounds retention
|
|
328
|
-
---
|
|
329
|
-
duration_ms: 1.795423
|
|
330
|
-
type: 'test'
|
|
331
|
-
...
|
|
332
|
-
# Subtest: loopback viewer serves assets and blocks cross-origin writes and traversal
|
|
333
|
-
ok 52 - loopback viewer serves assets and blocks cross-origin writes and traversal
|
|
334
|
-
---
|
|
335
|
-
duration_ms: 31.956835
|
|
336
|
-
type: 'test'
|
|
337
|
-
...
|
|
338
|
-
# Subtest: SSE delivers snapshot and live message, reconnect recovers snapshot
|
|
339
|
-
ok 53 - SSE delivers snapshot and live message, reconnect recovers snapshot
|
|
340
|
-
---
|
|
341
|
-
duration_ms: 258.948192
|
|
342
|
-
type: 'test'
|
|
343
|
-
...
|
|
344
|
-
# Subtest: MCP starts HTTP, records events and shuts down on stdin EOF
|
|
345
|
-
ok 54 - MCP starts HTTP, records events and shuts down on stdin EOF
|
|
346
|
-
---
|
|
347
|
-
duration_ms: 58.386089
|
|
348
|
-
type: 'test'
|
|
349
|
-
...
|
|
350
|
-
# Subtest: late history pages cannot duplicate live events, resurrect evictions or replace a new connection
|
|
351
|
-
ok 55 - late history pages cannot duplicate live events, resurrect evictions or replace a new connection
|
|
352
|
-
---
|
|
353
|
-
duration_ms: 1.604591
|
|
354
|
-
type: 'test'
|
|
355
|
-
...
|
|
356
|
-
# Subtest: history loading pins the snapshot sequence, follows cursors and respects cancellation
|
|
357
|
-
ok 56 - history loading pins the snapshot sequence, follows cursors and respects cancellation
|
|
358
|
-
---
|
|
359
|
-
duration_ms: 1.007087
|
|
360
|
-
type: 'test'
|
|
361
|
-
...
|
|
362
|
-
# Subtest: rate-limited history loading resumes from the same page instead of restarting the stream
|
|
363
|
-
ok 57 - rate-limited history loading resumes from the same page instead of restarting the stream
|
|
364
|
-
---
|
|
365
|
-
duration_ms: 1001.664905
|
|
366
|
-
type: 'test'
|
|
367
|
-
...
|
|
368
|
-
1..57
|
|
369
|
-
# tests 57
|
|
370
|
-
# suites 0
|
|
371
|
-
# pass 54
|
|
372
|
-
# fail 0
|
|
373
|
-
# cancelled 0
|
|
374
|
-
# skipped 3
|
|
375
|
-
# todo 0
|
|
376
|
-
# duration_ms 5282.140907
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"command": [
|
|
3
|
-
"timeout",
|
|
4
|
-
"20s",
|
|
5
|
-
"codex",
|
|
6
|
-
"exec",
|
|
7
|
-
"--help"
|
|
8
|
-
],
|
|
9
|
-
"exit_code": 0,
|
|
10
|
-
"combined_output": "WARNING: proceeding, even though we could not create PATH aliases: Read-only file system (os error 30)\nRun Codex non-interactively\n\nUsage: codex exec [OPTIONS] [PROMPT]\n codex exec [OPTIONS] <COMMAND> [ARGS]\n\nCommands:\n resume Resume a previous session by id or pick the most recent with --last\n fork Fork a previous session by id into a new session\n review Run a code review against the current repository\n help Print this message or the help of the given subcommand(s)\n\nArguments:\n [PROMPT]\n Initial instructions for the agent. If not provided as an argument (or if `-` is used),\n instructions are read from stdin. If stdin is piped and a prompt is also provided, stdin\n is appended as a `<stdin>` block\n\nOptions:\n -c, --config <key=value>\n Override a configuration value that would otherwise be loaded from `~/.codex/config.toml`.\n Use a dotted path (`foo.bar.baz`) to override nested values. The `value` portion is parsed\n as TOML. If it fails to parse as TOML, the raw string is used as a literal.\n \n Examples: - `-c model=\"o3\"` - `-c 'sandbox_permissions=[\"disk-full-read-access\"]'` - `-c\n shell_environment_policy.inherit=all`\n\n --enable <FEATURE>\n Enable a feature (repeatable). Equivalent to `-c features.<name>=true`\n\n --disable <FEATURE>\n Disable a feature (repeatable). Equivalent to `-c features.<name>=false`\n\n --strict-config\n Error out when config.toml contains fields that are not recognized by this version of\n Codex\n\n -i, --image <FILE>...\n Optional image(s) to attach to the initial prompt\n\n -m, --model <MODEL>\n Model the agent should use\n\n --oss\n Use open-source provider\n\n --local-provider <OSS_PROVIDER>\n Specify which local provider to use (lmstudio or ollama). If not specified with --oss,\n will use config default or show selection\n\n -p, --profile <CONFIG_PROFILE_V2>\n Layer $CODEX_HOME/<name>.config.toml on top of the base user config\n\n -s, --sandbox <SANDBOX_MODE>\n Select the sandbox policy to use when executing model-generated shell commands\n \n [possible values: read-only, workspace-write, danger-full-access]\n\n --approve-for-me\n Route approval requests through automatic review using the workspace-write sandbox\n\n --dangerously-bypass-approvals-and-sandbox\n Skip all confirmation prompts and execute commands without sandboxing. EXTREMELY\n DANGEROUS. Intended solely for running in environments that are externally sandboxed\n\n --dangerously-bypass-hook-trust\n Run enabled hooks without requiring persisted hook trust for this invocation. DANGEROUS.\n Intended only for automation that already vets hook sources\n\n -C, --cd <DIR>\n Tell the agent to use the specified directory as its working root\n\n --worktree\n Run the session in a new managed Git worktree\n\n --add-dir <DIR>\n Additional directories that should be writable alongside the primary workspace\n\n --thread-source <SOURCE>\n Source classification for newly created or forked threads\n\n --cyber-access-program <PROGRAM>\n Request an experimental Cyber access program for this turn (OpenAI provider only). Omit to\n use server defaults. Not supported with review; fork requires a prompt\n \n [possible values: standard, daybreak_blue, daybreak_red]\n\n --skip-git-repo-check\n Allow running Codex outside a Git repository\n\n --ephemeral\n Run without persisting session files to disk\n\n --ignore-user-config\n Do not load `$CODEX_HOME/config.toml`; auth still uses `CODEX_HOME`\n\n --ignore-rules\n Do not load user or project execpolicy `.rules` files\n\n --output-schema <FILE>\n Path to a JSON Schema file describing the model's final response shape\n\n --color <COLOR>\n Specifies color settings for use in the output\n \n [default: auto]\n [possible values: always, never, auto]\n\n --json\n Print events to stdout as JSONL\n\n -o, --output-last-message <FILE>\n Specifies file where the last message from the agent should be written\n\n -h, --help\n Print help (see a summary with '-h')\n\n -V, --version\n Print version\n"
|
|
11
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"command": [
|
|
3
|
-
"timeout",
|
|
4
|
-
"20s",
|
|
5
|
-
"codex",
|
|
6
|
-
"--help"
|
|
7
|
-
],
|
|
8
|
-
"exit_code": 0,
|
|
9
|
-
"combined_output": "WARNING: proceeding, even though we could not create PATH aliases: Read-only file system (os error 30)\nCodex CLI\n\nIf no subcommand is specified, options will be forwarded to the interactive CLI.\n\nUsage: codex [OPTIONS] [PROMPT]\n codex [OPTIONS] <COMMAND> [ARGS]\n\nCommands:\n agents Browse all agent sessions on the shared local app-server daemon\n exec Run Codex non-interactively [aliases: e]\n review Run a code review non-interactively\n login Manage login\n logout Remove stored authentication credentials\n mcp Manage external MCP servers for Codex\n plugin Manage Codex plugins\n app-server [experimental] Run the app server or related tooling\n remote-control [experimental] Manage the app-server daemon with remote control enabled\n completion Generate shell completion scripts\n update Update Codex to the latest version\n doctor Diagnose local Codex installation, config, auth, and runtime health\n sandbox Run commands within a Codex-provided sandbox\n debug Debugging tools\n apply Apply the latest diff produced by Codex agent as a `git apply` to your local\n working tree [aliases: a]\n resume Resume a previous interactive session (picker by default; use --last to continue\n the most recent)\n queue Queue a message for an existing session\n archive Archive a saved session by id or session name\n delete Permanently delete a saved session by id or session name\n migrate-rollouts Inspect or migrate legacy local sessions to paginated thread history\n unarchive Unarchive a saved session by id or session name\n fork Fork a previous interactive session (picker by default; use --last to fork the\n most recent)\n cloud [EXPERIMENTAL] Browse tasks from Codex Cloud and apply changes locally\n exec-server [EXPERIMENTAL] Run the standalone exec-server service\n features Inspect feature flags\n help Print this message or the help of the given subcommand(s)\n\nArguments:\n [PROMPT]\n Optional user prompt to start the session\n\nOptions:\n -c, --config <key=value>\n Override a configuration value that would otherwise be loaded from `~/.codex/config.toml`.\n Use a dotted path (`foo.bar.baz`) to override nested values. The `value` portion is parsed\n as TOML. If it fails to parse as TOML, the raw string is used as a literal.\n \n Examples: - `-c model=\"o3\"` - `-c 'sandbox_permissions=[\"disk-full-read-access\"]'` - `-c\n shell_environment_policy.inherit=all`\n\n --enable <FEATURE>\n Enable a feature (repeatable). Equivalent to `-c features.<name>=true`\n\n --disable <FEATURE>\n Disable a feature (repeatable). Equivalent to `-c features.<name>=false`\n\n --remote <ADDR>\n Connect the TUI to a remote app server endpoint.\n \n Accepted forms: `ws://host:port`, `wss://host:port`, `unix://`, or `unix://PATH`.\n\n --remote-auth-token-env <ENV_VAR>\n Name of the environment variable containing the bearer token to send to a remote app\n server websocket\n\n --strict-config\n Error out when config.toml contains fields that are not recognized by this version of\n Codex\n\n -i, --image <FILE>...\n Optional image(s) to attach to the initial prompt\n\n -m, --model <MODEL>\n Model the agent should use\n\n --oss\n Use open-source provider\n\n --local-provider <OSS_PROVIDER>\n Specify which local provider to use (lmstudio or ollama). If not specified with --oss,\n will use config default or show selection\n\n -p, --profile <CONFIG_PROFILE_V2>\n Layer $CODEX_HOME/<name>.config.toml on top of the base user config\n\n -s, --sandbox <SANDBOX_MODE>\n Select the sandbox policy to use when executing model-generated shell commands\n \n [possible values: read-only, workspace-write, danger-full-access]\n\n --approve-for-me\n Route approval requests through automatic review using the workspace-write sandbox\n\n --dangerously-bypass-approvals-and-sandbox\n Skip all confirmation prompts and execute commands without sandboxing. EXTREMELY\n DANGEROUS. Intended solely for running in environments that are externally sandboxed\n\n --dangerously-bypass-hook-trust\n Run enabled hooks without requiring persisted hook trust for this invocation. DANGEROUS.\n Intended only for automation that already vets hook sources\n\n -C, --cd <DIR>\n Tell the agent to use the specified directory as its working root\n\n --worktree\n Run the session in a new managed Git worktree\n\n --add-dir <DIR>\n Additional directories that should be writable alongside the primary workspace\n\n -a, --ask-for-approval <APPROVAL_POLICY>\n Configure when the model requires human approval before executing a command\n\n Possible values:\n - on-request: The model decides when to ask the user for approval\n - never: Never ask for user approval Execution failures are immediately returned to\n the model\n\n --search\n Enable live web search. When enabled, the native Responses `web_search` tool is available\n to the model (no per\u2011call approval)\n\n --no-alt-screen\n Disable alternate screen mode\n \n Runs the TUI in inline mode, preserving terminal scrollback history.\n\n --no-daemon\n Run without the shared background server, even if it is already running\n\n -h, --help\n Print help (see a summary with '-h')\n\n -V, --version\n Print version\n"
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"command": [
|
|
3
|
-
"timeout",
|
|
4
|
-
"20s",
|
|
5
|
-
"cursor-agent",
|
|
6
|
-
"--help"
|
|
7
|
-
],
|
|
8
|
-
"exit_code": 0,
|
|
9
|
-
"combined_output": "Usage: agent [options] [command] [prompt...]\n\nStart the Cursor Agent\n\nArguments:\n prompt Initial prompt for the agent\n\nOptions:\n -v, --version Output the version number\n --api-key <key> API key for authentication (can also use\n CURSOR_API_KEY env var)\n -H, --header <header> Add custom header to agent requests (format:\n 'Name: Value', can be used multiple times)\n -e, --endpoint <url> Target API endpoint URL (can also use\n CURSOR_API_ENDPOINT env var) (default:\n \"https://api2.cursor.sh\", env:\n CURSOR_API_ENDPOINT)\n -p, --print Print responses to console (for scripts or\n non-interactive use). Has access to all tools,\n including write and shell. (default: false)\n --output-format <format> Output format (only works with --print): text |\n json | stream-json (default: \"text\")\n --stream-partial-output Stream partial output as individual text deltas\n (only works with --print and stream-json format)\n (default: false)\n --mode <mode> Start in the given execution mode. plan:\n read-only/planning (analyze, propose plans, no\n edits). ask: Q&A style for explanations and\n questions (read-only). (choices: \"plan\", \"ask\")\n --plan Start in plan mode (shorthand for --mode=plan).\n (default: false)\n --resume [chatId] Select a session to resume (default: false)\n --continue Continue previous session (default: false)\n --model <model> Model to use (e.g., gpt-5, sonnet-4-thinking).\n Parameterized models accept quoted bracket\n overrides, e.g.\n 'claude-opus-4-8[context=1m,effort=high,fast=false]'\n --list-models List available models and exit (default: false)\n -f, --force Force allow commands unless explicitly denied\n (default: false)\n --yolo Alias for --force (Run Everything) (default:\n false)\n --auto-review Use Auto-review (Smart Auto): a server classifier\n auto-runs safe tool calls and prompts for the\n rest (default: false)\n --sandbox <mode> Explicitly enable or disable sandbox mode\n (overrides config) (choices: \"enabled\",\n \"disabled\")\n --approve-mcps Automatically approve all MCP servers (default:\n false)\n --trust Trust the current workspace without prompting\n (default: false)\n --workspace <path-or-name> Workspace directory or saved workspace name to\n use (defaults to current working directory)\n --add-dir <path> Add an additional workspace root directory (can\n be specified multiple times)\n --plugin-dir <path> Load a local plugin directory (can be specified\n multiple times)\n -w, --worktree [name] Start in an isolated git worktree at\n ~/.cursor/worktrees/<reponame>/<name>. If\n omitted, a name is generated.\n --worktree-base <branch> Branch or ref to base the new worktree on\n (default: current HEAD)\n --skip-worktree-setup Skip running worktree setup scripts from\n .cursor/worktrees.json (default: false)\n -h, --help Display help for command\n\nCommands:\n persist Start or manage a session that survives terminal\n disconnects\n install-shell-integration Install shell integration to ~/.zshrc\n uninstall-shell-integration Remove shell integration from ~/.zshrc\n login Authenticate with Cursor. Set NO_OPEN_BROWSER to\n disable browser opening.\n logout Sign out and clear stored authentication\n mcp Manage MCP servers\n plugin Manage plugins and plugin marketplaces\n worker [options] Run a self-hosted Cloud Agent worker that\n connects to Cursor and executes agent tool calls\n on this machine. Without --pool it is a personal\n My Machines worker (no Enterprise plan needed);\n with --pool it joins a team Self-Hosted Pool\n (Enterprise plan + service account API key).\n status|whoami [options] View authentication status\n models List available models for this account\n team View or switch the active team for this account\n bedrock Configure AWS Bedrock usage for CLI\n about [options] Display version, system, and account information\n update Update Cursor Agent to the latest version\n create-chat Create a new empty chat and return its ID\n generate-rule|rule Generate a new Cursor rule with interactive\n prompts\n agent [prompt...] Start the Cursor Agent\n ls Resume a chat session\n resume Resume the latest chat session\n help [command] Display help for command\n"
|
|
10
|
-
}
|