@pan-sec/notebooklm-mcp 2026.2.10 → 2026.3.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 (302) hide show
  1. package/README.md +71 -27
  2. package/SECURITY.md +31 -61
  3. package/dist/auth/auth-manager.d.ts +2 -1
  4. package/dist/auth/auth-manager.d.ts.map +1 -1
  5. package/dist/auth/auth-manager.js +97 -42
  6. package/dist/auth/auth-manager.js.map +1 -1
  7. package/dist/auth/mcp-auth.d.ts +22 -4
  8. package/dist/auth/mcp-auth.d.ts.map +1 -1
  9. package/dist/auth/mcp-auth.js +120 -19
  10. package/dist/auth/mcp-auth.js.map +1 -1
  11. package/dist/compliance/alert-manager.d.ts.map +1 -1
  12. package/dist/compliance/alert-manager.js +7 -4
  13. package/dist/compliance/alert-manager.js.map +1 -1
  14. package/dist/compliance/breach-detection.d.ts.map +1 -1
  15. package/dist/compliance/breach-detection.js +14 -7
  16. package/dist/compliance/breach-detection.js.map +1 -1
  17. package/dist/compliance/change-log.d.ts.map +1 -1
  18. package/dist/compliance/change-log.js +7 -4
  19. package/dist/compliance/change-log.js.map +1 -1
  20. package/dist/compliance/compliance-logger.d.ts.map +1 -1
  21. package/dist/compliance/compliance-logger.js +11 -6
  22. package/dist/compliance/compliance-logger.js.map +1 -1
  23. package/dist/compliance/consent-manager.d.ts.map +1 -1
  24. package/dist/compliance/consent-manager.js +5 -3
  25. package/dist/compliance/consent-manager.js.map +1 -1
  26. package/dist/compliance/data-erasure.d.ts +1 -1
  27. package/dist/compliance/data-erasure.d.ts.map +1 -1
  28. package/dist/compliance/data-erasure.js +142 -83
  29. package/dist/compliance/data-erasure.js.map +1 -1
  30. package/dist/compliance/data-export.d.ts.map +1 -1
  31. package/dist/compliance/data-export.js +23 -12
  32. package/dist/compliance/data-export.js.map +1 -1
  33. package/dist/compliance/data-inventory.d.ts.map +1 -1
  34. package/dist/compliance/data-inventory.js +7 -6
  35. package/dist/compliance/data-inventory.js.map +1 -1
  36. package/dist/compliance/dsar-handler.d.ts +7 -1
  37. package/dist/compliance/dsar-handler.d.ts.map +1 -1
  38. package/dist/compliance/dsar-handler.js +74 -61
  39. package/dist/compliance/dsar-handler.js.map +1 -1
  40. package/dist/compliance/evidence-collector.d.ts.map +1 -1
  41. package/dist/compliance/evidence-collector.js +10 -6
  42. package/dist/compliance/evidence-collector.js.map +1 -1
  43. package/dist/compliance/health-monitor.d.ts.map +1 -1
  44. package/dist/compliance/health-monitor.js +15 -9
  45. package/dist/compliance/health-monitor.js.map +1 -1
  46. package/dist/compliance/incident-manager.d.ts.map +1 -1
  47. package/dist/compliance/incident-manager.js +5 -3
  48. package/dist/compliance/incident-manager.js.map +1 -1
  49. package/dist/compliance/policy-docs.d.ts.map +1 -1
  50. package/dist/compliance/policy-docs.js +14 -11
  51. package/dist/compliance/policy-docs.js.map +1 -1
  52. package/dist/compliance/privacy-notice-text.d.ts.map +1 -1
  53. package/dist/compliance/privacy-notice-text.js +3 -4
  54. package/dist/compliance/privacy-notice-text.js.map +1 -1
  55. package/dist/compliance/privacy-notice.d.ts.map +1 -1
  56. package/dist/compliance/privacy-notice.js +5 -3
  57. package/dist/compliance/privacy-notice.js.map +1 -1
  58. package/dist/compliance/report-generator.d.ts.map +1 -1
  59. package/dist/compliance/report-generator.js +5 -3
  60. package/dist/compliance/report-generator.js.map +1 -1
  61. package/dist/compliance/retention-engine.d.ts.map +1 -1
  62. package/dist/compliance/retention-engine.js +18 -10
  63. package/dist/compliance/retention-engine.js.map +1 -1
  64. package/dist/compliance/siem-exporter.d.ts.map +1 -1
  65. package/dist/compliance/siem-exporter.js +40 -16
  66. package/dist/compliance/siem-exporter.js.map +1 -1
  67. package/dist/config.d.ts +4 -31
  68. package/dist/config.d.ts.map +1 -1
  69. package/dist/config.js +25 -63
  70. package/dist/config.js.map +1 -1
  71. package/dist/errors.d.ts +21 -0
  72. package/dist/errors.d.ts.map +1 -1
  73. package/dist/errors.js +54 -1
  74. package/dist/errors.js.map +1 -1
  75. package/dist/gemini/gemini-client.d.ts +1 -0
  76. package/dist/gemini/gemini-client.d.ts.map +1 -1
  77. package/dist/gemini/gemini-client.js +50 -49
  78. package/dist/gemini/gemini-client.js.map +1 -1
  79. package/dist/gemini/types.d.ts +3 -1
  80. package/dist/gemini/types.d.ts.map +1 -1
  81. package/dist/gemini/types.js.map +1 -1
  82. package/dist/index.d.ts +52 -1
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +399 -85
  85. package/dist/index.js.map +1 -1
  86. package/dist/library/notebook-library.d.ts.map +1 -1
  87. package/dist/library/notebook-library.js +2 -1
  88. package/dist/library/notebook-library.js.map +1 -1
  89. package/dist/logging/query-logger.d.ts +13 -1
  90. package/dist/logging/query-logger.d.ts.map +1 -1
  91. package/dist/logging/query-logger.js +62 -10
  92. package/dist/logging/query-logger.js.map +1 -1
  93. package/dist/notebook-creation/audio-manager.d.ts.map +1 -1
  94. package/dist/notebook-creation/audio-manager.js +19 -24
  95. package/dist/notebook-creation/audio-manager.js.map +1 -1
  96. package/dist/notebook-creation/browser-options.d.ts +28 -0
  97. package/dist/notebook-creation/browser-options.d.ts.map +1 -0
  98. package/dist/notebook-creation/browser-options.js +75 -0
  99. package/dist/notebook-creation/browser-options.js.map +1 -0
  100. package/dist/notebook-creation/data-table-manager.d.ts.map +1 -1
  101. package/dist/notebook-creation/data-table-manager.js +21 -22
  102. package/dist/notebook-creation/data-table-manager.js.map +1 -1
  103. package/dist/notebook-creation/discover-creation-flow.d.ts +0 -6
  104. package/dist/notebook-creation/discover-creation-flow.d.ts.map +1 -1
  105. package/dist/notebook-creation/discover-creation-flow.js +10 -10
  106. package/dist/notebook-creation/discover-creation-flow.js.map +1 -1
  107. package/dist/notebook-creation/discover-quota.d.ts +0 -6
  108. package/dist/notebook-creation/discover-quota.d.ts.map +1 -1
  109. package/dist/notebook-creation/discover-quota.js +12 -13
  110. package/dist/notebook-creation/discover-quota.js.map +1 -1
  111. package/dist/notebook-creation/discover-sources.js +15 -16
  112. package/dist/notebook-creation/discover-sources.js.map +1 -1
  113. package/dist/notebook-creation/dom-scripts.d.ts +10 -0
  114. package/dist/notebook-creation/dom-scripts.d.ts.map +1 -0
  115. package/dist/notebook-creation/dom-scripts.js +58 -0
  116. package/dist/notebook-creation/dom-scripts.js.map +1 -0
  117. package/dist/notebook-creation/errors.d.ts +18 -0
  118. package/dist/notebook-creation/errors.d.ts.map +1 -0
  119. package/dist/notebook-creation/errors.js +20 -0
  120. package/dist/notebook-creation/errors.js.map +1 -0
  121. package/dist/notebook-creation/index.d.ts +2 -0
  122. package/dist/notebook-creation/index.d.ts.map +1 -1
  123. package/dist/notebook-creation/index.js +2 -0
  124. package/dist/notebook-creation/index.js.map +1 -1
  125. package/dist/notebook-creation/notebook-creator.d.ts +6 -82
  126. package/dist/notebook-creation/notebook-creator.d.ts.map +1 -1
  127. package/dist/notebook-creation/notebook-creator.js +49 -835
  128. package/dist/notebook-creation/notebook-creator.js.map +1 -1
  129. package/dist/notebook-creation/notebook-nav.d.ts +19 -0
  130. package/dist/notebook-creation/notebook-nav.d.ts.map +1 -0
  131. package/dist/notebook-creation/notebook-nav.js +239 -0
  132. package/dist/notebook-creation/notebook-nav.js.map +1 -0
  133. package/dist/notebook-creation/notebook-sync.d.ts.map +1 -1
  134. package/dist/notebook-creation/notebook-sync.js +36 -38
  135. package/dist/notebook-creation/notebook-sync.js.map +1 -1
  136. package/dist/notebook-creation/selector-discovery.d.ts.map +1 -1
  137. package/dist/notebook-creation/selector-discovery.js +17 -24
  138. package/dist/notebook-creation/selector-discovery.js.map +1 -1
  139. package/dist/notebook-creation/selectors.d.ts +26 -21
  140. package/dist/notebook-creation/selectors.d.ts.map +1 -1
  141. package/dist/notebook-creation/selectors.js +79 -36
  142. package/dist/notebook-creation/selectors.js.map +1 -1
  143. package/dist/notebook-creation/source-manager.d.ts +22 -0
  144. package/dist/notebook-creation/source-manager.d.ts.map +1 -1
  145. package/dist/notebook-creation/source-manager.js +716 -50
  146. package/dist/notebook-creation/source-manager.js.map +1 -1
  147. package/dist/notebook-creation/types.d.ts +4 -0
  148. package/dist/notebook-creation/types.d.ts.map +1 -1
  149. package/dist/notebook-creation/video-manager.d.ts.map +1 -1
  150. package/dist/notebook-creation/video-manager.js +45 -35
  151. package/dist/notebook-creation/video-manager.js.map +1 -1
  152. package/dist/observability/metrics.d.ts +19 -0
  153. package/dist/observability/metrics.d.ts.map +1 -0
  154. package/dist/observability/metrics.js +35 -0
  155. package/dist/observability/metrics.js.map +1 -0
  156. package/dist/quota/quota-manager.d.ts +11 -3
  157. package/dist/quota/quota-manager.d.ts.map +1 -1
  158. package/dist/quota/quota-manager.js +139 -47
  159. package/dist/quota/quota-manager.js.map +1 -1
  160. package/dist/resources/resource-handlers.d.ts.map +1 -1
  161. package/dist/resources/resource-handlers.js +29 -12
  162. package/dist/resources/resource-handlers.js.map +1 -1
  163. package/dist/session/browser-session.d.ts.map +1 -1
  164. package/dist/session/browser-session.js +22 -22
  165. package/dist/session/browser-session.js.map +1 -1
  166. package/dist/session/session-timeout.d.ts.map +1 -1
  167. package/dist/session/session-timeout.js +4 -2
  168. package/dist/session/session-timeout.js.map +1 -1
  169. package/dist/session/shared-context-manager.d.ts.map +1 -1
  170. package/dist/session/shared-context-manager.js +31 -30
  171. package/dist/session/shared-context-manager.js.map +1 -1
  172. package/dist/tools/annotations.js +9 -9
  173. package/dist/tools/annotations.js.map +1 -1
  174. package/dist/tools/definitions/ask-question.d.ts.map +1 -1
  175. package/dist/tools/definitions/ask-question.js +35 -100
  176. package/dist/tools/definitions/ask-question.js.map +1 -1
  177. package/dist/tools/definitions/chat-history.d.ts +47 -1
  178. package/dist/tools/definitions/chat-history.d.ts.map +1 -1
  179. package/dist/tools/definitions/chat-history.js +10 -1
  180. package/dist/tools/definitions/chat-history.js.map +1 -1
  181. package/dist/tools/definitions/data-tables.d.ts.map +1 -1
  182. package/dist/tools/definitions/data-tables.js +2 -0
  183. package/dist/tools/definitions/data-tables.js.map +1 -1
  184. package/dist/tools/definitions/gemini.d.ts.map +1 -1
  185. package/dist/tools/definitions/gemini.js +40 -10
  186. package/dist/tools/definitions/gemini.js.map +1 -1
  187. package/dist/tools/definitions/notebook-management.d.ts.map +1 -1
  188. package/dist/tools/definitions/notebook-management.js +100 -70
  189. package/dist/tools/definitions/notebook-management.js.map +1 -1
  190. package/dist/tools/definitions/query-history.d.ts +47 -1
  191. package/dist/tools/definitions/query-history.d.ts.map +1 -1
  192. package/dist/tools/definitions/query-history.js +7 -0
  193. package/dist/tools/definitions/query-history.js.map +1 -1
  194. package/dist/tools/definitions/session-management.d.ts.map +1 -1
  195. package/dist/tools/definitions/session-management.js +5 -0
  196. package/dist/tools/definitions/session-management.js.map +1 -1
  197. package/dist/tools/definitions/system.d.ts.map +1 -1
  198. package/dist/tools/definitions/system.js +71 -100
  199. package/dist/tools/definitions/system.js.map +1 -1
  200. package/dist/tools/definitions/video.d.ts.map +1 -1
  201. package/dist/tools/definitions/video.js +3 -0
  202. package/dist/tools/definitions/video.js.map +1 -1
  203. package/dist/tools/definitions.d.ts.map +1 -1
  204. package/dist/tools/definitions.js +4 -0
  205. package/dist/tools/definitions.js.map +1 -1
  206. package/dist/tools/handlers/ask-question.d.ts +1 -1
  207. package/dist/tools/handlers/ask-question.d.ts.map +1 -1
  208. package/dist/tools/handlers/ask-question.js +56 -12
  209. package/dist/tools/handlers/ask-question.js.map +1 -1
  210. package/dist/tools/handlers/audio-video.d.ts.map +1 -1
  211. package/dist/tools/handlers/audio-video.js +15 -7
  212. package/dist/tools/handlers/audio-video.js.map +1 -1
  213. package/dist/tools/handlers/auth.d.ts +14 -19
  214. package/dist/tools/handlers/auth.d.ts.map +1 -1
  215. package/dist/tools/handlers/auth.js +77 -121
  216. package/dist/tools/handlers/auth.js.map +1 -1
  217. package/dist/tools/handlers/error-utils.d.ts +7 -0
  218. package/dist/tools/handlers/error-utils.d.ts.map +1 -0
  219. package/dist/tools/handlers/error-utils.js +17 -0
  220. package/dist/tools/handlers/error-utils.js.map +1 -0
  221. package/dist/tools/handlers/gemini.d.ts +1 -0
  222. package/dist/tools/handlers/gemini.d.ts.map +1 -1
  223. package/dist/tools/handlers/gemini.js +81 -51
  224. package/dist/tools/handlers/gemini.js.map +1 -1
  225. package/dist/tools/handlers/index.d.ts +39 -47
  226. package/dist/tools/handlers/index.d.ts.map +1 -1
  227. package/dist/tools/handlers/index.js +13 -2
  228. package/dist/tools/handlers/index.js.map +1 -1
  229. package/dist/tools/handlers/notebook-creation.d.ts.map +1 -1
  230. package/dist/tools/handlers/notebook-creation.js +99 -20
  231. package/dist/tools/handlers/notebook-creation.js.map +1 -1
  232. package/dist/tools/handlers/notebook-management.d.ts +8 -8
  233. package/dist/tools/handlers/notebook-management.d.ts.map +1 -1
  234. package/dist/tools/handlers/notebook-management.js +34 -80
  235. package/dist/tools/handlers/notebook-management.js.map +1 -1
  236. package/dist/tools/handlers/session-management.d.ts.map +1 -1
  237. package/dist/tools/handlers/session-management.js +12 -5
  238. package/dist/tools/handlers/session-management.js.map +1 -1
  239. package/dist/tools/handlers/system.d.ts.map +1 -1
  240. package/dist/tools/handlers/system.js +45 -10
  241. package/dist/tools/handlers/system.js.map +1 -1
  242. package/dist/tools/handlers/types.d.ts +1 -1
  243. package/dist/tools/handlers/types.d.ts.map +1 -1
  244. package/dist/tools/handlers/webhooks.d.ts.map +1 -1
  245. package/dist/tools/handlers/webhooks.js +15 -13
  246. package/dist/tools/handlers/webhooks.js.map +1 -1
  247. package/dist/types.d.ts +7 -17
  248. package/dist/types.d.ts.map +1 -1
  249. package/dist/utils/audit-logger.d.ts +19 -1
  250. package/dist/utils/audit-logger.d.ts.map +1 -1
  251. package/dist/utils/audit-logger.js +193 -27
  252. package/dist/utils/audit-logger.js.map +1 -1
  253. package/dist/utils/cleanup-manager.d.ts.map +1 -1
  254. package/dist/utils/cleanup-manager.js +6 -3
  255. package/dist/utils/cleanup-manager.js.map +1 -1
  256. package/dist/utils/crypto.d.ts +4 -1
  257. package/dist/utils/crypto.d.ts.map +1 -1
  258. package/dist/utils/crypto.js +32 -21
  259. package/dist/utils/crypto.js.map +1 -1
  260. package/dist/utils/file-lock.d.ts.map +1 -1
  261. package/dist/utils/file-lock.js +80 -16
  262. package/dist/utils/file-lock.js.map +1 -1
  263. package/dist/utils/file-permissions.d.ts +2 -0
  264. package/dist/utils/file-permissions.d.ts.map +1 -1
  265. package/dist/utils/file-permissions.js +2 -1
  266. package/dist/utils/file-permissions.js.map +1 -1
  267. package/dist/utils/logger.d.ts +4 -0
  268. package/dist/utils/logger.d.ts.map +1 -1
  269. package/dist/utils/logger.js +16 -0
  270. package/dist/utils/logger.js.map +1 -1
  271. package/dist/utils/page-utils.d.ts.map +1 -1
  272. package/dist/utils/page-utils.js +22 -39
  273. package/dist/utils/page-utils.js.map +1 -1
  274. package/dist/utils/response-validator.d.ts.map +1 -1
  275. package/dist/utils/response-validator.js +27 -22
  276. package/dist/utils/response-validator.js.map +1 -1
  277. package/dist/utils/secrets-scanner.d.ts +11 -0
  278. package/dist/utils/secrets-scanner.d.ts.map +1 -1
  279. package/dist/utils/secrets-scanner.js +63 -15
  280. package/dist/utils/secrets-scanner.js.map +1 -1
  281. package/dist/utils/secure-memory.d.ts +9 -31
  282. package/dist/utils/secure-memory.d.ts.map +1 -1
  283. package/dist/utils/secure-memory.js +17 -102
  284. package/dist/utils/secure-memory.js.map +1 -1
  285. package/dist/utils/security.d.ts +4 -3
  286. package/dist/utils/security.d.ts.map +1 -1
  287. package/dist/utils/security.js +41 -11
  288. package/dist/utils/security.js.map +1 -1
  289. package/dist/utils/stealth-utils.d.ts.map +1 -1
  290. package/dist/utils/stealth-utils.js +4 -4
  291. package/dist/utils/stealth-utils.js.map +1 -1
  292. package/dist/webhooks/types.d.ts +2 -0
  293. package/dist/webhooks/types.d.ts.map +1 -1
  294. package/dist/webhooks/webhook-dispatcher.d.ts +80 -12
  295. package/dist/webhooks/webhook-dispatcher.d.ts.map +1 -1
  296. package/dist/webhooks/webhook-dispatcher.js +472 -72
  297. package/dist/webhooks/webhook-dispatcher.js.map +1 -1
  298. package/docs/archive/ISSUES-legacy-2026-04-24.md +644 -0
  299. package/docs/dependency-risk.md +25 -0
  300. package/docs/testing-runbook.md +166 -0
  301. package/docs/usage-guide.md +2 -1
  302. package/package.json +33 -16
