deepline 0.3.407 → 0.3.409

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 (127) hide show
  1. package/dist/bundling-sources/sdk/src/client.ts +8 -1
  2. package/dist/bundling-sources/sdk/src/play.ts +13 -0
  3. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  4. package/dist/bundling-sources/sdk/src/types.ts +23 -0
  5. package/dist/bundling-sources/shared_libs/play-runtime/admission-timings.ts +64 -0
  6. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +11 -1
  7. package/dist/bundling-sources/shared_libs/play-runtime/modal-runtime-config.ts +1 -4
  8. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +2 -0
  9. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/local-process.ts +15 -6
  10. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +188 -45
  11. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +22 -4
  12. package/dist/bundling-sources/shared_libs/play-runtime/tool-http-errors.ts +10 -4
  13. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +72 -0
  14. package/dist/bundling-sources/shared_libs/play-runtime/webhook-receipt-source-commit-retry.ts +90 -0
  15. package/dist/bundling-sources/shared_libs/play-runtime/worker-api-types.ts +5 -0
  16. package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +6 -0
  17. package/dist/cli/{auth-WURWNNLE.mjs → auth-5HIIACF7.mjs} +4 -4
  18. package/dist/cli/auth-F6BX32XZ.js +40 -0
  19. package/dist/cli/{billing-2QJGXGJX.js → billing-4275N7FL.js} +92 -85
  20. package/dist/cli/{billing-BP3E6WIM.mjs → billing-EVZ3ZWKC.mjs} +23 -16
  21. package/dist/cli/{chunk-WXLOW623.mjs → chunk-264PC2RN.mjs} +14 -7
  22. package/dist/cli/{chunk-RMZAOYDN.js → chunk-2GI3QD3L.js} +53 -53
  23. package/dist/cli/{chunk-ZBCTXQ3P.mjs → chunk-2PRO2JTX.mjs} +1 -1
  24. package/dist/cli/{chunk-GAMFK2ZP.mjs → chunk-44ZTYHMQ.mjs} +10 -3
  25. package/dist/cli/{chunk-G4LJS2RE.js → chunk-53HN7WZN.js} +8 -8
  26. package/dist/cli/{chunk-URWF7NGQ.js → chunk-5MLCBXXU.js} +36 -15
  27. package/dist/cli/{chunk-XT6GG3QO.mjs → chunk-7AALNGTA.mjs} +3 -3
  28. package/dist/cli/{chunk-WJYPBHTE.js → chunk-ALD4COBH.js} +11 -4
  29. package/dist/cli/{chunk-RZLXVHNO.js → chunk-AU4OFDFX.js} +26 -26
  30. package/dist/cli/{chunk-N6OAMAO5.mjs → chunk-BEVLCKXG.mjs} +1 -1
  31. package/dist/cli/{chunk-7LKYHZVB.js → chunk-DEC3JECC.js} +1 -1
  32. package/dist/cli/{chunk-UFFSOV6I.mjs → chunk-FHPCKULR.mjs} +2 -2
  33. package/dist/cli/{chunk-THHM4DPE.js → chunk-FJCIUF34.js} +4 -4
  34. package/dist/cli/{chunk-H6EWQFPQ.js → chunk-GAICVLKL.js} +2 -2
  35. package/dist/cli/{chunk-4TV43THC.mjs → chunk-IT3XBJQR.mjs} +4 -4
  36. package/dist/cli/{chunk-UFS752TU.mjs → chunk-J6DCKJNM.mjs} +5 -1
  37. package/dist/cli/{chunk-AYHLUHE5.js → chunk-JGHG4NBA.js} +6 -2
  38. package/dist/cli/{chunk-BKC6VMYZ.mjs → chunk-JRAVVJ3T.mjs} +73 -4
  39. package/dist/cli/{chunk-ZI2ZNDJK.mjs → chunk-LFSHGNT2.mjs} +36 -15
  40. package/dist/cli/{chunk-L25GBGQU.mjs → chunk-N44JHMKY.mjs} +6 -6
  41. package/dist/cli/{chunk-QJAX7QN7.mjs → chunk-NZSF57UO.mjs} +2 -2
  42. package/dist/cli/{chunk-IY6GKJ4O.js → chunk-O3VSXP2F.js} +50 -50
  43. package/dist/cli/{chunk-J67NU4MQ.mjs → chunk-PBZYY7VZ.mjs} +5 -2
  44. package/dist/cli/{chunk-G6U74WNM.js → chunk-RTCDW2GU.js} +15 -15
  45. package/dist/cli/{chunk-UPEOEYZ3.mjs → chunk-TQNHMWUR.mjs} +1 -1
  46. package/dist/cli/{chunk-KUQAU5MG.js → chunk-V76R6HMV.js} +10 -7
  47. package/dist/cli/{chunk-6JZZNP5G.mjs → chunk-VWBTTJYQ.mjs} +2 -2
  48. package/dist/cli/{chunk-SOQIPKF2.js → chunk-WHG43Z67.js} +8 -8
  49. package/dist/cli/{chunk-Y6CX4QPR.js → chunk-WLOCMJWV.js} +67 -67
  50. package/dist/cli/{chunk-QJBJZVG6.js → chunk-WNUR6VP5.js} +15 -8
  51. package/dist/cli/{chunk-P7HOTKOK.mjs → chunk-WYQO2CBS.mjs} +4 -4
  52. package/dist/cli/{chunk-D2ZRMZKF.js → chunk-YD7B53RW.js} +99 -30
  53. package/dist/cli/command-docs.js +2 -2
  54. package/dist/cli/command-docs.mjs +1 -1
  55. package/dist/cli/{csv-N6KYTG7L.mjs → csv-A2MP6EFV.mjs} +3 -3
  56. package/dist/cli/{csv-7E5BE23B.js → csv-BBOTCGQY.js} +12 -12
  57. package/dist/cli/{db-XMBJNVBD.mjs → db-3W5DMTUX.mjs} +4 -4
  58. package/dist/cli/{db-4VLZP33O.js → db-G4CODDCA.js} +25 -25
  59. package/dist/cli/{describe-4I6EIVXD.js → describe-PQTQ5B6F.js} +11 -11
  60. package/dist/cli/{describe-WERH4TD2.mjs → describe-XYJ2ZT4M.mjs} +7 -7
  61. package/dist/cli/describe-core.d.mts +2 -2
  62. package/dist/cli/describe-core.d.ts +2 -2
  63. package/dist/cli/{executions-W7TWJRBK.js → executions-TLANVR7Y.js} +6 -6
  64. package/dist/cli/{executions-JWQXE7G6.mjs → executions-UR67CA5H.mjs} +4 -4
  65. package/dist/cli/{feedback-FMGRC6KO.js → feedback-6C2YTRJL.js} +7 -7
  66. package/dist/cli/{feedback-OEJFX4F7.mjs → feedback-WHCMGEIL.mjs} +3 -3
  67. package/dist/cli/{git-IVC4KHXX.mjs → git-GWLB6VSA.mjs} +4 -4
  68. package/dist/cli/git-VQFF6D7C.js +24 -0
  69. package/dist/cli/index.js +204 -127
  70. package/dist/cli/index.mjs +124 -47
  71. package/dist/cli/{legacy-noops-LT36CLWZ.mjs → legacy-noops-KF4XIFEF.mjs} +4 -4
  72. package/dist/cli/{legacy-noops-X3BQ7MUK.js → legacy-noops-ZUFA7RWI.js} +7 -7
  73. package/dist/cli/{monitors-MNLCELF7.mjs → monitors-6UOIDIMB.mjs} +4 -4
  74. package/dist/cli/{monitors-DLIIAVLW.js → monitors-TB3K2IVE.js} +84 -84
  75. package/dist/cli/{org-CYHDEW7P.js → org-CKWMBPIR.js} +64 -64
  76. package/dist/cli/{org-QV5LMUPT.mjs → org-WGHHMVDZ.mjs} +4 -4
  77. package/dist/cli/{play-5Z4ROZ3P.mjs → play-LYPAXCLD.mjs} +70 -18
  78. package/dist/cli/{play-MEFXC2QA.js → play-N2B3KAVS.js} +345 -293
  79. package/dist/cli/{providers-FJLYSHB3.mjs → providers-6DI5BVZJ.mjs} +4 -4
  80. package/dist/cli/{providers-2MKUNFBQ.js → providers-UR42MD6Z.js} +7 -7
  81. package/dist/cli/{quickstart-ULWXKAOT.js → quickstart-FCJG4XGB.js} +5 -5
  82. package/dist/cli/{quickstart-PQO3OQRT.mjs → quickstart-MNA2S6PO.mjs} +3 -3
  83. package/dist/cli/search-NCEEONMQ.js +30 -0
  84. package/dist/cli/{search-KGAAXMDG.mjs → search-VPPYUJ2M.mjs} +5 -5
  85. package/dist/cli/{secrets-PD5I3KAF.mjs → secrets-DRI4W7Z5.mjs} +4 -4
  86. package/dist/cli/{secrets-X2VGG2PO.js → secrets-QOSMVO36.js} +13 -13
  87. package/dist/cli/{sessions-R3XAKTBQ.js → sessions-3WYKQABW.js} +5 -5
  88. package/dist/cli/{sessions-3WVEU4PE.mjs → sessions-DQNUKP43.mjs} +4 -4
  89. package/dist/cli/{settings-645RSFQX.mjs → settings-DWDK3Y2R.mjs} +8 -8
  90. package/dist/cli/{settings-ZIDO3IP6.js → settings-JUGGCOPS.js} +75 -75
  91. package/dist/cli/{setup-LH5HOZ3D.js → setup-AWBHNYXK.js} +42 -42
  92. package/dist/cli/{setup-LISKIJKP.mjs → setup-D5DWVNY4.mjs} +7 -7
  93. package/dist/cli/skills-AKPAJVSO.js +29 -0
  94. package/dist/cli/{skills-VVQJHLSF.mjs → skills-YV2XR35J.mjs} +5 -5
  95. package/dist/cli/{tools-FTPJCNAM.js → tools-RBKEK6PM.js} +8 -8
  96. package/dist/cli/{tools-Y3LOMXFT.mjs → tools-VFJYHNV2.mjs} +7 -7
  97. package/dist/cli/{update-DOBNQNJI.mjs → update-IM6VOTGL.mjs} +7 -7
  98. package/dist/cli/update-VFNUBLDA.js +29 -0
  99. package/dist/cli/{workflow-ZMAA5VCN.mjs → workflow-26URBWPV.mjs} +5 -5
  100. package/dist/cli/{workflow-LGENKZBV.js → workflow-3BS6U6SL.js} +15 -15
  101. package/dist/{client-IrPHUE5J.d.ts → client-BMjJFpan.d.ts} +28 -2
  102. package/dist/{client-6rEB46Lv.d.mts → client-BfInrZPB.d.mts} +28 -2
  103. package/dist/{compiler-manifest-BHnXE43X.d.ts → compiler-manifest-Ycx-hoAr.d.mts} +2 -0
  104. package/dist/{compiler-manifest-BHnXE43X.d.mts → compiler-manifest-Ycx-hoAr.d.ts} +2 -0
  105. package/dist/{index-Da_Y8z5e.d.mts → index-CZXgiN3E.d.mts} +1 -1
  106. package/dist/{index-SODb2ROS.d.ts → index-NPG5pqxQ.d.ts} +1 -1
  107. package/dist/index.d.mts +5 -5
  108. package/dist/index.d.ts +5 -5
  109. package/dist/index.js +26 -9
  110. package/dist/index.mjs +23 -6
  111. package/dist/install-integrity.json +86 -84
  112. package/dist/plays/bundle-play-file.d.mts +3 -3
  113. package/dist/plays/bundle-play-file.d.ts +3 -3
  114. package/dist/plays/play-description.d.mts +2 -2
  115. package/dist/plays/play-description.d.ts +2 -2
  116. package/dist/plays/run-request.d.mts +2 -2
  117. package/dist/plays/run-request.d.ts +2 -2
  118. package/dist/release.d.mts +1 -1
  119. package/dist/release.d.ts +1 -1
  120. package/dist/release.js +2 -2
  121. package/dist/release.mjs +1 -1
  122. package/package.json +1 -1
  123. package/dist/cli/auth-4JTX6AGM.js +0 -40
  124. package/dist/cli/git-OFXE7G4X.js +0 -24
  125. package/dist/cli/search-ANKSJ224.js +0 -30
  126. package/dist/cli/skills-WLHYSVQA.js +0 -29
  127. package/dist/cli/update-A622H2DZ.js +0 -29
