@machina.ai/cell-cli-core 1.4.0-rc2 → 1.6.1-rc1

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 (421) hide show
  1. package/dist/index.d.ts +6 -4
  2. package/dist/index.js +6 -4
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +6 -2
  5. package/dist/src/code_assist/codeAssist.js +1 -1
  6. package/dist/src/code_assist/codeAssist.js.map +1 -1
  7. package/dist/src/code_assist/converter.d.ts +1 -0
  8. package/dist/src/code_assist/converter.js +1 -0
  9. package/dist/src/code_assist/converter.js.map +1 -1
  10. package/dist/src/code_assist/converter.test.js +10 -0
  11. package/dist/src/code_assist/converter.test.js.map +1 -1
  12. package/dist/src/code_assist/oauth-credential-storage.d.ts +25 -0
  13. package/dist/src/code_assist/oauth-credential-storage.js +109 -0
  14. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -0
  15. package/dist/src/code_assist/oauth-credential-storage.test.js +136 -0
  16. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -0
  17. package/dist/src/code_assist/oauth2.js +28 -2
  18. package/dist/src/code_assist/oauth2.js.map +1 -1
  19. package/dist/src/code_assist/oauth2.test.js +674 -536
  20. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  21. package/dist/src/code_assist/server.d.ts +1 -1
  22. package/dist/src/code_assist/server.js +24 -1
  23. package/dist/src/code_assist/server.js.map +1 -1
  24. package/dist/src/code_assist/server.test.js +25 -0
  25. package/dist/src/code_assist/server.test.js.map +1 -1
  26. package/dist/src/code_assist/types.d.ts +17 -2
  27. package/dist/src/config/config.d.ts +62 -5
  28. package/dist/src/config/config.js +154 -42
  29. package/dist/src/config/config.js.map +1 -1
  30. package/dist/src/config/config.test.js +235 -137
  31. package/dist/src/config/config.test.js.map +1 -1
  32. package/dist/src/config/models.d.ts +15 -0
  33. package/dist/src/config/models.js +27 -0
  34. package/dist/src/config/models.js.map +1 -1
  35. package/dist/src/config/models.test.d.ts +6 -0
  36. package/dist/src/config/models.test.js +55 -0
  37. package/dist/src/config/models.test.js.map +1 -0
  38. package/dist/src/config/storage.d.ts +2 -0
  39. package/dist/src/config/storage.js +6 -1
  40. package/dist/src/config/storage.js.map +1 -1
  41. package/dist/src/config/storage.test.js +4 -0
  42. package/dist/src/config/storage.test.js.map +1 -1
  43. package/dist/src/confirmation-bus/index.d.ts +7 -0
  44. package/dist/src/confirmation-bus/index.js +8 -0
  45. package/dist/src/confirmation-bus/index.js.map +1 -0
  46. package/dist/src/confirmation-bus/message-bus.d.ts +17 -0
  47. package/dist/src/confirmation-bus/message-bus.js +81 -0
  48. package/dist/src/confirmation-bus/message-bus.js.map +1 -0
  49. package/dist/src/confirmation-bus/message-bus.test.d.ts +6 -0
  50. package/dist/src/confirmation-bus/message-bus.test.js +164 -0
  51. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -0
  52. package/dist/src/confirmation-bus/types.d.ts +38 -0
  53. package/dist/src/confirmation-bus/types.js +15 -0
  54. package/dist/src/confirmation-bus/types.js.map +1 -0
  55. package/dist/src/core/baseLlmClient.d.ts +46 -0
  56. package/dist/src/core/baseLlmClient.js +112 -0
  57. package/dist/src/core/baseLlmClient.js.map +1 -0
  58. package/dist/src/core/baseLlmClient.test.d.ts +6 -0
  59. package/dist/src/core/baseLlmClient.test.js +253 -0
  60. package/dist/src/core/baseLlmClient.test.js.map +1 -0
  61. package/dist/src/core/client.d.ts +8 -18
  62. package/dist/src/core/client.js +108 -227
  63. package/dist/src/core/client.js.map +1 -1
  64. package/dist/src/core/client.test.js +269 -491
  65. package/dist/src/core/client.test.js.map +1 -1
  66. package/dist/src/core/contentGenerator.d.ts +0 -1
  67. package/dist/src/core/contentGenerator.js +0 -4
  68. package/dist/src/core/contentGenerator.js.map +1 -1
  69. package/dist/src/core/contentGenerator.test.js +1 -3
  70. package/dist/src/core/contentGenerator.test.js.map +1 -1
  71. package/dist/src/core/coreToolScheduler.d.ts +8 -3
  72. package/dist/src/core/coreToolScheduler.js +118 -8
  73. package/dist/src/core/coreToolScheduler.js.map +1 -1
  74. package/dist/src/core/coreToolScheduler.test.js +314 -5
  75. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  76. package/dist/src/core/geminiChat.d.ts +15 -38
  77. package/dist/src/core/geminiChat.js +108 -257
  78. package/dist/src/core/geminiChat.js.map +1 -1
  79. package/dist/src/core/geminiChat.test.js +429 -491
  80. package/dist/src/core/geminiChat.test.js.map +1 -1
  81. package/dist/src/core/loggingContentGenerator.js +7 -10
  82. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  83. package/dist/src/core/nonInteractiveToolExecutor.test.js +57 -1
  84. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  85. package/dist/src/core/prompts.d.ts +5 -0
  86. package/dist/src/core/prompts.js +64 -43
  87. package/dist/src/core/prompts.js.map +1 -1
  88. package/dist/src/core/prompts.test.js +146 -17
  89. package/dist/src/core/prompts.test.js.map +1 -1
  90. package/dist/src/core/subagent.js +2 -4
  91. package/dist/src/core/subagent.js.map +1 -1
  92. package/dist/src/core/subagent.test.js +12 -13
  93. package/dist/src/core/subagent.test.js.map +1 -1
  94. package/dist/src/core/turn.d.ts +3 -1
  95. package/dist/src/core/turn.js +2 -2
  96. package/dist/src/core/turn.js.map +1 -1
  97. package/dist/src/core/turn.test.js +18 -18
  98. package/dist/src/core/turn.test.js.map +1 -1
  99. package/dist/src/fallback/handler.d.ts +7 -0
  100. package/dist/src/fallback/handler.js +51 -0
  101. package/dist/src/fallback/handler.js.map +1 -0
  102. package/dist/src/fallback/handler.test.d.ts +6 -0
  103. package/dist/src/fallback/handler.test.js +130 -0
  104. package/dist/src/fallback/handler.test.js.map +1 -0
  105. package/dist/src/fallback/types.d.ts +14 -0
  106. package/dist/src/fallback/types.js +7 -0
  107. package/dist/src/fallback/types.js.map +1 -0
  108. package/dist/src/generated/git-commit.d.ts +2 -2
  109. package/dist/src/generated/git-commit.js +2 -2
  110. package/dist/src/generated/git-commit.js.map +1 -1
  111. package/dist/src/ide/constants.d.ts +3 -0
  112. package/dist/src/ide/constants.js +3 -0
  113. package/dist/src/ide/constants.js.map +1 -1
  114. package/dist/src/ide/ide-client.d.ts +51 -13
  115. package/dist/src/ide/ide-client.js +241 -35
  116. package/dist/src/ide/ide-client.js.map +1 -1
  117. package/dist/src/ide/ide-client.test.js +236 -0
  118. package/dist/src/ide/ide-client.test.js.map +1 -1
  119. package/dist/src/ide/ide-installer.js +8 -2
  120. package/dist/src/ide/ide-installer.js.map +1 -1
  121. package/dist/src/ide/ide-installer.test.js +13 -2
  122. package/dist/src/ide/ide-installer.test.js.map +1 -1
  123. package/dist/src/ide/ideContext.d.ts +35 -377
  124. package/dist/src/ide/ideContext.js +60 -107
  125. package/dist/src/ide/ideContext.js.map +1 -1
  126. package/dist/src/ide/ideContext.test.js +152 -24
  127. package/dist/src/ide/ideContext.test.js.map +1 -1
  128. package/dist/src/ide/process-utils.js +8 -1
  129. package/dist/src/ide/process-utils.js.map +1 -1
  130. package/dist/src/ide/types.d.ts +486 -0
  131. package/dist/src/ide/types.js +138 -0
  132. package/dist/src/ide/types.js.map +1 -0
  133. package/dist/src/index.d.ts +6 -1
  134. package/dist/src/index.js +6 -1
  135. package/dist/src/index.js.map +1 -1
  136. package/dist/src/mcp/oauth-provider.d.ts +1 -0
  137. package/dist/src/mcp/oauth-provider.js +22 -17
  138. package/dist/src/mcp/oauth-provider.js.map +1 -1
  139. package/dist/src/mcp/oauth-provider.test.js +149 -13
  140. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  141. package/dist/src/mcp/oauth-token-storage.d.ts +10 -6
  142. package/dist/src/mcp/oauth-token-storage.js +48 -16
  143. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  144. package/dist/src/mcp/oauth-token-storage.test.js +254 -163
  145. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  146. package/dist/src/mcp/oauth-utils.js +1 -0
  147. package/dist/src/mcp/oauth-utils.js.map +1 -1
  148. package/dist/src/mcp/token-storage/index.d.ts +11 -0
  149. package/dist/src/mcp/token-storage/index.js +12 -0
  150. package/dist/src/mcp/token-storage/index.js.map +1 -0
  151. package/dist/src/output/json-formatter.d.ts +11 -0
  152. package/dist/src/output/json-formatter.js +30 -0
  153. package/dist/src/output/json-formatter.js.map +1 -0
  154. package/dist/src/output/json-formatter.test.d.ts +6 -0
  155. package/dist/src/output/json-formatter.test.js +266 -0
  156. package/dist/src/output/json-formatter.test.js.map +1 -0
  157. package/dist/src/output/types.d.ts +20 -0
  158. package/dist/src/output/types.js +11 -0
  159. package/dist/src/output/types.js.map +1 -0
  160. package/dist/src/policy/index.d.ts +7 -0
  161. package/dist/src/policy/index.js +8 -0
  162. package/dist/src/policy/index.js.map +1 -0
  163. package/dist/src/policy/policy-engine.d.ts +30 -0
  164. package/dist/src/policy/policy-engine.js +83 -0
  165. package/dist/src/policy/policy-engine.js.map +1 -0
  166. package/dist/src/policy/policy-engine.test.d.ts +6 -0
  167. package/dist/src/policy/policy-engine.test.js +470 -0
  168. package/dist/src/policy/policy-engine.test.js.map +1 -0
  169. package/dist/src/policy/stable-stringify.d.ts +58 -0
  170. package/dist/src/policy/stable-stringify.js +122 -0
  171. package/dist/src/policy/stable-stringify.js.map +1 -0
  172. package/dist/src/policy/types.d.ts +47 -0
  173. package/dist/src/policy/types.js +12 -0
  174. package/dist/src/policy/types.js.map +1 -0
  175. package/dist/src/routing/modelRouterService.d.ts +23 -0
  176. package/dist/src/routing/modelRouterService.js +70 -0
  177. package/dist/src/routing/modelRouterService.js.map +1 -0
  178. package/dist/src/routing/modelRouterService.test.d.ts +6 -0
  179. package/dist/src/routing/modelRouterService.test.js +98 -0
  180. package/dist/src/routing/modelRouterService.test.js.map +1 -0
  181. package/dist/src/routing/routingStrategy.d.ts +62 -0
  182. package/dist/src/routing/routingStrategy.js +7 -0
  183. package/dist/src/routing/routingStrategy.js.map +1 -0
  184. package/dist/src/routing/strategies/classifierStrategy.d.ts +12 -0
  185. package/dist/src/routing/strategies/classifierStrategy.js +173 -0
  186. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -0
  187. package/dist/src/routing/strategies/classifierStrategy.test.d.ts +6 -0
  188. package/dist/src/routing/strategies/classifierStrategy.test.js +192 -0
  189. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -0
  190. package/dist/src/routing/strategies/compositeStrategy.d.ts +26 -0
  191. package/dist/src/routing/strategies/compositeStrategy.js +67 -0
  192. package/dist/src/routing/strategies/compositeStrategy.js.map +1 -0
  193. package/dist/src/routing/strategies/compositeStrategy.test.d.ts +6 -0
  194. package/dist/src/routing/strategies/compositeStrategy.test.js +123 -0
  195. package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -0
  196. package/dist/src/routing/strategies/defaultStrategy.d.ts +12 -0
  197. package/dist/src/routing/strategies/defaultStrategy.js +20 -0
  198. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -0
  199. package/dist/src/routing/strategies/defaultStrategy.test.d.ts +6 -0
  200. package/dist/src/routing/strategies/defaultStrategy.test.js +26 -0
  201. package/dist/src/routing/strategies/defaultStrategy.test.js.map +1 -0
  202. package/dist/src/routing/strategies/fallbackStrategy.d.ts +12 -0
  203. package/dist/src/routing/strategies/fallbackStrategy.js +25 -0
  204. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -0
  205. package/dist/src/routing/strategies/fallbackStrategy.test.d.ts +6 -0
  206. package/dist/src/routing/strategies/fallbackStrategy.test.js +55 -0
  207. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -0
  208. package/dist/src/routing/strategies/overrideStrategy.d.ts +15 -0
  209. package/dist/src/routing/strategies/overrideStrategy.js +28 -0
  210. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -0
  211. package/dist/src/routing/strategies/overrideStrategy.test.d.ts +6 -0
  212. package/dist/src/routing/strategies/overrideStrategy.test.js +42 -0
  213. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -0
  214. package/dist/src/services/chatRecordingService.d.ts +2 -1
  215. package/dist/src/services/chatRecordingService.js +3 -3
  216. package/dist/src/services/chatRecordingService.js.map +1 -1
  217. package/dist/src/services/chatRecordingService.test.js +8 -3
  218. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  219. package/dist/src/services/fileDiscoveryService.d.ts +10 -0
  220. package/dist/src/services/fileDiscoveryService.js +31 -17
  221. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  222. package/dist/src/services/gitService.js +9 -12
  223. package/dist/src/services/gitService.js.map +1 -1
  224. package/dist/src/services/gitService.test.js +10 -20
  225. package/dist/src/services/gitService.test.js.map +1 -1
  226. package/dist/src/services/loopDetectionService.d.ts +5 -0
  227. package/dist/src/services/loopDetectionService.js +36 -20
  228. package/dist/src/services/loopDetectionService.js.map +1 -1
  229. package/dist/src/services/loopDetectionService.test.js +41 -12
  230. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  231. package/dist/src/services/shellExecutionService.d.ts +34 -2
  232. package/dist/src/services/shellExecutionService.js +192 -43
  233. package/dist/src/services/shellExecutionService.js.map +1 -1
  234. package/dist/src/services/shellExecutionService.test.js +184 -55
  235. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  236. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +14 -2
  237. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +107 -5
  238. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  239. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +82 -5
  240. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  241. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +13 -2
  242. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +33 -2
  243. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  244. package/dist/src/telemetry/constants.d.ts +7 -0
  245. package/dist/src/telemetry/constants.js +7 -0
  246. package/dist/src/telemetry/constants.js.map +1 -1
  247. package/dist/src/telemetry/gcp-exporters.d.ts +34 -0
  248. package/dist/src/telemetry/gcp-exporters.js +117 -0
  249. package/dist/src/telemetry/gcp-exporters.js.map +1 -0
  250. package/dist/src/telemetry/gcp-exporters.test.d.ts +6 -0
  251. package/dist/src/telemetry/gcp-exporters.test.js +318 -0
  252. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -0
  253. package/dist/src/telemetry/high-water-mark-tracker.d.ts +43 -0
  254. package/dist/src/telemetry/high-water-mark-tracker.js +88 -0
  255. package/dist/src/telemetry/high-water-mark-tracker.js.map +1 -0
  256. package/dist/src/telemetry/high-water-mark-tracker.test.d.ts +6 -0
  257. package/dist/src/telemetry/high-water-mark-tracker.test.js +152 -0
  258. package/dist/src/telemetry/high-water-mark-tracker.test.js.map +1 -0
  259. package/dist/src/telemetry/index.d.ts +5 -2
  260. package/dist/src/telemetry/index.js +5 -2
  261. package/dist/src/telemetry/index.js.map +1 -1
  262. package/dist/src/telemetry/loggers.d.ts +8 -1
  263. package/dist/src/telemetry/loggers.js +114 -7
  264. package/dist/src/telemetry/loggers.js.map +1 -1
  265. package/dist/src/telemetry/loggers.test.js +232 -39
  266. package/dist/src/telemetry/loggers.test.js.map +1 -1
  267. package/dist/src/telemetry/metrics.d.ts +3 -1
  268. package/dist/src/telemetry/metrics.js +32 -3
  269. package/dist/src/telemetry/metrics.js.map +1 -1
  270. package/dist/src/telemetry/metrics.test.js +42 -0
  271. package/dist/src/telemetry/metrics.test.js.map +1 -1
  272. package/dist/src/telemetry/rate-limiter.d.ts +48 -0
  273. package/dist/src/telemetry/rate-limiter.js +100 -0
  274. package/dist/src/telemetry/rate-limiter.js.map +1 -0
  275. package/dist/src/telemetry/rate-limiter.test.d.ts +6 -0
  276. package/dist/src/telemetry/rate-limiter.test.js +207 -0
  277. package/dist/src/telemetry/rate-limiter.test.js.map +1 -0
  278. package/dist/src/telemetry/sdk.js +19 -1
  279. package/dist/src/telemetry/sdk.js.map +1 -1
  280. package/dist/src/telemetry/sdk.test.js +95 -0
  281. package/dist/src/telemetry/sdk.test.js.map +1 -1
  282. package/dist/src/telemetry/types.d.ts +60 -3
  283. package/dist/src/telemetry/types.js +93 -3
  284. package/dist/src/telemetry/types.js.map +1 -1
  285. package/dist/src/tools/edit.js +12 -5
  286. package/dist/src/tools/edit.js.map +1 -1
  287. package/dist/src/tools/edit.test.js +120 -9
  288. package/dist/src/tools/edit.test.js.map +1 -1
  289. package/dist/src/tools/glob.d.ts +5 -1
  290. package/dist/src/tools/glob.js +24 -17
  291. package/dist/src/tools/glob.js.map +1 -1
  292. package/dist/src/tools/glob.test.js +51 -0
  293. package/dist/src/tools/glob.test.js.map +1 -1
  294. package/dist/src/tools/ls.js +19 -32
  295. package/dist/src/tools/ls.js.map +1 -1
  296. package/dist/src/tools/ls.test.js +140 -280
  297. package/dist/src/tools/ls.test.js.map +1 -1
  298. package/dist/src/tools/mcp-client-manager.js +5 -21
  299. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  300. package/dist/src/tools/mcp-client.js +5 -5
  301. package/dist/src/tools/mcp-client.js.map +1 -1
  302. package/dist/src/tools/mcp-tool.js +30 -2
  303. package/dist/src/tools/mcp-tool.js.map +1 -1
  304. package/dist/src/tools/mcp-tool.test.js +117 -0
  305. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  306. package/dist/src/tools/read-file.js +7 -2
  307. package/dist/src/tools/read-file.js.map +1 -1
  308. package/dist/src/tools/read-file.test.js +29 -0
  309. package/dist/src/tools/read-file.test.js.map +1 -1
  310. package/dist/src/tools/read-many-files.d.ts +1 -1
  311. package/dist/src/tools/read-many-files.js +17 -49
  312. package/dist/src/tools/read-many-files.js.map +1 -1
  313. package/dist/src/tools/ripGrep.d.ts +8 -0
  314. package/dist/src/tools/ripGrep.js +26 -1
  315. package/dist/src/tools/ripGrep.js.map +1 -1
  316. package/dist/src/tools/ripGrep.test.js +107 -5
  317. package/dist/src/tools/ripGrep.test.js.map +1 -1
  318. package/dist/src/tools/shell.d.ts +12 -2
  319. package/dist/src/tools/shell.js +20 -27
  320. package/dist/src/tools/shell.js.map +1 -1
  321. package/dist/src/tools/shell.test.js +33 -68
  322. package/dist/src/tools/shell.test.js.map +1 -1
  323. package/dist/src/tools/smart-edit.d.ts +0 -1
  324. package/dist/src/tools/smart-edit.js +12 -19
  325. package/dist/src/tools/smart-edit.js.map +1 -1
  326. package/dist/src/tools/smart-edit.test.js +68 -9
  327. package/dist/src/tools/smart-edit.test.js.map +1 -1
  328. package/dist/src/tools/tool-registry.js +1 -0
  329. package/dist/src/tools/tool-registry.js.map +1 -1
  330. package/dist/src/tools/tools.d.ts +8 -5
  331. package/dist/src/tools/tools.js +9 -2
  332. package/dist/src/tools/tools.js.map +1 -1
  333. package/dist/src/tools/write-file.js +4 -5
  334. package/dist/src/tools/write-file.js.map +1 -1
  335. package/dist/src/tools/write-file.test.js +94 -10
  336. package/dist/src/tools/write-file.test.js.map +1 -1
  337. package/dist/src/utils/bfsFileSearch.js +11 -5
  338. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  339. package/dist/src/utils/editCorrector.d.ts +7 -6
  340. package/dist/src/utils/editCorrector.js +61 -18
  341. package/dist/src/utils/editCorrector.js.map +1 -1
  342. package/dist/src/utils/editCorrector.test.js +30 -79
  343. package/dist/src/utils/editCorrector.test.js.map +1 -1
  344. package/dist/src/utils/editor.js +31 -44
  345. package/dist/src/utils/editor.js.map +1 -1
  346. package/dist/src/utils/editor.test.js +61 -75
  347. package/dist/src/utils/editor.test.js.map +1 -1
  348. package/dist/src/utils/errorParsing.js +2 -2
  349. package/dist/src/utils/errorParsing.js.map +1 -1
  350. package/dist/src/utils/errorParsing.test.js +7 -7
  351. package/dist/src/utils/errorParsing.test.js.map +1 -1
  352. package/dist/src/utils/errors.d.ts +6 -0
  353. package/dist/src/utils/errors.js +10 -0
  354. package/dist/src/utils/errors.js.map +1 -1
  355. package/dist/src/utils/fileUtils.d.ts +1 -0
  356. package/dist/src/utils/fileUtils.js +10 -0
  357. package/dist/src/utils/fileUtils.js.map +1 -1
  358. package/dist/src/utils/fileUtils.test.js +34 -9
  359. package/dist/src/utils/fileUtils.test.js.map +1 -1
  360. package/dist/src/utils/filesearch/crawler.test.js +1 -1
  361. package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
  362. package/dist/src/utils/filesearch/fileSearch.test.js +1 -1
  363. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  364. package/dist/src/utils/filesearch/ignore.test.js +1 -1
  365. package/dist/src/utils/filesearch/ignore.test.js.map +1 -1
  366. package/dist/src/utils/flashFallback.test.d.ts +6 -0
  367. package/dist/src/utils/{flashFallback.integration.test.js → flashFallback.test.js} +31 -27
  368. package/dist/src/utils/flashFallback.test.js.map +1 -0
  369. package/dist/src/utils/geminiIgnoreParser.d.ts +18 -0
  370. package/dist/src/utils/geminiIgnoreParser.js +61 -0
  371. package/dist/src/utils/geminiIgnoreParser.js.map +1 -0
  372. package/dist/src/utils/geminiIgnoreParser.test.d.ts +6 -0
  373. package/dist/src/utils/geminiIgnoreParser.test.js +50 -0
  374. package/dist/src/utils/geminiIgnoreParser.test.js.map +1 -0
  375. package/dist/src/utils/gitIgnoreParser.d.ts +3 -8
  376. package/dist/src/utils/gitIgnoreParser.js +60 -60
  377. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  378. package/dist/src/utils/gitIgnoreParser.test.js +18 -53
  379. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
  380. package/dist/src/utils/installationManager.test.js +1 -1
  381. package/dist/src/utils/installationManager.test.js.map +1 -1
  382. package/dist/src/utils/llm-edit-fixer.d.ts +4 -3
  383. package/dist/src/utils/llm-edit-fixer.js +19 -10
  384. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  385. package/dist/src/utils/llm-edit-fixer.test.d.ts +6 -0
  386. package/dist/src/utils/llm-edit-fixer.test.js +105 -0
  387. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -0
  388. package/dist/src/utils/memoryDiscovery.test.js +12 -6
  389. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  390. package/dist/src/utils/nextSpeakerChecker.d.ts +2 -2
  391. package/dist/src/utils/nextSpeakerChecker.js +8 -2
  392. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  393. package/dist/src/utils/nextSpeakerChecker.test.js +52 -74
  394. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  395. package/dist/src/utils/promptIdContext.d.ts +7 -0
  396. package/dist/src/utils/promptIdContext.js +8 -0
  397. package/dist/src/utils/promptIdContext.js.map +1 -0
  398. package/dist/src/utils/shell-utils.d.ts +5 -0
  399. package/dist/src/utils/shell-utils.js +23 -0
  400. package/dist/src/utils/shell-utils.js.map +1 -1
  401. package/dist/src/utils/terminalSerializer.d.ts +28 -0
  402. package/dist/src/utils/terminalSerializer.js +432 -0
  403. package/dist/src/utils/terminalSerializer.js.map +1 -0
  404. package/dist/src/utils/terminalSerializer.test.d.ts +6 -0
  405. package/dist/src/utils/terminalSerializer.test.js +176 -0
  406. package/dist/src/utils/terminalSerializer.test.js.map +1 -0
  407. package/dist/src/utils/textUtils.d.ts +5 -0
  408. package/dist/src/utils/textUtils.js +14 -0
  409. package/dist/src/utils/textUtils.js.map +1 -1
  410. package/dist/src/utils/textUtils.test.d.ts +6 -0
  411. package/dist/src/utils/textUtils.test.js +59 -0
  412. package/dist/src/utils/textUtils.test.js.map +1 -0
  413. package/dist/src/utils/userAccountManager.test.js +1 -1
  414. package/dist/src/utils/userAccountManager.test.js.map +1 -1
  415. package/dist/tsconfig.tsbuildinfo +1 -1
  416. package/package.json +7 -2
  417. package/dist/src/utils/flashFallback.integration.test.js.map +0 -1
  418. package/dist/src/utils/ide-trust.d.ts +0 -10
  419. package/dist/src/utils/ide-trust.js +0 -14
  420. package/dist/src/utils/ide-trust.js.map +0 -1
  421. /package/dist/src/{utils/flashFallback.integration.test.d.ts → code_assist/oauth-credential-storage.test.d.ts} +0 -0
