deepline 0.1.124 → 0.1.126
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 +2 -2
- package/dist/cli/index.js +128 -11
- package/dist/cli/index.mjs +130 -11
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +4 -2
|
@@ -101,10 +101,10 @@ export const SDK_RELEASE = {
|
|
|
101
101
|
// 0.1.108 ships explicit dataset column/tool recompute policy and removes
|
|
102
102
|
// the SDK enrich generator's one-second stale policy.
|
|
103
103
|
// 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
|
|
104
|
-
version: '0.1.
|
|
104
|
+
version: '0.1.126',
|
|
105
105
|
apiContract: '2026-06-dataset-column-cell-stale-hard-cutover',
|
|
106
106
|
supportPolicy: {
|
|
107
|
-
latest: '0.1.
|
|
107
|
+
latest: '0.1.126',
|
|
108
108
|
minimumSupported: '0.1.53',
|
|
109
109
|
deprecatedBelow: '0.1.53',
|
|
110
110
|
commandMinimumSupported: [
|
package/dist/cli/index.js
CHANGED
|
@@ -404,10 +404,10 @@ var SDK_RELEASE = {
|
|
|
404
404
|
// 0.1.108 ships explicit dataset column/tool recompute policy and removes
|
|
405
405
|
// the SDK enrich generator's one-second stale policy.
|
|
406
406
|
// 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
|
|
407
|
-
version: "0.1.
|
|
407
|
+
version: "0.1.126",
|
|
408
408
|
apiContract: "2026-06-dataset-column-cell-stale-hard-cutover",
|
|
409
409
|
supportPolicy: {
|
|
410
|
-
latest: "0.1.
|
|
410
|
+
latest: "0.1.126",
|
|
411
411
|
minimumSupported: "0.1.53",
|
|
412
412
|
deprecatedBelow: "0.1.53",
|
|
413
413
|
commandMinimumSupported: [
|
|
@@ -21329,6 +21329,27 @@ function findRepoBackedSdkRoot(startPath) {
|
|
|
21329
21329
|
current = parent;
|
|
21330
21330
|
}
|
|
21331
21331
|
}
|
|
21332
|
+
function inferNpmGlobalPrefixFromEntrypoint(entrypoint) {
|
|
21333
|
+
const normalized = (() => {
|
|
21334
|
+
try {
|
|
21335
|
+
return (0, import_node_fs14.realpathSync)(entrypoint);
|
|
21336
|
+
} catch {
|
|
21337
|
+
return (0, import_node_path17.resolve)(entrypoint);
|
|
21338
|
+
}
|
|
21339
|
+
})();
|
|
21340
|
+
const parts = normalized.split(/[\\/]+/);
|
|
21341
|
+
const nodeModulesIndex = parts.lastIndexOf("node_modules");
|
|
21342
|
+
if (nodeModulesIndex <= 0 || parts[nodeModulesIndex + 1] !== "deepline") {
|
|
21343
|
+
return null;
|
|
21344
|
+
}
|
|
21345
|
+
const prefixParts = parts.slice(0, nodeModulesIndex);
|
|
21346
|
+
if (prefixParts.at(-1) !== "lib") {
|
|
21347
|
+
return null;
|
|
21348
|
+
}
|
|
21349
|
+
prefixParts.pop();
|
|
21350
|
+
const prefix = normalized.startsWith("/") && prefixParts[0] !== "" ? `/${prefixParts.join("/")}` : prefixParts.join("/");
|
|
21351
|
+
return prefix || null;
|
|
21352
|
+
}
|
|
21332
21353
|
function resolveUpdatePlan(options = {}) {
|
|
21333
21354
|
const env = options.env ?? process.env;
|
|
21334
21355
|
const homeDir2 = options.homeDir ?? (0, import_node_os12.homedir)();
|
|
@@ -21350,14 +21371,102 @@ function resolveUpdatePlan(options = {}) {
|
|
|
21350
21371
|
if (sidecarPlan) return sidecarPlan;
|
|
21351
21372
|
const command = "npm";
|
|
21352
21373
|
const packageSpec = options.packageSpec || "deepline@latest";
|
|
21353
|
-
const
|
|
21374
|
+
const installPrefix = entrypoint ? inferNpmGlobalPrefixFromEntrypoint(entrypoint) : null;
|
|
21375
|
+
const args = installPrefix ? ["install", "-g", "--prefix", installPrefix, packageSpec] : ["install", "-g", packageSpec];
|
|
21354
21376
|
return {
|
|
21355
21377
|
kind: "npm-global",
|
|
21356
21378
|
command,
|
|
21357
21379
|
args,
|
|
21380
|
+
...installPrefix ? { installPrefix } : {},
|
|
21358
21381
|
manualCommand: `${command} ${args.map(shellQuote3).join(" ")}`
|
|
21359
21382
|
};
|
|
21360
21383
|
}
|
|
21384
|
+
var AUTO_UPDATE_FAILURE_FILE = ".auto-update-failure.json";
|
|
21385
|
+
function autoUpdateFailurePath(plan) {
|
|
21386
|
+
if (plan.kind === "source") return null;
|
|
21387
|
+
if (plan.kind === "python-sidecar") {
|
|
21388
|
+
return (0, import_node_path17.join)(plan.stateDir, AUTO_UPDATE_FAILURE_FILE);
|
|
21389
|
+
}
|
|
21390
|
+
return (0, import_node_path17.join)(
|
|
21391
|
+
(0, import_node_os12.homedir)(),
|
|
21392
|
+
".local",
|
|
21393
|
+
"deepline",
|
|
21394
|
+
"sdk-cli",
|
|
21395
|
+
AUTO_UPDATE_FAILURE_FILE
|
|
21396
|
+
);
|
|
21397
|
+
}
|
|
21398
|
+
function autoUpdatePackageSpec(plan) {
|
|
21399
|
+
if (plan.kind === "source") return "";
|
|
21400
|
+
if (plan.kind === "python-sidecar") return plan.packageSpec;
|
|
21401
|
+
return plan.args[plan.args.length - 1] ?? plan.manualCommand;
|
|
21402
|
+
}
|
|
21403
|
+
function readAutoUpdateFailure(plan) {
|
|
21404
|
+
const path = autoUpdateFailurePath(plan);
|
|
21405
|
+
if (!path) return null;
|
|
21406
|
+
try {
|
|
21407
|
+
const parsed = JSON.parse(
|
|
21408
|
+
(0, import_node_fs14.readFileSync)(path, "utf8")
|
|
21409
|
+
);
|
|
21410
|
+
if ((parsed.kind === "npm-global" || parsed.kind === "python-sidecar") && typeof parsed.packageSpec === "string" && typeof parsed.failedAt === "string" && typeof parsed.exitCode === "number" && typeof parsed.manualCommand === "string") {
|
|
21411
|
+
return parsed;
|
|
21412
|
+
}
|
|
21413
|
+
} catch {
|
|
21414
|
+
return null;
|
|
21415
|
+
}
|
|
21416
|
+
return null;
|
|
21417
|
+
}
|
|
21418
|
+
function writeAutoUpdateFailure(plan, exitCode) {
|
|
21419
|
+
const path = autoUpdateFailurePath(plan);
|
|
21420
|
+
if (!path || plan.kind === "source") return;
|
|
21421
|
+
const marker = {
|
|
21422
|
+
kind: plan.kind,
|
|
21423
|
+
packageSpec: autoUpdatePackageSpec(plan),
|
|
21424
|
+
failedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
21425
|
+
exitCode,
|
|
21426
|
+
manualCommand: plan.manualCommand
|
|
21427
|
+
};
|
|
21428
|
+
try {
|
|
21429
|
+
(0, import_node_fs14.mkdirSync)((0, import_node_path17.dirname)(path), { recursive: true });
|
|
21430
|
+
(0, import_node_fs14.writeFileSync)(path, `${JSON.stringify(marker, null, 2)}
|
|
21431
|
+
`, "utf8");
|
|
21432
|
+
} catch {
|
|
21433
|
+
}
|
|
21434
|
+
}
|
|
21435
|
+
function clearAutoUpdateFailure(plan) {
|
|
21436
|
+
const path = autoUpdateFailurePath(plan);
|
|
21437
|
+
if (!path) return;
|
|
21438
|
+
try {
|
|
21439
|
+
(0, import_node_fs14.unlinkSync)(path);
|
|
21440
|
+
} catch {
|
|
21441
|
+
}
|
|
21442
|
+
}
|
|
21443
|
+
function matchingAutoUpdateFailure(plan) {
|
|
21444
|
+
const marker = readAutoUpdateFailure(plan);
|
|
21445
|
+
if (!marker || plan.kind === "source") return null;
|
|
21446
|
+
if (marker.kind !== plan.kind) return null;
|
|
21447
|
+
if (marker.packageSpec !== autoUpdatePackageSpec(plan)) return null;
|
|
21448
|
+
return marker;
|
|
21449
|
+
}
|
|
21450
|
+
async function runAutomaticUpdatePlan(plan) {
|
|
21451
|
+
const previousFailure = matchingAutoUpdateFailure(plan);
|
|
21452
|
+
if (previousFailure) {
|
|
21453
|
+
process.stderr.write(
|
|
21454
|
+
[
|
|
21455
|
+
"Skipping Deepline SDK/CLI auto-update because this same update already failed on this machine.",
|
|
21456
|
+
`Fix Node/npm native package installation issues, then run: ${previousFailure.manualCommand}`,
|
|
21457
|
+
"Common causes include broken esbuild installs, node-gyp build toolchain errors, npm cache corruption, or registry/network failures.",
|
|
21458
|
+
""
|
|
21459
|
+
].join("\n")
|
|
21460
|
+
);
|
|
21461
|
+
return {
|
|
21462
|
+
status: "skipped_previous_failure",
|
|
21463
|
+
exitCode: previousFailure.exitCode || 1,
|
|
21464
|
+
previousFailure
|
|
21465
|
+
};
|
|
21466
|
+
}
|
|
21467
|
+
const exitCode = await runUpdatePlan(plan);
|
|
21468
|
+
return exitCode === 0 ? { status: "updated", exitCode: 0 } : { status: "failed", exitCode };
|
|
21469
|
+
}
|
|
21361
21470
|
function safeVersionSegment(value) {
|
|
21362
21471
|
const normalized = value.trim();
|
|
21363
21472
|
return /^[0-9A-Za-z._-]+$/.test(normalized) ? normalized : "";
|
|
@@ -21527,13 +21636,18 @@ async function runPythonSidecarUpdatePlan(plan) {
|
|
|
21527
21636
|
return 0;
|
|
21528
21637
|
}
|
|
21529
21638
|
async function runUpdatePlan(plan) {
|
|
21639
|
+
let exitCode = 1;
|
|
21530
21640
|
if (plan.kind === "npm-global") {
|
|
21531
|
-
|
|
21641
|
+
exitCode = await runCommand(plan.command, plan.args);
|
|
21642
|
+
} else if (plan.kind === "python-sidecar") {
|
|
21643
|
+
exitCode = await runPythonSidecarUpdatePlan(plan);
|
|
21532
21644
|
}
|
|
21533
|
-
if (
|
|
21534
|
-
|
|
21645
|
+
if (exitCode === 0) {
|
|
21646
|
+
clearAutoUpdateFailure(plan);
|
|
21647
|
+
} else {
|
|
21648
|
+
writeAutoUpdateFailure(plan, exitCode);
|
|
21535
21649
|
}
|
|
21536
|
-
return
|
|
21650
|
+
return exitCode;
|
|
21537
21651
|
}
|
|
21538
21652
|
async function handleUpdate(options) {
|
|
21539
21653
|
const plan = resolveUpdatePlan();
|
|
@@ -21842,15 +21956,18 @@ async function maybeAutoUpdateAndRelaunch(response) {
|
|
|
21842
21956
|
`Deepline SDK/CLI ${label}; running ${plan.manualCommand}
|
|
21843
21957
|
`
|
|
21844
21958
|
);
|
|
21845
|
-
const
|
|
21846
|
-
if (
|
|
21959
|
+
const updateResult = await runAutomaticUpdatePlan(plan);
|
|
21960
|
+
if (updateResult.status === "skipped_previous_failure") {
|
|
21961
|
+
return false;
|
|
21962
|
+
}
|
|
21963
|
+
if (updateResult.exitCode !== 0) {
|
|
21847
21964
|
if (autoUpdate.required) {
|
|
21848
21965
|
throw new Error(
|
|
21849
|
-
`Automatic Deepline SDK/CLI update failed with exit code ${
|
|
21966
|
+
`Automatic Deepline SDK/CLI update failed with exit code ${updateResult.exitCode}. ${response.message}`
|
|
21850
21967
|
);
|
|
21851
21968
|
}
|
|
21852
21969
|
process.stderr.write(
|
|
21853
|
-
`Deepline SDK/CLI auto-update failed with exit code ${
|
|
21970
|
+
`Deepline SDK/CLI auto-update failed with exit code ${updateResult.exitCode}; continuing with ${response.current ?? "current version"}.
|
|
21854
21971
|
`
|
|
21855
21972
|
);
|
|
21856
21973
|
return false;
|
package/dist/cli/index.mjs
CHANGED
|
@@ -381,10 +381,10 @@ var SDK_RELEASE = {
|
|
|
381
381
|
// 0.1.108 ships explicit dataset column/tool recompute policy and removes
|
|
382
382
|
// the SDK enrich generator's one-second stale policy.
|
|
383
383
|
// 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
|
|
384
|
-
version: "0.1.
|
|
384
|
+
version: "0.1.126",
|
|
385
385
|
apiContract: "2026-06-dataset-column-cell-stale-hard-cutover",
|
|
386
386
|
supportPolicy: {
|
|
387
|
-
latest: "0.1.
|
|
387
|
+
latest: "0.1.126",
|
|
388
388
|
minimumSupported: "0.1.53",
|
|
389
389
|
deprecatedBelow: "0.1.53",
|
|
390
390
|
commandMinimumSupported: [
|
|
@@ -21274,9 +21274,11 @@ import { spawn as spawn2 } from "child_process";
|
|
|
21274
21274
|
import {
|
|
21275
21275
|
existsSync as existsSync10,
|
|
21276
21276
|
mkdirSync as mkdirSync8,
|
|
21277
|
+
realpathSync as realpathSync2,
|
|
21277
21278
|
readFileSync as readFileSync10,
|
|
21278
21279
|
renameSync,
|
|
21279
21280
|
rmSync as rmSync3,
|
|
21281
|
+
unlinkSync,
|
|
21280
21282
|
writeFileSync as writeFileSync13
|
|
21281
21283
|
} from "fs";
|
|
21282
21284
|
import { homedir as homedir10 } from "os";
|
|
@@ -21358,6 +21360,27 @@ function findRepoBackedSdkRoot(startPath) {
|
|
|
21358
21360
|
current = parent;
|
|
21359
21361
|
}
|
|
21360
21362
|
}
|
|
21363
|
+
function inferNpmGlobalPrefixFromEntrypoint(entrypoint) {
|
|
21364
|
+
const normalized = (() => {
|
|
21365
|
+
try {
|
|
21366
|
+
return realpathSync2(entrypoint);
|
|
21367
|
+
} catch {
|
|
21368
|
+
return resolve12(entrypoint);
|
|
21369
|
+
}
|
|
21370
|
+
})();
|
|
21371
|
+
const parts = normalized.split(/[\\/]+/);
|
|
21372
|
+
const nodeModulesIndex = parts.lastIndexOf("node_modules");
|
|
21373
|
+
if (nodeModulesIndex <= 0 || parts[nodeModulesIndex + 1] !== "deepline") {
|
|
21374
|
+
return null;
|
|
21375
|
+
}
|
|
21376
|
+
const prefixParts = parts.slice(0, nodeModulesIndex);
|
|
21377
|
+
if (prefixParts.at(-1) !== "lib") {
|
|
21378
|
+
return null;
|
|
21379
|
+
}
|
|
21380
|
+
prefixParts.pop();
|
|
21381
|
+
const prefix = normalized.startsWith("/") && prefixParts[0] !== "" ? `/${prefixParts.join("/")}` : prefixParts.join("/");
|
|
21382
|
+
return prefix || null;
|
|
21383
|
+
}
|
|
21361
21384
|
function resolveUpdatePlan(options = {}) {
|
|
21362
21385
|
const env = options.env ?? process.env;
|
|
21363
21386
|
const homeDir2 = options.homeDir ?? homedir10();
|
|
@@ -21379,14 +21402,102 @@ function resolveUpdatePlan(options = {}) {
|
|
|
21379
21402
|
if (sidecarPlan) return sidecarPlan;
|
|
21380
21403
|
const command = "npm";
|
|
21381
21404
|
const packageSpec = options.packageSpec || "deepline@latest";
|
|
21382
|
-
const
|
|
21405
|
+
const installPrefix = entrypoint ? inferNpmGlobalPrefixFromEntrypoint(entrypoint) : null;
|
|
21406
|
+
const args = installPrefix ? ["install", "-g", "--prefix", installPrefix, packageSpec] : ["install", "-g", packageSpec];
|
|
21383
21407
|
return {
|
|
21384
21408
|
kind: "npm-global",
|
|
21385
21409
|
command,
|
|
21386
21410
|
args,
|
|
21411
|
+
...installPrefix ? { installPrefix } : {},
|
|
21387
21412
|
manualCommand: `${command} ${args.map(shellQuote3).join(" ")}`
|
|
21388
21413
|
};
|
|
21389
21414
|
}
|
|
21415
|
+
var AUTO_UPDATE_FAILURE_FILE = ".auto-update-failure.json";
|
|
21416
|
+
function autoUpdateFailurePath(plan) {
|
|
21417
|
+
if (plan.kind === "source") return null;
|
|
21418
|
+
if (plan.kind === "python-sidecar") {
|
|
21419
|
+
return join12(plan.stateDir, AUTO_UPDATE_FAILURE_FILE);
|
|
21420
|
+
}
|
|
21421
|
+
return join12(
|
|
21422
|
+
homedir10(),
|
|
21423
|
+
".local",
|
|
21424
|
+
"deepline",
|
|
21425
|
+
"sdk-cli",
|
|
21426
|
+
AUTO_UPDATE_FAILURE_FILE
|
|
21427
|
+
);
|
|
21428
|
+
}
|
|
21429
|
+
function autoUpdatePackageSpec(plan) {
|
|
21430
|
+
if (plan.kind === "source") return "";
|
|
21431
|
+
if (plan.kind === "python-sidecar") return plan.packageSpec;
|
|
21432
|
+
return plan.args[plan.args.length - 1] ?? plan.manualCommand;
|
|
21433
|
+
}
|
|
21434
|
+
function readAutoUpdateFailure(plan) {
|
|
21435
|
+
const path = autoUpdateFailurePath(plan);
|
|
21436
|
+
if (!path) return null;
|
|
21437
|
+
try {
|
|
21438
|
+
const parsed = JSON.parse(
|
|
21439
|
+
readFileSync10(path, "utf8")
|
|
21440
|
+
);
|
|
21441
|
+
if ((parsed.kind === "npm-global" || parsed.kind === "python-sidecar") && typeof parsed.packageSpec === "string" && typeof parsed.failedAt === "string" && typeof parsed.exitCode === "number" && typeof parsed.manualCommand === "string") {
|
|
21442
|
+
return parsed;
|
|
21443
|
+
}
|
|
21444
|
+
} catch {
|
|
21445
|
+
return null;
|
|
21446
|
+
}
|
|
21447
|
+
return null;
|
|
21448
|
+
}
|
|
21449
|
+
function writeAutoUpdateFailure(plan, exitCode) {
|
|
21450
|
+
const path = autoUpdateFailurePath(plan);
|
|
21451
|
+
if (!path || plan.kind === "source") return;
|
|
21452
|
+
const marker = {
|
|
21453
|
+
kind: plan.kind,
|
|
21454
|
+
packageSpec: autoUpdatePackageSpec(plan),
|
|
21455
|
+
failedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
21456
|
+
exitCode,
|
|
21457
|
+
manualCommand: plan.manualCommand
|
|
21458
|
+
};
|
|
21459
|
+
try {
|
|
21460
|
+
mkdirSync8(dirname10(path), { recursive: true });
|
|
21461
|
+
writeFileSync13(path, `${JSON.stringify(marker, null, 2)}
|
|
21462
|
+
`, "utf8");
|
|
21463
|
+
} catch {
|
|
21464
|
+
}
|
|
21465
|
+
}
|
|
21466
|
+
function clearAutoUpdateFailure(plan) {
|
|
21467
|
+
const path = autoUpdateFailurePath(plan);
|
|
21468
|
+
if (!path) return;
|
|
21469
|
+
try {
|
|
21470
|
+
unlinkSync(path);
|
|
21471
|
+
} catch {
|
|
21472
|
+
}
|
|
21473
|
+
}
|
|
21474
|
+
function matchingAutoUpdateFailure(plan) {
|
|
21475
|
+
const marker = readAutoUpdateFailure(plan);
|
|
21476
|
+
if (!marker || plan.kind === "source") return null;
|
|
21477
|
+
if (marker.kind !== plan.kind) return null;
|
|
21478
|
+
if (marker.packageSpec !== autoUpdatePackageSpec(plan)) return null;
|
|
21479
|
+
return marker;
|
|
21480
|
+
}
|
|
21481
|
+
async function runAutomaticUpdatePlan(plan) {
|
|
21482
|
+
const previousFailure = matchingAutoUpdateFailure(plan);
|
|
21483
|
+
if (previousFailure) {
|
|
21484
|
+
process.stderr.write(
|
|
21485
|
+
[
|
|
21486
|
+
"Skipping Deepline SDK/CLI auto-update because this same update already failed on this machine.",
|
|
21487
|
+
`Fix Node/npm native package installation issues, then run: ${previousFailure.manualCommand}`,
|
|
21488
|
+
"Common causes include broken esbuild installs, node-gyp build toolchain errors, npm cache corruption, or registry/network failures.",
|
|
21489
|
+
""
|
|
21490
|
+
].join("\n")
|
|
21491
|
+
);
|
|
21492
|
+
return {
|
|
21493
|
+
status: "skipped_previous_failure",
|
|
21494
|
+
exitCode: previousFailure.exitCode || 1,
|
|
21495
|
+
previousFailure
|
|
21496
|
+
};
|
|
21497
|
+
}
|
|
21498
|
+
const exitCode = await runUpdatePlan(plan);
|
|
21499
|
+
return exitCode === 0 ? { status: "updated", exitCode: 0 } : { status: "failed", exitCode };
|
|
21500
|
+
}
|
|
21390
21501
|
function safeVersionSegment(value) {
|
|
21391
21502
|
const normalized = value.trim();
|
|
21392
21503
|
return /^[0-9A-Za-z._-]+$/.test(normalized) ? normalized : "";
|
|
@@ -21556,13 +21667,18 @@ async function runPythonSidecarUpdatePlan(plan) {
|
|
|
21556
21667
|
return 0;
|
|
21557
21668
|
}
|
|
21558
21669
|
async function runUpdatePlan(plan) {
|
|
21670
|
+
let exitCode = 1;
|
|
21559
21671
|
if (plan.kind === "npm-global") {
|
|
21560
|
-
|
|
21672
|
+
exitCode = await runCommand(plan.command, plan.args);
|
|
21673
|
+
} else if (plan.kind === "python-sidecar") {
|
|
21674
|
+
exitCode = await runPythonSidecarUpdatePlan(plan);
|
|
21561
21675
|
}
|
|
21562
|
-
if (
|
|
21563
|
-
|
|
21676
|
+
if (exitCode === 0) {
|
|
21677
|
+
clearAutoUpdateFailure(plan);
|
|
21678
|
+
} else {
|
|
21679
|
+
writeAutoUpdateFailure(plan, exitCode);
|
|
21564
21680
|
}
|
|
21565
|
-
return
|
|
21681
|
+
return exitCode;
|
|
21566
21682
|
}
|
|
21567
21683
|
async function handleUpdate(options) {
|
|
21568
21684
|
const plan = resolveUpdatePlan();
|
|
@@ -21871,15 +21987,18 @@ async function maybeAutoUpdateAndRelaunch(response) {
|
|
|
21871
21987
|
`Deepline SDK/CLI ${label}; running ${plan.manualCommand}
|
|
21872
21988
|
`
|
|
21873
21989
|
);
|
|
21874
|
-
const
|
|
21875
|
-
if (
|
|
21990
|
+
const updateResult = await runAutomaticUpdatePlan(plan);
|
|
21991
|
+
if (updateResult.status === "skipped_previous_failure") {
|
|
21992
|
+
return false;
|
|
21993
|
+
}
|
|
21994
|
+
if (updateResult.exitCode !== 0) {
|
|
21876
21995
|
if (autoUpdate.required) {
|
|
21877
21996
|
throw new Error(
|
|
21878
|
-
`Automatic Deepline SDK/CLI update failed with exit code ${
|
|
21997
|
+
`Automatic Deepline SDK/CLI update failed with exit code ${updateResult.exitCode}. ${response.message}`
|
|
21879
21998
|
);
|
|
21880
21999
|
}
|
|
21881
22000
|
process.stderr.write(
|
|
21882
|
-
`Deepline SDK/CLI auto-update failed with exit code ${
|
|
22001
|
+
`Deepline SDK/CLI auto-update failed with exit code ${updateResult.exitCode}; continuing with ${response.current ?? "current version"}.
|
|
21883
22002
|
`
|
|
21884
22003
|
);
|
|
21885
22004
|
return false;
|
package/dist/index.js
CHANGED
|
@@ -275,10 +275,10 @@ var SDK_RELEASE = {
|
|
|
275
275
|
// 0.1.108 ships explicit dataset column/tool recompute policy and removes
|
|
276
276
|
// the SDK enrich generator's one-second stale policy.
|
|
277
277
|
// 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
|
|
278
|
-
version: "0.1.
|
|
278
|
+
version: "0.1.126",
|
|
279
279
|
apiContract: "2026-06-dataset-column-cell-stale-hard-cutover",
|
|
280
280
|
supportPolicy: {
|
|
281
|
-
latest: "0.1.
|
|
281
|
+
latest: "0.1.126",
|
|
282
282
|
minimumSupported: "0.1.53",
|
|
283
283
|
deprecatedBelow: "0.1.53",
|
|
284
284
|
commandMinimumSupported: [
|
package/dist/index.mjs
CHANGED
|
@@ -197,10 +197,10 @@ var SDK_RELEASE = {
|
|
|
197
197
|
// 0.1.108 ships explicit dataset column/tool recompute policy and removes
|
|
198
198
|
// the SDK enrich generator's one-second stale policy.
|
|
199
199
|
// 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
|
|
200
|
-
version: "0.1.
|
|
200
|
+
version: "0.1.126",
|
|
201
201
|
apiContract: "2026-06-dataset-column-cell-stale-hard-cutover",
|
|
202
202
|
supportPolicy: {
|
|
203
|
-
latest: "0.1.
|
|
203
|
+
latest: "0.1.126",
|
|
204
204
|
minimumSupported: "0.1.53",
|
|
205
205
|
deprecatedBelow: "0.1.53",
|
|
206
206
|
commandMinimumSupported: [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deepline",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.126",
|
|
4
4
|
"description": "Deepline SDK + CLI — B2B data enrichment powered by durable cloud execution",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -49,9 +49,11 @@
|
|
|
49
49
|
"commander": "^14.0.3",
|
|
50
50
|
"csv-parse": "^5.6.0",
|
|
51
51
|
"csv-stringify": "^6.5.0",
|
|
52
|
-
"esbuild": "^0.27.0",
|
|
53
52
|
"undici": "^6.22.0"
|
|
54
53
|
},
|
|
54
|
+
"optionalDependencies": {
|
|
55
|
+
"esbuild": "^0.27.0"
|
|
56
|
+
},
|
|
55
57
|
"devDependencies": {
|
|
56
58
|
"@types/node": "^20.0.0",
|
|
57
59
|
"tsup": "^8.0.0",
|