@ckanner/flywheel 0.31.0 → 0.32.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.
- package/CHANGELOG.md +122 -5
- package/CONTRIBUTING.md +19 -0
- package/LICENSE +21 -0
- package/README.en.md +4 -171
- package/README.md +152 -269
- package/README.zh-CN.md +116 -0
- package/bin/flywheel-claude-code-pro-worker.js +1 -1
- package/bin/flywheel-codex-pro-worker.js +1 -1
- package/bin/flywheel-dsh-worker.js +1 -1
- package/bin/flywheel.js +1 -1
- package/bin/runtime.js +1 -1
- package/docs/README.md +86 -0
- package/docs/README.zh-CN.md +64 -0
- package/docs/archive/README.md +13 -0
- package/docs/archive/codex-pro-adapter-handoff.md +197 -0
- package/docs/archive/design-v0.24.md +540 -0
- package/docs/design.md +812 -0
- package/docs/en/claude-code-pro.md +25 -16
- package/docs/en/configuration.md +405 -145
- package/docs/en/contributing.md +303 -0
- package/docs/en/flow-console.md +142 -24
- package/docs/en/getting-started.md +232 -126
- package/docs/en/investigation.md +263 -0
- package/docs/en/jev-shadow.md +5 -0
- package/docs/en/jev.md +240 -0
- package/docs/en/model-policy.md +154 -62
- package/docs/en/releasing.md +207 -0
- package/docs/en/session-evaluation.md +4 -2
- package/docs/en/session-recovery.md +88 -6
- package/docs/en/workflow.md +241 -114
- package/docs/evaluation/README.md +12 -0
- package/docs/evaluation/jev-historical-provisional.json +138 -0
- package/docs/evaluation/jev-historical-result-2026-11-10.json +174 -0
- package/docs/plans/2026-11-01-dsh-integration.md +67 -0
- package/docs/plans/2026-11-01-model-profiles-preflight.md +29 -0
- package/docs/plans/2026-11-01-npm-installation.md +19 -0
- package/docs/plans/2026-11-03-codex-pro-default.md +28 -0
- package/docs/plans/2026-11-06-adaptive-workflow.md +365 -0
- package/docs/plans/2026-11-07-session-lifecycle.en.md +424 -0
- package/docs/plans/2026-11-07-session-lifecycle.md +337 -0
- package/docs/plans/2026-11-08-flow-console.md +271 -0
- package/docs/plans/2026-11-10-jev-shadow.md +32 -0
- package/docs/plans/2026-11-10-task-discovery.md +17 -0
- package/docs/plans/2026-11-10-workbench-redesign.md +19 -0
- package/docs/plans/2026-11-12-feedback-driven-workflows.md +739 -0
- package/docs/plans/2026-11-12-unified-jev-decisions.md +89 -0
- package/docs/plans/2026-11-13-jev-execution-decisions.md +110 -0
- package/docs/plans/2026-11-13-p5-ready-queue-prewarm.md +178 -0
- package/docs/plans/README.md +25 -0
- package/docs/reviews/2026-08-24-v0.18-review-fixplan.md +265 -0
- package/docs/reviews/2026-09-12-pr4-pr5-review.md +70 -0
- package/docs/reviews/README.md +12 -0
- package/docs/validation/2026-11-01-npm-installation.md +105 -0
- package/docs/validation/2026-11-01-profiles-preflight.md +67 -0
- package/docs/validation/2026-11-01-results.md +114 -0
- package/docs/validation/2026-11-03-codex-pro-default.md +90 -0
- package/docs/validation/2026-11-04-dsh-native-view.md +85 -0
- package/docs/validation/2026-11-04-release-0.28.1.md +33 -0
- package/docs/validation/2026-11-04-release-0.28.2.md +35 -0
- package/docs/validation/2026-11-05-dsh-0.2.2-compatibility.md +26 -0
- package/docs/validation/2026-11-05-registry-smoke-recovery.md +26 -0
- package/docs/validation/2026-11-05-release-0.28.3.md +32 -0
- package/docs/validation/2026-11-05-subscription-model-access.md +60 -0
- package/docs/validation/2026-11-05-view-order.md +14 -0
- package/docs/validation/2026-11-07-adaptive-workflow.md +79 -0
- package/docs/validation/2026-11-07-claude-code-pro.md +144 -0
- package/docs/validation/2026-11-07-session-lifecycle.md +136 -0
- package/docs/validation/2026-11-08-session-p3-p4.md +99 -0
- package/docs/validation/2026-11-09-flow-console.md +81 -0
- package/docs/validation/2026-11-10-jev-shadow.md +50 -0
- package/docs/validation/2026-11-10-task-discovery.md +45 -0
- package/docs/validation/2026-11-10-workbench-redesign.md +54 -0
- package/docs/validation/2026-11-11-release-0.30.2.md +65 -0
- package/docs/validation/2026-11-11-release-0.31.0.md +46 -0
- package/docs/validation/2026-11-12-dsh-0.2.2-rc.2.md +58 -0
- package/docs/validation/2026-11-12-feedback-driven-workflows.md +187 -0
- package/docs/validation/2026-11-12-release-0.31.1.md +58 -0
- package/docs/validation/2026-11-12-session-console-ux.md +46 -0
- package/docs/validation/2026-11-12-unified-jev-decisions.md +93 -0
- package/docs/validation/2026-11-13-dsh-settings-controls.md +104 -0
- package/docs/validation/2026-11-13-jev-execution-decisions.md +140 -0
- package/docs/validation/2026-11-13-p5-ready-queue-prewarm.md +138 -0
- package/docs/validation/2026-11-13-p5-review-closure.md +114 -0
- package/docs/validation/2026-11-13-p5-tracked-runtime-fixes.md +108 -0
- package/docs/validation/2026-11-13-prewarm-receipts-and-expiry-tests.md +92 -0
- package/docs/validation/2026-11-13-workspace-redesign.md +66 -0
- package/docs/validation/README.md +51 -0
- package/docs/validation/evidence/2026-11-08-session-p3-p4.json +5430 -0
- package/docs/validation/evidence/2026-11-13-p5-npm-candidate.json +54 -0
- package/docs/validation/evidence/claude-node-bridges.txt +118 -0
- package/docs/validation/evidence/claude-npm-build.txt +15 -0
- package/docs/validation/evidence/claude-npm-candidate.json +54 -0
- package/docs/validation/evidence/claude-npm-install.txt +21 -0
- package/docs/validation/evidence/claude-npm-tests.txt +145 -0
- package/docs/validation/evidence/claude-plugin-tests.txt +205 -0
- package/docs/validation/evidence/claude-quality-gate.txt +29 -0
- package/docs/validation/evidence/claude-race.txt +7 -0
- package/docs/validation/evidence/codex-pro-070-probes.txt +4 -0
- package/docs/validation/evidence/dsh-bridge.txt +4 -0
- package/docs/validation/evidence/dsh-native-view-bridge-tests.txt +1 -0
- package/docs/validation/evidence/dsh-native-view-build.txt +15 -0
- package/docs/validation/evidence/dsh-native-view-candidate.json +54 -0
- package/docs/validation/evidence/dsh-native-view-inspect.txt +27 -0
- package/docs/validation/evidence/dsh-native-view-install-tests.txt +19 -0
- package/docs/validation/evidence/dsh-native-view-npm-tests.txt +143 -0
- package/docs/validation/evidence/dsh-native-view-plugin-tests.txt +99 -0
- package/docs/validation/evidence/dsh-native-view-quality-gate.txt +29 -0
- package/docs/validation/evidence/dsh-plugin-tests.txt +48 -0
- package/docs/validation/evidence/function-coverage.txt +378 -0
- package/docs/validation/evidence/npm-build.txt +13 -0
- package/docs/validation/evidence/npm-contract-tests.txt +65 -0
- package/docs/validation/evidence/npm-dsh-bridge.txt +18 -0
- package/docs/validation/evidence/npm-dsh-plugin-tests.txt +62 -0
- package/docs/validation/evidence/npm-function-coverage.txt +420 -0
- package/docs/validation/evidence/npm-install-tests.txt +20 -0
- package/docs/validation/evidence/npm-quality-gate.txt +29 -0
- package/docs/validation/evidence/npm-race.txt +7 -0
- package/docs/validation/evidence/pr-dsh-bridge.txt +4 -0
- package/docs/validation/evidence/pr-dsh-plugin-tests.txt +48 -0
- package/docs/validation/evidence/pr-function-coverage.txt +379 -0
- package/docs/validation/evidence/pr-quality-gate.txt +28 -0
- package/docs/validation/evidence/pr-race.txt +6 -0
- package/docs/validation/evidence/profiles-control-smoke.json +1 -0
- package/docs/validation/evidence/profiles-dsh-bridge.txt +18 -0
- package/docs/validation/evidence/profiles-dsh-plugin-tests.txt +59 -0
- package/docs/validation/evidence/profiles-function-coverage.txt +411 -0
- package/docs/validation/evidence/profiles-quality-gate.txt +29 -0
- package/docs/validation/evidence/profiles-race.txt +7 -0
- package/docs/validation/evidence/quality-gate.txt +28 -0
- package/docs/validation/evidence/race.txt +6 -0
- package/docs/validation/evidence/watchdog-startup-after.txt +2 -0
- package/docs/validation/evidence/watchdog-startup-before.txt +6 -0
- package/docs/validation/evidence/watchdog-startup-quality-gate.txt +29 -0
- package/docs/validation/evidence/watchdog-startup-race.txt +7 -0
- package/docs/{claude-code-pro.md → zh-CN/claude-code-pro.md} +23 -17
- package/docs/{configuration.md → zh-CN/configuration.md} +397 -142
- package/docs/zh-CN/contributing.md +240 -0
- package/docs/zh-CN/flow-console.md +216 -0
- package/docs/zh-CN/getting-started.md +352 -0
- package/docs/zh-CN/investigation.md +213 -0
- package/docs/zh-CN/jev-shadow.md +5 -0
- package/docs/zh-CN/jev.md +192 -0
- package/docs/zh-CN/model-policy.md +128 -0
- package/docs/zh-CN/releasing.md +120 -0
- package/docs/{session-evaluation.md → zh-CN/session-evaluation.md} +4 -2
- package/docs/{session-recovery.md → zh-CN/session-recovery.md} +75 -12
- package/docs/zh-CN/workflow.md +284 -0
- package/npm/install.js +1 -1
- package/package.json +12 -25
- package/docs/flow-console.md +0 -122
- package/docs/getting-started.md +0 -418
- package/docs/model-policy.md +0 -65
- package/docs/workflow.md +0 -314
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format_version": 1,
|
|
3
|
+
"version": "0.31.1",
|
|
4
|
+
"source": {
|
|
5
|
+
"commit": "c445393c4f7238677146028b89efe520253f8318",
|
|
6
|
+
"tree": "9939179984458686b4d733d8b68ae7422f3ee9ed",
|
|
7
|
+
"dirty": true,
|
|
8
|
+
"snapshot_sha256": "ff80895639a09f0e6310948d9e6530c51c1bae7a2784ee16eb55ac0ac2522496"
|
|
9
|
+
},
|
|
10
|
+
"packages": [
|
|
11
|
+
{
|
|
12
|
+
"name": "@ckanner/flywheel-darwin-arm64",
|
|
13
|
+
"version": "0.31.1",
|
|
14
|
+
"filename": "ckanner-flywheel-darwin-arm64-0.31.1.tgz",
|
|
15
|
+
"bytes": 4309758,
|
|
16
|
+
"integrity": "sha512-IqTN27gpBhHa6iLaejFni1PABIpu7jDbzt1kRnpKKKbOstImceSxBvVzXNRNtJxOOq2ZQSZ+1/ZZ5K2HKE4iEw=="
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "@ckanner/flywheel-darwin-amd64",
|
|
20
|
+
"version": "0.31.1",
|
|
21
|
+
"filename": "ckanner-flywheel-darwin-amd64-0.31.1.tgz",
|
|
22
|
+
"bytes": 4653825,
|
|
23
|
+
"integrity": "sha512-TzrRLn3HbkZhpyvx9F1aHDXVMZL/+A6RLxOkmPuLmqKzyoms54gEoQf3gGzmn0kgKIHqgw3Ez0TlpCg1Pgez8g=="
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "@ckanner/flywheel-linux-arm64",
|
|
27
|
+
"version": "0.31.1",
|
|
28
|
+
"filename": "ckanner-flywheel-linux-arm64-0.31.1.tgz",
|
|
29
|
+
"bytes": 4166099,
|
|
30
|
+
"integrity": "sha512-3nblFbtZCxSkRlB4/tMxAUcSyi0+6MLyya8JsPsL4z+k0zbT/FFLPT6+Nv1eDgx2jzTzMfY2LE/5loq5Xdv5Gg=="
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "@ckanner/flywheel-linux-amd64",
|
|
34
|
+
"version": "0.31.1",
|
|
35
|
+
"filename": "ckanner-flywheel-linux-amd64-0.31.1.tgz",
|
|
36
|
+
"bytes": 4590120,
|
|
37
|
+
"integrity": "sha512-/hXKuLOxwLtsfvP3FzGFaS85ZzSenrjWWaszH9k3QZc1Oh1Rq855Bvbif5HzUmvg/o0wRyUX+Rf8TM4J7BVWSQ=="
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "@ckanner/dsh-plugin-flywheel",
|
|
41
|
+
"version": "0.31.1",
|
|
42
|
+
"filename": "ckanner-dsh-plugin-flywheel-0.31.1.tgz",
|
|
43
|
+
"bytes": 310216,
|
|
44
|
+
"integrity": "sha512-fbTb1Wtfa48aGTB0dRr1a+2/LG4/jKur9aGlLNgeNXBy6zBvW9XEgF3C2oc/X32kiOrL3xdsfAGCpQSVNAo3Jg=="
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "@ckanner/flywheel",
|
|
48
|
+
"version": "0.31.1",
|
|
49
|
+
"filename": "ckanner-flywheel-0.31.1.tgz",
|
|
50
|
+
"bytes": 546889,
|
|
51
|
+
"integrity": "sha512-yawn/WQUWYpe8xgqRZPRiO6rLX4dO7Bd4VuSGk5wSdsV+kOsNgF3JaAzk4hzHYeNJX6GzcJAsJ+/hhxyKNcMkA=="
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge
|
|
2
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/fresh_calls_keep_native_permission_and_cost_semantics
|
|
3
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/scoped_history_resumes_through_a_new_process_with_per-call_usage
|
|
4
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/unknown-usage
|
|
5
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/partial-usage
|
|
6
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/wrong-model
|
|
7
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/wrong-cwd
|
|
8
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/wrong-permission
|
|
9
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/wrong-session
|
|
10
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/missing-result
|
|
11
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/duplicate-result
|
|
12
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/malformed-after-terminal
|
|
13
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/abnormal-exit
|
|
14
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/missing_native_binary_proves_no_dispatch_and_preserves_requested_history
|
|
15
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/cancel_drains_the_real_native_process
|
|
16
|
+
=== RUN TestClaudeCodeProNodeWorkerOfflineBridge/timeout_drains_the_real_native_process
|
|
17
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge (4.95s)
|
|
18
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/fresh_calls_keep_native_permission_and_cost_semantics (0.25s)
|
|
19
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/scoped_history_resumes_through_a_new_process_with_per-call_usage (0.73s)
|
|
20
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/unknown-usage (0.21s)
|
|
21
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/partial-usage (0.22s)
|
|
22
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/wrong-model (0.19s)
|
|
23
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/wrong-cwd (0.20s)
|
|
24
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/wrong-permission (0.20s)
|
|
25
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/wrong-session (0.22s)
|
|
26
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/missing-result (0.22s)
|
|
27
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/duplicate-result (0.18s)
|
|
28
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/malformed-after-terminal (0.21s)
|
|
29
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/abnormal-exit (0.17s)
|
|
30
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/missing_native_binary_proves_no_dispatch_and_preserves_requested_history (0.22s)
|
|
31
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/cancel_drains_the_real_native_process (0.19s)
|
|
32
|
+
--- PASS: TestClaudeCodeProNodeWorkerOfflineBridge/timeout_drains_the_real_native_process (1.54s)
|
|
33
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge
|
|
34
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/scoped_history_crosses_processes_with_independent_invocation_and_run_delta
|
|
35
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/full-access_public_machine_mapping
|
|
36
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/ok
|
|
37
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/unknown-usage
|
|
38
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/partial-usage
|
|
39
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/wrong-model
|
|
40
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/wrong-cwd
|
|
41
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/wrong-approval
|
|
42
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/wrong-sandbox
|
|
43
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/broad-policy
|
|
44
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/malformed
|
|
45
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/output-limit
|
|
46
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/read-only
|
|
47
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/timeout/initialize-hang
|
|
48
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/timeout/hang
|
|
49
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/caller_cancellation_awaits_real_guardian
|
|
50
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/worker_SIGKILL_leaves_cleanup_unknown_until_independent_confirmation
|
|
51
|
+
=== RUN TestCodexProNodeWorkerOfflineBridge/Go_SIGKILL_closes_lifetime_pipe_and_stops_owned_descendants
|
|
52
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge (14.93s)
|
|
53
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/scoped_history_crosses_processes_with_independent_invocation_and_run_delta (0.82s)
|
|
54
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/full-access_public_machine_mapping (0.22s)
|
|
55
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/ok (0.23s)
|
|
56
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/unknown-usage (0.19s)
|
|
57
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/partial-usage (0.19s)
|
|
58
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/wrong-model (0.18s)
|
|
59
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/wrong-cwd (0.18s)
|
|
60
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/wrong-approval (0.19s)
|
|
61
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/wrong-sandbox (0.19s)
|
|
62
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/broad-policy (0.20s)
|
|
63
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/malformed (5.20s)
|
|
64
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/output-limit (1.20s)
|
|
65
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/read-only (0.18s)
|
|
66
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/timeout/initialize-hang (1.07s)
|
|
67
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/timeout/hang (1.08s)
|
|
68
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/caller_cancellation_awaits_real_guardian (0.19s)
|
|
69
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/worker_SIGKILL_leaves_cleanup_unknown_until_independent_confirmation (3.15s)
|
|
70
|
+
--- PASS: TestCodexProNodeWorkerOfflineBridge/Go_SIGKILL_closes_lifetime_pipe_and_stops_owned_descendants (0.28s)
|
|
71
|
+
=== RUN TestDSHNodeWorkerOfflineBridge
|
|
72
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/scoped_persisted_public_SDK_history
|
|
73
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-sign-in-required
|
|
74
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-signed-out
|
|
75
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-code-in-rpc-message
|
|
76
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-quota-incomplete-tail
|
|
77
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-token-invalid-incomplete-tail
|
|
78
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/shutdown-incomplete-tail
|
|
79
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-token-invalid-corrupt-tail-unclean-exit
|
|
80
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-token-invalid
|
|
81
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-quota
|
|
82
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-quota-corrupt-tail
|
|
83
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-token-invalid-corrupt-tail
|
|
84
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/shutdown-corrupt-tail
|
|
85
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/account-quota-incomplete-tail-unclean-exit
|
|
86
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/full_access_execution_and_no-inference_probe
|
|
87
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/explicit_provider_differs_from_account_channel
|
|
88
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/doctor/ok
|
|
89
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/doctor/missing-policy
|
|
90
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/doctor/wrong-policy
|
|
91
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/doctor/wrong-cwd
|
|
92
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/doctor/malformed
|
|
93
|
+
=== RUN TestDSHNodeWorkerOfflineBridge/doctor/forced-shutdown
|
|
94
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge (4.84s)
|
|
95
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/scoped_persisted_public_SDK_history (1.79s)
|
|
96
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-sign-in-required (0.09s)
|
|
97
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-signed-out (0.10s)
|
|
98
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-code-in-rpc-message (0.11s)
|
|
99
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-quota-incomplete-tail (0.11s)
|
|
100
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-token-invalid-incomplete-tail (0.10s)
|
|
101
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/shutdown-incomplete-tail (0.11s)
|
|
102
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-token-invalid-corrupt-tail-unclean-exit (0.09s)
|
|
103
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-token-invalid (0.10s)
|
|
104
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-quota (0.10s)
|
|
105
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-quota-corrupt-tail (0.09s)
|
|
106
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-token-invalid-corrupt-tail (0.12s)
|
|
107
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/shutdown-corrupt-tail (0.11s)
|
|
108
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/account-quota-incomplete-tail-unclean-exit (0.11s)
|
|
109
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/full_access_execution_and_no-inference_probe (0.20s)
|
|
110
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/explicit_provider_differs_from_account_channel (0.10s)
|
|
111
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/doctor/ok (0.10s)
|
|
112
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/doctor/missing-policy (0.11s)
|
|
113
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/doctor/wrong-policy (0.11s)
|
|
114
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/doctor/wrong-cwd (0.10s)
|
|
115
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/doctor/malformed (0.12s)
|
|
116
|
+
--- PASS: TestDSHNodeWorkerOfflineBridge/doctor/forced-shutdown (0.76s)
|
|
117
|
+
PASS
|
|
118
|
+
ok github.com/ckanner/flywheel/internal/drivers 24.734s
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
2
|
+
npm notice run @ckanner/flywheel@0.28.5 build:npm
|
|
3
|
+
npm notice run bash scripts/build-npm.sh 0.28.5 dist-npm
|
|
4
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
5
|
+
npm warn deprecated whatwg-encoding@3.1.1: Use @exodus/bytes instead for a more spec-conformant and faster implementation
|
|
6
|
+
|
|
7
|
+
added 188 packages in 5s
|
|
8
|
+
Built host plugin, native Conversation View, DSH SDK, Codex Pro and Claude Code Pro workers.
|
|
9
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
10
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
11
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
12
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
13
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
14
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
15
|
+
Built 6 verified npm packages for 0.28.5 at /workspace/scratch/352ebc0c2cb3/flywheel/dist-npm
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format_version": 1,
|
|
3
|
+
"version": "0.28.5",
|
|
4
|
+
"source": {
|
|
5
|
+
"commit": "2e2c20bfbfe68981259bcbbd32eb3f2941d9d5a1",
|
|
6
|
+
"tree": "f71e267e3a774867fd0b2d6fdac92982ba2f46a9",
|
|
7
|
+
"dirty": false,
|
|
8
|
+
"snapshot_sha256": "57a9c5afdfc129bc9a88abe79a15a47c3e4a3163c3c0af5ee849a1efc63b03cd"
|
|
9
|
+
},
|
|
10
|
+
"packages": [
|
|
11
|
+
{
|
|
12
|
+
"name": "@ckanner/flywheel-darwin-arm64",
|
|
13
|
+
"version": "0.28.5",
|
|
14
|
+
"filename": "ckanner-flywheel-darwin-arm64-0.28.5.tgz",
|
|
15
|
+
"bytes": 2556179,
|
|
16
|
+
"integrity": "sha512-hJ2h0km0HLe4BCTy7DHwLOXZklCyQJTJLB66PktL4E/qOnCM8Usd3FtUI4NUUFIGF4OGdzMaYMaS2B2rPMa/nA=="
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "@ckanner/flywheel-darwin-amd64",
|
|
20
|
+
"version": "0.28.5",
|
|
21
|
+
"filename": "ckanner-flywheel-darwin-amd64-0.28.5.tgz",
|
|
22
|
+
"bytes": 2761482,
|
|
23
|
+
"integrity": "sha512-QUqxd7fQIN85fI/EdmG5CC/QZVEOaztbl268z+/+4eFwLDqZ17+O+P77g4K8yjoIZ8vjJiggP79Fi7jPh3uRdA=="
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "@ckanner/flywheel-linux-arm64",
|
|
27
|
+
"version": "0.28.5",
|
|
28
|
+
"filename": "ckanner-flywheel-linux-arm64-0.28.5.tgz",
|
|
29
|
+
"bytes": 2481754,
|
|
30
|
+
"integrity": "sha512-CkIX838t/YNZIOpL4DWXuBhdland85yWXy3creacEoabwH52hWKR6a8E+olcHL0PA5fBiIa+GJagJBhW1pn5mA=="
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "@ckanner/flywheel-linux-amd64",
|
|
34
|
+
"version": "0.28.5",
|
|
35
|
+
"filename": "ckanner-flywheel-linux-amd64-0.28.5.tgz",
|
|
36
|
+
"bytes": 2738484,
|
|
37
|
+
"integrity": "sha512-uR7UWDK2EzFGx1Q4jl/OvbJksvZgk70P3l4UTKDZXMm544uRRF2V5DawEhj3R8yulwOfHwAolXqciuPD1Vstzg=="
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "@ckanner/dsh-plugin-flywheel",
|
|
41
|
+
"version": "0.28.5",
|
|
42
|
+
"filename": "ckanner-dsh-plugin-flywheel-0.28.5.tgz",
|
|
43
|
+
"bytes": 86879,
|
|
44
|
+
"integrity": "sha512-v5QRk3Y63uLyNmDBhdaS+p4tonlofdGka+oRcn5XEgh9zKrUcYnKDiRgvxxMs06TQBTcwsAnnY6VRVB63Z5Odw=="
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "@ckanner/flywheel",
|
|
48
|
+
"version": "0.28.5",
|
|
49
|
+
"filename": "ckanner-flywheel-0.28.5.tgz",
|
|
50
|
+
"bytes": 115788,
|
|
51
|
+
"integrity": "sha512-9wwOML43ebh8eZTdN7uPAqfoFqaq4RzzVrFfv+ujl3r97Oc3GKkyQafDbnlkhG7cFc1ZmM5BHV3/RDaC/pgmLQ=="
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
2
|
+
npm notice run @ckanner/flywheel@0.28.5 test:install
|
|
3
|
+
npm notice run node --test npm/test/install.integration.js
|
|
4
|
+
▶ the six packaged npm candidates install and run from a clean agent environment
|
|
5
|
+
✔ default installation succeeds with an absent optional Claude adapter (139.750598ms)
|
|
6
|
+
✔ installed worker imports the real pinned plugin and executes an offline app-server (546.785781ms)
|
|
7
|
+
✔ the optional source tarball runs through the installed Claude worker (827.693593ms)
|
|
8
|
+
✔ same-version setup is repeatable and preserves configuration (764.301761ms)
|
|
9
|
+
✔ installed npm shim forwards cancellation through the real Go watchdog (96.989331ms)
|
|
10
|
+
✔ DSH registration failure is reported and a retry repairs that step (1195.731174ms)
|
|
11
|
+
✔ explicit CLI-only installation keeps DSH skipped (497.278964ms)
|
|
12
|
+
✔ user-edited skill content is preserved and prevents false installation success (301.917723ms)
|
|
13
|
+
✔ the six packaged npm candidates install and run from a clean agent environment (8331.970696ms)
|
|
14
|
+
ℹ tests 9
|
|
15
|
+
ℹ suites 0
|
|
16
|
+
ℹ pass 9
|
|
17
|
+
ℹ fail 0
|
|
18
|
+
ℹ cancelled 0
|
|
19
|
+
ℹ skipped 0
|
|
20
|
+
ℹ todo 0
|
|
21
|
+
ℹ duration_ms 8417.835855
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
2
|
+
npm notice run @ckanner/flywheel@0.28.5 test
|
|
3
|
+
npm notice run node --test npm/test/*.test.js
|
|
4
|
+
✔ invalid installer arguments return one JSON error without creating installation state (440.150185ms)
|
|
5
|
+
✔ unsupported Node reports the required floor before changing installation state (123.838627ms)
|
|
6
|
+
✔ installer executes special paths literally and repeat setup keeps a stable desktop launcher (2383.758716ms)
|
|
7
|
+
✔ explicit no-dsh is reported as skipped while missing CLI prerequisites remain recoverable (1596.964568ms)
|
|
8
|
+
✔ human setup output retains diagnostic remedies and does not announce an uninstalled DSH plugin (750.281465ms)
|
|
9
|
+
✔ configuration initialization errors never claim that defaults were created or migrated (805.213472ms)
|
|
10
|
+
✔ missing DSH reports partial installation and recovers on a later explicit command (1257.943998ms)
|
|
11
|
+
✔ DSH reporting a different installed version cannot complete setup (597.034331ms)
|
|
12
|
+
✔ setup rejects an adapter whose installed public API reports another version (151.412788ms)
|
|
13
|
+
✔ a skills conflict remains visible and prevents later desktop changes (438.394577ms)
|
|
14
|
+
✔ setup cancellation waits for a trapping CLI and cannot publish success (703.299536ms)
|
|
15
|
+
✔ step timeout rejects a CLI that traps termination as exit zero (3589.739092ms)
|
|
16
|
+
✔ cancellation during final unlock cannot return a successful report or hide cleanup errors (1389.478072ms)
|
|
17
|
+
✔ managed launcher updates preserve user edits and invalid installation records (8.450619ms)
|
|
18
|
+
✔ setup preserves a modified launcher and exposes the failed step in its JSON result (1089.258079ms)
|
|
19
|
+
✔ capture cancels a whole installation process group after its leader exits (187.379056ms)
|
|
20
|
+
✔ normal exit zero cannot hide a surviving installation subprocess (1217.807557ms)
|
|
21
|
+
✔ inherited output handles outside the owned group produce a bounded failure (773.67263ms)
|
|
22
|
+
✔ concurrent setup preserves the active install lock and can retry after its owner exits (1488.347521ms)
|
|
23
|
+
✔ an installer never removes a lock whose ownership changed (3.241844ms)
|
|
24
|
+
✔ local release CLI resolves a selected source and defaults to that source's candidate directory (2.565963ms)
|
|
25
|
+
▶ clean lightweight and annotated source tags complete installation, candidate publication, registry smoke and promotion in order
|
|
26
|
+
✔ lightweight (1291.15271ms)
|
|
27
|
+
✔ annotated (1131.218577ms)
|
|
28
|
+
✔ clean lightweight and annotated source tags complete installation, candidate publication, registry smoke and promotion in order (2424.440781ms)
|
|
29
|
+
✔ the CLI can release an explicitly saved candidate outside the source checkout (1321.080894ms)
|
|
30
|
+
▶ dirty source and mismatched HEAD, tree or physical snapshot cannot reach publication
|
|
31
|
+
✔ tracked edit (150.033378ms)
|
|
32
|
+
✔ untracked file (125.216964ms)
|
|
33
|
+
✔ staged edit (123.503834ms)
|
|
34
|
+
✔ new clean HEAD (159.772081ms)
|
|
35
|
+
✔ different tree (142.625417ms)
|
|
36
|
+
✔ different snapshot (135.552273ms)
|
|
37
|
+
✔ dirty build receipt (101.884094ms)
|
|
38
|
+
✔ working bytes hidden from Git status (140.605529ms)
|
|
39
|
+
✔ dirty source and mismatched HEAD, tree or physical snapshot cannot reach publication (1081.192358ms)
|
|
40
|
+
▶ the exact remote release tag must exist and identify the candidate source
|
|
41
|
+
✔ missing (176.414249ms)
|
|
42
|
+
✔ different target (180.499855ms)
|
|
43
|
+
✔ the exact remote release tag must exist and identify the candidate source (357.446437ms)
|
|
44
|
+
✔ remote tag parsing rejects ambiguous, unexpected and abnormal responses (0.739886ms)
|
|
45
|
+
✔ remote tag reads are captured, bounded and noninteractive even in a TTY release (0.290809ms)
|
|
46
|
+
✔ failed or cancelled local installation never uploads a package (289.884965ms)
|
|
47
|
+
✔ a failed registry installation leaves latest unchanged, and a retry reuses all six uploaded candidates (984.243474ms)
|
|
48
|
+
✔ a partial publication retries only missing immutable versions using the same saved candidate (995.573906ms)
|
|
49
|
+
▶ source, candidate and remote tag changes during installation block the first upload
|
|
50
|
+
✔ source (174.762794ms)
|
|
51
|
+
✔ valid replacement candidate (158.846582ms)
|
|
52
|
+
✔ remote deletion (183.785717ms)
|
|
53
|
+
✔ remote target (206.304699ms)
|
|
54
|
+
✔ same commit, new annotation (218.002943ms)
|
|
55
|
+
✔ source, candidate and remote tag changes during installation block the first upload (942.628784ms)
|
|
56
|
+
▶ mutating source, candidate or tag after an upload blocks the next write
|
|
57
|
+
✔ source (291.411112ms)
|
|
58
|
+
✔ candidate (273.105502ms)
|
|
59
|
+
✔ tag target (346.59224ms)
|
|
60
|
+
✔ tag annotation (337.269472ms)
|
|
61
|
+
✔ mutating source, candidate or tag after an upload blocks the next write (1249.379677ms)
|
|
62
|
+
▶ source, candidate and tag changes during registry smoke block promotion
|
|
63
|
+
✔ source (560.599794ms)
|
|
64
|
+
✔ candidate (575.401395ms)
|
|
65
|
+
✔ tag (594.223536ms)
|
|
66
|
+
✔ source, candidate and tag changes during registry smoke block promotion (1731.04287ms)
|
|
67
|
+
✔ a source change during partial latest promotion stops remaining tags (643.891115ms)
|
|
68
|
+
▶ scope registry and tarball publishConfig cannot redirect uploads to another registry
|
|
69
|
+
✔ registry (113.520178ms)
|
|
70
|
+
✔ @ckanner:registry (123.108461ms)
|
|
71
|
+
✔ scope registry and tarball publishConfig cannot redirect uploads to another registry (375.386057ms)
|
|
72
|
+
✔ a scope registry change after the first upload cannot redirect the next package (288.41863ms)
|
|
73
|
+
✔ only npm writes inherit the terminal; reads preserve captured output and deadline options (0.401506ms)
|
|
74
|
+
✔ npm release reads and writes override an unrelated default scope without discarding authentication (0.201905ms)
|
|
75
|
+
✔ a failed pre-write checkpoint prevents invoking npm even with a real terminal (0.149615ms)
|
|
76
|
+
✔ non-TTY local publication stops before installation or any npm request (96.983433ms)
|
|
77
|
+
✔ the public command reports non-TTY failure without invoking real npm (154.544187ms)
|
|
78
|
+
✔ all six package versions, exact dependencies and platform selectors must agree (3.191117ms)
|
|
79
|
+
✔ preflight accepts only the exact clean HEAD tag, not an ancestor tag (112.386555ms)
|
|
80
|
+
✔ source snapshots preserve modes and symlinks without copying ignored files or editing source (29.205767ms)
|
|
81
|
+
✔ npm pack accepts the npm 11 array and npm 12 name-keyed single-package protocols (1.31889ms)
|
|
82
|
+
✔ npm pack rejects malformed output, ambiguous package sets and wrong map keys (1.750592ms)
|
|
83
|
+
✔ npm pack requires the exact name, version and basename in either protocol (1.018056ms)
|
|
84
|
+
✔ real offline npm pack output identifies the artifact whose bytes are verified (411.787611ms)
|
|
85
|
+
✔ candidate verifies actual tar manifests, exact source and clean source policy (106.836301ms)
|
|
86
|
+
✔ changed tar bytes and symlink substitution cannot pass candidate verification (50.004498ms)
|
|
87
|
+
✔ rehashed tarball with a wrong embedded package version is still rejected (94.059094ms)
|
|
88
|
+
✔ public candidate verification CLI returns failure for a mismatched source (216.245687ms)
|
|
89
|
+
✔ npm absence is only structured E404; authentication, network and cancellation fail closed (1.70304ms)
|
|
90
|
+
✔ npm view accepts legacy scalars and npm 12 single-scalar arrays (0.241294ms)
|
|
91
|
+
✔ npm view rejects ambiguous arrays, nesting and non-scalar fields (1.637362ms)
|
|
92
|
+
✔ npm view missing values are allowed only for explicitly optional fields (0.658984ms)
|
|
93
|
+
✔ a successful empty integrity response never permits publication, while a missing latest tag is allowed (51.182651ms)
|
|
94
|
+
✔ real npm view preserves scalar, missing-field and registry-error semantics (1947.332916ms)
|
|
95
|
+
✔ publishing uses exact dependencies first and never advances latest; retries verify existing bytes (40.079169ms)
|
|
96
|
+
✔ npm 12 scalar arrays preserve exact-version verification and latest promotion (48.184243ms)
|
|
97
|
+
✔ a conflicting existing version or newer latest blocks every publish before mutation (36.642002ms)
|
|
98
|
+
✔ private repository publication disables automatic provenance without changing candidate bytes or latest (200.756132ms)
|
|
99
|
+
✔ unknown repository visibility fails before any registry request (49.73929ms)
|
|
100
|
+
✔ an uncertain publish response succeeds only when registry bytes match (47.46054ms)
|
|
101
|
+
✔ failed publish with no registry version stops before later packages (37.545926ms)
|
|
102
|
+
✔ publication cancellation is a failure even if registry accepted the bytes (63.771778ms)
|
|
103
|
+
✔ registry visibility accepts a matching package that appears after the former ten-second window (41.025328ms)
|
|
104
|
+
✔ registry visibility has one deadline including query time and never starts an unbounded query (38.571965ms)
|
|
105
|
+
✔ registry visibility cannot succeed or start another query after the deadline (38.080592ms)
|
|
106
|
+
✔ registry visibility retries only structured E404 and stops immediately on other errors (43.12043ms)
|
|
107
|
+
✔ registry query timeout terminates the real npm process even when it ignores SIGTERM (1090.655425ms)
|
|
108
|
+
✔ a visibility timeout keeps the same candidate reusable without republishing accepted bytes (41.015473ms)
|
|
109
|
+
✔ a local candidate changed after registry preflight is not published (39.663243ms)
|
|
110
|
+
✔ latest promotion requires all six versions and promotes the entry package last (37.956475ms)
|
|
111
|
+
✔ promotion waits for old latest responses to converge without repeating dist-tag mutations (33.015639ms)
|
|
112
|
+
✔ latest verification tolerates a missing tag or temporarily absent target metadata (36.019602ms)
|
|
113
|
+
✔ latest verification immediately rejects a newer tag even while target metadata is missing (31.342624ms)
|
|
114
|
+
✔ latest verification never retries invalid tags, integrity conflicts or query failures (41.363217ms)
|
|
115
|
+
✔ latest and integrity queries share one deadline and stop before starting a query past it (36.15036ms)
|
|
116
|
+
✔ a latest visibility timeout resumes the same candidate without repeating completed mutations (32.085205ms)
|
|
117
|
+
✔ the verify-latest CLI awaits asynchronous verification before reporting success (196.741814ms)
|
|
118
|
+
✔ a concurrent newer entry tag cannot be rolled back during promotion (31.791712ms)
|
|
119
|
+
✔ latest verification checks all versions and rejects unknown version ordering (33.306618ms)
|
|
120
|
+
✔ release commands reject incomplete or unsafe options (0.629801ms)
|
|
121
|
+
✔ npm CLI preserves literal argv, stdin, cwd, environment, stderr and native exit status (211.362982ms)
|
|
122
|
+
✔ an explicit worker override is preserved, even when the bundled worker is unavailable (341.368553ms)
|
|
123
|
+
✔ missing platform or worker packages fail visibly instead of selecting another installation (376.342686ms)
|
|
124
|
+
✔ a non-executable native binary reports a launch failure (106.615153ms)
|
|
125
|
+
✔ resolved native and worker versions must match the meta package's exact pins (362.96593ms)
|
|
126
|
+
✔ a stale parent dependency is rejected while a correctly hoisted package is accepted (407.885015ms)
|
|
127
|
+
✔ install and setup dispatch to the bundled installer with untouched arguments (212.876111ms)
|
|
128
|
+
✔ flywheel-dsh-worker.js uses its current Node executable and the package's public worker export (154.595545ms)
|
|
129
|
+
✔ flywheel-codex-pro-worker.js uses its current Node executable and the package's public worker export (150.851323ms)
|
|
130
|
+
✔ flywheel-claude-code-pro-worker.js uses its current Node executable and the package's public worker export (313.146312ms)
|
|
131
|
+
✔ the runtime enforces the adapter minimum of Node 22.18.0 (7.913964ms)
|
|
132
|
+
✔ SIGTERM reaches the native owner and npm waits for its worker and delayed cleanup (544.258564ms)
|
|
133
|
+
✔ SIGINT reaches the native owner and npm waits for its worker and delayed cleanup (506.169898ms)
|
|
134
|
+
✔ SIGHUP reaches the native owner and npm waits for its worker and delayed cleanup (462.218805ms)
|
|
135
|
+
✔ native signal death maps to its conventional exit code (150.844968ms)
|
|
136
|
+
✔ cancellation preserves a native diagnostic failure after cleanup (455.544562ms)
|
|
137
|
+
✔ worker shim also waits for cancellation cleanup and rejects a late exit zero (272.134305ms)
|
|
138
|
+
ℹ tests 127
|
|
139
|
+
ℹ suites 0
|
|
140
|
+
ℹ pass 127
|
|
141
|
+
ℹ fail 0
|
|
142
|
+
ℹ cancelled 0
|
|
143
|
+
ℹ skipped 0
|
|
144
|
+
ℹ todo 0
|
|
145
|
+
ℹ duration_ms 20096.878869
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
2
|
+
npm notice run @ckanner/dsh-plugin-flywheel@0.28.5 check
|
|
3
|
+
npm notice run npm test
|
|
4
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
5
|
+
npm notice run @ckanner/dsh-plugin-flywheel@0.28.5 test
|
|
6
|
+
npm notice run npm run build && node --test test/*.test.js && node scripts/test-legacy-host.mjs
|
|
7
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
8
|
+
npm notice run @ckanner/dsh-plugin-flywheel@0.28.5 build
|
|
9
|
+
npm notice run node scripts/build.mjs
|
|
10
|
+
Built host plugin, native Conversation View, DSH SDK, Codex Pro and Claude Code Pro workers.
|
|
11
|
+
✔ request translation preserves explicit native choices and rejects unsupported policy before dispatch (2.481174ms)
|
|
12
|
+
✔ missing, stale and incompatible optional peers prove non-dispatch without breaking other adapters (574.299975ms)
|
|
13
|
+
✔ installed public machine API receives exact model, effort, full access and reports actual usage (315.452701ms)
|
|
14
|
+
✔ persistent repair resumes only the provided session across independent worker processes (731.707945ms)
|
|
15
|
+
✔ optional adapter doctor imports the public API without running Claude (123.872185ms)
|
|
16
|
+
✔ wrong-cwd cannot yield a reusable successful Claude result (266.105073ms)
|
|
17
|
+
✔ wrong-model cannot yield a reusable successful Claude result (275.178181ms)
|
|
18
|
+
✔ wrong-permission cannot yield a reusable successful Claude result (268.077971ms)
|
|
19
|
+
✔ wrong-session cannot yield a reusable successful Claude result (290.954113ms)
|
|
20
|
+
✔ duplicate-result cannot yield a reusable successful Claude result (255.470744ms)
|
|
21
|
+
✔ malformed-after-terminal cannot yield a reusable successful Claude result (285.1906ms)
|
|
22
|
+
✔ missing-result cannot yield a reusable successful Claude result (199.881578ms)
|
|
23
|
+
✔ abnormal-exit cannot yield a reusable successful Claude result (209.373439ms)
|
|
24
|
+
✔ explicit channel credentials reach only the selected native backend (229.387894ms)
|
|
25
|
+
✔ an unavailable resume fails once without creating a replacement session (217.289879ms)
|
|
26
|
+
✔ the native deadline returns a failed receipt after cleanup (510.620305ms)
|
|
27
|
+
✔ an oversized native output fails with confirmed cleanup (227.956649ms)
|
|
28
|
+
✔ partial-usage preserves unknown counters and subscription cost (188.502242ms)
|
|
29
|
+
✔ unknown-usage preserves unknown counters and subscription cost (196.551959ms)
|
|
30
|
+
✔ hang: SIGTERM waits for the owned Claude group to stop (221.836845ms)
|
|
31
|
+
✔ stubborn: SIGTERM waits for the owned Claude group to stop (3235.191518ms)
|
|
32
|
+
✔ parent disconnect and an extra request cancel rather than dispatching a second task (415.708504ms)
|
|
33
|
+
✔ SIGKILL of the worker closes its guardian lifeline and stops native work (3210.027762ms)
|
|
34
|
+
✔ the published DSH renderer owns the external plugin lifecycle without Harness Client module imports (319.523097ms)
|
|
35
|
+
✔ native Flywheel view is additive, idle on opening, and ships its scoped stylesheet (87.885547ms)
|
|
36
|
+
✔ a logged host launch binds exact task paths, refreshes once, and restores through a new session binding (91.38091ms)
|
|
37
|
+
✔ unknown host launches retain the original task across edits and require a successful read before another launch (42.921634ms)
|
|
38
|
+
✔ association updates do not overwrite a manual target with a late completion, but a new launch adopts its own target (31.318378ms)
|
|
39
|
+
✔ a confirmed host mutation refreshes a previously observed task instead of retaining its stale state (34.235482ms)
|
|
40
|
+
✔ manual launch sends Auto or explicit modes while Start preserves saved workflow semantics (50.334366ms)
|
|
41
|
+
✔ workflow view explains requested/effective modes, inapplicable stages, legacy Full and one-way upgrades (34.088724ms)
|
|
42
|
+
✔ effective models can be inspected without a task and every binding remains readable (44.036367ms)
|
|
43
|
+
✔ task lifecycle labels distinguish pending, completed, stopped and unconfirmed engine state (70.646029ms)
|
|
44
|
+
✔ all packets and attention records remain accessible, text is escaped, and unknown cost stays unknown (70.252301ms)
|
|
45
|
+
✔ local and SDK checks retain structured failures, remedies and the inference boundary (26.774026ms)
|
|
46
|
+
✔ editing a read target invalidates its late result without permitting overlapping operations (26.389005ms)
|
|
47
|
+
✔ late query failures are ignored after editing, and active protocol or transport errors can recover (28.71856ms)
|
|
48
|
+
✔ failed status refresh retains the previous data with a visible unconfirmed marker (43.58768ms)
|
|
49
|
+
✔ start is single-flight with a frozen target, including hide and reopen before confirmation (21.093913ms)
|
|
50
|
+
✔ an unknown mutation stays blocked across path changes until the same task is successfully reconciled (53.196852ms)
|
|
51
|
+
✔ proven host preflight rejections can be corrected without an impossible status reconciliation (606.410073ms)
|
|
52
|
+
✔ post-dispatch failures and forged engine messages remain uncertain until the original task is observed (1681.463526ms)
|
|
53
|
+
✔ a browser deadline reports unknown outcome and a late original success cannot silently clear it (14.016378ms)
|
|
54
|
+
✔ session drafts and results stay separate, and a replacement binding cannot adopt an old reply (24.68648ms)
|
|
55
|
+
✔ plugin disposal stops local publication without sending a task cancellation (17.280775ms)
|
|
56
|
+
✔ malformed protocol results are visible and never become successful task observations (45.7333ms)
|
|
57
|
+
✔ malformed configuration and diagnostic reports stay recoverable instead of breaking rendering (32.086425ms)
|
|
58
|
+
✔ the UI accepts realpath identities already validated by the host for every control action (518.402442ms)
|
|
59
|
+
✔ labelled fields validate paths without a request, retain focus, and follow the host locale (20.446071ms)
|
|
60
|
+
✔ public installed machine API carries exact settings and a complete unchanged receipt (479.530732ms)
|
|
61
|
+
✔ canonical full access maps to the public machine mode and keeps its actual policy receipt (339.683131ms)
|
|
62
|
+
✔ a full-access request cannot silently accept a constrained app-server policy (387.214207ms)
|
|
63
|
+
✔ doctor imports the exact dependency without starting any Codex process (126.435023ms)
|
|
64
|
+
✔ wrong-model retains startup evidence and prevents the model turn (300.39412ms)
|
|
65
|
+
✔ wrong-cwd retains startup evidence and prevents the model turn (379.911933ms)
|
|
66
|
+
✔ wrong-approval retains startup evidence and prevents the model turn (343.357042ms)
|
|
67
|
+
✔ wrong-sandbox retains startup evidence and prevents the model turn (379.063237ms)
|
|
68
|
+
✔ unknown-usage stays unknown or partial in the raw successful receipt (377.086769ms)
|
|
69
|
+
✔ partial-usage stays unknown or partial in the raw successful receipt (338.643054ms)
|
|
70
|
+
✔ full policy is preserved, without claiming a pre-turn consumer policy guard (303.271481ms)
|
|
71
|
+
✔ SIGTERM awaits adapter cleanup and returns its actual cancellation receipt (343.761841ms)
|
|
72
|
+
✔ SIGINT awaits adapter cleanup and returns its actual cancellation receipt (296.87585ms)
|
|
73
|
+
✔ stdin EOF after admission cancels the owned run and preserves its cleanup receipt (286.164394ms)
|
|
74
|
+
✔ a stubborn app-server is killed within the adapter cleanup budget (3242.92418ms)
|
|
75
|
+
✔ a broken stdout waits for the app-server and guardian to disappear (288.312589ms)
|
|
76
|
+
✔ progress budget failure preserves the raw cancellation receipt instead of dropping frames silently (290.050412ms)
|
|
77
|
+
✔ worker SIGKILL makes the installed guardian clean ordinary descendants without a forged receipt (3291.511196ms)
|
|
78
|
+
✔ an additional request cancels instead of silently starting or ignoring another task (293.571618ms)
|
|
79
|
+
✔ startup timeout includes initialize and cannot submit a late prompt (290.205053ms)
|
|
80
|
+
✔ output truncation is a failed attempt with a complete cleanup receipt (1261.286721ms)
|
|
81
|
+
✔ invalid requests and arguments fail before launching any app-server (774.189071ms)
|
|
82
|
+
✔ parent disconnection before input does not wait for the admission timeout (69.048488ms)
|
|
83
|
+
✔ public request validation always fixes fresh sessions and bounded output (10.847614ms)
|
|
84
|
+
✔ worker v2 opts into the public persistent thread contract and v1 stays fresh (493.784986ms)
|
|
85
|
+
✔ persistent history crosses worker processes while accounting only each run delta (520.781673ms)
|
|
86
|
+
✔ a resumed thread without replayed accounting baseline remains partial (435.511341ms)
|
|
87
|
+
✔ resume refusal or wrong thread identity does not silently create a replacement turn (1015.041961ms)
|
|
88
|
+
✔ missing and mismatched installed dependencies fail locally without fallback (186.511708ms)
|
|
89
|
+
✔ the shipped manifest passes the real DSH gate for both checked runtimes without exemptions (8.452005ms)
|
|
90
|
+
✔ control invokes only the Go JSON CLI using literal argv, including paths with shell syntax (105.706819ms)
|
|
91
|
+
✔ configuration and doctor need no task directory, and probe is an explicit doctor-only boolean (314.337033ms)
|
|
92
|
+
✔ launch selects Auto by default, explicit modes reach the Go CLI, and legacy Start adds no mode (542.173212ms)
|
|
93
|
+
✔ doctor returns a valid failed report but rejects process, protocol, and identity failures (1500.951962ms)
|
|
94
|
+
✔ hung controls are bounded and cancellation is never a diagnostic success (214.668352ms)
|
|
95
|
+
✔ diagnostic cancellation and timeout keep the Go owner alive until delayed group cleanup finishes (14119.71862ms)
|
|
96
|
+
✔ an unresponsive diagnostic owner is eventually force-stopped after its cleanup window (21017.925671ms)
|
|
97
|
+
✔ slash command and model tool use the same validated engine control boundary (296.049904ms)
|
|
98
|
+
✔ host directory defaults follow the current session and an explicit cwd bypasses the getter (276.570671ms)
|
|
99
|
+
✔ unavailable session directories fail before dispatch without falling back to the original header (74.501345ms)
|
|
100
|
+
✔ policy uses the shipped shell probe and pins effective session facts, rejecting partial enforcement (4.589748ms)
|
|
101
|
+
✔ full-access shell readiness records the absence of confinement and rejects fabricated enforcement (3.993989ms)
|
|
102
|
+
✔ the native rc.5 view reaches the registered slash command through the session-scoped Remote (152.516444ms)
|
|
103
|
+
✔ published session projections bind slash and tool launches, survive replay and preserve session isolation (232.821959ms)
|
|
104
|
+
✔ a host directory fallback without logged cwd cannot dispatch mutations until an explicit directory is supplied (539.386027ms)
|
|
105
|
+
✔ unknown tool launch keeps its original task and blocks mutations until that task is reconciled (431.205186ms)
|
|
106
|
+
✔ published host guard prevents a read from clearing a mutation while its control process is active (248.065373ms)
|
|
107
|
+
✔ tool finalization preserves positive pre-dispatch proof without treating engine prose as proof (22.828262ms)
|
|
108
|
+
✔ desktop resolves a verified npm launcher without a shell PATH (4.031905ms)
|
|
109
|
+
✔ invalid or stale records do not silently select another executable (3.762077ms)
|
|
110
|
+
✔ receipt and launcher links or non-executable files are rejected (3.135802ms)
|
|
111
|
+
✔ admission receipt is bounded, private, physical and correlated with this invocation (25.462996ms)
|
|
112
|
+
✔ receipt reads reject symlinks, escaped paths and non-regular files before reading (25.973914ms)
|
|
113
|
+
✔ policy publication rejects invalid ownership and cannot follow an existing receipt symlink (17.57677ms)
|
|
114
|
+
✔ policy publication cannot follow a pre-existing staging symlink (4.072476ms)
|
|
115
|
+
✔ start normalizes cwd and rejects resume, extra write roots, implicit permission, and empty route (24.209245ms)
|
|
116
|
+
✔ scoped protocol makes history mode and exact resume identity explicit (9.188357ms)
|
|
117
|
+
✔ restoration records cannot be charged or reused as the next invocation result (1.270637ms)
|
|
118
|
+
✔ only unique committed model calls count; cache is included in aggregate input, reasoning is a subset (1.132319ms)
|
|
119
|
+
✔ missing or malformed usage remains unknown, not free or partial cost (0.292722ms)
|
|
120
|
+
✔ an idle or max-token interval is not successful completion (0.430159ms)
|
|
121
|
+
✔ native account failures retain their diagnostic and supply precise recovery guidance (0.631362ms)
|
|
122
|
+
✔ only the native account sign-out cancellation hook becomes an authentication failure (0.49065ms)
|
|
123
|
+
✔ account-like text and unknown account codes do not override structured error classification (0.448056ms)
|
|
124
|
+
✔ permission acknowledgement must match actual cwd, policy, approval and full confinement (0.849572ms)
|
|
125
|
+
✔ full access acknowledgement is explicit and never claims confinement (0.399543ms)
|
|
126
|
+
✔ published SDK restores a persisted Agent in a new process without replaying historical usage (2246.313838ms)
|
|
127
|
+
✔ exact launch association folds public tool events and current-directory evidence, without inferring paths (4.335202ms)
|
|
128
|
+
✔ an unknown or missing mutation response keeps its original task until that task is observed (0.939978ms)
|
|
129
|
+
✔ a missing command result is recoverable by status and only structured non-dispatch proof releases a failure (1.095753ms)
|
|
130
|
+
✔ nested PTC dispatches use the public durable start/result vocabulary (0.798225ms)
|
|
131
|
+
✔ invalid arguments, unrelated tool results and earlier reads cannot change the current task (0.66937ms)
|
|
132
|
+
✔ cold replay restores identity while a fork ignores inherited controls and retains directory changes (0.36452ms)
|
|
133
|
+
✔ published PTC dispatchers use the same subCallId for execution, finalization and durable task association (409.096161ms)
|
|
134
|
+
✔ published native tool pipelines preserve finalizer identity and positive pre-dispatch proof (23.297539ms)
|
|
135
|
+
✔ full worker handshake, durable result, usage and SDK shutdown agree with the Go contract (128.654767ms)
|
|
136
|
+
✔ an explicit full-access request reaches the SDK with truthful policy and normal shutdown (66.781512ms)
|
|
137
|
+
✔ full access wrong-policy: no prompt before a matching explicit policy (65.12958ms)
|
|
138
|
+
✔ full access wrong-cwd: no prompt before a matching explicit policy (60.400342ms)
|
|
139
|
+
✔ full access wrong-approval: no prompt before a matching explicit policy (65.328785ms)
|
|
140
|
+
✔ full access missing-policy: no prompt before a matching explicit policy (70.658113ms)
|
|
141
|
+
✔ full access forged-confinement: no prompt before a matching explicit policy (74.729671ms)
|
|
142
|
+
✔ full access unexpected-enforcement: no prompt before a matching explicit policy (66.841418ms)
|
|
143
|
+
✔ wrong-policy: fail before submitting a paid prompt (75.551297ms)
|
|
144
|
+
✔ wrong-cwd: fail before submitting a paid prompt (67.053292ms)
|
|
145
|
+
✔ missing-policy: fail before submitting a paid prompt (53.202054ms)
|
|
146
|
+
✔ malformed: fail before submitting a paid prompt (75.068058ms)
|
|
147
|
+
✔ empty: session/wait alone never establishes success (113.579216ms)
|
|
148
|
+
✔ missing-terminal: session/wait alone never establishes success (79.736072ms)
|
|
149
|
+
✔ max-tokens: session/wait alone never establishes success (65.934498ms)
|
|
150
|
+
✔ corrupt-tail: session/wait alone never establishes success (68.061734ms)
|
|
151
|
+
✔ account-sign-in-required: durable SDK failure reaches the worker without rerouting or retrying (67.530527ms)
|
|
152
|
+
✔ account-token-invalid: durable SDK failure reaches the worker without rerouting or retrying (62.715586ms)
|
|
153
|
+
✔ account-signed-out: durable SDK failure reaches the worker without rerouting or retrying (59.412782ms)
|
|
154
|
+
✔ account-quota: durable SDK failure reaches the worker without rerouting or retrying (49.632602ms)
|
|
155
|
+
✔ account-like JSON-RPC text without a durable native code remains a transport error (61.210305ms)
|
|
156
|
+
✔ shutdown: corrupt SDK shutdown tail overrides the model outcome (59.136263ms)
|
|
157
|
+
✔ account-token-invalid: corrupt SDK shutdown tail overrides the model outcome (69.124956ms)
|
|
158
|
+
✔ account-quota: corrupt SDK shutdown tail overrides the model outcome (59.532352ms)
|
|
159
|
+
✔ corrupt SDK shutdown tail does not erase unconfirmed cleanup (55.912155ms)
|
|
160
|
+
✔ corrupt SDK shutdown tail cannot replace explicit worker cancellation (40.453489ms)
|
|
161
|
+
✔ shutdown: incomplete SDK shutdown tail overrides the model outcome (48.348282ms)
|
|
162
|
+
✔ account-token-invalid: incomplete SDK shutdown tail overrides the model outcome (42.375965ms)
|
|
163
|
+
✔ account-quota: incomplete SDK shutdown tail overrides the model outcome (54.597441ms)
|
|
164
|
+
✔ incomplete SDK shutdown tail does not erase unconfirmed cleanup (45.837188ms)
|
|
165
|
+
✔ incomplete SDK shutdown tail cannot replace explicit worker cancellation (60.497579ms)
|
|
166
|
+
✔ explicit worker cancellation remains cancelled when an account failure arrives (107.722731ms)
|
|
167
|
+
✔ unknown provider usage survives a successful call as null (56.672231ms)
|
|
168
|
+
✔ scoped SDK sessions continue the exact history with one new prompt and a new usage delta (100.986857ms)
|
|
169
|
+
✔ resume-missing: exact history rejection never falls back to a fresh session (54.237303ms)
|
|
170
|
+
✔ resume-busy: exact history rejection never falls back to a fresh session (38.176899ms)
|
|
171
|
+
✔ resume-invalid-result: exact history rejection never falls back to a fresh session (40.846467ms)
|
|
172
|
+
✔ scoped result certainty stays separate from output validity, usage and cleanup (385.898004ms)
|
|
173
|
+
✔ full lifecycle deadline includes a stalled initialize; no model prompt is sent (161.405371ms)
|
|
174
|
+
✔ external cancellation settles a stalled turn through SDK shutdown (128.180519ms)
|
|
175
|
+
✔ forced SDK shutdown cannot claim successful settlement of native managed ranges (696.36394ms)
|
|
176
|
+
✔ doctor exercises runtime and permission handshake but never prompts a model (91.090976ms)
|
|
177
|
+
✔ overlay pins real native confinement and disables model-owned delegation and auxiliary model calls (0.476269ms)
|
|
178
|
+
✔ full access changes the explicit permission policy while retaining engine ownership (0.194574ms)
|
|
179
|
+
ℹ tests 168
|
|
180
|
+
ℹ suites 0
|
|
181
|
+
ℹ pass 168
|
|
182
|
+
ℹ fail 0
|
|
183
|
+
ℹ cancelled 0
|
|
184
|
+
ℹ skipped 0
|
|
185
|
+
ℹ todo 0
|
|
186
|
+
ℹ duration_ms 39433.043173
|
|
187
|
+
npm warn Unknown env config "http-proxy". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
|
|
188
|
+
|
|
189
|
+
added 25 packages in 819ms
|
|
190
|
+
✔ the published DSH renderer owns the external plugin lifecycle without Harness Client module imports (218.243956ms)
|
|
191
|
+
✔ published session projections bind slash and tool launches, survive replay and preserve session isolation (228.297118ms)
|
|
192
|
+
✔ a host directory fallback without logged cwd cannot dispatch mutations until an explicit directory is supplied (395.811961ms)
|
|
193
|
+
✔ unknown tool launch keeps its original task and blocks mutations until that task is reconciled (278.578347ms)
|
|
194
|
+
✔ published host guard prevents a read from clearing a mutation while its control process is active (133.232614ms)
|
|
195
|
+
✔ tool finalization preserves positive pre-dispatch proof without treating engine prose as proof (6.625918ms)
|
|
196
|
+
✔ published PTC dispatchers use the same subCallId for execution, finalization and durable task association (318.357902ms)
|
|
197
|
+
✔ published native tool pipelines preserve finalizer identity and positive pre-dispatch proof (11.250899ms)
|
|
198
|
+
ℹ tests 8
|
|
199
|
+
ℹ suites 0
|
|
200
|
+
ℹ pass 8
|
|
201
|
+
ℹ fail 0
|
|
202
|
+
ℹ cancelled 0
|
|
203
|
+
ℹ skipped 0
|
|
204
|
+
ℹ todo 0
|
|
205
|
+
ℹ duration_ms 1228.544521
|