@reminix/runtime 0.0.4 → 0.0.6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @reminix/runtime
2
2
 
3
- Core runtime package for serving AI agents via REST APIs. Provides the `serve()` function, `Agent` class, and `BaseAdapter` for building framework integrations.
3
+ Core runtime package for serving AI agents and tools via REST APIs. Provides the `serve()` function, `Agent` class, `tool()` factory, and `BaseAdapter` for building framework integrations.
4
4
 
5
5
  Built on [Hono](https://hono.dev) for portability across Node.js, Deno, Bun, and edge runtimes.
6
6
 
@@ -38,7 +38,7 @@ agent.onChat(async (request) => {
38
38
  });
39
39
 
40
40
  // Serve the agent
41
- serve([agent], { port: 8080 });
41
+ serve({ agents: [agent], port: 8080 });
42
42
  ```
43
43
 
44
44
  ## How It Works
@@ -48,9 +48,10 @@ The runtime creates a REST server (powered by [Hono](https://hono.dev)) with the
48
48
  | Endpoint | Method | Description |
49
49
  |----------|--------|-------------|
50
50
  | `/health` | GET | Health check |
51
- | `/info` | GET | Runtime discovery (version, agents, endpoints) |
51
+ | `/info` | GET | Runtime discovery (version, agents, tools) |
52
52
  | `/agents/{name}/invoke` | POST | Stateless invocation |
53
53
  | `/agents/{name}/chat` | POST | Conversational chat |
54
+ | `/tools/{name}/execute` | POST | Execute a tool |
54
55
 
55
56
  ### Health Endpoint
56
57
 
@@ -72,7 +73,7 @@ Returns runtime information and available agents:
72
73
  {
73
74
  "runtime": {
74
75
  "name": "reminix-runtime",
75
- "version": "0.0.4",
76
+ "version": "0.0.6",
76
77
  "language": "typescript",
77
78
  "framework": "hono"
78
79
  },
@@ -139,6 +140,98 @@ curl -X POST http://localhost:8080/agents/my-agent/chat \
139
140
 
140
141
  The `output` field contains the assistant's response, while `messages` includes the full conversation history.
141
142
 
143
+ ### Tool Execute Endpoint
144
+
145
+ `POST /tools/{name}/execute` - Execute a standalone tool.
146
+
147
+ ```bash
148
+ curl -X POST http://localhost:8080/tools/get_weather/execute \
149
+ -H "Content-Type: application/json" \
150
+ -d '{
151
+ "input": {
152
+ "location": "San Francisco"
153
+ }
154
+ }'
155
+ ```
156
+
157
+ **Response:**
158
+ ```json
159
+ {
160
+ "output": { "temp": 72, "condition": "sunny" }
161
+ }
162
+ ```
163
+
164
+ ## Tools
165
+
166
+ Tools are standalone functions that can be served via the runtime. They're useful for exposing utility functions, external API integrations, or any reusable logic.
167
+
168
+ ### Creating Tools
169
+
170
+ Use the `tool()` factory function to create tools:
171
+
172
+ ```typescript
173
+ import { tool, serve } from '@reminix/runtime';
174
+
175
+ const getWeather = tool('get_weather', {
176
+ description: 'Get current weather for a location',
177
+ parameters: {
178
+ type: 'object',
179
+ properties: {
180
+ location: { type: 'string', description: 'City name' },
181
+ units: { type: 'string', enum: ['celsius', 'fahrenheit'], default: 'celsius' },
182
+ },
183
+ required: ['location'],
184
+ },
185
+ // Optional: define output schema for documentation and type inference
186
+ output: {
187
+ type: 'object',
188
+ properties: {
189
+ temp: { type: 'number' },
190
+ condition: { type: 'string' },
191
+ location: { type: 'string' },
192
+ },
193
+ },
194
+ execute: async (input) => {
195
+ const location = input.location as string;
196
+ // Call weather API...
197
+ return { temp: 72, condition: 'sunny', location };
198
+ },
199
+ });
200
+
201
+ // Serve tools (with or without agents)
202
+ serve({ tools: [getWeather], port: 8080 });
203
+ ```
204
+
205
+ The optional `output` property defines the JSON Schema for the tool's return value. This is included in the `/info` endpoint for documentation and enables better type inference for clients.
206
+
207
+ ### Serving Agents and Tools Together
208
+
209
+ You can serve both agents and tools from the same runtime:
210
+
211
+ ```typescript
212
+ import { Agent, tool, serve } from '@reminix/runtime';
213
+
214
+ const agent = new Agent('my-agent');
215
+ agent.onInvoke(async (req) => ({ output: 'Hello!' }));
216
+
217
+ const calculator = tool('calculate', {
218
+ description: 'Perform basic math operations',
219
+ parameters: {
220
+ type: 'object',
221
+ properties: {
222
+ expression: { type: 'string', description: 'Math expression to evaluate' },
223
+ },
224
+ required: ['expression'],
225
+ },
226
+ execute: async (input) => {
227
+ const expr = input.expression as string;
228
+ return { result: eval(expr) }; // Note: use a safe evaluator in production
229
+ },
230
+ });
231
+
232
+ serve({ agents: [agent], tools: [calculator], port: 8080 });
233
+ ```
234
+
142
235
  ## Framework Adapters
143
236
 
144
237
  Instead of creating custom agents, use our pre-built adapters for popular frameworks:
@@ -153,27 +246,59 @@ Instead of creating custom agents, use our pre-built adapters for popular framew
153
246
 
154
247
  ## API Reference
155
248
 
156
- ### `serve(agents, options)`
249
+ ### `serve(options)`
157
250
 
158
251
  Start the runtime server.
159
252
 
160
253
  | Parameter | Type | Default | Description |
161
254
  |-----------|------|---------|-------------|
162
- | `agents` | `Agent[]` | required | List of agents |
163
- | `options.port` | `number` | `8080` | Port to listen on |
164
- | `options.hostname` | `string` | `"::"` | Host to bind to (IPv6, also accepts IPv4) |
255
+ | `options.agents` | `Agent[]` | `[]` | List of agents to serve |
256
+ | `options.tools` | `Tool[]` | `[]` | List of tools to serve |
257
+ | `options.port` | `number` | `8080` | Port to listen on. Falls back to `PORT` environment variable if not provided. |
258
+ | `options.hostname` | `string` | `"0.0.0.0"` | Host to bind to (all interfaces). Can be overridden via `HOST` env var. |
259
+
260
+ At least one agent or tool is required.
165
261
 
166
- ### `createApp(agents)`
262
+ ### `createApp(options)`
167
263
 
168
264
  Create a Hono app without starting the server. Useful for testing or custom deployment.
169
265
 
170
266
  ```typescript
