@imfusion/web-ui 0.6.4-dev.8.g41d03f2f → 0.7.0

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 (141) hide show
  1. package/CHANGELOG.md +391 -0
  2. package/README.md +22 -55
  3. package/dist/assets/vendors/base-ui.d.ts +2 -3
  4. package/dist/breakpoints/min-width.d.ts +3 -7
  5. package/dist/breakpoints/registry.d.ts +3 -9
  6. package/dist/{code-Ce8uiPsv.js → code-D2lwxHgd.js} +15 -15
  7. package/dist/codegen/gen-breakpoints-css.d.ts +0 -4
  8. package/dist/codegen/gen-token-css.d.ts +0 -2
  9. package/dist/components/app-shell/app-shell.d.ts +7 -11
  10. package/dist/components/button/button.d.ts +7 -12
  11. package/dist/components/callout/callout.d.ts +11 -18
  12. package/dist/components/card/card.d.ts +11 -10
  13. package/dist/components/checkbox/checkbox.d.ts +2 -38
  14. package/dist/components/chip/chip.cva.d.ts +2 -4
  15. package/dist/components/chip/chip.d.ts +1 -1
  16. package/dist/components/code/code.d.ts +2 -2
  17. package/dist/components/collapsible/collapsible.d.ts +4 -35
  18. package/dist/components/copy-button/copy-button.d.ts +1 -1
  19. package/dist/components/drawer/drawer.d.ts +17 -100
  20. package/dist/components/field/field.d.ts +7 -67
  21. package/dist/components/fieldset/fieldset.d.ts +2 -15
  22. package/dist/components/icon/icon.d.ts +2 -2
  23. package/dist/components/input/input.d.ts +2 -8
  24. package/dist/components/logo/imfusion/imfusion.d.ts +2 -5
  25. package/dist/components/logo/imfusion/marks.d.ts +10 -0
  26. package/dist/components/logo/logo.d.ts +3 -3
  27. package/dist/components/navigation-menu/subs/flyout-link.d.ts +5 -19
  28. package/dist/components/navigation-menu/subs/inline-submenu.d.ts +2 -4
  29. package/dist/components/navigation-menu/subs/link.d.ts +6 -23
  30. package/dist/components/navigation-menu/subs/overlay.d.ts +6 -51
  31. package/dist/components/navigation-menu/subs/shared.d.ts +4 -14
  32. package/dist/components/navigation-menu/subs/structure.d.ts +7 -29
  33. package/dist/components/navigation-menu/subs/trigger.d.ts +11 -20
  34. package/dist/components/number-field/index.d.ts +2 -0
  35. package/dist/components/number-field/number-field.d.ts +72 -0
  36. package/dist/components/number-field/number-field.meta.d.ts +2 -0
  37. package/dist/components/popover/popover.d.ts +23 -98
  38. package/dist/components/row/row.d.ts +1 -1
  39. package/dist/components/select/select.d.ts +26 -189
  40. package/dist/components/separator/separator.d.ts +5 -4
  41. package/dist/components/slider/slider.d.ts +7 -77
  42. package/dist/components/spinner/spinner.d.ts +13 -8
  43. package/dist/components/stack/stack.d.ts +3 -4
  44. package/dist/components/switch/switch.d.ts +2 -31
  45. package/dist/components/table/table.d.ts +10 -18
  46. package/dist/components/tabs/tabs.d.ts +18 -52
  47. package/dist/components/toast/toast.d.ts +16 -103
  48. package/dist/components/toggle/toggle.d.ts +3 -21
  49. package/dist/components/toggle-group/toggle-group.d.ts +3 -20
  50. package/dist/components/tooltip/tooltip.d.ts +26 -85
  51. package/dist/components/typo/typo.d.ts +25 -25
  52. package/dist/docgen/gen-docgen.utils.d.ts +3 -4
  53. package/dist/hooks/use-color-scheme.d.ts +5 -11
  54. package/dist/hooks/use-media-query.d.ts +2 -7
  55. package/dist/{icons-Cy1HAosO.js → icons-CaGCCwG-.js} +7 -7
  56. package/dist/icons.js +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.js +1486 -1368
  59. package/dist/integrations/code-highlight/highlighter.d.ts +1 -56
  60. package/dist/integrations/code-highlight.js +41 -189
  61. package/dist/integrations/image-display-options/image-display-options-view.utils.d.ts +0 -1
  62. package/dist/integrations/image-display-options.js +54 -54
  63. package/dist/llms/evals/runner/affected.d.ts +2 -0
  64. package/dist/llms/evals/runner/benchmark.d.ts +12 -0
  65. package/dist/llms/evals/runner/compare.d.ts +2 -0
  66. package/dist/llms/evals/runner/config.d.ts +29 -0
  67. package/dist/llms/evals/runner/evidence.d.ts +7 -0
  68. package/dist/llms/evals/runner/execute.d.ts +32 -0
  69. package/dist/llms/evals/runner/grade.d.ts +10 -0
  70. package/dist/llms/evals/runner/report-md.d.ts +2 -0
  71. package/dist/llms/evals/runner/report.d.ts +4 -0
  72. package/dist/llms/evals/runner/run.d.ts +2 -0
  73. package/dist/llms/evals/runner/scenario.d.ts +3 -0
  74. package/dist/llms/evals/runner/types.d.ts +140 -0
  75. package/dist/llms/evals/runner/workspace.d.ts +2 -0
  76. package/dist/llms/evals/runner/write-generated.d.ts +1 -0
  77. package/dist/provider/web-ui-provider.d.ts +4 -1
  78. package/dist/style.css +1 -1
  79. package/dist/tabs-BS6rqrrA.js +398 -0
  80. package/dist/tokens/apply.d.ts +4 -9
  81. package/dist/tokens/control-registry.d.ts +3 -6
  82. package/dist/tokens/types.d.ts +7 -24
  83. package/dist/tokens/use-token-controls.d.ts +3 -12
  84. package/dist/types/meta.d.ts +15 -32
  85. package/dist/utils/index.d.ts +1 -0
  86. package/dist/utils/resolve-state-props.d.ts +4 -0
  87. package/dist/vite/brand-assets.d.ts +3 -0
  88. package/dist/vite/index.d.ts +2 -0
  89. package/dist/vite/readable-css-module-names.d.ts +11 -0
  90. package/dist/vite.js +55 -0
  91. package/dist/web-ui-cli.js +322 -0
  92. package/docs/user-guide/AgentTooling.mdx +133 -0
  93. package/docs/user-guide/BrandAssets.mdx +103 -0
  94. package/docs/user-guide/Changelog.mdx +26 -0
  95. package/docs/user-guide/GettingStarted.mdx +71 -0
  96. package/docs/user-guide/HowItsBuilt.mdx +114 -0
  97. package/docs/user-guide/Tokens.mdx +88 -0
  98. package/docs/user-guide/UsagePatterns.mdx +123 -0
  99. package/package.json +28 -22
  100. package/src/assets/public/favicon/apple-touch-icon.png +0 -0
  101. package/src/assets/public/favicon/favicon-16.png +0 -0
  102. package/src/assets/public/favicon/favicon-32.png +0 -0
  103. package/src/assets/public/favicon/favicon.ico +0 -0
  104. package/src/assets/public/favicon/favicon.svg +7 -0
  105. package/src/assets/public/favicon/icon-192.png +0 -0
  106. package/src/assets/public/favicon/icon-512.png +0 -0
  107. package/src/assets/public/favicon/og-image.png +0 -0
  108. package/src/assets/public/spinner/imfusion-spinner-black.webp +0 -0
  109. package/src/assets/public/spinner/imfusion-spinner-blue.webp +0 -0
  110. package/src/assets/public/spinner/imfusion-spinner-white.webp +0 -0
  111. package/src/docgen/doc.gen.json +3255 -603
  112. package/src/llms/install-templates/AGENTS.md +4 -4
  113. package/src/llms/install-templates/hooks/baseline-staleness.sh +9 -2
  114. package/src/llms/llms.gen.txt +7 -1
  115. package/src/llms/skills/imf-web-ui/SKILL.md +44 -21
  116. package/src/llms/skills/imf-web-ui-audit/SKILL.md +25 -11
  117. package/src/llms/skills/imf-web-ui-components/SKILL.md +7 -3
  118. package/src/llms/skills/imf-web-ui-conventions/SKILL.md +3 -2
  119. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +0 -1
  120. package/src/llms/skills/imf-web-ui-conventions/templates/REPORT.md +21 -2
  121. package/src/llms/skills/imf-web-ui-conventions/topics/agent-tooling.md +15 -10
  122. package/src/llms/skills/imf-web-ui-conventions/topics/assets.md +7 -4
  123. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +3 -1
  124. package/src/llms/skills/imf-web-ui-conventions/topics/docs-structure.md +2 -2
  125. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +4 -2
  126. package/src/llms/skills/imf-web-ui-conventions/topics/library-setup.md +10 -1
  127. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +2 -2
  128. package/src/llms/skills/imf-web-ui-conventions/topics/tokens.md +4 -2
  129. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +13 -11
  130. package/src/llms/skills/imf-web-ui-setup/SKILL.md +17 -9
  131. package/src/llms/skills/imf-web-ui-update/SKILL.md +47 -19
  132. package/src/llms/skills/imf-web-ui-ux/SKILL.md +6 -3
  133. package/src/llms/tokens.gen.json +79 -15
  134. package/bin/install.js +0 -446
  135. package/dist/build/vite-css-module-names/index.d.ts +0 -20
  136. package/dist/build/vite-css-module-names.js +0 -17
  137. package/dist/components/spinner/spinner.geometry.d.ts +0 -37
  138. package/dist/integrations/code-highlight/languages/cmake.d.ts +0 -1
  139. package/dist/integrations/code-highlight/languages/cpp.d.ts +0 -1
  140. package/dist/tabs-DIe1Utiy.js +0 -371
  141. /package/dist/{meta-CySnRuVp.js → meta-j-7HGrWv.js} +0 -0
