deepline 0.3.326 → 0.3.328

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 (96) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/bundling-sources/shared_libs/play-runtime/projection.ts +11 -0
  3. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +14 -1
  4. package/dist/bundling-sources/shared_libs/security/secret-redaction.ts +4 -0
  5. package/dist/cli/{auth-VON5FFUK.mjs → auth-ANHHABWT.mjs} +4 -4
  6. package/dist/cli/auth-EKRB4GMP.js +31 -0
  7. package/dist/cli/{billing-YI4RZI2O.js → billing-GGVKLFE6.js} +96 -82
  8. package/dist/cli/{billing-X6JUEFRE.mjs → billing-R6NYYO6G.mjs} +30 -16
  9. package/dist/cli/{chunk-TZQMFWLF.js → chunk-2FPVWL4W.js} +47 -47
  10. package/dist/cli/{chunk-VKXGOQG5.mjs → chunk-6ENR652E.mjs} +6 -6
  11. package/dist/cli/{chunk-3NGWGFVL.js → chunk-7DDNACAQ.js} +26 -26
  12. package/dist/cli/{chunk-VGKVLADU.mjs → chunk-7MABE3ZK.mjs} +3 -3
  13. package/dist/cli/{chunk-KLWBAQ5A.mjs → chunk-7R6KQSFA.mjs} +1 -1
  14. package/dist/cli/{chunk-4AB4Y6FF.mjs → chunk-AKKQ26RX.mjs} +1 -1
  15. package/dist/cli/{chunk-M7CPVMDB.mjs → chunk-B2R66UTW.mjs} +1 -1
  16. package/dist/cli/{chunk-MOBZS4F3.mjs → chunk-BC7FMQ2G.mjs} +1 -1
  17. package/dist/cli/{chunk-CUUHQ3AO.js → chunk-DNMV2L7Q.js} +6 -6
  18. package/dist/cli/{chunk-MKHSZA2X.js → chunk-DNYRAZSK.js} +48 -48
  19. package/dist/cli/{chunk-DFDXKOLR.mjs → chunk-GZV5F6CL.mjs} +5 -5
  20. package/dist/cli/{chunk-GVYKY6T6.js → chunk-ITFUZEHE.js} +9 -9
  21. package/dist/cli/{chunk-5NXHSRRE.js → chunk-LEEXRXQQ.js} +6 -6
  22. package/dist/cli/{chunk-KZ4PCK4O.js → chunk-LJWC5HSO.js} +15 -15
  23. package/dist/cli/{chunk-TXVOB5J2.js → chunk-O5GPNPOC.js} +4 -4
  24. package/dist/cli/{chunk-W74E5ETE.mjs → chunk-OOLIEDIJ.mjs} +2 -2
  25. package/dist/cli/{chunk-ZRN6YOF2.mjs → chunk-SMGNDW7O.mjs} +2 -2
  26. package/dist/cli/{chunk-T33W6JUJ.js → chunk-UDIPEHNJ.js} +6 -6
  27. package/dist/cli/{chunk-TDSNAC3C.mjs → chunk-UM4ZE3P7.mjs} +2 -2
  28. package/dist/cli/{chunk-4LNBSQM4.js → chunk-W6WV6UME.js} +224 -224
  29. package/dist/cli/{chunk-BR7GGTAE.mjs → chunk-WWVE4HFN.mjs} +1 -1
  30. package/dist/cli/{chunk-MDQZQ3NY.js → chunk-XVKQ6D4K.js} +2 -2
  31. package/dist/cli/{chunk-BUYZEUY4.js → chunk-Y4LXIUHX.js} +1 -1
  32. package/dist/cli/{chunk-BQJVMKWL.mjs → chunk-YFCHBN3C.mjs} +1 -1
  33. package/dist/cli/{chunk-EMZ7Y5SW.js → chunk-ZFKUVDOM.js} +60 -60
  34. package/dist/cli/{chunk-IQCCGOQH.mjs → chunk-ZND34HL7.mjs} +4 -4
  35. package/dist/cli/client-55BDB4LE.js +20 -0
  36. package/dist/cli/{client-ZMOKUNL2.mjs → client-ZABA5NMD.mjs} +3 -3
  37. package/dist/cli/{csv-HZRKEI7J.js → csv-4ZK5ZJAJ.js} +12 -12
  38. package/dist/cli/{csv-IICJHJZ4.mjs → csv-VECE3PWX.mjs} +3 -3
  39. package/dist/cli/{db-X4B7YFNY.mjs → db-6VE4OEWW.mjs} +4 -4
  40. package/dist/cli/{db-TM5NZF73.js → db-UJPCDBV7.js} +29 -29
  41. package/dist/cli/{describe-BDBARWZJ.js → describe-CFUZZ326.js} +15 -15
  42. package/dist/cli/{describe-GMVS3LFC.mjs → describe-W6X5G4JR.mjs} +8 -8
  43. package/dist/cli/{executions-QX25UOQM.js → executions-AI4DTQQL.js} +6 -6
  44. package/dist/cli/{executions-447ZJMN4.mjs → executions-ZZWB75DF.mjs} +4 -4
  45. package/dist/cli/{feedback-4IXUTBX7.js → feedback-FYSNSYUU.js} +6 -6
  46. package/dist/cli/{feedback-JB7HHIC6.mjs → feedback-IM5Z6T5K.mjs} +3 -3
  47. package/dist/cli/git-VWXH6LCP.js +23 -0
  48. package/dist/cli/{git-VID6KGAA.mjs → git-YNYTK3YW.mjs} +4 -4
  49. package/dist/cli/index.js +95 -80
  50. package/dist/cli/index.mjs +54 -39
  51. package/dist/cli/{legacy-noops-SGR3G5WS.mjs → legacy-noops-4DTMYYUY.mjs} +4 -4
  52. package/dist/cli/{legacy-noops-3FYTCOZO.js → legacy-noops-PHJE2XFK.js} +7 -7
  53. package/dist/cli/{monitors-SP52UHS4.js → monitors-27JP76WE.js} +85 -85
  54. package/dist/cli/{monitors-SH4FOMBM.mjs → monitors-HUP4MVWJ.mjs} +4 -4
  55. package/dist/cli/{org-B32MMIQT.mjs → org-L3B2RR4U.mjs} +4 -4
  56. package/dist/cli/{org-UQMX7JOR.js → org-RHVDMUKN.js} +60 -60
  57. package/dist/cli/play-UKH4VFPF.js +153 -0
  58. package/dist/cli/{play-XTE4LUP7.mjs → play-UXIJVYNF.mjs} +7 -7
  59. package/dist/cli/{providers-RWLN6FUR.mjs → providers-FABWTNKR.mjs} +4 -4
  60. package/dist/cli/{providers-JNMJJ2OH.js → providers-VL6VY56M.js} +7 -7
  61. package/dist/cli/{quickstart-HK6WZ342.js → quickstart-IIPZ6DSY.js} +5 -5
  62. package/dist/cli/{quickstart-IDB3Y375.mjs → quickstart-OA54A4IE.mjs} +3 -3
  63. package/dist/cli/search-JD2VTR4A.js +26 -0
  64. package/dist/cli/{search-6D3IFNPT.mjs → search-YDK4V2EW.mjs} +5 -5
  65. package/dist/cli/{secrets-TZ53CQ3D.mjs → secrets-4MQF6RF6.mjs} +4 -4
  66. package/dist/cli/{secrets-JOQB57IE.js → secrets-JGU7ZRUW.js} +13 -13
  67. package/dist/cli/{sessions-QSAICDXX.js → sessions-I7ZZYSYW.js} +5 -5
  68. package/dist/cli/{sessions-4MBDC4EK.mjs → sessions-PTHOMSZ5.mjs} +4 -4
  69. package/dist/cli/{settings-RKQFMLDU.mjs → settings-X4ENSGNK.mjs} +7 -7
  70. package/dist/cli/{settings-OTOCW7L7.js → settings-ZUUBKIG6.js} +74 -74
  71. package/dist/cli/{setup-2S5TNTUB.mjs → setup-4UM6FCZL.mjs} +6 -6
  72. package/dist/cli/{setup-AKZUDVYY.js → setup-6L576TQE.js} +41 -41
  73. package/dist/cli/skills-TLPNCERR.js +28 -0
  74. package/dist/cli/{skills-AGZXDLSA.mjs → skills-U3BS5KUI.mjs} +4 -4
  75. package/dist/cli/tools-26JTFFU4.js +39 -0
  76. package/dist/cli/{tools-7Y6RD6FY.mjs → tools-O4PX6UVB.mjs} +6 -6
  77. package/dist/cli/update-35RRCU2G.js +28 -0
  78. package/dist/cli/{update-M7YGF67I.mjs → update-OHWSK2WN.mjs} +6 -6
  79. package/dist/cli/{workflow-NGMY425T.js → workflow-QWTZBLT3.js} +15 -15
  80. package/dist/cli/{workflow-CTVE7S7W.mjs → workflow-RVMGBMLX.mjs} +5 -5
  81. package/dist/index.js +57 -47
  82. package/dist/index.mjs +14 -4
  83. package/dist/install-integrity.json +74 -74
  84. package/dist/release.d.mts +1 -1
  85. package/dist/release.d.ts +1 -1
  86. package/dist/release.js +2 -2
  87. package/dist/release.mjs +1 -1
  88. package/package.json +1 -1
  89. package/dist/cli/auth-6STWK6UK.js +0 -31
  90. package/dist/cli/client-TEBW2P24.js +0 -20
  91. package/dist/cli/git-C7C7DTEH.js +0 -23
  92. package/dist/cli/play-UCIWBN7U.js +0 -153
  93. package/dist/cli/search-LUZ2S7DH.js +0 -26
  94. package/dist/cli/skills-26LASHZF.js +0 -28
  95. package/dist/cli/tools-L5VIJQWX.js +0 -39
  96. package/dist/cli/update-MNHF6M2F.js +0 -28
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DeeplineClient,
3
3
  iterateCursorPages
