@struktoai/mirage-browser 0.0.5 → 0.0.7-alpha.1

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 (610) 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 +121 -1246
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +132 -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 +381 -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 +279 -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/runtime/sandbox/e2b/config.d.ts +2 -0
  423. package/dist/runtime/sandbox/e2b/config.d.ts.map +1 -0
  424. package/dist/runtime/sandbox/e2b/config.js +15 -0
  425. package/dist/runtime/sandbox/e2b/config.js.map +1 -0
  426. package/dist/runtime/sandbox/e2b/runtime.d.ts +2 -0
  427. package/dist/runtime/sandbox/e2b/runtime.d.ts.map +1 -0
  428. package/dist/runtime/sandbox/e2b/runtime.js +15 -0
  429. package/dist/runtime/sandbox/e2b/runtime.js.map +1 -0
  430. package/dist/test-utils.d.ts +37 -0
  431. package/dist/test-utils.d.ts.map +1 -0
  432. package/dist/test-utils.js +518 -0
  433. package/dist/test-utils.js.map +1 -0
  434. package/dist/workspace.d.ts +10 -0
  435. package/dist/workspace.d.ts.map +1 -0
  436. package/dist/workspace.js +62 -0
  437. package/dist/workspace.js.map +1 -0
  438. package/package.json +22 -6
  439. package/dist/aliyun-DR6KT3H6.js +0 -8
  440. package/dist/aliyun-DR6KT3H6.js.map +0 -1
  441. package/dist/backblaze-XCLZXTES.js +0 -8
  442. package/dist/backblaze-XCLZXTES.js.map +0 -1
  443. package/dist/box-XBCSU3AA.js +0 -8
  444. package/dist/box-XBCSU3AA.js.map +0 -1
  445. package/dist/ceph-F5S2NMTO.js +0 -8
  446. package/dist/ceph-F5S2NMTO.js.map +0 -1
  447. package/dist/chunk-2J35WXX5.js +0 -28
  448. package/dist/chunk-2J35WXX5.js.map +0 -1
  449. package/dist/chunk-2WNXK742.js +0 -89
  450. package/dist/chunk-2WNXK742.js.map +0 -1
  451. package/dist/chunk-2WSKXBSV.js +0 -139
  452. package/dist/chunk-2WSKXBSV.js.map +0 -1
  453. package/dist/chunk-37WKCB2E.js +0 -95
  454. package/dist/chunk-37WKCB2E.js.map +0 -1
  455. package/dist/chunk-3IYCVC7W.js +0 -96
  456. package/dist/chunk-3IYCVC7W.js.map +0 -1
  457. package/dist/chunk-46HNNKFR.js +0 -95
  458. package/dist/chunk-46HNNKFR.js.map +0 -1
  459. package/dist/chunk-4IF4TGAI.js +0 -11
  460. package/dist/chunk-4IF4TGAI.js.map +0 -1
  461. package/dist/chunk-5OZJMTYW.js +0 -113
  462. package/dist/chunk-5OZJMTYW.js.map +0 -1
  463. package/dist/chunk-5UM6EBVW.js +0 -108
  464. package/dist/chunk-5UM6EBVW.js.map +0 -1
  465. package/dist/chunk-6HRSCX2U.js +0 -98
  466. package/dist/chunk-6HRSCX2U.js.map +0 -1
  467. package/dist/chunk-7HWQAYXR.js +0 -85
  468. package/dist/chunk-7HWQAYXR.js.map +0 -1
  469. package/dist/chunk-AUZNQ7EI.js +0 -85
  470. package/dist/chunk-AUZNQ7EI.js.map +0 -1
  471. package/dist/chunk-BGA2F226.js +0 -182
  472. package/dist/chunk-BGA2F226.js.map +0 -1
  473. package/dist/chunk-BV372CUO.js +0 -90
  474. package/dist/chunk-BV372CUO.js.map +0 -1
  475. package/dist/chunk-C4THTILY.js +0 -95
  476. package/dist/chunk-C4THTILY.js.map +0 -1
  477. package/dist/chunk-D4MEOKNQ.js +0 -95
  478. package/dist/chunk-D4MEOKNQ.js.map +0 -1
  479. package/dist/chunk-D4RAMWYH.js +0 -88
  480. package/dist/chunk-D4RAMWYH.js.map +0 -1
  481. package/dist/chunk-EHIT6WCY.js +0 -95
  482. package/dist/chunk-EHIT6WCY.js.map +0 -1
  483. package/dist/chunk-EN6TZYT2.js +0 -95
  484. package/dist/chunk-EN6TZYT2.js.map +0 -1
  485. package/dist/chunk-FTDVV7EQ.js +0 -85
  486. package/dist/chunk-FTDVV7EQ.js.map +0 -1
  487. package/dist/chunk-G67Q2Z6I.js +0 -95
  488. package/dist/chunk-G67Q2Z6I.js.map +0 -1
  489. package/dist/chunk-GM2QMJAY.js +0 -85
  490. package/dist/chunk-GM2QMJAY.js.map +0 -1
  491. package/dist/chunk-HRWLHJX2.js +0 -84
  492. package/dist/chunk-HRWLHJX2.js.map +0 -1
  493. package/dist/chunk-INEXV2PN.js +0 -91
  494. package/dist/chunk-INEXV2PN.js.map +0 -1
  495. package/dist/chunk-IZMKMD3O.js +0 -11
  496. package/dist/chunk-IZMKMD3O.js.map +0 -1
  497. package/dist/chunk-JUVMJ5GI.js +0 -85
  498. package/dist/chunk-JUVMJ5GI.js.map +0 -1
  499. package/dist/chunk-KL2VFYUV.js +0 -159
  500. package/dist/chunk-KL2VFYUV.js.map +0 -1
  501. package/dist/chunk-L64GRKOD.js +0 -38
  502. package/dist/chunk-L64GRKOD.js.map +0 -1
  503. package/dist/chunk-LPDLPRPS.js +0 -11
  504. package/dist/chunk-LPDLPRPS.js.map +0 -1
  505. package/dist/chunk-M2UF2JHJ.js +0 -11
  506. package/dist/chunk-M2UF2JHJ.js.map +0 -1
  507. package/dist/chunk-NVHPJ5CV.js +0 -109
  508. package/dist/chunk-NVHPJ5CV.js.map +0 -1
  509. package/dist/chunk-OSTDTTWI.js +0 -35
  510. package/dist/chunk-OSTDTTWI.js.map +0 -1
  511. package/dist/chunk-PQCRGTSA.js +0 -85
  512. package/dist/chunk-PQCRGTSA.js.map +0 -1
  513. package/dist/chunk-QE7QNA45.js +0 -114
  514. package/dist/chunk-QE7QNA45.js.map +0 -1
  515. package/dist/chunk-QG2NUNCY.js +0 -95
  516. package/dist/chunk-QG2NUNCY.js.map +0 -1
  517. package/dist/chunk-UFHBDBZD.js +0 -1212
  518. package/dist/chunk-UFHBDBZD.js.map +0 -1
  519. package/dist/chunk-UY22T4AC.js +0 -112
  520. package/dist/chunk-UY22T4AC.js.map +0 -1
  521. package/dist/chunk-XJBC3OYX.js +0 -11
  522. package/dist/chunk-XJBC3OYX.js.map +0 -1
  523. package/dist/chunk-Y6DYUK6J.js +0 -85
  524. package/dist/chunk-Y6DYUK6J.js.map +0 -1
  525. package/dist/chunk-YOCTIHQZ.js +0 -89
  526. package/dist/chunk-YOCTIHQZ.js.map +0 -1
  527. package/dist/chunk-ZDJPUXYH.js +0 -101
  528. package/dist/chunk-ZDJPUXYH.js.map +0 -1
  529. package/dist/chunk-ZKCOSE3R.js +0 -90
  530. package/dist/chunk-ZKCOSE3R.js.map +0 -1
  531. package/dist/chunk-ZTHVEXIV.js +0 -11
  532. package/dist/chunk-ZTHVEXIV.js.map +0 -1
  533. package/dist/config-2Y6LZKLV.js +0 -9
  534. package/dist/config-2Y6LZKLV.js.map +0 -1
  535. package/dist/config-4GSOMUMF.js +0 -9
  536. package/dist/config-4GSOMUMF.js.map +0 -1
  537. package/dist/config-5YBUWFUP.js +0 -9
  538. package/dist/config-5YBUWFUP.js.map +0 -1
  539. package/dist/config-DE5OZ4I7.js +0 -9
  540. package/dist/config-DE5OZ4I7.js.map +0 -1
  541. package/dist/config-ELDOFRJW.js +0 -9
  542. package/dist/config-ELDOFRJW.js.map +0 -1
  543. package/dist/config-FPM3LAW7.js +0 -9
  544. package/dist/config-FPM3LAW7.js.map +0 -1
  545. package/dist/config-JY557MA6.js +0 -9
  546. package/dist/config-JY557MA6.js.map +0 -1
  547. package/dist/config-UU27ALAA.js +0 -9
  548. package/dist/config-UU27ALAA.js.map +0 -1
  549. package/dist/config-WRACCRPN.js +0 -9
  550. package/dist/config-WRACCRPN.js.map +0 -1
  551. package/dist/digitalocean-QDHTRS2W.js +0 -8
  552. package/dist/digitalocean-QDHTRS2W.js.map +0 -1
  553. package/dist/discord-ERUI7OAQ.js +0 -7
  554. package/dist/discord-ERUI7OAQ.js.map +0 -1
  555. package/dist/dropbox-3U6D4HLE.js +0 -8
  556. package/dist/dropbox-3U6D4HLE.js.map +0 -1
  557. package/dist/gcal-MTBSDG34.js +0 -8
  558. package/dist/gcal-MTBSDG34.js.map +0 -1
  559. package/dist/gcs-KNGRBBET.js +0 -8
  560. package/dist/gcs-KNGRBBET.js.map +0 -1
  561. package/dist/gdocs-RUIOIRKP.js +0 -8
  562. package/dist/gdocs-RUIOIRKP.js.map +0 -1
  563. package/dist/gdrive-5JB7ZKEP.js +0 -8
  564. package/dist/gdrive-5JB7ZKEP.js.map +0 -1
  565. package/dist/github-CIXBFBVO.js +0 -7
  566. package/dist/github-CIXBFBVO.js.map +0 -1
  567. package/dist/github_ci-HR6YOYAO.js +0 -8
  568. package/dist/github_ci-HR6YOYAO.js.map +0 -1
  569. package/dist/gmail-JHGWTQU5.js +0 -8
  570. package/dist/gmail-JHGWTQU5.js.map +0 -1
  571. package/dist/gsheets-N54JO2RS.js +0 -8
  572. package/dist/gsheets-N54JO2RS.js.map +0 -1
  573. package/dist/gslides-B4VMNLMB.js +0 -8
  574. package/dist/gslides-B4VMNLMB.js.map +0 -1
  575. package/dist/langfuse-HEUJGDOC.js +0 -7
  576. package/dist/langfuse-HEUJGDOC.js.map +0 -1
  577. package/dist/linear-J4QQ3CA6.js +0 -7
  578. package/dist/linear-J4QQ3CA6.js.map +0 -1
  579. package/dist/minio-BXWHJ6K5.js +0 -8
  580. package/dist/minio-BXWHJ6K5.js.map +0 -1
  581. package/dist/mongodb-YZP643ZU.js +0 -7
  582. package/dist/mongodb-YZP643ZU.js.map +0 -1
  583. package/dist/notion-I5S5SRLO.js +0 -7
  584. package/dist/notion-I5S5SRLO.js.map +0 -1
  585. package/dist/oci-XOPKH4AE.js +0 -8
  586. package/dist/oci-XOPKH4AE.js.map +0 -1
  587. package/dist/opfs-36QO72Y5.js +0 -7
  588. package/dist/opfs-36QO72Y5.js.map +0 -1
  589. package/dist/postgres-HPOMN2AR.js +0 -7
  590. package/dist/postgres-HPOMN2AR.js.map +0 -1
  591. package/dist/qingstor-JKAHLK62.js +0 -8
  592. package/dist/qingstor-JKAHLK62.js.map +0 -1
  593. package/dist/r2-L3QXQ76M.js +0 -8
  594. package/dist/r2-L3QXQ76M.js.map +0 -1
  595. package/dist/s3-LRZJPGHK.js +0 -9
  596. package/dist/s3-LRZJPGHK.js.map +0 -1
  597. package/dist/scaleway-CGNDYNKS.js +0 -8
  598. package/dist/scaleway-CGNDYNKS.js.map +0 -1
  599. package/dist/seaweedfs-BSQWCBIR.js +0 -8
  600. package/dist/seaweedfs-BSQWCBIR.js.map +0 -1
  601. package/dist/slack-62ECSENR.js +0 -7
  602. package/dist/slack-62ECSENR.js.map +0 -1
  603. package/dist/supabase-J66NXWAF.js +0 -8
  604. package/dist/supabase-J66NXWAF.js.map +0 -1
  605. package/dist/tencent-AC667LV3.js +0 -8
  606. package/dist/tencent-AC667LV3.js.map +0 -1
  607. package/dist/trello-SUPG6VDF.js +0 -7
  608. package/dist/trello-SUPG6VDF.js.map +0 -1
  609. package/dist/wasabi-5KKPW6LH.js +0 -8
  610. package/dist/wasabi-5KKPW6LH.js.map +0 -1
