@syncline-design/cli 0.1.0-sandbox.55 → 0.1.0-sandbox.56

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.
@@ -6,7 +6,7 @@ import { spawn as g } from "node:child_process";
6
6
  import { createRequire as _ } from "node:module";
7
7
  import { createInterface as v } from "node:readline";
8
8
  //#region src/build-info.ts
9
- var y = "https://sandbox.syncline.design", b = "0.1.0-sandbox.55";
9
+ var y = "https://sandbox.syncline.design", b = "0.1.0-sandbox.56";
10
10
  //#endregion
11
11
  //#region ../../node_modules/zod/v4/core/util.js
12
12
  function x(e) {
@@ -14689,7 +14689,6 @@ export default config;
14689
14689
  //#endregion
14690
14690
  //#region ../core/src/stories/facts.ts
14691
14691
  var gC = {
14692
- input: "textbox",
14693
14692
  progress: "progressbar",
14694
14693
  select: "combobox",
14695
14694
  checkbox: "checkbox",
@@ -14706,6 +14705,14 @@ var gC = {
14706
14705
  calendarday: "button",
14707
14706
  datepicker: "combobox"
14708
14707
  }, _C = {
14708
+ text: "textbox",
14709
+ email: "textbox",
14710
+ tel: "textbox",
14711
+ url: "textbox",
14712
+ search: "searchbox",
14713
+ number: "spinbutton",
14714
+ password: void 0
14715
+ }, vC = {
14709
14716
  button: "button",
14710
14717
  a: "link",
14711
14718
  input: "textbox",
@@ -14723,7 +14730,7 @@ var gC = {
14723
14730
  h4: "heading",
14724
14731
  h5: "heading",
14725
14732
  h6: "heading"
14726
- }, vC = /* @__PURE__ */ new Set([
14733
+ }, yC = /* @__PURE__ */ new Set([
14727
14734
  "button",
14728
14735
  "link",
14729
14736
  "tab",
@@ -14732,32 +14739,38 @@ var gC = {
14732
14739
  "radio",
14733
14740
  "switch"
14734
14741
  ]);
14735
- function yC(e, t = []) {
14736
- for (let n of e) n.kind === "text" && n.content.kind === "prop" && t.push(n.content.prop), n.kind === "container" && yC(n.children, t);
14742
+ function bC(e, t = []) {
14743
+ for (let n of e) n.kind === "text" && n.content.kind === "prop" && t.push(n.content.prop), n.kind === "container" && bC(n.children, t);
14737
14744
  return t;
14738
14745
  }
14739
- function bC(e) {
14740
- let t = vx(e), n = e.archetype && gC[e.archetype.kind] || (t.rootTag ? _C[t.rootTag] : void 0), r = [...new Set(yC(e.elementTree))], i = new Map(e.propsInterface.map((e) => [e.name, e.defaultValue])), a = r.flatMap((e) => {
14741
- let t = i.get(e);
14746
+ function xC(e, t) {
14747
+ let n = e.archetype;
14748
+ if (n?.kind === "input") return n.multiline ? "textbox" : _C[n.type];
14749
+ let r = e.ariaAttributes?.role;
14750
+ return n && gC[n.kind] || (typeof r == "string" && r !== "" ? r : void 0) || (t ? vC[t] : void 0);
14751
+ }
14752
+ function SC(e) {
14753
+ let t = xC(e, vx(e).rootTag), n = [...new Set(bC(e.elementTree))], r = new Map(e.propsInterface.map((e) => [e.name, e.defaultValue])), i = n.flatMap((e) => {
14754
+ let t = r.get(e);
14742
14755
  return typeof t == "string" && t.trim() !== "" ? [{
14743
14756
  prop: e,
14744
14757
  value: t
14745
14758
  }] : [];
14746
- }), o = [], s = (e) => o.push({
14747
- id: `t${o.length + 1}`,
14759
+ }), a = [], o = (e) => a.push({
14760
+ id: `t${a.length + 1}`,
14748
14761
  ...e
14749
14762
  });
14750
- if (n) {
14751
- let e = vC.has(n) && a.length === 1 ? a[0] : void 0;
14752
- s({
14753
- role: n,
14763
+ if (t) {
14764
+ let e = yC.has(t) && i.length === 1 ? i[0] : void 0;
14765
+ o({
14766
+ role: t,
14754
14767
  ...e && {
14755
14768
  name: e.value,
14756
14769
  prop: e.prop
14757
14770
  }
14758
14771
  });
14759
14772
  }
14760
- for (let { prop: e, value: t } of a) o.some((e) => e.name === t) || s({
14773
+ for (let { prop: e, value: t } of i) a.some((e) => e.name === t) || o({
14761
14774
  name: t,
14762
14775
  prop: e
14763
14776
  });
@@ -14773,13 +14786,13 @@ function bC(e) {
14773
14786
  ...t && t.length <= 20 && { options: t }
14774
14787
  };
14775
14788
  }),
14776
- targets: o,
14789
+ targets: a,
14777
14790
  existingStories: ["Default", ...sS(e)]
14778
14791
  };
14779
14792
  }
14780
14793
  //#endregion
14781
14794
  //#region ../core/src/pipeline/phases.ts
14782
- function xC(e, t = {}) {
14795
+ function CC(e, t = {}) {
14783
14796
  let { descriptors: n, diagnostics: r } = Ap(e, t);
14784
14797
  return {
14785
14798
  descriptors: n,
@@ -14790,12 +14803,12 @@ function xC(e, t = {}) {
14790
14803
  }))
14791
14804
  };
14792
14805
  }
14793
- function SC(e) {
14806
+ function wC(e) {
14794
14807
  let t = /* @__PURE__ */ new Map();
14795
14808
  for (let n of e.components) n.enrichment && t.set(n.id, n.enrichment);
14796
14809
  return t;
14797
14810
  }
14798
- function CC(e, t = /* @__PURE__ */ new Map()) {
14811
+ function TC(e, t = /* @__PURE__ */ new Map()) {
14799
14812
  let n = Hg(e, t), r = [], i = [];
14800
14813
  for (let a of e) {
14801
14814
  let e = U_(a, t.get(a.id), { propTypeIndex: n });
@@ -14811,7 +14824,7 @@ function CC(e, t = /* @__PURE__ */ new Map()) {
14811
14824
  diagnostics: i
14812
14825
  };
14813
14826
  }
14814
- function wC(e) {
14827
+ function EC(e) {
14815
14828
  let t = [], n = [];
14816
14829
  for (let r of e) {
14817
14830
  let e = Bv(r);
@@ -14830,14 +14843,14 @@ function wC(e) {
14830
14843
  diagnostics: n
14831
14844
  };
14832
14845
  }
14833
- function TC(e, t, n) {
14846
+ function DC(e, t, n) {
14834
14847
  for (let r of e) n.put({
14835
14848
  path: q(t.paths.assetsRoot, r.path),
14836
14849
  contents: r.contents,
14837
14850
  policy: "overwrite"
14838
14851
  });
14839
14852
  }
14840
- async function EC(e, t, n, r, i = /* @__PURE__ */ new Map()) {
14853
+ async function OC(e, t, n, r, i = /* @__PURE__ */ new Map()) {
14841
14854
  let a = [], o = new Map(t.map((e) => [e.componentName, e.declarations])), s = {
14842
14855
  ...lS[n.stories.target],
14843
14856
  ...n.stories.typesPackage && { storybookTypesPackage: n.stories.typesPackage }
@@ -14888,7 +14901,7 @@ async function EC(e, t, n, r, i = /* @__PURE__ */ new Map()) {
14888
14901
  contents: e.contents,
14889
14902
  policy: "overwrite"
14890
14903
  });
14891
- let o = i.get(t.componentName), u = o ? Hl(bC(t), o) : void 0;
14904
+ let o = i.get(t.componentName), u = o ? Hl(SC(t), o) : void 0;
14892
14905
  for (let e of u?.dropped ?? []) a.push({
14893
14906
  phase: "assemble",
14894
14907
  scope: t.componentName,
@@ -14916,7 +14929,7 @@ async function EC(e, t, n, r, i = /* @__PURE__ */ new Map()) {
14916
14929
  }
14917
14930
  return a;
14918
14931
  }
14919
- function DC(e, t, n, r, i) {
14932
+ function kC(e, t, n, r, i) {
14920
14933
  let a = [], o = (e, t) => a.push({
14921
14934
  phase: "theme",
14922
14935
  ...t && { scope: t },
@@ -15011,7 +15024,7 @@ function DC(e, t, n, r, i) {
15011
15024
  }),
15012
15025
  policy: "create-only"
15013
15026
  });
15014
- let m = ju(jC(e, t, i), (e) => Nm(f, e));
15027
+ let m = ju(NC(e, t, i), (e) => Nm(f, e));
15015
15028
  for (let e of m.notes) o(e);
15016
15029
  m.css && n.put({
15017
15030
  path: q(f, "fonts.css"),
@@ -15037,12 +15050,12 @@ function DC(e, t, n, r, i) {
15037
15050
  policy: "overwrite"
15038
15051
  }), a;
15039
15052
  }
15040
- function OC(e, t, n, r) {
15053
+ function AC(e, t, n, r) {
15041
15054
  let i = [], { files: a, diagnostics: o } = eb(e, {
15042
15055
  libraryName: t.libraryName,
15043
15056
  groups: t.docs.groups,
15044
15057
  includeHidden: t.docs.includeHidden,
15045
- fonts: jC(e, t, r)
15058
+ fonts: NC(e, t, r)
15046
15059
  });
15047
15060
  for (let e of o) i.push({
15048
15061
  phase: "docs",
@@ -15067,7 +15080,7 @@ function OC(e, t, n, r) {
15067
15080
  }
15068
15081
  return i;
15069
15082
  }
15070
- function kC(e, t, n, r) {
15083
+ function jC(e, t, n, r) {
15071
15084
  let i = [], { agent: a } = n, o = a.dir, s = q(o, "components.json"), c = q(o, "tokens.json"), l = (e) => `${JSON.stringify(e, null, 2)}\n`, u = aC(t, {
15072
15085
  libraryName: n.libraryName,
15073
15086
  packageName: a.packageName,
@@ -15142,14 +15155,14 @@ function kC(e, t, n, r) {
15142
15155
  message: `${a.entry} is hand-written — left untouched. Export the components from it so consumers can import them by name.`
15143
15156
  }), i;
15144
15157
  }
15145
- function AC(e, t = /* @__PURE__ */ new Map()) {
15146
- let { specs: n } = CC(e, t);
15147
- return n.map(bC);
15158
+ function MC(e, t = /* @__PURE__ */ new Map()) {
15159
+ let { specs: n } = TC(e, t);
15160
+ return n.map(SC);
15148
15161
  }
15149
- function jC(e, t, n) {
15162
+ function NC(e, t, n) {
15150
15163
  return t.fonts.enabled ? Am(Dm(e), n, t.fonts.files) : [];
15151
15164
  }
15152
- function MC(e, t, n) {
15165
+ function PC(e, t, n) {
15153
15166
  if (!t.fonts.enabled) return [];
15154
15167
  let r = Dm(e), i = Am(r, n, t.fonts.files), a = [], o = (e, t) => a.push({
15155
15168
  phase: "fonts",
@@ -15166,25 +15179,25 @@ function MC(e, t, n) {
15166
15179
  }
15167
15180
  //#endregion
15168
15181
  //#region ../core/src/pipeline/run.ts
15169
- async function NC(e, t = {}) {
15182
+ async function FC(e, t = {}) {
15170
15183
  let n = Du.parse(t), r = new Rm(e.existing), i = [];
15171
- TC(e.assets ?? [], n, r);
15172
- let a = Wp(e.design, e.annotations), o = a.design, s = xC(o, {
15184
+ DC(e.assets ?? [], n, r);
15185
+ let a = Wp(e.design, e.annotations), o = a.design, s = CC(o, {
15173
15186
  iconPages: a.iconPages,
15174
15187
  fontCategories: Tu(e.fonts)
15175
- }), c = CC(s.descriptors, e.enrichment), l = wC(c.specs);
15188
+ }), c = TC(s.descriptors, e.enrichment), l = EC(c.specs);
15176
15189
  return i.push(...a.diagnostics.map((e) => ({
15177
15190
  phase: "normalize",
15178
15191
  scope: e.scope,
15179
15192
  message: e.message
15180
- })), ...s.diagnostics, ...c.diagnostics, ...l.diagnostics), i.push(...MC(o, n, e.fonts)), i.push(...DC(o, n, r, e.brandImageDataUri ?? Im(e.assets ?? [], n), e.fonts)), n.docs.enabled && i.push(...OC(o, n, r, e.fonts)), i.push(...await EC(c.specs, l.styles, n, r, e.storyEnrichment)), n.agent.enabled && i.push(...kC(o, c.specs, n, r)), {
15193
+ })), ...s.diagnostics, ...c.diagnostics, ...l.diagnostics), i.push(...PC(o, n, e.fonts)), i.push(...kC(o, n, r, e.brandImageDataUri ?? Im(e.assets ?? [], n), e.fonts)), n.docs.enabled && i.push(...AC(o, n, r, e.fonts)), i.push(...await OC(c.specs, l.styles, n, r, e.storyEnrichment)), n.agent.enabled && i.push(...jC(o, c.specs, n, r)), {
15181
15194
  files: r.toArray(),
15182
15195
  diagnostics: i
15183
15196
  };
15184
15197
  }
15185
15198
  //#endregion
15186
15199
  //#region src/config.ts
15187
- var PC = Du.extend({
15200
+ var IC = Du.extend({
15188
15201
  inputs: V({
15189
15202
  design: I().default(`${Ic}/design.json`),
15190
15203
  enriched: I().default(`${Ic}/design.enriched.json`),
@@ -15213,28 +15226,28 @@ var PC = Du.extend({
15213
15226
  path: ["sendSource"],
15214
15227
  message: "merge.llm sends the source of conflicting components to the bridge; set merge.sendSource to true to confirm"
15215
15228
  }).prefault({})
15216
- }), FC = "syncline.config.json";
15217
- function IC(e) {
15229
+ }), LC = "syncline.config.json";
15230
+ function RC(e) {
15218
15231
  return e.issues.map((e) => ` ${e.path.join(".") || "(root)"}: ${e.message}`).join("\n");
15219
15232
  }
15220
15233
  //#endregion
15221
15234
  //#region src/enrich/bridge-client.ts
15222
- var LC = class extends Error {
15235
+ var zC = class extends Error {
15223
15236
  constructor(e, t, n) {
15224
15237
  super(n), this.status = e, this.code = t, this.name = "BridgeError";
15225
15238
  }
15226
- }, RC = 3, zC = 500, BC = 75e3;
15227
- function VC(e) {
15239
+ }, BC = 3, VC = 500, HC = 75e3;
15240
+ function UC(e) {
15228
15241
  let [t, ...n] = e.issues ?? [];
15229
15242
  return t ? `${e.message} ${t.path}: ${t.message}${n.length ? ` (+${n.length} more)` : ""}` : e.message;
15230
15243
  }
15231
- var HC = (e) => new Promise((t) => setTimeout(t, e));
15232
- function UC(e) {
15233
- let t = e.fetch ?? fetch, n = e.sleep ?? HC, r = e.maxAttempts ?? RC, i = e.baseUrl.replace(/\/$/, ""), a = (e) => `/previews/${e}`;
15244
+ var WC = (e) => new Promise((t) => setTimeout(t, e));
15245
+ function GC(e) {
15246
+ let t = e.fetch ?? fetch, n = e.sleep ?? WC, r = e.maxAttempts ?? BC, i = e.baseUrl.replace(/\/$/, ""), a = (e) => `/previews/${e}`;
15234
15247
  async function o(a, o, s = {}) {
15235
15248
  let c;
15236
15249
  for (let l = 0; l < r; l++) {
15237
- l > 0 && await n(zC * 2 ** (l - 1));
15250
+ l > 0 && await n(VC * 2 ** (l - 1));
15238
15251
  let r;
15239
15252
  try {
15240
15253
  r = await t(`${i}/api${a}`, {
@@ -15243,18 +15256,18 @@ function UC(e) {
15243
15256
  ...s.body ? { "content-type": "application/json" } : {},
15244
15257
  authorization: `Bearer ${e.token}`
15245
15258
  },
15246
- signal: AbortSignal.timeout(BC)
15259
+ signal: AbortSignal.timeout(HC)
15247
15260
  });
15248
15261
  } catch (e) {
15249
- c = new LC(0, "network", `Could not reach the bridge: ${e instanceof Error ? e.message : e}`);
15262
+ c = new zC(0, "network", `Could not reach the bridge: ${e instanceof Error ? e.message : e}`);
15250
15263
  continue;
15251
15264
  }
15252
15265
  if (r.ok) {
15253
15266
  let e = o.safeParse(await r.json().catch(() => null));
15254
15267
  if (e.success) return e.data;
15255
- throw new LC(r.status, "invalid_response", `The bridge answered with something this CLI does not understand; update ${Nc}`);
15268
+ throw new zC(r.status, "invalid_response", `The bridge answered with something this CLI does not understand; update ${Nc}`);
15256
15269
  }
15257
- let u = Pc.safeParse(await r.json().catch(() => null)), d = new LC(r.status, u.success ? u.data.error.code : `http_${r.status}`, u.success ? VC(u.data.error) : `HTTP ${r.status}`);
15270
+ let u = Pc.safeParse(await r.json().catch(() => null)), d = new zC(r.status, u.success ? u.data.error.code : `http_${r.status}`, u.success ? UC(u.data.error) : `HTTP ${r.status}`);
15258
15271
  if (r.status < 500) throw d;
15259
15272
  c = d;
15260
15273
  }
@@ -15296,7 +15309,7 @@ function UC(e) {
15296
15309
  }
15297
15310
  //#endregion
15298
15311
  //#region src/enrich/token.ts
15299
- async function WC(e) {
15312
+ async function KC(e) {
15300
15313
  let t = e.env ?? process.env, n = t.SYNCLINE_TOKEN;
15301
15314
  if (n) return {
15302
15315
  ok: !0,
@@ -15332,7 +15345,7 @@ async function WC(e) {
15332
15345
  }
15333
15346
  //#endregion
15334
15347
  //#region src/ci/preview-access.ts
15335
- async function GC(t) {
15348
+ async function qC(t) {
15336
15349
  let { io: n } = t, r = t.env ?? process.env, i = (t) => {
15337
15350
  let i = `enabled=${t.enabled}\n`, a = r.GITHUB_OUTPUT;
15338
15351
  return a ? e(a, i) : n.out(i), t.reason ? n.err(`Preview skipped: ${t.reason}.\n`) : t.enabled || n.err("Preview skipped: it is not part of this account’s plan.\n"), t;
@@ -15341,14 +15354,14 @@ async function GC(t) {
15341
15354
  reason: e
15342
15355
  });
15343
15356
  if (!t.bridgeUrl) return a("no bridge configured (set enrich.bridgeUrl or SYNCLINE_URL)");
15344
- let o = t.bridgeUrl.replace(/\/$/, ""), s = await WC({
15357
+ let o = t.bridgeUrl.replace(/\/$/, ""), s = await KC({
15345
15358
  audience: t.audience ?? o,
15346
15359
  env: r,
15347
15360
  fetch: t.fetch
15348
15361
  });
15349
15362
  if (s.ok === !1) return a(s.reason);
15350
15363
  try {
15351
- let { enabled: e } = await UC({
15364
+ let { enabled: e } = await GC({
15352
15365
  baseUrl: o,
15353
15366
  token: s.token,
15354
15367
  fetch: t.fetch,
@@ -15361,20 +15374,20 @@ async function GC(t) {
15361
15374
  }
15362
15375
  //#endregion
15363
15376
  //#region src/ci/push-token.ts
15364
- async function KC(t) {
15377
+ async function JC(t) {
15365
15378
  let { io: n } = t, r = t.env ?? process.env, i = (e) => (n.err(`Push token unavailable: ${e}. The job pushes with its own token instead.\n`), {
15366
15379
  status: "unavailable",
15367
15380
  reason: e
15368
15381
  });
15369
15382
  if (!t.bridgeUrl) return i("no bridge configured (set enrich.bridgeUrl or SYNCLINE_URL)");
15370
- let a = t.bridgeUrl.replace(/\/$/, ""), o = await WC({
15383
+ let a = t.bridgeUrl.replace(/\/$/, ""), o = await KC({
15371
15384
  audience: t.audience ?? a,
15372
15385
  env: r,
15373
15386
  fetch: t.fetch
15374
15387
  });
15375
15388
  if (o.ok === !1) return i(o.reason);
15376
15389
  try {
15377
- let i = await UC({
15390
+ let i = await GC({
15378
15391
  baseUrl: a,
15379
15392
  token: o.token,
15380
15393
  fetch: t.fetch,
@@ -15389,22 +15402,22 @@ async function KC(t) {
15389
15402
  email: i.committer.email
15390
15403
  };
15391
15404
  } catch (e) {
15392
- return i(e instanceof LC || e instanceof Error ? e.message : String(e));
15405
+ return i(e instanceof zC || e instanceof Error ? e.message : String(e));
15393
15406
  }
15394
15407
  }
15395
15408
  //#endregion
15396
15409
  //#region src/ci/report-failure.ts
15397
- var qC = 15, JC = /\u001b\[[0-9;]*[A-Za-z]|\u001b\]8;;[^\u0007]*\u0007/g, YC = 600, XC = (e) => e.length > YC ? `${e.slice(0, YC)}…` : e, ZC = (e) => XC(e).replace(JC, "").replace(/^[\s│■▲●◇]*/, "").trimEnd();
15398
- function QC(e, t = {}) {
15410
+ var YC = 15, XC = /\u001b\[[0-9;]*[A-Za-z]|\u001b\]8;;[^\u0007]*\u0007/g, ZC = 600, QC = (e) => e.length > ZC ? `${e.slice(0, ZC)}…` : e, $C = (e) => QC(e).replace(XC, "").replace(/^[\s│■▲●◇]*/, "").trimEnd();
15411
+ function ew(e, t = {}) {
15399
15412
  let n = e.replace(/\bgh[pousr]_[A-Za-z0-9]{20,}\b/g, "[token]").replace(/\bgithub_pat_[A-Za-z0-9_]{20,}\b/g, "[token]").replace(/x-access-token:[^@\s]+/g, "x-access-token:[token]").replace(/\b(Bearer|Basic)\s+[A-Za-z0-9._~+/=-]{8,}/gi, "$1 [token]").replace(/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]*/g, "[jwt]").replace(/(https?:\/\/[^\s"'<>?#]+)\?[^\s"'<>#]*/g, "$1?…");
15400
15413
  for (let [e, r] of Object.entries(t)) !r || r.length < 8 || /(TOKEN|SECRET|KEY|PASSWORD|CREDENTIAL)/i.test(e) && (n = n.split(r).join("[secret]"));
15401
15414
  return n;
15402
15415
  }
15403
- function $C(e, t) {
15404
- let n = QC(e.replace(JC, "").split(/\r?\n/).slice(-200).map(XC).join("\n"), t);
15416
+ function tw(e, t) {
15417
+ let n = ew(e.replace(XC, "").split(/\r?\n/).slice(-200).map(QC).join("\n"), t);
15405
15418
  return n.length > tu.log ? n.slice(n.length - tu.log) : n;
15406
15419
  }
15407
- var ew = [
15420
+ var nw = [
15408
15421
  /does not parse/i,
15409
15422
  /Could not resolve/i,
15410
15423
  /\bMissing\b/,
@@ -15412,9 +15425,9 @@ var ew = [
15412
15425
  /\berror\b/i,
15413
15426
  /\bfailed\b/i
15414
15427
  ];
15415
- function tw(e) {
15416
- let t = e.split(/\r?\n/).map(ZC).filter(Boolean);
15417
- for (let e of ew) {
15428
+ function rw(e) {
15429
+ let t = e.split(/\r?\n/).map($C).filter(Boolean);
15430
+ for (let e of nw) {
15418
15431
  let n = t.findIndex((t) => e.test(t));
15419
15432
  if (n === -1) continue;
15420
15433
  let r = t[n];
@@ -15422,60 +15435,60 @@ function tw(e) {
15422
15435
  }
15423
15436
  return (t[t.length - 1] ?? "The step failed").slice(0, tu.summary);
15424
15437
  }
15425
- var nw = /((?:\.\/)?(?:[\w@.+-]+\/)+[\w@.+-]+\.(?:tsx?|jsx?|mdx?|json))(?!\/)/, rw = /\((\d+):\d+\)/;
15426
- function iw(e, n, r = (e) => t(e) ? i(e, "utf8") : null) {
15427
- let a = e.split(/\r?\n/).map(ZC);
15438
+ var iw = /((?:\.\/)?(?:[\w@.+-]+\/)+[\w@.+-]+\.(?:tsx?|jsx?|mdx?|json))(?!\/)/, aw = /\((\d+):\d+\)/;
15439
+ function ow(e, n, r = (e) => t(e) ? i(e, "utf8") : null) {
15440
+ let a = e.split(/\r?\n/).map($C);
15428
15441
  for (let e = 0; e < a.length; e++) {
15429
- let t = nw.exec(a[e]);
15442
+ let t = iw.exec(a[e]);
15430
15443
  if (!t || t[1].includes("node_modules")) continue;
15431
15444
  let i = t[1].replace(/^\.\//, ""), o = f(n), s = f(o, i);
15432
15445
  if (!s.startsWith(`${o}/`)) continue;
15433
15446
  let c = r(s);
15434
15447
  if (c === null) continue;
15435
- let l = a.slice(e, e + 4).join("\n"), u = Number(rw.exec(l)?.[1] ?? 1), d = c.split("\n"), p = Math.max(1, u - qC);
15448
+ let l = a.slice(e, e + 4).join("\n"), u = Number(aw.exec(l)?.[1] ?? 1), d = c.split("\n"), p = Math.max(1, u - YC);
15436
15449
  return {
15437
15450
  path: i,
15438
15451
  startLine: p,
15439
- text: d.slice(p - 1, u + qC).map((e, t) => `${p + t}: ${e}`).join("\n").slice(0, tu.excerpt)
15452
+ text: d.slice(p - 1, u + YC).map((e, t) => `${p + t}: ${e}`).join("\n").slice(0, tu.excerpt)
15440
15453
  };
15441
15454
  }
15442
15455
  }
15443
- function aw(e) {
15456
+ function sw(e) {
15444
15457
  let { GITHUB_SERVER_URL: t, GITHUB_REPOSITORY: n, GITHUB_RUN_ID: r } = e;
15445
15458
  return t && n && r ? `${t}/${n}/actions/runs/${r}` : void 0;
15446
15459
  }
15447
- function ow(e) {
15448
- let t = e.env ?? process.env, n = iw(e.log, e.cwd, e.read), r = aw(t);
15460
+ function cw(e) {
15461
+ let t = e.env ?? process.env, n = ow(e.log, e.cwd, e.read), r = sw(t);
15449
15462
  return {
15450
15463
  step: e.step,
15451
- summary: QC(tw(e.log), t) || "The step failed",
15452
- log: $C(e.log, t),
15464
+ summary: ew(rw(e.log), t) || "The step failed",
15465
+ log: tw(e.log, t),
15453
15466
  ...n && { excerpt: {
15454
15467
  ...n,
15455
- text: QC(n.text, t)
15468
+ text: ew(n.text, t)
15456
15469
  } },
15457
15470
  cliVersion: b,
15458
15471
  ...r && { runUrl: r }
15459
15472
  };
15460
15473
  }
15461
- async function sw(e) {
15474
+ async function lw(e) {
15462
15475
  let { io: n } = e, r = e.env ?? process.env, a = (e) => (n.err(`Failure not reported: ${e}.\n`), { reported: !1 });
15463
15476
  if (!e.bridgeUrl) return a("no bridge configured (set enrich.bridgeUrl or SYNCLINE_URL)");
15464
15477
  let o = e.bridgeUrl.replace(/\/$/, ""), s = f(e.cwd, e.logPath);
15465
15478
  if (!t(s)) return a(`no log at ${e.logPath}`);
15466
- let c = await WC({
15479
+ let c = await KC({
15467
15480
  audience: e.audience ?? o,
15468
15481
  env: r,
15469
15482
  fetch: e.fetch
15470
15483
  });
15471
15484
  if (c.ok === !1) return a(c.reason);
15472
15485
  try {
15473
- let t = ow({
15486
+ let t = cw({
15474
15487
  step: e.step,
15475
15488
  log: i(s, "utf8"),
15476
15489
  cwd: e.cwd,
15477
15490
  env: r
15478
- }), a = await UC({
15491
+ }), a = await GC({
15479
15492
  baseUrl: o,
15480
15493
  token: c.token,
15481
15494
  fetch: e.fetch,
@@ -15486,17 +15499,17 @@ async function sw(e) {
15486
15499
  issueUrl: a.issueUrl
15487
15500
  };
15488
15501
  } catch (e) {
15489
- return a(e instanceof LC || e instanceof Error ? e.message : String(e));
15502
+ return a(e instanceof zC || e instanceof Error ? e.message : String(e));
15490
15503
  }
15491
15504
  }
15492
15505
  //#endregion
15493
15506
  //#region src/enrich/bridge-url.ts
15494
- function cw({ env: e, configured: t, baked: n }) {
15507
+ function uw({ env: e, configured: t, baked: n }) {
15495
15508
  return e.SYNCLINE_URL || t || n || void 0;
15496
15509
  }
15497
15510
  //#endregion
15498
15511
  //#region src/commands/ci.ts
15499
- var lw = `Usage: syncline ci <push-token|report-failure|preview-access> [options]
15512
+ var dw = `Usage: syncline ci <push-token|report-failure|preview-access> [options]
15500
15513
 
15501
15514
  For the workflow a Figma sync adds to your repository. Asks the bridge for a
15502
15515
  short-lived token that lets the job push the generated files to the sync's pull
@@ -15519,16 +15532,16 @@ build only when it is true. It never fails the run: anything but a clear yes
15519
15532
  Options:
15520
15533
  --step <name> report-failure: the step that failed
15521
15534
  --log <file> report-failure: the step's captured output
15522
- --config <file> Config file (default: ${FC})
15535
+ --config <file> Config file (default: ${LC})
15523
15536
  --cwd <dir> Project root (default: the current directory)
15524
15537
  -h, --help Show this help
15525
15538
  `;
15526
- function uw(e) {
15539
+ function fw(e) {
15527
15540
  let t = { help: !1 };
15528
15541
  for (let n = 0; n < e.length; n++) {
15529
15542
  let r = (t) => {
15530
15543
  let r = e[++n];
15531
- if (r === void 0 || r.startsWith("-")) throw Error(`${t} needs a value\n\n${lw}`);
15544
+ if (r === void 0 || r.startsWith("-")) throw Error(`${t} needs a value\n\n${dw}`);
15532
15545
  return r;
15533
15546
  };
15534
15547
  switch (e[n]) {
@@ -15549,36 +15562,36 @@ function uw(e) {
15549
15562
  t.help = !0;
15550
15563
  break;
15551
15564
  default:
15552
- if (e[n].startsWith("-")) throw Error(`Unknown option: ${e[n]}\n\n${lw}`);
15553
- if (t.action !== void 0) throw Error(`Unexpected argument: ${e[n]}\n\n${lw}`);
15565
+ if (e[n].startsWith("-")) throw Error(`Unknown option: ${e[n]}\n\n${dw}`);
15566
+ if (t.action !== void 0) throw Error(`Unexpected argument: ${e[n]}\n\n${dw}`);
15554
15567
  t.action = e[n];
15555
15568
  }
15556
15569
  }
15557
15570
  return t;
15558
15571
  }
15559
- var dw = {
15572
+ var pw = {
15560
15573
  name: "ci",
15561
15574
  summary: "Helpers for the generation workflow (push token, failure report, preview access)",
15562
15575
  async run({ args: e, io: n }) {
15563
- let r = uw(e);
15564
- if (r.help || r.action === void 0) return n.out(lw), +!r.help;
15565
- if (r.action !== "push-token" && r.action !== "report-failure" && r.action !== "preview-access") return n.err(`Unknown ci command: ${r.action}\n\n${lw}`), 1;
15576
+ let r = fw(e);
15577
+ if (r.help || r.action === void 0) return n.out(dw), +!r.help;
15578
+ if (r.action !== "push-token" && r.action !== "report-failure" && r.action !== "preview-access") return n.err(`Unknown ci command: ${r.action}\n\n${dw}`), 1;
15566
15579
  let a = f(r.cwd ?? process.cwd()), o = f(a, r.config ?? "syncline.config.json"), s = {};
15567
15580
  if (t(o)) try {
15568
15581
  s = JSON.parse(i(o, "utf-8"));
15569
15582
  } catch (e) {
15570
15583
  return n.err(`${o} is not valid JSON: ${e instanceof Error ? e.message : e}\n`), 1;
15571
15584
  }
15572
- let c = PC.safeParse(s);
15573
- if (!c.success) return n.err(`Invalid config ${o}:\n${IC(c.error)}\n`), 1;
15574
- let l = cw({
15585
+ let c = IC.safeParse(s);
15586
+ if (!c.success) return n.err(`Invalid config ${o}:\n${RC(c.error)}\n`), 1;
15587
+ let l = uw({
15575
15588
  env: process.env,
15576
15589
  configured: c.data.enrich.bridgeUrl,
15577
15590
  baked: y
15578
15591
  });
15579
15592
  if (r.action === "report-failure") {
15580
15593
  let e = eu.safeParse(r.step);
15581
- return !e.success || !r.log ? (n.err(`report-failure needs --step and --log\n\n${lw}`), 1) : (await sw({
15594
+ return !e.success || !r.log ? (n.err(`report-failure needs --step and --log\n\n${dw}`), 1) : (await lw({
15582
15595
  step: e.data,
15583
15596
  logPath: r.log,
15584
15597
  cwd: a,
@@ -15587,11 +15600,11 @@ var dw = {
15587
15600
  io: n
15588
15601
  }), 0);
15589
15602
  }
15590
- return r.action === "preview-access" ? (await GC({
15603
+ return r.action === "preview-access" ? (await qC({
15591
15604
  bridgeUrl: l,
15592
15605
  audience: c.data.enrich.audience,
15593
15606
  io: n
15594
- }), 0) : (await KC({
15607
+ }), 0) : (await JC({
15595
15608
  bridgeUrl: l,
15596
15609
  audience: c.data.enrich.audience,
15597
15610
  io: n
@@ -15600,7 +15613,7 @@ var dw = {
15600
15613
  };
15601
15614
  //#endregion
15602
15615
  //#region ../core/src/node/fs.ts
15603
- function fw(e) {
15616
+ function mw(e) {
15604
15617
  return {
15605
15618
  read(n) {
15606
15619
  let r = d(e, n);
@@ -15609,7 +15622,7 @@ function fw(e) {
15609
15622
  exists: (n) => t(d(e, n))
15610
15623
  };
15611
15624
  }
15612
- function pw(e, n) {
15625
+ function hw(e, n) {
15613
15626
  let a = {
15614
15627
  written: [],
15615
15628
  kept: [],
@@ -15629,20 +15642,20 @@ function pw(e, n) {
15629
15642
  }
15630
15643
  return a;
15631
15644
  }
15632
- var mw = 1e5, hw = {
15645
+ var gw = 1e5, _w = {
15633
15646
  ".svg": "image/svg+xml",
15634
15647
  ".png": "image/png",
15635
15648
  ".jpg": "image/jpeg",
15636
15649
  ".jpeg": "image/jpeg",
15637
15650
  ".webp": "image/webp"
15638
15651
  };
15639
- function gw(e) {
15640
- let n = hw[u(e).toLowerCase()];
15652
+ function vw(e) {
15653
+ let n = _w[u(e).toLowerCase()];
15641
15654
  if (!n || !t(e)) return;
15642
15655
  let r = i(e);
15643
- if (!(r.length > mw)) return `data:${n};base64,${r.toString("base64")}`;
15656
+ if (!(r.length > gw)) return `data:${n};base64,${r.toString("base64")}`;
15644
15657
  }
15645
- function _w(e) {
15658
+ function yw(e) {
15646
15659
  if (!t(e)) return {
15647
15660
  ok: !0,
15648
15661
  overlay: void 0
@@ -15656,13 +15669,13 @@ function _w(e) {
15656
15669
  overlay: n.overlay
15657
15670
  };
15658
15671
  }
15659
- function vw(e) {
15672
+ function bw(e) {
15660
15673
  let { root: n } = e, r = ll.safeParse(JSON.parse(i(d(n, e.designPath), "utf-8")));
15661
15674
  if (!r.success) return {
15662
15675
  ok: !1,
15663
15676
  error: `design.json failed validation: ${JSON.stringify(r.error.format())}`
15664
15677
  };
15665
- let a = e.enrichedPath ? d(n, e.enrichedPath) : void 0, o = a && t(a) ? SC(JSON.parse(i(a, "utf-8"))) : void 0, s = [], c = e.assetsPath ? d(n, e.assetsPath) : void 0;
15678
+ let a = e.enrichedPath ? d(n, e.enrichedPath) : void 0, o = a && t(a) ? wC(JSON.parse(i(a, "utf-8"))) : void 0, s = [], c = e.assetsPath ? d(n, e.assetsPath) : void 0;
15666
15679
  if (c && t(c)) {
15667
15680
  let t = JSON.parse(i(c, "utf-8"));
15668
15681
  if (!Array.isArray(t)) return {
@@ -15673,7 +15686,7 @@ function vw(e) {
15673
15686
  }
15674
15687
  let l;
15675
15688
  if (e.annotationsPath) {
15676
- let t = _w(d(n, e.annotationsPath));
15689
+ let t = yw(d(n, e.annotationsPath));
15677
15690
  if (t.ok === !1) return {
15678
15691
  ok: !1,
15679
15692
  error: t.error
@@ -15687,13 +15700,13 @@ function vw(e) {
15687
15700
  enrichment: o,
15688
15701
  assets: s,
15689
15702
  annotations: l,
15690
- brandImageDataUri: e.brandImage ? gw(d(n, e.brandImage)) : void 0
15703
+ brandImageDataUri: e.brandImage ? vw(d(n, e.brandImage)) : void 0
15691
15704
  }
15692
15705
  };
15693
15706
  }
15694
15707
  //#endregion
15695
15708
  //#region src/fonts/lookup.ts
15696
- var yw = "https://api.fontsource.org/v1/fonts", bw = 1e4, xw = V({
15709
+ var xw = "https://api.fontsource.org/v1/fonts", Sw = 1e4, Cw = V({
15697
15710
  id: I(),
15698
15711
  family: I(),
15699
15712
  weights: B(R().int()).optional(),
@@ -15701,15 +15714,15 @@ var yw = "https://api.fontsource.org/v1/fonts", bw = 1e4, xw = V({
15701
15714
  variable: z().optional(),
15702
15715
  category: I().optional()
15703
15716
  });
15704
- function Sw(e) {
15717
+ function ww(e) {
15705
15718
  return e.normalize("NFKD").replace(/[̀-ͯ]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
15706
15719
  }
15707
- async function Cw(e, t = fetch) {
15708
- let n = Sw(e);
15720
+ async function Tw(e, t = fetch) {
15721
+ let n = ww(e);
15709
15722
  if (!n) return { status: "missing" };
15710
15723
  try {
15711
- let r = await t(`${yw}/${n}`, {
15712
- signal: AbortSignal.timeout(bw),
15724
+ let r = await t(`${xw}/${n}`, {
15725
+ signal: AbortSignal.timeout(Sw),
15713
15726
  headers: { accept: "application/json" }
15714
15727
  });
15715
15728
  if (r.status === 404) return { status: "missing" };
@@ -15717,7 +15730,7 @@ async function Cw(e, t = fetch) {
15717
15730
  status: "error",
15718
15731
  message: `HTTP ${r.status}`
15719
15732
  };
15720
- let i = xw.safeParse(await r.json());
15733
+ let i = Cw.safeParse(await r.json());
15721
15734
  if (!i.success) return {
15722
15735
  status: "error",
15723
15736
  message: "unexpected response"
@@ -15746,8 +15759,8 @@ async function Cw(e, t = fetch) {
15746
15759
  }
15747
15760
  //#endregion
15748
15761
  //#region src/fonts/step.ts
15749
- var ww = 4;
15750
- function Tw(e) {
15762
+ var Ew = 4;
15763
+ function Dw(e) {
15751
15764
  try {
15752
15765
  let t = Cu.safeParse(JSON.parse(i(e, "utf-8")));
15753
15766
  return t.success ? {
@@ -15758,19 +15771,19 @@ function Tw(e) {
15758
15771
  return;
15759
15772
  }
15760
15773
  }
15761
- var Ew = (e) => `${JSON.stringify({
15774
+ var Ow = (e) => `${JSON.stringify({
15762
15775
  version: 1,
15763
15776
  fonts: e.fonts,
15764
15777
  unresolved: e.unresolved
15765
15778
  }, null, 2)}\n`;
15766
- async function Dw({ design: e, config: n, cachePath: a, lookup: o, io: s, fetch: u }) {
15779
+ async function kw({ design: e, config: n, cachePath: a, lookup: o, io: s, fetch: u }) {
15767
15780
  if (!n.fonts.enabled) return;
15768
15781
  let d = Dm(e).map((e) => e.family);
15769
15782
  if (d.length === 0) return;
15770
- let f = Tw(a), p = new Map((f?.fonts ?? []).map((e) => [e.family, e])), m = new Set(f?.unresolved ?? []), h = new Set(Object.keys(n.fonts.files)), g = d.filter((e) => !h.has(e) && !km(e)), _ = o ? g.filter((e) => !p.has(e) && !m.has(e)) : [], v = [], y = 0;
15771
- await Promise.all(Array.from({ length: Math.min(ww, _.length) }, async () => {
15783
+ let f = Dw(a), p = new Map((f?.fonts ?? []).map((e) => [e.family, e])), m = new Set(f?.unresolved ?? []), h = new Set(Object.keys(n.fonts.files)), g = d.filter((e) => !h.has(e) && !km(e)), _ = o ? g.filter((e) => !p.has(e) && !m.has(e)) : [], v = [], y = 0;
15784
+ await Promise.all(Array.from({ length: Math.min(Ew, _.length) }, async () => {
15772
15785
  for (; y < _.length;) {
15773
- let e = _[y++], t = await Cw(e, u);
15786
+ let e = _[y++], t = await Tw(e, u);
15774
15787
  t.status === "found" ? p.set(e, t.font) : t.status === "missing" ? m.add(e) : v.push(`${e} (${t.message})`);
15775
15788
  }
15776
15789
  }));
@@ -15779,14 +15792,14 @@ async function Dw({ design: e, config: n, cachePath: a, lookup: o, io: s, fetch:
15779
15792
  unresolved: g.filter((e) => !p.has(e) && m.has(e)).sort((e, t) => e.localeCompare(t))
15780
15793
  };
15781
15794
  if (o && _.length > 0 && s.out(`Fonts: looked up ${_.length - v.length} of ${_.length} new famil${_.length === 1 ? "y" : "ies"} on Fontsource.\n`), v.length > 0 && s.err(`Fonts: could not reach Fontsource for ${v.join(", ")}; they stay unresolved for now and are retried next run.\n`), o) {
15782
- let e = Ew(b);
15795
+ let e = Ow(b);
15783
15796
  (t(a) ? i(a, "utf-8") : null) !== e && (b.fonts.length || b.unresolved.length) && (r(l(a), { recursive: !0 }), c(a, e));
15784
15797
  }
15785
15798
  return b.fonts.length || b.unresolved.length ? b : void 0;
15786
15799
  }
15787
15800
  //#endregion
15788
15801
  //#region src/load-config.ts
15789
- function Ow(e, n) {
15802
+ function Aw(e, n) {
15790
15803
  let r = f(e, n ?? "syncline.config.json"), a = {};
15791
15804
  if (t(r)) try {
15792
15805
  a = JSON.parse(i(r, "utf-8"));
@@ -15800,18 +15813,18 @@ function Ow(e, n) {
15800
15813
  ok: !1,
15801
15814
  error: `Config file not found: ${r}`
15802
15815
  };
15803
- let o = PC.safeParse(a);
15816
+ let o = IC.safeParse(a);
15804
15817
  return o.success ? {
15805
15818
  ok: !0,
15806
15819
  config: o.data
15807
15820
  } : {
15808
15821
  ok: !1,
15809
- error: `Invalid config ${r}:\n${IC(o.error)}`
15822
+ error: `Invalid config ${r}:\n${RC(o.error)}`
15810
15823
  };
15811
15824
  }
15812
15825
  //#endregion
15813
15826
  //#region src/commands/fonts.ts
15814
- var kw = `Usage: syncline fonts [options]
15827
+ var jw = `Usage: syncline fonts [options]
15815
15828
 
15816
15829
  Looks up where each font the design uses can be loaded from (Fontsource, the
15817
15830
  Google Fonts as npm packages) and records it in .syncline/fonts.resolved.json, so
@@ -15819,23 +15832,23 @@ Google Fonts as npm packages) and records it in .syncline/fonts.resolved.json, s
15819
15832
  are listed; map your own files for them in \`fonts.files\` in the config.
15820
15833
 
15821
15834
  Options:
15822
- --config <file> Config file (default: ${FC})
15835
+ --config <file> Config file (default: ${LC})
15823
15836
  --cwd <dir> Project root (default: the current directory)
15824
15837
  -h, --help Show this help
15825
- `, Aw = {
15838
+ `, Mw = {
15826
15839
  name: "fonts",
15827
15840
  summary: "Look up where the design’s fonts can be loaded from",
15828
15841
  async run({ args: e, io: t }) {
15829
15842
  let n = process.cwd(), r;
15830
15843
  for (let i = 0; i < e.length; i++) {
15831
- if (e[i] === "-h" || e[i] === "--help") return t.out(kw), 0;
15844
+ if (e[i] === "-h" || e[i] === "--help") return t.out(jw), 0;
15832
15845
  if (e[i] === "--cwd" && e[i + 1]) n = f(e[++i]);
15833
15846
  else if (e[i] === "--config" && e[i + 1]) r = e[++i];
15834
- else return t.err(`Unknown option: ${e[i]}\n\n${kw}`), 1;
15847
+ else return t.err(`Unknown option: ${e[i]}\n\n${jw}`), 1;
15835
15848
  }
15836
- let i = Ow(n, r);
15849
+ let i = Aw(n, r);
15837
15850
  if (i.ok === !1) return t.err(`${i.error}\n`), 1;
15838
- let { config: a } = i, o = vw({
15851
+ let { config: a } = i, o = bw({
15839
15852
  root: n,
15840
15853
  designPath: a.inputs.design,
15841
15854
  enrichedPath: a.inputs.enriched,
@@ -15843,7 +15856,7 @@ Options:
15843
15856
  annotationsPath: a.inputs.annotations
15844
15857
  });
15845
15858
  if (o.ok === !1) return t.err(`${o.error}\n`), 1;
15846
- let s = o.input.design, c = await Dw({
15859
+ let s = o.input.design, c = await kw({
15847
15860
  design: s,
15848
15861
  config: a,
15849
15862
  cachePath: d(n, a.inputs.fonts),
@@ -15861,19 +15874,19 @@ Options:
15861
15874
  for (let e of l) t.out(` ${e.usage.family} (${e.usage.weights.join(", ")}): ${u[e.source]}\n`);
15862
15875
  return 0;
15863
15876
  }
15864
- }, jw = 3, Mw = 2;
15865
- function Nw(e, t) {
15877
+ }, Nw = 3, Pw = 2;
15878
+ function Fw(e, t) {
15866
15879
  return h("sha256").update(JSON.stringify([t, e])).digest("hex");
15867
15880
  }
15868
- var Pw = (e, t) => Array.from({ length: Math.ceil(e.length / t) }, (n, r) => e.slice(r * t, (r + 1) * t));
15869
- async function Fw(e, t, n) {
15881
+ var Iw = (e, t) => Array.from({ length: Math.ceil(e.length / t) }, (n, r) => e.slice(r * t, (r + 1) * t));
15882
+ async function Lw(e, t, n) {
15870
15883
  let r = 0;
15871
15884
  await Promise.all(Array.from({ length: Math.min(t, e.length) }, async () => {
15872
15885
  for (; r < e.length;) await n(e[r++]);
15873
15886
  }));
15874
15887
  }
15875
- function Iw(e) {
15876
- return e instanceof LC ? {
15888
+ function Rw(e) {
15889
+ return e instanceof zC ? {
15877
15890
  status: "skipped",
15878
15891
  reason: e.status === 401 ? "the bridge did not accept the credentials" : e.message
15879
15892
  } : {
@@ -15881,7 +15894,7 @@ function Iw(e) {
15881
15894
  reason: e instanceof Error ? e.message : String(e)
15882
15895
  };
15883
15896
  }
15884
- async function Lw(e, t, n = {}) {
15897
+ async function zw(e, t, n = {}) {
15885
15898
  let { facts: r, local: i, elementPaths: a, fieldPaths: o, diagnostics: s } = Cm(n.factsDesign ?? e, n.normalize), c = s.map((e) => `enrichment: ${e}`), l;
15886
15899
  try {
15887
15900
  let e = await t.version();
@@ -15891,15 +15904,15 @@ async function Lw(e, t, n = {}) {
15891
15904
  };
15892
15905
  l = e.promptVersion;
15893
15906
  } catch (e) {
15894
- return Iw(e);
15907
+ return Rw(e);
15895
15908
  }
15896
- let u = new Map(r.map((e) => [e.id, Nw(e, l)])), d = new Map((n.previous?.components ?? []).flatMap((e) => e.enrichment && e.enrichmentHash ? [[e.id, e]] : [])), f = (e) => {
15909
+ let u = new Map(r.map((e) => [e.id, Fw(e, l)])), d = new Map((n.previous?.components ?? []).flatMap((e) => e.enrichment && e.enrichmentHash ? [[e.id, e]] : [])), f = (e) => {
15897
15910
  let t = d.get(e);
15898
15911
  if (t) return t.enrichmentHash === u.get(e) ? t.enrichment : void 0;
15899
15912
  }, p = /* @__PURE__ */ new Map(), m = r.filter((e) => !f(e.id)), h = m.length, g;
15900
- for (let e = 0; e < Mw && m.length > 0 && !g; e++) {
15913
+ for (let e = 0; e < Pw && m.length > 0 && !g; e++) {
15901
15914
  let e = [];
15902
- await Fw(Pw(m, 10), n.concurrency ?? jw, async (n) => {
15915
+ await Lw(Iw(m, 10), n.concurrency ?? Nw, async (n) => {
15903
15916
  if (g) {
15904
15917
  e.push(...n);
15905
15918
  return;
@@ -15911,7 +15924,7 @@ async function Lw(e, t, n = {}) {
15911
15924
  components: n
15912
15925
  })).results;
15913
15926
  } catch (t) {
15914
- t instanceof LC && (t.code === "rate_limited" || t.code === "forbidden" || t.status === 401) ? g = t.message : c.push(`enrichment: a batch of ${n.length} failed (${t.message})`), e.push(...n);
15927
+ t instanceof zC && (t.code === "rate_limited" || t.code === "forbidden" || t.status === 401) ? g = t.message : c.push(`enrichment: a batch of ${n.length} failed (${t.message})`), e.push(...n);
15915
15928
  return;
15916
15929
  }
15917
15930
  let i = new Map(r.map((e) => [e.id, e]));
@@ -15955,14 +15968,14 @@ async function Lw(e, t, n = {}) {
15955
15968
  }
15956
15969
  //#endregion
15957
15970
  //#region src/enrich/client.ts
15958
- function Rw(e) {
15971
+ function Bw(e) {
15959
15972
  return async () => {
15960
15973
  if (!e.bridgeUrl) return {
15961
15974
  ok: !1,
15962
15975
  reason: "no bridge configured (set enrich.bridgeUrl or SYNCLINE_URL)",
15963
15976
  quiet: !0
15964
15977
  };
15965
- let t = e.bridgeUrl.replace(/\/$/, ""), n = await WC({
15978
+ let t = e.bridgeUrl.replace(/\/$/, ""), n = await KC({
15966
15979
  audience: e.audience ?? t,
15967
15980
  env: e.env,
15968
15981
  fetch: e.fetch
@@ -15972,7 +15985,7 @@ function Rw(e) {
15972
15985
  reason: n.reason
15973
15986
  } : {
15974
15987
  ok: !0,
15975
- client: UC({
15988
+ client: GC({
15976
15989
  baseUrl: t,
15977
15990
  token: n.token,
15978
15991
  fetch: e.fetch,
@@ -15983,21 +15996,21 @@ function Rw(e) {
15983
15996
  }
15984
15997
  //#endregion
15985
15998
  //#region src/enrich/step.ts
15986
- function zw(e) {
15999
+ function Vw(e) {
15987
16000
  try {
15988
16001
  return JSON.parse(i(e, "utf-8"));
15989
16002
  } catch {
15990
16003
  return;
15991
16004
  }
15992
16005
  }
15993
- function Bw(e, n) {
16006
+ function Hw(e, n) {
15994
16007
  return t(e) ? n ? `${e} failed validation: ${JSON.stringify(n.format())}` : `${e} is not valid JSON` : `${e} does not exist`;
15995
16008
  }
15996
- async function Vw(e) {
15997
- let { io: n } = e, r = zw(e.designPath), a = ll.safeParse(r);
16009
+ async function Uw(e) {
16010
+ let { io: n } = e, r = Vw(e.designPath), a = ll.safeParse(r);
15998
16011
  if (!a.success) return {
15999
16012
  status: "no-design",
16000
- reason: Bw(e.designPath, r === void 0 ? void 0 : a.error)
16013
+ reason: Hw(e.designPath, r === void 0 ? void 0 : a.error)
16001
16014
  };
16002
16015
  let o = (r, i = !1) => {
16003
16016
  let a = `Enrichment skipped: ${r}. Generating without it${t(e.enrichedPath) ? " (keeping the enrichments from an earlier run)" : ""}.\n`;
@@ -16005,10 +16018,10 @@ async function Vw(e) {
16005
16018
  status: "skipped",
16006
16019
  reason: r
16007
16020
  };
16008
- }, s = await (e.provider ?? Rw(e))();
16021
+ }, s = await (e.provider ?? Bw(e))();
16009
16022
  if (s.ok === !1) return o(s.reason, s.quiet);
16010
- let l = e.annotationsPath ? _w(e.annotationsPath) : void 0, u = l?.ok === !0 && l.overlay ? Wp(a.data, l.overlay) : void 0, d = await Lw(a.data, s.client, {
16011
- previous: zw(e.enrichedPath),
16023
+ let l = e.annotationsPath ? yw(e.annotationsPath) : void 0, u = l?.ok === !0 && l.overlay ? Wp(a.data, l.overlay) : void 0, d = await zw(a.data, s.client, {
16024
+ previous: Vw(e.enrichedPath),
16012
16025
  ...u && {
16013
16026
  factsDesign: u.design,
16014
16027
  normalize: { iconPages: u.iconPages }
@@ -16026,7 +16039,7 @@ async function Vw(e) {
16026
16039
  }
16027
16040
  //#endregion
16028
16041
  //#region src/dependencies.ts
16029
- var Hw = (e, t, n) => new Promise((r) => {
16042
+ var Ww = (e, t, n) => new Promise((r) => {
16030
16043
  let i = g(e, t, {
16031
16044
  cwd: n,
16032
16045
  shell: process.platform === "win32"
@@ -16039,7 +16052,7 @@ var Hw = (e, t, n) => new Promise((r) => {
16039
16052
  output: a
16040
16053
  }));
16041
16054
  });
16042
- function Uw(e) {
16055
+ function Gw(e) {
16043
16056
  let n = [], r = f(e);
16044
16057
  for (;;) {
16045
16058
  if (n.push(r), t(d(r, ".git"))) return n;
@@ -16048,7 +16061,7 @@ function Uw(e) {
16048
16061
  r = e;
16049
16062
  }
16050
16063
  }
16051
- function Ww(e) {
16064
+ function Kw(e) {
16052
16065
  try {
16053
16066
  let t = JSON.parse(i(d(e, "package.json"), "utf8"));
16054
16067
  return t && typeof t == "object" ? t : null;
@@ -16056,10 +16069,10 @@ function Ww(e) {
16056
16069
  return null;
16057
16070
  }
16058
16071
  }
16059
- function Gw(e) {
16072
+ function qw(e) {
16060
16073
  let t = /* @__PURE__ */ new Set();
16061
- for (let n of Uw(e)) {
16062
- let e = Ww(n);
16074
+ for (let n of Gw(e)) {
16075
+ let e = Kw(n);
16063
16076
  if (e) for (let n of [
16064
16077
  "dependencies",
16065
16078
  "devDependencies",
@@ -16072,22 +16085,22 @@ function Gw(e) {
16072
16085
  }
16073
16086
  return t;
16074
16087
  }
16075
- function Kw(e, t) {
16076
- let n = Gw(e);
16088
+ function Jw(e, t) {
16089
+ let n = qw(e);
16077
16090
  return t.filter((e) => !n.has(e.name));
16078
16091
  }
16079
- function qw(e) {
16080
- for (let n of Uw(e)) {
16092
+ function Yw(e) {
16093
+ for (let n of Gw(e)) {
16081
16094
  if (t(d(n, "yarn.lock"))) return "yarn";
16082
16095
  if (t(d(n, "pnpm-lock.yaml"))) return "pnpm";
16083
16096
  if (t(d(n, "package-lock.json"))) return "npm";
16084
16097
  }
16085
16098
  return "npm";
16086
16099
  }
16087
- function Jw(e) {
16088
- for (let n of Uw(e)) {
16100
+ function Xw(e) {
16101
+ for (let n of Gw(e)) {
16089
16102
  if (t(d(n, ".yarnrc.yml"))) return !0;
16090
- let e = Ww(n)?.packageManager;
16103
+ let e = Kw(n)?.packageManager;
16091
16104
  if (typeof e == "string" && /^yarn@([2-9]|\d{2,})/.test(e)) return !0;
16092
16105
  try {
16093
16106
  if (/^__metadata:/m.test(i(d(n, "yarn.lock"), "utf8"))) return !0;
@@ -16095,7 +16108,7 @@ function Jw(e) {
16095
16108
  }
16096
16109
  return !1;
16097
16110
  }
16098
- var Yw = (e, t) => e === "npm" ? [
16111
+ var Zw = (e, t) => e === "npm" ? [
16099
16112
  "install",
16100
16113
  "--save-dev",
16101
16114
  "--no-audit",
@@ -16105,9 +16118,9 @@ var Yw = (e, t) => e === "npm" ? [
16105
16118
  "add",
16106
16119
  "-D",
16107
16120
  ...t
16108
- ], Xw = "--legacy-peer-deps", Zw = (e) => e.toLowerCase().replace(/[^a-z0-9._-]+/g, "-").replace(/^[-._]+|[-._]+$/g, "") || "design-system";
16109
- async function Qw({ cwd: e, required: n, install: r, libraryName: i, io: a, run: o = Hw }) {
16110
- let s = Kw(e, n);
16121
+ ], Qw = "--legacy-peer-deps", $w = (e) => e.toLowerCase().replace(/[^a-z0-9._-]+/g, "-").replace(/^[-._]+|[-._]+$/g, "") || "design-system";
16122
+ async function eT({ cwd: e, required: n, install: r, libraryName: i, io: a, run: o = Ww }) {
16123
+ let s = Jw(e, n);
16111
16124
  if (s.length === 0) return;
16112
16125
  let l = s.map((e) => e.name).join(", ");
16113
16126
  if (!r) {
@@ -16115,13 +16128,13 @@ async function Qw({ cwd: e, required: n, install: r, libraryName: i, io: a, run:
16115
16128
  `);
16116
16129
  return;
16117
16130
  }
16118
- Uw(e).some((e) => Ww(e)) || (c(d(e, "package.json"), `${JSON.stringify({
16119
- name: Zw(i),
16131
+ Gw(e).some((e) => Kw(e)) || (c(d(e, "package.json"), `${JSON.stringify({
16132
+ name: $w(i),
16120
16133
  version: "0.0.0",
16121
16134
  private: !0
16122
- }, null, 2)}\n`), Uw(e).some((e) => t(d(e, ".gitignore"))) || c(d(e, ".gitignore"), "node_modules\nstorybook-static\n"));
16123
- let u = Uw(e).find((e) => Ww(e) !== null) ?? f(e), p = qw(e);
16124
- if (p === "yarn" && Jw(e)) {
16135
+ }, null, 2)}\n`), Gw(e).some((e) => t(d(e, ".gitignore"))) || c(d(e, ".gitignore"), "node_modules\nstorybook-static\n"));
16136
+ let u = Gw(e).find((e) => Kw(e) !== null) ?? f(e), p = Yw(e);
16137
+ if (p === "yarn" && Xw(e)) {
16125
16138
  let e = await o("yarn", ["--version"], u);
16126
16139
  if (e.code !== 0 || /^1\./.test(e.output.trim())) {
16127
16140
  a.err(`Could not install ${l}: this repository uses Yarn Berry but "yarn" resolves to Yarn 1. Add "packageManager": "yarn@<version>" to package.json and run "corepack enable", then add the packages yourself.
@@ -16130,12 +16143,12 @@ async function Qw({ cwd: e, required: n, install: r, libraryName: i, io: a, run:
16130
16143
  }
16131
16144
  }
16132
16145
  a.out(`Installing ${l} with ${p}…\n`);
16133
- let m = Yw(p, s.map((e) => `${e.name}@${e.range}`)), h = await o(p, m, u);
16134
- h.code !== 0 && p === "npm" && (a.out(`npm could not resolve the dependency tree; trying again with ${Xw}…\n`), h = await o(p, [...m, Xw], u)), h.code !== 0 && a.err(`Could not install ${l} (${p} exited with ${h.code}). Add them yourself.\n${h.output.trim().split("\n").slice(-10).join("\n")}\n`);
16146
+ let m = Zw(p, s.map((e) => `${e.name}@${e.range}`)), h = await o(p, m, u);
16147
+ h.code !== 0 && p === "npm" && (a.out(`npm could not resolve the dependency tree; trying again with ${Qw}…\n`), h = await o(p, [...m, Qw], u)), h.code !== 0 && a.err(`Could not install ${l} (${p} exited with ${h.code}). Add them yourself.\n${h.output.trim().split("\n").slice(-10).join("\n")}\n`);
16135
16148
  }
16136
16149
  //#endregion
16137
16150
  //#region src/format.ts
16138
- var $w = /* @__PURE__ */ new Set([
16151
+ var tT = /* @__PURE__ */ new Set([
16139
16152
  ".ts",
16140
16153
  ".tsx",
16141
16154
  ".mts",
@@ -16148,9 +16161,9 @@ var $w = /* @__PURE__ */ new Set([
16148
16161
  ".mdx",
16149
16162
  ".css"
16150
16163
  ]);
16151
- async function eT(e, t, n) {
16164
+ async function nT(e, t, n) {
16152
16165
  return Promise.all(t.map(async (t) => {
16153
- if (!$w.has(u(t.path).toLowerCase())) return t;
16166
+ if (!tT.has(u(t.path).toLowerCase())) return t;
16154
16167
  let r = d(e, t.path);
16155
16168
  try {
16156
16169
  let e = await m(r) ?? {};
@@ -16166,7 +16179,7 @@ async function eT(e, t, n) {
16166
16179
  }
16167
16180
  }));
16168
16181
  }
16169
- async function tT(e, t, n) {
16182
+ async function rT(e, t, n) {
16170
16183
  let r = d(e, t), i = await m(r) ?? {};
16171
16184
  return p(n, {
16172
16185
  ...i,
@@ -16175,7 +16188,7 @@ async function tT(e, t, n) {
16175
16188
  }
16176
16189
  //#endregion
16177
16190
  //#region ../core/src/merge/component-files.ts
16178
- function nT(e, t) {
16191
+ function iT(e, t) {
16179
16192
  if (e.policy !== "overwrite") return !1;
16180
16193
  let n = jm(e.path);
16181
16194
  if (jm(n) !== t.replace(/\/+$/, "")) return !1;
@@ -16184,7 +16197,7 @@ function nT(e, t) {
16184
16197
  }
16185
16198
  //#endregion
16186
16199
  //#region ../../node_modules/node-diff3/dist/diff3.mjs
16187
- function rT(e, t) {
16200
+ function aT(e, t) {
16188
16201
  let n = Object.create(null);
16189
16202
  for (let e = 0; e < t.length; e++) {
16190
16203
  let r = t[e];
@@ -16213,8 +16226,8 @@ function rT(e, t) {
16213
16226
  }
16214
16227
  return r[r.length - 1];
16215
16228
  }
16216
- function iT(e, t) {
16217
- let n = rT(e, t), r = [], i = e.length, a = t.length;
16229
+ function oT(e, t) {
16230
+ let n = aT(e, t), r = [], i = e.length, a = t.length;
16218
16231
  for (let o = n; o !== null; o = o.chain) {
16219
16232
  let n = i - o.buffer1index - 1, s = a - o.buffer2index - 1;
16220
16233
  i = o.buffer1index, a = o.buffer2index, (n || s) && r.push({
@@ -16226,7 +16239,7 @@ function iT(e, t) {
16226
16239
  }
16227
16240
  return r.reverse(), r;
16228
16241
  }
16229
- function aT(e, t, n) {
16242
+ function sT(e, t, n) {
16230
16243
  let r = [];
16231
16244
  function i(e, t) {
16232
16245
  r.push({
@@ -16237,7 +16250,7 @@ function aT(e, t, n) {
16237
16250
  abLength: e.buffer2[1]
16238
16251
  });
16239
16252
  }
16240
- iT(t, e).forEach((e) => i(e, "a")), iT(t, n).forEach((e) => i(e, "b")), r.sort((e, t) => e.oStart - t.oStart);
16253
+ oT(t, e).forEach((e) => i(e, "a")), oT(t, n).forEach((e) => i(e, "b")), r.sort((e, t) => e.oStart - t.oStart);
16241
16254
  let a = [], o = 0;
16242
16255
  function s(e) {
16243
16256
  e > o && (a.push({
@@ -16304,12 +16317,12 @@ function aT(e, t, n) {
16304
16317
  }
16305
16318
  return s(t.length), a;
16306
16319
  }
16307
- function oT(e, t, n, r) {
16320
+ function cT(e, t, n, r) {
16308
16321
  r = Object.assign({
16309
16322
  excludeFalseConflicts: !0,
16310
16323
  stringSeparator: /\s+/
16311
16324
  }, r), typeof e == "string" && (e = e.split(r.stringSeparator)), typeof t == "string" && (t = t.split(r.stringSeparator)), typeof n == "string" && (n = n.split(r.stringSeparator));
16312
- let i = [], a = aT(e, t, n), o = [];
16325
+ let i = [], a = sT(e, t, n), o = [];
16313
16326
  function s() {
16314
16327
  o.length && i.push({ ok: o }), o = [];
16315
16328
  }
@@ -16329,13 +16342,13 @@ function oT(e, t, n, r) {
16329
16342
  } }));
16330
16343
  }), s(), i;
16331
16344
  }
16332
- function sT(e, t, n, r) {
16345
+ function lT(e, t, n, r) {
16333
16346
  r = Object.assign({
16334
16347
  excludeFalseConflicts: !0,
16335
16348
  stringSeparator: /\s+/,
16336
16349
  label: {}
16337
16350
  }, r);
16338
- let i = "<<<<<<<" + (r.label.a ? ` ${r.label.a}` : ""), a = ">>>>>>>" + (r.label.b ? ` ${r.label.b}` : ""), o = oT(e, t, n, r), s = !1, c = [];
16351
+ let i = "<<<<<<<" + (r.label.a ? ` ${r.label.a}` : ""), a = ">>>>>>>" + (r.label.b ? ` ${r.label.b}` : ""), o = cT(e, t, n, r), s = !1, c = [];
16339
16352
  return o.forEach((e) => {
16340
16353
  e.ok ? c = c.concat(e.ok) : e.conflict && (s = !0, c = c.concat([i], e.conflict.a, ["======="], e.conflict.b, [a]));
16341
16354
  }), {
@@ -16345,10 +16358,10 @@ function sT(e, t, n, r) {
16345
16358
  }
16346
16359
  //#endregion
16347
16360
  //#region ../core/src/merge/merge-file.ts
16348
- function cT({ base: e, current: t, generated: n }) {
16361
+ function uT({ base: e, current: t, generated: n }) {
16349
16362
  if (t === null || e === null || t === n || t === e) return { kind: "take-generated" };
16350
16363
  if (n === e) return { kind: "keep-current" };
16351
- let r = sT(t.split("\n"), e.split("\n"), n.split("\n"), { excludeFalseConflicts: !0 });
16364
+ let r = lT(t.split("\n"), e.split("\n"), n.split("\n"), { excludeFalseConflicts: !0 });
16352
16365
  return r.conflict ? { kind: "conflict" } : {
16353
16366
  kind: "merged",
16354
16367
  contents: r.result.join("\n")
@@ -16356,19 +16369,19 @@ function cT({ base: e, current: t, generated: n }) {
16356
16369
  }
16357
16370
  //#endregion
16358
16371
  //#region ../core/src/merge/verify.ts
16359
- var lT = /^(?:<{7}|={7}|>{7})(?:\s|$)/m, uT = /\bexport\s+(?:declare\s+)?(?:async\s+)?(?:function|const|let|class|interface|type|enum)\s+([A-Za-z_$][\w$]*)/g;
16360
- function dT(e) {
16361
- return [...e.matchAll(uT)].map((e) => e[1]);
16372
+ var dT = /^(?:<{7}|={7}|>{7})(?:\s|$)/m, fT = /\bexport\s+(?:declare\s+)?(?:async\s+)?(?:function|const|let|class|interface|type|enum)\s+([A-Za-z_$][\w$]*)/g;
16373
+ function pT(e) {
16374
+ return [...e.matchAll(fT)].map((e) => e[1]);
16362
16375
  }
16363
- function fT(e, t) {
16364
- if (lT.test(t)) return "it contains conflict markers";
16365
- let n = new Set(dT(t)), r = dT(e).filter((e) => !n.has(e));
16376
+ function mT(e, t) {
16377
+ if (dT.test(t)) return "it contains conflict markers";
16378
+ let n = new Set(pT(t)), r = pT(e).filter((e) => !n.has(e));
16366
16379
  return r.length > 0 ? `it no longer exports ${r.join(", ")}` : null;
16367
16380
  }
16368
16381
  //#endregion
16369
16382
  //#region src/merge/apply.ts
16370
- var pT = (e, t) => `${e.replace(/\/+$/, "")}/${t}.base`;
16371
- async function mT(e) {
16383
+ var hT = (e, t) => `${e.replace(/\/+$/, "")}/${t}.base`;
16384
+ async function gT(e) {
16372
16385
  let { cwd: t, existing: n, componentsDir: r, baseDir: i } = e, a = new Set(e.accept ?? []), o = {
16373
16386
  files: [],
16374
16387
  bases: [],
@@ -16376,14 +16389,14 @@ async function mT(e) {
16376
16389
  resolved: [],
16377
16390
  conflicts: []
16378
16391
  }, s = [], c = (e, t) => o.bases.push({
16379
- path: pT(i, e),
16392
+ path: hT(i, e),
16380
16393
  contents: t,
16381
16394
  policy: "overwrite"
16382
16395
  });
16383
16396
  for (let l of e.files) {
16384
16397
  let e = o.files.push(l) - 1;
16385
- if (!nT(l, r)) continue;
16386
- let u = n.read(l.path), d = n.read(pT(i, l.path));
16398
+ if (!iT(l, r)) continue;
16399
+ let u = n.read(l.path), d = n.read(hT(i, l.path));
16387
16400
  if (a.has(l.path) && u !== null) {
16388
16401
  o.files[e] = {
16389
16402
  ...l,
@@ -16391,7 +16404,7 @@ async function mT(e) {
16391
16404
  }, c(l.path, l.contents);
16392
16405
  continue;
16393
16406
  }
16394
- let f = cT({
16407
+ let f = uT({
16395
16408
  base: d,
16396
16409
  current: u,
16397
16410
  generated: l.contents
@@ -16407,7 +16420,7 @@ async function mT(e) {
16407
16420
  };
16408
16421
  break;
16409
16422
  case "merged": {
16410
- let n = await hT(t, l, f.contents);
16423
+ let n = await _T(t, l, f.contents);
16411
16424
  n.ok === !1 ? (o.files[e] = {
16412
16425
  ...l,
16413
16426
  contents: u
@@ -16437,11 +16450,11 @@ async function mT(e) {
16437
16450
  });
16438
16451
  }
16439
16452
  }
16440
- return e.resolver && s.length > 0 && await gT(e, o, s), o;
16453
+ return e.resolver && s.length > 0 && await vT(e, o, s), o;
16441
16454
  }
16442
- async function hT(e, t, n) {
16455
+ async function _T(e, t, n) {
16443
16456
  try {
16444
- let r = await tT(e, t.path, n), i = fT(t.contents, r);
16457
+ let r = await rT(e, t.path, n), i = mT(t.contents, r);
16445
16458
  return i ? {
16446
16459
  ok: !1,
16447
16460
  reason: `the merge was rejected: ${i}`
@@ -16456,7 +16469,7 @@ async function hT(e, t, n) {
16456
16469
  };
16457
16470
  }
16458
16471
  }
16459
- async function gT(e, t, n) {
16472
+ async function vT(e, t, n) {
16460
16473
  let r = (e, n) => {
16461
16474
  let r = t.conflicts.find((t) => t.path === e);
16462
16475
  r && (r.reason = n);
@@ -16480,7 +16493,7 @@ async function gT(e, t, n) {
16480
16493
  r(i.path, "the merge model could not resolve it");
16481
16494
  continue;
16482
16495
  }
16483
- let s = await hT(e.cwd, {
16496
+ let s = await _T(e.cwd, {
16484
16497
  path: i.path,
16485
16498
  contents: i.generated,
16486
16499
  policy: "overwrite"
@@ -16493,7 +16506,7 @@ async function gT(e, t, n) {
16493
16506
  ...t.files[n],
16494
16507
  contents: s.contents
16495
16508
  }, t.conflicts = t.conflicts.filter((e) => e.path !== i.path), t.resolved.push(i.path), t.bases.push({
16496
- path: pT(e.baseDir, i.path),
16509
+ path: hT(e.baseDir, i.path),
16497
16510
  contents: i.generated,
16498
16511
  policy: "overwrite"
16499
16512
  });
@@ -16502,8 +16515,8 @@ async function gT(e, t, n) {
16502
16515
  }
16503
16516
  //#endregion
16504
16517
  //#region src/merge/resolver.ts
16505
- function _T(e) {
16506
- let { io: t } = e, n = e.provider ?? Rw(e), r, i;
16518
+ function yT(e) {
16519
+ let { io: t } = e, n = e.provider ?? Bw(e), r, i;
16507
16520
  return async (e) => {
16508
16521
  if (r) return null;
16509
16522
  let a = (e) => (r = e, t.err(`Merge skipped: ${e}. Conflicts stay as you left them.\n`), null);
@@ -16518,17 +16531,17 @@ function _T(e) {
16518
16531
  files: e
16519
16532
  })).results;
16520
16533
  } catch (e) {
16521
- return a(e instanceof LC ? e.message : "the service call failed");
16534
+ return a(e instanceof zC ? e.message : "the service call failed");
16522
16535
  }
16523
16536
  };
16524
16537
  }
16525
16538
  //#endregion
16526
16539
  //#region src/stories/enrich-stories.ts
16527
- var vT = 3, yT = 2;
16528
- function bT(e, t) {
16540
+ var bT = 3, xT = 2;
16541
+ function ST(e, t) {
16529
16542
  return h("sha256").update(JSON.stringify([t, e])).digest("hex");
16530
16543
  }
16531
- async function xT(e, t, n = {}) {
16544
+ async function CT(e, t, n = {}) {
16532
16545
  let r;
16533
16546
  try {
16534
16547
  let e = await t.storiesVersion();
@@ -16540,18 +16553,18 @@ async function xT(e, t, n = {}) {
16540
16553
  } catch (e) {
16541
16554
  return {
16542
16555
  status: "skipped",
16543
- reason: e instanceof LC && e.status === 401 ? "the bridge did not accept the credentials" : e instanceof Error ? e.message : String(e)
16556
+ reason: e instanceof zC && e.status === 401 ? "the bridge did not accept the credentials" : e instanceof Error ? e.message : String(e)
16544
16557
  };
16545
16558
  }
16546
- let i = new Map(e.map((e) => [e.id, bT(e, r)])), a = n.previous?.promptVersion === r ? n.previous.entries : {}, o = {}, s = /* @__PURE__ */ new Map();
16559
+ let i = new Map(e.map((e) => [e.id, ST(e, r)])), a = n.previous?.promptVersion === r ? n.previous.entries : {}, o = {}, s = /* @__PURE__ */ new Map();
16547
16560
  for (let t of e) {
16548
16561
  let e = a[t.id];
16549
16562
  e && e.hash === i.get(t.id) && (o[t.id] = e, s.set(t.id, e.enrichment));
16550
16563
  }
16551
16564
  let c = s.size, l = [], u = e.filter((e) => !s.has(e.id)), d;
16552
- for (let e = 0; e < yT && u.length > 0 && !d; e++) {
16565
+ for (let e = 0; e < xT && u.length > 0 && !d; e++) {
16553
16566
  let e = [];
16554
- await Fw(Pw(u, 10), n.concurrency ?? vT, async (n) => {
16567
+ await Lw(Iw(u, 10), n.concurrency ?? bT, async (n) => {
16555
16568
  if (d) {
16556
16569
  e.push(...n);
16557
16570
  return;
@@ -16563,7 +16576,7 @@ async function xT(e, t, n = {}) {
16563
16576
  components: n
16564
16577
  })).results;
16565
16578
  } catch (t) {
16566
- t instanceof LC && (t.code === "rate_limited" || t.code === "forbidden" || t.status === 401) ? d = t.message : l.push(`stories: a batch of ${n.length} failed (${t.message})`), e.push(...n);
16579
+ t instanceof zC && (t.code === "rate_limited" || t.code === "forbidden" || t.status === 401) ? d = t.message : l.push(`stories: a batch of ${n.length} failed (${t.message})`), e.push(...n);
16567
16580
  return;
16568
16581
  }
16569
16582
  let a = new Map(r.map((e) => [e.id, e]));
@@ -16599,10 +16612,10 @@ async function xT(e, t, n = {}) {
16599
16612
  }
16600
16613
  //#endregion
16601
16614
  //#region src/stories/step.ts
16602
- function ST(e, t) {
16615
+ function wT(e, t) {
16603
16616
  return new Map(Object.entries(e.entries).filter(([, e]) => !t || e.verified === !0).map(([e, t]) => [e, t.enrichment]));
16604
16617
  }
16605
- function CT(e) {
16618
+ function TT(e) {
16606
16619
  try {
16607
16620
  let t = JSON.parse(i(e, "utf-8"));
16608
16621
  return t && typeof t.entries == "object" ? t : void 0;
@@ -16610,46 +16623,46 @@ function CT(e) {
16610
16623
  return;
16611
16624
  }
16612
16625
  }
16613
- async function wT(e) {
16626
+ async function ET(e) {
16614
16627
  let { io: n, config: r, input: a } = e, o = (e, t = !1) => {
16615
16628
  let r = `Story enrichment skipped: ${e}.\n`;
16616
16629
  t ? n.out(r) : n.err(r);
16617
16630
  };
16618
16631
  try {
16619
16632
  if (!r.stories.enabled) return;
16620
- let s = Wp(a.design, a.annotations), { descriptors: l } = xC(s.design, { iconPages: s.iconPages }), u = lS[r.stories.target].fileExtension, d = AC(l, a.enrichment).filter((e) => {
16633
+ let s = Wp(a.design, a.annotations), { descriptors: l } = CC(s.design, { iconPages: s.iconPages }), u = lS[r.stories.target].fileExtension, d = MC(l, a.enrichment).filter((e) => {
16621
16634
  if (r.stories.overwrite) return !0;
16622
16635
  let t = G(e.name), n = q(r.paths.components, `${t}/${t}.stories.${u}`);
16623
16636
  return !(a.existing?.exists(n) ?? !1);
16624
- }), f = await (e.provider ?? Rw(e))();
16637
+ }), f = await (e.provider ?? Bw(e))();
16625
16638
  if (f.ok === !1) return o(f.reason, f.quiet);
16626
- let p = await xT(d, f.client, { previous: CT(e.cachePath) });
16639
+ let p = await CT(d, f.client, { previous: TT(e.cachePath) });
16627
16640
  if (p.status === "skipped") return o(p.reason);
16628
16641
  for (let e of p.warnings) n.err(`warning: ${e}\n`);
16629
16642
  let m = JSON.stringify(p.cache, null, 2);
16630
16643
  t(e.cachePath) && i(e.cachePath, "utf-8") === m || c(e.cachePath, m);
16631
16644
  let { total: h, cached: g, fresh: _, failed: v } = p.stats;
16632
- return n.out(`Story enrichment: ${h} component(s): ${_} proposed, ${g} cached${v > 0 ? `, ${v} without a proposal` : ""}.\n`), ST(p.cache, e.verifiedOnly ?? !1);
16645
+ return n.out(`Story enrichment: ${h} component(s): ${_} proposed, ${g} cached${v > 0 ? `, ${v} without a proposal` : ""}.\n`), wT(p.cache, e.verifiedOnly ?? !1);
16633
16646
  } catch (e) {
16634
16647
  return o(e instanceof Error ? e.message : String(e));
16635
16648
  }
16636
16649
  }
16637
- function TT(e, t = {}) {
16638
- let n = CT(e);
16650
+ function DT(e, t = {}) {
16651
+ let n = TT(e);
16639
16652
  if (!n) return;
16640
- let r = ST(n, t.verifiedOnly ?? !1);
16653
+ let r = wT(n, t.verifiedOnly ?? !1);
16641
16654
  return r.size > 0 ? r : void 0;
16642
16655
  }
16643
16656
  //#endregion
16644
16657
  //#region src/stories/verify.ts
16645
- var ET = ".syncline-verify", DT = 6e5;
16646
- function OT(e, t = () => !0) {
16658
+ var OT = ".syncline-verify", kT = 6e5;
16659
+ function AT(e, t = () => !0) {
16647
16660
  return Object.entries(e.entries).flatMap(([e, n]) => t(n, e) ? n.enrichment.stories.flatMap((t) => {
16648
16661
  let n = Bl(t.name);
16649
16662
  return n ? [`${G(e)}/${n}`] : [];
16650
16663
  }) : []);
16651
16664
  }
16652
- function kT(e, t, n) {
16665
+ function jT(e, t, n) {
16653
16666
  let r = 0, i = 0, a = Object.fromEntries(Object.entries(e.entries).map(([e, a]) => {
16654
16667
  if (!n(a, e)) return [e, a];
16655
16668
  let o = [], s = [...a.rejected ?? []];
@@ -16679,7 +16692,7 @@ function kT(e, t, n) {
16679
16692
  rejected: i
16680
16693
  };
16681
16694
  }
16682
- var AT = "\x1B", jT = (e) => e.replace(RegExp(`${AT}\\[[0-9;]*m`, "g"), ""), MT = "// @vitest-environment jsdom\nimport { readFileSync, writeFileSync } from 'node:fs';\nimport { composeStories, setProjectAnnotations } from '@storybook/react';\nimport { afterAll, it } from 'vitest';\n\nconst wanted = new Set<string>(\n JSON.parse(readFileSync(process.env['CLI_VERIFY_IN'] as string, 'utf8'))\n);\nconst results: Record<string, { ok: boolean; message?: string }> = {};\nconst previews = import.meta.glob('../.storybook/preview.{ts,tsx,js,jsx}', {\n eager: true,\n}) as Record<string, { default?: unknown }>;\nconst preview = Object.values(previews)[0]?.default;\nif (preview) setProjectAnnotations([preview as never]);\n\nconst modules = import.meta.glob('../**/*.stories.{ts,tsx,js,jsx}', {\n eager: true,\n}) as Record<string, object>;\n\nfor (const [path, mod] of Object.entries(modules)) {\n if (path.includes('node_modules')) continue;\n const folder = path.split('/').at(-2) as string;\n const composed = composeStories(mod as never) as Record<string, any>;\n for (const [name, story] of Object.entries(composed)) {\n const key = folder + '/' + name;\n if (!wanted.has(key)) continue;\n it(key, async () => {\n try {\n await story.run();\n results[key] = { ok: true };\n } catch (error) {\n results[key] = {\n ok: false,\n message: String((error as Error)?.message ?? error).slice(0, 400),\n };\n }\n }, 20000);\n }\n}\nafterAll(() =>\n writeFileSync(process.env['CLI_VERIFY_OUT'] as string, JSON.stringify(results))\n);\n", NT = (e) => `import { defineConfig, mergeConfig } from 'vite';
16695
+ var MT = "\x1B", NT = (e) => e.replace(RegExp(`${MT}\\[[0-9;]*m`, "g"), ""), PT = "// @vitest-environment jsdom\nimport { readFileSync, writeFileSync } from 'node:fs';\nimport { composeStories, setProjectAnnotations } from '@storybook/react';\nimport { afterAll, it } from 'vitest';\n\nconst wanted = new Set<string>(\n JSON.parse(readFileSync(process.env['CLI_VERIFY_IN'] as string, 'utf8'))\n);\nconst results: Record<string, { ok: boolean; message?: string }> = {};\nconst previews = import.meta.glob('../.storybook/preview.{ts,tsx,js,jsx}', {\n eager: true,\n}) as Record<string, { default?: unknown }>;\nconst preview = Object.values(previews)[0]?.default;\nif (preview) setProjectAnnotations([preview as never]);\n\nconst modules = import.meta.glob('../**/*.stories.{ts,tsx,js,jsx}', {\n eager: true,\n}) as Record<string, object>;\n\nfor (const [path, mod] of Object.entries(modules)) {\n if (path.includes('node_modules')) continue;\n const folder = path.split('/').at(-2) as string;\n const composed = composeStories(mod as never) as Record<string, any>;\n for (const [name, story] of Object.entries(composed)) {\n const key = folder + '/' + name;\n if (!wanted.has(key)) continue;\n it(key, async () => {\n try {\n await story.run();\n results[key] = { ok: true };\n } catch (error) {\n results[key] = {\n ok: false,\n message: String((error as Error)?.message ?? error).slice(0, 400),\n };\n }\n }, 20000);\n }\n}\nafterAll(() =>\n writeFileSync(process.env['CLI_VERIFY_OUT'] as string, JSON.stringify(results))\n);\n", FT = (e) => `import { defineConfig, mergeConfig } from 'vite';
16683
16696
  ${e ? `import base from '${e}';` : "const base = {};"}
16684
16697
 
16685
16698
  export default defineConfig((env) =>
@@ -16688,7 +16701,7 @@ export default defineConfig((env) =>
16688
16701
  {
16689
16702
  root: new URL('..', import.meta.url).pathname,
16690
16703
  test: {
16691
- include: ['${ET}/*.verify.tsx'],
16704
+ include: ['${OT}/*.verify.tsx'],
16692
16705
  globals: true,
16693
16706
  watch: false,
16694
16707
  reporters: ['default'],
@@ -16697,7 +16710,7 @@ export default defineConfig((env) =>
16697
16710
  }
16698
16711
  )
16699
16712
  );
16700
- `, PT = async (e, n) => {
16713
+ `, IT = async (e, n) => {
16701
16714
  let a = [
16702
16715
  "mts",
16703
16716
  "ts",
@@ -16713,9 +16726,9 @@ export default defineConfig((env) =>
16713
16726
  reason: "vitest is not installed (and jsdom, which the stories run in)"
16714
16727
  };
16715
16728
  }
16716
- let l = d(e, ET), u = d(l, "keys.json"), f = d(l, "results.json");
16729
+ let l = d(e, OT), u = d(l, "keys.json"), f = d(l, "results.json");
16717
16730
  try {
16718
- r(l, { recursive: !0 }), c(u, JSON.stringify(n)), c(d(l, "run.verify.tsx"), MT), c(d(l, "vitest.config.mts"), NT(a && `../${a}`));
16731
+ r(l, { recursive: !0 }), c(u, JSON.stringify(n)), c(d(l, "run.verify.tsx"), PT), c(d(l, "vitest.config.mts"), FT(a && `../${a}`));
16719
16732
  let o = [];
16720
16733
  if (await new Promise((t) => {
16721
16734
  let n = g(process.execPath, [
@@ -16735,14 +16748,14 @@ export default defineConfig((env) =>
16735
16748
  "pipe",
16736
16749
  "pipe"
16737
16750
  ]
16738
- }), r = setTimeout(() => n.kill(), DT);
16751
+ }), r = setTimeout(() => n.kill(), kT);
16739
16752
  n.stdout.on("data", (e) => o.push(String(e))), n.stderr.on("data", (e) => o.push(String(e))), n.on("close", () => {
16740
16753
  clearTimeout(r), t();
16741
16754
  }), n.on("error", () => {
16742
16755
  clearTimeout(r), t();
16743
16756
  });
16744
16757
  }), !t(f)) {
16745
- let e = jT(o.join("")).split("\n").find((e) => /error|cannot|failed/i.test(e));
16758
+ let e = NT(o.join("")).split("\n").find((e) => /error|cannot|failed/i.test(e));
16746
16759
  return {
16747
16760
  ok: !1,
16748
16761
  reason: `the stories could not be run${e ? ` (${e.trim().slice(0, 160)})` : ""}`
@@ -16761,10 +16774,10 @@ export default defineConfig((env) =>
16761
16774
  };
16762
16775
  //#endregion
16763
16776
  //#region src/stories/verify-step.ts
16764
- async function FT(e) {
16765
- let { cwd: n, config: r, io: i, cachePath: a, generate: s } = e, l = CT(a);
16777
+ async function LT(e) {
16778
+ let { cwd: n, config: r, io: i, cachePath: a, generate: s } = e, l = TT(a);
16766
16779
  if (!l) return;
16767
- let u = lS[r.stories.target].fileExtension, f = (e) => d(n, r.paths.components, G(e), `${G(e)}.stories.${u}`), p = new Map(Object.keys(l.entries).map((e) => [e, t(f(e))])), m = (e, t) => e.verified !== !0 && e.enrichment.stories.length > 0 && (r.stories.overwrite || p.get(t) === !1), h = OT(l, m);
16780
+ let u = lS[r.stories.target].fileExtension, f = (e) => d(n, r.paths.components, G(e), `${G(e)}.stories.${u}`), p = new Map(Object.keys(l.entries).map((e) => [e, t(f(e))])), m = (e, t) => e.verified !== !0 && e.enrichment.stories.length > 0 && (r.stories.overwrite || p.get(t) === !1), h = AT(l, m);
16768
16781
  if (h.length === 0) return;
16769
16782
  let g = () => {
16770
16783
  if (!r.stories.overwrite) for (let [e, t] of Object.entries(l.entries)) m(t, e) && o(f(e), { force: !0 });
@@ -16783,7 +16796,7 @@ async function FT(e) {
16783
16796
  storiesUnverified: !0,
16784
16797
  skipDependencies: !0
16785
16798
  }, _) !== 0) return g(), v("the library could not be generated");
16786
- let t = await (e.verifyRunner ?? PT)(n, h);
16799
+ let t = await (e.verifyRunner ?? IT)(n, h);
16787
16800
  if (t.ok === !1) return g(), await s({
16788
16801
  cwd: n,
16789
16802
  config: r,
@@ -16791,7 +16804,7 @@ async function FT(e) {
16791
16804
  noEnrich: !0,
16792
16805
  skipDependencies: !0
16793
16806
  }, _), v(t.reason);
16794
- let o = kT(l, t.results, m);
16807
+ let o = jT(l, t.results, m);
16795
16808
  return c(a, JSON.stringify(o.cache, null, 2)), i.out(`Story verification: ${o.passed} passed, ${o.rejected} rejected (they failed when run).\n`), g(), await s({
16796
16809
  cwd: n,
16797
16810
  config: r,
@@ -16808,14 +16821,14 @@ async function FT(e) {
16808
16821
  }
16809
16822
  //#endregion
16810
16823
  //#region src/generate.ts
16811
- async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i = !1, ci: a = !1, accept: o, storiesUnverified: s = !1, skipDependencies: c = !1, verifyRunner: l, enrich: u, provider: f, runner: p }, m) {
16824
+ async function RT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i = !1, ci: a = !1, accept: o, storiesUnverified: s = !1, skipDependencies: c = !1, verifyRunner: l, enrich: u, provider: f, runner: p }, m) {
16812
16825
  if (!n && !i) {
16813
16826
  let n = u?.env ?? process.env;
16814
- await Vw({
16827
+ await Uw({
16815
16828
  designPath: d(e, t.inputs.design),
16816
16829
  enrichedPath: d(e, t.inputs.enriched),
16817
16830
  annotationsPath: d(e, t.inputs.annotations),
16818
- bridgeUrl: cw({
16831
+ bridgeUrl: uw({
16819
16832
  env: n,
16820
16833
  configured: t.enrich.bridgeUrl,
16821
16834
  baked: y
@@ -16828,7 +16841,7 @@ async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i =
16828
16841
  sleep: u?.sleep
16829
16842
  });
16830
16843
  }
16831
- let h = vw({
16844
+ let h = bw({
16832
16845
  root: e,
16833
16846
  designPath: t.inputs.design,
16834
16847
  enrichedPath: t.inputs.enriched,
@@ -16837,7 +16850,7 @@ async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i =
16837
16850
  brandImage: t.theme.brand?.image
16838
16851
  });
16839
16852
  if (h.ok === !1) return m.err(`${h.error}\n`), 1;
16840
- let g = fw(e), _ = await Dw({
16853
+ let g = mw(e), _ = await kw({
16841
16854
  design: h.input.design,
16842
16855
  config: t,
16843
16856
  cachePath: d(e, t.inputs.fonts),
@@ -16845,9 +16858,9 @@ async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i =
16845
16858
  io: m,
16846
16859
  fetch: u?.fetch
16847
16860
  });
16848
- !n && !c && await Qw({
16861
+ !n && !c && await eT({
16849
16862
  cwd: e,
16850
- required: Ru(t, jC(h.input.design, t, _)),
16863
+ required: Ru(t, NC(h.input.design, t, _)),
16851
16864
  install: t.dependencies.install,
16852
16865
  libraryName: t.libraryName,
16853
16866
  io: m,
@@ -16858,7 +16871,7 @@ async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i =
16858
16871
  let r = d(e, t.inputs.stories), a = t.enrichStories.verify && !s;
16859
16872
  if (!n && !i) {
16860
16873
  let n = u?.env ?? process.env;
16861
- v = await wT({
16874
+ v = await ET({
16862
16875
  input: {
16863
16876
  ...h.input,
16864
16877
  existing: g
@@ -16866,7 +16879,7 @@ async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i =
16866
16879
  config: t,
16867
16880
  cachePath: r,
16868
16881
  verifiedOnly: a,
16869
- bridgeUrl: cw({
16882
+ bridgeUrl: uw({
16870
16883
  env: n,
16871
16884
  configured: t.enrich.bridgeUrl,
16872
16885
  baked: y
@@ -16877,25 +16890,25 @@ async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i =
16877
16890
  env: n,
16878
16891
  fetch: u?.fetch,
16879
16892
  sleep: u?.sleep
16880
- }), v && t.enrichStories.verify && (await FT({
16893
+ }), v && t.enrichStories.verify && (await LT({
16881
16894
  cwd: e,
16882
16895
  config: t,
16883
16896
  cachePath: r,
16884
16897
  io: m,
16885
16898
  verifyRunner: l,
16886
- generate: IT
16887
- }), v = TT(r, { verifiedOnly: a }));
16899
+ generate: RT
16900
+ }), v = DT(r, { verifiedOnly: a }));
16888
16901
  }
16889
- v ??= TT(r, { verifiedOnly: a });
16902
+ v ??= DT(r, { verifiedOnly: a });
16890
16903
  }
16891
- let b = await NC({
16904
+ let b = await FC({
16892
16905
  ...h.input,
16893
16906
  existing: g,
16894
16907
  storyEnrichment: v,
16895
16908
  fonts: _
16896
16909
  }, t);
16897
- BT(b.diagnostics, r, m);
16898
- let x = [], S = await eT(e, b.files, (e, t) => x.push({
16910
+ HT(b.diagnostics, r, m);
16911
+ let x = [], S = await nT(e, b.files, (e, t) => x.push({
16899
16912
  path: e,
16900
16913
  message: t
16901
16914
  }));
@@ -16906,15 +16919,15 @@ async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i =
16906
16919
  let C = S, w = [], T;
16907
16920
  if (t.merge.enabled) {
16908
16921
  let r = u?.env ?? process.env;
16909
- T = await mT({
16922
+ T = await gT({
16910
16923
  cwd: e,
16911
16924
  files: S,
16912
16925
  existing: g,
16913
16926
  componentsDir: t.paths.components,
16914
16927
  baseDir: t.merge.baseDir,
16915
16928
  accept: o,
16916
- resolver: !n && !i && t.merge.llm && t.merge.sendSource ? _T({
16917
- bridgeUrl: cw({
16929
+ resolver: !n && !i && t.merge.llm && t.merge.sendSource ? yT({
16930
+ bridgeUrl: uw({
16918
16931
  env: r,
16919
16932
  configured: t.enrich.bridgeUrl,
16920
16933
  baked: y
@@ -16934,20 +16947,20 @@ async function IT({ cwd: e, config: t, check: n, verbose: r = !1, noEnrich: i =
16934
16947
  let t = g.read(e.path);
16935
16948
  return t === null || e.policy === "overwrite" && t !== e.contents;
16936
16949
  }), t = T?.conflicts ?? [];
16937
- return t.length > 0 && m.err(RT(t, !0)), e.length === 0 && t.length === 0 ? (m.out(`Up to date (${C.length} file(s) checked).\n`), 0) : (e.length === 0 || m.err(`${e.length} generated file(s) are out of date:\n${e.slice(0, 20).map((e) => ` ${e.path}`).join("\n")}${e.length > 20 ? `\n …and ${e.length - 20} more` : ""}\nRun \`syncline generate\` and commit the result.
16950
+ return t.length > 0 && m.err(BT(t, !0)), e.length === 0 && t.length === 0 ? (m.out(`Up to date (${C.length} file(s) checked).\n`), 0) : (e.length === 0 || m.err(`${e.length} generated file(s) are out of date:\n${e.slice(0, 20).map((e) => ` ${e.path}`).join("\n")}${e.length > 20 ? `\n …and ${e.length - 20} more` : ""}\nRun \`syncline generate\` and commit the result.
16938
16951
  `), 1);
16939
16952
  }
16940
- let E = pw(e, [...C, ...w]);
16941
- return m.out(`Generated ${C.length} file(s): ${E.written.length - LT(E.written, w)} written, ${E.unchanged.length} unchanged, ${E.kept.length} kept (hand-editable).\n`), T && zT(T, m), 0;
16953
+ let E = hw(e, [...C, ...w]);
16954
+ return m.out(`Generated ${C.length} file(s): ${E.written.length - zT(E.written, w)} written, ${E.unchanged.length} unchanged, ${E.kept.length} kept (hand-editable).\n`), T && VT(T, m), 0;
16942
16955
  }
16943
- var LT = (e, t) => t.filter((t) => e.includes(t.path)).length;
16944
- function RT(e, t) {
16956
+ var zT = (e, t) => t.filter((t) => e.includes(t.path)).length;
16957
+ function BT(e, t) {
16945
16958
  return `${e.length} component(s) have hand edits that could not be merged${t ? " (and are out of date)" : " (left as you wrote them)"}:\n` + e.map((e) => ` ${e.path}: ${e.reason}`).join("\n") + "\nResolve each by hand, then run `syncline generate --accept <path>` to record it.\n";
16946
16959
  }
16947
- function zT(e, t) {
16948
- e.merged.length > 0 && t.out(`Merged your edits into ${e.merged.length} component(s).\n`), e.resolved.length > 0 && t.out(`Resolved ${e.resolved.length} conflict(s) with the merge service.\n`), e.conflicts.length > 0 && t.err(RT(e.conflicts, !1));
16960
+ function VT(e, t) {
16961
+ e.merged.length > 0 && t.out(`Merged your edits into ${e.merged.length} component(s).\n`), e.resolved.length > 0 && t.out(`Resolved ${e.resolved.length} conflict(s) with the merge service.\n`), e.conflicts.length > 0 && t.err(BT(e.conflicts, !1));
16949
16962
  }
16950
- function BT(e, t, n) {
16963
+ function HT(e, t, n) {
16951
16964
  if (e.length === 0) return;
16952
16965
  if (t) {
16953
16966
  for (let t of e) n.err(`warning [${t.phase}]${t.scope ? ` ${t.scope}` : ""}: ${t.message}\n`);
@@ -16959,12 +16972,12 @@ function BT(e, t, n) {
16959
16972
  }
16960
16973
  //#endregion
16961
16974
  //#region src/commands/generate.ts
16962
- var VT = `Usage: syncline generate [options]
16975
+ var UT = `Usage: syncline generate [options]
16963
16976
 
16964
16977
  Generates the component library from the Figma export under .syncline/.
16965
16978
 
16966
16979
  Options:
16967
- --config <file> Config file (default: ${FC}; every setting has a default)
16980
+ --config <file> Config file (default: ${LC}; every setting has a default)
16968
16981
  --cwd <dir> Project root (default: the current directory)
16969
16982
  --check Write nothing; exit 1 if the generated files are out of date
16970
16983
  --verbose List every warning instead of a per-phase count
@@ -16976,7 +16989,7 @@ Options:
16976
16989
  the proposed play() stories (replaces hand edits to those files)
16977
16990
  -h, --help Show this help
16978
16991
  `;
16979
- function HT(e) {
16992
+ function WT(e) {
16980
16993
  let t = {
16981
16994
  check: !1,
16982
16995
  verbose: !1,
@@ -17021,19 +17034,19 @@ function HT(e) {
17021
17034
  case "--help":
17022
17035
  t.help = !0;
17023
17036
  break;
17024
- default: throw Error(`Unknown option: ${e[n]}\n\n${VT}`);
17037
+ default: throw Error(`Unknown option: ${e[n]}\n\n${UT}`);
17025
17038
  }
17026
17039
  }
17027
17040
  return t;
17028
17041
  }
17029
- var UT = {
17042
+ var GT = {
17030
17043
  name: "generate",
17031
17044
  summary: "Generate the component library from .syncline/design.json",
17032
17045
  async run({ args: e, io: t }) {
17033
- let n = HT(e);
17034
- if (n.help) return t.out(VT), 0;
17035
- let r = f(n.cwd ?? process.cwd()), i = Ow(r, n.config);
17036
- return i.ok === !1 ? (t.err(`${i.error}\n`), 1) : IT({
17046
+ let n = WT(e);
17047
+ if (n.help) return t.out(UT), 0;
17048
+ let r = f(n.cwd ?? process.cwd()), i = Aw(r, n.config);
17049
+ return i.ok === !1 ? (t.err(`${i.error}\n`), 1) : RT({
17037
17050
  cwd: r,
17038
17051
  config: n.overwriteStories ? {
17039
17052
  ...i.config,
@@ -17049,14 +17062,14 @@ var UT = {
17049
17062
  accept: n.accept
17050
17063
  }, t);
17051
17064
  }
17052
- }, WT = 8, GT = 40, KT = (e) => ({ text: JSON.stringify(e, null, 2) }), qT = (e) => ({
17065
+ }, KT = 8, qT = 40, JT = (e) => ({ text: JSON.stringify(e, null, 2) }), YT = (e) => ({
17053
17066
  text: e,
17054
17067
  isError: !0
17055
17068
  });
17056
- function JT(e) {
17069
+ function XT(e) {
17057
17070
  return typeof e == "string" && e.trim() ? e.trim() : void 0;
17058
17071
  }
17059
- function YT(e) {
17072
+ function ZT(e) {
17060
17073
  return {
17061
17074
  name: e.name,
17062
17075
  ...e.group && { group: e.group },
@@ -17064,7 +17077,7 @@ function YT(e) {
17064
17077
  ...e.archetype && { widget: e.archetype.kind }
17065
17078
  };
17066
17079
  }
17067
- function XT(e, t, n) {
17080
+ function QT(e, t, n) {
17068
17081
  let r = e.toLowerCase().split(/\s+/).filter(Boolean), i = t.toLowerCase(), a = n.filter(Boolean).join(" ").toLowerCase(), o = 0;
17069
17082
  for (let e of r) if (i === e) o += 10;
17070
17083
  else if (i.includes(e)) o += 5;
@@ -17072,7 +17085,7 @@ function XT(e, t, n) {
17072
17085
  else return 0;
17073
17086
  return o;
17074
17087
  }
17075
- var ZT = [
17088
+ var $T = [
17076
17089
  {
17077
17090
  name: "list_components",
17078
17091
  description: "List the library’s components (name, group, one-line description), optionally one group. Start here when you do not know what exists.",
@@ -17084,10 +17097,10 @@ var ZT = [
17084
17097
  } }
17085
17098
  },
17086
17099
  call({ manifest: e }, t) {
17087
- let n = JT(t.group)?.toLowerCase(), r = e.components.filter((e) => !n || e.group?.toLowerCase() === n);
17088
- return KT({
17100
+ let n = XT(t.group)?.toLowerCase(), r = e.components.filter((e) => !n || e.group?.toLowerCase() === n);
17101
+ return JT({
17089
17102
  groups: [...new Set(e.components.map((e) => e.group ?? "Components"))],
17090
- components: r.map(YT)
17103
+ components: r.map(ZT)
17091
17104
  });
17092
17105
  }
17093
17106
  },
@@ -17100,21 +17113,21 @@ var ZT = [
17100
17113
  required: ["query"]
17101
17114
  },
17102
17115
  call({ manifest: e }, t) {
17103
- let n = JT(t.query);
17104
- if (!n) return qT("query is required");
17116
+ let n = XT(t.query);
17117
+ if (!n) return YT("query is required");
17105
17118
  let r = e.components.map((e) => ({
17106
17119
  component: e,
17107
- score: XT(n, e.name, [
17120
+ score: QT(n, e.name, [
17108
17121
  e.description,
17109
17122
  e.group,
17110
17123
  e.archetype?.kind,
17111
17124
  e.archetype?.summary,
17112
17125
  ...e.props.map((e) => e.name)
17113
17126
  ])
17114
- })).filter((e) => e.score > 0).sort((e, t) => t.score - e.score || e.component.name.localeCompare(t.component.name)).slice(0, WT);
17115
- return KT({
17127
+ })).filter((e) => e.score > 0).sort((e, t) => t.score - e.score || e.component.name.localeCompare(t.component.name)).slice(0, KT);
17128
+ return JT({
17116
17129
  query: n,
17117
- matches: r.map((e) => YT(e.component)),
17130
+ matches: r.map((e) => ZT(e.component)),
17118
17131
  hint: r.length ? "Call get_component for the full contract of one of these." : "No match: try list_components, or build it from existing components and tokens."
17119
17132
  });
17120
17133
  }
@@ -17128,15 +17141,15 @@ var ZT = [
17128
17141
  required: ["name"]
17129
17142
  },
17130
17143
  call({ manifest: e }, t) {
17131
- let n = JT(t.name);
17132
- if (!n) return qT("name is required");
17144
+ let n = XT(t.name);
17145
+ if (!n) return YT("name is required");
17133
17146
  let r = e.components.find((e) => e.name.toLowerCase() === n.toLowerCase());
17134
17147
  if (!r) {
17135
17148
  let t = e.components.filter((e) => e.name.toLowerCase().includes(n.toLowerCase())).map((e) => e.name).slice(0, 5);
17136
- return qT(`No component named "${n}".${t.length ? ` Did you mean: ${t.join(", ")}?` : " Use search_components."}`);
17149
+ return YT(`No component named "${n}".${t.length ? ` Did you mean: ${t.join(", ")}?` : " Use search_components."}`);
17137
17150
  }
17138
17151
  let i = Object.fromEntries(r.props.flatMap((t) => t.enum ? [[t.enum, e.enums[t.enum]]] : []));
17139
- return KT({
17152
+ return JT({
17140
17153
  import: `import { ${r.name} } from '${e.library.package ?? "<package>"}'`,
17141
17154
  component: r,
17142
17155
  enums: i,
@@ -17168,28 +17181,28 @@ var ZT = [
17168
17181
  }
17169
17182
  },
17170
17183
  call({ tokens: e }, t) {
17171
- let n = JT(t.query), r = JT(t.kind), i = e.tokens.filter((e) => !r || e.kind === r).map((e) => ({
17184
+ let n = XT(t.query), r = XT(t.kind), i = e.tokens.filter((e) => !r || e.kind === r).map((e) => ({
17172
17185
  token: e,
17173
- score: n ? XT(n, e.name, [
17186
+ score: n ? QT(n, e.name, [
17174
17187
  e.description,
17175
17188
  e.collection,
17176
17189
  e.kind
17177
17190
  ]) : 1
17178
17191
  })).filter((e) => e.score > 0).sort((e, t) => t.score - e.score || e.token.name.localeCompare(t.token.name));
17179
- return KT({
17192
+ return JT({
17180
17193
  total: i.length,
17181
17194
  modes: e.modes,
17182
- tokens: i.slice(0, GT).map((e) => e.token),
17183
- ...i.length > GT && { hint: `Showing ${GT} of ${i.length}; narrow with query or kind.` }
17195
+ tokens: i.slice(0, qT).map((e) => e.token),
17196
+ ...i.length > qT && { hint: `Showing ${qT} of ${i.length}; narrow with query or kind.` }
17184
17197
  });
17185
17198
  }
17186
17199
  }
17187
- ], QT = "2025-06-18", $T = "Design-system lookup. Before writing UI, call search_components or list_components; use get_component for exact props and a compiling example; use search_tokens for colours, spacing and type instead of raw values. Read each component’s `archetype.notCovered` before assuming a feature.", eE = {
17200
+ ], eE = "2025-06-18", tE = "Design-system lookup. Before writing UI, call search_components or list_components; use get_component for exact props and a compiling example; use search_tokens for colours, spacing and type instead of raw values. Read each component’s `archetype.notCovered` before assuming a feature.", nE = {
17188
17201
  parse: -32700,
17189
17202
  method: -32601,
17190
17203
  params: -32602
17191
17204
  };
17192
- function tE(e) {
17205
+ function rE(e) {
17193
17206
  let t = (e, t) => JSON.stringify({
17194
17207
  jsonrpc: "2.0",
17195
17208
  id: e,
@@ -17207,29 +17220,29 @@ function tE(e) {
17207
17220
  try {
17208
17221
  i = JSON.parse(r);
17209
17222
  } catch {
17210
- return n(null, eE.parse, "Parse error");
17223
+ return n(null, nE.parse, "Parse error");
17211
17224
  }
17212
- if (typeof i != "object" || !i) return n(null, eE.parse, "Parse error");
17225
+ if (typeof i != "object" || !i) return n(null, nE.parse, "Parse error");
17213
17226
  let { id: a, method: o, params: s = {} } = i, c = a === void 0;
17214
17227
  switch (o) {
17215
17228
  case "initialize": return t(a, {
17216
- protocolVersion: typeof s.protocolVersion == "string" ? s.protocolVersion : QT,
17229
+ protocolVersion: typeof s.protocolVersion == "string" ? s.protocolVersion : eE,
17217
17230
  capabilities: { tools: {} },
17218
17231
  serverInfo: {
17219
17232
  name: "syncline",
17220
17233
  version: b
17221
17234
  },
17222
- instructions: $T
17235
+ instructions: tE
17223
17236
  });
17224
17237
  case "ping": return t(a, {});
17225
- case "tools/list": return t(a, { tools: ZT.map(({ name: e, description: t, inputSchema: n }) => ({
17238
+ case "tools/list": return t(a, { tools: $T.map(({ name: e, description: t, inputSchema: n }) => ({
17226
17239
  name: e,
17227
17240
  description: t,
17228
17241
  inputSchema: n
17229
17242
  })) });
17230
17243
  case "tools/call": {
17231
- let r = ZT.find((e) => e.name === s.name);
17232
- if (!r) return n(a, eE.params, `Unknown tool: ${String(s.name)}`);
17244
+ let r = $T.find((e) => e.name === s.name);
17245
+ if (!r) return n(a, nE.params, `Unknown tool: ${String(s.name)}`);
17233
17246
  let i = typeof s.arguments == "object" && s.arguments !== null ? s.arguments : {};
17234
17247
  try {
17235
17248
  let n = r.call(e, i);
@@ -17250,13 +17263,13 @@ function tE(e) {
17250
17263
  });
17251
17264
  }
17252
17265
  }
17253
- default: return c ? null : n(a, eE.method, `Method not found: ${String(o)}`);
17266
+ default: return c ? null : n(a, nE.method, `Method not found: ${String(o)}`);
17254
17267
  }
17255
17268
  } };
17256
17269
  }
17257
17270
  //#endregion
17258
17271
  //#region src/commands/mcp.ts
17259
- var nE = `Usage: syncline mcp [options]
17272
+ var iE = `Usage: syncline mcp [options]
17260
17273
 
17261
17274
  Serves the design system to an AI agent over MCP (stdio): search and read
17262
17275
  components, search tokens. Reads what \`syncline generate\` wrote when \`agent.enabled\`
@@ -17265,27 +17278,27 @@ is set (agent/components.json, agent/tokens.json). Register it with your agent:
17265
17278
  claude mcp add design-system -- npx @syncline-design/cli mcp
17266
17279
 
17267
17280
  Options:
17268
- --config <file> Config file (default: ${FC})
17281
+ --config <file> Config file (default: ${LC})
17269
17282
  --cwd <dir> Project root (default: the current directory)
17270
17283
  -h, --help Show this help
17271
- `, rE = {
17284
+ `, aE = {
17272
17285
  name: "mcp",
17273
17286
  summary: "Serve the design system to an AI agent (MCP, stdio)",
17274
17287
  async run({ args: e, io: n }) {
17275
17288
  let r = process.cwd(), a;
17276
17289
  for (let t = 0; t < e.length; t++) {
17277
- if (e[t] === "-h" || e[t] === "--help") return n.out(nE), 0;
17290
+ if (e[t] === "-h" || e[t] === "--help") return n.out(iE), 0;
17278
17291
  if (e[t] === "--cwd" && e[t + 1]) r = f(e[++t]);
17279
17292
  else if (e[t] === "--config" && e[t + 1]) a = e[++t];
17280
- else return n.err(`Unknown option: ${e[t]}\n\n${nE}`), 1;
17293
+ else return n.err(`Unknown option: ${e[t]}\n\n${iE}`), 1;
17281
17294
  }
17282
- let o = Ow(r, a);
17295
+ let o = Aw(r, a);
17283
17296
  if (o.ok === !1) return n.err(`${o.error}\n`), 1;
17284
17297
  let s = d(r, o.config.agent.dir), c = d(s, "components.json"), l = d(s, "tokens.json");
17285
- if (!t(c) || !t(l)) return n.err(`No agent files in ${s}. Set "agent": { "enabled": true } in ${FC} and run \`syncline generate\`.\n`), 1;
17298
+ if (!t(c) || !t(l)) return n.err(`No agent files in ${s}. Set "agent": { "enabled": true } in ${LC} and run \`syncline generate\`.\n`), 1;
17286
17299
  let u;
17287
17300
  try {
17288
- u = tE({
17301
+ u = rE({
17289
17302
  manifest: JSON.parse(i(c, "utf-8")),
17290
17303
  tokens: JSON.parse(i(l, "utf-8"))
17291
17304
  });
@@ -17299,7 +17312,7 @@ Options:
17299
17312
  t !== null && n.out(`${t}\n`);
17300
17313
  }), await new Promise((e) => p.on("close", e)), 0;
17301
17314
  }
17302
- }, iE = Uint8Array, aE = Uint16Array, oE = Int32Array, sE = new iE([
17315
+ }, oE = Uint8Array, sE = Uint16Array, cE = Int32Array, lE = new oE([
17303
17316
  0,
17304
17317
  0,
17305
17318
  0,
@@ -17332,7 +17345,7 @@ Options:
17332
17345
  0,
17333
17346
  0,
17334
17347
  0
17335
- ]), cE = new iE([
17348
+ ]), uE = new oE([
17336
17349
  0,
17337
17350
  0,
17338
17351
  0,
@@ -17365,7 +17378,7 @@ Options:
17365
17378
  13,
17366
17379
  0,
17367
17380
  0
17368
- ]), lE = new iE([
17381
+ ]), dE = new oE([
17369
17382
  16,
17370
17383
  17,
17371
17384
  18,
@@ -17385,42 +17398,42 @@ Options:
17385
17398
  14,
17386
17399
  1,
17387
17400
  15
17388
- ]), uE = function(e, t) {
17389
- for (var n = new aE(31), r = 0; r < 31; ++r) n[r] = t += 1 << e[r - 1];
17390
- for (var i = new oE(n[30]), r = 1; r < 30; ++r) for (var a = n[r]; a < n[r + 1]; ++a) i[a] = a - n[r] << 5 | r;
17401
+ ]), fE = function(e, t) {
17402
+ for (var n = new sE(31), r = 0; r < 31; ++r) n[r] = t += 1 << e[r - 1];
17403
+ for (var i = new cE(n[30]), r = 1; r < 30; ++r) for (var a = n[r]; a < n[r + 1]; ++a) i[a] = a - n[r] << 5 | r;
17391
17404
  return {
17392
17405
  b: n,
17393
17406
  r: i
17394
17407
  };
17395
- }, dE = uE(sE, 2), fE = dE.b, pE = dE.r;
17396
- fE[28] = 258, pE[258] = 28;
17397
- var mE = uE(cE, 0);
17398
- mE.b;
17399
- for (var hE = mE.r, gE = new aE(32768), $ = 0; $ < 32768; ++$) {
17400
- var _E = ($ & 43690) >> 1 | ($ & 21845) << 1;
17401
- _E = (_E & 52428) >> 2 | (_E & 13107) << 2, _E = (_E & 61680) >> 4 | (_E & 3855) << 4, gE[$] = ((_E & 65280) >> 8 | (_E & 255) << 8) >> 1;
17402
- }
17403
- for (var vE = (function(e, t, n) {
17404
- for (var r = e.length, i = 0, a = new aE(t); i < r; ++i) e[i] && ++a[e[i] - 1];
17405
- var o = new aE(t);
17408
+ }, pE = fE(lE, 2), mE = pE.b, hE = pE.r;
17409
+ mE[28] = 258, hE[258] = 28;
17410
+ var gE = fE(uE, 0);
17411
+ gE.b;
17412
+ for (var _E = gE.r, vE = new sE(32768), $ = 0; $ < 32768; ++$) {
17413
+ var yE = ($ & 43690) >> 1 | ($ & 21845) << 1;
17414
+ yE = (yE & 52428) >> 2 | (yE & 13107) << 2, yE = (yE & 61680) >> 4 | (yE & 3855) << 4, vE[$] = ((yE & 65280) >> 8 | (yE & 255) << 8) >> 1;
17415
+ }
17416
+ for (var bE = (function(e, t, n) {
17417
+ for (var r = e.length, i = 0, a = new sE(t); i < r; ++i) e[i] && ++a[e[i] - 1];
17418
+ var o = new sE(t);
17406
17419
  for (i = 1; i < t; ++i) o[i] = o[i - 1] + a[i - 1] << 1;
17407
17420
  var s;
17408
17421
  if (n) {
17409
- s = new aE(1 << t);
17422
+ s = new sE(1 << t);
17410
17423
  var c = 15 - t;
17411
- for (i = 0; i < r; ++i) if (e[i]) for (var l = i << 4 | e[i], u = t - e[i], d = o[e[i] - 1]++ << u, f = d | (1 << u) - 1; d <= f; ++d) s[gE[d] >> c] = l;
17412
- } else for (s = new aE(r), i = 0; i < r; ++i) e[i] && (s[i] = gE[o[e[i] - 1]++] >> 15 - e[i]);
17424
+ for (i = 0; i < r; ++i) if (e[i]) for (var l = i << 4 | e[i], u = t - e[i], d = o[e[i] - 1]++ << u, f = d | (1 << u) - 1; d <= f; ++d) s[vE[d] >> c] = l;
17425
+ } else for (s = new sE(r), i = 0; i < r; ++i) e[i] && (s[i] = vE[o[e[i] - 1]++] >> 15 - e[i]);
17413
17426
  return s;
17414
- }), yE = new iE(288), $ = 0; $ < 144; ++$) yE[$] = 8;
17415
- for (var $ = 144; $ < 256; ++$) yE[$] = 9;
17416
- for (var $ = 256; $ < 280; ++$) yE[$] = 7;
17417
- for (var $ = 280; $ < 288; ++$) yE[$] = 8;
17418
- for (var bE = new iE(32), $ = 0; $ < 32; ++$) bE[$] = 5;
17419
- var xE = /*#__PURE__*/ vE(yE, 9, 0), SE = /*#__PURE__*/ vE(bE, 5, 0), CE = function(e) {
17427
+ }), xE = new oE(288), $ = 0; $ < 144; ++$) xE[$] = 8;
17428
+ for (var $ = 144; $ < 256; ++$) xE[$] = 9;
17429
+ for (var $ = 256; $ < 280; ++$) xE[$] = 7;
17430
+ for (var $ = 280; $ < 288; ++$) xE[$] = 8;
17431
+ for (var SE = new oE(32), $ = 0; $ < 32; ++$) SE[$] = 5;
17432
+ var CE = /*#__PURE__*/ bE(xE, 9, 0), wE = /*#__PURE__*/ bE(SE, 5, 0), TE = function(e) {
17420
17433
  return (e + 7) / 8 | 0;
17421
- }, wE = function(e, t, n) {
17422
- return (t == null || t < 0) && (t = 0), (n == null || n > e.length) && (n = e.length), new iE(e.subarray(t, n));
17423
- }, TE = [
17434
+ }, EE = function(e, t, n) {
17435
+ return (t == null || t < 0) && (t = 0), (n == null || n > e.length) && (n = e.length), new oE(e.subarray(t, n));
17436
+ }, DE = [
17424
17437
  "unexpected EOF",
17425
17438
  "invalid block type",
17426
17439
  "invalid length/literal",
@@ -17435,30 +17448,30 @@ var xE = /*#__PURE__*/ vE(yE, 9, 0), SE = /*#__PURE__*/ vE(bE, 5, 0), CE = funct
17435
17448
  "filename too long",
17436
17449
  "stream finishing",
17437
17450
  "invalid zip data"
17438
- ], EE = function(e, t, n) {
17439
- var r = Error(t || TE[e]);
17440
- if (r.code = e, Error.captureStackTrace && Error.captureStackTrace(r, EE), !n) throw r;
17451
+ ], OE = function(e, t, n) {
17452
+ var r = Error(t || DE[e]);
17453
+ if (r.code = e, Error.captureStackTrace && Error.captureStackTrace(r, OE), !n) throw r;
17441
17454
  return r;
17442
- }, DE = function(e, t, n) {
17455
+ }, kE = function(e, t, n) {
17443
17456
  n <<= t & 7;
17444
17457
  var r = t / 8 | 0;
17445
17458
  e[r] |= n, e[r + 1] |= n >> 8;
17446
- }, OE = function(e, t, n) {
17459
+ }, AE = function(e, t, n) {
17447
17460
  n <<= t & 7;
17448
17461
  var r = t / 8 | 0;
17449
17462
  e[r] |= n, e[r + 1] |= n >> 8, e[r + 2] |= n >> 16;
17450
- }, kE = function(e, t) {
17463
+ }, jE = function(e, t) {
17451
17464
  for (var n = [], r = 0; r < e.length; ++r) e[r] && n.push({
17452
17465
  s: r,
17453
17466
  f: e[r]
17454
17467
  });
17455
17468
  var i = n.length, a = n.slice();
17456
17469
  if (!i) return {
17457
- t: IE,
17470
+ t: RE,
17458
17471
  l: 0
17459
17472
  };
17460
17473
  if (i == 1) {
17461
- var o = new iE(n[0].s + 1);
17474
+ var o = new oE(n[0].s + 1);
17462
17475
  return o[n[0].s] = 1, {
17463
17476
  t: o,
17464
17477
  l: 1
@@ -17483,7 +17496,7 @@ var xE = /*#__PURE__*/ vE(yE, 9, 0), SE = /*#__PURE__*/ vE(bE, 5, 0), CE = funct
17483
17496
  r: c
17484
17497
  };
17485
17498
  for (var f = a[0].s, r = 1; r < i; ++r) a[r].s > f && (f = a[r].s);
17486
- var p = new aE(f + 1), m = AE(n[u - 1], p, 0);
17499
+ var p = new sE(f + 1), m = ME(n[u - 1], p, 0);
17487
17500
  if (m > t) {
17488
17501
  var r = 0, h = 0, g = m - t, _ = 1 << g;
17489
17502
  for (a.sort(function(e, t) {
@@ -17504,14 +17517,14 @@ var xE = /*#__PURE__*/ vE(yE, 9, 0), SE = /*#__PURE__*/ vE(bE, 5, 0), CE = funct
17504
17517
  m = t;
17505
17518
  }
17506
17519
  return {
17507
- t: new iE(p),
17520
+ t: new oE(p),
17508
17521
  l: m
17509
17522
  };
17510
- }, AE = function(e, t, n) {
17511
- return e.s == -1 ? Math.max(AE(e.l, t, n + 1), AE(e.r, t, n + 1)) : t[e.s] = n;
17512
- }, jE = function(e) {
17523
+ }, ME = function(e, t, n) {
17524
+ return e.s == -1 ? Math.max(ME(e.l, t, n + 1), ME(e.r, t, n + 1)) : t[e.s] = n;
17525
+ }, NE = function(e) {
17513
17526
  for (var t = e.length; t && !e[--t];);
17514
- for (var n = new aE(++t), r = 0, i = e[0], a = 1, o = function(e) {
17527
+ for (var n = new sE(++t), r = 0, i = e[0], a = 1, o = function(e) {
17515
17528
  n[r++] = e;
17516
17529
  }, s = 1; s <= t; ++s) if (e[s] == i && s != t) ++a;
17517
17530
  else {
@@ -17529,44 +17542,44 @@ var xE = /*#__PURE__*/ vE(yE, 9, 0), SE = /*#__PURE__*/ vE(bE, 5, 0), CE = funct
17529
17542
  c: n.subarray(0, r),
17530
17543
  n: t
17531
17544
  };
17532
- }, ME = function(e, t) {
17545
+ }, PE = function(e, t) {
17533
17546
  for (var n = 0, r = 0; r < t.length; ++r) n += e[r] * t[r];
17534
17547
  return n;
17535
- }, NE = function(e, t, n) {
17536
- var r = n.length, i = CE(t + 2);
17548
+ }, FE = function(e, t, n) {
17549
+ var r = n.length, i = TE(t + 2);
17537
17550
  e[i] = r & 255, e[i + 1] = r >> 8, e[i + 2] = e[i] ^ 255, e[i + 3] = e[i + 1] ^ 255;
17538
17551
  for (var a = 0; a < r; ++a) e[i + a + 4] = n[a];
17539
17552
  return (i + 4 + r) * 8;
17540
- }, PE = function(e, t, n, r, i, a, o, s, c, l, u) {
17541
- DE(t, u++, n), ++i[256];
17542
- for (var d = kE(i, 15), f = d.t, p = d.l, m = kE(a, 15), h = m.t, g = m.l, _ = jE(f), v = _.c, y = _.n, b = jE(h), x = b.c, S = b.n, C = new aE(19), w = 0; w < v.length; ++w) ++C[v[w] & 31];
17553
+ }, IE = function(e, t, n, r, i, a, o, s, c, l, u) {
17554
+ kE(t, u++, n), ++i[256];
17555
+ for (var d = jE(i, 15), f = d.t, p = d.l, m = jE(a, 15), h = m.t, g = m.l, _ = NE(f), v = _.c, y = _.n, b = NE(h), x = b.c, S = b.n, C = new sE(19), w = 0; w < v.length; ++w) ++C[v[w] & 31];
17543
17556
  for (var w = 0; w < x.length; ++w) ++C[x[w] & 31];
17544
- for (var T = kE(C, 7), E = T.t, ee = T.l, te = 19; te > 4 && !E[lE[te - 1]]; --te);
17545
- var ne = l + 5 << 3, re = ME(i, yE) + ME(a, bE) + o, D = ME(i, f) + ME(a, h) + o + 14 + 3 * te + ME(C, E) + 2 * C[16] + 3 * C[17] + 7 * C[18];
17546
- if (c >= 0 && ne <= re && ne <= D) return NE(t, u, e.subarray(c, c + l));
17557
+ for (var T = jE(C, 7), E = T.t, ee = T.l, te = 19; te > 4 && !E[dE[te - 1]]; --te);
17558
+ var ne = l + 5 << 3, re = PE(i, xE) + PE(a, SE) + o, D = PE(i, f) + PE(a, h) + o + 14 + 3 * te + PE(C, E) + 2 * C[16] + 3 * C[17] + 7 * C[18];
17559
+ if (c >= 0 && ne <= re && ne <= D) return FE(t, u, e.subarray(c, c + l));
17547
17560
  var ie, O, ae, oe;
17548
- if (DE(t, u, 1 + (D < re)), u += 2, D < re) {
17549
- ie = vE(f, p, 0), O = f, ae = vE(h, g, 0), oe = h;
17550
- var se = vE(E, ee, 0);
17551
- DE(t, u, y - 257), DE(t, u + 5, S - 1), DE(t, u + 10, te - 4), u += 14;
17552
- for (var w = 0; w < te; ++w) DE(t, u + 3 * w, E[lE[w]]);
17561
+ if (kE(t, u, 1 + (D < re)), u += 2, D < re) {
17562
+ ie = bE(f, p, 0), O = f, ae = bE(h, g, 0), oe = h;
17563
+ var se = bE(E, ee, 0);
17564
+ kE(t, u, y - 257), kE(t, u + 5, S - 1), kE(t, u + 10, te - 4), u += 14;
17565
+ for (var w = 0; w < te; ++w) kE(t, u + 3 * w, E[dE[w]]);
17553
17566
  u += 3 * te;
17554
17567
  for (var ce = [v, x], le = 0; le < 2; ++le) for (var ue = ce[le], w = 0; w < ue.length; ++w) {
17555
17568
  var de = ue[w] & 31;
17556
- DE(t, u, se[de]), u += E[de], de > 15 && (DE(t, u, ue[w] >> 5 & 127), u += ue[w] >> 12);
17569
+ kE(t, u, se[de]), u += E[de], de > 15 && (kE(t, u, ue[w] >> 5 & 127), u += ue[w] >> 12);
17557
17570
  }
17558
- } else ie = xE, O = yE, ae = SE, oe = bE;
17571
+ } else ie = CE, O = xE, ae = wE, oe = SE;
17559
17572
  for (var w = 0; w < s; ++w) {
17560
17573
  var fe = r[w];
17561
17574
  if (fe > 255) {
17562
17575
  var de = fe >> 18 & 31;
17563
- OE(t, u, ie[de + 257]), u += O[de + 257], de > 7 && (DE(t, u, fe >> 23 & 31), u += sE[de]);
17576
+ AE(t, u, ie[de + 257]), u += O[de + 257], de > 7 && (kE(t, u, fe >> 23 & 31), u += lE[de]);
17564
17577
  var pe = fe & 31;
17565
- OE(t, u, ae[pe]), u += oe[pe], pe > 3 && (OE(t, u, fe >> 5 & 8191), u += cE[pe]);
17566
- } else OE(t, u, ie[fe]), u += O[fe];
17578
+ AE(t, u, ae[pe]), u += oe[pe], pe > 3 && (AE(t, u, fe >> 5 & 8191), u += uE[pe]);
17579
+ } else AE(t, u, ie[fe]), u += O[fe];
17567
17580
  }
17568
- return OE(t, u, ie[256]), u + O[256];
17569
- }, FE = /*#__PURE__*/ new oE([
17581
+ return AE(t, u, ie[256]), u + O[256];
17582
+ }, LE = /*#__PURE__*/ new cE([
17570
17583
  65540,
17571
17584
  131080,
17572
17585
  131088,
@@ -17576,18 +17589,18 @@ var xE = /*#__PURE__*/ vE(yE, 9, 0), SE = /*#__PURE__*/ vE(bE, 5, 0), CE = funct
17576
17589
  1048832,
17577
17590
  2114560,
17578
17591
  2117632
17579
- ]), IE = /*#__PURE__*/ new iE(0), LE = function(e, t, n, r, i, a) {
17580
- var o = a.z || e.length, s = new iE(r + o + 5 * (1 + Math.ceil(o / 7e3)) + i), c = s.subarray(r, s.length - i), l = a.l, u = (a.r || 0) & 7;
17592
+ ]), RE = /*#__PURE__*/ new oE(0), zE = function(e, t, n, r, i, a) {
17593
+ var o = a.z || e.length, s = new oE(r + o + 5 * (1 + Math.ceil(o / 7e3)) + i), c = s.subarray(r, s.length - i), l = a.l, u = (a.r || 0) & 7;
17581
17594
  if (t) {
17582
17595
  u && (c[0] = a.r >> 3);
17583
- for (var d = FE[t - 1], f = d >> 13, p = d & 8191, m = (1 << n) - 1, h = a.p || new aE(32768), g = a.h || new aE(m + 1), _ = Math.ceil(n / 3), v = 2 * _, y = function(t) {
17596
+ for (var d = LE[t - 1], f = d >> 13, p = d & 8191, m = (1 << n) - 1, h = a.p || new sE(32768), g = a.h || new sE(m + 1), _ = Math.ceil(n / 3), v = 2 * _, y = function(t) {
17584
17597
  return (e[t] ^ e[t + 1] << _ ^ e[t + 2] << v) & m;
17585
- }, b = new oE(25e3), x = new aE(288), S = new aE(32), C = 0, w = 0, T = a.i || 0, E = 0, ee = a.w || 0, te = 0; T + 2 < o; ++T) {
17598
+ }, b = new cE(25e3), x = new sE(288), S = new sE(32), C = 0, w = 0, T = a.i || 0, E = 0, ee = a.w || 0, te = 0; T + 2 < o; ++T) {
17586
17599
  var ne = y(T), re = T & 32767, D = g[ne];
17587
17600
  if (h[re] = D, g[ne] = re, ee <= T) {
17588
17601
  var ie = o - T;
17589
17602
  if ((C > 7e3 || E > 24576) && (ie > 423 || !l)) {
17590
- u = PE(e, c, 0, b, x, S, w, E, te, T - te, u), E = C = w = 0, te = T;
17603
+ u = IE(e, c, 0, b, x, S, w, E, te, T - te, u), E = C = w = 0, te = T;
17591
17604
  for (var O = 0; O < 286; ++O) x[O] = 0;
17592
17605
  for (var O = 0; O < 30; ++O) S[O] = 0;
17593
17606
  }
@@ -17606,112 +17619,112 @@ var xE = /*#__PURE__*/ vE(yE, 9, 0), SE = /*#__PURE__*/ vE(bE, 5, 0), CE = funct
17606
17619
  re = D, D = h[re], ce += re - D & 32767;
17607
17620
  }
17608
17621
  if (oe) {
17609
- b[E++] = 268435456 | pE[ae] << 18 | hE[oe];
17610
- var _e = pE[ae] & 31, ve = hE[oe] & 31;
17611
- w += sE[_e] + cE[ve], ++x[257 + _e], ++S[ve], ee = T + ae, ++C;
17622
+ b[E++] = 268435456 | hE[ae] << 18 | _E[oe];
17623
+ var _e = hE[ae] & 31, ve = _E[oe] & 31;
17624
+ w += lE[_e] + uE[ve], ++x[257 + _e], ++S[ve], ee = T + ae, ++C;
17612
17625
  } else b[E++] = e[T], ++x[e[T]];
17613
17626
  }
17614
17627
  }
17615
17628
  for (T = Math.max(T, ee); T < o; ++T) b[E++] = e[T], ++x[e[T]];
17616
- u = PE(e, c, l, b, x, S, w, E, te, T - te, u), l || (a.r = u & 7 | c[u / 8 | 0] << 3, u -= 7, a.h = g, a.p = h, a.i = T, a.w = ee);
17629
+ u = IE(e, c, l, b, x, S, w, E, te, T - te, u), l || (a.r = u & 7 | c[u / 8 | 0] << 3, u -= 7, a.h = g, a.p = h, a.i = T, a.w = ee);
17617
17630
  } else {
17618
17631
  for (var T = a.w || 0; T < o + l; T += 65535) {
17619
17632
  var ye = T + 65535;
17620
- ye >= o && (c[u / 8 | 0] = l, ye = o), u = NE(c, u + 1, e.subarray(T, ye));
17633
+ ye >= o && (c[u / 8 | 0] = l, ye = o), u = FE(c, u + 1, e.subarray(T, ye));
17621
17634
  }
17622
17635
  a.i = o;
17623
17636
  }
17624
- return wE(s, 0, r + CE(u) + i);
17625
- }, RE = /*#__PURE__*/ (function() {
17637
+ return EE(s, 0, r + TE(u) + i);
17638
+ }, BE = /*#__PURE__*/ (function() {
17626
17639
  for (var e = /* @__PURE__ */ new Int32Array(256), t = 0; t < 256; ++t) {
17627
17640
  for (var n = t, r = 9; --r;) n = (n & 1 && -306674912) ^ n >>> 1;
17628
17641
  e[t] = n;
17629
17642
  }
17630
17643
  return e;
17631
- })(), zE = function() {
17644
+ })(), VE = function() {
17632
17645
  var e = -1;
17633
17646
  return {
17634
17647
  p: function(t) {
17635
- for (var n = e, r = 0; r < t.length; ++r) n = RE[n & 255 ^ t[r]] ^ n >>> 8;
17648
+ for (var n = e, r = 0; r < t.length; ++r) n = BE[n & 255 ^ t[r]] ^ n >>> 8;
17636
17649
  e = n;
17637
17650
  },
17638
17651
  d: function() {
17639
17652
  return ~e;
17640
17653
  }
17641
17654
  };
17642
- }, BE = function(e, t, n, r, i) {
17655
+ }, HE = function(e, t, n, r, i) {
17643
17656
  if (!i && (i = { l: 1 }, t.dictionary)) {
17644
- var a = t.dictionary.subarray(-32768), o = new iE(a.length + e.length);
17657
+ var a = t.dictionary.subarray(-32768), o = new oE(a.length + e.length);
17645
17658
  o.set(a), o.set(e, a.length), e = o, i.w = a.length;
17646
17659
  }
17647
- return LE(e, t.level == null ? 6 : t.level, t.mem == null ? i.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(e.length))) * 1.5) : 20 : 12 + t.mem, n, r, i);
17648
- }, VE = function(e, t) {
17660
+ return zE(e, t.level == null ? 6 : t.level, t.mem == null ? i.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(e.length))) * 1.5) : 20 : 12 + t.mem, n, r, i);
17661
+ }, UE = function(e, t) {
17649
17662
  var n = {};
17650
17663
  for (var r in e) n[r] = e[r];
17651
17664
  for (var r in t) n[r] = t[r];
17652
17665
  return n;
17653
- }, HE = function(e, t, n) {
17666
+ }, WE = function(e, t, n) {
17654
17667
  for (; n; ++t) e[t] = n, n >>>= 8;
17655
17668
  };
17656
- function UE(e, t) {
17657
- return BE(e, t || {}, 0, 0);
17669
+ function GE(e, t) {
17670
+ return HE(e, t || {}, 0, 0);
17658
17671
  }
17659
- var WE = function(e, t, n, r) {
17672
+ var KE = function(e, t, n, r) {
17660
17673
  for (var i in e) {
17661
17674
  var a = e[i], o = t + i, s = r;
17662
- Array.isArray(a) && (s = VE(r, a[1]), a = a[0]), ArrayBuffer.isView(a) ? n[o] = [a, s] : (n[o += "/"] = [new iE(0), s], WE(a, o, n, r));
17675
+ Array.isArray(a) && (s = UE(r, a[1]), a = a[0]), ArrayBuffer.isView(a) ? n[o] = [a, s] : (n[o += "/"] = [new oE(0), s], KE(a, o, n, r));
17663
17676
  }
17664
- }, GE = typeof TextEncoder < "u" && /*#__PURE__*/ new TextEncoder(), KE = typeof TextDecoder < "u" && /*#__PURE__*/ new TextDecoder();
17677
+ }, qE = typeof TextEncoder < "u" && /*#__PURE__*/ new TextEncoder(), JE = typeof TextDecoder < "u" && /*#__PURE__*/ new TextDecoder();
17665
17678
  try {
17666
- KE.decode(IE, { stream: !0 });
17679
+ JE.decode(RE, { stream: !0 });
17667
17680
  } catch {}
17668
- function qE(e, t) {
17681
+ function YE(e, t) {
17669
17682
  if (t) {
17670
- for (var n = new iE(e.length), r = 0; r < e.length; ++r) n[r] = e.charCodeAt(r);
17683
+ for (var n = new oE(e.length), r = 0; r < e.length; ++r) n[r] = e.charCodeAt(r);
17671
17684
  return n;
17672
17685
  }
17673
- if (GE) return GE.encode(e);
17674
- for (var i = e.length, a = new iE(e.length + (e.length >> 1)), o = 0, s = function(e) {
17686
+ if (qE) return qE.encode(e);
17687
+ for (var i = e.length, a = new oE(e.length + (e.length >> 1)), o = 0, s = function(e) {
17675
17688
  a[o++] = e;
17676
17689
  }, r = 0; r < i; ++r) {
17677
17690
  if (o + 5 > a.length) {
17678
- var c = new iE(o + 8 + (i - r << 1));
17691
+ var c = new oE(o + 8 + (i - r << 1));
17679
17692
  c.set(a), a = c;
17680
17693
  }
17681
17694
  var l = e.charCodeAt(r);
17682
17695
  l < 128 || t ? s(l) : l < 2048 ? (s(192 | l >> 6), s(128 | l & 63)) : l > 55295 && l < 57344 ? (l = 65536 + (l & 1047552) | e.charCodeAt(++r) & 1023, s(240 | l >> 18), s(128 | l >> 12 & 63), s(128 | l >> 6 & 63), s(128 | l & 63)) : (s(224 | l >> 12), s(128 | l >> 6 & 63), s(128 | l & 63));
17683
17696
  }
17684
- return wE(a, 0, o);
17697
+ return EE(a, 0, o);
17685
17698
  }
17686
- var JE = function(e) {
17699
+ var XE = function(e) {
17687
17700
  var t = 0;
17688
17701
  if (e) for (var n in e) {
17689
17702
  var r = e[n].length;
17690
- r > 65535 && EE(9), t += r + 4;
17703
+ r > 65535 && OE(9), t += r + 4;
17691
17704
  }
17692
17705
  return t;
17693
- }, YE = function(e, t, n, r, i, a, o, s) {
17694
- var c = r.length, l = n.extra, u = s && s.length, d = JE(l);
17695
- HE(e, t, o == null ? 67324752 : 33639248), t += 4, o != null && (e[t++] = 20, e[t++] = n.os), e[t] = 20, t += 2, e[t++] = n.flag << 1 | (a < 0 && 8), e[t++] = i && 8, e[t++] = n.compression & 255, e[t++] = n.compression >> 8;
17706
+ }, ZE = function(e, t, n, r, i, a, o, s) {
17707
+ var c = r.length, l = n.extra, u = s && s.length, d = XE(l);
17708
+ WE(e, t, o == null ? 67324752 : 33639248), t += 4, o != null && (e[t++] = 20, e[t++] = n.os), e[t] = 20, t += 2, e[t++] = n.flag << 1 | (a < 0 && 8), e[t++] = i && 8, e[t++] = n.compression & 255, e[t++] = n.compression >> 8;
17696
17709
  var f = new Date(n.mtime == null ? Date.now() : n.mtime), p = f.getFullYear() - 1980;
17697
- if ((p < 0 || p > 119) && EE(10), HE(e, t, p << 25 | f.getMonth() + 1 << 21 | f.getDate() << 16 | f.getHours() << 11 | f.getMinutes() << 5 | f.getSeconds() >> 1), t += 4, a != -1 && (HE(e, t, n.crc), HE(e, t + 4, a < 0 ? -a - 2 : a), HE(e, t + 8, n.size)), HE(e, t + 12, c), HE(e, t + 14, d), t += 16, o != null && (HE(e, t, u), HE(e, t + 6, n.attrs), HE(e, t + 10, o), t += 14), e.set(r, t), t += c, d) for (var m in l) {
17710
+ if ((p < 0 || p > 119) && OE(10), WE(e, t, p << 25 | f.getMonth() + 1 << 21 | f.getDate() << 16 | f.getHours() << 11 | f.getMinutes() << 5 | f.getSeconds() >> 1), t += 4, a != -1 && (WE(e, t, n.crc), WE(e, t + 4, a < 0 ? -a - 2 : a), WE(e, t + 8, n.size)), WE(e, t + 12, c), WE(e, t + 14, d), t += 16, o != null && (WE(e, t, u), WE(e, t + 6, n.attrs), WE(e, t + 10, o), t += 14), e.set(r, t), t += c, d) for (var m in l) {
17698
17711
  var h = l[m], g = h.length;
17699
- HE(e, t, +m), HE(e, t + 2, g), e.set(h, t + 4), t += 4 + g;
17712
+ WE(e, t, +m), WE(e, t + 2, g), e.set(h, t + 4), t += 4 + g;
17700
17713
  }
17701
17714
  return u && (e.set(s, t), t += u), t;
17702
- }, XE = function(e, t, n, r, i) {
17703
- HE(e, t, 101010256), HE(e, t + 8, n), HE(e, t + 10, n), HE(e, t + 12, r), HE(e, t + 16, i);
17715
+ }, QE = function(e, t, n, r, i) {
17716
+ WE(e, t, 101010256), WE(e, t + 8, n), WE(e, t + 10, n), WE(e, t + 12, r), WE(e, t + 16, i);
17704
17717
  };
17705
- function ZE(e, t) {
17718
+ function $E(e, t) {
17706
17719
  t ||= {};
17707
17720
  var n = {}, r = [];
17708
- WE(e, "", n, t);
17721
+ KE(e, "", n, t);
17709
17722
  var i = 0, a = 0;
17710
17723
  for (var o in n) {
17711
- var s = n[o], c = s[0], l = s[1], u = l.level == 0 ? 0 : 8, d = qE(o), f = d.length, p = l.comment, m = p && qE(p), h = m && m.length, g = JE(l.extra);
17712
- f > 65535 && EE(11);
17713
- var _ = u ? UE(c, l) : c, v = _.length, y = zE();
17714
- y.p(c), r.push(VE(l, {
17724
+ var s = n[o], c = s[0], l = s[1], u = l.level == 0 ? 0 : 8, d = YE(o), f = d.length, p = l.comment, m = p && YE(p), h = m && m.length, g = XE(l.extra);
17725
+ f > 65535 && OE(11);
17726
+ var _ = u ? GE(c, l) : c, v = _.length, y = VE();
17727
+ y.p(c), r.push(UE(l, {
17715
17728
  size: c.length,
17716
17729
  crc: y.d(),
17717
17730
  c: _,
@@ -17722,17 +17735,17 @@ function ZE(e, t) {
17722
17735
  compression: u
17723
17736
  })), i += 30 + f + g + v, a += 76 + 2 * (f + g) + (h || 0) + v;
17724
17737
  }
17725
- for (var b = new iE(a + 22), x = i, S = a - i, C = 0; C < r.length; ++C) {
17738
+ for (var b = new oE(a + 22), x = i, S = a - i, C = 0; C < r.length; ++C) {
17726
17739
  var d = r[C];
17727
- YE(b, d.o, d, d.f, d.u, d.c.length);
17728
- var w = 30 + d.f.length + JE(d.extra);
17729
- b.set(d.c, d.o + w), YE(b, i, d, d.f, d.u, d.c.length, d.o, d.m), i += 16 + w + (d.m ? d.m.length : 0);
17740
+ ZE(b, d.o, d, d.f, d.u, d.c.length);
17741
+ var w = 30 + d.f.length + XE(d.extra);
17742
+ b.set(d.c, d.o + w), ZE(b, i, d, d.f, d.u, d.c.length, d.o, d.m), i += 16 + w + (d.m ? d.m.length : 0);
17730
17743
  }
17731
- return XE(b, i, r.length, S, x), b;
17744
+ return QE(b, i, r.length, S, x), b;
17732
17745
  }
17733
17746
  //#endregion
17734
17747
  //#region src/preview/archive.ts
17735
- var QE = /* @__PURE__ */ new Set([
17748
+ var eD = /* @__PURE__ */ new Set([
17736
17749
  "png",
17737
17750
  "jpg",
17738
17751
  "jpeg",
@@ -17743,32 +17756,32 @@ var QE = /* @__PURE__ */ new Set([
17743
17756
  "woff2",
17744
17757
  "mp4",
17745
17758
  "webm"
17746
- ]), $E = Date.UTC(2e3, 0, 1);
17747
- function eD(e) {
17759
+ ]), tD = Date.UTC(2e3, 0, 1);
17760
+ function nD(e) {
17748
17761
  let t = [...e].sort((e, t) => e.path < t.path ? -1 : +(e.path > t.path)), n = {}, r = h("sha256");
17749
17762
  for (let e of t) {
17750
17763
  let t = i(e.absolutePath), a = e.path.slice(e.path.lastIndexOf(".") + 1);
17751
17764
  n[e.path] = [new Uint8Array(t), {
17752
- level: QE.has(a.toLowerCase()) ? 0 : 6,
17753
- mtime: $E
17765
+ level: eD.has(a.toLowerCase()) ? 0 : 6,
17766
+ mtime: tD
17754
17767
  }], r.update(`${e.path}\0${h("sha256").update(t).digest("hex")}\n`);
17755
17768
  }
17756
17769
  return {
17757
- zip: ZE(n),
17770
+ zip: $E(n),
17758
17771
  contentHash: r.digest("hex")
17759
17772
  };
17760
17773
  }
17761
17774
  //#endregion
17762
17775
  //#region src/preview/collect.ts
17763
- var tD = du;
17764
- function nD(e) {
17776
+ var rD = du;
17777
+ function iD(e) {
17765
17778
  let t = [], r = [], i = (e, o) => {
17766
17779
  for (let s of a(e, { withFileTypes: !0 })) {
17767
17780
  let a = d(e, s.name), c = o ? `${o}/${s.name}` : s.name, l = n(a);
17768
17781
  l.isSymbolicLink() || (l.isDirectory() ? i(a, c) : l.isFile() && (pu(c) ? t.push({
17769
17782
  path: c,
17770
17783
  size: l.size,
17771
- contentType: tD(c),
17784
+ contentType: rD(c),
17772
17785
  absolutePath: a
17773
17786
  }) : r.push(c)));
17774
17787
  }
@@ -17809,9 +17822,9 @@ function nD(e) {
17809
17822
  }
17810
17823
  //#endregion
17811
17824
  //#region src/preview/publish.ts
17812
- var rD = 3, iD = 500, aD = (e) => new Promise((t) => setTimeout(t, e));
17813
- async function oD(e) {
17814
- let { io: t } = e, n = e.fetch ?? fetch, r = e.sleep ?? aD, i = nD(e.dir);
17825
+ var aD = 3, oD = 500, sD = (e) => new Promise((t) => setTimeout(t, e));
17826
+ async function cD(e) {
17827
+ let { io: t } = e, n = e.fetch ?? fetch, r = e.sleep ?? sD, i = iD(e.dir);
17815
17828
  if (i.ok === !1) return {
17816
17829
  status: "invalid-build",
17817
17830
  reason: i.reason
@@ -17824,20 +17837,20 @@ async function oD(e) {
17824
17837
  };
17825
17838
  };
17826
17839
  if (!e.bridgeUrl) return a("no bridge configured (set enrich.bridgeUrl or SYNCLINE_URL)", !0);
17827
- let o = e.bridgeUrl.replace(/\/$/, ""), s = await WC({
17840
+ let o = e.bridgeUrl.replace(/\/$/, ""), s = await KC({
17828
17841
  audience: e.audience ?? o,
17829
17842
  env: e.env,
17830
17843
  fetch: e.fetch
17831
17844
  });
17832
17845
  if (s.ok === !1) return a(s.reason);
17833
- let c = UC({
17846
+ let c = GC({
17834
17847
  baseUrl: o,
17835
17848
  token: s.token,
17836
17849
  fetch: e.fetch,
17837
17850
  sleep: e.sleep
17838
17851
  });
17839
17852
  try {
17840
- let { zip: e, contentHash: o } = eD(i.files);
17853
+ let { zip: e, contentHash: o } = nD(i.files);
17841
17854
  if (e.length > lu.maxArchiveBytes) return {
17842
17855
  status: "invalid-build",
17843
17856
  reason: `the archive is ${Math.ceil(e.length / 1024 / 1024)} MB; the limit is ${lu.maxArchiveBytes / 1024 / 1024} MB`
@@ -17854,7 +17867,7 @@ async function oD(e) {
17854
17867
  }
17855
17868
  });
17856
17869
  for (let t of s) {
17857
- let i = await sD(n, r, t.url, t.headers, e);
17870
+ let i = await lD(n, r, t.url, t.headers, e);
17858
17871
  if (i) return a(`the archive could not be uploaded (${i})`);
17859
17872
  }
17860
17873
  let { storybookUrl: l } = await c.completePreview({ contentHash: o });
@@ -17864,13 +17877,13 @@ async function oD(e) {
17864
17877
  files: i.files.length
17865
17878
  };
17866
17879
  } catch (e) {
17867
- return e instanceof LC ? a(e.message) : a(e instanceof Error ? e.message : String(e));
17880
+ return e instanceof zC ? a(e.message) : a(e instanceof Error ? e.message : String(e));
17868
17881
  }
17869
17882
  }
17870
- async function sD(e, t, n, r, i) {
17883
+ async function lD(e, t, n, r, i) {
17871
17884
  let a = "unknown error";
17872
- for (let o = 0; o < rD; o++) {
17873
- o > 0 && await t(iD * 2 ** (o - 1));
17885
+ for (let o = 0; o < aD; o++) {
17886
+ o > 0 && await t(oD * 2 ** (o - 1));
17874
17887
  try {
17875
17888
  let t = await e(n, {
17876
17889
  method: "PUT",
@@ -17888,7 +17901,7 @@ async function sD(e, t, n, r, i) {
17888
17901
  }
17889
17902
  //#endregion
17890
17903
  //#region src/commands/preview.ts
17891
- var cD = `Usage: syncline preview publish [options]
17904
+ var uD = `Usage: syncline preview publish [options]
17892
17905
 
17893
17906
  Uploads a built Storybook to the bridge, which hosts it until the pull request
17894
17907
  closes and shows the link next to the sync in the Figma plugin (paid feature).
@@ -17897,16 +17910,16 @@ can't be published is reported and skipped; it never fails the run.
17897
17910
 
17898
17911
  Options:
17899
17912
  --dir <dir> The static build (default: storybook-static)
17900
- --config <file> Config file (default: ${FC})
17913
+ --config <file> Config file (default: ${LC})
17901
17914
  --cwd <dir> Project root (default: the current directory)
17902
17915
  -h, --help Show this help
17903
17916
  `;
17904
- function lD(e) {
17917
+ function dD(e) {
17905
17918
  let t = { help: !1 };
17906
17919
  for (let n = 0; n < e.length; n++) {
17907
17920
  let r = (t) => {
17908
17921
  let r = e[++n];
17909
- if (r === void 0 || r.startsWith("-")) throw Error(`${t} needs a value\n\n${cD}`);
17922
+ if (r === void 0 || r.startsWith("-")) throw Error(`${t} needs a value\n\n${uD}`);
17910
17923
  return r;
17911
17924
  };
17912
17925
  switch (e[n]) {
@@ -17924,8 +17937,8 @@ function lD(e) {
17924
17937
  t.help = !0;
17925
17938
  break;
17926
17939
  default:
17927
- if (e[n].startsWith("-")) throw Error(`Unknown option: ${e[n]}\n\n${cD}`);
17928
- if (t.action !== void 0) throw Error(`Unexpected argument: ${e[n]}\n\n${cD}`);
17940
+ if (e[n].startsWith("-")) throw Error(`Unknown option: ${e[n]}\n\n${uD}`);
17941
+ if (t.action !== void 0) throw Error(`Unexpected argument: ${e[n]}\n\n${uD}`);
17929
17942
  t.action = e[n];
17930
17943
  }
17931
17944
  }
@@ -17933,47 +17946,47 @@ function lD(e) {
17933
17946
  }
17934
17947
  //#endregion
17935
17948
  //#region src/commands/index.ts
17936
- var uD = [
17937
- UT,
17938
- Aw,
17949
+ var fD = [
17950
+ GT,
17951
+ Mw,
17939
17952
  {
17940
17953
  name: "preview",
17941
17954
  summary: "Publish a built Storybook as a pull request preview (paid)",
17942
17955
  async run({ args: n, io: r }) {
17943
- let a = lD(n);
17944
- if (a.help || a.action === void 0) return r.out(cD), +!a.help;
17945
- if (a.action !== "publish") return r.err(`Unknown preview command: ${a.action}\n\n${cD}`), 1;
17956
+ let a = dD(n);
17957
+ if (a.help || a.action === void 0) return r.out(uD), +!a.help;
17958
+ if (a.action !== "publish") return r.err(`Unknown preview command: ${a.action}\n\n${uD}`), 1;
17946
17959
  let o = f(a.cwd ?? process.cwd()), s = f(o, a.config ?? "syncline.config.json"), c = {};
17947
17960
  if (t(s)) try {
17948
17961
  c = JSON.parse(i(s, "utf-8"));
17949
17962
  } catch (e) {
17950
17963
  return r.err(`${s} is not valid JSON: ${e instanceof Error ? e.message : e}\n`), 1;
17951
17964
  }
17952
- let l = PC.safeParse(c);
17953
- if (!l.success) return r.err(`Invalid config ${s}:\n${IC(l.error)}\n`), 1;
17965
+ let l = IC.safeParse(c);
17966
+ if (!l.success) return r.err(`Invalid config ${s}:\n${RC(l.error)}\n`), 1;
17954
17967
  let u = {
17955
- bridgeUrl: cw({
17968
+ bridgeUrl: uw({
17956
17969
  env: process.env,
17957
17970
  configured: l.data.enrich.bridgeUrl,
17958
17971
  baked: y
17959
17972
  }),
17960
17973
  audience: l.data.enrich.audience,
17961
17974
  io: r
17962
- }, d = await oD({
17975
+ }, d = await cD({
17963
17976
  dir: f(o, a.dir ?? "storybook-static"),
17964
17977
  ...u
17965
17978
  });
17966
17979
  return d.status === "published" && process.env.GITHUB_OUTPUT && e(process.env.GITHUB_OUTPUT, `url=${d.url}\n`), d.status === "invalid-build" ? (r.err(`Preview: ${d.reason}\n`), 1) : 0;
17967
17980
  }
17968
17981
  },
17969
- dw,
17970
- rE
17971
- ], dD = "syncline";
17972
- function fD(e) {
17982
+ pw,
17983
+ aE
17984
+ ], pD = "syncline";
17985
+ function mD(e) {
17973
17986
  return [
17974
- `${dD} v${b}`,
17987
+ `${pD} v${b}`,
17975
17988
  "",
17976
- `Usage: ${dD} <command> [options]`,
17989
+ `Usage: ${pD} <command> [options]`,
17977
17990
  "",
17978
17991
  "Commands:",
17979
17992
  ...e.length ? e.map((e) => ` ${e.name.padEnd(14)}${e.summary}`) : [" (none yet)"],
@@ -17984,12 +17997,12 @@ function fD(e) {
17984
17997
  ""
17985
17998
  ].join("\n");
17986
17999
  }
17987
- async function pD(e, t, n = uD) {
18000
+ async function hD(e, t, n = fD) {
17988
18001
  let [r, ...i] = e;
17989
- if (r === void 0 || r === "-h" || r === "--help") return t.out(fD(n)), 0;
18002
+ if (r === void 0 || r === "-h" || r === "--help") return t.out(mD(n)), 0;
17990
18003
  if (r === "-v" || r === "--version") return t.out(`${b}\n`), 0;
17991
18004
  let a = n.find((e) => e.name === r);
17992
- if (!a) return t.err(`Unknown command: ${r}\n\n${fD(n)}`), 1;
18005
+ if (!a) return t.err(`Unknown command: ${r}\n\n${mD(n)}`), 1;
17993
18006
  try {
17994
18007
  return await a.run({
17995
18008
  args: i,
@@ -18000,4 +18013,4 @@ async function pD(e, t, n = uD) {
18000
18013
  }
18001
18014
  }
18002
18015
  //#endregion
18003
- export { y as A, cw as C, PC as D, UC as E, FC as O, vw as S, LC as T, Rw as _, FT as a, Ow as b, PT as c, wT as d, ST as f, Vw as g, eT as h, IT as i, b as k, TT as l, bT as m, fD as n, kT as o, xT as p, pD as r, OT as s, dD as t, CT as u, Lw as v, WC as w, fw as x, Nw as y };
18016
+ export { y as A, uw as C, IC as D, GC as E, LC as O, bw as S, zC as T, Bw as _, LT as a, Aw as b, IT as c, ET as d, wT as f, Uw as g, nT as h, RT as i, b as k, DT as l, ST as m, mD as n, jT as o, CT as p, hD as r, AT as s, pD as t, TT as u, zw as v, KC as w, mw as x, Fw as y };