@decantr/registry 1.0.0-beta.9 → 1.0.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.
@@ -0,0 +1,886 @@
1
+ import { EssenceFile } from '@decantr/essence-spec';
2
+
3
+ interface PatternLayoutSpec {
4
+ layout: string;
5
+ atoms: string;
6
+ slots?: Record<string, string>;
7
+ }
8
+ interface PatternCodeSpec {
9
+ imports?: string;
10
+ example?: string;
11
+ }
12
+ interface PatternPreset {
13
+ description: string;
14
+ components?: string[];
15
+ layout: PatternLayoutSpec;
16
+ code?: PatternCodeSpec;
17
+ }
18
+ interface PatternIO {
19
+ produces?: string[];
20
+ consumes?: string[];
21
+ actions?: string[];
22
+ }
23
+ interface Pattern {
24
+ id: string;
25
+ version: string;
26
+ name: string;
27
+ description: string;
28
+ tags: string[];
29
+ components: string[];
30
+ default_preset: string;
31
+ presets: Record<string, PatternPreset>;
32
+ contained?: boolean;
33
+ io?: PatternIO;
34
+ code?: PatternCodeSpec;
35
+ default_layout?: PatternLayoutSpec;
36
+ visual_brief?: string;
37
+ composition?: Record<string, string>;
38
+ motion?: {
39
+ micro?: Record<string, string>;
40
+ transitions?: Record<string, string>;
41
+ ambient?: Record<string, string>;
42
+ };
43
+ responsive?: {
44
+ mobile?: string;
45
+ tablet?: string;
46
+ desktop?: string;
47
+ };
48
+ accessibility?: {
49
+ role?: string;
50
+ 'aria-label'?: string;
51
+ keyboard?: string[];
52
+ announcements?: string[];
53
+ focus_management?: string;
54
+ };
55
+ layout_hints?: Record<string, string>;
56
+ category?: string;
57
+ }
58
+ type ArchetypeRole = 'primary' | 'gateway' | 'public' | 'auxiliary';
59
+ interface PatternReferenceObject {
60
+ pattern: string;
61
+ preset?: string;
62
+ as?: string;
63
+ }
64
+ type PatternReference = string | PatternReferenceObject;
65
+ interface LayoutGroup {
66
+ cols: PatternReference[];
67
+ at?: string;
68
+ span?: Record<string, number>;
69
+ }
70
+ type LayoutItem = PatternReference | LayoutGroup;
71
+ interface ContentDependencies {
72
+ [kind: string]: Record<string, string>;
73
+ }
74
+ interface ArchetypePage {
75
+ id: string;
76
+ default_layout: LayoutItem[];
77
+ shell: string;
78
+ description?: string;
79
+ patterns?: PatternReference[];
80
+ }
81
+ interface SeoHints {
82
+ schema_org?: string[];
83
+ meta_priorities?: string[];
84
+ }
85
+ interface ArchetypeSuggestedTheme {
86
+ ids?: string[];
87
+ modes?: string[];
88
+ shapes?: string[];
89
+ }
90
+ interface ArchetypeHeroCustomization {
91
+ style?: string;
92
+ elements?: string[];
93
+ background?: string;
94
+ [key: string]: unknown;
95
+ }
96
+ interface Archetype {
97
+ $schema?: string;
98
+ id: string;
99
+ version: string;
100
+ decantr_compat?: string;
101
+ name: string;
102
+ description: string;
103
+ tags: string[];
104
+ role: ArchetypeRole;
105
+ pages: ArchetypePage[];
106
+ features: string[];
107
+ dependencies?: ContentDependencies;
108
+ seo_hints?: SeoHints;
109
+ classification?: {
110
+ triggers: {
111
+ primary: string[];
112
+ secondary: string[];
113
+ negative: string[];
114
+ };
115
+ implies: string[];
116
+ weight: number;
117
+ tier: string;
118
+ };
119
+ page_briefs?: Record<string, string>;
120
+ suggested_theme?: ArchetypeSuggestedTheme;
121
+ shells?: Record<string, string>;
122
+ personality?: string[];
123
+ hero_customization?: ArchetypeHeroCustomization;
124
+ }
125
+ interface ThemeSpatial {
126
+ density_bias: number;
127
+ content_gap_shift: number;
128
+ section_padding: string;
129
+ card_wrapping: 'always' | 'minimal' | 'none';
130
+ surface_override: string | null;
131
+ }
132
+ interface ThemeEffects {
133
+ enabled: boolean;
134
+ intensity: 'subtle' | 'moderate' | 'bold';
135
+ type_mapping: Record<string, string[]>;
136
+ component_fallback: Record<string, string>;
137
+ intensity_values?: Record<string, Record<string, string>>;
138
+ }
139
+ interface ThemeShell {
140
+ preferred: string[];
141
+ nav_style: string;
142
+ root?: string;
143
+ nav?: string;
144
+ header?: string;
145
+ dimensions?: {
146
+ navWidth?: string;
147
+ headerHeight?: string;
148
+ };
149
+ }
150
+ type ComposeEntry = string | {
151
+ archetype: string;
152
+ prefix: string;
153
+ role?: ArchetypeRole;
154
+ };
155
+ interface BlueprintRoute {
156
+ shell?: string;
157
+ archetype?: string;
158
+ page?: string;
159
+ }
160
+ interface BlueprintNavigationHotkey {
161
+ key: string;
162
+ route?: string;
163
+ label?: string;
164
+ }
165
+ interface BlueprintNavigation {
166
+ command_palette?: boolean;
167
+ hotkeys?: BlueprintNavigationHotkey[];
168
+ }
169
+ interface BlueprintOverrides {
170
+ features_add?: string[];
171
+ features_remove?: string[];
172
+ pages_remove?: string[];
173
+ pages?: Record<string, Record<string, unknown>>;
174
+ }
175
+ interface Blueprint {
176
+ $schema?: string;
177
+ id: string;
178
+ version?: string;
179
+ decantr_compat?: string;
180
+ name: string;
181
+ description?: string;
182
+ tags?: string[];
183
+ archetype?: string;
184
+ compose?: ComposeEntry[];
185
+ theme: {
186
+ id: string;
187
+ mode?: string;
188
+ shape?: string;
189
+ };
190
+ personality?: string | string[];
191
+ features?: string[];
192
+ routes?: Record<string, BlueprintRoute>;
193
+ overrides?: BlueprintOverrides;
194
+ seo_hints?: SeoHints;
195
+ navigation?: BlueprintNavigation;
196
+ dependencies?: ContentDependencies;
197
+ suggested_themes?: string[];
198
+ design_constraints?: Record<string, unknown>;
199
+ voice?: {
200
+ tone?: string;
201
+ cta_verbs?: string[];
202
+ avoid?: string[];
203
+ empty_states?: string;
204
+ errors?: string;
205
+ loading?: string;
206
+ metrics_format?: string;
207
+ };
208
+ responsive_strategy?: {
209
+ breakpoints?: string[];
210
+ navigation?: Record<string, string>;
211
+ data_display?: Record<string, string>;
212
+ };
213
+ }
214
+ interface Shell {
215
+ id: string;
216
+ name: string;
217
+ description?: string;
218
+ root?: string;
219
+ nav?: string;
220
+ header?: string;
221
+ nav_style?: string;
222
+ dimensions?: {
223
+ navWidth?: string;
224
+ headerHeight?: string;
225
+ };
226
+ internal_layout?: Record<string, unknown>;
227
+ layout?: string;
228
+ atoms?: string;
229
+ config?: Record<string, unknown>;
230
+ guidance?: Record<string, string>;
231
+ code?: {
232
+ imports?: string;
233
+ example?: string;
234
+ };
235
+ }
236
+ declare const CONTENT_TYPES: readonly ["pattern", "theme", "blueprint", "archetype", "shell"];
237
+ type ContentType = (typeof CONTENT_TYPES)[number];
238
+ declare const API_CONTENT_TYPES: readonly ["patterns", "themes", "blueprints", "archetypes", "shells"];
239
+ type ApiContentType = (typeof API_CONTENT_TYPES)[number];
240
+ declare const CONTENT_TYPE_TO_API_CONTENT_TYPE: Record<ContentType, ApiContentType>;
241
+ declare const API_CONTENT_TYPE_TO_CONTENT_TYPE: Record<ApiContentType, ContentType>;
242
+ declare function isContentType(value: string): value is ContentType;
243
+ declare function isApiContentType(value: string): value is ApiContentType;
244
+ interface ResolvedContent<T> {
245
+ item: T;
246
+ source: 'local' | 'core';
247
+ path: string;
248
+ }
249
+ type CvdMode = 'deuteranopia' | 'protanopia' | 'tritanopia' | 'achromatopsia';
250
+ interface ThemeTokens {
251
+ base?: Record<string, string>;
252
+ cvd?: Partial<Record<CvdMode, Record<string, string>>>;
253
+ }
254
+ interface Theme {
255
+ id: string;
256
+ name: string;
257
+ description?: string;
258
+ tags?: string[];
259
+ personality?: string;
260
+ seed?: Record<string, string>;
261
+ palette?: Record<string, Record<string, string>>;
262
+ modes?: string[];
263
+ shapes?: string[];
264
+ cvd_support?: CvdMode[];
265
+ tokens?: ThemeTokens;
266
+ decantr_compat?: string;
267
+ source?: string;
268
+ decorators?: Record<string, string>;
269
+ treatments?: Record<string, Record<string, string>>;
270
+ spatial?: ThemeSpatial;
271
+ shell?: ThemeShell;
272
+ effects?: ThemeEffects;
273
+ motion?: {
274
+ preference?: string;
275
+ reduce_motion?: boolean;
276
+ entrance?: string;
277
+ timing?: string;
278
+ durations?: Record<string, string>;
279
+ };
280
+ typography?: {
281
+ scale?: string;
282
+ heading_weight?: number;
283
+ body_weight?: number;
284
+ mono?: string;
285
+ };
286
+ radius?: {
287
+ philosophy?: string;
288
+ base?: number;
289
+ };
290
+ compositions?: Record<string, {
291
+ shell: string;
292
+ description: string;
293
+ effects?: string[];
294
+ }>;
295
+ pattern_preferences?: {
296
+ prefer: string[];
297
+ avoid: string[];
298
+ default_presets?: Record<string, string>;
299
+ };
300
+ decorator_definitions?: Record<string, {
301
+ description: string;
302
+ intent: string;
303
+ suggested_properties?: Record<string, string>;
304
+ pairs_with?: string[];
305
+ usage?: string[];
306
+ }>;
307
+ }
308
+ interface ContentListResponse<T = Record<string, unknown>> {
309
+ items: T[];
310
+ total: number;
311
+ limit?: number;
312
+ offset?: number;
313
+ }
314
+ type ContentVerificationStatus = 'unknown' | 'pending' | 'build-green' | 'build-red' | 'smoke-green' | 'smoke-red';
315
+ type ContentBenchmarkConfidence = 'none' | 'low' | 'medium' | 'high';
316
+ type ContentConfidenceTier = 'low' | 'medium' | 'high' | 'verified';
317
+ type ContentGoldenUsage = 'none' | 'showcase' | 'shortlisted';
318
+ declare const PUBLIC_CONTENT_SOURCES: readonly ["official", "community", "organization"];
319
+ type PublicContentSource = (typeof PUBLIC_CONTENT_SOURCES)[number];
320
+ declare function isPublicContentSource(value: string): value is PublicContentSource;
321
+ declare const CONTENT_INTELLIGENCE_SOURCES: readonly ["authored", "benchmark", "hybrid"];
322
+ type ContentIntelligenceSource = 'authored' | 'benchmark' | 'hybrid';
323
+ declare function isContentIntelligenceSource(value: string): value is ContentIntelligenceSource;
324
+ interface ContentIntelligenceMetadata {
325
+ source: ContentIntelligenceSource;
326
+ verification_status: ContentVerificationStatus;
327
+ last_verified_at?: string | null;
328
+ target_coverage: string[];
329
+ benchmark_confidence: ContentBenchmarkConfidence;
330
+ confidence_tier: ContentConfidenceTier;
331
+ golden_usage: ContentGoldenUsage;
332
+ quality_score: number | null;
333
+ confidence_score: number | null;
334
+ recommended: boolean;
335
+ evidence: string[];
336
+ recommendation_reasons: string[];
337
+ recommendation_blockers: string[];
338
+ benchmark?: {
339
+ classification?: ShowcaseVerificationEntry['classification'];
340
+ target?: string | null;
341
+ drift_signal?: ShowcaseVerificationEntry['drift']['signal'];
342
+ build_passed?: boolean | null;
343
+ smoke_passed?: boolean | null;
344
+ };
345
+ }
346
+ interface PublicContentSummary {
347
+ id: string;
348
+ slug: string;
349
+ namespace: string;
350
+ type: string;
351
+ version?: string;
352
+ name?: string;
353
+ description?: string;
354
+ published_at?: string;
355
+ owner_name?: string | null;
356
+ owner_username?: string | null;
357
+ thumbnail_url?: string | null;
358
+ intelligence?: ContentIntelligenceMetadata | null;
359
+ }
360
+ interface PublicContentRecord<TData = Record<string, unknown>> {
361
+ id: string;
362
+ slug: string;
363
+ namespace: string;
364
+ type: string;
365
+ version: string;
366
+ data: TData;
367
+ visibility: 'public' | 'private';
368
+ status: 'pending' | 'approved' | 'rejected' | 'published';
369
+ created_at: string;
370
+ updated_at: string;
371
+ published_at?: string;
372
+ owner_name?: string | null;
373
+ owner_username?: string | null;
374
+ thumbnail_url?: string | null;
375
+ intelligence?: ContentIntelligenceMetadata | null;
376
+ }
377
+ interface ContentItem extends PublicContentRecord<Record<string, unknown>> {
378
+ }
379
+ interface OwnedContentSummary extends PublicContentSummary {
380
+ visibility: 'public' | 'private';
381
+ status: 'pending' | 'approved' | 'rejected' | 'published';
382
+ created_at: string;
383
+ updated_at: string;
384
+ }
385
+ interface PublicUserProfile {
386
+ username: string;
387
+ display_name: string | null;
388
+ reputation_score: number;
389
+ tier: 'free' | 'pro' | 'team' | 'enterprise';
390
+ created_at: string;
391
+ content_count: number;
392
+ content_counts: Record<string, number>;
393
+ }
394
+ interface PublishPayload {
395
+ type: ApiContentType;
396
+ slug: string;
397
+ namespace: string;
398
+ version: string;
399
+ data: Record<string, unknown>;
400
+ visibility?: 'public' | 'private';
401
+ }
402
+ interface PublishResponse {
403
+ id: string;
404
+ slug: string;
405
+ namespace: string;
406
+ type: string;
407
+ status: string;
408
+ }
409
+ interface SearchParams {
410
+ q: string;
411
+ type?: string;
412
+ namespace?: string;
413
+ source?: PublicContentSource;
414
+ sort?: string;
415
+ recommended?: boolean;
416
+ intelligenceSource?: ContentIntelligenceSource;
417
+ limit?: number;
418
+ offset?: number;
419
+ }
420
+ interface SearchResponse {
421
+ results: PublicContentSummary[];
422
+ total: number;
423
+ limit?: number;
424
+ offset?: number;
425
+ }
426
+ interface RegistryIntelligenceSummaryBucket {
427
+ total_public_items: number;
428
+ with_intelligence: number;
429
+ recommended: number;
430
+ authored: number;
431
+ benchmark: number;
432
+ hybrid: number;
433
+ missing_source: number;
434
+ smoke_green: number;
435
+ build_green: number;
436
+ high_confidence: number;
437
+ verified_confidence: number;
438
+ }
439
+ interface RegistryIntelligenceSummaryResponse {
440
+ $schema: string;
441
+ generated_at: string;
442
+ namespace: string | null;
443
+ totals: RegistryIntelligenceSummaryBucket;
444
+ by_type: Record<ContentType, RegistryIntelligenceSummaryBucket>;
445
+ }
446
+ interface UserProfile {
447
+ id: string;
448
+ email: string;
449
+ tier: 'free' | 'pro' | 'team' | 'enterprise';
450
+ reputation_score: number;
451
+ trusted: boolean;
452
+ }
453
+ interface ShowcaseVerificationEntry {
454
+ slug: string;
455
+ target: string | null;
456
+ classification: 'pending' | 'A' | 'B' | 'C' | 'D';
457
+ verificationStatus: 'pending' | 'build-green' | 'build-red' | 'smoke-green' | 'smoke-red';
458
+ build: {
459
+ passed: boolean | null;
460
+ durationMs: number;
461
+ };
462
+ smoke: {
463
+ passed: boolean | null;
464
+ durationMs: number;
465
+ rootDocumentOk: boolean;
466
+ titleOk: boolean;
467
+ langOk: boolean;
468
+ viewportOk: boolean;
469
+ charsetOk: boolean;
470
+ cspSignalOk: boolean;
471
+ inlineScriptCount: number;
472
+ inlineEventHandlerCount: number;
473
+ externalScriptsWithoutIntegrityCount: number;
474
+ externalScriptsWithIntegrityMissingCrossoriginCount: number;
475
+ externalStylesheetsWithoutIntegrityCount: number;
476
+ externalStylesheetsWithIntegrityMissingCrossoriginCount: number;
477
+ externalScriptsWithInsecureTransportCount: number;
478
+ externalStylesheetsWithInsecureTransportCount: number;
479
+ externalMediaSourcesWithInsecureTransportCount: number;
480
+ externalBlankLinksWithoutRelCount: number;
481
+ externalIframesWithoutSandboxCount: number;
482
+ externalIframesWithInsecureTransportCount: number;
483
+ jsEvalSignalCount: number;
484
+ jsHtmlInjectionSignalCount: number;
485
+ jsInsecureTransportSignalCount: number;
486
+ jsSecretSignalCount: number;
487
+ assetCount: number;
488
+ assetsPassed: number;
489
+ routeHintsChecked: string[];
490
+ routeHintsMatched: number;
491
+ routeHintsCoverageOk: boolean;
492
+ routeDocumentsChecked: number;
493
+ routeDocumentsPassed: number;
494
+ routeDocumentsHardenedCount: number;
495
+ routeDocumentsCoverageOk: boolean;
496
+ routeDocumentsHardeningOk: boolean;
497
+ fullRouteCoverageOk: boolean;
498
+ totalAssetBytes: number;
499
+ jsAssetBytes: number;
500
+ cssAssetBytes: number;
501
+ largestAssetPath: string | null;
502
+ largestAssetBytes: number;
503
+ failures: string[];
504
+ };
505
+ drift: {
506
+ signal: 'lower' | 'moderate' | 'elevated';
507
+ penalty: number;
508
+ inlineStyleCount: number;
509
+ hardcodedColorCount: number;
510
+ utilityLeakageCount: number;
511
+ decantrTreatmentCount: number;
512
+ hasPackManifest: boolean;
513
+ hasDist: boolean;
514
+ };
515
+ }
516
+ interface ShowcaseShortlistSummary {
517
+ appCount: number;
518
+ passedBuilds: number;
519
+ failedBuilds: number;
520
+ averageDurationMs: number;
521
+ passedSmokes: number;
522
+ failedSmokes: number;
523
+ averageSmokeDurationMs: number;
524
+ appsWithTitleOkCount: number;
525
+ appsWithLangOkCount: number;
526
+ appsWithViewportOkCount: number;
527
+ appsWithCharsetOkCount: number;
528
+ appsWithoutInlineScriptsCount: number;
529
+ appsWithCspSignalCount: number;
530
+ appsWithExternalScriptIntegrityCount: number;
531
+ appsWithExternalScriptCrossoriginCount: number;
532
+ appsWithExternalStylesheetIntegrityCount: number;
533
+ appsWithExternalStylesheetCrossoriginCount: number;
534
+ appsWithRouteCoverageCount: number;
535
+ appsWithFullRouteCoverageCount: number;
536
+ averageTotalAssetBytes: number;
537
+ averageJsAssetBytes: number;
538
+ averageCssAssetBytes: number;
539
+ lowerDriftCount: number;
540
+ moderateDriftCount: number;
541
+ elevatedDriftCount: number;
542
+ withPackManifestCount: number;
543
+ }
544
+ interface ShowcaseManifestEntry {
545
+ slug: string;
546
+ status: string;
547
+ classification: string;
548
+ origin?: string | null;
549
+ target?: string | null;
550
+ goldenCandidate?: string | boolean;
551
+ notes?: string | null;
552
+ url?: string | null;
553
+ verification?: ShowcaseVerificationEntry | null;
554
+ }
555
+ interface ShowcaseManifestResponse {
556
+ total: number;
557
+ shortlisted: number;
558
+ apps: ShowcaseManifestEntry[];
559
+ }
560
+ interface ShowcaseShortlistResponse {
561
+ generatedAt: string | null;
562
+ summary: ShowcaseShortlistSummary | null;
563
+ apps: ShowcaseManifestEntry[];
564
+ }
565
+ interface ShowcaseShortlistReport {
566
+ $schema: string;
567
+ generatedAt: string;
568
+ dryRun: boolean;
569
+ summary: ShowcaseShortlistSummary;
570
+ results: ShowcaseVerificationEntry[];
571
+ }
572
+ interface HostedFileCritiqueRequest {
573
+ essence: EssenceFile;
574
+ code: string;
575
+ filePath?: string;
576
+ treatmentsCss?: string;
577
+ }
578
+ interface HostedDistSnapshot {
579
+ indexHtml: string;
580
+ assets?: Record<string, string>;
581
+ }
582
+ interface HostedSourceSnapshot {
583
+ files: Record<string, string>;
584
+ }
585
+ interface HostedProjectAuditRequest {
586
+ essence: EssenceFile;
587
+ dist?: HostedDistSnapshot;
588
+ sources?: HostedSourceSnapshot;
589
+ }
590
+ type ExecutionPackType = 'scaffold' | 'section' | 'page' | 'mutation' | 'review';
591
+ interface ExecutionPackTarget {
592
+ platform: 'web';
593
+ framework: string | null;
594
+ runtime: string | null;
595
+ adapter: string;
596
+ }
597
+ interface ExecutionPackScope {
598
+ appId: string;
599
+ pageIds: string[];
600
+ patternIds: string[];
601
+ }
602
+ interface ExecutionPackExample {
603
+ id: string;
604
+ label: string;
605
+ language: string;
606
+ snippet: string;
607
+ }
608
+ interface ExecutionPackAntiPattern {
609
+ id: string;
610
+ summary: string;
611
+ guidance: string;
612
+ }
613
+ interface ExecutionPackSuccessCheck {
614
+ id: string;
615
+ label: string;
616
+ severity: 'error' | 'warn' | 'info';
617
+ }
618
+ interface ExecutionPackTokenBudget {
619
+ target: number;
620
+ max: number;
621
+ strategy: string[];
622
+ }
623
+ interface ExecutionPackBase<TData = Record<string, unknown>> {
624
+ $schema: string;
625
+ packVersion: '1.0.0';
626
+ packType: ExecutionPackType;
627
+ objective: string;
628
+ target: ExecutionPackTarget;
629
+ preset: string | null;
630
+ scope: ExecutionPackScope;
631
+ requiredSetup: string[];
632
+ allowedVocabulary: string[];
633
+ examples: ExecutionPackExample[];
634
+ antiPatterns: ExecutionPackAntiPattern[];
635
+ successChecks: ExecutionPackSuccessCheck[];
636
+ tokenBudget: ExecutionPackTokenBudget;
637
+ data: TData;
638
+ renderedMarkdown: string;
639
+ }
640
+ interface PackManifestEntry {
641
+ id: string;
642
+ markdown: string;
643
+ json: string;
644
+ }
645
+ interface PackManifestSectionEntry extends PackManifestEntry {
646
+ pageIds: string[];
647
+ }
648
+ interface PackManifestPageEntry extends PackManifestEntry {
649
+ sectionId: string | null;
650
+ sectionRole: string | null;
651
+ }
652
+ interface PackManifestMutationEntry extends PackManifestEntry {
653
+ mutationType: 'add-page' | 'modify';
654
+ }
655
+ interface ExecutionPackManifest {
656
+ $schema: string;
657
+ version: '1.0.0';
658
+ generatedAt: string;
659
+ scaffold: PackManifestEntry | null;
660
+ review: PackManifestEntry | null;
661
+ sections: PackManifestSectionEntry[];
662
+ pages: PackManifestPageEntry[];
663
+ mutations: PackManifestMutationEntry[];
664
+ }
665
+ interface ScaffoldExecutionPack extends ExecutionPackBase<{
666
+ shell: string;
667
+ theme: {
668
+ id: string;
669
+ mode: string;
670
+ shape: string | null;
671
+ };
672
+ routing: 'hash' | 'history' | 'pathname';
673
+ features: string[];
674
+ routes: Array<{
675
+ pageId: string;
676
+ path: string;
677
+ patternIds: string[];
678
+ }>;
679
+ }> {
680
+ packType: 'scaffold';
681
+ }
682
+ interface ReviewExecutionPack extends ExecutionPackBase<{
683
+ reviewType: 'app';
684
+ shell: string;
685
+ theme: {
686
+ id: string;
687
+ mode: string;
688
+ shape: string | null;
689
+ };
690
+ routing: 'hash' | 'history' | 'pathname';
691
+ features: string[];
692
+ routes: Array<{
693
+ pageId: string;
694
+ path: string;
695
+ patternIds: string[];
696
+ }>;
697
+ focusAreas: string[];
698
+ workflow: string[];
699
+ }> {
700
+ packType: 'review';
701
+ }
702
+ interface SectionExecutionPack extends ExecutionPackBase<{
703
+ sectionId: string;
704
+ role: string;
705
+ shell: string;
706
+ description: string;
707
+ features: string[];
708
+ theme: {
709
+ id: string;
710
+ mode: string;
711
+ shape: string | null;
712
+ };
713
+ routes: Array<{
714
+ pageId: string;
715
+ path: string;
716
+ patternIds: string[];
717
+ }>;
718
+ }> {
719
+ packType: 'section';
720
+ }
721
+ interface PageExecutionPack extends ExecutionPackBase<{
722
+ pageId: string;
723
+ path: string;
724
+ shell: string;
725
+ sectionId: string | null;
726
+ sectionRole: string | null;
727
+ features: string[];
728
+ surface: string;
729
+ theme: {
730
+ id: string;
731
+ mode: string;
732
+ shape: string | null;
733
+ };
734
+ wiringSignals: string[];
735
+ patterns: Array<{
736
+ id: string;
737
+ alias: string;
738
+ preset: string;
739
+ layout: string;
740
+ }>;
741
+ }> {
742
+ packType: 'page';
743
+ }
744
+ interface MutationExecutionPack extends ExecutionPackBase<{
745
+ mutationType: 'add-page' | 'modify';
746
+ shell: string;
747
+ theme: {
748
+ id: string;
749
+ mode: string;
750
+ shape: string | null;
751
+ };
752
+ routing: 'hash' | 'history' | 'pathname';
753
+ features: string[];
754
+ routes: Array<{
755
+ pageId: string;
756
+ path: string;
757
+ patternIds: string[];
758
+ }>;
759
+ workflow: string[];
760
+ }> {
761
+ packType: 'mutation';
762
+ }
763
+ interface ExecutionPackBundleResponse {
764
+ $schema: string;
765
+ generatedAt: string;
766
+ sourceEssenceVersion: string;
767
+ manifest: ExecutionPackManifest;
768
+ scaffold: ScaffoldExecutionPack;
769
+ review: ReviewExecutionPack;
770
+ sections: SectionExecutionPack[];
771
+ pages: PageExecutionPack[];
772
+ mutations: MutationExecutionPack[];
773
+ }
774
+ interface HostedSelectedExecutionPackRequest {
775
+ essence: EssenceFile;
776
+ pack_type: ExecutionPackType;
777
+ id?: string;
778
+ }
779
+ interface SelectedExecutionPackResponse {
780
+ $schema: string;
781
+ generatedAt: string;
782
+ sourceEssenceVersion: string;
783
+ manifest: ExecutionPackManifest;
784
+ selector: {
785
+ packType: ExecutionPackType;
786
+ id: string | null;
787
+ };
788
+ pack: ScaffoldExecutionPack | ReviewExecutionPack | SectionExecutionPack | PageExecutionPack | MutationExecutionPack;
789
+ }
790
+ type VerificationSeverity = 'error' | 'warn' | 'info';
791
+ interface VerificationFinding {
792
+ id: string;
793
+ category: string;
794
+ severity: VerificationSeverity;
795
+ message: string;
796
+ evidence: string[];
797
+ target?: string;
798
+ file?: string;
799
+ rule?: string;
800
+ suggestedFix?: string;
801
+ }
802
+ interface VerificationScore {
803
+ category: string;
804
+ focusArea: string;
805
+ score: number;
806
+ details: string;
807
+ suggestions: string[];
808
+ }
809
+ interface FileCritiqueReport {
810
+ $schema: string;
811
+ file: string;
812
+ overall: number;
813
+ scores: VerificationScore[];
814
+ findings: VerificationFinding[];
815
+ focusAreas: string[];
816
+ reviewPack: ReviewExecutionPack | null;
817
+ }
818
+ interface ProjectAuditRuntimeAudit {
819
+ distPresent: boolean;
820
+ indexPresent: boolean;
821
+ checked: boolean;
822
+ passed: boolean | null;
823
+ rootDocumentOk: boolean;
824
+ titleOk: boolean;
825
+ langOk: boolean;
826
+ viewportOk: boolean;
827
+ charsetOk: boolean;
828
+ cspSignalOk: boolean;
829
+ inlineScriptCount: number;
830
+ inlineEventHandlerCount: number;
831
+ externalScriptsWithoutIntegrityCount: number;
832
+ externalScriptsWithIntegrityMissingCrossoriginCount: number;
833
+ externalStylesheetsWithoutIntegrityCount: number;
834
+ externalStylesheetsWithIntegrityMissingCrossoriginCount: number;
835
+ externalScriptsWithInsecureTransportCount: number;
836
+ externalStylesheetsWithInsecureTransportCount: number;
837
+ externalMediaSourcesWithInsecureTransportCount: number;
838
+ externalBlankLinksWithoutRelCount: number;
839
+ externalIframesWithoutSandboxCount: number;
840
+ externalIframesWithInsecureTransportCount: number;
841
+ jsEvalSignalCount: number;
842
+ jsHtmlInjectionSignalCount: number;
843
+ jsInsecureTransportSignalCount: number;
844
+ jsSecretSignalCount: number;
845
+ assetCount: number;
846
+ assetsPassed: number;
847
+ routeHintsChecked: string[];
848
+ routeHintsMatched: number;
849
+ routeHintsCoverageOk: boolean;
850
+ routeDocumentsChecked: number;
851
+ routeDocumentsPassed: number;
852
+ routeDocumentsHardenedCount: number;
853
+ routeDocumentsCoverageOk: boolean;
854
+ routeDocumentsHardeningOk: boolean;
855
+ fullRouteCoverageOk: boolean;
856
+ totalAssetBytes: number;
857
+ jsAssetBytes: number;
858
+ cssAssetBytes: number;
859
+ largestAssetPath: string | null;
860
+ largestAssetBytes: number;
861
+ failures: string[];
862
+ }
863
+ interface ProjectAuditSummary {
864
+ errorCount: number;
865
+ warnCount: number;
866
+ infoCount: number;
867
+ essenceVersion: string | null;
868
+ reviewPackPresent: boolean;
869
+ packManifestPresent: boolean;
870
+ runtimeAuditChecked: boolean;
871
+ runtimePassed: boolean | null;
872
+ pageCount: number;
873
+ }
874
+ interface ProjectAuditReport {
875
+ $schema: string;
876
+ projectRoot: string;
877
+ valid: boolean;
878
+ essence: EssenceFile | null;
879
+ reviewPack: ReviewExecutionPack | null;
880
+ packManifest: ExecutionPackManifest | null;
881
+ runtimeAudit: ProjectAuditRuntimeAudit;
882
+ findings: VerificationFinding[];
883
+ summary: ProjectAuditSummary;
884
+ }
885
+
886
+ export { type PackManifestMutationEntry as $, type Archetype as A, type Blueprint as B, type ContentType as C, type ExecutionPackBase as D, type ExecutionPackAntiPattern as E, type ExecutionPackBundleResponse as F, type ExecutionPackExample as G, type ExecutionPackManifest as H, type ExecutionPackScope as I, type ExecutionPackSuccessCheck as J, type ExecutionPackTarget as K, type ExecutionPackTokenBudget as L, type ExecutionPackType as M, type FileCritiqueReport as N, type HostedDistSnapshot as O, type Pattern as P, type HostedFileCritiqueRequest as Q, type ResolvedContent as R, type Shell as S, type Theme as T, type HostedProjectAuditRequest as U, type LayoutGroup as V, type LayoutItem as W, type MutationExecutionPack as X, type OwnedContentSummary as Y, PUBLIC_CONTENT_SOURCES as Z, type PackManifestEntry as _, type PatternPreset as a, type PackManifestPageEntry as a0, type PackManifestSectionEntry as a1, type PageExecutionPack as a2, type PatternCodeSpec as a3, type PatternLayoutSpec as a4, type PatternReference as a5, type PatternReferenceObject as a6, type ProjectAuditReport as a7, type ProjectAuditRuntimeAudit as a8, type ProjectAuditSummary as a9, type VerificationSeverity as aA, isApiContentType as aB, isContentIntelligenceSource as aC, isContentType as aD, isPublicContentSource as aE, type HostedSelectedExecutionPackRequest as aF, type SelectedExecutionPackResponse as aG, type PublicContentRecord as aa, type PublicContentSource as ab, type PublicContentSummary as ac, type PublicUserProfile as ad, type PublishPayload as ae, type PublishResponse as af, type RegistryIntelligenceSummaryBucket as ag, type RegistryIntelligenceSummaryResponse as ah, type ReviewExecutionPack as ai, type ScaffoldExecutionPack as aj, type SearchParams as ak, type SearchResponse as al, type SectionExecutionPack as am, type ShowcaseManifestEntry as an, type ShowcaseManifestResponse as ao, type ShowcaseShortlistReport as ap, type ShowcaseShortlistResponse as aq, type ShowcaseShortlistSummary as ar, type ShowcaseVerificationEntry as as, type ThemeEffects as at, type ThemeShell as au, type ThemeSpatial as av, type ThemeTokens as aw, type UserProfile as ax, type VerificationFinding as ay, type VerificationScore as az, type PatternIO as b, API_CONTENT_TYPES as c, API_CONTENT_TYPE_TO_CONTENT_TYPE as d, type ApiContentType as e, type ArchetypeHeroCustomization as f, type ArchetypePage as g, type ArchetypeRole as h, type ArchetypeSuggestedTheme as i, type BlueprintNavigation as j, type BlueprintNavigationHotkey as k, type BlueprintOverrides as l, type BlueprintRoute as m, CONTENT_INTELLIGENCE_SOURCES as n, CONTENT_TYPES as o, CONTENT_TYPE_TO_API_CONTENT_TYPE as p, type ComposeEntry as q, type ContentBenchmarkConfidence as r, type ContentDependencies as s, type ContentGoldenUsage as t, type ContentIntelligenceMetadata as u, type ContentIntelligenceSource as v, type ContentItem as w, type ContentListResponse as x, type ContentVerificationStatus as y, type CvdMode as z };