@animalabs/agent-framework 0.6.10 → 0.7.2
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 +2 -0
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +3 -0
- package/dist/src/agent.js.map +1 -1
- package/dist/src/code-execution/index.d.ts +14 -0
- package/dist/src/code-execution/index.d.ts.map +1 -0
- package/dist/src/code-execution/index.js +13 -0
- package/dist/src/code-execution/index.js.map +1 -0
- package/dist/src/code-execution/py-runner.d.ts +91 -0
- package/dist/src/code-execution/py-runner.d.ts.map +1 -0
- package/dist/src/code-execution/py-runner.js +364 -0
- package/dist/src/code-execution/py-runner.js.map +1 -0
- package/dist/src/code-execution/runtime-py.d.ts +32 -0
- package/dist/src/code-execution/runtime-py.d.ts.map +1 -0
- package/dist/src/code-execution/runtime-py.js +265 -0
- package/dist/src/code-execution/runtime-py.js.map +1 -0
- package/dist/src/code-execution/tool-definition.d.ts +16 -0
- package/dist/src/code-execution/tool-definition.d.ts.map +1 -0
- package/dist/src/code-execution/tool-definition.js +45 -0
- package/dist/src/code-execution/tool-definition.js.map +1 -0
- package/dist/src/framework.d.ts +157 -15
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +1068 -104
- package/dist/src/framework.js.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 +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +99 -7
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +374 -49
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/prose-grammar.d.ts +24 -0
- package/dist/src/mcpl/prose-grammar.d.ts.map +1 -0
- package/dist/src/mcpl/prose-grammar.js +33 -0
- package/dist/src/mcpl/prose-grammar.js.map +1 -0
- package/dist/src/mcpl/prose-stream-router.d.ts +58 -0
- package/dist/src/mcpl/prose-stream-router.d.ts.map +1 -0
- package/dist/src/mcpl/prose-stream-router.js +168 -0
- package/dist/src/mcpl/prose-stream-router.js.map +1 -0
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +13 -4
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/types/agent.d.ts +17 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/framework.d.ts +33 -0
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +32 -0
- package/dist/src/types/trace.d.ts.map +1 -1
- package/dist/test/channel-registry-routing.test.js +186 -10
- package/dist/test/channel-registry-routing.test.js.map +1 -1
- package/dist/test/code-execution.test.d.ts +11 -0
- package/dist/test/code-execution.test.d.ts.map +1 -0
- package/dist/test/code-execution.test.js +412 -0
- package/dist/test/code-execution.test.js.map +1 -0
- package/dist/test/explicit-prose-routing.test.d.ts +11 -0
- package/dist/test/explicit-prose-routing.test.d.ts.map +1 -0
- package/dist/test/explicit-prose-routing.test.js +247 -0
- package/dist/test/explicit-prose-routing.test.js.map +1 -0
- package/dist/test/present-while-acting.test.js +85 -8
- package/dist/test/present-while-acting.test.js.map +1 -1
- package/dist/test/prose-stream-router.test.d.ts +2 -0
- package/dist/test/prose-stream-router.test.d.ts.map +1 -0
- package/dist/test/prose-stream-router.test.js +87 -0
- package/dist/test/prose-stream-router.test.js.map +1 -0
- package/dist/test/trunk-channel-routing.test.js +2 -2
- package/dist/test/trunk-channel-routing.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/agent.ts +3 -0
- package/src/code-execution/index.ts +19 -0
- package/src/code-execution/py-runner.ts +433 -0
- package/src/code-execution/runtime-py.ts +265 -0
- package/src/code-execution/tool-definition.ts +52 -0
- package/src/framework.ts +1160 -107
- package/src/index.ts +17 -0
- package/src/mcpl/channel-registry.ts +454 -54
- package/src/mcpl/prose-grammar.ts +40 -0
- package/src/mcpl/prose-stream-router.ts +161 -0
- package/src/modules/workspace/index.ts +13 -4
- package/src/types/agent.ts +18 -0
- package/src/types/framework.ts +35 -0
- package/src/types/trace.ts +47 -1
package/dist/src/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export { ApiServer } from './api/server.js';
|
|
|
10
10
|
export { McpServer } from './api/mcp-server.js';
|
|
11
11
|
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';
|
|
12
12
|
export { UsageTracker } from './usage/index.js';
|
|
13
|
+
export { PyRunner, buildInjectedTools, buildCodeExecutionToolDefinition, CODE_EXECUTION_TOOL_NAME, PYTHON_RUNTIME_SOURCE, } from './code-execution/index.js';
|
|
14
|
+
export type { InjectedTool, ExecResult, PyRunnerOptions, ScriptToolCallHandler, } from './code-execution/index.js';
|
|
13
15
|
export type { SessionUsage, AgentUsage, SessionUsageSnapshot, UsageUpdatedEvent } from './usage/index.js';
|
|
14
16
|
export { EventGate } from './gate/index.js';
|
|
15
17
|
export type { GateConfig, GateOptions, GatePolicy, GatePolicyMatch, GateBehavior } from './gate/index.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +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;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGvG,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,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -15,6 +15,10 @@ export { McpServer } from './api/mcp-server.js';
|
|
|
15
15
|
// from api/types.js to avoid conflicts with ./types/index.js
|
|
16
16
|
// Usage tracking
|
|
17
17
|
export { UsageTracker } from './usage/index.js';
|
|
18
|
+
// Client-side programmatic tool calling (code_execution): exposed so external
|
|
19
|
+
// tooling can drive the python runtime the way the framework does (protocol
|
|
20
|
+
// harnesses, runtime smoke tests).
|
|
21
|
+
export { PyRunner, buildInjectedTools, buildCodeExecutionToolDefinition, CODE_EXECUTION_TOOL_NAME, PYTHON_RUNTIME_SOURCE, } from './code-execution/index.js';
|
|
18
22
|
// EventGate
|
|
19
23
|
export { EventGate } from './gate/index.js';
|
|
20
24
|
// MCPL channel registry (exposed for modules that need channel-level operations)
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +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;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEvG,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,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
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;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEvG,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,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,8EAA8E;AAC9E,4EAA4E;AAC5E,mCAAmC;AACnC,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AASnC,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlD,0EAA0E;AAC1E,0EAA0E;AAC1E,wDAAwD;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,mCAAmC;AACnC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI9G,2EAA2E;AAC3E,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAQhD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -48,6 +48,25 @@ interface ChannelRegistryOptions {
|
|
|
48
48
|
reason: string;
|
|
49
49
|
textLen: number;
|
|
50
50
|
}) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Called when channels were opened WITHOUT the agent asking (subscription
|
|
53
|
+
* policy admitting a newly discovered channel, or delivery into a closed
|
|
54
|
+
* locus). The host wires this to drop a durable notice into the agent's
|
|
55
|
+
* window — the agent must always learn that new traffic will start
|
|
56
|
+
* flowing, and that `channel_close` opts out (their decision outranks
|
|
57
|
+
* policy). Fires ONCE per channel ever: the desired-state decision is
|
|
58
|
+
* durable, so reboots do not re-announce. Must not trigger inference.
|
|
59
|
+
*/
|
|
60
|
+
onChannelAutoOpened?: (info: {
|
|
61
|
+
/** Agent whose action caused the open (delivery); absent for policy opens. */
|
|
62
|
+
conversationId?: string;
|
|
63
|
+
serverId: string;
|
|
64
|
+
source: 'subscription-policy' | 'opened-by-delivery';
|
|
65
|
+
channels: Array<{
|
|
66
|
+
channelId: string;
|
|
67
|
+
label?: string;
|
|
68
|
+
}>;
|
|
69
|
+
}) => void;
|
|
51
70
|
/**
|
|
52
71
|
* Resolve a conversation fork's HOME channel from its agent name. Conversation
|
|
53
72
|
* forks are spawned bound to a single channel (the framework tracks this in
|
|
@@ -82,6 +101,7 @@ export declare class ChannelRegistry {
|
|
|
82
101
|
private sendTypingFn?;
|
|
83
102
|
private shouldTriggerInference?;
|
|
84
103
|
private onRouteFailure?;
|
|
104
|
+
private onChannelAutoOpened?;
|
|
85
105
|
private homeChannelResolver?;
|
|
86
106
|
private activeChannelResolver?;
|
|
87
107
|
private store?;
|
|
@@ -149,7 +169,7 @@ export declare class ChannelRegistry {
|
|
|
149
169
|
* channels/register or channels/changed overwrites this descriptor with the
|
|
150
170
|
* richer one.
|
|
151
171
|
*/
|
|
152
|
-
ensureChannelRegistered(serverId: string, channelId: string, label?: string): void;
|
|
172
|
+
ensureChannelRegistered(serverId: string, channelId: string, label?: string, extraMetadata?: Record<string, unknown>): void;
|
|
153
173
|
/**
|
|
154
174
|
* Start sending typing indicators for a channel.
|
|
155
175
|
*
|
|
@@ -215,6 +235,19 @@ export declare class ChannelRegistry {
|
|
|
215
235
|
* discovered later use their server bootstrap preference, otherwise closed.
|
|
216
236
|
*/
|
|
217
237
|
private migrateLegacyPolicy;
|
|
238
|
+
/**
|
|
239
|
+
* True when the server's recipe subscription policy wants this channel
|
|
240
|
+
* open. This is an ONGOING admission policy (subscribed ⇒ open, no matter
|
|
241
|
+
* when the channel is discovered) — not just a bootstrap seed. Allow-list
|
|
242
|
+
* entries may be composite MCPL ids or raw server-internal ids.
|
|
243
|
+
*/
|
|
244
|
+
private policyWantsOpen;
|
|
245
|
+
/**
|
|
246
|
+
* Returns true when this call made a FRESH subscription-policy decision to
|
|
247
|
+
* open the channel — the caller announces those to the agent (once per
|
|
248
|
+
* channel ever: the decision persists in chronicle, so reboots see an
|
|
249
|
+
* existing non-default source and never re-fire).
|
|
250
|
+
*/
|
|
218
251
|
private ensureInitialDesiredState;
|
|
219
252
|
private reconcileChannels;
|
|
220
253
|
/**
|
|
@@ -237,6 +270,50 @@ export declare class ChannelRegistry {
|
|
|
237
270
|
*/
|
|
238
271
|
private findChannelKey;
|
|
239
272
|
private handleToolList;
|
|
273
|
+
/**
|
|
274
|
+
* The single open executor: record durable desired-open intent, tell the
|
|
275
|
+
* server to subscribe, mark the live entry open. Every path that opens a
|
|
276
|
+
* channel — the agent's channel_open tool, delivery into a closed locus,
|
|
277
|
+
* an explicit send into a closed channel — funnels here, so lifecycle
|
|
278
|
+
* events, desired state, and live state can never diverge by path.
|
|
279
|
+
* Desired state is recorded BEFORE the server round-trip: intent sticks
|
|
280
|
+
* even if the subscribe fails, and reconciliation retries later.
|
|
281
|
+
*/
|
|
282
|
+
private openChannelNow;
|
|
283
|
+
/**
|
|
284
|
+
* Resolve a `>>` prose-routing target (explicit prose routing —
|
|
285
|
+
* docs/explicit-prose-routing.md) to a registered channel.
|
|
286
|
+
*
|
|
287
|
+
* Accepted spellings, tried in order:
|
|
288
|
+
* 1. exact descriptor id (`discord:guild:123`, always unambiguous)
|
|
289
|
+
* 2. exact raw server-internal id (`address.channelId`)
|
|
290
|
+
* 3. `#label` / bare label — case-insensitive match on descriptor label
|
|
291
|
+
* with any leading '#' stripped from both sides
|
|
292
|
+
* 4. `@name` — DM descriptor labels (`DM: name`), case-insensitive
|
|
293
|
+
*
|
|
294
|
+
* Ambiguity is an error carrying candidates — never a guess: this is the
|
|
295
|
+
* mechanism that makes prose misdelivery structurally impossible.
|
|
296
|
+
*/
|
|
297
|
+
resolveProseTarget(spec: string): {
|
|
298
|
+
channelId: string;
|
|
299
|
+
label?: string;
|
|
300
|
+
} | {
|
|
301
|
+
error: string;
|
|
302
|
+
candidates?: string[];
|
|
303
|
+
};
|
|
304
|
+
/**
|
|
305
|
+
* Open a channel because something was DELIVERED into it (explicit send
|
|
306
|
+
* tool or routed speech). Sending into a closed channel is not a thing:
|
|
307
|
+
* engaging a channel opens it, so typing indicators, reaction machinery,
|
|
308
|
+
* and inbound forwarding all come alive with the first outbound message.
|
|
309
|
+
* Accepts composite MCPL ids or raw server-internal ids (explicit send
|
|
310
|
+
* tools receive whatever the agent typed).
|
|
311
|
+
*/
|
|
312
|
+
openIfClosedForSend(rawChannelId: string, serverId?: string): Promise<{
|
|
313
|
+
status: 'opened' | 'already-open' | 'unknown-channel' | 'ambiguous' | 'open-failed';
|
|
314
|
+
channelId?: string;
|
|
315
|
+
label?: string;
|
|
316
|
+
}>;
|
|
240
317
|
private handleToolOpen;
|
|
241
318
|
private handleToolClose;
|
|
242
319
|
private handleToolDecline;
|
|
@@ -267,16 +344,31 @@ export declare class ChannelRegistry {
|
|
|
267
344
|
/** Resolve the outbound locus (fork HOME → this-turn's TRIGGERING channel →
|
|
268
345
|
* process-global default). Public so a multi-segment caller can snapshot it
|
|
269
346
|
* ONCE and pin every segment to it via routeSpeech's `overrideChannelId`. */
|
|
347
|
+
/**
|
|
348
|
+
* MCPL Spec 14.3 outgoing streaming: forward a moderated text delta to the
|
|
349
|
+
* server owning the channel, AS THE MODEL GENERATES. Emitted only when that
|
|
350
|
+
* server declared `channels.streaming` in its initialize capabilities —
|
|
351
|
+
* servers that never opted in (the whole existing fleet) receive nothing.
|
|
352
|
+
* Fire-and-forget and never throws: streaming is an observer surface; the
|
|
353
|
+
* authoritative delivery is the eventual channels/publish.
|
|
354
|
+
*/
|
|
355
|
+
sendOutgoingChunk(channelId: string, conversationId: string, inferenceId: string, index: number, delta: string): void;
|
|
356
|
+
/** Spec 14.3 companion: final moderated content per channel at stream end. */
|
|
357
|
+
sendOutgoingComplete(channelId: string, conversationId: string, inferenceId: string, text: string): void;
|
|
358
|
+
private streamingServerFor;
|
|
270
359
|
resolveLocus(conversationId: string): string | null;
|
|
271
360
|
routeSpeech(conversationId: string, text: string,
|
|
272
|
-
/**
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
* and
|
|
277
|
-
|
|
361
|
+
/** The turn's FROZEN locus, snapshotted once by the caller (resolveLocus
|
|
362
|
+
* at turn start) and passed to every segment of the turn. Mandatory:
|
|
363
|
+
* there is deliberately no live-resolution fallback here — a late
|
|
364
|
+
* dispatch resolving live can read the NEXT turn's trigger state or a
|
|
365
|
+
* stale global default and land the reply in the wrong channel (item-3,
|
|
366
|
+
* PR #32, and the 2026-07-22 Sol DM misroute). Explicit `null` means
|
|
367
|
+
* "this turn is pinned to no locus": fail loudly rather than guess. */
|
|
368
|
+
locusChannelId: string | null): Promise<{
|
|
278
369
|
delivered: boolean;
|
|
279
370
|
channelId: string;
|
|
371
|
+
messageId?: string;
|
|
280
372
|
} | null>;
|
|
281
373
|
private handleToolPublish;
|
|
282
374
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-registry.d.ts","sourceRoot":"","sources":["../../../src/mcpl/channel-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EAEtB,qBAAqB,EACrB,sBAAsB,EAOvB,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;AASlF,KAAK,mBAAmB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAgC7C,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;
|
|
1
|
+
{"version":3,"file":"channel-registry.d.ts","sourceRoot":"","sources":["../../../src/mcpl/channel-registry.ts"],"names":[],"mappings":"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"}
|