@reminix/runtime 0.6.0 → 0.7.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 +46 -6
- package/dist/agent.d.ts +86 -16
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +123 -29
- package/dist/agent.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +38 -47
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +57 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -66,8 +66,9 @@ The `metadata` is available via the `/_discover` endpoint and displayed in the R
|
|
|
66
66
|
Register an invoke handler:
|
|
67
67
|
|
|
68
68
|
```typescript
|
|
69
|
-
agent.onInvoke(async (input) => {
|
|
69
|
+
agent.onInvoke(async (input, ctx) => {
|
|
70
70
|
// input is Record<string, unknown>
|
|
71
|
+
// ctx has: conversationId, userId, custom
|
|
71
72
|
return { output: 'result' };
|
|
72
73
|
});
|
|
73
74
|
```
|
|
@@ -77,30 +78,42 @@ agent.onInvoke(async (input) => {
|
|
|
77
78
|
Register a chat handler:
|
|
78
79
|
|
|
79
80
|
```typescript
|
|
80
|
-
agent.onChat(async (messages) => {
|
|
81
|
+
agent.onChat(async (messages, ctx) => {
|
|
81
82
|
// messages is ChatMessage[]
|
|
83
|
+
// ctx has: conversationId, userId, custom
|
|
82
84
|
return {
|
|
83
|
-
message: { role: 'assistant', content:
|
|
85
|
+
message: { role: 'assistant', content: `Hello, user ${ctx?.userId}!` },
|
|
84
86
|
};
|
|
85
87
|
});
|
|
86
88
|
```
|
|
87
89
|
|
|
90
|
+
The `ctx` parameter is optional and contains request context:
|
|
91
|
+
|
|
92
|
+
- `conversationId`: Track multi-turn conversations
|
|
93
|
+
- `userId`: Identify the user
|
|
94
|
+
- `custom`: Any additional custom fields
|
|
95
|
+
|
|
88
96
|
### Streaming Responses
|
|
89
97
|
|
|
90
|
-
|
|
98
|
+
Use separate handlers for streaming responses:
|
|
91
99
|
|
|
92
100
|
```typescript
|
|
93
|
-
agent.
|
|
101
|
+
agent.onInvokeStream(async function* (input, ctx) {
|
|
94
102
|
yield { chunk: 'Hello ' };
|
|
95
103
|
yield { chunk: 'World!' };
|
|
96
104
|
});
|
|
97
105
|
|
|
98
|
-
agent.
|
|
106
|
+
agent.onChatStream(async function* (messages, ctx) {
|
|
99
107
|
yield { chunk: 'Streaming ' };
|
|
100
108
|
yield { chunk: 'response...' };
|
|
101
109
|
});
|
|
102
110
|
```
|
|
103
111
|
|
|
112
|
+
The server routes to the appropriate handler based on the client's `stream` flag:
|
|
113
|
+
|
|
114
|
+
- `stream: false` → uses `onInvoke` / `onChat`
|
|
115
|
+
- `stream: true` → uses `onInvokeStream` / `onChatStream`
|
|
116
|
+
|
|
104
117
|
### Serve Function
|
|
105
118
|
|
|
106
119
|
Start a server hosting your agents:
|
|
@@ -212,6 +225,33 @@ data: {"chunk": "World!"}
|
|
|
212
225
|
data: [DONE]
|
|
213
226
|
```
|
|
214
227
|
|
|
228
|
+
## Framework Adapters
|
|
229
|
+
|
|
230
|
+
For wrapping existing AI agents from popular frameworks (OpenAI, Anthropic, LangChain, LangGraph, Vercel AI), use the `@reminix/adapters` package:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
npm install @reminix/adapters
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
See the [@reminix/adapters documentation](https://github.com/reminix-ai/reminix-typescript/tree/main/packages/adapters) for details.
|
|
237
|
+
|
|
238
|
+
### Quick Example
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
import OpenAI from 'openai';
|
|
242
|
+
import { fromOpenAI } from '@reminix/adapters/openai';
|
|
243
|
+
import { serve } from '@reminix/runtime';
|
|
244
|
+
|
|
245
|
+
const client = new OpenAI();
|
|
246
|
+
const agent = fromOpenAI(client, {
|
|
247
|
+
name: 'gpt4-agent',
|
|
248
|
+
model: 'gpt-4o',
|
|
249
|
+
system: 'You are a helpful assistant.',
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
serve(agent);
|
|
253
|
+
```
|
|
254
|
+
|
|
215
255
|
## Error Handling
|
|
216
256
|
|
|
217
257
|
The runtime handles errors appropriately:
|
package/dist/agent.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent class for building AI agents that integrate with Reminix.
|
|
3
3
|
*/
|
|
4
|
-
import type { AgentInfo, ChatHandler, ChatMessage, ChatResponse, InvokeHandler, InvokeInput, InvokeResponse, StreamChunk } from './types';
|
|
4
|
+
import type { AgentInfo, ChatHandler, ChatMessage, ChatResponse, ChatStreamHandler, Context, InvokeHandler, InvokeInput, InvokeResponse, InvokeStreamHandler, StreamChunk } from './types';
|
|
5
5
|
/**
|
|
6
6
|
* Options for creating an Agent.
|
|
7
7
|
*/
|
|
@@ -14,18 +14,29 @@ export interface AgentOptions {
|
|
|
14
14
|
/**
|
|
15
15
|
* Agent class for defining invoke and chat handlers.
|
|
16
16
|
*
|
|
17
|
+
* Use separate handlers for non-streaming and streaming responses:
|
|
18
|
+
* - `onInvoke` / `onChat` for non-streaming
|
|
19
|
+
* - `onInvokeStream` / `onChatStream` for streaming
|
|
20
|
+
*
|
|
17
21
|
* @example
|
|
18
22
|
* ```typescript
|
|
19
23
|
* const agent = new Agent('my-agent');
|
|
20
24
|
*
|
|
21
|
-
* agent.onInvoke(async (input) => {
|
|
25
|
+
* agent.onInvoke(async (input, ctx) => {
|
|
22
26
|
* return { output: `Processed: ${input.message}` };
|
|
23
27
|
* });
|
|
24
28
|
*
|
|
25
|
-
* agent.
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
+
* agent.onInvokeStream(async function* (input, ctx) {
|
|
30
|
+
* yield { chunk: 'Hello ' };
|
|
31
|
+
* yield { chunk: 'World!' };
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* agent.onChat(async (messages, ctx) => {
|
|
35
|
+
* return { message: { role: 'assistant', content: 'Hello!' } };
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* agent.onChatStream(async function* (messages, ctx) {
|
|
39
|
+
* yield { chunk: 'Hello!' };
|
|
29
40
|
* });
|
|
30
41
|
* ```
|
|
31
42
|
*/
|
|
@@ -33,7 +44,9 @@ export declare class Agent {
|
|
|
33
44
|
readonly name: string;
|
|
34
45
|
private readonly _metadata;
|
|
35
46
|
private invokeHandler;
|
|
47
|
+
private invokeStreamHandler;
|
|
36
48
|
private chatHandler;
|
|
49
|
+
private chatStreamHandler;
|
|
37
50
|
/**
|
|
38
51
|
* Create a new Agent.
|
|
39
52
|
*
|
|
@@ -51,15 +64,23 @@ export declare class Agent {
|
|
|
51
64
|
*/
|
|
52
65
|
toInfo(): AgentInfo;
|
|
53
66
|
/**
|
|
54
|
-
* Whether
|
|
67
|
+
* Whether a non-streaming invoke handler is registered.
|
|
55
68
|
*/
|
|
56
69
|
get hasInvoke(): boolean;
|
|
57
70
|
/**
|
|
58
|
-
* Whether a
|
|
71
|
+
* Whether a streaming invoke handler is registered.
|
|
72
|
+
*/
|
|
73
|
+
get hasInvokeStream(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Whether a non-streaming chat handler is registered.
|
|
59
76
|
*/
|
|
60
77
|
get hasChat(): boolean;
|
|
61
78
|
/**
|
|
62
|
-
*
|
|
79
|
+
* Whether a streaming chat handler is registered.
|
|
80
|
+
*/
|
|
81
|
+
get hasChatStream(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Register a non-streaming invoke handler.
|
|
63
84
|
*
|
|
64
85
|
* @param handler - Function that processes invoke requests
|
|
65
86
|
* @returns The agent instance for chaining
|
|
@@ -73,7 +94,22 @@ export declare class Agent {
|
|
|
73
94
|
*/
|
|
74
95
|
onInvoke(handler: InvokeHandler): this;
|
|
75
96
|
/**
|
|
76
|
-
* Register a
|
|
97
|
+
* Register a streaming invoke handler.
|
|
98
|
+
*
|
|
99
|
+
* @param handler - Async generator function that yields chunks
|
|
100
|
+
* @returns The agent instance for chaining
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* agent.onInvokeStream(async function* (input) {
|
|
105
|
+
* yield { chunk: 'Hello ' };
|
|
106
|
+
* yield { chunk: 'World!' };
|
|
107
|
+
* });
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
onInvokeStream(handler: InvokeStreamHandler): this;
|
|
111
|
+
/**
|
|
112
|
+
* Register a non-streaming chat handler.
|
|
77
113
|
*
|
|
78
114
|
* @param handler - Function that processes chat requests
|
|
79
115
|
* @returns The agent instance for chaining
|
|
@@ -89,23 +125,57 @@ export declare class Agent {
|
|
|
89
125
|
*/
|
|
90
126
|
onChat(handler: ChatHandler): this;
|
|
91
127
|
/**
|
|
92
|
-
*
|
|
128
|
+
* Register a streaming chat handler.
|
|
129
|
+
*
|
|
130
|
+
* @param handler - Async generator function that yields chunks
|
|
131
|
+
* @returns The agent instance for chaining
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* agent.onChatStream(async function* (messages) {
|
|
136
|
+
* yield { chunk: 'Hello!' };
|
|
137
|
+
* });
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
onChatStream(handler: ChatStreamHandler): this;
|
|
141
|
+
/**
|
|
142
|
+
* Handle a non-streaming invoke request.
|
|
93
143
|
*
|
|
94
144
|
* @param input - The input data from the request
|
|
95
|
-
* @
|
|
145
|
+
* @param ctx - Optional request context
|
|
146
|
+
* @returns The response
|
|
96
147
|
* @throws {Error} If no invoke handler is registered
|
|
97
148
|
* @throws {Error} If the response is invalid
|
|
98
149
|
*/
|
|
99
|
-
handleInvoke(input: InvokeInput): Promise<InvokeResponse
|
|
150
|
+
handleInvoke(input: InvokeInput, ctx?: Context): Promise<InvokeResponse>;
|
|
100
151
|
/**
|
|
101
|
-
* Handle a
|
|
152
|
+
* Handle a streaming invoke request.
|
|
153
|
+
*
|
|
154
|
+
* @param input - The input data from the request
|
|
155
|
+
* @param ctx - Optional request context
|
|
156
|
+
* @returns An async generator yielding chunks
|
|
157
|
+
* @throws {Error} If no streaming invoke handler is registered
|
|
158
|
+
*/
|
|
159
|
+
handleInvokeStream(input: InvokeInput, ctx?: Context): Promise<AsyncGenerator<StreamChunk, void, unknown>>;
|
|
160
|
+
/**
|
|
161
|
+
* Handle a non-streaming chat request.
|
|
102
162
|
*
|
|
103
163
|
* @param messages - The conversation messages
|
|
104
|
-
* @
|
|
164
|
+
* @param ctx - Optional request context
|
|
165
|
+
* @returns The response
|
|
105
166
|
* @throws {Error} If no chat handler is registered
|
|
106
167
|
* @throws {Error} If the response is invalid
|
|
107
168
|
*/
|
|
108
|
-
handleChat(messages: ChatMessage[]): Promise<ChatResponse
|
|
169
|
+
handleChat(messages: ChatMessage[], ctx?: Context): Promise<ChatResponse>;
|
|
170
|
+
/**
|
|
171
|
+
* Handle a streaming chat request.
|
|
172
|
+
*
|
|
173
|
+
* @param messages - The conversation messages
|
|
174
|
+
* @param ctx - Optional request context
|
|
175
|
+
* @returns An async generator yielding chunks
|
|
176
|
+
* @throws {Error} If no streaming chat handler is registered
|
|
177
|
+
*/
|
|
178
|
+
handleChatStream(messages: ChatMessage[], ctx?: Context): Promise<AsyncGenerator<StreamChunk, void, unknown>>;
|
|
109
179
|
/**
|
|
110
180
|
* String representation for debugging.
|
|
111
181
|
*/
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,aAAa,EACb,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,KAAK;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,iBAAiB,CAAkC;IAE3D;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;IAgBhD;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtC;IAED;;OAEG;IACH,MAAM,IAAI,SAAS;IASnB;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKtC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKlD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKlC;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAK9C;;;;;;;;OAQG;IACG,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAe9E;;;;;;;OAOG;IACG,kBAAkB,CACtB,KAAK,EAAE,WAAW,EAClB,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IActD;;;;;;;;OAQG;IACG,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAoB/E;;;;;;;OAOG;IACG,gBAAgB,CACpB,QAAQ,EAAE,WAAW,EAAE,EACvB,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IActD;;OAEG;IACH,QAAQ,IAAI,MAAM;CAQnB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/agent.js
CHANGED
|
@@ -17,18 +17,29 @@ function isAsyncGenerator(value) {
|
|
|
17
17
|
/**
|
|
18
18
|
* Agent class for defining invoke and chat handlers.
|
|
19
19
|
*
|
|
20
|
+
* Use separate handlers for non-streaming and streaming responses:
|
|
21
|
+
* - `onInvoke` / `onChat` for non-streaming
|
|
22
|
+
* - `onInvokeStream` / `onChatStream` for streaming
|
|
23
|
+
*
|
|
20
24
|
* @example
|
|
21
25
|
* ```typescript
|
|
22
26
|
* const agent = new Agent('my-agent');
|
|
23
27
|
*
|
|
24
|
-
* agent.onInvoke(async (input) => {
|
|
28
|
+
* agent.onInvoke(async (input, ctx) => {
|
|
25
29
|
* return { output: `Processed: ${input.message}` };
|
|
26
30
|
* });
|
|
27
31
|
*
|
|
28
|
-
* agent.
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
+
* agent.onInvokeStream(async function* (input, ctx) {
|
|
33
|
+
* yield { chunk: 'Hello ' };
|
|
34
|
+
* yield { chunk: 'World!' };
|
|
35
|
+
* });
|
|
36
|
+
*
|
|
37
|
+
* agent.onChat(async (messages, ctx) => {
|
|
38
|
+
* return { message: { role: 'assistant', content: 'Hello!' } };
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* agent.onChatStream(async function* (messages, ctx) {
|
|
42
|
+
* yield { chunk: 'Hello!' };
|
|
32
43
|
* });
|
|
33
44
|
* ```
|
|
34
45
|
*/
|
|
@@ -42,7 +53,9 @@ export class Agent {
|
|
|
42
53
|
*/
|
|
43
54
|
constructor(name, options) {
|
|
44
55
|
this.invokeHandler = null;
|
|
56
|
+
this.invokeStreamHandler = null;
|
|
45
57
|
this.chatHandler = null;
|
|
58
|
+
this.chatStreamHandler = null;
|
|
46
59
|
if (!name || name.trim() === '') {
|
|
47
60
|
throw new Error('Agent name cannot be empty');
|
|
48
61
|
}
|
|
@@ -65,25 +78,37 @@ export class Agent {
|
|
|
65
78
|
toInfo() {
|
|
66
79
|
return {
|
|
67
80
|
name: this.name,
|
|
68
|
-
invoke: this.hasInvoke,
|
|
69
|
-
chat: this.hasChat,
|
|
81
|
+
invoke: this.hasInvoke || this.hasInvokeStream,
|
|
82
|
+
chat: this.hasChat || this.hasChatStream,
|
|
70
83
|
metadata: this._metadata,
|
|
71
84
|
};
|
|
72
85
|
}
|
|
73
86
|
/**
|
|
74
|
-
* Whether
|
|
87
|
+
* Whether a non-streaming invoke handler is registered.
|
|
75
88
|
*/
|
|
76
89
|
get hasInvoke() {
|
|
77
90
|
return this.invokeHandler !== null;
|
|
78
91
|
}
|
|
79
92
|
/**
|
|
80
|
-
* Whether a
|
|
93
|
+
* Whether a streaming invoke handler is registered.
|
|
94
|
+
*/
|
|
95
|
+
get hasInvokeStream() {
|
|
96
|
+
return this.invokeStreamHandler !== null;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Whether a non-streaming chat handler is registered.
|
|
81
100
|
*/
|
|
82
101
|
get hasChat() {
|
|
83
102
|
return this.chatHandler !== null;
|
|
84
103
|
}
|
|
85
104
|
/**
|
|
86
|
-
*
|
|
105
|
+
* Whether a streaming chat handler is registered.
|
|
106
|
+
*/
|
|
107
|
+
get hasChatStream() {
|
|
108
|
+
return this.chatStreamHandler !== null;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Register a non-streaming invoke handler.
|
|
87
112
|
*
|
|
88
113
|
* @param handler - Function that processes invoke requests
|
|
89
114
|
* @returns The agent instance for chaining
|
|
@@ -100,7 +125,25 @@ export class Agent {
|
|
|
100
125
|
return this;
|
|
101
126
|
}
|
|
102
127
|
/**
|
|
103
|
-
* Register a
|
|
128
|
+
* Register a streaming invoke handler.
|
|
129
|
+
*
|
|
130
|
+
* @param handler - Async generator function that yields chunks
|
|
131
|
+
* @returns The agent instance for chaining
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* agent.onInvokeStream(async function* (input) {
|
|
136
|
+
* yield { chunk: 'Hello ' };
|
|
137
|
+
* yield { chunk: 'World!' };
|
|
138
|
+
* });
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
onInvokeStream(handler) {
|
|
142
|
+
this.invokeStreamHandler = handler;
|
|
143
|
+
return this;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Register a non-streaming chat handler.
|
|
104
147
|
*
|
|
105
148
|
* @param handler - Function that processes chat requests
|
|
106
149
|
* @returns The agent instance for chaining
|
|
@@ -119,46 +162,75 @@ export class Agent {
|
|
|
119
162
|
return this;
|
|
120
163
|
}
|
|
121
164
|
/**
|
|
122
|
-
*
|
|
165
|
+
* Register a streaming chat handler.
|
|
166
|
+
*
|
|
167
|
+
* @param handler - Async generator function that yields chunks
|
|
168
|
+
* @returns The agent instance for chaining
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* agent.onChatStream(async function* (messages) {
|
|
173
|
+
* yield { chunk: 'Hello!' };
|
|
174
|
+
* });
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
onChatStream(handler) {
|
|
178
|
+
this.chatStreamHandler = handler;
|
|
179
|
+
return this;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Handle a non-streaming invoke request.
|
|
123
183
|
*
|
|
124
184
|
* @param input - The input data from the request
|
|
125
|
-
* @
|
|
185
|
+
* @param ctx - Optional request context
|
|
186
|
+
* @returns The response
|
|
126
187
|
* @throws {Error} If no invoke handler is registered
|
|
127
188
|
* @throws {Error} If the response is invalid
|
|
128
189
|
*/
|
|
129
|
-
async handleInvoke(input) {
|
|
190
|
+
async handleInvoke(input, ctx) {
|
|
130
191
|
if (!this.invokeHandler) {
|
|
131
192
|
throw new NotImplementedError('Invoke handler not implemented');
|
|
132
193
|
}
|
|
133
|
-
const result = await this.invokeHandler(input);
|
|
134
|
-
//
|
|
135
|
-
if (isAsyncGenerator(result)) {
|
|
136
|
-
return result;
|
|
137
|
-
}
|
|
138
|
-
// Validate non-streaming response
|
|
194
|
+
const result = await this.invokeHandler(input, ctx ?? {});
|
|
195
|
+
// Validate response
|
|
139
196
|
if (!('output' in result)) {
|
|
140
197
|
throw new AgentError('Invoke handler must return an object with "output" field');
|
|
141
198
|
}
|
|
142
199
|
return result;
|
|
143
200
|
}
|
|
144
201
|
/**
|
|
145
|
-
* Handle a
|
|
202
|
+
* Handle a streaming invoke request.
|
|
203
|
+
*
|
|
204
|
+
* @param input - The input data from the request
|
|
205
|
+
* @param ctx - Optional request context
|
|
206
|
+
* @returns An async generator yielding chunks
|
|
207
|
+
* @throws {Error} If no streaming invoke handler is registered
|
|
208
|
+
*/
|
|
209
|
+
async handleInvokeStream(input, ctx) {
|
|
210
|
+
if (!this.invokeStreamHandler) {
|
|
211
|
+
throw new NotImplementedError('Invoke stream handler not implemented');
|
|
212
|
+
}
|
|
213
|
+
const result = await this.invokeStreamHandler(input, ctx ?? {});
|
|
214
|
+
if (!isAsyncGenerator(result)) {
|
|
215
|
+
throw new AgentError('onInvokeStream handler must be an async generator');
|
|
216
|
+
}
|
|
217
|
+
return result;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Handle a non-streaming chat request.
|
|
146
221
|
*
|
|
147
222
|
* @param messages - The conversation messages
|
|
148
|
-
* @
|
|
223
|
+
* @param ctx - Optional request context
|
|
224
|
+
* @returns The response
|
|
149
225
|
* @throws {Error} If no chat handler is registered
|
|
150
226
|
* @throws {Error} If the response is invalid
|
|
151
227
|
*/
|
|
152
|
-
async handleChat(messages) {
|
|
228
|
+
async handleChat(messages, ctx) {
|
|
153
229
|
if (!this.chatHandler) {
|
|
154
230
|
throw new NotImplementedError('Chat handler not implemented');
|
|
155
231
|
}
|
|
156
|
-
const result = await this.chatHandler(messages);
|
|
157
|
-
//
|
|
158
|
-
if (isAsyncGenerator(result)) {
|
|
159
|
-
return result;
|
|
160
|
-
}
|
|
161
|
-
// Validate non-streaming response
|
|
232
|
+
const result = await this.chatHandler(messages, ctx ?? {});
|
|
233
|
+
// Validate response
|
|
162
234
|
if (!('message' in result)) {
|
|
163
235
|
throw new AgentError('Chat handler must return an object with "message" field');
|
|
164
236
|
}
|
|
@@ -168,6 +240,24 @@ export class Agent {
|
|
|
168
240
|
}
|
|
169
241
|
return result;
|
|
170
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Handle a streaming chat request.
|
|
245
|
+
*
|
|
246
|
+
* @param messages - The conversation messages
|
|
247
|
+
* @param ctx - Optional request context
|
|
248
|
+
* @returns An async generator yielding chunks
|
|
249
|
+
* @throws {Error} If no streaming chat handler is registered
|
|
250
|
+
*/
|
|
251
|
+
async handleChatStream(messages, ctx) {
|
|
252
|
+
if (!this.chatStreamHandler) {
|
|
253
|
+
throw new NotImplementedError('Chat stream handler not implemented');
|
|
254
|
+
}
|
|
255
|
+
const result = await this.chatStreamHandler(messages, ctx ?? {});
|
|
256
|
+
if (!isAsyncGenerator(result)) {
|
|
257
|
+
throw new AgentError('onChatStream handler must be an async generator');
|
|
258
|
+
}
|
|
259
|
+
return result;
|
|
260
|
+
}
|
|
171
261
|
/**
|
|
172
262
|
* String representation for debugging.
|
|
173
263
|
*/
|
|
@@ -175,8 +265,12 @@ export class Agent {
|
|
|
175
265
|
const capabilities = [];
|
|
176
266
|
if (this.hasInvoke)
|
|
177
267
|
capabilities.push('invoke');
|
|
268
|
+
if (this.hasInvokeStream)
|
|
269
|
+
capabilities.push('invokeStream');
|
|
178
270
|
if (this.hasChat)
|
|
179
271
|
capabilities.push('chat');
|
|
272
|
+
if (this.hasChatStream)
|
|
273
|
+
capabilities.push('chatStream');
|
|
180
274
|
return `Agent(${this.name}, ${capabilities.length > 0 ? capabilities.join(', ') : 'no handlers'})`;
|
|
181
275
|
}
|
|
182
276
|
}
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* serve(agent, { port: 8080 });
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
|
-
export type { ToolCallFunction, ToolCall, MessageRole, ChatMessage, AssistantMessage, InvokeRequest, ChatRequest, InvokeResponse, ChatResponse, StreamChunk, InvokeInput, InvokeResult, ChatResult, InvokeHandler, ChatHandler, AgentHealth, HealthResponse, AgentMetadata, AgentInfo, RuntimeInfo, DiscoverResponse, } from './types';
|
|
26
|
+
export type { ToolCallFunction, ToolCall, MessageRole, ChatMessage, AssistantMessage, InvokeRequest, ChatRequest, InvokeResponse, ChatResponse, StreamChunk, Context, InvokeInput, InvokeResult, ChatResult, InvokeHandler, ChatHandler, AgentHealth, HealthResponse, AgentMetadata, AgentInfo, RuntimeInfo, DiscoverResponse, } from './types';
|
|
27
27
|
export { ToolCallFunctionSchema, ToolCallSchema, MessageRoleSchema, ChatMessageSchema, AssistantMessageSchema, InvokeRequestSchema, ChatRequestSchema, InvokeResponseSchema, ChatResponseSchema, StreamChunkSchema, } from './types';
|
|
28
28
|
export { Agent, NotImplementedError, AgentError, type AgentOptions } from './agent';
|
|
29
29
|
export { serve, createApp, type ServeOptions } from './server';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,YAAY,EAEV,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,gBAAgB,EAEhB,aAAa,EACb,WAAW,EAEX,cAAc,EACd,YAAY,EACZ,WAAW,EAEX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EAEX,WAAW,EACX,cAAc,EAEd,aAAa,EACb,SAAS,EACT,WAAW,EACX,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAG/D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,YAAY,EAEV,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,gBAAgB,EAEhB,aAAa,EACb,WAAW,EAEX,cAAc,EACd,YAAY,EACZ,WAAW,EAEX,OAAO,EAEP,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EAEX,WAAW,EACX,cAAc,EAEd,aAAa,EACb,SAAS,EACT,WAAW,EACX,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAG/D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAmCH,wCAAwC;AACxC,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,0CAA0C;AAC1C,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAC;AAEpF,gBAAgB;AAChB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAqB,MAAM,UAAU,CAAC;AAE/D,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,EAAE,KAAK,EAAmC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,EAAE,KAAK,EAAmC,MAAM,SAAS,CAAC;AAWjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAiL/C;AAmBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,IAAI,CA8B/E"}
|
package/dist/server.js
CHANGED
|
@@ -53,8 +53,8 @@ export function createApp(agents) {
|
|
|
53
53
|
}
|
|
54
54
|
const response = {
|
|
55
55
|
name: agent.name,
|
|
56
|
-
invoke: agent.hasInvoke,
|
|
57
|
-
chat: agent.hasChat,
|
|
56
|
+
invoke: agent.hasInvoke || agent.hasInvokeStream,
|
|
57
|
+
chat: agent.hasChat || agent.hasChatStream,
|
|
58
58
|
};
|
|
59
59
|
return c.json(response);
|
|
60
60
|
});
|
|
@@ -81,28 +81,29 @@ export function createApp(agents) {
|
|
|
81
81
|
return c.json({ error: `Invalid request: ${errors}` }, 400);
|
|
82
82
|
}
|
|
83
83
|
const { input, stream } = parseResult.data;
|
|
84
|
+
// Extract context from raw body (not in schema to keep it flexible)
|
|
85
|
+
const context = body.context;
|
|
84
86
|
try {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
// Return SSE stream
|
|
90
|
-
return streamSSE(c, async (sseStream) => {
|
|
91
|
-
for await (const event of streamToSse(result)) {
|
|
92
|
-
await sseStream.writeSSE({ data: event.replace(/^data: /, '').replace(/\n\n$/, '') });
|
|
93
|
-
}
|
|
94
|
-
});
|
|
87
|
+
if (stream) {
|
|
88
|
+
// Client wants streaming
|
|
89
|
+
if (!agent.hasInvokeStream) {
|
|
90
|
+
return c.json({ error: `Agent '${name}' does not implement invokeStream` }, 501);
|
|
95
91
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
chunks.push(chunk.chunk);
|
|
92
|
+
const result = await agent.handleInvokeStream(input, context);
|
|
93
|
+
return streamSSE(c, async (sseStream) => {
|
|
94
|
+
for await (const event of streamToSse(result)) {
|
|
95
|
+
await sseStream.writeSSE({ data: event.replace(/^data: /, '').replace(/\n\n$/, '') });
|
|
101
96
|
}
|
|
102
|
-
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Client wants non-streaming
|
|
101
|
+
if (!agent.hasInvoke) {
|
|
102
|
+
return c.json({ error: `Agent '${name}' does not implement invoke` }, 501);
|
|
103
103
|
}
|
|
104
|
+
const result = await agent.handleInvoke(input, context);
|
|
105
|
+
return c.json(result);
|
|
104
106
|
}
|
|
105
|
-
return c.json(result);
|
|
106
107
|
}
|
|
107
108
|
catch (err) {
|
|
108
109
|
return handleError(c, err);
|
|
@@ -131,6 +132,8 @@ export function createApp(agents) {
|
|
|
131
132
|
return c.json({ error: `Invalid request: ${errors}` }, 400);
|
|
132
133
|
}
|
|
133
134
|
const { messages, stream } = parseResult.data;
|
|
135
|
+
// Extract context from raw body (not in schema to keep it flexible)
|
|
136
|
+
const context = body.context;
|
|
134
137
|
// Validate messages array is not empty
|
|
135
138
|
if (messages.length === 0) {
|
|
136
139
|
return c.json({ error: 'Messages array cannot be empty' }, 400);
|
|
@@ -143,29 +146,26 @@ export function createApp(agents) {
|
|
|
143
146
|
}
|
|
144
147
|
}
|
|
145
148
|
try {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
// Return SSE stream
|
|
151
|
-
return streamSSE(c, async (sseStream) => {
|
|
152
|
-
for await (const event of streamToSse(result)) {
|
|
153
|
-
await sseStream.writeSSE({ data: event.replace(/^data: /, '').replace(/\n\n$/, '') });
|
|
154
|
-
}
|
|
155
|
-
});
|
|
149
|
+
if (stream) {
|
|
150
|
+
// Client wants streaming
|
|
151
|
+
if (!agent.hasChatStream) {
|
|
152
|
+
return c.json({ error: `Agent '${name}' does not implement chatStream` }, 501);
|
|
156
153
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
chunks.push(chunk.chunk);
|
|
154
|
+
const result = await agent.handleChatStream(messages, context);
|
|
155
|
+
return streamSSE(c, async (sseStream) => {
|
|
156
|
+
for await (const event of streamToSse(result)) {
|
|
157
|
+
await sseStream.writeSSE({ data: event.replace(/^data: /, '').replace(/\n\n$/, '') });
|
|
162
158
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// Client wants non-streaming
|
|
163
|
+
if (!agent.hasChat) {
|
|
164
|
+
return c.json({ error: `Agent '${name}' does not implement chat` }, 501);
|
|
166
165
|
}
|
|
166
|
+
const result = await agent.handleChat(messages, context);
|
|
167
|
+
return c.json(result);
|
|
167
168
|
}
|
|
168
|
-
return c.json(result);
|
|
169
169
|
}
|
|
170
170
|
catch (err) {
|
|
171
171
|
return handleError(c, err);
|
|
@@ -173,15 +173,6 @@ export function createApp(agents) {
|
|
|
173
173
|
});
|
|
174
174
|
return app;
|
|
175
175
|
}
|
|
176
|
-
/**
|
|
177
|
-
* Check if a value is an async generator.
|
|
178
|
-
*/
|
|
179
|
-
function isAsyncGenerator(value) {
|
|
180
|
-
return (value !== null &&
|
|
181
|
-
typeof value === 'object' &&
|
|
182
|
-
Symbol.asyncIterator in value &&
|
|
183
|
-
typeof value.next === 'function');
|
|
184
|
-
}
|
|
185
176
|
/**
|
|
186
177
|
* Handle errors from agent handlers.
|
|
187
178
|
*/
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAS,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAS,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GAIpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAe;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,wBAAwB;IACxB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAmB;YAC/B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACpC,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAqB;YACjC,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,MAAM;aAClB;YACD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC9C,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAgB;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe;YAChD,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa;SAC3C,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM;iBACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;QAC3C,oEAAoE;QACpE,MAAM,OAAO,GAAI,IAAgC,CAAC,OAErC,CAAC;QAEd,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,yBAAyB;gBACzB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,IAAI,mCAAmC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC9D,OAAO,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;oBACtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9C,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACrB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,IAAI,6BAA6B,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACxD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM;iBACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;QAC9C,oEAAoE;QACpE,MAAM,OAAO,GAAI,IAAgC,CAAC,OAErC,CAAC;QAEd,uCAAuC;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,yBAAyB;gBACzB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBACzB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,IAAI,iCAAiC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACjF,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC/D,OAAO,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;oBACtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9C,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,IAAI,2BAA2B,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3E,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACzD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,CAAwD,EACxD,GAAY;IAEZ,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;QACvC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAC7E,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,KAAK,CAAC,MAAuB,EAAE,UAAwB,EAAE;IACvE,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAElD,qBAAqB;IACrB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,4BAA4B;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAEnD,SAAS,CAAC;QACR,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,IAAI;QACd,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,14 +6,17 @@
|
|
|
6
6
|
import { z } from 'zod/v4';
|
|
7
7
|
/**
|
|
8
8
|
* Tool call function details.
|
|
9
|
+
* @internal
|
|
9
10
|
*/
|
|
10
11
|
export declare const ToolCallFunctionSchema: z.ZodObject<{
|
|
11
12
|
name: z.ZodString;
|
|
12
13
|
arguments: z.ZodString;
|
|
13
14
|
}, z.core.$strip>;
|
|
15
|
+
/** @internal */
|
|
14
16
|
export type ToolCallFunction = z.infer<typeof ToolCallFunctionSchema>;
|
|
15
17
|
/**
|
|
16
18
|
* A tool call made by the assistant.
|
|
19
|
+
* @internal
|
|
17
20
|
*/
|
|
18
21
|
export declare const ToolCallSchema: z.ZodObject<{
|
|
19
22
|
id: z.ZodString;
|
|
@@ -23,9 +26,11 @@ export declare const ToolCallSchema: z.ZodObject<{
|
|
|
23
26
|
arguments: z.ZodString;
|
|
24
27
|
}, z.core.$strip>;
|
|
25
28
|
}, z.core.$strip>;
|
|
29
|
+
/** @internal */
|
|
26
30
|
export type ToolCall = z.infer<typeof ToolCallSchema>;
|
|
27
31
|
/**
|
|
28
32
|
* Valid message roles.
|
|
33
|
+
* @internal
|
|
29
34
|
*/
|
|
30
35
|
export declare const MessageRoleSchema: z.ZodEnum<{
|
|
31
36
|
system: "system";
|
|
@@ -33,9 +38,11 @@ export declare const MessageRoleSchema: z.ZodEnum<{
|
|
|
33
38
|
assistant: "assistant";
|
|
34
39
|
tool: "tool";
|
|
35
40
|
}>;
|
|
41
|
+
/** @internal */
|
|
36
42
|
export type MessageRole = z.infer<typeof MessageRoleSchema>;
|
|
37
43
|
/**
|
|
38
44
|
* A chat message in a conversation.
|
|
45
|
+
* @internal
|
|
39
46
|
*/
|
|
40
47
|
export declare const ChatMessageSchema: z.ZodObject<{
|
|
41
48
|
role: z.ZodEnum<{
|
|
@@ -56,9 +63,13 @@ export declare const ChatMessageSchema: z.ZodObject<{
|
|
|
56
63
|
}, z.core.$strip>>>;
|
|
57
64
|
tool_call_id: z.ZodOptional<z.ZodString>;
|
|
58
65
|
}, z.core.$strip>;
|
|
66
|
+
/**
|
|
67
|
+
* A chat message in a conversation.
|
|
68
|
+
*/
|
|
59
69
|
export type ChatMessage = z.infer<typeof ChatMessageSchema>;
|
|
60
70
|
/**
|
|
61
71
|
* An assistant message returned by chat handlers.
|
|
72
|
+
* @internal
|
|
62
73
|
*/
|
|
63
74
|
export declare const AssistantMessageSchema: z.ZodObject<{
|
|
64
75
|
role: z.ZodLiteral<"assistant">;
|
|
@@ -72,17 +83,23 @@ export declare const AssistantMessageSchema: z.ZodObject<{
|
|
|
72
83
|
}, z.core.$strip>;
|
|
73
84
|
}, z.core.$strip>>>;
|
|
74
85
|
}, z.core.$strip>;
|
|
86
|
+
/**
|
|
87
|
+
* An assistant message returned by chat handlers.
|
|
88
|
+
*/
|
|
75
89
|
export type AssistantMessage = z.infer<typeof AssistantMessageSchema>;
|
|
76
90
|
/**
|
|
77
91
|
* Request body for invoke endpoint.
|
|
92
|
+
* @internal
|
|
78
93
|
*/
|
|
79
94
|
export declare const InvokeRequestSchema: z.ZodObject<{
|
|
80
95
|
input: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
81
96
|
stream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
82
97
|
}, z.core.$strip>;
|
|
98
|
+
/** @internal */
|
|
83
99
|
export type InvokeRequest = z.infer<typeof InvokeRequestSchema>;
|
|
84
100
|
/**
|
|
85
101
|
* Request body for chat endpoint.
|
|
102
|
+
* @internal
|
|
86
103
|
*/
|
|
87
104
|
export declare const ChatRequestSchema: z.ZodObject<{
|
|
88
105
|
messages: z.ZodArray<z.ZodObject<{
|
|
@@ -106,16 +123,20 @@ export declare const ChatRequestSchema: z.ZodObject<{
|
|
|
106
123
|
}, z.core.$strip>>;
|
|
107
124
|
stream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
108
125
|
}, z.core.$strip>;
|
|
126
|
+
/** @internal */
|
|
109
127
|
export type ChatRequest = z.infer<typeof ChatRequestSchema>;
|
|
110
128
|
/**
|
|
111
129
|
* Response from invoke handler (non-streaming).
|
|
130
|
+
* @internal
|
|
112
131
|
*/
|
|
113
132
|
export declare const InvokeResponseSchema: z.ZodObject<{
|
|
114
133
|
output: z.ZodAny;
|
|
115
134
|
}, z.core.$strip>;
|
|
135
|
+
/** @internal */
|
|
116
136
|
export type InvokeResponse = z.infer<typeof InvokeResponseSchema>;
|
|
117
137
|
/**
|
|
118
138
|
* Response from chat handler (non-streaming).
|
|
139
|
+
* @internal
|
|
119
140
|
*/
|
|
120
141
|
export declare const ChatResponseSchema: z.ZodObject<{
|
|
121
142
|
message: z.ZodObject<{
|
|
@@ -131,36 +152,63 @@ export declare const ChatResponseSchema: z.ZodObject<{
|
|
|
131
152
|
}, z.core.$strip>>>;
|
|
132
153
|
}, z.core.$strip>;
|
|
133
154
|
}, z.core.$strip>;
|
|
155
|
+
/** @internal */
|
|
134
156
|
export type ChatResponse = z.infer<typeof ChatResponseSchema>;
|
|
135
157
|
/**
|
|
136
158
|
* A streaming chunk.
|
|
159
|
+
* @internal
|
|
137
160
|
*/
|
|
138
161
|
export declare const StreamChunkSchema: z.ZodObject<{
|
|
139
162
|
chunk: z.ZodString;
|
|
140
163
|
}, z.core.$strip>;
|
|
164
|
+
/** @internal */
|
|
141
165
|
export type StreamChunk = z.infer<typeof StreamChunkSchema>;
|
|
166
|
+
/**
|
|
167
|
+
* Request context passed to handlers.
|
|
168
|
+
*/
|
|
169
|
+
export interface Context {
|
|
170
|
+
conversationId?: string;
|
|
171
|
+
userId?: string;
|
|
172
|
+
custom?: Record<string, unknown>;
|
|
173
|
+
}
|
|
142
174
|
/**
|
|
143
175
|
* Input data passed to invoke handlers.
|
|
176
|
+
* @internal
|
|
144
177
|
*/
|
|
145
178
|
export type InvokeInput = Record<string, unknown>;
|
|
146
179
|
/**
|
|
147
180
|
* Result from an invoke handler - either a response or an async generator for streaming.
|
|
181
|
+
* @internal
|
|
148
182
|
*/
|
|
149
183
|
export type InvokeResult = InvokeResponse | AsyncGenerator<StreamChunk, void, unknown>;
|
|
150
184
|
/**
|
|
151
185
|
* Result from a chat handler - either a response or an async generator for streaming.
|
|
186
|
+
* @internal
|
|
152
187
|
*/
|
|
153
188
|
export type ChatResult = ChatResponse | AsyncGenerator<StreamChunk, void, unknown>;
|
|
154
189
|
/**
|
|
155
|
-
* Handler function for invoke requests.
|
|
190
|
+
* Handler function for non-streaming invoke requests.
|
|
191
|
+
* @internal
|
|
192
|
+
*/
|
|
193
|
+
export type InvokeHandler = (input: InvokeInput, ctx?: Context) => InvokeResponse | Promise<InvokeResponse>;
|
|
194
|
+
/**
|
|
195
|
+
* Handler function for streaming invoke requests.
|
|
196
|
+
* @internal
|
|
197
|
+
*/
|
|
198
|
+
export type InvokeStreamHandler = (input: InvokeInput, ctx?: Context) => AsyncGenerator<StreamChunk, void, unknown> | Promise<AsyncGenerator<StreamChunk, void, unknown>>;
|
|
199
|
+
/**
|
|
200
|
+
* Handler function for non-streaming chat requests.
|
|
201
|
+
* @internal
|
|
156
202
|
*/
|
|
157
|
-
export type
|
|
203
|
+
export type ChatHandler = (messages: ChatMessage[], ctx?: Context) => ChatResponse | Promise<ChatResponse>;
|
|
158
204
|
/**
|
|
159
|
-
* Handler function for chat requests.
|
|
205
|
+
* Handler function for streaming chat requests.
|
|
206
|
+
* @internal
|
|
160
207
|
*/
|
|
161
|
-
export type
|
|
208
|
+
export type ChatStreamHandler = (messages: ChatMessage[], ctx?: Context) => AsyncGenerator<StreamChunk, void, unknown> | Promise<AsyncGenerator<StreamChunk, void, unknown>>;
|
|
162
209
|
/**
|
|
163
210
|
* Individual agent health status.
|
|
211
|
+
* @internal
|
|
164
212
|
*/
|
|
165
213
|
export interface AgentHealth {
|
|
166
214
|
name: string;
|
|
@@ -169,6 +217,7 @@ export interface AgentHealth {
|
|
|
169
217
|
}
|
|
170
218
|
/**
|
|
171
219
|
* Overall health response for the runtime.
|
|
220
|
+
* @internal
|
|
172
221
|
*/
|
|
173
222
|
export interface HealthResponse {
|
|
174
223
|
status: 'healthy';
|
|
@@ -176,6 +225,7 @@ export interface HealthResponse {
|
|
|
176
225
|
}
|
|
177
226
|
/**
|
|
178
227
|
* User-defined metadata for an agent.
|
|
228
|
+
* @internal
|
|
179
229
|
*/
|
|
180
230
|
export interface AgentMetadata {
|
|
181
231
|
framework?: string;
|
|
@@ -185,6 +235,7 @@ export interface AgentMetadata {
|
|
|
185
235
|
}
|
|
186
236
|
/**
|
|
187
237
|
* Agent information returned by the discovery endpoint.
|
|
238
|
+
* @internal
|
|
188
239
|
*/
|
|
189
240
|
export interface AgentInfo {
|
|
190
241
|
name: string;
|
|
@@ -194,6 +245,7 @@ export interface AgentInfo {
|
|
|
194
245
|
}
|
|
195
246
|
/**
|
|
196
247
|
* Runtime information returned by the discovery endpoint.
|
|
248
|
+
* @internal
|
|
197
249
|
*/
|
|
198
250
|
export interface RuntimeInfo {
|
|
199
251
|
version: string;
|
|
@@ -202,6 +254,7 @@ export interface RuntimeInfo {
|
|
|
202
254
|
}
|
|
203
255
|
/**
|
|
204
256
|
* Response from the /_discover endpoint.
|
|
257
|
+
* @internal
|
|
205
258
|
*/
|
|
206
259
|
export interface DiscoverResponse {
|
|
207
260
|
runtime: RuntimeInfo;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -9,6 +9,7 @@ import { z } from 'zod/v4';
|
|
|
9
9
|
// =============================================================================
|
|
10
10
|
/**
|
|
11
11
|
* Tool call function details.
|
|
12
|
+
* @internal
|
|
12
13
|
*/
|
|
13
14
|
export const ToolCallFunctionSchema = z.object({
|
|
14
15
|
name: z.string(),
|
|
@@ -16,6 +17,7 @@ export const ToolCallFunctionSchema = z.object({
|
|
|
16
17
|
});
|
|
17
18
|
/**
|
|
18
19
|
* A tool call made by the assistant.
|
|
20
|
+
* @internal
|
|
19
21
|
*/
|
|
20
22
|
export const ToolCallSchema = z.object({
|
|
21
23
|
id: z.string(),
|
|
@@ -24,10 +26,12 @@ export const ToolCallSchema = z.object({
|
|
|
24
26
|
});
|
|
25
27
|
/**
|
|
26
28
|
* Valid message roles.
|
|
29
|
+
* @internal
|
|
27
30
|
*/
|
|
28
31
|
export const MessageRoleSchema = z.enum(['system', 'user', 'assistant', 'tool']);
|
|
29
32
|
/**
|
|
30
33
|
* A chat message in a conversation.
|
|
34
|
+
* @internal
|
|
31
35
|
*/
|
|
32
36
|
export const ChatMessageSchema = z.object({
|
|
33
37
|
role: MessageRoleSchema,
|
|
@@ -38,6 +42,7 @@ export const ChatMessageSchema = z.object({
|
|
|
38
42
|
});
|
|
39
43
|
/**
|
|
40
44
|
* An assistant message returned by chat handlers.
|
|
45
|
+
* @internal
|
|
41
46
|
*/
|
|
42
47
|
export const AssistantMessageSchema = z.object({
|
|
43
48
|
role: z.literal('assistant'),
|
|
@@ -49,6 +54,7 @@ export const AssistantMessageSchema = z.object({
|
|
|
49
54
|
// =============================================================================
|
|
50
55
|
/**
|
|
51
56
|
* Request body for invoke endpoint.
|
|
57
|
+
* @internal
|
|
52
58
|
*/
|
|
53
59
|
export const InvokeRequestSchema = z.object({
|
|
54
60
|
input: z.record(z.string(), z.any()),
|
|
@@ -56,6 +62,7 @@ export const InvokeRequestSchema = z.object({
|
|
|
56
62
|
});
|
|
57
63
|
/**
|
|
58
64
|
* Request body for chat endpoint.
|
|
65
|
+
* @internal
|
|
59
66
|
*/
|
|
60
67
|
export const ChatRequestSchema = z.object({
|
|
61
68
|
messages: z.array(ChatMessageSchema).nonempty(),
|
|
@@ -66,18 +73,21 @@ export const ChatRequestSchema = z.object({
|
|
|
66
73
|
// =============================================================================
|
|
67
74
|
/**
|
|
68
75
|
* Response from invoke handler (non-streaming).
|
|
76
|
+
* @internal
|
|
69
77
|
*/
|
|
70
78
|
export const InvokeResponseSchema = z.object({
|
|
71
79
|
output: z.any(),
|
|
72
80
|
});
|
|
73
81
|
/**
|
|
74
82
|
* Response from chat handler (non-streaming).
|
|
83
|
+
* @internal
|
|
75
84
|
*/
|
|
76
85
|
export const ChatResponseSchema = z.object({
|
|
77
86
|
message: AssistantMessageSchema,
|
|
78
87
|
});
|
|
79
88
|
/**
|
|
80
89
|
* A streaming chunk.
|
|
90
|
+
* @internal
|
|
81
91
|
*/
|
|
82
92
|
export const StreamChunkSchema = z.object({
|
|
83
93
|
chunk: z.string(),
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,QAAQ,EAAE,sBAAsB;CACjC,CAAC,CAAC;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAKjF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;IAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAOH;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAOH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9C,CAAC,CAAC;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IAC/C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9C,CAAC,CAAC;AAKH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE;CAChB,CAAC,CAAC;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,sBAAsB;CAChC,CAAC,CAAC;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reminix/runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Reminix Agent Runtime - Build AI agents that integrate with Reminix",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"vitest": "^4.0.16"
|
|
41
41
|
},
|
|
42
42
|
"engines": {
|
|
43
|
-
"node": ">=
|
|
43
|
+
"node": ">=20.0.0"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|