@animalabs/agent-framework 0.1.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/LICENSE +21 -0
- package/README.md +233 -0
- package/dist/src/agent.d.ts +130 -0
- package/dist/src/agent.d.ts.map +1 -0
- package/dist/src/agent.js +406 -0
- package/dist/src/agent.js.map +1 -0
- package/dist/src/api/mcp-server.d.ts +37 -0
- package/dist/src/api/mcp-server.d.ts.map +1 -0
- package/dist/src/api/mcp-server.js +598 -0
- package/dist/src/api/mcp-server.js.map +1 -0
- package/dist/src/api/server.d.ts +83 -0
- package/dist/src/api/server.d.ts.map +1 -0
- package/dist/src/api/server.js +785 -0
- package/dist/src/api/server.js.map +1 -0
- package/dist/src/api/types.d.ts +395 -0
- package/dist/src/api/types.d.ts.map +1 -0
- package/dist/src/api/types.js +5 -0
- package/dist/src/api/types.js.map +1 -0
- package/dist/src/framework.d.ts +309 -0
- package/dist/src/framework.d.ts.map +1 -0
- package/dist/src/framework.js +2309 -0
- package/dist/src/framework.js.map +1 -0
- package/dist/src/gate/event-gate.d.ts +75 -0
- package/dist/src/gate/event-gate.d.ts.map +1 -0
- package/dist/src/gate/event-gate.js +503 -0
- package/dist/src/gate/event-gate.js.map +1 -0
- package/dist/src/gate/index.d.ts +3 -0
- package/dist/src/gate/index.d.ts.map +1 -0
- package/dist/src/gate/index.js +2 -0
- package/dist/src/gate/index.js.map +1 -0
- package/dist/src/gate/types.d.ts +82 -0
- package/dist/src/gate/types.d.ts.map +1 -0
- package/dist/src/gate/types.js +9 -0
- package/dist/src/gate/types.js.map +1 -0
- package/dist/src/index.d.ts +17 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +18 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcpl/channel-registry.d.ts +141 -0
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -0
- package/dist/src/mcpl/channel-registry.js +647 -0
- package/dist/src/mcpl/channel-registry.js.map +1 -0
- package/dist/src/mcpl/checkpoint-manager.d.ts +79 -0
- package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -0
- package/dist/src/mcpl/checkpoint-manager.js +430 -0
- package/dist/src/mcpl/checkpoint-manager.js.map +1 -0
- package/dist/src/mcpl/errors.d.ts +52 -0
- package/dist/src/mcpl/errors.d.ts.map +1 -0
- package/dist/src/mcpl/errors.js +93 -0
- package/dist/src/mcpl/errors.js.map +1 -0
- package/dist/src/mcpl/feature-set-manager.d.ts +91 -0
- package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -0
- package/dist/src/mcpl/feature-set-manager.js +250 -0
- package/dist/src/mcpl/feature-set-manager.js.map +1 -0
- package/dist/src/mcpl/hook-orchestrator.d.ts +51 -0
- package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -0
- package/dist/src/mcpl/hook-orchestrator.js +217 -0
- package/dist/src/mcpl/hook-orchestrator.js.map +1 -0
- package/dist/src/mcpl/index.d.ts +14 -0
- package/dist/src/mcpl/index.d.ts.map +1 -0
- package/dist/src/mcpl/index.js +21 -0
- package/dist/src/mcpl/index.js.map +1 -0
- package/dist/src/mcpl/inference-router.d.ts +67 -0
- package/dist/src/mcpl/inference-router.d.ts.map +1 -0
- package/dist/src/mcpl/inference-router.js +249 -0
- package/dist/src/mcpl/inference-router.js.map +1 -0
- package/dist/src/mcpl/push-handler.d.ts +60 -0
- package/dist/src/mcpl/push-handler.d.ts.map +1 -0
- package/dist/src/mcpl/push-handler.js +162 -0
- package/dist/src/mcpl/push-handler.js.map +1 -0
- package/dist/src/mcpl/scope-manager.d.ts +76 -0
- package/dist/src/mcpl/scope-manager.d.ts.map +1 -0
- package/dist/src/mcpl/scope-manager.js +213 -0
- package/dist/src/mcpl/scope-manager.js.map +1 -0
- package/dist/src/mcpl/server-connection.d.ts +174 -0
- package/dist/src/mcpl/server-connection.d.ts.map +1 -0
- package/dist/src/mcpl/server-connection.js +559 -0
- package/dist/src/mcpl/server-connection.js.map +1 -0
- package/dist/src/mcpl/server-registry.d.ts +63 -0
- package/dist/src/mcpl/server-registry.d.ts.map +1 -0
- package/dist/src/mcpl/server-registry.js +119 -0
- package/dist/src/mcpl/server-registry.js.map +1 -0
- package/dist/src/mcpl/types.d.ts +755 -0
- package/dist/src/mcpl/types.d.ts.map +1 -0
- package/dist/src/mcpl/types.js +48 -0
- package/dist/src/mcpl/types.js.map +1 -0
- package/dist/src/module-registry.d.ts +93 -0
- package/dist/src/module-registry.d.ts.map +1 -0
- package/dist/src/module-registry.js +386 -0
- package/dist/src/module-registry.js.map +1 -0
- package/dist/src/modules/api/index.d.ts +22 -0
- package/dist/src/modules/api/index.d.ts.map +1 -0
- package/dist/src/modules/api/index.js +63 -0
- package/dist/src/modules/api/index.js.map +1 -0
- package/dist/src/modules/discord/discord-js-client.d.ts +58 -0
- package/dist/src/modules/discord/discord-js-client.d.ts.map +1 -0
- package/dist/src/modules/discord/discord-js-client.js +273 -0
- package/dist/src/modules/discord/discord-js-client.js.map +1 -0
- package/dist/src/modules/discord/index.d.ts +82 -0
- package/dist/src/modules/discord/index.d.ts.map +1 -0
- package/dist/src/modules/discord/index.js +959 -0
- package/dist/src/modules/discord/index.js.map +1 -0
- package/dist/src/modules/discord/types.d.ts +327 -0
- package/dist/src/modules/discord/types.d.ts.map +1 -0
- package/dist/src/modules/discord/types.js +5 -0
- package/dist/src/modules/discord/types.js.map +1 -0
- package/dist/src/modules/index.d.ts +11 -0
- package/dist/src/modules/index.d.ts.map +1 -0
- package/dist/src/modules/index.js +7 -0
- package/dist/src/modules/index.js.map +1 -0
- package/dist/src/modules/workspace/index.d.ts +59 -0
- package/dist/src/modules/workspace/index.d.ts.map +1 -0
- package/dist/src/modules/workspace/index.js +831 -0
- package/dist/src/modules/workspace/index.js.map +1 -0
- package/dist/src/modules/workspace/sync.d.ts +48 -0
- package/dist/src/modules/workspace/sync.d.ts.map +1 -0
- package/dist/src/modules/workspace/sync.js +253 -0
- package/dist/src/modules/workspace/sync.js.map +1 -0
- package/dist/src/modules/workspace/types.d.ts +166 -0
- package/dist/src/modules/workspace/types.d.ts.map +1 -0
- package/dist/src/modules/workspace/types.js +5 -0
- package/dist/src/modules/workspace/types.js.map +1 -0
- package/dist/src/modules/workspace/watcher.d.ts +43 -0
- package/dist/src/modules/workspace/watcher.d.ts.map +1 -0
- package/dist/src/modules/workspace/watcher.js +120 -0
- package/dist/src/modules/workspace/watcher.js.map +1 -0
- package/dist/src/queue.d.ts +50 -0
- package/dist/src/queue.d.ts.map +1 -0
- package/dist/src/queue.js +95 -0
- package/dist/src/queue.js.map +1 -0
- package/dist/src/safe-slice.d.ts +8 -0
- package/dist/src/safe-slice.d.ts.map +1 -0
- package/dist/src/safe-slice.js +18 -0
- package/dist/src/safe-slice.js.map +1 -0
- package/dist/src/types/agent.d.ts +118 -0
- package/dist/src/types/agent.d.ts.map +1 -0
- package/dist/src/types/agent.js +2 -0
- package/dist/src/types/agent.js.map +1 -0
- package/dist/src/types/events.d.ts +220 -0
- package/dist/src/types/events.d.ts.map +1 -0
- package/dist/src/types/events.js +2 -0
- package/dist/src/types/events.js.map +1 -0
- package/dist/src/types/framework.d.ts +184 -0
- package/dist/src/types/framework.d.ts.map +1 -0
- package/dist/src/types/framework.js +2 -0
- package/dist/src/types/framework.js.map +1 -0
- package/dist/src/types/index.d.ts +7 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +7 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/inference-log.d.ts +64 -0
- package/dist/src/types/inference-log.d.ts.map +1 -0
- package/dist/src/types/inference-log.js +5 -0
- package/dist/src/types/inference-log.js.map +1 -0
- package/dist/src/types/module.d.ts +302 -0
- package/dist/src/types/module.d.ts.map +1 -0
- package/dist/src/types/module.js +2 -0
- package/dist/src/types/module.js.map +1 -0
- package/dist/src/types/trace.d.ts +173 -0
- package/dist/src/types/trace.d.ts.map +1 -0
- package/dist/src/types/trace.js +2 -0
- package/dist/src/types/trace.js.map +1 -0
- package/dist/test/event-gate.test.d.ts +2 -0
- package/dist/test/event-gate.test.d.ts.map +1 -0
- package/dist/test/event-gate.test.js +535 -0
- package/dist/test/event-gate.test.js.map +1 -0
- package/dist/test/framework.test.d.ts +5 -0
- package/dist/test/framework.test.d.ts.map +1 -0
- package/dist/test/framework.test.js +738 -0
- package/dist/test/framework.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +58 -0
- package/src/agent.ts +512 -0
- package/src/api/mcp-server.ts +687 -0
- package/src/api/server.ts +1023 -0
- package/src/api/types.ts +542 -0
- package/src/framework.ts +2784 -0
- package/src/gate/event-gate.ts +623 -0
- package/src/gate/index.ts +12 -0
- package/src/gate/types.ts +112 -0
- package/src/index.ts +63 -0
- package/src/mcpl/channel-registry.ts +824 -0
- package/src/mcpl/checkpoint-manager.ts +545 -0
- package/src/mcpl/errors.ts +114 -0
- package/src/mcpl/feature-set-manager.ts +333 -0
- package/src/mcpl/hook-orchestrator.ts +281 -0
- package/src/mcpl/index.ts +134 -0
- package/src/mcpl/inference-router.ts +335 -0
- package/src/mcpl/push-handler.ts +232 -0
- package/src/mcpl/scope-manager.ts +262 -0
- package/src/mcpl/server-connection.ts +694 -0
- package/src/mcpl/server-registry.ts +144 -0
- package/src/mcpl/types.ts +991 -0
- package/src/module-registry.ts +547 -0
- package/src/modules/api/index.ts +94 -0
- package/src/modules/discord/discord-js-client.ts +353 -0
- package/src/modules/discord/index.ts +1146 -0
- package/src/modules/discord/types.ts +465 -0
- package/src/modules/index.ts +43 -0
- package/src/modules/workspace/index.ts +969 -0
- package/src/modules/workspace/sync.ts +314 -0
- package/src/modules/workspace/types.ts +202 -0
- package/src/modules/workspace/watcher.ts +142 -0
- package/src/queue.ts +106 -0
- package/src/safe-slice.ts +18 -0
- package/src/types/agent.ts +119 -0
- package/src/types/events.ts +252 -0
- package/src/types/framework.ts +211 -0
- package/src/types/index.ts +6 -0
- package/src/types/inference-log.ts +64 -0
- package/src/types/module.ts +367 -0
- package/src/types/trace.ts +196 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './types/index.js';
|
|
2
|
+
export { AgentFramework } from './framework.js';
|
|
3
|
+
export { Agent } from './agent.js';
|
|
4
|
+
export type { StartStreamResult } from './agent.js';
|
|
5
|
+
export { ProcessQueueImpl } from './queue.js';
|
|
6
|
+
export { ModuleRegistry } from './module-registry.js';
|
|
7
|
+
export * from './modules/index.js';
|
|
8
|
+
export { ApiServer } from './api/server.js';
|
|
9
|
+
export { McpServer } from './api/mcp-server.js';
|
|
10
|
+
export type { ApiServerConfig, ApiMessage, ApiRequest, ApiResponse, ApiEvent, ApiCommand, MessageSendParams, MessageListParams, InferenceRequestParams, InferenceAbortParams, BranchCreateParams, BranchSwitchParams, BranchDeleteParams, AgentContextParams, ModuleStateParams, StoreInspectParams, MessageInfo, BranchInfo, ModuleInfo, StateInfo, ApiEventType, InferenceStartEvent, InferenceCompleteEvent, InferenceAbortedEvent, InferenceErrorEvent, ToolStartEvent, ToolCompleteEvent, ToolErrorEvent, SpeechEvent, MessageAddedEvent, BranchSwitchedEvent, BranchCreatedEvent, BranchDeletedEvent, } from './api/types.js';
|
|
11
|
+
export { EventGate } from './gate/index.js';
|
|
12
|
+
export type { GateConfig, GateOptions, GatePolicy, GatePolicyMatch, GateBehavior } from './gate/index.js';
|
|
13
|
+
export type { ContextManager, ContextStrategy, TokenBudget } from '@animalabs/context-manager';
|
|
14
|
+
export { PassthroughStrategy, AutobiographicalStrategy, KnowledgeStrategy } from '@animalabs/context-manager';
|
|
15
|
+
export type { KnowledgeConfig, PhaseType } from '@animalabs/context-manager';
|
|
16
|
+
export type { Membrane, NormalizedMessage, NormalizedRequest, ContentBlock } from '@animalabs/membrane';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG1G,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC9G,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Types
|
|
2
|
+
export * from './types/index.js';
|
|
3
|
+
// Core classes
|
|
4
|
+
export { AgentFramework } from './framework.js';
|
|
5
|
+
export { Agent } from './agent.js';
|
|
6
|
+
export { ProcessQueueImpl } from './queue.js';
|
|
7
|
+
export { ModuleRegistry } from './module-registry.js';
|
|
8
|
+
// Built-in modules
|
|
9
|
+
export * from './modules/index.js';
|
|
10
|
+
// API
|
|
11
|
+
export { ApiServer } from './api/server.js';
|
|
12
|
+
export { McpServer } from './api/mcp-server.js';
|
|
13
|
+
// Note: AgentInfo, MessageEditedEvent, MessageRemovedEvent intentionally not re-exported
|
|
14
|
+
// from api/types.js to avoid conflicts with ./types/index.js
|
|
15
|
+
// EventGate
|
|
16
|
+
export { EventGate } from './gate/index.js';
|
|
17
|
+
export { PassthroughStrategy, AutobiographicalStrategy, KnowledgeStrategy } from '@animalabs/context-manager';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,mBAAmB;AACnB,cAAc,oBAAoB,CAAC;AAEnC,MAAM;AACN,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAoChD,yFAAyF;AACzF,6DAA6D;AAE7D,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChannelRegistry — manages MCPL channel lifecycle, incoming messages, and
|
|
3
|
+
* synthesized channel tools.
|
|
4
|
+
*
|
|
5
|
+
* Adapted from battle-tested patterns in Anarchid/agent-framework@mcpl-module-proto.
|
|
6
|
+
*
|
|
7
|
+
* Responsibilities:
|
|
8
|
+
* - Register/unregister channel descriptors from MCPL servers
|
|
9
|
+
* - Auto-open channels on registration
|
|
10
|
+
* - Route incoming messages to the processing queue
|
|
11
|
+
* - Manage typing indicator timers (7s interval for Discord compatibility)
|
|
12
|
+
* - Expose synthesized tools: channel_list, channel_open, channel_close, channel_publish
|
|
13
|
+
* - Build channel context for beforeInference params
|
|
14
|
+
*/
|
|
15
|
+
import type { ChannelDescriptor, ChannelContext, ChannelsRegisterParams, ChannelsChangedParams, ChannelsIncomingParams } from './types.js';
|
|
16
|
+
import type { McplServerRegistry } from './server-registry.js';
|
|
17
|
+
import type { FeatureSetManager } from './feature-set-manager.js';
|
|
18
|
+
import type { ToolDefinition, ToolResult, ProcessEvent } from '../types/index.js';
|
|
19
|
+
/** A registered channel entry, keyed by `{serverId}:{channelId}`. */
|
|
20
|
+
interface ChannelEntry {
|
|
21
|
+
serverId: string;
|
|
22
|
+
descriptor: ChannelDescriptor;
|
|
23
|
+
open: boolean;
|
|
24
|
+
}
|
|
25
|
+
/** Minimal responder interface for sending JSON-RPC results back. */
|
|
26
|
+
interface Responder {
|
|
27
|
+
respond(result: unknown): void;
|
|
28
|
+
respondError?(code: number, message: string, data?: unknown): void;
|
|
29
|
+
}
|
|
30
|
+
interface ChannelRegistryOptions {
|
|
31
|
+
/** Callback to determine whether an incoming message should trigger inference. */
|
|
32
|
+
shouldTriggerInference?: (content: string, metadata: Record<string, unknown>) => boolean;
|
|
33
|
+
}
|
|
34
|
+
export declare class ChannelRegistry {
|
|
35
|
+
private serverRegistry;
|
|
36
|
+
private featureSetManager;
|
|
37
|
+
private pushEventFn;
|
|
38
|
+
private emitTraceFn;
|
|
39
|
+
private sendTypingFn?;
|
|
40
|
+
private shouldTriggerInference?;
|
|
41
|
+
/** Registered channels, keyed by `{serverId}:{channelId}`. */
|
|
42
|
+
private channels;
|
|
43
|
+
/** Most recent incoming channel ID — used for speech routing / default publish. */
|
|
44
|
+
private defaultPublishChannel;
|
|
45
|
+
/** Most recent incoming message metadata, used for buildChannelContext. */
|
|
46
|
+
private defaultPublishMessageId;
|
|
47
|
+
private defaultPublishThreadId;
|
|
48
|
+
/** Per-channel typing indicator timers. */
|
|
49
|
+
private typingIntervals;
|
|
50
|
+
constructor(serverRegistry: McplServerRegistry, featureSetManager: FeatureSetManager, pushEventFn: (event: ProcessEvent) => void, emitTraceFn: (event: {
|
|
51
|
+
type: string;
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
}) => void, options?: ChannelRegistryOptions & {
|
|
54
|
+
sendTypingFn?: (serverId: string, channelId: string) => void;
|
|
55
|
+
});
|
|
56
|
+
/**
|
|
57
|
+
* Handle `channels/register` from a server.
|
|
58
|
+
*
|
|
59
|
+
* Registers each channel descriptor in the map and auto-opens them.
|
|
60
|
+
*/
|
|
61
|
+
handleRegister(serverId: string, params: ChannelsRegisterParams, responder?: Responder): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Handle `channels/changed` notification from a server.
|
|
64
|
+
*
|
|
65
|
+
* Processes added (register + auto-open), removed (delete + stop typing),
|
|
66
|
+
* and updated (replace descriptor) channels.
|
|
67
|
+
*/
|
|
68
|
+
handleChanged(serverId: string, params: ChannelsChangedParams): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Handle `channels/incoming` from a server.
|
|
71
|
+
*
|
|
72
|
+
* Converts each message's content, pushes McplChannelIncomingEvent to the
|
|
73
|
+
* queue, and responds with per-message results.
|
|
74
|
+
*/
|
|
75
|
+
handleIncoming(serverId: string, params: ChannelsIncomingParams, responder?: Responder): void;
|
|
76
|
+
/**
|
|
77
|
+
* Start sending typing indicators for a channel.
|
|
78
|
+
*
|
|
79
|
+
* Sends a typing notification immediately and every 7 seconds thereafter.
|
|
80
|
+
* Discord typing indicators last ~10s, so 7s keeps them alive.
|
|
81
|
+
*
|
|
82
|
+
* No-op if already typing on this channel.
|
|
83
|
+
*/
|
|
84
|
+
startTyping(channelId: string): void;
|
|
85
|
+
/**
|
|
86
|
+
* Stop sending typing indicators.
|
|
87
|
+
*
|
|
88
|
+
* If channelId is specified, stops typing on that channel only.
|
|
89
|
+
* If no channelId, stops all typing indicators.
|
|
90
|
+
*/
|
|
91
|
+
stopTyping(channelId?: string): void;
|
|
92
|
+
/**
|
|
93
|
+
* Get the default publish channel ID (most recent incoming channel).
|
|
94
|
+
*/
|
|
95
|
+
getDefaultPublishChannel(): string | null;
|
|
96
|
+
/**
|
|
97
|
+
* Get all open channels.
|
|
98
|
+
*/
|
|
99
|
+
getOpenChannels(): ChannelEntry[];
|
|
100
|
+
/**
|
|
101
|
+
* Get synthesized tool definitions for channel operations.
|
|
102
|
+
*/
|
|
103
|
+
getChannelTools(): ToolDefinition[];
|
|
104
|
+
/**
|
|
105
|
+
* Handle a call to one of the synthesized channel tools.
|
|
106
|
+
*/
|
|
107
|
+
handleChannelToolCall(toolName: string, input: unknown): Promise<ToolResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Build channel context for inclusion in beforeInference params.
|
|
110
|
+
*
|
|
111
|
+
* Returns undefined if no channels are active.
|
|
112
|
+
*/
|
|
113
|
+
buildChannelContext(): ChannelContext | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* Stop all typing intervals and clear all channel registrations.
|
|
116
|
+
*/
|
|
117
|
+
stopAll(): void;
|
|
118
|
+
private autoOpenChannels;
|
|
119
|
+
/**
|
|
120
|
+
* Send a typing notification for a channel.
|
|
121
|
+
*
|
|
122
|
+
* Uses the sendTypingFn callback if provided. If not, this is a no-op
|
|
123
|
+
* (typing timer lifecycle is still managed for when the callback is wired).
|
|
124
|
+
*/
|
|
125
|
+
private sendTypingNotification;
|
|
126
|
+
/**
|
|
127
|
+
* Find a channel entry by channelId (searches across all servers).
|
|
128
|
+
* Returns the first match.
|
|
129
|
+
*/
|
|
130
|
+
private findChannelEntry;
|
|
131
|
+
/**
|
|
132
|
+
* Find the composite key for a channel by its channelId.
|
|
133
|
+
*/
|
|
134
|
+
private findChannelKey;
|
|
135
|
+
private handleToolList;
|
|
136
|
+
private handleToolOpen;
|
|
137
|
+
private handleToolClose;
|
|
138
|
+
private handleToolPublish;
|
|
139
|
+
}
|
|
140
|
+
export {};
|
|
141
|
+
//# sourceMappingURL=channel-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-registry.d.ts","sourceRoot":"","sources":["../../../src/mcpl/channel-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EAEtB,qBAAqB,EACrB,sBAAsB,EAKvB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAYlF,qEAAqE;AACrE,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,qEAAqE;AACrE,UAAU,SAAS;IACjB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACpE;AAgHD,UAAU,sBAAsB;IAC9B,kFAAkF;IAClF,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;CAC1F;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,WAAW,CAA4D;IAC/E,OAAO,CAAC,YAAY,CAAC,CAAgD;IACrE,OAAO,CAAC,sBAAsB,CAAC,CAAkE;IAEjG,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAmC;IAEnD,mFAAmF;IACnF,OAAO,CAAC,qBAAqB,CAAuB;IAEpD,2EAA2E;IAC3E,OAAO,CAAC,uBAAuB,CAAuB;IACtD,OAAO,CAAC,sBAAsB,CAAiC;IAE/D,2CAA2C;IAC3C,OAAO,CAAC,eAAe,CAAqD;gBAG1E,cAAc,EAAE,kBAAkB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,EAC1C,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,EACtE,OAAO,CAAC,EAAE,sBAAsB,GAAG;QACjC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;KAC9D;IAcH;;;;OAIG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,sBAAsB,EAC9B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;;;OAKG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,IAAI,CAAC;IA2ChB;;;;;OAKG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,sBAAsB,EAC9B,SAAS,CAAC,EAAE,SAAS,GACpB,IAAI;IA0EP;;;;;;;OAOG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAsBpC;;;;;OAKG;IACH,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAoBpC;;OAEG;IACH,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,eAAe,IAAI,YAAY,EAAE;IAcjC;;OAEG;IACH,eAAe,IAAI,cAAc,EAAE;IAInC;;OAEG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBlF;;;;OAIG;IACH,mBAAmB,IAAI,cAAc,GAAG,SAAS;IAoCjD;;OAEG;IACH,OAAO,IAAI,IAAI;YAoBD,gBAAgB;IAiC9B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;YA2BR,cAAc;YA6Cd,eAAe;YA2Cf,iBAAiB;CA2DhC"}
|