deepline 0.3.475 → 0.3.477

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 (162) hide show
  1. package/dist/bundling-sources/sdk/src/play.ts +2 -2
  2. package/dist/bundling-sources/sdk/src/release.ts +3 -3
  3. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-upstream-identity.ts +19 -6
  4. package/dist/bundling-sources/shared_libs/observability/scheduled-jobs.json +4 -4
  5. package/dist/bundling-sources/shared_libs/play-runtime/app-runtime-api.ts +33 -0
  6. package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-rate-state-backend.ts +90 -1
  7. package/dist/bundling-sources/shared_libs/play-runtime/governor/governor.ts +1 -0
  8. package/dist/bundling-sources/shared_libs/play-runtime/governor/rate-state-backend.ts +3 -0
  9. package/dist/bundling-sources/shared_libs/play-runtime/play-run-recovery-policy.ts +21 -4
  10. package/dist/bundling-sources/shared_libs/play-runtime/protocol.ts +6 -0
  11. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +13 -0
  12. package/dist/bundling-sources/shared_libs/play-runtime/runtime-capacity-policy.ts +12 -0
  13. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-compute-usage.ts +6 -0
  14. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-scope.ts +8 -6
  15. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-state.ts +167 -7
  16. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +104 -6
  17. package/dist/bundling-sources/shared_libs/play-runtime/worker-api-types.ts +42 -0
  18. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +1 -1
  19. package/dist/cli/auth-QITP34OX.js +41 -0
  20. package/dist/cli/{auth-CFDYJ7FZ.mjs → auth-XVXRRWIQ.mjs} +5 -5
  21. package/dist/cli/{billing-XLIL3FLK.js → billing-2H7GFJDT.js} +79 -79
  22. package/dist/cli/{billing-PEXWWLRT.mjs → billing-EOPUJ4JI.mjs} +6 -6
  23. package/dist/cli/{chunk-TLPW2SHS.js → chunk-23EEVP5W.js} +6 -6
  24. package/dist/cli/{chunk-ZQYBKDPA.js → chunk-255O6APS.js} +2 -2
  25. package/dist/cli/{chunk-D6SXN34W.mjs → chunk-2GZFIWSA.mjs} +4 -4
  26. package/dist/cli/{chunk-M7K5BCWP.js → chunk-2QT6KN54.js} +10 -10
  27. package/dist/cli/{chunk-MUDOASYL.mjs → chunk-2YNLW43I.mjs} +2 -2
  28. package/dist/cli/{chunk-BSK2TGB4.js → chunk-347EE4YE.js} +8 -8
  29. package/dist/cli/{chunk-V4ILQ2DS.mjs → chunk-3A7TDUZV.mjs} +1 -1
  30. package/dist/cli/{chunk-G4SGYWKV.js → chunk-3UKKM6OS.js} +6 -6
  31. package/dist/cli/{chunk-NBVYS6VG.js → chunk-3W6E3WVU.js} +9 -9
  32. package/dist/cli/{chunk-F4FNMXI3.js → chunk-4RAENEAX.js} +53 -53
  33. package/dist/cli/{chunk-42F6LTBJ.mjs → chunk-6IJJCRE5.mjs} +3 -3
  34. package/dist/cli/{chunk-CKSRTD45.js → chunk-6KKDIISC.js} +3 -3
  35. package/dist/cli/{chunk-7SWRXZ4A.js → chunk-75NLWBYQ.js} +93 -93
  36. package/dist/cli/{chunk-KTWXY73Q.js → chunk-7CILZKLE.js} +5 -5
  37. package/dist/cli/{chunk-B7NJ5JQ2.js → chunk-ACDXGOXE.js} +4 -4
  38. package/dist/cli/{chunk-FC4C7MZM.mjs → chunk-C2AN2HTB.mjs} +4 -4
  39. package/dist/cli/{chunk-EA45HSEC.mjs → chunk-C2V2HQDW.mjs} +2 -2
  40. package/dist/cli/{chunk-YMS7VYFA.mjs → chunk-C46DWB56.mjs} +1 -1
  41. package/dist/cli/{chunk-3MQJJ6YX.js → chunk-CH4VMDB5.js} +51 -51
  42. package/dist/cli/{chunk-7U3L2S7X.mjs → chunk-DFKHXZQ7.mjs} +10 -10
  43. package/dist/cli/{chunk-VBGPRRJ6.js → chunk-DMWHEYZM.js} +2 -2
  44. package/dist/cli/{chunk-3WVA7E7O.mjs → chunk-DS3DZUES.mjs} +2 -2
  45. package/dist/cli/{chunk-Z5VSBCFV.js → chunk-E2CUSH56.js} +16 -16
  46. package/dist/cli/{chunk-AD7KL6AI.mjs → chunk-ISEUOYCB.mjs} +97 -12
  47. package/dist/cli/{chunk-VFP3MFLD.mjs → chunk-JS4UO6G4.mjs} +1 -1
  48. package/dist/cli/{chunk-HMHH7JQD.mjs → chunk-KMXBZIKO.mjs} +2 -2
  49. package/dist/cli/{chunk-M4QO3GRD.js → chunk-KWQNNPMH.js} +3 -3
  50. package/dist/cli/{chunk-3QSFSHCJ.mjs → chunk-LJYTYNQZ.mjs} +1 -1
  51. package/dist/cli/{chunk-TZRTT7EI.js → chunk-LXKGZKTL.js} +26 -26
  52. package/dist/cli/{chunk-U3F63UWD.js → chunk-M2UL4ZS5.js} +7 -7
  53. package/dist/cli/{chunk-DKR7QPEO.js → chunk-MZSLFWOT.js} +1 -1
  54. package/dist/cli/{chunk-BLW2K6YH.js → chunk-NC52JG66.js} +3 -3
  55. package/dist/cli/{chunk-HALAYT3Y.mjs → chunk-NJMYX2TP.mjs} +3 -3
  56. package/dist/cli/{chunk-NHQP4UPJ.mjs → chunk-NO7ZC2GV.mjs} +5 -5
  57. package/dist/cli/{chunk-YAAQNDP6.mjs → chunk-PQQNMMWM.mjs} +3 -3
  58. package/dist/cli/{chunk-BVAYLXMH.mjs → chunk-QODW5ILA.mjs} +2 -2
  59. package/dist/cli/{chunk-QKMWQTMI.js → chunk-R5FNCFEK.js} +3 -3
  60. package/dist/cli/{chunk-7XTBEYLS.js → chunk-RGNMMDSJ.js} +131 -46
  61. package/dist/cli/{chunk-6PRYHABU.mjs → chunk-RHIFH3GD.mjs} +1 -1
  62. package/dist/cli/{chunk-4QHAP3MR.mjs → chunk-RLCAECZH.mjs} +5 -5
  63. package/dist/cli/{chunk-DIMKSDF6.mjs → chunk-SG2SZQ4K.mjs} +2 -2
  64. package/dist/cli/{chunk-VTCXSICG.mjs → chunk-SVU2VR6Q.mjs} +2 -2
  65. package/dist/cli/{chunk-D3Q4FUFS.js → chunk-THMGJOR4.js} +8 -8
  66. package/dist/cli/{chunk-4QHQ3WYW.js → chunk-UBNS6GSV.js} +21 -21
  67. package/dist/cli/{chunk-DUGZKPRK.mjs → chunk-UYA7LJGC.mjs} +2 -2
  68. package/dist/cli/{chunk-5QS4T4KR.js → chunk-WFVEMDQL.js} +2 -2
  69. package/dist/cli/{chunk-M27SSAQ7.mjs → chunk-WRHLAAGN.mjs} +1 -1
  70. package/dist/cli/{chunk-VD3E3QMI.mjs → chunk-XQLYPHYW.mjs} +1 -1
  71. package/dist/cli/{chunk-NGOKBSBH.mjs → chunk-YZA5UJXM.mjs} +1 -1
  72. package/dist/cli/{chunk-ZANUM4XV.js → chunk-ZDPL5AIK.js} +5 -5
  73. package/dist/cli/command-docs.js +2 -2
  74. package/dist/cli/command-docs.mjs +1 -1
  75. package/dist/cli/{csv-4YHSYV2C.js → csv-ECB7TYR2.js} +13 -13
  76. package/dist/cli/{csv-WC7ILC7P.mjs → csv-IDRPTSSC.mjs} +4 -4
  77. package/dist/cli/{db-I5PV6NTC.mjs → db-FOBZD44N.mjs} +6 -6
  78. package/dist/cli/{db-APZNM2GI.js → db-S74XZZ77.js} +27 -27
  79. package/dist/cli/{describe-XH5F3X5W.mjs → describe-KMTPPI2J.mjs} +17 -17
  80. package/dist/cli/describe-PI7HCT7K.js +48 -0
  81. package/dist/cli/describe-core.d.mts +3 -3
  82. package/dist/cli/describe-core.d.ts +3 -3
  83. package/dist/cli/{executions-PIY4XM7T.mjs → executions-4JAIVE2E.mjs} +6 -6
  84. package/dist/cli/{executions-VIXFKZYU.js → executions-ZE3JMNA4.js} +8 -8
  85. package/dist/cli/{feedback-IGDHBWGT.mjs → feedback-EUX5PDBA.mjs} +4 -4
  86. package/dist/cli/{feedback-WCLIFQTR.js → feedback-W6VA47A3.js} +8 -8
  87. package/dist/cli/git-NDOGCQZY.js +25 -0
  88. package/dist/cli/{git-FRICPPTA.mjs → git-UOVG4PLH.mjs} +5 -5
  89. package/dist/cli/index.js +139 -139
  90. package/dist/cli/index.mjs +41 -41
  91. package/dist/cli/{legacy-noops-DSFOPYDY.js → legacy-noops-3H35EH5Y.js} +8 -8
  92. package/dist/cli/{legacy-noops-ROAXEG6D.mjs → legacy-noops-ZBWUNFWV.mjs} +5 -5
  93. package/dist/cli/{monitors-FZ5PRLW6.mjs → monitors-AYSGSUAK.mjs} +7 -7
  94. package/dist/cli/{monitors-KUCYQLU5.js → monitors-PI3KPLR2.js} +91 -91
  95. package/dist/cli/{org-DRNND5XU.mjs → org-2BIG7U4V.mjs} +6 -6
  96. package/dist/cli/{org-SRHMWKQR.js → org-MVS3Y6BK.js} +72 -72
  97. package/dist/cli/{pages-XNGA356T.mjs → pages-4TRRL24G.mjs} +6 -6
  98. package/dist/cli/{pages-TEJQIHTU.js → pages-VB6FOVDE.js} +17 -17
  99. package/dist/cli/{play-GCGFQSFP.js → play-BLT6IT2O.js} +340 -323
  100. package/dist/cli/{play-NE45ROIZ.mjs → play-JR3VUOZM.mjs} +37 -20
  101. package/dist/cli/{providers-57TJOSMV.mjs → providers-547DPK4S.mjs} +6 -6
  102. package/dist/cli/{providers-VHMUR63R.js → providers-BBXIAGW4.js} +9 -9
  103. package/dist/cli/{quickstart-K3SH4NXP.mjs → quickstart-NTLXD7HS.mjs} +4 -4
  104. package/dist/cli/{quickstart-BPXWO4UD.js → quickstart-RNPI5B6J.js} +6 -6
  105. package/dist/cli/{run-553AAXDU.js → run-BCCEXBOG.js} +36 -36
  106. package/dist/cli/{run-ZRWJUEN2.mjs → run-QZ4SFECD.mjs} +22 -22
  107. package/dist/cli/{search-BW6XRS4I.mjs → search-PYNELH4C.mjs} +7 -7
  108. package/dist/cli/search-YHEICYQL.js +32 -0
  109. package/dist/cli/{secrets-OYYCFGZE.mjs → secrets-O5WGREQ7.mjs} +6 -6
  110. package/dist/cli/{secrets-AMYQYUL5.js → secrets-VD35LMYJ.js} +15 -15
  111. package/dist/cli/{sessions-O4SVVOMO.mjs → sessions-2TL6Z5J5.mjs} +5 -5
  112. package/dist/cli/{sessions-RYCJUMJ2.js → sessions-NGGIBYXF.js} +6 -6
  113. package/dist/cli/{settings-QK7DHDU7.mjs → settings-6KM74AJT.mjs} +11 -11
  114. package/dist/cli/{settings-7R5FQKII.js → settings-ERFNZRHO.js} +78 -78
  115. package/dist/cli/{setup-OTQDQHDN.js → setup-6X7EJ6RG.js} +44 -44
  116. package/dist/cli/{setup-VDAAVCKK.mjs → setup-Y3BN6XRS.mjs} +9 -9
  117. package/dist/cli/skills-F7MPYC4P.js +33 -0
  118. package/dist/cli/{skills-HRK5O5JO.mjs → skills-OUBQASHI.mjs} +9 -7
  119. package/dist/cli/{tools-O7BM62QV.mjs → tools-EELZ5FF5.mjs} +16 -16
  120. package/dist/cli/tools-MCWDAK53.js +55 -0
  121. package/dist/cli/update-G5BRJOVT.js +33 -0
  122. package/dist/cli/{update-UHKHCSTY.mjs → update-TX7SW32Y.mjs} +9 -9
  123. package/dist/cli/{workflow-7Z5NCTGG.js → workflow-5AI2BJA7.js} +17 -17
  124. package/dist/cli/{workflow-T2EDR7L4.mjs → workflow-PUNQG7LG.mjs} +7 -7
  125. package/dist/{client-Bgl0_zXi.d.mts → client-AjmfA5nR.d.mts} +1 -1
  126. package/dist/{client-_ah6IuhK.d.ts → client-DMyY-QL8.d.ts} +1 -1
  127. package/dist/{client-core-C-ZF5vh9.d.ts → client-core-C705vFyV.d.ts} +1 -1
  128. package/dist/{client-core-Bfsedm0_.d.mts → client-core-CpBbvLEX.d.mts} +1 -1
  129. package/dist/{compiler-manifest-CCOqDGjU.d.mts → compiler-manifest-hqIAukR0.d.mts} +1 -1
  130. package/dist/{compiler-manifest-CCOqDGjU.d.ts → compiler-manifest-hqIAukR0.d.ts} +1 -1
  131. package/dist/{errors-Cy3kPnsi.d.ts → errors-CRO2qQ6k.d.ts} +1 -1
  132. package/dist/{errors-BLccD7tG.d.mts → errors-DIHVetNY.d.mts} +1 -1
  133. package/dist/{index-D5e4h1-H.d.ts → index-B8DVoeYt.d.ts} +1 -1
  134. package/dist/{index-4-j44HuT.d.mts → index-DVZ_X4Gb.d.mts} +1 -1
  135. package/dist/index.d.mts +9 -9
  136. package/dist/index.d.ts +9 -9
  137. package/dist/index.js +9 -9
  138. package/dist/index.mjs +6 -6
  139. package/dist/install-integrity.json +110 -110
  140. package/dist/plays/bundle-play-file.d.mts +3 -3
  141. package/dist/plays/bundle-play-file.d.ts +3 -3
  142. package/dist/plays/bundle-play-file.mjs +1 -1
  143. package/dist/plays/play-description.d.mts +2 -2
  144. package/dist/plays/play-description.d.ts +2 -2
  145. package/dist/plays/run-request.d.mts +2 -2
  146. package/dist/plays/run-request.d.ts +2 -2
  147. package/dist/release.d.mts +3 -3
  148. package/dist/release.d.ts +3 -3
  149. package/dist/release.js +2 -2
  150. package/dist/release.mjs +1 -1
  151. package/dist/server.d.mts +4 -4
  152. package/dist/server.d.ts +4 -4
  153. package/dist/server.js +5 -5
  154. package/dist/server.mjs +3 -3
  155. package/package.json +1 -1
  156. package/dist/cli/auth-7GVCW24N.js +0 -41
  157. package/dist/cli/describe-OR7FZBCD.js +0 -48
  158. package/dist/cli/git-CKN2F32Y.js +0 -25
  159. package/dist/cli/search-WF26AUDJ.js +0 -32
  160. package/dist/cli/skills-VNLMEOXW.js +0 -31
  161. package/dist/cli/tools-C3MUHL7G.js +0 -55
  162. package/dist/cli/update-TCKTU6QJ.js +0 -33
