@struktoai/mirage-browser 0.0.7 → 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 (290) hide show
  1. package/README.md +143 -48
  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/pyodide-sw.js +48 -0
  34. package/dist/vfs/aliyun/aliyun.d.ts +4 -5
  35. package/dist/vfs/aliyun/aliyun.d.ts.map +1 -1
  36. package/dist/vfs/aliyun/aliyun.js +2 -4
  37. package/dist/vfs/aliyun/aliyun.js.map +1 -1
  38. package/dist/vfs/aliyun/config.d.ts +22 -11
  39. package/dist/vfs/aliyun/config.d.ts.map +1 -1
  40. package/dist/vfs/aliyun/config.js +2 -7
  41. package/dist/vfs/aliyun/config.js.map +1 -1
  42. package/dist/vfs/backblaze/backblaze.d.ts +4 -5
  43. package/dist/vfs/backblaze/backblaze.d.ts.map +1 -1
  44. package/dist/vfs/backblaze/backblaze.js +2 -4
  45. package/dist/vfs/backblaze/backblaze.js.map +1 -1
  46. package/dist/vfs/backblaze/config.d.ts +22 -11
  47. package/dist/vfs/backblaze/config.d.ts.map +1 -1
  48. package/dist/vfs/backblaze/config.js +2 -7
  49. package/dist/vfs/backblaze/config.js.map +1 -1
  50. package/dist/vfs/ceph/ceph.d.ts +4 -5
  51. package/dist/vfs/ceph/ceph.d.ts.map +1 -1
  52. package/dist/vfs/ceph/ceph.js +2 -4
  53. package/dist/vfs/ceph/ceph.js.map +1 -1
  54. package/dist/vfs/ceph/config.d.ts +22 -10
  55. package/dist/vfs/ceph/config.d.ts.map +1 -1
  56. package/dist/vfs/ceph/config.js +1 -7
  57. package/dist/vfs/ceph/config.js.map +1 -1
  58. package/dist/vfs/digitalocean/config.d.ts +22 -11
  59. package/dist/vfs/digitalocean/config.d.ts.map +1 -1
  60. package/dist/vfs/digitalocean/config.js +2 -7
  61. package/dist/vfs/digitalocean/config.js.map +1 -1
  62. package/dist/vfs/digitalocean/digitalocean.d.ts +4 -5
  63. package/dist/vfs/digitalocean/digitalocean.d.ts.map +1 -1
  64. package/dist/vfs/digitalocean/digitalocean.js +2 -4
  65. package/dist/vfs/digitalocean/digitalocean.js.map +1 -1
  66. package/dist/vfs/discord/config.d.ts +5 -14
  67. package/dist/vfs/discord/config.d.ts.map +1 -1
  68. package/dist/vfs/discord/config.js +11 -18
  69. package/dist/vfs/discord/config.js.map +1 -1
  70. package/dist/vfs/discord/discord.d.ts +7 -10
  71. package/dist/vfs/discord/discord.d.ts.map +1 -1
  72. package/dist/vfs/discord/discord.js +7 -11
  73. package/dist/vfs/discord/discord.js.map +1 -1
  74. package/dist/vfs/gcs/config.d.ts +34 -15
  75. package/dist/vfs/gcs/config.d.ts.map +1 -1
  76. package/dist/vfs/gcs/config.js +12 -6
  77. package/dist/vfs/gcs/config.js.map +1 -1
  78. package/dist/vfs/gcs/gcs.d.ts +4 -5
  79. package/dist/vfs/gcs/gcs.d.ts.map +1 -1
  80. package/dist/vfs/gcs/gcs.js +2 -4
  81. package/dist/vfs/gcs/gcs.js.map +1 -1
  82. package/dist/vfs/minio/config.d.ts +22 -10
  83. package/dist/vfs/minio/config.d.ts.map +1 -1
  84. package/dist/vfs/minio/config.js +1 -7
  85. package/dist/vfs/minio/config.js.map +1 -1
  86. package/dist/vfs/minio/minio.d.ts +4 -5
  87. package/dist/vfs/minio/minio.d.ts.map +1 -1
  88. package/dist/vfs/minio/minio.js +2 -4
  89. package/dist/vfs/minio/minio.js.map +1 -1
  90. package/dist/vfs/mongodb/http_driver.d.ts +2 -0
  91. package/dist/vfs/mongodb/http_driver.d.ts.map +1 -1
  92. package/dist/vfs/mongodb/http_driver.js +2 -1
  93. package/dist/vfs/mongodb/http_driver.js.map +1 -1
  94. package/dist/vfs/mongodb/mongodb.d.ts +10 -11
  95. package/dist/vfs/mongodb/mongodb.d.ts.map +1 -1
  96. package/dist/vfs/mongodb/mongodb.js +8 -7
  97. package/dist/vfs/mongodb/mongodb.js.map +1 -1
  98. package/dist/vfs/notion/config.d.ts +4 -15
  99. package/dist/vfs/notion/config.d.ts.map +1 -1
  100. package/dist/vfs/notion/config.js +7 -17
  101. package/dist/vfs/notion/config.js.map +1 -1
  102. package/dist/vfs/notion/notion.d.ts +7 -10
  103. package/dist/vfs/notion/notion.d.ts.map +1 -1
  104. package/dist/vfs/notion/notion.js +5 -10
  105. package/dist/vfs/notion/notion.js.map +1 -1
  106. package/dist/vfs/oci/config.d.ts +25 -11
  107. package/dist/vfs/oci/config.d.ts.map +1 -1
  108. package/dist/vfs/oci/config.js +7 -7
  109. package/dist/vfs/oci/config.js.map +1 -1
  110. package/dist/vfs/oci/oci.d.ts +4 -5
  111. package/dist/vfs/oci/oci.d.ts.map +1 -1
  112. package/dist/vfs/oci/oci.js +2 -4
  113. package/dist/vfs/oci/oci.js.map +1 -1
  114. package/dist/vfs/opfs/opfs.d.ts +18 -11
  115. package/dist/vfs/opfs/opfs.d.ts.map +1 -1
  116. package/dist/vfs/opfs/opfs.js +62 -38
  117. package/dist/vfs/opfs/opfs.js.map +1 -1
  118. package/dist/vfs/postgres/neon_driver.d.ts +3 -1
  119. package/dist/vfs/postgres/neon_driver.d.ts.map +1 -1
  120. package/dist/vfs/postgres/neon_driver.js +34 -3
  121. package/dist/vfs/postgres/neon_driver.js.map +1 -1
  122. package/dist/vfs/postgres/postgres.d.ts +10 -11
  123. package/dist/vfs/postgres/postgres.d.ts.map +1 -1
  124. package/dist/vfs/postgres/postgres.js +6 -7
  125. package/dist/vfs/postgres/postgres.js.map +1 -1
  126. package/dist/vfs/qingstor/config.d.ts +22 -11
  127. package/dist/vfs/qingstor/config.d.ts.map +1 -1
  128. package/dist/vfs/qingstor/config.js +2 -7
  129. package/dist/vfs/qingstor/config.js.map +1 -1
  130. package/dist/vfs/qingstor/qingstor.d.ts +4 -5
  131. package/dist/vfs/qingstor/qingstor.d.ts.map +1 -1
  132. package/dist/vfs/qingstor/qingstor.js +2 -4
  133. package/dist/vfs/qingstor/qingstor.js.map +1 -1
  134. package/dist/vfs/r2/config.d.ts +27 -11
  135. package/dist/vfs/r2/config.d.ts.map +1 -1
  136. package/dist/vfs/r2/config.js +11 -7
  137. package/dist/vfs/r2/config.js.map +1 -1
  138. package/dist/vfs/r2/r2.d.ts +4 -5
  139. package/dist/vfs/r2/r2.d.ts.map +1 -1
  140. package/dist/vfs/r2/r2.js +2 -4
  141. package/dist/vfs/r2/r2.js.map +1 -1
  142. package/dist/vfs/redis/redis.d.ts +5 -1
  143. package/dist/vfs/redis/redis.d.ts.map +1 -1
  144. package/dist/vfs/redis/redis.js +1 -1
  145. package/dist/vfs/redis/redis.js.map +1 -1
  146. package/dist/vfs/redis/store.d.ts +2 -0
  147. package/dist/vfs/redis/store.d.ts.map +1 -1
  148. package/dist/vfs/redis/store.js +24 -5
  149. package/dist/vfs/redis/store.js.map +1 -1
  150. package/dist/vfs/registry.d.ts.map +1 -1
  151. package/dist/vfs/registry.js +87 -85
  152. package/dist/vfs/registry.js.map +1 -1
  153. package/dist/vfs/s3/config.d.ts +17 -5
  154. package/dist/vfs/s3/config.d.ts.map +1 -1
  155. package/dist/vfs/s3/config.js +7 -7
  156. package/dist/vfs/s3/config.js.map +1 -1
  157. package/dist/vfs/s3/s3.d.ts +6 -9
  158. package/dist/vfs/s3/s3.d.ts.map +1 -1
  159. package/dist/vfs/s3/s3.js +5 -10
  160. package/dist/vfs/s3/s3.js.map +1 -1
  161. package/dist/vfs/s3_alias.d.ts +22 -32
  162. package/dist/vfs/s3_alias.d.ts.map +1 -1
  163. package/dist/vfs/s3_alias.js +35 -23
  164. package/dist/vfs/s3_alias.js.map +1 -1
  165. package/dist/vfs/scaleway/config.d.ts +22 -11
  166. package/dist/vfs/scaleway/config.d.ts.map +1 -1
  167. package/dist/vfs/scaleway/config.js +2 -7
  168. package/dist/vfs/scaleway/config.js.map +1 -1
  169. package/dist/vfs/scaleway/scaleway.d.ts +4 -5
  170. package/dist/vfs/scaleway/scaleway.d.ts.map +1 -1
  171. package/dist/vfs/scaleway/scaleway.js +2 -4
  172. package/dist/vfs/scaleway/scaleway.js.map +1 -1
  173. package/dist/vfs/seaweedfs/config.d.ts +22 -10
  174. package/dist/vfs/seaweedfs/config.d.ts.map +1 -1
  175. package/dist/vfs/seaweedfs/config.js +1 -7
  176. package/dist/vfs/seaweedfs/config.js.map +1 -1
  177. package/dist/vfs/seaweedfs/seaweedfs.d.ts +4 -5
  178. package/dist/vfs/seaweedfs/seaweedfs.d.ts.map +1 -1
  179. package/dist/vfs/seaweedfs/seaweedfs.js +2 -4
  180. package/dist/vfs/seaweedfs/seaweedfs.js.map +1 -1
  181. package/dist/vfs/slack/config.d.ts +5 -15
  182. package/dist/vfs/slack/config.d.ts.map +1 -1
  183. package/dist/vfs/slack/config.js +11 -21
  184. package/dist/vfs/slack/config.js.map +1 -1
  185. package/dist/vfs/slack/slack.d.ts +7 -10
  186. package/dist/vfs/slack/slack.d.ts.map +1 -1
  187. package/dist/vfs/slack/slack.js +7 -11
  188. package/dist/vfs/slack/slack.js.map +1 -1
  189. package/dist/vfs/supabase/config.d.ts +25 -11
  190. package/dist/vfs/supabase/config.d.ts.map +1 -1
  191. package/dist/vfs/supabase/config.js +7 -7
  192. package/dist/vfs/supabase/config.js.map +1 -1
  193. package/dist/vfs/supabase/supabase.d.ts +4 -5
  194. package/dist/vfs/supabase/supabase.d.ts.map +1 -1
  195. package/dist/vfs/supabase/supabase.js +2 -4
  196. package/dist/vfs/supabase/supabase.js.map +1 -1
  197. package/dist/vfs/tencent/config.d.ts +22 -11
  198. package/dist/vfs/tencent/config.d.ts.map +1 -1
  199. package/dist/vfs/tencent/config.js +2 -7
  200. package/dist/vfs/tencent/config.js.map +1 -1
  201. package/dist/vfs/tencent/tencent.d.ts +4 -5
  202. package/dist/vfs/tencent/tencent.d.ts.map +1 -1
  203. package/dist/vfs/tencent/tencent.js +2 -4
  204. package/dist/vfs/tencent/tencent.js.map +1 -1
  205. package/dist/vfs/wasabi/config.d.ts +32 -16
  206. package/dist/vfs/wasabi/config.d.ts.map +1 -1
  207. package/dist/vfs/wasabi/config.js +8 -7
  208. package/dist/vfs/wasabi/config.js.map +1 -1
  209. package/dist/vfs/wasabi/wasabi.d.ts +4 -5
  210. package/dist/vfs/wasabi/wasabi.d.ts.map +1 -1
  211. package/dist/vfs/wasabi/wasabi.js +2 -4
  212. package/dist/vfs/wasabi/wasabi.js.map +1 -1
  213. package/dist/workspace.d.ts +2 -3
  214. package/dist/workspace.d.ts.map +1 -1
  215. package/dist/workspace.js +10 -18
  216. package/dist/workspace.js.map +1 -1
  217. package/package.json +7 -10
  218. package/THIRD_PARTY_NOTICES +0 -66
  219. package/dist/core/opfs/constants.d.ts +0 -2
  220. package/dist/core/opfs/constants.d.ts.map +0 -1
  221. package/dist/core/opfs/constants.js +0 -15
  222. package/dist/core/opfs/constants.js.map +0 -1
  223. package/dist/generated/wasm.d.ts +0 -3
  224. package/dist/generated/wasm.d.ts.map +0 -1
  225. package/dist/generated/wasm.js +0 -7
  226. package/dist/generated/wasm.js.map +0 -1
  227. package/dist/vfs/aliyun/prompt.d.ts +0 -2
  228. package/dist/vfs/aliyun/prompt.d.ts.map +0 -1
  229. package/dist/vfs/aliyun/prompt.js +0 -19
  230. package/dist/vfs/aliyun/prompt.js.map +0 -1
  231. package/dist/vfs/backblaze/prompt.d.ts +0 -2
  232. package/dist/vfs/backblaze/prompt.d.ts.map +0 -1
  233. package/dist/vfs/backblaze/prompt.js +0 -19
  234. package/dist/vfs/backblaze/prompt.js.map +0 -1
  235. package/dist/vfs/ceph/prompt.d.ts +0 -2
  236. package/dist/vfs/ceph/prompt.d.ts.map +0 -1
  237. package/dist/vfs/ceph/prompt.js +0 -19
  238. package/dist/vfs/ceph/prompt.js.map +0 -1
  239. package/dist/vfs/digitalocean/prompt.d.ts +0 -2
  240. package/dist/vfs/digitalocean/prompt.d.ts.map +0 -1
  241. package/dist/vfs/digitalocean/prompt.js +0 -19
  242. package/dist/vfs/digitalocean/prompt.js.map +0 -1
  243. package/dist/vfs/gcs/prompt.d.ts +0 -2
  244. package/dist/vfs/gcs/prompt.d.ts.map +0 -1
  245. package/dist/vfs/gcs/prompt.js +0 -19
  246. package/dist/vfs/gcs/prompt.js.map +0 -1
  247. package/dist/vfs/minio/prompt.d.ts +0 -2
  248. package/dist/vfs/minio/prompt.d.ts.map +0 -1
  249. package/dist/vfs/minio/prompt.js +0 -19
  250. package/dist/vfs/minio/prompt.js.map +0 -1
  251. package/dist/vfs/oci/prompt.d.ts +0 -2
  252. package/dist/vfs/oci/prompt.d.ts.map +0 -1
  253. package/dist/vfs/oci/prompt.js +0 -19
  254. package/dist/vfs/oci/prompt.js.map +0 -1
  255. package/dist/vfs/opfs/prompt.d.ts +0 -2
  256. package/dist/vfs/opfs/prompt.d.ts.map +0 -1
  257. package/dist/vfs/opfs/prompt.js +0 -17
  258. package/dist/vfs/opfs/prompt.js.map +0 -1
  259. package/dist/vfs/qingstor/prompt.d.ts +0 -2
  260. package/dist/vfs/qingstor/prompt.d.ts.map +0 -1
  261. package/dist/vfs/qingstor/prompt.js +0 -19
  262. package/dist/vfs/qingstor/prompt.js.map +0 -1
  263. package/dist/vfs/r2/prompt.d.ts +0 -2
  264. package/dist/vfs/r2/prompt.d.ts.map +0 -1
  265. package/dist/vfs/r2/prompt.js +0 -19
  266. package/dist/vfs/r2/prompt.js.map +0 -1
  267. package/dist/vfs/s3/prompt.d.ts +0 -2
  268. package/dist/vfs/s3/prompt.d.ts.map +0 -1
  269. package/dist/vfs/s3/prompt.js +0 -19
  270. package/dist/vfs/s3/prompt.js.map +0 -1
  271. package/dist/vfs/scaleway/prompt.d.ts +0 -2
  272. package/dist/vfs/scaleway/prompt.d.ts.map +0 -1
  273. package/dist/vfs/scaleway/prompt.js +0 -19
  274. package/dist/vfs/scaleway/prompt.js.map +0 -1
  275. package/dist/vfs/seaweedfs/prompt.d.ts +0 -2
  276. package/dist/vfs/seaweedfs/prompt.d.ts.map +0 -1
  277. package/dist/vfs/seaweedfs/prompt.js +0 -19
  278. package/dist/vfs/seaweedfs/prompt.js.map +0 -1
  279. package/dist/vfs/supabase/prompt.d.ts +0 -2
  280. package/dist/vfs/supabase/prompt.d.ts.map +0 -1
  281. package/dist/vfs/supabase/prompt.js +0 -19
  282. package/dist/vfs/supabase/prompt.js.map +0 -1
  283. package/dist/vfs/tencent/prompt.d.ts +0 -2
  284. package/dist/vfs/tencent/prompt.d.ts.map +0 -1
  285. package/dist/vfs/tencent/prompt.js +0 -19
  286. package/dist/vfs/tencent/prompt.js.map +0 -1
  287. package/dist/vfs/wasabi/prompt.d.ts +0 -2
  288. package/dist/vfs/wasabi/prompt.d.ts.map +0 -1
  289. package/dist/vfs/wasabi/prompt.js +0 -19
  290. package/dist/vfs/wasabi/prompt.js.map +0 -1
