@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.
- package/README.md +140 -46
- package/dist/core/opfs/append.d.ts +1 -2
- package/dist/core/opfs/append.d.ts.map +1 -1
- package/dist/core/opfs/append.js +2 -5
- package/dist/core/opfs/append.js.map +1 -1
- package/dist/core/opfs/capacity.d.ts +8 -0
- package/dist/core/opfs/capacity.d.ts.map +1 -0
- package/dist/core/opfs/capacity.js +42 -0
- package/dist/core/opfs/capacity.js.map +1 -0
- package/dist/core/opfs/stream.d.ts.map +1 -1
- package/dist/core/opfs/stream.js +2 -0
- package/dist/core/opfs/stream.js.map +1 -1
- package/dist/core/opfs/write.d.ts +1 -2
- package/dist/core/opfs/write.d.ts.map +1 -1
- package/dist/core/opfs/write.js +2 -5
- package/dist/core/opfs/write.js.map +1 -1
- package/dist/index.d.ts +79 -99
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -91
- package/dist/index.js.map +1 -1
- package/dist/io/gateway.d.ts +8 -0
- package/dist/io/gateway.d.ts.map +1 -0
- package/dist/io/gateway.js +238 -0
- package/dist/io/gateway.js.map +1 -0
- package/dist/io/network.d.ts +21 -0
- package/dist/io/network.d.ts.map +1 -0
- package/dist/io/network.js +131 -0
- package/dist/io/network.js.map +1 -0
- package/dist/io/spool.d.ts +2 -0
- package/dist/io/spool.d.ts.map +1 -0
- package/dist/io/spool.js +68 -0
- package/dist/io/spool.js.map +1 -0
- package/dist/vfs/aliyun/aliyun.d.ts +4 -5
- package/dist/vfs/aliyun/aliyun.d.ts.map +1 -1
- package/dist/vfs/aliyun/aliyun.js +2 -4
- package/dist/vfs/aliyun/aliyun.js.map +1 -1
- package/dist/vfs/aliyun/config.d.ts +22 -11
- package/dist/vfs/aliyun/config.d.ts.map +1 -1
- package/dist/vfs/aliyun/config.js +2 -7
- package/dist/vfs/aliyun/config.js.map +1 -1
- package/dist/vfs/backblaze/backblaze.d.ts +4 -5
- package/dist/vfs/backblaze/backblaze.d.ts.map +1 -1
- package/dist/vfs/backblaze/backblaze.js +2 -4
- package/dist/vfs/backblaze/backblaze.js.map +1 -1
- package/dist/vfs/backblaze/config.d.ts +22 -11
- package/dist/vfs/backblaze/config.d.ts.map +1 -1
- package/dist/vfs/backblaze/config.js +2 -7
- package/dist/vfs/backblaze/config.js.map +1 -1
- package/dist/vfs/ceph/ceph.d.ts +4 -5
- package/dist/vfs/ceph/ceph.d.ts.map +1 -1
- package/dist/vfs/ceph/ceph.js +2 -4
- package/dist/vfs/ceph/ceph.js.map +1 -1
- package/dist/vfs/ceph/config.d.ts +22 -10
- package/dist/vfs/ceph/config.d.ts.map +1 -1
- package/dist/vfs/ceph/config.js +1 -7
- package/dist/vfs/ceph/config.js.map +1 -1
- package/dist/vfs/digitalocean/config.d.ts +22 -11
- package/dist/vfs/digitalocean/config.d.ts.map +1 -1
- package/dist/vfs/digitalocean/config.js +2 -7
- package/dist/vfs/digitalocean/config.js.map +1 -1
- package/dist/vfs/digitalocean/digitalocean.d.ts +4 -5
- package/dist/vfs/digitalocean/digitalocean.d.ts.map +1 -1
- package/dist/vfs/digitalocean/digitalocean.js +2 -4
- package/dist/vfs/digitalocean/digitalocean.js.map +1 -1
- package/dist/vfs/discord/config.d.ts +5 -14
- package/dist/vfs/discord/config.d.ts.map +1 -1
- package/dist/vfs/discord/config.js +11 -18
- package/dist/vfs/discord/config.js.map +1 -1
- package/dist/vfs/discord/discord.d.ts +7 -10
- package/dist/vfs/discord/discord.d.ts.map +1 -1
- package/dist/vfs/discord/discord.js +7 -11
- package/dist/vfs/discord/discord.js.map +1 -1
- package/dist/vfs/gcs/config.d.ts +34 -15
- package/dist/vfs/gcs/config.d.ts.map +1 -1
- package/dist/vfs/gcs/config.js +12 -6
- package/dist/vfs/gcs/config.js.map +1 -1
- package/dist/vfs/gcs/gcs.d.ts +4 -5
- package/dist/vfs/gcs/gcs.d.ts.map +1 -1
- package/dist/vfs/gcs/gcs.js +2 -4
- package/dist/vfs/gcs/gcs.js.map +1 -1
- package/dist/vfs/minio/config.d.ts +22 -10
- package/dist/vfs/minio/config.d.ts.map +1 -1
- package/dist/vfs/minio/config.js +1 -7
- package/dist/vfs/minio/config.js.map +1 -1
- package/dist/vfs/minio/minio.d.ts +4 -5
- package/dist/vfs/minio/minio.d.ts.map +1 -1
- package/dist/vfs/minio/minio.js +2 -4
- package/dist/vfs/minio/minio.js.map +1 -1
- package/dist/vfs/mongodb/http_driver.d.ts +2 -0
- package/dist/vfs/mongodb/http_driver.d.ts.map +1 -1
- package/dist/vfs/mongodb/http_driver.js +2 -1
- package/dist/vfs/mongodb/http_driver.js.map +1 -1
- package/dist/vfs/mongodb/mongodb.d.ts +10 -11
- package/dist/vfs/mongodb/mongodb.d.ts.map +1 -1
- package/dist/vfs/mongodb/mongodb.js +8 -7
- package/dist/vfs/mongodb/mongodb.js.map +1 -1
- package/dist/vfs/notion/config.d.ts +4 -15
- package/dist/vfs/notion/config.d.ts.map +1 -1
- package/dist/vfs/notion/config.js +7 -17
- package/dist/vfs/notion/config.js.map +1 -1
- package/dist/vfs/notion/notion.d.ts +7 -10
- package/dist/vfs/notion/notion.d.ts.map +1 -1
- package/dist/vfs/notion/notion.js +5 -10
- package/dist/vfs/notion/notion.js.map +1 -1
- package/dist/vfs/oci/config.d.ts +25 -11
- package/dist/vfs/oci/config.d.ts.map +1 -1
- package/dist/vfs/oci/config.js +7 -7
- package/dist/vfs/oci/config.js.map +1 -1
- package/dist/vfs/oci/oci.d.ts +4 -5
- package/dist/vfs/oci/oci.d.ts.map +1 -1
- package/dist/vfs/oci/oci.js +2 -4
- package/dist/vfs/oci/oci.js.map +1 -1
- package/dist/vfs/opfs/opfs.d.ts +18 -11
- package/dist/vfs/opfs/opfs.d.ts.map +1 -1
- package/dist/vfs/opfs/opfs.js +62 -38
- package/dist/vfs/opfs/opfs.js.map +1 -1
- package/dist/vfs/postgres/neon_driver.d.ts +3 -1
- package/dist/vfs/postgres/neon_driver.d.ts.map +1 -1
- package/dist/vfs/postgres/neon_driver.js +34 -3
- package/dist/vfs/postgres/neon_driver.js.map +1 -1
- package/dist/vfs/postgres/postgres.d.ts +10 -11
- package/dist/vfs/postgres/postgres.d.ts.map +1 -1
- package/dist/vfs/postgres/postgres.js +6 -7
- package/dist/vfs/postgres/postgres.js.map +1 -1
- package/dist/vfs/qingstor/config.d.ts +22 -11
- package/dist/vfs/qingstor/config.d.ts.map +1 -1
- package/dist/vfs/qingstor/config.js +2 -7
- package/dist/vfs/qingstor/config.js.map +1 -1
- package/dist/vfs/qingstor/qingstor.d.ts +4 -5
- package/dist/vfs/qingstor/qingstor.d.ts.map +1 -1
- package/dist/vfs/qingstor/qingstor.js +2 -4
- package/dist/vfs/qingstor/qingstor.js.map +1 -1
- package/dist/vfs/r2/config.d.ts +27 -11
- package/dist/vfs/r2/config.d.ts.map +1 -1
- package/dist/vfs/r2/config.js +11 -7
- package/dist/vfs/r2/config.js.map +1 -1
- package/dist/vfs/r2/r2.d.ts +4 -5
- package/dist/vfs/r2/r2.d.ts.map +1 -1
- package/dist/vfs/r2/r2.js +2 -4
- package/dist/vfs/r2/r2.js.map +1 -1
- package/dist/vfs/redis/redis.d.ts +5 -1
- package/dist/vfs/redis/redis.d.ts.map +1 -1
- package/dist/vfs/redis/redis.js +1 -1
- package/dist/vfs/redis/redis.js.map +1 -1
- package/dist/vfs/redis/store.d.ts +2 -0
- package/dist/vfs/redis/store.d.ts.map +1 -1
- package/dist/vfs/redis/store.js +24 -5
- package/dist/vfs/redis/store.js.map +1 -1
- package/dist/vfs/registry.d.ts.map +1 -1
- package/dist/vfs/registry.js +87 -85
- package/dist/vfs/registry.js.map +1 -1
- package/dist/vfs/s3/config.d.ts +17 -5
- package/dist/vfs/s3/config.d.ts.map +1 -1
- package/dist/vfs/s3/config.js +7 -7
- package/dist/vfs/s3/config.js.map +1 -1
- package/dist/vfs/s3/s3.d.ts +6 -9
- package/dist/vfs/s3/s3.d.ts.map +1 -1
- package/dist/vfs/s3/s3.js +5 -10
- package/dist/vfs/s3/s3.js.map +1 -1
- package/dist/vfs/s3_alias.d.ts +22 -32
- package/dist/vfs/s3_alias.d.ts.map +1 -1
- package/dist/vfs/s3_alias.js +35 -23
- package/dist/vfs/s3_alias.js.map +1 -1
- package/dist/vfs/scaleway/config.d.ts +22 -11
- package/dist/vfs/scaleway/config.d.ts.map +1 -1
- package/dist/vfs/scaleway/config.js +2 -7
- package/dist/vfs/scaleway/config.js.map +1 -1
- package/dist/vfs/scaleway/scaleway.d.ts +4 -5
- package/dist/vfs/scaleway/scaleway.d.ts.map +1 -1
- package/dist/vfs/scaleway/scaleway.js +2 -4
- package/dist/vfs/scaleway/scaleway.js.map +1 -1
- package/dist/vfs/seaweedfs/config.d.ts +22 -10
- package/dist/vfs/seaweedfs/config.d.ts.map +1 -1
- package/dist/vfs/seaweedfs/config.js +1 -7
- package/dist/vfs/seaweedfs/config.js.map +1 -1
- package/dist/vfs/seaweedfs/seaweedfs.d.ts +4 -5
- package/dist/vfs/seaweedfs/seaweedfs.d.ts.map +1 -1
- package/dist/vfs/seaweedfs/seaweedfs.js +2 -4
- package/dist/vfs/seaweedfs/seaweedfs.js.map +1 -1
- package/dist/vfs/slack/config.d.ts +5 -15
- package/dist/vfs/slack/config.d.ts.map +1 -1
- package/dist/vfs/slack/config.js +11 -21
- package/dist/vfs/slack/config.js.map +1 -1
- package/dist/vfs/slack/slack.d.ts +7 -10
- package/dist/vfs/slack/slack.d.ts.map +1 -1
- package/dist/vfs/slack/slack.js +7 -11
- package/dist/vfs/slack/slack.js.map +1 -1
- package/dist/vfs/supabase/config.d.ts +25 -11
- package/dist/vfs/supabase/config.d.ts.map +1 -1
- package/dist/vfs/supabase/config.js +7 -7
- package/dist/vfs/supabase/config.js.map +1 -1
- package/dist/vfs/supabase/supabase.d.ts +4 -5
- package/dist/vfs/supabase/supabase.d.ts.map +1 -1
- package/dist/vfs/supabase/supabase.js +2 -4
- package/dist/vfs/supabase/supabase.js.map +1 -1
- package/dist/vfs/tencent/config.d.ts +22 -11
- package/dist/vfs/tencent/config.d.ts.map +1 -1
- package/dist/vfs/tencent/config.js +2 -7
- package/dist/vfs/tencent/config.js.map +1 -1
- package/dist/vfs/tencent/tencent.d.ts +4 -5
- package/dist/vfs/tencent/tencent.d.ts.map +1 -1
- package/dist/vfs/tencent/tencent.js +2 -4
- package/dist/vfs/tencent/tencent.js.map +1 -1
- package/dist/vfs/wasabi/config.d.ts +32 -16
- package/dist/vfs/wasabi/config.d.ts.map +1 -1
- package/dist/vfs/wasabi/config.js +8 -7
- package/dist/vfs/wasabi/config.js.map +1 -1
- package/dist/vfs/wasabi/wasabi.d.ts +4 -5
- package/dist/vfs/wasabi/wasabi.d.ts.map +1 -1
- package/dist/vfs/wasabi/wasabi.js +2 -4
- package/dist/vfs/wasabi/wasabi.js.map +1 -1
- package/dist/workspace.d.ts +2 -3
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +10 -18
- package/dist/workspace.js.map +1 -1
- package/package.json +7 -10
- package/THIRD_PARTY_NOTICES +0 -66
- package/dist/core/opfs/constants.d.ts +0 -2
- package/dist/core/opfs/constants.d.ts.map +0 -1
- package/dist/core/opfs/constants.js +0 -15
- package/dist/core/opfs/constants.js.map +0 -1
- package/dist/generated/wasm.d.ts +0 -3
- package/dist/generated/wasm.d.ts.map +0 -1
- package/dist/generated/wasm.js +0 -7
- package/dist/generated/wasm.js.map +0 -1
- package/dist/vfs/aliyun/prompt.d.ts +0 -2
- package/dist/vfs/aliyun/prompt.d.ts.map +0 -1
- package/dist/vfs/aliyun/prompt.js +0 -19
- package/dist/vfs/aliyun/prompt.js.map +0 -1
- package/dist/vfs/backblaze/prompt.d.ts +0 -2
- package/dist/vfs/backblaze/prompt.d.ts.map +0 -1
- package/dist/vfs/backblaze/prompt.js +0 -19
- package/dist/vfs/backblaze/prompt.js.map +0 -1
- package/dist/vfs/ceph/prompt.d.ts +0 -2
- package/dist/vfs/ceph/prompt.d.ts.map +0 -1
- package/dist/vfs/ceph/prompt.js +0 -19
- package/dist/vfs/ceph/prompt.js.map +0 -1
- package/dist/vfs/digitalocean/prompt.d.ts +0 -2
- package/dist/vfs/digitalocean/prompt.d.ts.map +0 -1
- package/dist/vfs/digitalocean/prompt.js +0 -19
- package/dist/vfs/digitalocean/prompt.js.map +0 -1
- package/dist/vfs/gcs/prompt.d.ts +0 -2
- package/dist/vfs/gcs/prompt.d.ts.map +0 -1
- package/dist/vfs/gcs/prompt.js +0 -19
- package/dist/vfs/gcs/prompt.js.map +0 -1
- package/dist/vfs/minio/prompt.d.ts +0 -2
- package/dist/vfs/minio/prompt.d.ts.map +0 -1
- package/dist/vfs/minio/prompt.js +0 -19
- package/dist/vfs/minio/prompt.js.map +0 -1
- package/dist/vfs/oci/prompt.d.ts +0 -2
- package/dist/vfs/oci/prompt.d.ts.map +0 -1
- package/dist/vfs/oci/prompt.js +0 -19
- package/dist/vfs/oci/prompt.js.map +0 -1
- package/dist/vfs/opfs/prompt.d.ts +0 -2
- package/dist/vfs/opfs/prompt.d.ts.map +0 -1
- package/dist/vfs/opfs/prompt.js +0 -17
- package/dist/vfs/opfs/prompt.js.map +0 -1
- package/dist/vfs/qingstor/prompt.d.ts +0 -2
- package/dist/vfs/qingstor/prompt.d.ts.map +0 -1
- package/dist/vfs/qingstor/prompt.js +0 -19
- package/dist/vfs/qingstor/prompt.js.map +0 -1
- package/dist/vfs/r2/prompt.d.ts +0 -2
- package/dist/vfs/r2/prompt.d.ts.map +0 -1
- package/dist/vfs/r2/prompt.js +0 -19
- package/dist/vfs/r2/prompt.js.map +0 -1
- package/dist/vfs/s3/prompt.d.ts +0 -2
- package/dist/vfs/s3/prompt.d.ts.map +0 -1
- package/dist/vfs/s3/prompt.js +0 -19
- package/dist/vfs/s3/prompt.js.map +0 -1
- package/dist/vfs/scaleway/prompt.d.ts +0 -2
- package/dist/vfs/scaleway/prompt.d.ts.map +0 -1
- package/dist/vfs/scaleway/prompt.js +0 -19
- package/dist/vfs/scaleway/prompt.js.map +0 -1
- package/dist/vfs/seaweedfs/prompt.d.ts +0 -2
- package/dist/vfs/seaweedfs/prompt.d.ts.map +0 -1
- package/dist/vfs/seaweedfs/prompt.js +0 -19
- package/dist/vfs/seaweedfs/prompt.js.map +0 -1
- package/dist/vfs/supabase/prompt.d.ts +0 -2
- package/dist/vfs/supabase/prompt.d.ts.map +0 -1
- package/dist/vfs/supabase/prompt.js +0 -19
- package/dist/vfs/supabase/prompt.js.map +0 -1
- package/dist/vfs/tencent/prompt.d.ts +0 -2
- package/dist/vfs/tencent/prompt.d.ts.map +0 -1
- package/dist/vfs/tencent/prompt.js +0 -19
- package/dist/vfs/tencent/prompt.js.map +0 -1
- package/dist/vfs/wasabi/prompt.d.ts +0 -2
- package/dist/vfs/wasabi/prompt.d.ts.map +0 -1
- package/dist/vfs/wasabi/prompt.js +0 -19
- package/dist/vfs/wasabi/prompt.js.map +0 -1
package/dist/vfs/s3_alias.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import {
|
|
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 {
|
|
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
|
|
12
|
-
*
|
|
13
|
-
*
|
|
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<
|
|
72
|
-
schema:
|
|
73
|
-
endpointFor?: (config:
|
|
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<
|
|
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
|
|
89
|
-
*
|
|
90
|
-
*
|
|
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
|
|
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,
|
|
104
|
-
getState(): Promise<
|
|
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":"
|
|
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"}
|
package/dist/vfs/s3_alias.js
CHANGED
|
@@ -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 {
|
|
15
|
-
import {
|
|
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
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
92
|
-
*
|
|
93
|
-
*
|
|
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,
|
|
107
|
-
super(
|
|
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({
|
package/dist/vfs/s3_alias.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3_alias.js","sourceRoot":"","sources":["../../src/vfs/s3_alias.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,
|
|
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
|
|
2
|
-
declare const
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
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
|
|
16
|
-
|
|
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,
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export declare class ScalewayVFS extends S3AliasVFS<ScalewayConfig,
|
|
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,
|
|
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 {
|
|
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,
|
|
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;
|
|
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
|
|
2
|
-
declare const
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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,
|
|
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
|
|
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,
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export declare class SeaweedFSVFS extends S3AliasVFS<SeaweedFSConfig,
|
|
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,
|
|
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 {
|
|
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,
|
|
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;
|
|
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
|
|
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
|
|
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":"
|
|
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"}
|
package/dist/vfs/slack/config.js
CHANGED
|
@@ -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 {
|
|
15
|
-
import {
|
|
16
|
-
|
|
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
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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,
|
|
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
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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<
|
|
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,
|
|
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"}
|