deepline 0.1.81 → 0.1.82

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/cli/index.js CHANGED
@@ -229,10 +229,10 @@ var import_node_path2 = require("path");
229
229
 
230
230
  // src/release.ts
231
231
  var SDK_RELEASE = {
232
- version: "0.1.81",
232
+ version: "0.1.82",
233
233
  apiContract: "2026-06-dataset-column-cell-stale-hard-cutover",
234
234
  supportPolicy: {
235
- latest: "0.1.81",
235
+ latest: "0.1.82",
236
236
  minimumSupported: "0.1.53",
237
237
  deprecatedBelow: "0.1.53"
238
238
  }
@@ -1875,7 +1875,7 @@ var import_node_path3 = require("path");
1875
1875
  var childProcess = __toESM(require("child_process"));
1876
1876
  var import_sync = require("csv-parse/sync");
1877
1877
  var import_sync2 = require("csv-stringify/sync");
1878
- var BROWSER_FOCUS_COOLDOWN_MS = 3e4;
1878
+ var BROWSER_OPEN_COOLDOWN_MS = 3e4;
1879
1879
  var defaultBrowserCommandRunner = childProcess;
1880
1880
  function getAuthedHttpClient() {
1881
1881
  const config = resolveConfig();
@@ -1888,7 +1888,7 @@ async function writeOutputFile(filename, content) {
1888
1888
  await (0, import_promises.writeFile)(fullPath, content, "utf-8");
1889
1889
  return fullPath;
1890
1890
  }
1891
- function browserFocusStateFile() {
1891
+ function browserOpenStateFile() {
1892
1892
  const homeDir = process.env.HOME || (0, import_node_os3.homedir)();
1893
1893
  return (0, import_node_path3.join)(
1894
1894
  homeDir,
@@ -1896,31 +1896,43 @@ function browserFocusStateFile() {
1896
1896
  "deepline",
1897
1897
  "runtime",
1898
1898
  "state",
1899
- "browser-focus.json"
1899
+ "browser-open.json"
1900
1900
  );
1901
1901
  }
1902
- function claimBrowserFocus(now = Date.now()) {
1903
- const statePath = browserFocusStateFile();
1902
+ function claimBrowserOpen(now = Date.now()) {
1903
+ const statePath = browserOpenStateFile();
1904
+ const lockPath = `${statePath}.lock`;
1905
+ let locked = false;
1904
1906
  try {
1905
1907
  (0, import_node_fs3.mkdirSync)((0, import_node_path3.dirname)(statePath), { recursive: true });
1906
- let lastFocusedAt = 0;
1908
+ try {
1909
+ (0, import_node_fs3.mkdirSync)(lockPath);
1910
+ locked = true;
1911
+ } catch {
1912
+ return false;
1913
+ }
1914
+ let lastOpenedAt = 0;
1907
1915
  if ((0, import_node_fs3.existsSync)(statePath)) {
1908
1916
  const payload = JSON.parse((0, import_node_fs3.readFileSync)(statePath, "utf-8"));
1909
- const value = payload.lastFocusedAt ?? payload.last_focused_at;
1917
+ const value = payload.lastOpenedAt ?? payload.last_opened_at ?? payload.lastFocusedAt ?? payload.last_focused_at;
1910
1918
  if (typeof value === "number" && Number.isFinite(value)) {
1911
- lastFocusedAt = value;
1919
+ lastOpenedAt = value;
1912
1920
  }
1913
1921
  }
1914
- if (lastFocusedAt > now) {
1915
- lastFocusedAt = 0;
1922
+ if (lastOpenedAt > now) {
1923
+ lastOpenedAt = 0;
1916
1924
  }
1917
- if (now - lastFocusedAt < BROWSER_FOCUS_COOLDOWN_MS) {
1925
+ if (now - lastOpenedAt < BROWSER_OPEN_COOLDOWN_MS) {
1918
1926
  return false;
1919
1927
  }
1920
- (0, import_node_fs3.writeFileSync)(statePath, JSON.stringify({ lastFocusedAt: now }), "utf-8");
1928
+ (0, import_node_fs3.writeFileSync)(statePath, JSON.stringify({ lastOpenedAt: now }), "utf-8");
1921
1929
  return true;
1922
1930
  } catch {
1923
1931
  return true;
1932
+ } finally {
1933
+ if (locked) {
1934
+ (0, import_node_fs3.rmSync)(lockPath, { recursive: true, force: true });
1935
+ }
1924
1936
  }
1925
1937
  }
1926
1938
  function extractUrlHost(raw) {
@@ -2090,7 +2102,8 @@ function openInBrowser(url) {
2090
2102
  if (browserOpeningDisabled()) return;
2091
2103
  const targetUrl = String(url || "").trim();
2092
2104
  if (!targetUrl) return;
2093
- const allowFocus = claimBrowserFocus();
2105
+ if (!claimBrowserOpen()) return;
2106
+ const allowFocus = true;
2094
2107
  if (process.platform === "darwin") {
2095
2108
  openUrlMacos(targetUrl, allowFocus);
2096
2109
  return;
@@ -206,10 +206,10 @@ import { join as join2 } from "path";
206
206
 
207
207
  // src/release.ts
208
208
  var SDK_RELEASE = {
209
- version: "0.1.81",
209
+ version: "0.1.82",
210
210
  apiContract: "2026-06-dataset-column-cell-stale-hard-cutover",
211
211
  supportPolicy: {
212
- latest: "0.1.81",
212
+ latest: "0.1.82",
213
213
  minimumSupported: "0.1.53",
214
214
  deprecatedBelow: "0.1.53"
215
215
  }
@@ -1844,21 +1844,27 @@ import {
1844
1844
  existsSync as existsSync4,
1845
1845
  mkdirSync as mkdirSync3,
1846
1846
  readFileSync as readFileSync4,
1847
- rmSync,
1847
+ rmSync as rmSync2,
1848
1848
  writeFileSync as writeFileSync3
1849
1849
  } from "fs";
1850
1850
  import { hostname } from "os";
1851
1851
  import { dirname as dirname3 } from "path";
1852
1852
 
1853
1853
  // src/cli/utils.ts
1854
- import { existsSync as existsSync3, mkdirSync as mkdirSync2, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
1854
+ import {
1855
+ existsSync as existsSync3,
1856
+ mkdirSync as mkdirSync2,
1857
+ readFileSync as readFileSync3,
1858
+ rmSync,
1859
+ writeFileSync as writeFileSync2
1860
+ } from "fs";
1855
1861
  import { mkdir, writeFile } from "fs/promises";
1856
1862
  import { homedir as homedir3 } from "os";
1857
1863
  import { dirname as dirname2, join as join3, resolve as resolve2 } from "path";
1858
1864
  import * as childProcess from "child_process";
1859
1865
  import { parse } from "csv-parse/sync";
1860
1866
  import { stringify } from "csv-stringify/sync";
1861
- var BROWSER_FOCUS_COOLDOWN_MS = 3e4;
1867
+ var BROWSER_OPEN_COOLDOWN_MS = 3e4;
1862
1868
  var defaultBrowserCommandRunner = childProcess;
1863
1869
  function getAuthedHttpClient() {
1864
1870
  const config = resolveConfig();
@@ -1871,7 +1877,7 @@ async function writeOutputFile(filename, content) {
1871
1877
  await writeFile(fullPath, content, "utf-8");
1872
1878
  return fullPath;
1873
1879
  }
1874
- function browserFocusStateFile() {
1880
+ function browserOpenStateFile() {
1875
1881
  const homeDir = process.env.HOME || homedir3();
1876
1882
  return join3(
1877
1883
  homeDir,
@@ -1879,31 +1885,43 @@ function browserFocusStateFile() {
1879
1885
  "deepline",
1880
1886
  "runtime",
1881
1887
  "state",
1882
- "browser-focus.json"
1888
+ "browser-open.json"
1883
1889
  );
1884
1890
  }
1885
- function claimBrowserFocus(now = Date.now()) {
1886
- const statePath = browserFocusStateFile();
1891
+ function claimBrowserOpen(now = Date.now()) {
1892
+ const statePath = browserOpenStateFile();
1893
+ const lockPath = `${statePath}.lock`;
1894
+ let locked = false;
1887
1895
  try {
1888
1896
  mkdirSync2(dirname2(statePath), { recursive: true });
1889
- let lastFocusedAt = 0;
1897
+ try {
1898
+ mkdirSync2(lockPath);
1899
+ locked = true;
1900
+ } catch {
1901
+ return false;
1902
+ }
1903
+ let lastOpenedAt = 0;
1890
1904
  if (existsSync3(statePath)) {
1891
1905
  const payload = JSON.parse(readFileSync3(statePath, "utf-8"));
1892
- const value = payload.lastFocusedAt ?? payload.last_focused_at;
1906
+ const value = payload.lastOpenedAt ?? payload.last_opened_at ?? payload.lastFocusedAt ?? payload.last_focused_at;
1893
1907
  if (typeof value === "number" && Number.isFinite(value)) {
1894
- lastFocusedAt = value;
1908
+ lastOpenedAt = value;
1895
1909
  }
1896
1910
  }
1897
- if (lastFocusedAt > now) {
1898
- lastFocusedAt = 0;
1911
+ if (lastOpenedAt > now) {
1912
+ lastOpenedAt = 0;
1899
1913
  }
1900
- if (now - lastFocusedAt < BROWSER_FOCUS_COOLDOWN_MS) {
1914
+ if (now - lastOpenedAt < BROWSER_OPEN_COOLDOWN_MS) {
1901
1915
  return false;
1902
1916
  }
1903
- writeFileSync2(statePath, JSON.stringify({ lastFocusedAt: now }), "utf-8");
1917
+ writeFileSync2(statePath, JSON.stringify({ lastOpenedAt: now }), "utf-8");
1904
1918
  return true;
1905
1919
  } catch {
1906
1920
  return true;
1921
+ } finally {
1922
+ if (locked) {
1923
+ rmSync(lockPath, { recursive: true, force: true });
1924
+ }
1907
1925
  }
1908
1926
  }
1909
1927
  function extractUrlHost(raw) {
@@ -2073,7 +2091,8 @@ function openInBrowser(url) {
2073
2091
  if (browserOpeningDisabled()) return;
2074
2092
  const targetUrl = String(url || "").trim();
2075
2093
  if (!targetUrl) return;
2076
- const allowFocus = claimBrowserFocus();
2094
+ if (!claimBrowserOpen()) return;
2095
+ const allowFocus = true;
2077
2096
  if (process.platform === "darwin") {
2078
2097
  openUrlMacos(targetUrl, allowFocus);
2079
2098
  return;
@@ -2322,7 +2341,7 @@ function readPendingClaimToken(baseUrl) {
2322
2341
  }
2323
2342
  function clearPendingClaimToken(baseUrl) {
2324
2343
  try {
2325
- rmSync(pendingClaimTokenPath(baseUrl), { force: true });
2344
+ rmSync2(pendingClaimTokenPath(baseUrl), { force: true });
2326
2345
  } catch {
2327
2346
  }
2328
2347
  }
package/dist/index.js CHANGED
@@ -241,10 +241,10 @@ var import_node_path2 = require("path");
241
241
 
242
242
  // src/release.ts
243
243
  var SDK_RELEASE = {
244
- version: "0.1.81",
244
+ version: "0.1.82",
245
245
  apiContract: "2026-06-dataset-column-cell-stale-hard-cutover",
246
246
  supportPolicy: {
247
- latest: "0.1.81",
247
+ latest: "0.1.82",
248
248
  minimumSupported: "0.1.53",
249
249
  deprecatedBelow: "0.1.53"
250
250
  }
package/dist/index.mjs CHANGED
@@ -179,10 +179,10 @@ import { join as join2 } from "path";
179
179
 
180
180
  // src/release.ts
181
181
  var SDK_RELEASE = {
182
- version: "0.1.81",
182
+ version: "0.1.82",
183
183
  apiContract: "2026-06-dataset-column-cell-stale-hard-cutover",
184
184
  supportPolicy: {
185
- latest: "0.1.81",
185
+ latest: "0.1.82",
186
186
  minimumSupported: "0.1.53",
187
187
  deprecatedBelow: "0.1.53"
188
188
  }
@@ -50,10 +50,10 @@ export type SdkRelease = {
50
50
  };
51
51
 
52
52
  export const SDK_RELEASE = {
53
- version: '0.1.81',
53
+ version: '0.1.82',
54
54
  apiContract: '2026-06-dataset-column-cell-stale-hard-cutover',
55
55
  supportPolicy: {
56
- latest: '0.1.81',
56
+ latest: '0.1.82',
57
57
  minimumSupported: '0.1.53',
58
58
  deprecatedBelow: '0.1.53',
59
59
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.1.81",
3
+ "version": "0.1.82",
4
4
  "description": "Deepline SDK + CLI — B2B data enrichment powered by durable cloud execution",
5
5
  "license": "MIT",
6
6
  "repository": {