deepline 0.1.160 → 0.1.161

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.
@@ -58,8 +58,6 @@ const DEFAULT_TIMEOUT = 60_000;
58
58
  const DEFAULT_MAX_RETRIES = 3;
59
59
 
60
60
  const PROJECT_DEEPLINE_ENV_FILE = '.env.deepline';
61
- const WORKSPACE_RESTORE_ENV_DIR = '.deepline';
62
- const WORKSPACE_RESTORE_ENV_FILE = '.env';
63
61
  const COWORK_IGNORED_WORKSPACE_DIRS = new Set([
64
62
  '.auto-memory',
65
63
  '.claude',
@@ -507,27 +505,6 @@ function ensureProjectEnvIsIgnored(dir: string): void {
507
505
  writeFileSync(gitignorePath, `${existing}${prefix}${entry}\n`, 'utf-8');
508
506
  }
509
507
 
510
- function ensureWorkspaceRestoreEnvIsIgnored(workspaceDir: string): void {
511
- const gitignorePath = join(workspaceDir, '.gitignore');
512
- const entry = `${WORKSPACE_RESTORE_ENV_DIR}/`;
513
- const existing = existsSync(gitignorePath)
514
- ? readFileSync(gitignorePath, 'utf-8')
515
- : '';
516
- const alreadyIgnored = existing
517
- .split(/\r?\n/)
518
- .map((line) => line.trim())
519
- .some(
520
- (line) =>
521
- line === entry ||
522
- line === `/${entry}` ||
523
- line === WORKSPACE_RESTORE_ENV_DIR ||
524
- line === `/${WORKSPACE_RESTORE_ENV_DIR}`,
525
- );
526
- if (alreadyIgnored) return;
527
- const prefix = existing && !existing.endsWith('\n') ? '\n' : '';
528
- writeFileSync(gitignorePath, `${existing}${prefix}${entry}\n`, 'utf-8');
529
- }
530
-
531
508
  export function saveProjectDeeplineEnvValues(
532
509
  values: EnvValues,
533
510
  startDir: string = process.cwd(),
@@ -545,32 +522,6 @@ export function saveProjectDeeplineEnvValues(
545
522
  return [filePath];
546
523
  }
547
524
 
548
- export function saveCoworkWorkspaceRestoreEnvValues(
549
- values: EnvValues,
550
- startDir: string = process.cwd(),
551
- ): string[] {
552
- if (!isCoworkLikeSandbox()) return [];
553
- const target = resolveProjectPinTarget(startDir);
554
- if (!target.ok || target.source === 'cwd') return [];
555
- const workspaceDir = target.dir;
556
- const filePath = join(
557
- workspaceDir,
558
- WORKSPACE_RESTORE_ENV_DIR,
559
- WORKSPACE_RESTORE_ENV_FILE,
560
- );
561
- const existing = parseEnvFile(filePath);
562
- const merged = { ...existing, ...values };
563
- const dir = dirname(filePath);
564
- if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
565
- ensureWorkspaceRestoreEnvIsIgnored(workspaceDir);
566
- const allowedKeys = new Set([HOST_URL_ENV, API_KEY_ENV]);
567
- const lines = Object.entries(merged)
568
- .filter(([key, value]) => allowedKeys.has(key) && value !== '')
569
- .map(([key, value]) => `${key}=${value}`);
570
- writeFileSync(filePath, `${lines.join('\n')}\n`, 'utf-8');
571
- return [filePath];
572
- }
573
-
574
525
  export function resolveProjectPinDir(startDir: string = process.cwd()): string {
575
526
  const target = resolveProjectPinTarget(startDir);
576
527
  if (!target.ok) {
@@ -104,10 +104,10 @@ export const SDK_RELEASE = {
104
104
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
105
105
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
106
106
  // fields shipped in 0.1.153.
107
- version: '0.1.160',
107
+ version: '0.1.161',
108
108
  apiContract: '2026-06-dataset-handle-results-hard-cutover',
109
109
  supportPolicy: {
110
- latest: '0.1.160',
110
+ latest: '0.1.161',
111
111
  minimumSupported: '0.1.53',
112
112
  deprecatedBelow: '0.1.53',
113
113
  commandMinimumSupported: [
package/dist/cli/index.js CHANGED
@@ -237,8 +237,6 @@ var PROD_URL = "https://code.deepline.com";
237
237
  var DEFAULT_TIMEOUT = 6e4;
238
238
  var DEFAULT_MAX_RETRIES = 3;
239
239
  var PROJECT_DEEPLINE_ENV_FILE = ".env.deepline";
240
- var WORKSPACE_RESTORE_ENV_DIR = ".deepline";
241
- var WORKSPACE_RESTORE_ENV_FILE = ".env";
242
240
  var COWORK_IGNORED_WORKSPACE_DIRS = /* @__PURE__ */ new Set([
243
241
  ".auto-memory",
244
242
  ".claude",
@@ -553,18 +551,6 @@ function ensureProjectEnvIsIgnored(dir) {
553
551
  (0, import_node_fs.writeFileSync)(gitignorePath, `${existing}${prefix}${entry}
554
552
  `, "utf-8");
555
553
  }
556
- function ensureWorkspaceRestoreEnvIsIgnored(workspaceDir) {
557
- const gitignorePath = (0, import_node_path.join)(workspaceDir, ".gitignore");
558
- const entry = `${WORKSPACE_RESTORE_ENV_DIR}/`;
559
- const existing = (0, import_node_fs.existsSync)(gitignorePath) ? (0, import_node_fs.readFileSync)(gitignorePath, "utf-8") : "";
560
- const alreadyIgnored = existing.split(/\r?\n/).map((line) => line.trim()).some(
561
- (line) => line === entry || line === `/${entry}` || line === WORKSPACE_RESTORE_ENV_DIR || line === `/${WORKSPACE_RESTORE_ENV_DIR}`
562
- );
563
- if (alreadyIgnored) return;
564
- const prefix = existing && !existing.endsWith("\n") ? "\n" : "";
565
- (0, import_node_fs.writeFileSync)(gitignorePath, `${existing}${prefix}${entry}
566
- `, "utf-8");
567
- }
568
554
  function saveProjectDeeplineEnvValues(values, startDir = process.cwd()) {
569
555
  const target = resolveProjectPinTarget(startDir);
570
556
  if (!target.ok) {
@@ -578,27 +564,6 @@ function saveProjectDeeplineEnvValues(values, startDir = process.cwd()) {
578
564
  mergeProjectEnvFile(filePath, values);
579
565
  return [filePath];
580
566
  }
581
- function saveCoworkWorkspaceRestoreEnvValues(values, startDir = process.cwd()) {
582
- if (!isCoworkLikeSandbox()) return [];
583
- const target = resolveProjectPinTarget(startDir);
584
- if (!target.ok || target.source === "cwd") return [];
585
- const workspaceDir = target.dir;
586
- const filePath = (0, import_node_path.join)(
587
- workspaceDir,
588
- WORKSPACE_RESTORE_ENV_DIR,
589
- WORKSPACE_RESTORE_ENV_FILE
590
- );
591
- const existing = parseEnvFile(filePath);
592
- const merged = { ...existing, ...values };
593
- const dir = (0, import_node_path.dirname)(filePath);
594
- if (!(0, import_node_fs.existsSync)(dir)) (0, import_node_fs.mkdirSync)(dir, { recursive: true });
595
- ensureWorkspaceRestoreEnvIsIgnored(workspaceDir);
596
- const allowedKeys = /* @__PURE__ */ new Set([HOST_URL_ENV, API_KEY_ENV]);
597
- const lines = Object.entries(merged).filter(([key, value]) => allowedKeys.has(key) && value !== "").map(([key, value]) => `${key}=${value}`);
598
- (0, import_node_fs.writeFileSync)(filePath, `${lines.join("\n")}
599
- `, "utf-8");
600
- return [filePath];
601
- }
602
567
  function resolveProjectPinTarget(startDir = process.cwd()) {
603
568
  const nearestFile = findNearestEnvFile(PROJECT_DEEPLINE_ENV_FILE, startDir);
604
569
  if (nearestFile && !isInIgnoredCoworkMount(nearestFile)) {
@@ -657,10 +622,10 @@ var SDK_RELEASE = {
657
622
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
658
623
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
659
624
  // fields shipped in 0.1.153.
660
- version: "0.1.160",
625
+ version: "0.1.161",
661
626
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
662
627
  supportPolicy: {
663
- latest: "0.1.160",
628
+ latest: "0.1.161",
664
629
  minimumSupported: "0.1.53",
665
630
  deprecatedBelow: "0.1.53",
666
631
  commandMinimumSupported: [
@@ -4748,9 +4713,6 @@ function saveEnvValues(values, baseUrl) {
4748
4713
  ...values[API_KEY_ENV] ? { [API_KEY_ENV]: values[API_KEY_ENV] } : {}
4749
4714
  };
4750
4715
  saveHostEnvValues(baseUrl, filtered);
4751
- if (filtered[API_KEY_ENV]) {
4752
- saveCoworkWorkspaceRestoreEnvValues(filtered);
4753
- }
4754
4716
  }
4755
4717
  async function httpJson(method, url, apiKey, body) {
4756
4718
  const headers = {
@@ -20502,7 +20464,9 @@ async function handleOrgStatus(options) {
20502
20464
  const config = resolveConfig();
20503
20465
  const http = new HttpClient(config);
20504
20466
  const payload = await fetchOrganizations(http, config.apiKey);
20505
- const current = payload.organizations.find((org) => org.is_current) ?? payload.organizations.find((org) => org.org_id === payload.current_org_id) ?? null;
20467
+ const current = payload.organizations.find((org) => org.is_current) ?? payload.organizations.find(
20468
+ (org) => org.org_id === payload.current_org_id
20469
+ ) ?? null;
20506
20470
  const projectCandidate = getActiveProjectAuthSource();
20507
20471
  const activeProject = getResolvedProjectAuthSource(
20508
20472
  config.baseUrl,
@@ -20634,15 +20598,14 @@ async function handleOrgSwitch(selection, options) {
20634
20598
  } else {
20635
20599
  saveHostEnvValues(config.baseUrl, authValues2);
20636
20600
  }
20637
- if (authTarget.kind === "folder") {
20638
- saveCoworkWorkspaceRestoreEnvValues(authValues2);
20639
- }
20640
20601
  const renderLines2 = [`Already on ${target.name}.`];
20641
20602
  for (const projectPath of project_env_paths2) {
20642
20603
  renderLines2.push(`Saved folder auth in ${projectPath}`);
20643
20604
  }
20644
20605
  if (authTarget.kind === "global") {
20645
- renderLines2.push(`Saved global auth in ${hostEnvFilePath(config.baseUrl)}`);
20606
+ renderLines2.push(
20607
+ `Saved global auth in ${hostEnvFilePath(config.baseUrl)}`
20608
+ );
20646
20609
  }
20647
20610
  renderLines2.push(
20648
20611
  `Scope: ${authTarget.requested_scope} -> ${authTarget.effective_scope} (${authTarget.reason})`
@@ -20697,9 +20660,6 @@ async function handleOrgSwitch(selection, options) {
20697
20660
  DEEPLINE_ACTIVE_ORG_NAME: switched.org_name
20698
20661
  });
20699
20662
  }
20700
- if (authTarget.kind === "folder") {
20701
- saveCoworkWorkspaceRestoreEnvValues(authValues);
20702
- }
20703
20663
  const { api_key: _apiKey, ...publicSwitched } = switched;
20704
20664
  const renderLines = [`Switched to ${switched.org_name}.`];
20705
20665
  if (authTarget.kind === "folder") {
@@ -20764,7 +20724,6 @@ async function handleOrgCreate(name, options) {
20764
20724
  DEEPLINE_ACTIVE_ORG_ID: created.org_id,
20765
20725
  DEEPLINE_ACTIVE_ORG_NAME: created.org_name
20766
20726
  });
20767
- saveCoworkWorkspaceRestoreEnvValues(authValues);
20768
20727
  const { api_key: _apiKey, ...publicCreated } = created;
20769
20728
  printCommandEnvelope(
20770
20729
  {
@@ -20873,7 +20832,10 @@ Examples:
20873
20832
  "--auth-scope <scope>",
20874
20833
  "Where to save auth: auto, folder, or global",
20875
20834
  "auto"
20876
- ).option("--json", "Emit JSON output. Also automatic when stdout is piped");
20835
+ ).option(
20836
+ "--json",
20837
+ "Emit JSON output. Also automatic when stdout is piped"
20838
+ );
20877
20839
  addOrgSetOptions(
20878
20840
  org.command("set [selection]").description("Set the organization for the selected auth scope.").addHelpText(
20879
20841
  "after",
@@ -222,8 +222,6 @@ var PROD_URL = "https://code.deepline.com";
222
222
  var DEFAULT_TIMEOUT = 6e4;
223
223
  var DEFAULT_MAX_RETRIES = 3;
224
224
  var PROJECT_DEEPLINE_ENV_FILE = ".env.deepline";
225
- var WORKSPACE_RESTORE_ENV_DIR = ".deepline";
226
- var WORKSPACE_RESTORE_ENV_FILE = ".env";
227
225
  var COWORK_IGNORED_WORKSPACE_DIRS = /* @__PURE__ */ new Set([
228
226
  ".auto-memory",
229
227
  ".claude",
@@ -538,18 +536,6 @@ function ensureProjectEnvIsIgnored(dir) {
538
536
  writeFileSync(gitignorePath, `${existing}${prefix}${entry}
539
537
  `, "utf-8");
540
538
  }
541
- function ensureWorkspaceRestoreEnvIsIgnored(workspaceDir) {
542
- const gitignorePath = join(workspaceDir, ".gitignore");
543
- const entry = `${WORKSPACE_RESTORE_ENV_DIR}/`;
544
- const existing = existsSync(gitignorePath) ? readFileSync(gitignorePath, "utf-8") : "";
545
- const alreadyIgnored = existing.split(/\r?\n/).map((line) => line.trim()).some(
546
- (line) => line === entry || line === `/${entry}` || line === WORKSPACE_RESTORE_ENV_DIR || line === `/${WORKSPACE_RESTORE_ENV_DIR}`
547
- );
548
- if (alreadyIgnored) return;
549
- const prefix = existing && !existing.endsWith("\n") ? "\n" : "";
550
- writeFileSync(gitignorePath, `${existing}${prefix}${entry}
551
- `, "utf-8");
552
- }
553
539
  function saveProjectDeeplineEnvValues(values, startDir = process.cwd()) {
554
540
  const target = resolveProjectPinTarget(startDir);
555
541
  if (!target.ok) {
@@ -563,27 +549,6 @@ function saveProjectDeeplineEnvValues(values, startDir = process.cwd()) {
563
549
  mergeProjectEnvFile(filePath, values);
564
550
  return [filePath];
565
551
  }
566
- function saveCoworkWorkspaceRestoreEnvValues(values, startDir = process.cwd()) {
567
- if (!isCoworkLikeSandbox()) return [];
568
- const target = resolveProjectPinTarget(startDir);
569
- if (!target.ok || target.source === "cwd") return [];
570
- const workspaceDir = target.dir;
571
- const filePath = join(
572
- workspaceDir,
573
- WORKSPACE_RESTORE_ENV_DIR,
574
- WORKSPACE_RESTORE_ENV_FILE
575
- );
576
- const existing = parseEnvFile(filePath);
577
- const merged = { ...existing, ...values };
578
- const dir = dirname(filePath);
579
- if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
580
- ensureWorkspaceRestoreEnvIsIgnored(workspaceDir);
581
- const allowedKeys = /* @__PURE__ */ new Set([HOST_URL_ENV, API_KEY_ENV]);
582
- const lines = Object.entries(merged).filter(([key, value]) => allowedKeys.has(key) && value !== "").map(([key, value]) => `${key}=${value}`);
583
- writeFileSync(filePath, `${lines.join("\n")}
584
- `, "utf-8");
585
- return [filePath];
586
- }
587
552
  function resolveProjectPinTarget(startDir = process.cwd()) {
588
553
  const nearestFile = findNearestEnvFile(PROJECT_DEEPLINE_ENV_FILE, startDir);
589
554
  if (nearestFile && !isInIgnoredCoworkMount(nearestFile)) {
@@ -642,10 +607,10 @@ var SDK_RELEASE = {
642
607
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
643
608
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
644
609
  // fields shipped in 0.1.153.
645
- version: "0.1.160",
610
+ version: "0.1.161",
646
611
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
647
612
  supportPolicy: {
648
- latest: "0.1.160",
613
+ latest: "0.1.161",
649
614
  minimumSupported: "0.1.53",
650
615
  deprecatedBelow: "0.1.53",
651
616
  commandMinimumSupported: [
@@ -4745,9 +4710,6 @@ function saveEnvValues(values, baseUrl) {
4745
4710
  ...values[API_KEY_ENV] ? { [API_KEY_ENV]: values[API_KEY_ENV] } : {}
4746
4711
  };
4747
4712
  saveHostEnvValues(baseUrl, filtered);
4748
- if (filtered[API_KEY_ENV]) {
4749
- saveCoworkWorkspaceRestoreEnvValues(filtered);
4750
- }
4751
4713
  }
4752
4714
  async function httpJson(method, url, apiKey, body) {
4753
4715
  const headers = {
@@ -20536,7 +20498,9 @@ async function handleOrgStatus(options) {
20536
20498
  const config = resolveConfig();
20537
20499
  const http = new HttpClient(config);
20538
20500
  const payload = await fetchOrganizations(http, config.apiKey);
20539
- const current = payload.organizations.find((org) => org.is_current) ?? payload.organizations.find((org) => org.org_id === payload.current_org_id) ?? null;
20501
+ const current = payload.organizations.find((org) => org.is_current) ?? payload.organizations.find(
20502
+ (org) => org.org_id === payload.current_org_id
20503
+ ) ?? null;
20540
20504
  const projectCandidate = getActiveProjectAuthSource();
20541
20505
  const activeProject = getResolvedProjectAuthSource(
20542
20506
  config.baseUrl,
@@ -20668,15 +20632,14 @@ async function handleOrgSwitch(selection, options) {
20668
20632
  } else {
20669
20633
  saveHostEnvValues(config.baseUrl, authValues2);
20670
20634
  }
20671
- if (authTarget.kind === "folder") {
20672
- saveCoworkWorkspaceRestoreEnvValues(authValues2);
20673
- }
20674
20635
  const renderLines2 = [`Already on ${target.name}.`];
20675
20636
  for (const projectPath of project_env_paths2) {
20676
20637
  renderLines2.push(`Saved folder auth in ${projectPath}`);
20677
20638
  }
20678
20639
  if (authTarget.kind === "global") {
20679
- renderLines2.push(`Saved global auth in ${hostEnvFilePath(config.baseUrl)}`);
20640
+ renderLines2.push(
20641
+ `Saved global auth in ${hostEnvFilePath(config.baseUrl)}`
20642
+ );
20680
20643
  }
20681
20644
  renderLines2.push(
20682
20645
  `Scope: ${authTarget.requested_scope} -> ${authTarget.effective_scope} (${authTarget.reason})`
@@ -20731,9 +20694,6 @@ async function handleOrgSwitch(selection, options) {
20731
20694
  DEEPLINE_ACTIVE_ORG_NAME: switched.org_name
20732
20695
  });
20733
20696
  }
20734
- if (authTarget.kind === "folder") {
20735
- saveCoworkWorkspaceRestoreEnvValues(authValues);
20736
- }
20737
20697
  const { api_key: _apiKey, ...publicSwitched } = switched;
20738
20698
  const renderLines = [`Switched to ${switched.org_name}.`];
20739
20699
  if (authTarget.kind === "folder") {
@@ -20798,7 +20758,6 @@ async function handleOrgCreate(name, options) {
20798
20758
  DEEPLINE_ACTIVE_ORG_ID: created.org_id,
20799
20759
  DEEPLINE_ACTIVE_ORG_NAME: created.org_name
20800
20760
  });
20801
- saveCoworkWorkspaceRestoreEnvValues(authValues);
20802
20761
  const { api_key: _apiKey, ...publicCreated } = created;
20803
20762
  printCommandEnvelope(
20804
20763
  {
@@ -20907,7 +20866,10 @@ Examples:
20907
20866
  "--auth-scope <scope>",
20908
20867
  "Where to save auth: auto, folder, or global",
20909
20868
  "auto"
20910
- ).option("--json", "Emit JSON output. Also automatic when stdout is piped");
20869
+ ).option(
20870
+ "--json",
20871
+ "Emit JSON output. Also automatic when stdout is piped"
20872
+ );
20911
20873
  addOrgSetOptions(
20912
20874
  org.command("set [selection]").description("Set the organization for the selected auth scope.").addHelpText(
20913
20875
  "after",
package/dist/index.js CHANGED
@@ -421,10 +421,10 @@ var SDK_RELEASE = {
421
421
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
422
422
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
423
423
  // fields shipped in 0.1.153.
424
- version: "0.1.160",
424
+ version: "0.1.161",
425
425
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
426
426
  supportPolicy: {
427
- latest: "0.1.160",
427
+ latest: "0.1.161",
428
428
  minimumSupported: "0.1.53",
429
429
  deprecatedBelow: "0.1.53",
430
430
  commandMinimumSupported: [
package/dist/index.mjs CHANGED
@@ -351,10 +351,10 @@ var SDK_RELEASE = {
351
351
  // 0.1.111 ships dataset-native tool list getters and result row datasets.
352
352
  // 0.1.154 removes the short-lived generated enrich StepOptions recompute
353
353
  // fields shipped in 0.1.153.
354
- version: "0.1.160",
354
+ version: "0.1.161",
355
355
  apiContract: "2026-06-dataset-handle-results-hard-cutover",
356
356
  supportPolicy: {
357
- latest: "0.1.160",
357
+ latest: "0.1.161",
358
358
  minimumSupported: "0.1.53",
359
359
  deprecatedBelow: "0.1.53",
360
360
  commandMinimumSupported: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepline",
3
- "version": "0.1.160",
3
+ "version": "0.1.161",
4
4
  "description": "Deepline SDK + CLI — B2B data enrichment powered by durable cloud execution",
5
5
  "license": "MIT",
6
6
  "repository": {