@ggui-ai/ui-gen 0.21.0 → 0.23.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 (87) hide show
  1. package/dist/adapters/generation-dispatch.d.ts +1 -1
  2. package/dist/adapters/generation-dispatch.js +253 -76
  3. package/dist/adapters/generation-dispatch.js.map +1 -1
  4. package/dist/adapters/index.js +36 -11
  5. package/dist/adapters/index.js.map +1 -1
  6. package/dist/advanced/index.d.ts +3 -3
  7. package/dist/advanced/index.js +447 -76
  8. package/dist/advanced/index.js.map +1 -1
  9. package/dist/blueprint-validator.js +37 -7
  10. package/dist/blueprint-validator.js.map +1 -1
  11. package/dist/boilerplate.js +1 -0
  12. package/dist/boilerplate.js.map +1 -1
  13. package/dist/check/index.d.ts +1 -1
  14. package/dist/check/index.js.map +1 -1
  15. package/dist/{create-ui-generator-D7kOXNjJ.d.ts → create-ui-generator-D0kbWwln.d.ts} +1 -1
  16. package/dist/{dispatch-DGvhmARp.d.ts → dispatch-wxaIMwZt.d.ts} +1 -1
  17. package/dist/evaluation/axis-checks/index.d.ts +3 -3
  18. package/dist/evaluation/axis-checks/index.js +19 -4
  19. package/dist/evaluation/axis-checks/index.js.map +1 -1
  20. package/dist/evaluation/axis-checks/registry.d.ts +1 -1
  21. package/dist/evaluation/axis-checks/registry.js +19 -4
  22. package/dist/evaluation/axis-checks/registry.js.map +1 -1
  23. package/dist/evaluation/index.d.ts +3 -3
  24. package/dist/evaluation/index.js +58 -26
  25. package/dist/evaluation/index.js.map +1 -1
  26. package/dist/harness/check/runtime-render/index.d.ts +4 -4
  27. package/dist/harness/check/runtime-render/index.js +26 -6
  28. package/dist/harness/check/runtime-render/index.js.map +1 -1
  29. package/dist/harness/check/runtime-render/render-check-worker.js.map +1 -1
  30. package/dist/harness/index.d.ts +1 -1
  31. package/dist/harness/index.js +37 -11
  32. package/dist/harness/index.js.map +1 -1
  33. package/dist/harness/prompts.js +1 -1
  34. package/dist/harness/prompts.js.map +1 -1
  35. package/dist/harness/result-types.d.ts +15 -2
  36. package/dist/harness/result-types.js.map +1 -1
  37. package/dist/harness/runtime.d.ts +1 -1
  38. package/dist/harness/runtime.js +2 -1
  39. package/dist/harness/runtime.js.map +1 -1
  40. package/dist/harness/types-public.d.ts +9 -5
  41. package/dist/harness/types-public.js +1 -0
  42. package/dist/harness/types-public.js.map +1 -1
  43. package/dist/harness/validator-trace-sink.d.ts +1 -1
  44. package/dist/index.d.ts +22 -6
  45. package/dist/index.js +436 -75
  46. package/dist/index.js.map +1 -1
  47. package/dist/patch.d.ts +1 -1
  48. package/dist/{render-check-C0CqVceF.d.ts → render-check-Blwj8gB6.d.ts} +18 -0
  49. package/dist/tools/get-primitives-ts.d.ts +1 -1
  50. package/dist/tools/get-primitives-ts.js +1 -1
  51. package/dist/tools/get-primitives-ts.js.map +1 -1
  52. package/dist/{types-public-CzYqZclY.d.ts → types-public-Ow-tNtFE.d.ts} +41 -3
  53. package/dist/validation/index.d.ts +1 -1
  54. package/dist/validation/index.js +1 -1
  55. package/dist/validation/index.js.map +1 -1
  56. package/dist/workflows.d.ts +1 -1
  57. package/package.json +12 -12
  58. package/src/adapters/claude/claude-code-login.ts +62 -7
  59. package/src/adapters/claude/sdk.ts +6 -5
  60. package/src/advanced/generator.ts +16 -1
  61. package/src/blueprint-validator.ts +21 -6
  62. package/src/boilerplate/hard-sections.ts +1 -0
  63. package/src/boilerplate/templates/layouts/chat-mobile.tsx.tmpl +7 -3
  64. package/src/boilerplate/templates/layouts/chat-universal.tsx.tmpl +7 -3
  65. package/src/coding-agent/tools.ts +6 -1
  66. package/src/contract-context.ts +1 -1
  67. package/src/create-ui-generator.ts +30 -0
  68. package/src/evaluation/axis-checks/checks/state-payload.ts +29 -4
  69. package/src/evaluation/index.ts +1 -0
  70. package/src/evaluation/llm-evaluator.ts +40 -13
  71. package/src/evaluation/types-public.ts +42 -2
  72. package/src/evaluation/visual-evaluator.ts +9 -6
  73. package/src/generator-build.ts +158 -0
  74. package/src/harness/check/runtime-render/adapter.ts +19 -0
  75. package/src/harness/check/runtime-render/render-check-host.ts +31 -9
  76. package/src/harness/check/runtime-render/render-check.ts +19 -0
  77. package/src/harness/claude-code-login-query.ts +5 -4
  78. package/src/harness/coding/assemble-result.ts +8 -1
  79. package/src/harness/coding/generate-task-runner.ts +75 -36
  80. package/src/harness/coding/run-coding-turn.ts +9 -0
  81. package/src/harness/coding/run-eval-round.ts +162 -5
  82. package/src/harness/llm-router.ts +3 -3
  83. package/src/harness/result-types.ts +14 -0
  84. package/src/harness/types-public.ts +9 -5
  85. package/src/index.ts +2 -1
  86. package/src/tools/get-primitives-ts.ts +1 -1
  87. package/src/validation/primitives.ts +1 -1
