veryfront 0.1.704 → 0.1.705

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.704",
3
+ "version": "0.1.705",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": "P2D",
@@ -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;AAEX,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,6BAA6B,IAAI,MAAM,EAAE,CAExD;AAED,OAAO,EAAE,+BAA+B,EAAE,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
- return `https://esm.sh/${packageName}?bundle&external=tailwindcss&target=denonext`;
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 "./batch-results.js";
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 "./batch-results.js";
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 "./batch-results.js";
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 backends.
2
+ * Shared batch-result assembly for cache reads.
3
3
  *
4
- * Several backends implement `getBatch` by iterating the requested keys and
5
- * building a `Map<string, string | null>` where each key resolves to its value
6
- * (or `null` when missing/expired/unavailable). This helper centralizes that
7
- * assembly so the per-backend code only supplies the resolver.
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/backends/batch-results
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 backends.
2
+ * Shared batch-result assembly for cache reads.
3
3
  *
4
- * Several backends implement `getBatch` by iterating the requested keys and
5
- * building a `Map<string, string | null>` where each key resolves to its value
6
- * (or `null` when missing/expired/unavailable). This helper centralizes that
7
- * assembly so the per-backend code only supplies the resolver.
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/backends/batch-results
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;AAIjD,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;AAkDD,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"}
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 results = new Map();
94
- await Promise.all(keys.map(async (key) => {
95
- results.set(key, await backend.get(key));
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":"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"}
1
+ {"version":3,"file":"tokenizing-gateway.d.ts","sourceRoot":"","sources":["../../../src/src/cache/tokenizing-gateway.ts"],"names":[],"mappings":"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"}
@@ -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 results;
59
+ return new Map();
60
60
  if (!this.backend.getBatch) {
61
- // Fallback to individual gets
62
- for (const key of keys) {
63
- results.set(key, await this.getCode(key));
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
- for (const [key, raw] of rawResults) {
66
+ return buildBatchResults(keys, (key) => {
67
+ const raw = rawResults.get(key) ?? null;
69
68
  if (!raw) {
70
- results.set(key, null);
71
- continue;
69
+ return null;
72
70
  }
73
71
  // Only detokenize for distributed backends
74
72
  if (!this.isDistributed()) {
75
- results.set(key, raw);
76
- continue;
73
+ return raw;
77
74
  }
78
- results.set(key, detokenizeAllCachePaths(raw));
79
- }
80
- return results;
75
+ return detokenizeAllCachePaths(raw);
76
+ });
81
77
  }
82
78
  /**
83
79
  * Store code in cache with automatic tokenization.
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.704";
2
+ export declare const VERSION = "0.1.705";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.704";
4
+ export const VERSION = "0.1.705";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.704",
3
+ "version": "0.1.705",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",
@@ -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"}