import { z } from 'zod'; import { type ScenePrincipal } from '../contracts.js'; import { SceneCapabilityRegistry } from '../registry.js'; export declare const taskFollowUpTemplate: { schemaVersion: 1; key: string; version: string; title: string; description: string; goalMode: "finite" | "ongoing"; contextProviders: string[]; triggers: ({ id: string; type: "manual"; } | { id: string; type: "event"; eventType: string; } | { id: string; type: "schedule"; })[]; execution: { kind: string; instruction: string; limits: { timeoutSeconds: number; maxIterations: number; maxToolCalls: number; maxOutputTokens: number; }; }; allowedOutcomeKinds: ("artifact" | "receipt" | "decision" | "observation" | "no_change" | "state_change" | "effect_proposal")[]; allowedEffectHandlers: string[]; }; export declare const decisionLogTemplate: { schemaVersion: 1; key: string; version: string; title: string; description: string; goalMode: "finite" | "ongoing"; contextProviders: string[]; triggers: ({ id: string; type: "manual"; } | { id: string; type: "event"; eventType: string; } | { id: string; type: "schedule"; })[]; execution: { kind: string; instruction: string; limits: { timeoutSeconds: number; maxIterations: number; maxToolCalls: number; maxOutputTokens: number; }; }; allowedOutcomeKinds: ("artifact" | "receipt" | "decision" | "observation" | "no_change" | "state_change" | "effect_proposal")[]; allowedEffectHandlers: string[]; }; export declare const sourceReferenceSchema: z.ZodObject<{ provider: z.ZodString; reference: z.ZodRecord; }, z.core.$strict>; export type SourceReference = z.infer; export type SourceSnapshot = { revision: string; text: string; observedAt: number; }; /** Adapters own source syntax and permission checks, never task or execution policy. */ export interface SceneSourceAdapter { id: string; label: string; normalize(reference: Record): Record; authorized(principal: ScenePrincipal, reference: Record): boolean; accountIds(reference: Record): string[]; read(principal: ScenePrincipal, reference: Record, signal: AbortSignal): Promise; listAccounts?(principal: ScenePrincipal): Array<{ id: string; label: string; }>; resolveLink?(principal: ScenePrincipal, accountId: string, url: string, signal: AbortSignal): Promise>; } export declare class SceneSourceRegistry extends SceneCapabilityRegistry { providers(): { id: string; label: string; }[]; normalize(source: SourceReference): SourceReference; } export declare const taskFollowUpInputSchema: z.ZodObject<{ source: z.ZodObject<{ provider: z.ZodString; reference: z.ZodRecord; }, z.core.$strict>; goal: z.ZodString; instruction: z.ZodDefault; projectId: z.ZodOptional; resource: z.ZodDefault>; capabilities: z.ZodDefault>>; verificationCommand: z.ZodOptional; sourceUrl: z.ZodOptional; }, z.core.$strict>; export type TaskFollowUpInput = z.infer; export declare function sourceIdentity(principal: ScenePrincipal, source: SourceReference): string;