veryfront 0.1.812 → 0.1.813

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.
Files changed (52) hide show
  1. package/esm/deno.js +1 -1
  2. package/esm/src/agent/runtime/agent-runtime-step.d.ts +44 -0
  3. package/esm/src/agent/runtime/agent-runtime-step.d.ts.map +1 -0
  4. package/esm/src/agent/runtime/agent-runtime-step.js +23 -0
  5. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  6. package/esm/src/agent/runtime/index.js +40 -39
  7. package/esm/src/agent/runtime/model-transport.d.ts +23 -0
  8. package/esm/src/agent/runtime/model-transport.d.ts.map +1 -0
  9. package/esm/src/agent/runtime/model-transport.js +26 -0
  10. package/esm/src/cache/keys/builders/render.d.ts.map +1 -1
  11. package/esm/src/cache/keys/builders/render.js +3 -2
  12. package/esm/src/cache/request-cacheability.d.ts +3 -0
  13. package/esm/src/cache/request-cacheability.d.ts.map +1 -0
  14. package/esm/src/cache/request-cacheability.js +26 -0
  15. package/esm/src/html/hydration-script-builder/hydration-data-generator.d.ts.map +1 -1
  16. package/esm/src/html/hydration-script-builder/hydration-data-generator.js +1 -10
  17. package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
  18. package/esm/src/html/hydration-script-builder/templates/router.js +41 -10
  19. package/esm/src/observability/request-profiler.d.ts.map +1 -1
  20. package/esm/src/observability/request-profiler.js +1 -0
  21. package/esm/src/proxy/handler.d.ts.map +1 -1
  22. package/esm/src/proxy/handler.js +39 -29
  23. package/esm/src/proxy/main.js +21 -20
  24. package/esm/src/proxy/proxy-error-context.d.ts +20 -0
  25. package/esm/src/proxy/proxy-error-context.d.ts.map +1 -0
  26. package/esm/src/proxy/proxy-error-context.js +35 -0
  27. package/esm/src/proxy/request-lifecycle.d.ts +19 -0
  28. package/esm/src/proxy/request-lifecycle.d.ts.map +1 -0
  29. package/esm/src/proxy/request-lifecycle.js +27 -0
  30. package/esm/src/proxy/upstream-error-response.d.ts +5 -0
  31. package/esm/src/proxy/upstream-error-response.d.ts.map +1 -0
  32. package/esm/src/proxy/upstream-error-response.js +15 -0
  33. package/esm/src/release-assets/client-module-map.d.ts +3 -0
  34. package/esm/src/release-assets/client-module-map.d.ts.map +1 -0
  35. package/esm/src/release-assets/client-module-map.js +10 -0
  36. package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
  37. package/esm/src/rendering/orchestrator/module-loader/index.js +13 -49
  38. package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.d.ts +25 -0
  39. package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.d.ts.map +1 -0
  40. package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.js +69 -0
  41. package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
  42. package/esm/src/rendering/orchestrator/pipeline.js +9 -10
  43. package/esm/src/rendering/orchestrator/types.d.ts +2 -0
  44. package/esm/src/rendering/orchestrator/types.d.ts.map +1 -1
  45. package/esm/src/rendering/renderer.d.ts.map +1 -1
  46. package/esm/src/rendering/renderer.js +24 -19
  47. package/esm/src/server/handlers/request/module/page-data-endpoint-handler.d.ts +1 -0
  48. package/esm/src/server/handlers/request/module/page-data-endpoint-handler.d.ts.map +1 -1
  49. package/esm/src/server/handlers/request/module/page-data-endpoint-handler.js +98 -8
  50. package/esm/src/utils/version-constant.d.ts +1 -1
  51. package/esm/src/utils/version-constant.js +1 -1
  52. package/package.json +1 -1
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.812",
3
+ "version": "0.1.813",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -0,0 +1,44 @@
1
+ import type { RemoteToolSource, ToolDefinition, ToolExecutionContext } from "../../tool/index.js";
2
+ import type { AgentConfig, Message } from "../types.js";
3
+ import type { ToolConfigEntry } from "./tool-helpers.js";
4
+ export type AgentRuntimeStepMode = "generate" | "stream";
5
+ export type RuntimeStepToolLoader = (toolsConfig: true | Record<string, ToolConfigEntry> | undefined, options?: {
6
+ includeSkillTools?: boolean;
7
+ includeIntegrationTools?: boolean;
8
+ allowedRemoteToolNames?: string[];
9
+ forwardedRemoteToolDefinitions?: ToolDefinition[];
10
+ remoteToolSources?: RemoteToolSource[];
11
+ remoteToolContext?: ToolExecutionContext;
12
+ callerAgentId?: string;
13
+ }) => Promise<ToolDefinition[]>;
14
+ export interface AgentRuntimeStepState {
15
+ systemPrompt: string;
16
+ context?: Record<string, unknown>;
17
+ }
18
+ export type RuntimeStepStateResolver = (messages: Message[], runtimeContext: Record<string, unknown> | undefined, mode: AgentRuntimeStepMode, step: number, systemPrompt: string) => Promise<AgentRuntimeStepState>;
19
+ export interface PrepareAgentRuntimeStepInput {
20
+ agentId: string;
21
+ activeSkillPolicy: string[] | undefined;
22
+ allowedRemoteToolNames: string[] | undefined;
23
+ config: AgentConfig;
24
+ forwardedRemoteToolDefinitions: ToolDefinition[] | undefined;
25
+ getAvailableTools: RuntimeStepToolLoader;
26
+ isLocalModel: boolean;
27
+ messages: Message[];
28
+ mode: AgentRuntimeStepMode;
29
+ remoteToolSources: RemoteToolSource[] | undefined;
30
+ resolveRuntimeState: RuntimeStepStateResolver;
31
+ runtimeContext: Record<string, unknown> | undefined;
32
+ step: number;
33
+ systemPrompt: string;
34
+ toolContextBase: ToolExecutionContext | undefined;
35
+ }
36
+ export interface PreparedAgentRuntimeStep {
37
+ runtimeContext: Record<string, unknown> | undefined;
38
+ systemPrompt: string;
39
+ toolContext: ToolExecutionContext;
40
+ tools: ToolDefinition[];
41
+ }
42
+ /** Resolve per-step runtime state and the tools visible for that step. */
43
+ export declare function prepareAgentRuntimeStep(input: PrepareAgentRuntimeStepInput): Promise<PreparedAgentRuntimeStep>;
44
+ //# sourceMappingURL=agent-runtime-step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime-step.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/agent-runtime-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG,CAClC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAC/D,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,8BAA8B,CAAC,EAAE,cAAc,EAAE,CAAC;IAClD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACnD,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,sBAAsB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,WAAW,CAAC;IACpB,8BAA8B,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC7D,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAClD,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,0EAA0E;AAC1E,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CA6BnC"}
@@ -0,0 +1,23 @@
1
+ import { filterToolsForSkill } from "../../skill/allowed-tools.js";
2
+ /** Resolve per-step runtime state and the tools visible for that step. */
3
+ export async function prepareAgentRuntimeStep(input) {
4
+ const runtimeState = await input.resolveRuntimeState(input.messages, input.runtimeContext, input.mode, input.step, input.systemPrompt);
5
+ const toolContext = { ...input.toolContextBase, ...runtimeState.context };
6
+ let tools = input.isLocalModel ? [] : await input.getAvailableTools(input.config.tools, {
7
+ callerAgentId: input.agentId,
8
+ includeSkillTools: Boolean(input.config.skills),
9
+ allowedRemoteToolNames: input.allowedRemoteToolNames,
10
+ forwardedRemoteToolDefinitions: input.forwardedRemoteToolDefinitions,
11
+ remoteToolSources: input.remoteToolSources,
12
+ remoteToolContext: toolContext,
13
+ });
14
+ if (input.activeSkillPolicy) {
15
+ tools = filterToolsForSkill(tools, input.activeSkillPolicy);
16
+ }
17
+ return {
18
+ runtimeContext: runtimeState.context,
19
+ systemPrompt: runtimeState.systemPrompt,
20
+ toolContext,
21
+ tools,
22
+ };
23
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,6 @@ import { serverLogger } from "../../utils/index.js";
19
19
  import { addSpanEvent, setSpanAttributes, withSpan, } from "../../observability/tracing/index.js";
20
20
  import { convertToTextGenerationRuntimeMessages } from "./text-generation-runtime-message-converter.js";
21
21
  import { convertToolsToRuntimeTools } from "./model-tool-converter.js";
22
- import { resolveProviderOptionsWithDefaults } from "./default-provider-options.js";
23
22
  import { getRuntimeRemoteToolSources } from "./mcp-server-tool-sources.js";
24
23
  import { createStreamState, processStream, } from "./chat-stream-handler.js";
25
24
  import { repairToolCall } from "./repair-tool-call.js";
@@ -30,6 +29,7 @@ import { generateText, streamText } from "../../runtime/runtime-bridge.js";
30
29
  import { captureStreamedToolCallInput, collectFinalStreamToolResults, collectGeneratedToolResults, createToolErrorMessage, createToolResultMessage, getProviderExecutedToolNames, getToolResultError, isRecoverablePlaceholderToolCall, isStreamedToolCallIncomplete, materializeStreamedToolCall, shouldContinueAfterStreamStep, } from "./tool-result-continuation.js";
31
30
  import { enforceSkillPolicy, extractSkillId, extractSkillPolicy, hasSubmittedFormInputResult, hydrateActiveSkillStateFromMessages, LOAD_SKILL_TOOL_ID, removeFormInputAfterSubmission, } from "./skill-policy-enforcement.js";
32
31
  import { getRuntimeAllowedRemoteTools, getRuntimeForwardedIntegrationToolDefs, getRuntimeProviderTools, } from "./runtime-tool-config.js";
32
+ import { prepareAgentRuntimeStep } from "./agent-runtime-step.js";
33
33
  // Re-export from submodules
34
34
  export { closeSSEStream, generateMessageId, sendSSE } from "./sse-utils.js";
35
35
  export { RunAlreadyExistsError, RunCancelledError, RunNotActiveError, RunResumeSessionManager, WaitConflictError, WaitNotPendingError, } from "./resume-session.js";
@@ -44,11 +44,11 @@ import { DEFAULT_MAX_TOKENS, DEFAULT_TEMPERATURE, getModelMaxOutputTokens } from
44
44
  import { closeSSEStream, generateMessageId, sendSSE } from "./sse-utils.js";
45
45
  import { executeConfiguredTool, getAvailableTools, isDynamicTool } from "./tool-helpers.js";
46
46
  import { accumulateUsage, getMaxSteps, normalizeInput } from "./input-utils.js";
47
- import { filterToolsForSkill } from "../../skill/allowed-tools.js";
48
- import { resolveConfiguredAgentModel, resolveRuntimeModel } from "./model-resolution.js";
47
+ import { resolveRuntimeModel } from "./model-resolution.js";
49
48
  import { stringifyToolError, throwIfAborted } from "./error-utils.js";
50
49
  import { supportsTemperatureParameter } from "./model-capabilities.js";
51
50
  import { applySkillDelegationOverridesToToolInput, extractSkillDelegationOverrides, } from "./skill-delegation-overrides.js";
51
+ import { resolveAgentModelTransport } from "./model-transport.js";
52
52
  const logger = serverLogger.component("agent");
53
53
  function isAbortError(error, abortSignal) {
54
54
  if (abortSignal?.aborted && error === abortSignal.reason) {
@@ -92,22 +92,13 @@ export class AgentRuntime {
92
92
  return persisted.length > 0 ? persisted : inputMessages;
93
93
  }
94
94
  async resolveModelTransport(context, modelOverride, mode) {
95
- const requestedModel = resolveConfiguredAgentModel(modelOverride || this.config.model);
96
- const resolvedModelString = resolveRuntimeModel(modelOverride || this.config.model);
97
- const transport = await this.config.resolveModelTransport?.({
95
+ return await resolveAgentModelTransport({
98
96
  agentId: this.id,
99
- requestedModel,
100
- resolvedModel: resolvedModelString,
97
+ config: this.config,
101
98
  context,
99
+ modelOverride,
102
100
  mode,
103
101
  });
104
- return {
105
- requestedModel,
106
- resolvedModelString,
107
- languageModel: transport?.model ?? resolveModel(resolvedModelString),
108
- headers: transport?.headers,
109
- providerOptions: resolveProviderOptionsWithDefaults(resolvedModelString, transport?.providerOptions),
110
- };
111
102
  }
112
103
  async resolveRuntimeState(messages, context, mode, step, systemPrompt) {
113
104
  const refreshed = await this.config.resolveRuntimeState?.({
@@ -317,22 +308,27 @@ export class AgentRuntime {
317
308
  for (let step = 0; step < maxSteps; step++) {
318
309
  this.status = "thinking";
319
310
  addSpanEvent(loopSpan, "step_start", { step });
320
- const runtimeState = await this.resolveRuntimeState(currentMessages, currentRuntimeContext, "generate", step, currentSystemPrompt);
321
- currentSystemPrompt = runtimeState.systemPrompt;
322
- currentRuntimeContext = runtimeState.context;
323
- const toolContext = { ...toolContextBase, ...currentRuntimeContext };
324
- let tools = isLocal ? [] : await getAvailableTools(this.config.tools, {
325
- callerAgentId: this.id,
326
- includeSkillTools: Boolean(this.config.skills),
311
+ const preparedStep = await prepareAgentRuntimeStep({
312
+ agentId: this.id,
313
+ activeSkillPolicy,
327
314
  allowedRemoteToolNames,
315
+ config: this.config,
328
316
  forwardedRemoteToolDefinitions,
317
+ getAvailableTools,
318
+ isLocalModel: isLocal,
319
+ messages: currentMessages,
320
+ mode: "generate",
329
321
  remoteToolSources,
330
- remoteToolContext: toolContext,
322
+ resolveRuntimeState: this.resolveRuntimeState.bind(this),
323
+ runtimeContext: currentRuntimeContext,
324
+ step,
325
+ systemPrompt: currentSystemPrompt,
326
+ toolContextBase,
331
327
  });
332
- // Layer 1: Filter tools based on active skill policy (planning-time)
333
- if (activeSkillPolicy) {
334
- tools = filterToolsForSkill(tools, activeSkillPolicy);
335
- }
328
+ currentSystemPrompt = preparedStep.systemPrompt;
329
+ currentRuntimeContext = preparedStep.runtimeContext;
330
+ const toolContext = preparedStep.toolContext;
331
+ const tools = preparedStep.tools;
336
332
  const temperature = this.resolveTemperature(temperatureModelString ?? effectiveModel);
337
333
  const response = await withSpan("agent.generate_text", async (span) => {
338
334
  setSpanAttributes(span, {
@@ -549,22 +545,27 @@ export class AgentRuntime {
549
545
  throwIfAborted(abortSignal);
550
546
  sendSSE(controller, encoder, { type: "step-start" });
551
547
  const currentStepToolResults = new Map();
552
- const runtimeState = await this.resolveRuntimeState(currentMessages, currentRuntimeContext, "stream", step, currentSystemPrompt);
553
- currentSystemPrompt = runtimeState.systemPrompt;
554
- currentRuntimeContext = runtimeState.context;
555
- const toolContext = { ...toolContextBase, ...currentRuntimeContext };
556
- let tools = isLocalStreaming ? [] : await getAvailableTools(this.config.tools, {
557
- callerAgentId: this.id,
558
- includeSkillTools: Boolean(this.config.skills),
548
+ const preparedStep = await prepareAgentRuntimeStep({
549
+ agentId: this.id,
550
+ activeSkillPolicy,
559
551
  allowedRemoteToolNames,
552
+ config: this.config,
560
553
  forwardedRemoteToolDefinitions,
554
+ getAvailableTools,
555
+ isLocalModel: isLocalStreaming,
556
+ messages: currentMessages,
557
+ mode: "stream",
561
558
  remoteToolSources,
562
- remoteToolContext: toolContext,
559
+ resolveRuntimeState: this.resolveRuntimeState.bind(this),
560
+ runtimeContext: currentRuntimeContext,
561
+ step,
562
+ systemPrompt: currentSystemPrompt,
563
+ toolContextBase,
563
564
  });
564
- // Layer 1: Filter tools based on active skill policy (planning-time)
565
- if (activeSkillPolicy) {
566
- tools = filterToolsForSkill(tools, activeSkillPolicy);
567
- }
565
+ currentSystemPrompt = preparedStep.systemPrompt;
566
+ currentRuntimeContext = preparedStep.runtimeContext;
567
+ const toolContext = preparedStep.toolContext;
568
+ const tools = preparedStep.tools;
568
569
  const runtimeTools = convertToolsToRuntimeTools(tools, {
569
570
  model: effectiveModel,
570
571
  providerTools,
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Model transport resolution for the agent runtime.
3
+ *
4
+ * @module agent/runtime/model-transport
5
+ */
6
+ import { type AgentConfig } from "../types.js";
7
+ import { type ModelRuntime } from "../../provider/index.js";
8
+ export type ResolvedModelTransport = {
9
+ requestedModel: string;
10
+ resolvedModelString: string;
11
+ languageModel: ModelRuntime;
12
+ headers?: HeadersInit;
13
+ providerOptions?: Record<string, unknown>;
14
+ };
15
+ export interface ResolveAgentModelTransportInput {
16
+ agentId: string;
17
+ config: AgentConfig;
18
+ context: Record<string, unknown> | undefined;
19
+ modelOverride: string | undefined;
20
+ mode: "generate" | "stream";
21
+ }
22
+ export declare function resolveAgentModelTransport(input: ResolveAgentModelTransportInput): Promise<ResolvedModelTransport>;
23
+ //# sourceMappingURL=model-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-transport.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/model-transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,yBAAyB,CAAC;AAI1E,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;CAC7B;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAqBjC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Model transport resolution for the agent runtime.
3
+ *
4
+ * @module agent/runtime/model-transport
5
+ */
6
+ import { resolveModel } from "../../provider/index.js";
7
+ import { resolveProviderOptionsWithDefaults } from "./default-provider-options.js";
8
+ import { resolveConfiguredAgentModel, resolveRuntimeModel } from "./model-resolution.js";
9
+ export async function resolveAgentModelTransport(input) {
10
+ const requestedModel = resolveConfiguredAgentModel(input.modelOverride || input.config.model);
11
+ const resolvedModelString = resolveRuntimeModel(input.modelOverride || input.config.model);
12
+ const transport = await input.config.resolveModelTransport?.({
13
+ agentId: input.agentId,
14
+ requestedModel,
15
+ resolvedModel: resolvedModelString,
16
+ context: input.context,
17
+ mode: input.mode,
18
+ });
19
+ return {
20
+ requestedModel,
21
+ resolvedModelString,
22
+ languageModel: transport?.model ?? resolveModel(resolvedModelString),
23
+ headers: transport?.headers,
24
+ providerOptions: resolveProviderOptionsWithDefaults(resolvedModelString, transport?.providerOptions),
25
+ };
26
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/src/cache/keys/builders/render.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,GAAG,YAAY,EACrC,UAAU,EAAE,MAAM;AAClB;;;;;GAKG;AACH,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAGR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,GAAG,YAAY,EACrC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,MAAM,CAaR;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,MAAM,CAER;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,MAAM,CAaR;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CAKR"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/src/cache/keys/builders/render.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,GAAG,YAAY,EACrC,UAAU,EAAE,MAAM;AAClB;;;;;GAKG;AACH,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAGR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,GAAG,YAAY,EACrC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,MAAM,CAaR;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,MAAM,CAER;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,MAAM,CAaR;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CAMR"}
@@ -82,8 +82,9 @@ export function buildProxyManagerCacheKey(projectSlug, productionMode, releaseId
82
82
  * @returns Cache key string
83
83
  */
84
84
  export function buildQueryAwareCacheKey(slug, url, options) {
85
+ const normalizedSlug = slug || "index";
85
86
  if (!url)
86
- return slug;
87
+ return normalizedSlug;
87
88
  const queryPart = sanitizeQueryParamsForCacheKey(url, options);
88
- return queryPart ? `${slug}:q:${queryPart}` : slug;
89
+ return queryPart ? `${normalizedSlug}:q:${queryPart}` : normalizedSlug;
89
90
  }
@@ -0,0 +1,3 @@
1
+ export declare function requestHasCacheSensitiveState(req: Request): boolean;
2
+ export declare function isCacheNeutralCookieName(name: string): boolean;
3
+ //# sourceMappingURL=request-cacheability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-cacheability.d.ts","sourceRoot":"","sources":["../../../src/src/cache/request-cacheability.ts"],"names":[],"mappings":"AAIA,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CASnE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D"}
@@ -0,0 +1,26 @@
1
+ const CACHE_NEUTRAL_COOKIES = new Set([
2
+ "lb",
3
+ ]);
4
+ export function requestHasCacheSensitiveState(req) {
5
+ if (req.headers.has("authorization") || req.headers.has("x-api-key")) {
6
+ return true;
7
+ }
8
+ const cookieHeader = req.headers.get("cookie");
9
+ if (!cookieHeader)
10
+ return false;
11
+ return parseCookieNames(cookieHeader).some((name) => !isCacheNeutralCookieName(name));
12
+ }
13
+ export function isCacheNeutralCookieName(name) {
14
+ return CACHE_NEUTRAL_COOKIES.has(name.trim().toLowerCase());
15
+ }
16
+ function parseCookieNames(cookieHeader) {
17
+ return cookieHeader
18
+ .split(";")
19
+ .map((part) => part.trim())
20
+ .filter(Boolean)
21
+ .map((part) => {
22
+ const separatorIndex = part.indexOf("=");
23
+ return separatorIndex === -1 ? part : part.slice(0, separatorIndex).trim();
24
+ })
25
+ .filter(Boolean);
26
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"hydration-data-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/hydration-data-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA8BzD,KAAK,gBAAgB,GAAG,qBAAqB,GAAG;IAC9C,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD,CAAC;AAcF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACzC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,MAAM,CAiDR"}
1
+ {"version":3,"file":"hydration-data-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/hydration-data-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA8BzD,KAAK,gBAAgB,GAAG,qBAAqB,GAAG;IAC9C,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACzC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,MAAM,CAiDR"}
@@ -2,7 +2,7 @@ import { resolveRelativePath } from "../../modules/react-loader/path-resolver.js
2
2
  import { getExtensionName } from "../../utils/path-utils.js";
3
3
  import { determineClientModuleStrategy } from "../../rendering/rsc/client-module-strategy.js";
4
4
  import { jsonForInlineScript } from "../../security/client/html-sanitizer.js";
5
- import { releaseAssetUrl } from "../../release-assets/constants.js";
5
+ import { buildReleaseAssetModules } from "../../release-assets/client-module-map.js";
6
6
  function toProjectRelativePath(absolutePath, projectDir) {
7
7
  if (!absolutePath)
8
8
  return "";
@@ -20,15 +20,6 @@ function inferPageType(pagePath) {
20
20
  return undefined;
21
21
  return PAGE_TYPE_EXTENSIONS.has(ext) ? ext : undefined;
22
22
  }
23
- function buildReleaseAssetModules(manifest) {
24
- if (!manifest)
25
- return undefined;
26
- const modules = {};
27
- for (const [path, entry] of Object.entries(manifest.modules)) {
28
- modules[path] = releaseAssetUrl(entry.contentHash, "js");
29
- }
30
- return Object.keys(modules).length > 0 ? modules : undefined;
31
- }
32
23
  export function generateHydrationData(slug, params, props, options, serializeOptions) {
33
24
  const layouts = (options.nestedLayouts ?? [])
34
25
  .map((layout) => {
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/router.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAyrB3B,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/router.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAwtB3B,CAAC"}
@@ -306,9 +306,11 @@ export const getRouterScript = () => `
306
306
 
307
307
  async function fetchPageDataForPrefetch(path) {
308
308
  if (getCachedPageData(path)) return;
309
- return fetchPageDataFresh(path, null).catch((error) => {
310
- logBackgroundFetchFailure('Page data prefetch', path, error);
311
- });
309
+ return fetchPageDataFresh(path, null)
310
+ .then((data) => preloadModulesForPageData(data, path))
311
+ .catch((error) => {
312
+ logBackgroundFetchFailure('Page data prefetch', path, error);
313
+ });
312
314
  }
313
315
 
314
316
  // ============================================
@@ -406,11 +408,7 @@ export const getRouterScript = () => `
406
408
  }
407
409
 
408
410
  perfStart('render:loadAll');
409
- const layoutPaths = (pageData.layouts || []).map((l) => l.path);
410
- const allPaths = [pageData.pagePath, ...layoutPaths];
411
-
412
- if (pageData.appPath) allPaths.push(pageData.appPath);
413
-
411
+ const allPaths = getPageDataModulePaths(pageData);
414
412
  const components = await Promise.all(allPaths.map((path) => loadComponent(path)));
415
413
  perfEnd('render:loadAll');
416
414
 
@@ -517,14 +515,47 @@ export const getRouterScript = () => `
517
515
  }
518
516
 
519
517
  // ============================================
520
- // Prefetching on hover (page data only, no module preloading)
518
+ // Prefetching on hover
521
519
  // ============================================
522
520
  let prefetchTimeout = null;
523
521
  const prefetchedPaths = new Set();
524
522
  const inFlightPrefetches = new Set();
525
523
 
524
+ function getPageDataModulePaths(pageData) {
525
+ const layoutPaths = (pageData.layouts || []).map((l) => l.path).filter(Boolean);
526
+ const allPaths = [pageData.pagePath, ...layoutPaths].filter(Boolean);
527
+
528
+ if (pageData.appPath) allPaths.push(pageData.appPath);
529
+
530
+ return allPaths;
531
+ }
532
+
533
+ async function preloadModulesForPageData(pageData, path) {
534
+ if (!pageData) return;
535
+ if (pageData.releaseAssetModules && window.__veryfrontSetReleaseAssetModules) {
536
+ window.__veryfrontSetReleaseAssetModules(pageData.releaseAssetModules);
537
+ }
538
+
539
+ const modulePaths = getPageDataModulePaths(pageData);
540
+ if (modulePaths.length === 0) return;
541
+
542
+ try {
543
+ await Promise.all(modulePaths.map((modulePath) => loadComponent(modulePath)));
544
+ } catch (error) {
545
+ logBackgroundFetchFailure('Module prefetch', path, error);
546
+ }
547
+ }
548
+
526
549
  function prefetchPage(href) {
527
- if (prefetchedPaths.has(href) || getCachedPageData(href) || inFlightPrefetches.has(href)) return;
550
+ if (prefetchedPaths.has(href) || inFlightPrefetches.has(href)) return;
551
+
552
+ const cachedPageData = getCachedPageData(href);
553
+ if (cachedPageData) {
554
+ preloadModulesForPageData(cachedPageData, href).catch((error) => {
555
+ logBackgroundFetchFailure('Module prefetch', href, error);
556
+ });
557
+ return;
558
+ }
528
559
 
529
560
  if (prefetchedPaths.size >= MAX_PREFETCH_PATHS) {
530
561
  const oldest = prefetchedPaths.values().next().value;
@@ -1 +1 @@
1
- {"version":3,"file":"request-profiler.d.ts","sourceRoot":"","sources":["../../../src/src/observability/request-profiler.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA0CD,wBAAgB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAIpE;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAWpF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,IAAI,CAK1E;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAWhE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI,CAMrF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAsBrF;AAUD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAQ5E;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,oBAAoB,GAAG,IAAI,GAClC,QAAQ,CAiBV;AAED,wBAAgB,uBAAuB,IAAI;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC,CAMA;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
1
+ {"version":3,"file":"request-profiler.d.ts","sourceRoot":"","sources":["../../../src/src/observability/request-profiler.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA2CD,wBAAgB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAIpE;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAWpF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,IAAI,CAK1E;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAWhE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI,CAMrF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAsBrF;AAUD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAQ5E;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,oBAAoB,GAAG,IAAI,GAClC,QAAQ,CAiBV;AAED,wBAAgB,uBAAuB,IAAI;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC,CAMA;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
@@ -22,6 +22,7 @@ function shouldProfilePath(pathname) {
22
22
  pathname.startsWith("/api/bench/") ||
23
23
  pathname.startsWith("/_vf_styles/") ||
24
24
  pathname.startsWith("/_vf_modules/") ||
25
+ (shouldEnableServerTiming() && pathname.startsWith("/_veryfront/page-data/")) ||
25
26
  (shouldEnableServerTiming() && isHtmlPath(pathname));
26
27
  }
27
28
  export function isRequestProfilingEnabled(pathname) {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kCAAkC,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAUnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAE9E,eAAO,MAAM,sBAAsB,0MAYzB,CAAC;AAyGX,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC7D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC7D,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC9E;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAgBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB;0BA0GtD,OAAO,YACH,mBAAmB,KAC3B,OAAO,CAAC,YAAY,CAAC;0BAgRjB,OAAO,YACH,mBAAmB,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;0BA9WH,MAAM,EAAE;;EAoZpC;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAwB7E"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kCAAkC,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAenD,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAE9E,eAAO,MAAM,sBAAsB,0MAYzB,CAAC;AAyGX,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC7D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC7D,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC9E;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAgBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB;0BA6DtD,OAAO,YACH,mBAAmB,KAC3B,OAAO,CAAC,YAAY,CAAC;0BAiRjB,OAAO,YACH,mBAAmB,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;0BAlUH,MAAM,EAAE;;EAwWpC;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAwB7E"}