@platforma-sdk/block-tools 2.12.5 → 2.12.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.mjs CHANGED
@@ -721,117 +721,117 @@ function U(e) {
721
721
  function W(e) {
722
722
  for (let [t, n] of Object.entries(e)) H(t, n);
723
723
  }
724
- function G(e) {
724
+ function jt(e) {
725
725
  for (let [t, n] of Object.entries(e)) At(t, n);
726
726
  }
727
- function jt(e, t, n) {
727
+ function Mt(e, t, n) {
728
728
  let r = xt(F(e), e);
729
729
  for (let i of r.modules) i.scope === t && Ot(e, i.name, "workspace:*", n);
730
730
  }
731
- function Mt(e) {
732
- jt("ensureWorkspaceScopeDeps", e, "dependencies");
733
- }
734
731
  function Nt(e) {
735
- jt("ensureWorkspaceScopeDevDeps", e, "devDependencies");
732
+ Mt("ensureWorkspaceScopeDeps", e, "dependencies");
736
733
  }
737
734
  function Pt(e) {
735
+ Mt("ensureWorkspaceScopeDevDeps", e, "devDependencies");
736
+ }
737
+ function Ft(e) {
738
738
  let t = F("pruneKeysMatching").obj;
739
739
  for (let n of Object.keys(t)) e(n, t[n]) && delete t[n];
740
740
  }
741
- function Ft(e, t) {
741
+ function It(e, t) {
742
742
  let n = ut(e, t);
743
743
  for (let t of Object.keys(e)) delete e[t];
744
744
  for (let t of Object.keys(n)) e[t] = n[t];
745
745
  }
746
- function K(e) {
747
- Ft(F("enforceFieldOrder").obj, e);
746
+ function G(e) {
747
+ It(F("enforceFieldOrder").obj, e);
748
748
  }
749
- function It(e, t) {
749
+ function Lt(e, t) {
750
750
  let n = Object.keys(e).sort(), r = {};
751
751
  for (let t of n) r[t] = e[t];
752
752
  for (let t of Object.keys(e)) delete e[t];
753
- for (let i of n) e[i] = r[i], t && L(e[i]) && It(e[i], !0);
753
+ for (let i of n) e[i] = r[i], t && L(e[i]) && Lt(e[i], !0);
754
754
  }
755
- function q(e = "", t = {}) {
755
+ function K(e = "", t = {}) {
756
756
  let n = t.recursive ?? !1;
757
757
  if (e === "" && !n) return;
758
758
  let r = F("enforceAlphabeticalOrder").obj;
759
759
  if (e === "") {
760
- It(r, !0);
760
+ Lt(r, !0);
761
761
  return;
762
762
  }
763
763
  let i = ot(r, e);
764
- L(i) && It(i, n);
764
+ L(i) && Lt(i, n);
765
765
  }
766
- function Lt() {
766
+ function Rt() {
767
767
  let e = I("ensureWorkspaceModulePaths"), t = xt(e, "ensureWorkspaceModulePaths").modules.filter((e) => e.path !== "").map((e) => e.path).sort(), n = e.doc.toJSON()?.packages;
768
768
  Array.isArray(n) && n.length === t.length && n.every((e, n) => e === t[n]) || e.doc.setIn(["packages"], t);
769
769
  }
770
- function Rt(e, t) {
770
+ function zt(e, t) {
771
771
  let n = e.doc.getIn(["catalog", t]);
772
772
  return typeof n == "string" ? n : void 0;
773
773
  }
774
- function zt(e, t) {
774
+ function Bt(e, t) {
775
775
  let n = I("ensureCatalogVersion");
776
- Rt(n, e) === void 0 && n.doc.setIn(["catalog", e], t);
776
+ zt(n, e) === void 0 && n.doc.setIn(["catalog", e], t);
777
777
  }
778
- function Bt(e) {
778
+ function Vt(e) {
779
779
  let t = I("ensureCatalogLatest");
780
780
  if (!t.getLatestVersion) return;
781
781
  let n = t.getLatestVersion(e);
782
- n !== void 0 && Rt(t, e) !== n && t.doc.setIn(["catalog", e], n);
782
+ n !== void 0 && zt(t, e) !== n && t.doc.setIn(["catalog", e], n);
783
783
  }
784
- function Vt(e, t) {
784
+ function Ht(e, t) {
785
785
  let n = I("pinCatalogToDependencyOf");
786
786
  if (!n.getDerivedDependencyPin) return;
787
787
  let r = n.getDerivedDependencyPin(e);
788
- r !== void 0 && Rt(n, e) !== r && n.doc.setIn(["catalog", e], r);
788
+ r !== void 0 && zt(n, e) !== r && n.doc.setIn(["catalog", e], r);
789
789
  }
790
- function Ht(e) {
790
+ function Ut(e) {
791
791
  let t = I("ensureCatalogAbsent");
792
792
  t.doc.hasIn(["catalog", e]) && t.doc.deleteIn(["catalog", e]);
793
793
  }
794
- function Ut(e) {
794
+ function Wt(e) {
795
795
  let t = bt("ensureGitignoreEntries");
796
796
  for (let n of e) ht(t.lines, n) || t.lines.push(n);
797
797
  }
798
798
  //#endregion
799
799
  //#region src/structure/engine/parsers/yaml.ts
800
- function Wt(e) {
800
+ function Gt(e) {
801
801
  return oe(e);
802
802
  }
803
- function Gt(e) {
803
+ function Kt(e) {
804
804
  return e.toString();
805
805
  }
806
- var Kt = ".structure";
807
- function qt(e) {
806
+ var qt = ".structure";
807
+ function Jt(e) {
808
808
  if (!e.exists(".structure")) return { version: 0 };
809
809
  try {
810
- let t = JSON.parse(e.read(Kt));
810
+ let t = JSON.parse(e.read(qt));
811
811
  return { version: typeof t?.version == "number" ? t.version : 0 };
812
812
  } catch {
813
813
  return { version: 0 };
814
814
  }
815
815
  }
816
- function Jt(e, t = 0) {
817
- if (e < t) throw new Yt(e, t);
816
+ function Yt(e, t = 0) {
817
+ if (e < t) throw new Xt(e, t);
818
818
  }
819
- var Yt = class extends Error {
819
+ var Xt = class extends Error {
820
820
  constructor(e, t) {
821
821
  super(`Block .structure version is ${e}, below floor ${t}. Bootstrap via the legacy-migration skill, then re-run.`), this.version = e, this.floor = t, this.name = "StructureVersionFloorError";
822
822
  }
823
823
  };
824
- function Xt(e, t) {
825
- e.write(Kt, JSON.stringify(t));
824
+ function Zt(e, t) {
825
+ e.write(qt, JSON.stringify(t));
826
826
  }
827
827
  //#endregion
828
828
  //#region src/structure/engine/runner.ts
829
- var Zt = class extends Error {
829
+ var Qt = class extends Error {
830
830
  constructor(e) {
831
831
  super(`Post-run recheck: rule set not idempotent. Failing item: ${e.primitive} '${e.path}' (scope=${e.scope}, action=${e.action}). Engine bug.`), this.failing = e, this.name = "RecheckError";
832
832
  }
833
833
  };
834
- function Qt(e, t, n, r) {
834
+ function $t(e, t, n, r) {
835
835
  switch (e.kind) {
836
836
  case "text": return e.value;
837
837
  case "file":
@@ -850,15 +850,15 @@ function Qt(e, t, n, r) {
850
850
  case "binary": throw Error(`binary('${e.path}') cannot be resolved to a string; it is only valid inside seed()/scaffold(), which copy it verbatim via fs.writeBinary.`);
851
851
  }
852
852
  }
853
- function $t(e, t, n, r, i) {
853
+ function en(e, t, n, r, i) {
854
854
  if (n.kind === "binary") {
855
855
  if (!r) throw Error(`binary('${n.path}'): no TemplateProvider configured. Pass opts.templates to engine.run(...).`);
856
856
  e.writeBinary(t, r.staticReadBinary(n.path));
857
857
  return;
858
858
  }
859
- e.write(t, Qt(n, t, r, i));
859
+ e.write(t, $t(n, t, r, i));
860
860
  }
861
- function en(e, t, n, r, i, a) {
861
+ function tn(e, t, n, r, i, a) {
862
862
  let o = e.split("/").pop() ?? e;
863
863
  if (e.endsWith(".json")) {
864
864
  let i = Qe(t);
@@ -866,12 +866,12 @@ function en(e, t, n, r, i, a) {
866
866
  return St(i, n, { triggerContext: r }), it(i, { collapse: o !== "package.json" });
867
867
  }
868
868
  if (e.endsWith(".yaml") || e.endsWith(".yml")) {
869
- let e = Wt(t);
869
+ let e = Gt(t);
870
870
  return Ct(e, n, {
871
871
  triggerContext: r,
872
872
  getLatestVersion: i,
873
873
  getDerivedDependencyPin: a
874
- }), Gt(e);
874
+ }), Kt(e);
875
875
  }
876
876
  if (o === ".gitignore" || o.endsWith(".gitignore")) {
877
877
  let e = dt(t);
@@ -879,7 +879,7 @@ function en(e, t, n, r, i, a) {
879
879
  }
880
880
  throw Error(`managed('${e}'): unsupported file kind. Only .json, .yaml, .yml, .gitignore are dispatched.`);
881
881
  }
882
- function tn(e) {
882
+ function nn(e) {
883
883
  let t = e.list(""), n = /* @__PURE__ */ new Set();
884
884
  for (let e of t) {
885
885
  n.add(e);
@@ -888,16 +888,16 @@ function tn(e) {
888
888
  }
889
889
  return n;
890
890
  }
891
- function nn(e, t) {
891
+ function rn(e, t) {
892
892
  let n = t === "" ? t : t.endsWith("/") ? t.slice(0, -1) : t;
893
893
  return e.has(n);
894
894
  }
895
- function rn(e, t, n) {
895
+ function an(e, t, n) {
896
896
  return {
897
897
  ctx: t,
898
898
  version: t.version,
899
- pathExists: (t) => nn(e, t),
900
- pathMissing: (t) => !nn(e, t),
899
+ pathExists: (t) => rn(e, t),
900
+ pathMissing: (t) => !rn(e, t),
901
901
  filesMatch: (t) => {
902
902
  let r = n ? `${n}/${t}` : t;
903
903
  for (let t of e) if (Le(r, t)) return !0;
@@ -905,20 +905,20 @@ function rn(e, t, n) {
905
905
  }
906
906
  };
907
907
  }
908
- function an(e, t) {
908
+ function on(e, t) {
909
909
  for (let n of e.triggers) if (!n(t)) return !1;
910
910
  return !0;
911
911
  }
912
- function on(e, t) {
912
+ function sn(e, t) {
913
913
  return t ? "init" : e.updateDepsOnly ? "updateDeps" : "default";
914
914
  }
915
- function sn(e, t) {
915
+ function cn(e, t) {
916
916
  return e.filter((e) => e.modes.includes(t));
917
917
  }
918
- function cn(e, t, n, r, i, a) {
918
+ function ln(e, t, n, r, i, a) {
919
919
  let o = e.leaf;
920
920
  if (o.kind === "fixed") {
921
- let i = Qt(o.content, e.resolvedPath, r, a);
921
+ let i = $t(o.content, e.resolvedPath, r, a);
922
922
  return t.exists(e.resolvedPath) ? t.read(e.resolvedPath) === i ? void 0 : (n || t.write(e.resolvedPath, i), {
923
923
  scope: e.scope,
924
924
  path: e.resolvedPath,
@@ -931,13 +931,13 @@ function cn(e, t, n, r, i, a) {
931
931
  action: "create"
932
932
  });
933
933
  }
934
- if (o.kind === "scaffold") return t.exists(e.resolvedPath) ? void 0 : (n || $t(t, e.resolvedPath, o.initial, r, a), {
934
+ if (o.kind === "scaffold") return t.exists(e.resolvedPath) ? void 0 : (n || en(t, e.resolvedPath, o.initial, r, a), {
935
935
  scope: e.scope,
936
936
  path: e.resolvedPath,
937
937
  primitive: "scaffold",
938
938
  action: "create"
939
939
  });
940
- if (o.kind === "seed") return !i || t.exists(e.resolvedPath) ? void 0 : (n || $t(t, e.resolvedPath, o.initial, r, a), {
940
+ if (o.kind === "seed") return !i || t.exists(e.resolvedPath) ? void 0 : (n || en(t, e.resolvedPath, o.initial, r, a), {
941
941
  scope: e.scope,
942
942
  path: e.resolvedPath,
943
943
  primitive: "seed",
@@ -960,11 +960,11 @@ function cn(e, t, n, r, i, a) {
960
960
  });
961
961
  }
962
962
  }
963
- function ln(e, t, n, r, i, a, o, s) {
963
+ function un(e, t, n, r, i, a, o, s) {
964
964
  if (e.leaf.kind !== "managed") return;
965
965
  let c = e.leaf, l = e.resolvedPath, u = t.exists(l), d, f = !1;
966
- u ? d = t.read(l) : (d = Qt(c.initial, l, i, s), f = !0);
967
- let p = en(l, d, c.body, r, a, o);
966
+ u ? d = t.read(l) : (d = $t(c.initial, l, i, s), f = !0);
967
+ let p = tn(l, d, c.body, r, a, o);
968
968
  if (f) return n || t.write(l, p), {
969
969
  scope: e.scope,
970
970
  path: l,
@@ -978,40 +978,40 @@ function ln(e, t, n, r, i, a, o, s) {
978
978
  action: "update"
979
979
  };
980
980
  }
981
- function un(e, t, n, r, i, a, o, s) {
982
- let c = sn(e, on(n, a)), l = [], u = tn(t);
981
+ function dn(e, t, n, r, i, a, o, s) {
982
+ let c = cn(e, sn(n, a)), l = [], u = nn(t);
983
983
  for (let e of c) {
984
- if (e.leaf.kind === "managed" || !an(e, rn(u, n, e.modulePath))) continue;
985
- let o = cn(e, t, r, i, a, n);
984
+ if (e.leaf.kind === "managed" || !on(e, an(u, n, e.modulePath))) continue;
985
+ let o = ln(e, t, r, i, a, n);
986
986
  o && l.push(o);
987
987
  }
988
- let d = tn(t);
988
+ let d = nn(t);
989
989
  for (let e of c) {
990
990
  if (e.leaf.kind !== "managed") continue;
991
- let a = rn(d, n, e.modulePath);
992
- if (!an(e, a)) continue;
993
- let c = ln(e, t, r, a, i, o, s, n);
991
+ let a = an(d, n, e.modulePath);
992
+ if (!on(e, a)) continue;
993
+ let c = un(e, t, r, a, i, o, s, n);
994
994
  c && l.push(c);
995
995
  }
996
996
  return l;
997
997
  }
998
- function dn(e, t, n, r = {}) {
998
+ function fn(e, t, n, r = {}) {
999
999
  return Be(n, () => {
1000
- let i = Me(e, n), a = !!r.initMode, o = un(i, t, n, n.dryRun, r.templates, a, r.registryLookup, r.derivedPinLookup);
1000
+ let i = Me(e, n), a = !!r.initMode, o = dn(i, t, n, n.dryRun, r.templates, a, r.registryLookup, r.derivedPinLookup);
1001
1001
  if (!n.dryRun && !n.updateDepsOnly && !a) {
1002
- Xt(t, { version: 2 });
1002
+ Zt(t, { version: 2 });
1003
1003
  let i = {
1004
1004
  ...r.rediscover ? r.rediscover(t) : n,
1005
1005
  dryRun: !0
1006
- }, a = un(Me(e, i), t, i, !0, r.templates, !1, r.registryLookup, r.derivedPinLookup).filter((e) => e.path !== Kt);
1007
- if (a.length > 0) throw new Zt(a[0]);
1006
+ }, a = dn(Me(e, i), t, i, !0, r.templates, !1, r.registryLookup, r.derivedPinLookup).filter((e) => e.path !== qt);
1007
+ if (a.length > 0) throw new Qt(a[0]);
1008
1008
  }
1009
- return a && !n.dryRun && Xt(t, { version: 2 }), { changes: o };
1009
+ return a && !n.dryRun && Zt(t, { version: 2 }), { changes: o };
1010
1010
  });
1011
1011
  }
1012
1012
  //#endregion
1013
1013
  //#region src/structure/engine/discovery.ts
1014
- var fn = [
1014
+ var pn = [
1015
1015
  "root",
1016
1016
  "block",
1017
1017
  "model",
@@ -1019,12 +1019,12 @@ var fn = [
1019
1019
  "workflow",
1020
1020
  "test",
1021
1021
  "software"
1022
- ], pn = class extends Error {
1022
+ ], mn = class extends Error {
1023
1023
  constructor(e, t) {
1024
1024
  super(e), this.path = t, this.name = "DiscoveryError";
1025
1025
  }
1026
1026
  };
1027
- function mn(e) {
1027
+ function hn(e) {
1028
1028
  let t = /* @__PURE__ */ new Set();
1029
1029
  for (let n of [
1030
1030
  e.dependencies,
@@ -1034,18 +1034,18 @@ function mn(e) {
1034
1034
  ]) if (n) for (let e of Object.keys(n)) t.add(e);
1035
1035
  return t;
1036
1036
  }
1037
- function hn(e) {
1037
+ function gn(e) {
1038
1038
  return e === "" || e === ".";
1039
1039
  }
1040
- function gn(e) {
1040
+ function _n(e) {
1041
1041
  let t = e.pkg["block-scope"];
1042
1042
  if (typeof t == "string") {
1043
- if (!fn.includes(t)) throw new pn(`package.json "block-scope" must be one of ${fn.join(", ")}, got '${t}'`, e.path);
1043
+ if (!pn.includes(t)) throw new mn(`package.json "block-scope" must be one of ${pn.join(", ")}, got '${t}'`, e.path);
1044
1044
  return t;
1045
1045
  }
1046
- if (hn(e.path)) return "root";
1046
+ if (gn(e.path)) return "root";
1047
1047
  if (e.pkg.block !== void 0) return "block";
1048
- let n = mn(e.pkg);
1048
+ let n = hn(e.pkg);
1049
1049
  if (e.pkg["block-software"] !== void 0) return "software";
1050
1050
  if (n.has("@platforma-sdk/package-builder")) {
1051
1051
  for (let e of n) if (/^@platforma-open\/.*runenv/.test(e)) return "software";
@@ -1055,39 +1055,39 @@ function gn(e) {
1055
1055
  if (n.has("@platforma-sdk/model") && e.pkg.main) return "model";
1056
1056
  if (n.has("@platforma-sdk/test")) return "test";
1057
1057
  }
1058
- function _n(e) {
1058
+ function vn(e) {
1059
1059
  let t = [];
1060
1060
  for (let n of e) {
1061
- let e = gn(n);
1062
- if (!e) throw new pn(`Unclassified workspace package at '${n.path}'. Add a top-level "block-scope" string to its package.json.`, n.path);
1061
+ let e = _n(n);
1062
+ if (!e) throw new mn(`Unclassified workspace package at '${n.path}'. Add a top-level "block-scope" string to its package.json.`, n.path);
1063
1063
  t.push({
1064
1064
  scope: e,
1065
1065
  name: n.pkg.name ?? n.path,
1066
- path: hn(n.path) ? "" : n.path
1066
+ path: gn(n.path) ? "" : n.path
1067
1067
  });
1068
1068
  }
1069
1069
  return t;
1070
1070
  }
1071
1071
  //#endregion
1072
1072
  //#region src/structure/engine/ctx.ts
1073
- function J(e, t) {
1073
+ function q(e, t) {
1074
1074
  return e.modules.filter((e) => e.scope === t);
1075
1075
  }
1076
- function vn(e, t) {
1077
- let n = J(e, t);
1076
+ function yn(e, t) {
1077
+ let n = q(e, t);
1078
1078
  if (n.length === 0) throw Error(`findModule: expected one '${t}' module, found none`);
1079
1079
  if (n.length > 1) throw Error(`findModule: expected exactly one '${t}' module, found ${n.length}`);
1080
1080
  return n[0];
1081
1081
  }
1082
- function yn(e, t) {
1083
- return { [vn(e, t).name]: "workspace:*" };
1084
- }
1085
1082
  function bn(e, t) {
1083
+ return { [yn(e, t).name]: "workspace:*" };
1084
+ }
1085
+ function xn(e, t) {
1086
1086
  let n = {};
1087
- for (let r of J(e, t)) n[r.name] = "workspace:*";
1087
+ for (let r of q(e, t)) n[r.name] = "workspace:*";
1088
1088
  return n;
1089
1089
  }
1090
- function xn(e) {
1090
+ function Sn(e) {
1091
1091
  let t = e.facadeName, n = [
1092
1092
  {
1093
1093
  scope: "root",
@@ -1126,7 +1126,7 @@ function xn(e) {
1126
1126
  path: "software"
1127
1127
  }), n;
1128
1128
  }
1129
- function Sn(e) {
1129
+ function Cn(e) {
1130
1130
  return {
1131
1131
  isSdkInternal: e.isSdkInternal ?? !1,
1132
1132
  updateDepsOnly: e.updateDepsOnly ?? !1,
@@ -1138,41 +1138,41 @@ function Sn(e) {
1138
1138
  }
1139
1139
  //#endregion
1140
1140
  //#region src/structure/engine/discovery-fs.ts
1141
- var Y = class extends Error {
1141
+ var J = class extends Error {
1142
1142
  constructor(e) {
1143
1143
  super(e), this.name = "StructureCliError";
1144
1144
  }
1145
1145
  };
1146
- function Cn(e, t) {
1146
+ function wn(e, t) {
1147
1147
  return e === "" ? t : `${e}/${t}`;
1148
1148
  }
1149
- function wn(e, t) {
1149
+ function Tn(e, t) {
1150
1150
  try {
1151
1151
  return JSON.parse(e.read(t));
1152
1152
  } catch {
1153
1153
  return;
1154
1154
  }
1155
1155
  }
1156
- function Tn(e) {
1157
- if (e.includes("*")) throw new Y(`pnpm-workspace.yaml 'packages:' entry '${e}' contains a glob. The structurer requires literal package paths — replace the glob with one entry per package directory.`);
1156
+ function En(e) {
1157
+ if (e.includes("*")) throw new J(`pnpm-workspace.yaml 'packages:' entry '${e}' contains a glob. The structurer requires literal package paths — replace the glob with one entry per package directory.`);
1158
1158
  let t = e.replace(/^\.\//, "").replace(/\/$/, "");
1159
1159
  return t === "." ? "" : t;
1160
1160
  }
1161
- function En(e) {
1161
+ function Dn(e) {
1162
1162
  let t;
1163
1163
  try {
1164
1164
  t = e.read("pnpm-workspace.yaml");
1165
1165
  } catch {
1166
- throw new Y("No pnpm-workspace.yaml found. This directory is empty or unrecognisable as a block — run 'block-tools structure init' instead, or pass --sdk-internal for an in-monorepo block.");
1166
+ throw new J("No pnpm-workspace.yaml found. This directory is empty or unrecognisable as a block — run 'block-tools structure init' instead, or pass --sdk-internal for an in-monorepo block.");
1167
1167
  }
1168
1168
  let n = ae(t) ?? {}, r = Array.isArray(n.packages) ? n.packages : [], i = new Set([""]);
1169
1169
  for (let t of r) {
1170
- let n = Tn(t);
1170
+ let n = En(t);
1171
1171
  (n === "" || e.exists(n)) && i.add(n);
1172
1172
  }
1173
1173
  let a = [];
1174
1174
  for (let t of i) {
1175
- let n = wn(e, Cn(t, "package.json"));
1175
+ let n = Tn(e, wn(t, "package.json"));
1176
1176
  n && a.push({
1177
1177
  path: t,
1178
1178
  pkg: n
@@ -1180,7 +1180,7 @@ function En(e) {
1180
1180
  }
1181
1181
  return a;
1182
1182
  }
1183
- function Dn(e) {
1183
+ function On(e) {
1184
1184
  let t = [], n = new Set([
1185
1185
  "node_modules",
1186
1186
  ".turbo",
@@ -1192,7 +1192,7 @@ function Dn(e) {
1192
1192
  let o = e.listDir(i);
1193
1193
  for (let s of o) {
1194
1194
  if (!s.isDirectory || n.has(s.name)) continue;
1195
- let o = Cn(i, s.name), c = wn(e, Cn(o, "package.json"));
1195
+ let o = wn(i, s.name), c = Tn(e, wn(o, "package.json"));
1196
1196
  c && t.push({
1197
1197
  path: o,
1198
1198
  pkg: c
@@ -1201,11 +1201,11 @@ function Dn(e) {
1201
1201
  }
1202
1202
  return r("", 1), t;
1203
1203
  }
1204
- function On(e) {
1204
+ function kn(e) {
1205
1205
  let t = e.indexOf("/");
1206
- if (!e.startsWith("@") || t < 0) throw new Y(`Cannot parse block name '${e}': expected '@npm-org/org-scope.short-name'.`);
1206
+ if (!e.startsWith("@") || t < 0) throw new J(`Cannot parse block name '${e}': expected '@npm-org/org-scope.short-name'.`);
1207
1207
  let n = e.slice(0, t), r = e.slice(t + 1), i = r.indexOf(".");
1208
- if (i < 0) throw new Y(`Cannot parse block name '${e}': base name '${r}' has no '.' separating org-scope from short-name.`);
1208
+ if (i < 0) throw new J(`Cannot parse block name '${e}': base name '${r}' has no '.' separating org-scope from short-name.`);
1209
1209
  return {
1210
1210
  facadeName: e,
1211
1211
  baseName: r,
@@ -1214,15 +1214,15 @@ function On(e) {
1214
1214
  shortName: r.slice(i + 1)
1215
1215
  };
1216
1216
  }
1217
- function kn(e) {
1218
- let { fs: t, isSdkInternal: n } = e, r = n ? Dn(t) : En(t);
1219
- if (r.length === 0) throw new Y("No workspace packages found. Run 'block-tools structure init' to scaffold a block.");
1220
- let i = _n(r), a = qt(t);
1221
- Jt(a.version, 0);
1217
+ function An(e) {
1218
+ let { fs: t, isSdkInternal: n } = e, r = n ? On(t) : Dn(t);
1219
+ if (r.length === 0) throw new J("No workspace packages found. Run 'block-tools structure init' to scaffold a block.");
1220
+ let i = vn(r), a = Jt(t);
1221
+ Yt(a.version, 0);
1222
1222
  let o = i.find((e) => e.scope === "block") ?? i.find((e) => e.scope === "root");
1223
- if (!o) throw new Y("Could not find a 'block' (or root-as-block) package to derive BlockVars from.");
1224
- let s = On(o.name.replace(/\.block$/, ""));
1225
- return Sn({
1223
+ if (!o) throw new J("Could not find a 'block' (or root-as-block) package to derive BlockVars from.");
1224
+ let s = kn(o.name.replace(/\.block$/, ""));
1225
+ return Cn({
1226
1226
  isSdkInternal: n,
1227
1227
  updateDepsOnly: e.updateDepsOnly ?? !1,
1228
1228
  modules: i,
@@ -1233,7 +1233,7 @@ function kn(e) {
1233
1233
  }
1234
1234
  //#endregion
1235
1235
  //#region src/structure/rules/shared/key-order.ts
1236
- var X = [
1236
+ var Y = [
1237
1237
  "name",
1238
1238
  "version",
1239
1239
  "private",
@@ -1254,25 +1254,25 @@ var X = [
1254
1254
  "pnpm",
1255
1255
  "block",
1256
1256
  "block-software"
1257
- ], An = {
1257
+ ], jn = {
1258
1258
  "build:dev-local": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=all PL_BUILD_LOCATION=local turbo run build",
1259
1259
  "build:dev-remote": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=all PL_BUILD_LOCATION=remote turbo run build",
1260
1260
  "build:dev-no-software": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=none turbo run build",
1261
1261
  "build:dev-binary-existing": "env PL_BUILD_CHANNEL=dev PL_BUILD_USE_PUBLISHED=true turbo run build",
1262
1262
  "build:release": "env PL_BUILD_CHANNEL=release PL_BUILD_VARIANT=all PL_BUILD_LOCATION=remote turbo run build"
1263
- }, jn = {
1263
+ }, Mn = {
1264
1264
  test: "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=binary PL_BUILD_LOCATION=local turbo run test --concurrency 1",
1265
1265
  "test:dry-run": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=binary PL_BUILD_LOCATION=local turbo run test --dry-run=json"
1266
1266
  };
1267
- function Mn() {
1267
+ function Nn() {
1268
1268
  return {
1269
1269
  version: "1.0.0",
1270
1270
  private: !0,
1271
1271
  scripts: {
1272
1272
  fmt: "turbo run fmt",
1273
1273
  check: "turbo run check",
1274
- ...An,
1275
1274
  ...jn,
1275
+ ...Mn,
1276
1276
  "mark-stable": "turbo run mark-stable",
1277
1277
  "do-pack": "turbo run do-pack",
1278
1278
  watch: "turbo watch build",
@@ -1295,28 +1295,28 @@ function Mn() {
1295
1295
  packageManager: "pnpm@9.12.0"
1296
1296
  };
1297
1297
  }
1298
- function Nn() {
1298
+ function Pn() {
1299
1299
  R("packageManager", "pnpm@9.12.0"), z("name"), B("fmt", "turbo run fmt"), B("check", "turbo run check");
1300
- for (let [e, t] of Object.entries(An)) B(e, t);
1301
1300
  for (let [e, t] of Object.entries(jn)) B(e, t);
1301
+ for (let [e, t] of Object.entries(Mn)) B(e, t);
1302
1302
  V("build"), V("build:dev"), B("mark-stable", "turbo run mark-stable"), B("do-pack", "turbo run do-pack"), B("watch", "turbo watch build"), B("changeset", "changeset"), B("version-packages", "changeset version"), B("update-sdk", "block-tools structure refresh --update-deps-only"), V("update"), B("upgrade-sdk", "block-tools structure refresh --update-deps-only && pnpm i && block-tools structure refresh && pnpm i && pnpm fmt"), W({
1303
1303
  "@changesets/cli": "catalog:",
1304
1304
  "@milaboratories/ts-builder": "sdk:",
1305
1305
  "@platforma-sdk/block-tools": "sdk:",
1306
1306
  shx: "catalog:",
1307
1307
  turbo: "catalog:"
1308
- }), G({
1308
+ }), jt({
1309
1309
  oxlint: "*",
1310
1310
  oxfmt: "*"
1311
- }), Pt((e, t) => {
1311
+ }), Ft((e, t) => {
1312
1312
  if (!/^(\/\/|--)/.test(e) || typeof t != "object" || !t) return !1;
1313
1313
  let n = t;
1314
1314
  return n.pnpm !== void 0 || n.overrides !== void 0;
1315
- }), q("dependencies"), q("devDependencies"), q("peerDependencies"), q("optionalDependencies"), K([...X]);
1315
+ }), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
1316
1316
  }
1317
1317
  //#endregion
1318
1318
  //#region src/structure/rules/root-turbo-json.ts
1319
- var Pn = "https://turbo.build/schema.json", Fn = ["tsconfig.json"], In = {
1319
+ var Fn = "https://turbo.build/schema.json", In = ["tsconfig.json"], Ln = {
1320
1320
  fmt: { cache: !1 },
1321
1321
  check: {
1322
1322
  dependsOn: ["^build"],
@@ -1365,15 +1365,15 @@ var Pn = "https://turbo.build/schema.json", Fn = ["tsconfig.json"], In = {
1365
1365
  cache: !1
1366
1366
  }
1367
1367
  };
1368
- function Ln() {
1368
+ function Rn() {
1369
1369
  return {
1370
- $schema: Pn,
1371
- globalDependencies: Fn,
1372
- tasks: { ...In }
1370
+ $schema: Fn,
1371
+ globalDependencies: In,
1372
+ tasks: { ...Ln }
1373
1373
  };
1374
1374
  }
1375
- function Rn() {
1376
- R("$schema", Pn), R("globalDependencies", Fn), Et("tasks", In), z("tasks.build:dev"), K([
1375
+ function zn() {
1376
+ R("$schema", Fn), R("globalDependencies", In), Et("tasks", Ln), z("tasks.build:dev"), G([
1377
1377
  "$schema",
1378
1378
  "globalDependencies",
1379
1379
  "tasks"
@@ -1381,70 +1381,70 @@ function Rn() {
1381
1381
  }
1382
1382
  //#endregion
1383
1383
  //#region src/structure/engine/registry-client.ts
1384
- var zn = 2, Bn = 500, Vn = 3e4;
1385
- function Hn(e) {
1384
+ var Bn = 2, Vn = 500, Hn = 3e4;
1385
+ function Un(e) {
1386
1386
  if (!e) return null;
1387
1387
  let t = Number(e);
1388
1388
  if (Number.isFinite(t) && t > 0) return t * 1e3;
1389
1389
  let n = Date.parse(e);
1390
1390
  return Number.isNaN(n) ? null : Math.max(0, n - Date.now());
1391
1391
  }
1392
- async function Un(e) {
1392
+ async function Wn(e) {
1393
1393
  for (let t = 1;; t++) {
1394
1394
  let n;
1395
1395
  try {
1396
- n = await fetch(e, { signal: AbortSignal.timeout(Vn) });
1396
+ n = await fetch(e, { signal: AbortSignal.timeout(Hn) });
1397
1397
  } catch (e) {
1398
- if (t > zn) throw e;
1399
- await ce(Bn * 2 ** (t - 1) * (.8 + .4 * Math.random()));
1398
+ if (t > Bn) throw e;
1399
+ await ce(Vn * 2 ** (t - 1) * (.8 + .4 * Math.random()));
1400
1400
  continue;
1401
1401
  }
1402
1402
  if (n.ok) return n;
1403
- if (!(n.status === 429 || n.status >= 500) || t > zn) throw Error(`registry returned HTTP ${n.status}`);
1404
- let r = Hn(n.headers.get("retry-after"));
1403
+ if (!(n.status === 429 || n.status >= 500) || t > Bn) throw Error(`registry returned HTTP ${n.status}`);
1404
+ let r = Un(n.headers.get("retry-after"));
1405
1405
  if (r != null) {
1406
1406
  await ce(r);
1407
1407
  continue;
1408
1408
  }
1409
- await ce(Bn * 2 ** (t - 1) * (.8 + .4 * Math.random()));
1409
+ await ce(Vn * 2 ** (t - 1) * (.8 + .4 * Math.random()));
1410
1410
  }
1411
1411
  }
1412
- function Wn() {
1412
+ function Gn() {
1413
1413
  return {
1414
1414
  async getLatestVersion(e) {
1415
- let t = (await (await Un(`https://registry.npmjs.org/-/package/${e}/dist-tags`)).json()).latest;
1415
+ let t = (await (await Wn(`https://registry.npmjs.org/-/package/${e}/dist-tags`)).json()).latest;
1416
1416
  if (!t) throw Error("no 'latest' dist-tag in registry response");
1417
1417
  return t;
1418
1418
  },
1419
1419
  async getDeclaredDependency(e, t, n) {
1420
- let r = await (await Un(`https://registry.npmjs.org/${e}/${t}`)).json();
1420
+ let r = await (await Wn(`https://registry.npmjs.org/${e}/${t}`)).json();
1421
1421
  return r.dependencies?.[n] ?? r.peerDependencies?.[n];
1422
1422
  }
1423
1423
  };
1424
1424
  }
1425
- async function Gn(e, t) {
1425
+ async function Kn(e, t) {
1426
1426
  let n = await Promise.all(t.map(async (t) => [t, await e.getLatestVersion(t)]));
1427
1427
  return new Map(n);
1428
1428
  }
1429
- function Kn(e) {
1429
+ function qn(e) {
1430
1430
  return (t) => e.get(t);
1431
1431
  }
1432
- var qn = [/^@platforma-sdk\//, /^@milaboratories\//];
1433
- function Jn(e) {
1434
- return qn.some((t) => t.test(e));
1432
+ var Jn = [/^@platforma-sdk\//, /^@milaboratories\//];
1433
+ function Yn(e) {
1434
+ return Jn.some((t) => t.test(e));
1435
1435
  }
1436
- async function Yn(e, t = Wn()) {
1437
- return e.length === 0 ? () => void 0 : Kn(await Gn(t, e));
1436
+ async function Xn(e, t = Gn()) {
1437
+ return e.length === 0 ? () => void 0 : qn(await Kn(t, e));
1438
1438
  }
1439
- function Xn(e) {
1439
+ function Zn(e) {
1440
1440
  return /^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(e);
1441
1441
  }
1442
- async function Zn(e, t = Wn()) {
1442
+ async function Qn(e, t = Gn()) {
1443
1443
  if (e.length === 0) return () => void 0;
1444
1444
  let n = await Promise.all(e.map(async (e) => {
1445
1445
  let n = await t.getDeclaredDependency(e.of, e.ofVersion ?? "latest", e.entry);
1446
1446
  if (n === void 0) throw Error(`derived catalog pin '${e.entry}': package '${e.of}'${e.ofVersion ? `@${e.ofVersion}` : " (latest)"} declares no dependency '${e.entry}'. A derived pin requires the source to declare the dep as an exact version.`);
1447
- if (!Xn(n)) throw Error(`derived catalog pin '${e.entry}': package '${e.of}'${e.ofVersion ? `@${e.ofVersion}` : " (latest)"} declares '${e.entry}: ${n}', which is not an exact version. A derived pin requires an exact ('x.y.z') source dependency so the catalog can pin to it precisely.`);
1447
+ if (!Zn(n)) throw Error(`derived catalog pin '${e.entry}': package '${e.of}'${e.ofVersion ? `@${e.ofVersion}` : " (latest)"} declares '${e.entry}: ${n}', which is not an exact version. A derived pin requires an exact ('x.y.z') source dependency so the catalog can pin to it precisely.`);
1448
1448
  return [e.entry, n];
1449
1449
  })), r = new Map(n);
1450
1450
  return (e) => r.get(e);
@@ -1452,7 +1452,7 @@ async function Zn(e, t = Wn()) {
1452
1452
  //#endregion
1453
1453
  //#region src/structure/rules/shared/retired-deps.ts
1454
1454
  // @vitejs/plugin-vue — bundled by ts-builder's internal vite config.
1455
- var Qn = [
1455
+ var $n = [
1456
1456
  "vite",
1457
1457
  "tsup",
1458
1458
  "vue-tsc",
@@ -1460,8 +1460,8 @@ var Qn = [
1460
1460
  "vite-plugin-dts",
1461
1461
  "@platforma-sdk/eslint-config"
1462
1462
  ];
1463
- function $n() {
1464
- for (let e of Qn) U(e);
1463
+ function X() {
1464
+ for (let e of $n) U(e);
1465
1465
  }
1466
1466
  //#endregion
1467
1467
  //#region src/structure/rules/root-pnpm-workspace.ts
@@ -1476,7 +1476,7 @@ var Z = [
1476
1476
  "@milaboratories/ts-builder",
1477
1477
  "@milaboratories/ts-configs"
1478
1478
  ], er = "0.0.0-init-must-fetch";
1479
- for (let e of Z) if (!Jn(e)) throw Error(`SDK_CATALOG_PACKAGES entry '${e}' matches no catalog bump pattern; its placeholder would never be resolved to npm latest on init. Add it to CATALOG_BUMP_PATTERNS or move it to the infra floor.`);
1479
+ for (let e of Z) if (!Yn(e)) throw Error(`SDK_CATALOG_PACKAGES entry '${e}' matches no catalog bump pattern; its placeholder would never be resolved to npm latest on init. Add it to CATALOG_BUMP_PATTERNS or move it to the infra floor.`);
1480
1480
  var tr = {
1481
1481
  turbo: "~2.8.11",
1482
1482
  shx: "~0.4.0",
@@ -1498,8 +1498,8 @@ function ar(e) {
1498
1498
  };
1499
1499
  }
1500
1500
  function or() {
1501
- Lt();
1502
- for (let e of Qn) Ht(e);
1501
+ Rt();
1502
+ for (let e of $n) Ut(e);
1503
1503
  }
1504
1504
  //#endregion
1505
1505
  //#region src/structure/rules/root-gitignore.ts
@@ -1519,17 +1519,17 @@ var sr = [
1519
1519
  "test-dry-run.json"
1520
1520
  ];
1521
1521
  function cr() {
1522
- Ut(sr);
1522
+ Wt(sr);
1523
1523
  }
1524
1524
  //#endregion
1525
1525
  //#region src/structure/rules/root.ts
1526
1526
  function lr() {
1527
1527
  S("root", () => {
1528
1528
  C(({ ctx: e }) => !e.isSdkInternal, () => {
1529
- E("turbo.json", M(() => Ln()), () => {
1530
- Rn();
1531
- }), T(".vscode/settings.json", A("root/.vscode/settings.json")), E("package.json", M(() => Mn()), () => {
1532
- Nn();
1529
+ E("turbo.json", M(() => Rn()), () => {
1530
+ zn();
1531
+ }), T(".vscode/settings.json", A("root/.vscode/settings.json")), E("package.json", M(() => Nn()), () => {
1532
+ Pn();
1533
1533
  }), E("pnpm-workspace.yaml", M((e) => ar(e)), () => {
1534
1534
  or();
1535
1535
  }), E(".gitignore", A("root/.gitignore"), () => {
@@ -1580,9 +1580,9 @@ function hr(e, t) {
1580
1580
  }
1581
1581
  function gr(e) {
1582
1582
  let t = {};
1583
- for (let n of J(e, "workflow")) t.workflow = `${n.name}/dist/tengo/tpl/main.plj.gz`;
1584
- for (let n of J(e, "model")) t.model = `${n.name}/dist/model.json`;
1585
- for (let n of J(e, "ui")) t.ui = `${n.name}/dist`;
1583
+ for (let n of q(e, "workflow")) t.workflow = `${n.name}/dist/tengo/tpl/main.plj.gz`;
1584
+ for (let n of q(e, "model")) t.model = `${n.name}/dist/model.json`;
1585
+ for (let n of q(e, "ui")) t.ui = `${n.name}/dist`;
1586
1586
  return t;
1587
1587
  }
1588
1588
  function _r(e, t) {
@@ -1620,9 +1620,9 @@ function br(e) {
1620
1620
  function xr(e) {
1621
1621
  let t = e.blockVars, n = {
1622
1622
  ...vr,
1623
- ...bn(e, "model"),
1624
- ...bn(e, "ui"),
1625
- ...bn(e, "workflow")
1623
+ ...xn(e, "model"),
1624
+ ...xn(e, "ui"),
1625
+ ...xn(e, "workflow")
1626
1626
  }, r = {
1627
1627
  components: gr(e),
1628
1628
  meta: {
@@ -1656,7 +1656,7 @@ function Sr(e) {
1656
1656
  R("type", "module"), R("files", ["dist", "block-pack"]), R("main", "./dist/index.js"), R("module", "./dist/index.js"), R("types", "./dist/index.d.ts"), R("exports", yr);
1657
1657
  let n = _r(t.npmOrg, e.isSdkInternal);
1658
1658
  for (let [e, t] of Object.entries(n)) B(e, t);
1659
- V("mark-stable"), Nt("model"), Nt("ui"), Nt("workflow"), H("@milaboratories/ts-builder", "sdk:"), H("@milaboratories/ts-configs", "sdk:"), H("@platforma-sdk/block-tools", "sdk:"), H("@platforma-sdk/model", "sdk:"), H("shx", "catalog:"), H("typescript", "catalog:"), R("block.components", gr(e)), Tt("version", "facade package.json must carry a 'version' (the facade publishes)"), q("dependencies"), q("devDependencies"), q("peerDependencies"), q("optionalDependencies"), K([...X]);
1659
+ V("mark-stable"), Pt("model"), Pt("ui"), Pt("workflow"), H("@milaboratories/ts-builder", "sdk:"), H("@milaboratories/ts-configs", "sdk:"), H("@platforma-sdk/block-tools", "sdk:"), H("@platforma-sdk/model", "sdk:"), H("shx", "catalog:"), H("typescript", "catalog:"), R("block.components", gr(e)), Tt("version", "facade package.json must carry a 'version' (the facade publishes)"), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
1660
1660
  }
1661
1661
  //#endregion
1662
1662
  //#region src/structure/rules/shared/pascal-case.ts
@@ -1727,12 +1727,12 @@ function Er() {
1727
1727
  "@milaboratories/ts-builder": "sdk:",
1728
1728
  "@milaboratories/ts-configs": "sdk:",
1729
1729
  "@platforma-sdk/block-tools": "sdk:"
1730
- }), G({
1730
+ }), jt({
1731
1731
  "@types/node": "*",
1732
1732
  typescript: "*"
1733
1733
  }), C(({ ctx: e }) => !e.isSdkInternal, () => C(w(Q), () => {
1734
1734
  B("test", "vitest run --passWithNoTests"), H("vitest", "catalog:"), H("@types/node", "*");
1735
- }, () => U("vitest"))), $n(), z("tsup"), V("lint"), q("dependencies"), q("devDependencies"), q("peerDependencies"), q("optionalDependencies"), K([...X]);
1735
+ }, () => U("vitest"))), X(), z("tsup"), V("lint"), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
1736
1736
  }
1737
1737
  //#endregion
1738
1738
  //#region src/structure/rules/model.ts
@@ -1760,7 +1760,7 @@ function Or(e) {
1760
1760
  dependencies: {
1761
1761
  "@platforma-sdk/ui-vue": "sdk:",
1762
1762
  vue: "catalog:",
1763
- ...yn(e, "model")
1763
+ ...bn(e, "model")
1764
1764
  },
1765
1765
  devDependencies: {
1766
1766
  "@milaboratories/ts-builder": "sdk:",
@@ -1773,15 +1773,15 @@ function Or(e) {
1773
1773
  };
1774
1774
  }
1775
1775
  function kr() {
1776
- R("private", !0), R("type", "module"), B("fmt", "ts-builder format"), B("dev", "ts-builder serve --target block-ui"), B("watch", "ts-builder build --target block-ui --watch"), B("build", "ts-builder build --target block-ui"), B("check", "ts-builder check --target block-ui"), kt("@platforma-sdk/ui-vue", "sdk:"), kt("vue", "catalog:"), Mt("model"), W({
1776
+ R("private", !0), R("type", "module"), B("fmt", "ts-builder format"), B("dev", "ts-builder serve --target block-ui"), B("watch", "ts-builder build --target block-ui --watch"), B("build", "ts-builder build --target block-ui"), B("check", "ts-builder check --target block-ui"), kt("@platforma-sdk/ui-vue", "sdk:"), kt("vue", "catalog:"), Nt("model"), W({
1777
1777
  "@milaboratories/ts-builder": "sdk:",
1778
1778
  "@milaboratories/ts-configs": "sdk:"
1779
- }), $n(), V("preview"), V("lint"), G({
1779
+ }), X(), V("preview"), V("lint"), jt({
1780
1780
  "@types/node": "*",
1781
1781
  typescript: "*"
1782
1782
  }), C(({ ctx: e }) => !e.isSdkInternal, () => C(w(Q), () => {
1783
1783
  B("test", "vitest run --passWithNoTests"), H("vitest", "catalog:"), H("@types/node", "*");
1784
- }, () => U("vitest"))), q("dependencies"), q("devDependencies"), q("peerDependencies"), q("optionalDependencies"), K([...X]);
1784
+ }, () => U("vitest"))), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
1785
1785
  }
1786
1786
  //#endregion
1787
1787
  //#region src/structure/rules/ui.ts
@@ -1806,7 +1806,7 @@ function jr(e) {
1806
1806
  },
1807
1807
  dependencies: {
1808
1808
  "@platforma-sdk/workflow-tengo": "sdk:",
1809
- ...bn(e, "software")
1809
+ ...xn(e, "software")
1810
1810
  },
1811
1811
  devDependencies: {
1812
1812
  "@platforma-sdk/tengo-builder": "sdk:",
@@ -1818,11 +1818,11 @@ function jr(e) {
1818
1818
  function Mr() {
1819
1819
  R("private", !0), R("type", "module"), B("build", "shx rm -rf dist && pl-tengo build"), B("check", "pl-tengo check"), B("format", "/usr/bin/env emacs --script ./format.el || echo 'No emacs.'"), C(({ ctx: e }) => !e.isSdkInternal, () => C(w(Q), () => {
1820
1820
  B("test", "vitest run --passWithNoTests"), W({ vitest: "catalog:" });
1821
- }, () => U("vitest"))), kt("@platforma-sdk/workflow-tengo", "sdk:"), Mt("software"), W({
1821
+ }, () => U("vitest"))), kt("@platforma-sdk/workflow-tengo", "sdk:"), Nt("software"), W({
1822
1822
  "@platforma-sdk/tengo-builder": "sdk:",
1823
1823
  "@platforma-sdk/test": "sdk:",
1824
1824
  shx: "catalog:"
1825
- }), $n(), q("dependencies"), q("devDependencies"), q("peerDependencies"), q("optionalDependencies"), K([...X]);
1825
+ }), X(), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
1826
1826
  }
1827
1827
  //#endregion
1828
1828
  //#region src/structure/rules/workflow.ts
@@ -1864,7 +1864,7 @@ function Fr() {
1864
1864
  "@milaboratories/ts-builder": "sdk:",
1865
1865
  "@milaboratories/ts-configs": "sdk:",
1866
1866
  vitest: "catalog:"
1867
- }), G({ typescript: "*" }), U("@types/node"), $n(), q("dependencies"), q("devDependencies"), q("peerDependencies"), q("optionalDependencies"), K([...X]);
1867
+ }), jt({ typescript: "*" }), U("@types/node"), X(), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
1868
1868
  }
1869
1869
  //#endregion
1870
1870
  //#region src/structure/rules/test.ts
@@ -1913,7 +1913,7 @@ function Br(e) {
1913
1913
  };
1914
1914
  }
1915
1915
  function Vr() {
1916
- z("private"), R("type", "module"), R("files", ["./dist/**/*"]), B("build", Lr), B("do-pack", Rr), V("prepublishOnly"), B("changeset", "changeset"), B("version-packages", "changeset version"), H("@platforma-open/milaboratories.runenv-python-3", "catalog:"), H("@platforma-sdk/block-tools", "sdk:"), U("@platforma-sdk/package-builder"), q("dependencies"), q("devDependencies"), q("peerDependencies"), q("optionalDependencies"), K([...X]);
1916
+ z("private"), R("type", "module"), R("files", ["./dist/**/*"]), B("build", Lr), B("do-pack", Rr), V("prepublishOnly"), B("changeset", "changeset"), B("version-packages", "changeset version"), H("@platforma-open/milaboratories.runenv-python-3", "catalog:"), H("@platforma-sdk/block-tools", "sdk:"), U("@platforma-sdk/package-builder"), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
1917
1917
  }
1918
1918
  //#endregion
1919
1919
  //#region src/structure/rules/software.ts
@@ -1933,7 +1933,7 @@ function Gr() {
1933
1933
  }), S("test", () => {
1934
1934
  k("eslint.config.mjs");
1935
1935
  }), S("root", () => {
1936
- k(".prettierrc"), E("package.json", M(() => Mn()), () => {
1936
+ k(".prettierrc"), E("package.json", M(() => Nn()), () => {
1937
1937
  V("pretty"), U("@platforma-sdk/blocks-deps-updater");
1938
1938
  });
1939
1939
  });
@@ -1945,13 +1945,13 @@ function Kr() {
1945
1945
  S("root", () => {
1946
1946
  C(({ ctx: e }) => !e.isSdkInternal, () => {
1947
1947
  E("pnpm-workspace.yaml", M((e) => ar(e)), (e) => {
1948
- for (let e of Z) Bt(e);
1949
- for (let e of nr) Vt(e.entry, {
1948
+ for (let e of Z) Vt(e);
1949
+ for (let e of nr) Ht(e.entry, {
1950
1950
  of: e.of,
1951
1951
  ofVersion: e.ofVersion
1952
1952
  });
1953
- for (let [e, t] of Object.entries(tr)) zt(e, t);
1954
- e.modules.some((e) => e.scope === "software") && zt(rr, ir);
1953
+ for (let [e, t] of Object.entries(tr)) Bt(e, t);
1954
+ e.modules.some((e) => e.scope === "software") && Bt(rr, ir);
1955
1955
  });
1956
1956
  });
1957
1957
  });
@@ -1965,10 +1965,10 @@ var qr = He(() => {
1965
1965
  //#endregion
1966
1966
  //#region src/structure/cli/run-structure.ts
1967
1967
  async function Jr() {
1968
- return Yn(Z.filter(Jn));
1968
+ return Xn(Z.filter(Yn));
1969
1969
  }
1970
1970
  async function Yr(e) {
1971
- let t = h.resolve(e.blockPath), n = e.mode === "check", r = new Ee(t), i = new De(e.templatesRoot), a = dn(qr, r, kn({
1971
+ let t = h.resolve(e.blockPath), n = e.mode === "check", r = new Ee(t), i = new De(e.templatesRoot), a = fn(qr, r, An({
1972
1972
  fs: r,
1973
1973
  isSdkInternal: e.isSdkInternal,
1974
1974
  updateDepsOnly: e.updateDepsOnly,
@@ -1976,8 +1976,8 @@ async function Yr(e) {
1976
1976
  }), {
1977
1977
  templates: i,
1978
1978
  registryLookup: e.updateDepsOnly ? await Jr() : void 0,
1979
- derivedPinLookup: e.updateDepsOnly ? await Zn(nr) : void 0,
1980
- rediscover: () => kn({
1979
+ derivedPinLookup: e.updateDepsOnly ? await Qn(nr) : void 0,
1980
+ rediscover: () => An({
1981
1981
  fs: r,
1982
1982
  isSdkInternal: e.isSdkInternal,
1983
1983
  updateDepsOnly: !1,
@@ -2182,19 +2182,19 @@ async function li(e) {
2182
2182
  };
2183
2183
  }
2184
2184
  async function ui(e) {
2185
- let t = e.vars, n = xn(t), r = new Ee(e.blockPath), i = new De(e.templatesRoot), a = Sn({
2185
+ let t = e.vars, n = Sn(t), r = new Ee(e.blockPath), i = new De(e.templatesRoot), a = Cn({
2186
2186
  blockVars: t,
2187
2187
  modules: n,
2188
2188
  isSdkInternal: !1,
2189
2189
  version: 2,
2190
2190
  dryRun: !1
2191
- }), o = Z.filter(Jn), s, c;
2191
+ }), o = Z.filter(Yn), s, c;
2192
2192
  try {
2193
- s = await Yn(o), c = await Zn(nr);
2193
+ s = await Xn(o), c = await Qn(nr);
2194
2194
  } catch (e) {
2195
2195
  throw Error(`init requires network access to resolve SDK catalog versions from npm, but the registry lookup failed: ${e instanceof Error ? e.message : String(e)}`);
2196
2196
  }
2197
- return dn(qr, r, a, {
2197
+ return fn(qr, r, a, {
2198
2198
  templates: i,
2199
2199
  initMode: !0,
2200
2200
  registryLookup: s,
@@ -2361,7 +2361,7 @@ function Ei(e, t) {
2361
2361
  let n = e === "dev", r = process.env[n ? v.PL_DEV_DOCKER_PUSH_URL : v.PL_RELEASE_DOCKER_PUSH_URL], i = process.env[n ? v.PL_DEV_DOCKER_PULL_URL : v.PL_RELEASE_DOCKER_PULL_URL], a = t.dockerPushTo ?? r ?? (n ? me.DEV_DOCKER_PUSH_TARGET : void 0), o = a ? Ti(a) : {
2362
2362
  registry: void 0,
2363
2363
  autoLogin: !1
2364
- }, s = t.dockerRegistry ?? i ?? a;
2364
+ }, s = t.dockerRegistry ?? i ?? (n ? a : me.DOCKER_REGISTRY);
2365
2365
  return {
2366
2366
  pull: s ? wi(s) : void 0,
2367
2367
  push: o.registry,