@nxuss/lemma 1.40.0 → 1.41.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 (231) hide show
  1. package/README.md +45 -14
  2. package/bin/brain-ingest.js +41 -0
  3. package/bin/init.js +92 -92
  4. package/bin/postinstall.js +58 -4
  5. package/dashboard/dist/assets/index-Ca05LJvs.js +453 -0
  6. package/dashboard/dist/assets/{index-DNTQXLER.css → index-DdEVyDRj.css} +1 -1
  7. package/dashboard/dist/index.html +2 -2
  8. package/dist/cjs/cli/hostHooks.d.ts +14 -1
  9. package/dist/cjs/cli/hostHooks.d.ts.map +1 -1
  10. package/dist/cjs/cli/hostHooks.js +53 -6
  11. package/dist/cjs/cli/hostHooks.js.map +1 -1
  12. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  13. package/dist/cjs/cli/lemma-proxy.js +29 -10
  14. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  15. package/dist/cjs/contracts/evidence.d.ts +8 -1
  16. package/dist/cjs/contracts/evidence.d.ts.map +1 -1
  17. package/dist/cjs/mcp/index.js +19 -0
  18. package/dist/cjs/mcp/index.js.map +1 -1
  19. package/dist/cjs/mcp/prompts.d.ts +1 -1
  20. package/dist/cjs/mcp/prompts.d.ts.map +1 -1
  21. package/dist/cjs/mcp/prompts.js +6 -16
  22. package/dist/cjs/mcp/prompts.js.map +1 -1
  23. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
  24. package/dist/cjs/mcp/tool-profiles.js +8 -4
  25. package/dist/cjs/mcp/tool-profiles.js.map +1 -1
  26. package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -1
  27. package/dist/cjs/mcp/tools/context-tools.js +21 -17
  28. package/dist/cjs/mcp/tools/context-tools.js.map +1 -1
  29. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  30. package/dist/cjs/mcp/tools/memory.js +25 -4
  31. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  32. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
  33. package/dist/cjs/mcp/tools/workspace.js +97 -54
  34. package/dist/cjs/mcp/tools/workspace.js.map +1 -1
  35. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  36. package/dist/cjs/mcp/tools.js +95 -34
  37. package/dist/cjs/mcp/tools.js.map +1 -1
  38. package/dist/cjs/mcp/utils.d.ts.map +1 -1
  39. package/dist/cjs/mcp/utils.js +6 -1
  40. package/dist/cjs/mcp/utils.js.map +1 -1
  41. package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
  42. package/dist/cjs/mcp/workspaceShared.js +14 -9
  43. package/dist/cjs/mcp/workspaceShared.js.map +1 -1
  44. package/dist/cjs/proxy/KeyManager.d.ts +10 -0
  45. package/dist/cjs/proxy/KeyManager.d.ts.map +1 -1
  46. package/dist/cjs/proxy/KeyManager.js +45 -8
  47. package/dist/cjs/proxy/KeyManager.js.map +1 -1
  48. package/dist/cjs/security/SemanticScrubber.d.ts.map +1 -1
  49. package/dist/cjs/security/SemanticScrubber.js +19 -1
  50. package/dist/cjs/security/SemanticScrubber.js.map +1 -1
  51. package/dist/cjs/subconscious/HostRecall.d.ts +7 -5
  52. package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
  53. package/dist/cjs/subconscious/HostRecall.js +115 -13
  54. package/dist/cjs/subconscious/HostRecall.js.map +1 -1
  55. package/dist/cjs/subconscious/TheBrainV2.d.ts +6 -1
  56. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  57. package/dist/cjs/subconscious/TheBrainV2.js +21 -9
  58. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  59. package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts +3 -0
  60. package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
  61. package/dist/cjs/subconscious/freshness/LocalFsResolver.js +32 -14
  62. package/dist/cjs/subconscious/freshness/LocalFsResolver.js.map +1 -1
  63. package/dist/cjs/utils/CommandOutputDistiller.d.ts +10 -0
  64. package/dist/cjs/utils/CommandOutputDistiller.d.ts.map +1 -1
  65. package/dist/cjs/utils/CommandOutputDistiller.js +40 -2
  66. package/dist/cjs/utils/CommandOutputDistiller.js.map +1 -1
  67. package/dist/cjs/utils/ContextSqueezer.d.ts +13 -1
  68. package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
  69. package/dist/cjs/utils/ContextSqueezer.js +176 -3
  70. package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
  71. package/dist/cjs/utils/FixCapture.d.ts.map +1 -1
  72. package/dist/cjs/utils/FixCapture.js +56 -0
  73. package/dist/cjs/utils/FixCapture.js.map +1 -1
  74. package/dist/cjs/utils/LineNumberMap.d.ts.map +1 -1
  75. package/dist/cjs/utils/LineNumberMap.js +27 -0
  76. package/dist/cjs/utils/LineNumberMap.js.map +1 -1
  77. package/dist/cjs/utils/PatchMatcher.d.ts.map +1 -1
  78. package/dist/cjs/utils/PatchMatcher.js +26 -0
  79. package/dist/cjs/utils/PatchMatcher.js.map +1 -1
  80. package/dist/cjs/utils/ProLicense.d.ts +2 -0
  81. package/dist/cjs/utils/ProLicense.d.ts.map +1 -0
  82. package/dist/cjs/utils/ProLicense.js +31 -0
  83. package/dist/cjs/utils/ProLicense.js.map +1 -0
  84. package/dist/cjs/utils/RevivalThrottle.d.ts +9 -0
  85. package/dist/cjs/utils/RevivalThrottle.d.ts.map +1 -0
  86. package/dist/cjs/utils/RevivalThrottle.js +25 -0
  87. package/dist/cjs/utils/RevivalThrottle.js.map +1 -0
  88. package/dist/cjs/utils/SavingsLedger.d.ts +58 -18
  89. package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -1
  90. package/dist/cjs/utils/SavingsLedger.js +332 -179
  91. package/dist/cjs/utils/SavingsLedger.js.map +1 -1
  92. package/dist/cjs/utils/SearchCache.d.ts +2 -2
  93. package/dist/cjs/utils/SearchCache.d.ts.map +1 -1
  94. package/dist/cjs/utils/SearchCache.js +8 -6
  95. package/dist/cjs/utils/SearchCache.js.map +1 -1
  96. package/dist/cjs/utils/SessionCapture.d.ts +65 -0
  97. package/dist/cjs/utils/SessionCapture.d.ts.map +1 -0
  98. package/dist/cjs/utils/SessionCapture.js +339 -0
  99. package/dist/cjs/utils/SessionCapture.js.map +1 -0
  100. package/dist/cjs/utils/StaleDelta.d.ts +2 -0
  101. package/dist/cjs/utils/StaleDelta.d.ts.map +1 -0
  102. package/dist/cjs/utils/StaleDelta.js +60 -0
  103. package/dist/cjs/utils/StaleDelta.js.map +1 -0
  104. package/dist/cjs/utils/TokenBudgetedReader.d.ts.map +1 -1
  105. package/dist/cjs/utils/TokenBudgetedReader.js +56 -15
  106. package/dist/cjs/utils/TokenBudgetedReader.js.map +1 -1
  107. package/dist/cjs/utils/WorkspaceSearch.d.ts +8 -1
  108. package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
  109. package/dist/cjs/utils/WorkspaceSearch.js +75 -5
  110. package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
  111. package/dist/cjs/utils/reportSavings.d.ts +3 -0
  112. package/dist/cjs/utils/reportSavings.d.ts.map +1 -1
  113. package/dist/cjs/utils/reportSavings.js +44 -5
  114. package/dist/cjs/utils/reportSavings.js.map +1 -1
  115. package/dist/esm/cli/hostHooks.d.ts +14 -1
  116. package/dist/esm/cli/hostHooks.d.ts.map +1 -1
  117. package/dist/esm/cli/hostHooks.js +52 -5
  118. package/dist/esm/cli/hostHooks.js.map +1 -1
  119. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  120. package/dist/esm/cli/lemma-proxy.js +30 -11
  121. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  122. package/dist/esm/contracts/evidence.d.ts +8 -1
  123. package/dist/esm/contracts/evidence.d.ts.map +1 -1
  124. package/dist/esm/mcp/index.js +20 -1
  125. package/dist/esm/mcp/index.js.map +1 -1
  126. package/dist/esm/mcp/prompts.d.ts +1 -1
  127. package/dist/esm/mcp/prompts.d.ts.map +1 -1
  128. package/dist/esm/mcp/prompts.js +6 -16
  129. package/dist/esm/mcp/prompts.js.map +1 -1
  130. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
  131. package/dist/esm/mcp/tool-profiles.js +8 -4
  132. package/dist/esm/mcp/tool-profiles.js.map +1 -1
  133. package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -1
  134. package/dist/esm/mcp/tools/context-tools.js +21 -17
  135. package/dist/esm/mcp/tools/context-tools.js.map +1 -1
  136. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  137. package/dist/esm/mcp/tools/memory.js +26 -5
  138. package/dist/esm/mcp/tools/memory.js.map +1 -1
  139. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
  140. package/dist/esm/mcp/tools/workspace.js +98 -55
  141. package/dist/esm/mcp/tools/workspace.js.map +1 -1
  142. package/dist/esm/mcp/tools.d.ts.map +1 -1
  143. package/dist/esm/mcp/tools.js +94 -33
  144. package/dist/esm/mcp/tools.js.map +1 -1
  145. package/dist/esm/mcp/utils.d.ts.map +1 -1
  146. package/dist/esm/mcp/utils.js +6 -1
  147. package/dist/esm/mcp/utils.js.map +1 -1
  148. package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
  149. package/dist/esm/mcp/workspaceShared.js +14 -9
  150. package/dist/esm/mcp/workspaceShared.js.map +1 -1
  151. package/dist/esm/proxy/KeyManager.d.ts +10 -0
  152. package/dist/esm/proxy/KeyManager.d.ts.map +1 -1
  153. package/dist/esm/proxy/KeyManager.js +43 -6
  154. package/dist/esm/proxy/KeyManager.js.map +1 -1
  155. package/dist/esm/security/SemanticScrubber.d.ts.map +1 -1
  156. package/dist/esm/security/SemanticScrubber.js +19 -1
  157. package/dist/esm/security/SemanticScrubber.js.map +1 -1
  158. package/dist/esm/subconscious/HostRecall.d.ts +7 -5
  159. package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
  160. package/dist/esm/subconscious/HostRecall.js +115 -14
  161. package/dist/esm/subconscious/HostRecall.js.map +1 -1
  162. package/dist/esm/subconscious/TheBrainV2.d.ts +6 -1
  163. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  164. package/dist/esm/subconscious/TheBrainV2.js +21 -9
  165. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  166. package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts +3 -0
  167. package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
  168. package/dist/esm/subconscious/freshness/LocalFsResolver.js +32 -14
  169. package/dist/esm/subconscious/freshness/LocalFsResolver.js.map +1 -1
  170. package/dist/esm/utils/CommandOutputDistiller.d.ts +10 -0
  171. package/dist/esm/utils/CommandOutputDistiller.d.ts.map +1 -1
  172. package/dist/esm/utils/CommandOutputDistiller.js +39 -2
  173. package/dist/esm/utils/CommandOutputDistiller.js.map +1 -1
  174. package/dist/esm/utils/ContextSqueezer.d.ts +13 -1
  175. package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
  176. package/dist/esm/utils/ContextSqueezer.js +175 -3
  177. package/dist/esm/utils/ContextSqueezer.js.map +1 -1
  178. package/dist/esm/utils/FixCapture.d.ts.map +1 -1
  179. package/dist/esm/utils/FixCapture.js +56 -0
  180. package/dist/esm/utils/FixCapture.js.map +1 -1
  181. package/dist/esm/utils/LineNumberMap.d.ts.map +1 -1
  182. package/dist/esm/utils/LineNumberMap.js +27 -0
  183. package/dist/esm/utils/LineNumberMap.js.map +1 -1
  184. package/dist/esm/utils/PatchMatcher.d.ts.map +1 -1
  185. package/dist/esm/utils/PatchMatcher.js +26 -0
  186. package/dist/esm/utils/PatchMatcher.js.map +1 -1
  187. package/dist/esm/utils/ProLicense.d.ts +2 -0
  188. package/dist/esm/utils/ProLicense.d.ts.map +1 -0
  189. package/dist/esm/utils/ProLicense.js +25 -0
  190. package/dist/esm/utils/ProLicense.js.map +1 -0
  191. package/dist/esm/utils/RevivalThrottle.d.ts +9 -0
  192. package/dist/esm/utils/RevivalThrottle.d.ts.map +1 -0
  193. package/dist/esm/utils/RevivalThrottle.js +22 -0
  194. package/dist/esm/utils/RevivalThrottle.js.map +1 -0
  195. package/dist/esm/utils/SavingsLedger.d.ts +58 -18
  196. package/dist/esm/utils/SavingsLedger.d.ts.map +1 -1
  197. package/dist/esm/utils/SavingsLedger.js +332 -179
  198. package/dist/esm/utils/SavingsLedger.js.map +1 -1
  199. package/dist/esm/utils/SearchCache.d.ts +2 -2
  200. package/dist/esm/utils/SearchCache.d.ts.map +1 -1
  201. package/dist/esm/utils/SearchCache.js +8 -6
  202. package/dist/esm/utils/SearchCache.js.map +1 -1
  203. package/dist/esm/utils/SessionCapture.d.ts +65 -0
  204. package/dist/esm/utils/SessionCapture.d.ts.map +1 -0
  205. package/dist/esm/utils/SessionCapture.js +328 -0
  206. package/dist/esm/utils/SessionCapture.js.map +1 -0
  207. package/dist/esm/utils/StaleDelta.d.ts +2 -0
  208. package/dist/esm/utils/StaleDelta.d.ts.map +1 -0
  209. package/dist/esm/utils/StaleDelta.js +54 -0
  210. package/dist/esm/utils/StaleDelta.js.map +1 -0
  211. package/dist/esm/utils/TokenBudgetedReader.d.ts.map +1 -1
  212. package/dist/esm/utils/TokenBudgetedReader.js +56 -15
  213. package/dist/esm/utils/TokenBudgetedReader.js.map +1 -1
  214. package/dist/esm/utils/WorkspaceSearch.d.ts +8 -1
  215. package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
  216. package/dist/esm/utils/WorkspaceSearch.js +74 -5
  217. package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
  218. package/dist/esm/utils/reportSavings.d.ts +3 -0
  219. package/dist/esm/utils/reportSavings.d.ts.map +1 -1
  220. package/dist/esm/utils/reportSavings.js +42 -5
  221. package/dist/esm/utils/reportSavings.js.map +1 -1
  222. package/package.json +4 -4
  223. package/dashboard/dist/assets/index-DzL_Zu3m.js +0 -452
  224. package/dist/cjs/examples/basic-usage.d.ts +0 -12
  225. package/dist/cjs/examples/basic-usage.d.ts.map +0 -1
  226. package/dist/cjs/examples/basic-usage.js +0 -128
  227. package/dist/cjs/examples/basic-usage.js.map +0 -1
  228. package/dist/esm/examples/basic-usage.d.ts +0 -12
  229. package/dist/esm/examples/basic-usage.d.ts.map +0 -1
  230. package/dist/esm/examples/basic-usage.js +0 -126
  231. package/dist/esm/examples/basic-usage.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LocalFsResolver.d.ts","sourceRoot":"","sources":["../../../../src/subconscious/freshness/LocalFsResolver.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,QAAQ,CAAC,IAAI,OAAO;IACpB,OAAO,CAAC,OAAO,CAAS;IAMxB,OAAO,CAAC,SAAS,CAAqC;gBAE1C,OAAO,GAAE,MAAsB;IAI3C,gGAAgG;IAChG,OAAO,CAAC,WAAW;IAInB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBxC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAsC5F;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"LocalFsResolver.d.ts","sourceRoot":"","sources":["../../../../src/subconscious/freshness/LocalFsResolver.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AASjE,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,QAAQ,CAAC,IAAI,OAAO;IACpB,OAAO,CAAC,OAAO,CAAS;IAMxB,OAAO,CAAC,SAAS,CAAqC;gBAE1C,OAAO,GAAE,MAAsB;IAI3C,gGAAgG;IAChG,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAqBjB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIxC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI9C,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAyChH;AAED,eAAe,eAAe,CAAC"}
