youiyoux 0.1.9 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/chunks/{chunk-HDJ2TOWZ.js → chunk-5I2VHSEN.js} +1 -1
  2. package/dist/chunks/{chunk-DCBF7QQY.js → chunk-DX2NKY2M.js} +4 -4
  3. package/dist/chunks/{chunk-F33PKGES.js → chunk-N5Z5A637.js} +2 -2
  4. package/dist/chunks/{chunk-DWYDHVLZ.js → chunk-NF4OJYKC.js} +106 -66
  5. package/dist/chunks/{chunk-3HON5Q5K.js → chunk-PCLXMWZ2.js} +11 -5
  6. package/dist/chunks/{chunk-Y4IBE6WS.js → chunk-PWGZRP3C.js} +3 -3
  7. package/dist/chunks/{chunk-E5OHZJBS.js → chunk-VXR7FMM7.js} +1185 -610
  8. package/dist/chunks/{chunk-FLBRX6Y3.js → chunk-XOXF2ILO.js} +1 -1
  9. package/dist/chunks/{chunk-6GITMASZ.js → chunk-ZOQW6LNH.js} +56 -900
  10. package/dist/chunks/chunk-ZWVWENSB.js +899 -0
  11. package/dist/chunks/{src-M3OJMCUE.js → src-4QOHR5GC.js} +3 -3
  12. package/dist/chunks/src-624TVB6T.js +55 -0
  13. package/dist/chunks/{src-DPFJ4S2N.js → src-E6ZPFKPR.js} +3 -2
  14. package/dist/chunks/{src-YKPJ3PII.js → src-HVYMF4S2.js} +9 -7
  15. package/dist/chunks/{src-BYNWPNRT.js → src-IKDQ2BZO.js} +7 -1
  16. package/dist/chunks/{src-ZG7JU6YJ.js → src-PBM76LFQ.js} +2 -2
  17. package/dist/chunks/{src-EUVBYTKY.js → src-R7JGKOYI.js} +4 -4
  18. package/dist/chunks/{src-PURAHRCR.js → src-YC64NNQ3.js} +2 -2
  19. package/dist/hub/assets/{CandidatePanel-ZzbsyZo3.js → CandidatePanel-DfntneYT.js} +1 -1
  20. package/dist/hub/assets/{CatalogScreen-DDYlvOHy.js → CatalogScreen-kpFYZqX3.js} +1 -1
  21. package/dist/hub/assets/{ChangesScreen-C8_EyHgJ.js → ChangesScreen-Chu-Ui1B.js} +1 -1
  22. package/dist/hub/assets/{CheatSheet-DfcPiXdS.js → CheatSheet-B1dXTYTW.js} +1 -1
  23. package/dist/hub/assets/{CommandPalette-DfFkDTVg.js → CommandPalette-LBZHJ659.js} +1 -1
  24. package/dist/hub/assets/{DiscoverScreen-D6NTgEgk.js → DiscoverScreen-Yd3gVUG4.js} +2 -2
  25. package/dist/hub/assets/DraftEditor-QH9Sa_Uc.js +5 -0
  26. package/dist/hub/assets/{GapsScreen-CqedCj4z.js → GapsScreen-DPYGlNnA.js} +1 -1
  27. package/dist/hub/assets/{HomeScreen-CIj1QTkw.js → HomeScreen-BCPPk7mz.js} +1 -1
  28. package/dist/hub/assets/{InventoryScreen-CyvFXa2_.js → InventoryScreen-SleB733C.js} +1 -1
  29. package/dist/hub/assets/{LibraryScreen-C4WU0f42.js → LibraryScreen-BVXhOVPU.js} +1 -1
  30. package/dist/hub/assets/{Opened-CeRWkA7c.js → Opened-CJyMbxqV.js} +1 -1
  31. package/dist/hub/assets/OrgApp-Dxs_7CxZ.js +1 -0
  32. package/dist/hub/assets/{Preview-CgW-FMB7.js → Preview-DWFP0BIe.js} +1 -1
  33. package/dist/hub/assets/{RuleDetail-BDhZ1gCd.js → RuleDetail-C2fTlLJL.js} +3 -3
  34. package/dist/hub/assets/{RulesScreen-D3rSo_z2.js → RulesScreen-BABeAGJg.js} +3 -3
  35. package/dist/hub/assets/{ScreenImage-DLeA3nRh.js → ScreenImage-CyhKm_nj.js} +1 -1
  36. package/dist/hub/assets/ScreensScreen-8Ih8byGy.js +1 -0
  37. package/dist/hub/assets/{SearchField-DtEgq9-Q.js → SearchField-hF-6-YDM.js} +1 -1
  38. package/dist/hub/assets/{ServiceDown-Bn6AcA3J.js → ServiceDown-S4ya0Cob.js} +1 -1
  39. package/dist/hub/assets/{SpecimenCapture-p6YErF5y.js → SpecimenCapture-e_pgT4Sp.js} +1 -1
  40. package/dist/hub/assets/{Specimens-DuaE0WeO.js → Specimens-D_9hjlJH.js} +2 -2
  41. package/dist/hub/assets/{StackScreen-DHDulDng.js → StackScreen-J2FQilLW.js} +1 -1
  42. package/dist/hub/assets/{StubScreens-CmhVNX_Z.js → StubScreens-DAkMph3i.js} +1 -1
  43. package/dist/hub/assets/StyleScreen-C5WytSZU.js +1 -0
  44. package/dist/hub/assets/{Tabs-Cbh9BCKW.js → Tabs-DU-fFRDV.js} +1 -1
  45. package/dist/hub/assets/{TokenDetail-BICobLK1.js → TokenDetail-CDY1xxb9.js} +1 -1
  46. package/dist/hub/assets/{TokensScreen-CyTHn55q.js → TokensScreen-Sx4aICWk.js} +1 -1
  47. package/dist/hub/assets/{WorkspaceScreen-uPWqfklh.js → WorkspaceScreen-CzZ16fPZ.js} +1 -1
  48. package/dist/hub/assets/{client-BXHiuV_w.js → client-Bdgr12LP.js} +1 -1
  49. package/dist/hub/assets/{discover-CFhyKler.js → discover-va2KFuK_.js} +1 -1
  50. package/dist/hub/assets/{dist-DYNYuTjI.js → dist-C8tf4g8c.js} +1 -1
  51. package/dist/hub/assets/{dist-VmEpVQjP.js → dist-CC_p8DIj.js} +1 -1
  52. package/dist/hub/assets/{dist-C6iTWL0b.js → dist-YTWqg5sS.js} +1 -1
  53. package/dist/hub/assets/{family-tiles-B8_onXUi.js → family-tiles-qaK1-_c8.js} +1 -1
  54. package/dist/hub/assets/main-cvOFSjox.js +2 -0
  55. package/dist/hub/assets/main-pNY4iNRo.css +2 -0
  56. package/dist/hub/assets/{try-live-CX04d2L2.js → try-live-Iys3nCBG.js} +1 -1
  57. package/dist/hub/assets/when-COrv5lkZ.js +1 -0
  58. package/dist/hub/assets/{workflow-DbBdiOmA.js → workflow-C53UBmRZ.js} +1 -1
  59. package/dist/hub/index.html +2 -2
  60. package/dist/hub-previews.js +6 -5
  61. package/dist/hub-server.js +3 -3
  62. package/dist/hub-snapshot.js +1 -1
  63. package/dist/schema/youi.org.schema.json +438 -0
  64. package/dist/schema/youi.record.schema.json +338 -0
  65. package/dist/youi.js +7 -6
  66. package/dist/youiyoux.js +7 -6
  67. package/package.json +4 -4
  68. package/dist/hub/assets/DraftEditor-CUNGYbg0.js +0 -5
  69. package/dist/hub/assets/ScreensScreen-bGuFIyWj.js +0 -1
  70. package/dist/hub/assets/StyleScreen-LwTqfGID.js +0 -1
  71. package/dist/hub/assets/main-7snyIdoi.css +0 -2
  72. package/dist/hub/assets/main-CfbpuT4Y.js +0 -2
