/** * Canonical context payload types for PD Runtime v2. * * Source: History Retrieval and Context Assembly SPEC, Sections 7.4, 8.3, 9.4 * Source: Diagnostician v2 Detailed Design, Section 9.4 * Source: PD Runtime Protocol SPEC v1, Sections 15-17 * * These types define the output contracts for: * - `pd trajectory locate` → TrajectoryLocateResult * - `pd history query` → HistoryQueryResult * - `pd context build` → ContextPayload * - diagnostician context assembly → DiagnosticianContextPayload */ import { type Static } from '@sinclair/typebox'; import { validateFullTracePayload, sanitizeFullTracePayload, buildFullTraceTimeline, buildSourceRefs, checkFullTracePayloadSchema, TRACE_EVENT_KINDS, SOURCE_REF_KINDS } from './full-trace-contract.js'; import type { FullTracePayloadV2 as FullTracePayloadV2Type, TraceSourceRef as TraceSourceRefType, TraceTimelineEntry as TraceTimelineEntryType, TraceEventKind as TraceEventKindType, SourceRefKind as SourceRefKindType, FullTraceValidationResult as FullTraceValidationResultType, SanitizeFullTraceResult as SanitizeFullTraceResultType, RunRecordLike as RunRecordLikeType } from './full-trace-contract.js'; export declare const HistoryQueryEntrySchema: import("@sinclair/typebox").TObject<{ ts: import("@sinclair/typebox").TString; role: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"user">, import("@sinclair/typebox").TLiteral<"assistant">, import("@sinclair/typebox").TLiteral<"tool">, import("@sinclair/typebox").TLiteral<"system">]>; text: import("@sinclair/typebox").TOptional; toolName: import("@sinclair/typebox").TOptional; toolResultSummary: import("@sinclair/typebox").TOptional; eventType: import("@sinclair/typebox").TOptional; }>; export type HistoryQueryEntry = Static; export declare const TrajectoryLocateQuerySchema: import("@sinclair/typebox").TObject<{ painId: import("@sinclair/typebox").TOptional; taskId: import("@sinclair/typebox").TOptional; runId: import("@sinclair/typebox").TOptional; sessionId: import("@sinclair/typebox").TOptional; timeRange: import("@sinclair/typebox").TOptional>; workspace: import("@sinclair/typebox").TOptional; executionStatus: import("@sinclair/typebox").TOptional; }>; export type TrajectoryLocateQuery = Static; export declare const TrajectoryCandidateSchema: import("@sinclair/typebox").TObject<{ trajectoryRef: import("@sinclair/typebox").TString; confidence: import("@sinclair/typebox").TNumber; reasons: import("@sinclair/typebox").TArray; sourceTypes: import("@sinclair/typebox").TOptional>; }>; export type TrajectoryCandidate = Static; export declare const TrajectoryLocateResultSchema: import("@sinclair/typebox").TObject<{ query: import("@sinclair/typebox").TObject<{ painId: import("@sinclair/typebox").TOptional; taskId: import("@sinclair/typebox").TOptional; runId: import("@sinclair/typebox").TOptional; sessionId: import("@sinclair/typebox").TOptional; timeRange: import("@sinclair/typebox").TOptional>; workspace: import("@sinclair/typebox").TOptional; executionStatus: import("@sinclair/typebox").TOptional; }>; candidates: import("@sinclair/typebox").TArray; sourceTypes: import("@sinclair/typebox").TOptional>; }>>; }>; export type TrajectoryLocateResult = Static; export declare const HistoryQueryResultSchema: import("@sinclair/typebox").TObject<{ sourceRef: import("@sinclair/typebox").TString; entries: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"assistant">, import("@sinclair/typebox").TLiteral<"tool">, import("@sinclair/typebox").TLiteral<"system">]>; text: import("@sinclair/typebox").TOptional; toolName: import("@sinclair/typebox").TOptional; toolResultSummary: import("@sinclair/typebox").TOptional; eventType: import("@sinclair/typebox").TOptional; }>>; truncated: import("@sinclair/typebox").TBoolean; nextCursor: import("@sinclair/typebox").TOptional; }>; export type HistoryQueryResult = Static; export type TraceAvailability = 'available' | 'unavailable_with_reason' | 'ambiguous'; export interface TraceUnavailableDetail { reason: string; nextAction: string; } export declare const PainEvidenceEntrySchema: import("@sinclair/typebox").TObject<{ sourceRef: import("@sinclair/typebox").TString; note: import("@sinclair/typebox").TString; }>; export type PainEvidenceEntry = Static; /** * PRI-844: the Owner's own correction words as FIRST-CLASS pain evidence. * * Domain language note: named `correctionEvidence` (not `ownerCorrection`) * because a PD pain is not only born from Owner corrections — tool failures * are pains too. This type is attached ONLY when the pain context actually * contains a user correction; producers that have none simply leave it * absent (never fabricated — rc-9). * * `text` carries the Owner's verbatim words, NOT an LLM summary: the chain * Pain → Diagnosis → Candidate must always be able to answer * "why does this principle exist?" with the Owner's original sentence. */ export declare const PainCorrectionEvidenceSchema: import("@sinclair/typebox").TObject<{ /** Owner's verbatim correction text (defensively bounded at the writer). */ text: import("@sinclair/typebox").TString; /** Session the correction occurred in. */ sessionId: import("@sinclair/typebox").TOptional; /** user_turns turn index of the correction turn, when known. */ turnIndex: import("@sinclair/typebox").TOptional; /** user_turns id of the assistant turn the correction responded to, when known. */ referencesAssistantTurnId: import("@sinclair/typebox").TOptional; /** When the correction turn happened (ISO). */ occurredAt: import("@sinclair/typebox").TOptional; }>; export type PainCorrectionEvidence = Static; export declare const DiagnosisTargetSchema: import("@sinclair/typebox").TObject<{ reasonSummary: import("@sinclair/typebox").TOptional; source: import("@sinclair/typebox").TOptional; severity: import("@sinclair/typebox").TOptional; painId: import("@sinclair/typebox").TOptional; sessionIdHint: import("@sinclair/typebox").TOptional; provenance: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"owner_reported_no_host_trace">, import("@sinclair/typebox").TLiteral<"automatic_hook">]>>; /** Codex Governance Closure SPEC §14: the diagnosis target names the evidence host. */ hostKind: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"codex">]>>; provenanceReason: import("@sinclair/typebox").TOptional; traceAvailability: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"unavailable_with_reason">, import("@sinclair/typebox").TLiteral<"ambiguous">]>>; traceUnavailableDetail: import("@sinclair/typebox").TOptional>; evidence: import("@sinclair/typebox").TOptional>>; /** * PRI-844: the Owner's verbatim correction, when this pain's context * contains one. Absent = no correction evidence available — the prompt * renders nothing and nothing may be fabricated (rc-9). */ correctionEvidence: import("@sinclair/typebox").TOptional; /** user_turns turn index of the correction turn, when known. */ turnIndex: import("@sinclair/typebox").TOptional; /** user_turns id of the assistant turn the correction responded to, when known. */ referencesAssistantTurnId: import("@sinclair/typebox").TOptional; /** When the correction turn happened (ISO). */ occurredAt: import("@sinclair/typebox").TOptional; }>>; }>; export type DiagnosisTarget = Static; export declare const ToolCallEntrySchema: import("@sinclair/typebox").TObject<{ toolName: import("@sinclair/typebox").TOptional; status: import("@sinclair/typebox").TOptional; params: import("@sinclair/typebox").TOptional; resultSummary: import("@sinclair/typebox").TOptional; errorSummary: import("@sinclair/typebox").TOptional; startedAt: import("@sinclair/typebox").TOptional; completedAt: import("@sinclair/typebox").TOptional; }>; export type ToolCallEntry = Static; export declare const PainContextSchema: import("@sinclair/typebox").TObject<{ painId: import("@sinclair/typebox").TOptional; severity: import("@sinclair/typebox").TOptional; source: import("@sinclair/typebox").TOptional; reasonSummary: import("@sinclair/typebox").TOptional; sessionIdHint: import("@sinclair/typebox").TOptional; }>; export type PainContext = Static; export declare const FullTracePayloadSchema: import("@sinclair/typebox").TObject<{ painContext: import("@sinclair/typebox").TObject<{ painId: import("@sinclair/typebox").TOptional; severity: import("@sinclair/typebox").TOptional; source: import("@sinclair/typebox").TOptional; reasonSummary: import("@sinclair/typebox").TOptional; sessionIdHint: import("@sinclair/typebox").TOptional; }>; scratchpad: import("@sinclair/typebox").TArray; toolCallHistory: import("@sinclair/typebox").TArray; status: import("@sinclair/typebox").TOptional; params: import("@sinclair/typebox").TOptional; resultSummary: import("@sinclair/typebox").TOptional; errorSummary: import("@sinclair/typebox").TOptional; startedAt: import("@sinclair/typebox").TOptional; completedAt: import("@sinclair/typebox").TOptional; }>>; }>; export type FullTracePayload = Static; export declare const FullTracePayloadV2Schema: import("@sinclair/typebox").TObject<{ sourceTaskId: import("@sinclair/typebox").TString; sourcePainId: import("@sinclair/typebox").TString; sourceRunIds: import("@sinclair/typebox").TArray; capturedAt: import("@sinclair/typebox").TString; sourceRefs: import("@sinclair/typebox").TArray[]>; id: import("@sinclair/typebox").TString; }>>; timeline: import("@sinclair/typebox").TArray; kind: import("@sinclair/typebox").TUnion[]>; summary: import("@sinclair/typebox").TString; rawPreview: import("@sinclair/typebox").TOptional; metadata: import("@sinclair/typebox").TOptional>; }>>; ambiguityNotes: import("@sinclair/typebox").TArray; sanitizationNotes: import("@sinclair/typebox").TArray; }>; export declare const TraceSourceRefSchema: import("@sinclair/typebox").TObject<{ kind: import("@sinclair/typebox").TUnion[]>; id: import("@sinclair/typebox").TString; }>; export declare const TraceTimelineEntrySchema: import("@sinclair/typebox").TObject<{ at: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; kind: import("@sinclair/typebox").TUnion[]>; summary: import("@sinclair/typebox").TString; rawPreview: import("@sinclair/typebox").TOptional; metadata: import("@sinclair/typebox").TOptional>; }>; export declare const TraceEventKindSchema: import("@sinclair/typebox").TUnion[]>; export declare const SourceRefKindSchema: import("@sinclair/typebox").TUnion[]>; export type FullTracePayloadV2 = FullTracePayloadV2Type; export type TraceSourceRef = TraceSourceRefType; export type TraceTimelineEntry = TraceTimelineEntryType; export type TraceEventKind = TraceEventKindType; export type SourceRefKind = SourceRefKindType; export type FullTraceValidationResult = FullTraceValidationResultType; export type SanitizeFullTraceResult = SanitizeFullTraceResultType; export type RunRecordLike = RunRecordLikeType; export { validateFullTracePayload, sanitizeFullTracePayload, buildFullTraceTimeline, buildSourceRefs, checkFullTracePayloadSchema, TRACE_EVENT_KINDS, SOURCE_REF_KINDS, }; export declare const ContextPayloadSchema: import("@sinclair/typebox").TObject<{ contextId: import("@sinclair/typebox").TString; sourceRefs: import("@sinclair/typebox").TArray; targetAgent: import("@sinclair/typebox").TOptional; diagnosisTarget: import("@sinclair/typebox").TOptional; source: import("@sinclair/typebox").TOptional; severity: import("@sinclair/typebox").TOptional; painId: import("@sinclair/typebox").TOptional; sessionIdHint: import("@sinclair/typebox").TOptional; provenance: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"owner_reported_no_host_trace">, import("@sinclair/typebox").TLiteral<"automatic_hook">]>>; /** Codex Governance Closure SPEC §14: the diagnosis target names the evidence host. */ hostKind: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"codex">]>>; provenanceReason: import("@sinclair/typebox").TOptional; traceAvailability: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"unavailable_with_reason">, import("@sinclair/typebox").TLiteral<"ambiguous">]>>; traceUnavailableDetail: import("@sinclair/typebox").TOptional>; evidence: import("@sinclair/typebox").TOptional>>; /** * PRI-844: the Owner's verbatim correction, when this pain's context * contains one. Absent = no correction evidence available — the prompt * renders nothing and nothing may be fabricated (rc-9). */ correctionEvidence: import("@sinclair/typebox").TOptional; /** user_turns turn index of the correction turn, when known. */ turnIndex: import("@sinclair/typebox").TOptional; /** user_turns id of the assistant turn the correction responded to, when known. */ referencesAssistantTurnId: import("@sinclair/typebox").TOptional; /** When the correction turn happened (ISO). */ occurredAt: import("@sinclair/typebox").TOptional; }>>; }>>; conversationWindow: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"assistant">, import("@sinclair/typebox").TLiteral<"tool">, import("@sinclair/typebox").TLiteral<"system">]>; text: import("@sinclair/typebox").TOptional; toolName: import("@sinclair/typebox").TOptional; toolResultSummary: import("@sinclair/typebox").TOptional; eventType: import("@sinclair/typebox").TOptional; }>>; artifactRefs: import("@sinclair/typebox").TOptional>; ambiguityNotes: import("@sinclair/typebox").TOptional>; summary: import("@sinclair/typebox").TString; }>; export type ContextPayload = Static; export declare const DiagnosticianContextPayloadSchema: import("@sinclair/typebox").TObject<{ contextId: import("@sinclair/typebox").TString; contextHash: import("@sinclair/typebox").TString; taskId: import("@sinclair/typebox").TString; workspaceDir: import("@sinclair/typebox").TString; sourceRefs: import("@sinclair/typebox").TArray; diagnosisTarget: import("@sinclair/typebox").TObject<{ reasonSummary: import("@sinclair/typebox").TOptional; source: import("@sinclair/typebox").TOptional; severity: import("@sinclair/typebox").TOptional; painId: import("@sinclair/typebox").TOptional; sessionIdHint: import("@sinclair/typebox").TOptional; provenance: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"owner_reported_no_host_trace">, import("@sinclair/typebox").TLiteral<"automatic_hook">]>>; /** Codex Governance Closure SPEC §14: the diagnosis target names the evidence host. */ hostKind: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"codex">]>>; provenanceReason: import("@sinclair/typebox").TOptional; traceAvailability: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"unavailable_with_reason">, import("@sinclair/typebox").TLiteral<"ambiguous">]>>; traceUnavailableDetail: import("@sinclair/typebox").TOptional>; evidence: import("@sinclair/typebox").TOptional>>; /** * PRI-844: the Owner's verbatim correction, when this pain's context * contains one. Absent = no correction evidence available — the prompt * renders nothing and nothing may be fabricated (rc-9). */ correctionEvidence: import("@sinclair/typebox").TOptional; /** user_turns turn index of the correction turn, when known. */ turnIndex: import("@sinclair/typebox").TOptional; /** user_turns id of the assistant turn the correction responded to, when known. */ referencesAssistantTurnId: import("@sinclair/typebox").TOptional; /** When the correction turn happened (ISO). */ occurredAt: import("@sinclair/typebox").TOptional; }>>; }>; conversationWindow: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"assistant">, import("@sinclair/typebox").TLiteral<"tool">, import("@sinclair/typebox").TLiteral<"system">]>; text: import("@sinclair/typebox").TOptional; toolName: import("@sinclair/typebox").TOptional; toolResultSummary: import("@sinclair/typebox").TOptional; eventType: import("@sinclair/typebox").TOptional; }>>; ambiguityNotes: import("@sinclair/typebox").TOptional>; fullTrace: import("@sinclair/typebox").TOptional; severity: import("@sinclair/typebox").TOptional; source: import("@sinclair/typebox").TOptional; reasonSummary: import("@sinclair/typebox").TOptional; sessionIdHint: import("@sinclair/typebox").TOptional; }>; scratchpad: import("@sinclair/typebox").TArray; toolCallHistory: import("@sinclair/typebox").TArray; status: import("@sinclair/typebox").TOptional; params: import("@sinclair/typebox").TOptional; resultSummary: import("@sinclair/typebox").TOptional; errorSummary: import("@sinclair/typebox").TOptional; startedAt: import("@sinclair/typebox").TOptional; completedAt: import("@sinclair/typebox").TOptional; }>>; }>, import("@sinclair/typebox").TObject<{ sourceTaskId: import("@sinclair/typebox").TString; sourcePainId: import("@sinclair/typebox").TString; sourceRunIds: import("@sinclair/typebox").TArray; capturedAt: import("@sinclair/typebox").TString; sourceRefs: import("@sinclair/typebox").TArray[]>; id: import("@sinclair/typebox").TString; }>>; timeline: import("@sinclair/typebox").TArray; kind: import("@sinclair/typebox").TUnion[]>; summary: import("@sinclair/typebox").TString; rawPreview: import("@sinclair/typebox").TOptional; metadata: import("@sinclair/typebox").TOptional>; }>>; ambiguityNotes: import("@sinclair/typebox").TArray; sanitizationNotes: import("@sinclair/typebox").TArray; }>, import("@sinclair/typebox").TNull]>>; }>; export type DiagnosticianContextPayload = Static; //# sourceMappingURL=context-payload.d.ts.map