4
- } from "./chunk-KLWBAQ5A.mjs";
4
+ } from "./chunk-7R6KQSFA.mjs";
5
5
  import "./chunk-CBVIJSHF.mjs";
6
6
  import {
7
7
  createTimestampedName,
@@ -9,13 +9,13 @@ import {
9
9
  openInBrowser,
10
10
  printCommandEnvelope,
11
11
  shouldEmitJson
12
- } from "./chunk-M7CPVMDB.mjs";
12
+ } from "./chunk-B2R66UTW.mjs";
13
13
  import {
14
14
  AuthError,
15
15
  ConfigError
16
- } from "./chunk-BR7GGTAE.mjs";
16
+ } from "./chunk-WWVE4HFN.mjs";
17
17
  import "./chunk-DLIRSHV6.mjs";
18
- import "./chunk-BQJVMKWL.mjs";
18
+ import "./chunk-YFCHBN3C.mjs";
19
19
  import "./chunk-6IKARAYD.mjs";
20
20
  import {
21
21
  DeeplineError
@@ -307,41 +307,42 @@ async function handleBalance(options) {
307
307
  const needsCredits = status === "no_billing" || status === "zero_balance" || status === "payment_method_only";
308
308
  const recovery = needsCredits ? balanceRecoveryForCredits() : null;
309
309
  const lines = [`Balance: ${payload.balance ?? "(unknown)"} credits`];
310
+ const detail = [];
310
311
  const temporaryHolds = payload.temporary_hold_credits;
311
312
  if (typeof temporaryHolds === "number" && temporaryHolds > 0) {
312
- lines.push(`Open reservation exposure: ${temporaryHolds} credits.`);
313
+ detail.push(`Open reservation exposure: ${temporaryHolds} credits.`);
313
314
  } else if (temporaryHolds === null) {
314
- lines.push("Temporary reservation status is temporarily unavailable.");
315
+ detail.push("Temporary reservation status is temporarily unavailable.");
315
316
  }
316
317
  if (payload.temporary_hold_credits_truncated === true) {
317
- lines.push("Temporary reservation total may be incomplete.");
318
+ detail.push("Temporary reservation total may be incomplete.");
318
319
  }
319
320
  if (typeof payload.estimated_hold_credits === "number") {
320
- lines.push(
321
+ detail.push(
321
322
  `Estimated holds: ${payload.estimated_hold_credits} credits \u2014 final usage is not recorded yet.`
322
323
  );
323
324
  }
324
325
  if (typeof payload.incurred_unsettled_credits === "number") {
325
- lines.push(
326
+ detail.push(
326
327
  `Incurred, awaiting settlement: ${payload.incurred_unsettled_credits} credits.`
327
328
  );
328
329
  }
329
330
  if (typeof payload.pending_wallet_debit_credits === "number") {
330
- lines.push(
331
+ detail.push(
331
332
  `Pending wallet debit: ${payload.pending_wallet_debit_credits} credits \u2014 excludes amounts already debited for funded holds.`
332
333
  );
333
334
  }
334
335
  if (typeof payload.pending_wallet_refund_credits === "number" && payload.pending_wallet_refund_credits > 0) {
335
- lines.push(
336
+ detail.push(
336
337
  `Pending wallet refund: ${payload.pending_wallet_refund_credits} credits.`
337
338
  );
338
339
  }
339
340
  if (payload.exposure_status === "partial") {
340
- lines.push(
341
+ detail.push(
341
342
  "Exposure amounts are lower bounds: some reservations are unpriced or the scan is incomplete."
342
343
  );
343
344
  } else if (payload.exposure_status !== "complete") {
344
- lines.push(
345
+ detail.push(
345
346
  "The estimated and incurred usage breakdown is temporarily unavailable."
346
347
  );
347
348
  }
@@ -361,13 +362,21 @@ async function handleBalance(options) {
361
362
  lines.push(`If the user approves, run: ${recovery.top_up_command}`);
362
363
  lines.push(`If checkout is required, run: ${recovery.checkout_command}`);
363
364
  }
365
+ const text = [lines[0], ...options.verbose ? detail : [], ...lines.slice(1)];
364
366
  printCommandEnvelope(
365
367
  {
366
368
  ...payload,
367
369
  ...recovery ? { recovery } : {},
368
- render: { sections: [{ title: "billing balance", lines }] }
370
+ render: {
371
+ sections: [
372
+ { title: "billing balance", lines: [lines[0], ...detail, ...lines.slice(1)] }
373
+ ]
374
+ }
369
375
  },
370
- { json: options.json }
376
+ // Short text unless JSON is asked for by name: piping no longer switches
377
+ // this command to JSON.
378
+ options.json ? { json: true } : { json: false, text: `${text.join("\n")}
379
+ ` }
371
380
  );
372
381
  return;
373
382
  }
@@ -1410,11 +1419,16 @@ Notes:
1410
1419
  The balance includes concurrent workspace activity, so a before/after difference
1411
1420
  cannot isolate one command. Use billing usage --request-id <job_id> --json.
1412
1421
 
1422
+ Prints one line, "Balance: N credits", piped or not, plus what to do when
1423
+ the workspace has no credits. --verbose adds reservations and usage awaiting
1424
+ settlement. --json returns the full record.
1425
+
1413
1426
  Examples:
1414
1427
  deepline billing balance
1428
+ deepline billing balance --verbose
1415
1429
  deepline billing balance --json
1416
1430
  `
1417
- ).option("--json", "Emit JSON output. Also automatic when stdout is piped").action(handleBalance);
1431
+ ).option("--json", "Emit the full balance record as JSON").option("--verbose", "Add reservations and usage awaiting settlement").action(handleBalance);
1418
1432
  billing.command("usage").description("Show current usage plus recent calls.").addHelpText(
1419
1433
  "after",
1420
1434
  `
@@ -10,7 +10,7 @@ var _chunkAID3OYVJjs = require('./chunk-AID3OYVJ.js');
10
10
 
11
11
 
12
12
 
13
- var _chunkT33W6JUJjs = require('./chunk-T33W6JUJ.js');
13
+ var _chunkUDIPEHNJjs = require('./chunk-UDIPEHNJ.js');
14
14
 
15
15
 
16
16
 
@@ -22,7 +22,7 @@ var _chunkNXDRDJ4Kjs = require('./chunk-NXDRDJ4K.js');
22
22
 
23
23
 
24
24
 
25
- var _chunkGVYKY6T6js = require('./chunk-GVYKY6T6.js');
25
+ var _chunkITFUZEHEjs = require('./chunk-ITFUZEHE.js');
26
26
 
27
27
 
28
28
 
@@ -36,11 +36,11 @@ var _chunkQJBJZVG6js = require('./chunk-QJBJZVG6.js');
36
36
 
37
37
 
38
38
 
39
- var _chunkCUUHQ3AOjs = require('./chunk-CUUHQ3AO.js');
39
+ var _chunkDNMV2L7Qjs = require('./chunk-DNMV2L7Q.js');
40
40
 
41
41
 
42
42
 
43
- var _chunkTXVOB5J2js = require('./chunk-TXVOB5J2.js');
43
+ var _chunkO5GPNPOCjs = require('./chunk-O5GPNPOC.js');
44
44
 
45
45
 
46
46
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
@@ -85,10 +85,10 @@ var ToolCallRecovery = class _ToolCallRecovery {
85
85
  }
86
86
  };
87
87
  function pendingToolExecutionPath(input) {
88
- const config = _chunkTXVOB5J2js.resolveConfig.call(void 0, );
88
+ const config = _chunkO5GPNPOCjs.resolveConfig.call(void 0, );
89
89
  const fingerprint = _crypto.createHash.call(void 0, "sha256").update(config.baseUrl).update("\0").update(_crypto.createHash.call(void 0, "sha256").update(config.apiKey).digest("hex")).update("\0").update(input.toolId).update("\0").update(_chunkNXDRDJ4Kjs.stableStringify.call(void 0, input.params)).update("\0").update(input.responseIntent).digest("hex");
90
90
  return _path.join.call(void 0,
91
- _chunkTXVOB5J2js.sdkCliStateDirPath.call(void 0, config.baseUrl),
91
+ _chunkO5GPNPOCjs.sdkCliStateDirPath.call(void 0, config.baseUrl),
92
92
  `pending-tool-execution-${fingerprint}.json`
93
93
  );
94
94
  }
@@ -520,12 +520,12 @@ function categoryEnumerationRender(summaries) {
520
520
  };
521
521
  }
522
522
  async function listToolCategories(emitJson, compact) {
523
- const client = new (0, _chunkGVYKY6T6js.DeeplineClient)();
523
+ const client = new (0, _chunkITFUZEHEjs.DeeplineClient)();
524
524
  const rawTools = await client.listTools({ compact });
525
525
  const items = rawTools.map(toListedTool);
526
526
  const summaries = aggregateCategorySummaries(rawTools);
527
527
  const outputItems = compact ? items.map(compactTool) : items;
528
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0,
528
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0,
529
529
  {
530
530
  tools: outputItems,
531
531
  count: outputItems.length,
@@ -544,7 +544,7 @@ function unknownCategoryError(category, summaries, emitJson) {
544
544
  const known = summaries.map((item) => item.name);
545
545
  const message = `Unknown tool category "${category}". Run \`deepline tools list\` to browse categories.`;
546
546
  if (emitJson) {
547
- _chunkCUUHQ3AOjs.printJson.call(void 0, {
547
+ _chunkDNMV2L7Qjs.printJson.call(void 0, {
548
548
  ok: false,
549
549
  exitCode: 4,
550
550
  code: "TOOL_CATEGORY_NOT_FOUND",
@@ -558,13 +558,13 @@ function unknownCategoryError(category, summaries, emitJson) {
558
558
  const render = categoryEnumerationRender(summaries);
559
559
  console.error(message);
560
560
  console.error("");
561
- console.error(_chunkCUUHQ3AOjs.renderCommandEnvelopeText.call(void 0, { render }).trimEnd());
561
+ console.error(_chunkDNMV2L7Qjs.renderCommandEnvelopeText.call(void 0, { render }).trimEnd());
562
562
  console.error("");
563
563
  console.error(`Valid categories: ${known.join(", ")}`);
564
564
  return 4;
565
565
  }
566
566
  async function listToolsInCategory(category, emitJson) {
567
- const client = new (0, _chunkGVYKY6T6js.DeeplineClient)();
567
+ const client = new (0, _chunkITFUZEHEjs.DeeplineClient)();
568
568
  const rawTools = await client.listTools({
569
569
  categories: category,
570
570
  compact: false
@@ -601,7 +601,7 @@ async function listToolsInCategory(category, emitJson) {
601
601
  }
602
602
  ]
603
603
  };
604
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0,
604
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0,
605
605
  {
606
606
  category,
607
607
  total: rows.length,
@@ -614,7 +614,7 @@ async function listToolsInCategory(category, emitJson) {
614
614
  return 0;
615
615
  }
616
616
  async function listToolsForCategoryFilter(requestedCategories, emitJson, compact) {
617
- const client = new (0, _chunkGVYKY6T6js.DeeplineClient)();
617
+ const client = new (0, _chunkITFUZEHEjs.DeeplineClient)();
618
618
  const items = (await client.listTools({
619
619
  categories: requestedCategories.join(","),
620
620
  compact
@@ -643,7 +643,7 @@ async function listToolsForCategoryFilter(requestedCategories, emitJson, compact
643
643
  ]
644
644
  };
645
645
  const outputItems = compact ? items.map(compactTool) : items;
646
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0,
646
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0,
647
647
  {
648
648
  tools: outputItems,
649
649
  count: outputItems.length,
@@ -662,13 +662,13 @@ async function listTools(category, options = {}) {
662
662
  const positional = _nullishCoalesce(_optionalChain([category, 'optionalAccess', _9 => _9.trim, 'call', _10 => _10()]), () => ( ""));
663
663
  const flagCategories = (_nullishCoalesce(options.categories, () => ( ""))).split(",").map((item) => item.trim()).filter(Boolean);
664
664
  const compact = options.compact !== false;
665
- const emitJson = options.json === true || _chunkCUUHQ3AOjs.shouldEmitJson.call(void 0, );
665
+ const emitJson = options.json === true || _chunkDNMV2L7Qjs.shouldEmitJson.call(void 0, );
666
666
  if (positional && flagCategories.length > 0) {
667
667
  const flagIsSameSingle = flagCategories.length === 1 && flagCategories[0] === positional;
668
668
  if (!flagIsSameSingle) {
669
669
  const message = `Category "${positional}" and --categories ${flagCategories.join(",")} disagree. Pass one: deepline tools list ${positional}`;
670
670
  if (emitJson) {
671
- _chunkCUUHQ3AOjs.printJson.call(void 0, {
671
+ _chunkDNMV2L7Qjs.printJson.call(void 0, {
672
672
  ok: false,
673
673
  exitCode: 2,
674
674
  code: "TOOL_LIST_CATEGORY_CONFLICT",
@@ -695,7 +695,7 @@ async function grepTools(queryInput, options = {}) {
695
695
  console.error("Usage: deepline tools grep <query> [--json]");
696
696
  return 1;
697
697
  }
698
- const client = new (0, _chunkGVYKY6T6js.DeeplineClient)();
698
+ const client = new (0, _chunkITFUZEHEjs.DeeplineClient)();
699
699
  const requestedCategories = options.categories ? options.categories.split(",").map((item) => item.trim()).filter(Boolean) : [];
700
700
  const mode = _nullishCoalesce(options.mode, () => ( "all"));
701
701
  const jsonOutput = options.json === true;
@@ -738,7 +738,7 @@ async function grepTools(queryInput, options = {}) {
738
738
  query,
739
739
  mode
740
740
  }) : null;
741
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0,
741
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0,
742
742
  {
743
743
  tools: outputTools,
744
744
  count: outputTools.length,
@@ -756,7 +756,7 @@ async function grepTools(queryInput, options = {}) {
756
756
  } : {},
757
757
  commandTemplates: TOOL_COMMAND_TEMPLATES
758
758
  },
759
- { json: options.json || _chunkCUUHQ3AOjs.shouldEmitJson.call(void 0, ) }
759
+ { json: options.json || _chunkDNMV2L7Qjs.shouldEmitJson.call(void 0, ) }
760
760
  );
761
761
  return 0;
762
762
  }
@@ -912,7 +912,7 @@ Examples:
912
912
  json: Boolean(options.json)
913
913
  });
914
914
  });
915
- _chunkT33W6JUJjs.registerDeprecatedSearchCommand.call(void 0, tools, () => ["tools", "monitors"]);
915
+ _chunkUDIPEHNJjs.registerDeprecatedSearchCommand.call(void 0, tools, () => ["tools", "monitors"]);
916
916
  tools.command("grep <query>").description(
917
917
  "Literal grep over tool ids, descriptions, categories, and input fields."
918
918
  ).addHelpText(
@@ -1013,7 +1013,7 @@ Examples:
1013
1013
  process.exitCode = await narrowView();
1014
1014
  return;
1015
1015
  }
1016
- const { describeAnything } = await Promise.resolve().then(() => _interopRequireWildcard(require("./describe-BDBARWZJ.js")));
1016
+ const { describeAnything } = await Promise.resolve().then(() => _interopRequireWildcard(require("./describe-CFUZZ326.js")));
1017
1017
  process.exitCode = await describeAnything(
1018
1018
  toolId,
1019
1019
  { ...options, kinds: ["tools", "monitors"], fetchedTool: metadata },
@@ -1095,7 +1095,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1095
1095
  console.error("Usage: deepline tools describe <toolId> [--json]");
1096
1096
  return 1;
1097
1097
  }
1098
- const client = new (0, _chunkGVYKY6T6js.DeeplineClient)();
1098
+ const client = new (0, _chunkITFUZEHEjs.DeeplineClient)();
1099
1099
  let tool;
1100
1100
  try {
1101
1101
  tool = await _asyncNullishCoalesce(compatibilityMetadata, async () => ( await client.getTool(toolId)));
@@ -1149,7 +1149,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1149
1149
  const lines = toolPricingOnlyLines(tool, toolId);
1150
1150
  if (inferenceQuote)
1151
1151
  lines.push(...inferenceQuoteSummaryLines(inferenceQuote));
1152
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0,
1152
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0,
1153
1153
  {
1154
1154
  toolId: String(tool.toolId || toolId),
1155
1155
  cost: Capability.fromCatalogEntry(tool).describe().customerCost(),
@@ -1167,7 +1167,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1167
1167
  }
1168
1168
  if ((options.schemaOnly || options.examplesOnly || options.gettersOnly) && !isMonitorTypeTool(tool) && !isPlayLikeTool(tool) && (options.json || options.contractJson)) {
1169
1169
  const contract = toolContractJsonForDescribe(tool, toolId);
1170
- _chunkCUUHQ3AOjs.printCompactJson.call(void 0, {
1170
+ _chunkDNMV2L7Qjs.printCompactJson.call(void 0, {
1171
1171
  toolId: contract.toolId,
1172
1172
  ...options.schemaOnly ? {
1173
1173
  inputSchema: contract.inputSchema,
@@ -1190,7 +1190,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1190
1190
  return 0;
1191
1191
  }
1192
1192
  if (options.contractJson) {
1193
- _chunkCUUHQ3AOjs.printCompactJson.call(void 0, {
1193
+ _chunkDNMV2L7Qjs.printCompactJson.call(void 0, {
1194
1194
  ...toolContractJsonForDescribe(tool, toolId),
1195
1195
  ...modelDescription ? { modelOptions: modelDescription } : {},
1196
1196
  ...inferenceQuote ? { inferenceQuote } : {}
@@ -1199,7 +1199,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1199
1199
  }
1200
1200
  const emitJson = options.json === true;
1201
1201
  if (emitJson) {
1202
- _chunkCUUHQ3AOjs.printCompactJson.call(void 0, {
1202
+ _chunkDNMV2L7Qjs.printCompactJson.call(void 0, {
1203
1203
  ...toolMetadataJsonForDescribe(tool, toolId),
1204
1204
  ...modelDescription ? { modelOptions: modelDescription } : {},
1205
1205
  ...inferenceQuote ? { inferenceQuote } : {}
@@ -1230,8 +1230,8 @@ ${formatModelDescription(modelDescription)}`);
1230
1230
  if (inferenceQuote) printInferenceQuoteSummary(inferenceQuote);
1231
1231
  return 0;
1232
1232
  }
1233
- if (_chunkCUUHQ3AOjs.shouldEmitJson.call(void 0, )) {
1234
- _chunkCUUHQ3AOjs.printCompactJson.call(void 0, {
1233
+ if (_chunkDNMV2L7Qjs.shouldEmitJson.call(void 0, )) {
1234
+ _chunkDNMV2L7Qjs.printCompactJson.call(void 0, {
1235
1235
  ...toolContractJsonForDescribe(tool, toolId),
1236
1236
  ...modelDescription ? { modelOptions: modelDescription } : {},
1237
1237
  ...inferenceQuote ? { inferenceQuote } : {}
@@ -2573,7 +2573,7 @@ function parseExecuteOptions(toolId, options, output) {
2573
2573
  outputFormat = normalizeOutputFormat(options.outputFormat);
2574
2574
  }
2575
2575
  if (options.idempotencyKey !== void 0) {
2576
- _chunkGVYKY6T6js.validateExecutionIdempotencyKey.call(void 0, options.idempotencyKey);
2576
+ _chunkITFUZEHEjs.validateExecutionIdempotencyKey.call(void 0, options.idempotencyKey);
2577
2577
  }
2578
2578
  if (options.recoveryTimeoutMs !== void 0) {
2579
2579
  const parsed = Number(options.recoveryTimeoutMs);
@@ -2884,20 +2884,20 @@ function buildToolExecuteRowArtifactEnvelope(input) {
2884
2884
  }
2885
2885
  async function executeTool(toolId, options) {
2886
2886
  const output = toolExecuteJsonOption(options.json);
2887
- const wantsJson = _chunkCUUHQ3AOjs.shouldEmitJson.call(void 0, output.requested);
2887
+ const wantsJson = _chunkDNMV2L7Qjs.shouldEmitJson.call(void 0, output.requested);
2888
2888
  let parsed;
2889
2889
  try {
2890
2890
  parsed = parseExecuteOptions(toolId, options, output);
2891
2891
  } catch (error) {
2892
2892
  if (wantsJson) {
2893
- _chunkCUUHQ3AOjs.printJsonError.call(void 0, error);
2893
+ _chunkDNMV2L7Qjs.printJsonError.call(void 0, error);
2894
2894
  } else {
2895
2895
  console.error(error instanceof Error ? error.message : String(error));
2896
2896
  }
2897
2897
  return error instanceof _chunk7P5AA3SNjs.DeeplineError && error.code === "IDEMPOTENCY_KEY_INVALID" ? 2 : 1;
2898
2898
  }
2899
2899
  const cliInvocationId = _nullishCoalesce(_chunkQJBJZVG6js.getToolExecuteInvocationId.call(void 0, ), () => ( _chunkQJBJZVG6js.beginToolExecuteCommand.call(void 0, )));
2900
- const client = new (0, _chunkGVYKY6T6js.DeeplineClient)();
2900
+ const client = new (0, _chunkITFUZEHEjs.DeeplineClient)();
2901
2901
  let metadata;
2902
2902
  try {
2903
2903
  metadata = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0,
@@ -2912,7 +2912,7 @@ async function executeTool(toolId, options) {
2912
2912
  );
2913
2913
  if (play) {
2914
2914
  if (wantsJson) {
2915
- _chunkCUUHQ3AOjs.printJsonError.call(void 0,
2915
+ _chunkDNMV2L7Qjs.printJsonError.call(void 0,
2916
2916
  new Error(playAliasToolErrorMessage(parsed.toolId, play))
2917
2917
  );
2918
2918
  } else {
@@ -2925,7 +2925,7 @@ async function executeTool(toolId, options) {
2925
2925
  }
2926
2926
  if (isPlayLikeTool(metadata)) {
2927
2927
  if (wantsJson) {
2928
- _chunkCUUHQ3AOjs.printJsonError.call(void 0,
2928
+ _chunkDNMV2L7Qjs.printJsonError.call(void 0,
2929
2929
  new Error(
2930
2930
  playLikeToolExecuteErrorMessage(
2931
2931
  parsed.toolId,
@@ -2961,7 +2961,7 @@ async function executeTool(toolId, options) {
2961
2961
  responseIntent,
2962
2962
  ...idempotencyKey ? { idempotencyKey } : {},
2963
2963
  ...parsed.recoveryTimeoutMs !== void 0 ? { recoveryTimeoutMs: parsed.recoveryTimeoutMs } : {},
2964
- searchRef: _chunkT33W6JUJjs.recentSearchRef.call(void 0, ),
2964
+ searchRef: _chunkUDIPEHNJjs.recentSearchRef.call(void 0, ),
2965
2965
  cliInvocationId
2966
2966
  }).catch((error) => {
2967
2967
  const guidanceLines = toolGuidanceLines(metadata.guidance);
@@ -3000,8 +3000,8 @@ async function executeTool(toolId, options) {
3000
3000
  );
3001
3001
  const executeExitCode = toolExecuteExitCode(baseEnvelope);
3002
3002
  const delivered = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0, "output delivery", () => {
3003
- if (!parsed.outPath && (parsed.outputFormat === "json" || parsed.outputFormat === "auto" && _chunkCUUHQ3AOjs.shouldEmitJson.call(void 0, ))) {
3004
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0, baseEnvelope, { json: true });
3003
+ if (!parsed.outPath && (parsed.outputFormat === "json" || parsed.outputFormat === "auto" && _chunkDNMV2L7Qjs.shouldEmitJson.call(void 0, ))) {
3004
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0, baseEnvelope, { json: true });
3005
3005
  return true;
3006
3006
  }
3007
3007
  if (parsed.outputFormat === "json_file") {
@@ -3009,7 +3009,7 @@ async function executeTool(toolId, options) {
3009
3009
  rawResponse,
3010
3010
  `payload_${parsed.toolId}`
3011
3011
  );
3012
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0,
3012
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0,
3013
3013
  {
3014
3014
  ...baseEnvelope,
3015
3015
  local: {
@@ -3031,7 +3031,7 @@ async function executeTool(toolId, options) {
3031
3031
  `${parsed.toolId} did not expose row-shaped output to write as CSV. ${inspection.inspectDescription} Run: ${inspection.inspect}`
3032
3032
  );
3033
3033
  if (wantsJson) {
3034
- _chunkCUUHQ3AOjs.printJsonError.call(void 0, error);
3034
+ _chunkDNMV2L7Qjs.printJsonError.call(void 0, error);
3035
3035
  } else {
3036
3036
  console.error(error.message);
3037
3037
  }
@@ -3042,18 +3042,18 @@ async function executeTool(toolId, options) {
3042
3042
  rawResponse,
3043
3043
  `payload_${parsed.toolId}`
3044
3044
  );
3045
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0,
3045
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0,
3046
3046
  {
3047
3047
  ...baseEnvelope,
3048
3048
  local: {
3049
3049
  payload_file: jsonPath
3050
3050
  }
3051
3051
  },
3052
- { json: parsed.outputFormat === "csv_file" || _chunkCUUHQ3AOjs.shouldEmitJson.call(void 0, ) }
3052
+ { json: parsed.outputFormat === "csv_file" || _chunkDNMV2L7Qjs.shouldEmitJson.call(void 0, ) }
3053
3053
  );
3054
3054
  return true;
3055
3055
  }
3056
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0, baseEnvelope, { json: false });
3056
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0, baseEnvelope, { json: false });
3057
3057
  return true;
3058
3058
  }
3059
3059
  const rowOutput = _chunkNXDRDJ4Kjs.projectRowOutput.call(void 0, listConversion);
@@ -3077,7 +3077,7 @@ async function executeTool(toolId, options) {
3077
3077
  seededScript
3078
3078
  });
3079
3079
  if (parsed.outputFormat === "csv_file") {
3080
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0, materializedEnvelope, { json: true });
3080
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0, materializedEnvelope, { json: true });
3081
3081
  return true;
3082
3082
  }
3083
3083
  if (parsed.outPath) {
@@ -3085,7 +3085,7 @@ async function executeTool(toolId, options) {
3085
3085
  toolId: parsed.toolId,
3086
3086
  idempotencyKey
3087
3087
  });
3088
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0, materializedEnvelope, {
3088
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0, materializedEnvelope, {
3089
3089
  json: wantsJson,
3090
3090
  text: `Wrote ${csv.rowCount} row(s) to ${csv.path}
3091
3091
  inspect: ${inspection.inspect}
@@ -3094,7 +3094,7 @@ inspect: ${inspection.inspect}
3094
3094
  return true;
3095
3095
  }
3096
3096
  if (parsed.noPreview) {
3097
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0,
3097
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0,
3098
3098
  {
3099
3099
  ...materializedEnvelope,
3100
3100
  local: {
@@ -3102,12 +3102,12 @@ inspect: ${inspection.inspect}
3102
3102
  output_path: csv.path
3103
3103
  }
3104
3104
  },
3105
- { json: _chunkCUUHQ3AOjs.shouldEmitJson.call(void 0, ), text: `${csv.path}
3105
+ { json: _chunkDNMV2L7Qjs.shouldEmitJson.call(void 0, ), text: `${csv.path}
3106
3106
  ` }
3107
3107
  );
3108
3108
  return true;
3109
3109
  }
3110
- _chunkCUUHQ3AOjs.printCommandEnvelope.call(void 0, materializedEnvelope, { json: false });
3110
+ _chunkDNMV2L7Qjs.printCommandEnvelope.call(void 0, materializedEnvelope, { json: false });
3111
3111
  return true;
3112
3112
  });
3113
3113
  if (delivered) {
@@ -10,11 +10,11 @@ import {
10
10
  } from "./chunk-EDWJY6T4.mjs";
11
11
  import {
12
12
  registerDeprecatedSearchCommand
13
- } from "./chunk-VGKVLADU.mjs";
13
+ } from "./chunk-7MABE3ZK.mjs";
14
14
  import {
15
15
  handleDeploymentGet,
16
16
  handleDeploymentsList
17
- } from "./chunk-TDSNAC3C.mjs";
17
+ } from "./chunk-UM4ZE3P7.mjs";
18
18
  import {
19
19
  PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY,
20
20
  PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER,
@@ -39,7 +39,7 @@ import {
39
39
  normalizeRunEventOperationRequest,
40
40
  parseLogLevel,
41
41
  playInputExampleArgs
42
- } from "./chunk-KLWBAQ5A.mjs";
42
+ } from "./chunk-7R6KQSFA.mjs";
43
43
  import {
44
44
  CSV_DATA_INPUT_KEY,
45
45
  buildNamedPlayRunRequest,
@@ -71,10 +71,10 @@ import {
71
71
  printJson,
72
72
  printJsonError,
73
73
  renderCommandEnvelopeText
74
- } from "./chunk-M7CPVMDB.mjs";
74
+ } from "./chunk-B2R66UTW.mjs";
75
75
  import {
76
76
  fetchWithDeploymentProtection
77
- } from "./chunk-BR7GGTAE.mjs";
77
+ } from "./chunk-WWVE4HFN.mjs";
78
78
  import {
79
79
  PLAY_DEFAULT_EXPORT,
80
80
  extractDefinedPlayName,
@@ -18146,7 +18146,7 @@ Examples:
18146
18146
  process.exitCode = await ownView();
18147
18147
  return;
18148
18148
  }
18149
- const { describeAnything } = await import("./describe-GMVS3LFC.mjs");
18149
+ const { describeAnything } = await import("./describe-W6X5G4JR.mjs");
18150
18150
  process.exitCode = await describeAnything(
18151
18151
  name,
18152
18152
  {