@@ -4,7 +4,7 @@ import {
4
4
  findFiles,
5
5
  require_dist,
6
6
  writeFileAtomic
7
- } from "./chunk-DWYDHVLZ.js";
7
+ } from "./chunk-NF4OJYKC.js";
8
8
  import {
9
9
  __toESM
10
10
  } from "./chunk-WNTS7ZO4.js";
@@ -2,10 +2,10 @@ import { createRequire as __youiRequire } from "node:module"; import { dirname a
2
2
 
3
3
  // src/hub-packages.js
4
4
  var PACKAGES = {
5
- core: () => import("./src-BYNWPNRT.js"),
6
- scanner: () => import("./src-M3OJMCUE.js"),
7
- discover: () => import("./src-DPFJ4S2N.js"),
8
- tokens: () => import("./src-PURAHRCR.js")
5
+ core: () => import("./src-IKDQ2BZO.js"),
6
+ scanner: () => import("./src-4QOHR5GC.js"),
7
+ discover: () => import("./src-E6ZPFKPR.js"),
8
+ tokens: () => import("./src-YC64NNQ3.js")
9
9
  };
10
10
  var loadPackage = (name) => PACKAGES[name]();
11
11
 
@@ -4,10 +4,10 @@ import {
4
4
  loadPackage,
5
5
  readTryIndex,
6
6
  send
7
- } from "./chunk-DCBF7QQY.js";
7
+ } from "./chunk-DX2NKY2M.js";
8
8
  import {
9
9
  writeFileAtomic
10
- } from "./chunk-DWYDHVLZ.js";
10
+ } from "./chunk-NF4OJYKC.js";
11
11
 
