@codespar/sdk 0.9.0 → 0.10.1
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 +182 -19
- package/dist/__tests__/base-url-resolution.test.d.ts +10 -0
- package/dist/__tests__/base-url-resolution.test.d.ts.map +1 -0
- package/dist/__tests__/base-url-resolution.test.js +57 -0
- package/dist/__tests__/base-url-resolution.test.js.map +1 -0
- package/dist/__tests__/errors.test.d.ts +16 -0
- package/dist/__tests__/errors.test.d.ts.map +1 -0
- package/dist/__tests__/errors.test.js +163 -0
- package/dist/__tests__/errors.test.js.map +1 -0
- package/dist/__tests__/forward-mocks.test.d.ts +15 -0
- package/dist/__tests__/forward-mocks.test.d.ts.map +1 -0
- package/dist/__tests__/forward-mocks.test.js +134 -0
- package/dist/__tests__/forward-mocks.test.js.map +1 -0
- package/dist/__tests__/mocks-wire-parity.test.d.ts +15 -0
- package/dist/__tests__/mocks-wire-parity.test.d.ts.map +1 -0
- package/dist/__tests__/mocks-wire-parity.test.js +71 -0
- package/dist/__tests__/mocks-wire-parity.test.js.map +1 -0
- package/dist/__tests__/shop.test.d.ts +17 -0
- package/dist/__tests__/shop.test.d.ts.map +1 -0
- package/dist/__tests__/shop.test.js +213 -0
- package/dist/__tests__/shop.test.js.map +1 -0
- package/dist/__tests__/testing.test.d.ts +2 -0
- package/dist/__tests__/testing.test.d.ts.map +1 -0
- package/dist/__tests__/testing.test.js +133 -0
- package/dist/__tests__/testing.test.js.map +1 -0
- package/dist/__tests__/tool-result-codes.test.d.ts +18 -0
- package/dist/__tests__/tool-result-codes.test.d.ts.map +1 -0
- package/dist/__tests__/tool-result-codes.test.js +164 -0
- package/dist/__tests__/tool-result-codes.test.js.map +1 -0
- package/dist/errors.d.ts +43 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +77 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +128 -49
- package/dist/session.js.map +1 -1
- package/dist/testing/index.d.ts +9 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +97 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/tool-result-codes.d.ts +82 -0
- package/dist/tool-result-codes.d.ts.map +1 -0
- package/dist/tool-result-codes.js +99 -0
- package/dist/tool-result-codes.js.map +1 -0
- package/dist/types.d.ts +20 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/package.json +6 -2
package/dist/session.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session implementation for the CodeSpar managed runtime.
|
|
3
3
|
*/
|
|
4
|
+
import { networkErrorToApiError, throwFromResponse } from "./errors.js";
|
|
5
|
+
// Wraps `fetch` so network rejections become CodesparApiError
|
|
6
|
+
// (status: 0) at the very edge of the SDK, rather than bubbling
|
|
7
|
+
// raw TypeError / DOMException up to the caller. Every transport
|
|
8
|
+
// site in this file goes through here.
|
|
9
|
+
async function safeFetch(input, init, what) {
|
|
10
|
+
try {
|
|
11
|
+
return await fetch(input, init);
|
|
12
|
+
}
|
|
13
|
+
catch (cause) {
|
|
14
|
+
throw networkErrorToApiError(cause, what);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
4
17
|
// The concrete session object satisfies the Session interface and carries extra
|
|
5
18
|
// internal methods (tools, findTools) that the free functions in tools.ts access
|
|
6
19
|
// via duck-typing. They are intentionally not declared on the Session interface.
|
|
@@ -18,14 +31,24 @@ export async function createSession(userId, config, deps) {
|
|
|
18
31
|
metadata: config.metadata,
|
|
19
32
|
projectId: config.projectId ?? deps.projectId,
|
|
20
33
|
};
|
|
21
|
-
|
|
34
|
+
// Conditional spread keeps the wire body byte-identical to the
|
|
35
|
+
// pre-PRD shape when the caller omits mocks (R18 wire-neutrality).
|
|
36
|
+
// The field is forwarded verbatim — no canonical-name rewriting on
|
|
37
|
+
// the SDK side, so the double-underscore migration trap surfaces
|
|
38
|
+
// as the backend's mocks_invalid envelope rather than silent
|
|
39
|
+
// SDK-side normalization.
|
|
40
|
+
const wireBody = {
|
|
41
|
+
servers: req.servers,
|
|
42
|
+
user_id: userId,
|
|
43
|
+
...(config.mocks !== undefined ? { mocks: config.mocks } : {}),
|
|
44
|
+
};
|
|
45
|
+
const res = await safeFetch(`${baseUrl}/v1/sessions`, {
|
|
22
46
|
method: "POST",
|
|
23
47
|
headers,
|
|
24
|
-
body: JSON.stringify(
|
|
25
|
-
});
|
|
48
|
+
body: JSON.stringify(wireBody),
|
|
49
|
+
}, "createSession");
|
|
26
50
|
if (!res.ok) {
|
|
27
|
-
|
|
28
|
-
throw new Error(`createSession failed: ${res.status} ${body}`);
|
|
51
|
+
await throwFromResponse(res, "createSession");
|
|
29
52
|
}
|
|
30
53
|
const data = (await res.json());
|
|
31
54
|
let cachedTools = null;
|
|
@@ -59,11 +82,11 @@ export async function createSession(userId, config, deps) {
|
|
|
59
82
|
},
|
|
60
83
|
async execute(toolName, params) {
|
|
61
84
|
const start = Date.now();
|
|
62
|
-
const r = await
|
|
85
|
+
const r = await safeFetch(`${baseUrl}/v1/sessions/${data.id}/execute`, {
|
|
63
86
|
method: "POST",
|
|
64
87
|
headers,
|
|
65
88
|
body: JSON.stringify({ tool: toolName, input: params }),
|
|
66
|
-
});
|
|
89
|
+
}, "execute");
|
|
67
90
|
if (!r.ok) {
|
|
68
91
|
const body = await r.text();
|
|
69
92
|
return {
|
|
@@ -79,7 +102,7 @@ export async function createSession(userId, config, deps) {
|
|
|
79
102
|
return result;
|
|
80
103
|
},
|
|
81
104
|
async proxyExecute(request) {
|
|
82
|
-
const r = await
|
|
105
|
+
const r = await safeFetch(`${baseUrl}/v1/sessions/${data.id}/proxy_execute`, {
|
|
83
106
|
method: "POST",
|
|
84
107
|
headers,
|
|
85
108
|
body: JSON.stringify({
|
|
@@ -90,35 +113,33 @@ export async function createSession(userId, config, deps) {
|
|
|
90
113
|
params: request.params,
|
|
91
114
|
headers: request.headers,
|
|
92
115
|
}),
|
|
93
|
-
});
|
|
116
|
+
}, "proxyExecute");
|
|
94
117
|
if (!r.ok) {
|
|
95
|
-
|
|
96
|
-
throw new Error(`proxyExecute failed: ${r.status} ${body}`);
|
|
118
|
+
await throwFromResponse(r, "proxyExecute");
|
|
97
119
|
}
|
|
98
120
|
return (await r.json());
|
|
99
121
|
},
|
|
100
122
|
async send(message) {
|
|
101
|
-
const r = await
|
|
123
|
+
const r = await safeFetch(`${baseUrl}/v1/sessions/${data.id}/send`, {
|
|
102
124
|
method: "POST",
|
|
103
125
|
headers: { ...headers, Accept: "application/json" },
|
|
104
126
|
body: JSON.stringify({ message }),
|
|
105
|
-
});
|
|
127
|
+
}, "send");
|
|
106
128
|
if (!r.ok) {
|
|
107
|
-
|
|
108
|
-
throw new Error(`send failed: ${r.status} ${body}`);
|
|
129
|
+
await throwFromResponse(r, "send");
|
|
109
130
|
}
|
|
110
131
|
return (await r.json());
|
|
111
132
|
},
|
|
112
133
|
async *sendStream(message) {
|
|
113
|
-
const r = await
|
|
134
|
+
const r = await safeFetch(`${baseUrl}/v1/sessions/${data.id}/send`, {
|
|
114
135
|
method: "POST",
|
|
115
136
|
headers: { ...headers, Accept: "text/event-stream" },
|
|
116
137
|
body: JSON.stringify({ message }),
|
|
117
|
-
});
|
|
138
|
+
}, "sendStream");
|
|
118
139
|
if (!r.ok || !r.body) {
|
|
119
|
-
|
|
120
|
-
throw new Error(`sendStream failed: ${r.status} ${body}`);
|
|
140
|
+
await throwFromResponse(r, "sendStream");
|
|
121
141
|
}
|
|
142
|
+
// Once we're past the !r.ok branch, r.body is guaranteed non-null.
|
|
122
143
|
yield* parseSseStream(r.body);
|
|
123
144
|
},
|
|
124
145
|
/**
|
|
@@ -179,31 +200,78 @@ export async function createSession(userId, config, deps) {
|
|
|
179
200
|
}
|
|
180
201
|
return result.data;
|
|
181
202
|
},
|
|
203
|
+
/**
|
|
204
|
+
* codespar_ledger wrapper. Post a double-entry journal entry, read
|
|
205
|
+
* an account's balances, or create an account on the tenant's
|
|
206
|
+
* self-hosted Midaz ledger. Same wire as
|
|
207
|
+
* `execute("codespar_ledger", {...})` but returns a typed
|
|
208
|
+
* LedgerResult so the caller doesn't have to cast through
|
|
209
|
+
* ToolResult.data.
|
|
210
|
+
*/
|
|
211
|
+
async ledger(args) {
|
|
212
|
+
const result = await session.execute("codespar_ledger", args);
|
|
213
|
+
if (!result.success) {
|
|
214
|
+
throw new Error(`ledger failed: ${result.error ?? "unknown"}`);
|
|
215
|
+
}
|
|
216
|
+
return result.data;
|
|
217
|
+
},
|
|
218
|
+
/**
|
|
219
|
+
* codespar_issue wrapper. Issue a virtual/physical card, control
|
|
220
|
+
* (freeze/unfreeze/cancel) one, or read its status on the tenant's
|
|
221
|
+
* Pomelo card-issuing program. Same wire as
|
|
222
|
+
* `execute("codespar_issue", {...})` but returns a typed IssueResult.
|
|
223
|
+
*/
|
|
224
|
+
async issue(args) {
|
|
225
|
+
const result = await session.execute("codespar_issue", args);
|
|
226
|
+
if (!result.success) {
|
|
227
|
+
throw new Error(`issue failed: ${result.error ?? "unknown"}`);
|
|
228
|
+
}
|
|
229
|
+
return result.data;
|
|
230
|
+
},
|
|
231
|
+
/**
|
|
232
|
+
* codespar_shop wrapper. Catalog search → async checkout → Pix mint.
|
|
233
|
+
* Same wire as `execute("codespar_shop", {...})` but returns a typed
|
|
234
|
+
* ShopResult so the caller doesn't have to cast through
|
|
235
|
+
* ToolResult.data. Checkout is async: `{action:"checkout"}` returns
|
|
236
|
+
* `{checkout_session_id, status:"in_progress"}`; poll
|
|
237
|
+
* `{action:"checkout_status", checkout_session_id}` until
|
|
238
|
+
* `ready_for_payment` (carries `pix_copia_e_cola`) or `canceled`.
|
|
239
|
+
*
|
|
240
|
+
* Requires a runtime that implements the `codespar_shop` meta-tool
|
|
241
|
+
* (a registered implementation behind the contract); a self-hosted
|
|
242
|
+
* OSS runtime with none returns "Tool not registered".
|
|
243
|
+
*/
|
|
244
|
+
async shop(args) {
|
|
245
|
+
const result = await session.execute("codespar_shop", args);
|
|
246
|
+
if (!result.success) {
|
|
247
|
+
throw new Error(`shop failed: ${result.error ?? "unknown"}`);
|
|
248
|
+
}
|
|
249
|
+
return result.data;
|
|
250
|
+
},
|
|
182
251
|
async paymentStatus(toolCallId) {
|
|
183
|
-
const r = await
|
|
252
|
+
const r = await safeFetch(`${baseUrl}/v1/tool-calls/${encodeURIComponent(toolCallId)}/payment-status`, { headers }, "paymentStatus");
|
|
184
253
|
if (!r.ok) {
|
|
185
|
-
|
|
186
|
-
throw new Error(`paymentStatus failed: ${r.status} ${body}`);
|
|
254
|
+
await throwFromResponse(r, "paymentStatus");
|
|
187
255
|
}
|
|
188
256
|
return (await r.json());
|
|
189
257
|
},
|
|
190
258
|
async verificationStatus(toolCallId) {
|
|
191
|
-
const r = await
|
|
259
|
+
const r = await safeFetch(`${baseUrl}/v1/tool-calls/${encodeURIComponent(toolCallId)}/verification-status`, { headers }, "verificationStatus");
|
|
192
260
|
if (!r.ok) {
|
|
193
|
-
|
|
194
|
-
throw new Error(`verificationStatus failed: ${r.status} ${body}`);
|
|
261
|
+
await throwFromResponse(r, "verificationStatus");
|
|
195
262
|
}
|
|
196
263
|
return (await r.json());
|
|
197
264
|
},
|
|
198
265
|
async paymentStatusStream(toolCallId, options = {}) {
|
|
199
266
|
const url = `${baseUrl}/v1/tool-calls/${encodeURIComponent(toolCallId)}/payment-status/stream`;
|
|
200
|
-
const r = await
|
|
267
|
+
const r = await safeFetch(url, {
|
|
201
268
|
headers: { ...headers, Accept: "text/event-stream" },
|
|
202
269
|
signal: options.signal,
|
|
203
|
-
});
|
|
270
|
+
}, "paymentStatusStream");
|
|
204
271
|
if (!r.ok || !r.body) {
|
|
205
|
-
|
|
206
|
-
|
|
272
|
+
await throwFromResponse(r, "paymentStatusStream");
|
|
273
|
+
// unreachable — throwFromResponse always throws
|
|
274
|
+
throw new Error("unreachable");
|
|
207
275
|
}
|
|
208
276
|
let last = null;
|
|
209
277
|
for await (const frame of parseStatusSseStream(r.body)) {
|
|
@@ -222,13 +290,14 @@ export async function createSession(userId, config, deps) {
|
|
|
222
290
|
},
|
|
223
291
|
async verificationStatusStream(toolCallId, options = {}) {
|
|
224
292
|
const url = `${baseUrl}/v1/tool-calls/${encodeURIComponent(toolCallId)}/verification-status/stream`;
|
|
225
|
-
const r = await
|
|
293
|
+
const r = await safeFetch(url, {
|
|
226
294
|
headers: { ...headers, Accept: "text/event-stream" },
|
|
227
295
|
signal: options.signal,
|
|
228
|
-
});
|
|
296
|
+
}, "verificationStatusStream");
|
|
229
297
|
if (!r.ok || !r.body) {
|
|
230
|
-
|
|
231
|
-
|
|
298
|
+
await throwFromResponse(r, "verificationStatusStream");
|
|
299
|
+
// unreachable — throwFromResponse always throws
|
|
300
|
+
throw new Error("unreachable");
|
|
232
301
|
}
|
|
233
302
|
let last = null;
|
|
234
303
|
for await (const frame of parseStatusSseStream(r.body)) {
|
|
@@ -246,7 +315,7 @@ export async function createSession(userId, config, deps) {
|
|
|
246
315
|
return last;
|
|
247
316
|
},
|
|
248
317
|
async authorize(serverId, config) {
|
|
249
|
-
const r = await
|
|
318
|
+
const r = await safeFetch(`${baseUrl}/v1/connect/start`, {
|
|
250
319
|
method: "POST",
|
|
251
320
|
headers,
|
|
252
321
|
body: JSON.stringify({
|
|
@@ -255,10 +324,9 @@ export async function createSession(userId, config, deps) {
|
|
|
255
324
|
redirect_uri: config.redirectUri,
|
|
256
325
|
scopes: config.scopes,
|
|
257
326
|
}),
|
|
258
|
-
});
|
|
327
|
+
}, "authorize");
|
|
259
328
|
if (!r.ok) {
|
|
260
|
-
|
|
261
|
-
throw new Error(`authorize failed: ${r.status} ${body}`);
|
|
329
|
+
await throwFromResponse(r, "authorize");
|
|
262
330
|
}
|
|
263
331
|
const payload = (await r.json());
|
|
264
332
|
return {
|
|
@@ -268,21 +336,32 @@ export async function createSession(userId, config, deps) {
|
|
|
268
336
|
};
|
|
269
337
|
},
|
|
270
338
|
async connections() {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
339
|
+
// Best-effort — both transport failures (CodesparApiError from
|
|
340
|
+
// safeFetch) and non-2xx responses fall back to the cached
|
|
341
|
+
// payload so a transient blip doesn't crater the session.
|
|
342
|
+
try {
|
|
343
|
+
const r = await safeFetch(`${baseUrl}/v1/sessions/${data.id}/connections`, { headers }, "connections");
|
|
344
|
+
if (!r.ok)
|
|
345
|
+
return cachedConnections ?? [];
|
|
346
|
+
const payload = (await r.json());
|
|
347
|
+
cachedConnections = payload.servers;
|
|
348
|
+
cachedTools = payload.tools;
|
|
349
|
+
return payload.servers;
|
|
350
|
+
}
|
|
351
|
+
catch {
|
|
275
352
|
return cachedConnections ?? [];
|
|
276
|
-
|
|
277
|
-
cachedConnections = payload.servers;
|
|
278
|
-
cachedTools = payload.tools;
|
|
279
|
-
return payload.servers;
|
|
353
|
+
}
|
|
280
354
|
},
|
|
281
355
|
async close() {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
356
|
+
// Best-effort — the backend reaps stale sessions on a timer,
|
|
357
|
+
// so a network failure here shouldn't surface to the caller.
|
|
358
|
+
try {
|
|
359
|
+
await safeFetch(`${baseUrl}/v1/sessions/${data.id}`, { method: "DELETE", headers }, "close");
|
|
360
|
+
}
|
|
361
|
+
catch {
|
|
362
|
+
// Intentional swallow — matches the previous fire-and-forget
|
|
363
|
+
// contract; close() never threw.
|
|
364
|
+
}
|
|
286
365
|
},
|
|
287
366
|
};
|
|
288
367
|
if (config.manageConnections?.waitForConnections) {
|
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;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAuCxE,8DAA8D;AAC9D,gEAAgE;AAChE,iEAAiE;AACjE,uCAAuC;AACvC,KAAK,UAAU,SAAS,CACtB,KAAwB,EACxB,IAA6B,EAC7B,IAAY;IAEZ,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAiBD,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAAqB,EACrB,IAAiB;IAEjB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;IACrD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,MAAM,EAAE;KAClC,CAAC;IACF,IAAI,SAAS;QAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;IAEzD,MAAM,GAAG,GAAyB;QAChC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;QACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;KAC9C,CAAC;IAEF,+DAA+D;IAC/D,mEAAmE;IACnE,mEAAmE;IACnE,iEAAiE;IACjE,6DAA6D;IAC7D,0BAA0B;IAC1B,MAAM,QAAQ,GAA4B;QACxC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,MAAM;QACf,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,SAAS,CACzB,GAAG,OAAO,cAAc,EACxB;QACE,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;KAC/B,EACD,eAAe,CAChB,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,iBAAiB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAChD,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,GAAG;QACd,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;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D;SACF;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,SAAS,CACvB,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,UAAU,EAC3C;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aACxD,EACD,SAAS,CACV,CAAC;YACF,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,YAAY,CAAC,OAAqB;YACtC,MAAM,CAAC,GAAG,MAAM,SAAS,CACvB,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,gBAAgB,EACjD;gBACE,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,EACD,cAAc,CACf,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAgB,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAe;YACxB,MAAM,CAAC,GAAG,MAAM,SAAS,CACvB,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,OAAO,EACxC;gBACE,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,EACD,MAAM,CACP,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACrC,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,SAAS,CACvB,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,OAAO,EACxC;gBACE,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,EACD,YAAY,CACb,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrB,MAAM,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAC3C,CAAC;YACD,mEAAmE;YACnE,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC;QACjC,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,QAAQ,CACZ,OAAe,EACf,OAAyB;YAEzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;gBACxD,QAAQ,EAAE,OAAO;gBACjB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,MAAM,CAAC,IAAsB,CAAC;QACvC,CAAC;QAED;;;;;;;WAOG;QACH,KAAK,CAAC,gBAAgB,CACpB,OAAgC;YAEhC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAClC,6BAA6B,EAC7B,OAAkC,CACnC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,MAAM,CAAC,IAA8B,CAAC;QAC/C,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,MAAM,CAAC,IAAgB;YAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAClC,iBAAiB,EACjB,IAA0C,CAC3C,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,MAAM,CAAC,IAAoB,CAAC;QACrC,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,IAAI,CAAC,IAAc;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAClC,eAAe,EACf,IAA0C,CAC3C,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,MAAM,CAAC,IAAkB,CAAC;QACnC,CAAC;QAED;;;;;;;WAOG;QACH,KAAK,CAAC,MAAM,CAAC,IAAgB;YAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAClC,iBAAiB,EACjB,IAA0C,CAC3C,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,MAAM,CAAC,IAAoB,CAAC;QACrC,CAAC;QAED;;;;;WAKG;QACH,KAAK,CAAC,KAAK,CAAC,IAAe;YACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAClC,gBAAgB,EAChB,IAA0C,CAC3C,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,MAAM,CAAC,IAAmB,CAAC;QACpC,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,KAAK,CAAC,IAAI,CAAC,IAAc;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAClC,eAAe,EACf,IAA0C,CAC3C,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,MAAM,CAAC,IAAkB,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,UAAkB;YACpC,MAAM,CAAC,GAAG,MAAM,SAAS,CACvB,GAAG,OAAO,kBAAkB,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,EAC3E,EAAE,OAAO,EAAE,EACX,eAAe,CAChB,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,iBAAiB,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAwB,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,kBAAkB,CACtB,UAAkB;YAElB,MAAM,CAAC,GAAG,MAAM,SAAS,CACvB,GAAG,OAAO,kBAAkB,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,EAChF,EAAE,OAAO,EAAE,EACX,oBAAoB,CACrB,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,iBAAiB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAA6B,CAAC;QACtD,CAAC;QAED,KAAK,CAAC,mBAAmB,CACvB,UAAkB,EAClB,UAAsC,EAAE;YAExC,MAAM,GAAG,GAAG,GAAG,OAAO,kBAAkB,kBAAkB,CACxD,UAAU,CACX,wBAAwB,CAAC;YAC1B,MAAM,CAAC,GAAG,MAAM,SAAS,CACvB,GAAG,EACH;gBACE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE;gBACpD,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,EACD,qBAAqB,CACtB,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrB,MAAM,iBAAiB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;gBAClD,gDAAgD;gBAChD,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,IAAI,GAA+B,IAAI,CAAC;YAC5C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC3D,IAAI,GAAG,KAAK,CAAC,IAA2B,CAAC;oBACzC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,wBAAwB,CAC5B,UAAkB,EAClB,UAA2C,EAAE;YAE7C,MAAM,GAAG,GAAG,GAAG,OAAO,kBAAkB,kBAAkB,CACxD,UAAU,CACX,6BAA6B,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,SAAS,CACvB,GAAG,EACH;gBACE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE;gBACpD,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,EACD,0BAA0B,CAC3B,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrB,MAAM,iBAAiB,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;gBACvD,gDAAgD;gBAChD,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,IAAI,GAAoC,IAAI,CAAC;YACjD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC3D,IAAI,GAAG,KAAK,CAAC,IAAgC,CAAC;oBAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,MAAkB;YAClD,MAAM,CAAC,GAAG,MAAM,SAAS,CACvB,GAAG,OAAO,mBAAmB,EAC7B;gBACE,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,EACD,WAAW,CACZ,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC1C,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,+DAA+D;YAC/D,2DAA2D;YAC3D,0DAA0D;YAC1D,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,SAAS,CACvB,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,cAAc,EAC/C,EAAE,OAAO,EAAE,EACX,aAAa,CACd,CAAC;gBACF,IAAI,CAAC,CAAC,CAAC,EAAE;oBAAE,OAAO,iBAAiB,IAAI,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAA+B,CAAC;gBAC/D,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;gBACpC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC5B,OAAO,OAAO,CAAC,OAAO,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,iBAAiB,IAAI,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK;YACT,6DAA6D;YAC7D,6DAA6D;YAC7D,IAAI,CAAC;gBACH,MAAM,SAAS,CACb,GAAG,OAAO,gBAAgB,IAAI,CAAC,EAAE,EAAE,EACnC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC7B,OAAO,CACR,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;gBAC7D,iCAAiC;YACnC,CAAC;QACH,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;;;;;;GAMG;AACH,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAClC,IAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,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;YAClD,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,gEAAgE;gBAChE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACpC,IAAI,SAAS,GAAG,SAAS,CAAC;gBAC1B,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;wBAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtE,CAAC;gBACD,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,IAAI,CAAC;oBACH,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Session, ToolResult } from "@codespar/types";
|
|
2
|
+
export type { ToolResult };
|
|
3
|
+
export interface FakeSessionOptions {
|
|
4
|
+
/** When true, unregistered tool names resolve to {success:true,data:{}} instead of throwing. */
|
|
5
|
+
lenient?: boolean;
|
|
6
|
+
}
|
|
7
|
+
type FakeSessionResponse = ToolResult | ((input: Record<string, unknown>) => ToolResult | Promise<ToolResult>);
|
|
8
|
+
export declare function fakeSession(responses?: Record<string, FakeSessionResponse>, options?: FakeSessionOptions): Session;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE3D,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,MAAM,WAAW,kBAAkB;IACjC,gGAAgG;IAChG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,mBAAmB,GACpB,UAAU,GACV,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAE3E,wBAAgB,WAAW,CACzB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAM,EACnD,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CA+GT"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// fakeSession v1 covers execute()-driven flows. send(), sendStream(),
|
|
2
|
+
// and channel mocking land when Layer 3 demos demand them.
|
|
3
|
+
export function fakeSession(responses = {}, options = {}) {
|
|
4
|
+
const session = {
|
|
5
|
+
id: "ses_fake",
|
|
6
|
+
status: "active",
|
|
7
|
+
mcp: { url: "https://example.invalid/mcp", headers: {} },
|
|
8
|
+
async execute(toolName, params) {
|
|
9
|
+
void params;
|
|
10
|
+
const entry = responses[toolName];
|
|
11
|
+
if (entry === undefined) {
|
|
12
|
+
if (options.lenient) {
|
|
13
|
+
return { success: true, data: {}, error: null, duration: 0, server: "", tool: toolName };
|
|
14
|
+
}
|
|
15
|
+
throw new Error(`fakeSession: no response registered for tool ${toolName}`);
|
|
16
|
+
}
|
|
17
|
+
return typeof entry === "function" ? await entry(params) : entry;
|
|
18
|
+
},
|
|
19
|
+
async send() {
|
|
20
|
+
return { message: "", tool_calls: [], iterations: 0 };
|
|
21
|
+
},
|
|
22
|
+
async *sendStream() {
|
|
23
|
+
// intentionally empty — fakeSession v1 does not synthesize stream events
|
|
24
|
+
},
|
|
25
|
+
async proxyExecute() {
|
|
26
|
+
return { status: 200, data: null, headers: {}, duration: 0 };
|
|
27
|
+
},
|
|
28
|
+
async authorize() {
|
|
29
|
+
return {
|
|
30
|
+
linkToken: "tok_test",
|
|
31
|
+
authorizeUrl: "https://provider.example.com/authorize",
|
|
32
|
+
expiresAt: new Date(Date.now() + 600_000).toISOString(),
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
async connections() {
|
|
36
|
+
return [];
|
|
37
|
+
},
|
|
38
|
+
async close() {
|
|
39
|
+
// noop
|
|
40
|
+
},
|
|
41
|
+
async discover(useCase) {
|
|
42
|
+
return { use_case: useCase, search_strategy: "empty", recommended: null, related: [], next_steps: [] };
|
|
43
|
+
},
|
|
44
|
+
async connectionWizard(opts) {
|
|
45
|
+
return { action: opts.action ?? "list", connections: [], status: null, initiate: null };
|
|
46
|
+
},
|
|
47
|
+
async charge(args) {
|
|
48
|
+
return { id: "chg_fake", status: "pending", amount: args.amount, currency: args.currency, method: args.method };
|
|
49
|
+
},
|
|
50
|
+
async ship(args) {
|
|
51
|
+
return { id: "shp_fake", status: args.action === "track" ? "in_transit" : "created" };
|
|
52
|
+
},
|
|
53
|
+
async ledger(args) {
|
|
54
|
+
if (args.action === "balance") {
|
|
55
|
+
return { account_id: args.account ?? "acc_fake", balances: [] };
|
|
56
|
+
}
|
|
57
|
+
if (args.action === "account") {
|
|
58
|
+
return { id: "acc_fake", account_id: "acc_fake", alias: args.alias ?? null };
|
|
59
|
+
}
|
|
60
|
+
return { id: "txn_fake", status: "POSTED" };
|
|
61
|
+
},
|
|
62
|
+
async issue(args) {
|
|
63
|
+
if (args.action === "card-control" || args.action === "card-get") {
|
|
64
|
+
return { id: args.card_id ?? "card_fake", status: "ACTIVE", card_type: "VIRTUAL" };
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
id: "card_fake",
|
|
68
|
+
status: "ACTIVE",
|
|
69
|
+
card_type: args.action === "card-physical" ? "PHYSICAL" : "VIRTUAL",
|
|
70
|
+
last_four: "4242",
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
async shop(args) {
|
|
74
|
+
if (args.action === "search") {
|
|
75
|
+
return { rail: "fake", products: [] };
|
|
76
|
+
}
|
|
77
|
+
if (args.action === "checkout") {
|
|
78
|
+
return { checkout_session_id: "cks_fake", status: "in_progress" };
|
|
79
|
+
}
|
|
80
|
+
return { checkout_session_id: args.checkout_session_id, status: "in_progress" };
|
|
81
|
+
},
|
|
82
|
+
async paymentStatus(toolCallId) {
|
|
83
|
+
return { tool_call_id: toolCallId, payment_status: "pending", idempotency_key: null, original_status: "success", events: [] };
|
|
84
|
+
},
|
|
85
|
+
async paymentStatusStream(toolCallId) {
|
|
86
|
+
return { tool_call_id: toolCallId, payment_status: "pending", idempotency_key: null, original_status: "success", events: [] };
|
|
87
|
+
},
|
|
88
|
+
async verificationStatus(toolCallId) {
|
|
89
|
+
return { tool_call_id: toolCallId, verification_status: "pending", idempotency_key: null, original_status: "success", hosted_url: null, events: [] };
|
|
90
|
+
},
|
|
91
|
+
async verificationStatusStream(toolCallId) {
|
|
92
|
+
return { tool_call_id: toolCallId, verification_status: "pending", idempotency_key: null, original_status: "success", hosted_url: null, events: [] };
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
return session;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool-result code helpers — type-narrowed guards for the discriminated
|
|
3
|
+
* `tool_result.output` union surfaced on streamed `ToolCallRecord`
|
|
4
|
+
* values.
|
|
5
|
+
*
|
|
6
|
+
* The five variants are inert wire shapes — they only describe what the
|
|
7
|
+
* backend may stamp on `tool_result.output`. The guards turn `unknown`
|
|
8
|
+
* into one of the five `*Output` interfaces so callers can branch
|
|
9
|
+
* without casting.
|
|
10
|
+
*
|
|
11
|
+
* Each guard checks both the `code` discriminant against
|
|
12
|
+
* TOOL_RESULT_CODES AND its own required sibling fields — so a
|
|
13
|
+
* well-formed `code` with a missing sibling returns false rather
|
|
14
|
+
* than narrowing positive on the discriminant alone. The exhaustive-
|
|
15
|
+
* match utility (`assertExhaustiveToolResult`) makes a switch over
|
|
16
|
+
* ToolResultCode fail to compile if a sixth variant lands without
|
|
17
|
+
* the consumer updating their handler.
|
|
18
|
+
*/
|
|
19
|
+
import type { ToolCallRecord } from "@codespar/types";
|
|
20
|
+
export declare const ToolResultCode: {
|
|
21
|
+
readonly PolicyDenied: "policy_denied";
|
|
22
|
+
readonly ApprovalRequired: "approval_required";
|
|
23
|
+
readonly MocksExhausted: "mocks_exhausted";
|
|
24
|
+
readonly MocksEngineError: "mocks_engine_error";
|
|
25
|
+
readonly ToolNotMocked: "tool_not_mocked";
|
|
26
|
+
};
|
|
27
|
+
export type ToolResultCode = (typeof ToolResultCode)[keyof typeof ToolResultCode];
|
|
28
|
+
export declare const TOOL_RESULT_CODES: ReadonlySet<ToolResultCode>;
|
|
29
|
+
export interface PolicyDeniedOutput {
|
|
30
|
+
code: typeof ToolResultCode.PolicyDenied;
|
|
31
|
+
rule_id: string;
|
|
32
|
+
message: string;
|
|
33
|
+
}
|
|
34
|
+
export interface ApprovalRequiredOutput {
|
|
35
|
+
code: typeof ToolResultCode.ApprovalRequired;
|
|
36
|
+
approval_id: string;
|
|
37
|
+
expires_at: string;
|
|
38
|
+
message: string;
|
|
39
|
+
}
|
|
40
|
+
export interface MocksExhaustedOutput {
|
|
41
|
+
code: typeof ToolResultCode.MocksExhausted;
|
|
42
|
+
message: string;
|
|
43
|
+
}
|
|
44
|
+
export interface MocksEngineErrorOutput {
|
|
45
|
+
code: typeof ToolResultCode.MocksEngineError;
|
|
46
|
+
message: string;
|
|
47
|
+
}
|
|
48
|
+
export interface ToolNotMockedOutput {
|
|
49
|
+
code: typeof ToolResultCode.ToolNotMocked;
|
|
50
|
+
tool_name: string;
|
|
51
|
+
message: string;
|
|
52
|
+
}
|
|
53
|
+
export type ToolResultOutcome = PolicyDeniedOutput | ApprovalRequiredOutput | MocksExhaustedOutput | MocksEngineErrorOutput | ToolNotMockedOutput;
|
|
54
|
+
export type PolicyDeniedToolCall = ToolCallRecord & {
|
|
55
|
+
output: PolicyDeniedOutput;
|
|
56
|
+
};
|
|
57
|
+
export type ApprovalRequiredToolCall = ToolCallRecord & {
|
|
58
|
+
output: ApprovalRequiredOutput;
|
|
59
|
+
};
|
|
60
|
+
export type MocksExhaustedToolCall = ToolCallRecord & {
|
|
61
|
+
output: MocksExhaustedOutput;
|
|
62
|
+
};
|
|
63
|
+
export type MocksEngineErrorToolCall = ToolCallRecord & {
|
|
64
|
+
output: MocksEngineErrorOutput;
|
|
65
|
+
};
|
|
66
|
+
export type ToolNotMockedToolCall = ToolCallRecord & {
|
|
67
|
+
output: ToolNotMockedOutput;
|
|
68
|
+
};
|
|
69
|
+
export declare function isPolicyDenied(value: unknown): value is PolicyDeniedOutput;
|
|
70
|
+
export declare function isApprovalRequired(value: unknown): value is ApprovalRequiredOutput;
|
|
71
|
+
export declare function isMocksExhausted(value: unknown): value is MocksExhaustedOutput;
|
|
72
|
+
export declare function isMocksEngineError(value: unknown): value is MocksEngineErrorOutput;
|
|
73
|
+
export declare function isToolNotMocked(value: unknown): value is ToolNotMockedOutput;
|
|
74
|
+
/**
|
|
75
|
+
* Exhaustive-match witness. A `switch` over `ToolResultCode` should
|
|
76
|
+
* pass `value` here in the default branch — TS fails to compile if
|
|
77
|
+
* `value` isn't narrowed to `never`, i.e. if a code variant escaped
|
|
78
|
+
* the switch. The runtime body throws so a hostile cast at runtime
|
|
79
|
+
* doesn't silently swallow an unknown code.
|
|
80
|
+
*/
|
|
81
|
+
export declare function assertExhaustiveToolResult(value: never): never;
|
|
82
|
+
//# sourceMappingURL=tool-result-codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-result-codes.d.ts","sourceRoot":"","sources":["../src/tool-result-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,cAAc,CAMxD,CAAC;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,cAAc,CAAC,YAAY,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,cAAc,CAAC,gBAAgB,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,cAAc,CAAC,cAAc,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,cAAc,CAAC,gBAAgB,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,cAAc,CAAC,aAAa,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,CAAC;AAIxB,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,MAAM,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG;IACtD,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IACpD,MAAM,EAAE,oBAAoB,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG;IACtD,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACnD,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAWF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAM1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAOlF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAK9E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAKlF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAM5E;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAI9D"}
|