@reminix/runtime 0.0.7 → 0.0.8
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 +343 -167
- package/dist/agent-adapter.d.ts +4 -9
- package/dist/agent-adapter.d.ts.map +1 -1
- package/dist/agent-adapter.js +3 -13
- package/dist/agent-adapter.js.map +1 -1
- package/dist/agent.d.ts +149 -80
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +279 -150
- package/dist/agent.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +20 -40
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +8 -13
- 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/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 { ExecuteRequest } from './types.js';
|
|
5
5
|
import { AgentBase, type AgentMetadata } from './agent.js';
|
|
6
6
|
/**
|
|
7
7
|
* Base class for framework agent adapters.
|
|
@@ -17,19 +17,14 @@ export declare abstract class AgentAdapter extends AgentBase {
|
|
|
17
17
|
/**
|
|
18
18
|
* All built-in adapters support streaming.
|
|
19
19
|
*/
|
|
20
|
-
get
|
|
21
|
-
get chatStreaming(): boolean;
|
|
20
|
+
get streaming(): boolean;
|
|
22
21
|
/**
|
|
23
22
|
* Return adapter metadata for discovery.
|
|
24
23
|
*/
|
|
25
24
|
get metadata(): AgentMetadata;
|
|
26
25
|
/**
|
|
27
|
-
* Handle a streaming
|
|
26
|
+
* Handle a streaming execute request.
|
|
28
27
|
*/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Handle a streaming chat request.
|
|
32
|
-
*/
|
|
33
|
-
chatStream(_request: ChatRequest): AsyncGenerator<string, void, unknown>;
|
|
28
|
+
executeStream(_request: ExecuteRequest): AsyncGenerator<string, void, unknown>;
|
|
34
29
|
}
|
|
35
30
|
//# 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,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3D;;;;;GAKG;AACH,8BAAsB,YAAa,SAAQ,SAAS;IAClD;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAa;IAEvC;;OAEG;IACH,IAAa,SAAS,IAAI,OAAO,CAEhC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,CAK5B;IAED;;OAEG;IAEI,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;CAGtF"}
|
package/dist/agent-adapter.js
CHANGED
|
@@ -16,10 +16,7 @@ export class AgentAdapter extends AgentBase {
|
|
|
16
16
|
/**
|
|
17
17
|
* All built-in adapters support streaming.
|
|
18
18
|
*/
|
|
19
|
-
get
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
get chatStreaming() {
|
|
19
|
+
get streaming() {
|
|
23
20
|
return true;
|
|
24
21
|
}
|
|
25
22
|
/**
|
|
@@ -32,17 +29,10 @@ export class AgentAdapter extends AgentBase {
|
|
|
32
29
|
};
|
|
33
30
|
}
|
|
34
31
|
/**
|
|
35
|
-
* Handle a streaming
|
|
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.
|
|
32
|
+
* Handle a streaming execute request.
|
|
43
33
|
*/
|
|
44
34
|
// eslint-disable-next-line require-yield
|
|
45
|
-
async *
|
|
35
|
+
async *executeStream(_request) {
|
|
46
36
|
throw new Error('Streaming not implemented for this adapter');
|
|
47
37
|
}
|
|
48
38
|
}
|
|
@@ -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;;OAEG;IACH,IAAa,
|
|
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;;OAEG;IACH,IAAa,SAAS;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAG,IAAI,CAAC,WAAmC,CAAC,WAAW;SAC/D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,yCAAyC;IACzC,KAAK,CAAC,CAAC,aAAa,CAAC,QAAwB;QAC3C,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 { ExecuteRequest, ExecuteResponse, Message } from './types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Web-standard fetch handler type.
|
|
7
7
|
*/
|
|
@@ -10,42 +10,34 @@ export type FetchHandler = (request: Request) => Promise<Response>;
|
|
|
10
10
|
* Metadata returned by agents for discovery.
|
|
11
11
|
*/
|
|
12
12
|
export interface AgentMetadata {
|
|
13
|
-
type: 'agent' | 'adapter';
|
|
13
|
+
type: 'agent' | 'chat_agent' | 'adapter';
|
|
14
14
|
adapter?: string;
|
|
15
|
+
/** Top-level keys expected in request body (besides stream, context) */
|
|
16
|
+
requestKeys?: string[];
|
|
17
|
+
/** Top-level keys returned in response */
|
|
18
|
+
responseKeys?: string[];
|
|
15
19
|
[key: string]: unknown;
|
|
16
20
|
}
|
|
17
21
|
/**
|
|
18
|
-
* Handler type for
|
|
22
|
+
* Handler type for execute requests.
|
|
19
23
|
*/
|
|
20
|
-
export type
|
|
24
|
+
export type ExecuteHandler = (request: ExecuteRequest) => Promise<ExecuteResponse>;
|
|
21
25
|
/**
|
|
22
|
-
* Handler type for
|
|
26
|
+
* Handler type for streaming execute requests.
|
|
23
27
|
*/
|
|
24
|
-
export type
|
|
25
|
-
/**
|
|
26
|
-
* Handler type for streaming invoke requests.
|
|
27
|
-
*/
|
|
28
|
-
export type InvokeStreamHandler = (request: InvokeRequest) => AsyncGenerator<string, void, unknown>;
|
|
29
|
-
/**
|
|
30
|
-
* Handler type for streaming chat requests.
|
|
31
|
-
*/
|
|
32
|
-
export type ChatStreamHandler = (request: ChatRequest) => AsyncGenerator<string, void, unknown>;
|
|
28
|
+
export type ExecuteStreamHandler = (request: ExecuteRequest) => AsyncGenerator<string, void, unknown>;
|
|
33
29
|
/**
|
|
34
30
|
* Abstract base class defining the agent interface.
|
|
35
31
|
*
|
|
36
32
|
* This is the core contract that all agents must fulfill.
|
|
37
33
|
* Use `Agent` for callback-based registration or extend
|
|
38
|
-
* `
|
|
34
|
+
* `AgentAdapter` for framework adapters.
|
|
39
35
|
*/
|
|
40
36
|
export declare abstract class AgentBase {
|
|
41
37
|
/**
|
|
42
|
-
* Whether
|
|
38
|
+
* Whether execute supports streaming. Override to enable.
|
|
43
39
|
*/
|
|
44
|
-
get
|
|
45
|
-
/**
|
|
46
|
-
* Whether chat supports streaming. Override to enable.
|
|
47
|
-
*/
|
|
48
|
-
get chatStreaming(): boolean;
|
|
40
|
+
get streaming(): boolean;
|
|
49
41
|
/**
|
|
50
42
|
* Return the agent name.
|
|
51
43
|
*/
|
|
@@ -56,21 +48,13 @@ export declare abstract class AgentBase {
|
|
|
56
48
|
*/
|
|
57
49
|
get metadata(): AgentMetadata;
|
|
58
50
|
/**
|
|
59
|
-
* Handle an
|
|
51
|
+
* Handle an execute request.
|
|
60
52
|
*/
|
|
61
|
-
abstract
|
|
53
|
+
abstract execute(request: ExecuteRequest): Promise<ExecuteResponse>;
|
|
62
54
|
/**
|
|
63
|
-
* Handle a
|
|
55
|
+
* Handle a streaming execute request.
|
|
64
56
|
*/
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Handle a streaming invoke request.
|
|
68
|
-
*/
|
|
69
|
-
invokeStream(_request: InvokeRequest): AsyncGenerator<string, void, unknown>;
|
|
70
|
-
/**
|
|
71
|
-
* Handle a streaming chat request.
|
|
72
|
-
*/
|
|
73
|
-
chatStream(_request: ChatRequest): AsyncGenerator<string, void, unknown>;
|
|
57
|
+
executeStream(_request: ExecuteRequest): AsyncGenerator<string, void, unknown>;
|
|
74
58
|
/**
|
|
75
59
|
* Create a web-standard fetch handler for this agent.
|
|
76
60
|
*
|
|
@@ -81,7 +65,7 @@ export declare abstract class AgentBase {
|
|
|
81
65
|
* ```typescript
|
|
82
66
|
* // Vercel Edge Function
|
|
83
67
|
* const agent = new Agent('my-agent');
|
|
84
|
-
* agent.
|
|
68
|
+
* agent.onExecute(async (req) => ({ output: 'Hello!' }));
|
|
85
69
|
* export default agent.toHandler();
|
|
86
70
|
*
|
|
87
71
|
* // Cloudflare Worker
|
|
@@ -98,28 +82,22 @@ export declare abstract class AgentBase {
|
|
|
98
82
|
* ```typescript
|
|
99
83
|
* const agent = new Agent('my-agent');
|
|
100
84
|
*
|
|
101
|
-
* agent.
|
|
85
|
+
* agent.onExecute(async (request) => {
|
|
102
86
|
* return { output: 'Hello!' };
|
|
103
87
|
* });
|
|
104
88
|
*
|
|
105
|
-
* agent.onChat(async (request) => {
|
|
106
|
-
* return { output: 'Hi!', messages: [...] };
|
|
107
|
-
* });
|
|
108
|
-
*
|
|
109
89
|
* serve({ agents: [agent], port: 8080 });
|
|
110
90
|
* ```
|
|
111
91
|
*/
|
|
112
92
|
export declare class Agent extends AgentBase {
|
|
113
93
|
private readonly _name;
|
|
114
94
|
private readonly _metadata;
|
|
115
|
-
private
|
|
116
|
-
private
|
|
117
|
-
private _invokeStreamHandler;
|
|
118
|
-
private _chatStreamHandler;
|
|
95
|
+
private _executeHandler;
|
|
96
|
+
private _executeStreamHandler;
|
|
119
97
|
/**
|
|
120
98
|
* Create a new agent.
|
|
121
99
|
*
|
|
122
|
-
* @param name - The agent name (used in URLs like /agents/{name}/
|
|
100
|
+
* @param name - The agent name (used in URLs like /agents/{name}/execute)
|
|
123
101
|
* @param options - Optional configuration
|
|
124
102
|
*/
|
|
125
103
|
constructor(name: string, options?: {
|
|
@@ -134,65 +112,156 @@ export declare class Agent extends AgentBase {
|
|
|
134
112
|
*/
|
|
135
113
|
get metadata(): AgentMetadata;
|
|
136
114
|
/**
|
|
137
|
-
* Whether
|
|
138
|
-
*/
|
|
139
|
-
get invokeStreaming(): boolean;
|
|
140
|
-
/**
|
|
141
|
-
* Whether chat supports streaming.
|
|
115
|
+
* Whether execute supports streaming.
|
|
142
116
|
*/
|
|
143
|
-
get
|
|
117
|
+
get streaming(): boolean;
|
|
144
118
|
/**
|
|
145
|
-
* Register an
|
|
119
|
+
* Register an execute handler.
|
|
146
120
|
*
|
|
147
121
|
* @example
|
|
148
|
-
* agent.
|
|
122
|
+
* agent.onExecute(async (request) => {
|
|
149
123
|
* return { output: 'Hello!' };
|
|
150
124
|
* });
|
|
151
125
|
*/
|
|
152
|
-
|
|
126
|
+
onExecute(handler: ExecuteHandler): this;
|
|
153
127
|
/**
|
|
154
|
-
* Register a
|
|
128
|
+
* Register a streaming execute handler.
|
|
155
129
|
*
|
|
156
130
|
* @example
|
|
157
|
-
* agent.
|
|
158
|
-
* return { output: 'Hi!', messages: [...] };
|
|
159
|
-
* });
|
|
160
|
-
*/
|
|
161
|
-
onChat(handler: ChatHandler): this;
|
|
162
|
-
/**
|
|
163
|
-
* Register a streaming invoke handler.
|
|
164
|
-
*
|
|
165
|
-
* @example
|
|
166
|
-
* agent.onInvokeStream(async function* (request) {
|
|
131
|
+
* agent.onExecuteStream(async function* (request) {
|
|
167
132
|
* yield '{"chunk": "Hello"}';
|
|
168
133
|
* yield '{"chunk": " world!"}';
|
|
169
134
|
* });
|
|
170
135
|
*/
|
|
171
|
-
|
|
136
|
+
onExecuteStream(handler: ExecuteStreamHandler): this;
|
|
172
137
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* @example
|
|
176
|
-
* agent.onChatStream(async function* (request) {
|
|
177
|
-
* yield '{"chunk": "Hi"}';
|
|
178
|
-
* });
|
|
138
|
+
* Handle an execute request.
|
|
179
139
|
*/
|
|
180
|
-
|
|
140
|
+
execute(request: ExecuteRequest): Promise<ExecuteResponse>;
|
|
181
141
|
/**
|
|
182
|
-
* Handle
|
|
142
|
+
* Handle a streaming execute request.
|
|
183
143
|
*/
|
|
184
|
-
|
|
144
|
+
executeStream(request: ExecuteRequest): AsyncGenerator<string, void, unknown>;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Options for creating an agent with the agent() factory.
|
|
148
|
+
*/
|
|
149
|
+
export interface AgentOptions {
|
|
150
|
+
/** Human-readable description of what the agent does */
|
|
151
|
+
description?: string;
|
|
152
|
+
/** Optional metadata for discovery */
|
|
153
|
+
metadata?: Record<string, unknown>;
|
|
185
154
|
/**
|
|
186
|
-
*
|
|
155
|
+
* JSON Schema for input parameters.
|
|
156
|
+
* The keys in `properties` become the top-level request keys.
|
|
157
|
+
* Defaults to { prompt: string } if not provided.
|
|
187
158
|
*/
|
|
188
|
-
|
|
159
|
+
parameters?: {
|
|
160
|
+
type: 'object';
|
|
161
|
+
properties: Record<string, unknown>;
|
|
162
|
+
required?: string[];
|
|
163
|
+
};
|
|
164
|
+
/** JSON Schema for output */
|
|
165
|
+
output?: Record<string, unknown>;
|
|
189
166
|
/**
|
|
190
|
-
*
|
|
167
|
+
* Execute handler - can be a regular async function or an async generator for streaming.
|
|
168
|
+
*
|
|
169
|
+
* Regular function: Returns output directly
|
|
170
|
+
* Async generator: Yields string chunks (automatically collected for non-streaming requests)
|
|
191
171
|
*/
|
|
192
|
-
|
|
172
|
+
execute: ((input: Record<string, unknown>, context?: Record<string, unknown>) => Promise<unknown>) | ((input: Record<string, unknown>, context?: Record<string, unknown>) => AsyncGenerator<string, void, unknown>);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Options for creating a chat agent with the chatAgent() factory.
|
|
176
|
+
*/
|
|
177
|
+
export interface ChatAgentOptions {
|
|
178
|
+
/** Human-readable description of what the agent does */
|
|
179
|
+
description?: string;
|
|
180
|
+
/** Optional metadata for discovery */
|
|
181
|
+
metadata?: Record<string, unknown>;
|
|
193
182
|
/**
|
|
194
|
-
*
|
|
183
|
+
* Execute handler - can be a regular async function or an async generator for streaming.
|
|
184
|
+
*
|
|
185
|
+
* Regular function: Returns a Message object
|
|
186
|
+
* Async generator: Yields string chunks (automatically collected for non-streaming requests)
|
|
195
187
|
*/
|
|
196
|
-
|
|
188
|
+
execute: ((messages: Message[], context?: Record<string, unknown>) => Promise<Message>) | ((messages: Message[], context?: Record<string, unknown>) => AsyncGenerator<string, void, unknown>);
|
|
197
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Create an agent from a configuration object.
|
|
192
|
+
*
|
|
193
|
+
* By default, agents expect `{ prompt: string }` in the request body and
|
|
194
|
+
* return `{ output: ... }`. You can customize by providing `parameters`.
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* // Simple agent with default parameters
|
|
199
|
+
* // Request: { prompt: 'Hello world' }
|
|
200
|
+
* // Response: { output: 'You said: Hello world' }
|
|
201
|
+
* const echo = agent('echo', {
|
|
202
|
+
* description: 'Echo the prompt',
|
|
203
|
+
* execute: async ({ prompt }) => `You said: ${prompt}`,
|
|
204
|
+
* });
|
|
205
|
+
*
|
|
206
|
+
* // Agent with custom parameters
|
|
207
|
+
* // Request: { a: 1, b: 2 }
|
|
208
|
+
* // Response: { output: 3 }
|
|
209
|
+
* const calculator = agent('calculator', {
|
|
210
|
+
* description: 'Add two numbers',
|
|
211
|
+
* parameters: {
|
|
212
|
+
* type: 'object',
|
|
213
|
+
* properties: { a: { type: 'number' }, b: { type: 'number' } },
|
|
214
|
+
* required: ['a', 'b'],
|
|
215
|
+
* },
|
|
216
|
+
* execute: async ({ a, b }) => (a as number) + (b as number),
|
|
217
|
+
* });
|
|
218
|
+
*
|
|
219
|
+
* // Streaming agent (async generator)
|
|
220
|
+
* // Request: { prompt: 'hello world' }
|
|
221
|
+
* // Response: { output: 'hello world ' } (streamed)
|
|
222
|
+
* const streamer = agent('streamer', {
|
|
223
|
+
* description: 'Stream text word by word',
|
|
224
|
+
* execute: async function* ({ prompt }) {
|
|
225
|
+
* for (const word of (prompt as string).split(' ')) {
|
|
226
|
+
* yield word + ' ';
|
|
227
|
+
* }
|
|
228
|
+
* },
|
|
229
|
+
* });
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
export declare function agent(name: string, options: AgentOptions): Agent;
|
|
233
|
+
/**
|
|
234
|
+
* Create a chat agent from a configuration object.
|
|
235
|
+
*
|
|
236
|
+
* This is a convenience factory that creates an agent with a standard chat
|
|
237
|
+
* interface (messages in, message out).
|
|
238
|
+
*
|
|
239
|
+
* Request: `{ messages: [...] }`
|
|
240
|
+
* Response: `{ message: { role: 'assistant', content: '...' } }`
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```typescript
|
|
244
|
+
* // Non-streaming chat agent
|
|
245
|
+
* // Request: { messages: [{ role: 'user', content: 'hello' }] }
|
|
246
|
+
* // Response: { message: { role: 'assistant', content: 'You said: hello' } }
|
|
247
|
+
* const bot = chatAgent('bot', {
|
|
248
|
+
* description: 'A simple chatbot',
|
|
249
|
+
* execute: async (messages) => {
|
|
250
|
+
* const lastMsg = messages.at(-1)?.content ?? '';
|
|
251
|
+
* return { role: 'assistant', content: `You said: ${lastMsg}` };
|
|
252
|
+
* },
|
|
253
|
+
* });
|
|
254
|
+
*
|
|
255
|
+
* // Streaming chat agent (async generator)
|
|
256
|
+
* const streamingBot = chatAgent('streaming-bot', {
|
|
257
|
+
* description: 'A streaming chatbot',
|
|
258
|
+
* execute: async function* (messages) {
|
|
259
|
+
* yield 'Hello';
|
|
260
|
+
* yield ' ';
|
|
261
|
+
* yield 'world!';
|
|
262
|
+
* },
|
|
263
|
+
* });
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
export declare function chatAgent(name: string, options: ChatAgentOptions): Agent;
|
|
198
267
|
//# sourceMappingURL=agent.d.ts.map
|
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,EAAE,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|