12
12
  // ../../apps/web/scripts/discover-thumbs.ts
13
13
  import { existsSync, readFileSync } from "node:fs";
@@ -27519,58 +27519,6 @@ function copyleft(spdx) {
27519
27519
  return spdx.split(/\s+OR\s+/).every(strong);
27520
27520
  }
27521
27521
 
27522
- // ../core/src/requests.ts
27523
- var IsoTime3 = external_exports.string().datetime({ offset: true });
27524
- var REQUEST_ID = /^r-[0-9a-f]{10}$/;
27525
- var REQUEST_STATUSES = ["open", "addressed", "closed"];
27526
- var RequestAuthor = external_exports.object({ kind: external_exports.enum(["person", "agent"]), name: external_exports.string().min(1).max(100) });
27527
- var Box = external_exports.object({ x: external_exports.number(), y: external_exports.number(), width: external_exports.number().nonnegative(), height: external_exports.number().nonnegative() });
27528
- var Size = external_exports.object({ width: external_exports.number().positive(), height: external_exports.number().positive() });
27529
- var RequestTarget = external_exports.object({
27530
- /** The route as the usage map names it (`/settings`, `*` for the app shell). */
27531
- route: external_exports.string().min(1).max(300),
27532
- /** here: this one, on this screen; element: every place the element is used. */
27533
- scope: external_exports.enum(["here", "element"]),
27534
- /** The component's name as it rendered (`Button`). */
27535
- name: external_exports.string().min(1).max(200),
27536
- /** The System element it is, or the one a lookalike stands in for. */
27537
- element: ElementId.optional(),
27538
- lookalike: external_exports.boolean().optional(),
27539
- /** Project-relative, and the line that rendered it, when the capture found them. */
27540
- file: external_exports.string().min(1).max(500).optional(),
27541
- line: external_exports.number().int().positive().optional(),
27542
- box: Box.optional(),
27543
- page: Size.optional()
27544
- });
27545
- var RequestEntry = external_exports.object({
27546
- author: RequestAuthor,
27547
- at: IsoTime3,
27548
- body: external_exports.string().max(4e3),
27549
- /** A status change this entry made, if any. */
27550
- status: external_exports.enum(REQUEST_STATUSES).optional()
27551
- });
27552
- var RequestDoc = external_exports.object({
27553
- $schema: external_exports.string().optional(),
27554
- schema: external_exports.literal("youi.request/v1"),
27555
- id: external_exports.string().regex(REQUEST_ID, "expected r-<10 hex>"),
27556
- /** The project id from youi.project.json. */
27557
- project: external_exports.string().min(1).max(200),
27558
- /** comment: a note; change: something to do. */
27559
- kind: external_exports.enum(["comment", "change"]),
27560
- status: external_exports.enum(REQUEST_STATUSES),
27561
- body: external_exports.string().min(1).max(4e3),
27562
- author: RequestAuthor,
27563
- createdAt: IsoTime3,
27564
- updatedAt: IsoTime3,
27565
- target: RequestTarget,
27566
- /** The screen as it was when this was filed (`<id>.before.webp` beside it), to compare with after a change. */
27567
- before: external_exports.string().regex(/^r-[0-9a-f]{10}\.before\.webp$/).optional(),
27568
- thread: external_exports.array(RequestEntry).max(500)
27569
- });
27570
-
27571
- // ../core/src/schemas.ts
27572
- import { posix as posix2 } from "node:path";
27573
-
27574
27522
  // ../core/src/status.ts
