@nuvin/session 0.2.0-rc.7 → 0.2.0-rc.9
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/chunk-7LEIACBZ.js +85 -0
- package/dist/{chunk-I5U3WU6B.js → chunk-KQHHBUVY.js} +112 -32
- package/dist/{chunk-MRVGQ4DK.js → chunk-O3UBTUIO.js} +1 -1
- package/dist/client/daemon-client.d.ts.map +1 -1
- package/dist/client/data-client.d.ts +10 -15
- package/dist/client/data-client.d.ts.map +1 -1
- package/dist/client/directory.d.ts +12 -14
- package/dist/client/directory.d.ts.map +1 -1
- package/dist/client/http-data-client.d.ts +5 -0
- package/dist/client/http-data-client.d.ts.map +1 -1
- package/dist/client/index.js +90 -23
- package/dist/client/session-client.d.ts +2 -2
- package/dist/client/session-client.d.ts.map +1 -1
- package/dist/controller/agent-channel.d.ts +2 -2
- package/dist/controller/agent-channel.d.ts.map +1 -1
- package/dist/controller/index.js +131 -52
- package/dist/controller/session-controller.d.ts +12 -12
- package/dist/controller/session-controller.d.ts.map +1 -1
- package/dist/protocol/data-rpc.d.ts +13 -14
- package/dist/protocol/data-rpc.d.ts.map +1 -1
- package/dist/protocol/history-text.d.ts +4 -0
- package/dist/protocol/history-text.d.ts.map +1 -0
- package/dist/protocol/index.d.ts +1 -0
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +12 -4
- package/dist/protocol/model-identity.d.ts +7 -0
- package/dist/protocol/model-identity.d.ts.map +1 -1
- package/dist/protocol/types.d.ts +85 -18
- package/dist/protocol/types.d.ts.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/state/index.d.ts +2 -0
- package/dist/state/index.d.ts.map +1 -1
- package/dist/state/index.js +13 -3
- package/dist/state/messages.d.ts +11 -3
- package/dist/state/messages.d.ts.map +1 -1
- package/dist/state/questions.d.ts +5 -0
- package/dist/state/questions.d.ts.map +1 -0
- package/dist/state/session.d.ts.map +1 -1
- package/dist/state/tool-key.d.ts +2 -0
- package/dist/state/tool-key.d.ts.map +1 -0
- package/dist/state/tool-preview.d.ts.map +1 -1
- package/dist/state/tool-preview.js +27 -27
- package/dist/test-utils/index.js +2 -2
- package/package.json +3 -3
- package/dist/chunk-7HGJO7ZX.js +0 -9
package/dist/client/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createSessionViewState,
|
|
3
3
|
reduceSessionEvent
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-KQHHBUVY.js";
|
|
5
5
|
import {
|
|
6
6
|
PROTOCOL_VERSION
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-O3UBTUIO.js";
|
|
8
8
|
|
|
9
9
|
// src/client/endpoint.ts
|
|
10
10
|
var TerminalEndpointError = class extends Error {
|
|
@@ -17,6 +17,13 @@ var TerminalEndpointError = class extends Error {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
// src/client/http-data-client.ts
|
|
20
|
+
var DataRpcClientError = class extends Error {
|
|
21
|
+
constructor(code, message) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.code = code;
|
|
24
|
+
this.name = "DataRpcClientError";
|
|
25
|
+
}
|
|
26
|
+
};
|
|
20
27
|
function httpBaseFromWsUrl(wsUrl) {
|
|
21
28
|
const u = new URL(wsUrl);
|
|
22
29
|
const scheme = u.protocol === "wss:" ? "https:" : "http:";
|
|
@@ -46,6 +53,9 @@ async function throwFromResponse(response, fallback, terminal, onUnauthorized) {
|
|
|
46
53
|
typeof body?.message === "string" ? body.message : mapped.message
|
|
47
54
|
);
|
|
48
55
|
}
|
|
56
|
+
if (body?.code === "invalid-history-cursor") {
|
|
57
|
+
throw new DataRpcClientError(body.code, body.message ?? fallback);
|
|
58
|
+
}
|
|
49
59
|
throw new Error(
|
|
50
60
|
typeof body?.message === "string" ? body.message : `${fallback} (HTTP ${response.status}).`
|
|
51
61
|
);
|
|
@@ -173,10 +183,10 @@ function createHttpDataClient(options = {}) {
|
|
|
173
183
|
const body = await response.json();
|
|
174
184
|
return { url: body.wsUrl, credential: { grant: body.grant } };
|
|
175
185
|
},
|
|
176
|
-
async fetchTranscript(daemonId,
|
|
177
|
-
const suffix = `/transcript/${encodeURIComponent(
|
|
178
|
-
workspace:
|
|
179
|
-
profile:
|
|
186
|
+
async fetchTranscript(daemonId, identity) {
|
|
187
|
+
const suffix = `/transcript/${encodeURIComponent(identity.sessionId)}${queryString({
|
|
188
|
+
workspace: identity.workspace,
|
|
189
|
+
profile: identity.profile
|
|
180
190
|
})}`;
|
|
181
191
|
const response = await daemonFetch(daemonId, suffix);
|
|
182
192
|
if (response.status === 404) {
|
|
@@ -193,7 +203,8 @@ function createHttpDataClient(options = {}) {
|
|
|
193
203
|
profile: opts?.profile,
|
|
194
204
|
cwd: opts?.cwd,
|
|
195
205
|
limit: opts?.limit,
|
|
196
|
-
cursor: opts?.cursor
|
|
206
|
+
cursor: opts?.cursor,
|
|
207
|
+
includeExtraction: opts?.includeExtraction === true ? "true" : void 0
|
|
197
208
|
})}`;
|
|
198
209
|
const response = await daemonFetch(daemonId, suffix);
|
|
199
210
|
if (!response.ok)
|
|
@@ -202,6 +213,37 @@ function createHttpDataClient(options = {}) {
|
|
|
202
213
|
});
|
|
203
214
|
return await response.json();
|
|
204
215
|
},
|
|
216
|
+
async listHistoryWorkspaces(daemonId, opts) {
|
|
217
|
+
const suffix = `/history/workspaces${queryString({
|
|
218
|
+
profile: opts?.profile,
|
|
219
|
+
currentCwd: opts?.currentCwd,
|
|
220
|
+
query: opts?.query,
|
|
221
|
+
includeExtraction: opts?.includeExtraction === true ? "true" : void 0
|
|
222
|
+
})}`;
|
|
223
|
+
const response = await daemonFetch(daemonId, suffix, { signal: opts?.signal });
|
|
224
|
+
if (!response.ok)
|
|
225
|
+
await throwFromResponse(response, "Failed to load history workspaces", {
|
|
226
|
+
404: { reason: "daemon-revoked", message: "This daemon is no longer registered." }
|
|
227
|
+
});
|
|
228
|
+
return await response.json();
|
|
229
|
+
},
|
|
230
|
+
async listWorkspaceHistory(daemonId, opts) {
|
|
231
|
+
const suffix = `/history/workspace${queryString({
|
|
232
|
+
profile: opts?.profile,
|
|
233
|
+
workspace: opts?.workspace,
|
|
234
|
+
cwd: opts?.cwd,
|
|
235
|
+
query: opts?.query,
|
|
236
|
+
limit: opts?.limit,
|
|
237
|
+
cursor: opts?.cursor,
|
|
238
|
+
includeExtraction: opts?.includeExtraction === true ? "true" : void 0
|
|
239
|
+
})}`;
|
|
240
|
+
const response = await daemonFetch(daemonId, suffix, { signal: opts?.signal });
|
|
241
|
+
if (!response.ok)
|
|
242
|
+
await throwFromResponse(response, "Failed to load workspace history", {
|
|
243
|
+
404: { reason: "daemon-revoked", message: "This daemon is no longer registered." }
|
|
244
|
+
});
|
|
245
|
+
return await response.json();
|
|
246
|
+
},
|
|
205
247
|
async listWorkspaces(daemonId, opts) {
|
|
206
248
|
const suffix = `/workspaces${queryString({ profile: opts?.profile })}`;
|
|
207
249
|
const response = await daemonFetch(daemonId, suffix);
|
|
@@ -224,10 +266,10 @@ function createHttpDataClient(options = {}) {
|
|
|
224
266
|
if (!response.ok) await throwFromResponse(response, "Failed to create the workspace");
|
|
225
267
|
return await response.json();
|
|
226
268
|
},
|
|
227
|
-
async deleteSession(daemonId,
|
|
228
|
-
const suffix = `/sessions/${encodeURIComponent(
|
|
229
|
-
workspace:
|
|
230
|
-
profile:
|
|
269
|
+
async deleteSession(daemonId, identity) {
|
|
270
|
+
const suffix = `/sessions/${encodeURIComponent(identity.sessionId)}${queryString({
|
|
271
|
+
workspace: identity.workspace,
|
|
272
|
+
profile: identity.profile
|
|
231
273
|
})}`;
|
|
232
274
|
const response = await daemonFetch(daemonId, suffix, { method: "DELETE" });
|
|
233
275
|
if (response.status === 404) {
|
|
@@ -540,22 +582,24 @@ function createSessionClient(transport) {
|
|
|
540
582
|
})).then(() => {
|
|
541
583
|
});
|
|
542
584
|
},
|
|
543
|
-
decideApproval(toolCallId, decision, comment, grantDir) {
|
|
585
|
+
decideApproval(toolCallId, decision, comment, grantDir, parentToolCallId) {
|
|
544
586
|
return sendCommand((id) => ({
|
|
545
587
|
id,
|
|
546
588
|
type: "decide-approval",
|
|
547
589
|
toolCallId,
|
|
548
590
|
decision,
|
|
549
591
|
...comment !== void 0 ? { comment } : {},
|
|
550
|
-
...grantDir !== void 0 ? { grantDir } : {}
|
|
592
|
+
...grantDir !== void 0 ? { grantDir } : {},
|
|
593
|
+
...parentToolCallId !== void 0 ? { parentToolCallId } : {}
|
|
551
594
|
})).then(() => {
|
|
552
595
|
});
|
|
553
596
|
},
|
|
554
|
-
persistBashPermission(toolCallId, request) {
|
|
597
|
+
persistBashPermission(toolCallId, request, parentToolCallId) {
|
|
555
598
|
return sendCommand((id) => ({
|
|
556
599
|
id,
|
|
557
600
|
type: "persist-bash-permission",
|
|
558
601
|
toolCallId,
|
|
602
|
+
...parentToolCallId !== void 0 ? { parentToolCallId } : {},
|
|
559
603
|
request
|
|
560
604
|
})).then(toPersistBashPermissionResult);
|
|
561
605
|
},
|
|
@@ -994,11 +1038,13 @@ function throwCollectedErrors(errors, message) {
|
|
|
994
1038
|
}
|
|
995
1039
|
function bindDaemonDataClient(client, daemonId) {
|
|
996
1040
|
return {
|
|
997
|
-
fetchTranscript: (
|
|
1041
|
+
fetchTranscript: (identity) => client.fetchTranscript(daemonId, identity),
|
|
998
1042
|
fetchHistory: (opts) => client.fetchHistory(daemonId, opts),
|
|
1043
|
+
listHistoryWorkspaces: (opts) => client.listHistoryWorkspaces(daemonId, opts),
|
|
1044
|
+
listWorkspaceHistory: (opts) => client.listWorkspaceHistory(daemonId, opts),
|
|
999
1045
|
listWorkspaces: (opts) => client.listWorkspaces(daemonId, opts),
|
|
1000
1046
|
createWorkspace: (opts) => client.createWorkspace(daemonId, opts),
|
|
1001
|
-
deleteSession: (
|
|
1047
|
+
deleteSession: (identity) => client.deleteSession(daemonId, identity),
|
|
1002
1048
|
listProfiles: () => client.listProfiles(daemonId),
|
|
1003
1049
|
listProviders: (opts) => client.listProviders(daemonId, opts),
|
|
1004
1050
|
addProvider: (input) => client.addProvider(daemonId, input),
|
|
@@ -1198,6 +1244,24 @@ function createDaemonClient(target, deps = {}) {
|
|
|
1198
1244
|
}
|
|
1199
1245
|
|
|
1200
1246
|
// src/client/directory.ts
|
|
1247
|
+
var DAEMON_REQUEST_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
1248
|
+
"transcript-unavailable",
|
|
1249
|
+
"transcript-corrupt",
|
|
1250
|
+
"history-state-conflict",
|
|
1251
|
+
"ambiguous-session-identity"
|
|
1252
|
+
]);
|
|
1253
|
+
var DaemonRequestError = class extends Error {
|
|
1254
|
+
code;
|
|
1255
|
+
identity;
|
|
1256
|
+
constructor(message, options) {
|
|
1257
|
+
super(message);
|
|
1258
|
+
this.name = "DaemonRequestError";
|
|
1259
|
+
if (options?.code && DAEMON_REQUEST_ERROR_CODES.has(options.code)) {
|
|
1260
|
+
this.code = options.code;
|
|
1261
|
+
}
|
|
1262
|
+
this.identity = options?.identity;
|
|
1263
|
+
}
|
|
1264
|
+
};
|
|
1201
1265
|
var toText2 = (data) => {
|
|
1202
1266
|
if (typeof data === "string") return data;
|
|
1203
1267
|
if (data instanceof Buffer) return data.toString("utf8");
|
|
@@ -1323,7 +1387,12 @@ function createServerDirectory(options) {
|
|
|
1323
1387
|
if (!entry || entry.kind === "list") return;
|
|
1324
1388
|
link.pending.delete(message.id);
|
|
1325
1389
|
if (!message.ok) {
|
|
1326
|
-
entry.reject(
|
|
1390
|
+
entry.reject(
|
|
1391
|
+
new DaemonRequestError(message.error?.message ?? "Command failed.", {
|
|
1392
|
+
...message.error?.code ? { code: message.error.code } : {},
|
|
1393
|
+
...message.error?.identity ? { identity: message.error.identity } : {}
|
|
1394
|
+
})
|
|
1395
|
+
);
|
|
1327
1396
|
return;
|
|
1328
1397
|
}
|
|
1329
1398
|
if (entry.kind === "kill") {
|
|
@@ -1524,7 +1593,7 @@ function createServerDirectory(options) {
|
|
|
1524
1593
|
);
|
|
1525
1594
|
});
|
|
1526
1595
|
},
|
|
1527
|
-
resumeSession(server,
|
|
1596
|
+
resumeSession(server, identity) {
|
|
1528
1597
|
return new Promise((resolve, reject) => {
|
|
1529
1598
|
const link = linkFor(server);
|
|
1530
1599
|
if (link instanceof Error) {
|
|
@@ -1538,11 +1607,7 @@ function createServerDirectory(options) {
|
|
|
1538
1607
|
JSON.stringify({
|
|
1539
1608
|
id,
|
|
1540
1609
|
type: "resume-session",
|
|
1541
|
-
|
|
1542
|
-
cwd: resumeOptions.cwd,
|
|
1543
|
-
...resumeOptions.name !== void 0 ? { name: resumeOptions.name } : {},
|
|
1544
|
-
...resumeOptions.workspace !== void 0 ? { workspace: resumeOptions.workspace } : {},
|
|
1545
|
-
...resumeOptions.profile !== void 0 ? { profile: resumeOptions.profile } : {}
|
|
1610
|
+
identity
|
|
1546
1611
|
})
|
|
1547
1612
|
);
|
|
1548
1613
|
});
|
|
@@ -1590,6 +1655,8 @@ function createServerDirectory(options) {
|
|
|
1590
1655
|
};
|
|
1591
1656
|
}
|
|
1592
1657
|
export {
|
|
1658
|
+
DaemonRequestError,
|
|
1659
|
+
DataRpcClientError,
|
|
1593
1660
|
SessionCommandError,
|
|
1594
1661
|
TerminalEndpointError,
|
|
1595
1662
|
adaptWhatwgSocket,
|
|
@@ -18,8 +18,8 @@ export interface SessionClient {
|
|
|
18
18
|
/** Raw frame hook for UI side-effects (e.g. close modals on state-reset). */
|
|
19
19
|
onEvent(listener: (event: ServerEvent) => void): () => void;
|
|
20
20
|
submit(input: AgentInput, opts: ClientSubmitOptions): Promise<void>;
|
|
21
|
-
decideApproval(toolCallId: string, decision: "a" | "n" | "y", comment?: string, grantDir?: string): Promise<void>;
|
|
22
|
-
persistBashPermission(toolCallId: string, request: PersistBashPermissionRequest): Promise<PersistBashPermissionResult>;
|
|
21
|
+
decideApproval(toolCallId: string, decision: "a" | "n" | "y", comment?: string, grantDir?: string, parentToolCallId?: string): Promise<void>;
|
|
22
|
+
persistBashPermission(toolCallId: string, request: PersistBashPermissionRequest, parentToolCallId?: string): Promise<PersistBashPermissionResult>;
|
|
23
23
|
answerQuestion(questionId: string, answers: AskUserAnswers): Promise<void>;
|
|
24
24
|
abort(): Promise<void>;
|
|
25
25
|
/** Cancel a queued (not-yet-running) message by its `turn-status.queued` id. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-client.d.ts","sourceRoot":"","sources":["../../src/client/session-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAa,MAAM,0BAA0B,CAAC;AAEtF,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EAEtB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,4BAA4B,EAC5B,2BAA2B,EAC3B,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,IAAI,gBAAgB,CAAC;IAC7B,MAAM,IAAI,MAAM,CAAC;IACjB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"session-client.d.ts","sourceRoot":"","sources":["../../src/client/session-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export type ToolCallRequest = {
|
|
|
36
36
|
export type AgentEventListener = (payload: AgentEventPayload) => void;
|
|
37
37
|
export type SessionLoadedListener = (loaded: SessionLoadedPayload) => void;
|
|
38
38
|
export type ToolCallDecider = (request: ToolCallRequest) => Promise<ToolRuntimeDispatchDecision> | ToolRuntimeDispatchDecision;
|
|
39
|
-
export type UserQuestionHandler = (request: AskUserQuestionRequest) => Promise<AskUserAnswers> | AskUserAnswers;
|
|
39
|
+
export type UserQuestionHandler = (request: AskUserQuestionRequest, scope?: DelegationScope) => Promise<AskUserAnswers> | AskUserAnswers;
|
|
40
40
|
/**
|
|
41
41
|
* In-process channel between the Agent (constructed in `main()`) and the
|
|
42
42
|
* React UI (`<App />`). Two distinct shapes:
|
|
@@ -54,7 +54,7 @@ export declare class AgentChannel {
|
|
|
54
54
|
publishEvent(event: AgentEvent, scope?: DelegationScope): void;
|
|
55
55
|
publishSessionLoaded(loaded: SessionLoadedPayload): void;
|
|
56
56
|
requestToolDecision(request: ToolCallRequest): Promise<ToolRuntimeDispatchDecision> | ToolRuntimeDispatchDecision;
|
|
57
|
-
requestUserQuestion(request: AskUserQuestionRequest): Promise<AskUserAnswers>;
|
|
57
|
+
requestUserQuestion(request: AskUserQuestionRequest, scope?: DelegationScope): Promise<AskUserAnswers>;
|
|
58
58
|
onEvent(listener: AgentEventListener): () => void;
|
|
59
59
|
onSessionLoaded(listener: SessionLoadedListener): () => void;
|
|
60
60
|
setToolDecider(decider: ToolCallDecider | null): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-channel.d.ts","sourceRoot":"","sources":["../../src/controller/agent-channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,mBAAmB,EACnB,2BAA2B,EAC3B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,6BAA6B,EAC7B,gBAAgB,EAChB,kCAAkC,EAClC,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C,gFAAgF;IAChF,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,qBAAqB,CAAC,EAAE,CACtB,OAAO,EAAE,4BAA4B,KAClC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACjD,QAAQ,EAAE,YAAY,CAAC;IACvB,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;AACtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAE3E,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,eAAe,KACrB,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"agent-channel.d.ts","sourceRoot":"","sources":["../../src/controller/agent-channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,mBAAmB,EACnB,2BAA2B,EAC3B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,6BAA6B,EAC7B,gBAAgB,EAChB,kCAAkC,EAClC,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C,gFAAgF;IAChF,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,qBAAqB,CAAC,EAAE,CACtB,OAAO,EAAE,4BAA4B,KAClC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACjD,QAAQ,EAAE,YAAY,CAAC;IACvB,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;AACtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAE3E,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,eAAe,KACrB,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,sBAAsB,EAC/B,KAAK,CAAC,EAAE,eAAe,KACpB,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;AAO9C;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,eAAe,CAAoC;IAI3D,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI;IAI9D,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAIxD,mBAAmB,CACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,2BAA2B,CAAC,GAAG,2BAA2B;IAOrE,mBAAmB,CACjB,OAAO,EAAE,sBAAsB,EAC/B,KAAK,CAAC,EAAE,eAAe,GACtB,OAAO,CAAC,cAAc,CAAC;IAS1B,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAOjD,eAAe,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAO5D,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAIrD,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;CAG9D"}
|