@quantiya/codevibe-claude-plugin 2.0.74 → 2.0.76
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/.claude-plugin/plugin.json +1 -1
- package/dist/server.js +18 -18
- package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.d.ts +23 -24
- package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.d.ts +6 -12
- package/node_modules/@quantiya/codevibe-core/dist/appsync/sync-event-client.d.ts +3 -3
- package/node_modules/@quantiya/codevibe-core/dist/appsync/sync-inbound-journal.d.ts +2 -0
- package/node_modules/@quantiya/codevibe-core/dist/appsync/sync-live-connection.d.ts +6 -1
- package/node_modules/@quantiya/codevibe-core/dist/appsync/sync-operation-journal.d.ts +5 -0
- package/node_modules/@quantiya/codevibe-core/dist/appsync/sync-workspace-outcome.d.ts +5 -3
- package/node_modules/@quantiya/codevibe-core/dist/index.js +503 -516
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.d.ts +1 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +397 -390
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/decision-attempt-recovery.d.ts +2 -2
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/gate-decision-submit.d.ts +2 -2
- package/node_modules/@quantiya/codevibe-core/dist/substrate/sandbox-exec.d.ts +7 -0
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/consolidator.d.ts +5 -1
- package/node_modules/@quantiya/codevibe-core/package.json +1 -1
- package/package.json +2 -2
|
@@ -762,10 +762,6 @@ export declare class AppSyncClient {
|
|
|
762
762
|
* added wait. Retain the server's earliest retry time after cancellation or
|
|
763
763
|
* exhaustion so a later caller cannot restart I/O before that time. */
|
|
764
764
|
private readCompanionSyncState;
|
|
765
|
-
/** Reuse only the server-unexpired protocol selection, never its entitlement
|
|
766
|
-
* or usage as admission authority. Every selected cloud operation still
|
|
767
|
-
* authorizes itself. Explicit status/quota refreshes remain fresh reads. */
|
|
768
|
-
private getCompanionSyncRoute;
|
|
769
765
|
/** Subscribe to validated reads already performed by this client. No new
|
|
770
766
|
* request, persistent journal, producer grant or retry is created here. */
|
|
771
767
|
subscribeCompanionSyncState(userId: string, listener: (state: CompanionSyncState | null) => void): () => void;
|
|
@@ -779,8 +775,8 @@ export declare class AppSyncClient {
|
|
|
779
775
|
private resetSyncProducerAuthority;
|
|
780
776
|
private resetCompanionSyncDisplay;
|
|
781
777
|
private publishCompanionSyncDisplay;
|
|
782
|
-
/** Signed closed safety fact
|
|
783
|
-
*
|
|
778
|
+
/** Signed closed safety fact. The cloud owns availability/accounting policy;
|
|
779
|
+
* no client status read or transport selection precedes this operation.
|
|
784
780
|
* Success confirms canonical persistence, never phone/render delivery. */
|
|
785
781
|
reportSecurityPostureIfSelected(sessionScope: {
|
|
786
782
|
sessionId: string;
|
|
@@ -872,17 +868,18 @@ export declare class AppSyncClient {
|
|
|
872
868
|
ledger: ToolActivityLedger;
|
|
873
869
|
}): Promise<void>;
|
|
874
870
|
/**
|
|
875
|
-
*
|
|
876
|
-
*
|
|
877
|
-
*
|
|
878
|
-
* sealed source windows as a different protocol.
|
|
871
|
+
* Both producer formats use the existing createEvent API. Retained signed
|
|
872
|
+
* sources keep their original generation and bytes; legacy sessions keep
|
|
873
|
+
* their supported request shape. Neither format selects accounting policy.
|
|
879
874
|
*/
|
|
880
875
|
selectToolActivityTransport(options: {
|
|
881
876
|
sessionId: string;
|
|
882
877
|
root?: string;
|
|
883
878
|
legacyTransport: ToolActivityTransport;
|
|
884
879
|
}): Promise<ToolActivityTransport>;
|
|
885
|
-
/**
|
|
880
|
+
/** Prepare request format from session identity, never quota/control mode.
|
|
881
|
+
* SDK tags remain temporarily for existing source owners. They identify
|
|
882
|
+
* journal formats, not different APIs or accounting policies. */
|
|
886
883
|
selectCompanionSourceTransport(options: {
|
|
887
884
|
sessionId: string;
|
|
888
885
|
root?: string;
|
|
@@ -897,6 +894,9 @@ export declare class AppSyncClient {
|
|
|
897
894
|
getEncryptionContext(): Promise<ToolActivitySyncEncryption>;
|
|
898
895
|
prepareEvent(input: CreateEventInput, operationId: string): Promise<CreateDesktopSyncEventInput>;
|
|
899
896
|
}>;
|
|
897
|
+
/** An ordinary subscription/reader is not authority to sign as the creator.
|
|
898
|
+
* Read the existing identity only; never mint a replacement for this check. */
|
|
899
|
+
private canSignDesktopSession;
|
|
900
900
|
/** Shared E1 producer adapter. The legacy encryption factory runs only after
|
|
901
901
|
* affirmative cloud LEGACY selection. V2 encrypts inside the durable source
|
|
902
902
|
* factory and never maps a quota omission to a successful cloud publication. */
|
|
@@ -928,7 +928,7 @@ export declare class AppSyncClient {
|
|
|
928
928
|
}, legacy: () => Promise<boolean>, options?: {
|
|
929
929
|
root?: string;
|
|
930
930
|
}): Promise<boolean>;
|
|
931
|
-
private
|
|
931
|
+
private resolveOwnedPrompt;
|
|
932
932
|
private finishPromptResolution;
|
|
933
933
|
/** Explicit session-owned restart recovery. Inventory is bounded by the
|
|
934
934
|
* account store's 256-file cap; empty inventory does no cloud I/O. Reuses
|
|
@@ -1000,11 +1000,10 @@ export declare class AppSyncClient {
|
|
|
1000
1000
|
/** Monotonic control transition; safe retry means re-read canonical status,
|
|
1001
1001
|
* not retrying the provider input or manufacturing a full Event response. */
|
|
1002
1002
|
updateDesktopSyncEventStatus(input: UpdateDesktopSyncStatusInput, signal?: AbortSignal): Promise<SyncStatusReceipt>;
|
|
1003
|
-
/**
|
|
1004
|
-
* must persist each receipt/progress before advancing its refresh batch. */
|
|
1003
|
+
/** Compatibility helper over the existing batch API; no expiry is invented. */
|
|
1005
1004
|
refreshDesktopSyncPrompt(promptId: string, signal?: AbortSignal): Promise<SyncPromptRetentionReceipt>;
|
|
1006
|
-
/**
|
|
1007
|
-
*
|
|
1005
|
+
/** One canonical batch route. Retained generations identify only the local
|
|
1006
|
+
* re-raise journal; they cannot select a cloud API or accounting policy. */
|
|
1008
1007
|
refreshSessionOpenPromptTtl(options: {
|
|
1009
1008
|
sessionId: string;
|
|
1010
1009
|
promptIds: readonly string[];
|
|
@@ -1041,7 +1040,7 @@ export declare class AppSyncClient {
|
|
|
1041
1040
|
getSession(sessionId: string): Promise<Session | null>;
|
|
1042
1041
|
/** The workspace owner retains its existing durable outbox. Never put a
|
|
1043
1042
|
* second journal around it, re-encrypt it, or choose the current generation.
|
|
1044
|
-
*
|
|
1043
|
+
* Existing createEvent owns cloud policy and returns its authenticated Event.
|
|
1045
1044
|
*/
|
|
1046
1045
|
submitWorkspaceOutcome(value: CreateEventInput, options?: WorkspaceOutcomeSubmissionOptions): Promise<WorkspaceOutcomeReceipt>;
|
|
1047
1046
|
/**
|
|
@@ -1057,7 +1056,7 @@ export declare class AppSyncClient {
|
|
|
1057
1056
|
* row/Event had already aged out — the caller re-raises those (§6a-4
|
|
1058
1057
|
* return-driven re-raise). No-ops on an empty list (no network call).
|
|
1059
1058
|
*/
|
|
1060
|
-
refreshOpenPromptTtl(promptIds: string[]): Promise<string[]>;
|
|
1059
|
+
refreshOpenPromptTtl(promptIds: string[], signal?: AbortSignal): Promise<string[]>;
|
|
1061
1060
|
/**
|
|
1062
1061
|
* Update event status
|
|
1063
1062
|
*/
|
|
@@ -1367,9 +1366,9 @@ export declare class AppSyncClient {
|
|
|
1367
1366
|
* result is deliberately not subscribed: it fences the submitting client but
|
|
1368
1367
|
* never stands in for the durable GATE_RESOLUTION Event.
|
|
1369
1368
|
*/
|
|
1370
|
-
|
|
1369
|
+
submitGateDecision(request: CanonicalGateDecisionRequest, canonicalRequestHash: string): Promise<DecisionSubmissionResult>;
|
|
1371
1370
|
/** P16/P20 TaskGroup-native decision admission (CLAIM, not workflow COMMIT). */
|
|
1372
|
-
|
|
1371
|
+
submitGroupDecision(request: CanonicalGroupDecisionRequest, canonicalRequestHash: string): Promise<DecisionSubmissionResult>;
|
|
1373
1372
|
authorizeGroupTerminalOperation(input: {
|
|
1374
1373
|
sessionId: string;
|
|
1375
1374
|
taskGroupId: string;
|
|
@@ -1424,7 +1423,7 @@ export declare class AppSyncClient {
|
|
|
1424
1423
|
operationHash: string;
|
|
1425
1424
|
operationReceiptHash: string;
|
|
1426
1425
|
}): Promise<GroupOperationResult>;
|
|
1427
|
-
|
|
1426
|
+
commitGroupDecision(input: {
|
|
1428
1427
|
sessionId: string;
|
|
1429
1428
|
taskGroupId: string;
|
|
1430
1429
|
decisionClaimId: string;
|
|
@@ -1436,8 +1435,9 @@ export declare class AppSyncClient {
|
|
|
1436
1435
|
promptId: string;
|
|
1437
1436
|
decisionAttemptId: string;
|
|
1438
1437
|
}): Promise<DecisionAttemptResult>;
|
|
1439
|
-
/**
|
|
1440
|
-
*
|
|
1438
|
+
/** One canonical recovery API. The cloud verifies owner/history authority
|
|
1439
|
+
* and, when supplied, the exact generation. No accounting-route/status read
|
|
1440
|
+
* or second delivery transport may block decision recovery. */
|
|
1441
1441
|
getGateResolution(input: {
|
|
1442
1442
|
sessionId: string;
|
|
1443
1443
|
promptId: string;
|
|
@@ -1815,7 +1815,6 @@ export declare class AppSyncClient {
|
|
|
1815
1815
|
private ownSyncReader;
|
|
1816
1816
|
private trackSyncClosure;
|
|
1817
1817
|
private joinSyncSubscriptionClosures;
|
|
1818
|
-
private syncHistoryForSession;
|
|
1819
1818
|
/**
|
|
1820
1819
|
* Subscribe to events for a session
|
|
1821
1820
|
*/
|
|
@@ -4,7 +4,6 @@ export declare const queries: {
|
|
|
4
4
|
listEvents: string;
|
|
5
5
|
listSupervisionEvents: string;
|
|
6
6
|
getDecisionAttempt: string;
|
|
7
|
-
getGateResolutionV2: string;
|
|
8
7
|
getGateResolution: string;
|
|
9
8
|
listOpenPrompts: string;
|
|
10
9
|
listUserDeviceKeys: string;
|
|
@@ -35,17 +34,12 @@ export declare const mutations: {
|
|
|
35
34
|
putContextItem: string;
|
|
36
35
|
createSession: string;
|
|
37
36
|
updateSession: string;
|
|
38
|
-
|
|
39
|
-
recordWorkspaceOutcomeV2: string;
|
|
40
|
-
updateEventV2: string;
|
|
37
|
+
updateEvent: string;
|
|
41
38
|
createEvent: string;
|
|
42
39
|
refreshOpenPromptTtl: string;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
reportSecurityPostureV2: string;
|
|
46
|
-
confirmSessionRetirementV2: string;
|
|
40
|
+
reportSecurityPosture: string;
|
|
41
|
+
confirmSessionRetirement: string;
|
|
47
42
|
updateEventStatus: string;
|
|
48
|
-
updateEventStatusV2: string;
|
|
49
43
|
registerDeviceKey: string;
|
|
50
44
|
grantSessionKey: string;
|
|
51
45
|
getAttachmentDownloadUrl: string;
|
|
@@ -58,15 +52,15 @@ export declare const mutations: {
|
|
|
58
52
|
classifyRenderedPlannerPrompt: string;
|
|
59
53
|
generatePlannerAdvisoryRendered: string;
|
|
60
54
|
applyUserDecision: string;
|
|
61
|
-
|
|
62
|
-
|
|
55
|
+
submitGateDecision: string;
|
|
56
|
+
submitGroupDecision: string;
|
|
63
57
|
authorizeGroupTerminalOperation: string;
|
|
64
58
|
beginGroupPromotion: string;
|
|
65
59
|
completeGroupPromotion: string;
|
|
66
60
|
beginGroupRevert: string;
|
|
67
61
|
completeGroupRevert: string;
|
|
68
62
|
prepareGroupKeep: string;
|
|
69
|
-
|
|
63
|
+
commitGroupDecision: string;
|
|
70
64
|
recordContinuationPacketWritten: string;
|
|
71
65
|
createTaskGroup: string;
|
|
72
66
|
submitMergeGateVerdict: string;
|
|
@@ -66,7 +66,7 @@ export interface SyncStatusReceipt {
|
|
|
66
66
|
export type SyncPromptRetentionReceipt = {
|
|
67
67
|
promptId: string;
|
|
68
68
|
status: 'REFRESHED';
|
|
69
|
-
expiresAt
|
|
69
|
+
expiresAt?: number;
|
|
70
70
|
} | {
|
|
71
71
|
promptId: string;
|
|
72
72
|
status: 'RERAISE_REQUIRED';
|
|
@@ -82,8 +82,8 @@ export interface SyncEventReceipt {
|
|
|
82
82
|
emittedBy: 'IMPLEMENTOR' | 'SYSTEM' | 'USER';
|
|
83
83
|
}
|
|
84
84
|
export declare class SyncEventClientError extends Error {
|
|
85
|
-
readonly code: 'INVALID_SYNC_INPUT' | 'INVALID_SYNC_RECEIPT' | 'INVALID_SYNC_STATE' | 'SYNC_IDENTITY_UNAVAILABLE' | 'SYNC_ACCOUNT_CHANGED' | 'SYNC_PRODUCER_FROZEN' | 'SYNC_SESSION_UNAVAILABLE' | 'SYNC_SESSION_GENERATION_CHANGED' | 'SYNC_SESSION_KEY_UNAVAILABLE';
|
|
86
|
-
constructor(code: 'INVALID_SYNC_INPUT' | 'INVALID_SYNC_RECEIPT' | 'INVALID_SYNC_STATE' | 'SYNC_IDENTITY_UNAVAILABLE' | 'SYNC_ACCOUNT_CHANGED' | 'SYNC_PRODUCER_FROZEN' | 'SYNC_SESSION_UNAVAILABLE' | 'SYNC_SESSION_GENERATION_CHANGED' | 'SYNC_SESSION_KEY_UNAVAILABLE');
|
|
85
|
+
readonly code: 'INVALID_SYNC_INPUT' | 'INVALID_SYNC_RECEIPT' | 'INVALID_SYNC_STATE' | 'SYNC_IDENTITY_UNAVAILABLE' | 'SYNC_ACCOUNT_CHANGED' | 'SYNC_PRODUCER_FROZEN' | 'SYNC_SESSION_UNAVAILABLE' | 'SYNC_SESSION_GENERATION_CHANGED' | 'SYNC_SESSION_KEY_UNAVAILABLE' | 'SYNC_INBOUND_RECOVERY_REQUIRED' | 'SYNC_INPUT_RECOVERY_INCOMPLETE';
|
|
86
|
+
constructor(code: 'INVALID_SYNC_INPUT' | 'INVALID_SYNC_RECEIPT' | 'INVALID_SYNC_STATE' | 'SYNC_IDENTITY_UNAVAILABLE' | 'SYNC_ACCOUNT_CHANGED' | 'SYNC_PRODUCER_FROZEN' | 'SYNC_SESSION_UNAVAILABLE' | 'SYNC_SESSION_GENERATION_CHANGED' | 'SYNC_SESSION_KEY_UNAVAILABLE' | 'SYNC_INBOUND_RECOVERY_REQUIRED' | 'SYNC_INPUT_RECOVERY_INCOMPLETE');
|
|
87
87
|
}
|
|
88
88
|
export declare const SYNC_PROMPT_RAISE_FIELDS: readonly ["promptId", "ownerToken", "producerKind", "mobileActionable"];
|
|
89
89
|
/** Same closed commitment as the backend. No key/transport work is performed. */
|
|
@@ -104,6 +104,8 @@ export interface DesktopInboundJournal {
|
|
|
104
104
|
pending: readonly SyncRecoveryTarget[];
|
|
105
105
|
uncertain: number;
|
|
106
106
|
}>;
|
|
107
|
+
/** Read-only compatibility exclusion set, including uncertain handoffs. */
|
|
108
|
+
retainedCoordinates(): Promise<readonly SyncRecoveryTarget[]>;
|
|
107
109
|
/** Coordinates only. Their payload must never be sent to a provider again. */
|
|
108
110
|
pendingAcknowledgements(): Promise<readonly SyncRecoveryTarget[]>;
|
|
109
111
|
/** Only a completed local handoff authorizes retrying its status write.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import WebSocket from 'ws';
|
|
2
|
-
import { DesktopSyncReadClient, type SyncReadEvent, type SyncRecoveryTarget, type SyncExecutedInput } from './sync-read-client';
|
|
2
|
+
import { DesktopSyncReadClient, type SyncReadEvent, type SyncInputCoordinate, type SyncRecoveryTarget, type SyncExecutedInput } from './sync-read-client';
|
|
3
3
|
import type { DurableDesktopSyncReader } from './sync-desktop-registration';
|
|
4
4
|
import type { DesktopSyncSessionScope } from './sync-operation-journal';
|
|
5
5
|
import type { DesktopInboundJournal } from './sync-inbound-journal';
|
|
@@ -63,6 +63,11 @@ export declare class DesktopSyncLiveConnection {
|
|
|
63
63
|
private now;
|
|
64
64
|
private fence;
|
|
65
65
|
private sameScope;
|
|
66
|
+
/** One finite upgrade recovery pass, not a live delivery transport. Recover
|
|
67
|
+
* saved coordinates and previously accepted lifecycle inputs whose hints
|
|
68
|
+
* never reached this host. Ordinary canonical Events have no lifecycle stamp
|
|
69
|
+
* and are left to AppSync. No socket, history scan, maintenance or timer. */
|
|
70
|
+
recoverAcceptedInputs(onCoordinate?: (coordinate: Readonly<SyncInputCoordinate>) => void): Promise<void>;
|
|
66
71
|
start(): Promise<void>;
|
|
67
72
|
private deadline;
|
|
68
73
|
private sendControl;
|
|
@@ -145,6 +145,11 @@ export declare class DurableDesktopSyncWriter {
|
|
|
145
145
|
promptId: string;
|
|
146
146
|
state: 'STAGED' | 'SETTLED';
|
|
147
147
|
}>>;
|
|
148
|
+
/** Metadata-only inventory for preserving pre-consolidation re-raise owners.
|
|
149
|
+
* These generations identify local receipts, never a cloud API or tier. */
|
|
150
|
+
promptRetentionScopes(): Promise<Array<DesktopSyncSessionScope & {
|
|
151
|
+
promptIds: string[];
|
|
152
|
+
}>>;
|
|
148
153
|
promptRetention(): PromptRetentionJournal;
|
|
149
154
|
/** Canonical INACTIVE proof and joined publication owners are prerequisites.
|
|
150
155
|
* Validate the complete exact-incarnation target set before deleting anything;
|
|
@@ -11,13 +11,15 @@ export interface WorkspaceOutcomeReceipt {
|
|
|
11
11
|
syncDisposition: 'ADMITTED' | 'OMITTED_QUOTA' | 'LEGACY_COMMITTED';
|
|
12
12
|
}
|
|
13
13
|
export interface WorkspaceOutcomeSubmissionOptions {
|
|
14
|
-
/**
|
|
14
|
+
/** Retained old outbox marker; never selects a network route or accounting. */
|
|
15
15
|
requiresV2?: boolean;
|
|
16
|
-
/**
|
|
16
|
+
/** Existing outbox durability barrier, called before the canonical mutation. */
|
|
17
17
|
beforeV2?: () => Promise<void>;
|
|
18
18
|
}
|
|
19
19
|
/** Original ciphertext and generation only; no current Session/key lookup. */
|
|
20
20
|
export declare function snapshotWorkspaceOutcomeInput(value: CreateEventInput): CreateEventInput;
|
|
21
21
|
export declare function parseWorkspaceOutcomeReceipt(value: unknown, expected: CreateEventInput): WorkspaceOutcomeReceipt;
|
|
22
|
-
/**
|
|
22
|
+
/** Local projection of the real canonical Event. It is not billing authority. */
|
|
23
|
+
export declare function workspaceOutcomeEventReceipt(event: Event, expected: CreateEventInput): WorkspaceOutcomeReceipt;
|
|
24
|
+
/** Retained decoder helper for the existing legacy receipt representation. */
|
|
23
25
|
export declare function legacyWorkspaceOutcomeReceipt(event: Event, expected: CreateEventInput): WorkspaceOutcomeReceipt;
|