reeval 0.2.0 → 0.4.0

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 (224) hide show
  1. package/THIRD_PARTY_NOTICES.md +9 -9
  2. package/assets/package.json +1 -1
  3. package/assets/pnpm-lock.yaml +84 -33
  4. package/dist/agent-C9dLMCM7.js +334 -0
  5. package/dist/agent-C9dLMCM7.js.map +1 -0
  6. package/dist/{agent-D-6z0Z3F.js → agent-M70OWyfG.js} +5 -5
  7. package/dist/{agent-D-6z0Z3F.js.map → agent-M70OWyfG.js.map} +1 -1
  8. package/dist/analysis-CxSCt1YY.js.map +1 -1
  9. package/dist/{assemble-DtouO0iQ.js → assemble-BmVT26kf.js} +25 -17
  10. package/dist/assemble-BmVT26kf.js.map +1 -0
  11. package/dist/assemble-DZiN1p_E.js +2 -0
  12. package/dist/{attempt-BdRQ9jKX.js → attempt-CGPV3BZY.js} +2 -2
  13. package/dist/{attempt-BdRQ9jKX.js.map → attempt-CGPV3BZY.js.map} +1 -1
  14. package/dist/bridge/index.mjs +1620 -1793
  15. package/dist/bridge/package.json +2 -2
  16. package/dist/bridge/pnpm-lock.yaml +75 -75
  17. package/dist/bridge/pnpm-workspace.yaml +1 -1
  18. package/dist/{cli-CGuUdOPK.js → cli-BdxFLEIc.js} +166 -55
  19. package/dist/cli-BdxFLEIc.js.map +1 -0
  20. package/dist/{cli-spec-DKAu09Gi.js → cli-spec-DUeyuSIQ.js} +11 -4
  21. package/dist/cli-spec-DUeyuSIQ.js.map +1 -0
  22. package/dist/cli.js +2 -2
  23. package/dist/{command-CCuYRGsI.js → command-BtcBitmY.js} +12 -12
  24. package/dist/{command-CCuYRGsI.js.map → command-BtcBitmY.js.map} +1 -1
  25. package/dist/{command-BekzrvZI.js → command-ByqQ-v-j.js} +13 -13
  26. package/dist/{command-BekzrvZI.js.map → command-ByqQ-v-j.js.map} +1 -1
  27. package/dist/{command-CLKuXn6Z.js → command-CIsO5xdR.js} +11 -9
  28. package/dist/command-CIsO5xdR.js.map +1 -0
  29. package/dist/{command-CEm8PZ1N.js → command-CQiFfn-C.js} +169 -280
  30. package/dist/command-CQiFfn-C.js.map +1 -0
  31. package/dist/command-DllipyoK.js +2 -0
  32. package/dist/{commands-CF8mOfiu.js → commands-CPrrZ2mI.js} +29 -13
  33. package/dist/commands-CPrrZ2mI.js.map +1 -0
  34. package/dist/{commands-A4udfyKZ.js → commands-D3Dxgh60.js} +1 -1
  35. package/dist/{config-DqJvSqYo.js → config-B93Csktg.js} +43 -15
  36. package/dist/{config-DqJvSqYo.js.map → config-B93Csktg.js.map} +1 -1
  37. package/dist/db-DIE0bsNO.js +2 -0
  38. package/dist/{db-DxDzMhtB.js → db-SpvY8l1g.js} +4 -4
  39. package/dist/{db-DxDzMhtB.js.map → db-SpvY8l1g.js.map} +1 -1
  40. package/dist/{dist-BZXYHN2X.js → dist-C2k9IvL3.js} +107 -55
  41. package/dist/dist-C2k9IvL3.js.map +1 -0
  42. package/dist/{docker-Buu3a60z.js → docker-Bv1ZC6V7.js} +1 -1
  43. package/dist/{docker-DQDZWXF9.js → docker-C2YwD_dh.js} +3 -3
  44. package/dist/{docker-DQDZWXF9.js.map → docker-C2YwD_dh.js.map} +1 -1
  45. package/dist/{docker-w0CSdQq0.js → docker-uNaAGE2C.js} +5 -5
  46. package/dist/{docker-w0CSdQq0.js.map → docker-uNaAGE2C.js.map} +1 -1
  47. package/dist/{doctor-Bs1_pG9_.js → doctor-COH-levb.js} +88 -20
  48. package/dist/doctor-COH-levb.js.map +1 -0
  49. package/dist/{egress-QJMzVtbw.js → egress-C7Obb71D.js} +35 -19
  50. package/dist/egress-C7Obb71D.js.map +1 -0
  51. package/dist/{environment-9WHSWLxH.js → environment-lDFQY2BF.js} +116 -4
  52. package/dist/environment-lDFQY2BF.js.map +1 -0
  53. package/dist/{files-D2-qn_Dl.js → files-BO9P6msM.js} +114 -14
  54. package/dist/files-BO9P6msM.js.map +1 -0
  55. package/dist/files-BRWmQJ-9.js +2 -0
  56. package/dist/files-Bwr8UW4b.js +2 -0
  57. package/dist/{files-bF2fPuT9.js → files-CMoTBEul.js} +40 -7
  58. package/dist/files-CMoTBEul.js.map +1 -0
  59. package/dist/{git-D6hMeieS.js → git-LJp55bkf.js} +3 -3
  60. package/dist/{git-D6hMeieS.js.map → git-LJp55bkf.js.map} +1 -1
  61. package/dist/{harness-ls5aX1UO.js → harness-BbMShUC-.js} +4 -4
  62. package/dist/{harness-ls5aX1UO.js.map → harness-BbMShUC-.js.map} +1 -1
  63. package/dist/harness.d.ts +2 -2
  64. package/dist/harness.js +1 -1
  65. package/dist/{header-DzFDoMCI.js → header-sPQ9Lq2S.js} +2 -2
  66. package/dist/{header-DzFDoMCI.js.map → header-sPQ9Lq2S.js.map} +1 -1
  67. package/dist/{images-2m2U-UQc.js → images-Pph_XJ68.js} +6 -6
  68. package/dist/{images-2m2U-UQc.js.map → images-Pph_XJ68.js.map} +1 -1
  69. package/dist/index.d.ts +11 -4
  70. package/dist/index.js +173 -65
  71. package/dist/index.js.map +1 -1
  72. package/dist/{init-CH9UY7Bt.js → init-BcYpzHXs.js} +10 -10
  73. package/dist/{init-CH9UY7Bt.js.map → init-BcYpzHXs.js.map} +1 -1
  74. package/dist/init-YS5qBRwV.js +2 -0
  75. package/dist/{invocations-rXktgSAn.js → invocations-DHC946b-.js} +4 -4
  76. package/dist/{invocations-rXktgSAn.js.map → invocations-DHC946b-.js.map} +1 -1
  77. package/dist/{jiti-BOLXpKyG.js → jiti-DWsGEgxD.js} +4 -4
  78. package/dist/{jiti-BOLXpKyG.js.map → jiti-DWsGEgxD.js.map} +1 -1
  79. package/dist/{judge-D8Uf4dA9.js → judge-D6wqgTDp.js} +17 -4
  80. package/dist/judge-D6wqgTDp.js.map +1 -0
  81. package/dist/judge.d.ts +12 -8
  82. package/dist/judge.js +13 -5
  83. package/dist/judge.js.map +1 -1
  84. package/dist/{live-Bs3LReMV.js → live-DZkCtmNP.js} +2 -2
  85. package/dist/{live-Bs3LReMV.js.map → live-DZkCtmNP.js.map} +1 -1
  86. package/dist/{matchers-DyLvm7EG.js → matchers-DbFPZQgA.js} +9 -4
  87. package/dist/{matchers-DyLvm7EG.js.map → matchers-DbFPZQgA.js.map} +1 -1
  88. package/dist/model-CJ6USX6C.js +2 -0
  89. package/dist/model-CNoc8t2Y.js +2 -0
  90. package/dist/model-DUZtNaYR.js +228 -0
  91. package/dist/model-DUZtNaYR.js.map +1 -0
  92. package/dist/{model-CDL98xue.js → model-ORtLm2UB.js} +41 -3
  93. package/dist/{model-CDL98xue.js.map → model-ORtLm2UB.js.map} +1 -1
  94. package/dist/{model-BdO79gWz.js → model-f0wprGPm.js} +3 -3
  95. package/dist/{model-BdO79gWz.js.map → model-f0wprGPm.js.map} +1 -1
  96. package/dist/{node-kG64XxdE.js → node-OXPxBD2N.js} +3 -3
  97. package/dist/{node-kG64XxdE.js.map → node-OXPxBD2N.js.map} +1 -1
  98. package/dist/{opencode-providers-DZuD_oYt.js → opencode-providers-DJVocFOU.js} +31 -3
  99. package/dist/opencode-providers-DJVocFOU.js.map +1 -0
  100. package/dist/{options-k25fjaER.js → options-Ftb2gE01.js} +85 -26
  101. package/dist/options-Ftb2gE01.js.map +1 -0
  102. package/dist/patch-BxqggH-T.js +118 -0
  103. package/dist/patch-BxqggH-T.js.map +1 -0
  104. package/dist/{plan-gwk6dJ8c.js → plan-BkhLKrsN.js} +23 -6
  105. package/dist/plan-BkhLKrsN.js.map +1 -0
  106. package/dist/{preflight-B6hfAXhh.js → preflight-CuvY0o3B.js} +3 -3
  107. package/dist/{preflight-B6hfAXhh.js.map → preflight-CuvY0o3B.js.map} +1 -1
  108. package/dist/{preflight-D2Hce5Jp.js → preflight-D3cJETui.js} +1 -1
  109. package/dist/{prepare-NuWsT11j.js → prepare-BI9j2-H-.js} +5 -5
  110. package/dist/{prepare-NuWsT11j.js.map → prepare-BI9j2-H-.js.map} +1 -1
  111. package/dist/{prepare-C3fefNnV.js → prepare-CVuTk5F9.js} +2 -2
  112. package/dist/{provenance-Dfb8YY5Y.js → provenance-6n49wska.js} +22 -4
  113. package/dist/provenance-6n49wska.js.map +1 -0
  114. package/dist/{providers-Bfx5Mnk9.js → providers-BFapaM2D.js} +3 -3
  115. package/dist/{providers-Bfx5Mnk9.js.map → providers-BFapaM2D.js.map} +1 -1
  116. package/dist/{providers-BMIGzPPG.js → providers-Cay8pI0y.js} +1 -1
  117. package/dist/query-Br77sQYj.js +2 -0
  118. package/dist/{query-CFATHZmV.js → query-CnstTDt8.js} +2 -2
  119. package/dist/{query-CFATHZmV.js.map → query-CnstTDt8.js.map} +1 -1
  120. package/dist/questions-Cm321-Mo.js +325 -0
  121. package/dist/questions-Cm321-Mo.js.map +1 -0
  122. package/dist/{record-DQ8wzyco.js → record-CbuQH4l1.js} +7 -3
  123. package/dist/record-CbuQH4l1.js.map +1 -0
  124. package/dist/{redact-C4fL_bZP.js → redact-DJ9JCShu.js} +99 -28
  125. package/dist/redact-DJ9JCShu.js.map +1 -0
  126. package/dist/{results-BtvBJAp-.js → results-D9GgBYw5.js} +4 -4
  127. package/dist/{results-BtvBJAp-.js.map → results-D9GgBYw5.js.map} +1 -1
  128. package/dist/{root-CFDjpWuc.js → root-Zeokqt3-.js} +2 -2
  129. package/dist/{root-CFDjpWuc.js.map → root-Zeokqt3-.js.map} +1 -1
  130. package/dist/{sandbox-BJPWuQE9.js → sandbox-CO__l-i1.js} +3 -3
  131. package/dist/{sandbox-BJPWuQE9.js.map → sandbox-CO__l-i1.js.map} +1 -1
  132. package/dist/sandbox.d.ts +2 -2
  133. package/dist/sandbox.js +1 -1
  134. package/dist/server-D5Zq3I5N.js +2 -0
  135. package/dist/{server-5DWmKKfV.js → server-DsmIrBzi.js} +12 -10
  136. package/dist/{server-5DWmKKfV.js.map → server-DsmIrBzi.js.map} +1 -1
  137. package/dist/source-BgqURlel.js +2 -0
  138. package/dist/{source-Bsfa3LZH.js → source-DJ1c8jwe.js} +2 -2
  139. package/dist/{source-Bsfa3LZH.js.map → source-DJ1c8jwe.js.map} +1 -1
  140. package/dist/{src-DXx_29pq.js → src-B1OT_Zhf.js} +46 -46
  141. package/dist/{src-DXx_29pq.js.map → src-B1OT_Zhf.js.map} +1 -1
  142. package/dist/{src-BQyMiWri.js → src-BAiYD4eC.js} +48 -7
  143. package/dist/{src-BQyMiWri.js.map → src-BAiYD4eC.js.map} +1 -1
  144. package/dist/{src-N7E_mfcZ.js → src-BC5FFzE8.js} +1 -1
  145. package/dist/src-Bi2Y3EkE.js +3 -0
  146. package/dist/{src-D8KYzxBX.js → src-BmBFlEIe.js} +12 -7
  147. package/dist/{src-D8KYzxBX.js.map → src-BmBFlEIe.js.map} +1 -1
  148. package/dist/src-C8WNyopo.js +3 -0
  149. package/dist/src-CYz-TreZ.js +3 -0
  150. package/dist/src-C_91Ln3Z.js +4 -0
  151. package/dist/{src-Cmp-7YrD.js → src-DWk0e7ix.js} +5 -5
  152. package/dist/{src-Cmp-7YrD.js.map → src-DWk0e7ix.js.map} +1 -1
  153. package/dist/{src-AEwxd1UP.js → src-DfEAlC9s.js} +4 -4
  154. package/dist/{src-AEwxd1UP.js.map → src-DfEAlC9s.js.map} +1 -1
  155. package/dist/{src-DwwiVLqv.js → src-V-iU5X9S.js} +24 -21
  156. package/dist/{src-DwwiVLqv.js.map → src-V-iU5X9S.js.map} +1 -1
  157. package/dist/{src-C-LHyTSV.js → src-gPJFzHcK.js} +1 -1
  158. package/dist/src-gVzsO4_f.js +3 -0
  159. package/dist/{state-DZ7eqb1F.js → state-DFbJrVi3.js} +15 -15
  160. package/dist/{state-DZ7eqb1F.js.map → state-DFbJrVi3.js.map} +1 -1
  161. package/dist/state-Joc2b4qk.js +2 -0
  162. package/dist/studio-app/assets/index-B1Pf3LAT.css +2 -0
  163. package/dist/studio-app/assets/index-BhorHbrj.js +58 -0
  164. package/dist/studio-app/index.html +2 -2
  165. package/dist/{summary-D7Ttky0z.js → summary-CEMYhzXm.js} +33 -5
  166. package/dist/summary-CEMYhzXm.js.map +1 -0
  167. package/dist/summary-WR5qLj_z.js +192 -0
  168. package/dist/summary-WR5qLj_z.js.map +1 -0
  169. package/dist/tools-DN-cJcfi.js +249 -0
  170. package/dist/tools-DN-cJcfi.js.map +1 -0
  171. package/dist/{types-CYJldf5N.d.ts → types-B_CqVrOS.d.ts} +210 -30
  172. package/dist/view/index.d.ts +63 -1
  173. package/dist/view/index.js +5 -5
  174. package/dist/{views-BrHOv6wg.js → views-DNbUdW9d.js} +4 -4
  175. package/dist/{views-BrHOv6wg.js.map → views-DNbUdW9d.js.map} +1 -1
  176. package/dist/views-DnYbVkKg.js +3 -0
  177. package/dist/{worker-entry-DnYkANPG.js → worker-entry-CJmG4hhE.js} +3 -3
  178. package/dist/{worker-entry-DnYkANPG.js.map → worker-entry-CJmG4hhE.js.map} +1 -1
  179. package/dist/{workspace-BVgNhC9h.js → workspace-CmSp2MXO.js} +1 -1
  180. package/dist/{workspace-uPapQj16.js → workspace-QtlJtRut.js} +5 -5
  181. package/dist/{workspace-uPapQj16.js.map → workspace-QtlJtRut.js.map} +1 -1
  182. package/docker/Dockerfile +2 -0
  183. package/docker/reeval-path.sh +21 -0
  184. package/package.json +13 -12
  185. package/dist/assemble-Dm4gD1TU.js +0 -2
  186. package/dist/assemble-DtouO0iQ.js.map +0 -1
  187. package/dist/cli-CGuUdOPK.js.map +0 -1
  188. package/dist/cli-spec-DKAu09Gi.js.map +0 -1
  189. package/dist/command-CEm8PZ1N.js.map +0 -1
  190. package/dist/command-CLKuXn6Z.js.map +0 -1
  191. package/dist/commands-CF8mOfiu.js.map +0 -1
  192. package/dist/db-Cjj2ZsfQ.js +0 -2
  193. package/dist/dist-BZXYHN2X.js.map +0 -1
  194. package/dist/doctor-Bs1_pG9_.js.map +0 -1
  195. package/dist/egress-QJMzVtbw.js.map +0 -1
  196. package/dist/environment-9WHSWLxH.js.map +0 -1
  197. package/dist/files--6CEUXm7.js +0 -2
  198. package/dist/files-Bd25OAQH.js +0 -2
  199. package/dist/files-D2-qn_Dl.js.map +0 -1
  200. package/dist/files-bF2fPuT9.js.map +0 -1
  201. package/dist/init-DJuxvYCW.js +0 -2
  202. package/dist/judge-D8Uf4dA9.js.map +0 -1
  203. package/dist/model-v-0_Ik7S.js +0 -2
  204. package/dist/opencode-providers-DZuD_oYt.js.map +0 -1
  205. package/dist/options-k25fjaER.js.map +0 -1
  206. package/dist/patch-BkKje4cp.js +0 -69
  207. package/dist/patch-BkKje4cp.js.map +0 -1
  208. package/dist/plan-gwk6dJ8c.js.map +0 -1
  209. package/dist/provenance-Dfb8YY5Y.js.map +0 -1
  210. package/dist/query-DR4m6CXf.js +0 -2
  211. package/dist/record-DQ8wzyco.js.map +0 -1
  212. package/dist/redact-C4fL_bZP.js.map +0 -1
  213. package/dist/server-buV3adNS.js +0 -2
  214. package/dist/source-BXzrmof5.js +0 -2
  215. package/dist/src-55j1zNHH.js +0 -3
  216. package/dist/src-BDwSuyIo.js +0 -3
  217. package/dist/src-DEgff9Z7.js +0 -4
  218. package/dist/src-W9g-y5X5.js +0 -3
  219. package/dist/src-daS0wKH2.js +0 -3
  220. package/dist/state-Cyw3QTsN.js +0 -2
  221. package/dist/studio-app/assets/index-Da1XDzx8.js +0 -58
  222. package/dist/studio-app/assets/index-xwzWdcE_.css +0 -2
  223. package/dist/summary-D7Ttky0z.js.map +0 -1
  224. package/dist/views-CwCWLWqo.js +0 -3