@@ -25,6 +25,10 @@ const crypto_1 = __importDefault(require("crypto"));
25
25
  const SymbolSurgicalContext_1 = require("../../utils/SymbolSurgicalContext");
26
26
  const OtherLanguageSymbols_1 = require("../../utils/OtherLanguageSymbols");
27
27
  const JsonKeys_1 = require("../../utils/JsonKeys");
28
+ const sha256 = (text) => crypto_1.default.createHash('sha256').update(text).digest('hex');
29
+ // A checkout with core.autocrlf=true turns every \n into \r\n, so hashing the text as read would
30
+ // give the same code another hash on Windows and mark a team memory stale. Hash the LF form.
31
+ const toLf = (text) => text.replace(/\r\n/g, '\n');
28
32
  class LocalFsResolver {
29
33
  constructor(rootDir = process.cwd()) {
30
34
  this.lane = 'A';
@@ -40,23 +44,34 @@ class LocalFsResolver {
40
44
  resolvePath(p) {
41
45
  return path_1.default.isAbsolute(p) ? p : path_1.default.resolve(this.rootDir, p);
42
46
  }
43
- hashFile(pathStr) {
44
- const abs = this.resolvePath(pathStr);
47
+ hashEntry(abs) {
45
48
  try {
46
49
  const stat = fs_1.default.statSync(abs);
47
50
  const cached = this.hashCache.get(abs);
48
- if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size) {
49
- return cached.hash;
50
- }
51
- const hash = crypto_1.default.createHash('sha256').update(fs_1.default.readFileSync(abs, 'utf8')).digest('hex');
52
- this.hashCache.set(abs, { mtimeMs: stat.mtimeMs, size: stat.size, hash });
53
- return hash;
51
+ if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size)
52
+ return cached;
53
+ const text = fs_1.default.readFileSync(abs, 'utf8');
54
+ const lf = toLf(text);
55
+ const entry = {
56
+ mtimeMs: stat.mtimeMs,
57
+ size: stat.size,
58
+ hash: sha256(lf),
59
+ ...(lf !== text ? { legacy: sha256(text) } : {}),
60
+ };
61
+ this.hashCache.set(abs, entry);
62
+ return entry;
54
63
  }
55
64
  catch {
56
65
  this.hashCache.delete(abs);
57
- return 'MISSING';
66
+ return null;
58
67
  }
59
68
  }
69
+ hashFile(pathStr) {
70
+ return this.hashEntry(this.resolvePath(pathStr))?.hash ?? 'MISSING';
71
+ }
72
+ hashFileLegacy(pathStr) {
73
+ return this.hashEntry(this.resolvePath(pathStr))?.legacy ?? null;
74
+ }
60
75
  hashSymbol(pathStr, symbolName) {
61
76
  const abs = this.resolvePath(pathStr);
62
77
  if ((0, JsonKeys_1.isJsonFile)(abs)) {
@@ -66,7 +81,7 @@ class LocalFsResolver {
66
81
  const text = (0, JsonKeys_1.jsonKeyText)(abs, fs_1.default.readFileSync(abs, 'utf8'), symbolName);
67
82
  if (text === null)
68
83
  return { raw: 'MISSING', normalized: 'MISSING' };
69
- const hash = crypto_1.default.createHash('sha256').update(text).digest('hex');
84
+ const hash = sha256(toLf(text));
70
85
  return { raw: hash, normalized: hash };
71
86
  }
72
87
  catch {
@@ -81,8 +96,9 @@ class LocalFsResolver {
81
96
  if (text === null)
82
97
  return { raw: 'MISSING', normalized: 'MISSING' };
83
98
  return {
84
- raw: crypto_1.default.createHash('sha256').update(text).digest('hex'),
85
- normalized: crypto_1.default.createHash('sha256').update((0, OtherLanguageSymbols_1.normalizeOtherLanguage)(abs, text)).digest('hex'),
99
+ raw: sha256(toLf(text)),
100
+ normalized: sha256((0, OtherLanguageSymbols_1.normalizeOtherLanguage)(abs, text)),
101
+ ...(text.includes('\r\n') ? { rawLegacy: sha256(text) } : {}),
86
102
  };
87
103
  }
88
104
  catch {
@@ -91,9 +107,11 @@ class LocalFsResolver {
91
107
  }
92
108
  try {
93
109
  const ctx = (0, SymbolSurgicalContext_1.getSymbolSurgicalContext)(path_1.default.dirname(abs), path_1.default.basename(abs), symbolName);
110
+ const impl = ctx.implementation;
94
111
  return {
95
- raw: crypto_1.default.createHash('sha256').update(ctx.implementation).digest('hex'),
96
- normalized: crypto_1.default.createHash('sha256').update((0, SymbolSurgicalContext_1.normalizeForFreshness)(ctx.implementation)).digest('hex'),
112
+ raw: sha256(toLf(impl)),
113
+ normalized: sha256((0, SymbolSurgicalContext_1.normalizeForFreshness)(impl)),
114
+ ...(impl.includes('\r\n') ? { rawLegacy: sha256(impl) } : {}),
97
115
  };
98
116
  }
99
117
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"LocalFsResolver.js","sourceRoot":"","sources":["../../../../src/subconscious/freshness/LocalFsResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalFsResolver.js","sourceRoot":"","sources":["../../../../src/subconscious/freshness/LocalFsResolver.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,16 @@
16
16
  * distilled view carries a handle back to it, so anything trimmed can be retrieved
17
17
  * verbatim (see `readRegion`). Nothing is silently dropped.
18
18
  */
19
+ /**
20
+ * Terminal colour and cursor sequences (CSI `ESC [ … letter`, OSC `ESC ] … BEL|ST`).
21
+ *
22
+ * A host that gives the command a colour-capable environment gets every `FAIL`, `Tests 2 failed` and
23
+ * file name wrapped in them. They carry nothing for a model, cost tokens, and broke format detection:
24
+ * vitest's `Test Files 2 failed` has an escape between the label and the number, so the detector
25
+ * answered "generic" and the reply was a 10k-character head/tail instead of ~1.4k (measured on real
26
+ * sessions: 215k-character raw runs, 9.9k vs 2.4k distilled once the escapes are gone).
27
+ */
28
+ export declare function stripAnsi(text: string): string;
19
29
  export type OutputFormat = "jest" | "vitest" | "tsc" | "eslint" | "generic";
20
30
  /** A named, retrievable slice of the raw output (1-indexed, inclusive). */
21
31
  export interface OutputSection {
@@ -1 +1 @@
1
- {"version":3,"file":"CommandOutputDistiller.d.ts","sourceRoot":"","sources":["../../../src/utils/CommandOutputDistiller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAwBH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5E,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAoDD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAepH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,+GAA+G;IAC/G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,CAyD3D;AAWD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAUtD;AAgYD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,eAAe,CAgEhG;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAc7D"}
1
+ {"version":3,"file":"CommandOutputDistiller.d.ts","sourceRoot":"","sources":["../../../src/utils/CommandOutputDistiller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9C;AA4BD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5E,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAoDD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAepH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,+GAA+G;IAC/G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,CAyD3D;AAWD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAUtD;AAyYD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,eAAe,CAkEhG;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAkB7D"}
@@ -21,6 +21,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
21
21
  return (mod && mod.__esModule) ? mod : { "default": mod };
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.stripAnsi = stripAnsi;
24
25
  exports.storeRawOutput = storeRawOutput;
25
26
  exports.readRegion = readRegion;
26
27
  exports.detectFormat = detectFormat;
@@ -30,8 +31,30 @@ const fs_1 = __importDefault(require("fs"));
30
31
  const path_1 = __importDefault(require("path"));
31
32
  const os_1 = __importDefault(require("os"));
32
33
  const crypto_1 = __importDefault(require("crypto"));
34
+ /**
35
+ * Terminal colour and cursor sequences (CSI `ESC [ … letter`, OSC `ESC ] … BEL|ST`).
36
+ *
37
+ * A host that gives the command a colour-capable environment gets every `FAIL`, `Tests 2 failed` and
38
+ * file name wrapped in them. They carry nothing for a model, cost tokens, and broke format detection:
39
+ * vitest's `Test Files 2 failed` has an escape between the label and the number, so the detector
40
+ * answered "generic" and the reply was a 10k-character head/tail instead of ~1.4k (measured on real
41
+ * sessions: 215k-character raw runs, 9.9k vs 2.4k distilled once the escapes are gone).
42
+ */
43
+ function stripAnsi(text) {
44
+ // eslint-disable-next-line no-control-regex -- matching ESC is the point
45
+ return text.replace(/\u001b\[[0-?]*[ -/]*[@-~]|\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g, "");
46
+ }
33
47
  /** Outputs at or under this size are returned untouched — distilling them saves nothing. */
34
48
  const DISTILL_THRESHOLD_CHARS = 3000;
49
+ /**
50
+ * For a format with a parser (jest, vitest, tsc, eslint) the distilled view is the failures or the
51
+ * summary line, a few hundred chars at most, so distilling pays off much earlier. Measured: a green
52
+ * jest run of 2,130 chars (mostly expected console.error blocks) is 105 chars of summary; it used to
53
+ * come back whole because it was under 3,000. The complete output is stored either way.
54
+ */
55
+ const PARSED_FORMAT_THRESHOLD_CHARS = 1000;
56
+ /** What the footer adds to a distilled reply, so a view barely shorter than the original is not worth it. */
57
+ const FOOTER_COST_ESTIMATE_CHARS = 200;
35
58
  /** Max failing-test blocks rendered inline before we point at the handle for the rest. */
36
59
  const MAX_FAILURES_INLINE = 20;
37
60
  /** Max lines kept from a single failure's reason/diff body. */
@@ -224,6 +247,15 @@ function collectJestFailures(lines) {
224
247
  current = { title: m[1].trim(), startLine: i + 1, endLine: lines.length, body: [] };
225
248
  continue;
226
249
  }
250
+ // The result line of the next suite (`PASS path`, `FAIL path`, at column 0) closes the block too.
251
+ // Without it everything jest prints between two suites, the PASS lines and their `● Console`
252
+ // blocks, was swallowed into the last failure's body and shown as if it were part of the reason.
253
+ if (current && /^(PASS|FAIL)\s+\S/.test(lines[i])) {
254
+ current.endLine = i;
255
+ blocks.push(current);
256
+ current = null;
257
+ continue;
258
+ }
227
259
  // A summary line closes the last failure block.
228
260
  if (current && /^(Test Suites|Tests|Snapshots|Time|Ran all test suites):/.test(lines[i])) {
229
261
  current.endLine = i;
@@ -522,8 +554,8 @@ function distillCommandOutput(rawOutput, options) {
522
554
  const raw = rawOutput ?? "";
523
555
  const originalChars = raw.length;
524
556
  const originalLines = raw === "" ? 0 : raw.split("\n").length;
525
- const threshold = options.thresholdChars ?? DISTILL_THRESHOLD_CHARS;
526
557
  const format = detectFormat(raw);
558
+ const threshold = options.thresholdChars ?? (format === "generic" ? DISTILL_THRESHOLD_CHARS : PARSED_FORMAT_THRESHOLD_CHARS);
527
559
  // Small outputs: distilling costs more than it saves, and the raw text is already
528
560
  // the most faithful thing we can hand back.
529
561
  if (options.raw || originalChars <= threshold) {
@@ -556,7 +588,9 @@ function distillCommandOutput(rawOutput, options) {
556
588
  }
557
589
  // If a parser somehow produced something no smaller than the original, the honest move
558
590
  // is to hand back the original rather than a lossy view that saved nothing.
559
- if (result.text.length >= originalChars) {
591
+ // The reply also carries the footer (~200 chars even in its one-line form), so a view that is only
592
+ // marginally shorter than the original would cost more than it saves.
593
+ if (result.text.length + FOOTER_COST_ESTIMATE_CHARS >= originalChars) {
560
594
  return {
561
595
  format,
562
596
  text: raw,
@@ -583,6 +617,10 @@ function buildDistillFooter(d) {
583
617
  if (!d.handle)
584
618
  return "";
585
619
  const pct = Math.round((1 - d.distilledChars / d.originalChars) * 100);
620
+ // With no named sections there is nothing to list: one line says what this is and how to get the rest.
621
+ if (!d.sections.length) {
622
+ return `\n── distilled (${d.format}): ${d.distilledChars} of ${d.originalChars} chars (${pct}% withheld, ${d.originalLines} lines) — full output: output_region({ handle: "${d.handle}", all: true }), or startLine/endLine for a range ──`;
623
+ }
586
624
  const lines = [
587
625
  "",
588
626
  `── distilled (${d.format}) — showing ${d.distilledChars} of ${d.originalChars} chars (${pct}% withheld, ${d.originalLines} lines total) ──`,
@@ -1 +1 @@
1
- {"version":3,"file":"CommandOutputDistiller.js","sourceRoot":"","sources":["../../../src/utils/CommandOutputDistiller.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;AAmGH,wCAeC;AAyBD,gCAyDC;AAWD,oCAUC;AAwYD,oDAgEC;AAGD,gDAcC;AAhrBD,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AACpB,oDAA4B;AAE5B,4FAA4F;AAC5F,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,0FAA0F;AAC1F,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,gDAAgD;AAChD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,oDAAoD;AACpD,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,kFAAkF;AAClF,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAgCjE,kFAAkF;AAElF,SAAS,YAAY,CAAC,MAAc,EAAE,GAAW;IAC/C,OAAO,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,YAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,IAAI,kBAAkB;QAAE,OAAO;IAEjD,MAAM,QAAQ,GAAG,OAAO;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAsD,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC;YACH,YAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,IAAI,CAAC;YACH,YAAE,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,GAAW,EAAE,OAAe,EAAE,MAAoB,EAAE,QAAyB;IAC1G,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,gBAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,IAAI,GAAe;QACvB,MAAM;QACN,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;QAClC,MAAM;QACN,QAAQ;KACT,CAAC;IACF,YAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,YAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACtF,UAAU,EAAE,CAAC;IACb,OAAO,MAAM,CAAC;AAChB,CAAC;AAwBD,wFAAwF;AACxF,SAAgB,UAAU,CAAC,GAAkB;IAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,gCAAgC,GAAG,CAAC,MAAM,2DAA2D,kBAAkB,sDAAsD;SACrL,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,GAAsB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAe,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IAEvB,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,aAAa;IACf,CAAC;SAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,GAAG,GACP,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,wBAAwB,GAAG,CAAC,OAAO,eAAe,GAAG,CAAC,MAAM,GAAG;gBACtE,iBAAiB,EAAE,SAAS;gBAC5B,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,MAAM;aACzB,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;QACtB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;IACpB,CAAC;SAAM,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACxC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,GAAG,GAAG,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,GAAG,0BAA0B,KAAK,IAAI,EAAE,CAAC;IACtG,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,iBAAiB,EAAE,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,kFAAkF;AAElF,uFAAuF;AACvF,0FAA0F;AAC1F,6CAA6C;AAC7C,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAC1D,MAAM,SAAS,GAAG,wDAAwD,CAAC;AAC3E,MAAM,eAAe,GAAG,gEAAgE,CAAC;AAEzF,SAAgB,YAAY,CAAC,GAAW;IACtC,IAAI,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/F,uFAAuF;IACvF,sCAAsC;IACtC,IAAI,+CAA+C,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3G,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/F,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kFAAkF;AAElF,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,KAAe,EAAE,GAAW;IACjD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,KAAK,CAAC,MAAM,GAAG,GAAG,iCAAiC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,OAAO,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC;IAC1D,OAAO,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,GAAG,EAAE,CAAC;IAC1D,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAWD,SAAS,mBAAmB,CAAC,KAAe;IAC1C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,OAAO,GAAwB,IAAI,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC;YACN,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,qDAAqD;gBAC1E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YACD,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACpF,SAAS;QACX,CAAC;QACD,gDAAgD;QAChD,IAAI,OAAO,IAAI,0DAA0D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAoB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,CAAC,CAAC,KAAK;QACb,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAC,CAAC;IAEJ,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,kBAAkB,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/E,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,0DAA0D;QAC1D,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5D,0DAA0D;QAC1D,MAAM,MAAM,GAAG,SAAS,CACtB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,eAAe,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACzB,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5F,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,iDAAiD,CAAC,CAAC;QAC/F,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iDAAiD,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,8CAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC7C,+CAA+C;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;QAChG,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AACvD,CAAC;AAED,kFAAkF;AAClF,EAAE;AACF,kEAAkE;AAClE,iFAAiF;AACjF,mFAAmF;AACnF,yFAAyF;AAEzF,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AACrD,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AACnE,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,OAAO,GAAwB,IAAI,CAAC;IAExC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE;QAChC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACjD,8EAA8E;QAC9E,gFAAgF;QAChF,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,CAAC,CAAC,CAAC;YACT,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACzF,SAAS;QACX,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3G,KAAK,CAAC,CAAC,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEpB,MAAM,QAAQ,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACrH,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErE,MAAM,MAAM,GAAG,SAAS,CACtB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,eAAe,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1C,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACzB,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5F,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,iDAAiD,CAAC,CAAC;QAC7F,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzG,IAAI,OAAO,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IAEzC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvG,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AACvD,CAAC;AAED,kFAAkF;AAElF,4FAA4F;AAC5F,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAWxC,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACV,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACb,KAAK,EAAE,KAAK,GAAG,CAAC;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAE5E,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,GAAG,GAAa;QACpB,GAAG,KAAK,yBAAyB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;KACrH,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,GAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEb,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACvG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAExC,kFAAkF;QAClF,oFAAoF;QACpF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6E,CAAC;QACrG,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,4BAA4B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,4BAA4B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACxH,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;YACtE,GAAG,CAAC,IAAI,CAAC,2CAA2C,IAAI,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC5C,CAAC;AAED,kFAAkF;AAElF,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE7C,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,KAAK,GAAG,CAAC,QAAgB,EAAE,EAAE;QACjC,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9E,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,MAAM,GAAG,oBAAoB,mCAAmC,WAAW,IAAI,CAAC,CAAC;QAC/G,CAAC;QACD,WAAW,GAAG,IAAI,CAAC;QACnB,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjG,KAAK,CAAC,KAAK,CAAC,CAAC;YACb,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YACrB,aAAa,EAAE,CAAC;YAChB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEpB,IAAI,aAAa,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEpF,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG;QACb,GAAG,aAAa,gBAAgB,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,QAAQ,CAAC,MAAM,QAAQ,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;QACnI,cAAc,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAChE,EAAE;KACH,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC5D,CAAC;AAED,kFAAkF;AAElF,MAAM,WAAW,GACf,4IAA4I,CAAC;AAE/I,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,kBAAkB,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC;IAEpD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,IAAI,wBAAwB;YAAE,MAAM;IACvD,CAAC;IAED,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC;IACrD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,MAAM,OAAO,mFAAmF,CAAC,CAAC;YAC3G,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YACpB,IAAI,MAAM,CAAC,MAAM,IAAI,wBAAwB;gBAAE,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,MAAM,OAAO,4DAA4D,CAAC,CAAC;QACtF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAElB,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAChD,CAAC;AAYD,SAAgB,oBAAoB,CAAC,SAAiB,EAAE,OAAuB;IAC7E,MAAM,GAAG,GAAG,SAAS,IAAI,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,MAAM,aAAa,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,uBAAuB,CAAC;IACpE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEjC,kFAAkF;IAClF,4CAA4C;IAC5C,IAAI,OAAO,CAAC,GAAG,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM;YACN,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,aAAa;YACb,cAAc,EAAE,aAAa;YAC7B,aAAa;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,IAAI,MAAmD,CAAC;IACxD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,KAAK;YACR,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM;QACR;YACE,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,uFAAuF;IACvF,4EAA4E;IAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QACxC,OAAO;YACL,MAAM;YACN,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,aAAa;YACb,cAAc,EAAE,aAAa;YAC7B,aAAa;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE7E,OAAO;QACL,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM;QACN,aAAa;QACb,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAClC,aAAa;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAgB,kBAAkB,CAAC,CAAkB;IACnD,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,iBAAiB,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,cAAc,OAAO,CAAC,CAAC,aAAa,WAAW,GAAG,eAAe,CAAC,CAAC,aAAa,kBAAkB;QAC5I,+BAA+B,CAAC,CAAC,MAAM,0CAA0C;QACjF,8BAA8B,CAAC,CAAC,MAAM,iDAAiD;KACxF,CAAC;IACF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,MAAM,+CAA+C,CAAC,CAAC;IACpG,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,MAAM,gDAAgD,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"CommandOutputDistiller.js","sourceRoot":"","sources":["../../../src/utils/CommandOutputDistiller.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,19 @@ export interface CommentOptions {
28
28
  }
29
29
  export declare function stripComments(code: string, options?: CommentOptions): string;
30
30
  /**
31
- * Compress code structure by removing redundant whitespace and blank lines
31
+ * [start, end) ranges of the string, template and Python triple-quoted literals in `code`.
32
+ *
33
+ * Whitespace compaction and import stripping work on lines and runs of spaces, so without this they
34
+ * rewrote the inside of a SQL string, a prompt template or a doc string (measured: 54 of 246 files in
35
+ * this repo changed that way) and removed an `import` line that lived inside a template literal.
36
+ * Comments and regex literals are stepped over so a quote or backtick inside one does not open a
37
+ * literal; a quoted string that does not close ends at its line, a template at the end of the input.
38
+ */
39
+ export declare function findStringLiterals(code: string): Array<[number, number]>;
40
+ /**
41
+ * Compress code structure by removing redundant whitespace and blank lines.
42
+ *
43
+ * Indentation and runs of spaces collapse; what sits inside a string or template literal does not.
32
44
  */
33
45
  export declare function compactWhitespace(code: string): string;
34
46
  export declare function detectFunctionDeclaration(context: string): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSqueezer.d.ts","sourceRoot":"","sources":["../../../src/utils/ContextSqueezer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextSqueezer.d.ts","sourceRoot":"","sources":["../../../src/utils/ContextSqueezer.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.stripComments = stripComments;
11
+ exports.findStringLiterals = findStringLiterals;
11
12
  exports.compactWhitespace = compactWhitespace;
12
13
  exports.detectFunctionDeclaration = detectFunctionDeclaration;
13
14
  exports.treeShakeCode = treeShakeCode;
@@ -164,15 +165,169 @@ function stripComments(code, options = {}) {
164
165
  return out;
165
166
  }
166
167
  /**
167
- * Compress code structure by removing redundant whitespace and blank lines
168
+ * [start, end) ranges of the string, template and Python triple-quoted literals in `code`.
169
+ *
170
+ * Whitespace compaction and import stripping work on lines and runs of spaces, so without this they
171
+ * rewrote the inside of a SQL string, a prompt template or a doc string (measured: 54 of 246 files in
172
+ * this repo changed that way) and removed an `import` line that lived inside a template literal.
173
+ * Comments and regex literals are stepped over so a quote or backtick inside one does not open a
174
+ * literal; a quoted string that does not close ends at its line, a template at the end of the input.
175
+ */
176
+ function findStringLiterals(code) {
177
+ const n = code.length;
178
+ const ranges = [];
179
+ let i = 0;
180
+ let last = ''; // last significant (non-space) char outside literals and comments, for the regex test
181
+ const scanQuoted = (quote) => {
182
+ i++;
183
+ while (i < n) {
184
+ const ch = code[i];
185
+ if (ch === '\\') {
186
+ i += 2;
187
+ continue;
188
+ }
189
+ if (ch === '\n')
190
+ return;
191
+ i++;
192
+ if (ch === quote)
193
+ return;
194
+ }
195
+ };
196
+ const scanTemplate = () => {
197
+ i++; // opening backtick
198
+ while (i < n) {
199
+ const ch = code[i];
200
+ if (ch === '\\') {
201
+ i += 2;
202
+ continue;
203
+ }
204
+ if (ch === '`') {
205
+ i++;
206
+ return;
207
+ }
208
+ if (ch === '$' && code[i + 1] === '{') {
209
+ i += 2;
210
+ let depth = 1;
211
+ while (i < n && depth > 0) {
212
+ const e = code[i];
213
+ if (e === '`') {
214
+ scanTemplate();
215
+ continue;
216
+ }
217
+ if (e === '"' || e === "'") {
218
+ scanQuoted(e);
219
+ continue;
220
+ }
221
+ if (e === '{')
222
+ depth++;
223
+ else if (e === '}')
224
+ depth--;
225
+ i++;
226
+ }
227
+ continue;
228
+ }
229
+ i++;
230
+ }
231
+ };
232
+ const regexAllowed = () => last === '' || '(,=:[!&|?{};+-*%<>~^'.includes(last);
233
+ while (i < n) {
234
+ const c = code[i];
235
+ const d = code[i + 1];
236
+ const start = i;
237
+ if (c === '"' || c === "'") {
238
+ if (code.startsWith(c.repeat(3), i)) {
239
+ const close = code.indexOf(c.repeat(3), i + 3);
240
+ i = close === -1 ? n : close + 3;
241
+ }
242
+ else {
243
+ scanQuoted(c);
244
+ }
245
+ ranges.push([start, i]);
246
+ last = c;
247
+ }
248
+ else if (c === '`') {
249
+ scanTemplate();
250
+ ranges.push([start, i]);
251
+ last = c;
252
+ }
253
+ else if (c === '/' && d === '*') {
254
+ const end = code.indexOf('*/', i + 2);
255
+ i = end === -1 ? n : end + 2;
256
+ }
257
+ else if (c === '/' && d === '/' && code[i - 1] !== ':') {
258
+ while (i < n && code[i] !== '\n')
259
+ i++;
260
+ }
261
+ else if (c === '/' && regexAllowed()) {
262
+ // A regex literal closes on its own line; if it does not, the '/' was a division.
263
+ let j = i + 1;
264
+ let inClass = false;
265
+ let closed = false;
266
+ while (j < n && code[j] !== '\n') {
267
+ const ch = code[j];
268
+ if (ch === '\\') {
269
+ j += 2;
270
+ continue;
271
+ }
272
+ if (ch === '[')
273
+ inClass = true;
274
+ else if (ch === ']')
275
+ inClass = false;
276
+ else if (ch === '/' && !inClass) {
277
+ closed = true;
278
+ break;
279
+ }
280
+ j++;
281
+ }
282
+ if (closed) {
283
+ i = j + 1;
284
+ last = '/';
285
+ }
286
+ else {
287
+ i++;
288
+ last = c;
289
+ }
290
+ }
291
+ else {
292
+ if (!/\s/.test(c))
293
+ last = c;
294
+ i++;
295
+ }
296
+ }
297
+ return ranges;
298
+ }
299
+ const LITERAL_OPEN = '';
300
+ const LITERAL_CLOSE = '';
301
+ /**
302
+ * Compress code structure by removing redundant whitespace and blank lines.
303
+ *
304
+ * Indentation and runs of spaces collapse; what sits inside a string or template literal does not.
168
305
  */
169
306
  function compactWhitespace(code) {
170
- return code
307
+ const compact = (text) => text
171
308
  .split('\n')
172
309
  .map(line => line.trimEnd()) // Trim trailing spaces
173
310
  .filter(line => line.trim().length > 0) // Remove empty lines
174
311
  .join('\n')
175
312
  .replace(/[ \t]+/g, ' '); // Collapse multiple spaces/tabs into a single space
313
+ // Only literals that compaction would actually change need protecting.
314
+ const fragile = findStringLiterals(code).filter(([s, e]) => /[ \t]{2}|\t|\n/.test(code.slice(s, e)));
315
+ if (fragile.length === 0)
316
+ return compact(code);
317
+ // The placeholder alphabet must be free in the input, or restoring could rewrite real text.
318
+ if (code.includes(LITERAL_OPEN) || code.includes(LITERAL_CLOSE)) {
319
+ return code.split('\n').map(line => line.trimEnd()).filter(line => line.trim().length > 0).join('\n');
320
+ }
321
+ const kept = [];
322
+ let masked = '';
323
+ let at = 0;
324
+ for (const [s, e] of fragile) {
325
+ masked += code.slice(at, s) + LITERAL_OPEN + kept.length + LITERAL_CLOSE;
326
+ kept.push(code.slice(s, e));
327
+ at = e;
328
+ }
329
+ masked += code.slice(at);
330
+ return compact(masked).replace(new RegExp(`${LITERAL_OPEN}(\\d+)${LITERAL_CLOSE}`, 'g'), (_m, idx) => kept[Number(idx)]);
176
331
  }
177
332
  function detectFunctionDeclaration(context) {
178
333
  // Normalize whitespaces
@@ -627,9 +782,27 @@ function stripImports(code, markerPrefix = '//') {
627
782
  // understand, so keep the line rather than risk deleting real code.
628
783
  const MAX_IMPORT_LINES = 40;
629
784
  const processedLines = [];
785
+ // Lines that begin inside a multi-line template or docstring are text, not statements.
786
+ const insideLiteral = new Set();
787
+ if (code.includes('`') || code.includes('"""') || code.includes("'''")) {
788
+ const lineStarts = [];
789
+ let off = 0;
790
+ for (const l of lines) {
791
+ lineStarts.push(off);
792
+ off += l.length + 1;
793
+ }
794
+ for (const [s, e] of findStringLiterals(code)) {
795
+ for (let k = 0; k < lineStarts.length; k++) {
796
+ if (lineStarts[k] > s && lineStarts[k] <= e)
797
+ insideLiteral.add(k);
798
+ }
799
+ }
800
+ }
630
801
  for (let i = 0; i < lines.length; i++) {
631
802
  const trimmed = lines[i].trim();
632
- if (!isImportLine(trimmed)) {
803
+ // Only a statement at the start of its line is a module import. An indented `require(...)` is a
804
+ // lazy one inside a function, and listing away its binding hid what the function depends on.
805
+ if (insideLiteral.has(i) || /^\s/.test(lines[i]) || !isImportLine(trimmed)) {
633
806
  processedLines.push(lines[i]);
634
807
  continue;
635
808
  }