@granular-software/sdk 0.4.63 → 0.4.64

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.
@@ -12172,8 +12172,12 @@ external_exports.union([
12172
12172
  external_exports.array(external_exports.string()),
12173
12173
  external_exports.object({
12174
12174
  values: external_exports.array(external_exports.string()),
12175
+ labels: external_exports.array(external_exports.string().min(1)).optional(),
12175
12176
  message: external_exports.string().optional()
12176
- }).strict()
12177
+ }).strict().refine(
12178
+ (rule) => !rule.labels || rule.labels.length === rule.values.length,
12179
+ { message: "Enum labels must match enum values one-for-one" }
12180
+ )
12177
12181
  ]);
12178
12182
  external_exports.union([
12179
12183
  external_exports.boolean(),
@@ -12201,7 +12205,7 @@ var StateMachineStateSchema = external_exports.union([
12201
12205
  external_exports.string(),
12202
12206
  external_exports.object({
12203
12207
  name: external_exports.string().min(1),
12204
- label: external_exports.string().optional(),
12208
+ label: external_exports.string().min(1).optional(),
12205
12209
  description: external_exports.string().optional(),
12206
12210
  isFinal: external_exports.boolean().optional()
12207
12211
  }).strict()
@@ -13095,7 +13099,7 @@ function resolveHandlerForMode(effectMap, effect, request) {
13095
13099
  if (mode === "artifactOptions") {
13096
13100
  if (!effect.artifactOptionsHandler) {
13097
13101
  throw new Error(
13098
- `Artifact relationship options are not supported for ${request.effectKey}`
13102
+ `Artifact field options are not supported for ${request.effectKey}`
13099
13103
  );
13100
13104
  }
13101
13105
  return {
@@ -13597,18 +13601,24 @@ function normalizeEnumInput(enumSpec) {
13597
13601
  (value) => typeof value === "string" && value.length > 0
13598
13602
  );
13599
13603
  if (values.length === 0) return null;
13600
- return config.message ? { values, message: config.message } : { values };
13604
+ const labels = Array.isArray(config.labels) && config.labels.length === values.length ? config.labels : values;
13605
+ return {
13606
+ values,
13607
+ labels,
13608
+ ...config.message ? { message: config.message } : {}
13609
+ };
13601
13610
  }
13602
13611
  function buildEnumFieldMutations(fieldPath, enumSpec) {
13603
13612
  const normalized = normalizeEnumInput(enumSpec);
13604
13613
  if (!normalized) return [];
13605
13614
  const messageArg = normalized.message ? `, message: ${JSON.stringify(normalized.message)}` : "";
13615
+ const labelsArg = normalized.labels ? `, labels: ${JSON.stringify(normalized.labels)}` : "";
13606
13616
  return [
13607
13617
  {
13608
13618
  label: `set enum on ${fieldPath}`,
13609
13619
  query: `mutation { at(path: ${JSON.stringify(fieldPath)}) { set_enum(values: ${JSON.stringify(
13610
13620
  normalized.values
13611
- )}${messageArg}) { values } } }`
13621
+ )}${labelsArg}${messageArg}) { values labels } } }`
13612
13622
  }
13613
13623
  ];
13614
13624
  }
@@ -13618,7 +13628,7 @@ var enumMetamodelPackage = defineMetamodelPackage({
13618
13628
  fieldRows: [
13619
13629
  {
13620
13630
  key: "enum",
13621
- description: 'Allowed values. Accepts `["a", "b"]` or `{ "values": [...], "message": "..." }`.'
13631
+ description: 'Allowed values. Use `{ "values": [...], "labels": [...] }` for authored display labels; otherwise each unchanged value is its display fallback.'
13622
13632
  }
13623
13633
  ]
13624
13634
  },
@@ -13628,6 +13638,7 @@ var enumMetamodelPackage = defineMetamodelPackage({
13628
13638
  type EnumMetamodel {
13629
13639
  model: Model!
13630
13640
  values: [String!]!
13641
+ labels: [String!]!
13631
13642
  message: String
13632
13643
  }
13633
13644
 
@@ -13636,7 +13647,7 @@ var enumMetamodelPackage = defineMetamodelPackage({
13636
13647
  }
13637
13648
 
13638
13649
  extend type ModelMutation {
13639
- set_enum(values: [String!]!, message: String): EnumMetamodel
13650
+ set_enum(values: [String!]!, labels: [String!], message: String): EnumMetamodel
13640
13651
  }
13641
13652
  `
13642
13653
  ],
@@ -13645,15 +13656,19 @@ var enumMetamodelPackage = defineMetamodelPackage({
13645
13656
  EnumMetamodel: {
13646
13657
  model: (value) => value.model,
13647
13658
  values: (value) => value.values,
13659
+ labels: (value) => value.labels || [],
13648
13660
  message: (value) => value.message || null
13649
13661
  },
13650
13662
  Model: {
13651
13663
  enum_rule: async (ant) => await run(ant.enum_rule())
13652
13664
  },
13653
13665
  ModelMutation: {
13654
- set_enum: async (ant, { values, message }) => {
13655
- const model = await run(ant.set_enum(values, message));
13656
- return { model, values, message };
13666
+ set_enum: async (ant, { values, labels, message }) => {
13667
+ const resolvedLabels = Array.isArray(labels) && labels.length === values.length ? labels : values;
13668
+ const model = await run(
13669
+ ant.set_enum(values, resolvedLabels, message)
13670
+ );
13671
+ return { model, values, labels: resolvedLabels, message };
13657
13672
  }
13658
13673
  }
13659
13674
  };
@@ -13666,7 +13681,7 @@ var enumMetamodelPackage = defineMetamodelPackage({
13666
13681
  },
13667
13682
  summary: {
13668
13683
  selections: {
13669
- propertyFields: [`enum_rule { values message }`]
13684
+ propertyFields: [`enum_rule { values labels message }`]
13670
13685
  },
13671
13686
  readPropertySummary(rawProperty) {
13672
13687
  const values = Array.isArray(rawProperty.enum_rule?.values) ? rawProperty.enum_rule.values.filter(
@@ -13674,8 +13689,15 @@ var enumMetamodelPackage = defineMetamodelPackage({
13674
13689
  ) : [];
13675
13690
  if (values.length === 0) return { enumRule: null };
13676
13691
  const message = typeof rawProperty.enum_rule?.message === "string" ? rawProperty.enum_rule.message : null;
13692
+ const labels = Array.isArray(rawProperty.enum_rule?.labels) ? rawProperty.enum_rule.labels.filter(
13693
+ (label) => typeof label === "string" && label.length > 0
13694
+ ) : [];
13677
13695
  return {
13678
- enumRule: message ? { values, message } : { values }
13696
+ enumRule: {
13697
+ values,
13698
+ ...labels.length === values.length ? { labels } : {},
13699
+ ...message ? { message } : {}
13700
+ }
13679
13701
  };
13680
13702
  }
13681
13703
  },