@struktoai/mirage-browser 0.0.5 → 0.0.6

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 (602) hide show
  1. package/README.md +138 -80
  2. package/dist/accessor/opfs.d.ts +10 -0
  3. package/dist/accessor/opfs.d.ts.map +1 -0
  4. package/dist/accessor/opfs.js +25 -0
  5. package/dist/accessor/opfs.js.map +1 -0
  6. package/dist/commands/builtin/opfs/index.d.ts +3 -0
  7. package/dist/commands/builtin/opfs/index.d.ts.map +1 -0
  8. package/dist/commands/builtin/opfs/index.js +20 -0
  9. package/dist/commands/builtin/opfs/index.js.map +1 -0
  10. package/dist/commands/builtin/opfs/io.d.ts +4 -0
  11. package/dist/commands/builtin/opfs/io.d.ts.map +1 -0
  12. package/dist/commands/builtin/opfs/io.js +56 -0
  13. package/dist/commands/builtin/opfs/io.js.map +1 -0
  14. package/dist/core/opfs/append.d.ts +4 -0
  15. package/dist/core/opfs/append.d.ts.map +1 -0
  16. package/dist/core/opfs/append.js +38 -0
  17. package/dist/core/opfs/append.js.map +1 -0
  18. package/dist/core/opfs/constants.d.ts +3 -0
  19. package/dist/core/opfs/constants.d.ts.map +1 -0
  20. package/dist/core/opfs/constants.js +16 -0
  21. package/dist/core/opfs/constants.js.map +1 -0
  22. package/dist/core/opfs/copy.d.ts +4 -0
  23. package/dist/core/opfs/copy.d.ts.map +1 -0
  24. package/dist/core/opfs/copy.js +40 -0
  25. package/dist/core/opfs/copy.js.map +1 -0
  26. package/dist/core/opfs/create.d.ts +4 -0
  27. package/dist/core/opfs/create.d.ts.map +1 -0
  28. package/dist/core/opfs/create.js +18 -0
  29. package/dist/core/opfs/create.js.map +1 -0
  30. package/dist/core/opfs/du/entries.d.ts +4 -0
  31. package/dist/core/opfs/du/entries.d.ts.map +1 -0
  32. package/dist/core/opfs/du/entries.js +56 -0
  33. package/dist/core/opfs/du/entries.js.map +1 -0
  34. package/dist/core/opfs/du/index.d.ts +3 -0
  35. package/dist/core/opfs/du/index.d.ts.map +1 -0
  36. package/dist/core/opfs/du/index.js +16 -0
  37. package/dist/core/opfs/du/index.js.map +1 -0
  38. package/dist/core/opfs/du/size.d.ts +4 -0
  39. package/dist/core/opfs/du/size.d.ts.map +1 -0
  40. package/dist/core/opfs/du/size.js +18 -0
  41. package/dist/core/opfs/du/size.js.map +1 -0
  42. package/dist/core/opfs/du/walk.d.ts +3 -0
  43. package/dist/core/opfs/du/walk.d.ts.map +1 -0
  44. package/dist/core/opfs/du/walk.js +98 -0
  45. package/dist/core/opfs/du/walk.js.map +1 -0
  46. package/dist/core/opfs/entry.d.ts +11 -0
  47. package/dist/core/opfs/entry.d.ts.map +1 -0
  48. package/dist/core/opfs/entry.js +42 -0
  49. package/dist/core/opfs/entry.js.map +1 -0
  50. package/dist/core/opfs/exists.d.ts +4 -0
  51. package/dist/core/opfs/exists.d.ts.map +1 -0
  52. package/dist/core/opfs/exists.js +64 -0
  53. package/dist/core/opfs/exists.js.map +1 -0
  54. package/dist/core/opfs/find.d.ts +21 -0
  55. package/dist/core/opfs/find.d.ts.map +1 -0
  56. package/dist/core/opfs/find.js +154 -0
  57. package/dist/core/opfs/find.js.map +1 -0
  58. package/dist/core/opfs/mkdir.d.ts +4 -0
  59. package/dist/core/opfs/mkdir.d.ts.map +1 -0
  60. package/dist/core/opfs/mkdir.js +64 -0
  61. package/dist/core/opfs/mkdir.js.map +1 -0
  62. package/dist/core/opfs/read.d.ts +22 -0
  63. package/dist/core/opfs/read.d.ts.map +1 -0
  64. package/dist/core/opfs/read.js +57 -0
  65. package/dist/core/opfs/read.js.map +1 -0
  66. package/dist/core/opfs/readdir.d.ts +4 -0
  67. package/dist/core/opfs/readdir.d.ts.map +1 -0
  68. package/dist/core/opfs/readdir.js +50 -0
  69. package/dist/core/opfs/readdir.js.map +1 -0
  70. package/dist/core/opfs/rename.d.ts +4 -0
  71. package/dist/core/opfs/rename.d.ts.map +1 -0
  72. package/dist/core/opfs/rename.js +97 -0
  73. package/dist/core/opfs/rename.js.map +1 -0
  74. package/dist/core/opfs/rm.d.ts +4 -0
  75. package/dist/core/opfs/rm.d.ts.map +1 -0
  76. package/dist/core/opfs/rm.js +40 -0
  77. package/dist/core/opfs/rm.js.map +1 -0
  78. package/dist/core/opfs/rmdir.d.ts +4 -0
  79. package/dist/core/opfs/rmdir.d.ts.map +1 -0
  80. package/dist/core/opfs/rmdir.js +48 -0
  81. package/dist/core/opfs/rmdir.js.map +1 -0
  82. package/dist/core/opfs/stat.d.ts +5 -0
  83. package/dist/core/opfs/stat.d.ts.map +1 -0
  84. package/dist/core/opfs/stat.js +88 -0
  85. package/dist/core/opfs/stat.js.map +1 -0
  86. package/dist/core/opfs/stream.d.ts +4 -0
  87. package/dist/core/opfs/stream.d.ts.map +1 -0
  88. package/dist/core/opfs/stream.js +44 -0
  89. package/dist/core/opfs/stream.js.map +1 -0
  90. package/dist/core/opfs/truncate.d.ts +4 -0
  91. package/dist/core/opfs/truncate.d.ts.map +1 -0
  92. package/dist/core/opfs/truncate.js +49 -0
  93. package/dist/core/opfs/truncate.js.map +1 -0
  94. package/dist/core/opfs/unlink.d.ts +4 -0
  95. package/dist/core/opfs/unlink.d.ts.map +1 -0
  96. package/dist/core/opfs/unlink.js +40 -0
  97. package/dist/core/opfs/unlink.js.map +1 -0
  98. package/dist/core/opfs/utils.d.ts +20 -0
  99. package/dist/core/opfs/utils.d.ts.map +1 -0
  100. package/dist/core/opfs/utils.js +149 -0
  101. package/dist/core/opfs/utils.js.map +1 -0
  102. package/dist/core/opfs/write.d.ts +4 -0
  103. package/dist/core/opfs/write.d.ts.map +1 -0
  104. package/dist/core/opfs/write.js +33 -0
  105. package/dist/core/opfs/write.js.map +1 -0
  106. package/dist/generated/wasm.d.ts +3 -0
  107. package/dist/generated/wasm.d.ts.map +1 -0
  108. package/dist/generated/wasm.js +4 -0
  109. package/dist/generated/wasm.js.map +1 -0
  110. package/dist/index.d.ts +118 -1246
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +130 -698
  113. package/dist/index.js.map +1 -1
  114. package/dist/ops/opfs/index.d.ts +3 -0
  115. package/dist/ops/opfs/index.d.ts.map +1 -0
  116. package/dist/ops/opfs/index.js +23 -0
  117. package/dist/ops/opfs/index.js.map +1 -0
  118. package/dist/resource/aliyun/aliyun.d.ts +8 -0
  119. package/dist/resource/aliyun/aliyun.d.ts.map +1 -0
  120. package/dist/resource/aliyun/aliyun.js +24 -0
  121. package/dist/resource/aliyun/aliyun.js.map +1 -0
  122. package/dist/resource/aliyun/config.d.ts +17 -0
  123. package/dist/resource/aliyun/config.d.ts.map +1 -0
  124. package/dist/resource/aliyun/config.js +24 -0
  125. package/dist/resource/aliyun/config.js.map +1 -0
  126. package/dist/resource/aliyun/prompt.d.ts +2 -0
  127. package/dist/resource/aliyun/prompt.d.ts.map +1 -0
  128. package/dist/resource/aliyun/prompt.js +19 -0
  129. package/dist/resource/aliyun/prompt.js.map +1 -0
  130. package/dist/resource/backblaze/backblaze.d.ts +8 -0
  131. package/dist/resource/backblaze/backblaze.d.ts.map +1 -0
  132. package/dist/resource/backblaze/backblaze.js +24 -0
  133. package/dist/resource/backblaze/backblaze.js.map +1 -0
  134. package/dist/resource/backblaze/config.d.ts +17 -0
  135. package/dist/resource/backblaze/config.d.ts.map +1 -0
  136. package/dist/resource/backblaze/config.js +24 -0
  137. package/dist/resource/backblaze/config.js.map +1 -0
  138. package/dist/resource/backblaze/prompt.d.ts +2 -0
  139. package/dist/resource/backblaze/prompt.d.ts.map +1 -0
  140. package/dist/resource/backblaze/prompt.js +19 -0
  141. package/dist/resource/backblaze/prompt.js.map +1 -0
  142. package/dist/resource/box/box.d.ts +34 -0
  143. package/dist/resource/box/box.d.ts.map +1 -0
  144. package/dist/resource/box/box.js +99 -0
  145. package/dist/resource/box/box.js.map +1 -0
  146. package/dist/resource/box/config.d.ts +41 -0
  147. package/dist/resource/box/config.d.ts.map +1 -0
  148. package/dist/resource/box/config.js +38 -0
  149. package/dist/resource/box/config.js.map +1 -0
  150. package/dist/resource/ceph/ceph.d.ts +8 -0
  151. package/dist/resource/ceph/ceph.d.ts.map +1 -0
  152. package/dist/resource/ceph/ceph.js +24 -0
  153. package/dist/resource/ceph/ceph.js.map +1 -0
  154. package/dist/resource/ceph/config.d.ts +16 -0
  155. package/dist/resource/ceph/config.d.ts.map +1 -0
  156. package/dist/resource/ceph/config.js +22 -0
  157. package/dist/resource/ceph/config.js.map +1 -0
  158. package/dist/resource/ceph/prompt.d.ts +2 -0
  159. package/dist/resource/ceph/prompt.d.ts.map +1 -0
  160. package/dist/resource/ceph/prompt.js +19 -0
  161. package/dist/resource/ceph/prompt.js.map +1 -0
  162. package/dist/resource/digitalocean/config.d.ts +17 -0
  163. package/dist/resource/digitalocean/config.d.ts.map +1 -0
  164. package/dist/resource/digitalocean/config.js +24 -0
  165. package/dist/resource/digitalocean/config.js.map +1 -0
  166. package/dist/resource/digitalocean/digitalocean.d.ts +8 -0
  167. package/dist/resource/digitalocean/digitalocean.d.ts.map +1 -0
  168. package/dist/resource/digitalocean/digitalocean.js +24 -0
  169. package/dist/resource/digitalocean/digitalocean.js.map +1 -0
  170. package/dist/resource/digitalocean/prompt.d.ts +2 -0
  171. package/dist/resource/digitalocean/prompt.d.ts.map +1 -0
  172. package/dist/resource/digitalocean/prompt.js +19 -0
  173. package/dist/resource/digitalocean/prompt.js.map +1 -0
  174. package/dist/resource/discord/config.d.ts +20 -0
  175. package/dist/resource/discord/config.d.ts.map +1 -0
  176. package/dist/resource/discord/config.js +32 -0
  177. package/dist/resource/discord/config.js.map +1 -0
  178. package/dist/resource/discord/discord.d.ts +33 -0
  179. package/dist/resource/discord/discord.d.ts.map +1 -0
  180. package/dist/resource/discord/discord.js +90 -0
  181. package/dist/resource/discord/discord.js.map +1 -0
  182. package/dist/resource/dropbox/config.d.ts +34 -0
  183. package/dist/resource/dropbox/config.d.ts.map +1 -0
  184. package/dist/resource/dropbox/config.js +31 -0
  185. package/dist/resource/dropbox/config.js.map +1 -0
  186. package/dist/resource/dropbox/dropbox.d.ts +34 -0
  187. package/dist/resource/dropbox/dropbox.d.ts.map +1 -0
  188. package/dist/resource/dropbox/dropbox.js +95 -0
  189. package/dist/resource/dropbox/dropbox.js.map +1 -0
  190. package/dist/resource/gcal/gcal.d.ts +32 -0
  191. package/dist/resource/gcal/gcal.d.ts.map +1 -0
  192. package/dist/resource/gcal/gcal.js +87 -0
  193. package/dist/resource/gcal/gcal.js.map +1 -0
  194. package/dist/resource/gcs/config.d.ts +16 -0
  195. package/dist/resource/gcs/config.d.ts.map +1 -0
  196. package/dist/resource/gcs/config.js +24 -0
  197. package/dist/resource/gcs/config.js.map +1 -0
  198. package/dist/resource/gcs/gcs.d.ts +8 -0
  199. package/dist/resource/gcs/gcs.d.ts.map +1 -0
  200. package/dist/resource/gcs/gcs.js +24 -0
  201. package/dist/resource/gcs/gcs.js.map +1 -0
  202. package/dist/resource/gcs/prompt.d.ts +2 -0
  203. package/dist/resource/gcs/prompt.d.ts.map +1 -0
  204. package/dist/resource/gcs/prompt.js +19 -0
  205. package/dist/resource/gcs/prompt.js.map +1 -0
  206. package/dist/resource/gdocs/gdocs.d.ts +32 -0
  207. package/dist/resource/gdocs/gdocs.d.ts.map +1 -0
  208. package/dist/resource/gdocs/gdocs.js +84 -0
  209. package/dist/resource/gdocs/gdocs.js.map +1 -0
  210. package/dist/resource/gdrive/gdrive.d.ts +34 -0
  211. package/dist/resource/gdrive/gdrive.d.ts.map +1 -0
  212. package/dist/resource/gdrive/gdrive.js +89 -0
  213. package/dist/resource/gdrive/gdrive.js.map +1 -0
  214. package/dist/resource/github/github.d.ts +38 -0
  215. package/dist/resource/github/github.d.ts.map +1 -0
  216. package/dist/resource/github/github.js +121 -0
  217. package/dist/resource/github/github.js.map +1 -0
  218. package/dist/resource/gmail/gmail.d.ts +33 -0
  219. package/dist/resource/gmail/gmail.d.ts.map +1 -0
  220. package/dist/resource/gmail/gmail.js +88 -0
  221. package/dist/resource/gmail/gmail.js.map +1 -0
  222. package/dist/resource/gsheets/gsheets.d.ts +32 -0
  223. package/dist/resource/gsheets/gsheets.d.ts.map +1 -0
  224. package/dist/resource/gsheets/gsheets.js +84 -0
  225. package/dist/resource/gsheets/gsheets.js.map +1 -0
  226. package/dist/resource/gslides/gslides.d.ts +32 -0
  227. package/dist/resource/gslides/gslides.d.ts.map +1 -0
  228. package/dist/resource/gslides/gslides.js +84 -0
  229. package/dist/resource/gslides/gslides.js.map +1 -0
  230. package/dist/resource/langfuse/config.d.ts +23 -0
  231. package/dist/resource/langfuse/config.d.ts.map +1 -0
  232. package/dist/resource/langfuse/config.js +36 -0
  233. package/dist/resource/langfuse/config.js.map +1 -0
  234. package/dist/resource/langfuse/langfuse.d.ts +31 -0
  235. package/dist/resource/langfuse/langfuse.d.ts.map +1 -0
  236. package/dist/resource/langfuse/langfuse.js +98 -0
  237. package/dist/resource/langfuse/langfuse.js.map +1 -0
  238. package/dist/resource/linear/linear.d.ts +33 -0
  239. package/dist/resource/linear/linear.d.ts.map +1 -0
  240. package/dist/resource/linear/linear.js +93 -0
  241. package/dist/resource/linear/linear.js.map +1 -0
  242. package/dist/resource/minio/config.d.ts +16 -0
  243. package/dist/resource/minio/config.d.ts.map +1 -0
  244. package/dist/resource/minio/config.js +22 -0
  245. package/dist/resource/minio/config.js.map +1 -0
  246. package/dist/resource/minio/minio.d.ts +8 -0
  247. package/dist/resource/minio/minio.d.ts.map +1 -0
  248. package/dist/resource/minio/minio.js +24 -0
  249. package/dist/resource/minio/minio.js.map +1 -0
  250. package/dist/resource/minio/prompt.d.ts +2 -0
  251. package/dist/resource/minio/prompt.d.ts.map +1 -0
  252. package/dist/resource/minio/prompt.js +19 -0
  253. package/dist/resource/minio/prompt.js.map +1 -0
  254. package/dist/resource/mongodb/http_driver.d.ts +27 -0
  255. package/dist/resource/mongodb/http_driver.d.ts.map +1 -0
  256. package/dist/resource/mongodb/http_driver.js +96 -0
  257. package/dist/resource/mongodb/http_driver.js.map +1 -0
  258. package/dist/resource/mongodb/mongodb.d.ts +41 -0
  259. package/dist/resource/mongodb/mongodb.d.ts.map +1 -0
  260. package/dist/resource/mongodb/mongodb.js +100 -0
  261. package/dist/resource/mongodb/mongodb.js.map +1 -0
  262. package/dist/resource/notion/config.d.ts +20 -0
  263. package/dist/resource/notion/config.d.ts.map +1 -0
  264. package/dist/resource/notion/config.js +32 -0
  265. package/dist/resource/notion/config.js.map +1 -0
  266. package/dist/resource/notion/notion.d.ts +32 -0
  267. package/dist/resource/notion/notion.d.ts.map +1 -0
  268. package/dist/resource/notion/notion.js +86 -0
  269. package/dist/resource/notion/notion.js.map +1 -0
  270. package/dist/resource/oci/config.d.ts +20 -0
  271. package/dist/resource/oci/config.d.ts.map +1 -0
  272. package/dist/resource/oci/config.js +30 -0
  273. package/dist/resource/oci/config.js.map +1 -0
  274. package/dist/resource/oci/oci.d.ts +8 -0
  275. package/dist/resource/oci/oci.d.ts.map +1 -0
  276. package/dist/resource/oci/oci.js +24 -0
  277. package/dist/resource/oci/oci.js.map +1 -0
  278. package/dist/resource/oci/prompt.d.ts +2 -0
  279. package/dist/resource/oci/prompt.d.ts.map +1 -0
  280. package/dist/resource/oci/prompt.js +19 -0
  281. package/dist/resource/oci/prompt.js.map +1 -0
  282. package/dist/resource/opfs/opfs.d.ts +57 -0
  283. package/dist/resource/opfs/opfs.d.ts.map +1 -0
  284. package/dist/resource/opfs/opfs.js +236 -0
  285. package/dist/resource/opfs/opfs.js.map +1 -0
  286. package/dist/resource/opfs/prompt.d.ts +2 -0
  287. package/dist/resource/opfs/prompt.d.ts.map +1 -0
  288. package/dist/resource/opfs/prompt.js +17 -0
  289. package/dist/resource/opfs/prompt.js.map +1 -0
  290. package/dist/resource/postgres/neon_driver.d.ts +8 -0
  291. package/dist/resource/postgres/neon_driver.d.ts.map +1 -0
  292. package/dist/resource/postgres/neon_driver.js +28 -0
  293. package/dist/resource/postgres/neon_driver.js.map +1 -0
  294. package/dist/resource/postgres/postgres.d.ts +40 -0
  295. package/dist/resource/postgres/postgres.d.ts.map +1 -0
  296. package/dist/resource/postgres/postgres.js +98 -0
  297. package/dist/resource/postgres/postgres.js.map +1 -0
  298. package/dist/resource/qingstor/config.d.ts +17 -0
  299. package/dist/resource/qingstor/config.d.ts.map +1 -0
  300. package/dist/resource/qingstor/config.js +24 -0
  301. package/dist/resource/qingstor/config.js.map +1 -0
  302. package/dist/resource/qingstor/prompt.d.ts +2 -0
  303. package/dist/resource/qingstor/prompt.d.ts.map +1 -0
  304. package/dist/resource/qingstor/prompt.js +19 -0
  305. package/dist/resource/qingstor/prompt.js.map +1 -0
  306. package/dist/resource/qingstor/qingstor.d.ts +8 -0
  307. package/dist/resource/qingstor/qingstor.d.ts.map +1 -0
  308. package/dist/resource/qingstor/qingstor.js +24 -0
  309. package/dist/resource/qingstor/qingstor.js.map +1 -0
  310. package/dist/resource/r2/config.d.ts +20 -0
  311. package/dist/resource/r2/config.d.ts.map +1 -0
  312. package/dist/resource/r2/config.js +26 -0
  313. package/dist/resource/r2/config.js.map +1 -0
  314. package/dist/resource/r2/prompt.d.ts +2 -0
  315. package/dist/resource/r2/prompt.d.ts.map +1 -0
  316. package/dist/resource/r2/prompt.js +19 -0
  317. package/dist/resource/r2/prompt.js.map +1 -0
  318. package/dist/resource/r2/r2.d.ts +8 -0
  319. package/dist/resource/r2/r2.d.ts.map +1 -0
  320. package/dist/resource/r2/r2.js +24 -0
  321. package/dist/resource/r2/r2.js.map +1 -0
  322. package/dist/resource/redis/redis.d.ts +17 -0
  323. package/dist/resource/redis/redis.d.ts.map +1 -0
  324. package/dist/resource/redis/redis.js +29 -0
  325. package/dist/resource/redis/redis.js.map +1 -0
  326. package/dist/resource/redis/store.d.ts +75 -0
  327. package/dist/resource/redis/store.d.ts.map +1 -0
  328. package/dist/resource/redis/store.js +378 -0
  329. package/dist/resource/redis/store.js.map +1 -0
  330. package/dist/resource/registry.d.ts +25 -0
  331. package/dist/resource/registry.d.ts.map +1 -0
  332. package/dist/resource/registry.js +274 -0
  333. package/dist/resource/registry.js.map +1 -0
  334. package/dist/resource/s3/config.d.ts +7 -0
  335. package/dist/resource/s3/config.d.ts.map +1 -0
  336. package/dist/resource/s3/config.js +26 -0
  337. package/dist/resource/s3/config.js.map +1 -0
  338. package/dist/resource/s3/s3.d.ts +53 -0
  339. package/dist/resource/s3/s3.d.ts.map +1 -0
  340. package/dist/resource/s3/s3.js +182 -0
  341. package/dist/resource/s3/s3.js.map +1 -0
  342. package/dist/resource/s3_alias.d.ts +113 -0
  343. package/dist/resource/s3_alias.d.ts.map +1 -0
  344. package/dist/resource/s3_alias.js +133 -0
  345. package/dist/resource/s3_alias.js.map +1 -0
  346. package/dist/resource/scaleway/config.d.ts +17 -0
  347. package/dist/resource/scaleway/config.d.ts.map +1 -0
  348. package/dist/resource/scaleway/config.js +24 -0
  349. package/dist/resource/scaleway/config.js.map +1 -0
  350. package/dist/resource/scaleway/prompt.d.ts +2 -0
  351. package/dist/resource/scaleway/prompt.d.ts.map +1 -0
  352. package/dist/resource/scaleway/prompt.js +19 -0
  353. package/dist/resource/scaleway/prompt.js.map +1 -0
  354. package/dist/resource/scaleway/scaleway.d.ts +8 -0
  355. package/dist/resource/scaleway/scaleway.d.ts.map +1 -0
  356. package/dist/resource/scaleway/scaleway.js +24 -0
  357. package/dist/resource/scaleway/scaleway.js.map +1 -0
  358. package/dist/resource/seaweedfs/config.d.ts +16 -0
  359. package/dist/resource/seaweedfs/config.d.ts.map +1 -0
  360. package/dist/resource/seaweedfs/config.js +22 -0
  361. package/dist/resource/seaweedfs/config.js.map +1 -0
  362. package/dist/resource/seaweedfs/prompt.d.ts +2 -0
  363. package/dist/resource/seaweedfs/prompt.d.ts.map +1 -0
  364. package/dist/resource/seaweedfs/prompt.js +19 -0
  365. package/dist/resource/seaweedfs/prompt.js.map +1 -0
  366. package/dist/resource/seaweedfs/seaweedfs.d.ts +8 -0
  367. package/dist/resource/seaweedfs/seaweedfs.d.ts.map +1 -0
  368. package/dist/resource/seaweedfs/seaweedfs.js +24 -0
  369. package/dist/resource/seaweedfs/seaweedfs.js.map +1 -0
  370. package/dist/resource/slack/config.d.ts +20 -0
  371. package/dist/resource/slack/config.d.ts.map +1 -0
  372. package/dist/resource/slack/config.js +32 -0
  373. package/dist/resource/slack/config.js.map +1 -0
  374. package/dist/resource/slack/slack.d.ts +33 -0
  375. package/dist/resource/slack/slack.d.ts.map +1 -0
  376. package/dist/resource/slack/slack.js +91 -0
  377. package/dist/resource/slack/slack.js.map +1 -0
  378. package/dist/resource/supabase/config.d.ts +20 -0
  379. package/dist/resource/supabase/config.d.ts.map +1 -0
  380. package/dist/resource/supabase/config.js +26 -0
  381. package/dist/resource/supabase/config.js.map +1 -0
  382. package/dist/resource/supabase/prompt.d.ts +2 -0
  383. package/dist/resource/supabase/prompt.d.ts.map +1 -0
  384. package/dist/resource/supabase/prompt.js +19 -0
  385. package/dist/resource/supabase/prompt.js.map +1 -0
  386. package/dist/resource/supabase/supabase.d.ts +8 -0
  387. package/dist/resource/supabase/supabase.d.ts.map +1 -0
  388. package/dist/resource/supabase/supabase.js +24 -0
  389. package/dist/resource/supabase/supabase.js.map +1 -0
  390. package/dist/resource/tencent/config.d.ts +17 -0
  391. package/dist/resource/tencent/config.d.ts.map +1 -0
  392. package/dist/resource/tencent/config.js +24 -0
  393. package/dist/resource/tencent/config.js.map +1 -0
  394. package/dist/resource/tencent/prompt.d.ts +2 -0
  395. package/dist/resource/tencent/prompt.d.ts.map +1 -0
  396. package/dist/resource/tencent/prompt.js +19 -0
  397. package/dist/resource/tencent/prompt.js.map +1 -0
  398. package/dist/resource/tencent/tencent.d.ts +8 -0
  399. package/dist/resource/tencent/tencent.d.ts.map +1 -0
  400. package/dist/resource/tencent/tencent.js +24 -0
  401. package/dist/resource/tencent/tencent.js.map +1 -0
  402. package/dist/resource/trello/config.d.ts +22 -0
  403. package/dist/resource/trello/config.d.ts.map +1 -0
  404. package/dist/resource/trello/config.js +35 -0
  405. package/dist/resource/trello/config.js.map +1 -0
  406. package/dist/resource/trello/trello.d.ts +32 -0
  407. package/dist/resource/trello/trello.d.ts.map +1 -0
  408. package/dist/resource/trello/trello.js +94 -0
  409. package/dist/resource/trello/trello.js.map +1 -0
  410. package/dist/resource/wasabi/config.d.ts +17 -0
  411. package/dist/resource/wasabi/config.d.ts.map +1 -0
  412. package/dist/resource/wasabi/config.js +29 -0
  413. package/dist/resource/wasabi/config.js.map +1 -0
  414. package/dist/resource/wasabi/prompt.d.ts +2 -0
  415. package/dist/resource/wasabi/prompt.d.ts.map +1 -0
  416. package/dist/resource/wasabi/prompt.js +19 -0
  417. package/dist/resource/wasabi/prompt.js.map +1 -0
  418. package/dist/resource/wasabi/wasabi.d.ts +8 -0
  419. package/dist/resource/wasabi/wasabi.d.ts.map +1 -0
  420. package/dist/resource/wasabi/wasabi.js +24 -0
  421. package/dist/resource/wasabi/wasabi.js.map +1 -0
  422. package/dist/test-utils.d.ts +37 -0
  423. package/dist/test-utils.d.ts.map +1 -0
  424. package/dist/test-utils.js +518 -0
  425. package/dist/test-utils.js.map +1 -0
  426. package/dist/workspace.d.ts +10 -0
  427. package/dist/workspace.d.ts.map +1 -0
  428. package/dist/workspace.js +62 -0
  429. package/dist/workspace.js.map +1 -0
  430. package/package.json +13 -6
  431. package/dist/aliyun-DR6KT3H6.js +0 -8
  432. package/dist/aliyun-DR6KT3H6.js.map +0 -1
  433. package/dist/backblaze-XCLZXTES.js +0 -8
  434. package/dist/backblaze-XCLZXTES.js.map +0 -1
  435. package/dist/box-XBCSU3AA.js +0 -8
  436. package/dist/box-XBCSU3AA.js.map +0 -1
  437. package/dist/ceph-F5S2NMTO.js +0 -8
  438. package/dist/ceph-F5S2NMTO.js.map +0 -1
  439. package/dist/chunk-2J35WXX5.js +0 -28
  440. package/dist/chunk-2J35WXX5.js.map +0 -1
  441. package/dist/chunk-2WNXK742.js +0 -89
  442. package/dist/chunk-2WNXK742.js.map +0 -1
  443. package/dist/chunk-2WSKXBSV.js +0 -139
  444. package/dist/chunk-2WSKXBSV.js.map +0 -1
  445. package/dist/chunk-37WKCB2E.js +0 -95
  446. package/dist/chunk-37WKCB2E.js.map +0 -1
  447. package/dist/chunk-3IYCVC7W.js +0 -96
  448. package/dist/chunk-3IYCVC7W.js.map +0 -1
  449. package/dist/chunk-46HNNKFR.js +0 -95
  450. package/dist/chunk-46HNNKFR.js.map +0 -1
  451. package/dist/chunk-4IF4TGAI.js +0 -11
  452. package/dist/chunk-4IF4TGAI.js.map +0 -1
  453. package/dist/chunk-5OZJMTYW.js +0 -113
  454. package/dist/chunk-5OZJMTYW.js.map +0 -1
  455. package/dist/chunk-5UM6EBVW.js +0 -108
  456. package/dist/chunk-5UM6EBVW.js.map +0 -1
  457. package/dist/chunk-6HRSCX2U.js +0 -98
  458. package/dist/chunk-6HRSCX2U.js.map +0 -1
  459. package/dist/chunk-7HWQAYXR.js +0 -85
  460. package/dist/chunk-7HWQAYXR.js.map +0 -1
  461. package/dist/chunk-AUZNQ7EI.js +0 -85
  462. package/dist/chunk-AUZNQ7EI.js.map +0 -1
  463. package/dist/chunk-BGA2F226.js +0 -182
  464. package/dist/chunk-BGA2F226.js.map +0 -1
  465. package/dist/chunk-BV372CUO.js +0 -90
  466. package/dist/chunk-BV372CUO.js.map +0 -1
  467. package/dist/chunk-C4THTILY.js +0 -95
  468. package/dist/chunk-C4THTILY.js.map +0 -1
  469. package/dist/chunk-D4MEOKNQ.js +0 -95
  470. package/dist/chunk-D4MEOKNQ.js.map +0 -1
  471. package/dist/chunk-D4RAMWYH.js +0 -88
  472. package/dist/chunk-D4RAMWYH.js.map +0 -1
  473. package/dist/chunk-EHIT6WCY.js +0 -95
  474. package/dist/chunk-EHIT6WCY.js.map +0 -1
  475. package/dist/chunk-EN6TZYT2.js +0 -95
  476. package/dist/chunk-EN6TZYT2.js.map +0 -1
  477. package/dist/chunk-FTDVV7EQ.js +0 -85
  478. package/dist/chunk-FTDVV7EQ.js.map +0 -1
  479. package/dist/chunk-G67Q2Z6I.js +0 -95
  480. package/dist/chunk-G67Q2Z6I.js.map +0 -1
  481. package/dist/chunk-GM2QMJAY.js +0 -85
  482. package/dist/chunk-GM2QMJAY.js.map +0 -1
  483. package/dist/chunk-HRWLHJX2.js +0 -84
  484. package/dist/chunk-HRWLHJX2.js.map +0 -1
  485. package/dist/chunk-INEXV2PN.js +0 -91
  486. package/dist/chunk-INEXV2PN.js.map +0 -1
  487. package/dist/chunk-IZMKMD3O.js +0 -11
  488. package/dist/chunk-IZMKMD3O.js.map +0 -1
  489. package/dist/chunk-JUVMJ5GI.js +0 -85
  490. package/dist/chunk-JUVMJ5GI.js.map +0 -1
  491. package/dist/chunk-KL2VFYUV.js +0 -159
  492. package/dist/chunk-KL2VFYUV.js.map +0 -1
  493. package/dist/chunk-L64GRKOD.js +0 -38
  494. package/dist/chunk-L64GRKOD.js.map +0 -1
  495. package/dist/chunk-LPDLPRPS.js +0 -11
  496. package/dist/chunk-LPDLPRPS.js.map +0 -1
  497. package/dist/chunk-M2UF2JHJ.js +0 -11
  498. package/dist/chunk-M2UF2JHJ.js.map +0 -1
  499. package/dist/chunk-NVHPJ5CV.js +0 -109
  500. package/dist/chunk-NVHPJ5CV.js.map +0 -1
  501. package/dist/chunk-OSTDTTWI.js +0 -35
  502. package/dist/chunk-OSTDTTWI.js.map +0 -1
  503. package/dist/chunk-PQCRGTSA.js +0 -85
  504. package/dist/chunk-PQCRGTSA.js.map +0 -1
  505. package/dist/chunk-QE7QNA45.js +0 -114
  506. package/dist/chunk-QE7QNA45.js.map +0 -1
  507. package/dist/chunk-QG2NUNCY.js +0 -95
  508. package/dist/chunk-QG2NUNCY.js.map +0 -1
  509. package/dist/chunk-UFHBDBZD.js +0 -1212
  510. package/dist/chunk-UFHBDBZD.js.map +0 -1
  511. package/dist/chunk-UY22T4AC.js +0 -112
  512. package/dist/chunk-UY22T4AC.js.map +0 -1
  513. package/dist/chunk-XJBC3OYX.js +0 -11
  514. package/dist/chunk-XJBC3OYX.js.map +0 -1
  515. package/dist/chunk-Y6DYUK6J.js +0 -85
  516. package/dist/chunk-Y6DYUK6J.js.map +0 -1
  517. package/dist/chunk-YOCTIHQZ.js +0 -89
  518. package/dist/chunk-YOCTIHQZ.js.map +0 -1
  519. package/dist/chunk-ZDJPUXYH.js +0 -101
  520. package/dist/chunk-ZDJPUXYH.js.map +0 -1
  521. package/dist/chunk-ZKCOSE3R.js +0 -90
  522. package/dist/chunk-ZKCOSE3R.js.map +0 -1
  523. package/dist/chunk-ZTHVEXIV.js +0 -11
  524. package/dist/chunk-ZTHVEXIV.js.map +0 -1
  525. package/dist/config-2Y6LZKLV.js +0 -9
  526. package/dist/config-2Y6LZKLV.js.map +0 -1
  527. package/dist/config-4GSOMUMF.js +0 -9
  528. package/dist/config-4GSOMUMF.js.map +0 -1
  529. package/dist/config-5YBUWFUP.js +0 -9
  530. package/dist/config-5YBUWFUP.js.map +0 -1
  531. package/dist/config-DE5OZ4I7.js +0 -9
  532. package/dist/config-DE5OZ4I7.js.map +0 -1
  533. package/dist/config-ELDOFRJW.js +0 -9
  534. package/dist/config-ELDOFRJW.js.map +0 -1
  535. package/dist/config-FPM3LAW7.js +0 -9
  536. package/dist/config-FPM3LAW7.js.map +0 -1
  537. package/dist/config-JY557MA6.js +0 -9
  538. package/dist/config-JY557MA6.js.map +0 -1
  539. package/dist/config-UU27ALAA.js +0 -9
  540. package/dist/config-UU27ALAA.js.map +0 -1
  541. package/dist/config-WRACCRPN.js +0 -9
  542. package/dist/config-WRACCRPN.js.map +0 -1
  543. package/dist/digitalocean-QDHTRS2W.js +0 -8
  544. package/dist/digitalocean-QDHTRS2W.js.map +0 -1
  545. package/dist/discord-ERUI7OAQ.js +0 -7
  546. package/dist/discord-ERUI7OAQ.js.map +0 -1
  547. package/dist/dropbox-3U6D4HLE.js +0 -8
  548. package/dist/dropbox-3U6D4HLE.js.map +0 -1
  549. package/dist/gcal-MTBSDG34.js +0 -8
  550. package/dist/gcal-MTBSDG34.js.map +0 -1
  551. package/dist/gcs-KNGRBBET.js +0 -8
  552. package/dist/gcs-KNGRBBET.js.map +0 -1
  553. package/dist/gdocs-RUIOIRKP.js +0 -8
  554. package/dist/gdocs-RUIOIRKP.js.map +0 -1
  555. package/dist/gdrive-5JB7ZKEP.js +0 -8
  556. package/dist/gdrive-5JB7ZKEP.js.map +0 -1
  557. package/dist/github-CIXBFBVO.js +0 -7
  558. package/dist/github-CIXBFBVO.js.map +0 -1
  559. package/dist/github_ci-HR6YOYAO.js +0 -8
  560. package/dist/github_ci-HR6YOYAO.js.map +0 -1
  561. package/dist/gmail-JHGWTQU5.js +0 -8
  562. package/dist/gmail-JHGWTQU5.js.map +0 -1
  563. package/dist/gsheets-N54JO2RS.js +0 -8
  564. package/dist/gsheets-N54JO2RS.js.map +0 -1
  565. package/dist/gslides-B4VMNLMB.js +0 -8
  566. package/dist/gslides-B4VMNLMB.js.map +0 -1
  567. package/dist/langfuse-HEUJGDOC.js +0 -7
  568. package/dist/langfuse-HEUJGDOC.js.map +0 -1
  569. package/dist/linear-J4QQ3CA6.js +0 -7
  570. package/dist/linear-J4QQ3CA6.js.map +0 -1
  571. package/dist/minio-BXWHJ6K5.js +0 -8
  572. package/dist/minio-BXWHJ6K5.js.map +0 -1
  573. package/dist/mongodb-YZP643ZU.js +0 -7
  574. package/dist/mongodb-YZP643ZU.js.map +0 -1
  575. package/dist/notion-I5S5SRLO.js +0 -7
  576. package/dist/notion-I5S5SRLO.js.map +0 -1
  577. package/dist/oci-XOPKH4AE.js +0 -8
  578. package/dist/oci-XOPKH4AE.js.map +0 -1
  579. package/dist/opfs-36QO72Y5.js +0 -7
  580. package/dist/opfs-36QO72Y5.js.map +0 -1
  581. package/dist/postgres-HPOMN2AR.js +0 -7
  582. package/dist/postgres-HPOMN2AR.js.map +0 -1
  583. package/dist/qingstor-JKAHLK62.js +0 -8
  584. package/dist/qingstor-JKAHLK62.js.map +0 -1
  585. package/dist/r2-L3QXQ76M.js +0 -8
  586. package/dist/r2-L3QXQ76M.js.map +0 -1
  587. package/dist/s3-LRZJPGHK.js +0 -9
  588. package/dist/s3-LRZJPGHK.js.map +0 -1
  589. package/dist/scaleway-CGNDYNKS.js +0 -8
  590. package/dist/scaleway-CGNDYNKS.js.map +0 -1
  591. package/dist/seaweedfs-BSQWCBIR.js +0 -8
  592. package/dist/seaweedfs-BSQWCBIR.js.map +0 -1
  593. package/dist/slack-62ECSENR.js +0 -7
  594. package/dist/slack-62ECSENR.js.map +0 -1
  595. package/dist/supabase-J66NXWAF.js +0 -8
  596. package/dist/supabase-J66NXWAF.js.map +0 -1
  597. package/dist/tencent-AC667LV3.js +0 -8
  598. package/dist/tencent-AC667LV3.js.map +0 -1
  599. package/dist/trello-SUPG6VDF.js +0 -7
  600. package/dist/trello-SUPG6VDF.js.map +0 -1
  601. package/dist/wasabi-5KKPW6LH.js +0 -8
  602. package/dist/wasabi-5KKPW6LH.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@struktoai/mirage-browser",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "A Unified Virtual Filesystem For AI Agents",
