veryfront 0.1.704 → 0.1.706
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/esm/deno.js +1 -1
- package/esm/src/agent/input/request-protocol.d.ts +3 -3
- package/esm/src/build/binary-plugin-includes.d.ts +1 -0
- package/esm/src/build/binary-plugin-includes.d.ts.map +1 -1
- package/esm/src/build/binary-plugin-includes.js +17 -1
- package/esm/src/cache/backends/api.js +1 -1
- package/esm/src/cache/backends/memory.js +1 -1
- package/esm/src/cache/backends/redis.js +1 -1
- package/esm/src/cache/{backends/batch-results.d.ts → batch-results.d.ts} +6 -6
- package/esm/src/cache/batch-results.d.ts.map +1 -0
- package/esm/src/cache/{backends/batch-results.js → batch-results.js} +6 -6
- package/esm/src/cache/request-cache-batcher.d.ts.map +1 -1
- package/esm/src/cache/request-cache-batcher.js +4 -5
- package/esm/src/cache/tokenizing-gateway.d.ts.map +1 -1
- package/esm/src/cache/tokenizing-gateway.js +11 -15
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts +1 -0
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/adapter.js +13 -44
- package/esm/src/platform/adapters/fs/veryfront/default-invalidation-callbacks.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/default-invalidation-callbacks.js +0 -11
- package/esm/src/platform/adapters/fs/veryfront/types.d.ts +17 -0
- package/esm/src/platform/adapters/fs/veryfront/types.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager-helpers.d.ts +1 -5
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager-helpers.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager.d.ts +1 -2
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager.d.ts.map +1 -1
- package/esm/src/server/bootstrap.d.ts.map +1 -1
- package/esm/src/server/bootstrap.js +8 -0
- package/esm/src/server/style-callbacks.d.ts +4 -0
- package/esm/src/server/style-callbacks.d.ts.map +1 -0
- package/esm/src/server/style-callbacks.js +72 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/schemas/workflow.schema.d.ts +4 -4
- package/package.json +1 -1
- package/esm/src/cache/backends/batch-results.d.ts.map +0 -1
package/esm/deno.js
CHANGED
|
@@ -210,7 +210,7 @@ export declare const getInputRequestOutputSchema: () => import("../../internal-a
|
|
|
210
210
|
runId: import("../../internal-agents/schema.js").Schema<string>;
|
|
211
211
|
toolCallId: import("../../internal-agents/schema.js").Schema<string>;
|
|
212
212
|
kind: import("../../internal-agents/schema.js").Schema<"form">;
|
|
213
|
-
status: import("../../internal-agents/schema.js").Schema<"open" | "
|
|
213
|
+
status: import("../../internal-agents/schema.js").Schema<"open" | "cancelled" | "expired" | "submitted">;
|
|
214
214
|
requestedResponderType: import("../../internal-agents/schema.js").Schema<"agent" | "system" | "human">;
|
|
215
215
|
title: import("../../internal-agents/schema.js").Schema<string>;
|
|
216
216
|
description: import("../../internal-agents/schema.js").Schema<string | null>;
|
|
@@ -307,7 +307,7 @@ export declare const getInputRequestLifecycleDataEventSchema: () => import("../.
|
|
|
307
307
|
runId: import("../../internal-agents/schema.js").Schema<string>;
|
|
308
308
|
toolCallId: import("../../internal-agents/schema.js").Schema<string>;
|
|
309
309
|
kind: import("../../internal-agents/schema.js").Schema<"form">;
|
|
310
|
-
status: import("../../internal-agents/schema.js").Schema<"open" | "
|
|
310
|
+
status: import("../../internal-agents/schema.js").Schema<"open" | "cancelled" | "expired" | "submitted">;
|
|
311
311
|
requestedResponderType: import("../../internal-agents/schema.js").Schema<"agent" | "system" | "human">;
|
|
312
312
|
title: import("../../internal-agents/schema.js").Schema<string>;
|
|
313
313
|
description: import("../../internal-agents/schema.js").Schema<string | null>;
|
|
@@ -403,7 +403,7 @@ export declare const getInputRequestLifecycleDataEventSchema: () => import("../.
|
|
|
403
403
|
runId: import("../../internal-agents/schema.js").Schema<string>;
|
|
404
404
|
toolCallId: import("../../internal-agents/schema.js").Schema<string>;
|
|
405
405
|
kind: import("../../internal-agents/schema.js").Schema<"form">;
|
|
406
|
-
status: import("../../internal-agents/schema.js").Schema<"open" | "
|
|
406
|
+
status: import("../../internal-agents/schema.js").Schema<"open" | "cancelled" | "expired" | "submitted">;
|
|
407
407
|
requestedResponderType: import("../../internal-agents/schema.js").Schema<"agent" | "system" | "human">;
|
|
408
408
|
title: import("../../internal-agents/schema.js").Schema<string>;
|
|
409
409
|
description: import("../../internal-agents/schema.js").Schema<string | null>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
declare const BINARY_TAILWIND_PLUGIN_PACKAGES: readonly ["tailwindcss-animate@1.0.7", "@tailwindcss/typography@0.5.19", "@tailwindcss/forms@0.5.11", "tailwind-scrollbar-hide@2.0.0", "daisyui@5.5.14"];
|
|
2
|
+
export declare function resolveTailwindPluginBundlePackage(packageName: string): string;
|
|
2
3
|
export declare function getTailwindPluginBundleUrl(packageName: string): string;
|
|
3
4
|
export declare function getBinaryPluginBundleIncludes(): string[];
|
|
4
5
|
export { BINARY_TAILWIND_PLUGIN_PACKAGES };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-plugin-includes.d.ts","sourceRoot":"","sources":["../../../src/src/build/binary-plugin-includes.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,+BAA+B,0JAM3B,CAAC;
|
|
1
|
+
{"version":3,"file":"binary-plugin-includes.d.ts","sourceRoot":"","sources":["../../../src/src/build/binary-plugin-includes.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,+BAA+B,0JAM3B,CAAC;AAgBX,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM9E;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGtE;AAED,wBAAgB,6BAA6B,IAAI,MAAM,EAAE,CAExD;AAED,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
|
|
@@ -5,8 +5,24 @@ const BINARY_TAILWIND_PLUGIN_PACKAGES = [
|
|
|
5
5
|
"tailwind-scrollbar-hide@2.0.0",
|
|
6
6
|
"daisyui@5.5.14",
|
|
7
7
|
];
|
|
8
|
+
function barePackageName(spec) {
|
|
9
|
+
if (spec.startsWith("@")) {
|
|
10
|
+
const versionIndex = spec.indexOf("@", 1);
|
|
11
|
+
return versionIndex === -1 ? spec : spec.slice(0, versionIndex);
|
|
12
|
+
}
|
|
13
|
+
const versionIndex = spec.indexOf("@");
|
|
14
|
+
return versionIndex === -1 ? spec : spec.slice(0, versionIndex);
|
|
15
|
+
}
|
|
16
|
+
const BINARY_TAILWIND_PLUGIN_PACKAGE_BY_NAME = new Map(BINARY_TAILWIND_PLUGIN_PACKAGES.map((pkg) => [barePackageName(pkg), pkg]));
|
|
17
|
+
export function resolveTailwindPluginBundlePackage(packageName) {
|
|
18
|
+
if (packageName.includes("@", packageName.startsWith("@") ? 1 : 0)) {
|
|
19
|
+
return packageName;
|
|
20
|
+
}
|
|
21
|
+
return BINARY_TAILWIND_PLUGIN_PACKAGE_BY_NAME.get(packageName) ?? packageName;
|
|
22
|
+
}
|
|
8
23
|
export function getTailwindPluginBundleUrl(packageName) {
|
|
9
|
-
|
|
24
|
+
const resolvedPackage = resolveTailwindPluginBundlePackage(packageName);
|
|
25
|
+
return `https://esm.sh/${resolvedPackage}?bundle&external=tailwindcss&target=denonext`;
|
|
10
26
|
}
|
|
11
27
|
export function getBinaryPluginBundleIncludes() {
|
|
12
28
|
return BINARY_TAILWIND_PLUGIN_PACKAGES.map(getTailwindPluginBundleUrl);
|
|
@@ -5,7 +5,7 @@ import { SpanNames } from "../../observability/tracing/span-names.js";
|
|
|
5
5
|
import { tryGetCacheKeyContext } from "../cache-key-builder.js";
|
|
6
6
|
import { CircuitBreakerOpen, getCircuitBreaker } from "../../utils/circuit-breaker.js";
|
|
7
7
|
import { getEnvValue } from "./helpers.js";
|
|
8
|
-
import { buildBatchResults } from "
|
|
8
|
+
import { buildBatchResults } from "../batch-results.js";
|
|
9
9
|
import { REQUEST_ERROR } from "../../errors/index.js";
|
|
10
10
|
const logger = baseLogger.component("api-cache-backend");
|
|
11
11
|
const DEFAULT_TIMEOUT_MS = 10_000;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MEMORY_CACHE_MAX_ENTRIES, MEMORY_CACHE_MAX_SIZE_BYTES, } from "../../utils/constants/cache.js";
|
|
2
|
-
import { buildBatchResults } from "
|
|
2
|
+
import { buildBatchResults } from "../batch-results.js";
|
|
3
3
|
const DEFAULT_TTL_SECONDS = 300;
|
|
4
4
|
const MAX_REGEX_CACHE_SIZE = 100;
|
|
5
5
|
export class MemoryCacheBackend {
|
|
@@ -2,7 +2,7 @@ import { logger as baseLogger } from "../../utils/index.js";
|
|
|
2
2
|
import { withSpan } from "../../observability/tracing/otlp-setup.js";
|
|
3
3
|
import { SpanNames } from "../../observability/tracing/span-names.js";
|
|
4
4
|
import { getRedisClient, isRedisConfigured, } from "../../utils/redis-client.js";
|
|
5
|
-
import { buildBatchResults } from "
|
|
5
|
+
import { buildBatchResults } from "../batch-results.js";
|
|
6
6
|
const logger = baseLogger.component("redis-cache-backend");
|
|
7
7
|
// Re-export for use by factory
|
|
8
8
|
export { isRedisConfigured };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared batch-result assembly for cache
|
|
2
|
+
* Shared batch-result assembly for cache reads.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Cache backends and cache gateways often resolve a requested key list into a
|
|
5
|
+
* `Map<string, string | null>` where each requested key is present and missing
|
|
6
|
+
* values resolve to `null`. This helper centralizes that assembly so callers
|
|
7
|
+
* only supply the resolver.
|
|
8
8
|
*
|
|
9
|
-
* @module cache/
|
|
9
|
+
* @module cache/batch-results
|
|
10
10
|
*/
|
|
11
11
|
/**
|
|
12
12
|
* Build a `Map` of batch results by resolving each key in order.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-results.d.ts","sourceRoot":"","sources":["../../../src/src/cache/batch-results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACtC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAM5B"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared batch-result assembly for cache
|
|
2
|
+
* Shared batch-result assembly for cache reads.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Cache backends and cache gateways often resolve a requested key list into a
|
|
5
|
+
* `Map<string, string | null>` where each requested key is present and missing
|
|
6
|
+
* values resolve to `null`. This helper centralizes that assembly so callers
|
|
7
|
+
* only supply the resolver.
|
|
8
8
|
*
|
|
9
|
-
* @module cache/
|
|
9
|
+
* @module cache/batch-results
|
|
10
10
|
*/
|
|
11
11
|
/**
|
|
12
12
|
* Build a `Map` of batch results by resolving each key in order.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-cache-batcher.d.ts","sourceRoot":"","sources":["../../../src/src/cache/request-cache-batcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAK/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"request-cache-batcher.d.ts","sourceRoot":"","sources":["../../../src/src/cache/request-cache-batcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAK/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAClC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CAC1D;AAMD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAexE;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,SAAS,CAExE;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkCxB;AAgDD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEzE;AAED,wBAAgB,oBAAoB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK9E"}
|
|
@@ -3,6 +3,7 @@ import { AsyncLocalStorage } from "node:async_hooks";
|
|
|
3
3
|
import { ensureError } from "../errors/veryfront-error.js";
|
|
4
4
|
import { logger as baseLogger } from "../utils/index.js";
|
|
5
5
|
import { MAX_BATCH_SIZE } from "../utils/constants/limits.js";
|
|
6
|
+
import { buildBatchResults } from "./batch-results.js";
|
|
6
7
|
const logger = baseLogger.component("request-cache-batcher");
|
|
7
8
|
const asyncLocalStorage = new AsyncLocalStorage();
|
|
8
9
|
const BATCH_DELAY_MS = 1;
|
|
@@ -90,11 +91,9 @@ async function flushBatch(ctx, backend) {
|
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
async function getIndividually(backend, keys) {
|
|
93
|
-
const
|
|
94
|
-
await Promise.all(keys.map(async (key) =>
|
|
95
|
-
|
|
96
|
-
}));
|
|
97
|
-
return results;
|
|
94
|
+
const entries = new Map();
|
|
95
|
+
await Promise.all(keys.map(async (key) => entries.set(key, await backend.get(key))));
|
|
96
|
+
return buildBatchResults(keys, (key) => entries.get(key) ?? null);
|
|
98
97
|
}
|
|
99
98
|
export function setInRequestCache(key, value) {
|
|
100
99
|
asyncLocalStorage.getStore()?.cache.set(key, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizing-gateway.d.ts","sourceRoot":"","sources":["../../../src/src/cache/tokenizing-gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tokenizing-gateway.d.ts","sourceRoot":"","sources":["../../../src/src/cache/tokenizing-gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE7C;;;OAGG;IACH,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnE;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;;OAGG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1F;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,gBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzC;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAK3D,OAAO,CAAC,OAAO;IAJjB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAGZ,OAAO,EAAE,YAAY,EAC7B,IAAI,EAAE,MAAM;IAMd;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAYlD;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IA2BvE;;;;OAIG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB5E;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9F;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOxD;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,GACX,sBAAsB,CAExB"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* @module cache/tokenizing-gateway
|
|
14
14
|
*/
|
|
15
15
|
import { logger } from "../utils/index.js";
|
|
16
|
+
import { buildBatchResults } from "./batch-results.js";
|
|
16
17
|
import { assertPortableCode, detokenizeAllCachePaths, tokenizeAllVeryFrontPaths } from "./paths.js";
|
|
17
18
|
/**
|
|
18
19
|
* TokenizingCacheGateway wraps a CacheBackend and enforces tokenization
|
|
@@ -54,30 +55,25 @@ export class TokenizingCacheGateway {
|
|
|
54
55
|
* Get multiple codes from cache with automatic detokenization.
|
|
55
56
|
*/
|
|
56
57
|
async getCodeBatch(keys) {
|
|
57
|
-
const results = new Map();
|
|
58
58
|
if (keys.length === 0)
|
|
59
|
-
return
|
|
59
|
+
return new Map();
|
|
60
60
|
if (!this.backend.getBatch) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
return results;
|
|
61
|
+
const values = new Map();
|
|
62
|
+
await Promise.all(keys.map(async (key) => values.set(key, await this.getCode(key))));
|
|
63
|
+
return buildBatchResults(keys, (key) => values.get(key) ?? null);
|
|
66
64
|
}
|
|
67
65
|
const rawResults = await this.backend.getBatch(keys);
|
|
68
|
-
|
|
66
|
+
return buildBatchResults(keys, (key) => {
|
|
67
|
+
const raw = rawResults.get(key) ?? null;
|
|
69
68
|
if (!raw) {
|
|
70
|
-
|
|
71
|
-
continue;
|
|
69
|
+
return null;
|
|
72
70
|
}
|
|
73
71
|
// Only detokenize for distributed backends
|
|
74
72
|
if (!this.isDistributed()) {
|
|
75
|
-
|
|
76
|
-
continue;
|
|
73
|
+
return raw;
|
|
77
74
|
}
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
return results;
|
|
75
|
+
return detokenizeAllCachePaths(raw);
|
|
76
|
+
});
|
|
81
77
|
}
|
|
82
78
|
/**
|
|
83
79
|
* Store code in cache with automatic tokenization.
|
|
@@ -20,6 +20,7 @@ export declare class VeryfrontFSAdapter implements FSAdapter {
|
|
|
20
20
|
private apiToken;
|
|
21
21
|
private projectSlug;
|
|
22
22
|
private invalidationCallbacks;
|
|
23
|
+
private styleCallbacks;
|
|
23
24
|
private wsManager;
|
|
24
25
|
/** Per-request branch override (for branch preview URLs) */
|
|
25
26
|
private requestBranch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EAEV,cAAc,EACd,SAAS,EACT,eAAe,EAEf,sBAAsB,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ export class VeryfrontFSAdapter {
|
|
|
30
30
|
apiToken;
|
|
31
31
|
projectSlug;
|
|
32
32
|
invalidationCallbacks;
|
|
33
|
+
styleCallbacks;
|
|
33
34
|
wsManager;
|
|
34
35
|
/** Per-request branch override (for branch preview URLs) */
|
|
35
36
|
requestBranch = null;
|
|
@@ -68,6 +69,7 @@ export class VeryfrontFSAdapter {
|
|
|
68
69
|
}
|
|
69
70
|
constructor(config) {
|
|
70
71
|
this.invalidationCallbacks = config.invalidationCallbacks ?? {};
|
|
72
|
+
this.styleCallbacks = config.styleCallbacks ?? {};
|
|
71
73
|
const vf = config.veryfront;
|
|
72
74
|
if (!vf) {
|
|
73
75
|
throw toError(createError({
|
|
@@ -517,58 +519,25 @@ export class VeryfrontFSAdapter {
|
|
|
517
519
|
* Uses dynamic import to avoid circular dependencies.
|
|
518
520
|
*/
|
|
519
521
|
async triggerCSSPregeneration(files) {
|
|
522
|
+
const pregenerateStyles = this.styleCallbacks.pregenerateStyles;
|
|
523
|
+
if (!pregenerateStyles) {
|
|
524
|
+
logger.debug("Skipping CSS pre-generation without style callback", {
|
|
525
|
+
projectSlug: this.projectSlug,
|
|
526
|
+
});
|
|
527
|
+
return undefined;
|
|
528
|
+
}
|
|
520
529
|
try {
|
|
521
|
-
const { buildPreparedCSSArtifactFromFiles, findStylesheetFromFiles } = await import("../../../../html/styles-builder/css-pregeneration.js");
|
|
522
|
-
const { resolveStyleContentVersion } = await import("../../../../html/styles-builder/content-version.js");
|
|
523
|
-
const { createStyleScopeProfile } = await import("../../../../html/styles-builder/style-scope-profile.js");
|
|
524
|
-
let stylesheetPath;
|
|
525
|
-
let styleProfile = createStyleScopeProfile();
|
|
526
530
|
const projectDir = this.normalizer.getProjectDir();
|
|
527
|
-
|
|
528
|
-
logger.debug("Skipping CSS pre-generation without projectDir", {
|
|
529
|
-
projectSlug: this.projectSlug,
|
|
530
|
-
});
|
|
531
|
-
return undefined;
|
|
532
|
-
}
|
|
533
|
-
try {
|
|
534
|
-
const { runtime } = await import("../../registry.js");
|
|
535
|
-
const { getConfig } = await import("../../../../config/index.js");
|
|
536
|
-
const adapter = await runtime.get();
|
|
537
|
-
const cacheKey = this.client.getProjectId() || this.projectSlug;
|
|
538
|
-
const config = await getConfig(projectDir, adapter, { cacheKey });
|
|
539
|
-
stylesheetPath = config?.tailwind?.stylesheet;
|
|
540
|
-
styleProfile = createStyleScopeProfile(config);
|
|
541
|
-
}
|
|
542
|
-
catch (error) {
|
|
543
|
-
logger.debug("Failed to load config for CSS pre-generation", {
|
|
544
|
-
projectSlug: this.projectSlug,
|
|
545
|
-
error: error instanceof Error ? error.message : String(error),
|
|
546
|
-
});
|
|
547
|
-
}
|
|
548
|
-
const stylesheet = findStylesheetFromFiles(files, stylesheetPath);
|
|
549
|
-
const projectVersion = resolveStyleContentVersion(this.contentContext, {
|
|
550
|
-
branch: this.contentContext?.branch ?? null,
|
|
551
|
-
releaseId: this.contentContext?.releaseId ?? null,
|
|
552
|
-
environmentName: this.contentContext?.environmentName ?? null,
|
|
553
|
-
});
|
|
554
|
-
const result = await buildPreparedCSSArtifactFromFiles({
|
|
531
|
+
const result = await pregenerateStyles(files, {
|
|
555
532
|
projectSlug: this.projectSlug,
|
|
556
|
-
projectVersion,
|
|
557
533
|
projectDir,
|
|
558
|
-
|
|
559
|
-
styleProfile,
|
|
560
|
-
stylesheet,
|
|
561
|
-
stylesheetPath,
|
|
562
|
-
minify: true,
|
|
563
|
-
environment: "preview",
|
|
564
|
-
buildMode: "production",
|
|
534
|
+
contentContext: this.contentContext,
|
|
565
535
|
});
|
|
536
|
+
if (!result)
|
|
537
|
+
return undefined;
|
|
566
538
|
logger.debug("CSS pre-generation complete", {
|
|
567
539
|
projectSlug: this.projectSlug,
|
|
568
|
-
projectVersion,
|
|
569
540
|
cssHash: result.hash,
|
|
570
|
-
candidateCount: result.candidateCount,
|
|
571
|
-
fromCache: result.fromCache,
|
|
572
541
|
});
|
|
573
542
|
return {
|
|
574
543
|
hash: result.hash,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-invalidation-callbacks.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/default-invalidation-callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,wBAAgB,kCAAkC,CAChD,SAAS,CAAC,EAAE,qBAAqB,GAChC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"default-invalidation-callbacks.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/default-invalidation-callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,wBAAgB,kCAAkC,CAChD,SAAS,CAAC,EAAE,qBAAqB,GAChC,qBAAqB,CAwCvB"}
|
|
@@ -25,17 +25,6 @@ export function createDefaultInvalidationCallbacks(callbacks) {
|
|
|
25
25
|
const { clearRendererCacheForProject } = await loadModule("#veryfront/rendering/renderer.ts");
|
|
26
26
|
return clearRendererCacheForProject(projectId);
|
|
27
27
|
},
|
|
28
|
-
clearProjectCSSCache: (projectSlug) => {
|
|
29
|
-
void Promise.all([
|
|
30
|
-
loadModule("#veryfront/html/styles-builder/tailwind-compiler.ts"),
|
|
31
|
-
loadModule("#veryfront/html/styles-builder/prepared-project-css-cache.ts"),
|
|
32
|
-
loadModule("#veryfront/rendering/orchestrator/css-candidate-manifest.ts"),
|
|
33
|
-
]).then(([tailwind, prepared, manifest]) => {
|
|
34
|
-
tailwind.invalidateProjectCSS(projectSlug);
|
|
35
|
-
prepared.invalidatePreparedProjectCSS(projectSlug);
|
|
36
|
-
manifest.invalidateProjectCandidateManifests(projectSlug);
|
|
37
|
-
});
|
|
38
|
-
},
|
|
39
28
|
...callbacks,
|
|
40
29
|
};
|
|
41
30
|
}
|
|
@@ -61,6 +61,22 @@ export interface ResolvedContentContext {
|
|
|
61
61
|
environmentName?: string;
|
|
62
62
|
releaseId?: string;
|
|
63
63
|
}
|
|
64
|
+
export interface StylePregenerationFile {
|
|
65
|
+
path: string;
|
|
66
|
+
content?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface PreviewStyleArtifactInfo {
|
|
69
|
+
hash: string;
|
|
70
|
+
assetPath: string;
|
|
71
|
+
}
|
|
72
|
+
export interface StylePregenerationContext {
|
|
73
|
+
projectSlug: string;
|
|
74
|
+
projectDir?: string;
|
|
75
|
+
contentContext: ResolvedContentContext | null;
|
|
76
|
+
}
|
|
77
|
+
export interface StyleCallbacks {
|
|
78
|
+
pregenerateStyles?: (files: StylePregenerationFile[], context: StylePregenerationContext) => Promise<PreviewStyleArtifactInfo | undefined>;
|
|
79
|
+
}
|
|
64
80
|
export interface FSAdapterConfig {
|
|
65
81
|
type?: "local" | "veryfront-api" | "memory" | "github";
|
|
66
82
|
projectDir?: string;
|
|
@@ -82,6 +98,7 @@ export interface FSAdapterConfig {
|
|
|
82
98
|
};
|
|
83
99
|
github?: GitHubConfig;
|
|
84
100
|
invalidationCallbacks?: InvalidationCallbacks;
|
|
101
|
+
styleCallbacks?: StyleCallbacks;
|
|
85
102
|
}
|
|
86
103
|
export interface VeryfrontFSState {
|
|
87
104
|
initialized: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;IACrD,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAElF,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,WAAW,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,eAAe,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAE3B,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC/C,gBAAgB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,IAAI,IAAI,CAAC;IAE5B,iBAAiB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtE,cAAc,CAAC,CAAC,CAAC,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,GACA,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,KAAK,CAAC,EAAE;YACN,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;QACF,KAAK,CAAC,EAAE;YACN,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import type { ContentSource, ResolvedContentContext } from "./types.js";
|
|
1
|
+
import type { ContentSource, PreviewStyleArtifactInfo, ResolvedContentContext } from "./types.js";
|
|
2
2
|
export declare const INVALIDATION_DEBOUNCE_MS = 100;
|
|
3
3
|
export declare const WS_RECONNECT_DELAY_MS = 5000;
|
|
4
4
|
export declare const WS_RECONNECT_MAX_DELAY_MS = 120000;
|
|
5
5
|
export declare const WS_RECONNECT_MAX_FAILURES = 10;
|
|
6
6
|
export declare const WS_HEARTBEAT_INTERVAL_MS = 60000;
|
|
7
7
|
export declare const WS_HEARTBEAT_TIMEOUT_MS = 300000;
|
|
8
|
-
export interface PreviewStyleArtifactInfo {
|
|
9
|
-
hash: string;
|
|
10
|
-
assetPath: string;
|
|
11
|
-
}
|
|
12
8
|
export declare function getConnectionLogContext(projectSlug: string | undefined, context?: Record<string, unknown>): Record<string, unknown>;
|
|
13
9
|
export declare function getPreviewInvalidationPrefixes(contentContext: ResolvedContentContext | null): string[];
|
|
14
10
|
export declare function getReconnectDelay(consecutiveFailures: number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-manager-helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/websocket-manager-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket-manager-helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/websocket-manager-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGlG,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAChD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAED,wBAAgB,8BAA8B,CAC5C,cAAc,EAAE,sBAAsB,GAAG,IAAI,GAC5C,MAAM,EAAE,CAGV;AAED,wBAAgB,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,sBAAsB,GAAG,IAAI,EAC7C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,wBAAwB,GAC/C;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;IACtC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAcA;AAED,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,MAAM,aAAa,EACrC,iBAAiB,EAAE,MAAM,sBAAsB,GAAG,IAAI,GACrD;IAAE,aAAa,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAKzD;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAcnF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { FileCache } from "../cache/file-cache.js";
|
|
2
2
|
import type { VeryfrontApiClient } from "../../veryfront-api-client/index.js";
|
|
3
|
-
import type { ContentSource, InvalidationCallbacks, ResolvedContentContext } from "./types.js";
|
|
4
|
-
import { type PreviewStyleArtifactInfo } from "./websocket-manager-helpers.js";
|
|
3
|
+
import type { ContentSource, InvalidationCallbacks, PreviewStyleArtifactInfo, ResolvedContentContext } from "./types.js";
|
|
5
4
|
interface WebSocketDeps {
|
|
6
5
|
apiBaseUrl: string;
|
|
7
6
|
apiToken: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/websocket-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"websocket-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/websocket-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AA8BpB,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;IAE7C,iBAAiB,EAAE,MAAM,sBAAsB,GAAG,IAAI,CAAC;IACvD,gBAAgB,EAAE,MAAM,aAAa,CAAC;IACtC,aAAa,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACxC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,KAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,KAC7C,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAC;CACpD;AAED,qBAAa,gBAAgB;IAqBf,OAAO,CAAC,QAAQ,CAAC,IAAI;IApBjC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,gBAAgB,CAAsD;IAC9E,OAAO,CAAC,gBAAgB,CAAuD;IAC/E,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,iBAAiB,CAAsD;IAC/E,OAAO,CAAC,0BAA0B,CAAsD;IACxF,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,0BAA0B,CAAK;IACvC,OAAO,CAAC,iCAAiC,CAAqB;IAC9D,OAAO,CAAC,WAAW,CAIjB;gBAE2B,IAAI,EAAE,aAAa;IAEhD,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,2BAA2B;IAUnC,cAAc,IAAI;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B;IAID,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA8GhC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,IAAI,IAAI;IA8Bf,OAAO,CAAC,iBAAiB;IAkJzB,OAAO,CAAC,8BAA8B;IA0GtC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,6BAA6B;YAiBvB,4BAA4B;YAwI5B,mBAAmB;IA2IjC,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,WAAW;CAyBpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/src/server/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/src/server/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,OAAO,EAAE,KAAK,eAAe,EAAqC,MAAM,wBAAwB,CAAC;AAqDjG,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,OAAO,EAAE,cAAc,CAAC;IAExB,2BAA2B;IAC3B,MAAM,EAAE,eAAe,CAAC;IAExB,wCAAwC;IACxC,cAAc,EAAE,OAAO,CAAC;IAExB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAgHD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,EAC3C,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAO1B;AAkDD,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CA2K1B;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CAa1B;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CAyB1B"}
|
|
@@ -18,6 +18,7 @@ import { getEnvSource, hasEnvLoaded, loadEnv, markEnvLoaded, supportsEnvFiles, }
|
|
|
18
18
|
import { getLogBuffer } from "../observability/log-buffer.js";
|
|
19
19
|
import { createFileLogSubscriber, } from "../observability/file-log-subscriber.js";
|
|
20
20
|
import { ReloadNotifier } from "./reload-notifier.js";
|
|
21
|
+
import { createServerStyleCallbacks, createServerStyleInvalidationCallbacks, } from "./style-callbacks.js";
|
|
21
22
|
import { clearDomainCache } from "./utils/domain-lookup.js";
|
|
22
23
|
const bootstrapLog = logger.component("bootstrap");
|
|
23
24
|
const bootstrapDevLog = logger.component("bootstrap-dev");
|
|
@@ -209,12 +210,19 @@ export async function bootstrap(projectDir, adapter) {
|
|
|
209
210
|
bootstrapLog.debug("Initializing FSAdapter", { type: fsType });
|
|
210
211
|
// Inject server-layer callbacks into FS config so the platform layer
|
|
211
212
|
// doesn't need to import from the server layer
|
|
213
|
+
const configuredFs = config.fs;
|
|
212
214
|
const fsWithCallbacks = {
|
|
213
215
|
...config.fs,
|
|
214
216
|
invalidationCallbacks: {
|
|
217
|
+
...createServerStyleInvalidationCallbacks(),
|
|
218
|
+
...configuredFs?.invalidationCallbacks,
|
|
215
219
|
triggerReload: (changedPaths, project) => ReloadNotifier.triggerReload(changedPaths, project),
|
|
216
220
|
clearDomainCache,
|
|
217
221
|
},
|
|
222
|
+
styleCallbacks: {
|
|
223
|
+
...createServerStyleCallbacks(),
|
|
224
|
+
...configuredFs?.styleCallbacks,
|
|
225
|
+
},
|
|
218
226
|
};
|
|
219
227
|
const enhancedAdapter = await enhanceAdapterWithFS(adapter, { ...config, fs: fsWithCallbacks }, projectDir);
|
|
220
228
|
if (enhancedAdapter === adapter) {
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { InvalidationCallbacks, StyleCallbacks } from "../platform/adapters/fs/veryfront/types.js";
|
|
2
|
+
export declare function createServerStyleCallbacks(): StyleCallbacks;
|
|
3
|
+
export declare function createServerStyleInvalidationCallbacks(): Pick<InvalidationCallbacks, "clearProjectCSSCache">;
|
|
4
|
+
//# sourceMappingURL=style-callbacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-callbacks.d.ts","sourceRoot":"","sources":["../../../src/src/server/style-callbacks.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EAGf,MAAM,4CAA4C,CAAC;AA2EpD,wBAAgB,0BAA0B,IAAI,cAAc,CAE3D;AAED,wBAAgB,sCAAsC,IAAI,IAAI,CAC5D,qBAAqB,EACrB,sBAAsB,CACvB,CAQA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { getConfig } from "../config/index.js";
|
|
2
|
+
import { invalidateProjectCandidateManifests, } from "../rendering/orchestrator/css-candidate-manifest.js";
|
|
3
|
+
import { runtime } from "../platform/adapters/registry.js";
|
|
4
|
+
import { logger } from "../utils/index.js";
|
|
5
|
+
import { buildPreparedCSSArtifactFromFiles, findStylesheetFromFiles, } from "../html/styles-builder/css-pregeneration.js";
|
|
6
|
+
import { resolveStyleContentVersion } from "../html/styles-builder/content-version.js";
|
|
7
|
+
import { invalidatePreparedProjectCSS, } from "../html/styles-builder/prepared-project-css-cache.js";
|
|
8
|
+
import { createStyleScopeProfile } from "../html/styles-builder/style-scope-profile.js";
|
|
9
|
+
import { invalidateProjectCSS } from "../html/styles-builder/tailwind-compiler.js";
|
|
10
|
+
const styleCallbackLog = logger.component("server-style-callbacks");
|
|
11
|
+
async function pregenerateProjectStyles(files, context) {
|
|
12
|
+
const { projectDir, projectSlug, contentContext } = context;
|
|
13
|
+
if (!projectDir) {
|
|
14
|
+
styleCallbackLog.debug("Skipping CSS pre-generation without projectDir", {
|
|
15
|
+
projectSlug,
|
|
16
|
+
});
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
let stylesheetPath;
|
|
20
|
+
let styleProfile = createStyleScopeProfile();
|
|
21
|
+
try {
|
|
22
|
+
const adapter = await runtime.get();
|
|
23
|
+
const cacheKey = contentContext?.releaseId || projectSlug;
|
|
24
|
+
const config = await getConfig(projectDir, adapter, { cacheKey });
|
|
25
|
+
stylesheetPath = config?.tailwind?.stylesheet;
|
|
26
|
+
styleProfile = createStyleScopeProfile(config);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
styleCallbackLog.debug("Failed to load config for CSS pre-generation", {
|
|
30
|
+
projectSlug,
|
|
31
|
+
error: error instanceof Error ? error.message : String(error),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const stylesheet = findStylesheetFromFiles(files, stylesheetPath);
|
|
35
|
+
const projectVersion = resolveStyleContentVersion(contentContext, {
|
|
36
|
+
branch: contentContext?.branch ?? null,
|
|
37
|
+
releaseId: contentContext?.releaseId ?? null,
|
|
38
|
+
environmentName: contentContext?.environmentName ?? null,
|
|
39
|
+
});
|
|
40
|
+
const result = await buildPreparedCSSArtifactFromFiles({
|
|
41
|
+
projectSlug,
|
|
42
|
+
projectVersion,
|
|
43
|
+
projectDir,
|
|
44
|
+
files,
|
|
45
|
+
styleProfile,
|
|
46
|
+
stylesheet,
|
|
47
|
+
stylesheetPath,
|
|
48
|
+
minify: true,
|
|
49
|
+
environment: "preview",
|
|
50
|
+
buildMode: "production",
|
|
51
|
+
});
|
|
52
|
+
styleCallbackLog.debug("CSS pre-generation complete", {
|
|
53
|
+
projectSlug,
|
|
54
|
+
projectVersion,
|
|
55
|
+
cssHash: result.hash,
|
|
56
|
+
candidateCount: result.candidateCount,
|
|
57
|
+
fromCache: result.fromCache,
|
|
58
|
+
});
|
|
59
|
+
return { hash: result.hash, assetPath: `/_vf/css/${result.hash}.css` };
|
|
60
|
+
}
|
|
61
|
+
export function createServerStyleCallbacks() {
|
|
62
|
+
return { pregenerateStyles: pregenerateProjectStyles };
|
|
63
|
+
}
|
|
64
|
+
export function createServerStyleInvalidationCallbacks() {
|
|
65
|
+
return {
|
|
66
|
+
clearProjectCSSCache: (projectSlug) => {
|
|
67
|
+
invalidateProjectCSS(projectSlug);
|
|
68
|
+
invalidatePreparedProjectCSS(projectSlug);
|
|
69
|
+
invalidateProjectCandidateManifests(projectSlug);
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
@@ -82,7 +82,7 @@ export declare const getCheckpointSchema: () => import("../../internal-agents/sc
|
|
|
82
82
|
/**
|
|
83
83
|
* Approval status schema
|
|
84
84
|
*/
|
|
85
|
-
export declare const getApprovalStatusSchema: () => import("../../internal-agents/schema.js").Schema<"rejected" | "
|
|
85
|
+
export declare const getApprovalStatusSchema: () => import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "expired" | "approved">;
|
|
86
86
|
/**
|
|
87
87
|
* Pending approval schema
|
|
88
88
|
*/
|
|
@@ -94,7 +94,7 @@ export declare const getPendingApprovalSchema: () => import("../../internal-agen
|
|
|
94
94
|
approvers: import("../../internal-agents/schema.js").Schema<string[] | undefined>;
|
|
95
95
|
requestedAt: import("../../internal-agents/schema.js").Schema<Date>;
|
|
96
96
|
expiresAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
97
|
-
status: import("../../internal-agents/schema.js").Schema<"rejected" | "
|
|
97
|
+
status: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "expired" | "approved">;
|
|
98
98
|
decidedBy: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
99
99
|
decidedAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
100
100
|
comment: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
@@ -192,7 +192,7 @@ export declare const CheckpointSchema: import("../../internal-agents/schema.js")
|
|
|
192
192
|
completedAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
193
193
|
}>>>;
|
|
194
194
|
}>>;
|
|
195
|
-
export declare const ApprovalStatusSchema: import("../../internal-agents/schema.js").Schema<"rejected" | "
|
|
195
|
+
export declare const ApprovalStatusSchema: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "expired" | "approved">;
|
|
196
196
|
export declare const PendingApprovalSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
197
197
|
id: import("../../internal-agents/schema.js").Schema<string>;
|
|
198
198
|
nodeId: import("../../internal-agents/schema.js").Schema<string>;
|
|
@@ -201,7 +201,7 @@ export declare const PendingApprovalSchema: import("../../internal-agents/schema
|
|
|
201
201
|
approvers: import("../../internal-agents/schema.js").Schema<string[] | undefined>;
|
|
202
202
|
requestedAt: import("../../internal-agents/schema.js").Schema<Date>;
|
|
203
203
|
expiresAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
204
|
-
status: import("../../internal-agents/schema.js").Schema<"rejected" | "
|
|
204
|
+
status: import("../../internal-agents/schema.js").Schema<"rejected" | "pending" | "expired" | "approved">;
|
|
205
205
|
decidedBy: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
206
206
|
decidedAt: import("../../internal-agents/schema.js").Schema<Date | undefined>;
|
|
207
207
|
comment: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batch-results.d.ts","sourceRoot":"","sources":["../../../../src/src/cache/backends/batch-results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACtC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAM5B"}
|