@struktoai/mirage-browser 0.0.4 → 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 (235) 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-DGP3N4WM.js → chunk-2J35WXX5.js} +7 -2
  7. package/dist/chunk-2J35WXX5.js.map +1 -0
  8. package/dist/{chunk-LW56WZDS.js → chunk-2WNXK742.js} +2 -2
  9. package/dist/{chunk-PSEXJ5S5.js → chunk-2WSKXBSV.js} +11 -2
  10. package/dist/chunk-2WSKXBSV.js.map +1 -0
  11. package/dist/{chunk-DKPDXQML.js → chunk-3IYCVC7W.js} +7 -3
  12. package/dist/chunk-3IYCVC7W.js.map +1 -0
  13. package/dist/{chunk-NVGB3B7J.js → chunk-46HNNKFR.js} +7 -3
  14. package/dist/chunk-46HNNKFR.js.map +1 -0
  15. package/dist/chunk-4IF4TGAI.js +11 -0
  16. package/dist/chunk-4IF4TGAI.js.map +1 -0
  17. package/dist/{chunk-AUXZEXCG.js → chunk-5OZJMTYW.js} +7 -3
  18. package/dist/{chunk-AUXZEXCG.js.map → chunk-5OZJMTYW.js.map} +1 -1
  19. package/dist/{chunk-6BXVYCIC.js → chunk-5UM6EBVW.js} +10 -2
  20. package/dist/chunk-5UM6EBVW.js.map +1 -0
  21. package/dist/{chunk-JV4T5HNB.js → chunk-6HRSCX2U.js} +7 -3
  22. package/dist/chunk-6HRSCX2U.js.map +1 -0
  23. package/dist/{chunk-EDS5Q5B7.js → chunk-7HWQAYXR.js} +7 -3
  24. package/dist/chunk-7HWQAYXR.js.map +1 -0
  25. package/dist/{chunk-2R7SPBTM.js → chunk-AUZNQ7EI.js} +5 -10
  26. package/dist/chunk-AUZNQ7EI.js.map +1 -0
  27. package/dist/{chunk-DC6VA36O.js → chunk-BGA2F226.js} +19 -7
  28. package/dist/chunk-BGA2F226.js.map +1 -0
  29. package/dist/{chunk-NYTRDAWX.js → chunk-BV372CUO.js} +6 -11
  30. package/dist/chunk-BV372CUO.js.map +1 -0
  31. package/dist/{chunk-HTQ4GBKM.js → chunk-C4THTILY.js} +7 -3
  32. package/dist/chunk-C4THTILY.js.map +1 -0
  33. package/dist/{chunk-GENFT46X.js → chunk-D4MEOKNQ.js} +7 -3
  34. package/dist/chunk-D4MEOKNQ.js.map +1 -0
  35. package/dist/chunk-D4RAMWYH.js +88 -0
  36. package/dist/chunk-D4RAMWYH.js.map +1 -0
  37. package/dist/{chunk-3FZ3GHZO.js → chunk-EHIT6WCY.js} +7 -3
  38. package/dist/chunk-EHIT6WCY.js.map +1 -0
  39. package/dist/{chunk-PCC6EZIE.js → chunk-EN6TZYT2.js} +7 -3
  40. package/dist/chunk-EN6TZYT2.js.map +1 -0
  41. package/dist/{chunk-MB4TUUJQ.js → chunk-FTDVV7EQ.js} +7 -3
  42. package/dist/chunk-FTDVV7EQ.js.map +1 -0
  43. package/dist/{chunk-VASFK7V6.js → chunk-G67Q2Z6I.js} +7 -3
  44. package/dist/{chunk-VASFK7V6.js.map → chunk-G67Q2Z6I.js.map} +1 -1
  45. package/dist/{chunk-AAJQ6AQT.js → chunk-GM2QMJAY.js} +5 -10
  46. package/dist/chunk-GM2QMJAY.js.map +1 -0
  47. package/dist/{chunk-POJ3IQMQ.js → chunk-HRWLHJX2.js} +5 -11
  48. package/dist/chunk-HRWLHJX2.js.map +1 -0
  49. package/dist/{chunk-AUKVYHNZ.js → chunk-INEXV2PN.js} +7 -3
  50. package/dist/chunk-INEXV2PN.js.map +1 -0
  51. package/dist/chunk-IZMKMD3O.js +11 -0
  52. package/dist/chunk-IZMKMD3O.js.map +1 -0
  53. package/dist/{chunk-N5VRBFRT.js → chunk-JUVMJ5GI.js} +5 -10
  54. package/dist/{chunk-HPID7BWJ.js.map → chunk-JUVMJ5GI.js.map} +1 -1
  55. package/dist/{chunk-GQVJTQXU.js → chunk-L64GRKOD.js} +7 -2
  56. package/dist/chunk-L64GRKOD.js.map +1 -0
  57. package/dist/chunk-M2UF2JHJ.js +11 -0
  58. package/dist/chunk-M2UF2JHJ.js.map +1 -0
  59. package/dist/{chunk-5ZNWDS5I.js → chunk-NVHPJ5CV.js} +11 -2
  60. package/dist/chunk-NVHPJ5CV.js.map +1 -0
  61. package/dist/{chunk-MQMUOJZ2.js → chunk-OSTDTTWI.js} +7 -2
  62. package/dist/chunk-OSTDTTWI.js.map +1 -0
  63. package/dist/{chunk-GZFNGV55.js → chunk-PQCRGTSA.js} +7 -3
  64. package/dist/chunk-PQCRGTSA.js.map +1 -0
  65. package/dist/{chunk-6ETIHSTA.js → chunk-QE7QNA45.js} +6 -2
  66. package/dist/{chunk-6ETIHSTA.js.map → chunk-QE7QNA45.js.map} +1 -1
  67. package/dist/{chunk-EHTYPBGX.js → chunk-QG2NUNCY.js} +7 -3
  68. package/dist/chunk-QG2NUNCY.js.map +1 -0
  69. package/dist/chunk-UFHBDBZD.js +1212 -0
  70. package/dist/chunk-UFHBDBZD.js.map +1 -0
  71. package/dist/{chunk-E77ESWWV.js → chunk-UY22T4AC.js} +11 -3
  72. package/dist/chunk-UY22T4AC.js.map +1 -0
  73. package/dist/chunk-XJBC3OYX.js +11 -0
  74. package/dist/chunk-XJBC3OYX.js.map +1 -0
  75. package/dist/{chunk-TCFD6YJ5.js → chunk-Y6DYUK6J.js} +7 -3
  76. package/dist/chunk-Y6DYUK6J.js.map +1 -0
  77. package/dist/{chunk-HPID7BWJ.js → chunk-YOCTIHQZ.js} +5 -1
  78. package/dist/chunk-YOCTIHQZ.js.map +1 -0
  79. package/dist/{chunk-PDZSZ5CB.js → chunk-ZDJPUXYH.js} +6 -2
  80. package/dist/{chunk-PDZSZ5CB.js.map → chunk-ZDJPUXYH.js.map} +1 -1
  81. package/dist/{chunk-CQERQTAZ.js → chunk-ZKCOSE3R.js} +6 -9
  82. package/dist/chunk-ZKCOSE3R.js.map +1 -0
  83. package/dist/chunk-ZTHVEXIV.js +11 -0
  84. package/dist/chunk-ZTHVEXIV.js.map +1 -0
  85. package/dist/{config-MHBKYS53.js → config-2Y6LZKLV.js} +2 -2
  86. package/dist/config-4GSOMUMF.js +9 -0
  87. package/dist/config-5YBUWFUP.js +9 -0
  88. package/dist/{config-PWZXYJOI.js → config-DE5OZ4I7.js} +2 -2
  89. package/dist/config-ELDOFRJW.js +9 -0
  90. package/dist/config-FPM3LAW7.js +9 -0
  91. package/dist/{config-22T7HJBJ.js → config-JY557MA6.js} +2 -2
  92. package/dist/config-WRACCRPN.js +9 -0
  93. package/dist/digitalocean-QDHTRS2W.js +8 -0
  94. package/dist/discord-ERUI7OAQ.js +7 -0
  95. package/dist/dropbox-3U6D4HLE.js +8 -0
  96. package/dist/gcal-MTBSDG34.js +8 -0
  97. package/dist/gcs-KNGRBBET.js +8 -0
  98. package/dist/gdocs-RUIOIRKP.js +8 -0
  99. package/dist/gdrive-5JB7ZKEP.js +8 -0
  100. package/dist/github-CIXBFBVO.js +7 -0
  101. package/dist/github_ci-HR6YOYAO.js +8 -0
  102. package/dist/{gmail-HLZIMKQU.js → gmail-JHGWTQU5.js} +2 -2
  103. package/dist/gsheets-N54JO2RS.js +8 -0
  104. package/dist/gslides-B4VMNLMB.js +8 -0
  105. package/dist/index.d.ts +284 -352
  106. package/dist/index.js +165 -104
  107. package/dist/index.js.map +1 -1
  108. package/dist/langfuse-HEUJGDOC.js +7 -0
  109. package/dist/linear-J4QQ3CA6.js +7 -0
  110. package/dist/minio-BXWHJ6K5.js +8 -0
  111. package/dist/notion-I5S5SRLO.js +7 -0
  112. package/dist/oci-XOPKH4AE.js +8 -0
  113. package/dist/opfs-36QO72Y5.js +7 -0
  114. package/dist/qingstor-JKAHLK62.js +8 -0
  115. package/dist/r2-L3QXQ76M.js +8 -0
  116. package/dist/{s3-CSFY3PLT.js → s3-LRZJPGHK.js} +2 -2
  117. package/dist/scaleway-CGNDYNKS.js +8 -0
  118. package/dist/seaweedfs-BSQWCBIR.js +8 -0
  119. package/dist/slack-62ECSENR.js +7 -0
  120. package/dist/supabase-J66NXWAF.js +8 -0
  121. package/dist/tencent-AC667LV3.js +8 -0
  122. package/dist/trello-SUPG6VDF.js +7 -0
  123. package/dist/trello-SUPG6VDF.js.map +1 -0
  124. package/dist/wasabi-5KKPW6LH.js +8 -0
  125. package/dist/wasabi-5KKPW6LH.js.map +1 -0
  126. package/package.json +2 -2
  127. package/dist/aliyun-YEWHEWCL.js +0 -8
  128. package/dist/backblaze-LWE2HEDK.js +0 -8
  129. package/dist/box-GTWWIB6F.js +0 -8
  130. package/dist/ceph-ATSCSVGU.js +0 -8
  131. package/dist/chunk-23NO22WD.js +0 -25
  132. package/dist/chunk-23NO22WD.js.map +0 -1
  133. package/dist/chunk-2R7SPBTM.js.map +0 -1
  134. package/dist/chunk-3FZ3GHZO.js.map +0 -1
  135. package/dist/chunk-4YUYQTRN.js +0 -2334
  136. package/dist/chunk-4YUYQTRN.js.map +0 -1
  137. package/dist/chunk-5ZNWDS5I.js.map +0 -1
  138. package/dist/chunk-6BXVYCIC.js.map +0 -1
  139. package/dist/chunk-AAJQ6AQT.js.map +0 -1
  140. package/dist/chunk-AUKVYHNZ.js.map +0 -1
  141. package/dist/chunk-CQERQTAZ.js.map +0 -1
  142. package/dist/chunk-DC6VA36O.js.map +0 -1
  143. package/dist/chunk-DGP3N4WM.js.map +0 -1
  144. package/dist/chunk-DKPDXQML.js.map +0 -1
  145. package/dist/chunk-DQK6H5LW.js +0 -25
  146. package/dist/chunk-DQK6H5LW.js.map +0 -1
  147. package/dist/chunk-E77ESWWV.js.map +0 -1
  148. package/dist/chunk-EDS5Q5B7.js.map +0 -1
  149. package/dist/chunk-EHTYPBGX.js.map +0 -1
  150. package/dist/chunk-GENFT46X.js.map +0 -1
  151. package/dist/chunk-GQVJTQXU.js.map +0 -1
  152. package/dist/chunk-GZFNGV55.js.map +0 -1
  153. package/dist/chunk-HTQ4GBKM.js.map +0 -1
  154. package/dist/chunk-JV4T5HNB.js.map +0 -1
  155. package/dist/chunk-MB4TUUJQ.js.map +0 -1
  156. package/dist/chunk-MQMUOJZ2.js.map +0 -1
  157. package/dist/chunk-N5VRBFRT.js.map +0 -1
  158. package/dist/chunk-NVGB3B7J.js.map +0 -1
  159. package/dist/chunk-NYTRDAWX.js.map +0 -1
  160. package/dist/chunk-PCC6EZIE.js.map +0 -1
  161. package/dist/chunk-POJ3IQMQ.js.map +0 -1
  162. package/dist/chunk-PSEXJ5S5.js.map +0 -1
  163. package/dist/chunk-QXJP6TWI.js +0 -27
  164. package/dist/chunk-QXJP6TWI.js.map +0 -1
  165. package/dist/chunk-TCFD6YJ5.js.map +0 -1
  166. package/dist/chunk-ZLHC2CZ6.js +0 -25
  167. package/dist/chunk-ZLHC2CZ6.js.map +0 -1
  168. package/dist/config-A56HUM6C.js +0 -9
  169. package/dist/config-DIWQZBOK.js +0 -9
  170. package/dist/config-HGJ2MGAC.js +0 -9
  171. package/dist/config-PAHALM2T.js +0 -9
  172. package/dist/digitalocean-SQA6MJJQ.js +0 -8
  173. package/dist/discord-ASNFJP6A.js +0 -7
  174. package/dist/dropbox-VV2WZE6I.js +0 -8
  175. package/dist/gcs-2W6DDWM7.js +0 -8
  176. package/dist/gdocs-QPM7VXXE.js +0 -8
  177. package/dist/gdrive-KT6R7EVB.js +0 -8
  178. package/dist/github-3IFZGW6I.js +0 -7
  179. package/dist/github_ci-CKKF2Y4S.js +0 -8
  180. package/dist/gsheets-HF4YPIEF.js +0 -8
  181. package/dist/gslides-EV2JJH7I.js +0 -8
  182. package/dist/langfuse-74ZCR6QL.js +0 -7
  183. package/dist/linear-XABGTU6E.js +0 -7
  184. package/dist/minio-JPNSX2NP.js +0 -8
  185. package/dist/notion-YJOTGH7J.js +0 -7
  186. package/dist/oci-R4VYQKGJ.js +0 -8
  187. package/dist/opfs-4RWMJBCI.js +0 -7
  188. package/dist/qingstor-ZWWK2ZGV.js +0 -8
  189. package/dist/r2-PZAN2YFG.js +0 -8
  190. package/dist/scaleway-BFROPDBB.js +0 -8
  191. package/dist/seaweedfs-X6THZT26.js +0 -8
  192. package/dist/slack-O7BTJ4YR.js +0 -7
  193. package/dist/supabase-PHN3MIXW.js +0 -8
  194. package/dist/tencent-JGCJEKHV.js +0 -8
  195. package/dist/trello-QUDOP3M2.js +0 -7
  196. package/dist/wasabi-5VMNAFOC.js +0 -8
  197. /package/dist/{aliyun-YEWHEWCL.js.map → aliyun-DR6KT3H6.js.map} +0 -0
  198. /package/dist/{backblaze-LWE2HEDK.js.map → backblaze-XCLZXTES.js.map} +0 -0
  199. /package/dist/{box-GTWWIB6F.js.map → box-XBCSU3AA.js.map} +0 -0
  200. /package/dist/{ceph-ATSCSVGU.js.map → ceph-F5S2NMTO.js.map} +0 -0
  201. /package/dist/{chunk-LW56WZDS.js.map → chunk-2WNXK742.js.map} +0 -0
  202. /package/dist/{config-22T7HJBJ.js.map → config-2Y6LZKLV.js.map} +0 -0
  203. /package/dist/{config-A56HUM6C.js.map → config-4GSOMUMF.js.map} +0 -0
  204. /package/dist/{config-DIWQZBOK.js.map → config-5YBUWFUP.js.map} +0 -0
  205. /package/dist/{config-HGJ2MGAC.js.map → config-DE5OZ4I7.js.map} +0 -0
  206. /package/dist/{config-MHBKYS53.js.map → config-ELDOFRJW.js.map} +0 -0
  207. /package/dist/{config-PAHALM2T.js.map → config-FPM3LAW7.js.map} +0 -0
  208. /package/dist/{config-PWZXYJOI.js.map → config-JY557MA6.js.map} +0 -0
  209. /package/dist/{digitalocean-SQA6MJJQ.js.map → config-WRACCRPN.js.map} +0 -0
  210. /package/dist/{discord-ASNFJP6A.js.map → digitalocean-QDHTRS2W.js.map} +0 -0
  211. /package/dist/{dropbox-VV2WZE6I.js.map → discord-ERUI7OAQ.js.map} +0 -0
  212. /package/dist/{gcs-2W6DDWM7.js.map → dropbox-3U6D4HLE.js.map} +0 -0
  213. /package/dist/{gdocs-QPM7VXXE.js.map → gcal-MTBSDG34.js.map} +0 -0
  214. /package/dist/{gdrive-KT6R7EVB.js.map → gcs-KNGRBBET.js.map} +0 -0
  215. /package/dist/{github-3IFZGW6I.js.map → gdocs-RUIOIRKP.js.map} +0 -0
  216. /package/dist/{github_ci-CKKF2Y4S.js.map → gdrive-5JB7ZKEP.js.map} +0 -0
  217. /package/dist/{gmail-HLZIMKQU.js.map → github-CIXBFBVO.js.map} +0 -0
  218. /package/dist/{gsheets-HF4YPIEF.js.map → github_ci-HR6YOYAO.js.map} +0 -0
  219. /package/dist/{gslides-EV2JJH7I.js.map → gmail-JHGWTQU5.js.map} +0 -0
  220. /package/dist/{langfuse-74ZCR6QL.js.map → gsheets-N54JO2RS.js.map} +0 -0
  221. /package/dist/{linear-XABGTU6E.js.map → gslides-B4VMNLMB.js.map} +0 -0
  222. /package/dist/{minio-JPNSX2NP.js.map → langfuse-HEUJGDOC.js.map} +0 -0
  223. /package/dist/{notion-YJOTGH7J.js.map → linear-J4QQ3CA6.js.map} +0 -0
  224. /package/dist/{oci-R4VYQKGJ.js.map → minio-BXWHJ6K5.js.map} +0 -0
  225. /package/dist/{opfs-4RWMJBCI.js.map → notion-I5S5SRLO.js.map} +0 -0
  226. /package/dist/{qingstor-ZWWK2ZGV.js.map → oci-XOPKH4AE.js.map} +0 -0
  227. /package/dist/{r2-PZAN2YFG.js.map → opfs-36QO72Y5.js.map} +0 -0
  228. /package/dist/{s3-CSFY3PLT.js.map → qingstor-JKAHLK62.js.map} +0 -0
  229. /package/dist/{scaleway-BFROPDBB.js.map → r2-L3QXQ76M.js.map} +0 -0
  230. /package/dist/{seaweedfs-X6THZT26.js.map → s3-LRZJPGHK.js.map} +0 -0
  231. /package/dist/{slack-O7BTJ4YR.js.map → scaleway-CGNDYNKS.js.map} +0 -0
  232. /package/dist/{supabase-PHN3MIXW.js.map → seaweedfs-BSQWCBIR.js.map} +0 -0
  233. /package/dist/{tencent-JGCJEKHV.js.map → slack-62ECSENR.js.map} +0 -0
  234. /package/dist/{trello-QUDOP3M2.js.map → supabase-J66NXWAF.js.map} +0 -0
  235. /package/dist/{wasabi-5VMNAFOC.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[];
@@ -110,22 +113,21 @@ declare class S3Resource implements Resource {
110
113
  glob(paths: readonly PathSpec[], prefix?: string): Promise<PathSpec[]>;
111
114
  getState(): Promise<S3ResourceState>;
112
115
  loadState(_state: S3ResourceState): Promise<void>;
113
- _duAll(p: PathSpec): Promise<[[string, number][], number]>;
116
+ _duEntries(p: PathSpec): Promise<[[string, number][], number]>;
114
117
  _rangeRead(p: PathSpec, offset: number, size: number): Promise<Uint8Array>;
115
118
  _create(p: PathSpec): Promise<void>;
116
119
  }
117
120
 
118
- interface GCSConfig {
119
- bucket: string;
120
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
121
- region?: string;
122
- endpoint?: string;
123
- defaultContentType?: string;
124
- keyPrefix?: 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,18 +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
- keyPrefix?: string;
159
- }
160
- interface R2ConfigRedacted extends Omit<R2Config, 'presignedUrlProvider'> {
161
- presignedUrlProvider: '<REDACTED>';
162
- }
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'>;
163
164
  declare function resolvedR2Endpoint(config: R2Config): string | undefined;
164
165
  declare function r2ToS3Config(config: R2Config): S3Config;
165
166
  declare function redactR2Config(config: R2Config): R2ConfigRedacted;
@@ -183,18 +184,17 @@ declare class R2Resource extends S3Resource {
183
184
 
184
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.";
185
186
 
186
- interface OCIConfig {
187
- bucket: string;
188
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
189
- namespace?: string;
190
- region?: string;
191
- endpoint?: string;
192
- defaultContentType?: string;
193
- keyPrefix?: string;
194
- }
195
- interface OCIConfigRedacted extends Omit<OCIConfig, 'presignedUrlProvider'> {
196
- presignedUrlProvider: '<REDACTED>';
197
- }
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'>;
198
198
  declare function resolvedOciEndpoint(config: OCIConfig): string | undefined;
199
199
  declare function ociToS3Config(config: OCIConfig): S3Config;
200
200
  declare function redactOciConfig(config: OCIConfig): OCIConfigRedacted;
@@ -218,18 +218,17 @@ declare class OCIResource extends S3Resource {
218
218
 
219
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.";
220
220
 
221
- interface SupabaseConfig {
222
- bucket: string;
223
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
224
- projectRef?: string;
225
- region?: string;
226
- endpoint?: string;
227
- defaultContentType?: string;
228
- keyPrefix?: string;
229
- }
230
- interface SupabaseConfigRedacted extends Omit<SupabaseConfig, 'presignedUrlProvider'> {
231
- presignedUrlProvider: '<REDACTED>';
232
- }
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'>;
233
232
  declare function resolvedSupabaseEndpoint(config: SupabaseConfig): string | undefined;
234
233
  declare function supabaseToS3Config(config: SupabaseConfig): S3Config;
235
234
  declare function redactSupabaseConfig(config: SupabaseConfig): SupabaseConfigRedacted;
@@ -253,17 +252,16 @@ declare class SupabaseResource extends S3Resource {
253
252
 
254
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.";
255
254
 
256
- interface MinIOConfig {
257
- bucket: string;
258
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
259
- endpoint?: string;
260
- region?: string;
261
- defaultContentType?: string;
262
- keyPrefix?: string;
263
- }
264
- interface MinIOConfigRedacted extends Omit<MinIOConfig, 'presignedUrlProvider'> {
265
- presignedUrlProvider: '<REDACTED>';
266
- }
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'>;
267
265
  declare function minioToS3Config(config: MinIOConfig): S3Config;
268
266
  declare function redactMinIOConfig(config: MinIOConfig): MinIOConfigRedacted;
269
267
 
@@ -286,17 +284,16 @@ declare class MinIOResource extends S3Resource {
286
284
 
287
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.";
288
286
 
289
- interface SeaweedFSConfig {
290
- bucket: string;
291
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
292
- endpoint?: string;
293
- region?: string;
294
- defaultContentType?: string;
295
- keyPrefix?: string;
296
- }
297
- interface SeaweedFSConfigRedacted extends Omit<SeaweedFSConfig, 'presignedUrlProvider'> {
298
- presignedUrlProvider: '<REDACTED>';
299
- }
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'>;
300
297
  declare function seaweedfsToS3Config(config: SeaweedFSConfig): S3Config;
301
298
  declare function redactSeaweedFSConfig(config: SeaweedFSConfig): SeaweedFSConfigRedacted;
302
299
 
@@ -319,17 +316,16 @@ declare class SeaweedFSResource extends S3Resource {
319
316
 
320
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.";
321
318
 
322
- interface CephConfig {
323
- bucket: string;
324
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
325
- endpoint?: string;
326
- region?: string;
327
- defaultContentType?: string;
328
- keyPrefix?: string;
329
- }
330
- interface CephConfigRedacted extends Omit<CephConfig, 'presignedUrlProvider'> {
331
- presignedUrlProvider: '<REDACTED>';
332
- }
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'>;
333
329
  declare function cephToS3Config(config: CephConfig): S3Config;
334
330
  declare function redactCephConfig(config: CephConfig): CephConfigRedacted;
335
331
 
@@ -352,17 +348,16 @@ declare class CephResource extends S3Resource {
352
348
 
353
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.";
354
350
 
355
- interface WasabiConfig {
356
- bucket: string;
357
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
358
- region?: string;
359
- endpoint?: string;
360
- defaultContentType?: string;
361
- keyPrefix?: string;
362
- }
363
- interface WasabiConfigRedacted extends Omit<WasabiConfig, 'presignedUrlProvider'> {
364
- presignedUrlProvider: '<REDACTED>';
365
- }
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'>;
366
361
  declare function resolvedWasabiEndpoint(config: WasabiConfig): string;
367
362
  declare function wasabiToS3Config(config: WasabiConfig): S3Config;
368
363
  declare function redactWasabiConfig(config: WasabiConfig): WasabiConfigRedacted;
@@ -386,17 +381,16 @@ declare class WasabiResource extends S3Resource {
386
381
 
387
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.";
388
383
 
389
- interface BackblazeConfig {
390
- bucket: string;
391
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
392
- region?: string;
393
- endpoint?: string;
394
- defaultContentType?: string;
395
- keyPrefix?: string;
396
- }
397
- interface BackblazeConfigRedacted extends Omit<BackblazeConfig, 'presignedUrlProvider'> {
398
- presignedUrlProvider: '<REDACTED>';
399
- }
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'>;
400
394
  declare function resolvedBackblazeEndpoint(config: BackblazeConfig): string | undefined;
401
395
  declare function backblazeToS3Config(config: BackblazeConfig): S3Config;
402
396
  declare function redactBackblazeConfig(config: BackblazeConfig): BackblazeConfigRedacted;
@@ -420,17 +414,16 @@ declare class BackblazeResource extends S3Resource {
420
414
 
421
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.";
422
416
 
423
- interface DigitalOceanConfig {
424
- bucket: string;
425
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
426
- region?: string;
427
- endpoint?: string;
428
- defaultContentType?: string;
429
- keyPrefix?: string;
430
- }
431
- interface DigitalOceanConfigRedacted extends Omit<DigitalOceanConfig, 'presignedUrlProvider'> {
432
- presignedUrlProvider: '<REDACTED>';
433
- }
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'>;
434
427
  declare function resolvedDigitalOceanEndpoint(config: DigitalOceanConfig): string | undefined;
435
428
  declare function digitalOceanToS3Config(config: DigitalOceanConfig): S3Config;
436
429
  declare function redactDigitalOceanConfig(config: DigitalOceanConfig): DigitalOceanConfigRedacted;
@@ -454,17 +447,16 @@ declare class DigitalOceanResource extends S3Resource {
454
447
 
455
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.";
456
449
 
457
- interface TencentConfig {
458
- bucket: string;
459
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
460
- region?: string;
461
- endpoint?: string;
462
- defaultContentType?: string;
463
- keyPrefix?: string;
464
- }
465
- interface TencentConfigRedacted extends Omit<TencentConfig, 'presignedUrlProvider'> {
466
- presignedUrlProvider: '<REDACTED>';
467
- }
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'>;
468
460
  declare function resolvedTencentEndpoint(config: TencentConfig): string | undefined;
469
461
  declare function tencentToS3Config(config: TencentConfig): S3Config;
470
462
  declare function redactTencentConfig(config: TencentConfig): TencentConfigRedacted;
@@ -488,17 +480,16 @@ declare class TencentResource extends S3Resource {
488
480
 
489
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.";
490
482
 
491
- interface AliyunConfig {
492
- bucket: string;
493
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
494
- region?: string;
495
- endpoint?: string;
496
- defaultContentType?: string;
497
- keyPrefix?: string;
498
- }
499
- interface AliyunConfigRedacted extends Omit<AliyunConfig, 'presignedUrlProvider'> {
500
- presignedUrlProvider: '<REDACTED>';
501
- }
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'>;
502
493
  declare function resolvedAliyunEndpoint(config: AliyunConfig): string | undefined;
503
494
  declare function aliyunToS3Config(config: AliyunConfig): S3Config;
504
495
  declare function redactAliyunConfig(config: AliyunConfig): AliyunConfigRedacted;
@@ -522,17 +513,16 @@ declare class AliyunResource extends S3Resource {
522
513
 
523
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.";
524
515
 
525
- interface ScalewayConfig {
526
- bucket: string;
527
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
528
- region?: string;
529
- endpoint?: string;
530
- defaultContentType?: string;
531
- keyPrefix?: string;
532
- }
533
- interface ScalewayConfigRedacted extends Omit<ScalewayConfig, 'presignedUrlProvider'> {
534
- presignedUrlProvider: '<REDACTED>';
535
- }
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'>;
536
526
  declare function resolvedScalewayEndpoint(config: ScalewayConfig): string | undefined;
537
527
  declare function scalewayToS3Config(config: ScalewayConfig): S3Config;
538
528
  declare function redactScalewayConfig(config: ScalewayConfig): ScalewayConfigRedacted;
@@ -556,17 +546,16 @@ declare class ScalewayResource extends S3Resource {
556
546
 
557
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.";
558
548
 
559
- interface QingStorConfig {
560
- bucket: string;
561
- presignedUrlProvider: S3BrowserPresignedUrlProvider;
562
- region?: string;
563
- endpoint?: string;
564
- defaultContentType?: string;
565
- keyPrefix?: string;
566
- }
567
- interface QingStorConfigRedacted extends Omit<QingStorConfig, 'presignedUrlProvider'> {
568
- presignedUrlProvider: '<REDACTED>';
569
- }
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'>;
570
559
  declare function resolvedQingStorEndpoint(config: QingStorConfig): string | undefined;
571
560
  declare function qingStorToS3Config(config: QingStorConfig): S3Config;
572
561
  declare function redactQingStorConfig(config: QingStorConfig): QingStorConfigRedacted;
@@ -590,14 +579,13 @@ declare class QingStorResource extends S3Resource {
590
579
 
591
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.";
592
581
 
593
- interface SlackConfig {
594
- proxyUrl: string;
595
- getHeaders?: () => Promise<Record<string, string>> | Record<string, string>;
596
- }
597
- interface SlackConfigRedacted {
598
- proxyUrl: string;
599
- getHeaders?: '<REDACTED>';
600
- }
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'>;
601
589
  declare function redactSlackConfig(config: SlackConfig): SlackConfigRedacted;
602
590
 
603
591
  interface SlackResourceState {
@@ -607,6 +595,7 @@ interface SlackResourceState {
607
595
  declare class SlackResource implements Resource {
608
596
  readonly kind: string;
609
597
  readonly cachesReads: boolean;
598
+ readonly sizesAlwaysKnown: boolean;
610
599
  readonly indexTtl: number;
611
600
  readonly prompt: string;
612
601
  readonly writePrompt: string;
@@ -626,14 +615,13 @@ declare class SlackResource implements Resource {
626
615
  loadState(_state: SlackResourceState): Promise<void>;
627
616
  }
628
617
 
629
- interface DiscordConfig {
630
- proxyUrl: string;
631
- getHeaders?: () => Promise<Record<string, string>> | Record<string, string>;
632
- }
633
- interface DiscordConfigRedacted {
634
- proxyUrl: string;
635
- getHeaders?: '<REDACTED>';
636
- }
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'>;
637
625
  declare function redactDiscordConfig(config: DiscordConfig): DiscordConfigRedacted;
638
626
 
639
627
  interface DiscordResourceState {
@@ -643,6 +631,7 @@ interface DiscordResourceState {
643
631
  declare class DiscordResource implements Resource {
644
632
  readonly kind: string;
645
633
  readonly cachesReads: boolean;
634
+ readonly sizesAlwaysKnown: boolean;
646
635
  readonly indexTtl: number;
647
636
  readonly prompt: string;
648
637
  readonly writePrompt: string;
@@ -745,20 +734,15 @@ declare class HttpMongoDriver implements MongoDriver {
745
734
  close(): Promise<void>;
746
735
  }
747
736
 
748
- interface TrelloConfig {
749
- apiKey: string;
750
- apiToken: string;
751
- workspaceId?: string;
752
- boardIds?: readonly string[];
753
- baseUrl?: string;
754
- }
755
- interface TrelloConfigRedacted {
756
- apiKey: '<REDACTED>';
757
- apiToken: '<REDACTED>';
758
- workspaceId?: string;
759
- boardIds?: readonly string[];
760
- baseUrl?: string;
761
- }
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'>;
762
746
  declare function redactTrelloConfig(config: TrelloConfig): TrelloConfigRedacted;
763
747
 
764
748
  interface TrelloResourceState {
@@ -788,18 +772,14 @@ declare class TrelloResource implements Resource {
788
772
  loadState(_state: TrelloResourceState): Promise<void>;
789
773
  }
790
774
 
791
- interface LinearConfig {
792
- apiKey: string;
793
- workspace?: string;
794
- teamIds?: readonly string[];
795
- baseUrl?: string;
796
- }
797
- interface LinearConfigRedacted {
798
- apiKey: '<REDACTED>';
799
- workspace?: string;
800
- teamIds?: readonly string[];
801
- baseUrl?: string;
802
- }
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'>;
803
783
  declare function redactLinearConfig(config: LinearConfig): LinearConfigRedacted;
804
784
 
805
785
  interface LinearResourceState {
@@ -809,6 +789,7 @@ interface LinearResourceState {
809
789
  declare class LinearResource implements Resource {
810
790
  readonly kind: string;
811
791
  readonly cachesReads: boolean;
792
+ readonly sizesAlwaysKnown: boolean;
812
793
  readonly indexTtl: number;
813
794
  readonly prompt: string;
814
795
  readonly writePrompt: string;
@@ -829,14 +810,12 @@ declare class LinearResource implements Resource {
829
810
  loadState(_state: LinearResourceState): Promise<void>;
830
811
  }
831
812
 
832
- interface NotionConfig {
833
- authProvider: OAuthClientProvider;
834
- serverUrl?: string;
835
- }
836
- interface NotionConfigRedacted {
837
- authProvider: '<REDACTED>';
838
- serverUrl?: string;
839
- }
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'>;
840
819
  declare function redactNotionConfig(config: NotionConfig): NotionConfigRedacted;
841
820
 
842
821
  interface NotionResourceState {
@@ -865,22 +844,16 @@ declare class NotionResource implements Resource {
865
844
  loadState(_state: NotionResourceState): Promise<void>;
866
845
  }
867
846
 
868
- interface LangfuseConfig {
869
- publicKey: string;
870
- secretKey: string;
871
- host?: string;
872
- defaultTraceLimit?: number;
873
- defaultSearchLimit?: number;
874
- defaultFromTimestamp?: string;
875
- }
876
- interface LangfuseConfigRedacted {
877
- publicKey: string;
878
- secretKey: '<REDACTED>';
879
- host?: string;
880
- defaultTraceLimit?: number;
881
- defaultSearchLimit?: number;
882
- defaultFromTimestamp?: string;
883
- }
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'>;
884
857
  declare function redactLangfuseConfig(config: LangfuseConfig): LangfuseConfigRedacted;
885
858
 
886
859
  interface LangfuseResourceState {
@@ -908,20 +881,15 @@ declare class LangfuseResource implements Resource {
908
881
  loadState(_state: LangfuseResourceState): Promise<void>;
909
882
  }
910
883
 
911
- interface GitHubConfig {
912
- token: string;
913
- owner: string;
914
- repo: string;
915
- ref?: string;
916
- baseUrl?: string;
917
- }
918
- interface GitHubConfigRedacted {
919
- token: '<REDACTED>';
920
- owner: string;
921
- repo: string;
922
- ref?: string;
923
- baseUrl?: string;
924
- }
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'>;
925
893
  declare function redactGitHubConfig(config: GitHubConfig): GitHubConfigRedacted;
926
894
  declare function normalizeGitHubConfig(input: Record<string, unknown>): GitHubConfig;
927
895
 
@@ -934,6 +902,7 @@ interface GitHubResourceState {
934
902
  declare class GitHubResource implements Resource {
935
903
  readonly kind: string;
936
904
  readonly cachesReads: boolean;
905
+ readonly sizesAlwaysKnown: boolean;
937
906
  readonly supportsSnapshot: boolean;
938
907
  readonly indexTtl: number;
939
908
  readonly prompt: string;
@@ -954,20 +923,15 @@ declare class GitHubResource implements Resource {
954
923
  loadState(_state: GitHubResourceState): Promise<void>;
955
924
  }
956
925
 
957
- interface GitHubCIConfig {
958
- token: string;
959
- owner: string;
960
- repo: string;
961
- days?: number;
962
- baseUrl?: string;
963
- }
964
- interface GitHubCIConfigRedacted {
965
- token: '<REDACTED>';
966
- owner: string;
967
- repo: string;
968
- days?: number;
969
- baseUrl?: string;
970
- }
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'>;
971
935
  declare function redactGitHubCIConfig(config: GitHubCIConfig): GitHubCIConfigRedacted;
972
936
  declare function normalizeGitHubCIConfig(input: Record<string, unknown>): GitHubCIConfig;
973
937
 
@@ -996,26 +960,9 @@ declare class GitHubCIResource implements Resource {
996
960
  loadState(_state: GitHubCIResourceState): Promise<void>;
997
961
  }
998
962
 
999
- interface GDocsConfig {
1000
- clientId: string;
1001
- clientSecret?: string;
1002
- refreshToken: string;
1003
- refreshFn?: (refreshToken: string) => Promise<{
1004
- accessToken: string;
1005
- expiresIn: number;
1006
- }>;
1007
- }
1008
- interface GDocsConfigRedacted {
1009
- clientId: string;
1010
- clientSecret?: '<REDACTED>';
1011
- refreshToken: '<REDACTED>';
1012
- }
1013
- declare function redactGDocsConfig(config: GDocsConfig): GDocsConfigRedacted;
1014
- declare function normalizeGDocsConfig(input: Record<string, unknown>): GDocsConfig;
1015
-
1016
963
  interface GDocsResourceState {
1017
964
  type: string;
1018
- config: GDocsConfigRedacted;
965
+ config: GoogleConfigRedacted;
1019
966
  }
1020
967
  declare class GDocsResource implements Resource {
1021
968
  readonly kind: string;
@@ -1023,10 +970,10 @@ declare class GDocsResource implements Resource {
1023
970
  readonly indexTtl: number;
1024
971
  readonly prompt: string;
1025
972
  readonly writePrompt: string;
1026
- readonly config: GDocsConfig;
973
+ readonly config: GoogleConfig;
1027
974
  readonly accessor: GDocsAccessor;
1028
975
  readonly index: IndexCacheStore;
1029
- constructor(config: GDocsConfig);
976
+ constructor(config: GoogleConfig);
1030
977
  open(): Promise<void>;
1031
978
  close(): Promise<void>;
1032
979
  commands(): readonly RegisteredCommand[];
@@ -1039,26 +986,9 @@ declare class GDocsResource implements Resource {
1039
986
  loadState(_state: GDocsResourceState): Promise<void>;
1040
987
  }
1041
988
 
1042
- interface GSheetsConfig {
1043
- clientId: string;
1044
- clientSecret?: string;
1045
- refreshToken: string;
1046
- refreshFn?: (refreshToken: string) => Promise<{
1047
- accessToken: string;
1048
- expiresIn: number;
1049
- }>;
1050
- }
1051
- interface GSheetsConfigRedacted {
1052
- clientId: string;
1053
- clientSecret?: '<REDACTED>';
1054
- refreshToken: '<REDACTED>';
1055
- }
1056
- declare function redactGSheetsConfig(config: GSheetsConfig): GSheetsConfigRedacted;
1057
- declare function normalizeGSheetsConfig(input: Record<string, unknown>): GSheetsConfig;
1058
-
1059
989
  interface GSheetsResourceState {
1060
990
  type: string;
1061
- config: GSheetsConfigRedacted;
991
+ config: GoogleConfigRedacted;
1062
992
  }
1063
993
  declare class GSheetsResource implements Resource {
1064
994
  readonly kind: string;
@@ -1066,10 +996,10 @@ declare class GSheetsResource implements Resource {
1066
996
  readonly indexTtl: number;
1067
997
  readonly prompt: string;
1068
998
  readonly writePrompt: string;
1069
- readonly config: GSheetsConfig;
999
+ readonly config: GoogleConfig;
1070
1000
  readonly accessor: GSheetsAccessor;
1071
1001
  readonly index: IndexCacheStore;
1072
- constructor(config: GSheetsConfig);
1002
+ constructor(config: GoogleConfig);
1073
1003
  open(): Promise<void>;
1074
1004
  close(): Promise<void>;
1075
1005
  commands(): readonly RegisteredCommand[];
@@ -1082,26 +1012,9 @@ declare class GSheetsResource implements Resource {
1082
1012
  loadState(_state: GSheetsResourceState): Promise<void>;
1083
1013
  }
1084
1014
 
1085
- interface GSlidesConfig {
1086
- clientId: string;
1087
- clientSecret?: string;
1088
- refreshToken: string;
1089
- refreshFn?: (refreshToken: string) => Promise<{
1090
- accessToken: string;
1091
- expiresIn: number;
1092
- }>;
1093
- }
1094
- interface GSlidesConfigRedacted {
1095
- clientId: string;
1096
- clientSecret?: '<REDACTED>';
1097
- refreshToken: '<REDACTED>';
1098
- }
1099
- declare function redactGSlidesConfig(config: GSlidesConfig): GSlidesConfigRedacted;
1100
- declare function normalizeGSlidesConfig(input: Record<string, unknown>): GSlidesConfig;
1101
-
1102
1015
  interface GSlidesResourceState {
1103
1016
  type: string;
1104
- config: GSlidesConfigRedacted;
1017
+ config: GoogleConfigRedacted;
1105
1018
  }
1106
1019
  declare class GSlidesResource implements Resource {
1107
1020
  readonly kind: string;
@@ -1109,10 +1022,10 @@ declare class GSlidesResource implements Resource {
1109
1022
  readonly indexTtl: number;
1110
1023
  readonly prompt: string;
1111
1024
  readonly writePrompt: string;
1112
- readonly config: GSlidesConfig;
1025
+ readonly config: GoogleConfig;
1113
1026
  readonly accessor: GSlidesAccessor;
1114
1027
  readonly index: IndexCacheStore;
1115
- constructor(config: GSlidesConfig);
1028
+ constructor(config: GoogleConfig);
1116
1029
  open(): Promise<void>;
1117
1030
  close(): Promise<void>;
1118
1031
  commands(): readonly RegisteredCommand[];
@@ -1125,27 +1038,9 @@ declare class GSlidesResource implements Resource {
1125
1038
  loadState(_state: GSlidesResourceState): Promise<void>;
1126
1039
  }
1127
1040
 
1128
- interface GDriveConfig {
1129
- clientId: string;
1130
- clientSecret?: string;
1131
- refreshToken: string;
1132
- refreshFn?: (refreshToken: string) => Promise<{
1133
- accessToken: string;
1134
- expiresIn: number;
1135
- }>;
1136
- folderId?: string;
1137
- }
1138
- interface GDriveConfigRedacted {
1139
- clientId: string;
1140
- clientSecret?: '<REDACTED>';
1141
- refreshToken: '<REDACTED>';
1142
- }
1143
- declare function redactGDriveConfig(config: GDriveConfig): GDriveConfigRedacted;
1144
- declare function normalizeGDriveConfig(input: Record<string, unknown>): GDriveConfig;
1145
-
1146
1041
  interface GDriveResourceState {
1147
1042
  type: string;
1148
- config: GDriveConfigRedacted;
1043
+ config: GoogleConfigRedacted;
1149
1044
  }
1150
1045
  declare class GDriveResource implements Resource {
1151
1046
  readonly kind: string;
@@ -1153,10 +1048,10 @@ declare class GDriveResource implements Resource {
1153
1048
  readonly supportsSnapshot: boolean;
1154
1049
  readonly indexTtl: number;
1155
1050
  readonly prompt: string;
1156
- readonly config: GDriveConfig;
1051
+ readonly config: GoogleConfig;
1157
1052
  readonly accessor: GDriveAccessor;
1158
1053
  readonly index: IndexCacheStore;
1159
- constructor(config: GDriveConfig);
1054
+ constructor(config: GoogleConfig);
1160
1055
  open(): Promise<void>;
1161
1056
  close(): Promise<void>;
1162
1057
  commands(): readonly RegisteredCommand[];
@@ -1181,14 +1076,15 @@ interface DropboxConfig {
1181
1076
  expiresIn: number;
1182
1077
  }>;
1183
1078
  }
1184
- interface DropboxConfigRedacted {
1185
- clientId: string;
1186
- clientSecret?: '<REDACTED>';
1187
- refreshToken: '<REDACTED>';
1188
- rootPath?: string;
1189
- contentSearch?: boolean;
1190
- endpoint?: string;
1191
- }
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'>;
1192
1088
  declare function redactDropboxConfig(config: DropboxConfig): DropboxConfigRedacted;
1193
1089
  declare function normalizeDropboxConfig(input: Record<string, unknown>): DropboxConfig;
1194
1090
 
@@ -1199,6 +1095,7 @@ interface DropboxResourceState {
1199
1095
  declare class DropboxResource implements Resource {
1200
1096
  readonly kind: string;
1201
1097
  readonly cachesReads: boolean;
1098
+ readonly sizesAlwaysKnown: boolean;
1202
1099
  readonly indexTtl: number;
1203
1100
  readonly prompt: string;
1204
1101
  readonly config: DropboxConfig;
@@ -1232,14 +1129,16 @@ interface BoxConfig {
1232
1129
  }>;
1233
1130
  onRefreshTokenRotated?: (newRefreshToken: string) => void | Promise<void>;
1234
1131
  }
1235
- interface BoxConfigRedacted {
1236
- endpoint?: string;
1237
- rootFolderId?: string;
1238
- clientId?: string;
1239
- clientSecret?: '<REDACTED>';
1240
- refreshToken?: '<REDACTED>';
1241
- accessToken?: '<REDACTED>';
1242
- }
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'>;
1243
1142
  declare function redactBoxConfig(config: BoxConfig): BoxConfigRedacted;
1244
1143
  declare function normalizeBoxConfig(input: Record<string, unknown>): BoxConfig;
1245
1144
 
@@ -1250,6 +1149,7 @@ interface BoxResourceState {
1250
1149
  declare class BoxResource implements Resource {
1251
1150
  readonly kind: string;
1252
1151
  readonly cachesReads: boolean;
1152
+ readonly sizesAlwaysKnown: boolean;
1253
1153
  readonly indexTtl: number;
1254
1154
  readonly prompt: string;
1255
1155
  readonly config: BoxConfig;
@@ -1275,6 +1175,7 @@ interface GmailResourceState {
1275
1175
  declare class GmailResource implements Resource {
1276
1176
  readonly kind: string;
1277
1177
  readonly cachesReads: boolean;
1178
+ readonly sizesAlwaysKnown: boolean;
1278
1179
  readonly indexTtl: number;
1279
1180
  readonly prompt: string;
1280
1181
  readonly writePrompt: string;
@@ -1294,6 +1195,32 @@ declare class GmailResource implements Resource {
1294
1195
  loadState(_state: GmailResourceState): Promise<void>;
1295
1196
  }
1296
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
+
1297
1224
  /**
1298
1225
  * Construct a resource by registry name in the browser runtime.
1299
1226
  * Mirrors Python's `mirage.resource.registry.build_resource` and the
@@ -1309,7 +1236,12 @@ declare class GmailResource implements Resource {
1309
1236
  */
1310
1237
  type ResourceFactory = (config: Record<string, unknown>) => Promise<Resource>;
1311
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
+ */
1312
1244
  declare function register(name: string, factory: ResourceFactory): void;
1313
1245
  declare function buildResource(name: string, config?: Record<string, unknown>): Promise<Resource>;
1314
1246
 
1315
- 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 };