@@ -1,13 +1,14 @@
1
1
  import { n as loadEnvFiles } from "./env-BQqj93gu.js";
2
- import { i as redactSecrets } from "./redact-C4fL_bZP.js";
3
- import { i as PACKAGE_DIR } from "./root-CFDjpWuc.js";
4
- import { a as unenforceable, m as credentialOf } from "./egress-QJMzVtbw.js";
2
+ import { n as SECRET_NAME, o as redactSecrets } from "./redact-DJ9JCShu.js";
3
+ import { i as PACKAGE_DIR } from "./root-Zeokqt3-.js";
4
+ import { a as unenforceable, m as credentialOf } from "./egress-C7Obb71D.js";
5
5
  import { a as fromCwd } from "./ids-Bp6ut7ZD.js";
6
- import { o as judgeCredentials } from "./judge-D8Uf4dA9.js";
7
- import { s as harnessId, u as sandboxId } from "./options-k25fjaER.js";
8
- import { a as defaultConcurrency, i as configPathFor, l as loadConfig, n as badCharacterAt, r as configLabel, t as CONFIG_FILES } from "./config-DqJvSqYo.js";
6
+ import { s as judgeCredentials } from "./judge-D6wqgTDp.js";
7
+ import { d as sandboxId, s as harnessId } from "./options-Ftb2gE01.js";
8
+ import { a as defaultConcurrency, i as configPathFor, l as loadConfig, n as badCharacterAt, r as configLabel, t as CONFIG_FILES } from "./config-B93Csktg.js";
9
+ import { i as runtimeInfo } from "./provenance-6n49wska.js";
9
10
  import { t as colors } from "./colors-QV9dFVhN.js";
