@happyvertical/smrt-scanner 0.55.24 → 0.56.1

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.
@@ -1076,8 +1076,8 @@ var InheritanceResolver = class {
1076
1076
  *
1077
1077
  * Iterates from the root base class to the leaf class so that base class
1078
1078
  * fields appear first in the returned array. If a field name is declared in
1079
- * both an ancestor and a descendant, the ancestor's definition takes
1080
- * precedence (first-seen wins), preserving the base-class column layout.
1079
+ * both an ancestor and a descendant, the descendant's definition takes
1080
+ * precedence while preserving the base-class column position.
1081
1081
  *
1082
1082
  * @param chain - Ordered inheritance chain (base → leaf) as returned by
1083
1083
  * {@link resolveInheritanceChain}.
@@ -1086,14 +1086,16 @@ var InheritanceResolver = class {
1086
1086
  */
1087
1087
  mergeFieldsForSTI(chain) {
1088
1088
  const allFields = [];
1089
- const seenNames = /* @__PURE__ */ new Set();
1089
+ const positions = /* @__PURE__ */ new Map();
1090
1090
  for (const className of chain) {
1091
1091
  const classDef = this.findClassDefinition(className);
1092
1092
  if (!classDef) continue;
1093
1093
  for (const field of classDef.fields) {
1094
- if (seenNames.has(field.name)) continue;
1095
- seenNames.add(field.name);
1096
- allFields.push(field);
1094
+ const position = positions.get(field.name);
1095
+ if (position === void 0) {
1096
+ positions.set(field.name, allFields.length);
1097
+ allFields.push(field);
1098
+ } else allFields[position] = field;
1097
1099
  }
1098
1100
  }
1099
1101
  return allFields;
@@ -1177,6 +1179,7 @@ var RECIPE_WIDGET_KEYS = [
1177
1179
  "icon",
1178
1180
  "version",
1179
1181
  "migrate",
1182
+ "optionsEditor",
1180
1183
  "options",
1181
1184
  "data",
1182
1185
  "allowedIn",
@@ -1394,6 +1397,11 @@ function readWidgetSurface(entry, at, fail, readRef) {
1394
1397
  else if (version < 2) bad(".migrate needs a `version` above 1");
1395
1398
  else out.migrate = ref;
1396
1399
  }
1400
+ if (entry.optionsEditor !== void 0) {
1401
+ const ref = readRef(entry.optionsEditor, at, "optionsEditor");
1402
+ if (ref === void 0) ok = false;
1403
+ else out.optionsEditor = ref;
1404
+ }
1397
1405
  if (entry.options !== void 0) {
1398
1406
  const options = readOptions(entry.options, at, fail);
1399
1407
  if (options) out.options = options;
@@ -4014,6 +4022,7 @@ var ManifestAdapter = class ManifestAdapter {
4014
4022
  "constraint",
4015
4023
  "onDelete",
4016
4024
  "onUpdate",
4025
+ "validateSubtype",
4017
4026
  "role"
4018
4027
  ];
4019
4028
  if (parsedOptions) {
@@ -4065,6 +4074,7 @@ var ManifestAdapter = class ManifestAdapter {
4065
4074
  "idType",
4066
4075
  "onDelete",
4067
4076
  "onUpdate",
4077
+ "validateSubtype",
4068
4078
  "role"
4069
4079
  ];
4070
4080
  if (parsedOptions) {
@@ -4903,4 +4913,4 @@ var OxcScanner = class {
4903
4913
  //#endregion
4904
4914
  export { isPrunedAgentSurfacePath as C, sourceMayDeclareAgentSurface as E, isAgentSurfaceSourcePath as S, scanSvelteAgentSurface as T, normalizeGlobSeparators as _, extractSmrtImports as a, emptyAgentSurface as b, parseRecipeFile as c, extractRecipes as d, resolveRecipes as f, discoverSourceFiles as g, resolveEnumValues as h, defaultCollectionName as i, parseSource as l, InheritanceResolver as m, parseUiSelectorsFile as n, parseAgentSurfaceFile as o, sourceMayDeclareRecipe as p, ManifestAdapter as r, parseFile as s, OxcScanner as t, deriveHelpFieldRefs as u, relativeGlobToCwd as v, mergeAgentSurfaces as w, extractAgentSurface as x, checkAgentSurfaceToolNames as y };
4905
4915
 
4906
- //# sourceMappingURL=scanner-B1dCiXJO.js.map
4916
+ //# sourceMappingURL=scanner-B3EACkkL.js.map