@copilotkit/channels-core 0.4.1-canary.parallel1 → 0.5.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 +7 -8
- package/dist/canonical-run-loop.test.d.ts +2 -0
- package/dist/canonical-run-loop.test.d.ts.map +1 -0
- package/dist/canonical-run-loop.test.js +453 -0
- package/dist/codec.d.ts +2 -3
- package/dist/codec.d.ts.map +1 -1
- package/dist/create-channel.d.ts +110 -4
- package/dist/create-channel.d.ts.map +1 -1
- package/dist/create-channel.js +258 -92
- package/dist/create-channel.test.js +552 -29
- package/dist/delivery-error.d.ts +17 -0
- package/dist/delivery-error.d.ts.map +1 -0
- package/dist/delivery-error.js +22 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/managed-v1-await-choice-guard.test.d.ts +2 -0
- package/dist/managed-v1-await-choice-guard.test.d.ts.map +1 -0
- package/dist/managed-v1-await-choice-guard.test.js +52 -0
- package/dist/platform-adapter.d.ts +74 -11
- package/dist/platform-adapter.d.ts.map +1 -1
- package/dist/run-loop.d.ts +25 -6
- package/dist/run-loop.d.ts.map +1 -1
- package/dist/run-loop.js +289 -39
- package/dist/run-loop.test.js +37 -0
- package/dist/sanitize-agent-events.d.ts +24 -0
- package/dist/sanitize-agent-events.d.ts.map +1 -0
- package/dist/sanitize-agent-events.js +88 -0
- package/dist/sanitize-agent-events.test.d.ts +2 -0
- package/dist/sanitize-agent-events.test.d.ts.map +1 -0
- package/dist/sanitize-agent-events.test.js +194 -0
- package/dist/source-platform.test.d.ts +2 -0
- package/dist/source-platform.test.d.ts.map +1 -0
- package/dist/source-platform.test.js +149 -0
- package/dist/testing/fake-adapter.d.ts +8 -1
- package/dist/testing/fake-adapter.d.ts.map +1 -1
- package/dist/testing/fake-adapter.js +30 -1
- package/dist/testing/fake-agent.d.ts +5 -0
- package/dist/testing/fake-agent.d.ts.map +1 -1
- package/dist/testing/fake-agent.js +12 -0
- package/dist/thread-promise-contract.test.d.ts +2 -0
- package/dist/thread-promise-contract.test.d.ts.map +1 -0
- package/dist/thread-promise-contract.test.js +37 -0
- package/dist/thread.d.ts +5 -0
- package/dist/thread.d.ts.map +1 -1
- package/dist/thread.js +338 -243
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
export { createChannel } from "./create-channel.js";
|
|
2
|
-
export
|
|
2
|
+
export { isolateAgentInstance, resolveChannelConcurrency, } from "./create-channel.js";
|
|
3
|
+
export { sanitizeAgentEventStream } from "./sanitize-agent-events.js";
|
|
4
|
+
export { HttpAgent } from "@ag-ui/client";
|
|
5
|
+
export type { Channel, CreateChannelOptions, ManagedChannelProvider, ReplyContinuationOptions, ChannelHandler, ThreadStartHandler, ReactionEvent, ReactionHandler, ModalSubmitEvent, ModalSubmitHandler, ModalCloseEvent, ModalCloseHandler, StoreConfig, LockConflictDecision, ChannelConcurrency, StatefulThread, ChannelComponent, } from "./create-channel.js";
|
|
3
6
|
export { Thread } from "./thread.js";
|
|
4
7
|
export type { ThreadDeps } from "./thread.js";
|
|
5
|
-
export type { PlatformAdapter, AdapterStartContext, RunRenderer, IngressSink, IncomingTurn, InteractionEvent, IncomingCommand, IncomingThreadStart, IncomingReaction, IncomingModalSubmit, IncomingModalClose, ModalSubmitResult, SurfaceCapabilities, ReplyTarget, ConversationStore, AgentSession, CapturedToolCall, CapturedInterrupt, UserQuery, NativePayload, } from "./platform-adapter.js";
|
|
8
|
+
export type { PlatformAdapter, AdapterStartContext, RunRenderer, IngressSink, IncomingTurn, InteractionEvent, IncomingCommand, IncomingThreadStart, IncomingReaction, IncomingModalSubmit, IncomingModalClose, ModalSubmitResult, SurfaceCapabilities, ReplyTarget, ConversationStore, AgentSession, CapturedToolCall, CapturedInterrupt, ChannelAgentLifecycleArgs, ChannelAgentLoopResult, CanonicalRunIdentity, UserQuery, NativePayload, } from "./platform-adapter.js";
|
|
6
9
|
export { defineChannelCommand, normalizeCommandName, toCommandSpec, } from "./commands.js";
|
|
7
10
|
export type { ChannelCommand, CommandContext, CommandSpec, } from "./commands.js";
|
|
8
11
|
export { InMemoryActionStore } from "./action-store.js";
|
|
@@ -19,6 +22,7 @@ export type { ChannelTool, ObjectSchema, ChannelToolContext, ContextEntry, Agent
|
|
|
19
22
|
export { mintId, stableStringify } from "./mint-id.js";
|
|
20
23
|
export { runAgentLoop } from "./run-loop.js";
|
|
21
24
|
export type { RunLoopArgs } from "./run-loop.js";
|
|
25
|
+
export { ChannelDeliveryTerminatedError, isChannelDeliveryTerminatedError, } from "./delivery-error.js";
|
|
22
26
|
export type { PlatformCodec } from "./codec.js";
|
|
23
27
|
export { FakeAdapter, makeFakeRunRenderer } from "./testing/fake-adapter.js";
|
|
24
28
|
export { FakeAgent } from "./testing/fake-agent.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EACV,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,aAAa,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AAGzF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,eAAe,EACf,QAAQ,EACR,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,YAAY,EACV,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,SAAS,EACT,aAAa,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AAGzF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,eAAe,EACf,QAAQ,EACR,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAK7B,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,cAAc,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
// Public API for @copilotkit/channels.
|
|
2
2
|
// Channel orchestration
|
|
3
3
|
export { createChannel } from "./create-channel.js";
|
|
4
|
+
export { isolateAgentInstance, resolveChannelConcurrency, } from "./create-channel.js";
|
|
5
|
+
// Applied to every Channel agent by default; exported for the adapter packages
|
|
6
|
+
// and for anyone driving an agent outside a Channel.
|
|
7
|
+
export { sanitizeAgentEventStream } from "./sanitize-agent-events.js";
|
|
8
|
+
// The usual `agent` for a Channel is an AG-UI agent over HTTP. Re-exported so
|
|
9
|
+
// wiring one up needs no second import (any `AbstractAgent` still works).
|
|
10
|
+
export { HttpAgent } from "@ag-ui/client";
|
|
4
11
|
// Thread
|
|
5
12
|
export { Thread } from "./thread.js";
|
|
6
13
|
// Slash commands
|
|
@@ -25,6 +32,7 @@ export { toAgentToolDescriptors, parseToolArgs, stringifyHandlerResult, defineCh
|
|
|
25
32
|
export { mintId, stableStringify } from "./mint-id.js";
|
|
26
33
|
// Run loop
|
|
27
34
|
export { runAgentLoop } from "./run-loop.js";
|
|
35
|
+
export { ChannelDeliveryTerminatedError, isChannelDeliveryTerminatedError, } from "./delivery-error.js";
|
|
28
36
|
// Test utilities (also surfaces them for downstream adapter packages' tests).
|
|
29
37
|
export { FakeAdapter, makeFakeRunRenderer } from "./testing/fake-adapter.js";
|
|
30
38
|
export { FakeAgent } from "./testing/fake-agent.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-v1-await-choice-guard.test.d.ts","sourceRoot":"","sources":["../src/managed-v1-await-choice-guard.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { expect, test } from "vitest";
|
|
2
|
+
import { Section } from "@copilotkit/channels-ui";
|
|
3
|
+
import { createChannel } from "./create-channel.js";
|
|
4
|
+
import { FakeAdapter } from "./testing/fake-adapter.js";
|
|
5
|
+
class NonBlockingManagedAdapter extends FakeAdapter {
|
|
6
|
+
__intelligenceChannel = true;
|
|
7
|
+
constructor() {
|
|
8
|
+
super({ platform: "intelligence" });
|
|
9
|
+
this.capabilities.supportsBlockingChoice = false;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
async function setupNonBlockingManagedThread() {
|
|
13
|
+
const adapter = new NonBlockingManagedAdapter();
|
|
14
|
+
const channel = createChannel({ adapters: [adapter] });
|
|
15
|
+
let thread;
|
|
16
|
+
channel.onThreadStarted(({ thread: activeThread }) => {
|
|
17
|
+
thread = activeThread;
|
|
18
|
+
});
|
|
19
|
+
await channel.ɵruntime.start();
|
|
20
|
+
await adapter.emitThreadStarted();
|
|
21
|
+
if (!thread) {
|
|
22
|
+
throw new Error("Managed thread was not created");
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
adapter,
|
|
26
|
+
thread,
|
|
27
|
+
teardown: () => channel.ɵruntime.stop(),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
test("managed awaitChoice fails fast before registering or posting a picker", async () => {
|
|
31
|
+
const { adapter, thread, teardown } = await setupNonBlockingManagedThread();
|
|
32
|
+
try {
|
|
33
|
+
const outcome = await Promise.race([
|
|
34
|
+
thread.awaitChoice(Section({ children: "Choose" })).then(() => ({ status: "resolved" }), (error) => ({ status: "rejected", error })),
|
|
35
|
+
new Promise((resolve) => {
|
|
36
|
+
setTimeout(() => resolve({ status: "pending" }), 0);
|
|
37
|
+
}),
|
|
38
|
+
]);
|
|
39
|
+
expect(outcome).toMatchObject({
|
|
40
|
+
status: "rejected",
|
|
41
|
+
error: {
|
|
42
|
+
name: "ChannelAwaitChoiceNotSupportedError",
|
|
43
|
+
code: "channel_await_choice_not_supported",
|
|
44
|
+
message: expect.stringContaining("Thread.resume()"),
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
expect(adapter.posted).toHaveLength(0);
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
await teardown();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { AgentSubscriber, AbstractAgent } from "@ag-ui/client";
|
|
2
|
-
import type { AgentContentPart, ChannelNode, EmojiValue, EphemeralResult, MessageRef, PlatformUser, ThreadMessage } from "@copilotkit/channels-ui";
|
|
2
|
+
import type { AgentContentPart, ChannelNode, EmojiValue, EphemeralResult, MessageRef, MessageOperation, PlatformUser, ThreadMessage } from "@copilotkit/channels-ui";
|
|
3
3
|
import type { CommandSpec } from "./commands.js";
|
|
4
4
|
import type { StateStore } from "./state/state-store.js";
|
|
5
|
+
import type { AgentToolDescriptor, ContextEntry } from "./tools.js";
|
|
5
6
|
/** Opaque to the channel core — created by an adapter during ingress and passed back to post/createRunRenderer. */
|
|
6
7
|
export type ReplyTarget = unknown;
|
|
7
8
|
/** Opaque native payload produced by an adapter's render(). */
|
|
8
9
|
export type NativePayload = unknown;
|
|
9
10
|
export interface SurfaceCapabilities {
|
|
11
|
+
/** This adapter can deliver provider messages through `onTurn`. */
|
|
12
|
+
supportsMessageEvents?: boolean;
|
|
10
13
|
supportsModals: boolean;
|
|
11
14
|
supportsTyping: boolean;
|
|
12
15
|
supportsReactions: boolean;
|
|
@@ -57,6 +60,42 @@ export interface RunRenderer {
|
|
|
57
60
|
*/
|
|
58
61
|
finish?(): Promise<void>;
|
|
59
62
|
}
|
|
63
|
+
/** Result of one public Channel agent invocation, including local tool steps. */
|
|
64
|
+
export interface ChannelAgentLoopResult {
|
|
65
|
+
iterations: number;
|
|
66
|
+
interrupted: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Managed renderer/provider failure deferred until the AgentRunner records
|
|
69
|
+
* its canonical terminal event. The managed lifecycle wrapper rejects the
|
|
70
|
+
* delivery with this error after the runner settles.
|
|
71
|
+
*/
|
|
72
|
+
deliveryError?: unknown;
|
|
73
|
+
}
|
|
74
|
+
/** Canonical thread/run ownership opened by the managed AgentRunner. */
|
|
75
|
+
export interface CanonicalRunIdentity {
|
|
76
|
+
threadId: string;
|
|
77
|
+
runId: string;
|
|
78
|
+
/** Fence the delivery immediately before an irreversible local tool call. */
|
|
79
|
+
beforeToolCall?: () => Promise<void>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Adapter hook for wrapping the whole local Channel tool loop in one canonical
|
|
83
|
+
* runner lifecycle. Managed Intelligence implements this; direct adapters omit
|
|
84
|
+
* it and keep calling the agent in process.
|
|
85
|
+
*/
|
|
86
|
+
export interface ChannelAgentLifecycleArgs {
|
|
87
|
+
replyTarget: ReplyTarget;
|
|
88
|
+
agent: AbstractAgent;
|
|
89
|
+
renderer: RunRenderer;
|
|
90
|
+
tools: readonly AgentToolDescriptor[];
|
|
91
|
+
context: readonly ContextEntry[];
|
|
92
|
+
/**
|
|
93
|
+
* True only for `Thread.resume()`. The resume value remains private to the
|
|
94
|
+
* agent command and never crosses the managed run-open boundary.
|
|
95
|
+
*/
|
|
96
|
+
isResume?: boolean;
|
|
97
|
+
execute(subscriber: AgentSubscriber, canonicalRun?: CanonicalRunIdentity): Promise<ChannelAgentLoopResult>;
|
|
98
|
+
}
|
|
60
99
|
/**
|
|
61
100
|
* Fields shared by every ingress event routed through the {@link IngressSink}:
|
|
62
101
|
* the conversation it belongs to, the opaque target to reply on, and the user
|
|
@@ -66,6 +105,11 @@ export interface IngressEventBase {
|
|
|
66
105
|
conversationKey: string;
|
|
67
106
|
replyTarget: ReplyTarget;
|
|
68
107
|
user?: PlatformUser;
|
|
108
|
+
/**
|
|
109
|
+
* Provider that produced this event when it differs from the transport
|
|
110
|
+
* adapter identity. Multiplexing adapters set it per event.
|
|
111
|
+
*/
|
|
112
|
+
platform?: string;
|
|
69
113
|
}
|
|
70
114
|
/**
|
|
71
115
|
* Idempotency ids carried by turn/command/interaction ingress. Set on the
|
|
@@ -76,11 +120,12 @@ export interface IngressIds {
|
|
|
76
120
|
eventId?: string;
|
|
77
121
|
/** Stable per-turn id (Intelligence Channel path); local adapters omit it. */
|
|
78
122
|
turnId?: string;
|
|
79
|
-
/**
|
|
123
|
+
/** Durable delivery id (Intelligence Channel path); local adapters omit it. */
|
|
80
124
|
deliveryId?: string;
|
|
81
125
|
}
|
|
82
126
|
export interface IncomingTurn extends IngressEventBase, IngressIds {
|
|
83
127
|
userText: string;
|
|
128
|
+
operation: MessageOperation;
|
|
84
129
|
/**
|
|
85
130
|
* Optional multimodal content parts built by the adapter (e.g. inbound
|
|
86
131
|
* image/file attachments). Carried through to `IncomingMessage.contentParts`.
|
|
@@ -141,15 +186,6 @@ export interface IncomingReaction extends IngressEventBase {
|
|
|
141
186
|
messageRef?: MessageRef;
|
|
142
187
|
/** Containing thread/conversation id, when distinct from the message. */
|
|
143
188
|
threadId?: string;
|
|
144
|
-
/**
|
|
145
|
-
* Source provider a managed delivery originated from (e.g. `"teams"`,
|
|
146
|
-
* `"slack"`). Direct adapters omit it — core then normalizes by
|
|
147
|
-
* {@link PlatformAdapter.platform}. The Intelligence adapter (whose own
|
|
148
|
-
* `platform` is `"intelligence"`, not an emoji platform) sets it to the
|
|
149
|
-
* delivery's source provider so central normalization runs on the managed
|
|
150
|
-
* path.
|
|
151
|
-
*/
|
|
152
|
-
readonly platform?: string;
|
|
153
189
|
/** Native payload. */
|
|
154
190
|
raw: unknown;
|
|
155
191
|
}
|
|
@@ -205,6 +241,13 @@ export interface UserQuery {
|
|
|
205
241
|
/** A resolved agent session for a conversation (the adapter may build the agent's history from its own state). */
|
|
206
242
|
export interface AgentSession {
|
|
207
243
|
agent: AbstractAgent;
|
|
244
|
+
/**
|
|
245
|
+
* Optional exclusive-session release hook.
|
|
246
|
+
*
|
|
247
|
+
* Managed adapters use it when an application supplied one mutable agent
|
|
248
|
+
* instance for more than one canonical thread.
|
|
249
|
+
*/
|
|
250
|
+
release?(): void | Promise<void>;
|
|
208
251
|
}
|
|
209
252
|
/** Adapter-owned conversation state; the adapter resolves (or creates) the agent session for a conversation. */
|
|
210
253
|
export interface ConversationStore {
|
|
@@ -238,6 +281,21 @@ export interface PlatformAdapter {
|
|
|
238
281
|
stream(target: ReplyTarget, chunks: AsyncIterable<string>): Promise<MessageRef>;
|
|
239
282
|
delete(ref: MessageRef): Promise<void>;
|
|
240
283
|
createRunRenderer(target: ReplyTarget): RunRenderer;
|
|
284
|
+
/**
|
|
285
|
+
* Optional synchronous preflight for a public `Thread.runAgent()` call.
|
|
286
|
+
*
|
|
287
|
+
* Surface-policy rejections happen before delivery-operation tracking so a
|
|
288
|
+
* handler may catch them and use a supported fallback without failing the
|
|
289
|
+
* containing delivery.
|
|
290
|
+
*/
|
|
291
|
+
assertRunAgentSupported?(target: ReplyTarget): void;
|
|
292
|
+
runAgentLifecycle?(args: ChannelAgentLifecycleArgs): Promise<ChannelAgentLoopResult>;
|
|
293
|
+
/**
|
|
294
|
+
* Optional delivery-lifecycle hook. {@link Thread} invokes this synchronously
|
|
295
|
+
* when a public operation starts so a managed transport can keep the delivery
|
|
296
|
+
* open even when a handler intentionally does not await that operation.
|
|
297
|
+
*/
|
|
298
|
+
trackThreadOperation?<T>(target: ReplyTarget, operation: () => Promise<T>): Promise<T>;
|
|
241
299
|
decodeInteraction(raw: unknown): InteractionEvent | undefined;
|
|
242
300
|
lookupUser(q: UserQuery): Promise<PlatformUser | undefined>;
|
|
243
301
|
readonly conversationStore: ConversationStore;
|
|
@@ -257,6 +315,8 @@ export interface PlatformAdapter {
|
|
|
257
315
|
* a legitimate retry.
|
|
258
316
|
*/
|
|
259
317
|
readonly skipIngressDedup?: boolean;
|
|
318
|
+
/** Inject the implicit inbound turn into only the first run in one handler. */
|
|
319
|
+
readonly injectInboundTurnOnce?: boolean;
|
|
260
320
|
/**
|
|
261
321
|
* Optional conversation-history read. Backs the capability-gated
|
|
262
322
|
* `Thread.getMessages()`; adapters that can't read history simply omit this,
|
|
@@ -275,7 +335,10 @@ export interface PlatformAdapter {
|
|
|
275
335
|
altText?: string;
|
|
276
336
|
}): Promise<{
|
|
277
337
|
ok: boolean;
|
|
338
|
+
/** Provider file or message ID for native adapters. */
|
|
278
339
|
fileId?: string;
|
|
340
|
+
/** Provider-neutral managed asset ID for Intelligence adapters. */
|
|
341
|
+
assetId?: string;
|
|
279
342
|
error?: string;
|
|
280
343
|
}>;
|
|
281
344
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-adapter.d.ts","sourceRoot":"","sources":["../src/platform-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"platform-adapter.d.ts","sourceRoot":"","sources":["../src/platform-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/run-loop.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AbstractAgent } from "@ag-ui/client";
|
|
2
|
-
import type { RunRenderer, CapturedToolCall, CapturedInterrupt } from "./platform-adapter.js";
|
|
1
|
+
import type { AbstractAgent, AgentSubscriber, RunErrorEvent } from "@ag-ui/client";
|
|
2
|
+
import type { RunRenderer, CapturedToolCall, CapturedInterrupt, CanonicalRunIdentity, ChannelAgentLoopResult } from "./platform-adapter.js";
|
|
3
3
|
import type { ChannelTool, ChannelToolContext, AgentToolDescriptor, ContextEntry } from "./tools.js";
|
|
4
4
|
export interface RunLoopArgs {
|
|
5
5
|
agent: AbstractAgent;
|
|
@@ -18,7 +18,28 @@ export interface RunLoopArgs {
|
|
|
18
18
|
initialResume?: {
|
|
19
19
|
resume: unknown;
|
|
20
20
|
};
|
|
21
|
+
/** Subscriber used for each underlying agent step. Defaults to the renderer. */
|
|
22
|
+
subscriber?: AgentSubscriber;
|
|
23
|
+
/**
|
|
24
|
+
* Canonical identity for a managed outer run. When set, inner agent lifecycle
|
|
25
|
+
* events stay private to each tool-loop step and this function emits one
|
|
26
|
+
* lifecycle around the whole loop.
|
|
27
|
+
*/
|
|
28
|
+
canonicalRun?: CanonicalRunIdentity;
|
|
21
29
|
}
|
|
30
|
+
interface SubscriberFanoutOptions {
|
|
31
|
+
canonicalRun?: CanonicalRunIdentity;
|
|
32
|
+
onInnerRunError?: (event: RunErrorEvent) => void;
|
|
33
|
+
onRendererError?: (error: unknown) => void;
|
|
34
|
+
/** Stops provider callbacks after their first terminal delivery error. */
|
|
35
|
+
isRendererClosed?: () => boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Fan one agent event stream out to both the provider renderer and a canonical
|
|
39
|
+
* runner subscriber. The proxy covers every current and future subscriber
|
|
40
|
+
* callback without keeping a second callback-name registry in Channels.
|
|
41
|
+
*/
|
|
42
|
+
export declare function mergeAgentSubscribers(first: AgentSubscriber, second: AgentSubscriber, options?: SubscriberFanoutOptions): AgentSubscriber;
|
|
22
43
|
/**
|
|
23
44
|
* Drive the agent, executing frontend-tool calls and re-invoking until the
|
|
24
45
|
* agent stops calling them (or we hit the iteration cap). On a captured
|
|
@@ -26,10 +47,7 @@ export interface RunLoopArgs {
|
|
|
26
47
|
* and returns immediately ("ack-first") — `thread.resume` re-enters later
|
|
27
48
|
* with `initialResume` set.
|
|
28
49
|
*/
|
|
29
|
-
export declare function runAgentLoop(args: RunLoopArgs): Promise<
|
|
30
|
-
iterations: number;
|
|
31
|
-
interrupted: boolean;
|
|
32
|
-
}>;
|
|
50
|
+
export declare function runAgentLoop(args: RunLoopArgs): Promise<ChannelAgentLoopResult>;
|
|
33
51
|
/**
|
|
34
52
|
* If the agent's latest message isn't already the assistant message that
|
|
35
53
|
* issued these tool calls, append one. AG-UI's agent middleware *should*
|
|
@@ -38,4 +56,5 @@ export declare function runAgentLoop(args: RunLoopArgs): Promise<{
|
|
|
38
56
|
*/
|
|
39
57
|
export declare function ensureAssistantToolCallMessage(agent: AbstractAgent, calls: ReadonlyArray<CapturedToolCall>): void;
|
|
40
58
|
export declare function pushToolResult(agent: AbstractAgent, toolCallId: string, content: string): void;
|
|
59
|
+
export {};
|
|
41
60
|
//# sourceMappingURL=run-loop.d.ts.map
|
package/dist/run-loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-loop.d.ts","sourceRoot":"","sources":["../src/run-loop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-loop.d.ts","sourceRoot":"","sources":["../src/run-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAGf,aAAa,EACd,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACb,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,sDAAsD;IACtD,WAAW,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,CAAC;IAC5D,sFAAsF;IACtF,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,aAAa,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IACpC,gFAAgF;IAChF,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,UAAU,uBAAuB;IAC/B,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;CAClC;AAyHD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,uBAA4B,GACpC,eAAe,CAkCjB;AAkFD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,sBAAsB,CAAC,CA2KjC;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,GACrC,IAAI,CA4BN;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,IAAI,CAQN"}
|