import { type PersonaSharedSkillId } from "./persona-shared-skill-catalog.js"; import type { PersonaSharedSkillActivation } from "./persona-shared-skill-activation.js"; export declare const PORTABLE_SKILL_CONTRACT_VERSION: "persona-portable-skill-contract.1"; export declare const PORTABLE_SKILL_CAPSULE_VERSION: "persona-skill-capsule.1"; export declare const PORTABLE_HOSTS: readonly ["codex", "opencode", "claude-code", "antigravity"]; export type PortableHost = (typeof PORTABLE_HOSTS)[number]; export declare const PORTABLE_SKILL_CAPABILITIES: readonly ["compact-reference", "structured-handoff", "one-question", "code-first-discovery", "optional-overlay"]; export type PortableSkillCapability = (typeof PORTABLE_SKILL_CAPABILITIES)[number]; export type PortableSkillReasonCode = "explicit-request" | "ambiguous-product" | "ambiguous-brownfield" | "direct-request"; export type PortableSkillActivationInput = { readonly decision: "activate" | PersonaSharedSkillActivation["decision"]; readonly firstAction: PersonaSharedSkillActivation["firstAction"]; readonly reason: string; readonly skillId: PersonaSharedSkillId; }; export type PortableSkillCapsule = { readonly contractVersion: typeof PORTABLE_SKILL_CONTRACT_VERSION; readonly capsuleVersion: typeof PORTABLE_SKILL_CAPSULE_VERSION; readonly skillId: PersonaSharedSkillId; readonly metadata: { readonly title: string; readonly category: "core" | "optional-extension"; readonly entry: string; }; readonly inputSchema: readonly string[]; readonly outputSchema: readonly string[]; readonly decision: "automatic" | "explicit"; readonly firstAction: PortableSkillActivationInput["firstAction"]; readonly handoff: PersonaSharedSkillId | null; readonly requiredCapabilities: readonly PortableSkillCapability[]; readonly reasonCode: PortableSkillReasonCode; }; export type PortableHostTransport = "context" | "route" | "prompt-adapter" | "guide"; export type PortableSkillHostResult = { readonly status: "ready"; readonly host: PortableHost; readonly transport: PortableHostTransport; readonly contractVersion: typeof PORTABLE_SKILL_CONTRACT_VERSION; readonly capsule: PortableSkillCapsule; } | { readonly status: "unsupported"; readonly host: PortableHost; readonly transport: PortableHostTransport; readonly contractVersion: typeof PORTABLE_SKILL_CONTRACT_VERSION; readonly code: "unsupported-capability"; }; export type PortableSkillNegotiationInput = { readonly host: PortableHost; readonly capsule: PortableSkillCapsule; readonly capabilities: unknown; }; export declare function createPortableSkillCapsule(input: PortableSkillActivationInput): PortableSkillCapsule; export declare function portableHostTransport(host: PortableHost): PortableHostTransport; export declare function defaultPortableHostCapabilities(): readonly PortableSkillCapability[]; export declare function negotiatePortableSkill(input: PortableSkillNegotiationInput): PortableSkillHostResult;