@gkorepanov/ccodex 0.3.0 → 0.3.4

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.
Files changed (176) hide show
  1. package/README.md +27 -9
  2. package/RELEASING.md +14 -15
  3. package/SSH_VERIFY.md +11 -0
  4. package/archive/README.md +23 -0
  5. package/compatibility.json +1 -2
  6. package/config.example.toml +12 -4
  7. package/dist/claude/asyncQueue.d.ts +3 -0
  8. package/dist/claude/asyncQueue.js +13 -2
  9. package/dist/claude/asyncQueue.js.map +1 -1
  10. package/dist/claude/commandActions.d.ts +6 -0
  11. package/dist/claude/commandActions.js +57 -0
  12. package/dist/claude/commandActions.js.map +1 -0
  13. package/dist/claude/compactCommand.d.ts +2 -0
  14. package/dist/claude/compactCommand.js +7 -0
  15. package/dist/claude/compactCommand.js.map +1 -0
  16. package/dist/claude/goalTools.d.ts +15 -0
  17. package/dist/claude/goalTools.js +173 -0
  18. package/dist/claude/goalTools.js.map +1 -0
  19. package/dist/claude/hookMapper.d.ts +17 -4
  20. package/dist/claude/hookMapper.js +7 -5
  21. package/dist/claude/hookMapper.js.map +1 -1
  22. package/dist/claude/rateLimits.d.ts +72 -0
  23. package/dist/claude/rateLimits.js +330 -0
  24. package/dist/claude/rateLimits.js.map +1 -0
  25. package/dist/claude/responseItemValidation.d.ts +2 -0
  26. package/dist/claude/responseItemValidation.js +40 -0
  27. package/dist/claude/responseItemValidation.js.map +1 -0
  28. package/dist/claude/resultClassifier.d.ts +8 -2
  29. package/dist/claude/resultClassifier.js +1 -1
  30. package/dist/claude/resultClassifier.js.map +1 -1
  31. package/dist/claude/service.d.ts +108 -28
  32. package/dist/claude/service.js +1276 -668
  33. package/dist/claude/service.js.map +1 -1
  34. package/dist/claude/session/backgroundOutput.d.ts +2 -0
  35. package/dist/claude/session/backgroundOutput.js +29 -0
  36. package/dist/claude/session/backgroundOutput.js.map +1 -0
  37. package/dist/claude/session/commands.d.ts +855 -0
  38. package/dist/claude/session/commands.js +2 -0
  39. package/dist/claude/session/commands.js.map +1 -0
  40. package/dist/claude/session/goalState.d.ts +49 -0
  41. package/dist/claude/session/goalState.js +407 -0
  42. package/dist/claude/session/goalState.js.map +1 -0
  43. package/dist/claude/session/mailbox.d.ts +52 -0
  44. package/dist/claude/session/mailbox.js +190 -0
  45. package/dist/claude/session/mailbox.js.map +1 -0
  46. package/dist/claude/session/outputAdapter.d.ts +11 -0
  47. package/dist/claude/session/outputAdapter.js +31 -0
  48. package/dist/claude/session/outputAdapter.js.map +1 -0
  49. package/dist/claude/session/providerFacts.d.ts +47 -0
  50. package/dist/claude/session/providerFacts.js +84 -0
  51. package/dist/claude/session/providerFacts.js.map +1 -0
  52. package/dist/claude/session/providerRuntime.d.ts +1 -0
  53. package/dist/claude/session/providerRuntime.js +2 -0
  54. package/dist/claude/session/providerRuntime.js.map +1 -0
  55. package/dist/claude/session/providerRuntimeFactory.d.ts +49 -0
  56. package/dist/claude/session/providerRuntimeFactory.js +127 -0
  57. package/dist/claude/session/providerRuntimeFactory.js.map +1 -0
  58. package/dist/claude/session/repository.d.ts +57 -0
  59. package/dist/claude/session/repository.js +161 -0
  60. package/dist/claude/session/repository.js.map +1 -0
  61. package/dist/claude/session/runtime.d.ts +46 -0
  62. package/dist/claude/session/runtime.js +140 -0
  63. package/dist/claude/session/runtime.js.map +1 -0
  64. package/dist/claude/session/scopeState.d.ts +61 -0
  65. package/dist/claude/session/scopeState.js +74 -0
  66. package/dist/claude/session/scopeState.js.map +1 -0
  67. package/dist/claude/session/session.d.ts +281 -0
  68. package/dist/claude/session/session.js +6664 -0
  69. package/dist/claude/session/session.js.map +1 -0
  70. package/dist/claude/session/shellRunner.d.ts +13 -0
  71. package/dist/claude/session/shellRunner.js +103 -0
  72. package/dist/claude/session/shellRunner.js.map +1 -0
  73. package/dist/claude/session/usage.d.ts +2 -0
  74. package/dist/claude/session/usage.js +10 -0
  75. package/dist/claude/session/usage.js.map +1 -0
  76. package/dist/claude/sessionRegistry.d.ts +26 -0
  77. package/dist/claude/sessionRegistry.js +118 -0
  78. package/dist/claude/sessionRegistry.js.map +1 -0
  79. package/dist/claude/shellSupervisor.d.ts +1 -0
  80. package/dist/claude/shellSupervisor.js +69 -0
  81. package/dist/claude/shellSupervisor.js.map +1 -0
  82. package/dist/claude/statusCommand.d.ts +21 -0
  83. package/dist/claude/statusCommand.js +97 -0
  84. package/dist/claude/statusCommand.js.map +1 -0
  85. package/dist/claude/toolMapper.d.ts +9 -1
  86. package/dist/claude/toolMapper.js +92 -16
  87. package/dist/claude/toolMapper.js.map +1 -1
  88. package/dist/claude/transcriptBrancher.d.ts +37 -0
  89. package/dist/claude/transcriptBrancher.js +103 -0
  90. package/dist/claude/transcriptBrancher.js.map +1 -0
  91. package/dist/cli/delegate.js +23 -1
  92. package/dist/cli/delegate.js.map +1 -1
  93. package/dist/cli/main.js +28 -12
  94. package/dist/cli/main.js.map +1 -1
  95. package/dist/codex/generated/ResponseItemRuntimeSchema.d.ts +8 -0
  96. package/dist/codex/generated/ResponseItemRuntimeSchema.js +7 -0
  97. package/dist/codex/generated/ResponseItemRuntimeSchema.js.map +1 -0
  98. package/dist/compatibility/probe.js +11 -6
  99. package/dist/compatibility/probe.js.map +1 -1
  100. package/dist/config/config.d.ts +9 -0
  101. package/dist/config/config.js +80 -11
  102. package/dist/config/config.js.map +1 -1
  103. package/dist/daemon/daemon.js +91 -43
  104. package/dist/daemon/daemon.js.map +1 -1
  105. package/dist/daemon/ownership.d.ts +15 -0
  106. package/dist/daemon/ownership.js +185 -0
  107. package/dist/daemon/ownership.js.map +1 -0
  108. package/dist/daemon/supervisor.d.ts +3 -0
  109. package/dist/daemon/supervisor.js +37 -1
  110. package/dist/daemon/supervisor.js.map +1 -1
  111. package/dist/gateway/clientConnection.d.ts +7 -1
  112. package/dist/gateway/clientConnection.js +435 -48
  113. package/dist/gateway/clientConnection.js.map +1 -1
  114. package/dist/gateway/remoteRelay.js +0 -1
  115. package/dist/gateway/remoteRelay.js.map +1 -1
  116. package/dist/gateway/server.d.ts +1 -1
  117. package/dist/gateway/server.js +37 -9
  118. package/dist/gateway/server.js.map +1 -1
  119. package/dist/gateway/subscriptions.d.ts +9 -2
  120. package/dist/gateway/subscriptions.js +87 -9
  121. package/dist/gateway/subscriptions.js.map +1 -1
  122. package/dist/gateway/transientNotice.d.ts +2 -0
  123. package/dist/gateway/transientNotice.js +42 -1
  124. package/dist/gateway/transientNotice.js.map +1 -1
  125. package/dist/handoff/service.d.ts +32 -3
  126. package/dist/handoff/service.js +304 -26
  127. package/dist/handoff/service.js.map +1 -1
  128. package/dist/handoff/titleGeneration.d.ts +28 -0
  129. package/dist/handoff/titleGeneration.js +151 -0
  130. package/dist/handoff/titleGeneration.js.map +1 -0
  131. package/dist/management/doctor.d.ts +1 -1
  132. package/dist/management/doctor.js +32 -23
  133. package/dist/management/doctor.js.map +1 -1
  134. package/dist/management/lifecycle.js +14 -2
  135. package/dist/management/lifecycle.js.map +1 -1
  136. package/dist/management/remoteShim.d.ts +10 -0
  137. package/dist/management/remoteShim.js +65 -0
  138. package/dist/management/remoteShim.js.map +1 -0
  139. package/dist/management/setup.d.ts +4 -0
  140. package/dist/management/setup.js +108 -39
  141. package/dist/management/setup.js.map +1 -1
  142. package/dist/observability/metrics.d.ts +2 -0
  143. package/dist/observability/metrics.js +6 -0
  144. package/dist/observability/metrics.js.map +1 -1
  145. package/dist/protocol/errors.d.ts +1 -0
  146. package/dist/protocol/errors.js +4 -1
  147. package/dist/protocol/errors.js.map +1 -1
  148. package/dist/runtime/dependencies.js +2 -2
  149. package/dist/runtime/dependencies.js.map +1 -1
  150. package/dist/runtime/providerAvailability.d.ts +24 -0
  151. package/dist/runtime/providerAvailability.js +107 -0
  152. package/dist/runtime/providerAvailability.js.map +1 -0
  153. package/dist/state/stateCommand.d.ts +21 -0
  154. package/dist/state/stateCommand.js +198 -0
  155. package/dist/state/stateCommand.js.map +1 -0
  156. package/dist/state/stockStateTracker.d.ts +14 -0
  157. package/dist/state/stockStateTracker.js +120 -0
  158. package/dist/state/stockStateTracker.js.map +1 -0
  159. package/dist/store/HybridStore.d.ts +118 -2
  160. package/dist/store/HybridStore.js +23 -1
  161. package/dist/store/HybridStore.js.map +1 -1
  162. package/dist/store/memoryStore.d.ts +57 -7
  163. package/dist/store/memoryStore.js +337 -5
  164. package/dist/store/memoryStore.js.map +1 -1
  165. package/dist/store/sqliteStore.d.ts +30 -4
  166. package/dist/store/sqliteStore.js +395 -42
  167. package/dist/store/sqliteStore.js.map +1 -1
  168. package/install.sh +2 -2
  169. package/package.json +18 -10
  170. package/dist/claude/interactions.d.ts +0 -23
  171. package/dist/claude/interactions.js +0 -77
  172. package/dist/claude/interactions.js.map +0 -1
  173. package/dist/claude/sessionRuntime.d.ts +0 -102
  174. package/dist/claude/sessionRuntime.js +0 -1361
  175. package/dist/claude/sessionRuntime.js.map +0 -1
  176. /package/{BUILD_BENCHMARKS.md → archive/BUILD_BENCHMARKS.md} +0 -0
