@junctionpanel/server 0.1.84 → 0.1.86
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/server/client/daemon-client.d.ts +11 -0
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +29 -0
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +4 -0
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +308 -9
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
- package/dist/server/server/agent/agent-projections.js +6 -0
- package/dist/server/server/agent/agent-projections.js.map +1 -1
- package/dist/server/server/agent/agent-storage.d.ts +5 -5
- package/dist/server/server/agent/harness/context.d.ts.map +1 -1
- package/dist/server/server/agent/harness/context.js +63 -1
- package/dist/server/server/agent/harness/context.js.map +1 -1
- package/dist/server/server/agent/harness/permission-policy.d.ts +10 -0
- package/dist/server/server/agent/harness/permission-policy.d.ts.map +1 -0
- package/dist/server/server/agent/harness/permission-policy.js +86 -0
- package/dist/server/server/agent/harness/permission-policy.js.map +1 -0
- package/dist/server/server/agent/harness/risk-classifier.d.ts +8 -0
- package/dist/server/server/agent/harness/risk-classifier.d.ts.map +1 -0
- package/dist/server/server/agent/harness/risk-classifier.js +73 -0
- package/dist/server/server/agent/harness/risk-classifier.js.map +1 -0
- package/dist/server/server/agent/harness/run-ledger.d.ts +21 -0
- package/dist/server/server/agent/harness/run-ledger.d.ts.map +1 -0
- package/dist/server/server/agent/harness/run-ledger.js +79 -0
- package/dist/server/server/agent/harness/run-ledger.js.map +1 -0
- package/dist/server/server/agent/harness/session-bundle.d.ts +13 -0
- package/dist/server/server/agent/harness/session-bundle.d.ts.map +1 -0
- package/dist/server/server/agent/harness/session-bundle.js +50 -0
- package/dist/server/server/agent/harness/session-bundle.js.map +1 -0
- package/dist/server/server/agent/harness/types.d.ts +86 -2
- package/dist/server/server/agent/harness/types.d.ts.map +1 -1
- package/dist/server/server/session.d.ts +10 -0
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +59 -1
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/websocket-server.d.ts +1 -0
- package/dist/server/server/websocket-server.d.ts.map +1 -1
- package/dist/server/server/websocket-server.js +20 -0
- package/dist/server/server/websocket-server.js.map +1 -1
- package/dist/server/server/workspace-read-state-store.d.ts +15 -0
- package/dist/server/server/workspace-read-state-store.d.ts.map +1 -0
- package/dist/server/server/workspace-read-state-store.js +87 -0
- package/dist/server/server/workspace-read-state-store.js.map +1 -0
- package/dist/server/shared/messages.d.ts +1444 -762
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +144 -0
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/utils/worktree-metadata.d.ts +2 -2
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentProvider } from "../agent-sdk-types.js";
|
|
1
|
+
import type { AgentProvider, AgentUsage } from "../agent-sdk-types.js";
|
|
2
2
|
export declare const JUNCTION_HARNESS_VERSION = "v3";
|
|
3
3
|
export declare const JUNCTION_HARNESS_PROMPT_DYNAMIC_BOUNDARY = "<junction_harness_dynamic_boundary />";
|
|
4
4
|
export type HarnessTaskClassification = "inspect" | "plan" | "implement" | "debug" | "review" | "structured_output";
|
|
@@ -24,6 +24,57 @@ export type HarnessPromptLayer = {
|
|
|
24
24
|
};
|
|
25
25
|
export type HarnessTrustState = "trusted" | "restricted" | "untrusted";
|
|
26
26
|
export type HarnessVerificationState = "not_needed" | "pending" | "passed" | "failed" | "stale";
|
|
27
|
+
export type HarnessRunOwner = "foreground" | "background";
|
|
28
|
+
export type HarnessRunLifecycle = "queued" | "streaming" | "waiting_permission" | "finalizing" | "completed" | "interrupted" | "error" | "recovering";
|
|
29
|
+
export type HarnessRunRecord = {
|
|
30
|
+
id: string;
|
|
31
|
+
owner: HarnessRunOwner;
|
|
32
|
+
lifecycle: HarnessRunLifecycle;
|
|
33
|
+
createdAt: string;
|
|
34
|
+
updatedAt: string;
|
|
35
|
+
startedAt: string;
|
|
36
|
+
completedAt: string | null;
|
|
37
|
+
lastProgressAt: string | null;
|
|
38
|
+
turnStartSeq: number | null;
|
|
39
|
+
turnEndSeq: number | null;
|
|
40
|
+
correlationId: string | null;
|
|
41
|
+
modelId: string | null;
|
|
42
|
+
permissionRequestId: string | null;
|
|
43
|
+
summary: string | null;
|
|
44
|
+
};
|
|
45
|
+
export type HarnessRunLedger = {
|
|
46
|
+
activeRunId: string | null;
|
|
47
|
+
runs: HarnessRunRecord[];
|
|
48
|
+
};
|
|
49
|
+
export type HarnessPermissionRisk = "safe" | "review" | "destructive" | "shared_state" | "external_side_effect";
|
|
50
|
+
export type HarnessPermissionStatus = "pending" | "allowed" | "denied" | "canceled";
|
|
51
|
+
export type HarnessPermissionLedgerEntry = {
|
|
52
|
+
requestId: string;
|
|
53
|
+
provider: AgentProvider | null;
|
|
54
|
+
kind: string;
|
|
55
|
+
toolName: string;
|
|
56
|
+
fingerprint: string;
|
|
57
|
+
risk: HarnessPermissionRisk;
|
|
58
|
+
status: HarnessPermissionStatus;
|
|
59
|
+
createdAt: string;
|
|
60
|
+
updatedAt: string;
|
|
61
|
+
resolutionMessage: string | null;
|
|
62
|
+
recoveryHint: string | null;
|
|
63
|
+
provenance: "runtime" | "restored";
|
|
64
|
+
};
|
|
65
|
+
export type HarnessCostState = {
|
|
66
|
+
turnsCompleted: number;
|
|
67
|
+
totals: AgentUsage;
|
|
68
|
+
lastTurnUsage: AgentUsage | null;
|
|
69
|
+
lastUpdatedAt: string | null;
|
|
70
|
+
};
|
|
71
|
+
export type HarnessResumeStatus = "fresh" | "live" | "resumed" | "checkpoint_restored" | "recovering";
|
|
72
|
+
export type HarnessResumeState = {
|
|
73
|
+
status: HarnessResumeStatus;
|
|
74
|
+
source: "new_session" | "provider_resume" | "checkpoint" | "snapshot";
|
|
75
|
+
updatedAt: string;
|
|
76
|
+
recoveryHint: string | null;
|
|
77
|
+
};
|
|
27
78
|
export type HarnessValidationScope = "workspace" | "package" | "global" | "unknown";
|
|
28
79
|
export type HarnessValidationRecord = {
|
|
29
80
|
command: string;
|
|
@@ -38,13 +89,36 @@ export type HarnessWorkerState = {
|
|
|
38
89
|
provider: AgentProvider | null;
|
|
39
90
|
threadId: string | null;
|
|
40
91
|
parentAgentId: string | null;
|
|
92
|
+
role: "explore" | "plan" | "implement" | "verify" | "generic";
|
|
93
|
+
kind: "provider_subagent" | "background_command" | "remote_task";
|
|
41
94
|
purpose: string;
|
|
42
95
|
owner: string | null;
|
|
43
96
|
status: "pending" | "running" | "completed" | "integrated" | "failed";
|
|
97
|
+
queueState: "active" | "queued" | "completed";
|
|
44
98
|
outputSummary: string | null;
|
|
45
99
|
changedFiles: string[];
|
|
46
100
|
verificationState: HarnessVerificationState;
|
|
101
|
+
startedAt: string | null;
|
|
47
102
|
integratedAt: string | null;
|
|
103
|
+
completedAt: string | null;
|
|
104
|
+
sessionId: string | null;
|
|
105
|
+
transcriptPath: string | null;
|
|
106
|
+
outputPath: string | null;
|
|
107
|
+
rolloutPath: string | null;
|
|
108
|
+
recentActions: Array<{
|
|
109
|
+
index: number;
|
|
110
|
+
toolName: string;
|
|
111
|
+
summary?: string;
|
|
112
|
+
}>;
|
|
113
|
+
permissionState: "none" | "pending" | "resolved";
|
|
114
|
+
lastPermissionRequestId: string | null;
|
|
115
|
+
lastPermissionToolName: string | null;
|
|
116
|
+
error: string | null;
|
|
117
|
+
progress: {
|
|
118
|
+
toolCallCount: number;
|
|
119
|
+
lastActivityAt: string;
|
|
120
|
+
latestSummary: string | null;
|
|
121
|
+
};
|
|
48
122
|
lastUpdatedAt: string;
|
|
49
123
|
};
|
|
50
124
|
export type HarnessCheckpointKind = "pre_mutation" | "turn_final";
|
|
@@ -59,7 +133,7 @@ export type HarnessCheckpointSummary = {
|
|
|
59
133
|
turnStartSeq: number;
|
|
60
134
|
turnEndSeq: number;
|
|
61
135
|
};
|
|
62
|
-
export type HarnessEventKind = "checkpoint_created" | "checkpoint_restored" | "verification_changed" | "trust_changed" | "worker_updated" | "hook_decision" | "memory_compacted";
|
|
136
|
+
export type HarnessEventKind = "checkpoint_created" | "checkpoint_restored" | "verification_changed" | "trust_changed" | "worker_updated" | "hook_decision" | "memory_compacted" | "run_state_changed" | "permission_enqueued" | "permission_resolved" | "recovery_hint_emitted" | "stall_detected" | "stall_cleared" | "resume_restored";
|
|
63
137
|
export type HarnessHookName = "pre_tool_use" | "post_tool_use" | "turn_completed" | "turn_canceled" | "stop" | "resume" | "verification_required" | "checkpoint_created" | "checkpoint_restored" | "worker_updated" | "memory_compacted";
|
|
64
138
|
export type HarnessTurnSummary = {
|
|
65
139
|
timestamp: string;
|
|
@@ -109,6 +183,11 @@ export type JunctionHarnessSummary = {
|
|
|
109
183
|
lastValidation: HarnessValidationRecord | null;
|
|
110
184
|
};
|
|
111
185
|
blockers: string[];
|
|
186
|
+
runLedger: HarnessRunLedger;
|
|
187
|
+
permissionLedger: HarnessPermissionLedgerEntry[];
|
|
188
|
+
costState: HarnessCostState;
|
|
189
|
+
resumeState: HarnessResumeState | null;
|
|
190
|
+
scratchpadDir: string | null;
|
|
112
191
|
workers: HarnessWorkerState[];
|
|
113
192
|
checkpoints: HarnessCheckpointSummary[];
|
|
114
193
|
};
|
|
@@ -121,6 +200,11 @@ export type JunctionHarnessSessionExtra = {
|
|
|
121
200
|
contextLayers?: HarnessPromptLayerId[];
|
|
122
201
|
sessionState?: HarnessSessionState;
|
|
123
202
|
validationLedger?: HarnessValidationRecord[];
|
|
203
|
+
runLedger?: HarnessRunLedger;
|
|
204
|
+
permissionLedger?: HarnessPermissionLedgerEntry[];
|
|
205
|
+
costState?: HarnessCostState;
|
|
206
|
+
resumeState?: HarnessResumeState | null;
|
|
207
|
+
scratchpadDir?: string | null;
|
|
124
208
|
workers?: Record<string, HarnessWorkerState>;
|
|
125
209
|
checkpoints?: HarnessCheckpointSummary[];
|
|
126
210
|
lastCheckpointId?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/harness/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/harness/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,12 @@ export type SessionOptions = {
|
|
|
14
14
|
userId?: string;
|
|
15
15
|
onMessage: (msg: SessionOutboundMessage) => void;
|
|
16
16
|
onBinaryMessage?: (frame: BinaryMuxFrame) => void;
|
|
17
|
+
onWorkspaceReadStateUpdated?: (event: {
|
|
18
|
+
userId?: string;
|
|
19
|
+
payload: Extract<SessionOutboundMessage, {
|
|
20
|
+
type: 'workspace_read_state_updated';
|
|
21
|
+
}>['payload'];
|
|
22
|
+
}) => void;
|
|
17
23
|
onLifecycleIntent?: (intent: SessionLifecycleIntent) => void;
|
|
18
24
|
logger: pino.Logger;
|
|
19
25
|
downloadTokenStore: DownloadTokenStore;
|
|
@@ -46,6 +52,7 @@ export declare class Session {
|
|
|
46
52
|
private readonly sessionId;
|
|
47
53
|
private readonly onMessage;
|
|
48
54
|
private readonly onBinaryMessage;
|
|
55
|
+
private readonly onWorkspaceReadStateUpdated;
|
|
49
56
|
private readonly onLifecycleIntent;
|
|
50
57
|
private readonly sessionLogger;
|
|
51
58
|
private readonly junctionHome;
|
|
@@ -137,6 +144,7 @@ export declare class Session {
|
|
|
137
144
|
private shouldRefreshProviderChildThreadsForStreamEvent;
|
|
138
145
|
private serializeProviderChildThreadEntries;
|
|
139
146
|
private emitProviderChildThreadsChanged;
|
|
147
|
+
private emitWorkspaceReadStateUpdated;
|
|
140
148
|
private setProviderChildThreadEntries;
|
|
141
149
|
private refreshProviderChildThreadEntries;
|
|
142
150
|
private scheduleProviderChildThreadRefresh;
|
|
@@ -333,6 +341,8 @@ export declare class Session {
|
|
|
333
341
|
private listProviderChildThreadEntries;
|
|
334
342
|
private handleFetchProviderThreadTimeline;
|
|
335
343
|
private handleFetchProviderChildThreads;
|
|
344
|
+
private handleFetchWorkspaceReadStates;
|
|
345
|
+
private handleMarkWorkspaceRead;
|
|
336
346
|
private handleFetchAgent;
|
|
337
347
|
private handleListAgentCheckpoints;
|
|
338
348
|
private handleRestoreAgentCheckpoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/server/session.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EA0B5B,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,iCAAiC,CAAA;AAE7F,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAA;AAQhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAE9E,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;AAE/D,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAkDvD,OAAO,EAAE,YAAY,EAA0B,MAAM,0BAA0B,CAAA;AAQ/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,uBAAuB,CAAA;AAkD9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/server/session.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EA0B5B,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,iCAAiC,CAAA;AAE7F,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAA;AAQhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAE9E,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;AAE/D,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAkDvD,OAAO,EAAE,YAAY,EAA0B,MAAM,0BAA0B,CAAA;AAQ/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,uBAAuB,CAAA;AAkD9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AA+c5B,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAChD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACjD,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE;QACpC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,OAAO,CAAC,sBAAsB,EAAE;YAAE,IAAI,EAAE,8BAA8B,CAAA;SAAE,CAAC,CAAC,SAAS,CAAC,CAAA;KAC9F,KAAK,IAAI,CAAA;IACV,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAC5D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;IACnB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;IAC1B,uBAAuB,EAAE,wBAAwB,CAAA;IACjD,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;IACvC,4BAA4B,CAAC,EAAE,+BAA+B,CAAA;IAC9D,iBAAiB,CAAC,EAAE,wBAAwB,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,4BAA4B,CAAA;AAE5D,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAoEnE;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAEpC;IACR,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmD;IACrF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IAGrC,OAAO,CAAC,eAAe,CAAiB;IAGxC,OAAO,CAAC,cAAc,CAAwE;IAC9F,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0C;IAC3E,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,wBAAwB,CAA6C;IAC7E,OAAO,CAAC,cAAc,CAOP;IACf,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAS;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IACtE,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAoB;IAClE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAG1C;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgD;IACvF,OAAO,CAAC,2BAA2B,CAA4B;IAC/D,OAAO,CAAC,qBAAqB,CAAqC;IAClE,OAAO,CAAC,yBAAyB,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAU7B;IACH,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA4B;IACvE,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2C;IACrF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6C;IACjF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAoC;IAChF,OAAO,CAAC,0BAA0B,CAA+C;IACjF,OAAO,CAAC,qCAAqC,CAAsB;IACnE,OAAO,CAAC,kCAAkC,CAAQ;IAClD,OAAO,CAAC,+BAA+B,CAA8B;IACrE,OAAO,CAAC,iCAAiC,CAA6B;IACtE,OAAO,CAAC,gCAAgC,CAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA6C;gBAE9E,OAAO,EAAE,cAAc;IAiEnC;;OAEG;IACI,iBAAiB,IAAI;QAC1B,UAAU,EAAE,KAAK,GAAG,QAAQ,CAAA;QAC5B,oBAAoB,EAAE,MAAM,CAAA;QAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;QAC7B,cAAc,EAAE,IAAI,CAAA;QACpB,UAAU,EAAE,OAAO,CAAA;QACnB,sBAAsB,EAAE,IAAI,CAAA;KAC7B,GAAG,IAAI;IAIR;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;;OAGG;YACW,uBAAuB;IAuCrC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,oCAAoC;YA8C9B,uBAAuB;IA0CrC;;OAEG;YACW,kBAAkB;IAoBhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;YAiFhB,iBAAiB;IAyB/B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,mBAAmB;YA2Ib,iBAAiB;YAuFjB,oCAAoC;IAsDlD,OAAO,CAAC,kBAAkB;IA4D1B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,6BAA6B;IA8BrC,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,qBAAqB;YA6Bf,qBAAqB;IAenC,OAAO,CAAC,+CAA+C;IAiBvD,OAAO,CAAC,mCAAmC;IAsC3C,OAAO,CAAC,+BAA+B;IAOvC,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,6BAA6B;YAkBvB,iCAAiC;IA8B/C,OAAO,CAAC,kCAAkC;YAgB5B,wCAAwC;YAQxC,kBAAkB;YAiClB,8BAA8B;IAqC5C;;OAEG;IACU,aAAa,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyW9D,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAcrD,OAAO,CAAC,yBAAyB;YAoDnB,0BAA0B;IAQxC,OAAO,CAAC,oBAAoB;YAqCd,2BAA2B;IAuBzC,OAAO,CAAC,6BAA6B;IAiCrC,OAAO,CAAC,mBAAmB;YAWb,wBAAwB;YAgDxB,yBAAyB;YA4FzB,2BAA2B;YAyH3B,0BAA0B;YAqE1B,aAAa;YAKb,wBAAwB;IA2FtC;;OAEG;YACW,sBAAsB;IAqCpC;;OAEG;YACW,wBAAwB;YAuQxB,wBAAwB;YA2DxB,yBAAyB;YAmEzB,wBAAwB;YAUxB,uBAAuB;YAmMvB,+BAA+B;YAmC/B,mCAAmC;IA6BjD,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,gBAAgB;YAkBV,4BAA4B;YA0C5B,sCAAsC;YA4BtC,6BAA6B;YAmC7B,kCAAkC;YA8BlC,yCAAyC;YAoCzC,8BAA8B;YA0C9B,0CAA0C;IA+CxD,OAAO,CAAC,mBAAmB;YA8Eb,yBAAyB;IAyDvC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;YASV,wCAAwC;YAiCxC,gCAAgC;YA0BhC,qBAAqB;YA0ErB,uBAAuB;IAiFrC;;OAEG;YACW,yBAAyB;YA2CzB,6BAA6B;YA8C7B,0BAA0B;YA2C1B,6BAA6B;IA8C3C;;OAEG;YACW,yBAAyB;IAWvC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;YACW,yBAAyB;IA0EvC;;OAEG;YACW,6BAA6B;IA+B3C,OAAO,CAAC,0BAA0B;IAgElC,OAAO,CAAC,+BAA+B;IAwBvC,OAAO,CAAC,8BAA8B;IA4CtC,OAAO,CAAC,oBAAoB;YAUd,2BAA2B;YAwC3B,mCAAmC;YA6CnC,2BAA2B;YA6B3B,2BAA2B;YAkG3B,8BAA8B;YAkC9B,uBAAuB;YA2BvB,iCAAiC;YA6DjC,qCAAqC;YAsDrC,qBAAqB;YA6BrB,oBAAoB;IA6BlC,OAAO,CAAC,6BAA6B;IAIrC,OAAO,CAAC,+BAA+B;IAmBvC,OAAO,CAAC,yCAAyC;IAOjD,OAAO,CAAC,mCAAmC;IAS3C,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iCAAiC;IAyBzC,OAAO,CAAC,8BAA8B;IAsBtC,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,sCAAsC;IAU9C,OAAO,CAAC,oCAAoC;IAO5C,OAAO,CAAC,iCAAiC;IAqBzC,OAAO,CAAC,oCAAoC;IA6B5C,OAAO,CAAC,0BAA0B;YAUpB,8BAA8B;YAmD9B,4BAA4B;YAwF5B,gCAAgC;YA8EhC,qCAAqC;IAoEnD,OAAO,CAAC,uCAAuC;IAM/C,OAAO,CAAC,oCAAoC;IAiB5C,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,4BAA4B;IAepC,OAAO,CAAC,8BAA8B;YAkBxB,qBAAqB;YAarB,wBAAwB;IAiBtC,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,qBAAqB;IAgH7B,OAAO,CAAC,iCAAiC;IAczC,OAAO,CAAC,sBAAsB;YAkBhB,2BAA2B;YAyC3B,yBAAyB;YA4BzB,6BAA6B;YA6E7B,kCAAkC;IAiDhD,OAAO,CAAC,oCAAoC;IAI5C,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,6BAA6B;IAiBrC,OAAO,CAAC,0BAA0B;YAIpB,+BAA+B;IAK7C,OAAO,CAAC,4CAA4C;YAUtC,mBAAmB;YA0BnB,oBAAoB;YA4BpB,2BAA2B;YAoD3B,0BAA0B;YAyF1B,kCAAkC;YAgDlC,yBAAyB;YAgCzB,6BAA6B;YA4D7B,6BAA6B;YAoC7B,6BAA6B;YAsC7B,kCAAkC;YAsClC,4BAA4B;YAwC5B,iCAAiC;YA2CjC,6CAA6C;YA2D7C,qBAAqB;YAQrB,uBAAuB;YAiLvB,oCAAoC;IAwElD;;OAEG;YACW,yBAAyB;IAgFvC;;OAEG;YACW,kCAAkC;IAiGhD;;OAEG;YACW,wBAAwB;IA6BtC;;OAEG;YACW,8BAA8B;IA6E5C;;OAEG;YACW,iBAAiB;YA8BjB,sBAAsB;YAqDtB,mBAAmB;IAajC,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,gCAAgC;IAgBxC,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,uBAAuB;IAyE/B,OAAO,CAAC,sBAAsB;YAkBhB,sBAAsB;YA8EtB,WAAW;YAKX,iBAAiB;IA4D/B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gCAAgC;IA6BxC,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,gCAAgC;IAIxC,OAAO,CAAC,iDAAiD;IAsBzD,OAAO,CAAC,gCAAgC;IAIxC,OAAO,CAAC,4BAA4B;IAiBpC,OAAO,CAAC,+BAA+B;YAYzB,0CAA0C;YAwB1C,8BAA8B;YA2F9B,iCAAiC;YAqFjC,+BAA+B;IAmC7C,OAAO,CAAC,8BAA8B;IA+BtC,OAAO,CAAC,uBAAuB;YAqBjB,gBAAgB;YA4ChB,0BAA0B;YA+C1B,4BAA4B;YAyD5B,+BAA+B;YA8L/B,6BAA6B;YAoE7B,mBAAmB;IAqHjC;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4DrC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,iCAAiC;YAI3B,mCAAmC;YA2BnC,0BAA0B;YAuC1B,2BAA2B;YAwC3B,8BAA8B;IA6D5C,OAAO,CAAC,gCAAgC;IAQxC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;YAeb,sBAAsB;YAiCtB,yBAAyB;YAwBzB,iCAAiC;IAsH/C,OAAO,CAAC,gCAAgC;IAIxC,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,gCAAgC;IAqCxC,OAAO,CAAC,gCAAgC;IAuBxC,OAAO,CAAC,iCAAiC;IAYzC,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,wBAAwB;CAgBjC"}
|
|
@@ -38,6 +38,7 @@ import { MANAGED_DAEMON_PROVIDERS, autoRouteProviderExecutable, loadDaemonProvid
|
|
|
38
38
|
import { loadDaemonProviderRateLimits } from './daemon-provider-rate-limits.js';
|
|
39
39
|
import { applyNotificationRelayOwnerLabel, preserveNotificationRelayOwnerLabel, } from './notifications/relay-ownership.js';
|
|
40
40
|
import { saveNotificationRelayConfig } from './notifications/relay-store.js';
|
|
41
|
+
import { loadWorkspaceReadStates, saveWorkspaceReadState } from './workspace-read-state-store.js';
|
|
41
42
|
import { resolvePackageUpdateInfo } from './package-update.js';
|
|
42
43
|
import { loadPersistedConfig } from './persisted-config.js';
|
|
43
44
|
const execAsync = promisify(exec);
|
|
@@ -340,12 +341,13 @@ export class Session {
|
|
|
340
341
|
this.providerChildThreadRefreshTimer = null;
|
|
341
342
|
this.providerChildThreadRefreshPromise = null;
|
|
342
343
|
this.providerChildThreadRefreshQueued = false;
|
|
343
|
-
const { clientId, userId, onMessage, onBinaryMessage, onLifecycleIntent, logger, downloadTokenStore, junctionHome, agentManager, agentStorage, createAgentMcpTransport, terminalManager, agentProviderRuntimeSettings, connectionContext, } = options;
|
|
344
|
+
const { clientId, userId, onMessage, onBinaryMessage, onWorkspaceReadStateUpdated, onLifecycleIntent, logger, downloadTokenStore, junctionHome, agentManager, agentStorage, createAgentMcpTransport, terminalManager, agentProviderRuntimeSettings, connectionContext, } = options;
|
|
344
345
|
this.clientId = clientId;
|
|
345
346
|
this.userId = userId;
|
|
346
347
|
this.sessionId = uuidv4();
|
|
347
348
|
this.onMessage = onMessage;
|
|
348
349
|
this.onBinaryMessage = onBinaryMessage ?? null;
|
|
350
|
+
this.onWorkspaceReadStateUpdated = onWorkspaceReadStateUpdated ?? null;
|
|
349
351
|
this.onLifecycleIntent = onLifecycleIntent ?? null;
|
|
350
352
|
this.downloadTokenStore = downloadTokenStore;
|
|
351
353
|
this.junctionHome = junctionHome;
|
|
@@ -1057,6 +1059,12 @@ export class Session {
|
|
|
1057
1059
|
payload,
|
|
1058
1060
|
});
|
|
1059
1061
|
}
|
|
1062
|
+
emitWorkspaceReadStateUpdated(payload) {
|
|
1063
|
+
this.emit({
|
|
1064
|
+
type: 'workspace_read_state_updated',
|
|
1065
|
+
payload,
|
|
1066
|
+
});
|
|
1067
|
+
}
|
|
1060
1068
|
setProviderChildThreadEntries(entries, options) {
|
|
1061
1069
|
const fingerprint = this.serializeProviderChildThreadEntries(entries);
|
|
1062
1070
|
this.providerChildThreadEntriesHydrated = true;
|
|
@@ -1199,6 +1207,9 @@ export class Session {
|
|
|
1199
1207
|
case 'fetch_provider_child_threads_request':
|
|
1200
1208
|
await this.handleFetchProviderChildThreads(msg);
|
|
1201
1209
|
break;
|
|
1210
|
+
case 'fetch_workspace_read_states_request':
|
|
1211
|
+
this.handleFetchWorkspaceReadStates(msg);
|
|
1212
|
+
break;
|
|
1202
1213
|
case 'fetch_provider_thread_timeline_request':
|
|
1203
1214
|
await this.handleFetchProviderThreadTimeline(msg);
|
|
1204
1215
|
break;
|
|
@@ -1367,6 +1378,9 @@ export class Session {
|
|
|
1367
1378
|
case 'clear_agent_attention':
|
|
1368
1379
|
await this.handleClearAgentAttention(msg.agentId);
|
|
1369
1380
|
break;
|
|
1381
|
+
case 'mark_workspace_read':
|
|
1382
|
+
this.handleMarkWorkspaceRead(msg);
|
|
1383
|
+
break;
|
|
1370
1384
|
case 'client_heartbeat':
|
|
1371
1385
|
this.handleClientHeartbeat(msg);
|
|
1372
1386
|
break;
|
|
@@ -6224,6 +6238,50 @@ export class Session {
|
|
|
6224
6238
|
});
|
|
6225
6239
|
}
|
|
6226
6240
|
}
|
|
6241
|
+
handleFetchWorkspaceReadStates(request) {
|
|
6242
|
+
try {
|
|
6243
|
+
const entries = loadWorkspaceReadStates(this.junctionHome, this.userId);
|
|
6244
|
+
this.emit({
|
|
6245
|
+
type: 'fetch_workspace_read_states_response',
|
|
6246
|
+
payload: {
|
|
6247
|
+
requestId: request.requestId,
|
|
6248
|
+
entries,
|
|
6249
|
+
},
|
|
6250
|
+
});
|
|
6251
|
+
}
|
|
6252
|
+
catch (error) {
|
|
6253
|
+
const message = error instanceof Error ? error.message : 'Failed to fetch workspace read states';
|
|
6254
|
+
this.sessionLogger.error({ err: error }, 'Failed to handle fetch_workspace_read_states_request');
|
|
6255
|
+
this.emit({
|
|
6256
|
+
type: 'rpc_error',
|
|
6257
|
+
payload: {
|
|
6258
|
+
requestId: request.requestId,
|
|
6259
|
+
requestType: request.type,
|
|
6260
|
+
error: message,
|
|
6261
|
+
code: 'fetch_workspace_read_states_failed',
|
|
6262
|
+
},
|
|
6263
|
+
});
|
|
6264
|
+
}
|
|
6265
|
+
}
|
|
6266
|
+
handleMarkWorkspaceRead(request) {
|
|
6267
|
+
try {
|
|
6268
|
+
const payload = saveWorkspaceReadState(this.junctionHome, this.userId, {
|
|
6269
|
+
cwd: request.cwd,
|
|
6270
|
+
lastReadAt: request.lastReadAt,
|
|
6271
|
+
});
|
|
6272
|
+
if (this.onWorkspaceReadStateUpdated) {
|
|
6273
|
+
this.onWorkspaceReadStateUpdated({
|
|
6274
|
+
userId: this.userId,
|
|
6275
|
+
payload,
|
|
6276
|
+
});
|
|
6277
|
+
return;
|
|
6278
|
+
}
|
|
6279
|
+
this.emitWorkspaceReadStateUpdated(payload);
|
|
6280
|
+
}
|
|
6281
|
+
catch (error) {
|
|
6282
|
+
this.sessionLogger.error({ err: error, cwd: request.cwd }, 'Failed to handle mark_workspace_read');
|
|
6283
|
+
}
|
|
6284
|
+
}
|
|
6227
6285
|
async handleFetchAgent(agentIdOrIdentifier, requestId) {
|
|
6228
6286
|
const resolved = await this.resolveAgentIdentifier(agentIdOrIdentifier);
|
|
6229
6287
|
if (!resolved.ok) {
|