@reminix/openai 0.0.2 → 0.0.3
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 +23 -6
- package/dist/adapter.d.ts +24 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +23 -1
- package/dist/adapter.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -14,18 +14,23 @@ This will also install `@reminix/runtime` as a dependency.
|
|
|
14
14
|
|
|
15
15
|
## Quick Start
|
|
16
16
|
|
|
17
|
+
```typescript
|
|
18
|
+
import OpenAI from 'openai';
|
|
19
|
+
import { wrapAndServe } from '@reminix/openai';
|
|
20
|
+
|
|
21
|
+
const client = new OpenAI();
|
|
22
|
+
wrapAndServe(client, { name: 'my-chatbot', model: 'gpt-4o', port: 8080 });
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
For more flexibility (e.g., serving multiple agents), use `wrap` and `serve` separately:
|
|
26
|
+
|
|
17
27
|
```typescript
|
|
18
28
|
import OpenAI from 'openai';
|
|
19
29
|
import { wrap } from '@reminix/openai';
|
|
20
30
|
import { serve } from '@reminix/runtime';
|
|
21
31
|
|
|
22
|
-
// Create an OpenAI client
|
|
23
32
|
const client = new OpenAI();
|
|
24
|
-
|
|
25
|
-
// Wrap it with the Reminix adapter
|
|
26
33
|
const agent = wrap(client, { name: 'my-chatbot', model: 'gpt-4o' });
|
|
27
|
-
|
|
28
|
-
// Serve it as a REST API
|
|
29
34
|
serve([agent], { port: 8080 });
|
|
30
35
|
```
|
|
31
36
|
|
|
@@ -35,9 +40,21 @@ Your agent is now available at:
|
|
|
35
40
|
|
|
36
41
|
## API Reference
|
|
37
42
|
|
|
43
|
+
### `wrapAndServe(client, options)`
|
|
44
|
+
|
|
45
|
+
Wrap an OpenAI client and serve it immediately. Combines `wrap` and `serve` for single-agent setups.
|
|
46
|
+
|
|
47
|
+
| Parameter | Type | Default | Description |
|
|
48
|
+
|-----------|------|---------|-------------|
|
|
49
|
+
| `client` | `OpenAI` | required | An OpenAI client |
|
|
50
|
+
| `options.name` | `string` | `"openai-agent"` | Name for the agent (used in URL path) |
|
|
51
|
+
| `options.model` | `string` | `"gpt-4o-mini"` | Model to use for completions |
|
|
52
|
+
| `options.port` | `number` | `8080` | Port to serve on |
|
|
53
|
+
| `options.hostname` | `string` | `"0.0.0.0"` | Hostname to bind to |
|
|
54
|
+
|
|
38
55
|
### `wrap(client, options)`
|
|
39
56
|
|
|
40
|
-
Wrap an OpenAI client for use with Reminix Runtime.
|
|
57
|
+
Wrap an OpenAI client for use with Reminix Runtime. Use this with `serve` from `@reminix/runtime` for multi-agent setups.
|
|
41
58
|
|
|
42
59
|
| Parameter | Type | Default | Description |
|
|
43
60
|
|-----------|------|---------|-------------|
|
package/dist/adapter.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* OpenAI adapter for Reminix Runtime.
|
|
3
3
|
*/
|
|
4
4
|
import type OpenAI from 'openai';
|
|
5
|
-
import { BaseAdapter, type InvokeRequest, type InvokeResponse, type ChatRequest, type ChatResponse } from '@reminix/runtime';
|
|
5
|
+
import { BaseAdapter, type ServeOptions, type InvokeRequest, type InvokeResponse, type ChatRequest, type ChatResponse } from '@reminix/runtime';
|
|
6
6
|
/**
|
|
7
7
|
* Options for wrapping an OpenAI client.
|
|
8
8
|
*/
|
|
@@ -84,4 +84,27 @@ export declare class OpenAIAdapter extends BaseAdapter {
|
|
|
84
84
|
* ```
|
|
85
85
|
*/
|
|
86
86
|
export declare function wrap(client: OpenAI, options?: OpenAIAdapterOptions): OpenAIAdapter;
|
|
87
|
+
/**
|
|
88
|
+
* Options for wrapping and serving an OpenAI client.
|
|
89
|
+
*/
|
|
90
|
+
export interface WrapAndServeOptions extends OpenAIAdapterOptions, ServeOptions {
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Wrap an OpenAI client and serve it immediately.
|
|
94
|
+
*
|
|
95
|
+
* This is a convenience function that combines `wrap` and `serve` for single-agent setups.
|
|
96
|
+
*
|
|
97
|
+
* @param client - An OpenAI client.
|
|
98
|
+
* @param options - Combined adapter and server options.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* import OpenAI from 'openai';
|
|
103
|
+
* import { wrapAndServe } from '@reminix/openai';
|
|
104
|
+
*
|
|
105
|
+
* const client = new OpenAI();
|
|
106
|
+
* wrapAndServe(client, { name: 'my-agent', model: 'gpt-4o', port: 8080 });
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare function wrapAndServe(client: OpenAI, options?: WrapAndServeOptions): void;
|
|
87
110
|
//# sourceMappingURL=adapter.d.ts.map
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EACL,WAAW,EAEX,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EAElB,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,MAAM,CAAC,WAAW,SAAY;IAE9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;IAO9D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAyB7D;;;;;;;OAOG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBvD;;;;;OAKG;IACI,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IA4BlF;;;;;OAKG;IACI,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;CAkB/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAEtF;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB,EAAE,YAAY;CAAG;AAElF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CAIpF"}
|
package/dist/adapter.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* OpenAI adapter for Reminix Runtime.
|
|
3
3
|
*/
|
|
4
|
-
import { BaseAdapter, } from '@reminix/runtime';
|
|
4
|
+
import { BaseAdapter, serve, } from '@reminix/runtime';
|
|
5
5
|
/**
|
|
6
6
|
* Adapter for OpenAI chat completions.
|
|
7
7
|
*/
|
|
@@ -170,4 +170,26 @@ export class OpenAIAdapter extends BaseAdapter {
|
|
|
170
170
|
export function wrap(client, options = {}) {
|
|
171
171
|
return new OpenAIAdapter(client, options);
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Wrap an OpenAI client and serve it immediately.
|
|
175
|
+
*
|
|
176
|
+
* This is a convenience function that combines `wrap` and `serve` for single-agent setups.
|
|
177
|
+
*
|
|
178
|
+
* @param client - An OpenAI client.
|
|
179
|
+
* @param options - Combined adapter and server options.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* import OpenAI from 'openai';
|
|
184
|
+
* import { wrapAndServe } from '@reminix/openai';
|
|
185
|
+
*
|
|
186
|
+
* const client = new OpenAI();
|
|
187
|
+
* wrapAndServe(client, { name: 'my-agent', model: 'gpt-4o', port: 8080 });
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
export function wrapAndServe(client, options = {}) {
|
|
191
|
+
const { port, hostname, ...adapterOptions } = options;
|
|
192
|
+
const agent = wrap(client, adapterOptions);
|
|
193
|
+
serve([agent], { port, hostname });
|
|
194
|
+
}
|
|
173
195
|
//# sourceMappingURL=adapter.js.map
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { OpenAIAdapter, wrap } from './adapter.js';
|
|
2
|
-
export type { OpenAIAdapterOptions } from './adapter.js';
|
|
1
|
+
export { OpenAIAdapter, wrap, wrapAndServe } from './adapter.js';
|
|
2
|
+
export type { OpenAIAdapterOptions, WrapAndServeOptions } from './adapter.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { OpenAIAdapter, wrap } from './adapter.js';
|
|
1
|
+
export { OpenAIAdapter, wrap, wrapAndServe } from './adapter.js';
|
|
2
2
|
//# 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,aAAa,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reminix/openai",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Reminix adapter for OpenAI - serve agents as REST APIs",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -41,10 +41,11 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
|
-
"dist"
|
|
44
|
+
"dist",
|
|
45
|
+
"LICENSE"
|
|
45
46
|
],
|
|
46
47
|
"dependencies": {
|
|
47
|
-
"@reminix/runtime": "^0.0.
|
|
48
|
+
"@reminix/runtime": "^0.0.3"
|
|
48
49
|
},
|
|
49
50
|
"peerDependencies": {
|
|
50
51
|
"openai": ">=6.16.0"
|