deepline 0.3.413 → 0.3.415

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 (95) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/cli/{auth-3D4KKBVE.mjs → auth-3R7XJOU4.mjs} +4 -4
  3. package/dist/cli/auth-BPP3XUUK.js +40 -0
  4. package/dist/cli/{billing-EJQFNJSI.js → billing-63YR65DL.js} +73 -73
  5. package/dist/cli/{billing-2EOBIABD.mjs → billing-CEQACJBE.mjs} +4 -4
  6. package/dist/cli/{chunk-ID4QO6ME.js → chunk-44SXWCI5.js} +56 -52
  7. package/dist/cli/{chunk-VTL3NDUG.mjs → chunk-5L3NL6HV.mjs} +24 -17
  8. package/dist/cli/{chunk-HNL6FVEL.js → chunk-5MP7LBHF.js} +2 -2
  9. package/dist/cli/{chunk-CUY5U4QK.mjs → chunk-5RZZHZEJ.mjs} +7 -3
  10. package/dist/cli/{chunk-VZ57YWB6.mjs → chunk-6WQGIJSW.mjs} +1 -1
  11. package/dist/cli/{chunk-REVPPQFK.js → chunk-BBQTQRDC.js} +6 -6
  12. package/dist/cli/{chunk-KSJS5F57.js → chunk-CKP2OAKZ.js} +20 -20
  13. package/dist/cli/{chunk-VHBCEFS7.mjs → chunk-CQ5FHAX2.mjs} +1 -1
  14. package/dist/cli/{chunk-YAM52S2K.js → chunk-D34G5I2G.js} +8 -8
  15. package/dist/cli/{chunk-EGZUJT3T.js → chunk-DI63MOEP.js} +29 -22
  16. package/dist/cli/{chunk-GH4FIWEU.mjs → chunk-EMWMLURG.mjs} +1 -1
  17. package/dist/cli/{chunk-OT5HUMKM.mjs → chunk-EV6OLL4W.mjs} +5 -5
  18. package/dist/cli/{chunk-2T2JTZT2.js → chunk-F66SBZUA.js} +79 -79
  19. package/dist/cli/{chunk-LF5WZGBG.js → chunk-H3ZWEHLG.js} +4 -4
  20. package/dist/cli/{chunk-NCWUFF6U.js → chunk-IOULR7YA.js} +1 -1
  21. package/dist/cli/{chunk-D65C5V3L.mjs → chunk-JM3BQNP2.mjs} +2 -2
  22. package/dist/cli/{chunk-7GGLDFIU.js → chunk-KOQGG5WZ.js} +16 -16
  23. package/dist/cli/{chunk-ZGVFEBX7.mjs → chunk-LEPECCA5.mjs} +2 -2
  24. package/dist/cli/{chunk-JXNCP2M5.js → chunk-M2I4TC2C.js} +26 -26
  25. package/dist/cli/{chunk-ZDY367QD.js → chunk-N4SYPFH4.js} +6 -6
  26. package/dist/cli/{chunk-5PE74ZQ4.js → chunk-OJ4N5XMI.js} +35 -35
  27. package/dist/cli/{chunk-4GEA7QZY.mjs → chunk-OJGQ7JE3.mjs} +1 -1
  28. package/dist/cli/{chunk-OXUDZTF3.mjs → chunk-Q44253PX.mjs} +1 -1
  29. package/dist/cli/{chunk-YCPKC54Z.mjs → chunk-TOUMT7XB.mjs} +2 -2
  30. package/dist/cli/{chunk-WDQYMXDK.mjs → chunk-TQU3G7NC.mjs} +4 -4
  31. package/dist/cli/{chunk-V5L3WCSG.mjs → chunk-U4RSPPD7.mjs} +3 -3
  32. package/dist/cli/{chunk-X5FXFSHJ.js → chunk-UCE2CYXP.js} +2 -2
  33. package/dist/cli/{chunk-HCBTS7KU.mjs → chunk-UK22LQKF.mjs} +8 -8
  34. package/dist/cli/{chunk-GNDHF3ZI.js → chunk-UOGTM7NF.js} +50 -50
  35. package/dist/cli/{chunk-QR4SD7RI.js → chunk-WAPSY6F3.js} +10 -10
  36. package/dist/cli/{chunk-Y3MHIAMV.mjs → chunk-WQXQDVHQ.mjs} +2 -2
  37. package/dist/cli/{chunk-PDW33FLZ.mjs → chunk-Y2CT65YJ.mjs} +1 -1
  38. package/dist/cli/{csv-3GKD6ODW.mjs → csv-2KFJJLDT.mjs} +3 -3
  39. package/dist/cli/{csv-FVLNH7XW.js → csv-PKQX3TSA.js} +12 -12
  40. package/dist/cli/{db-TFECIZXA.mjs → db-N26UHFY7.mjs} +4 -4
  41. package/dist/cli/{db-YBLULEQY.js → db-PLBBJZSD.js} +25 -25
  42. package/dist/cli/{describe-4CGSYQ6N.mjs → describe-7RR4IO2K.mjs} +12 -12
  43. package/dist/cli/{describe-Y4XESTCE.js → describe-QGZ33RCB.js} +16 -16
  44. package/dist/cli/{executions-F7S72KOK.js → executions-A7JY32A5.js} +6 -6
  45. package/dist/cli/{executions-GSXZKYBA.mjs → executions-XUFGT3SW.mjs} +4 -4
  46. package/dist/cli/{feedback-GCCC2YTL.js → feedback-GU7HYQPX.js} +7 -7
  47. package/dist/cli/{feedback-PMCZCNOK.mjs → feedback-PIDESS5I.mjs} +3 -3
  48. package/dist/cli/git-EGJIIULI.js +24 -0
  49. package/dist/cli/{git-RNPGVB5K.mjs → git-ST2L7VCM.mjs} +4 -4
  50. package/dist/cli/index.js +131 -131
  51. package/dist/cli/index.mjs +36 -36
  52. package/dist/cli/{legacy-noops-J4CNOAAZ.js → legacy-noops-Q4D3TT7J.js} +7 -7
  53. package/dist/cli/{legacy-noops-FNJK7BKV.mjs → legacy-noops-WLZ3HD5L.mjs} +4 -4
  54. package/dist/cli/{monitors-LZDR7Y5R.mjs → monitors-4DRP7ABU.mjs} +4 -4
  55. package/dist/cli/{monitors-IRPUBNV3.js → monitors-DQBYHBTI.js} +84 -84
  56. package/dist/cli/{org-GMQQV4B4.js → org-JDFN2BMD.js} +64 -64
  57. package/dist/cli/{org-CG5H5PYW.mjs → org-XMP5FH4W.mjs} +4 -4
  58. package/dist/cli/{play-JGBMKAVZ.js → play-AVX67TTR.js} +283 -283
  59. package/dist/cli/{play-AQJXC3UT.mjs → play-LSEV7CLQ.mjs} +10 -10
  60. package/dist/cli/{providers-TU5QOBJL.mjs → providers-3B7KUXCF.mjs} +4 -4
  61. package/dist/cli/{providers-6W2LUEB2.js → providers-QOUY73G2.js} +7 -7
  62. package/dist/cli/{quickstart-XO4LNJIB.js → quickstart-BVKDXXBN.js} +5 -5
  63. package/dist/cli/{quickstart-NIED5SQP.mjs → quickstart-KFITIZGE.mjs} +3 -3
  64. package/dist/cli/{search-P322OCZS.mjs → search-MXMDK6BE.mjs} +5 -5
  65. package/dist/cli/search-UWPN4TLM.js +30 -0
  66. package/dist/cli/{secrets-36GD5ORQ.mjs → secrets-IX6ZHGMU.mjs} +4 -4
  67. package/dist/cli/{secrets-5JX66PSU.js → secrets-PHV2PC55.js} +13 -13
  68. package/dist/cli/{sessions-TRPCS2XC.js → sessions-2YAIVSQY.js} +5 -5
  69. package/dist/cli/{sessions-EU5EGYQA.mjs → sessions-NHNLYXBA.mjs} +4 -4
  70. package/dist/cli/{settings-2GBXXYEC.js → settings-APUXXPOD.js} +75 -75
  71. package/dist/cli/{settings-XZCFPMJK.mjs → settings-SAHN4OJN.mjs} +8 -8
  72. package/dist/cli/{setup-62YVBUGJ.mjs → setup-QOZSIUEX.mjs} +7 -7
  73. package/dist/cli/{setup-3R62S2HC.js → setup-URQ7BG5P.js} +42 -42
  74. package/dist/cli/{skills-GCRGKFZZ.mjs → skills-FLNMB5IF.mjs} +5 -5
  75. package/dist/cli/skills-ODG4WSUP.js +29 -0
  76. package/dist/cli/tools-R43QU6JL.js +44 -0
  77. package/dist/cli/{tools-PZ5BRPG4.mjs → tools-USDETSBP.mjs} +12 -12
  78. package/dist/cli/update-AGI5HJUV.js +31 -0
  79. package/dist/cli/{update-Y2VCL75Z.mjs → update-ZPY45JN4.mjs} +7 -7
  80. package/dist/cli/{workflow-THUIMN33.mjs → workflow-GSEM32G7.mjs} +5 -5
  81. package/dist/cli/{workflow-ZSV2DPQ3.js → workflow-KYWMP2JG.js} +15 -15
  82. package/dist/index.js +6 -6
  83. package/dist/index.mjs +3 -3
  84. package/dist/install-integrity.json +78 -78
  85. package/dist/release.d.mts +1 -1
  86. package/dist/release.d.ts +1 -1
  87. package/dist/release.js +2 -2
  88. package/dist/release.mjs +1 -1
  89. package/package.json +1 -1
  90. package/dist/cli/auth-5NDVMF4F.js +0 -40
  91. package/dist/cli/git-NOKHD2LT.js +0 -24
  92. package/dist/cli/search-46BMUNKI.js +0 -30
  93. package/dist/cli/skills-GVWVI3WO.js +0 -29
  94. package/dist/cli/tools-VFSX2OY3.js +0 -44
  95. package/dist/cli/update-KHJC44FI.js +0 -31
