ds-harness-remote 0.5.8 → 0.5.10
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/acp/adapter.d.ts +1 -1
- package/dist/acp/adapter.d.ts.map +1 -1
- package/dist/acp/adapters/claude-history.d.ts +3 -0
- package/dist/acp/adapters/claude-history.d.ts.map +1 -0
- package/dist/acp/adapters/claude-history.js +118 -0
- package/dist/acp/adapters/claude-history.js.map +1 -0
- package/dist/acp/adapters/claude-process.d.ts +21 -0
- package/dist/acp/adapters/claude-process.d.ts.map +1 -0
- package/dist/acp/adapters/claude-process.js +147 -0
- package/dist/acp/adapters/claude-process.js.map +1 -0
- package/dist/acp/adapters/cursor-process.d.ts +9 -4
- package/dist/acp/adapters/cursor-process.d.ts.map +1 -1
- package/dist/acp/adapters/cursor-process.js +31 -3
- package/dist/acp/adapters/cursor-process.js.map +1 -1
- package/dist/acp/adapters/opencode-process.d.ts +67 -0
- package/dist/acp/adapters/opencode-process.d.ts.map +1 -0
- package/dist/acp/adapters/opencode-process.js +272 -0
- package/dist/acp/adapters/opencode-process.js.map +1 -0
- package/dist/acp/adapters/opencode.d.ts +8 -0
- package/dist/acp/adapters/opencode.d.ts.map +1 -0
- package/dist/acp/adapters/opencode.js +8 -0
- package/dist/acp/adapters/opencode.js.map +1 -0
- package/dist/acp/adapters/pi-process.d.ts +42 -0
- package/dist/acp/adapters/pi-process.d.ts.map +1 -0
- package/dist/acp/adapters/pi-process.js +410 -0
- package/dist/acp/adapters/pi-process.js.map +1 -0
- package/dist/acp/gateway.d.ts +8 -0
- package/dist/acp/gateway.d.ts.map +1 -1
- package/dist/acp/gateway.js +299 -67
- package/dist/acp/gateway.js.map +1 -1
- package/dist/acp/method-policy.d.ts +19 -19
- package/dist/acp/method-policy.js +5 -5
- package/dist/acp/method-policy.js.map +1 -1
- package/dist/acp/pi-tool-result.d.ts +9 -0
- package/dist/acp/pi-tool-result.d.ts.map +1 -0
- package/dist/acp/pi-tool-result.js +22 -0
- package/dist/acp/pi-tool-result.js.map +1 -0
- package/dist/acp/virtual-catalog.d.ts +50 -0
- package/dist/acp/virtual-catalog.d.ts.map +1 -0
- package/dist/acp/virtual-catalog.js +103 -0
- package/dist/acp/virtual-catalog.js.map +1 -0
- package/dist/acp/virtual-contract.d.ts +165 -0
- package/dist/acp/virtual-contract.d.ts.map +1 -0
- package/dist/acp/virtual-contract.js +216 -0
- package/dist/acp/virtual-contract.js.map +1 -0
- package/dist/acp/virtual-event-carrier.d.ts +50 -0
- package/dist/acp/virtual-event-carrier.d.ts.map +1 -0
- package/dist/acp/virtual-event-carrier.js +222 -0
- package/dist/acp/virtual-event-carrier.js.map +1 -0
- package/dist/acp/virtual-harness.d.ts +13 -112
- package/dist/acp/virtual-harness.d.ts.map +1 -1
- package/dist/acp/virtual-harness.js +129 -911
- package/dist/acp/virtual-harness.js.map +1 -1
- package/dist/acp/virtual-live.d.ts +78 -0
- package/dist/acp/virtual-live.d.ts.map +1 -0
- package/dist/acp/virtual-live.js +513 -0
- package/dist/acp/virtual-live.js.map +1 -0
- package/dist/acp/workspace-tools.js +1 -1
- package/dist/acp/workspace-tools.js.map +1 -1
- package/dist/acp.d.ts.map +1 -1
- package/dist/acp.js +1 -0
- package/dist/acp.js.map +1 -1
- package/dist/client/header.d.ts +10 -0
- package/dist/client/header.d.ts.map +1 -0
- package/dist/client/header.js +169 -0
- package/dist/client/header.js.map +1 -0
- package/dist/client/icons.d.ts +3 -0
- package/dist/client/icons.d.ts.map +1 -0
- package/dist/client/icons.js +3 -0
- package/dist/client/icons.js.map +1 -0
- package/dist/client/navigation.d.ts +5 -0
- package/dist/client/navigation.d.ts.map +1 -0
- package/dist/client/navigation.js +30 -0
- package/dist/client/navigation.js.map +1 -0
- package/dist/client/presentation.d.ts +17 -0
- package/dist/client/presentation.d.ts.map +1 -0
- package/dist/client/presentation.js +208 -0
- package/dist/client/presentation.js.map +1 -0
- package/dist/client/progress.d.ts +10 -0
- package/dist/client/progress.d.ts.map +1 -0
- package/dist/client/progress.js +82 -0
- package/dist/client/progress.js.map +1 -0
- package/dist/client/settings.d.ts +10 -0
- package/dist/client/settings.d.ts.map +1 -0
- package/dist/client/settings.js +335 -0
- package/dist/client/settings.js.map +1 -0
- package/dist/client/shell.d.ts +6 -0
- package/dist/client/shell.d.ts.map +1 -0
- package/dist/client/shell.js +128 -0
- package/dist/client/shell.js.map +1 -0
- package/dist/client/types.d.ts +264 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +2 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/workspaces.d.ts +11 -0
- package/dist/client/workspaces.d.ts.map +1 -0
- package/dist/client/workspaces.js +1179 -0
- package/dist/client/workspaces.js.map +1 -0
- package/dist/client-capabilities.d.ts +6 -0
- package/dist/client-capabilities.d.ts.map +1 -0
- package/dist/client-capabilities.js +88 -0
- package/dist/client-capabilities.js.map +1 -0
- package/dist/client-codex-streams.d.ts +23 -0
- package/dist/client-codex-streams.d.ts.map +1 -0
- package/dist/client-codex-streams.js +156 -0
- package/dist/client-codex-streams.js.map +1 -0
- package/dist/client-connection.d.ts +38 -0
- package/dist/client-connection.d.ts.map +1 -0
- package/dist/client-connection.js +210 -0
- package/dist/client-connection.js.map +1 -0
- package/dist/client-control.d.ts +48 -0
- package/dist/client-control.d.ts.map +1 -0
- package/dist/client-control.js +273 -0
- package/dist/client-control.js.map +1 -0
- package/dist/client-locale.d.ts +8 -0
- package/dist/client-locale.d.ts.map +1 -1
- package/dist/client-locale.js +16 -0
- package/dist/client-locale.js.map +1 -1
- package/dist/client-runtime-contract.d.ts +161 -0
- package/dist/client-runtime-contract.d.ts.map +1 -0
- package/dist/client-runtime-contract.js +127 -0
- package/dist/client-runtime-contract.js.map +1 -0
- package/dist/client-runtime.d.ts +24 -126
- package/dist/client-runtime.d.ts.map +1 -1
- package/dist/client-runtime.js +171 -867
- package/dist/client-runtime.js.map +1 -1
- package/dist/client-secure-transport.d.ts +1 -0
- package/dist/client-secure-transport.d.ts.map +1 -1
- package/dist/client-secure-transport.js +35 -16
- package/dist/client-secure-transport.js.map +1 -1
- package/dist/client-workspace-queries.d.ts +12 -0
- package/dist/client-workspace-queries.d.ts.map +1 -0
- package/dist/client-workspace-queries.js +66 -0
- package/dist/client-workspace-queries.js.map +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.github.js +2091 -1896
- package/dist/client.js +2091 -1896
- package/dist/client.js.map +1 -1
- package/dist/codex/domain.d.ts.map +1 -1
- package/dist/codex/domain.js +67 -46
- package/dist/codex/domain.js.map +1 -1
- package/dist/codex/method-policy.d.ts +9 -9
- package/dist/codex/virtual-catalog.d.ts +90 -0
- package/dist/codex/virtual-catalog.d.ts.map +1 -0
- package/dist/codex/virtual-catalog.js +317 -0
- package/dist/codex/virtual-catalog.js.map +1 -0
- package/dist/codex/virtual-contract.d.ts +96 -0
- package/dist/codex/virtual-contract.d.ts.map +1 -0
- package/dist/codex/virtual-contract.js +192 -0
- package/dist/codex/virtual-contract.js.map +1 -0
- package/dist/codex/virtual-event-carrier.d.ts +52 -0
- package/dist/codex/virtual-event-carrier.d.ts.map +1 -0
- package/dist/codex/virtual-event-carrier.js +212 -0
- package/dist/codex/virtual-event-carrier.js.map +1 -0
- package/dist/codex/virtual-harness.d.ts +16 -117
- package/dist/codex/virtual-harness.d.ts.map +1 -1
- package/dist/codex/virtual-harness.js +123 -1909
- package/dist/codex/virtual-harness.js.map +1 -1
- package/dist/codex/virtual-history.d.ts +74 -0
- package/dist/codex/virtual-history.d.ts.map +1 -0
- package/dist/codex/virtual-history.js +546 -0
- package/dist/codex/virtual-history.js.map +1 -0
- package/dist/codex/virtual-live.d.ts +75 -0
- package/dist/codex/virtual-live.d.ts.map +1 -0
- package/dist/codex/virtual-live.js +563 -0
- package/dist/codex/virtual-live.js.map +1 -0
- package/dist/codex/virtual-values.d.ts +29 -0
- package/dist/codex/virtual-values.d.ts.map +1 -0
- package/dist/codex/virtual-values.js +75 -0
- package/dist/codex/virtual-values.js.map +1 -0
- package/dist/config.js +4 -4
- package/dist/config.js.map +1 -1
- package/dist/control-runtime.js +2 -2
- package/dist/control-runtime.js.map +1 -1
- package/dist/harness-remote-bridge.d.ts +2 -1
- package/dist/harness-remote-bridge.d.ts.map +1 -1
- package/dist/harness-remote-bridge.js +11 -3
- package/dist/harness-remote-bridge.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16044 -13878
- package/dist/index.js.map +4 -4
- package/dist/plugin-route-dispatcher.d.ts +2 -2
- package/dist/plugin-route-dispatcher.d.ts.map +1 -1
- package/dist/plugin-route-dispatcher.js +2 -2
- package/dist/plugin-route-dispatcher.js.map +1 -1
- package/dist/remote-typert-gateway.js +7 -1
- package/dist/remote-typert-gateway.js.map +1 -1
- package/dist/server-connection.d.ts +1 -0
- package/dist/server-connection.d.ts.map +1 -1
- package/dist/server-connection.js +6 -1
- package/dist/server-connection.js.map +1 -1
- package/dist/service.d.ts +1 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +6 -5
- package/dist/service.js.map +1 -1
- package/dist/terminal-carrier-compat.d.ts +14 -0
- package/dist/terminal-carrier-compat.d.ts.map +1 -0
- package/dist/terminal-carrier-compat.js +259 -0
- package/dist/terminal-carrier-compat.js.map +1 -0
- package/dist/typert-gateway-contract.d.ts +6 -1
- package/dist/typert-gateway-contract.d.ts.map +1 -1
- package/dist/typert-gateway-switch.d.ts +2 -1
- package/dist/typert-gateway-switch.d.ts.map +1 -1
- package/dist/typert-gateway-switch.js +31 -15
- package/dist/typert-gateway-switch.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dsh-plugin.json +1 -1
- package/package.json +21 -19
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { nativeWorkspace } from './virtual-catalog.js';
|
|
2
|
+
import { AsyncValueQueue, failure, isRecord, rcEndpoint, record, string, success } from './virtual-contract.js';
|
|
3
|
+
export class AcpEventCarrier {
|
|
4
|
+
context;
|
|
5
|
+
constructor(context) {
|
|
6
|
+
this.context = context;
|
|
7
|
+
}
|
|
8
|
+
async workspaceFollow(signal) {
|
|
9
|
+
const queue = new AsyncValueQueue(signal);
|
|
10
|
+
this.context.workspaceStreams.add(queue);
|
|
11
|
+
queue.push({
|
|
12
|
+
type: 'baseline',
|
|
13
|
+
value: {
|
|
14
|
+
items: this.context.visibleWorkspaces().map(nativeWorkspace),
|
|
15
|
+
archivedSessionIds: [],
|
|
16
|
+
pinnedSessionIds: [],
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
return queue.iterate(() => this.context.workspaceStreams.delete(queue));
|
|
20
|
+
}
|
|
21
|
+
async sessionControl(signal) {
|
|
22
|
+
const queue = new AsyncValueQueue(signal);
|
|
23
|
+
this.context.controlStreams.add(queue);
|
|
24
|
+
// Session Controller treats the first control frame as the opening
|
|
25
|
+
// snapshot. Without it the Client-side RemoteSnapshotStream never moves
|
|
26
|
+
// to `ready`, so a workspace selected through the Remote modal remains
|
|
27
|
+
// stuck on the empty shell after the page reload.
|
|
28
|
+
queue.push({ type: 'baseline', value: { projections: {} } });
|
|
29
|
+
return queue.iterate(() => this.context.controlStreams.delete(queue));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Background jobs belong to the Host Harness session, not to a backend-scoped
|
|
33
|
+
* virtual Workspace. The native session header mounts a job roster stream as
|
|
34
|
+
* soon as a Session opens, so answer it with an authoritative empty roster
|
|
35
|
+
* instead of a terminal `method-not-found` failure that tears the page down.
|
|
36
|
+
*/
|
|
37
|
+
emptyJobStream(endpoint, signal) {
|
|
38
|
+
const queue = new AsyncValueQueue(signal);
|
|
39
|
+
if (endpoint === 'job/list')
|
|
40
|
+
queue.push({ type: 'rows', jobs: [] });
|
|
41
|
+
return queue.iterate(() => queue.close());
|
|
42
|
+
}
|
|
43
|
+
async remoteEvents(signal) {
|
|
44
|
+
const id = `cursor-events:${Date.now()}:${Math.random()}`;
|
|
45
|
+
const queue = new AsyncValueQueue(signal);
|
|
46
|
+
this.context.eventStreams.set(id, queue);
|
|
47
|
+
const workspace = this.context.selectedWorkspaceId === undefined
|
|
48
|
+
? undefined
|
|
49
|
+
: this.context.workspaceById.get(this.context.selectedWorkspaceId);
|
|
50
|
+
queue.push({
|
|
51
|
+
type: 'ready',
|
|
52
|
+
clientId: id,
|
|
53
|
+
host: { home: workspace?.path ?? '/' },
|
|
54
|
+
});
|
|
55
|
+
return queue.iterate(() => this.context.eventStreams.delete(id));
|
|
56
|
+
}
|
|
57
|
+
emitRemoteEvent(event, args) {
|
|
58
|
+
for (const queue of this.context.eventStreams.values())
|
|
59
|
+
queue.push({ type: 'emit', event, args });
|
|
60
|
+
const sessionId = typeof args[0] === 'string' ? args[0] : undefined;
|
|
61
|
+
if (event === 'api-session/status' && sessionId !== undefined && typeof args[1] === 'boolean') {
|
|
62
|
+
this.broadcastRcHost({ type: 'host/session-status', sessionId, running: args[1] });
|
|
63
|
+
}
|
|
64
|
+
else if (event === 'api-session/removed' && sessionId !== undefined) {
|
|
65
|
+
this.broadcastRcHost({ type: 'host/session-removed', sessionId });
|
|
66
|
+
}
|
|
67
|
+
else if (event === 'api-session/added' && isRecord(args[0])) {
|
|
68
|
+
const summary = args[0];
|
|
69
|
+
this.broadcastRcHost({
|
|
70
|
+
type: 'host/session-added',
|
|
71
|
+
sessionId: summary.sessionId,
|
|
72
|
+
blank: summary.blank === true,
|
|
73
|
+
...(typeof summary.cwd === 'string' ? { cwd: summary.cwd } : {}),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
emitApproval(input) {
|
|
78
|
+
for (const queue of this.context.eventStreams.values())
|
|
79
|
+
queue.push({
|
|
80
|
+
type: 'waterfall',
|
|
81
|
+
event: 'approval/request',
|
|
82
|
+
eventId: input.eventId,
|
|
83
|
+
agentId: input.agentId,
|
|
84
|
+
request: input.request,
|
|
85
|
+
});
|
|
86
|
+
this.broadcastRcMux({
|
|
87
|
+
type: 'approval/requested',
|
|
88
|
+
sessionId: input.agentId,
|
|
89
|
+
approvalId: input.eventId,
|
|
90
|
+
toolName: string(input.request.toolName) ?? this.context.backendLabel(),
|
|
91
|
+
...(typeof input.request.reason === 'string' ? { reason: input.request.reason } : {}),
|
|
92
|
+
}, input.eventId);
|
|
93
|
+
}
|
|
94
|
+
async answerRemoteEvent(args, signal) {
|
|
95
|
+
const eventId = string(args.eventId);
|
|
96
|
+
const outcome = record(args.outcome);
|
|
97
|
+
if (eventId === undefined)
|
|
98
|
+
throw new Error(`The ${this.context.backendLabel()} approval result is missing its event id.`);
|
|
99
|
+
const pending = this.context.pendingApprovals.get(eventId);
|
|
100
|
+
if (pending === undefined)
|
|
101
|
+
return undefined;
|
|
102
|
+
this.context.pendingApprovals.delete(eventId);
|
|
103
|
+
const decision = outcome.kind === 'result' && outcome.value === 'allowed-once'
|
|
104
|
+
? 'allow-once'
|
|
105
|
+
: outcome.kind === 'result' && outcome.value === 'cancelled'
|
|
106
|
+
? 'cancel'
|
|
107
|
+
: 'reject-once';
|
|
108
|
+
await this.context.client.respond(pending.requestHandle, decision, undefined, signal);
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
createApiProxy() {
|
|
112
|
+
const call = (endpoint) => async (request, signal) => {
|
|
113
|
+
const payload = endpoint === 'session.prompt' && isRecord(request.payload)
|
|
114
|
+
? { ...request.payload, requestId: String(request.rpcId) }
|
|
115
|
+
: request.payload;
|
|
116
|
+
const result = await this.context.dispatch(rcEndpoint(endpoint), { args: { request: payload } }, signal ?? new AbortController().signal);
|
|
117
|
+
return {
|
|
118
|
+
rpcId: request.rpcId,
|
|
119
|
+
result: (result.ok
|
|
120
|
+
? success(result.value)
|
|
121
|
+
: failure(result.error.code, result.error.message, result.error.details)),
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
return {
|
|
125
|
+
sessions: {
|
|
126
|
+
list: call('session.list'),
|
|
127
|
+
search: call('session.search'),
|
|
128
|
+
create: call('session.create'),
|
|
129
|
+
history: call('session.history'),
|
|
130
|
+
models: call('session.models'),
|
|
131
|
+
selectModel: call('session.selectModel'),
|
|
132
|
+
rename: call('session.rename'),
|
|
133
|
+
fork: call('session.fork'),
|
|
134
|
+
prompt: call('session.prompt'),
|
|
135
|
+
attachment: call('session.attachment'),
|
|
136
|
+
updateQueue: call('session.updateQueue'),
|
|
137
|
+
cancel: call('session.cancel'),
|
|
138
|
+
},
|
|
139
|
+
workspace: {
|
|
140
|
+
list: call('workspace.list'),
|
|
141
|
+
create: call('workspace.create'),
|
|
142
|
+
rename: call('workspace.rename'),
|
|
143
|
+
delete: call('workspace.delete'),
|
|
144
|
+
insertBefore: call('workspace.insertBefore'),
|
|
145
|
+
insertSessionBefore: call('workspace.insertSessionBefore'),
|
|
146
|
+
archiveSession: call('workspace.archiveSession'),
|
|
147
|
+
},
|
|
148
|
+
subagents: {},
|
|
149
|
+
host: {
|
|
150
|
+
describe: call('host.describe'),
|
|
151
|
+
listDirectory: call('host.listDirectory'),
|
|
152
|
+
},
|
|
153
|
+
skills: { list: call('skills.list') },
|
|
154
|
+
agentPresets: {},
|
|
155
|
+
goals: {},
|
|
156
|
+
settings: {},
|
|
157
|
+
credentials: {},
|
|
158
|
+
llm: {},
|
|
159
|
+
events: {
|
|
160
|
+
mux: ((request, signal) => this.rcMux(request, signal)),
|
|
161
|
+
host: ((request, signal) => this.rcHost(request, signal)),
|
|
162
|
+
},
|
|
163
|
+
downloads: {},
|
|
164
|
+
respond: async (message) => {
|
|
165
|
+
const pending = this.context.pendingApprovals.get(String(message.rpcId))
|
|
166
|
+
?? [...this.context.pendingApprovals.values()].find(item => item.requestHandle === String(message.rpcId));
|
|
167
|
+
if (pending === undefined)
|
|
168
|
+
return { accepted: false, reason: 'not-pending' };
|
|
169
|
+
const result = message.result;
|
|
170
|
+
const outcome = result.ok ? result.value : undefined;
|
|
171
|
+
const decision = outcome === 'allowed-once' ? 'allow-once' : outcome === 'cancelled' ? 'cancel' : 'reject-once';
|
|
172
|
+
await this.context.client.respond(pending.requestHandle, decision);
|
|
173
|
+
this.context.pendingApprovals.delete(pending.requestHandle);
|
|
174
|
+
return { accepted: true };
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
async *rcMux(request, signal) {
|
|
179
|
+
const queue = new AsyncValueQueue(signal);
|
|
180
|
+
this.context.rcMuxStreams.add(queue);
|
|
181
|
+
for (const session of this.context.sessions.values()) {
|
|
182
|
+
queue.push({
|
|
183
|
+
rpcId: `${String(request.rpcId)}:${session.sessionId}:subscribed`,
|
|
184
|
+
payload: { type: 'session/subscribed', sessionId: session.sessionId, lastSeq: -1 },
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
try {
|
|
188
|
+
yield* queue;
|
|
189
|
+
}
|
|
190
|
+
finally {
|
|
191
|
+
this.context.rcMuxStreams.delete(queue);
|
|
192
|
+
queue.close();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
async *rcHost(_request, signal) {
|
|
196
|
+
const queue = new AsyncValueQueue(signal);
|
|
197
|
+
this.context.rcHostStreams.add(queue);
|
|
198
|
+
try {
|
|
199
|
+
yield* queue;
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
this.context.rcHostStreams.delete(queue);
|
|
203
|
+
queue.close();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
broadcastRcMux(payload, rpcId = `cursor-mux:${Date.now()}:${Math.random()}`) {
|
|
207
|
+
for (const queue of this.context.rcMuxStreams)
|
|
208
|
+
queue.push({ rpcId, payload });
|
|
209
|
+
}
|
|
210
|
+
broadcastRcHost(payload) {
|
|
211
|
+
const frame = { rpcId: `cursor-host:${Date.now()}:${Math.random()}`, payload };
|
|
212
|
+
for (const queue of this.context.rcHostStreams)
|
|
213
|
+
queue.push(frame);
|
|
214
|
+
}
|
|
215
|
+
publishProjection(sessionId, key, value, seq = this.context.nextProjectionSeq()) {
|
|
216
|
+
for (const queue of this.context.controlStreams) {
|
|
217
|
+
queue.push({ type: 'projection', sessionId, key, value, asOfSeq: seq, seq });
|
|
218
|
+
}
|
|
219
|
+
this.broadcastRcMux({ type: 'session/projection', sessionId, key, value, seq });
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=virtual-event-carrier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-event-carrier.js","sourceRoot":"","sources":["../../src/acp/virtual-event-carrier.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAoB/G,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAEhE,KAAK,CAAC,eAAe,CAAC,MAAmB;QACvC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC5D,kBAAkB,EAAE,EAAE;gBACtB,gBAAgB,EAAE,EAAE;aACrB;SACF,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAmB;QACtC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtC,mEAAmE;QACnE,wEAAwE;QACxE,uEAAuE;QACvE,kDAAkD;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACvE,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,QAAmC,EAAE,MAAmB;QACrE,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,QAAQ,KAAK,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QACnE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAmB;QACpC,MAAM,EAAE,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;QACzD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS;YAC9D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;QACpE,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,GAAG,EAAE;SACvC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;IAED,eAAe,CAAC,KAAa,EAAE,IAAe;QAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACjG,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnE,IAAI,KAAK,KAAK,oBAAoB,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9F,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACpF,CAAC;aAAM,IAAI,KAAK,KAAK,qBAAqB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACtE,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,CAAA;QACnE,CAAC;aAAM,IAAI,KAAK,KAAK,mBAAmB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,CAAC,eAAe,CAAC;gBACnB,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI;gBAC7B,GAAG,CAAC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAgE;QAC3E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC;gBACjE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,CAAC;YAClB,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,UAAU,EAAE,KAAK,CAAC,OAAO;YACzB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACvE,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtF,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAgB,EAAE,MAAmB;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,2CAA2C,CAAC,CAAA;QACzH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,cAAc;YAC5E,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW;gBAC1D,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,aAAa,CAAA;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACrF,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,KAAK,EAAE,OAA4B,EAAE,MAAoB,EAAiC,EAAE;YAC7H,MAAM,OAAO,GAAG,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;gBACxE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAA;YACxI,OAAO;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE;oBAChB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAU;aACrF,CAAA;QACH,CAAC,CAAA;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,cAAc,CAAU;gBACnC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAU;gBACvC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAU;gBACvC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAU;gBACzC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAU;gBACvC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAU;gBACjD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAU;gBACvC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAU;gBACnC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAU;gBACvC,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAU;gBAC/C,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAU;gBACjD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAU;aACxC;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAU;gBACrC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAU;gBACzC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAU;gBACzC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAU;gBACzC,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAU;gBACrD,mBAAmB,EAAE,IAAI,CAAC,+BAA+B,CAAU;gBACnE,cAAc,EAAE,IAAI,CAAC,0BAA0B,CAAU;aAC1D;YACD,SAAS,EAAE,EAA2B;YACtC,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAU;gBACxC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAU;aACpB;YAChC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAU,EAAE;YAC9C,YAAY,EAAE,EAA8B;YAC5C,KAAK,EAAE,EAAuB;YAC9B,QAAQ,EAAE,EAA0B;YACpC,WAAW,EAAE,EAA6B;YAC1C,GAAG,EAAE,EAAqB;YAC1B,MAAM,EAAE;gBACN,GAAG,EAAE,CAAC,CAAC,OAA4B,EAAE,MAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAU;gBAClG,IAAI,EAAE,CAAC,CAAC,OAA4B,EAAE,MAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAU;aACrG;YACD,SAAS,EAAE,EAA2B;YACtC,OAAO,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;uBACnE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC3G,IAAI,OAAO,KAAK,SAAS;oBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;gBAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;gBAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;gBACpD,MAAM,QAAQ,GAAG,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAA;gBAC/G,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;gBAClE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;gBAC3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YAC3B,CAAC;SACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,CAAC,KAAK,CAAC,OAA4B,EAAE,MAAmB;QAC5D,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,aAAa;gBACjE,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;aACnF,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,KAAK,CAAA;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACvC,KAAK,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,QAA6B,EAAE,MAAmB;QAC9D,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,KAAK,CAAA;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACxC,KAAK,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAAgB,EAAE,KAAK,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;QAClF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAA;QAC9E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnE,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,GAAW,EAAE,KAAc,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QACtG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9E,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACjF,CAAC;CACF"}
|
|
@@ -1,52 +1,8 @@
|
|
|
1
|
-
import { ACP_TOOL_CALL_ENDPOINTS, type AcpSessionModels, type AgentAcpStreamOpenParams } from '@dsh-remote/protocol';
|
|
2
|
-
import { type AcpImage } from './image-content.js';
|
|
3
1
|
import type { ApiProxy } from '@deepseek-ai/dsh-host-apiproxy/api';
|
|
4
2
|
import { AgentAcpClient } from '@dsh-remote/client-core';
|
|
5
|
-
import type { AgentAcpFrameData, AgentAcpStreamClosedData } from '@dsh-remote/protocol';
|
|
6
3
|
import type { RemoteTypertGatewayTarget, TypertGatewayRequest, TypertRpcResult } from '../typert-gateway-contract.js';
|
|
7
|
-
type
|
|
8
|
-
|
|
9
|
-
workspaceId: string;
|
|
10
|
-
path: string;
|
|
11
|
-
title: string;
|
|
12
|
-
sessionIds: string[];
|
|
13
|
-
sessionCount: number;
|
|
14
|
-
createdAt: string;
|
|
15
|
-
updatedAt: string;
|
|
16
|
-
}
|
|
17
|
-
export interface AcpClientLike {
|
|
18
|
-
sessionModels?(sessionId: string, backend: 'antigravity', signal?: AbortSignal): Promise<AcpSessionModels>;
|
|
19
|
-
selectModel?(sessionId: string, backend: 'antigravity', selection: AcpModelSelection, signal?: AbortSignal): Promise<AcpModelSelection>;
|
|
20
|
-
workspaceToolCall?(sessionId: string, backend: 'cursor' | 'antigravity', endpoint: typeof ACP_TOOL_CALL_ENDPOINTS[number], args: JsonRecord, signal?: AbortSignal): Promise<unknown>;
|
|
21
|
-
createSession(cwd: string, mode?: 'agent' | 'plan' | 'ask', backend?: 'cursor' | 'antigravity', signal?: AbortSignal): Promise<{
|
|
22
|
-
sessionId: string;
|
|
23
|
-
cwd?: string;
|
|
24
|
-
}>;
|
|
25
|
-
prompt(sessionId: string, text: string, signal?: AbortSignal, images?: AcpImage[], backend?: 'cursor' | 'antigravity'): Promise<unknown>;
|
|
26
|
-
cancel(sessionId: string, signal?: AbortSignal): Promise<unknown>;
|
|
27
|
-
listDirectory(path: string, signal?: AbortSignal): Promise<unknown>;
|
|
28
|
-
listWorkspaces?(backend?: string, signal?: AbortSignal): Promise<Array<{
|
|
29
|
-
path: string;
|
|
30
|
-
title?: string;
|
|
31
|
-
sessionCount?: number;
|
|
32
|
-
}>>;
|
|
33
|
-
listSessions?(path: string, backend?: string, limit?: number, signal?: AbortSignal): Promise<Array<{
|
|
34
|
-
conversationId: string;
|
|
35
|
-
title: string;
|
|
36
|
-
createdAt: number;
|
|
37
|
-
updatedAt: number;
|
|
38
|
-
}>>;
|
|
39
|
-
loadSessionHistory?(sessionId: string, backend?: string, signal?: AbortSignal): Promise<unknown[]>;
|
|
40
|
-
openStream(sessionId: string, onFrame: (frame: AgentAcpFrameData) => void, onClosed?: (closed: AgentAcpStreamClosedData) => void, signal?: AbortSignal, tool?: AgentAcpStreamOpenParams['tool']): Promise<{
|
|
41
|
-
close(): Promise<void>;
|
|
42
|
-
}>;
|
|
43
|
-
respond(requestHandle: string, decision: 'allow-once' | 'allow-always' | 'reject-once' | 'cancel', result?: unknown, signal?: AbortSignal): Promise<unknown>;
|
|
44
|
-
}
|
|
45
|
-
/** Build a backend-scoped virtual Workspace id for an absolute Host cwd. */
|
|
46
|
-
export declare function acpCwdWorkspaceId(path: string, backend: 'cursor' | 'antigravity'): string;
|
|
47
|
-
export declare function createAcpWorkspaceView(path: string, backend: 'cursor' | 'antigravity', title?: string): AcpVirtualWorkspaceView;
|
|
48
|
-
/** Discover ACP virtual workspaces visible on the Host. */
|
|
49
|
-
export declare function discoverAcpVirtualWorkspaces(client: AcpClientLike, backend: 'cursor' | 'antigravity', signal?: AbortSignal): Promise<AcpVirtualWorkspaceView[]>;
|
|
4
|
+
import type { AcpVirtualWorkspaceView } from './virtual-catalog.js';
|
|
5
|
+
import type { AcpClientLike } from './virtual-contract.js';
|
|
50
6
|
/**
|
|
51
7
|
* Browser-safe, in-memory Harness projection for the independent Agent ACP domain. Projects
|
|
52
8
|
* cwd workspaces and ACP sessions onto the native DSH Workspace / Session /
|
|
@@ -55,7 +11,7 @@ export declare function discoverAcpVirtualWorkspaces(client: AcpClientLike, back
|
|
|
55
11
|
export declare class AcpVirtualHarness implements RemoteTypertGatewayTarget {
|
|
56
12
|
private readonly client;
|
|
57
13
|
private readonly host;
|
|
58
|
-
readonly backend:
|
|
14
|
+
readonly backend: "cursor" | "antigravity" | "pi" | "opencode";
|
|
59
15
|
/**
|
|
60
16
|
* Host gateway used for endpoints this virtual Harness does not project
|
|
61
17
|
* (settings, plugins, models, credentials, …). A real Harness workspace
|
|
@@ -63,6 +19,8 @@ export declare class AcpVirtualHarness implements RemoteTypertGatewayTarget {
|
|
|
63
19
|
* see `method-not-found` for every global surface and can fail its render.
|
|
64
20
|
*/
|
|
65
21
|
private readonly hostCarrier?;
|
|
22
|
+
private readonly live;
|
|
23
|
+
private readonly events;
|
|
66
24
|
readonly api: ApiProxy;
|
|
67
25
|
private readonly workspaceById;
|
|
68
26
|
private readonly sessions;
|
|
@@ -73,6 +31,7 @@ export declare class AcpVirtualHarness implements RemoteTypertGatewayTarget {
|
|
|
73
31
|
private readonly rcHostStreams;
|
|
74
32
|
private readonly follows;
|
|
75
33
|
private readonly pendingApprovals;
|
|
34
|
+
private readonly pendingHistory;
|
|
76
35
|
private selectedWorkspaceId?;
|
|
77
36
|
private readonly selectedModels;
|
|
78
37
|
private lastProjectionSeq;
|
|
@@ -81,7 +40,7 @@ export declare class AcpVirtualHarness implements RemoteTypertGatewayTarget {
|
|
|
81
40
|
constructor(client: AcpClientLike, host: {
|
|
82
41
|
deviceId: string;
|
|
83
42
|
name: string;
|
|
84
|
-
}, backend?:
|
|
43
|
+
}, backend?: "cursor" | "antigravity" | "pi" | "opencode",
|
|
85
44
|
/**
|
|
86
45
|
* Host gateway used for endpoints this virtual Harness does not project
|
|
87
46
|
* (settings, plugins, models, credentials, …). A real Harness workspace
|
|
@@ -92,7 +51,7 @@ export declare class AcpVirtualHarness implements RemoteTypertGatewayTarget {
|
|
|
92
51
|
static remote(core: ConstructorParameters<typeof AgentAcpClient>[0], host: {
|
|
93
52
|
deviceId: string;
|
|
94
53
|
name: string;
|
|
95
|
-
}, backend?:
|
|
54
|
+
}, backend?: "cursor" | "antigravity" | "pi" | "opencode", capabilities?: readonly string[], hostCarrier?: RemoteTypertGatewayTarget): AcpVirtualHarness;
|
|
96
55
|
workspaces(): Promise<AcpVirtualWorkspaceView[]>;
|
|
97
56
|
private backendLabel;
|
|
98
57
|
selectWorkspace(workspaceId: string): Promise<AcpVirtualWorkspaceView>;
|
|
@@ -115,33 +74,13 @@ export declare class AcpVirtualHarness implements RemoteTypertGatewayTarget {
|
|
|
115
74
|
private cacheImageAttachments;
|
|
116
75
|
private attachment;
|
|
117
76
|
private hydrateSession;
|
|
77
|
+
private hydrateSessionOnce;
|
|
118
78
|
private sessionHistory;
|
|
79
|
+
private sessionProjections;
|
|
119
80
|
private sessionPage;
|
|
120
81
|
private historyPage;
|
|
121
82
|
private describeHost;
|
|
122
83
|
private listDirectory;
|
|
123
|
-
private answerRemoteEvent;
|
|
124
|
-
private workspaceFollow;
|
|
125
|
-
private sessionControl;
|
|
126
|
-
/**
|
|
127
|
-
* Background jobs belong to the Host Harness session, not to a backend-scoped
|
|
128
|
-
* virtual Workspace. The native session header mounts a job roster stream as
|
|
129
|
-
* soon as a Session opens, so answer it with an authoritative empty roster
|
|
130
|
-
* instead of a terminal `method-not-found` failure that tears the page down.
|
|
131
|
-
*/
|
|
132
|
-
private emptyJobStream;
|
|
133
|
-
private remoteEvents;
|
|
134
|
-
private sessionFollow;
|
|
135
|
-
private ensureFollow;
|
|
136
|
-
private acceptAcpFrame;
|
|
137
|
-
private acceptSessionUpdate;
|
|
138
|
-
private acceptApproval;
|
|
139
|
-
private pushAssistantChunk;
|
|
140
|
-
private endAssistantAttempt;
|
|
141
|
-
private appendAssistantDelta;
|
|
142
|
-
private appendReasoningDelta;
|
|
143
|
-
private closeFollowAfterRemoteStreamClosed;
|
|
144
|
-
private pushEvent;
|
|
145
84
|
private registerSession;
|
|
146
85
|
private applyDiscoveredTitle;
|
|
147
86
|
private refreshSessionTitle;
|
|
@@ -156,47 +95,9 @@ export declare class AcpVirtualHarness implements RemoteTypertGatewayTarget {
|
|
|
156
95
|
private hostSessionModels;
|
|
157
96
|
private selectModel;
|
|
158
97
|
private publishWorkspaceBaseline;
|
|
159
|
-
private publishProjection;
|
|
160
|
-
private emitRemoteEvent;
|
|
161
|
-
private emitApproval;
|
|
162
98
|
private nextProjectionSeq;
|
|
163
|
-
private createApiProxy;
|
|
164
|
-
private rcMux;
|
|
165
|
-
private rcHost;
|
|
166
|
-
private broadcastRcMux;
|
|
167
|
-
private broadcastRcHost;
|
|
168
99
|
}
|
|
169
|
-
export
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
reasoningEffort?: string;
|
|
173
|
-
}
|
|
174
|
-
export interface AcpModelView {
|
|
175
|
-
id: string;
|
|
176
|
-
name: string;
|
|
177
|
-
description?: string;
|
|
178
|
-
reasoning?: {
|
|
179
|
-
efforts: Array<{
|
|
180
|
-
id: string;
|
|
181
|
-
name: string;
|
|
182
|
-
description?: string;
|
|
183
|
-
}>;
|
|
184
|
-
defaultEffort?: string;
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
export declare function modelCatalog(backend?: 'cursor' | 'antigravity'): {
|
|
188
|
-
default: AcpModelSelection;
|
|
189
|
-
routableProviders: string[];
|
|
190
|
-
groups: Array<{
|
|
191
|
-
id: string;
|
|
192
|
-
name: string;
|
|
193
|
-
models: AcpModelView[];
|
|
194
|
-
}>;
|
|
195
|
-
failures: Array<{
|
|
196
|
-
id: string;
|
|
197
|
-
name: string;
|
|
198
|
-
message: string;
|
|
199
|
-
}>;
|
|
200
|
-
};
|
|
201
|
-
export {};
|
|
100
|
+
export { acpCwdWorkspaceId, createAcpWorkspaceView, discoverAcpVirtualWorkspaces, modelCatalog } from './virtual-catalog.js';
|
|
101
|
+
export type { AcpModelSelection, AcpModelView, AcpVirtualWorkspaceView } from './virtual-catalog.js';
|
|
102
|
+
export type { AcpClientLike } from './virtual-contract.js';
|
|
202
103
|
//# sourceMappingURL=virtual-harness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-harness.d.ts","sourceRoot":"","sources":["../../src/acp/virtual-harness.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"virtual-harness.d.ts","sourceRoot":"","sources":["../../src/acp/virtual-harness.ts"],"names":[],"mappings":"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"}
|