@quantiya/codevibe-core 2.0.73 → 2.0.74

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.
@@ -802,6 +802,9 @@ export declare class AppSyncClient {
802
802
  retireDesktopSyncRegistration(options: DesktopSyncSessionScope & {
803
803
  root?: string;
804
804
  }, retired: Session): Promise<boolean>;
805
+ /** Both callers have terminal authority and have joined their read owners:
806
+ * the returned INACTIVE session above, or a freshly confirmed durable intent. */
807
+ private removeDesktopSyncRegistrationState;
805
808
  /** Explicit metered route; no legacy fallback, synthetic Event or local quota authority. */
806
809
  desktopSyncWriter(options?: {
807
810
  root?: string;
@@ -930,7 +933,7 @@ export declare class AppSyncClient {
930
933
  private resolveOwnedPrompt;
931
934
  private finishPromptResolution;
932
935
  /** Explicit session-owned restart recovery. Inventory is bounded by the
933
- * account store's 256-file cap; empty inventory does no cloud I/O. Reuses
936
+ * account store's file cap; empty inventory does no cloud I/O. Reuses
934
937
  * original ownership/generation, not current Session or encryption state.
935
938
  * No failure/age/quota condition deletes an outstanding intent. */
936
939
  recoverPromptResolutions(options: {
@@ -166,6 +166,10 @@ export declare class DurableDesktopSyncWriter {
166
166
  /** Caller must join subscription/provider dispatch and prove canonical
167
167
  * INACTIVE first; no closed generation may execute these inputs again. */
168
168
  removeInbound(): Promise<boolean>;
169
+ /** The encrypted record is also the recovery index for these outer locks.
170
+ * Release them strictly BEFORE unlinking it, while the store stays fenced.
171
+ * A failed release preserves the record and the caller's retirement intent. */
172
+ private removeBookkeepingRecord;
169
173
  /** Exact empty-source GC only after the owner has joined all its emitters
170
174
  * and received canonical terminal-session proof. Pending payload or receipts
171
175
  * are never discarded here. Admission/drain locks serialize the empty check
@@ -175,6 +179,9 @@ export declare class DurableDesktopSyncWriter {
175
179
  * merely missing/old source files or a new session ID never create an intent. */
176
180
  sessionRetirements(): Promise<readonly SessionRetirementRecord[]>;
177
181
  hasSessionRetirementWork(expectedSessionKeyGen: string): Promise<boolean>;
182
+ /** Presence is not deletion authority. Callers still need their joined
183
+ * terminal owner and fresh retirement confirmation before cleanup. */
184
+ hasSessionRegistrationState(): Promise<boolean>;
178
185
  /** Durable stop/join intent -> confirmed source cleanup -> control ACKs ->
179
186
  * intent removal. Network I/O never holds the account-store lock. */
180
187
  runSessionRetirement<T>(input: ConfirmDesktopSyncRetirementInput, toolOutbox: ToolSyncRetirementLocation | null, cleanup: (record: SessionRetirementRecord, fence: () => Promise<void>) => Promise<T>, options?: {
@@ -81,6 +81,7 @@ export declare function decodePromptRetention(value: unknown): PromptRetentionRe
81
81
  export interface PromptRetentionJournal {
82
82
  run(promptIds: readonly string[], refresh: (promptId: string) => Promise<SyncPromptRetentionReceipt>, reRaise: (promptId: string, reRaiseToken: string) => Promise<PromptReRaiseDisposition>, now?: () => number): Promise<void>;
83
83
  /** Only after the exact session is canonically INACTIVE and work is joined. */
84
+ /** Owns terminal serialization, including strict release before unlink. */
84
85
  remove(): Promise<void>;
85
86
  }
86
87
  interface Store {