@@ -19,11 +19,12 @@
19
19
  *
20
20
  * Added by Pantheon Security for hardened fork.
21
21
  */
22
- import crypto from "crypto";
22
+ import crypto, { hkdfSync } from "crypto";
23
23
  import fs from "fs";
24
24
  import path from "path";
25
25
  import os from "os";
26
26
  import { ml_kem768 } from "@noble/post-quantum/ml-kem.js";
27
+ import { CONFIG } from "../config.js";
27
28
  import { log } from "./logger.js";
28
29
  import { audit } from "./audit-logger.js";
29
30
  import { mkdirSecure, writeFileSecure, PERMISSION_MODES, } from "./file-permissions.js";
@@ -37,6 +38,7 @@ const NONCE_LENGTH = 12; // 96 bits for ChaCha20
37
38
  const SALT_LENGTH = 32;
38
39
  const CURRENT_VERSION = 3; // Version 3 = Post-Quantum + ChaCha20-Poly1305
39
40
  const CLASSICAL_VERSION = 2; // Version 2 = ChaCha20-Poly1305 classical
41
+ const DEFAULT_PBKDF2_ITERATIONS = 600000;
40
42
  // Legacy versions for migration (detected by presence of 'iv' and 'tag' fields)
41
43
  // LEGACY_PQ_VERSION = 2 (old PQ with AES-GCM)