@@ -1,3 +1,7 @@
1
+ import {
2
+ isJsonOutputMode
3
+ } from "./chunk-JRAVVJ3T.mjs";
4
+
1
5
  // src/cli/compatibility-catalog.ts
2
6
  var readers = /* @__PURE__ */ new WeakMap();
3
7
  function registerCompatibilityCatalog(command, read) {
@@ -11,6 +15,9 @@ function compatibilityCatalog(command) {
11
15
  import { randomUUID } from "crypto";
12
16
  var TOOL_EXECUTE_PROGRESS_INTERVAL_MS = 15e3;
13
17
  var activeToolExecuteCommand = null;
18
+ function progressLine(line) {
19
+ if (!isJsonOutputMode()) console.error(line);
20
+ }
14
21
  function beginToolExecuteCommand() {
15
22
  if (activeToolExecuteCommand) return activeToolExecuteCommand.invocationId;
16
23
  const invocationId = randomUUID();
@@ -18,7 +25,7 @@ function beginToolExecuteCommand() {
18
25
  invocationId,
19
26
  startedAt: performance.now()
20
27
  };
21
- console.error(`[tools execute ${invocationId}] started`);
28
+ progressLine(`[tools execute ${invocationId}] started`);
22
29
  return invocationId;
23
30
  }
24
31
  function getToolExecuteInvocationId() {
@@ -29,9 +36,9 @@ async function runToolExecuteStage(stage, action) {
29
36
  if (!command) return action();
30
37
  const startedAt = performance.now();
31
38
  const elapsedMs = () => Math.round(performance.now() - startedAt);
32
- console.error(`[tools execute ${command.invocationId}] ${stage} started`);
39
+ progressLine(`[tools execute ${command.invocationId}] ${stage} started`);
33
40
  const progressTimer = setInterval(() => {
34
- console.error(
41
+ progressLine(
35
42
  `[tools execute ${command.invocationId}] ${stage} still running (${elapsedMs()}ms)`
36
43
  );
37
44
  }, TOOL_EXECUTE_PROGRESS_INTERVAL_MS);
@@ -39,17 +46,17 @@ async function runToolExecuteStage(stage, action) {
39
46
  try {
40
47
  const result = await action();
41
48
  if (result === false) {
42
- console.error(
49
+ progressLine(
43
50
  `[tools execute ${command.invocationId}] ${stage} failed after ${elapsedMs()}ms`
44
51
  );
45
52
  } else {
46
- console.error(
53
+ progressLine(
47
54
  `[tools execute ${command.invocationId}] ${stage} completed in ${elapsedMs()}ms`
48
55
  );
49
56
  }
50
57
  return result;
51
58
  } catch (error) {
52
- console.error(
59
+ progressLine(
53
60
  `[tools execute ${command.invocationId}] ${stage} failed after ${elapsedMs()}ms`
54
61
  );
55
62
  throw error;
@@ -60,7 +67,7 @@ async function runToolExecuteStage(stage, action) {
60
67
  function finishToolExecuteCommand() {
61
68
  const command = activeToolExecuteCommand;
62
69
  if (!command) return;
63
- console.error(
70
+ progressLine(
64
71
  `[tools execute ${command.invocationId}] finished in ${Math.round(performance.now() - command.startedAt)}ms`
65
72
  );
66
73
  activeToolExecuteCommand = null;
@@ -5,7 +5,7 @@ var _chunkZAAKSJASjs = require('./chunk-ZAAKSJAS.js');
5
5
 
6
6
 
7
7
 
8
- var _chunkG4LJS2REjs = require('./chunk-G4LJS2RE.js');
8
+ var _chunk53HN7WZNjs = require('./chunk-53HN7WZN.js');
9
9
 
10
10
 
11
11
 
@@ -45,7 +45,7 @@ var _chunkZ4VNJOF7js = require('./chunk-Z4VNJOF7.js');
45
45
 
46
46
 
47
47
 
48
- var _chunkKUQAU5MGjs = require('./chunk-KUQAU5MG.js');
48
+ var _chunkV76R6HMVjs = require('./chunk-V76R6HMV.js');
49
49
 
50
50
 
51
51
  var _chunkXDVT3GOMjs = require('./chunk-XDVT3GOM.js');
@@ -54,7 +54,7 @@ var _chunkXDVT3GOMjs = require('./chunk-XDVT3GOM.js');
54
54
 
55
55
 
56
56
 
57
- var _chunkQJBJZVG6js = require('./chunk-QJBJZVG6.js');
57
+ var _chunkWNUR6VP5js = require('./chunk-WNUR6VP5.js');
58
58
 
59
59
 
60
60
 
@@ -62,11 +62,11 @@ var _chunkQJBJZVG6js = require('./chunk-QJBJZVG6.js');
62
62
 
63
63
 
64
64
 
65
- var _chunkD2ZRMZKFjs = require('./chunk-D2ZRMZKF.js');
65
+ var _chunkYD7B53RWjs = require('./chunk-YD7B53RW.js');
66
66
 
67
67
 
68
68
 
69
- var _chunkTHHM4DPEjs = require('./chunk-THHM4DPE.js');
69
+ var _chunkFJCIUF34js = require('./chunk-FJCIUF34.js');
70
70
 
71
71
 
72
72
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
@@ -145,10 +145,10 @@ var ToolCallRecovery = class _ToolCallRecovery {
145
145
  }
146
146
  };
147
147
  function pendingToolExecutionPath(input) {
148
- const config = _chunkTHHM4DPEjs.resolveConfig.call(void 0, );
148
+ const config = _chunkFJCIUF34js.resolveConfig.call(void 0, );
149
149
  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(_chunkXDVT3GOMjs.stableStringify.call(void 0, input.params)).update("\0").update(input.responseIntent).digest("hex");
150
150
  return _path.join.call(void 0,
151
- _chunkTHHM4DPEjs.sdkCliStateDirPath.call(void 0, config.baseUrl),
151
+ _chunkFJCIUF34js.sdkCliStateDirPath.call(void 0, config.baseUrl),
152
152
  `pending-tool-execution-${fingerprint}.json`
153
153
  );
154
154
  }
@@ -436,12 +436,12 @@ function categoryEnumerationRender(summaries) {
436
436
  };
437
437
  }
438
438
  async function listToolCategories(emitJson, compact) {
439
- const client = new (0, _chunkKUQAU5MGjs.DeeplineClient)();
439
+ const client = new (0, _chunkV76R6HMVjs.DeeplineClient)();
440
440
  const rawTools = await client.listTools({ compact });
441
441
  const items = rawTools.map(toListedTool);
442
442
  const summaries = aggregateCategorySummaries(rawTools);
443
443
  const outputItems = compact ? items.map(compactTool) : items;
444
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0,
444
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
445
445
  {
446
446
  tools: outputItems,
447
447
  count: outputItems.length,
@@ -460,7 +460,7 @@ function unknownCategoryError(category, summaries, emitJson) {
460
460
  const known = summaries.map((item) => item.name);
461
461
  const message = `Unknown tool category "${category}". Run \`deepline tools list\` to browse categories.`;
462
462
  if (emitJson) {
463
- _chunkD2ZRMZKFjs.printJson.call(void 0, {
463
+ _chunkYD7B53RWjs.printJson.call(void 0, {
464
464
  ok: false,
465
465
  exitCode: 4,
466
466
  code: "TOOL_CATEGORY_NOT_FOUND",
@@ -474,13 +474,13 @@ function unknownCategoryError(category, summaries, emitJson) {
474
474
  const render = categoryEnumerationRender(summaries);
475
475
  console.error(message);
476
476
  console.error("");
477
- console.error(_chunkD2ZRMZKFjs.renderCommandEnvelopeText.call(void 0, { render }).trimEnd());
477
+ console.error(_chunkYD7B53RWjs.renderCommandEnvelopeText.call(void 0, { render }).trimEnd());
478
478
  console.error("");
479
479
  console.error(`Valid categories: ${known.join(", ")}`);
480
480
  return 4;
481
481
  }
482
482
  async function listToolsInCategory(category, emitJson) {
483
- const client = new (0, _chunkKUQAU5MGjs.DeeplineClient)();
483
+ const client = new (0, _chunkV76R6HMVjs.DeeplineClient)();
484
484
  const rawTools = await client.listTools({
485
485
  categories: category,
486
486
  compact: false
@@ -517,7 +517,7 @@ async function listToolsInCategory(category, emitJson) {
517
517
  }
518
518
  ]
519
519
  };
520
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0,
520
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
521
521
  {
522
522
  category,
523
523
  total: rows.length,
@@ -530,7 +530,7 @@ async function listToolsInCategory(category, emitJson) {
530
530
  return 0;
531
531
  }
532
532
  async function listToolsForCategoryFilter(requestedCategories, emitJson, compact) {
533
- const client = new (0, _chunkKUQAU5MGjs.DeeplineClient)();
533
+ const client = new (0, _chunkV76R6HMVjs.DeeplineClient)();
534
534
  const items = (await client.listTools({
535
535
  categories: requestedCategories.join(","),
536
536
  compact
@@ -559,7 +559,7 @@ async function listToolsForCategoryFilter(requestedCategories, emitJson, compact
559
559
  ]
560
560
  };
561
561
  const outputItems = compact ? items.map(compactTool) : items;
562
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0,
562
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
563
563
  {
564
564
  tools: outputItems,
565
565
  count: outputItems.length,
@@ -578,13 +578,13 @@ async function listTools(category, options = {}) {
578
578
  const positional = _nullishCoalesce(_optionalChain([category, 'optionalAccess', _10 => _10.trim, 'call', _11 => _11()]), () => ( ""));
579
579
  const flagCategories = (_nullishCoalesce(options.categories, () => ( ""))).split(",").map((item) => item.trim()).filter(Boolean);
580
580
  const compact = options.compact !== false;
581
- const emitJson = options.json === true || _chunkD2ZRMZKFjs.shouldEmitJson.call(void 0, );
581
+ const emitJson = options.json === true || _chunkYD7B53RWjs.shouldEmitJson.call(void 0, );
582
582
  if (positional && flagCategories.length > 0) {
583
583
  const flagIsSameSingle = flagCategories.length === 1 && flagCategories[0] === positional;
584
584
  if (!flagIsSameSingle) {
585
585
  const message = `Category "${positional}" and --categories ${flagCategories.join(",")} disagree. Pass one: deepline tools list ${positional}`;
586
586
  if (emitJson) {
587
- _chunkD2ZRMZKFjs.printJson.call(void 0, {
587
+ _chunkYD7B53RWjs.printJson.call(void 0, {
588
588
  ok: false,
589
589
  exitCode: 2,
590
590
  code: "TOOL_LIST_CATEGORY_CONFLICT",
@@ -611,7 +611,7 @@ async function grepTools(queryInput, options = {}) {
611
611
  console.error("Usage: deepline tools grep <query> [--json]");
612
612
  return 1;
613
613
  }
614
- const client = new (0, _chunkKUQAU5MGjs.DeeplineClient)();
614
+ const client = new (0, _chunkV76R6HMVjs.DeeplineClient)();
615
615
  const requestedCategories = options.categories ? options.categories.split(",").map((item) => item.trim()).filter(Boolean) : [];
616
616
  const mode = _nullishCoalesce(options.mode, () => ( "all"));
617
617
  const jsonOutput = options.json === true;
@@ -654,7 +654,7 @@ async function grepTools(queryInput, options = {}) {
654
654
  query,
655
655
  mode
656
656
  }) : null;
657
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0,
657
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
658
658
  {
659
659
  tools: outputTools,
660
660
  count: outputTools.length,
@@ -672,7 +672,7 @@ async function grepTools(queryInput, options = {}) {
672
672
  } : {},
673
673
  commandTemplates: TOOL_COMMAND_TEMPLATES
674
674
  },
675
- { json: options.json || _chunkD2ZRMZKFjs.shouldEmitJson.call(void 0, ) }
675
+ { json: options.json || _chunkYD7B53RWjs.shouldEmitJson.call(void 0, ) }
676
676
  );
677
677
  return 0;
678
678
  }
@@ -790,7 +790,7 @@ Output:
790
790
  "--credentials-file must contain a nonempty JSON object of string credential values."
791
791
  );
792
792
  }
793
- const result = await new (0, _chunkKUQAU5MGjs.DeeplineClient)().setIntegrationCredentials(
793
+ const result = await new (0, _chunkV76R6HMVjs.DeeplineClient)().setIntegrationCredentials(
794
794
  provider,
795
795
  credentials
796
796
  );
@@ -800,7 +800,7 @@ Output:
800
800
  );
801
801
  }
802
802
  const confirmation = { provider, credential_saved: true };
803
- if (_chunkD2ZRMZKFjs.shouldEmitJson.call(void 0, options.json))
803
+ if (_chunkYD7B53RWjs.shouldEmitJson.call(void 0, options.json))
804
804
  console.log(JSON.stringify(confirmation));
805
805
  else
806
806
  console.log(
@@ -840,7 +840,7 @@ Examples:
840
840
  json: Boolean(options.json)
841
841
  });
842
842
  });
843
- _chunkG4LJS2REjs.registerDeprecatedSearchCommand.call(void 0, tools, () => ["tools", "monitors"]);
843
+ _chunk53HN7WZNjs.registerDeprecatedSearchCommand.call(void 0, tools, () => ["tools", "monitors"]);
844
844
  tools.command("grep <query>").description(
845
845
  "Literal grep over tool ids, descriptions, categories, and input fields."
846
846
  ).addHelpText(
@@ -871,7 +871,7 @@ Examples:
871
871
  });
872
872
  const addToolMetadataCommand = (command) => {
873
873
  let compatibilityMetadata;
874
- _chunkQJBJZVG6js.registerCompatibilityCatalog.call(void 0, command, () => ({
874
+ _chunkWNUR6VP5js.registerCompatibilityCatalog.call(void 0, command, () => ({
875
875
  toolId: command.args[0],
876
876
  acceptMetadata: (metadata) => {
877
877
  compatibilityMetadata = metadata;
@@ -941,7 +941,7 @@ Examples:
941
941
  process.exitCode = await narrowView();
942
942
  return;
943
943
  }
944
- const { describeAnything } = await Promise.resolve().then(() => _interopRequireWildcard(require("./describe-4I6EIVXD.js")));
944
+ const { describeAnything } = await Promise.resolve().then(() => _interopRequireWildcard(require("./describe-PQTQ5B6F.js")));
945
945
  process.exitCode = await describeAnything(
946
946
  toolId,
947
947
  {
@@ -1027,7 +1027,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1027
1027
  console.error("Usage: deepline tools describe <toolId> [--json]");
1028
1028
  return 1;
1029
1029
  }
1030
- const client = new (0, _chunkKUQAU5MGjs.DeeplineClient)();
1030
+ const client = new (0, _chunkV76R6HMVjs.DeeplineClient)();
1031
1031
  let tool;
1032
1032
  try {
1033
1033
  tool = await _asyncNullishCoalesce(compatibilityMetadata, async () => ( await client.getTool(toolId)));
@@ -1081,7 +1081,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1081
1081
  const lines = toolPricingOnlyLines(tool, toolId);
1082
1082
  if (inferenceQuote)
1083
1083
  lines.push(...inferenceQuoteSummaryLines(inferenceQuote));
1084
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0,
1084
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
1085
1085
  {
1086
1086
  toolId: String(tool.toolId || toolId),
1087
1087
  cost: _chunkZM2YPJQJjs.Capability.fromCatalogEntry(tool).describe().customerCost(),
@@ -1104,7 +1104,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1104
1104
  void 0,
1105
1105
  seedToolListScript
1106
1106
  );
1107
- _chunkD2ZRMZKFjs.printCompactJson.call(void 0, {
1107
+ _chunkYD7B53RWjs.printCompactJson.call(void 0, {
1108
1108
  toolId: contract.toolId,
1109
1109
  ...options.schemaOnly ? {
1110
1110
  inputSchema: contract.inputSchema,
@@ -1127,7 +1127,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1127
1127
  return 0;
1128
1128
  }
1129
1129
  if (options.contractJson) {
1130
- _chunkD2ZRMZKFjs.printCompactJson.call(void 0, {
1130
+ _chunkYD7B53RWjs.printCompactJson.call(void 0, {
1131
1131
  ..._chunkFERRDNMOjs.toolContractJsonForDescribe.call(void 0,
1132
1132
  tool,
1133
1133
  toolId,
@@ -1141,7 +1141,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
1141
1141
  }
1142
1142
  const emitJson = options.json === true;
1143
1143
  if (emitJson) {
1144
- _chunkD2ZRMZKFjs.printCompactJson.call(void 0, {
1144
+ _chunkYD7B53RWjs.printCompactJson.call(void 0, {
1145
1145
  ..._chunkFERRDNMOjs.toolMetadataJsonForDescribe.call(void 0, tool, toolId, seedToolListScript),
1146
1146
  ...modelDescription ? { modelOptions: modelDescription } : {},
1147
1147
  ...inferenceQuote ? { inferenceQuote } : {}
@@ -2002,7 +2002,7 @@ function parseExecuteOptions(toolId, options, output) {
2002
2002
  outputFormat = normalizeOutputFormat(options.outputFormat);
2003
2003
  }
2004
2004
  if (options.idempotencyKey !== void 0) {
2005
- _chunkKUQAU5MGjs.validateExecutionIdempotencyKey.call(void 0, options.idempotencyKey);
2005
+ _chunkV76R6HMVjs.validateExecutionIdempotencyKey.call(void 0, options.idempotencyKey);
2006
2006
  }
2007
2007
  if (options.recoveryTimeoutMs !== void 0) {
2008
2008
  const parsed = Number(options.recoveryTimeoutMs);
@@ -2302,35 +2302,35 @@ function buildToolExecuteRowArtifactEnvelope(input) {
2302
2302
  }
2303
2303
  async function executeTool(toolId, options) {
2304
2304
  const output = toolExecuteJsonOption(options.json);
2305
- const wantsJson = _chunkD2ZRMZKFjs.shouldEmitJson.call(void 0, output.requested) || (_nullishCoalesce(options.outputFormat, () => ( "auto"))).trim().toLowerCase() !== "csv";
2305
+ const wantsJson = _chunkYD7B53RWjs.shouldEmitJson.call(void 0, output.requested) || (_nullishCoalesce(options.outputFormat, () => ( "auto"))).trim().toLowerCase() !== "csv";
2306
2306
  let parsed;
2307
2307
  try {
2308
2308
  parsed = parseExecuteOptions(toolId, options, output);
2309
2309
  } catch (error) {
2310
2310
  if (wantsJson) {
2311
- _chunkD2ZRMZKFjs.printJsonError.call(void 0, error);
2311
+ _chunkYD7B53RWjs.printJsonError.call(void 0, error);
2312
2312
  } else {
2313
2313
  console.error(error instanceof Error ? error.message : String(error));
2314
2314
  }
2315
2315
  return error instanceof _chunk7P5AA3SNjs.DeeplineError && error.code === "IDEMPOTENCY_KEY_INVALID" ? 2 : 1;
2316
2316
  }
2317
- const cliInvocationId = _nullishCoalesce(_chunkQJBJZVG6js.getToolExecuteInvocationId.call(void 0, ), () => ( _chunkQJBJZVG6js.beginToolExecuteCommand.call(void 0, )));
2318
- const client = new (0, _chunkKUQAU5MGjs.DeeplineClient)();
2317
+ const cliInvocationId = _nullishCoalesce(_chunkWNUR6VP5js.getToolExecuteInvocationId.call(void 0, ), () => ( _chunkWNUR6VP5js.beginToolExecuteCommand.call(void 0, )));
2318
+ const client = new (0, _chunkV76R6HMVjs.DeeplineClient)();
2319
2319
  let metadata;
2320
2320
  try {
2321
- metadata = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0,
2321
+ metadata = await _chunkWNUR6VP5js.runToolExecuteStage.call(void 0,
2322
2322
  "tool metadata lookup",
2323
2323
  () => client.getTool(parsed.toolId, { cliInvocationId })
2324
2324
  );
2325
2325
  } catch (error) {
2326
2326
  if (isMissingToolMetadataError(error)) {
2327
- const play = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0,
2327
+ const play = await _chunkWNUR6VP5js.runToolExecuteStage.call(void 0,
2328
2328
  "play alias lookup",
2329
2329
  () => findPlayForToolId(client, parsed.toolId, cliInvocationId)
2330
2330
  );
2331
2331
  if (play) {
2332
2332
  if (wantsJson) {
2333
- _chunkD2ZRMZKFjs.printJsonError.call(void 0,
2333
+ _chunkYD7B53RWjs.printJsonError.call(void 0,
2334
2334
  new Error(playAliasToolErrorMessage(parsed.toolId, play))
2335
2335
  );
2336
2336
  } else {
@@ -2343,7 +2343,7 @@ async function executeTool(toolId, options) {
2343
2343
  }
2344
2344
  if (_chunkFERRDNMOjs.isPlayLikeTool.call(void 0, metadata)) {
2345
2345
  if (wantsJson) {
2346
- _chunkD2ZRMZKFjs.printJsonError.call(void 0,
2346
+ _chunkYD7B53RWjs.printJsonError.call(void 0,
2347
2347
  new Error(
2348
2348
  playLikeToolExecuteErrorMessage(
2349
2349
  parsed.toolId,
@@ -2383,7 +2383,7 @@ async function executeTool(toolId, options) {
2383
2383
  if (idempotencyKey) {
2384
2384
  console.error(`Tool execution recovery key: ${idempotencyKey}`);
2385
2385
  }
2386
- const rawResponse = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0,
2386
+ const rawResponse = await _chunkWNUR6VP5js.runToolExecuteStage.call(void 0,
2387
2387
  "execute request",
2388
2388
  () => client.executeTool(parsed.toolId, parsed.params, {
2389
2389
  ...parsed.timeoutMs !== void 0 ? { timeout: parsed.timeoutMs } : {},
@@ -2391,7 +2391,7 @@ async function executeTool(toolId, options) {
2391
2391
  responseIntent,
2392
2392
  ...idempotencyKey ? { idempotencyKey } : {},
2393
2393
  ...parsed.recoveryTimeoutMs !== void 0 ? { recoveryTimeoutMs: parsed.recoveryTimeoutMs } : {},
2394
- searchRef: _chunkG4LJS2REjs.recentSearchRef.call(void 0, ),
2394
+ searchRef: _chunk53HN7WZNjs.recentSearchRef.call(void 0, ),
2395
2395
  cliInvocationId,
2396
2396
  onResponseReceived: _chunkZAAKSJASjs.recordApiResponse
2397
2397
  }).catch((error) => {
@@ -2408,7 +2408,7 @@ async function executeTool(toolId, options) {
2408
2408
  throw error;
2409
2409
  })
2410
2410
  );
2411
- const { listConversion, summary, baseEnvelope } = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0,
2411
+ const { listConversion, summary, baseEnvelope } = await _chunkWNUR6VP5js.runToolExecuteStage.call(void 0,
2412
2412
  "result formatting",
2413
2413
  () => {
2414
2414
  const listExtractorPaths = listExtractorPathsFromUsageGuidance(metadata);
@@ -2430,9 +2430,9 @@ async function executeTool(toolId, options) {
2430
2430
  }
2431
2431
  );
2432
2432
  const executeExitCode = toolExecuteExitCode(baseEnvelope);
2433
- const delivered = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0, "output delivery", () => {
2433
+ const delivered = await _chunkWNUR6VP5js.runToolExecuteStage.call(void 0, "output delivery", () => {
2434
2434
  if (!parsed.outPath && (parsed.outputFormat === "json" || parsed.outputFormat === "auto" && wantsJson)) {
2435
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0, baseEnvelope, { json: true });
2435
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0, baseEnvelope, { json: true });
2436
2436
  return true;
2437
2437
  }
2438
2438
  if (parsed.outputFormat === "json_file") {
@@ -2440,7 +2440,7 @@ async function executeTool(toolId, options) {
2440
2440
  rawResponse,
2441
2441
  `payload_${parsed.toolId}`
2442
2442
  );
2443
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0,
2443
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
2444
2444
  {
2445
2445
  ...baseEnvelope,
2446
2446
  local: {
@@ -2462,7 +2462,7 @@ async function executeTool(toolId, options) {
2462
2462
  `${parsed.toolId} did not expose row-shaped output to write as CSV. ${inspection.inspectDescription} Run: ${inspection.inspect}`
2463
2463
  );
2464
2464
  if (wantsJson) {
2465
- _chunkD2ZRMZKFjs.printJsonError.call(void 0, error);
2465
+ _chunkYD7B53RWjs.printJsonError.call(void 0, error);
2466
2466
  } else {
2467
2467
  console.error(error.message);
2468
2468
  }
@@ -2473,7 +2473,7 @@ async function executeTool(toolId, options) {
2473
2473
  rawResponse,
2474
2474
  `payload_${parsed.toolId}`
2475
2475
  );
2476
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0,
2476
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
2477
2477
  {
2478
2478
  ...baseEnvelope,
2479
2479
  local: {
@@ -2484,7 +2484,7 @@ async function executeTool(toolId, options) {
2484
2484
  );
2485
2485
  return true;
2486
2486
  }
2487
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0, baseEnvelope, { json: false });
2487
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0, baseEnvelope, { json: false });
2488
2488
  return true;
2489
2489
  }
2490
2490
  const rowOutput = _chunkHGFFYVXNjs.projectRowOutput.call(void 0, listConversion);
@@ -2508,7 +2508,7 @@ async function executeTool(toolId, options) {
2508
2508
  seededScript
2509
2509
  });
2510
2510
  if (parsed.outputFormat === "csv_file") {
2511
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0, materializedEnvelope, { json: true });
2511
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0, materializedEnvelope, { json: true });
2512
2512
  return true;
2513
2513
  }
2514
2514
  if (parsed.outPath) {
@@ -2516,7 +2516,7 @@ async function executeTool(toolId, options) {
2516
2516
  toolId: parsed.toolId,
2517
2517
  idempotencyKey
2518
2518
  });
2519
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0, materializedEnvelope, {
2519
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0, materializedEnvelope, {
2520
2520
  json: wantsJson,
2521
2521
  text: `Wrote ${csv.rowCount} row(s) to ${csv.path}
2522
2522
  inspect: ${inspection.inspect}
@@ -2525,7 +2525,7 @@ inspect: ${inspection.inspect}
2525
2525
  return true;
2526
2526
  }
2527
2527
  if (parsed.noPreview) {
2528
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0,
2528
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0,
2529
2529
  {
2530
2530
  ...materializedEnvelope,
2531
2531
  local: {
@@ -2538,13 +2538,13 @@ inspect: ${inspection.inspect}
2538
2538
  );
2539
2539
  return true;
2540
2540
  }
2541
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0, materializedEnvelope, {
2541
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0, materializedEnvelope, {
2542
2542
  json: wantsJson && parsed.outputFormat !== "csv"
2543
2543
  });
2544
2544
  return true;
2545
2545
  });
2546
2546
  if (delivered) {
2547
- await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0,
2547
+ await _chunkWNUR6VP5js.runToolExecuteStage.call(void 0,
2548
2548
  "acknowledge delivery",
2549
2549
  () => recovery.acknowledgeDelivery()
2550
2550
  );
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-NXGCO4JB.mjs";
18
18
  import {
19
19
  SDK_RELEASE
20
- } from "./chunk-UPEOEYZ3.mjs";
20
+ } from "./chunk-TQNHMWUR.mjs";
21
21
 
22
22
  // src/config.ts
23
23
  import {
@@ -1,9 +1,10 @@
1
+ import {
2
+ isJsonOutputMode
3
+ } from "./chunk-JRAVVJ3T.mjs";
4
+
1
5
  // src/cli/progress.ts
2
6
  import { Worker } from "worker_threads";
3
7
  var CliProgress = class {
4
- constructor(enabled) {
5
- this.enabled = enabled;
6
- }
7
8
  lastMessage = null;
8
9
  interactive = Boolean(process.stderr.isTTY);
9
10
  grey = "\x1B[90m";
@@ -11,6 +12,11 @@ var CliProgress = class {
11
12
  dim = "\x1B[2m";
12
13
  reset = "\x1B[0m";
13
14
  worker = null;
15
+ enabled;
16
+ // --json output is one JSON document: progress never renders under it.
17
+ constructor(enabled) {
18
+ this.enabled = enabled && !isJsonOutputMode();
19
+ }
14
20
  phase(message) {
15
21
  if (!this.enabled || this.lastMessage === message) {
16
22
  return;
@@ -34,6 +40,7 @@ var CliProgress = class {
34
40
  this.settle("\u2717");
35
41
  }
36
42
  writeLogLine(line) {
43
+ if (isJsonOutputMode()) return;
37
44
  if (!this.enabled) {
38
45
  process.stderr.write(`${line}
39
46
  `);
@@ -3,15 +3,15 @@
3
3
  var _chunkZM2YPJQJjs = require('./chunk-ZM2YPJQJ.js');
4
4
 
5
5
 
6
- var _chunkKUQAU5MGjs = require('./chunk-KUQAU5MG.js');
6
+ var _chunkV76R6HMVjs = require('./chunk-V76R6HMV.js');
7
7
 
8
8
 
9
9
 
10
- var _chunkD2ZRMZKFjs = require('./chunk-D2ZRMZKF.js');
10
+ var _chunkYD7B53RWjs = require('./chunk-YD7B53RW.js');
11
11
 
12
12
 
13
13
 
14
- var _chunkTHHM4DPEjs = require('./chunk-THHM4DPE.js');
14
+ var _chunkFJCIUF34js = require('./chunk-FJCIUF34.js');
15
15
 
16
16
  // src/cli/commands/search.ts
17
17
  var _commander = require('commander');
@@ -21,7 +21,7 @@ var _fs = require('fs');
21
21
  var _path = require('path');
22
22
  var SEARCH_REF_TTL_MS = 15 * 6e4;
23
23
  function lastSearchPath() {
24
- return _path.join.call(void 0, _chunkTHHM4DPEjs.sdkCliStateDirPath.call(void 0, _chunkTHHM4DPEjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
24
+ return _path.join.call(void 0, _chunkFJCIUF34js.sdkCliStateDirPath.call(void 0, _chunkFJCIUF34js.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
25
25
  }
26
26
  function rememberSearchRef(searchRef) {
27
27
  try {
@@ -167,7 +167,7 @@ function searchRow(item) {
167
167
  }
168
168
  function renderSearchResults(result) {
169
169
  if (result.results.length === 0)
170
- return _chunkD2ZRMZKFjs.renderCommandEnvelopeText.call(void 0, result);
170
+ return _chunkYD7B53RWjs.renderCommandEnvelopeText.call(void 0, result);
171
171
  const rows = result.results.map(searchRow);
172
172
  const kinds = new Set(rows.map((row) => row.kind));
173
173
  const onlyTools = kinds.size === 1 && kinds.has("tool");
@@ -198,7 +198,7 @@ function renderSearchResults(result) {
198
198
  actions: _optionalChain([render, 'optionalAccess', _11 => _11.actions])
199
199
  };
200
200
  const followUps = _optionalChain([remaining, 'access', _12 => _12.sections, 'optionalAccess', _13 => _13.length]) || _optionalChain([remaining, 'access', _14 => _14.actions, 'optionalAccess', _15 => _15.length]) ? `
201
- ${_chunkD2ZRMZKFjs.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
201
+ ${_chunkYD7B53RWjs.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
202
202
  const notes = rows.flatMap(
203
203
  (row) => row.notes.map((note) => ` ${row.id}: ${note}`)
204
204
  );
@@ -275,7 +275,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
275
275
  console.error(USAGE);
276
276
  return 1;
277
277
  }
278
- const { search_ref: searchRef, ...result } = await new (0, _chunkKUQAU5MGjs.DeeplineClient)().search({
278
+ const { search_ref: searchRef, ...result } = await new (0, _chunkV76R6HMVjs.DeeplineClient)().search({
279
279
  query,
280
280
  types,
281
281
  exclude,
@@ -289,7 +289,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
289
289
  });
290
290
  if (searchRef) rememberSearchRef(searchRef);
291
291
  pointAtDescribe(result);
292
- _chunkD2ZRMZKFjs.printCommandEnvelope.call(void 0, result, {
292
+ _chunkYD7B53RWjs.printCommandEnvelope.call(void 0, result, {
293
293
  json: options.json === true,
294
294
  text: renderSearchResults(result)
295
295
  });