veryfront 0.0.72 → 0.0.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/ai/components.js +593 -52
- package/dist/ai/components.js.map +3 -3
- package/dist/ai/dev.js +121 -18
- package/dist/ai/dev.js.map +2 -2
- package/dist/ai/index.js +732 -236
- package/dist/ai/index.js.map +4 -4
- package/dist/ai/production.js +121 -18
- package/dist/ai/production.js.map +2 -2
- package/dist/ai/react.js +57 -37
- package/dist/ai/react.js.map +2 -2
- package/dist/ai/workflow.js +435 -63
- package/dist/ai/workflow.js.map +4 -4
- package/dist/components.js +3353 -206
- package/dist/components.js.map +4 -4
- package/dist/config.js +377 -40
- package/dist/config.js.map +3 -3
- package/dist/context.d.ts +44 -0
- package/dist/context.js +52 -0
- package/dist/context.js.map +7 -0
- package/dist/data.js +156 -37
- package/dist/data.js.map +3 -3
- package/dist/fonts.d.ts +24 -0
- package/dist/fonts.js +45 -0
- package/dist/fonts.js.map +7 -0
- package/dist/head.d.ts +21 -0
- package/dist/head.js +34 -0
- package/dist/head.js.map +7 -0
- package/dist/index.js +3463 -282
- package/dist/index.js.map +4 -4
- package/dist/oauth/handlers.js +1 -1
- package/dist/oauth/handlers.js.map +2 -2
- package/dist/oauth/index.js +1 -1
- package/dist/oauth/index.js.map +2 -2
- package/dist/oauth/providers.js +1 -1
- package/dist/oauth/providers.js.map +2 -2
- package/dist/router.d.ts +69 -0
- package/dist/router.js +61 -0
- package/dist/router.js.map +7 -0
- package/dist/templates/ai/app/api/chat/route.ts +106 -3
- package/package.json +19 -2
- package/dist/cli.js +0 -108105
package/dist/data.js
CHANGED
|
@@ -413,19 +413,69 @@ function getEnvironmentVariable(name) {
|
|
|
413
413
|
}
|
|
414
414
|
return void 0;
|
|
415
415
|
}
|
|
416
|
+
function isProductionEnvironment() {
|
|
417
|
+
return getEnvironmentVariable("NODE_ENV") === "production";
|
|
418
|
+
}
|
|
416
419
|
|
|
417
420
|
// src/core/utils/logger/logger.ts
|
|
418
421
|
var cachedLogLevel;
|
|
422
|
+
var cachedLogFormat;
|
|
419
423
|
function resolveLogLevel(force = false) {
|
|
420
424
|
if (force || cachedLogLevel === void 0) {
|
|
421
425
|
cachedLogLevel = getDefaultLevel();
|
|
422
426
|
}
|
|
423
427
|
return cachedLogLevel;
|
|
424
428
|
}
|
|
425
|
-
|
|
426
|
-
|
|
429
|
+
function resolveLogFormat(force = false) {
|
|
430
|
+
if (force || cachedLogFormat === void 0) {
|
|
431
|
+
cachedLogFormat = getDefaultFormat();
|
|
432
|
+
}
|
|
433
|
+
return cachedLogFormat;
|
|
434
|
+
}
|
|
435
|
+
function getDefaultFormat() {
|
|
436
|
+
const envFormat = getEnvironmentVariable("LOG_FORMAT");
|
|
437
|
+
if (envFormat === "json" || envFormat === "text") {
|
|
438
|
+
return envFormat;
|
|
439
|
+
}
|
|
440
|
+
return isProductionEnvironment() ? "json" : "text";
|
|
441
|
+
}
|
|
442
|
+
function serializeError(err) {
|
|
443
|
+
if (err instanceof Error) {
|
|
444
|
+
return {
|
|
445
|
+
name: err.name,
|
|
446
|
+
message: err.message,
|
|
447
|
+
stack: err.stack
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
if (err !== void 0 && err !== null) {
|
|
451
|
+
return {
|
|
452
|
+
name: "UnknownError",
|
|
453
|
+
message: String(err)
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
return void 0;
|
|
457
|
+
}
|
|
458
|
+
function extractContext(args) {
|
|
459
|
+
let context;
|
|
460
|
+
let error;
|
|
461
|
+
for (const arg of args) {
|
|
462
|
+
if (arg instanceof Error) {
|
|
463
|
+
error = serializeError(arg);
|
|
464
|
+
} else if (typeof arg === "object" && arg !== null && !Array.isArray(arg)) {
|
|
465
|
+
context = { ...context, ...arg };
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
return { context, error };
|
|
469
|
+
}
|
|
470
|
+
var ConsoleLogger = class _ConsoleLogger {
|
|
471
|
+
constructor(prefix, level = resolveLogLevel(), format = resolveLogFormat(), boundContext) {
|
|
427
472
|
this.prefix = prefix;
|
|
428
473
|
this.level = level;
|
|
474
|
+
this.format = format;
|
|
475
|
+
this.boundContext = {};
|
|
476
|
+
if (boundContext) {
|
|
477
|
+
this.boundContext = boundContext;
|
|
478
|
+
}
|
|
429
479
|
}
|
|
430
480
|
setLevel(level) {
|
|
431
481
|
this.level = level;
|
|
@@ -433,36 +483,88 @@ var ConsoleLogger = class {
|
|
|
433
483
|
getLevel() {
|
|
434
484
|
return this.level;
|
|
435
485
|
}
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
486
|
+
setFormat(format) {
|
|
487
|
+
this.format = format;
|
|
488
|
+
}
|
|
489
|
+
getFormat() {
|
|
490
|
+
return this.format;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Create a child logger with additional bound context.
|
|
494
|
+
*/
|
|
495
|
+
child(context) {
|
|
496
|
+
return new _ConsoleLogger(this.prefix, this.level, this.format, {
|
|
497
|
+
...this.boundContext,
|
|
498
|
+
...context
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
formatJson(level, message, args) {
|
|
502
|
+
const { context, error } = extractContext(args);
|
|
503
|
+
const entry = {
|
|
504
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
505
|
+
level,
|
|
506
|
+
service: this.prefix.toLowerCase(),
|
|
507
|
+
message
|
|
508
|
+
};
|
|
509
|
+
const mergedContext = { ...this.boundContext, ...context };
|
|
510
|
+
if (Object.keys(mergedContext).length > 0) {
|
|
511
|
+
if ("requestId" in mergedContext) {
|
|
512
|
+
entry.requestId = String(mergedContext.requestId);
|
|
513
|
+
delete mergedContext.requestId;
|
|
514
|
+
}
|
|
515
|
+
if ("traceId" in mergedContext) {
|
|
516
|
+
entry.traceId = String(mergedContext.traceId);
|
|
517
|
+
delete mergedContext.traceId;
|
|
518
|
+
}
|
|
519
|
+
if ("projectSlug" in mergedContext) {
|
|
520
|
+
entry.projectSlug = String(mergedContext.projectSlug);
|
|
521
|
+
delete mergedContext.projectSlug;
|
|
522
|
+
}
|
|
523
|
+
if ("durationMs" in mergedContext) {
|
|
524
|
+
entry.durationMs = Number(mergedContext.durationMs);
|
|
525
|
+
delete mergedContext.durationMs;
|
|
526
|
+
}
|
|
527
|
+
if (Object.keys(mergedContext).length > 0) {
|
|
528
|
+
entry.context = mergedContext;
|
|
529
|
+
}
|
|
439
530
|
}
|
|
531
|
+
if (error) {
|
|
532
|
+
entry.error = error;
|
|
533
|
+
}
|
|
534
|
+
return JSON.stringify(entry);
|
|
440
535
|
}
|
|
441
|
-
|
|
442
|
-
if (this.level
|
|
443
|
-
|
|
536
|
+
log(level, logLevel, consoleFn, message, args) {
|
|
537
|
+
if (this.level > logLevel)
|
|
538
|
+
return;
|
|
539
|
+
if (this.format === "json") {
|
|
540
|
+
consoleFn(this.formatJson(level, message, args));
|
|
541
|
+
} else {
|
|
542
|
+
const prefix = level === "info" ? "" : ` ${level.toUpperCase()}:`;
|
|
543
|
+
consoleFn(`[${this.prefix}]${prefix} ${message}`, ...args);
|
|
444
544
|
}
|
|
445
545
|
}
|
|
546
|
+
debug(message, ...args) {
|
|
547
|
+
this.log("debug", 0 /* DEBUG */, console.debug, message, args);
|
|
548
|
+
}
|
|
549
|
+
info(message, ...args) {
|
|
550
|
+
this.log("info", 1 /* INFO */, console.log, message, args);
|
|
551
|
+
}
|
|
446
552
|
warn(message, ...args) {
|
|
447
|
-
|
|
448
|
-
console.warn(`[${this.prefix}] WARN: ${message}`, ...args);
|
|
449
|
-
}
|
|
553
|
+
this.log("warn", 2 /* WARN */, console.warn, message, args);
|
|
450
554
|
}
|
|
451
555
|
error(message, ...args) {
|
|
452
|
-
|
|
453
|
-
console.error(`[${this.prefix}] ERROR: ${message}`, ...args);
|
|
454
|
-
}
|
|
556
|
+
this.log("error", 3 /* ERROR */, console.error, message, args);
|
|
455
557
|
}
|
|
456
558
|
async time(label, fn) {
|
|
457
559
|
const start = performance.now();
|
|
458
560
|
try {
|
|
459
561
|
const result = await fn();
|
|
460
|
-
const
|
|
461
|
-
this.debug(`${label} completed
|
|
562
|
+
const durationMs = performance.now() - start;
|
|
563
|
+
this.debug(`${label} completed`, { durationMs: Math.round(durationMs) });
|
|
462
564
|
return result;
|
|
463
565
|
} catch (error) {
|
|
464
|
-
const
|
|
465
|
-
this.error(`${label} failed
|
|
566
|
+
const durationMs = performance.now() - start;
|
|
567
|
+
this.error(`${label} failed`, { durationMs: Math.round(durationMs) }, error);
|
|
466
568
|
throw error;
|
|
467
569
|
}
|
|
468
570
|
}
|
|
@@ -505,6 +607,7 @@ var serverLogger = createLogger("SERVER");
|
|
|
505
607
|
var rendererLogger = createLogger("RENDERER");
|
|
506
608
|
var bundlerLogger = createLogger("BUNDLER");
|
|
507
609
|
var agentLogger = createLogger("AGENT");
|
|
610
|
+
var proxyLogger = createLogger("PROXY");
|
|
508
611
|
var logger = createLogger("VERYFRONT");
|
|
509
612
|
|
|
510
613
|
// src/core/utils/constants/cache.ts
|
|
@@ -532,7 +635,7 @@ var LRU_DEFAULT_MAX_SIZE_BYTES = 50 * 1024 * 1024;
|
|
|
532
635
|
// deno.json
|
|
533
636
|
var deno_default = {
|
|
534
637
|
name: "veryfront",
|
|
535
|
-
version: "0.0.
|
|
638
|
+
version: "0.0.74",
|
|
536
639
|
nodeModulesDir: "auto",
|
|
537
640
|
exclude: [
|
|
538
641
|
"npm/",
|
|
@@ -617,12 +720,12 @@ var deno_default = {
|
|
|
617
720
|
csstype: "https://esm.sh/csstype@3.2.3",
|
|
618
721
|
"@types/react": "https://esm.sh/@types/react@18.3.27?deps=csstype@3.2.3",
|
|
619
722
|
"@types/react-dom": "https://esm.sh/@types/react-dom@18.3.7?deps=csstype@3.2.3",
|
|
620
|
-
react: "
|
|
621
|
-
"react-dom": "
|
|
622
|
-
"react-dom/server": "
|
|
623
|
-
"react-dom/client": "
|
|
624
|
-
"react/jsx-runtime": "
|
|
625
|
-
"react/jsx-dev-runtime": "
|
|
723
|
+
react: "npm:react@18.3.1",
|
|
724
|
+
"react-dom": "npm:react-dom@18.3.1",
|
|
725
|
+
"react-dom/server": "npm:react-dom@18.3.1/server.node",
|
|
726
|
+
"react-dom/client": "npm:react-dom@18.3.1/client",
|
|
727
|
+
"react/jsx-runtime": "npm:react@18.3.1/jsx-runtime",
|
|
728
|
+
"react/jsx-dev-runtime": "npm:react@18.3.1/jsx-dev-runtime",
|
|
626
729
|
"@mdx-js/mdx": "npm:@mdx-js/mdx@3.0.0",
|
|
627
730
|
"@mdx-js/react": "npm:@mdx-js/react@3.0.0",
|
|
628
731
|
"unist-util-visit": "npm:unist-util-visit@5.0.0",
|
|
@@ -632,27 +735,36 @@ var deno_default = {
|
|
|
632
735
|
"remark-frontmatter": "npm:remark-frontmatter@5.0.0",
|
|
633
736
|
"rehype-highlight": "npm:rehype-highlight@7.0.2",
|
|
634
737
|
"rehype-slug": "npm:rehype-slug@6.0.0",
|
|
635
|
-
esbuild: "
|
|
636
|
-
"esbuild/mod.js": "
|
|
738
|
+
esbuild: "npm:esbuild@0.20.2",
|
|
739
|
+
"esbuild/mod.js": "npm:esbuild@0.20.2",
|
|
637
740
|
"es-module-lexer": "npm:es-module-lexer@1.5.0",
|
|
638
|
-
zod: "npm:zod@3.
|
|
741
|
+
zod: "npm:zod@3.25.76",
|
|
639
742
|
"mime-types": "npm:mime-types@2.1.35",
|
|
640
743
|
mdast: "npm:@types/mdast@4.0.3",
|
|
641
744
|
hast: "npm:@types/hast@3.0.3",
|
|
642
745
|
unist: "npm:@types/unist@3.0.2",
|
|
643
746
|
unified: "npm:unified@11.0.5",
|
|
644
|
-
ai: "
|
|
645
|
-
"ai/react": "
|
|
646
|
-
"@ai-sdk/react": "
|
|
747
|
+
ai: "npm:ai@5.0.76",
|
|
748
|
+
"ai/react": "npm:@ai-sdk/react@2.0.1",
|
|
749
|
+
"@ai-sdk/react": "npm:@ai-sdk/react@2.0.1",
|
|
647
750
|
"@ai-sdk/openai": "https://esm.sh/@ai-sdk/openai@2.0.1",
|
|
648
751
|
"@ai-sdk/anthropic": "https://esm.sh/@ai-sdk/anthropic@2.0.1",
|
|
649
752
|
unocss: "https://esm.sh/unocss@0.59.0",
|
|
650
753
|
"@unocss/core": "https://esm.sh/@unocss/core@0.59.0",
|
|
651
754
|
"@unocss/preset-wind": "https://esm.sh/@unocss/preset-wind@0.59.0",
|
|
755
|
+
"next-themes": "npm:next-themes@0.3.0",
|
|
652
756
|
redis: "npm:redis",
|
|
653
757
|
pg: "npm:pg",
|
|
654
758
|
"@opentelemetry/api": "npm:@opentelemetry/api@1",
|
|
655
|
-
"@opentelemetry/core": "npm:@opentelemetry/core@1"
|
|
759
|
+
"@opentelemetry/core": "npm:@opentelemetry/core@1",
|
|
760
|
+
"@opentelemetry/sdk-trace-base": "npm:@opentelemetry/sdk-trace-base@1",
|
|
761
|
+
"@opentelemetry/exporter-trace-otlp-http": "npm:@opentelemetry/exporter-trace-otlp-http@0.57",
|
|
762
|
+
"@opentelemetry/resources": "npm:@opentelemetry/resources@1",
|
|
763
|
+
"@opentelemetry/semantic-conventions": "npm:@opentelemetry/semantic-conventions@1",
|
|
764
|
+
"@babel/parser": "npm:@babel/parser@7.26.3",
|
|
765
|
+
"@babel/traverse": "npm:@babel/traverse@7.26.3",
|
|
766
|
+
"@babel/generator": "npm:@babel/generator@7.26.3",
|
|
767
|
+
"@babel/types": "npm:@babel/types@7.26.3"
|
|
656
768
|
},
|
|
657
769
|
compilerOptions: {
|
|
658
770
|
jsx: "react-jsx",
|
|
@@ -660,7 +772,7 @@ var deno_default = {
|
|
|
660
772
|
strict: true,
|
|
661
773
|
noImplicitAny: true,
|
|
662
774
|
noUncheckedIndexedAccess: true,
|
|
663
|
-
types: [],
|
|
775
|
+
types: ["npm:@types/react@18"],
|
|
664
776
|
lib: [
|
|
665
777
|
"deno.window",
|
|
666
778
|
"dom",
|
|
@@ -675,9 +787,9 @@ var deno_default = {
|
|
|
675
787
|
build: "deno compile --allow-all --output ../../bin/veryfront src/cli/main.ts",
|
|
676
788
|
"build:npm": "deno run -A scripts/build-npm.ts",
|
|
677
789
|
release: "deno run -A scripts/release.ts",
|
|
678
|
-
test: "DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --unstable-worker-options --unstable-net",
|
|
679
|
-
"test:unit": "DENO_JOBS=1 deno test --parallel --allow-all --v8-flags=--max-old-space-size=8192 --ignore=tests --unstable-worker-options --unstable-net",
|
|
680
|
-
"test:integration": "DENO_JOBS=1 deno test --parallel --fail-fast --allow-all tests --unstable-worker-options --unstable-net",
|
|
790
|
+
test: "VF_DISABLE_LRU_INTERVAL=1 DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --unstable-worker-options --unstable-net",
|
|
791
|
+
"test:unit": "VF_DISABLE_LRU_INTERVAL=1 DENO_JOBS=1 deno test --parallel --allow-all --v8-flags=--max-old-space-size=8192 --ignore=tests,src/ai/workflow/__tests__ --unstable-worker-options --unstable-net",
|
|
792
|
+
"test:integration": "VF_DISABLE_LRU_INTERVAL=1 DENO_JOBS=1 deno test --parallel --fail-fast --allow-all tests --unstable-worker-options --unstable-net",
|
|
681
793
|
"test:coverage": "rm -rf coverage && DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --coverage=coverage --unstable-worker-options --unstable-net || exit 1",
|
|
682
794
|
"test:coverage:unit": "rm -rf coverage && DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --coverage=coverage --ignore=tests --unstable-worker-options --unstable-net || exit 1",
|
|
683
795
|
"test:coverage:integration": "rm -rf coverage && DENO_JOBS=1 deno test --parallel --fail-fast --allow-all --coverage=coverage tests --unstable-worker-options --unstable-net || exit 1",
|
|
@@ -738,7 +850,7 @@ var deno_default = {
|
|
|
738
850
|
};
|
|
739
851
|
|
|
740
852
|
// src/platform/compat/runtime.ts
|
|
741
|
-
var isDeno = typeof Deno !== "undefined";
|
|
853
|
+
var isDeno = typeof Deno !== "undefined" && typeof Deno.version === "object";
|
|
742
854
|
var isNode = typeof globalThis.process !== "undefined" && globalThis.process?.versions?.node !== void 0;
|
|
743
855
|
var isBun = typeof globalThis.Bun !== "undefined";
|
|
744
856
|
var isCloudflare = typeof globalThis !== "undefined" && "caches" in globalThis && "WebSocketPair" in globalThis;
|
|
@@ -758,6 +870,7 @@ function getEnv(key) {
|
|
|
758
870
|
|
|
759
871
|
// src/core/utils/version.ts
|
|
760
872
|
var VERSION = getEnv("VERYFRONT_VERSION") || (typeof deno_default.version === "string" ? deno_default.version : "0.0.0");
|
|
873
|
+
var SERVER_START_TIME = Date.now();
|
|
761
874
|
|
|
762
875
|
// src/core/utils/constants/http.ts
|
|
763
876
|
var KB_IN_BYTES = 1024;
|
|
@@ -957,6 +1070,9 @@ var InMemoryBundleManifestStore = class {
|
|
|
957
1070
|
};
|
|
958
1071
|
var manifestStore = new InMemoryBundleManifestStore();
|
|
959
1072
|
|
|
1073
|
+
// src/core/utils/perf-timer.ts
|
|
1074
|
+
var enabled = typeof process !== "undefined" ? process.env?.VERYFRONT_PERF === "1" : typeof Deno !== "undefined" ? Deno.env.get("VERYFRONT_PERF") === "1" : false;
|
|
1075
|
+
|
|
960
1076
|
// src/core/utils/lru-wrapper.ts
|
|
961
1077
|
var LRUCache = class {
|
|
962
1078
|
adapter;
|
|
@@ -986,6 +1102,9 @@ var LRUCache = class {
|
|
|
986
1102
|
this.adapter.cleanupExpired();
|
|
987
1103
|
}, this.cleanupIntervalMs);
|
|
988
1104
|
this.cleanupTimer = timer;
|
|
1105
|
+
if (typeof Deno !== "undefined" && "unrefTimer" in Deno) {
|
|
1106
|
+
Deno.unrefTimer(timer);
|
|
1107
|
+
}
|
|
989
1108
|
}
|
|
990
1109
|
toStringKey(key) {
|
|
991
1110
|
if (typeof key === "string") {
|