deepline 0.3.381 → 0.3.383

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.
Files changed (92) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/cli/auth-2JOTPVMO.js +39 -0
  3. package/dist/cli/{auth-M2WCVLXM.mjs → auth-DHCQUXEG.mjs} +4 -4
  4. package/dist/cli/{billing-J5FSVZB4.js → billing-44WIXRTK.js} +73 -73
  5. package/dist/cli/{billing-B4XB5L63.mjs → billing-LRF2NACZ.mjs} +4 -4
  6. package/dist/cli/{chunk-RJDYOGD3.mjs → chunk-26QUYLQT.mjs} +2 -2
  7. package/dist/cli/{chunk-5UC6VEXF.js → chunk-3Z4P6FTT.js} +4 -4
  8. package/dist/cli/{chunk-4P35MBCK.mjs → chunk-4LE4OXXN.mjs} +1 -1
  9. package/dist/cli/{chunk-SPJI6J44.js → chunk-5UFGNQPB.js} +8 -8
  10. package/dist/cli/{chunk-NEU3YVPF.mjs → chunk-6BGD3GOJ.mjs} +50 -10
  11. package/dist/cli/{chunk-UTVDVZTM.js → chunk-A7HIN77W.js} +62 -61
  12. package/dist/cli/{chunk-KQFDSP5O.js → chunk-AFCHR4YF.js} +8 -8
  13. package/dist/cli/{chunk-D2G6W7ES.js → chunk-BICTEMZN.js} +50 -50
  14. package/dist/cli/{chunk-CFHQRESG.mjs → chunk-C4Q5JWU3.mjs} +1 -1
  15. package/dist/cli/{chunk-AQ4HP2GF.js → chunk-GMVSUWPP.js} +9 -9
  16. package/dist/cli/{chunk-Q7VDVBZW.mjs → chunk-JF3R6BNL.mjs} +3 -3
  17. package/dist/cli/{chunk-4Q4SQJBF.mjs → chunk-KB455XET.mjs} +1 -1
  18. package/dist/cli/{chunk-RWSPU3RI.js → chunk-LOWL2IEA.js} +2 -2
  19. package/dist/cli/{chunk-RK72YKI7.js → chunk-LRIXR5QU.js} +26 -26
  20. package/dist/cli/{chunk-2IB2RBCY.js → chunk-MCRIYPOO.js} +1 -1
  21. package/dist/cli/{chunk-QOK7SKSZ.mjs → chunk-NGDV6VG6.mjs} +3 -3
  22. package/dist/cli/{chunk-N36BQUUU.mjs → chunk-NGHN37LZ.mjs} +3 -2
  23. package/dist/cli/{chunk-Z2EKAUHJ.mjs → chunk-NTBOTP6U.mjs} +1 -1
  24. package/dist/cli/{chunk-OKGOQKW7.js → chunk-P2W372EW.js} +48 -48
  25. package/dist/cli/{chunk-Y3FOW4TU.mjs → chunk-PLOQ3BBM.mjs} +5 -5
  26. package/dist/cli/{chunk-FDB2YGWF.js → chunk-SWYXUHCV.js} +15 -15
  27. package/dist/cli/{chunk-PWCQM4SD.mjs → chunk-TG6SWI26.mjs} +2 -2
  28. package/dist/cli/{chunk-PPO4FG7O.js → chunk-USVQU4FG.js} +432 -392
  29. package/dist/cli/{chunk-HJWXXZVG.js → chunk-XHP2OVMG.js} +8 -8
  30. package/dist/cli/{chunk-IXRQGX74.mjs → chunk-YK6RRPOH.mjs} +4 -4
  31. package/dist/cli/{chunk-IX6IEN5B.mjs → chunk-ZAF746ZB.mjs} +2 -2
  32. package/dist/cli/{csv-RG6EPZAF.js → csv-JCT62ZYQ.js} +12 -12
  33. package/dist/cli/{csv-XK2U7OOP.mjs → csv-VRCG5NTO.mjs} +3 -3
  34. package/dist/cli/{db-LVFZMURX.js → db-C2FWHDSR.js} +29 -29
  35. package/dist/cli/{db-LVXEM4JK.mjs → db-TXPBHVLO.mjs} +4 -4
  36. package/dist/cli/{describe-CGNNGI7D.mjs → describe-BTXARLAZ.mjs} +36 -10
  37. package/dist/cli/{describe-F52KVIU5.js → describe-R5MCMIU3.js} +44 -18
  38. package/dist/cli/{executions-IFQ4VFOW.mjs → executions-OJYCYPK2.mjs} +4 -4
  39. package/dist/cli/{executions-QVNYM6G5.js → executions-Q5ZK7H6L.js} +6 -6
  40. package/dist/cli/{feedback-GE2HJ3RV.js → feedback-X6Q3ABCY.js} +7 -7
  41. package/dist/cli/{feedback-XQZGZLJD.mjs → feedback-XIWI37PD.mjs} +3 -3
  42. package/dist/cli/getting-started.d.mts +2 -0
  43. package/dist/cli/getting-started.d.ts +2 -0
  44. package/dist/cli/git-HFO5FYKX.js +23 -0
  45. package/dist/cli/{git-VHYPESNC.mjs → git-HW5SQRNJ.mjs} +4 -4
  46. package/dist/cli/index.js +174 -83
  47. package/dist/cli/index.mjs +123 -32
  48. package/dist/cli/{legacy-noops-MEVZKOQO.js → legacy-noops-2WHVV6XA.js} +7 -7
  49. package/dist/cli/{legacy-noops-H3LBMAJD.mjs → legacy-noops-EBRICEDC.mjs} +4 -4
  50. package/dist/cli/{monitors-QCDXTRJG.mjs → monitors-5CYSLU3P.mjs} +4 -4
  51. package/dist/cli/{monitors-6LBPWRV2.js → monitors-VNDYLLIX.js} +85 -85
  52. package/dist/cli/{org-ZCGJFGH2.js → org-3ESTK25P.js} +64 -64
  53. package/dist/cli/{org-R3Q75N6B.mjs → org-WV6GOBNV.mjs} +4 -4
  54. package/dist/cli/{play-AQ6P4KHZ.mjs → play-AA2FORIH.mjs} +9 -7
  55. package/dist/cli/play-NT6RJ6QD.js +157 -0
  56. package/dist/cli/{providers-HQRVMENG.js → providers-F2V2QI5Z.js} +7 -7
  57. package/dist/cli/{providers-DD7F2EB3.mjs → providers-H47XKFEX.mjs} +4 -4
  58. package/dist/cli/{quickstart-IHSZ24SF.js → quickstart-E3VQKDMU.js} +5 -5
  59. package/dist/cli/{quickstart-IQOBN4JH.mjs → quickstart-YIIXVX6Z.mjs} +3 -3
  60. package/dist/cli/search-EDN57JRG.js +26 -0
  61. package/dist/cli/{search-DQERH2AR.mjs → search-MI7OUPQS.mjs} +5 -5
  62. package/dist/cli/{secrets-WNAU3O75.mjs → secrets-B4A5SZR7.mjs} +4 -4
  63. package/dist/cli/{secrets-XY5226V2.js → secrets-HBNK3VCN.js} +13 -13
  64. package/dist/cli/{sessions-P7UZU5LC.mjs → sessions-6CPUREXX.mjs} +4 -4
  65. package/dist/cli/{sessions-R53JPCM4.js → sessions-7L56I743.js} +5 -5
  66. package/dist/cli/{settings-JQLWULCE.mjs → settings-GTABNW5O.mjs} +7 -7
  67. package/dist/cli/{settings-5QHIIX4A.js → settings-LVW2YBSI.js} +74 -74
  68. package/dist/cli/{setup-3UXOGSKW.js → setup-7I5ROB6J.js} +41 -41
  69. package/dist/cli/{setup-BKCG5BRF.mjs → setup-WBWOV3LQ.mjs} +6 -6
  70. package/dist/cli/{skills-5BBTJHXZ.mjs → skills-HTJERGGP.mjs} +4 -4
  71. package/dist/cli/skills-NFWV6IDQ.js +28 -0
  72. package/dist/cli/{tools-7EQFFGWU.mjs → tools-EHPNO6JC.mjs} +6 -6
  73. package/dist/cli/tools-SUWHHSVG.js +40 -0
  74. package/dist/cli/update-7OBAHXYB.js +28 -0
  75. package/dist/cli/{update-KFMOWN7F.mjs → update-EEXWKAD2.mjs} +6 -6
  76. package/dist/cli/{workflow-JMBTBZGY.mjs → workflow-FWYWFUCN.mjs} +5 -5
  77. package/dist/cli/{workflow-PGSPHWFA.js → workflow-UBZDFKTY.js} +15 -15
  78. package/dist/index.js +6 -6
  79. package/dist/index.mjs +3 -3
  80. package/dist/install-integrity.json +72 -72
  81. package/dist/release.d.mts +1 -1
  82. package/dist/release.d.ts +1 -1
  83. package/dist/release.js +2 -2
  84. package/dist/release.mjs +1 -1
  85. package/package.json +1 -1
  86. package/dist/cli/auth-T3F2NI55.js +0 -39
  87. package/dist/cli/git-QADGD7ZL.js +0 -23
  88. package/dist/cli/play-AFDVNXFL.js +0 -155
  89. package/dist/cli/search-KQNM6AHE.js +0 -26
  90. package/dist/cli/skills-7X24WLXD.js +0 -28
  91. package/dist/cli/tools-HQFR3CYC.js +0 -40
  92. package/dist/cli/update-MP6SY5LY.js +0 -28
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
- var _chunkKQFDSP5Ojs = require('./chunk-KQFDSP5O.js');
4
+ var _chunkAFCHR4YFjs = require('./chunk-AFCHR4YF.js');
5
5
 
