deepline 0.1.147 → 0.1.148

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.
@@ -102,10 +102,10 @@ export const SDK_RELEASE = {
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
104
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
105
- version: '0.1.147',
105
+ version: '0.1.148',
106
106
  apiContract: '2026-06-dataset-handle-results-hard-cutover',
107
107
  supportPolicy: {
108
- latest: '0.1.147',
108
+ latest: '0.1.148',
109
109
  minimumSupported: '0.1.53',
110
110
  deprecatedBelow: '0.1.53',
111
111
  commandMinimumSupported: [
package/dist/cli/index.js CHANGED
@@ -620,10 +620,10 @@ var SDK_RELEASE = {
620
620
  // the SDK enrich generator's one-second stale policy.
621
621
  // 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
622
622
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
623
- version: "0.1.147",
623
+ version: "0.1.148",
624
624
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
625
625
  supportPolicy: {
626
- latest: "0.1.147",
626
+ latest: "0.1.148",
627
627
  minimumSupported: "0.1.53",
628
628
  deprecatedBelow: "0.1.53",
629
629
  commandMinimumSupported: [
@@ -23677,6 +23677,40 @@ function isCi() {
23677
23677
  function shouldSkipSelfUpdate() {
23678
23678
  return envTruthy("DEEPLINE_SKIP_SELF_UPDATE") || envTruthy("DEEPLINE_NO_AUTO_UPDATE") || envTruthy("DEEPLINE_SKIP_SDK_AUTO_UPDATE") || envTruthy("DEEPLINE_DISABLE_AUTO_UPDATE") || isCi();
23679
23679
  }
23680
+ function parseSemver(version) {
23681
+ const trimmed = version?.trim();
23682
+ if (!trimmed) return null;
23683
+ const match = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/.exec(
23684
+ trimmed
23685
+ );
23686
+ if (!match) return null;
23687
+ return {
23688
+ major: Number(match[1]),
23689
+ minor: Number(match[2]),
23690
+ patch: Number(match[3]),
23691
+ prerelease: match[4] ?? ""
23692
+ };
23693
+ }
23694
+ function compareSemver(left, right) {
23695
+ const a = parseSemver(left);
23696
+ const b = parseSemver(right);
23697
+ if (!a || !b) {
23698
+ return left.localeCompare(right);
23699
+ }
23700
+ for (const key of ["major", "minor", "patch"]) {
23701
+ if (a[key] !== b[key]) return a[key] > b[key] ? 1 : -1;
23702
+ }
23703
+ if (a.prerelease === b.prerelease) return 0;
23704
+ if (!a.prerelease) return 1;
23705
+ if (!b.prerelease) return -1;
23706
+ return a.prerelease.localeCompare(b.prerelease);
23707
+ }
23708
+ function isDowngradeAutoUpdateResponse(response) {
23709
+ const target = response?.latest?.trim();
23710
+ const current = response?.current?.trim() || SDK_VERSION;
23711
+ if (!target) return false;
23712
+ return compareSemver(target, current) < 0;
23713
+ }
23680
23714
  function relaunchCurrentCommand(plan) {
23681
23715
  return new Promise((resolve13) => {
23682
23716
  const command = plan.kind === "python-sidecar" ? plan.sidecarPath : process.execPath;
@@ -23704,6 +23738,15 @@ async function maybeAutoUpdateAndRelaunch(response) {
23704
23738
  if (!response || !autoUpdate?.should_auto_update || shouldSkipSelfUpdate()) {
23705
23739
  return false;
23706
23740
  }
23741
+ if (isDowngradeAutoUpdateResponse(response)) {
23742
+ const target = response.latest;
23743
+ const current = response.current?.trim() || SDK_VERSION;
23744
+ process.stderr.write(
23745
+ `Deepline SDK/CLI auto-update refused: server advertised older ${target} than current ${current}. Continuing without mutating the CLI.
23746
+ `
23747
+ );
23748
+ return false;
23749
+ }
23707
23750
  const packageSpec = response.latest ? `deepline@${response.latest}` : void 0;
23708
23751
  const plan = resolveUpdatePlan({ packageSpec });
23709
23752
  if (plan.kind === "source") {
@@ -605,10 +605,10 @@ var SDK_RELEASE = {
605
605
  // the SDK enrich generator's one-second stale policy.
606
606
  // 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
607
607
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
608
- version: "0.1.147",
608
+ version: "0.1.148",
609
609
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
610
610
  supportPolicy: {
611
- latest: "0.1.147",
611
+ latest: "0.1.148",
612
612
  minimumSupported: "0.1.53",
613
613
  deprecatedBelow: "0.1.53",
614
614
  commandMinimumSupported: [
@@ -23716,6 +23716,40 @@ function isCi() {
23716
23716
  function shouldSkipSelfUpdate() {
23717
23717
  return envTruthy("DEEPLINE_SKIP_SELF_UPDATE") || envTruthy("DEEPLINE_NO_AUTO_UPDATE") || envTruthy("DEEPLINE_SKIP_SDK_AUTO_UPDATE") || envTruthy("DEEPLINE_DISABLE_AUTO_UPDATE") || isCi();
23718
23718
  }
23719
+ function parseSemver(version) {
23720
+ const trimmed = version?.trim();
23721
+ if (!trimmed) return null;
23722
+ const match = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/.exec(
23723
+ trimmed
23724
+ );
23725
+ if (!match) return null;
23726
+ return {
23727
+ major: Number(match[1]),
23728
+ minor: Number(match[2]),
23729
+ patch: Number(match[3]),
23730
+ prerelease: match[4] ?? ""
23731
+ };
23732
+ }
23733
+ function compareSemver(left, right) {
23734
+ const a = parseSemver(left);
23735
+ const b = parseSemver(right);
23736
+ if (!a || !b) {
23737
+ return left.localeCompare(right);
23738
+ }
23739
+ for (const key of ["major", "minor", "patch"]) {
23740
+ if (a[key] !== b[key]) return a[key] > b[key] ? 1 : -1;
23741
+ }
23742
+ if (a.prerelease === b.prerelease) return 0;
23743
+ if (!a.prerelease) return 1;
23744
+ if (!b.prerelease) return -1;
23745
+ return a.prerelease.localeCompare(b.prerelease);
23746
+ }
23747
+ function isDowngradeAutoUpdateResponse(response) {
23748
+ const target = response?.latest?.trim();
23749
+ const current = response?.current?.trim() || SDK_VERSION;
23750
+ if (!target) return false;
23751
+ return compareSemver(target, current) < 0;
23752
+ }
23719
23753
  function relaunchCurrentCommand(plan) {
23720
23754
  return new Promise((resolve13) => {
23721
23755
  const command = plan.kind === "python-sidecar" ? plan.sidecarPath : process.execPath;
@@ -23743,6 +23777,15 @@ async function maybeAutoUpdateAndRelaunch(response) {
23743
23777
  if (!response || !autoUpdate?.should_auto_update || shouldSkipSelfUpdate()) {
23744
23778
  return false;
23745
23779
  }
23780
+ if (isDowngradeAutoUpdateResponse(response)) {
23781
+ const target = response.latest;
23782
+ const current = response.current?.trim() || SDK_VERSION;
23783
+ process.stderr.write(
23784
+ `Deepline SDK/CLI auto-update refused: server advertised older ${target} than current ${current}. Continuing without mutating the CLI.
23785
+ `
23786
+ );
23787
+ return false;
23788
+ }
23746
23789
  const packageSpec = response.latest ? `deepline@${response.latest}` : void 0;
23747
23790
  const plan = resolveUpdatePlan({ packageSpec });
23748
23791
  if (plan.kind === "source") {
package/dist/index.js CHANGED
@@ -419,10 +419,10 @@ var SDK_RELEASE = {
419
419
  // the SDK enrich generator's one-second stale policy.
420
420
  // 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
421
421
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
422
- version: "0.1.147",
422
+ version: "0.1.148",
423
423
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
424
424
  supportPolicy: {
425
- latest: "0.1.147",
425
+ latest: "0.1.148",
426
426
  minimumSupported: "0.1.53",
427
427
  deprecatedBelow: "0.1.53",
428
428
  commandMinimumSupported: [
package/dist/index.mjs CHANGED
@@ -349,10 +349,10 @@ var SDK_RELEASE = {
349
349
  // the SDK enrich generator's one-second stale policy.
350
350
  // 0.1.110 ships authored V2 prebuilts and required top-level play descriptions.
351
351
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
352
- version: "0.1.147",
352
+ version: "0.1.148",
353
353
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
354
354
  supportPolicy: {
355
- latest: "0.1.147",
355
+ latest: "0.1.148",
356
356
  minimumSupported: "0.1.53",
357
357
  deprecatedBelow: "0.1.53",
358
358
  commandMinimumSupported: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.1.147",
3
+ "version": "0.1.148",
4
4
  "description": "Deepline SDK + CLI — B2B data enrichment powered by durable cloud execution",
5
5
  "license": "MIT",
6
6
  "repository": {