@@ -1,6 +1,9 @@
1
- import { S3VFS } from './s3/s3.ts';
1
+ import type { S3Config } from '@struktoai/mirage-core/vfs/s3/config';
2
+ import type { ConfigOf, RedactedSchema } from '@struktoai/mirage-core/vfs/secrets';
2
3
  import { z } from '@struktoai/mirage-core/vfs/secrets';
3
- import type { S3BrowserPresignedUrlProvider, S3Config, S3ConfigRedacted } from './s3/config.ts';
4
+ import type { ConfigState } from '@struktoai/mirage-core/vfs/types';
5
+ import type { S3BrowserPresignedUrlProvider } from './s3/config.ts';
6
+ import { S3VFS } from './s3/s3.ts';
4
7
  /**
5
8
  * Shared shape for the browser's S3-compatible providers.
6
9
  *
@@ -8,10 +11,9 @@ import type { S3BrowserPresignedUrlProvider, S3Config, S3ConfigRedacted } from '
8
11
  * so the fields, the zod schema that drives redaction, and the conversion
9
12
  * to S3Config live here once. A provider declares only its endpoint rule
10
13
  * and whatever it genuinely adds. The node twin is
11
- * `packages/node/src/vfs/s3_alias.ts`; it carries credentials and a
12
- * snake_case `normalize` where this one carries a
13
- * `presignedUrlProvider`, which is one field's difference and not a
14
- * reason to fork the family.
14
+ * `packages/node/src/vfs/s3_alias.ts`; it carries credentials where this
15
+ * one carries a `presignedUrlProvider`, which is one field's difference
16
+ * and not a reason to fork the family.
15
17
  *
16
18
  * Only `bucket` and the provider are required. `region` and `endpoint`
17
19
  * are optional here — unlike node, where a regional provider must have a
@@ -25,10 +27,12 @@ export interface S3BrowserAliasConfig {
25
27
  endpoint?: string;
26
28
  defaultContentType?: string;
27
29
  keyPrefix?: string;
30
+ timeout?: number;
28
31
  }
29
32
  export declare const BROWSER_ALIAS_FIELDS: {
33
+ timeout: z.ZodOptional<z.ZodNumber>;
30
34
  bucket: z.ZodString;
31
- presignedUrlProvider: z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>;
35
+ presignedUrlProvider: import("@struktoai/mirage-core/vfs/secrets").SecretSchema<z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>>;
32
36
  region: z.ZodOptional<z.ZodString>;
33
37
  endpoint: z.ZodOptional<z.ZodString>;
34
38
  defaultContentType: z.ZodOptional<z.ZodString>;
@@ -56,7 +60,6 @@ export interface BrowserAlias<C, R, E extends string | undefined> {
56
60
  resolvedEndpoint: (config: C) => string | E;
57
61
  toS3Config: (config: C) => S3Config;
58
62
  redact: (config: C) => R;
59
- normalize: (input: Record<string, unknown>) => C;
60
63
  }
61
64
  /**
62
65
  * Build one provider's config helpers from its endpoint rule.
@@ -68,39 +71,26 @@ export interface BrowserAlias<C, R, E extends string | undefined> {
68
71
  * always has (gcs and r2 report `auto`), and `forcePathStyle` is set
69
72
  * only by supabase, whose gateway does not serve virtual-hosted style.
70
73
  */
