@reminix/runtime 0.0.12 → 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 +7 -7
- 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 -62
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +149 -262
- 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
|
@@ -48,8 +48,8 @@ The runtime creates a REST server (powered by [Hono](https://hono.dev)) with the
|
|
|
48
48
|
|----------|--------|-------------|
|
|
49
49
|
| `/health` | GET | Health check |
|
|
50
50
|
| `/info` | GET | Runtime discovery (version, agents, tools) |
|
|
51
|
-
| `/agents/{name}/invoke` | POST |
|
|
52
|
-
| `/tools/{name}/call` | POST |
|
|
51
|
+
| `/agents/{name}/invoke` | POST | Invoke an agent |
|
|
52
|
+
| `/tools/{name}/call` | POST | Call a tool |
|
|
53
53
|
|
|
54
54
|
### Health Endpoint
|
|
55
55
|
|
|
@@ -71,7 +71,7 @@ Returns runtime information, available agents, and tools:
|
|
|
71
71
|
{
|
|
72
72
|
"runtime": {
|
|
73
73
|
"name": "reminix-runtime",
|
|
74
|
-
"version": "0.0.
|
|
74
|
+
"version": "0.0.15",
|
|
75
75
|
"language": "typescript",
|
|
76
76
|
"framework": "hono"
|
|
77
77
|
},
|
|
@@ -142,9 +142,9 @@ Returns runtime information, available agents, and tools:
|
|
|
142
142
|
}
|
|
143
143
|
```
|
|
144
144
|
|
|
145
|
-
### Agent
|
|
145
|
+
### Agent Invoke Endpoint
|
|
146
146
|
|
|
147
|
-
`POST /agents/{name}/invoke` -
|
|
147
|
+
`POST /agents/{name}/invoke` - Invoke an agent.
|
|
148
148
|
|
|
149
149
|
Request keys are defined by the agent's `parameters` schema. For example, a calculator agent with `parameters: { properties: { a, b } }` expects `a` and `b` at the top level:
|
|
150
150
|
|
|
@@ -188,9 +188,9 @@ curl -X POST http://localhost:8080/agents/assistant/invoke \
|
|
|
188
188
|
}
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
-
### Tool
|
|
191
|
+
### Tool Call Endpoint
|
|
192
192
|
|
|
193
|
-
`POST /tools/{name}/call` -
|
|
193
|
+
`POST /tools/{name}/call` - Call a standalone tool.
|
|
194
194
|
|
|
195
195
|
```bash
|
|
196
196
|
curl -X POST http://localhost:8080/tools/get_weather/call \
|
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,27 +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:
|
|
137
|
-
onExecute: (fn: ExecuteHandler) => this;
|
|
138
|
-
onExecuteStream: (fn: ExecuteStreamHandler) => this;
|
|
126
|
+
streamHandler(fn: InvokeStreamHandler): this;
|
|
139
127
|
/**
|
|
140
|
-
* Handle an
|
|
128
|
+
* Handle an invoke request.
|
|
141
129
|
*/
|
|
142
|
-
|
|
130
|
+
invoke(request: AgentInvokeRequest): Promise<AgentInvokeResponse>;
|
|
143
131
|
/**
|
|
144
|
-
* Handle a streaming
|
|
132
|
+
* Handle a streaming invoke request.
|
|
145
133
|
*/
|
|
146
|
-
|
|
134
|
+
invokeStream(request: AgentInvokeRequest): AsyncGenerator<string, void, unknown>;
|
|
147
135
|
}
|
|
148
136
|
/**
|
|
149
137
|
* Options for creating an agent with the agent() factory.
|
|
@@ -151,20 +139,13 @@ export declare class Agent extends AgentBase {
|
|
|
151
139
|
export interface AgentOptions {
|
|
152
140
|
/** Human-readable description of what the agent does */
|
|
153
141
|
description?: string;
|
|
154
|
-
/** Optional metadata for discovery */
|
|
155
|
-
metadata?: Record<string, unknown>;
|
|
156
142
|
/**
|
|
157
|
-
* JSON Schema for input
|
|
158
|
-
* The keys in `properties` become the top-level request keys.
|
|
143
|
+
* JSON Schema for input.
|
|
159
144
|
* Defaults to { prompt: string } if not provided.
|
|
160
145
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
required?: string[];
|
|
165
|
-
};
|
|
166
|
-
/** JSON Schema for output */
|
|
167
|
-
output?: Record<string, unknown>;
|
|
146
|
+
input?: JSONSchema;
|
|
147
|
+
/** JSON Schema for output. Defaults to string. */
|
|
148
|
+
output?: JSONSchema;
|
|
168
149
|
/**
|
|
169
150
|
* Handler function - can be a regular async function or an async generator for streaming.
|
|
170
151
|
*
|
|
@@ -179,8 +160,6 @@ export interface AgentOptions {
|
|
|
179
160
|
export interface ChatAgentOptions {
|
|
180
161
|
/** Human-readable description of what the agent does */
|
|
181
162
|
description?: string;
|
|
182
|
-
/** Optional metadata for discovery */
|
|
183
|
-
metadata?: Record<string, unknown>;
|
|
184
163
|
/**
|
|
185
164
|
* Handler function - can be a regular async function or an async generator for streaming.
|
|
186
165
|
*
|
|
@@ -192,35 +171,35 @@ export interface ChatAgentOptions {
|
|
|
192
171
|
/**
|
|
193
172
|
* Create an agent from a configuration object.
|
|
194
173
|
*
|
|
195
|
-
* By default, agents expect `{ prompt: string }` in the request body and
|
|
196
|
-
* 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.
|
|
197
176
|
*
|
|
198
177
|
* @example
|
|
199
178
|
* ```typescript
|
|
200
|
-
* // Simple agent with default
|
|
201
|
-
* // Request: { prompt: 'Hello world' }
|
|
179
|
+
* // Simple agent with default input/output
|
|
180
|
+
* // Request: { input: { prompt: 'Hello world' } }
|
|
202
181
|
* // Response: { output: 'You said: Hello world' }
|
|
203
182
|
* const echo = agent('echo', {
|
|
204
183
|
* description: 'Echo the prompt',
|
|
205
184
|
* handler: async ({ prompt }) => `You said: ${prompt}`,
|
|
206
185
|
* });
|
|
207
186
|
*
|
|
208
|
-
* // Agent with custom
|
|
209
|
-
* // Request: { a: 1, b: 2 }
|
|
187
|
+
* // Agent with custom input schema
|
|
188
|
+
* // Request: { input: { a: 1, b: 2 } }
|
|
210
189
|
* // Response: { output: 3 }
|
|
211
190
|
* const calculator = agent('calculator', {
|
|
212
191
|
* description: 'Add two numbers',
|
|
213
|
-
*
|
|
192
|
+
* input: {
|
|
214
193
|
* type: 'object',
|
|
215
194
|
* properties: { a: { type: 'number' }, b: { type: 'number' } },
|
|
216
195
|
* required: ['a', 'b'],
|
|
217
196
|
* },
|
|
197
|
+
* output: { type: 'number' },
|
|
218
198
|
* handler: async ({ a, b }) => (a as number) + (b as number),
|
|
219
199
|
* });
|
|
220
200
|
*
|
|
221
201
|
* // Streaming agent (async generator)
|
|
222
|
-
* // Request: { prompt: 'hello world' }
|
|
223
|
-
* // Response: { output: 'hello world ' } (streamed)
|
|
202
|
+
* // Request: { input: { prompt: 'hello world' }, stream: true }
|
|
224
203
|
* const streamer = agent('streamer', {
|
|
225
204
|
* description: 'Stream text word by word',
|
|
226
205
|
* handler: async function* ({ prompt }) {
|
|
@@ -238,14 +217,12 @@ export declare function agent(name: string, options: AgentOptions): Agent;
|
|
|
238
217
|
* This is a convenience factory that creates an agent with a standard chat
|
|
239
218
|
* interface (messages in, messages out).
|
|
240
219
|
*
|
|
241
|
-
* Request: `{ messages: [...] }`
|
|
242
|
-
* Response: `{ messages: [{ role: 'assistant', content: '...' }, ...] }`
|
|
220
|
+
* Request: `{ input: { messages: [...] } }`
|
|
221
|
+
* Response: `{ output: { messages: [{ role: 'assistant', content: '...' }, ...] } }`
|
|
243
222
|
*
|
|
244
223
|
* @example
|
|
245
224
|
* ```typescript
|
|
246
225
|
* // Non-streaming chat agent
|
|
247
|
-
* // Request: { messages: [{ role: 'user', content: 'hello' }] }
|
|
248
|
-
* // Response: { messages: [{ role: 'assistant', content: 'You said: hello' }] }
|
|
249
226
|
* const bot = chatAgent('bot', {
|
|
250
227
|
* description: 'A simple chatbot',
|
|
251
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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"}
|