import type { AgentAdapterType, ModelProfileKey, PauseReason, AgentRole, AgentStatus } from "../constants.js"; import type { CompanyMembership, PrincipalPermissionGrant } from "./access.js"; import type { TrustAuthorizationPolicy, TrustPreset } from "../trust-policy.js"; import type { AgentOrgChainHealth } from "../agent-eligibility.js"; export interface AgentPermissions extends Record { canCreateAgents: boolean; trustPreset?: TrustPreset; authorizationPolicy?: TrustAuthorizationPolicy; } export interface AgentModelProfileConfig { enabled?: boolean; label?: string; adapterConfig: Record; } export interface AgentRuntimeConfig extends Record { modelProfiles?: Partial>; } export type AgentInstructionsBundleMode = "managed" | "external"; export interface AgentInstructionsFileSummary { path: string; size: number; language: string; markdown: boolean; isEntryFile: boolean; editable: boolean; deprecated: boolean; virtual: boolean; } export interface AgentInstructionsFileDetail extends AgentInstructionsFileSummary { content: string; } export interface AgentInstructionsBundle { agentId: string; companyId: string; mode: AgentInstructionsBundleMode | null; rootPath: string | null; managedRootPath: string; entryFile: string; resolvedEntryPath: string | null; editable: boolean; warnings: string[]; legacyPromptTemplateActive: boolean; legacyBootstrapPromptTemplateActive: boolean; files: AgentInstructionsFileSummary[]; } export interface AgentAccessState { canAssignTasks: boolean; taskAssignSource: "simple_default" | "explicit_grant" | "agent_creator" | "ceo_role" | "none"; membership: CompanyMembership | null; grants: PrincipalPermissionGrant[]; } export interface AgentChainOfCommandEntry { id: string; name: string; role: AgentRole; title: string | null; } export interface Agent { id: string; companyId: string; name: string; urlKey: string; role: AgentRole; title: string | null; icon: string | null; status: AgentStatus; reportsTo: string | null; capabilities: string | null; adapterType: AgentAdapterType; adapterConfig: Record; runtimeConfig: AgentRuntimeConfig; defaultEnvironmentId?: string | null; budgetMonthlyCents: number; spentMonthlyCents: number; pauseReason: PauseReason | null; pausedAt: Date | null; permissions: AgentPermissions; lastHeartbeatAt: Date | null; metadata: Record | null; orgChainHealth?: AgentOrgChainHealth; createdAt: Date; updatedAt: Date; } export interface AgentDetail extends Agent { chainOfCommand: AgentChainOfCommandEntry[]; access: AgentAccessState; } export type ClearAgentErrorResponse = Agent; export interface AgentKeyCreated { id: string; name: string; token: string; createdAt: Date; } export interface AgentConfigRevision { id: string; companyId: string; agentId: string; createdByAgentId: string | null; createdByUserId: string | null; source: string; rolledBackFromRevisionId: string | null; changedKeys: string[]; beforeConfig: Record; afterConfig: Record; createdAt: Date; } export type AdapterEnvironmentCheckLevel = "info" | "warn" | "error"; export type AdapterEnvironmentTestStatus = "pass" | "warn" | "fail"; export interface AdapterEnvironmentCheck { code: string; level: AdapterEnvironmentCheckLevel; message: string; detail?: string | null; hint?: string | null; } export interface AdapterEnvironmentTestResult { adapterType: string; status: AdapterEnvironmentTestStatus; checks: AdapterEnvironmentCheck[]; testedAt: string; } //# sourceMappingURL=agent.d.ts.map