5
5
  "keywords": [
6
6
  "bash",
@@ -31,31 +31,38 @@
31
31
  "access": "public"
32
32
  },
33
33
  "type": "module",
34
+ "engines": {
35
+ "node": ">=20.10.0"
36
+ },
34
37
  "main": "./dist/index.js",
35
38
  "types": "./dist/index.d.ts",
36
39
  "exports": {
37
40
  ".": {
38
41
  "types": "./dist/index.d.ts",
39
42
  "import": "./dist/index.js"
40
- }
43
+ },
44
+ "./*": {
45
+ "types": "./dist/*.d.ts",
46
+ "import": "./dist/*.js"
47
+ },
48
+ "./package.json": "./package.json"
41
49
  },
42
50
  "files": [
43
51
  "dist"
44
52
  ],
45
53
  "dependencies": {
46
54
  "@neondatabase/serverless": "^1.0.0",
47
- "@struktoai/mirage-core": "0.0.5"
55
+ "@struktoai/mirage-core": "0.0.6"
48
56
  },
49
57
  "devDependencies": {
50
58
  "@modelcontextprotocol/sdk": "^1.0.0",
51
59
  "tree-sitter-bash": "^0.25.1",
52
- "tsup": "^8.5.0",
53
60
  "typescript": "^6.0.0",
54
61
  "vitest": "^3.2.6",
55
- "web-tree-sitter": "^0.26.8"
62
+ "web-tree-sitter": "^0.26.13"
56
63
  },
