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