71
- export declare function makeBrowserS3Alias<C extends S3BrowserAliasConfig, R, E extends string | undefined = string | undefined>(options: {
72
- schema: z.ZodObject<z.ZodRawShape>;
73
- endpointFor?: (config: C) => E;
74
+ export declare function makeBrowserS3Alias<S extends z.ZodObject, E extends string | undefined = string | undefined>(options: {
75
+ schema: S;
76
+ endpointFor?: (config: ConfigOf<S> & S3BrowserAliasConfig) => E;
74
77
  regionDefault?: string;
75
78
  forcePathStyle?: boolean;
76
- }): BrowserAlias<C, R, E>;
77
- /**
78
- * The snapshot state of an S3-compatible alias: its own name and its own
79
- * redacted config, not the `s3` name and S3 config it delegates to.
80
- */
81
- export interface S3AliasVFSState<TRedacted> {
82
- type: string;
83
- config: TRedacted;
84
- }
79
+ }): S & BrowserAlias<ConfigOf<S> & S3BrowserAliasConfig, RedactedSchema<S>, E>;
85
80
  /**
86
81
  * The shared body of every S3-compatible provider VFS (MinIO, Ceph,
87
82
  * R2, Wasabi, ...). Each is an {@link S3VFS} reached through a
88
- * provider-shaped config, so all it owns is its `name` and that config;
89
- * the mount serves S3's commands under the name. A subclass supplies its
90
- * prompt as a plain field and hands the varying pieces to `super`.
91
- *
92
- * `toS3Config` and `redact` arrive as functions rather than as an
93
- * {@link Alias}: the four providers whose region or endpoint rule fits
94
- * neither {@link makeRegionAlias} nor {@link makeFixedAlias} write their
95
- * own pair, so the VFS layer takes the two functions every provider
96
- * has either way. Mirrors python `S3AliasVFS` in
83
+ * provider-shaped config, so all it owns is its `name`, that config and the
84
+ * {@link BrowserAlias} that converts and redacts it; the mount serves S3's
85
+ * commands under the name. A subclass supplies its prompt as a plain field
86
+ * and hands the varying pieces to `super`. Mirrors python `S3AliasVFS` in
97
87
  * `mirage/vfs/s3_alias.py`.
98
88
  */
