veryfront 0.1.74 → 0.1.76
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 +2 -0
- package/esm/cli/commands/files/command.d.ts +3 -3
- package/esm/cli/commands/knowledge/command.d.ts +2 -0
- package/esm/cli/commands/knowledge/command.d.ts.map +1 -1
- package/esm/cli/commands/knowledge/command.js +64 -1
- package/esm/deno.d.ts +7 -0
- package/esm/deno.js +13 -6
- package/esm/src/data/data-fetcher.d.ts +11 -1
- package/esm/src/data/data-fetcher.d.ts.map +1 -1
- package/esm/src/data/data-fetcher.js +5 -2
- package/esm/src/data/index.d.ts +1 -1
- package/esm/src/data/index.d.ts.map +1 -1
- package/esm/src/data/server-data-fetcher.d.ts +14 -1
- package/esm/src/data/server-data-fetcher.d.ts.map +1 -1
- package/esm/src/data/server-data-fetcher.js +65 -3
- package/esm/src/jobs/index.d.ts +34 -0
- package/esm/src/jobs/index.d.ts.map +1 -0
- package/esm/src/jobs/index.js +33 -0
- package/esm/src/jobs/jobs-client.d.ts +134 -0
- package/esm/src/jobs/jobs-client.d.ts.map +1 -0
- package/esm/src/jobs/jobs-client.js +218 -0
- package/esm/src/jobs/schemas.d.ts +1304 -0
- package/esm/src/jobs/schemas.d.ts.map +1 -0
- package/esm/src/jobs/schemas.js +159 -0
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts +4 -0
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.js +12 -6
- package/esm/src/proxy/handler.d.ts.map +1 -1
- package/esm/src/proxy/handler.js +21 -21
- package/esm/src/rendering/orchestrator/lifecycle.d.ts +4 -0
- package/esm/src/rendering/orchestrator/lifecycle.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/lifecycle.js +8 -0
- package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline.js +6 -1
- package/esm/src/rendering/orchestrator/ssr-orchestrator.d.ts +26 -1
- package/esm/src/rendering/orchestrator/ssr-orchestrator.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/ssr-orchestrator.js +77 -1
- package/esm/src/routing/api/handler.d.ts.map +1 -1
- package/esm/src/routing/api/handler.js +6 -2
- package/esm/src/routing/api/route-executor.d.ts +8 -2
- package/esm/src/routing/api/route-executor.d.ts.map +1 -1
- package/esm/src/routing/api/route-executor.js +158 -3
- package/esm/src/security/deno-permissions.d.ts +7 -1
- package/esm/src/security/deno-permissions.d.ts.map +1 -1
- package/esm/src/security/deno-permissions.js +12 -1
- package/esm/src/security/sandbox/project-worker.d.ts +61 -0
- package/esm/src/security/sandbox/project-worker.d.ts.map +1 -0
- package/esm/src/security/sandbox/project-worker.js +318 -0
- package/esm/src/security/sandbox/worker-permissions.d.ts +30 -0
- package/esm/src/security/sandbox/worker-permissions.d.ts.map +1 -0
- package/esm/src/security/sandbox/worker-permissions.js +63 -0
- package/esm/src/security/sandbox/worker-pool.d.ts +87 -0
- package/esm/src/security/sandbox/worker-pool.d.ts.map +1 -0
- package/esm/src/security/sandbox/worker-pool.js +359 -0
- package/esm/src/security/sandbox/worker-types.d.ts +167 -0
- package/esm/src/security/sandbox/worker-types.d.ts.map +1 -0
- package/esm/src/security/sandbox/worker-types.js +19 -0
- package/esm/src/server/handlers/request/internal-tasks-list.handler.d.ts +11 -0
- package/esm/src/server/handlers/request/internal-tasks-list.handler.d.ts.map +1 -0
- package/esm/src/server/handlers/request/internal-tasks-list.handler.js +72 -0
- package/esm/src/server/project-env/storage.d.ts +6 -0
- package/esm/src/server/project-env/storage.d.ts.map +1 -1
- package/esm/src/server/project-env/storage.js +8 -0
- package/esm/src/server/runtime-handler/index.d.ts +1 -1
- package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/index.js +3 -0
- package/esm/src/server/runtime-handler/project-isolation.d.ts +5 -0
- package/esm/src/server/runtime-handler/project-isolation.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/project-isolation.js +44 -0
- package/esm/src/server/shared/renderer/memory/pressure.d.ts +7 -0
- package/esm/src/server/shared/renderer/memory/pressure.d.ts.map +1 -1
- package/esm/src/server/shared/renderer/memory/pressure.js +7 -0
- package/esm/src/task/control-plane.d.ts +105 -0
- package/esm/src/task/control-plane.d.ts.map +1 -0
- package/esm/src/task/control-plane.js +52 -0
- package/esm/src/task/types.d.ts +6 -0
- package/esm/src/task/types.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.d.ts +4 -4
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.js +15 -15
- package/esm/src/utils/index.d.ts +10 -1
- package/esm/src/utils/index.d.ts.map +1 -1
- package/esm/src/utils/index.js +9 -1
- package/esm/src/utils/logger/index.d.ts +1 -1
- package/esm/src/utils/logger/index.d.ts.map +1 -1
- package/esm/src/utils/logger/index.js +1 -1
- package/esm/src/utils/logger/logger.d.ts +14 -0
- package/esm/src/utils/logger/logger.d.ts.map +1 -1
- package/esm/src/utils/logger/logger.js +17 -0
- package/esm/src/workflow/claude-code/tool.d.ts +5 -5
- package/package.json +8 -1
- package/src/cli/commands/knowledge/command.ts +76 -1
- package/src/deno.js +13 -6
- package/src/src/data/data-fetcher.ts +18 -2
- package/src/src/data/index.ts +1 -1
- package/src/src/data/server-data-fetcher.ts +106 -3
- package/src/src/jobs/index.ts +85 -0
- package/src/src/jobs/jobs-client.ts +503 -0
- package/src/src/jobs/schemas.ts +202 -0
- package/src/src/platform/adapters/veryfront-api-client/retry-handler.ts +15 -6
- package/src/src/proxy/handler.ts +27 -19
- package/src/src/rendering/orchestrator/lifecycle.ts +11 -0
- package/src/src/rendering/orchestrator/pipeline.ts +7 -2
- package/src/src/rendering/orchestrator/ssr-orchestrator.ts +119 -0
- package/src/src/routing/api/handler.ts +16 -3
- package/src/src/routing/api/route-executor.ts +258 -1
- package/src/src/security/deno-permissions.ts +13 -1
- package/src/src/security/sandbox/project-worker.ts +416 -0
- package/src/src/security/sandbox/worker-permissions.ts +77 -0
- package/src/src/security/sandbox/worker-pool.ts +459 -0
- package/src/src/security/sandbox/worker-types.ts +212 -0
- package/src/src/server/handlers/request/internal-tasks-list.handler.ts +103 -0
- package/src/src/server/project-env/storage.ts +9 -0
- package/src/src/server/runtime-handler/index.ts +3 -0
- package/src/src/server/runtime-handler/project-isolation.ts +53 -0
- package/src/src/server/shared/renderer/memory/pressure.ts +8 -0
- package/src/src/task/control-plane.ts +76 -0
- package/src/src/task/types.ts +6 -0
- package/src/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.ts +18 -12
- package/src/src/utils/index.ts +11 -0
- package/src/src/utils/logger/index.ts +1 -0
- package/src/src/utils/logger/logger.ts +34 -0
|
@@ -9,7 +9,7 @@ import { join } from "../../../../platform/compat/path/index.js";
|
|
|
9
9
|
import { rendererLogger as logger } from "../../../../utils/index.js";
|
|
10
10
|
import { resolveInternalModuleTarget } from "../../../veryfront-module-urls.js";
|
|
11
11
|
import { EMBEDDED_SRC_DIR, EXTENSIONS, FRAMEWORK_LOOKUPS, FRAMEWORK_ROOT, LOG_PREFIX, } from "./constants.js";
|
|
12
|
-
export async function tryReadWithExtensions(fs, basePath) {
|
|
12
|
+
export async function tryReadWithExtensions(fs, basePath, existsFn = exists) {
|
|
13
13
|
// Try all extensions, including .src versions for embedded sources
|
|
14
14
|
const allExtensions = [
|
|
15
15
|
...EXTENSIONS.map((ext) => ext + ".src"), // Embedded sources (.tsx.src, .ts.src, etc.)
|
|
@@ -18,7 +18,7 @@ export async function tryReadWithExtensions(fs, basePath) {
|
|
|
18
18
|
for (const ext of allExtensions) {
|
|
19
19
|
const sourcePath = basePath + ext;
|
|
20
20
|
try {
|
|
21
|
-
if (await
|
|
21
|
+
if (await existsFn(sourcePath)) {
|
|
22
22
|
const content = await fs.readTextFile(sourcePath);
|
|
23
23
|
return { sourcePath, content };
|
|
24
24
|
}
|
|
@@ -32,7 +32,7 @@ export async function tryReadWithExtensions(fs, basePath) {
|
|
|
32
32
|
/**
|
|
33
33
|
* Resolve a /_vf_modules/ path to the actual framework source file.
|
|
34
34
|
*/
|
|
35
|
-
export async function resolveFrameworkFile(vfModulePath, fs) {
|
|
35
|
+
export async function resolveFrameworkFile(vfModulePath, fs, existsFn = exists) {
|
|
36
36
|
const pathWithoutPrefix = vfModulePath
|
|
37
37
|
.replace(/^\/_vf_modules\//, "")
|
|
38
38
|
.replace(/\?.*$/, "")
|
|
@@ -58,7 +58,7 @@ export async function resolveFrameworkFile(vfModulePath, fs) {
|
|
|
58
58
|
relativePath,
|
|
59
59
|
fullPath: pathWithPrefixDir,
|
|
60
60
|
});
|
|
61
|
-
const withPrefix = await tryReadWithExtensions(fs, pathWithPrefixDir);
|
|
61
|
+
const withPrefix = await tryReadWithExtensions(fs, pathWithPrefixDir, existsFn);
|
|
62
62
|
if (withPrefix) {
|
|
63
63
|
logger.debug(`${LOG_PREFIX} Found with prefix`, { sourcePath: withPrefix.sourcePath });
|
|
64
64
|
return withPrefix;
|
|
@@ -71,7 +71,7 @@ export async function resolveFrameworkFile(vfModulePath, fs) {
|
|
|
71
71
|
relativePath,
|
|
72
72
|
fullPath: pathWithoutPrefixDir,
|
|
73
73
|
});
|
|
74
|
-
const withoutPrefix = await tryReadWithExtensions(fs, pathWithoutPrefixDir);
|
|
74
|
+
const withoutPrefix = await tryReadWithExtensions(fs, pathWithoutPrefixDir, existsFn);
|
|
75
75
|
if (withoutPrefix) {
|
|
76
76
|
logger.debug(`${LOG_PREFIX} Found without prefix`, { sourcePath: withoutPrefix.sourcePath });
|
|
77
77
|
return withoutPrefix;
|
|
@@ -93,7 +93,7 @@ export async function resolveFrameworkFile(vfModulePath, fs) {
|
|
|
93
93
|
* then falls back to regular src/. This matches resolveFrameworkFile's behavior
|
|
94
94
|
* and ensures consistent path resolution for cycle detection.
|
|
95
95
|
*/
|
|
96
|
-
export async function resolveVeryfrontSourcePath(specifier) {
|
|
96
|
+
export async function resolveVeryfrontSourcePath(specifier, existsFn = exists) {
|
|
97
97
|
if (!specifier.startsWith("#veryfront/"))
|
|
98
98
|
return null;
|
|
99
99
|
const mappedTarget = resolveInternalModuleTarget(specifier);
|
|
@@ -115,7 +115,7 @@ export async function resolveVeryfrontSourcePath(specifier) {
|
|
|
115
115
|
// Try exact path with .src suffix first (for embedded sources)
|
|
116
116
|
try {
|
|
117
117
|
const srcPath = basePath + ".src";
|
|
118
|
-
if (await
|
|
118
|
+
if (await existsFn(srcPath))
|
|
119
119
|
return srcPath;
|
|
120
120
|
}
|
|
121
121
|
catch (_) {
|
|
@@ -123,7 +123,7 @@ export async function resolveVeryfrontSourcePath(specifier) {
|
|
|
123
123
|
}
|
|
124
124
|
// Try exact path
|
|
125
125
|
try {
|
|
126
|
-
if (await
|
|
126
|
+
if (await existsFn(basePath))
|
|
127
127
|
return basePath;
|
|
128
128
|
}
|
|
129
129
|
catch (_) {
|
|
@@ -140,7 +140,7 @@ export async function resolveVeryfrontSourcePath(specifier) {
|
|
|
140
140
|
for (const ext of allExtensions) {
|
|
141
141
|
const pathWithExt = basePath + ext;
|
|
142
142
|
try {
|
|
143
|
-
if (await
|
|
143
|
+
if (await existsFn(pathWithExt))
|
|
144
144
|
return pathWithExt;
|
|
145
145
|
}
|
|
146
146
|
catch (_) {
|
|
@@ -151,7 +151,7 @@ export async function resolveVeryfrontSourcePath(specifier) {
|
|
|
151
151
|
for (const ext of allExtensions) {
|
|
152
152
|
const indexPath = join(basePath, "index" + ext);
|
|
153
153
|
try {
|
|
154
|
-
if (await
|
|
154
|
+
if (await existsFn(indexPath))
|
|
155
155
|
return indexPath;
|
|
156
156
|
}
|
|
157
157
|
catch (_) {
|
|
@@ -168,7 +168,7 @@ export async function resolveVeryfrontSourcePath(specifier) {
|
|
|
168
168
|
* Handles both regular source files (.tsx, .ts) and embedded sources (.tsx.src, .ts.src)
|
|
169
169
|
* for compiled binaries.
|
|
170
170
|
*/
|
|
171
|
-
export async function resolveRelativeFrameworkImport(specifier, fromSourcePath, _fs) {
|
|
171
|
+
export async function resolveRelativeFrameworkImport(specifier, fromSourcePath, _fs, existsFn = exists) {
|
|
172
172
|
const fromDir = fromSourcePath.substring(0, fromSourcePath.lastIndexOf("/"));
|
|
173
173
|
const parts = fromDir.split("/").filter(Boolean);
|
|
174
174
|
const importParts = specifier.split("/").filter(Boolean);
|
|
@@ -188,7 +188,7 @@ export async function resolveRelativeFrameworkImport(specifier, fromSourcePath,
|
|
|
188
188
|
if (/\.(tsx?|jsx?|mjs)$/.test(specifier)) {
|
|
189
189
|
// Try exact path first
|
|
190
190
|
try {
|
|
191
|
-
if (await
|
|
191
|
+
if (await existsFn(basePath))
|
|
192
192
|
return basePath;
|
|
193
193
|
}
|
|
194
194
|
catch (_) {
|
|
@@ -197,7 +197,7 @@ export async function resolveRelativeFrameworkImport(specifier, fromSourcePath,
|
|
|
197
197
|
// Try with .src suffix for embedded sources
|
|
198
198
|
try {
|
|
199
199
|
const srcPath = basePath + ".src";
|
|
200
|
-
if (await
|
|
200
|
+
if (await existsFn(srcPath))
|
|
201
201
|
return srcPath;
|
|
202
202
|
}
|
|
203
203
|
catch (_) {
|
|
@@ -214,7 +214,7 @@ export async function resolveRelativeFrameworkImport(specifier, fromSourcePath,
|
|
|
214
214
|
for (const ext of allExtensions) {
|
|
215
215
|
const pathWithExt = basePath + ext;
|
|
216
216
|
try {
|
|
217
|
-
if (await
|
|
217
|
+
if (await existsFn(pathWithExt))
|
|
218
218
|
return pathWithExt;
|
|
219
219
|
}
|
|
220
220
|
catch (_) {
|
|
@@ -225,7 +225,7 @@ export async function resolveRelativeFrameworkImport(specifier, fromSourcePath,
|
|
|
225
225
|
for (const ext of allExtensions) {
|
|
226
226
|
const indexPath = join(basePath, "index" + ext);
|
|
227
227
|
try {
|
|
228
|
-
if (await
|
|
228
|
+
if (await existsFn(indexPath))
|
|
229
229
|
return indexPath;
|
|
230
230
|
}
|
|
231
231
|
catch (_) {
|
package/esm/src/utils/index.d.ts
CHANGED
|
@@ -3,9 +3,18 @@
|
|
|
3
3
|
* (breakpoints, timeouts, HTTP codes), hashing, memoization, and feature flags.
|
|
4
4
|
*
|
|
5
5
|
* @module utils
|
|
6
|
+
*
|
|
7
|
+
* @example Structured logging
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { serverLogger } from "veryfront/utils";
|
|
10
|
+
*
|
|
11
|
+
* serverLogger.info("Booting server", { project_id: "proj_123" });
|
|
12
|
+
* ```
|
|
6
13
|
*/
|
|
14
|
+
import "../../_dnt.polyfills.js";
|
|
7
15
|
export { type GlobalWithBun, type GlobalWithDeno, type GlobalWithProcess, hasBunRuntime, hasDenoRuntime, hasNodeProcess, } from "./runtime-guards.js";
|
|
8
|
-
export { agentLogger, bundlerLogger, logger, refreshLoggerConfig, rendererLogger, serverLogger, } from "./logger/index.js";
|
|
16
|
+
export { agentLogger, bundlerLogger, createJobUserLogger, logger, refreshLoggerConfig, rendererLogger, serverLogger, } from "./logger/index.js";
|
|
17
|
+
export type { Logger } from "./logger/index.js";
|
|
9
18
|
export { BREAKPOINT_LG, BREAKPOINT_MD, BREAKPOINT_SM, BREAKPOINT_XL, BYTES_PER_KB, DEFAULT_ALLOWED_CDN_HOSTS, DEFAULT_BUILD_CONCURRENCY, DEFAULT_DASHBOARD_PORT, DEFAULT_LRU_MAX_ENTRIES, DEV_SERVER_ENDPOINTS, FORBIDDEN_PATH_PATTERNS, getDenoStdNodeBase, getReactImportMap, HASH_SEED_DJB2, HASH_SEED_FNV1A, HMR_CLIENT_RELOAD_DELAY_MS, HMR_CLOSE_MESSAGE_TOO_LARGE, HMR_CLOSE_NORMAL, HMR_CLOSE_RATE_LIMIT, HMR_MAX_MESSAGE_SIZE_BYTES, HMR_MAX_MESSAGES_PER_MINUTE, HMR_RATE_LIMIT_WINDOW_MS, HTTP_BAD_REQUEST, HTTP_CONTENT_TYPE_IMAGE_GIF, HTTP_CONTENT_TYPE_IMAGE_ICO, HTTP_CONTENT_TYPE_IMAGE_JPEG, HTTP_CONTENT_TYPE_IMAGE_PNG, HTTP_CONTENT_TYPE_IMAGE_SVG, HTTP_CONTENT_TYPE_IMAGE_WEBP, HTTP_CONTENT_TYPES, HTTP_MODULE_FETCH_TIMEOUT_MS, HTTP_NETWORK_CONNECT_TIMEOUT, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_OK, HTTP_REDIRECT_FOUND, HTTP_SERVER_ERROR, HTTP_STATUS_CLIENT_ERROR_MIN, HTTP_STATUS_REDIRECT_MIN, HTTP_STATUS_SERVER_ERROR_MIN, HTTP_STATUS_SUCCESS_MIN, HTTP_UNAVAILABLE, IMAGE_OPTIMIZATION, MAX_BATCH_SIZE, MAX_PATH_LENGTH, MAX_PATH_TRAVERSAL_DEPTH, MS_PER_SECOND, PREFETCH_DEFAULT_DELAY_MS, PREFETCH_DEFAULT_TIMEOUT_MS, PREFETCH_MAX_SIZE_BYTES, REACT_DEFAULT_VERSION, RESPONSIVE_IMAGE_WIDTH_LG, RESPONSIVE_IMAGE_WIDTHS, RSC_MANIFEST_CACHE_TTL_MS, TSX_LAYOUT_MAX_ENTRIES, Z_INDEX_DEV_INDICATOR, Z_INDEX_ERROR_OVERLAY, } from "./constants/index.js";
|
|
10
19
|
export { VERSION } from "./version.js";
|
|
11
20
|
export { type BundleCode as HashBundleCode, computeCodeHash, computeHash, fnv1aHash, shortHash, simpleHash, } from "./hash-utils.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/utils/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,oBAAoB,EACpB,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EACL,KAAK,UAAU,IAAI,cAAc,EACjC,eAAe,EACf,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
package/esm/src/utils/index.js
CHANGED
|
@@ -3,9 +3,17 @@
|
|
|
3
3
|
* (breakpoints, timeouts, HTTP codes), hashing, memoization, and feature flags.
|
|
4
4
|
*
|
|
5
5
|
* @module utils
|
|
6
|
+
*
|
|
7
|
+
* @example Structured logging
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { serverLogger } from "veryfront/utils";
|
|
10
|
+
*
|
|
11
|
+
* serverLogger.info("Booting server", { project_id: "proj_123" });
|
|
12
|
+
* ```
|
|
6
13
|
*/
|
|
14
|
+
import "../../_dnt.polyfills.js";
|
|
7
15
|
export { hasBunRuntime, hasDenoRuntime, hasNodeProcess, } from "./runtime-guards.js";
|
|
8
|
-
export { agentLogger, bundlerLogger, logger, refreshLoggerConfig, rendererLogger, serverLogger, } from "./logger/index.js";
|
|
16
|
+
export { agentLogger, bundlerLogger, createJobUserLogger, logger, refreshLoggerConfig, rendererLogger, serverLogger, } from "./logger/index.js";
|
|
9
17
|
export { BREAKPOINT_LG, BREAKPOINT_MD, BREAKPOINT_SM, BREAKPOINT_XL, BYTES_PER_KB, DEFAULT_ALLOWED_CDN_HOSTS, DEFAULT_BUILD_CONCURRENCY, DEFAULT_DASHBOARD_PORT, DEFAULT_LRU_MAX_ENTRIES, DEV_SERVER_ENDPOINTS, FORBIDDEN_PATH_PATTERNS, getDenoStdNodeBase, getReactImportMap, HASH_SEED_DJB2, HASH_SEED_FNV1A, HMR_CLIENT_RELOAD_DELAY_MS, HMR_CLOSE_MESSAGE_TOO_LARGE, HMR_CLOSE_NORMAL, HMR_CLOSE_RATE_LIMIT, HMR_MAX_MESSAGE_SIZE_BYTES, HMR_MAX_MESSAGES_PER_MINUTE, HMR_RATE_LIMIT_WINDOW_MS, HTTP_BAD_REQUEST, HTTP_CONTENT_TYPE_IMAGE_GIF, HTTP_CONTENT_TYPE_IMAGE_ICO, HTTP_CONTENT_TYPE_IMAGE_JPEG, HTTP_CONTENT_TYPE_IMAGE_PNG, HTTP_CONTENT_TYPE_IMAGE_SVG, HTTP_CONTENT_TYPE_IMAGE_WEBP, HTTP_CONTENT_TYPES, HTTP_MODULE_FETCH_TIMEOUT_MS, HTTP_NETWORK_CONNECT_TIMEOUT, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_OK, HTTP_REDIRECT_FOUND, HTTP_SERVER_ERROR, HTTP_STATUS_CLIENT_ERROR_MIN, HTTP_STATUS_REDIRECT_MIN, HTTP_STATUS_SERVER_ERROR_MIN, HTTP_STATUS_SUCCESS_MIN, HTTP_UNAVAILABLE, IMAGE_OPTIMIZATION, MAX_BATCH_SIZE, MAX_PATH_LENGTH, MAX_PATH_TRAVERSAL_DEPTH, MS_PER_SECOND, PREFETCH_DEFAULT_DELAY_MS, PREFETCH_DEFAULT_TIMEOUT_MS, PREFETCH_MAX_SIZE_BYTES, REACT_DEFAULT_VERSION, RESPONSIVE_IMAGE_WIDTH_LG, RESPONSIVE_IMAGE_WIDTHS, RSC_MANIFEST_CACHE_TTL_MS, TSX_LAYOUT_MAX_ENTRIES, Z_INDEX_DEV_INDICATOR, Z_INDEX_ERROR_OVERLAY, } from "./constants/index.js";
|
|
10
18
|
export { VERSION } from "./version.js";
|
|
11
19
|
export { computeCodeHash, computeHash, fnv1aHash, shortHash, simpleHash, } from "./hash-utils.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module utils/logger
|
|
5
5
|
*/
|
|
6
|
-
export { __registerRequestContextGetter, __registerTraceContextGetter, __resetLoggerConfigForTests, __resetTraceContextGetterForTests, agentLogger, bundlerLogger, cliLogger, createRequestLogger, getBaseLogger, getDefaultLevel, type LogEntry, type LogFormat, type Logger, logger, LogLevel, proxyLogger, refreshLoggerConfig, rendererLogger, serverLogger, } from "./logger.js";
|
|
6
|
+
export { __registerRequestContextGetter, __registerTraceContextGetter, __resetLoggerConfigForTests, __resetTraceContextGetterForTests, agentLogger, bundlerLogger, cliLogger, createJobUserLogger, createRequestLogger, getBaseLogger, getDefaultLevel, type LogEntry, type LogFormat, type Logger, logger, LogLevel, proxyLogger, refreshLoggerConfig, rendererLogger, serverLogger, } from "./logger.js";
|
|
7
7
|
export { ANSI, colorize, formatContextText, formatErrorText, formatTimestamp, formatValue, isRecord, LEVEL_COLORS, LEVEL_GLYPHS, type LogLevelName, normalizeText, padTag, PREFIX_WIDTH, type SerializedError, serializeError, TAG_WIDTH, truncateText, } from "./core.js";
|
|
8
8
|
export { getRequestContext, getRequestLogger, type RequestContext, requestContextStore, runWithRequestContext, runWithRequestContextAsync, } from "./request-context.js";
|
|
9
9
|
export { type LogComponent, LogComponents } from "./components.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/logger/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,iCAAiC,EACjC,WAAW,EACX,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,MAAM,EACX,MAAM,EACN,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,KAAK,eAAe,EACpB,cAAc,EACd,SAAS,EACT,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,cAAc,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/logger/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,iCAAiC,EACjC,WAAW,EACX,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,MAAM,EACX,MAAM,EACN,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,KAAK,eAAe,EACpB,cAAc,EACd,SAAS,EACT,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,cAAc,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module utils/logger
|
|
5
5
|
*/
|
|
6
|
-
export { __registerRequestContextGetter, __registerTraceContextGetter, __resetLoggerConfigForTests, __resetTraceContextGetterForTests, agentLogger, bundlerLogger, cliLogger, createRequestLogger, getBaseLogger, getDefaultLevel, logger, LogLevel, proxyLogger, refreshLoggerConfig, rendererLogger, serverLogger, } from "./logger.js";
|
|
6
|
+
export { __registerRequestContextGetter, __registerTraceContextGetter, __resetLoggerConfigForTests, __resetTraceContextGetterForTests, agentLogger, bundlerLogger, cliLogger, createJobUserLogger, createRequestLogger, getBaseLogger, getDefaultLevel, logger, LogLevel, proxyLogger, refreshLoggerConfig, rendererLogger, serverLogger, } from "./logger.js";
|
|
7
7
|
export { ANSI, colorize, formatContextText, formatErrorText, formatTimestamp, formatValue, isRecord, LEVEL_COLORS, LEVEL_GLYPHS, normalizeText, padTag, PREFIX_WIDTH, serializeError, TAG_WIDTH, truncateText, } from "./core.js";
|
|
8
8
|
export { getRequestContext, getRequestLogger, requestContextStore, runWithRequestContext, runWithRequestContextAsync, } from "./request-context.js";
|
|
9
9
|
export { LogComponents } from "./components.js";
|
|
@@ -37,6 +37,12 @@ export interface LogEntry {
|
|
|
37
37
|
release_id?: string;
|
|
38
38
|
branch_id?: string;
|
|
39
39
|
branch_name?: string;
|
|
40
|
+
job_id?: string;
|
|
41
|
+
batch_id?: string;
|
|
42
|
+
job_target?: string;
|
|
43
|
+
task?: string;
|
|
44
|
+
event_kind?: string;
|
|
45
|
+
user_visible?: string;
|
|
40
46
|
/** @deprecated Use `duration_ms` instead. Kept for Grafana dashboard transition. Planned removal after Grafana dashboard migration is complete. */
|
|
41
47
|
durationMs?: number;
|
|
42
48
|
duration_ms?: number;
|
|
@@ -135,5 +141,13 @@ export declare function createRequestLogger(baseLogger: Logger, requestContext:
|
|
|
135
141
|
traceId?: string;
|
|
136
142
|
projectSlug?: string;
|
|
137
143
|
}): Logger;
|
|
144
|
+
export declare function createJobUserLogger(baseLogger: Logger, jobContext: {
|
|
145
|
+
projectId: string;
|
|
146
|
+
jobId: string;
|
|
147
|
+
task: string;
|
|
148
|
+
batchId?: string | null;
|
|
149
|
+
jobTarget?: string | null;
|
|
150
|
+
eventKind?: string;
|
|
151
|
+
}): Logger;
|
|
138
152
|
export {};
|
|
139
153
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/logger/logger.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,KAAK,YAAY,EAEjB,KAAK,eAAe,EAErB,MAAM,WAAW,CAAC;AAEnB,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,kJAAkJ;IAClJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gJAAgJ;IAChJ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+IAA+I;IAC/I,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oJAAoJ;IACpJ,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/logger/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -195,6 +195,12 @@ class ConsoleLogger {
|
|
|
195
195
|
extractToEntryField(entry, mergedContext, "release_id", (v) => String(v));
|
|
196
196
|
extractToEntryField(entry, mergedContext, "branch_id", (v) => String(v));
|
|
197
197
|
extractToEntryField(entry, mergedContext, "branch_name", (v) => String(v));
|
|
198
|
+
extractToEntryField(entry, mergedContext, "job_id", (v) => String(v));
|
|
199
|
+
extractToEntryField(entry, mergedContext, "batch_id", (v) => String(v));
|
|
200
|
+
extractToEntryField(entry, mergedContext, "job_target", (v) => String(v));
|
|
201
|
+
extractToEntryField(entry, mergedContext, "task", (v) => String(v));
|
|
202
|
+
extractToEntryField(entry, mergedContext, "event_kind", (v) => String(v));
|
|
203
|
+
extractToEntryField(entry, mergedContext, "user_visible", (v) => String(v));
|
|
198
204
|
extractToEntryField(entry, mergedContext, "duration_ms", (v) => Number(v));
|
|
199
205
|
// Emit snake_case aliases for camelCase fields (transition period)
|
|
200
206
|
if (entry.requestId && !entry.request_id)
|
|
@@ -408,3 +414,14 @@ export function getBaseLogger(prefix, options) {
|
|
|
408
414
|
export function createRequestLogger(baseLogger, requestContext) {
|
|
409
415
|
return baseLogger.child(requestContext);
|
|
410
416
|
}
|
|
417
|
+
export function createJobUserLogger(baseLogger, jobContext) {
|
|
418
|
+
return baseLogger.child({
|
|
419
|
+
project_id: jobContext.projectId,
|
|
420
|
+
job_id: jobContext.jobId,
|
|
421
|
+
...(jobContext.batchId ? { batch_id: jobContext.batchId } : {}),
|
|
422
|
+
...(jobContext.jobTarget ? { job_target: jobContext.jobTarget } : {}),
|
|
423
|
+
task: jobContext.task,
|
|
424
|
+
event_kind: jobContext.eventKind ?? "job_user_log",
|
|
425
|
+
user_visible: "true",
|
|
426
|
+
});
|
|
427
|
+
}
|
|
@@ -21,8 +21,8 @@ declare const claudeCodeInputSchema: z.ZodObject<{
|
|
|
21
21
|
/** Additional context */
|
|
22
22
|
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
23
23
|
}, "strip", z.ZodTypeAny, {
|
|
24
|
-
mode: "code" | "custom" | "analysis";
|
|
25
24
|
task: string;
|
|
25
|
+
mode: "code" | "custom" | "analysis";
|
|
26
26
|
maxTurns: number;
|
|
27
27
|
context?: Record<string, unknown> | undefined;
|
|
28
28
|
files?: string[] | undefined;
|
|
@@ -72,32 +72,32 @@ export declare function createClaudeCodeTool(options?: {
|
|
|
72
72
|
*/
|
|
73
73
|
/** Code review tool (analysis mode, read-only) */
|
|
74
74
|
export declare const codeReviewTool: Tool<{
|
|
75
|
-
mode: "code" | "custom" | "analysis";
|
|
76
75
|
task: string;
|
|
76
|
+
mode: "code" | "custom" | "analysis";
|
|
77
77
|
maxTurns: number;
|
|
78
78
|
context?: Record<string, unknown> | undefined;
|
|
79
79
|
files?: string[] | undefined;
|
|
80
80
|
}, ClaudeCodeResult>;
|
|
81
81
|
/** Bug fix tool (code mode) */
|
|
82
82
|
export declare const bugFixTool: Tool<{
|
|
83
|
-
mode: "code" | "custom" | "analysis";
|
|
84
83
|
task: string;
|
|
84
|
+
mode: "code" | "custom" | "analysis";
|
|
85
85
|
maxTurns: number;
|
|
86
86
|
context?: Record<string, unknown> | undefined;
|
|
87
87
|
files?: string[] | undefined;
|
|
88
88
|
}, ClaudeCodeResult>;
|
|
89
89
|
/** Refactoring tool (code mode) */
|
|
90
90
|
export declare const refactorTool: Tool<{
|
|
91
|
-
mode: "code" | "custom" | "analysis";
|
|
92
91
|
task: string;
|
|
92
|
+
mode: "code" | "custom" | "analysis";
|
|
93
93
|
maxTurns: number;
|
|
94
94
|
context?: Record<string, unknown> | undefined;
|
|
95
95
|
files?: string[] | undefined;
|
|
96
96
|
}, ClaudeCodeResult>;
|
|
97
97
|
/** Documentation tool (code mode) */
|
|
98
98
|
export declare const docsTool: Tool<{
|
|
99
|
-
mode: "code" | "custom" | "analysis";
|
|
100
99
|
task: string;
|
|
100
|
+
mode: "code" | "custom" | "analysis";
|
|
101
101
|
maxTurns: number;
|
|
102
102
|
context?: Record<string, unknown> | undefined;
|
|
103
103
|
files?: string[] | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.76",
|
|
4
4
|
"description": "The simplest way to build AI-powered apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -76,12 +76,18 @@
|
|
|
76
76
|
"./resource": {
|
|
77
77
|
"import": "./esm/src/resource/index.js"
|
|
78
78
|
},
|
|
79
|
+
"./jobs": {
|
|
80
|
+
"import": "./esm/src/jobs/index.js"
|
|
81
|
+
},
|
|
79
82
|
"./mcp": {
|
|
80
83
|
"import": "./esm/src/mcp/index.js"
|
|
81
84
|
},
|
|
82
85
|
"./middleware": {
|
|
83
86
|
"import": "./esm/src/middleware/index.js"
|
|
84
87
|
},
|
|
88
|
+
"./utils": {
|
|
89
|
+
"import": "./esm/src/utils/index.js"
|
|
90
|
+
},
|
|
85
91
|
"./oauth": {
|
|
86
92
|
"import": "./esm/src/oauth/index.js"
|
|
87
93
|
},
|
|
@@ -146,6 +152,7 @@
|
|
|
146
152
|
"esbuild": "0.20.2",
|
|
147
153
|
"github-slugger": "2.0.0",
|
|
148
154
|
"gray-matter": "4.0.3",
|
|
155
|
+
"jose": "5.9.6",
|
|
149
156
|
"mdast-util-to-string": "4.0.0",
|
|
150
157
|
"mime-types": "2.1.35",
|
|
151
158
|
"react": "19.1.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as dntShim from "../../../_dnt.shims.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { createFileSystem } from "../../../src/platform/index.js";
|
|
3
|
+
import { createFileSystem, getEnv } from "../../../src/platform/index.js";
|
|
4
4
|
import { basename, extname, join, normalize, relative } from "../../../src/platform/compat/path/index.js";
|
|
5
5
|
import { withSpan } from "../../../src/observability/tracing/otlp-setup.js";
|
|
6
6
|
import { cliLogger } from "../../utils/index.js";
|
|
@@ -9,6 +9,7 @@ import type { ParsedArgs } from "../../shared/types.js";
|
|
|
9
9
|
import { downloadUploadToFile, listAllUploads, type UploadItem } from "../uploads/command.js";
|
|
10
10
|
import { putRemoteFileFromLocal } from "../files/command.js";
|
|
11
11
|
import { knowledgeIngestPythonSource } from "./parser-source.js";
|
|
12
|
+
import { createJobUserLogger, type Logger, serverLogger } from "../../../src/utils/index.js";
|
|
12
13
|
|
|
13
14
|
const SUPPORTED_EXTENSIONS = new Set([
|
|
14
15
|
".pdf",
|
|
@@ -59,6 +60,8 @@ type KnowledgeSource =
|
|
|
59
60
|
|
|
60
61
|
type DownloadResult = { uploadPath: string; localPath: string; bytes?: number };
|
|
61
62
|
|
|
63
|
+
const knowledgeJobLogger = serverLogger.component("knowledge-ingest");
|
|
64
|
+
|
|
62
65
|
const KnowledgeIngestArgsSchema = z.object({
|
|
63
66
|
projectSlug: z.string().optional(),
|
|
64
67
|
projectDir: z.string().optional(),
|
|
@@ -130,6 +133,27 @@ function printJson(value: unknown): void {
|
|
|
130
133
|
console.log(JSON.stringify(value, null, 2));
|
|
131
134
|
}
|
|
132
135
|
|
|
136
|
+
function createKnowledgeIngestEventLogger(): Logger | null {
|
|
137
|
+
const projectId = getEnv("TENANT_PROJECT_ID");
|
|
138
|
+
const jobId = getEnv("JOB_ID");
|
|
139
|
+
|
|
140
|
+
if (!projectId || !jobId) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return createJobUserLogger(knowledgeJobLogger, {
|
|
145
|
+
projectId,
|
|
146
|
+
jobId,
|
|
147
|
+
batchId: getEnv("JOB_BATCH_ID") ?? undefined,
|
|
148
|
+
jobTarget: getEnv("JOB_TARGET") ?? undefined,
|
|
149
|
+
task: "knowledge-ingest",
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function buildKnowledgeSourceName(source: KnowledgeSource): string {
|
|
154
|
+
return basename(source.kind === "upload" ? source.uploadPath : source.localPath);
|
|
155
|
+
}
|
|
156
|
+
|
|
133
157
|
function showKnowledgeUsage(): void {
|
|
134
158
|
console.log(`
|
|
135
159
|
Veryfront Knowledge
|
|
@@ -484,6 +508,7 @@ export async function ingestResolvedSources(
|
|
|
484
508
|
outputDir: string;
|
|
485
509
|
runParser: typeof runKnowledgeParser;
|
|
486
510
|
uploadKnowledgeFile: (remotePath: string, localPath: string) => Promise<{ path: string }>;
|
|
511
|
+
eventLogger?: Logger | null;
|
|
487
512
|
},
|
|
488
513
|
): Promise<KnowledgeIngestFileResult[]> {
|
|
489
514
|
if (options.slug && sources.length !== 1) {
|
|
@@ -494,6 +519,13 @@ export async function ingestResolvedSources(
|
|
|
494
519
|
const results: KnowledgeIngestFileResult[] = [];
|
|
495
520
|
|
|
496
521
|
for (const [index, source] of sources.entries()) {
|
|
522
|
+
deps.eventLogger?.info("Processing knowledge source", {
|
|
523
|
+
phase: "file_processing",
|
|
524
|
+
progress_current: index + 1,
|
|
525
|
+
progress_total: sources.length,
|
|
526
|
+
source_name: buildKnowledgeSourceName(source),
|
|
527
|
+
});
|
|
528
|
+
|
|
497
529
|
const parser = await deps.runParser({
|
|
498
530
|
filePath: source.localPath,
|
|
499
531
|
outputDir: deps.outputDir,
|
|
@@ -507,6 +539,26 @@ export async function ingestResolvedSources(
|
|
|
507
539
|
options.knowledgePath,
|
|
508
540
|
);
|
|
509
541
|
const uploaded = await deps.uploadKnowledgeFile(remotePath, parser.sandbox_output_path);
|
|
542
|
+
|
|
543
|
+
deps.eventLogger?.info("Knowledge source ingested", {
|
|
544
|
+
phase: "file_completed",
|
|
545
|
+
progress_current: index + 1,
|
|
546
|
+
progress_total: sources.length,
|
|
547
|
+
source_name: buildKnowledgeSourceName(source),
|
|
548
|
+
remote_path: uploaded.path,
|
|
549
|
+
warning_count: parser.warnings.length,
|
|
550
|
+
});
|
|
551
|
+
|
|
552
|
+
if (parser.warnings.length > 0) {
|
|
553
|
+
deps.eventLogger?.warn("Knowledge source emitted warnings", {
|
|
554
|
+
phase: "file_warning",
|
|
555
|
+
progress_current: index + 1,
|
|
556
|
+
progress_total: sources.length,
|
|
557
|
+
source_name: buildKnowledgeSourceName(source),
|
|
558
|
+
warning_count: parser.warnings.length,
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
|
|
510
562
|
results.push(
|
|
511
563
|
createKnowledgeIngestResult({
|
|
512
564
|
source: buildSourceReference(source),
|
|
@@ -545,8 +597,14 @@ export async function knowledgeCommand(args: ParsedArgs): Promise<void> {
|
|
|
545
597
|
const outputDir = options.outputDir ?? await defaultOutputRoot();
|
|
546
598
|
const shouldCleanupOutputDir = options.outputDir === undefined;
|
|
547
599
|
const downloadOutputDir = resolveKnowledgeDownloadOutputDir(outputDir);
|
|
600
|
+
const eventLogger = createKnowledgeIngestEventLogger();
|
|
548
601
|
|
|
549
602
|
try {
|
|
603
|
+
eventLogger?.info("Starting knowledge ingest", {
|
|
604
|
+
phase: "started",
|
|
605
|
+
mode: options.path ? "path_prefix" : "explicit_sources",
|
|
606
|
+
});
|
|
607
|
+
|
|
550
608
|
const sources = await collectKnowledgeSources(options, {
|
|
551
609
|
client,
|
|
552
610
|
projectSlug: config.projectSlug,
|
|
@@ -558,15 +616,27 @@ export async function knowledgeCommand(args: ParsedArgs): Promise<void> {
|
|
|
558
616
|
),
|
|
559
617
|
});
|
|
560
618
|
|
|
619
|
+
eventLogger?.info("Resolved knowledge sources", {
|
|
620
|
+
phase: "sources_resolved",
|
|
621
|
+
progress_total: sources.length,
|
|
622
|
+
});
|
|
623
|
+
|
|
561
624
|
const results = await ingestResolvedSources(sources, options, {
|
|
562
625
|
client,
|
|
563
626
|
projectSlug: config.projectSlug,
|
|
564
627
|
outputDir,
|
|
565
628
|
runParser: runKnowledgeParser,
|
|
629
|
+
eventLogger,
|
|
566
630
|
uploadKnowledgeFile: (remotePath, localPath) =>
|
|
567
631
|
putRemoteFileFromLocal(client, config.projectSlug, remotePath, localPath),
|
|
568
632
|
});
|
|
569
633
|
|
|
634
|
+
eventLogger?.info("Completed knowledge ingest", {
|
|
635
|
+
phase: "completed",
|
|
636
|
+
progress_current: results.length,
|
|
637
|
+
progress_total: results.length,
|
|
638
|
+
});
|
|
639
|
+
|
|
570
640
|
if (options.json) {
|
|
571
641
|
printJson(results);
|
|
572
642
|
return;
|
|
@@ -578,6 +648,11 @@ export async function knowledgeCommand(args: ParsedArgs): Promise<void> {
|
|
|
578
648
|
cliLogger.info(` ${result.summary}`);
|
|
579
649
|
}
|
|
580
650
|
}
|
|
651
|
+
} catch (error) {
|
|
652
|
+
eventLogger?.error("Knowledge ingest failed", {
|
|
653
|
+
phase: "failed",
|
|
654
|
+
});
|
|
655
|
+
throw error;
|
|
581
656
|
} finally {
|
|
582
657
|
if (shouldCleanupOutputDir) {
|
|
583
658
|
await Promise.all([
|
package/src/deno.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.76",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"nodeModulesDir": "auto",
|
|
6
6
|
"exclude": [
|
|
@@ -32,8 +32,10 @@ export default {
|
|
|
32
32
|
"./workflow/discovery": "./src/workflow/discovery/index.ts",
|
|
33
33
|
"./prompt": "./src/prompt/index.ts",
|
|
34
34
|
"./resource": "./src/resource/index.ts",
|
|
35
|
+
"./jobs": "./src/jobs/index.ts",
|
|
35
36
|
"./mcp": "./src/mcp/index.ts",
|
|
36
37
|
"./middleware": "./src/middleware/index.ts",
|
|
38
|
+
"./utils": "./src/utils/index.ts",
|
|
37
39
|
"./oauth": "./src/oauth/index.ts",
|
|
38
40
|
"./provider": "./src/provider/index.ts",
|
|
39
41
|
"./fs": "./src/fs/index.ts",
|
|
@@ -60,6 +62,7 @@ export default {
|
|
|
60
62
|
"veryfront/components/ai": "./src/react/components/ai/index.ts",
|
|
61
63
|
"veryfront/sandbox": "./src/sandbox/index.ts",
|
|
62
64
|
"veryfront/embedding": "./src/embedding/index.ts",
|
|
65
|
+
"veryfront/jobs": "./src/jobs/index.ts",
|
|
63
66
|
"veryfront/agent/react": "./src/agent/react/index.ts",
|
|
64
67
|
"veryfront/agent/testing": "./src/agent/testing/index.ts",
|
|
65
68
|
"veryfront/agent/middleware": "./src/agent/middleware/index.ts",
|
|
@@ -71,6 +74,7 @@ export default {
|
|
|
71
74
|
"veryfront/workflow/claude-code": "./src/workflow/claude-code/index.ts",
|
|
72
75
|
"veryfront/workflow/claude-code/react": "./src/workflow/claude-code/react/index.ts",
|
|
73
76
|
"veryfront/workflow/discovery": "./src/workflow/discovery/index.ts",
|
|
77
|
+
"veryfront/utils": "./src/utils/index.ts",
|
|
74
78
|
"veryfront/utils/box": "./src/utils/box.ts",
|
|
75
79
|
"veryfront/utils/case-utils": "./src/utils/case-utils.ts",
|
|
76
80
|
"veryfront/utils/constants/server": "./src/utils/constants/server.ts",
|
|
@@ -132,6 +136,7 @@ export default {
|
|
|
132
136
|
"#veryfront/react": "./src/react/index.ts",
|
|
133
137
|
"#veryfront/rendering": "./src/rendering/index.ts",
|
|
134
138
|
"#veryfront/resource": "./src/resource/index.ts",
|
|
139
|
+
"#veryfront/jobs": "./src/jobs/index.ts",
|
|
135
140
|
"#veryfront/routing": "./src/routing/index.ts",
|
|
136
141
|
"#veryfront/security": "./src/security/index.ts",
|
|
137
142
|
"#veryfront/skill": "./src/skill/index.ts",
|
|
@@ -251,6 +256,7 @@ export default {
|
|
|
251
256
|
"tailwindcss/colors": "https://esm.sh/tailwindcss@4.1.8/colors",
|
|
252
257
|
"redis": "npm:redis@4.6.13",
|
|
253
258
|
"pg": "npm:pg",
|
|
259
|
+
"jose": "npm:jose@5.9.6",
|
|
254
260
|
"@opentelemetry/api": "npm:@opentelemetry/api@1",
|
|
255
261
|
"@opentelemetry/core": "npm:@opentelemetry/core@1",
|
|
256
262
|
"@opentelemetry/context-async-hooks": "npm:@opentelemetry/context-async-hooks@1",
|
|
@@ -288,11 +294,11 @@ export default {
|
|
|
288
294
|
"tasks": {
|
|
289
295
|
"setup": "deno run --allow-all scripts/setup.ts",
|
|
290
296
|
"generate": "deno run -A scripts/build/generate-templates-manifest.ts && deno run -A scripts/build/generate-dev-ui-manifest.ts && deno run -A scripts/build/prebundle-client-scripts.ts && deno run -A scripts/build/prebundle-bridge.ts",
|
|
291
|
-
"start": "deno task generate && deno run --allow-
|
|
292
|
-
"start:headless": "deno task generate && deno run --allow-
|
|
293
|
-
"proxy": "deno task generate && deno run --allow-
|
|
297
|
+
"start": "deno task generate && deno run --allow-read --allow-write --allow-net --allow-env --allow-run --allow-sys --unstable-worker-options --unstable-net cli/main.ts",
|
|
298
|
+
"start:headless": "deno task generate && deno run --allow-read --allow-write --allow-net --allow-env --allow-run --allow-sys --unstable-worker-options --unstable-net cli/main.ts --headless",
|
|
299
|
+
"proxy": "deno task generate && deno run --allow-read --allow-write --allow-net --allow-env --allow-run --allow-sys --unstable-worker-options --unstable-net cli/main.ts serve --mode=proxy",
|
|
294
300
|
"dev": "deno task generate && deno run --allow-all cli/main.ts dev",
|
|
295
|
-
"production": "deno task generate && deno run --allow-
|
|
301
|
+
"production": "deno task generate && deno run --allow-read --allow-write --allow-net --allow-env --allow-run --allow-sys --unstable-worker-options --unstable-net cli/main.ts serve --mode=production",
|
|
296
302
|
"build:prepare": "deno run -A scripts/build/generate-integrations-module.ts && deno task generate && deno run -A scripts/build/prepare-framework-sources.ts",
|
|
297
303
|
"build": "deno task build:prepare && deno run -A scripts/build/compile-binary.ts --output ./bin/veryfront",
|
|
298
304
|
"build:npm": "deno run -A scripts/build/generate-integrations-module.ts && deno task generate && deno run -A scripts/build/build-npm-dnt.ts",
|
|
@@ -307,11 +313,12 @@ export default {
|
|
|
307
313
|
"test:coverage:integration": "rm -rf coverage && VF_DISABLE_LRU_INTERVAL=1 SSR_TRANSFORM_PER_PROJECT_LIMIT=0 REVALIDATION_PER_PROJECT_LIMIT=0 NODE_ENV=production LOG_FORMAT=text deno test --no-check --parallel --fail-fast --allow-all --coverage=coverage '--ignore=tests/e2e,tests/integration/compiled-binary-e2e.test.ts' tests --unstable-worker-options --unstable-net || exit 1",
|
|
308
314
|
"coverage:report": "deno coverage coverage --include=src/ --exclude=tests --exclude=src/**/*_test.ts --exclude=src/**/*_test.tsx --exclude=src/**/*.test.ts --exclude=src/**/*.test.tsx --lcov > coverage/lcov.info && deno run --allow-read scripts/lint/check-coverage.ts 80",
|
|
309
315
|
"coverage:html": "deno coverage coverage --include=src/ --exclude=tests --exclude=src/**/*_test.ts --exclude=src/**/*_test.tsx --exclude=src/**/*.test.ts --exclude=src/**/*.test.tsx --html",
|
|
316
|
+
"bench": "VF_DISABLE_LRU_INTERVAL=1 NODE_ENV=production LOG_FORMAT=text deno bench --no-check --allow-all --unstable-worker-options --unstable-net $(find src -name '*.bench.ts')",
|
|
310
317
|
"clean": "rm -rf .cache/",
|
|
311
318
|
"lint": "DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/",
|
|
312
319
|
"fmt": "deno fmt src/ cli/",
|
|
313
320
|
"fmt:check": "deno fmt --check src/ cli/",
|
|
314
|
-
"typecheck": "deno task generate && deno check src/index.ts cli/main.ts src/server/index.ts src/routing/api/index.ts src/rendering/index.ts src/platform/index.ts src/platform/adapters/index.ts src/build/index.ts src/build/production-build/index.ts src/transforms/index.ts src/config/index.ts src/utils/index.ts src/data/index.ts src/security/index.ts src/middleware/index.ts src/server/handlers/dev/index.ts src/server/handlers/request/api/index.ts src/rendering/cache/index.ts src/rendering/cache/stores/index.ts src/rendering/rsc/actions/index.ts src/html/index.ts src/modules/index.ts src/proxy/main.ts src/chat/index.ts src/markdown/index.ts src/mdx/index.ts src/fs/index.ts src/oauth/index.ts src/agent/index.ts src/tool/index.ts src/workflow/index.ts src/prompt/index.ts src/resource/index.ts src/mcp/index.ts src/provider/index.ts",
|
|
321
|
+
"typecheck": "deno task generate && deno check src/index.ts cli/main.ts src/server/index.ts src/routing/api/index.ts src/rendering/index.ts src/platform/index.ts src/platform/adapters/index.ts src/build/index.ts src/build/production-build/index.ts src/transforms/index.ts src/config/index.ts src/utils/index.ts src/data/index.ts src/security/index.ts src/middleware/index.ts src/server/handlers/dev/index.ts src/server/handlers/request/api/index.ts src/rendering/cache/index.ts src/rendering/cache/stores/index.ts src/rendering/rsc/actions/index.ts src/html/index.ts src/modules/index.ts src/proxy/main.ts src/chat/index.ts src/markdown/index.ts src/mdx/index.ts src/fs/index.ts src/oauth/index.ts src/agent/index.ts src/tool/index.ts src/workflow/index.ts src/prompt/index.ts src/resource/index.ts src/jobs/index.ts src/mcp/index.ts src/provider/index.ts",
|
|
315
322
|
"verify": "deno task generate && deno fmt --check src/ cli/ && DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/ && deno task lint:style && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task docs:validate && deno task typecheck && deno task test && deno task test:e2e:binary",
|
|
316
323
|
"verify:quick": "deno task generate && deno fmt --check src/ cli/ && DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/ && deno task lint:style && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task docs:validate && deno task typecheck",
|
|
317
324
|
"docs": "rm -rf docs/reference && deno run --allow-read --allow-write --allow-run scripts/docs/generate-api-reference.ts",
|