@gkorepanov/ccodex 0.4.4 → 0.4.6

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 (41) hide show
  1. package/README.md +1 -0
  2. package/config/compatibility.json +1 -1
  3. package/dist/claude/rateLimits.d.ts +8 -1
  4. package/dist/claude/rateLimits.js +28 -6
  5. package/dist/claude/rateLimits.js.map +1 -1
  6. package/dist/claude/service.d.ts +4 -3
  7. package/dist/claude/service.js +23 -3
  8. package/dist/claude/service.js.map +1 -1
  9. package/dist/claude/session/session.js +1 -8
  10. package/dist/claude/session/session.js.map +1 -1
  11. package/dist/config/config.d.ts +1 -0
  12. package/dist/config/config.js +6 -1
  13. package/dist/config/config.js.map +1 -1
  14. package/dist/gateway/clientConnection.d.ts +2 -1
  15. package/dist/gateway/clientConnection.js +528 -101
  16. package/dist/gateway/clientConnection.js.map +1 -1
  17. package/dist/gateway/optimisticSideThreads.d.ts +26 -0
  18. package/dist/gateway/optimisticSideThreads.js +158 -0
  19. package/dist/gateway/optimisticSideThreads.js.map +1 -0
  20. package/dist/gateway/server.js +11 -3
  21. package/dist/gateway/server.js.map +1 -1
  22. package/dist/gateway/stockSideThreads.d.ts +29 -1
  23. package/dist/gateway/stockSideThreads.js +223 -21
  24. package/dist/gateway/stockSideThreads.js.map +1 -1
  25. package/dist/gateway/threadList.d.ts +1 -1
  26. package/dist/gateway/threadList.js +1 -1
  27. package/dist/gateway/threadList.js.map +1 -1
  28. package/dist/gateway/transientNotice.d.ts +4 -0
  29. package/dist/gateway/transientNotice.js +19 -0
  30. package/dist/gateway/transientNotice.js.map +1 -1
  31. package/dist/handoff/service.d.ts +4 -2
  32. package/dist/handoff/service.js +88 -22
  33. package/dist/handoff/service.js.map +1 -1
  34. package/dist/handoff/store.d.ts +6 -4
  35. package/dist/handoff/store.js +43 -19
  36. package/dist/handoff/store.js.map +1 -1
  37. package/dist/state/stockStateTracker.d.ts +4 -0
  38. package/dist/state/stockStateTracker.js +41 -0
  39. package/dist/state/stockStateTracker.js.map +1 -1
  40. package/examples/config.toml +1 -0
  41. package/package.json +4 -4
package/README.md CHANGED
@@ -145,6 +145,7 @@ Return only the title.
145
145
 
146
146
  [features]
147
147
  status_command = false # forward /ccstatus and /ccstate to the provider as plain messages