171
267
  import { createApp } from '@reminix/runtime';
172
268
 
173
- const app = createApp([new MyAgent()]);
269
+ const app = createApp({ agents: [myAgent], tools: [myTool] });
174
270
  // Use with any runtime: Node.js, Deno, Bun, Cloudflare Workers, etc.
175
271
  ```
176
272
 
273
+ ### `tool(name, options)`
274
+
275
+ Factory function to create a tool.
276
+
277
+ | Parameter | Type | Description |
278
+ |-----------|------|-------------|
279
+ | `name` | `string` | Unique identifier for the tool |
280
+ | `options.description` | `string` | Human-readable description |
281
+ | `options.parameters` | `object` | JSON Schema for input parameters |
282
+ | `options.execute` | `function` | Async function to execute when called |
283
+
284
+ ```typescript
285
+ import { tool } from '@reminix/runtime';
286
+
287
+ const myTool = tool('my_tool', {
288
+ description: 'Does something useful',
289
+ parameters: {
290
+ type: 'object',
291
+ properties: {
292
+ input: { type: 'string' },
293
+ },
294
+ required: ['input'],
295
+ },
296
+ execute: async (input) => {
297
+ return { result: input.input };
298
+ },
299
+ });
300
+ ```
301
+
177
302
  ### `Agent`
178
303
 
179
304
  Concrete class for building agents with callbacks.
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Base adapter class for framework integrations.
3
+ */
4
+ import type { InvokeRequest, ChatRequest } from './types.js';
5
+ import { AgentBase, type AgentMetadata } from './agent.js';
6
+ /**
7
+ * Base class for framework adapters.
8
+ *
9
+ * Extend this class when wrapping an existing AI framework
10
+ * (e.g., LangChain, OpenAI, Anthropic).
11
+ */
12
+ export declare abstract class AdapterBase extends AgentBase {
13
+ /**
14
+ * The adapter name. Subclasses should override this.
15
+ */
16
+ static adapterName: string;
17
+ /**
18
+ * All built-in adapters support streaming.
19
+ */
20
+ get invokeStreaming(): boolean;
21
+ get chatStreaming(): boolean;
22
+ /**
23
+ * Return adapter metadata for discovery.
24
+ */
25
+ get metadata(): AgentMetadata;
26
+ /**
27
+ * Handle a streaming invoke request.
28
+ */
29
+ invokeStream(_request: InvokeRequest): AsyncGenerator<string, void, unknown>;
30
+ /**
31
+ * Handle a streaming chat request.
32
+ */
33
+ chatStream(_request: ChatRequest): AsyncGenerator<string, void, unknown>;
34
+ }
35
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3D;;;;;GAKG;AACH,8BAAsB,WAAY,SAAQ,SAAS;IACjD;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAa;IAEvC;;OAEG;IACH,IAAa,eAAe,IAAI,OAAO,CAEtC;IAED,IAAa,aAAa,IAAI,OAAO,CAEpC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,CAK5B;IAED;;OAEG;IAEI,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAInF;;OAEG;IAEI,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;CAGhF"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Base adapter class for framework integrations.
3
+ */
4
+ import { AgentBase } from './agent.js';
5
+ /**
6
+ * Base class for framework adapters.
7
+ *
8
+ * Extend this class when wrapping an existing AI framework
9
+ * (e.g., LangChain, OpenAI, Anthropic).
10
+ */
11
+ export class AdapterBase extends AgentBase {
12
+ /**
13
+ * The adapter name. Subclasses should override this.
14
+ */
15
+ static adapterName = 'unknown';
16
+ /**
17
+ * All built-in adapters support streaming.
18
+ */
19
+ get invokeStreaming() {
20
+ return true;
21
+ }
22
+ get chatStreaming() {
23
+ return true;
24
+ }
25
+ /**
26
+ * Return adapter metadata for discovery.
27
+ */
28
+ get metadata() {
29
+ return {
30
+ type: 'adapter',
31
+ adapter: this.constructor.adapterName,
32
+ };
33
+ }
34
+ /**
35
+ * Handle a streaming invoke request.
36
+ */
37
+ // eslint-disable-next-line require-yield
38
+ async *invokeStream(_request) {
39
+ throw new Error('Streaming not implemented for this adapter');
40
+ }
41
+ /**
42
+ * Handle a streaming chat request.
43
+ */
44
+ // eslint-disable-next-line require-yield
45
+ async *chatStream(_request) {
46
+ throw new Error('Streaming not implemented for this adapter');
47
+ }
48
+ }
49
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAsB,MAAM,YAAY,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,OAAgB,WAAY,SAAQ,SAAS;IACjD;;OAEG;IACH,MAAM,CAAC,WAAW,GAAW,SAAS,CAAC;IAEvC;;OAEG;IACH,IAAa,eAAe;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAa,aAAa;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAG,IAAI,CAAC,WAAkC,CAAC,WAAW;SAC9D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,yCAAyC;IACzC,KAAK,CAAC,CAAC,YAAY,CAAC,QAAuB;QACzC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,yCAAyC;IACzC,KAAK,CAAC,CAAC,UAAU,CAAC,QAAqB;QACrC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Base agent and adapter interface.
2
+ * Agent classes for Reminix Runtime.
3
3
  */
4
- import type { InvokeRequest, InvokeResponse, ChatRequest, ChatResponse } from '../types.js';
4
+ import type { InvokeRequest, InvokeResponse, ChatRequest, ChatResponse } from './types.js';
5
5
  /**
6
6
  * Web-standard fetch handler type.
7
7
  */
@@ -66,11 +66,11 @@ export declare abstract class AgentBase {
66
66
  /**
67
67
  * Handle a streaming invoke request.
68
68
  */
69
- invokeStream(request: InvokeRequest): AsyncGenerator<string, void, unknown>;
69
+ invokeStream(_request: InvokeRequest): AsyncGenerator<string, void, unknown>;
70
70
  /**
71
71
  * Handle a streaming chat request.
72
72
  */
73
- chatStream(request: ChatRequest): AsyncGenerator<string, void, unknown>;
73
+ chatStream(_request: ChatRequest): AsyncGenerator<string, void, unknown>;
74
74
  /**
75
75
  * Create a web-standard fetch handler for this agent.
76
76
  *
@@ -106,7 +106,7 @@ export declare abstract class AgentBase {
106
106
  * return { output: 'Hi!', messages: [...] };
107
107
  * });
108
108
  *
109
- * serve([agent], { port: 8080 });
109
+ * serve({ agents: [agent], port: 8080 });
110
110
  * ```
