@aria-cli/tools 1.0.10 → 1.0.11

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 (348) hide show
  1. package/dist-cjs/.tsbuildinfo +1 -0
  2. package/dist-cjs/ask-user-interaction.d.ts +10 -0
  3. package/dist-cjs/ask-user-interaction.js +28 -0
  4. package/dist-cjs/ask-user-interaction.js.map +1 -0
  5. package/dist-cjs/cache/web-cache.d.ts +52 -0
  6. package/dist-cjs/cache/web-cache.js +71 -0
  7. package/dist-cjs/cache/web-cache.js.map +1 -0
  8. package/dist-cjs/definitions/arion.d.ts +8 -0
  9. package/dist-cjs/definitions/arion.js +108 -0
  10. package/dist-cjs/definitions/arion.js.map +1 -0
  11. package/dist-cjs/definitions/browser/browser.d.ts +2 -0
  12. package/dist-cjs/definitions/browser/browser.js +422 -0
  13. package/dist-cjs/definitions/browser/browser.js.map +1 -0
  14. package/dist-cjs/definitions/browser/index.d.ts +1 -0
  15. package/dist-cjs/definitions/browser/index.js +9 -0
  16. package/dist-cjs/definitions/browser/index.js.map +1 -0
  17. package/dist-cjs/definitions/browser/pw-downloads.d.ts +13 -0
  18. package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
  19. package/dist-cjs/definitions/browser/pw-downloads.js.map +1 -0
  20. package/dist-cjs/definitions/browser/pw-interactions.d.ts +78 -0
  21. package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
  22. package/dist-cjs/definitions/browser/pw-interactions.js.map +1 -0
  23. package/dist-cjs/definitions/browser/pw-responses.d.ts +28 -0
  24. package/dist-cjs/definitions/browser/pw-responses.js +85 -0
  25. package/dist-cjs/definitions/browser/pw-responses.js.map +1 -0
  26. package/dist-cjs/definitions/browser/pw-session.d.ts +65 -0
  27. package/dist-cjs/definitions/browser/pw-session.js +327 -0
  28. package/dist-cjs/definitions/browser/pw-session.js.map +1 -0
  29. package/dist-cjs/definitions/browser/pw-shared.d.ts +22 -0
  30. package/dist-cjs/definitions/browser/pw-shared.js +73 -0
  31. package/dist-cjs/definitions/browser/pw-shared.js.map +1 -0
  32. package/dist-cjs/definitions/browser/pw-snapshot.d.ts +34 -0
  33. package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
  34. package/dist-cjs/definitions/browser/pw-snapshot.js.map +1 -0
  35. package/dist-cjs/definitions/browser/pw-state.d.ts +22 -0
  36. package/dist-cjs/definitions/browser/pw-state.js +71 -0
  37. package/dist-cjs/definitions/browser/pw-state.js.map +1 -0
  38. package/dist-cjs/definitions/browser/types.d.ts +277 -0
  39. package/dist-cjs/definitions/browser/types.js +6 -0
  40. package/dist-cjs/definitions/browser/types.js.map +1 -0
  41. package/dist-cjs/definitions/code-intelligence.d.ts +8 -0
  42. package/dist-cjs/definitions/code-intelligence.js +474 -0
  43. package/dist-cjs/definitions/code-intelligence.js.map +1 -0
  44. package/dist-cjs/definitions/core.d.ts +47 -0
  45. package/dist-cjs/definitions/core.js +134 -0
  46. package/dist-cjs/definitions/core.js.map +1 -0
  47. package/dist-cjs/definitions/delegation.d.ts +11 -0
  48. package/dist-cjs/definitions/delegation.js +516 -0
  49. package/dist-cjs/definitions/delegation.js.map +1 -0
  50. package/dist-cjs/definitions/deploy.d.ts +15 -0
  51. package/dist-cjs/definitions/deploy.js +69 -0
  52. package/dist-cjs/definitions/deploy.js.map +1 -0
  53. package/dist-cjs/definitions/filesystem.d.ts +9 -0
  54. package/dist-cjs/definitions/filesystem.js +200 -0
  55. package/dist-cjs/definitions/filesystem.js.map +1 -0
  56. package/dist-cjs/definitions/frg.d.ts +3 -0
  57. package/dist-cjs/definitions/frg.js +67 -0
  58. package/dist-cjs/definitions/frg.js.map +1 -0
  59. package/dist-cjs/definitions/index.d.ts +19 -0
  60. package/dist-cjs/definitions/index.js +44 -0
  61. package/dist-cjs/definitions/index.js.map +1 -0
  62. package/dist-cjs/definitions/memory.d.ts +8 -0
  63. package/dist-cjs/definitions/memory.js +127 -0
  64. package/dist-cjs/definitions/memory.js.map +1 -0
  65. package/dist-cjs/definitions/messaging.d.ts +11 -0
  66. package/dist-cjs/definitions/messaging.js +632 -0
  67. package/dist-cjs/definitions/messaging.js.map +1 -0
  68. package/dist-cjs/definitions/meta.d.ts +11 -0
  69. package/dist-cjs/definitions/meta.js +353 -0
  70. package/dist-cjs/definitions/meta.js.map +1 -0
  71. package/dist-cjs/definitions/network.d.ts +11 -0
  72. package/dist-cjs/definitions/network.js +163 -0
  73. package/dist-cjs/definitions/network.js.map +1 -0
  74. package/dist-cjs/definitions/outlook.d.ts +2 -0
  75. package/dist-cjs/definitions/outlook.js +281 -0
  76. package/dist-cjs/definitions/outlook.js.map +1 -0
  77. package/dist-cjs/definitions/patch/apply-patch.d.ts +11 -0
  78. package/dist-cjs/definitions/patch/apply-patch.js +192 -0
  79. package/dist-cjs/definitions/patch/apply-patch.js.map +1 -0
  80. package/dist-cjs/definitions/patch/fuzzy-match.d.ts +10 -0
  81. package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
  82. package/dist-cjs/definitions/patch/fuzzy-match.js.map +1 -0
  83. package/dist-cjs/definitions/patch/index.d.ts +1 -0
  84. package/dist-cjs/definitions/patch/index.js +6 -0
  85. package/dist-cjs/definitions/patch/index.js.map +1 -0
  86. package/dist-cjs/definitions/patch/patch-parser.d.ts +50 -0
  87. package/dist-cjs/definitions/patch/patch-parser.js +216 -0
  88. package/dist-cjs/definitions/patch/patch-parser.js.map +1 -0
  89. package/dist-cjs/definitions/patch/sandbox-paths.d.ts +18 -0
  90. package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
  91. package/dist-cjs/definitions/patch/sandbox-paths.js.map +1 -0
  92. package/dist-cjs/definitions/process/index.d.ts +1 -0
  93. package/dist-cjs/definitions/process/index.js +9 -0
  94. package/dist-cjs/definitions/process/index.js.map +1 -0
  95. package/dist-cjs/definitions/process/process-registry.d.ts +67 -0
  96. package/dist-cjs/definitions/process/process-registry.js +232 -0
  97. package/dist-cjs/definitions/process/process-registry.js.map +1 -0
  98. package/dist-cjs/definitions/process/process.d.ts +9 -0
  99. package/dist-cjs/definitions/process/process.js +390 -0
  100. package/dist-cjs/definitions/process/process.js.map +1 -0
  101. package/dist-cjs/definitions/process/pty-keys.d.ts +13 -0
  102. package/dist-cjs/definitions/process/pty-keys.js +260 -0
  103. package/dist-cjs/definitions/process/pty-keys.js.map +1 -0
  104. package/dist-cjs/definitions/process/session-slug.d.ts +1 -0
  105. package/dist-cjs/definitions/process/session-slug.js +146 -0
  106. package/dist-cjs/definitions/process/session-slug.js.map +1 -0
  107. package/dist-cjs/definitions/quip.d.ts +2 -0
  108. package/dist-cjs/definitions/quip.js +199 -0
  109. package/dist-cjs/definitions/quip.js.map +1 -0
  110. package/dist-cjs/definitions/search.d.ts +9 -0
  111. package/dist-cjs/definitions/search.js +64 -0
  112. package/dist-cjs/definitions/search.js.map +1 -0
  113. package/dist-cjs/definitions/session-history.d.ts +11 -0
  114. package/dist-cjs/definitions/session-history.js +73 -0
  115. package/dist-cjs/definitions/session-history.js.map +1 -0
  116. package/dist-cjs/definitions/shell.d.ts +8 -0
  117. package/dist-cjs/definitions/shell.js +185 -0
  118. package/dist-cjs/definitions/shell.js.map +1 -0
  119. package/dist-cjs/definitions/slack.d.ts +2 -0
  120. package/dist-cjs/definitions/slack.js +184 -0
  121. package/dist-cjs/definitions/slack.js.map +1 -0
  122. package/dist-cjs/definitions/web.d.ts +8 -0
  123. package/dist-cjs/definitions/web.js +113 -0
  124. package/dist-cjs/definitions/web.js.map +1 -0
  125. package/dist-cjs/executors/apply-patch.d.ts +51 -0
  126. package/dist-cjs/executors/apply-patch.js +939 -0
  127. package/dist-cjs/executors/apply-patch.js.map +1 -0
  128. package/dist-cjs/executors/arion.d.ts +50 -0
  129. package/dist-cjs/executors/arion.js +126 -0
  130. package/dist-cjs/executors/arion.js.map +1 -0
  131. package/dist-cjs/executors/code-intelligence.d.ts +138 -0
  132. package/dist-cjs/executors/code-intelligence.js +926 -0
  133. package/dist-cjs/executors/code-intelligence.js.map +1 -0
  134. package/dist-cjs/executors/deploy.d.ts +169 -0
  135. package/dist-cjs/executors/deploy.js +870 -0
  136. package/dist-cjs/executors/deploy.js.map +1 -0
  137. package/dist-cjs/executors/filesystem.d.ts +150 -0
  138. package/dist-cjs/executors/filesystem.js +1168 -0
  139. package/dist-cjs/executors/filesystem.js.map +1 -0
  140. package/dist-cjs/executors/frg-freshness.d.ts +93 -0
  141. package/dist-cjs/executors/frg-freshness.js +628 -0
  142. package/dist-cjs/executors/frg-freshness.js.map +1 -0
  143. package/dist-cjs/executors/frg.d.ts +27 -0
  144. package/dist-cjs/executors/frg.js +335 -0
  145. package/dist-cjs/executors/frg.js.map +1 -0
  146. package/dist-cjs/executors/index.d.ts +44 -0
  147. package/dist-cjs/executors/index.js +144 -0
  148. package/dist-cjs/executors/index.js.map +1 -0
  149. package/dist-cjs/executors/learning-meta.d.ts +87 -0
  150. package/dist-cjs/executors/learning-meta.js +1166 -0
  151. package/dist-cjs/executors/learning-meta.js.map +1 -0
  152. package/dist-cjs/executors/lsp-client.d.ts +38 -0
  153. package/dist-cjs/executors/lsp-client.js +311 -0
  154. package/dist-cjs/executors/lsp-client.js.map +1 -0
  155. package/dist-cjs/executors/memory.d.ts +203 -0
  156. package/dist-cjs/executors/memory.js +797 -0
  157. package/dist-cjs/executors/memory.js.map +1 -0
  158. package/dist-cjs/executors/meta.d.ts +73 -0
  159. package/dist-cjs/executors/meta.js +227 -0
  160. package/dist-cjs/executors/meta.js.map +1 -0
  161. package/dist-cjs/executors/process-registry.d.ts +98 -0
  162. package/dist-cjs/executors/process-registry.js +470 -0
  163. package/dist-cjs/executors/process-registry.js.map +1 -0
  164. package/dist-cjs/executors/pty-session-store.d.ts +14 -0
  165. package/dist-cjs/executors/pty-session-store.js +35 -0
  166. package/dist-cjs/executors/pty-session-store.js.map +1 -0
  167. package/dist-cjs/executors/pty.d.ts +133 -0
  168. package/dist-cjs/executors/pty.js +313 -0
  169. package/dist-cjs/executors/pty.js.map +1 -0
  170. package/dist-cjs/executors/restart.d.ts +13 -0
  171. package/dist-cjs/executors/restart.js +156 -0
  172. package/dist-cjs/executors/restart.js.map +1 -0
  173. package/dist-cjs/executors/search-freshness.d.ts +50 -0
  174. package/dist-cjs/executors/search-freshness.js +235 -0
  175. package/dist-cjs/executors/search-freshness.js.map +1 -0
  176. package/dist-cjs/executors/search-types.d.ts +52 -0
  177. package/dist-cjs/executors/search-types.js +57 -0
  178. package/dist-cjs/executors/search-types.js.map +1 -0
  179. package/dist-cjs/executors/search.d.ts +11 -0
  180. package/dist-cjs/executors/search.js +103 -0
  181. package/dist-cjs/executors/search.js.map +1 -0
  182. package/dist-cjs/executors/self-diagnose.d.ts +89 -0
  183. package/dist-cjs/executors/self-diagnose.js +435 -0
  184. package/dist-cjs/executors/self-diagnose.js.map +1 -0
  185. package/dist-cjs/executors/session-history.d.ts +75 -0
  186. package/dist-cjs/executors/session-history.js +321 -0
  187. package/dist-cjs/executors/session-history.js.map +1 -0
  188. package/dist-cjs/executors/shell-safety.d.ts +27 -0
  189. package/dist-cjs/executors/shell-safety.js +479 -0
  190. package/dist-cjs/executors/shell-safety.js.map +1 -0
  191. package/dist-cjs/executors/shell.d.ts +168 -0
  192. package/dist-cjs/executors/shell.js +1002 -0
  193. package/dist-cjs/executors/shell.js.map +1 -0
  194. package/dist-cjs/executors/utils.d.ts +20 -0
  195. package/dist-cjs/executors/utils.js +74 -0
  196. package/dist-cjs/executors/utils.js.map +1 -0
  197. package/dist-cjs/executors/web.d.ts +89 -0
  198. package/dist-cjs/executors/web.js +548 -0
  199. package/dist-cjs/executors/web.js.map +1 -0
  200. package/dist-cjs/extraction/content-extraction.d.ts +48 -0
  201. package/dist-cjs/extraction/content-extraction.js +244 -0
  202. package/dist-cjs/extraction/content-extraction.js.map +1 -0
  203. package/dist-cjs/extraction/index.d.ts +4 -0
  204. package/dist-cjs/extraction/index.js +9 -0
  205. package/dist-cjs/extraction/index.js.map +1 -0
  206. package/dist-cjs/headless-control-contract.d.ts +3182 -0
  207. package/dist-cjs/headless-control-contract.js +973 -0
  208. package/dist-cjs/headless-control-contract.js.map +1 -0
  209. package/dist-cjs/index.d.ts +62 -0
  210. package/dist-cjs/index.js +438 -0
  211. package/dist-cjs/index.js.map +1 -0
  212. package/dist-cjs/local-control-http-auth.d.ts +2 -0
  213. package/dist-cjs/local-control-http-auth.js +6 -0
  214. package/dist-cjs/local-control-http-auth.js.map +1 -0
  215. package/dist-cjs/mcp/client.d.ts +68 -0
  216. package/dist-cjs/mcp/client.js +186 -0
  217. package/dist-cjs/mcp/client.js.map +1 -0
  218. package/dist-cjs/mcp/connection.d.ts +54 -0
  219. package/dist-cjs/mcp/connection.js +485 -0
  220. package/dist-cjs/mcp/connection.js.map +1 -0
  221. package/dist-cjs/mcp/index.d.ts +10 -0
  222. package/dist-cjs/mcp/index.js +31 -0
  223. package/dist-cjs/mcp/index.js.map +1 -0
  224. package/dist-cjs/mcp/jsonrpc.d.ts +36 -0
  225. package/dist-cjs/mcp/jsonrpc.js +149 -0
  226. package/dist-cjs/mcp/jsonrpc.js.map +1 -0
  227. package/dist-cjs/mcp/types.d.ts +178 -0
  228. package/dist-cjs/mcp/types.js +9 -0
  229. package/dist-cjs/mcp/types.js.map +1 -0
  230. package/dist-cjs/network-control-adapter.d.ts +4 -0
  231. package/dist-cjs/network-control-adapter.js +78 -0
  232. package/dist-cjs/network-control-adapter.js.map +1 -0
  233. package/dist-cjs/network-runtime/address-types.d.ts +201 -0
  234. package/dist-cjs/network-runtime/address-types.js +169 -0
  235. package/dist-cjs/network-runtime/address-types.js.map +1 -0
  236. package/dist-cjs/network-runtime/db-owner-fencing.d.ts +43 -0
  237. package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
  238. package/dist-cjs/network-runtime/db-owner-fencing.js.map +1 -0
  239. package/dist-cjs/network-runtime/delivery-receipts.d.ts +117 -0
  240. package/dist-cjs/network-runtime/delivery-receipts.js +277 -0
  241. package/dist-cjs/network-runtime/delivery-receipts.js.map +1 -0
  242. package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +8 -0
  243. package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
  244. package/dist-cjs/network-runtime/direct-endpoint-authority.js.map +1 -0
  245. package/dist-cjs/network-runtime/index.d.ts +24 -0
  246. package/dist-cjs/network-runtime/index.js +173 -0
  247. package/dist-cjs/network-runtime/index.js.map +1 -0
  248. package/dist-cjs/network-runtime/local-control-contract.d.ts +758 -0
  249. package/dist-cjs/network-runtime/local-control-contract.js +634 -0
  250. package/dist-cjs/network-runtime/local-control-contract.js.map +1 -0
  251. package/dist-cjs/network-runtime/node-store-contract.d.ts +49 -0
  252. package/dist-cjs/network-runtime/node-store-contract.js +39 -0
  253. package/dist-cjs/network-runtime/node-store-contract.js.map +1 -0
  254. package/dist-cjs/network-runtime/pair-route-contract.d.ts +100 -0
  255. package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
  256. package/dist-cjs/network-runtime/pair-route-contract.js.map +1 -0
  257. package/dist-cjs/network-runtime/peer-capabilities.d.ts +10 -0
  258. package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
  259. package/dist-cjs/network-runtime/peer-capabilities.js.map +1 -0
  260. package/dist-cjs/network-runtime/peer-principal-ref.d.ts +9 -0
  261. package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
  262. package/dist-cjs/network-runtime/peer-principal-ref.js.map +1 -0
  263. package/dist-cjs/network-runtime/peer-state-machine.d.ts +70 -0
  264. package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
  265. package/dist-cjs/network-runtime/peer-state-machine.js.map +1 -0
  266. package/dist-cjs/network-runtime/protocol-schemas.d.ts +328 -0
  267. package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
  268. package/dist-cjs/network-runtime/protocol-schemas.js.map +1 -0
  269. package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +81 -0
  270. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
  271. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js.map +1 -0
  272. package/dist-cjs/outlook/desktop-session.d.ts +68 -0
  273. package/dist-cjs/outlook/desktop-session.js +319 -0
  274. package/dist-cjs/outlook/desktop-session.js.map +1 -0
  275. package/dist-cjs/package.json +3 -0
  276. package/dist-cjs/policy.d.ts +43 -0
  277. package/dist-cjs/policy.js +156 -0
  278. package/dist-cjs/policy.js.map +1 -0
  279. package/dist-cjs/providers/brave.d.ts +10 -0
  280. package/dist-cjs/providers/brave.js +67 -0
  281. package/dist-cjs/providers/brave.js.map +1 -0
  282. package/dist-cjs/providers/duckduckgo.d.ts +18 -0
  283. package/dist-cjs/providers/duckduckgo.js +181 -0
  284. package/dist-cjs/providers/duckduckgo.js.map +1 -0
  285. package/dist-cjs/providers/exa.d.ts +10 -0
  286. package/dist-cjs/providers/exa.js +68 -0
  287. package/dist-cjs/providers/exa.js.map +1 -0
  288. package/dist-cjs/providers/firecrawl.d.ts +10 -0
  289. package/dist-cjs/providers/firecrawl.js +60 -0
  290. package/dist-cjs/providers/firecrawl.js.map +1 -0
  291. package/dist-cjs/providers/index.d.ts +8 -0
  292. package/dist-cjs/providers/index.js +18 -0
  293. package/dist-cjs/providers/index.js.map +1 -0
  294. package/dist-cjs/providers/jina.d.ts +10 -0
  295. package/dist-cjs/providers/jina.js +54 -0
  296. package/dist-cjs/providers/jina.js.map +1 -0
  297. package/dist-cjs/providers/router.d.ts +21 -0
  298. package/dist-cjs/providers/router.js +101 -0
  299. package/dist-cjs/providers/router.js.map +1 -0
  300. package/dist-cjs/providers/search-provider.d.ts +35 -0
  301. package/dist-cjs/providers/search-provider.js +37 -0
  302. package/dist-cjs/providers/search-provider.js.map +1 -0
  303. package/dist-cjs/providers/tavily.d.ts +10 -0
  304. package/dist-cjs/providers/tavily.js +59 -0
  305. package/dist-cjs/providers/tavily.js.map +1 -0
  306. package/dist-cjs/quip/desktop-session.d.ts +69 -0
  307. package/dist-cjs/quip/desktop-session.js +354 -0
  308. package/dist-cjs/quip/desktop-session.js.map +1 -0
  309. package/dist-cjs/registry/index.d.ts +1 -0
  310. package/dist-cjs/registry/index.js +7 -0
  311. package/dist-cjs/registry/index.js.map +1 -0
  312. package/dist-cjs/registry/registry.d.ts +156 -0
  313. package/dist-cjs/registry/registry.js +762 -0
  314. package/dist-cjs/registry/registry.js.map +1 -0
  315. package/dist-cjs/runtime-socket-local-control-client.d.ts +10 -0
  316. package/dist-cjs/runtime-socket-local-control-client.js +368 -0
  317. package/dist-cjs/runtime-socket-local-control-client.js.map +1 -0
  318. package/dist-cjs/security/dns-normalization.d.ts +6 -0
  319. package/dist-cjs/security/dns-normalization.js +23 -0
  320. package/dist-cjs/security/dns-normalization.js.map +1 -0
  321. package/dist-cjs/security/dns-pinning.d.ts +27 -0
  322. package/dist-cjs/security/dns-pinning.js +161 -0
  323. package/dist-cjs/security/dns-pinning.js.map +1 -0
  324. package/dist-cjs/security/external-content.d.ts +40 -0
  325. package/dist-cjs/security/external-content.js +96 -0
  326. package/dist-cjs/security/external-content.js.map +1 -0
  327. package/dist-cjs/security/ssrf.d.ts +40 -0
  328. package/dist-cjs/security/ssrf.js +222 -0
  329. package/dist-cjs/security/ssrf.js.map +1 -0
  330. package/dist-cjs/slack/desktop-session.d.ts +69 -0
  331. package/dist-cjs/slack/desktop-session.js +367 -0
  332. package/dist-cjs/slack/desktop-session.js.map +1 -0
  333. package/dist-cjs/tool-factory.d.ts +46 -0
  334. package/dist-cjs/tool-factory.js +51 -0
  335. package/dist-cjs/tool-factory.js.map +1 -0
  336. package/dist-cjs/types.d.ts +1192 -0
  337. package/dist-cjs/types.js +9 -0
  338. package/dist-cjs/types.js.map +1 -0
  339. package/dist-cjs/utils/retry.d.ts +11 -0
  340. package/dist-cjs/utils/retry.js +170 -0
  341. package/dist-cjs/utils/retry.js.map +1 -0
  342. package/dist-cjs/utils/safe-parse-json.d.ts +26 -0
  343. package/dist-cjs/utils/safe-parse-json.js +165 -0
  344. package/dist-cjs/utils/safe-parse-json.js.map +1 -0
  345. package/dist-cjs/utils/url.d.ts +10 -0
  346. package/dist-cjs/utils/url.js +24 -0
  347. package/dist-cjs/utils/url.js.map +1 -0
  348. package/package.json +7 -6
