veryfront 0.1.520 → 0.1.522

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 (72) hide show
  1. package/esm/cli/mcp/tools/run-tests-tool.d.ts.map +1 -1
  2. package/esm/cli/mcp/tools/run-tests-tool.js +24 -16
  3. package/esm/deno.d.ts +2 -4
  4. package/esm/deno.js +4 -6
  5. package/esm/extensions/{ext-tracing-opentelemetry → ext-observability-opentelemetry}/src/index.d.ts +3 -3
  6. package/esm/extensions/ext-observability-opentelemetry/src/index.d.ts.map +1 -0
  7. package/esm/extensions/{ext-tracing-opentelemetry → ext-observability-opentelemetry}/src/index.js +10 -10
  8. package/esm/src/agent/hosted/agent-project-steering.d.ts.map +1 -1
  9. package/esm/src/agent/hosted/agent-project-steering.js +2 -0
  10. package/esm/src/agent/service/config.d.ts.map +1 -1
  11. package/esm/src/agent/service/config.js +2 -0
  12. package/esm/src/agent/service/node-telemetry.d.ts +1 -1
  13. package/esm/src/agent/service/node-telemetry.d.ts.map +1 -1
  14. package/esm/src/agent/service/node-telemetry.js +1 -1
  15. package/esm/src/agent/veryfront-cloud-agent-service.js +2 -2
  16. package/esm/src/extensions/{tracing → observability}/index.d.ts +2 -2
  17. package/esm/src/extensions/observability/index.d.ts.map +1 -0
  18. package/esm/src/extensions/{tracing → observability}/index.js +2 -2
  19. package/esm/src/extensions/{tracing → observability}/node-telemetry-provider.d.ts +2 -2
  20. package/esm/src/extensions/observability/node-telemetry-provider.d.ts.map +1 -0
  21. package/esm/src/extensions/{tracing → observability}/node-telemetry-provider.js +2 -2
  22. package/esm/src/extensions/{tracing → observability}/tracing-exporter.d.ts +2 -2
  23. package/esm/src/extensions/observability/tracing-exporter.d.ts.map +1 -0
  24. package/esm/src/extensions/observability/tracing-exporter.js +8 -0
  25. package/esm/src/extensions/recommendations.js +2 -2
  26. package/esm/src/observability/metrics/manager.js +1 -1
  27. package/esm/src/observability/simple-metrics/otel-instruments.js +1 -1
  28. package/esm/src/observability/tracing/api-shim.d.ts +4 -4
  29. package/esm/src/observability/tracing/api-shim.js +7 -7
  30. package/esm/src/observability/tracing/manager.js +2 -2
  31. package/esm/src/observability/tracing/otlp-setup.d.ts +1 -1
  32. package/esm/src/observability/tracing/otlp-setup.js +4 -4
  33. package/esm/src/proxy/tracing.d.ts +1 -1
  34. package/esm/src/proxy/tracing.js +2 -2
  35. package/esm/src/react/components/chat/theme.d.ts +40 -7
  36. package/esm/src/react/components/chat/theme.d.ts.map +1 -1
  37. package/esm/src/react/components/chat/theme.js +21 -11
  38. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  39. package/esm/src/server/handlers/dev/framework-candidates.generated.js +70 -18
  40. package/esm/src/utils/version-constant.d.ts +1 -1
  41. package/esm/src/utils/version-constant.js +1 -1
  42. package/package.json +4 -6
  43. package/src/cli/mcp/tools/run-tests-tool.ts +27 -15
  44. package/src/deno.js +4 -6
  45. package/src/deps/esm.sh/@types/react-dom@19.2.3/client.d.ts +1 -1
  46. package/src/deps/esm.sh/@types/{react@19.2.14 → react@19.2.3}/global.d.ts +0 -1
  47. package/src/deps/esm.sh/@types/{react@19.2.14 → react@19.2.3}/index.d.ts +24 -93
  48. package/src/deps/esm.sh/react-dom@19.2.4/client.d.ts +1 -1
  49. package/src/extensions/{ext-tracing-opentelemetry → ext-observability-opentelemetry}/src/index.ts +12 -12
  50. package/src/src/agent/hosted/agent-project-steering.ts +2 -0
  51. package/src/src/agent/service/config.ts +2 -0
  52. package/src/src/agent/service/node-telemetry.ts +1 -1
  53. package/src/src/agent/veryfront-cloud-agent-service.ts +2 -2
  54. package/src/src/extensions/{tracing → observability}/index.ts +2 -2
  55. package/src/src/extensions/{tracing → observability}/node-telemetry-provider.ts +2 -2
  56. package/src/src/extensions/{tracing → observability}/tracing-exporter.ts +2 -2
  57. package/src/src/extensions/recommendations.ts +2 -2
  58. package/src/src/observability/metrics/manager.ts +1 -1
  59. package/src/src/observability/simple-metrics/otel-instruments.ts +1 -1
  60. package/src/src/observability/tracing/api-shim.ts +7 -7
  61. package/src/src/observability/tracing/manager.ts +2 -2
  62. package/src/src/observability/tracing/otlp-setup.ts +4 -4
  63. package/src/src/proxy/tracing.ts +2 -2
  64. package/src/src/react/components/chat/theme.ts +47 -10
  65. package/src/src/server/bootstrap.ts +1 -1
  66. package/src/src/server/handlers/dev/framework-candidates.generated.ts +70 -18
  67. package/src/src/utils/version-constant.ts +1 -1
  68. package/esm/extensions/ext-tracing-opentelemetry/src/index.d.ts.map +0 -1
  69. package/esm/src/extensions/tracing/index.d.ts.map +0 -1
  70. package/esm/src/extensions/tracing/node-telemetry-provider.d.ts.map +0 -1
  71. package/esm/src/extensions/tracing/tracing-exporter.d.ts.map +0 -1
  72. package/esm/src/extensions/tracing/tracing-exporter.js +0 -8
