import "./channel-target-CaIAqvnr.js";
import "./string-enum-RXTwlvCu.js";
import { Type } from "typebox";
//#region src/agents/schema/typebox.ts
/**
* Shared TypeBox schema helpers for agent tools.
*
* Tool definitions use these helpers for channel targets and common optional
* numeric fields so provider-facing schemas stay consistent.
*/
/** Builds a schema for one outbound channel target. */
function channelTargetSchema(options) {
	return Type.String({ description: options?.description ?? "Recipient/channel: E.164 for WhatsApp/Signal, Telegram chat id/@username, Discord/Slack/Mattermost <channelId|user:ID|channel:ID>, or iMessage handle/chat_id" });
}
/** Builds a schema for multiple outbound channel targets. */
function channelTargetsSchema(options) {
	return Type.Array(channelTargetSchema({ description: options?.description ?? "Recipient/channel targets (same format as --target); accepts ids or names when the directory is available." }));
}
/** Builds an optional finite number schema with caller-provided metadata. */
function optionalFiniteNumberSchema(options = {}) {
	return Type.Optional(Type.Number(options));
}
/** Builds an optional positive integer schema. */
function optionalPositiveIntegerSchema(options = {}) {
	return Type.Optional(Type.Integer({
		minimum: 1,
		...options
	}));
}
/** Builds an optional non-negative integer schema. */
function optionalNonNegativeIntegerSchema(options = {}) {
	return Type.Optional(Type.Integer({
		minimum: 0,
		...options
	}));
}
//#endregion
export { optionalPositiveIntegerSchema as a, optionalNonNegativeIntegerSchema as i, channelTargetsSchema as n, optionalFiniteNumberSchema as r, channelTargetSchema as t };
