import { Type } from "typebox"; /** * Agent, model, skill, and tool catalog schemas. * * These contracts back dashboard selectors, agent management, model catalogs, * skill upload/install flows, skill workshop proposals, and effective tool * discovery. Keep public request/result schemas documented because they are * shared by gateway RPC, CLI, and UI clients. */ /** Model option shown in selectors and model catalog results. */ export declare const ModelChoiceSchema: Type.TObject<{ id: Type.TString; name: Type.TString; provider: Type.TString; alias: Type.TOptional; available: Type.TOptional; contextWindow: Type.TOptional; reasoning: Type.TOptional; }>; /** Condensed agent record returned by list APIs. */ export declare const AgentSummarySchema: Type.TObject<{ id: Type.TString; name: Type.TOptional; identity: Type.TOptional; theme: Type.TOptional; emoji: Type.TOptional; avatar: Type.TOptional; avatarUrl: Type.TOptional; }>>; workspace: Type.TOptional; model: Type.TOptional; fallbacks: Type.TOptional>; }>>; agentRuntime: Type.TOptional, Type.TLiteral<"none">]>>; source: Type.TUnion<[Type.TLiteral<"env">, Type.TLiteral<"agent">, Type.TLiteral<"defaults">, Type.TLiteral<"model">, Type.TLiteral<"provider">, Type.TLiteral<"implicit">]>; }>>; thinkingLevels: Type.TOptional>>; thinkingOptions: Type.TOptional>; thinkingDefault: Type.TOptional; }>; /** Empty request payload for listing configured agents. */ export declare const AgentsListParamsSchema: Type.TObject<{}>; /** Agent list result including the default agent and session scoping mode. */ export declare const AgentsListResultSchema: Type.TObject<{ defaultId: Type.TString; mainKey: Type.TString; scope: Type.TUnion<[Type.TLiteral<"per-sender">, Type.TLiteral<"global">]>; agents: Type.TArray; identity: Type.TOptional; theme: Type.TOptional; emoji: Type.TOptional; avatar: Type.TOptional; avatarUrl: Type.TOptional; }>>; workspace: Type.TOptional; model: Type.TOptional; fallbacks: Type.TOptional>; }>>; agentRuntime: Type.TOptional, Type.TLiteral<"none">]>>; source: Type.TUnion<[Type.TLiteral<"env">, Type.TLiteral<"agent">, Type.TLiteral<"defaults">, Type.TLiteral<"model">, Type.TLiteral<"provider">, Type.TLiteral<"implicit">]>; }>>; thinkingLevels: Type.TOptional>>; thinkingOptions: Type.TOptional>; thinkingDefault: Type.TOptional; }>>; }>; /** Creates a configured agent with workspace, identity, and optional model. */ export declare const AgentsCreateParamsSchema: Type.TObject<{ name: Type.TString; workspace: Type.TString; model: Type.TOptional; emoji: Type.TOptional; avatar: Type.TOptional; }>; /** Result returned after creating an agent. */ export declare const AgentsCreateResultSchema: Type.TObject<{ ok: Type.TLiteral; agentId: Type.TString; name: Type.TString; workspace: Type.TString; model: Type.TOptional; }>; /** Updates mutable agent identity, workspace, and model fields. */ export declare const AgentsUpdateParamsSchema: Type.TObject<{ agentId: Type.TString; name: Type.TOptional; workspace: Type.TOptional; model: Type.TOptional; emoji: Type.TOptional; avatar: Type.TOptional; }>; /** Result returned after updating an agent. */ export declare const AgentsUpdateResultSchema: Type.TObject<{ ok: Type.TLiteral; agentId: Type.TString; }>; /** Deletes an agent and optionally its workspace/config files. */ export declare const AgentsDeleteParamsSchema: Type.TObject<{ agentId: Type.TString; deleteFiles: Type.TOptional; }>; /** Result returned after deleting an agent and unbinding sessions. */ export declare const AgentsDeleteResultSchema: Type.TObject<{ ok: Type.TLiteral; agentId: Type.TString; removedBindings: Type.TInteger; }>; /** File metadata and optional content for agent-local editable files. */ export declare const AgentsFileEntrySchema: Type.TObject<{ name: Type.TString; path: Type.TString; missing: Type.TBoolean; size: Type.TOptional; updatedAtMs: Type.TOptional; content: Type.TOptional; }>; /** Lists editable files for one agent. */ export declare const AgentsFilesListParamsSchema: Type.TObject<{ agentId: Type.TString; }>; /** Editable file list for an agent workspace. */ export declare const AgentsFilesListResultSchema: Type.TObject<{ agentId: Type.TString; workspace: Type.TString; files: Type.TArray; updatedAtMs: Type.TOptional; content: Type.TOptional; }>>; }>; /** Reads one editable agent file by name. */ export declare const AgentsFilesGetParamsSchema: Type.TObject<{ agentId: Type.TString; name: Type.TString; }>; /** Result for reading one editable agent file. */ export declare const AgentsFilesGetResultSchema: Type.TObject<{ agentId: Type.TString; workspace: Type.TString; file: Type.TObject<{ name: Type.TString; path: Type.TString; missing: Type.TBoolean; size: Type.TOptional; updatedAtMs: Type.TOptional; content: Type.TOptional; }>; }>; /** Writes one editable agent file. */ export declare const AgentsFilesSetParamsSchema: Type.TObject<{ agentId: Type.TString; name: Type.TString; content: Type.TString; }>; /** Result returned after writing an editable agent file. */ export declare const AgentsFilesSetResultSchema: Type.TObject<{ ok: Type.TLiteral; agentId: Type.TString; workspace: Type.TString; file: Type.TObject<{ name: Type.TString; path: Type.TString; missing: Type.TBoolean; size: Type.TOptional; updatedAtMs: Type.TOptional; content: Type.TOptional; }>; }>; /** Model catalog request with optional visibility scope. */ export declare const ModelsListParamsSchema: Type.TObject<{ view: Type.TOptional, Type.TLiteral<"configured">, Type.TLiteral<"all">]>>; }>; /** Model catalog result. */ export declare const ModelsListResultSchema: Type.TObject<{ models: Type.TArray; available: Type.TOptional; contextWindow: Type.TOptional; reasoning: Type.TOptional; }>>; }>; /** Reads installed skill status, optionally for a selected agent. */ export declare const SkillsStatusParamsSchema: Type.TObject<{ agentId: Type.TOptional; }>; /** Empty request payload for listing available skill bins. */ export declare const SkillsBinsParamsSchema: Type.TObject<{}>; /** Skill bin names available to the gateway. */ export declare const SkillsBinsResultSchema: Type.TObject<{ bins: Type.TArray; }>; /** Starts a chunked skill archive upload. */ export declare const SkillsUploadBeginParamsSchema: Type.TObject<{ kind: Type.TLiteral<"skill-archive">; slug: Type.TString; sizeBytes: Type.TInteger; sha256: Type.TOptional; force: Type.TOptional; idempotencyKey: Type.TOptional; }>; /** Uploads one base64-encoded chunk for a skill archive. */ export declare const SkillsUploadChunkParamsSchema: Type.TObject<{ uploadId: Type.TString; offset: Type.TInteger; dataBase64: Type.TString; }>; /** Commits a completed skill archive upload. */ export declare const SkillsUploadCommitParamsSchema: Type.TObject<{ uploadId: Type.TString; sha256: Type.TOptional; }>; /** Installs a skill from legacy install id, ClawHub, or uploaded archive. */ export declare const SkillsInstallParamsSchema: Type.TUnion<[Type.TObject<{ name: Type.TString; installId: Type.TString; dangerouslyForceUnsafeInstall: Type.TOptional; timeoutMs: Type.TOptional; }>, Type.TObject<{ source: Type.TLiteral<"clawhub">; slug: Type.TString; version: Type.TOptional; force: Type.TOptional; timeoutMs: Type.TOptional; }>, Type.TObject<{ source: Type.TLiteral<"upload">; uploadId: Type.TString; slug: Type.TString; force: Type.TOptional; sha256: Type.TOptional; timeoutMs: Type.TOptional; }>]>; /** Updates installed skill settings or refreshes ClawHub-installed skills. */ export declare const SkillsUpdateParamsSchema: Type.TUnion<[Type.TObject<{ skillKey: Type.TString; enabled: Type.TOptional; apiKey: Type.TOptional; env: Type.TOptional>; }>, Type.TObject<{ source: Type.TLiteral<"clawhub">; slug: Type.TOptional; all: Type.TOptional; }>]>; /** Searches the skill registry. */ export declare const SkillsSearchParamsSchema: Type.TObject<{ query: Type.TOptional; limit: Type.TOptional; }>; /** Ranked skill registry search results. */ export declare const SkillsSearchResultSchema: Type.TObject<{ results: Type.TArray; version: Type.TOptional; updatedAt: Type.TOptional; }>>; }>; /** Reads registry detail for one skill slug. */ export declare const SkillsDetailParamsSchema: Type.TObject<{ slug: Type.TString; }>; /** Reads current security verdicts for configured skills. */ export declare const SkillsSecurityVerdictsParamsSchema: Type.TObject<{ agentId: Type.TOptional; }>; /** Skill registry detail, latest version, metadata, and owner info. */ export declare const SkillsDetailResultSchema: Type.TObject<{ skill: Type.TUnion<[Type.TObject<{ slug: Type.TString; displayName: Type.TString; summary: Type.TOptional; tags: Type.TOptional>; createdAt: Type.TInteger; updatedAt: Type.TInteger; }>, Type.TNull]>; latestVersion: Type.TOptional; }>, Type.TNull]>>; metadata: Type.TOptional, Type.TNull]>>; systems: Type.TOptional, Type.TNull]>>; }>, Type.TNull]>>; owner: Type.TOptional>; displayName: Type.TOptional>; image: Type.TOptional>; }>, Type.TNull]>>; }>; /** Security verdict report for installed/requested skills. */ export declare const SkillsSecurityVerdictsResultSchema: Type.TObject<{ schema: Type.TLiteral<"openclaw.skills.security-verdicts.v1">; items: Type.TArray; requestedSlug: Type.TString; requestedVersion: Type.TString; slug: Type.TOptional>; version: Type.TOptional>; displayName: Type.TOptional>; publisherHandle: Type.TOptional>; publisherDisplayName: Type.TOptional>; createdAt: Type.TOptional>; checkedAt: Type.TOptional>; skillUrl: Type.TOptional>; securityAuditUrl: Type.TOptional>; securityStatus: Type.TOptional>; securityPassed: Type.TOptional>; error: Type.TOptional; message: Type.TOptional; }>>; }>>; }>; /** Reads the rendered skill card for one installed skill. */ export declare const SkillsSkillCardParamsSchema: Type.TObject<{ agentId: Type.TOptional; skillKey: Type.TString; }>; /** Rendered skill card content and file metadata. */ export declare const SkillsSkillCardResultSchema: Type.TObject<{ schema: Type.TLiteral<"openclaw.skills.skill-card.v1">; skillKey: Type.TString; path: Type.TString; sizeBytes: Type.TInteger; content: Type.TString; }>; /** Lists skill-workshop proposals for the selected agent scope. */ export declare const SkillsProposalsListParamsSchema: Type.TObject<{ agentId: Type.TOptional; }>; /** Proposal manifest response for dashboard/workshop list views. */ export declare const SkillsProposalsListResultSchema: Type.TObject<{ schema: Type.TLiteral<"openclaw.skill-workshop.proposals-manifest.v1">; updatedAt: Type.TString; proposals: Type.TArray, Type.TLiteral<"update">]>; status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"applied">, Type.TLiteral<"rejected">, Type.TLiteral<"quarantined">, Type.TLiteral<"stale">]>; title: Type.TString; description: Type.TString; skillName: Type.TString; skillKey: Type.TString; createdAt: Type.TString; updatedAt: Type.TString; scanState: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"clean">, Type.TLiteral<"failed">, Type.TLiteral<"quarantined">]>; }>>; }>; /** Reads a proposal record plus editable draft/support content. */ export declare const SkillsProposalInspectParamsSchema: Type.TObject<{ agentId: Type.TOptional; proposalId: Type.TString; }>; /** Full proposal inspection result used before apply/revise decisions. */ export declare const SkillsProposalInspectResultSchema: Type.TObject<{ record: Type.TObject<{ schema: Type.TLiteral<"openclaw.skill-workshop.proposal.v1">; id: Type.TString; kind: Type.TUnion<[Type.TLiteral<"create">, Type.TLiteral<"update">]>; status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"applied">, Type.TLiteral<"rejected">, Type.TLiteral<"quarantined">, Type.TLiteral<"stale">]>; title: Type.TString; description: Type.TString; createdAt: Type.TString; updatedAt: Type.TString; createdBy: Type.TUnion<[Type.TLiteral<"skill-workshop">, Type.TLiteral<"cli">, Type.TLiteral<"gateway">]>; origin: Type.TOptional; sessionKey: Type.TOptional; runId: Type.TOptional; messageId: Type.TOptional; }>>; proposedVersion: Type.TString; draftFile: Type.TLiteral<"PROPOSAL.md">; draftHash: Type.TString; supportFiles: Type.TOptional; targetContentHash: Type.TOptional; }>>>; target: Type.TObject<{ skillName: Type.TString; skillKey: Type.TString; skillDir: Type.TString; skillFile: Type.TString; source: Type.TOptional; currentContentHash: Type.TOptional; }>; scan: Type.TObject<{ state: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"clean">, Type.TLiteral<"failed">, Type.TLiteral<"quarantined">]>; scannedAt: Type.TString; critical: Type.TInteger; warn: Type.TInteger; info: Type.TInteger; findings: Type.TArray, Type.TLiteral<"warn">, Type.TLiteral<"critical">]>; file: Type.TString; line: Type.TInteger; message: Type.TString; evidence: Type.TString; }>>; }>; goal: Type.TOptional; evidence: Type.TOptional; appliedAt: Type.TOptional; rejectedAt: Type.TOptional; quarantinedAt: Type.TOptional; staleAt: Type.TOptional; statusReason: Type.TOptional; }>; content: Type.TString; supportFiles: Type.TOptional>>; }>; /** Creates a proposal for a new skill. */ export declare const SkillsProposalCreateParamsSchema: Type.TObject<{ agentId: Type.TOptional; name: Type.TString; description: Type.TString; content: Type.TString; supportFiles: Type.TOptional>>; goal: Type.TOptional; evidence: Type.TOptional; }>; /** Creates a proposal to update an existing skill. */ export declare const SkillsProposalUpdateParamsSchema: Type.TObject<{ agentId: Type.TOptional; skillName: Type.TString; description: Type.TOptional; content: Type.TString; supportFiles: Type.TOptional>>; goal: Type.TOptional; evidence: Type.TOptional; }>; /** Replaces draft content/support files for an existing proposal. */ export declare const SkillsProposalReviseParamsSchema: Type.TObject<{ agentId: Type.TOptional; proposalId: Type.TString; content: Type.TString; supportFiles: Type.TOptional>>; description: Type.TOptional; goal: Type.TOptional; evidence: Type.TOptional; }>; /** Starts an agent turn that revises a pending proposal from natural-language instructions. */ export declare const SkillsProposalRequestRevisionParamsSchema: Type.TObject<{ agentId: Type.TOptional; targetAgentId: Type.TOptional; proposalId: Type.TString; instructions: Type.TString; sessionKey: Type.TString; sessionId: Type.TOptional; idempotencyKey: Type.TString; }>; /** Chat-run acknowledgement returned after queueing a Skill Workshop revision request. */ export declare const SkillsProposalRequestRevisionResultSchema: Type.TObject<{ runId: Type.TString; status: Type.TUnion<[Type.TLiteral<"started">, Type.TLiteral<"in_flight">, Type.TLiteral<"ok">]>; }>; /** Shared approve/reject/quarantine action payload for one proposal. */ export declare const SkillsProposalActionParamsSchema: Type.TObject<{ agentId: Type.TOptional; proposalId: Type.TString; reason: Type.TOptional; }>; /** Result returned after applying a skill proposal to disk. */ export declare const SkillsProposalApplyResultSchema: Type.TObject<{ record: Type.TObject<{ schema: Type.TLiteral<"openclaw.skill-workshop.proposal.v1">; id: Type.TString; kind: Type.TUnion<[Type.TLiteral<"create">, Type.TLiteral<"update">]>; status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"applied">, Type.TLiteral<"rejected">, Type.TLiteral<"quarantined">, Type.TLiteral<"stale">]>; title: Type.TString; description: Type.TString; createdAt: Type.TString; updatedAt: Type.TString; createdBy: Type.TUnion<[Type.TLiteral<"skill-workshop">, Type.TLiteral<"cli">, Type.TLiteral<"gateway">]>; origin: Type.TOptional; sessionKey: Type.TOptional; runId: Type.TOptional; messageId: Type.TOptional; }>>; proposedVersion: Type.TString; draftFile: Type.TLiteral<"PROPOSAL.md">; draftHash: Type.TString; supportFiles: Type.TOptional; targetContentHash: Type.TOptional; }>>>; target: Type.TObject<{ skillName: Type.TString; skillKey: Type.TString; skillDir: Type.TString; skillFile: Type.TString; source: Type.TOptional; currentContentHash: Type.TOptional; }>; scan: Type.TObject<{ state: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"clean">, Type.TLiteral<"failed">, Type.TLiteral<"quarantined">]>; scannedAt: Type.TString; critical: Type.TInteger; warn: Type.TInteger; info: Type.TInteger; findings: Type.TArray, Type.TLiteral<"warn">, Type.TLiteral<"critical">]>; file: Type.TString; line: Type.TInteger; message: Type.TString; evidence: Type.TString; }>>; }>; goal: Type.TOptional; evidence: Type.TOptional; appliedAt: Type.TOptional; rejectedAt: Type.TOptional; quarantinedAt: Type.TOptional; staleAt: Type.TOptional; statusReason: Type.TOptional; }>; targetSkillFile: Type.TString; }>; /** Proposal record result returned after non-apply proposal actions. */ export declare const SkillsProposalRecordResultSchema: Type.TObject<{ schema: Type.TLiteral<"openclaw.skill-workshop.proposal.v1">; id: Type.TString; kind: Type.TUnion<[Type.TLiteral<"create">, Type.TLiteral<"update">]>; status: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"applied">, Type.TLiteral<"rejected">, Type.TLiteral<"quarantined">, Type.TLiteral<"stale">]>; title: Type.TString; description: Type.TString; createdAt: Type.TString; updatedAt: Type.TString; createdBy: Type.TUnion<[Type.TLiteral<"skill-workshop">, Type.TLiteral<"cli">, Type.TLiteral<"gateway">]>; origin: Type.TOptional; sessionKey: Type.TOptional; runId: Type.TOptional; messageId: Type.TOptional; }>>; proposedVersion: Type.TString; draftFile: Type.TLiteral<"PROPOSAL.md">; draftHash: Type.TString; supportFiles: Type.TOptional; targetContentHash: Type.TOptional; }>>>; target: Type.TObject<{ skillName: Type.TString; skillKey: Type.TString; skillDir: Type.TString; skillFile: Type.TString; source: Type.TOptional; currentContentHash: Type.TOptional; }>; scan: Type.TObject<{ state: Type.TUnion<[Type.TLiteral<"pending">, Type.TLiteral<"clean">, Type.TLiteral<"failed">, Type.TLiteral<"quarantined">]>; scannedAt: Type.TString; critical: Type.TInteger; warn: Type.TInteger; info: Type.TInteger; findings: Type.TArray, Type.TLiteral<"warn">, Type.TLiteral<"critical">]>; file: Type.TString; line: Type.TInteger; message: Type.TString; evidence: Type.TString; }>>; }>; goal: Type.TOptional; evidence: Type.TOptional; appliedAt: Type.TOptional; rejectedAt: Type.TOptional; quarantinedAt: Type.TOptional; staleAt: Type.TOptional; statusReason: Type.TOptional; }>; /** Reads the configured tool catalog for an agent. */ export declare const ToolsCatalogParamsSchema: Type.TObject<{ agentId: Type.TOptional; includePlugins: Type.TOptional; }>; /** Reads the effective tool set for one session. */ export declare const ToolsEffectiveParamsSchema: Type.TObject<{ agentId: Type.TOptional; sessionKey: Type.TString; }>; /** Invokes one tool through the gateway tool dispatcher. */ export declare const ToolsInvokeParamsSchema: Type.TObject<{ name: Type.TString; args: Type.TOptional>; sessionKey: Type.TOptional; agentId: Type.TOptional; confirm: Type.TOptional; idempotencyKey: Type.TOptional; }>; /** Tool profile shown in catalog views. */ export declare const ToolCatalogProfileSchema: Type.TObject<{ id: Type.TUnion<[Type.TLiteral<"minimal">, Type.TLiteral<"coding">, Type.TLiteral<"messaging">, Type.TLiteral<"full">]>; label: Type.TString; }>; /** Tool catalog entry before session-specific filtering is applied. */ export declare const ToolCatalogEntrySchema: Type.TObject<{ id: Type.TString; label: Type.TString; description: Type.TString; source: Type.TUnion<[Type.TLiteral<"core">, Type.TLiteral<"plugin">]>; pluginId: Type.TOptional; optional: Type.TOptional; risk: Type.TOptional, Type.TLiteral<"medium">, Type.TLiteral<"high">]>>; tags: Type.TOptional>; defaultProfiles: Type.TArray, Type.TLiteral<"coding">, Type.TLiteral<"messaging">, Type.TLiteral<"full">]>>; }>; /** Group of related catalog tools from core or a plugin. */ export declare const ToolCatalogGroupSchema: Type.TObject<{ id: Type.TString; label: Type.TString; source: Type.TUnion<[Type.TLiteral<"core">, Type.TLiteral<"plugin">]>; pluginId: Type.TOptional; tools: Type.TArray, Type.TLiteral<"plugin">]>; pluginId: Type.TOptional; optional: Type.TOptional; risk: Type.TOptional, Type.TLiteral<"medium">, Type.TLiteral<"high">]>>; tags: Type.TOptional>; defaultProfiles: Type.TArray, Type.TLiteral<"coding">, Type.TLiteral<"messaging">, Type.TLiteral<"full">]>>; }>>; }>; /** Tool catalog result for agent configuration UI. */ export declare const ToolsCatalogResultSchema: Type.TObject<{ agentId: Type.TString; profiles: Type.TArray, Type.TLiteral<"coding">, Type.TLiteral<"messaging">, Type.TLiteral<"full">]>; label: Type.TString; }>>; groups: Type.TArray, Type.TLiteral<"plugin">]>; pluginId: Type.TOptional; tools: Type.TArray, Type.TLiteral<"plugin">]>; pluginId: Type.TOptional; optional: Type.TOptional; risk: Type.TOptional, Type.TLiteral<"medium">, Type.TLiteral<"high">]>>; tags: Type.TOptional>; defaultProfiles: Type.TArray, Type.TLiteral<"coding">, Type.TLiteral<"messaging">, Type.TLiteral<"full">]>>; }>>; }>>; }>; /** Effective tool entry after session/profile/channel/plugin filtering. */ export declare const ToolsEffectiveEntrySchema: Type.TObject<{ id: Type.TString; label: Type.TString; description: Type.TString; rawDescription: Type.TString; source: Type.TUnion<[Type.TLiteral<"core">, Type.TLiteral<"plugin">, Type.TLiteral<"channel">, Type.TLiteral<"mcp">]>; pluginId: Type.TOptional; channelId: Type.TOptional; risk: Type.TOptional, Type.TLiteral<"medium">, Type.TLiteral<"high">]>>; tags: Type.TOptional>; }>; /** Effective tool group shown to runtime/session callers. */ export declare const ToolsEffectiveGroupSchema: Type.TObject<{ id: Type.TUnion<[Type.TLiteral<"core">, Type.TLiteral<"plugin">, Type.TLiteral<"channel">, Type.TLiteral<"mcp">]>; label: Type.TString; source: Type.TUnion<[Type.TLiteral<"core">, Type.TLiteral<"plugin">, Type.TLiteral<"channel">, Type.TLiteral<"mcp">]>; tools: Type.TArray, Type.TLiteral<"plugin">, Type.TLiteral<"channel">, Type.TLiteral<"mcp">]>; pluginId: Type.TOptional; channelId: Type.TOptional; risk: Type.TOptional, Type.TLiteral<"medium">, Type.TLiteral<"high">]>>; tags: Type.TOptional>; }>>; }>; /** Notice explaining runtime filtering such as quarantined tool schemas. */ export declare const ToolsEffectiveNoticeSchema: Type.TObject<{ id: Type.TString; severity: Type.TUnion<[Type.TLiteral<"info">, Type.TLiteral<"warning">]>; message: Type.TString; }>; /** Effective tool set for a session, including profile and filtering notices. */ export declare const ToolsEffectiveResultSchema: Type.TObject<{ agentId: Type.TString; profile: Type.TString; groups: Type.TArray, Type.TLiteral<"plugin">, Type.TLiteral<"channel">, Type.TLiteral<"mcp">]>; label: Type.TString; source: Type.TUnion<[Type.TLiteral<"core">, Type.TLiteral<"plugin">, Type.TLiteral<"channel">, Type.TLiteral<"mcp">]>; tools: Type.TArray, Type.TLiteral<"plugin">, Type.TLiteral<"channel">, Type.TLiteral<"mcp">]>; pluginId: Type.TOptional; channelId: Type.TOptional; risk: Type.TOptional, Type.TLiteral<"medium">, Type.TLiteral<"high">]>>; tags: Type.TOptional>; }>>; }>>; notices: Type.TOptional, Type.TLiteral<"warning">]>; message: Type.TString; }>>>; }>; /** Normalized error shape for tool invocation failures. */ export declare const ToolsInvokeErrorSchema: Type.TObject<{ code: Type.TString; message: Type.TString; details: Type.TOptional; }>; /** Tool invocation result, including approval handoff when required. */ export declare const ToolsInvokeResultSchema: Type.TObject<{ ok: Type.TBoolean; toolName: Type.TString; output: Type.TOptional; requiresApproval: Type.TOptional; approvalId: Type.TOptional; source: Type.TOptional, Type.TLiteral<"plugin">, Type.TLiteral<"mcp">, Type.TLiteral<"channel">, Type.TString]>>; error: Type.TOptional; }>>; }>;