@@ -0,0 +1,281 @@
1
+ import type { Turn } from "../../codex/generated/v2/Turn.js";
2
+ import type { ClaudeSessionHandle } from "../sessionRegistry.js";
3
+ import { MetricsRegistry } from "../../observability/metrics.js";
4
+ import type { ClaudeSessionCommand, PreparedSessionTurn, RuntimeInspection, SessionLifecycleUpdate } from "./commands.js";
5
+ import type { ClaudeOutputAdapter } from "./outputAdapter.js";
6
+ import { type ClaudeSessionRepository } from "./repository.js";
7
+ import { ShellRunner } from "./shellRunner.js";
8
+ import { type BackgroundOutputReader } from "./backgroundOutput.js";
9
+ import type { TurnStartParams } from "../../codex/generated/v2/TurnStartParams.js";
10
+ import type { TurnSteerParams } from "../../codex/generated/v2/TurnSteerParams.js";
11
+ import type { ThreadBackgroundTerminal } from "../../codex/generated/v2/ThreadBackgroundTerminal.js";
12
+ import type { JsonValue } from "../../codex/generated/serde_json/JsonValue.js";
13
+ import type { Logger } from "../../observability/logger.js";
14
+ import type { ClaudeQueryFactory } from "../queryFactory.js";
15
+ import type { TranscriptBrancher } from "../transcriptBrancher.js";
16
+ import type { ClaudeRateLimitCoordinator } from "../rateLimits.js";
17
+ export interface ClaudeSessionRuntimeDependencies {
18
+ readonly claudeBinary: string;
19
+ readonly logger: Logger;
20
+ readonly queryFactory: ClaudeQueryFactory;
21
+ readonly transcripts: TranscriptBrancher;
22
+ readonly rateLimits: ClaudeRateLimitCoordinator;
23
+ readonly invalidateModelCatalog: () => void;
24
+ readonly isClosing: () => boolean;
25
+ }
26
+ export interface PreparedRuntimeTurn {
27
+ readonly messageUuid: string;
28
+ readonly readOnly: boolean;
29
+ discard(): Promise<void>;
30
+ attach(turn: PreparedSessionTurn["turn"]): () => Promise<void>;
31
+ }
32
+ export declare class ClaudeSession implements ClaudeSessionHandle<ClaudeSessionCommand> {
33
+ private readonly threadId;
34
+ private readonly repository;
35
+ private readonly output;
36
+ private readonly metrics;
37
+ private readonly onLifecycle;
38
+ private readonly onChildCreated;
39
+ private readonly onChildRemoved;
40
+ private readonly shellRunner;
41
+ private readonly backgroundOutputReader;
42
+ private readonly runtimeDependencies?;
43
+ private readonly mailbox;
44
+ private readonly consumer;
45
+ private runtimeLineage;
46
+ private nextRuntimeGeneration;
47
+ private runtimeAdminOperations;
48
+ private runtimeAdminIdle;
49
+ private runtimeInjectionOperations;
50
+ private runtimeInjectionIdle;
51
+ private runtimeReplacement;
52
+ private readonly announcedTurns;
53
+ private readonly announcedInteractions;
54
+ private readonly interactionWaiters;
55
+ private record;
56
+ private runtimeGeneration;
57
+ private readonly scopes;
58
+ private readonly tasks;
59
+ private readonly approvedTools;
60
+ private compaction;
61
+ private readonly compactionActions;
62
+ private lastPublishedUsage;
63
+ private lifecycle;
64
+ private pendingNoQuery;
65
+ private pendingInputs;
66
+ private readonly stagedRuntimeTurns;
67
+ private readonly preparedRuntimeInputs;
68
+ private readonly runtimeInjections;
69
+ private hasSubmittedRuntimeInput;
70
+ private providerError;
71
+ private readonly goalUsageEvents;
72
+ private goalCommandTokensObserved;
73
+ private usageSnapshotGeneration;
74
+ private rootReadOnly;
75
+ private interruptFence;
76
+ private transportStopFence;
77
+ private dropLateFacts;
78
+ private continuationTimer;
79
+ private lastQuiescent;
80
+ private lastActivityMs;
81
+ private lastAcceptProviderFacts;
82
+ private readonly goal;
83
+ private readonly hookRuns;
84
+ private hookDisplayOrder;
85
+ private adminOperation;
86
+ private shell;
87
+ constructor(threadId: string, repository: ClaudeSessionRepository, output: ClaudeOutputAdapter, capacity?: number, metrics?: MetricsRegistry, onLifecycle?: (update: SessionLifecycleUpdate) => void, onChildCreated?: (threadId: string) => void, onChildRemoved?: (threadId: string) => void, shellRunner?: ShellRunner, backgroundOutputReader?: BackgroundOutputReader, runtimeDependencies?: ClaudeSessionRuntimeDependencies | undefined);
88
+ submit<Result>(command: ClaudeSessionCommand): Promise<Result>;
89
+ private submitLineage;
90
+ private submitRuntimeEffect;
91
+ private beginRuntimeReplacement;
92
+ get isLoaded(): boolean;
93
+ ensureRuntime(reinitialize?: boolean): Promise<void>;
94
+ materializeRuntime(): Promise<void>;
95
+ prepareRuntimeTurn(params: TurnStartParams, readOnly?: boolean): Promise<PreparedRuntimeTurn>;
96
+ interruptRuntime(expectedTurnId?: string): Promise<void>;
97
+ fenceCurrentRuntimeStop(expectedTurnId?: string): Promise<boolean>;
98
+ interruptChildRuntime(childThreadId: string, expectedTurnId?: string): Promise<void>;
99
+ listBackgroundTerminals(ownerThreadId: string): Promise<ThreadBackgroundTerminal[]>;
100
+ cleanBackgroundTerminals(ownerThreadId: string): Promise<void>;
101
+ terminateBackgroundTerminal(ownerThreadId: string, processId: string): Promise<boolean>;
102
+ steerRuntime(params: TurnSteerParams): Promise<string>;
103
+ compactRuntime(): Promise<void>;
104
+ preparePromptedCompaction(input: string): Promise<{
105
+ turn: Turn;
106
+ announce: () => Promise<void>;
107
+ }>;
108
+ injectRuntimeItems(items: JsonValue[], waitForAcknowledgement?: boolean): Promise<void>;
109
+ runtimeInspection(): Promise<(RuntimeInspection & {
110
+ runtimeGeneration: number;
111
+ }) | undefined>;
112
+ runtimeIsPlanMode(): Promise<boolean>;
113
+ replaceEphemeralRuntime(replay: {
114
+ readonly resume: boolean;
115
+ readonly batches: JsonValue[][];
116
+ }, replacementId?: string): Promise<void>;
117
+ ephemeralRuntimeReplay(): Promise<{
118
+ readonly canRestart: boolean;
119
+ readonly replay?: {
120
+ readonly resume: boolean;
121
+ readonly batches: JsonValue[][];
122
+ };
123
+ }>;
124
+ retireRuntime(reason?: string): Promise<void>;
125
+ retireRuntimeSilently(): Promise<void>;
126
+ retireRuntimeIfIdle(milliseconds: number): Promise<"retired" | "ephemeral" | "busy" | "absent">;
127
+ mayRelease(): Promise<boolean>;
128
+ withRuntimeAdmin<Result>(effect: () => Promise<Result>): Promise<Result>;
129
+ private withRuntimeInjection;
130
+ close(): Promise<void>;
131
+ private requireRuntimeOwner;
132
+ private currentRuntimeOwner;
133
+ private runtimeStartup;
134
+ private createRuntimeGeneration;
135
+ private waitForProviderRuntime;
136
+ private applyRuntimeSettings;
137
+ private runtimeInspectionFor;
138
+ private canRestartEphemeral;
139
+ private runtimeIdleFor;
140
+ private invalidateRuntimeUsageSnapshot;
141
+ private stageRuntimeTurn;
142
+ private discardRuntimeTurn;
143
+ private attachRuntimeTurn;
144
+ private steerRuntimeOwner;
145
+ private injectHiddenGoalPrompt;
146
+ private injectRuntimeItemsIntoOwner;
147
+ private sendPreparedRuntimeInput;
148
+ private interruptRuntimeOwner;
149
+ private interruptChildRuntimeOwner;
150
+ private listRuntimeBackgroundTerminals;
151
+ private terminateRuntimeBackgroundTerminal;
152
+ private applyRuntimeMainStream;
153
+ private injectRuntimeItemsForOwner;
154
+ private admitRuntimeOperation;
155
+ private completeRuntimeGeneration;
156
+ private runtimeExited;
157
+ private submitProviderProjection;
158
+ private handleProviderFact;
159
+ private projectProviderMessage;
160
+ private cancelProviderInjections;
161
+ private openProviderInteraction;
162
+ private providerCallbackContext;
163
+ private providerInteractionOwner;
164
+ private applyProviderMainStream;
165
+ private canUseProviderTool;
166
+ private askProviderUser;
167
+ private handleProviderElicitation;
168
+ private beforeProviderToolUse;
169
+ private captureProviderFileAfter;
170
+ private providerFactSource;
171
+ private providerChildThreadFor;
172
+ private providerLinkItems;
173
+ private providerEvictMessages;
174
+ private providerSystemMessage;
175
+ private providerChildStreamEvent;
176
+ private providerProjectAssistant;
177
+ private providerProjectToolResults;
178
+ private providerToolProgress;
179
+ private providerSubmitLifecycle;
180
+ private providerSubmitCompactionFailure;
181
+ private providerCompactionBoundary;
182
+ private claimProviderUsageSnapshot;
183
+ private providerUsageSnapshotCurrent;
184
+ private publishProviderUsage;
185
+ private accountProviderUsage;
186
+ private resolveProviderResultUsage;
187
+ private resolveProviderCompactionUsage;
188
+ private accountProviderGoalUsage;
189
+ private providerMainStreamEvent;
190
+ private stopProviderRuntime;
191
+ private retireProviderRuntimeSilently;
192
+ private retireProviderEphemeralPrelude;
193
+ private refreshProviderContextUsage;
194
+ private retireRuntimeOwner;
195
+ private executeRetirement;
196
+ private retireStaleRuntime;
197
+ private run;
198
+ private dispatchEnvelope;
199
+ private dispatch;
200
+ private startShell;
201
+ private runShell;
202
+ private admitShellEffect;
203
+ private appendShellOutput;
204
+ private finishShell;
205
+ private prepareShellCancellation;
206
+ private cancelShell;
207
+ private finalizeShellCancellation;
208
+ private startCompaction;
209
+ private announceCompaction;
210
+ private interruptCompaction;
211
+ private requestCompactionCancellation;
212
+ private projectAutomaticCompaction;
213
+ private completeCompaction;
214
+ private compactionProjection;
215
+ private activeNormalTurn;
216
+ private startTurn;
217
+ private recoverAfterRestart;
218
+ private recoverTurn;
219
+ private recoveredItemEvents;
220
+ private announceTurn;
221
+ private terminalTurn;
222
+ private finishTurn;
223
+ private goalContext;
224
+ private planMode;
225
+ private validateLiveEphemeralSettings;
226
+ private acceptLifecycle;
227
+ private maybeFinish;
228
+ private hasNotifications;
229
+ private hasBlockers;
230
+ private settleForcedScopes;
231
+ private emitLifecycle;
232
+ private publishGoalEffects;
233
+ private executeCompactionTransport;
234
+ private executeGoalEffect;
235
+ private isQuiescent;
236
+ private scheduleContinuation;
237
+ private cancelContinuation;
238
+ private settleRootMessages;
239
+ private appendReviewExit;
240
+ private settleInteraction;
241
+ private interactionWaiter;
242
+ private dispatchThreadAdmin;
243
+ private prepareRemoval;
244
+ private afterShellCancellation;
245
+ private findTool;
246
+ private toolOwner;
247
+ private captureToolFileBefore;
248
+ private captureToolFileAfter;
249
+ private acceptHook;
250
+ private syncInteractionStatus;
251
+ private inspectRuntime;
252
+ private appendSystemNotice;
253
+ private projectMainStream;
254
+ private projectToolFact;
255
+ private evictProjectedItems;
256
+ private ensureBackgroundTailer;
257
+ private drainBackgroundOutput;
258
+ private completeTaskAfterOutputDrain;
259
+ private stopBackgroundTailer;
260
+ private disposeRuntimeOperations;
261
+ private cancelRuntimeInjections;
262
+ private hasOutputDrains;
263
+ private projectTaskFact;
264
+ private updateTool;
265
+ private beginTool;
266
+ private completeTool;
267
+ private createChildScope;
268
+ private finishChildScope;
269
+ private reconcileAssistant;
270
+ private ensureStreamItem;
271
+ private settleAgentMessages;
272
+ private completeStreamItem;
273
+ private requireMainStreamState;
274
+ private requireRecord;
275
+ private usageKey;
276
+ private commitState;
277
+ private publish;
278
+ private publishTurn;
279
+ private publishOwnedTurn;
280
+ private publishAt;
281
+ }