@codespar/sdk 0.1.0 → 0.2.2
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 +4 -0
- package/dist/__tests__/codespar.test.d.ts +7 -0
- package/dist/__tests__/codespar.test.d.ts.map +1 -1
- package/dist/__tests__/codespar.test.js +195 -237
- package/dist/__tests__/codespar.test.js.map +1 -1
- package/dist/index.d.ts +14 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -47
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts +7 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +203 -42
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +169 -59
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -3
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @codespar/sdk — Commerce SDK for AI agents
|
|
3
3
|
*
|
|
4
|
-
* Sessions, managed auth, Complete Loop orchestration
|
|
5
|
-
*
|
|
4
|
+
* Sessions, managed auth, Complete Loop orchestration for Latin American
|
|
5
|
+
* commercial APIs. Talks to api.codespar.dev — see the backend at
|
|
6
|
+
* codespar/codespar-enterprise (packages/api) for the wire contract.
|
|
6
7
|
*
|
|
7
8
|
* @example
|
|
8
9
|
* ```ts
|
|
9
10
|
* import { CodeSpar } from "@codespar/sdk";
|
|
10
11
|
*
|
|
11
|
-
* const cs = new CodeSpar({ apiKey: "
|
|
12
|
+
* const cs = new CodeSpar({ apiKey: "csk_live_..." });
|
|
12
13
|
* const session = await cs.create("user_123", { preset: "brazilian" });
|
|
14
|
+
*
|
|
15
|
+
* // One-shot natural language
|
|
13
16
|
* const result = await session.send("Charge R$150 via Pix and issue the NF-e");
|
|
17
|
+
*
|
|
18
|
+
* // Or stream the agent's thinking + tool calls
|
|
19
|
+
* for await (const event of session.sendStream("Charge R$150 via Pix")) {
|
|
20
|
+
* if (event.type === "tool_result") console.log(event.toolCall);
|
|
21
|
+
* if (event.type === "assistant_text") console.log(event.content);
|
|
22
|
+
* }
|
|
14
23
|
* ```
|
|
15
24
|
*
|
|
16
25
|
* @packageDocumentation
|
|
@@ -25,67 +34,25 @@ export class CodeSpar {
|
|
|
25
34
|
this.config = {
|
|
26
35
|
apiKey: config.apiKey || process.env.CODESPAR_API_KEY || "",
|
|
27
36
|
baseUrl: config.baseUrl || process.env.CODESPAR_BASE_URL || DEFAULT_BASE_URL,
|
|
28
|
-
managed: config.managed ?? true,
|
|
29
37
|
};
|
|
30
38
|
if (!this.config.apiKey) {
|
|
31
39
|
throw new Error("CodeSpar API key is required. Pass { apiKey: '...' } or set CODESPAR_API_KEY env var.\n" +
|
|
32
|
-
"Get your key at https://
|
|
40
|
+
"Get your key at https://codespar.dev/dashboard/settings?tab=api-keys");
|
|
33
41
|
}
|
|
34
42
|
}
|
|
35
43
|
/**
|
|
36
44
|
* Create a new session for a user.
|
|
37
45
|
*
|
|
38
46
|
* @param userId - Unique user identifier
|
|
39
|
-
* @param config - Session configuration (servers, preset,
|
|
40
|
-
* @returns A session with tools, execute, loop, and send methods
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* ```ts
|
|
44
|
-
* const session = await cs.create("user_123", {
|
|
45
|
-
* preset: "brazilian",
|
|
46
|
-
* manageConnections: { waitForConnections: true },
|
|
47
|
-
* });
|
|
48
|
-
* ```
|
|
47
|
+
* @param config - Session configuration (servers, preset, metadata)
|
|
49
48
|
*/
|
|
50
49
|
async create(userId, config = {}) {
|
|
51
|
-
// Validate config
|
|
52
50
|
SessionConfigSchema.parse(config);
|
|
53
51
|
return createSession(userId, config, {
|
|
54
52
|
baseUrl: this.config.baseUrl,
|
|
55
53
|
apiKey: this.config.apiKey,
|
|
56
|
-
managed: this.config.managed,
|
|
57
54
|
});
|
|
58
55
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Auth manager for programmatic OAuth flows.
|
|
61
|
-
*/
|
|
62
|
-
get authManager() {
|
|
63
|
-
const baseUrl = this.config.baseUrl;
|
|
64
|
-
const apiKey = this.config.apiKey;
|
|
65
|
-
return {
|
|
66
|
-
/**
|
|
67
|
-
* Get the OAuth connect URL for a provider.
|
|
68
|
-
* Redirect the user to this URL to start the OAuth flow.
|
|
69
|
-
*/
|
|
70
|
-
getConnectUrl(serverId, redirectUrl) {
|
|
71
|
-
const params = new URLSearchParams({ serverId });
|
|
72
|
-
if (redirectUrl)
|
|
73
|
-
params.set("redirect", redirectUrl);
|
|
74
|
-
return `${baseUrl}/v1/auth/connect?${params.toString()}&key=${apiKey}`;
|
|
75
|
-
},
|
|
76
|
-
/**
|
|
77
|
-
* Check connection status for a server.
|
|
78
|
-
*/
|
|
79
|
-
async getStatus(serverId) {
|
|
80
|
-
const res = await fetch(`${baseUrl}/v1/auth/status/${serverId}`, {
|
|
81
|
-
headers: { Authorization: `Bearer ${apiKey}` },
|
|
82
|
-
});
|
|
83
|
-
if (!res.ok)
|
|
84
|
-
return { connected: false };
|
|
85
|
-
return res.json();
|
|
86
|
-
},
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
56
|
}
|
|
90
57
|
export default CodeSpar;
|
|
91
58
|
//# 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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAsBH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAEpD,MAAM,OAAO,QAAQ;IACF,MAAM,CAA2B;IAElD,YAAY,SAAyB,EAAE;QACrC,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;YAC3D,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,gBAAgB;SAC7E,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,yFAAyF;gBACvF,sEAAsE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,SAAwB,EAAE;QACrD,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE;YACnC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;CACF;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session implementation — talks to api.codespar.dev backend.
|
|
3
|
+
*
|
|
4
|
+
* The shape of every request and response in this file matches what the
|
|
5
|
+
* backend (codespar-enterprise/packages/api) actually exposes. Do not edit
|
|
6
|
+
* one without the other.
|
|
7
|
+
*/
|
|
1
8
|
import type { Session, SessionConfig } from "./types.js";
|
|
2
9
|
interface SessionDeps {
|
|
3
10
|
baseUrl: string;
|
|
4
11
|
apiKey: string;
|
|
5
|
-
managed: boolean;
|
|
6
12
|
}
|
|
7
13
|
export declare function createSession(userId: string, config: SessionConfig, deps: SessionDeps): Promise<Session>;
|
|
8
14
|
export {};
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EAYd,MAAM,YAAY,CAAC;AAEpB,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAiBD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,OAAO,CAAC,CAwPlB"}
|
package/dist/session.js
CHANGED
|
@@ -1,47 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session implementation — talks to api.codespar.dev backend.
|
|
3
|
+
*
|
|
4
|
+
* The shape of every request and response in this file matches what the
|
|
5
|
+
* backend (codespar-enterprise/packages/api) actually exposes. Do not edit
|
|
6
|
+
* one without the other.
|
|
7
|
+
*/
|
|
1
8
|
export async function createSession(userId, config, deps) {
|
|
2
|
-
const { baseUrl, apiKey
|
|
9
|
+
const { baseUrl, apiKey } = deps;
|
|
3
10
|
const headers = {
|
|
4
11
|
"Content-Type": "application/json",
|
|
5
12
|
Authorization: `Bearer ${apiKey}`,
|
|
6
13
|
};
|
|
7
|
-
//
|
|
14
|
+
// Resolve servers from preset if not explicit. The backend doesn't know
|
|
15
|
+
// about presets — it expects an explicit array of server ids.
|
|
16
|
+
const servers = config.servers ?? presetToServers(config.preset);
|
|
8
17
|
const res = await fetch(`${baseUrl}/v1/sessions`, {
|
|
9
18
|
method: "POST",
|
|
10
19
|
headers,
|
|
11
|
-
body: JSON.stringify({
|
|
20
|
+
body: JSON.stringify({ servers, user_id: userId }),
|
|
12
21
|
});
|
|
13
22
|
if (!res.ok) {
|
|
14
23
|
const body = await res.text();
|
|
15
|
-
throw new Error(`
|
|
24
|
+
throw new Error(`createSession failed: ${res.status} ${body}`);
|
|
16
25
|
}
|
|
17
|
-
const data = await res.json();
|
|
26
|
+
const data = (await res.json());
|
|
18
27
|
let cachedTools = null;
|
|
28
|
+
let cachedConnections = null;
|
|
19
29
|
const session = {
|
|
20
30
|
id: data.id,
|
|
21
|
-
userId,
|
|
31
|
+
userId: data.user_id,
|
|
22
32
|
servers: data.servers,
|
|
23
|
-
createdAt: new Date(),
|
|
24
|
-
|
|
25
|
-
|
|
33
|
+
createdAt: new Date(data.created_at),
|
|
34
|
+
status: data.status,
|
|
35
|
+
// Placeholder MCP transport URL — runtime endpoint lands in Marco 3.
|
|
36
|
+
// Kept here so @codespar/mcp config helpers work today.
|
|
37
|
+
mcp: {
|
|
38
|
+
url: `${baseUrl}/v1/sessions/${data.id}/mcp`,
|
|
39
|
+
headers: { Authorization: `Bearer ${apiKey}` },
|
|
40
|
+
},
|
|
41
|
+
async tools() {
|
|
26
42
|
if (cachedTools)
|
|
27
43
|
return cachedTools;
|
|
28
|
-
|
|
29
|
-
|
|
44
|
+
await session.connections();
|
|
45
|
+
return cachedTools ?? [];
|
|
30
46
|
},
|
|
31
|
-
findTools(intent) {
|
|
32
|
-
|
|
33
|
-
return [];
|
|
47
|
+
async findTools(intent) {
|
|
48
|
+
const all = await session.tools();
|
|
34
49
|
const q = intent.toLowerCase();
|
|
35
|
-
return
|
|
36
|
-
t.description.toLowerCase().includes(q)
|
|
37
|
-
t.server.toLowerCase().includes(q));
|
|
50
|
+
return all.filter((t) => t.name.toLowerCase().includes(q) ||
|
|
51
|
+
t.description.toLowerCase().includes(q));
|
|
38
52
|
},
|
|
39
53
|
async execute(toolName, params) {
|
|
40
54
|
const start = Date.now();
|
|
41
55
|
const r = await fetch(`${baseUrl}/v1/sessions/${data.id}/execute`, {
|
|
42
56
|
method: "POST",
|
|
43
57
|
headers,
|
|
44
|
-
body: JSON.stringify({ tool: toolName, params }),
|
|
58
|
+
body: JSON.stringify({ tool: toolName, input: params }),
|
|
45
59
|
});
|
|
46
60
|
if (!r.ok) {
|
|
47
61
|
const body = await r.text();
|
|
@@ -54,8 +68,8 @@ export async function createSession(userId, config, deps) {
|
|
|
54
68
|
tool: toolName,
|
|
55
69
|
};
|
|
56
70
|
}
|
|
57
|
-
const result = await r.json();
|
|
58
|
-
return
|
|
71
|
+
const result = (await r.json());
|
|
72
|
+
return result;
|
|
59
73
|
},
|
|
60
74
|
async loop(loopConfig) {
|
|
61
75
|
const start = Date.now();
|
|
@@ -64,11 +78,8 @@ export async function createSession(userId, config, deps) {
|
|
|
64
78
|
const abortOnError = loopConfig.abortOnError ?? true;
|
|
65
79
|
for (let i = 0; i < loopConfig.steps.length; i++) {
|
|
66
80
|
const step = loopConfig.steps[i];
|
|
67
|
-
|
|
68
|
-
if (step.when && !step.when(results)) {
|
|
81
|
+
if (step.when && !step.when(results))
|
|
69
82
|
continue;
|
|
70
|
-
}
|
|
71
|
-
// Resolve params (can be a function of previous results)
|
|
72
83
|
const params = typeof step.params === "function" ? step.params(results) : step.params;
|
|
73
84
|
let lastError = null;
|
|
74
85
|
let result = null;
|
|
@@ -84,7 +95,6 @@ export async function createSession(userId, config, deps) {
|
|
|
84
95
|
catch (err) {
|
|
85
96
|
lastError = err instanceof Error ? err : new Error(String(err));
|
|
86
97
|
}
|
|
87
|
-
// Backoff before retry
|
|
88
98
|
if (attempt < maxRetries) {
|
|
89
99
|
const baseDelay = loopConfig.retryPolicy?.baseDelay ?? 1000;
|
|
90
100
|
const delay = loopConfig.retryPolicy?.backoff === "exponential"
|
|
@@ -123,39 +133,81 @@ export async function createSession(userId, config, deps) {
|
|
|
123
133
|
totalSteps: loopConfig.steps.length,
|
|
124
134
|
};
|
|
125
135
|
},
|
|
136
|
+
async proxyExecute(request) {
|
|
137
|
+
const r = await fetch(`${baseUrl}/v1/sessions/${data.id}/proxy_execute`, {
|
|
138
|
+
method: "POST",
|
|
139
|
+
headers,
|
|
140
|
+
body: JSON.stringify({
|
|
141
|
+
server: request.server,
|
|
142
|
+
endpoint: request.endpoint,
|
|
143
|
+
method: request.method,
|
|
144
|
+
body: request.body,
|
|
145
|
+
params: request.params,
|
|
146
|
+
headers: request.headers,
|
|
147
|
+
}),
|
|
148
|
+
});
|
|
149
|
+
if (!r.ok) {
|
|
150
|
+
const body = await r.text();
|
|
151
|
+
throw new Error(`proxyExecute failed: ${r.status} ${body}`);
|
|
152
|
+
}
|
|
153
|
+
return (await r.json());
|
|
154
|
+
},
|
|
126
155
|
async send(message) {
|
|
127
|
-
const start = Date.now();
|
|
128
156
|
const r = await fetch(`${baseUrl}/v1/sessions/${data.id}/send`, {
|
|
129
157
|
method: "POST",
|
|
130
|
-
headers,
|
|
158
|
+
headers: { ...headers, Accept: "application/json" },
|
|
131
159
|
body: JSON.stringify({ message }),
|
|
132
160
|
});
|
|
133
161
|
if (!r.ok) {
|
|
134
162
|
const body = await r.text();
|
|
135
|
-
throw new Error(`
|
|
163
|
+
throw new Error(`send failed: ${r.status} ${body}`);
|
|
136
164
|
}
|
|
137
|
-
|
|
138
|
-
return { ...result, duration: result.duration || Date.now() - start };
|
|
165
|
+
return (await r.json());
|
|
139
166
|
},
|
|
140
|
-
async
|
|
141
|
-
const r = await fetch(`${baseUrl}/v1/sessions/${data.id}/
|
|
167
|
+
async *sendStream(message) {
|
|
168
|
+
const r = await fetch(`${baseUrl}/v1/sessions/${data.id}/send`, {
|
|
169
|
+
method: "POST",
|
|
170
|
+
headers: { ...headers, Accept: "text/event-stream" },
|
|
171
|
+
body: JSON.stringify({ message }),
|
|
172
|
+
});
|
|
173
|
+
if (!r.ok || !r.body) {
|
|
174
|
+
const body = await r.text();
|
|
175
|
+
throw new Error(`sendStream failed: ${r.status} ${body}`);
|
|
176
|
+
}
|
|
177
|
+
yield* parseSseStream(r.body);
|
|
178
|
+
},
|
|
179
|
+
async authorize(serverId, config) {
|
|
180
|
+
const r = await fetch(`${baseUrl}/v1/connect/start`, {
|
|
142
181
|
method: "POST",
|
|
143
182
|
headers,
|
|
144
|
-
body: JSON.stringify({
|
|
183
|
+
body: JSON.stringify({
|
|
184
|
+
server_id: serverId,
|
|
185
|
+
user_id: data.user_id,
|
|
186
|
+
redirect_uri: config.redirectUri,
|
|
187
|
+
scopes: config.scopes,
|
|
188
|
+
}),
|
|
145
189
|
});
|
|
146
190
|
if (!r.ok) {
|
|
147
|
-
|
|
191
|
+
const body = await r.text();
|
|
192
|
+
throw new Error(`authorize failed: ${r.status} ${body}`);
|
|
148
193
|
}
|
|
149
|
-
|
|
194
|
+
const payload = (await r.json());
|
|
195
|
+
return {
|
|
196
|
+
linkToken: payload.link_token,
|
|
197
|
+
authorizeUrl: payload.authorize_url,
|
|
198
|
+
expiresAt: payload.expires_at,
|
|
199
|
+
};
|
|
150
200
|
},
|
|
151
201
|
async connections() {
|
|
152
|
-
const r = await fetch(`${baseUrl}/v1/sessions/${data.id}/connections`, {
|
|
202
|
+
const r = await fetch(`${baseUrl}/v1/sessions/${data.id}/connections`, {
|
|
203
|
+
headers,
|
|
204
|
+
});
|
|
153
205
|
if (!r.ok)
|
|
154
|
-
return
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
cachedTools =
|
|
158
|
-
return
|
|
206
|
+
return cachedConnections ?? [];
|
|
207
|
+
const payload = (await r.json());
|
|
208
|
+
cachedConnections = payload.servers;
|
|
209
|
+
cachedTools = payload.tools;
|
|
210
|
+
return payload.servers;
|
|
159
211
|
},
|
|
160
212
|
async close() {
|
|
161
213
|
await fetch(`${baseUrl}/v1/sessions/${data.id}`, {
|
|
@@ -164,7 +216,6 @@ export async function createSession(userId, config, deps) {
|
|
|
164
216
|
});
|
|
165
217
|
},
|
|
166
218
|
};
|
|
167
|
-
// If waitForConnections, poll until ready
|
|
168
219
|
if (config.manageConnections?.waitForConnections) {
|
|
169
220
|
const timeout = config.manageConnections.timeout ?? 30000;
|
|
170
221
|
const start = Date.now();
|
|
@@ -177,4 +228,114 @@ export async function createSession(userId, config, deps) {
|
|
|
177
228
|
}
|
|
178
229
|
return session;
|
|
179
230
|
}
|
|
231
|
+
/**
|
|
232
|
+
* Parse a Server-Sent Events stream into typed StreamEvent objects.
|
|
233
|
+
*
|
|
234
|
+
* The backend emits events shaped like:
|
|
235
|
+
* event: assistant_text
|
|
236
|
+
* data: {"content":"...","iteration":1}
|
|
237
|
+
*
|
|
238
|
+
* which we map to discriminated-union StreamEvent values that the SDK
|
|
239
|
+
* exports. We intentionally keep parsing tiny: split on double newlines,
|
|
240
|
+
* pick out `event:` and `data:` lines, JSON-parse the data.
|
|
241
|
+
*/
|
|
242
|
+
async function* parseSseStream(body) {
|
|
243
|
+
const reader = body.getReader();
|
|
244
|
+
const decoder = new TextDecoder();
|
|
245
|
+
let buffer = "";
|
|
246
|
+
try {
|
|
247
|
+
while (true) {
|
|
248
|
+
const { done, value } = await reader.read();
|
|
249
|
+
if (done)
|
|
250
|
+
break;
|
|
251
|
+
buffer += decoder.decode(value, { stream: true });
|
|
252
|
+
let sep;
|
|
253
|
+
while ((sep = buffer.indexOf("\n\n")) !== -1) {
|
|
254
|
+
const chunk = buffer.slice(0, sep);
|
|
255
|
+
buffer = buffer.slice(sep + 2);
|
|
256
|
+
const event = parseSseChunk(chunk);
|
|
257
|
+
if (event)
|
|
258
|
+
yield event;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (buffer.trim()) {
|
|
262
|
+
const event = parseSseChunk(buffer);
|
|
263
|
+
if (event)
|
|
264
|
+
yield event;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
finally {
|
|
268
|
+
reader.releaseLock();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
function parseSseChunk(chunk) {
|
|
272
|
+
let eventName = "message";
|
|
273
|
+
let dataLine = "";
|
|
274
|
+
for (const line of chunk.split("\n")) {
|
|
275
|
+
if (line.startsWith("event:"))
|
|
276
|
+
eventName = line.slice(6).trim();
|
|
277
|
+
else if (line.startsWith("data:"))
|
|
278
|
+
dataLine += line.slice(5).trim();
|
|
279
|
+
}
|
|
280
|
+
if (!dataLine)
|
|
281
|
+
return null;
|
|
282
|
+
let data;
|
|
283
|
+
try {
|
|
284
|
+
data = JSON.parse(dataLine);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
return null;
|
|
288
|
+
}
|
|
289
|
+
switch (eventName) {
|
|
290
|
+
case "user_message":
|
|
291
|
+
return { type: "user_message", content: data.content };
|
|
292
|
+
case "assistant_text":
|
|
293
|
+
return {
|
|
294
|
+
type: "assistant_text",
|
|
295
|
+
content: data.content,
|
|
296
|
+
iteration: data.iteration,
|
|
297
|
+
};
|
|
298
|
+
case "tool_use":
|
|
299
|
+
return {
|
|
300
|
+
type: "tool_use",
|
|
301
|
+
id: data.id,
|
|
302
|
+
name: data.name,
|
|
303
|
+
input: data.input,
|
|
304
|
+
};
|
|
305
|
+
case "tool_result":
|
|
306
|
+
return { type: "tool_result", toolCall: data };
|
|
307
|
+
case "done":
|
|
308
|
+
return { type: "done", result: data };
|
|
309
|
+
case "error":
|
|
310
|
+
return {
|
|
311
|
+
type: "error",
|
|
312
|
+
error: data.error,
|
|
313
|
+
message: data.message,
|
|
314
|
+
};
|
|
315
|
+
default:
|
|
316
|
+
return null;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
const PRESET_SERVERS = {
|
|
320
|
+
brazilian: ["zoop", "nuvem-fiscal", "melhor-envio", "z-api", "omie"],
|
|
321
|
+
mexican: ["conekta", "facturapi", "skydropx"],
|
|
322
|
+
argentinian: ["afip", "andreani"],
|
|
323
|
+
colombian: ["wompi", "siigo", "coordinadora"],
|
|
324
|
+
all: [
|
|
325
|
+
"zoop",
|
|
326
|
+
"nuvem-fiscal",
|
|
327
|
+
"melhor-envio",
|
|
328
|
+
"z-api",
|
|
329
|
+
"omie",
|
|
330
|
+
"conekta",
|
|
331
|
+
"facturapi",
|
|
332
|
+
"afip",
|
|
333
|
+
"wompi",
|
|
334
|
+
],
|
|
335
|
+
};
|
|
336
|
+
function presetToServers(preset) {
|
|
337
|
+
if (!preset)
|
|
338
|
+
return ["zoop", "nuvem-fiscal"]; // sensible default for sandbox
|
|
339
|
+
return PRESET_SERVERS[preset];
|
|
340
|
+
}
|
|
180
341
|
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsCH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAAqB,EACrB,IAAiB;IAEjB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,MAAM,EAAE;KAClC,CAAC;IAEF,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,EAAE;QAChD,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;KACnD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;IAE1D,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,iBAAiB,GAA8B,IAAI,CAAC;IAExD,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,OAAO;QACpB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,qEAAqE;QACrE,wDAAwD;QACxD,GAAG,EAAE;YACH,GAAG,EAAE,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,MAAM;YAC5C,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;SAC/C;QAED,KAAK,CAAC,KAAK;YACT,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAC;YACpC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5B,OAAO,WAAW,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,MAAc;YAC5B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC1C,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,MAA+B;YAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,UAAU,EAAE;gBACjE,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aACxD,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;oBAC7B,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC5B,MAAM,EAAE,EAAE;oBACV,IAAI,EAAE,QAAQ;iBACf,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAe,CAAC;YAC9C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,UAAsB;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,UAAU,IAAI,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,IAAI,IAAI,CAAC;YAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAE/C,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEzE,IAAI,SAAS,GAAiB,IAAI,CAAC;gBACnC,IAAI,MAAM,GAAsB,IAAI,CAAC;gBAErC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;oBACvD,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBAClD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,SAAS,GAAG,IAAI,CAAC;4BACjB,MAAM;wBACR,CAAC;wBACD,SAAS,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;oBACjE,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClE,CAAC;oBACD,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;wBACzB,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC;wBAC5D,MAAM,KAAK,GACT,UAAU,CAAC,WAAW,EAAE,OAAO,KAAK,aAAa;4BAC/C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;4BAClC,CAAC,CAAC,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAClC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;wBAC3B,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3E,CAAC;oBACD,IAAI,MAAM;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,OAAO;4BACP,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;4BAC5B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;4BACvD,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;yBACpC,CAAC;oBACJ,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC5B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;gBACvD,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;aACpC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,OAAqB;YACtC,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,gBAAgB,EAAE;gBACvE,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAgB,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAe;YACxB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,OAAO,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBACnD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAe,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,CAAC,UAAU,CAAC,OAAe;YAC/B,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,OAAO,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE;gBACpD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,MAAkB;YAClD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mBAAmB,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,SAAS,EAAE,QAAQ;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,YAAY,EAAE,MAAM,CAAC,WAAW;oBAChC,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAI9B,CAAC;YACF,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,UAAU;gBAC7B,YAAY,EAAE,OAAO,CAAC,aAAa;gBACnC,SAAS,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,cAAc,EAAE;gBACrE,OAAO;aACR,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,iBAAiB,IAAI,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAA+B,CAAC;YAC/D,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;YACpC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,KAAK;YACT,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE;gBAC/C,MAAM,EAAE,QAAQ;gBAChB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,IAAI,KAAK,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAAE,MAAM;YAC3C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,SAAS,CAAC,CAAC,cAAc,CAC5B,IAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAElD,IAAI,GAAW,CAAC;YAChB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,KAAK;oBAAE,MAAM,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,cAAc;YACjB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAG,IAA4B,CAAC,OAAO,EAAE,CAAC;QAClF,KAAK,gBAAgB;YACnB,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAG,IAA4B,CAAC,OAAO;gBAC9C,SAAS,EAAG,IAA8B,CAAC,SAAS;aACrD,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAG,IAAuB,CAAC,EAAE;gBAC/B,IAAI,EAAG,IAAyB,CAAC,IAAI;gBACrC,KAAK,EAAG,IAA2C,CAAC,KAAK;aAC1D,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC;QAC1D,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAkB,EAAE,CAAC;QACtD,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAG,IAA0B,CAAC,KAAK;gBACxC,OAAO,EAAG,IAA6B,CAAC,OAAO;aAChD,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAA2D;IAC7E,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC;IACpE,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;IAC7C,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IACjC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;IAC7C,GAAG,EAAE;QACH,MAAM;QACN,cAAc;QACd,cAAc;QACd,OAAO;QACP,MAAM;QACN,SAAS;QACT,WAAW;QACX,MAAM;QACN,OAAO;KACR;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,MAA+B;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,+BAA+B;IAC7E,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|