deepline 0.3.451 → 0.3.453

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 (117) hide show
  1. package/dist/bundling-sources/sdk/src/client.ts +65 -0
  2. package/dist/bundling-sources/sdk/src/http.ts +2 -1
  3. package/dist/bundling-sources/sdk/src/index.ts +2 -0
  4. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  5. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-capability.ts +63 -0
  6. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +5 -1
  7. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-lifecycle.ts +49 -11
  8. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/contract.ts +4 -0
  9. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/runner-backend-adapter.ts +6 -0
  10. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +3 -1
  11. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +17 -2
  12. package/dist/cli/{auth-YLBWEMRW.mjs → auth-6CXS55CN.mjs} +4 -4
  13. package/dist/cli/auth-AICIA232.js +40 -0
  14. package/dist/cli/{billing-GWG5D3P6.js → billing-QC52XTAD.js} +87 -74
  15. package/dist/cli/{billing-DUFOEOPT.mjs → billing-SWLTV6PV.mjs} +18 -5
  16. package/dist/cli/{chunk-37CPEQBE.mjs → chunk-2LDU5BMG.mjs} +3 -3
  17. package/dist/cli/{chunk-JUCEEIEC.mjs → chunk-43HOSM2F.mjs} +1 -1
  18. package/dist/cli/{chunk-E7V5CRA2.mjs → chunk-6CTVXF6X.mjs} +8 -8
  19. package/dist/cli/{chunk-BJOVX7EB.mjs → chunk-7557D4FM.mjs} +2 -2
  20. package/dist/cli/chunk-BX343KU7.mjs +155 -0
  21. package/dist/cli/{chunk-7VRWERTM.js → chunk-DMTAFWMS.js} +84 -50
  22. package/dist/cli/{chunk-XLOXUW5Y.mjs → chunk-FS2RMEJ7.mjs} +1 -1
  23. package/dist/cli/{chunk-EJ6YI46S.js → chunk-HUDUN4AR.js} +2 -2
  24. package/dist/cli/{chunk-OKTCLFKM.mjs → chunk-IFBLLSGH.mjs} +5 -5
  25. package/dist/cli/{chunk-33EM4SMH.mjs → chunk-IWFI6FTJ.mjs} +4 -153
  26. package/dist/cli/{chunk-ZPV7DMAA.mjs → chunk-IXVABCNA.mjs} +1 -1
  27. package/dist/cli/{chunk-O3KVUHCG.js → chunk-JOF3B22H.js} +20 -20
  28. package/dist/cli/{chunk-6TFACCXN.js → chunk-KFKM5J2N.js} +2 -2
  29. package/dist/cli/{chunk-WLVGRU5A.mjs → chunk-KQD6EFPD.mjs} +2 -2
  30. package/dist/cli/{chunk-HSKLAPMD.js → chunk-MP35NE55.js} +26 -26
  31. package/dist/cli/chunk-NOHA3SZJ.js +155 -0
  32. package/dist/cli/{chunk-Z3DBS4IB.js → chunk-NSQZUUYB.js} +81 -81
  33. package/dist/cli/{chunk-BQQLTSGC.mjs → chunk-P4UQCYKH.mjs} +4 -4
  34. package/dist/cli/{chunk-CH2WDSBC.js → chunk-PJWXEUUH.js} +8 -8
  35. package/dist/cli/{chunk-L2IUGWV5.js → chunk-RG644LJU.js} +1 -1
  36. package/dist/cli/{chunk-5DUMNKQG.js → chunk-RNCIPLU5.js} +50 -50
  37. package/dist/cli/{chunk-WDOWAOYB.js → chunk-RTR2KUU6.js} +10 -10
  38. package/dist/cli/{chunk-4C7HPD57.mjs → chunk-SQUJHT7O.mjs} +1 -1
  39. package/dist/cli/{chunk-ZNDE2BTH.js → chunk-V6AZQ4JH.js} +16 -16
  40. package/dist/cli/{chunk-F2DW7DFE.js → chunk-V7S2RUVE.js} +8 -8
  41. package/dist/cli/{chunk-C4NPWUZY.js → chunk-VG6WESY7.js} +73 -222
  42. package/dist/cli/{chunk-6G6KX7I7.js → chunk-WTTHH2K3.js} +6 -6
  43. package/dist/cli/{chunk-JRPNCMMN.js → chunk-WWZ4YJ6J.js} +35 -35
  44. package/dist/cli/{chunk-PJYTV24I.mjs → chunk-X2LUT22I.mjs} +2 -2
  45. package/dist/cli/{chunk-YXXIFMXI.mjs → chunk-XH4QC5ZX.mjs} +2 -2
  46. package/dist/cli/{chunk-3HT47QPJ.mjs → chunk-XNN3OTGT.mjs} +2 -2
  47. package/dist/cli/{chunk-LPPAJJJN.mjs → chunk-XV4463XW.mjs} +35 -1
  48. package/dist/cli/{chunk-TFCLUWDQ.js → chunk-YU6IE234.js} +6 -6
  49. package/dist/cli/{chunk-RFPP4Q66.mjs → chunk-ZVBLECZX.mjs} +3 -3
  50. package/dist/cli/{csv-RL7WQD6Y.mjs → csv-FON4ZQKC.mjs} +3 -3
  51. package/dist/cli/{csv-4CHXZQXO.js → csv-WIQB5XWZ.js} +12 -12
  52. package/dist/cli/{db-ZDBAWV7B.mjs → db-3KA62DOQ.mjs} +4 -4
  53. package/dist/cli/{db-MRI5IM2A.js → db-VMDDODCN.js} +25 -25
  54. package/dist/cli/{describe-RRQUUJQ3.mjs → describe-LGDK77QI.mjs} +13 -12
  55. package/dist/cli/{describe-2FYKXM5B.js → describe-NTAAHCCX.js} +17 -16
  56. package/dist/cli/describe-core.d.mts +1 -1
  57. package/dist/cli/describe-core.d.ts +1 -1
  58. package/dist/cli/{executions-KDBD47A5.js → executions-OT2KNJDO.js} +6 -6
  59. package/dist/cli/{executions-RJL76TJS.mjs → executions-TM6AMTQ7.mjs} +4 -4
  60. package/dist/cli/{feedback-2CE24NHD.js → feedback-4HQGY3TO.js} +7 -7
  61. package/dist/cli/{feedback-KOYLXHYE.mjs → feedback-HWLUVFE2.mjs} +3 -3
  62. package/dist/cli/git-QIZWO5BA.js +24 -0
  63. package/dist/cli/{git-RDUHU6L6.mjs → git-TDJVSPE6.mjs} +4 -4
  64. package/dist/cli/index.js +133 -131
  65. package/dist/cli/index.mjs +39 -37
  66. package/dist/cli/{legacy-noops-7FOMGBMN.js → legacy-noops-XH3FDLWT.js} +7 -7
  67. package/dist/cli/{legacy-noops-4HS2LYP6.mjs → legacy-noops-YB2PES43.mjs} +4 -4
  68. package/dist/cli/{monitors-IJXNK5BL.js → monitors-E3QFEJKF.js} +276 -124
  69. package/dist/cli/{monitors-JLBTNBVU.mjs → monitors-KQDDMSDR.mjs} +156 -4
  70. package/dist/cli/{org-OWP6K4AA.mjs → org-7X2C7YKA.mjs} +4 -4
  71. package/dist/cli/{org-JL7SW6VY.js → org-PMTLR7VP.js} +66 -66
  72. package/dist/cli/{play-FNOVKU74.mjs → play-7FNEPSVR.mjs} +11 -10
  73. package/dist/cli/{play-LLNZWHT6.js → play-RH22Z3D6.js} +284 -283
  74. package/dist/cli/{providers-WBOEOKE7.mjs → providers-HOEDJNUK.mjs} +4 -4
  75. package/dist/cli/{providers-E4XIEUC7.js → providers-X5NY5IQH.js} +7 -7
  76. package/dist/cli/{quickstart-3FUHKGEY.js → quickstart-FI4A6VTV.js} +5 -5
  77. package/dist/cli/{quickstart-6G5G3BVA.mjs → quickstart-NCL7P2US.mjs} +3 -3
  78. package/dist/cli/search-6FUMJBIY.js +30 -0
  79. package/dist/cli/{search-CNMB4Z6M.mjs → search-UHT7ZNPO.mjs} +5 -5
  80. package/dist/cli/{secrets-5FY5APVK.mjs → secrets-D4ZB5RKB.mjs} +4 -4
  81. package/dist/cli/{secrets-BDSWOYAT.js → secrets-TT6J3SZJ.js} +13 -13
  82. package/dist/cli/{sessions-PMIKVPQN.mjs → sessions-HRLJ6SLL.mjs} +4 -4
  83. package/dist/cli/{sessions-B7T2CHYK.js → sessions-SRQQZMM7.js} +5 -5
  84. package/dist/cli/{settings-RXQJRRLR.js → settings-EJIKXLC7.js} +76 -75
  85. package/dist/cli/{settings-4TAYLTPR.mjs → settings-PJJYPWU3.mjs} +9 -8
  86. package/dist/cli/{setup-ZTMETGSO.js → setup-3FL77Z33.js} +43 -42
  87. package/dist/cli/{setup-LVUISLVO.mjs → setup-DNI6ENFD.mjs} +8 -7
  88. package/dist/cli/skills-DEKOSL7F.js +30 -0
  89. package/dist/cli/{skills-NSJ43Z5Q.mjs → skills-FO7MY2OE.mjs} +6 -5
  90. package/dist/cli/tools-E6XRW6PW.js +45 -0
  91. package/dist/cli/{tools-CFCKIGDY.mjs → tools-F72WONN3.mjs} +13 -12
  92. package/dist/cli/update-6M3CAS4T.js +32 -0
  93. package/dist/cli/{update-HYOCBXJO.mjs → update-JZU33TC5.mjs} +8 -7
  94. package/dist/cli/{workflow-U6S4SWTF.js → workflow-BGKC73V2.js} +15 -15
  95. package/dist/cli/{workflow-RKX45RJ4.mjs → workflow-PQYQXQPH.mjs} +5 -5
  96. package/dist/{client-CPRaigLC.d.ts → client-D6XhrO0f.d.ts} +26 -1
  97. package/dist/{client-DstDI5TV.d.mts → client-mRA_esYI.d.mts} +26 -1
  98. package/dist/index.d.mts +2 -2
  99. package/dist/index.d.ts +2 -2
  100. package/dist/index.js +6 -6
  101. package/dist/index.mjs +3 -3
  102. package/dist/install-integrity.json +82 -80
  103. package/dist/plays/play-description.d.mts +1 -1
  104. package/dist/plays/play-description.d.ts +1 -1
  105. package/dist/plays/run-request.d.mts +1 -1
  106. package/dist/plays/run-request.d.ts +1 -1
  107. package/dist/release.d.mts +1 -1
  108. package/dist/release.d.ts +1 -1
  109. package/dist/release.js +2 -2
  110. package/dist/release.mjs +1 -1
  111. package/package.json +1 -1
  112. package/dist/cli/auth-WPQBEOES.js +0 -40
  113. package/dist/cli/git-DZ5GROPH.js +0 -24
  114. package/dist/cli/search-4ECC773X.js +0 -30
  115. package/dist/cli/skills-MIENPTOD.js +0 -29
  116. package/dist/cli/tools-CXJO5XSH.js +0 -44
  117. package/dist/cli/update-B2LQGEXF.js +0 -31
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkWDOWAOYBjs = require('./chunk-WDOWAOYB.js');
6
+ var _chunkRTR2KUU6js = require('./chunk-RTR2KUU6.js');
7
7
 
