@ggui-ai/ui-gen 0.18.0 → 0.20.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 (75) hide show
  1. package/dist/adapters/generation-dispatch.d.ts +1 -1
  2. package/dist/adapters/generation-dispatch.js +248 -88
  3. package/dist/adapters/generation-dispatch.js.map +1 -1
  4. package/dist/adapters/index.js +39 -16
  5. package/dist/adapters/index.js.map +1 -1
  6. package/dist/adapters/types.d.ts +1 -1
  7. package/dist/adapters/types.js.map +1 -1
  8. package/dist/advanced/index.d.ts +2 -2
  9. package/dist/advanced/index.js +217 -34
  10. package/dist/advanced/index.js.map +1 -1
  11. package/dist/blueprint-validator.js +5 -2
  12. package/dist/blueprint-validator.js.map +1 -1
  13. package/dist/boilerplate.js +2 -2
  14. package/dist/boilerplate.js.map +1 -1
  15. package/dist/check/index.d.ts +1 -1
  16. package/dist/check/index.js.map +1 -1
  17. package/dist/{create-ui-generator-C8Ki9Wz1.d.ts → create-ui-generator-CxPvudbs.d.ts} +1 -1
  18. package/dist/{dispatch-D2htzi9h.d.ts → dispatch-N8wdNOX-.d.ts} +4 -2
  19. package/dist/evaluation/axis-checks/index.d.ts +3 -3
  20. package/dist/evaluation/axis-checks/index.js +143 -3
  21. package/dist/evaluation/axis-checks/index.js.map +1 -1
  22. package/dist/evaluation/axis-checks/registry.d.ts +1 -1
  23. package/dist/evaluation/axis-checks/registry.js +138 -1
  24. package/dist/evaluation/axis-checks/registry.js.map +1 -1
  25. package/dist/evaluation/index.d.ts +3 -3
  26. package/dist/evaluation/index.js +213 -84
  27. package/dist/evaluation/index.js.map +1 -1
  28. package/dist/harness/check/runtime-render/index.d.ts +1 -1
  29. package/dist/harness/check/runtime-render/index.js +5 -2
  30. package/dist/harness/check/runtime-render/index.js.map +1 -1
  31. package/dist/harness/check/runtime-render/render-check-worker.js +5 -2
  32. package/dist/harness/check/runtime-render/render-check-worker.js.map +1 -1
  33. package/dist/harness/index.d.ts +1 -1
  34. package/dist/harness/index.js +64 -61
  35. package/dist/harness/index.js.map +1 -1
  36. package/dist/harness/prompts.js +1 -1
  37. package/dist/harness/prompts.js.map +1 -1
  38. package/dist/harness/result-types.d.ts +1 -1
  39. package/dist/harness/runtime.d.ts +1 -1
  40. package/dist/harness/runtime.js +4 -4
  41. package/dist/harness/runtime.js.map +1 -1
  42. package/dist/harness/types-public.d.ts +8 -1
  43. package/dist/harness/types-public.js +64 -61
  44. package/dist/harness/types-public.js.map +1 -1
  45. package/dist/harness/validator-trace-sink.d.ts +1 -1
  46. package/dist/index.d.ts +2 -2
  47. package/dist/index.js +217 -34
  48. package/dist/index.js.map +1 -1
  49. package/dist/patch.d.ts +1 -1
  50. package/dist/{types-public-DVSssdc-.d.ts → types-public-DKR_h70H.d.ts} +9 -0
  51. package/dist/validation/index.d.ts +1 -1
  52. package/dist/validation/index.js +1 -1
  53. package/dist/validation/index.js.map +1 -1
  54. package/dist/workflows.d.ts +1 -1
  55. package/package.json +12 -12
  56. package/src/adapters/google/sdk.ts +11 -7
  57. package/src/adapters/openai/raw.ts +11 -5
  58. package/src/adapters/openai/sdk.ts +8 -5
  59. package/src/adapters/openai/tokens.ts +49 -0
  60. package/src/adapters/types.ts +1 -1
  61. package/src/boilerplate/hard-sections.ts +1 -1
  62. package/src/boilerplate/system-prompt.ts +1 -1
  63. package/src/coding-agent/tools.ts +58 -6
  64. package/src/contract-context.ts +1 -1
  65. package/src/create-harness.ts +1 -0
  66. package/src/evaluation/axis-checks/checks/universal.ts +207 -1
  67. package/src/evaluation/axis-checks/dispatch.ts +8 -1
  68. package/src/evaluation/types-public.ts +9 -0
  69. package/src/harness/check/runtime-render/render-check.ts +15 -0
  70. package/src/harness/coding/generate-task-runner.ts +1 -0
  71. package/src/harness/coding/run-coding-turn.ts +14 -0
  72. package/src/harness/types-public.ts +7 -0
  73. package/src/run-check.ts +2 -0
  74. package/src/tools/get-wire.ts +1 -1
  75. package/src/validation/primitives.ts +1 -1
