@botanary/agent 0.1.0-alpha.1 → 0.1.0-alpha.11

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +43 -5
  3. package/dist/errors.d.ts +1 -38
  4. package/dist/exact-action.d.ts +47 -8
  5. package/dist/fingerprint.d.ts +0 -15
  6. package/dist/generated/routes.d.ts +0 -1
  7. package/dist/generated/schema.d.ts +8 -1092
  8. package/dist/http-path.d.ts +0 -81
  9. package/dist/index.d.ts +1 -2
  10. package/dist/index.js +2 -7
  11. package/dist/pairing-code.d.ts +0 -23
  12. package/dist/registration.d.ts +0 -3
  13. package/dist/runtime.d.ts +3 -128
  14. package/dist/signer.d.ts +0 -7
  15. package/dist/transport.d.ts +0 -3
  16. package/dist/validation.d.ts +4 -3
  17. package/dist/views.d.ts +0 -54
  18. package/package.json +6 -2
  19. package/dist/errors.d.ts.map +0 -1
  20. package/dist/errors.js +0 -40
  21. package/dist/errors.js.map +0 -1
  22. package/dist/exact-action.d.ts.map +0 -1
  23. package/dist/exact-action.js +0 -178
  24. package/dist/exact-action.js.map +0 -1
  25. package/dist/fingerprint.d.ts.map +0 -1
  26. package/dist/fingerprint.js +0 -47
  27. package/dist/fingerprint.js.map +0 -1
  28. package/dist/generated/routes.d.ts.map +0 -1
  29. package/dist/generated/routes.js +0 -92
  30. package/dist/generated/routes.js.map +0 -1
  31. package/dist/generated/schema.d.ts.map +0 -1
  32. package/dist/generated/schema.js +0 -2
  33. package/dist/generated/schema.js.map +0 -1
  34. package/dist/http-path.d.ts.map +0 -1
  35. package/dist/http-path.js +0 -201
  36. package/dist/http-path.js.map +0 -1
  37. package/dist/index.d.ts.map +0 -1
  38. package/dist/index.js.map +0 -1
  39. package/dist/pairing-code.d.ts.map +0 -1
  40. package/dist/pairing-code.js +0 -60
  41. package/dist/pairing-code.js.map +0 -1
  42. package/dist/registration.d.ts.map +0 -1
  43. package/dist/registration.js +0 -62
  44. package/dist/registration.js.map +0 -1
  45. package/dist/runtime.d.ts.map +0 -1
  46. package/dist/runtime.js +0 -559
  47. package/dist/runtime.js.map +0 -1
  48. package/dist/signer.d.ts.map +0 -1
  49. package/dist/signer.js +0 -13
  50. package/dist/signer.js.map +0 -1
  51. package/dist/transport.d.ts.map +0 -1
  52. package/dist/transport.js +0 -135
  53. package/dist/transport.js.map +0 -1
  54. package/dist/validation.d.ts.map +0 -1
  55. package/dist/validation.js +0 -108
  56. package/dist/validation.js.map +0 -1
  57. package/dist/views.d.ts.map +0 -1
  58. package/dist/views.js +0 -2
  59. package/dist/views.js.map +0 -1
