deepline 0.3.33 → 0.3.34
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/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/execution-protocol.ts +71 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backend.ts +3 -0
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/install-integrity.json +1 -0
- package/package.json +1 -1
|
@@ -199,7 +199,7 @@ export const SDK_RELEASE = {
|
|
|
199
199
|
// available at toolResponse.rawV2 while toolResponse.raw and all declared
|
|
200
200
|
// getters keep their established compatibility behavior.
|
|
201
201
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
202
|
-
version: '0.3.
|
|
202
|
+
version: '0.3.34',
|
|
203
203
|
updateSummary:
|
|
204
204
|
'Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.',
|
|
205
205
|
packageCapabilities: {
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execution ABI for a persisted Play launch.
|
|
3
|
+
*
|
|
4
|
+
* This is deliberately separate from a customer Play artifact version and a
|
|
5
|
+
* worker image/release id. The artifact is immutable customer code; this
|
|
6
|
+
* protocol names the stable coordinator <-> worker <-> runner contract used
|
|
7
|
+
* to resume that artifact. A worker may support several protocol versions,
|
|
8
|
+
* but it must reject an unknown one loudly rather than guessing how to replay
|
|
9
|
+
* a persisted run.
|
|
10
|
+
*/
|
|
11
|
+
export const PLAY_RUNTIME_PROTOCOL = {
|
|
12
|
+
/** Launches written before this field existed. */
|
|
13
|
+
legacy: 0,
|
|
14
|
+
/** Current scheduler/runner protocol. */
|
|
15
|
+
current: 1,
|
|
16
|
+
} as const;
|
|
17
|
+
|
|
18
|
+
export type PlayRuntimeProtocolVersion =
|
|
19
|
+
(typeof PLAY_RUNTIME_PROTOCOL)[keyof typeof PLAY_RUNTIME_PROTOCOL];
|
|
20
|
+
|
|
21
|
+
const SUPPORTED_PROTOCOLS = new Set<number>([
|
|
22
|
+
PLAY_RUNTIME_PROTOCOL.legacy,
|
|
23
|
+
PLAY_RUNTIME_PROTOCOL.current,
|
|
24
|
+
]);
|
|
25
|
+
|
|
26
|
+
/** New launches always get an explicit protocol snapshot. */
|
|
27
|
+
export function protocolForNewPlayRuntimeLaunch(
|
|
28
|
+
value?: PlayRuntimeProtocolVersion | null,
|
|
29
|
+
): PlayRuntimeProtocolVersion {
|
|
30
|
+
return value == null
|
|
31
|
+
? PLAY_RUNTIME_PROTOCOL.current
|
|
32
|
+
: protocolForPersistedPlayRuntimeLaunch(value);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Missing is valid only for historic rows written before the field existed. */
|
|
36
|
+
export function protocolForPersistedPlayRuntimeLaunch(
|
|
37
|
+
value: unknown,
|
|
38
|
+
): PlayRuntimeProtocolVersion {
|
|
39
|
+
if (value == null) return PLAY_RUNTIME_PROTOCOL.legacy;
|
|
40
|
+
if (
|
|
41
|
+
typeof value === 'number' &&
|
|
42
|
+
Number.isSafeInteger(value) &&
|
|
43
|
+
SUPPORTED_PROTOCOLS.has(value)
|
|
44
|
+
) {
|
|
45
|
+
return value as PlayRuntimeProtocolVersion;
|
|
46
|
+
}
|
|
47
|
+
throw new Error(
|
|
48
|
+
`Unsupported Play runtime protocol ${JSON.stringify(value)}. The run remains durable but requires a worker with an explicit compatibility handler.`,
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* A worker declares the persisted protocols it can execute. Keep an old
|
|
54
|
+
* protocol here until every open run using it is terminal and retained history
|
|
55
|
+
* no longer needs replay support; do not use deployment SHA as this boundary.
|
|
56
|
+
*/
|
|
57
|
+
export const WORKER_SUPPORTED_PLAY_RUNTIME_PROTOCOLS = [
|
|
58
|
+
PLAY_RUNTIME_PROTOCOL.legacy,
|
|
59
|
+
PLAY_RUNTIME_PROTOCOL.current,
|
|
60
|
+
] as const satisfies readonly PlayRuntimeProtocolVersion[];
|
|
61
|
+
|
|
62
|
+
export function assertWorkerSupportsPlayRuntimeProtocol(
|
|
63
|
+
value: unknown,
|
|
64
|
+
supported: readonly PlayRuntimeProtocolVersion[] = WORKER_SUPPORTED_PLAY_RUNTIME_PROTOCOLS,
|
|
65
|
+
): PlayRuntimeProtocolVersion {
|
|
66
|
+
const protocol = protocolForPersistedPlayRuntimeLaunch(value);
|
|
67
|
+
if (supported.includes(protocol)) return protocol;
|
|
68
|
+
throw new Error(
|
|
69
|
+
`Play runtime protocol ${protocol} is not supported by this worker. Refuse to execute rather than replaying with an incompatible runtime.`,
|
|
70
|
+
);
|
|
71
|
+
}
|
|
@@ -22,6 +22,7 @@ import type { PlayRunnerRuntimeTiming } from './protocol';
|
|
|
22
22
|
import type { RuntimeTestPolicyOverrides } from './test-runtime-seams';
|
|
23
23
|
import type { PlayRunInputPayload } from './play-input';
|
|
24
24
|
import type { RuntimeSandboxPlacementPolicyId } from './runtime-sandbox-placement-policy';
|
|
25
|
+
import type { PlayRuntimeProtocolVersion } from './execution-protocol';
|
|
25
26
|
|
|
26
27
|
export const PLAY_SCHEDULER_BACKENDS = {
|
|
27
28
|
/**
|
|
@@ -48,6 +49,8 @@ export type PlaySchedulerSubmitInput = {
|
|
|
48
49
|
runtimeArtifact?: unknown;
|
|
49
50
|
artifactHash: string;
|
|
50
51
|
graphHash: string;
|
|
52
|
+
/** Immutable scheduler/worker/runner ABI snapshot (not a Git SHA). */
|
|
53
|
+
runtimeProtocolVersion?: PlayRuntimeProtocolVersion | null;
|
|
51
54
|
input: PlayRunInputPayload;
|
|
52
55
|
/** Convex metadata for the exact input saved before scheduler submission. */
|
|
53
56
|
inputFileId?: string;
|
package/dist/cli/index.js
CHANGED
|
@@ -1043,7 +1043,7 @@ var SDK_RELEASE = {
|
|
|
1043
1043
|
// available at toolResponse.rawV2 while toolResponse.raw and all declared
|
|
1044
1044
|
// getters keep their established compatibility behavior.
|
|
1045
1045
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
1046
|
-
version: "0.3.
|
|
1046
|
+
version: "0.3.34",
|
|
1047
1047
|
updateSummary: "Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.",
|
|
1048
1048
|
packageCapabilities: {
|
|
1049
1049
|
updatePreferences: 1
|
package/dist/cli/index.mjs
CHANGED
|
@@ -1029,7 +1029,7 @@ var SDK_RELEASE = {
|
|
|
1029
1029
|
// available at toolResponse.rawV2 while toolResponse.raw and all declared
|
|
1030
1030
|
// getters keep their established compatibility behavior.
|
|
1031
1031
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
1032
|
-
version: "0.3.
|
|
1032
|
+
version: "0.3.34",
|
|
1033
1033
|
updateSummary: "Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.",
|
|
1034
1034
|
packageCapabilities: {
|
|
1035
1035
|
updatePreferences: 1
|
package/dist/index.js
CHANGED
|
@@ -779,7 +779,7 @@ var SDK_RELEASE = {
|
|
|
779
779
|
// available at toolResponse.rawV2 while toolResponse.raw and all declared
|
|
780
780
|
// getters keep their established compatibility behavior.
|
|
781
781
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
782
|
-
version: "0.3.
|
|
782
|
+
version: "0.3.34",
|
|
783
783
|
updateSummary: "Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.",
|
|
784
784
|
packageCapabilities: {
|
|
785
785
|
updatePreferences: 1
|
package/dist/index.mjs
CHANGED
|
@@ -702,7 +702,7 @@ var SDK_RELEASE = {
|
|
|
702
702
|
// available at toolResponse.rawV2 while toolResponse.raw and all declared
|
|
703
703
|
// getters keep their established compatibility behavior.
|
|
704
704
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
705
|
-
version: "0.3.
|
|
705
|
+
version: "0.3.34",
|
|
706
706
|
updateSummary: "Automatic CLI updates are now enabled by default. To opt out, run `deepline settings autoupdate off`; use `deepline settings autoupdate on` to re-enable updates or `deepline settings autoupdate pin <version>` to hold an exact release. This release also adds raw-v2 tool responses at toolResponse.rawV2 while preserving existing toolResponse.raw and declared getters.",
|
|
707
707
|
packageCapabilities: {
|
|
708
708
|
updatePreferences: 1
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"dist/bundling-sources/shared_libs/play-runtime/execution-capabilities.ts",
|
|
68
68
|
"dist/bundling-sources/shared_libs/play-runtime/execution-ledger-store.ts",
|
|
69
69
|
"dist/bundling-sources/shared_libs/play-runtime/execution-plan.ts",
|
|
70
|
+
"dist/bundling-sources/shared_libs/play-runtime/execution-protocol.ts",
|
|
70
71
|
"dist/bundling-sources/shared_libs/play-runtime/extractor-targets.ts",
|
|
71
72
|
"dist/bundling-sources/shared_libs/play-runtime/fixture-behavior.ts",
|
|
72
73
|
"dist/bundling-sources/shared_libs/play-runtime/fullenrich-batching.ts",
|