@ggui-ai/ui-gen 0.25.0 → 0.26.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 (106) hide show
  1. package/README.md +2 -2
  2. package/dist/{adapter-Cg_rkpGq.d.ts → adapter-BJwn74rx.d.ts} +49 -1
  3. package/dist/adapters/generation-dispatch.d.ts +8 -5
  4. package/dist/adapters/generation-dispatch.js +1118 -193
  5. package/dist/adapters/generation-dispatch.js.map +1 -1
  6. package/dist/adapters/index.js +27 -6
  7. package/dist/adapters/index.js.map +1 -1
  8. package/dist/advanced/index.d.ts +10 -9
  9. package/dist/advanced/index.js +1126 -202
  10. package/dist/advanced/index.js.map +1 -1
  11. package/dist/blueprint-validator.js +416 -92
  12. package/dist/blueprint-validator.js.map +1 -1
  13. package/dist/boilerplate.d.ts +2 -2
  14. package/dist/boilerplate.js +10 -3
  15. package/dist/boilerplate.js.map +1 -1
  16. package/dist/check/index.d.ts +3 -2
  17. package/dist/check/index.js +9 -2
  18. package/dist/check/index.js.map +1 -1
  19. package/dist/{create-ui-generator-DFnnArrv.d.ts → create-ui-generator-N4gRXpcL.d.ts} +3 -4
  20. package/dist/{design-mode-DLufhrNp.d.ts → design-mode-DGWN_Gkm.d.ts} +1 -1
  21. package/dist/{dispatch-CStl9eAw.d.ts → dispatch-BUoXRj_r.d.ts} +2 -2
  22. package/dist/evaluation/axis-checks/index.d.ts +5 -4
  23. package/dist/evaluation/axis-checks/index.js.map +1 -1
  24. package/dist/evaluation/axis-checks/registry.d.ts +4 -3
  25. package/dist/evaluation/index.d.ts +107 -539
  26. package/dist/evaluation/index.js +552 -55
  27. package/dist/evaluation/index.js.map +1 -1
  28. package/dist/evaluation/types.d.ts +17 -0
  29. package/dist/evaluation/types.js.map +1 -1
  30. package/dist/{generate-9IeNT4ZY.d.ts → generate-tSO_shQ0.d.ts} +1 -1
  31. package/dist/harness/check/runtime-render/index.d.ts +5 -5
  32. package/dist/harness/check/runtime-render/index.js +416 -92
  33. package/dist/harness/check/runtime-render/index.js.map +1 -1
  34. package/dist/harness/check/runtime-render/render-check-worker.js +393 -88
  35. package/dist/harness/check/runtime-render/render-check-worker.js.map +1 -1
  36. package/dist/harness/index.d.ts +4 -5
  37. package/dist/harness/index.js +36 -5
  38. package/dist/harness/index.js.map +1 -1
  39. package/dist/harness/prompts.d.ts +2 -2
  40. package/dist/harness/prompts.js +10 -1
  41. package/dist/harness/prompts.js.map +1 -1
  42. package/dist/harness/result-types.d.ts +17 -3
  43. package/dist/harness/result-types.js.map +1 -1
  44. package/dist/harness/runtime.d.ts +14 -6
  45. package/dist/harness/runtime.js +11 -4
  46. package/dist/harness/runtime.js.map +1 -1
  47. package/dist/harness/types-public.d.ts +4 -2
  48. package/dist/harness/types-public.js +10 -3
  49. package/dist/harness/types-public.js.map +1 -1
  50. package/dist/harness/validator-trace-sink.d.ts +4 -3
  51. package/dist/index.d.ts +46 -11
  52. package/dist/index.js +1128 -200
  53. package/dist/index.js.map +1 -1
  54. package/dist/patch.d.ts +3 -3
  55. package/dist/{prompts-YU9piOgs.d.ts → prompts-BhNUuRoZ.d.ts} +1 -1
  56. package/dist/tools/render-check-worker.js +8 -1
  57. package/dist/tools/render-check-worker.js.map +1 -1
  58. package/dist/{types-public-BJTLpzWn.d.ts → types-public-B7wn4ce5.d.ts} +384 -3
  59. package/dist/validation/index.d.ts +1 -1
  60. package/dist/validation/index.js +1 -1
  61. package/dist/validation/index.js.map +1 -1
  62. package/dist/visual-evaluator-C9L-o6ap.d.ts +639 -0
  63. package/dist/workflows.d.ts +3 -3
  64. package/package.json +12 -12
  65. package/src/adapters/generation-dispatch.ts +2 -0
  66. package/src/boilerplate/free-design-prompt.ts +3 -3
  67. package/src/boilerplate/hard-sections.ts +1 -1
  68. package/src/boilerplate/templates/layouts/chat-mobile.tsx.tmpl +3 -1
  69. package/src/boilerplate/templates/layouts/chat-universal.tsx.tmpl +3 -1
  70. package/src/boilerplate/templates/layouts/fullscreen-desktop.tsx.tmpl +3 -1
  71. package/src/boilerplate/templates/layouts/fullscreen-universal.tsx.tmpl +3 -1
  72. package/src/check/run-tier0.ts +6 -3
  73. package/src/contract-context.ts +1 -1
  74. package/src/evaluation/cost-tracker.ts +54 -6
  75. package/src/evaluation/criteria/edge-probe.ts +286 -0
  76. package/src/evaluation/criteria/edge.ts +202 -0
  77. package/src/evaluation/criteria/resolve.ts +55 -7
  78. package/src/evaluation/index.ts +5 -1
  79. package/src/evaluation/judge-spend.ts +48 -0
  80. package/src/evaluation/types-public.ts +91 -0
  81. package/src/evaluation/types.ts +10 -0
  82. package/src/evaluation/visual-evaluator.ts +236 -40
  83. package/src/harness/check/runtime-render/adapter.ts +18 -0
  84. package/src/harness/check/runtime-render/probe-pending.ts +111 -0
  85. package/src/harness/check/runtime-render/render-check-host.ts +10 -6
  86. package/src/harness/check/runtime-render/render-check-worker.ts +6 -3
  87. package/src/harness/check/runtime-render/render-check.ts +417 -133
  88. package/src/harness/check/runtime-render/walk.ts +200 -0
  89. package/src/harness/coding/assemble-result.ts +2 -0
  90. package/src/harness/coding/generate-task-runner.ts +27 -0
  91. package/src/harness/coding/init-session.ts +5 -3
  92. package/src/harness/coding/run-coding-turn.ts +5 -1
  93. package/src/harness/coding/run-eval-round.ts +63 -3
  94. package/src/harness/in-loop-evaluation.ts +39 -0
  95. package/src/harness/llm-router.ts +58 -1
  96. package/src/harness/result-types.ts +9 -0
  97. package/src/harness/runtime.ts +9 -0
  98. package/src/harness/types-public.ts +10 -1
  99. package/src/index.ts +5 -0
  100. package/src/internal/verdict-line.ts +33 -0
  101. package/src/taught-tokens.ts +32 -0
  102. package/src/tools/render-check-worker.ts +2 -1
  103. package/src/tools/render-check.ts +8 -7
  104. package/src/validation/primitives.ts +1 -1
  105. package/dist/llm-router-nfO7wPec.d.ts +0 -267
  106. package/dist/{bank-CT4eEkta.d.ts → bank-Ctdp3FUA.d.ts} +3 -3