8
8
 
9
9
 
@@ -288,8 +288,8 @@ var BROWSER_OPEN_COOLDOWN_MS = 3e4;
288
288
  var SAME_URL_BROWSER_OPEN_COOLDOWN_MS = 5 * 6e4;
289
289
  var defaultBrowserCommandRunner = childProcess;
290
290
  function getAuthedHttpClient() {
291
- const config = _chunkWDOWAOYBjs.resolveConfig.call(void 0, );
292
- return { config, http: new (0, _chunkWDOWAOYBjs.HttpClient)(config) };
291
+ const config = _chunkRTR2KUU6js.resolveConfig.call(void 0, );
292
+ return { config, http: new (0, _chunkRTR2KUU6js.HttpClient)(config) };
293
293
  }
294
294
  function stableOsUserId() {
295
295
  try {
@@ -629,7 +629,7 @@ function collectLocalEnvInfo() {
629
629
  os: `${process.platform} ${process.arch}`,
630
630
  node_version: process.version,
631
631
  home_dir: homeDir,
632
- agent_runtime: _chunkWDOWAOYBjs.detectAgentRuntime.call(void 0, )
632
+ agent_runtime: _chunkRTR2KUU6js.detectAgentRuntime.call(void 0, )
633
633
  };
634
634
  const env = process.env;
635
635
  const optional = {
@@ -876,9 +876,9 @@ function markdownTableFromRows(rows, preferredColumns = []) {
876
876
  }
877
877
  function withAgentCommandContext(value) {
878
878
  const valueRecord = value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
879
- return _chunkWDOWAOYBjs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
879
+ return _chunkRTR2KUU6js.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
880
880
  ...valueRecord,
881
- command_context: _chunkWDOWAOYBjs.resolveCliCommandContext.call(void 0, )
881
+ command_context: _chunkRTR2KUU6js.resolveCliCommandContext.call(void 0, )
882
882
  } : value;
883
883
  }
884
884
  function printJson(value, fields) {
@@ -11,10 +11,10 @@
11
11
 
12
12
 
13
13
 
14
- var _chunkC4NPWUZYjs = require('./chunk-C4NPWUZY.js');
14
+ var _chunkVG6WESY7js = require('./chunk-VG6WESY7.js');
15
15
 
16
16
 
17
- var _chunk6G6KX7I7js = require('./chunk-6G6KX7I7.js');
17
+ var _chunkWTTHH2K3js = require('./chunk-WTTHH2K3.js');
18
18
 
19
19
 
20
20
 
@@ -22,7 +22,7 @@ var _chunk6G6KX7I7js = require('./chunk-6G6KX7I7.js');
22
22
 
23
23
 
24
24
 
25
- var _chunkWDOWAOYBjs = require('./chunk-WDOWAOYB.js');
25
+ var _chunkRTR2KUU6js = require('./chunk-RTR2KUU6.js');
26
26
 
27
27
  // src/cli/commands/skills.ts
28
28
  var _child_process = require('child_process');
@@ -75,7 +75,7 @@ function inferActiveSkillsScope(entrypoint = _nullishCoalesce(process.argv[1], (
75
75
  return /[\\/]\.deepline[\\/]runtime[\\/]/.test(entrypoint) ? "local" : "global";
76
76
  }
77
77
  function resolveLocalRoot() {
78
- const target = _chunkWDOWAOYBjs.resolveProjectPinTarget.call(void 0, );
78
+ const target = _chunkRTR2KUU6js.resolveProjectPinTarget.call(void 0, );
79
79
  if (!target.ok) {
80
80
  throw new Error(
81
81
  `Cowork project folder is ambiguous. Candidate folders: ${target.candidates.join(
@@ -86,7 +86,7 @@ function resolveLocalRoot() {
86
86
  return target.dir;
87
87
  }
88
88
  function detectSkillsAgents(input) {
89
- const runtime = _nullishCoalesce(input.runtime, () => ( _chunkWDOWAOYBjs.detectAgentRuntime.call(void 0, )));
89
+ const runtime = _nullishCoalesce(input.runtime, () => ( _chunkRTR2KUU6js.detectAgentRuntime.call(void 0, )));
90
90
  const knownAgent = RUNTIME_TO_SKILLS_AGENT[runtime];
91
91
  if (knownAgent) return [knownAgent];
92
92
  const roots = [
@@ -101,11 +101,11 @@ function detectSkillsAgents(input) {
101
101
  return detected.length > 0 ? detected : ["*"];
102
102
  }
103
103
  function skillsStatePathForScope(baseUrl, scope, root) {
104
- return scope === "local" && root ? _path.join.call(void 0, root, ".deepline", "setup", "skills.json") : _path.join.call(void 0, _chunkWDOWAOYBjs.sdkCliStateDirPath.call(void 0, baseUrl), "skills-install.json");
104
+ return scope === "local" && root ? _path.join.call(void 0, root, ".deepline", "setup", "skills.json") : _path.join.call(void 0, _chunkRTR2KUU6js.sdkCliStateDirPath.call(void 0, baseUrl), "skills-install.json");
105
105
  }
106
106
  function buildSkillsPlan(input) {
107
107
  const scopeArgs = input.scope === "global" ? ["--global"] : [];
108
- const legacyNames = [..._chunkC4NPWUZYjs.LEGACY_SKILL_NAMES_TO_REMOVE].sort(
108
+ const legacyNames = [..._chunkVG6WESY7js.LEGACY_SKILL_NAMES_TO_REMOVE].sort(
109
109
  (a, b) => a.localeCompare(b)
110
110
  );
111
111
  return {
@@ -119,7 +119,7 @@ function buildSkillsPlan(input) {
119
119
  args: [
120
120
  "exec",
121
121
  "--yes",
122
- `--package=${_chunkC4NPWUZYjs.SKILLS_NPX_PACKAGE}`,
122
+ `--package=${_chunkVG6WESY7js.SKILLS_NPX_PACKAGE}`,
123
123
  "--",
124
124
  "skills",
125
125
  "remove",
@@ -135,11 +135,11 @@ function buildSkillsPlan(input) {
135
135
  args: [
136
136
  "exec",
137
137
  "--yes",
138
- `--package=${_chunkC4NPWUZYjs.SKILLS_NPX_PACKAGE}`,
138
+ `--package=${_chunkVG6WESY7js.SKILLS_NPX_PACKAGE}`,
139
139
  "--",
140
140
  "skills",
141
141
  "add",
142
- _chunkC4NPWUZYjs.skillsSourceUrl.call(void 0, input.baseUrl),
142
+ _chunkVG6WESY7js.skillsSourceUrl.call(void 0, input.baseUrl),
143
143
  "--agent",
144
144
  ...input.agents,
145
145
  ...scopeArgs,
@@ -176,7 +176,7 @@ function readSkillsInstallState(path) {
176
176
  }
177
177
  function runProcess(command, args, cwd) {
178
178
  return new Promise((resolve, reject) => {
179
- const plan = _chunkC4NPWUZYjs.resolveShellSpawn.call(void 0,
179
+ const plan = _chunkVG6WESY7js.resolveShellSpawn.call(void 0,
180
180
  command,
181
181
  args,
182
182
  process.platform,
@@ -198,7 +198,7 @@ function runProcess(command, args, cwd) {
198
198
  child.kill("SIGTERM");
199
199
  reject(
200
200
  new Error(
201
- `${_chunkC4NPWUZYjs.SKILLS_NPX_PACKAGE} timed out after ${SKILLS_PROCESS_TIMEOUT_MS}ms.`
201
+ `${_chunkVG6WESY7js.SKILLS_NPX_PACKAGE} timed out after ${SKILLS_PROCESS_TIMEOUT_MS}ms.`
202
202
  )
203
203
  );
204
204
  }, SKILLS_PROCESS_TIMEOUT_MS);
@@ -209,7 +209,7 @@ function runProcess(command, args, cwd) {
209
209
  child.once("close", (code) => {
210
210
  clearTimeout(timeout);
211
211
  if (code && stderr.trim()) {
212
- process.stderr.write(`${_chunkC4NPWUZYjs.SKILLS_NPX_PACKAGE} exited ${code}.
212
+ process.stderr.write(`${_chunkVG6WESY7js.SKILLS_NPX_PACKAGE} exited ${code}.
213
213
  `);
214
214
  }
215
215
  resolve(_nullishCoalesce(code, () => ( 1)));
@@ -223,7 +223,7 @@ async function runSkillsCommand(options, dependencies = {}) {
223
223
  scope = normalizeScope(options.scope);
224
224
  root = scope === "local" ? resolveLocalRoot() : null;
225
225
  } catch (error) {
226
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0,
226
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0,
227
227
  {
228
228
  ok: false,
229
229
  status: "failed",
@@ -235,22 +235,22 @@ async function runSkillsCommand(options, dependencies = {}) {
235
235
  );
236
236
  return 2;
237
237
  }
238
- const baseUrl = _chunkWDOWAOYBjs.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, "");
238
+ const baseUrl = _chunkRTR2KUU6js.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, "");
239
239
  const catalog = {
240
- skillNames: [..._chunkC4NPWUZYjs.DEFAULT_SDK_SKILL_NAMES],
241
- version: _chunkWDOWAOYBjs.SDK_VERSION
240
+ skillNames: [..._chunkVG6WESY7js.DEFAULT_SDK_SKILL_NAMES],
241
+ version: _chunkRTR2KUU6js.SDK_VERSION
242
242
  };
243
243
  const agents = options.agent ? [options.agent] : detectSkillsAgents({ scope, root });
244
244
  const plan = buildSkillsPlan({ baseUrl, scope, root, agents, ...catalog });
245
245
  if (options.dryRun) {
246
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0,
246
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0,
247
247
  { ok: true, status: "planned", dryRun: true, ...plan },
248
248
  { json: options.json }
249
249
  );
250
250
  return 0;
251
251
  }
252
- if (isSkillsPlanCurrent(plan, readSkillsInstallState(plan.statePath)) && !_chunkC4NPWUZYjs.hasFailedAutomaticSkillsSync.call(void 0, baseUrl, agents)) {
253
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0,
252
+ if (isSkillsPlanCurrent(plan, readSkillsInstallState(plan.statePath)) && !_chunkVG6WESY7js.hasFailedAutomaticSkillsSync.call(void 0, baseUrl, agents)) {
253
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0,
254
254
  {
255
255
  ok: true,
256
256
  status: "current",
@@ -282,10 +282,10 @@ async function runSkillsCommand(options, dependencies = {}) {
282
282
  }
283
283
  if (scope === "local" && root) {
284
284
  const managedNames = [
285
- .../* @__PURE__ */ new Set([...plan.skillNames, ..._chunkC4NPWUZYjs.LEGACY_SKILL_NAMES_TO_REMOVE])
285
+ .../* @__PURE__ */ new Set([...plan.skillNames, ..._chunkVG6WESY7js.LEGACY_SKILL_NAMES_TO_REMOVE])
286
286
  ];
287
287
  const agentRoots = workspaceSkillRootsForAgents(plan.agents);
288
- _chunkWDOWAOYBjs.ensureProjectPrivatePathsIgnored.call(void 0, root, [
288
+ _chunkRTR2KUU6js.ensureProjectPrivatePathsIgnored.call(void 0, root, [
289
289
  ".deepline/",
290
290
  ...agentRoots.flatMap(
291
291
  (agentRoot) => managedNames.map((name) => `${agentRoot}/skills/${name}/`)
@@ -294,7 +294,7 @@ async function runSkillsCommand(options, dependencies = {}) {
294
294
  }
295
295
  let lease;
296
296
  try {
297
- lease = scope === "global" ? await _chunkC4NPWUZYjs.acquireSkillsInstallLease.call(void 0, baseUrl, agents, plan.version, {
297
+ lease = scope === "global" ? await _chunkVG6WESY7js.acquireSkillsInstallLease.call(void 0, baseUrl, agents, plan.version, {
298
298
  waitMs: _nullishCoalesce(dependencies.installLeaseWaitMs, () => ( SKILLS_INSTALL_LEASE_WAIT_MS)),
299
299
  onWait: () => process.stderr.write(
300
300
  "Waiting for a background Deepline skills refresh to finish...\n"
@@ -302,8 +302,8 @@ async function runSkillsCommand(options, dependencies = {}) {
302
302
  }) : { release: () => {
303
303
  } };
304
304
  } catch (error) {
305
- if (!(error instanceof _chunkC4NPWUZYjs.SkillsStateUnavailableError)) throw error;
306
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0,
305
+ if (!(error instanceof _chunkVG6WESY7js.SkillsStateUnavailableError)) throw error;
306
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0,
307
307
  {
308
308
  ok: false,
309
309
  status: "failed",
@@ -319,7 +319,7 @@ async function runSkillsCommand(options, dependencies = {}) {
319
319
  return 5;
320
320
  }
321
321
  if (!lease) {
322
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0,
322
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0,
323
323
  {
324
324
  ok: false,
325
325
  status: "failed",
@@ -328,7 +328,7 @@ async function runSkillsCommand(options, dependencies = {}) {
328
328
  scope,
329
329
  agents,
330
330
  message: "A background Deepline skills refresh is still running for these agents.",
331
- next: `Retry in a moment: deepline skills --scope ${scope}. If no refresh is running, remove ${_chunkC4NPWUZYjs.skillsInstallLeasePath.call(void 0, baseUrl, agents)}`
331
+ next: `Retry in a moment: deepline skills --scope ${scope}. If no refresh is running, remove ${_chunkVG6WESY7js.skillsInstallLeasePath.call(void 0, baseUrl, agents)}`
332
332
  },
333
333
  { json: options.json }
334
334
  );
@@ -365,7 +365,7 @@ async function runSkillsInstallWithLease(input) {
365
365
  throw new Error("Could not install the current Deepline skills.");
366
366
  }
367
367
  } catch (error) {
368
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0,
368
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0,
369
369
  {
370
370
  ok: false,
371
371
  status: "failed",
@@ -404,7 +404,7 @@ async function runSkillsInstallWithLease(input) {
404
404
  {
405
405
  schemaVersion: 1,
406
406
  installedAt: (/* @__PURE__ */ new Date()).toISOString(),
407
- cliVersion: _chunkWDOWAOYBjs.SDK_VERSION,
407
+ cliVersion: _chunkRTR2KUU6js.SDK_VERSION,
408
408
  scope,
409
409
  agents,
410
410
  skillsVersion: plan.version,
@@ -417,9 +417,9 @@ async function runSkillsInstallWithLease(input) {
417
417
  "utf8"
418
418
  );
419
419
  if (scope === "global") {
420
- _chunkC4NPWUZYjs.clearFailedAutomaticSkillsSync.call(void 0, baseUrl, agents);
420
+ _chunkVG6WESY7js.clearFailedAutomaticSkillsSync.call(void 0, baseUrl, agents);
421
421
  }
422
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0,
422
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0,
423
423
  {
424
424
  ok: true,
425
425
  status: "complete",
@@ -450,7 +450,7 @@ function registerSkillsCommand(program) {
450
450
  "after",
451
451
  `
452
452
  Notes:
453
- This command reinstalls current Deepline-managed skills using ${_chunkC4NPWUZYjs.SKILLS_NPX_PACKAGE},
453
+ This command reinstalls current Deepline-managed skills using ${_chunkVG6WESY7js.SKILLS_NPX_PACKAGE},
454
454
  then removes legacy Deepline skill names. Local scope writes into the resolved
455
455
  persistent project.
456
456
 
@@ -462,13 +462,13 @@ Examples:
462
462
  ).action(async (options) => {
463
463
  process.exitCode = await runSkillsCommand(options);
464
464
  });
465
- program.command(_chunkC4NPWUZYjs.SKILLS_AUTO_SYNC_COMMAND, { hidden: true }).description("Refresh Deepline agent skills in the background.").option(
465
+ program.command(_chunkVG6WESY7js.SKILLS_AUTO_SYNC_COMMAND, { hidden: true }).description("Refresh Deepline agent skills in the background.").option(
466
466
  "--claim <token>",
467
467
  "Owner token of the leases this child was started for."
468
468
  ).action(async (options) => {
469
469
  const claim = _optionalChain([options, 'access', _ => _.claim, 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]);
470
470
  if (!claim) {
471
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0,
471
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0,
472
472
  {
473
473
  ok: false,
474
474
  status: "failed",
@@ -481,7 +481,7 @@ Examples:
481
481
  process.exitCode = 2;
482
482
  return;
483
483
  }
484
- await _chunkC4NPWUZYjs.syncSdkSkillsIfNeeded.call(void 0, _chunkWDOWAOYBjs.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, ""), {
484
+ await _chunkVG6WESY7js.syncSdkSkillsIfNeeded.call(void 0, _chunkRTR2KUU6js.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, ""), {
485
485
  mode: "inline",
486
486
  notices: "defer",
487
487
  claim
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-HBL4PM5Q.mjs";
18
18
  import {
19
19
  SDK_RELEASE
20
- } from "./chunk-ZPV7DMAA.mjs";
20
+ } from "./chunk-IXVABCNA.mjs";
21
21
 
22
22
  // src/config.ts
23
23
  import {
@@ -1534,7 +1534,7 @@ function isProviderOriginatedHttpError(parsed) {
1534
1534
  function isMonitorRateLimitEnvelope(parsed) {
1535
1535
  const response = asRecord(parsed);
1536
1536
  const error = asRecord(response?.error);
1537
- return error?.code === "monitor_upstream_rate_limited" && typeof error.message === "string";
1537
+ return (error?.code === "monitor_upstream_rate_limited" || error?.code === "monitor_preview_rate_limited") && typeof error.message === "string";
1538
1538
  }
1539
1539
  function asRecord(value) {
1540
1540
  return typeof value === "object" && value !== null ? value : null;
@@ -2,10 +2,10 @@ import {
2
2
  getAuthedHttpClient,
3
3
  openInBrowser,
4
4
  printCommandEnvelope
5
- } from "./chunk-XLOXUW5Y.mjs";
5
+ } from "./chunk-FS2RMEJ7.mjs";
6
6
  import {
7
7
  resolveBaseUrlOnly
8
- } from "./chunk-PJYTV24I.mjs";
8
+ } from "./chunk-X2LUT22I.mjs";
9
9
 
10
10
  // src/cli/commands/git.ts
11
11
  function shellQuote(value) {
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  traceCliSpan
3
- } from "./chunk-4C7HPD57.mjs";
3
+ } from "./chunk-SQUJHT7O.mjs";
4
4
  import {
5
5
  checkSdkCompatibility,
6
6
  enforceSdkCompatibilityResponse,
7
7
  flushDeferredSkillsSyncNotices
8
- } from "./chunk-33EM4SMH.mjs";
8
+ } from "./chunk-IWFI6FTJ.mjs";
9
9
 
10
10
  // src/cli/play-run-admission.ts
11
11
  function usesInlinePlayAdmission(command, args) {
@@ -28,7 +28,7 @@ import {
28
28
  RUNTIME_ENVIRONMENT_TOKEN_HEADER,
29
29
  SDK_API_MAJOR,
30
30
  resolveConfig
31
- } from "./chunk-PJYTV24I.mjs";
31
+ } from "./chunk-X2LUT22I.mjs";
32
32
  import {
33
33
  CustomerDbQueryOutcomeUnknownError
34
34
  } from "./chunk-4QF2K7TM.mjs";
@@ -3477,6 +3477,7 @@ var DeeplineClient = class _DeeplineClient {
3477
3477
  status: () => this.getMonitorsAccess(),
3478
3478
  available: (toolIdOrOptions, options2) => this.getMonitorsAvailable(toolIdOrOptions, options2),
3479
3479
  check: (definition) => this.checkMonitor(definition),
3480
+ preview: (definition, options2) => this.previewMonitor(definition, options2),
3480
3481
  deploy: (definition, options2) => this.deployMonitor(definition, options2),
3481
3482
  sync: (definition, options2) => options2?.dryRun ? this.deployMonitor(definition, { dryRun: true }) : this.syncScalarMonitor(definition, options2),
3482
3483
  list: (options2) => this.listMonitors(options2),
@@ -6272,6 +6273,39 @@ var DeeplineClient = class _DeeplineClient {
6272
6273
  body: definition
6273
6274
  });
6274
6275
  }
6276
+ /**
6277
+ * Run one paid preview. Prefer `client.monitors.preview(...)`.
6278
+ *
6279
+ * The key is fixed before the request is sent and returned on the result
6280
+ * and on any error (`error.idempotencyKey`), so a caller that loses the
6281
+ * response can repeat the call with it and get the original result without
6282
+ * a second charge. The submission is never replayed automatically.
6283
+ */
6284
+ async previewMonitor(definition, options) {
6285
+ const idempotencyKey = options?.idempotencyKey ?? `monitor-preview-${globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`;
6286
+ try {
6287
+ const result = await this.http.request(
6288
+ "/api/v2/monitors/preview",
6289
+ {
6290
+ method: "POST",
6291
+ body: {
6292
+ ...definition,
6293
+ ...options?.limit === void 0 ? {} : { limit: options.limit }
6294
+ },
6295
+ headers: { "Idempotency-Key": idempotencyKey },
6296
+ maxRetries: 0,
6297
+ exactUrlOnly: true,
6298
+ preserveRateLimitResponse: true
6299
+ }
6300
+ );
6301
+ return { ...result, idempotency_key: idempotencyKey };
6302
+ } catch (error) {
6303
+ if (error && typeof error === "object") {
6304
+ Object.assign(error, { idempotencyKey });
6305
+ }
6306
+ throw error;
6307
+ }
6308
+ }
6275
6309
  /**
6276
6310
  * Deploy a monitor from a definition. `dryRun` validates via the check
6277
6311
  * endpoint and returns the plan without deploying. Prefer
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk6TFACCXNjs = require('./chunk-6TFACCXN.js');
3
+ var _chunkKFKM5J2Njs = require('./chunk-KFKM5J2N.js');
4
4
 
5
5
 
6
6
 
7
7
 
8
- var _chunkC4NPWUZYjs = require('./chunk-C4NPWUZY.js');
8
+ var _chunkVG6WESY7js = require('./chunk-VG6WESY7.js');
9
9
 
10
10
  // src/cli/play-run-admission.ts
11
11
  function usesInlinePlayAdmission(command, args) {
@@ -14,17 +14,17 @@ function usesInlinePlayAdmission(command, args) {
14
14
  );
15
15
  }
16
16
  async function checkPlayRunCompatibility(baseUrl, maintenancePolicy = "configured") {
17
- if (maintenancePolicy !== "off") _chunkC4NPWUZYjs.flushDeferredSkillsSyncNotices.call(void 0, baseUrl);
18
- const compatibility = await _chunk6TFACCXNjs.traceCliSpan.call(void 0,
17
+ if (maintenancePolicy !== "off") _chunkVG6WESY7js.flushDeferredSkillsSyncNotices.call(void 0, baseUrl);
18
+ const compatibility = await _chunkKFKM5J2Njs.traceCliSpan.call(void 0,
19
19
  "cli.sdk_compatibility",
20
20
  { baseUrl, command: "plays run" },
21
- () => _chunkC4NPWUZYjs.checkSdkCompatibility.call(void 0, baseUrl, {
21
+ () => _chunkVG6WESY7js.checkSdkCompatibility.call(void 0, baseUrl, {
22
22
  command: "plays run",
23
23
  persistCache: maintenancePolicy !== "off"
24
24
  })
25
25
  );
26
26
  if (compatibility.error) throw compatibility.error;
27
- _chunkC4NPWUZYjs.enforceSdkCompatibilityResponse.call(void 0, compatibility.response, {
27
+ _chunkVG6WESY7js.enforceSdkCompatibilityResponse.call(void 0, compatibility.response, {
28
28
  quietAdvisory: true
29
29
  });
30
30
  }
@@ -3,15 +3,15 @@ import {
3
3
  } from "./chunk-LJ5747UC.mjs";
4
4
  import {
5
5
  DeeplineClient
6
- } from "./chunk-LPPAJJJN.mjs";
6
+ } from "./chunk-XV4463XW.mjs";
7
7
  import {
8
8
  printCommandEnvelope,
9
9
  renderCommandEnvelopeText
10
- } from "./chunk-XLOXUW5Y.mjs";
10
+ } from "./chunk-FS2RMEJ7.mjs";
11
11
  import {
12
12
  resolveConfig,
13
13
  sdkCliStateDirPath
14
- } from "./chunk-PJYTV24I.mjs";
14
+ } from "./chunk-X2LUT22I.mjs";
15
15
  import {
16
16
  __commonJS,
17
17
  __toESM
@@ -4,12 +4,12 @@ import {
4
4
  printCommandEnvelope,
5
5
  printJson,
6
6
  readCsvRows
7
- } from "./chunk-XLOXUW5Y.mjs";
8
- import "./chunk-PJYTV24I.mjs";
7
+ } from "./chunk-FS2RMEJ7.mjs";
8
+ import "./chunk-X2LUT22I.mjs";
9
9
  import "./chunk-4QF2K7TM.mjs";
10
10
  import "./chunk-DLIRSHV6.mjs";
11
11
  import "./chunk-HBL4PM5Q.mjs";
12
- import "./chunk-ZPV7DMAA.mjs";
12
+ import "./chunk-IXVABCNA.mjs";
13
13
  import "./chunk-WZYKRD7T.mjs";
14
14
  import "./chunk-KRD6H754.mjs";
15
15
 
@@ -4,12 +4,12 @@
4
4
 
5
5
 
6
6
 
7
- var _chunk6G6KX7I7js = require('./chunk-6G6KX7I7.js');
8
- require('./chunk-WDOWAOYB.js');
7
+ var _chunkWTTHH2K3js = require('./chunk-WTTHH2K3.js');
8
+ require('./chunk-RTR2KUU6.js');
9
9
  require('./chunk-ALJJRZNJ.js');
10
10
  require('./chunk-XNYIZMNQ.js');
11
11
  require('./chunk-DIAWYWT5.js');
12
- require('./chunk-L2IUGWV5.js');
12
+ require('./chunk-RG644LJU.js');
13
13
  require('./chunk-OG64RBAC.js');
14
14
  require('./chunk-COGTRVWW.js');
15
15
 
@@ -127,7 +127,7 @@ function renderTable(rows, totalRows, verbose, footer = `showing ${rows.length}
127
127
  column.length,
128
128
  ...rows.map((row) => {
129
129
  const value = _nullishCoalesce(row[column], () => ( ""));
130
- return (verbose ? value : _chunk6G6KX7I7js.clip.call(void 0, value, 42)).length;
130
+ return (verbose ? value : _chunkWTTHH2K3js.clip.call(void 0, value, 42)).length;
131
131
  })
132
132
  )
133
133
  ])
@@ -137,7 +137,7 @@ function renderTable(rows, totalRows, verbose, footer = `showing ${rows.length}
137
137
  const body = rows.map(
138
138
  (row) => columns.map((column) => {
139
139
  const raw = _nullishCoalesce(row[column], () => ( ""));
140
- const display = verbose ? raw : _chunk6G6KX7I7js.clip.call(void 0, raw, 42);
140
+ const display = verbose ? raw : _chunkWTTHH2K3js.clip.call(void 0, raw, 42);
141
141
  return display.padEnd(widths[column]);
142
142
  }).join(" | ")
143
143
  );
@@ -157,7 +157,7 @@ async function handleCsvShow(path, options, command) {
157
157
  { exitCode: 2 }
158
158
  );
159
159
  }
160
- const allRows = _chunk6G6KX7I7js.readCsvRows.call(void 0, csvPath);
160
+ const allRows = _chunkWTTHH2K3js.readCsvRows.call(void 0, csvPath);
161
161
  const [rowStart, rowEnd] = parseRowRange(options.rows);
162
162
  const rows = options.summary && options.rows === void 0 ? allRows : selectRows(allRows, rowStart, rowEnd);
163
163
  const { rows: selected, columns } = selectColumns(
@@ -170,7 +170,7 @@ async function handleCsvShow(path, options, command) {
170
170
  if (options.summary) {
171
171
  const summaries = summarizeColumns(selected, columns);
172
172
  if (format === "json") {
173
- _chunk6G6KX7I7js.printJson.call(void 0, {
173
+ _chunkWTTHH2K3js.printJson.call(void 0, {
174
174
  rows: summaries,
175
175
  total_rows: selected.length,
176
176
  source_total_rows: allRows.length
@@ -179,7 +179,7 @@ async function handleCsvShow(path, options, command) {
179
179
  }
180
180
  const displayRows = summaryDisplayRows(summaries);
181
181
  if (format === "csv") {
182
- process.stdout.write(_chunk6G6KX7I7js.csvStringFromRows.call(void 0, displayRows));
182
+ process.stdout.write(_chunkWTTHH2K3js.csvStringFromRows.call(void 0, displayRows));
183
183
  return;
184
184
  }
185
185
  process.stdout.write(
@@ -194,7 +194,7 @@ async function handleCsvShow(path, options, command) {
194
194
  return;
195
195
  }
196
196
  if (format === "json") {
197
- _chunk6G6KX7I7js.printJson.call(void 0, {
197
+ _chunkWTTHH2K3js.printJson.call(void 0, {
198
198
  rows: selected.map((row, index) => ({ __row: rowStart + index, ...row }))
199
199
  });
200
200
  return;
@@ -437,7 +437,7 @@ async function handleCsvRenderStart(options) {
437
437
  if (log) {
438
438
  detail = `
439
439
  CSV render log:
440
- ${_chunk6G6KX7I7js.clip.call(void 0, log, 2e3)}`;
440
+ ${_chunkWTTHH2K3js.clip.call(void 0, log, 2e3)}`;
441
441
  }
442
442
  } catch (e7) {
443
443
  }
@@ -488,7 +488,7 @@ async function handleCsvRenderStatus(options) {
488
488
  if (payload.pid) lines.push(`Render PID: ${payload.pid}`);
489
489
  if (payload.url) lines.push(`Render URL: ${payload.url}`);
490
490
  lines.push(`Render Health: ${payload.health_status}`);
491
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0, payload, {
491
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0, payload, {
492
492
  json: options.json,
493
493
  text: `${lines.join("\n")}
494
494
  `
@@ -524,7 +524,7 @@ async function handleCsvRenderStop(options) {
524
524
  };
525
525
  const text = stopped.length > 0 ? `Stopped CSV render process(es): ${stopped.join(" ")}
526
526
  ` : "No running CSV render process found.\n";
527
- _chunk6G6KX7I7js.printCommandEnvelope.call(void 0, payload, { json: options.json, text });
527
+ _chunkWTTHH2K3js.printCommandEnvelope.call(void 0, payload, { json: options.json, text });
528
528
  }
529
529
  async function handleCsvRender(action, options) {
530
530
  const normalized = _nullishCoalesce(action, () => ( "start"));
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  DeeplineClient,
6
6
  planCustomerDbQuery
7
- } from "./chunk-LPPAJJJN.mjs";
7
+ } from "./chunk-XV4463XW.mjs";
8
8
  import "./chunk-L2VKAASU.mjs";
9
9
  import "./chunk-FAG4DFUC.mjs";
10
10
  import "./chunk-EIMG75BT.mjs";
@@ -18,8 +18,8 @@ import {
18
18
  printCommandEnvelope,
19
19
  recordRows,
20
20
  shouldEmitJson
21
- } from "./chunk-XLOXUW5Y.mjs";
22
- import "./chunk-PJYTV24I.mjs";
21
+ } from "./chunk-FS2RMEJ7.mjs";
22
+ import "./chunk-X2LUT22I.mjs";
23
23
  import {
24
24
  CustomerDbQueryOutcomeUnknownError
25
25
  } from "./chunk-4QF2K7TM.mjs";
@@ -27,7 +27,7 @@ import "./chunk-DLIRSHV6.mjs";
27
27
  import {
28
28
  DeeplineError
29
29
  } from "./chunk-HBL4PM5Q.mjs";
30
- import "./chunk-ZPV7DMAA.mjs";
30
+ import "./chunk-IXVABCNA.mjs";
31
31
  import "./chunk-WZYKRD7T.mjs";
32
32
  import "./chunk-KRD6H754.mjs";
33
33