veryfront 0.1.851 → 0.1.853

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/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.851",
3
+ "version": "0.1.853",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -18,7 +18,7 @@ function filterPostFormInputLocalTools(tools, taskContext) {
18
18
  if (!hasSubmittedFormInputResult(taskContext)) {
19
19
  return tools;
20
20
  }
21
- const blockedToolNames = new Set(["form_input", "load_skill", "invoke_agent"]);
21
+ const blockedToolNames = new Set(["form_input", "load_skill"]);
22
22
  return Object.fromEntries(Object.entries(tools).filter(([toolName]) => !blockedToolNames.has(toolName)));
23
23
  }
24
24
  /** Filter hosted chat runtime local tools. */
@@ -87,6 +87,6 @@ export declare function createHostedFormInputTool(context: HostedFormInputToolCo
87
87
  }>)[]>;
88
88
  submitLabel: import("../../internal-agents/schema.js").Schema<string>;
89
89
  }>, unknown>;
90
- /** Find the latest submitted form_input result persisted in UI messages. */
90
+ /** Find the latest submitted form_input result persisted after the latest user message. */
91
91
  export declare function findSubmittedFormInputResult(messages: readonly ChatUiMessage[]): HostedSubmittedFormInputResult | undefined;
92
92
  //# sourceMappingURL=form-input-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-input-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/form-input-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAmBjF,0CAA0C;AAC1C,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,wBAAwB,CAAC,EAAE,8BAA8B,CAAC;CAC3D;AAED,qCAAqC;AACrC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAQ5F;AAuJD,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,8BAA8B,GAAG,SAAS,CAU5C"}
1
+ {"version":3,"file":"form-input-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/form-input-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAmBjF,0CAA0C;AAC1C,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,wBAAwB,CAAC,EAAE,8BAA8B,CAAC;CAC3D;AAED,qCAAqC;AACrC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAQ5F;AAiKD,2FAA2F;AAC3F,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,8BAA8B,GAAG,SAAS,CAW5C"}
@@ -130,10 +130,19 @@ function extractSubmittedFormInputResult(part) {
130
130
  inputRequestId,
131
131
  };
132
132
  }
