@struktoai/mirage-browser 0.0.8-alpha.1 → 0.0.8

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 (289) hide show
  1. package/README.md +140 -46
  2. package/dist/core/opfs/append.d.ts +1 -2
  3. package/dist/core/opfs/append.d.ts.map +1 -1
  4. package/dist/core/opfs/append.js +2 -5
  5. package/dist/core/opfs/append.js.map +1 -1
  6. package/dist/core/opfs/capacity.d.ts +8 -0
  7. package/dist/core/opfs/capacity.d.ts.map +1 -0
  8. package/dist/core/opfs/capacity.js +42 -0
  9. package/dist/core/opfs/capacity.js.map +1 -0
  10. package/dist/core/opfs/stream.d.ts.map +1 -1
  11. package/dist/core/opfs/stream.js +2 -0
  12. package/dist/core/opfs/stream.js.map +1 -1
  13. package/dist/core/opfs/write.d.ts +1 -2
  14. package/dist/core/opfs/write.d.ts.map +1 -1
  15. package/dist/core/opfs/write.js +2 -5
  16. package/dist/core/opfs/write.js.map +1 -1
  17. package/dist/index.d.ts +79 -99
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +53 -91
  20. package/dist/index.js.map +1 -1
  21. package/dist/io/gateway.d.ts +8 -0
  22. package/dist/io/gateway.d.ts.map +1 -0
  23. package/dist/io/gateway.js +238 -0
  24. package/dist/io/gateway.js.map +1 -0
  25. package/dist/io/network.d.ts +21 -0
  26. package/dist/io/network.d.ts.map +1 -0
  27. package/dist/io/network.js +131 -0
  28. package/dist/io/network.js.map +1 -0
  29. package/dist/io/spool.d.ts +2 -0
  30. package/dist/io/spool.d.ts.map +1 -0
  31. package/dist/io/spool.js +68 -0
  32. package/dist/io/spool.js.map +1 -0
  33. package/dist/vfs/aliyun/aliyun.d.ts +4 -5
  34. package/dist/vfs/aliyun/aliyun.d.ts.map +1 -1
  35. package/dist/vfs/aliyun/aliyun.js +2 -4
  36. package/dist/vfs/aliyun/aliyun.js.map +1 -1
  37. package/dist/vfs/aliyun/config.d.ts +22 -11
  38. package/dist/vfs/aliyun/config.d.ts.map +1 -1
  39. package/dist/vfs/aliyun/config.js +2 -7
  40. package/dist/vfs/aliyun/config.js.map +1 -1
  41. package/dist/vfs/backblaze/backblaze.d.ts +4 -5
  42. package/dist/vfs/backblaze/backblaze.d.ts.map +1 -1
  43. package/dist/vfs/backblaze/backblaze.js +2 -4
  44. package/dist/vfs/backblaze/backblaze.js.map +1 -1
  45. package/dist/vfs/backblaze/config.d.ts +22 -11
  46. package/dist/vfs/backblaze/config.d.ts.map +1 -1
  47. package/dist/vfs/backblaze/config.js +2 -7
  48. package/dist/vfs/backblaze/config.js.map +1 -1
  49. package/dist/vfs/ceph/ceph.d.ts +4 -5
  50. package/dist/vfs/ceph/ceph.d.ts.map +1 -1
  51. package/dist/vfs/ceph/ceph.js +2 -4
  52. package/dist/vfs/ceph/ceph.js.map +1 -1
  53. package/dist/vfs/ceph/config.d.ts +22 -10
  54. package/dist/vfs/ceph/config.d.ts.map +1 -1
  55. package/dist/vfs/ceph/config.js +1 -7
  56. package/dist/vfs/ceph/config.js.map +1 -1
  57. package/dist/vfs/digitalocean/config.d.ts +22 -11
  58. package/dist/vfs/digitalocean/config.d.ts.map +1 -1
  59. package/dist/vfs/digitalocean/config.js +2 -7
  60. package/dist/vfs/digitalocean/config.js.map +1 -1
  61. package/dist/vfs/digitalocean/digitalocean.d.ts +4 -5
  62. package/dist/vfs/digitalocean/digitalocean.d.ts.map +1 -1
  63. package/dist/vfs/digitalocean/digitalocean.js +2 -4
  64. package/dist/vfs/digitalocean/digitalocean.js.map +1 -1
  65. package/dist/vfs/discord/config.d.ts +5 -14
  66. package/dist/vfs/discord/config.d.ts.map +1 -1
  67. package/dist/vfs/discord/config.js +11 -18
  68. package/dist/vfs/discord/config.js.map +1 -1
  69. package/dist/vfs/discord/discord.d.ts +7 -10
  70. package/dist/vfs/discord/discord.d.ts.map +1 -1
  71. package/dist/vfs/discord/discord.js +7 -11
  72. package/dist/vfs/discord/discord.js.map +1 -1
  73. package/dist/vfs/gcs/config.d.ts +34 -15
  74. package/dist/vfs/gcs/config.d.ts.map +1 -1
  75. package/dist/vfs/gcs/config.js +12 -6
  76. package/dist/vfs/gcs/config.js.map +1 -1
  77. package/dist/vfs/gcs/gcs.d.ts +4 -5
  78. package/dist/vfs/gcs/gcs.d.ts.map +1 -1
  79. package/dist/vfs/gcs/gcs.js +2 -4
  80. package/dist/vfs/gcs/gcs.js.map +1 -1
  81. package/dist/vfs/minio/config.d.ts +22 -10
  82. package/dist/vfs/minio/config.d.ts.map +1 -1
  83. package/dist/vfs/minio/config.js +1 -7
  84. package/dist/vfs/minio/config.js.map +1 -1
  85. package/dist/vfs/minio/minio.d.ts +4 -5
  86. package/dist/vfs/minio/minio.d.ts.map +1 -1
  87. package/dist/vfs/minio/minio.js +2 -4
  88. package/dist/vfs/minio/minio.js.map +1 -1
  89. package/dist/vfs/mongodb/http_driver.d.ts +2 -0
  90. package/dist/vfs/mongodb/http_driver.d.ts.map +1 -1
  91. package/dist/vfs/mongodb/http_driver.js +2 -1
  92. package/dist/vfs/mongodb/http_driver.js.map +1 -1
  93. package/dist/vfs/mongodb/mongodb.d.ts +10 -11
  94. package/dist/vfs/mongodb/mongodb.d.ts.map +1 -1
  95. package/dist/vfs/mongodb/mongodb.js +8 -7
  96. package/dist/vfs/mongodb/mongodb.js.map +1 -1
  97. package/dist/vfs/notion/config.d.ts +4 -15
  98. package/dist/vfs/notion/config.d.ts.map +1 -1
  99. package/dist/vfs/notion/config.js +7 -17
  100. package/dist/vfs/notion/config.js.map +1 -1
  101. package/dist/vfs/notion/notion.d.ts +7 -10
  102. package/dist/vfs/notion/notion.d.ts.map +1 -1
  103. package/dist/vfs/notion/notion.js +5 -10
  104. package/dist/vfs/notion/notion.js.map +1 -1
  105. package/dist/vfs/oci/config.d.ts +25 -11
  106. package/dist/vfs/oci/config.d.ts.map +1 -1
  107. package/dist/vfs/oci/config.js +7 -7
  108. package/dist/vfs/oci/config.js.map +1 -1
  109. package/dist/vfs/oci/oci.d.ts +4 -5
  110. package/dist/vfs/oci/oci.d.ts.map +1 -1
  111. package/dist/vfs/oci/oci.js +2 -4
  112. package/dist/vfs/oci/oci.js.map +1 -1
  113. package/dist/vfs/opfs/opfs.d.ts +18 -11
  114. package/dist/vfs/opfs/opfs.d.ts.map +1 -1
  115. package/dist/vfs/opfs/opfs.js +62 -38
  116. package/dist/vfs/opfs/opfs.js.map +1 -1
  117. package/dist/vfs/postgres/neon_driver.d.ts +3 -1
  118. package/dist/vfs/postgres/neon_driver.d.ts.map +1 -1
  119. package/dist/vfs/postgres/neon_driver.js +34 -3
  120. package/dist/vfs/postgres/neon_driver.js.map +1 -1
  121. package/dist/vfs/postgres/postgres.d.ts +10 -11
  122. package/dist/vfs/postgres/postgres.d.ts.map +1 -1
  123. package/dist/vfs/postgres/postgres.js +6 -7
  124. package/dist/vfs/postgres/postgres.js.map +1 -1
  125. package/dist/vfs/qingstor/config.d.ts +22 -11
  126. package/dist/vfs/qingstor/config.d.ts.map +1 -1
  127. package/dist/vfs/qingstor/config.js +2 -7
  128. package/dist/vfs/qingstor/config.js.map +1 -1
  129. package/dist/vfs/qingstor/qingstor.d.ts +4 -5
  130. package/dist/vfs/qingstor/qingstor.d.ts.map +1 -1
  131. package/dist/vfs/qingstor/qingstor.js +2 -4
  132. package/dist/vfs/qingstor/qingstor.js.map +1 -1
  133. package/dist/vfs/r2/config.d.ts +27 -11
  134. package/dist/vfs/r2/config.d.ts.map +1 -1
  135. package/dist/vfs/r2/config.js +11 -7
  136. package/dist/vfs/r2/config.js.map +1 -1
  137. package/dist/vfs/r2/r2.d.ts +4 -5
  138. package/dist/vfs/r2/r2.d.ts.map +1 -1
  139. package/dist/vfs/r2/r2.js +2 -4
  140. package/dist/vfs/r2/r2.js.map +1 -1
  141. package/dist/vfs/redis/redis.d.ts +5 -1
  142. package/dist/vfs/redis/redis.d.ts.map +1 -1
  143. package/dist/vfs/redis/redis.js +1 -1
  144. package/dist/vfs/redis/redis.js.map +1 -1
  145. package/dist/vfs/redis/store.d.ts +2 -0
  146. package/dist/vfs/redis/store.d.ts.map +1 -1
  147. package/dist/vfs/redis/store.js +24 -5
  148. package/dist/vfs/redis/store.js.map +1 -1
  149. package/dist/vfs/registry.d.ts.map +1 -1
  150. package/dist/vfs/registry.js +87 -85
  151. package/dist/vfs/registry.js.map +1 -1
  152. package/dist/vfs/s3/config.d.ts +17 -5
  153. package/dist/vfs/s3/config.d.ts.map +1 -1
  154. package/dist/vfs/s3/config.js +7 -7
  155. package/dist/vfs/s3/config.js.map +1 -1
  156. package/dist/vfs/s3/s3.d.ts +6 -9
  157. package/dist/vfs/s3/s3.d.ts.map +1 -1
  158. package/dist/vfs/s3/s3.js +5 -10
  159. package/dist/vfs/s3/s3.js.map +1 -1
  160. package/dist/vfs/s3_alias.d.ts +22 -32
  161. package/dist/vfs/s3_alias.d.ts.map +1 -1
  162. package/dist/vfs/s3_alias.js +35 -23
  163. package/dist/vfs/s3_alias.js.map +1 -1
  164. package/dist/vfs/scaleway/config.d.ts +22 -11
  165. package/dist/vfs/scaleway/config.d.ts.map +1 -1
  166. package/dist/vfs/scaleway/config.js +2 -7
  167. package/dist/vfs/scaleway/config.js.map +1 -1
  168. package/dist/vfs/scaleway/scaleway.d.ts +4 -5
  169. package/dist/vfs/scaleway/scaleway.d.ts.map +1 -1
  170. package/dist/vfs/scaleway/scaleway.js +2 -4
  171. package/dist/vfs/scaleway/scaleway.js.map +1 -1
  172. package/dist/vfs/seaweedfs/config.d.ts +22 -10
  173. package/dist/vfs/seaweedfs/config.d.ts.map +1 -1
  174. package/dist/vfs/seaweedfs/config.js +1 -7
  175. package/dist/vfs/seaweedfs/config.js.map +1 -1
  176. package/dist/vfs/seaweedfs/seaweedfs.d.ts +4 -5
  177. package/dist/vfs/seaweedfs/seaweedfs.d.ts.map +1 -1
  178. package/dist/vfs/seaweedfs/seaweedfs.js +2 -4
  179. package/dist/vfs/seaweedfs/seaweedfs.js.map +1 -1
  180. package/dist/vfs/slack/config.d.ts +5 -15
  181. package/dist/vfs/slack/config.d.ts.map +1 -1
  182. package/dist/vfs/slack/config.js +11 -21
  183. package/dist/vfs/slack/config.js.map +1 -1
  184. package/dist/vfs/slack/slack.d.ts +7 -10
  185. package/dist/vfs/slack/slack.d.ts.map +1 -1
  186. package/dist/vfs/slack/slack.js +7 -11
  187. package/dist/vfs/slack/slack.js.map +1 -1
  188. package/dist/vfs/supabase/config.d.ts +25 -11
  189. package/dist/vfs/supabase/config.d.ts.map +1 -1
  190. package/dist/vfs/supabase/config.js +7 -7
  191. package/dist/vfs/supabase/config.js.map +1 -1
  192. package/dist/vfs/supabase/supabase.d.ts +4 -5
  193. package/dist/vfs/supabase/supabase.d.ts.map +1 -1
  194. package/dist/vfs/supabase/supabase.js +2 -4
  195. package/dist/vfs/supabase/supabase.js.map +1 -1
  196. package/dist/vfs/tencent/config.d.ts +22 -11
  197. package/dist/vfs/tencent/config.d.ts.map +1 -1
  198. package/dist/vfs/tencent/config.js +2 -7
  199. package/dist/vfs/tencent/config.js.map +1 -1
  200. package/dist/vfs/tencent/tencent.d.ts +4 -5
  201. package/dist/vfs/tencent/tencent.d.ts.map +1 -1
  202. package/dist/vfs/tencent/tencent.js +2 -4
  203. package/dist/vfs/tencent/tencent.js.map +1 -1
  204. package/dist/vfs/wasabi/config.d.ts +32 -16
  205. package/dist/vfs/wasabi/config.d.ts.map +1 -1
  206. package/dist/vfs/wasabi/config.js +8 -7
  207. package/dist/vfs/wasabi/config.js.map +1 -1
  208. package/dist/vfs/wasabi/wasabi.d.ts +4 -5
  209. package/dist/vfs/wasabi/wasabi.d.ts.map +1 -1
  210. package/dist/vfs/wasabi/wasabi.js +2 -4
  211. package/dist/vfs/wasabi/wasabi.js.map +1 -1
  212. package/dist/workspace.d.ts +2 -3
  213. package/dist/workspace.d.ts.map +1 -1
  214. package/dist/workspace.js +10 -18
  215. package/dist/workspace.js.map +1 -1
  216. package/package.json +7 -10
  217. package/THIRD_PARTY_NOTICES +0 -66
  218. package/dist/core/opfs/constants.d.ts +0 -2
  219. package/dist/core/opfs/constants.d.ts.map +0 -1
  220. package/dist/core/opfs/constants.js +0 -15
  221. package/dist/core/opfs/constants.js.map +0 -1
  222. package/dist/generated/wasm.d.ts +0 -3
  223. package/dist/generated/wasm.d.ts.map +0 -1
  224. package/dist/generated/wasm.js +0 -7
  225. package/dist/generated/wasm.js.map +0 -1
  226. package/dist/vfs/aliyun/prompt.d.ts +0 -2
  227. package/dist/vfs/aliyun/prompt.d.ts.map +0 -1
  228. package/dist/vfs/aliyun/prompt.js +0 -19
  229. package/dist/vfs/aliyun/prompt.js.map +0 -1
  230. package/dist/vfs/backblaze/prompt.d.ts +0 -2
  231. package/dist/vfs/backblaze/prompt.d.ts.map +0 -1
  232. package/dist/vfs/backblaze/prompt.js +0 -19
  233. package/dist/vfs/backblaze/prompt.js.map +0 -1
  234. package/dist/vfs/ceph/prompt.d.ts +0 -2
  235. package/dist/vfs/ceph/prompt.d.ts.map +0 -1
  236. package/dist/vfs/ceph/prompt.js +0 -19
  237. package/dist/vfs/ceph/prompt.js.map +0 -1
  238. package/dist/vfs/digitalocean/prompt.d.ts +0 -2
  239. package/dist/vfs/digitalocean/prompt.d.ts.map +0 -1
  240. package/dist/vfs/digitalocean/prompt.js +0 -19
  241. package/dist/vfs/digitalocean/prompt.js.map +0 -1
  242. package/dist/vfs/gcs/prompt.d.ts +0 -2
  243. package/dist/vfs/gcs/prompt.d.ts.map +0 -1
  244. package/dist/vfs/gcs/prompt.js +0 -19
  245. package/dist/vfs/gcs/prompt.js.map +0 -1
  246. package/dist/vfs/minio/prompt.d.ts +0 -2
  247. package/dist/vfs/minio/prompt.d.ts.map +0 -1
  248. package/dist/vfs/minio/prompt.js +0 -19
  249. package/dist/vfs/minio/prompt.js.map +0 -1
  250. package/dist/vfs/oci/prompt.d.ts +0 -2
  251. package/dist/vfs/oci/prompt.d.ts.map +0 -1
  252. package/dist/vfs/oci/prompt.js +0 -19
  253. package/dist/vfs/oci/prompt.js.map +0 -1
  254. package/dist/vfs/opfs/prompt.d.ts +0 -2
  255. package/dist/vfs/opfs/prompt.d.ts.map +0 -1
  256. package/dist/vfs/opfs/prompt.js +0 -17
  257. package/dist/vfs/opfs/prompt.js.map +0 -1
  258. package/dist/vfs/qingstor/prompt.d.ts +0 -2
  259. package/dist/vfs/qingstor/prompt.d.ts.map +0 -1
  260. package/dist/vfs/qingstor/prompt.js +0 -19
  261. package/dist/vfs/qingstor/prompt.js.map +0 -1
  262. package/dist/vfs/r2/prompt.d.ts +0 -2
  263. package/dist/vfs/r2/prompt.d.ts.map +0 -1
  264. package/dist/vfs/r2/prompt.js +0 -19
  265. package/dist/vfs/r2/prompt.js.map +0 -1
  266. package/dist/vfs/s3/prompt.d.ts +0 -2
  267. package/dist/vfs/s3/prompt.d.ts.map +0 -1
  268. package/dist/vfs/s3/prompt.js +0 -19
  269. package/dist/vfs/s3/prompt.js.map +0 -1
  270. package/dist/vfs/scaleway/prompt.d.ts +0 -2
  271. package/dist/vfs/scaleway/prompt.d.ts.map +0 -1
  272. package/dist/vfs/scaleway/prompt.js +0 -19
  273. package/dist/vfs/scaleway/prompt.js.map +0 -1
  274. package/dist/vfs/seaweedfs/prompt.d.ts +0 -2
  275. package/dist/vfs/seaweedfs/prompt.d.ts.map +0 -1
  276. package/dist/vfs/seaweedfs/prompt.js +0 -19
  277. package/dist/vfs/seaweedfs/prompt.js.map +0 -1
  278. package/dist/vfs/supabase/prompt.d.ts +0 -2
  279. package/dist/vfs/supabase/prompt.d.ts.map +0 -1
  280. package/dist/vfs/supabase/prompt.js +0 -19
  281. package/dist/vfs/supabase/prompt.js.map +0 -1
  282. package/dist/vfs/tencent/prompt.d.ts +0 -2
  283. package/dist/vfs/tencent/prompt.d.ts.map +0 -1
  284. package/dist/vfs/tencent/prompt.js +0 -19
  285. package/dist/vfs/tencent/prompt.js.map +0 -1
  286. package/dist/vfs/wasabi/prompt.d.ts +0 -2
  287. package/dist/vfs/wasabi/prompt.d.ts.map +0 -1
  288. package/dist/vfs/wasabi/prompt.js +0 -19
  289. package/dist/vfs/wasabi/prompt.js.map +0 -1