@@ -7,7 +7,6 @@
7
7
  * injected via <style> on the chat root element.
8
8
  */
9
9
  import { type ClassValue } from "../../../utils/clsx.js";
10
- export { cva, type VariantProps } from "class-variance-authority";
11
10
  /**
12
11
  * Generates scoped CSS for the chat UI design tokens.
13
12
  * Uses [data-vf-chat] as scope so tokens don't leak to the page.
@@ -55,12 +54,46 @@ export declare const defaultAgentTheme: AgentTheme;
55
54
  */
56
55
  export declare function mergeThemes<T>(defaultTheme: T, userTheme?: Partial<T>): T;
57
56
  /**
58
- * Utility to combine and merge Tailwind class names.
57
+ * Utility to combine class names.
59
58
  */
60
59
  export declare function cn(...inputs: ClassValue[]): string;
61
- import { cva } from "class-variance-authority";
62
- type CvaReturn = ReturnType<typeof cva>;
63
- export declare const messageVariants: CvaReturn;
64
- export declare const chatButtonVariants: CvaReturn;
65
- export declare const chatContainerVariants: CvaReturn;
60
+ type VariantMap = Record<string, Record<string, ClassValue>>;
61
+ type VariantOptions<TVariants extends VariantMap> = {
62
+ [TKey in keyof TVariants]?: keyof TVariants[TKey] | null | undefined;
63
+ } & {
64
+ class?: ClassValue;
65
+ className?: ClassValue;
66
+ };
67
+ type VariantClassFunction<TVariants extends VariantMap> = (options?: VariantOptions<TVariants>) => string;
68
+ export declare const messageVariants: VariantClassFunction<{
69
+ role: {
70
+ user: string;
71
+ assistant: string;
72
+ system: string;
73
+ tool: string;
74
+ };
75
+ }>;
76
+ export declare const chatButtonVariants: VariantClassFunction<{
77
+ variant: {
78
+ primary: string;
79
+ ghost: string;
80
+ outline: string;
81
+ "icon-ghost": string;
82
+ };
83
+ size: {
84
+ sm: string;
85
+ default: string;
86
+ "icon-xs": string;
87
+ "icon-sm": string;
88
+ "icon-default": string;
89
+ };
90
+ }>;
91
+ export declare const chatContainerVariants: VariantClassFunction<{
92
+ variant: {
93
+ default: string;
94
+ embedded: string;
95
+ floating: string;
96
+ };
97
+ }>;
98
+ export {};
66
99
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/chat/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAiFlE;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAWzC;AAMD,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAe9B,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,UAO/B,CAAC;AAMF;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,YAAY,EAAE,CAAC,EACf,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GACrB,CAAC,CAsBH;AAED;;GAEG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD;AAMD,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;AAExC,eAAO,MAAM,eAAe,EAAE,SAc5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,SAgChC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,SAYlC,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/chat/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,wBAAwB,CAAC;AAiF/D;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAWzC;AAMD,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAe9B,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,UAO/B,CAAC;AAMF;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,YAAY,EAAE,CAAC,EACf,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GACrB,CAAC,CAsBH;AAED;;GAEG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD;AAMD,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7D,KAAK,cAAc,CAAC,SAAS,SAAS,UAAU,IAC5C;KACC,IAAI,IAAI,MAAM,SAAS,CAAC,CAAC,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;CACrE,GACC;IACA,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB,CAAC;AAEJ,KAAK,oBAAoB,CAAC,SAAS,SAAS,UAAU,IAAI,CACxD,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,KAChC,MAAM,CAAC;AA8BZ,eAAO,MAAM,eAAe;;;;;;;EAc1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;EAgC9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;EAYhC,CAAC"}
@@ -7,8 +7,6 @@
7
7
  * injected via <style> on the chat root element.
