veryfront 0.1.1160 → 0.1.1162
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 -2
- package/esm/cli/commands/deploy/command.d.ts.map +1 -1
- package/esm/cli/commands/deploy/command.js +9 -4
- package/esm/cli/commands/init/catalog.d.ts +1 -0
- package/esm/cli/commands/init/catalog.d.ts.map +1 -1
- package/esm/cli/commands/init/catalog.js +2 -1
- package/esm/cli/commands/init/init-command.d.ts.map +1 -1
- package/esm/cli/commands/init/init-command.js +2 -1
- package/esm/cli/commands/init/interactive-wizard.js +8 -8
- package/esm/deno.js +2 -2
- package/esm/src/html/hydration-script-builder/templates/renderer.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/renderer.js +1 -2
- package/esm/src/proxy/handler.d.ts.map +1 -1
- package/esm/src/proxy/handler.js +32 -8
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ It gives you agents, tools, workflows, and a complete React rendering stack in a
|
|
|
19
19
|
Create a new Veryfront Code app:
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
npm create veryfront
|
|
22
|
+
npm create veryfront@latest my-agent
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
<details>
|
|
@@ -34,7 +34,7 @@ deno init --npm veryfront
|
|
|
34
34
|
|
|
35
35
|
</details>
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
The default starter is `ai-agent`. Choose another template directly:
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
npx veryfront init <PROJECT_NAME> --template <TEMPLATE>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -357,6 +357,9 @@ function buildEnvironmentProbeUrl(baseUrl, route) {
|
|
|
357
357
|
const probeUrl = new URL(route, url);
|
|
358
358
|
return route === "/" ? probeUrl.origin : probeUrl.href;
|
|
359
359
|
}
|
|
360
|
+
function buildReadyEnvironmentUrl(baseUrl, route) {
|
|
361
|
+
return route ? buildEnvironmentProbeUrl(baseUrl, route) : baseUrl;
|
|
362
|
+
}
|
|
360
363
|
function secureEnvironmentProbeUrl(url) {
|
|
361
364
|
const secureUrl = new URL(url);
|
|
362
365
|
secureUrl.protocol = "https:";
|
|
@@ -782,13 +785,14 @@ export async function deployCommand(options) {
|
|
|
782
785
|
commitSha: source.commitSha,
|
|
783
786
|
sourceDigest: source.sourceDigest,
|
|
784
787
|
}, { verifiedRelease });
|
|
785
|
-
|
|
788
|
+
const readinessRoute = expectedPageRoutes.find((route) => !route.includes("[")) ?? null;
|
|
789
|
+
environmentUrl = buildReadyEnvironmentUrl(buildEnvironmentUrl(verification.projectSlug, environment), readinessRoute);
|
|
786
790
|
spinner.update(`Waiting for ${env} URL...`);
|
|
787
791
|
await waitForEnvironmentReady({
|
|
788
792
|
projectSlug: verification.projectSlug,
|
|
789
793
|
environmentName: environment.name,
|
|
790
794
|
url: environmentUrl,
|
|
791
|
-
route:
|
|
795
|
+
route: readinessRoute,
|
|
792
796
|
protected: environment.protected,
|
|
793
797
|
apiToken: config.apiToken,
|
|
794
798
|
}, {
|
|
@@ -961,13 +965,14 @@ async function deployCommandJson(options) {
|
|
|
961
965
|
sourceDigest: source.sourceDigest,
|
|
962
966
|
}, { verifiedRelease });
|
|
963
967
|
streamJsonLine({ type: "step", name: "verify-deployment", status: "completed" });
|
|
964
|
-
const
|
|
968
|
+
const readinessRoute = expectedPageRoutes.find((route) => !route.includes("[")) ?? null;
|
|
969
|
+
const environmentUrl = buildReadyEnvironmentUrl(buildEnvironmentUrl(verification.projectSlug, environment), readinessRoute);
|
|
965
970
|
streamJsonLine({ type: "step", name: "wait-environment-url", status: "started" });
|
|
966
971
|
await waitForEnvironmentReady({
|
|
967
972
|
projectSlug: verification.projectSlug,
|
|
968
973
|
environmentName: environment.name,
|
|
969
974
|
url: environmentUrl,
|
|
970
|
-
route:
|
|
975
|
+
route: readinessRoute,
|
|
971
976
|
protected: environment.protected,
|
|
972
977
|
apiToken: config.apiToken,
|
|
973
978
|
}, {
|
|
@@ -10,6 +10,7 @@ export interface TemplateOption {
|
|
|
10
10
|
label: string;
|
|
11
11
|
description: string;
|
|
12
12
|
}
|
|
13
|
+
export declare const DEFAULT_TEMPLATE: InitTemplate;
|
|
13
14
|
export declare const TEMPLATES: readonly TemplateOption[];
|
|
14
15
|
/** Get templates as SelectOption[] for terminal-select */
|
|
15
16
|
export declare function getTemplateSelectOptions(): SelectOption[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init/catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAUnE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,cAAc,EAoBrC,CAAC;AAEX,0DAA0D;AAC1D,wBAAgB,wBAAwB,IAAI,YAAY,EAAE,CAMzD;AAMD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,eAAe,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC5C;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAuNvD,CAAC;AAEX,2CAA2C;AAC3C,wBAAgB,kBAAkB,IAAI,iBAAiB,EAAE,CAIxD;AAED,6DAA6D;AAC7D,wBAAgB,2BAA2B,IAAI,YAAY,EAAE,CAM5D;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAa5D;AAED,+DAA+D;AAC/D,wBAAgB,sCAAsC,IAAI,KAAK,CAC7D,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CACtC,CA0BA"}
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init/catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAUnE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,YAAyB,CAAC;AAEzD,eAAO,MAAM,SAAS,EAAE,SAAS,cAAc,EAoBrC,CAAC;AAEX,0DAA0D;AAC1D,wBAAgB,wBAAwB,IAAI,YAAY,EAAE,CAMzD;AAMD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,eAAe,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC5C;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAuNvD,CAAC;AAEX,2CAA2C;AAC3C,wBAAgB,kBAAkB,IAAI,iBAAiB,EAAE,CAIxD;AAED,6DAA6D;AAC7D,wBAAgB,2BAA2B,IAAI,YAAY,EAAE,CAM5D;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAa5D;AAED,+DAA+D;AAC/D,wBAAgB,sCAAsC,IAAI,KAAK,CAC7D,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CACtC,CA0BA"}
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* Single source of truth for all CLI template/integration data
|
|
4
4
|
*/
|
|
5
5
|
import { filterVisibleIntegrations, isVisibleIntegration, } from "../../../src/integrations/feature-flags.js";
|
|
6
|
+
export const DEFAULT_TEMPLATE = "ai-agent";
|
|
6
7
|
export const TEMPLATES = [
|
|
8
|
+
{ id: DEFAULT_TEMPLATE, label: "AI Agent", description: "Agent + chat UI + streaming" },
|
|
7
9
|
{ id: "minimal", label: "Minimal", description: "Blank canvas, no extras" },
|
|
8
|
-
{ id: "ai-agent", label: "AI Agent", description: "Agent + chat UI + streaming" },
|
|
9
10
|
{
|
|
10
11
|
id: "docs-agent",
|
|
11
12
|
label: "Docs Agent",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init/init-command.ts"],"names":[],"mappings":"AAAA;;;iCAGiC;AAWjC,OAAO,KAAK,EAAE,WAAW,EAA6B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init/init-command.ts"],"names":[],"mappings":"AAAA;;;iCAGiC;AAWjC,OAAO,KAAK,EAAE,WAAW,EAA6B,MAAM,YAAY,CAAC;AA8PzE;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ZrE"}
|
|
@@ -18,6 +18,7 @@ import { generateGitignoreContent, promptForEnvVars } from "../../utils/env-prom
|
|
|
18
18
|
import { loadFeature, mergeFiles, resolveFeatures, validateFeatures, } from "../../templates/feature-loader.js";
|
|
19
19
|
import { getIntegrationBaseFiles, loadIntegrationBaseConfig, loadIntegrationBaseFilesFromDirectory, loadIntegrations, validateIntegrations, } from "../../templates/integration-loader.js";
|
|
20
20
|
import { runInteractiveWizard, shouldRunWizard, validateProjectName, } from "./interactive-wizard.js";
|
|
21
|
+
import { DEFAULT_TEMPLATE } from "./catalog.js";
|
|
21
22
|
/**
|
|
22
23
|
* Icon mapping for integrations based on category/name
|
|
23
24
|
*/
|
|
@@ -256,7 +257,7 @@ export async function initCommand(options) {
|
|
|
256
257
|
wizardRuntime = wizardResult.runtime;
|
|
257
258
|
}
|
|
258
259
|
else {
|
|
259
|
-
template = options.template ??
|
|
260
|
+
template = options.template ?? DEFAULT_TEMPLATE;
|
|
260
261
|
}
|
|
261
262
|
const runtime = options.runtime ?? wizardRuntime;
|
|
262
263
|
// Map runtime to package-manager preference. "node" → "npm" so an explicit
|
|
@@ -3,7 +3,7 @@ import { getAgentFace } from "../../ui/dot-matrix.js";
|
|
|
3
3
|
import { isCiEnv, isDenoTestingEnv } from "../../../src/config/index.js";
|
|
4
4
|
import { isInteractive as checkIsInteractive } from "../../../src/platform/index.js";
|
|
5
5
|
import { select, textInput } from "../../utils/terminal-select.js";
|
|
6
|
-
import { getTemplateSelectOptions, TEMPLATES } from "./catalog.js";
|
|
6
|
+
import { DEFAULT_TEMPLATE, getTemplateSelectOptions, TEMPLATES } from "./catalog.js";
|
|
7
7
|
/** Reject path separators and traversal so the name stays a single directory. */
|
|
8
8
|
export function validateProjectName(name) {
|
|
9
9
|
if (/[/\\]/.test(name))
|
|
@@ -19,7 +19,7 @@ export async function runInteractiveWizard(existingName, presetRuntime) {
|
|
|
19
19
|
if (!canRunWizard()) {
|
|
20
20
|
return {
|
|
21
21
|
projectName: existingName ?? null,
|
|
22
|
-
template:
|
|
22
|
+
template: DEFAULT_TEMPLATE,
|
|
23
23
|
runtime: presetRuntime ?? "node",
|
|
24
24
|
initGit: false,
|
|
25
25
|
skipped: true,
|
|
@@ -52,7 +52,7 @@ export async function runInteractiveWizard(existingName, presetRuntime) {
|
|
|
52
52
|
console.log(muted("\n Cancelled.\n"));
|
|
53
53
|
return {
|
|
54
54
|
projectName: null,
|
|
55
|
-
template:
|
|
55
|
+
template: DEFAULT_TEMPLATE,
|
|
56
56
|
runtime: "node",
|
|
57
57
|
initGit: false,
|
|
58
58
|
skipped: false,
|
|
@@ -65,7 +65,7 @@ export async function runInteractiveWizard(existingName, presetRuntime) {
|
|
|
65
65
|
console.log(muted("\n Cancelled.\n"));
|
|
66
66
|
return {
|
|
67
67
|
projectName: null,
|
|
68
|
-
template:
|
|
68
|
+
template: DEFAULT_TEMPLATE,
|
|
69
69
|
runtime: "node",
|
|
70
70
|
initGit: false,
|
|
71
71
|
skipped: false,
|
|
@@ -78,7 +78,7 @@ export async function runInteractiveWizard(existingName, presetRuntime) {
|
|
|
78
78
|
console.log(muted(`\n ${nameError}\n`));
|
|
79
79
|
return {
|
|
80
80
|
projectName: null,
|
|
81
|
-
template:
|
|
81
|
+
template: DEFAULT_TEMPLATE,
|
|
82
82
|
runtime: "node",
|
|
83
83
|
initGit: false,
|
|
84
84
|
skipped: false,
|
|
@@ -94,7 +94,7 @@ export async function runInteractiveWizard(existingName, presetRuntime) {
|
|
|
94
94
|
console.log(muted("\n Cancelled.\n"));
|
|
95
95
|
return {
|
|
96
96
|
projectName: null,
|
|
97
|
-
template:
|
|
97
|
+
template: DEFAULT_TEMPLATE,
|
|
98
98
|
runtime: "node",
|
|
99
99
|
initGit: false,
|
|
100
100
|
skipped: false,
|
|
@@ -114,7 +114,7 @@ export async function runInteractiveWizard(existingName, presetRuntime) {
|
|
|
114
114
|
console.log(muted("\n Cancelled.\n"));
|
|
115
115
|
return {
|
|
116
116
|
projectName: null,
|
|
117
|
-
template:
|
|
117
|
+
template: DEFAULT_TEMPLATE,
|
|
118
118
|
runtime: "node",
|
|
119
119
|
initGit: false,
|
|
120
120
|
skipped: false,
|
|
@@ -132,7 +132,7 @@ export async function runInteractiveWizard(existingName, presetRuntime) {
|
|
|
132
132
|
console.log(muted("\n Cancelled.\n"));
|
|
133
133
|
return {
|
|
134
134
|
projectName: null,
|
|
135
|
-
template:
|
|
135
|
+
template: DEFAULT_TEMPLATE,
|
|
136
136
|
runtime: "node",
|
|
137
137
|
initGit: false,
|
|
138
138
|
skipped: false,
|
package/esm/deno.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1162",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"nodeModulesDir": "auto",
|
|
6
6
|
"minimumDependencyAge": {
|
|
@@ -472,7 +472,7 @@ export default {
|
|
|
472
472
|
"test:all-runtimes": "deno task test:unit && deno task test:node && deno task test:bun",
|
|
473
473
|
"test:e2e": "deno task test:e2e:playwright",
|
|
474
474
|
"test:e2e:playwright": "PW_DISABLE_TS_ESM=1 npx playwright test --config=tests/e2e/playwright.config.cjs",
|
|
475
|
-
"test:e2e:rsc-browser": "deno task generate && 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 --allow-all tests/e2e/regressions/rsc-proxy-hydration.test.ts tests/e2e/regressions/2026-07-27-legacy-router-hydration.test.ts --unstable-worker-options --unstable-net",
|
|
475
|
+
"test:e2e:rsc-browser": "deno task generate && 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 --allow-all tests/e2e/regressions/rsc-proxy-hydration.test.ts tests/e2e/regressions/2026-07-27-legacy-router-hydration.test.ts tests/e2e/regressions/2026-07-27-release-asset-page-island-hydration.test.ts --unstable-worker-options --unstable-net",
|
|
476
476
|
"test:e2e:binary": "deno task generate && deno test --allow-all tests/integration/compiled-binary-e2e.test.ts",
|
|
477
477
|
"test:e2e:binary:fresh": "deno task generate && VERYFRONT_BINARY_FRESH=1 deno test --allow-all tests/integration/compiled-binary-e2e.test.ts",
|
|
478
478
|
"test:e2e:templates": "deno run --allow-all scripts/test/template-runtime-e2e.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/renderer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/renderer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,cA+U7B,CAAC"}
|
|
@@ -122,8 +122,7 @@ export const getRendererScript = () => `
|
|
|
122
122
|
data.clientModuleStrategy === 'rsc-module' &&
|
|
123
123
|
!hasReleaseAssetModules &&
|
|
124
124
|
isAppRouterPath(normalizedPagePath);
|
|
125
|
-
const isolatedClientPage =
|
|
126
|
-
shouldRenderRscClientPage && data.isolatedClientPage === true;
|
|
125
|
+
const isolatedClientPage = data.isolatedClientPage === true;
|
|
127
126
|
|
|
128
127
|
async function loadHydrationComponent(path, preferRscModule) {
|
|
129
128
|
const normalizedPath = typeof path === 'string' ? path.replace(/^\\/+/, '') : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/handler.ts"],"names":[],"mappings":"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"}
|
package/esm/src/proxy/handler.js
CHANGED
|
@@ -273,6 +273,9 @@ export function createProxyHandler(options) {
|
|
|
273
273
|
expiresAt: Date.now() + routingCacheTtlMs,
|
|
274
274
|
});
|
|
275
275
|
}
|
|
276
|
+
function hasActiveReleaseForMatchedEnvironment(result, envMatcher) {
|
|
277
|
+
return result.environments?.some((env) => envMatcher(env) && !!env.active_release_id) ?? false;
|
|
278
|
+
}
|
|
276
279
|
function pruneInvalidationGenerations(generations) {
|
|
277
280
|
const oldestActiveGeneration = activeRoutingLookupGenerations.size > 0
|
|
278
281
|
? Math.min(...activeRoutingLookupGenerations.keys())
|
|
@@ -338,18 +341,37 @@ export function createProxyHandler(options) {
|
|
|
338
341
|
});
|
|
339
342
|
return { evictedEntries, generation };
|
|
340
343
|
}
|
|
341
|
-
async function resolveProjectRoutingLookup(lookupKey, token, timing) {
|
|
344
|
+
async function resolveProjectRoutingLookup(lookupKey, token, timing, isResultUsable) {
|
|
342
345
|
const cacheKey = normalizeProjectLookupKey(lookupKey);
|
|
346
|
+
const canUseResult = (result) => !result || !isResultUsable || isResultUsable(result);
|
|
347
|
+
const discardIncompleteResult = () => {
|
|
348
|
+
routingLookupCache.delete(cacheKey);
|
|
349
|
+
logger?.info("Refreshing incomplete proxy routing metadata", { lookupKey });
|
|
350
|
+
};
|
|
351
|
+
let hasRejectedIncompleteResult = false;
|
|
343
352
|
return await profileProxyServerTimingPhase(timing ?? { enabled: false, startedAt: 0, phases: new Map() }, "proxy.routing_lookup", async () => {
|
|
344
353
|
const cached = getCachedRoutingLookup(cacheKey);
|
|
345
|
-
if (cached) {
|
|
354
|
+
if (cached && canUseResult(cached)) {
|
|
346
355
|
logger?.debug("Proxy routing metadata cache hit", { lookupKey });
|
|
347
356
|
return cached;
|
|
348
357
|
}
|
|
349
|
-
|
|
350
|
-
|
|
358
|
+
if (cached) {
|
|
359
|
+
discardIncompleteResult();
|
|
360
|
+
hasRejectedIncompleteResult = true;
|
|
361
|
+
}
|
|
362
|
+
while (true) {
|
|
363
|
+
const existingLookup = routingLookupInflight.get(cacheKey);
|
|
364
|
+
if (!existingLookup || existingLookup.generation !== routingLookupGeneration)
|
|
365
|
+
break;
|
|
351
366
|
logger?.debug("Proxy routing metadata lookup joined in-flight request", { lookupKey });
|
|
352
|
-
|
|
367
|
+
const result = await existingLookup.promise;
|
|
368
|
+
if (hasRejectedIncompleteResult || canUseResult(result))
|
|
369
|
+
return result;
|
|
370
|
+
discardIncompleteResult();
|
|
371
|
+
hasRejectedIncompleteResult = true;
|
|
372
|
+
if (routingLookupInflight.get(cacheKey) === existingLookup) {
|
|
373
|
+
routingLookupInflight.delete(cacheKey);
|
|
374
|
+
}
|
|
353
375
|
}
|
|
354
376
|
const lookupPromise = (async () => {
|
|
355
377
|
for (let attempt = 0; attempt <= MAX_ROUTING_LOOKUP_INVALIDATION_RETRIES; attempt++) {
|
|
@@ -463,9 +485,11 @@ export function createProxyHandler(options) {
|
|
|
463
485
|
environmentId: matchingEnv?.id,
|
|
464
486
|
};
|
|
465
487
|
}
|
|
466
|
-
async function resolveProjectMetadataAndProtection(req, url, token, userToken, lookupKey, envMatcher, timing, logContext, signedInternalControlPlaneRequest) {
|
|
488
|
+
async function resolveProjectMetadataAndProtection(req, url, token, userToken, lookupKey, envMatcher, timing, logContext, signedInternalControlPlaneRequest, requireActiveRelease) {
|
|
467
489
|
return await profileProxyServerTimingPhase(timing ?? { enabled: false, startedAt: 0, phases: new Map() }, "proxy.project_lookup", async () => {
|
|
468
|
-
const routingResult = await resolveProjectRoutingLookup(lookupKey, token, timing
|
|
490
|
+
const routingResult = await resolveProjectRoutingLookup(lookupKey, token, timing, requireActiveRelease
|
|
491
|
+
? (result) => hasActiveReleaseForMatchedEnvironment(result, envMatcher)
|
|
492
|
+
: undefined);
|
|
469
493
|
if (!routingResult) {
|
|
470
494
|
return await resolveFullProjectLookupAndProtection(req, url, token, userToken, lookupKey, envMatcher, undefined, logContext, signedInternalControlPlaneRequest);
|
|
471
495
|
}
|
|
@@ -544,7 +568,7 @@ export function createProxyHandler(options) {
|
|
|
544
568
|
if (!metadataToken) {
|
|
545
569
|
return { error: { status: 502, message: "Proxy API token unavailable" } };
|
|
546
570
|
}
|
|
547
|
-
const resolveWithCurrentToken = () => resolveProjectMetadataAndProtection(req, url, metadataToken, userToken, lookupKey, envMatcher, timing, logContext, signedInternalControlPlaneRequest);
|
|
571
|
+
const resolveWithCurrentToken = () => resolveProjectMetadataAndProtection(req, url, metadataToken, userToken, lookupKey, envMatcher, timing, logContext, signedInternalControlPlaneRequest, scope === "production");
|
|
548
572
|
try {
|
|
549
573
|
return await resolveWithCurrentToken();
|
|
550
574
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1162",
|
|
4
4
|
"description": "The simplest way to build AI-powered apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -332,10 +332,10 @@
|
|
|
332
332
|
"@types/react": "19.2.14",
|
|
333
333
|
"@types/react-dom": "19.2.3",
|
|
334
334
|
"ws": "8.21.0",
|
|
335
|
-
"@veryfront/ext-bundler-esbuild": "0.1.
|
|
336
|
-
"@veryfront/ext-content-mdx": "0.1.
|
|
337
|
-
"@veryfront/ext-css-tailwind": "0.1.
|
|
338
|
-
"@veryfront/ext-parser-babel": "0.1.
|
|
335
|
+
"@veryfront/ext-bundler-esbuild": "0.1.1162",
|
|
336
|
+
"@veryfront/ext-content-mdx": "0.1.1162",
|
|
337
|
+
"@veryfront/ext-css-tailwind": "0.1.1162",
|
|
338
|
+
"@veryfront/ext-parser-babel": "0.1.1162"
|
|
339
339
|
},
|
|
340
340
|
"devDependencies": {
|
|
341
341
|
"@types/node": "20.9.0"
|