@@ -10,7 +10,7 @@ export { computeHarnessId, computeHarnessName, hashClassification } from '../has
10
10
  import '@ggui-ai/protocol';
11
11
  import '../styling-profile-CxfvV48g.js';
12
12
  import '../axes-CzLEMDeB.js';
13
- import '../types-public-CzYqZclY.js';
13
+ import '../types-public-Ow-tNtFE.js';
14
14
  import '../design-mode-DLufhrNp.js';
15
15
  import '../types-BOvHNG7K.js';
16
16
  import '../llm.js';
@@ -1838,6 +1838,7 @@ var FRAME_SIZING = `## Sizing \u2014 the frame owns the height and the width
1838
1838
  The host sizes the iframe; the component never sizes itself to the viewport. NEVER write \`100vh\` / \`100dvh\` / \`100svh\` (or an \`h-screen\` / \`min-h-screen\` class) as a height on any element:
1839
1839
  - An inline card takes its natural height. A content-sized frame is measured FROM the content, so a \`100vh\` root can never shrink and grows the frame on every re-measure.
1840
1840
  - Under fullscreen the frame already stretches your root to its full height. Centre inside it with flex (\`display: flex; flex-direction: column; justify-content: center\`), never with a viewport height.
1841
+ - Under fullscreen the frame also keeps a 16 px inset between your content and the panel's edge \u2014 leave it. A \`surface="hero"\` band that OPENS the card runs edge to edge on its own. Any other band that is MEANT to run edge to edge (a full-width strip of rows, a closing action bar) takes \`bleed\` (\`<Box surface="sunken" bleed>\u2026</Box>\`); only such a band should, and \`bleed\` is ignored outside fullscreen.
1841
1842
  - To fill a parent that has a height use \`height: 100%\` or \`flex: 1\`; a viewport unit is only ever a \`max-height\` cap on a scroll region.
1842
1843
 
1843
1844
  The width works the same way, and the mistake is the mirror image: **your outermost element FILLS the frame; a width cap belongs INSIDE it, on the column that holds text.**
@@ -3228,17 +3229,42 @@ function createAnthropicClient(rawKey) {
3228
3229
  }
3229
3230
 
3230
3231
  // src/adapters/claude/claude-code-login.ts
3231
- var PROVIDER_KEY_ENV_NAMES = [
3232
- "ANTHROPIC_API_KEY",
3233
- "CLAUDE_API_KEY",
3234
- "ANTHROPIC_AUTH_TOKEN",
3235
- "ANTHROPIC_BASE_URL"
3232
+ var LOGIN_CHILD_ENV_NAMES = [
3233
+ "PATH",
3234
+ "HOME",
3235
+ "USER",
3236
+ "LOGNAME",
3237
+ "SHELL",
3238
+ "TMPDIR",
3239
+ "TMP",
3240
+ "TEMP",
3241
+ "TERM",
3242
+ "TZ",
3243
+ "LANG",
3244
+ "CLAUDE_CONFIG_DIR",
3245
+ "CLAUDE_CODE_OAUTH_TOKEN",
3246
+ "XDG_CONFIG_HOME",
3247
+ "XDG_DATA_HOME",
3248
+ "XDG_CACHE_HOME",
3249
+ "XDG_STATE_HOME",
3250
+ "XDG_RUNTIME_DIR",
3251
+ "HTTPS_PROXY",
3252
+ "https_proxy",
3253
+ "HTTP_PROXY",
3254
+ "http_proxy",
3255
+ "NO_PROXY",
3256
+ "no_proxy",
3257
+ "ALL_PROXY",
3258
+ "all_proxy",
3259
+ "NODE_EXTRA_CA_CERTS",
3260
+ "SSL_CERT_FILE",
3261
+ "SSL_CERT_DIR"
3236
3262
  ];
3237
- function stripProviderKeyEnv(env) {
3263
+ var LOGIN_CHILD_ENV = new Set(LOGIN_CHILD_ENV_NAMES);
3264
+ function loginChildEnv(env) {
3238
3265
  const out = {};
3239
- const drop = new Set(PROVIDER_KEY_ENV_NAMES);
3240
3266
  for (const [k, v] of Object.entries(env)) {
3241
- if (v !== void 0 && !drop.has(k)) out[k] = v;
3267
+ if (v !== void 0 && (LOGIN_CHILD_ENV.has(k) || k.startsWith("LC_"))) out[k] = v;
3242
3268
  }
3243
3269
  return out;
3244
3270
  }
@@ -3400,7 +3426,7 @@ function buildLoginQueryOptions(params) {
3400
3426
  systemPrompt: params.systemPrompt,
3401
3427
  maxTurns: 1,
3402
3428
  thinking: { type: "disabled" },
3403
- env: stripProviderKeyEnv(params.env ?? process.env),
3429
+ env: loginChildEnv(params.env ?? process.env),
3404
3430
  ...claudeCodeLoginQueryOptions(),
3405
3431
  ...params.tools !== void 0 ? {
3406
3432
  mcpServers: { [MCP_SERVER_NAME]: params.tools.server },
@@ -3997,7 +4023,7 @@ var AnthropicAgent = class extends LLMAgent {
3997
4023
  const appliedToolChoice = toolChoice === "required" && anthropicRejectsForcedToolChoice(resolvedModel) ? "auto" : toolChoice;
3998
4024
  if (appliedToolChoice !== toolChoice) {
3999
4025
  console.warn(
4000
- `[anthropic] callTools: ${normalizeAnthropicModelId(resolvedModel)} rejects forced tool_choice (HTTP 400); caller's 'required' downgraded to 'auto'`
4026
+ `[anthropic] callTools: ${normalizeAnthropicModelId(resolvedModel)} would reject a forced tool_choice (the API answers 400); caller's 'required' downgraded to 'auto' before sending`
4001
4027
  );
4002
4028
  }
4003
4029
  const response = await this.apiCall(
@@ -4909,7 +4935,7 @@ var OpenRouterAgent = class extends LLMAgent {
4909
4935
  const appliedToolChoice = requested === "required" && anthropicRejectsForcedToolChoice(resolved) ? "auto" : requested;
4910
4936
  if (appliedToolChoice !== requested) {
4911
4937
  console.warn(
4912
- `[openrouter] callTools: ${resolved} rejects forced tool_choice (HTTP 400); caller's 'required' downgraded to 'auto'`
4938
+ `[openrouter] callTools: ${resolved} would reject a forced tool_choice (the API answers 400); caller's 'required' downgraded to 'auto' before sending`
4913
4939
  );
4914
4940
  }
4915
4941
  const response = await this.apiCall(