8
8
  */
9
9
  import { clsx } from "../../../utils/clsx.js";
10
- import { twMerge } from "tailwind-merge";
11
- export { cva } from "class-variance-authority";
12
10
  // ---------------------------------------------------------------------------
13
11
  // CSS Custom Property tokens
14
12
  // ---------------------------------------------------------------------------
@@ -155,16 +153,28 @@ export function mergeThemes(defaultTheme, userTheme) {
155
153
  return merged;
156
154
  }
157
155
  /**
158
- * Utility to combine and merge Tailwind class names.
156
+ * Utility to combine class names.
159
157
  */
160
158
  export function cn(...inputs) {
161
- return twMerge(clsx(inputs));
159
+ return clsx(inputs);
162
160
  }
163
- // ---------------------------------------------------------------------------
164
- // CVA Variant Definitions
165
- // ---------------------------------------------------------------------------
166
- import { cva } from "class-variance-authority";
167
- export const messageVariants = cva("", {
161
+ function variantClasses(base, config) {
162
+ return (options = {}) => {
163
+ const classes = [base];
164
+ for (const [variantName, variantValues] of Object.entries(config.variants)) {
165
+ const option = options[variantName];
166
+ const selected = Object.hasOwn(options, variantName) && option !== undefined
167
+ ? option
168
+ : config.defaultVariants?.[variantName];
169
+ if (selected === null || selected === undefined)
170
+ continue;
171
+ classes.push(variantValues[String(selected)]);
172
+ }
173
+ classes.push(options.class, options.className);
174
+ return cn(classes);
175
+ };
176
+ }
177
+ export const messageVariants = variantClasses("", {
168
178
  variants: {
169
179
  role: {
170
180
  user: "bg-[var(--chat-bubble)] text-[var(--chat-bubble-foreground)] rounded-[22px] px-5 py-3 max-w-[80%] shadow-sm",
@@ -177,7 +187,7 @@ export const messageVariants = cva("", {
177
187
  role: "assistant",
178
188
  },
179
189
  });
180
- export const chatButtonVariants = cva([
190
+ export const chatButtonVariants = variantClasses([
181
191
  "inline-flex items-center justify-center gap-2 whitespace-nowrap",
182
192
  "font-medium rounded-full transition-all duration-150",
183
193
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2",
@@ -204,7 +214,7 @@ export const chatButtonVariants = cva([
204
214
  size: "default",
205
215
  },
206
216
  });
207
- export const chatContainerVariants = cva("flex flex-col overflow-hidden", {
217
+ export const chatContainerVariants = variantClasses("flex flex-col overflow-hidden", {
208
218
  variants: {
209
219
  variant: {
210
220
  default: "h-full bg-[var(--background)]",
@@ -1 +1 @@
1
- {"version":3,"file":"framework-candidates.generated.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/dev/framework-candidates.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAqxKjD,CAAC"}
1
+ {"version":3,"file":"framework-candidates.generated.d.ts","sourceRoot":"","sources":["../../../../../src/src/server/handlers/dev/framework-candidates.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAy0KjD,CAAC"}
@@ -664,7 +664,6 @@ export const FRAMEWORK_CANDIDATES = [
664
664
  "CSP",
665
665
  "CSS",
666
666
  "CSS-only",
667
- "CVA",
668
667
  "Called",
669
668
  "Calls",
670
669
  "Cancel",
@@ -851,6 +850,9 @@ export const FRAMEWORK_CANDIDATES = [
851
850
  "CircleIcon({",
852
851
  "CircleIcon,",
853
852
  "ClassValue,",
853
+ "ClassValue;",
854
+ "ClassValue>>;",
855
+ "ClassValue[]",
854
856
  "ClassValue[]):",
855
857
  "Claude.",
856
858
  "ClockIcon",
@@ -931,7 +933,6 @@ export const FRAMEWORK_CANDIDATES = [
931
933
  "Create",
932
934
  "Currently",
933
935
  "Custom",
934
- "CvaReturn",
935
936
  "DISMISS_KEY",
936
937
  "Dark",
937
938
  "Dark-mode",
@@ -946,9 +947,9 @@ export const FRAMEWORK_CANDIDATES = [
946
947
  "Default",
947
948
  "Default:",
948
949
  "DefaultModule<T>",
949
- "Definitions",
950
950
  "Delete",
951
951
  "Denied",
952
+ "Deno.test(",
952
953
  "Design",
953
954
  "Disabled",
954
955
  "Dismiss",
@@ -1317,8 +1318,10 @@ export const FRAMEWORK_CANDIDATES = [
1317
1318
  "Object.assign(Chat,",
1318
1319
  "Object.assign(MessageRoot,",
1319
1320
  "Object.assign(globalThis,",
1321
+ "Object.entries(config.variants))",
1320
1322
  "Object.entries(tokens)",
1321
1323
  "Object.entries(tokens).map(([k,",
1324
+ "Object.hasOwn(options,",
1322
1325
  "Object.keys(firstItem);",
1323
1326
  "Official",
1324
1327
  "Older",
@@ -1351,6 +1354,7 @@ export const FRAMEWORK_CANDIDATES = [
1351
1354
  "PartGroup,",
1352
1355
  "PartGroup[]",
1353
1356
  "PartGroup[];",
1357
+ "Partial<",
1354
1358
  "Partial<AgentTheme>;",
1355
1359
  "Partial<ChatTheme>;",
1356
1360
  "Partial<Pick<Thread,",
@@ -1514,7 +1518,6 @@ export const FRAMEWORK_CANDIDATES = [
1514
1518
  "Result:",
1515
1519
  "Retry",
1516
1520
  "Return",
1517
- "ReturnType<typeof",
1518
1521
  "Returns",
1519
1522
  "Reuse",
1520
1523
  "RichCodeBlock",
@@ -1662,6 +1665,10 @@ export const FRAMEWORK_CANDIDATES = [
1662
1665
  "TOOL_STATUS_CONFIG[state];",
1663
1666
  "TRASH_ICON_ELEMENTS);",
1664
1667
  "TRASH_ICON_ELEMENTS:",
1668
+ "TVariants;",
1669
+ "TVariants[TKey]",
1670
+ "TVariants]:",
1671
+ "TVariants]?:",
1665
1672
  "Tab",
1666
1673
  "TabChangeHandler",
1667
1674
  "TabChangeHandler;",
@@ -1791,8 +1798,13 @@ export const FRAMEWORK_CANDIDATES = [
1791
1798
  "Utilities",
1792
1799
  "Utility",
1793
1800
  "Variant",
1794
- "VariantProps",
1795
- "VariantProps,",
1801
+ "VariantClassFunction<TVariants",
1802
+ "VariantClassFunction<TVariants>",
1803
+ "VariantMap",
1804
+ "VariantMap>",
1805
+ "VariantMap>(",
1806
+ "VariantOptions<TVariants",
1807
+ "VariantOptions<TVariants>,",
1796
1808
  "Veryfront",
1797
1809
  "Voice",
1798
1810
  "VoiceIcon",
@@ -1824,12 +1836,14 @@ export const FRAMEWORK_CANDIDATES = [
1824
1836
  "[&_svg]:size-4",
1825
1837
  "[&_svg]:size-5",
1826
1838
  "[ChatErrorBoundary]",
1839
+ "[TKey",
1827
1840
  "[]",
1828
1841
  "[]);",
1829
1842
  "[],",
1830
1843
  "[];",
1831
1844
  "[]}",
1832
1845
  "[activeThreadId,",
1846
+ "[base];",
1833
1847
  "[cardStyle,",
1834
1848
  "[code]);",
1835
1849
  "[content,",
@@ -1904,6 +1918,7 @@ export const FRAMEWORK_CANDIDATES = [
1904
1918
  "[useChatErrorHandler]",
1905
1919
  "[userTheme]);",
1906
1920
  "[value,",
1921
+ "[variantName,",
1907
1922
  "[visibleThreads]);",
1908
1923
  "[{part.state}]</span>",
1909
1924
  "a",
@@ -2016,11 +2031,15 @@ export const FRAMEWORK_CANDIDATES = [
2016
2031
  "arrays",
2017
2032
  "as",
2018
2033
  "asking",
2034
+ "assert(",
2035
+ "assert(button.includes(",
2019
2036
  "assert(root,",
2020
2037
  "assert(script,",
2021
2038
  "assert(style,",
2039
+ "assert(theme.messageVariants({",
2022
2040
  "assert,",
2023
2041
  "assertEquals",
2042
+ "assertEquals(",
2024
2043
  "assertEquals((first",
2025
2044
  "assertEquals(first.type,",
2026
2045
  "assertEquals(getTextContent(message),",
@@ -2029,7 +2048,9 @@ export const FRAMEWORK_CANDIDATES = [
2029
2048
  "assertEquals(isReasoningPart(part),",
2030
2049
  "assertEquals(isToolPart(part),",
2031
2050
  "assertEquals(nonce,",
2051
+ "assertEquals(removedExport",
2032
2052
  "assertEquals(second.type,",
2053
+ "assertEquals(theme.messageVariants({",
2033
2054
  "assertEquals(third.type,",
2034
2055
  "assertEquals,",
2035
2056
  "assertExists",
@@ -2093,6 +2114,7 @@ export const FRAMEWORK_CANDIDATES = [
2093
2114
  "bar",
2094
2115
  "bars,",
2095
2116
  "base",
2117
+ "base:",
2096
2118
  "batches",
2097
2119
  "be",
2098
2120
  "because",
@@ -2211,6 +2233,7 @@ export const FRAMEWORK_CANDIDATES = [
2211
2233
  "by",
2212
2234
  "bytes",
2213
2235
  "bytes}",
2236
+ "c",
2214
2237
  "c)",
2215
2238
  "c.toUpperCase())}",
2216
2239
  "call",
@@ -2281,10 +2304,10 @@ export const FRAMEWORK_CANDIDATES = [
2281
2304
  "chat?.onSourceClick;",
2282
2305
  "chat?.showSources",
2283
2306
  "chat?.switchBranch;",
2307
+ "chatButtonVariants",
2284
2308
  "chatButtonVariants,",
2285
- "chatButtonVariants:",
2309
+ "chatContainerVariants",
2286
2310
  "chatContainerVariants,",
2287
- "chatContainerVariants:",
2288
2311
  "chatProps.showTabs",
2289
2312
  "chatProps:",
2290
2313
  "chatProps}",
@@ -2300,8 +2323,8 @@ export const FRAMEWORK_CANDIDATES = [
2300
2323
  "children}</span>",
2301
2324
  "circle",
2302
2325
  "class",
2303
- "class-variance-authority",
2304
2326
  "class=",
2327
+ "class?:",
2305
2328
  "className",
2306
2329
  "className),",
2307
2330
  "className)}",
@@ -2333,6 +2356,9 @@ export const FRAMEWORK_CANDIDATES = [
2333
2356
  "className={theme?.button}",
2334
2357
  "className={theme?.message?.user}>",
2335
2358
  "className?:",
2359
+ "classes.push(options.class,",
2360
+ "classes.push(variantValues[String(selected)]);",
2361
+ "classes:",
2336
2362
  "claude",
2337
2363
  "clear",
2338
2364
  "clearError",
@@ -2353,9 +2379,11 @@ export const FRAMEWORK_CANDIDATES = [
2353
2379
  "clipping",
2354
2380
  "cloud",
2355
2381
  "clsx",
2382
+ "clsx(inputs);",
2356
2383
  "cn",
2357
2384
  "cn(",
2358
2385
  "cn(...inputs:",
2386
+ "cn(classes);",
2359
2387
  "cn,",
2360
2388
  "code",
2361
2389
  "code(props:",
@@ -2427,9 +2455,13 @@ export const FRAMEWORK_CANDIDATES = [
2427
2455
  "condition:",
2428
2456
  "condition;",
2429
2457
  "config",
2458
+ "config.defaultVariants?.[variantName];",
2459
+ "config:",
2430
2460
  "config?.icon",
2431
2461
  "config?.label",
2432
2462
  "configuration",
2463
+ "configured",
2464
+ "conflict",
2433
2465
  "consecutive",
2434
2466
  "consistent",
2435
2467
  "console.error(",
@@ -2506,11 +2538,8 @@ export const FRAMEWORK_CANDIDATES = [
2506
2538
  "cursor-default",
2507
2539
  "cursor-pointer",
2508
2540
  "custom",
2541
+ "custom-class",
2509
2542
  "customization",
2510
- "cva",
2511
- "cva(",
2512
- "cva,",
2513
- "cva>;",
2514
2543
  "cx:",
2515
2544
  "cx=",
2516
2545
  "cy:",
@@ -2591,9 +2620,11 @@ export const FRAMEWORK_CANDIDATES = [
2591
2620
  "defaultValue",
2592
2621
  "defaultValue,",
2593
2622
  "defaultVariants:",
2623
+ "defaultVariants?:",
2594
2624
  "defaults",
2595
2625
  "defaults.",
2596
2626
  "defines",
2627
+ "definitions",
2597
2628
  "deleteThread",
2598
2629
  "deleteThread(id);",
2599
2630
  "deleteThread,",
@@ -2665,6 +2696,7 @@ export const FRAMEWORK_CANDIDATES = [
2665
2696
  "document:",
2666
2697
  "documents",
2667
2698
  "docx:",
2699
+ "does",
2668
2700
  "dom",
2669
2701
  "dom.window.close();",
2670
2702
  "dom.window;",
@@ -2814,6 +2846,7 @@ export const FRAMEWORK_CANDIDATES = [
2814
2846
  "exportAsMarkdown(messages);",
2815
2847
  "exportAsMarkdown(messages:",
2816
2848
  "exportAsMarkdown,",
2849
+ "expose",
2817
2850
  "ext",
2818
2851
  "extends",
2819
2852
  "externally",
@@ -2986,6 +3019,7 @@ export const FRAMEWORK_CANDIDATES = [
2986
3019
  "getTextFromParts(parts:",
2987
3020
  "gfmModule,",
2988
3021
  "gfmModule.default;",
3022
+ "ghost",
2989
3023
  "ghost:",
2990
3024
  "globalThis.Element,",
2991
3025
  "globalThis.HTMLElement,",
@@ -3106,6 +3140,7 @@ export const FRAMEWORK_CANDIDATES = [
3106
3140
  "hello</div>",
3107
3141
  "help",
3108
3142
  "helper",
3143
+ "helpers",
3109
3144
  "helpful",
3110
3145
  "here",
3111
3146
  "hi",
@@ -3199,6 +3234,7 @@ export const FRAMEWORK_CANDIDATES = [
3199
3234
  "importFromUrl<T>(url:",
3200
3235
  "imports",
3201
3236
  "in",
3237
+ "includes(",
3202
3238
  "index",
3203
3239
  "index)",
3204
3240
  "index,",
@@ -3346,6 +3382,7 @@ export const FRAMEWORK_CANDIDATES = [
3346
3382
  "items],",
3347
3383
  "its",
3348
3384
  "join(",
3385
+ "joins",
3349
3386
  "jsonStr",
3350
3387
  "justify-between",
3351
3388
  "justify-center",
@@ -3379,6 +3416,7 @@ export const FRAMEWORK_CANDIDATES = [
3379
3416
  "key={tool.toolCallId}>{renderTool(tool)}</React.Fragment>;",
3380
3417
  "keyboard",
3381
3418
  "keydown",
3419
+ "keyof",
3382
3420
  "keys",
3383
3421
  "keys.length",
3384
3422
  "keys.map((key)",
@@ -3524,7 +3562,6 @@ export const FRAMEWORK_CANDIDATES = [
3524
3562
  "md:px-4",
3525
3563
  "md:py-4",
3526
3564
  "mdx:",
3527
- "merge",
3528
3565
  "mergeThemes",
3529
3566
  "mergeThemes(defaultAgentTheme,",
3530
3567
  "mergeThemes(defaultChatTheme,",
@@ -3532,6 +3569,7 @@ export const FRAMEWORK_CANDIDATES = [
3532
3569
  "mergeThemes<T>(",
3533
3570
  "merged",
3534
3571
  "merged;",
3572
+ "merging",
3535
3573
  "mermaid",
3536
3574
  "mermaid-${Math.random().toString(36).slice(2,",
3537
3575
  "mermaid.default.render(id,",
@@ -3576,8 +3614,8 @@ export const FRAMEWORK_CANDIDATES = [
3576
3614
  "messageSources",
3577
3615
  "messageSources.length",
3578
3616
  "messageTheme",
3617
+ "messageVariants",
3579
3618
  "messageVariants,",
3580
- "messageVariants:",
3581
3619
  "messages",
3582
3620
  "messages)",
3583
3621
  "messages,",
@@ -3652,6 +3690,7 @@ export const FRAMEWORK_CANDIDATES = [
3652
3690
  "models?:",
3653
3691
  "models[0];",
3654
3692
  "model}",
3693
+ "module",
3655
3694
  "more",
3656
3695
  "motion.div.",
3657
3696
  "mounted",
@@ -4034,8 +4073,11 @@ export const FRAMEWORK_CANDIDATES = [
4034
4073
  "option",
4035
4074
  "option?.scrollIntoView({",
4036
4075
  "optional",
4076
+ "options",
4077
+ "options.className);",
4037
4078
  "options?.storageKey",
4038
4079
  "options?:",
4080
+ "options[variantName];",
4039
4081
  "or",
4040
4082
  "order",
4041
4083
  "order)",
@@ -4328,6 +4370,8 @@ export const FRAMEWORK_CANDIDATES = [
4328
4370
  "remarkPlugins={remarkGfm",
4329
4371
  "removeThread(key:",
4330
4372
  "removeThread(storageKey,",
4373
+ "removed",
4374
+ "removedExport",
4331
4375
  "renameThread",
4332
4376
  "renameThread,",
4333
4377
  "renameThread:",
@@ -4759,6 +4803,7 @@ export const FRAMEWORK_CANDIDATES = [
4759
4803
  "status:",
4760
4804
  "status={status}",
4761
4805
  "status?:",
4806
+ "std/assert",
4762
4807
  "step",
4763
4808
  "step-${group.stepIndex}",
4764
4809
  "step-end",
@@ -4880,7 +4925,6 @@ export const FRAMEWORK_CANDIDATES = [
4880
4925
  "tabular-nums",
4881
4926
  "tag",
4882
4927
  "tags",
4883
- "tailwind-merge",
4884
4928
  "take",
4885
4929
  "target",
4886
4930
  "target=",
@@ -4969,8 +5013,11 @@ export const FRAMEWORK_CANDIDATES = [
4969
5013
  "them",
4970
5014
  "theme",
4971
5015
  "theme,",
5016
+ "theme.chatButtonVariants({",
5017
+ "theme.cn(",
4972
5018
  "theme.message?.[message.role]",
4973
5019
  "theme.message?.assistant;",
5020
+ "theme.messageVariants({",
4974
5021
  "theme.ts",
4975
5022
  "theme:",
4976
5023
  "theme={theme}",
@@ -4990,6 +5037,7 @@ export const FRAMEWORK_CANDIDATES = [
4990
5037
  "thinking:",
4991
5038
  "thinking?:",
4992
5039
  "thinking}",
5040
+ "third-party",
4993
5041
  "third]",
4994
5042
  "this",
4995
5043
  "this.props.children;",
@@ -5147,8 +5195,6 @@ export const FRAMEWORK_CANDIDATES = [
5147
5195
  "truncate",
5148
5196
  "try",
5149
5197
  "tsx",
5150
- "twMerge",
5151
- "twMerge(clsx(inputs));",
5152
5198
  "txt:",
5153
5199
  "type",
5154
5200
  "type:",
@@ -5267,9 +5313,11 @@ export const FRAMEWORK_CANDIDATES = [
5267
5313
  "userToggledRef.current",
5268
5314
  "userToggledRef.current)",
5269
5315
  "using",
5316
+ "utility",
5270
5317
  "utils",
5271
5318
  "utils/export.ts",
5272
5319
  "utils/message-parts.ts",
5320
+ "v",
5273
5321
  "v5",
5274
5322
  "v])",
5275
5323
  "validateTrustedHtml",
@@ -5297,6 +5345,10 @@ export const FRAMEWORK_CANDIDATES = [
5297
5345
  "var",
5298
5346
  "variant",
5299
5347
  "variant:",
5348
+ "variantClasses(",
5349
+ "variantClasses<TVariants",
5350
+ "variantName)",
5351
+ "variantValues]",
5300
5352
  "variants:",
5301
5353
  "vars.",
5302
5354
  "veryfront/agent",
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.520";
1
+ export declare const VERSION = "0.1.522";
2
2
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
- export const VERSION = "0.1.520";
3
+ export const VERSION = "0.1.522";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.520",
3
+ "version": "0.1.522",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",
@@ -233,9 +233,9 @@
233
233
  "import": "./esm/src/extensions/schema/index.js",
234
234
  "types": "./esm/src/extensions/schema/index.d.ts"
235
235
  },
236
- "./extensions/tracing": {
237
- "import": "./esm/src/extensions/tracing/index.js",
238
- "types": "./esm/src/extensions/tracing/index.d.ts"
236
+ "./extensions/observability": {
237
+ "import": "./esm/src/extensions/observability/index.js",
238
+ "types": "./esm/src/extensions/observability/index.d.ts"
239
239
  },
240
240
  "./testing": {
241
241
  "import": "./esm/src/testing/index.js",
@@ -315,7 +315,6 @@
315
315
  "@types/mdast": "4.0.3",
316
316
  "@types/unist": "3.0.2",
317
317
  "bash-tool": "1.3.16",
318
- "class-variance-authority": "0.7.1",
319
318
  "es-module-lexer": "2.0.0",
320
319
  "esbuild": "0.27.4",
321
320
  "github-slugger": "2.0.0",
@@ -334,7 +333,6 @@
334
333
  "remark-parse": "11.0.0",
335
334
  "remark-rehype": "11.1.2",
336
335
  "scheduler": "0.27.0",
337
- "tailwind-merge": "3.5.0",
338
336
  "tailwindcss": "4.2.2",
339
337
  "unified": "11.0.5",
340
338
  "unist-util-visit": "5.1.0",
@@ -64,22 +64,34 @@ export async function executeTests(
64
64
 
65
65
  const child = cmd.spawn();
66
66
  const timeoutMs = input.timeout ?? 300000;
67
+ const outputPromise = child.output();
67
68
 
68
- const result = await Promise.race([
69
- child.output(),
70
- new Promise<never>((_, reject) => {
71
- const timer = dntShim.setTimeout(() => {
72
- try {
73
- child.kill();
74
- } catch {
75
- // Process may have already exited
76
- }
77
- reject(new Error(`Test execution timed out after ${timeoutMs}ms`));
78
- }, timeoutMs);
79
- // Don't prevent process exit while waiting
80
- dntShim.Deno.unrefTimer(timer);
81
- }),
82
- ]);
69
+ let timerId: number | undefined;
70
+ const timeoutResult = "timeout";
71
+ const timeoutPromise = new Promise<typeof timeoutResult>((resolve) => {
72
+ timerId = dntShim.setTimeout(() => {
73
+ resolve(timeoutResult);
74
+ }, timeoutMs);
75
+ // Don't prevent process exit while waiting
76
+ dntShim.Deno.unrefTimer(timerId);
77
+ });
78
+
79
+ const result = await Promise.race([outputPromise, timeoutPromise]);
80
+
81
+ if (timerId !== undefined) {
82
+ clearTimeout(timerId);
83
+ }
84
+
85
+ if (result === timeoutResult) {
86
+ try {
87
+ child.kill();
88
+ } catch {
89
+ // Process may have already exited
90
+ }
91
+
92
+ await outputPromise.catch(() => undefined);
93
+ throw new Error(`Test execution timed out after ${timeoutMs}ms`);
94
+ }
83
95
 
84
96
  const stdout = new TextDecoder().decode(result.stdout);
85
97
  const stderr = new TextDecoder().decode(result.stderr);