@@ -4,18 +4,18 @@
4
4
 
5
5
 
6
6
 
7
- var _chunk7GGLDFIUjs = require('./chunk-7GGLDFIU.js');
7
+ var _chunkKOQGG5WZjs = require('./chunk-KOQGG5WZ.js');
8
8
 
9
9
 
10
- var _chunkID4QO6MEjs = require('./chunk-ID4QO6ME.js');
10
+ var _chunk44SXWCI5js = require('./chunk-44SXWCI5.js');
11
11
 
12
12
 
13
13
 
14
- var _chunkZDY367QDjs = require('./chunk-ZDY367QD.js');
14
+ var _chunkN4SYPFH4js = require('./chunk-N4SYPFH4.js');
15
15
 
16
16
 
17
17
 
18
- var _chunkLF5WZGBGjs = require('./chunk-LF5WZGBG.js');
18
+ var _chunkH3ZWEHLGjs = require('./chunk-H3ZWEHLG.js');
19
19
 
20
20
  // src/cli/compatibility-catalog.ts
21
21
  var readers = /* @__PURE__ */ new WeakMap();
@@ -42,7 +42,7 @@ function trustedAutoUpdateRegistryUrl(baseUrl) {
42
42
  async function reportAutoUpdateEvent(input) {
43
43
  let apiKey = "";
44
44
  try {
45
- apiKey = _chunkLF5WZGBGjs.resolveApiKeyForBaseUrl.call(void 0, input.baseUrl);
45
+ apiKey = _chunkH3ZWEHLGjs.resolveApiKeyForBaseUrl.call(void 0, input.baseUrl);
46
46
  } catch (e2) {
47
47
  return;
48
48
  }
@@ -58,15 +58,15 @@ async function reportAutoUpdateEvent(input) {
58
58
  headers: {
59
59
  Authorization: `Bearer ${apiKey}`,
60
60
  "Content-Type": "application/json",
61
- "User-Agent": `deepline-ts-sdk/${_chunkLF5WZGBGjs.SDK_VERSION}`,
61
+ "User-Agent": `deepline-ts-sdk/${_chunkH3ZWEHLGjs.SDK_VERSION}`,
62
62
  "X-Deepline-Client-Family": "sdk",
63
63
  "X-Deepline-CLI-Family": "sdk",
64
- "X-Deepline-CLI-Version": _chunkLF5WZGBGjs.SDK_VERSION,
65
- "X-Deepline-SDK-Version": _chunkLF5WZGBGjs.SDK_VERSION
64
+ "X-Deepline-CLI-Version": _chunkH3ZWEHLGjs.SDK_VERSION,
65
+ "X-Deepline-SDK-Version": _chunkH3ZWEHLGjs.SDK_VERSION
66
66
  },
67
67
  body: JSON.stringify({
68
68
  event: input.event,
69
- current_version: _optionalChain([input, 'access', _4 => _4.response, 'access', _5 => _5.current, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]) || _chunkLF5WZGBGjs.SDK_VERSION,
69
+ current_version: _optionalChain([input, 'access', _4 => _4.response, 'access', _5 => _5.current, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]) || _chunkH3ZWEHLGjs.SDK_VERSION,
70
70
  target_version: input.response.latest,
71
71
  reason: _optionalChain([input, 'access', _8 => _8.response, 'access', _9 => _9.auto_update, 'optionalAccess', _10 => _10.reason]),
72
72
  command: _nullishCoalesce(input.response.command, () => ( null)),
@@ -85,13 +85,13 @@ function envTruthy(name) {
85
85
  return value === "1" || value === "true" || value === "yes";
86
86
  }
87
87
  function shouldSkipSelfUpdate(policy) {
88
- return policy === "off" || envTruthy("DEEPLINE_SKIP_SELF_UPDATE") || envTruthy("DEEPLINE_NO_AUTO_UPDATE") || envTruthy("DEEPLINE_SKIP_SDK_AUTO_UPDATE") || envTruthy("DEEPLINE_DISABLE_AUTO_UPDATE") || !_chunk7GGLDFIUjs.shouldRunCliAutoUpdate.call(void 0, ) || _chunkID4QO6MEjs.isCiEnvironment.call(void 0, );
88
+ return policy === "off" || envTruthy("DEEPLINE_SKIP_SELF_UPDATE") || envTruthy("DEEPLINE_NO_AUTO_UPDATE") || envTruthy("DEEPLINE_SKIP_SDK_AUTO_UPDATE") || envTruthy("DEEPLINE_DISABLE_AUTO_UPDATE") || !_chunkKOQGG5WZjs.shouldRunCliAutoUpdate.call(void 0, ) || _chunk44SXWCI5js.isCiEnvironment.call(void 0, );
89
89
  }
90
90
  function isDowngradeAutoUpdateResponse(response) {
91
91
  const target = _optionalChain([response, 'optionalAccess', _17 => _17.latest, 'optionalAccess', _18 => _18.trim, 'call', _19 => _19()]);
92
- const current = _optionalChain([response, 'optionalAccess', _20 => _20.current, 'optionalAccess', _21 => _21.trim, 'call', _22 => _22()]) || _chunkLF5WZGBGjs.SDK_VERSION;
92
+ const current = _optionalChain([response, 'optionalAccess', _20 => _20.current, 'optionalAccess', _21 => _21.trim, 'call', _22 => _22()]) || _chunkH3ZWEHLGjs.SDK_VERSION;
93
93
  if (!target) return false;
94
- return _chunk7GGLDFIUjs.compareUpdateVersions.call(void 0, target, current) < 0;
94
+ return _chunkKOQGG5WZjs.compareUpdateVersions.call(void 0, target, current) < 0;
95
95
  }
96
96
  function relaunchCurrentCommand(plan, runtime = {}) {
97
97
  return new Promise((resolve) => {
@@ -144,7 +144,7 @@ async function maybeAutoUpdateAndRelaunch(response, baseUrl, policy = "configure
144
144
  }
145
145
  if (isDowngradeAutoUpdateResponse(response)) {
146
146
  const target = response.latest;
147
- const current = _optionalChain([response, 'access', _26 => _26.current, 'optionalAccess', _27 => _27.trim, 'call', _28 => _28()]) || _chunkLF5WZGBGjs.SDK_VERSION;
147
+ const current = _optionalChain([response, 'access', _26 => _26.current, 'optionalAccess', _27 => _27.trim, 'call', _28 => _28()]) || _chunkH3ZWEHLGjs.SDK_VERSION;
148
148
  process.stderr.write(
149
149
  `Deepline SDK/CLI auto-update refused: server advertised older ${target} than current ${current}. Continuing without mutating the CLI.
150
150
  `
@@ -152,21 +152,21 @@ async function maybeAutoUpdateAndRelaunch(response, baseUrl, policy = "configure
152
152
  return false;
153
153
  }
154
154
  const packageSpec = response.latest ? `deepline@${response.latest}` : void 0;
155
- const plan = _chunk7GGLDFIUjs.resolveUpdatePlan.call(void 0, {
155
+ const plan = _chunkKOQGG5WZjs.resolveUpdatePlan.call(void 0, {
156
156
  packageSpec,
157
157
  requireVerifiedNpmOwnership: true,
158
158
  npmFallbackRegistryUrl: trustedAutoUpdateRegistryUrl(baseUrl)
159
159
  });
160
- if (!_chunk7GGLDFIUjs.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) {
160
+ if (!_chunkKOQGG5WZjs.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) {
161
161
  return false;
162
162
  }
163
163
  if (!autoUpdate.required && autoUpdate.reason !== "rollback_forced") {
164
164
  deferredAutoUpdate = async () => {
165
165
  await applyAutoUpdate(response, baseUrl, plan, "next_command");
166
166
  };
167
- if (_chunkZDY367QDjs.isJsonOutputMode.call(void 0, )) {
167
+ if (_chunkN4SYPFH4js.isJsonOutputMode.call(void 0, )) {
168
168
  const target = _optionalChain([response, 'access', _29 => _29.latest, 'optionalAccess', _30 => _30.trim, 'call', _31 => _31()]);
169
- _chunkZDY367QDjs.addJsonNotice.call(void 0, {
169
+ _chunkN4SYPFH4js.addJsonNotice.call(void 0, {
170
170
  code: "sdk_update_queued",
171
171
  message: `Deepline SDK/CLI update${target ? ` to ${target}` : ""} is queued after this command; the next command will use it if installation succeeds.`
172
172
  });
@@ -179,7 +179,7 @@ async function maybeAutoUpdateAndRelaunch(response, baseUrl, policy = "configure
179
179
  return true;
180
180
  }
181
181
  async function applyAutoUpdate(response, baseUrl, plan, takesEffect) {
182
- if (!_chunk7GGLDFIUjs.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) return false;
182
+ if (!_chunkKOQGG5WZjs.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) return false;
183
183
  const autoUpdate = response.auto_update;
184
184
  const label = _optionalChain([autoUpdate, 'optionalAccess', _32 => _32.reason]) === "rollback_forced" ? "has a server rollback pending and needs the latest rollback-aware CLI" : _optionalChain([autoUpdate, 'optionalAccess', _33 => _33.reason]) === "deprecated" ? "is deprecated and will update automatically" : _optionalChain([autoUpdate, 'optionalAccess', _34 => _34.required]) ? "requires an update" : "has an update available and will update automatically";
185
185
  process.stderr.write(
@@ -192,7 +192,7 @@ async function applyAutoUpdate(response, baseUrl, plan, takesEffect) {
192
192
  event: "started",
193
193
  installKind: plan.kind
194
194
  });
195
- const updateResult = await _chunk7GGLDFIUjs.runAutomaticUpdatePlan.call(void 0, plan);
195
+ const updateResult = await _chunkKOQGG5WZjs.runAutomaticUpdatePlan.call(void 0, plan);
196
196
  if (updateResult.status === "skipped_previous_failure") {
197
197
  void reportAutoUpdateEvent({
198
198
  baseUrl,
@@ -243,7 +243,7 @@ var _crypto = require('crypto');
243
243
  var TOOL_EXECUTE_PROGRESS_INTERVAL_MS = 15e3;
244
244
  var activeToolExecuteCommand = null;
245
245
  function progressLine(line) {
246
- if (!_chunkZDY367QDjs.isJsonOutputMode.call(void 0, )) console.error(line);
246
+ if (!_chunkN4SYPFH4js.isJsonOutputMode.call(void 0, )) console.error(line);
247
247
  }
248
248
  function beginToolExecuteCommand() {
249
249
  if (activeToolExecuteCommand) return activeToolExecuteCommand.invocationId;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  writeRawStderr
3
- } from "./chunk-4GEA7QZY.mjs";
3
+ } from "./chunk-OJGQ7JE3.mjs";
4
4
 
5
5
  // src/cli/maintenance-policy.ts
6
6
  import { InvalidArgumentError } from "commander";
@@ -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 _chunkZDY367QDjs = require('./chunk-ZDY367QD.js');
4
+ var _chunkN4SYPFH4js = require('./chunk-N4SYPFH4.js');
5
5
 
6
6
 
7
- var _chunkLF5WZGBGjs = require('./chunk-LF5WZGBG.js');
7
+ var _chunkH3ZWEHLGjs = require('./chunk-H3ZWEHLG.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 = _chunkLF5WZGBGjs.agentSessionIdFromEnvironment.call(void 0,
142
+ const sessionId = _chunkH3ZWEHLGjs.agentSessionIdFromEnvironment.call(void 0,
143
143
  process.env,
144
144
  agent === "auto" ? void 0 : agent === "claude" ? "claude_code" : "codex"
145
145
  );
@@ -451,7 +451,7 @@ function buildSessionUploadContent(raw) {
451
451
  return { encodedContent: encoded, needsChunking: true };
452
452
  }
453
453
  async function uploadPayload(path, payload) {
454
- const { http } = _chunkZDY367QDjs.getAuthedHttpClient.call(void 0, );
454
+ const { http } = _chunkN4SYPFH4js.getAuthedHttpClient.call(void 0, );
455
455
  return await http.post(path, payload);
456
456
  }
457
457
  async function uploadChunkedSessions(sessions, options) {
@@ -484,7 +484,7 @@ async function uploadChunkedSessions(sessions, options) {
484
484
  ...options.rating ? { rating: options.rating } : {}
485
485
  });
486
486
  const sessionIds = sessions.map((session) => session.sessionId);
487
- _chunkZDY367QDjs.printCommandEnvelope.call(void 0,
487
+ _chunkN4SYPFH4js.printCommandEnvelope.call(void 0,
488
488
  {
489
489
  ...response,
490
490
  ok: true,
@@ -516,7 +516,7 @@ async function handleSessionsSend(options) {
516
516
  filename: _path.basename.call(void 0, filePath),
517
517
  ...rating ? { rating } : {}
518
518
  });
519
- _chunkZDY367QDjs.printCommandEnvelope.call(void 0,
519
+ _chunkN4SYPFH4js.printCommandEnvelope.call(void 0,
520
520
  {
521
521
  ...response2,
522
522
  ok: true,
@@ -566,7 +566,7 @@ async function handleSessionsSend(options) {
566
566
  ...rating ? { rating } : {}
567
567
  });
568
568
  const sessionIds = built.map((session) => session.sessionId);
569
- _chunkZDY367QDjs.printCommandEnvelope.call(void 0,
569
+ _chunkN4SYPFH4js.printCommandEnvelope.call(void 0,
570
570
  {
571
571
  ...response,
572
572
  ok: true,
@@ -674,7 +674,7 @@ ${refreshMeta}
674
674
  </body>
675
675
  </html>`;
676
676
  _fs.writeFileSync.call(void 0, outputPath, html, "utf8");
677
- _chunkZDY367QDjs.printCommandEnvelope.call(void 0,
677
+ _chunkN4SYPFH4js.printCommandEnvelope.call(void 0,
678
678
  {
679
679
  ok: true,
680
680
  file: outputPath,
@@ -3,15 +3,15 @@
3
3
  var _chunkZM2YPJQJjs = require('./chunk-ZM2YPJQJ.js');
4
4
 
5
5
 
6
- var _chunkQR4SD7RIjs = require('./chunk-QR4SD7RI.js');
6
+ var _chunkWAPSY6F3js = require('./chunk-WAPSY6F3.js');
7
7
 
8
8
 
9
9
 
10
- var _chunkZDY367QDjs = require('./chunk-ZDY367QD.js');
10
+ var _chunkN4SYPFH4js = require('./chunk-N4SYPFH4.js');
11
11
 
12
12
 
13
13
 
14
- var _chunkLF5WZGBGjs = require('./chunk-LF5WZGBG.js');
14
+ var _chunkH3ZWEHLGjs = require('./chunk-H3ZWEHLG.js');
15
15
 
16
16
 
17
17
 
@@ -5713,7 +5713,7 @@ var _fs = require('fs');
5713
5713
  var _path = require('path');
5714
5714
  var SEARCH_REF_TTL_MS = 15 * 6e4;
5715
5715
  function lastSearchPath() {
5716
- return _path.join.call(void 0, _chunkLF5WZGBGjs.sdkCliStateDirPath.call(void 0, _chunkLF5WZGBGjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
5716
+ return _path.join.call(void 0, _chunkH3ZWEHLGjs.sdkCliStateDirPath.call(void 0, _chunkH3ZWEHLGjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
5717
5717
  }
5718
5718
  function rememberSearchRef(searchRef) {
5719
5719
  try {
@@ -5835,6 +5835,12 @@ function failureRateDisplay(rate) {
5835
5835
  const percent = Math.round(rate * 100);
5836
5836
  return percent === 0 && rate > 0 ? "<1%" : `${percent}%`;
5837
5837
  }
5838
+ function latencyDisplay(ms) {
5839
+ if (typeof ms !== "number" || !Number.isFinite(ms)) return "\u2014";
5840
+ if (ms < 1e3) return `${Math.round(ms)}ms`;
5841
+ if (ms < 6e4) return `${(ms / 1e3).toFixed(ms < 1e4 ? 1 : 0)}s`;
5842
+ return `${(ms / 6e4).toFixed(1)}min`;
5843
+ }
5838
5844
  function searchRow(item) {
5839
5845
  const { cost, notes } = pricingDisplay(item);
5840
5846
  const observedMax = item.billingSource === "own_provider_credentials" ? "" : _chunkZM2YPJQJjs.observedMaxText.call(void 0, item.pricing);
@@ -5853,13 +5859,20 @@ function searchRow(item) {
5853
5859
  // Production share of errored or rate-limited calls; absent when too few
5854
5860
  // calls or orgs used the tool to say.
5855
5861
  failureRate: failureRateDisplay(item.failureRate),
5862
+ // Production p95 latency of successful calls; absent for the same reason.
5863
+ p95: latencyDisplay(item.latencyP95Ms),
5856
5864
  summary: clipSummary(_nullishCoalesce(item.description, () => ( ""))),
5857
5865
  notes
5858
5866
  };
5859
5867
  }
5868
+ var OPTIONAL_COLUMNS = [
5869
+ { header: "RATE LIMIT", key: "rateLimit" },
5870
+ { header: "FAILURES", key: "failureRate" },
5871
+ { header: "P95", key: "p95" }
5872
+ ];
5860
5873
  function renderSearchResults(result) {
5861
5874
  if (result.results.length === 0)
5862
- return _chunkZDY367QDjs.renderCommandEnvelopeText.call(void 0, result);
5875
+ return _chunkN4SYPFH4js.renderCommandEnvelopeText.call(void 0, result);
5863
5876
  const rows = result.results.map(searchRow);
5864
5877
  const kinds = new Set(rows.map((row) => row.kind));
5865
5878
  const onlyTools = kinds.size === 1 && kinds.has("tool");
@@ -5867,20 +5880,14 @@ function renderSearchResults(result) {
5867
5880
  { header: onlyTools ? "TOOL" : "ID", value: (row) => row.id },
5868
5881
  ...!onlyTools ? [{ header: "KIND", value: (row) => row.kind }] : [],
5869
5882
  { header: "CREDITS", value: (row) => row.cost, alignment: "right" },
5870
- ...rows.some((row) => row.rateLimit !== "\u2014") ? [
5871
- {
5872
- header: "RATE LIMIT",
5873
- value: (row) => row.rateLimit,
5874
- alignment: "right"
5875
- }
5876
- ] : [],
5877
- ...rows.some((row) => row.failureRate !== "\u2014") ? [
5878
- {
5879
- header: "FAILURES",
5880
- value: (row) => row.failureRate,
5881
- alignment: "right"
5882
- }
5883
- ] : [],
5883
+ // Right-aligned figures that appear only when some row has one.
5884
+ ...OPTIONAL_COLUMNS.filter(
5885
+ ({ key }) => rows.some((row) => row[key] !== "\u2014")
5886
+ ).map(({ header, key }) => ({
5887
+ header,
5888
+ value: (row) => row[key],
5889
+ alignment: "right"
5890
+ })),
5884
5891
  { header: "SUMMARY", value: (row) => row.summary }
5885
5892
  ];
5886
5893
  const render = result.render;
@@ -5890,7 +5897,7 @@ function renderSearchResults(result) {
5890
5897
  actions: _optionalChain([render, 'optionalAccess', _12 => _12.actions])
5891
5898
  };
5892
5899
  const followUps = _optionalChain([remaining, 'access', _13 => _13.sections, 'optionalAccess', _14 => _14.length]) || _optionalChain([remaining, 'access', _15 => _15.actions, 'optionalAccess', _16 => _16.length]) ? `
5893
- ${_chunkZDY367QDjs.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
5900
+ ${_chunkN4SYPFH4js.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
5894
5901
  const notes = rows.flatMap(
5895
5902
  (row) => row.notes.map((note) => ` ${row.id}: ${note}`)
5896
5903
  );
@@ -5967,7 +5974,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
5967
5974
  console.error(USAGE);
5968
5975
  return 1;
5969
5976
  }
5970
- const { search_ref: searchRef, ...result } = await new (0, _chunkQR4SD7RIjs.DeeplineClient)().search({
5977
+ const { search_ref: searchRef, ...result } = await new (0, _chunkWAPSY6F3js.DeeplineClient)().search({
5971
5978
  query,
5972
5979
  types,
5973
5980
  exclude,
@@ -5981,7 +5988,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
5981
5988
  });
5982
5989
  if (searchRef) rememberSearchRef(searchRef);
5983
5990
  pointAtDescribe(result);
5984
- _chunkZDY367QDjs.printCommandEnvelope.call(void 0, result, {
5991
+ _chunkN4SYPFH4js.printCommandEnvelope.call(void 0, result, {
5985
5992
  json: options.json === true,
5986
5993
  text: renderSearchResults(result)
5987
5994
  });
@@ -49,7 +49,7 @@ var SDK_RELEASE = {
49
49
  // getters keep their established compatibility behavior.
50
50
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
51
51
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
52
- version: "0.3.413",
52
+ version: "0.3.415",
53
53
  updateSummary: {
54
54
  introducedIn: "0.3.90",
55
55
  summary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release."
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  npmSupportsAllowScripts,
3
3
  readNpmVersion
4
- } from "./chunk-VZ57YWB6.mjs";
4
+ } from "./chunk-6WQGIJSW.mjs";
5
5
  import {
6
6
  runSkillsCommand
7
- } from "./chunk-V5L3WCSG.mjs";
7
+ } from "./chunk-U4RSPPD7.mjs";
8
8
  import {
9
9
  resolveShellSpawn
10
- } from "./chunk-CUY5U4QK.mjs";
10
+ } from "./chunk-5RZZHZEJ.mjs";
11
11
  import {
12
12
  printCommandEnvelope
13
- } from "./chunk-4GEA7QZY.mjs";
13
+ } from "./chunk-OJGQ7JE3.mjs";
14
14
  import {
15
15
  autoDetectBaseUrl
16
- } from "./chunk-OXUDZTF3.mjs";
16
+ } from "./chunk-Q44253PX.mjs";
17
17
 
18
18
  // src/cli/commands/update.ts
19
19
  import { spawn, spawnSync } from "child_process";