@struktoai/mirage-browser 0.0.3 → 0.0.5-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 (260) hide show
  1. package/README.md +2 -1
  2. package/dist/aliyun-DR6KT3H6.js +8 -0
  3. package/dist/backblaze-XCLZXTES.js +8 -0
  4. package/dist/box-XBCSU3AA.js +8 -0
  5. package/dist/ceph-F5S2NMTO.js +8 -0
  6. package/dist/{chunk-HYUESAQS.js → chunk-2J35WXX5.js} +7 -3
  7. package/dist/chunk-2J35WXX5.js.map +1 -0
  8. package/dist/{chunk-CGZGX2GO.js → chunk-2WNXK742.js} +10 -12
  9. package/dist/chunk-2WNXK742.js.map +1 -0
  10. package/dist/{chunk-X2CCEHOR.js → chunk-2WSKXBSV.js} +22 -12
  11. package/dist/chunk-2WSKXBSV.js.map +1 -0
  12. package/dist/{chunk-SOF74I3T.js → chunk-37WKCB2E.js} +7 -5
  13. package/dist/chunk-37WKCB2E.js.map +1 -0
  14. package/dist/{chunk-ROHDW6KT.js → chunk-3IYCVC7W.js} +11 -5
  15. package/dist/chunk-3IYCVC7W.js.map +1 -0
  16. package/dist/{chunk-LSURHXZH.js → chunk-46HNNKFR.js} +11 -5
  17. package/dist/chunk-46HNNKFR.js.map +1 -0
  18. package/dist/chunk-4IF4TGAI.js +11 -0
  19. package/dist/chunk-4IF4TGAI.js.map +1 -0
  20. package/dist/{chunk-DA5EW34P.js → chunk-5OZJMTYW.js} +17 -13
  21. package/dist/chunk-5OZJMTYW.js.map +1 -0
  22. package/dist/{chunk-PV53AX35.js → chunk-5UM6EBVW.js} +18 -12
  23. package/dist/chunk-5UM6EBVW.js.map +1 -0
  24. package/dist/{chunk-NWZNQ3RC.js → chunk-6HRSCX2U.js} +11 -5
  25. package/dist/chunk-6HRSCX2U.js.map +1 -0
  26. package/dist/{chunk-F5QWZ7GM.js → chunk-7HWQAYXR.js} +11 -5
  27. package/dist/chunk-7HWQAYXR.js.map +1 -0
  28. package/dist/{chunk-OSMEXGRN.js → chunk-AUZNQ7EI.js} +13 -20
  29. package/dist/chunk-AUZNQ7EI.js.map +1 -0
  30. package/dist/{chunk-RQ273N5K.js → chunk-BGA2F226.js} +26 -21
  31. package/dist/chunk-BGA2F226.js.map +1 -0
  32. package/dist/{chunk-HXQ7HDA6.js → chunk-BV372CUO.js} +18 -20
  33. package/dist/chunk-BV372CUO.js.map +1 -0
  34. package/dist/{chunk-57QQAM7V.js → chunk-C4THTILY.js} +11 -5
  35. package/dist/chunk-C4THTILY.js.map +1 -0
  36. package/dist/{chunk-DVXOMWD4.js → chunk-D4MEOKNQ.js} +11 -5
  37. package/dist/chunk-D4MEOKNQ.js.map +1 -0
  38. package/dist/chunk-D4RAMWYH.js +88 -0
  39. package/dist/chunk-D4RAMWYH.js.map +1 -0
  40. package/dist/{chunk-NLBT6TBM.js → chunk-EHIT6WCY.js} +11 -5
  41. package/dist/chunk-EHIT6WCY.js.map +1 -0
  42. package/dist/{chunk-CNDGXKMU.js → chunk-EN6TZYT2.js} +11 -5
  43. package/dist/chunk-EN6TZYT2.js.map +1 -0
  44. package/dist/{chunk-QLLRQNOJ.js → chunk-FTDVV7EQ.js} +11 -5
  45. package/dist/chunk-FTDVV7EQ.js.map +1 -0
  46. package/dist/{chunk-G26SGOFR.js → chunk-G67Q2Z6I.js} +11 -5
  47. package/dist/chunk-G67Q2Z6I.js.map +1 -0
  48. package/dist/{chunk-XBOJZZRT.js → chunk-GM2QMJAY.js} +13 -20
  49. package/dist/chunk-GM2QMJAY.js.map +1 -0
  50. package/dist/{chunk-XYKNXGPR.js → chunk-HRWLHJX2.js} +14 -20
  51. package/dist/chunk-HRWLHJX2.js.map +1 -0
  52. package/dist/{chunk-DHZMC42C.js → chunk-INEXV2PN.js} +11 -5
  53. package/dist/chunk-INEXV2PN.js.map +1 -0
  54. package/dist/chunk-IZMKMD3O.js +11 -0
  55. package/dist/chunk-IZMKMD3O.js.map +1 -0
  56. package/dist/{chunk-4NLXLDMV.js → chunk-JUVMJ5GI.js} +13 -20
  57. package/dist/chunk-JUVMJ5GI.js.map +1 -0
  58. package/dist/{chunk-BIIG7ZAQ.js → chunk-KL2VFYUV.js} +7 -5
  59. package/dist/chunk-KL2VFYUV.js.map +1 -0
  60. package/dist/{chunk-J54OBIJA.js → chunk-L64GRKOD.js} +12 -3
  61. package/dist/chunk-L64GRKOD.js.map +1 -0
  62. package/dist/{chunk-54NTYJEO.js → chunk-LPDLPRPS.js} +1 -3
  63. package/dist/{chunk-54NTYJEO.js.map → chunk-LPDLPRPS.js.map} +1 -1
  64. package/dist/chunk-M2UF2JHJ.js +11 -0
  65. package/dist/chunk-M2UF2JHJ.js.map +1 -0
  66. package/dist/{chunk-KNJKYCTA.js → chunk-NVHPJ5CV.js} +19 -12
  67. package/dist/chunk-NVHPJ5CV.js.map +1 -0
  68. package/dist/{chunk-O5ONB7QT.js → chunk-OSTDTTWI.js} +14 -5
  69. package/dist/chunk-OSTDTTWI.js.map +1 -0
  70. package/dist/{chunk-J7PLA5S3.js → chunk-PQCRGTSA.js} +11 -5
  71. package/dist/chunk-PQCRGTSA.js.map +1 -0
  72. package/dist/{chunk-BJHHL4UT.js → chunk-QE7QNA45.js} +14 -11
  73. package/dist/chunk-QE7QNA45.js.map +1 -0
  74. package/dist/{chunk-K2S42IR4.js → chunk-QG2NUNCY.js} +11 -5
  75. package/dist/chunk-QG2NUNCY.js.map +1 -0
  76. package/dist/chunk-UFHBDBZD.js +1212 -0
  77. package/dist/chunk-UFHBDBZD.js.map +1 -0
  78. package/dist/{chunk-KTE5PB2D.js → chunk-UY22T4AC.js} +22 -14
  79. package/dist/chunk-UY22T4AC.js.map +1 -0
  80. package/dist/chunk-XJBC3OYX.js +11 -0
  81. package/dist/chunk-XJBC3OYX.js.map +1 -0
  82. package/dist/{chunk-6YP3B7UK.js → chunk-Y6DYUK6J.js} +11 -5
  83. package/dist/chunk-Y6DYUK6J.js.map +1 -0
  84. package/dist/{chunk-DFHFILVF.js → chunk-YOCTIHQZ.js} +14 -12
  85. package/dist/chunk-YOCTIHQZ.js.map +1 -0
  86. package/dist/{chunk-TQ6VRUEI.js → chunk-ZDJPUXYH.js} +14 -12
  87. package/dist/chunk-ZDJPUXYH.js.map +1 -0
  88. package/dist/{chunk-2AEAISO2.js → chunk-ZKCOSE3R.js} +18 -18
  89. package/dist/chunk-ZKCOSE3R.js.map +1 -0
  90. package/dist/chunk-ZTHVEXIV.js +11 -0
  91. package/dist/chunk-ZTHVEXIV.js.map +1 -0
  92. package/dist/{config-ET26F632.js → config-2Y6LZKLV.js} +2 -4
  93. package/dist/config-4GSOMUMF.js +9 -0
  94. package/dist/config-5YBUWFUP.js +9 -0
  95. package/dist/config-DE5OZ4I7.js +9 -0
  96. package/dist/config-ELDOFRJW.js +9 -0
  97. package/dist/config-FPM3LAW7.js +9 -0
  98. package/dist/config-JY557MA6.js +9 -0
  99. package/dist/{config-NV5WXP64.js → config-UU27ALAA.js} +2 -4
  100. package/dist/config-WRACCRPN.js +9 -0
  101. package/dist/digitalocean-QDHTRS2W.js +8 -0
  102. package/dist/discord-ERUI7OAQ.js +7 -0
  103. package/dist/dropbox-3U6D4HLE.js +8 -0
  104. package/dist/gcal-MTBSDG34.js +8 -0
  105. package/dist/gcs-KNGRBBET.js +8 -0
  106. package/dist/gdocs-RUIOIRKP.js +8 -0
  107. package/dist/gdrive-5JB7ZKEP.js +8 -0
  108. package/dist/github-CIXBFBVO.js +7 -0
  109. package/dist/github_ci-HR6YOYAO.js +8 -0
  110. package/dist/gmail-JHGWTQU5.js +8 -0
  111. package/dist/gsheets-N54JO2RS.js +8 -0
  112. package/dist/gslides-B4VMNLMB.js +8 -0
  113. package/dist/index.d.ts +292 -348
  114. package/dist/index.js +171 -110
  115. package/dist/index.js.map +1 -1
  116. package/dist/langfuse-HEUJGDOC.js +7 -0
  117. package/dist/linear-J4QQ3CA6.js +7 -0
  118. package/dist/minio-BXWHJ6K5.js +8 -0
  119. package/dist/mongodb-YZP643ZU.js +7 -0
  120. package/dist/notion-I5S5SRLO.js +7 -0
  121. package/dist/oci-XOPKH4AE.js +8 -0
  122. package/dist/opfs-36QO72Y5.js +7 -0
  123. package/dist/postgres-HPOMN2AR.js +7 -0
  124. package/dist/qingstor-JKAHLK62.js +8 -0
  125. package/dist/r2-L3QXQ76M.js +8 -0
  126. package/dist/{s3-GI7SDKGR.js → s3-LRZJPGHK.js} +2 -2
  127. package/dist/scaleway-CGNDYNKS.js +8 -0
  128. package/dist/seaweedfs-BSQWCBIR.js +8 -0
  129. package/dist/slack-62ECSENR.js +7 -0
  130. package/dist/supabase-J66NXWAF.js +8 -0
  131. package/dist/tencent-AC667LV3.js +8 -0
  132. package/dist/trello-SUPG6VDF.js +7 -0
  133. package/dist/trello-SUPG6VDF.js.map +1 -0
  134. package/dist/wasabi-5KKPW6LH.js +8 -0
  135. package/dist/wasabi-5KKPW6LH.js.map +1 -0
  136. package/package.json +2 -3
  137. package/dist/aliyun-GMNRT7BJ.js +0 -8
  138. package/dist/backblaze-O6CLR73B.js +0 -8
  139. package/dist/box-GXWDWZRN.js +0 -8
  140. package/dist/ceph-SM7MXDAY.js +0 -8
  141. package/dist/chunk-2AEAISO2.js.map +0 -1
  142. package/dist/chunk-2H4KUUFP.js +0 -26
  143. package/dist/chunk-2H4KUUFP.js.map +0 -1
  144. package/dist/chunk-4NLXLDMV.js.map +0 -1
  145. package/dist/chunk-57QQAM7V.js.map +0 -1
  146. package/dist/chunk-6YP3B7UK.js.map +0 -1
  147. package/dist/chunk-BIIG7ZAQ.js.map +0 -1
  148. package/dist/chunk-BJHHL4UT.js.map +0 -1
  149. package/dist/chunk-CGZGX2GO.js.map +0 -1
  150. package/dist/chunk-CNDGXKMU.js.map +0 -1
  151. package/dist/chunk-DA5EW34P.js.map +0 -1
  152. package/dist/chunk-DFHFILVF.js.map +0 -1
  153. package/dist/chunk-DHZMC42C.js.map +0 -1
  154. package/dist/chunk-DVXOMWD4.js.map +0 -1
  155. package/dist/chunk-F5QWZ7GM.js.map +0 -1
  156. package/dist/chunk-G26SGOFR.js.map +0 -1
  157. package/dist/chunk-HXQ7HDA6.js.map +0 -1
  158. package/dist/chunk-HYUESAQS.js.map +0 -1
  159. package/dist/chunk-J54OBIJA.js.map +0 -1
  160. package/dist/chunk-J7PLA5S3.js.map +0 -1
  161. package/dist/chunk-JSAQMYPK.js +0 -26
  162. package/dist/chunk-JSAQMYPK.js.map +0 -1
  163. package/dist/chunk-K2S42IR4.js.map +0 -1
  164. package/dist/chunk-KNJKYCTA.js.map +0 -1
  165. package/dist/chunk-KTE5PB2D.js.map +0 -1
  166. package/dist/chunk-KV2DM5H6.js +0 -2116
  167. package/dist/chunk-KV2DM5H6.js.map +0 -1
  168. package/dist/chunk-LSURHXZH.js.map +0 -1
  169. package/dist/chunk-NLBT6TBM.js.map +0 -1
  170. package/dist/chunk-NMZBJOFW.js +0 -26
  171. package/dist/chunk-NMZBJOFW.js.map +0 -1
  172. package/dist/chunk-NWZNQ3RC.js.map +0 -1
  173. package/dist/chunk-O5ONB7QT.js.map +0 -1
  174. package/dist/chunk-OSMEXGRN.js.map +0 -1
  175. package/dist/chunk-PV53AX35.js.map +0 -1
  176. package/dist/chunk-QLLRQNOJ.js.map +0 -1
  177. package/dist/chunk-ROHDW6KT.js.map +0 -1
  178. package/dist/chunk-RQ273N5K.js.map +0 -1
  179. package/dist/chunk-SOF74I3T.js.map +0 -1
  180. package/dist/chunk-TQ6VRUEI.js.map +0 -1
  181. package/dist/chunk-X2CCEHOR.js.map +0 -1
  182. package/dist/chunk-XBOJZZRT.js.map +0 -1
  183. package/dist/chunk-XYKNXGPR.js.map +0 -1
  184. package/dist/chunk-YGRKFONX.js +0 -26
  185. package/dist/chunk-YGRKFONX.js.map +0 -1
  186. package/dist/config-7IZCGWKX.js +0 -11
  187. package/dist/config-AT74FARJ.js +0 -11
  188. package/dist/config-C2AYHACT.js +0 -11
  189. package/dist/config-GHJOYNM6.js +0 -11
  190. package/dist/config-L55UXIF4.js +0 -11
  191. package/dist/config-V7BLK5WP.js +0 -11
  192. package/dist/digitalocean-XFH2V2A3.js +0 -8
  193. package/dist/discord-OQMSHM3L.js +0 -7
  194. package/dist/dropbox-IAOKM7G5.js +0 -8
  195. package/dist/gcs-JYZB6CVP.js +0 -8
  196. package/dist/gdocs-PHKQGLZL.js +0 -8
  197. package/dist/gdrive-4JQLGOOP.js +0 -8
  198. package/dist/github-DU7Z4RSU.js +0 -7
  199. package/dist/github_ci-XSAJDNXC.js +0 -8
  200. package/dist/gmail-DEQP2M7T.js +0 -8
  201. package/dist/gsheets-KCIHSMOK.js +0 -8
  202. package/dist/gslides-2KBUKKM5.js +0 -8
  203. package/dist/langfuse-FNCMKFSL.js +0 -7
  204. package/dist/linear-XTFO4WKD.js +0 -7
  205. package/dist/minio-NGPBAJY3.js +0 -8
  206. package/dist/mongodb-PGOX6QSY.js +0 -7
  207. package/dist/notion-HYYNQ7KI.js +0 -7
  208. package/dist/oci-EGDBSMLM.js +0 -8
  209. package/dist/opfs-5WGXB5OG.js +0 -7
  210. package/dist/postgres-5HYED4AC.js +0 -7
  211. package/dist/qingstor-2T4Y6MEG.js +0 -8
  212. package/dist/r2-3B45S2KV.js +0 -8
  213. package/dist/scaleway-ICCXVAY6.js +0 -8
  214. package/dist/seaweedfs-MF77EC33.js +0 -8
  215. package/dist/slack-6LGQERIU.js +0 -7
  216. package/dist/supabase-XTOVMHXU.js +0 -8
  217. package/dist/tencent-FXFKSOTN.js +0 -8
  218. package/dist/trello-DZK4NEVY.js +0 -7
  219. package/dist/wasabi-KVE2B6RB.js +0 -8
  220. /package/dist/{aliyun-GMNRT7BJ.js.map → aliyun-DR6KT3H6.js.map} +0 -0
  221. /package/dist/{backblaze-O6CLR73B.js.map → backblaze-XCLZXTES.js.map} +0 -0
  222. /package/dist/{box-GXWDWZRN.js.map → box-XBCSU3AA.js.map} +0 -0
  223. /package/dist/{ceph-SM7MXDAY.js.map → ceph-F5S2NMTO.js.map} +0 -0
  224. /package/dist/{config-7IZCGWKX.js.map → config-2Y6LZKLV.js.map} +0 -0
  225. /package/dist/{config-AT74FARJ.js.map → config-4GSOMUMF.js.map} +0 -0
  226. /package/dist/{config-C2AYHACT.js.map → config-5YBUWFUP.js.map} +0 -0
  227. /package/dist/{config-ET26F632.js.map → config-DE5OZ4I7.js.map} +0 -0
  228. /package/dist/{config-GHJOYNM6.js.map → config-ELDOFRJW.js.map} +0 -0
  229. /package/dist/{config-L55UXIF4.js.map → config-FPM3LAW7.js.map} +0 -0
  230. /package/dist/{config-NV5WXP64.js.map → config-JY557MA6.js.map} +0 -0
  231. /package/dist/{config-V7BLK5WP.js.map → config-UU27ALAA.js.map} +0 -0
  232. /package/dist/{digitalocean-XFH2V2A3.js.map → config-WRACCRPN.js.map} +0 -0
  233. /package/dist/{discord-OQMSHM3L.js.map → digitalocean-QDHTRS2W.js.map} +0 -0
  234. /package/dist/{dropbox-IAOKM7G5.js.map → discord-ERUI7OAQ.js.map} +0 -0
  235. /package/dist/{gcs-JYZB6CVP.js.map → dropbox-3U6D4HLE.js.map} +0 -0
  236. /package/dist/{gdocs-PHKQGLZL.js.map → gcal-MTBSDG34.js.map} +0 -0
  237. /package/dist/{gdrive-4JQLGOOP.js.map → gcs-KNGRBBET.js.map} +0 -0
  238. /package/dist/{github-DU7Z4RSU.js.map → gdocs-RUIOIRKP.js.map} +0 -0
  239. /package/dist/{github_ci-XSAJDNXC.js.map → gdrive-5JB7ZKEP.js.map} +0 -0
  240. /package/dist/{gmail-DEQP2M7T.js.map → github-CIXBFBVO.js.map} +0 -0
  241. /package/dist/{gsheets-KCIHSMOK.js.map → github_ci-HR6YOYAO.js.map} +0 -0
  242. /package/dist/{gslides-2KBUKKM5.js.map → gmail-JHGWTQU5.js.map} +0 -0
  243. /package/dist/{langfuse-FNCMKFSL.js.map → gsheets-N54JO2RS.js.map} +0 -0
  244. /package/dist/{linear-XTFO4WKD.js.map → gslides-B4VMNLMB.js.map} +0 -0
  245. /package/dist/{minio-NGPBAJY3.js.map → langfuse-HEUJGDOC.js.map} +0 -0
  246. /package/dist/{mongodb-PGOX6QSY.js.map → linear-J4QQ3CA6.js.map} +0 -0
  247. /package/dist/{notion-HYYNQ7KI.js.map → minio-BXWHJ6K5.js.map} +0 -0
  248. /package/dist/{oci-EGDBSMLM.js.map → mongodb-YZP643ZU.js.map} +0 -0
  249. /package/dist/{opfs-5WGXB5OG.js.map → notion-I5S5SRLO.js.map} +0 -0
  250. /package/dist/{postgres-5HYED4AC.js.map → oci-XOPKH4AE.js.map} +0 -0
  251. /package/dist/{qingstor-2T4Y6MEG.js.map → opfs-36QO72Y5.js.map} +0 -0
  252. /package/dist/{r2-3B45S2KV.js.map → postgres-HPOMN2AR.js.map} +0 -0
  253. /package/dist/{s3-GI7SDKGR.js.map → qingstor-JKAHLK62.js.map} +0 -0
  254. /package/dist/{scaleway-ICCXVAY6.js.map → r2-L3QXQ76M.js.map} +0 -0
  255. /package/dist/{seaweedfs-MF77EC33.js.map → s3-LRZJPGHK.js.map} +0 -0
  256. /package/dist/{slack-6LGQERIU.js.map → scaleway-CGNDYNKS.js.map} +0 -0
  257. /package/dist/{supabase-XTOVMHXU.js.map → seaweedfs-BSQWCBIR.js.map} +0 -0
  258. /package/dist/{tencent-FXFKSOTN.js.map → slack-62ECSENR.js.map} +0 -0
  259. /package/dist/{trello-DZK4NEVY.js.map → supabase-J66NXWAF.js.map} +0 -0
  260. /package/dist/{wasabi-KVE2B6RB.js.map → tencent-AC667LV3.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Workspace as Workspace$1, Resource, WorkspaceOptions, Accessor, RegisteredOp, RegisteredCommand, PathSpec, FileStat, FindOptions, S3Config, S3Accessor, IndexCacheStore, S3ConfigRedacted, S3BrowserPresignedUrlProvider, SlackAccessor, DiscordAccessor, PostgresConfigResolved, PgDriver, PostgresAccessor, PostgresConfig, PgQueryResult, MongoDBConfigResolved, MongoDriver, MongoDBAccessor, MongoDBConfig, EntityKind, MongoCollectionSpec, MongoFindOptions, MongoIterOptions, MongoIndexAccess, TrelloAccessor, LinearAccessor, NotionAccessor, LangfuseAccessor, GitHubAccessor, GitHubCIAccessor, GDocsAccessor, GSheetsAccessor, GSlidesAccessor, GDriveAccessor, DropboxAccessor, BoxAccessor, GoogleConfig, GmailAccessor, GoogleConfigRedacted } from '@struktoai/mirage-core';
