@teamix-evo/registry 0.2.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +370 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1077 -106
- package/dist/index.d.ts +1077 -106
- package/dist/index.js +356 -51
- package/dist/index.js.map +1 -1
- package/package.json +5 -1
package/dist/index.d.ts
CHANGED
|
@@ -217,6 +217,19 @@ declare const SkillEntrySchema: z.ZodObject<{
|
|
|
217
217
|
managedRegions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
218
218
|
/** Whether the source is a Handlebars template */
|
|
219
219
|
template: z.ZodOptional<z.ZodBoolean>;
|
|
220
|
+
/**
|
|
221
|
+
* Variant identifier when this skill is bound to a specific design variant
|
|
222
|
+
* (e.g. `"opentrek"`, `"uni-manager"`). Optional — neutral skills (manage,
|
|
223
|
+
* coding-conventions, baseline design-rules) leave it unset.
|
|
224
|
+
*
|
|
225
|
+
* When present, the CLI installs this skill ONLY if the consumer's
|
|
226
|
+
* `.teamix-evo/tokens-lock.json` records the same variant. MUST equal
|
|
227
|
+
* the variant directory name in `@teamix-evo/tokens/variants/<name>/`.
|
|
228
|
+
*
|
|
229
|
+
* Mirrors `UiEntrySchema.variant` semantics in @teamix-evo/biz-ui &
|
|
230
|
+
* @teamix-evo/templates per ADR 0014.
|
|
231
|
+
*/
|
|
232
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
220
233
|
}, "strip", z.ZodTypeAny, {
|
|
221
234
|
id: string;
|
|
222
235
|
source: string;
|
|
@@ -227,6 +240,7 @@ declare const SkillEntrySchema: z.ZodObject<{
|
|
|
227
240
|
name: string;
|
|
228
241
|
template?: boolean | undefined;
|
|
229
242
|
managedRegions?: string[] | undefined;
|
|
243
|
+
variant?: string | undefined;
|
|
230
244
|
}, {
|
|
231
245
|
id: string;
|
|
232
246
|
source: string;
|
|
@@ -237,10 +251,12 @@ declare const SkillEntrySchema: z.ZodObject<{
|
|
|
237
251
|
template?: boolean | undefined;
|
|
238
252
|
managedRegions?: string[] | undefined;
|
|
239
253
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
254
|
+
variant?: string | undefined;
|
|
240
255
|
}>;
|
|
241
256
|
/**
|
|
242
257
|
* Skills package manifest schema — top-level manifest of `@teamix-evo/skills`.
|
|
243
|
-
*
|
|
258
|
+
* Skills are stored flat in the manifest. Variant binding is expressed via
|
|
259
|
+
* the optional `variant` field on each entry (see SkillEntrySchema).
|
|
244
260
|
*/
|
|
245
261
|
declare const SkillsPackageManifestSchema: z.ZodObject<{
|
|
246
262
|
$schema: z.ZodOptional<z.ZodString>;
|
|
@@ -277,6 +293,19 @@ declare const SkillsPackageManifestSchema: z.ZodObject<{
|
|
|
277
293
|
managedRegions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
278
294
|
/** Whether the source is a Handlebars template */
|
|
279
295
|
template: z.ZodOptional<z.ZodBoolean>;
|
|
296
|
+
/**
|
|
297
|
+
* Variant identifier when this skill is bound to a specific design variant
|
|
298
|
+
* (e.g. `"opentrek"`, `"uni-manager"`). Optional — neutral skills (manage,
|
|
299
|
+
* coding-conventions, baseline design-rules) leave it unset.
|
|
300
|
+
*
|
|
301
|
+
* When present, the CLI installs this skill ONLY if the consumer's
|
|
302
|
+
* `.teamix-evo/tokens-lock.json` records the same variant. MUST equal
|
|
303
|
+
* the variant directory name in `@teamix-evo/tokens/variants/<name>/`.
|
|
304
|
+
*
|
|
305
|
+
* Mirrors `UiEntrySchema.variant` semantics in @teamix-evo/biz-ui &
|
|
306
|
+
* @teamix-evo/templates per ADR 0014.
|
|
307
|
+
*/
|
|
308
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
280
309
|
}, "strip", z.ZodTypeAny, {
|
|
281
310
|
id: string;
|
|
282
311
|
source: string;
|
|
@@ -287,6 +316,7 @@ declare const SkillsPackageManifestSchema: z.ZodObject<{
|
|
|
287
316
|
name: string;
|
|
288
317
|
template?: boolean | undefined;
|
|
289
318
|
managedRegions?: string[] | undefined;
|
|
319
|
+
variant?: string | undefined;
|
|
290
320
|
}, {
|
|
291
321
|
id: string;
|
|
292
322
|
source: string;
|
|
@@ -297,6 +327,7 @@ declare const SkillsPackageManifestSchema: z.ZodObject<{
|
|
|
297
327
|
template?: boolean | undefined;
|
|
298
328
|
managedRegions?: string[] | undefined;
|
|
299
329
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
330
|
+
variant?: string | undefined;
|
|
300
331
|
}>, "many">;
|
|
301
332
|
}, "strip", z.ZodTypeAny, {
|
|
302
333
|
schemaVersion: 1;
|
|
@@ -315,6 +346,7 @@ declare const SkillsPackageManifestSchema: z.ZodObject<{
|
|
|
315
346
|
name: string;
|
|
316
347
|
template?: boolean | undefined;
|
|
317
348
|
managedRegions?: string[] | undefined;
|
|
349
|
+
variant?: string | undefined;
|
|
318
350
|
}[];
|
|
319
351
|
$schema?: string | undefined;
|
|
320
352
|
}, {
|
|
@@ -334,6 +366,7 @@ declare const SkillsPackageManifestSchema: z.ZodObject<{
|
|
|
334
366
|
template?: boolean | undefined;
|
|
335
367
|
managedRegions?: string[] | undefined;
|
|
336
368
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
369
|
+
variant?: string | undefined;
|
|
337
370
|
}[];
|
|
338
371
|
$schema?: string | undefined;
|
|
339
372
|
}>;
|
|
@@ -342,14 +375,23 @@ declare const SkillsPackageManifestSchema: z.ZodObject<{
|
|
|
342
375
|
* - component: a React component (e.g. button.tsx)
|
|
343
376
|
* - hook: a React hook (e.g. use-controllable.ts)
|
|
344
377
|
* - util: a utility function (e.g. cn.ts)
|
|
345
|
-
* - block: a higher-level composition
|
|
378
|
+
* - block: a higher-level composition shipped by ui or biz-ui (FilterBar,
|
|
379
|
+
* EmptyState, OrgPicker, ApprovalCard). Per [ADR 0014](../../../../docs/adr/0014-ui-biz-ui-templates-tier.md),
|
|
380
|
+
* ui ships generic blocks, biz-ui ships variant-bound business blocks.
|
|
381
|
+
* - template: a page-level composition shipped by `@teamix-evo/templates`
|
|
382
|
+
* (DashboardLayout, ListDetailPage, ...). Per ADR 0014, templates are
|
|
383
|
+
* variant-aware (mirror biz-ui).
|
|
346
384
|
*/
|
|
347
|
-
declare const UiEntryTypeSchema: z.ZodEnum<["component", "hook", "util", "block"]>;
|
|
385
|
+
declare const UiEntryTypeSchema: z.ZodEnum<["component", "hook", "util", "block", "template"]>;
|
|
348
386
|
/**
|
|
349
387
|
* Alias keys used to resolve where an entry file lands in the user's project.
|
|
350
388
|
* Each key maps to a path configured in `config.json` `packages.ui.aliases`.
|
|
389
|
+
*
|
|
390
|
+
* - `components`: src/components/ui/ (ui & biz-ui blocks default here)
|
|
391
|
+
* - `business`: src/components/business/ (biz-ui only — see ADR 0014)
|
|
392
|
+
* - `templates`: src/templates/ or src/pages/ (templates package — ADR 0014)
|
|
351
393
|
*/
|
|
352
|
-
declare const UiAliasSchema: z.ZodEnum<["components", "hooks", "utils", "lib"]>;
|
|
394
|
+
declare const UiAliasSchema: z.ZodEnum<["components", "hooks", "utils", "lib", "business", "templates"]>;
|
|
353
395
|
/**
|
|
354
396
|
* A single file shipped by a UI entry.
|
|
355
397
|
* Multiple files form one logical entry (rare, but supported).
|
|
@@ -358,16 +400,16 @@ declare const UiEntryFileSchema: z.ZodObject<{
|
|
|
358
400
|
/** Source path relative to the ui package root (e.g. "src/components/button/button.tsx") */
|
|
359
401
|
source: z.ZodString;
|
|
360
402
|
/** Which alias this file resolves under in the consumer project */
|
|
361
|
-
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib"]>;
|
|
403
|
+
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib", "business", "templates"]>;
|
|
362
404
|
/** Filename written under the alias directory (e.g. "button.tsx") */
|
|
363
405
|
targetName: z.ZodString;
|
|
364
406
|
}, "strip", z.ZodTypeAny, {
|
|
365
407
|
source: string;
|
|
366
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
408
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
367
409
|
targetName: string;
|
|
368
410
|
}, {
|
|
369
411
|
source: string;
|
|
370
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
412
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
371
413
|
targetName: string;
|
|
372
414
|
}>;
|
|
373
415
|
/**
|
|
@@ -379,7 +421,7 @@ declare const UiEntrySchema: z.ZodObject<{
|
|
|
379
421
|
/** Display name (e.g. "Button") */
|
|
380
422
|
name: z.ZodString;
|
|
381
423
|
/** Entry type */
|
|
382
|
-
type: z.ZodEnum<["component", "hook", "util", "block"]>;
|
|
424
|
+
type: z.ZodEnum<["component", "hook", "util", "block", "template"]>;
|
|
383
425
|
/** One-line description for entry discovery and AI guidance */
|
|
384
426
|
description: z.ZodString;
|
|
385
427
|
/** Files this entry ships (typically 1) */
|
|
@@ -387,22 +429,22 @@ declare const UiEntrySchema: z.ZodObject<{
|
|
|
387
429
|
/** Source path relative to the ui package root (e.g. "src/components/button/button.tsx") */
|
|
388
430
|
source: z.ZodString;
|
|
389
431
|
/** Which alias this file resolves under in the consumer project */
|
|
390
|
-
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib"]>;
|
|
432
|
+
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib", "business", "templates"]>;
|
|
391
433
|
/** Filename written under the alias directory (e.g. "button.tsx") */
|
|
392
434
|
targetName: z.ZodString;
|
|
393
435
|
}, "strip", z.ZodTypeAny, {
|
|
394
436
|
source: string;
|
|
395
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
437
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
396
438
|
targetName: string;
|
|
397
439
|
}, {
|
|
398
440
|
source: string;
|
|
399
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
441
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
400
442
|
targetName: string;
|
|
401
443
|
}>, "many">;
|
|
402
444
|
/**
|
|
403
445
|
* Optional path to an AI-readable meta document (frontmatter + Markdown).
|
|
404
|
-
*
|
|
405
|
-
*
|
|
446
|
+
* Read directly from `@teamix-evo/ui` by MCP at runtime — no consumer-side
|
|
447
|
+
* copy is written (per ADR 0020 §3).
|
|
406
448
|
*/
|
|
407
449
|
meta: z.ZodOptional<z.ZodString>;
|
|
408
450
|
/** Other UI entries this one depends on (e.g. "button" depends on "cn") */
|
|
@@ -435,56 +477,727 @@ declare const UiEntrySchema: z.ZodObject<{
|
|
|
435
477
|
* Consumers (and AI) should migrate to `replacedBy` rather than this entry.
|
|
436
478
|
*/
|
|
437
479
|
replacedBy: z.ZodOptional<z.ZodString>;
|
|
480
|
+
/**
|
|
481
|
+
* Variant identifier when this entry is shipped from a variant-aware
|
|
482
|
+
* package (`@teamix-evo/biz-ui` or `@teamix-evo/templates` per ADR 0014).
|
|
483
|
+
* Optional — entries from `@teamix-evo/ui` (variant-agnostic) leave it unset.
|
|
484
|
+
* MUST equal the variant directory name when present.
|
|
485
|
+
*/
|
|
486
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
438
487
|
}, "strip", z.ZodTypeAny, {
|
|
439
488
|
id: string;
|
|
440
|
-
type: "component" | "hook" | "util" | "block";
|
|
489
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
441
490
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
442
491
|
status: "stable" | "experimental" | "deprecated";
|
|
443
492
|
description: string;
|
|
444
493
|
name: string;
|
|
445
494
|
files: {
|
|
446
495
|
source: string;
|
|
447
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
496
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
497
|
+
targetName: string;
|
|
498
|
+
}[];
|
|
499
|
+
template?: boolean | undefined;
|
|
500
|
+
variant?: string | undefined;
|
|
501
|
+
meta?: string | undefined;
|
|
502
|
+
registryDependencies?: string[] | undefined;
|
|
503
|
+
dependencies?: Record<string, string> | undefined;
|
|
504
|
+
deprecatedReason?: string | undefined;
|
|
505
|
+
replacedBy?: string | undefined;
|
|
506
|
+
}, {
|
|
507
|
+
id: string;
|
|
508
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
509
|
+
description: string;
|
|
510
|
+
name: string;
|
|
511
|
+
files: {
|
|
512
|
+
source: string;
|
|
513
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
448
514
|
targetName: string;
|
|
449
515
|
}[];
|
|
516
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
450
517
|
template?: boolean | undefined;
|
|
518
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
519
|
+
variant?: string | undefined;
|
|
451
520
|
meta?: string | undefined;
|
|
452
521
|
registryDependencies?: string[] | undefined;
|
|
453
522
|
dependencies?: Record<string, string> | undefined;
|
|
454
523
|
deprecatedReason?: string | undefined;
|
|
455
524
|
replacedBy?: string | undefined;
|
|
525
|
+
}>;
|
|
526
|
+
/**
|
|
527
|
+
* UI package manifest schema — top-level manifest of `@teamix-evo/ui`.
|
|
528
|
+
* Like skills, UI is flat (no variants); brand differences are absorbed by
|
|
529
|
+
* design tokens at the `var(--primary)` layer.
|
|
530
|
+
*/
|
|
531
|
+
declare const UiPackageManifestSchema: z.ZodObject<{
|
|
532
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
533
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
534
|
+
/** Always "ui" for this package */
|
|
535
|
+
package: z.ZodLiteral<"ui">;
|
|
536
|
+
/** Semver version of the ui package */
|
|
537
|
+
version: z.ZodString;
|
|
538
|
+
/** Engine compatibility */
|
|
539
|
+
engines: z.ZodObject<{
|
|
540
|
+
'teamix-evo': z.ZodString;
|
|
541
|
+
}, "strip", z.ZodTypeAny, {
|
|
542
|
+
'teamix-evo': string;
|
|
543
|
+
}, {
|
|
544
|
+
'teamix-evo': string;
|
|
545
|
+
}>;
|
|
546
|
+
/** Active list of entries shipped (and exposed) by this package. */
|
|
547
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
548
|
+
/** Unique entry identifier within the ui package (e.g. "button") */
|
|
549
|
+
id: z.ZodString;
|
|
550
|
+
/** Display name (e.g. "Button") */
|
|
551
|
+
name: z.ZodString;
|
|
552
|
+
/** Entry type */
|
|
553
|
+
type: z.ZodEnum<["component", "hook", "util", "block", "template"]>;
|
|
554
|
+
/** One-line description for entry discovery and AI guidance */
|
|
555
|
+
description: z.ZodString;
|
|
556
|
+
/** Files this entry ships (typically 1) */
|
|
557
|
+
files: z.ZodArray<z.ZodObject<{
|
|
558
|
+
/** Source path relative to the ui package root (e.g. "src/components/button/button.tsx") */
|
|
559
|
+
source: z.ZodString;
|
|
560
|
+
/** Which alias this file resolves under in the consumer project */
|
|
561
|
+
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib", "business", "templates"]>;
|
|
562
|
+
/** Filename written under the alias directory (e.g. "button.tsx") */
|
|
563
|
+
targetName: z.ZodString;
|
|
564
|
+
}, "strip", z.ZodTypeAny, {
|
|
565
|
+
source: string;
|
|
566
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
567
|
+
targetName: string;
|
|
568
|
+
}, {
|
|
569
|
+
source: string;
|
|
570
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
571
|
+
targetName: string;
|
|
572
|
+
}>, "many">;
|
|
573
|
+
/**
|
|
574
|
+
* Optional path to an AI-readable meta document (frontmatter + Markdown).
|
|
575
|
+
* Read directly from `@teamix-evo/ui` by MCP at runtime — no consumer-side
|
|
576
|
+
* copy is written (per ADR 0020 §3).
|
|
577
|
+
*/
|
|
578
|
+
meta: z.ZodOptional<z.ZodString>;
|
|
579
|
+
/** Other UI entries this one depends on (e.g. "button" depends on "cn") */
|
|
580
|
+
registryDependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
581
|
+
/** npm dependencies required by this entry (name → semver range) */
|
|
582
|
+
dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
583
|
+
/**
|
|
584
|
+
* How CLI handles this entry on `ui upgrade`.
|
|
585
|
+
* Defaults to `frozen` — user-owned source code, untouched after first install.
|
|
586
|
+
* Upgrade is handled by AI + skill flow (no CLI rewrite). See PLAN §10.9.
|
|
587
|
+
*/
|
|
588
|
+
updateStrategy: z.ZodDefault<z.ZodEnum<["frozen", "regenerable", "managed"]>>;
|
|
589
|
+
/**
|
|
590
|
+
* Whether the source file should be passed through Handlebars before write.
|
|
591
|
+
* Most entries don't need templating (use import-rewrite transformer instead).
|
|
592
|
+
*/
|
|
593
|
+
template: z.ZodOptional<z.ZodBoolean>;
|
|
594
|
+
/**
|
|
595
|
+
* Maturity / lifecycle status of this entry. Defaults to `stable`.
|
|
596
|
+
* See {@link UiEntryStatusSchema} for semantics.
|
|
597
|
+
*/
|
|
598
|
+
status: z.ZodDefault<z.ZodEnum<["stable", "experimental", "deprecated"]>>;
|
|
599
|
+
/**
|
|
600
|
+
* Free-text rationale shown to consumers when `status` is `deprecated`.
|
|
601
|
+
* Should explain why the entry is going away and what replaces it.
|
|
602
|
+
*/
|
|
603
|
+
deprecatedReason: z.ZodOptional<z.ZodString>;
|
|
604
|
+
/**
|
|
605
|
+
* If this entry is `deprecated`, the id of the entry that supersedes it.
|
|
606
|
+
* Consumers (and AI) should migrate to `replacedBy` rather than this entry.
|
|
607
|
+
*/
|
|
608
|
+
replacedBy: z.ZodOptional<z.ZodString>;
|
|
609
|
+
/**
|
|
610
|
+
* Variant identifier when this entry is shipped from a variant-aware
|
|
611
|
+
* package (`@teamix-evo/biz-ui` or `@teamix-evo/templates` per ADR 0014).
|
|
612
|
+
* Optional — entries from `@teamix-evo/ui` (variant-agnostic) leave it unset.
|
|
613
|
+
* MUST equal the variant directory name when present.
|
|
614
|
+
*/
|
|
615
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
616
|
+
}, "strip", z.ZodTypeAny, {
|
|
617
|
+
id: string;
|
|
618
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
619
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
620
|
+
status: "stable" | "experimental" | "deprecated";
|
|
621
|
+
description: string;
|
|
622
|
+
name: string;
|
|
623
|
+
files: {
|
|
624
|
+
source: string;
|
|
625
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
626
|
+
targetName: string;
|
|
627
|
+
}[];
|
|
628
|
+
template?: boolean | undefined;
|
|
629
|
+
variant?: string | undefined;
|
|
630
|
+
meta?: string | undefined;
|
|
631
|
+
registryDependencies?: string[] | undefined;
|
|
632
|
+
dependencies?: Record<string, string> | undefined;
|
|
633
|
+
deprecatedReason?: string | undefined;
|
|
634
|
+
replacedBy?: string | undefined;
|
|
635
|
+
}, {
|
|
636
|
+
id: string;
|
|
637
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
638
|
+
description: string;
|
|
639
|
+
name: string;
|
|
640
|
+
files: {
|
|
641
|
+
source: string;
|
|
642
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
643
|
+
targetName: string;
|
|
644
|
+
}[];
|
|
645
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
646
|
+
template?: boolean | undefined;
|
|
647
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
648
|
+
variant?: string | undefined;
|
|
649
|
+
meta?: string | undefined;
|
|
650
|
+
registryDependencies?: string[] | undefined;
|
|
651
|
+
dependencies?: Record<string, string> | undefined;
|
|
652
|
+
deprecatedReason?: string | undefined;
|
|
653
|
+
replacedBy?: string | undefined;
|
|
654
|
+
}>, "many">;
|
|
655
|
+
/**
|
|
656
|
+
* Archived entries that are kept in source for Storybook documentation only
|
|
657
|
+
* and are NOT exposed through the active distribution chain. Per ADR 0028:
|
|
658
|
+
* - `teamix-evo ui add <id>` rejects ids found here unless `--include-deprecated` is passed
|
|
659
|
+
* - MCP `list_components` / `find_components` exclude these by default
|
|
660
|
+
* - Storybook keeps the story under `废弃 · Deprecated/` with a banner
|
|
661
|
+
* Optional for backwards compatibility — older manifests without this field
|
|
662
|
+
* still validate.
|
|
663
|
+
*/
|
|
664
|
+
deprecatedEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
665
|
+
/** Unique entry identifier within the ui package (e.g. "button") */
|
|
666
|
+
id: z.ZodString;
|
|
667
|
+
/** Display name (e.g. "Button") */
|
|
668
|
+
name: z.ZodString;
|
|
669
|
+
/** Entry type */
|
|
670
|
+
type: z.ZodEnum<["component", "hook", "util", "block", "template"]>;
|
|
671
|
+
/** One-line description for entry discovery and AI guidance */
|
|
672
|
+
description: z.ZodString;
|
|
673
|
+
/** Files this entry ships (typically 1) */
|
|
674
|
+
files: z.ZodArray<z.ZodObject<{
|
|
675
|
+
/** Source path relative to the ui package root (e.g. "src/components/button/button.tsx") */
|
|
676
|
+
source: z.ZodString;
|
|
677
|
+
/** Which alias this file resolves under in the consumer project */
|
|
678
|
+
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib", "business", "templates"]>;
|
|
679
|
+
/** Filename written under the alias directory (e.g. "button.tsx") */
|
|
680
|
+
targetName: z.ZodString;
|
|
681
|
+
}, "strip", z.ZodTypeAny, {
|
|
682
|
+
source: string;
|
|
683
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
684
|
+
targetName: string;
|
|
685
|
+
}, {
|
|
686
|
+
source: string;
|
|
687
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
688
|
+
targetName: string;
|
|
689
|
+
}>, "many">;
|
|
690
|
+
/**
|
|
691
|
+
* Optional path to an AI-readable meta document (frontmatter + Markdown).
|
|
692
|
+
* Read directly from `@teamix-evo/ui` by MCP at runtime — no consumer-side
|
|
693
|
+
* copy is written (per ADR 0020 §3).
|
|
694
|
+
*/
|
|
695
|
+
meta: z.ZodOptional<z.ZodString>;
|
|
696
|
+
/** Other UI entries this one depends on (e.g. "button" depends on "cn") */
|
|
697
|
+
registryDependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
698
|
+
/** npm dependencies required by this entry (name → semver range) */
|
|
699
|
+
dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
700
|
+
/**
|
|
701
|
+
* How CLI handles this entry on `ui upgrade`.
|
|
702
|
+
* Defaults to `frozen` — user-owned source code, untouched after first install.
|
|
703
|
+
* Upgrade is handled by AI + skill flow (no CLI rewrite). See PLAN §10.9.
|
|
704
|
+
*/
|
|
705
|
+
updateStrategy: z.ZodDefault<z.ZodEnum<["frozen", "regenerable", "managed"]>>;
|
|
706
|
+
/**
|
|
707
|
+
* Whether the source file should be passed through Handlebars before write.
|
|
708
|
+
* Most entries don't need templating (use import-rewrite transformer instead).
|
|
709
|
+
*/
|
|
710
|
+
template: z.ZodOptional<z.ZodBoolean>;
|
|
711
|
+
/**
|
|
712
|
+
* Maturity / lifecycle status of this entry. Defaults to `stable`.
|
|
713
|
+
* See {@link UiEntryStatusSchema} for semantics.
|
|
714
|
+
*/
|
|
715
|
+
status: z.ZodDefault<z.ZodEnum<["stable", "experimental", "deprecated"]>>;
|
|
716
|
+
/**
|
|
717
|
+
* Free-text rationale shown to consumers when `status` is `deprecated`.
|
|
718
|
+
* Should explain why the entry is going away and what replaces it.
|
|
719
|
+
*/
|
|
720
|
+
deprecatedReason: z.ZodOptional<z.ZodString>;
|
|
721
|
+
/**
|
|
722
|
+
* If this entry is `deprecated`, the id of the entry that supersedes it.
|
|
723
|
+
* Consumers (and AI) should migrate to `replacedBy` rather than this entry.
|
|
724
|
+
*/
|
|
725
|
+
replacedBy: z.ZodOptional<z.ZodString>;
|
|
726
|
+
/**
|
|
727
|
+
* Variant identifier when this entry is shipped from a variant-aware
|
|
728
|
+
* package (`@teamix-evo/biz-ui` or `@teamix-evo/templates` per ADR 0014).
|
|
729
|
+
* Optional — entries from `@teamix-evo/ui` (variant-agnostic) leave it unset.
|
|
730
|
+
* MUST equal the variant directory name when present.
|
|
731
|
+
*/
|
|
732
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
733
|
+
}, "strip", z.ZodTypeAny, {
|
|
734
|
+
id: string;
|
|
735
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
736
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
737
|
+
status: "stable" | "experimental" | "deprecated";
|
|
738
|
+
description: string;
|
|
739
|
+
name: string;
|
|
740
|
+
files: {
|
|
741
|
+
source: string;
|
|
742
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
743
|
+
targetName: string;
|
|
744
|
+
}[];
|
|
745
|
+
template?: boolean | undefined;
|
|
746
|
+
variant?: string | undefined;
|
|
747
|
+
meta?: string | undefined;
|
|
748
|
+
registryDependencies?: string[] | undefined;
|
|
749
|
+
dependencies?: Record<string, string> | undefined;
|
|
750
|
+
deprecatedReason?: string | undefined;
|
|
751
|
+
replacedBy?: string | undefined;
|
|
752
|
+
}, {
|
|
753
|
+
id: string;
|
|
754
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
755
|
+
description: string;
|
|
756
|
+
name: string;
|
|
757
|
+
files: {
|
|
758
|
+
source: string;
|
|
759
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
760
|
+
targetName: string;
|
|
761
|
+
}[];
|
|
762
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
763
|
+
template?: boolean | undefined;
|
|
764
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
765
|
+
variant?: string | undefined;
|
|
766
|
+
meta?: string | undefined;
|
|
767
|
+
registryDependencies?: string[] | undefined;
|
|
768
|
+
dependencies?: Record<string, string> | undefined;
|
|
769
|
+
deprecatedReason?: string | undefined;
|
|
770
|
+
replacedBy?: string | undefined;
|
|
771
|
+
}>, "many">>;
|
|
772
|
+
}, "strip", z.ZodTypeAny, {
|
|
773
|
+
entries: {
|
|
774
|
+
id: string;
|
|
775
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
776
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
777
|
+
status: "stable" | "experimental" | "deprecated";
|
|
778
|
+
description: string;
|
|
779
|
+
name: string;
|
|
780
|
+
files: {
|
|
781
|
+
source: string;
|
|
782
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
783
|
+
targetName: string;
|
|
784
|
+
}[];
|
|
785
|
+
template?: boolean | undefined;
|
|
786
|
+
variant?: string | undefined;
|
|
787
|
+
meta?: string | undefined;
|
|
788
|
+
registryDependencies?: string[] | undefined;
|
|
789
|
+
dependencies?: Record<string, string> | undefined;
|
|
790
|
+
deprecatedReason?: string | undefined;
|
|
791
|
+
replacedBy?: string | undefined;
|
|
792
|
+
}[];
|
|
793
|
+
schemaVersion: 1;
|
|
794
|
+
package: "ui";
|
|
795
|
+
version: string;
|
|
796
|
+
engines: {
|
|
797
|
+
'teamix-evo': string;
|
|
798
|
+
};
|
|
799
|
+
$schema?: string | undefined;
|
|
800
|
+
deprecatedEntries?: {
|
|
801
|
+
id: string;
|
|
802
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
803
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
804
|
+
status: "stable" | "experimental" | "deprecated";
|
|
805
|
+
description: string;
|
|
806
|
+
name: string;
|
|
807
|
+
files: {
|
|
808
|
+
source: string;
|
|
809
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
810
|
+
targetName: string;
|
|
811
|
+
}[];
|
|
812
|
+
template?: boolean | undefined;
|
|
813
|
+
variant?: string | undefined;
|
|
814
|
+
meta?: string | undefined;
|
|
815
|
+
registryDependencies?: string[] | undefined;
|
|
816
|
+
dependencies?: Record<string, string> | undefined;
|
|
817
|
+
deprecatedReason?: string | undefined;
|
|
818
|
+
replacedBy?: string | undefined;
|
|
819
|
+
}[] | undefined;
|
|
820
|
+
}, {
|
|
821
|
+
entries: {
|
|
822
|
+
id: string;
|
|
823
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
824
|
+
description: string;
|
|
825
|
+
name: string;
|
|
826
|
+
files: {
|
|
827
|
+
source: string;
|
|
828
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
829
|
+
targetName: string;
|
|
830
|
+
}[];
|
|
831
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
832
|
+
template?: boolean | undefined;
|
|
833
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
834
|
+
variant?: string | undefined;
|
|
835
|
+
meta?: string | undefined;
|
|
836
|
+
registryDependencies?: string[] | undefined;
|
|
837
|
+
dependencies?: Record<string, string> | undefined;
|
|
838
|
+
deprecatedReason?: string | undefined;
|
|
839
|
+
replacedBy?: string | undefined;
|
|
840
|
+
}[];
|
|
841
|
+
schemaVersion: 1;
|
|
842
|
+
package: "ui";
|
|
843
|
+
version: string;
|
|
844
|
+
engines: {
|
|
845
|
+
'teamix-evo': string;
|
|
846
|
+
};
|
|
847
|
+
$schema?: string | undefined;
|
|
848
|
+
deprecatedEntries?: {
|
|
849
|
+
id: string;
|
|
850
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
851
|
+
description: string;
|
|
852
|
+
name: string;
|
|
853
|
+
files: {
|
|
854
|
+
source: string;
|
|
855
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
856
|
+
targetName: string;
|
|
857
|
+
}[];
|
|
858
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
859
|
+
template?: boolean | undefined;
|
|
860
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
861
|
+
variant?: string | undefined;
|
|
862
|
+
meta?: string | undefined;
|
|
863
|
+
registryDependencies?: string[] | undefined;
|
|
864
|
+
dependencies?: Record<string, string> | undefined;
|
|
865
|
+
deprecatedReason?: string | undefined;
|
|
866
|
+
replacedBy?: string | undefined;
|
|
867
|
+
}[] | undefined;
|
|
868
|
+
}>;
|
|
869
|
+
|
|
870
|
+
/**
|
|
871
|
+
* `@teamix-evo/tokens` package manifest schema.
|
|
872
|
+
*
|
|
873
|
+
* Per [ADR 0020](../../../../docs/adr/0020-design-to-tokens-skill-fusion.md)
|
|
874
|
+
* the package is now a pure, variant-list catalog — no `default/` baseline,
|
|
875
|
+
* no per-variant `pack.json`, no walk-and-merge inheritance:
|
|
876
|
+
*
|
|
877
|
+
* packages/tokens/
|
|
878
|
+
* ├── manifest.json <- this schema (top-level catalog)
|
|
879
|
+
* └── variants/
|
|
880
|
+
* ├── opentrek/
|
|
881
|
+
* │ ├── theme.css <- Tailwind v4 @theme source of truth
|
|
882
|
+
* │ └── base.tokens.json
|
|
883
|
+
* └── uni-manager/
|
|
884
|
+
* ├── theme.css
|
|
885
|
+
* └── base.tokens.json
|
|
886
|
+
*
|
|
887
|
+
* Each variant is a complete, self-contained token set (ADR 0020 §3). The
|
|
888
|
+
* catalog is the single source of truth for variant identity + advertised
|
|
889
|
+
* files; the validator (`packages/tokens/scripts/validate-variants.ts`)
|
|
890
|
+
* enforces parity between catalog entries and on-disk variant directories.
|
|
891
|
+
*/
|
|
892
|
+
|
|
893
|
+
/**
|
|
894
|
+
* Soft cross-package links advertised by a variant.
|
|
895
|
+
*
|
|
896
|
+
* Format: `<package-spec>#<variant-name>`, e.g. `@teamix-evo/biz-ui#opentrek`.
|
|
897
|
+
* The link is **soft** — the linked package may not exist yet.
|
|
898
|
+
*
|
|
899
|
+
* Templates link added per [ADR 0014 amendment](../../../../docs/adr/0014-ui-biz-ui-templates-tier.md).
|
|
900
|
+
*/
|
|
901
|
+
declare const TokensPackLinkedSchema: z.ZodObject<{
|
|
902
|
+
'biz-ui': z.ZodOptional<z.ZodString>;
|
|
903
|
+
templates: z.ZodOptional<z.ZodString>;
|
|
904
|
+
}, "strip", z.ZodTypeAny, {
|
|
905
|
+
templates?: string | undefined;
|
|
906
|
+
'biz-ui'?: string | undefined;
|
|
907
|
+
}, {
|
|
908
|
+
templates?: string | undefined;
|
|
909
|
+
'biz-ui'?: string | undefined;
|
|
910
|
+
}>;
|
|
911
|
+
/**
|
|
912
|
+
* One variant entry in the top-level catalog.
|
|
913
|
+
*/
|
|
914
|
+
declare const TokensVariantEntrySchema: z.ZodObject<{
|
|
915
|
+
/** Variant id — lowercase kebab-case. */
|
|
916
|
+
name: z.ZodString;
|
|
917
|
+
/** Human-readable display name (e.g. "OpenTrek" for variant id "opentrek"). */
|
|
918
|
+
displayName: z.ZodString;
|
|
919
|
+
/** Variant version — semver. May trail the package version when only a subset of variants change. */
|
|
920
|
+
version: z.ZodString;
|
|
921
|
+
/** Optional one-liner description; surfaced in `tokens list-variants` output. */
|
|
922
|
+
description: z.ZodOptional<z.ZodString>;
|
|
923
|
+
/**
|
|
924
|
+
* Files this variant advertises, paths relative to the tokens package root
|
|
925
|
+
* (e.g. `variants/opentrek/theme.css`). The validator walks these to
|
|
926
|
+
* confirm presence; the CLI consumes them at install time.
|
|
927
|
+
*/
|
|
928
|
+
files: z.ZodArray<z.ZodString, "many">;
|
|
929
|
+
/** Soft cross-package links (biz-ui / templates with the same variant name). */
|
|
930
|
+
linked: z.ZodOptional<z.ZodObject<{
|
|
931
|
+
'biz-ui': z.ZodOptional<z.ZodString>;
|
|
932
|
+
templates: z.ZodOptional<z.ZodString>;
|
|
933
|
+
}, "strip", z.ZodTypeAny, {
|
|
934
|
+
templates?: string | undefined;
|
|
935
|
+
'biz-ui'?: string | undefined;
|
|
936
|
+
}, {
|
|
937
|
+
templates?: string | undefined;
|
|
938
|
+
'biz-ui'?: string | undefined;
|
|
939
|
+
}>>;
|
|
940
|
+
}, "strip", z.ZodTypeAny, {
|
|
941
|
+
displayName: string;
|
|
942
|
+
version: string;
|
|
943
|
+
name: string;
|
|
944
|
+
files: string[];
|
|
945
|
+
description?: string | undefined;
|
|
946
|
+
linked?: {
|
|
947
|
+
templates?: string | undefined;
|
|
948
|
+
'biz-ui'?: string | undefined;
|
|
949
|
+
} | undefined;
|
|
950
|
+
}, {
|
|
951
|
+
displayName: string;
|
|
952
|
+
version: string;
|
|
953
|
+
name: string;
|
|
954
|
+
files: string[];
|
|
955
|
+
description?: string | undefined;
|
|
956
|
+
linked?: {
|
|
957
|
+
templates?: string | undefined;
|
|
958
|
+
'biz-ui'?: string | undefined;
|
|
959
|
+
} | undefined;
|
|
960
|
+
}>;
|
|
961
|
+
type TokensVariantEntry = z.infer<typeof TokensVariantEntrySchema>;
|
|
962
|
+
type TokensPackLinked = z.infer<typeof TokensPackLinkedSchema>;
|
|
963
|
+
/**
|
|
964
|
+
* Top-level catalog of all variants in `@teamix-evo/tokens`.
|
|
965
|
+
*
|
|
966
|
+
* Lives at `packages/tokens/manifest.json`. Lists every variant the package
|
|
967
|
+
* ships. The catalog is hand-edited (or regenerable via
|
|
968
|
+
* `pnpm --filter @teamix-evo/tokens validate`); variant directories on disk
|
|
969
|
+
* are the source of truth for file content.
|
|
970
|
+
*/
|
|
971
|
+
declare const TokensPackageManifestSchema: z.ZodObject<{
|
|
972
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
973
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
974
|
+
/** Always `"tokens"` — disambiguates from other teamix-evo package manifests. */
|
|
975
|
+
package: z.ZodLiteral<"tokens">;
|
|
976
|
+
/** Semver of the entire tokens package. */
|
|
977
|
+
version: z.ZodString;
|
|
978
|
+
/** Engine compatibility. */
|
|
979
|
+
engines: z.ZodObject<{
|
|
980
|
+
'teamix-evo': z.ZodString;
|
|
981
|
+
}, "strip", z.ZodTypeAny, {
|
|
982
|
+
'teamix-evo': string;
|
|
983
|
+
}, {
|
|
984
|
+
'teamix-evo': string;
|
|
985
|
+
}>;
|
|
986
|
+
/** Optional package-level description. */
|
|
987
|
+
description: z.ZodOptional<z.ZodString>;
|
|
988
|
+
/** All shipped variants (excluding scaffold dirs that begin with `_`). */
|
|
989
|
+
variants: z.ZodArray<z.ZodObject<{
|
|
990
|
+
/** Variant id — lowercase kebab-case. */
|
|
991
|
+
name: z.ZodString;
|
|
992
|
+
/** Human-readable display name (e.g. "OpenTrek" for variant id "opentrek"). */
|
|
993
|
+
displayName: z.ZodString;
|
|
994
|
+
/** Variant version — semver. May trail the package version when only a subset of variants change. */
|
|
995
|
+
version: z.ZodString;
|
|
996
|
+
/** Optional one-liner description; surfaced in `tokens list-variants` output. */
|
|
997
|
+
description: z.ZodOptional<z.ZodString>;
|
|
998
|
+
/**
|
|
999
|
+
* Files this variant advertises, paths relative to the tokens package root
|
|
1000
|
+
* (e.g. `variants/opentrek/theme.css`). The validator walks these to
|
|
1001
|
+
* confirm presence; the CLI consumes them at install time.
|
|
1002
|
+
*/
|
|
1003
|
+
files: z.ZodArray<z.ZodString, "many">;
|
|
1004
|
+
/** Soft cross-package links (biz-ui / templates with the same variant name). */
|
|
1005
|
+
linked: z.ZodOptional<z.ZodObject<{
|
|
1006
|
+
'biz-ui': z.ZodOptional<z.ZodString>;
|
|
1007
|
+
templates: z.ZodOptional<z.ZodString>;
|
|
1008
|
+
}, "strip", z.ZodTypeAny, {
|
|
1009
|
+
templates?: string | undefined;
|
|
1010
|
+
'biz-ui'?: string | undefined;
|
|
1011
|
+
}, {
|
|
1012
|
+
templates?: string | undefined;
|
|
1013
|
+
'biz-ui'?: string | undefined;
|
|
1014
|
+
}>>;
|
|
1015
|
+
}, "strip", z.ZodTypeAny, {
|
|
1016
|
+
displayName: string;
|
|
1017
|
+
version: string;
|
|
1018
|
+
name: string;
|
|
1019
|
+
files: string[];
|
|
1020
|
+
description?: string | undefined;
|
|
1021
|
+
linked?: {
|
|
1022
|
+
templates?: string | undefined;
|
|
1023
|
+
'biz-ui'?: string | undefined;
|
|
1024
|
+
} | undefined;
|
|
1025
|
+
}, {
|
|
1026
|
+
displayName: string;
|
|
1027
|
+
version: string;
|
|
1028
|
+
name: string;
|
|
1029
|
+
files: string[];
|
|
1030
|
+
description?: string | undefined;
|
|
1031
|
+
linked?: {
|
|
1032
|
+
templates?: string | undefined;
|
|
1033
|
+
'biz-ui'?: string | undefined;
|
|
1034
|
+
} | undefined;
|
|
1035
|
+
}>, "many">;
|
|
1036
|
+
/**
|
|
1037
|
+
* Reserved for future shared assets that span variants (e.g. browser
|
|
1038
|
+
* quirks resets co-shipped at the package root). Empty array today.
|
|
1039
|
+
*/
|
|
1040
|
+
shared: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1041
|
+
}, "strip", z.ZodTypeAny, {
|
|
1042
|
+
schemaVersion: 1;
|
|
1043
|
+
package: "tokens";
|
|
1044
|
+
version: string;
|
|
1045
|
+
engines: {
|
|
1046
|
+
'teamix-evo': string;
|
|
1047
|
+
};
|
|
1048
|
+
variants: {
|
|
1049
|
+
displayName: string;
|
|
1050
|
+
version: string;
|
|
1051
|
+
name: string;
|
|
1052
|
+
files: string[];
|
|
1053
|
+
description?: string | undefined;
|
|
1054
|
+
linked?: {
|
|
1055
|
+
templates?: string | undefined;
|
|
1056
|
+
'biz-ui'?: string | undefined;
|
|
1057
|
+
} | undefined;
|
|
1058
|
+
}[];
|
|
1059
|
+
$schema?: string | undefined;
|
|
1060
|
+
description?: string | undefined;
|
|
1061
|
+
shared?: string[] | undefined;
|
|
456
1062
|
}, {
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
1063
|
+
schemaVersion: 1;
|
|
1064
|
+
package: "tokens";
|
|
1065
|
+
version: string;
|
|
1066
|
+
engines: {
|
|
1067
|
+
'teamix-evo': string;
|
|
1068
|
+
};
|
|
1069
|
+
variants: {
|
|
1070
|
+
displayName: string;
|
|
1071
|
+
version: string;
|
|
1072
|
+
name: string;
|
|
1073
|
+
files: string[];
|
|
1074
|
+
description?: string | undefined;
|
|
1075
|
+
linked?: {
|
|
1076
|
+
templates?: string | undefined;
|
|
1077
|
+
'biz-ui'?: string | undefined;
|
|
1078
|
+
} | undefined;
|
|
465
1079
|
}[];
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
meta?: string | undefined;
|
|
470
|
-
registryDependencies?: string[] | undefined;
|
|
471
|
-
dependencies?: Record<string, string> | undefined;
|
|
472
|
-
deprecatedReason?: string | undefined;
|
|
473
|
-
replacedBy?: string | undefined;
|
|
1080
|
+
$schema?: string | undefined;
|
|
1081
|
+
description?: string | undefined;
|
|
1082
|
+
shared?: string[] | undefined;
|
|
474
1083
|
}>;
|
|
1084
|
+
type TokensPackageManifest = z.infer<typeof TokensPackageManifestSchema>;
|
|
475
1085
|
/**
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
1086
|
+
* Consumer-side lock file written to
|
|
1087
|
+
* `.teamix-evo/tokens-lock.json` after `tokens init`.
|
|
1088
|
+
*
|
|
1089
|
+
* Records which tokens variant + version was installed. There is no longer a
|
|
1090
|
+
* `default` field — every variant is self-contained per ADR 0020.
|
|
479
1091
|
*/
|
|
480
|
-
declare const
|
|
1092
|
+
declare const TokensPackLockSchema: z.ZodObject<{
|
|
481
1093
|
$schema: z.ZodOptional<z.ZodString>;
|
|
482
1094
|
schemaVersion: z.ZodLiteral<1>;
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
1095
|
+
variant: z.ZodObject<{
|
|
1096
|
+
name: z.ZodString;
|
|
1097
|
+
displayName: z.ZodString;
|
|
1098
|
+
version: z.ZodString;
|
|
1099
|
+
from: z.ZodString;
|
|
1100
|
+
}, "strip", z.ZodTypeAny, {
|
|
1101
|
+
displayName: string;
|
|
1102
|
+
version: string;
|
|
1103
|
+
name: string;
|
|
1104
|
+
from: string;
|
|
1105
|
+
}, {
|
|
1106
|
+
displayName: string;
|
|
1107
|
+
version: string;
|
|
1108
|
+
name: string;
|
|
1109
|
+
from: string;
|
|
1110
|
+
}>;
|
|
1111
|
+
/** Tokens package version — useful when variant version trails the package. */
|
|
1112
|
+
packageVersion: z.ZodString;
|
|
1113
|
+
linked: z.ZodOptional<z.ZodObject<{
|
|
1114
|
+
'biz-ui': z.ZodOptional<z.ZodString>;
|
|
1115
|
+
templates: z.ZodOptional<z.ZodString>;
|
|
1116
|
+
}, "strip", z.ZodTypeAny, {
|
|
1117
|
+
templates?: string | undefined;
|
|
1118
|
+
'biz-ui'?: string | undefined;
|
|
1119
|
+
}, {
|
|
1120
|
+
templates?: string | undefined;
|
|
1121
|
+
'biz-ui'?: string | undefined;
|
|
1122
|
+
}>>;
|
|
1123
|
+
installedAt: z.ZodString;
|
|
1124
|
+
}, "strip", z.ZodTypeAny, {
|
|
1125
|
+
schemaVersion: 1;
|
|
1126
|
+
variant: {
|
|
1127
|
+
displayName: string;
|
|
1128
|
+
version: string;
|
|
1129
|
+
name: string;
|
|
1130
|
+
from: string;
|
|
1131
|
+
};
|
|
1132
|
+
packageVersion: string;
|
|
1133
|
+
installedAt: string;
|
|
1134
|
+
$schema?: string | undefined;
|
|
1135
|
+
linked?: {
|
|
1136
|
+
templates?: string | undefined;
|
|
1137
|
+
'biz-ui'?: string | undefined;
|
|
1138
|
+
} | undefined;
|
|
1139
|
+
}, {
|
|
1140
|
+
schemaVersion: 1;
|
|
1141
|
+
variant: {
|
|
1142
|
+
displayName: string;
|
|
1143
|
+
version: string;
|
|
1144
|
+
name: string;
|
|
1145
|
+
from: string;
|
|
1146
|
+
};
|
|
1147
|
+
packageVersion: string;
|
|
1148
|
+
installedAt: string;
|
|
1149
|
+
$schema?: string | undefined;
|
|
1150
|
+
linked?: {
|
|
1151
|
+
templates?: string | undefined;
|
|
1152
|
+
'biz-ui'?: string | undefined;
|
|
1153
|
+
} | undefined;
|
|
1154
|
+
}>;
|
|
1155
|
+
type TokensPackLock = z.infer<typeof TokensPackLockSchema>;
|
|
1156
|
+
|
|
1157
|
+
/**
|
|
1158
|
+
* Schemas for variant-aware UI packages — `@teamix-evo/biz-ui` and
|
|
1159
|
+
* `@teamix-evo/templates`.
|
|
1160
|
+
*
|
|
1161
|
+
* Per [ADR 0014](../../../../docs/adr/0014-ui-biz-ui-templates-tier.md), these
|
|
1162
|
+
* two packages mirror `@teamix-evo/tokens`'s variant model: each ships a
|
|
1163
|
+
* top-level catalog (variants list) plus a per-variant manifest (entry list).
|
|
1164
|
+
*
|
|
1165
|
+
* packages/biz-ui/
|
|
1166
|
+
* ├── manifest.json <- VariantUiPackageCatalogSchema
|
|
1167
|
+
* └── variants/<name>/
|
|
1168
|
+
* └── manifest.json <- VariantUiPackageManifestSchema
|
|
1169
|
+
*
|
|
1170
|
+
* The per-variant manifest is **structurally similar to `UiPackageManifest`**
|
|
1171
|
+
* (flat entries list) but adds a `variant` field — the variant name that all
|
|
1172
|
+
* entries in this manifest belong to. Each entry's `variant` field MUST match
|
|
1173
|
+
* (cross-checked at validation).
|
|
1174
|
+
*/
|
|
1175
|
+
|
|
1176
|
+
/**
|
|
1177
|
+
* Discriminator for which variant-aware package this manifest belongs to.
|
|
1178
|
+
*/
|
|
1179
|
+
declare const VariantUiPackageNameSchema: z.ZodEnum<["biz-ui", "templates"]>;
|
|
1180
|
+
/**
|
|
1181
|
+
* Per-variant manifest — lives at `packages/<pkg>/variants/<name>/manifest.json`.
|
|
1182
|
+
*
|
|
1183
|
+
* Lists the entries this variant ships. Entries reuse `UiEntrySchema` (they
|
|
1184
|
+
* are technically the same shape as ui entries — only difference is they
|
|
1185
|
+
* declare a `variant` field tying them to a brand).
|
|
1186
|
+
*/
|
|
1187
|
+
declare const VariantUiPackageManifestSchema: z.ZodEffects<z.ZodObject<{
|
|
1188
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
1189
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
1190
|
+
/** Discriminator. */
|
|
1191
|
+
package: z.ZodEnum<["biz-ui", "templates"]>;
|
|
1192
|
+
/**
|
|
1193
|
+
* Variant identifier — lowercase kebab-case, MUST match the parent
|
|
1194
|
+
* directory name (e.g. `opentrek` for `variants/opentrek/manifest.json`).
|
|
1195
|
+
* `_template` is also accepted for the variant scaffold.
|
|
1196
|
+
*/
|
|
1197
|
+
variant: z.ZodUnion<[z.ZodString, z.ZodLiteral<"_template">]>;
|
|
1198
|
+
/** Semver of this variant. */
|
|
486
1199
|
version: z.ZodString;
|
|
487
|
-
/** Engine compatibility */
|
|
1200
|
+
/** Engine compatibility. */
|
|
488
1201
|
engines: z.ZodObject<{
|
|
489
1202
|
'teamix-evo': z.ZodString;
|
|
490
1203
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -492,82 +1205,48 @@ declare const UiPackageManifestSchema: z.ZodObject<{
|
|
|
492
1205
|
}, {
|
|
493
1206
|
'teamix-evo': string;
|
|
494
1207
|
}>;
|
|
495
|
-
/** Flat list of entries shipped by this
|
|
1208
|
+
/** Flat list of entries shipped by this variant. */
|
|
496
1209
|
entries: z.ZodArray<z.ZodObject<{
|
|
497
|
-
/** Unique entry identifier within the ui package (e.g. "button") */
|
|
498
1210
|
id: z.ZodString;
|
|
499
|
-
/** Display name (e.g. "Button") */
|
|
500
1211
|
name: z.ZodString;
|
|
501
|
-
|
|
502
|
-
type: z.ZodEnum<["component", "hook", "util", "block"]>;
|
|
503
|
-
/** One-line description for entry discovery and AI guidance */
|
|
1212
|
+
type: z.ZodEnum<["component", "hook", "util", "block", "template"]>;
|
|
504
1213
|
description: z.ZodString;
|
|
505
|
-
/** Files this entry ships (typically 1) */
|
|
506
1214
|
files: z.ZodArray<z.ZodObject<{
|
|
507
|
-
/** Source path relative to the ui package root (e.g. "src/components/button/button.tsx") */
|
|
508
1215
|
source: z.ZodString;
|
|
509
|
-
|
|
510
|
-
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib"]>;
|
|
511
|
-
/** Filename written under the alias directory (e.g. "button.tsx") */
|
|
1216
|
+
targetAlias: z.ZodEnum<["components", "hooks", "utils", "lib", "business", "templates"]>;
|
|
512
1217
|
targetName: z.ZodString;
|
|
513
1218
|
}, "strip", z.ZodTypeAny, {
|
|
514
1219
|
source: string;
|
|
515
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
1220
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
516
1221
|
targetName: string;
|
|
517
1222
|
}, {
|
|
518
1223
|
source: string;
|
|
519
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
1224
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
520
1225
|
targetName: string;
|
|
521
1226
|
}>, "many">;
|
|
522
|
-
/**
|
|
523
|
-
* Optional path to an AI-readable meta document (frontmatter + Markdown).
|
|
524
|
-
* When set, CLI install drops it at `.teamix-evo/design/components/<id>.meta.md`
|
|
525
|
-
* for design's ai-rules to consume.
|
|
526
|
-
*/
|
|
527
1227
|
meta: z.ZodOptional<z.ZodString>;
|
|
528
|
-
/** Other UI entries this one depends on (e.g. "button" depends on "cn") */
|
|
529
1228
|
registryDependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
530
|
-
/** npm dependencies required by this entry (name → semver range) */
|
|
531
1229
|
dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
532
|
-
/**
|
|
533
|
-
* How CLI handles this entry on `ui upgrade`.
|
|
534
|
-
* Defaults to `frozen` — user-owned source code, untouched after first install.
|
|
535
|
-
* Upgrade is handled by AI + skill flow (no CLI rewrite). See PLAN §10.9.
|
|
536
|
-
*/
|
|
537
1230
|
updateStrategy: z.ZodDefault<z.ZodEnum<["frozen", "regenerable", "managed"]>>;
|
|
538
|
-
/**
|
|
539
|
-
* Whether the source file should be passed through Handlebars before write.
|
|
540
|
-
* Most entries don't need templating (use import-rewrite transformer instead).
|
|
541
|
-
*/
|
|
542
1231
|
template: z.ZodOptional<z.ZodBoolean>;
|
|
543
|
-
/**
|
|
544
|
-
* Maturity / lifecycle status of this entry. Defaults to `stable`.
|
|
545
|
-
* See {@link UiEntryStatusSchema} for semantics.
|
|
546
|
-
*/
|
|
547
1232
|
status: z.ZodDefault<z.ZodEnum<["stable", "experimental", "deprecated"]>>;
|
|
548
|
-
/**
|
|
549
|
-
* Free-text rationale shown to consumers when `status` is `deprecated`.
|
|
550
|
-
* Should explain why the entry is going away and what replaces it.
|
|
551
|
-
*/
|
|
552
1233
|
deprecatedReason: z.ZodOptional<z.ZodString>;
|
|
553
|
-
/**
|
|
554
|
-
* If this entry is `deprecated`, the id of the entry that supersedes it.
|
|
555
|
-
* Consumers (and AI) should migrate to `replacedBy` rather than this entry.
|
|
556
|
-
*/
|
|
557
1234
|
replacedBy: z.ZodOptional<z.ZodString>;
|
|
1235
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
558
1236
|
}, "strip", z.ZodTypeAny, {
|
|
559
1237
|
id: string;
|
|
560
|
-
type: "component" | "hook" | "util" | "block";
|
|
1238
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
561
1239
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
562
1240
|
status: "stable" | "experimental" | "deprecated";
|
|
563
1241
|
description: string;
|
|
564
1242
|
name: string;
|
|
565
1243
|
files: {
|
|
566
1244
|
source: string;
|
|
567
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
1245
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
568
1246
|
targetName: string;
|
|
569
1247
|
}[];
|
|
570
1248
|
template?: boolean | undefined;
|
|
1249
|
+
variant?: string | undefined;
|
|
571
1250
|
meta?: string | undefined;
|
|
572
1251
|
registryDependencies?: string[] | undefined;
|
|
573
1252
|
dependencies?: Record<string, string> | undefined;
|
|
@@ -575,17 +1254,18 @@ declare const UiPackageManifestSchema: z.ZodObject<{
|
|
|
575
1254
|
replacedBy?: string | undefined;
|
|
576
1255
|
}, {
|
|
577
1256
|
id: string;
|
|
578
|
-
type: "component" | "hook" | "util" | "block";
|
|
1257
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
579
1258
|
description: string;
|
|
580
1259
|
name: string;
|
|
581
1260
|
files: {
|
|
582
1261
|
source: string;
|
|
583
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
1262
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
584
1263
|
targetName: string;
|
|
585
1264
|
}[];
|
|
586
1265
|
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
587
1266
|
template?: boolean | undefined;
|
|
588
1267
|
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
1268
|
+
variant?: string | undefined;
|
|
589
1269
|
meta?: string | undefined;
|
|
590
1270
|
registryDependencies?: string[] | undefined;
|
|
591
1271
|
dependencies?: Record<string, string> | undefined;
|
|
@@ -595,17 +1275,18 @@ declare const UiPackageManifestSchema: z.ZodObject<{
|
|
|
595
1275
|
}, "strip", z.ZodTypeAny, {
|
|
596
1276
|
entries: {
|
|
597
1277
|
id: string;
|
|
598
|
-
type: "component" | "hook" | "util" | "block";
|
|
1278
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
599
1279
|
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
600
1280
|
status: "stable" | "experimental" | "deprecated";
|
|
601
1281
|
description: string;
|
|
602
1282
|
name: string;
|
|
603
1283
|
files: {
|
|
604
1284
|
source: string;
|
|
605
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
1285
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
606
1286
|
targetName: string;
|
|
607
1287
|
}[];
|
|
608
1288
|
template?: boolean | undefined;
|
|
1289
|
+
variant?: string | undefined;
|
|
609
1290
|
meta?: string | undefined;
|
|
610
1291
|
registryDependencies?: string[] | undefined;
|
|
611
1292
|
dependencies?: Record<string, string> | undefined;
|
|
@@ -613,7 +1294,8 @@ declare const UiPackageManifestSchema: z.ZodObject<{
|
|
|
613
1294
|
replacedBy?: string | undefined;
|
|
614
1295
|
}[];
|
|
615
1296
|
schemaVersion: 1;
|
|
616
|
-
package: "ui";
|
|
1297
|
+
package: "templates" | "biz-ui";
|
|
1298
|
+
variant: string;
|
|
617
1299
|
version: string;
|
|
618
1300
|
engines: {
|
|
619
1301
|
'teamix-evo': string;
|
|
@@ -622,17 +1304,18 @@ declare const UiPackageManifestSchema: z.ZodObject<{
|
|
|
622
1304
|
}, {
|
|
623
1305
|
entries: {
|
|
624
1306
|
id: string;
|
|
625
|
-
type: "component" | "hook" | "util" | "block";
|
|
1307
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
626
1308
|
description: string;
|
|
627
1309
|
name: string;
|
|
628
1310
|
files: {
|
|
629
1311
|
source: string;
|
|
630
|
-
targetAlias: "components" | "hooks" | "utils" | "lib";
|
|
1312
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
631
1313
|
targetName: string;
|
|
632
1314
|
}[];
|
|
633
1315
|
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
634
1316
|
template?: boolean | undefined;
|
|
635
1317
|
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
1318
|
+
variant?: string | undefined;
|
|
636
1319
|
meta?: string | undefined;
|
|
637
1320
|
registryDependencies?: string[] | undefined;
|
|
638
1321
|
dependencies?: Record<string, string> | undefined;
|
|
@@ -640,44 +1323,184 @@ declare const UiPackageManifestSchema: z.ZodObject<{
|
|
|
640
1323
|
replacedBy?: string | undefined;
|
|
641
1324
|
}[];
|
|
642
1325
|
schemaVersion: 1;
|
|
643
|
-
package: "ui";
|
|
1326
|
+
package: "templates" | "biz-ui";
|
|
1327
|
+
variant: string;
|
|
1328
|
+
version: string;
|
|
1329
|
+
engines: {
|
|
1330
|
+
'teamix-evo': string;
|
|
1331
|
+
};
|
|
1332
|
+
$schema?: string | undefined;
|
|
1333
|
+
}>, {
|
|
1334
|
+
entries: {
|
|
1335
|
+
id: string;
|
|
1336
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
1337
|
+
updateStrategy: "frozen" | "regenerable" | "managed";
|
|
1338
|
+
status: "stable" | "experimental" | "deprecated";
|
|
1339
|
+
description: string;
|
|
1340
|
+
name: string;
|
|
1341
|
+
files: {
|
|
1342
|
+
source: string;
|
|
1343
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
1344
|
+
targetName: string;
|
|
1345
|
+
}[];
|
|
1346
|
+
template?: boolean | undefined;
|
|
1347
|
+
variant?: string | undefined;
|
|
1348
|
+
meta?: string | undefined;
|
|
1349
|
+
registryDependencies?: string[] | undefined;
|
|
1350
|
+
dependencies?: Record<string, string> | undefined;
|
|
1351
|
+
deprecatedReason?: string | undefined;
|
|
1352
|
+
replacedBy?: string | undefined;
|
|
1353
|
+
}[];
|
|
1354
|
+
schemaVersion: 1;
|
|
1355
|
+
package: "templates" | "biz-ui";
|
|
1356
|
+
variant: string;
|
|
1357
|
+
version: string;
|
|
1358
|
+
engines: {
|
|
1359
|
+
'teamix-evo': string;
|
|
1360
|
+
};
|
|
1361
|
+
$schema?: string | undefined;
|
|
1362
|
+
}, {
|
|
1363
|
+
entries: {
|
|
1364
|
+
id: string;
|
|
1365
|
+
type: "template" | "component" | "hook" | "util" | "block";
|
|
1366
|
+
description: string;
|
|
1367
|
+
name: string;
|
|
1368
|
+
files: {
|
|
1369
|
+
source: string;
|
|
1370
|
+
targetAlias: "components" | "hooks" | "utils" | "lib" | "business" | "templates";
|
|
1371
|
+
targetName: string;
|
|
1372
|
+
}[];
|
|
1373
|
+
updateStrategy?: "frozen" | "regenerable" | "managed" | undefined;
|
|
1374
|
+
template?: boolean | undefined;
|
|
1375
|
+
status?: "stable" | "experimental" | "deprecated" | undefined;
|
|
1376
|
+
variant?: string | undefined;
|
|
1377
|
+
meta?: string | undefined;
|
|
1378
|
+
registryDependencies?: string[] | undefined;
|
|
1379
|
+
dependencies?: Record<string, string> | undefined;
|
|
1380
|
+
deprecatedReason?: string | undefined;
|
|
1381
|
+
replacedBy?: string | undefined;
|
|
1382
|
+
}[];
|
|
1383
|
+
schemaVersion: 1;
|
|
1384
|
+
package: "templates" | "biz-ui";
|
|
1385
|
+
variant: string;
|
|
1386
|
+
version: string;
|
|
1387
|
+
engines: {
|
|
1388
|
+
'teamix-evo': string;
|
|
1389
|
+
};
|
|
1390
|
+
$schema?: string | undefined;
|
|
1391
|
+
}>;
|
|
1392
|
+
type VariantUiPackageManifest = z.infer<typeof VariantUiPackageManifestSchema>;
|
|
1393
|
+
type VariantUiPackageName = z.infer<typeof VariantUiPackageNameSchema>;
|
|
1394
|
+
/**
|
|
1395
|
+
* Top-level catalog summarizing the package's variants. Lives at
|
|
1396
|
+
* `packages/<pkg>/manifest.json`. Used by `<pkg> list-variants` and
|
|
1397
|
+
* cross-package variant-name sync checks.
|
|
1398
|
+
*/
|
|
1399
|
+
declare const VariantUiPackageCatalogSchema: z.ZodObject<{
|
|
1400
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
1401
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
1402
|
+
package: z.ZodEnum<["biz-ui", "templates"]>;
|
|
1403
|
+
/** Semver of the entire package. */
|
|
1404
|
+
version: z.ZodString;
|
|
1405
|
+
engines: z.ZodObject<{
|
|
1406
|
+
'teamix-evo': z.ZodString;
|
|
1407
|
+
}, "strip", z.ZodTypeAny, {
|
|
1408
|
+
'teamix-evo': string;
|
|
1409
|
+
}, {
|
|
1410
|
+
'teamix-evo': string;
|
|
1411
|
+
}>;
|
|
1412
|
+
/** Variants this package ships (excluding `_template`). */
|
|
1413
|
+
variants: z.ZodArray<z.ZodObject<{
|
|
1414
|
+
name: z.ZodString;
|
|
1415
|
+
displayName: z.ZodString;
|
|
1416
|
+
version: z.ZodString;
|
|
1417
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1418
|
+
}, "strip", z.ZodTypeAny, {
|
|
1419
|
+
displayName: string;
|
|
1420
|
+
version: string;
|
|
1421
|
+
name: string;
|
|
1422
|
+
description?: string | undefined;
|
|
1423
|
+
}, {
|
|
1424
|
+
displayName: string;
|
|
1425
|
+
version: string;
|
|
1426
|
+
name: string;
|
|
1427
|
+
description?: string | undefined;
|
|
1428
|
+
}>, "many">;
|
|
1429
|
+
}, "strip", z.ZodTypeAny, {
|
|
1430
|
+
schemaVersion: 1;
|
|
1431
|
+
package: "templates" | "biz-ui";
|
|
1432
|
+
version: string;
|
|
1433
|
+
engines: {
|
|
1434
|
+
'teamix-evo': string;
|
|
1435
|
+
};
|
|
1436
|
+
variants: {
|
|
1437
|
+
displayName: string;
|
|
1438
|
+
version: string;
|
|
1439
|
+
name: string;
|
|
1440
|
+
description?: string | undefined;
|
|
1441
|
+
}[];
|
|
1442
|
+
$schema?: string | undefined;
|
|
1443
|
+
}, {
|
|
1444
|
+
schemaVersion: 1;
|
|
1445
|
+
package: "templates" | "biz-ui";
|
|
644
1446
|
version: string;
|
|
645
1447
|
engines: {
|
|
646
1448
|
'teamix-evo': string;
|
|
647
1449
|
};
|
|
1450
|
+
variants: {
|
|
1451
|
+
displayName: string;
|
|
1452
|
+
version: string;
|
|
1453
|
+
name: string;
|
|
1454
|
+
description?: string | undefined;
|
|
1455
|
+
}[];
|
|
648
1456
|
$schema?: string | undefined;
|
|
649
1457
|
}>;
|
|
1458
|
+
type VariantUiPackageCatalog = z.infer<typeof VariantUiPackageCatalogSchema>;
|
|
650
1459
|
|
|
651
1460
|
/**
|
|
652
1461
|
* Tailwind CSS major version that the project consumes.
|
|
653
|
-
*
|
|
1462
|
+
*
|
|
1463
|
+
* Only `'v4'` is accepted. v3 was retired in v0.7 — the dual-track output
|
|
1464
|
+
* (`tokens.generated.css`) added maintenance cost without active demand.
|
|
1465
|
+
* The schema keeps the field optional so existing config.json files
|
|
1466
|
+
* (which may carry `tailwind: 'v4'`) continue to validate; any non-v4 value
|
|
1467
|
+
* — including legacy `'v3'` — is rejected so users get a clear error.
|
|
654
1468
|
*/
|
|
655
|
-
declare const TailwindVersionSchema: z.
|
|
1469
|
+
declare const TailwindVersionSchema: z.ZodLiteral<"v4">;
|
|
656
1470
|
/**
|
|
657
1471
|
* Aliases for ui entry write-back paths in the consumer project.
|
|
658
|
-
* Keys mirror shadcn `components.json` aliases for familiarity
|
|
1472
|
+
* Keys mirror shadcn `components.json` aliases for familiarity, extended for
|
|
1473
|
+
* biz-ui (business) and templates per [ADR 0014](../../../../docs/adr/0014-ui-biz-ui-templates-tier.md).
|
|
659
1474
|
*/
|
|
660
1475
|
declare const UiAliasesSchema: z.ZodObject<{
|
|
661
1476
|
components: z.ZodString;
|
|
662
1477
|
hooks: z.ZodString;
|
|
663
1478
|
utils: z.ZodString;
|
|
664
1479
|
lib: z.ZodString;
|
|
1480
|
+
/** Biz-ui components (variant-bound). Defaults to `src/components/business/`. */
|
|
1481
|
+
business: z.ZodDefault<z.ZodString>;
|
|
1482
|
+
/** Page templates (variant-bound). Defaults to `src/templates/`. */
|
|
1483
|
+
templates: z.ZodDefault<z.ZodString>;
|
|
665
1484
|
}, "strip", z.ZodTypeAny, {
|
|
666
1485
|
components: string;
|
|
667
1486
|
hooks: string;
|
|
668
1487
|
utils: string;
|
|
669
1488
|
lib: string;
|
|
1489
|
+
business: string;
|
|
1490
|
+
templates: string;
|
|
670
1491
|
}, {
|
|
671
1492
|
components: string;
|
|
672
1493
|
hooks: string;
|
|
673
1494
|
utils: string;
|
|
674
1495
|
lib: string;
|
|
1496
|
+
business?: string | undefined;
|
|
1497
|
+
templates?: string | undefined;
|
|
675
1498
|
}>;
|
|
676
1499
|
/**
|
|
677
1500
|
* Package entry within a project config.
|
|
678
1501
|
*
|
|
679
1502
|
* Some fields only apply to specific packages:
|
|
680
|
-
* - `tailwind` —
|
|
1503
|
+
* - `tailwind` — tokens only
|
|
681
1504
|
* - `ides` / `scope` — skills only
|
|
682
1505
|
* - `aliases` / `iconLibrary` / `tsx` / `rsc` — ui only
|
|
683
1506
|
*
|
|
@@ -690,7 +1513,7 @@ declare const PackageEntrySchema: z.ZodObject<{
|
|
|
690
1513
|
/** Semver version string */
|
|
691
1514
|
version: z.ZodString;
|
|
692
1515
|
/** Tailwind CSS version this project uses (only meaningful for design package). */
|
|
693
|
-
tailwind: z.ZodOptional<z.
|
|
1516
|
+
tailwind: z.ZodOptional<z.ZodLiteral<"v4">>;
|
|
694
1517
|
/** IDEs this package was installed for (only meaningful for skills package). */
|
|
695
1518
|
ides: z.ZodOptional<z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">>;
|
|
696
1519
|
/** Install scope (only meaningful for skills package). */
|
|
@@ -701,16 +1524,24 @@ declare const PackageEntrySchema: z.ZodObject<{
|
|
|
701
1524
|
hooks: z.ZodString;
|
|
702
1525
|
utils: z.ZodString;
|
|
703
1526
|
lib: z.ZodString;
|
|
1527
|
+
/** Biz-ui components (variant-bound). Defaults to `src/components/business/`. */
|
|
1528
|
+
business: z.ZodDefault<z.ZodString>;
|
|
1529
|
+
/** Page templates (variant-bound). Defaults to `src/templates/`. */
|
|
1530
|
+
templates: z.ZodDefault<z.ZodString>;
|
|
704
1531
|
}, "strip", z.ZodTypeAny, {
|
|
705
1532
|
components: string;
|
|
706
1533
|
hooks: string;
|
|
707
1534
|
utils: string;
|
|
708
1535
|
lib: string;
|
|
1536
|
+
business: string;
|
|
1537
|
+
templates: string;
|
|
709
1538
|
}, {
|
|
710
1539
|
components: string;
|
|
711
1540
|
hooks: string;
|
|
712
1541
|
utils: string;
|
|
713
1542
|
lib: string;
|
|
1543
|
+
business?: string | undefined;
|
|
1544
|
+
templates?: string | undefined;
|
|
714
1545
|
}>>;
|
|
715
1546
|
/**
|
|
716
1547
|
* Default icon library declared by the project (only meaningful for ui).
|
|
@@ -726,12 +1557,14 @@ declare const PackageEntrySchema: z.ZodObject<{
|
|
|
726
1557
|
version: string;
|
|
727
1558
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
728
1559
|
scope?: "project" | "global" | undefined;
|
|
729
|
-
tailwind?: "
|
|
1560
|
+
tailwind?: "v4" | undefined;
|
|
730
1561
|
aliases?: {
|
|
731
1562
|
components: string;
|
|
732
1563
|
hooks: string;
|
|
733
1564
|
utils: string;
|
|
734
1565
|
lib: string;
|
|
1566
|
+
business: string;
|
|
1567
|
+
templates: string;
|
|
735
1568
|
} | undefined;
|
|
736
1569
|
iconLibrary?: string | undefined;
|
|
737
1570
|
tsx?: boolean | undefined;
|
|
@@ -741,12 +1574,14 @@ declare const PackageEntrySchema: z.ZodObject<{
|
|
|
741
1574
|
version: string;
|
|
742
1575
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
743
1576
|
scope?: "project" | "global" | undefined;
|
|
744
|
-
tailwind?: "
|
|
1577
|
+
tailwind?: "v4" | undefined;
|
|
745
1578
|
aliases?: {
|
|
746
1579
|
components: string;
|
|
747
1580
|
hooks: string;
|
|
748
1581
|
utils: string;
|
|
749
1582
|
lib: string;
|
|
1583
|
+
business?: string | undefined;
|
|
1584
|
+
templates?: string | undefined;
|
|
750
1585
|
} | undefined;
|
|
751
1586
|
iconLibrary?: string | undefined;
|
|
752
1587
|
tsx?: boolean | undefined;
|
|
@@ -767,7 +1602,7 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
767
1602
|
/** Semver version string */
|
|
768
1603
|
version: z.ZodString;
|
|
769
1604
|
/** Tailwind CSS version this project uses (only meaningful for design package). */
|
|
770
|
-
tailwind: z.ZodOptional<z.
|
|
1605
|
+
tailwind: z.ZodOptional<z.ZodLiteral<"v4">>;
|
|
771
1606
|
/** IDEs this package was installed for (only meaningful for skills package). */
|
|
772
1607
|
ides: z.ZodOptional<z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">>;
|
|
773
1608
|
/** Install scope (only meaningful for skills package). */
|
|
@@ -778,16 +1613,24 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
778
1613
|
hooks: z.ZodString;
|
|
779
1614
|
utils: z.ZodString;
|
|
780
1615
|
lib: z.ZodString;
|
|
1616
|
+
/** Biz-ui components (variant-bound). Defaults to `src/components/business/`. */
|
|
1617
|
+
business: z.ZodDefault<z.ZodString>;
|
|
1618
|
+
/** Page templates (variant-bound). Defaults to `src/templates/`. */
|
|
1619
|
+
templates: z.ZodDefault<z.ZodString>;
|
|
781
1620
|
}, "strip", z.ZodTypeAny, {
|
|
782
1621
|
components: string;
|
|
783
1622
|
hooks: string;
|
|
784
1623
|
utils: string;
|
|
785
1624
|
lib: string;
|
|
1625
|
+
business: string;
|
|
1626
|
+
templates: string;
|
|
786
1627
|
}, {
|
|
787
1628
|
components: string;
|
|
788
1629
|
hooks: string;
|
|
789
1630
|
utils: string;
|
|
790
1631
|
lib: string;
|
|
1632
|
+
business?: string | undefined;
|
|
1633
|
+
templates?: string | undefined;
|
|
791
1634
|
}>>;
|
|
792
1635
|
/**
|
|
793
1636
|
* Default icon library declared by the project (only meaningful for ui).
|
|
@@ -803,12 +1646,14 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
803
1646
|
version: string;
|
|
804
1647
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
805
1648
|
scope?: "project" | "global" | undefined;
|
|
806
|
-
tailwind?: "
|
|
1649
|
+
tailwind?: "v4" | undefined;
|
|
807
1650
|
aliases?: {
|
|
808
1651
|
components: string;
|
|
809
1652
|
hooks: string;
|
|
810
1653
|
utils: string;
|
|
811
1654
|
lib: string;
|
|
1655
|
+
business: string;
|
|
1656
|
+
templates: string;
|
|
812
1657
|
} | undefined;
|
|
813
1658
|
iconLibrary?: string | undefined;
|
|
814
1659
|
tsx?: boolean | undefined;
|
|
@@ -818,12 +1663,14 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
818
1663
|
version: string;
|
|
819
1664
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
820
1665
|
scope?: "project" | "global" | undefined;
|
|
821
|
-
tailwind?: "
|
|
1666
|
+
tailwind?: "v4" | undefined;
|
|
822
1667
|
aliases?: {
|
|
823
1668
|
components: string;
|
|
824
1669
|
hooks: string;
|
|
825
1670
|
utils: string;
|
|
826
1671
|
lib: string;
|
|
1672
|
+
business?: string | undefined;
|
|
1673
|
+
templates?: string | undefined;
|
|
827
1674
|
} | undefined;
|
|
828
1675
|
iconLibrary?: string | undefined;
|
|
829
1676
|
tsx?: boolean | undefined;
|
|
@@ -837,12 +1684,14 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
837
1684
|
version: string;
|
|
838
1685
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
839
1686
|
scope?: "project" | "global" | undefined;
|
|
840
|
-
tailwind?: "
|
|
1687
|
+
tailwind?: "v4" | undefined;
|
|
841
1688
|
aliases?: {
|
|
842
1689
|
components: string;
|
|
843
1690
|
hooks: string;
|
|
844
1691
|
utils: string;
|
|
845
1692
|
lib: string;
|
|
1693
|
+
business: string;
|
|
1694
|
+
templates: string;
|
|
846
1695
|
} | undefined;
|
|
847
1696
|
iconLibrary?: string | undefined;
|
|
848
1697
|
tsx?: boolean | undefined;
|
|
@@ -857,12 +1706,14 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
857
1706
|
version: string;
|
|
858
1707
|
ides?: ("qoder" | "claude")[] | undefined;
|
|
859
1708
|
scope?: "project" | "global" | undefined;
|
|
860
|
-
tailwind?: "
|
|
1709
|
+
tailwind?: "v4" | undefined;
|
|
861
1710
|
aliases?: {
|
|
862
1711
|
components: string;
|
|
863
1712
|
hooks: string;
|
|
864
1713
|
utils: string;
|
|
865
1714
|
lib: string;
|
|
1715
|
+
business?: string | undefined;
|
|
1716
|
+
templates?: string | undefined;
|
|
866
1717
|
} | undefined;
|
|
867
1718
|
iconLibrary?: string | undefined;
|
|
868
1719
|
tsx?: boolean | undefined;
|
|
@@ -910,7 +1761,7 @@ declare const InstalledResourceSchema: z.ZodObject<{
|
|
|
910
1761
|
* An installed package entry — tracks a single package installation.
|
|
911
1762
|
*/
|
|
912
1763
|
declare const InstalledPackageSchema: z.ZodObject<{
|
|
913
|
-
/** Full package name (e.g. "@teamix-evo/
|
|
1764
|
+
/** Full package name (e.g. "@teamix-evo/tokens") */
|
|
914
1765
|
package: z.ZodString;
|
|
915
1766
|
/** Variant identifier (use "_flat" for non-variant packages such as skills) */
|
|
916
1767
|
variant: z.ZodString;
|
|
@@ -982,7 +1833,7 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
982
1833
|
schemaVersion: z.ZodLiteral<1>;
|
|
983
1834
|
/** List of installed packages */
|
|
984
1835
|
installed: z.ZodArray<z.ZodObject<{
|
|
985
|
-
/** Full package name (e.g. "@teamix-evo/
|
|
1836
|
+
/** Full package name (e.g. "@teamix-evo/tokens") */
|
|
986
1837
|
package: z.ZodString;
|
|
987
1838
|
/** Variant identifier (use "_flat" for non-variant packages such as skills) */
|
|
988
1839
|
variant: z.ZodString;
|
|
@@ -1080,6 +1931,107 @@ declare const InstalledManifestSchema: z.ZodObject<{
|
|
|
1080
1931
|
}[];
|
|
1081
1932
|
}>;
|
|
1082
1933
|
|
|
1934
|
+
/**
|
|
1935
|
+
* Skills source-mirror lock file schema.
|
|
1936
|
+
*
|
|
1937
|
+
* Per [ADR 0013](../../../../docs/adr/0013-skills-source-mirror.md), the source
|
|
1938
|
+
* lives at `.teamix-evo/skills/<id>/`, and IDE paths (`.qoder/skills/<id>/`,
|
|
1939
|
+
* `.claude/skills/<id>/`) are regenerable mirrors. This lock file at
|
|
1940
|
+
* `.teamix-evo/skills/manifest.lock.json` is the authoritative ledger of:
|
|
1941
|
+
*
|
|
1942
|
+
* 1. which skills are installed,
|
|
1943
|
+
* 2. which version each was installed from,
|
|
1944
|
+
* 3. which IDE mirror paths were produced (so `remove` / `sync` know where to act).
|
|
1945
|
+
*
|
|
1946
|
+
* v0.6 supports `qoder` + `claude` mirrors. `.cursor/rules/<id>.mdc` is v0.7
|
|
1947
|
+
* (per ADR 0013 §Implementation note); the schema does NOT pre-allocate
|
|
1948
|
+
* cursor-specific fields — they will be added with the v0.7 ADR.
|
|
1949
|
+
*/
|
|
1950
|
+
declare const SkillsLockEntrySchema: z.ZodObject<{
|
|
1951
|
+
/** Semver version installed from upstream */
|
|
1952
|
+
version: z.ZodString;
|
|
1953
|
+
/** Upstream package name (typically `@teamix-evo/skills`) */
|
|
1954
|
+
from: z.ZodString;
|
|
1955
|
+
/** ISO 8601 install / last-sync timestamp */
|
|
1956
|
+
installedAt: z.ZodString;
|
|
1957
|
+
/** Install scope at time of mirror */
|
|
1958
|
+
scope: z.ZodEnum<["project", "global"]>;
|
|
1959
|
+
/**
|
|
1960
|
+
* IDEs this skill was mirrored to. Each ide ↔ a mirror path under
|
|
1961
|
+
* `<projectRoot>/.<ide>/skills/<id>/` (project) or `~/.<ide>/skills/<id>/`
|
|
1962
|
+
* (global). The path itself is reconstructed from `scope` + adapter; we
|
|
1963
|
+
* record the ide identifier rather than the full path to keep the lock
|
|
1964
|
+
* portable across machines.
|
|
1965
|
+
*/
|
|
1966
|
+
mirroredTo: z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">;
|
|
1967
|
+
}, "strip", z.ZodTypeAny, {
|
|
1968
|
+
scope: "project" | "global";
|
|
1969
|
+
version: string;
|
|
1970
|
+
from: string;
|
|
1971
|
+
installedAt: string;
|
|
1972
|
+
mirroredTo: ("qoder" | "claude")[];
|
|
1973
|
+
}, {
|
|
1974
|
+
scope: "project" | "global";
|
|
1975
|
+
version: string;
|
|
1976
|
+
from: string;
|
|
1977
|
+
installedAt: string;
|
|
1978
|
+
mirroredTo: ("qoder" | "claude")[];
|
|
1979
|
+
}>;
|
|
1980
|
+
declare const SkillsLockSchema: z.ZodObject<{
|
|
1981
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
1982
|
+
/** Map of skill id → lock entry */
|
|
1983
|
+
skills: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1984
|
+
/** Semver version installed from upstream */
|
|
1985
|
+
version: z.ZodString;
|
|
1986
|
+
/** Upstream package name (typically `@teamix-evo/skills`) */
|
|
1987
|
+
from: z.ZodString;
|
|
1988
|
+
/** ISO 8601 install / last-sync timestamp */
|
|
1989
|
+
installedAt: z.ZodString;
|
|
1990
|
+
/** Install scope at time of mirror */
|
|
1991
|
+
scope: z.ZodEnum<["project", "global"]>;
|
|
1992
|
+
/**
|
|
1993
|
+
* IDEs this skill was mirrored to. Each ide ↔ a mirror path under
|
|
1994
|
+
* `<projectRoot>/.<ide>/skills/<id>/` (project) or `~/.<ide>/skills/<id>/`
|
|
1995
|
+
* (global). The path itself is reconstructed from `scope` + adapter; we
|
|
1996
|
+
* record the ide identifier rather than the full path to keep the lock
|
|
1997
|
+
* portable across machines.
|
|
1998
|
+
*/
|
|
1999
|
+
mirroredTo: z.ZodArray<z.ZodEnum<["qoder", "claude"]>, "many">;
|
|
2000
|
+
}, "strip", z.ZodTypeAny, {
|
|
2001
|
+
scope: "project" | "global";
|
|
2002
|
+
version: string;
|
|
2003
|
+
from: string;
|
|
2004
|
+
installedAt: string;
|
|
2005
|
+
mirroredTo: ("qoder" | "claude")[];
|
|
2006
|
+
}, {
|
|
2007
|
+
scope: "project" | "global";
|
|
2008
|
+
version: string;
|
|
2009
|
+
from: string;
|
|
2010
|
+
installedAt: string;
|
|
2011
|
+
mirroredTo: ("qoder" | "claude")[];
|
|
2012
|
+
}>>;
|
|
2013
|
+
}, "strip", z.ZodTypeAny, {
|
|
2014
|
+
schemaVersion: 1;
|
|
2015
|
+
skills: Record<string, {
|
|
2016
|
+
scope: "project" | "global";
|
|
2017
|
+
version: string;
|
|
2018
|
+
from: string;
|
|
2019
|
+
installedAt: string;
|
|
2020
|
+
mirroredTo: ("qoder" | "claude")[];
|
|
2021
|
+
}>;
|
|
2022
|
+
}, {
|
|
2023
|
+
schemaVersion: 1;
|
|
2024
|
+
skills: Record<string, {
|
|
2025
|
+
scope: "project" | "global";
|
|
2026
|
+
version: string;
|
|
2027
|
+
from: string;
|
|
2028
|
+
installedAt: string;
|
|
2029
|
+
mirroredTo: ("qoder" | "claude")[];
|
|
2030
|
+
}>;
|
|
2031
|
+
}>;
|
|
2032
|
+
type SkillsLockEntry = z.infer<typeof SkillsLockEntrySchema>;
|
|
2033
|
+
type SkillsLock = z.infer<typeof SkillsLockSchema>;
|
|
2034
|
+
|
|
1083
2035
|
/** Resource update strategy */
|
|
1084
2036
|
type UpdateStrategy = z.infer<typeof UpdateStrategySchema>;
|
|
1085
2037
|
/** Resource type discriminator */
|
|
@@ -1110,7 +2062,7 @@ type UiPackageManifest = z.infer<typeof UiPackageManifestSchema>;
|
|
|
1110
2062
|
type UiAliases = z.infer<typeof UiAliasesSchema>;
|
|
1111
2063
|
/** A package entry in the project config */
|
|
1112
2064
|
type PackageEntry = z.infer<typeof PackageEntrySchema>;
|
|
1113
|
-
/** Tailwind CSS major version ("
|
|
2065
|
+
/** Tailwind CSS major version (always `"v4"` since v0.7). */
|
|
1114
2066
|
type TailwindVersion = z.infer<typeof TailwindVersionSchema>;
|
|
1115
2067
|
/** Project configuration (config.json) */
|
|
1116
2068
|
type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
|
|
@@ -1175,6 +2127,20 @@ declare function loadSkillsPackageManifest(packageDir: string): Promise<SkillsPa
|
|
|
1175
2127
|
*/
|
|
1176
2128
|
declare function loadUiPackageManifest(packageDir: string): Promise<UiPackageManifest>;
|
|
1177
2129
|
|
|
2130
|
+
/**
|
|
2131
|
+
* Read & validate the top-level `packages/tokens/manifest.json` catalog.
|
|
2132
|
+
* Errors are wrapped with the file path for easy diagnosis (P8).
|
|
2133
|
+
*/
|
|
2134
|
+
declare function loadTokensPackageManifest(packageDir: string): Promise<TokensPackageManifest>;
|
|
2135
|
+
/**
|
|
2136
|
+
* Lookup helper: find one variant entry in a catalog by name.
|
|
2137
|
+
* Returns `undefined` when the variant is not advertised.
|
|
2138
|
+
*/
|
|
2139
|
+
declare function getVariantEntry(catalog: TokensPackageManifest, variantName: string): TokensVariantEntry | undefined;
|
|
2140
|
+
|
|
2141
|
+
declare function loadVariantUiPackageCatalog(packageDir: string): Promise<VariantUiPackageCatalog>;
|
|
2142
|
+
declare function loadVariantUiPackageManifest(variantDir: string): Promise<VariantUiPackageManifest>;
|
|
2143
|
+
|
|
1178
2144
|
/**
|
|
1179
2145
|
* Validate unknown data against the VariantManifest schema.
|
|
1180
2146
|
* Returns a discriminated Result with either the parsed data or a friendly error message.
|
|
@@ -1188,6 +2154,11 @@ declare function validateConfig(data: unknown): Result<ProjectConfig>;
|
|
|
1188
2154
|
* Validate unknown data against the InstalledManifest schema.
|
|
1189
2155
|
*/
|
|
1190
2156
|
declare function validateInstalled(data: unknown): Result<InstalledManifest>;
|
|
2157
|
+
/**
|
|
2158
|
+
* Validate unknown data against the SkillsLock schema (skills source-mirror lock).
|
|
2159
|
+
* Stored at `.teamix-evo/skills/manifest.lock.json` per ADR 0013.
|
|
2160
|
+
*/
|
|
2161
|
+
declare function validateSkillsLock(data: unknown): Result<SkillsLock>;
|
|
1191
2162
|
/**
|
|
1192
2163
|
* Validate unknown data against the SkillsPackageManifest schema.
|
|
1193
2164
|
*/
|
|
@@ -1274,4 +2245,4 @@ interface UpdateActionOptions {
|
|
|
1274
2245
|
*/
|
|
1275
2246
|
declare function getUpdateAction(strategy: UpdateStrategy, options: UpdateActionOptions): UpdateAction;
|
|
1276
2247
|
|
|
1277
|
-
export { type InstalledManifest, InstalledManifestSchema, type InstalledPackage, InstalledPackageSchema, type InstalledResource, InstalledResourceSchema, type ManagedRegion, type PackageEntry, PackageEntrySchema, type ProjectConfig, ProjectConfigSchema, type Resource, ResourceSchema, type ResourceType, ResourceTypeSchema, type Result, type SkillEntry, SkillEntrySchema, type SkillIde, SkillIdeSchema, type SkillScope, SkillScopeSchema, type SkillsPackageManifest, SkillsPackageManifestSchema, type TailwindVersion, TailwindVersionSchema, type UiAlias, UiAliasSchema, type UiAliases, UiAliasesSchema, type UiEntry, type UiEntryFile, UiEntryFileSchema, UiEntrySchema, type UiEntryType, UiEntryTypeSchema, type UiPackageManifest, UiPackageManifestSchema, type UpdateAction, type UpdateActionOptions, type UpdateStrategy, UpdateStrategySchema, type VariantManifest, VariantManifestSchema, getUpdateAction, hasManagedRegion, loadSkillsPackageManifest, loadUiPackageManifest, loadVariantManifest, parseManagedRegions, replaceManagedRegion, resolveUiEntryOrder, shouldUpdate, validateConfig, validateInstalled, validateManifest, validateSkillsPackage, validateUiDependencyGraph, validateUiPackage };
|
|
2248
|
+
export { type InstalledManifest, InstalledManifestSchema, type InstalledPackage, InstalledPackageSchema, type InstalledResource, InstalledResourceSchema, type ManagedRegion, type PackageEntry, PackageEntrySchema, type ProjectConfig, ProjectConfigSchema, type Resource, ResourceSchema, type ResourceType, ResourceTypeSchema, type Result, type SkillEntry, SkillEntrySchema, type SkillIde, SkillIdeSchema, type SkillScope, SkillScopeSchema, type SkillsLock, type SkillsLockEntry, SkillsLockEntrySchema, SkillsLockSchema, type SkillsPackageManifest, SkillsPackageManifestSchema, type TailwindVersion, TailwindVersionSchema, type TokensPackLinked, TokensPackLinkedSchema, type TokensPackLock, TokensPackLockSchema, type TokensPackageManifest, TokensPackageManifestSchema, type TokensVariantEntry, TokensVariantEntrySchema, type UiAlias, UiAliasSchema, type UiAliases, UiAliasesSchema, type UiEntry, type UiEntryFile, UiEntryFileSchema, UiEntrySchema, type UiEntryType, UiEntryTypeSchema, type UiPackageManifest, UiPackageManifestSchema, type UpdateAction, type UpdateActionOptions, type UpdateStrategy, UpdateStrategySchema, type VariantManifest, VariantManifestSchema, type VariantUiPackageCatalog, VariantUiPackageCatalogSchema, type VariantUiPackageManifest, VariantUiPackageManifestSchema, type VariantUiPackageName, VariantUiPackageNameSchema, getUpdateAction, getVariantEntry, hasManagedRegion, loadSkillsPackageManifest, loadTokensPackageManifest, loadUiPackageManifest, loadVariantManifest, loadVariantUiPackageCatalog, loadVariantUiPackageManifest, parseManagedRegions, replaceManagedRegion, resolveUiEntryOrder, shouldUpdate, validateConfig, validateInstalled, validateManifest, validateSkillsLock, validateSkillsPackage, validateUiDependencyGraph, validateUiPackage };
|