veryfront 0.1.1231 → 0.1.1232
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/cli/commands/dev/port-fallback.d.ts +15 -14
- package/esm/cli/commands/dev/port-fallback.d.ts.map +1 -1
- package/esm/cli/commands/dev/port-fallback.js +83 -36
- package/esm/cli/shared/deployment/deploy-project.d.ts.map +1 -1
- package/esm/cli/shared/deployment/deploy-project.js +35 -4
- package/esm/cli/utils/package-manager.d.ts +8 -1
- package/esm/cli/utils/package-manager.d.ts.map +1 -1
- package/esm/cli/utils/package-manager.js +4 -10
- package/esm/deno.d.ts +2 -0
- package/esm/deno.js +7 -5
- package/esm/src/agent/runtime/model-capabilities.d.ts.map +1 -1
- package/esm/src/agent/runtime/model-capabilities.js +6 -5
- package/esm/src/channels/control-plane.d.ts +112 -0
- package/esm/src/channels/control-plane.d.ts.map +1 -1
- package/esm/src/channels/control-plane.js +137 -0
- package/esm/src/extensions/install-command.d.ts +53 -0
- package/esm/src/extensions/install-command.d.ts.map +1 -0
- package/esm/src/extensions/install-command.js +145 -0
- package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
- package/esm/src/html/styles-builder/tailwind-compiler.d.ts.map +1 -1
- package/esm/src/html/styles-builder/tailwind-compiler.js +15 -7
- package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
- package/esm/src/platform/compat/std/fs.d.ts +40 -0
- package/esm/src/platform/compat/std/fs.d.ts.map +1 -0
- package/esm/src/platform/compat/std/fs.js +477 -0
- package/esm/src/proxy/control-plane-signature.d.ts +5 -0
- package/esm/src/proxy/control-plane-signature.d.ts.map +1 -1
- package/esm/src/proxy/control-plane-signature.js +10 -12
- package/esm/src/proxy/main.js +7 -7
- package/esm/src/proxy/websocket-bridge.d.ts +20 -0
- package/esm/src/proxy/websocket-bridge.d.ts.map +1 -1
- package/esm/src/proxy/websocket-bridge.js +42 -0
- package/esm/src/proxy/websocket-client.d.ts +56 -0
- package/esm/src/proxy/websocket-client.d.ts.map +1 -0
- package/esm/src/proxy/websocket-client.js +135 -0
- package/esm/src/react/components/chat/chat/hooks/use-upload.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-upload.js +6 -1
- package/esm/src/react/components/chat/chat/hooks/use-uploads-registry.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-uploads-registry.js +10 -3
- package/esm/src/security/http/auth.d.ts.map +1 -1
- package/esm/src/security/http/auth.js +48 -0
- package/esm/src/security/http/csrf/csrf-handler.d.ts.map +1 -1
- package/esm/src/security/http/csrf/csrf-handler.js +40 -0
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +24 -2
- package/esm/src/server/runtime-handler/project-middleware.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/project-middleware.js +50 -1
- package/esm/src/utils/package-client.d.ts +46 -0
- package/esm/src/utils/package-client.d.ts.map +1 -0
- package/esm/src/utils/package-client.js +54 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +8 -8
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dev server port selection.
|
|
3
|
-
*
|
|
4
|
-
* Port 3000 is the most contended port on a developer machine, and the
|
|
5
|
-
* getting-started docs tell readers to run a bare `veryfront dev`. Rather than
|
|
6
|
-
* hard-failing when that port is taken, scan forward for the first free one -
|
|
7
|
-
* the same fallback the login callback server already uses.
|
|
8
|
-
*
|
|
9
|
-
* The scan probes ports by binding and releasing them, rather than by retrying
|
|
10
|
-
* `startDevServer`: a failed `DevServer.start()` has already registered file
|
|
11
|
-
* watchers and reload subscriptions that only `stop()` releases, so retrying it
|
|
12
|
-
* would leak a watcher set per busy port.
|
|
13
|
-
*/
|
|
14
1
|
/** How many consecutive ports to try before giving up. */
|
|
15
2
|
export declare const MAX_PORT_FALLBACK_ATTEMPTS = 10;
|
|
16
3
|
/** The highest port a TCP listener can bind. */
|
|
@@ -18,7 +5,21 @@ export declare const MAX_TCP_PORT = 65535;
|
|
|
18
5
|
/** True when `error` means "that port is taken", on either Deno or Node. */
|
|
19
6
|
export declare function isPortInUseError(error: unknown): boolean;
|
|
20
7
|
/**
|
|
21
|
-
*
|
|
8
|
+
* True when `error` means "this host has no address in that family at all",
|
|
9
|
+
* rather than "that port is taken".
|
|
10
|
+
*
|
|
11
|
+
* The two have to be told apart, because probing a family a host does not have
|
|
12
|
+
* must not make every port look busy: an IPv4-only CI container or a machine
|
|
13
|
+
* with IPv6 disabled would otherwise never find a free port to fall back to.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isAddressFamilyUnavailableError(error: unknown): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Binds `port` on every loopback family the dev server might use, and releases
|
|
18
|
+
* it again, to see whether the dev server could have it.
|
|
19
|
+
*
|
|
20
|
+
* A port counts as available only when nothing holds it on *any* of those
|
|
21
|
+
* addresses - see `PROBE_HOSTNAMES` for why one family is not enough. A family
|
|
22
|
+
* the host does not have is skipped rather than counted as a collision.
|
|
22
23
|
*
|
|
23
24
|
* The Deno runtime is read through `getDenoRuntime()` rather than through the
|
|
24
25
|
* `Deno` global directly: dnt rewrites every bare `Deno.` reference in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-fallback.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/port-fallback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"port-fallback.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/port-fallback.ts"],"names":[],"mappings":"AAoBA,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,gDAAgD;AAChD,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQxD;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWvE;AAqDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,MAAM,EACrB,WAAW,GAAE,MAAmC,EAChD,KAAK,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAmB,GAC1D,OAAO,CAAC,MAAM,CAAC,CAejB"}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dev server port selection.
|
|
3
|
-
*
|
|
4
|
-
* Port 3000 is the most contended port on a developer machine, and the
|
|
5
|
-
* getting-started docs tell readers to run a bare `veryfront dev`. Rather than
|
|
6
|
-
* hard-failing when that port is taken, scan forward for the first free one -
|
|
7
|
-
* the same fallback the login callback server already uses.
|
|
8
|
-
*
|
|
9
|
-
* The scan probes ports by binding and releasing them, rather than by retrying
|
|
10
|
-
* `startDevServer`: a failed `DevServer.start()` has already registered file
|
|
11
|
-
* watchers and reload subscriptions that only `stop()` releases, so retrying it
|
|
12
|
-
* would leak a watcher set per busy port.
|
|
13
|
-
*/
|
|
14
1
|
import { LOCALHOST } from "../../../src/config/index.js";
|
|
15
2
|
import { PORT_IN_USE } from "../../../src/errors/index.js";
|
|
16
3
|
import { getDenoRuntime } from "../../../src/platform/index.js";
|
|
@@ -30,44 +17,104 @@ export function isPortInUseError(error) {
|
|
|
30
17
|
message.includes("eaddrinuse") || message.includes("address already in use");
|
|
31
18
|
}
|
|
32
19
|
/**
|
|
33
|
-
*
|
|
20
|
+
* True when `error` means "this host has no address in that family at all",
|
|
21
|
+
* rather than "that port is taken".
|
|
34
22
|
*
|
|
35
|
-
* The
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* reads `server._handle.fd` - null under Deno's `node:net`. A CLI installed
|
|
39
|
-
* with `deno install -gArf npm:veryfront` runs that build on a real Deno, so
|
|
40
|
-
* the shim was reached and `veryfront dev` died on "Cannot read properties of
|
|
41
|
-
* null (reading 'fd')" before it ever printed a URL.
|
|
23
|
+
* The two have to be told apart, because probing a family a host does not have
|
|
24
|
+
* must not make every port look busy: an IPv4-only CI container or a machine
|
|
25
|
+
* with IPv6 disabled would otherwise never find a free port to fall back to.
|
|
42
26
|
*/
|
|
43
|
-
export
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
27
|
+
export function isAddressFamilyUnavailableError(error) {
|
|
28
|
+
if (!(error instanceof Error))
|
|
29
|
+
return false;
|
|
30
|
+
// Deno names EADDRNOTAVAIL "AddrNotAvailable"; EAFNOSUPPORT surfaces only in
|
|
31
|
+
// the message. Node reports both through `code`.
|
|
32
|
+
const code = error.code ?? "";
|
|
33
|
+
const message = error.message.toLowerCase();
|
|
34
|
+
return error.name === "AddrNotAvailable" ||
|
|
35
|
+
code === "EADDRNOTAVAIL" || code === "EAFNOSUPPORT" ||
|
|
36
|
+
message.includes("eaddrnotavail") || message.includes("eafnosupport") ||
|
|
37
|
+
message.includes("assign requested address") ||
|
|
38
|
+
message.includes("address family not supported");
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The loopback addresses a `veryfront dev` listener can land on.
|
|
42
|
+
*
|
|
43
|
+
* Which family a listener gets is decided by the runtime, not by the CLI: the
|
|
44
|
+
* Deno HTTP adapter defaults to `LOCALHOST.IPV4`, while the Node adapter that
|
|
45
|
+
* the published npm build runs defaults to the *name* `localhost`, which
|
|
46
|
+
* resolves to `::1` first on any dual-stack host. That is why one `veryfront
|
|
47
|
+
* dev` serves the app on `127.0.0.1:3000` but its MCP server - `--port + 2` -
|
|
48
|
+
* on `[::1]:3002`.
|
|
49
|
+
*
|
|
50
|
+
* A probe that bound only IPv4 therefore reported IPv6-held ports as free, and
|
|
51
|
+
* a second `veryfront dev` announced "Port 3000 is in use, using 3002 instead"
|
|
52
|
+
* while 3002 was already reserved by the first instance's MCP server. Nothing
|
|
53
|
+
* hard-failed only because the two listeners landed on different families.
|
|
54
|
+
*
|
|
55
|
+
* The literal addresses are probed rather than the name `localhost` because a
|
|
56
|
+
* listen on a name binds just the first address it resolves to, which would
|
|
57
|
+
* leave the other family unchecked exactly as before.
|
|
58
|
+
*/
|
|
59
|
+
const PROBE_HOSTNAMES = [LOCALHOST.IPV4, LOCALHOST.IPV6];
|
|
60
|
+
function probeWithDeno(deno, hostname, port) {
|
|
61
|
+
try {
|
|
62
|
+
deno.listen({ hostname, port }).close();
|
|
63
|
+
return "free";
|
|
55
64
|
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (isPortInUseError(error))
|
|
67
|
+
return "in-use";
|
|
68
|
+
if (isAddressFamilyUnavailableError(error))
|
|
69
|
+
return "no-such-family";
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async function probeWithNode(hostname, port) {
|
|
56
74
|
const net = await import("node:net");
|
|
57
75
|
return await new Promise((resolve, reject) => {
|
|
58
76
|
const server = net.createServer();
|
|
59
77
|
server.unref?.();
|
|
60
78
|
server.once("error", (error) => {
|
|
61
79
|
if (isPortInUseError(error))
|
|
62
|
-
resolve(
|
|
80
|
+
resolve("in-use");
|
|
81
|
+
else if (isAddressFamilyUnavailableError(error))
|
|
82
|
+
resolve("no-such-family");
|
|
63
83
|
else
|
|
64
84
|
reject(error);
|
|
65
85
|
});
|
|
66
|
-
server.listen({ port, host:
|
|
67
|
-
server.close(() => resolve(
|
|
86
|
+
server.listen({ port, host: hostname, exclusive: true }, () => {
|
|
87
|
+
server.close(() => resolve("free"));
|
|
68
88
|
});
|
|
69
89
|
});
|
|
70
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Binds `port` on every loopback family the dev server might use, and releases
|
|
93
|
+
* it again, to see whether the dev server could have it.
|
|
94
|
+
*
|
|
95
|
+
* A port counts as available only when nothing holds it on *any* of those
|
|
96
|
+
* addresses - see `PROBE_HOSTNAMES` for why one family is not enough. A family
|
|
97
|
+
* the host does not have is skipped rather than counted as a collision.
|
|
98
|
+
*
|
|
99
|
+
* The Deno runtime is read through `getDenoRuntime()` rather than through the
|
|
100
|
+
* `Deno` global directly: dnt rewrites every bare `Deno.` reference in the
|
|
101
|
+
* published npm build into `@deno/shim-deno`, whose Node-backed `listen()`
|
|
102
|
+
* reads `server._handle.fd` - null under Deno's `node:net`. A CLI installed
|
|
103
|
+
* with `deno install -gArf npm:veryfront` runs that build on a real Deno, so
|
|
104
|
+
* the shim was reached and `veryfront dev` died on "Cannot read properties of
|
|
105
|
+
* null (reading 'fd')" before it ever printed a URL.
|
|
106
|
+
*/
|
|
107
|
+
export async function isPortAvailable(port) {
|
|
108
|
+
const deno = getDenoRuntime();
|
|
109
|
+
for (const hostname of PROBE_HOSTNAMES) {
|
|
110
|
+
const outcome = deno
|
|
111
|
+
? probeWithDeno(deno, hostname, port)
|
|
112
|
+
: await probeWithNode(hostname, port);
|
|
113
|
+
if (outcome === "in-use")
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
71
118
|
/**
|
|
72
119
|
* Returns `requestedPort`, or the first free port after it.
|
|
73
120
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-project.d.ts","sourceRoot":"","sources":["../../../../src/cli/shared/deployment/deploy-project.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deploy-project.d.ts","sourceRoot":"","sources":["../../../../src/cli/shared/deployment/deploy-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -307,9 +307,30 @@ function assertReadyManifestCoversPageRoutes(releaseId, result, expectedRoutes)
|
|
|
307
307
|
}
|
|
308
308
|
/** Upper bound for a plausible manifest state value from the control plane. */
|
|
309
309
|
const MAX_MANIFEST_STATE_LENGTH = 64;
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
310
|
+
/**
|
|
311
|
+
* The manifest row appears the moment the project runtime begins the build, so
|
|
312
|
+
* never seeing one is a different failure from a build that is merely slow: the
|
|
313
|
+
* control plane's signed `task:release-asset-build` dispatch never reached the
|
|
314
|
+
* builder. Something in front of the runtime's control-plane handler answered
|
|
315
|
+
* it, and the operator needs to be told that rather than sent to inspect a
|
|
316
|
+
* build that never started.
|
|
317
|
+
*/
|
|
318
|
+
const RELEASE_ASSET_BUILD_NEVER_STARTED_HINT = "No manifest was ever created for this release, so the release asset build " +
|
|
319
|
+
'dispatch (POST /api/control-plane/runs/{runId}/execute, target "task:release-asset-build") ' +
|
|
320
|
+
"never reached the builder on the deployed runtime. Check the runtime logs for this " +
|
|
321
|
+
"release, and any request gate in front of it such as the project's middleware.ts or a " +
|
|
322
|
+
"security policy in veryfront.config.";
|
|
323
|
+
function releaseAssetPollingTimeoutError(options) {
|
|
324
|
+
const { lastState, lastTransientFailure, observedManifest, observedTransientFailure } = options;
|
|
325
|
+
const timeoutSeconds = Math.ceil(options.timeoutMs / 1000);
|
|
326
|
+
// Only claim the dispatch never landed when nothing else can explain the
|
|
327
|
+
// silence: a manifest read that failed leaves the build state unknown for
|
|
328
|
+
// that window, so it rules out the stronger claim even if later reads
|
|
329
|
+
// succeeded and returned no row.
|
|
330
|
+
const neverStarted = !observedManifest && !observedTransientFailure;
|
|
331
|
+
return new Error(`Release assets were not ready within ${timeoutSeconds}s (last state: ${lastState}${lastTransientFailure === null ? "" : `; last control-plane failure: ${lastTransientFailure}`}). ${neverStarted
|
|
332
|
+
? RELEASE_ASSET_BUILD_NEVER_STARTED_HINT
|
|
333
|
+
: "Check the release asset build and run deploy again."}`);
|
|
313
334
|
}
|
|
314
335
|
async function readReleaseAssetManifestBeforeDeadline(options) {
|
|
315
336
|
const abortController = new AbortController();
|
|
@@ -340,9 +361,17 @@ export async function waitForReleaseAssetManifest(controlPlane, projectSlug, rel
|
|
|
340
361
|
const deadline = Date.now() + timeoutMs;
|
|
341
362
|
let lastState = "missing";
|
|
342
363
|
let lastTransientFailure = null;
|
|
364
|
+
let observedManifest = false;
|
|
365
|
+
let observedTransientFailure = false;
|
|
343
366
|
for (;;) {
|
|
344
367
|
const remainingMs = deadline - Date.now();
|
|
345
|
-
const timeoutError = releaseAssetPollingTimeoutError(
|
|
368
|
+
const timeoutError = releaseAssetPollingTimeoutError({
|
|
369
|
+
timeoutMs,
|
|
370
|
+
lastState,
|
|
371
|
+
lastTransientFailure,
|
|
372
|
+
observedManifest,
|
|
373
|
+
observedTransientFailure,
|
|
374
|
+
});
|
|
346
375
|
if (remainingMs <= 0)
|
|
347
376
|
throw timeoutError;
|
|
348
377
|
let raw = null;
|
|
@@ -365,8 +394,10 @@ export async function waitForReleaseAssetManifest(controlPlane, projectSlug, rel
|
|
|
365
394
|
lastTransientFailure = status === undefined
|
|
366
395
|
? "a transient connection failure"
|
|
367
396
|
: `HTTP ${status}`;
|
|
397
|
+
observedTransientFailure = true;
|
|
368
398
|
}
|
|
369
399
|
if (raw !== null) {
|
|
400
|
+
observedManifest = true;
|
|
370
401
|
const state = readUntrustedOwnDataProperty(raw, "state");
|
|
371
402
|
if (!isSafeBoundedText(state, MAX_MANIFEST_STATE_LENGTH)) {
|
|
372
403
|
throw new Error(`Release assets for ${releaseId} returned an invalid state response`);
|
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
* Uses cross-runtime platform abstractions.
|
|
4
4
|
* @module cli/utils/package-manager
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
import { type PackageClient } from "../../src/utils/package-client.js";
|
|
7
|
+
/**
|
|
8
|
+
* The client this CLI installs with.
|
|
9
|
+
*
|
|
10
|
+
* Shared with `src/extensions/install-command.ts`, which prints install hints:
|
|
11
|
+
* the client Veryfront tells a reader to run must be the client it ran itself.
|
|
12
|
+
*/
|
|
13
|
+
export type PackageManager = PackageClient;
|
|
7
14
|
/**
|
|
8
15
|
* Detect package manager from npm_config_user_agent environment variable
|
|
9
16
|
* This is set when running via `pnpm create`, `npm create`, etc.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/package-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/package-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGzF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,GAAG,SAAS,CAWhE;AAkCD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,cAAc,CAAC,CAyBzB;AAUD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CASxE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAaxD;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,GACL,OAAO,CAAC,OAAO,CAAC,CAwBlB"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { join } from "../../src/platform/compat/path/index.js";
|
|
7
7
|
import { cliLogger as logger } from "./index.js";
|
|
8
8
|
import { getEnv, getOsType, runCommand } from "../../src/platform/index.js";
|
|
9
|
+
import { LOCKFILE_CLIENTS } from "../../src/utils/package-client.js";
|
|
9
10
|
import { getFs } from "./fs.js";
|
|
10
11
|
/**
|
|
11
12
|
* Detect package manager from npm_config_user_agent environment variable
|
|
@@ -46,18 +47,11 @@ async function executeCommand(cmd, args, cwd, silent) {
|
|
|
46
47
|
});
|
|
47
48
|
return result.code;
|
|
48
49
|
}
|
|
49
|
-
const LOCKFILES = [
|
|
50
|
-
{ file: "bun.lockb", pm: "bun" },
|
|
51
|
-
{ file: "deno.lock", pm: "deno" },
|
|
52
|
-
{ file: "pnpm-lock.yaml", pm: "pnpm" },
|
|
53
|
-
{ file: "yarn.lock", pm: "yarn" },
|
|
54
|
-
{ file: "package-lock.json", pm: "npm" },
|
|
55
|
-
];
|
|
56
50
|
async function detectFromDir(dir) {
|
|
57
51
|
const fs = getFs();
|
|
58
|
-
for (const
|
|
59
|
-
if (await fs.exists(join(dir,
|
|
60
|
-
return
|
|
52
|
+
for (const [file, pm] of LOCKFILE_CLIENTS) {
|
|
53
|
+
if (await fs.exists(join(dir, file)))
|
|
54
|
+
return { pm, file };
|
|
61
55
|
}
|
|
62
56
|
return undefined;
|
|
63
57
|
}
|
package/esm/deno.d.ts
CHANGED
|
@@ -159,6 +159,7 @@ declare namespace _default {
|
|
|
159
159
|
"veryfront/utils/import-lockfile": string;
|
|
160
160
|
"veryfront/utils/env-loader": string;
|
|
161
161
|
"veryfront/utils/logger": string;
|
|
162
|
+
"veryfront/utils/package-client": string;
|
|
162
163
|
"veryfront/proxy/main": string;
|
|
163
164
|
"veryfront/proxy/handler": string;
|
|
164
165
|
"veryfront/proxy/cache": string;
|
|
@@ -452,6 +453,7 @@ declare namespace _default {
|
|
|
452
453
|
"lint:imports": string;
|
|
453
454
|
"lint:ban-internal-root-imports": string;
|
|
454
455
|
"lint:chat-composability": string;
|
|
456
|
+
"lint:rfc-status": string;
|
|
455
457
|
"lint:style": string;
|
|
456
458
|
"lint:cli-boundary": string;
|
|
457
459
|
"validate:architecture": string;
|
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.1232",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"nodeModulesDir": "auto",
|
|
6
6
|
"minimumDependencyAge": {
|
|
@@ -229,6 +229,7 @@ export default {
|
|
|
229
229
|
"veryfront/utils/import-lockfile": "./src/utils/import-lockfile.ts",
|
|
230
230
|
"veryfront/utils/env-loader": "./src/utils/env-loader.ts",
|
|
231
231
|
"veryfront/utils/logger": "./src/utils/logger/index.ts",
|
|
232
|
+
"veryfront/utils/package-client": "./src/utils/package-client.ts",
|
|
232
233
|
"veryfront/proxy/main": "./src/proxy/main.ts",
|
|
233
234
|
"veryfront/proxy/handler": "./src/proxy/handler.ts",
|
|
234
235
|
"veryfront/proxy/cache": "./src/proxy/cache/index.ts",
|
|
@@ -494,12 +495,12 @@ export default {
|
|
|
494
495
|
"build:storybook": "npm --prefix storybook run build-storybook",
|
|
495
496
|
"storybook:check": "deno test --no-lock --config=scripts/test.deno.json --no-check --allow-read scripts/storybook/storybook-workbench.test.ts",
|
|
496
497
|
"lint": "DENO_NO_PACKAGE_JSON=1 deno lint && deno lint --config=scripts/test.deno.json scripts/test/ scripts/build/dnt-polyfill.ts scripts/build/dnt-polyfill.test.ts scripts/build/npm-package-metadata.test.ts scripts/build/prepare-framework-sources.test.ts && deno lint --config=scripts/codemods/deno.json scripts/codemods/",
|
|
497
|
-
"lint:ci": "deno task lint && deno task lint:core-deps && deno task lint:cross-runtime-jsr && deno task lint:dependency-boundaries && deno task lint:module-boundaries && deno task lint:extension-contracts && deno task lint:extension-capabilities && deno task lint:ban-test-only && deno task lint:sanitizer-baseline && deno task lint:skipped-tests && deno task lint:chat-ratchets && deno task lint:esm-sh-codemod && deno task lint:test-typecheck && deno task lint:cwd-relative-test-reads && deno task storybook:check && deno task docs:api-reference:check && deno task docs:errors:check && deno task docs:public:check && deno test --frozen --config=scripts/test.deno.json --no-check --allow-read --allow-write scripts/ci/setup-deno-workflow.test.ts scripts/ci/prepare-rc-build.test.ts scripts/build/generated-artifact-checks.test.ts",
|
|
498
|
+
"lint:ci": "deno task lint && deno task lint:core-deps && deno task lint:cross-runtime-jsr && deno task lint:dependency-boundaries && deno task lint:module-boundaries && deno task lint:extension-contracts && deno task lint:extension-capabilities && deno task lint:ban-test-only && deno task lint:sanitizer-baseline && deno task lint:skipped-tests && deno task lint:chat-ratchets && deno task lint:chat-composability && deno task lint:rfc-status && deno task lint:esm-sh-codemod && deno task lint:test-typecheck && deno task lint:cwd-relative-test-reads && deno task storybook:check && deno task docs:api-reference:check && deno task docs:errors:check && deno task docs:public:check && deno test --frozen --config=scripts/test.deno.json --no-check --allow-read --allow-write --allow-run=bash scripts/ci/setup-deno-workflow.test.ts scripts/ci/prepare-rc-build.test.ts scripts/build/generated-artifact-checks.test.ts",
|
|
498
499
|
"fmt": "deno fmt src/ cli/ react/ templates/ && deno fmt --config=scripts/test.deno.json scripts/test/ scripts/build/dnt-polyfill.ts scripts/build/dnt-polyfill.test.ts scripts/build/prepare-framework-sources.test.ts && deno fmt --config=scripts/codemods/deno.json scripts/codemods/",
|
|
499
500
|
"fmt:check": "deno fmt --check src/ cli/ react/ templates/ && deno fmt --check --config=scripts/test.deno.json scripts/test/ scripts/build/dnt-polyfill.ts scripts/build/dnt-polyfill.test.ts scripts/build/prepare-framework-sources.test.ts && deno fmt --check --config=scripts/codemods/deno.json scripts/codemods/",
|
|
500
501
|
"typecheck": "deno task generate:manifests:check && 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/html/hydration-script-builder/runtime/main.ts src/modules/index.ts src/proxy/main.ts src/react/components/ui/index.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/agent/service/route-export.check.ts src/eval/index.ts src/tool/index.ts src/workflow/index.ts src/prompt/index.ts src/resource/index.ts src/runs/index.ts src/mcp/index.ts src/provider/index.ts",
|
|
501
|
-
"verify": "deno task generate:manifests:check && deno task fmt:check && deno task lint && deno task lint:style && deno task lint:chat-composability && deno task lint:chat-ratchets && deno task lint:esm-sh-codemod && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task lint:ban-test-only && deno task lint:sanitizer-baseline && deno task lint:skipped-tests && deno task lint:ban-zod && deno task lint:cwd-relative-test-reads && deno task lint:core-deps && deno task lint:cross-runtime-jsr && deno task lint:dependency-boundaries && deno task lint:module-boundaries && deno task lint:extension-contracts && deno task lint:extension-capabilities && deno task docs:api-reference:check && deno task docs:errors:check && deno task docs:validate && deno task typecheck && deno task typecheck:consumer && deno task test && deno task test:scripts && deno task test:e2e:binary",
|
|
502
|
-
"verify:quick": "deno task generate:manifests:check && deno task fmt:check && deno task lint && deno task lint:style && deno task lint:chat-composability && deno task lint:chat-ratchets && deno task lint:esm-sh-codemod && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task lint:ban-test-only && deno task lint:sanitizer-baseline && deno task lint:skipped-tests && deno task lint:ban-zod && deno task lint:cwd-relative-test-reads && deno task lint:core-deps && deno task lint:cross-runtime-jsr && deno task lint:dependency-boundaries && deno task lint:module-boundaries && deno task lint:extension-contracts && deno task lint:extension-capabilities && deno task docs:api-reference:check && deno task docs:errors:check && deno task docs:validate && deno task typecheck",
|
|
502
|
+
"verify": "deno task generate:manifests:check && deno task fmt:check && deno task lint && deno task lint:style && deno task lint:chat-composability && deno task lint:rfc-status && deno task lint:chat-ratchets && deno task lint:esm-sh-codemod && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task lint:ban-test-only && deno task lint:sanitizer-baseline && deno task lint:skipped-tests && deno task lint:ban-zod && deno task lint:cwd-relative-test-reads && deno task lint:core-deps && deno task lint:cross-runtime-jsr && deno task lint:dependency-boundaries && deno task lint:module-boundaries && deno task lint:extension-contracts && deno task lint:extension-capabilities && deno task docs:api-reference:check && deno task docs:errors:check && deno task docs:validate && deno task typecheck && deno task typecheck:consumer && deno task test && deno task test:scripts && deno task test:e2e:binary",
|
|
503
|
+
"verify:quick": "deno task generate:manifests:check && deno task fmt:check && deno task lint && deno task lint:style && deno task lint:chat-composability && deno task lint:rfc-status && deno task lint:chat-ratchets && deno task lint:esm-sh-codemod && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task lint:ban-test-only && deno task lint:sanitizer-baseline && deno task lint:skipped-tests && deno task lint:ban-zod && deno task lint:cwd-relative-test-reads && deno task lint:core-deps && deno task lint:cross-runtime-jsr && deno task lint:dependency-boundaries && deno task lint:module-boundaries && deno task lint:extension-contracts && deno task lint:extension-capabilities && deno task docs:api-reference:check && deno task docs:errors:check && deno task docs:validate && deno task typecheck",
|
|
503
504
|
"typecheck:consumer": "deno run --allow-read --allow-run --allow-env --allow-write scripts/typecheck/run-consumer-typecheck.ts",
|
|
504
505
|
"codemod:chat": "deno run --frozen --config=scripts/codemods/deno.json --allow-read --allow-write --allow-env=BABEL_TYPES_8_BREAKING scripts/codemods/migrate-chat-composition.ts",
|
|
505
506
|
"codemod:esm-sh": "deno run --frozen --config=scripts/codemods/deno.json --allow-read --allow-write --allow-env=BABEL_TYPES_8_BREAKING scripts/codemods/migrate-esm-sh-imports.ts",
|
|
@@ -528,6 +529,7 @@ export default {
|
|
|
528
529
|
"lint:imports": "deno run --allow-read scripts/lint/no-cross-boundary-relative-imports.ts",
|
|
529
530
|
"lint:ban-internal-root-imports": "deno run --allow-read scripts/lint/ban-internal-root-imports.ts",
|
|
530
531
|
"lint:chat-composability": "deno run --allow-read scripts/lint/audit-chat-composability.ts",
|
|
532
|
+
"lint:rfc-status": "deno run --allow-read scripts/lint/audit-rfc-status.ts",
|
|
531
533
|
"lint:style": "deno run --allow-read scripts/lint/enforce-style-conventions.ts",
|
|
532
534
|
"lint:cli-boundary": "deno run --allow-read scripts/lint/enforce-cli-boundary.ts",
|
|
533
535
|
"validate:architecture": "deno run --allow-read scripts/lint/validate-architecture.ts",
|
|
@@ -541,7 +543,7 @@ export default {
|
|
|
541
543
|
"lint:sanitizer-baseline": "deno run --allow-read scripts/lint/check-sanitizer-baseline.ts",
|
|
542
544
|
"lint:skipped-tests": "deno run --allow-read scripts/lint/check-skipped-tests-baseline.ts",
|
|
543
545
|
"lint:cwd-relative-test-reads": "deno run --allow-read scripts/lint/audit-cwd-relative-test-reads.ts",
|
|
544
|
-
"test:scripts": "deno test --config=scripts/test.deno.json --no-check --allow-read --allow-write --allow-run scripts/ci/prepare-rc-build.test.ts scripts/ci/publish-npm-packages.test.ts scripts/ci/setup-deno-workflow.test.ts scripts/build/compile-binary.test.ts scripts/build/dnt-polyfill.test.ts scripts/build/generate-sbom.test.ts scripts/build/generated-artifact-checks.test.ts scripts/build/npm-dependency-sources.test.ts scripts/build/npm-extension-package-metadata.test.ts scripts/build/npm-package-metadata.test.ts scripts/build/npm-react-shims.test.ts scripts/build/npm-runtime-helper-contract.test.ts scripts/build/prepare-framework-sources.test.ts scripts/docs/docs-coverage.test.ts scripts/docs/generate-api-reference.test.ts scripts/docs/guide-validation.test.ts scripts/lint/audit-core-deps.test.ts scripts/lint/audit-cwd-relative-test-reads.test.ts scripts/lint/audit-cross-runtime-jsr.test.ts scripts/lint/audit-dependency-boundaries.test.ts scripts/lint/audit-extension-capabilities.test.ts scripts/lint/audit-extension-contracts.test.ts scripts/lint/audit-deps.test.ts scripts/lint/check-module-boundaries.test.ts scripts/lint/lint-config.test.ts scripts/lint/ban-test-only.test.ts scripts/lint/check-sanitizer-baseline.test.ts scripts/lint/check-skipped-tests-baseline.test.ts scripts/lint/check-test-typecheck-baseline.test.ts scripts/lint/check-coverage.test.ts scripts/security/audit-npm.test.ts scripts/security/submit-dependency-snapshot.test.ts scripts/test/template-runtime-e2e.test.ts && deno task test:tool-search-live",
|
|
546
|
+
"test:scripts": "deno test --config=scripts/test.deno.json --no-check --allow-read --allow-write --allow-run scripts/ci/prepare-rc-build.test.ts scripts/ci/publish-npm-packages.test.ts scripts/ci/setup-deno-workflow.test.ts scripts/build/compile-binary.test.ts scripts/build/dnt-polyfill.test.ts scripts/build/generate-sbom.test.ts scripts/build/generated-artifact-checks.test.ts scripts/build/npm-dependency-sources.test.ts scripts/build/npm-extension-package-metadata.test.ts scripts/build/npm-package-metadata.test.ts scripts/build/npm-react-shims.test.ts scripts/build/npm-runtime-helper-contract.test.ts scripts/build/prepare-framework-sources.test.ts scripts/docs/docs-coverage.test.ts scripts/docs/generate-api-reference.test.ts scripts/docs/guide-validation.test.ts scripts/lint/audit-chat-composability.test.ts scripts/lint/audit-rfc-status.test.ts scripts/lint/audit-core-deps.test.ts scripts/lint/audit-cwd-relative-test-reads.test.ts scripts/lint/audit-cross-runtime-jsr.test.ts scripts/lint/audit-dependency-boundaries.test.ts scripts/lint/audit-extension-capabilities.test.ts scripts/lint/audit-extension-contracts.test.ts scripts/lint/audit-deps.test.ts scripts/lint/check-module-boundaries.test.ts scripts/lint/lint-config.test.ts scripts/lint/ban-test-only.test.ts scripts/lint/check-sanitizer-baseline.test.ts scripts/lint/check-skipped-tests-baseline.test.ts scripts/lint/check-test-typecheck-baseline.test.ts scripts/lint/check-coverage.test.ts scripts/security/audit-npm.test.ts scripts/security/submit-dependency-snapshot.test.ts scripts/test/template-runtime-e2e.test.ts && deno task test:tool-search-live",
|
|
545
547
|
"test:sentry-runtime-packages": "deno test --config=scripts/test.deno.json --no-check --no-lock --allow-read --allow-write --allow-run --allow-env=DENO_DIR,HOME,XDG_CACHE_HOME,LOCALAPPDATA,USERPROFILE scripts/build/sentry-runtime-packages.test.ts",
|
|
546
548
|
"test:tool-search-live": "VF_DISABLE_LRU_INTERVAL=1 deno test --no-check -A tests/agent/verify-tool-search-live.test.ts",
|
|
547
549
|
"test:cross-runtime": "deno run --allow-all src/platform/compat/cross-runtime.test.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-capabilities.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/model-capabilities.ts"],"names":[],"mappings":"AAgCA,wBAAgB,mBAAmB,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAetF;AAED,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnF;AAED,wBAAgB,4BAA4B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"model-capabilities.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/model-capabilities.ts"],"names":[],"mappings":"AAgCA,wBAAgB,mBAAmB,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAetF;AAED,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnF;AAED,wBAAgB,4BAA4B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAO1E;AAED,wBAAgB,4BAA4B,CAC1C,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,MAAM,GAAG,SAAS,CASpB;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,kBAAkB,EAAE,MAAM,EAC1B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,MAAM,GAAG,SAAS,CAWpB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const VERYFRONT_CLOUD_MODEL_PREFIX = "veryfront-cloud/";
|
|
2
|
-
// MAINTENANCE: Update this set whenever a new model is released
|
|
3
|
-
// accept a temperature parameter. Models absent from this
|
|
4
|
-
// support temperature; the consequence of a missing entry is an ignored
|
|
5
|
-
// not a hard error.
|
|
2
|
+
// MAINTENANCE: Update this set or family predicate whenever a new model is released
|
|
3
|
+
// that does not accept a temperature parameter. Models absent from this policy are
|
|
4
|
+
// assumed to support temperature; the consequence of a missing entry is an ignored
|
|
5
|
+
// parameter, not a hard error.
|
|
6
6
|
const MODELS_WITHOUT_TEMPERATURE_PARAMETER = new Set([
|
|
7
7
|
"anthropic/claude-opus-4-7",
|
|
8
8
|
"anthropic/claude-opus-4-8",
|
|
@@ -50,7 +50,8 @@ export function supportsTemperatureParameter(modelString) {
|
|
|
50
50
|
const normalizedModel = normalizeModelCapabilityId(modelString);
|
|
51
51
|
if (!normalizedModel)
|
|
52
52
|
return true;
|
|
53
|
-
return !MODELS_WITHOUT_TEMPERATURE_PARAMETER.has(normalizedModel)
|
|
53
|
+
return (!MODELS_WITHOUT_TEMPERATURE_PARAMETER.has(normalizedModel) &&
|
|
54
|
+
!/^anthropic\/claude-opus-5(?:[.-]|$)/.test(normalizedModel));
|
|
54
55
|
}
|
|
55
56
|
export function getFixedTemperatureParameter(modelString, providerOptions) {
|
|
56
57
|
const normalizedModel = normalizeModelCapabilityId(modelString);
|
|
@@ -9,6 +9,118 @@ export declare const CONTROL_PLANE_AGENTS_LIST_PATH = "/api/control-plane/agents
|
|
|
9
9
|
export declare const CONTROL_PLANE_RUNS_PATH_PREFIX = "/api/control-plane/runs/";
|
|
10
10
|
/** Shared control plane run stream path value. */
|
|
11
11
|
export declare const CONTROL_PLANE_RUN_STREAM_PATH = "/api/control-plane/runs/:runId/stream";
|
|
12
|
+
/** Request header the control plane carries its signed operation envelope in. */
|
|
13
|
+
export declare const CONTROL_PLANE_JWS_HEADER = "x-veryfront-control-plane-jws";
|
|
14
|
+
/** Request header a platform channel dispatch carries its signed envelope in. */
|
|
15
|
+
export declare const DISPATCH_JWS_HEADER = "x-veryfront-dispatch-jws";
|
|
16
|
+
/** The one route that accepts a signed channel dispatch envelope. */
|
|
17
|
+
export declare const CHANNEL_INVOKE_PATH = "/channels/invoke";
|
|
18
|
+
/**
|
|
19
|
+
* True when a method and path pair addresses a registered control-plane handler.
|
|
20
|
+
*
|
|
21
|
+
* The reserved namespace is wider than the set of routes the runtime actually
|
|
22
|
+
* serves. Only these shapes reach a handler that authenticates a signed
|
|
23
|
+
* operation envelope through `verifyControlPlaneRequest`:
|
|
24
|
+
*
|
|
25
|
+
* - `POST /api/control-plane/agents/list`
|
|
26
|
+
* - `POST /api/control-plane/runs/{runId}/execute`
|
|
27
|
+
* - `POST /api/control-plane/runs/{runId}/stream`
|
|
28
|
+
* - `POST /api/control-plane/runs/{runId}/resume`
|
|
29
|
+
* - `DELETE /api/control-plane/runs/{runId}`
|
|
30
|
+
*
|
|
31
|
+
* Any other path under the prefix falls through to project code, so treating
|
|
32
|
+
* the prefix as proof of a control-plane request would hand a project's own
|
|
33
|
+
* routes whatever exemption the caller grants.
|
|
34
|
+
*
|
|
35
|
+
* Match this against `URL.pathname`, which resolves dot segments, so a path
|
|
36
|
+
* cannot be smuggled past the anchored patterns.
|
|
37
|
+
*/
|
|
38
|
+
export declare function isControlPlaneSurfaceRoute(method: string, pathname: string | undefined): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* True for a request that is a control-plane dispatch rather than a browser one.
|
|
41
|
+
*
|
|
42
|
+
* Both conditions must hold. The method and path must address a registered
|
|
43
|
+
* control-plane handler (see {@link isControlPlaneSurfaceRoute}), and the
|
|
44
|
+
* request must carry a control-plane signature header. The receiving handler
|
|
45
|
+
* verifies that envelope against the dispatch signing key, and the signature
|
|
46
|
+
* covers the request method and path, so an envelope minted for one surface
|
|
47
|
+
* cannot be replayed against another.
|
|
48
|
+
*
|
|
49
|
+
* Callers use this to keep gates that assume a browser client, such as CSRF
|
|
50
|
+
* double-submit validation, from standing in front of platform dispatch.
|
|
51
|
+
*
|
|
52
|
+
* Do not read a true result as evidence that the caller is the platform, and do
|
|
53
|
+
* not argue the exemption is safe because the header is hard to attach. It is
|
|
54
|
+
* not hard to attach. A project can configure a permissive `security.cors`, and
|
|
55
|
+
* on the default path `resolveNormalizedCORSPreflightPolicy` reflects whatever
|
|
56
|
+
* `Access-Control-Request-Headers` asked for, so the runtime will advertise this
|
|
57
|
+
* header to a cross-origin caller. The proxy likewise forwards an unverified
|
|
58
|
+
* `x-veryfront-*-jws` from a public request rather than stripping it. Assume an
|
|
59
|
+
* attacker can set this header at will.
|
|
60
|
+
*
|
|
61
|
+
* The exemption is safe for a narrower reason that does not depend on who can
|
|
62
|
+
* set the header. Skipping the gate concedes only the browser-credential check;
|
|
63
|
+
* authority still comes from the signature the receiving handler verifies, which
|
|
64
|
+
* an attacker cannot forge. And every route this predicate admits is owned by a
|
|
65
|
+
* handler registered ahead of `ApiHandlerWrapper` and instantiated
|
|
66
|
+
* unconditionally, so an admitted request always terminates at that verification
|
|
67
|
+
* and can never fall through to project code. A forged header buys a different
|
|
68
|
+
* rejection, nothing more. That ordering is the load-bearing part; it is pinned
|
|
69
|
+
* by `server/runtime-handler/dispatch-exemption-ordering.test.ts`, and the
|
|
70
|
+
* behaviour it protects by `security/http/dispatch-exemption-matrix.test.ts`.
|
|
71
|
+
*
|
|
72
|
+
* A project route that merely sits at a look-alike path is not a registered
|
|
73
|
+
* surface and does not satisfy this predicate at all.
|
|
74
|
+
*
|
|
75
|
+
* This is not authentication. It only reports that authority for the request
|
|
76
|
+
* comes from a signature the handler checks, never from ambient credentials.
|
|
77
|
+
*/
|
|
78
|
+
export declare function isSignedControlPlaneDispatch(req: Request): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* True when a method and path pair addresses the channel dispatch handler.
|
|
81
|
+
*
|
|
82
|
+
* `POST /channels/invoke` is the one route `ChannelInvokeHandler` registers,
|
|
83
|
+
* and the only route that verifies a channel dispatch envelope. It is
|
|
84
|
+
* deliberately not part of {@link isControlPlaneSurfaceRoute}: the control
|
|
85
|
+
* plane's `channels` surface names a product surface inside a control-plane
|
|
86
|
+
* envelope, not this HTTP route, and this route carries a different envelope.
|
|
87
|
+
*
|
|
88
|
+
* The `/channels/` namespace is reserved but not exclusively routed, so any
|
|
89
|
+
* sibling or child path is matched exactly rather than by prefix. Match this
|
|
90
|
+
* against `URL.pathname`, which resolves dot segments.
|
|
91
|
+
*/
|
|
92
|
+
export declare function isChannelDispatchRoute(method: string, pathname: string | undefined): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* True for a request that is a platform channel dispatch rather than a browser one.
|
|
95
|
+
*
|
|
96
|
+
* Both conditions must hold. The method and path must be the one route the
|
|
97
|
+
* channel invoke handler owns (see {@link isChannelDispatchRoute}), and the
|
|
98
|
+
* request must carry a dispatch signature header. The handler then verifies
|
|
99
|
+
* that envelope with `verifyDispatchJws`, which binds the Ed25519 signature to
|
|
100
|
+
* the issuer, the project audience, the project id, the dispatch id, the
|
|
101
|
+
* platform and a SHA-256 hash of the body, with expiry and skew bounds; the
|
|
102
|
+
* handler additionally rejects an envelope whose claims do not match the
|
|
103
|
+
* dispatch id, platform and project id in the payload it acts on.
|
|
104
|
+
*
|
|
105
|
+
* Callers use this to keep gates that assume a browser client, such as CSRF
|
|
106
|
+
* double-submit validation, from standing in front of platform dispatch. The
|
|
107
|
+
* channel dispatcher and the runtime-owner re-dispatch in
|
|
108
|
+
* `resolveRuntimeOwnerInvokeUrl` hold no `__Host-vf_csrf` cookie to echo and
|
|
109
|
+
* derive no authority from one.
|
|
110
|
+
*
|
|
111
|
+
* As with {@link isSignedControlPlaneDispatch}, assume an attacker can set this
|
|
112
|
+
* header: a permissive project `security.cors` makes the runtime advertise it on
|
|
113
|
+
* a preflight, and the proxy forwards an unverified one. The exemption is safe
|
|
114
|
+
* because it concedes only the browser-credential check (authority still comes
|
|
115
|
+
* from the envelope `ChannelInvokeHandler` verifies, which an attacker cannot
|
|
116
|
+
* forge), and because `ChannelInvokeHandler` is registered ahead of
|
|
117
|
+
* `ApiHandlerWrapper` and instantiated unconditionally, so an admitted request
|
|
118
|
+
* always terminates at that verification rather than at project code.
|
|
119
|
+
*
|
|
120
|
+
* This is not authentication. It only reports that authority for the request
|
|
121
|
+
* comes from a signature the handler checks, never from ambient credentials.
|
|
122
|
+
*/
|
|
123
|
+
export declare function isSignedChannelDispatch(req: Request): boolean;
|
|
12
124
|
/**
|
|
13
125
|
* True for control-plane run surfaces that can dispatch without project config.
|
|
14
126
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../../src/src/channels/control-plane.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../../src/src/channels/control-plane.ts"],"names":[],"mappings":"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"}
|