6
6
 
7
- var _chunk5UC6VEXFjs = require('./chunk-5UC6VEXF.js');
7
+ var _chunk3Z4P6FTTjs = require('./chunk-3Z4P6FTT.js');
8
8
 
9
9
  // src/cli/commands/sessions.ts
10
10
 
@@ -139,7 +139,7 @@ function currentSessionFile(agent) {
139
139
  const newestFirst = listSessionFiles(agent).sort(
140
140
  (a, b) => b.mtimeMs - a.mtimeMs
141
141
  );
142
- const sessionId = _chunk5UC6VEXFjs.agentSessionIdFromEnvironment.call(void 0, );
142
+ const sessionId = _chunk3Z4P6FTTjs.agentSessionIdFromEnvironment.call(void 0, );
143
143
  const cwd = process.cwd();
144
144
  return _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(newestFirst.find((candidate) => candidate.sessionId === sessionId), () => ( newestFirst.find(
145
145
  (candidate) => sessionStartedInDirectory(candidate, cwd)
@@ -448,7 +448,7 @@ function buildSessionUploadContent(raw) {
448
448
  return { encodedContent: encoded, needsChunking: true };
449
449
  }
450
450
  async function uploadPayload(path, payload) {
451
- const { http } = _chunkKQFDSP5Ojs.getAuthedHttpClient.call(void 0, );
451
+ const { http } = _chunkAFCHR4YFjs.getAuthedHttpClient.call(void 0, );
452
452
  return await http.post(path, payload);
453
453
  }
454
454
  async function uploadChunkedSessions(sessions, options) {
@@ -481,7 +481,7 @@ async function uploadChunkedSessions(sessions, options) {
481
481
  ...options.rating ? { rating: options.rating } : {}
482
482
  });
483
483
  const sessionIds = sessions.map((session) => session.sessionId);
484
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
484
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
485
485
  {
486
486
  ...response,
487
487
  ok: true,
@@ -513,7 +513,7 @@ async function handleSessionsSend(options) {
513
513
  filename: _path.basename.call(void 0, filePath),
514
514
  ...rating ? { rating } : {}
515
515
  });
516
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
516
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
517
517
  {
518
518
  ...response2,
519
519
  ok: true,
@@ -563,7 +563,7 @@ async function handleSessionsSend(options) {
563
563
  ...rating ? { rating } : {}
564
564
  });
565
565
  const sessionIds = built.map((session) => session.sessionId);
566
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
566
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
567
567
  {
568
568
  ...response,
569
569
  ok: true,
@@ -671,7 +671,7 @@ ${refreshMeta}
671
671
  </body>
672
672
  </html>`;
673
673
  _fs.writeFileSync.call(void 0, outputPath, html, "utf8");
674
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
674
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
675
675
  {
676
676
  ok: true,
677
677
  file: outputPath,
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  npmSupportsAllowScripts,
3
3
  readNpmVersion
4
- } from "./chunk-4Q4SQJBF.mjs";
4
+ } from "./chunk-KB455XET.mjs";
5
5
  import {
6
6
  resolveShellSpawn,
7
7
  runSkillsCommand
8
- } from "./chunk-N36BQUUU.mjs";
8
+ } from "./chunk-NGHN37LZ.mjs";
9
9
  import {
10
10
  printCommandEnvelope
11
- } from "./chunk-QOK7SKSZ.mjs";
11
+ } from "./chunk-NGDV6VG6.mjs";
12
12
  import {
13
13
  autoDetectBaseUrl
14
- } from "./chunk-4P35MBCK.mjs";
14
+ } from "./chunk-4LE4OXXN.mjs";
15
15
 
16
16
  // src/cli/commands/update.ts
17
17
  import { spawn, spawnSync } from "child_process";
@@ -2,10 +2,10 @@ import {
2
2
  getAuthedHttpClient,
3
3
  openInBrowser,
4
4
  printCommandEnvelope
5
- } from "./chunk-QOK7SKSZ.mjs";
5
+ } from "./chunk-NGDV6VG6.mjs";
6
6
  import {
7
7
  resolveBaseUrlOnly
8
- } from "./chunk-4P35MBCK.mjs";
8
+ } from "./chunk-4LE4OXXN.mjs";
9
9
 
10
10
  // src/cli/commands/git.ts
11
11
  function shellQuote(value) {
@@ -4,11 +4,11 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkKQFDSP5Ojs = require('./chunk-KQFDSP5O.js');
8
- require('./chunk-5UC6VEXF.js');
7
+ var _chunkAFCHR4YFjs = require('./chunk-AFCHR4YF.js');
8
+ require('./chunk-3Z4P6FTT.js');
9
9
  require('./chunk-XNYIZMNQ.js');
10
10
  require('./chunk-7P5AA3SN.js');
11
- require('./chunk-2IB2RBCY.js');
11
+ require('./chunk-MCRIYPOO.js');
12
12
  require('./chunk-OG64RBAC.js');
13
13
  require('./chunk-COGTRVWW.js');
14
14
 
@@ -126,7 +126,7 @@ function renderTable(rows, totalRows, verbose, footer = `showing ${rows.length}
126
126
  column.length,
127
127
  ...rows.map((row) => {
128
128
  const value = _nullishCoalesce(row[column], () => ( ""));
129
- return (verbose ? value : _chunkKQFDSP5Ojs.clip.call(void 0, value, 42)).length;
129
+ return (verbose ? value : _chunkAFCHR4YFjs.clip.call(void 0, value, 42)).length;
130
130
  })
131
131
  )
132
132
  ])
@@ -136,7 +136,7 @@ function renderTable(rows, totalRows, verbose, footer = `showing ${rows.length}
136
136
  const body = rows.map(
137
137
  (row) => columns.map((column) => {
138
138
  const raw = _nullishCoalesce(row[column], () => ( ""));
139
- const display = verbose ? raw : _chunkKQFDSP5Ojs.clip.call(void 0, raw, 42);
139
+ const display = verbose ? raw : _chunkAFCHR4YFjs.clip.call(void 0, raw, 42);
140
140
  return display.padEnd(widths[column]);
141
141
  }).join(" | ")
142
142
  );
@@ -156,7 +156,7 @@ async function handleCsvShow(path, options, command) {
156
156
  { exitCode: 2 }
157
157
  );
158
158
  }
159
- const allRows = _chunkKQFDSP5Ojs.readCsvRows.call(void 0, csvPath);
159
+ const allRows = _chunkAFCHR4YFjs.readCsvRows.call(void 0, csvPath);
160
160
  const [rowStart, rowEnd] = parseRowRange(options.rows);
161
161
  const rows = options.summary && options.rows === void 0 ? allRows : selectRows(allRows, rowStart, rowEnd);
162
162
  const { rows: selected, columns } = selectColumns(
@@ -169,7 +169,7 @@ async function handleCsvShow(path, options, command) {
169
169
  if (options.summary) {
170
170
  const summaries = summarizeColumns(selected, columns);
171
171
  if (format === "json") {
172
- _chunkKQFDSP5Ojs.printJson.call(void 0, {
172
+ _chunkAFCHR4YFjs.printJson.call(void 0, {
173
173
  rows: summaries,
174
174
  total_rows: selected.length,
175
175
  source_total_rows: allRows.length
@@ -178,7 +178,7 @@ async function handleCsvShow(path, options, command) {
178
178
  }
179
179
  const displayRows = summaryDisplayRows(summaries);
180
180
  if (format === "csv") {
181
- process.stdout.write(_chunkKQFDSP5Ojs.csvStringFromRows.call(void 0, displayRows));
181
+ process.stdout.write(_chunkAFCHR4YFjs.csvStringFromRows.call(void 0, displayRows));
182
182
  return;
183
183
  }
184
184
  process.stdout.write(
@@ -193,7 +193,7 @@ async function handleCsvShow(path, options, command) {
193
193
  return;
194
194
  }
195
195
  if (format === "json") {
196
- _chunkKQFDSP5Ojs.printJson.call(void 0, {
196
+ _chunkAFCHR4YFjs.printJson.call(void 0, {
197
197
  rows: selected.map((row, index) => ({ __row: rowStart + index, ...row }))
198
198
  });
199
199
  return;
@@ -436,7 +436,7 @@ async function handleCsvRenderStart(options) {
436
436
  if (log) {
437
437
  detail = `
438
438
  CSV render log:
439
- ${_chunkKQFDSP5Ojs.clip.call(void 0, log, 2e3)}`;
439
+ ${_chunkAFCHR4YFjs.clip.call(void 0, log, 2e3)}`;
440
440
  }
441
441
  } catch (e7) {
442
442
  }
@@ -487,7 +487,7 @@ async function handleCsvRenderStatus(options) {
487
487
  if (payload.pid) lines.push(`Render PID: ${payload.pid}`);
488
488
  if (payload.url) lines.push(`Render URL: ${payload.url}`);
489
489
  lines.push(`Render Health: ${payload.health_status}`);
490
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0, payload, {
490
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0, payload, {
491
491
  json: options.json,
492
492
  text: `${lines.join("\n")}
493
493
  `
@@ -523,7 +523,7 @@ async function handleCsvRenderStop(options) {
523
523
  };
524
524
  const text = stopped.length > 0 ? `Stopped CSV render process(es): ${stopped.join(" ")}
525
525
  ` : "No running CSV render process found.\n";
526
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0, payload, { json: options.json, text });
526
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0, payload, { json: options.json, text });
527
527
  }
528
528
  async function handleCsvRender(action, options) {
529
529
  const normalized = _nullishCoalesce(action, () => ( "start"));
@@ -4,11 +4,11 @@ import {
4
4
  printCommandEnvelope,
5
5
  printJson,
6
6
  readCsvRows
7
- } from "./chunk-QOK7SKSZ.mjs";
8
- import "./chunk-4P35MBCK.mjs";
7
+ } from "./chunk-NGDV6VG6.mjs";
8
+ import "./chunk-4LE4OXXN.mjs";
9
9
  import "./chunk-DLIRSHV6.mjs";
10
10
  import "./chunk-NXGCO4JB.mjs";
11
- import "./chunk-CFHQRESG.mjs";
11
+ import "./chunk-C4Q5JWU3.mjs";
12
12
  import "./chunk-WZYKRD7T.mjs";
13
13
  import "./chunk-KRD6H754.mjs";
14
14
 
@@ -4,7 +4,7 @@ var _chunkAID3OYVJjs = require('./chunk-AID3OYVJ.js');
4
4
 
5
5
 
6
6
 
7
- var _chunkAQ4HP2GFjs = require('./chunk-AQ4HP2GF.js');
7
+ var _chunkGMVSUWPPjs = require('./chunk-GMVSUWPP.js');
8
8
  require('./chunk-S6R3OX7B.js');
9
9
  require('./chunk-PAIMOGCM.js');
10
10
 
@@ -16,15 +16,15 @@ require('./chunk-PAIMOGCM.js');
16
16
 
17
17
 
18
18
 
19
- var _chunkKQFDSP5Ojs = require('./chunk-KQFDSP5O.js');
19
+ var _chunkAFCHR4YFjs = require('./chunk-AFCHR4YF.js');
20
20
 
21
21
 
22
- var _chunk5UC6VEXFjs = require('./chunk-5UC6VEXF.js');
22
+ var _chunk3Z4P6FTTjs = require('./chunk-3Z4P6FTT.js');
23
23
  require('./chunk-XNYIZMNQ.js');
24
24
 
25
25
 
26
26
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
27
- require('./chunk-2IB2RBCY.js');
27
+ require('./chunk-MCRIYPOO.js');
28
28
  require('./chunk-OG64RBAC.js');
29
29
  require('./chunk-COGTRVWW.js');
30
30
 
@@ -47,8 +47,8 @@ function formatCell(value) {
47
47
  return text.length > 80 ? `${text.slice(0, 77)}...` : text;
48
48
  }
49
49
  function tableLines(result) {
50
- const rows = _chunkKQFDSP5Ojs.dataExportRows.call(void 0, customerDbRows(result));
51
- const responseColumns = _chunkKQFDSP5Ojs.dataExportColumns.call(void 0,
50
+ const rows = _chunkAFCHR4YFjs.dataExportRows.call(void 0, customerDbRows(result));
51
+ const responseColumns = _chunkAFCHR4YFjs.dataExportColumns.call(void 0,
52
52
  rows,
53
53
  customerDbColumnNames(result)
54
54
  );
@@ -94,7 +94,7 @@ function tableLines(result) {
94
94
  return lines;
95
95
  }
96
96
  function customerDbRows(result) {
97
- return _chunkKQFDSP5Ojs.recordRows.call(void 0, result.rows);
97
+ return _chunkAFCHR4YFjs.recordRows.call(void 0, result.rows);
98
98
  }
99
99
  function customerDbColumnNames(result) {
100
100
  return result.columns.map((column) => column.name).filter(Boolean);
@@ -116,15 +116,15 @@ function collectErrorText(value) {
116
116
  ].filter(Boolean).join("\n");
117
117
  }
118
118
  function formatDbQueryError(sql, error) {
119
- const text = error instanceof _chunk5UC6VEXFjs.CustomerDbQueryOutcomeUnknownError ? collectErrorText(error.cause) : collectErrorText(error);
119
+ const text = error instanceof _chunk3Z4P6FTTjs.CustomerDbQueryOutcomeUnknownError ? collectErrorText(error.cause) : collectErrorText(error);
120
120
  const lower = text.toLowerCase();
121
121
  const referencesStorage = /"storage"\.|storage\./i.test(sql);
122
122
  const runIdColumnMissing = /column\s+"?run_id"?\s+does not exist/i.test(text) || /run_id.*does not exist/i.test(lower);
123
123
  const relationMissing = /relation\s+["']?[^"']*storage[^"']*["']?\s+does not exist/i.test(text) || /42p01/i.test(text);
124
124
  if (referencesStorage && relationMissing) {
125
125
  return [
126
- ...error instanceof _chunk5UC6VEXFjs.CustomerDbQueryOutcomeUnknownError ? [error.message] : [],
127
- error instanceof _chunk5UC6VEXFjs.CustomerDbQueryOutcomeUnknownError ? "The server reported that the referenced storage table does not exist." : "Customer DB query failed: the referenced storage table does not exist.",
126
+ ...error instanceof _chunk3Z4P6FTTjs.CustomerDbQueryOutcomeUnknownError ? [error.message] : [],
127
+ error instanceof _chunk3Z4P6FTTjs.CustomerDbQueryOutcomeUnknownError ? "The server reported that the referenced storage table does not exist." : "Customer DB query failed: the referenced storage table does not exist.",
128
128
  "Play dataset tables are created only when the corresponding ctx.dataset(...).run(...) call executes. Pilot branches, early returns, and runs that fail before the dataset do not create that table.",
129
129
  "Use `deepline runs get <run-id> --full` to inspect returned dataset handles, then export them with `deepline runs export <run-id> --dataset result.rows --out rows.csv`.",
130
130
  `Original error: ${errorMessage(error)}`
@@ -132,7 +132,7 @@ function formatDbQueryError(sql, error) {
132
132
  }
133
133
  if (referencesStorage && runIdColumnMissing) {
134
134
  return [
135
- ...error instanceof _chunk5UC6VEXFjs.CustomerDbQueryOutcomeUnknownError ? [error.message] : [],
135
+ ...error instanceof _chunk3Z4P6FTTjs.CustomerDbQueryOutcomeUnknownError ? [error.message] : [],
136
136
  "Customer DB query failed: storage dataset tables use `_run_id`, not `run_id`.",
137
137
  "Prefer `deepline runs export <run-id> --dataset result.rows --out rows.csv` unless you are doing deep table debugging.",
138
138
  `Original error: ${errorMessage(error)}`
@@ -147,7 +147,7 @@ function writeCustomerDbCsv(result, outPath) {
147
147
  const resolved = _path.resolve.call(void 0, outPath);
148
148
  _fs.writeFileSync.call(void 0,
149
149
  resolved,
150
- _chunkKQFDSP5Ojs.dataExportCsvString.call(void 0, customerDbRows(result), customerDbColumnNames(result)),
150
+ _chunkAFCHR4YFjs.dataExportCsvString.call(void 0, customerDbRows(result), customerDbColumnNames(result)),
151
151
  "utf-8"
152
152
  );
153
153
  return resolved;
@@ -188,7 +188,7 @@ function dbQueryExportEnvelope(input) {
188
188
  function renderDbQueryResult(result, query, options) {
189
189
  const { sql, maxRows, operationKey } = query;
190
190
  const { format, out: outPath, json: explicitJsonOutput = false } = options;
191
- const jsonOutput = explicitJsonOutput || _chunkKQFDSP5Ojs.shouldEmitJson.call(void 0, );
191
+ const jsonOutput = explicitJsonOutput || _chunkAFCHR4YFjs.shouldEmitJson.call(void 0, );
192
192
  const toolPayload = JSON.stringify({
193
193
  sql,
194
194
  result_mode: "rows",
@@ -199,7 +199,7 @@ function renderDbQueryResult(result, query, options) {
199
199
  if (format === "csv") {
200
200
  if (outPath) {
201
201
  const exportedPath = writeCustomerDbCsv(result, outPath);
202
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
202
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
203
203
  dbQueryExportEnvelope({
204
204
  result,
205
205
  format,
@@ -215,7 +215,7 @@ function renderDbQueryResult(result, query, options) {
215
215
  );
216
216
  return;
217
217
  }
218
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
218
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
219
219
  dbQueryExportEnvelope({
220
220
  result,
221
221
  format,
@@ -225,7 +225,7 @@ function renderDbQueryResult(result, query, options) {
225
225
  }),
226
226
  {
227
227
  json: explicitJsonOutput,
228
- text: _chunkKQFDSP5Ojs.dataExportCsvString.call(void 0,
228
+ text: _chunkAFCHR4YFjs.dataExportCsvString.call(void 0,
229
229
  customerDbRows(result),
230
230
  customerDbColumnNames(result)
231
231
  )
@@ -234,14 +234,14 @@ function renderDbQueryResult(result, query, options) {
234
234
  return;
235
235
  }
236
236
  if (format === "markdown") {
237
- const content = _chunkKQFDSP5Ojs.markdownTableFromRows.call(void 0,
237
+ const content = _chunkAFCHR4YFjs.markdownTableFromRows.call(void 0,
238
238
  customerDbRows(result),
239
239
  customerDbColumnNames(result)
240
240
  );
241
241
  if (outPath) {
242
242
  const exportedPath = _path.resolve.call(void 0, outPath);
243
243
  _fs.writeFileSync.call(void 0, exportedPath, content, "utf-8");
244
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
244
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
245
245
  dbQueryExportEnvelope({
246
246
  result,
247
247
  format,
@@ -257,7 +257,7 @@ function renderDbQueryResult(result, query, options) {
257
257
  );
258
258
  return;
259
259
  }
260
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
260
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
261
261
  dbQueryExportEnvelope({
262
262
  result,
263
263
  format,
@@ -272,7 +272,7 @@ function renderDbQueryResult(result, query, options) {
272
272
  );
273
273
  return;
274
274
  }
275
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
275
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
276
276
  {
277
277
  ...result,
278
278
  next: {
@@ -346,9 +346,9 @@ async function runDbQueryCommand(options) {
346
346
  ...maxRows === void 0 ? {} : { maxRows },
347
347
  ...operationKey === void 0 ? {} : { operationKey }
348
348
  };
349
- const plan = _chunkAQ4HP2GFjs.planCustomerDbQuery.call(void 0, query);
349
+ const plan = _chunkGMVSUWPPjs.planCustomerDbQuery.call(void 0, query);
350
350
  if (options.dryRun) {
351
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
351
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
352
352
  {
353
353
  dryRun: true,
354
354
  ...plan,
@@ -361,11 +361,11 @@ async function runDbQueryCommand(options) {
361
361
  ...out === void 0 ? {} : { file: _path.resolve.call(void 0, out) }
362
362
  }
363
363
  },
364
- { json: options.json || _chunkKQFDSP5Ojs.shouldEmitJson.call(void 0, ) }
364
+ { json: options.json || _chunkAFCHR4YFjs.shouldEmitJson.call(void 0, ) }
365
365
  );
366
366
  return 0;
367
367
  }
368
- const client = new (0, _chunkAQ4HP2GFjs.DeeplineClient)();
368
+ const client = new (0, _chunkGMVSUWPPjs.DeeplineClient)();
369
369
  const result = await client.db.query(query);
370
370
  renderDbQueryResult(result, query, {
371
371
  format,
@@ -374,8 +374,8 @@ async function runDbQueryCommand(options) {
374
374
  });
375
375
  return 0;
376
376
  } catch (error) {
377
- if (error instanceof _chunk5UC6VEXFjs.CustomerDbQueryOutcomeUnknownError && (options.json || _chunkKQFDSP5Ojs.shouldEmitJson.call(void 0, ))) {
378
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
377
+ if (error instanceof _chunk3Z4P6FTTjs.CustomerDbQueryOutcomeUnknownError && (options.json || _chunkAFCHR4YFjs.shouldEmitJson.call(void 0, ))) {
378
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
379
379
  {
380
380
  ok: false,
381
381
  error: {
@@ -423,8 +423,8 @@ function dbRepairPlainText(result) {
423
423
  async function handleDbRepair(args) {
424
424
  const providerIndex = args.indexOf("--provider");
425
425
  const provider = providerIndex >= 0 ? _optionalChain([args, 'access', _9 => _9[providerIndex + 1], 'optionalAccess', _10 => _10.trim, 'call', _11 => _11()]) : void 0;
426
- const jsonOutput = _chunkKQFDSP5Ojs.argsWantJson.call(void 0, args);
427
- const client = new (0, _chunkAQ4HP2GFjs.DeeplineClient)();
426
+ const jsonOutput = _chunkAFCHR4YFjs.argsWantJson.call(void 0, args);
427
+ const client = new (0, _chunkGMVSUWPPjs.DeeplineClient)();
428
428
  let result;
429
429
  try {
430
430
  result = await client.repairIngestionStorage(
@@ -440,7 +440,7 @@ async function handleDbRepair(args) {
440
440
  console.error(errorMessage2(error));
441
441
  return 1;
442
442
  }
443
- _chunkKQFDSP5Ojs.printCommandEnvelope.call(void 0,
443
+ _chunkAFCHR4YFjs.printCommandEnvelope.call(void 0,
444
444
  {
445
445
  command: "db repair",
446
446
  status: result.status,
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  DeeplineClient,
6
6
  planCustomerDbQuery
7
- } from "./chunk-Z2EKAUHJ.mjs";
7
+ } from "./chunk-NTBOTP6U.mjs";
8
8
  import "./chunk-6IKARAYD.mjs";
9
9
  import "./chunk-Q6EOHNRH.mjs";
10
10
  import {
@@ -16,15 +16,15 @@ import {
16
16
  printCommandEnvelope,
17
17
  recordRows,
18
18
  shouldEmitJson
19
- } from "./chunk-QOK7SKSZ.mjs";
19
+ } from "./chunk-NGDV6VG6.mjs";
20
20
  import {
21
21
  CustomerDbQueryOutcomeUnknownError
22
- } from "./chunk-4P35MBCK.mjs";
22
+ } from "./chunk-4LE4OXXN.mjs";
23
23
  import "./chunk-DLIRSHV6.mjs";
24
24
  import {
25
25
  DeeplineError
26
26
  } from "./chunk-NXGCO4JB.mjs";
27
- import "./chunk-CFHQRESG.mjs";
27
+ import "./chunk-C4Q5JWU3.mjs";
28
28
  import "./chunk-WZYKRD7T.mjs";
29
29
  import "./chunk-KRD6H754.mjs";
30
30
 
@@ -3,10 +3,11 @@ import {
3
3
  formatModelDescription,
4
4
  publicToolSchemas,
5
5
  toolMetadataJsonForDescribe
6
- } from "./chunk-Y3FOW4TU.mjs";
6
+ } from "./chunk-PLOQ3BBM.mjs";
7
7
  import {
8
+ buildPlayDashboardUrl,
8
9
  describedPlay
9
- } from "./chunk-NEU3YVPF.mjs";
10
+ } from "./chunk-6BGD3GOJ.mjs";
10
11
  import {
11
12
  SCHEMA_LINE_LIMIT,
12
13
  addDescribeOptions,
@@ -21,14 +22,14 @@ import "./chunk-OVDNJAJN.mjs";
21
22
  import "./chunk-DSWSEHRX.mjs";
22
23
  import "./chunk-H7HIDGZ7.mjs";
23
24
  import "./chunk-EDWJY6T4.mjs";
24
- import "./chunk-Q7VDVBZW.mjs";
25
- import "./chunk-IX6IEN5B.mjs";
25
+ import "./chunk-JF3R6BNL.mjs";
26
+ import "./chunk-ZAF746ZB.mjs";
26
27
  import "./chunk-Y6VOGHF2.mjs";
27
28
  import "./chunk-ERFN2QY4.mjs";
28
29
  import "./chunk-7E66A24V.mjs";
29
30
  import {
30
31
  DeeplineClient
31
- } from "./chunk-Z2EKAUHJ.mjs";
32
+ } from "./chunk-NTBOTP6U.mjs";
32
33
  import "./chunk-6IKARAYD.mjs";
33
34
  import "./chunk-Q6EOHNRH.mjs";
34
35
  import "./chunk-WXLOW623.mjs";
@@ -36,13 +37,13 @@ import "./chunk-UFS752TU.mjs";
36
37
  import "./chunk-GAMFK2ZP.mjs";
37
38
  import {
38
39
  printCommandEnvelope
39
- } from "./chunk-QOK7SKSZ.mjs";
40
- import "./chunk-4P35MBCK.mjs";
40
+ } from "./chunk-NGDV6VG6.mjs";
41
+ import "./chunk-4LE4OXXN.mjs";
41
42
  import "./chunk-DLIRSHV6.mjs";
42
43
  import {
43
44
  DeeplineError
44
45
  } from "./chunk-NXGCO4JB.mjs";
45
- import "./chunk-CFHQRESG.mjs";
46
+ import "./chunk-C4Q5JWU3.mjs";
46
47
  import "./chunk-WZYKRD7T.mjs";
47
48
  import "./chunk-KRD6H754.mjs";
48
49
 
@@ -195,6 +196,22 @@ async function describeAnything(name, options, onMissing) {
195
196
  const note = shadows ? `Showing your workspace play "${name}". It has the same name as a Deepline ${shadows.kind.replace("_", " ")}; see that one with: ${shadows.describeCommand}` : null;
196
197
  const verbose = options.verbose === true;
197
198
  const json = options.json === true;
199
+ const isPlay = described.kind === "prebuilt_play" || described.kind === "custom_play";
200
+ const dashboardUrl = isPlay ? buildPlayDashboardUrl(client.baseUrl, described.id) : null;
201
+ if (options.webUrl) {
202
+ if (!dashboardUrl) {
203
+ console.error(
204
+ `${described.id} is a ${described.kind.replace("_", " ")}, not a play; only plays have a play page.`
205
+ );
206
+ return 1;
207
+ }
208
+ printCommandEnvelope(
209
+ { dashboardUrl },
210
+ { json, text: `${dashboardUrl}
211
+ ` }
212
+ );
213
+ return 0;
214
+ }
198
215
  if (options.feature !== void 0) {
199
216
  const { name: featureName, value } = parseFeatureRequest(options.feature);
200
217
  const pending = chosen.feature?.(featureName, value) ?? null;
@@ -257,6 +274,7 @@ async function describeAnything(name, options, onMissing) {
257
274
  ...described.rowInputs ? { rowInputs: described.rowInputs.map(topLevelField) } : {},
258
275
  ...described.rowOutputs ? { rowOutputs: described.rowOutputs.map(topLevelField) } : {},
259
276
  runExamples: examples(described, { verbose }),
277
+ ...dashboardUrl ? { dashboardUrl } : {},
260
278
  ...shadows ? { shadows, note } : {}
261
279
  },
262
280
  lines: [
@@ -268,7 +286,8 @@ async function describeAnything(name, options, onMissing) {
268
286
  verbose,
269
287
  fullSchema: options.fullSchema === true,
270
288
  ...fields.length ? { fields } : {}
271
- })
289
+ }),
290
+ ...dashboardUrl ? ["", `Play page: ${dashboardUrl}`] : []
272
291
  ]
273
292
  };
274
293
  const fullRecord = options.fullRecord === true || options.fullSchema === true;
@@ -281,6 +300,7 @@ async function describeAnything(name, options, onMissing) {
281
300
  secondary: verbose || fields.length > 0,
282
301
  verbose
283
302
  }),
303
+ ...dashboardUrl ? { dashboardUrl } : {},
284
304
  ...shadows ? { shadows, note } : {}
285
305
  };
286
306
  return deliver(envelope, view.lines, { json, out: options.out });
@@ -305,7 +325,7 @@ function deliver(envelope, lines, { json, out }) {
305
325
  return 0;
306
326
  }
307
327
  function registerDescribeCommand(program) {
308
- addDescribeOptions(program.command("describe <name>")).description(
328
+ addDescribeOptions(program.command("describe <name>")).option("--web-url", "Print only a play's play page URL").description(
309
329
  "Describe anything search returns: a tool, monitor type, or play."
310
330
  ).addHelpText(
311
331
  "after",
@@ -356,6 +376,11 @@ Schema size and format:
356
376
  program, or for a schema too large to read
357
377
  --out <path> save any of the above to a file instead of printing it
358
378
 
379
+ Play page:
380
+ For a play, the output ends with its play page URL (JSON: dashboardUrl).
381
+ --web-url print only that URL; with --json, {"dashboardUrl": ...}.
382
+ Fails for a tool or monitor type, which have no play page.
383
+
359
384
  Older commands:
360
385
  deepline tools describe and deepline plays describe are this command limited
361
386
  to one kind. Their own flags still work: --pricing-only, --examples-only,
@@ -366,6 +391,7 @@ Examples:
366
391
  deepline describe person-linkedin-to-email
367
392
  deepline describe my-play --prebuilt
368
393
  deepline describe ai_ark_people_search --full-schema
394
+ deepline describe prebuilt/person-to-email-batch --web-url
369
395
  deepline describe ai_ark_people_search --schema-only --out schema.json
370
396
  `
371
397
  ).action(async (name, options) => {