148
+ optimistic_side_startup = true # open `/side` immediately while provider context is prepared
148
149
  ```
149
150
 
150
151
  Remove or comment out `rename_prompt` for byte-compatible stock Codex title generation.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "productVersion": "0.4.4",
3
+ "productVersion": "0.4.6",
4
4
  "node": ">=22.13 <27",
5
5
  "codexCli": "0.144.6",
6
6
  "codexGitRevision": "1e66aaa95b5ab39d3ef3057cd50bdecd576a8356",
@@ -23,12 +23,18 @@ export interface ClaudeRateLimitsResponse {
23
23
  export declare class ClaudeUsageSchemaError extends Error {
24
24
  constructor(message: string);
25
25
  }
26
+ export declare function providerResetSeconds(value: number | undefined): number | null;
26
27
  export declare function unavailableClaudeRateLimits(): ClaudeRateLimitsResponse;
27
28
  export declare function mapClaudeUsage(raw: unknown): ClaudeRateLimitsResponse;
28
29
  export interface ClaudeUsageSource {
29
30
  usage_EXPERIMENTAL_MAY_CHANGE_DO_NOT_RELY_ON_THIS_API_YET(): ReturnType<Query["usage_EXPERIMENTAL_MAY_CHANGE_DO_NOT_RELY_ON_THIS_API_YET"]>;
30
31
  }
31
- type Listener = (response: ClaudeRateLimitsResponse) => void;
32
+ export interface ClaudeRateLimitTransition {
33
+ readonly bucket: string;
34
+ readonly status: "allowed_warning" | "rejected";
35
+ readonly resetsAt: number | null;
36
+ }
37
+ type Listener = (response: ClaudeRateLimitsResponse, transition?: ClaudeRateLimitTransition) => void;
32
38
  export interface ClaudeRateLimitCoordinatorOptions {
33
39
  readonly ttlMs?: number;
34
40
  readonly staleTtlMs?: number;
@@ -49,6 +55,7 @@ export declare class ClaudeRateLimitCoordinator {
49
55
  private cache;
50
56
  private inFlight;
51
57
  private unavailableReason;
58
+ private readonly notices;
52
59
  constructor(logger: Logger, options?: ClaudeRateLimitCoordinatorOptions);
53
60
  register(source: ClaudeUsageSource): number;
54
61
  unregister(generation: number): void;
@@ -71,7 +71,7 @@ function resetSeconds(value) {
71
71
  throw new ClaudeUsageSchemaError(`Malformed Claude rate-limit reset timestamp '${value}'.`);
72
72
  return Math.floor(millis / 1_000);
73
73
  }
74
- function eventResetSeconds(value) {
74
+ export function providerResetSeconds(value) {
75
75
  if (value === undefined)
76
76
  return null;
77
77
  if (!Number.isFinite(value) || value < 0)
@@ -143,6 +143,7 @@ export class ClaudeRateLimitCoordinator {
143
143
  cache;
144
144
  inFlight;
145
145
  unavailableReason = "No authenticated Claude runtime is loaded.";
146
+ notices = new Map();
146
147
  constructor(logger, options = {}) {
147
148
  this.logger = logger;
148
149
  this.ttlMs = options.ttlMs ?? 60_000;
@@ -176,6 +177,7 @@ export class ClaudeRateLimitCoordinator {
176
177
  this.cache = undefined;
177
178
  this.inFlight = undefined;
178
179
  this.unavailableReason = `Claude authentication changed (${reason}).`;
180
+ this.notices.clear();
179
181
  this.logger.warn("claude.rate-limits.invalidated", { reason });
180
182
  }
181
183
  async read() {
@@ -215,16 +217,17 @@ export class ClaudeRateLimitCoordinator {
215
217
  const target = eventTarget(info.rateLimitType);
216
218
  if (!target)
217
219
  return;
218
- const response = structuredClone(this.cached());
220
+ const previousResponse = this.cached();
221
+ const response = structuredClone(previousResponse);
219
222
  const bucket = response.rateLimitsByLimitId[target.id]
220
223
  ?? snapshot(target.id, target.name, null, null, response.rateLimits.planType);
221
224
  const current = target.secondary ? response.rateLimits.secondary : bucket.primary;
222
225
  const incoming = {
223
226
  usedPercent: info.utilization === undefined ? current?.usedPercent ?? null : percent(info.utilization),
224
227
  windowDurationMins: target.duration,
225
- resetsAt: info.resetsAt === undefined ? current?.resetsAt ?? null : eventResetSeconds(info.resetsAt),
228
+ resetsAt: info.resetsAt === undefined ? current?.resetsAt ?? null : providerResetSeconds(info.resetsAt),
226
229
  };
227
- if (current && incoming.resetsAt !== null && current.resetsAt !== null) {
230
+ if (info.status !== "allowed" && current && incoming.resetsAt !== null && current.resetsAt !== null) {
228
231
  if (incoming.resetsAt < current.resetsAt)
229
232
  return;
230
233
  if (incoming.resetsAt === current.resetsAt && incoming.usedPercent !== null && current.usedPercent !== null
@@ -234,7 +237,7 @@ export class ClaudeRateLimitCoordinator {
234
237
  const previousReached = target.id === "claude" ? response.rateLimits.rateLimitReachedType : bucket.rateLimitReachedType;
235
238
  const reached = info.status === "rejected"
236
239
  ? "rate_limit_reached"
237
- : previousReached;
240
+ : info.status === "allowed" ? null : previousReached;
238
241
  if (target.id === "claude" && target.secondary) {
239
242
  response.rateLimits = { ...response.rateLimits, limitName: "Claude", secondary: incoming, rateLimitReachedType: reached };
240
243
  }
@@ -245,6 +248,25 @@ export class ClaudeRateLimitCoordinator {
245
248
  response.rateLimits = next;
246
249
  }
247
250
  response.rateLimitsByLimitId.claude = response.rateLimits;
251
+ const noticeBucket = `${target.id}:${target.secondary ? "secondary" : "primary"}`;
252
+ let transition;
253
+ if (info.status === "allowed") {
254
+ this.notices.delete(noticeBucket);
255
+ }
256
+ else {
257
+ const candidate = {
258
+ bucket: noticeBucket,
259
+ status: info.status,
260
+ resetsAt: incoming.resetsAt,
261
+ };
262
+ const previous = this.notices.get(noticeBucket);
263
+ if (!previous || previous.status !== candidate.status || previous.resetsAt !== candidate.resetsAt) {
264
+ this.notices.set(noticeBucket, candidate);
265
+ transition = candidate;
266
+ }
267
+ }
268
+ if (JSON.stringify(previousResponse) === JSON.stringify(response) && !transition)
269
+ return;
248
270
  this.cache = {
249
271
  response,
250
272
  fetchedAt: this.now(),
@@ -254,7 +276,7 @@ export class ClaudeRateLimitCoordinator {
254
276
  if (hasRateLimitWindows(response))
255
277
  this.unavailableReason = null;
256
278
  for (const listener of this.listeners.values())
257
- listener(response);
279
+ listener(response, transition);
258
280
  }
259
281
  async refresh() {
260
282
  const attemptGeneration = this.nextGeneration;
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimits.js","sourceRoot":"","sources":["../../src/claude/rateLimits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rateLimits.js","sourceRoot":"","sources":["../../src/claude/rateLimits.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ import { type ClaudeQueryFactory } from "./queryFactory.js";
42
42
  import type { Model } from "../codex/generated/v2/Model.js";
43
43
  import { MetricsRegistry } from "../observability/metrics.js";
44
44
  import { type TranscriptBrancher } from "./transcriptBrancher.js";
45
- import { type ClaudeRateLimitStatus, type ClaudeRateLimitsResponse } from "./rateLimits.js";
45
+ import { type ClaudeRateLimitTransition, type ClaudeRateLimitStatus, type ClaudeRateLimitsResponse } from "./rateLimits.js";
46
46
  import { ShellRunner } from "./session/shellRunner.js";
47
47
  import { type ProviderAvailabilityProbe } from "../runtime/providerAvailability.js";
48
48
  import { type ThreadStateSnapshot } from "../state/stateCommand.js";
@@ -99,10 +99,11 @@ export declare class ClaudeService {
99
99
  readRateLimits(foregroundThreadId?: string): Promise<ClaudeRateLimitsResponse>;
100
100
  readRateLimitStatus(foregroundThreadId?: string): Promise<ClaudeRateLimitStatus>;
101
101
  cachedRateLimits(): ClaudeRateLimitsResponse;
102
- subscribeRateLimits(connectionId: string, listener: (response: ClaudeRateLimitsResponse) => void): void;
102
+ subscribeRateLimits(connectionId: string, listener: (response: ClaudeRateLimitsResponse, transition?: ClaudeRateLimitTransition) => void): void;
103
103
  unsubscribeRateLimits(connectionId: string): void;
104
104
  handoffSource(threadId: string, lastTurnId?: string | null): Promise<ClaudeHandoffSource>;
105
105
  currentThreadSettings(threadId: string): ThreadSettings;
106
+ sideSnapshot(sourceThreadId: string, targetThreadId: string, visibleForkedFromId: string): ThreadForkResponse;
106
107
  loadedThreadIds(): string[];
107
108
  reportError(threadId: string, requestedTurnId: string | undefined, message: string, codexErrorInfo: CodexErrorInfo): Promise<boolean>;
108
109
  startThread(params: ThreadStartParams): Promise<ThreadStartResponse>;
@@ -173,7 +174,7 @@ export declare class ClaudeService {
173
174
  cancelEphemeralRelease(threadId: string): void;
174
175
  private releaseEphemeralThreadOnce;
175
176
  listItems(params: ThreadItemsListParams): ThreadItemsListResponse;
176
- forkThread(params: ThreadForkParams): Promise<ThreadForkResponse>;
177
+ forkThread(params: ThreadForkParams, visibleForkedFromId?: string): Promise<ThreadForkResponse>;
177
178
  rollbackThread(params: ThreadRollbackParams): Promise<ThreadRollbackResponse>;
178
179
  prepareGoalSet(params: ThreadGoalSetParams): Promise<PreparedGoalHandle<{
179
180
  goal: ThreadGoal;
@@ -364,6 +364,24 @@ export class ClaudeService {
364
364
  currentThreadSettings(threadId) {
365
365
  return threadSettings(this.requireRecord(threadId, false));
366
366
  }
367
+ sideSnapshot(sourceThreadId, targetThreadId, visibleForkedFromId) {
368
+ const record = this.requireRecord(sourceThreadId, false);
369
+ const response = threadResponse(record, false);
370
+ return {
371
+ ...response,
372
+ thread: {
373
+ ...record.thread,
374
+ id: targetThreadId,
375
+ forkedFromId: visibleForkedFromId,
376
+ ephemeral: true,
377
+ path: null,
378
+ threadSource: "user",
379
+ status: { type: "idle" },
380
+ name: record.thread.name,
381
+ turns: [],
382
+ },
383
+ };
384
+ }
367
385
  loadedThreadIds() {
368
386
  const loaded = new Set(this.sessions.loadedOwnerIds());
369
387
  for (const record of this.store.allThreadRecords()) {
@@ -948,7 +966,7 @@ export class ClaudeService {
948
966
  backwardsCursor: data.length > 0 ? `hyb-item:${Math.max(0, offset - limit)}` : null,
949
967
  };
950
968
  }
951
- async forkThread(params) {
969
+ async forkThread(params, visibleForkedFromId = params.threadId) {
952
970
  if (params.path)
953
971
  throw invalidParams("Claude thread forks must use threadId, not a Codex rollout path.");
954
972
  this.requireIndependentThread(params.threadId, "fork");
@@ -1022,10 +1040,12 @@ export class ClaudeService {
1022
1040
  const cwd = existingThreadCwd(params.cwd ?? sourceRecord.thread.cwd);
1023
1041
  const thread = {
1024
1042
  ...sourceRecord.thread, id: uuidv7(), ephemeral: params.ephemeral ?? false,
1025
- sessionId: sourceRecord.thread.sessionId, forkedFromId: sourceRecord.thread.id,
1043
+ sessionId: sourceRecord.thread.sessionId, forkedFromId: visibleForkedFromId,
1026
1044
  cwd, modelProvider: "claude", createdAt, updatedAt: createdAt, recencyAt: createdAt,
1027
1045
  status: params.ephemeral ? { type: "idle" } : { type: "notLoaded" },
1028
- name: sourceRecord.thread.name ? `${sourceRecord.thread.name} (fork)` : null,
1046
+ name: params.ephemeral
1047
+ ? sourceRecord.thread.name
1048
+ : sourceRecord.thread.name ? `${sourceRecord.thread.name} (fork)` : null,
1029
1049
  threadSource: params.threadSource ?? sourceRecord.thread.threadSource, turns: [],
1030
1050
  };
1031
1051
  const copiedTurns = sourceTurns.map((turn) => forkProjection(turn, thread.id));