@@ -3,384 +3,42 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { z } from 'zod';
7
- /**
8
- * Zod schema for validating a file context from the IDE.
9
- */
10
- export declare const FileSchema: z.ZodObject<{
11
- path: z.ZodString;
12
- timestamp: z.ZodNumber;
13
- isActive: z.ZodOptional<z.ZodBoolean>;
14
- selectedText: z.ZodOptional<z.ZodString>;
15
- cursor: z.ZodOptional<z.ZodObject<{
16
- line: z.ZodNumber;
17
- character: z.ZodNumber;
18
- }, "strip", z.ZodTypeAny, {
19
- line: number;
20
- character: number;
21
- }, {
22
- line: number;
23
- character: number;
24
- }>>;
25
- }, "strip", z.ZodTypeAny, {
26
- path: string;
27
- timestamp: number;
28
- cursor?: {
29
- line: number;
30
- character: number;
31
- } | undefined;
32
- isActive?: boolean | undefined;
33
- selectedText?: string | undefined;
34
- }, {
35
- path: string;
36
- timestamp: number;
37
- cursor?: {
38
- line: number;
39
- character: number;
40
- } | undefined;
41
- isActive?: boolean | undefined;
42
- selectedText?: string | undefined;
43
- }>;
44
- export type File = z.infer<typeof FileSchema>;
45
- export declare const IdeContextSchema: z.ZodObject<{
46
- workspaceState: z.ZodOptional<z.ZodObject<{
47
- openFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
48
- path: z.ZodString;
49
- timestamp: z.ZodNumber;
50
- isActive: z.ZodOptional<z.ZodBoolean>;
51
- selectedText: z.ZodOptional<z.ZodString>;
52
- cursor: z.ZodOptional<z.ZodObject<{
53
- line: z.ZodNumber;
54
- character: z.ZodNumber;
55
- }, "strip", z.ZodTypeAny, {
56
- line: number;
57
- character: number;
58
- }, {
59
- line: number;
60
- character: number;
61
- }>>;
62
- }, "strip", z.ZodTypeAny, {
63
- path: string;
64
- timestamp: number;
65
- cursor?: {
66
- line: number;
67
- character: number;
68
- } | undefined;
69
- isActive?: boolean | undefined;
70
- selectedText?: string | undefined;
71
- }, {
72
- path: string;
73
- timestamp: number;
74
- cursor?: {
75
- line: number;
76
- character: number;
77
- } | undefined;
78
- isActive?: boolean | undefined;
79
- selectedText?: string | undefined;
80
- }>, "many">>;
81
- isTrusted: z.ZodOptional<z.ZodBoolean>;
82
- }, "strip", z.ZodTypeAny, {
83
- openFiles?: {
84
- path: string;
85
- timestamp: number;
86
- cursor?: {
87
- line: number;
88
- character: number;
89
- } | undefined;
90
- isActive?: boolean | undefined;
91
- selectedText?: string | undefined;
92
- }[] | undefined;
93
- isTrusted?: boolean | undefined;
94
- }, {
95
- openFiles?: {
96
- path: string;
97
- timestamp: number;
98
- cursor?: {
99
- line: number;
100
- character: number;
101
- } | undefined;
102
- isActive?: boolean | undefined;
103
- selectedText?: string | undefined;
104
- }[] | undefined;
105
- isTrusted?: boolean | undefined;
106
- }>>;
107
- }, "strip", z.ZodTypeAny, {
108
- workspaceState?: {
109
- openFiles?: {
110
- path: string;
111
- timestamp: number;
112
- cursor?: {
113
- line: number;
114
- character: number;
115
- } | undefined;
116
- isActive?: boolean | undefined;
117
- selectedText?: string | undefined;
118
- }[] | undefined;
119
- isTrusted?: boolean | undefined;
120
- } | undefined;
121
- }, {
122
- workspaceState?: {
123
- openFiles?: {
124
- path: string;
125
- timestamp: number;
126
- cursor?: {
127
- line: number;
128
- character: number;
129
- } | undefined;
130
- isActive?: boolean | undefined;
131
- selectedText?: string | undefined;
132
- }[] | undefined;
133
- isTrusted?: boolean | undefined;
134
- } | undefined;
135
- }>;
136
- export type IdeContext = z.infer<typeof IdeContextSchema>;
137
- /**
138
- * Zod schema for validating the 'ide/contextUpdate' notification from the IDE.
139
- */
140
- export declare const IdeContextNotificationSchema: z.ZodObject<{
141
- jsonrpc: z.ZodLiteral<"2.0">;
142
- method: z.ZodLiteral<"ide/contextUpdate">;
143
- params: z.ZodObject<{
144
- workspaceState: z.ZodOptional<z.ZodObject<{
145
- openFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
146
- path: z.ZodString;
147
- timestamp: z.ZodNumber;
148
- isActive: z.ZodOptional<z.ZodBoolean>;
149
- selectedText: z.ZodOptional<z.ZodString>;
150
- cursor: z.ZodOptional<z.ZodObject<{
151
- line: z.ZodNumber;
152
- character: z.ZodNumber;
153
- }, "strip", z.ZodTypeAny, {
154
- line: number;
155
- character: number;
156
- }, {
157
- line: number;
158
- character: number;
159
- }>>;
160
- }, "strip", z.ZodTypeAny, {
161
- path: string;
162
- timestamp: number;
163
- cursor?: {
164
- line: number;
165
- character: number;
166
- } | undefined;
167
- isActive?: boolean | undefined;
168
- selectedText?: string | undefined;
169
- }, {
170
- path: string;
171
- timestamp: number;
172
- cursor?: {
173
- line: number;
174
- character: number;
175
- } | undefined;
176
- isActive?: boolean | undefined;
177
- selectedText?: string | undefined;
178
- }>, "many">>;
179
- isTrusted: z.ZodOptional<z.ZodBoolean>;
180
- }, "strip", z.ZodTypeAny, {
181
- openFiles?: {
182
- path: string;
183
- timestamp: number;
184
- cursor?: {
185
- line: number;
186
- character: number;
187
- } | undefined;
188
- isActive?: boolean | undefined;
189
- selectedText?: string | undefined;
190
- }[] | undefined;
191
- isTrusted?: boolean | undefined;
192
- }, {
193
- openFiles?: {
194
- path: string;
195
- timestamp: number;
196
- cursor?: {
197
- line: number;
198
- character: number;
199
- } | undefined;
200
- isActive?: boolean | undefined;
201
- selectedText?: string | undefined;
202
- }[] | undefined;
203
- isTrusted?: boolean | undefined;
204
- }>>;
205
- }, "strip", z.ZodTypeAny, {
206
- workspaceState?: {
207
- openFiles?: {
208
- path: string;
209
- timestamp: number;
210
- cursor?: {
211
- line: number;
212
- character: number;
213
- } | undefined;
214
- isActive?: boolean | undefined;
215
- selectedText?: string | undefined;
216
- }[] | undefined;
217
- isTrusted?: boolean | undefined;
218
- } | undefined;
219
- }, {
220
- workspaceState?: {
221
- openFiles?: {
222
- path: string;
223
- timestamp: number;
224
- cursor?: {
225
- line: number;
226
- character: number;
227
- } | undefined;
228
- isActive?: boolean | undefined;
229
- selectedText?: string | undefined;
230
- }[] | undefined;
231
- isTrusted?: boolean | undefined;
232
- } | undefined;
233
- }>;
234
- }, "strip", z.ZodTypeAny, {
235
- params: {
236
- workspaceState?: {
237
- openFiles?: {
238
- path: string;
239
- timestamp: number;
240
- cursor?: {
241
- line: number;
242
- character: number;
243
- } | undefined;
244
- isActive?: boolean | undefined;
245
- selectedText?: string | undefined;
246
- }[] | undefined;
247
- isTrusted?: boolean | undefined;
248
- } | undefined;
249
- };
250
- jsonrpc: "2.0";
251
- method: "ide/contextUpdate";
252
- }, {
253
- params: {
254
- workspaceState?: {
255
- openFiles?: {
256
- path: string;
257
- timestamp: number;
258
- cursor?: {
259
- line: number;
260
- character: number;
261
- } | undefined;
262
- isActive?: boolean | undefined;
263
- selectedText?: string | undefined;
264
- }[] | undefined;
265
- isTrusted?: boolean | undefined;
266
- } | undefined;
267
- };
268
- jsonrpc: "2.0";
269
- method: "ide/contextUpdate";
270
- }>;
271
- export declare const IdeDiffAcceptedNotificationSchema: z.ZodObject<{
272
- jsonrpc: z.ZodLiteral<"2.0">;
273
- method: z.ZodLiteral<"ide/diffAccepted">;
274
- params: z.ZodObject<{
275
- filePath: z.ZodString;
276
- content: z.ZodString;
277
- }, "strip", z.ZodTypeAny, {
278
- filePath: string;
279
- content: string;
280
- }, {
281
- filePath: string;
282
- content: string;
283
- }>;
284
- }, "strip", z.ZodTypeAny, {
285
- params: {
286
- filePath: string;
287
- content: string;
288
- };
289
- jsonrpc: "2.0";
290
- method: "ide/diffAccepted";
291
- }, {
292
- params: {
293
- filePath: string;
294
- content: string;
295
- };
296
- jsonrpc: "2.0";
297
- method: "ide/diffAccepted";
298
- }>;
299
- export declare const IdeDiffClosedNotificationSchema: z.ZodObject<{
300
- jsonrpc: z.ZodLiteral<"2.0">;
301
- method: z.ZodLiteral<"ide/diffClosed">;
302
- params: z.ZodObject<{
303
- filePath: z.ZodString;
304
- content: z.ZodOptional<z.ZodString>;
305
- }, "strip", z.ZodTypeAny, {
306
- filePath: string;
307
- content?: string | undefined;
308
- }, {
309
- filePath: string;
310
- content?: string | undefined;
311
- }>;
312
- }, "strip", z.ZodTypeAny, {
313
- params: {
314
- filePath: string;
315
- content?: string | undefined;
316
- };
317
- jsonrpc: "2.0";
318
- method: "ide/diffClosed";
319
- }, {
320
- params: {
321
- filePath: string;
322
- content?: string | undefined;
323
- };
324
- jsonrpc: "2.0";
325
- method: "ide/diffClosed";
326
- }>;
327
- export declare const CloseDiffResponseSchema: z.ZodEffects<z.ZodObject<{
328
- content: z.ZodArray<z.ZodObject<{
329
- text: z.ZodString;
330
- type: z.ZodLiteral<"text">;
331
- }, "strip", z.ZodTypeAny, {
332
- text: string;
333
- type: "text";
334
- }, {
335
- text: string;
336
- type: "text";
337
- }>, "many">;
338
- }, "strip", z.ZodTypeAny, {
339
- content: {
340
- text: string;
341
- type: "text";
342
- }[];
343
- }, {
344
- content: {
345
- text: string;
346
- type: "text";
347
- }[];
348
- }>, {
349
- content?: string | undefined;
350
- }, {
351
- content: {
352
- text: string;
353
- type: "text";
354
- }[];
355
- }>;
356
- export type DiffUpdateResult = {
357
- status: 'accepted';
358
- content?: string;
359
- } | {
360
- status: 'rejected';
361
- content: undefined;
362
- };
363
- type IdeContextSubscriber = (ideContext: IdeContext | undefined) => void;
364
- /**
365
- * Creates a new store for managing the IDE's context.
366
- * This factory function encapsulates the state and logic, allowing for the creation
367
- * of isolated instances, which is particularly useful for testing.
368
- *
369
- * @returns An object with methods to interact with the IDE context.
370
- */
371
- export declare function createIdeContextStore(): {
372
- setIdeContext: (newIdeContext: IdeContext) => void;
373
- getIdeContext: () => IdeContext | undefined;
374
- subscribeToIdeContext: (subscriber: IdeContextSubscriber) => () => void;
375
- clearIdeContext: () => void;
376
- };
6
+ import type { IdeContext } from './types.js';
7
+ type IdeContextSubscriber = (ideContext?: IdeContext) => void;
8
+ export declare class IdeContextStore {
9
+ private ideContextState?;
10
+ private readonly subscribers;
11
+ /**
12
+ * Notifies all registered subscribers about the current IDE context.
13
+ */
14
+ private notifySubscribers;
15
+ /**
16
+ * Sets the IDE context and notifies all registered subscribers of the change.
17
+ * @param newIdeContext The new IDE context from the IDE.
18
+ */
19
+ set(newIdeContext: IdeContext): void;
20
+ /**
21
+ * Clears the IDE context and notifies all registered subscribers of the change.
22
+ */
23
+ clear(): void;
24
+ /**
25
+ * Retrieves the current IDE context.
26
+ * @returns The `IdeContext` object if a file is active; otherwise, `undefined`.
27
+ */
28
+ get(): IdeContext | undefined;
29
+ /**
30
+ * Subscribes to changes in the IDE context.
31
+ *
32
+ * When the IDE context changes, the provided `subscriber` function will be called.
33
+ * Note: The subscriber is not called with the current value upon subscription.
34
+ *
35
+ * @param subscriber The function to be called when the IDE context changes.
36
+ * @returns A function that, when called, will unsubscribe the provided subscriber.
37
+ */
38
+ subscribe(subscriber: IdeContextSubscriber): () => void;
39
+ }
377
40
  /**
378
41
  * The default, shared instance of the IDE context store for the application.
379
42
  */
