@caupulican/pi-agent-core 0.93.18 → 0.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,173 @@
1
+ import type { SessionEntry, SessionEntryBase } from "./session-manager.ts";
2
+ /** Maximum serialized size for one lifecycle payload. Lifecycle records are a ledger, not a payload store. */
3
+ export declare const MAX_LIFECYCLE_PAYLOAD_CHARS: number;
4
+ export interface RequestSnapshotEntry extends SessionEntryBase {
5
+ type: "request_snapshot";
6
+ requestId: string;
7
+ reason: "initial" | "resume" | "change";
8
+ api: string;
9
+ provider: string;
10
+ modelId: string;
11
+ effectiveConfigFingerprint: string;
12
+ systemFingerprint: string;
13
+ toolsFingerprint: string;
14
+ historyFingerprint: string;
15
+ messageEntryIds: string[];
16
+ }
17
+ export type SessionRequestSnapshotInput = Omit<RequestSnapshotEntry, "type" | "id" | "parentId" | "timestamp">;
18
+ export interface ForegroundToolStartEntry extends SessionEntryBase {
19
+ type: "foreground_tool_start";
20
+ requestId: string;
21
+ assistantMessageEntryId: string;
22
+ callId: string;
23
+ toolName: string;
24
+ }
25
+ export type ForegroundToolStartInput = Omit<ForegroundToolStartEntry, "type" | "id" | "parentId" | "timestamp">;
26
+ export interface ForegroundToolTerminalEntry extends SessionEntryBase {
27
+ type: "foreground_tool_terminal";
28
+ requestId: string;
29
+ assistantMessageEntryId: string;
30
+ callId: string;
31
+ toolName: string;
32
+ outcome: "success" | "error" | "cancelled";
33
+ resultMessageEntryId: string;
34
+ errorKind?: "tool_failure" | "operation_outcome";
35
+ }
36
+ export interface CompactionStartEntry extends SessionEntryBase {
37
+ type: "compaction_start";
38
+ compactionId: string;
39
+ firstKeptEntryId: string;
40
+ tokensBefore: number;
41
+ }
42
+ export interface CompactionEndEntry extends SessionEntryBase {
43
+ type: "compaction_end";
44
+ compactionId: string;
45
+ outcome: "success" | "failure" | "cancelled" | "interrupted";
46
+ compactionEntryId?: string;
47
+ error?: string;
48
+ }
49
+ export type SessionLifecycleEntry = RequestSnapshotEntry | ForegroundToolStartEntry | ForegroundToolTerminalEntry | CompactionStartEntry | CompactionEndEntry;
50
+ export declare const TOOL_NOT_STARTED = "TOOL_NOT_STARTED";
51
+ export declare const TOOL_OUTCOME_UNKNOWN = "TOOL_OUTCOME_UNKNOWN";
52
+ /** Runtime validation for all persisted lifecycle records. */
53
+ export declare function validateSessionLifecycleEntry(value: unknown): asserts value is SessionLifecycleEntry;
54
+ export declare function isSessionLifecycleEntry(entry: SessionEntry): entry is SessionLifecycleEntry;
55
+ export declare function validateLoadedLifecycleEntries(entries: readonly (SessionEntry | {
56
+ type: "session";
57
+ })[]): void;
58
+ export declare function encodeSessionLifecycleEntry(entry: SessionLifecycleEntry): string;
59
+ export declare function decodeSessionLifecycleEntry(value: unknown): SessionLifecycleEntry;
60
+ export declare function encodeSessionEntry(entry: SessionEntry): string;
61
+ export interface SessionLifecycleAssistantToolCall {
62
+ requestId?: string;
63
+ assistantMessageEntryId: string;
64
+ callId: string;
65
+ modelOrder: number;
66
+ position: number;
67
+ toolName: string;
68
+ }
69
+ export interface SessionLifecycleToolResult {
70
+ requestId?: string;
71
+ assistantMessageEntryId?: string;
72
+ callId: string;
73
+ resultMessageEntryId: string;
74
+ position: number;
75
+ toolName: string;
76
+ isError: boolean;
77
+ errorKind?: "tool_failure" | "operation_outcome";
78
+ }
79
+ export interface SessionLifecycleToolRecord {
80
+ starts: readonly ForegroundToolStartEntry[];
81
+ terminals: readonly ForegroundToolTerminalEntry[];
82
+ assistantCalls: readonly SessionLifecycleAssistantToolCall[];
83
+ results: readonly SessionLifecycleToolResult[];
84
+ start?: ForegroundToolStartEntry;
85
+ terminal?: ForegroundToolTerminalEntry;
86
+ result?: SessionLifecycleToolResult;
87
+ }
88
+ export interface SessionLifecycleCompactionRecord {
89
+ starts: readonly CompactionStartEntry[];
90
+ ends: readonly CompactionEndEntry[];
91
+ start?: CompactionStartEntry;
92
+ end?: CompactionEndEntry;
93
+ }
94
+ export interface SessionLifecycleIndex {
95
+ branchEntryIds: readonly string[];
96
+ entryPositions: ReadonlyMap<string, number>;
97
+ entryTypes: ReadonlyMap<string, string>;
98
+ entriesById: ReadonlyMap<string, SessionEntry>;
99
+ requestSnapshots: readonly RequestSnapshotEntry[];
100
+ assistantToolCalls: readonly SessionLifecycleAssistantToolCall[];
101
+ toolResults: readonly SessionLifecycleToolResult[];
102
+ toolsByIdentity: ReadonlyMap<string, SessionLifecycleToolRecord>;
103
+ compactionsById: ReadonlyMap<string, SessionLifecycleCompactionRecord>;
104
+ ambiguousResultEntryIds: readonly string[];
105
+ unmatchedResultEntryIds: readonly string[];
106
+ }
107
+ export interface SessionLifecycleUnstartedTool {
108
+ requestId?: string;
109
+ assistantMessageEntryId: string;
110
+ toolName: string;
111
+ callId: string;
112
+ }
113
+ export interface SessionLifecycleUnknownToolOutcome {
114
+ requestId: string;
115
+ assistantMessageEntryId: string;
116
+ toolName: string;
117
+ callId: string;
118
+ startEntryId: string;
119
+ }
120
+ export interface SessionLifecycleTerminalPromotion {
121
+ requestId?: string;
122
+ assistantMessageEntryId: string;
123
+ toolName: string;
124
+ callId: string;
125
+ resultMessageEntryId: string;
126
+ outcome: "success" | "error";
127
+ errorKind?: "tool_failure" | "operation_outcome";
128
+ }
129
+ export interface SessionLifecycleInspection extends SessionLifecycleIndex {
130
+ refusalReasons: readonly string[];
131
+ duplicateRequestSnapshots: readonly RequestSnapshotEntry[];
132
+ unmatchedToolStarts: readonly ForegroundToolStartEntry[];
133
+ unmatchedToolTerminals: readonly ForegroundToolTerminalEntry[];
134
+ duplicateToolStarts: readonly ForegroundToolStartEntry[];
135
+ duplicateToolTerminals: readonly ForegroundToolTerminalEntry[];
136
+ duplicateAssistantToolCalls: readonly SessionLifecycleAssistantToolCall[];
137
+ duplicateToolResults: readonly SessionLifecycleToolResult[];
138
+ mismatchedToolEntries: readonly string[];
139
+ outOfOrderToolEntries: readonly string[];
140
+ unstartedTools: readonly SessionLifecycleUnstartedTool[];
141
+ unknownToolOutcomes: readonly SessionLifecycleUnknownToolOutcome[];
142
+ unmatchedCompactionEnds: readonly CompactionEndEntry[];
143
+ duplicateCompactionStarts: readonly CompactionStartEntry[];
144
+ duplicateCompactionEnds: readonly CompactionEndEntry[];
145
+ outOfOrderCompactionEntries: readonly string[];
146
+ invalidCompactionReferences: readonly string[];
147
+ orphanedCompactions: readonly CompactionStartEntry[];
148
+ terminalPromotions: readonly SessionLifecycleTerminalPromotion[];
149
+ balanced: boolean;
150
+ }
151
+ export interface SessionLifecycleRepairPlan {
152
+ refused: boolean;
153
+ refusalReasons: readonly string[];
154
+ toolClosers: readonly {
155
+ requestId?: string;
156
+ assistantMessageEntryId: string;
157
+ toolName: string;
158
+ callId: string;
159
+ code: typeof TOOL_NOT_STARTED | typeof TOOL_OUTCOME_UNKNOWN;
160
+ sourceEntryId?: string;
161
+ }[];
162
+ terminalPromotions: readonly SessionLifecycleTerminalPromotion[];
163
+ compactionClosers: readonly {
164
+ compactionId: string;
165
+ sourceEntryId: string;
166
+ outcome: "interrupted";
167
+ }[];
168
+ }
169
+ export declare function sessionLifecycleToolIdentityKey(requestId: string | undefined, assistantMessageEntryId: string, callId: string): string;
170
+ export declare function indexSessionLifecycle(entries: readonly SessionEntry[], leafId?: string | null): SessionLifecycleIndex;
171
+ export declare function inspectSessionLifecycle(entries: readonly SessionEntry[], leafId?: string | null): SessionLifecycleInspection;
172
+ export declare function planSessionLifecycleRepair(entries: readonly SessionEntry[], leafId?: string | null): SessionLifecycleRepairPlan;
173
+ //# sourceMappingURL=lifecycle-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-ledger.d.ts","sourceRoot":"","sources":["../../src/session/lifecycle-ledger.ts"],"names":[],"mappings":"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"}