1
+ import { Workspace as Workspace$1, Resource, WorkspaceOptions, Accessor, RegisteredOp, RegisteredCommand, PathSpec, FileStat, FindOptions, S3Config, S3Accessor, IndexCacheStore, S3ConfigRedacted, ConfigOf, z, S3BrowserPresignedUrlProvider, RedactedConfig, SlackAccessor, DiscordAccessor, PostgresConfigResolved, PgDriver, PostgresAccessor, PostgresConfig, PgQueryResult, MongoDBConfigResolved, MongoDriver, MongoDBAccessor, MongoDBConfig, EntityKind, MongoCollectionSpec, MongoFindOptions, MongoIterOptions, MongoIndexAccess, TrelloAccessor, LinearAccessor, NotionAccessor, LangfuseAccessor, GitHubAccessor, GitHubCIAccessor, GoogleConfig, GDocsAccessor, GoogleConfigRedacted, GSheetsAccessor, GSlidesAccessor, GDriveAccessor, DropboxAccessor, BoxAccessor, GmailAccessor, GCalAccessor } from '@struktoai/mirage-core';
2
2
  export * from '@struktoai/mirage-core';
3
- export { GoogleConfig as GmailConfig, GoogleConfigRedacted as GmailConfigRedacted, MountMode, S3BrowserOperation, S3BrowserPresignedUrlProvider, S3BrowserSignOptions, S3Config, S3ConfigRedacted, normalizeGoogleConfig as normalizeGmailConfig, redactGoogleConfig as redactGmailConfig, redactS3Config } from '@struktoai/mirage-core';
3
+ export { GoogleConfig as GCalConfig, GoogleConfigRedacted as GCalConfigRedacted, GoogleConfig as GDocsConfig, GoogleConfigRedacted as GDocsConfigRedacted, GoogleConfig as GDriveConfig, GoogleConfigRedacted as GDriveConfigRedacted, GoogleConfig as GSheetsConfig, GoogleConfigRedacted as GSheetsConfigRedacted, GoogleConfig as GSlidesConfig, GoogleConfigRedacted as GSlidesConfigRedacted, GoogleConfig as GmailConfig, GoogleConfigRedacted as GmailConfigRedacted, Mem0Config, Mem0Resource, MountMode, OneDriveConfig, OneDriveResource, S3BrowserOperation, S3BrowserPresignedUrlProvider, S3BrowserSignOptions, S3Config, S3ConfigRedacted, SharePointConfig, SharePointResource, normalizeGoogleConfig as normalizeGCalConfig, normalizeGoogleConfig as normalizeGDocsConfig, normalizeGoogleConfig as normalizeGDriveConfig, normalizeGoogleConfig as normalizeGSheetsConfig, normalizeGoogleConfig as normalizeGSlidesConfig, normalizeGoogleConfig as normalizeGmailConfig, redactGoogleConfig as redactGCalConfig, redactGoogleConfig as redactGDocsConfig, redactGoogleConfig as redactGDriveConfig, redactGoogleConfig as redactGSheetsConfig, redactGoogleConfig as redactGSlidesConfig, redactGoogleConfig as redactGmailConfig, redactS3Config } from '@struktoai/mirage-core';
4
4
  import { OAuthClientProvider } from '@modelcontextprotocol/sdk/client/auth.js';
