All files / kernel-agents/src/capabilities validate-capability-args.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 1/1
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18                              9x    
import { methodArgsToStruct } from '@metamask/kernel-utils/json-schema-to-struct';
import { assert } from '@metamask/superstruct';
 
import type { CapabilitySchema } from '../types.ts';
 
/**
 * Assert `values` match the capability's declared argument schemas using Superstruct.
 *
 * @param values - Parsed tool arguments (a plain object).
 * @param capabilitySchema - {@link CapabilitySchema} for this capability.
 */
export function validateCapabilityArgs(
  values: Record<string, unknown>,
  capabilitySchema: CapabilitySchema<string>,
): void {
  assert(values, methodArgsToStruct(capabilitySchema.args));
}