deepline 0.3.145 → 0.3.147
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 +1 -1
- package/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/async-operation.ts +40 -4
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +259 -7
- package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +10 -0
- package/dist/bundling-sources/shared_libs/play-runtime/fullenrich-batching.ts +2 -2
- package/dist/bundling-sources/shared_libs/play-runtime/protocol.ts +10 -0
- package/dist/bundling-sources/shared_libs/play-runtime/run-ledger.ts +58 -19
- package/dist/bundling-sources/shared_libs/play-runtime/run-snapshot-stream.ts +17 -11
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +57 -2
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/gateway-progress-registry.ts +14 -2
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-progress.ts +73 -16
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-state.ts +22 -1
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +84 -10
- package/dist/bundling-sources/shared_libs/play-runtime/step-progress.ts +7 -0
- package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +6 -2
- package/dist/bundling-sources/shared_libs/play-runtime/worker-api-types.ts +1 -0
- package/dist/cli/index.js +57 -17
- package/dist/cli/index.mjs +57 -17
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +25 -9
- package/dist/index.mjs +25 -9
- 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 +1 -1
package/dist/cli/index.mjs
CHANGED
|
@@ -3063,7 +3063,7 @@ var SDK_RELEASE = {
|
|
|
3063
3063
|
// getters keep their established compatibility behavior.
|
|
3064
3064
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
3065
3065
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
3066
|
-
version: "0.3.
|
|
3066
|
+
version: "0.3.147",
|
|
3067
3067
|
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.",
|
|
3068
3068
|
packageCapabilities: {
|
|
3069
3069
|
updatePreferences: 1
|
|
@@ -5308,19 +5308,32 @@ function summarizeRunRowOutcomes(snapshot) {
|
|
|
5308
5308
|
let completedRows = 0;
|
|
5309
5309
|
let failedRows = 0;
|
|
5310
5310
|
let totalRows = 0;
|
|
5311
|
+
let supersededRows = 0;
|
|
5311
5312
|
for (const step of Object.values(snapshot.stepsById)) {
|
|
5312
5313
|
const progress = step.progress;
|
|
5313
5314
|
if (!progress) continue;
|
|
5314
5315
|
completedRows += Math.max(0, finiteNumber(progress.completed) ?? 0);
|
|
5315
5316
|
failedRows += Math.max(0, finiteNumber(progress.failed) ?? 0);
|
|
5317
|
+
supersededRows += Math.max(0, finiteNumber(progress.supersededRows) ?? 0);
|
|
5316
5318
|
const stepTotal = finiteNumber(progress.total);
|
|
5317
|
-
totalRows += stepTotal !== null && stepTotal >= 0 ? stepTotal : Math.max(0, finiteNumber(progress.completed) ?? 0) + Math.max(0, finiteNumber(progress.failed) ?? 0);
|
|
5318
|
-
}
|
|
5319
|
+
totalRows += stepTotal !== null && stepTotal >= 0 ? stepTotal : Math.max(0, finiteNumber(progress.completed) ?? 0) + Math.max(0, finiteNumber(progress.failed) ?? 0) + Math.max(0, finiteNumber(progress.supersededRows) ?? 0);
|
|
5320
|
+
}
|
|
5321
|
+
const resultSummary = isRecord5(snapshot.resultSummary) ? snapshot.resultSummary : null;
|
|
5322
|
+
const resultRowOutcomes = isRecord5(resultSummary?.rowOutcomes) ? resultSummary.rowOutcomes : null;
|
|
5323
|
+
const terminalCompletedRows = finiteNumber(resultRowOutcomes?.completedRows);
|
|
5324
|
+
const terminalFailedRows = finiteNumber(resultRowOutcomes?.failedRows);
|
|
5325
|
+
const terminalTotalRows = finiteNumber(resultRowOutcomes?.totalRows);
|
|
5326
|
+
const terminalSupersededRows = finiteNumber(
|
|
5327
|
+
resultRowOutcomes?.supersededRows
|
|
5328
|
+
);
|
|
5329
|
+
const settledCompletedRows = terminalCompletedRows ?? completedRows;
|
|
5330
|
+
const settledFailedRows = terminalFailedRows ?? failedRows;
|
|
5319
5331
|
return {
|
|
5320
|
-
completedRows,
|
|
5321
|
-
failedRows,
|
|
5322
|
-
totalRows,
|
|
5323
|
-
hasRowFailures:
|
|
5332
|
+
completedRows: settledCompletedRows,
|
|
5333
|
+
failedRows: settledFailedRows,
|
|
5334
|
+
totalRows: terminalTotalRows ?? totalRows,
|
|
5335
|
+
hasRowFailures: settledFailedRows > 0,
|
|
5336
|
+
...(terminalSupersededRows ?? supersededRows) > 0 ? { supersededRows: terminalSupersededRows ?? supersededRows } : {}
|
|
5324
5337
|
};
|
|
5325
5338
|
}
|
|
5326
5339
|
function createEmptyPlayRunLedgerSnapshot(input2) {
|
|
@@ -5478,6 +5491,7 @@ function normalizeStepProgress(value) {
|
|
|
5478
5491
|
...optionalFiniteNumber(value.activeRows) !== void 0 ? { activeRows: optionalFiniteNumber(value.activeRows) } : {},
|
|
5479
5492
|
...optionalFiniteNumber(value.waitingRows) !== void 0 ? { waitingRows: optionalFiniteNumber(value.waitingRows) } : {},
|
|
5480
5493
|
...optionalFiniteNumber(value.completedRows) !== void 0 ? { completedRows: optionalFiniteNumber(value.completedRows) } : {},
|
|
5494
|
+
...optionalFiniteNumber(value.supersededRows) !== void 0 ? { supersededRows: optionalFiniteNumber(value.supersededRows) } : {},
|
|
5481
5495
|
...optionalString(value.message) ? { message: optionalString(value.message) } : {},
|
|
5482
5496
|
...optionalNullableString(value.artifactTableNamespace) !== void 0 ? {
|
|
5483
5497
|
artifactTableNamespace: optionalNullableString(
|
|
@@ -5729,6 +5743,7 @@ function buildSnapshotFromLedger(snapshot) {
|
|
|
5729
5743
|
activeRows: step.progress.activeRows,
|
|
5730
5744
|
waitingRows: step.progress.waitingRows,
|
|
5731
5745
|
completedRows: step.progress.completedRows,
|
|
5746
|
+
supersededRows: step.progress.supersededRows,
|
|
5732
5747
|
message: step.progress.message,
|
|
5733
5748
|
artifactTableNamespace: step.progress.artifactTableNamespace ?? step.artifactTableNamespace ?? null,
|
|
5734
5749
|
startedAt: step.startedAt ?? null,
|
|
@@ -5742,7 +5757,8 @@ function buildSnapshotFromLedger(snapshot) {
|
|
|
5742
5757
|
...step.progress?.nodeIo ? { nodeIo: step.progress.nodeIo } : {}
|
|
5743
5758
|
}));
|
|
5744
5759
|
const liveStatus = normalizePlayRunLiveStatus(snapshot.status);
|
|
5745
|
-
const
|
|
5760
|
+
const terminalRowOutcomes = isTerminalPlayRunLiveStatus(liveStatus) ? summarizeRunRowOutcomes(snapshot) : null;
|
|
5761
|
+
const rowOutcomes = terminalRowOutcomes && (Object.keys(snapshot.stepsById).length > 0 || terminalRowOutcomes.totalRows > 0 || (terminalRowOutcomes.supersededRows ?? 0) > 0) ? terminalRowOutcomes : null;
|
|
5746
5762
|
return {
|
|
5747
5763
|
runId: snapshot.runId,
|
|
5748
5764
|
status: liveStatus,
|
|
@@ -7430,7 +7446,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
7430
7446
|
* guaranteed support for every model. Runtime AI SDK/Gateway errors remain
|
|
7431
7447
|
* authoritative for model-gated values.
|
|
7432
7448
|
*
|
|
7433
|
-
* @param model - Gateway model id such as `"openai/gpt-5.
|
|
7449
|
+
* @param model - Exact-case Gateway model id such as `"openai/gpt-5.6-luna"`
|
|
7434
7450
|
* @returns Model metadata, provider option shapes, and runnable examples
|
|
7435
7451
|
*/
|
|
7436
7452
|
async describeModel(model) {
|
|
@@ -23728,14 +23744,18 @@ function getProgressLinesFromLiveEvent(event) {
|
|
|
23728
23744
|
const rowOutcomes = readRowOutcomeSummary({
|
|
23729
23745
|
rowOutcomes: payload.rowOutcomes
|
|
23730
23746
|
});
|
|
23731
|
-
if (rowOutcomes
|
|
23747
|
+
if (rowOutcomes && (rowOutcomes.hasRowFailures || (rowOutcomes.supersededRows ?? 0) > 0)) {
|
|
23732
23748
|
const counts = formatProgressCounts({
|
|
23733
23749
|
completed: rowOutcomes.completedRows,
|
|
23734
23750
|
total: rowOutcomes.totalRows,
|
|
23735
23751
|
failed: rowOutcomes.failedRows
|
|
23736
23752
|
});
|
|
23737
|
-
|
|
23738
|
-
|
|
23753
|
+
const outcomeParts = [
|
|
23754
|
+
counts,
|
|
23755
|
+
...rowOutcomes && (rowOutcomes.supersededRows ?? 0) > 0 ? [formatSupersededRowsNotice(rowOutcomes.supersededRows)] : []
|
|
23756
|
+
].filter((part) => Boolean(part));
|
|
23757
|
+
if (outcomeParts.length > 0) {
|
|
23758
|
+
lines.push(`progress run outcomes: ${outcomeParts.join(", ")}`);
|
|
23739
23759
|
}
|
|
23740
23760
|
}
|
|
23741
23761
|
return lines;
|
|
@@ -24614,9 +24634,13 @@ function buildRunWarnings(status, rowsInfo) {
|
|
|
24614
24634
|
const rowOutcomeWarnings = rowOutcomes?.hasRowFailures ? [
|
|
24615
24635
|
`${status.status === "completed" ? "Run completed" : "Run ended"} with ${formatInteger(rowOutcomes.failedRows)} failed row(s); inspect the persisted failed rows before treating the output as complete.`
|
|
24616
24636
|
] : [];
|
|
24637
|
+
const supersededRowNotices = (rowOutcomes?.supersededRows ?? 0) > 0 ? [
|
|
24638
|
+
`Latest-write-wins: ${formatSupersededRowsNotice(rowOutcomes.supersededRows ?? 0)}; the newer write still owns that Runtime Sheet row.`
|
|
24639
|
+
] : [];
|
|
24617
24640
|
if (status.status === "completed" && rowsInfo?.totalRows === 0) {
|
|
24618
24641
|
return [
|
|
24619
24642
|
...rowOutcomeWarnings,
|
|
24643
|
+
...supersededRowNotices,
|
|
24620
24644
|
"Run completed with 0 output rows.",
|
|
24621
24645
|
...outputWarnings
|
|
24622
24646
|
];
|
|
@@ -24624,11 +24648,12 @@ function buildRunWarnings(status, rowsInfo) {
|
|
|
24624
24648
|
if (rowsInfo && !rowsInfo.complete) {
|
|
24625
24649
|
return [
|
|
24626
24650
|
...rowOutcomeWarnings,
|
|
24651
|
+
...supersededRowNotices,
|
|
24627
24652
|
`Run output is partial: showing ${rowsInfo.rows.length} preview row(s) of ${rowsInfo.totalRows}.`,
|
|
24628
24653
|
...outputWarnings
|
|
24629
24654
|
];
|
|
24630
24655
|
}
|
|
24631
|
-
return [...rowOutcomeWarnings, ...outputWarnings];
|
|
24656
|
+
return [...rowOutcomeWarnings, ...supersededRowNotices, ...outputWarnings];
|
|
24632
24657
|
}
|
|
24633
24658
|
function buildRunNextCommands(status) {
|
|
24634
24659
|
const runId = status.runId?.trim();
|
|
@@ -24664,6 +24689,9 @@ function getNumericField(value, key) {
|
|
|
24664
24689
|
const field = getRecordField(value, key);
|
|
24665
24690
|
return typeof field === "number" && Number.isFinite(field) ? field : null;
|
|
24666
24691
|
}
|
|
24692
|
+
function formatSupersededRowsNotice(count) {
|
|
24693
|
+
return `${formatInteger(count)} row${count === 1 ? "" : "s"} skipped because a newer Runtime Sheet write took precedence`;
|
|
24694
|
+
}
|
|
24667
24695
|
function readRowOutcomeSummary(value) {
|
|
24668
24696
|
const record3 = getRecordField(value, "rowOutcomes");
|
|
24669
24697
|
if (!record3) return null;
|
|
@@ -24674,11 +24702,13 @@ function readRowOutcomeSummary(value) {
|
|
|
24674
24702
|
return null;
|
|
24675
24703
|
}
|
|
24676
24704
|
const explicitHasFailures = getRecordField(record3, "hasRowFailures");
|
|
24705
|
+
const supersededRows = getNumericField(record3, "supersededRows");
|
|
24677
24706
|
return {
|
|
24678
24707
|
completedRows,
|
|
24679
24708
|
failedRows,
|
|
24680
24709
|
totalRows,
|
|
24681
|
-
hasRowFailures: typeof explicitHasFailures === "boolean" ? explicitHasFailures : failedRows > 0
|
|
24710
|
+
hasRowFailures: typeof explicitHasFailures === "boolean" ? explicitHasFailures : failedRows > 0,
|
|
24711
|
+
...supersededRows !== null ? { supersededRows: Math.max(0, supersededRows) } : {}
|
|
24682
24712
|
};
|
|
24683
24713
|
}
|
|
24684
24714
|
function getStringField(value, key) {
|
|
@@ -24921,12 +24951,16 @@ function normalizeProgressForEnvelope(status, rowsInfo) {
|
|
|
24921
24951
|
const total = rowOutcomes?.totalRows ?? getNumericField(progress, "totalRows") ?? getNumericField(progress, "total") ?? rowsInfo?.totalRows ?? null;
|
|
24922
24952
|
const failed = rowOutcomes?.failedRows ?? getNumericField(progress, "failed") ?? getNumericField(progress, "failedRows") ?? null;
|
|
24923
24953
|
const completed = rowOutcomes?.completedRows ?? getNumericField(progress, "completed") ?? getNumericField(progress, "completedRows") ?? (status.status === "completed" ? total : null);
|
|
24924
|
-
const
|
|
24954
|
+
const supersededRows = rowOutcomes?.supersededRows ?? getNumericField(progress, "supersededRows");
|
|
24955
|
+
const supersededOffset = supersededRows ?? 0;
|
|
24956
|
+
const progressPending = getNumericField(progress, "pending");
|
|
24957
|
+
const pending = (progressPending !== null ? Math.max(0, progressPending - supersededOffset) : null) ?? (typeof total === "number" && typeof completed === "number" && typeof failed === "number" ? Math.max(0, total - completed - failed - supersededOffset) : null);
|
|
24925
24958
|
return {
|
|
24926
24959
|
total,
|
|
24927
24960
|
totalRows: total,
|
|
24928
24961
|
completed,
|
|
24929
24962
|
completedRows: completed,
|
|
24963
|
+
...supersededRows !== null ? { supersededRows: Math.max(0, supersededRows) } : {},
|
|
24930
24964
|
pending,
|
|
24931
24965
|
failed,
|
|
24932
24966
|
executed: getNumericField(progress, "executed"),
|
|
@@ -25057,6 +25091,9 @@ function compactPlayStatus(status) {
|
|
|
25057
25091
|
) : [],
|
|
25058
25092
|
...rowOutcomes2.hasRowFailures ? [
|
|
25059
25093
|
`${status.status === "completed" ? "Run completed" : "Run ended"} with ${formatInteger(rowOutcomes2.failedRows)} failed row(s); inspect the persisted failed rows before treating the output as complete.`
|
|
25094
|
+
] : [],
|
|
25095
|
+
...(rowOutcomes2.supersededRows ?? 0) > 0 ? [
|
|
25096
|
+
`Latest-write-wins: ${formatSupersededRowsNotice(rowOutcomes2.supersededRows ?? 0)}; the newer write still owns that Runtime Sheet row.`
|
|
25060
25097
|
] : []
|
|
25061
25098
|
]
|
|
25062
25099
|
} : packaged;
|
|
@@ -48081,7 +48118,7 @@ Examples:
|
|
|
48081
48118
|
deepline tools describe hunter_email_verifier --schema-only
|
|
48082
48119
|
deepline tools describe hunter_email_verifier --examples-only
|
|
48083
48120
|
deepline tools describe hunter_email_verifier --json
|
|
48084
|
-
deepline tools describe deeplineagent --model openai/gpt-5.
|
|
48121
|
+
deepline tools describe deeplineagent --model openai/gpt-5.6-luna --json
|
|
48085
48122
|
deepline tools describe ai_inference --estimate-payload @payload.json --json
|
|
48086
48123
|
deepline tools describe ai_evaluate --estimate-payload @payload.json --json
|
|
48087
48124
|
deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
|
|
@@ -48127,9 +48164,11 @@ Notes:
|
|
|
48127
48164
|
waterfalls, row maps, checkpoints, and retries.
|
|
48128
48165
|
Calling a provider-backed tool can spend Deepline credits. Use --json for the
|
|
48129
48166
|
stable result payload plus output preview and debugging helpers.
|
|
48167
|
+
--timeout sets this CLI request's HTTP deadline; it does not cancel provider work.
|
|
48130
48168
|
|
|
48131
48169
|
Examples:
|
|
48132
48170
|
deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
|
|
48171
|
+
deepline tools execute bounceban_verify_bulk --input @batch.json --timeout 10m --json
|
|
48133
48172
|
deepline tools execute hunter_email_verifier -p email=a@b.com
|
|
48134
48173
|
deepline tools execute test_rate_limit --input '{"key":"smoke"}' --timeout 90s --json
|
|
48135
48174
|
deepline tools execute test_rate_limit --input '{"key":"smoke"}' --json | jq '.status'
|
|
@@ -48154,7 +48193,7 @@ Examples:
|
|
|
48154
48193
|
"Merge a JSON object or @file path into the tool params"
|
|
48155
48194
|
).option(
|
|
48156
48195
|
"--timeout <duration>",
|
|
48157
|
-
"
|
|
48196
|
+
"Client-side HTTP deadline (for example 90s, 5m, or 1h; bare numbers are seconds); it does not cancel provider work"
|
|
48158
48197
|
).option(
|
|
48159
48198
|
"--output-format <format>",
|
|
48160
48199
|
"Output format: auto, csv, csv_file, json, or json_file"
|
|
@@ -49779,6 +49818,7 @@ async function executeTool(args) {
|
|
|
49779
49818
|
return 2;
|
|
49780
49819
|
}
|
|
49781
49820
|
const rawResponse = await client2.executeTool(parsed.toolId, parsed.params, {
|
|
49821
|
+
...parsed.timeoutMs !== void 0 ? { timeout: parsed.timeoutMs } : {},
|
|
49782
49822
|
responseIntent: parsed.outPath || parsed.outputFormat === "csv" || parsed.outputFormat === "csv_file" ? "row_artifact" : "raw",
|
|
49783
49823
|
...parsed.timeoutMs !== void 0 ? { timeout: parsed.timeoutMs } : {}
|
|
49784
49824
|
});
|
package/dist/index.d.mts
CHANGED
|
@@ -4501,7 +4501,7 @@ declare class DeeplineClient {
|
|
|
4501
4501
|
* guaranteed support for every model. Runtime AI SDK/Gateway errors remain
|
|
4502
4502
|
* authoritative for model-gated values.
|
|
4503
4503
|
*
|
|
4504
|
-
* @param model - Gateway model id such as `"openai/gpt-5.
|
|
4504
|
+
* @param model - Exact-case Gateway model id such as `"openai/gpt-5.6-luna"`
|
|
4505
4505
|
* @returns Model metadata, provider option shapes, and runnable examples
|
|
4506
4506
|
*/
|
|
4507
4507
|
describeModel(model: string): Promise<DeeplineAgentModelDescription>;
|
package/dist/index.d.ts
CHANGED
|
@@ -4501,7 +4501,7 @@ declare class DeeplineClient {
|
|
|
4501
4501
|
* guaranteed support for every model. Runtime AI SDK/Gateway errors remain
|
|
4502
4502
|
* authoritative for model-gated values.
|
|
4503
4503
|
*
|
|
4504
|
-
* @param model - Gateway model id such as `"openai/gpt-5.
|
|
4504
|
+
* @param model - Exact-case Gateway model id such as `"openai/gpt-5.6-luna"`
|
|
4505
4505
|
* @returns Model metadata, provider option shapes, and runnable examples
|
|
4506
4506
|
*/
|
|
4507
4507
|
describeModel(model: string): Promise<DeeplineAgentModelDescription>;
|
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.147",
|
|
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
|
|
@@ -3066,19 +3066,32 @@ function summarizeRunRowOutcomes(snapshot) {
|
|
|
3066
3066
|
let completedRows = 0;
|
|
3067
3067
|
let failedRows = 0;
|
|
3068
3068
|
let totalRows = 0;
|
|
3069
|
+
let supersededRows = 0;
|
|
3069
3070
|
for (const step of Object.values(snapshot.stepsById)) {
|
|
3070
3071
|
const progress = step.progress;
|
|
3071
3072
|
if (!progress) continue;
|
|
3072
3073
|
completedRows += Math.max(0, finiteNumber(progress.completed) ?? 0);
|
|
3073
3074
|
failedRows += Math.max(0, finiteNumber(progress.failed) ?? 0);
|
|
3075
|
+
supersededRows += Math.max(0, finiteNumber(progress.supersededRows) ?? 0);
|
|
3074
3076
|
const stepTotal = finiteNumber(progress.total);
|
|
3075
|
-
totalRows += stepTotal !== null && stepTotal >= 0 ? stepTotal : Math.max(0, finiteNumber(progress.completed) ?? 0) + Math.max(0, finiteNumber(progress.failed) ?? 0);
|
|
3076
|
-
}
|
|
3077
|
+
totalRows += stepTotal !== null && stepTotal >= 0 ? stepTotal : Math.max(0, finiteNumber(progress.completed) ?? 0) + Math.max(0, finiteNumber(progress.failed) ?? 0) + Math.max(0, finiteNumber(progress.supersededRows) ?? 0);
|
|
3078
|
+
}
|
|
3079
|
+
const resultSummary = isRecord5(snapshot.resultSummary) ? snapshot.resultSummary : null;
|
|
3080
|
+
const resultRowOutcomes = isRecord5(resultSummary?.rowOutcomes) ? resultSummary.rowOutcomes : null;
|
|
3081
|
+
const terminalCompletedRows = finiteNumber(resultRowOutcomes?.completedRows);
|
|
3082
|
+
const terminalFailedRows = finiteNumber(resultRowOutcomes?.failedRows);
|
|
3083
|
+
const terminalTotalRows = finiteNumber(resultRowOutcomes?.totalRows);
|
|
3084
|
+
const terminalSupersededRows = finiteNumber(
|
|
3085
|
+
resultRowOutcomes?.supersededRows
|
|
3086
|
+
);
|
|
3087
|
+
const settledCompletedRows = terminalCompletedRows ?? completedRows;
|
|
3088
|
+
const settledFailedRows = terminalFailedRows ?? failedRows;
|
|
3077
3089
|
return {
|
|
3078
|
-
completedRows,
|
|
3079
|
-
failedRows,
|
|
3080
|
-
totalRows,
|
|
3081
|
-
hasRowFailures:
|
|
3090
|
+
completedRows: settledCompletedRows,
|
|
3091
|
+
failedRows: settledFailedRows,
|
|
3092
|
+
totalRows: terminalTotalRows ?? totalRows,
|
|
3093
|
+
hasRowFailures: settledFailedRows > 0,
|
|
3094
|
+
...(terminalSupersededRows ?? supersededRows) > 0 ? { supersededRows: terminalSupersededRows ?? supersededRows } : {}
|
|
3082
3095
|
};
|
|
3083
3096
|
}
|
|
3084
3097
|
function createEmptyPlayRunLedgerSnapshot(input) {
|
|
@@ -3236,6 +3249,7 @@ function normalizeStepProgress(value) {
|
|
|
3236
3249
|
...optionalFiniteNumber(value.activeRows) !== void 0 ? { activeRows: optionalFiniteNumber(value.activeRows) } : {},
|
|
3237
3250
|
...optionalFiniteNumber(value.waitingRows) !== void 0 ? { waitingRows: optionalFiniteNumber(value.waitingRows) } : {},
|
|
3238
3251
|
...optionalFiniteNumber(value.completedRows) !== void 0 ? { completedRows: optionalFiniteNumber(value.completedRows) } : {},
|
|
3252
|
+
...optionalFiniteNumber(value.supersededRows) !== void 0 ? { supersededRows: optionalFiniteNumber(value.supersededRows) } : {},
|
|
3239
3253
|
...optionalString(value.message) ? { message: optionalString(value.message) } : {},
|
|
3240
3254
|
...optionalNullableString(value.artifactTableNamespace) !== void 0 ? {
|
|
3241
3255
|
artifactTableNamespace: optionalNullableString(
|
|
@@ -3387,6 +3401,7 @@ function buildSnapshotFromLedger(snapshot) {
|
|
|
3387
3401
|
activeRows: step.progress.activeRows,
|
|
3388
3402
|
waitingRows: step.progress.waitingRows,
|
|
3389
3403
|
completedRows: step.progress.completedRows,
|
|
3404
|
+
supersededRows: step.progress.supersededRows,
|
|
3390
3405
|
message: step.progress.message,
|
|
3391
3406
|
artifactTableNamespace: step.progress.artifactTableNamespace ?? step.artifactTableNamespace ?? null,
|
|
3392
3407
|
startedAt: step.startedAt ?? null,
|
|
@@ -3400,7 +3415,8 @@ function buildSnapshotFromLedger(snapshot) {
|
|
|
3400
3415
|
...step.progress?.nodeIo ? { nodeIo: step.progress.nodeIo } : {}
|
|
3401
3416
|
}));
|
|
3402
3417
|
const liveStatus = normalizePlayRunLiveStatus(snapshot.status);
|
|
3403
|
-
const
|
|
3418
|
+
const terminalRowOutcomes = isTerminalPlayRunLiveStatus(liveStatus) ? summarizeRunRowOutcomes(snapshot) : null;
|
|
3419
|
+
const rowOutcomes = terminalRowOutcomes && (Object.keys(snapshot.stepsById).length > 0 || terminalRowOutcomes.totalRows > 0 || (terminalRowOutcomes.supersededRows ?? 0) > 0) ? terminalRowOutcomes : null;
|
|
3404
3420
|
return {
|
|
3405
3421
|
runId: snapshot.runId,
|
|
3406
3422
|
status: liveStatus,
|
|
@@ -5109,7 +5125,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
5109
5125
|
* guaranteed support for every model. Runtime AI SDK/Gateway errors remain
|
|
5110
5126
|
* authoritative for model-gated values.
|
|
5111
5127
|
*
|
|
5112
|
-
* @param model - Gateway model id such as `"openai/gpt-5.
|
|
5128
|
+
* @param model - Exact-case Gateway model id such as `"openai/gpt-5.6-luna"`
|
|
5113
5129
|
* @returns Model metadata, provider option shapes, and runnable examples
|
|
5114
5130
|
*/
|
|
5115
5131
|
async describeModel(model) {
|
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.147",
|
|
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
|
|
@@ -2970,19 +2970,32 @@ function summarizeRunRowOutcomes(snapshot) {
|
|
|
2970
2970
|
let completedRows = 0;
|
|
2971
2971
|
let failedRows = 0;
|
|
2972
2972
|
let totalRows = 0;
|
|
2973
|
+
let supersededRows = 0;
|
|
2973
2974
|
for (const step of Object.values(snapshot.stepsById)) {
|
|
2974
2975
|
const progress = step.progress;
|
|
2975
2976
|
if (!progress) continue;
|
|
2976
2977
|
completedRows += Math.max(0, finiteNumber(progress.completed) ?? 0);
|
|
2977
2978
|
failedRows += Math.max(0, finiteNumber(progress.failed) ?? 0);
|
|
2979
|
+
supersededRows += Math.max(0, finiteNumber(progress.supersededRows) ?? 0);
|
|
2978
2980
|
const stepTotal = finiteNumber(progress.total);
|
|
2979
|
-
totalRows += stepTotal !== null && stepTotal >= 0 ? stepTotal : Math.max(0, finiteNumber(progress.completed) ?? 0) + Math.max(0, finiteNumber(progress.failed) ?? 0);
|
|
2980
|
-
}
|
|
2981
|
+
totalRows += stepTotal !== null && stepTotal >= 0 ? stepTotal : Math.max(0, finiteNumber(progress.completed) ?? 0) + Math.max(0, finiteNumber(progress.failed) ?? 0) + Math.max(0, finiteNumber(progress.supersededRows) ?? 0);
|
|
2982
|
+
}
|
|
2983
|
+
const resultSummary = isRecord5(snapshot.resultSummary) ? snapshot.resultSummary : null;
|
|
2984
|
+
const resultRowOutcomes = isRecord5(resultSummary?.rowOutcomes) ? resultSummary.rowOutcomes : null;
|
|
2985
|
+
const terminalCompletedRows = finiteNumber(resultRowOutcomes?.completedRows);
|
|
2986
|
+
const terminalFailedRows = finiteNumber(resultRowOutcomes?.failedRows);
|
|
2987
|
+
const terminalTotalRows = finiteNumber(resultRowOutcomes?.totalRows);
|
|
2988
|
+
const terminalSupersededRows = finiteNumber(
|
|
2989
|
+
resultRowOutcomes?.supersededRows
|
|
2990
|
+
);
|
|
2991
|
+
const settledCompletedRows = terminalCompletedRows ?? completedRows;
|
|
2992
|
+
const settledFailedRows = terminalFailedRows ?? failedRows;
|
|
2981
2993
|
return {
|
|
2982
|
-
completedRows,
|
|
2983
|
-
failedRows,
|
|
2984
|
-
totalRows,
|
|
2985
|
-
hasRowFailures:
|
|
2994
|
+
completedRows: settledCompletedRows,
|
|
2995
|
+
failedRows: settledFailedRows,
|
|
2996
|
+
totalRows: terminalTotalRows ?? totalRows,
|
|
2997
|
+
hasRowFailures: settledFailedRows > 0,
|
|
2998
|
+
...(terminalSupersededRows ?? supersededRows) > 0 ? { supersededRows: terminalSupersededRows ?? supersededRows } : {}
|
|
2986
2999
|
};
|
|
2987
3000
|
}
|
|
2988
3001
|
function createEmptyPlayRunLedgerSnapshot(input) {
|
|
@@ -3140,6 +3153,7 @@ function normalizeStepProgress(value) {
|
|
|
3140
3153
|
...optionalFiniteNumber(value.activeRows) !== void 0 ? { activeRows: optionalFiniteNumber(value.activeRows) } : {},
|
|
3141
3154
|
...optionalFiniteNumber(value.waitingRows) !== void 0 ? { waitingRows: optionalFiniteNumber(value.waitingRows) } : {},
|
|
3142
3155
|
...optionalFiniteNumber(value.completedRows) !== void 0 ? { completedRows: optionalFiniteNumber(value.completedRows) } : {},
|
|
3156
|
+
...optionalFiniteNumber(value.supersededRows) !== void 0 ? { supersededRows: optionalFiniteNumber(value.supersededRows) } : {},
|
|
3143
3157
|
...optionalString(value.message) ? { message: optionalString(value.message) } : {},
|
|
3144
3158
|
...optionalNullableString(value.artifactTableNamespace) !== void 0 ? {
|
|
3145
3159
|
artifactTableNamespace: optionalNullableString(
|
|
@@ -3291,6 +3305,7 @@ function buildSnapshotFromLedger(snapshot) {
|
|
|
3291
3305
|
activeRows: step.progress.activeRows,
|
|
3292
3306
|
waitingRows: step.progress.waitingRows,
|
|
3293
3307
|
completedRows: step.progress.completedRows,
|
|
3308
|
+
supersededRows: step.progress.supersededRows,
|
|
3294
3309
|
message: step.progress.message,
|
|
3295
3310
|
artifactTableNamespace: step.progress.artifactTableNamespace ?? step.artifactTableNamespace ?? null,
|
|
3296
3311
|
startedAt: step.startedAt ?? null,
|
|
@@ -3304,7 +3319,8 @@ function buildSnapshotFromLedger(snapshot) {
|
|
|
3304
3319
|
...step.progress?.nodeIo ? { nodeIo: step.progress.nodeIo } : {}
|
|
3305
3320
|
}));
|
|
3306
3321
|
const liveStatus = normalizePlayRunLiveStatus(snapshot.status);
|
|
3307
|
-
const
|
|
3322
|
+
const terminalRowOutcomes = isTerminalPlayRunLiveStatus(liveStatus) ? summarizeRunRowOutcomes(snapshot) : null;
|
|
3323
|
+
const rowOutcomes = terminalRowOutcomes && (Object.keys(snapshot.stepsById).length > 0 || terminalRowOutcomes.totalRows > 0 || (terminalRowOutcomes.supersededRows ?? 0) > 0) ? terminalRowOutcomes : null;
|
|
3308
3324
|
return {
|
|
3309
3325
|
runId: snapshot.runId,
|
|
3310
3326
|
status: liveStatus,
|
|
@@ -5013,7 +5029,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
5013
5029
|
* guaranteed support for every model. Runtime AI SDK/Gateway errors remain
|
|
5014
5030
|
* authoritative for model-gated values.
|
|
5015
5031
|
*
|
|
5016
|
-
* @param model - Gateway model id such as `"openai/gpt-5.
|
|
5032
|
+
* @param model - Exact-case Gateway model id such as `"openai/gpt-5.6-luna"`
|
|
5017
5033
|
* @returns Model metadata, provider option shapes, and runnable examples
|
|
5018
5034
|
*/
|
|
5019
5035
|
async describeModel(model) {
|
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.147";
|
|
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.147";
|
|
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.147",
|
|
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.147",
|
|
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
|