@struktoai/mirage-browser 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/README.md +138 -80
  2. package/dist/accessor/opfs.d.ts +10 -0
  3. package/dist/accessor/opfs.d.ts.map +1 -0
  4. package/dist/accessor/opfs.js +25 -0
  5. package/dist/accessor/opfs.js.map +1 -0
  6. package/dist/commands/builtin/opfs/index.d.ts +3 -0
  7. package/dist/commands/builtin/opfs/index.d.ts.map +1 -0
  8. package/dist/commands/builtin/opfs/index.js +20 -0
  9. package/dist/commands/builtin/opfs/index.js.map +1 -0
  10. package/dist/commands/builtin/opfs/io.d.ts +4 -0
  11. package/dist/commands/builtin/opfs/io.d.ts.map +1 -0
  12. package/dist/commands/builtin/opfs/io.js +56 -0
  13. package/dist/commands/builtin/opfs/io.js.map +1 -0
  14. package/dist/core/opfs/append.d.ts +4 -0
  15. package/dist/core/opfs/append.d.ts.map +1 -0
  16. package/dist/core/opfs/append.js +38 -0
  17. package/dist/core/opfs/append.js.map +1 -0
  18. package/dist/core/opfs/constants.d.ts +3 -0
  19. package/dist/core/opfs/constants.d.ts.map +1 -0
  20. package/dist/core/opfs/constants.js +16 -0
  21. package/dist/core/opfs/constants.js.map +1 -0
  22. package/dist/core/opfs/copy.d.ts +4 -0
  23. package/dist/core/opfs/copy.d.ts.map +1 -0
  24. package/dist/core/opfs/copy.js +40 -0
  25. package/dist/core/opfs/copy.js.map +1 -0
  26. package/dist/core/opfs/create.d.ts +4 -0
  27. package/dist/core/opfs/create.d.ts.map +1 -0
  28. package/dist/core/opfs/create.js +18 -0
  29. package/dist/core/opfs/create.js.map +1 -0
  30. package/dist/core/opfs/du/entries.d.ts +4 -0
  31. package/dist/core/opfs/du/entries.d.ts.map +1 -0
  32. package/dist/core/opfs/du/entries.js +56 -0
  33. package/dist/core/opfs/du/entries.js.map +1 -0
  34. package/dist/core/opfs/du/index.d.ts +3 -0
  35. package/dist/core/opfs/du/index.d.ts.map +1 -0
  36. package/dist/core/opfs/du/index.js +16 -0
  37. package/dist/core/opfs/du/index.js.map +1 -0
  38. package/dist/core/opfs/du/size.d.ts +4 -0
  39. package/dist/core/opfs/du/size.d.ts.map +1 -0
  40. package/dist/core/opfs/du/size.js +18 -0
  41. package/dist/core/opfs/du/size.js.map +1 -0
  42. package/dist/core/opfs/du/walk.d.ts +3 -0
  43. package/dist/core/opfs/du/walk.d.ts.map +1 -0
  44. package/dist/core/opfs/du/walk.js +98 -0
  45. package/dist/core/opfs/du/walk.js.map +1 -0
  46. package/dist/core/opfs/entry.d.ts +11 -0
  47. package/dist/core/opfs/entry.d.ts.map +1 -0
  48. package/dist/core/opfs/entry.js +42 -0
  49. package/dist/core/opfs/entry.js.map +1 -0
  50. package/dist/core/opfs/exists.d.ts +4 -0
  51. package/dist/core/opfs/exists.d.ts.map +1 -0
  52. package/dist/core/opfs/exists.js +64 -0
  53. package/dist/core/opfs/exists.js.map +1 -0
  54. package/dist/core/opfs/find.d.ts +21 -0
  55. package/dist/core/opfs/find.d.ts.map +1 -0
  56. package/dist/core/opfs/find.js +154 -0
  57. package/dist/core/opfs/find.js.map +1 -0
  58. package/dist/core/opfs/mkdir.d.ts +4 -0
  59. package/dist/core/opfs/mkdir.d.ts.map +1 -0
  60. package/dist/core/opfs/mkdir.js +64 -0
  61. package/dist/core/opfs/mkdir.js.map +1 -0
  62. package/dist/core/opfs/read.d.ts +22 -0
  63. package/dist/core/opfs/read.d.ts.map +1 -0
  64. package/dist/core/opfs/read.js +57 -0
  65. package/dist/core/opfs/read.js.map +1 -0
  66. package/dist/core/opfs/readdir.d.ts +4 -0
  67. package/dist/core/opfs/readdir.d.ts.map +1 -0
  68. package/dist/core/opfs/readdir.js +50 -0
  69. package/dist/core/opfs/readdir.js.map +1 -0
  70. package/dist/core/opfs/rename.d.ts +4 -0
  71. package/dist/core/opfs/rename.d.ts.map +1 -0
  72. package/dist/core/opfs/rename.js +97 -0
  73. package/dist/core/opfs/rename.js.map +1 -0
  74. package/dist/core/opfs/rm.d.ts +4 -0
  75. package/dist/core/opfs/rm.d.ts.map +1 -0
  76. package/dist/core/opfs/rm.js +40 -0
  77. package/dist/core/opfs/rm.js.map +1 -0
  78. package/dist/core/opfs/rmdir.d.ts +4 -0
  79. package/dist/core/opfs/rmdir.d.ts.map +1 -0
  80. package/dist/core/opfs/rmdir.js +48 -0
  81. package/dist/core/opfs/rmdir.js.map +1 -0
  82. package/dist/core/opfs/stat.d.ts +5 -0
  83. package/dist/core/opfs/stat.d.ts.map +1 -0
  84. package/dist/core/opfs/stat.js +88 -0
  85. package/dist/core/opfs/stat.js.map +1 -0
  86. package/dist/core/opfs/stream.d.ts +4 -0
  87. package/dist/core/opfs/stream.d.ts.map +1 -0
  88. package/dist/core/opfs/stream.js +44 -0
  89. package/dist/core/opfs/stream.js.map +1 -0
  90. package/dist/core/opfs/truncate.d.ts +4 -0
  91. package/dist/core/opfs/truncate.d.ts.map +1 -0
  92. package/dist/core/opfs/truncate.js +49 -0
  93. package/dist/core/opfs/truncate.js.map +1 -0
  94. package/dist/core/opfs/unlink.d.ts +4 -0
  95. package/dist/core/opfs/unlink.d.ts.map +1 -0
  96. package/dist/core/opfs/unlink.js +40 -0
  97. package/dist/core/opfs/unlink.js.map +1 -0
  98. package/dist/core/opfs/utils.d.ts +20 -0
  99. package/dist/core/opfs/utils.d.ts.map +1 -0
  100. package/dist/core/opfs/utils.js +149 -0
  101. package/dist/core/opfs/utils.js.map +1 -0
  102. package/dist/core/opfs/write.d.ts +4 -0
  103. package/dist/core/opfs/write.d.ts.map +1 -0
  104. package/dist/core/opfs/write.js +33 -0
  105. package/dist/core/opfs/write.js.map +1 -0
  106. package/dist/generated/wasm.d.ts +3 -0
  107. package/dist/generated/wasm.d.ts.map +1 -0
  108. package/dist/generated/wasm.js +4 -0
  109. package/dist/generated/wasm.js.map +1 -0
  110. package/dist/index.d.ts +118 -1246
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +130 -698
  113. package/dist/index.js.map +1 -1
  114. package/dist/ops/opfs/index.d.ts +3 -0
  115. package/dist/ops/opfs/index.d.ts.map +1 -0
  116. package/dist/ops/opfs/index.js +23 -0
  117. package/dist/ops/opfs/index.js.map +1 -0
  118. package/dist/resource/aliyun/aliyun.d.ts +8 -0
  119. package/dist/resource/aliyun/aliyun.d.ts.map +1 -0
  120. package/dist/resource/aliyun/aliyun.js +24 -0
  121. package/dist/resource/aliyun/aliyun.js.map +1 -0
  122. package/dist/resource/aliyun/config.d.ts +17 -0
  123. package/dist/resource/aliyun/config.d.ts.map +1 -0
  124. package/dist/resource/aliyun/config.js +24 -0
  125. package/dist/resource/aliyun/config.js.map +1 -0
  126. package/dist/resource/aliyun/prompt.d.ts +2 -0
  127. package/dist/resource/aliyun/prompt.d.ts.map +1 -0
  128. package/dist/resource/aliyun/prompt.js +19 -0
  129. package/dist/resource/aliyun/prompt.js.map +1 -0
  130. package/dist/resource/backblaze/backblaze.d.ts +8 -0
  131. package/dist/resource/backblaze/backblaze.d.ts.map +1 -0
  132. package/dist/resource/backblaze/backblaze.js +24 -0
  133. package/dist/resource/backblaze/backblaze.js.map +1 -0
  134. package/dist/resource/backblaze/config.d.ts +17 -0
  135. package/dist/resource/backblaze/config.d.ts.map +1 -0
  136. package/dist/resource/backblaze/config.js +24 -0
  137. package/dist/resource/backblaze/config.js.map +1 -0
  138. package/dist/resource/backblaze/prompt.d.ts +2 -0
  139. package/dist/resource/backblaze/prompt.d.ts.map +1 -0
  140. package/dist/resource/backblaze/prompt.js +19 -0
  141. package/dist/resource/backblaze/prompt.js.map +1 -0
  142. package/dist/resource/box/box.d.ts +34 -0
  143. package/dist/resource/box/box.d.ts.map +1 -0
  144. package/dist/resource/box/box.js +99 -0
  145. package/dist/resource/box/box.js.map +1 -0
  146. package/dist/resource/box/config.d.ts +41 -0
  147. package/dist/resource/box/config.d.ts.map +1 -0
  148. package/dist/resource/box/config.js +38 -0
  149. package/dist/resource/box/config.js.map +1 -0
  150. package/dist/resource/ceph/ceph.d.ts +8 -0
  151. package/dist/resource/ceph/ceph.d.ts.map +1 -0
  152. package/dist/resource/ceph/ceph.js +24 -0
  153. package/dist/resource/ceph/ceph.js.map +1 -0
  154. package/dist/resource/ceph/config.d.ts +16 -0
  155. package/dist/resource/ceph/config.d.ts.map +1 -0
  156. package/dist/resource/ceph/config.js +22 -0
  157. package/dist/resource/ceph/config.js.map +1 -0
  158. package/dist/resource/ceph/prompt.d.ts +2 -0
  159. package/dist/resource/ceph/prompt.d.ts.map +1 -0
  160. package/dist/resource/ceph/prompt.js +19 -0
  161. package/dist/resource/ceph/prompt.js.map +1 -0
  162. package/dist/resource/digitalocean/config.d.ts +17 -0
  163. package/dist/resource/digitalocean/config.d.ts.map +1 -0
  164. package/dist/resource/digitalocean/config.js +24 -0
  165. package/dist/resource/digitalocean/config.js.map +1 -0
  166. package/dist/resource/digitalocean/digitalocean.d.ts +8 -0
  167. package/dist/resource/digitalocean/digitalocean.d.ts.map +1 -0
  168. package/dist/resource/digitalocean/digitalocean.js +24 -0
  169. package/dist/resource/digitalocean/digitalocean.js.map +1 -0
  170. package/dist/resource/digitalocean/prompt.d.ts +2 -0
  171. package/dist/resource/digitalocean/prompt.d.ts.map +1 -0
  172. package/dist/resource/digitalocean/prompt.js +19 -0
  173. package/dist/resource/digitalocean/prompt.js.map +1 -0
  174. package/dist/resource/discord/config.d.ts +20 -0
  175. package/dist/resource/discord/config.d.ts.map +1 -0
  176. package/dist/resource/discord/config.js +32 -0
  177. package/dist/resource/discord/config.js.map +1 -0
  178. package/dist/resource/discord/discord.d.ts +33 -0
  179. package/dist/resource/discord/discord.d.ts.map +1 -0
  180. package/dist/resource/discord/discord.js +90 -0
  181. package/dist/resource/discord/discord.js.map +1 -0
  182. package/dist/resource/dropbox/config.d.ts +34 -0
  183. package/dist/resource/dropbox/config.d.ts.map +1 -0
  184. package/dist/resource/dropbox/config.js +31 -0
  185. package/dist/resource/dropbox/config.js.map +1 -0
  186. package/dist/resource/dropbox/dropbox.d.ts +34 -0
  187. package/dist/resource/dropbox/dropbox.d.ts.map +1 -0
  188. package/dist/resource/dropbox/dropbox.js +95 -0
  189. package/dist/resource/dropbox/dropbox.js.map +1 -0
  190. package/dist/resource/gcal/gcal.d.ts +32 -0
  191. package/dist/resource/gcal/gcal.d.ts.map +1 -0
  192. package/dist/resource/gcal/gcal.js +87 -0
  193. package/dist/resource/gcal/gcal.js.map +1 -0
  194. package/dist/resource/gcs/config.d.ts +16 -0
  195. package/dist/resource/gcs/config.d.ts.map +1 -0
  196. package/dist/resource/gcs/config.js +24 -0
  197. package/dist/resource/gcs/config.js.map +1 -0
  198. package/dist/resource/gcs/gcs.d.ts +8 -0
  199. package/dist/resource/gcs/gcs.d.ts.map +1 -0
  200. package/dist/resource/gcs/gcs.js +24 -0
  201. package/dist/resource/gcs/gcs.js.map +1 -0
  202. package/dist/resource/gcs/prompt.d.ts +2 -0
  203. package/dist/resource/gcs/prompt.d.ts.map +1 -0
  204. package/dist/resource/gcs/prompt.js +19 -0
  205. package/dist/resource/gcs/prompt.js.map +1 -0
  206. package/dist/resource/gdocs/gdocs.d.ts +32 -0
  207. package/dist/resource/gdocs/gdocs.d.ts.map +1 -0
  208. package/dist/resource/gdocs/gdocs.js +84 -0
  209. package/dist/resource/gdocs/gdocs.js.map +1 -0
  210. package/dist/resource/gdrive/gdrive.d.ts +34 -0
  211. package/dist/resource/gdrive/gdrive.d.ts.map +1 -0
  212. package/dist/resource/gdrive/gdrive.js +89 -0
  213. package/dist/resource/gdrive/gdrive.js.map +1 -0
  214. package/dist/resource/github/github.d.ts +38 -0
  215. package/dist/resource/github/github.d.ts.map +1 -0
  216. package/dist/resource/github/github.js +121 -0
  217. package/dist/resource/github/github.js.map +1 -0
  218. package/dist/resource/gmail/gmail.d.ts +33 -0
  219. package/dist/resource/gmail/gmail.d.ts.map +1 -0
  220. package/dist/resource/gmail/gmail.js +88 -0
  221. package/dist/resource/gmail/gmail.js.map +1 -0
  222. package/dist/resource/gsheets/gsheets.d.ts +32 -0
  223. package/dist/resource/gsheets/gsheets.d.ts.map +1 -0
  224. package/dist/resource/gsheets/gsheets.js +84 -0
  225. package/dist/resource/gsheets/gsheets.js.map +1 -0
  226. package/dist/resource/gslides/gslides.d.ts +32 -0
  227. package/dist/resource/gslides/gslides.d.ts.map +1 -0
  228. package/dist/resource/gslides/gslides.js +84 -0
  229. package/dist/resource/gslides/gslides.js.map +1 -0
  230. package/dist/resource/langfuse/config.d.ts +23 -0
  231. package/dist/resource/langfuse/config.d.ts.map +1 -0
  232. package/dist/resource/langfuse/config.js +36 -0
  233. package/dist/resource/langfuse/config.js.map +1 -0
  234. package/dist/resource/langfuse/langfuse.d.ts +31 -0
  235. package/dist/resource/langfuse/langfuse.d.ts.map +1 -0
  236. package/dist/resource/langfuse/langfuse.js +98 -0
  237. package/dist/resource/langfuse/langfuse.js.map +1 -0
  238. package/dist/resource/linear/linear.d.ts +33 -0
  239. package/dist/resource/linear/linear.d.ts.map +1 -0
  240. package/dist/resource/linear/linear.js +93 -0
  241. package/dist/resource/linear/linear.js.map +1 -0
  242. package/dist/resource/minio/config.d.ts +16 -0
  243. package/dist/resource/minio/config.d.ts.map +1 -0
  244. package/dist/resource/minio/config.js +22 -0
  245. package/dist/resource/minio/config.js.map +1 -0
  246. package/dist/resource/minio/minio.d.ts +8 -0
  247. package/dist/resource/minio/minio.d.ts.map +1 -0
  248. package/dist/resource/minio/minio.js +24 -0
  249. package/dist/resource/minio/minio.js.map +1 -0
  250. package/dist/resource/minio/prompt.d.ts +2 -0
  251. package/dist/resource/minio/prompt.d.ts.map +1 -0
  252. package/dist/resource/minio/prompt.js +19 -0
  253. package/dist/resource/minio/prompt.js.map +1 -0
  254. package/dist/resource/mongodb/http_driver.d.ts +27 -0
  255. package/dist/resource/mongodb/http_driver.d.ts.map +1 -0
  256. package/dist/resource/mongodb/http_driver.js +96 -0
  257. package/dist/resource/mongodb/http_driver.js.map +1 -0
  258. package/dist/resource/mongodb/mongodb.d.ts +41 -0
  259. package/dist/resource/mongodb/mongodb.d.ts.map +1 -0
  260. package/dist/resource/mongodb/mongodb.js +100 -0
  261. package/dist/resource/mongodb/mongodb.js.map +1 -0
  262. package/dist/resource/notion/config.d.ts +20 -0
  263. package/dist/resource/notion/config.d.ts.map +1 -0
  264. package/dist/resource/notion/config.js +32 -0
  265. package/dist/resource/notion/config.js.map +1 -0
  266. package/dist/resource/notion/notion.d.ts +32 -0
  267. package/dist/resource/notion/notion.d.ts.map +1 -0
  268. package/dist/resource/notion/notion.js +86 -0
  269. package/dist/resource/notion/notion.js.map +1 -0
  270. package/dist/resource/oci/config.d.ts +20 -0
  271. package/dist/resource/oci/config.d.ts.map +1 -0
  272. package/dist/resource/oci/config.js +30 -0
  273. package/dist/resource/oci/config.js.map +1 -0
  274. package/dist/resource/oci/oci.d.ts +8 -0
  275. package/dist/resource/oci/oci.d.ts.map +1 -0
  276. package/dist/resource/oci/oci.js +24 -0
  277. package/dist/resource/oci/oci.js.map +1 -0
  278. package/dist/resource/oci/prompt.d.ts +2 -0
  279. package/dist/resource/oci/prompt.d.ts.map +1 -0
  280. package/dist/resource/oci/prompt.js +19 -0
  281. package/dist/resource/oci/prompt.js.map +1 -0
  282. package/dist/resource/opfs/opfs.d.ts +57 -0
  283. package/dist/resource/opfs/opfs.d.ts.map +1 -0
  284. package/dist/resource/opfs/opfs.js +236 -0
  285. package/dist/resource/opfs/opfs.js.map +1 -0
  286. package/dist/resource/opfs/prompt.d.ts +2 -0
  287. package/dist/resource/opfs/prompt.d.ts.map +1 -0
  288. package/dist/resource/opfs/prompt.js +17 -0
  289. package/dist/resource/opfs/prompt.js.map +1 -0
  290. package/dist/resource/postgres/neon_driver.d.ts +8 -0
  291. package/dist/resource/postgres/neon_driver.d.ts.map +1 -0
  292. package/dist/resource/postgres/neon_driver.js +28 -0
  293. package/dist/resource/postgres/neon_driver.js.map +1 -0
  294. package/dist/resource/postgres/postgres.d.ts +40 -0
  295. package/dist/resource/postgres/postgres.d.ts.map +1 -0
  296. package/dist/resource/postgres/postgres.js +98 -0
  297. package/dist/resource/postgres/postgres.js.map +1 -0
  298. package/dist/resource/qingstor/config.d.ts +17 -0
  299. package/dist/resource/qingstor/config.d.ts.map +1 -0
  300. package/dist/resource/qingstor/config.js +24 -0
  301. package/dist/resource/qingstor/config.js.map +1 -0
  302. package/dist/resource/qingstor/prompt.d.ts +2 -0
  303. package/dist/resource/qingstor/prompt.d.ts.map +1 -0
  304. package/dist/resource/qingstor/prompt.js +19 -0
  305. package/dist/resource/qingstor/prompt.js.map +1 -0
  306. package/dist/resource/qingstor/qingstor.d.ts +8 -0
  307. package/dist/resource/qingstor/qingstor.d.ts.map +1 -0
  308. package/dist/resource/qingstor/qingstor.js +24 -0
  309. package/dist/resource/qingstor/qingstor.js.map +1 -0
  310. package/dist/resource/r2/config.d.ts +20 -0
  311. package/dist/resource/r2/config.d.ts.map +1 -0
  312. package/dist/resource/r2/config.js +26 -0
  313. package/dist/resource/r2/config.js.map +1 -0
  314. package/dist/resource/r2/prompt.d.ts +2 -0
  315. package/dist/resource/r2/prompt.d.ts.map +1 -0
  316. package/dist/resource/r2/prompt.js +19 -0
  317. package/dist/resource/r2/prompt.js.map +1 -0
  318. package/dist/resource/r2/r2.d.ts +8 -0
  319. package/dist/resource/r2/r2.d.ts.map +1 -0
  320. package/dist/resource/r2/r2.js +24 -0
  321. package/dist/resource/r2/r2.js.map +1 -0
  322. package/dist/resource/redis/redis.d.ts +17 -0
  323. package/dist/resource/redis/redis.d.ts.map +1 -0
  324. package/dist/resource/redis/redis.js +29 -0
  325. package/dist/resource/redis/redis.js.map +1 -0
  326. package/dist/resource/redis/store.d.ts +75 -0
  327. package/dist/resource/redis/store.d.ts.map +1 -0
  328. package/dist/resource/redis/store.js +378 -0
  329. package/dist/resource/redis/store.js.map +1 -0
  330. package/dist/resource/registry.d.ts +25 -0
  331. package/dist/resource/registry.d.ts.map +1 -0
  332. package/dist/resource/registry.js +274 -0
  333. package/dist/resource/registry.js.map +1 -0
  334. package/dist/resource/s3/config.d.ts +7 -0
  335. package/dist/resource/s3/config.d.ts.map +1 -0
  336. package/dist/resource/s3/config.js +26 -0
  337. package/dist/resource/s3/config.js.map +1 -0
  338. package/dist/resource/s3/s3.d.ts +53 -0
  339. package/dist/resource/s3/s3.d.ts.map +1 -0
  340. package/dist/resource/s3/s3.js +182 -0
  341. package/dist/resource/s3/s3.js.map +1 -0
  342. package/dist/resource/s3_alias.d.ts +113 -0
  343. package/dist/resource/s3_alias.d.ts.map +1 -0
  344. package/dist/resource/s3_alias.js +133 -0
  345. package/dist/resource/s3_alias.js.map +1 -0
  346. package/dist/resource/scaleway/config.d.ts +17 -0
  347. package/dist/resource/scaleway/config.d.ts.map +1 -0
  348. package/dist/resource/scaleway/config.js +24 -0
  349. package/dist/resource/scaleway/config.js.map +1 -0
  350. package/dist/resource/scaleway/prompt.d.ts +2 -0
  351. package/dist/resource/scaleway/prompt.d.ts.map +1 -0
  352. package/dist/resource/scaleway/prompt.js +19 -0
  353. package/dist/resource/scaleway/prompt.js.map +1 -0
  354. package/dist/resource/scaleway/scaleway.d.ts +8 -0
  355. package/dist/resource/scaleway/scaleway.d.ts.map +1 -0
  356. package/dist/resource/scaleway/scaleway.js +24 -0
  357. package/dist/resource/scaleway/scaleway.js.map +1 -0
  358. package/dist/resource/seaweedfs/config.d.ts +16 -0
  359. package/dist/resource/seaweedfs/config.d.ts.map +1 -0
  360. package/dist/resource/seaweedfs/config.js +22 -0
  361. package/dist/resource/seaweedfs/config.js.map +1 -0
  362. package/dist/resource/seaweedfs/prompt.d.ts +2 -0
  363. package/dist/resource/seaweedfs/prompt.d.ts.map +1 -0
  364. package/dist/resource/seaweedfs/prompt.js +19 -0
  365. package/dist/resource/seaweedfs/prompt.js.map +1 -0
  366. package/dist/resource/seaweedfs/seaweedfs.d.ts +8 -0
  367. package/dist/resource/seaweedfs/seaweedfs.d.ts.map +1 -0
  368. package/dist/resource/seaweedfs/seaweedfs.js +24 -0
  369. package/dist/resource/seaweedfs/seaweedfs.js.map +1 -0
  370. package/dist/resource/slack/config.d.ts +20 -0
  371. package/dist/resource/slack/config.d.ts.map +1 -0
  372. package/dist/resource/slack/config.js +32 -0
  373. package/dist/resource/slack/config.js.map +1 -0
  374. package/dist/resource/slack/slack.d.ts +33 -0
  375. package/dist/resource/slack/slack.d.ts.map +1 -0
  376. package/dist/resource/slack/slack.js +91 -0
  377. package/dist/resource/slack/slack.js.map +1 -0
  378. package/dist/resource/supabase/config.d.ts +20 -0
  379. package/dist/resource/supabase/config.d.ts.map +1 -0
  380. package/dist/resource/supabase/config.js +26 -0
  381. package/dist/resource/supabase/config.js.map +1 -0
  382. package/dist/resource/supabase/prompt.d.ts +2 -0
  383. package/dist/resource/supabase/prompt.d.ts.map +1 -0
  384. package/dist/resource/supabase/prompt.js +19 -0
  385. package/dist/resource/supabase/prompt.js.map +1 -0
  386. package/dist/resource/supabase/supabase.d.ts +8 -0
  387. package/dist/resource/supabase/supabase.d.ts.map +1 -0
  388. package/dist/resource/supabase/supabase.js +24 -0
  389. package/dist/resource/supabase/supabase.js.map +1 -0
  390. package/dist/resource/tencent/config.d.ts +17 -0
  391. package/dist/resource/tencent/config.d.ts.map +1 -0
  392. package/dist/resource/tencent/config.js +24 -0
  393. package/dist/resource/tencent/config.js.map +1 -0
  394. package/dist/resource/tencent/prompt.d.ts +2 -0
  395. package/dist/resource/tencent/prompt.d.ts.map +1 -0
  396. package/dist/resource/tencent/prompt.js +19 -0
  397. package/dist/resource/tencent/prompt.js.map +1 -0
  398. package/dist/resource/tencent/tencent.d.ts +8 -0
  399. package/dist/resource/tencent/tencent.d.ts.map +1 -0
  400. package/dist/resource/tencent/tencent.js +24 -0
  401. package/dist/resource/tencent/tencent.js.map +1 -0
  402. package/dist/resource/trello/config.d.ts +22 -0
  403. package/dist/resource/trello/config.d.ts.map +1 -0
  404. package/dist/resource/trello/config.js +35 -0
  405. package/dist/resource/trello/config.js.map +1 -0
  406. package/dist/resource/trello/trello.d.ts +32 -0
  407. package/dist/resource/trello/trello.d.ts.map +1 -0
  408. package/dist/resource/trello/trello.js +94 -0
  409. package/dist/resource/trello/trello.js.map +1 -0
  410. package/dist/resource/wasabi/config.d.ts +17 -0
  411. package/dist/resource/wasabi/config.d.ts.map +1 -0
  412. package/dist/resource/wasabi/config.js +29 -0
  413. package/dist/resource/wasabi/config.js.map +1 -0
  414. package/dist/resource/wasabi/prompt.d.ts +2 -0
  415. package/dist/resource/wasabi/prompt.d.ts.map +1 -0
  416. package/dist/resource/wasabi/prompt.js +19 -0
  417. package/dist/resource/wasabi/prompt.js.map +1 -0
  418. package/dist/resource/wasabi/wasabi.d.ts +8 -0
  419. package/dist/resource/wasabi/wasabi.d.ts.map +1 -0
  420. package/dist/resource/wasabi/wasabi.js +24 -0
  421. package/dist/resource/wasabi/wasabi.js.map +1 -0
  422. package/dist/test-utils.d.ts +37 -0
  423. package/dist/test-utils.d.ts.map +1 -0
  424. package/dist/test-utils.js +518 -0
  425. package/dist/test-utils.js.map +1 -0
  426. package/dist/workspace.d.ts +10 -0
  427. package/dist/workspace.d.ts.map +1 -0
  428. package/dist/workspace.js +62 -0
  429. package/dist/workspace.js.map +1 -0
  430. package/package.json +13 -6
  431. package/dist/aliyun-DR6KT3H6.js +0 -8
  432. package/dist/aliyun-DR6KT3H6.js.map +0 -1
  433. package/dist/backblaze-XCLZXTES.js +0 -8
  434. package/dist/backblaze-XCLZXTES.js.map +0 -1
  435. package/dist/box-XBCSU3AA.js +0 -8
  436. package/dist/box-XBCSU3AA.js.map +0 -1
  437. package/dist/ceph-F5S2NMTO.js +0 -8
  438. package/dist/ceph-F5S2NMTO.js.map +0 -1
  439. package/dist/chunk-2J35WXX5.js +0 -28
  440. package/dist/chunk-2J35WXX5.js.map +0 -1
  441. package/dist/chunk-2WNXK742.js +0 -89
  442. package/dist/chunk-2WNXK742.js.map +0 -1
  443. package/dist/chunk-2WSKXBSV.js +0 -139
  444. package/dist/chunk-2WSKXBSV.js.map +0 -1
  445. package/dist/chunk-37WKCB2E.js +0 -95
  446. package/dist/chunk-37WKCB2E.js.map +0 -1
  447. package/dist/chunk-3IYCVC7W.js +0 -96
  448. package/dist/chunk-3IYCVC7W.js.map +0 -1
  449. package/dist/chunk-46HNNKFR.js +0 -95
  450. package/dist/chunk-46HNNKFR.js.map +0 -1
  451. package/dist/chunk-4IF4TGAI.js +0 -11
  452. package/dist/chunk-4IF4TGAI.js.map +0 -1
  453. package/dist/chunk-5OZJMTYW.js +0 -113
  454. package/dist/chunk-5OZJMTYW.js.map +0 -1
  455. package/dist/chunk-5UM6EBVW.js +0 -108
  456. package/dist/chunk-5UM6EBVW.js.map +0 -1
  457. package/dist/chunk-6HRSCX2U.js +0 -98
  458. package/dist/chunk-6HRSCX2U.js.map +0 -1
  459. package/dist/chunk-7HWQAYXR.js +0 -85
  460. package/dist/chunk-7HWQAYXR.js.map +0 -1
  461. package/dist/chunk-AUZNQ7EI.js +0 -85
  462. package/dist/chunk-AUZNQ7EI.js.map +0 -1
  463. package/dist/chunk-BGA2F226.js +0 -182
  464. package/dist/chunk-BGA2F226.js.map +0 -1
  465. package/dist/chunk-BV372CUO.js +0 -90
  466. package/dist/chunk-BV372CUO.js.map +0 -1
  467. package/dist/chunk-C4THTILY.js +0 -95
  468. package/dist/chunk-C4THTILY.js.map +0 -1
  469. package/dist/chunk-D4MEOKNQ.js +0 -95
  470. package/dist/chunk-D4MEOKNQ.js.map +0 -1
  471. package/dist/chunk-D4RAMWYH.js +0 -88
  472. package/dist/chunk-D4RAMWYH.js.map +0 -1
  473. package/dist/chunk-EHIT6WCY.js +0 -95
  474. package/dist/chunk-EHIT6WCY.js.map +0 -1
  475. package/dist/chunk-EN6TZYT2.js +0 -95
  476. package/dist/chunk-EN6TZYT2.js.map +0 -1
  477. package/dist/chunk-FTDVV7EQ.js +0 -85
  478. package/dist/chunk-FTDVV7EQ.js.map +0 -1
  479. package/dist/chunk-G67Q2Z6I.js +0 -95
  480. package/dist/chunk-G67Q2Z6I.js.map +0 -1
  481. package/dist/chunk-GM2QMJAY.js +0 -85
  482. package/dist/chunk-GM2QMJAY.js.map +0 -1
  483. package/dist/chunk-HRWLHJX2.js +0 -84
  484. package/dist/chunk-HRWLHJX2.js.map +0 -1
  485. package/dist/chunk-INEXV2PN.js +0 -91
  486. package/dist/chunk-INEXV2PN.js.map +0 -1
  487. package/dist/chunk-IZMKMD3O.js +0 -11
  488. package/dist/chunk-IZMKMD3O.js.map +0 -1
  489. package/dist/chunk-JUVMJ5GI.js +0 -85
  490. package/dist/chunk-JUVMJ5GI.js.map +0 -1
  491. package/dist/chunk-KL2VFYUV.js +0 -159
  492. package/dist/chunk-KL2VFYUV.js.map +0 -1
  493. package/dist/chunk-L64GRKOD.js +0 -38
  494. package/dist/chunk-L64GRKOD.js.map +0 -1
  495. package/dist/chunk-LPDLPRPS.js +0 -11
  496. package/dist/chunk-LPDLPRPS.js.map +0 -1
  497. package/dist/chunk-M2UF2JHJ.js +0 -11
  498. package/dist/chunk-M2UF2JHJ.js.map +0 -1
  499. package/dist/chunk-NVHPJ5CV.js +0 -109
  500. package/dist/chunk-NVHPJ5CV.js.map +0 -1
  501. package/dist/chunk-OSTDTTWI.js +0 -35
  502. package/dist/chunk-OSTDTTWI.js.map +0 -1
  503. package/dist/chunk-PQCRGTSA.js +0 -85
  504. package/dist/chunk-PQCRGTSA.js.map +0 -1
  505. package/dist/chunk-QE7QNA45.js +0 -114
  506. package/dist/chunk-QE7QNA45.js.map +0 -1
  507. package/dist/chunk-QG2NUNCY.js +0 -95
  508. package/dist/chunk-QG2NUNCY.js.map +0 -1
  509. package/dist/chunk-UFHBDBZD.js +0 -1212
  510. package/dist/chunk-UFHBDBZD.js.map +0 -1
  511. package/dist/chunk-UY22T4AC.js +0 -112
  512. package/dist/chunk-UY22T4AC.js.map +0 -1
  513. package/dist/chunk-XJBC3OYX.js +0 -11
  514. package/dist/chunk-XJBC3OYX.js.map +0 -1
  515. package/dist/chunk-Y6DYUK6J.js +0 -85
  516. package/dist/chunk-Y6DYUK6J.js.map +0 -1
  517. package/dist/chunk-YOCTIHQZ.js +0 -89
  518. package/dist/chunk-YOCTIHQZ.js.map +0 -1
  519. package/dist/chunk-ZDJPUXYH.js +0 -101
  520. package/dist/chunk-ZDJPUXYH.js.map +0 -1
  521. package/dist/chunk-ZKCOSE3R.js +0 -90
  522. package/dist/chunk-ZKCOSE3R.js.map +0 -1
  523. package/dist/chunk-ZTHVEXIV.js +0 -11
  524. package/dist/chunk-ZTHVEXIV.js.map +0 -1
  525. package/dist/config-2Y6LZKLV.js +0 -9
  526. package/dist/config-2Y6LZKLV.js.map +0 -1
  527. package/dist/config-4GSOMUMF.js +0 -9
  528. package/dist/config-4GSOMUMF.js.map +0 -1
  529. package/dist/config-5YBUWFUP.js +0 -9
  530. package/dist/config-5YBUWFUP.js.map +0 -1
  531. package/dist/config-DE5OZ4I7.js +0 -9
  532. package/dist/config-DE5OZ4I7.js.map +0 -1
  533. package/dist/config-ELDOFRJW.js +0 -9
  534. package/dist/config-ELDOFRJW.js.map +0 -1
  535. package/dist/config-FPM3LAW7.js +0 -9
  536. package/dist/config-FPM3LAW7.js.map +0 -1
  537. package/dist/config-JY557MA6.js +0 -9
  538. package/dist/config-JY557MA6.js.map +0 -1
  539. package/dist/config-UU27ALAA.js +0 -9
  540. package/dist/config-UU27ALAA.js.map +0 -1
  541. package/dist/config-WRACCRPN.js +0 -9
  542. package/dist/config-WRACCRPN.js.map +0 -1
  543. package/dist/digitalocean-QDHTRS2W.js +0 -8
  544. package/dist/digitalocean-QDHTRS2W.js.map +0 -1
  545. package/dist/discord-ERUI7OAQ.js +0 -7
  546. package/dist/discord-ERUI7OAQ.js.map +0 -1
  547. package/dist/dropbox-3U6D4HLE.js +0 -8
  548. package/dist/dropbox-3U6D4HLE.js.map +0 -1
  549. package/dist/gcal-MTBSDG34.js +0 -8
  550. package/dist/gcal-MTBSDG34.js.map +0 -1
  551. package/dist/gcs-KNGRBBET.js +0 -8
  552. package/dist/gcs-KNGRBBET.js.map +0 -1
  553. package/dist/gdocs-RUIOIRKP.js +0 -8
  554. package/dist/gdocs-RUIOIRKP.js.map +0 -1
  555. package/dist/gdrive-5JB7ZKEP.js +0 -8
  556. package/dist/gdrive-5JB7ZKEP.js.map +0 -1
  557. package/dist/github-CIXBFBVO.js +0 -7
  558. package/dist/github-CIXBFBVO.js.map +0 -1
  559. package/dist/github_ci-HR6YOYAO.js +0 -8
  560. package/dist/github_ci-HR6YOYAO.js.map +0 -1
  561. package/dist/gmail-JHGWTQU5.js +0 -8
  562. package/dist/gmail-JHGWTQU5.js.map +0 -1
  563. package/dist/gsheets-N54JO2RS.js +0 -8
  564. package/dist/gsheets-N54JO2RS.js.map +0 -1
  565. package/dist/gslides-B4VMNLMB.js +0 -8
  566. package/dist/gslides-B4VMNLMB.js.map +0 -1
  567. package/dist/langfuse-HEUJGDOC.js +0 -7
  568. package/dist/langfuse-HEUJGDOC.js.map +0 -1
  569. package/dist/linear-J4QQ3CA6.js +0 -7
  570. package/dist/linear-J4QQ3CA6.js.map +0 -1
  571. package/dist/minio-BXWHJ6K5.js +0 -8
  572. package/dist/minio-BXWHJ6K5.js.map +0 -1
  573. package/dist/mongodb-YZP643ZU.js +0 -7
  574. package/dist/mongodb-YZP643ZU.js.map +0 -1
  575. package/dist/notion-I5S5SRLO.js +0 -7
  576. package/dist/notion-I5S5SRLO.js.map +0 -1
  577. package/dist/oci-XOPKH4AE.js +0 -8
  578. package/dist/oci-XOPKH4AE.js.map +0 -1
  579. package/dist/opfs-36QO72Y5.js +0 -7
  580. package/dist/opfs-36QO72Y5.js.map +0 -1
  581. package/dist/postgres-HPOMN2AR.js +0 -7
  582. package/dist/postgres-HPOMN2AR.js.map +0 -1
  583. package/dist/qingstor-JKAHLK62.js +0 -8
  584. package/dist/qingstor-JKAHLK62.js.map +0 -1
  585. package/dist/r2-L3QXQ76M.js +0 -8
  586. package/dist/r2-L3QXQ76M.js.map +0 -1
  587. package/dist/s3-LRZJPGHK.js +0 -9
  588. package/dist/s3-LRZJPGHK.js.map +0 -1
  589. package/dist/scaleway-CGNDYNKS.js +0 -8
  590. package/dist/scaleway-CGNDYNKS.js.map +0 -1
  591. package/dist/seaweedfs-BSQWCBIR.js +0 -8
  592. package/dist/seaweedfs-BSQWCBIR.js.map +0 -1
  593. package/dist/slack-62ECSENR.js +0 -7
  594. package/dist/slack-62ECSENR.js.map +0 -1
  595. package/dist/supabase-J66NXWAF.js +0 -8
  596. package/dist/supabase-J66NXWAF.js.map +0 -1
  597. package/dist/tencent-AC667LV3.js +0 -8
  598. package/dist/tencent-AC667LV3.js.map +0 -1
  599. package/dist/trello-SUPG6VDF.js +0 -7
  600. package/dist/trello-SUPG6VDF.js.map +0 -1
  601. package/dist/wasabi-5KKPW6LH.js +0 -8
  602. package/dist/wasabi-5KKPW6LH.js.map +0 -1