@@ -12,27 +12,29 @@
12
12
  // limitations under the License.
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
14
  import { resolveConfigSecrets } from '@struktoai/mirage-core/secrets/sources';
15
- import { refuseUnknownKeys, z } from '@struktoai/mirage-core/vfs/secrets';
16
15
  import { errorSummary } from '@struktoai/mirage-core/secrets/summary';
17
- import { VFSConfigError } from '@struktoai/mirage-core/vfs/errors';
18
16
  import { normalizeFields } from '@struktoai/mirage-core/utils/normalize';
19
17
  import { compareCodePoints } from '@struktoai/mirage-core/utils/sort';
18
+ import { VFSConfigError } from '@struktoai/mirage-core/vfs/errors';
19
+ import { parseConfigWithSchema, refuseUnknownKeys, z } from '@struktoai/mirage-core/vfs/secrets';
20
20
  // The backends that take their options without a schema, and the option
21
21
  // names each takes, so a key outside these is refused rather than ignored,
22
22
  // the way python refuses a constructor keyword its class does not take.
23
- const OPFS_OPTIONS = ['root'];
23
+ const RAM_OPTIONS = ['capacity'];
24
+ const OPFS_OPTIONS = ['root', 'capacity'];
24
25
  const REDIS_OPTIONS = [
25
26
  'url',
26
27
  'token',
27
28
  'keyPrefix',
28
29
  'fetchImpl',
30
+ 'capacity',
29
31
  'maxRequestBytes',
30
32
  ];
