@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
@@ -1,8 +1,7 @@
1
- import { S3AliasVFS, type S3AliasVFSState } from '../s3_alias.ts';
2
- import { type OCIConfig, type OCIConfigRedacted } from './config.ts';
3
- export type OCIVFSState = S3AliasVFSState<OCIConfigRedacted>;
4
- export declare class OCIVFS extends S3AliasVFS<OCIConfig, OCIConfigRedacted> {
5
- readonly prompt: string;
1
+ import type { RedactedSchema } from '@struktoai/mirage-core/vfs/secrets';
2
+ import { S3AliasVFS } from '../s3_alias.ts';
3
+ import { OCIConfig } from './config.ts';
4
+ export declare class OCIVFS extends S3AliasVFS<OCIConfig, RedactedSchema<typeof OCIConfig>> {
6
5
  constructor(config: OCIConfig);
7
6
  }
8
7
  //# sourceMappingURL=oci.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../../src/vfs/oci/oci.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAkC,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGpG,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAE5D,qBAAa,MAAO,SAAQ,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAClE,SAAkB,MAAM,EAAE,MAAM,CAAS;gBAE7B,MAAM,EAAE,SAAS;CAG9B"}
1
+ {"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../../src/vfs/oci/oci.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,MAAO,SAAQ,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;gBACrE,MAAM,EAAE,SAAS;CAG9B"}
@@ -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 { ociToS3Config, redactOciConfig } from "./config.js";
17
- import { PROMPT } from "./prompt.js";
16
+ import { OCIConfig } from "./config.js";
18
17
  export class OCIVFS extends S3AliasVFS {
19
- prompt = PROMPT;
20
18
  constructor(config) {
21
- super(VFSName.OCI, config, ociToS3Config(config), redactOciConfig);
19
+ super(VFSName.OCI, config, OCIConfig);
22
20
  }
23
21
  }
24
22
  //# sourceMappingURL=oci.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oci.js","sourceRoot":"","sources":["../../../src/vfs/oci/oci.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,EAAE,aAAa,EAAE,eAAe,EAA0C,MAAM,aAAa,CAAA;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIpC,MAAM,OAAO,MAAO,SAAQ,UAAwC;IAChD,MAAM,GAAW,MAAM,CAAA;IAEzC,YAAY,MAAiB;QAC3B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAA;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"oci.js","sourceRoot":"","sources":["../../../src/vfs/oci/oci.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,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,OAAO,MAAO,SAAQ,UAAuD;IACjF,YAAY,MAAiB;QAC3B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IACvC,CAAC;CACF"}
@@ -1,25 +1,36 @@
1
1
  import type { ByteSource } from '@struktoai/mirage-core/io/types';
2
- import { BaseVFS, type VFSStateBase } from '@struktoai/mirage-core/vfs/base';
3
- import { OPFSAccessor } from '../../accessor/opfs.ts';
4
- import type { PathSpec, FileStat } from '@struktoai/mirage-core/types';
2
+ import type { CapacityResult, FileStat, PathSpec } from '@struktoai/mirage-core/types';
3
+ import { BaseVFS } from '@struktoai/mirage-core/vfs/base';
4
+ import { type StorageUsage } from '@struktoai/mirage-core/vfs/capacity';
5
5
  import type { Handed } from '@struktoai/mirage-core/vfs/types';
6
+ import { type VFSStateBase } from '@struktoai/mirage-core/vfs/types';
7
+ import { OPFSAccessor } from '../../accessor/opfs.ts';
6
8
  export interface OPFSVFSOptions {
7
9
  root?: string;
10
+ capacity?: number | string | null;
8
11
  }
9
12
  export interface OPFSVFSState {
10
13
  type: string;
14
+ config?: {
15
+ capacity?: number;
16
+ };
11
17
  files: Record<string, Uint8Array>;
12
18
  dirs: string[];
13
19
  }
14
20
  export declare class OPFSVFS extends BaseVFS {
15
21
  readonly name: "opfs";
16
22
  readonly sizesAlwaysKnown: boolean;
17
- readonly prompt = "{prefix}\n Browser Origin Private File System. Persistent per-origin storage that survives page reloads.\n Standard commands: ls, cat, head, tail, grep, wc, find, tree, mkdir, touch, cp, mv, rm, tee.";
18
23
  readonly rootName: string;
19
24
  readonly accessor: OPFSAccessor;
25
+ readonly usage: StorageUsage | null;
20
26
  private rootHandle;
21
27
  private openPromise;
28
+ walkLimit: number;
22
29
  constructor(options?: OPFSVFSOptions);
30
+ private charge;
31
+ /** df's QUOTA row for a capped root, counted afresh so another tab's
32
+ * writes show; the base answer otherwise. */
33
+ capacity(): Promise<CapacityResult>;
23
34
  close(): Promise<void>;
24
35
  /**
25
36
  * Lazily resolve to a usable root handle. Memoizes `navigator.storage`
@@ -29,16 +40,12 @@ export declare class OPFSVFS extends BaseVFS {
29
40
  root(): Promise<FileSystemDirectoryHandle>;
30
41
  readonly readsRanges: boolean;
31
42
  readonly local: boolean;
32
- readonly maxGlobMatches: number;
33
43
  readdir(path: PathSpec): Promise<FileStat[]>;
34
- read(path: PathSpec, _handed?: Handed, offset?: number, size?: number | null): Promise<Uint8Array>;
44
+ read(path: PathSpec, _handed?: Handed, offset?: number, size?: number | null): Promise<ByteSource> | AsyncIterable<Uint8Array>;
35
45
  stat(path: PathSpec): Promise<FileStat>;
36
- readStream(path: PathSpec): AsyncIterable<Uint8Array>;
37
46
  exists(path: PathSpec): Promise<boolean>;
38
- write(path: PathSpec, data: Uint8Array): Promise<void>;
39
- writeStream(path: PathSpec, data: ByteSource, signal?: AbortSignal): Promise<void>;
40
- appendStream(path: PathSpec, data: ByteSource, signal?: AbortSignal): Promise<void>;
41
- append(path: PathSpec, data: Uint8Array): Promise<void>;
47
+ write(path: PathSpec, data: ByteSource, signal?: AbortSignal): Promise<void>;
48
+ append(path: PathSpec, data: ByteSource, _handed?: Handed, signal?: AbortSignal): Promise<void>;
42
49
  create(path: PathSpec): Promise<void>;
43
50
  mkdir(path: PathSpec, parents?: boolean): Promise<void>;
44
51
  unlink(path: PathSpec): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"opfs.d.ts","sourceRoot":"","sources":["../../../src/vfs/opfs/opfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opfs.d.ts","sourceRoot":"","sources":["../../../src/vfs/opfs/opfs.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAItF,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAmBrD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IAGb,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACjC,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AA8CD,qBAAa,OAAQ,SAAQ,OAAO;IAClC,SAAkB,IAAI,SAAe;IAGrC,SAAkB,gBAAgB,EAAE,OAAO,CAAO;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,SAAkB,QAAQ,EAAE,YAAY,CAAA;IACxC,SAAkB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAC5C,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,WAAW,CAAkD;IAE5D,SAAS,EAAE,MAAM,CAAmB;gBAEjC,OAAO,GAAE,cAAmB;IAOxC,OAAO,CAAC,MAAM;IAUd;iDAC6C;IAC9B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAMnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAe1C,SAAkB,WAAW,EAAE,OAAO,CAAO;IAE7C,SAAkB,KAAK,EAAE,OAAO,CAAO;IAE9B,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI5C,IAAI,CACX,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,SAAI,EACV,IAAI,GAAE,MAAM,GAAG,IAAW,GACzB,OAAO,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC;IAKzC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E,MAAM,CACb,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAMP,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAejC,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBrF"}
@@ -11,30 +11,31 @@
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 { chunks } from '@struktoai/mirage-core/io/cooperative';
15
- import { BaseVFS } from '@struktoai/mirage-core/vfs/base';
16
14
  import { VFSName } from '@struktoai/mirage-core/types';
17
15
  import { lstripSlash } from '@struktoai/mirage-core/utils/slash';
18
16
  import { compareCodePoints } from '@struktoai/mirage-core/utils/sort';
17
+ import { BaseVFS } from '@struktoai/mirage-core/vfs/base';
18
+ import { charge, storageUsage, } from '@struktoai/mirage-core/vfs/capacity';
19
+ import { LOCAL_WALK_LIMIT } from '@struktoai/mirage-core/vfs/constants';
20
+ import {} from '@struktoai/mirage-core/vfs/types';
19
21
  import { OPFSAccessor } from "../../accessor/opfs.js";
20
- import { iterEntries, toWritableChunk } from "../../core/opfs/utils.js";
21
- import { PROMPT } from "./prompt.js";
22
- import { readdir as opfsReaddir } from "../../core/opfs/readdir.js";
23
- import { read as opfsRead } from "../../core/opfs/read.js";
24
- import { stat as opfsStat } from "../../core/opfs/stat.js";
25
- import { readStream as opfsStream } from "../../core/opfs/stream.js";
26
- import { exists as opfsExists } from "../../core/opfs/exists.js";
27
- import { write as opfsWrite, writeStream as opfsWriteStream } from "../../core/opfs/write.js";
28
- import { appendBytes as opfsAppend, appendStream as opfsAppendStream, } from "../../core/opfs/append.js";
22
+ import { append as opfsAppend } from "../../core/opfs/append.js";
23
+ import { count as opfsCount, sizeOf as opfsSizeOf } from "../../core/opfs/capacity.js";
24
+ import { copy as opfsCopy } from "../../core/opfs/copy.js";
29
25
  import { create as opfsCreate } from "../../core/opfs/create.js";
26
+ import { exists as opfsExists } from "../../core/opfs/exists.js";
30
27
  import { mkdir as opfsMkdir } from "../../core/opfs/mkdir.js";
31
- import { unlink as opfsUnlink } from "../../core/opfs/unlink.js";
32
- import { rmdir as opfsRmdir } from "../../core/opfs/rmdir.js";
33
- import { rmR as opfsRmR } from "../../core/opfs/rm.js";
28
+ import { read as opfsRead } from "../../core/opfs/read.js";
29
+ import { readdir as opfsReaddir } from "../../core/opfs/readdir.js";
34
30
  import { rename as opfsRename } from "../../core/opfs/rename.js";
35
- import { copy as opfsCopy } from "../../core/opfs/copy.js";
31
+ import { rmR as opfsRmR } from "../../core/opfs/rm.js";
32
+ import { rmdir as opfsRmdir } from "../../core/opfs/rmdir.js";
33
+ import { stat as opfsStat } from "../../core/opfs/stat.js";
34
+ import { readStream as opfsStream } from "../../core/opfs/stream.js";
36
35
  import { truncate as opfsTruncate } from "../../core/opfs/truncate.js";
37
- import { SCOPE_ERROR } from "../../core/opfs/constants.js";
36
+ import { unlink as opfsUnlink } from "../../core/opfs/unlink.js";
37
+ import { iterEntries, toWritableChunk } from "../../core/opfs/utils.js";
38
+ import { write as opfsWrite } from "../../core/opfs/write.js";
38
39
  async function walkFiles(dir, currentPath, files) {
39
40
  for await (const [name, handle] of iterEntries(dir)) {
40
41
  const childPath = currentPath === '' ? name : `${currentPath}/${name}`;
@@ -73,15 +74,29 @@ export class OPFSVFS extends BaseVFS {
73
74
  // OPFS is a real filesystem: getFile().size is the exact byte count a
74
75
  // read returns.
75
76
  sizesAlwaysKnown = true;
76
- prompt = PROMPT;
77
77
  rootName;
78
78
  accessor;
79
+ usage;
79
80
  rootHandle = null;
80
81
  openPromise = null;
82
+ walkLimit = LOCAL_WALK_LIMIT;
81
83
  constructor(options = {}) {
82
84
  super();
83
85
  this.rootName = options.root ?? '';
84
86
  this.accessor = new OPFSAccessor(this);
87
+ this.usage = storageUsage(this.name, options.capacity);
88
+ }
89
+ charge(path, write) {
90
+ return charge(this.usage, path, (p) => opfsSizeOf(this.accessor, p), () => opfsCount(this.accessor), write);
91
+ }
92
+ /** df's QUOTA row for a capped root, counted afresh so another tab's
93
+ * writes show; the base answer otherwise. */
94
+ async capacity() {
95
+ if (this.usage === null)
96
+ return super.capacity();
97
+ this.usage.stale();
98
+ await this.usage.counted(() => opfsCount(this.accessor));
99
+ return this.usage.report();
85
100
  }
86
101
  async close() {
87
102
  this.rootHandle = null;
@@ -111,59 +126,66 @@ export class OPFSVFS extends BaseVFS {
111
126
  }
112
127
  readsRanges = true;
113
128
  local = true;
114
- maxGlobMatches = SCOPE_ERROR;
115
129
  readdir(path) {
116
130
  return opfsReaddir(this.accessor, path);
117
131
  }
118
132
  read(path, _handed, offset = 0, size = null) {
119
133
  if (offset === 0 && size === null)
120
- return opfsRead(this.accessor, path);
134
+ return opfsStream(this.accessor, path);
121
135
  return opfsRead(this.accessor, path, size === null ? { offset } : { offset, size });
122
136
  }
123
137
  stat(path) {
124
138
  return opfsStat(this.accessor, path);
125
139
  }
126
- readStream(path) {
127
- return opfsStream(this.accessor, path);
128
- }
129
140
  exists(path) {
130
141
  return opfsExists(this.accessor, path);
131
142
  }
132
- write(path, data) {
133
- return opfsWrite(this.accessor, path, data);
134
- }
135
- writeStream(path, data, signal) {
136
- return opfsWriteStream(this.accessor, path, chunks(data, signal));
143
+ write(path, data, signal) {
144
+ return this.charge(path, (held) => opfsWrite(this.accessor, path, held.stream(data), signal));
137
145
  }
138
- appendStream(path, data, signal) {
139
- return opfsAppendStream(this.accessor, path, chunks(data, signal));
140
- }
141
- append(path, data) {
142
- return opfsAppend(this.accessor, path, data);
146
+ append(path, data, _handed, signal) {
147
+ return this.charge(path, (held) => opfsAppend(this.accessor, path, held.stream(data, true), signal));
143
148
  }
144
149
  create(path) {
145
- return opfsCreate(this.accessor, path);
150
+ return this.charge(path, () => opfsCreate(this.accessor, path));
146
151
  }
147
152
  mkdir(path, parents = false) {
148
153
  return opfsMkdir(this.accessor, path, parents);
149
154
  }
150
155
  unlink(path) {
151
- return opfsUnlink(this.accessor, path);
156
+ return this.charge(path, () => opfsUnlink(this.accessor, path));
152
157
  }
153
158
  rmdir(path) {
154
159
  return opfsRmdir(this.accessor, path);
155
160
  }
156
161
  rmR(path) {
157
- return opfsRmR(this.accessor, path);
162
+ return this.charge(path, () => opfsRmR(this.accessor, path));
158
163
  }
159
164
  rename(src, dst) {
160
- return opfsRename(this.accessor, src, dst);
165
+ return this.charge(src, () => this.charge(dst, () => opfsRename(this.accessor, src, dst)));
161
166
  }
162
167
  copy(src, dst) {
163
- return opfsCopy(this.accessor, src, dst);
168
+ return this.charge(dst, async (held) => {
169
+ if (this.usage === null)
170
+ return opfsCopy(this.accessor, src, dst);
171
+ held.growTo(await opfsSizeOf(this.accessor, src));
172
+ await opfsCopy(this.accessor, src, dst);
173
+ const copied = await opfsSizeOf(this.accessor, dst);
174
+ try {
175
+ held.growTo(copied);
176
+ }
177
+ catch (err) {
178
+ await opfsTruncate(this.accessor, dst, held.reserved, true);
179
+ throw err;
180
+ }
181
+ });
164
182
  }
165
183
  truncate(path, length, noCreate = false) {
166
- return opfsTruncate(this.accessor, path, length, noCreate);
184
+ return this.charge(path, async (held) => {
185
+ if (!noCreate || (await this.exists(path)))
186
+ held.growTo(length);
187
+ await opfsTruncate(this.accessor, path, length, noCreate);
188
+ });
167
189
  }
168
190
  async getState() {
169
191
  const handle = await this.root();
@@ -174,6 +196,7 @@ export class OPFSVFS extends BaseVFS {
174
196
  dirs.sort(compareCodePoints);
175
197
  return {
176
198
  type: this.name,
199
+ ...(this.usage !== null ? { config: { capacity: this.usage.limit } } : {}),
177
200
  files,
178
201
  dirs,
179
202
  };
@@ -200,6 +223,7 @@ export class OPFSVFS extends BaseVFS {
200
223
  await writable.write(toWritableChunk(data));
201
224
  await writable.close();
202
225
  }
226
+ this.usage?.stale();
203
227
  }
204
228
  }
205
229
  //# sourceMappingURL=opfs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opfs.js","sourceRoot":"","sources":["../../../src/vfs/opfs/opfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opfs.js","sourceRoot":"","sources":["../../../src/vfs/opfs/opfs.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import type { PgDriver, PgQueryResult } from '@struktoai/mirage-core/core/postgres/_driver';
2
2
  export declare class NeonPgDriver implements PgDriver {
3
+ private readonly timeout;
3
4
  private readonly sql;
4
- constructor(dsn: string);
5
+ /** `timeout` is the seconds each query's request may stall. */
6
+ constructor(dsn: string, timeout?: number);
5
7
  query<R = Record<string, unknown>>(text: string, params?: readonly unknown[]): Promise<PgQueryResult<R>>;
6
8
  close(): Promise<void>;
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"neon_driver.d.ts","sourceRoot":"","sources":["../../../src/vfs/postgres/neon_driver.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AAO3F,qBAAa,YAAa,YAAW,QAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;gBAExC,GAAG,EAAE,MAAM;IAIjB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAQ5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvB"}
1
+ {"version":3,"file":"neon_driver.d.ts","sourceRoot":"","sources":["../../../src/vfs/postgres/neon_driver.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AAmC3F,qBAAa,YAAa,YAAW,QAAQ;IAMzC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAEpD,+DAA+D;gBAE7D,GAAG,EAAE,MAAM,EACM,OAAO,GAAE,MAAwB;IAM9C,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAO5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvB"}
@@ -11,15 +11,46 @@
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 { neon, types } from '@neondatabase/serverless';
14
+ import { neon, neonConfig, types } from '@neondatabase/serverless';
15
15
  import { readAsText } from '@struktoai/mirage-core/accessor/postgres';
16
+ import { stallTimeout } from '@struktoai/mirage-core/core/api/client';
17
+ import { DEFAULT_TIMEOUT } from '@struktoai/mirage-core/core/api/constants';
18
+ // The seconds a query may stall, riding its fetch options to the one fetch
19
+ // function the Neon client keeps for the whole page.
20
+ const STALL = Symbol('stall seconds');
21
+ /**
22
+ * Bound each Neon request's stalls by the seconds its query names
23
+ * (`stallTimeout`). The client fetches through one function for the whole
24
+ * page and spreads a query's `fetchOptions` into the init it hands it, so
25
+ * this wraps the function it finds there, once, and a request that names no
26
+ * seconds goes through as before.
27
+ */
28
+ function boundNeonFetch() {
29
+ const found = neonConfig.fetchFunction;
30
+ if (found?.[STALL] === true)
31
+ return;
32
+ const previous = found ?? ((input, init) => fetch(input, init));
33
+ const bounded = (input, init) => {
34
+ const seconds = init?.[STALL];
35
+ return seconds === undefined
36
+ ? previous(input, init)
37
+ : stallTimeout(seconds, previous)(input, init);
38
+ };
39
+ neonConfig.fetchFunction = Object.assign(bounded, { [STALL]: true });
40
+ }
16
41
  export class NeonPgDriver {
42
+ timeout;
17
43
  sql;
18
- constructor(dsn) {
44
+ /** `timeout` is the seconds each query's request may stall. */
45
+ constructor(dsn, timeout = DEFAULT_TIMEOUT) {
46
+ this.timeout = timeout;
47
+ boundNeonFetch();
19
48
  this.sql = neon(dsn, { fullResults: true, types: readAsText(types) });
20
49
  }
21
50
  async query(text, params) {
22
- const result = (await this.sql.query(text, params));
51
+ const result = (await this.sql.query(text, params, {
52
+ fetchOptions: { [STALL]: this.timeout },
53
+ }));
23
54
  return { rows: result.rows, rowCount: result.rowCount ?? result.rows.length };
24
55
  }
25
56
  close() {
@@ -1 +1 @@
1
- {"version":3,"file":"neon_driver.js","sourceRoot":"","sources":["../../../src/vfs/postgres/neon_driver.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,IAAI,EAAE,KAAK,EAA0B,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAA;AAQrE,MAAM,OAAO,YAAY;IACN,GAAG,CAAgC;IAEpD,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,MAA2B;QAE3B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAClC,IAAI,EACJ,MAA+B,CAChC,CAAiC,CAAA;QAClC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC/E,CAAC;IAED,KAAK;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"neon_driver.js","sourceRoot":"","sources":["../../../src/vfs/postgres/neon_driver.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,IAAI,EAAE,UAAU,EAAE,KAAK,EAA0B,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAA;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAO3E,2EAA2E;AAC3E,qDAAqD;AACrD,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;AAIrC;;;;;;GAMG;AACH,SAAS,cAAc;IACrB,MAAM,KAAK,GAAG,UAAU,CAAC,aAAgE,CAAA;IACzF,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI;QAAE,OAAM;IACnC,MAAM,QAAQ,GAAiB,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAC7E,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAE,IAAgB,EAAqB,EAAE;QAChF,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YACvB,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC,CAAA;IACD,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,IAAa,EAAE,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,OAAO,YAAY;IAMJ;IALF,GAAG,CAAgC;IAEpD,+DAA+D;IAC/D,YACE,GAAW,EACM,UAAkB,eAAe;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAElD,cAAc,EAAE,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,MAA2B;QAE3B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAA+B,EAAE;YAC1E,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE;SACxC,CAAC,CAAiC,CAAA;QACnC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC/E,CAAC;IAED,KAAK;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
@@ -1,27 +1,26 @@
1
- import { PostgresVFSBase } from '@struktoai/mirage-core/vfs/postgres/postgres';
2
1
  import { PostgresAccessor } from '@struktoai/mirage-core/accessor/postgres';
3
2
  import type { PgDriver } from '@struktoai/mirage-core/core/postgres/_driver';
4
- import type { PostgresConfig, PostgresConfigRedacted, PostgresConfigResolved } from '@struktoai/mirage-core/vfs/postgres/config';
3
+ import type { PostgresConfig } from '@struktoai/mirage-core/vfs/postgres/config';
4
+ import { redactPostgresConfig, resolvePostgresConfig } from '@struktoai/mirage-core/vfs/postgres/config';
5
+ import { PostgresVFS as CorePostgresVFS } from '@struktoai/mirage-core/vfs/postgres/postgres';
6
+ import type { ConfigState } from '@struktoai/mirage-core/vfs/types';
5
7
  export interface PostgresVFSOptions {
6
8
  config: PostgresConfig;
7
9
  prefix?: string;
8
10
  driver?: PgDriver;
9
11
  }
10
- export interface PostgresVFSState {
11
- type: string;
12
- config: PostgresConfigRedacted;
13
- needs_override: true;
14
- }
15
- export declare class PostgresVFS extends PostgresVFSBase {
12
+ export declare class PostgresVFS extends CorePostgresVFS {
16
13
  readonly name: string;
17
14
  readonly cachesReads: boolean;
18
15
  readonly indexTtl: number;
19
- readonly prompt: string;
20
- readonly config: PostgresConfigResolved;
16
+ vfsMd: string;
17
+ readonly config: ReturnType<typeof resolvePostgresConfig>;
21
18
  readonly driver: PgDriver;
22
19
  readonly accessor: PostgresAccessor;
23
20
  constructor(options: PostgresVFSOptions | PostgresConfig);
24
- getState(): PostgresVFSState;
21
+ getState(): ConfigState<ReturnType<typeof redactPostgresConfig>> & {
22
+ needs_override: true;
23
+ };
25
24
  close(): Promise<void>;
26
25
  }
27
26
  //# sourceMappingURL=postgres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/vfs/postgres/postgres.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAE3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAA;AAM5E,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,4CAA4C,CAAA;AAMnD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,QAAQ,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,sBAAsB,CAAA;IAC9B,cAAc,EAAE,IAAI,CAAA;CACrB;AAED,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAkB,IAAI,EAAE,MAAM,CAAmB;IACjD,SAAkB,WAAW,EAAE,OAAO,CAAQ;IAC9C,SAAkB,QAAQ,EAAE,MAAM,CAAI;IACtC,SAAkB,MAAM,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,SAAkB,QAAQ,EAAE,gBAAgB,CAAA;gBAEhC,OAAO,EAAE,kBAAkB,GAAG,cAAc;IAU/C,QAAQ,IAAI,gBAAgB;IAatB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/vfs/postgres/postgres.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAA;AAE5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,WAAW,IAAI,eAAe,EAE/B,MAAM,8CAA8C,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAGnE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,QAAQ,CAAA;CAClB;AAED,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAkB,IAAI,EAAE,MAAM,CAAmB;IACjD,SAAkB,WAAW,EAAE,OAAO,CAAQ;IAC9C,SAAkB,QAAQ,EAAE,MAAM,CAAI;IAC7B,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;IACzD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,SAAkB,QAAQ,EAAE,gBAAgB,CAAA;gBAEhC,OAAO,EAAE,kBAAkB,GAAG,cAAc;IAU/C,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,GAAG;QAC1E,cAAc,EAAE,IAAI,CAAA;KACrB;IAac,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC"}
@@ -11,17 +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 { PostgresVFSBase } from '@struktoai/mirage-core/vfs/postgres/postgres';
15
14
  import { PostgresAccessor } from '@struktoai/mirage-core/accessor/postgres';
16
- import { redactPostgresConfig, resolvePostgresConfig, } from '@struktoai/mirage-core/vfs/postgres/config';
17
- import { PROMPT } from '@struktoai/mirage-core/vfs/postgres/prompt';
18
15
  import { VFSName } from '@struktoai/mirage-core/types';
16
+ import { redactPostgresConfig, resolvePostgresConfig, } from '@struktoai/mirage-core/vfs/postgres/config';
17
+ import { PostgresVFS as CorePostgresVFS, VFS_MD, } from '@struktoai/mirage-core/vfs/postgres/postgres';
19
18
  import { NeonPgDriver } from "./neon_driver.js";
20
- export class PostgresVFS extends PostgresVFSBase {
19
+ export class PostgresVFS extends CorePostgresVFS {
21
20
  name = VFSName.POSTGRES;
22
21
  cachesReads = false;
23
22
  indexTtl = 0;
24
- prompt;
23
+ vfsMd;
25
24
  config;
26
25
  driver;
27
26
  accessor;
@@ -29,9 +28,9 @@ export class PostgresVFS extends PostgresVFSBase {
29
28
  super();
30
29
  const { config, prefix, driver } = 'config' in options ? options : { config: options, prefix: undefined, driver: undefined };
31
30
  this.config = resolvePostgresConfig(config);
32
- this.driver = driver ?? new NeonPgDriver(this.config.dsn);
31
+ this.driver = driver ?? new NeonPgDriver(this.config.dsn, this.config.timeout);
33
32
  this.accessor = new PostgresAccessor(this.driver, this.config);
34
- this.prompt = PROMPT.replace('{prefix}', prefix ?? '');
33
+ this.vfsMd = prefix === undefined ? VFS_MD : VFS_MD.replace('{prefix}', prefix);
35
34
  }
36
35
  getState() {
37
36
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/vfs/postgres/postgres.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,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAI3E,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,4CAA4C,CAAA;AAMnD,OAAO,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAc/C,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC5B,IAAI,GAAW,OAAO,CAAC,QAAQ,CAAA;IAC/B,WAAW,GAAY,KAAK,CAAA;IAC5B,QAAQ,GAAW,CAAC,CAAA;IACpB,MAAM,CAAQ;IACvB,MAAM,CAAwB;IAC9B,MAAM,CAAU;IACP,QAAQ,CAAkB;IAE5C,YAAY,OAA4C;QACtD,KAAK,EAAE,CAAA;QACP,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAC9B,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;QAC3F,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IAEQ,QAAQ;QACf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;YACzC,8DAA8D;YAC9D,4DAA4D;YAC5D,8DAA8D;YAC9D,kEAAkE;YAClE,wDAAwD;YACxD,cAAc,EAAE,IAAI;SACrB,CAAA;IACH,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACzB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/vfs/postgres/postgres.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,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAEtD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,MAAM,GACP,MAAM,8CAA8C,CAAA;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAQ/C,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC5B,IAAI,GAAW,OAAO,CAAC,QAAQ,CAAA;IAC/B,WAAW,GAAY,KAAK,CAAA;IAC5B,QAAQ,GAAW,CAAC,CAAA;IAC7B,KAAK,CAAQ;IACb,MAAM,CAA0C;IAChD,MAAM,CAAU;IACP,QAAQ,CAAkB;IAE5C,YAAY,OAA4C;QACtD,KAAK,EAAE,CAAA;QACP,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAC9B,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;QAC3F,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9E,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,CAAC,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACjF,CAAC;IAEQ,QAAQ;QAGf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;YACzC,8DAA8D;YAC9D,4DAA4D;YAC5D,8DAA8D;YAC9D,kEAAkE;YAClE,wDAAwD;YACxD,cAAc,EAAE,IAAI;SACrB,CAAA;IACH,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACzB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF"}
@@ -1,17 +1,28 @@
1
- import type { ConfigOf, RedactedConfig } from '@struktoai/mirage-core/vfs/secrets';
2
- declare const QingStorConfigSchema: import("zod").ZodObject<{
1
+ import type { ConfigOf } from '@struktoai/mirage-core/vfs/secrets';
2
+ export declare const QingStorConfig: 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 QingStorConfig = ConfigOf<typeof QingStorConfigSchema>;
11
- export type QingStorConfigRedacted = RedactedConfig<QingStorConfig, 'presignedUrlProvider'>;
12
- export declare const resolvedQingStorEndpoint: (config: QingStorConfig) => string | undefined;
13
- export declare const qingStorToS3Config: (config: QingStorConfig) => import("@struktoai/mirage-core/vfs/s3/config").S3Config;
14
- export declare const redactQingStorConfig: (config: QingStorConfig) => QingStorConfigRedacted;
15
- export declare const normalizeQingStorConfig: (input: Record<string, unknown>) => QingStorConfig;
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 QingStorConfig = ConfigOf<typeof QingStorConfig>;
17
28
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/vfs/qingstor/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/qingstor/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 QingStorConfigSchema = browserAliasSchema({});
16
- const alias = makeBrowserS3Alias({
17
- schema: QingStorConfigSchema,
15
+ export const QingStorConfig = makeBrowserS3Alias({
16
+ schema: browserAliasSchema({}),
18
17
  endpointFor: derivedEndpoint('region', (region) => `https://s3.${region}.qingstor.com`),
19
18
  });
20
- export const resolvedQingStorEndpoint = alias.resolvedEndpoint;
21
- export const qingStorToS3Config = alias.toS3Config;
22
- export const redactQingStorConfig = alias.redact;
23
- export const normalizeQingStorConfig = alias.normalize;
24
19
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/vfs/qingstor/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,eAAe,CAAC;CACxF,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/qingstor/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,eAAe,CAAC;CACxF,CAAC,CAAA"}
@@ -1,8 +1,7 @@
1
- import { S3AliasVFS, type S3AliasVFSState } from '../s3_alias.ts';
2
- import { type QingStorConfig, type QingStorConfigRedacted } from './config.ts';
3
- export type QingStorVFSState = S3AliasVFSState<QingStorConfigRedacted>;
4
- export declare class QingStorVFS extends S3AliasVFS<QingStorConfig, QingStorConfigRedacted> {
5
- readonly prompt: string;
1
+ import type { RedactedSchema } from '@struktoai/mirage-core/vfs/secrets';
2
+ import { S3AliasVFS } from '../s3_alias.ts';
3
+ import { QingStorConfig } from './config.ts';
4
+ export declare class QingStorVFS extends S3AliasVFS<QingStorConfig, RedactedSchema<typeof QingStorConfig>> {
6
5
  constructor(config: QingStorConfig);
7
6
  }
8
7
  //# sourceMappingURL=qingstor.d.ts.map