/** * method-catalog-occasions.ts * * Contract descriptors for the proactive occasions verbs (`occasions.*`), the * owner's important dates and plans, and the loop that raises them before they * matter. See `docs/occasions.md` for the decision record. * * Descriptors live here (static) so the generated contract artifacts, the * OpenAPI document and the typed-IO maps see them whether or not a handler has * been attached yet; `routes/occasions.ts` attaches the handlers when the * runtime composition root builds the service. Same descriptor/handler split as * `method-catalog-owner-profile.ts`. * * ## This surface is deliberately complete * * Every operation a surface needs is here: read the dates, capture one with its * confirmation, choose its kind, answer yes/no/later, run the gift interview, * remove one with a confirmation, read and set plans, pull what is outstanding, * and read what the machine-owned store is holding. A consumer that had to * compute anything beyond calling these and rendering the answers would be a * second implementation of a rule that lives in the daemon, most dangerously * the rule that a nudge never carries the date. * * ## Two verbs answer with dates and one never does * * `occasions.list` returns the date and the day count. That is the owner asking * their own system what it holds over an authenticated verb, the explicit ask * that unlocks a closed-tier read. `occasions.pending` returns the nudge as it * would be delivered, and its `subjects` carry a proximity WORD rather than any * number, because that payload is what reaches a message channel. */ import type { GatewayMethodDescriptor } from './method-catalog-shared.js'; /** A parsed date: `recurring` carries no year, `dated` does. */ export declare const OCCASION_DATE_SCHEMA: Record; export declare const OCCASION_SCHEMA: Record; export declare const OCCASION_VIEW_SCHEMA: Record; /** A line the reader could not type, reported rather than rewritten. */ export declare const UNPARSED_LINE_SCHEMA: Record; export declare const OCCASION_CONFLICT_SCHEMA: Record; export declare const PLAN_SCHEMA: Record; /** One occasion inside a nudge. Carries the person; never carries the date. */ export declare const NUDGE_SUBJECT_SCHEMA: Record; export declare const OCCASION_NUDGE_SCHEMA: Record; export declare const INTERVIEW_STEP_SCHEMA: Record; export declare const INTERVIEW_PROGRESS_SCHEMA: Record; export declare const GIFT_RECORD_SCHEMA: Record; export declare const OCCASION_PROPOSAL_SCHEMA: Record; export declare const OCCASION_WRITE_OUTCOME_SCHEMA: Record; export declare const OCCASION_SWEEP_REPORT_SCHEMA: Record; export declare const OCCASIONS_LIST_INPUT_SCHEMA: { readonly type: "object"; readonly properties: {}; readonly additionalProperties: false; }; export declare const OCCASIONS_LIST_OUTPUT_SCHEMA: Record; export declare const OCCASIONS_PROPOSE_INPUT_SCHEMA: Record; /** * `kind`, `surface`, `said` and `authority` are all REQUIRED on the confirm. * * `kind` because it is the owner's choice and is never inferred; the other three * because this writes a line into the owner's profile and the owner-profile * write gate takes all three. Marking them optional in the schema while the handler answers 400 * without them is how a published contract breaks a client by construction. */ export declare const OCCASIONS_CONFIRM_INPUT_SCHEMA: Record; export declare const OCCASIONS_REMOVE_INPUT_SCHEMA: Record; export declare const OCCASIONS_ANSWER_INPUT_SCHEMA: Record; export declare const OCCASIONS_ANSWER_OUTPUT_SCHEMA: Record; export declare const OCCASIONS_INTERVIEW_GET_INPUT_SCHEMA: Record; export declare const OCCASIONS_INTERVIEW_ANSWER_INPUT_SCHEMA: Record; export declare const OCCASIONS_INTERVIEW_RECORD_INPUT_SCHEMA: Record; export declare const OCCASIONS_INTERVIEW_OUTPUT_SCHEMA: Record; export declare const OCCASIONS_PENDING_INPUT_SCHEMA: { readonly type: "object"; readonly properties: {}; readonly additionalProperties: false; }; export declare const OCCASIONS_PENDING_OUTPUT_SCHEMA: Record; /** * One destination a nudge was pushed to, and what came of it. * * Reported per destination because `occasions.nudgeChannel` is a list, Telegram * AND the agent is the owner's ruling, and one boolean for the batch would not * say WHICH channel went quiet. A channel the owner believes is reaching them * and is not is the failure this whole feature exists to avoid. */ export declare const NUDGE_DELIVERY_SCHEMA: Record; export declare const OCCASIONS_SWEEP_INPUT_SCHEMA: { readonly type: "object"; readonly properties: {}; readonly additionalProperties: false; }; export declare const OCCASIONS_SWEEP_OUTPUT_SCHEMA: Record; export declare const OCCASIONS_PLANS_LIST_INPUT_SCHEMA: { readonly type: "object"; readonly properties: {}; readonly additionalProperties: false; }; export declare const OCCASIONS_PLANS_LIST_OUTPUT_SCHEMA: Record; export declare const OCCASIONS_PLANS_PROPOSE_INPUT_SCHEMA: Record; export declare const OCCASIONS_PLANS_CONFIRM_INPUT_SCHEMA: Record; export declare const OCCASIONS_GIFTS_INPUT_SCHEMA: Record; export declare const OCCASIONS_GIFTS_OUTPUT_SCHEMA: Record; export declare const OCCASIONS_CONFLICT_RESOLVE_INPUT_SCHEMA: Record; export declare const OCCASIONS_CONFLICT_RESOLVE_OUTPUT_SCHEMA: Record; export declare const OCCASIONS_STATE_INPUT_SCHEMA: { readonly type: "object"; readonly properties: {}; readonly additionalProperties: false; }; export declare const OCCASIONS_STATE_OUTPUT_SCHEMA: Record; export declare const OCCASIONS_ACKNOWLEDGE_INPUT_SCHEMA: Record; export declare const OCCASIONS_ACKNOWLEDGE_OUTPUT_SCHEMA: Record; export declare const builtinGatewayOccasionsMethodDescriptors: readonly GatewayMethodDescriptor[]; //# sourceMappingURL=method-catalog-occasions.d.ts.map