@@ -11,23 +11,29 @@
11
11
 
12
12
 
13
13
 
14
- var _chunkF4FNMXI3js = require('./chunk-F4FNMXI3.js');
14
+ var _chunk4RAENEAXjs = require('./chunk-4RAENEAX.js');
15
15
 
16
16
 
17
- var _chunkU3F63UWDjs = require('./chunk-U3F63UWD.js');
17
+ var _chunkM2UL4ZS5js = require('./chunk-M2UL4ZS5.js');
18
18
 
19
19
 
20
20
 
21
21
 
22
22
 
23
- var _chunkBLW2K6YHjs = require('./chunk-BLW2K6YH.js');
23
+ var _chunkNC52JG66js = require('./chunk-NC52JG66.js');
24
24
 
25
25
 
26
26
 
27
- var _chunkB7NJ5JQ2js = require('./chunk-B7NJ5JQ2.js');
27
+ var _chunkACDXGOXEjs = require('./chunk-ACDXGOXE.js');
28
28
 
29
29
  // src/cli/commands/skills.ts
30
30
  var _child_process = require('child_process');
31
+
32
+
33
+
34
+
35
+
36
+
31
37
  var _fs = require('fs');
32
38
  var _os = require('os');
33
39
  var _path = require('path');
@@ -67,6 +73,55 @@ function workspaceSkillRootsForAgents(agents) {
67
73
  )