@@ -0,0 +1,121 @@
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 { GitHubAccessor } from '@struktoai/mirage-core/accessor/github';
15
+ import { RAMIndexCacheStore } from '@struktoai/mirage-core/cache/index/ram';
16
+ import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
17
+ import { GITHUB_COMMANDS } from '@struktoai/mirage-core/commands/builtin/github/index';
18
+ import { HttpGitHubTransport, fetchRepoInfo as fetchGitHubRepoInfo, fetchTree as fetchGitHubTree, } from '@struktoai/mirage-core/core/github/client';
19
+ import { read as githubRead } from '@struktoai/mirage-core/core/github/read';
20
+ import { readdir as githubReaddir } from '@struktoai/mirage-core/core/github/readdir';
21
+ import { stat as githubStat } from '@struktoai/mirage-core/core/github/stat';
22
+ import { buildTreeMap as githubBuildTreeMap } from '@struktoai/mirage-core/core/github/tree';
23
+ import { buildDeltaHook } from '@struktoai/mirage-core/core/github/watch';
24
+ import { GITHUB_OPS } from '@struktoai/mirage-core/ops/github/index';
25
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
26
+ import { GITHUB_PROMPT } from '@struktoai/mirage-core/resource/github/prompt';
27
+ import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
28
+ import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
29
+ import { redactGitHubConfig, } from '@struktoai/mirage-core/core/github/config';
30
+ const githubResolveGlob = makeResolveGlob(githubReaddir);
31
+ export class GitHubResource extends BaseResource {
32
+ kind = ResourceName.GITHUB;
33
+ cachesReads = true;
34
+ // The git tree API reports the exact blob size for every file; the
35
+ // blob read returns those same bytes, and submodule gitlinks (which
36
+ // have no size and no blob) are excluded from the tree.
37
+ sizesAlwaysKnown = true;
38
+ // Blob shas are stable per-path markers, so cached reads can be
39
+ // probe-verified under ALWAYS and snapshots carry drift fingerprints.
40
+ supportsSnapshot = true;
41
+ indexTtl = 86_400;
42
+ prompt = GITHUB_PROMPT;
43
+ config;
44
+ accessor;
45
+ constructor(config, accessor, index) {
46
+ super();
47
+ this.config = config;
48
+ this.accessor = accessor;
49
+ this._index = index;
50
+ }
51
+ static async create(config) {
52
+ const transportOpts = { token: config.token };
53
+ if (config.baseUrl !== undefined)
54
+ transportOpts.baseUrl = config.baseUrl;
55
+ const transport = new HttpGitHubTransport(transportOpts);
56
+ const repoInfo = await fetchGitHubRepoInfo(transport, config.owner, config.repo);
57
+ const ref = config.ref ?? repoInfo.default_branch;
58
+ const { tree, truncated } = await fetchGitHubTree(transport, config.owner, config.repo, ref);
59
+ const treeMap = githubBuildTreeMap(tree);
60
+ const accessor = new GitHubAccessor({
61
+ transport,
62
+ owner: config.owner,
63
+ repo: config.repo,
64
+ ref,
65
+ defaultBranch: repoInfo.default_branch,
66
+ truncated,
67
+ tree: treeMap,
68
+ });
69
+ // Not seeded here: the index is keyed by mount prefix, which only a
70
+ // PathSpec knows, so the first read seeds it from the accessor's tree.
71
+ const index = new RAMIndexCacheStore({ ttl: 86_400 });
72
+ return new GitHubResource(config, accessor, index);
73
+ }
74
+ open() {
75
+ return Promise.resolve();
76
+ }
77
+ commands() {
78
+ return GITHUB_COMMANDS;
79
+ }
80
+ ops() {
81
+ return GITHUB_OPS;
82
+ }
83
+ readFile(p) {
84
+ return githubRead(this.accessor, p, this.index);
85
+ }
86
+ readdir(p) {
87
+ return githubReaddir(this.accessor, p, this.index);
88
+ }
89
+ stat(p) {
90
+ return githubStat(this.accessor, p, this.index);
91
+ }
92
+ glob(paths, prefix = '') {
93
+ const effective = prefix !== ''
94
+ ? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
95
+ ? p
96
+ : new PathSpec({
97
+ virtual: p.virtual,
98
+ directory: p.directory,
99
+ ...(p.pattern !== null ? { pattern: p.pattern } : {}),
100
+ resolved: p.resolved,
101
+ resourcePath: mountKey(p.virtual, prefix),
102
+ }))
103
+ : paths;
104
+ return githubResolveGlob(this.accessor, effective, this.index);
105
+ }
106
+ deltaHook() {
107
+ return buildDeltaHook(this.accessor);
108
+ }
109
+ getState() {
110
+ return Promise.resolve({
111
+ type: this.kind,
112
+ config: redactGitHubConfig(this.config),
113
+ defaultBranch: this.accessor.defaultBranch,
114
+ truncated: this.accessor.truncated,
115
+ });
116
+ }
117
+ loadState(_state) {
118
+ return Promise.resolve();
119
+ }
120
+ }
121
+ //# sourceMappingURL=github.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/resource/github/github.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { GmailAccessor } from '@struktoai/mirage-core/accessor/gmail';
2
+ import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
3
+ import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
4
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
5
+ import type { Resource } from '@struktoai/mirage-core/resource/base';
6
+ import { PathSpec } from '@struktoai/mirage-core/types';
7
+ import type { FileStat } from '@struktoai/mirage-core/types';
8
+ import { type GmailConfig, type GmailConfigRedacted } from '@struktoai/mirage-core/resource/gmail/config';
9
+ export interface GmailResourceState {
10
+ type: string;
11
+ config: GmailConfigRedacted;
12
+ }
13
+ export declare class GmailResource extends BaseResource implements Resource {
14
+ readonly kind: string;
15
+ readonly cachesReads: boolean;
16
+ readonly sizesAlwaysKnown: boolean;
17
+ readonly indexTtl: number;
18
+ readonly prompt: string;
19
+ readonly writePrompt: string;
20
+ readonly config: GmailConfig;
21
+ readonly accessor: GmailAccessor;
22
+ constructor(config: GmailConfig);
23
+ open(): Promise<void>;
24
+ commands(): readonly RegisteredCommand[];
25
+ ops(): readonly RegisteredOp[];
26
+ readFile(p: PathSpec): Promise<Uint8Array>;
27
+ readdir(p: PathSpec): Promise<string[]>;
28
+ stat(p: PathSpec): Promise<FileStat>;
29
+ glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
30
+ getState(): Promise<GmailResourceState>;
31
+ loadState(_state: GmailResourceState): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=gmail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../../../src/resource/gmail/gmail.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAGrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM/E,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;AAEpE,OAAO,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACzB,MAAM,8CAA8C,CAAA;AAIrD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,mBAAmB,CAAA;CAC5B;AAED,qBAAa,aAAc,SAAQ,YAAa,YAAW,QAAQ;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAqB;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IAIpC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAO;IACzC,SAAkB,QAAQ,EAAE,MAAM,CAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAe;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAqB;IACjD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;gBAEpB,MAAM,EAAE,WAAW;IAO/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,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;IAkBzD,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAOvC,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9D"}
@@ -0,0 +1,88 @@
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 { GmailAccessor } from '@struktoai/mirage-core/accessor/gmail';
15
+ import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
16
+ import { GMAIL_COMMANDS } from '@struktoai/mirage-core/commands/builtin/gmail/index';
17
+ import { read as gmailRead } from '@struktoai/mirage-core/core/gmail/read';
18
+ import { readdir as gmailReaddir } from '@struktoai/mirage-core/core/gmail/readdir';
19
+ import { stat as gmailStat } from '@struktoai/mirage-core/core/gmail/stat';
20
+ import { TokenManager } from '@struktoai/mirage-core/core/google/client';
21
+ import { GMAIL_OPS } from '@struktoai/mirage-core/ops/gmail/index';
22
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
23
+ import { GMAIL_PROMPT, GMAIL_WRITE_PROMPT } from '@struktoai/mirage-core/resource/gmail/prompt';
24
+ import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
25
+ import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
26
+ import { redactGmailConfig, } from '@struktoai/mirage-core/resource/gmail/config';
27
+ const gmailResolveGlob = makeResolveGlob(gmailReaddir);
28
+ export class GmailResource extends BaseResource {
29
+ kind = ResourceName.GMAIL;
30
+ cachesReads = true;
31
+ // Every listed file carries an exact size: .gmail.json is rendered at
32
+ // readdir from the full message the listing already fetched, and
33
+ // attachments carry the decoded byte count.
34
+ sizesAlwaysKnown = true;
35
+ indexTtl = 86_400;
36
+ prompt = GMAIL_PROMPT;
37
+ writePrompt = GMAIL_WRITE_PROMPT;
38
+ config;
39
+ accessor;
40
+ constructor(config) {
41
+ super();
42
+ this.config = config;
43
+ const tm = new TokenManager(config);
44
+ this.accessor = new GmailAccessor({ tokenManager: tm });
45
+ }
46
+ open() {
47
+ return Promise.resolve();
48
+ }
49
+ commands() {
50
+ return GMAIL_COMMANDS;
51
+ }
52
+ ops() {
53
+ return GMAIL_OPS;
54
+ }
55
+ readFile(p) {
56
+ return gmailRead(this.accessor, p, this.index);
57
+ }
58
+ readdir(p) {
59
+ return gmailReaddir(this.accessor, p, this.index);
60
+ }
61
+ stat(p) {
62
+ return gmailStat(this.accessor, p, this.index);
63
+ }
64
+ glob(paths, prefix = '') {
65
+ const effective = prefix !== ''
66
+ ? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
67
+ ? p
68
+ : new PathSpec({
69
+ virtual: p.virtual,
70
+ directory: p.directory,
71
+ ...(p.pattern !== null ? { pattern: p.pattern } : {}),
72
+ resolved: p.resolved,
73
+ resourcePath: mountKey(p.virtual, prefix),
74
+ }))
75
+ : paths;
76
+ return gmailResolveGlob(this.accessor, effective, this.index);
77
+ }
78
+ getState() {
79
+ return Promise.resolve({
80
+ type: this.kind,
81
+ config: redactGmailConfig(this.config),
82
+ });
83
+ }
84
+ loadState(_state) {
85
+ return Promise.resolve();
86
+ }
87
+ }
88
+ //# sourceMappingURL=gmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../../src/resource/gmail/gmail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { GSheetsAccessor } from '@struktoai/mirage-core/accessor/gsheets';
2
+ import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
3
+ import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
4
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
5
+ import type { Resource } from '@struktoai/mirage-core/resource/base';
6
+ import { PathSpec } from '@struktoai/mirage-core/types';
7
+ import type { FileStat } from '@struktoai/mirage-core/types';
8
+ import { type GSheetsConfig, type GSheetsConfigRedacted } from '@struktoai/mirage-core/resource/gsheets/config';
9
+ export interface GSheetsResourceState {
10
+ type: string;
11
+ config: GSheetsConfigRedacted;
12
+ }
13
+ export declare class GSheetsResource extends BaseResource implements Resource {
14
+ readonly kind: string;
15
+ readonly cachesReads: boolean;
16
+ readonly indexTtl: number;
17
+ readonly prompt: string;
18
+ readonly writePrompt: string;
19
+ readonly config: GSheetsConfig;
20
+ readonly accessor: GSheetsAccessor;
21
+ constructor(config: GSheetsConfig);
22
+ open(): Promise<void>;
23
+ commands(): readonly RegisteredCommand[];
24
+ ops(): readonly RegisteredOp[];
25
+ readFile(p: PathSpec): Promise<Uint8Array>;
26
+ readdir(p: PathSpec): Promise<string[]>;
27
+ stat(p: PathSpec): Promise<FileStat>;
28
+ glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
29
+ getState(): Promise<GSheetsResourceState>;
30
+ loadState(_state: GSheetsResourceState): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=gsheets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gsheets.d.ts","sourceRoot":"","sources":["../../../src/resource/gsheets/gsheets.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAGzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM/E,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,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,gDAAgD,CAAA;AAIvD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,qBAAa,eAAgB,SAAQ,YAAa,YAAW,QAAQ;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAuB;IAC5C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IACpC,SAAkB,QAAQ,EAAE,MAAM,CAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAiB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAuB;IACnD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;gBAEtB,MAAM,EAAE,aAAa;IAOjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,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;IAkBzD,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAOzC,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
@@ -0,0 +1,84 @@
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 { GSheetsAccessor } from '@struktoai/mirage-core/accessor/gsheets';
15
+ import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
16
+ import { GSHEETS_COMMANDS } from '@struktoai/mirage-core/commands/builtin/gsheets/index';
17
+ import { TokenManager } from '@struktoai/mirage-core/core/google/client';
18
+ import { read as gsheetsRead } from '@struktoai/mirage-core/core/gsheets/read';
19
+ import { readdir as gsheetsReaddir } from '@struktoai/mirage-core/core/gsheets/readdir';
20
+ import { stat as gsheetsStat } from '@struktoai/mirage-core/core/gsheets/stat';
21
+ import { GSHEETS_OPS } from '@struktoai/mirage-core/ops/gsheets/index';
22
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
23
+ import { GSHEETS_PROMPT, GSHEETS_WRITE_PROMPT, } from '@struktoai/mirage-core/resource/gsheets/prompt';
24
+ import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
25
+ import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
26
+ import { redactGSheetsConfig, } from '@struktoai/mirage-core/resource/gsheets/config';
27
+ const gsheetsResolveGlob = makeResolveGlob(gsheetsReaddir);
28
+ export class GSheetsResource extends BaseResource {
29
+ kind = ResourceName.GSHEETS;
30
+ cachesReads = true;
31
+ indexTtl = 86_400;
32
+ prompt = GSHEETS_PROMPT;
33
+ writePrompt = GSHEETS_WRITE_PROMPT;
34
+ config;
35
+ accessor;
36
+ constructor(config) {
37
+ super();
38
+ this.config = config;
39
+ const tm = new TokenManager(config);
40
+ this.accessor = new GSheetsAccessor({ tokenManager: tm });
41
+ }
42
+ open() {
43
+ return Promise.resolve();
44
+ }
45
+ commands() {
46
+ return GSHEETS_COMMANDS;
47
+ }
48
+ ops() {
49
+ return GSHEETS_OPS;
50
+ }
51
+ readFile(p) {
52
+ return gsheetsRead(this.accessor, p, this.index);
53
+ }
54
+ readdir(p) {
55
+ return gsheetsReaddir(this.accessor, p, this.index);
56
+ }
57
+ stat(p) {
58
+ return gsheetsStat(this.accessor, p, this.index);
59
+ }
60
+ glob(paths, prefix = '') {
61
+ const effective = prefix !== ''
62
+ ? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
63
+ ? p
64
+ : 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 gsheetsResolveGlob(this.accessor, effective, this.index);
73
+ }
74
+ getState() {
75
+ return Promise.resolve({
76
+ type: this.kind,
77
+ config: redactGSheetsConfig(this.config),
78
+ });
79
+ }
80
+ loadState(_state) {
81
+ return Promise.resolve();
82
+ }
83
+ }
84
+ //# sourceMappingURL=gsheets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gsheets.js","sourceRoot":"","sources":["../../../src/resource/gsheets/gsheets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { GSlidesAccessor } from '@struktoai/mirage-core/accessor/gslides';
2
+ import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
3
+ import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
4
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
5
+ import type { Resource } from '@struktoai/mirage-core/resource/base';
6
+ import { PathSpec } from '@struktoai/mirage-core/types';
7
+ import type { FileStat } from '@struktoai/mirage-core/types';
8
+ import { type GSlidesConfig, type GSlidesConfigRedacted } from '@struktoai/mirage-core/resource/gslides/config';
9
+ export interface GSlidesResourceState {
10
+ type: string;
11
+ config: GSlidesConfigRedacted;
12
+ }
13
+ export declare class GSlidesResource extends BaseResource implements Resource {
14
+ readonly kind: string;
15
+ readonly cachesReads: boolean;
16
+ readonly indexTtl: number;
17
+ readonly prompt: string;
18
+ readonly writePrompt: string;
19
+ readonly config: GSlidesConfig;
20
+ readonly accessor: GSlidesAccessor;
21
+ constructor(config: GSlidesConfig);
22
+ open(): Promise<void>;
23
+ commands(): readonly RegisteredCommand[];
24
+ ops(): readonly RegisteredOp[];
25
+ readFile(p: PathSpec): Promise<Uint8Array>;
26
+ readdir(p: PathSpec): Promise<string[]>;
27
+ stat(p: PathSpec): Promise<FileStat>;
28
+ glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
29
+ getState(): Promise<GSlidesResourceState>;
30
+ loadState(_state: GSlidesResourceState): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=gslides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gslides.d.ts","sourceRoot":"","sources":["../../../src/resource/gslides/gslides.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAGzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM/E,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,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,gDAAgD,CAAA;AAIvD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,qBAAa,eAAgB,SAAQ,YAAa,YAAW,QAAQ;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAuB;IAC5C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IACpC,SAAkB,QAAQ,EAAE,MAAM,CAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAiB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAuB;IACnD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;gBAEtB,MAAM,EAAE,aAAa;IAOjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,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;IAkBzD,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAOzC,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
@@ -0,0 +1,84 @@
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 { GSlidesAccessor } from '@struktoai/mirage-core/accessor/gslides';
15
+ import { makeResolveGlob } from '@struktoai/mirage-core/commands/builtin/generic_bind/index';
16
+ import { GSLIDES_COMMANDS } from '@struktoai/mirage-core/commands/builtin/gslides/index';
17
+ import { TokenManager } from '@struktoai/mirage-core/core/google/client';
18
+ import { read as gslidesRead } from '@struktoai/mirage-core/core/gslides/read';
19
+ import { readdir as gslidesReaddir } from '@struktoai/mirage-core/core/gslides/readdir';
20
+ import { stat as gslidesStat } from '@struktoai/mirage-core/core/gslides/stat';
21
+ import { GSLIDES_OPS } from '@struktoai/mirage-core/ops/gslides/index';
22
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
23
+ import { GSLIDES_PROMPT, GSLIDES_WRITE_PROMPT, } from '@struktoai/mirage-core/resource/gslides/prompt';
24
+ import { PathSpec, ResourceName } from '@struktoai/mirage-core/types';
25
+ import { mountKey, mountPrefixOf } from '@struktoai/mirage-core/utils/key_prefix';
26
+ import { redactGSlidesConfig, } from '@struktoai/mirage-core/resource/gslides/config';
27
+ const gslidesResolveGlob = makeResolveGlob(gslidesReaddir);
28
+ export class GSlidesResource extends BaseResource {
29
+ kind = ResourceName.GSLIDES;
30
+ cachesReads = true;
31
+ indexTtl = 86_400;
32
+ prompt = GSLIDES_PROMPT;
33
+ writePrompt = GSLIDES_WRITE_PROMPT;
34
+ config;
35
+ accessor;
36
+ constructor(config) {
37
+ super();
38
+ this.config = config;
39
+ const tm = new TokenManager(config);
40
+ this.accessor = new GSlidesAccessor({ tokenManager: tm });
41
+ }
42
+ open() {
43
+ return Promise.resolve();
44
+ }
45
+ commands() {
46
+ return GSLIDES_COMMANDS;
47
+ }
48
+ ops() {
49
+ return GSLIDES_OPS;
50
+ }
51
+ readFile(p) {
52
+ return gslidesRead(this.accessor, p, this.index);
53
+ }
54
+ readdir(p) {
55
+ return gslidesReaddir(this.accessor, p, this.index);
56
+ }
57
+ stat(p) {
58
+ return gslidesStat(this.accessor, p, this.index);
59
+ }
60
+ glob(paths, prefix = '') {
61
+ const effective = prefix !== ''
62
+ ? paths.map((p) => mountPrefixOf(p.virtual, p.resourcePath) !== ''
63
+ ? p
64
+ : 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 gslidesResolveGlob(this.accessor, effective, this.index);
73
+ }
74
+ getState() {
75
+ return Promise.resolve({
76
+ type: this.kind,
77
+ config: redactGSlidesConfig(this.config),
78
+ });
79
+ }
80
+ loadState(_state) {
81
+ return Promise.resolve();
82
+ }
83
+ }
84
+ //# sourceMappingURL=gslides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gslides.js","sourceRoot":"","sources":["../../../src/resource/gslides/gslides.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { z } from '@struktoai/mirage-core/resource/secrets';
2
+ import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/resource/secrets';
3
+ declare const LangfuseConfigSchema: z.ZodObject<{
4
+ publicKey: z.ZodString;
5
+ secretKey: z.ZodString;
6
+ host: z.ZodOptional<z.ZodString>;
7
+ defaultTraceLimit: z.ZodOptional<z.ZodNumber>;
8
+ defaultSearchLimit: z.ZodOptional<z.ZodNumber>;
9
+ defaultFromTimestamp: z.ZodOptional<z.ZodString>;
10
+ }, z.core.$strip>;
11
+ export type LangfuseConfig = ConfigOf<typeof LangfuseConfigSchema>;
12
+ export type LangfuseConfigRedacted = RedactedConfig<LangfuseConfig, 'secretKey'>;
13
+ export declare function redactLangfuseConfig(config: LangfuseConfig): LangfuseConfigRedacted;
14
+ /**
15
+ * Translate a python-style config blob to this one's camelCase.
16
+ *
17
+ * No rename map: every field's camelCase spelling is what `snakeToCamel`
18
+ * already produces, and restating those only creates a second place to be
19
+ * wrong. Mirrors node's `normalizeLangfuseConfig`.
20
+ */
21
+ export declare function normalizeLangfuseConfig(input: Record<string, unknown>): LangfuseConfig;
22
+ export {};
23
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/resource/langfuse/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAIL,CAAC,EACF,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAEvF,QAAA,MAAM,oBAAoB;;;;;;;iBAOxB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElE,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;AAEhF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,sBAAsB,CAEnF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAEtF"}
@@ -0,0 +1,36 @@
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 { parseConfigWithSchema, redactConfigWithSchema, secretStr, z, } from '@struktoai/mirage-core/resource/secrets';
15
+ const LangfuseConfigSchema = z.object({
16
+ publicKey: z.string(),
17
+ secretKey: secretStr(),
18
+ host: z.string().optional(),
19
+ defaultTraceLimit: z.number().optional(),
20
+ defaultSearchLimit: z.number().optional(),
21
+ defaultFromTimestamp: z.string().optional(),
22
+ });
23
+ export function redactLangfuseConfig(config) {
24
+ return redactConfigWithSchema(LangfuseConfigSchema, config);
25
+ }
26
+ /**
27
+ * Translate a python-style config blob to this one's camelCase.
28
+ *
29
+ * No rename map: every field's camelCase spelling is what `snakeToCamel`
30
+ * already produces, and restating those only creates a second place to be
31
+ * wrong. Mirrors node's `normalizeLangfuseConfig`.
32
+ */
33
+ export function normalizeLangfuseConfig(input) {
34
+ return parseConfigWithSchema(LangfuseConfigSchema, input);
35
+ }
36
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/resource/langfuse/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;AAEvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,CAAC,GACF,MAAM,yCAAyC,CAAA;AAGhD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,SAAS,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAA;AAMF,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,OAAO,sBAAsB,CAAC,oBAAoB,EAAE,MAAM,CAAsC,CAAA;AAClG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA8B;IACpE,OAAO,qBAAqB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;AAC3D,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { LangfuseAccessor } from '@struktoai/mirage-core/accessor/langfuse';
2
+ import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config';
3
+ import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry';
4
+ import { BaseResource } from '@struktoai/mirage-core/resource/base';
5
+ import type { Resource } from '@struktoai/mirage-core/resource/base';
6
+ import { PathSpec } from '@struktoai/mirage-core/types';
7
+ import type { FileStat } from '@struktoai/mirage-core/types';
8
+ import { type LangfuseConfig, type LangfuseConfigRedacted } from './config.ts';
9
+ export interface LangfuseResourceState {
10
+ type: string;
11
+ config: LangfuseConfigRedacted;
12
+ }
13
+ export declare class LangfuseResource extends BaseResource implements Resource {
14
+ readonly kind: string;
15
+ readonly cachesReads: boolean;
16
+ readonly indexTtl: number;
17
+ readonly prompt: string;
18
+ readonly config: LangfuseConfig;
19
+ readonly accessor: LangfuseAccessor;
20
+ constructor(config: LangfuseConfig);
21
+ open(): Promise<void>;
22
+ commands(): readonly RegisteredCommand[];
23
+ ops(): readonly RegisteredOp[];
24
+ readFile(p: PathSpec): Promise<Uint8Array>;
25
+ readdir(p: PathSpec): Promise<string[]>;
26
+ stat(p: PathSpec): Promise<FileStat>;
27
+ glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
28
+ getState(): Promise<LangfuseResourceState>;
29
+ loadState(_state: LangfuseResourceState): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=langfuse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse.d.ts","sourceRoot":"","sources":["../../../src/resource/langfuse/langfuse.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAG3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM/E,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;AAEpE,OAAO,EAAE,QAAQ,EAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIpG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,sBAAsB,CAAA;CAC/B;AAED,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,QAAQ;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAwB;IAC7C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAO;IACpC,SAAkB,QAAQ,EAAE,MAAM,CAAM;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAkB;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;gBAEvB,MAAM,EAAE,cAAc;IAyBlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,SAAS,iBAAiB,EAAE;IAIxC,GAAG,IAAI,SAAS,YAAY,EAAE;IAI9B,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;IAkBzD,QAAQ,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAO1C,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjE"}