@animalabs/agent-framework 0.5.4 → 0.5.7
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/src/agent.d.ts +20 -4
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +45 -14
- package/dist/src/agent.js.map +1 -1
- package/dist/src/framework.d.ts +153 -5
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +1046 -56
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +27 -0
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +140 -1
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/gate/types.d.ts +17 -0
- package/dist/src/gate/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +50 -0
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +180 -0
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/conversation-router.d.ts +161 -0
- package/dist/src/mcpl/conversation-router.d.ts.map +1 -0
- package/dist/src/mcpl/conversation-router.js +179 -0
- package/dist/src/mcpl/conversation-router.js.map +1 -0
- package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
- package/dist/src/mcpl/feature-set-manager.js +10 -1
- package/dist/src/mcpl/feature-set-manager.js.map +1 -1
- package/dist/src/mcpl/index.d.ts +2 -0
- package/dist/src/mcpl/index.d.ts.map +1 -1
- package/dist/src/mcpl/index.js +2 -0
- package/dist/src/mcpl/index.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +4 -0
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/module-registry.d.ts +3 -1
- package/dist/src/module-registry.d.ts.map +1 -1
- package/dist/src/module-registry.js +9 -2
- package/dist/src/module-registry.js.map +1 -1
- package/dist/src/modules/discord/index.d.ts +10 -0
- package/dist/src/modules/discord/index.d.ts.map +1 -1
- package/dist/src/modules/discord/index.js +83 -0
- package/dist/src/modules/discord/index.js.map +1 -1
- package/dist/src/tool-result-history.d.ts +17 -0
- package/dist/src/tool-result-history.d.ts.map +1 -0
- package/dist/src/tool-result-history.js +60 -0
- package/dist/src/tool-result-history.js.map +1 -0
- package/dist/src/types/agent.d.ts +11 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +8 -0
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/module.d.ts +15 -0
- package/dist/src/types/module.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +48 -0
- package/dist/src/types/trace.d.ts.map +1 -1
- package/dist/test/channel-registry-routing.test.d.ts +2 -0
- package/dist/test/channel-registry-routing.test.d.ts.map +1 -0
- package/dist/test/channel-registry-routing.test.js +75 -0
- package/dist/test/channel-registry-routing.test.js.map +1 -0
- package/dist/test/conversation-router.test.d.ts +2 -0
- package/dist/test/conversation-router.test.d.ts.map +1 -0
- package/dist/test/conversation-router.test.js +160 -0
- package/dist/test/conversation-router.test.js.map +1 -0
- package/dist/test/conversation-routing.test.d.ts +7 -0
- package/dist/test/conversation-routing.test.d.ts.map +1 -0
- package/dist/test/conversation-routing.test.js +203 -0
- package/dist/test/conversation-routing.test.js.map +1 -0
- package/dist/test/framework.test.js +120 -2
- package/dist/test/framework.test.js.map +1 -1
- package/dist/test/helpers/mock-membrane.d.ts +41 -0
- package/dist/test/helpers/mock-membrane.d.ts.map +1 -0
- package/dist/test/helpers/mock-membrane.js +161 -0
- package/dist/test/helpers/mock-membrane.js.map +1 -0
- package/dist/test/inference-failure-observability.test.d.ts +2 -0
- package/dist/test/inference-failure-observability.test.d.ts.map +1 -0
- package/dist/test/inference-failure-observability.test.js +75 -0
- package/dist/test/inference-failure-observability.test.js.map +1 -0
- package/dist/test/tool-result-history.test.d.ts +7 -0
- package/dist/test/tool-result-history.test.d.ts.map +1 -0
- package/dist/test/tool-result-history.test.js +77 -0
- package/dist/test/tool-result-history.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -2
- package/src/agent.ts +53 -18
- package/src/framework.ts +1202 -59
- package/src/gate/event-gate.ts +144 -1
- package/src/gate/types.ts +17 -0
- package/src/index.ts +12 -0
- package/src/mcpl/channel-registry.ts +221 -0
- package/src/mcpl/conversation-router.ts +284 -0
- package/src/mcpl/feature-set-manager.ts +14 -1
- package/src/mcpl/index.ts +12 -0
- package/src/mcpl/server-connection.ts +4 -0
- package/src/module-registry.ts +14 -2
- package/src/modules/discord/index.ts +93 -0
- package/src/tool-result-history.ts +57 -0
- package/src/types/agent.ts +11 -0
- package/src/types/framework.ts +9 -0
- package/src/types/module.ts +16 -0
- package/src/types/trace.ts +57 -0
|
@@ -111,6 +111,41 @@ const CHANNEL_TOOL_DEFINITIONS = [
|
|
|
111
111
|
required: [],
|
|
112
112
|
},
|
|
113
113
|
},
|
|
114
|
+
{
|
|
115
|
+
name: 'think',
|
|
116
|
+
description: 'Reason privately. The content stays in your own context and is NOT sent to any ' +
|
|
117
|
+
'channel or surface. This does NOT end or silence your turn: if you also write ' +
|
|
118
|
+
'plain text this turn, that text is still posted as your reply. Use think() purely ' +
|
|
119
|
+
'to work things out before (or instead of) speaking. To deliberately NOT reply this ' +
|
|
120
|
+
'turn, call skip_reply instead.',
|
|
121
|
+
inputSchema: {
|
|
122
|
+
type: 'object',
|
|
123
|
+
properties: {
|
|
124
|
+
content: {
|
|
125
|
+
type: 'string',
|
|
126
|
+
description: 'Your private thought / reasoning (optional; not sent anywhere).',
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
required: [],
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: 'skip_reply',
|
|
134
|
+
description: 'End your turn WITHOUT sending anything to any channel or surface. Use when you have ' +
|
|
135
|
+
'read the messages but deliberately choose not to reply right now — ambient chatter, ' +
|
|
136
|
+
'nothing to add, or you are waiting. Any plain text you wrote this turn stays private ' +
|
|
137
|
+
'and is NOT posted. To reply instead, just write plain text (no tool call).',
|
|
138
|
+
inputSchema: {
|
|
139
|
+
type: 'object',
|
|
140
|
+
properties: {
|
|
141
|
+
reason: {
|
|
142
|
+
type: 'string',
|
|
143
|
+
description: 'Optional private note on why you are not replying (not sent anywhere).',
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
required: [],
|
|
147
|
+
},
|
|
148
|
+
},
|
|
114
149
|
];
|
|
115
150
|
// ============================================================================
|
|
116
151
|
// ChannelRegistry
|
|
@@ -122,6 +157,7 @@ export class ChannelRegistry {
|
|
|
122
157
|
emitTraceFn;
|
|
123
158
|
sendTypingFn;
|
|
124
159
|
shouldTriggerInference;
|
|
160
|
+
onRouteFailure;
|
|
125
161
|
/** Registered channels, keyed by `{serverId}:{channelId}`. */
|
|
126
162
|
channels = new Map();
|
|
127
163
|
/** Most recent incoming channel ID — used for speech routing / default publish. */
|
|
@@ -147,6 +183,7 @@ export class ChannelRegistry {
|
|
|
147
183
|
this.emitTraceFn = emitTraceFn;
|
|
148
184
|
this.sendTypingFn = options?.sendTypingFn;
|
|
149
185
|
this.shouldTriggerInference = options?.shouldTriggerInference;
|
|
186
|
+
this.onRouteFailure = options?.onRouteFailure;
|
|
150
187
|
}
|
|
151
188
|
/**
|
|
152
189
|
* Set the channel auto-open policy for a server. Called by the framework
|
|
@@ -247,6 +284,41 @@ export class ChannelRegistry {
|
|
|
247
284
|
this.defaultPublishChannel = message.channelId;
|
|
248
285
|
this.defaultPublishMessageId = message.messageId;
|
|
249
286
|
this.defaultPublishThreadId = message.threadId;
|
|
287
|
+
// Lazy-register the channel if we've never seen it. A channel can deliver
|
|
288
|
+
// an incoming message before its channels/register (boot enumeration) or
|
|
289
|
+
// channels/changed (post-boot create / View-permission grant) round-trip
|
|
290
|
+
// lands — or the registration event can be missed entirely (e.g. the bot
|
|
291
|
+
// gains visibility in a way that fires neither `channelCreate` nor a
|
|
292
|
+
// View-permission transition). Without a registry entry, routeSpeech()
|
|
293
|
+
// can't resolve this channel as an outbound locus and the agent's reply
|
|
294
|
+
// is silently dropped, even though this very message proves the channel
|
|
295
|
+
// is reachable. The inbound message carries enough to make it publishable,
|
|
296
|
+
// so register it here; a later authoritative channels/register or
|
|
297
|
+
// channels/changed will overwrite this descriptor with the richer one.
|
|
298
|
+
const incomingKey = `${serverId}:${message.channelId}`;
|
|
299
|
+
if (!this.channels.has(incomingKey)) {
|
|
300
|
+
const channelLabel = typeof message.metadata?.channelName === 'string' && message.metadata.channelName
|
|
301
|
+
? message.metadata.channelName
|
|
302
|
+
: message.channelId;
|
|
303
|
+
this.channels.set(incomingKey, {
|
|
304
|
+
serverId,
|
|
305
|
+
descriptor: {
|
|
306
|
+
id: message.channelId,
|
|
307
|
+
type: serverId,
|
|
308
|
+
label: channelLabel,
|
|
309
|
+
direction: 'bidirectional',
|
|
310
|
+
address: message.threadId ? { threadId: message.threadId } : undefined,
|
|
311
|
+
metadata: { lazyRegistered: true },
|
|
312
|
+
},
|
|
313
|
+
open: true,
|
|
314
|
+
});
|
|
315
|
+
this.emitTraceFn({
|
|
316
|
+
type: 'mcpl:channel-lazy-registered',
|
|
317
|
+
serverId,
|
|
318
|
+
channelId: message.channelId,
|
|
319
|
+
label: channelLabel,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
250
322
|
// Determine whether to trigger inference
|
|
251
323
|
let triggerInference = true;
|
|
252
324
|
if (this.shouldTriggerInference) {
|
|
@@ -393,6 +465,13 @@ export class ChannelRegistry {
|
|
|
393
465
|
getDefaultPublishChannel() {
|
|
394
466
|
return this.defaultPublishChannel;
|
|
395
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* Get the descriptor for a channel by its channelId (first match across
|
|
470
|
+
* servers). Used by the conversation router for DM classification.
|
|
471
|
+
*/
|
|
472
|
+
getDescriptor(channelId) {
|
|
473
|
+
return this.findChannelEntry(channelId)?.descriptor;
|
|
474
|
+
}
|
|
396
475
|
/**
|
|
397
476
|
* Get all open channels.
|
|
398
477
|
*/
|
|
@@ -427,6 +506,10 @@ export class ChannelRegistry {
|
|
|
427
506
|
return this.handleToolClose(input);
|
|
428
507
|
case 'channel_publish':
|
|
429
508
|
return this.handleToolPublish(input);
|
|
509
|
+
case 'think':
|
|
510
|
+
return this.handleToolThink(input);
|
|
511
|
+
case 'skip_reply':
|
|
512
|
+
return this.handleToolSkipReply(input);
|
|
430
513
|
default:
|
|
431
514
|
return { success: false, error: `Unknown channel tool: ${toolName}`, isError: true };
|
|
432
515
|
}
|
|
@@ -558,6 +641,10 @@ export class ChannelRegistry {
|
|
|
558
641
|
// ==========================================================================
|
|
559
642
|
// Private: Channel Lookup
|
|
560
643
|
// ==========================================================================
|
|
644
|
+
/** Server id owning a registered channel (by descriptor id), or null. */
|
|
645
|
+
getChannelServerId(channelId) {
|
|
646
|
+
return this.findChannelEntry(channelId)?.serverId ?? null;
|
|
647
|
+
}
|
|
561
648
|
/**
|
|
562
649
|
* Find a channel entry by channelId (searches across all servers).
|
|
563
650
|
* Returns the first match.
|
|
@@ -683,6 +770,99 @@ export class ChannelRegistry {
|
|
|
683
770
|
};
|
|
684
771
|
}
|
|
685
772
|
}
|
|
773
|
+
/**
|
|
774
|
+
* Handle the synthesized `think` tool — a private reasoning scratchpad. It
|
|
775
|
+
* sends nothing, and (unlike before) does NOT silence the turn: trailing
|
|
776
|
+
* plain text is still routed as the reply. The thought stays in the agent's
|
|
777
|
+
* own context/chronicle. To deliberately not reply, the agent uses skip_reply.
|
|
778
|
+
*/
|
|
779
|
+
handleToolThink(input) {
|
|
780
|
+
return {
|
|
781
|
+
success: true,
|
|
782
|
+
data: {
|
|
783
|
+
noted: true,
|
|
784
|
+
note: 'Thought recorded (private — not sent anywhere). This did NOT silence your turn: ' +
|
|
785
|
+
'write plain text to reply, or call skip_reply to end the turn without replying.',
|
|
786
|
+
content: typeof input?.content === 'string' ? input.content : undefined,
|
|
787
|
+
},
|
|
788
|
+
};
|
|
789
|
+
}
|
|
790
|
+
/**
|
|
791
|
+
* Handle the synthesized `skip_reply` tool — the deliberate "stay silent"
|
|
792
|
+
* signal. A no-op as far as any surface is concerned (sends nothing); its
|
|
793
|
+
* effect is that the framework's output routing treats this as a silencing
|
|
794
|
+
* tool, so any trailing prose this turn is NOT posted. Replaces the old
|
|
795
|
+
* overloaded use of `think` for staying silent.
|
|
796
|
+
*/
|
|
797
|
+
handleToolSkipReply(input) {
|
|
798
|
+
return {
|
|
799
|
+
success: true,
|
|
800
|
+
data: {
|
|
801
|
+
skipped: true,
|
|
802
|
+
note: 'Ended the turn without replying — nothing was sent to any channel.',
|
|
803
|
+
reason: typeof input?.reason === 'string' ? input.reason : undefined,
|
|
804
|
+
},
|
|
805
|
+
};
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* Host-owned output routing (see forking-knowledge-miner LOCUS-ROUTING-DESIGN).
|
|
809
|
+
* Publish the agent's plain-text speech to the current conversational locus
|
|
810
|
+
* (the most recent incoming channel, tracked cross-surface here in the host).
|
|
811
|
+
* Called by the framework on a text-only turn — replaces the per-surface
|
|
812
|
+
* sticky auto-post that used to live in discord-mcpl. Returns null when there
|
|
813
|
+
* is no locus / the channel or its server can't be resolved (in which case
|
|
814
|
+
* the speech simply stays in chronicle + module surfaces).
|
|
815
|
+
*/
|
|
816
|
+
async routeSpeech(conversationId, text) {
|
|
817
|
+
// Surface a routing failure: emit a trace AND notify the host (which drops
|
|
818
|
+
// a `[discord-send-failed]` marker into chronicle) so the agent learns her
|
|
819
|
+
// reply never reached the human, instead of it vanishing silently.
|
|
820
|
+
const fail = (channelId, reason) => {
|
|
821
|
+
console.error(`[routeSpeech] ${conversationId}: ${reason} — speech NOT routed (${text.length} chars stay in chronicle)`);
|
|
822
|
+
this.emitTraceFn({
|
|
823
|
+
type: 'mcpl:speech-route-failed',
|
|
824
|
+
channelId: channelId ?? '',
|
|
825
|
+
reason,
|
|
826
|
+
textLen: text.length,
|
|
827
|
+
});
|
|
828
|
+
this.onRouteFailure?.({ conversationId, channelId, reason, textLen: text.length });
|
|
829
|
+
return null;
|
|
830
|
+
};
|
|
831
|
+
const channelId = this.defaultPublishChannel;
|
|
832
|
+
if (!channelId) {
|
|
833
|
+
return fail(null, 'no locus (defaultPublishChannel null)');
|
|
834
|
+
}
|
|
835
|
+
const entry = this.findChannelEntry(channelId);
|
|
836
|
+
if (!entry) {
|
|
837
|
+
return fail(channelId, `no registered channel for locus "${channelId}"`);
|
|
838
|
+
}
|
|
839
|
+
const server = this.serverRegistry.getServer(entry.serverId);
|
|
840
|
+
if (!server) {
|
|
841
|
+
return fail(channelId, `server "${entry.serverId}" not found`);
|
|
842
|
+
}
|
|
843
|
+
const publishParams = {
|
|
844
|
+
conversationId,
|
|
845
|
+
channelId,
|
|
846
|
+
content: [{ type: 'text', text }],
|
|
847
|
+
};
|
|
848
|
+
const result = await server.sendChannelsPublish(publishParams);
|
|
849
|
+
const delivered = result?.delivered ?? true;
|
|
850
|
+
// The server accepted the publish RPC but reported the message was not
|
|
851
|
+
// actually delivered (e.g. missing Send Messages permission). Previously
|
|
852
|
+
// this returned `{ delivered: true }`, masking the failure. Surface it.
|
|
853
|
+
if (delivered === false) {
|
|
854
|
+
return fail(channelId, `server "${entry.serverId}" reported delivered:false for "${channelId}"`);
|
|
855
|
+
}
|
|
856
|
+
console.error(`[routeSpeech] ${conversationId}: routed ${text.length} chars -> ${channelId} (server=${entry.serverId}, delivered=${delivered})`);
|
|
857
|
+
this.emitTraceFn({
|
|
858
|
+
type: 'mcpl:speech-routed',
|
|
859
|
+
serverId: entry.serverId,
|
|
860
|
+
channelId,
|
|
861
|
+
delivered,
|
|
862
|
+
textLen: text.length,
|
|
863
|
+
});
|
|
864
|
+
return { delivered, channelId };
|
|
865
|
+
}
|
|
686
866
|
async handleToolPublish(input) {
|
|
687
867
|
// Resolve content: accept both `content` and `text` (backward compat)
|
|
688
868
|
const messageText = input.content ?? input.text;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-registry.js","sourceRoot":"","sources":["../../../src/mcpl/channel-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"channel-registry.js","sourceRoot":"","sources":["../../../src/mcpl/channel-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConversationRouter — routes incoming channel messages to per-channel
|
|
3
|
+
* conversation agents ("forks") instead of the primary conversation.
|
|
4
|
+
*
|
|
5
|
+
* The router is a lookup table plus policy — deliberately no LLM in the
|
|
6
|
+
* routing path. The framework consults it from handleMcplChannelIncoming:
|
|
7
|
+
*
|
|
8
|
+
* - A channel with an active binding routes to its bound agent. Whether the
|
|
9
|
+
* message *triggers* inference (vs. just landing in the fork's context) is
|
|
10
|
+
* a separate per-channel-kind rule: in a busy channel everything is case
|
|
11
|
+
* input but only mentions demand a reply.
|
|
12
|
+
* - An unbound channel binds (→ the framework spawns a fork from the
|
|
13
|
+
* template/trunk agent) when the bind rule matches: by default any message
|
|
14
|
+
* in a DM, an explicit bot mention in a channel (`metadata.mentioned`,
|
|
15
|
+
* set server-side by the platform adapters).
|
|
16
|
+
* - Everything else is left unrouted and dropped by the framework — the
|
|
17
|
+
* trunk is a dormant template, not a listener.
|
|
18
|
+
*
|
|
19
|
+
* Bindings expire after an idle TTL. Expiry runs a final closure turn on the
|
|
20
|
+
* fork (see framework wiring) and unbinds; the next qualifying message on
|
|
21
|
+
* that channel spawns a *fresh* fork (generation + 1) from the current
|
|
22
|
+
* trunk, so handbook/template updates propagate between engagements.
|
|
23
|
+
*
|
|
24
|
+
* The binding table is in-memory — bindings are re-established by the next
|
|
25
|
+
* qualifying message after a restart. The generation counters, by contrast,
|
|
26
|
+
* are persisted by the framework (exportGenerations/hydrateGenerations):
|
|
27
|
+
* a restarted host must NOT reuse generation 1's agent name, or it would
|
|
28
|
+
* reopen the previous engagement's Chronicle namespace and re-seed the
|
|
29
|
+
* template context on top of the old history.
|
|
30
|
+
*/
|
|
31
|
+
import type { ContextStrategy } from '@animalabs/context-manager';
|
|
32
|
+
import type { ChannelDescriptor } from './types.js';
|
|
33
|
+
/** When an unbound channel acquires a fork. */
|
|
34
|
+
export type BindRule = 'always' | 'mention' | 'never';
|
|
35
|
+
/** When a message on a bound channel triggers inference (it always lands in
|
|
36
|
+
* the fork's context). */
|
|
37
|
+
export type TriggerRule = 'always' | 'mention';
|
|
38
|
+
/** How a channel is classified for bind/trigger rules. Group DMs are their
|
|
39
|
+
* own kind: the bot was added deliberately (so they bind like DMs) but they
|
|
40
|
+
* host multi-human chatter (so they trigger like channels by default —
|
|
41
|
+
* inferring on every message of a four-human group DM is a firehose). */
|
|
42
|
+
export type ChannelKind = 'dm' | 'groupDm' | 'channel';
|
|
43
|
+
export interface ConversationRouterConfig {
|
|
44
|
+
/** Agent whose context seeds new forks (the "trunk"/warm checkpoint). */
|
|
45
|
+
templateAgent: string;
|
|
46
|
+
/** Bind rules per channel kind.
|
|
47
|
+
* Defaults: dm 'always', groupDm 'always', channel 'mention'. */
|
|
48
|
+
bind?: {
|
|
49
|
+
dm?: BindRule;
|
|
50
|
+
groupDm?: BindRule;
|
|
51
|
+
channel?: BindRule;
|
|
52
|
+
};
|
|
53
|
+
/** Trigger rules per channel kind.
|
|
54
|
+
* Defaults: dm 'always', groupDm 'mention', channel 'mention'. */
|
|
55
|
+
trigger?: {
|
|
56
|
+
dm?: TriggerRule;
|
|
57
|
+
groupDm?: TriggerRule;
|
|
58
|
+
channel?: TriggerRule;
|
|
59
|
+
};
|
|
60
|
+
/** Idle time before a binding expires and the fork is closed. Default 12h. */
|
|
61
|
+
idleTtlMs?: number;
|
|
62
|
+
/** Final system-initiated user message sent to a fork on expiry. */
|
|
63
|
+
closurePrompt?: string;
|
|
64
|
+
/** Prefix for generated fork agent names. Default 'conversation'. */
|
|
65
|
+
agentPrefix?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Fresh compression strategy per fork. Strategy instances are stateful and
|
|
68
|
+
* must not be shared between ContextManagers, so the template agent's own
|
|
69
|
+
* strategy is never reused — without a factory, forks get passthrough.
|
|
70
|
+
*/
|
|
71
|
+
strategyFactory?: () => ContextStrategy;
|
|
72
|
+
}
|
|
73
|
+
export interface ConversationBinding {
|
|
74
|
+
channelId: string;
|
|
75
|
+
agentName: string;
|
|
76
|
+
/** Engagement counter per channel — fresh forks get a new generation. */
|
|
77
|
+
generation: number;
|
|
78
|
+
boundAt: number;
|
|
79
|
+
lastActivity: number;
|
|
80
|
+
}
|
|
81
|
+
/** The facts route() needs about one incoming message, pre-extracted by the
|
|
82
|
+
* framework so the router stays free of event-shape knowledge. */
|
|
83
|
+
export interface IncomingMessageFacts {
|
|
84
|
+
channelId: string;
|
|
85
|
+
/** Personal mention of the bot (metadata.mentioned from the adapter). */
|
|
86
|
+
mentioned: boolean;
|
|
87
|
+
/** Channel classification (see classifyChannel). */
|
|
88
|
+
kind: ChannelKind;
|
|
89
|
+
/** Clock injection for tests; defaults to Date.now(). */
|
|
90
|
+
now?: number;
|
|
91
|
+
}
|
|
92
|
+
export type RoutingDecision =
|
|
93
|
+
/** Channel already has a fork — deliver there. */
|
|
94
|
+
{
|
|
95
|
+
kind: 'existing';
|
|
96
|
+
agentName: string;
|
|
97
|
+
trigger: boolean;
|
|
98
|
+
}
|
|
99
|
+
/** Bind rule matched — framework should spawn this agent, then bind(). */
|
|
100
|
+
| {
|
|
101
|
+
kind: 'spawn';
|
|
102
|
+
agentName: string;
|
|
103
|
+
generation: number;
|
|
104
|
+
trigger: boolean;
|
|
105
|
+
}
|
|
106
|
+
/** No binding and bind rule didn't match — drop. */
|
|
107
|
+
| {
|
|
108
|
+
kind: 'unbound';
|
|
109
|
+
};
|
|
110
|
+
export declare const DEFAULT_CLOSURE_PROMPT: string;
|
|
111
|
+
export declare class ConversationRouter {
|
|
112
|
+
private config;
|
|
113
|
+
/** Active bindings, keyed by channelId. */
|
|
114
|
+
private bindings;
|
|
115
|
+
/** Engagement counter per channel — survives unbind, so a re-bound channel
|
|
116
|
+
* gets a distinct fork agent name. */
|
|
117
|
+
private generations;
|
|
118
|
+
constructor(config: ConversationRouterConfig);
|
|
119
|
+
get templateAgent(): string;
|
|
120
|
+
get closurePrompt(): string;
|
|
121
|
+
get idleTtlMs(): number;
|
|
122
|
+
get strategyFactory(): (() => ContextStrategy) | undefined;
|
|
123
|
+
/**
|
|
124
|
+
* Decide where an incoming message goes. Pure read except for refreshing
|
|
125
|
+
* lastActivity on an existing binding — a 'spawn' decision does NOT create
|
|
126
|
+
* the binding; the framework calls bind() after the fork agent actually
|
|
127
|
+
* exists, so a failed spawn doesn't leave a dangling route.
|
|
128
|
+
*/
|
|
129
|
+
route(facts: IncomingMessageFacts): RoutingDecision;
|
|
130
|
+
/**
|
|
131
|
+
* Record a binding after the framework successfully spawned the fork.
|
|
132
|
+
* Returns the new binding.
|
|
133
|
+
*/
|
|
134
|
+
bind(channelId: string, agentName: string, generation: number, now?: number): ConversationBinding;
|
|
135
|
+
unbind(channelId: string): void;
|
|
136
|
+
getBinding(channelId: string): ConversationBinding | undefined;
|
|
137
|
+
/** Reverse lookup: the channel an agent is bound to, if any. */
|
|
138
|
+
channelForAgent(agentName: string): string | undefined;
|
|
139
|
+
getBindings(): ConversationBinding[];
|
|
140
|
+
/** Bindings whose idle TTL has elapsed. Does not unbind — the framework
|
|
141
|
+
* runs the closure turn first, then calls unbind(). */
|
|
142
|
+
expired(now?: number): ConversationBinding[];
|
|
143
|
+
/**
|
|
144
|
+
* Classify a channel from its descriptor and/or message metadata. Slack
|
|
145
|
+
* marks DMs/group DMs with is_im/is_mpim on the channel descriptor and
|
|
146
|
+
* channel_type on each message; other platforms can adopt either
|
|
147
|
+
* convention.
|
|
148
|
+
*/
|
|
149
|
+
static classifyChannel(descriptor?: ChannelDescriptor, messageMetadata?: Record<string, unknown>): ChannelKind;
|
|
150
|
+
/** Export the per-channel engagement counters for persistence — they must
|
|
151
|
+
* survive restarts, or a re-engaged channel reuses generation 1's name and
|
|
152
|
+
* reopens (and re-seeds) the previous engagement's Chronicle namespace. */
|
|
153
|
+
exportGenerations(): Record<string, number>;
|
|
154
|
+
/** Restore persisted engagement counters (see exportGenerations). */
|
|
155
|
+
hydrateGenerations(generations: Record<string, number>): void;
|
|
156
|
+
private shouldTrigger;
|
|
157
|
+
/** `conversation-slack-C123-g2` — agent names double as Chronicle
|
|
158
|
+
* namespace components, so the channel id is sanitized. */
|
|
159
|
+
private forkAgentName;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=conversation-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-router.d.ts","sourceRoot":"","sources":["../../../src/mcpl/conversation-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,+CAA+C;AAC/C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD;0BAC0B;AAC1B,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/C;;;yEAGyE;AACzE,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;IAEtB;qEACiE;IACjE,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IAEjE;sEACkE;IAClE,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC;IAE7E,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,eAAe,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;kEACkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,IAAI,EAAE,WAAW,CAAC;IAClB,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe;AACzB,kDAAkD;AAChD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AAC3D,0EAA0E;GACxE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AAC5E,oDAAoD;GAClD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAIxB,eAAO,MAAM,sBAAsB,QAGuB,CAAC;AAM3D,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA2B;IAEzC,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAA0C;IAE1D;0CACsC;IACtC,OAAO,CAAC,WAAW,CAA6B;gBAEpC,MAAM,EAAE,wBAAwB;IAI5C,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,eAAe,IAAI,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAEzD;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe;IA+BnD;;;OAGG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,mBAAmB;IAarG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI9D,gEAAgE;IAChE,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOtD,WAAW,IAAI,mBAAmB,EAAE;IAIpC;2DACuD;IACvD,OAAO,CAAC,GAAG,SAAa,GAAG,mBAAmB,EAAE;IAShD;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CACpB,UAAU,CAAC,EAAE,iBAAiB,EAC9B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,WAAW;IAUd;;+EAE2E;IAC3E,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI3C,qEAAqE;IACrE,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAQ7D,OAAO,CAAC,aAAa;IAMrB;+DAC2D;IAC3D,OAAO,CAAC,aAAa;CAKtB"}
|