99
- export declare abstract class S3AliasVFS<TConfig, TRedacted extends S3ConfigRedacted> extends S3VFS {
89
+ export declare abstract class S3AliasVFS<TConfig, TRedacted extends RedactedSchema<typeof S3Config>> extends S3VFS {
100
90
  readonly name: string;
101
91
  readonly aliasConfig: TConfig;
102
92
  private readonly redactAlias;
103
- protected constructor(name: string, config: TConfig, s3Config: S3Config, redact: (config: TConfig) => TRedacted);
104
- getState(): Promise<S3AliasVFSState<TRedacted>>;
93
+ protected constructor(name: string, config: TConfig, alias: Pick<BrowserAlias<TConfig, TRedacted, string | undefined>, 'toS3Config' | 'redact'>);
94
+ getState(): Promise<ConfigState<TRedacted>>;
105
95
  }
106
96
  //# sourceMappingURL=s3_alias.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3_alias.d.ts","sourceRoot":"","sources":["../../src/vfs/s3_alias.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAIL,CAAC,EACF,MAAM,oCAAoC,CAAA;AAE3C,OAAO,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE/F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,EAAE,6BAA6B,CAAA;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,oBAAoB;;;;;;;CAShC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EACxD,KAAK,EAAE,CAAC,GACP,CAAC,CAAC,SAAS,CAAC,OAAO,oBAAoB,GAAG,CAAC,CAAC,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,oBAAoB,EAC5D,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,EACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAClC,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAKnC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,SAAS;IAC9D,gBAAgB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,CAAA;IAC3C,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,QAAQ,CAAA;IACnC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IACxB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,oBAAoB,EAC9B,CAAC,EACD,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EACjD,OAAO,EAAE;IACT,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IAClC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CA2BxB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,SAAS;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAA;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,8BAAsB,UAAU,CAAC,OAAO,EAAE,SAAS,SAAS,gBAAgB,CAAE,SAAQ,KAAK;IACzF,SAAkB,IAAI,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAE5D,SAAS,aACP,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS;IAQ/B,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;CAMzD"}
1
+ {"version":3,"file":"s3_alias.d.ts","sourceRoot":"","sources":["../../src/vfs/s3_alias.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAClF,OAAO,EAIL,CAAC,EACF,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAA;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,EAAE,6BAA6B,CAAA;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;CA8BhC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EACxD,KAAK,EAAE,CAAC,GACP,CAAC,CAAC,SAAS,CAAC,OAAO,oBAAoB,GAAG,CAAC,CAAC,CAI9C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,oBAAoB,EAC5D,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,EACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAClC,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAKnC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,SAAS;IAC9D,gBAAgB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,CAAA;IAC3C,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,QAAQ,CAAA;IACnC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,CAAC,CAAC,SAAS,EACrB,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EACjD,OAAO,EAAE;IACT,MAAM,EAAE,CAAC,CAAA;IACT,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,oBAAoB,KAAK,CAAC,CAAA;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CA2B7E;AAED;;;;;;;;GAQG;AACH,8BAAsB,UAAU,CAC9B,OAAO,EACP,SAAS,SAAS,cAAc,CAAC,OAAO,QAAQ,CAAC,CACjD,SAAQ,KAAK;IACb,SAAkB,IAAI,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAE5D,SAAS,aACP,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IAQnF,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CAMrD"}
@@ -11,16 +11,30 @@
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 { S3VFS } from "./s3/s3.js";
15
- import { parseConfigWithSchema, redactConfigWithSchema, secretSchema, z, } from '@struktoai/mirage-core/vfs/secrets';
14
+ import { timeoutShape } from '@struktoai/mirage-core/core/api/config';
15
+ import { FIELD_NORMALIZERS, redactConfigWithSchema, secretSchema, z, } from '@struktoai/mirage-core/vfs/secrets';
16
16
  import { S3_BROWSER_RENAME } from "./s3/config.js";
17
+ import { S3VFS } from "./s3/s3.js";
17
18
  export const BROWSER_ALIAS_FIELDS = {
18
- bucket: z.string(),
19
- presignedUrlProvider: secretSchema(z.custom((value) => typeof value === 'function')),
20
- region: z.string().optional(),
21
- endpoint: z.string().optional(),
22
- defaultContentType: z.string().optional(),
23
- keyPrefix: z.string().optional(),
19
+ bucket: z.string().describe('Name of the bucket to mount.'),
20
+ presignedUrlProvider: secretSchema(z.custom((value) => typeof value === 'function')).describe('Function `(path, operation, options)` that returns a signed URL for each S3 operation; your server signs it, so the browser holds no keys.'),
21
+ region: z
22
+ .string()
23
+ .optional()
24
+ .describe('Region of the bucket. Most providers derive the endpoint from it; requests go to the host each presigned URL names.'),
25
+ endpoint: z
26
+ .string()
27
+ .optional()
28
+ .describe('Endpoint URL that replaces the one the provider derives. Requests go to the host each presigned URL names; the mount uses it to name its storage location.'),
29
+ defaultContentType: z.string().optional().meta({
30
+ description: '`Content-Type` stored with every object the mount writes.',
31
+ default: 'application/octet-stream',
32
+ }),
33
+ keyPrefix: z
34
+ .string()
35
+ .optional()
36
+ .describe('Key prefix the mount treats as its root. The browser can change it before a URL is signed, so enforce the prefix on the signing server.'),
37
+ ...timeoutShape,
24
38
  };
25
39
  /**
26
40
  * The shared schema, plus whatever one provider's endpoint rule needs
@@ -31,7 +45,9 @@ export const BROWSER_ALIAS_FIELDS = {
31
45
  * key order of a redacted config, which nothing pins.
32
46
  */
33
47
  export function browserAliasSchema(extra) {
34
- return z.object({ ...BROWSER_ALIAS_FIELDS, ...extra });
48
+ return z
49
+ .object({ ...BROWSER_ALIAS_FIELDS, ...extra })
50
+ .register(FIELD_NORMALIZERS, { rename: S3_BROWSER_RENAME });
35
51
  }
36
52
  /**
37
53
  * The common endpoint rule: one config field fills one URL template.
@@ -64,7 +80,7 @@ export function makeBrowserS3Alias(options) {
64
80
  return config.endpoint;
65
81
  return endpointFor === undefined ? undefined : endpointFor(config);
66
82
  };
67
- return {
83
+ const alias = {
68
84
  resolvedEndpoint,
69
85
  toS3Config: (config) => {
70
86
  const endpoint = resolvedEndpoint(config);
@@ -79,35 +95,31 @@ export function makeBrowserS3Alias(options) {
79
95
  ? { defaultContentType: config.defaultContentType }
80
96
  : {}),
81
97
  ...(config.keyPrefix !== undefined ? { keyPrefix: config.keyPrefix } : {}),
98
+ ...(config.timeout !== undefined ? { timeout: config.timeout } : {}),
82
99
  };
83
100
  },
84
101
  redact: (config) => redactConfigWithSchema(schema, config),
85
- normalize: (input) => parseConfigWithSchema(schema, input, { rename: S3_BROWSER_RENAME }),
86
102
  };
103
+ return Object.assign(schema.clone(), alias);
87
104
  }
88
105
  /**
89
106
  * The shared body of every S3-compatible provider VFS (MinIO, Ceph,
90
107
  * R2, Wasabi, ...). Each is an {@link S3VFS} reached through a
91
- * provider-shaped config, so all it owns is its `name` and that config;
92
- * the mount serves S3's commands under the name. A subclass supplies its
93
- * prompt as a plain field and hands the varying pieces to `super`.
94
- *
95
- * `toS3Config` and `redact` arrive as functions rather than as an
96
- * {@link Alias}: the four providers whose region or endpoint rule fits
97
- * neither {@link makeRegionAlias} nor {@link makeFixedAlias} write their
98
- * own pair, so the VFS layer takes the two functions every provider
99
- * has either way. Mirrors python `S3AliasVFS` in
108
+ * provider-shaped config, so all it owns is its `name`, that config and the
109
+ * {@link BrowserAlias} that converts and redacts it; the mount serves S3's
110
+ * commands under the name. A subclass supplies its prompt as a plain field
111
+ * and hands the varying pieces to `super`. Mirrors python `S3AliasVFS` in
100
112
  * `mirage/vfs/s3_alias.py`.
101
113
  */
102
114
  export class S3AliasVFS extends S3VFS {
103
115
  name;
104
116
  aliasConfig;
105
117
  redactAlias;
106
- constructor(name, config, s3Config, redact) {
107
- super(s3Config);
118
+ constructor(name, config, alias) {
119
+ super(alias.toS3Config(config));
108
120
  this.name = name;
109
121
  this.aliasConfig = config;
110
- this.redactAlias = redact;
122
+ this.redactAlias = alias.redact;
111
123
  }
112
124
  getState() {
113
125
  return Promise.resolve({
@@ -1 +1 @@
1
- {"version":3,"file":"s3_alias.js","sourceRoot":"","sources":["../../src/vfs/s3_alias.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3_alias.js","sourceRoot":"","sources":["../../src/vfs/s3_alias.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,28 @@
1
- import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/vfs/secrets';
2
- declare const ScalewayConfigSchema: import("zod").ZodObject<{
1
+ import type { ConfigOf } from '@struktoai/mirage-core/vfs/secrets';
2
+ export declare const ScalewayConfig: import("zod").ZodObject<{
3
+ timeout: import("zod").ZodOptional<import("zod").ZodNumber>;
3
4
  bucket: import("zod").ZodString;
4
- presignedUrlProvider: import("zod").ZodCustom<import("@struktoai/mirage-core/vfs/s3/config").S3BrowserPresignedUrlProvider, import("@struktoai/mirage-core/vfs/s3/config").S3BrowserPresignedUrlProvider>;
5
+ presignedUrlProvider: 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
6
  region: import("zod").ZodOptional<import("zod").ZodString>;
6
7
  endpoint: import("zod").ZodOptional<import("zod").ZodString>;
7
8
  defaultContentType: import("zod").ZodOptional<import("zod").ZodString>;
8
9
  keyPrefix: import("zod").ZodOptional<import("zod").ZodString>;
9
- }, import("zod/v4/core").$strip>;
10
- export type ScalewayConfig = ConfigOf<typeof ScalewayConfigSchema>;
11
- export type ScalewayConfigRedacted = RedactedConfig<ScalewayConfig, 'presignedUrlProvider'>;
12
- export declare const resolvedScalewayEndpoint: (config: ScalewayConfig) => string | undefined;
13
- export declare const scalewayToS3Config: (config: ScalewayConfig) => import("@struktoai/mirage-core/vfs/s3/config").S3Config;
14
- export declare const redactScalewayConfig: (config: ScalewayConfig) => ScalewayConfigRedacted;
15
- export declare const normalizeScalewayConfig: (input: Record<string, unknown>) => ScalewayConfig;
16
- export {};
10
+ }, import("zod/v4/core").$strip> & import("../s3_alias.ts").BrowserAlias<ConfigOf<import("zod").ZodObject<{
11
+ timeout: import("zod").ZodOptional<import("zod").ZodNumber>;
12
+ bucket: import("zod").ZodString;
13
+ presignedUrlProvider: 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>>;
14
+ region: import("zod").ZodOptional<import("zod").ZodString>;
15
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
16
+ defaultContentType: import("zod").ZodOptional<import("zod").ZodString>;
17
+ keyPrefix: import("zod").ZodOptional<import("zod").ZodString>;
18
+ }, import("zod/v4/core").$strip>> & import("../s3_alias.ts").S3BrowserAliasConfig, {
19
+ bucket: string;
20
+ presignedUrlProvider: "<REDACTED>";
21
+ timeout?: number;
22
+ region?: string;
23
+ endpoint?: string;
24
+ defaultContentType?: string;
25
+ keyPrefix?: string;
26
+ }, string | undefined>;
27
+ export type ScalewayConfig = ConfigOf<typeof ScalewayConfig>;
17
28
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/scaleway/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAGlF,QAAA,MAAM,oBAAoB;;;;;;;gCAAyB,CAAA;AAEnD,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElE,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAA;AAO3F,eAAO,MAAM,wBAAwB,gDAAyB,CAAA;AAC9D,eAAO,MAAM,kBAAkB,qFAAmB,CAAA;AAClD,eAAO,MAAM,oBAAoB,oDAAe,CAAA;AAChD,eAAO,MAAM,uBAAuB,oDAAkB,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/scaleway/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAGlE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;sBAGzB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAA"}
@@ -12,13 +12,8 @@
12
12
  // limitations under the License.
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
14
  import { browserAliasSchema, derivedEndpoint, makeBrowserS3Alias } from "../s3_alias.js";
15
- const ScalewayConfigSchema = browserAliasSchema({});
16
- const alias = makeBrowserS3Alias({
17
- schema: ScalewayConfigSchema,
15
+ export const ScalewayConfig = makeBrowserS3Alias({
16
+ schema: browserAliasSchema({}),
18
17
  endpointFor: derivedEndpoint('region', (region) => `https://s3.${region}.scw.cloud`),
19
18
  });
20
- export const resolvedScalewayEndpoint = alias.resolvedEndpoint;
21
- export const scalewayToS3Config = alias.toS3Config;
22
- export const redactScalewayConfig = alias.redact;
23
- export const normalizeScalewayConfig = alias.normalize;
24
19
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/scaleway/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;AAGvE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;AAMnD,MAAM,KAAK,GAAG,kBAAkB,CAAyC;IACvE,MAAM,EAAE,oBAAoB;IAC5B,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,MAAM,YAAY,CAAC;CACrF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC,gBAAgB,CAAA;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAA;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAA;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,SAAS,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/scaleway/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;AAGvE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExF,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;IAC/C,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC;IAC9B,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,MAAM,YAAY,CAAC;CACrF,CAAC,CAAA"}
@@ -1,8 +1,7 @@
1
- import { S3AliasVFS, type S3AliasVFSState } from '../s3_alias.ts';
2
- import { type ScalewayConfig, type ScalewayConfigRedacted } from './config.ts';
3
- export type ScalewayVFSState = S3AliasVFSState<ScalewayConfigRedacted>;
4
- export declare class ScalewayVFS extends S3AliasVFS<ScalewayConfig, ScalewayConfigRedacted> {
5
- readonly prompt: string;
1
+ import type { RedactedSchema } from '@struktoai/mirage-core/vfs/secrets';
2
+ import { S3AliasVFS } from '../s3_alias.ts';
3
+ import { ScalewayConfig } from './config.ts';
4
+ export declare class ScalewayVFS extends S3AliasVFS<ScalewayConfig, RedactedSchema<typeof ScalewayConfig>> {
6
5
  constructor(config: ScalewayConfig);
7
6
  }
8
7
  //# sourceMappingURL=scaleway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaleway.d.ts","sourceRoot":"","sources":["../../../src/vfs/scaleway/scaleway.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAA;AAEtE,qBAAa,WAAY,SAAQ,UAAU,CAAC,cAAc,EAAE,sBAAsB,CAAC;IACjF,SAAkB,MAAM,EAAE,MAAM,CAAS;gBAE7B,MAAM,EAAE,cAAc;CAGnC"}
1
+ {"version":3,"file":"scaleway.d.ts","sourceRoot":"","sources":["../../../src/vfs/scaleway/scaleway.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,qBAAa,WAAY,SAAQ,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;gBACpF,MAAM,EAAE,cAAc;CAGnC"}
@@ -13,12 +13,10 @@
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
14
  import { VFSName } from '@struktoai/mirage-core/types';
15
15
  import { S3AliasVFS } from "../s3_alias.js";
16
- import { redactScalewayConfig, scalewayToS3Config, } from "./config.js";
17
- import { PROMPT } from "./prompt.js";
16
+ import { ScalewayConfig } from "./config.js";
18
17
  export class ScalewayVFS extends S3AliasVFS {
19
- prompt = PROMPT;
20
18
  constructor(config) {
21
- super(VFSName.SCALEWAY, config, scalewayToS3Config(config), redactScalewayConfig);
19
+ super(VFSName.SCALEWAY, config, ScalewayConfig);
22
20
  }
23
21
  }
24
22
  //# sourceMappingURL=scaleway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaleway.js","sourceRoot":"","sources":["../../../src/vfs/scaleway/scaleway.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,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,UAAU,EAAwB,MAAM,gBAAgB,CAAA;AACjE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GAGnB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIpC,MAAM,OAAO,WAAY,SAAQ,UAAkD;IAC/D,MAAM,GAAW,MAAM,CAAA;IAEzC,YAAY,MAAsB;QAChC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACnF,CAAC;CACF"}
1
+ {"version":3,"file":"scaleway.js","sourceRoot":"","sources":["../../../src/vfs/scaleway/scaleway.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,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,OAAO,WAAY,SAAQ,UAAiE;IAChG,YAAY,MAAsB;QAChC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IACjD,CAAC;CACF"}
@@ -1,16 +1,28 @@
1
- import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/vfs/secrets';
2
- declare const SeaweedFSConfigSchema: import("zod").ZodObject<{
1
+ import type { ConfigOf } from '@struktoai/mirage-core/vfs/secrets';
2
+ export declare const SeaweedFSConfig: import("zod").ZodObject<{
3
+ timeout: import("zod").ZodOptional<import("zod").ZodNumber>;
3
4
  bucket: import("zod").ZodString;
4
- presignedUrlProvider: import("zod").ZodCustom<import("@struktoai/mirage-core/vfs/s3/config").S3BrowserPresignedUrlProvider, import("@struktoai/mirage-core/vfs/s3/config").S3BrowserPresignedUrlProvider>;
5
+ presignedUrlProvider: 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
6
  region: import("zod").ZodOptional<import("zod").ZodString>;
6
7
  endpoint: import("zod").ZodOptional<import("zod").ZodString>;
7
8
  defaultContentType: import("zod").ZodOptional<import("zod").ZodString>;
8
9
  keyPrefix: import("zod").ZodOptional<import("zod").ZodString>;
9
- }, import("zod/v4/core").$strip>;
10
- export type SeaweedFSConfig = ConfigOf<typeof SeaweedFSConfigSchema>;
11
- export type SeaweedFSConfigRedacted = RedactedConfig<SeaweedFSConfig, 'presignedUrlProvider'>;
12
- export declare const seaweedfsToS3Config: (config: SeaweedFSConfig) => import("@struktoai/mirage-core/vfs/s3/config").S3Config;
13
- export declare const redactSeaweedFSConfig: (config: SeaweedFSConfig) => SeaweedFSConfigRedacted;
14
- export declare const normalizeSeaweedFSConfig: (input: Record<string, unknown>) => SeaweedFSConfig;
15
- export {};
10
+ }, import("zod/v4/core").$strip> & import("../s3_alias.ts").BrowserAlias<ConfigOf<import("zod").ZodObject<{
11
+ timeout: import("zod").ZodOptional<import("zod").ZodNumber>;
12
+ bucket: import("zod").ZodString;
13
+ presignedUrlProvider: 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>>;
14
+ region: import("zod").ZodOptional<import("zod").ZodString>;
15
+ endpoint: import("zod").ZodOptional<import("zod").ZodString>;
16
+ defaultContentType: import("zod").ZodOptional<import("zod").ZodString>;
17
+ keyPrefix: import("zod").ZodOptional<import("zod").ZodString>;
18
+ }, import("zod/v4/core").$strip>> & import("../s3_alias.ts").S3BrowserAliasConfig, {
19
+ bucket: string;
20
+ presignedUrlProvider: "<REDACTED>";
21
+ timeout?: number;
22
+ region?: string;
23
+ endpoint?: string;
24
+ defaultContentType?: string;
25
+ keyPrefix?: string;
26
+ }, string | undefined>;
27
+ export type SeaweedFSConfig = ConfigOf<typeof SeaweedFSConfig>;
16
28
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/seaweedfs/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAGlF,QAAA,MAAM,qBAAqB;;;;;;;gCAAyB,CAAA;AAEpD,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEpE,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAA;AAM7F,eAAO,MAAM,mBAAmB,sFAAmB,CAAA;AACnD,eAAO,MAAM,qBAAqB,sDAAe,CAAA;AACjD,eAAO,MAAM,wBAAwB,qDAAkB,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/seaweedfs/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAGlE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;sBAAyD,CAAA;AAErF,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAA"}
@@ -12,11 +12,5 @@
12
12
  // limitations under the License.
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
14
  import { browserAliasSchema, makeBrowserS3Alias } from "../s3_alias.js";
15
- const SeaweedFSConfigSchema = browserAliasSchema({});
16
- const alias = makeBrowserS3Alias({
17
- schema: SeaweedFSConfigSchema,
18
- });
19
- export const seaweedfsToS3Config = alias.toS3Config;
20
- export const redactSeaweedFSConfig = alias.redact;
21
- export const normalizeSeaweedFSConfig = alias.normalize;
15
+ export const SeaweedFSConfig = makeBrowserS3Alias({ schema: browserAliasSchema({}) });
22
16
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/seaweedfs/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;AAGvE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEvE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;AAMpD,MAAM,KAAK,GAAG,kBAAkB,CAA2C;IACzE,MAAM,EAAE,qBAAqB;CAC9B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAA;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAA;AACjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC,SAAS,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/seaweedfs/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;AAGvE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEvE,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA"}
@@ -1,8 +1,7 @@
1
- import { S3AliasVFS, type S3AliasVFSState } from '../s3_alias.ts';
2
- import { type SeaweedFSConfig, type SeaweedFSConfigRedacted } from './config.ts';
3
- export type SeaweedFSVFSState = S3AliasVFSState<SeaweedFSConfigRedacted>;
4
- export declare class SeaweedFSVFS extends S3AliasVFS<SeaweedFSConfig, SeaweedFSConfigRedacted> {
5
- readonly prompt: string;
1
+ import type { RedactedSchema } from '@struktoai/mirage-core/vfs/secrets';
2
+ import { S3AliasVFS } from '../s3_alias.ts';
3
+ import { SeaweedFSConfig } from './config.ts';
4
+ export declare class SeaweedFSVFS extends S3AliasVFS<SeaweedFSConfig, RedactedSchema<typeof SeaweedFSConfig>> {
6
5
  constructor(config: SeaweedFSConfig);
7
6
  }
8
7
  //# sourceMappingURL=seaweedfs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seaweedfs.d.ts","sourceRoot":"","sources":["../../../src/vfs/seaweedfs/seaweedfs.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAA;AAExE,qBAAa,YAAa,SAAQ,UAAU,CAAC,eAAe,EAAE,uBAAuB,CAAC;IACpF,SAAkB,MAAM,EAAE,MAAM,CAAS;gBAE7B,MAAM,EAAE,eAAe;CAGpC"}
1
+ {"version":3,"file":"seaweedfs.d.ts","sourceRoot":"","sources":["../../../src/vfs/seaweedfs/seaweedfs.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,qBAAa,YAAa,SAAQ,UAAU,CAC1C,eAAe,EACf,cAAc,CAAC,OAAO,eAAe,CAAC,CACvC;gBACa,MAAM,EAAE,eAAe;CAGpC"}
@@ -13,12 +13,10 @@
13
13
  // ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
14
14
  import { VFSName } from '@struktoai/mirage-core/types';
15
15
  import { S3AliasVFS } from "../s3_alias.js";
16
- import { redactSeaweedFSConfig, seaweedfsToS3Config, } from "./config.js";
17
- import { PROMPT } from "./prompt.js";
16
+ import { SeaweedFSConfig } from "./config.js";
18
17
  export class SeaweedFSVFS extends S3AliasVFS {
19
- prompt = PROMPT;
20
18
  constructor(config) {
21
- super(VFSName.SEAWEEDFS, config, seaweedfsToS3Config(config), redactSeaweedFSConfig);
19
+ super(VFSName.SEAWEEDFS, config, SeaweedFSConfig);
22
20
  }
23
21
  }
24
22
  //# sourceMappingURL=seaweedfs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seaweedfs.js","sourceRoot":"","sources":["../../../src/vfs/seaweedfs/seaweedfs.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,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,UAAU,EAAwB,MAAM,gBAAgB,CAAA;AACjE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GAGpB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIpC,MAAM,OAAO,YAAa,SAAQ,UAAoD;IAClE,MAAM,GAAW,MAAM,CAAA;IAEzC,YAAY,MAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,CAAA;IACtF,CAAC;CACF"}
1
+ {"version":3,"file":"seaweedfs.js","sourceRoot":"","sources":["../../../src/vfs/seaweedfs/seaweedfs.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,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,OAAO,YAAa,SAAQ,UAGjC;IACC,YAAY,MAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IACnD,CAAC;CACF"}
@@ -1,23 +1,13 @@
1
+ import type { ConfigOf } from '@struktoai/mirage-core/vfs/secrets';
1
2
  import { z } from '@struktoai/mirage-core/vfs/secrets';
2
- import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/vfs/secrets';
3
3
  type HeaderProvider = () => Promise<Record<string, string>> | Record<string, string>;
4
- declare const SlackConfigSchema: z.ZodObject<{
4
+ export declare const SlackConfig: z.ZodObject<{
5
5
  proxyUrl: z.ZodString;
6
- getHeaders: z.ZodOptional<z.ZodCustom<HeaderProvider, HeaderProvider>>;
7
- contentSearch: z.ZodOptional<z.ZodBoolean>;
6
+ getHeaders: z.ZodOptional<import("@struktoai/mirage-core/vfs/secrets").SecretSchema<z.ZodCustom<HeaderProvider, HeaderProvider>>>;
8
7
  startTime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
8
  endTime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ timeout: z.ZodOptional<z.ZodNumber>;
10
10
  }, z.core.$strip>;
11
- export type SlackConfig = ConfigOf<typeof SlackConfigSchema>;
12
- export type SlackConfigRedacted = RedactedConfig<SlackConfig, 'getHeaders'>;
13
- export declare function redactSlackConfig(config: SlackConfig): SlackConfigRedacted;
14
- /**
15
- * Translate a python-style config blob to this one's camelCase.
16
- *
17
- * No rename map: every field's camelCase spelling is what `snakeToCamel`
18
- * already produces, and restating those only creates a second place to be
19
- * wrong. Mirrors node's `normalizeSlackConfig`.
20
- */
21
- export declare function normalizeSlackConfig(input: Record<string, unknown>): SlackConfig;
11
+ export type SlackConfig = ConfigOf<typeof SlackConfig>;
22
12
  export {};
23
13
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/slack/config.ts"],"names":[],"mappings":"AAmBA,OAAO,EAIL,CAAC,EACF,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAElF,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEpF,QAAA,MAAM,iBAAiB;;;;;;iBAWqB,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;AAE3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAEhF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/slack/config.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAgB,CAAC,EAAE,MAAM,oCAAoC,CAAA;AAEpE,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEpF,eAAO,MAAM,WAAW;;;;;;iBAeoB,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAA"}
@@ -11,29 +11,19 @@
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 { timeRangeShape, orderedTimes, timeRangeOrderError, } from '@struktoai/mirage-core/core/time_config';
15
- import { parseConfigWithSchema, redactConfigWithSchema, secretSchema, z, } from '@struktoai/mirage-core/vfs/secrets';
16
- const SlackConfigSchema = z
14
+ import { timeoutShape } from '@struktoai/mirage-core/core/api/config';
15
+ import { orderedTimes, timeRangeOrderError, timeRangeShape, } from '@struktoai/mirage-core/core/time_config';
16
+ import { secretSchema, z } from '@struktoai/mirage-core/vfs/secrets';
17
+ export const SlackConfig = z
17
18
  .object({
19
+ ...timeoutShape,
18
20
  ...timeRangeShape,
19
- proxyUrl: z.string(),
20
- getHeaders: secretSchema(z.custom((value) => typeof value === 'function')).optional(),
21
- // See node's SlackConfig: grep -w and rg -w read only the channel days
22
- // Slack search names. Off by default.
23
- contentSearch: z.boolean().optional(),
21
+ proxyUrl: z
22
+ .string()
23
+ .describe("URL of your backend proxy, which forwards to `https://slack.com/api` and attaches the token. A path resolves against the page's origin; no query string or fragment."),
24
+ getHeaders: secretSchema(z.custom((value) => typeof value === 'function'))
25
+ .optional()
26
+ .describe('Function returning extra headers sent with every request to the proxy, such as your own session credential.'),
24
27
  })
25
28
  .refine(orderedTimes, timeRangeOrderError);
26
- export function redactSlackConfig(config) {
27
- return redactConfigWithSchema(SlackConfigSchema, config);
28
- }
29
- /**
30
- * Translate a python-style config blob to this one's camelCase.
31
- *
32
- * No rename map: every field's camelCase spelling is what `snakeToCamel`
33
- * already produces, and restating those only creates a second place to be
34
- * wrong. Mirrors node's `normalizeSlackConfig`.
35
- */
36
- export function normalizeSlackConfig(input) {
37
- return parseConfigWithSchema(SlackConfigSchema, input);
38
- }
39
29
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/slack/config.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,uEAAuE;AAEvE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,CAAC,GACF,MAAM,oCAAoC,CAAA;AAK3C,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,GAAG,cAAc;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,YAAY,CACtB,CAAC,CAAC,MAAM,CAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CACjE,CAAC,QAAQ,EAAE;IACZ,uEAAuE;IACvE,sCAAsC;IACtC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC;KACD,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;AAM5C,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,OAAO,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,CAAmC,CAAA;AAC5F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA8B;IACjE,OAAO,qBAAqB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/slack/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,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,GACf,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,oCAAoC,CAAA;AAIpE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,GAAG,YAAY;IACf,GAAG,cAAc;IACjB,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CACP,sKAAsK,CACvK;IACH,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC;SACvF,QAAQ,EAAE;SACV,QAAQ,CACP,6GAA6G,CAC9G;CACJ,CAAC;KACD,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA"}
@@ -1,19 +1,16 @@
1
- import { SlackVFSBase } from '@struktoai/mirage-core/vfs/slack/slack';
2
1
  import { SlackAccessor } from '@struktoai/mirage-core/accessor/slack';
3
- import { type SlackConfig, type SlackConfigRedacted } from './config.ts';
4
- export interface SlackVFSState {
5
- type: string;
6
- config: SlackConfigRedacted;
7
- }
8
- export declare class SlackVFS extends SlackVFSBase {
2
+ import type { RedactedSchema } from '@struktoai/mirage-core/vfs/secrets';
3
+ import { SlackVFS as CoreSlackVFS } from '@struktoai/mirage-core/vfs/slack/slack';
4
+ import type { ConfigState } from '@struktoai/mirage-core/vfs/types';
5
+ import { SlackConfig } from './config.ts';
6
+ export declare class SlackVFS extends CoreSlackVFS {
9
7
  readonly name: string;
10
8
  readonly cachesReads: boolean;
11
9
  readonly sizesAlwaysKnown: boolean;
12
- readonly prompt: string;
13
- readonly writePrompt: string;
10
+ vfsMd: string;
14
11
  readonly config: SlackConfig;
15
12
  readonly accessor: SlackAccessor;
16
13
  constructor(config: SlackConfig);
17
- getState(): Promise<SlackVFSState>;
14
+ getState(): Promise<ConfigState<RedactedSchema<typeof SlackConfig>>>;
18
15
  }
19
16
  //# sourceMappingURL=slack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/vfs/slack/slack.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAOrE,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAE3F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,mBAAmB,CAAA;CAC5B;AAED,qBAAa,QAAS,SAAQ,YAAY;IACxC,SAAkB,IAAI,EAAE,MAAM,CAAgB;IAC9C,SAAkB,WAAW,EAAE,OAAO,CAAO;IAK7C,SAAkB,gBAAgB,EAAE,OAAO,CAAO;IAClD,SAAkB,MAAM,EAAE,MAAM,CAAA;IAChC,SAAkB,WAAW,EAAE,MAAM,CAAe;IACpD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,SAAkB,QAAQ,EAAE,aAAa,CAAA;gBAE7B,MAAM,EAAE,WAAW;IAatB,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;CAM5C"}
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/vfs/slack/slack.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAGrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAU,MAAM,wCAAwC,CAAA;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,qBAAa,QAAS,SAAQ,YAAY;IACxC,SAAkB,IAAI,EAAE,MAAM,CAAgB;IAC9C,SAAkB,WAAW,EAAE,OAAO,CAAO;IAK7C,SAAkB,gBAAgB,EAAE,OAAO,CAAO;IACzC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,SAAkB,QAAQ,EAAE,aAAa,CAAA;gBAE7B,MAAM,EAAE,WAAW;IActB,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC;CAG9E"}