@reminix/runtime 0.0.13 → 0.0.15
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 +1 -1
- package/dist/agent-adapter.d.ts +3 -7
- package/dist/agent-adapter.d.ts.map +1 -1
- package/dist/agent-adapter.js +24 -11
- package/dist/agent-adapter.js.map +1 -1
- package/dist/agent.d.ts +39 -60
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +149 -259
- package/dist/agent.js.map +1 -1
- package/dist/index.d.ts +3 -3
- 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 +70 -23
- package/dist/server.js.map +1 -1
- package/dist/tool.d.ts +28 -22
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +25 -19
- package/dist/tool.js.map +1 -1
- package/dist/types.d.ts +41 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/agent-adapter.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Base agent adapter class for framework integrations.
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { AgentInvokeRequest } from './types.js';
|
|
5
5
|
import { AgentBase, type AgentMetadata } from './agent.js';
|
|
6
6
|
/**
|
|
7
7
|
* Base class for framework agent adapters.
|
|
@@ -14,18 +14,14 @@ export declare abstract class AgentAdapter extends AgentBase {
|
|
|
14
14
|
* The adapter name. Subclasses should override this.
|
|
15
15
|
*/
|
|
16
16
|
static adapterName: string;
|
|
17
|
-
/**
|
|
18
|
-
* All built-in adapters support streaming.
|
|
19
|
-
*/
|
|
20
|
-
get streaming(): boolean;
|
|
21
17
|
/**
|
|
22
18
|
* Return adapter metadata for discovery.
|
|
23
19
|
* Adapters accept both 'messages' (chat-style) and 'prompt' (simple) inputs.
|
|
24
20
|
*/
|
|
25
21
|
get metadata(): AgentMetadata;
|
|
26
22
|
/**
|
|
27
|
-
* Handle a streaming
|
|
23
|
+
* Handle a streaming invoke request.
|
|
28
24
|
*/
|
|
29
|
-
|
|
25
|
+
invokeStream(_request: AgentInvokeRequest): AsyncGenerator<string, void, unknown>;
|
|
30
26
|
}
|
|
31
27
|
//# sourceMappingURL=agent-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-adapter.d.ts","sourceRoot":"","sources":["../src/agent-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-adapter.d.ts","sourceRoot":"","sources":["../src/agent-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAc,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAmB3D;;;;;GAKG;AACH,8BAAsB,YAAa,SAAQ,SAAS;IAClD;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAa;IAEvC;;;OAGG;IACH,IAAI,QAAQ,IAAI,aAAa,CAU5B;IAED;;OAEG;IAEI,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;CAGzF"}
|
package/dist/agent-adapter.js
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
* Base agent adapter class for framework integrations.
|
|
3
3
|
*/
|
|
4
4
|
import { AgentBase } from './agent.js';
|
|
5
|
+
/**
|
|
6
|
+
* Adapter input schema - accepts both messages and prompt.
|
|
7
|
+
*/
|
|
8
|
+
const ADAPTER_INPUT = {
|
|
9
|
+
type: 'object',
|
|
10
|
+
properties: {
|
|
11
|
+
messages: {
|
|
12
|
+
type: 'array',
|
|
13
|
+
description: 'Chat-style messages input',
|
|
14
|
+
},
|
|
15
|
+
prompt: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
description: 'Simple prompt input',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
5
21
|
/**
|
|
6
22
|
* Base class for framework agent adapters.
|
|
7
23
|
*
|
|
@@ -13,29 +29,26 @@ export class AgentAdapter extends AgentBase {
|
|
|
13
29
|
* The adapter name. Subclasses should override this.
|
|
14
30
|
*/
|
|
15
31
|
static adapterName = 'unknown';
|
|
16
|
-
/**
|
|
17
|
-
* All built-in adapters support streaming.
|
|
18
|
-
*/
|
|
19
|
-
get streaming() {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
32
|
/**
|
|
23
33
|
* Return adapter metadata for discovery.
|
|
24
34
|
* Adapters accept both 'messages' (chat-style) and 'prompt' (simple) inputs.
|
|
25
35
|
*/
|
|
26
36
|
get metadata() {
|
|
27
37
|
return {
|
|
28
|
-
|
|
38
|
+
description: `${this.constructor.adapterName} adapter`,
|
|
39
|
+
capabilities: {
|
|
40
|
+
streaming: true,
|
|
41
|
+
},
|
|
42
|
+
input: ADAPTER_INPUT,
|
|
43
|
+
output: { type: 'string' },
|
|
29
44
|
adapter: this.constructor.adapterName,
|
|
30
|
-
requestKeys: ['messages', 'prompt'],
|
|
31
|
-
responseKeys: ['output'],
|
|
32
45
|
};
|
|
33
46
|
}
|
|
34
47
|
/**
|
|
35
|
-
* Handle a streaming
|
|
48
|
+
* Handle a streaming invoke request.
|
|
36
49
|
*/
|
|
37
50
|
// eslint-disable-next-line require-yield
|
|
38
|
-
async *
|
|
51
|
+
async *invokeStream(_request) {
|
|
39
52
|
throw new Error('Streaming not implemented for this adapter');
|
|
40
53
|
}
|
|
41
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-adapter.js","sourceRoot":"","sources":["../src/agent-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAsB,MAAM,YAAY,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,OAAgB,YAAa,SAAQ,SAAS;IAClD;;OAEG;IACH,MAAM,CAAC,WAAW,GAAW,SAAS,CAAC;IAEvC
|
|
1
|
+
{"version":3,"file":"agent-adapter.js","sourceRoot":"","sources":["../src/agent-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAsB,MAAM,YAAY,CAAC;AAE3D;;GAEG;AACH,MAAM,aAAa,GAAe;IAChC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,2BAA2B;SACzC;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qBAAqB;SACnC;KACF;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAgB,YAAa,SAAQ,SAAS;IAClD;;OAEG;IACH,MAAM,CAAC,WAAW,GAAW,SAAS,CAAC;IAEvC;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO;YACL,WAAW,EAAE,GAAI,IAAI,CAAC,WAAmC,CAAC,WAAW,UAAU;YAC/E,YAAY,EAAE;gBACZ,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,OAAO,EAAG,IAAI,CAAC,WAAmC,CAAC,WAAW;SAC/D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,yCAAyC;IACzC,KAAK,CAAC,CAAC,YAAY,CAAC,QAA4B;QAC9C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC"}
|
package/dist/agent.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent classes for Reminix Runtime.
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { AgentInvokeRequest, AgentInvokeResponse, Message, JSONSchema, Capabilities } from './types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Web-standard fetch handler type.
|
|
7
7
|
*/
|
|
@@ -10,22 +10,20 @@ export type FetchHandler = (request: Request) => Promise<Response>;
|
|
|
10
10
|
* Metadata returned by agents for discovery.
|
|
11
11
|
*/
|
|
12
12
|
export interface AgentMetadata {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/** Top-level keys returned in response */
|
|
18
|
-
responseKeys?: string[];
|
|
13
|
+
description?: string;
|
|
14
|
+
capabilities: Capabilities;
|
|
15
|
+
input: JSONSchema;
|
|
16
|
+
output?: JSONSchema;
|
|
19
17
|
[key: string]: unknown;
|
|
20
18
|
}
|
|
21
19
|
/**
|
|
22
|
-
* Handler type for
|
|
20
|
+
* Handler type for invoke requests.
|
|
23
21
|
*/
|
|
24
|
-
export type
|
|
22
|
+
export type InvokeHandler = (request: AgentInvokeRequest) => Promise<AgentInvokeResponse>;
|
|
25
23
|
/**
|
|
26
|
-
* Handler type for streaming
|
|
24
|
+
* Handler type for streaming invoke requests.
|
|
27
25
|
*/
|
|
28
|
-
export type
|
|
26
|
+
export type InvokeStreamHandler = (request: AgentInvokeRequest) => AsyncGenerator<string, void, unknown>;
|
|
29
27
|
/**
|
|
30
28
|
* Abstract base class defining the agent interface.
|
|
31
29
|
*
|
|
@@ -34,10 +32,6 @@ export type ExecuteStreamHandler = (request: ExecuteRequest) => AsyncGenerator<s
|
|
|
34
32
|
* `AgentAdapter` for framework adapters.
|
|
35
33
|
*/
|
|
36
34
|
export declare abstract class AgentBase {
|
|
37
|
-
/**
|
|
38
|
-
* Whether execute supports streaming. Override to enable.
|
|
39
|
-
*/
|
|
40
|
-
get streaming(): boolean;
|
|
41
35
|
/**
|
|
42
36
|
* Return the agent name.
|
|
43
37
|
*/
|
|
@@ -48,13 +42,13 @@ export declare abstract class AgentBase {
|
|
|
48
42
|
*/
|
|
49
43
|
get metadata(): AgentMetadata;
|
|
50
44
|
/**
|
|
51
|
-
* Handle an
|
|
45
|
+
* Handle an invoke request.
|
|
52
46
|
*/
|
|
53
|
-
abstract
|
|
47
|
+
abstract invoke(request: AgentInvokeRequest): Promise<AgentInvokeResponse>;
|
|
54
48
|
/**
|
|
55
|
-
* Handle a streaming
|
|
49
|
+
* Handle a streaming invoke request.
|
|
56
50
|
*/
|
|
57
|
-
|
|
51
|
+
invokeStream(_request: AgentInvokeRequest): AsyncGenerator<string, void, unknown>;
|
|
58
52
|
/**
|
|
59
53
|
* Create a web-standard fetch handler for this agent.
|
|
60
54
|
*
|
|
@@ -92,8 +86,8 @@ export declare abstract class AgentBase {
|
|
|
92
86
|
export declare class Agent extends AgentBase {
|
|
93
87
|
private readonly _name;
|
|
94
88
|
private readonly _metadata;
|
|
95
|
-
private
|
|
96
|
-
private
|
|
89
|
+
private _invokeHandler;
|
|
90
|
+
private _invokeStreamHandler;
|
|
97
91
|
/**
|
|
98
92
|
* Create a new agent.
|
|
99
93
|
*
|
|
@@ -101,7 +95,7 @@ export declare class Agent extends AgentBase {
|
|
|
101
95
|
* @param options - Optional configuration
|
|
102
96
|
*/
|
|
103
97
|
constructor(name: string, options?: {
|
|
104
|
-
metadata?:
|
|
98
|
+
metadata?: Partial<AgentMetadata>;
|
|
105
99
|
});
|
|
106
100
|
/**
|
|
107
101
|
* Return the agent name.
|
|
@@ -111,10 +105,6 @@ export declare class Agent extends AgentBase {
|
|
|
111
105
|
* Return agent metadata for discovery.
|
|
112
106
|
*/
|
|
113
107
|
get metadata(): AgentMetadata;
|
|
114
|
-
/**
|
|
115
|
-
* Whether execute supports streaming.
|
|
116
|
-
*/
|
|
117
|
-
get streaming(): boolean;
|
|
118
108
|
/**
|
|
119
109
|
* Register a handler.
|
|
120
110
|
*
|
|
@@ -123,25 +113,25 @@ export declare class Agent extends AgentBase {
|
|
|
123
113
|
* return { output: 'Hello!' };
|
|
124
114
|
* });
|
|
125
115
|
*/
|
|
126
|
-
handler(fn:
|
|
116
|
+
handler(fn: InvokeHandler): this;
|
|
127
117
|
/**
|
|
128
118
|
* Register a streaming handler.
|
|
129
119
|
*
|
|
130
120
|
* @example
|
|
131
121
|
* agent.streamHandler(async function* (request) {
|
|
132
|
-
* yield '
|
|
133
|
-
* yield '
|
|
122
|
+
* yield 'Hello';
|
|
123
|
+
* yield ' world!';
|
|
134
124
|
* });
|
|
135
125
|
*/
|
|
136
|
-
streamHandler(fn:
|
|
126
|
+
streamHandler(fn: InvokeStreamHandler): this;
|
|
137
127
|
/**
|
|
138
|
-
* Handle an
|
|
128
|
+
* Handle an invoke request.
|
|
139
129
|
*/
|
|
140
|
-
|
|
130
|
+
invoke(request: AgentInvokeRequest): Promise<AgentInvokeResponse>;
|
|
141
131
|
/**
|
|
142
|
-
* Handle a streaming
|
|
132
|
+
* Handle a streaming invoke request.
|
|
143
133
|
*/
|
|
144
|
-
|
|
134
|
+
invokeStream(request: AgentInvokeRequest): AsyncGenerator<string, void, unknown>;
|
|
145
135
|
}
|
|
146
136
|
/**
|
|
147
137
|
* Options for creating an agent with the agent() factory.
|
|
@@ -149,20 +139,13 @@ export declare class Agent extends AgentBase {
|
|
|
149
139
|
export interface AgentOptions {
|
|
150
140
|
/** Human-readable description of what the agent does */
|
|
151
141
|
description?: string;
|
|
152
|
-
/** Optional metadata for discovery */
|
|
153
|
-
metadata?: Record<string, unknown>;
|
|
154
142
|
/**
|
|
155
|
-
* JSON Schema for input
|
|
156
|
-
* The keys in `properties` become the top-level request keys.
|
|
143
|
+
* JSON Schema for input.
|
|
157
144
|
* Defaults to { prompt: string } if not provided.
|
|
158
145
|
*/
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
required?: string[];
|
|
163
|
-
};
|
|
164
|
-
/** JSON Schema for output */
|
|
165
|
-
output?: Record<string, unknown>;
|
|
146
|
+
input?: JSONSchema;
|
|
147
|
+
/** JSON Schema for output. Defaults to string. */
|
|
148
|
+
output?: JSONSchema;
|
|
166
149
|
/**
|
|
167
150
|
* Handler function - can be a regular async function or an async generator for streaming.
|
|
168
151
|
*
|
|
@@ -177,8 +160,6 @@ export interface AgentOptions {
|
|
|
177
160
|
export interface ChatAgentOptions {
|
|
178
161
|
/** Human-readable description of what the agent does */
|
|
179
162
|
description?: string;
|
|
180
|
-
/** Optional metadata for discovery */
|
|
181
|
-
metadata?: Record<string, unknown>;
|
|
182
163
|
/**
|
|
183
164
|
* Handler function - can be a regular async function or an async generator for streaming.
|
|
184
165
|
*
|
|
@@ -190,35 +171,35 @@ export interface ChatAgentOptions {
|
|
|
190
171
|
/**
|
|
191
172
|
* Create an agent from a configuration object.
|
|
192
173
|
*
|
|
193
|
-
* By default, agents expect `{ prompt: string }` in the request body and
|
|
194
|
-
* return `{ output:
|
|
174
|
+
* By default, agents expect `{ input: { prompt: string } }` in the request body and
|
|
175
|
+
* return `{ output: string }`. You can customize by providing `input` schema.
|
|
195
176
|
*
|
|
196
177
|
* @example
|
|
197
178
|
* ```typescript
|
|
198
|
-
* // Simple agent with default
|
|
199
|
-
* // Request: { prompt: 'Hello world' }
|
|
179
|
+
* // Simple agent with default input/output
|
|
180
|
+
* // Request: { input: { prompt: 'Hello world' } }
|
|
200
181
|
* // Response: { output: 'You said: Hello world' }
|
|
201
182
|
* const echo = agent('echo', {
|
|
202
183
|
* description: 'Echo the prompt',
|
|
203
184
|
* handler: async ({ prompt }) => `You said: ${prompt}`,
|
|
204
185
|
* });
|
|
205
186
|
*
|
|
206
|
-
* // Agent with custom
|
|
207
|
-
* // Request: { a: 1, b: 2 }
|
|
187
|
+
* // Agent with custom input schema
|
|
188
|
+
* // Request: { input: { a: 1, b: 2 } }
|
|
208
189
|
* // Response: { output: 3 }
|
|
209
190
|
* const calculator = agent('calculator', {
|
|
210
191
|
* description: 'Add two numbers',
|
|
211
|
-
*
|
|
192
|
+
* input: {
|
|
212
193
|
* type: 'object',
|
|
213
194
|
* properties: { a: { type: 'number' }, b: { type: 'number' } },
|
|
214
195
|
* required: ['a', 'b'],
|
|
215
196
|
* },
|
|
197
|
+
* output: { type: 'number' },
|
|
216
198
|
* handler: async ({ a, b }) => (a as number) + (b as number),
|
|
217
199
|
* });
|
|
218
200
|
*
|
|
219
201
|
* // Streaming agent (async generator)
|
|
220
|
-
* // Request: { prompt: 'hello world' }
|
|
221
|
-
* // Response: { output: 'hello world ' } (streamed)
|
|
202
|
+
* // Request: { input: { prompt: 'hello world' }, stream: true }
|
|
222
203
|
* const streamer = agent('streamer', {
|
|
223
204
|
* description: 'Stream text word by word',
|
|
224
205
|
* handler: async function* ({ prompt }) {
|
|
@@ -236,14 +217,12 @@ export declare function agent(name: string, options: AgentOptions): Agent;
|
|
|
236
217
|
* This is a convenience factory that creates an agent with a standard chat
|
|
237
218
|
* interface (messages in, messages out).
|
|
238
219
|
*
|
|
239
|
-
* Request: `{ messages: [...] }`
|
|
240
|
-
* Response: `{ messages: [{ role: 'assistant', content: '...' }, ...] }`
|
|
220
|
+
* Request: `{ input: { messages: [...] } }`
|
|
221
|
+
* Response: `{ output: { messages: [{ role: 'assistant', content: '...' }, ...] } }`
|
|
241
222
|
*
|
|
242
223
|
* @example
|
|
243
224
|
* ```typescript
|
|
244
225
|
* // Non-streaming chat agent
|
|
245
|
-
* // Request: { messages: [{ role: 'user', content: 'hello' }] }
|
|
246
|
-
* // Response: { messages: [{ role: 'assistant', content: 'You said: hello' }] }
|
|
247
226
|
* const bot = chatAgent('bot', {
|
|
248
227
|
* description: 'A simple chatbot',
|
|
249
228
|
* handler: async (messages) => {
|
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,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|