package/dist/transport.js DELETED
@@ -1,135 +0,0 @@
1
- import createClient from 'openapi-fetch';
2
- import { AGENT_ROUTES } from './generated/routes.js';
3
- import { canonicalizeHttpPath } from './http-path.js';
4
- import { BotanaryApiError } from './errors.js';
5
- /** No mutation retries. A failed relay must be reconciled using its existing operation/hash. */
6
- export class AgentApiClient {
7
- #client;
8
- constructor(baseUrl, fetchImpl = fetch) {
9
- const url = new URL(baseUrl);
10
- if (url.username || url.password || url.search || url.hash || url.pathname !== '/' ||
11
- (url.protocol !== 'https:' && !(url.protocol === 'http:' && ['localhost', '127.0.0.1', '[::1]'].includes(url.hostname)))) {
12
- throw new Error('Agent API origin must be HTTPS, or HTTP on loopback.');
13
- }
14
- this.#client = createClient({ baseUrl: url.origin + '/v1', fetch: boundedFetch(fetchImpl) });
15
- }
16
- get(path, token) { return this.#request('get', path, undefined, token); }
17
- post(path, body, token) { return this.#request('post', path, body, token); }
18
- async #request(method, path, body, token) {
19
- const canonical = canonicalizeHttpPath(path);
20
- if (!canonical?.path.startsWith('/v1/'))
21
- throw new Error('Invalid agent API path.');
22
- if (token !== undefined && !/^ags_[a-f0-9]{64}$/.test(token))
23
- throw new Error('Expected an agent session credential.');
24
- const cleanPath = canonical.path.slice(3);
25
- const route = AGENT_ROUTES.find(row => row.method === method &&
26
- new RegExp('^' + row.path.replace(/\{[^}]+\}/g, '[A-Za-z0-9_-]+') + '$').test(cleanPath));
27
- if (!route)
28
- throw new Error('This route is outside the reviewed agent API.');
29
- const parameters = {};
30
- route.path.split('/').forEach((part, index) => {
31
- if (part.startsWith('{'))
32
- parameters[part.slice(1, -1)] = cleanPath.split('/')[index];
33
- });
34
- const query = Object.fromEntries(new URLSearchParams(canonical.query));
35
- const controller = new AbortController();
36
- const timeout = setTimeout(() => controller.abort(), 30_000);
37
- try {
38
- const result = await this.#client.request(method, route.path, {
39
- params: { path: parameters, query },
40
- ...(body === undefined ? {} : { body }),
41
- headers: token ? { authorization: `Bearer ${token}` } : {},
42
- credentials: 'omit', redirect: 'error', cache: 'no-store', signal: controller.signal,
43
- parseAs: 'text',
44
- });
45
- const response = result.response;
46
- let data = result.error;
47
- if (response.ok) {
48
- try {
49
- data = result.data ? JSON.parse(result.data) : {};
50
- }
51
- catch {
52
- throw new Error('Invalid JSON response.');
53
- }
54
- }
55
- if (!response.ok) {
56
- const error = record(record(data)?.error);
57
- const message = typeof error?.message === 'string' ? error.message : `Agent request failed with ${response.status}.`;
58
- const redacted = message.replace(/(?:bsk_(?:test|live)|ags|dcs|dca|dcr)_[A-Za-z0-9_-]+/g, '[redacted]').replace(/0x[a-fA-F0-9]{64,}/g, '[redacted]');
59
- const retry = response.headers.get('retry-after');
60
- const retrySeconds = retry && /^\d+(?:\.\d+)?$/.test(retry) ? Number(retry) : null;
61
- // Keep only actionable, non-secret fields. The response body and request never enter errors.
62
- const details = record(error?.details);
63
- const safeDetails = details && Object.fromEntries(Object.entries(details).filter(([key, value]) => ['missingModule', 'declineReason', 'chainId'].includes(key) && (typeof value === 'number' || (typeof value === 'string' && /^[a-zA-Z0-9_-]{1,100}$/.test(value)))));
64
- const failure = new BotanaryApiError(redacted.slice(0, 1000), response.status, safeDetails, retrySeconds);
65
- failure.requestId = safeId(response.headers.get('x-request-id'));
66
- failure.code = safeId(error?.code) ?? 'http_error';
67
- failure.ambiguous = method === 'post' && response.status >= 500;
68
- throw failure;
69
- }
70
- return data;
71
- }
72
- catch (error) {
73
- if (error instanceof BotanaryApiError)
74
- throw error;
75
- const failure = new BotanaryApiError('The agent request did not complete. Check the existing operation before retrying.', 0);
76
- failure.code = controller.signal.aborted ? 'timeout' : 'transport_error';
77
- failure.ambiguous = method === 'post';
78
- throw failure;
79
- }
80
- finally {
81
- clearTimeout(timeout);
82
- }
83
- }
84
- }
85
- function record(value) {
86
- return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : null;
87
- }
88
- function safeId(value) {
89
- return typeof value === 'string' && /^[a-zA-Z0-9_-]{1,128}$/.test(value) && !/^(?:ags|bsk|dcs|dca|dcr)_/.test(value) ? value : undefined;
90
- }
91
- function boundedFetch(fetchImpl) {
92
- return async (input, init) => {
93
- const request = input instanceof Request ? input : new Request(input, init);
94
- const signal = request.signal;
95
- let cancel = () => { };
96
- const aborted = new Promise((_, reject) => {
97
- cancel = () => reject(new Error('Request aborted.'));
98
- if (signal.aborted)
99
- cancel();
100
- else
101
- signal.addEventListener('abort', cancel, { once: true });
102
- });
103
- let reader;
104
- try {
105
- const response = await Promise.race([fetchImpl(request), aborted]);
106
- if (!response.body)
107
- return response;
108
- reader = response.body.getReader();
109
- const chunks = [];
110
- let size = 0;
111
- while (true) {
112
- const part = await Promise.race([reader.read(), aborted]);
113
- if (part.done)
114
- break;
115
- size += part.value.byteLength;
116
- if (size > 4 * 1024 * 1024)
117
- throw new Error('Response too large.');
118
- chunks.push(part.value);
119
- }
120
- const bytes = new Uint8Array(size);
121
- let offset = 0;
122
- for (const chunk of chunks) {
123
- bytes.set(chunk, offset);
124
- offset += chunk.byteLength;
125
- }
126
- return new Response(bytes, { status: response.status, statusText: response.statusText, headers: response.headers });
127
- }
128
- finally {
129
- signal.removeEventListener('abort', cancel);
130
- if (reader)
131
- void reader.cancel().catch(() => { });
132
- }
133
- };
134
- }
135
- //# sourceMappingURL=transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3E,wBAAgB,eAAe,IAAI,KAAK,CAIvC;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG9D;AACD,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAExE;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAElE;AAID,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAU5D;AACD,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAM,GAAG,MAAM,CAKjE;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAU7D;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,eAAe,GAAG,OAAO,GAAG,WAAW,CAAC,CAWpI;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAY5F"}
@@ -1,108 +0,0 @@
1
- import { publicKeyToAddress } from 'viem/accounts';
2
- import { BotanaryApiError } from './errors.js';
3
- export function invalidResponse() {
4
- const error = new BotanaryApiError('Botanary returned an invalid response. Nothing was signed.', 0);
5
- error.code = 'invalid_response';
6
- throw error;
7
- }
8
- export function record(value) {
9
- if (typeof value !== 'object' || value === null || Array.isArray(value))
10
- return invalidResponse();
11
- return value;
12
- }
13
- export function hex(value, bytes) {
14
- if (typeof value !== 'string' || !/^0x(?:[0-9a-fA-F]{2})*$/.test(value) || (bytes !== undefined && value.length !== 2 + 2 * bytes))
15
- invalidResponse();
16
- }
17
- export function resourceId(value) {
18
- if (typeof value !== 'string' || !/^[A-Za-z0-9_-]{1,128}$/.test(value) || /^(?:bsk|ags|dcs|dca|dcr)_/.test(value))
19
- invalidResponse();
20
- }
21
- function uint(value) {
22
- if (typeof value !== 'string' || !/^(0|[1-9][0-9]{0,77})$/.test(value) || BigInt(value) >= 2n ** 256n)
23
- invalidResponse();
24
- }
25
- export function publicIdentity(value) {
26
- const row = record(value);
27
- hex(row.address, 20);
28
- hex(row.publicKey, 65);
29
- if (!row.publicKey.startsWith('0x04') || publicKeyToAddress(row.publicKey).toLowerCase() !== row.address.toLowerCase() ||
30
- typeof row.fingerprint !== 'string' || !/^[A-Za-z0-9]{1,32}$/.test(row.fingerprint) ||
31
- typeof row.backend !== 'string' || !/^[A-Za-z0-9_-]{1,64}$/.test(row.backend) ||
32
- typeof row.createdAt !== 'string' || !Number.isFinite(Date.parse(row.createdAt)))
33
- invalidResponse();
34
- // Copy only public fields. A custom signer returning extra fields cannot leak them via identity().
35
- return Object.freeze({ address: row.address, publicKey: row.publicKey, fingerprint: row.fingerprint,
36
- backend: row.backend, createdAt: row.createdAt });
37
- }
38
- /** The public v0.7 contract permits decimal or hex integer quantities. Bytes remain hex-only. */
39
- export function userOpQuantity(value, bits = 256) {
40
- if (typeof value !== 'string' || !/^(0|[1-9][0-9]{0,77}|0x[0-9a-fA-F]{1,64})$/.test(value))
41
- return invalidResponse();
42
- const result = BigInt(value);
43
- if (result >= 2n ** BigInt(bits))
44
- return invalidResponse();
45
- return result;
46
- }
47
- export function unsignedUserOp(value) {
48
- const row = record(value);
49
- for (const name of ['sender', 'entryPoint'])
50
- hex(row[name], 20);
51
- for (const name of ['nonce', 'callGasLimit', 'verificationGasLimit', 'preVerificationGas', 'maxFeePerGas', 'maxPriorityFeePerGas'])
52
- userOpQuantity(row[name]);
53
- for (const name of ['callData', 'signature'])
54
- hex(row[name]);
55
- for (const name of ['paymasterVerificationGasLimit', 'paymasterPostOpGasLimit'])
56
- if (row[name] != null)
57
- userOpQuantity(row[name], 128);
58
- if (!Number.isSafeInteger(row.chainId) || Number(row.chainId) <= 0)
59
- invalidResponse();
60
- for (const name of ['factory', 'paymaster'])
61
- if (row[name] != null)
62
- hex(row[name], 20);
63
- for (const name of ['factoryData', 'paymasterData'])
64
- if (row[name] != null)
65
- hex(row[name]);
66
- return value;
67
- }
68
- export function readyRequirement(value) {
69
- const row = record(value);
70
- hex(row.payload, 32);
71
- hex(row.validator, 20);
72
- if (!Number.isSafeInteger(row.index) || Number(row.index) < 0 || Number(row.index) >= 2 ** 32)
73
- invalidResponse();
74
- const auth = record(row.authorization);
75
- hex(auth.from, 20);
76
- hex(auth.to, 20);
77
- hex(auth.nonce, 32);
78
- uint(auth.value);
79
- uint(auth.validAfter);
80
- uint(auth.validBefore);
81
- if (BigInt(auth.validBefore) <= BigInt(auth.validAfter))
82
- invalidResponse();
83
- return { payload: row.payload, validator: row.validator, index: Number(row.index), authorization: {
84
- from: auth.from, to: auth.to, nonce: auth.nonce, value: auth.value, validAfter: auth.validAfter, validBefore: auth.validBefore,
85
- } };
86
- }
87
- /** Bind a recovery response to the requested handle; never treat provider success as payment proof. */
88
- export function apiCallStatus(value, requirementId) {
89
- const row = record(value);
90
- if (row.requirementId !== requirementId || typeof row.simulated !== 'boolean')
91
- invalidResponse();
92
- const expected = { ready: ['not_submitted'], pending_approval: ['not_submitted'],
93
- submitted: ['pending'], settled: ['settled'], declined: ['not_submitted', 'not_settled'] };
94
- if (typeof row.status !== 'string' || !Object.hasOwn(expected, row.status) || !expected[row.status].includes(String(row.paymentStatus)))
95
- invalidResponse();
96
- if (row.providerStatus !== undefined && (!Number.isSafeInteger(row.providerStatus) || Number(row.providerStatus) < 100 || Number(row.providerStatus) > 599))
97
- invalidResponse();
98
- if (row.txHash !== undefined)
99
- hex(row.txHash, 32);
100
- if (row.status === 'settled')
101
- hex(row.txHash, 32);
102
- if (row.status === 'ready')
103
- readyRequirement(row.ready);
104
- else if (row.ready !== undefined)
105
- invalidResponse();
106
- return row;
107
- }
108
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,4DAA4D,EAAE,CAAC,CAAC,CAAC;IACpG,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC;IAChC,MAAM,KAAK,CAAC;AACd,CAAC;AACD,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,eAAe,EAAE,CAAC;IAClG,OAAO,KAAgC,CAAC;AAC1C,CAAC;AACD,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAAE,eAAe,EAAE,CAAC;AACxJ,CAAC;AACD,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,eAAe,EAAE,CAAC;AACvI,CAAC;AACD,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI;QAAE,eAAe,EAAE,CAAC;AAC3H,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE;QAClH,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QACnF,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7E,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAAE,eAAe,EAAE,CAAC;IACxG,mGAAmG;IACnG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW;QACjG,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC;AACD,iGAAiG;AACjG,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,IAAI,GAAG,GAAG;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,eAAe,EAAE,CAAC;IACrH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,eAAe,EAAE,CAAC;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,cAAc,EAAE,sBAAsB,CAAC;QAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9J,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,CAAC,+BAA+B,EAAE,yBAAyB,CAAC;QAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI;YAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACvI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,eAAe,EAAE,CAAC;IACtF,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;QAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvF,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC;QAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,OAAO,KAAuB,CAAC;AACjC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,eAAe,EAAE,CAAC;IACjH,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,eAAe,EAAE,CAAC;IAC3E,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE;YAChG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC/H,EAAE,CAAC;AACN,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,aAAqB;IACjE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,aAAa,KAAK,aAAa,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS;QAAE,eAAe,EAAE,CAAC;IACjG,MAAM,QAAQ,GAA6B,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,gBAAgB,EAAE,CAAC,eAAe,CAAC;QACxG,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;IAC7F,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAAE,eAAe,EAAE,CAAC;IAC5J,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;QAAE,eAAe,EAAE,CAAC;IAC/K,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO;QAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACnD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,eAAe,EAAE,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../src/views.ts"],"names":[],"mappings":"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"}
package/dist/views.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=views.js.map
package/dist/views.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"views.js","sourceRoot":"","sources":["../src/views.ts"],"names":[],"mappings":""}