@maravilla-labs/adapter-core 4.0.0 → 4.1.0
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/dist/config-loader.d.ts +19 -1
- package/dist/config-loader.d.ts.map +1 -1
- package/dist/config-loader.js +418 -0
- package/dist/config-loader.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +4 -1
- package/dist/manifest.js.map +1 -1
- package/dist/types.d.ts +247 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/config-loader.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuthConfigBlock, DatabaseConfigBlock, DocumentIndexDeclaration, StudioConfigBlock } from './types.js';
|
|
1
|
+
import type { AuthConfigBlock, DatabaseConfigBlock, DocumentIndexDeclaration, StudioConfigBlock, RealtimeConfigBlock, SecurityConfigBlock, ProxyConfigBlock } from './types.js';
|
|
2
2
|
import type { TransformsConfig } from './transforms/index.js';
|
|
3
3
|
export interface MaravillaConfig {
|
|
4
4
|
auth?: AuthConfigBlock;
|
|
@@ -17,6 +17,23 @@ export interface MaravillaConfig {
|
|
|
17
17
|
* `crates/dev-server/src/config_loader.rs`'s `StudioConfig`.
|
|
18
18
|
*/
|
|
19
19
|
studio?: StudioConfigBlock;
|
|
20
|
+
/**
|
|
21
|
+
* Realtime settings — today which channels keep a replayable message history.
|
|
22
|
+
* Mirrors `RealtimeConfigBlock` in `packages/platform/src/config.ts`.
|
|
23
|
+
*/
|
|
24
|
+
realtime?: RealtimeConfigBlock;
|
|
25
|
+
/**
|
|
26
|
+
* Security settings — today the extra origins allowed to frame this site.
|
|
27
|
+
* Mirrors `SecurityConfigBlock` in `packages/adapter-core/src/types.ts`.
|
|
28
|
+
*/
|
|
29
|
+
security?: SecurityConfigBlock;
|
|
30
|
+
/**
|
|
31
|
+
* Reverse-proxy mounts — paths served by forwarding to an external origin.
|
|
32
|
+
* Mirrors `ProxyConfigBlock` in `packages/adapter-core/src/types.ts` and the
|
|
33
|
+
* Rust `ProxyManifest` in
|
|
34
|
+
* `crates/server-integration/src/manifest/proxy.rs`.
|
|
35
|
+
*/
|
|
36
|
+
proxy?: ProxyConfigBlock;
|
|
20
37
|
}
|
|
21
38
|
export interface OAuthProviderDefinition {
|
|
22
39
|
enabled: boolean;
|
|
@@ -47,4 +64,5 @@ export declare class ConfigError extends Error {
|
|
|
47
64
|
export declare function loadMaravillaConfig(projectRoot: string): Promise<LoadResult>;
|
|
48
65
|
export declare function normalizeDocumentIndex(raw: unknown, file: string, path: string): DocumentIndexDeclaration;
|
|
49
66
|
export type { AuthConfigBlock, DatabaseConfigBlock, DocumentIndexDeclaration, VectorIndexDeclaration, } from './types.js';
|
|
67
|
+
export declare function normalizeProxy(raw: unknown, file: string, field: string): ProxyConfigBlock;
|
|
50
68
|
//# sourceMappingURL=config-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAKjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAe9D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AACD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAWjD,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,MAAM,EAAE,eAAe,CAAC;IACxB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,WAAY,SAAQ,KAAK;aAGlB,IAAI,EAAE,MAAM,GAAG,IAAI;aACnB,KAAK,CAAC,EAAE,MAAM;gBAF9B,OAAO,EAAE,MAAM,EACC,IAAI,GAAE,MAAM,GAAG,IAAW,EAC1B,KAAK,CAAC,EAAE,MAAM,YAAA;CASjC;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAkBlF;AAoQD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,wBAAwB,CAkC1B;AA8ND,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AA8WpB,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAqB1F"}
|
package/dist/config-loader.js
CHANGED
|
@@ -162,6 +162,94 @@ function normalize(raw, file) {
|
|
|
162
162
|
if (src.studio !== undefined) {
|
|
163
163
|
out.studio = normalizeStudio(src.studio, file, 'studio');
|
|
164
164
|
}
|
|
165
|
+
if (src.realtime !== undefined) {
|
|
166
|
+
out.realtime = normalizeRealtime(src.realtime, file, 'realtime');
|
|
167
|
+
}
|
|
168
|
+
if (src.security !== undefined) {
|
|
169
|
+
out.security = normalizeSecurity(src.security, file, 'security');
|
|
170
|
+
}
|
|
171
|
+
if (src.proxy !== undefined) {
|
|
172
|
+
out.proxy = normalizeProxy(src.proxy, file, 'proxy');
|
|
173
|
+
}
|
|
174
|
+
return out;
|
|
175
|
+
}
|
|
176
|
+
// ── Security normalization ──
|
|
177
|
+
//
|
|
178
|
+
// Validated here rather than passed through, because a malformed source is
|
|
179
|
+
// silent at every later layer: the manifest carries it, delivery unions it into
|
|
180
|
+
// the CSP, and the browser drops the whole `frame-ancestors` directive it
|
|
181
|
+
// cannot parse — which reads as "the platform ignored my setting", not as a
|
|
182
|
+
// typo. A path, a port-less scheme mismatch or a bare `*` are the common ones.
|
|
183
|
+
/**
|
|
184
|
+
* A CSP `frame-ancestors` source we accept: `'self'`, `'none'`, or an
|
|
185
|
+
* http(s) origin with an optional single leading `*.` label and no path.
|
|
186
|
+
* A bare `*` is rejected on purpose — it is almost never what the author
|
|
187
|
+
* means, and it cannot be narrowed later without breaking whoever relied on it.
|
|
188
|
+
*/
|
|
189
|
+
function validateFrameAncestor(value, file, field) {
|
|
190
|
+
if (value === "'self'" || value === "'none'")
|
|
191
|
+
return value;
|
|
192
|
+
if (!/^https?:\/\//.test(value)) {
|
|
193
|
+
throw new ConfigError(`${field} must be 'self', 'none', or an https:// origin (got ${JSON.stringify(value)})`, file);
|
|
194
|
+
}
|
|
195
|
+
const rest = value.replace(/^https?:\/\//, '');
|
|
196
|
+
if (rest.includes('/')) {
|
|
197
|
+
throw new ConfigError(`${field} must be an origin with no path (got ${JSON.stringify(value)})`, file);
|
|
198
|
+
}
|
|
199
|
+
const host = rest.split(':')[0];
|
|
200
|
+
if (host === '*' || host.length === 0) {
|
|
201
|
+
throw new ConfigError(`${field} must name a host, not a bare wildcard`, file);
|
|
202
|
+
}
|
|
203
|
+
const labels = host.startsWith('*.') ? host.slice(2) : host;
|
|
204
|
+
if (labels.includes('*')) {
|
|
205
|
+
throw new ConfigError(`${field} allows at most one leading '*.' label (got ${JSON.stringify(value)})`, file);
|
|
206
|
+
}
|
|
207
|
+
return value;
|
|
208
|
+
}
|
|
209
|
+
function normalizeSecurity(raw, file, field) {
|
|
210
|
+
const obj = expectObject(raw, file, field);
|
|
211
|
+
const out = {};
|
|
212
|
+
if (obj.frameAncestors !== undefined) {
|
|
213
|
+
if (!Array.isArray(obj.frameAncestors)) {
|
|
214
|
+
throw new ConfigError(`${field}.frameAncestors must be an array of origins`, file);
|
|
215
|
+
}
|
|
216
|
+
out.frameAncestors = obj.frameAncestors.map((v, i) => {
|
|
217
|
+
if (typeof v !== 'string' || v.length === 0) {
|
|
218
|
+
throw new ConfigError(`${field}.frameAncestors[${i}] must be a non-empty string`, file);
|
|
219
|
+
}
|
|
220
|
+
return validateFrameAncestor(v, file, `${field}.frameAncestors[${i}]`);
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
return out;
|
|
224
|
+
}
|
|
225
|
+
// ── Realtime normalization ──
|
|
226
|
+
//
|
|
227
|
+
// Validated here rather than passed through, because a typo in `channels` is
|
|
228
|
+
// silent at every later layer: the manifest carries it, registration accepts it,
|
|
229
|
+
// and the only symptom is a replay that returns nothing.
|
|
230
|
+
function normalizeRealtime(raw, file, field) {
|
|
231
|
+
const obj = expectObject(raw, file, field);
|
|
232
|
+
const out = {};
|
|
233
|
+
if (obj.history !== undefined) {
|
|
234
|
+
const h = expectObject(obj.history, file, `${field}.history`);
|
|
235
|
+
if (!Array.isArray(h.channels)) {
|
|
236
|
+
throw new ConfigError(`${field}.history.channels must be an array of channel patterns`, file);
|
|
237
|
+
}
|
|
238
|
+
const channels = h.channels.map((c, i) => {
|
|
239
|
+
if (typeof c !== 'string' || c.length === 0) {
|
|
240
|
+
throw new ConfigError(`${field}.history.channels[${i}] must be a non-empty string`, file);
|
|
241
|
+
}
|
|
242
|
+
return c;
|
|
243
|
+
});
|
|
244
|
+
const history = { channels };
|
|
245
|
+
if (h.maxMessages !== undefined) {
|
|
246
|
+
if (typeof h.maxMessages !== 'number' || !Number.isFinite(h.maxMessages) || h.maxMessages < 0) {
|
|
247
|
+
throw new ConfigError(`${field}.history.maxMessages must be a non-negative number`, file);
|
|
248
|
+
}
|
|
249
|
+
history.maxMessages = h.maxMessages;
|
|
250
|
+
}
|
|
251
|
+
out.history = history;
|
|
252
|
+
}
|
|
165
253
|
return out;
|
|
166
254
|
}
|
|
167
255
|
// ── Studio normalization ──
|
|
@@ -416,4 +504,334 @@ function errMsg(e) {
|
|
|
416
504
|
return e.message;
|
|
417
505
|
return String(e);
|
|
418
506
|
}
|
|
507
|
+
// ── Proxy normalization ──
|
|
508
|
+
//
|
|
509
|
+
// A proxy mount is the one config block that can reach OUT of the platform, so
|
|
510
|
+
// it is validated hardest and at build time: a bad target here is not a broken
|
|
511
|
+
// page, it is a request the platform makes on the author's behalf. Two classes
|
|
512
|
+
// of mistake are caught rather than deployed:
|
|
513
|
+
//
|
|
514
|
+
// * a target naming a private or loopback address, which would turn a
|
|
515
|
+
// tenant-authored config into a request-forgery primitive against the
|
|
516
|
+
// platform's own internal APIs (delivery's `/_internal/*` listens on
|
|
517
|
+
// loopback). Delivery re-checks this at request time — including what the
|
|
518
|
+
// hostname actually resolves to — but a config that can never work should
|
|
519
|
+
// fail the build, not each request.
|
|
520
|
+
// * a mount that shadows a platform path (`/_auth/*`, `/_assets/*`, …), which
|
|
521
|
+
// would silently break login, assets or realtime for the whole site.
|
|
522
|
+
/**
|
|
523
|
+
* Path prefixes delivery owns. A mount may not claim any of them: the site's
|
|
524
|
+
* own login pages, asset serving, realtime sockets and health endpoints all
|
|
525
|
+
* live here, and a mount that swallowed one would break the site in a way whose
|
|
526
|
+
* cause is invisible from the app's own code.
|
|
527
|
+
*/
|
|
528
|
+
const RESERVED_PROXY_PREFIXES = [
|
|
529
|
+
'/_assets', '/_auth', '/_rt', '/_push', '/_internal', '/_mcp', '/_queue',
|
|
530
|
+
'/health', '/stats', '/metrics', '/.well-known',
|
|
531
|
+
];
|
|
532
|
+
/** Methods we will forward. Anything else is a config error, not a 405 at runtime. */
|
|
533
|
+
const PROXY_METHODS = new Set([
|
|
534
|
+
'GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS',
|
|
535
|
+
]);
|
|
536
|
+
/**
|
|
537
|
+
* Headers a mount may not set on the upstream request or on our response.
|
|
538
|
+
* These are either connection-scoped (the HTTP client owns them) or the
|
|
539
|
+
* proxy's own bookkeeping, and letting config forge them makes the hop
|
|
540
|
+
* unreadable — an upstream trusting `X-Forwarded-For` would trust whatever the
|
|
541
|
+
* config said instead of the real client.
|
|
542
|
+
*/
|
|
543
|
+
const PROXY_FORBIDDEN_HEADERS = new Set([
|
|
544
|
+
'host', 'connection', 'keep-alive', 'transfer-encoding', 'upgrade', 'te',
|
|
545
|
+
'trailer', 'proxy-authorization', 'proxy-authenticate', 'content-length',
|
|
546
|
+
'x-forwarded-for', 'x-forwarded-proto', 'x-forwarded-host',
|
|
547
|
+
]);
|
|
548
|
+
/**
|
|
549
|
+
* Reject a target that names the platform's own network. Literal-IP checks
|
|
550
|
+
* cover the direct attempt; the hostname list covers the obvious names. A
|
|
551
|
+
* hostname that *resolves* into private space is caught by delivery at request
|
|
552
|
+
* time — that check cannot be done honestly here, since the build machine's
|
|
553
|
+
* DNS is not the server's.
|
|
554
|
+
*/
|
|
555
|
+
function isPrivateHost(host) {
|
|
556
|
+
const h = host.toLowerCase();
|
|
557
|
+
if (h === 'localhost' || h.endsWith('.localhost') || h.endsWith('.local') || h.endsWith('.internal')) {
|
|
558
|
+
return true;
|
|
559
|
+
}
|
|
560
|
+
// IPv6 literal, as it appears in a URL: [::1]
|
|
561
|
+
if (h.startsWith('[')) {
|
|
562
|
+
const inner = h.slice(1, h.endsWith(']') ? -1 : undefined);
|
|
563
|
+
if (inner === '::1' || inner === '::')
|
|
564
|
+
return true;
|
|
565
|
+
// fc00::/7 (unique-local) and fe80::/10 (link-local)
|
|
566
|
+
if (/^f[cd][0-9a-f]{2}:/.test(inner) || /^fe[89ab][0-9a-f]:/.test(inner))
|
|
567
|
+
return true;
|
|
568
|
+
return false;
|
|
569
|
+
}
|
|
570
|
+
const v4 = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(h);
|
|
571
|
+
if (!v4)
|
|
572
|
+
return false;
|
|
573
|
+
const [a, b] = [Number(v4[1]), Number(v4[2])];
|
|
574
|
+
if (a === 127 || a === 0 || a === 10)
|
|
575
|
+
return true;
|
|
576
|
+
if (a === 172 && b >= 16 && b <= 31)
|
|
577
|
+
return true;
|
|
578
|
+
if (a === 192 && b === 168)
|
|
579
|
+
return true;
|
|
580
|
+
if (a === 169 && b === 254)
|
|
581
|
+
return true; // link-local, incl. cloud metadata
|
|
582
|
+
if (a === 100 && b >= 64 && b <= 127)
|
|
583
|
+
return true; // CGNAT
|
|
584
|
+
return false;
|
|
585
|
+
}
|
|
586
|
+
function normalizeProxyTarget(raw, file, field) {
|
|
587
|
+
if (typeof raw !== 'string' || raw.length === 0) {
|
|
588
|
+
throw new ConfigError(`${field} must be a non-empty http(s) URL`, file);
|
|
589
|
+
}
|
|
590
|
+
let url;
|
|
591
|
+
try {
|
|
592
|
+
url = new URL(raw);
|
|
593
|
+
}
|
|
594
|
+
catch {
|
|
595
|
+
throw new ConfigError(`${field} must be an absolute URL (got ${JSON.stringify(raw)})`, file);
|
|
596
|
+
}
|
|
597
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
598
|
+
throw new ConfigError(`${field} must use http:// or https:// (got ${url.protocol})`, file);
|
|
599
|
+
}
|
|
600
|
+
if (url.search || url.hash) {
|
|
601
|
+
throw new ConfigError(`${field} must not carry a query string or fragment — the visitor's own query is forwarded`, file);
|
|
602
|
+
}
|
|
603
|
+
if (url.username || url.password) {
|
|
604
|
+
throw new ConfigError(`${field} must not embed credentials — use requestHeaders for an upstream secret`, file);
|
|
605
|
+
}
|
|
606
|
+
if (isPrivateHost(url.hostname)) {
|
|
607
|
+
throw new ConfigError(`${field} names a private or loopback address (${url.hostname}); a proxy target must be a public origin`, file);
|
|
608
|
+
}
|
|
609
|
+
// Normalize: keep an explicit base path, drop the trailing slash so joining
|
|
610
|
+
// is unambiguous later (`/site` + `/cart`, never `/site//cart`).
|
|
611
|
+
const basePath = url.pathname.replace(/\/+$/, '');
|
|
612
|
+
return `${url.protocol}//${url.host}${basePath}`;
|
|
613
|
+
}
|
|
614
|
+
function normalizeProxyPath(raw, file, field) {
|
|
615
|
+
if (typeof raw !== 'string' || raw.length === 0) {
|
|
616
|
+
throw new ConfigError(`${field} must be a non-empty path`, file);
|
|
617
|
+
}
|
|
618
|
+
if (!raw.startsWith('/')) {
|
|
619
|
+
throw new ConfigError(`${field} must start with '/' (got ${JSON.stringify(raw)})`, file);
|
|
620
|
+
}
|
|
621
|
+
if (raw.includes('?') || raw.includes('#')) {
|
|
622
|
+
throw new ConfigError(`${field} must be a path with no query or fragment`, file);
|
|
623
|
+
}
|
|
624
|
+
const star = raw.indexOf('*');
|
|
625
|
+
if (star !== -1 && !raw.endsWith('/*')) {
|
|
626
|
+
throw new ConfigError(`${field} may only use a trailing '/*' wildcard (got ${JSON.stringify(raw)})`, file);
|
|
627
|
+
}
|
|
628
|
+
const mount = raw.endsWith('/*') ? raw.slice(0, -2) : raw.replace(/\/+$/, '');
|
|
629
|
+
if (mount === '') {
|
|
630
|
+
// '/*' — the whole site. Legal, but then nothing of ours is left to serve.
|
|
631
|
+
throw new ConfigError(`${field} may not mount the whole site ('/*') — proxy the sections that live elsewhere`, file);
|
|
632
|
+
}
|
|
633
|
+
const lower = mount.toLowerCase();
|
|
634
|
+
for (const reserved of RESERVED_PROXY_PREFIXES) {
|
|
635
|
+
if (lower === reserved || lower.startsWith(`${reserved}/`)) {
|
|
636
|
+
throw new ConfigError(`${field} may not claim ${reserved} — that path belongs to the platform`, file);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
return raw;
|
|
640
|
+
}
|
|
641
|
+
function normalizeProxyHeaders(raw, file, field) {
|
|
642
|
+
const obj = expectObject(raw, file, field);
|
|
643
|
+
const out = {};
|
|
644
|
+
for (const [name, value] of Object.entries(obj)) {
|
|
645
|
+
const lower = name.toLowerCase();
|
|
646
|
+
if (!/^[!#$%&'*+\-.^_`|~0-9a-z]+$/.test(lower)) {
|
|
647
|
+
throw new ConfigError(`${field}: ${JSON.stringify(name)} is not a valid header name`, file);
|
|
648
|
+
}
|
|
649
|
+
if (PROXY_FORBIDDEN_HEADERS.has(lower)) {
|
|
650
|
+
throw new ConfigError(`${field}: ${name} is set by the proxy itself and cannot be overridden`, file);
|
|
651
|
+
}
|
|
652
|
+
if (typeof value !== 'string') {
|
|
653
|
+
throw new ConfigError(`${field}.${name} must be a string`, file);
|
|
654
|
+
}
|
|
655
|
+
if (/[\r\n]/.test(value)) {
|
|
656
|
+
throw new ConfigError(`${field}.${name} must not contain a newline`, file);
|
|
657
|
+
}
|
|
658
|
+
out[lower] = value;
|
|
659
|
+
}
|
|
660
|
+
return out;
|
|
661
|
+
}
|
|
662
|
+
function expectPositiveInt(raw, file, field, max) {
|
|
663
|
+
if (typeof raw !== 'number' || !Number.isFinite(raw) || raw < 0 || !Number.isInteger(raw)) {
|
|
664
|
+
throw new ConfigError(`${field} must be a non-negative whole number`, file);
|
|
665
|
+
}
|
|
666
|
+
if (max !== undefined && raw > max) {
|
|
667
|
+
throw new ConfigError(`${field} must be at most ${max}`, file);
|
|
668
|
+
}
|
|
669
|
+
return raw;
|
|
670
|
+
}
|
|
671
|
+
function normalizeStringArray(raw, file, field) {
|
|
672
|
+
const arr = expectArray(raw, file, field);
|
|
673
|
+
return arr.map((v, i) => {
|
|
674
|
+
if (typeof v !== 'string' || v.length === 0) {
|
|
675
|
+
throw new ConfigError(`${field}[${i}] must be a non-empty string`, file);
|
|
676
|
+
}
|
|
677
|
+
return v;
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Validate a list of path patterns — the grammar shared by `blockPaths` and
|
|
682
|
+
* `cache.bypassPaths`. Kept as one function so the two can never drift apart:
|
|
683
|
+
* an author who learns the grammar in one field should not find it means
|
|
684
|
+
* something else in the other.
|
|
685
|
+
*/
|
|
686
|
+
function normalizePathPatterns(raw, file, field) {
|
|
687
|
+
return normalizeStringArray(raw, file, field).map((p, i) => {
|
|
688
|
+
if (!p.startsWith('/')) {
|
|
689
|
+
throw new ConfigError(`${field}[${i}] must start with '/' (got ${JSON.stringify(p)})`, file);
|
|
690
|
+
}
|
|
691
|
+
const star = p.indexOf('*');
|
|
692
|
+
if (star !== -1 && star !== p.length - 1) {
|
|
693
|
+
throw new ConfigError(`${field}[${i}] may only use a trailing '*' (got ${JSON.stringify(p)})`, file);
|
|
694
|
+
}
|
|
695
|
+
return p;
|
|
696
|
+
});
|
|
697
|
+
}
|
|
698
|
+
function normalizeProxyCache(raw, file, field) {
|
|
699
|
+
const obj = expectObject(raw, file, field);
|
|
700
|
+
const out = {};
|
|
701
|
+
if (obj.ttl !== undefined)
|
|
702
|
+
out.ttl = expectPositiveInt(obj.ttl, file, `${field}.ttl`, 31536000);
|
|
703
|
+
if (obj.staleWhileRevalidate !== undefined) {
|
|
704
|
+
out.staleWhileRevalidate = expectPositiveInt(obj.staleWhileRevalidate, file, `${field}.staleWhileRevalidate`, 31536000);
|
|
705
|
+
}
|
|
706
|
+
if (obj.methods !== undefined) {
|
|
707
|
+
out.methods = normalizeStringArray(obj.methods, file, `${field}.methods`).map((m) => {
|
|
708
|
+
const upper = m.toUpperCase();
|
|
709
|
+
if (upper !== 'GET' && upper !== 'HEAD') {
|
|
710
|
+
throw new ConfigError(`${field}.methods may only contain GET or HEAD — caching a ${upper} would serve one visitor's write to the next`, file);
|
|
711
|
+
}
|
|
712
|
+
return upper;
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
if (obj.ignoreUpstreamCacheControl !== undefined) {
|
|
716
|
+
if (typeof obj.ignoreUpstreamCacheControl !== 'boolean') {
|
|
717
|
+
throw new ConfigError(`${field}.ignoreUpstreamCacheControl must be a boolean`, file);
|
|
718
|
+
}
|
|
719
|
+
out.ignoreUpstreamCacheControl = obj.ignoreUpstreamCacheControl;
|
|
720
|
+
}
|
|
721
|
+
if (obj.varyHeaders !== undefined) {
|
|
722
|
+
out.varyHeaders = normalizeStringArray(obj.varyHeaders, file, `${field}.varyHeaders`)
|
|
723
|
+
.map((h) => h.toLowerCase());
|
|
724
|
+
}
|
|
725
|
+
if (obj.bypassPaths !== undefined) {
|
|
726
|
+
out.bypassPaths = normalizePathPatterns(obj.bypassPaths, file, `${field}.bypassPaths`);
|
|
727
|
+
}
|
|
728
|
+
if (obj.bypassCookies !== undefined) {
|
|
729
|
+
if (typeof obj.bypassCookies !== 'boolean') {
|
|
730
|
+
throw new ConfigError(`${field}.bypassCookies must be a boolean`, file);
|
|
731
|
+
}
|
|
732
|
+
out.bypassCookies = obj.bypassCookies;
|
|
733
|
+
}
|
|
734
|
+
if (obj.maxBodyBytes !== undefined) {
|
|
735
|
+
out.maxBodyBytes = expectPositiveInt(obj.maxBodyBytes, file, `${field}.maxBodyBytes`, 33554432);
|
|
736
|
+
}
|
|
737
|
+
return out;
|
|
738
|
+
}
|
|
739
|
+
function normalizeProxyRewrite(raw, file, field) {
|
|
740
|
+
const obj = expectObject(raw, file, field);
|
|
741
|
+
const out = {};
|
|
742
|
+
if (obj.links !== undefined) {
|
|
743
|
+
if (typeof obj.links !== 'boolean') {
|
|
744
|
+
throw new ConfigError(`${field}.links must be a boolean`, file);
|
|
745
|
+
}
|
|
746
|
+
out.links = obj.links;
|
|
747
|
+
}
|
|
748
|
+
if (obj.hosts !== undefined) {
|
|
749
|
+
out.hosts = normalizeStringArray(obj.hosts, file, `${field}.hosts`).map((h, i) => {
|
|
750
|
+
const host = h.toLowerCase();
|
|
751
|
+
if (host.includes('/') || host.includes(':')) {
|
|
752
|
+
throw new ConfigError(`${field}.hosts[${i}] must be a bare hostname, no scheme, port or path (got ${JSON.stringify(h)})`, file);
|
|
753
|
+
}
|
|
754
|
+
return host;
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
if (obj.contentTypes !== undefined) {
|
|
758
|
+
out.contentTypes = normalizeStringArray(obj.contentTypes, file, `${field}.contentTypes`)
|
|
759
|
+
.map((t) => t.toLowerCase());
|
|
760
|
+
}
|
|
761
|
+
if (obj.setCookieDomain !== undefined) {
|
|
762
|
+
if (typeof obj.setCookieDomain !== 'boolean') {
|
|
763
|
+
throw new ConfigError(`${field}.setCookieDomain must be a boolean`, file);
|
|
764
|
+
}
|
|
765
|
+
out.setCookieDomain = obj.setCookieDomain;
|
|
766
|
+
}
|
|
767
|
+
if (obj.maxBodyBytes !== undefined) {
|
|
768
|
+
out.maxBodyBytes = expectPositiveInt(obj.maxBodyBytes, file, `${field}.maxBodyBytes`, 67108864);
|
|
769
|
+
}
|
|
770
|
+
return out;
|
|
771
|
+
}
|
|
772
|
+
function normalizeProxyRoute(raw, file, field) {
|
|
773
|
+
const obj = expectObject(raw, file, field);
|
|
774
|
+
const out = {
|
|
775
|
+
path: normalizeProxyPath(obj.path, file, `${field}.path`),
|
|
776
|
+
target: normalizeProxyTarget(obj.target, file, `${field}.target`),
|
|
777
|
+
};
|
|
778
|
+
if (obj.stripPrefix !== undefined) {
|
|
779
|
+
if (typeof obj.stripPrefix !== 'boolean') {
|
|
780
|
+
throw new ConfigError(`${field}.stripPrefix must be a boolean`, file);
|
|
781
|
+
}
|
|
782
|
+
out.stripPrefix = obj.stripPrefix;
|
|
783
|
+
}
|
|
784
|
+
if (obj.preserveHostHeader !== undefined) {
|
|
785
|
+
if (typeof obj.preserveHostHeader !== 'boolean') {
|
|
786
|
+
throw new ConfigError(`${field}.preserveHostHeader must be a boolean`, file);
|
|
787
|
+
}
|
|
788
|
+
out.preserveHostHeader = obj.preserveHostHeader;
|
|
789
|
+
}
|
|
790
|
+
if (obj.methods !== undefined) {
|
|
791
|
+
out.methods = normalizeStringArray(obj.methods, file, `${field}.methods`).map((m) => {
|
|
792
|
+
const upper = m.toUpperCase();
|
|
793
|
+
if (!PROXY_METHODS.has(upper)) {
|
|
794
|
+
throw new ConfigError(`${field}.methods: ${JSON.stringify(m)} is not a forwardable method`, file);
|
|
795
|
+
}
|
|
796
|
+
return upper;
|
|
797
|
+
});
|
|
798
|
+
}
|
|
799
|
+
if (obj.blockPaths !== undefined) {
|
|
800
|
+
out.blockPaths = normalizePathPatterns(obj.blockPaths, file, `${field}.blockPaths`);
|
|
801
|
+
}
|
|
802
|
+
if (obj.timeoutMs !== undefined) {
|
|
803
|
+
out.timeoutMs = expectPositiveInt(obj.timeoutMs, file, `${field}.timeoutMs`, 120000);
|
|
804
|
+
}
|
|
805
|
+
if (obj.cache !== undefined)
|
|
806
|
+
out.cache = normalizeProxyCache(obj.cache, file, `${field}.cache`);
|
|
807
|
+
if (obj.rewrite !== undefined) {
|
|
808
|
+
out.rewrite = normalizeProxyRewrite(obj.rewrite, file, `${field}.rewrite`);
|
|
809
|
+
}
|
|
810
|
+
if (obj.requestHeaders !== undefined) {
|
|
811
|
+
out.requestHeaders = normalizeProxyHeaders(obj.requestHeaders, file, `${field}.requestHeaders`);
|
|
812
|
+
}
|
|
813
|
+
if (obj.responseHeaders !== undefined) {
|
|
814
|
+
out.responseHeaders = normalizeProxyHeaders(obj.responseHeaders, file, `${field}.responseHeaders`);
|
|
815
|
+
}
|
|
816
|
+
return out;
|
|
817
|
+
}
|
|
818
|
+
export function normalizeProxy(raw, file, field) {
|
|
819
|
+
const obj = expectObject(raw, file, field);
|
|
820
|
+
const out = {};
|
|
821
|
+
if (obj.routes !== undefined) {
|
|
822
|
+
const arr = expectArray(obj.routes, file, `${field}.routes`);
|
|
823
|
+
const routes = arr.map((r, i) => normalizeProxyRoute(r, file, `${field}.routes[${i}]`));
|
|
824
|
+
// Two mounts on the same path is not a precedence question, it is a typo:
|
|
825
|
+
// the second is unreachable and its author will never see why.
|
|
826
|
+
const seen = new Set();
|
|
827
|
+
for (const route of routes) {
|
|
828
|
+
if (seen.has(route.path)) {
|
|
829
|
+
throw new ConfigError(`${field}.routes: ${route.path} is mounted twice — the second one can never match`, file);
|
|
830
|
+
}
|
|
831
|
+
seen.add(route.path);
|
|
832
|
+
}
|
|
833
|
+
out.routes = routes;
|
|
834
|
+
}
|
|
835
|
+
return out;
|
|
836
|
+
}
|
|
419
837
|
//# sourceMappingURL=config-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { loadMcpAPI, buildAndIntegrateMcp } from './mcp.js';
|
|
|
8
8
|
export { WORKER_POLYFILLS } from './polyfills.js';
|
|
9
9
|
export { loadMaravillaConfig, ConfigError } from './config-loader.js';
|
|
10
10
|
export type { LoadResult } from './config-loader.js';
|
|
11
|
-
export type { ManifestV2, RoutingConfig, DynamicRoutes, RouteConfig, EnvConfig, Features, FunctionsConfig, FunctionRoute, FunctionsMetadata, EventsConfig, EventHandlerDescriptor, EventTrigger, EventTriggerKv, EventTriggerDb, EventTriggerAuth, EventTriggerSchedule, EventTriggerQueue, EventTriggerChannel, EventTriggerDeploy, EventTriggerStorage, EventTriggerRen, McpManifest, McpServerInfo, McpToolDescriptor, ToolUiRef, UiTemplateDescriptor, AdapterOptions, BundleOptions, ManifestOptions, } from './types.js';
|
|
11
|
+
export type { ManifestV2, RoutingConfig, DynamicRoutes, RouteConfig, EnvConfig, Features, FunctionsConfig, FunctionRoute, FunctionsMetadata, EventsConfig, EventHandlerDescriptor, EventTrigger, EventTriggerKv, EventTriggerDb, EventTriggerAuth, EventTriggerSchedule, EventTriggerQueue, EventTriggerChannel, EventTriggerDeploy, EventTriggerStorage, EventTriggerRen, McpManifest, McpServerInfo, McpToolDescriptor, ToolUiRef, UiTemplateDescriptor, AdapterOptions, BundleOptions, ManifestOptions, SecurityConfigBlock, RealtimeConfigBlock, ProxyConfigBlock, ProxyRouteDeclaration, ProxyCacheDeclaration, ProxyRewriteDeclaration, } from './types.js';
|
|
12
12
|
export { compileTransforms, generateHandler, } from './transforms/index.js';
|
|
13
13
|
export type { CompiledTransforms, TransformsConfig, TransformsPatternSpec, TransformVideoFormat, TransformImageFormat, TransformTranscodeOpts, TransformThumbnailOpts, TransformResizeOpts, TransformOcrOpts, } from './transforms/index.js';
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,EACT,QAAQ,EACR,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,EACT,QAAQ,EACR,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAwCtE,yEAAyE;AACzE,mEAAmE;AACnE,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAG,CAAU,CAAC;AAmBlD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAOhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAG,CAAU,CAAC;AAmBlD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAOhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU,CA6ErE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI,CAKxE"}
|
package/dist/manifest.js
CHANGED
|
@@ -37,7 +37,7 @@ export function filterStaticAssets(allAssets) {
|
|
|
37
37
|
* Generate a Maravilla manifest.json conforming to the Rust Manifest struct.
|
|
38
38
|
*/
|
|
39
39
|
export function generateManifest(options) {
|
|
40
|
-
const { adapterName, prerenderedPaths, staticAssets, include = ['/*'], exclude = [], envPrefix = 'PUBLIC_', features, extraMetadata = {}, auth, database, studio, } = options;
|
|
40
|
+
const { adapterName, prerenderedPaths, staticAssets, include = ['/*'], exclude = [], envPrefix = 'PUBLIC_', features, extraMetadata = {}, auth, database, studio, realtime, security, proxy, } = options;
|
|
41
41
|
const prerendered = prerenderedPaths.map(entry => {
|
|
42
42
|
const p = entry.startsWith('/') ? entry : `/${entry}`;
|
|
43
43
|
// Already a concrete file (e.g. /cloud/index.html): record it as-is.
|
|
@@ -87,6 +87,9 @@ export function generateManifest(options) {
|
|
|
87
87
|
...(auth ? { auth } : {}),
|
|
88
88
|
...(database ? { database } : {}),
|
|
89
89
|
...(studio ? { studio } : {}),
|
|
90
|
+
...(realtime ? { realtime } : {}),
|
|
91
|
+
...(security ? { security } : {}),
|
|
92
|
+
...(proxy ? { proxy } : {}),
|
|
90
93
|
};
|
|
91
94
|
}
|
|
92
95
|
/**
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAElD,yEAAyE;AACzE,MAAM,qBAAqB,GAAG;IAC5B,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;IACjC,MAAM,EAAE,KAAK,EAAE,MAAM;IACrB,cAAc,EAAE,OAAO;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAmB;IACpD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC7B,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAwB;IACvD,MAAM,EACJ,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,OAAO,GAAG,CAAC,IAAI,CAAC,EAChB,OAAO,GAAG,EAAE,EACZ,SAAS,GAAG,SAAS,EACrB,QAAQ,EACR,aAAa,GAAG,EAAE,EAClB,IAAI,EACJ,QAAQ,EACR,MAAM,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAElD,yEAAyE;AACzE,MAAM,qBAAqB,GAAG;IAC5B,QAAQ;IACR,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;IACjC,MAAM,EAAE,KAAK,EAAE,MAAM;IACrB,cAAc,EAAE,OAAO;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAmB;IACpD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC7B,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAwB;IACvD,MAAM,EACJ,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,OAAO,GAAG,CAAC,IAAI,CAAC,EAChB,OAAO,GAAG,EAAE,EACZ,SAAS,GAAG,SAAS,EACrB,QAAQ,EACR,aAAa,GAAG,EAAE,EAClB,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAK,GACN,GAAG,OAAO,CAAC;IAEZ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;QACtD,qEAAqE;QACrE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;QAClC,yEAAyE;QACzE,kFAAkF;QAClF,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,aAAa,CAAC;QACpC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAEhD,OAAO;QACL,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,QAAQ;QAEhB,OAAO,EAAE;YACP,WAAW;YACX,MAAM;YACN,OAAO,EAAE;gBACP,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,IAAI;aACnB;SACF;QAED,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9C,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;SAC3C;QAED,GAAG,EAAE;YACH,MAAM,EAAE,SAAS;SAClB;QAED,QAAQ,EAAE;YACR,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,IAAI;YACzB,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAClE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;YACnC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;YACrC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,KAAK;SAC3C;QAED,QAAQ,EAAE;YACR,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,iBAAiB,EAAE,gBAAgB,CAAC,MAAM;YAC1C,WAAW,EAAE,YAAY,CAAC,MAAM;YAChC,GAAG,aAAa;SACjB;QAED,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAoB;IAChE,aAAa,CACX,GAAG,MAAM,gBAAgB,EACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAClC,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -113,6 +113,237 @@ export interface ManifestV2 {
|
|
|
113
113
|
* pre-built rather than run against its TS/JS/YAML source config.
|
|
114
114
|
*/
|
|
115
115
|
studio?: StudioConfigBlock;
|
|
116
|
+
/**
|
|
117
|
+
* Optional realtime block declared in `maravilla.config.*` — today just which
|
|
118
|
+
* channels keep a replayable message history. Registered on deploy activation
|
|
119
|
+
* (`crates/server-integration/src/service/activation.rs`). Absent means channels
|
|
120
|
+
* are pure broadcast, which is what every deployment did before this existed.
|
|
121
|
+
*/
|
|
122
|
+
realtime?: RealtimeConfigBlock;
|
|
123
|
+
/**
|
|
124
|
+
* Optional security block declared in `maravilla.config.*` — today just the
|
|
125
|
+
* extra origins allowed to frame this deployment. Delivery unions them into
|
|
126
|
+
* the platform's own `frame-ancestors` list; it never replaces it.
|
|
127
|
+
*/
|
|
128
|
+
security?: SecurityConfigBlock;
|
|
129
|
+
/**
|
|
130
|
+
* Optional proxy block declared in `maravilla.config.*` — paths this
|
|
131
|
+
* deployment serves by forwarding to an external origin. Delivery matches
|
|
132
|
+
* these in Rust, before the V8 runtime is ever reached.
|
|
133
|
+
*/
|
|
134
|
+
proxy?: ProxyConfigBlock;
|
|
135
|
+
}
|
|
136
|
+
/** Security settings passed through from `maravilla.config.*`. */
|
|
137
|
+
export interface SecurityConfigBlock {
|
|
138
|
+
/**
|
|
139
|
+
* Extra origins allowed to frame this site, ADDED to the platform's own list
|
|
140
|
+
* (the Studio editor surfaces), never replacing it. Same grammar as a CSP
|
|
141
|
+
* `frame-ancestors` source: `'self'`, or an origin with an optional single
|
|
142
|
+
* leading `*.` label — e.g. `https://teams.microsoft.com`,
|
|
143
|
+
* `https://*.cloud.microsoft`.
|
|
144
|
+
*
|
|
145
|
+
* A site can equally set its own `Content-Security-Policy` at runtime: what
|
|
146
|
+
* it declares there is unioned in the same way. This block exists so the
|
|
147
|
+
* allowlist can be reviewed in the repo rather than buried in a handler.
|
|
148
|
+
*/
|
|
149
|
+
frameAncestors?: string[];
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Reverse-proxy mounts: paths this deployment serves by forwarding the request
|
|
153
|
+
* to another origin and returning its response as our own.
|
|
154
|
+
*
|
|
155
|
+
* This is a proxy, not a redirect — the visitor's address bar never leaves the
|
|
156
|
+
* site, cookies stay first-party, and the upstream never appears in the URL.
|
|
157
|
+
* It exists for the portal case: a site that lives here while one section of it
|
|
158
|
+
* (a WordPress/WooCommerce shop, a legacy booking engine) keeps running
|
|
159
|
+
* elsewhere, with a single domain and a single TLS certificate in front of both.
|
|
160
|
+
*
|
|
161
|
+
* Matched and served entirely in Rust inside delivery — the V8 isolate is never
|
|
162
|
+
* started for a proxied path, so a proxied section costs no cold start and can
|
|
163
|
+
* be cached at the edge of our own stack.
|
|
164
|
+
*/
|
|
165
|
+
export interface ProxyConfigBlock {
|
|
166
|
+
routes?: ProxyRouteDeclaration[];
|
|
167
|
+
}
|
|
168
|
+
/** One mount: a path prefix on this site, and the origin behind it. */
|
|
169
|
+
export interface ProxyRouteDeclaration {
|
|
170
|
+
/**
|
|
171
|
+
* The path this mount owns, e.g. `/shop/*` (prefix — `/shop` and everything
|
|
172
|
+
* under it) or `/shop` (that one path only). Must start with `/`. The
|
|
173
|
+
* longest matching mount wins, so `/shop/api/*` can be routed differently
|
|
174
|
+
* from `/shop/*`.
|
|
175
|
+
*
|
|
176
|
+
* Platform paths are never proxiable: `/_assets/*`, `/_auth/*`, `/_rt/*`,
|
|
177
|
+
* `/_push/*`, `/_internal/*`, `/_mcp`, `/health`, `/stats`, `/metrics`.
|
|
178
|
+
*/
|
|
179
|
+
path: string;
|
|
180
|
+
/**
|
|
181
|
+
* Where to forward it — an `http://` or `https://` origin, optionally with a
|
|
182
|
+
* base path (`https://wp.example.com/site`). Private and loopback addresses
|
|
183
|
+
* are rejected: a tenant-controlled target that could name `localhost` would
|
|
184
|
+
* turn this into a request forgery primitive against the platform itself.
|
|
185
|
+
*/
|
|
186
|
+
target: string;
|
|
187
|
+
/**
|
|
188
|
+
* Drop the mount prefix before forwarding, so `/shop/cart` arrives upstream
|
|
189
|
+
* as `/cart`. Default `false`, which is the shape that needs no rewriting:
|
|
190
|
+
* the upstream is configured to live at the same path here and there, and its
|
|
191
|
+
* own root-relative links already resolve inside the mount.
|
|
192
|
+
*
|
|
193
|
+
* With `true`, an upstream link to `/cart` would escape the mount, so
|
|
194
|
+
* {@link ProxyRewriteDeclaration.links} rewriting is applied to HTML and CSS
|
|
195
|
+
* bodies to pull those paths back under the prefix.
|
|
196
|
+
*/
|
|
197
|
+
stripPrefix?: boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Forward the visitor's `Host` header instead of the upstream's own. Default
|
|
200
|
+
* `false`. Turn it on only for an upstream that is configured to answer for
|
|
201
|
+
* this site's hostname — most virtual hosts (and most TLS terminators) will
|
|
202
|
+
* reject or misroute a Host they do not serve.
|
|
203
|
+
*/
|
|
204
|
+
preserveHostHeader?: boolean;
|
|
205
|
+
/**
|
|
206
|
+
* HTTP methods this mount accepts. Default: all of them. Narrow it to
|
|
207
|
+
* `['GET', 'HEAD']` for a read-only mount so a stray POST cannot reach the
|
|
208
|
+
* upstream at all.
|
|
209
|
+
*/
|
|
210
|
+
methods?: string[];
|
|
211
|
+
/**
|
|
212
|
+
* Paths under the mount that are never forwarded — the upstream's admin
|
|
213
|
+
* surface and login endpoints, which a public portal has no reason to
|
|
214
|
+
* expose. Literal paths, or a trailing-`*` prefix; a pattern containing `?`
|
|
215
|
+
* is matched against path and query together. Answered as 404, the same as
|
|
216
|
+
* any path this site does not have.
|
|
217
|
+
*
|
|
218
|
+
* Different from {@link ProxyCacheDeclaration.bypassPaths}, which still
|
|
219
|
+
* forwards and only declines to cache. A mount is a hole in the perimeter;
|
|
220
|
+
* this is how the hole is made smaller than the upstream.
|
|
221
|
+
*
|
|
222
|
+
* @example ['/shop/wp-admin*', '/shop/wp-login.php', '/shop/xmlrpc.php']
|
|
223
|
+
*/
|
|
224
|
+
blockPaths?: string[];
|
|
225
|
+
/** Upstream timeout in milliseconds. Default 30000, ceiling 120000. */
|
|
226
|
+
timeoutMs?: number;
|
|
227
|
+
/** Delivery-side response cache. Absent or `ttl: 0` means no caching. */
|
|
228
|
+
cache?: ProxyCacheDeclaration;
|
|
229
|
+
/** URL rewriting applied to the upstream's headers and text bodies. */
|
|
230
|
+
rewrite?: ProxyRewriteDeclaration;
|
|
231
|
+
/**
|
|
232
|
+
* Extra headers added to the upstream request — a shared secret that proves
|
|
233
|
+
* the request came through the proxy, say. Values are literal; use an env
|
|
234
|
+
* placeholder (`${MY_TOKEN}`) to resolve one from the project's environment
|
|
235
|
+
* at request time.
|
|
236
|
+
*/
|
|
237
|
+
requestHeaders?: Record<string, string>;
|
|
238
|
+
/** Extra headers added to the response we return. */
|
|
239
|
+
responseHeaders?: Record<string, string>;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Cache policy for a proxied mount. Delivery caches in Redis, shared across
|
|
243
|
+
* delivery nodes, so a hit never touches the upstream at all — which is the
|
|
244
|
+
* point for a WordPress origin that cannot take the portal's traffic.
|
|
245
|
+
*/
|
|
246
|
+
export interface ProxyCacheDeclaration {
|
|
247
|
+
/** Fresh lifetime in seconds. `0` (the default) disables the cache. */
|
|
248
|
+
ttl?: number;
|
|
249
|
+
/**
|
|
250
|
+
* Seconds past `ttl` a stale entry may still be served while a single
|
|
251
|
+
* background request refreshes it. Turns an upstream that is slow, or briefly
|
|
252
|
+
* down, into a fast response rather than a 502. Default 0.
|
|
253
|
+
*/
|
|
254
|
+
staleWhileRevalidate?: number;
|
|
255
|
+
/** Cacheable methods. Default `['GET', 'HEAD']`; nothing else is ever cached. */
|
|
256
|
+
methods?: string[];
|
|
257
|
+
/**
|
|
258
|
+
* Cache even when the upstream said `no-store` / `no-cache` / `private`.
|
|
259
|
+
* Default `false` — the upstream's own policy is honoured, because it is
|
|
260
|
+
* usually right and always the author's. Turn this on for an origin whose
|
|
261
|
+
* headers are wrong (WordPress sends `no-cache` on pages it has no reason to).
|
|
262
|
+
*/
|
|
263
|
+
ignoreUpstreamCacheControl?: boolean;
|
|
264
|
+
/**
|
|
265
|
+
* Request headers that are part of the cache key, e.g. `['accept-language']`
|
|
266
|
+
* for a multilingual upstream. Keep the list short: every header multiplies
|
|
267
|
+
* the number of entries.
|
|
268
|
+
*/
|
|
269
|
+
varyHeaders?: string[];
|
|
270
|
+
/**
|
|
271
|
+
* Paths under the mount that are never cached — literal paths, or a
|
|
272
|
+
* trailing-`*` prefix. A pattern containing `?` is matched against path and
|
|
273
|
+
* query together, so a WooCommerce AJAX endpoint (`/shop/?wc-ajax=*`), whose
|
|
274
|
+
* route lives entirely in its query string, can be excluded.
|
|
275
|
+
*
|
|
276
|
+
* {@link bypassCookies} already covers a visitor who has a session; this
|
|
277
|
+
* covers the FIRST request to a cart or checkout page, which arrives without
|
|
278
|
+
* one and would otherwise pin an empty cart in front of everybody.
|
|
279
|
+
*/
|
|
280
|
+
bypassPaths?: string[];
|
|
281
|
+
/**
|
|
282
|
+
* Never serve a cached response to a request carrying cookies, and never
|
|
283
|
+
* cache one. Default `true`: a logged-in WooCommerce cart must not be handed
|
|
284
|
+
* to the next visitor, and that is exactly the mistake this prevents.
|
|
285
|
+
*/
|
|
286
|
+
bypassCookies?: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* Largest response body to cache, in bytes. Default 1048576 (1 MiB). Bigger
|
|
289
|
+
* responses are proxied straight through.
|
|
290
|
+
*/
|
|
291
|
+
maxBodyBytes?: number;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* How much of the upstream's own addressing to translate. Every rewrite maps an
|
|
295
|
+
* upstream URL back to this site's origin plus the mount prefix, so what the
|
|
296
|
+
* browser sees never names the upstream.
|
|
297
|
+
*/
|
|
298
|
+
export interface ProxyRewriteDeclaration {
|
|
299
|
+
/**
|
|
300
|
+
* Rewrite upstream URLs found in text response bodies (HTML, CSS, JS, JSON,
|
|
301
|
+
* XML). Default `true`. Absolute upstream URLs become same-origin URLs under
|
|
302
|
+
* the mount; with {@link ProxyRouteDeclaration.stripPrefix} on, root-relative
|
|
303
|
+
* URLs in HTML attributes and CSS `url()` are pulled under the prefix too.
|
|
304
|
+
*/
|
|
305
|
+
links?: boolean;
|
|
306
|
+
/**
|
|
307
|
+
* Extra hosts to rewrite alongside the target's own — a separate asset or CDN
|
|
308
|
+
* host the upstream emits, e.g. `['static.wp.example.com']`. Only useful when
|
|
309
|
+
* those hosts are themselves proxied by another mount, or serve identical
|
|
310
|
+
* paths.
|
|
311
|
+
*/
|
|
312
|
+
hosts?: string[];
|
|
313
|
+
/**
|
|
314
|
+
* Content types eligible for body rewriting. Default: `text/html`,
|
|
315
|
+
* `text/css`, `application/javascript`, `text/javascript`,
|
|
316
|
+
* `application/json`, `application/xml`, `text/xml`, `image/svg+xml`.
|
|
317
|
+
*/
|
|
318
|
+
contentTypes?: string[];
|
|
319
|
+
/**
|
|
320
|
+
* Strip the `Domain` attribute from the upstream's `Set-Cookie` headers so
|
|
321
|
+
* its session cookies bind to this site's host instead of being dropped by
|
|
322
|
+
* the browser as cross-domain. Default `true` — a shop upstream is useless
|
|
323
|
+
* through a proxy that loses its session cookie.
|
|
324
|
+
*/
|
|
325
|
+
setCookieDomain?: boolean;
|
|
326
|
+
/**
|
|
327
|
+
* Largest text body to buffer for rewriting, in bytes. Default 8388608
|
|
328
|
+
* (8 MiB). Anything larger streams through unrewritten rather than being held
|
|
329
|
+
* in memory.
|
|
330
|
+
*/
|
|
331
|
+
maxBodyBytes?: number;
|
|
332
|
+
}
|
|
333
|
+
export interface RealtimeConfigBlock {
|
|
334
|
+
/**
|
|
335
|
+
* Channels whose messages are persisted so a late joiner can replay them via
|
|
336
|
+
* `platform.realtime.history(channel, { limit, after })`.
|
|
337
|
+
*
|
|
338
|
+
* Opt-in: persisting a channel costs a document insert plus a trim on EVERY
|
|
339
|
+
* publish, so only name channels whose history is actually read.
|
|
340
|
+
*/
|
|
341
|
+
history?: {
|
|
342
|
+
/** Glob patterns — `chat:*`, `private-order-*`, `*`. Empty keeps nothing. */
|
|
343
|
+
channels: string[];
|
|
344
|
+
/** Retained per channel; defaults to 1000. A replay returns at most 500. */
|
|
345
|
+
maxMessages?: number;
|
|
346
|
+
};
|
|
116
347
|
}
|
|
117
348
|
export interface RoutingConfig {
|
|
118
349
|
prerendered: string[];
|
|
@@ -383,5 +614,21 @@ export interface ManifestOptions {
|
|
|
383
614
|
* project when falling back to `.maravilla/manifest.json`.
|
|
384
615
|
*/
|
|
385
616
|
studio?: StudioConfigBlock;
|
|
617
|
+
/**
|
|
618
|
+
* Optional realtime block loaded from `maravilla.config.*`. Emitted into the
|
|
619
|
+
* manifest as-is; the Rust side registers it on deploy activation.
|
|
620
|
+
*/
|
|
621
|
+
realtime?: RealtimeConfigBlock;
|
|
622
|
+
/**
|
|
623
|
+
* Optional security block loaded from `maravilla.config.*`. Emitted into the
|
|
624
|
+
* manifest as-is; delivery reads it when composing the response CSP.
|
|
625
|
+
*/
|
|
626
|
+
security?: SecurityConfigBlock;
|
|
627
|
+
/**
|
|
628
|
+
* Optional proxy block loaded from `maravilla.config.*`. Emitted into the
|
|
629
|
+
* manifest as-is; delivery matches it in Rust ahead of every other route
|
|
630
|
+
* decision.
|
|
631
|
+
*/
|
|
632
|
+
proxy?: ProxyConfigBlock;
|
|
386
633
|
}
|
|
387
634
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC1C,wCAAwC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maravilla-labs/adapter-core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Shared utilities for Maravilla Runtime framework adapters",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -45,6 +45,6 @@
|
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "tsc",
|
|
47
47
|
"dev": "tsc --watch",
|
|
48
|
-
"test": "vitest run"
|
|
48
|
+
"test": "vitest run --passWithNoTests"
|
|
49
49
|
}
|
|
50
50
|
}
|