@agent-native/core 0.132.0 → 0.132.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.
@@ -1,5 +1,11 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.132.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 548844d: Fix agent tool calls failing against discriminated-union action schemas. Gateway-supplied empty placeholders are now stripped from nested objects and union branches (not just top-level fields), `oneOf` validation errors report only the branch the discriminator selects, and the expected-signature hint expands array items and union branches so nested enums are spelled out.
8
+
3
9
  ## 0.132.0
4
10
 
5
11
  ### Minor Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.132.0",
3
+ "version": "0.132.1",
4
4
  "description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -8,6 +8,7 @@ import type {
8
8
  ActionTool,
9
9
  AgentChatAttachment,
10
10
  AgentChatEvent,
11
+ AgentNativeJsonSchema,
11
12
  } from "./agent/types.js";
12
13
  import { normalizeAuditConfig, resolveAuditAttach } from "./audit/config.js";
13
14
  import type { ActionAuditConfig } from "./audit/types.js";
@@ -1445,6 +1446,52 @@ function coerceGatewayStringifiedArgs(
1445
1446
  return out ?? args;
1446
1447
  }
1447
1448
 
1449
+ // The enums and required members that actually explain a rejection are usually
1450
+ // nested inside `items`/`oneOf` (a discriminated union of operations), not on
1451
+ // the top-level property, so rendering only the top level prints `operations*:
1452
+ // array` — true and useless. Bounded depth keeps a deep schema from crowding out
1453
+ // the validation errors it is meant to explain.
1454
+ const MAX_SIGNATURE_DEPTH = 4;
1455
+ const MAX_SIGNATURE_LENGTH = 1200;
1456
+
1457
+ function describeSchemaType(
1458
+ spec: AgentNativeJsonSchema | undefined,
1459
+ depth: number,
1460
+ ): string {
1461
+ if (!spec) return "any";
1462
+ if (spec.const !== undefined) return JSON.stringify(spec.const);
1463
+ if (Array.isArray(spec.enum)) {
1464
+ return spec.enum.map((value) => JSON.stringify(value)).join("|");
1465
+ }
1466
+
1467
+ const branches = spec.oneOf ?? spec.anyOf;
1468
+ if (branches?.length) {
1469
+ if (depth >= MAX_SIGNATURE_DEPTH) return "object";
1470
+ return branches
1471
+ .map((branch) => describeSchemaType(branch, depth))
1472
+ .join(" | ");
1473
+ }
1474
+
1475
+ if (spec.properties && Object.keys(spec.properties).length > 0) {
1476
+ if (depth >= MAX_SIGNATURE_DEPTH) return "object";
1477
+ const required = new Set(spec.required ?? []);
1478
+ const members = Object.entries(spec.properties)
1479
+ .map(
1480
+ ([key, value]) =>
1481
+ `${key}${required.has(key) ? "*" : "?"}: ${describeSchemaType(value, depth + 1)}`,
1482
+ )
1483
+ .join(", ");
1484
+ return `{ ${members} }`;
1485
+ }
1486
+
1487
+ if (spec.items) {
1488
+ if (depth >= MAX_SIGNATURE_DEPTH) return "array";
1489
+ return `array<${describeSchemaType(spec.items, depth + 1)}>`;
1490
+ }
1491
+
1492
+ return Array.isArray(spec.type) ? spec.type.join("|") : (spec.type ?? "any");
1493
+ }
1494
+
1448
1495
  /**
1449
1496
  * Compact signature of an action's parameters, e.g.
1450
1497
  * `{ deckId*: string, operation*: "edit"|"replace", slideId?: string }` where
@@ -1469,19 +1516,13 @@ export function describeToolParameterSignature(
1469
1516
  (key) => !only?.length || only.includes(key),
1470
1517
  );
1471
1518
  const sig = (keys.length ? keys : Object.keys(properties))
1472
- .map((key) => {
1473
- const spec = properties[key];
1474
- const mark = required.has(key) ? "*" : "?";
1475
- const type = Array.isArray(spec.enum)
1476
- ? spec.enum.map((value) => JSON.stringify(value)).join("|")
1477
- : Array.isArray(spec.type)
1478
- ? spec.type.join("|")
1479
- : (spec.type ?? "any");
1480
- return `${key}${mark}: ${type}`;
1481
- })
1519
+ .map(
1520
+ (key) =>
1521
+ `${key}${required.has(key) ? "*" : "?"}: ${describeSchemaType(properties[key], 1)}`,
1522
+ )
1482
1523
  .join(", ");
1483
1524
  if (!sig) return null;
1484
- return `{ ${sig.length > 600 ? `${sig.slice(0, 600)}…` : sig} }`;
1525
+ return `{ ${sig.length > MAX_SIGNATURE_LENGTH ? `${sig.slice(0, MAX_SIGNATURE_LENGTH)}…` : sig} }`;
1485
1526
  }
1486
1527
 
1487
1528
  /**
@@ -1,6 +1,6 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
 
3
- import Ajv, { type ValidateFunction } from "ajv";
3
+ import Ajv, { type ErrorObject, type ValidateFunction } from "ajv";
4
4
  import {
5
5
  defineEventHandler,
6
6
  getHeader,
@@ -3596,6 +3596,9 @@ const rawToolInputAjv = new Ajv({
3596
3596
  coerceTypes: true,
3597
3597
  useDefaults: false,
3598
3598
  removeAdditional: false,
3599
+ // `parentSchema`/`data` on each error are what let us drop the branches of a
3600
+ // `oneOf` the caller never meant to match.
3601
+ verbose: true,
3599
3602
  });
3600
3603
 
3601
3604
  const rawToolInputValidatorCache = new WeakMap<object, ValidateFunction>();
@@ -3636,17 +3639,83 @@ function isStructurallyEmptyToolValue(value: unknown): boolean {
3636
3639
  );
3637
3640
  }
3638
3641
 
3642
+ function compileToolValueValidator(schema: object): ValidateFunction | null {
3643
+ const cached = optionalPlaceholderValidatorCache.get(schema);
3644
+ if (cached) return cached;
3645
+ try {
3646
+ const validator = optionalPlaceholderAjv.compile(schema);
3647
+ optionalPlaceholderValidatorCache.set(schema, validator);
3648
+ return validator;
3649
+ } catch {
3650
+ return null;
3651
+ }
3652
+ }
3653
+
3639
3654
  function schemaAcceptsToolValue(schema: object, value: unknown): boolean {
3640
- let validator = optionalPlaceholderValidatorCache.get(schema);
3641
- if (!validator) {
3642
- try {
3643
- validator = optionalPlaceholderAjv.compile(schema);
3644
- optionalPlaceholderValidatorCache.set(schema, validator);
3645
- } catch {
3646
- return false;
3647
- }
3655
+ const validator = compileToolValueValidator(schema);
3656
+ return validator ? Boolean(validator(value)) : false;
3657
+ }
3658
+
3659
+ /**
3660
+ * True only when the sub-schema compiled AND rejected the value. A sub-schema
3661
+ * that cannot be compiled standalone — a `$ref` into the root `$defs`, say — is
3662
+ * unknown, not invalid; counting it as invalid would let one unreadable
3663
+ * sub-schema delete the caller's intentional empty values everywhere else in
3664
+ * the same object.
3665
+ */
3666
+ function schemaRejectsToolValue(schema: object, value: unknown): boolean {
3667
+ const validator = compileToolValueValidator(schema);
3668
+ return validator ? !validator(value) : false;
3669
+ }
3670
+
3671
+ /** The `const`/single-value-`enum` a discriminated-union branch pins a key to. */
3672
+ function schemaDiscriminatorValue(
3673
+ schema: AgentNativeJsonSchema | undefined,
3674
+ ): unknown {
3675
+ if (!schema) return undefined;
3676
+ if (schema.const !== undefined) return schema.const;
3677
+ if (Array.isArray(schema.enum) && schema.enum.length === 1) {
3678
+ return schema.enum[0];
3648
3679
  }
3649
- return Boolean(validator(value));
3680
+ return undefined;
3681
+ }
3682
+
3683
+ /**
3684
+ * Index of the `oneOf`/`anyOf` branch whose discriminator constants all match
3685
+ * `value`, or -1 when the union is not discriminated or nothing matches.
3686
+ */
3687
+ function discriminatedBranchIndex(
3688
+ branches: readonly AgentNativeJsonSchema[],
3689
+ value: unknown,
3690
+ ): number {
3691
+ if (!value || typeof value !== "object" || Array.isArray(value)) return -1;
3692
+ const record = value as Record<string, unknown>;
3693
+ return branches.findIndex((branch) => {
3694
+ const properties = branch.properties;
3695
+ if (!properties) return false;
3696
+ const discriminators = Object.entries(properties).filter(
3697
+ ([, spec]) => schemaDiscriminatorValue(spec) !== undefined,
3698
+ );
3699
+ if (discriminators.length === 0) return false;
3700
+ return discriminators.every(
3701
+ ([key, spec]) => record[key] === schemaDiscriminatorValue(spec),
3702
+ );
3703
+ });
3704
+ }
3705
+
3706
+ /**
3707
+ * The object schema that actually governs `value` — the union branch its
3708
+ * discriminator selects, or the schema itself. Undefined when a union cannot be
3709
+ * resolved, since guessing a branch would strip the wrong keys.
3710
+ */
3711
+ function resolveObjectSchemaBranch(
3712
+ schema: RawJsonSchema,
3713
+ value: unknown,
3714
+ ): RawJsonSchema | undefined {
3715
+ const branches = schema.oneOf ?? schema.anyOf;
3716
+ if (!branches?.length) return schema;
3717
+ const index = discriminatedBranchIndex(branches, value);
3718
+ return index >= 0 ? branches[index] : undefined;
3650
3719
  }
