import { NappletMessage, IntentAvailability, IntentResult, IntentRequest } from '@napplet/core'; export { IntentAvailability, IntentBehavior, IntentCandidate, IntentHandlerPreference, IntentOpenOptions, IntentRequest, IntentResult } from '@napplet/core'; /** * Napplet NAP intent types entrypoint. * * @module */ /** The NAP domain name for intent messages. */ declare const DOMAIN: "intent"; /** Base interface for all INTENT envelopes. */ interface IntentMessage extends NappletMessage { /** Message type in `intent.` format. */ type: `intent.${string}`; } /** Dispatch an action to a napplet archetype. */ interface IntentInvokeMessage extends IntentMessage { type: 'intent.invoke'; /** Correlation identifier. */ id: string; /** Archetype dispatch request. */ request: IntentRequest; } /** Result of an intent invocation. */ interface IntentInvokeResultMessage extends IntentMessage { type: 'intent.invoke.result'; /** Correlation identifier matching the request. */ id: string; /** Structured dispatch result required by NAP-INTENT. */ result: IntentResult; /** Top-level processing error. */ error?: string; } /** Query whether the runtime can satisfy an archetype. */ interface IntentAvailableMessage extends IntentMessage { type: 'intent.available'; /** Correlation identifier. */ id: string; /** Archetype to inspect. */ archetype: string; } /** Result of an archetype availability query. */ interface IntentAvailableResultMessage extends IntentMessage { type: 'intent.available.result'; /** Correlation identifier matching the request. */ id: string; /** Installed-catalog availability. */ availability?: IntentAvailability; /** Top-level processing error. */ error?: string; } /** Query all satisfiable archetypes. */ interface IntentHandlersMessage extends IntentMessage { type: 'intent.handlers'; /** Correlation identifier. */ id: string; } /** Result containing all satisfiable archetypes. */ interface IntentHandlersResultMessage extends IntentMessage { type: 'intent.handlers.result'; /** Correlation identifier matching the request. */ id: string; /** Availability records. */ handlers?: IntentAvailability[]; /** Top-level processing error. */ error?: string; } /** Runtime-pushed availability update. */ interface IntentChangedMessage extends IntentMessage { type: 'intent.changed'; /** Updated availability record. */ availability: IntentAvailability; } /** Napplet-to-runtime INTENT envelopes. */ type IntentOutboundMessage = IntentInvokeMessage | IntentAvailableMessage | IntentHandlersMessage; /** Runtime-to-napplet INTENT envelopes. */ type IntentInboundMessage = IntentInvokeResultMessage | IntentAvailableResultMessage | IntentHandlersResultMessage | IntentChangedMessage; /** Every INTENT envelope. */ type IntentNapMessage = IntentOutboundMessage | IntentInboundMessage; export { DOMAIN, type IntentAvailableMessage, type IntentAvailableResultMessage, type IntentChangedMessage, type IntentHandlersMessage, type IntentHandlersResultMessage, type IntentInboundMessage, type IntentInvokeMessage, type IntentInvokeResultMessage, type IntentMessage, type IntentNapMessage, type IntentOutboundMessage };