import type { LocalOpenPondProfileCheckStatus, LocalOpenPondProfileHostedMaterializationStatus, LocalOpenPondProfileHostedPublishStatus, LocalOpenPondProfileHostedRunSummary, LocalOpenPondProfileHostedSourceCheckStatus } from "../config.js"; export type OpenPondProfileRef = { source: "local" | "github" | "openpond_git"; repositoryId: string; profileId: string; }; export type OpenPondProfileCatalogEntry = { ref: OpenPondProfileRef; name: string; repoPath: string; sourcePath: string | null; state: OpenPondProfileState; }; export type OpenPondProfileLibrary = { lastUsed: OpenPondProfileRef | null; profiles: OpenPondProfileCatalogEntry[]; }; export type OpenPondProfileAgent = { id: string; name: string; path: string; enabled: boolean; }; export type OpenPondProfileSkill = { name: string; description: string; path: string; scope: "profile"; enabled: boolean; sourcePath: string; charCount: number; sourceHash: string; validationStatus: "valid" | "warning" | "error"; validationMessages: string[]; resourceFiles: string[]; }; export type OpenPondProfileEval = { id: string; name: string; path: string; agentId: string | null; sourcePath: string; }; export type OpenPondProfileGitFileChange = { path: string; originalPath?: string | null; indexStatus: string | null; worktreeStatus: string | null; status: string; category: "added" | "modified" | "deleted" | "renamed" | "untracked" | "changed"; }; export type OpenPondProfileGitState = { isRepo: boolean; branch: string | null; head: string | null; shortHead: string | null; dirty: boolean; upstream: string | null; ahead: number | null; behind: number | null; remoteUrl: string | null; files: OpenPondProfileGitFileChange[]; fileCount?: number; error: string | null; }; export type OpenPondProfileActionCatalogEntry = { id: string; name?: string | null; label?: string | null; description?: string | null; agentId?: string | null; sourcePath?: string | null; sourceActionId?: string | null; visibility?: string | null; inputSchema?: string | Record | null; outputSchema?: string | Record | null; approvalPolicy?: Record | null; artifactPolicy?: Record | null; setupRequirements?: Record[]; mcp?: Record | null; schedulePolicy?: Record | null; trace?: Record | null; implementation?: Record | null; invokesModel?: boolean; }; export type OpenPondProfileSetupRequirement = { ref: string; source: "action_catalog" | "source_upload_metadata"; actionId: string | null; kind: string | null; label: string; status: string; required: boolean; blocking: boolean; }; export type OpenPondProfileSetupGate = { status: "ready" | "setup_required" | "blocked"; requirementCount: number; blockingCount: number; optionalMissingCount: number; readyCount: number; requirements: OpenPondProfileSetupRequirement[]; blockingRequirements: OpenPondProfileSetupRequirement[]; }; export type OpenPondProfileCatalogState = { actionCount: number; generatedAt: string | null; manifestPath: string | null; registryPath: string | null; stale: boolean; error: string | null; }; export type OpenPondProfileSkillCatalogState = { skillCount: number; generatedAt: string | null; stale: boolean; error: string | null; }; export type OpenPondProfileDiffSummary = { changedAgents: string[]; newAgents: string[]; deletedAgents: string[]; changedSkills: string[]; changedActions: string[]; changedExtensions: string[]; setupChanges: string[]; envRequirementChanges: string[]; files: OpenPondProfileGitFileChange[]; fileCount?: number; }; export type OpenPondProfileHostedBinding = { teamId: string | null; projectId: string | null; sourceRef: string | null; sourceCommitSha: string | null; lastPushedAt: string | null; lastPushedLocalHead: string | null; lastPushedHostedHead: string | null; promotionStatus: string | null; hostedRunStatus: string | null; hostedRunAgentId: string | null; hostedRunId: string | null; hostedRunAt: string | null; hostedSourceMaterialization: LocalOpenPondProfileHostedMaterializationStatus | null; hostedSourceCheck: LocalOpenPondProfileHostedSourceCheckStatus | null; hostedPublish: LocalOpenPondProfileHostedPublishStatus | null; hostedRun: LocalOpenPondProfileHostedRunSummary | null; }; export type OpenPondProfileSummary = { state: "none" | "ready" | "dirty" | "pending_commit" | "error"; message: string; agentCount: number; actionCount: number; defaultAction: string | null; checkFresh: boolean; checkStaleReason: string | null; localHead: string | null; hostedHead: string | null; }; export type OpenPondProfileState = { mode: "none" | "local"; repoPath: string | null; activeProfile: string | null; sourcePath: string | null; manifestPath: string | null; agents: OpenPondProfileAgent[]; skills: OpenPondProfileSkill[]; evals: OpenPondProfileEval[]; git: OpenPondProfileGitState | null; catalog: OpenPondProfileCatalogState; skillCatalog: OpenPondProfileSkillCatalogState; actionCatalog: OpenPondProfileActionCatalogEntry[]; sourceSetupRequirements: Record[]; setupGate: OpenPondProfileSetupGate; diff: OpenPondProfileDiffSummary; hosted: OpenPondProfileHostedBinding | null; summary: OpenPondProfileSummary; lastCheck: LocalOpenPondProfileCheckStatus | null; error: string | null; }; export declare function emptyProfileCatalogState(error?: string | null): OpenPondProfileCatalogState; export declare function emptyProfileSkillCatalogState(error?: string | null): OpenPondProfileSkillCatalogState; export declare function emptyProfileSetupGate(): OpenPondProfileSetupGate; export declare function emptyProfileDiffSummary(): OpenPondProfileDiffSummary; export declare function emptyProfileSummary(error?: string | null): OpenPondProfileSummary;