42
44
  // LEGACY_CLASSICAL_VERSION = 1 (old classical with AES-GCM)
@@ -49,14 +51,17 @@ function getEncryptionConfig() {
49
51
  key: process.env.NLMCP_ENCRYPTION_KEY,
50
52
  keyFile: process.env.NLMCP_ENCRYPTION_KEY_FILE,
51
53
  useMachineKey: process.env.NLMCP_USE_MACHINE_KEY !== "false",
52
- pbkdf2Iterations: parseInt(process.env.NLMCP_PBKDF2_ITERATIONS || "100000", 10),
54
+ pbkdf2Iterations: parseInt(process.env.NLMCP_PBKDF2_ITERATIONS || String(DEFAULT_PBKDF2_ITERATIONS), 10),
53
55
  usePostQuantum: process.env.NLMCP_USE_POST_QUANTUM !== "false",
54
56
  };
55
57
  }
58
+ function hkdfDerive(ikm, salt, info, length) {
59
+ return Buffer.from(hkdfSync("sha256", ikm, salt, Buffer.from(info), length));
60
+ }
56
61
  /**
57
62
  * Derive a key from a passphrase using PBKDF2
58
63
  */
59
- export function deriveKey(passphrase, salt, iterations = 100000) {
64
+ export function deriveKey(passphrase, salt, iterations = DEFAULT_PBKDF2_ITERATIONS) {
60
65
  return crypto.pbkdf2Sync(passphrase, salt, iterations, KEY_LENGTH, "sha256");
61
66
  }
62
67
  /**
@@ -78,6 +83,20 @@ export function getMachineKey() {
78
83
  const hash = crypto.createHash("sha256").update(combined).digest("hex");
79
84
  return hash;
80
85
  }
86
+ export function getOrCreateMachineKey(keyPath) {
87
+ if (fs.existsSync(keyPath)) {
88
+ const existingKey = fs.readFileSync(keyPath);
89
+ if (existingKey.length !== KEY_LENGTH) {
90
+ throw new Error(`Invalid machine key length: expected ${KEY_LENGTH} bytes, got ${existingKey.length}`);
91
+ }
92
+ return existingKey;
93
+ }
94
+ mkdirSecure(path.dirname(keyPath), PERMISSION_MODES.OWNER_FULL);
95
+ const machineKey = crypto.randomBytes(KEY_LENGTH);
96
+ writeFileSecure(keyPath, machineKey, PERMISSION_MODES.OWNER_READ_WRITE);
97
+ fs.chmodSync(keyPath, 0o600);
98
+ return machineKey;
99
+ }
81
100
  /**
82
101
  * Generate ML-KEM key pair for post-quantum encryption
83
102
  */
@@ -104,10 +123,7 @@ export function encryptPQ(data, recipientPublicKey) {
104
123
  const salt = crypto.randomBytes(SALT_LENGTH);
105
124
  const nonce = crypto.randomBytes(NONCE_LENGTH);
106
125
  // Step 3: Derive ChaCha20 key from shared secret + salt
107
- const chachaKey = crypto.createHash("sha256")
108
- .update(Buffer.from(sharedSecret))
109
- .update(salt)
110
- .digest();
126
+ const chachaKey = hkdfDerive(Buffer.from(sharedSecret), salt, "notebooklm-mcp-key-derivation", KEY_LENGTH);
111
127
  // Step 4: Encrypt with ChaCha20-Poly1305
112
128
  const cipher = crypto.createCipheriv(ALGORITHM, chachaKey, nonce, {
113
129
  authTagLength: 16,
@@ -142,10 +158,7 @@ export function decryptPQ(encryptedData, recipientSecretKey) {
142
158
  const sharedSecret = ml_kem768.decapsulate(encapsulatedKey, recipientSecretKey);
143
159
  // Step 2: Derive ChaCha20 key
144
160
  const salt = Buffer.from(encryptedData.salt, "base64");
145
- const chachaKey = crypto.createHash("sha256")
146
- .update(Buffer.from(sharedSecret))
147
- .update(salt)
148
- .digest();
161
+ const chachaKey = hkdfDerive(Buffer.from(sharedSecret), salt, "notebooklm-mcp-key-derivation", KEY_LENGTH);
149
162
  // Step 3: Split ciphertext and auth tag
150
163
  const ciphertextWithTag = Buffer.from(encryptedData.ciphertext, "base64");
151
164
  const ciphertext = ciphertextWithTag.subarray(0, -16);
@@ -211,10 +224,7 @@ function decryptLegacyAES(encryptedData, key, pqSecretKey) {
211
224
  const encapsulatedKey = new Uint8Array(Buffer.from(encryptedData.encapsulatedKey, "base64"));
212
225
  const sharedSecret = ml_kem768.decapsulate(encapsulatedKey, pqSecretKey);
213
226
  const salt = Buffer.from(encryptedData.salt, "base64");
214
- aesKey = crypto.createHash("sha256")
215
- .update(Buffer.from(sharedSecret))
216
- .update(salt)
217
- .digest();
227
+ aesKey = hkdfDerive(Buffer.from(sharedSecret), salt, "notebooklm-mcp-key-derivation", KEY_LENGTH);
218
228
  }
219
229
  else {
220
230
  aesKey = key;
@@ -253,7 +263,7 @@ export class SecureStorage {
253
263
  keyStorePath;
254
264
  constructor(config) {
255
265
  this.config = { ...getEncryptionConfig(), ...config };
256
- this.keyStorePath = path.join(process.env.NLMCP_CONFIG_DIR || path.join(os.homedir(), ".notebooklm-mcp"), "pq-keys.enc");
266
+ this.keyStorePath = path.join(process.env.NLMCP_CONFIG_DIR || CONFIG.configDir || path.join(os.homedir(), ".notebooklm-mcp"), "pq-keys.enc");
257
267
  }
258
268
  /**
259
269
  * Initialize the secure storage (derive/load keys)
@@ -307,14 +317,15 @@ export class SecureStorage {
307
317
  await audit.security("encryption_init", "info", { key_source: "file", algorithm: ALGORITHM });
308
318
  return;
309
319
  }
310
- // Priority 3: Machine-derived key (fallback)
320
+ // Priority 3: Persisted random machine key (fallback)
311
321
  if (this.config.useMachineKey) {
312
- const machineKey = getMachineKey();
322
+ const machineKey = getOrCreateMachineKey(path.join(process.env.NLMCP_CONFIG_DIR || CONFIG.configDir, "machine.key"));
313
323
  const salt = Buffer.from("notebooklm-mcp-secure-salt-v3", "utf-8");
314
- this.classicalKey = deriveKey(machineKey, salt, this.config.pbkdf2Iterations);
315
- log.warning(" ⚠️ Using machine-derived classical key (less secure)");
324
+ this.classicalKey = crypto.pbkdf2Sync(machineKey, salt, this.config.pbkdf2Iterations, KEY_LENGTH, "sha256");
325
+ machineKey.fill(0);
326
+ log.warning(" ⚠️ Using persisted machine classical key (fallback)");
316
327
  log.info(" Set NLMCP_ENCRYPTION_KEY for better security");
317
- await audit.security("encryption_init", "warning", { key_source: "machine_derived", algorithm: ALGORITHM });
328
+ await audit.security("encryption_init", "warning", { key_source: "machine_persisted", algorithm: ALGORITHM });
318
329
  return;
319
330
  }
320
331
  // No key available
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AA4D/B;;GAEG;AACH,MAAM,SAAS,GAAG,mBAAmB,CAAC;AACtC,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,WAAW;AAClC,MAAM,YAAY,GAAG,EAAE,CAAC,CAAE,uBAAuB;AACjD,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,+CAA+C;AAC1E,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,0CAA0C;AACvE,gFAAgF;AAChF,8CAA8C;AAC9C,4DAA4D;AAE5D;;GAEG;AACH,SAAS,mBAAmB;IAC1B,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,OAAO;QACzD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;QACrC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;QAC9C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,OAAO;QAC5D,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,QAAQ,EAAE,EAAE,CAAC;QAC/E,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,OAAO;KAC/D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,UAAkB,EAAE,IAAY,EAAE,aAAqB,MAAM;IACrF,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,UAAU,GAAG;QACjB,EAAE,CAAC,QAAQ,EAAE;QACb,EAAE,CAAC,QAAQ,EAAE;QACb,EAAE,CAAC,IAAI,EAAE;QACT,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,SAAS;QAChC,EAAE,CAAC,OAAO,EAAE;KACb,CAAC;IAEF,qDAAqD;IACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAExE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;IAChC,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CACvB,IAAqB,EACrB,kBAA8B;IAE9B,mDAAmD;IACnD,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAEhG,kCAAkC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAE/C,wDAAwD;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACjC,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,EAAE,CAAC;IAEZ,yCAAyC;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;QAChE,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAEpC,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAE9D,mCAAmC;IACnC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAElB,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,YAAY;QACzB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAChE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACjD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,aAA8B,EAC9B,kBAA8B;IAE9B,IAAI,aAAa,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,wCAAwC;IACxC,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAEhF,8BAA8B;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACjC,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,EAAE,CAAC;IAEZ,wCAAwC;IACxC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhD,yCAAyC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;QACpE,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjF,mCAAmC;IACnC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAElB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAqB,EAAE,GAAW;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE;QAC1D,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAEpC,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACjD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqC,EAAE,GAAW;IACjF,IAAI,aAAa,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,6CAA6C,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE;QAC9D,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,aAAqC,EACrC,GAAW,EACX,WAAwB;IAExB,IAAI,MAAc,CAAC;IAEnB,sDAAsD;IACtD,IAAI,aAAa,CAAC,eAAe,IAAI,WAAW,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7F,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;aACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACjC,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,CAAC;IACf,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE;QAClE,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjF,6BAA6B;IAC7B,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAS;IAC/B,OAAO,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAmB;IACzB,YAAY,GAAkB,IAAI,CAAC;IACnC,SAAS,GAA4D,IAAI,CAAC;IAC1E,WAAW,GAAY,KAAK,CAAC;IAC7B,YAAY,CAAS;IAE7B,YAAY,MAAkC;QAC5C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,mBAAmB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAC3B,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,EAC1E,aAAa,CACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QAE/E,IAAI,CAAC;YACH,sDAAsD;YACtD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,0CAA0C;YAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YAC5B,MAAM,KAAK,CAAC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB;QAClC,uCAAuC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,eAAe,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YACvG,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACvE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,QAAQ,CAAC,CAAC;YAC9E,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;YACtE,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5G,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,MAAM,KAAK,CAAC,QAAQ,CAAC,qBAAqB,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,gEAAgE;QAChE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEtC,IAAI,SAAiB,CAAC;gBAEtB,iCAAiC;gBACjC,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9B,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;oBACxE,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAErD,IAAI,CAAC,SAAS,GAAG;oBACf,SAAS,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAChE,SAAS,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;iBACjE,CAAC;gBAEF,2CAA2C;gBAC3C,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxB,GAAG,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzE,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,OAAO,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC;QAErC,yBAAyB;QACzB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,GAAG,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;QAC3D,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpE,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAE9C,eAAe,CACb,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAClC,gBAAgB,CAAC,gBAAgB,CAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,IAAqB;QAChD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEnC,kDAAkD;QAClD,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,mBAAmB;YACnB,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACtE,GAAG,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,SAAwB,CAAC;QAC7B,IAAI,aAAqB,CAAC;QAE1B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjD,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACzD,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,iDAAiD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,mCAAmC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,eAAe,CACb,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAClC,gBAAgB,CAAC,gBAAgB,CAClC,CAAC;QAEF,gEAAgE;QAChE,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,QAAQ,GAAG,GAAG,CAAC;YAC/B,IAAI,OAAO,KAAK,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB;QACzB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,uCAAuC;QACvC,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC5C,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEtC,IAAI,SAAiB,CAAC;gBAEtB,iCAAiC;gBACjC,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9B,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC;oBAChG,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAa,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACtF,0BAA0B;oBAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvD,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,SAAS,CAAC,SAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAChF,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACjF,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,uBAAuB,eAAe,KAAK,KAAK,EAAE,CAAC,CAAC;gBAC9D,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,EAAE;oBACjD,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;iBACrB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,sBAAsB,GAAG,QAAQ,GAAG,MAAM,CAAC;QACjD,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEtC,IAAI,SAAiB,CAAC;gBAEtB,iCAAiC;gBACjC,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9B,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,uCAAuC,CAAC,CAAC;oBACvG,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,gBAAgB,CAAC,SAAmC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvF,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBAEpF,sCAAsC;gBACtC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjD,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;oBAC/E,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,sDAAsD;oBACtD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvD,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBACxC,CAAC;gBAED,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,uBAAuB,sBAAsB,KAAK,KAAK,EAAE,CAAC,CAAC;gBACrE,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,EAAE;oBACjD,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;iBACrB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEhE,0CAA0C;YAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;gBAC5E,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAI,QAAgB;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,+BAA+B,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC;YAChC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAgB;QACrB,OAAO,CACL,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,EAAE,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC;YAChC,EAAE,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS;QAOP,IAAI,kBAAkB,GAAG,MAAM,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG;gBAAE,kBAAkB,GAAG,aAAa,CAAC;iBACnD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,kBAAkB,GAAG,MAAM,CAAC;;gBACrD,kBAAkB,GAAG,iBAAiB,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,kBAAkB;YAClB,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;YACzE,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;SAClD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;CACF;AAED;;GAEG;AACH,IAAI,mBAAmB,GAAyB,IAAI,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,mBAAmB,GAAG,IAAI,aAAa,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/utils/file-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA4BD;;;;;GAKG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,EAAE,MAAM;IAK5B;;OAEG;IACG,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAwEtD;;OAEG;IACH,OAAO,IAAI,IAAI;IA0Bf;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAkB3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAcrD"}
1
+ {"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/utils/file-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsCD;;;;;GAKG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,EAAE,MAAM;IAK5B;;OAEG;IACG,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAqFtD;;OAEG;IACH,OAAO,IAAI,IAAI;IAoDf;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAoB3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAwCrD"}
@@ -18,13 +18,21 @@
18
18
  import fs from "fs";
19
19
  import path from "path";
20
20
  import { log } from "./logger.js";
21
+ function parseIntegerEnv(name, fallback) {
22
+ const raw = process.env[name];
23
+ if (!raw) {
24
+ return fallback;
25
+ }
26
+ const parsed = Number.parseInt(raw, 10);
27
+ return Number.isFinite(parsed) ? parsed : fallback;
28
+ }
21
29
  /**
22
30
  * Default lock options
23
31
  */
24
32
  const DEFAULT_OPTIONS = {
25
- timeout: parseInt(process.env.NLMCP_LOCK_TIMEOUT_MS || "10000", 10),
33
+ timeout: parseIntegerEnv("NLMCP_LOCK_TIMEOUT_MS", 10000),
26
34
  retryInterval: 100,
27
- staleThreshold: parseInt(process.env.NLMCP_LOCK_STALE_MS || "30000", 10),
35
+ staleThreshold: parseIntegerEnv("NLMCP_LOCK_STALE_MS", 900000),
28
36
  };
29
37
  /**
30
38
  * Generate unique lock ID
@@ -52,6 +60,13 @@ export class FileLock {
52
60
  async acquire(options) {
53
61
  const opts = { ...DEFAULT_OPTIONS, ...options };
54
62
  const startTime = Date.now();
63
+ const lowerLockPath = this.lockPath.toLowerCase();
64
+ if (lowerLockPath.includes("/nfs/") ||
65
+ lowerLockPath.includes("/smb/") ||
66
+ this.lockPath.includes("//") ||
67
+ this.lockPath.includes("\\\\")) {
68
+ log.warning("Warning: file lock on network path may be unreliable");
69
+ }
55
70
  while (Date.now() - startTime < opts.timeout) {
56
71
  try {
57
72
  // Check if stale lock exists
@@ -66,17 +81,20 @@ export class FileLock {
66
81
  try {
67
82
  fs.unlinkSync(this.lockPath);
68
83
  }
69
- catch {
84
+ catch (err) {
85
+ log.debug(`file-lock: removing stale lock file in acquire: ${err instanceof Error ? err.message : String(err)}`);
70
86
  // Ignore if another process already removed it
71
87
  }
72
88
  }
73
89
  }
74
- catch {
90
+ catch (err) {
91
+ log.debug(`file-lock: reading/parsing lock file content in acquire: ${err instanceof Error ? err.message : String(err)}`);
75
92
  // Corrupted lock file, try to remove it
76
93
  try {
77
94
  fs.unlinkSync(this.lockPath);
78
95
  }
79
- catch {
96
+ catch (err) {
97
+ log.debug(`file-lock: removing corrupted lock file in acquire: ${err instanceof Error ? err.message : String(err)}`);
80
98
  // Ignore
81
99
  }
82
100
  }
@@ -122,27 +140,53 @@ export class FileLock {
122
140
  release() {
123
141
  if (!this.acquired)
124
142
  return;
143
+ const tempPath = `${this.lockPath}.${this.lockId}.release`;
125
144
  try {
126
- // Verify we own the lock before releasing
127
145
  if (fs.existsSync(this.lockPath)) {
128
146
  try {
129
147
  const content = fs.readFileSync(this.lockPath, "utf-8");
130
148
  const existing = JSON.parse(content);
131
149
  if (existing.lockId === this.lockId) {
132
- fs.unlinkSync(this.lockPath);
150
+ fs.writeFileSync(tempPath, content, { mode: 0o600 });
151
+ const verifiedContent = fs.readFileSync(this.lockPath, "utf-8");
152
+ const verified = JSON.parse(verifiedContent);
153
+ if (verified.lockId === this.lockId) {
154
+ fs.renameSync(tempPath, this.lockPath);
155
+ const finalContent = fs.readFileSync(this.lockPath, "utf-8");
156
+ const finalLock = JSON.parse(finalContent);
157
+ if (finalLock.lockId === this.lockId) {
158
+ fs.unlinkSync(this.lockPath);
159
+ }
160
+ else {
161
+ log.warning(`⚠️ Lock changed before release completed, not deleting`);
162
+ }
163
+ }
133
164
  }
134
165
  else {
135
166
  log.warning(`⚠️ Lock owned by different process, not releasing`);
136
167
  }
137
168
  }
138
- catch {
169
+ catch (err) {
170
+ log.debug(`file-lock: verifying and releasing lock file in release: ${err instanceof Error ? err.message : String(err)}`);
139
171
  // Ignore errors during release
140
172
  }
141
173
  }
142
174
  }
143
- catch {
175
+ catch (err) {
176
+ log.debug(`file-lock: releasing lock file in release: ${err instanceof Error ? err.message : String(err)}`);
144
177
  // Ignore errors during release
145
178
  }
179
+ finally {
180
+ try {
181
+ if (fs.existsSync(tempPath)) {
182
+ fs.unlinkSync(tempPath);
183
+ }
184
+ }
185
+ catch (err) {
186
+ log.debug(`file-lock: removing temp file in release finally block: ${err instanceof Error ? err.message : String(err)}`);
187
+ // Ignore temp cleanup errors
188
+ }
189
+ }
146
190
  this.acquired = false;
147
191
  }
148
192
  /**
@@ -195,8 +239,10 @@ export function isLocked(filePath, staleThreshold) {
195
239
  // Consider stale locks as not locked
196
240
  return age <= threshold;
197
241
  }
198
- catch {
199
- return false;
242
+ catch (err) {
243
+ log.debug(`file-lock: reading lock file in isLocked: ${err instanceof Error ? err.message : String(err)}`);
244
+ log.warning("corrupt lock file — treating as locked");
245
+ return true;
200
246
  }
201
247
  }
202
248
  /**
@@ -207,14 +253,32 @@ export function isLocked(filePath, staleThreshold) {
207
253
  export function forceUnlock(filePath) {
208
254
  const lockPath = filePath + ".lock";
209
255
  try {
210
- if (fs.existsSync(lockPath)) {
211
- fs.unlinkSync(lockPath);
212
- log.info(`🔓 Force removed lock: ${lockPath}`);
213
- return true;
256
+ if (!fs.existsSync(lockPath)) {
257
+ return false;
214
258
  }
215
- return false;
259
+ try {
260
+ const content = fs.readFileSync(lockPath, "utf-8");
261
+ const existing = JSON.parse(content);
262
+ if (!Number.isInteger(existing.pid) || existing.pid <= 0) {
263
+ throw new Error(`Invalid lock file PID: ${existing.pid}`);
264
+ }
265
+ process.kill(existing.pid, 0);
266
+ throw new Error(`Cannot force-unlock: owning process ${existing.pid} is still running.`);
267
+ }
268
+ catch (error) {
269
+ if (error instanceof Error &&
270
+ error.message.startsWith("Cannot force-unlock:")) {
271
+ throw error;
272
+ }
273
+ }
274
+ fs.unlinkSync(lockPath);
275
+ log.info(`🔓 Force removed lock: ${lockPath}`);
276
+ return true;
216
277
  }
217
278
  catch (error) {
279
+ if (error instanceof Error && error.message.startsWith("Cannot force-unlock:")) {
280
+ throw error;
281
+ }
218
282
  log.error(`❌ Failed to force remove lock: ${error}`);
219
283
  return false;
220
284
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../../src/utils/file-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../../src/utils/file-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAclC,SAAS,eAAe,CAAC,IAAY,EAAE,QAAgB;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,eAAe,GAA0B;IAC7C,OAAO,EAAE,eAAe,CAAC,uBAAuB,EAAE,KAAK,CAAC;IACxD,aAAa,EAAE,GAAG;IAClB,cAAc,EAAE,eAAe,CAAC,qBAAqB,EAAE,MAAO,CAAC;CAChE,CAAC;AAYF;;GAEG;AACH,SAAS,cAAc;IACrB,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACnF,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,QAAQ;IACX,QAAQ,CAAS;IACjB,QAAQ,GAAY,KAAK,CAAC;IAC1B,MAAM,CAAS;IAEvB,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,MAAM,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAElD,IACE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC/B,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC9B,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,6BAA6B;gBAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;wBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC;wBAE5C,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;4BAC9B,2BAA2B;4BAC3B,GAAG,CAAC,OAAO,CAAC,gCAAgC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;4BAC9F,IAAI,CAAC;gCACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAC/B,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,GAAG,CAAC,KAAK,CAAC,mDAAmD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gCACjH,+CAA+C;4BACjD,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,4DAA4D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC1H,wCAAwC;wBACxC,IAAI,CAAC;4BACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC/B,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,GAAG,CAAC,KAAK,CAAC,uDAAuD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACrH,SAAS;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,sCAAsC;gBACtC,MAAM,WAAW,GAAgB;oBAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;iBAC3D,CAAC;gBAEF,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED,kDAAkD;gBAClD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;oBAC3D,IAAI,EAAE,IAAI,EAAE,0CAA0C;oBACtD,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,KAA8B,CAAC;gBAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,mBAAmB;oBACnB,GAAG,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtD,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,GAAG,CAAC,OAAO,CAAC,mCAAmC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,UAAU,CAAC;QAE3D,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;oBAEpD,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;wBACpC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAErD,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAgB,CAAC;wBAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;4BACpC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAEvC,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;4BAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAgB,CAAC;4BAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gCACrC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAC/B,CAAC;iCAAM,CAAC;gCACN,GAAG,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;4BACxE,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,4DAA4D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC1H,+BAA+B;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,8CAA8C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5G,+BAA+B;QACjC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,2DAA2D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzH,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAgB,EAChB,SAA2B,EAC3B,OAAqB;IAErB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,iBAAiB,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,cAAuB;IAChE,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,MAAM,SAAS,GAAG,cAAc,IAAI,eAAe,CAAC,cAAc,CAAC;IAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC;QAE5C,qCAAqC;QACrC,OAAO,GAAG,IAAI,SAAS,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,6CAA6C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3G,GAAG,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;YAEpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,GAAG,oBAAoB,CACxE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK,YAAY,KAAK;gBACtB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAChD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC/E,MAAM,KAAK,CAAC;QACd,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -12,6 +12,8 @@
12
12
  *
13
13
  * Added by Pantheon Security for cross-platform support.
14
14
  */
15
+ /// <reference types="node" resolution-mode="require"/>
16
+ /// <reference types="node" resolution-mode="require"/>
15
17
  /**
16
18
  * Platform detection
17
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file-permissions.d.ts","sourceRoot":"","sources":["../../src/utils/file-permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgCH;;GAEG;AACH,eAAO,MAAM,SAAS,SAA+B,CAAC;AACtD,eAAO,MAAM,OAAO,SAAgC,CAAC;AACrD,eAAO,MAAM,OAAO,SAA+B,CAAC;AACpD,eAAO,MAAM,MAAM,SAAa,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,wDAAwD;;IAExD,+DAA+D;;IAE/D,iEAAiE;;IAEjE,yEAAyE;;CAEjE,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAA0C,GAC/C,OAAO,CAiBT;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAoC,GACzC,OAAO,CAiBT;AAyGD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoC,GAAG,IAAI,CAU7F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,IAAI,GAAE,MAA0C,GAC/C,IAAI,CAYN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,IAAI,GAAE,MAA0C,GAC/C,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CASA"}
1
+ {"version":3,"file":"file-permissions.d.ts","sourceRoot":"","sources":["../../src/utils/file-permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;;;AAgCH;;GAEG;AACH,eAAO,MAAM,SAAS,SAA+B,CAAC;AACtD,eAAO,MAAM,OAAO,SAAgC,CAAC;AACrD,eAAO,MAAM,OAAO,SAA+B,CAAC;AACpD,eAAO,MAAM,MAAM,SAAa,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,wDAAwD;;IAExD,+DAA+D;;IAE/D,iEAAiE;;IAEjE,yEAAyE;;CAEjE,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAA0C,GAC/C,OAAO,CAiBT;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAoC,GACzC,OAAO,CAiBT;AA0GD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoC,GAAG,IAAI,CAU7F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,IAAI,GAAE,MAA0C,GAC/C,IAAI,CAYN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,IAAI,GAAE,MAA0C,GAC/C,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CASA"}
@@ -196,7 +196,8 @@ function setWindowsFilePermissions(targetPath, ownerOnly) {
196
196
  }
197
197
  return true;
198
198
  }
199
- catch {
199
+ catch (err) {
200
+ _log?.debug(`file-permissions: setting Windows file permissions via icacls: ${err instanceof Error ? err.message : String(err)}`);
200
201
  // icacls may not be available or may fail - this is not critical
201
202
  // The file is still created, just without restricted permissions
202
203
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"file-permissions.js","sourceRoot":"","sources":["../../src/utils/file-permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-permissions.js","sourceRoot":"","sources":["../../src/utils/file-permissions.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@
3
3
  * Similar to Python's rich.console
4
4
  */
5
5
  type LogLevel = "info" | "success" | "warning" | "error" | "debug" | "dim";
6
+ type LogContext = Record<string, string | number | boolean | undefined>;
6
7
  /**
7
8
  * Logger class for consistent console output
8
9
  */
9
10
  export declare class Logger {
10
11
  private enabled;
12
+ private context;
11
13
  constructor(enabled?: boolean);
12
14
  /**
13
15
  * Log a message with a specific style
@@ -41,6 +43,7 @@ export declare class Logger {
41
43
  * Enable or disable logging
42
44
  */
43
45
  setEnabled(enabled: boolean): void;
46
+ withContext<T>(context: LogContext, fn: () => T): T;
44
47
  }
45
48
  /**
46
49
  * Global logger instance
@@ -56,6 +59,7 @@ export declare const log: {
56
59
  error: (msg: string) => void;
57
60
  debug: (msg: string) => void;
58
61
  dim: (msg: string) => void;
62
+ withContext: <T>(context: LogContext, fn: () => T) => T;
59
63
  };
60
64
  export {};
61
65
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAkB3E;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAAc;IAInC;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,QAAiB,GAAG,IAAI;IAWpD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGnC;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,GAAG;gBACF,MAAM;mBACH,MAAM;mBACN,MAAM;iBACR,MAAM;iBACN,MAAM;eACR,MAAM;CAClB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,KAAK,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAC3E,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAkBxE;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAuC;gBAE1C,OAAO,GAAE,OAAc;IAInC;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,QAAiB,GAAG,IAAI;IAsBpD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;CAGpD;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,GAAG;gBACF,MAAM;mBACH,MAAM;mBACN,MAAM;iBACR,MAAM;iBACN,MAAM;eACR,MAAM;8BACS,UAAU;CACrC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Console logging utilities with colors and formatting
3
3
  * Similar to Python's rich.console
4
4
  */
5
+ import { AsyncLocalStorage } from "node:async_hooks";
5
6
  const STYLES = {
6
7
  info: { prefix: "ℹ️", color: "\x1b[36m" }, // Cyan
7
8
  success: { prefix: "✅", color: "\x1b[32m" }, // Green
@@ -16,6 +17,7 @@ const RESET = "\x1b[0m";
16
17
  */
17
18
  export class Logger {
18
19
  enabled;
20
+ context = new AsyncLocalStorage();
19
21
  constructor(enabled = true) {
20
22
  this.enabled = enabled;
21
23
  }
@@ -25,6 +27,16 @@ export class Logger {
25
27
  log(message, level = "info") {
26
28
  if (!this.enabled)
27
29
  return;
30
+ const activeContext = this.context.getStore() ?? {};
31
+ if (process.env.NLMCP_LOG_FORMAT === "json") {
32
+ console.error(JSON.stringify({
33
+ ts: new Date().toISOString(),
34
+ level,
35
+ message,
36
+ ...activeContext,
37
+ }));
38
+ return;
39
+ }
28
40
  const style = STYLES[level];
29
41
  const timestamp = new Date().toISOString().split("T")[1].slice(0, 8);
30
42
  const formattedMessage = `${style.color}${style.prefix} [${timestamp}] ${message}${RESET}`;
@@ -73,6 +85,9 @@ export class Logger {
73
85
  setEnabled(enabled) {
74
86
  this.enabled = enabled;
75
87
  }
88
+ withContext(context, fn) {
89
+ return this.context.run({ ...(this.context.getStore() ?? {}), ...context }, fn);
90
+ }
76
91
  }
77
92
  /**
78
93
  * Global logger instance
@@ -88,5 +103,6 @@ export const log = {
88
103
  error: (msg) => logger.error(msg),
89
104
  debug: (msg) => logger.debug(msg),
90
105
  dim: (msg) => logger.dim(msg),
106
+ withContext: (context, fn) => logger.withContext(context, fn),
91
107
  };
92
108
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-utils.d.ts","sourceRoot":"","sources":["../../src/utils/page-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAkDvC;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE/E;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BxE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiHxB;;;;;;;AAuMD,wBAKE"}
1
+ {"version":3,"file":"page-utils.d.ts","sourceRoot":"","sources":["../../src/utils/page-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AA+CvC;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE/E;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BxE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkHxB;;;;;;;AAuMD,wBAKE"}