@@ -0,0 +1,32 @@
1
+ import { TranscriptEntry } from './types.ts';
2
+ export type RoundOutput = {
3
+ session_id: string | null;
4
+ result?: string;
5
+ duration_ms?: number;
6
+ total_cost_usd?: number;
7
+ usage?: {
8
+ input_tokens?: number;
9
+ output_tokens?: number;
10
+ };
11
+ modelUsage?: Record<string, unknown>;
12
+ subtype?: string;
13
+ num_turns?: number;
14
+ timedOut?: boolean;
15
+ timeoutMs?: number;
16
+ };
17
+ export declare function runClaude(prompt: string, { cwd, resumeSessionId, maxTurns, model, permissionMode, timeoutMs }: {
18
+ cwd: string;
19
+ resumeSessionId?: string | null;
20
+ maxTurns?: number;
21
+ model?: string | null;
22
+ permissionMode?: string;
23
+ timeoutMs?: number;
24
+ }): RoundOutput;
25
+ export declare function runCodex(prompt: string, { cwd, resumeSessionId }: {
26
+ cwd: string;
27
+ resumeSessionId?: string | null;
28
+ }): RoundOutput;
29
+ export declare function parseJsonl(raw: string): Record<string, unknown>[];
30
+ export declare function readTranscript(workdir: string, sessionId: string): string;
31
+ export declare function findCodexRollout(threadId: string): string;
32
+ export declare function codexEntries(lines: Record<string, unknown>[]): TranscriptEntry[];
@@ -0,0 +1,10 @@
1
+ import { AssertionResult, Scenario, ToolUse } from './types.ts';
2
+ export declare function gradeRouting(label: "Skill" | "Tool", config: {
3
+ expect?: string[];
4
+ forbid?: string[];
5
+ } | undefined, actual: string[]): AssertionResult[];
6
+ export declare function gradeTranscript(scenario: Scenario, rawTranscript: string): AssertionResult[];
7
+ export declare function gradeWorkspace(scenario: Scenario, workdir: string): AssertionResult[];
8
+ export declare function gradeWrites(scenario: Scenario, toolUses: ToolUse[], workdir: string): AssertionResult[];
9
+ export declare function gradeReport(scenario: Scenario, workdir: string, initialReport: string | null): AssertionResult[];
10
+ export declare function gradeWithLlm(scenario: Scenario, conversation: string, workspaceFiles: string, voteCount: number): AssertionResult[];
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ export declare function writeReportMarkdown(): string | null;
@@ -0,0 +1,4 @@
1
+ import { Benchmark } from './types.ts';
2
+ export declare function printReport(benchmark: Benchmark, { allEvidence }?: {
3
+ allEvidence?: boolean | undefined;
4
+ }): void;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env -S npx tsx
2
+ export {};
@@ -0,0 +1,3 @@
1
+ import { Host, RunResult, Scenario } from './types.ts';
2
+ export declare function evalIdFor(scenario: Scenario, host: Host): string;
3
+ export declare function runScenario(scenario: Scenario, host: Host, runNumber: number, runsRoot: string, model: string | null, graderVotes: number): RunResult;
@@ -0,0 +1,140 @@
1
+ export declare const HOSTS: readonly ["claude", "codex"];
2
+ export type Host = (typeof HOSTS)[number];
3
+ export type PathRule = {
4
+ pattern: string;
5
+ text: string;
6
+ flags?: string;
7
+ /** Named paths to search instead of the `src/**` default. */
8
+ files?: string[];
9
+ };
10
+ export type Scenario = {
11
+ id: string;
12
+ description: string;
13
+ rounds: string[];
14
+ /** Skills this scenario belongs to without asserting they loaded. */
15
+ covers?: string[];
16
+ skills?: {
17
+ expect?: string[];
18
+ forbid?: string[];
19
+ };
20
+ tools?: {
21
+ expect?: string[];
22
+ forbid?: string[];
23
+ };
24
+ writes?: {
25
+ only?: string[];
26
+ expect?: string[];
27
+ };
28
+ workspace?: {
29
+ forbidPatterns?: PathRule[];
30
+ expectPatterns?: PathRule[];
31
+ };
32
+ transcript?: {
33
+ expectStrings?: string[];
34
+ forbidStrings?: string[];
35
+ };
36
+ report?: {
37
+ path: string;
38
+ headings?: string[];
39
+ preserveFrom?: string;
40
+ };
41
+ assertions?: string[];
42
+ fixture?: string;
43
+ setup?: string;
44
+ hosts?: Host[];
45
+ maxTurns?: number;
46
+ roundTimeoutMinutes?: number;
47
+ permissionMode?: string;
48
+ };
49
+ export type AssertionResult = {
50
+ text: string;
51
+ passed: boolean;
52
+ method: "deterministic" | "llm";
53
+ evidence: string;
54
+ };
55
+ export type ToolUse = {
56
+ type: "tool_use";
57
+ name: string;
58
+ input?: Record<string, unknown>;
59
+ };
60
+ export type TranscriptEntry = {
61
+ type: string;
62
+ message?: {
63
+ content?: unknown;
64
+ };
65
+ };
66
+ export type HostPlan = {
67
+ path: string;
68
+ content: string;
69
+ };
70
+ export type RoundMeta = {
71
+ prompt: string;
72
+ session_id: string | null;
73
+ duration_ms?: number;
74
+ total_cost_usd?: number;
75
+ usage?: {
76
+ input_tokens?: number;
77
+ output_tokens?: number;
78
+ };
79
+ models?: string[];
80
+ subtype?: string;
81
+ num_turns?: number;
82
+ timed_out?: boolean;
83
+ };
84
+ export type RunResult = {
85
+ eval_id: string;
86
+ executor_host: Host;
87
+ fixture: string;
88
+ description: string;
89
+ run_number: number;
90
+ models: string[];
91
+ result: {
92
+ pass_rate: number;
93
+ passed: number;
94
+ failed: number;
95
+ total: number;
96
+ time_seconds: number;
97
+ turns: number;
98
+ tokens: number;
99
+ cost_usd: number;
100
+ };
101
+ expectations: {
102
+ text: string;
103
+ passed: boolean;
104
+ evidence: string;
105
+ }[];
106
+ truncated: boolean;
107
+ timed_out: boolean;
108
+ notes: string;
109
+ };
110
+ export type PerEvalSummary = {
111
+ pass_rate_mean: number;
112
+ pass_rate_stddev: number;
113
+ time_seconds_mean: number;
114
+ turns_mean: number;
115
+ tokens_mean: number;
116
+ cost_usd_total: number;
117
+ };
118
+ export type Benchmark = {
119
+ metadata: BenchmarkMetadata;
120
+ runs: RunResult[];
121
+ run_summary: {
122
+ per_eval: Record<string, PerEvalSummary>;
123
+ overall_pass_rate: number;
124
+ total_cost_usd: number;
125
+ };
126
+ notes: string[];
127
+ };
128
+ export type BenchmarkMetadata = {
129
+ skill_family: string;
130
+ timestamp: string;
131
+ evals_run: string[];
132
+ runs_per_scenario: number;
133
+ executor_model: string;
134
+ executor_hosts: string[];
135
+ grader_model: string;
136
+ grader_votes: number;
137
+ tier: string;
138
+ models_observed: string[];
139
+ fixtures: string[];
140
+ };
@@ -0,0 +1,2 @@
1
+ export declare function copyTemplate(dest: string): void;
2
+ export declare function applyFixture(dest: string, fixture: string): void;
@@ -0,0 +1 @@
1
+ export declare function writeGenerated(path: string, contents: string): string;
@@ -1,9 +1,12 @@
1
1
  import { ReactNode } from 'react';
2
+ import { ColorSchemePreference } from '../types/theme';
2
3
  import * as IconConfig from '../icons/icon-config';
3
4
  interface Props {
4
5
  children: ReactNode;
5
6
  /** SVG defaults for icons in this provider's subtree; omitted fields use the defaults from icon-config.tsx. */
6
7
  icons?: React.ComponentProps<typeof IconConfig.Provider>["value"];
8
+ /** Color scheme preference; omit to follow the OS and persist a choice in localStorage. A value pins the scheme and bypasses localStorage. */
9
+ colorScheme?: ColorSchemePreference;
7
10
  }
8
- export declare function WebUIProvider({ children, icons }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export declare function WebUIProvider({ children, icons, colorScheme }: Props): import("react/jsx-runtime").JSX.Element;
9
12
  export {};