111
111
  */
112
112
  export declare class Agent extends AgentBase {
@@ -195,33 +195,4 @@ export declare class Agent extends AgentBase {
195
195
  */
196
196
  chatStream(request: ChatRequest): AsyncGenerator<string, void, unknown>;
197
197
  }
198
- /**
199
- * Base class for framework adapters.
200
- *
201
- * Extend this class when wrapping an existing AI framework
202
- * (e.g., LangChain, OpenAI, Anthropic).
203
- */
204
- export declare abstract class BaseAdapter extends AgentBase {
205
- /**
206
- * The adapter name. Subclasses should override this.
207
- */
208
- static adapterName: string;
209
- /**
210
- * All built-in adapters support streaming.
211
- */
212
- get invokeStreaming(): boolean;
213
- get chatStreaming(): boolean;
214
- /**
215
- * Return adapter metadata for discovery.
216
- */
217
- get metadata(): AgentMetadata;
218
- /**
219
- * Handle a streaming invoke request.
220
- */
221
- invokeStream(request: InvokeRequest): AsyncGenerator<string, void, unknown>;
222
- /**
223
- * Handle a streaming chat request.
224
- */
225
- chatStream(request: ChatRequest): AsyncGenerator<string, void, unknown>;
226
- }
227
- //# sourceMappingURL=base.d.ts.map
198
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Base agent and adapter interface.
2
+ * Agent classes for Reminix Runtime.
3
3
  */
4
- import { VERSION } from '../version.js';
4
+ import { VERSION } from './version.js';
5
5
  /**
6
6
  * Abstract base class defining the agent interface.
7
7
  *
@@ -32,13 +32,15 @@ export class AgentBase {
32
32
  /**
33
33
  * Handle a streaming invoke request.
34
34
  */
35
- async *invokeStream(request) {
35
+ // eslint-disable-next-line require-yield
36
+ async *invokeStream(_request) {
36
37
  throw new Error('Streaming not implemented for this agent');
37
38
  }
38
39
  /**
39
40
  * Handle a streaming chat request.
40
41
  */
41
- async *chatStream(request) {
42
+ // eslint-disable-next-line require-yield
43
+ async *chatStream(_request) {
42
44
  throw new Error('Streaming not implemented for this agent');
43
45
  }
44
46
  /**
@@ -59,7 +61,6 @@ export class AgentBase {
59
61
  * ```
60
62
  */
61
63
  toHandler() {
62
- const agent = this;
63
64
  return async (request) => {
64
65
  const url = new URL(request.url);
65
66
  const path = url.pathname;
@@ -90,10 +91,10 @@ export class AgentBase {
90
91
  },
91
92
  agents: [
92
93
  {
93
- name: agent.name,
94
- ...agent.metadata,
95
- invoke: { streaming: agent.invokeStreaming },
96
- chat: { streaming: agent.chatStreaming },
94
+ name: this.name,
95
+ ...this.metadata,
96
+ invoke: { streaming: this.invokeStreaming },
97
+ chat: { streaming: this.chatStreaming },
97
98
  },
98
99
  ],
99
100
  }, { headers: corsHeaders });
@@ -102,7 +103,7 @@ export class AgentBase {
102
103
  const invokeMatch = path.match(/^\/agents\/([^/]+)\/invoke$/);
103
104
  if (method === 'POST' && invokeMatch) {
104
105
  const agentName = invokeMatch[1];
105
- if (agentName !== agent.name) {
106
+ if (agentName !== this.name) {
106
107
  return Response.json({ error: `Agent '${agentName}' not found` }, { status: 404, headers: corsHeaders });
107
108
  }
108
109
  const body = (await request.json());
@@ -112,10 +113,10 @@ export class AgentBase {
112
113
  // Handle streaming
113
114
  if (body.stream) {
114
115
  const stream = new ReadableStream({
115
- async start(controller) {
116
+ start: async (controller) => {
116
117
  const encoder = new TextEncoder();
117
118
  try {
118
- for await (const chunk of agent.invokeStream(body)) {
119
+ for await (const chunk of this.invokeStream(body)) {
119
120
  controller.enqueue(encoder.encode(`data: ${chunk}\n\n`));
120
121
  }
121
122
  controller.enqueue(encoder.encode('data: [DONE]\n\n'));
@@ -136,14 +137,14 @@ export class AgentBase {
136
137
  },
137
138
  });
138
139
  }
139
- const response = await agent.invoke(body);
140
+ const response = await this.invoke(body);
140
141
  return Response.json(response, { headers: corsHeaders });
141
142
  }
142
143
  // POST /agents/{name}/chat
143
144
  const chatMatch = path.match(/^\/agents\/([^/]+)\/chat$/);
144
145
  if (method === 'POST' && chatMatch) {
145
146
  const agentName = chatMatch[1];
146
- if (agentName !== agent.name) {
147
+ if (agentName !== this.name) {
147
148
  return Response.json({ error: `Agent '${agentName}' not found` }, { status: 404, headers: corsHeaders });
148
149
  }
149
150
  const body = (await request.json());
@@ -153,10 +154,10 @@ export class AgentBase {
153
154
  // Handle streaming
154
155
  if (body.stream) {
155
156
  const stream = new ReadableStream({
156
- async start(controller) {
157
+ start: async (controller) => {
157
158
  const encoder = new TextEncoder();
158
159
  try {
159
- for await (const chunk of agent.chatStream(body)) {
160
+ for await (const chunk of this.chatStream(body)) {
160
161
  controller.enqueue(encoder.encode(`data: ${chunk}\n\n`));
161
162
  }
162
163
  controller.enqueue(encoder.encode('data: [DONE]\n\n'));
@@ -177,7 +178,7 @@ export class AgentBase {
177
178
  },
178
179
  });
179
180
  }
180
- const response = await agent.chat(body);
181
+ const response = await this.chat(body);
181
182
  return Response.json(response, { headers: corsHeaders });
182
183
  }
183
184
  // Not found
@@ -206,7 +207,7 @@ export class AgentBase {
206
207
  * return { output: 'Hi!', messages: [...] };
207
208
  * });
208
209
  *
209
- * serve([agent], { port: 8080 });
210
+ * serve({ agents: [agent], port: 8080 });
210
211
  * ```
211
212
  */
212
213
  export class Agent extends AgentBase {
@@ -337,46 +338,4 @@ export class Agent extends AgentBase {
337
338
  yield* this._chatStreamHandler(request);
338
339
  }
339
340
  }
340
- /**
341
- * Base class for framework adapters.
342
- *
343
- * Extend this class when wrapping an existing AI framework
344
- * (e.g., LangChain, OpenAI, Anthropic).
345
- */
346
- export class BaseAdapter extends AgentBase {
347
- /**
348
- * The adapter name. Subclasses should override this.
349
- */
350
- static adapterName = 'unknown';
351
- /**
352
- * All built-in adapters support streaming.
353
- */
354
- get invokeStreaming() {
355
- return true;
356
- }
357
- get chatStreaming() {
358
- return true;
359
- }
360
- /**
361
- * Return adapter metadata for discovery.
362
- */
363
- get metadata() {
364
- return {
365
- type: 'adapter',
366
- adapter: this.constructor.adapterName,
367
- };
368
- }
369
- /**
370
- * Handle a streaming invoke request.
371
- */
372
- async *invokeStream(request) {
373
- throw new Error('Streaming not implemented for this adapter');
374
- }
375
- /**
376
- * Handle a streaming chat request.
377
- */
378
- async *chatStream(request) {
379
- throw new Error('Streaming not implemented for this adapter');
380
- }
381
- }
382
- //# sourceMappingURL=base.js.map
341
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  export { serve, createApp } from './server.js';
2
- export type { ServeOptions } from './server.js';
2
+ export type { ServeOptions, CreateAppOptions, FullServeOptions } from './server.js';
3
3
  export { VERSION } from './version.js';
4
- export type { Role, InvokeRequest, InvokeResponse, ChatRequest, ChatResponse, Message, } from './types.js';
5
- export { AgentBase, Agent, BaseAdapter } from './adapters/base.js';
6
- export type { AgentMetadata, InvokeHandler, ChatHandler, InvokeStreamHandler, ChatStreamHandler, FetchHandler, } from './adapters/base.js';
4
+ export type { Role, InvokeRequest, InvokeResponse, ChatRequest, ChatResponse, Message, ToolSchema, ToolExecuteRequest, ToolExecuteResponse, } from './types.js';
5
+ export { AgentBase, Agent } from './agent.js';
6
+ export type { AgentMetadata, InvokeHandler, ChatHandler, InvokeStreamHandler, ChatStreamHandler, FetchHandler, } from './agent.js';
7
+ export { AdapterBase } from './adapter.js';
8
+ export { ToolBase, Tool, tool } from './tool.js';
9
+ export type { ToolMetadata, ToolOptions, ExecuteHandler } from './tool.js';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EACV,IAAI,EACJ,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,GACb,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EACV,IAAI,EACJ,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,OAAO,EAEP,UAAU,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,9 @@
1
1
  export { serve, createApp } from './server.js';
2
2
  export { VERSION } from './version.js';
3
- export { AgentBase, Agent, BaseAdapter } from './adapters/base.js';
3
+ // Agent exports
4
+ export { AgentBase, Agent } from './agent.js';
5
+ // Adapter exports
6
+ export { AdapterBase } from './adapter.js';
7
+ // Tool exports
8
+ export { ToolBase, Tool, tool } from './tool.js';
4
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AASvC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAavC,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAS9C,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
package/dist/server.d.ts CHANGED
@@ -2,24 +2,30 @@
2
2
  * Reminix Runtime Server
3
3
  */
4
4
  import { Hono } from 'hono';
5
- import type { AgentBase } from './adapters/base.js';
5
+ import type { AgentBase } from './agent.js';
6
+ import type { ToolBase } from './tool.js';
6
7
  export interface ServeOptions {
7
8
  port?: number;
8
9
  hostname?: string;
9
10
  }
11
+ export interface CreateAppOptions {
12
+ agents?: AgentBase[];
13
+ tools?: ToolBase[];
14
+ }
10
15
  /**
11
- * Create a Hono application with agent endpoints.
16
+ * Create a Hono application with agent and tool endpoints.
12
17
  *
13
- * @param agents - List of agents.
18
+ * @param options - Options containing agents and/or tools.
14
19
  * @returns A Hono application instance.
15
- * @throws Error if no agents are provided.
20
+ * @throws Error if no agents or tools are provided.
16
21
  */
17
- export declare function createApp(agents: AgentBase[]): Hono;
22
+ export declare function createApp(options: CreateAppOptions): Hono;
23
+ export interface FullServeOptions extends ServeOptions, CreateAppOptions {
24
+ }
18
25
  /**
19
- * Serve agents via REST API.
26
+ * Serve agents and tools via REST API.
20
27
  *
21
- * @param agents - List of agents.
22
- * @param options - Server options.
28
+ * @param options - Options containing agents, tools, and server settings.
23
29
  */
24
- export declare function serve(agents: AgentBase[], options?: ServeOptions): void;
30
+ export declare function serve(options?: FullServeOptions): void;
25
31
  //# sourceMappingURL=server.d.ts.map
@@ -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;AAG5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CA2GnD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,IAAI,CAY3E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI1C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAsIzD;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY,EAAE,gBAAgB;CAAG;AAE3E;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,gBAAqB,GAAG,IAAI,CAgB1D"}
package/dist/server.js CHANGED
@@ -6,21 +6,27 @@ import { streamSSE } from 'hono/streaming';
6
6
  import { serve as honoServe } from '@hono/node-server';
7
7
  import { VERSION } from './version.js';
8
8
  /**
9
- * Create a Hono application with agent endpoints.
9
+ * Create a Hono application with agent and tool endpoints.
10
10
  *
11
- * @param agents - List of agents.
11
+ * @param options - Options containing agents and/or tools.
12
12
  * @returns A Hono application instance.
13
- * @throws Error if no agents are provided.
13
+ * @throws Error if no agents or tools are provided.
14
14
  */
15
- export function createApp(agents) {
16
- if (agents.length === 0) {
17
- throw new Error('At least one agent is required');
15
+ export function createApp(options) {
16
+ const agents = options.agents ?? [];
17
+ const tools = options.tools ?? [];
18
+ if (agents.length === 0 && tools.length === 0) {
19
+ throw new Error('At least one agent or tool is required');
18
20
  }
19
- // Build a lookup map for agents by name
21
+ // Build lookup maps by name
20
22
  const agentMap = new Map();
21
23
  for (const agent of agents) {
22
24
  agentMap.set(agent.name, agent);
23
25
  }
26
+ const toolMap = new Map();
27
+ for (const tool of tools) {
28
+ toolMap.set(tool.name, tool);
29
+ }
24
30
  const app = new Hono();
25
31
  // Health check endpoint
26
32
  app.get('/health', (c) => {
@@ -41,6 +47,10 @@ export function createApp(agents) {
41
47
  invoke: { streaming: agent.invokeStreaming },
42
48
  chat: { streaming: agent.chatStreaming },
43
49
  })),
50
+ tools: tools.map((tool) => ({
51
+ name: tool.name,
52
+ ...tool.metadata,
53
+ })),
44
54
  });
45
55
  });
46
56
  // Invoke endpoint
@@ -103,17 +113,31 @@ export function createApp(agents) {
103
113
  const response = await agent.chat(body);
104
114
  return c.json(response);
105
115
  });
116
+ // Tool execute endpoint
117
+ app.post('/tools/:toolName/execute', async (c) => {
118
+ const toolName = c.req.param('toolName');
119
+ const tool = toolMap.get(toolName);
120
+ if (!tool) {
121
+ return c.json({ error: `Tool '${toolName}' not found` }, 404);
122
+ }
123
+ const body = await c.req.json();
124
+ const response = await tool.execute(body);
125
+ return c.json(response);
126
+ });
106
127
  return app;
107
128
  }
108
129
  /**
109
- * Serve agents via REST API.
130
+ * Serve agents and tools via REST API.
110
131
  *
111
- * @param agents - List of agents.
112
- * @param options - Server options.
132
+ * @param options - Options containing agents, tools, and server settings.
113
133
  */
114
- export function serve(agents, options = {}) {
115
- const { port = 8080, hostname = '::' } = options;
116
- const app = createApp(agents);
134
+ export function serve(options = {}) {
135
+ // Default to 0.0.0.0 for Fly's load balancer compatibility
136
+ // Can be overridden via HOST env var or options.hostname
137
+ const defaultHostname = process.env.HOST || '0.0.0.0';
138
+ const defaultPort = process.env.PORT ? parseInt(process.env.PORT, 10) : 8080;
139
+ const { port = defaultPort, hostname = defaultHostname, agents, tools } = options;
140
+ const app = createApp({ agents, tools });
117
141
  honoServe({
118
142
  fetch: app.fetch,
119
143
  port,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/tool.d.ts ADDED
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Reminix Runtime Tool definitions
3
+ */
4
+ import type { ToolSchema, ToolExecuteRequest, ToolExecuteResponse } from './types.js';
5
+ /** Metadata for a tool */
6
+ export interface ToolMetadata {
7
+ type: 'tool';
8
+ description: string;
9
+ parameters: ToolSchema;
10
+ output?: ToolSchema;
11
+ }
12
+ /** Execute handler function type */
13
+ export type ExecuteHandler = (input: Record<string, unknown>, context?: Record<string, unknown>) => Promise<unknown> | unknown;
14
+ /**
15
+ * Abstract base class for all tools.
16
+ */
17
+ export declare abstract class ToolBase {
18
+ /** Unique tool identifier */
19
+ abstract get name(): string;
20
+ /** Human-readable description */
21
+ abstract get description(): string;
22
+ /** JSON Schema for input parameters */
23
+ abstract get parameters(): ToolSchema;
24
+ /** Optional JSON Schema for output */
25
+ get output(): ToolSchema | undefined;
26
+ /** Metadata for runtime discovery */
27
+ get metadata(): ToolMetadata;
28
+ /** Execute the tool with the given input */
29
+ abstract execute(request: ToolExecuteRequest): Promise<ToolExecuteResponse>;
30
+ }
31
+ /** Options for creating a tool */
32
+ export interface ToolOptions {
33
+ /** Human-readable description of what the tool does */
34
+ description: string;
35
+ /** JSON Schema for input parameters */
36
+ parameters: ToolSchema;
37
+ /** Optional JSON Schema for output (for documentation and type inference) */
38
+ output?: ToolSchema;
39
+ /** Function to execute when the tool is called */
40
+ execute: ExecuteHandler;
41
+ }
42
+ /**
43
+ * A tool created using the tool() factory function.
44
+ */
45
+ export declare class Tool extends ToolBase {
46
+ private _name;
47
+ private _description;
48
+ private _parameters;
49
+ private _output?;
50
+ private _executeHandler;
51
+ constructor(name: string, options: ToolOptions);
52
+ get name(): string;
53
+ get description(): string;
54
+ get parameters(): ToolSchema;
55
+ get output(): ToolSchema | undefined;
56
+ execute(request: ToolExecuteRequest): Promise<ToolExecuteResponse>;
57
+ }
58
+ /**
59
+ * Factory function to create a tool.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * import { tool } from '@reminix/runtime';
64
+ *
65
+ * const getWeather = tool('get_weather', {
66
+ * description: 'Get current weather for a location',
67
+ * parameters: {
68
+ * type: 'object',
69
+ * properties: {
70
+ * location: { type: 'string', description: 'City name' },
71
+ * units: { type: 'string', default: 'celsius' },
72
+ * },
73
+ * required: ['location'],
74
+ * },
75
+ * output: {
76
+ * type: 'object',
77
+ * properties: {
78
+ * temp: { type: 'number' },
79
+ * condition: { type: 'string' },
80
+ * },
81
+ * },
82
+ * execute: async (input) => {
83
+ * const location = input.location as string;
84
+ * return { temp: 22, condition: 'sunny' };
85
+ * },
86
+ * });
87
+ * ```
88
+ */
89
+ export declare function tool(name: string, options: ToolOptions): Tool;
90
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtF,0BAA0B;AAC1B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEhC;;GAEG;AACH,8BAAsB,QAAQ;IAC5B,6BAA6B;IAC7B,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC;IAE5B,iCAAiC;IACjC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IAEnC,uCAAuC;IACvC,QAAQ,KAAK,UAAU,IAAI,UAAU,CAAC;IAEtC,sCAAsC;IACtC,IAAI,MAAM,IAAI,UAAU,GAAG,SAAS,CAEnC;IAED,qCAAqC;IACrC,IAAI,QAAQ,IAAI,YAAY,CAU3B;IAED,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAC5E;AAED,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,kDAAkD;IAClD,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,IAAK,SAAQ,QAAQ;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,eAAe,CAAiB;gBAE5B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAS9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,MAAM,IAAI,UAAU,GAAG,SAAS,CAEnC;IAEK,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CASzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAE7D"}
package/dist/tool.js ADDED
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Reminix Runtime Tool definitions
3
+ */
4
+ /**
5
+ * Abstract base class for all tools.
6
+ */
7
+ export class ToolBase {
8
+ /** Optional JSON Schema for output */
9
+ get output() {
10
+ return undefined;
11
+ }
12
+ /** Metadata for runtime discovery */
13
+ get metadata() {
14
+ const meta = {
15
+ type: 'tool',
16
+ description: this.description,
17
+ parameters: this.parameters,
18
+ };
19
+ if (this.output) {
20
+ meta.output = this.output;
21
+ }
22
+ return meta;
23
+ }
24
+ }
25
+ /**
26
+ * A tool created using the tool() factory function.
27
+ */
28
+ export class Tool extends ToolBase {
29
+ _name;
30
+ _description;
31
+ _parameters;
32
+ _output;
33
+ _executeHandler;
34
+ constructor(name, options) {
35
+ super();
36
+ this._name = name;
37
+ this._description = options.description;
38
+ this._parameters = options.parameters;
39
+ this._output = options.output;
40
+ this._executeHandler = options.execute;
41
+ }
42
+ get name() {
43
+ return this._name;
44
+ }
45
+ get description() {
46
+ return this._description;
47
+ }
48
+ get parameters() {
49
+ return this._parameters;
50
+ }
51
+ get output() {
52
+ return this._output;
53
+ }
54
+ async execute(request) {
55
+ try {
56
+ const result = await this._executeHandler(request.input, request.context);
57
+ return { output: result };
58
+ }
59
+ catch (error) {
60
+ const message = error instanceof Error ? error.message : 'Unknown error';
61
+ return { output: null, error: message };
62
+ }
63
+ }
64
+ }
65
+ /**
66
+ * Factory function to create a tool.
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * import { tool } from '@reminix/runtime';
71
+ *
72
+ * const getWeather = tool('get_weather', {
73
+ * description: 'Get current weather for a location',
74
+ * parameters: {
75
+ * type: 'object',
76
+ * properties: {
77
+ * location: { type: 'string', description: 'City name' },
78
+ * units: { type: 'string', default: 'celsius' },
79
+ * },
80
+ * required: ['location'],
81
+ * },
82
+ * output: {
83
+ * type: 'object',
84
+ * properties: {
85
+ * temp: { type: 'number' },
86
+ * condition: { type: 'string' },
87
+ * },
88
+ * },
89
+ * execute: async (input) => {
90
+ * const location = input.location as string;
91
+ * return { temp: 22, condition: 'sunny' };
92
+ * },
93
+ * });
94
+ * ```
95
+ */
96
+ export function tool(name, options) {
97
+ return new Tool(name, options);
98
+ }
99
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH;;GAEG;AACH,MAAM,OAAgB,QAAQ;IAU5B,sCAAsC;IACtC,IAAI,MAAM;QACR,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ;QACV,MAAM,IAAI,GAAiB;YACzB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAIF;AAcD;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,QAAQ;IACxB,KAAK,CAAS;IACd,YAAY,CAAS;IACrB,WAAW,CAAa;IACxB,OAAO,CAAc;IACrB,eAAe,CAAiB;IAExC,YAAY,IAAY,EAAE,OAAoB;QAC5C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACzE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,OAAoB;IACrD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -35,4 +35,17 @@ export interface ChatResponse {
35
35
  output: string;
36
36
  messages: Message[];
37
37
  }
38
+ export interface ToolSchema {
39
+ type: 'object';
40
+ properties: Record<string, unknown>;
41
+ required?: string[];
42
+ }
43
+ export interface ToolExecuteRequest {
44
+ input: Record<string, unknown>;
45
+ context?: Record<string, unknown>;
46
+ }
47
+ export interface ToolExecuteResponse {
48
+ output: unknown;
49
+ error?: string | null;
50
+ }
38
51
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0BAA0B;AAC1B,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0BAA0B;AAC1B,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAID,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB"}
package/dist/version.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Runtime version.
3
3
  */
4
- export declare const VERSION = "0.0.4";
4
+ export declare const VERSION = "0.0.6";
5
5
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Runtime version.
3
3
  */
4
- export const VERSION = '0.0.4';
4
+ export const VERSION = '0.0.6';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reminix/runtime",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "Reminix Runtime - Serve AI agents as REST APIs with streaming support",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG5F;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEpG;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEhG;;;;;;GAMG;AACH,8BAAsB,SAAS;IAC7B;;OAEG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC;IAE5B;;;OAGG;IACH,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAE1D;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAIlF;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAI9E;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,IAAI,YAAY;CAqK1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,KAAM,SAAQ,SAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,kBAAkB,CAAkC;IAE5D;;;;;OAKG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;IAM1E;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED;;OAEG;IACH,IAAa,eAAe,IAAI,OAAO,CAEtC;IAED;;OAEG;IACH,IAAa,aAAa,IAAI,OAAO,CAEpC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKtC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKlC;;;;;;;;OAQG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKlD;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAK9C;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAO7D;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAOvD;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAOlF;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;CAM/E;AAED;;;;;GAKG;AACH,8BAAsB,WAAY,SAAQ,SAAS;IACjD;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAa;IAEvC;;OAEG;IACH,IAAa,eAAe,IAAI,OAAO,CAEtC;IAED,IAAa,aAAa,IAAI,OAAO,CAEpC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,CAK5B;IAED;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAIlF;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;CAG/E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { BaseAdapter } from './base.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -1,2 +0,0 @@
1
- export { BaseAdapter } from './base.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}