380
- export declare const ideContext: {
381
- setIdeContext: (newIdeContext: IdeContext) => void;
382
- getIdeContext: () => IdeContext | undefined;
383
- subscribeToIdeContext: (subscriber: IdeContextSubscriber) => () => void;
384
- clearIdeContext: () => void;
385
- };
43
+ export declare const ideContextStore: IdeContextStore;
386
44
  export {};
@@ -3,121 +3,80 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { z } from 'zod';
7
- /**
8
- * Zod schema for validating a file context from the IDE.
9
- */
10
- export const FileSchema = z.object({
11
- path: z.string(),
12
- timestamp: z.number(),
13
- isActive: z.boolean().optional(),
14
- selectedText: z.string().optional(),
15
- cursor: z
16
- .object({
17
- line: z.number(),
18
- character: z.number(),
19
- })
20
- .optional(),
21
- });
22
- export const IdeContextSchema = z.object({
23
- workspaceState: z
24
- .object({
25
- openFiles: z.array(FileSchema).optional(),
26
- isTrusted: z.boolean().optional(),
27
- })
28
- .optional(),
29
- });
30
- /**
31
- * Zod schema for validating the 'ide/contextUpdate' notification from the IDE.
32
- */
33
- export const IdeContextNotificationSchema = z.object({
34
- jsonrpc: z.literal('2.0'),
35
- method: z.literal('ide/contextUpdate'),
36
- params: IdeContextSchema,
37
- });
38
- export const IdeDiffAcceptedNotificationSchema = z.object({
39
- jsonrpc: z.literal('2.0'),
40
- method: z.literal('ide/diffAccepted'),
41
- params: z.object({
42
- filePath: z.string(),
43
- content: z.string(),
44
- }),
45
- });
46
- export const IdeDiffClosedNotificationSchema = z.object({
47
- jsonrpc: z.literal('2.0'),
48
- method: z.literal('ide/diffClosed'),
49
- params: z.object({
50
- filePath: z.string(),
51
- content: z.string().optional(),
52
- }),
53
- });
54
- export const CloseDiffResponseSchema = z
55
- .object({
56
- content: z
57
- .array(z.object({
58
- text: z.string(),
59
- type: z.literal('text'),
60
- }))
61
- .min(1),
62
- })
63
- .transform((val, ctx) => {
64
- try {
65
- const parsed = JSON.parse(val.content[0].text);
66
- const innerSchema = z.object({ content: z.string().optional() });
67
- const validationResult = innerSchema.safeParse(parsed);
68
- if (!validationResult.success) {
69
- validationResult.error.issues.forEach((issue) => ctx.addIssue(issue));
70
- return z.NEVER;
71
- }
72
- return validationResult.data;
73
- }
74
- catch (_) {
75
- ctx.addIssue({
76
- code: z.ZodIssueCode.custom,
77
- message: 'Invalid JSON in text content',
78
- });
79
- return z.NEVER;
80
- }
81
- });
82
- /**
83
- * Creates a new store for managing the IDE's context.
84
- * This factory function encapsulates the state and logic, allowing for the creation
85
- * of isolated instances, which is particularly useful for testing.
86
- *
87
- * @returns An object with methods to interact with the IDE context.
88
- */
89
- export function createIdeContextStore() {
90
- let ideContextState = undefined;
91
- const subscribers = new Set();
6
+ import { IDE_MAX_OPEN_FILES, IDE_MAX_SELECTED_TEXT_LENGTH, } from './constants.js';
7
+ export class IdeContextStore {
8
+ ideContextState;
9
+ subscribers = new Set();
92
10
  /**
93
11
  * Notifies all registered subscribers about the current IDE context.
94
12
  */
95
- function notifySubscribers() {
96
- for (const subscriber of subscribers) {
97
- subscriber(ideContextState);
13
+ notifySubscribers() {
14
+ for (const subscriber of this.subscribers) {
15
+ subscriber(this.ideContextState);
98
16
  }
99
17
  }
100
18
  /**
101
19
  * Sets the IDE context and notifies all registered subscribers of the change.
102
20
  * @param newIdeContext The new IDE context from the IDE.
103
21
  */
104
- function setIdeContext(newIdeContext) {
105
- ideContextState = newIdeContext;
106
- notifySubscribers();
22
+ set(newIdeContext) {
23
+ const { workspaceState } = newIdeContext;
24
+ if (!workspaceState) {
25
+ this.ideContextState = newIdeContext;
26
+ this.notifySubscribers();
27
+ return;
28
+ }
29
+ const { openFiles } = workspaceState;
30
+ if (openFiles && openFiles.length > 0) {
31
+ // Sort by timestamp descending (newest first)
32
+ openFiles.sort((a, b) => b.timestamp - a.timestamp);
33
+ // The most recent file is now at index 0.
34
+ const mostRecentFile = openFiles[0];
35
+ // If the most recent file is not active, then no file is active.
36
+ if (!mostRecentFile.isActive) {
37
+ openFiles.forEach((file) => {
38
+ file.isActive = false;
39
+ file.cursor = undefined;
40
+ file.selectedText = undefined;
41
+ });
42
+ }
43
+ else {
44
+ // The most recent file is active. Ensure it's the only one.
45
+ openFiles.forEach((file, index) => {
46
+ if (index !== 0) {
47
+ file.isActive = false;
48
+ file.cursor = undefined;
49
+ file.selectedText = undefined;
50
+ }
51
+ });
52
+ // Truncate selected text in the active file
53
+ if (mostRecentFile.selectedText &&
54
+ mostRecentFile.selectedText.length > IDE_MAX_SELECTED_TEXT_LENGTH) {
55
+ mostRecentFile.selectedText =
56
+ mostRecentFile.selectedText.substring(0, IDE_MAX_SELECTED_TEXT_LENGTH) + '... [TRUNCATED]';
57
+ }
58
+ }
59
+ // Truncate files list
60
+ if (openFiles.length > IDE_MAX_OPEN_FILES) {
61
+ workspaceState.openFiles = openFiles.slice(0, IDE_MAX_OPEN_FILES);
62
+ }
63
+ }
64
+ this.ideContextState = newIdeContext;
65
+ this.notifySubscribers();
107
66
  }
108
67
  /**
109
68
  * Clears the IDE context and notifies all registered subscribers of the change.
110
69
  */
111
- function clearIdeContext() {
112
- ideContextState = undefined;
113
- notifySubscribers();
70
+ clear() {
71
+ this.ideContextState = undefined;
72
+ this.notifySubscribers();
114
73
  }
115
74
  /**
116
75
  * Retrieves the current IDE context.
117
76
  * @returns The `IdeContext` object if a file is active; otherwise, `undefined`.
118
77
  */
119
- function getIdeContext() {
120
- return ideContextState;
78
+ get() {
79
+ return this.ideContextState;
121
80
  }
122
81
  /**
123
82
  * Subscribes to changes in the IDE context.
@@ -128,21 +87,15 @@ export function createIdeContextStore() {
128
87
  * @param subscriber The function to be called when the IDE context changes.
129
88
  * @returns A function that, when called, will unsubscribe the provided subscriber.
130
89
  */
131
- function subscribeToIdeContext(subscriber) {
132
- subscribers.add(subscriber);
90
+ subscribe(subscriber) {
91
+ this.subscribers.add(subscriber);
133
92
  return () => {
134
- subscribers.delete(subscriber);
93
+ this.subscribers.delete(subscriber);
135
94
  };
136
95
  }
137
- return {
138
- setIdeContext,
139
- getIdeContext,
140
- subscribeToIdeContext,
141
- clearIdeContext,
142
- };
143
96
  }
144
97
  /**
145
98
  * The default, shared instance of the IDE context store for the application.
146
99
  */
147
- export const ideContext = createIdeContextStore();
100
+ export const ideContextStore = new IdeContextStore();
148
101
  //# sourceMappingURL=ideContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ideContext.js","sourceRoot":"","sources":["../../../src/ide/ideContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ideContext.js","sourceRoot":"","sources":["../../../src/ide/ideContext.ts"],"names":[],"mappings":"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"}