57
64
  "scripts": {
58
- "build": "node scripts/embed-wasm.mjs && tsup",
65
+ "build": "node scripts/embed-wasm.mjs && node scripts/clean.mjs && tsc -p tsconfig.build.json",
59
66
  "test": "vitest run",
60
67
  "typecheck": "tsc --noEmit"
61
68
  }
@@ -1,8 +0,0 @@
1
- import {
2
- AliyunResource
3
- } from "./chunk-EHIT6WCY.js";
4
- import "./chunk-BGA2F226.js";
5
- export {
6
- AliyunResource
7
- };
8
- //# sourceMappingURL=aliyun-DR6KT3H6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,8 +0,0 @@
1
- import {
2
- BackblazeResource
3
- } from "./chunk-46HNNKFR.js";
4
- import "./chunk-BGA2F226.js";
5
- export {
6
- BackblazeResource
7
- };
8
- //# sourceMappingURL=backblaze-XCLZXTES.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,8 +0,0 @@
1
- import {
2
- BoxResource
3
- } from "./chunk-BV372CUO.js";
4
- import "./chunk-L64GRKOD.js";
5
- export {
6
- BoxResource
7
- };
8
- //# sourceMappingURL=box-XBCSU3AA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,8 +0,0 @@
1
- import {
2
- CephResource
3
- } from "./chunk-PQCRGTSA.js";
4
- import "./chunk-BGA2F226.js";
5
- export {
6
- CephResource
7
- };
8
- //# sourceMappingURL=ceph-F5S2NMTO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,28 +0,0 @@
1
- // src/resource/github_ci/config.ts
2
- import {
3
- normalizeFields,
4
- redactConfigWithSchema,
5
- secretStr,
6
- z
7
- } from "@struktoai/mirage-core";
8
- var GitHubCIConfigSchema = z.object({
9
- token: secretStr(),
10
- owner: z.string(),
11
- repo: z.string(),
12
- days: z.number().optional(),
13
- baseUrl: z.string().optional()
14
- });
15
- function redactGitHubCIConfig(config) {
16
- return redactConfigWithSchema(GitHubCIConfigSchema, config);
17
- }
18
- function normalizeGitHubCIConfig(input) {
19
- return normalizeFields(input, {
20
- rename: { base_url: "baseUrl" }
21
- });
22
- }
23
-
24
- export {
25
- redactGitHubCIConfig,
26
- normalizeGitHubCIConfig
27
- };
28
- //# sourceMappingURL=chunk-2J35WXX5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/github_ci/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n normalizeFields,\n redactConfigWithSchema,\n type ConfigOf,\n type RedactedConfig,\n secretStr,\n z,\n} from '@struktoai/mirage-core'\n\nconst GitHubCIConfigSchema = z.object({\n token: secretStr(),\n owner: z.string(),\n repo: z.string(),\n days: z.number().optional(),\n baseUrl: z.string().optional(),\n})\n\nexport type GitHubCIConfig = ConfigOf<typeof GitHubCIConfigSchema>\n\nexport type GitHubCIConfigRedacted = RedactedConfig<GitHubCIConfig, 'token'>\n\nexport function redactGitHubCIConfig(config: GitHubCIConfig): GitHubCIConfigRedacted {\n return redactConfigWithSchema(GitHubCIConfigSchema, config) as unknown as GitHubCIConfigRedacted\n}\n\nexport function normalizeGitHubCIConfig(input: Record<string, unknown>): GitHubCIConfig {\n return normalizeFields(input, {\n rename: { base_url: 'baseUrl' },\n }) as unknown as GitHubCIConfig\n}\n"],"mappings":";AAcA;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAEP,IAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,OAAO,UAAU;AAAA,EACjB,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,OAAO;AAAA,EACf,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAMM,SAAS,qBAAqB,QAAgD;AACnF,SAAO,uBAAuB,sBAAsB,MAAM;AAC5D;AAEO,SAAS,wBAAwB,OAAgD;AACtF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ,EAAE,UAAU,UAAU;AAAA,EAChC,CAAC;AACH;","names":[]}
@@ -1,89 +0,0 @@
1
- import {
2
- redactGitHubCIConfig
3
- } from "./chunk-2J35WXX5.js";
4
-
5
- // src/resource/github_ci/github_ci.ts
6
- import { mountKey, mountPrefixOf } from "@struktoai/mirage-core";
7
- import {
8
- GITHUB_CI_COMMANDS,
9
- GITHUB_CI_PROMPT,
10
- GITHUB_CI_OPS,
11
- GitHubCIAccessor,
12
- HttpCITransport,
13
- PathSpec,
14
- RAMIndexCacheStore,
15
- ResourceName,
16
- githubCiRead,
17
- githubCiReaddir,
18
- makeResolveGlob,
19
- githubCiStat
20
- } from "@struktoai/mirage-core";
21
- var githubCiResolveGlob = makeResolveGlob(githubCiReaddir);
22
- var GitHubCIResource = class {
23
- kind = ResourceName.GITHUB_CI;
24
- cachesReads = true;
25
- indexTtl = 86400;
26
- prompt = GITHUB_CI_PROMPT;
27
- config;
28
- accessor;
29
- index;
30
- constructor(config) {
31
- this.config = config;
32
- const transportOpts = { token: config.token };
33
- if (config.baseUrl !== void 0) transportOpts.baseUrl = config.baseUrl;
34
- this.accessor = new GitHubCIAccessor({
35
- transport: new HttpCITransport(transportOpts),
36
- owner: config.owner,
37
- repo: config.repo,
38
- days: config.days ?? 30
39
- });
40
- this.index = new RAMIndexCacheStore({ ttl: 86400 });
41
- }
42
- open() {
43
- return Promise.resolve();
44
- }
45
- close() {
46
- return Promise.resolve();
47
- }
48
- commands() {
49
- return GITHUB_CI_COMMANDS;
50
- }
51
- ops() {
52
- return GITHUB_CI_OPS;
53
- }
54
- readFile(p) {
55
- return githubCiRead(this.accessor, p, this.index);
56
- }
57
- readdir(p) {
58
- return githubCiReaddir(this.accessor, p, this.index);
59
- }
60
- stat(p) {
61
- return githubCiStat(this.accessor, p, this.index);
62
- }
63
- glob(paths, prefix = "") {
64
- const effective = prefix !== "" ? paths.map(
65
- (p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
66
- virtual: p.virtual,
67
- directory: p.directory,
68
- ...p.pattern !== null ? { pattern: p.pattern } : {},
69
- resolved: p.resolved,
70
- resourcePath: mountKey(p.virtual, prefix)
71
- })
72
- ) : paths;
73
- return githubCiResolveGlob(this.accessor, effective, this.index);
74
- }
75
- getState() {
76
- return Promise.resolve({
77
- type: this.kind,
78
- config: redactGitHubCIConfig(this.config)
79
- });
80
- }
81
- loadState(_state) {
82
- return Promise.resolve();
83
- }
84
- };
85
-
86
- export {
87
- GitHubCIResource
88
- };
89
- //# sourceMappingURL=chunk-2WNXK742.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/github_ci/github_ci.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { mountKey, mountPrefixOf } from '@struktoai/mirage-core'\nimport {\n type FileStat,\n GITHUB_CI_COMMANDS,\n GITHUB_CI_PROMPT,\n GITHUB_CI_OPS,\n GitHubCIAccessor,\n HttpCITransport,\n type IndexCacheStore,\n PathSpec,\n RAMIndexCacheStore,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n githubCiRead,\n githubCiReaddir,\n makeResolveGlob,\n githubCiStat,\n} from '@struktoai/mirage-core'\nimport { redactGitHubCIConfig, type GitHubCIConfig, type GitHubCIConfigRedacted } from './config.ts'\n\nconst githubCiResolveGlob = makeResolveGlob(githubCiReaddir)\n\nexport interface GitHubCIResourceState {\n type: string\n config: GitHubCIConfigRedacted\n}\n\nexport class GitHubCIResource implements Resource {\n readonly kind: string = ResourceName.GITHUB_CI\n readonly cachesReads: boolean = true\n readonly indexTtl: number = 86_400\n readonly prompt: string = GITHUB_CI_PROMPT\n readonly config: GitHubCIConfig\n readonly accessor: GitHubCIAccessor\n readonly index: IndexCacheStore\n\n constructor(config: GitHubCIConfig) {\n this.config = config\n const transportOpts: { token: string; baseUrl?: string } = { token: config.token }\n if (config.baseUrl !== undefined) transportOpts.baseUrl = config.baseUrl\n this.accessor = new GitHubCIAccessor({\n transport: new HttpCITransport(transportOpts),\n owner: config.owner,\n repo: config.repo,\n days: config.days ?? 30,\n })\n this.index = new RAMIndexCacheStore({ ttl: 86_400 })\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return GITHUB_CI_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GITHUB_CI_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return githubCiRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return githubCiReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return githubCiStat(this.accessor, p, this.index)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return githubCiResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GitHubCIResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGitHubCIConfig(this.config),\n })\n }\n\n loadState(_state: GitHubCIResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";;;;;AAcA,SAAS,UAAU,qBAAqB;AACxC;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,IAAM,sBAAsB,gBAAgB,eAAe;AAOpD,IAAM,mBAAN,MAA2C;AAAA,EACvC,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA,EACvB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,QAAwB;AAClC,SAAK,SAAS;AACd,UAAM,gBAAqD,EAAE,OAAO,OAAO,MAAM;AACjF,QAAI,OAAO,YAAY,OAAW,eAAc,UAAU,OAAO;AACjE,SAAK,WAAW,IAAI,iBAAiB;AAAA,MACnC,WAAW,IAAI,gBAAgB,aAAa;AAAA,MAC5C,OAAO,OAAO;AAAA,MACd,MAAM,OAAO;AAAA,MACb,MAAM,OAAO,QAAQ;AAAA,IACvB,CAAC;AACD,SAAK,QAAQ,IAAI,mBAAmB,EAAE,KAAK,MAAO,CAAC;AAAA,EACrD;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,gBAAgB,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACrD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,CAAC;AAAA,IACP,IACA;AACN,WAAO,oBAAoB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EACjE;AAAA,EAEA,WAA2C;AACzC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,qBAAqB,KAAK,MAAM;AAAA,IAC1C,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA8C;AACtD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -1,139 +0,0 @@
1
- // src/resource/github/github.ts
2
- import { mountKey, mountPrefixOf } from "@struktoai/mirage-core";
3
- import {
4
- fetchGitHubRepoInfo,
5
- fetchGitHubTree,
6
- GITHUB_COMMANDS,
7
- GITHUB_PROMPT,
8
- GITHUB_OPS,
9
- GitHubAccessor,
10
- HttpGitHubTransport,
11
- PathSpec,
12
- RAMIndexCacheStore,
13
- ResourceName,
14
- githubBuildTreeMap,
15
- githubPopulateIndex,
16
- githubRead,
17
- githubReaddir,
18
- makeResolveGlob,
19
- githubStat
20
- } from "@struktoai/mirage-core";
21
-
22
- // src/resource/github/config.ts
23
- import {
24
- normalizeFields,
25
- redactConfigWithSchema,
26
- secretStr,
27
- z
28
- } from "@struktoai/mirage-core";
29
- var GitHubConfigSchema = z.object({
30
- token: secretStr(),
31
- owner: z.string(),
32
- repo: z.string(),
33
- ref: z.string().optional(),
34
- baseUrl: z.string().optional()
35
- });
36
- function redactGitHubConfig(config) {
37
- return redactConfigWithSchema(GitHubConfigSchema, config);
38
- }
39
- function normalizeGitHubConfig(input) {
40
- return normalizeFields(input, {
41
- rename: { base_url: "baseUrl" }
42
- });
43
- }
44
-
45
- // src/resource/github/github.ts
46
- var githubResolveGlob = makeResolveGlob(githubReaddir);
47
- var GitHubResource = class _GitHubResource {
48
- kind = ResourceName.GITHUB;
49
- cachesReads = true;
50
- // The git tree API reports the exact blob size for every file; the
51
- // blob read returns those same bytes, and submodule gitlinks (which
52
- // have no size and no blob) are excluded from the tree.
53
- sizesAlwaysKnown = true;
54
- // Blob shas are stable per-path markers, so cached reads can be
55
- // probe-verified under ALWAYS and snapshots carry drift fingerprints.
56
- supportsSnapshot = true;
57
- indexTtl = 86400;
58
- prompt = GITHUB_PROMPT;
59
- config;
60
- accessor;
61
- index;
62
- constructor(config, accessor, index) {
63
- this.config = config;
64
- this.accessor = accessor;
65
- this.index = index;
66
- }
67
- static async create(config) {
68
- const transportOpts = { token: config.token };
69
- if (config.baseUrl !== void 0) transportOpts.baseUrl = config.baseUrl;
70
- const transport = new HttpGitHubTransport(transportOpts);
71
- const repoInfo = await fetchGitHubRepoInfo(transport, config.owner, config.repo);
72
- const ref = config.ref ?? repoInfo.default_branch;
73
- const { tree, truncated } = await fetchGitHubTree(transport, config.owner, config.repo, ref);
74
- const treeMap = githubBuildTreeMap(tree);
75
- const accessor = new GitHubAccessor({
76
- transport,
77
- owner: config.owner,
78
- repo: config.repo,
79
- ref,
80
- defaultBranch: repoInfo.default_branch,
81
- truncated,
82
- tree: treeMap
83
- });
84
- const index = new RAMIndexCacheStore({ ttl: 86400 });
85
- await githubPopulateIndex(index, tree);
86
- return new _GitHubResource(config, accessor, index);
87
- }
88
- open() {
89
- return Promise.resolve();
90
- }
91
- close() {
92
- return Promise.resolve();
93
- }
94
- commands() {
95
- return GITHUB_COMMANDS;
96
- }
97
- ops() {
98
- return GITHUB_OPS;
99
- }
100
- readFile(p) {
101
- return githubRead(this.accessor, p, this.index);
102
- }
103
- readdir(p) {
104
- return githubReaddir(this.accessor, p, this.index);
105
- }
106
- stat(p) {
107
- return githubStat(this.accessor, p, this.index);
108
- }
109
- glob(paths, prefix = "") {
110
- const effective = prefix !== "" ? paths.map(
111
- (p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
112
- virtual: p.virtual,
113
- directory: p.directory,
114
- ...p.pattern !== null ? { pattern: p.pattern } : {},
115
- resolved: p.resolved,
116
- resourcePath: mountKey(p.virtual, prefix)
117
- })
118
- ) : paths;
119
- return githubResolveGlob(this.accessor, effective, this.index);
120
- }
121
- getState() {
122
- return Promise.resolve({
123
- type: this.kind,
124
- config: redactGitHubConfig(this.config),
125
- defaultBranch: this.accessor.defaultBranch,
126
- truncated: this.accessor.truncated
127
- });
128
- }
129
- loadState(_state) {
130
- return Promise.resolve();
131
- }
132
- };
133
-
134
- export {
135
- redactGitHubConfig,
136
- normalizeGitHubConfig,
137
- GitHubResource
138
- };
139
- //# sourceMappingURL=chunk-2WSKXBSV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/github/github.ts","../src/resource/github/config.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { mountKey, mountPrefixOf } from '@struktoai/mirage-core'\nimport {\n fetchGitHubRepoInfo,\n fetchGitHubTree,\n type FileStat,\n GITHUB_COMMANDS,\n GITHUB_PROMPT,\n GITHUB_OPS,\n GitHubAccessor,\n HttpGitHubTransport,\n type IndexCacheStore,\n PathSpec,\n RAMIndexCacheStore,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n githubBuildTreeMap,\n githubPopulateIndex,\n githubRead,\n githubReaddir,\n makeResolveGlob,\n githubStat,\n} from '@struktoai/mirage-core'\nimport { redactGitHubConfig, type GitHubConfig, type GitHubConfigRedacted } from './config.ts'\n\nconst githubResolveGlob = makeResolveGlob(githubReaddir)\n\nexport interface GitHubResourceState {\n type: string\n config: GitHubConfigRedacted\n defaultBranch: string\n truncated: boolean\n}\n\nexport class GitHubResource implements Resource {\n readonly kind: string = ResourceName.GITHUB\n readonly cachesReads: boolean = true\n // The git tree API reports the exact blob size for every file; the\n // blob read returns those same bytes, and submodule gitlinks (which\n // have no size and no blob) are excluded from the tree.\n readonly sizesAlwaysKnown: boolean = true\n // Blob shas are stable per-path markers, so cached reads can be\n // probe-verified under ALWAYS and snapshots carry drift fingerprints.\n readonly supportsSnapshot: boolean = true\n readonly indexTtl: number = 86_400\n readonly prompt: string = GITHUB_PROMPT\n readonly config: GitHubConfig\n readonly accessor: GitHubAccessor\n readonly index: IndexCacheStore\n\n private constructor(config: GitHubConfig, accessor: GitHubAccessor, index: IndexCacheStore) {\n this.config = config\n this.accessor = accessor\n this.index = index\n }\n\n static async create(config: GitHubConfig): Promise<GitHubResource> {\n const transportOpts: { token: string; baseUrl?: string } = { token: config.token }\n if (config.baseUrl !== undefined) transportOpts.baseUrl = config.baseUrl\n const transport = new HttpGitHubTransport(transportOpts)\n const repoInfo = await fetchGitHubRepoInfo(transport, config.owner, config.repo)\n const ref = config.ref ?? repoInfo.default_branch\n const { tree, truncated } = await fetchGitHubTree(transport, config.owner, config.repo, ref)\n const treeMap = githubBuildTreeMap(tree)\n const accessor = new GitHubAccessor({\n transport,\n owner: config.owner,\n repo: config.repo,\n ref,\n defaultBranch: repoInfo.default_branch,\n truncated,\n tree: treeMap,\n })\n const index = new RAMIndexCacheStore({ ttl: 86_400 })\n await githubPopulateIndex(index, tree)\n return new GitHubResource(config, accessor, index)\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n\n commands(): readonly RegisteredCommand[] {\n return GITHUB_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GITHUB_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return githubRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return githubReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return githubStat(this.accessor, p, this.index)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return githubResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GitHubResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGitHubConfig(this.config),\n defaultBranch: this.accessor.defaultBranch,\n truncated: this.accessor.truncated,\n })\n }\n\n loadState(_state: GitHubResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n","// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n normalizeFields,\n redactConfigWithSchema,\n type ConfigOf,\n type RedactedConfig,\n secretStr,\n z,\n} from '@struktoai/mirage-core'\n\nconst GitHubConfigSchema = z.object({\n token: secretStr(),\n owner: z.string(),\n repo: z.string(),\n ref: z.string().optional(),\n baseUrl: z.string().optional(),\n})\n\nexport type GitHubConfig = ConfigOf<typeof GitHubConfigSchema>\n\nexport type GitHubConfigRedacted = RedactedConfig<GitHubConfig, 'token'>\n\nexport function redactGitHubConfig(config: GitHubConfig): GitHubConfigRedacted {\n return redactConfigWithSchema(GitHubConfigSchema, config) as unknown as GitHubConfigRedacted\n}\n\nexport function normalizeGitHubConfig(input: Record<string, unknown>): GitHubConfig {\n return normalizeFields(input, {\n rename: { base_url: 'baseUrl' },\n }) as unknown as GitHubConfig\n}\n"],"mappings":";AAcA,SAAS,UAAU,qBAAqB;AACxC;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;;;ACvBP;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAEP,IAAM,qBAAqB,EAAE,OAAO;AAAA,EAClC,OAAO,UAAU;AAAA,EACjB,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,OAAO;AAAA,EACf,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,EACzB,SAAS,EAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAMM,SAAS,mBAAmB,QAA4C;AAC7E,SAAO,uBAAuB,oBAAoB,MAAM;AAC1D;AAEO,SAAS,sBAAsB,OAA8C;AAClF,SAAO,gBAAgB,OAAO;AAAA,IAC5B,QAAQ,EAAE,UAAU,UAAU;AAAA,EAChC,CAAC;AACH;;;ADHA,IAAM,oBAAoB,gBAAgB,aAAa;AAShD,IAAM,iBAAN,MAAM,gBAAmC;AAAA,EACrC,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA;AAAA;AAAA;AAAA,EAIvB,mBAA4B;AAAA;AAAA;AAAA,EAG5B,mBAA4B;AAAA,EAC5B,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EAED,YAAY,QAAsB,UAA0B,OAAwB;AAC1F,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,aAAa,OAAO,QAA+C;AACjE,UAAM,gBAAqD,EAAE,OAAO,OAAO,MAAM;AACjF,QAAI,OAAO,YAAY,OAAW,eAAc,UAAU,OAAO;AACjE,UAAM,YAAY,IAAI,oBAAoB,aAAa;AACvD,UAAM,WAAW,MAAM,oBAAoB,WAAW,OAAO,OAAO,OAAO,IAAI;AAC/E,UAAM,MAAM,OAAO,OAAO,SAAS;AACnC,UAAM,EAAE,MAAM,UAAU,IAAI,MAAM,gBAAgB,WAAW,OAAO,OAAO,OAAO,MAAM,GAAG;AAC3F,UAAM,UAAU,mBAAmB,IAAI;AACvC,UAAM,WAAW,IAAI,eAAe;AAAA,MAClC;AAAA,MACA,OAAO,OAAO;AAAA,MACd,MAAM,OAAO;AAAA,MACb;AAAA,MACA,eAAe,SAAS;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AACD,UAAM,QAAQ,IAAI,mBAAmB,EAAE,KAAK,MAAO,CAAC;AACpD,UAAM,oBAAoB,OAAO,IAAI;AACrC,WAAO,IAAI,gBAAe,QAAQ,UAAU,KAAK;AAAA,EACnD;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,WAAW,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAChD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,cAAc,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACnD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,WAAW,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAChD;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,CAAC;AAAA,IACP,IACA;AACN,WAAO,kBAAkB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAC/D;AAAA,EAEA,WAAyC;AACvC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,mBAAmB,KAAK,MAAM;AAAA,MACtC,eAAe,KAAK,SAAS;AAAA,MAC7B,WAAW,KAAK,SAAS;AAAA,IAC3B,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA4C;AACpD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -1,95 +0,0 @@
1
- // src/resource/postgres/postgres.ts
2
- import { mountKey, mountPrefixOf } from "@struktoai/mirage-core";
3
- import {
4
- PathSpec,
5
- POSTGRES_COMMANDS,
6
- POSTGRES_OPS,
7
- POSTGRES_PROMPT,
8
- PostgresAccessor,
9
- postgresRead,
10
- postgresReaddir,
11
- postgresStat,
12
- RAMIndexCacheStore,
13
- ResourceName,
14
- resolvePostgresConfig,
15
- makeResolveGlob
16
- } from "@struktoai/mirage-core";
17
-
18
- // src/resource/postgres/neon_driver.ts
19
- import { neon } from "@neondatabase/serverless";
20
- var NeonPgDriver = class {
21
- sql;
22
- constructor(dsn) {
23
- this.sql = neon(dsn, { fullResults: true });
24
- }
25
- async query(text, params) {
26
- const result = await this.sql.query(
27
- text,
28
- params
29
- );
30
- return { rows: result.rows, rowCount: result.rowCount ?? result.rows.length };
31
- }
32
- close() {
33
- return Promise.resolve();
34
- }
35
- };
36
-
37
- // src/resource/postgres/postgres.ts
38
- var resolvePostgresGlob = makeResolveGlob(postgresReaddir);
39
- var PostgresResource = class {
40
- kind = ResourceName.POSTGRES;
41
- cachesReads = false;
42
- indexTtl = 0;
43
- prompt;
44
- config;
45
- driver;
46
- accessor;
47
- index;
48
- constructor(options) {
49
- const { config, prefix, driver } = "config" in options ? options : { config: options, prefix: void 0, driver: void 0 };
50
- this.config = resolvePostgresConfig(config);
51
- this.driver = driver ?? new NeonPgDriver(this.config.dsn);
52
- this.accessor = new PostgresAccessor(this.driver, this.config);
53
- this.index = new RAMIndexCacheStore({ ttl: this.indexTtl });
54
- this.prompt = POSTGRES_PROMPT.replace("{prefix}", prefix ?? "");
55
- }
56
- open() {
57
- return Promise.resolve();
58
- }
59
- async close() {
60
- await this.driver.close();
61
- }
62
- ops() {
63
- return POSTGRES_OPS;
64
- }
65
- commands() {
66
- return POSTGRES_COMMANDS;
67
- }
68
- readFile(p) {
69
- return postgresRead(this.accessor, p, this.index);
70
- }
71
- readdir(p) {
72
- return postgresReaddir(this.accessor, p, this.index);
73
- }
74
- stat(p) {
75
- return postgresStat(this.accessor, p, this.index);
76
- }
77
- glob(paths, prefix = "") {
78
- const effective = prefix !== "" ? paths.map(
79
- (p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
80
- virtual: p.virtual,
81
- directory: p.directory,
82
- ...p.pattern !== null ? { pattern: p.pattern } : {},
83
- resolved: p.resolved,
84
- resourcePath: mountKey(p.virtual, prefix)
85
- })
86
- ) : paths;
87
- return resolvePostgresGlob(this.accessor, effective, this.index);
88
- }
89
- };
90
-
91
- export {
92
- NeonPgDriver,
93
- PostgresResource
94
- };
95
- //# sourceMappingURL=chunk-37WKCB2E.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/postgres/postgres.ts","../src/resource/postgres/neon_driver.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { mountKey, mountPrefixOf } from '@struktoai/mirage-core'\nimport {\n type FileStat,\n type IndexCacheStore,\n PathSpec,\n type PgDriver,\n POSTGRES_COMMANDS,\n POSTGRES_OPS,\n POSTGRES_PROMPT,\n PostgresAccessor,\n type PostgresConfig,\n type PostgresConfigResolved,\n postgresRead,\n postgresReaddir,\n postgresStat,\n RAMIndexCacheStore,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n resolvePostgresConfig,\n makeResolveGlob,\n} from '@struktoai/mirage-core'\nimport { NeonPgDriver } from './neon_driver.ts'\n\nconst resolvePostgresGlob = makeResolveGlob(postgresReaddir)\n\nexport interface PostgresResourceOptions {\n config: PostgresConfig\n prefix?: string\n driver?: PgDriver\n}\n\nexport class PostgresResource implements Resource {\n readonly kind: string = ResourceName.POSTGRES\n readonly cachesReads: boolean = false\n readonly indexTtl: number = 0\n readonly prompt: string\n readonly config: PostgresConfigResolved\n readonly driver: PgDriver\n readonly accessor: PostgresAccessor\n readonly index: IndexCacheStore\n\n constructor(options: PostgresResourceOptions | PostgresConfig) {\n const { config, prefix, driver } =\n 'config' in options ? options : { config: options, prefix: undefined, driver: undefined }\n this.config = resolvePostgresConfig(config)\n this.driver = driver ?? new NeonPgDriver(this.config.dsn)\n this.accessor = new PostgresAccessor(this.driver, this.config)\n this.index = new RAMIndexCacheStore({ ttl: this.indexTtl })\n this.prompt = POSTGRES_PROMPT.replace('{prefix}', prefix ?? '')\n }\n\n open(): Promise<void> {\n return Promise.resolve()\n }\n\n async close(): Promise<void> {\n await this.driver.close()\n }\n\n ops(): readonly RegisteredOp[] {\n return POSTGRES_OPS\n }\n\n commands(): readonly RegisteredCommand[] {\n return POSTGRES_COMMANDS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return postgresRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return postgresReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return postgresStat(this.accessor, p, this.index)\n }\n\n glob(paths: readonly PathSpec[], prefix = ''): Promise<PathSpec[]> {\n const effective =\n prefix !== ''\n ? paths.map((p) =>\n mountPrefixOf(p.virtual, p.resourcePath) !== ''\n ? p\n : new PathSpec({\n virtual: p.virtual,\n directory: p.directory,\n ...(p.pattern !== null ? { pattern: p.pattern } : {}),\n resolved: p.resolved,\n resourcePath: mountKey(p.virtual, prefix),\n }),\n )\n : paths\n return resolvePostgresGlob(this.accessor, effective, this.index)\n }\n}\n","// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport { neon, type NeonQueryFunction } from '@neondatabase/serverless'\nimport type { PgDriver, PgQueryResult } from '@struktoai/mirage-core'\n\ninterface FullResultsRow<R> {\n rows: R[]\n rowCount: number | null\n}\n\nexport class NeonPgDriver implements PgDriver {\n private readonly sql: NeonQueryFunction<false, true>\n\n constructor(dsn: string) {\n this.sql = neon(dsn, { fullResults: true })\n }\n\n async query<R = Record<string, unknown>>(\n text: string,\n params?: readonly unknown[],\n ): Promise<PgQueryResult<R>> {\n const result = (await this.sql.query(\n text,\n params as unknown[] | undefined,\n )) as unknown as FullResultsRow<R>\n return { rows: result.rows, rowCount: result.rowCount ?? result.rows.length }\n }\n\n close(): Promise<void> {\n return Promise.resolve()\n }\n}\n"],"mappings":";AAcA,SAAS,UAAU,qBAAqB;AACxC;AAAA,EAGE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACK;;;ACtBP,SAAS,YAAoC;AAQtC,IAAM,eAAN,MAAuC;AAAA,EAC3B;AAAA,EAEjB,YAAY,KAAa;AACvB,SAAK,MAAM,KAAK,KAAK,EAAE,aAAa,KAAK,CAAC;AAAA,EAC5C;AAAA,EAEA,MAAM,MACJ,MACA,QAC2B;AAC3B,UAAM,SAAU,MAAM,KAAK,IAAI;AAAA,MAC7B;AAAA,MACA;AAAA,IACF;AACA,WAAO,EAAE,MAAM,OAAO,MAAM,UAAU,OAAO,YAAY,OAAO,KAAK,OAAO;AAAA,EAC9E;AAAA,EAEA,QAAuB;AACrB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;;;ADJA,IAAM,sBAAsB,gBAAgB,eAAe;AAQpD,IAAM,mBAAN,MAA2C;AAAA,EACvC,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA,EACvB,WAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,SAAmD;AAC7D,UAAM,EAAE,QAAQ,QAAQ,OAAO,IAC7B,YAAY,UAAU,UAAU,EAAE,QAAQ,SAAS,QAAQ,QAAW,QAAQ,OAAU;AAC1F,SAAK,SAAS,sBAAsB,MAAM;AAC1C,SAAK,SAAS,UAAU,IAAI,aAAa,KAAK,OAAO,GAAG;AACxD,SAAK,WAAW,IAAI,iBAAiB,KAAK,QAAQ,KAAK,MAAM;AAC7D,SAAK,QAAQ,IAAI,mBAAmB,EAAE,KAAK,KAAK,SAAS,CAAC;AAC1D,SAAK,SAAS,gBAAgB,QAAQ,YAAY,UAAU,EAAE;AAAA,EAChE;AAAA,EAEA,OAAsB;AACpB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,MAAM,QAAuB;AAC3B,UAAM,KAAK,OAAO,MAAM;AAAA,EAC1B;AAAA,EAEA,MAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EAEA,WAAyC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,gBAAgB,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACrD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,aAAa,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAClD;AAAA,EAEA,KAAK,OAA4B,SAAS,IAAyB;AACjE,UAAM,YACJ,WAAW,KACP,MAAM;AAAA,MAAI,CAAC,MACT,cAAc,EAAE,SAAS,EAAE,YAAY,MAAM,KACzC,IACA,IAAI,SAAS;AAAA,QACX,SAAS,EAAE;AAAA,QACX,WAAW,EAAE;AAAA,QACb,GAAI,EAAE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,QACnD,UAAU,EAAE;AAAA,QACZ,cAAc,SAAS,EAAE,SAAS,MAAM;AAAA,MAC1C,CAAC;AAAA,IACP,IACA;AACN,WAAO,oBAAoB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EACjE;AACF;","names":[]}
@@ -1,96 +0,0 @@
1
- import {
2
- S3Resource
3
- } from "./chunk-BGA2F226.js";
4
-
5
- // src/resource/supabase/supabase.ts
6
- import {
7
- remapCommandsResource,
8
- remapOpsResource,
9
- ResourceName
10
- } from "@struktoai/mirage-core";
11
-
12
- // src/resource/supabase/config.ts
13
- import {
14
- redactConfigWithSchema,
15
- secretSchema,
16
- z
17
- } from "@struktoai/mirage-core";
18
- var SupabaseConfigSchema = z.object({
19
- bucket: z.string(),
20
- presignedUrlProvider: secretSchema(
21
- z.custom((value) => typeof value === "function")
22
- ),
23
- projectRef: z.string().optional(),
24
- region: z.string().optional(),
25
- endpoint: z.string().optional(),
26
- defaultContentType: z.string().optional(),
27
- keyPrefix: z.string().optional()
28
- });
29
- function resolvedSupabaseEndpoint(config) {
30
- if (config.endpoint !== void 0 && config.endpoint !== "") return config.endpoint;
31
- if (config.projectRef !== void 0 && config.projectRef !== "") {
32
- return `https://${config.projectRef}.storage.supabase.co/storage/v1/s3`;
33
- }
34
- return void 0;
35
- }
36
- function supabaseToS3Config(config) {
37
- const endpoint = resolvedSupabaseEndpoint(config);
38
- return {
39
- bucket: config.bucket,
40
- presignedUrlProvider: config.presignedUrlProvider,
41
- ...config.region !== void 0 ? { region: config.region } : {},
42
- ...endpoint !== void 0 ? { endpoint } : {},
43
- forcePathStyle: true,
44
- ...config.defaultContentType !== void 0 ? { defaultContentType: config.defaultContentType } : {},
45
- ...config.keyPrefix !== void 0 ? { keyPrefix: config.keyPrefix } : {}
46
- };
47
- }
48
- function redactSupabaseConfig(config) {
49
- return redactConfigWithSchema(SupabaseConfigSchema, config);
50
- }
51
-
52
- // src/resource/supabase/prompt.ts
53
- var SUPABASE_BROWSER_PROMPT = `{prefix}
54
- Remote Supabase Storage bucket accessed via presigned URLs (browser runtime).
55
- Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.
56
- Listing operations require the presigner to sign LIST/COPY operations in
57
- addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.`;
58
-
59
- // src/resource/supabase/supabase.ts
60
- var SupabaseResource = class extends S3Resource {
61
- kind = ResourceName.SUPABASE;
62
- prompt = SUPABASE_BROWSER_PROMPT;
63
- supabaseConfig;
64
- supabaseOps;
65
- supabaseCommands;
66
- constructor(config) {
67
- super(supabaseToS3Config(config));
68
- this.supabaseConfig = config;
69
- this.supabaseOps = remapOpsResource(super.ops(), ResourceName.SUPABASE);
70
- this.supabaseCommands = remapCommandsResource(super.commands(), ResourceName.SUPABASE);
71
- }
72
- ops() {
73
- return this.supabaseOps;
74
- }
75
- commands() {
76
- return this.supabaseCommands;
77
- }
78
- getState() {
79
- return Promise.resolve({
80
- type: this.kind,
81
- config: redactSupabaseConfig(this.supabaseConfig)
82
- });
83
- }
84
- loadState(_state) {
85
- return Promise.resolve();
86
- }
87
- };
88
-
89
- export {
90
- resolvedSupabaseEndpoint,
91
- supabaseToS3Config,
92
- redactSupabaseConfig,
93
- SUPABASE_BROWSER_PROMPT,
94
- SupabaseResource
95
- };
96
- //# sourceMappingURL=chunk-3IYCVC7W.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/supabase/supabase.ts","../src/resource/supabase/config.ts","../src/resource/supabase/prompt.ts"],"sourcesContent":["// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n remapCommandsResource,\n remapOpsResource,\n ResourceName,\n type RegisteredCommand,\n type RegisteredOp,\n} from '@struktoai/mirage-core'\nimport { S3Resource } from '../s3/s3.ts'\nimport {\n redactSupabaseConfig,\n supabaseToS3Config,\n type SupabaseConfig,\n type SupabaseConfigRedacted,\n} from './config.ts'\nimport { SUPABASE_BROWSER_PROMPT } from './prompt.ts'\n\nexport interface SupabaseResourceState {\n type: string\n config: SupabaseConfigRedacted\n}\n\nexport class SupabaseResource extends S3Resource {\n override readonly kind: string = ResourceName.SUPABASE\n override readonly prompt: string = SUPABASE_BROWSER_PROMPT\n readonly supabaseConfig: SupabaseConfig\n private readonly supabaseOps: readonly RegisteredOp[]\n private readonly supabaseCommands: readonly RegisteredCommand[]\n\n constructor(config: SupabaseConfig) {\n super(supabaseToS3Config(config))\n this.supabaseConfig = config\n this.supabaseOps = remapOpsResource(super.ops(), ResourceName.SUPABASE)\n this.supabaseCommands = remapCommandsResource(super.commands(), ResourceName.SUPABASE)\n }\n\n override ops(): readonly RegisteredOp[] {\n return this.supabaseOps\n }\n\n override commands(): readonly RegisteredCommand[] {\n return this.supabaseCommands\n }\n\n override getState(): Promise<SupabaseResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactSupabaseConfig(this.supabaseConfig),\n })\n }\n\n override loadState(_state: SupabaseResourceState): Promise<void> {\n return Promise.resolve()\n }\n}\n","// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nimport {\n redactConfigWithSchema,\n type ConfigOf,\n type RedactedConfig,\n secretSchema,\n z,\n} from '@struktoai/mirage-core'\nimport type { S3BrowserPresignedUrlProvider, S3Config } from '../s3/config.ts'\n\nconst SupabaseConfigSchema = z.object({\n bucket: z.string(),\n presignedUrlProvider: secretSchema(\n z.custom<S3BrowserPresignedUrlProvider>((value) => typeof value === 'function'),\n ),\n projectRef: z.string().optional(),\n region: z.string().optional(),\n endpoint: z.string().optional(),\n defaultContentType: z.string().optional(),\n keyPrefix: z.string().optional(),\n})\n\nexport type SupabaseConfig = ConfigOf<typeof SupabaseConfigSchema>\n\nexport type SupabaseConfigRedacted = RedactedConfig<SupabaseConfig, 'presignedUrlProvider'>\n\nexport function resolvedSupabaseEndpoint(config: SupabaseConfig): string | undefined {\n if (config.endpoint !== undefined && config.endpoint !== '') return config.endpoint\n if (config.projectRef !== undefined && config.projectRef !== '') {\n return `https://${config.projectRef}.storage.supabase.co/storage/v1/s3`\n }\n return undefined\n}\n\nexport function supabaseToS3Config(config: SupabaseConfig): S3Config {\n const endpoint = resolvedSupabaseEndpoint(config)\n return {\n bucket: config.bucket,\n presignedUrlProvider: config.presignedUrlProvider,\n ...(config.region !== undefined ? { region: config.region } : {}),\n ...(endpoint !== undefined ? { endpoint } : {}),\n forcePathStyle: true,\n ...(config.defaultContentType !== undefined\n ? { defaultContentType: config.defaultContentType }\n : {}),\n ...(config.keyPrefix !== undefined ? { keyPrefix: config.keyPrefix } : {}),\n }\n}\n\nexport function redactSupabaseConfig(config: SupabaseConfig): SupabaseConfigRedacted {\n return redactConfigWithSchema(SupabaseConfigSchema, config) as unknown as SupabaseConfigRedacted\n}\n","// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========\n\nexport const SUPABASE_BROWSER_PROMPT = `{prefix}\n Remote Supabase Storage bucket accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE — see S3BrowserPresignedUrlProvider docs.`\n"],"mappings":";;;;;AAcA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;;;ACNP;AAAA,EACE;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAGP,IAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,QAAQ,EAAE,OAAO;AAAA,EACjB,sBAAsB;AAAA,IACpB,EAAE,OAAsC,CAAC,UAAU,OAAO,UAAU,UAAU;AAAA,EAChF;AAAA,EACA,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,oBAAoB,EAAE,OAAO,EAAE,SAAS;AAAA,EACxC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAMM,SAAS,yBAAyB,QAA4C;AACnF,MAAI,OAAO,aAAa,UAAa,OAAO,aAAa,GAAI,QAAO,OAAO;AAC3E,MAAI,OAAO,eAAe,UAAa,OAAO,eAAe,IAAI;AAC/D,WAAO,WAAW,OAAO,UAAU;AAAA,EACrC;AACA,SAAO;AACT;AAEO,SAAS,mBAAmB,QAAkC;AACnE,QAAM,WAAW,yBAAyB,MAAM;AAChD,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,sBAAsB,OAAO;AAAA,IAC7B,GAAI,OAAO,WAAW,SAAY,EAAE,QAAQ,OAAO,OAAO,IAAI,CAAC;AAAA,IAC/D,GAAI,aAAa,SAAY,EAAE,SAAS,IAAI,CAAC;AAAA,IAC7C,gBAAgB;AAAA,IAChB,GAAI,OAAO,uBAAuB,SAC9B,EAAE,oBAAoB,OAAO,mBAAmB,IAChD,CAAC;AAAA,IACL,GAAI,OAAO,cAAc,SAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,EAC1E;AACF;AAEO,SAAS,qBAAqB,QAAgD;AACnF,SAAO,uBAAuB,sBAAsB,MAAM;AAC5D;;;AClDO,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;;;AFqBhC,IAAM,mBAAN,cAA+B,WAAW;AAAA,EAC7B,OAAe,aAAa;AAAA,EAC5B,SAAiB;AAAA,EAC1B;AAAA,EACQ;AAAA,EACA;AAAA,EAEjB,YAAY,QAAwB;AAClC,UAAM,mBAAmB,MAAM,CAAC;AAChC,SAAK,iBAAiB;AACtB,SAAK,cAAc,iBAAiB,MAAM,IAAI,GAAG,aAAa,QAAQ;AACtE,SAAK,mBAAmB,sBAAsB,MAAM,SAAS,GAAG,aAAa,QAAQ;AAAA,EACvF;AAAA,EAES,MAA+B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAA2C;AAClD,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,qBAAqB,KAAK,cAAc;AAAA,IAClD,CAAC;AAAA,EACH;AAAA,EAES,UAAU,QAA8C;AAC/D,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}