10
- import { o as missingGitignoreEntries } from "./init-CH9UY7Bt.js";
11
+ import { o as missingGitignoreEntries } from "./init-BcYpzHXs.js";
11
12
  import { existsSync, readFileSync } from "node:fs";
12
13
  import { join } from "node:path";
13
14
  import { execFile } from "node:child_process";
@@ -23,9 +24,10 @@ const run = (command, args, cwd) => new Promise((resolve) => {
23
24
  }));
24
25
  });
25
26
  function defaultDeps(env = process.env) {
26
- const sandbox = () => import("./src-N7E_mfcZ.js");
27
+ const sandbox = () => import("./src-BC5FFzE8.js");
27
28
  return {
28
29
  env,
30
+ runtime: runtimeInfo(),
29
31
  nodeVersion: process.versions.node,
30
32
  platform: process.platform,
31
33
  dockerState: async () => (await sandbox()).dockerState(),
@@ -50,6 +52,19 @@ function defaultDeps(env = process.env) {
50
52
  p
51
53
  ], root)).code === 0));
52
54
  },
55
+ gitVisibleEnvFiles: async (root) => {
56
+ const r = await run("git", [
57
+ "ls-files",
58
+ "--cached",
59
+ "--others",
60
+ "--exclude-standard",
61
+ "--",
62
+ ":(glob)**/.env",
63
+ ":(glob)**/.env.*",
64
+ ":(exclude,glob)**/node_modules/**"
65
+ ], root);
66
+ return r.code === 0 ? r.stdout.split("\n").filter(Boolean) : null;
67
+ },
53
68
  fetch: globalThis.fetch