3651
3720
 
3652
3721
  /**
@@ -3654,35 +3723,82 @@ function schemaAcceptsToolValue(schema: object, value: unknown): boolean {
3654
3723
  * instead of omitting it. One schema-invalid empty value proves that pattern;
3655
3724
  * only then strip the other optional empty/default sentinels from the call.
3656
3725
  * Calls whose empty values are all schema-valid keep their intentional clears.
3726
+ *
3727
+ * The proof is evaluated per object, and the walk descends through array items
3728
+ * and discriminated-union branches: gateways pre-fill the leaf object they are
3729
+ * building (`operations[0].fields`), which a top-level-only sweep never reaches.
3657
3730
  */
3658
- function normalizeOptionalToolPlaceholders(
3731
+ function stripOptionalToolPlaceholders(
3659
3732
  schema: RawJsonSchema | undefined,
3660
- input: unknown,
3661
- ): { input: unknown; changed: boolean } {
3662
- if (!schema?.properties || !input || typeof input !== "object") {
3663
- return { input, changed: false };
3733
+ value: unknown,
3734
+ ): { value: unknown; changed: boolean } {
3735
+ if (!schema) return { value, changed: false };
3736
+
3737
+ if (Array.isArray(value)) {
3738
+ const itemSchema = schema.items;
3739
+ if (!itemSchema) return { value, changed: false };
3740
+ let changed = false;
3741
+ const items = value.map((item) => {
3742
+ const result = stripOptionalToolPlaceholders(itemSchema, item);
3743
+ if (result.changed) changed = true;
3744
+ return result.value;
3745
+ });
3746
+ return changed
3747
+ ? { value: items, changed: true }
3748
+ : { value, changed: false };
3664
3749
  }
3665
- if (Array.isArray(input)) return { input, changed: false };
3750
+
3751
+ if (!value || typeof value !== "object") return { value, changed: false };
3752
+
3753
+ const objectSchema = resolveObjectSchemaBranch(schema, value);
3754
+ const properties = objectSchema?.properties;
3755
+ if (!properties) return { value, changed: false };
3666
3756
 
3667
3757
  const required = new Set(
3668
- Array.isArray(schema.required) ? schema.required : [],
3758
+ Array.isArray(objectSchema.required) ? objectSchema.required : [],
3669
3759
  );
3760
+ const record = value as Record<string, unknown>;
3670
3761
  const placeholders: string[] = [];
3671
3762
  let hasSchemaInvalidPlaceholder = false;
3672
- for (const [key, value] of Object.entries(input as Record<string, unknown>)) {
3673
- if (required.has(key) || !isStructurallyEmptyToolValue(value)) continue;
3674
- const propertySchema = schema.properties[key];
3763
+ let normalized: Record<string, unknown> | null = null;
3764
+
3765
+ for (const [key, entry] of Object.entries(record)) {
3766
+ const propertySchema = properties[key];
3675
3767
  if (!propertySchema || typeof propertySchema !== "object") continue;
3676
- placeholders.push(key);
3677
- if (!schemaAcceptsToolValue(propertySchema, value)) {
3678
- hasSchemaInvalidPlaceholder = true;
3768
+ if (!required.has(key) && isStructurallyEmptyToolValue(entry)) {
3769
+ placeholders.push(key);
3770
+ if (schemaRejectsToolValue(propertySchema, entry)) {
3771
+ hasSchemaInvalidPlaceholder = true;
3772
+ }
3773
+ continue;
3774
+ }
3775
+ const nested = stripOptionalToolPlaceholders(propertySchema, entry);
3776
+ if (nested.changed) {
3777
+ normalized ??= { ...record };
3778
+ normalized[key] = nested.value;
3679
3779
  }
3680
3780
  }
3681
- if (!hasSchemaInvalidPlaceholder) return { input, changed: false };
3682
3781
 
3683
- const normalized = { ...(input as Record<string, unknown>) };
3684
- for (const key of placeholders) delete normalized[key];
3685
- return { input: normalized, changed: true };
3782
+ if (hasSchemaInvalidPlaceholder) {
3783
+ normalized ??= { ...record };
3784
+ for (const key of placeholders) delete normalized[key];
3785
+ }
3786
+
3787
+ return normalized
3788
+ ? { value: normalized, changed: true }
3789
+ : { value, changed: false };
3790
+ }
3791
+
3792
+ function normalizeOptionalToolPlaceholders(
3793
+ schema: RawJsonSchema | undefined,
3794
+ input: unknown,
3795
+ ): { input: unknown; changed: boolean } {
3796
+ if (!schema?.properties || !input || typeof input !== "object") {
3797
+ return { input, changed: false };
3798
+ }
3799
+ if (Array.isArray(input)) return { input, changed: false };
3800
+ const result = stripOptionalToolPlaceholders(schema, input);
3801
+ return { input: result.value, changed: result.changed };
3686
3802
  }
3687
3803
 
3688
3804
  /**
@@ -3754,6 +3870,54 @@ function shouldValidateRawToolParameters(entry: ActionEntry): boolean {
3754
3870
  return !maybeSchema?.["~standard"] && Boolean(entry.tool.parameters);
3755
3871
  }
3756
3872
 
3873
+ /**
3874
+ * With `allErrors`, a failing union reports every branch, so a five-branch
3875
+ * union answers "your `patch-deck-fields` op has a bad enum" with eight
3876
+ * complaints about `slideId`/`orderedIds` from the four branches the caller
3877
+ * never meant. The model reads the loudest, wrong advice and re-sends the same
3878
+ * arguments until the identical-error breaker ends the turn. When the
3879
+ * discriminator names a branch, report only that branch's errors.
3880
+ *
3881
+ * Both union keywords are load-bearing for the same Zod schema: Zod v4's own
3882
+ * `toJSONSchema` emits `oneOf` for a discriminated union, while the manual
3883
+ * fallback converter in `action.ts` emits `anyOf`.
3884
+ *
3885
+ * Scoped by `instancePath` as well as `schemaPath`: every element of an array
3886
+ * shares one `items` schema, so `operations[0]` and `operations[1]` produce
3887
+ * branch errors under the same `schemaPath` and only the instance path says
3888
+ * which element they belong to.
3889
+ */
3890
+ function isWithinInstancePath(candidate: string, root: string): boolean {
3891
+ return candidate === root || candidate.startsWith(`${root}/`);
3892
+ }
3893
+
3894
+ function narrowUnionBranchErrors(
3895
+ errors: ErrorObject[] | null | undefined,
3896
+ ): ErrorObject[] | null | undefined {
3897
+ if (!errors?.length) return errors;
3898
+ let kept = errors;
3899
+ for (const error of errors) {
3900
+ const keyword = error.keyword;
3901
+ if (keyword !== "oneOf" && keyword !== "anyOf") continue;
3902
+ const branches = (error.parentSchema as RawJsonSchema | undefined)?.[
3903
+ keyword
3904
+ ];
3905
+ if (!branches?.length) continue;
3906
+ const index = discriminatedBranchIndex(branches, error.data);
3907
+ if (index < 0) continue;
3908
+ const branchPrefix = `${error.schemaPath}/`;
3909
+ kept = kept.filter((candidate) => {
3910
+ if (candidate === error) return false;
3911
+ if (!isWithinInstancePath(candidate.instancePath, error.instancePath)) {
3912
+ return true;
3913
+ }
3914
+ if (!candidate.schemaPath.startsWith(branchPrefix)) return true;
3915
+ return candidate.schemaPath.startsWith(`${branchPrefix}${index}/`);
3916
+ });
3917
+ }
3918
+ return kept.length ? kept : errors;
3919
+ }
3920
+
3757
3921
  function validateRawToolInput(
3758
3922
  entry: ActionEntry,
3759
3923
  input: unknown,
@@ -3768,7 +3932,7 @@ function validateRawToolInput(
3768
3932
  return `tool schema is invalid: ${sanitizeToolErrorValue(err)}`;
3769
3933
  }
3770
3934
  if (validator(input === undefined ? {} : input)) return null;
3771
- return rawToolInputAjv.errorsText(validator.errors, {
3935
+ return rawToolInputAjv.errorsText(narrowUnionBranchErrors(validator.errors), {
3772
3936
  separator: "; ",
3773
3937
  dataVar: "input",
3774
3938
  });
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
package/dist/action.js CHANGED
@@ -618,6 +618,45 @@ function coerceGatewayStringifiedArgs(args, parameters) {
618
618
  }
619
619
  return out ?? args;
620
620
  }
621
+ // The enums and required members that actually explain a rejection are usually
622
+ // nested inside `items`/`oneOf` (a discriminated union of operations), not on
623
+ // the top-level property, so rendering only the top level prints `operations*:
624
+ // array` — true and useless. Bounded depth keeps a deep schema from crowding out
625
+ // the validation errors it is meant to explain.
626
+ const MAX_SIGNATURE_DEPTH = 4;
627
+ const MAX_SIGNATURE_LENGTH = 1200;
628
+ function describeSchemaType(spec, depth) {
629
+ if (!spec)
630
+ return "any";
631
+ if (spec.const !== undefined)
632
+ return JSON.stringify(spec.const);
633
+ if (Array.isArray(spec.enum)) {
634
+ return spec.enum.map((value) => JSON.stringify(value)).join("|");
635
+ }
636
+ const branches = spec.oneOf ?? spec.anyOf;
637
+ if (branches?.length) {
638
+ if (depth >= MAX_SIGNATURE_DEPTH)
639
+ return "object";
640
+ return branches
641
+ .map((branch) => describeSchemaType(branch, depth))
642
+ .join(" | ");
643
+ }
644
+ if (spec.properties && Object.keys(spec.properties).length > 0) {
645
+ if (depth >= MAX_SIGNATURE_DEPTH)
646
+ return "object";
647
+ const required = new Set(spec.required ?? []);
648
+ const members = Object.entries(spec.properties)
649
+ .map(([key, value]) => `${key}${required.has(key) ? "*" : "?"}: ${describeSchemaType(value, depth + 1)}`)
650
+ .join(", ");
651
+ return `{ ${members} }`;
652
+ }
653
+ if (spec.items) {
654
+ if (depth >= MAX_SIGNATURE_DEPTH)
655
+ return "array";
656
+ return `array<${describeSchemaType(spec.items, depth + 1)}>`;
657
+ }
658
+ return Array.isArray(spec.type) ? spec.type.join("|") : (spec.type ?? "any");
659
+ }
621
660
  /**
622
661
  * Compact signature of an action's parameters, e.g.
623
662
  * `{ deckId*: string, operation*: "edit"|"replace", slideId?: string }` where
@@ -638,20 +677,11 @@ export function describeToolParameterSignature(parameters, only) {
638
677
  const required = new Set(parameters?.required ?? []);
639
678
  const keys = Object.keys(properties).filter((key) => !only?.length || only.includes(key));
640
679
  const sig = (keys.length ? keys : Object.keys(properties))
641
- .map((key) => {
642
- const spec = properties[key];
643
- const mark = required.has(key) ? "*" : "?";
644
- const type = Array.isArray(spec.enum)
645
- ? spec.enum.map((value) => JSON.stringify(value)).join("|")
646
- : Array.isArray(spec.type)
647
- ? spec.type.join("|")
648
- : (spec.type ?? "any");
649
- return `${key}${mark}: ${type}`;
650
- })
680
+ .map((key) => `${key}${required.has(key) ? "*" : "?"}: ${describeSchemaType(properties[key], 1)}`)
651
681
  .join(", ");
652
682
  if (!sig)
653
683
  return null;
654
- return `{ ${sig.length > 600 ? `${sig.slice(0, 600)}…` : sig} }`;
684
+ return `{ ${sig.length > MAX_SIGNATURE_LENGTH ? `${sig.slice(0, MAX_SIGNATURE_LENGTH)}…` : sig} }`;
655
685
  }
656
686
  /**
657
687
  * Wrap an action's run function with schema validation.