@@ -2,11 +2,11 @@ import * as _ggui_ai_protocol from '@ggui-ai/protocol';
2
2
  import { JsonValue, DataContract, JsonObject, GadgetDescriptor } from '@ggui-ai/protocol';
3
3
  import { G as GenerationProfileInput } from '../styling-profile-CxfvV48g.js';
4
4
  import { C as Classification } from '../axes-CKVCzR_x.js';
5
- import { E as EvalIssue, R as RuntimeProbeStatus, P as ProbeHostLoad, A as AxisCheck, c as EvalTier } from '../types-public-BJTLpzWn.js';
5
+ import { E as EvalIssue, R as RuntimeProbeStatus, f as ProbeHostLoad, g as ProbePendingAffordance, A as AxisCheck, q as EvalTier } from '../types-public-B7wn4ce5.js';
6
6
  import { LLMToolDef } from '../llm.js';
7
7
  import { H as HarnessFragment, a as CacheTier } from '../types-Dh1s4K9j.js';
8
8
  import { ProcessMode, HarnessPolicy } from '../policy.js';
9
- import { D as DesignMode, C as CanvasClass } from '../design-mode-DLufhrNp.js';
9
+ import { D as DesignMode, C as CanvasClass } from '../design-mode-DGWN_Gkm.js';
10
10
  import '@ggui-ai/mcp-server-core';