54
69
  };
55
70
  }
@@ -62,18 +77,21 @@ const newer = (version, min) => {
62
77
  }
63
78
  return true;
64
79
  };
65
- function checkNode(nodeVersion) {
80
+ /** The runtime reeval runs on, held to `engines` by the Node version it is or provides. */
81
+ function checkRuntime(runtime, nodeVersion) {
66
82
  const engines = JSON.parse(readFileSync(join(PACKAGE_DIR, "package.json"), "utf8")).engines.node;
67
83
  const min = (/(\d+(?:\.\d+)*)/.exec(engines)?.[1] ?? "0").split(".").map(Number);
84
+ const label = runtime.name === "node" ? `node ${nodeVersion}` : `${runtime.name} ${runtime.version}, compatible with node ${nodeVersion}`;
85
+ const install = `install Node ${min.join(".")} or later (https://nodejs.org)`;
68
86
  return newer(nodeVersion, min) ? {
69
- id: "node",
87
+ id: "runtime",
70
88
  status: "ok",
71
- summary: `${nodeVersion} (reeval needs ${engines})`
89
+ summary: `${label} (reeval needs Node ${engines})`
72
90
  } : {
73
- id: "node",
91
+ id: "runtime",
74
92
  status: "fail",
75
- summary: `${nodeVersion}, but reeval needs ${engines}`,
76
- fix: `install Node ${min.join(".")} or later (https://nodejs.org)`
93
+ summary: `${label}, but reeval needs Node ${engines}`,
94
+ fix: runtime.name === "node" ? install : `upgrade ${runtime.name}, or ${install}`
77
95
  };
78
96
  }
79
97
  /** Every harness and sandbox a run of the config can use: the config's, then each profile's. */
@@ -162,8 +180,8 @@ async function checkDocker(config, deps) {
162
180
  }
163
181
  /** reeval's sandbox image for each Docker harness in the config: present, missing or left from an older reeval. */
164
182
  async function checkImages(config, deps) {
165
- const { imageFor } = await import("./src-N7E_mfcZ.js");
166
- const { imageTargets, esImages } = await import("./images-2m2U-UQc.js");
183
+ const { imageFor } = await import("./src-BC5FFzE8.js");
184
+ const { imageTargets, esImages } = await import("./images-Pph_XJ68.js");
167
185
  const targets = imageTargets(configuredUses(config).map((u) => ({
168
186
  id: "",
169
187
  harness: u.harness,
@@ -342,7 +360,7 @@ async function checkJudge(config, deps, online, envFile) {
342
360
  if (!models.length) return [{
343
361
  id: "judge",
344
362
  status: "skip",
345
- summary: "no judge model (t.judge needs one)"
363
+ summary: "no judge model (c.judge needs one)"
346
364
  }];
347
365
  return Promise.all(models.map(({ model, profile }) => {
348
366
  const label = typeof model === "string" ? model : "fakeJudge()";
@@ -414,9 +432,57 @@ async function checkGitignore(root, deps) {
414
432
  fix: `add ${missing.join(" and ")} to .gitignore (reeval init adds them)`
415
433
  };
416
434
  }
435
+ const ENV_LINE = /^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;
436
+ /** Values that stand for a key rather than being one: `<key>`, `your-key-here`, `${KEY}`, `xxx`. */
437
+ const PLACEHOLDER = /^(?:<[^>]*>|\[[^\]]*\]|\$\{?[A-Za-z_]\w*\}?|\.{3}|…|[x*]{3,}|(?:your|my|replace|change|insert|put|add|enter|paste|set)\b.*|.*[-_ ]here|changeme|placeholder|todo|tbd|example|dummy|none|null|false|true|0)$/i;
438
+ /** The secret-named variables `text` sets to something other than empty or a placeholder. */
439
+ function filledSecrets(text) {
440
+ const names = [];
441
+ for (const line of text.split(/\r?\n/)) {
442
+ const m = ENV_LINE.exec(line);
443
+ if (!m || !SECRET_NAME.test(m[1])) continue;
444
+ let value = m[2].trim();
445
+ const quote = /^(["'`])(.*)\1/.exec(value);
446
+ value = quote ? quote[2] : value.replace(/(?:^|\s+)#.*$/, "");
447
+ if (value && !PLACEHOLDER.test(value.trim())) names.push(m[1]);
448
+ }
449
+ return names;
450
+ }
451
+ /**
452
+ * `.env.example` and the like, which git sees on purpose, holding real-looking values for key
453
+ * variables: a commit shares them, and a dirty run's `worktree.patch` carries them.
454
+ */
455
+ async function checkEnvFiles(root, deps) {
456
+ const files = await deps.gitVisibleEnvFiles(root);
457
+ if (!files?.length) return null;
458
+ const filled = files.flatMap((file) => {
459
+ let text;
460
+ try {
461
+ text = readFileSync(join(root, file), "utf8");
462
+ } catch {
463
+ return [];
464
+ }
465
+ const names = filledSecrets(text);
466
+ return names.length ? [{
467
+ file,
468
+ names
469
+ }] : [];
470
+ });
471
+ if (!filled.length) return {
472
+ id: "env-files",
473
+ status: "ok",
474
+ summary: `${files.join(", ")}: no key values filled in`
475
+ };
476
+ return {
477
+ id: "env-files",
478
+ status: "warn",
479
+ summary: `${filled.map((f) => `${f.file} (${f.names.join(", ")})`).join(", ")} ${filled.length === 1 ? "has" : "have"} key values filled in, and git sees ${filled.length === 1 ? "it" : "them"}: a commit, or a dirty run's worktree.patch, would carry them`,
480
+ fix: "put the values in .env.local (ignored), and leave them empty in the example file"
481
+ };
482
+ }
417
483
  /** Every check, in order; the config's checks only when it loads. */
418
484
  async function doctor(flags, deps) {
419
- const checks = [checkNode(deps.nodeVersion)];
485
+ const checks = [checkRuntime(deps.runtime, deps.nodeVersion)];
420
486
  const configPath = configPathFor(flags.config);
421
487
  let config;
422
488
  let missingImages = [];
@@ -463,6 +529,8 @@ async function doctor(flags, deps) {
463
529
  checks.push(...await checkJudge(config, deps, online, envFile));
464
530
  checks.push(...checkEgress(config));
465
531
  checks.push(await checkGitignore(config.root, deps));
532
+ const envFiles = await checkEnvFiles(config.root, deps);
533
+ if (envFiles) checks.push(envFiles);
466
534
  }
467
535
  const problems = checks.filter((c) => c.status === "fail").length;
468
536
  const warnings = checks.filter((c) => c.status === "warn").length;
@@ -507,7 +575,7 @@ async function doctorCommand(flags, io, deps = defaultDeps()) {
507
575
  for (const line of renderReport(report, io.color)) io.out(line);
508
576
  if (config && missingImages.length && io.confirm) {
509
577
  if (await io.confirm(`Build ${missingImages.join(", ")} now with reeval image build? [y/N] `)) {
510
- const { buildImages, imageTargets } = await import("./images-2m2U-UQc.js");
578
+ const { buildImages, imageTargets } = await import("./images-Pph_XJ68.js");
511
579
  const built = await buildImages(imageTargets(configuredUses(config).map((u) => ({
512
580
  id: "",
513
581
  harness: u.harness,
@@ -522,4 +590,4 @@ async function doctorCommand(flags, io, deps = defaultDeps()) {
522
590
  //#endregion
523
591
  export { defaultDeps, doctor, doctorCommand };
524
592
 
525
- //# sourceMappingURL=doctor-Bs1_pG9_.js.map
593
+ //# sourceMappingURL=doctor-COH-levb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-COH-levb.js","names":[],"sources":["../src/doctor.ts"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { t as UsageError } from "./errors-CSxfJ4qu.js";
2
- import { h as plannedSecrets } from "./environment-9WHSWLxH.js";
3
- import { a as providerServedModel, i as providerModelResponses, n as providerEndpoints, r as providerHosts, s as resolveOpenCodeProvider } from "./opencode-providers-DZuD_oYt.js";
2
+ import { b as plannedSecrets } from "./environment-lDFQY2BF.js";
3
+ import { a as providerServedModel, i as providerModelResponses, n as providerEndpoints, r as providerHosts, s as resolveOpenCodeProvider } from "./opencode-providers-DJVocFOU.js";
4
4
  import { t as InfraError } from "./types-C5vI3g1C.js";
5
- import { D as HARNESS_HOSTS, E as DOCKER_EGRESS, O as PACKAGE_HOSTS, et as run, tt as shellQuote } from "./src-DwwiVLqv.js";
5
+ import { D as HARNESS_HOSTS, E as DOCKER_EGRESS, O as PACKAGE_HOSTS, et as run, tt as shellQuote } from "./src-V-iU5X9S.js";
6
6
  import { existsSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
8
  import { dirname, join, win32 } from "node:path";
@@ -46,8 +46,8 @@ const OPENAI_ENDPOINTS = [{
46
46
  method: ["POST"]
47
47
  }];
48
48
  /**
49
- * The model the Responses API says served a request, from its response: the dated snapshot, and
50
- * the reasoning effort Codex resolved for it, e.g. `gpt-5.4-mini-2026-03-17[effort=medium]`.
49
+ * The model the Responses API says served a request, from its response (a dated snapshot for some
50
+ * models), and the reasoning effort Codex resolved for it, e.g. `gpt-5.6-luna[effort=medium]`.
51
51
  */
52
52
  const openaiServedModel = ({ host, path, responseModel, responseEffort }) => host === "api.openai.com" && path === "/v1/responses" && responseModel ? `${responseModel}${responseEffort ? `[effort=${responseEffort}]` : ""}` : void 0;
53
53
  /**
@@ -150,6 +150,24 @@ function gooseMcpServers(servers) {
150
150
  }];
151
151
  }));
152
152
  }
153
+ /**
154
+ * pi's `mcp.json` shape, which the adapter escapes and sets `"exposure": "direct"` on. 0.99.1
155
+ * skips a server whose name isn't letters, digits, `_` and `-`, so the plan refuses it instead.
156
+ */
157
+ function piMcpServers(servers) {
158
+ return Object.fromEntries(Object.entries(servers).map(([name, s]) => {
159
+ if (!/^[A-Za-z0-9_-]+$/.test(name)) throw new InfraError(`pi takes MCP server names of letters, digits, "_" and "-" only, so it can't use the ${name} server: rename it`);
160
+ if (s.transport === "sse") throw new InfraError(`pi has no SSE MCP transport, so it can't use the ${name} server (mcp.sse): use mcp.http or mcp.stdio`);
161
+ return s.transport === "stdio" ? [name, {
162
+ command: s.command,
163
+ args: s.args,
164
+ env: s.env ?? {}
165
+ }] : [name, {
166
+ url: s.url,
167
+ headers: s.headers ?? {}
168
+ }];
169
+ }));
170
+ }
153
171
  /** The Cursor SDK's `McpServerConfig` shape. */
154
172
  function cursorMcpServers(servers) {
155
173
  return Object.fromEntries(Object.entries(servers).map(([name, s]) => s.transport === "stdio" ? [name, {
@@ -216,7 +234,7 @@ const AGENTS = {
216
234
  },
217
235
  unreported: cursorUnreported,
218
236
  mcpServers: cursorMcpServers,
219
- adapter: async ({ auth, mcpServers, descriptor }) => (await import("./src-daS0wKH2.js")).createCursorSdk({
237
+ adapter: async ({ auth, mcpServers, descriptor }) => (await import("./src-C8WNyopo.js")).createCursorSdk({
220
238
  auth,
221
239
  ...mcpServers ? { mcpServers } : {},
222
240
  ...descriptor.kind === "cursor" && descriptor.params ? { modelParams: descriptor.params } : {},
@@ -251,7 +269,7 @@ const AGENTS = {
251
269
  }
252
270
  ],
253
271
  mcpServers: claudeMcpServers,
254
- adapter: async ({ auth, mcpServers }) => (await import("./dist-BZXYHN2X.js")).createClaudeCode({
272
+ adapter: async ({ auth, mcpServers }) => (await import("./dist-C2k9IvL3.js")).createClaudeCode({
255
273
  auth,
256
274
  ...mcpServers ? { mcpServers } : {},
257
275
  env: {
@@ -272,7 +290,7 @@ const AGENTS = {
272
290
  },
273
291
  servedModel: geminiServedModel,
274
292
  mcpServers: antigravityMcpServers,
275
- adapter: async ({ auth, mcpServers }) => (await import("./src-W9g-y5X5.js")).createAntigravity({
293
+ adapter: async ({ auth, mcpServers }) => (await import("./src-CYz-TreZ.js")).createAntigravity({
276
294
  auth,
277
295
  ...mcpServers ? { mcpServers } : {},
278
296
  requireCredentialBrokering: true
@@ -287,7 +305,7 @@ const AGENTS = {
287
305
  servedModel: geminiServedModel,
288
306
  forModel: opencodeForModel,
289
307
  mcpServers: opencodeMcpServers,
290
- adapter: async ({ auth, mcpServers, descriptor }) => (await import("./src-DEgff9Z7.js")).createOpenCode({
308
+ adapter: async ({ auth, mcpServers, descriptor }) => (await import("./src-C_91Ln3Z.js")).createOpenCode({
291
309
  auth,
292
310
  model: descriptor.model,
293
311
  vars: opencodeVars(descriptor.model),
@@ -303,7 +321,7 @@ const AGENTS = {
303
321
  endpoints: GOOSE_ENDPOINTS,
304
322
  servedModel: geminiServedModel,
305
323
  mcpServers: gooseMcpServers,
306
- adapter: async ({ auth, mcpServers, descriptor }) => (await import("./src-C-LHyTSV.js")).createGoose({
324
+ adapter: async ({ auth, mcpServers, descriptor }) => (await import("./src-gPJFzHcK.js")).createGoose({
307
325
  auth: { GOOGLE_API_KEY: auth.GOOGLE_GENERATIVE_AI_API_KEY ?? "" },
308
326
  model: descriptor.model,
309
327
  ...mcpServers ? { mcpServers } : {},
@@ -317,12 +335,10 @@ const AGENTS = {
317
335
  credential: "GOOGLE_GENERATIVE_AI_API_KEY",
318
336
  endpoints: GEMINI_ENDPOINTS,
319
337
  servedModel: geminiServedModel,
320
- mcpServers: (servers) => {
321
- const names = Object.keys(servers);
322
- throw new InfraError(`pi has no MCP client, so it can't use the ${names.join(", ")} MCP server${names.length === 1 ? "" : "s"}`);
323
- },
324
- adapter: async ({ auth }) => (await import("./src-BDwSuyIo.js")).createPi({
338
+ mcpServers: piMcpServers,
339
+ adapter: async ({ auth, mcpServers }) => (await import("./src-Bi2Y3EkE.js")).createPi({
325
340
  auth: { GEMINI_API_KEY: auth.GOOGLE_GENERATIVE_AI_API_KEY ?? "" },
341
+ ...mcpServers ? { mcpServers } : {},
326
342
  requireCredentialBrokering: true
327
343
  })
328
344
  },
@@ -335,7 +351,7 @@ const AGENTS = {
335
351
  modelResponses: OPENAI_ENDPOINTS,
336
352
  servedModel: openaiServedModel,
337
353
  mcpServers: codexMcpServers,
338
- adapter: async ({ auth, mcpServers }) => (await import("./src-55j1zNHH.js")).createCodex({
354
+ adapter: async ({ auth, mcpServers }) => (await import("./src-gVzsO4_f.js")).createCodex({
339
355
  auth,
340
356
  ...mcpServers ? { mcpServers } : {},
341
357
  requireCredentialBrokering: true
@@ -351,8 +367,8 @@ const DEFAULT_HARNESS = {
351
367
  const HARNESS_EXAMPLE = "cursor({ model: 'composer-2.5' })";
352
368
  const isAgentKind = (kind) => typeof kind === "string" && Object.hasOwn(AGENTS, kind);
353
369
  /**
354
- * Why a harness's agent can't take the environment's MCP servers (pi takes none; Goose, OpenCode
355
- * and Codex no `mcp.sse`), in the agent's own words, so the plan refuses them before any attempt
370
+ * Why a harness's agent can't take the environment's MCP servers (Goose, OpenCode, pi and Codex
371
+ * take no `mcp.sse`), in the agent's own words, so the plan refuses them before any attempt
356
372
  * starts; undefined when it can.
357
373
  */
358
374
  function refusedMcp(harness, layers) {
@@ -616,4 +632,4 @@ function egressLabel({ policy, auto }) {
616
632
  //#endregion
617
633
  export { layoutOf as _, unenforceable as a, DEFAULT_HARNESS as c, agentFor as d, authHint as f, isAgentKind as g, expectedBlockedFor as h, plannedEgress as i, HARNESS_EXAMPLE as l, credentialOf as m, allowedHosts as n, createFakeSandbox as o, brokeringFor as p, egressLabel as r, AGENTS as s, DEFAULT_EGRESS_ALLOW as t, agentAuth as u, refusedMcp as v };
618
634
 
619
- //# sourceMappingURL=egress-QJMzVtbw.js.map
635
+ //# sourceMappingURL=egress-C7Obb71D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"egress-C7Obb71D.js","names":["meta"],"sources":["../src/harness/agents.ts","../src/sandbox/fake.ts","../src/egress.ts"],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { t as UsageError } from "./errors-CSxfJ4qu.js";
2
- import { n as SECRET_NAME } from "./redact-C4fL_bZP.js";
3
- import { i as PACKAGE_DIR, n as COMPILED } from "./root-CFDjpWuc.js";
2
+ import { n as SECRET_NAME } from "./redact-DJ9JCShu.js";
3
+ import { i as PACKAGE_DIR, n as COMPILED } from "./root-Zeokqt3-.js";
4
+ import { readdirSync, realpathSync, statSync } from "node:fs";
4
5
  import { dirname, isAbsolute, join, normalize, resolve, sep } from "node:path";
5
6
  import { isIP } from "node:net";
6
7
  import { fileURLToPath } from "node:url";
8
+ import picomatch from "picomatch";
7
9
  //#region src/duration.ts
8
10
  const UNITS = {
9
11
  ms: 1,
@@ -249,6 +251,8 @@ function parseGitRepo(repo) {
249
251
  const workspaceLabel = (w) => `${w.repo}${w.ref ? `#${w.ref}` : ""}${w.path ? `:${w.path}` : ""}`;
250
252
  /** The workspace an attempt starts as: the last layer that sets one. */
251
253
  const workspaceOf = (layers) => layers.findLast((l) => l.spec.workspace)?.spec.workspace;
254
+ /** The paths the layers' `files` write, sorted. */
255
+ const filesOf = (layers) => [...new Set(layers.flatMap((l) => Object.keys(l.spec.files ?? {})))].sort();
252
256
  /** A URL with its password (or an https username, which is where tokens go) masked. */
253
257
  function credentialsIn(repo) {
254
258
  if (!URL.canParse(repo)) return void 0;
@@ -379,6 +383,109 @@ function skillHelper(base) {
379
383
  })
380
384
  };
381
385
  }
386
+ /**
387
+ * What `directory()` leaves out unless `defaultIgnores: false`: dependency, build-output, cache
388
+ * and editor directories, in its `glob` syntax. `build/` and `target/` are anchored to the top of
389
+ * the directory, where Flutter, Dart, Gradle and Cargo put their output, since a nested one can be
390
+ * source. `vendor/` isn't here: a committed Go or PHP vendor directory is what an offline build needs.
391
+ */
392
+ const DEFAULT_DIRECTORY_IGNORES = Object.freeze([
393
+ "node_modules/",
394
+ ".DS_Store",
395
+ "dist/",
396
+ ".next/",
397
+ ".turbo/",
398
+ "coverage/",
399
+ ".cache/",
400
+ "__pycache__/",
401
+ ".venv/",
402
+ "venv/",
403
+ ".pytest_cache/",
404
+ ".mypy_cache/",
405
+ "*.pyc",
406
+ ".dart_tool/",
407
+ "/build/",
408
+ "/target/",
409
+ ".gradle/",
410
+ ".idea/",
411
+ ".vscode/"
412
+ ]);
413
+ /**
414
+ * A gitignore-style pattern as a test of a file's path, matched by picomatch: a pattern without an
415
+ * inner `/` matches a name at any depth, a leading `/` anchors, a trailing `/` names a directory,
416
+ * and a pattern also matches every file in a directory it names.
417
+ */
418
+ function globTest(pattern) {
419
+ const dirOnly = pattern.endsWith("/");
420
+ const body = pattern.replace(/\/+$/, "").replaceAll("[!", "[^");
421
+ const glob = body.includes("/") ? body.replace(/^\/+/, "") : `**/${body}`;
422
+ const self = picomatch(glob, { dot: true });
423
+ const inside = picomatch(`${glob}/**/*`, { dot: true });
424
+ return (path, isDir = false) => inside(path) || (isDir || !dirOnly) && self(path);
425
+ }
426
+ /**
427
+ * `glob` as a test of a directory-relative file path: the last pattern that matches decides, a
428
+ * `!` one excluding; a file no pattern matches is in unless some pattern includes.
429
+ */
430
+ function globFilter(patterns) {
431
+ const rules = patterns.map((p) => ({
432
+ include: !p.startsWith("!"),
433
+ test: globTest(p.replace(/^!/, ""))
434
+ }));
435
+ const start = !rules.some((r) => r.include);
436
+ return (path, isDir) => rules.reduce((keep, r) => r.test(path, isDir) ? r.include : keep, start);
437
+ }
438
+ const DIRECTORY_OPTIONS = [
439
+ "into",
440
+ "glob",
441
+ "defaultIgnores"
442
+ ];
443
+ function directoryHelper(base) {
444
+ return (path, options = {}) => {
445
+ const written = path instanceof URL ? path.href : path;
446
+ const what = `directory(${JSON.stringify(written)})`;
447
+ if (typeof written !== "string" || !written) throw new DefinitionError(`directory() needs a path to a directory, relative to this file (got ${JSON.stringify(path)})`);
448
+ if (typeof options !== "object" || options === null || Array.isArray(options)) throw new DefinitionError(`${what}: options are { into?, glob?, defaultIgnores? }`);
449
+ const extra = Object.keys(options).filter((k) => !DIRECTORY_OPTIONS.includes(k));
450
+ if (extra.length) {
451
+ const hint = extra.includes("ignore") || extra.includes("exclude") ? " Exclude with a '!' pattern in glob, e.g. glob: ['!dist/']." : "";
452
+ throw new DefinitionError(`${what}: unknown option "${extra.join("\", \"")}"; it takes into, glob and defaultIgnores.${hint}`);
453
+ }
454
+ const { into, glob = [], defaultIgnores = true } = options;
455
+ if (into !== void 0 && (typeof into !== "string" || into.includes("\\") || isAbsolute(into) || into.split("/").some((p) => p === ".."))) throw new DefinitionError(`${what}: into is a directory relative to the workspace (or ~/…), with forward slashes and no .. (got ${JSON.stringify(into)})`);
456
+ if (!Array.isArray(glob) || glob.some((p) => typeof p !== "string" || !p.replace(/^!/, "").replace(/\//g, ""))) throw new DefinitionError(`${what}: glob is a list of patterns, e.g. ['src/**', 'package.json', '!**/*.test.ts'] (got ${JSON.stringify(glob)})`);
457
+ if (typeof defaultIgnores !== "boolean") throw new DefinitionError(`${what}: defaultIgnores is true or false (got ${JSON.stringify(defaultIgnores)})`);
458
+ const root = toPath(path, base);
459
+ const stat = statSync(root, { throwIfNoEntry: false });
460
+ if (!stat) throw new DefinitionError(`${what}: ${root} doesn't exist`);
461
+ if (!stat.isDirectory()) throw new DefinitionError(`${what}: ${root} is a file, not a directory. Use file(${JSON.stringify(written)}) for one file.`);
462
+ const skip = defaultIgnores ? globFilter(DEFAULT_DIRECTORY_IGNORES) : () => false;
463
+ const keep = globFilter(glob);
464
+ const prefix = into?.replace(/\/+$/, "").replace(/^\.\/?/, "");
465
+ const files = {};
466
+ const walk = (dir, rel, seen) => {
467
+ for (const name of readdirSync(dir).sort()) {
468
+ if (name === ".git") continue;
469
+ const full = join(dir, name);
470
+ const relPath = rel ? `${rel}/${name}` : name;
471
+ const target = statSync(full, { throwIfNoEntry: false });
472
+ if (!target) throw new DefinitionError(`${what}: ${relPath} is a symlink to something that doesn't exist. Remove it, or leave it out with glob: ['!${relPath}'].`);
473
+ if (target.isDirectory()) {
474
+ if (skip(relPath, true)) continue;
475
+ const real = realpathSync(full);
476
+ if (seen.includes(real)) throw new DefinitionError(`${what}: ${relPath} is a symlink to a directory that contains it. Leave it out with glob: ['!${relPath}/'].`);
477
+ walk(full, relPath, [...seen, real]);
478
+ } else if (target.isFile() && !skip(relPath) && keep(relPath)) files[prefix ? `${prefix}/${relPath}` : relPath] = {
479
+ kind: "file",
480
+ path: full
481
+ };
482
+ }
483
+ };
484
+ walk(root, "", [realpathSync(root)]);
485
+ if (Object.keys(files).length === 0) throw new DefinitionError(`${what}: no files in ${root}${glob.length || defaultIgnores ? ` match (glob ${JSON.stringify(glob)}${defaultIgnores ? ", after DEFAULT_DIRECTORY_IGNORES" : ""})` : ""}. Empty directories aren't seeded; create one with a setup step.`);
486
+ return files;
487
+ };
488
+ }
382
489
  const mcpHelper = {
383
490
  stdio: (command, args = [], o = {}) => {
384
491
  if (typeof command !== "string" || !command) throw new DefinitionError("mcp.stdio() needs a command");
@@ -413,6 +520,7 @@ function helpersFor(base) {
413
520
  kind: "file",
414
521
  path: toPath(path, base)
415
522
  }),
523
+ directory: directoryHelper(base),
416
524
  git: gitHelper(base)
417
525
  };
418
526
  }
@@ -524,6 +632,10 @@ function defineEnvironment(name, input) {
524
632
  spec: buildSpec(input, `defineEnvironment("${name}")`, base)
525
633
  }]);
526
634
  }
635
+ /** The control of a compare without a `baseline` when nothing in the cascade sets an environment. */
636
+ const EMPTY_BASELINE = "baseline";
637
+ /** An environment with no layers: the sandbox and harness as they are. */
638
+ const emptyEnvironment = (name) => makeEnvironment(name, []);
527
639
  function applied(env) {
528
640
  if (!env) return {
529
641
  name: "-",
@@ -537,6 +649,6 @@ function applied(env) {
537
649
  };
538
650
  }
539
651
  //#endregion
540
- export { unbrokeredSecrets as _, checkEnv as a, parseDuration as b, isEnvironment as c, isSecret as d, isSecretTemplate as f, stepCommand as g, plannedSecrets as h, checkEgress as i, isHostFile as l, parseGitRepo as m, applied as n, defineEnvironment as o, mcpHosts as p, callerDir as r, helpersFor as s, DEFAULT_SKILL_EXCLUDE as t, isMovingRef as u, workspaceLabel as v, workspaceOf as y };
652
+ export { workspaceLabel as C, unbrokeredSecrets as S, parseDuration as T, isSecretTemplate as _, callerDir as a, plannedSecrets as b, defineEnvironment as c, globFilter as d, helpersFor as f, isSecret as g, isMovingRef as h, applied as i, emptyEnvironment as l, isHostFile as m, DEFAULT_SKILL_EXCLUDE as n, checkEgress as o, isEnvironment as p, EMPTY_BASELINE as r, checkEnv as s, DEFAULT_DIRECTORY_IGNORES as t, filesOf as u, mcpHosts as v, workspaceOf as w, stepCommand as x, parseGitRepo as y };
541
653
 
542
- //# sourceMappingURL=environment-9WHSWLxH.js.map
654
+ //# sourceMappingURL=environment-lDFQY2BF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-lDFQY2BF.js","names":[],"sources":["../src/duration.ts","../src/environment.ts"],"mappings":"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"}