@@ -62,7 +62,7 @@ interface AdapterResult {
62
62
  subagentsUsed?: string[];
63
63
  /** Tokens written to prompt cache (Claude-specific) */
64
64
  cacheCreationTokens?: number;
65
- /** Tokens read from prompt cache (Claude-specific) */
65
+ /** Tokens read from prompt cache (Claude / OpenRouter / OpenAI). */
66
66
  cacheReadTokens?: number;
67
67
  /** SDK session ID for evaluation loop resume (Claude SDK-specific) */
68
68
  sdkSessionId?: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/adapters/types.ts"],"names":[],"mappings":";AAcO,IAAM,sBAAA,GAAuD;AAAA,EAClE,MAAA,EAAQ,kBAAA;AAAA,EACR,MAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAQ,eAAA;AAAA,EACR,UAAA,EAAY;AACd","file":"types.js","sourcesContent":["// packages/ui-gen/src/adapters/types.ts\n//\n// Production adapter types — used by both Lambda generation and benchmarks.\n\nimport type { z } from 'zod';\nimport type { JsonObject } from '@ggui-ai/protocol';\n\n// =============================================================================\n// Provider & Mode\n// =============================================================================\n\nexport type ProviderName = 'claude' | 'openai' | 'google' | 'openrouter';\nexport type AdapterMode = 'raw' | 'sdk' | 'multi-agent';\n\nexport const PROVIDER_DISPLAY_NAMES: Record<ProviderName, string> = {\n claude: 'Anthropic Claude',\n openai: 'OpenAI',\n google: 'Google Gemini',\n openrouter: 'OpenRouter',\n};\n\n// =============================================================================\n// Tool Definition (SDK-agnostic)\n// =============================================================================\n\nexport interface ToolResultContent {\n type: 'text';\n text: string;\n}\n\nexport interface ToolResult {\n content: ToolResultContent[];\n isError?: boolean;\n}\n\n/**\n * SDK-agnostic tool definition.\n * Each adapter converts these to its native tool format.\n */\nexport interface ToolDefinition {\n /** Tool name (e.g., 'compile_component') */\n name: string;\n /** Tool description for the LLM */\n description: string;\n /** Zod schema for input parameters (always an object schema — tools take named args) */\n inputSchema: z.ZodObject<z.ZodRawShape>;\n /** Handler function — same signature regardless of SDK */\n handler: (args: JsonObject) => Promise<ToolResult>;\n}\n\n// =============================================================================\n// Adapter Result\n// =============================================================================\n\n/**\n * Result returned by any adapter's generate() method.\n *\n * Core fields are populated by all adapters. Extended fields are\n * populated by adapters that support richer output (e.g., Claude SDK).\n */\nexport interface AdapterResult {\n /** Final compiled JavaScript component code */\n compiledCode: string;\n /** TSX source code (captured from compile_component input) */\n sourceCode?: string;\n /** Token usage breakdown */\n tokens: {\n input: number;\n output: number;\n total: number;\n };\n /** Wall-clock generation time in ms */\n generationTimeMs: number;\n /** Total number of LLM API calls across all phases */\n turnsUsed: number;\n /** Number of harness iterations (Plan→Code→Evaluate→Regen cycles). 1 = single pass. */\n iterations?: number;\n /** Raw cost from SDK if available */\n rawCostUsd?: number;\n\n // ── Extended fields (production use) ───────────────────────────────\n\n /** Data spec for ggui_emit — describes what data the component accepts */\n stream?: JsonObject;\n /** LLM-generated metadata annotation for blueprint indexing */\n generatorMeta?: { category: string; description: string };\n /** Names of subagents invoked during generation */\n subagentsUsed?: string[];\n /** Tokens written to prompt cache (Claude-specific) */\n cacheCreationTokens?: number;\n /** Tokens read from prompt cache (Claude-specific) */\n cacheReadTokens?: number;\n /** SDK session ID for evaluation loop resume (Claude SDK-specific) */\n sdkSessionId?: string;\n}\n"]}
1
+ {"version":3,"sources":["../../src/adapters/types.ts"],"names":[],"mappings":";AAcO,IAAM,sBAAA,GAAuD;AAAA,EAClE,MAAA,EAAQ,kBAAA;AAAA,EACR,MAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAQ,eAAA;AAAA,EACR,UAAA,EAAY;AACd","file":"types.js","sourcesContent":["// packages/ui-gen/src/adapters/types.ts\n//\n// Production adapter types — used by both Lambda generation and benchmarks.\n\nimport type { z } from 'zod';\nimport type { JsonObject } from '@ggui-ai/protocol';\n\n// =============================================================================\n// Provider & Mode\n// =============================================================================\n\nexport type ProviderName = 'claude' | 'openai' | 'google' | 'openrouter';\nexport type AdapterMode = 'raw' | 'sdk' | 'multi-agent';\n\nexport const PROVIDER_DISPLAY_NAMES: Record<ProviderName, string> = {\n claude: 'Anthropic Claude',\n openai: 'OpenAI',\n google: 'Google Gemini',\n openrouter: 'OpenRouter',\n};\n\n// =============================================================================\n// Tool Definition (SDK-agnostic)\n// =============================================================================\n\nexport interface ToolResultContent {\n type: 'text';\n text: string;\n}\n\nexport interface ToolResult {\n content: ToolResultContent[];\n isError?: boolean;\n}\n\n/**\n * SDK-agnostic tool definition.\n * Each adapter converts these to its native tool format.\n */\nexport interface ToolDefinition {\n /** Tool name (e.g., 'compile_component') */\n name: string;\n /** Tool description for the LLM */\n description: string;\n /** Zod schema for input parameters (always an object schema — tools take named args) */\n inputSchema: z.ZodObject<z.ZodRawShape>;\n /** Handler function — same signature regardless of SDK */\n handler: (args: JsonObject) => Promise<ToolResult>;\n}\n\n// =============================================================================\n// Adapter Result\n// =============================================================================\n\n/**\n * Result returned by any adapter's generate() method.\n *\n * Core fields are populated by all adapters. Extended fields are\n * populated by adapters that support richer output (e.g., Claude SDK).\n */\nexport interface AdapterResult {\n /** Final compiled JavaScript component code */\n compiledCode: string;\n /** TSX source code (captured from compile_component input) */\n sourceCode?: string;\n /** Token usage breakdown */\n tokens: {\n input: number;\n output: number;\n total: number;\n };\n /** Wall-clock generation time in ms */\n generationTimeMs: number;\n /** Total number of LLM API calls across all phases */\n turnsUsed: number;\n /** Number of harness iterations (Plan→Code→Evaluate→Regen cycles). 1 = single pass. */\n iterations?: number;\n /** Raw cost from SDK if available */\n rawCostUsd?: number;\n\n // ── Extended fields (production use) ───────────────────────────────\n\n /** Data spec for ggui_emit — describes what data the component accepts */\n stream?: JsonObject;\n /** LLM-generated metadata annotation for blueprint indexing */\n generatorMeta?: { category: string; description: string };\n /** Names of subagents invoked during generation */\n subagentsUsed?: string[];\n /** Tokens written to prompt cache (Claude-specific) */\n cacheCreationTokens?: number;\n /** Tokens read from prompt cache (Claude / OpenRouter / OpenAI). */\n cacheReadTokens?: number;\n /** SDK session ID for evaluation loop resume (Claude SDK-specific) */\n sdkSessionId?: string;\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { GeneratorTier, UiGenerator } from '@ggui-ai/mcp-server-core';
2
2
  import { ModelRef, JsonObject } from '@ggui-ai/protocol';
3
3
  import { BehaviorFailure, PlaywrightModule } from '@ggui-ai/ui-visual-tester';
4
- import { C as CreateUiGeneratorOptions } from '../create-ui-generator-C8Ki9Wz1.js';
4
+ import { C as CreateUiGeneratorOptions } from '../create-ui-generator-CxPvudbs.js';
5
5
  import { R as RenderCheckIssue } from '../render-check-WfOVO9kU.js';
6
6
  import '../harness/runtime.js';
7
7
  import '../styling-profile-CxfvV48g.js';
8
- import '../types-public-DVSssdc-.js';
8
+ import '../types-public-DKR_h70H.js';
9
9
  import '../design-mode-DLufhrNp.js';
10
10
  import '../axes-CzLEMDeB.js';
11
11
  import '../types-BOvHNG7K.js';