5
5
 
6
6
  declare class Workspace extends Workspace$1 {
@@ -26,6 +26,7 @@ interface OPFSResourceState {
26
26
  }
27
27
  declare class OPFSResource implements Resource {
28
28
  readonly kind: "opfs";
29
+ readonly sizesAlwaysKnown: boolean;
29
30
  readonly prompt = "{prefix}\n Browser Origin Private File System. Persistent per-origin storage that survives page reloads.\n Standard commands: ls, cat, head, tail, grep, wc, find, tree, mkdir, touch, cp, mv, rm, tee.";
30
31
  readonly rootName: string;
31
32
  readonly accessor: OPFSAccessor;
@@ -81,12 +82,14 @@ declare class S3Resource implements Resource {
81
82
  readonly supportsSnapshot: boolean;
82
83
  readonly kind: string;
83
84
  readonly cachesReads: boolean;
85
+ readonly sizesAlwaysKnown: boolean;
84
86
  readonly indexTtl: number;
85
87
  readonly prompt: string;
86
88
  readonly config: S3Config;
87
89
  readonly accessor: S3Accessor;
88
90
  readonly index: IndexCacheStore;
89
91
  constructor(config: S3Config);
92
+ storageId(): string;
90
93
  open(): Promise<void>;
91
94
  close(): Promise<void>;
92
95
  commands(): readonly RegisteredCommand[];
@@ -108,24 +111,23 @@ declare class S3Resource implements Resource {
108
111
  du(p: PathSpec): Promise<number>;
109
112
  find(p: PathSpec, options?: FindOptions): Promise<string[]>;
110
113
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
111
- fingerprint(p: PathSpec): Promise<string | null>;
112
114
  getState(): Promise<S3ResourceState>;
113
115
  loadState(_state: S3ResourceState): Promise<void>;
114
- _duAll(p: PathSpec): Promise<[[string, number][], number]>;
116
+ _duEntries(p: PathSpec): Promise<[[string, number][], number]>;
115
117
  _rangeRead(p: PathSpec, offset: number, size: number): Promise<Uint8Array>;
116
118
  _create(p: PathSpec): Promise<void>;
117
119
  }
118
120
 
119
- interface GCSConfig {
120
- bucket: string;
121
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
122
- region?: string;
123
- endpoint?: string;
124
- defaultContentType?: string;
125
- }
126
- interface GCSConfigRedacted extends Omit<GCSConfig, 'presignedUrlProvider'> {
127
- presignedUrlProvider: '<REDACTED>';
128
- }
121
+ declare const GCSConfigSchema: z.ZodObject<{
122
+ bucket: z.ZodString;
123
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
124
+ region: z.ZodOptional<z.ZodString>;
125
+ endpoint: z.ZodOptional<z.ZodString>;
126
+ defaultContentType: z.ZodOptional<z.ZodString>;
127
+ keyPrefix: z.ZodOptional<z.ZodString>;
128
+ }, z.core.$strip>;
129
+ type GCSConfig = ConfigOf<typeof GCSConfigSchema>;
130
+ type GCSConfigRedacted = RedactedConfig<GCSConfig, 'presignedUrlProvider'>;
129
131
  declare function gcsToS3Config(config: GCSConfig): S3Config;
130
132
  declare function redactGcsConfig(config: GCSConfig): GCSConfigRedacted;
131
133
 
@@ -148,17 +150,17 @@ declare class GCSResource extends S3Resource {
148
150
 
149
151
  declare const GCS_BROWSER_PROMPT = "{prefix}\n Remote Google Cloud Storage bucket accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
150
152
 
151
- interface R2Config {
152
- bucket: string;
153
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
154
- accountId?: string;
155
- region?: string;
156
- endpoint?: string;
157
- defaultContentType?: string;
158
- }
159
- interface R2ConfigRedacted extends Omit<R2Config, 'presignedUrlProvider'> {
160
- presignedUrlProvider: '<REDACTED>';
161
- }
153
+ declare const R2ConfigSchema: z.ZodObject<{
154
+ bucket: z.ZodString;
155
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
156
+ accountId: z.ZodOptional<z.ZodString>;
157
+ region: z.ZodOptional<z.ZodString>;
158
+ endpoint: z.ZodOptional<z.ZodString>;
159
+ defaultContentType: z.ZodOptional<z.ZodString>;
160
+ keyPrefix: z.ZodOptional<z.ZodString>;
161
+ }, z.core.$strip>;
162
+ type R2Config = ConfigOf<typeof R2ConfigSchema>;
163
+ type R2ConfigRedacted = RedactedConfig<R2Config, 'presignedUrlProvider'>;
162
164
  declare function resolvedR2Endpoint(config: R2Config): string | undefined;
163
165
  declare function r2ToS3Config(config: R2Config): S3Config;
164
166
  declare function redactR2Config(config: R2Config): R2ConfigRedacted;
@@ -182,17 +184,17 @@ declare class R2Resource extends S3Resource {
182
184
 
183
185
  declare 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 \u2014 see S3BrowserPresignedUrlProvider docs.";
184
186
 
185
- interface OCIConfig {
186
- bucket: string;
187
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
188
- namespace?: string;
189
- region?: string;
190
- endpoint?: string;
191
- defaultContentType?: string;
192
- }
193
- interface OCIConfigRedacted extends Omit<OCIConfig, 'presignedUrlProvider'> {
194
- presignedUrlProvider: '<REDACTED>';
195
- }
187
+ declare const OCIConfigSchema: z.ZodObject<{
188
+ bucket: z.ZodString;
189
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
190
+ namespace: z.ZodOptional<z.ZodString>;
191
+ region: z.ZodOptional<z.ZodString>;
192
+ endpoint: z.ZodOptional<z.ZodString>;
193
+ defaultContentType: z.ZodOptional<z.ZodString>;
194
+ keyPrefix: z.ZodOptional<z.ZodString>;
195
+ }, z.core.$strip>;
196
+ type OCIConfig = ConfigOf<typeof OCIConfigSchema>;
197
+ type OCIConfigRedacted = RedactedConfig<OCIConfig, 'presignedUrlProvider'>;
196
198
  declare function resolvedOciEndpoint(config: OCIConfig): string | undefined;
197
199
  declare function ociToS3Config(config: OCIConfig): S3Config;
198
200
  declare function redactOciConfig(config: OCIConfig): OCIConfigRedacted;
@@ -216,17 +218,17 @@ declare class OCIResource extends S3Resource {
216
218
 
217
219
  declare const OCI_BROWSER_PROMPT = "{prefix}\n Remote Oracle Cloud Object Storage accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
218
220
 
219
- interface SupabaseConfig {
220
- bucket: string;
221
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
222
- projectRef?: string;
223
- region?: string;
224
- endpoint?: string;
225
- defaultContentType?: string;
226
- }
227
- interface SupabaseConfigRedacted extends Omit<SupabaseConfig, 'presignedUrlProvider'> {
228
- presignedUrlProvider: '<REDACTED>';
229
- }
221
+ declare const SupabaseConfigSchema: z.ZodObject<{
222
+ bucket: z.ZodString;
223
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
224
+ projectRef: z.ZodOptional<z.ZodString>;
225
+ region: z.ZodOptional<z.ZodString>;
226
+ endpoint: z.ZodOptional<z.ZodString>;
227
+ defaultContentType: z.ZodOptional<z.ZodString>;
228
+ keyPrefix: z.ZodOptional<z.ZodString>;
229
+ }, z.core.$strip>;
230
+ type SupabaseConfig = ConfigOf<typeof SupabaseConfigSchema>;
231
+ type SupabaseConfigRedacted = RedactedConfig<SupabaseConfig, 'presignedUrlProvider'>;
230
232
  declare function resolvedSupabaseEndpoint(config: SupabaseConfig): string | undefined;
231
233
  declare function supabaseToS3Config(config: SupabaseConfig): S3Config;
232
234
  declare function redactSupabaseConfig(config: SupabaseConfig): SupabaseConfigRedacted;
@@ -250,16 +252,16 @@ declare class SupabaseResource extends S3Resource {
250
252
 
251
253
  declare const SUPABASE_BROWSER_PROMPT = "{prefix}\n Remote Supabase Storage bucket accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
252
254
 
253
- interface MinIOConfig {
254
- bucket: string;
255
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
256
- endpoint?: string;
257
- region?: string;
258
- defaultContentType?: string;
259
- }
260
- interface MinIOConfigRedacted extends Omit<MinIOConfig, 'presignedUrlProvider'> {
261
- presignedUrlProvider: '<REDACTED>';
262
- }
255
+ declare const MinIOConfigSchema: z.ZodObject<{
256
+ bucket: z.ZodString;
257
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
258
+ endpoint: z.ZodOptional<z.ZodString>;
259
+ region: z.ZodOptional<z.ZodString>;
260
+ defaultContentType: z.ZodOptional<z.ZodString>;
261
+ keyPrefix: z.ZodOptional<z.ZodString>;
262
+ }, z.core.$strip>;
263
+ type MinIOConfig = ConfigOf<typeof MinIOConfigSchema>;
264
+ type MinIOConfigRedacted = RedactedConfig<MinIOConfig, 'presignedUrlProvider'>;
263
265
  declare function minioToS3Config(config: MinIOConfig): S3Config;
264
266
  declare function redactMinIOConfig(config: MinIOConfig): MinIOConfigRedacted;
265
267
 
@@ -282,16 +284,16 @@ declare class MinIOResource extends S3Resource {
282
284
 
283
285
  declare const MINIO_BROWSER_PROMPT = "{prefix}\n Remote MinIO bucket (S3-compatible) accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
284
286
 
285
- interface SeaweedFSConfig {
286
- bucket: string;
287
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
288
- endpoint?: string;
289
- region?: string;
290
- defaultContentType?: string;
291
- }
292
- interface SeaweedFSConfigRedacted extends Omit<SeaweedFSConfig, 'presignedUrlProvider'> {
293
- presignedUrlProvider: '<REDACTED>';
294
- }
287
+ declare const SeaweedFSConfigSchema: z.ZodObject<{
288
+ bucket: z.ZodString;
289
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
290
+ endpoint: z.ZodOptional<z.ZodString>;
291
+ region: z.ZodOptional<z.ZodString>;
292
+ defaultContentType: z.ZodOptional<z.ZodString>;
293
+ keyPrefix: z.ZodOptional<z.ZodString>;
294
+ }, z.core.$strip>;
295
+ type SeaweedFSConfig = ConfigOf<typeof SeaweedFSConfigSchema>;
296
+ type SeaweedFSConfigRedacted = RedactedConfig<SeaweedFSConfig, 'presignedUrlProvider'>;
295
297
  declare function seaweedfsToS3Config(config: SeaweedFSConfig): S3Config;
296
298
  declare function redactSeaweedFSConfig(config: SeaweedFSConfig): SeaweedFSConfigRedacted;
297
299
 
@@ -314,16 +316,16 @@ declare class SeaweedFSResource extends S3Resource {
314
316
 
315
317
  declare 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 \u2014 see S3BrowserPresignedUrlProvider docs.";
316
318
 
317
- interface CephConfig {
318
- bucket: string;
319
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
320
- endpoint?: string;
321
- region?: string;
322
- defaultContentType?: string;
323
- }
324
- interface CephConfigRedacted extends Omit<CephConfig, 'presignedUrlProvider'> {
325
- presignedUrlProvider: '<REDACTED>';
326
- }
319
+ declare const CephConfigSchema: z.ZodObject<{
320
+ bucket: z.ZodString;
321
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
322
+ endpoint: z.ZodOptional<z.ZodString>;
323
+ region: z.ZodOptional<z.ZodString>;
324
+ defaultContentType: z.ZodOptional<z.ZodString>;
325
+ keyPrefix: z.ZodOptional<z.ZodString>;
326
+ }, z.core.$strip>;
327
+ type CephConfig = ConfigOf<typeof CephConfigSchema>;
328
+ type CephConfigRedacted = RedactedConfig<CephConfig, 'presignedUrlProvider'>;
327
329
  declare function cephToS3Config(config: CephConfig): S3Config;
328
330
  declare function redactCephConfig(config: CephConfig): CephConfigRedacted;
329
331
 
@@ -346,16 +348,16 @@ declare class CephResource extends S3Resource {
346
348
 
347
349
  declare const CEPH_BROWSER_PROMPT = "{prefix}\n Remote Ceph Rados Gateway bucket (S3-compatible) accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
348
350
 
349
- interface WasabiConfig {
350
- bucket: string;
351
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
352
- region?: string;
353
- endpoint?: string;
354
- defaultContentType?: string;
355
- }
356
- interface WasabiConfigRedacted extends Omit<WasabiConfig, 'presignedUrlProvider'> {
357
- presignedUrlProvider: '<REDACTED>';
358
- }
351
+ declare const WasabiConfigSchema: z.ZodObject<{
352
+ bucket: z.ZodString;
353
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
354
+ region: z.ZodOptional<z.ZodString>;
355
+ endpoint: z.ZodOptional<z.ZodString>;
356
+ defaultContentType: z.ZodOptional<z.ZodString>;
357
+ keyPrefix: z.ZodOptional<z.ZodString>;
358
+ }, z.core.$strip>;
359
+ type WasabiConfig = ConfigOf<typeof WasabiConfigSchema>;
360
+ type WasabiConfigRedacted = RedactedConfig<WasabiConfig, 'presignedUrlProvider'>;
359
361
  declare function resolvedWasabiEndpoint(config: WasabiConfig): string;
360
362
  declare function wasabiToS3Config(config: WasabiConfig): S3Config;
361
363
  declare function redactWasabiConfig(config: WasabiConfig): WasabiConfigRedacted;
@@ -379,16 +381,16 @@ declare class WasabiResource extends S3Resource {
379
381
 
380
382
  declare const WASABI_BROWSER_PROMPT = "{prefix}\n Remote Wasabi bucket (S3-compatible) accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
381
383
 
382
- interface BackblazeConfig {
383
- bucket: string;
384
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
385
- region?: string;
386
- endpoint?: string;
387
- defaultContentType?: string;
388
- }
389
- interface BackblazeConfigRedacted extends Omit<BackblazeConfig, 'presignedUrlProvider'> {
390
- presignedUrlProvider: '<REDACTED>';
391
- }
384
+ declare const BackblazeConfigSchema: z.ZodObject<{
385
+ bucket: z.ZodString;
386
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
387
+ region: z.ZodOptional<z.ZodString>;
388
+ endpoint: z.ZodOptional<z.ZodString>;
389
+ defaultContentType: z.ZodOptional<z.ZodString>;
390
+ keyPrefix: z.ZodOptional<z.ZodString>;
391
+ }, z.core.$strip>;
392
+ type BackblazeConfig = ConfigOf<typeof BackblazeConfigSchema>;
393
+ type BackblazeConfigRedacted = RedactedConfig<BackblazeConfig, 'presignedUrlProvider'>;
392
394
  declare function resolvedBackblazeEndpoint(config: BackblazeConfig): string | undefined;
393
395
  declare function backblazeToS3Config(config: BackblazeConfig): S3Config;
394
396
  declare function redactBackblazeConfig(config: BackblazeConfig): BackblazeConfigRedacted;
@@ -412,16 +414,16 @@ declare class BackblazeResource extends S3Resource {
412
414
 
413
415
  declare const BACKBLAZE_BROWSER_PROMPT = "{prefix}\n Remote Backblaze B2 bucket (S3-compatible) accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
414
416
 
415
- interface DigitalOceanConfig {
416
- bucket: string;
417
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
418
- region?: string;
419
- endpoint?: string;
420
- defaultContentType?: string;
421
- }
422
- interface DigitalOceanConfigRedacted extends Omit<DigitalOceanConfig, 'presignedUrlProvider'> {
423
- presignedUrlProvider: '<REDACTED>';
424
- }
417
+ declare const DigitalOceanConfigSchema: z.ZodObject<{
418
+ bucket: z.ZodString;
419
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
420
+ region: z.ZodOptional<z.ZodString>;
421
+ endpoint: z.ZodOptional<z.ZodString>;
422
+ defaultContentType: z.ZodOptional<z.ZodString>;
423
+ keyPrefix: z.ZodOptional<z.ZodString>;
424
+ }, z.core.$strip>;
425
+ type DigitalOceanConfig = ConfigOf<typeof DigitalOceanConfigSchema>;
426
+ type DigitalOceanConfigRedacted = RedactedConfig<DigitalOceanConfig, 'presignedUrlProvider'>;
425
427
  declare function resolvedDigitalOceanEndpoint(config: DigitalOceanConfig): string | undefined;
426
428
  declare function digitalOceanToS3Config(config: DigitalOceanConfig): S3Config;
427
429
  declare function redactDigitalOceanConfig(config: DigitalOceanConfig): DigitalOceanConfigRedacted;
@@ -445,16 +447,16 @@ declare class DigitalOceanResource extends S3Resource {
445
447
 
446
448
  declare const DIGITALOCEAN_BROWSER_PROMPT = "{prefix}\n Remote DigitalOcean Spaces bucket (S3-compatible) accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
447
449
 
448
- interface TencentConfig {
449
- bucket: string;
450
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
451
- region?: string;
452
- endpoint?: string;
453
- defaultContentType?: string;
454
- }
455
- interface TencentConfigRedacted extends Omit<TencentConfig, 'presignedUrlProvider'> {
456
- presignedUrlProvider: '<REDACTED>';
457
- }
450
+ declare const TencentConfigSchema: z.ZodObject<{
451
+ bucket: z.ZodString;
452
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
453
+ region: z.ZodOptional<z.ZodString>;
454
+ endpoint: z.ZodOptional<z.ZodString>;
455
+ defaultContentType: z.ZodOptional<z.ZodString>;
456
+ keyPrefix: z.ZodOptional<z.ZodString>;
457
+ }, z.core.$strip>;
458
+ type TencentConfig = ConfigOf<typeof TencentConfigSchema>;
459
+ type TencentConfigRedacted = RedactedConfig<TencentConfig, 'presignedUrlProvider'>;
458
460
  declare function resolvedTencentEndpoint(config: TencentConfig): string | undefined;
459
461
  declare function tencentToS3Config(config: TencentConfig): S3Config;
460
462
  declare function redactTencentConfig(config: TencentConfig): TencentConfigRedacted;
@@ -478,16 +480,16 @@ declare class TencentResource extends S3Resource {
478
480
 
479
481
  declare 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 \u2014 see S3BrowserPresignedUrlProvider docs.";
480
482
 
481
- interface AliyunConfig {
482
- bucket: string;
483
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
484
- region?: string;
485
- endpoint?: string;
486
- defaultContentType?: string;
487
- }
488
- interface AliyunConfigRedacted extends Omit<AliyunConfig, 'presignedUrlProvider'> {
489
- presignedUrlProvider: '<REDACTED>';
490
- }
483
+ declare const AliyunConfigSchema: z.ZodObject<{
484
+ bucket: z.ZodString;
485
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
486
+ region: z.ZodOptional<z.ZodString>;
487
+ endpoint: z.ZodOptional<z.ZodString>;
488
+ defaultContentType: z.ZodOptional<z.ZodString>;
489
+ keyPrefix: z.ZodOptional<z.ZodString>;
490
+ }, z.core.$strip>;
491
+ type AliyunConfig = ConfigOf<typeof AliyunConfigSchema>;
492
+ type AliyunConfigRedacted = RedactedConfig<AliyunConfig, 'presignedUrlProvider'>;
491
493
  declare function resolvedAliyunEndpoint(config: AliyunConfig): string | undefined;
492
494
  declare function aliyunToS3Config(config: AliyunConfig): S3Config;
493
495
  declare function redactAliyunConfig(config: AliyunConfig): AliyunConfigRedacted;
@@ -511,16 +513,16 @@ declare class AliyunResource extends S3Resource {
511
513
 
512
514
  declare 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 \u2014 see S3BrowserPresignedUrlProvider docs.";
513
515
 
514
- interface ScalewayConfig {
515
- bucket: string;
516
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
517
- region?: string;
518
- endpoint?: string;
519
- defaultContentType?: string;
520
- }
521
- interface ScalewayConfigRedacted extends Omit<ScalewayConfig, 'presignedUrlProvider'> {
522
- presignedUrlProvider: '<REDACTED>';
523
- }
516
+ declare const ScalewayConfigSchema: z.ZodObject<{
517
+ bucket: z.ZodString;
518
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
519
+ region: z.ZodOptional<z.ZodString>;
520
+ endpoint: z.ZodOptional<z.ZodString>;
521
+ defaultContentType: z.ZodOptional<z.ZodString>;
522
+ keyPrefix: z.ZodOptional<z.ZodString>;
523
+ }, z.core.$strip>;
524
+ type ScalewayConfig = ConfigOf<typeof ScalewayConfigSchema>;
525
+ type ScalewayConfigRedacted = RedactedConfig<ScalewayConfig, 'presignedUrlProvider'>;
524
526
  declare function resolvedScalewayEndpoint(config: ScalewayConfig): string | undefined;
525
527
  declare function scalewayToS3Config(config: ScalewayConfig): S3Config;
526
528
  declare function redactScalewayConfig(config: ScalewayConfig): ScalewayConfigRedacted;
@@ -544,16 +546,16 @@ declare class ScalewayResource extends S3Resource {
544
546
 
545
547
  declare const SCALEWAY_BROWSER_PROMPT = "{prefix}\n Remote Scaleway Object Storage bucket (S3-compatible) accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
546
548
 
547
- interface QingStorConfig {
548
- bucket: string;
549
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
550
- region?: string;
551
- endpoint?: string;
552
- defaultContentType?: string;
553
- }
554
- interface QingStorConfigRedacted extends Omit<QingStorConfig, 'presignedUrlProvider'> {
555
- presignedUrlProvider: '<REDACTED>';
556
- }
549
+ declare const QingStorConfigSchema: z.ZodObject<{
550
+ bucket: z.ZodString;
551
+ presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
552
+ region: z.ZodOptional<z.ZodString>;
553
+ endpoint: z.ZodOptional<z.ZodString>;
554
+ defaultContentType: z.ZodOptional<z.ZodString>;
555
+ keyPrefix: z.ZodOptional<z.ZodString>;
556
+ }, z.core.$strip>;
557
+ type QingStorConfig = ConfigOf<typeof QingStorConfigSchema>;
558
+ type QingStorConfigRedacted = RedactedConfig<QingStorConfig, 'presignedUrlProvider'>;
557
559
  declare function resolvedQingStorEndpoint(config: QingStorConfig): string | undefined;
558
560
  declare function qingStorToS3Config(config: QingStorConfig): S3Config;
559
561
  declare function redactQingStorConfig(config: QingStorConfig): QingStorConfigRedacted;
@@ -577,14 +579,13 @@ declare class QingStorResource extends S3Resource {
577
579
 
578
580
  declare const QINGSTOR_BROWSER_PROMPT = "{prefix}\n Remote QingStor bucket (S3-compatible) accessed via presigned URLs (browser runtime).\n Supports the full filesystem command set: ls/tree/cat/grep/find/du/cp/mv/rm/etc.\n Listing operations require the presigner to sign LIST/COPY operations in\n addition to GET/PUT/HEAD/DELETE \u2014 see S3BrowserPresignedUrlProvider docs.";
579
581
 
580
- interface SlackConfig {
581
- proxyUrl: string;
582
- getHeaders?: () => Promise<Record<string, string>> | Record<string, string>;
583
- }
584
- interface SlackConfigRedacted {
585
- proxyUrl: string;
586
- getHeaders?: '<REDACTED>';
587
- }
582
+ type HeaderProvider$1 = () => Promise<Record<string, string>> | Record<string, string>;
583
+ declare const SlackConfigSchema: z.ZodObject<{
584
+ proxyUrl: z.ZodString;
585
+ getHeaders: z.ZodOptional<z.ZodCustom<HeaderProvider$1, HeaderProvider$1>>;
586
+ }, z.core.$strip>;
587
+ type SlackConfig = ConfigOf<typeof SlackConfigSchema>;
588
+ type SlackConfigRedacted = RedactedConfig<SlackConfig, 'getHeaders'>;
588
589
  declare function redactSlackConfig(config: SlackConfig): SlackConfigRedacted;
589
590
 
590
591
  interface SlackResourceState {
@@ -594,6 +595,7 @@ interface SlackResourceState {
594
595
  declare class SlackResource implements Resource {
595
596
  readonly kind: string;
596
597
  readonly cachesReads: boolean;
598
+ readonly sizesAlwaysKnown: boolean;
597
599
  readonly indexTtl: number;
598
600
  readonly prompt: string;
599
601
  readonly writePrompt: string;
@@ -608,20 +610,18 @@ declare class SlackResource implements Resource {
608
610
  readFile(p: PathSpec): Promise<Uint8Array>;
609
611
  readdir(p: PathSpec): Promise<string[]>;
610
612
  stat(p: PathSpec): Promise<FileStat>;
611
- fingerprint(p: PathSpec): Promise<string | null>;
612
613
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
613
614
  getState(): Promise<SlackResourceState>;
614
615
  loadState(_state: SlackResourceState): Promise<void>;
615
616
  }
616
617
 
617
- interface DiscordConfig {
618
- proxyUrl: string;
619
- getHeaders?: () => Promise<Record<string, string>> | Record<string, string>;
620
- }
621
- interface DiscordConfigRedacted {
622
- proxyUrl: string;
623
- getHeaders?: '<REDACTED>';
624
- }
618
+ type HeaderProvider = () => Promise<Record<string, string>> | Record<string, string>;
619
+ declare const DiscordConfigSchema: z.ZodObject<{
620
+ proxyUrl: z.ZodString;
621
+ getHeaders: z.ZodOptional<z.ZodCustom<HeaderProvider, HeaderProvider>>;
622
+ }, z.core.$strip>;
623
+ type DiscordConfig = ConfigOf<typeof DiscordConfigSchema>;
624
+ type DiscordConfigRedacted = RedactedConfig<DiscordConfig, 'getHeaders'>;
625
625
  declare function redactDiscordConfig(config: DiscordConfig): DiscordConfigRedacted;
626
626
 
627
627
  interface DiscordResourceState {
@@ -631,6 +631,7 @@ interface DiscordResourceState {
631
631
  declare class DiscordResource implements Resource {
632
632
  readonly kind: string;
633
633
  readonly cachesReads: boolean;
634
+ readonly sizesAlwaysKnown: boolean;
634
635
  readonly indexTtl: number;
635
636
  readonly prompt: string;
636
637
  readonly writePrompt: string;
@@ -645,7 +646,6 @@ declare class DiscordResource implements Resource {
645
646
  readFile(p: PathSpec): Promise<Uint8Array>;
646
647
  readdir(p: PathSpec): Promise<string[]>;
647
648
  stat(p: PathSpec): Promise<FileStat>;
648
- fingerprint(p: PathSpec): Promise<string | null>;
649
649
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
650
650
  getState(): Promise<DiscordResourceState>;
651
651
  loadState(_state: DiscordResourceState): Promise<void>;
@@ -734,20 +734,15 @@ declare class HttpMongoDriver implements MongoDriver {
734
734
  close(): Promise<void>;
735
735
  }
736
736
 
737
- interface TrelloConfig {
738
- apiKey: string;
739
- apiToken: string;
740
- workspaceId?: string;
741
- boardIds?: readonly string[];
742
- baseUrl?: string;
743
- }
744
- interface TrelloConfigRedacted {
745
- apiKey: '<REDACTED>';
746
- apiToken: '<REDACTED>';
747
- workspaceId?: string;
748
- boardIds?: readonly string[];
749
- baseUrl?: string;
750
- }
737
+ declare const TrelloConfigSchema: z.ZodObject<{
738
+ apiKey: z.ZodString;
739
+ apiToken: z.ZodString;
740
+ workspaceId: z.ZodOptional<z.ZodString>;
741
+ boardIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
742
+ baseUrl: z.ZodOptional<z.ZodString>;
743
+ }, z.core.$strip>;
744
+ type TrelloConfig = ConfigOf<typeof TrelloConfigSchema>;
745
+ type TrelloConfigRedacted = RedactedConfig<TrelloConfig, 'apiKey' | 'apiToken'>;
751
746
  declare function redactTrelloConfig(config: TrelloConfig): TrelloConfigRedacted;
752
747
 
753
748
  interface TrelloResourceState {
@@ -772,24 +767,19 @@ declare class TrelloResource implements Resource {
772
767
  readFile(p: PathSpec): Promise<Uint8Array>;
773
768
  readdir(p: PathSpec): Promise<string[]>;
774
769
  stat(p: PathSpec): Promise<FileStat>;
775
- fingerprint(p: PathSpec): Promise<string | null>;
776
770
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
777
771
  getState(): Promise<TrelloResourceState>;
778
772
  loadState(_state: TrelloResourceState): Promise<void>;
779
773
  }
780
774
 
781
- interface LinearConfig {
782
- apiKey: string;
783
- workspace?: string;
784
- teamIds?: readonly string[];
785
- baseUrl?: string;
786
- }
787
- interface LinearConfigRedacted {
788
- apiKey: '<REDACTED>';
789
- workspace?: string;
790
- teamIds?: readonly string[];
791
- baseUrl?: string;
792
- }
775
+ declare const LinearConfigSchema: z.ZodObject<{
776
+ apiKey: z.ZodString;
777
+ workspace: z.ZodOptional<z.ZodString>;
778
+ teamIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
779
+ baseUrl: z.ZodOptional<z.ZodString>;
780
+ }, z.core.$strip>;
781
+ type LinearConfig = ConfigOf<typeof LinearConfigSchema>;
782
+ type LinearConfigRedacted = RedactedConfig<LinearConfig, 'apiKey'>;
793
783
  declare function redactLinearConfig(config: LinearConfig): LinearConfigRedacted;
794
784
 
795
785
  interface LinearResourceState {
@@ -799,6 +789,7 @@ interface LinearResourceState {
799
789
  declare class LinearResource implements Resource {
800
790
  readonly kind: string;
801
791
  readonly cachesReads: boolean;
792
+ readonly sizesAlwaysKnown: boolean;
802
793
  readonly indexTtl: number;
803
794
  readonly prompt: string;
804
795
  readonly writePrompt: string;
@@ -814,20 +805,17 @@ declare class LinearResource implements Resource {
814
805
  readFile(p: PathSpec): Promise<Uint8Array>;
815
806
  readdir(p: PathSpec): Promise<string[]>;
816
807
  stat(p: PathSpec): Promise<FileStat>;
817
- fingerprint(p: PathSpec): Promise<string | null>;
818
808
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
819
809
  getState(): Promise<LinearResourceState>;
820
810
  loadState(_state: LinearResourceState): Promise<void>;
821
811
  }
822
812
 
823
- interface NotionConfig {
824
- authProvider: OAuthClientProvider;
825
- serverUrl?: string;
826
- }
827
- interface NotionConfigRedacted {
828
- authProvider: '<REDACTED>';
829
- serverUrl?: string;
830
- }
813
+ declare const NotionConfigSchema: z.ZodObject<{
814
+ authProvider: z.ZodCustom<OAuthClientProvider, OAuthClientProvider>;
815
+ serverUrl: z.ZodOptional<z.ZodString>;
816
+ }, z.core.$strip>;
817
+ type NotionConfig = ConfigOf<typeof NotionConfigSchema>;
818
+ type NotionConfigRedacted = RedactedConfig<NotionConfig, 'authProvider'>;
831
819
  declare function redactNotionConfig(config: NotionConfig): NotionConfigRedacted;
832
820
 
833
821
  interface NotionResourceState {
@@ -851,28 +839,21 @@ declare class NotionResource implements Resource {
851
839
  readFile(p: PathSpec): Promise<Uint8Array>;
852
840
  readdir(p: PathSpec): Promise<string[]>;
853
841
  stat(p: PathSpec): Promise<FileStat>;
854
- fingerprint(p: PathSpec): Promise<string | null>;
855
842
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
856
843
  getState(): Promise<NotionResourceState>;
857
844
  loadState(_state: NotionResourceState): Promise<void>;
858
845
  }
859
846
 
860
- interface LangfuseConfig {
861
- publicKey: string;
862
- secretKey: string;
863
- host?: string;
864
- defaultTraceLimit?: number;
865
- defaultSearchLimit?: number;
866
- defaultFromTimestamp?: string;
867
- }
868
- interface LangfuseConfigRedacted {
869
- publicKey: string;
870
- secretKey: '<REDACTED>';
871
- host?: string;
872
- defaultTraceLimit?: number;
873
- defaultSearchLimit?: number;
874
- defaultFromTimestamp?: string;
875
- }
847
+ declare const LangfuseConfigSchema: z.ZodObject<{
848
+ publicKey: z.ZodString;
849
+ secretKey: z.ZodString;
850
+ host: z.ZodOptional<z.ZodString>;
851
+ defaultTraceLimit: z.ZodOptional<z.ZodNumber>;
852
+ defaultSearchLimit: z.ZodOptional<z.ZodNumber>;
853
+ defaultFromTimestamp: z.ZodOptional<z.ZodString>;
854
+ }, z.core.$strip>;
855
+ type LangfuseConfig = ConfigOf<typeof LangfuseConfigSchema>;
856
+ type LangfuseConfigRedacted = RedactedConfig<LangfuseConfig, 'secretKey'>;
876
857
  declare function redactLangfuseConfig(config: LangfuseConfig): LangfuseConfigRedacted;
877
858
 
878
859
  interface LangfuseResourceState {
@@ -895,26 +876,20 @@ declare class LangfuseResource implements Resource {
895
876
  readFile(p: PathSpec): Promise<Uint8Array>;
896
877
  readdir(p: PathSpec): Promise<string[]>;
897
878
  stat(p: PathSpec): Promise<FileStat>;
898
- fingerprint(_p: PathSpec): Promise<string | null>;
899
879
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
900
880
  getState(): Promise<LangfuseResourceState>;
901
881
  loadState(_state: LangfuseResourceState): Promise<void>;
902
882
  }
903
883
 
904
- interface GitHubConfig {
905
- token: string;
906
- owner: string;
907
- repo: string;
908
- ref?: string;
909
- baseUrl?: string;
910
- }
911
- interface GitHubConfigRedacted {
912
- token: '<REDACTED>';
913
- owner: string;
914
- repo: string;
915
- ref?: string;
916
- baseUrl?: string;
917
- }
884
+ declare const GitHubConfigSchema: z.ZodObject<{
885
+ token: z.ZodString;
886
+ owner: z.ZodString;
887
+ repo: z.ZodString;
888
+ ref: z.ZodOptional<z.ZodString>;
889
+ baseUrl: z.ZodOptional<z.ZodString>;
890
+ }, z.core.$strip>;
891
+ type GitHubConfig = ConfigOf<typeof GitHubConfigSchema>;
892
+ type GitHubConfigRedacted = RedactedConfig<GitHubConfig, 'token'>;
918
893
  declare function redactGitHubConfig(config: GitHubConfig): GitHubConfigRedacted;
919
894
  declare function normalizeGitHubConfig(input: Record<string, unknown>): GitHubConfig;
920
895
 
@@ -927,6 +902,8 @@ interface GitHubResourceState {
927
902
  declare class GitHubResource implements Resource {
928
903
  readonly kind: string;
929
904
  readonly cachesReads: boolean;
905
+ readonly sizesAlwaysKnown: boolean;
906
+ readonly supportsSnapshot: boolean;
930
907
  readonly indexTtl: number;
931
908
  readonly prompt: string;
932
909
  readonly config: GitHubConfig;
@@ -941,26 +918,20 @@ declare class GitHubResource implements Resource {
941
918
  readFile(p: PathSpec): Promise<Uint8Array>;
942
919
  readdir(p: PathSpec): Promise<string[]>;
943
920
  stat(p: PathSpec): Promise<FileStat>;
944
- fingerprint(p: PathSpec): Promise<string | null>;
945
921
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
946
922
  getState(): Promise<GitHubResourceState>;
947
923
  loadState(_state: GitHubResourceState): Promise<void>;
948
924
  }
949
925
 
950
- interface GitHubCIConfig {
951
- token: string;
952
- owner: string;
953
- repo: string;
954
- days?: number;
955
- baseUrl?: string;
956
- }
957
- interface GitHubCIConfigRedacted {
958
- token: '<REDACTED>';
959
- owner: string;
960
- repo: string;
961
- days?: number;
962
- baseUrl?: string;
963
- }
926
+ declare const GitHubCIConfigSchema: z.ZodObject<{
927
+ token: z.ZodString;
928
+ owner: z.ZodString;
929
+ repo: z.ZodString;
930
+ days: z.ZodOptional<z.ZodNumber>;
931
+ baseUrl: z.ZodOptional<z.ZodString>;
932
+ }, z.core.$strip>;
933
+ type GitHubCIConfig = ConfigOf<typeof GitHubCIConfigSchema>;
934
+ type GitHubCIConfigRedacted = RedactedConfig<GitHubCIConfig, 'token'>;
964
935
  declare function redactGitHubCIConfig(config: GitHubCIConfig): GitHubCIConfigRedacted;
965
936
  declare function normalizeGitHubCIConfig(input: Record<string, unknown>): GitHubCIConfig;
966
937
 
@@ -984,32 +955,14 @@ declare class GitHubCIResource implements Resource {
984
955
  readFile(p: PathSpec): Promise<Uint8Array>;
985
956
  readdir(p: PathSpec): Promise<string[]>;
986
957
  stat(p: PathSpec): Promise<FileStat>;
987
- fingerprint(p: PathSpec): Promise<string | null>;
988
958
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
989
959
  getState(): Promise<GitHubCIResourceState>;
990
960
  loadState(_state: GitHubCIResourceState): Promise<void>;
991
961
  }
992
962
 
993
- interface GDocsConfig {
994
- clientId: string;
995
- clientSecret?: string;
996
- refreshToken: string;
997
- refreshFn?: (refreshToken: string) => Promise<{
998
- accessToken: string;
999
- expiresIn: number;
1000
- }>;
1001
- }
1002
- interface GDocsConfigRedacted {
1003
- clientId: string;
1004
- clientSecret?: '<REDACTED>';
1005
- refreshToken: '<REDACTED>';
1006
- }
1007
- declare function redactGDocsConfig(config: GDocsConfig): GDocsConfigRedacted;
1008
- declare function normalizeGDocsConfig(input: Record<string, unknown>): GDocsConfig;
1009
-
1010
963
  interface GDocsResourceState {
1011
964
  type: string;
1012
- config: GDocsConfigRedacted;
965
+ config: GoogleConfigRedacted;
1013
966
  }
1014
967
  declare class GDocsResource implements Resource {
1015
968
  readonly kind: string;
@@ -1017,10 +970,10 @@ declare class GDocsResource implements Resource {
1017
970
  readonly indexTtl: number;
1018
971
  readonly prompt: string;
1019
972
  readonly writePrompt: string;
1020
- readonly config: GDocsConfig;
973
+ readonly config: GoogleConfig;
1021
974
  readonly accessor: GDocsAccessor;
1022
975
  readonly index: IndexCacheStore;
1023
- constructor(config: GDocsConfig);
976
+ constructor(config: GoogleConfig);
1024
977
  open(): Promise<void>;
1025
978
  close(): Promise<void>;
1026
979
  commands(): readonly RegisteredCommand[];
@@ -1028,32 +981,14 @@ declare class GDocsResource implements Resource {
1028
981
  readFile(p: PathSpec): Promise<Uint8Array>;
1029
982
  readdir(p: PathSpec): Promise<string[]>;
1030
983
  stat(p: PathSpec): Promise<FileStat>;
1031
- fingerprint(p: PathSpec): Promise<string | null>;
1032
984
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
1033
985
  getState(): Promise<GDocsResourceState>;
1034
986
  loadState(_state: GDocsResourceState): Promise<void>;
1035
987
  }
1036
988
 
1037
- interface GSheetsConfig {
1038
- clientId: string;
1039
- clientSecret?: string;
1040
- refreshToken: string;
1041
- refreshFn?: (refreshToken: string) => Promise<{
1042
- accessToken: string;
1043
- expiresIn: number;
1044
- }>;
1045
- }
1046
- interface GSheetsConfigRedacted {
1047
- clientId: string;
1048
- clientSecret?: '<REDACTED>';
1049
- refreshToken: '<REDACTED>';
1050
- }
1051
- declare function redactGSheetsConfig(config: GSheetsConfig): GSheetsConfigRedacted;
1052
- declare function normalizeGSheetsConfig(input: Record<string, unknown>): GSheetsConfig;
1053
-
1054
989
  interface GSheetsResourceState {
1055
990
  type: string;
1056
- config: GSheetsConfigRedacted;
991
+ config: GoogleConfigRedacted;
1057
992
  }
1058
993
  declare class GSheetsResource implements Resource {
1059
994
  readonly kind: string;
@@ -1061,10 +996,10 @@ declare class GSheetsResource implements Resource {
1061
996
  readonly indexTtl: number;
1062
997
  readonly prompt: string;
1063
998
  readonly writePrompt: string;
1064
- readonly config: GSheetsConfig;
999
+ readonly config: GoogleConfig;
1065
1000
  readonly accessor: GSheetsAccessor;
1066
1001
  readonly index: IndexCacheStore;
1067
- constructor(config: GSheetsConfig);
1002
+ constructor(config: GoogleConfig);
1068
1003
  open(): Promise<void>;
1069
1004
  close(): Promise<void>;
1070
1005
  commands(): readonly RegisteredCommand[];
@@ -1072,32 +1007,14 @@ declare class GSheetsResource implements Resource {
1072
1007
  readFile(p: PathSpec): Promise<Uint8Array>;
1073
1008
  readdir(p: PathSpec): Promise<string[]>;
1074
1009
  stat(p: PathSpec): Promise<FileStat>;
1075
- fingerprint(p: PathSpec): Promise<string | null>;
1076
1010
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
1077
1011
  getState(): Promise<GSheetsResourceState>;
1078
1012
  loadState(_state: GSheetsResourceState): Promise<void>;
1079
1013
  }
1080
1014
 
1081
- interface GSlidesConfig {
1082
- clientId: string;
1083
- clientSecret?: string;
1084
- refreshToken: string;
1085
- refreshFn?: (refreshToken: string) => Promise<{
1086
- accessToken: string;
1087
- expiresIn: number;
1088
- }>;
1089
- }
1090
- interface GSlidesConfigRedacted {
1091
- clientId: string;
1092
- clientSecret?: '<REDACTED>';
1093
- refreshToken: '<REDACTED>';
1094
- }
1095
- declare function redactGSlidesConfig(config: GSlidesConfig): GSlidesConfigRedacted;
1096
- declare function normalizeGSlidesConfig(input: Record<string, unknown>): GSlidesConfig;
1097
-
1098
1015
  interface GSlidesResourceState {
1099
1016
  type: string;
1100
- config: GSlidesConfigRedacted;
1017
+ config: GoogleConfigRedacted;
1101
1018
  }
1102
1019
  declare class GSlidesResource implements Resource {
1103
1020
  readonly kind: string;
@@ -1105,10 +1022,10 @@ declare class GSlidesResource implements Resource {
1105
1022
  readonly indexTtl: number;
1106
1023
  readonly prompt: string;
1107
1024
  readonly writePrompt: string;
1108
- readonly config: GSlidesConfig;
1025
+ readonly config: GoogleConfig;
1109
1026
  readonly accessor: GSlidesAccessor;
1110
1027
  readonly index: IndexCacheStore;
1111
- constructor(config: GSlidesConfig);
1028
+ constructor(config: GoogleConfig);
1112
1029
  open(): Promise<void>;
1113
1030
  close(): Promise<void>;
1114
1031
  commands(): readonly RegisteredCommand[];
@@ -1116,42 +1033,25 @@ declare class GSlidesResource implements Resource {
1116
1033
  readFile(p: PathSpec): Promise<Uint8Array>;
1117
1034
  readdir(p: PathSpec): Promise<string[]>;
1118
1035
  stat(p: PathSpec): Promise<FileStat>;
1119
- fingerprint(p: PathSpec): Promise<string | null>;
1120
1036
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
1121
1037
  getState(): Promise<GSlidesResourceState>;
1122
1038
  loadState(_state: GSlidesResourceState): Promise<void>;
1123
1039
  }
1124
1040
 
1125
- interface GDriveConfig {
1126
- clientId: string;
1127
- clientSecret?: string;
1128
- refreshToken: string;
1129
- refreshFn?: (refreshToken: string) => Promise<{
1130
- accessToken: string;
1131
- expiresIn: number;
1132
- }>;
1133
- }
1134
- interface GDriveConfigRedacted {
1135
- clientId: string;
1136
- clientSecret?: '<REDACTED>';
1137
- refreshToken: '<REDACTED>';
1138
- }
1139
- declare function redactGDriveConfig(config: GDriveConfig): GDriveConfigRedacted;
1140
- declare function normalizeGDriveConfig(input: Record<string, unknown>): GDriveConfig;
1141
-
1142
1041
  interface GDriveResourceState {
1143
1042
  type: string;
1144
- config: GDriveConfigRedacted;
1043
+ config: GoogleConfigRedacted;
1145
1044
  }
1146
1045
  declare class GDriveResource implements Resource {
1147
1046
  readonly kind: string;
1148
1047
  readonly cachesReads: boolean;
1048
+ readonly supportsSnapshot: boolean;
1149
1049
  readonly indexTtl: number;
1150
1050
  readonly prompt: string;
1151
- readonly config: GDriveConfig;
1051
+ readonly config: GoogleConfig;
1152
1052
  readonly accessor: GDriveAccessor;
1153
1053
  readonly index: IndexCacheStore;
1154
- constructor(config: GDriveConfig);
1054
+ constructor(config: GoogleConfig);
1155
1055
  open(): Promise<void>;
1156
1056
  close(): Promise<void>;
1157
1057
  commands(): readonly RegisteredCommand[];
@@ -1159,7 +1059,6 @@ declare class GDriveResource implements Resource {
1159
1059
  readFile(p: PathSpec): Promise<Uint8Array>;
1160
1060
  readdir(p: PathSpec): Promise<string[]>;
1161
1061
  stat(p: PathSpec): Promise<FileStat>;
1162
- fingerprint(p: PathSpec): Promise<string | null>;
1163
1062
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
1164
1063
  getState(): Promise<GDriveResourceState>;
1165
1064
  loadState(_state: GDriveResourceState): Promise<void>;
@@ -1169,16 +1068,23 @@ interface DropboxConfig {
1169
1068
  clientId: string;
1170
1069
  clientSecret?: string;
1171
1070
  refreshToken: string;
1071
+ rootPath?: string;
1072
+ contentSearch?: boolean;
1073
+ endpoint?: string;
1172
1074
  refreshFn?: (refreshToken: string) => Promise<{
1173
1075
  accessToken: string;
1174
1076
  expiresIn: number;
1175
1077
  }>;
1176
1078
  }
1177
- interface DropboxConfigRedacted {
1178
- clientId: string;
1179
- clientSecret?: '<REDACTED>';
1180
- refreshToken: '<REDACTED>';
1181
- }
1079
+ declare const DropboxConfigSchema: z.ZodObject<{
1080
+ clientId: z.ZodString;
1081
+ clientSecret: z.ZodOptional<z.ZodString>;
1082
+ refreshToken: z.ZodString;
1083
+ rootPath: z.ZodOptional<z.ZodString>;
1084
+ contentSearch: z.ZodOptional<z.ZodBoolean>;
1085
+ endpoint: z.ZodOptional<z.ZodString>;
1086
+ }, z.core.$strip>;
1087
+ type DropboxConfigRedacted = RedactedConfig<ConfigOf<typeof DropboxConfigSchema>, 'clientSecret' | 'refreshToken'>;
1182
1088
  declare function redactDropboxConfig(config: DropboxConfig): DropboxConfigRedacted;
1183
1089
  declare function normalizeDropboxConfig(input: Record<string, unknown>): DropboxConfig;
1184
1090
 
@@ -1189,6 +1095,7 @@ interface DropboxResourceState {
1189
1095
  declare class DropboxResource implements Resource {
1190
1096
  readonly kind: string;
1191
1097
  readonly cachesReads: boolean;
1098
+ readonly sizesAlwaysKnown: boolean;
1192
1099
  readonly indexTtl: number;
1193
1100
  readonly prompt: string;
1194
1101
  readonly config: DropboxConfig;
@@ -1202,13 +1109,15 @@ declare class DropboxResource implements Resource {
1202
1109
  readFile(p: PathSpec): Promise<Uint8Array>;
1203
1110
  readdir(p: PathSpec): Promise<string[]>;
1204
1111
  stat(p: PathSpec): Promise<FileStat>;
1205
- fingerprint(p: PathSpec): Promise<string | null>;
1206
1112
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
1207
1113
  getState(): Promise<DropboxResourceState>;
1208
1114
  loadState(_state: DropboxResourceState): Promise<void>;
1209
1115
  }
1210
1116
 
1211
1117
  interface BoxConfig {
1118
+ endpoint?: string;
1119
+ rootFolderId?: string;
1120
+ contentSearch?: boolean;
1212
1121
  clientId?: string;
1213
1122
  clientSecret?: string;
1214
1123
  refreshToken?: string;
@@ -1220,12 +1129,16 @@ interface BoxConfig {
1220
1129
  }>;
1221
1130
  onRefreshTokenRotated?: (newRefreshToken: string) => void | Promise<void>;
1222
1131
  }
1223
- interface BoxConfigRedacted {
1224
- clientId?: string;
1225
- clientSecret?: '<REDACTED>';
1226
- refreshToken?: '<REDACTED>';
1227
- accessToken?: '<REDACTED>';
1228
- }
1132
+ declare const BoxConfigSchema: z.ZodObject<{
1133
+ endpoint: z.ZodOptional<z.ZodString>;
1134
+ rootFolderId: z.ZodOptional<z.ZodString>;
1135
+ contentSearch: z.ZodOptional<z.ZodBoolean>;
1136
+ clientId: z.ZodOptional<z.ZodString>;
1137
+ clientSecret: z.ZodOptional<z.ZodString>;
1138
+ refreshToken: z.ZodOptional<z.ZodString>;
1139
+ accessToken: z.ZodOptional<z.ZodString>;
1140
+ }, z.core.$strip>;
1141
+ type BoxConfigRedacted = RedactedConfig<ConfigOf<typeof BoxConfigSchema>, 'clientSecret' | 'refreshToken' | 'accessToken'>;
1229
1142
  declare function redactBoxConfig(config: BoxConfig): BoxConfigRedacted;
1230
1143
  declare function normalizeBoxConfig(input: Record<string, unknown>): BoxConfig;
1231
1144
 
@@ -1236,6 +1149,7 @@ interface BoxResourceState {
1236
1149
  declare class BoxResource implements Resource {
1237
1150
  readonly kind: string;
1238
1151
  readonly cachesReads: boolean;
1152
+ readonly sizesAlwaysKnown: boolean;
1239
1153
  readonly indexTtl: number;
1240
1154
  readonly prompt: string;
1241
1155
  readonly config: BoxConfig;
@@ -1249,7 +1163,6 @@ declare class BoxResource implements Resource {
1249
1163
  readFile(p: PathSpec): Promise<Uint8Array>;
1250
1164
  readdir(p: PathSpec): Promise<string[]>;
1251
1165
  stat(p: PathSpec): Promise<FileStat>;
1252
- fingerprint(p: PathSpec): Promise<string | null>;
1253
1166
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
1254
1167
  getState(): Promise<BoxResourceState>;
1255
1168
  loadState(_state: BoxResourceState): Promise<void>;
@@ -1262,6 +1175,7 @@ interface GmailResourceState {
1262
1175
  declare class GmailResource implements Resource {
1263
1176
  readonly kind: string;
1264
1177
  readonly cachesReads: boolean;
1178
+ readonly sizesAlwaysKnown: boolean;
1265
1179
  readonly indexTtl: number;
1266
1180
  readonly prompt: string;
1267
1181
  readonly writePrompt: string;
@@ -1276,12 +1190,37 @@ declare class GmailResource implements Resource {
1276
1190
  readFile(p: PathSpec): Promise<Uint8Array>;
1277
1191
  readdir(p: PathSpec): Promise<string[]>;
1278
1192
  stat(p: PathSpec): Promise<FileStat>;
1279
- fingerprint(p: PathSpec): Promise<string | null>;
1280
1193
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
1281
1194
  getState(): Promise<GmailResourceState>;
1282
1195
  loadState(_state: GmailResourceState): Promise<void>;
1283
1196
  }
1284
1197
 
1198
+ interface GCalResourceState {
1199
+ type: string;
1200
+ config: GoogleConfigRedacted;
1201
+ }
1202
+ declare class GCalResource implements Resource {
1203
+ readonly kind: string;
1204
+ readonly cachesReads: boolean;
1205
+ readonly indexTtl: number;
1206
+ readonly prompt: string;
1207
+ readonly writePrompt: string;
1208
+ readonly config: GoogleConfig;
1209
+ readonly accessor: GCalAccessor;
1210
+ readonly index: IndexCacheStore;
1211
+ constructor(config: GoogleConfig);
1212
+ open(): Promise<void>;
1213
+ close(): Promise<void>;
1214
+ commands(): readonly RegisteredCommand[];
1215
+ ops(): readonly RegisteredOp[];
1216
+ readFile(p: PathSpec): Promise<Uint8Array>;
1217
+ readdir(p: PathSpec): Promise<string[]>;
1218
+ stat(p: PathSpec): Promise<FileStat>;
1219
+ glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
1220
+ getState(): Promise<GCalResourceState>;
1221
+ loadState(_state: GCalResourceState): Promise<void>;
1222
+ }
1223
+
1285
1224
  /**
1286
1225
  * Construct a resource by registry name in the browser runtime.
1287
1226
  * Mirrors Python's `mirage.resource.registry.build_resource` and the
@@ -1297,7 +1236,12 @@ declare class GmailResource implements Resource {
1297
1236
  */
1298
1237
  type ResourceFactory = (config: Record<string, unknown>) => Promise<Resource>;
1299
1238
  declare function knownResources(): string[];
1239
+ /**
1240
+ * Register a custom resource factory under `name`. Builtin names cannot
1241
+ * be shadowed; re-registering a custom name replaces it. Mirrors
1242
+ * Python's `register_resource` and the Node counterpart.
1243
+ */
1300
1244
  declare function register(name: string, factory: ResourceFactory): void;
1301
1245
  declare function buildResource(name: string, config?: Record<string, unknown>): Promise<Resource>;
1302
1246
 
1303
- export { ALIYUN_BROWSER_PROMPT, type AliyunConfig, type AliyunConfigRedacted, AliyunResource, type AliyunResourceState, BACKBLAZE_BROWSER_PROMPT, type BackblazeConfig, type BackblazeConfigRedacted, BackblazeResource, type BackblazeResourceState, type BoxConfig, type BoxConfigRedacted, BoxResource, type BoxResourceState, CEPH_BROWSER_PROMPT, type CephConfig, type CephConfigRedacted, CephResource, type CephResourceState, DIGITALOCEAN_BROWSER_PROMPT, type DigitalOceanConfig, type DigitalOceanConfigRedacted, DigitalOceanResource, type DigitalOceanResourceState, type DiscordConfig, type DiscordConfigRedacted, DiscordResource, type DiscordResourceState, type DropboxConfig, type DropboxConfigRedacted, DropboxResource, type DropboxResourceState, type GCSConfig, type GCSConfigRedacted, GCSResource, type GCSResourceState, GCS_BROWSER_PROMPT, type GDocsConfig, type GDocsConfigRedacted, GDocsResource, type GDocsResourceState, type GDriveConfig, type GDriveConfigRedacted, GDriveResource, type GDriveResourceState, type GSheetsConfig, type GSheetsConfigRedacted, GSheetsResource, type GSheetsResourceState, type GSlidesConfig, type GSlidesConfigRedacted, GSlidesResource, type GSlidesResourceState, type GitHubCIConfig, type GitHubCIConfigRedacted, GitHubCIResource, type GitHubCIResourceState, type GitHubConfig, type GitHubConfigRedacted, GitHubResource, type GitHubResourceState, GmailResource, type GmailResourceState, HttpMongoDriver, type HttpMongoDriverOptions, type LangfuseConfig, type LangfuseConfigRedacted, LangfuseResource, type LangfuseResourceState, type LinearConfig, type LinearConfigRedacted, LinearResource, type LinearResourceState, MINIO_BROWSER_PROMPT, type MinIOConfig, type MinIOConfigRedacted, MinIOResource, type MinIOResourceState, MongoDBResource, type MongoDBResourceOptions, NeonPgDriver, type NotionConfig, type NotionConfigRedacted, NotionResource, type NotionResourceState, type OCIConfig, type OCIConfigRedacted, OCIResource, type OCIResourceState, OCI_BROWSER_PROMPT, OPFSAccessor, OPFSResource, type OPFSResourceOptions, type OPFSResourceState, OPFS_COMMANDS, OPFS_OPS, OPFS_PROMPT, PostgresResource, type PostgresResourceOptions, QINGSTOR_BROWSER_PROMPT, type QingStorConfig, type QingStorConfigRedacted, QingStorResource, type QingStorResourceState, type R2Config, type R2ConfigRedacted, R2Resource, type R2ResourceState, R2_BROWSER_PROMPT, type ResourceFactory, S3Resource, type S3ResourceState, S3_BROWSER_PROMPT, SCALEWAY_BROWSER_PROMPT, SEAWEEDFS_BROWSER_PROMPT, SUPABASE_BROWSER_PROMPT, type ScalewayConfig, type ScalewayConfigRedacted, ScalewayResource, type ScalewayResourceState, type SeaweedFSConfig, type SeaweedFSConfigRedacted, SeaweedFSResource, type SeaweedFSResourceState, type SlackConfig, type SlackConfigRedacted, SlackResource, type SlackResourceState, type SupabaseConfig, type SupabaseConfigRedacted, SupabaseResource, type SupabaseResourceState, TENCENT_BROWSER_PROMPT, type TencentConfig, type TencentConfigRedacted, TencentResource, type TencentResourceState, type TrelloConfig, type TrelloConfigRedacted, TrelloResource, type TrelloResourceState, WASABI_BROWSER_PROMPT, type WasabiConfig, type WasabiConfigRedacted, WasabiResource, type WasabiResourceState, Workspace, aliyunToS3Config, backblazeToS3Config, buildResource, cephToS3Config, digitalOceanToS3Config, gcsToS3Config, knownResources, minioToS3Config, normalizeBoxConfig, normalizeDropboxConfig, normalizeGDocsConfig, normalizeGDriveConfig, normalizeGSheetsConfig, normalizeGSlidesConfig, normalizeGitHubCIConfig, normalizeGitHubConfig, ociToS3Config, qingStorToS3Config, r2ToS3Config, redactAliyunConfig, redactBackblazeConfig, redactBoxConfig, redactCephConfig, redactDigitalOceanConfig, redactDiscordConfig, redactDropboxConfig, redactGDocsConfig, redactGDriveConfig, redactGSheetsConfig, redactGSlidesConfig, redactGcsConfig, redactGitHubCIConfig, redactGitHubConfig, redactLangfuseConfig, redactLinearConfig, redactMinIOConfig, redactNotionConfig, redactOciConfig, redactQingStorConfig, redactR2Config, redactScalewayConfig, redactSeaweedFSConfig, redactSlackConfig, redactSupabaseConfig, redactTencentConfig, redactTrelloConfig, redactWasabiConfig, register as registerResourceFactory, resolvedAliyunEndpoint, resolvedBackblazeEndpoint, resolvedDigitalOceanEndpoint, resolvedOciEndpoint, resolvedQingStorEndpoint, resolvedR2Endpoint, resolvedScalewayEndpoint, resolvedSupabaseEndpoint, resolvedTencentEndpoint, resolvedWasabiEndpoint, scalewayToS3Config, seaweedfsToS3Config, supabaseToS3Config, tencentToS3Config, wasabiToS3Config };
1247
+ export { ALIYUN_BROWSER_PROMPT, type AliyunConfig, type AliyunConfigRedacted, AliyunResource, type AliyunResourceState, BACKBLAZE_BROWSER_PROMPT, type BackblazeConfig, type BackblazeConfigRedacted, BackblazeResource, type BackblazeResourceState, type BoxConfig, type BoxConfigRedacted, BoxResource, type BoxResourceState, CEPH_BROWSER_PROMPT, type CephConfig, type CephConfigRedacted, CephResource, type CephResourceState, DIGITALOCEAN_BROWSER_PROMPT, type DigitalOceanConfig, type DigitalOceanConfigRedacted, DigitalOceanResource, type DigitalOceanResourceState, type DiscordConfig, type DiscordConfigRedacted, DiscordResource, type DiscordResourceState, type DropboxConfig, type DropboxConfigRedacted, DropboxResource, type DropboxResourceState, type GCSConfig, type GCSConfigRedacted, GCSResource, type GCSResourceState, GCS_BROWSER_PROMPT, GCalResource, type GCalResourceState, GDocsResource, type GDocsResourceState, GDriveResource, type GDriveResourceState, GSheetsResource, type GSheetsResourceState, GSlidesResource, type GSlidesResourceState, type GitHubCIConfig, type GitHubCIConfigRedacted, GitHubCIResource, type GitHubCIResourceState, type GitHubConfig, type GitHubConfigRedacted, GitHubResource, type GitHubResourceState, GmailResource, type GmailResourceState, HttpMongoDriver, type HttpMongoDriverOptions, type LangfuseConfig, type LangfuseConfigRedacted, LangfuseResource, type LangfuseResourceState, type LinearConfig, type LinearConfigRedacted, LinearResource, type LinearResourceState, MINIO_BROWSER_PROMPT, type MinIOConfig, type MinIOConfigRedacted, MinIOResource, type MinIOResourceState, MongoDBResource, type MongoDBResourceOptions, NeonPgDriver, type NotionConfig, type NotionConfigRedacted, NotionResource, type NotionResourceState, type OCIConfig, type OCIConfigRedacted, OCIResource, type OCIResourceState, OCI_BROWSER_PROMPT, OPFSAccessor, OPFSResource, type OPFSResourceOptions, type OPFSResourceState, OPFS_COMMANDS, OPFS_OPS, OPFS_PROMPT, PostgresResource, type PostgresResourceOptions, QINGSTOR_BROWSER_PROMPT, type QingStorConfig, type QingStorConfigRedacted, QingStorResource, type QingStorResourceState, type R2Config, type R2ConfigRedacted, R2Resource, type R2ResourceState, R2_BROWSER_PROMPT, type ResourceFactory, S3Resource, type S3ResourceState, S3_BROWSER_PROMPT, SCALEWAY_BROWSER_PROMPT, SEAWEEDFS_BROWSER_PROMPT, SUPABASE_BROWSER_PROMPT, type ScalewayConfig, type ScalewayConfigRedacted, ScalewayResource, type ScalewayResourceState, type SeaweedFSConfig, type SeaweedFSConfigRedacted, SeaweedFSResource, type SeaweedFSResourceState, type SlackConfig, type SlackConfigRedacted, SlackResource, type SlackResourceState, type SupabaseConfig, type SupabaseConfigRedacted, SupabaseResource, type SupabaseResourceState, TENCENT_BROWSER_PROMPT, type TencentConfig, type TencentConfigRedacted, TencentResource, type TencentResourceState, type TrelloConfig, type TrelloConfigRedacted, TrelloResource, type TrelloResourceState, WASABI_BROWSER_PROMPT, type WasabiConfig, type WasabiConfigRedacted, WasabiResource, type WasabiResourceState, Workspace, aliyunToS3Config, backblazeToS3Config, buildResource, cephToS3Config, digitalOceanToS3Config, gcsToS3Config, knownResources, minioToS3Config, normalizeBoxConfig, normalizeDropboxConfig, normalizeGitHubCIConfig, normalizeGitHubConfig, ociToS3Config, qingStorToS3Config, r2ToS3Config, redactAliyunConfig, redactBackblazeConfig, redactBoxConfig, redactCephConfig, redactDigitalOceanConfig, redactDiscordConfig, redactDropboxConfig, redactGcsConfig, redactGitHubCIConfig, redactGitHubConfig, redactLangfuseConfig, redactLinearConfig, redactMinIOConfig, redactNotionConfig, redactOciConfig, redactQingStorConfig, redactR2Config, redactScalewayConfig, redactSeaweedFSConfig, redactSlackConfig, redactSupabaseConfig, redactTencentConfig, redactTrelloConfig, redactWasabiConfig, register as registerResourceFactory, resolvedAliyunEndpoint, resolvedBackblazeEndpoint, resolvedDigitalOceanEndpoint, resolvedOciEndpoint, resolvedQingStorEndpoint, resolvedR2Endpoint, resolvedScalewayEndpoint, resolvedSupabaseEndpoint, resolvedTencentEndpoint, resolvedWasabiEndpoint, scalewayToS3Config, seaweedfsToS3Config, supabaseToS3Config, tencentToS3Config, wasabiToS3Config };