@avernet-plugin/deepseek-harness-channel-bcn 0.1.0 → 0.2.0
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/README.md +71 -17
- package/dist/bridge.d.ts +15 -1
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +170 -57
- package/dist/bridge.js.map +1 -1
- package/dist/configure.d.ts +7 -0
- package/dist/configure.d.ts.map +1 -1
- package/dist/configure.js +4 -1
- package/dist/configure.js.map +1 -1
- package/dist/credentials.d.ts +1 -1
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +5 -8
- package/dist/credentials.js.map +1 -1
- package/dist/http-client.d.ts +2 -4
- package/dist/http-client.d.ts.map +1 -1
- package/dist/http-client.js +1 -17
- package/dist/http-client.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/interactions.d.ts +26 -0
- package/dist/interactions.d.ts.map +1 -0
- package/dist/interactions.js +203 -0
- package/dist/interactions.js.map +1 -0
- package/dist/protocol.d.ts +6 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/ws-client.d.ts.map +1 -1
- package/dist/ws-client.js +16 -1
- package/dist/ws-client.js.map +1 -1
- package/install-dsh.sh +15 -2
- package/package.json +24 -10
package/dist/bridge.js
CHANGED
|
@@ -4,6 +4,7 @@ import { asNonEmptyString, asRecord, extractMessageText, parseChatInjectParams,
|
|
|
4
4
|
import { createBcsRouteTool } from './route-tool.js';
|
|
5
5
|
import { dshSessionIdForV2, resolveBcnSessionIdentity } from './session-identity.js';
|
|
6
6
|
import { createBcsAssignTaskTool, createBcsSendTaskMessageTool, createBcsTaskCompleteTool, } from './task-tools.js';
|
|
7
|
+
import { BcnInteractions } from './interactions.js';
|
|
7
8
|
export class BcnBridge {
|
|
8
9
|
ctx;
|
|
9
10
|
client;
|
|
@@ -19,14 +20,20 @@ export class BcnBridge {
|
|
|
19
20
|
completedRunIds = [];
|
|
20
21
|
disposers = [];
|
|
21
22
|
disposed = false;
|
|
23
|
+
interactions;
|
|
22
24
|
constructor(ctx, client, config, log) {
|
|
23
25
|
this.ctx = ctx;
|
|
24
26
|
this.client = client;
|
|
25
27
|
this.config = config;
|
|
26
28
|
this.log = log;
|
|
29
|
+
this.interactions = new BcnInteractions(client, agent => {
|
|
30
|
+
const id = this.activeRunBySessionId.get(String(agent.id));
|
|
31
|
+
const run = id ? this.runs.get(id) : undefined;
|
|
32
|
+
return run && !run.terminal ? run : undefined;
|
|
33
|
+
});
|
|
27
34
|
}
|
|
28
35
|
start() {
|
|
29
|
-
this.disposers.push(this.client.onRequest('chat.send', frame => this.handleChatSend(frame)), this.client.onRequest('chat.inject', frame => this.handleChatInject(frame)), this.
|
|
36
|
+
this.disposers.push(this.client.onRequest('chat.send', frame => this.handleChatSend(frame)), this.client.onRequest('chat.inject', frame => this.handleChatInject(frame)), this.client.onRequest('chat.abort', frame => this.handleChatAbort(frame)), this.client.onRequest('interaction.resolve', frame => this.interactions.resolve(frame)));
|
|
30
37
|
}
|
|
31
38
|
get busy() {
|
|
32
39
|
for (const run of this.runs.values())
|
|
@@ -38,15 +45,17 @@ export class BcnBridge {
|
|
|
38
45
|
if (this.disposed)
|
|
39
46
|
return;
|
|
40
47
|
this.disposed = true;
|
|
48
|
+
this.interactions.dispose();
|
|
41
49
|
for (const dispose of this.disposers.splice(0).reverse())
|
|
42
50
|
await dispose();
|
|
43
51
|
for (const run of this.runs.values()) {
|
|
44
52
|
if (run.terminal)
|
|
45
53
|
continue;
|
|
54
|
+
this.sendTerminal(run, 'aborted');
|
|
46
55
|
const agent = this.ctx.agents.get(run.sessionId);
|
|
47
56
|
agent?.cancel({ kind: 'disposed' });
|
|
48
57
|
}
|
|
49
|
-
await Promise.allSettled([...this.ownedAgents].map(handle => handle.dispose()));
|
|
58
|
+
const results = await Promise.allSettled([...this.ownedAgents].map(handle => handle.dispose()));
|
|
50
59
|
this.ownedAgents.clear();
|
|
51
60
|
this.managedAgents.clear();
|
|
52
61
|
this.sessionIdentityBySessionId.clear();
|
|
@@ -54,6 +63,9 @@ export class BcnBridge {
|
|
|
54
63
|
this.runIdByTurn.clear();
|
|
55
64
|
this.activeRunBySessionId.clear();
|
|
56
65
|
this.runs.clear();
|
|
66
|
+
const failures = results.filter((result) => result.status === 'rejected');
|
|
67
|
+
if (failures.length)
|
|
68
|
+
throw new AggregateError(failures.map(result => result.reason), 'BCN agent disposal failed');
|
|
57
69
|
}
|
|
58
70
|
async captureRoute(agent, selectors, reason, signal) {
|
|
59
71
|
if (!agent)
|
|
@@ -123,7 +135,9 @@ export class BcnBridge {
|
|
|
123
135
|
return taskToolInvalid("'response_mode' must be 'after-last-tool-call' or 'full'.");
|
|
124
136
|
}
|
|
125
137
|
const params = {
|
|
126
|
-
group_id
|
|
138
|
+
// task.* accepts the session-shaped group_id wire representation.
|
|
139
|
+
// A bare V3 group id would lose the originating conversation.
|
|
140
|
+
group_id: run.bcsSessionId,
|
|
127
141
|
target_bot: normalizedTarget,
|
|
128
142
|
message: normalizedMessage,
|
|
129
143
|
...(responseMode ? { response_mode: responseMode } : {}),
|
|
@@ -149,7 +163,7 @@ export class BcnBridge {
|
|
|
149
163
|
if (!normalizedMessage)
|
|
150
164
|
return taskToolInvalid("'message' must be a non-empty string.");
|
|
151
165
|
const response = await this.sendTaskRequest('task.message', {
|
|
152
|
-
group_id: run.
|
|
166
|
+
group_id: run.bcsSessionId,
|
|
153
167
|
message: normalizedMessage,
|
|
154
168
|
}, signal);
|
|
155
169
|
if (!response.ok)
|
|
@@ -165,7 +179,7 @@ export class BcnBridge {
|
|
|
165
179
|
if (!normalizedSummary)
|
|
166
180
|
return taskToolInvalid("'summary' must be a non-empty string.");
|
|
167
181
|
const response = await this.sendTaskRequest('task.complete', {
|
|
168
|
-
group_id: run.
|
|
182
|
+
group_id: run.bcsSessionId,
|
|
169
183
|
summary: normalizedSummary,
|
|
170
184
|
}, signal);
|
|
171
185
|
if (!response.ok)
|
|
@@ -181,16 +195,25 @@ export class BcnBridge {
|
|
|
181
195
|
this.client.sendResponse(frame.id, false, undefined, invalidRequest(error));
|
|
182
196
|
return;
|
|
183
197
|
}
|
|
198
|
+
const bcsSessionId = params.bcs_session_id?.trim();
|
|
199
|
+
if (!bcsSessionId) {
|
|
200
|
+
this.client.sendResponse(frame.id, false, undefined, invalidRequest('BCN V3 chat.send requires bcs_session_id'));
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
184
203
|
const runId = params.idempotency_key ?? frame.id;
|
|
185
204
|
const existing = this.runs.get(runId);
|
|
186
205
|
if (existing) {
|
|
206
|
+
if (existing.bcsSessionId !== bcsSessionId) {
|
|
207
|
+
this.client.sendResponse(frame.id, false, undefined, invalidRequest('run_id belongs to another bcs_session_id'));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
187
210
|
this.client.sendResponse(frame.id, true, { run_id: existing.runId });
|
|
188
211
|
return;
|
|
189
212
|
}
|
|
190
213
|
const sessionIdentity = resolveBcnSessionIdentity({
|
|
191
214
|
sessionKey: params.session_key,
|
|
192
215
|
groupId: params.bcs_group_id,
|
|
193
|
-
|
|
216
|
+
bcsSessionId,
|
|
194
217
|
});
|
|
195
218
|
const sessionId = dshSessionIdForV2(sessionIdentity);
|
|
196
219
|
const toolProfile = resolveToolProfile(params.session_context);
|
|
@@ -198,12 +221,13 @@ export class BcnBridge {
|
|
|
198
221
|
runId,
|
|
199
222
|
sessionId,
|
|
200
223
|
groupId: params.bcs_group_id,
|
|
201
|
-
|
|
224
|
+
bcsSessionId,
|
|
202
225
|
text: '',
|
|
203
226
|
stepText: new Map(),
|
|
204
227
|
terminal: false,
|
|
205
228
|
usage: { input: 0, output: 0 },
|
|
206
229
|
toolNames: new Map(),
|
|
230
|
+
toolArguments: new Map(),
|
|
207
231
|
toolStarts: new Set(),
|
|
208
232
|
toolResults: new Set(),
|
|
209
233
|
pendingToolResults: new Map(),
|
|
@@ -213,11 +237,14 @@ export class BcnBridge {
|
|
|
213
237
|
this.client.sendResponse(frame.id, true, { run_id: runId });
|
|
214
238
|
try {
|
|
215
239
|
const managed = await this.getOrCreateAgent(sessionIdentity, toolProfile);
|
|
240
|
+
if (this.disposed || run.terminal)
|
|
241
|
+
return;
|
|
216
242
|
const message = createUserMessage({
|
|
217
243
|
content: [{ type: 'text', text: formatInboundMessage(params) }],
|
|
218
|
-
source: { kind: '
|
|
244
|
+
source: { kind: 'bcn-channel' },
|
|
219
245
|
});
|
|
220
246
|
this.runIdByMessageId.set(String(message.id), runId);
|
|
247
|
+
run.messageId = message.id;
|
|
221
248
|
managed.agent.followup(message);
|
|
222
249
|
}
|
|
223
250
|
catch {
|
|
@@ -228,6 +255,8 @@ export class BcnBridge {
|
|
|
228
255
|
let params;
|
|
229
256
|
try {
|
|
230
257
|
params = parseChatInjectParams(frame.params);
|
|
258
|
+
if (!params.bcs_session_id?.trim())
|
|
259
|
+
throw new Error('BCN V3 chat.inject requires bcs_session_id');
|
|
231
260
|
}
|
|
232
261
|
catch (error) {
|
|
233
262
|
this.client.sendResponse(frame.id, false, undefined, invalidRequest(error));
|
|
@@ -242,7 +271,7 @@ export class BcnBridge {
|
|
|
242
271
|
const managed = await this.getOrCreateAgent(sessionIdentity, resolveToolProfile(params.session_context));
|
|
243
272
|
managed.agent.inject(createUserMessage({
|
|
244
273
|
content: [{ type: 'text', text: formatInboundMessage(params) }],
|
|
245
|
-
source: { kind: '
|
|
274
|
+
source: { kind: 'bcn-channel' },
|
|
246
275
|
}));
|
|
247
276
|
this.client.sendResponse(frame.id, true, {});
|
|
248
277
|
}
|
|
@@ -254,12 +283,43 @@ export class BcnBridge {
|
|
|
254
283
|
});
|
|
255
284
|
}
|
|
256
285
|
}
|
|
286
|
+
async handleChatAbort(frame) {
|
|
287
|
+
const params = asRecord(frame.params);
|
|
288
|
+
const sessionId = asNonEmptyString(params?.session_key);
|
|
289
|
+
const runId = asNonEmptyString(params?.run_id);
|
|
290
|
+
if (!sessionId || !runId) {
|
|
291
|
+
this.client.sendResponse(frame.id, false, undefined, invalidRequest('chat.abort requires session_key and run_id'));
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
const run = this.runs.get(runId);
|
|
295
|
+
if (!run || run.bcsSessionId !== sessionId) {
|
|
296
|
+
this.client.sendResponse(frame.id, false, undefined, {
|
|
297
|
+
code: run ? 'SCOPE_MISMATCH' : 'RUN_NOT_FOUND',
|
|
298
|
+
message: run ? 'run_id does not belong to session_key' : 'Unknown run_id',
|
|
299
|
+
retryable: false,
|
|
300
|
+
});
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
if (run.terminal) {
|
|
304
|
+
this.client.sendResponse(frame.id, true, { aborted: false, aborted_run_ids: [] });
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
// Mark terminal before awaiting anything, including agent creation.
|
|
308
|
+
// An acknowledged but not yet delivered run must never start afterwards.
|
|
309
|
+
this.sendTerminal(run, 'aborted');
|
|
310
|
+
const agent = this.ctx.agents.get(run.sessionId);
|
|
311
|
+
if (run.turn !== undefined)
|
|
312
|
+
agent?.cancel({ kind: 'user' }, { keepInbox: true });
|
|
313
|
+
else if (run.messageId)
|
|
314
|
+
agent?.inbox.remove(run.messageId);
|
|
315
|
+
this.client.sendResponse(frame.id, true, { aborted: true, aborted_run_ids: [runId] });
|
|
316
|
+
}
|
|
257
317
|
handleInboxClaimed(payload) {
|
|
258
318
|
const runId = this.runIdByMessageId.get(String(payload.message.id));
|
|
259
319
|
if (!runId)
|
|
260
320
|
return;
|
|
261
321
|
const run = this.runs.get(runId);
|
|
262
|
-
if (!run || run.sessionId !== payload.agent.id)
|
|
322
|
+
if (!run || run.terminal || run.sessionId !== payload.agent.id)
|
|
263
323
|
return;
|
|
264
324
|
this.runIdByMessageId.delete(String(payload.message.id));
|
|
265
325
|
run.turn = payload.turn;
|
|
@@ -287,15 +347,10 @@ export class BcnBridge {
|
|
|
287
347
|
const run = runId ? this.runs.get(runId) : undefined;
|
|
288
348
|
if (!run || run.terminal)
|
|
289
349
|
return;
|
|
290
|
-
if (event.type === 'assistant/chunk') {
|
|
291
|
-
const chunk = event.data.chunk;
|
|
292
|
-
if (chunk.type !== 'text-delta' || !chunk.text)
|
|
293
|
-
return;
|
|
294
|
-
this.appendDelta(run, event.data.step, chunk.text);
|
|
295
|
-
return;
|
|
296
|
-
}
|
|
297
350
|
if (event.type === 'assistant/message') {
|
|
298
351
|
this.captureAssistantMessage(run, event.data.step, event.data.message.content, event.data.usage);
|
|
352
|
+
if (run.liveAttempt?.step === event.data.step)
|
|
353
|
+
delete run.liveAttempt;
|
|
299
354
|
return;
|
|
300
355
|
}
|
|
301
356
|
if (event.type === 'tool/call') {
|
|
@@ -303,11 +358,10 @@ export class BcnBridge {
|
|
|
303
358
|
return;
|
|
304
359
|
}
|
|
305
360
|
if (event.type === 'tool/result') {
|
|
306
|
-
const block = event.data.message.content[0];
|
|
307
361
|
this.captureToolResult(run, {
|
|
308
|
-
callId: String(
|
|
309
|
-
content:
|
|
310
|
-
isError:
|
|
362
|
+
callId: String(event.data.message.toolCallId),
|
|
363
|
+
content: event.data.message.content,
|
|
364
|
+
isError: event.data.message.isError === true || event.data.error !== undefined,
|
|
311
365
|
});
|
|
312
366
|
return;
|
|
313
367
|
}
|
|
@@ -325,14 +379,35 @@ export class BcnBridge {
|
|
|
325
379
|
}
|
|
326
380
|
}
|
|
327
381
|
}
|
|
382
|
+
handleAssistantStream(agent, frame) {
|
|
383
|
+
const runId = frame.type === 'start'
|
|
384
|
+
? this.runIdByTurn.get(turnKey(agent.id, frame.turn))
|
|
385
|
+
: this.activeRunBySessionId.get(String(agent.id));
|
|
386
|
+
const run = runId ? this.runs.get(runId) : undefined;
|
|
387
|
+
if (!run || run.terminal)
|
|
388
|
+
return;
|
|
389
|
+
if (frame.type === 'start') {
|
|
390
|
+
run.liveAttempt = { attemptId: String(frame.attemptId), revision: frame.revision, step: frame.step, text: '' };
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
const attempt = run.liveAttempt;
|
|
394
|
+
if (!attempt || attempt.attemptId !== String(frame.attemptId) || attempt.revision !== frame.revision)
|
|
395
|
+
return;
|
|
396
|
+
if (frame.type === 'chunk' && frame.chunk.type === 'text-delta')
|
|
397
|
+
attempt.text += frame.chunk.text;
|
|
398
|
+
else if (frame.type === 'end')
|
|
399
|
+
delete run.liveAttempt;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
328
402
|
appendDelta(run, step, text) {
|
|
329
403
|
run.text += text;
|
|
330
404
|
run.stepText.set(step, `${run.stepText.get(step) ?? ''}${text}`);
|
|
331
|
-
this.client.sendEvent('chat
|
|
332
|
-
|
|
333
|
-
|
|
405
|
+
this.client.sendEvent('chat', {
|
|
406
|
+
runId: run.runId,
|
|
407
|
+
sessionId: run.bcsSessionId,
|
|
408
|
+
ts: Date.now(),
|
|
334
409
|
state: 'delta',
|
|
335
|
-
|
|
410
|
+
content: text,
|
|
336
411
|
});
|
|
337
412
|
}
|
|
338
413
|
captureAssistantMessage(run, step, content, usage) {
|
|
@@ -362,12 +437,16 @@ export class BcnBridge {
|
|
|
362
437
|
catch {
|
|
363
438
|
// Preserve the provider's raw argument string when it is not complete JSON.
|
|
364
439
|
}
|
|
440
|
+
run.toolArguments.set(callId, args);
|
|
365
441
|
this.client.sendEvent('agent', {
|
|
366
|
-
|
|
367
|
-
|
|
442
|
+
runId: run.runId,
|
|
443
|
+
sessionId: run.bcsSessionId,
|
|
368
444
|
stream: 'tool',
|
|
369
445
|
ts: Date.now(),
|
|
370
|
-
|
|
446
|
+
phase: 'start',
|
|
447
|
+
toolCallId: callId,
|
|
448
|
+
name,
|
|
449
|
+
args,
|
|
371
450
|
});
|
|
372
451
|
run.toolStarts.add(callId);
|
|
373
452
|
const pending = run.pendingToolResults.get(callId);
|
|
@@ -388,39 +467,48 @@ export class BcnBridge {
|
|
|
388
467
|
sendToolResult(run, result) {
|
|
389
468
|
if (run.toolResults.has(result.callId))
|
|
390
469
|
return;
|
|
470
|
+
const name = run.toolNames.get(result.callId);
|
|
471
|
+
if (!name)
|
|
472
|
+
return;
|
|
391
473
|
this.client.sendEvent('agent', {
|
|
392
|
-
|
|
393
|
-
|
|
474
|
+
runId: run.runId,
|
|
475
|
+
sessionId: run.bcsSessionId,
|
|
394
476
|
stream: 'tool',
|
|
395
477
|
ts: Date.now(),
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
isError: result.isError,
|
|
402
|
-
},
|
|
478
|
+
phase: 'result',
|
|
479
|
+
toolCallId: result.callId,
|
|
480
|
+
name,
|
|
481
|
+
result: { content: result.content },
|
|
482
|
+
isError: result.isError,
|
|
403
483
|
});
|
|
404
484
|
run.toolResults.add(result.callId);
|
|
405
485
|
}
|
|
406
486
|
sendTerminal(run, state, errorCode, stopReason) {
|
|
407
487
|
if (run.terminal)
|
|
408
488
|
return;
|
|
409
|
-
|
|
410
|
-
|
|
489
|
+
this.interactions.cancelRun(run.runId);
|
|
490
|
+
if (state === 'aborted' && run.liveAttempt?.text) {
|
|
491
|
+
this.captureAssistantMessage(run, run.liveAttempt.step, [{ type: 'text', text: run.liveAttempt.text }], undefined);
|
|
492
|
+
}
|
|
493
|
+
delete run.liveAttempt;
|
|
494
|
+
if (run.pendingToolResults.size)
|
|
495
|
+
this.log?.warn('BCN run ended with unmatched tool results; no fabricated tool identity was emitted');
|
|
411
496
|
run.pendingToolResults.clear();
|
|
412
497
|
const payload = {
|
|
413
|
-
|
|
414
|
-
|
|
498
|
+
runId: run.runId,
|
|
499
|
+
sessionId: run.bcsSessionId,
|
|
500
|
+
ts: Date.now(),
|
|
415
501
|
state,
|
|
416
502
|
};
|
|
503
|
+
if (run.text)
|
|
504
|
+
payload.content = run.text;
|
|
417
505
|
if (state === 'final') {
|
|
418
506
|
if (run.text)
|
|
419
|
-
payload.
|
|
507
|
+
payload.content = run.text;
|
|
420
508
|
if (run.usage.input || run.usage.output)
|
|
421
509
|
payload.usage = run.usage;
|
|
422
510
|
if (stopReason)
|
|
423
|
-
payload.
|
|
511
|
+
payload.stopReason = stopReason;
|
|
424
512
|
if (run.route)
|
|
425
513
|
payload.routing = routeWire(run.route);
|
|
426
514
|
}
|
|
@@ -430,13 +518,24 @@ export class BcnBridge {
|
|
|
430
518
|
payload.errorCode = errorCode ?? 'UNKNOWN';
|
|
431
519
|
}
|
|
432
520
|
else {
|
|
433
|
-
payload.
|
|
521
|
+
payload.stopReason = 'aborted';
|
|
434
522
|
}
|
|
435
|
-
this.client.sendEvent('chat
|
|
523
|
+
this.client.sendEvent('chat', payload);
|
|
436
524
|
run.terminal = true;
|
|
437
|
-
this.activeRunBySessionId.
|
|
525
|
+
if (this.activeRunBySessionId.get(String(run.sessionId)) === run.runId) {
|
|
526
|
+
this.activeRunBySessionId.delete(String(run.sessionId));
|
|
527
|
+
}
|
|
528
|
+
if (run.messageId)
|
|
529
|
+
this.runIdByMessageId.delete(String(run.messageId));
|
|
438
530
|
if (run.turn !== undefined)
|
|
439
531
|
this.runIdByTurn.delete(turnKey(run.sessionId, run.turn));
|
|
532
|
+
run.text = '';
|
|
533
|
+
run.stepText.clear();
|
|
534
|
+
run.toolArguments.clear();
|
|
535
|
+
run.toolNames.clear();
|
|
536
|
+
run.toolStarts.clear();
|
|
537
|
+
run.toolResults.clear();
|
|
538
|
+
delete run.route;
|
|
440
539
|
this.completedRunIds.push(run.runId);
|
|
441
540
|
while (this.completedRunIds.length > 2_000) {
|
|
442
541
|
const oldest = this.completedRunIds.shift();
|
|
@@ -465,21 +564,33 @@ export class BcnBridge {
|
|
|
465
564
|
if (this.ctx.agents.get(sessionId)) {
|
|
466
565
|
throw new Error('A non-BCN DSH agent already owns the derived BCN session id');
|
|
467
566
|
}
|
|
468
|
-
const persistedHeader =
|
|
567
|
+
const persistedHeader = await this.ctx.sessionPersistence.stat(sessionId);
|
|
469
568
|
const cwd = process.cwd();
|
|
470
569
|
const bcnCtx = this.ctx;
|
|
471
570
|
const defaultSelection = bcnCtx.agentDefaultModel.currentSelection();
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
571
|
+
let recordedPreset;
|
|
572
|
+
if (persistedHeader) {
|
|
573
|
+
const reader = await this.ctx.sessionPersistence.open(sessionId, 'read');
|
|
574
|
+
try {
|
|
575
|
+
recordedPreset = presetForInspection({ meta: reader.header, events: (await reader.read()).events });
|
|
576
|
+
}
|
|
577
|
+
finally {
|
|
578
|
+
await reader.close();
|
|
579
|
+
}
|
|
580
|
+
}
|
|
475
581
|
const presetId = (await bcnCtx.agentPresets.resolve(recordedPreset)).id;
|
|
476
|
-
const setup = async (agentCtx) => {
|
|
582
|
+
const setup = async (agentCtx, agent) => {
|
|
583
|
+
agentCtx.on('agent/inbox/claimed', payload => this.handleInboxClaimed(payload));
|
|
584
|
+
agentCtx.on('agent/inbox/discarded', payload => this.handleInboxDiscarded(payload));
|
|
585
|
+
agentCtx.on('session/event', (session, event) => this.handleSessionEvent(session, event));
|
|
586
|
+
agentCtx.on('agent/assistant-stream', ({ agent: owner, frame }) => this.handleAssistantStream(owner, frame));
|
|
477
587
|
installModelSelection(agentCtx, {
|
|
478
|
-
current: selectionForSession(
|
|
588
|
+
current: selectionForSession(agent, defaultSelection),
|
|
479
589
|
assembled: undefined,
|
|
480
590
|
});
|
|
481
|
-
agentCtx.systemPrompt.variable('cwd', () =>
|
|
591
|
+
agentCtx.systemPrompt.variable('cwd', () => agent.session.header.cwd ?? cwd);
|
|
482
592
|
await bcnCtx.agentPresets.mount(agentCtx, presetId);
|
|
593
|
+
this.interactions.mount(agentCtx, agent);
|
|
483
594
|
if (toolProfile === 'route') {
|
|
484
595
|
agentCtx.tools.register(createBcsRouteTool(this));
|
|
485
596
|
}
|
|
@@ -494,6 +605,7 @@ export class BcnBridge {
|
|
|
494
605
|
const agentOptions = {
|
|
495
606
|
provider: defaultSelection.provider,
|
|
496
607
|
model: defaultSelection.model,
|
|
608
|
+
...(defaultSelection.reasoningEffort ? { reasoningEffort: defaultSelection.reasoningEffort } : {}),
|
|
497
609
|
};
|
|
498
610
|
const handle = persistedHeader
|
|
499
611
|
? await this.ctx.agents.resume({ resumeSessionId: sessionId, agentOptions, setup })
|
|
@@ -504,6 +616,10 @@ export class BcnBridge {
|
|
|
504
616
|
setup,
|
|
505
617
|
});
|
|
506
618
|
const managed = { sessionIdentity, sessionId, agent: handle.agent, handle, toolProfile };
|
|
619
|
+
if (this.disposed) {
|
|
620
|
+
await handle.dispose();
|
|
621
|
+
throw new Error('BCN plugin was disposed during agent creation');
|
|
622
|
+
}
|
|
507
623
|
this.ownedAgents.add(handle);
|
|
508
624
|
this.sessionIdentityBySessionId.set(String(sessionId), sessionIdentity);
|
|
509
625
|
return managed;
|
|
@@ -583,7 +699,7 @@ function resolveToolProfile(sessionContext) {
|
|
|
583
699
|
function formatInboundMessage(params) {
|
|
584
700
|
const text = extractMessageText(params.message);
|
|
585
701
|
const metadata = {
|
|
586
|
-
protocol_version:
|
|
702
|
+
protocol_version: 3,
|
|
587
703
|
bcs_group_id: params.bcs_group_id,
|
|
588
704
|
...(params.bcs_session_id ? { bcs_session_id: params.bcs_session_id } : {}),
|
|
589
705
|
channel: params.channel,
|
|
@@ -593,9 +709,6 @@ function formatInboundMessage(params) {
|
|
|
593
709
|
};
|
|
594
710
|
return `<bcn_context>\n${JSON.stringify(metadata)}\n</bcn_context>\n\n${text}`;
|
|
595
711
|
}
|
|
596
|
-
function assistantMessage(text) {
|
|
597
|
-
return { role: 'assistant', content: [{ type: 'text', text }], timestamp: Date.now() };
|
|
598
|
-
}
|
|
599
712
|
function visibleText(content) {
|
|
600
713
|
return content.flatMap(block => block.type === 'text' ? [block.text] : []).join('');
|
|
601
714
|
}
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/configure.d.ts
CHANGED
|
@@ -15,4 +15,11 @@ export interface ConfigureProfileResult {
|
|
|
15
15
|
endpoint: string;
|
|
16
16
|
}
|
|
17
17
|
export declare function configureProfile(options: ConfigureProfileOptions, dependencies?: ConfigureProfileDependencies): ConfigureProfileResult;
|
|
18
|
+
interface CliOptions {
|
|
19
|
+
profile: string;
|
|
20
|
+
endpoint: string;
|
|
21
|
+
botName: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function parseArgs(args: string[]): CliOptions;
|
|
24
|
+
export {};
|
|
18
25
|
//# sourceMappingURL=configure.d.ts.map
|
package/dist/configure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":";AAyCA,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,EAChC,YAAY,GAAE,4BAAiC,GAC9C,sBAAsB,CA4ExB"}
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":";AAyCA,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,EAChC,YAAY,GAAE,4BAAiC,GAC9C,sBAAsB,CA4ExB;AA2ED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoBpD"}
|
package/dist/configure.js
CHANGED
|
@@ -173,7 +173,10 @@ function validateWithDsh(profile, dshHome, dshBin) {
|
|
|
173
173
|
function isRecord(value) {
|
|
174
174
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
175
175
|
}
|
|
176
|
-
function parseArgs(args) {
|
|
176
|
+
export function parseArgs(args) {
|
|
177
|
+
// Newer DSH/pnpm exec forwards its separator to the executable.
|
|
178
|
+
if (args[0] === '--')
|
|
179
|
+
args = args.slice(1);
|
|
177
180
|
const values = new Map();
|
|
178
181
|
for (let index = 0; index < args.length; index += 1) {
|
|
179
182
|
const option = args[index];
|