133
- /** Find the latest submitted form_input result persisted in UI messages. */
133
+ function latestUserMessageIndex(messages) {
134
+ for (let index = messages.length - 1; index >= 0; index--) {
135
+ if (messages[index]?.role === "user") {
136
+ return index;
137
+ }
138
+ }
139
+ return -1;
140
+ }
141
+ /** Find the latest submitted form_input result persisted after the latest user message. */
134
142
  export function findSubmittedFormInputResult(messages) {
135
143
  let result;
136
- for (const message of messages) {
144
+ const startIndex = latestUserMessageIndex(messages) + 1;
145
+ for (const message of messages.slice(startIndex)) {
137
146
  for (const part of message.parts) {
138
147
  result = extractSubmittedFormInputResult(part) ?? result;
139
148
  }
@@ -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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"}
@@ -327,7 +327,7 @@ export class AgentRuntime {
327
327
  let activeSkillId = hydratedSkillState.activeSkillId;
328
328
  let activeSkillPolicy = hydratedSkillState.activeSkillPolicy;
329
329
  let activeSkillDelegationOverrides = hydratedSkillState.activeSkillDelegationOverrides;
330
- const hasSubmittedFormInputInLoop = hasSubmittedFormInputResult(currentMessages) ||
330
+ let hasSubmittedFormInputInLoop = hasSubmittedFormInputResult(currentMessages) ||
331
331
  runtimeContext?.[SUBMITTED_FORM_INPUT_CONTEXT_KEY] === true;
332
332
  const allowedRemoteToolNames = getRuntimeAllowedRemoteTools(this.config);
333
333
  const providerTools = getRuntimeProviderTools(this.config);
@@ -519,6 +519,10 @@ export class AgentRuntime {
519
519
  mustLoadSkillFirst = false;
520
520
  }
521
521
  activeSkillPolicy = removeFormInputAfterSubmission(tc.toolName, result, activeSkillId, activeSkillPolicy);
522
+ if (isSubmittedFormInputExecutionResult(tc.toolName, result)) {
523
+ hasSubmittedFormInputInLoop = true;
524
+ currentRuntimeContext = markSubmittedFormInputRuntimeContext(currentRuntimeContext);
525
+ }
522
526
  const toolResultMessage = createToolResultMessage(tc.toolCallId, tc.toolName, result);
523
527
  currentMessages.push(toolResultMessage);
524
528
  await this.memory.add(toolResultMessage);
@@ -39,14 +39,14 @@ const LEGACY_MODEL_ALIASES = {
39
39
  "gemini-3.1-flash-lite": "google-ai-studio/gemini-3.1-flash-lite",
40
40
  "gemini-2.5-pro": "google-ai-studio/gemini-2.5-pro",
41
41
  "gemini-2.5-flash": "google-ai-studio/gemini-2.5-flash",
42
- "kimi-k2.6": "moonshotai/kimi-k2.6",
43
- "kimi-k2.5": "moonshotai/kimi-k2.5",
44
- "mistral-large": "mistral/mistral-large-2512",
45
- "mistral-large-2512": "mistral/mistral-large-2512",
46
- "mistral-medium": "mistral/mistral-medium-3-5",
47
- "mistral-medium-3-5": "mistral/mistral-medium-3-5",
48
42
  "mistral-small": "mistral/mistral-small-2603",
49
43
  "mistral-small-2603": "mistral/mistral-small-2603",
44
+ "mistral-medium": "mistral/mistral-medium-3-5",
45
+ "mistral-medium-3-5": "mistral/mistral-medium-3-5",
46
+ "mistral-large": "mistral/mistral-large-2512",
47
+ "mistral-large-2512": "mistral/mistral-large-2512",
48
+ "kimi-k2.6": "moonshotai/kimi-k2.6",
49
+ "kimi-k2.5": "moonshotai/kimi-k2.5",
50
50
  };
51
51
  export function normalizeAgentModelConfig(model) {
52
52
  const normalized = model?.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"skill-policy-enforcement.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/skill-policy-enforcement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,gCAAgC,gCAAgC,CAAC;AAa9E,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B;IACD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,8BAA8B,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACtE,CAeA;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAyBxE;AA2BD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAQjF;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,cAAc,EAAE,CAQlB;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAStB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAoCtB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,EACvC,kBAAkB,EAAE,OAAO,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CA0BnB"}
1
+ {"version":3,"file":"skill-policy-enforcement.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/skill-policy-enforcement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,gCAAgC,gCAAgC,CAAC;AAY9E,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B;IACD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,8BAA8B,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACtE,CAeA;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAyBxE;AAqCD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAUjF;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,cAAc,EAAE,CAQlB;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAStB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAoCtB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,EACvC,kBAAkB,EAAE,OAAO,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CA0BnB"}
@@ -10,7 +10,6 @@ export const SUBMITTED_FORM_INPUT_CONTEXT_KEY = "hasSubmittedFormInputResult";
10
10
  const POST_SUBMITTED_FORM_INPUT_BLOCKED_TOOL_IDS = new Set([
11
11
  FORM_INPUT_TOOL_ID,
12
12
  LOAD_SKILL_TOOL_ID,
13
- INVOKE_AGENT_TOOL_ID,
14
13
  ]);
15
14
  function getSkillActivationRequiredError(toolName) {
16
15
  return `Tool "${toolName}" cannot run before load_skill succeeds in the same step. ` +
@@ -78,8 +77,17 @@ function containsSubmittedFormInputResult(result, depth = 0) {
78
77
  function isSubmittedFormInputResult(result) {
79
78
  return containsSubmittedFormInputResult(result);
80
79
  }
80
+ function latestUserMessageIndex(messages) {
81
+ for (let index = messages.length - 1; index >= 0; index--) {
82
+ if (messages[index]?.role === "user") {
83
+ return index;
84
+ }
85
+ }
86
+ return -1;
87
+ }
81
88
  export function hasSubmittedFormInputResult(messages) {
82
- return messages.some((message) => message.parts.some((part) => isToolResultPart(part) &&
89
+ const startIndex = latestUserMessageIndex(messages) + 1;
90
+ return messages.slice(startIndex).some((message) => message.parts.some((part) => isToolResultPart(part) &&
83
91
  part.toolName === FORM_INPUT_TOOL_ID &&
84
92
  isSubmittedFormInputResult(part.result)));
85
93
  }
@@ -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,cA+9B3B,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,cAklC3B,CAAC"}
@@ -36,6 +36,10 @@ export const getRouterScript = () => `
36
36
  const BACKGROUND_REFRESH_INTERVAL_MS = 30 * 1000;
37
37
  const PREFETCH_DELAY_MS = 100;
38
38
  const MAX_PREFETCH_PATHS = 100;
39
+ const IDLE_PREFETCH_DELAY_MS = 1200;
40
+ const IDLE_PREFETCH_MAX_LINKS = 4;
41
+ const VIEWPORT_PREFETCH_MAX_LINKS = 8;
42
+ const VIEWPORT_PREFETCH_ROOT_MARGIN = '200px';
39
43
  const MAX_ROUTE_TIMINGS = 100;
40
44
  const MAX_SERVER_TIMING_LENGTH = 1024;
41
45
 
@@ -758,6 +762,7 @@ export const getRouterScript = () => `
758
762
  container.__reactRoot.render(tree);
759
763
  perfEnd('render:reactRender');
760
764
  log('Page re-rendered via SPA');
765
+ scheduleRoutePrefetchRefresh();
761
766
  return;
762
767
  }
763
768
 
@@ -773,6 +778,9 @@ export const getRouterScript = () => `
773
778
  // ============================================
774
779
  let prefetchTimeout = null;
775
780
  let currentHoverLink = null;
781
+ let routePrefetchRefreshPending = false;
782
+ let viewportPrefetchObserver = null;
783
+ const observedPrefetchLinks = new WeakSet();
776
784
  const prefetchedPaths = new Set();
777
785
  const inFlightPrefetches = new Set();
778
786
 
@@ -794,6 +802,51 @@ export const getRouterScript = () => `
794
802
  return allPaths;
795
803
  }
796
804
 
805
+ function getCurrentRouteHref() {
806
+ return window.location.pathname + window.location.search;
807
+ }
808
+
809
+ function getInternalRouteHrefFromLink(link) {
810
+ if (
811
+ !link ||
812
+ link.target === '_blank' ||
813
+ link.hasAttribute('download') ||
814
+ link.getAttribute('data-prefetch') === 'false'
815
+ ) {
816
+ return null;
817
+ }
818
+
819
+ const href = link.getAttribute('href');
820
+ if (!href || href.startsWith('#') || href.startsWith('//') || !href.startsWith('/')) return null;
821
+
822
+ try {
823
+ const url = new URL(href, window.location.origin);
824
+ if (url.origin !== window.location.origin) return null;
825
+
826
+ const routeHref = url.pathname + url.search;
827
+ return routeHref === getCurrentRouteHref() ? null : routeHref;
828
+ } catch (_) {
829
+ return null;
830
+ }
831
+ }
832
+
833
+ function getEligiblePrefetchLinks(limit) {
834
+ const links = [];
835
+ const seenHrefs = new Set();
836
+
837
+ for (const link of document.querySelectorAll('a[href]')) {
838
+ const href = getInternalRouteHrefFromLink(link);
839
+ if (!href || seenHrefs.has(href)) continue;
840
+
841
+ seenHrefs.add(href);
842
+ links.push({ link, href });
843
+
844
+ if (links.length >= limit) break;
845
+ }
846
+
847
+ return links;
848
+ }
849
+
797
850
  async function preloadModulesForPageData(pageData, path) {
798
851
  if (!pageData) return;
799
852
  if (pageData.releaseId && window.__veryfrontSetReleaseId) {
@@ -842,6 +895,62 @@ export const getRouterScript = () => `
842
895
  });
843
896
  }
844
897
 
898
+ function prefetchEligibleRouteLinks(limit) {
899
+ for (const { href } of getEligiblePrefetchLinks(limit)) {
900
+ prefetchPage(href);
901
+ }
902
+ }
903
+
904
+ function ensureViewportPrefetchObserver() {
905
+ if (viewportPrefetchObserver || typeof IntersectionObserver !== 'function') {
906
+ return viewportPrefetchObserver;
907
+ }
908
+
909
+ viewportPrefetchObserver = new IntersectionObserver((entries) => {
910
+ for (const entry of entries) {
911
+ if (!entry.isIntersecting) continue;
912
+
913
+ viewportPrefetchObserver?.unobserve(entry.target);
914
+ const href = getInternalRouteHrefFromLink(entry.target);
915
+ if (href) prefetchPage(href);
916
+ }
917
+ }, { rootMargin: VIEWPORT_PREFETCH_ROOT_MARGIN });
918
+
919
+ return viewportPrefetchObserver;
920
+ }
921
+
922
+ function observeViewportPrefetchLinks() {
923
+ const observer = ensureViewportPrefetchObserver();
924
+ if (!observer) return;
925
+
926
+ for (const { link } of getEligiblePrefetchLinks(VIEWPORT_PREFETCH_MAX_LINKS)) {
927
+ if (observedPrefetchLinks.has(link)) continue;
928
+
929
+ observedPrefetchLinks.add(link);
930
+ observer.observe(link);
931
+ }
932
+ }
933
+
934
+ function runRoutePrefetchRefresh() {
935
+ routePrefetchRefreshPending = false;
936
+ prefetchEligibleRouteLinks(IDLE_PREFETCH_MAX_LINKS);
937
+ observeViewportPrefetchLinks();
938
+ }
939
+
940
+ function scheduleRoutePrefetchRefresh() {
941
+ if (routePrefetchRefreshPending) return;
942
+
943
+ routePrefetchRefreshPending = true;
944
+ setTimeout(() => {
945
+ if (typeof requestIdleCallback === 'function') {
946
+ requestIdleCallback(runRoutePrefetchRefresh, { timeout: IDLE_PREFETCH_DELAY_MS });
947
+ return;
948
+ }
949
+
950
+ runRoutePrefetchRefresh();
951
+ }, IDLE_PREFETCH_DELAY_MS);
952
+ }
953
+
845
954
  // ============================================
846
955
  // Router object
847
956
  // ============================================
@@ -946,8 +1055,8 @@ export const getRouterScript = () => `
946
1055
  const link = e.target.closest('a[href]');
947
1056
  if (!link) return;
948
1057
 
949
- const href = link.getAttribute('href');
950
- if (!href?.startsWith('/') || href.startsWith('//')) return;
1058
+ const href = getInternalRouteHrefFromLink(link);
1059
+ if (!href) return;
951
1060
 
952
1061
  if (currentHoverLink === link) return;
953
1062
 
@@ -978,6 +1087,12 @@ export const getRouterScript = () => `
978
1087
  true
979
1088
  );
980
1089
 
1090
+ if (document.readyState === 'loading') {
1091
+ document.addEventListener('DOMContentLoaded', scheduleRoutePrefetchRefresh, { once: true });
1092
+ } else {
1093
+ scheduleRoutePrefetchRefresh();
1094
+ }
1095
+
981
1096
  // ============================================
982
1097
  // Router hooks
983
1098
  // ============================================
@@ -1 +1 @@
1
- {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,4DAA4D;AAC5D,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,gCAAgC,SAAS,CAAC;AACvD,iDAAiD;AACjD,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAW/D,gDAAgD;AAChD,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,EAyEhE,CAAC;AAEF,kCAAkC;AAClC,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAEvF;AAED,2CAA2C;AAC3C,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,8CAA8C;AAC9C,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,GACd,uBAAuB,GAAG,SAAS,CAGrC;AAED,qDAAqD;AACrD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,GACd,wBAAwB,CAY1B;AAED,yDAAyD;AACzD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,MAAM,GACd,wBAAwB,GAAG,SAAS,CAMtC;AAED,yCAAyC;AACzC,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBnE;AAED,iDAAiD;AACjD,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,SAAS,CAcpB;AAED,+CAA+C;AAC/C,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,iCAAiC,GAAG,SAAS,CAc/C;AAED,qEAAqE;AACrE,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iCAAiC,GAAG,SAAS,GACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAqBrC;AAkBD,gDAAgD;AAChD,wBAAgB,mCAAmC,IAAI,KAAK,CAAC;IAC3D,QAAQ,EAAE,wBAAwB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC,CAMD;AAED,gDAAgD;AAChD,eAAO,MAAM,kCAAkC,4CAAsC,CAAC"}
1
+ {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,4DAA4D;AAC5D,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,gCAAgC,SAAS,CAAC;AACvD,iDAAiD;AACjD,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAW/D,gDAAgD;AAChD,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,EAyEhE,CAAC;AAEF,kCAAkC;AAClC,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAEvF;AAED,2CAA2C;AAC3C,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,8CAA8C;AAC9C,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,GACd,uBAAuB,GAAG,SAAS,CAGrC;AAED,qDAAqD;AACrD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,GACd,wBAAwB,CAe1B;AAED,yDAAyD;AACzD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,MAAM,GACd,wBAAwB,GAAG,SAAS,CAMtC;AAED,yCAAyC;AACzC,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBnE;AAED,iDAAiD;AACjD,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,SAAS,CAcpB;AAED,+CAA+C;AAC/C,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,iCAAiC,GAAG,SAAS,CAc/C;AAED,qEAAqE;AACrE,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iCAAiC,GAAG,SAAS,GACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAqBrC;AAkBD,gDAAgD;AAChD,wBAAgB,mCAAmC,IAAI,KAAK,CAAC;IAC3D,QAAQ,EAAE,wBAAwB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC,CAMD;AAED,gDAAgD;AAChD,eAAO,MAAM,kCAAkC,4CAAsC,CAAC"}
@@ -7,8 +7,8 @@ const VERYFRONT_CLOUD_GATEWAY_MODEL_PROVIDER_PREFIXES = [
7
7
  "openai/",
8
8
  "google/",
9
9
  "google-ai-studio/",
10
- "moonshotai/",
11
10
  "mistral/",
11
+ "moonshotai/",
12
12
  ];
13
13
  /** Shared Veryfront Cloud chat models value. */
14
14
  export const VERYFRONT_CLOUD_CHAT_MODELS = [
@@ -57,32 +57,32 @@ export const VERYFRONT_CLOUD_CHAT_MODELS = [
57
57
  description: "Fast and cost-efficient",
58
58
  },
59
59
  {
60
- id: "kimi-k2.6",
61
- modelId: "moonshotai/kimi-k2.6",
62
- provider: "moonshotai",
63
- name: "Kimi K2.6",
64
- description: "Deep thinking and multimodal",
65
- },
66
- {
67
- id: "mistral-large",
68
- modelId: "mistral/mistral-large-2512",
60
+ id: "mistral-small-2603",
61
+ modelId: "mistral/mistral-small-2603",
69
62
  provider: "mistral",
70
- name: "Mistral Large 3",
71
- description: "Flagship multimodal Mistral model",
63
+ name: "Mistral Small 2603",
64
+ description: "Fast Mistral model for everyday tasks",
72
65
  },
73
66
  {
74
- id: "mistral-medium",
67
+ id: "mistral-medium-3-5",
75
68
  modelId: "mistral/mistral-medium-3-5",
76
69
  provider: "mistral",
77
70
  name: "Mistral Medium 3.5",
78
- description: "Balanced Mistral model for agentic and coding tasks",
71
+ description: "Balanced Mistral model for multi-step work",
79
72
  },
80
73
  {
81
- id: "mistral-small",
82
- modelId: "mistral/mistral-small-2603",
74
+ id: "mistral-large-2512",
75
+ modelId: "mistral/mistral-large-2512",
83
76
  provider: "mistral",
84
- name: "Mistral Small 4",
85
- description: "Fast Mistral model for lightweight tasks",
77
+ name: "Mistral Large 3",
78
+ description: "Most capable Mistral model",
79
+ },
80
+ {
81
+ id: "kimi-k2.6",
82
+ modelId: "moonshotai/kimi-k2.6",
83
+ provider: "moonshotai",
84
+ name: "Kimi K2.6",
85
+ description: "Deep thinking and multimodal",
86
86
  },
87
87
  ];
88
88
  /** Find Veryfront Cloud model. */
@@ -104,13 +104,15 @@ export function findVeryfrontCloudModelByModelId(modelId) {
104
104
  export function getVeryfrontCloudProviderFromModelId(modelId) {
105
105
  const normalizedModelId = normalizeVeryfrontCloudModelId(modelId);
106
106
  const prefix = normalizedModelId.split("/")[0];
107
- if (prefix === "google-ai-studio")
108
- return "google";
109
- if (prefix === "openai" ||
110
- prefix === "anthropic" ||
111
- prefix === "moonshotai" ||
112
- prefix === "mistral")
113
- return prefix;
107
+ switch (prefix) {
108
+ case "google-ai-studio":
109
+ return "google";
110
+ case "openai":
111
+ case "anthropic":
112
+ case "mistral":
113
+ case "moonshotai":
114
+ return prefix;
115
+ }
114
116
  throw new Error(`Unknown model provider prefix "${prefix}" in model ID "${modelId}"`);
115
117
  }
116
118
  /** Try to get Veryfront Cloud provider from model ID. */
@@ -194,8 +196,8 @@ const PROVIDER_ORDER = [
194
196
  "anthropic",
195
197
  "openai",
196
198
  "google",
197
- "moonshotai",
198
199
  "mistral",
200
+ "moonshotai",
199
201
  ];
200
202
  /** Group Veryfront Cloud models by provider. */
201
203
  export function groupVeryfrontCloudModelsByProvider() {
@@ -35,8 +35,8 @@ export function createVeryfrontCloudModel(modelId) {
35
35
  break;
36
36
  }
37
37
  case "openai":
38
- case "moonshotai":
39
- case "mistral": {
38
+ case "mistral":
39
+ case "moonshotai": {
40
40
  const openai = registry.get("openai");
41
41
  if (openai) {
42
42
  return openai.createModel(upstreamModelId, {
@@ -1,5 +1,5 @@
1
1
  /** Public API contract for Veryfront Cloud provider ID. */
2
- export type VeryfrontCloudProviderId = "anthropic" | "openai" | "google" | "moonshotai" | "mistral";
2
+ export type VeryfrontCloudProviderId = "anthropic" | "openai" | "google" | "mistral" | "moonshotai";
3
3
  interface ParsedVeryfrontCloudModelId {
4
4
  provider: VeryfrontCloudProviderId;
5
5
  modelId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/shared.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,CAAC;AAEd,UAAU,2BAA2B;IACnC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAiCD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,2BAA2B,CA+B7B;AAED,wBAAgB,8BAA8B,IAAI;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAmBA;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,wBAAwB,GACjC,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,KAAK,CAed"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/veryfront-cloud/shared.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,YAAY,CAAC;AAEjB,UAAU,2BAA2B;IACnC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAiCD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,2BAA2B,CA+B7B;AAED,wBAAgB,8BAA8B,IAAI;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAmBA;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,wBAAwB,GACjC,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,KAAK,CAed"}
@@ -5,15 +5,15 @@ const PROVIDER_ALIASES = {
5
5
  openai: "openai",
6
6
  google: "google",
7
7
  "google-ai-studio": "google",
8
- moonshotai: "moonshotai",
9
8
  mistral: "mistral",
9
+ moonshotai: "moonshotai",
10
10
  };
11
11
  const GATEWAY_PATHS = {
12
12
  anthropic: "ai/gateway/anthropic/v1",
13
13
  openai: "ai/gateway/openai/v1",
14
14
  google: "ai/gateway/google/v1beta",
15
- moonshotai: "ai/gateway/moonshotai/v1",
16
15
  mistral: "ai/gateway/mistral/v1",
16
+ moonshotai: "ai/gateway/moonshotai/v1",
17
17
  };
18
18
  function joinUrl(base, path) {
19
19
  return `${base.replace(/\/+$/, "")}/${path.replace(/^\/+/, "")}`;
@@ -60,7 +60,7 @@ export function useRouter() {
60
60
  }
61
61
  /** Renders an anchor element annotated for Veryfront prefetch handling. */
62
62
  export function Link({ prefetch = true, children, ...rest }) {
63
- return React.createElement("a", { ...rest, "data-prefetch": prefetch ? "true" : undefined }, children);
63
+ return React.createElement("a", { ...rest, "data-prefetch": prefetch ? "true" : "false" }, children);
64
64
  }
65
65
  /** Provides page context to route and MDX descendants. */
66
66
  export function PageContextProvider({ children, pageContext, }) {
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.851";
2
+ export declare const VERSION = "0.1.853";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.851";
4
+ export const VERSION = "0.1.853";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.851",
3
+ "version": "0.1.853",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",