deepline 0.1.252 → 0.1.254
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 +8 -7
- package/dist/bundling-sources/sdk/src/types.ts +2 -0
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +261 -162
- package/dist/bundling-sources/shared_libs/play-runtime/governor/governor.ts +37 -35
- package/dist/bundling-sources/shared_libs/play-runtime/ledger-safe-payload.ts +20 -5
- package/dist/bundling-sources/shared_libs/play-runtime/output-size-limits.ts +462 -29
- package/dist/bundling-sources/shared_libs/play-runtime/protocol.ts +16 -0
- package/dist/bundling-sources/shared_libs/play-runtime/resource-governor.ts +11 -0
- package/dist/bundling-sources/shared_libs/play-runtime/run-failure.ts +44 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-lifecycle.ts +7 -4
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-payload-transport.ts +98 -13
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-runtime-watchdog.ts +117 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +19 -3
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/types.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-api-paths.ts +4 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-constants.ts +13 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-contract.ts +22 -0
- package/dist/bundling-sources/shared_libs/play-runtime/secret-resolution-retry-policy.ts +80 -0
- package/dist/cli/index.js +80 -51
- package/dist/cli/index.mjs +80 -51
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +13 -10
- package/dist/index.mjs +13 -10
- package/package.json +1 -1
package/dist/cli/index.mjs
CHANGED
|
@@ -161,7 +161,7 @@ configureProxyFromEnv();
|
|
|
161
161
|
import { mkdtemp as mkdtemp2, rm as rm2, writeFile as writeFile5 } from "fs/promises";
|
|
162
162
|
import { join as join15 } from "path";
|
|
163
163
|
import { tmpdir as tmpdir4 } from "os";
|
|
164
|
-
import { Command as
|
|
164
|
+
import { Command as Command4 } from "commander";
|
|
165
165
|
|
|
166
166
|
// src/config.ts
|
|
167
167
|
import {
|
|
@@ -620,7 +620,8 @@ var SDK_RELEASE = {
|
|
|
620
620
|
// 0.1.252 hard-cuts the customer Monitor catalog to the two launched
|
|
621
621
|
// Deepline-native radars. Older clients must update before discovering,
|
|
622
622
|
// checking, or deploying an unlaunched monitor integration.
|
|
623
|
-
|
|
623
|
+
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
624
|
+
version: "0.1.254",
|
|
624
625
|
apiContract: "2026-07-native-monitor-launch-hard-cutover",
|
|
625
626
|
supportPolicy: {
|
|
626
627
|
minimumSupported: "0.1.53",
|
|
@@ -628,8 +629,8 @@ var SDK_RELEASE = {
|
|
|
628
629
|
commandMinimumSupported: [
|
|
629
630
|
{
|
|
630
631
|
command: "enrich",
|
|
631
|
-
minimumSupported: "0.1.
|
|
632
|
-
reason: 'Older SDK CLI enrich generated stale play source; SDK CLI enrich 0.1.153 generated removed StepOptions fields in play source; SDK CLI enrich before 0.1.175 could silently succeed on the empty-waterfall bug when a requested waterfall returned no values for selected rows; SDK CLI enrich before 0.1.230 could convert extractor failures into successful unmatched results; SDK CLI enrich before 0.1.238 could drop a nested provider email match during generic pick("email") extraction and materialize it as NO_MATCH.'
|
|
632
|
+
minimumSupported: "0.1.253",
|
|
633
|
+
reason: 'Older SDK CLI enrich generated stale play source; SDK CLI enrich 0.1.153 generated removed StepOptions fields in play source; SDK CLI enrich before 0.1.175 could silently succeed on the empty-waterfall bug when a requested waterfall returned no values for selected rows; SDK CLI enrich before 0.1.230 could convert extractor failures into successful unmatched results; SDK CLI enrich before 0.1.238 could drop a nested provider email match during generic pick("email") extraction and materialize it as NO_MATCH; SDK CLI enrich before 0.1.253 opens the generated play page by default and accepts the removed --no-open flag.'
|
|
633
634
|
},
|
|
634
635
|
{
|
|
635
636
|
command: "plays",
|
|
@@ -638,14 +639,14 @@ var SDK_RELEASE = {
|
|
|
638
639
|
},
|
|
639
640
|
{
|
|
640
641
|
command: "plays run",
|
|
641
|
-
minimumSupported: "0.1.
|
|
642
|
-
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract."
|
|
642
|
+
minimumSupported: "0.1.253",
|
|
643
|
+
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract; versions before 0.1.253 open the play page by default and accept the removed --no-open flag."
|
|
643
644
|
},
|
|
644
645
|
{
|
|
645
646
|
command: "run",
|
|
646
647
|
displayCommand: "plays run",
|
|
647
|
-
minimumSupported: "0.1.
|
|
648
|
-
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract."
|
|
648
|
+
minimumSupported: "0.1.253",
|
|
649
|
+
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract; versions before 0.1.253 open the play page by default and accept the removed --no-open flag."
|
|
649
650
|
},
|
|
650
651
|
{
|
|
651
652
|
command: "plays check",
|
|
@@ -1467,12 +1468,14 @@ function createSecretRedactionContext(initialValues = []) {
|
|
|
1467
1468
|
}
|
|
1468
1469
|
|
|
1469
1470
|
// ../shared_libs/play-runtime/output-size-limits.ts
|
|
1470
|
-
var
|
|
1471
|
+
var TERMINAL_RUN_RESULT_MAX_BYTES = 6 * 1024 * 1024;
|
|
1471
1472
|
var LEDGER_TERMINAL_RESULT_MAX_BYTES = 256 * 1024;
|
|
1472
|
-
var CUSTOMER_OUTPUT_VALUE_MAX_BYTES =
|
|
1473
|
-
var CUSTOMER_OUTPUT_TOTAL_MAX_BYTES =
|
|
1473
|
+
var CUSTOMER_OUTPUT_VALUE_MAX_BYTES = 5 * 1024 * 1024;
|
|
1474
|
+
var CUSTOMER_OUTPUT_TOTAL_MAX_BYTES = 5 * 1024 * 1024;
|
|
1474
1475
|
var RUNTIME_RECEIPT_OUTPUT_MAX_BYTES = 10 * 1024 * 1024;
|
|
1475
1476
|
var RUNTIME_RECEIPT_COMPLETION_BUFFER_MAX_BYTES = 32 * 1024 * 1024;
|
|
1477
|
+
var RUNNER_TERMINAL_PUSH_MAX_BODY_BYTES = 16 * 1024 * 1024;
|
|
1478
|
+
var RUNNER_POST_TERMINAL_DIAGNOSTIC_MAX_BYTES = 64 * 1024;
|
|
1476
1479
|
|
|
1477
1480
|
// ../shared_libs/play-runtime/ledger-safe-payload.ts
|
|
1478
1481
|
var ledgerIngressRedactor = createSecretRedactionContext();
|
|
@@ -9031,6 +9034,7 @@ import {
|
|
|
9031
9034
|
} from "fs/promises";
|
|
9032
9035
|
import { homedir as homedir7, tmpdir as tmpdir2 } from "os";
|
|
9033
9036
|
import { basename as basename2, dirname as dirname7, extname, join as join7, resolve as resolve9 } from "path";
|
|
9037
|
+
import { Option } from "commander";
|
|
9034
9038
|
|
|
9035
9039
|
// src/cli/commands/play.ts
|
|
9036
9040
|
import { createHash as createHash2 } from "crypto";
|
|
@@ -11297,7 +11301,7 @@ var PLAY_RUN_RESERVED_BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
|
|
|
11297
11301
|
"--logs",
|
|
11298
11302
|
"--full",
|
|
11299
11303
|
"--force",
|
|
11300
|
-
"--
|
|
11304
|
+
"--open",
|
|
11301
11305
|
"--debug-map-latency"
|
|
11302
11306
|
]);
|
|
11303
11307
|
function traceCliSync(phase, fields, run) {
|
|
@@ -12584,11 +12588,10 @@ function buildPlayDashboardUrl(baseUrl, playName) {
|
|
|
12584
12588
|
const encodedPlayName = encodeURIComponent(playName);
|
|
12585
12589
|
return `${trimmedBase}/dashboard/plays/${encodedPlayName}`;
|
|
12586
12590
|
}
|
|
12587
|
-
function openPlayDashboard(
|
|
12588
|
-
if (
|
|
12589
|
-
|
|
12591
|
+
function openPlayDashboard(dashboardUrl, open) {
|
|
12592
|
+
if (open && dashboardUrl) {
|
|
12593
|
+
openInBrowser(dashboardUrl);
|
|
12590
12594
|
}
|
|
12591
|
-
openInBrowser(input2.dashboardUrl);
|
|
12592
12595
|
}
|
|
12593
12596
|
function printPlayLogLines(input2) {
|
|
12594
12597
|
for (const line of input2.lines) {
|
|
@@ -12907,10 +12910,7 @@ async function startAndWaitForPlayCompletionByStreamOnce(input2) {
|
|
|
12907
12910
|
progress: input2.progress
|
|
12908
12911
|
});
|
|
12909
12912
|
}
|
|
12910
|
-
openPlayDashboard(
|
|
12911
|
-
dashboardUrl,
|
|
12912
|
-
noOpen: input2.noOpen
|
|
12913
|
-
});
|
|
12913
|
+
openPlayDashboard(dashboardUrl, input2.open ?? false);
|
|
12914
12914
|
input2.progress.phase("running");
|
|
12915
12915
|
emittedDashboardUrl = true;
|
|
12916
12916
|
}
|
|
@@ -13359,15 +13359,24 @@ function collectDatasetHandleLines(value, path = "result") {
|
|
|
13359
13359
|
return lines;
|
|
13360
13360
|
}
|
|
13361
13361
|
function buildRunWarnings(status, rowsInfo) {
|
|
13362
|
+
const result = readRecord(status.result);
|
|
13363
|
+
const metadata = readRecord(result?._metadata);
|
|
13364
|
+
const outputWarnings = Array.isArray(metadata?.outputWarnings) ? metadata.outputWarnings.map((warning) => readRecord(warning)).filter((warning) => {
|
|
13365
|
+
if (!warning) return false;
|
|
13366
|
+
return !(rowsInfo && !rowsInfo.complete && warning.reason === "array_preview_limit" && warning.originalItems === rowsInfo.totalRows && warning.retainedItems === rowsInfo.rows.length);
|
|
13367
|
+
}).map((warning) => warning?.message).filter(
|
|
13368
|
+
(message) => typeof message === "string" && message.trim().length > 0
|
|
13369
|
+
).slice(0, 16) : [];
|
|
13362
13370
|
if (status.status === "completed" && rowsInfo?.totalRows === 0) {
|
|
13363
|
-
return ["Run completed with 0 output rows."];
|
|
13371
|
+
return ["Run completed with 0 output rows.", ...outputWarnings];
|
|
13364
13372
|
}
|
|
13365
13373
|
if (rowsInfo && !rowsInfo.complete) {
|
|
13366
13374
|
return [
|
|
13367
|
-
`Run output is partial: showing ${rowsInfo.rows.length} preview row(s) of ${rowsInfo.totalRows}
|
|
13375
|
+
`Run output is partial: showing ${rowsInfo.rows.length} preview row(s) of ${rowsInfo.totalRows}.`,
|
|
13376
|
+
...outputWarnings
|
|
13368
13377
|
];
|
|
13369
13378
|
}
|
|
13370
|
-
return
|
|
13379
|
+
return outputWarnings;
|
|
13371
13380
|
}
|
|
13372
13381
|
function buildRunNextCommands(status) {
|
|
13373
13382
|
const runId = status.runId?.trim();
|
|
@@ -14093,6 +14102,14 @@ function buildRunPackageTextLines(packaged) {
|
|
|
14093
14102
|
if (failedLogWarning) {
|
|
14094
14103
|
lines.push(` warning: ${failedLogWarning}`);
|
|
14095
14104
|
}
|
|
14105
|
+
const packageWarnings = Array.isArray(packaged.warnings) ? Array.from(
|
|
14106
|
+
new Set(
|
|
14107
|
+
packaged.warnings.filter(
|
|
14108
|
+
(warning) => typeof warning === "string" && warning.trim().length > 0
|
|
14109
|
+
)
|
|
14110
|
+
)
|
|
14111
|
+
).slice(0, 16) : [];
|
|
14112
|
+
lines.push(...packageWarnings.map((warning) => ` warning: ${warning}`));
|
|
14096
14113
|
const failedLogNext = readRecord(failedLogs?.next);
|
|
14097
14114
|
if (failedLogWarning && typeof failedLogNext?.logs === "string") {
|
|
14098
14115
|
lines.push(
|
|
@@ -14166,7 +14183,7 @@ function buildOrdinaryPlayRunCommand(options, resolvedRevisionId) {
|
|
|
14166
14183
|
if (options.waitTimeoutMs !== null) {
|
|
14167
14184
|
parts.push("--tail-timeout-ms", String(options.waitTimeoutMs));
|
|
14168
14185
|
}
|
|
14169
|
-
if (options.
|
|
14186
|
+
if (options.open) parts.push("--open");
|
|
14170
14187
|
if (options.fullJson) parts.push("--full");
|
|
14171
14188
|
if (options.jsonOutput && options.emitLogs) parts.push("--logs");
|
|
14172
14189
|
if (options.jsonOutput) parts.push("--json");
|
|
@@ -15003,7 +15020,7 @@ function writeStartedPlayRun(input2) {
|
|
|
15003
15020
|
);
|
|
15004
15021
|
}
|
|
15005
15022
|
function parsePlayRunOptions(args) {
|
|
15006
|
-
const usage = "Usage: deepline plays run <play-name> [--input '{...}'] [--no-wait] [--tail-timeout-ms 30000] [--force] [--full] [--<input> value]\n deepline plays run <play-file.ts> [--input '{...}'] [--no-wait] [--tail-timeout-ms 30000] [--force] [--full] [--<input> value]\n deepline plays run --file <play-file.ts> [--input '{...}'] [--profile <id>] [--no-wait] [--tail-timeout-ms 30000] [--force] [--full] [--<input> value]\n deepline plays run --name <name> [--input '{...}'] [--profile <id>] [--live|--latest|--revision-id <id>] [--no-wait] [--tail-timeout-ms 30000] [--force] [--
|
|
15023
|
+
const usage = "Usage: deepline plays run <play-name> [--input '{...}'] [--no-wait] [--tail-timeout-ms 30000] [--force] [--open] [--full] [--<input> value]\n deepline plays run <play-file.ts> [--input '{...}'] [--no-wait] [--tail-timeout-ms 30000] [--force] [--open] [--full] [--<input> value]\n deepline plays run --file <play-file.ts> [--input '{...}'] [--profile <id>] [--no-wait] [--tail-timeout-ms 30000] [--force] [--open] [--full] [--<input> value]\n deepline plays run --name <name> [--input '{...}'] [--profile <id>] [--live|--latest|--revision-id <id>] [--no-wait] [--tail-timeout-ms 30000] [--force] [--open] [--json] [--full] [--<input> value]\n Runs use the Absurd CJS runtime.\n Unknown --<input> value flags, such as --limit 5, are passed into play input.\nRun `deepline plays run --help` for idempotent call caching and ctx.dataset guidance.";
|
|
15007
15024
|
let filePath = null;
|
|
15008
15025
|
let playName = null;
|
|
15009
15026
|
let input2 = null;
|
|
@@ -15014,7 +15031,7 @@ function parsePlayRunOptions(args) {
|
|
|
15014
15031
|
const fullJson = args.includes("--full");
|
|
15015
15032
|
const emitLogs = !jsonOutput || args.includes("--logs");
|
|
15016
15033
|
const force = args.includes("--force");
|
|
15017
|
-
const
|
|
15034
|
+
const open = args.includes("--open");
|
|
15018
15035
|
const debugMapLatency = args.includes("--debug-map-latency");
|
|
15019
15036
|
let waitTimeoutMs = null;
|
|
15020
15037
|
let profile = null;
|
|
@@ -15059,6 +15076,11 @@ function parsePlayRunOptions(args) {
|
|
|
15059
15076
|
"--out is not a plays run flag. Run the play first, then export rows with: deepline runs export <run-id> --out output.csv"
|
|
15060
15077
|
);
|
|
15061
15078
|
}
|
|
15079
|
+
if (arg === "--no-open" || arg.startsWith("--no-open=")) {
|
|
15080
|
+
throw new Error(
|
|
15081
|
+
"--no-open was removed for `plays run`. Play page URLs are printed by default; pass --open to launch a browser."
|
|
15082
|
+
);
|
|
15083
|
+
}
|
|
15062
15084
|
if (arg === "--poll-interval-ms" || arg === "--interval-ms") {
|
|
15063
15085
|
throw new Error(
|
|
15064
15086
|
`${arg} was removed. --watch uses the canonical run stream directly.`
|
|
@@ -15133,7 +15155,7 @@ function parsePlayRunOptions(args) {
|
|
|
15133
15155
|
fullJson,
|
|
15134
15156
|
waitTimeoutMs,
|
|
15135
15157
|
force,
|
|
15136
|
-
|
|
15158
|
+
open,
|
|
15137
15159
|
profile,
|
|
15138
15160
|
debugMapLatency
|
|
15139
15161
|
};
|
|
@@ -15715,7 +15737,7 @@ async function handleFileBackedRun(options, hooks) {
|
|
|
15715
15737
|
jsonOutput: options.jsonOutput,
|
|
15716
15738
|
emitLogs: options.emitLogs,
|
|
15717
15739
|
waitTimeoutMs: options.waitTimeoutMs,
|
|
15718
|
-
|
|
15740
|
+
open: options.open,
|
|
15719
15741
|
progress,
|
|
15720
15742
|
onRunStarted: hooks?.onRunStarted
|
|
15721
15743
|
}).catch(async (error) => {
|
|
@@ -15758,10 +15780,7 @@ async function handleFileBackedRun(options, hooks) {
|
|
|
15758
15780
|
})
|
|
15759
15781
|
);
|
|
15760
15782
|
const resolvedDashboardUrl = buildPlayDashboardUrl(client2.baseUrl, playName);
|
|
15761
|
-
openPlayDashboard(
|
|
15762
|
-
dashboardUrl: resolvedDashboardUrl,
|
|
15763
|
-
noOpen: options.noOpen
|
|
15764
|
-
});
|
|
15783
|
+
openPlayDashboard(resolvedDashboardUrl, options.open);
|
|
15765
15784
|
progress.phase("started run");
|
|
15766
15785
|
progress.complete();
|
|
15767
15786
|
writeStartedPlayRun({
|
|
@@ -15882,7 +15901,7 @@ async function handleNamedRun(options, hooks) {
|
|
|
15882
15901
|
jsonOutput: options.jsonOutput,
|
|
15883
15902
|
emitLogs: options.emitLogs,
|
|
15884
15903
|
waitTimeoutMs: options.waitTimeoutMs,
|
|
15885
|
-
|
|
15904
|
+
open: options.open,
|
|
15886
15905
|
progress,
|
|
15887
15906
|
onRunStarted: hooks?.onRunStarted
|
|
15888
15907
|
}).catch(async (error) => {
|
|
@@ -15930,10 +15949,7 @@ async function handleNamedRun(options, hooks) {
|
|
|
15930
15949
|
})
|
|
15931
15950
|
);
|
|
15932
15951
|
const resolvedDashboardUrl = buildPlayDashboardUrl(client2.baseUrl, playName);
|
|
15933
|
-
openPlayDashboard(
|
|
15934
|
-
dashboardUrl: resolvedDashboardUrl,
|
|
15935
|
-
noOpen: options.noOpen
|
|
15936
|
-
});
|
|
15952
|
+
openPlayDashboard(resolvedDashboardUrl, options.open);
|
|
15937
15953
|
progress.phase("started run");
|
|
15938
15954
|
progress.complete();
|
|
15939
15955
|
writeStartedPlayRun({
|
|
@@ -17231,8 +17247,7 @@ Notes:
|
|
|
17231
17247
|
next commands. --watch and --wait are accepted compatibility aliases for the
|
|
17232
17248
|
default behavior. Use --no-wait only when you intentionally want
|
|
17233
17249
|
a fire-and-forget run id.
|
|
17234
|
-
The play page
|
|
17235
|
-
to only print the URL.
|
|
17250
|
+
The play page URL is printed when the run starts. Pass --open to open it in a browser.
|
|
17236
17251
|
Concurrent runs for the same play are allowed.
|
|
17237
17252
|
--force starts a fresh run graph without refreshing completed provider calls.
|
|
17238
17253
|
It does not cancel active sibling runs.
|
|
@@ -17287,10 +17302,10 @@ Examples:
|
|
|
17287
17302
|
).option("--watch", "Compatibility alias; run waits by default").option("--wait", "Compatibility alias; run waits by default").option("--no-wait", "Start the run and return immediately").option(
|
|
17288
17303
|
"--logs",
|
|
17289
17304
|
"When output is non-interactive, stream play logs to stderr while waiting"
|
|
17290
|
-
).option("--tail-timeout-ms <ms>", "Timeout while watching the run stream").option("--force", "Start a fresh run graph").option(
|
|
17305
|
+
).option("--tail-timeout-ms <ms>", "Timeout while watching the run stream").option("--force", "Start a fresh run graph").option("--open", "Open the play page in a browser after the run starts").option(
|
|
17291
17306
|
"--debug-map-latency",
|
|
17292
17307
|
"Internal diagnostics: emit one aggregate latency profile per dataset map"
|
|
17293
|
-
).option("--
|
|
17308
|
+
).option("--json", "Emit JSON output").option("--full", "Debug only: with --json, emit the raw status payload").addHelpText(
|
|
17294
17309
|
"afterAll",
|
|
17295
17310
|
`
|
|
17296
17311
|
Pass-through input flags:
|
|
@@ -17326,8 +17341,8 @@ Pass-through input flags:
|
|
|
17326
17341
|
...options.logs ? ["--logs"] : [],
|
|
17327
17342
|
...options.tailTimeoutMs ? ["--tail-timeout-ms", options.tailTimeoutMs] : [],
|
|
17328
17343
|
...options.force ? ["--force"] : [],
|
|
17344
|
+
...options.open ? ["--open"] : [],
|
|
17329
17345
|
...options.debugMapLatency ? ["--debug-map-latency"] : [],
|
|
17330
|
-
...options.noOpen || options.open === false ? ["--no-open"] : [],
|
|
17331
17346
|
...options.json ? ["--json"] : [],
|
|
17332
17347
|
...options.full ? ["--full"] : [],
|
|
17333
17348
|
...passthroughArgs
|
|
@@ -19913,11 +19928,11 @@ async function buildPlanArgs(args) {
|
|
|
19913
19928
|
const localBooleanOptions = /* @__PURE__ */ new Set([
|
|
19914
19929
|
"--dry-run",
|
|
19915
19930
|
"--json",
|
|
19931
|
+
"--open",
|
|
19916
19932
|
"--force",
|
|
19917
19933
|
"--fail-fast",
|
|
19918
19934
|
"--all",
|
|
19919
19935
|
"--in-place",
|
|
19920
|
-
"--no-open",
|
|
19921
19936
|
"--debug-map-latency"
|
|
19922
19937
|
]);
|
|
19923
19938
|
const planArgs = [];
|
|
@@ -22909,7 +22924,15 @@ function registerEnrichCommand(program) {
|
|
|
22909
22924
|
).option("--all", "Run all rows.").option(
|
|
22910
22925
|
"--dry-run",
|
|
22911
22926
|
"Compile and print the generated plan without starting a run."
|
|
22912
|
-
).option("--json", "Emit JSON.").option(
|
|
22927
|
+
).option("--json", "Emit JSON.").option(
|
|
22928
|
+
"--open",
|
|
22929
|
+
"Open the generated play page in a browser after the run starts."
|
|
22930
|
+
).addOption(
|
|
22931
|
+
new Option(
|
|
22932
|
+
"--no-open [legacy-value]",
|
|
22933
|
+
"Removed legacy option"
|
|
22934
|
+
).hideHelp()
|
|
22935
|
+
).option("--force", "Force rerun for all enrich aliases.").option(
|
|
22913
22936
|
"--with-force <aliases>",
|
|
22914
22937
|
"Force rerun for selected aliases.",
|
|
22915
22938
|
(value, previous = []) => [...previous, value]
|
|
@@ -22926,6 +22949,13 @@ function registerEnrichCommand(program) {
|
|
|
22926
22949
|
"--fail-fast",
|
|
22927
22950
|
"Fail the generated play when any selected row errors, while preserving recovered runtime-sheet rows for export."
|
|
22928
22951
|
).action(async (options, _command) => {
|
|
22952
|
+
if (currentEnrichArgs().some(
|
|
22953
|
+
(arg) => arg === "--no-open" || arg.startsWith("--no-open=")
|
|
22954
|
+
)) {
|
|
22955
|
+
throw new Error(
|
|
22956
|
+
"--no-open was removed for `enrich`. Play page URLs are printed by default; pass --open to launch a browser."
|
|
22957
|
+
);
|
|
22958
|
+
}
|
|
22929
22959
|
if (options.inPlace && options.dryRun) {
|
|
22930
22960
|
throw new Error("--in-place is not supported with --dry-run.");
|
|
22931
22961
|
}
|
|
@@ -23086,8 +23116,8 @@ function registerEnrichCommand(program) {
|
|
|
23086
23116
|
if (options.debugMapLatency) {
|
|
23087
23117
|
runArgs.push("--debug-map-latency");
|
|
23088
23118
|
}
|
|
23089
|
-
if (options.
|
|
23090
|
-
runArgs.push("--
|
|
23119
|
+
if (options.open) {
|
|
23120
|
+
runArgs.push("--open");
|
|
23091
23121
|
}
|
|
23092
23122
|
if (input2.json) {
|
|
23093
23123
|
runArgs.push("--json");
|
|
@@ -26222,7 +26252,7 @@ Examples:
|
|
|
26222
26252
|
}
|
|
26223
26253
|
|
|
26224
26254
|
// src/cli/commands/tools.ts
|
|
26225
|
-
import { Option } from "commander";
|
|
26255
|
+
import { Option as Option2 } from "commander";
|
|
26226
26256
|
import {
|
|
26227
26257
|
chmodSync,
|
|
26228
26258
|
existsSync as existsSync10,
|
|
@@ -26959,12 +26989,12 @@ Examples:
|
|
|
26959
26989
|
"--examples-only",
|
|
26960
26990
|
"Only print runnable examples and sample payloads"
|
|
26961
26991
|
).option("--getters-only", "Only print extracted list/value getters").addOption(
|
|
26962
|
-
new
|
|
26992
|
+
new Option2(
|
|
26963
26993
|
"--compact",
|
|
26964
26994
|
"Compatibility alias for the default compact view"
|
|
26965
26995
|
).hideHelp()
|
|
26966
26996
|
).addOption(
|
|
26967
|
-
new
|
|
26997
|
+
new Option2(
|
|
26968
26998
|
"--contract-json",
|
|
26969
26999
|
"Compatibility alias for compact contract JSON"
|
|
26970
27000
|
).hideHelp()
|
|
@@ -30223,7 +30253,6 @@ async function runPlayRunnerHealthCheck() {
|
|
|
30223
30253
|
"--input",
|
|
30224
30254
|
"{}",
|
|
30225
30255
|
"--watch",
|
|
30226
|
-
"--no-open",
|
|
30227
30256
|
"--json"
|
|
30228
30257
|
]);
|
|
30229
30258
|
} finally {
|
|
@@ -30372,7 +30401,7 @@ async function main() {
|
|
|
30372
30401
|
if (printStartupPhase) {
|
|
30373
30402
|
progress?.phase("loading deepline cli");
|
|
30374
30403
|
}
|
|
30375
|
-
const program = new
|
|
30404
|
+
const program = new Command4();
|
|
30376
30405
|
program.name("deepline").description(
|
|
30377
30406
|
"Deepline CLI \u2014 GTM enrichment tools, plays, and runs from your terminal."
|
|
30378
30407
|
).version(SDK_VERSION, "-v, --version", "Show version").exitOverride().showHelpAfterError().showSuggestionAfterError(true).addHelpText(
|
package/dist/index.d.mts
CHANGED
|
@@ -546,6 +546,8 @@ interface PlayRunPackage {
|
|
|
546
546
|
durationMs?: number | null;
|
|
547
547
|
error?: string;
|
|
548
548
|
};
|
|
549
|
+
/** Bounded customer-safe warnings about output projection or availability. */
|
|
550
|
+
warnings?: string[];
|
|
549
551
|
/** Step-level summaries emitted by the runtime. */
|
|
550
552
|
steps: Array<Record<string, unknown>>;
|
|
551
553
|
/** Named output summaries, including dataset handles and scalar outputs. */
|
package/dist/index.d.ts
CHANGED
|
@@ -546,6 +546,8 @@ interface PlayRunPackage {
|
|
|
546
546
|
durationMs?: number | null;
|
|
547
547
|
error?: string;
|
|
548
548
|
};
|
|
549
|
+
/** Bounded customer-safe warnings about output projection or availability. */
|
|
550
|
+
warnings?: string[];
|
|
549
551
|
/** Step-level summaries emitted by the runtime. */
|
|
550
552
|
steps: Array<Record<string, unknown>>;
|
|
551
553
|
/** Named output summaries, including dataset handles and scalar outputs. */
|
package/dist/index.js
CHANGED
|
@@ -434,7 +434,8 @@ var SDK_RELEASE = {
|
|
|
434
434
|
// 0.1.252 hard-cuts the customer Monitor catalog to the two launched
|
|
435
435
|
// Deepline-native radars. Older clients must update before discovering,
|
|
436
436
|
// checking, or deploying an unlaunched monitor integration.
|
|
437
|
-
|
|
437
|
+
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
438
|
+
version: "0.1.254",
|
|
438
439
|
apiContract: "2026-07-native-monitor-launch-hard-cutover",
|
|
439
440
|
supportPolicy: {
|
|
440
441
|
minimumSupported: "0.1.53",
|
|
@@ -442,8 +443,8 @@ var SDK_RELEASE = {
|
|
|
442
443
|
commandMinimumSupported: [
|
|
443
444
|
{
|
|
444
445
|
command: "enrich",
|
|
445
|
-
minimumSupported: "0.1.
|
|
446
|
-
reason: 'Older SDK CLI enrich generated stale play source; SDK CLI enrich 0.1.153 generated removed StepOptions fields in play source; SDK CLI enrich before 0.1.175 could silently succeed on the empty-waterfall bug when a requested waterfall returned no values for selected rows; SDK CLI enrich before 0.1.230 could convert extractor failures into successful unmatched results; SDK CLI enrich before 0.1.238 could drop a nested provider email match during generic pick("email") extraction and materialize it as NO_MATCH.'
|
|
446
|
+
minimumSupported: "0.1.253",
|
|
447
|
+
reason: 'Older SDK CLI enrich generated stale play source; SDK CLI enrich 0.1.153 generated removed StepOptions fields in play source; SDK CLI enrich before 0.1.175 could silently succeed on the empty-waterfall bug when a requested waterfall returned no values for selected rows; SDK CLI enrich before 0.1.230 could convert extractor failures into successful unmatched results; SDK CLI enrich before 0.1.238 could drop a nested provider email match during generic pick("email") extraction and materialize it as NO_MATCH; SDK CLI enrich before 0.1.253 opens the generated play page by default and accepts the removed --no-open flag.'
|
|
447
448
|
},
|
|
448
449
|
{
|
|
449
450
|
command: "plays",
|
|
@@ -452,14 +453,14 @@ var SDK_RELEASE = {
|
|
|
452
453
|
},
|
|
453
454
|
{
|
|
454
455
|
command: "plays run",
|
|
455
|
-
minimumSupported: "0.1.
|
|
456
|
-
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract."
|
|
456
|
+
minimumSupported: "0.1.253",
|
|
457
|
+
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract; versions before 0.1.253 open the play page by default and accept the removed --no-open flag."
|
|
457
458
|
},
|
|
458
459
|
{
|
|
459
460
|
command: "run",
|
|
460
461
|
displayCommand: "plays run",
|
|
461
|
-
minimumSupported: "0.1.
|
|
462
|
-
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract."
|
|
462
|
+
minimumSupported: "0.1.253",
|
|
463
|
+
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract; versions before 0.1.253 open the play page by default and accept the removed --no-open flag."
|
|
463
464
|
},
|
|
464
465
|
{
|
|
465
466
|
command: "plays check",
|
|
@@ -1281,12 +1282,14 @@ function createSecretRedactionContext(initialValues = []) {
|
|
|
1281
1282
|
}
|
|
1282
1283
|
|
|
1283
1284
|
// ../shared_libs/play-runtime/output-size-limits.ts
|
|
1284
|
-
var
|
|
1285
|
+
var TERMINAL_RUN_RESULT_MAX_BYTES = 6 * 1024 * 1024;
|
|
1285
1286
|
var LEDGER_TERMINAL_RESULT_MAX_BYTES = 256 * 1024;
|
|
1286
|
-
var CUSTOMER_OUTPUT_VALUE_MAX_BYTES =
|
|
1287
|
-
var CUSTOMER_OUTPUT_TOTAL_MAX_BYTES =
|
|
1287
|
+
var CUSTOMER_OUTPUT_VALUE_MAX_BYTES = 5 * 1024 * 1024;
|
|
1288
|
+
var CUSTOMER_OUTPUT_TOTAL_MAX_BYTES = 5 * 1024 * 1024;
|
|
1288
1289
|
var RUNTIME_RECEIPT_OUTPUT_MAX_BYTES = 10 * 1024 * 1024;
|
|
1289
1290
|
var RUNTIME_RECEIPT_COMPLETION_BUFFER_MAX_BYTES = 32 * 1024 * 1024;
|
|
1291
|
+
var RUNNER_TERMINAL_PUSH_MAX_BODY_BYTES = 16 * 1024 * 1024;
|
|
1292
|
+
var RUNNER_POST_TERMINAL_DIAGNOSTIC_MAX_BYTES = 64 * 1024;
|
|
1290
1293
|
|
|
1291
1294
|
// ../shared_libs/play-runtime/ledger-safe-payload.ts
|
|
1292
1295
|
var ledgerIngressRedactor = createSecretRedactionContext();
|
package/dist/index.mjs
CHANGED
|
@@ -364,7 +364,8 @@ var SDK_RELEASE = {
|
|
|
364
364
|
// 0.1.252 hard-cuts the customer Monitor catalog to the two launched
|
|
365
365
|
// Deepline-native radars. Older clients must update before discovering,
|
|
366
366
|
// checking, or deploying an unlaunched monitor integration.
|
|
367
|
-
|
|
367
|
+
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
368
|
+
version: "0.1.254",
|
|
368
369
|
apiContract: "2026-07-native-monitor-launch-hard-cutover",
|
|
369
370
|
supportPolicy: {
|
|
370
371
|
minimumSupported: "0.1.53",
|
|
@@ -372,8 +373,8 @@ var SDK_RELEASE = {
|
|
|
372
373
|
commandMinimumSupported: [
|
|
373
374
|
{
|
|
374
375
|
command: "enrich",
|
|
375
|
-
minimumSupported: "0.1.
|
|
376
|
-
reason: 'Older SDK CLI enrich generated stale play source; SDK CLI enrich 0.1.153 generated removed StepOptions fields in play source; SDK CLI enrich before 0.1.175 could silently succeed on the empty-waterfall bug when a requested waterfall returned no values for selected rows; SDK CLI enrich before 0.1.230 could convert extractor failures into successful unmatched results; SDK CLI enrich before 0.1.238 could drop a nested provider email match during generic pick("email") extraction and materialize it as NO_MATCH.'
|
|
376
|
+
minimumSupported: "0.1.253",
|
|
377
|
+
reason: 'Older SDK CLI enrich generated stale play source; SDK CLI enrich 0.1.153 generated removed StepOptions fields in play source; SDK CLI enrich before 0.1.175 could silently succeed on the empty-waterfall bug when a requested waterfall returned no values for selected rows; SDK CLI enrich before 0.1.230 could convert extractor failures into successful unmatched results; SDK CLI enrich before 0.1.238 could drop a nested provider email match during generic pick("email") extraction and materialize it as NO_MATCH; SDK CLI enrich before 0.1.253 opens the generated play page by default and accepts the removed --no-open flag.'
|
|
377
378
|
},
|
|
378
379
|
{
|
|
379
380
|
command: "plays",
|
|
@@ -382,14 +383,14 @@ var SDK_RELEASE = {
|
|
|
382
383
|
},
|
|
383
384
|
{
|
|
384
385
|
command: "plays run",
|
|
385
|
-
minimumSupported: "0.1.
|
|
386
|
-
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract."
|
|
386
|
+
minimumSupported: "0.1.253",
|
|
387
|
+
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract; versions before 0.1.253 open the play page by default and accept the removed --no-open flag."
|
|
387
388
|
},
|
|
388
389
|
{
|
|
389
390
|
command: "run",
|
|
390
391
|
displayCommand: "plays run",
|
|
391
|
-
minimumSupported: "0.1.
|
|
392
|
-
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract."
|
|
392
|
+
minimumSupported: "0.1.253",
|
|
393
|
+
reason: "Older SDK CLI versions predate dataset-native Play results and can emit the retired esm_workers artifact contract; versions before 0.1.253 open the play page by default and accept the removed --no-open flag."
|
|
393
394
|
},
|
|
394
395
|
{
|
|
395
396
|
command: "plays check",
|
|
@@ -1211,12 +1212,14 @@ function createSecretRedactionContext(initialValues = []) {
|
|
|
1211
1212
|
}
|
|
1212
1213
|
|
|
1213
1214
|
// ../shared_libs/play-runtime/output-size-limits.ts
|
|
1214
|
-
var
|
|
1215
|
+
var TERMINAL_RUN_RESULT_MAX_BYTES = 6 * 1024 * 1024;
|
|
1215
1216
|
var LEDGER_TERMINAL_RESULT_MAX_BYTES = 256 * 1024;
|
|
1216
|
-
var CUSTOMER_OUTPUT_VALUE_MAX_BYTES =
|
|
1217
|
-
var CUSTOMER_OUTPUT_TOTAL_MAX_BYTES =
|
|
1217
|
+
var CUSTOMER_OUTPUT_VALUE_MAX_BYTES = 5 * 1024 * 1024;
|
|
1218
|
+
var CUSTOMER_OUTPUT_TOTAL_MAX_BYTES = 5 * 1024 * 1024;
|
|
1218
1219
|
var RUNTIME_RECEIPT_OUTPUT_MAX_BYTES = 10 * 1024 * 1024;
|
|
1219
1220
|
var RUNTIME_RECEIPT_COMPLETION_BUFFER_MAX_BYTES = 32 * 1024 * 1024;
|
|
1221
|
+
var RUNNER_TERMINAL_PUSH_MAX_BODY_BYTES = 16 * 1024 * 1024;
|
|
1222
|
+
var RUNNER_POST_TERMINAL_DIAGNOSTIC_MAX_BYTES = 64 * 1024;
|
|
1220
1223
|
|
|
1221
1224
|
// ../shared_libs/play-runtime/ledger-safe-payload.ts
|
|
1222
1225
|
var ledgerIngressRedactor = createSecretRedactionContext();
|