27575
27523
  var WORKSPACE_FILE = "youi.workspace.json";
27576
27524
  var WorkspaceConfig = external_exports.object({
@@ -27583,7 +27531,7 @@ var WorkspaceConfig = external_exports.object({
27583
27531
  */
27584
27532
  projects: external_exports.array(external_exports.string().min(1)).min(1)
27585
27533
  }).strict();
27586
- var IsoTime4 = external_exports.string().datetime({ offset: true });
27534
+ var IsoTime3 = external_exports.string().datetime({ offset: true });
27587
27535
  var Count = external_exports.number().int().min(0);
27588
27536
  var ProjectStatus = external_exports.object({
27589
27537
  id: external_exports.string(),
@@ -27601,7 +27549,7 @@ var ProjectStatus = external_exports.object({
27601
27549
  commit: external_exports.string().nullable()
27602
27550
  }),
27603
27551
  /** What the lockfile records: the version last synced and when; null before the first sync. */
27604
- lock: external_exports.object({ systemVersion: external_exports.string(), syncedAt: IsoTime4 }).nullable(),
27552
+ lock: external_exports.object({ systemVersion: external_exports.string(), syncedAt: IsoTime3 }).nullable(),
27605
27553
  /** What a sync would change now (a dry run, offline: a git source at the commit the lockfile records). */
27606
27554
  sync: external_exports.object({
27607
27555
  state: external_exports.enum(["current", "behind", "conflict", "never"]),
@@ -27626,12 +27574,99 @@ var ProjectStatus = external_exports.object({
27626
27574
  var ProjectStatusFailure = external_exports.object({ root: external_exports.string(), error: external_exports.string(), next: external_exports.string() });
27627
27575
  var StatusReport = external_exports.object({
27628
27576
  schema: external_exports.literal("youi.status/v1"),
27629
- generatedAt: IsoTime4,
27577
+ generatedAt: IsoTime3,
27630
27578
  /** The workspace file the projects came from, relative to where status ran; null for one project or projects found in the repo. */
27631
27579
  workspace: external_exports.string().nullable(),
27632
27580
  projects: external_exports.array(external_exports.union([ProjectStatus, ProjectStatusFailure]))
27633
27581
  });
27634
27582
 
27583
+ // ../core/src/record.ts
27584
+ var IsoTime4 = external_exports.string().datetime({ offset: true });
27585
+ var Count2 = external_exports.number().int().min(0);
27586
+ var RepoName = external_exports.string().regex(/^[A-Za-z0-9][\w.-]{0,99}\/[\w.-]{1,100}$/, "expected owner/name, such as acme/billing");
27587
+ var CiRecord = external_exports.object({
27588
+ $schema: external_exports.string().optional(),
27589
+ schema: external_exports.literal("youi.record/v1"),
27590
+ repo: RepoName,
27591
+ commit: external_exports.string().regex(/^[0-9a-f]{40}$/).nullable(),
27592
+ /** The branch or tag CI ran on. */
27593
+ ref: external_exports.string().max(200).nullable(),
27594
+ generatedAt: IsoTime4,
27595
+ /** The youiyoux version that made it. */
27596
+ tool: external_exports.string().max(50),
27597
+ products: external_exports.array(external_exports.union([ProjectStatus, ProjectStatusFailure])).max(500)
27598
+ }).strict();
27599
+ var ProductRef = external_exports.object({ repo: external_exports.string(), id: external_exports.string() });
27600
+ var OrgView = external_exports.object({
27601
+ schema: external_exports.literal("youi.org/v1"),
27602
+ generatedAt: IsoTime4,
27603
+ /** Each repository's latest record, by repository name. */
27604
+ repos: external_exports.array(external_exports.object({ repo: external_exports.string(), commit: external_exports.string().nullable(), ref: external_exports.string().nullable(), generatedAt: IsoTime4, receivedAt: IsoTime4, products: external_exports.array(external_exports.union([ProjectStatus, ProjectStatusFailure])) })),
27605
+ /** Every System the products follow: the newest version any product's source names, and who has synced which version. */
27606
+ systems: external_exports.array(
27607
+ external_exports.object({
27608
+ id: external_exports.string(),
27609
+ name: external_exports.string(),
27610
+ latest: external_exports.string(),
27611
+ /** Newest first; `never synced` products have version null. */
27612
+ versions: external_exports.array(external_exports.object({ version: external_exports.string().nullable(), products: external_exports.array(ProductRef) }))
27613
+ })
27614
+ ),
27615
+ totals: external_exports.object({ repos: Count2, products: Count2, unreadable: Count2, behind: Count2, failing: Count2 })
27616
+ });
27617
+
27618
+ // ../core/src/requests.ts
27619
+ var IsoTime5 = external_exports.string().datetime({ offset: true });
27620
+ var REQUEST_ID = /^r-[0-9a-f]{10}$/;
27621
+ var REQUEST_STATUSES = ["open", "addressed", "closed"];
27622
+ var RequestAuthor = external_exports.object({ kind: external_exports.enum(["person", "agent"]), name: external_exports.string().min(1).max(100) });
27623
+ var Box = external_exports.object({ x: external_exports.number(), y: external_exports.number(), width: external_exports.number().nonnegative(), height: external_exports.number().nonnegative() });
27624
+ var Size = external_exports.object({ width: external_exports.number().positive(), height: external_exports.number().positive() });
27625
+ var RequestTarget = external_exports.object({
27626
+ /** The route as the usage map names it (`/settings`, `*` for the app shell). */
27627
+ route: external_exports.string().min(1).max(300),
27628
+ /** here: this one, on this screen; element: every place the element is used. */
27629
+ scope: external_exports.enum(["here", "element"]),
27630
+ /** The component's name as it rendered (`Button`). */
27631
+ name: external_exports.string().min(1).max(200),
27632
+ /** The System element it is, or the one a lookalike stands in for. */
27633
+ element: ElementId.optional(),
27634
+ lookalike: external_exports.boolean().optional(),
27635
+ /** Project-relative, and the line that rendered it, when the capture found them. */
27636
+ file: external_exports.string().min(1).max(500).optional(),
27637
+ line: external_exports.number().int().positive().optional(),
27638
+ box: Box.optional(),
27639
+ page: Size.optional()
27640
+ });
27641
+ var RequestEntry = external_exports.object({
27642
+ author: RequestAuthor,
27643
+ at: IsoTime5,
27644
+ body: external_exports.string().max(4e3),
27645
+ /** A status change this entry made, if any. */
27646
+ status: external_exports.enum(REQUEST_STATUSES).optional()
27647
+ });
27648
+ var RequestDoc = external_exports.object({
27649
+ $schema: external_exports.string().optional(),
27650
+ schema: external_exports.literal("youi.request/v1"),
27651
+ id: external_exports.string().regex(REQUEST_ID, "expected r-<10 hex>"),
27652
+ /** The project id from youi.project.json. */
27653
+ project: external_exports.string().min(1).max(200),
27654
+ /** comment: a note; change: something to do. */
27655
+ kind: external_exports.enum(["comment", "change"]),
27656
+ status: external_exports.enum(REQUEST_STATUSES),
27657
+ body: external_exports.string().min(1).max(4e3),
27658
+ author: RequestAuthor,
27659
+ createdAt: IsoTime5,
27660
+ updatedAt: IsoTime5,
27661
+ target: RequestTarget,
27662
+ /** The screen as it was when this was filed (`<id>.before.webp` beside it), to compare with after a change. */
27663
+ before: external_exports.string().regex(/^r-[0-9a-f]{10}\.before\.webp$/).optional(),
27664
+ thread: external_exports.array(RequestEntry).max(500)
27665
+ });
27666
+
27667
+ // ../core/src/schemas.ts
27668
+ import { posix as posix2 } from "node:path";
27669
+
27635
27670
  // ../core/src/tokens.ts
27636
27671
  var TOKEN_ALIAS = /^\{([^{}]+)\}$/;
27637
27672
  var ALIAS_MESSAGE = "expected an alias like {color.brand}";
@@ -27840,7 +27875,7 @@ function normalizeRelPath(path) {
27840
27875
  return posix2.normalize(path.replace(/\\/g, "/")).replace(/^\.\//, "").replace(/\/+$/, "") || ".";
27841
27876
  }
27842
27877
  var RelPath = external_exports.string().min(1).refine((p) => !p.startsWith("/") && !normalizeRelPath(p).split("/").includes(".."), "expected a path relative to its root, without ..");
27843
- var IsoTime5 = external_exports.string().datetime({ offset: true });
27878
+ var IsoTime6 = external_exports.string().datetime({ offset: true });
27844
27879
  var PACKAGE_NAME = /^(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9][a-z0-9._~-]*$/;
27845
27880
  var PackageName = external_exports.string().regex(PACKAGE_NAME, "expected an npm package name such as @acme/design");
27846
27881
  var GIT_URL = /^(?:(?:https|file):\/\/(?![^\s/]*@)[^\s]+|ssh:\/\/[^\s]+|git@[A-Za-z0-9.-]+:[^\s:]+|github:[A-Za-z0-9-]+\/[A-Za-z0-9._-]+)$/;
@@ -28118,7 +28153,7 @@ var ScanReport = external_exports.object({
28118
28153
  /** Files checked from supplied text (unsaved edits, candidate code) rather than disk. */
28119
28154
  overrides: external_exports.array(external_exports.string())
28120
28155
  }).optional(),
28121
- generatedAt: IsoTime5,
28156
+ generatedAt: IsoTime6,
28122
28157
  durationMs: external_exports.number(),
28123
28158
  status: external_exports.enum(["complete", "partial"]),
28124
28159
  coverage: external_exports.object({
@@ -28161,7 +28196,7 @@ var Baseline = external_exports.object({
28161
28196
  $schema: external_exports.string().optional(),
28162
28197
  schema: external_exports.literal("youi.baseline/v1"),
28163
28198
  project: external_exports.string(),
28164
- recordedAt: IsoTime5,
28199
+ recordedAt: IsoTime6,
28165
28200
  identity: CheckIdentity,
28166
28201
  totals: external_exports.object({ errors: external_exports.number().int(), warnings: external_exports.number().int() }),
28167
28202
  entries: external_exports.array(BaselineEntry)
@@ -28183,7 +28218,7 @@ var LockFile = external_exports.object({
28183
28218
  system: external_exports.string(),
28184
28219
  systemVersion: SemVer,
28185
28220
  sourceCommit: external_exports.string().nullable(),
28186
- syncedAt: IsoTime5,
28221
+ syncedAt: IsoTime6,
28187
28222
  files: external_exports.record(external_exports.string(), LockEntry)
28188
28223
  });
28189
28224
  var INVENTORY_ROLES = ["button", "link-as-button", "input", "card", "badge", "dialog", "tabs"];
@@ -28335,7 +28370,7 @@ var InventoryReport = external_exports.object({
28335
28370
  $schema: external_exports.string().optional(),
28336
28371
  schema: external_exports.literal("youi.inventory/v1"),
28337
28372
  scanner: external_exports.string(),
28338
- generatedAt: IsoTime5,
28373
+ generatedAt: IsoTime6,
28339
28374
  durationMs: external_exports.number(),
28340
28375
  /** Two looks share a family only when every dimension is within these (px; weight in units) of every other look's. */
28341
28376
  tolerance: external_exports.object({ height: external_exports.number(), padding: external_exports.number(), radius: external_exports.number(), fontSize: external_exports.number(), fontWeight: external_exports.number() }),
@@ -28373,7 +28408,9 @@ var PUBLISHED_SCHEMAS = {
28373
28408
  "youi.request.schema.json": RequestDoc,
28374
28409
  "youi.gaps.schema.json": GapsReport,
28375
28410
  "youi.workspace.schema.json": WorkspaceConfig,
28376
- "youi.status.schema.json": StatusReport
28411
+ "youi.status.schema.json": StatusReport,
28412
+ "youi.record.schema.json": CiRecord,
28413
+ "youi.org.schema.json": OrgView
28377
28414
  };
28378
28415
  function normalizeProjectConfig(config2) {
28379
28416
  const n = normalizeRelPath;
@@ -28602,17 +28639,20 @@ export {
28602
28639
  LIBRARY_DIR,
28603
28640
  loadLibrary,
28604
28641
  copyleft,
28642
+ WORKSPACE_FILE,
28643
+ WorkspaceConfig,
28644
+ ProjectStatus,
28645
+ ProjectStatusFailure,
28646
+ StatusReport,
28647
+ RepoName,
28648
+ CiRecord,
28649
+ OrgView,
28605
28650
  REQUEST_ID,
28606
28651
  REQUEST_STATUSES,
28607
28652
  RequestAuthor,
28608
28653
  RequestTarget,
28609
28654
  RequestEntry,
28610
28655
  RequestDoc,
28611
- WORKSPACE_FILE,
28612
- WorkspaceConfig,
28613
- ProjectStatus,
28614
- ProjectStatusFailure,
28615
- StatusReport,
28616
28656
  TOKEN_ALIAS,
28617
28657
  TokenAlias,
28618
28658
  ColorValue,
@@ -18,7 +18,7 @@ import {
18
18
  sameColor,
19
19
  splitTopLevel,
20
20
  tailwindTheme
21
- } from "./chunk-FLBRX6Y3.js";
21
+ } from "./chunk-XOXF2ILO.js";
22
22
  import {
23
23
  AST_GREP_LANGUAGES,
24
24
  BUILT_IN_CHECKS,
@@ -51,7 +51,7 @@ import {
51
51
  toPosix,
52
52
  unifiedDiff,
53
53
  writeFileAtomic
54
- } from "./chunk-DWYDHVLZ.js";
54
+ } from "./chunk-NF4OJYKC.js";
55
55
 
56
56
  // ../scanner/src/parse.ts
57
57
  import { Lang, parseAsync } from "@ast-grep/napi";
@@ -751,7 +751,13 @@ async function loadProject(root, options = {}) {
751
751
  const productRoot = options.productRoot !== void 0 ? resolve2(options.productRoot || ".") : config.root ? fromConfig(config.root) : resolve2(root);
752
752
  if (!await isDirectory2(productRoot)) throw new ProjectRootError(`product root ${productRoot} is not a directory (config ${configFile}); ${ROOT_HINT}`);
753
753
  const linked = options.designRoot ? null : await linkedDesign(productRoot);
754
- const located = options.designRoot || linked ? { root: resolve2(options.designRoot || linked), commit: null } : await locateDesign(config.source, configFile, productRoot, { refresh: options.refreshDesign });
754
+ if (options.ref !== void 0) {
755
+ if (options.designRoot || linked) throw new Error(`the design system is ${options.designRoot ? "the --design folder" : `your checkout ${linked}`}, not the config's source: check out ${options.ref} there${linked ? ", or youiyoux unlink" : ""}`);
756
+ if ("package" in config.source) throw new Error(`${config.source.package} is an npm package: install the version you want (npm install ${config.source.package}@<version>), then run this again without --to`);
757
+ if ("path" in config.source) throw new Error(`the design system is the folder ${config.source.path}: check out ${options.ref} there, then run this again without --to`);
758
+ }
759
+ const source = options.ref !== void 0 && "git" in config.source ? { ...config.source, ref: options.ref } : config.source;
760
+ const located = options.designRoot || linked ? { root: resolve2(options.designRoot || linked), commit: null } : await locateDesign(source, configFile, productRoot, { refresh: options.refreshDesign || options.ref !== void 0 });
755
761
  const repo = await loadDesignRepo(located.root);
756
762
  return {
757
763
  root: productRoot,
@@ -2408,7 +2414,7 @@ async function parseAll(project, files, overrides, parse3) {
2408
2414
  }
2409
2415
  async function scanProject(project, options = {}) {
2410
2416
  const started = performance.now();
2411
- const overrides = options.overrides ?? {};
2417
+ const overrides = { ...project.staged, ...options.overrides };
2412
2418
  const { cache } = options;
2413
2419
  cache?.beginScan();
2414
2420
  const parse3 = cache?.parse ?? parseModule;
@@ -7922,7 +7928,7 @@ var Eyes = class {
7922
7928
  }
7923
7929
  async open() {
7924
7930
  if (this.browser) return this.browser;
7925
- const { launchBrowser } = await import("./src-ZG7JU6YJ.js");
7931
+ const { launchBrowser } = await import("./src-PBM76LFQ.js");
7926
7932
  try {
7927
7933
  this.browser = await launchBrowser(this.options.executablePath, { purpose: { what: "youiyoux render", command: "youiyoux render" }, ...this.options.download === false ? { download: false } : {}, ...this.options.log ? { log: this.options.log } : {} });
7928
7934
  } catch (error) {
@@ -9,7 +9,7 @@ import {
9
9
  scanProject,
10
10
  screenSlug,
11
11
  tokenImpact
12
- } from "./chunk-3HON5Q5K.js";
12
+ } from "./chunk-PCLXMWZ2.js";
13
13
  import {
14
14
  buildTokens,
15
15
  contrastText,
@@ -18,7 +18,7 @@ import {
18
18
  resolverLayout,
19
19
  ringOffset,
20
20
  systemPairs
21
- } from "./chunk-FLBRX6Y3.js";
21
+ } from "./chunk-XOXF2ILO.js";
22
22
  import {
23
23
  BUILT_IN_CHECKS,
24
24
  COMPONENT_STATES,
@@ -45,7 +45,7 @@ import {
45
45
  toPosix,
46
46
  tokenValueProblems,
47
47
  writeFileAtomic
48
- } from "./chunk-DWYDHVLZ.js";
48
+ } from "./chunk-NF4OJYKC.js";
49
49
  import {
50
50
  __toESM
51
51
  } from "./chunk-WNTS7ZO4.js";