@quantiya/codevibe-core 2.0.72 → 2.0.73
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.
- package/dist/appsync/appsync-client.d.ts +1 -0
- package/dist/appsync/sync-operation-journal.d.ts +1 -0
- package/dist/appsync/sync-session-retirement.d.ts +1 -1
- package/dist/appsync/sync-source-pair.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +518 -518
- package/dist/orchestration/detect-agents.d.ts +20 -0
- package/dist/orchestration/index.d.ts +1 -1
- package/dist/orchestration-shell/audit-summary.d.ts +2 -0
- package/dist/orchestration-shell/cli.d.ts +4 -0
- package/dist/orchestration-shell/cli.js +262 -80
- package/dist/orchestration-shell/doctor-cli.d.ts +2 -0
- package/dist/orchestration-shell/quorum-loop.d.ts +17 -3
- package/dist/tool-activity/ledger.d.ts +5 -0
- package/dist/tool-activity/outbox.d.ts +3 -2
- package/dist/tool-activity/replay-cursor.d.ts +17 -3
- package/dist/tool-activity/sync-transport.d.ts +3 -0
- package/package.json +1 -1
|
@@ -489,6 +489,10 @@ export interface QuorumLoopDeps {
|
|
|
489
489
|
* `undefined`.
|
|
490
490
|
*/
|
|
491
491
|
detectedAgents?: string[];
|
|
492
|
+
/** Deterministic active models per agent discovered during local agent detection. */
|
|
493
|
+
detectedAgentModels?: Partial<Record<string, string>> | Record<string, string>;
|
|
494
|
+
/** Explicitly configured models per agent (env or local config only, no synthetic defaults). */
|
|
495
|
+
configuredAgentModels?: Partial<Record<string, string>> | Record<string, string>;
|
|
492
496
|
/**
|
|
493
497
|
* #585 auto-continuation (Max) — the resolved authenticated subscription tier
|
|
494
498
|
* threaded from CLI startup/resume.
|
|
@@ -961,13 +965,21 @@ export declare class QuorumLoop {
|
|
|
961
965
|
* Enables reconciliation if a user decision arrives or is replayed after promotion.
|
|
962
966
|
*/
|
|
963
967
|
private readonly completedTaskSummaries;
|
|
964
|
-
private readonly
|
|
968
|
+
private readonly declaredRosterByTask;
|
|
969
|
+
private readonly dispatchedRosterByTask;
|
|
965
970
|
private readonly taskDegradedMetadataByTask;
|
|
966
971
|
private getCompletedSummariesPath;
|
|
967
972
|
private shouldUnlinkAbandonedTmpLockFile;
|
|
968
973
|
private withCompletedSummariesLock;
|
|
969
974
|
private loadCompletedSummariesFromDisk;
|
|
970
|
-
|
|
975
|
+
/** @internal */
|
|
976
|
+
recordCompletedTaskSummary(taskId: string, info: {
|
|
977
|
+
historySnapshot?: ReviewHistorySnapshot | null;
|
|
978
|
+
filesApplied: number;
|
|
979
|
+
completedAt: string;
|
|
980
|
+
originEpoch?: number;
|
|
981
|
+
workspaceApplicationStatus?: 'pending_merge_gate' | 'applied' | 'unobserved';
|
|
982
|
+
}): void;
|
|
971
983
|
getCompletedTaskSummary(taskId: string): {
|
|
972
984
|
historySnapshot?: ReviewHistorySnapshot | null;
|
|
973
985
|
filesApplied: number;
|
|
@@ -1624,6 +1636,8 @@ export declare class QuorumLoop {
|
|
|
1624
1636
|
*/
|
|
1625
1637
|
getDurableStore(): RevertManifestStore | undefined;
|
|
1626
1638
|
getDetectedAgents(): AgentKind[];
|
|
1639
|
+
getDetectedModelForAgent(agent: string): string | null;
|
|
1640
|
+
getExplicitModelForAgent(agent: string): string | null;
|
|
1627
1641
|
/**
|
|
1628
1642
|
* #585 auto-continuation (Max) — pick the agent to AUTO-CONTINUE on when the
|
|
1629
1643
|
* implementor for `taskId` hit a quota wall, or `null` to fall through to the
|
|
@@ -2301,7 +2315,7 @@ export declare class QuorumLoop {
|
|
|
2301
2315
|
* error propagates (the caller surfaces it fail-closed).
|
|
2302
2316
|
*/
|
|
2303
2317
|
private submitImplementorOutputWithRetry;
|
|
2304
|
-
|
|
2318
|
+
handleReviewerDispatch(payload: ReviewerDispatchPayload): Promise<void>;
|
|
2305
2319
|
/**
|
|
2306
2320
|
* §3.C.21 — spawn + run ONE reviewer seat, then submit its verdict.
|
|
2307
2321
|
* Double-guarded (§3.C.21b LOCK): a seat already running-in-memory OR
|
|
@@ -212,6 +212,11 @@ export declare class ToolActivityLedger {
|
|
|
212
212
|
markTerminal(clientEventId: string, invocationIds?: string[]): Promise<void>;
|
|
213
213
|
/** Retirement is permanent replay suppression, not delivery/quota settlement. */
|
|
214
214
|
markRetired(clientEventId: string, invocationIds: string[]): Promise<void>;
|
|
215
|
+
/** One durable mutation per bounded retirement page, not per window. */
|
|
216
|
+
markRetiredWindows(windows: readonly {
|
|
217
|
+
clientEventId: string;
|
|
218
|
+
invocationIds: string[];
|
|
219
|
+
}[]): Promise<void>;
|
|
215
220
|
/** R2 keeps a window settlement independently of occurrence remapping/pruning. */
|
|
216
221
|
markSettled(clientEventId: string, invocationIds: string[], disposition: 'acked' | 'terminal', requireDirectorySync?: boolean): Promise<void>;
|
|
217
222
|
/**
|
|
@@ -3,7 +3,7 @@ import type { DesktopSyncSessionScope } from '../appsync/sync-operation-journal'
|
|
|
3
3
|
import type { ToolSyncRetirementLocation } from '../appsync/sync-session-retirement';
|
|
4
4
|
import { ToolActivityOutboxEnvelope } from './types';
|
|
5
5
|
export interface ToolActivityOutboxOptions {
|
|
6
|
-
/** Plugin agent slug — `claude` | `codex` (the on-disk namespace). */
|
|
6
|
+
/** Plugin agent slug — `claude` | `codex` | `agy` (the on-disk namespace). */
|
|
7
7
|
agent: string;
|
|
8
8
|
logger: Logger;
|
|
9
9
|
/** Override the root for tests; defaults to `~/.codevibe/<agent>/tool-activity-outbox`. */
|
|
@@ -17,7 +17,7 @@ export interface ListPendingResult {
|
|
|
17
17
|
quarantined: string[];
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* The durable outbox for ONE consolidated plugin (claude / codex). A pure
|
|
20
|
+
* The durable outbox for ONE consolidated plugin (claude / codex / agy). A pure
|
|
21
21
|
* durability primitive: persist / list-and-validate / prune / enumerate. The
|
|
22
22
|
* send orchestration (encrypt-at-send, retry, back-pressure, ack) lives in the
|
|
23
23
|
* consolidator that owns this outbox.
|
|
@@ -60,6 +60,7 @@ export declare class ToolActivityOutbox {
|
|
|
60
60
|
* No temp sweep, quarantine, generation rewrite or legacy window deletion. */
|
|
61
61
|
withRetirementSources<T>(scope: DesktopSyncSessionScope, action: (sources: {
|
|
62
62
|
windows: ToolActivityOutboxEnvelope[];
|
|
63
|
+
hasMore: boolean;
|
|
63
64
|
markRetired(): Promise<void>;
|
|
64
65
|
prune(): Promise<void>;
|
|
65
66
|
}) => Promise<T>): Promise<T | null>;
|
|
@@ -57,6 +57,19 @@ export declare const ReplayCursorStateSchema: z.ZodObject<{
|
|
|
57
57
|
carryover: string;
|
|
58
58
|
}>;
|
|
59
59
|
export type ReplayCursorState = z.infer<typeof ReplayCursorStateSchema>;
|
|
60
|
+
/** A first-host boundary captured before lifecycle/cloud awaits. This excludes
|
|
61
|
+
* pre-host history; it is NOT a delivery acknowledgement or a copied cursor. */
|
|
62
|
+
export interface ToolReplayInitialBoundary {
|
|
63
|
+
byteOffset: number;
|
|
64
|
+
fileIdentity: {
|
|
65
|
+
dev: number;
|
|
66
|
+
ino: number;
|
|
67
|
+
};
|
|
68
|
+
size: number;
|
|
69
|
+
}
|
|
70
|
+
/** Capture a native boundary synchronously before lifecycle/cloud awaits.
|
|
71
|
+
* Existing partial records remain unread. Memory and reverse lookup are bounded. */
|
|
72
|
+
export declare function captureToolReplayBoundary(filePath: string, initialOffset?: number): ToolReplayInitialBoundary;
|
|
60
73
|
/** One framed transcript line with its byte span. */
|
|
61
74
|
export interface ReplayFrame {
|
|
62
75
|
line: string;
|
|
@@ -126,10 +139,11 @@ export declare class ToolReplayCursor {
|
|
|
126
139
|
constructor(opts: ToolReplayCursorOptions);
|
|
127
140
|
private filePath;
|
|
128
141
|
/**
|
|
129
|
-
*
|
|
130
|
-
*
|
|
142
|
+
* Existing checkpoints win over a new hosting boundary. Without a boundary,
|
|
143
|
+
* the legacy recovery contract remains rescan-from0. A supplied boundary is
|
|
144
|
+
* used only for a truly absent cursor, never to hide existing corrupt state.
|
|
131
145
|
*/
|
|
132
|
-
load(): Promise<void>;
|
|
146
|
+
load(initialBoundary?: ToolReplayInitialBoundary, requireExisting?: boolean): Promise<void>;
|
|
133
147
|
/** The current durable checkpoint (0 when fresh). */
|
|
134
148
|
byteOffset(): number;
|
|
135
149
|
/**
|
|
@@ -23,9 +23,12 @@ export declare function retireToolActivityWindows(options: {
|
|
|
23
23
|
writer: DurableDesktopSyncWriter;
|
|
24
24
|
expectedSessionKeyGen: string;
|
|
25
25
|
confirm(input: ConfirmDesktopSyncRetirementInput): Promise<SyncSessionRetirementReceipt>;
|
|
26
|
+
/** Terminal exit records the existing intent instead of pruning a backlog. */
|
|
27
|
+
deferIfPaged?: boolean;
|
|
26
28
|
}): Promise<{
|
|
27
29
|
windowsRemoved: number;
|
|
28
30
|
operationsRemoved: number;
|
|
31
|
+
hasMore?: true;
|
|
29
32
|
}>;
|
|
30
33
|
/**
|
|
31
34
|
* Shared metered tool transport. An existing ULID window maps deterministically
|
package/package.json
CHANGED