deepline 0.3.213 → 0.3.214
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/client.ts +122 -32
- package/dist/bundling-sources/sdk/src/compat.ts +2 -0
- package/dist/bundling-sources/sdk/src/deployment-protection.ts +19 -0
- package/dist/bundling-sources/sdk/src/http.ts +3 -7
- package/dist/bundling-sources/sdk/src/index.ts +7 -0
- package/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/sdk/src/types.ts +25 -0
- package/dist/bundling-sources/shared_libs/observability/scheduled-jobs.json +18 -0
- package/dist/bundling-sources/shared_libs/observability/scheduled-work-manual.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-registry.ts +33 -7
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +11 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-heartbeat.ts +3 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-payload-transport.ts +53 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-runtime-watchdog.ts +187 -6
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +12 -3
- package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +5 -2
- package/dist/bundling-sources/shared_libs/plays/settings-contract.ts +176 -0
- package/dist/cli/index.js +560 -92
- package/dist/cli/index.mjs +560 -92
- package/dist/index.d.mts +165 -3
- package/dist/index.d.ts +165 -3
- package/dist/index.js +67 -35
- package/dist/index.mjs +67 -35
- package/dist/install-integrity.json +2 -0
- package/dist/release.d.mts +1 -1
- package/dist/release.d.ts +1 -1
- package/dist/release.js +1 -1
- package/dist/release.mjs +1 -1
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -864,7 +864,7 @@ var SDK_RELEASE = {
|
|
|
864
864
|
// getters keep their established compatibility behavior.
|
|
865
865
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
866
866
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
867
|
-
version: "0.3.
|
|
867
|
+
version: "0.3.214",
|
|
868
868
|
updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
|
|
869
869
|
packageCapabilities: {
|
|
870
870
|
updatePreferences: 1
|
|
@@ -1158,6 +1158,12 @@ function readSdkSkillsLocalVersion(baseUrl) {
|
|
|
1158
1158
|
}
|
|
1159
1159
|
}
|
|
1160
1160
|
|
|
1161
|
+
// src/deployment-protection.ts
|
|
1162
|
+
function deploymentProtectionHeaders() {
|
|
1163
|
+
const token = typeof process !== "undefined" ? process.env?.VERCEL_PROTECTION_BYPASS_TOKEN : void 0;
|
|
1164
|
+
return token ? { "x-vercel-protection-bypass": token } : {};
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1161
1167
|
// ../play-runtime/coordinator-headers.ts
|
|
1162
1168
|
var COORDINATOR_INTERNAL_TOKEN_HEADER = "x-deepline-internal-token";
|
|
1163
1169
|
var COORDINATOR_URL_OVERRIDE_HEADER = "x-deepline-coordinator-url";
|
|
@@ -1540,16 +1546,13 @@ var HttpClient = class {
|
|
|
1540
1546
|
"X-Deepline-SDK-Version": SDK_VERSION,
|
|
1541
1547
|
"X-Deepline-API-Contract": SDK_API_CONTRACT,
|
|
1542
1548
|
"X-Deepline-Run-Result-Shape": "canonical",
|
|
1543
|
-
...extra
|
|
1549
|
+
...extra,
|
|
1550
|
+
...deploymentProtectionHeaders()
|
|
1544
1551
|
};
|
|
1545
1552
|
const skillsVersion = this.readSkillsVersionHeader();
|
|
1546
1553
|
if (skillsVersion) {
|
|
1547
1554
|
headers["X-Deepline-Skills-Version"] = skillsVersion;
|
|
1548
1555
|
}
|
|
1549
|
-
const bypassToken = typeof process !== "undefined" ? process.env?.VERCEL_PROTECTION_BYPASS_TOKEN : void 0;
|
|
1550
|
-
if (bypassToken) {
|
|
1551
|
-
headers["x-vercel-protection-bypass"] = bypassToken;
|
|
1552
|
-
}
|
|
1553
1556
|
const playArtifactR2Prefix = typeof process !== "undefined" ? process.env?.DEEPLINE_PLAY_ARTIFACT_R2_PREFIX : void 0;
|
|
1554
1557
|
if (playArtifactR2Prefix) {
|
|
1555
1558
|
headers["x-deepline-play-artifact-r2-prefix"] = playArtifactR2Prefix;
|
|
@@ -4722,10 +4725,19 @@ function normalizePlayStatus(raw) {
|
|
|
4722
4725
|
);
|
|
4723
4726
|
}
|
|
4724
4727
|
const runId = typeof raw.runId === "string" ? raw.runId : typeof raw.workflowId === "string" ? raw.workflowId : packageRun?.id ?? "";
|
|
4728
|
+
const legacyOverview = runPackage?.overview ?? raw.overview;
|
|
4729
|
+
const runStatus = runPackage?.runStatus ?? raw.runStatus;
|
|
4725
4730
|
return {
|
|
4726
4731
|
...raw,
|
|
4727
4732
|
runId,
|
|
4728
|
-
...
|
|
4733
|
+
...isRecord7(legacyOverview) ? {
|
|
4734
|
+
overview: legacyOverview
|
|
4735
|
+
} : {},
|
|
4736
|
+
...isRecord7(runStatus) ? { runStatus } : {},
|
|
4737
|
+
...runPackage ? {
|
|
4738
|
+
package: runPackage,
|
|
4739
|
+
outputs: runPackage.outputs
|
|
4740
|
+
} : {},
|
|
4729
4741
|
status
|
|
4730
4742
|
};
|
|
4731
4743
|
}
|
|
@@ -4907,18 +4919,6 @@ function playRunResultFromStatus(status, startedAt, fallbackRunId) {
|
|
|
4907
4919
|
error: status.progress?.error ?? (status.status !== "completed" ? status.status : void 0)
|
|
4908
4920
|
};
|
|
4909
4921
|
}
|
|
4910
|
-
function playRunStatusFromState(state) {
|
|
4911
|
-
return {
|
|
4912
|
-
runId: state.runId,
|
|
4913
|
-
status: state.status,
|
|
4914
|
-
progress: {
|
|
4915
|
-
status: state.status,
|
|
4916
|
-
logs: state.logs,
|
|
4917
|
-
...state.error ? { error: state.error } : {}
|
|
4918
|
-
},
|
|
4919
|
-
..."result" in state ? { result: state.result } : {}
|
|
4920
|
-
};
|
|
4921
|
-
}
|
|
4922
4922
|
var DeeplineClient = class _DeeplineClient {
|
|
4923
4923
|
http;
|
|
4924
4924
|
config;
|
|
@@ -5255,6 +5255,12 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
5255
5255
|
options.includeSearchDebug ? "true" : "false"
|
|
5256
5256
|
);
|
|
5257
5257
|
params.set("search_mode", options.searchMode ?? "v2");
|
|
5258
|
+
if (options.limit !== void 0) {
|
|
5259
|
+
params.set("limit", String(options.limit));
|
|
5260
|
+
}
|
|
5261
|
+
if (options.offset !== void 0) {
|
|
5262
|
+
params.set("offset", String(options.offset));
|
|
5263
|
+
}
|
|
5258
5264
|
if (options.categories?.trim()) {
|
|
5259
5265
|
params.set("categories", options.categories.trim());
|
|
5260
5266
|
}
|
|
@@ -6316,9 +6322,18 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6316
6322
|
}
|
|
6317
6323
|
const query = params.size > 0 ? `?${params.toString()}` : "";
|
|
6318
6324
|
const response = await this.http.get(
|
|
6319
|
-
`/api/v2/runs/${encodeURIComponent(runId)}${query}
|
|
6325
|
+
`/api/v2/runs/${encodeURIComponent(runId)}${query}`,
|
|
6326
|
+
{ headers: { "x-deepline-run-status": "1" } }
|
|
6320
6327
|
);
|
|
6328
|
+
const responseRunStatus = isPlayRunPackage(response) ? response.runStatus : isPlayRunPackage(response.package) ? response.package.runStatus : response.runStatus;
|
|
6329
|
+
const responseOverview = isPlayRunPackage(response) ? response.overview : isPlayRunPackage(response.package) ? response.package.overview : response.overview;
|
|
6321
6330
|
const status = normalizePlayStatus(response);
|
|
6331
|
+
if (isRecord7(responseRunStatus)) {
|
|
6332
|
+
status.runStatus = responseRunStatus;
|
|
6333
|
+
}
|
|
6334
|
+
if (isRecord7(responseOverview)) {
|
|
6335
|
+
status.overview = responseOverview;
|
|
6336
|
+
}
|
|
6322
6337
|
if (options?.failedLogs !== true || status.status !== "failed") {
|
|
6323
6338
|
return status;
|
|
6324
6339
|
}
|
|
@@ -6359,7 +6374,10 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6359
6374
|
}
|
|
6360
6375
|
};
|
|
6361
6376
|
}
|
|
6362
|
-
/**
|
|
6377
|
+
/** Fetch only the legacy scalar lifecycle status for a run.
|
|
6378
|
+
*
|
|
6379
|
+
* @deprecated Use `client.runs.get(runId)` for the canonical run read.
|
|
6380
|
+
*/
|
|
6363
6381
|
async getRunLifecycleStatus(runId) {
|
|
6364
6382
|
const response = await this.http.get(
|
|
6365
6383
|
`/api/v2/runs/${encodeURIComponent(runId)}/status`
|
|
@@ -6535,9 +6553,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6535
6553
|
if (!status || !TERMINAL_PLAY_STATUSES.has(status.status)) {
|
|
6536
6554
|
continue;
|
|
6537
6555
|
}
|
|
6538
|
-
return await this.getRunStatus(status.runId || runId)
|
|
6539
|
-
() => state.latest ?? playRunStatusFromState(state)
|
|
6540
|
-
);
|
|
6556
|
+
return await this.getRunStatus(status.runId || runId);
|
|
6541
6557
|
}
|
|
6542
6558
|
if (options?.signal?.aborted) {
|
|
6543
6559
|
throw new DeeplineError("Run observation aborted.", void 0, "ABORTED");
|
|
@@ -6588,6 +6604,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6588
6604
|
for (; ; ) {
|
|
6589
6605
|
const connectedAt = Date.now();
|
|
6590
6606
|
let sawEvent = false;
|
|
6607
|
+
let terminalRunId = null;
|
|
6591
6608
|
let endedReason = "stream window ended before a terminal event";
|
|
6592
6609
|
try {
|
|
6593
6610
|
for await (const event of this.streamPlayRunEvents(runId, {
|
|
@@ -6600,9 +6617,8 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6600
6617
|
if (!status || !TERMINAL_PLAY_STATUSES.has(status.status)) {
|
|
6601
6618
|
continue;
|
|
6602
6619
|
}
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
);
|
|
6620
|
+
terminalRunId = status.runId || runId;
|
|
6621
|
+
break;
|
|
6606
6622
|
}
|
|
6607
6623
|
} catch (error) {
|
|
6608
6624
|
if (options?.signal?.aborted || !isTransientPlayStreamError(error)) {
|
|
@@ -6610,15 +6626,11 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6610
6626
|
}
|
|
6611
6627
|
endedReason = error instanceof Error ? error.message : String(error);
|
|
6612
6628
|
}
|
|
6613
|
-
|
|
6614
|
-
|
|
6615
|
-
refreshed = await this.getRunStatus(runId);
|
|
6616
|
-
} catch (error) {
|
|
6617
|
-
if (!isTransientPlayStreamError(error)) {
|
|
6618
|
-
throw error;
|
|
6619
|
-
}
|
|
6629
|
+
if (terminalRunId) {
|
|
6630
|
+
return await this.getRunStatus(terminalRunId);
|
|
6620
6631
|
}
|
|
6621
|
-
|
|
6632
|
+
const refreshed = await this.getRunStatus(runId);
|
|
6633
|
+
if (TERMINAL_PLAY_STATUSES.has(refreshed.status)) {
|
|
6622
6634
|
return refreshed;
|
|
6623
6635
|
}
|
|
6624
6636
|
if (sawEvent || Date.now() - connectedAt >= STREAM_HEALTHY_CONNECTION_MS) {
|
|
@@ -6907,6 +6919,26 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6907
6919
|
hasMore: Boolean(response.pagination?.hasMore ?? response.hasMore)
|
|
6908
6920
|
};
|
|
6909
6921
|
}
|
|
6922
|
+
/** Read definition-level settings, independently of code revisions. */
|
|
6923
|
+
async getPlaySettings(playName) {
|
|
6924
|
+
return this.http.get(
|
|
6925
|
+
`/api/v2/plays/${encodeURIComponent(playName)}/settings`
|
|
6926
|
+
);
|
|
6927
|
+
}
|
|
6928
|
+
/** Retry-safe field patch; omitted fields retain their current value. */
|
|
6929
|
+
async updatePlaySettings(playName, patch) {
|
|
6930
|
+
return this.http.patch(
|
|
6931
|
+
`/api/v2/plays/${encodeURIComponent(playName)}/settings`,
|
|
6932
|
+
patch
|
|
6933
|
+
);
|
|
6934
|
+
}
|
|
6935
|
+
/** List one bounded page of existing Play locations; continue with cursor. */
|
|
6936
|
+
async listPlaySettingsPaths(options = {}) {
|
|
6937
|
+
const query = new URLSearchParams();
|
|
6938
|
+
for (const [key, value] of Object.entries(options))
|
|
6939
|
+
if (value !== void 0) query.set(key, String(value));
|
|
6940
|
+
return this.http.get(`/api/v2/plays/settings/paths?${query}`);
|
|
6941
|
+
}
|
|
6910
6942
|
/** Set whether an org-owned Play sorts before unpinned Plays. */
|
|
6911
6943
|
async setPlayPinned(playName, pinned) {
|
|
6912
6944
|
return this.http.post(`/api/v2/plays/${encodeURIComponent(playName)}/pin`, {
|
package/dist/index.mjs
CHANGED
|
@@ -768,7 +768,7 @@ var SDK_RELEASE = {
|
|
|
768
768
|
// getters keep their established compatibility behavior.
|
|
769
769
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
770
770
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
771
|
-
version: "0.3.
|
|
771
|
+
version: "0.3.214",
|
|
772
772
|
updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
|
|
773
773
|
packageCapabilities: {
|
|
774
774
|
updatePreferences: 1
|
|
@@ -1062,6 +1062,12 @@ function readSdkSkillsLocalVersion(baseUrl) {
|
|
|
1062
1062
|
}
|
|
1063
1063
|
}
|
|
1064
1064
|
|
|
1065
|
+
// src/deployment-protection.ts
|
|
1066
|
+
function deploymentProtectionHeaders() {
|
|
1067
|
+
const token = typeof process !== "undefined" ? process.env?.VERCEL_PROTECTION_BYPASS_TOKEN : void 0;
|
|
1068
|
+
return token ? { "x-vercel-protection-bypass": token } : {};
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1065
1071
|
// ../play-runtime/coordinator-headers.ts
|
|
1066
1072
|
var COORDINATOR_INTERNAL_TOKEN_HEADER = "x-deepline-internal-token";
|
|
1067
1073
|
var COORDINATOR_URL_OVERRIDE_HEADER = "x-deepline-coordinator-url";
|
|
@@ -1444,16 +1450,13 @@ var HttpClient = class {
|
|
|
1444
1450
|
"X-Deepline-SDK-Version": SDK_VERSION,
|
|
1445
1451
|
"X-Deepline-API-Contract": SDK_API_CONTRACT,
|
|
1446
1452
|
"X-Deepline-Run-Result-Shape": "canonical",
|
|
1447
|
-
...extra
|
|
1453
|
+
...extra,
|
|
1454
|
+
...deploymentProtectionHeaders()
|
|
1448
1455
|
};
|
|
1449
1456
|
const skillsVersion = this.readSkillsVersionHeader();
|
|
1450
1457
|
if (skillsVersion) {
|
|
1451
1458
|
headers["X-Deepline-Skills-Version"] = skillsVersion;
|
|
1452
1459
|
}
|
|
1453
|
-
const bypassToken = typeof process !== "undefined" ? process.env?.VERCEL_PROTECTION_BYPASS_TOKEN : void 0;
|
|
1454
|
-
if (bypassToken) {
|
|
1455
|
-
headers["x-vercel-protection-bypass"] = bypassToken;
|
|
1456
|
-
}
|
|
1457
1460
|
const playArtifactR2Prefix = typeof process !== "undefined" ? process.env?.DEEPLINE_PLAY_ARTIFACT_R2_PREFIX : void 0;
|
|
1458
1461
|
if (playArtifactR2Prefix) {
|
|
1459
1462
|
headers["x-deepline-play-artifact-r2-prefix"] = playArtifactR2Prefix;
|
|
@@ -4626,10 +4629,19 @@ function normalizePlayStatus(raw) {
|
|
|
4626
4629
|
);
|
|
4627
4630
|
}
|
|
4628
4631
|
const runId = typeof raw.runId === "string" ? raw.runId : typeof raw.workflowId === "string" ? raw.workflowId : packageRun?.id ?? "";
|
|
4632
|
+
const legacyOverview = runPackage?.overview ?? raw.overview;
|
|
4633
|
+
const runStatus = runPackage?.runStatus ?? raw.runStatus;
|
|
4629
4634
|
return {
|
|
4630
4635
|
...raw,
|
|
4631
4636
|
runId,
|
|
4632
|
-
...
|
|
4637
|
+
...isRecord7(legacyOverview) ? {
|
|
4638
|
+
overview: legacyOverview
|
|
4639
|
+
} : {},
|
|
4640
|
+
...isRecord7(runStatus) ? { runStatus } : {},
|
|
4641
|
+
...runPackage ? {
|
|
4642
|
+
package: runPackage,
|
|
4643
|
+
outputs: runPackage.outputs
|
|
4644
|
+
} : {},
|
|
4633
4645
|
status
|
|
4634
4646
|
};
|
|
4635
4647
|
}
|
|
@@ -4811,18 +4823,6 @@ function playRunResultFromStatus(status, startedAt, fallbackRunId) {
|
|
|
4811
4823
|
error: status.progress?.error ?? (status.status !== "completed" ? status.status : void 0)
|
|
4812
4824
|
};
|
|
4813
4825
|
}
|
|
4814
|
-
function playRunStatusFromState(state) {
|
|
4815
|
-
return {
|
|
4816
|
-
runId: state.runId,
|
|
4817
|
-
status: state.status,
|
|
4818
|
-
progress: {
|
|
4819
|
-
status: state.status,
|
|
4820
|
-
logs: state.logs,
|
|
4821
|
-
...state.error ? { error: state.error } : {}
|
|
4822
|
-
},
|
|
4823
|
-
..."result" in state ? { result: state.result } : {}
|
|
4824
|
-
};
|
|
4825
|
-
}
|
|
4826
4826
|
var DeeplineClient = class _DeeplineClient {
|
|
4827
4827
|
http;
|
|
4828
4828
|
config;
|
|
@@ -5159,6 +5159,12 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
5159
5159
|
options.includeSearchDebug ? "true" : "false"
|
|
5160
5160
|
);
|
|
5161
5161
|
params.set("search_mode", options.searchMode ?? "v2");
|
|
5162
|
+
if (options.limit !== void 0) {
|
|
5163
|
+
params.set("limit", String(options.limit));
|
|
5164
|
+
}
|
|
5165
|
+
if (options.offset !== void 0) {
|
|
5166
|
+
params.set("offset", String(options.offset));
|
|
5167
|
+
}
|
|
5162
5168
|
if (options.categories?.trim()) {
|
|
5163
5169
|
params.set("categories", options.categories.trim());
|
|
5164
5170
|
}
|
|
@@ -6220,9 +6226,18 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6220
6226
|
}
|
|
6221
6227
|
const query = params.size > 0 ? `?${params.toString()}` : "";
|
|
6222
6228
|
const response = await this.http.get(
|
|
6223
|
-
`/api/v2/runs/${encodeURIComponent(runId)}${query}
|
|
6229
|
+
`/api/v2/runs/${encodeURIComponent(runId)}${query}`,
|
|
6230
|
+
{ headers: { "x-deepline-run-status": "1" } }
|
|
6224
6231
|
);
|
|
6232
|
+
const responseRunStatus = isPlayRunPackage(response) ? response.runStatus : isPlayRunPackage(response.package) ? response.package.runStatus : response.runStatus;
|
|
6233
|
+
const responseOverview = isPlayRunPackage(response) ? response.overview : isPlayRunPackage(response.package) ? response.package.overview : response.overview;
|
|
6225
6234
|
const status = normalizePlayStatus(response);
|
|
6235
|
+
if (isRecord7(responseRunStatus)) {
|
|
6236
|
+
status.runStatus = responseRunStatus;
|
|
6237
|
+
}
|
|
6238
|
+
if (isRecord7(responseOverview)) {
|
|
6239
|
+
status.overview = responseOverview;
|
|
6240
|
+
}
|
|
6226
6241
|
if (options?.failedLogs !== true || status.status !== "failed") {
|
|
6227
6242
|
return status;
|
|
6228
6243
|
}
|
|
@@ -6263,7 +6278,10 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6263
6278
|
}
|
|
6264
6279
|
};
|
|
6265
6280
|
}
|
|
6266
|
-
/**
|
|
6281
|
+
/** Fetch only the legacy scalar lifecycle status for a run.
|
|
6282
|
+
*
|
|
6283
|
+
* @deprecated Use `client.runs.get(runId)` for the canonical run read.
|
|
6284
|
+
*/
|
|
6267
6285
|
async getRunLifecycleStatus(runId) {
|
|
6268
6286
|
const response = await this.http.get(
|
|
6269
6287
|
`/api/v2/runs/${encodeURIComponent(runId)}/status`
|
|
@@ -6439,9 +6457,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6439
6457
|
if (!status || !TERMINAL_PLAY_STATUSES.has(status.status)) {
|
|
6440
6458
|
continue;
|
|
6441
6459
|
}
|
|
6442
|
-
return await this.getRunStatus(status.runId || runId)
|
|
6443
|
-
() => state.latest ?? playRunStatusFromState(state)
|
|
6444
|
-
);
|
|
6460
|
+
return await this.getRunStatus(status.runId || runId);
|
|
6445
6461
|
}
|
|
6446
6462
|
if (options?.signal?.aborted) {
|
|
6447
6463
|
throw new DeeplineError("Run observation aborted.", void 0, "ABORTED");
|
|
@@ -6492,6 +6508,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6492
6508
|
for (; ; ) {
|
|
6493
6509
|
const connectedAt = Date.now();
|
|
6494
6510
|
let sawEvent = false;
|
|
6511
|
+
let terminalRunId = null;
|
|
6495
6512
|
let endedReason = "stream window ended before a terminal event";
|
|
6496
6513
|
try {
|
|
6497
6514
|
for await (const event of this.streamPlayRunEvents(runId, {
|
|
@@ -6504,9 +6521,8 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6504
6521
|
if (!status || !TERMINAL_PLAY_STATUSES.has(status.status)) {
|
|
6505
6522
|
continue;
|
|
6506
6523
|
}
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
);
|
|
6524
|
+
terminalRunId = status.runId || runId;
|
|
6525
|
+
break;
|
|
6510
6526
|
}
|
|
6511
6527
|
} catch (error) {
|
|
6512
6528
|
if (options?.signal?.aborted || !isTransientPlayStreamError(error)) {
|
|
@@ -6514,15 +6530,11 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6514
6530
|
}
|
|
6515
6531
|
endedReason = error instanceof Error ? error.message : String(error);
|
|
6516
6532
|
}
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
refreshed = await this.getRunStatus(runId);
|
|
6520
|
-
} catch (error) {
|
|
6521
|
-
if (!isTransientPlayStreamError(error)) {
|
|
6522
|
-
throw error;
|
|
6523
|
-
}
|
|
6533
|
+
if (terminalRunId) {
|
|
6534
|
+
return await this.getRunStatus(terminalRunId);
|
|
6524
6535
|
}
|
|
6525
|
-
|
|
6536
|
+
const refreshed = await this.getRunStatus(runId);
|
|
6537
|
+
if (TERMINAL_PLAY_STATUSES.has(refreshed.status)) {
|
|
6526
6538
|
return refreshed;
|
|
6527
6539
|
}
|
|
6528
6540
|
if (sawEvent || Date.now() - connectedAt >= STREAM_HEALTHY_CONNECTION_MS) {
|
|
@@ -6811,6 +6823,26 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
6811
6823
|
hasMore: Boolean(response.pagination?.hasMore ?? response.hasMore)
|
|
6812
6824
|
};
|
|
6813
6825
|
}
|
|
6826
|
+
/** Read definition-level settings, independently of code revisions. */
|
|
6827
|
+
async getPlaySettings(playName) {
|
|
6828
|
+
return this.http.get(
|
|
6829
|
+
`/api/v2/plays/${encodeURIComponent(playName)}/settings`
|
|
6830
|
+
);
|
|
6831
|
+
}
|
|
6832
|
+
/** Retry-safe field patch; omitted fields retain their current value. */
|
|
6833
|
+
async updatePlaySettings(playName, patch) {
|
|
6834
|
+
return this.http.patch(
|
|
6835
|
+
`/api/v2/plays/${encodeURIComponent(playName)}/settings`,
|
|
6836
|
+
patch
|
|
6837
|
+
);
|
|
6838
|
+
}
|
|
6839
|
+
/** List one bounded page of existing Play locations; continue with cursor. */
|
|
6840
|
+
async listPlaySettingsPaths(options = {}) {
|
|
6841
|
+
const query = new URLSearchParams();
|
|
6842
|
+
for (const [key, value] of Object.entries(options))
|
|
6843
|
+
if (value !== void 0) query.set(key, String(value));
|
|
6844
|
+
return this.http.get(`/api/v2/plays/settings/paths?${query}`);
|
|
6845
|
+
}
|
|
6814
6846
|
/** Set whether an org-owned Play sorts before unpinned Plays. */
|
|
6815
6847
|
async setPlayPinned(playName, pinned) {
|
|
6816
6848
|
return this.http.post(`/api/v2/plays/${encodeURIComponent(playName)}/pin`, {
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
"dist/bundling-sources/sdk/src/client.ts",
|
|
6
6
|
"dist/bundling-sources/sdk/src/compat.ts",
|
|
7
7
|
"dist/bundling-sources/sdk/src/config.ts",
|
|
8
|
+
"dist/bundling-sources/sdk/src/deployment-protection.ts",
|
|
8
9
|
"dist/bundling-sources/sdk/src/errors.ts",
|
|
9
10
|
"dist/bundling-sources/sdk/src/gtm.ts",
|
|
10
11
|
"dist/bundling-sources/sdk/src/helpers.ts",
|
|
@@ -503,6 +504,7 @@
|
|
|
503
504
|
"dist/bundling-sources/shared_libs/plays/sandbox-runtime-limits.ts",
|
|
504
505
|
"dist/bundling-sources/shared_libs/plays/secret-guardrails.ts",
|
|
505
506
|
"dist/bundling-sources/shared_libs/plays/secrets/errors.ts",
|
|
507
|
+
"dist/bundling-sources/shared_libs/plays/settings-contract.ts",
|
|
506
508
|
"dist/bundling-sources/shared_libs/plays/share/copy.ts",
|
|
507
509
|
"dist/bundling-sources/shared_libs/plays/share/metrics.ts",
|
|
508
510
|
"dist/bundling-sources/shared_libs/plays/share/public-read-model.ts",
|
package/dist/release.d.mts
CHANGED
|
@@ -149,7 +149,7 @@ type SdkRelease = {
|
|
|
149
149
|
supportPolicy: SdkSupportPolicy;
|
|
150
150
|
};
|
|
151
151
|
declare const SDK_RELEASE: {
|
|
152
|
-
readonly version: "0.3.
|
|
152
|
+
readonly version: "0.3.214";
|
|
153
153
|
readonly updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.";
|
|
154
154
|
readonly packageCapabilities: {
|
|
155
155
|
readonly updatePreferences: 1;
|
package/dist/release.d.ts
CHANGED
|
@@ -149,7 +149,7 @@ type SdkRelease = {
|
|
|
149
149
|
supportPolicy: SdkSupportPolicy;
|
|
150
150
|
};
|
|
151
151
|
declare const SDK_RELEASE: {
|
|
152
|
-
readonly version: "0.3.
|
|
152
|
+
readonly version: "0.3.214";
|
|
153
153
|
readonly updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.";
|
|
154
154
|
readonly packageCapabilities: {
|
|
155
155
|
readonly updatePreferences: 1;
|
package/dist/release.js
CHANGED
|
@@ -74,7 +74,7 @@ var SDK_RELEASE = {
|
|
|
74
74
|
// getters keep their established compatibility behavior.
|
|
75
75
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
76
76
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
77
|
-
version: "0.3.
|
|
77
|
+
version: "0.3.214",
|
|
78
78
|
updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
|
|
79
79
|
packageCapabilities: {
|
|
80
80
|
updatePreferences: 1
|
package/dist/release.mjs
CHANGED
|
@@ -48,7 +48,7 @@ var SDK_RELEASE = {
|
|
|
48
48
|
// getters keep their established compatibility behavior.
|
|
49
49
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
50
50
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
51
|
-
version: "0.3.
|
|
51
|
+
version: "0.3.214",
|
|
52
52
|
updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
|
|
53
53
|
packageCapabilities: {
|
|
54
54
|
updatePreferences: 1
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deepline",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.214",
|
|
4
4
|
"description": "GTM data CLI and TypeScript SDK for coding agents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://code.deepline.com",
|
|
@@ -71,7 +71,8 @@
|
|
|
71
71
|
"csv-parse": "^5.6.0",
|
|
72
72
|
"csv-stringify": "^6.5.0",
|
|
73
73
|
"handlebars": "4.7.8",
|
|
74
|
-
"undici": "^6.22.0"
|
|
74
|
+
"undici": "^6.22.0",
|
|
75
|
+
"zod": "^4.0.0"
|
|
75
76
|
},
|
|
76
77
|
"optionalDependencies": {
|
|
77
78
|
"esbuild": "^0.27.0"
|