@@ -0,0 +1,628 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.MAX_CACHED_MUTATION_CONTENT_BYTES = exports.MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH = exports.MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH = exports.BACKGROUND_FRG_MAX_FLUSH_DELAY_MS = exports.DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS = void 0;
37
+ exports.getTrackedRepoRootForPath = getTrackedRepoRootForPath;
38
+ exports.ensureFrgRepoStateLoaded = ensureFrgRepoStateLoaded;
39
+ exports.recordFrgMutation = recordFrgMutation;
40
+ exports.getPendingFrgMutations = getPendingFrgMutations;
41
+ exports.getPendingFrgMutationBytes = getPendingFrgMutationBytes;
42
+ exports.clearPendingFrgMutations = clearPendingFrgMutations;
43
+ exports.flushPendingFrgMutations = flushPendingFrgMutations;
44
+ exports.maybeBuildFrgIndexForRepo = maybeBuildFrgIndexForRepo;
45
+ exports.scheduleBackgroundFrgFlush = scheduleBackgroundFrgFlush;
46
+ exports.shouldForceSynchronousFrgFlush = shouldForceSynchronousFrgFlush;
47
+ exports.getFrgFlushStatus = getFrgFlushStatus;
48
+ exports.getGitDirtyStatus = getGitDirtyStatus;
49
+ exports.reconcileGitDirtyMutations = reconcileGitDirtyMutations;
50
+ exports.getFrgFreshnessSnapshot = getFrgFreshnessSnapshot;
51
+ exports.searchPendingFrgMutations = searchPendingFrgMutations;
52
+ const fsSync = __importStar(require("node:fs"));
53
+ const fs = __importStar(require("node:fs/promises"));
54
+ const nodePath = __importStar(require("node:path"));
55
+ const node_child_process_1 = require("node:child_process");
56
+ const fastripgrep_1 = require("@aria-cli/fastripgrep");
57
+ const repoStates = new Map();
58
+ const flushStates = new Map();
59
+ exports.DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS = 750;
60
+ exports.BACKGROUND_FRG_MAX_FLUSH_DELAY_MS = 30_000;
61
+ exports.MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH = 32;
62
+ exports.MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH = 512 * 1024;
63
+ exports.MAX_CACHED_MUTATION_CONTENT_BYTES = 256 * 1024;
64
+ function normalizePath(p) {
65
+ return nodePath.resolve(p);
66
+ }
67
+ function walDir(repoRoot) {
68
+ return nodePath.join(normalizePath(repoRoot), ".frg", "session");
69
+ }
70
+ function walPath(repoRoot) {
71
+ return nodePath.join(walDir(repoRoot), "aria-pending.jsonl");
72
+ }
73
+ function ensureSessionStorageDir(repoRoot) {
74
+ fsSync.mkdirSync(walDir(repoRoot), { recursive: true });
75
+ }
76
+ function normalizeStoredContent(content) {
77
+ if (typeof content !== "string") {
78
+ return undefined;
79
+ }
80
+ return Buffer.byteLength(content, "utf8") <= exports.MAX_CACHED_MUTATION_CONTENT_BYTES
81
+ ? content
82
+ : undefined;
83
+ }
84
+ function getRepoState(repoRoot) {
85
+ const normalizedRepoRoot = normalizePath(repoRoot);
86
+ const existing = repoStates.get(normalizedRepoRoot);
87
+ if (existing) {
88
+ ensureRepoStateLoaded(normalizedRepoRoot, existing);
89
+ return existing;
90
+ }
91
+ const created = { loaded: false, sequence: 0, pending: new Map() };
92
+ repoStates.set(normalizedRepoRoot, created);
93
+ ensureRepoStateLoaded(normalizedRepoRoot, created);
94
+ return created;
95
+ }
96
+ function getFlushState(repoRoot) {
97
+ const normalizedRepoRoot = normalizePath(repoRoot);
98
+ const existing = flushStates.get(normalizedRepoRoot);
99
+ if (existing)
100
+ return existing;
101
+ const created = { timer: null, inFlight: false, retryCount: 0 };
102
+ flushStates.set(normalizedRepoRoot, created);
103
+ return created;
104
+ }
105
+ function ensureRepoStateLoaded(repoRoot, state) {
106
+ const normalizedRepoRoot = normalizePath(repoRoot);
107
+ const currentState = state ?? repoStates.get(normalizedRepoRoot);
108
+ if (!currentState || currentState.loaded) {
109
+ return;
110
+ }
111
+ const pendingWalPath = walPath(normalizedRepoRoot);
112
+ if (fsSync.existsSync(pendingWalPath)) {
113
+ try {
114
+ const lines = fsSync.readFileSync(pendingWalPath, "utf8").split(/\r?\n/).filter(Boolean);
115
+ for (const line of lines) {
116
+ const parsed = JSON.parse(line);
117
+ const normalizedPath = normalizePath(parsed.path);
118
+ currentState.pending.set(normalizedPath, {
119
+ ...parsed,
120
+ repoRoot: normalizedRepoRoot,
121
+ path: normalizedPath,
122
+ content: normalizeStoredContent(parsed.content),
123
+ });
124
+ currentState.sequence = Math.max(currentState.sequence, parsed.sequence ?? 0);
125
+ }
126
+ }
127
+ catch {
128
+ // Ignore malformed WAL and proceed with empty/in-memory state.
129
+ }
130
+ }
131
+ currentState.loaded = true;
132
+ }
133
+ function rewriteWal(repoRoot) {
134
+ const normalizedRepoRoot = normalizePath(repoRoot);
135
+ const state = repoStates.get(normalizedRepoRoot);
136
+ if (!state || state.pending.size === 0) {
137
+ try {
138
+ fsSync.rmSync(walPath(normalizedRepoRoot), { force: true });
139
+ }
140
+ catch {
141
+ // ignore
142
+ }
143
+ return;
144
+ }
145
+ ensureSessionStorageDir(normalizedRepoRoot);
146
+ const records = [...state.pending.values()].sort((a, b) => a.sequence - b.sequence);
147
+ const content = records.map((record) => JSON.stringify(record)).join("\n") + "\n";
148
+ fsSync.writeFileSync(walPath(normalizedRepoRoot), content, "utf8");
149
+ }
150
+ function appendWalRecord(repoRoot, record) {
151
+ ensureSessionStorageDir(repoRoot);
152
+ fsSync.appendFileSync(walPath(repoRoot), `${JSON.stringify(record)}\n`, "utf8");
153
+ }
154
+ function findGitRepoRoot(startPath) {
155
+ let current = normalizePath(startPath);
156
+ try {
157
+ const stat = fsSync.statSync(current);
158
+ if (!stat.isDirectory()) {
159
+ current = nodePath.dirname(current);
160
+ }
161
+ }
162
+ catch {
163
+ current = nodePath.dirname(current);
164
+ }
165
+ while (true) {
166
+ if (fsSync.existsSync(nodePath.join(current, ".git"))) {
167
+ return current;
168
+ }
169
+ const parent = nodePath.dirname(current);
170
+ if (parent === current) {
171
+ return null;
172
+ }
173
+ current = parent;
174
+ }
175
+ }
176
+ function escapeRegex(text) {
177
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
178
+ }
179
+ function compilePattern(options) {
180
+ let pattern = options.literal ? escapeRegex(options.pattern) : options.pattern;
181
+ const smartCaseInsensitive = options.smartCase && !/[A-Z]/.test(options.pattern);
182
+ const flags = `${options.caseInsensitive || smartCaseInsensitive ? "i" : ""}g`;
183
+ return new RegExp(pattern, flags);
184
+ }
185
+ function globToRegExp(glob) {
186
+ const escaped = glob
187
+ .replace(/[.+^${}()|[\]\\]/g, "\\$&")
188
+ .replace(/\*\*/g, "::DOUBLE_STAR::")
189
+ .replace(/\*/g, "[^/]*")
190
+ .replace(/::DOUBLE_STAR::/g, ".*")
191
+ .replace(/\?/g, ".");
192
+ return new RegExp(`^${escaped}$`);
193
+ }
194
+ function pathMatchesFilters(relativePath, options) {
195
+ if (options.fileType) {
196
+ const ext = options.fileType.startsWith(".") ? options.fileType : `.${options.fileType}`;
197
+ if (!relativePath.endsWith(ext)) {
198
+ return false;
199
+ }
200
+ }
201
+ if (options.glob) {
202
+ const re = globToRegExp(options.glob);
203
+ if (!re.test(relativePath)) {
204
+ return false;
205
+ }
206
+ }
207
+ return true;
208
+ }
209
+ function buildContextLines(lines, lineIndex, radius) {
210
+ const before = [];
211
+ const after = [];
212
+ for (let i = Math.max(0, lineIndex - radius); i < lineIndex; i++) {
213
+ before.push({ line: i + 1, content: lines[i] ?? "" });
214
+ }
215
+ for (let i = lineIndex + 1; i <= Math.min(lines.length - 1, lineIndex + radius); i++) {
216
+ after.push({ line: i + 1, content: lines[i] ?? "" });
217
+ }
218
+ return { before, after };
219
+ }
220
+ function relativeToRepo(repoRoot, filePath) {
221
+ return nodePath.relative(repoRoot, filePath).split(nodePath.sep).join("/");
222
+ }
223
+ function isBinaryBuffer(content) {
224
+ const checkLength = Math.min(content.length, 8192);
225
+ for (let i = 0; i < checkLength; i++) {
226
+ if (content[i] === 0) {
227
+ return true;
228
+ }
229
+ }
230
+ return false;
231
+ }
232
+ function setMutationRecordForRepo(repoRoot, filePath, operation, content, options) {
233
+ const normalizedRepoRoot = normalizePath(repoRoot);
234
+ const state = getRepoState(normalizedRepoRoot);
235
+ state.sequence += 1;
236
+ const normalizedPath = normalizePath(filePath);
237
+ const record = {
238
+ repoRoot: normalizedRepoRoot,
239
+ path: normalizedPath,
240
+ operation,
241
+ sequence: state.sequence,
242
+ recordedAt: Date.now(),
243
+ content: normalizeStoredContent(content),
244
+ };
245
+ state.pending.set(normalizedPath, record);
246
+ if (options?.persistWal !== false) {
247
+ appendWalRecord(normalizedRepoRoot, record);
248
+ }
249
+ if (options?.scheduleFlush !== false) {
250
+ scheduleBackgroundFrgFlush(normalizedRepoRoot);
251
+ }
252
+ }
253
+ function runGit(repoRoot, args) {
254
+ try {
255
+ return (0, node_child_process_1.execFileSync)("git", args, {
256
+ cwd: normalizePath(repoRoot),
257
+ encoding: "utf8",
258
+ stdio: ["ignore", "pipe", "ignore"],
259
+ }).trim();
260
+ }
261
+ catch {
262
+ return null;
263
+ }
264
+ }
265
+ function getTrackedRepoRootForPath(filePath) {
266
+ return findGitRepoRoot(filePath);
267
+ }
268
+ function ensureFrgRepoStateLoaded(repoRoot) {
269
+ void getRepoState(repoRoot);
270
+ }
271
+ function recordFrgMutation(filePath, operation, content) {
272
+ const repoRoot = getTrackedRepoRootForPath(filePath);
273
+ if (!repoRoot)
274
+ return;
275
+ setMutationRecordForRepo(repoRoot, filePath, operation, content);
276
+ }
277
+ function getPendingFrgMutations(repoRoot) {
278
+ const state = getRepoState(repoRoot);
279
+ return [...state.pending.values()].sort((a, b) => a.sequence - b.sequence);
280
+ }
281
+ function getPendingFrgMutationBytes(repoRoot) {
282
+ return getPendingFrgMutations(repoRoot).reduce((total, record) => {
283
+ if (typeof record.content === "string") {
284
+ return total + Buffer.byteLength(record.content, "utf8");
285
+ }
286
+ try {
287
+ return total + fsSync.statSync(record.path).size;
288
+ }
289
+ catch {
290
+ return total;
291
+ }
292
+ }, 0);
293
+ }
294
+ function clearPendingFrgMutations(repoRoot) {
295
+ const normalizedRepoRoot = normalizePath(repoRoot);
296
+ repoStates.delete(normalizedRepoRoot);
297
+ try {
298
+ fsSync.rmSync(walPath(normalizedRepoRoot), { force: true });
299
+ }
300
+ catch {
301
+ // ignore
302
+ }
303
+ const flushState = flushStates.get(normalizedRepoRoot);
304
+ if (flushState?.timer) {
305
+ clearTimeout(flushState.timer);
306
+ }
307
+ flushStates.delete(normalizedRepoRoot);
308
+ }
309
+ function flushPendingFrgMutations(repoRoot) {
310
+ const normalizedRepoRoot = normalizePath(repoRoot);
311
+ const state = getRepoState(normalizedRepoRoot);
312
+ const flushState = getFlushState(normalizedRepoRoot);
313
+ const pendingCount = state.pending.size;
314
+ if (pendingCount === 0) {
315
+ return { flushed: false, reason: "no-pending-mutations", pendingCount };
316
+ }
317
+ if (flushState.timer) {
318
+ clearTimeout(flushState.timer);
319
+ flushState.timer = null;
320
+ }
321
+ if (flushState.inFlight) {
322
+ return { flushed: false, reason: "flush-in-flight", pendingCount };
323
+ }
324
+ flushState.inFlight = true;
325
+ try {
326
+ maybeBuildFrgIndexForRepo(normalizedRepoRoot);
327
+ // Targeted update: pass only changed/deleted files instead of full directory walk.
328
+ // O(changed_files) instead of O(all_files).
329
+ const pending = [...state.pending.values()];
330
+ const targetChanged = pending.filter((r) => r.operation === "write").map((r) => r.path);
331
+ const targetDeleted = pending.filter((r) => r.operation === "delete").map((r) => r.path);
332
+ const result = targetChanged.length > 0 || targetDeleted.length > 0
333
+ ? (0, fastripgrep_1.frg)({ command: "update", path: normalizedRepoRoot, targetChanged, targetDeleted })
334
+ : (0, fastripgrep_1.frg)({ command: "update", path: normalizedRepoRoot });
335
+ state.pending.clear();
336
+ rewriteWal(normalizedRepoRoot);
337
+ flushState.lastFlushAt = Date.now();
338
+ flushState.lastError = undefined;
339
+ flushState.retryCount = 0;
340
+ flushState.retryDelayMs = undefined;
341
+ return { flushed: true, pendingCount, result };
342
+ }
343
+ catch (error) {
344
+ flushState.lastError = error instanceof Error ? error.message : String(error);
345
+ flushState.retryCount += 1;
346
+ flushState.retryDelayMs = Math.min((flushState.retryDelayMs ?? exports.DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS) * 2, exports.BACKGROUND_FRG_MAX_FLUSH_DELAY_MS);
347
+ return { flushed: false, reason: "flush-failed", pendingCount };
348
+ }
349
+ finally {
350
+ flushState.inFlight = false;
351
+ }
352
+ }
353
+ function maybeBuildFrgIndexForRepo(repoRoot) {
354
+ const normalizedRepoRoot = normalizePath(repoRoot);
355
+ const frgDir = nodePath.join(normalizedRepoRoot, ".frg");
356
+ if (fsSync.existsSync(frgDir))
357
+ return;
358
+ try {
359
+ (0, fastripgrep_1.frg)({ command: "init", path: normalizedRepoRoot });
360
+ }
361
+ catch {
362
+ // best effort; search may still fall back to noIndex if init fails
363
+ }
364
+ }
365
+ function scheduleBackgroundFrgFlush(repoRoot, delayMs = exports.DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS) {
366
+ const normalizedRepoRoot = normalizePath(repoRoot);
367
+ const state = getRepoState(normalizedRepoRoot);
368
+ if (state.pending.size === 0) {
369
+ return;
370
+ }
371
+ const flushState = getFlushState(normalizedRepoRoot);
372
+ flushState.lastScheduledAt = Date.now();
373
+ if (flushState.inFlight) {
374
+ return;
375
+ }
376
+ if (flushState.timer) {
377
+ clearTimeout(flushState.timer);
378
+ }
379
+ const effectiveDelay = flushState.retryDelayMs ?? delayMs;
380
+ flushState.timer = setTimeout(() => {
381
+ flushState.timer = null;
382
+ const result = flushPendingFrgMutations(normalizedRepoRoot);
383
+ if (!result.flushed && result.reason === "flush-failed" && result.pendingCount > 0) {
384
+ scheduleBackgroundFrgFlush(normalizedRepoRoot, flushState.retryDelayMs ?? delayMs);
385
+ }
386
+ }, effectiveDelay);
387
+ if (typeof flushState.timer.unref === "function") {
388
+ flushState.timer.unref();
389
+ }
390
+ }
391
+ function shouldForceSynchronousFrgFlush(repoRoot) {
392
+ const pendingCount = getPendingFrgMutations(repoRoot).length;
393
+ const pendingBytes = getPendingFrgMutationBytes(repoRoot);
394
+ return (pendingCount >= exports.MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH ||
395
+ pendingBytes >= exports.MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH);
396
+ }
397
+ function getFrgFlushStatus(repoRoot) {
398
+ const flushState = getFlushState(repoRoot);
399
+ return {
400
+ inFlight: flushState.inFlight,
401
+ scheduled: Boolean(flushState.timer),
402
+ lastScheduledAt: flushState.lastScheduledAt,
403
+ lastFlushAt: flushState.lastFlushAt,
404
+ lastError: flushState.lastError,
405
+ retryCount: flushState.retryCount,
406
+ retryDelayMs: flushState.retryDelayMs,
407
+ };
408
+ }
409
+ function getGitDirtyStatus(repoRoot) {
410
+ const normalizedRepoRoot = normalizePath(repoRoot);
411
+ const headCommit = runGit(normalizedRepoRoot, ["rev-parse", "HEAD"]) ?? undefined;
412
+ const headTree = runGit(normalizedRepoRoot, ["rev-parse", "HEAD^{tree}"]) ?? undefined;
413
+ const tracked = [];
414
+ const trackedOutput = runGit(normalizedRepoRoot, ["diff", "--name-status", "-z", "HEAD", "--"]);
415
+ if (trackedOutput) {
416
+ const tokens = trackedOutput.split("\0").filter(Boolean);
417
+ for (let i = 0; i < tokens.length; i++) {
418
+ const status = tokens[i] ?? "";
419
+ if (status.startsWith("R")) {
420
+ const oldPath = tokens[++i];
421
+ const newPath = tokens[++i];
422
+ if (oldPath)
423
+ tracked.push({
424
+ path: normalizePath(nodePath.join(normalizedRepoRoot, oldPath)),
425
+ operation: "delete",
426
+ });
427
+ if (newPath)
428
+ tracked.push({
429
+ path: normalizePath(nodePath.join(normalizedRepoRoot, newPath)),
430
+ operation: "write",
431
+ });
432
+ continue;
433
+ }
434
+ const filePath = tokens[++i];
435
+ if (!filePath)
436
+ continue;
437
+ tracked.push({
438
+ path: normalizePath(nodePath.join(normalizedRepoRoot, filePath)),
439
+ operation: status.startsWith("D") ? "delete" : "write",
440
+ });
441
+ }
442
+ }
443
+ const untracked = [];
444
+ const untrackedOutput = runGit(normalizedRepoRoot, [
445
+ "ls-files",
446
+ "-o",
447
+ "--exclude-standard",
448
+ "-z",
449
+ ]);
450
+ if (untrackedOutput) {
451
+ for (const token of untrackedOutput.split("\0").filter(Boolean)) {
452
+ untracked.push(normalizePath(nodePath.join(normalizedRepoRoot, token)));
453
+ }
454
+ }
455
+ return { headCommit, headTree, tracked, untracked };
456
+ }
457
+ function reconcileGitDirtyMutations(repoRoot) {
458
+ const normalizedRepoRoot = normalizePath(repoRoot);
459
+ const status = getGitDirtyStatus(normalizedRepoRoot);
460
+ const state = getRepoState(normalizedRepoRoot);
461
+ let changed = false;
462
+ for (const entry of status.tracked) {
463
+ const existing = state.pending.get(entry.path);
464
+ if (!existing || existing.operation !== entry.operation) {
465
+ setMutationRecordForRepo(normalizedRepoRoot, entry.path, entry.operation, undefined, {
466
+ persistWal: false,
467
+ scheduleFlush: false,
468
+ });
469
+ changed = true;
470
+ }
471
+ }
472
+ for (const filePath of status.untracked) {
473
+ const existing = state.pending.get(filePath);
474
+ if (!existing || existing.operation !== "write") {
475
+ setMutationRecordForRepo(normalizedRepoRoot, filePath, "write", undefined, {
476
+ persistWal: false,
477
+ scheduleFlush: false,
478
+ });
479
+ changed = true;
480
+ }
481
+ }
482
+ if (changed) {
483
+ rewriteWal(normalizedRepoRoot);
484
+ scheduleBackgroundFrgFlush(normalizedRepoRoot);
485
+ }
486
+ return status;
487
+ }
488
+ function getFrgFreshnessSnapshot(repoRoot, indexed) {
489
+ const normalizedRepoRoot = normalizePath(repoRoot);
490
+ const gitStatus = getGitDirtyStatus(normalizedRepoRoot);
491
+ const flush = getFrgFlushStatus(normalizedRepoRoot);
492
+ const sessionPendingCount = getPendingFrgMutations(normalizedRepoRoot).length;
493
+ const sessionPendingBytes = getPendingFrgMutationBytes(normalizedRepoRoot);
494
+ let freshnessState = "fresh";
495
+ if (!indexed) {
496
+ freshnessState = "missing";
497
+ }
498
+ else if (flush.inFlight) {
499
+ freshnessState = "syncing";
500
+ }
501
+ else if (flush.scheduled) {
502
+ freshnessState = "sync-scheduled";
503
+ }
504
+ else if ((indexed.tree_hash ?? null) &&
505
+ gitStatus.headTree &&
506
+ indexed.tree_hash !== gitStatus.headTree) {
507
+ freshnessState = "head-mismatch";
508
+ }
509
+ else if (sessionPendingCount > 0) {
510
+ freshnessState = "session-dirty";
511
+ }
512
+ else if (gitStatus.tracked.length > 0 || gitStatus.untracked.length > 0) {
513
+ freshnessState = "overlay-dirty";
514
+ }
515
+ else if ((indexed.age_seconds ?? 0) > 86400) {
516
+ freshnessState = "stale";
517
+ }
518
+ return {
519
+ headCommit: gitStatus.headCommit,
520
+ headTree: gitStatus.headTree,
521
+ dirtyTrackedCount: gitStatus.tracked.length,
522
+ dirtyUntrackedCount: gitStatus.untracked.length,
523
+ sessionPendingCount,
524
+ sessionPendingBytes,
525
+ flush,
526
+ freshnessState,
527
+ };
528
+ }
529
+ async function searchPendingFrgMutations(repoRoot, options) {
530
+ const pending = getPendingFrgMutations(repoRoot);
531
+ if (pending.length === 0) {
532
+ return null;
533
+ }
534
+ const regex = compilePattern(options);
535
+ const fileSet = new Set();
536
+ const counts = new Map();
537
+ const matches = [];
538
+ let matched = false;
539
+ for (const record of pending) {
540
+ if (record.operation === "delete") {
541
+ continue;
542
+ }
543
+ const relativePath = relativeToRepo(repoRoot, record.path);
544
+ if (!pathMatchesFilters(relativePath, options)) {
545
+ continue;
546
+ }
547
+ let content;
548
+ if (typeof record.content === "string") {
549
+ content = record.content;
550
+ }
551
+ else {
552
+ let raw;
553
+ try {
554
+ raw = await fs.readFile(record.path);
555
+ }
556
+ catch {
557
+ continue;
558
+ }
559
+ if (isBinaryBuffer(raw)) {
560
+ continue;
561
+ }
562
+ content = raw.toString("utf8");
563
+ }
564
+ const lines = content.split(/\r?\n/);
565
+ let fileMatchCount = 0;
566
+ for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {
567
+ const line = lines[lineIndex] ?? "";
568
+ regex.lastIndex = 0;
569
+ let lineMatched = false;
570
+ let execMatch;
571
+ while ((execMatch = regex.exec(line)) !== null) {
572
+ matched = true;
573
+ lineMatched = true;
574
+ fileMatchCount += 1;
575
+ if (!options.filesOnly && !options.count && !options.quiet) {
576
+ const context = buildContextLines(lines, lineIndex, options.context ?? 0);
577
+ matches.push({
578
+ file: relativePath,
579
+ line: lineIndex + 1,
580
+ content: line,
581
+ match_start: execMatch.index,
582
+ match_end: execMatch.index + execMatch[0].length,
583
+ context_before: context.before,
584
+ context_after: context.after,
585
+ });
586
+ }
587
+ if ((options.maxCount ?? Number.POSITIVE_INFINITY) <= fileMatchCount) {
588
+ break;
589
+ }
590
+ if (execMatch[0].length === 0) {
591
+ regex.lastIndex += 1;
592
+ }
593
+ }
594
+ if (options.filesOnly && lineMatched) {
595
+ fileSet.add(relativePath);
596
+ break;
597
+ }
598
+ if ((options.maxCount ?? Number.POSITIVE_INFINITY) <= fileMatchCount) {
599
+ break;
600
+ }
601
+ }
602
+ if (options.count && fileMatchCount > 0) {
603
+ counts.set(relativePath, fileMatchCount);
604
+ }
605
+ if (options.filesOnly && fileMatchCount > 0) {
606
+ fileSet.add(relativePath);
607
+ }
608
+ if (options.quiet && fileMatchCount > 0) {
609
+ return { mode: "quiet", matched: true };
610
+ }
611
+ }
612
+ if (options.quiet) {
613
+ return { mode: "quiet", matched };
614
+ }
615
+ if (options.filesOnly) {
616
+ return { mode: "files", files: [...fileSet].sort() };
617
+ }
618
+ if (options.count) {
619
+ return {
620
+ mode: "counts",
621
+ counts: [...counts.entries()]
622
+ .sort((a, b) => a[0].localeCompare(b[0]))
623
+ .map(([file, count]) => ({ file, count })),
624
+ };
625
+ }
626
+ return { mode: "matches", matches };
627
+ }
628
+ //# sourceMappingURL=frg-freshness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frg-freshness.js","sourceRoot":"","sources":["../../src/executors/frg-freshness.ts"],"names":[],"mappings":"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"}