@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.
package/dist/index.mjs CHANGED
@@ -12197,8 +12197,12 @@ external_exports.union([
12197
12197
  external_exports.array(external_exports.string()),
12198
12198
  external_exports.object({
12199
12199
  values: external_exports.array(external_exports.string()),
12200
+ labels: external_exports.array(external_exports.string().min(1)).optional(),
12200
12201
  message: external_exports.string().optional()
12201
- }).strict()
12202
+ }).strict().refine(
12203
+ (rule) => !rule.labels || rule.labels.length === rule.values.length,
12204
+ { message: "Enum labels must match enum values one-for-one" }
12205
+ )
12202
12206
  ]);
12203
12207
  external_exports.union([
12204
12208
  external_exports.boolean(),
@@ -12226,7 +12230,7 @@ var StateMachineStateSchema = external_exports.union([
12226
12230
  external_exports.string(),
12227
12231
  external_exports.object({
12228
12232
  name: external_exports.string().min(1),
12229
- label: external_exports.string().optional(),
12233
+ label: external_exports.string().min(1).optional(),
12230
12234
  description: external_exports.string().optional(),
12231
12235
  isFinal: external_exports.boolean().optional()
12232
12236
  }).strict()
@@ -13120,7 +13124,7 @@ function resolveHandlerForMode(effectMap, effect, request) {
13120
13124
  if (mode === "artifactOptions") {
13121
13125
  if (!effect.artifactOptionsHandler) {
13122
13126
  throw new Error(
13123
- `Artifact relationship options are not supported for ${request.effectKey}`
13127
+ `Artifact field options are not supported for ${request.effectKey}`
13124
13128
  );
13125
13129
  }
13126
13130
  return {
@@ -13622,18 +13626,24 @@ function normalizeEnumInput(enumSpec) {
13622
13626
  (value) => typeof value === "string" && value.length > 0
13623
13627
  );
13624
13628
  if (values.length === 0) return null;
13625
- return config.message ? { values, message: config.message } : { values };
13629
+ const labels = Array.isArray(config.labels) && config.labels.length === values.length ? config.labels : values;
13630
+ return {
13631
+ values,
13632
+ labels,
13633
+ ...config.message ? { message: config.message } : {}
13634
+ };
13626
13635
  }
13627
13636
  function buildEnumFieldMutations(fieldPath, enumSpec) {
13628
13637
  const normalized = normalizeEnumInput(enumSpec);
13629
13638
  if (!normalized) return [];
13630
13639
  const messageArg = normalized.message ? `, message: ${JSON.stringify(normalized.message)}` : "";
13640
+ const labelsArg = normalized.labels ? `, labels: ${JSON.stringify(normalized.labels)}` : "";
13631
13641
  return [
13632
13642
  {
13633
13643
  label: `set enum on ${fieldPath}`,
13634
13644
  query: `mutation { at(path: ${JSON.stringify(fieldPath)}) { set_enum(values: ${JSON.stringify(
13635
13645
  normalized.values
13636
- )}${messageArg}) { values } } }`
13646
+ )}${labelsArg}${messageArg}) { values labels } } }`
13637
13647
  }
13638
13648
  ];
13639
13649
  }
@@ -13643,7 +13653,7 @@ var enumMetamodelPackage = defineMetamodelPackage({
13643
13653
  fieldRows: [
13644
13654
  {
13645
13655
  key: "enum",
13646
- description: 'Allowed values. Accepts `["a", "b"]` or `{ "values": [...], "message": "..." }`.'
13656
+ description: 'Allowed values. Use `{ "values": [...], "labels": [...] }` for authored display labels; otherwise each unchanged value is its display fallback.'
13647
13657
  }
13648
13658
  ]
13649
13659
  },
@@ -13653,6 +13663,7 @@ var enumMetamodelPackage = defineMetamodelPackage({
13653
13663
  type EnumMetamodel {
13654
13664
  model: Model!
13655
13665
  values: [String!]!
13666
+ labels: [String!]!
13656
13667
  message: String
13657
13668
  }
13658
13669
 
@@ -13661,7 +13672,7 @@ var enumMetamodelPackage = defineMetamodelPackage({
13661
13672
  }
13662
13673
 
13663
13674
  extend type ModelMutation {
13664
- set_enum(values: [String!]!, message: String): EnumMetamodel
13675
+ set_enum(values: [String!]!, labels: [String!], message: String): EnumMetamodel
13665
13676
  }
13666
13677
  `
13667
13678
  ],
@@ -13670,15 +13681,19 @@ var enumMetamodelPackage = defineMetamodelPackage({
13670
13681
  EnumMetamodel: {
13671
13682
  model: (value) => value.model,
13672
13683
  values: (value) => value.values,
13684
+ labels: (value) => value.labels || [],
13673
13685
  message: (value) => value.message || null
13674
13686
  },
13675
13687
  Model: {
13676
13688
  enum_rule: async (ant) => await run(ant.enum_rule())
13677
13689
  },
13678
13690
  ModelMutation: {
13679
- set_enum: async (ant, { values, message }) => {
13680
- const model = await run(ant.set_enum(values, message));
13681
- return { model, values, message };
13691
+ set_enum: async (ant, { values, labels, message }) => {
13692
+ const resolvedLabels = Array.isArray(labels) && labels.length === values.length ? labels : values;
13693
+ const model = await run(
13694
+ ant.set_enum(values, resolvedLabels, message)
13695
+ );
13696
+ return { model, values, labels: resolvedLabels, message };
13682
13697
  }
13683
13698
  }
13684
13699
  };
@@ -13691,7 +13706,7 @@ var enumMetamodelPackage = defineMetamodelPackage({
13691
13706
  },
13692
13707
  summary: {
13693
13708
  selections: {
13694
- propertyFields: [`enum_rule { values message }`]
13709
+ propertyFields: [`enum_rule { values labels message }`]
13695
13710
  },
13696
13711
  readPropertySummary(rawProperty) {
13697
13712
  const values = Array.isArray(rawProperty.enum_rule?.values) ? rawProperty.enum_rule.values.filter(
@@ -13699,8 +13714,15 @@ var enumMetamodelPackage = defineMetamodelPackage({
13699
13714
  ) : [];
13700
13715
  if (values.length === 0) return { enumRule: null };
13701
13716
  const message = typeof rawProperty.enum_rule?.message === "string" ? rawProperty.enum_rule.message : null;
13717
+ const labels = Array.isArray(rawProperty.enum_rule?.labels) ? rawProperty.enum_rule.labels.filter(
13718
+ (label) => typeof label === "string" && label.length > 0
13719
+ ) : [];
13702
13720
  return {
13703
- enumRule: message ? { values, message } : { values }
13721
+ enumRule: {
13722
+ values,
13723
+ ...labels.length === values.length ? { labels } : {},
13724
+ ...message ? { message } : {}
13725
+ }
13704
13726
  };
13705
13727
  }
13706
13728
  },