@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
@@ -1,88 +0,0 @@
1
- import {
2
- redactGoogleConfig
3
- } from "./chunk-ZTHVEXIV.js";
4
-
5
- // src/resource/gcal/gcal.ts
6
- import { mountKey, mountPrefixOf } from "@struktoai/mirage-core";
7
- import {
8
- GCAL_COMMANDS,
9
- GCAL_PROMPT,
10
- GCAL_WRITE_PROMPT,
11
- GCAL_OPS,
12
- GCalAccessor,
13
- PathSpec,
14
- RAMIndexCacheStore,
15
- ResourceName,
16
- TokenManager,
17
- gcalRead,
18
- gcalReaddir,
19
- makeResolveGlob,
20
- gcalStat
21
- } from "@struktoai/mirage-core";
22
- var gcalResolveGlob = makeResolveGlob(gcalReaddir);
23
- var GCalResource = class {
24
- kind = ResourceName.GCAL;
25
- cachesReads = true;
26
- // Shorter than the other Google mounts: a calendar is edited by other
27
- // people and a day-long index would keep serving a schedule that has
28
- // already moved.
29
- indexTtl = 300;
30
- prompt = GCAL_PROMPT;
31
- writePrompt = GCAL_WRITE_PROMPT;
32
- config;
33
- accessor;
34
- index;
35
- constructor(config) {
36
- this.config = config;
37
- const tm = new TokenManager(config);
38
- this.accessor = new GCalAccessor({ tokenManager: tm, config });
39
- this.index = new RAMIndexCacheStore({ ttl: 300 });
40
- }
41
- open() {
42
- return Promise.resolve();
43
- }
44
- close() {
45
- return Promise.resolve();
46
- }
47
- commands() {
48
- return GCAL_COMMANDS;
49
- }
50
- ops() {
51
- return GCAL_OPS;
52
- }
53
- readFile(p) {
54
- return gcalRead(this.accessor, p, this.index);
55
- }
56
- readdir(p) {
57
- return gcalReaddir(this.accessor, p, this.index);
58
- }
59
- stat(p) {
60
- return gcalStat(this.accessor, p, this.index);
61
- }
62
- glob(paths, prefix = "") {
63
- const effective = prefix !== "" ? paths.map(
64
- (p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
65
- virtual: p.virtual,
66
- directory: p.directory,
67
- ...p.pattern !== null ? { pattern: p.pattern } : {},
68
- resolved: p.resolved,
69
- resourcePath: mountKey(p.virtual, prefix)
70
- })
71
- ) : paths;
72
- return gcalResolveGlob(this.accessor, effective, this.index);
73
- }
74
- getState() {
75
- return Promise.resolve({
76
- type: this.kind,
77
- config: redactGoogleConfig(this.config)
78
- });
79
- }
80
- loadState(_state) {
81
- return Promise.resolve();
82
- }
83
- };
84
-
85
- export {
86
- GCalResource
87
- };
88
- //# sourceMappingURL=chunk-D4RAMWYH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/gcal/gcal.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 GCAL_COMMANDS,\n GCAL_PROMPT,\n GCAL_WRITE_PROMPT,\n GCAL_OPS,\n GCalAccessor,\n type IndexCacheStore,\n PathSpec,\n RAMIndexCacheStore,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n TokenManager,\n gcalRead,\n gcalReaddir,\n makeResolveGlob,\n gcalStat,\n} from '@struktoai/mirage-core'\nimport { redactGCalConfig, type GCalConfig, type GCalConfigRedacted } from './config.ts'\n\nconst gcalResolveGlob = makeResolveGlob(gcalReaddir)\n\nexport interface GCalResourceState {\n type: string\n config: GCalConfigRedacted\n}\n\nexport class GCalResource implements Resource {\n readonly kind: string = ResourceName.GCAL\n readonly cachesReads: boolean = true\n // Shorter than the other Google mounts: a calendar is edited by other\n // people and a day-long index would keep serving a schedule that has\n // already moved.\n readonly indexTtl: number = 300\n readonly prompt: string = GCAL_PROMPT\n readonly writePrompt: string = GCAL_WRITE_PROMPT\n readonly config: GCalConfig\n readonly accessor: GCalAccessor\n readonly index: IndexCacheStore\n\n constructor(config: GCalConfig) {\n this.config = config\n const tm = new TokenManager(config)\n this.accessor = new GCalAccessor({ tokenManager: tm, config })\n this.index = new RAMIndexCacheStore({ ttl: 300 })\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 GCAL_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GCAL_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return gcalRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return gcalReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return gcalStat(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 gcalResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GCalResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGCalConfig(this.config),\n })\n }\n\n loadState(_state: GCalResourceState): 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,EACA;AAAA,OACK;AAGP,IAAM,kBAAkB,gBAAgB,WAAW;AAO5C,IAAM,eAAN,MAAuC;AAAA,EACnC,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA;AAAA;AAAA;AAAA,EAIvB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB,cAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,QAAoB;AAC9B,SAAK,SAAS;AACd,UAAM,KAAK,IAAI,aAAa,MAAM;AAClC,SAAK,WAAW,IAAI,aAAa,EAAE,cAAc,IAAI,OAAO,CAAC;AAC7D,SAAK,QAAQ,IAAI,mBAAmB,EAAE,KAAK,IAAI,CAAC;AAAA,EAClD;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,SAAS,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC9C;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,YAAY,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACjD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,SAAS,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EAC9C;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,gBAAgB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAC7D;AAAA,EAEA,WAAuC;AACrC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,mBAAiB,KAAK,MAAM;AAAA,IACtC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA0C;AAClD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -1,95 +0,0 @@
1
- import {
2
- S3Resource
3
- } from "./chunk-BGA2F226.js";
4
-
5
- // src/resource/aliyun/aliyun.ts
6
- import {
7
- remapCommandsResource,
8
- remapOpsResource,
9
- ResourceName
10
- } from "@struktoai/mirage-core";
11
-
12
- // src/resource/aliyun/config.ts
13
- import {
14
- redactConfigWithSchema,
15
- secretSchema,
16
- z
17
- } from "@struktoai/mirage-core";
18
- var AliyunConfigSchema = z.object({
19
- bucket: z.string(),
20
- presignedUrlProvider: secretSchema(
21
- z.custom((value) => typeof value === "function")
22
- ),
23
- region: z.string().optional(),
24
- endpoint: z.string().optional(),
25
- defaultContentType: z.string().optional(),
26
- keyPrefix: z.string().optional()
27
- });
28
- function resolvedAliyunEndpoint(config) {
29
- if (config.endpoint !== void 0 && config.endpoint !== "") return config.endpoint;
30
- if (config.region !== void 0 && config.region !== "") {
31
- const region = config.region;
32
- return `https://s3.oss-${region}.aliyuncs.com`;
33
- }
34
- return void 0;
35
- }
36
- function aliyunToS3Config(config) {
37
- const endpoint = resolvedAliyunEndpoint(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
- ...config.defaultContentType !== void 0 ? { defaultContentType: config.defaultContentType } : {},
44
- ...config.keyPrefix !== void 0 ? { keyPrefix: config.keyPrefix } : {}
45
- };
46
- }
47
- function redactAliyunConfig(config) {
48
- return redactConfigWithSchema(AliyunConfigSchema, config);
49
- }
50
-
51
- // src/resource/aliyun/prompt.ts
52
- var ALIYUN_BROWSER_PROMPT = `{prefix}
53
- Remote Alibaba Cloud OSS bucket (S3-compatible) accessed via presigned URLs (browser runtime).
54
- Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.
55
- Listing operations require the presigner to sign LIST/COPY operations in
56
- addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.`;
57
-
58
- // src/resource/aliyun/aliyun.ts
59
- var AliyunResource = class extends S3Resource {
60
- kind = ResourceName.ALIYUN;
61
- prompt = ALIYUN_BROWSER_PROMPT;
62
- aliyunConfig;
63
- aliyunOps;
64
- aliyunCommands;
65
- constructor(config) {
66
- super(aliyunToS3Config(config));
67
- this.aliyunConfig = config;
68
- this.aliyunOps = remapOpsResource(super.ops(), ResourceName.ALIYUN);
69
- this.aliyunCommands = remapCommandsResource(super.commands(), ResourceName.ALIYUN);
70
- }
71
- ops() {
72
- return this.aliyunOps;
73
- }
74
- commands() {
75
- return this.aliyunCommands;
76
- }
77
- getState() {
78
- return Promise.resolve({
79
- type: this.kind,
80
- config: redactAliyunConfig(this.aliyunConfig)
81
- });
82
- }
83
- loadState(_state) {
84
- return Promise.resolve();
85
- }
86
- };
87
-
88
- export {
89
- resolvedAliyunEndpoint,
90
- aliyunToS3Config,
91
- redactAliyunConfig,
92
- ALIYUN_BROWSER_PROMPT,
93
- AliyunResource
94
- };
95
- //# sourceMappingURL=chunk-EHIT6WCY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/aliyun/aliyun.ts","../src/resource/aliyun/config.ts","../src/resource/aliyun/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 aliyunToS3Config,\n redactAliyunConfig,\n type AliyunConfig,\n type AliyunConfigRedacted,\n} from './config.ts'\nimport { ALIYUN_BROWSER_PROMPT } from './prompt.ts'\n\nexport interface AliyunResourceState {\n type: string\n config: AliyunConfigRedacted\n}\n\nexport class AliyunResource extends S3Resource {\n override readonly kind: string = ResourceName.ALIYUN\n override readonly prompt: string = ALIYUN_BROWSER_PROMPT\n readonly aliyunConfig: AliyunConfig\n private readonly aliyunOps: readonly RegisteredOp[]\n private readonly aliyunCommands: readonly RegisteredCommand[]\n\n constructor(config: AliyunConfig) {\n super(aliyunToS3Config(config))\n this.aliyunConfig = config\n this.aliyunOps = remapOpsResource(super.ops(), ResourceName.ALIYUN)\n this.aliyunCommands = remapCommandsResource(super.commands(), ResourceName.ALIYUN)\n }\n\n override ops(): readonly RegisteredOp[] {\n return this.aliyunOps\n }\n\n override commands(): readonly RegisteredCommand[] {\n return this.aliyunCommands\n }\n\n override getState(): Promise<AliyunResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactAliyunConfig(this.aliyunConfig),\n })\n }\n\n override loadState(_state: AliyunResourceState): 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 AliyunConfigSchema = z.object({\n bucket: z.string(),\n presignedUrlProvider: secretSchema(\n z.custom<S3BrowserPresignedUrlProvider>((value) => typeof value === 'function'),\n ),\n region: z.string().optional(),\n endpoint: z.string().optional(),\n defaultContentType: z.string().optional(),\n keyPrefix: z.string().optional(),\n})\n\nexport type AliyunConfig = ConfigOf<typeof AliyunConfigSchema>\n\nexport type AliyunConfigRedacted = RedactedConfig<AliyunConfig, 'presignedUrlProvider'>\n\nexport function resolvedAliyunEndpoint(config: AliyunConfig): string | undefined {\n if (config.endpoint !== undefined && config.endpoint !== '') return config.endpoint\n if (config.region !== undefined && config.region !== '') {\n const region = config.region\n return `https://s3.oss-${region}.aliyuncs.com`\n }\n return undefined\n}\n\nexport function aliyunToS3Config(config: AliyunConfig): S3Config {\n const endpoint = resolvedAliyunEndpoint(config)\n return {\n bucket: config.bucket,\n presignedUrlProvider: config.presignedUrlProvider,\n ...(config.region !== undefined ? { region: config.region } : {}),\n ...(endpoint !== undefined ? { endpoint } : {}),\n ...(config.defaultContentType !== undefined\n ? { defaultContentType: config.defaultContentType }\n : {}),\n ...(config.keyPrefix !== undefined ? { keyPrefix: config.keyPrefix } : {}),\n }\n}\n\nexport function redactAliyunConfig(config: AliyunConfig): AliyunConfigRedacted {\n return redactConfigWithSchema(AliyunConfigSchema, config) as unknown as AliyunConfigRedacted\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 ALIYUN_BROWSER_PROMPT = `{prefix}\n Remote Alibaba Cloud OSS 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 — 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,qBAAqB,EAAE,OAAO;AAAA,EAClC,QAAQ,EAAE,OAAO;AAAA,EACjB,sBAAsB;AAAA,IACpB,EAAE,OAAsC,CAAC,UAAU,OAAO,UAAU,UAAU;AAAA,EAChF;AAAA,EACA,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,uBAAuB,QAA0C;AAC/E,MAAI,OAAO,aAAa,UAAa,OAAO,aAAa,GAAI,QAAO,OAAO;AAC3E,MAAI,OAAO,WAAW,UAAa,OAAO,WAAW,IAAI;AACvD,UAAM,SAAS,OAAO;AACtB,WAAO,kBAAkB,MAAM;AAAA,EACjC;AACA,SAAO;AACT;AAEO,SAAS,iBAAiB,QAAgC;AAC/D,QAAM,WAAW,uBAAuB,MAAM;AAC9C,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,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,mBAAmB,QAA4C;AAC7E,SAAO,uBAAuB,oBAAoB,MAAM;AAC1D;;;ACjDO,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;;;AFqB9B,IAAM,iBAAN,cAA6B,WAAW;AAAA,EAC3B,OAAe,aAAa;AAAA,EAC5B,SAAiB;AAAA,EAC1B;AAAA,EACQ;AAAA,EACA;AAAA,EAEjB,YAAY,QAAsB;AAChC,UAAM,iBAAiB,MAAM,CAAC;AAC9B,SAAK,eAAe;AACpB,SAAK,YAAY,iBAAiB,MAAM,IAAI,GAAG,aAAa,MAAM;AAClE,SAAK,iBAAiB,sBAAsB,MAAM,SAAS,GAAG,aAAa,MAAM;AAAA,EACnF;AAAA,EAES,MAA+B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,mBAAmB,KAAK,YAAY;AAAA,IAC9C,CAAC;AAAA,EACH;AAAA,EAES,UAAU,QAA4C;AAC7D,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -1,95 +0,0 @@
1
- import {
2
- S3Resource
3
- } from "./chunk-BGA2F226.js";
4
-
5
- // src/resource/r2/r2.ts
6
- import {
7
- remapCommandsResource,
8
- remapOpsResource,
9
- ResourceName
10
- } from "@struktoai/mirage-core";
11
-
12
- // src/resource/r2/config.ts
13
- import {
14
- redactConfigWithSchema,
15
- secretSchema,
16
- z
17
- } from "@struktoai/mirage-core";
18
- var R2ConfigSchema = z.object({
19
- bucket: z.string(),
20
- presignedUrlProvider: secretSchema(
21
- z.custom((value) => typeof value === "function")
22
- ),
23
- accountId: 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 resolvedR2Endpoint(config) {
30
- if (config.endpoint !== void 0 && config.endpoint !== "") return config.endpoint;
31
- if (config.accountId !== void 0 && config.accountId !== "") {
32
- return `https://${config.accountId}.r2.cloudflarestorage.com`;
33
- }
34
- return void 0;
35
- }
36
- function r2ToS3Config(config) {
37
- const endpoint = resolvedR2Endpoint(config);
38
- return {
39
- bucket: config.bucket,
40
- presignedUrlProvider: config.presignedUrlProvider,
41
- region: config.region ?? "auto",
42
- ...endpoint !== void 0 ? { endpoint } : {},
43
- ...config.defaultContentType !== void 0 ? { defaultContentType: config.defaultContentType } : {},
44
- ...config.keyPrefix !== void 0 ? { keyPrefix: config.keyPrefix } : {}
45
- };
46
- }
47
- function redactR2Config(config) {
48
- return redactConfigWithSchema(R2ConfigSchema, config);
49
- }
50
-
51
- // src/resource/r2/prompt.ts
52
- var R2_BROWSER_PROMPT = `{prefix}
53
- Remote Cloudflare R2 bucket accessed via presigned URLs (browser runtime).
54
- Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.
55
- Listing operations require the presigner to sign LIST/COPY operations in
56
- addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.`;
57
-
58
- // src/resource/r2/r2.ts
59
- var R2Resource = class extends S3Resource {
60
- kind = ResourceName.R2;
61
- prompt = R2_BROWSER_PROMPT;
62
- r2Config;
63
- r2Ops;
64
- r2Commands;
65
- constructor(config) {
66
- super(r2ToS3Config(config));
67
- this.r2Config = config;
68
- this.r2Ops = remapOpsResource(super.ops(), ResourceName.R2);
69
- this.r2Commands = remapCommandsResource(super.commands(), ResourceName.R2);
70
- }
71
- ops() {
72
- return this.r2Ops;
73
- }
74
- commands() {
75
- return this.r2Commands;
76
- }
77
- getState() {
78
- return Promise.resolve({
79
- type: this.kind,
80
- config: redactR2Config(this.r2Config)
81
- });
82
- }
83
- loadState(_state) {
84
- return Promise.resolve();
85
- }
86
- };
87
-
88
- export {
89
- resolvedR2Endpoint,
90
- r2ToS3Config,
91
- redactR2Config,
92
- R2_BROWSER_PROMPT,
93
- R2Resource
94
- };
95
- //# sourceMappingURL=chunk-EN6TZYT2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/r2/r2.ts","../src/resource/r2/config.ts","../src/resource/r2/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 { r2ToS3Config, redactR2Config, type R2Config, type R2ConfigRedacted } from './config.ts'\nimport { R2_BROWSER_PROMPT } from './prompt.ts'\n\nexport interface R2ResourceState {\n type: string\n config: R2ConfigRedacted\n}\n\nexport class R2Resource extends S3Resource {\n override readonly kind: string = ResourceName.R2\n override readonly prompt: string = R2_BROWSER_PROMPT\n readonly r2Config: R2Config\n private readonly r2Ops: readonly RegisteredOp[]\n private readonly r2Commands: readonly RegisteredCommand[]\n\n constructor(config: R2Config) {\n super(r2ToS3Config(config))\n this.r2Config = config\n this.r2Ops = remapOpsResource(super.ops(), ResourceName.R2)\n this.r2Commands = remapCommandsResource(super.commands(), ResourceName.R2)\n }\n\n override ops(): readonly RegisteredOp[] {\n return this.r2Ops\n }\n\n override commands(): readonly RegisteredCommand[] {\n return this.r2Commands\n }\n\n override getState(): Promise<R2ResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactR2Config(this.r2Config),\n })\n }\n\n override loadState(_state: R2ResourceState): 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 R2ConfigSchema = z.object({\n bucket: z.string(),\n presignedUrlProvider: secretSchema(\n z.custom<S3BrowserPresignedUrlProvider>((value) => typeof value === 'function'),\n ),\n accountId: 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 R2Config = ConfigOf<typeof R2ConfigSchema>\n\nexport type R2ConfigRedacted = RedactedConfig<R2Config, 'presignedUrlProvider'>\n\nexport function resolvedR2Endpoint(config: R2Config): string | undefined {\n if (config.endpoint !== undefined && config.endpoint !== '') return config.endpoint\n if (config.accountId !== undefined && config.accountId !== '') {\n return `https://${config.accountId}.r2.cloudflarestorage.com`\n }\n return undefined\n}\n\nexport function r2ToS3Config(config: R2Config): S3Config {\n const endpoint = resolvedR2Endpoint(config)\n return {\n bucket: config.bucket,\n presignedUrlProvider: config.presignedUrlProvider,\n region: config.region ?? 'auto',\n ...(endpoint !== undefined ? { endpoint } : {}),\n ...(config.defaultContentType !== undefined\n ? { defaultContentType: config.defaultContentType }\n : {}),\n ...(config.keyPrefix !== undefined ? { keyPrefix: config.keyPrefix } : {}),\n }\n}\n\nexport function redactR2Config(config: R2Config): R2ConfigRedacted {\n return redactConfigWithSchema(R2ConfigSchema, config) as unknown as R2ConfigRedacted\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 R2_BROWSER_PROMPT = `{prefix}\n Remote Cloudflare R2 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,iBAAiB,EAAE,OAAO;AAAA,EAC9B,QAAQ,EAAE,OAAO;AAAA,EACjB,sBAAsB;AAAA,IACpB,EAAE,OAAsC,CAAC,UAAU,OAAO,UAAU,UAAU;AAAA,EAChF;AAAA,EACA,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,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,mBAAmB,QAAsC;AACvE,MAAI,OAAO,aAAa,UAAa,OAAO,aAAa,GAAI,QAAO,OAAO;AAC3E,MAAI,OAAO,cAAc,UAAa,OAAO,cAAc,IAAI;AAC7D,WAAO,WAAW,OAAO,SAAS;AAAA,EACpC;AACA,SAAO;AACT;AAEO,SAAS,aAAa,QAA4B;AACvD,QAAM,WAAW,mBAAmB,MAAM;AAC1C,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,sBAAsB,OAAO;AAAA,IAC7B,QAAQ,OAAO,UAAU;AAAA,IACzB,GAAI,aAAa,SAAY,EAAE,SAAS,IAAI,CAAC;AAAA,IAC7C,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,eAAe,QAAoC;AACjE,SAAO,uBAAuB,gBAAgB,MAAM;AACtD;;;ACjDO,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;;;AFgB1B,IAAM,aAAN,cAAyB,WAAW;AAAA,EACvB,OAAe,aAAa;AAAA,EAC5B,SAAiB;AAAA,EAC1B;AAAA,EACQ;AAAA,EACA;AAAA,EAEjB,YAAY,QAAkB;AAC5B,UAAM,aAAa,MAAM,CAAC;AAC1B,SAAK,WAAW;AAChB,SAAK,QAAQ,iBAAiB,MAAM,IAAI,GAAG,aAAa,EAAE;AAC1D,SAAK,aAAa,sBAAsB,MAAM,SAAS,GAAG,aAAa,EAAE;AAAA,EAC3E;AAAA,EAES,MAA+B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAqC;AAC5C,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,eAAe,KAAK,QAAQ;AAAA,IACtC,CAAC;AAAA,EACH;AAAA,EAES,UAAU,QAAwC;AACzD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -1,85 +0,0 @@
1
- import {
2
- S3Resource
3
- } from "./chunk-BGA2F226.js";
4
-
5
- // src/resource/seaweedfs/seaweedfs.ts
6
- import {
7
- remapCommandsResource,
8
- remapOpsResource,
9
- ResourceName
10
- } from "@struktoai/mirage-core";
11
-
12
- // src/resource/seaweedfs/config.ts
13
- import {
14
- redactConfigWithSchema,
15
- secretSchema,
16
- z
17
- } from "@struktoai/mirage-core";
18
- var SeaweedFSConfigSchema = z.object({
19
- bucket: z.string(),
20
- presignedUrlProvider: secretSchema(
21
- z.custom((value) => typeof value === "function")
22
- ),
23
- endpoint: z.string().optional(),
24
- region: z.string().optional(),
25
- defaultContentType: z.string().optional(),
26
- keyPrefix: z.string().optional()
27
- });
28
- function seaweedfsToS3Config(config) {
29
- return {
30
- bucket: config.bucket,
31
- presignedUrlProvider: config.presignedUrlProvider,
32
- ...config.region !== void 0 ? { region: config.region } : {},
33
- ...config.endpoint !== void 0 ? { endpoint: config.endpoint } : {},
34
- ...config.defaultContentType !== void 0 ? { defaultContentType: config.defaultContentType } : {},
35
- ...config.keyPrefix !== void 0 ? { keyPrefix: config.keyPrefix } : {}
36
- };
37
- }
38
- function redactSeaweedFSConfig(config) {
39
- return redactConfigWithSchema(SeaweedFSConfigSchema, config);
40
- }
41
-
42
- // src/resource/seaweedfs/prompt.ts
43
- var SEAWEEDFS_BROWSER_PROMPT = `{prefix}
44
- Remote SeaweedFS bucket (S3-compatible gateway) accessed via presigned URLs (browser runtime).
45
- Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.
46
- Listing operations require the presigner to sign LIST/COPY operations in
47
- addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.`;
48
-
49
- // src/resource/seaweedfs/seaweedfs.ts
50
- var SeaweedFSResource = class extends S3Resource {
51
- kind = ResourceName.SEAWEEDFS;
52
- prompt = SEAWEEDFS_BROWSER_PROMPT;
53
- seaweedfsConfig;
54
- seaweedfsOps;
55
- seaweedfsCommands;
56
- constructor(config) {
57
- super(seaweedfsToS3Config(config));
58
- this.seaweedfsConfig = config;
59
- this.seaweedfsOps = remapOpsResource(super.ops(), ResourceName.SEAWEEDFS);
60
- this.seaweedfsCommands = remapCommandsResource(super.commands(), ResourceName.SEAWEEDFS);
61
- }
62
- ops() {
63
- return this.seaweedfsOps;
64
- }
65
- commands() {
66
- return this.seaweedfsCommands;
67
- }
68
- getState() {
69
- return Promise.resolve({
70
- type: this.kind,
71
- config: redactSeaweedFSConfig(this.seaweedfsConfig)
72
- });
73
- }
74
- loadState(_state) {
75
- return Promise.resolve();
76
- }
77
- };
78
-
79
- export {
80
- seaweedfsToS3Config,
81
- redactSeaweedFSConfig,
82
- SEAWEEDFS_BROWSER_PROMPT,
83
- SeaweedFSResource
84
- };
85
- //# sourceMappingURL=chunk-FTDVV7EQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/seaweedfs/seaweedfs.ts","../src/resource/seaweedfs/config.ts","../src/resource/seaweedfs/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 redactSeaweedFSConfig,\n seaweedfsToS3Config,\n type SeaweedFSConfig,\n type SeaweedFSConfigRedacted,\n} from './config.ts'\nimport { SEAWEEDFS_BROWSER_PROMPT } from './prompt.ts'\n\nexport interface SeaweedFSResourceState {\n type: string\n config: SeaweedFSConfigRedacted\n}\n\nexport class SeaweedFSResource extends S3Resource {\n override readonly kind: string = ResourceName.SEAWEEDFS\n override readonly prompt: string = SEAWEEDFS_BROWSER_PROMPT\n readonly seaweedfsConfig: SeaweedFSConfig\n private readonly seaweedfsOps: readonly RegisteredOp[]\n private readonly seaweedfsCommands: readonly RegisteredCommand[]\n\n constructor(config: SeaweedFSConfig) {\n super(seaweedfsToS3Config(config))\n this.seaweedfsConfig = config\n this.seaweedfsOps = remapOpsResource(super.ops(), ResourceName.SEAWEEDFS)\n this.seaweedfsCommands = remapCommandsResource(super.commands(), ResourceName.SEAWEEDFS)\n }\n\n override ops(): readonly RegisteredOp[] {\n return this.seaweedfsOps\n }\n\n override commands(): readonly RegisteredCommand[] {\n return this.seaweedfsCommands\n }\n\n override getState(): Promise<SeaweedFSResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactSeaweedFSConfig(this.seaweedfsConfig),\n })\n }\n\n override loadState(_state: SeaweedFSResourceState): 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 SeaweedFSConfigSchema = z.object({\n bucket: z.string(),\n presignedUrlProvider: secretSchema(\n z.custom<S3BrowserPresignedUrlProvider>((value) => typeof value === 'function'),\n ),\n endpoint: z.string().optional(),\n region: z.string().optional(),\n defaultContentType: z.string().optional(),\n keyPrefix: z.string().optional(),\n})\n\nexport type SeaweedFSConfig = ConfigOf<typeof SeaweedFSConfigSchema>\n\nexport type SeaweedFSConfigRedacted = RedactedConfig<SeaweedFSConfig, 'presignedUrlProvider'>\n\nexport function seaweedfsToS3Config(config: SeaweedFSConfig): S3Config {\n return {\n bucket: config.bucket,\n presignedUrlProvider: config.presignedUrlProvider,\n ...(config.region !== undefined ? { region: config.region } : {}),\n ...(config.endpoint !== undefined ? { endpoint: config.endpoint } : {}),\n ...(config.defaultContentType !== undefined\n ? { defaultContentType: config.defaultContentType }\n : {}),\n ...(config.keyPrefix !== undefined ? { keyPrefix: config.keyPrefix } : {}),\n }\n}\n\nexport function redactSeaweedFSConfig(config: SeaweedFSConfig): SeaweedFSConfigRedacted {\n return redactConfigWithSchema(SeaweedFSConfigSchema, config) as unknown as SeaweedFSConfigRedacted\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 SEAWEEDFS_BROWSER_PROMPT = `{prefix}\n Remote SeaweedFS bucket (S3-compatible gateway) 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,wBAAwB,EAAE,OAAO;AAAA,EACrC,QAAQ,EAAE,OAAO;AAAA,EACjB,sBAAsB;AAAA,IACpB,EAAE,OAAsC,CAAC,UAAU,OAAO,UAAU,UAAU;AAAA,EAChF;AAAA,EACA,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,oBAAoB,EAAE,OAAO,EAAE,SAAS;AAAA,EACxC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAMM,SAAS,oBAAoB,QAAmC;AACrE,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,OAAO,aAAa,SAAY,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC;AAAA,IACrE,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,sBAAsB,QAAkD;AACtF,SAAO,uBAAuB,uBAAuB,MAAM;AAC7D;;;ACvCO,IAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA;;;AFqBjC,IAAM,oBAAN,cAAgC,WAAW;AAAA,EAC9B,OAAe,aAAa;AAAA,EAC5B,SAAiB;AAAA,EAC1B;AAAA,EACQ;AAAA,EACA;AAAA,EAEjB,YAAY,QAAyB;AACnC,UAAM,oBAAoB,MAAM,CAAC;AACjC,SAAK,kBAAkB;AACvB,SAAK,eAAe,iBAAiB,MAAM,IAAI,GAAG,aAAa,SAAS;AACxE,SAAK,oBAAoB,sBAAsB,MAAM,SAAS,GAAG,aAAa,SAAS;AAAA,EACzF;AAAA,EAES,MAA+B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAA4C;AACnD,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,sBAAsB,KAAK,eAAe;AAAA,IACpD,CAAC;AAAA,EACH;AAAA,EAES,UAAU,QAA+C;AAChE,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -1,95 +0,0 @@
1
- import {
2
- S3Resource
3
- } from "./chunk-BGA2F226.js";
4
-
5
- // src/resource/tencent/tencent.ts
6
- import {
7
- remapCommandsResource,
8
- remapOpsResource,
9
- ResourceName
10
- } from "@struktoai/mirage-core";
11
-
12
- // src/resource/tencent/config.ts
13
- import {
14
- redactConfigWithSchema,
15
- secretSchema,
16
- z
17
- } from "@struktoai/mirage-core";
18
- var TencentConfigSchema = z.object({
19
- bucket: z.string(),
20
- presignedUrlProvider: secretSchema(
21
- z.custom((value) => typeof value === "function")
22
- ),
23
- region: z.string().optional(),
24
- endpoint: z.string().optional(),
25
- defaultContentType: z.string().optional(),
26
- keyPrefix: z.string().optional()
27
- });
28
- function resolvedTencentEndpoint(config) {
29
- if (config.endpoint !== void 0 && config.endpoint !== "") return config.endpoint;
30
- if (config.region !== void 0 && config.region !== "") {
31
- const region = config.region;
32
- return `https://cos.${region}.myqcloud.com`;
33
- }
34
- return void 0;
35
- }
36
- function tencentToS3Config(config) {
37
- const endpoint = resolvedTencentEndpoint(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
- ...config.defaultContentType !== void 0 ? { defaultContentType: config.defaultContentType } : {},
44
- ...config.keyPrefix !== void 0 ? { keyPrefix: config.keyPrefix } : {}
45
- };
46
- }
47
- function redactTencentConfig(config) {
48
- return redactConfigWithSchema(TencentConfigSchema, config);
49
- }
50
-
51
- // src/resource/tencent/prompt.ts
52
- var TENCENT_BROWSER_PROMPT = `{prefix}
53
- Remote Tencent Cloud COS bucket (S3-compatible) accessed via presigned URLs (browser runtime).
54
- Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.
55
- Listing operations require the presigner to sign LIST/COPY operations in
56
- addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.`;
57
-
58
- // src/resource/tencent/tencent.ts
59
- var TencentResource = class extends S3Resource {
60
- kind = ResourceName.TENCENT;
61
- prompt = TENCENT_BROWSER_PROMPT;
62
- tencentConfig;
63
- tencentOps;
64
- tencentCommands;
65
- constructor(config) {
66
- super(tencentToS3Config(config));
67
- this.tencentConfig = config;
68
- this.tencentOps = remapOpsResource(super.ops(), ResourceName.TENCENT);
69
- this.tencentCommands = remapCommandsResource(super.commands(), ResourceName.TENCENT);
70
- }
71
- ops() {
72
- return this.tencentOps;
73
- }
74
- commands() {
75
- return this.tencentCommands;
76
- }
77
- getState() {
78
- return Promise.resolve({
79
- type: this.kind,
80
- config: redactTencentConfig(this.tencentConfig)
81
- });
82
- }
83
- loadState(_state) {
84
- return Promise.resolve();
85
- }
86
- };
87
-
88
- export {
89
- resolvedTencentEndpoint,
90
- tencentToS3Config,
91
- redactTencentConfig,
92
- TENCENT_BROWSER_PROMPT,
93
- TencentResource
94
- };
95
- //# sourceMappingURL=chunk-G67Q2Z6I.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/tencent/tencent.ts","../src/resource/tencent/config.ts","../src/resource/tencent/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 redactTencentConfig,\n tencentToS3Config,\n type TencentConfig,\n type TencentConfigRedacted,\n} from './config.ts'\nimport { TENCENT_BROWSER_PROMPT } from './prompt.ts'\n\nexport interface TencentResourceState {\n type: string\n config: TencentConfigRedacted\n}\n\nexport class TencentResource extends S3Resource {\n override readonly kind: string = ResourceName.TENCENT\n override readonly prompt: string = TENCENT_BROWSER_PROMPT\n readonly tencentConfig: TencentConfig\n private readonly tencentOps: readonly RegisteredOp[]\n private readonly tencentCommands: readonly RegisteredCommand[]\n\n constructor(config: TencentConfig) {\n super(tencentToS3Config(config))\n this.tencentConfig = config\n this.tencentOps = remapOpsResource(super.ops(), ResourceName.TENCENT)\n this.tencentCommands = remapCommandsResource(super.commands(), ResourceName.TENCENT)\n }\n\n override ops(): readonly RegisteredOp[] {\n return this.tencentOps\n }\n\n override commands(): readonly RegisteredCommand[] {\n return this.tencentCommands\n }\n\n override getState(): Promise<TencentResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactTencentConfig(this.tencentConfig),\n })\n }\n\n override loadState(_state: TencentResourceState): 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 TencentConfigSchema = z.object({\n bucket: z.string(),\n presignedUrlProvider: secretSchema(\n z.custom<S3BrowserPresignedUrlProvider>((value) => typeof value === 'function'),\n ),\n region: z.string().optional(),\n endpoint: z.string().optional(),\n defaultContentType: z.string().optional(),\n keyPrefix: z.string().optional(),\n})\n\nexport type TencentConfig = ConfigOf<typeof TencentConfigSchema>\n\nexport type TencentConfigRedacted = RedactedConfig<TencentConfig, 'presignedUrlProvider'>\n\nexport function resolvedTencentEndpoint(config: TencentConfig): string | undefined {\n if (config.endpoint !== undefined && config.endpoint !== '') return config.endpoint\n if (config.region !== undefined && config.region !== '') {\n const region = config.region\n return `https://cos.${region}.myqcloud.com`\n }\n return undefined\n}\n\nexport function tencentToS3Config(config: TencentConfig): S3Config {\n const endpoint = resolvedTencentEndpoint(config)\n return {\n bucket: config.bucket,\n presignedUrlProvider: config.presignedUrlProvider,\n ...(config.region !== undefined ? { region: config.region } : {}),\n ...(endpoint !== undefined ? { endpoint } : {}),\n ...(config.defaultContentType !== undefined\n ? { defaultContentType: config.defaultContentType }\n : {}),\n ...(config.keyPrefix !== undefined ? { keyPrefix: config.keyPrefix } : {}),\n }\n}\n\nexport function redactTencentConfig(config: TencentConfig): TencentConfigRedacted {\n return redactConfigWithSchema(TencentConfigSchema, config) as unknown as TencentConfigRedacted\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 TENCENT_BROWSER_PROMPT = `{prefix}\n Remote Tencent Cloud COS 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 — 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,sBAAsB,EAAE,OAAO;AAAA,EACnC,QAAQ,EAAE,OAAO;AAAA,EACjB,sBAAsB;AAAA,IACpB,EAAE,OAAsC,CAAC,UAAU,OAAO,UAAU,UAAU;AAAA,EAChF;AAAA,EACA,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,wBAAwB,QAA2C;AACjF,MAAI,OAAO,aAAa,UAAa,OAAO,aAAa,GAAI,QAAO,OAAO;AAC3E,MAAI,OAAO,WAAW,UAAa,OAAO,WAAW,IAAI;AACvD,UAAM,SAAS,OAAO;AACtB,WAAO,eAAe,MAAM;AAAA,EAC9B;AACA,SAAO;AACT;AAEO,SAAS,kBAAkB,QAAiC;AACjE,QAAM,WAAW,wBAAwB,MAAM;AAC/C,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,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,oBAAoB,QAA8C;AAChF,SAAO,uBAAuB,qBAAqB,MAAM;AAC3D;;;ACjDO,IAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;;;AFqB/B,IAAM,kBAAN,cAA8B,WAAW;AAAA,EAC5B,OAAe,aAAa;AAAA,EAC5B,SAAiB;AAAA,EAC1B;AAAA,EACQ;AAAA,EACA;AAAA,EAEjB,YAAY,QAAuB;AACjC,UAAM,kBAAkB,MAAM,CAAC;AAC/B,SAAK,gBAAgB;AACrB,SAAK,aAAa,iBAAiB,MAAM,IAAI,GAAG,aAAa,OAAO;AACpE,SAAK,kBAAkB,sBAAsB,MAAM,SAAS,GAAG,aAAa,OAAO;AAAA,EACrF;AAAA,EAES,MAA+B;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAAyC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAES,WAA0C;AACjD,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,oBAAoB,KAAK,aAAa;AAAA,IAChD,CAAC;AAAA,EACH;AAAA,EAES,UAAU,QAA6C;AAC9D,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}
@@ -1,85 +0,0 @@
1
- import {
2
- redactGoogleConfig
3
- } from "./chunk-M2UF2JHJ.js";
4
-
5
- // src/resource/gsheets/gsheets.ts
6
- import { mountKey, mountPrefixOf } from "@struktoai/mirage-core";
7
- import {
8
- GSHEETS_COMMANDS,
9
- GSHEETS_PROMPT,
10
- GSHEETS_OPS,
11
- GSHEETS_WRITE_PROMPT,
12
- GSheetsAccessor,
13
- PathSpec,
14
- RAMIndexCacheStore,
15
- ResourceName,
16
- TokenManager,
17
- gsheetsRead,
18
- gsheetsReaddir,
19
- makeResolveGlob,
20
- gsheetsStat
21
- } from "@struktoai/mirage-core";
22
- var gsheetsResolveGlob = makeResolveGlob(gsheetsReaddir);
23
- var GSheetsResource = class {
24
- kind = ResourceName.GSHEETS;
25
- cachesReads = true;
26
- indexTtl = 86400;
27
- prompt = GSHEETS_PROMPT;
28
- writePrompt = GSHEETS_WRITE_PROMPT;
29
- config;
30
- accessor;
31
- index;
32
- constructor(config) {
33
- this.config = config;
34
- const tm = new TokenManager(config);
35
- this.accessor = new GSheetsAccessor({ tokenManager: tm });
36
- this.index = new RAMIndexCacheStore({ ttl: 86400 });
37
- }
38
- open() {
39
- return Promise.resolve();
40
- }
41
- close() {
42
- return Promise.resolve();
43
- }
44
- commands() {
45
- return GSHEETS_COMMANDS;
46
- }
47
- ops() {
48
- return GSHEETS_OPS;
49
- }
50
- readFile(p) {
51
- return gsheetsRead(this.accessor, p, this.index);
52
- }
53
- readdir(p) {
54
- return gsheetsReaddir(this.accessor, p, this.index);
55
- }
56
- stat(p) {
57
- return gsheetsStat(this.accessor, p, this.index);
58
- }
59
- glob(paths, prefix = "") {
60
- const effective = prefix !== "" ? paths.map(
61
- (p) => mountPrefixOf(p.virtual, p.resourcePath) !== "" ? p : new PathSpec({
62
- virtual: p.virtual,
63
- directory: p.directory,
64
- ...p.pattern !== null ? { pattern: p.pattern } : {},
65
- resolved: p.resolved,
66
- resourcePath: mountKey(p.virtual, prefix)
67
- })
68
- ) : paths;
69
- return gsheetsResolveGlob(this.accessor, effective, this.index);
70
- }
71
- getState() {
72
- return Promise.resolve({
73
- type: this.kind,
74
- config: redactGoogleConfig(this.config)
75
- });
76
- }
77
- loadState(_state) {
78
- return Promise.resolve();
79
- }
80
- };
81
-
82
- export {
83
- GSheetsResource
84
- };
85
- //# sourceMappingURL=chunk-GM2QMJAY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resource/gsheets/gsheets.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 GSHEETS_COMMANDS,\n GSHEETS_PROMPT,\n GSHEETS_OPS,\n GSHEETS_WRITE_PROMPT,\n GSheetsAccessor,\n type IndexCacheStore,\n PathSpec,\n RAMIndexCacheStore,\n type RegisteredCommand,\n type RegisteredOp,\n type Resource,\n ResourceName,\n TokenManager,\n gsheetsRead,\n gsheetsReaddir,\n makeResolveGlob,\n gsheetsStat,\n} from '@struktoai/mirage-core'\nimport { redactGSheetsConfig, type GSheetsConfig, type GSheetsConfigRedacted } from './config.ts'\n\nconst gsheetsResolveGlob = makeResolveGlob(gsheetsReaddir)\n\nexport interface GSheetsResourceState {\n type: string\n config: GSheetsConfigRedacted\n}\n\nexport class GSheetsResource implements Resource {\n readonly kind: string = ResourceName.GSHEETS\n readonly cachesReads: boolean = true\n readonly indexTtl: number = 86_400\n readonly prompt: string = GSHEETS_PROMPT\n readonly writePrompt: string = GSHEETS_WRITE_PROMPT\n readonly config: GSheetsConfig\n readonly accessor: GSheetsAccessor\n readonly index: IndexCacheStore\n\n constructor(config: GSheetsConfig) {\n this.config = config\n const tm = new TokenManager(config)\n this.accessor = new GSheetsAccessor({ tokenManager: tm })\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 GSHEETS_COMMANDS\n }\n\n ops(): readonly RegisteredOp[] {\n return GSHEETS_OPS\n }\n\n readFile(p: PathSpec): Promise<Uint8Array> {\n return gsheetsRead(this.accessor, p, this.index)\n }\n\n readdir(p: PathSpec): Promise<string[]> {\n return gsheetsReaddir(this.accessor, p, this.index)\n }\n\n stat(p: PathSpec): Promise<FileStat> {\n return gsheetsStat(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 gsheetsResolveGlob(this.accessor, effective, this.index)\n }\n\n getState(): Promise<GSheetsResourceState> {\n return Promise.resolve({\n type: this.kind,\n config: redactGSheetsConfig(this.config),\n })\n }\n\n loadState(_state: GSheetsResourceState): 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,EACA;AAAA,OACK;AAGP,IAAM,qBAAqB,gBAAgB,cAAc;AAOlD,IAAM,kBAAN,MAA0C;AAAA,EACtC,OAAe,aAAa;AAAA,EAC5B,cAAuB;AAAA,EACvB,WAAmB;AAAA,EACnB,SAAiB;AAAA,EACjB,cAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,QAAuB;AACjC,SAAK,SAAS;AACd,UAAM,KAAK,IAAI,aAAa,MAAM;AAClC,SAAK,WAAW,IAAI,gBAAgB,EAAE,cAAc,GAAG,CAAC;AACxD,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,YAAY,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACjD;AAAA,EAEA,QAAQ,GAAgC;AACtC,WAAO,eAAe,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACpD;AAAA,EAEA,KAAK,GAAgC;AACnC,WAAO,YAAY,KAAK,UAAU,GAAG,KAAK,KAAK;AAAA,EACjD;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,mBAAmB,KAAK,UAAU,WAAW,KAAK,KAAK;AAAA,EAChE;AAAA,EAEA,WAA0C;AACxC,WAAO,QAAQ,QAAQ;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,QAAQ,mBAAoB,KAAK,MAAM;AAAA,IACzC,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,QAA6C;AACrD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AACF;","names":[]}