31
33
  const REGISTRY = {
32
34
  ram: async (config) => {
33
- refuseUnknownKeys(config, []);
35
+ refuseUnknownKeys(config, RAM_OPTIONS);
34
36
  const { RAMVFS } = await import('@struktoai/mirage-core/vfs/ram/ram');
35
- return new RAMVFS();
37
+ return new RAMVFS(normalizeFields(config));
36
38
  },
37
39
  opfs: async (config) => {
38
40
  refuseUnknownKeys(config, OPFS_OPTIONS);
@@ -42,128 +44,128 @@ const REGISTRY = {
42
44
  },
43
45
  s3: async (config) => {
44
46
  const { S3VFS } = await import("./s3/s3.js");
45
- const { normalizeS3Config } = await import("./s3/config.js");
46
- return new S3VFS(normalizeS3Config(config));
47
+ const { S3Config } = await import("./s3/config.js");
48
+ return new S3VFS(parseConfigWithSchema(S3Config, config));
47
49
  },
48
50
  gcs: async (config) => {
49
51
  const { GCSVFS } = await import("./gcs/gcs.js");
50
- const { normalizeGCSConfig } = await import("./gcs/config.js");
51
- return new GCSVFS(normalizeGCSConfig(config));
52
+ const { GCSConfig } = await import("./gcs/config.js");
53
+ return new GCSVFS(parseConfigWithSchema(GCSConfig, config));
52
54
  },
53
55
  r2: async (config) => {
54
56
  const { R2VFS } = await import("./r2/r2.js");
55
- const { normalizeR2Config } = await import("./r2/config.js");
56
- return new R2VFS(normalizeR2Config(config));
57
+ const { R2Config } = await import("./r2/config.js");
58
+ return new R2VFS(parseConfigWithSchema(R2Config, config));
57
59
  },
58
60
  oci: async (config) => {
59
61
  const { OCIVFS } = await import("./oci/oci.js");
60
- const { normalizeOCIConfig } = await import("./oci/config.js");
61
- return new OCIVFS(normalizeOCIConfig(config));
62
+ const { OCIConfig } = await import("./oci/config.js");
63
+ return new OCIVFS(parseConfigWithSchema(OCIConfig, config));
62
64
  },
63
65
  supabase: async (config) => {
64
66
  const { SupabaseVFS } = await import("./supabase/supabase.js");
65
- const { normalizeSupabaseConfig } = await import("./supabase/config.js");
66
- return new SupabaseVFS(normalizeSupabaseConfig(config));
67
+ const { SupabaseConfig } = await import("./supabase/config.js");
68
+ return new SupabaseVFS(parseConfigWithSchema(SupabaseConfig, config));
67
69
  },
68
70
  minio: async (config) => {
69
71
  const { MinIOVFS } = await import("./minio/minio.js");
70
- const { normalizeMinIOConfig } = await import("./minio/config.js");
71
- return new MinIOVFS(normalizeMinIOConfig(config));
72
+ const { MinIOConfig } = await import("./minio/config.js");
73
+ return new MinIOVFS(parseConfigWithSchema(MinIOConfig, config));
72
74
  },
73
75
  ceph: async (config) => {
74
76
  const { CephVFS } = await import("./ceph/ceph.js");
75
- const { normalizeCephConfig } = await import("./ceph/config.js");
76
- return new CephVFS(normalizeCephConfig(config));
77
+ const { CephConfig } = await import("./ceph/config.js");
78
+ return new CephVFS(parseConfigWithSchema(CephConfig, config));
77
79
  },
78
80
  seaweedfs: async (config) => {
79
81
  const { SeaweedFSVFS } = await import("./seaweedfs/seaweedfs.js");
80
- const { normalizeSeaweedFSConfig } = await import("./seaweedfs/config.js");
81
- return new SeaweedFSVFS(normalizeSeaweedFSConfig(config));
82
+ const { SeaweedFSConfig } = await import("./seaweedfs/config.js");
83
+ return new SeaweedFSVFS(parseConfigWithSchema(SeaweedFSConfig, config));
82
84
  },
83
85
  wasabi: async (config) => {
84
86
  const { WasabiVFS } = await import("./wasabi/wasabi.js");
85
- const { normalizeWasabiConfig } = await import("./wasabi/config.js");
86
- return new WasabiVFS(normalizeWasabiConfig(config));
87
+ const { WasabiConfig } = await import("./wasabi/config.js");
88
+ return new WasabiVFS(parseConfigWithSchema(WasabiConfig, config));
87
89
  },
88
90
  backblaze: async (config) => {
89
91
  const { BackblazeVFS } = await import("./backblaze/backblaze.js");
90
- const { normalizeBackblazeConfig } = await import("./backblaze/config.js");
91
- return new BackblazeVFS(normalizeBackblazeConfig(config));
92
+ const { BackblazeConfig } = await import("./backblaze/config.js");
93
+ return new BackblazeVFS(parseConfigWithSchema(BackblazeConfig, config));
92
94
  },
93
95
  digitalocean: async (config) => {
94
96
  const { DigitalOceanVFS } = await import("./digitalocean/digitalocean.js");
95
- const { normalizeDigitalOceanConfig } = await import("./digitalocean/config.js");
96
- return new DigitalOceanVFS(normalizeDigitalOceanConfig(config));
97
+ const { DigitalOceanConfig } = await import("./digitalocean/config.js");
98
+ return new DigitalOceanVFS(parseConfigWithSchema(DigitalOceanConfig, config));
97
99
  },
98
100
  tencent: async (config) => {
99
101
  const { TencentVFS } = await import("./tencent/tencent.js");
100
- const { normalizeTencentConfig } = await import("./tencent/config.js");
101
- return new TencentVFS(normalizeTencentConfig(config));
102
+ const { TencentConfig } = await import("./tencent/config.js");
103
+ return new TencentVFS(parseConfigWithSchema(TencentConfig, config));
102
104
  },
103
105
  aliyun: async (config) => {
104
106
  const { AliyunVFS } = await import("./aliyun/aliyun.js");
105
- const { normalizeAliyunConfig } = await import("./aliyun/config.js");
106
- return new AliyunVFS(normalizeAliyunConfig(config));
107
+ const { AliyunConfig } = await import("./aliyun/config.js");
108
+ return new AliyunVFS(parseConfigWithSchema(AliyunConfig, config));
107
109
  },
108
110
  scaleway: async (config) => {
109
111
  const { ScalewayVFS } = await import("./scaleway/scaleway.js");
110
- const { normalizeScalewayConfig } = await import("./scaleway/config.js");
111
- return new ScalewayVFS(normalizeScalewayConfig(config));
112
+ const { ScalewayConfig } = await import("./scaleway/config.js");
113
+ return new ScalewayVFS(parseConfigWithSchema(ScalewayConfig, config));
112
114
  },
113
115
  qingstor: async (config) => {
114
116
  const { QingStorVFS } = await import("./qingstor/qingstor.js");
115
- const { normalizeQingStorConfig } = await import("./qingstor/config.js");
116
- return new QingStorVFS(normalizeQingStorConfig(config));
117
+ const { QingStorConfig } = await import("./qingstor/config.js");
118
+ return new QingStorVFS(parseConfigWithSchema(QingStorConfig, config));
117
119
  },
118
120
  slack: async (config) => {
119
121
  const { SlackVFS } = await import("./slack/slack.js");
120
- const { normalizeSlackConfig } = await import("./slack/config.js");
121
- return new SlackVFS(normalizeSlackConfig(config));
122
+ const { SlackConfig } = await import("./slack/config.js");
123
+ return new SlackVFS(parseConfigWithSchema(SlackConfig, config));
122
124
  },
123
125
  discord: async (config) => {
124
126
  const { DiscordVFS } = await import("./discord/discord.js");
125
- const { normalizeDiscordConfig } = await import("./discord/config.js");
126
- return new DiscordVFS(normalizeDiscordConfig(config));
127
+ const { DiscordConfig } = await import("./discord/config.js");
128
+ return new DiscordVFS(parseConfigWithSchema(DiscordConfig, config));
127
129
  },
128
130
  trello: async (config) => {
129
131
  const { TrelloVFS } = await import('@struktoai/mirage-core/vfs/trello/trello');
130
- const { normalizeTrelloConfig } = await import('@struktoai/mirage-core/core/trello/config');
131
- return new TrelloVFS(normalizeTrelloConfig(config));
132
+ const { TrelloConfig } = await import('@struktoai/mirage-core/core/trello/config');
133
+ return new TrelloVFS(parseConfigWithSchema(TrelloConfig, config));
132
134
  },
133
135
  wandb: async (config) => {
134
136
  const { WandbVFS } = await import('@struktoai/mirage-core/vfs/wandb/wandb');
135
- const { normalizeWandbConfig } = await import('@struktoai/mirage-core/core/wandb/config');
136
- return new WandbVFS(normalizeWandbConfig(config));
137
+ const { WandbConfig } = await import('@struktoai/mirage-core/core/wandb/config');
138
+ return new WandbVFS(parseConfigWithSchema(WandbConfig, config));
137
139
  },
138
140
  linear: async (config) => {
139
141
  const { LinearVFS } = await import('@struktoai/mirage-core/vfs/linear/linear');
140
- const { normalizeLinearConfig } = await import('@struktoai/mirage-core/core/linear/config');
141
- return new LinearVFS(normalizeLinearConfig(config));
142
+ const { LinearConfig } = await import('@struktoai/mirage-core/core/linear/config');
143
+ return new LinearVFS(parseConfigWithSchema(LinearConfig, config));
142
144
  },
143
145
  postgres: async (config) => {
144
146
  const { PostgresVFS } = await import("./postgres/postgres.js");
145
- const { normalizePostgresConfig } = await import('@struktoai/mirage-core/vfs/postgres/config');
146
- return new PostgresVFS(normalizePostgresConfig(config));
147
+ const { PostgresConfig } = await import('@struktoai/mirage-core/vfs/postgres/config');
148
+ return new PostgresVFS(parseConfigWithSchema(PostgresConfig, config));
147
149
  },
148
150
  mongodb: async (config) => {
149
151
  const { MongoDBVFS } = await import("./mongodb/mongodb.js");
150
- const { normalizeMongoDBConfig } = await import('@struktoai/mirage-core/vfs/mongodb/config');
151
- return new MongoDBVFS(normalizeMongoDBConfig(config));
152
+ const { MongoDBConfig } = await import('@struktoai/mirage-core/vfs/mongodb/config');
153
+ return new MongoDBVFS(parseConfigWithSchema(MongoDBConfig, config));
152
154
  },
153
155
  chroma: async (config) => {
154
156
  const { ChromaVFS } = await import('@struktoai/mirage-core/vfs/chroma/chroma');
155
- const { normalizeChromaConfig } = await import('@struktoai/mirage-core/vfs/chroma/config');
156
- return new ChromaVFS(normalizeChromaConfig(config));
157
+ const { ChromaConfig } = await import('@struktoai/mirage-core/vfs/chroma/config');
158
+ return new ChromaVFS(parseConfigWithSchema(ChromaConfig, config));
157
159
  },
158
160
  dify: async (config) => {
159
161
  const { DifyVFS } = await import('@struktoai/mirage-core/vfs/dify/dify');
160
- const { normalizeDifyConfig } = await import('@struktoai/mirage-core/vfs/dify/config');
161
- return new DifyVFS(normalizeDifyConfig(config));
162
+ const { DifyConfig } = await import('@struktoai/mirage-core/vfs/dify/config');
163
+ return new DifyVFS(parseConfigWithSchema(DifyConfig, config));
162
164
  },
163
165
  qdrant: async (config) => {
164
166
  const { QdrantVFS } = await import('@struktoai/mirage-core/vfs/qdrant/qdrant');
165
- const { normalizeQdrantConfig } = await import('@struktoai/mirage-core/vfs/qdrant/config');
166
- return new QdrantVFS(normalizeQdrantConfig(config));
167
+ const { QdrantConfig } = await import('@struktoai/mirage-core/vfs/qdrant/config');
168
+ return new QdrantVFS(parseConfigWithSchema(QdrantConfig, config));
167
169
  },
168
170
  redis: async (config) => {
169
171
  refuseUnknownKeys(config, REDIS_OPTIONS);
@@ -176,78 +178,78 @@ const REGISTRY = {
176
178
  },
177
179
  notion: async (config) => {
178
180
  const { NotionVFS } = await import("./notion/notion.js");
179
- const { normalizeNotionConfig } = await import("./notion/config.js");
180
- return new NotionVFS(normalizeNotionConfig(config));
181
+ const { NotionConfig } = await import("./notion/config.js");
182
+ return new NotionVFS(parseConfigWithSchema(NotionConfig, config));
181
183
  },
182
184
  langfuse: async (config) => {
183
185
  const { LangfuseVFS } = await import('@struktoai/mirage-core/vfs/langfuse/langfuse');
184
- const { normalizeLangfuseConfig } = await import('@struktoai/mirage-core/vfs/langfuse/config');
185
- return new LangfuseVFS(normalizeLangfuseConfig(config));
186
+ const { LangfuseConfig } = await import('@struktoai/mirage-core/vfs/langfuse/config');
187
+ return new LangfuseVFS(parseConfigWithSchema(LangfuseConfig, config));
186
188
  },
187
189
  github: async (config) => {
188
190
  const { GitHubVFS } = await import('@struktoai/mirage-core/vfs/github/github');
189
- const { normalizeGitHubConfig } = await import('@struktoai/mirage-core/core/github/config');
190
- return GitHubVFS.create(normalizeGitHubConfig(config));
191
+ const { GitHubConfig } = await import('@struktoai/mirage-core/core/github/config');
192
+ return GitHubVFS.create(parseConfigWithSchema(GitHubConfig, config));
191
193
  },
192
194
  gcal: async (config) => {
193
195
  const { GCalVFS } = await import('@struktoai/mirage-core/vfs/gcal/gcal');
194
- const { normalizeGCalConfig } = await import('@struktoai/mirage-core/vfs/gcal/config');
195
- return new GCalVFS(normalizeGCalConfig(config));
196
+ const { GCalConfig } = await import('@struktoai/mirage-core/vfs/gcal/config');
197
+ return new GCalVFS(parseConfigWithSchema(GCalConfig, config));
196
198
  },
197
199
  gdocs: async (config) => {
198
200
  const { GDocsVFS } = await import('@struktoai/mirage-core/vfs/gdocs/gdocs');
199
- const { normalizeGDocsConfig } = await import('@struktoai/mirage-core/vfs/gdocs/config');
200
- return new GDocsVFS(normalizeGDocsConfig(config));
201
+ const { GDocsConfig } = await import('@struktoai/mirage-core/vfs/gdocs/config');
202
+ return new GDocsVFS(parseConfigWithSchema(GDocsConfig, config));
201
203
  },
202
204
  gsheets: async (config) => {
203
205
  const { GSheetsVFS } = await import('@struktoai/mirage-core/vfs/gsheets/gsheets');
204
- const { normalizeGSheetsConfig } = await import('@struktoai/mirage-core/vfs/gsheets/config');
205
- return new GSheetsVFS(normalizeGSheetsConfig(config));
206
+ const { GSheetsConfig } = await import('@struktoai/mirage-core/vfs/gsheets/config');
207
+ return new GSheetsVFS(parseConfigWithSchema(GSheetsConfig, config));
206
208
  },
207
209
  gslides: async (config) => {
208
210
  const { GSlidesVFS } = await import('@struktoai/mirage-core/vfs/gslides/gslides');
209
- const { normalizeGSlidesConfig } = await import('@struktoai/mirage-core/vfs/gslides/config');
210
- return new GSlidesVFS(normalizeGSlidesConfig(config));
211
+ const { GSlidesConfig } = await import('@struktoai/mirage-core/vfs/gslides/config');
212
+ return new GSlidesVFS(parseConfigWithSchema(GSlidesConfig, config));
211
213
  },
212
214
  gdrive: async (config) => {
213
215
  const { GoogleDriveVFS } = await import('@struktoai/mirage-core/vfs/gdrive/gdrive');
214
- const { normalizeGDriveConfig } = await import('@struktoai/mirage-core/vfs/gdrive/config');
215
- return new GoogleDriveVFS(normalizeGDriveConfig(config));
216
+ const { GoogleDriveConfig } = await import('@struktoai/mirage-core/vfs/gdrive/config');
217
+ return new GoogleDriveVFS(parseConfigWithSchema(GoogleDriveConfig, config));
216
218
  },
217
219
  onedrive: async (config) => {
218
- const { normalizeOneDriveConfig } = await import('@struktoai/mirage-core/accessor/onedrive');
220
+ const { OneDriveConfig } = await import('@struktoai/mirage-core/accessor/onedrive');
219
221
  const { OneDriveVFS } = await import('@struktoai/mirage-core/vfs/onedrive/onedrive');
220
- return new OneDriveVFS(normalizeOneDriveConfig(config));
222
+ return new OneDriveVFS(parseConfigWithSchema(OneDriveConfig, config));
221
223
  },
222
224
  sharepoint: async (config) => {
223
- const { normalizeSharePointConfig } = await import('@struktoai/mirage-core/accessor/sharepoint');
225
+ const { SharePointConfig } = await import('@struktoai/mirage-core/accessor/sharepoint');
224
226
  const { SharePointVFS } = await import('@struktoai/mirage-core/vfs/sharepoint/sharepoint');
225
- return new SharePointVFS(normalizeSharePointConfig(config));
227
+ return new SharePointVFS(parseConfigWithSchema(SharePointConfig, config));
226
228
  },
227
229
  airtable: async (config) => {
228
- const { normalizeAirtableConfig } = await import('@struktoai/mirage-core/core/airtable/config');
230
+ const { AirtableConfig } = await import('@struktoai/mirage-core/core/airtable/config');
229
231
  const { AirtableVFS } = await import('@struktoai/mirage-core/vfs/airtable/airtable');
230
- return new AirtableVFS(normalizeAirtableConfig(config));
232
+ return new AirtableVFS(parseConfigWithSchema(AirtableConfig, config));
231
233
  },
232
234
  mem0: async (config) => {
233
- const { normalizeMem0Config } = await import('@struktoai/mirage-core/vfs/mem0/config');
235
+ const { Mem0Config } = await import('@struktoai/mirage-core/vfs/mem0/config');
234
236
  const { Mem0VFS } = await import('@struktoai/mirage-core/vfs/mem0/mem0');
235
- return new Mem0VFS(normalizeMem0Config(config));
237
+ return new Mem0VFS(parseConfigWithSchema(Mem0Config, config));
236
238
  },
237
239
  dropbox: async (config) => {
238
240
  const { DropboxVFS } = await import('@struktoai/mirage-core/vfs/dropbox/dropbox');
239
- const { normalizeDropboxConfig } = await import('@struktoai/mirage-core/vfs/dropbox/config');
240
- return new DropboxVFS(normalizeDropboxConfig(config));
241
+ const { DropboxConfig } = await import('@struktoai/mirage-core/vfs/dropbox/config');
242
+ return new DropboxVFS(parseConfigWithSchema(DropboxConfig, config));
241
243
  },
242
244
  box: async (config) => {
243
245
  const { BoxVFS } = await import('@struktoai/mirage-core/vfs/box/box');
244
- const { normalizeBoxConfig } = await import('@struktoai/mirage-core/vfs/box/config');
245
- return new BoxVFS(normalizeBoxConfig(config));
246
+ const { BoxConfig } = await import('@struktoai/mirage-core/vfs/box/config');
247
+ return new BoxVFS(parseConfigWithSchema(BoxConfig, config));
246
248
  },
247
249
  gmail: async (config) => {
248
250
  const { GmailVFS } = await import('@struktoai/mirage-core/vfs/gmail/gmail');
249
- const { normalizeGmailConfig } = await import('@struktoai/mirage-core/vfs/gmail/config');
250
- return new GmailVFS(normalizeGmailConfig(config));
251
+ const { GmailConfig } = await import('@struktoai/mirage-core/vfs/gmail/config');
252
+ return new GmailVFS(parseConfigWithSchema(GmailConfig, config));
251
253
  },
252
254
  email: (_config) => {
253
255
  return Promise.reject(new Error('EmailVFS is not supported in the browser: IMAP/SMTP require raw TCP. ' +
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/vfs/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/vfs/registry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
- import type { S3Config } from '@struktoai/mirage-core/vfs/s3/config';
1
+ import { S3Config as CoreS3Config } from '@struktoai/mirage-core/vfs/s3/config';
2
2
  export declare const S3_BROWSER_RENAME: Record<string, string>;
3
- /** Translate a python-style S3 config blob to the browser's camelCase one. */
4
- export declare function normalizeS3Config(input: Record<string, unknown>): S3Config;
5
- export { redactConfig } from '@struktoai/mirage-core/vfs/s3/config';
6
- export type { S3BrowserOperation, S3BrowserPresignedUrlProvider, S3BrowserSignOptions, S3Config, S3ConfigRedacted, } from '@struktoai/mirage-core/vfs/s3/config';
3
+ export declare const S3Config: import("zod").ZodObject<{
4
+ presignedUrlProvider: import("zod").ZodOptional<import("@struktoai/mirage-core/vfs/secrets").SecretSchema<import("zod").ZodCustom<import("@struktoai/mirage-core/vfs/s3/config").S3BrowserPresignedUrlProvider, import("@struktoai/mirage-core/vfs/s3/config").S3BrowserPresignedUrlProvider>>>;
5
+ httpAgentProvider: import("zod").ZodOptional<import("@struktoai/mirage-core/vfs/secrets").SecretSchema<import("zod").ZodCustom<import("@struktoai/mirage-core/vfs/s3/config").S3HttpAgentProvider, import("@struktoai/mirage-core/vfs/s3/config").S3HttpAgentProvider>>>;
6
+ defaultContentType: import("zod").ZodOptional<import("zod").ZodString>;
7
+ keyPrefix: import("zod").ZodOptional<import("zod").ZodString>;
8
+ timeout: import("zod").ZodOptional<import("zod").ZodNumber>;
9
+ bucket: import("zod").ZodString;
10
+ region: import("zod").ZodOptional<import("zod").ZodString>;
11
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
12
+ accessKeyId: import("zod").ZodOptional<import("@struktoai/mirage-core/vfs/secrets").SecretSchema<import("zod").ZodString>>;
13
+ secretAccessKey: import("zod").ZodOptional<import("@struktoai/mirage-core/vfs/secrets").SecretSchema<import("zod").ZodString>>;
14
+ sessionToken: import("zod").ZodOptional<import("@struktoai/mirage-core/vfs/secrets").SecretSchema<import("zod").ZodString>>;
15
+ forcePathStyle: import("zod").ZodOptional<import("zod").ZodBoolean>;
16
+ }, import("zod/v4/core").$strip>;
17
+ export type { S3BrowserOperation, S3BrowserPresignedUrlProvider, S3BrowserSignOptions, } from '@struktoai/mirage-core/vfs/s3/config';
18
+ export type S3Config = CoreS3Config;
7
19
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/s3/config.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAOpE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAgC,CAAA;AAErF,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAE1E;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,YAAY,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,GACjB,MAAM,sCAAsC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/s3/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAO/E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAgC,CAAA;AAIrF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;gCAEnB,CAAA;AAEF,YAAY,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,sCAAsC,CAAA;AAE7C,MAAM,MAAM,QAAQ,GAAG,YAAY,CAAA"}
@@ -11,16 +11,16 @@
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
- import { S3ConfigSchema } from '@struktoai/mirage-core/vfs/s3/config';
15
- import { parseConfigWithSchema } from '@struktoai/mirage-core/vfs/secrets';
14
+ import { S3Config as CoreS3Config } from '@struktoai/mirage-core/vfs/s3/config';
15
+ import { FIELD_NORMALIZERS } from '@struktoai/mirage-core/vfs/secrets';
16
16
  // The one field whose camelCase spelling is not what `snakeToCamel` would
17
17
  // produce, so it is the whole rename map for the browser's S3 family. Every
18
18
  // other field (`key_prefix`, `default_content_type`, ...) round-trips through
19
19
  // the default, and restating those only creates a second place to be wrong.
20
20
  export const S3_BROWSER_RENAME = { endpoint_url: 'endpoint' };
21
- /** Translate a python-style S3 config blob to the browser's camelCase one. */
22
- export function normalizeS3Config(input) {
23
- return parseConfigWithSchema(S3ConfigSchema, input, { rename: S3_BROWSER_RENAME });
24
- }
25
- export { redactConfig } from '@struktoai/mirage-core/vfs/s3/config';
21
+ // The core shape under the browser's own renames, so the core schema
22
+ // carries none of a host's spellings.
23
+ export const S3Config = CoreS3Config.clone().register(FIELD_NORMALIZERS, {
24
+ rename: S3_BROWSER_RENAME,
25
+ });
26
26
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/s3/config.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAE1E,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAA2B,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AAErF,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,KAA8B;IAC9D,OAAO,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;AACpF,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/s3/config.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAA2B,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AAErF,qEAAqE;AACrE,sCAAsC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE;IACvE,MAAM,EAAE,iBAAiB;CAC1B,CAAC,CAAA"}
@@ -1,21 +1,18 @@
1
- import { S3VFSBase } from '@struktoai/mirage-core/vfs/s3/s3';
2
1
  import { S3Accessor } from '@struktoai/mirage-core/accessor/s3';
3
- import { type S3Config, type S3ConfigRedacted } from './config.ts';
4
- export interface S3VFSState {
5
- type: string;
6
- config: S3ConfigRedacted;
7
- }
8
- export declare class S3VFS extends S3VFSBase {
2
+ import { S3VFS as CoreS3VFS } from '@struktoai/mirage-core/vfs/s3/s3';
3
+ import type { RedactedSchema } from '@struktoai/mirage-core/vfs/secrets';
4
+ import type { ConfigState } from '@struktoai/mirage-core/vfs/types';
5
+ import { S3Config } from './config.ts';
6
+ export declare class S3VFS extends CoreS3VFS {
9
7
  readonly supportsSnapshot: boolean;
10
8
  readonly name: string;
11
9
  readonly cachesReads: boolean;
12
10
  readonly sizesAlwaysKnown: boolean;
13
11
  readonly readRevalidatable: boolean;
14
- readonly prompt: string;
15
12
  readonly config: S3Config;
16
13
  readonly accessor: S3Accessor;
17
14
  constructor(config: S3Config);
18
15
  storageLocation(): string;
19
- getState(): Promise<S3VFSState>;
16
+ getState(): Promise<ConfigState<RedactedSchema<typeof S3Config>>>;
20
17
  }
21
18
  //# sourceMappingURL=s3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../src/vfs/s3/s3.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAM/D,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGhF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,qBAAa,KAAM,SAAQ,SAAS;IAClC,SAAkB,gBAAgB,EAAE,OAAO,CAAO;IAClD,SAAkB,IAAI,EAAE,MAAM,CAAa;IAC3C,SAAkB,WAAW,EAAE,OAAO,CAAO;IAI7C,SAAkB,gBAAgB,EAAE,OAAO,CAAO;IAGlD,SAAkB,iBAAiB,EAAE,OAAO,CAAO;IACnD,SAAkB,MAAM,EAAE,MAAM,CAAS;IACzC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,SAAkB,QAAQ,EAAE,UAAU,CAAA;gBAE1B,MAAM,EAAE,QAAQ;IAmBnB,eAAe,IAAI,MAAM;IAIzB,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;CAMzC"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../src/vfs/s3/s3.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAG/D,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,qBAAa,KAAM,SAAQ,SAAS;IAClC,SAAkB,gBAAgB,EAAE,OAAO,CAAO;IAClD,SAAkB,IAAI,EAAE,MAAM,CAAa;IAC3C,SAAkB,WAAW,EAAE,OAAO,CAAO;IAI7C,SAAkB,gBAAgB,EAAE,OAAO,CAAO;IAGlD,SAAkB,iBAAiB,EAAE,OAAO,CAAO;IACnD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,SAAkB,QAAQ,EAAE,UAAU,CAAA;gBAE1B,MAAM,EAAE,QAAQ;IAmBnB,eAAe,IAAI,MAAM;IAIzB,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC;CAG3E"}
package/dist/vfs/s3/s3.js CHANGED
@@ -11,14 +11,13 @@
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
- import { S3VFSBase } from '@struktoai/mirage-core/vfs/s3/s3';
15
14
  import { S3Accessor } from '@struktoai/mirage-core/accessor/s3';
15
+ import { VFSName } from '@struktoai/mirage-core/types';
16
16
  import { normalizeKeyPrefix } from '@struktoai/mirage-core/vfs/s3/config';
17
+ import { S3VFS as CoreS3VFS } from '@struktoai/mirage-core/vfs/s3/s3';
17
18
  import { s3StorageLocation } from '@struktoai/mirage-core/vfs/s3/storage_id';
18
- import { VFSName } from '@struktoai/mirage-core/types';
19
- import { redactConfig } from "./config.js";
20
- import { PROMPT } from "./prompt.js";
21
- export class S3VFS extends S3VFSBase {
19
+ import { S3Config } from "./config.js";
20
+ export class S3VFS extends CoreS3VFS {
22
21
  supportsSnapshot = true;
23
22
  name = VFSName.S3;
24
23
  cachesReads = true;
@@ -29,7 +28,6 @@ export class S3VFS extends S3VFSBase {
29
28
  // stat and read both stamp the ETag, so the gate compares like with
30
29
  // like. Inherited by every S3AliasVFS provider.
31
30
  readRevalidatable = true;
32
- prompt = PROMPT;
33
31
  config;
34
32
  accessor;
35
33
  constructor(config) {
@@ -55,10 +53,7 @@ export class S3VFS extends S3VFSBase {
55
53
  return s3StorageLocation(this.config);
56
54
  }
57
55
  getState() {
58
- return Promise.resolve({
59
- type: this.name,
60
- config: redactConfig(this.config),
61
- });
56
+ return Promise.resolve(this.configState(S3Config, this.config));
62
57
  }
63
58
  }
64
59
  //# sourceMappingURL=s3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../src/vfs/s3/s3.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAwC,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAOpC,MAAM,OAAO,KAAM,SAAQ,SAAS;IAChB,gBAAgB,GAAY,IAAI,CAAA;IAChC,IAAI,GAAW,OAAO,CAAC,EAAE,CAAA;IACzB,WAAW,GAAY,IAAI,CAAA;IAC7C,qEAAqE;IACrE,mEAAmE;IACnE,qDAAqD;IACnC,gBAAgB,GAAY,IAAI,CAAA;IAClD,oEAAoE;IACpE,gDAAgD;IAC9B,iBAAiB,GAAY,IAAI,CAAA;IACjC,MAAM,GAAW,MAAM,CAAA;IAChC,MAAM,CAAU;IACP,QAAQ,CAAY;IAEtC,YAAY,MAAgB;QAC1B,KAAK,EAAE,CAAA;QACP,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,GAAG,GAAa,EAAE,GAAG,MAAM,EAAE,CAAA;QACnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,SAAS,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IAC9D,eAAe;QACtB,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAEQ,QAAQ;QACf,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;SAClC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../src/vfs/s3/s3.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAG5E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,OAAO,KAAM,SAAQ,SAAS;IAChB,gBAAgB,GAAY,IAAI,CAAA;IAChC,IAAI,GAAW,OAAO,CAAC,EAAE,CAAA;IACzB,WAAW,GAAY,IAAI,CAAA;IAC7C,qEAAqE;IACrE,mEAAmE;IACnE,qDAAqD;IACnC,gBAAgB,GAAY,IAAI,CAAA;IAClD,oEAAoE;IACpE,gDAAgD;IAC9B,iBAAiB,GAAY,IAAI,CAAA;IAC1C,MAAM,CAAU;IACP,QAAQ,CAAY;IAEtC,YAAY,MAAgB;QAC1B,KAAK,EAAE,CAAA;QACP,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,GAAG,GAAa,EAAE,GAAG,MAAM,EAAE,CAAA;QACnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,SAAS,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IAC9D,eAAe;QACtB,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAEQ,QAAQ;QACf,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,CAAC;CACF"}