pi-cursor-sdk 0.1.59 → 0.1.61
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 +33 -0
- package/README.md +124 -10
- package/docs/cursor-model-ux-spec.md +19 -11
- package/docs/cursor-native-tool-replay.md +5 -3
- package/docs/cursor-testing-lessons.md +2 -2
- package/docs/cursor-tool-surfaces.md +7 -1
- package/docs/platform-smoke.md +51 -20
- package/package.json +13 -2
- package/platform-smoke.config.mjs +1 -0
- package/scripts/cloud-runtime-smoke.d.mts +40 -1
- package/scripts/cloud-runtime-smoke.mjs +444 -325
- package/scripts/lib/cloud-smoke-artifacts.d.mts +16 -0
- package/scripts/lib/cloud-smoke-artifacts.mjs +94 -0
- package/scripts/lib/cloud-smoke-cleanup-evidence.d.mts +209 -0
- package/scripts/lib/cloud-smoke-cleanup-evidence.mjs +585 -0
- package/scripts/lib/cloud-smoke-github.d.mts +78 -0
- package/scripts/lib/cloud-smoke-github.mjs +331 -0
- package/scripts/lib/cloud-smoke-pi-runner.d.mts +42 -0
- package/scripts/lib/cloud-smoke-pi-runner.mjs +214 -0
- package/scripts/lib/cloud-smoke-shutdown.d.mts +67 -0
- package/scripts/lib/cloud-smoke-shutdown.mjs +133 -0
- package/scripts/lib/local-resume-smoke-harness.mjs +2 -0
- package/scripts/local-resume-cleanup-smoke.mjs +11 -2
- package/scripts/platform-smoke/card-detect.mjs +1 -0
- package/scripts/platform-smoke/scenarios.d.mts +22 -0
- package/scripts/platform-smoke/scenarios.mjs +17 -0
- package/scripts/platform-smoke/targets.mjs +1 -0
- package/src/cursor-agent-message-web-tools.ts +14 -6
- package/src/cursor-cloud-local-state.ts +536 -0
- package/src/cursor-cloud-options.ts +46 -70
- package/src/cursor-config.ts +160 -14
- package/src/cursor-http1.ts +65 -0
- package/src/cursor-live-run-coordinator.ts +8 -1
- package/src/cursor-pi-tool-bridge-abort.ts +10 -3
- package/src/cursor-pi-tool-bridge-constants.ts +6 -0
- package/src/cursor-pi-tool-bridge-env.ts +9 -0
- package/src/cursor-pi-tool-bridge-run.ts +27 -5
- package/src/cursor-pi-tool-bridge.ts +11 -2
- package/src/cursor-provider-errors.ts +72 -2
- package/src/cursor-provider-live-run-drain.ts +2 -1
- package/src/cursor-provider-run-finalizer.ts +8 -2
- package/src/cursor-provider-run-outcome.ts +7 -1
- package/src/cursor-provider-turn-finalize.ts +23 -4
- package/src/cursor-provider-turn-prepare.ts +17 -3
- package/src/cursor-provider-turn-runner.ts +15 -1
- package/src/cursor-provider-turn-send.ts +1 -1
- package/src/cursor-question-tool.ts +8 -0
- package/src/cursor-ripgrep-path.ts +32 -0
- package/src/cursor-runtime-state.ts +119 -100
- package/src/cursor-sdk-process-error-guard.ts +62 -0
- package/src/cursor-session-agent-cleanup.ts +66 -15
- package/src/cursor-session-agent-lifecycle.ts +9 -4
- package/src/cursor-session-agent-resume.ts +50 -7
- package/src/cursor-session-agent.ts +131 -71
- package/src/cursor-session-scope.ts +22 -2
- package/src/cursor-session-store.ts +155 -0
- package/src/cursor-state.ts +162 -21
package/docs/platform-smoke.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Platform Smoke Gate
|
|
2
2
|
|
|
3
|
-
Status: current local-runtime release gate for Cursor provider/runtime changes. Cloud-runtime changes also require the
|
|
3
|
+
Status: current local-runtime release gate for Cursor provider/runtime changes. Cloud-runtime changes also require the separate paid `npm run smoke:cloud` gate. The Crabbox runner, packed-install platform-build suite, and real live PTY/ConPTY suite runner are implemented for macOS, Ubuntu, and Windows native targets with one-lease-per-target orchestration.
|
|
4
4
|
|
|
5
5
|
Detailed detector, registry, command-rendering, implementation-history, replacement, and portability reference: [Platform Smoke Implementation Reference](./platform-smoke-implementation.md).
|
|
6
6
|
|
|
@@ -43,7 +43,7 @@ No partial adoption exists. The release evidence must include macOS, Ubuntu, and
|
|
|
43
43
|
## Non-negotiable constraints
|
|
44
44
|
|
|
45
45
|
- No GitHub Actions dependency.
|
|
46
|
-
- No cloud provider dependency in the default local platform gate; cloud-runtime changes use the separate
|
|
46
|
+
- No cloud provider dependency in the default local platform gate; cloud-runtime changes use the separate paid cloud gate.
|
|
47
47
|
- No Crabbox broker/coordinator dependency.
|
|
48
48
|
- No release gate that runs on only one operating system.
|
|
49
49
|
- No release gate that proves command behavior but not TUI visual behavior.
|
|
@@ -116,6 +116,7 @@ start target session
|
|
|
116
116
|
sync checkout once into extensionSourceRoot
|
|
117
117
|
run platform-build
|
|
118
118
|
run cursor-native-visual-matrix
|
|
119
|
+
run cursor-http1-live
|
|
119
120
|
run cursor-bridge-visual-matrix
|
|
120
121
|
run cursor-abort-cleanup
|
|
121
122
|
run cursor-local-resume-restart
|
|
@@ -142,7 +143,7 @@ Runtime budget is part of the contract:
|
|
|
142
143
|
- `platform-build` runs once per target and is the only suite that performs the full local CI/build/typecheck/package gate.
|
|
143
144
|
- Live suites reuse the target checkout and prepared `node_modules` when run after `platform-build`; they do not repeat `npm ci` in a target-session release run.
|
|
144
145
|
- Live and local-resume suites share one target-local packed-install prep directory per target-session release run. The first such suite runs `npm pack` and `npm install --no-save <tarball>` once. Visual/abort suites install that packed path with `pi install --approve -l`; local-resume lanes pass the same packed package path to their source-tree smoke harness instead of loading the checkout extension.
|
|
145
|
-
- Visual coverage is batched into one native prompt, one bridge prompt, and one abort/cleanup prompt per target. Do not split
|
|
146
|
+
- Visual coverage is batched into one native prompt, one focused HTTP/1.1 transport prompt, one bridge prompt, and one abort/cleanup prompt per target. Do not split the card matrices into one prompt per card.
|
|
146
147
|
- The gate is fail-fast by target to avoid burning Cursor calls after a platform has already failed.
|
|
147
148
|
|
|
148
149
|
## Required targets
|
|
@@ -155,30 +156,32 @@ Runtime budget is part of the contract:
|
|
|
155
156
|
|
|
156
157
|
Ubuntu is covered as its own local-container target, and Windows native remains a full visual TUI target.
|
|
157
158
|
|
|
158
|
-
##
|
|
159
|
+
## Required cloud smoke gate
|
|
159
160
|
|
|
160
|
-
Cloud validation
|
|
161
|
-
|
|
162
|
-
Run:
|
|
161
|
+
Cloud validation stays separate from `smoke:platform:all`. Releases that touch actual cloud execution must run both the local platform gate and:
|
|
163
162
|
|
|
164
163
|
```bash
|
|
165
164
|
npm run smoke:cloud
|
|
166
165
|
```
|
|
167
166
|
|
|
168
|
-
The
|
|
167
|
+
The no-flag command is the required `cursor/composer-2-5` matrix. It uses current `gh` CLI authentication to create one private throwaway GitHub repository, seeds clean `main`, `starting-ref`, and `direct-push` branches, and runs persisted-session named lanes for:
|
|
168
|
+
|
|
169
|
+
- cancellation, with exact agent/run IDs captured before abort, retained `runIdSource` (`metadata` or installed-SDK `Agent.listRuns()` recovery), and terminal `cancelled` independently read through the SDK;
|
|
170
|
+
- explicit HTTPS repository plus `startingRef`, requiring a distinct pushed cloud branch with remote-content and starting-ref-ancestry proof, recording whether the SDK returned branch metadata, and validating any returned PR URL through GitHub;
|
|
171
|
+
- explicit direct-push opt-in, independently fetching the remote branch and checking its changed file content;
|
|
172
|
+
- a nonexistent starting branch, which must fail closed;
|
|
173
|
+
- `/cursor-cloud delete <exact bc-id> --yes` in the run's persisted session, followed by independent `Agent.get` not-found/404 and archived-inclusive list exclusion;
|
|
174
|
+
- passive artifacts and raw usage, recording observed true/false and validating bounded known shapes when the account returns either. Absence is an observation, not a skipped lane.
|
|
175
|
+
|
|
176
|
+
Prerequisites are intentionally strict: `CURSOR_API_KEY` with cloud entitlement, Cursor's GitHub integration with access to the new private repository, and `gh` auth with private-repository create, clone/push, inspect, and delete capability. Missing auth, entitlement, integration/access, required output, or any cleanup proof fails the gate. The GitHub mutation scope is destructive but bounded to self-created repositories named `pi-cursor-cloud-smoke-<uuid>` with an exact ownership-marker description. A cleanup handle is exposed only after create ownership is established (or an ambiguous create probe observes that exact marker). Deletion rejects arbitrary repository handles and independently requires an authenticated GitHub API HTTP 404 afterward.
|
|
169
177
|
|
|
170
|
-
-
|
|
171
|
-
- no non-interactive prompts; every needed cloud choice must come from CLI/env/config;
|
|
172
|
-
- do not expose inline cloud MCP in the first cloud runtime lane;
|
|
173
|
-
- do not forward local env values;
|
|
174
|
-
- harvest exact throwaway agent IDs from optional debug metadata plus canonical session JSONL/lifecycle journals, archive the full union, and verify archived metadata before passing;
|
|
175
|
-
- retain the entire artifact root whenever the run or any cleanup fails (successful runs remove it unless `CURSOR_CLOUD_SMOKE_KEEP_ARTIFACTS=1`).
|
|
178
|
+
Every path harvests exact IDs from provider metadata and canonical lifecycle session JSONL/journals. Final cleanup takes their union, archives every still-existing agent, requires `archived: true`, deletes it, then requires `Agent.get` not-found/404 and `Agent.list({ runtime: "cloud", includeArchived: true })` exclusion. `SIGINT` and `SIGTERM` first terminate the active detached Pi child, reject the lane, and then enter the same agent/repository cleanup coordinator before the process exits. Evidence is staged to a temporary file, then an event-loop signal checkpoint runs immediately before the atomic rename; that rename is the evidence commit point. A signal observed before it discards staged evidence. A signal dispatched after it but before the final terminal checkpoint still fails the process and suppresses the success marker, while the committed completed-cleanup summary remains valid. Emitting the success marker is the terminal-success boundary. Signal handlers stay installed through process teardown and independently set a failing exit code, so a still-active process cannot exit successfully if a signal is dispatched after that boundary, even when the marker was already written. Cleanup or repository-deletion verification failure fails the gate and retains the raw temporary artifact root. Successful runs remove raw artifacts unless `CURSOR_CLOUD_SMOKE_KEEP_ARTIFACTS=1`.
|
|
176
179
|
|
|
177
|
-
|
|
180
|
+
Before removing successful raw artifacts, the gate atomically replaces `docs/evidence/cursor-cloud-smoke-matrix-latest.json` with a known-shape summary containing timestamp, model, lane observations, exact agent/run IDs, agent cleanup proof, repository cleanup proof, and retained evidence provenance. Provenance records the extension package version, installed `@cursor/sdk` version, git source revision, and a deterministic `packageSourceSha256` over the full published package surface from `package.json` `files` plus `package.json` itself (relative path + bytes; directories expanded; symlinks/non-regular paths rejected). Generated `docs/evidence/*` is outside that published surface and is not hashed. Because successful pre-commit checkouts may be uncommitted, the package-source hash is authoritative for code identity and the revision is baseline identity only. The summary is a runtime-validated known shape (explicit six-lane allowlist, complete lane-agent cleanup coverage, repository proof, provenance) that round-trips through the persisted-evidence validator with no prompts or raw output, and must pass canonical secret scrubbing plus forbidden-field scanning; a run or cleanup failure observed before the atomic rename commit point never overwrites the last successful summary. A signal first dispatched after that point can fail the process while retaining the newly committed completed-cleanup summary, as defined above. Offline release-gate resource coordination (run → harvest IDs → cleanup agents → cleanup repo → evidence only on complete success) lives in `coordinateCloudSmokeReleaseGate()` inside `scripts/lib/cloud-smoke-cleanup-evidence.mjs`. GitHub throwaway fixture ownership lives in `scripts/lib/cloud-smoke-github.mjs`, signal-safe child shutdown lives in `scripts/lib/cloud-smoke-shutdown.mjs`, and `scripts/cloud-runtime-smoke.mjs` keeps concrete lane logic.
|
|
178
181
|
|
|
179
|
-
|
|
182
|
+
`npm run smoke:cloud:context` (`--context-matrix`) remains optional, separate proof for fresh-versus-bootstrap context handoff. `fresh` must answer `NO_MARKER`; `bootstrap` must recall the marker. Its agents receive the same archive, delete, `Agent.get` not-found/404, and archived-inclusive list-exclusion verification, but it does not create a GitHub repository or replace the required-matrix evidence summary.
|
|
180
183
|
|
|
181
|
-
This
|
|
184
|
+
This cloud gate does not replace the local macOS/Ubuntu/Windows `smoke:platform:all` gate.
|
|
182
185
|
|
|
183
186
|
## Focused local resume smoke
|
|
184
187
|
|
|
@@ -250,7 +253,7 @@ Package scripts:
|
|
|
250
253
|
|
|
251
254
|
```json
|
|
252
255
|
{
|
|
253
|
-
"check:platform-smoke": "node --check platform-smoke.config.mjs && node --check <platform smoke scripts> && vitest run test/platform-artifact-boundaries.test.ts test/platform-smoke-artifact-transport.test.ts test/smoke-cli-package-contracts.test.ts test/smoke-tooling.test.ts",
|
|
256
|
+
"check:platform-smoke": "node --check platform-smoke.config.mjs && node --check <platform smoke scripts> && vitest run test/platform-artifact-boundaries.test.ts test/platform-smoke-artifact-transport.test.ts test/cloud-smoke-helpers.test.ts test/cursor-sdk-cloud-list-runs-contract.test.ts test/smoke-cli-package-contracts.test.ts test/smoke-tooling.test.ts",
|
|
254
257
|
"smoke:platform": "node scripts/platform-smoke.mjs",
|
|
255
258
|
"smoke:platform:doctor": "node scripts/platform-smoke.mjs doctor",
|
|
256
259
|
"smoke:platform:macos": "node scripts/platform-smoke.mjs run --target macos",
|
|
@@ -296,6 +299,7 @@ export default {
|
|
|
296
299
|
requiredSuites: [
|
|
297
300
|
"platform-build",
|
|
298
301
|
"cursor-native-visual-matrix",
|
|
302
|
+
"cursor-http1-live",
|
|
299
303
|
"cursor-bridge-visual-matrix",
|
|
300
304
|
"cursor-abort-cleanup",
|
|
301
305
|
...LOCAL_RESUME_SUITE_NAMES,
|
|
@@ -615,6 +619,32 @@ Required JSONL evidence:
|
|
|
615
619
|
- final assistant message's last non-empty `text` part contains `NATIVE_MATRIX_OK`;
|
|
616
620
|
- assistant usage fields are non-negative.
|
|
617
621
|
|
|
622
|
+
### `cursor-http1-live`
|
|
623
|
+
|
|
624
|
+
Cursor calls: `1`.
|
|
625
|
+
|
|
626
|
+
Required environment:
|
|
627
|
+
|
|
628
|
+
```text
|
|
629
|
+
PI_CURSOR_SETTING_SOURCES=none
|
|
630
|
+
PI_CURSOR_HTTP_1_1=1
|
|
631
|
+
PI_CURSOR_NATIVE_TOOL_DISPLAY=1
|
|
632
|
+
PI_CURSOR_REGISTER_NATIVE_TOOLS=1
|
|
633
|
+
PI_CURSOR_PI_TOOL_BRIDGE=0
|
|
634
|
+
PI_CURSOR_EXPOSE_BUILTIN_TOOLS=0
|
|
635
|
+
PI_CURSOR_SDK_EVENT_DEBUG=1
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
Purpose:
|
|
639
|
+
|
|
640
|
+
- prove the packed extension completes a real local provider turn through the SDK's opt-in HTTP/1.1/SSE transport on every required OS;
|
|
641
|
+
- prove the final TUI status visibly includes `cursor:local ... http1`;
|
|
642
|
+
- keep the default transport covered by the other required live suites.
|
|
643
|
+
|
|
644
|
+
Required final marker: `HTTP1_LIVE_OK`.
|
|
645
|
+
|
|
646
|
+
Required visual evidence: `http1-status`.
|
|
647
|
+
|
|
618
648
|
### `cursor-bridge-visual-matrix`
|
|
619
649
|
|
|
620
650
|
Cursor calls: `1`.
|
|
@@ -749,6 +779,7 @@ Per target maximum live Cursor invocations:
|
|
|
749
779
|
|
|
750
780
|
```text
|
|
751
781
|
cursor-native-visual-matrix: 1
|
|
782
|
+
cursor-http1-live: 1
|
|
752
783
|
cursor-bridge-visual-matrix: 1
|
|
753
784
|
cursor-abort-cleanup: 1
|
|
754
785
|
cursor-local-resume-restart: 2
|
|
@@ -763,9 +794,9 @@ cursor-local-resume-default-dry-run: 3
|
|
|
763
794
|
cursor-local-resume-cleanup: 4
|
|
764
795
|
```
|
|
765
796
|
|
|
766
|
-
Maximum per target: `
|
|
797
|
+
Maximum per target: `37` Cursor invocations.
|
|
767
798
|
|
|
768
|
-
Maximum full gate: `
|
|
799
|
+
Maximum full gate: `111` Cursor invocations.
|
|
769
800
|
|
|
770
801
|
The merge gate is `npm run smoke:platform:all`; that script runs doctor first and then the matrix to preserve this budget. No suite adds a new Cursor invocation without updating this plan and the scenario source of truth (`scripts/platform-smoke/scenarios.mjs`, plus `scripts/platform-smoke/local-resume-suites.mjs` for local-resume lanes).
|
|
771
802
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-cursor-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.61",
|
|
4
4
|
"description": "pi provider extension backed by @cursor/sdk local and cloud agents",
|
|
5
5
|
"author": "Mitch Fultz (https://github.com/fitchmultz)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -65,10 +65,21 @@
|
|
|
65
65
|
"scripts/platform-smoke/pty-capture.mjs",
|
|
66
66
|
"scripts/platform-smoke/render-ansi.mjs",
|
|
67
67
|
"scripts/platform-smoke/scenarios.mjs",
|
|
68
|
+
"scripts/platform-smoke/scenarios.d.mts",
|
|
68
69
|
"scripts/platform-smoke/target-runtime.mjs",
|
|
69
70
|
"scripts/platform-smoke/targets.mjs",
|
|
70
71
|
"scripts/platform-smoke/visual-evidence.mjs",
|
|
71
72
|
"scripts/platform-smoke/wrapped-line-match.mjs",
|
|
73
|
+
"scripts/lib/cloud-smoke-cleanup-evidence.mjs",
|
|
74
|
+
"scripts/lib/cloud-smoke-cleanup-evidence.d.mts",
|
|
75
|
+
"scripts/lib/cloud-smoke-artifacts.mjs",
|
|
76
|
+
"scripts/lib/cloud-smoke-artifacts.d.mts",
|
|
77
|
+
"scripts/lib/cloud-smoke-pi-runner.mjs",
|
|
78
|
+
"scripts/lib/cloud-smoke-pi-runner.d.mts",
|
|
79
|
+
"scripts/lib/cloud-smoke-github.mjs",
|
|
80
|
+
"scripts/lib/cloud-smoke-github.d.mts",
|
|
81
|
+
"scripts/lib/cloud-smoke-shutdown.mjs",
|
|
82
|
+
"scripts/lib/cloud-smoke-shutdown.d.mts",
|
|
72
83
|
"scripts/lib/cursor-cli-args.mjs",
|
|
73
84
|
"scripts/lib/cursor-cli-args.d.mts",
|
|
74
85
|
"scripts/lib/cursor-child-process.mjs",
|
|
@@ -132,7 +143,7 @@
|
|
|
132
143
|
"debug:sdk-events": "node scripts/debug-sdk-events.mjs",
|
|
133
144
|
"debug:provider-events": "node scripts/debug-provider-events.mjs",
|
|
134
145
|
"debug:mcp-coldstart": "node scripts/probe-mcp-coldstart.mjs",
|
|
135
|
-
"check:platform-smoke": "node --check platform-smoke.config.mjs && node --check scripts/cloud-runtime-smoke.mjs && node --check scripts/local-resume-cleanup-smoke.mjs && node --check scripts/local-resume-smoke.mjs && node --check scripts/lib/local-resume-smoke-harness.mjs && node --check scripts/platform-smoke.mjs && node --check scripts/platform-smoke/artifact-bundle-chunk.mjs && node --check scripts/platform-smoke/artifact-bundle-contract.mjs && node --check scripts/platform-smoke/artifact-fs-safety.mjs && node --check scripts/platform-smoke/artifact-anchored-extract.mjs && node --check scripts/platform-smoke/artifact-secrets.mjs && node --check scripts/platform-smoke/assertions.mjs && node --check scripts/platform-smoke/artifacts.mjs && node --check scripts/platform-smoke/card-detect.mjs && node --check scripts/platform-smoke/crabbox-runner.mjs && node --check scripts/platform-smoke/doctor.mjs && node --check scripts/platform-smoke/jsonl-text.mjs && node --check scripts/platform-smoke/live-suite-runner.mjs && node --check scripts/platform-smoke/local-resume-runner.mjs && node --check scripts/platform-smoke/pty-capture.mjs && node --check scripts/platform-smoke/render-ansi.mjs && node --check scripts/platform-smoke/scenarios.mjs && node --check scripts/platform-smoke/target-runtime.mjs && node --check scripts/platform-smoke/targets.mjs && node --check scripts/platform-smoke/visual-evidence.mjs && node --check scripts/platform-smoke/wrapped-line-match.mjs && vitest run test/platform-artifact-boundaries.test.ts test/platform-smoke-artifact-transport.test.ts test/smoke-cli-package-contracts.test.ts test/smoke-tooling.test.ts",
|
|
146
|
+
"check:platform-smoke": "node --check platform-smoke.config.mjs && node --check scripts/cloud-runtime-smoke.mjs && node --check scripts/lib/cloud-smoke-cleanup-evidence.mjs && node --check scripts/lib/cloud-smoke-artifacts.mjs && node --check scripts/lib/cloud-smoke-pi-runner.mjs && node --check scripts/lib/cloud-smoke-github.mjs && node --check scripts/lib/cloud-smoke-shutdown.mjs && node --check scripts/local-resume-cleanup-smoke.mjs && node --check scripts/local-resume-smoke.mjs && node --check scripts/lib/local-resume-smoke-harness.mjs && node --check scripts/platform-smoke.mjs && node --check scripts/platform-smoke/artifact-bundle-chunk.mjs && node --check scripts/platform-smoke/artifact-bundle-contract.mjs && node --check scripts/platform-smoke/artifact-fs-safety.mjs && node --check scripts/platform-smoke/artifact-anchored-extract.mjs && node --check scripts/platform-smoke/artifact-secrets.mjs && node --check scripts/platform-smoke/assertions.mjs && node --check scripts/platform-smoke/artifacts.mjs && node --check scripts/platform-smoke/card-detect.mjs && node --check scripts/platform-smoke/crabbox-runner.mjs && node --check scripts/platform-smoke/doctor.mjs && node --check scripts/platform-smoke/jsonl-text.mjs && node --check scripts/platform-smoke/live-suite-runner.mjs && node --check scripts/platform-smoke/local-resume-runner.mjs && node --check scripts/platform-smoke/pty-capture.mjs && node --check scripts/platform-smoke/render-ansi.mjs && node --check scripts/platform-smoke/scenarios.mjs && node --check scripts/platform-smoke/target-runtime.mjs && node --check scripts/platform-smoke/targets.mjs && node --check scripts/platform-smoke/visual-evidence.mjs && node --check scripts/platform-smoke/wrapped-line-match.mjs && vitest run test/platform-artifact-boundaries.test.ts test/platform-smoke-artifact-transport.test.ts test/cloud-smoke-helpers.test.ts test/cursor-sdk-cloud-list-runs-contract.test.ts test/smoke-cli-package-contracts.test.ts test/smoke-tooling.test.ts",
|
|
136
147
|
"smoke:platform": "node scripts/platform-smoke.mjs",
|
|
137
148
|
"smoke:platform:doctor": "node scripts/platform-smoke.mjs doctor",
|
|
138
149
|
"smoke:platform:macos": "node scripts/platform-smoke.mjs run --target macos",
|
|
@@ -1,3 +1,42 @@
|
|
|
1
|
-
export function buildCloudSmokeEnv(artifactDir: string, options?: {
|
|
1
|
+
export function buildCloudSmokeEnv(artifactDir: string, options?: {
|
|
2
|
+
contextHandoff?: "fresh" | "bootstrap" | "never";
|
|
3
|
+
repoUrl?: string;
|
|
4
|
+
startingRef?: string;
|
|
5
|
+
directPush?: boolean;
|
|
6
|
+
}): NodeJS.ProcessEnv;
|
|
2
7
|
export function buildCloudSmokeWorkspace(artifactDir: string): string;
|
|
3
8
|
export function cloudAgentIdsFromLifecycleArtifacts(artifactDir: string): string[];
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
assertCloudSmokeEvidenceSafe,
|
|
12
|
+
buildCloudSmokeEvidenceProvenance,
|
|
13
|
+
coordinateCloudSmokeReleaseGate,
|
|
14
|
+
listCloudSmokePackageSourcePaths,
|
|
15
|
+
projectCloudSmokeMatrixEvidence,
|
|
16
|
+
validateCloudSmokeMatrixEvidence,
|
|
17
|
+
} from "./lib/cloud-smoke-cleanup-evidence.d.mts";
|
|
18
|
+
|
|
19
|
+
export type {
|
|
20
|
+
CloudSmokeBranchLaneEvidence,
|
|
21
|
+
CloudSmokeCancelLaneEvidence,
|
|
22
|
+
CloudSmokeCleanupEvidence,
|
|
23
|
+
CloudSmokeDirectPushLaneEvidence,
|
|
24
|
+
CloudSmokeEvidenceBranch,
|
|
25
|
+
CloudSmokeEvidenceProvenance,
|
|
26
|
+
CloudSmokeLaneEvidence,
|
|
27
|
+
CloudSmokeLaneName,
|
|
28
|
+
CloudSmokeLifecycleDeleteLaneEvidence,
|
|
29
|
+
CloudSmokeMatrixEvidence,
|
|
30
|
+
CloudSmokeMissingBranchLaneEvidence,
|
|
31
|
+
CloudSmokePassiveArtifactsLaneEvidence,
|
|
32
|
+
CloudSmokeReleaseGateState,
|
|
33
|
+
CloudSmokeThrowawayRepositoryEvidence,
|
|
34
|
+
} from "./lib/cloud-smoke-cleanup-evidence.d.mts";
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
assertOwnedThrowawayRepositoryHandle,
|
|
38
|
+
cloudSmokeRepositoryDescription,
|
|
39
|
+
normalizeCloudSmokeGitHubRepo,
|
|
40
|
+
} from "./lib/cloud-smoke-github.d.mts";
|
|
41
|
+
|
|
42
|
+
export type { CloudSmokeOwnedRepository } from "./lib/cloud-smoke-github.d.mts";
|