68
74
  ].sort((a, b) => a.localeCompare(b));
69
75
  }
76
+ function installedSkillRoots(agent, scope, root) {
77
+ if (scope === "local") {
78
+ const dirs = root ? WORKSPACE_SKILL_ROOTS_BY_AGENT[agent] : void 0;
79
+ return dirs ? dirs.map((dir) => _path.join.call(void 0, root, dir, "skills")) : null;
80
+ }
81
+ const home = _os.homedir.call(void 0, );
82
+ const shared = _path.join.call(void 0, home, ".agents", "skills");
83
+ const claude = _path.join.call(void 0,
84
+ _optionalChain([process, 'access', _ => _.env, 'access', _2 => _2.CLAUDE_CONFIG_DIR, 'optionalAccess', _3 => _3.trim, 'call', _4 => _4()]) || _path.join.call(void 0, home, ".claude"),
85
+ "skills"
86
+ );
87
+ switch (agent) {
88
+ case "claude-code":
89
+ return [claude];
90
+ case "codex":
91
+ case "cursor":
92
+ case "gemini-cli":
93
+ case "antigravity":
94
+ case "cline":
95
+ return [shared];
96
+ case "windsurf":
97
+ return [_path.join.call(void 0, home, ".codeium", "windsurf", "skills")];
98
+ case "*":
99
+ return [shared, claude];
100
+ default:
101
+ return null;
102
+ }
103
+ }
104
+ var INSTALL_MTIME_SLACK_MS = 2e3;
105
+ function writtenSince(path, sinceMs) {
106
+ try {
107
+ return _fs.statSync.call(void 0, path).mtimeMs >= sinceMs - INSTALL_MTIME_SLACK_MS;
108
+ } catch (e) {
109
+ return false;
110
+ }
111
+ }
112
+ function missingInstalledSkills(plan, sinceMs) {
113
+ const missing = /* @__PURE__ */ new Set();
114
+ for (const agent of plan.agents) {
115
+ const dirs = installedSkillRoots(agent, plan.scope, plan.root);
116
+ if (!dirs) continue;
117
+ for (const name of plan.skillNames) {
118
+ if (!dirs.some((dir) => writtenSince(_path.join.call(void 0, dir, name, "SKILL.md"), sinceMs))) {
119
+ missing.add(name);
120
+ }
121
+ }
122
+ }
123
+ return [...missing].sort((a, b) => a.localeCompare(b));
124
+ }
70
125
  function normalizeScope(value) {
71
126
  if (value === "global") return "global";
72
127
  if (value === "local") return "local";
@@ -77,7 +132,7 @@ function inferActiveSkillsScope(entrypoint = _nullishCoalesce(process.argv[1], (
77
132
  return /[\\/]\.deepline[\\/]runtime[\\/]/.test(entrypoint) ? "local" : "global";
78
133
  }
79
134
  function resolveLocalRoot() {
80
- const target = _chunkBLW2K6YHjs.resolveProjectPinTarget.call(void 0, );
135
+ const target = _chunkNC52JG66js.resolveProjectPinTarget.call(void 0, );
81
136
  if (!target.ok) {
82
137
  throw new Error(
83
138
  `Cowork project folder is ambiguous. Candidate folders: ${target.candidates.join(
@@ -88,7 +143,7 @@ function resolveLocalRoot() {
88
143
  return target.dir;
89
144
  }
90
145
  function detectSkillsAgents(input) {
91
- const runtime = _nullishCoalesce(input.runtime, () => ( _chunkB7NJ5JQ2js.detectAgentRuntime.call(void 0, )));
146
+ const runtime = _nullishCoalesce(input.runtime, () => ( _chunkACDXGOXEjs.detectAgentRuntime.call(void 0, )));
92
147
  const knownAgent = RUNTIME_TO_SKILLS_AGENT[runtime];
93
148
  if (knownAgent) return [knownAgent];
94
149
  const roots = [
@@ -103,11 +158,11 @@ function detectSkillsAgents(input) {
103
158
  return detected.length > 0 ? detected : ["*"];
104
159
  }
105
160
  function skillsStatePathForScope(baseUrl, scope, root) {
106
- return scope === "local" && root ? _path.join.call(void 0, root, ".deepline", "setup", "skills.json") : _path.join.call(void 0, _chunkBLW2K6YHjs.sdkCliStateDirPath.call(void 0, baseUrl), "skills-install.json");
161
+ return scope === "local" && root ? _path.join.call(void 0, root, ".deepline", "setup", "skills.json") : _path.join.call(void 0, _chunkNC52JG66js.sdkCliStateDirPath.call(void 0, baseUrl), "skills-install.json");
107
162
  }
108
163
  function buildSkillsPlan(input) {
109
164
  const scopeArgs = input.scope === "global" ? ["--global"] : [];
110
- const legacyNames = [..._chunkF4FNMXI3js.LEGACY_SKILL_NAMES_TO_REMOVE].sort(
165
+ const legacyNames = [..._chunk4RAENEAXjs.LEGACY_SKILL_NAMES_TO_REMOVE].sort(
111
166
  (a, b) => a.localeCompare(b)
112
167
  );
113
168
  return {
@@ -121,7 +176,7 @@ function buildSkillsPlan(input) {
121
176
  args: [
122
177
  "exec",
123
178
  "--yes",
124
- `--package=${_chunkF4FNMXI3js.SKILLS_NPX_PACKAGE}`,
179
+ `--package=${_chunk4RAENEAXjs.SKILLS_NPX_PACKAGE}`,
125
180
  "--",
126
181
  "skills",
127
182
  "remove",
@@ -137,11 +192,11 @@ function buildSkillsPlan(input) {
137
192
  args: [
138
193
  "exec",
139
194
  "--yes",
140
- `--package=${_chunkF4FNMXI3js.SKILLS_NPX_PACKAGE}`,
195
+ `--package=${_chunk4RAENEAXjs.SKILLS_NPX_PACKAGE}`,
141
196
  "--",
142
197
  "skills",
143
198
  "add",
144
- _chunkF4FNMXI3js.skillsSourceUrl.call(void 0, input.baseUrl),
199
+ _chunk4RAENEAXjs.skillsSourceUrl.call(void 0, input.baseUrl),
145
200
  "--agent",
146
201
  ...input.agents,
147
202
  ...scopeArgs,
@@ -172,13 +227,13 @@ function readSkillsInstallState(path) {
172
227
  try {
173
228
  const parsed = JSON.parse(_fs.readFileSync.call(void 0, path, "utf8"));
174
229
  return parsed !== null && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
175
- } catch (e) {
230
+ } catch (e2) {
176
231
  return null;
177
232
  }
178
233
  }
179
234
  function runProcess(command, args, cwd) {
180
235
  return new Promise((resolve, reject) => {
181
- const plan = _chunkF4FNMXI3js.resolveShellSpawn.call(void 0,
236
+ const plan = _chunk4RAENEAXjs.resolveShellSpawn.call(void 0,
182
237
  command,
183
238
  args,
184
239
  process.platform,
@@ -200,7 +255,7 @@ function runProcess(command, args, cwd) {
200
255
  child.kill("SIGTERM");
201
256
  reject(
202
257
  new Error(
203
- `${_chunkF4FNMXI3js.SKILLS_NPX_PACKAGE} timed out after ${SKILLS_PROCESS_TIMEOUT_MS}ms.`
258
+ `${_chunk4RAENEAXjs.SKILLS_NPX_PACKAGE} timed out after ${SKILLS_PROCESS_TIMEOUT_MS}ms.`
204
259
  )
205
260
  );
206
261
  }, SKILLS_PROCESS_TIMEOUT_MS);
@@ -211,7 +266,7 @@ function runProcess(command, args, cwd) {
211
266
  child.once("close", (code) => {
212
267
  clearTimeout(timeout);
213
268
  if (code && stderr.trim()) {
214
- process.stderr.write(`${_chunkF4FNMXI3js.SKILLS_NPX_PACKAGE} exited ${code}.
269
+ process.stderr.write(`${_chunk4RAENEAXjs.SKILLS_NPX_PACKAGE} exited ${code}.
215
270
  `);
216
271
  }
217
272
  resolve(_nullishCoalesce(code, () => ( 1)));
@@ -225,7 +280,7 @@ async function runSkillsCommand(options, dependencies = {}) {
225
280
  scope = normalizeScope(options.scope);
226
281
  root = scope === "local" ? resolveLocalRoot() : null;
227
282
  } catch (error) {
228
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
283
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
229
284
  {
230
285
  ok: false,
231
286
  status: "failed",
@@ -237,22 +292,22 @@ async function runSkillsCommand(options, dependencies = {}) {
237
292
  );
238
293
  return 2;
239
294
  }
240
- const baseUrl = _chunkBLW2K6YHjs.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, "");
295
+ const baseUrl = _chunkNC52JG66js.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, "");
241
296
  const catalog = {
242
- skillNames: [..._chunkF4FNMXI3js.DEFAULT_SDK_SKILL_NAMES],
243
- version: _chunkB7NJ5JQ2js.SDK_VERSION
297
+ skillNames: [..._chunk4RAENEAXjs.DEFAULT_SDK_SKILL_NAMES],
298
+ version: _chunkACDXGOXEjs.SDK_VERSION
244
299
  };
245
300
  const agents = options.agent ? [options.agent] : detectSkillsAgents({ scope, root });
246
301
  const plan = buildSkillsPlan({ baseUrl, scope, root, agents, ...catalog });
247
302
  if (options.dryRun) {
248
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
303
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
249
304
  { ok: true, status: "planned", dryRun: true, ...plan },
250
305
  { json: options.json }
251
306
  );
252
307
  return 0;
253
308
  }
254
- if (isSkillsPlanCurrent(plan, readSkillsInstallState(plan.statePath)) && !_chunkF4FNMXI3js.hasFailedAutomaticSkillsSync.call(void 0, baseUrl, agents)) {
255
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
309
+ if (isSkillsPlanCurrent(plan, readSkillsInstallState(plan.statePath)) && !_chunk4RAENEAXjs.hasFailedAutomaticSkillsSync.call(void 0, baseUrl, agents)) {
310
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
256
311
  {
257
312
  ok: true,
258
313
  status: "current",
@@ -284,10 +339,10 @@ async function runSkillsCommand(options, dependencies = {}) {
284
339
  }
285
340
  if (scope === "local" && root) {
286
341
  const managedNames = [
287
- .../* @__PURE__ */ new Set([...plan.skillNames, ..._chunkF4FNMXI3js.LEGACY_SKILL_NAMES_TO_REMOVE])
342
+ .../* @__PURE__ */ new Set([...plan.skillNames, ..._chunk4RAENEAXjs.LEGACY_SKILL_NAMES_TO_REMOVE])
288
343
  ];
289
344
  const agentRoots = workspaceSkillRootsForAgents(plan.agents);
290
- _chunkBLW2K6YHjs.ensureProjectPrivatePathsIgnored.call(void 0, root, [
345
+ _chunkNC52JG66js.ensureProjectPrivatePathsIgnored.call(void 0, root, [
291
346
  ".deepline/",
292
347
  ...agentRoots.flatMap(
293
348
  (agentRoot) => managedNames.map((name) => `${agentRoot}/skills/${name}/`)
@@ -296,7 +351,7 @@ async function runSkillsCommand(options, dependencies = {}) {
296
351
  }
297
352
  let lease;
298
353
  try {
299
- lease = scope === "global" ? await _chunkF4FNMXI3js.acquireSkillsInstallLease.call(void 0, baseUrl, agents, plan.version, {
354
+ lease = scope === "global" ? await _chunk4RAENEAXjs.acquireSkillsInstallLease.call(void 0, baseUrl, agents, plan.version, {
300
355
  waitMs: _nullishCoalesce(dependencies.installLeaseWaitMs, () => ( SKILLS_INSTALL_LEASE_WAIT_MS)),
301
356
  onWait: () => process.stderr.write(
302
357
  "Waiting for a background Deepline skills refresh to finish...\n"
@@ -304,8 +359,8 @@ async function runSkillsCommand(options, dependencies = {}) {
304
359
  }) : { release: () => {
305
360
  } };
306
361
  } catch (error) {
307
- if (!(error instanceof _chunkF4FNMXI3js.SkillsStateUnavailableError)) throw error;
308
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
362
+ if (!(error instanceof _chunk4RAENEAXjs.SkillsStateUnavailableError)) throw error;
363
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
309
364
  {
310
365
  ok: false,
311
366
  status: "failed",
@@ -321,7 +376,7 @@ async function runSkillsCommand(options, dependencies = {}) {
321
376
  return 5;
322
377
  }
323
378
  if (!lease) {
324
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
379
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
325
380
  {
326
381
  ok: false,
327
382
  status: "failed",
@@ -330,7 +385,7 @@ async function runSkillsCommand(options, dependencies = {}) {
330
385
  scope,
331
386
  agents,
332
387
  message: "A background Deepline skills refresh is still running for these agents.",
333
- next: `Retry in a moment: deepline skills --scope ${scope}. If no refresh is running, remove ${_chunkF4FNMXI3js.skillsInstallLeasePath.call(void 0, baseUrl, agents)}`
388
+ next: `Retry in a moment: deepline skills --scope ${scope}. If no refresh is running, remove ${_chunk4RAENEAXjs.skillsInstallLeasePath.call(void 0, baseUrl, agents)}`
334
389
  },
335
390
  { json: options.json }
336
391
  );
@@ -357,17 +412,29 @@ async function runSkillsInstallWithLease(input) {
357
412
  `
358
413
  );
359
414
  const execute = _nullishCoalesce(dependencies.runProcess, () => ( runProcess));
415
+ let missing = [];
416
+ const installStartedAt = Date.now();
360
417
  try {
361
- const installCode = await execute(
362
- plan.install.command,
363
- plan.install.args,
364
- _nullishCoalesce(root, () => ( void 0))
365
- );
366
- if (installCode !== 0) {
367
- throw new Error("Could not install the current Deepline skills.");
418
+ for (let attempt = 1; attempt <= 2; attempt += 1) {
419
+ const installCode = await execute(
420
+ plan.install.command,
421
+ plan.install.args,
422
+ _nullishCoalesce(root, () => ( void 0))
423
+ );
424
+ if (installCode !== 0) {
425
+ throw new Error("Could not install the current Deepline skills.");
426
+ }
427
+ missing = missingInstalledSkills(plan, installStartedAt);
428
+ if (missing.length === 0) break;
429
+ if (attempt === 1) {
430
+ process.stderr.write(
431
+ `The skills installer left out ${missing.join(", ")}; retrying once...
432
+ `
433
+ );
434
+ }
368
435
  }
369
436
  } catch (error) {
370
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
437
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
371
438
  {
372
439
  ok: false,
373
440
  status: "failed",
@@ -382,6 +449,23 @@ async function runSkillsInstallWithLease(input) {
382
449
  );
383
450
  return 5;
384
451
  }
452
+ if (missing.length > 0) {
453
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
454
+ {
455
+ ok: false,
456
+ status: "failed",
457
+ code: "SKILLS_INSTALL_INCOMPLETE",
458
+ exitCode: 5,
459
+ scope,
460
+ agents,
461
+ missingSkills: missing,
462
+ message: `The skills installer exited successfully but did not install: ${missing.join(", ")}.`,
463
+ next: `deepline skills --scope ${scope}`
464
+ },
465
+ { json: options.json }
466
+ );
467
+ return 5;
468
+ }
385
469
  try {
386
470
  const removeCode = await execute(
387
471
  plan.remove.command,
@@ -406,7 +490,7 @@ async function runSkillsInstallWithLease(input) {
406
490
  {
407
491
  schemaVersion: 1,
408
492
  installedAt: (/* @__PURE__ */ new Date()).toISOString(),
409
- cliVersion: _chunkB7NJ5JQ2js.SDK_VERSION,
493
+ cliVersion: _chunkACDXGOXEjs.SDK_VERSION,
410
494
  scope,
411
495
  agents,
412
496
  skillsVersion: plan.version,
@@ -419,9 +503,9 @@ async function runSkillsInstallWithLease(input) {
419
503
  "utf8"
420
504
  );
421
505
  if (scope === "global") {
422
- _chunkF4FNMXI3js.clearFailedAutomaticSkillsSync.call(void 0, baseUrl, agents);
506
+ _chunk4RAENEAXjs.clearFailedAutomaticSkillsSync.call(void 0, baseUrl, agents);
423
507
  }
424
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
508
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
425
509
  {
426
510
  ok: true,
427
511
  status: "complete",
@@ -452,7 +536,7 @@ function registerSkillsCommand(program) {
452
536
  "after",
453
537
  `
454
538
  Notes:
455
- This command reinstalls current Deepline-managed skills using ${_chunkF4FNMXI3js.SKILLS_NPX_PACKAGE},
539
+ This command reinstalls current Deepline-managed skills using ${_chunk4RAENEAXjs.SKILLS_NPX_PACKAGE},
456
540
  then removes legacy Deepline skill names. Local scope writes into the resolved
457
541
  persistent project.
458
542
 
@@ -464,13 +548,13 @@ Examples:
464
548
  ).action(async (options) => {
465
549
  process.exitCode = await runSkillsCommand(options);
466
550
  });
467
- program.command(_chunkF4FNMXI3js.SKILLS_AUTO_SYNC_COMMAND, { hidden: true }).description("Refresh Deepline agent skills in the background.").option(
551
+ program.command(_chunk4RAENEAXjs.SKILLS_AUTO_SYNC_COMMAND, { hidden: true }).description("Refresh Deepline agent skills in the background.").option(
468
552
  "--claim <token>",
469
553
  "Owner token of the leases this child was started for."
470
554
  ).action(async (options) => {
471
- const claim = _optionalChain([options, 'access', _ => _.claim, 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]);
555
+ const claim = _optionalChain([options, 'access', _5 => _5.claim, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]);
472
556
  if (!claim) {
473
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
557
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0,
474
558
  {
475
559
  ok: false,
476
560
  status: "failed",
@@ -483,7 +567,7 @@ Examples:
483
567
  process.exitCode = 2;
484
568
  return;
485
569
  }
486
- await _chunkF4FNMXI3js.syncSdkSkillsIfNeeded.call(void 0, _chunkBLW2K6YHjs.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, ""), {
570
+ await _chunk4RAENEAXjs.syncSdkSkillsIfNeeded.call(void 0, _chunkNC52JG66js.autoDetectBaseUrl.call(void 0, ).replace(/\/$/, ""), {
487
571
  mode: "inline",
488
572
  notices: "defer",
489
573
  claim
@@ -500,4 +584,5 @@ Examples:
500
584
 
501
585
 
502
586
 
503
- exports.workspaceSkillRootsForAgents = workspaceSkillRootsForAgents; exports.inferActiveSkillsScope = inferActiveSkillsScope; exports.detectSkillsAgents = detectSkillsAgents; exports.skillsStatePathForScope = skillsStatePathForScope; exports.buildSkillsPlan = buildSkillsPlan; exports.isSkillsPlanCurrent = isSkillsPlanCurrent; exports.runSkillsCommand = runSkillsCommand; exports.registerSkillsCommand = registerSkillsCommand;
587
+
588
+ exports.workspaceSkillRootsForAgents = workspaceSkillRootsForAgents; exports.missingInstalledSkills = missingInstalledSkills; exports.inferActiveSkillsScope = inferActiveSkillsScope; exports.detectSkillsAgents = detectSkillsAgents; exports.skillsStatePathForScope = skillsStatePathForScope; exports.buildSkillsPlan = buildSkillsPlan; exports.isSkillsPlanCurrent = isSkillsPlanCurrent; exports.runSkillsCommand = runSkillsCommand; exports.registerSkillsCommand = registerSkillsCommand;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveShellSpawn
3
- } from "./chunk-FC4C7MZM.mjs";
3
+ } from "./chunk-C2AN2HTB.mjs";
4
4
 
5
5
  // src/cli/npm-script-policy.ts
6
6
  import { spawnSync } from "child_process";
@@ -4,20 +4,20 @@ import {
4
4
  resolveUpdatePlan,
5
5
  runAutomaticUpdatePlan,
6
6
  shouldRunCliAutoUpdate
7
- } from "./chunk-NHQP4UPJ.mjs";
7
+ } from "./chunk-NO7ZC2GV.mjs";
8
8
  import {
9
9
  isCiEnvironment
10
- } from "./chunk-FC4C7MZM.mjs";
10
+ } from "./chunk-C2AN2HTB.mjs";
11
11
  import {
12
12
  addJsonNotice,
13
13
  isJsonOutputMode
14
- } from "./chunk-BVAYLXMH.mjs";
14
+ } from "./chunk-QODW5ILA.mjs";
15
15
  import {
16
16
  resolveApiKeyForBaseUrl
17
- } from "./chunk-NGOKBSBH.mjs";
17
+ } from "./chunk-YZA5UJXM.mjs";
18
18
  import {
19
19
  SDK_VERSION
20
- } from "./chunk-3QSFSHCJ.mjs";
20
+ } from "./chunk-LJYTYNQZ.mjs";
21
21
 
22
22
  // src/cli/compatibility-catalog.ts
23
23
  var readers = /* @__PURE__ */ new WeakMap();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  DeeplineClient
3
- } from "./chunk-VFP3MFLD.mjs";
3
+ } from "./chunk-JS4UO6G4.mjs";
4
4
  import {
5
5
  HttpClient,
6
6
  resolveConfig
7
- } from "./chunk-NGOKBSBH.mjs";
7
+ } from "./chunk-YZA5UJXM.mjs";
8
8
 
9
9
  // src/client.ts
10
10
  var DeeplineClient2 = class extends DeeplineClient {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-F6QV42MC.mjs";
4
4
  import {
5
5
  parseLogLevel
6
- } from "./chunk-VFP3MFLD.mjs";
6
+ } from "./chunk-JS4UO6G4.mjs";
7
7
  import {
8
8
  setDottedInputValue
9
9
  } from "./chunk-NELMCOWK.mjs";
@@ -11,7 +11,7 @@ import {
11
11
  argsWantJson,
12
12
  jsonFieldArgs,
13
13
  parseJsonFields
14
- } from "./chunk-BVAYLXMH.mjs";
14
+ } from "./chunk-QODW5ILA.mjs";
15
15
  import {
16
16
  DeeplineError
17
17
  } from "./chunk-HBL4PM5Q.mjs";
@@ -3,15 +3,15 @@
3
3
  var _chunkZM2YPJQJjs = require('./chunk-ZM2YPJQJ.js');
4
4
 
5
5
 
6
- var _chunkKTWXY73Qjs = require('./chunk-KTWXY73Q.js');
6
+ var _chunk7CILZKLEjs = require('./chunk-7CILZKLE.js');
7
7
 
8
8
 
9
9
 
10
- var _chunkU3F63UWDjs = require('./chunk-U3F63UWD.js');
10
+ var _chunkM2UL4ZS5js = require('./chunk-M2UL4ZS5.js');
11
11
 
12
12
 
13
13
 
14
- var _chunkBLW2K6YHjs = require('./chunk-BLW2K6YH.js');
14
+ var _chunkNC52JG66js = require('./chunk-NC52JG66.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, _chunkBLW2K6YHjs.sdkCliStateDirPath.call(void 0, _chunkBLW2K6YHjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
5716
+ return _path.join.call(void 0, _chunkNC52JG66js.sdkCliStateDirPath.call(void 0, _chunkNC52JG66js.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
5717
5717
  }
5718
5718
  function rememberSearchRef(searchRef) {
5719
5719
  try {
@@ -5877,7 +5877,7 @@ var OPTIONAL_COLUMNS = [
5877
5877
  ];
5878
5878
  function renderSearchResults(result, summaryWidth = DEFAULT_SUMMARY_WIDTH) {
5879
5879
  if (result.results.length === 0)
5880
- return _chunkU3F63UWDjs.renderCommandEnvelopeText.call(void 0, result);
5880
+ return _chunkM2UL4ZS5js.renderCommandEnvelopeText.call(void 0, result);
5881
5881
  const rows = result.results.map((item) => searchRow(item, summaryWidth));
5882
5882
  const kinds = new Set(rows.map((row) => row.kind));
5883
5883
  const onlyTools = kinds.size === 1 && kinds.has("tool");
@@ -5902,7 +5902,7 @@ function renderSearchResults(result, summaryWidth = DEFAULT_SUMMARY_WIDTH) {
5902
5902
  actions: _optionalChain([render, 'optionalAccess', _12 => _12.actions])
5903
5903
  };
5904
5904
  const followUps = _optionalChain([remaining, 'access', _13 => _13.sections, 'optionalAccess', _14 => _14.length]) || _optionalChain([remaining, 'access', _15 => _15.actions, 'optionalAccess', _16 => _16.length]) ? `
5905
- ${_chunkU3F63UWDjs.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
5905
+ ${_chunkM2UL4ZS5js.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
5906
5906
  const notes = rows.flatMap(
5907
5907
  (row) => row.notes.map((note) => ` ${row.id}: ${note}`)
5908
5908
  );
@@ -5997,7 +5997,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
5997
5997
  console.error("--summary-width must be an integer of at least 2.");
5998
5998
  return 1;
5999
5999
  }
6000
- const { search_ref: searchRef, ...result } = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().search({
6000
+ const { search_ref: searchRef, ...result } = await new (0, _chunk7CILZKLEjs.DeeplineClient)().search({
6001
6001
  query,
6002
6002
  types,
6003
6003
  exclude,
@@ -6011,7 +6011,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
6011
6011
  });
6012
6012
  if (searchRef) rememberSearchRef(searchRef);
6013
6013
  pointAtDescribe(result);
6014
- _chunkU3F63UWDjs.printCommandEnvelope.call(void 0, result, {
6014
+ _chunkM2UL4ZS5js.printCommandEnvelope.call(void 0, result, {
6015
6015
  json: options.json === true,
6016
6016
  text: renderSearchResults(result, summaryWidth)
6017
6017
  });
@@ -4,20 +4,20 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkZ5VSBCFVjs = require('./chunk-Z5VSBCFV.js');
7
+ var _chunkE2CUSH56js = require('./chunk-E2CUSH56.js');
8
8
 
9
9
 
10
- var _chunkF4FNMXI3js = require('./chunk-F4FNMXI3.js');
10
+ var _chunk4RAENEAXjs = require('./chunk-4RAENEAX.js');
11
11
 
12
12
 
13
13
 
14
- var _chunkU3F63UWDjs = require('./chunk-U3F63UWD.js');
14
+ var _chunkM2UL4ZS5js = require('./chunk-M2UL4ZS5.js');
15
15
 
16
16
 
17
- var _chunkBLW2K6YHjs = require('./chunk-BLW2K6YH.js');
17
+ var _chunkNC52JG66js = require('./chunk-NC52JG66.js');
18
18
 
19
19
 
20
- var _chunkB7NJ5JQ2js = require('./chunk-B7NJ5JQ2.js');
20
+ var _chunkACDXGOXEjs = require('./chunk-ACDXGOXE.js');
21
21
 
22
22
  // src/cli/compatibility-catalog.ts
23
23
  var readers = /* @__PURE__ */ new WeakMap();
@@ -44,7 +44,7 @@ function trustedAutoUpdateRegistryUrl(baseUrl) {
44
44
  async function reportAutoUpdateEvent(input) {
45
45
  let apiKey = "";
46
46
  try {
47
- apiKey = _chunkBLW2K6YHjs.resolveApiKeyForBaseUrl.call(void 0, input.baseUrl);
47
+ apiKey = _chunkNC52JG66js.resolveApiKeyForBaseUrl.call(void 0, input.baseUrl);
48
48
  } catch (e2) {
49
49
  return;
50
50
  }
@@ -60,15 +60,15 @@ async function reportAutoUpdateEvent(input) {
60
60
  headers: {
61
61
  Authorization: `Bearer ${apiKey}`,
62
62
  "Content-Type": "application/json",
63
- "User-Agent": `deepline-ts-sdk/${_chunkB7NJ5JQ2js.SDK_VERSION}`,
63
+ "User-Agent": `deepline-ts-sdk/${_chunkACDXGOXEjs.SDK_VERSION}`,
64
64
  "X-Deepline-Client-Family": "sdk",
65
65
  "X-Deepline-CLI-Family": "sdk",
66
- "X-Deepline-CLI-Version": _chunkB7NJ5JQ2js.SDK_VERSION,
67
- "X-Deepline-SDK-Version": _chunkB7NJ5JQ2js.SDK_VERSION
66
+ "X-Deepline-CLI-Version": _chunkACDXGOXEjs.SDK_VERSION,
67
+ "X-Deepline-SDK-Version": _chunkACDXGOXEjs.SDK_VERSION
68
68
  },
69
69
  body: JSON.stringify({
70
70
  event: input.event,
71
- current_version: _optionalChain([input, 'access', _4 => _4.response, 'access', _5 => _5.current, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]) || _chunkB7NJ5JQ2js.SDK_VERSION,
71
+ current_version: _optionalChain([input, 'access', _4 => _4.response, 'access', _5 => _5.current, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]) || _chunkACDXGOXEjs.SDK_VERSION,
72
72
  target_version: input.response.latest,
73
73
  reason: _optionalChain([input, 'access', _8 => _8.response, 'access', _9 => _9.auto_update, 'optionalAccess', _10 => _10.reason]),
74
74
  command: _nullishCoalesce(input.response.command, () => ( null)),
@@ -87,13 +87,13 @@ function envTruthy(name) {
87
87
  return value === "1" || value === "true" || value === "yes";
88
88
  }
89
89
  function shouldSkipSelfUpdate(policy) {
90
- return policy === "off" || envTruthy("DEEPLINE_SKIP_SELF_UPDATE") || envTruthy("DEEPLINE_NO_AUTO_UPDATE") || envTruthy("DEEPLINE_SKIP_SDK_AUTO_UPDATE") || envTruthy("DEEPLINE_DISABLE_AUTO_UPDATE") || !_chunkZ5VSBCFVjs.shouldRunCliAutoUpdate.call(void 0, ) || _chunkF4FNMXI3js.isCiEnvironment.call(void 0, );
90
+ return policy === "off" || envTruthy("DEEPLINE_SKIP_SELF_UPDATE") || envTruthy("DEEPLINE_NO_AUTO_UPDATE") || envTruthy("DEEPLINE_SKIP_SDK_AUTO_UPDATE") || envTruthy("DEEPLINE_DISABLE_AUTO_UPDATE") || !_chunkE2CUSH56js.shouldRunCliAutoUpdate.call(void 0, ) || _chunk4RAENEAXjs.isCiEnvironment.call(void 0, );
91
91
  }
92
92
  function isDowngradeAutoUpdateResponse(response) {
93
93
  const target = _optionalChain([response, 'optionalAccess', _17 => _17.latest, 'optionalAccess', _18 => _18.trim, 'call', _19 => _19()]);
94
- const current = _optionalChain([response, 'optionalAccess', _20 => _20.current, 'optionalAccess', _21 => _21.trim, 'call', _22 => _22()]) || _chunkB7NJ5JQ2js.SDK_VERSION;
94
+ const current = _optionalChain([response, 'optionalAccess', _20 => _20.current, 'optionalAccess', _21 => _21.trim, 'call', _22 => _22()]) || _chunkACDXGOXEjs.SDK_VERSION;
95
95
  if (!target) return false;
96
- return _chunkZ5VSBCFVjs.compareUpdateVersions.call(void 0, target, current) < 0;
96
+ return _chunkE2CUSH56js.compareUpdateVersions.call(void 0, target, current) < 0;
97
97
  }
98
98
  function relaunchCurrentCommand(plan, runtime = {}) {
99
99
  return new Promise((resolve) => {
@@ -146,7 +146,7 @@ async function maybeAutoUpdateAndRelaunch(response, baseUrl, policy = "configure
146
146
  }
147
147
  if (isDowngradeAutoUpdateResponse(response)) {
148
148
  const target = response.latest;
149
- const current = _optionalChain([response, 'access', _26 => _26.current, 'optionalAccess', _27 => _27.trim, 'call', _28 => _28()]) || _chunkB7NJ5JQ2js.SDK_VERSION;
149
+ const current = _optionalChain([response, 'access', _26 => _26.current, 'optionalAccess', _27 => _27.trim, 'call', _28 => _28()]) || _chunkACDXGOXEjs.SDK_VERSION;
150
150
  process.stderr.write(
151
151
  `Deepline SDK/CLI auto-update refused: server advertised older ${target} than current ${current}. Continuing without mutating the CLI.
152
152
  `
@@ -154,21 +154,21 @@ async function maybeAutoUpdateAndRelaunch(response, baseUrl, policy = "configure
154
154
  return false;
155
155
  }
156
156
  const packageSpec = response.latest ? `deepline@${response.latest}` : void 0;
157
- const plan = _chunkZ5VSBCFVjs.resolveUpdatePlan.call(void 0, {
157
+ const plan = _chunkE2CUSH56js.resolveUpdatePlan.call(void 0, {
158
158
  packageSpec,
159
159
  requireVerifiedNpmOwnership: true,
160
160
  npmFallbackRegistryUrl: trustedAutoUpdateRegistryUrl(baseUrl)
161
161
  });
162
- if (!_chunkZ5VSBCFVjs.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) {
162
+ if (!_chunkE2CUSH56js.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) {
163
163
  return false;
164
164
  }
165
165
  if (!autoUpdate.required && autoUpdate.reason !== "rollback_forced") {
166
166
  deferredAutoUpdate = async () => {
167
167
  await applyAutoUpdate(response, baseUrl, plan, "next_command");
168
168
  };
169
- if (_chunkU3F63UWDjs.isJsonOutputMode.call(void 0, )) {
169
+ if (_chunkM2UL4ZS5js.isJsonOutputMode.call(void 0, )) {
170
170
  const target = _optionalChain([response, 'access', _29 => _29.latest, 'optionalAccess', _30 => _30.trim, 'call', _31 => _31()]);
171
- _chunkU3F63UWDjs.addJsonNotice.call(void 0, {
171
+ _chunkM2UL4ZS5js.addJsonNotice.call(void 0, {
172
172
  code: "sdk_update_queued",
173
173
  message: `Deepline SDK/CLI update${target ? ` to ${target}` : ""} is queued after this command; the next command will use it if installation succeeds.`
174
174
  });
@@ -181,7 +181,7 @@ async function maybeAutoUpdateAndRelaunch(response, baseUrl, policy = "configure
181
181
  return true;
182
182
  }
183
183
  async function applyAutoUpdate(response, baseUrl, plan, takesEffect) {
184
- if (!_chunkZ5VSBCFVjs.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) return false;
184
+ if (!_chunkE2CUSH56js.canAutomaticallyApplyUpdatePlan.call(void 0, plan)) return false;
185
185
  const autoUpdate = response.auto_update;
186
186
  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";
187
187
  process.stderr.write(
@@ -194,7 +194,7 @@ async function applyAutoUpdate(response, baseUrl, plan, takesEffect) {
194
194
  event: "started",
195
195
  installKind: plan.kind
196
196
  });
197
- const updateResult = await _chunkZ5VSBCFVjs.runAutomaticUpdatePlan.call(void 0, plan);
197
+ const updateResult = await _chunkE2CUSH56js.runAutomaticUpdatePlan.call(void 0, plan);
198
198
  if (updateResult.status === "skipped_previous_failure") {
199
199
  void reportAutoUpdateEvent({
200
200
  baseUrl,
@@ -245,7 +245,7 @@ var _crypto = require('crypto');
245
245
  var TOOL_EXECUTE_PROGRESS_INTERVAL_MS = 15e3;
246
246
  var activeToolExecuteCommand = null;
247
247
  function progressLine(line) {
248
- if (!_chunkU3F63UWDjs.isJsonOutputMode.call(void 0, )) console.error(line);
248
+ if (!_chunkM2UL4ZS5js.isJsonOutputMode.call(void 0, )) console.error(line);
249
249
  }
250
250
  function beginToolExecuteCommand() {
251
251
  if (activeToolExecuteCommand) return activeToolExecuteCommand.invocationId;
@@ -819,8 +819,8 @@ Authoring rules:
819
819
  or { webhook: {} }. A cron run receives {} unless cron.input is written
820
820
  inline; it is pinned with the published revision.
821
821
  Runtime: The default Play runtime is 30 minutes. Standard uses 1 GiB / 1 CPU.
822
- Preview deployments also support runtime.size 'large' (4 GiB / 2 CPU) and
823
- 'xlarge' (8 GiB / 4 CPU). Production uses standard.
822
+ Select runtime.size 'large' (4 GiB / 2 CPU) or 'xlarge' (8 GiB / 4 CPU)
823
+ when a step needs more memory.
824
824
  Compute pricing follows the workspace plan.
825
825
  [[cli:Use deepline billing quote for the session ceiling.]]
826
826
  Set runtime.timeout to extend a run up to 4h.