11
11
 
12
12
  /** Called by the executor to run a single task. One of these per task.id. */
@@ -251,6 +251,8 @@ interface RuntimeRenderOutcome {
251
251
  readonly hostLoad?: ProbeHostLoad;
252
252
  /** Time the check waited for a probe slot before it started, ms; present only when > 0 (ggui#1380 C2b). */
253
253
  readonly queuedMs?: number;
254
+ /** `ran` only: the pending-affordance walk (ggui#1398), report-only; absent when no action walk ran. */
255
+ readonly pendingAffordance?: ProbePendingAffordance;
254
256
  }
255
257
  interface RuntimeRenderCheck {
256
258
  readonly id: string;
@@ -1481,6 +1481,13 @@ ${body}
1481
1481
  AXIS_SECTIONS: composedSections ?? ""
1482
1482
  }, designMode);
1483
1483
  }
1484
+ var NOT_YET_TAUGHT_TOKENS = /* @__PURE__ */ new Set([
1485
+ "--ggui-color-controlAccentOutline",
1486
+ "--ggui-color-controlOutline"
1487
+ ]);
1488
+ var taughtTokenManifest = consumedTokenManifest.filter(
1489
+ (token) => !NOT_YET_TAUGHT_TOKENS.has(token)
1490
+ );
1484
1491
 
1485
1492
  // src/boilerplate/hard-sections.ts
1486
1493
  var PROTOCOL_NOTES = `## Protocol Notes
@@ -1690,7 +1697,7 @@ The width works the same way, and the mistake is the mirror image: **your outerm
1690
1697
 
1691
1698
  - Never put \`maxWidth\` (or a \`max-w-*\` class) on the element you return at the top. On a wide canvas that turns your card into a narrow strip with the frame's ground on either side of it, and on a narrow one it does nothing \u2014 the same composition reading differently at two sizes.
1692
1699
  - DO cap the reading measure inside: a column of prose is easiest to read at 60\u201370 characters, so wrap the TEXT in a \`<Container maxWidth="sm">\` (or your own \`max-width\`) and leave the root filling. A hero band, a toolbar, a table or an image then still uses the whole width, which is what makes a wide card look composed rather than padded.
1693
- - Centre that inner column with the container's own centring, not by shrinking the root.
1700
+ - Centre that inner column with the container's own centring, not by shrinking the root \u2014 and give the card ONE column: every block of the reading flow (a heading, its text, and the chips or buttons that answer it) sits in a \`<Container>\` of the same \`maxWidth\`, so their left edges line up even where a full-width band runs between them.
1694
1701
  - **They are two different elements.** Even when the whole card is one column of text, the root still fills and the column sits INSIDE it \u2014 \`<Box padding="lg"><Container maxWidth="sm">\u2026</Container></Box>\`, never a root that is itself the container. A centred card is centring inside a filled frame, not a shrunken frame.`;
1695
1702
  var COMPONENT_STRUCTURE = `## Component Structure
1696
1703
 
@@ -1767,7 +1774,7 @@ function colorVocabularyFromManifest(manifest) {
1767
1774
  function renderRamp(r) {
1768
1775
  return `\`${r.family}-${r.steps.join("/")}\`${r.bare ? ` (plus bare \`${r.family}\`)` : ""}`;
1769
1776
  }
1770
- function renderFreeColorRule(manifest = consumedTokenManifest) {
1777
+ function renderFreeColorRule(manifest = taughtTokenManifest) {
1771
1778
  const { ramps, roles } = colorVocabularyFromManifest(manifest);
1772
1779
  const brand = ramps.filter((r) => r.family === "primary" || r.family === "neutral");
1773
1780
  const state = ramps.filter((r) => r.family !== "primary" && r.family !== "neutral");
@@ -1857,7 +1864,7 @@ var TOKEN_GROUPS = [
1857
1864
  { label: "Radius (optional)", prefixes: ["--ggui-shape-radius-"], note: "" },
1858
1865
  { label: "Shadow (optional)", prefixes: ["--ggui-shape-shadow-"], note: "" }
1859
1866
  ];
1860
- function renderTokenVocabulary(manifest = consumedTokenManifest) {
1867
+ function renderTokenVocabulary(manifest = taughtTokenManifest) {
1861
1868
  const sorted = [...manifest].sort();
1862
1869
  const claimed = /* @__PURE__ */ new Set();
1863
1870
  const lines = [