rivet-design 0.10.8 → 0.10.9
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/dist/index.d.ts +47 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +277 -123
- package/dist/index.js.map +1 -1
- package/dist/mcp/agent-variants/SessionStore.d.ts +23 -1
- package/dist/mcp/agent-variants/SessionStore.d.ts.map +1 -1
- package/dist/mcp/agent-variants/SessionStore.js +42 -0
- package/dist/mcp/agent-variants/SessionStore.js.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +75 -2
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js +697 -116
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts +7 -2
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js +7 -2
- package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js.map +1 -1
- package/dist/mcp/agent-variants/contracts.d.ts +1163 -233
- package/dist/mcp/agent-variants/contracts.d.ts.map +1 -1
- package/dist/mcp/agent-variants/contracts.js +12 -4
- package/dist/mcp/agent-variants/contracts.js.map +1 -1
- package/dist/mcp/agent-variants/designCritique.d.ts +163 -0
- package/dist/mcp/agent-variants/designCritique.d.ts.map +1 -0
- package/dist/mcp/agent-variants/designCritique.js +710 -0
- package/dist/mcp/agent-variants/designCritique.js.map +1 -0
- package/dist/mcp/agent-variants/diffQa.d.ts +7 -0
- package/dist/mcp/agent-variants/diffQa.d.ts.map +1 -0
- package/dist/mcp/agent-variants/diffQa.js +67 -0
- package/dist/mcp/agent-variants/diffQa.js.map +1 -0
- package/dist/mcp/agent-variants/index.d.ts +2 -2
- package/dist/mcp/agent-variants/index.d.ts.map +1 -1
- package/dist/mcp/agent-variants/index.js +2 -1
- package/dist/mcp/agent-variants/index.js.map +1 -1
- package/dist/mcp/agent-variants/previewQa.d.ts.map +1 -1
- package/dist/mcp/agent-variants/previewQa.js +7 -0
- package/dist/mcp/agent-variants/previewQa.js.map +1 -1
- package/dist/mcp/agent-variants/tools.js +8 -0
- package/dist/mcp/agent-variants/tools.js.map +1 -1
- package/dist/mcp/auth/httpOAuthProvider.d.ts +103 -0
- package/dist/mcp/auth/httpOAuthProvider.d.ts.map +1 -0
- package/dist/mcp/auth/httpOAuthProvider.js +454 -0
- package/dist/mcp/auth/httpOAuthProvider.js.map +1 -0
- package/dist/mcp/auth/tools.d.ts +2 -0
- package/dist/mcp/auth/tools.d.ts.map +1 -1
- package/dist/mcp/auth/tools.js +12 -5
- package/dist/mcp/auth/tools.js.map +1 -1
- package/dist/mcp/httpServer.d.ts +36 -0
- package/dist/mcp/httpServer.d.ts.map +1 -0
- package/dist/mcp/httpServer.js +307 -0
- package/dist/mcp/httpServer.js.map +1 -0
- package/dist/mcp/server.d.ts +17 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +37 -17
- package/dist/mcp/server.js.map +1 -1
- package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
- package/dist/proxy-middleware/proxy-config.js +5 -2
- package/dist/proxy-middleware/proxy-config.js.map +1 -1
- package/dist/routes/agentVariants.d.ts.map +1 -1
- package/dist/routes/agentVariants.js +2 -1
- package/dist/routes/agentVariants.js.map +1 -1
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +2 -1
- package/dist/routes/mcp.js.map +1 -1
- package/dist/server.d.ts +9 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +13 -5
- package/dist/server.js.map +1 -1
- package/dist/services/AuthService.d.ts +1 -0
- package/dist/services/AuthService.d.ts.map +1 -1
- package/dist/services/AuthService.js +11 -1
- package/dist/services/AuthService.js.map +1 -1
- package/dist/services/ConfigManager.d.ts +5 -0
- package/dist/services/ConfigManager.d.ts.map +1 -1
- package/dist/services/ConfigManager.js +25 -3
- package/dist/services/ConfigManager.js.map +1 -1
- package/dist/services/DevServerRuntimeService.d.ts +119 -0
- package/dist/services/DevServerRuntimeService.d.ts.map +1 -0
- package/dist/services/DevServerRuntimeService.js +657 -0
- package/dist/services/DevServerRuntimeService.js.map +1 -0
- package/dist/services/GatewayClient.d.ts +25 -0
- package/dist/services/GatewayClient.d.ts.map +1 -1
- package/dist/services/GatewayClient.js +70 -11
- package/dist/services/GatewayClient.js.map +1 -1
- package/dist/services/RequestAuthContext.d.ts +7 -1
- package/dist/services/RequestAuthContext.d.ts.map +1 -1
- package/dist/services/RequestAuthContext.js +15 -2
- package/dist/services/RequestAuthContext.js.map +1 -1
- package/dist/services/SessionBridgeService.d.ts +1 -0
- package/dist/services/SessionBridgeService.d.ts.map +1 -1
- package/dist/services/SessionBridgeService.js +16 -1
- package/dist/services/SessionBridgeService.js.map +1 -1
- package/dist/services/createAgentVariantsOrchestrator.d.ts.map +1 -1
- package/dist/services/createAgentVariantsOrchestrator.js +7 -0
- package/dist/services/createAgentVariantsOrchestrator.js.map +1 -1
- package/dist/utils/skills/shared-variants-protocol.d.ts.map +1 -1
- package/dist/utils/skills/shared-variants-protocol.js +5 -2
- package/dist/utils/skills/shared-variants-protocol.js.map +1 -1
- package/dist/utils/variantSessionStart.d.ts +3 -0
- package/dist/utils/variantSessionStart.d.ts.map +1 -0
- package/dist/utils/variantSessionStart.js +7 -0
- package/dist/utils/variantSessionStart.js.map +1 -0
- package/package.json +1 -1
- package/src/ui/dist/assets/{main-WqlDU4Ou.js → main-Cwwhwfjq.js} +151 -151
- package/src/ui/dist/assets/{main-auZA25j4.css → main-Do6whVIm.css} +1 -1
- package/src/ui/dist/index.html +2 -2
|
@@ -45,13 +45,6 @@ export interface WorkItem {
|
|
|
45
45
|
*/
|
|
46
46
|
removed?: boolean;
|
|
47
47
|
}
|
|
48
|
-
export declare const projectContextExisting: z.ZodObject<{
|
|
49
|
-
kind: z.ZodLiteral<"existing">;
|
|
50
|
-
}, "strip", z.ZodTypeAny, {
|
|
51
|
-
kind: "existing";
|
|
52
|
-
}, {
|
|
53
|
-
kind: "existing";
|
|
54
|
-
}>;
|
|
55
48
|
export declare const sourceIntentRoleSchema: z.ZodEnum<["design_source", "interaction_reference", "asset_source", "content_reference", "other"]>;
|
|
56
49
|
export declare const sourceIntentConfidenceSchema: z.ZodEnum<["low", "medium", "high"]>;
|
|
57
50
|
/**
|
|
@@ -484,24 +477,14 @@ export type ExecutionMode = z.infer<typeof executionModeSchema>;
|
|
|
484
477
|
export type ExecutionConfidence = z.infer<typeof executionConfidenceSchema>;
|
|
485
478
|
export type AssetPlanEntry = z.infer<typeof assetPlanEntrySchema>;
|
|
486
479
|
export type ExecutionCapabilityPlan = z.infer<typeof executionCapabilityPlanSchema>;
|
|
487
|
-
export declare const
|
|
488
|
-
kind: z.ZodLiteral<"
|
|
489
|
-
/**
|
|
490
|
-
*
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
*
|
|
495
|
-
* generated subprojects, variant history, and create-project manifests.
|
|
496
|
-
* Distinct from `path.dirname(workspacePath)` because subprojects nest
|
|
497
|
-
* inside `.rivet/` — the dirname would resolve to the `.rivet` dir,
|
|
498
|
-
* not the workspace itself. */
|
|
499
|
-
workspaceRoot: z.ZodString;
|
|
500
|
-
framework: z.ZodOptional<z.ZodEnum<["vite", "next", "astro", "remix"]>>;
|
|
501
|
-
assetSourceRoot: z.ZodOptional<z.ZodString>;
|
|
502
|
-
/** Per-variant-slot design context. Slug entries resolve bundled catalog
|
|
503
|
-
* markdown; markdown entries are written directly as `DESIGN.md`. The
|
|
504
|
-
* order matches code-gen variant slot order. */
|
|
480
|
+
export declare const projectContextExisting: z.ZodObject<{
|
|
481
|
+
kind: z.ZodLiteral<"existing">;
|
|
482
|
+
/** Absolute project path requested for this existing-project run. Present
|
|
483
|
+
* when callers target a nested project inside a larger git worktree. */
|
|
484
|
+
projectPath: z.ZodOptional<z.ZodString>;
|
|
485
|
+
/** Optional design context supplied by agents/benchmarks for existing
|
|
486
|
+
* project runs with visual references. Surfaced as DesignMD artifacts and
|
|
487
|
+
* available to QA gates, but does not trigger a source-plan stage. */
|
|
505
488
|
designContext: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
506
489
|
kind: z.ZodLiteral<"slug">;
|
|
507
490
|
slug: z.ZodString;
|
|
@@ -698,58 +681,9 @@ export declare const projectContextFresh: z.ZodObject<{
|
|
|
698
681
|
} | undefined;
|
|
699
682
|
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
700
683
|
}>>;
|
|
701
|
-
/** Agent-supplied execution plan from `report_source_plan`. Drives the
|
|
702
|
-
* generation routing decision at approve() time: `static_preview` keeps
|
|
703
|
-
* the lightweight HTML-only path; `vite_app` provisions a real Vite
|
|
704
|
-
* worktree per variant and copies any large assets from `assetPlan`. */
|
|
705
|
-
executionPlan: z.ZodOptional<z.ZodObject<{
|
|
706
|
-
mode: z.ZodEnum<["static_preview", "vite_app"]>;
|
|
707
|
-
confidence: z.ZodEnum<["low", "medium", "high"]>;
|
|
708
|
-
reason: z.ZodString;
|
|
709
|
-
assetPlan: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
710
|
-
source: z.ZodString;
|
|
711
|
-
destination: z.ZodString;
|
|
712
|
-
referenceAs: z.ZodString;
|
|
713
|
-
}, "strip", z.ZodTypeAny, {
|
|
714
|
-
source: string;
|
|
715
|
-
destination: string;
|
|
716
|
-
referenceAs: string;
|
|
717
|
-
}, {
|
|
718
|
-
source: string;
|
|
719
|
-
destination: string;
|
|
720
|
-
referenceAs: string;
|
|
721
|
-
}>, "many">>;
|
|
722
|
-
runtimeRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
723
|
-
userQuestion: z.ZodOptional<z.ZodString>;
|
|
724
|
-
}, "strip", z.ZodTypeAny, {
|
|
725
|
-
mode: "static_preview" | "vite_app";
|
|
726
|
-
reason: string;
|
|
727
|
-
confidence: "low" | "medium" | "high";
|
|
728
|
-
assetPlan?: {
|
|
729
|
-
source: string;
|
|
730
|
-
destination: string;
|
|
731
|
-
referenceAs: string;
|
|
732
|
-
}[] | undefined;
|
|
733
|
-
runtimeRequirements?: string[] | undefined;
|
|
734
|
-
userQuestion?: string | undefined;
|
|
735
|
-
}, {
|
|
736
|
-
mode: "static_preview" | "vite_app";
|
|
737
|
-
reason: string;
|
|
738
|
-
confidence: "low" | "medium" | "high";
|
|
739
|
-
assetPlan?: {
|
|
740
|
-
source: string;
|
|
741
|
-
destination: string;
|
|
742
|
-
referenceAs: string;
|
|
743
|
-
}[] | undefined;
|
|
744
|
-
runtimeRequirements?: string[] | undefined;
|
|
745
|
-
userQuestion?: string | undefined;
|
|
746
|
-
}>>;
|
|
747
684
|
}, "strip", z.ZodTypeAny, {
|
|
748
|
-
kind: "
|
|
749
|
-
|
|
750
|
-
workspaceRoot: string;
|
|
751
|
-
framework?: "next" | "vite" | "remix" | "astro" | undefined;
|
|
752
|
-
assetSourceRoot?: string | undefined;
|
|
685
|
+
kind: "existing";
|
|
686
|
+
projectPath?: string | undefined;
|
|
753
687
|
designContext?: ({
|
|
754
688
|
slug: string;
|
|
755
689
|
kind: "slug";
|
|
@@ -790,24 +724,9 @@ export declare const projectContextFresh: z.ZodObject<{
|
|
|
790
724
|
} | undefined;
|
|
791
725
|
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
792
726
|
} | undefined;
|
|
793
|
-
executionPlan?: {
|
|
794
|
-
mode: "static_preview" | "vite_app";
|
|
795
|
-
reason: string;
|
|
796
|
-
confidence: "low" | "medium" | "high";
|
|
797
|
-
assetPlan?: {
|
|
798
|
-
source: string;
|
|
799
|
-
destination: string;
|
|
800
|
-
referenceAs: string;
|
|
801
|
-
}[] | undefined;
|
|
802
|
-
runtimeRequirements?: string[] | undefined;
|
|
803
|
-
userQuestion?: string | undefined;
|
|
804
|
-
} | undefined;
|
|
805
727
|
}, {
|
|
806
|
-
kind: "
|
|
807
|
-
|
|
808
|
-
workspaceRoot: string;
|
|
809
|
-
framework?: "next" | "vite" | "remix" | "astro" | undefined;
|
|
810
|
-
assetSourceRoot?: string | undefined;
|
|
728
|
+
kind: "existing";
|
|
729
|
+
projectPath?: string | undefined;
|
|
811
730
|
designContext?: ({
|
|
812
731
|
slug: string;
|
|
813
732
|
kind: "slug";
|
|
@@ -848,26 +767,8 @@ export declare const projectContextFresh: z.ZodObject<{
|
|
|
848
767
|
} | undefined;
|
|
849
768
|
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
850
769
|
} | undefined;
|
|
851
|
-
executionPlan?: {
|
|
852
|
-
mode: "static_preview" | "vite_app";
|
|
853
|
-
reason: string;
|
|
854
|
-
confidence: "low" | "medium" | "high";
|
|
855
|
-
assetPlan?: {
|
|
856
|
-
source: string;
|
|
857
|
-
destination: string;
|
|
858
|
-
referenceAs: string;
|
|
859
|
-
}[] | undefined;
|
|
860
|
-
runtimeRequirements?: string[] | undefined;
|
|
861
|
-
userQuestion?: string | undefined;
|
|
862
|
-
} | undefined;
|
|
863
770
|
}>;
|
|
864
|
-
export declare const
|
|
865
|
-
kind: z.ZodLiteral<"existing">;
|
|
866
|
-
}, "strip", z.ZodTypeAny, {
|
|
867
|
-
kind: "existing";
|
|
868
|
-
}, {
|
|
869
|
-
kind: "existing";
|
|
870
|
-
}>, z.ZodObject<{
|
|
771
|
+
export declare const projectContextFresh: z.ZodObject<{
|
|
871
772
|
kind: z.ZodLiteral<"fresh">;
|
|
872
773
|
/** Where the generated subproject's files live (e.g.
|
|
873
774
|
* `fable-eng-demo/.rivet/marketing-clone/`). This is the materialize
|
|
@@ -1132,7 +1033,6 @@ export declare const projectContextSchema: z.ZodDiscriminatedUnion<"kind", [z.Zo
|
|
|
1132
1033
|
workspacePath: string;
|
|
1133
1034
|
workspaceRoot: string;
|
|
1134
1035
|
framework?: "next" | "vite" | "remix" | "astro" | undefined;
|
|
1135
|
-
assetSourceRoot?: string | undefined;
|
|
1136
1036
|
designContext?: ({
|
|
1137
1037
|
slug: string;
|
|
1138
1038
|
kind: "slug";
|
|
@@ -1173,6 +1073,7 @@ export declare const projectContextSchema: z.ZodDiscriminatedUnion<"kind", [z.Zo
|
|
|
1173
1073
|
} | undefined;
|
|
1174
1074
|
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1175
1075
|
} | undefined;
|
|
1076
|
+
assetSourceRoot?: string | undefined;
|
|
1176
1077
|
executionPlan?: {
|
|
1177
1078
|
mode: "static_preview" | "vite_app";
|
|
1178
1079
|
reason: string;
|
|
@@ -1190,7 +1091,6 @@ export declare const projectContextSchema: z.ZodDiscriminatedUnion<"kind", [z.Zo
|
|
|
1190
1091
|
workspacePath: string;
|
|
1191
1092
|
workspaceRoot: string;
|
|
1192
1093
|
framework?: "next" | "vite" | "remix" | "astro" | undefined;
|
|
1193
|
-
assetSourceRoot?: string | undefined;
|
|
1194
1094
|
designContext?: ({
|
|
1195
1095
|
slug: string;
|
|
1196
1096
|
kind: "slug";
|
|
@@ -1231,6 +1131,7 @@ export declare const projectContextSchema: z.ZodDiscriminatedUnion<"kind", [z.Zo
|
|
|
1231
1131
|
} | undefined;
|
|
1232
1132
|
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1233
1133
|
} | undefined;
|
|
1134
|
+
assetSourceRoot?: string | undefined;
|
|
1234
1135
|
executionPlan?: {
|
|
1235
1136
|
mode: "static_preview" | "vite_app";
|
|
1236
1137
|
reason: string;
|
|
@@ -1243,123 +1144,801 @@ export declare const projectContextSchema: z.ZodDiscriminatedUnion<"kind", [z.Zo
|
|
|
1243
1144
|
runtimeRequirements?: string[] | undefined;
|
|
1244
1145
|
userQuestion?: string | undefined;
|
|
1245
1146
|
} | undefined;
|
|
1246
|
-
}
|
|
1247
|
-
export
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
label: string;
|
|
1260
|
-
};
|
|
1261
|
-
export type VariantPreviewSource = {
|
|
1262
|
-
kind: 'dev_server';
|
|
1263
|
-
port: number;
|
|
1264
|
-
} | {
|
|
1265
|
-
kind: 'static_artifact';
|
|
1266
|
-
url: string;
|
|
1267
|
-
};
|
|
1268
|
-
export type ActiveProjectContext = {
|
|
1269
|
-
kind: 'existing';
|
|
1270
|
-
} | {
|
|
1271
|
-
kind: 'fresh';
|
|
1272
|
-
workspacePath: string;
|
|
1273
|
-
workspaceRoot: string;
|
|
1274
|
-
framework?: 'vite' | 'next' | 'astro' | 'remix';
|
|
1275
|
-
designContext?: Array<{
|
|
1276
|
-
kind: 'slug';
|
|
1147
|
+
}>;
|
|
1148
|
+
export declare const projectContextSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
1149
|
+
kind: z.ZodLiteral<"existing">;
|
|
1150
|
+
/** Absolute project path requested for this existing-project run. Present
|
|
1151
|
+
* when callers target a nested project inside a larger git worktree. */
|
|
1152
|
+
projectPath: z.ZodOptional<z.ZodString>;
|
|
1153
|
+
/** Optional design context supplied by agents/benchmarks for existing
|
|
1154
|
+
* project runs with visual references. Surfaced as DesignMD artifacts and
|
|
1155
|
+
* available to QA gates, but does not trigger a source-plan stage. */
|
|
1156
|
+
designContext: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
1157
|
+
kind: z.ZodLiteral<"slug">;
|
|
1158
|
+
slug: z.ZodString;
|
|
1159
|
+
}, "strip", z.ZodTypeAny, {
|
|
1277
1160
|
slug: string;
|
|
1278
|
-
|
|
1279
|
-
|
|
1161
|
+
kind: "slug";
|
|
1162
|
+
}, {
|
|
1163
|
+
slug: string;
|
|
1164
|
+
kind: "slug";
|
|
1165
|
+
}>, z.ZodObject<{
|
|
1166
|
+
kind: z.ZodLiteral<"markdown">;
|
|
1167
|
+
content: z.ZodString;
|
|
1168
|
+
label: z.ZodString;
|
|
1169
|
+
}, "strip", z.ZodTypeAny, {
|
|
1170
|
+
kind: "markdown";
|
|
1171
|
+
content: string;
|
|
1280
1172
|
label: string;
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
}
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1173
|
+
}, {
|
|
1174
|
+
kind: "markdown";
|
|
1175
|
+
content: string;
|
|
1176
|
+
label: string;
|
|
1177
|
+
}>]>, "many">>;
|
|
1178
|
+
sourceContext: z.ZodOptional<z.ZodObject<{
|
|
1179
|
+
sourceUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1180
|
+
preserveBrand: z.ZodOptional<z.ZodBoolean>;
|
|
1181
|
+
sourceArtifacts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1182
|
+
kind: z.ZodEnum<["urlText", "siteBrief", "visualBrief", "screenshotNotes", "motionBrief"]>;
|
|
1183
|
+
label: z.ZodString;
|
|
1184
|
+
content: z.ZodString;
|
|
1185
|
+
}, "strip", z.ZodTypeAny, {
|
|
1186
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1187
|
+
content: string;
|
|
1188
|
+
label: string;
|
|
1189
|
+
}, {
|
|
1190
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1191
|
+
content: string;
|
|
1192
|
+
label: string;
|
|
1193
|
+
}>, "many">>;
|
|
1194
|
+
artifact: z.ZodOptional<z.ZodObject<{
|
|
1195
|
+
sourceFindings: z.ZodArray<z.ZodString, "many">;
|
|
1196
|
+
sectionInventory: z.ZodArray<z.ZodString, "many">;
|
|
1197
|
+
visualObservations: z.ZodArray<z.ZodString, "many">;
|
|
1198
|
+
sourceRoles: z.ZodArray<z.ZodObject<{
|
|
1199
|
+
url: z.ZodString;
|
|
1200
|
+
role: z.ZodEnum<["primary", "inspiration", "competitor"]>;
|
|
1201
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
1202
|
+
}, "strip", z.ZodTypeAny, {
|
|
1203
|
+
url: string;
|
|
1204
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1205
|
+
rationale?: string | undefined;
|
|
1206
|
+
}, {
|
|
1207
|
+
url: string;
|
|
1208
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1209
|
+
rationale?: string | undefined;
|
|
1210
|
+
}>, "many">;
|
|
1211
|
+
qualityBar: z.ZodArray<z.ZodString, "many">;
|
|
1212
|
+
screenshotReferences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1213
|
+
risks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1214
|
+
}, "strip", z.ZodTypeAny, {
|
|
1215
|
+
sourceFindings: string[];
|
|
1216
|
+
sectionInventory: string[];
|
|
1217
|
+
visualObservations: string[];
|
|
1218
|
+
sourceRoles: {
|
|
1219
|
+
url: string;
|
|
1220
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1221
|
+
rationale?: string | undefined;
|
|
1222
|
+
}[];
|
|
1223
|
+
qualityBar: string[];
|
|
1224
|
+
screenshotReferences?: string[] | undefined;
|
|
1225
|
+
risks?: string[] | undefined;
|
|
1226
|
+
}, {
|
|
1227
|
+
sourceFindings: string[];
|
|
1228
|
+
sectionInventory: string[];
|
|
1229
|
+
visualObservations: string[];
|
|
1230
|
+
sourceRoles: {
|
|
1231
|
+
url: string;
|
|
1232
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1233
|
+
rationale?: string | undefined;
|
|
1234
|
+
}[];
|
|
1235
|
+
qualityBar: string[];
|
|
1236
|
+
screenshotReferences?: string[] | undefined;
|
|
1237
|
+
risks?: string[] | undefined;
|
|
1238
|
+
}>>;
|
|
1239
|
+
sourceIntent: z.ZodOptional<z.ZodObject<{
|
|
1240
|
+
sources: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
1241
|
+
url: z.ZodOptional<z.ZodString>;
|
|
1242
|
+
imageRef: z.ZodOptional<z.ZodString>;
|
|
1243
|
+
role: z.ZodEnum<["design_source", "interaction_reference", "asset_source", "content_reference", "other"]>;
|
|
1244
|
+
confidence: z.ZodEnum<["low", "medium", "high"]>;
|
|
1245
|
+
reason: z.ZodString;
|
|
1246
|
+
}, "strip", z.ZodTypeAny, {
|
|
1247
|
+
reason: string;
|
|
1248
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1249
|
+
confidence: "low" | "medium" | "high";
|
|
1250
|
+
url?: string | undefined;
|
|
1251
|
+
imageRef?: string | undefined;
|
|
1252
|
+
}, {
|
|
1253
|
+
reason: string;
|
|
1254
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1255
|
+
confidence: "low" | "medium" | "high";
|
|
1256
|
+
url?: string | undefined;
|
|
1257
|
+
imageRef?: string | undefined;
|
|
1258
|
+
}>, {
|
|
1259
|
+
reason: string;
|
|
1260
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1261
|
+
confidence: "low" | "medium" | "high";
|
|
1262
|
+
url?: string | undefined;
|
|
1263
|
+
imageRef?: string | undefined;
|
|
1264
|
+
}, {
|
|
1265
|
+
reason: string;
|
|
1266
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1267
|
+
confidence: "low" | "medium" | "high";
|
|
1268
|
+
url?: string | undefined;
|
|
1269
|
+
imageRef?: string | undefined;
|
|
1270
|
+
}>, "many">;
|
|
1271
|
+
}, "strip", z.ZodTypeAny, {
|
|
1272
|
+
sources: {
|
|
1273
|
+
reason: string;
|
|
1274
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1275
|
+
confidence: "low" | "medium" | "high";
|
|
1276
|
+
url?: string | undefined;
|
|
1277
|
+
imageRef?: string | undefined;
|
|
1278
|
+
}[];
|
|
1279
|
+
}, {
|
|
1280
|
+
sources: {
|
|
1281
|
+
reason: string;
|
|
1282
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1283
|
+
confidence: "low" | "medium" | "high";
|
|
1284
|
+
url?: string | undefined;
|
|
1285
|
+
imageRef?: string | undefined;
|
|
1286
|
+
}[];
|
|
1287
|
+
}>>;
|
|
1288
|
+
designDecision: z.ZodOptional<z.ZodEnum<["let_rivet_choose", "go_custom"]>>;
|
|
1289
|
+
}, "strip", z.ZodTypeAny, {
|
|
1290
|
+
sourceUrls?: string[] | undefined;
|
|
1291
|
+
preserveBrand?: boolean | undefined;
|
|
1292
|
+
sourceArtifacts?: {
|
|
1293
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1294
|
+
content: string;
|
|
1295
|
+
label: string;
|
|
1296
|
+
}[] | undefined;
|
|
1297
|
+
artifact?: {
|
|
1298
|
+
sourceFindings: string[];
|
|
1299
|
+
sectionInventory: string[];
|
|
1300
|
+
visualObservations: string[];
|
|
1301
|
+
sourceRoles: {
|
|
1302
|
+
url: string;
|
|
1303
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1304
|
+
rationale?: string | undefined;
|
|
1305
|
+
}[];
|
|
1306
|
+
qualityBar: string[];
|
|
1307
|
+
screenshotReferences?: string[] | undefined;
|
|
1308
|
+
risks?: string[] | undefined;
|
|
1309
|
+
} | undefined;
|
|
1310
|
+
sourceIntent?: {
|
|
1311
|
+
sources: {
|
|
1312
|
+
reason: string;
|
|
1313
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1314
|
+
confidence: "low" | "medium" | "high";
|
|
1315
|
+
url?: string | undefined;
|
|
1316
|
+
imageRef?: string | undefined;
|
|
1317
|
+
}[];
|
|
1318
|
+
} | undefined;
|
|
1319
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1320
|
+
}, {
|
|
1321
|
+
sourceUrls?: string[] | undefined;
|
|
1322
|
+
preserveBrand?: boolean | undefined;
|
|
1323
|
+
sourceArtifacts?: {
|
|
1324
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1325
|
+
content: string;
|
|
1326
|
+
label: string;
|
|
1327
|
+
}[] | undefined;
|
|
1328
|
+
artifact?: {
|
|
1329
|
+
sourceFindings: string[];
|
|
1330
|
+
sectionInventory: string[];
|
|
1331
|
+
visualObservations: string[];
|
|
1332
|
+
sourceRoles: {
|
|
1333
|
+
url: string;
|
|
1334
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1335
|
+
rationale?: string | undefined;
|
|
1336
|
+
}[];
|
|
1337
|
+
qualityBar: string[];
|
|
1338
|
+
screenshotReferences?: string[] | undefined;
|
|
1339
|
+
risks?: string[] | undefined;
|
|
1340
|
+
} | undefined;
|
|
1341
|
+
sourceIntent?: {
|
|
1342
|
+
sources: {
|
|
1343
|
+
reason: string;
|
|
1344
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1345
|
+
confidence: "low" | "medium" | "high";
|
|
1346
|
+
url?: string | undefined;
|
|
1347
|
+
imageRef?: string | undefined;
|
|
1348
|
+
}[];
|
|
1349
|
+
} | undefined;
|
|
1350
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1351
|
+
}>>;
|
|
1352
|
+
}, "strip", z.ZodTypeAny, {
|
|
1353
|
+
kind: "existing";
|
|
1354
|
+
projectPath?: string | undefined;
|
|
1355
|
+
designContext?: ({
|
|
1356
|
+
slug: string;
|
|
1357
|
+
kind: "slug";
|
|
1358
|
+
} | {
|
|
1359
|
+
kind: "markdown";
|
|
1360
|
+
content: string;
|
|
1361
|
+
label: string;
|
|
1362
|
+
})[] | undefined;
|
|
1363
|
+
sourceContext?: {
|
|
1364
|
+
sourceUrls?: string[] | undefined;
|
|
1365
|
+
preserveBrand?: boolean | undefined;
|
|
1366
|
+
sourceArtifacts?: {
|
|
1367
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1368
|
+
content: string;
|
|
1369
|
+
label: string;
|
|
1370
|
+
}[] | undefined;
|
|
1371
|
+
artifact?: {
|
|
1372
|
+
sourceFindings: string[];
|
|
1373
|
+
sectionInventory: string[];
|
|
1374
|
+
visualObservations: string[];
|
|
1375
|
+
sourceRoles: {
|
|
1376
|
+
url: string;
|
|
1377
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1378
|
+
rationale?: string | undefined;
|
|
1379
|
+
}[];
|
|
1380
|
+
qualityBar: string[];
|
|
1381
|
+
screenshotReferences?: string[] | undefined;
|
|
1382
|
+
risks?: string[] | undefined;
|
|
1383
|
+
} | undefined;
|
|
1384
|
+
sourceIntent?: {
|
|
1385
|
+
sources: {
|
|
1386
|
+
reason: string;
|
|
1387
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1388
|
+
confidence: "low" | "medium" | "high";
|
|
1389
|
+
url?: string | undefined;
|
|
1390
|
+
imageRef?: string | undefined;
|
|
1391
|
+
}[];
|
|
1392
|
+
} | undefined;
|
|
1393
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1394
|
+
} | undefined;
|
|
1395
|
+
}, {
|
|
1396
|
+
kind: "existing";
|
|
1397
|
+
projectPath?: string | undefined;
|
|
1398
|
+
designContext?: ({
|
|
1399
|
+
slug: string;
|
|
1400
|
+
kind: "slug";
|
|
1401
|
+
} | {
|
|
1402
|
+
kind: "markdown";
|
|
1403
|
+
content: string;
|
|
1404
|
+
label: string;
|
|
1405
|
+
})[] | undefined;
|
|
1406
|
+
sourceContext?: {
|
|
1407
|
+
sourceUrls?: string[] | undefined;
|
|
1408
|
+
preserveBrand?: boolean | undefined;
|
|
1409
|
+
sourceArtifacts?: {
|
|
1410
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1411
|
+
content: string;
|
|
1412
|
+
label: string;
|
|
1413
|
+
}[] | undefined;
|
|
1414
|
+
artifact?: {
|
|
1415
|
+
sourceFindings: string[];
|
|
1416
|
+
sectionInventory: string[];
|
|
1417
|
+
visualObservations: string[];
|
|
1418
|
+
sourceRoles: {
|
|
1419
|
+
url: string;
|
|
1420
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1421
|
+
rationale?: string | undefined;
|
|
1422
|
+
}[];
|
|
1423
|
+
qualityBar: string[];
|
|
1424
|
+
screenshotReferences?: string[] | undefined;
|
|
1425
|
+
risks?: string[] | undefined;
|
|
1426
|
+
} | undefined;
|
|
1427
|
+
sourceIntent?: {
|
|
1428
|
+
sources: {
|
|
1429
|
+
reason: string;
|
|
1430
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1431
|
+
confidence: "low" | "medium" | "high";
|
|
1432
|
+
url?: string | undefined;
|
|
1433
|
+
imageRef?: string | undefined;
|
|
1434
|
+
}[];
|
|
1435
|
+
} | undefined;
|
|
1436
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1437
|
+
} | undefined;
|
|
1438
|
+
}>, z.ZodObject<{
|
|
1439
|
+
kind: z.ZodLiteral<"fresh">;
|
|
1440
|
+
/** Where the generated subproject's files live (e.g.
|
|
1441
|
+
* `fable-eng-demo/.rivet/marketing-clone/`). This is the materialize
|
|
1442
|
+
* target — the agent reads/writes index.html, src/, etc. here. */
|
|
1443
|
+
workspacePath: z.ZodString;
|
|
1444
|
+
/** The user's working directory that owns *all* Rivet artifacts for the
|
|
1445
|
+
* session (e.g. `fable-eng-demo`). `<workspaceRoot>/.rivet/` holds
|
|
1446
|
+
* generated subprojects, variant history, and create-project manifests.
|
|
1447
|
+
* Distinct from `path.dirname(workspacePath)` because subprojects nest
|
|
1448
|
+
* inside `.rivet/` — the dirname would resolve to the `.rivet` dir,
|
|
1449
|
+
* not the workspace itself. */
|
|
1450
|
+
workspaceRoot: z.ZodString;
|
|
1451
|
+
framework: z.ZodOptional<z.ZodEnum<["vite", "next", "astro", "remix"]>>;
|
|
1452
|
+
assetSourceRoot: z.ZodOptional<z.ZodString>;
|
|
1453
|
+
/** Per-variant-slot design context. Slug entries resolve bundled catalog
|
|
1454
|
+
* markdown; markdown entries are written directly as `DESIGN.md`. The
|
|
1455
|
+
* order matches code-gen variant slot order. */
|
|
1456
|
+
designContext: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
1457
|
+
kind: z.ZodLiteral<"slug">;
|
|
1458
|
+
slug: z.ZodString;
|
|
1459
|
+
}, "strip", z.ZodTypeAny, {
|
|
1460
|
+
slug: string;
|
|
1461
|
+
kind: "slug";
|
|
1462
|
+
}, {
|
|
1463
|
+
slug: string;
|
|
1464
|
+
kind: "slug";
|
|
1465
|
+
}>, z.ZodObject<{
|
|
1466
|
+
kind: z.ZodLiteral<"markdown">;
|
|
1467
|
+
content: z.ZodString;
|
|
1468
|
+
label: z.ZodString;
|
|
1469
|
+
}, "strip", z.ZodTypeAny, {
|
|
1470
|
+
kind: "markdown";
|
|
1471
|
+
content: string;
|
|
1472
|
+
label: string;
|
|
1473
|
+
}, {
|
|
1474
|
+
kind: "markdown";
|
|
1475
|
+
content: string;
|
|
1476
|
+
label: string;
|
|
1477
|
+
}>]>, "many">>;
|
|
1478
|
+
sourceContext: z.ZodOptional<z.ZodObject<{
|
|
1479
|
+
sourceUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1480
|
+
preserveBrand: z.ZodOptional<z.ZodBoolean>;
|
|
1481
|
+
sourceArtifacts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1482
|
+
kind: z.ZodEnum<["urlText", "siteBrief", "visualBrief", "screenshotNotes", "motionBrief"]>;
|
|
1483
|
+
label: z.ZodString;
|
|
1484
|
+
content: z.ZodString;
|
|
1485
|
+
}, "strip", z.ZodTypeAny, {
|
|
1486
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1487
|
+
content: string;
|
|
1488
|
+
label: string;
|
|
1489
|
+
}, {
|
|
1490
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1491
|
+
content: string;
|
|
1492
|
+
label: string;
|
|
1493
|
+
}>, "many">>;
|
|
1494
|
+
artifact: z.ZodOptional<z.ZodObject<{
|
|
1495
|
+
sourceFindings: z.ZodArray<z.ZodString, "many">;
|
|
1496
|
+
sectionInventory: z.ZodArray<z.ZodString, "many">;
|
|
1497
|
+
visualObservations: z.ZodArray<z.ZodString, "many">;
|
|
1498
|
+
sourceRoles: z.ZodArray<z.ZodObject<{
|
|
1499
|
+
url: z.ZodString;
|
|
1500
|
+
role: z.ZodEnum<["primary", "inspiration", "competitor"]>;
|
|
1501
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
1502
|
+
}, "strip", z.ZodTypeAny, {
|
|
1503
|
+
url: string;
|
|
1504
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1505
|
+
rationale?: string | undefined;
|
|
1506
|
+
}, {
|
|
1507
|
+
url: string;
|
|
1508
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1509
|
+
rationale?: string | undefined;
|
|
1510
|
+
}>, "many">;
|
|
1511
|
+
qualityBar: z.ZodArray<z.ZodString, "many">;
|
|
1512
|
+
screenshotReferences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1513
|
+
risks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1514
|
+
}, "strip", z.ZodTypeAny, {
|
|
1515
|
+
sourceFindings: string[];
|
|
1516
|
+
sectionInventory: string[];
|
|
1517
|
+
visualObservations: string[];
|
|
1518
|
+
sourceRoles: {
|
|
1519
|
+
url: string;
|
|
1520
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1521
|
+
rationale?: string | undefined;
|
|
1522
|
+
}[];
|
|
1523
|
+
qualityBar: string[];
|
|
1524
|
+
screenshotReferences?: string[] | undefined;
|
|
1525
|
+
risks?: string[] | undefined;
|
|
1526
|
+
}, {
|
|
1527
|
+
sourceFindings: string[];
|
|
1528
|
+
sectionInventory: string[];
|
|
1529
|
+
visualObservations: string[];
|
|
1530
|
+
sourceRoles: {
|
|
1531
|
+
url: string;
|
|
1532
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1533
|
+
rationale?: string | undefined;
|
|
1534
|
+
}[];
|
|
1535
|
+
qualityBar: string[];
|
|
1536
|
+
screenshotReferences?: string[] | undefined;
|
|
1537
|
+
risks?: string[] | undefined;
|
|
1538
|
+
}>>;
|
|
1539
|
+
sourceIntent: z.ZodOptional<z.ZodObject<{
|
|
1540
|
+
sources: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
1541
|
+
url: z.ZodOptional<z.ZodString>;
|
|
1542
|
+
imageRef: z.ZodOptional<z.ZodString>;
|
|
1543
|
+
role: z.ZodEnum<["design_source", "interaction_reference", "asset_source", "content_reference", "other"]>;
|
|
1544
|
+
confidence: z.ZodEnum<["low", "medium", "high"]>;
|
|
1545
|
+
reason: z.ZodString;
|
|
1546
|
+
}, "strip", z.ZodTypeAny, {
|
|
1547
|
+
reason: string;
|
|
1548
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1549
|
+
confidence: "low" | "medium" | "high";
|
|
1550
|
+
url?: string | undefined;
|
|
1551
|
+
imageRef?: string | undefined;
|
|
1552
|
+
}, {
|
|
1553
|
+
reason: string;
|
|
1554
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1555
|
+
confidence: "low" | "medium" | "high";
|
|
1556
|
+
url?: string | undefined;
|
|
1557
|
+
imageRef?: string | undefined;
|
|
1558
|
+
}>, {
|
|
1559
|
+
reason: string;
|
|
1560
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1561
|
+
confidence: "low" | "medium" | "high";
|
|
1562
|
+
url?: string | undefined;
|
|
1563
|
+
imageRef?: string | undefined;
|
|
1564
|
+
}, {
|
|
1565
|
+
reason: string;
|
|
1566
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1567
|
+
confidence: "low" | "medium" | "high";
|
|
1568
|
+
url?: string | undefined;
|
|
1569
|
+
imageRef?: string | undefined;
|
|
1570
|
+
}>, "many">;
|
|
1571
|
+
}, "strip", z.ZodTypeAny, {
|
|
1572
|
+
sources: {
|
|
1573
|
+
reason: string;
|
|
1574
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1575
|
+
confidence: "low" | "medium" | "high";
|
|
1576
|
+
url?: string | undefined;
|
|
1577
|
+
imageRef?: string | undefined;
|
|
1578
|
+
}[];
|
|
1579
|
+
}, {
|
|
1580
|
+
sources: {
|
|
1581
|
+
reason: string;
|
|
1582
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1583
|
+
confidence: "low" | "medium" | "high";
|
|
1584
|
+
url?: string | undefined;
|
|
1585
|
+
imageRef?: string | undefined;
|
|
1586
|
+
}[];
|
|
1587
|
+
}>>;
|
|
1588
|
+
designDecision: z.ZodOptional<z.ZodEnum<["let_rivet_choose", "go_custom"]>>;
|
|
1589
|
+
}, "strip", z.ZodTypeAny, {
|
|
1590
|
+
sourceUrls?: string[] | undefined;
|
|
1591
|
+
preserveBrand?: boolean | undefined;
|
|
1592
|
+
sourceArtifacts?: {
|
|
1593
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1594
|
+
content: string;
|
|
1595
|
+
label: string;
|
|
1596
|
+
}[] | undefined;
|
|
1597
|
+
artifact?: {
|
|
1598
|
+
sourceFindings: string[];
|
|
1599
|
+
sectionInventory: string[];
|
|
1600
|
+
visualObservations: string[];
|
|
1601
|
+
sourceRoles: {
|
|
1602
|
+
url: string;
|
|
1603
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1604
|
+
rationale?: string | undefined;
|
|
1605
|
+
}[];
|
|
1606
|
+
qualityBar: string[];
|
|
1607
|
+
screenshotReferences?: string[] | undefined;
|
|
1608
|
+
risks?: string[] | undefined;
|
|
1609
|
+
} | undefined;
|
|
1610
|
+
sourceIntent?: {
|
|
1611
|
+
sources: {
|
|
1612
|
+
reason: string;
|
|
1613
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1614
|
+
confidence: "low" | "medium" | "high";
|
|
1615
|
+
url?: string | undefined;
|
|
1616
|
+
imageRef?: string | undefined;
|
|
1617
|
+
}[];
|
|
1618
|
+
} | undefined;
|
|
1619
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1620
|
+
}, {
|
|
1621
|
+
sourceUrls?: string[] | undefined;
|
|
1622
|
+
preserveBrand?: boolean | undefined;
|
|
1623
|
+
sourceArtifacts?: {
|
|
1624
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1625
|
+
content: string;
|
|
1626
|
+
label: string;
|
|
1627
|
+
}[] | undefined;
|
|
1628
|
+
artifact?: {
|
|
1629
|
+
sourceFindings: string[];
|
|
1630
|
+
sectionInventory: string[];
|
|
1631
|
+
visualObservations: string[];
|
|
1632
|
+
sourceRoles: {
|
|
1633
|
+
url: string;
|
|
1634
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1635
|
+
rationale?: string | undefined;
|
|
1636
|
+
}[];
|
|
1637
|
+
qualityBar: string[];
|
|
1638
|
+
screenshotReferences?: string[] | undefined;
|
|
1639
|
+
risks?: string[] | undefined;
|
|
1640
|
+
} | undefined;
|
|
1641
|
+
sourceIntent?: {
|
|
1642
|
+
sources: {
|
|
1643
|
+
reason: string;
|
|
1644
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1645
|
+
confidence: "low" | "medium" | "high";
|
|
1646
|
+
url?: string | undefined;
|
|
1647
|
+
imageRef?: string | undefined;
|
|
1648
|
+
}[];
|
|
1649
|
+
} | undefined;
|
|
1650
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1651
|
+
}>>;
|
|
1652
|
+
/** Agent-supplied execution plan from `report_source_plan`. Drives the
|
|
1653
|
+
* generation routing decision at approve() time: `static_preview` keeps
|
|
1654
|
+
* the lightweight HTML-only path; `vite_app` provisions a real Vite
|
|
1655
|
+
* worktree per variant and copies any large assets from `assetPlan`. */
|
|
1656
|
+
executionPlan: z.ZodOptional<z.ZodObject<{
|
|
1657
|
+
mode: z.ZodEnum<["static_preview", "vite_app"]>;
|
|
1658
|
+
confidence: z.ZodEnum<["low", "medium", "high"]>;
|
|
1659
|
+
reason: z.ZodString;
|
|
1660
|
+
assetPlan: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1661
|
+
source: z.ZodString;
|
|
1662
|
+
destination: z.ZodString;
|
|
1663
|
+
referenceAs: z.ZodString;
|
|
1664
|
+
}, "strip", z.ZodTypeAny, {
|
|
1665
|
+
source: string;
|
|
1666
|
+
destination: string;
|
|
1667
|
+
referenceAs: string;
|
|
1668
|
+
}, {
|
|
1669
|
+
source: string;
|
|
1670
|
+
destination: string;
|
|
1671
|
+
referenceAs: string;
|
|
1672
|
+
}>, "many">>;
|
|
1673
|
+
runtimeRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1674
|
+
userQuestion: z.ZodOptional<z.ZodString>;
|
|
1675
|
+
}, "strip", z.ZodTypeAny, {
|
|
1676
|
+
mode: "static_preview" | "vite_app";
|
|
1677
|
+
reason: string;
|
|
1678
|
+
confidence: "low" | "medium" | "high";
|
|
1679
|
+
assetPlan?: {
|
|
1680
|
+
source: string;
|
|
1681
|
+
destination: string;
|
|
1682
|
+
referenceAs: string;
|
|
1683
|
+
}[] | undefined;
|
|
1684
|
+
runtimeRequirements?: string[] | undefined;
|
|
1685
|
+
userQuestion?: string | undefined;
|
|
1686
|
+
}, {
|
|
1687
|
+
mode: "static_preview" | "vite_app";
|
|
1688
|
+
reason: string;
|
|
1689
|
+
confidence: "low" | "medium" | "high";
|
|
1690
|
+
assetPlan?: {
|
|
1691
|
+
source: string;
|
|
1692
|
+
destination: string;
|
|
1693
|
+
referenceAs: string;
|
|
1694
|
+
}[] | undefined;
|
|
1695
|
+
runtimeRequirements?: string[] | undefined;
|
|
1696
|
+
userQuestion?: string | undefined;
|
|
1697
|
+
}>>;
|
|
1698
|
+
}, "strip", z.ZodTypeAny, {
|
|
1699
|
+
kind: "fresh";
|
|
1700
|
+
workspacePath: string;
|
|
1701
|
+
workspaceRoot: string;
|
|
1702
|
+
framework?: "next" | "vite" | "remix" | "astro" | undefined;
|
|
1703
|
+
designContext?: ({
|
|
1704
|
+
slug: string;
|
|
1705
|
+
kind: "slug";
|
|
1706
|
+
} | {
|
|
1707
|
+
kind: "markdown";
|
|
1708
|
+
content: string;
|
|
1709
|
+
label: string;
|
|
1710
|
+
})[] | undefined;
|
|
1711
|
+
sourceContext?: {
|
|
1712
|
+
sourceUrls?: string[] | undefined;
|
|
1713
|
+
preserveBrand?: boolean | undefined;
|
|
1714
|
+
sourceArtifacts?: {
|
|
1715
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1716
|
+
content: string;
|
|
1717
|
+
label: string;
|
|
1718
|
+
}[] | undefined;
|
|
1719
|
+
artifact?: {
|
|
1720
|
+
sourceFindings: string[];
|
|
1721
|
+
sectionInventory: string[];
|
|
1722
|
+
visualObservations: string[];
|
|
1723
|
+
sourceRoles: {
|
|
1724
|
+
url: string;
|
|
1725
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1726
|
+
rationale?: string | undefined;
|
|
1727
|
+
}[];
|
|
1728
|
+
qualityBar: string[];
|
|
1729
|
+
screenshotReferences?: string[] | undefined;
|
|
1730
|
+
risks?: string[] | undefined;
|
|
1731
|
+
} | undefined;
|
|
1732
|
+
sourceIntent?: {
|
|
1733
|
+
sources: {
|
|
1734
|
+
reason: string;
|
|
1735
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1736
|
+
confidence: "low" | "medium" | "high";
|
|
1737
|
+
url?: string | undefined;
|
|
1738
|
+
imageRef?: string | undefined;
|
|
1739
|
+
}[];
|
|
1740
|
+
} | undefined;
|
|
1741
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1742
|
+
} | undefined;
|
|
1743
|
+
assetSourceRoot?: string | undefined;
|
|
1744
|
+
executionPlan?: {
|
|
1745
|
+
mode: "static_preview" | "vite_app";
|
|
1746
|
+
reason: string;
|
|
1747
|
+
confidence: "low" | "medium" | "high";
|
|
1748
|
+
assetPlan?: {
|
|
1749
|
+
source: string;
|
|
1750
|
+
destination: string;
|
|
1751
|
+
referenceAs: string;
|
|
1752
|
+
}[] | undefined;
|
|
1753
|
+
runtimeRequirements?: string[] | undefined;
|
|
1754
|
+
userQuestion?: string | undefined;
|
|
1755
|
+
} | undefined;
|
|
1756
|
+
}, {
|
|
1757
|
+
kind: "fresh";
|
|
1758
|
+
workspacePath: string;
|
|
1759
|
+
workspaceRoot: string;
|
|
1760
|
+
framework?: "next" | "vite" | "remix" | "astro" | undefined;
|
|
1761
|
+
designContext?: ({
|
|
1762
|
+
slug: string;
|
|
1763
|
+
kind: "slug";
|
|
1764
|
+
} | {
|
|
1765
|
+
kind: "markdown";
|
|
1766
|
+
content: string;
|
|
1767
|
+
label: string;
|
|
1768
|
+
})[] | undefined;
|
|
1769
|
+
sourceContext?: {
|
|
1770
|
+
sourceUrls?: string[] | undefined;
|
|
1771
|
+
preserveBrand?: boolean | undefined;
|
|
1772
|
+
sourceArtifacts?: {
|
|
1773
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
1774
|
+
content: string;
|
|
1775
|
+
label: string;
|
|
1776
|
+
}[] | undefined;
|
|
1777
|
+
artifact?: {
|
|
1778
|
+
sourceFindings: string[];
|
|
1779
|
+
sectionInventory: string[];
|
|
1780
|
+
visualObservations: string[];
|
|
1781
|
+
sourceRoles: {
|
|
1782
|
+
url: string;
|
|
1783
|
+
role: "primary" | "inspiration" | "competitor";
|
|
1784
|
+
rationale?: string | undefined;
|
|
1785
|
+
}[];
|
|
1786
|
+
qualityBar: string[];
|
|
1787
|
+
screenshotReferences?: string[] | undefined;
|
|
1788
|
+
risks?: string[] | undefined;
|
|
1789
|
+
} | undefined;
|
|
1790
|
+
sourceIntent?: {
|
|
1791
|
+
sources: {
|
|
1792
|
+
reason: string;
|
|
1793
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
1794
|
+
confidence: "low" | "medium" | "high";
|
|
1795
|
+
url?: string | undefined;
|
|
1796
|
+
imageRef?: string | undefined;
|
|
1797
|
+
}[];
|
|
1798
|
+
} | undefined;
|
|
1799
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1800
|
+
} | undefined;
|
|
1801
|
+
assetSourceRoot?: string | undefined;
|
|
1802
|
+
executionPlan?: {
|
|
1803
|
+
mode: "static_preview" | "vite_app";
|
|
1804
|
+
reason: string;
|
|
1805
|
+
confidence: "low" | "medium" | "high";
|
|
1806
|
+
assetPlan?: {
|
|
1807
|
+
source: string;
|
|
1808
|
+
destination: string;
|
|
1809
|
+
referenceAs: string;
|
|
1810
|
+
}[] | undefined;
|
|
1811
|
+
runtimeRequirements?: string[] | undefined;
|
|
1812
|
+
userQuestion?: string | undefined;
|
|
1813
|
+
} | undefined;
|
|
1814
|
+
}>]>;
|
|
1815
|
+
export type ProjectContext = z.infer<typeof projectContextSchema>;
|
|
1816
|
+
export type DesignContextEntry = z.infer<typeof designContextEntrySchema>;
|
|
1817
|
+
export type SourceArtifactInput = z.infer<typeof sourceArtifactInputSchema>;
|
|
1818
|
+
export type SourceRole = z.infer<typeof sourceRoleSchema>;
|
|
1819
|
+
export type SourceContextArtifact = z.infer<typeof sourceContextArtifactSchema>;
|
|
1820
|
+
export type SourceContextInput = z.infer<typeof sourceContextInputSchema>;
|
|
1821
|
+
export type VariantDesignSource = {
|
|
1822
|
+
kind: 'slug';
|
|
1823
|
+
slug: string;
|
|
1824
|
+
displayName: string;
|
|
1825
|
+
} | {
|
|
1826
|
+
kind: 'markdown';
|
|
1827
|
+
label: string;
|
|
1828
|
+
};
|
|
1829
|
+
export type VariantPreviewSource = {
|
|
1830
|
+
kind: 'dev_server';
|
|
1831
|
+
port: number;
|
|
1832
|
+
} | {
|
|
1833
|
+
kind: 'static_artifact';
|
|
1834
|
+
url: string;
|
|
1835
|
+
};
|
|
1836
|
+
export type ActiveProjectContext = {
|
|
1837
|
+
kind: 'existing';
|
|
1838
|
+
designContext?: Array<{
|
|
1839
|
+
kind: 'slug';
|
|
1840
|
+
slug: string;
|
|
1841
|
+
} | {
|
|
1842
|
+
kind: 'markdown';
|
|
1843
|
+
label: string;
|
|
1844
|
+
}>;
|
|
1845
|
+
sourceContext?: {
|
|
1846
|
+
sourceCount: number;
|
|
1847
|
+
isSourceGrounded: boolean;
|
|
1848
|
+
};
|
|
1849
|
+
} | {
|
|
1850
|
+
kind: 'fresh';
|
|
1851
|
+
workspacePath: string;
|
|
1852
|
+
workspaceRoot: string;
|
|
1853
|
+
framework?: 'vite' | 'next' | 'astro' | 'remix';
|
|
1854
|
+
designContext?: Array<{
|
|
1855
|
+
kind: 'slug';
|
|
1856
|
+
slug: string;
|
|
1857
|
+
} | {
|
|
1858
|
+
kind: 'markdown';
|
|
1859
|
+
label: string;
|
|
1860
|
+
}>;
|
|
1861
|
+
sourceContext?: {
|
|
1862
|
+
sourceCount: number;
|
|
1863
|
+
isSourceGrounded: boolean;
|
|
1864
|
+
};
|
|
1865
|
+
/** Compact summary of the agent's execution plan, suitable for chip /
|
|
1866
|
+
* artifact rendering. The full plan stays on the project context. */
|
|
1867
|
+
executionPlan?: {
|
|
1868
|
+
mode: ExecutionMode;
|
|
1869
|
+
confidence: ExecutionConfidence;
|
|
1870
|
+
reason: string;
|
|
1871
|
+
assetCount: number;
|
|
1872
|
+
runtimeRequirementCount: number;
|
|
1873
|
+
};
|
|
1874
|
+
};
|
|
1875
|
+
export interface ActiveVariantActions {
|
|
1876
|
+
view?: {
|
|
1877
|
+
enabled: boolean;
|
|
1878
|
+
reason?: string;
|
|
1879
|
+
};
|
|
1880
|
+
commit?: {
|
|
1881
|
+
enabled: boolean;
|
|
1882
|
+
reason?: string;
|
|
1883
|
+
};
|
|
1884
|
+
}
|
|
1885
|
+
export interface ActiveVariantSnapshot {
|
|
1886
|
+
workItemId: string;
|
|
1887
|
+
briefId: string;
|
|
1888
|
+
label: string;
|
|
1889
|
+
status: WorkItemStatus;
|
|
1890
|
+
/** ISO timestamp of when the variant's session was generated, so the UI can
|
|
1891
|
+
* show date metadata on currently-generated variants (mirrors the
|
|
1892
|
+
* `createdAt` shown on persisted history rows). */
|
|
1893
|
+
createdAt?: string;
|
|
1894
|
+
/** 1–2 word, plain-English label for the *run* this variant belongs to —
|
|
1895
|
+
* the intent of the prompt that kicked it off (e.g. "Brighter"). Shared by
|
|
1896
|
+
* every variant in the run; shown on each row so the user can tell which
|
|
1897
|
+
* prompt a direction came from. */
|
|
1898
|
+
runLabel?: string;
|
|
1899
|
+
/** The variant's brief body — a compact, plain-language statement of what
|
|
1900
|
+
* THIS variant changes relative to baseline. Shown under the title. */
|
|
1901
|
+
description?: string;
|
|
1902
|
+
design?: VariantDesignSource;
|
|
1903
|
+
preview?: VariantPreviewSource;
|
|
1904
|
+
port?: number;
|
|
1905
|
+
errorCode?: string;
|
|
1906
|
+
/**
|
|
1907
|
+
* Set when a *succeeded* variant has no live preview because its preview dev
|
|
1908
|
+
* server failed to start (commonly the port was already in use). Lets the UI
|
|
1909
|
+
* show an accurate per-direction "preview couldn't start" message instead of
|
|
1910
|
+
* the generic "Preview isn't connected / restart Rivet" overlay, which is
|
|
1911
|
+
* misleading here — nothing is offline, this one direction's preview server
|
|
1912
|
+
* just never bound a port.
|
|
1913
|
+
*/
|
|
1914
|
+
previewUnavailable?: {
|
|
1915
|
+
reason: 'spawn_error' | 'exited' | 'timeout' | 'unknown';
|
|
1916
|
+
portInUse?: boolean;
|
|
1917
|
+
};
|
|
1918
|
+
actions?: ActiveVariantActions;
|
|
1919
|
+
refinement?: {
|
|
1920
|
+
workItemId: string;
|
|
1921
|
+
status: WorkItemStatus;
|
|
1922
|
+
errorCode?: string;
|
|
1923
|
+
};
|
|
1924
|
+
/**
|
|
1925
|
+
* Objective post-generation QA verdict. Present once the orchestrator has
|
|
1926
|
+
* run preview QA against the variant's deliverable (asset reachability,
|
|
1927
|
+
* runtime/console health). Surfaced on the chip so the user can see why
|
|
1928
|
+
* a variant is not committable. `not_run` indicates QA has not yet been
|
|
1929
|
+
* exercised for this variant kind (e.g. existing-project `code_gen`).
|
|
1930
|
+
*/
|
|
1931
|
+
qa?: VariantQaResult;
|
|
1932
|
+
}
|
|
1933
|
+
/**
|
|
1934
|
+
* Kinds of supporting artifact a variants session can surface to the UI.
|
|
1935
|
+
* `design_context` is the only kind populated today (the DESIGN.md used or
|
|
1936
|
+
* generated for a 0→1 run); the other kinds reserve shape for source
|
|
1937
|
+
* research bundles, QA reports, and persisted asset manifests so the
|
|
1938
|
+
* snapshot contract stays stable as those land.
|
|
1939
|
+
*/
|
|
1940
|
+
export declare const VARIANT_ARTIFACT_KINDS: readonly ["design_context", "source_context", "qa_report", "asset"];
|
|
1941
|
+
export type VariantArtifactKind = (typeof VARIANT_ARTIFACT_KINDS)[number];
|
|
1363
1942
|
export type VariantArtifactStatus = 'ready' | 'warning' | 'failed';
|
|
1364
1943
|
export type VariantArtifactSource = 'agent_browser' | 'cache' | 'static' | 'manual';
|
|
1365
1944
|
export type VariantArtifactContentType = 'text/markdown' | 'application/json' | 'text/plain';
|
|
@@ -1389,9 +1968,11 @@ export type VariantQaStatus = 'passed' | 'failed' | 'not_run';
|
|
|
1389
1968
|
* Categorical QA failure mode. Mirrors the failure surfaces the gate
|
|
1390
1969
|
* checks for static previews — referenced assets that fail to load, code
|
|
1391
1970
|
* that throws on initial render, or a preview document that couldn't be
|
|
1392
|
-
* fetched at all.
|
|
1971
|
+
* fetched at all. `design_quality` is the aesthetic self-critique verdict:
|
|
1972
|
+
* the rendered variant scored below the must-pass bar on the design rubric.
|
|
1973
|
+
* Kept small so the user-facing prompt can stay legible.
|
|
1393
1974
|
*/
|
|
1394
|
-
export type VariantQaIssueKind = 'asset_load_failed' | 'console_error' | 'preview_unavailable';
|
|
1975
|
+
export type VariantQaIssueKind = 'asset_load_failed' | 'console_error' | 'preview_unavailable' | 'design_quality';
|
|
1395
1976
|
export interface VariantQaIssue {
|
|
1396
1977
|
kind: VariantQaIssueKind;
|
|
1397
1978
|
/** Asset URL or runtime source location that triggered the failure. */
|
|
@@ -1399,6 +1980,57 @@ export interface VariantQaIssue {
|
|
|
1399
1980
|
/** Optional human-readable extra context — e.g. HTTP status, error message. */
|
|
1400
1981
|
message?: string;
|
|
1401
1982
|
}
|
|
1983
|
+
/**
|
|
1984
|
+
* Per-dimension aesthetic scores from the design self-critique, each on a
|
|
1985
|
+
* 0–10 scale. `overall` is the model's holistic verdict for the rendered
|
|
1986
|
+
* variant (not a strict average of the dimensions). Attached to a
|
|
1987
|
+
* `VariantQaResult` when the design critique runs; absent when the critique
|
|
1988
|
+
* is skipped (no runner wired, render/model unavailable, or non-0→1 session).
|
|
1989
|
+
*/
|
|
1990
|
+
export interface VariantDesignScores {
|
|
1991
|
+
/** Clarity of visual hierarchy / focal flow. */
|
|
1992
|
+
hierarchy: number;
|
|
1993
|
+
/** Type scale, pairing, rhythm, and legibility. */
|
|
1994
|
+
typography: number;
|
|
1995
|
+
/** Palette cohesion and role discipline. */
|
|
1996
|
+
color: number;
|
|
1997
|
+
/** Spacing rhythm, alignment, and density. */
|
|
1998
|
+
spacing: number;
|
|
1999
|
+
/** Resistance to generic "AI slop" patterns (boilerplate hero cards, etc). */
|
|
2000
|
+
slopResistance: number;
|
|
2001
|
+
/** Holistic 0–10 verdict for the rendered variant. */
|
|
2002
|
+
overall: number;
|
|
2003
|
+
}
|
|
2004
|
+
/**
|
|
2005
|
+
* Severity of a design-critique finding.
|
|
2006
|
+
* - `critical`: usability-breaking; hard-fails the variant regardless of score.
|
|
2007
|
+
* - `major`: serious issue that caps the overall score below the pass bar.
|
|
2008
|
+
* - `minor`: non-blocking nit surfaced for the agent without gating.
|
|
2009
|
+
*/
|
|
2010
|
+
export type CritiqueSeverity = 'critical' | 'major' | 'minor';
|
|
2011
|
+
/** The task-aware checks a 0→1 variant is judged against beyond aesthetics. */
|
|
2012
|
+
export type CritiqueCheckCategory = 'task_fit' | 'source_fidelity' | 'ui_polish' | 'readability' | 'responsive';
|
|
2013
|
+
/** Pass/warn/fail status for a single critique check category. */
|
|
2014
|
+
export type CritiqueCheckStatus = 'pass' | 'warn' | 'fail';
|
|
2015
|
+
export type CritiqueChecks = Record<CritiqueCheckCategory, CritiqueCheckStatus>;
|
|
2016
|
+
/**
|
|
2017
|
+
* One severity-coded design-critique issue with concrete evidence (what is
|
|
2018
|
+
* wrong) and a fix (what to change), so a re-leased variant has actionable
|
|
2019
|
+
* direction. Raised either by the deterministic artifact lint or the model.
|
|
2020
|
+
*/
|
|
2021
|
+
export interface CritiqueFinding {
|
|
2022
|
+
severity: CritiqueSeverity;
|
|
2023
|
+
category: CritiqueCheckCategory;
|
|
2024
|
+
evidence: string;
|
|
2025
|
+
fix: string;
|
|
2026
|
+
}
|
|
2027
|
+
/** A cap applied to a score because of a blocking/major finding. */
|
|
2028
|
+
export interface CritiqueScoreCap {
|
|
2029
|
+
category: CritiqueCheckCategory | 'overall';
|
|
2030
|
+
/** Maximum score the affected target may take while the finding stands. */
|
|
2031
|
+
max: number;
|
|
2032
|
+
reason: string;
|
|
2033
|
+
}
|
|
1402
2034
|
export interface VariantQaResult {
|
|
1403
2035
|
status: VariantQaStatus;
|
|
1404
2036
|
issues: VariantQaIssue[];
|
|
@@ -1406,6 +2038,20 @@ export interface VariantQaResult {
|
|
|
1406
2038
|
summary: string;
|
|
1407
2039
|
/** Source of the inspected preview (the URL or marker the runner used). */
|
|
1408
2040
|
checkedSource?: string;
|
|
2041
|
+
/** Per-dimension aesthetic scores from the design self-critique, when it
|
|
2042
|
+
* ran. Surfaced on the variant chip so the user can see the design score
|
|
2043
|
+
* alongside the objective health verdict. Optional / back-compatible. */
|
|
2044
|
+
dimensionScores?: VariantDesignScores;
|
|
2045
|
+
/** Short natural-language critique from the design self-critique — the
|
|
2046
|
+
* notes the agent must address when regenerating a below-bar variant. */
|
|
2047
|
+
designSummary?: string;
|
|
2048
|
+
/** Severity-coded findings from the strict critique gate (lint + model),
|
|
2049
|
+
* present when the critique ran and surfaced issues. */
|
|
2050
|
+
designFindings?: CritiqueFinding[];
|
|
2051
|
+
/** Per-category pass/warn/fail status from the strict critique gate. */
|
|
2052
|
+
designChecks?: CritiqueChecks;
|
|
2053
|
+
/** Caps applied to the overall design score and why. */
|
|
2054
|
+
designScoreCaps?: CritiqueScoreCap[];
|
|
1409
2055
|
}
|
|
1410
2056
|
export declare const targetSchema: z.ZodObject<{
|
|
1411
2057
|
type: z.ZodEnum<["element", "file", "route"]>;
|
|
@@ -1467,10 +2113,294 @@ export declare const proposeVariantsInput: {
|
|
|
1467
2113
|
}>>;
|
|
1468
2114
|
projectContext: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
1469
2115
|
kind: z.ZodLiteral<"existing">;
|
|
2116
|
+
/** Absolute project path requested for this existing-project run. Present
|
|
2117
|
+
* when callers target a nested project inside a larger git worktree. */
|
|
2118
|
+
projectPath: z.ZodOptional<z.ZodString>;
|
|
2119
|
+
/** Optional design context supplied by agents/benchmarks for existing
|
|
2120
|
+
* project runs with visual references. Surfaced as DesignMD artifacts and
|
|
2121
|
+
* available to QA gates, but does not trigger a source-plan stage. */
|
|
2122
|
+
designContext: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
2123
|
+
kind: z.ZodLiteral<"slug">;
|
|
2124
|
+
slug: z.ZodString;
|
|
2125
|
+
}, "strip", z.ZodTypeAny, {
|
|
2126
|
+
slug: string;
|
|
2127
|
+
kind: "slug";
|
|
2128
|
+
}, {
|
|
2129
|
+
slug: string;
|
|
2130
|
+
kind: "slug";
|
|
2131
|
+
}>, z.ZodObject<{
|
|
2132
|
+
kind: z.ZodLiteral<"markdown">;
|
|
2133
|
+
content: z.ZodString;
|
|
2134
|
+
label: z.ZodString;
|
|
2135
|
+
}, "strip", z.ZodTypeAny, {
|
|
2136
|
+
kind: "markdown";
|
|
2137
|
+
content: string;
|
|
2138
|
+
label: string;
|
|
2139
|
+
}, {
|
|
2140
|
+
kind: "markdown";
|
|
2141
|
+
content: string;
|
|
2142
|
+
label: string;
|
|
2143
|
+
}>]>, "many">>;
|
|
2144
|
+
sourceContext: z.ZodOptional<z.ZodObject<{
|
|
2145
|
+
sourceUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2146
|
+
preserveBrand: z.ZodOptional<z.ZodBoolean>;
|
|
2147
|
+
sourceArtifacts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2148
|
+
kind: z.ZodEnum<["urlText", "siteBrief", "visualBrief", "screenshotNotes", "motionBrief"]>;
|
|
2149
|
+
label: z.ZodString;
|
|
2150
|
+
content: z.ZodString;
|
|
2151
|
+
}, "strip", z.ZodTypeAny, {
|
|
2152
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
2153
|
+
content: string;
|
|
2154
|
+
label: string;
|
|
2155
|
+
}, {
|
|
2156
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
2157
|
+
content: string;
|
|
2158
|
+
label: string;
|
|
2159
|
+
}>, "many">>;
|
|
2160
|
+
artifact: z.ZodOptional<z.ZodObject<{
|
|
2161
|
+
sourceFindings: z.ZodArray<z.ZodString, "many">;
|
|
2162
|
+
sectionInventory: z.ZodArray<z.ZodString, "many">;
|
|
2163
|
+
visualObservations: z.ZodArray<z.ZodString, "many">;
|
|
2164
|
+
sourceRoles: z.ZodArray<z.ZodObject<{
|
|
2165
|
+
url: z.ZodString;
|
|
2166
|
+
role: z.ZodEnum<["primary", "inspiration", "competitor"]>;
|
|
2167
|
+
rationale: z.ZodOptional<z.ZodString>;
|
|
2168
|
+
}, "strip", z.ZodTypeAny, {
|
|
2169
|
+
url: string;
|
|
2170
|
+
role: "primary" | "inspiration" | "competitor";
|
|
2171
|
+
rationale?: string | undefined;
|
|
2172
|
+
}, {
|
|
2173
|
+
url: string;
|
|
2174
|
+
role: "primary" | "inspiration" | "competitor";
|
|
2175
|
+
rationale?: string | undefined;
|
|
2176
|
+
}>, "many">;
|
|
2177
|
+
qualityBar: z.ZodArray<z.ZodString, "many">;
|
|
2178
|
+
screenshotReferences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2179
|
+
risks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2180
|
+
}, "strip", z.ZodTypeAny, {
|
|
2181
|
+
sourceFindings: string[];
|
|
2182
|
+
sectionInventory: string[];
|
|
2183
|
+
visualObservations: string[];
|
|
2184
|
+
sourceRoles: {
|
|
2185
|
+
url: string;
|
|
2186
|
+
role: "primary" | "inspiration" | "competitor";
|
|
2187
|
+
rationale?: string | undefined;
|
|
2188
|
+
}[];
|
|
2189
|
+
qualityBar: string[];
|
|
2190
|
+
screenshotReferences?: string[] | undefined;
|
|
2191
|
+
risks?: string[] | undefined;
|
|
2192
|
+
}, {
|
|
2193
|
+
sourceFindings: string[];
|
|
2194
|
+
sectionInventory: string[];
|
|
2195
|
+
visualObservations: string[];
|
|
2196
|
+
sourceRoles: {
|
|
2197
|
+
url: string;
|
|
2198
|
+
role: "primary" | "inspiration" | "competitor";
|
|
2199
|
+
rationale?: string | undefined;
|
|
2200
|
+
}[];
|
|
2201
|
+
qualityBar: string[];
|
|
2202
|
+
screenshotReferences?: string[] | undefined;
|
|
2203
|
+
risks?: string[] | undefined;
|
|
2204
|
+
}>>;
|
|
2205
|
+
sourceIntent: z.ZodOptional<z.ZodObject<{
|
|
2206
|
+
sources: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
2207
|
+
url: z.ZodOptional<z.ZodString>;
|
|
2208
|
+
imageRef: z.ZodOptional<z.ZodString>;
|
|
2209
|
+
role: z.ZodEnum<["design_source", "interaction_reference", "asset_source", "content_reference", "other"]>;
|
|
2210
|
+
confidence: z.ZodEnum<["low", "medium", "high"]>;
|
|
2211
|
+
reason: z.ZodString;
|
|
2212
|
+
}, "strip", z.ZodTypeAny, {
|
|
2213
|
+
reason: string;
|
|
2214
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2215
|
+
confidence: "low" | "medium" | "high";
|
|
2216
|
+
url?: string | undefined;
|
|
2217
|
+
imageRef?: string | undefined;
|
|
2218
|
+
}, {
|
|
2219
|
+
reason: string;
|
|
2220
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2221
|
+
confidence: "low" | "medium" | "high";
|
|
2222
|
+
url?: string | undefined;
|
|
2223
|
+
imageRef?: string | undefined;
|
|
2224
|
+
}>, {
|
|
2225
|
+
reason: string;
|
|
2226
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2227
|
+
confidence: "low" | "medium" | "high";
|
|
2228
|
+
url?: string | undefined;
|
|
2229
|
+
imageRef?: string | undefined;
|
|
2230
|
+
}, {
|
|
2231
|
+
reason: string;
|
|
2232
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2233
|
+
confidence: "low" | "medium" | "high";
|
|
2234
|
+
url?: string | undefined;
|
|
2235
|
+
imageRef?: string | undefined;
|
|
2236
|
+
}>, "many">;
|
|
2237
|
+
}, "strip", z.ZodTypeAny, {
|
|
2238
|
+
sources: {
|
|
2239
|
+
reason: string;
|
|
2240
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2241
|
+
confidence: "low" | "medium" | "high";
|
|
2242
|
+
url?: string | undefined;
|
|
2243
|
+
imageRef?: string | undefined;
|
|
2244
|
+
}[];
|
|
2245
|
+
}, {
|
|
2246
|
+
sources: {
|
|
2247
|
+
reason: string;
|
|
2248
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2249
|
+
confidence: "low" | "medium" | "high";
|
|
2250
|
+
url?: string | undefined;
|
|
2251
|
+
imageRef?: string | undefined;
|
|
2252
|
+
}[];
|
|
2253
|
+
}>>;
|
|
2254
|
+
designDecision: z.ZodOptional<z.ZodEnum<["let_rivet_choose", "go_custom"]>>;
|
|
2255
|
+
}, "strip", z.ZodTypeAny, {
|
|
2256
|
+
sourceUrls?: string[] | undefined;
|
|
2257
|
+
preserveBrand?: boolean | undefined;
|
|
2258
|
+
sourceArtifacts?: {
|
|
2259
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
2260
|
+
content: string;
|
|
2261
|
+
label: string;
|
|
2262
|
+
}[] | undefined;
|
|
2263
|
+
artifact?: {
|
|
2264
|
+
sourceFindings: string[];
|
|
2265
|
+
sectionInventory: string[];
|
|
2266
|
+
visualObservations: string[];
|
|
2267
|
+
sourceRoles: {
|
|
2268
|
+
url: string;
|
|
2269
|
+
role: "primary" | "inspiration" | "competitor";
|
|
2270
|
+
rationale?: string | undefined;
|
|
2271
|
+
}[];
|
|
2272
|
+
qualityBar: string[];
|
|
2273
|
+
screenshotReferences?: string[] | undefined;
|
|
2274
|
+
risks?: string[] | undefined;
|
|
2275
|
+
} | undefined;
|
|
2276
|
+
sourceIntent?: {
|
|
2277
|
+
sources: {
|
|
2278
|
+
reason: string;
|
|
2279
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2280
|
+
confidence: "low" | "medium" | "high";
|
|
2281
|
+
url?: string | undefined;
|
|
2282
|
+
imageRef?: string | undefined;
|
|
2283
|
+
}[];
|
|
2284
|
+
} | undefined;
|
|
2285
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
2286
|
+
}, {
|
|
2287
|
+
sourceUrls?: string[] | undefined;
|
|
2288
|
+
preserveBrand?: boolean | undefined;
|
|
2289
|
+
sourceArtifacts?: {
|
|
2290
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
2291
|
+
content: string;
|
|
2292
|
+
label: string;
|
|
2293
|
+
}[] | undefined;
|
|
2294
|
+
artifact?: {
|
|
2295
|
+
sourceFindings: string[];
|
|
2296
|
+
sectionInventory: string[];
|
|
2297
|
+
visualObservations: string[];
|
|
2298
|
+
sourceRoles: {
|
|
2299
|
+
url: string;
|
|
2300
|
+
role: "primary" | "inspiration" | "competitor";
|
|
2301
|
+
rationale?: string | undefined;
|
|
2302
|
+
}[];
|
|
2303
|
+
qualityBar: string[];
|
|
2304
|
+
screenshotReferences?: string[] | undefined;
|
|
2305
|
+
risks?: string[] | undefined;
|
|
2306
|
+
} | undefined;
|
|
2307
|
+
sourceIntent?: {
|
|
2308
|
+
sources: {
|
|
2309
|
+
reason: string;
|
|
2310
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2311
|
+
confidence: "low" | "medium" | "high";
|
|
2312
|
+
url?: string | undefined;
|
|
2313
|
+
imageRef?: string | undefined;
|
|
2314
|
+
}[];
|
|
2315
|
+
} | undefined;
|
|
2316
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
2317
|
+
}>>;
|
|
1470
2318
|
}, "strip", z.ZodTypeAny, {
|
|
1471
2319
|
kind: "existing";
|
|
2320
|
+
projectPath?: string | undefined;
|
|
2321
|
+
designContext?: ({
|
|
2322
|
+
slug: string;
|
|
2323
|
+
kind: "slug";
|
|
2324
|
+
} | {
|
|
2325
|
+
kind: "markdown";
|
|
2326
|
+
content: string;
|
|
2327
|
+
label: string;
|
|
2328
|
+
})[] | undefined;
|
|
2329
|
+
sourceContext?: {
|
|
2330
|
+
sourceUrls?: string[] | undefined;
|
|
2331
|
+
preserveBrand?: boolean | undefined;
|
|
2332
|
+
sourceArtifacts?: {
|
|
2333
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
2334
|
+
content: string;
|
|
2335
|
+
label: string;
|
|
2336
|
+
}[] | undefined;
|
|
2337
|
+
artifact?: {
|
|
2338
|
+
sourceFindings: string[];
|
|
2339
|
+
sectionInventory: string[];
|
|
2340
|
+
visualObservations: string[];
|
|
2341
|
+
sourceRoles: {
|
|
2342
|
+
url: string;
|
|
2343
|
+
role: "primary" | "inspiration" | "competitor";
|
|
2344
|
+
rationale?: string | undefined;
|
|
2345
|
+
}[];
|
|
2346
|
+
qualityBar: string[];
|
|
2347
|
+
screenshotReferences?: string[] | undefined;
|
|
2348
|
+
risks?: string[] | undefined;
|
|
2349
|
+
} | undefined;
|
|
2350
|
+
sourceIntent?: {
|
|
2351
|
+
sources: {
|
|
2352
|
+
reason: string;
|
|
2353
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2354
|
+
confidence: "low" | "medium" | "high";
|
|
2355
|
+
url?: string | undefined;
|
|
2356
|
+
imageRef?: string | undefined;
|
|
2357
|
+
}[];
|
|
2358
|
+
} | undefined;
|
|
2359
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
2360
|
+
} | undefined;
|
|
1472
2361
|
}, {
|
|
1473
2362
|
kind: "existing";
|
|
2363
|
+
projectPath?: string | undefined;
|
|
2364
|
+
designContext?: ({
|
|
2365
|
+
slug: string;
|
|
2366
|
+
kind: "slug";
|
|
2367
|
+
} | {
|
|
2368
|
+
kind: "markdown";
|
|
2369
|
+
content: string;
|
|
2370
|
+
label: string;
|
|
2371
|
+
})[] | undefined;
|
|
2372
|
+
sourceContext?: {
|
|
2373
|
+
sourceUrls?: string[] | undefined;
|
|
2374
|
+
preserveBrand?: boolean | undefined;
|
|
2375
|
+
sourceArtifacts?: {
|
|
2376
|
+
kind: "urlText" | "siteBrief" | "visualBrief" | "screenshotNotes" | "motionBrief";
|
|
2377
|
+
content: string;
|
|
2378
|
+
label: string;
|
|
2379
|
+
}[] | undefined;
|
|
2380
|
+
artifact?: {
|
|
2381
|
+
sourceFindings: string[];
|
|
2382
|
+
sectionInventory: string[];
|
|
2383
|
+
visualObservations: string[];
|
|
2384
|
+
sourceRoles: {
|
|
2385
|
+
url: string;
|
|
2386
|
+
role: "primary" | "inspiration" | "competitor";
|
|
2387
|
+
rationale?: string | undefined;
|
|
2388
|
+
}[];
|
|
2389
|
+
qualityBar: string[];
|
|
2390
|
+
screenshotReferences?: string[] | undefined;
|
|
2391
|
+
risks?: string[] | undefined;
|
|
2392
|
+
} | undefined;
|
|
2393
|
+
sourceIntent?: {
|
|
2394
|
+
sources: {
|
|
2395
|
+
reason: string;
|
|
2396
|
+
role: "other" | "design_source" | "interaction_reference" | "asset_source" | "content_reference";
|
|
2397
|
+
confidence: "low" | "medium" | "high";
|
|
2398
|
+
url?: string | undefined;
|
|
2399
|
+
imageRef?: string | undefined;
|
|
2400
|
+
}[];
|
|
2401
|
+
} | undefined;
|
|
2402
|
+
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
2403
|
+
} | undefined;
|
|
1474
2404
|
}>, z.ZodObject<{
|
|
1475
2405
|
kind: z.ZodLiteral<"fresh">;
|
|
1476
2406
|
/** Where the generated subproject's files live (e.g.
|
|
@@ -1736,7 +2666,6 @@ export declare const proposeVariantsInput: {
|
|
|
1736
2666
|
workspacePath: string;
|
|
1737
2667
|
workspaceRoot: string;
|
|
1738
2668
|
framework?: "next" | "vite" | "remix" | "astro" | undefined;
|
|
1739
|
-
assetSourceRoot?: string | undefined;
|
|
1740
2669
|
designContext?: ({
|
|
1741
2670
|
slug: string;
|
|
1742
2671
|
kind: "slug";
|
|
@@ -1777,6 +2706,7 @@ export declare const proposeVariantsInput: {
|
|
|
1777
2706
|
} | undefined;
|
|
1778
2707
|
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1779
2708
|
} | undefined;
|
|
2709
|
+
assetSourceRoot?: string | undefined;
|
|
1780
2710
|
executionPlan?: {
|
|
1781
2711
|
mode: "static_preview" | "vite_app";
|
|
1782
2712
|
reason: string;
|
|
@@ -1794,7 +2724,6 @@ export declare const proposeVariantsInput: {
|
|
|
1794
2724
|
workspacePath: string;
|
|
1795
2725
|
workspaceRoot: string;
|
|
1796
2726
|
framework?: "next" | "vite" | "remix" | "astro" | undefined;
|
|
1797
|
-
assetSourceRoot?: string | undefined;
|
|
1798
2727
|
designContext?: ({
|
|
1799
2728
|
slug: string;
|
|
1800
2729
|
kind: "slug";
|
|
@@ -1835,6 +2764,7 @@ export declare const proposeVariantsInput: {
|
|
|
1835
2764
|
} | undefined;
|
|
1836
2765
|
designDecision?: "let_rivet_choose" | "go_custom" | undefined;
|
|
1837
2766
|
} | undefined;
|
|
2767
|
+
assetSourceRoot?: string | undefined;
|
|
1838
2768
|
executionPlan?: {
|
|
1839
2769
|
mode: "static_preview" | "vite_app";
|
|
1840
2770
|
reason: string;
|