@@ -0,0 +1,236 @@
1
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
+ import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
15
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
16
+ import { ResourceName } from '@struktoai/mirage-core/types';
17
+ import { lstripSlash } from '@struktoai/mirage-core/utils/slash';
18
+ import { compareCodePoints } from '@struktoai/mirage-core/utils/sort';
19
+ import { OPFSAccessor } from "../../accessor/opfs.js";
20
+ import { OPFS_COMMANDS } from "../../commands/builtin/opfs/index.js";
21
+ import { appendBytes as appendCore } from "../../core/opfs/append.js";
22
+ import { SCOPE_ERROR } from "../../core/opfs/constants.js";
23
+ import { copy as copyCore } from "../../core/opfs/copy.js";
24
+ import { size as duSizeCore } from "../../core/opfs/du/index.js";
25
+ import { exists as existsCore } from "../../core/opfs/exists.js";
26
+ import { find as findCore } from "../../core/opfs/find.js";
27
+ import { mkdir as mkdirCore } from "../../core/opfs/mkdir.js";
28
+ import { read as readCoreFn } from "../../core/opfs/read.js";
29
+ import { readdir as readdirCore } from "../../core/opfs/readdir.js";
30
+ import { rename as renameCore } from "../../core/opfs/rename.js";
31
+ import { rmR as rmRCore } from "../../core/opfs/rm.js";
32
+ import { rmdir as rmdirCore } from "../../core/opfs/rmdir.js";
33
+ import { stat as statCore } from "../../core/opfs/stat.js";
34
+ import { stream as streamCore } from "../../core/opfs/stream.js";
35
+ import { truncate as truncateCore } from "../../core/opfs/truncate.js";
36
+ import { unlink as unlinkCore } from "../../core/opfs/unlink.js";
37
+ import { iterEntries, toWritableChunk } from "../../core/opfs/utils.js";
38
+ import { writeBytes as writeCore } from "../../core/opfs/write.js";
39
+ import { OPFS_OPS } from "../../ops/opfs/index.js";
40
+ import { OPFS_PROMPT } from "./prompt.js";
41
+ const globCore = makeResolveGlob(readdirCore, SCOPE_ERROR);
42
+ async function walkFiles(dir, currentPath, files) {
43
+ for await (const [name, handle] of iterEntries(dir)) {
44
+ const childPath = currentPath === '' ? name : `${currentPath}/${name}`;
45
+ if (handle.kind === 'file') {
46
+ const fh = await dir.getFileHandle(name, { create: false });
47
+ const file = await fh.getFile();
48
+ files[childPath] = new Uint8Array(await file.arrayBuffer());
49
+ }
50
+ else {
51
+ const child = await dir.getDirectoryHandle(name, { create: false });
52
+ await walkFiles(child, childPath, files);
53
+ }
54
+ }
55
+ }
56
+ async function walkDirs(dir, currentPath, dirs) {
57
+ for await (const [name, handle] of iterEntries(dir)) {
58
+ if (handle.kind !== 'directory')
59
+ continue;
60
+ const childPath = currentPath === '' ? `/${name}` : `${currentPath}/${name}`;
61
+ dirs.push(childPath);
62
+ const child = await dir.getDirectoryHandle(name, { create: false });
63
+ await walkDirs(child, childPath, dirs);
64
+ }
65
+ }
66
+ async function splitAndCreate(root, relativePath) {
67
+ let handle = root;
68
+ for (const seg of relativePath.split('/')) {
69
+ if (seg === '' || seg === '.')
70
+ continue;
71
+ handle = await handle.getDirectoryHandle(seg, { create: true });
72
+ }
73
+ return handle;
74
+ }
75
+ export class OPFSResource extends BaseResource {
76
+ kind = ResourceName.OPFS;
77
+ // OPFS is a real filesystem: getFile().size is the exact byte count a
78
+ // read returns.
79
+ sizesAlwaysKnown = true;
80
+ prompt = OPFS_PROMPT;
81
+ rootName;
82
+ accessor;
83
+ rootHandle = null;
84
+ openPromise = null;
85
+ constructor(options = {}) {
86
+ super();
87
+ this.rootName = options.root ?? '';
88
+ this.accessor = new OPFSAccessor(this);
89
+ }
90
+ open() {
91
+ return this.ensureOpen().then(() => undefined);
92
+ }
93
+ async close() {
94
+ this.rootHandle = null;
95
+ this.openPromise = null;
96
+ await super.close();
97
+ }
98
+ /**
99
+ * Lazily resolve to a usable root handle. Memoizes `navigator.storage`
100
+ * traversal so the resource self-initializes on first method call without
101
+ * relying on an external orchestrator.
102
+ */
103
+ ensureOpen() {
104
+ if (this.rootHandle !== null)
105
+ return Promise.resolve(this.rootHandle);
106
+ this.openPromise ??= (async () => {
107
+ const origin = await navigator.storage.getDirectory();
108
+ let handle = origin;
109
+ for (const seg of this.rootName.split('/')) {
110
+ if (seg === '' || seg === '.')
111
+ continue;
112
+ handle = await handle.getDirectoryHandle(seg, { create: true });
113
+ }
114
+ this.rootHandle = handle;
115
+ return handle;
116
+ })();
117
+ return this.openPromise;
118
+ }
119
+ requireHandle() {
120
+ if (this.rootHandle === null) {
121
+ throw new Error('OPFSResource is not open — call open() first');
122
+ }
123
+ return this.rootHandle;
124
+ }
125
+ ops() {
126
+ return OPFS_OPS;
127
+ }
128
+ commands() {
129
+ return OPFS_COMMANDS;
130
+ }
131
+ async *streamPath(p) {
132
+ await this.ensureOpen();
133
+ yield* streamCore(this.accessor, p);
134
+ }
135
+ async readFile(p) {
136
+ await this.ensureOpen();
137
+ return readCoreFn(this.accessor, p);
138
+ }
139
+ async writeFile(p, data) {
140
+ await this.ensureOpen();
141
+ return writeCore(this.accessor, p, data);
142
+ }
143
+ async appendFile(p, data) {
144
+ await this.ensureOpen();
145
+ return appendCore(this.accessor, p, data);
146
+ }
147
+ async readdir(p) {
148
+ await this.ensureOpen();
149
+ return readdirCore(this.accessor, p);
150
+ }
151
+ async stat(p) {
152
+ await this.ensureOpen();
153
+ return statCore(this.accessor, p);
154
+ }
155
+ async exists(p) {
156
+ await this.ensureOpen();
157
+ return existsCore(this.accessor, p);
158
+ }
159
+ async mkdir(p, options) {
160
+ await this.ensureOpen();
161
+ return mkdirCore(this.accessor, p, options?.recursive === true);
162
+ }
163
+ async rmdir(p) {
164
+ await this.ensureOpen();
165
+ return rmdirCore(this.accessor, p);
166
+ }
167
+ async unlink(p) {
168
+ await this.ensureOpen();
169
+ return unlinkCore(this.accessor, p);
170
+ }
171
+ async rename(src, dst) {
172
+ await this.ensureOpen();
173
+ return renameCore(this.accessor, src, dst);
174
+ }
175
+ async truncate(p, length) {
176
+ await this.ensureOpen();
177
+ return truncateCore(this.accessor, p, length);
178
+ }
179
+ async copy(src, dst) {
180
+ await this.ensureOpen();
181
+ return copyCore(this.accessor, src, dst);
182
+ }
183
+ async rmR(p) {
184
+ await this.ensureOpen();
185
+ return rmRCore(this.accessor, p);
186
+ }
187
+ async du(p) {
188
+ await this.ensureOpen();
189
+ return duSizeCore(this.accessor, p);
190
+ }
191
+ async find(p, options = {}) {
192
+ await this.ensureOpen();
193
+ return findCore(this.accessor, p, options);
194
+ }
195
+ async glob(paths) {
196
+ await this.ensureOpen();
197
+ return globCore(this.accessor, paths);
198
+ }
199
+ async getState() {
200
+ const handle = await this.ensureOpen();
201
+ const files = {};
202
+ await walkFiles(handle, '', files);
203
+ const dirs = [];
204
+ await walkDirs(handle, '', dirs);
205
+ dirs.sort(compareCodePoints);
206
+ return {
207
+ type: this.kind,
208
+ files,
209
+ dirs,
210
+ };
211
+ }
212
+ async loadState(state) {
213
+ const handle = await this.ensureOpen();
214
+ for (const dir of state.dirs) {
215
+ const rel = lstripSlash(dir);
216
+ if (rel === '')
217
+ continue;
218
+ await splitAndCreate(handle, rel);
219
+ }
220
+ for (const [rel, data] of Object.entries(state.files)) {
221
+ const segs = rel.split('/').filter((s) => s !== '' && s !== '.');
222
+ const fileName = segs.pop();
223
+ if (fileName === undefined)
224
+ continue;
225
+ let dir = handle;
226
+ for (const seg of segs) {
227
+ dir = await dir.getDirectoryHandle(seg, { create: true });
228
+ }
229
+ const fh = await dir.getFileHandle(fileName, { create: true });
230
+ const writable = await fh.createWritable();
231
+ await writable.write(toWritableChunk(data));
232
+ await writable.close();
233
+ }
234
+ }
235
+ }
236
+ //# sourceMappingURL=opfs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opfs.js","sourceRoot":"","sources":["../../../src/resource/opfs/opfs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const OPFS_PROMPT = "{prefix}\n Browser Origin Private File System. Persistent per-origin storage that survives page reloads.\n Standard commands: ls, cat, head, tail, grep, wc, find, tree, mkdir, touch, cp, mv, rm, tee.";
2
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/resource/opfs/prompt.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,8MAEuE,CAAA"}
@@ -0,0 +1,17 @@
1
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
+ export const OPFS_PROMPT = `{prefix}
15
+ Browser Origin Private File System. Persistent per-origin storage that survives page reloads.
16
+ Standard commands: ls, cat, head, tail, grep, wc, find, tree, mkdir, touch, cp, mv, rm, tee.`;
17
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/resource/opfs/prompt.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG;;+FAEoE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { PgDriver, PgQueryResult } from '@struktoai/mirage-core/core/postgres/_driver';
2
+ export declare class NeonPgDriver implements PgDriver {
3
+ private readonly sql;
4
+ constructor(dsn: string);
5
+ query<R = Record<string, unknown>>(text: string, params?: readonly unknown[]): Promise<PgQueryResult<R>>;
6
+ close(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=neon_driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neon_driver.d.ts","sourceRoot":"","sources":["../../../src/resource/postgres/neon_driver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AAO3F,qBAAa,YAAa,YAAW,QAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;gBAExC,GAAG,EAAE,MAAM;IAIjB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAQ5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvB"}
@@ -0,0 +1,28 @@
1
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
+ import { neon } from '@neondatabase/serverless';
15
+ export class NeonPgDriver {
16
+ sql;
17
+ constructor(dsn) {
18
+ this.sql = neon(dsn, { fullResults: true });
19
+ }
20
+ async query(text, params) {
21
+ const result = (await this.sql.query(text, params));
22
+ return { rows: result.rows, rowCount: result.rowCount ?? result.rows.length };
23
+ }
24
+ close() {
25
+ return Promise.resolve();
26
+ }
27
+ }
28
+ //# sourceMappingURL=neon_driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neon_driver.js","sourceRoot":"","sources":["../../../src/resource/postgres/neon_driver.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EAAE,IAAI,EAA0B,MAAM,0BAA0B,CAAA;AAQvE,MAAM,OAAO,YAAY;IACN,GAAG,CAAgC;IAEpD,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,MAA2B;QAE3B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAClC,IAAI,EACJ,MAA+B,CAChC,CAAiC,CAAA;QAClC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC/E,CAAC;IAED,KAAK;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ import { PostgresAccessor } from '@struktoai/mirage-core/accessor/postgres';
2
+ import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
3
+ import type { PgDriver } from '@struktoai/mirage-core/core/postgres/_driver';
4
+ import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
5
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
6
+ import type { Resource } from '@struktoai/mirage-core/resource/base';
7
+ import type { PostgresConfig, PostgresConfigRedacted, PostgresConfigResolved } from '@struktoai/mirage-core/resource/postgres/config';
8
+ import { PathSpec } from '@struktoai/mirage-core/types';
9
+ import type { FileStat } from '@struktoai/mirage-core/types';
10
+ export interface PostgresResourceOptions {
11
+ config: PostgresConfig;
12
+ prefix?: string;
13
+ driver?: PgDriver;
14
+ }
15
+ export interface PostgresResourceState {
16
+ type: string;
17
+ config: PostgresConfigRedacted;
18
+ needs_override: true;
19
+ }
20
+ export declare class PostgresResource extends BaseResource implements Resource {
21
+ readonly kind: string;
22
+ readonly cachesReads: boolean;
23
+ readonly indexTtl: number;
24
+ readonly prompt: string;
25
+ readonly config: PostgresConfigResolved;
26
+ readonly driver: PgDriver;
27
+ readonly accessor: PostgresAccessor;
28
+ constructor(options: PostgresResourceOptions | PostgresConfig);
29
+ getState(): PostgresResourceState;
30
+ loadState(_state: PostgresResourceState): Promise<void>;
31
+ open(): Promise<void>;
32
+ close(): Promise<void>;
33
+ ops(): readonly RegisteredOp[];
34
+ commands(): readonly RegisteredCommand[];
35
+ readFile(p: PathSpec): Promise<Uint8Array>;
36
+ readdir(p: PathSpec): Promise<string[]>;
37
+ stat(p: PathSpec): Promise<FileStat>;
38
+ glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
39
+ }
40
+ //# sourceMappingURL=postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/resource/postgres/postgres.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAG3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAA;AAK5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAKpE,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,iDAAiD,CAAA;AAExD,OAAO,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAM5D,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,QAAQ,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,sBAAsB,CAAA;IAC9B,cAAc,EAAE,IAAI,CAAA;CACrB;AAED,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,QAAQ;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAwB;IAC7C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAQ;IACrC,SAAkB,QAAQ,EAAE,MAAM,CAAI;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;gBAEvB,OAAO,EAAE,uBAAuB,GAAG,cAAc;IAUpD,QAAQ,IAAI,qBAAqB;IAejC,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIN,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAI1C,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIvC,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpC,IAAI,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAiBnE"}
@@ -0,0 +1,98 @@
1
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
+ import { PostgresAccessor } from '@struktoai/mirage-core/accessor/postgres';
15
+ import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
16
+ import { POSTGRES_COMMANDS } from '@struktoai/mirage-core/commands/builtin/postgres/index';
17
+ import { read as postgresRead } from '@struktoai/mirage-core/core/postgres/read';
18
+ import { readdir as postgresReaddir } from '@struktoai/mirage-core/core/postgres/readdir';
19
+ import { stat as postgresStat } from '@struktoai/mirage-core/core/postgres/stat';
20
+ import { POSTGRES_OPS } from '@struktoai/mirage-core/ops/postgres/index';
21
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
22
+ import { redactPostgresConfig, resolvePostgresConfig, } from '@struktoai/mirage-core/resource/postgres/config';
23
+ import { POSTGRES_PROMPT } from '@struktoai/mirage-core/resource/postgres/prompt';
24
+ import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
25
+ import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
26
+ import { NeonPgDriver } from "./neon_driver.js";
27
+ const resolvePostgresGlob = makeResolveGlob(postgresReaddir);
28
+ export class PostgresResource extends BaseResource {
29
+ kind = ResourceName.POSTGRES;
30
+ cachesReads = false;
31
+ indexTtl = 0;
32
+ prompt;
33
+ config;
34
+ driver;
35
+ accessor;
36
+ constructor(options) {
37
+ super();
38
+ const { config, prefix, driver } = 'config' in options ? options : { config: options, prefix: undefined, driver: undefined };
39
+ this.config = resolvePostgresConfig(config);
40
+ this.driver = driver ?? new NeonPgDriver(this.config.dsn);
41
+ this.accessor = new PostgresAccessor(this.driver, this.config);
42
+ this.prompt = POSTGRES_PROMPT.replace('{prefix}', prefix ?? '');
43
+ }
44
+ getState() {
45
+ return {
46
+ type: this.kind,
47
+ config: redactPostgresConfig(this.config),
48
+ // TypeScript cannot rebuild a config-backed mount from state:
49
+ // `buildMountArgs` substitutes a RAMResource for anything it was
50
+ // not handed. Saying so out loud turns a silently empty mount
51
+ // into a refusal to load. Python rebuilds via its registry, so it
52
+ // writes this on only four resources and reads it nowhere.
53
+ needs_override: true,
54
+ };
55
+ }
56
+ // The rows live in the database, so a restored mount reaches them
57
+ // through its config alone — there is nothing to take back.
58
+ loadState(_state) {
59
+ return Promise.resolve();
60
+ }
61
+ open() {
62
+ return Promise.resolve();
63
+ }
64
+ async close() {
65
+ await this.driver.close();
66
+ await super.close();
67
+ }
68
+ ops() {
69
+ return POSTGRES_OPS;
70
+ }
71
+ commands() {
72
+ return POSTGRES_COMMANDS;
73
+ }
74
+ readFile(p) {
75
+ return postgresRead(this.accessor, p, this.index);
76
+ }
77
+ readdir(p) {
78
+ return postgresReaddir(this.accessor, p, this.index);
79
+ }
80
+ stat(p) {
81
+ return postgresStat(this.accessor, p, this.index);
82
+ }
83
+ glob(paths, prefix = '') {
84
+ const effective = prefix !== ''
85
+ ? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
86
+ ? p
87
+ : new PathSpec({
88
+ virtual: p.virtual,
89
+ directory: p.directory,
90
+ ...(p.pattern !== null ? { pattern: p.pattern } : {}),
91
+ resolved: p.resolved,
92
+ resourcePath: mountKey(p.virtual, prefix),
93
+ }))
94
+ : paths;
95
+ return resolvePostgresGlob(this.accessor, effective, this.index);
96
+ }
97
+ }
98
+ //# sourceMappingURL=postgres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/resource/postgres/postgres.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/resource/secrets';
2
+ declare const QingStorConfigSchema: import("zod").ZodObject<{
3
+ bucket: import("zod").ZodString;
4
+ presignedUrlProvider: import("zod").ZodCustom<import("@struktoai/mirage-core/resource/s3/config").S3BrowserPresignedUrlProvider, import("@struktoai/mirage-core/resource/s3/config").S3BrowserPresignedUrlProvider>;
5
+ region: import("zod").ZodOptional<import("zod").ZodString>;
6
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
7
+ defaultContentType: import("zod").ZodOptional<import("zod").ZodString>;
8
+ keyPrefix: import("zod").ZodOptional<import("zod").ZodString>;
9
+ }, import("zod/v4/core").$strip>;
10
+ export type QingStorConfig = ConfigOf<typeof QingStorConfigSchema>;
11
+ export type QingStorConfigRedacted = RedactedConfig<QingStorConfig, 'presignedUrlProvider'>;
12
+ export declare const resolvedQingStorEndpoint: (config: QingStorConfig) => string | undefined;
13
+ export declare const qingStorToS3Config: (config: QingStorConfig) => import("@struktoai/mirage-core/resource/s3/config").S3Config;
14
+ export declare const redactQingStorConfig: (config: QingStorConfig) => QingStorConfigRedacted;
15
+ export declare const normalizeQingStorConfig: (input: Record<string, unknown>) => QingStorConfig;
16
+ export {};
17
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/resource/qingstor/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAGvF,QAAA,MAAM,oBAAoB;;;;;;;gCAAyB,CAAA;AAEnD,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElE,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAA;AAO3F,eAAO,MAAM,wBAAwB,gDAAyB,CAAA;AAC9D,eAAO,MAAM,kBAAkB,0FAAmB,CAAA;AAClD,eAAO,MAAM,oBAAoB,oDAAe,CAAA;AAChD,eAAO,MAAM,uBAAuB,oDAAkB,CAAA"}
@@ -0,0 +1,24 @@
1
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
+ import { browserAliasSchema, derivedEndpoint, makeBrowserS3Alias } from "../s3_alias.js";
15
+ const QingStorConfigSchema = browserAliasSchema({});
16
+ const alias = makeBrowserS3Alias({
17
+ schema: QingStorConfigSchema,
18
+ endpointFor: derivedEndpoint('region', (region) => `https://s3.${region}.qingstor.com`),
19
+ });
20
+ export const resolvedQingStorEndpoint = alias.resolvedEndpoint;
21
+ export const qingStorToS3Config = alias.toS3Config;
22
+ export const redactQingStorConfig = alias.redact;
23
+ export const normalizeQingStorConfig = alias.normalize;
24
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/resource/qingstor/config.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAGvE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;AAMnD,MAAM,KAAK,GAAG,kBAAkB,CAAyC;IACvE,MAAM,EAAE,oBAAoB;IAC5B,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,MAAM,eAAe,CAAC;CACxF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,CAAA;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAA;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAA;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const QINGSTOR_BROWSER_PROMPT = "{prefix}\n Remote QingStor bucket (S3-compatible) 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 \u2014 see S3BrowserPresignedUrlProvider docs.";
2
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/resource/qingstor/prompt.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,uBAAuB,wVAIwC,CAAA"}
@@ -0,0 +1,19 @@
1
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
+ export const QINGSTOR_BROWSER_PROMPT = `{prefix}
15
+ Remote QingStor bucket (S3-compatible) accessed via presigned URLs (browser runtime).
16
+ Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.
17
+ Listing operations require the presigner to sign LIST/COPY operations in
18
+ addition to GET/PUT/HEAD/DELETE — see S3BrowserPresignedUrlProvider docs.`;
19
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/resource/qingstor/prompt.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;4EAIqC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { S3AliasResource, type S3AliasResourceState } from '../s3_alias.ts';
2
+ import { type QingStorConfig, type QingStorConfigRedacted } from './config.ts';
3
+ export type QingStorResourceState = S3AliasResourceState<QingStorConfigRedacted>;
4
+ export declare class QingStorResource extends S3AliasResource<QingStorConfig, QingStorConfigRedacted> {
5
+ readonly prompt: string;
6
+ constructor(config: QingStorConfig);
7
+ }
8
+ //# sourceMappingURL=qingstor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qingstor.d.ts","sourceRoot":"","sources":["../../../src/resource/qingstor/qingstor.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAA;AAEhF,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAC3F,SAAkB,MAAM,EAAE,MAAM,CAA0B;gBAE9C,MAAM,EAAE,cAAc;CAGnC"}
@@ -0,0 +1,24 @@
1
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+ // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
+ import { ResourceName } from '@struktoai/mirage-core/types';
15
+ import { S3AliasResource } from "../s3_alias.js";
16
+ import { qingStorToS3Config, redactQingStorConfig, } from "./config.js";
17
+ import { QINGSTOR_BROWSER_PROMPT } from "./prompt.js";
18
+ export class QingStorResource extends S3AliasResource {
19
+ prompt = QINGSTOR_BROWSER_PROMPT;
20
+ constructor(config) {
21
+ super(ResourceName.QINGSTOR, config, qingStorToS3Config(config), redactQingStorConfig);
22
+ }
23
+ }
24
+ //# sourceMappingURL=qingstor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qingstor.js","sourceRoot":"","sources":["../../../src/resource/qingstor/qingstor.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAA6B,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAGrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAIrD,MAAM,OAAO,gBAAiB,SAAQ,eAAuD;IACzE,MAAM,GAAW,uBAAuB,CAAA;IAE1D,YAAY,MAAsB;QAChC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACxF,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { z } from '@struktoai/mirage-core/resource/secrets';
2
+ import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/resource/secrets';
3
+ declare const R2ConfigSchema: z.ZodObject<{
4
+ bucket: z.ZodString;
5
+ presignedUrlProvider: z.ZodCustom<import("@struktoai/mirage-core/resource/s3/config").S3BrowserPresignedUrlProvider, import("@struktoai/mirage-core/resource/s3/config").S3BrowserPresignedUrlProvider>;
6
+ region: z.ZodOptional<z.ZodString>;
7
+ endpoint: z.ZodOptional<z.ZodString>;
8
+ defaultContentType: z.ZodOptional<z.ZodString>;
9
+ keyPrefix: z.ZodOptional<z.ZodString>;
10
+ } & {
11
+ accountId: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strip>;
13
+ export type R2Config = ConfigOf<typeof R2ConfigSchema>;
14
+ export type R2ConfigRedacted = RedactedConfig<R2Config, 'presignedUrlProvider'>;
15
+ export declare const resolvedR2Endpoint: (config: R2Config) => string | undefined;
16
+ export declare const r2ToS3Config: (config: R2Config) => import("@struktoai/mirage-core/resource/s3/config").S3Config;
17
+ export declare const redactR2Config: (config: R2Config) => R2ConfigRedacted;
18
+ export declare const normalizeR2Config: (input: Record<string, unknown>) => R2Config;
19
+ export {};
20
+ //# sourceMappingURL=config.d.ts.map