@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.
- package/README.md +2 -2
- package/dist/{adapter-Cg_rkpGq.d.ts → adapter-BJwn74rx.d.ts} +49 -1
- package/dist/adapters/generation-dispatch.d.ts +8 -5
- package/dist/adapters/generation-dispatch.js +1118 -193
- package/dist/adapters/generation-dispatch.js.map +1 -1
- package/dist/adapters/index.js +27 -6
- package/dist/adapters/index.js.map +1 -1
- package/dist/advanced/index.d.ts +10 -9
- package/dist/advanced/index.js +1126 -202
- package/dist/advanced/index.js.map +1 -1
- package/dist/blueprint-validator.js +416 -92
- package/dist/blueprint-validator.js.map +1 -1
- package/dist/boilerplate.d.ts +2 -2
- package/dist/boilerplate.js +10 -3
- package/dist/boilerplate.js.map +1 -1
- package/dist/check/index.d.ts +3 -2
- package/dist/check/index.js +9 -2
- package/dist/check/index.js.map +1 -1
- package/dist/{create-ui-generator-DFnnArrv.d.ts → create-ui-generator-N4gRXpcL.d.ts} +3 -4
- package/dist/{design-mode-DLufhrNp.d.ts → design-mode-DGWN_Gkm.d.ts} +1 -1
- package/dist/{dispatch-CStl9eAw.d.ts → dispatch-BUoXRj_r.d.ts} +2 -2
- package/dist/evaluation/axis-checks/index.d.ts +5 -4
- package/dist/evaluation/axis-checks/index.js.map +1 -1
- package/dist/evaluation/axis-checks/registry.d.ts +4 -3
- package/dist/evaluation/index.d.ts +107 -539
- package/dist/evaluation/index.js +552 -55
- package/dist/evaluation/index.js.map +1 -1
- package/dist/evaluation/types.d.ts +17 -0
- package/dist/evaluation/types.js.map +1 -1
- package/dist/{generate-9IeNT4ZY.d.ts → generate-tSO_shQ0.d.ts} +1 -1
- package/dist/harness/check/runtime-render/index.d.ts +5 -5
- package/dist/harness/check/runtime-render/index.js +416 -92
- package/dist/harness/check/runtime-render/index.js.map +1 -1
- package/dist/harness/check/runtime-render/render-check-worker.js +393 -88
- package/dist/harness/check/runtime-render/render-check-worker.js.map +1 -1
- package/dist/harness/index.d.ts +4 -5
- package/dist/harness/index.js +36 -5
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/prompts.d.ts +2 -2
- package/dist/harness/prompts.js +10 -1
- package/dist/harness/prompts.js.map +1 -1
- package/dist/harness/result-types.d.ts +17 -3
- package/dist/harness/result-types.js.map +1 -1
- package/dist/harness/runtime.d.ts +14 -6
- package/dist/harness/runtime.js +11 -4
- package/dist/harness/runtime.js.map +1 -1
- package/dist/harness/types-public.d.ts +4 -2
- package/dist/harness/types-public.js +10 -3
- package/dist/harness/types-public.js.map +1 -1
- package/dist/harness/validator-trace-sink.d.ts +4 -3
- package/dist/index.d.ts +46 -11
- package/dist/index.js +1128 -200
- package/dist/index.js.map +1 -1
- package/dist/patch.d.ts +3 -3
- package/dist/{prompts-YU9piOgs.d.ts → prompts-BhNUuRoZ.d.ts} +1 -1
- package/dist/tools/render-check-worker.js +8 -1
- package/dist/tools/render-check-worker.js.map +1 -1
- package/dist/{types-public-BJTLpzWn.d.ts → types-public-B7wn4ce5.d.ts} +384 -3
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.js +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/visual-evaluator-C9L-o6ap.d.ts +639 -0
- package/dist/workflows.d.ts +3 -3
- package/package.json +12 -12
- package/src/adapters/generation-dispatch.ts +2 -0
- package/src/boilerplate/free-design-prompt.ts +3 -3
- package/src/boilerplate/hard-sections.ts +1 -1
- package/src/boilerplate/templates/layouts/chat-mobile.tsx.tmpl +3 -1
- package/src/boilerplate/templates/layouts/chat-universal.tsx.tmpl +3 -1
- package/src/boilerplate/templates/layouts/fullscreen-desktop.tsx.tmpl +3 -1
- package/src/boilerplate/templates/layouts/fullscreen-universal.tsx.tmpl +3 -1
- package/src/check/run-tier0.ts +6 -3
- package/src/contract-context.ts +1 -1
- package/src/evaluation/cost-tracker.ts +54 -6
- package/src/evaluation/criteria/edge-probe.ts +286 -0
- package/src/evaluation/criteria/edge.ts +202 -0
- package/src/evaluation/criteria/resolve.ts +55 -7
- package/src/evaluation/index.ts +5 -1
- package/src/evaluation/judge-spend.ts +48 -0
- package/src/evaluation/types-public.ts +91 -0
- package/src/evaluation/types.ts +10 -0
- package/src/evaluation/visual-evaluator.ts +236 -40
- package/src/harness/check/runtime-render/adapter.ts +18 -0
- package/src/harness/check/runtime-render/probe-pending.ts +111 -0
- package/src/harness/check/runtime-render/render-check-host.ts +10 -6
- package/src/harness/check/runtime-render/render-check-worker.ts +6 -3
- package/src/harness/check/runtime-render/render-check.ts +417 -133
- package/src/harness/check/runtime-render/walk.ts +200 -0
- package/src/harness/coding/assemble-result.ts +2 -0
- package/src/harness/coding/generate-task-runner.ts +27 -0
- package/src/harness/coding/init-session.ts +5 -3
- package/src/harness/coding/run-coding-turn.ts +5 -1
- package/src/harness/coding/run-eval-round.ts +63 -3
- package/src/harness/in-loop-evaluation.ts +39 -0
- package/src/harness/llm-router.ts +58 -1
- package/src/harness/result-types.ts +9 -0
- package/src/harness/runtime.ts +9 -0
- package/src/harness/types-public.ts +10 -1
- package/src/index.ts +5 -0
- package/src/internal/verdict-line.ts +33 -0
- package/src/taught-tokens.ts +32 -0
- package/src/tools/render-check-worker.ts +2 -1
- package/src/tools/render-check.ts +8 -7
- package/src/validation/primitives.ts +1 -1
- package/dist/llm-router-nfO7wPec.d.ts +0 -267
- package/dist/{bank-CT4eEkta.d.ts → bank-Ctdp3FUA.d.ts} +3 -3
package/dist/harness/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Harness } from './types-public.js';
|
|
2
2
|
export { CheckLeg, CheckResult, CreateHarnessInput, DefaultTaskRunner, HarnessConstructionContext, HarnessId, HarnessMeta, HarnessName, HarnessOverrides, HarnessRevision, HowLeg, IterationRecord, LLMEvaluator, PatchFn, Phase, PhaseRunResult, PlannerDecision, PlannerFn, ProcessLeg, PromptBuilder, RetryPolicy, RunCheckInput, RunHarnessInput, RunHarnessReason, RunHarnessResult, RunWorkflowInput, Task, TaskContext, TaskRunner, TierCheck, WhatLeg, Workflow, WorkflowRunResult, createHarness, runCheck, runHarness, runWorkflow } from './types-public.js';
|
|
3
3
|
export { applyLineRanges, defaultApplyPatch } from '../patch.js';
|
|
4
|
-
export {
|
|
4
|
+
export { b as AgentConfig, L as LLMResponse, P as ProviderRetryInfo, c as callLLM, d as createAgent } from '../types-public-B7wn4ce5.js';
|
|
5
5
|
export { WORKFLOWS, WorkflowId, pickWorkflow } from '../workflows.js';
|
|
6
6
|
export { LlmTraceEvent, LlmTraceKind, LlmTraceProvider, LlmTraceSink, getLlmTraceSink, setLlmTraceSink } from './llm-trace-sink.js';
|
|
7
7
|
export { ValidatorTraceEvent, ValidatorTraceSink, getValidatorTraceSink, setValidatorTraceSink } from './validator-trace-sink.js';
|
|
@@ -10,11 +10,10 @@ export { computeHarnessId, computeHarnessName, hashClassification } from '../has
|
|
|
10
10
|
import '@ggui-ai/protocol';
|
|
11
11
|
import '../styling-profile-CxfvV48g.js';
|
|
12
12
|
import '../axes-CKVCzR_x.js';
|
|
13
|
-
import '../types-public-BJTLpzWn.js';
|
|
14
|
-
import '@ggui-ai/mcp-server-core';
|
|
15
|
-
import '../design-mode-DLufhrNp.js';
|
|
16
|
-
import '../types-Dh1s4K9j.js';
|
|
17
13
|
import '../llm.js';
|
|
14
|
+
import '../types-Dh1s4K9j.js';
|
|
15
|
+
import '../design-mode-DGWN_Gkm.js';
|
|
16
|
+
import '@ggui-ai/mcp-server-core';
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
19
|
* Fingerprint a materialized Harness. `h.id` is already a deterministic
|
package/dist/harness/index.js
CHANGED
|
@@ -1650,6 +1650,13 @@ ${body}
|
|
|
1650
1650
|
AXIS_SECTIONS: composedSections ?? ""
|
|
1651
1651
|
}, designMode);
|
|
1652
1652
|
}
|
|
1653
|
+
var NOT_YET_TAUGHT_TOKENS = /* @__PURE__ */ new Set([
|
|
1654
|
+
"--ggui-color-controlAccentOutline",
|
|
1655
|
+
"--ggui-color-controlOutline"
|
|
1656
|
+
]);
|
|
1657
|
+
var taughtTokenManifest = consumedTokenManifest.filter(
|
|
1658
|
+
(token) => !NOT_YET_TAUGHT_TOKENS.has(token)
|
|
1659
|
+
);
|
|
1653
1660
|
|
|
1654
1661
|
// src/boilerplate/hard-sections.ts
|
|
1655
1662
|
var PROTOCOL_NOTES = `## Protocol Notes
|
|
@@ -1859,7 +1866,7 @@ The width works the same way, and the mistake is the mirror image: **your outerm
|
|
|
1859
1866
|
|
|
1860
1867
|
- 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.
|
|
1861
1868
|
- 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.
|
|
1862
|
-
- Centre that inner column with the container's own centring, not by shrinking the root.
|
|
1869
|
+
- 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.
|
|
1863
1870
|
- **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.`;
|
|
1864
1871
|
var COMPONENT_STRUCTURE = `## Component Structure
|
|
1865
1872
|
|
|
@@ -1936,7 +1943,7 @@ function colorVocabularyFromManifest(manifest) {
|
|
|
1936
1943
|
function renderRamp(r) {
|
|
1937
1944
|
return `\`${r.family}-${r.steps.join("/")}\`${r.bare ? ` (plus bare \`${r.family}\`)` : ""}`;
|
|
1938
1945
|
}
|
|
1939
|
-
function renderFreeColorRule(manifest =
|
|
1946
|
+
function renderFreeColorRule(manifest = taughtTokenManifest) {
|
|
1940
1947
|
const { ramps, roles } = colorVocabularyFromManifest(manifest);
|
|
1941
1948
|
const brand = ramps.filter((r) => r.family === "primary" || r.family === "neutral");
|
|
1942
1949
|
const state = ramps.filter((r) => r.family !== "primary" && r.family !== "neutral");
|
|
@@ -2026,7 +2033,7 @@ var TOKEN_GROUPS = [
|
|
|
2026
2033
|
{ label: "Radius (optional)", prefixes: ["--ggui-shape-radius-"], note: "" },
|
|
2027
2034
|
{ label: "Shadow (optional)", prefixes: ["--ggui-shape-shadow-"], note: "" }
|
|
2028
2035
|
];
|
|
2029
|
-
function renderTokenVocabulary(manifest =
|
|
2036
|
+
function renderTokenVocabulary(manifest = taughtTokenManifest) {
|
|
2030
2037
|
const sorted = [...manifest].sort();
|
|
2031
2038
|
const claimed = /* @__PURE__ */ new Set();
|
|
2032
2039
|
const lines = [
|
|
@@ -3649,6 +3656,26 @@ async function collectLoginTurn(stream, opts) {
|
|
|
3649
3656
|
}
|
|
3650
3657
|
|
|
3651
3658
|
// src/harness/llm-router.ts
|
|
3659
|
+
function servedModelOf(name) {
|
|
3660
|
+
return typeof name === "string" && name.length > 0 ? { servedModel: name } : {};
|
|
3661
|
+
}
|
|
3662
|
+
function anthropicFinishReason(stopReason) {
|
|
3663
|
+
if (stopReason === null || stopReason === void 0) return void 0;
|
|
3664
|
+
if (stopReason === "end_turn" || stopReason === "stop_sequence") return "stop";
|
|
3665
|
+
if (stopReason === "max_tokens") return "length";
|
|
3666
|
+
if (stopReason === "refusal") return "content-filter";
|
|
3667
|
+
return "other";
|
|
3668
|
+
}
|
|
3669
|
+
function googleFinishReason(finishReason) {
|
|
3670
|
+
if (finishReason === null || finishReason === void 0) return void 0;
|
|
3671
|
+
if (finishReason === "STOP") return "stop";
|
|
3672
|
+
if (finishReason === "MAX_TOKENS") return "length";
|
|
3673
|
+
if (["SAFETY", "RECITATION", "BLOCKLIST", "PROHIBITED_CONTENT", "SPII", "IMAGE_SAFETY"].includes(finishReason)) return "content-filter";
|
|
3674
|
+
return "other";
|
|
3675
|
+
}
|
|
3676
|
+
function visionFinish(finishReason) {
|
|
3677
|
+
return finishReason !== void 0 ? { finishReason } : {};
|
|
3678
|
+
}
|
|
3652
3679
|
function addStrictSchemaConstraints(schema) {
|
|
3653
3680
|
const result = { ...schema };
|
|
3654
3681
|
if (result.type === "object" && result.properties) {
|
|
@@ -3999,7 +4026,9 @@ var AnthropicAgent = class extends LLMAgent {
|
|
|
3999
4026
|
return {
|
|
4000
4027
|
text,
|
|
4001
4028
|
inputTokens: response.usage.input_tokens,
|
|
4002
|
-
outputTokens: response.usage.output_tokens
|
|
4029
|
+
outputTokens: response.usage.output_tokens,
|
|
4030
|
+
...visionFinish(anthropicFinishReason(response.stop_reason)),
|
|
4031
|
+
...servedModelOf(response.model)
|
|
4003
4032
|
};
|
|
4004
4033
|
} catch (e) {
|
|
4005
4034
|
const endedAt = Date.now();
|
|
@@ -4670,7 +4699,9 @@ var GoogleAgent = class extends LLMAgent {
|
|
|
4670
4699
|
text,
|
|
4671
4700
|
// ggui#1186 (third site): `promptTokenCount` includes `cachedContentTokenCount` — report the non-cached input.
|
|
4672
4701
|
inputTokens: splitCacheInclusiveUsage(usage?.promptTokenCount ?? 0, usage?.candidatesTokenCount ?? 0, usage?.cachedContentTokenCount ?? 0).tokens.input,
|
|
4673
|
-
outputTokens: usage?.candidatesTokenCount ?? 0
|
|
4702
|
+
outputTokens: usage?.candidatesTokenCount ?? 0,
|
|
4703
|
+
...visionFinish(googleFinishReason(response.candidates?.[0]?.finishReason)),
|
|
4704
|
+
...servedModelOf(response.modelVersion)
|
|
4674
4705
|
};
|
|
4675
4706
|
const endedAt = Date.now();
|
|
4676
4707
|
emitLlmTraceEvent({
|