@continuumdao/continuum-node-sdk 1.2.9 → 1.2.10

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 (268) hide show
  1. package/dist/core/agent/environment-variables.d.ts +12 -0
  2. package/dist/core/agent/environment-variables.d.ts.map +1 -0
  3. package/dist/core/agent/environment-variables.js +69 -0
  4. package/dist/core/agent/environment-variables.js.map +1 -0
  5. package/dist/core/registry/networks.d.ts.map +1 -1
  6. package/dist/core/registry/networks.js +8 -2
  7. package/dist/core/registry/networks.js.map +1 -1
  8. package/dist/core/registry/tokens.d.ts +3 -24
  9. package/dist/core/registry/tokens.d.ts.map +1 -1
  10. package/dist/core/registry/tokens.js +13 -11
  11. package/dist/core/registry/tokens.js.map +1 -1
  12. package/dist/index.d.ts +2 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/mcp/defi/handler.d.ts.map +1 -1
  17. package/dist/mcp/defi/handler.js +10 -4
  18. package/dist/mcp/defi/handler.js.map +1 -1
  19. package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
  20. package/dist/mcp/defi/register-protocol-tools.js +4 -0
  21. package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
  22. package/dist/mcp/defi/uniswap-api-key.d.ts +16 -0
  23. package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -0
  24. package/dist/mcp/defi/uniswap-api-key.js +50 -0
  25. package/dist/mcp/defi/uniswap-api-key.js.map +1 -0
  26. package/dist/mcp/registry/networks.d.ts.map +1 -1
  27. package/dist/mcp/registry/networks.js +1 -1
  28. package/dist/mcp/registry/networks.js.map +1 -1
  29. package/dist/mcp/registry/tokens.d.ts.map +1 -1
  30. package/dist/mcp/registry/tokens.js +3 -10
  31. package/dist/mcp/registry/tokens.js.map +1 -1
  32. package/dist/schemas/extended.d.ts +47 -4
  33. package/dist/schemas/extended.d.ts.map +1 -1
  34. package/dist/schemas/extended.js +49 -6
  35. package/dist/schemas/extended.js.map +1 -1
  36. package/package.json +1 -1
  37. package/dist/core/signing-flow.d.ts +0 -9
  38. package/dist/core/signing-flow.d.ts.map +0 -1
  39. package/dist/core/signing-flow.js +0 -139
  40. package/dist/core/signing-flow.js.map +0 -1
  41. package/dist/data/mpc-keys.d.ts +0 -8
  42. package/dist/data/mpc-keys.d.ts.map +0 -1
  43. package/dist/data/mpc-keys.js +0 -38
  44. package/dist/data/mpc-keys.js.map +0 -1
  45. package/dist/detops/general.d.ts +0 -11
  46. package/dist/detops/general.d.ts.map +0 -1
  47. package/dist/detops/general.js +0 -34
  48. package/dist/detops/general.js.map +0 -1
  49. package/dist/detops/group-actions.d.ts +0 -71
  50. package/dist/detops/group-actions.d.ts.map +0 -1
  51. package/dist/detops/group-actions.js +0 -360
  52. package/dist/detops/group-actions.js.map +0 -1
  53. package/dist/detops/groups.d.ts +0 -33
  54. package/dist/detops/groups.d.ts.map +0 -1
  55. package/dist/detops/groups.js +0 -223
  56. package/dist/detops/groups.js.map +0 -1
  57. package/dist/detops/keygen.d.ts +0 -72
  58. package/dist/detops/keygen.d.ts.map +0 -1
  59. package/dist/detops/keygen.js +0 -245
  60. package/dist/detops/keygen.js.map +0 -1
  61. package/dist/detops/management-keys.d.ts +0 -44
  62. package/dist/detops/management-keys.d.ts.map +0 -1
  63. package/dist/detops/management-keys.js +0 -216
  64. package/dist/detops/management-keys.js.map +0 -1
  65. package/dist/detops/management-signer.d.ts +0 -129
  66. package/dist/detops/management-signer.d.ts.map +0 -1
  67. package/dist/detops/management-signer.js +0 -619
  68. package/dist/detops/management-signer.js.map +0 -1
  69. package/dist/detops/management-signing.d.ts +0 -11
  70. package/dist/detops/management-signing.d.ts.map +0 -1
  71. package/dist/detops/management-signing.js +0 -131
  72. package/dist/detops/management-signing.js.map +0 -1
  73. package/dist/detops/mpc/broadcast-sign-result.d.ts +0 -9
  74. package/dist/detops/mpc/broadcast-sign-result.d.ts.map +0 -1
  75. package/dist/detops/mpc/broadcast-sign-result.js +0 -147
  76. package/dist/detops/mpc/broadcast-sign-result.js.map +0 -1
  77. package/dist/detops/mpc/bump-sign-result.d.ts +0 -25
  78. package/dist/detops/mpc/bump-sign-result.d.ts.map +0 -1
  79. package/dist/detops/mpc/bump-sign-result.js +0 -314
  80. package/dist/detops/mpc/bump-sign-result.js.map +0 -1
  81. package/dist/detops/mpc/client.d.ts +0 -15
  82. package/dist/detops/mpc/client.d.ts.map +0 -1
  83. package/dist/detops/mpc/client.js +0 -62
  84. package/dist/detops/mpc/client.js.map +0 -1
  85. package/dist/detops/mpc/compose-request.d.ts +0 -6
  86. package/dist/detops/mpc/compose-request.d.ts.map +0 -1
  87. package/dist/detops/mpc/compose-request.js +0 -33
  88. package/dist/detops/mpc/compose-request.js.map +0 -1
  89. package/dist/detops/mpc/context.d.ts +0 -11
  90. package/dist/detops/mpc/context.d.ts.map +0 -1
  91. package/dist/detops/mpc/context.js +0 -43
  92. package/dist/detops/mpc/context.js.map +0 -1
  93. package/dist/detops/mpc/forge-request.d.ts +0 -6
  94. package/dist/detops/mpc/forge-request.d.ts.map +0 -1
  95. package/dist/detops/mpc/forge-request.js +0 -46
  96. package/dist/detops/mpc/forge-request.js.map +0 -1
  97. package/dist/detops/mpc/gas-preflight.d.ts +0 -25
  98. package/dist/detops/mpc/gas-preflight.d.ts.map +0 -1
  99. package/dist/detops/mpc/gas-preflight.js +0 -101
  100. package/dist/detops/mpc/gas-preflight.js.map +0 -1
  101. package/dist/detops/mpc/list-ready.d.ts +0 -10
  102. package/dist/detops/mpc/list-ready.d.ts.map +0 -1
  103. package/dist/detops/mpc/list-ready.js +0 -48
  104. package/dist/detops/mpc/list-ready.js.map +0 -1
  105. package/dist/detops/mpc/management-post-sig.d.ts +0 -11
  106. package/dist/detops/mpc/management-post-sig.d.ts.map +0 -1
  107. package/dist/detops/mpc/management-post-sig.js +0 -20
  108. package/dist/detops/mpc/management-post-sig.js.map +0 -1
  109. package/dist/detops/mpc/mpa-top-up.d.ts +0 -18
  110. package/dist/detops/mpc/mpa-top-up.d.ts.map +0 -1
  111. package/dist/detops/mpc/mpa-top-up.js +0 -213
  112. package/dist/detops/mpc/mpa-top-up.js.map +0 -1
  113. package/dist/detops/mpc/register-keygen.d.ts +0 -6
  114. package/dist/detops/mpc/register-keygen.d.ts.map +0 -1
  115. package/dist/detops/mpc/register-keygen.js +0 -41
  116. package/dist/detops/mpc/register-keygen.js.map +0 -1
  117. package/dist/detops/mpc/schemas.d.ts +0 -251
  118. package/dist/detops/mpc/schemas.d.ts.map +0 -1
  119. package/dist/detops/mpc/schemas.js +0 -163
  120. package/dist/detops/mpc/schemas.js.map +0 -1
  121. package/dist/detops/mpc/sign-request-body.d.ts +0 -10
  122. package/dist/detops/mpc/sign-request-body.d.ts.map +0 -1
  123. package/dist/detops/mpc/sign-request-body.js +0 -64
  124. package/dist/detops/mpc/sign-request-body.js.map +0 -1
  125. package/dist/detops/mpc/sign-request-utils.d.ts +0 -33
  126. package/dist/detops/mpc/sign-request-utils.d.ts.map +0 -1
  127. package/dist/detops/mpc/sign-request-utils.js +0 -467
  128. package/dist/detops/mpc/sign-request-utils.js.map +0 -1
  129. package/dist/detops/mpc/transfer-native.d.ts +0 -6
  130. package/dist/detops/mpc/transfer-native.d.ts.map +0 -1
  131. package/dist/detops/mpc/transfer-native.js +0 -167
  132. package/dist/detops/mpc/transfer-native.js.map +0 -1
  133. package/dist/detops/mpc/transfer-tokens.d.ts +0 -15
  134. package/dist/detops/mpc/transfer-tokens.d.ts.map +0 -1
  135. package/dist/detops/mpc/transfer-tokens.js +0 -110
  136. package/dist/detops/mpc/transfer-tokens.js.map +0 -1
  137. package/dist/detops/mpc/trigger-sign-result.d.ts +0 -8
  138. package/dist/detops/mpc/trigger-sign-result.d.ts.map +0 -1
  139. package/dist/detops/mpc/trigger-sign-result.js +0 -244
  140. package/dist/detops/mpc/trigger-sign-result.js.map +0 -1
  141. package/dist/detops/mpc/types.d.ts +0 -62
  142. package/dist/detops/mpc/types.d.ts.map +0 -1
  143. package/dist/detops/mpc/types.js +0 -2
  144. package/dist/detops/mpc/types.js.map +0 -1
  145. package/dist/detops/node-info.d.ts +0 -27
  146. package/dist/detops/node-info.d.ts.map +0 -1
  147. package/dist/detops/node-info.js +0 -96
  148. package/dist/detops/node-info.js.map +0 -1
  149. package/dist/detops/registry/address-book.d.ts +0 -25
  150. package/dist/detops/registry/address-book.d.ts.map +0 -1
  151. package/dist/detops/registry/address-book.js +0 -83
  152. package/dist/detops/registry/address-book.js.map +0 -1
  153. package/dist/detops/registry/networks.d.ts +0 -20
  154. package/dist/detops/registry/networks.d.ts.map +0 -1
  155. package/dist/detops/registry/networks.js +0 -154
  156. package/dist/detops/registry/networks.js.map +0 -1
  157. package/dist/detops/registry/tokens.d.ts +0 -29
  158. package/dist/detops/registry/tokens.d.ts.map +0 -1
  159. package/dist/detops/registry/tokens.js +0 -142
  160. package/dist/detops/registry/tokens.js.map +0 -1
  161. package/dist/detops/result.d.ts +0 -21
  162. package/dist/detops/result.d.ts.map +0 -1
  163. package/dist/detops/result.js +0 -2
  164. package/dist/detops/result.js.map +0 -1
  165. package/dist/detops/schemas.d.ts +0 -153
  166. package/dist/detops/schemas.d.ts.map +0 -1
  167. package/dist/detops/schemas.js +0 -82
  168. package/dist/detops/schemas.js.map +0 -1
  169. package/dist/detops/signing-flow.d.ts +0 -9
  170. package/dist/detops/signing-flow.d.ts.map +0 -1
  171. package/dist/detops/signing-flow.js +0 -139
  172. package/dist/detops/signing-flow.js.map +0 -1
  173. package/dist/detops/types.d.ts +0 -58
  174. package/dist/detops/types.d.ts.map +0 -1
  175. package/dist/detops/types.js +0 -46
  176. package/dist/detops/types.js.map +0 -1
  177. package/dist/internal/ed25519/management-signing.d.ts +0 -51
  178. package/dist/internal/ed25519/management-signing.d.ts.map +0 -1
  179. package/dist/internal/ed25519/management-signing.js +0 -198
  180. package/dist/internal/ed25519/management-signing.js.map +0 -1
  181. package/dist/internal/ed25519/openssh-ed25519.d.ts +0 -20
  182. package/dist/internal/ed25519/openssh-ed25519.d.ts.map +0 -1
  183. package/dist/internal/ed25519/openssh-ed25519.js +0 -129
  184. package/dist/internal/ed25519/openssh-ed25519.js.map +0 -1
  185. package/dist/internal/management-request-signing.d.ts +0 -32
  186. package/dist/internal/management-request-signing.d.ts.map +0 -1
  187. package/dist/internal/management-request-signing.js +0 -186
  188. package/dist/internal/management-request-signing.js.map +0 -1
  189. package/dist/mcp/detops/registry/address-book.d.ts +0 -4
  190. package/dist/mcp/detops/registry/address-book.d.ts.map +0 -1
  191. package/dist/mcp/detops/registry/address-book.js +0 -39
  192. package/dist/mcp/detops/registry/address-book.js.map +0 -1
  193. package/dist/mcp/detops/registry/networks.d.ts +0 -4
  194. package/dist/mcp/detops/registry/networks.d.ts.map +0 -1
  195. package/dist/mcp/detops/registry/networks.js +0 -32
  196. package/dist/mcp/detops/registry/networks.js.map +0 -1
  197. package/dist/mcp/detops/registry/tokens.d.ts +0 -4
  198. package/dist/mcp/detops/registry/tokens.d.ts.map +0 -1
  199. package/dist/mcp/detops/registry/tokens.js +0 -43
  200. package/dist/mcp/detops/registry/tokens.js.map +0 -1
  201. package/dist/mcp/ed25519/management-signing.d.ts +0 -51
  202. package/dist/mcp/ed25519/management-signing.d.ts.map +0 -1
  203. package/dist/mcp/ed25519/management-signing.js +0 -198
  204. package/dist/mcp/ed25519/management-signing.js.map +0 -1
  205. package/dist/mcp/ed25519/openssh-ed25519.d.ts +0 -20
  206. package/dist/mcp/ed25519/openssh-ed25519.d.ts.map +0 -1
  207. package/dist/mcp/ed25519/openssh-ed25519.js +0 -129
  208. package/dist/mcp/ed25519/openssh-ed25519.js.map +0 -1
  209. package/dist/mcp/groups.d.ts +0 -71
  210. package/dist/mcp/groups.d.ts.map +0 -1
  211. package/dist/mcp/groups.js +0 -360
  212. package/dist/mcp/groups.js.map +0 -1
  213. package/dist/mcp/management-keys.d.ts +0 -4
  214. package/dist/mcp/management-keys.d.ts.map +0 -1
  215. package/dist/mcp/management-keys.js +0 -75
  216. package/dist/mcp/management-keys.js.map +0 -1
  217. package/dist/mcp/normalize.d.ts +0 -15
  218. package/dist/mcp/normalize.d.ts.map +0 -1
  219. package/dist/mcp/normalize.js +0 -204
  220. package/dist/mcp/normalize.js.map +0 -1
  221. package/dist/mcp/schemas.d.ts +0 -360
  222. package/dist/mcp/schemas.d.ts.map +0 -1
  223. package/dist/mcp/schemas.js +0 -263
  224. package/dist/mcp/schemas.js.map +0 -1
  225. package/dist/mcp/signing.d.ts +0 -32
  226. package/dist/mcp/signing.d.ts.map +0 -1
  227. package/dist/mcp/signing.js +0 -186
  228. package/dist/mcp/signing.js.map +0 -1
  229. package/dist/ops/general.d.ts +0 -11
  230. package/dist/ops/general.d.ts.map +0 -1
  231. package/dist/ops/general.js +0 -34
  232. package/dist/ops/general.js.map +0 -1
  233. package/dist/ops/groups.d.ts +0 -17
  234. package/dist/ops/groups.d.ts.map +0 -1
  235. package/dist/ops/groups.js +0 -105
  236. package/dist/ops/groups.js.map +0 -1
  237. package/dist/ops/management-signing.d.ts +0 -11
  238. package/dist/ops/management-signing.d.ts.map +0 -1
  239. package/dist/ops/management-signing.js +0 -131
  240. package/dist/ops/management-signing.js.map +0 -1
  241. package/dist/ops/result.d.ts +0 -21
  242. package/dist/ops/result.d.ts.map +0 -1
  243. package/dist/ops/result.js +0 -2
  244. package/dist/ops/result.js.map +0 -1
  245. package/dist/ops/schemas.d.ts +0 -153
  246. package/dist/ops/schemas.d.ts.map +0 -1
  247. package/dist/ops/schemas.js +0 -82
  248. package/dist/ops/schemas.js.map +0 -1
  249. package/dist/ops/signing-flow.d.ts +0 -8
  250. package/dist/ops/signing-flow.d.ts.map +0 -1
  251. package/dist/ops/signing-flow.js +0 -125
  252. package/dist/ops/signing-flow.js.map +0 -1
  253. package/dist/ops/types.d.ts +0 -58
  254. package/dist/ops/types.d.ts.map +0 -1
  255. package/dist/ops/types.js +0 -46
  256. package/dist/ops/types.js.map +0 -1
  257. package/dist/registry/address-book.d.ts +0 -25
  258. package/dist/registry/address-book.d.ts.map +0 -1
  259. package/dist/registry/address-book.js +0 -103
  260. package/dist/registry/address-book.js.map +0 -1
  261. package/dist/registry/networks.d.ts +0 -18
  262. package/dist/registry/networks.d.ts.map +0 -1
  263. package/dist/registry/networks.js +0 -180
  264. package/dist/registry/networks.js.map +0 -1
  265. package/dist/registry/tokens.d.ts +0 -29
  266. package/dist/registry/tokens.d.ts.map +0 -1
  267. package/dist/registry/tokens.js +0 -157
  268. package/dist/registry/tokens.js.map +0 -1
@@ -1,72 +0,0 @@
1
- import { z } from 'zod';
2
- import type { NodeSdkConfig } from '../config/schema.js';
3
- import type { SdkResult } from './result.js';
4
- import { KeyGenRequestSchema, type GroupId, type Key, type KeyGenId, type MsgCheck } from '../schemas/extended.js';
5
- import { type ManagementSigningMethod } from '../schemas/extended.js';
6
- import { toSelectedSigningKey } from '../detops/management-signer.js';
7
- import type { KeyGenResultById } from './mpc/types.js';
8
- export declare const keyGenFilterSchema: z.ZodEnum<{
9
- all: "all";
10
- pending: "pending";
11
- success: "success";
12
- failed: "failed";
13
- agree: "agree";
14
- originator: "originator";
15
- }>;
16
- export type KeyGenFilter = z.infer<typeof keyGenFilterSchema>;
17
- export type KeyGenAgreementCheck = {
18
- requestId: KeyGenId;
19
- originator?: string;
20
- isOriginatorLocal: boolean;
21
- agreementRequired: boolean;
22
- note: string;
23
- };
24
- export declare function fetchKeyGenResult(config: NodeSdkConfig, keyGenId: string): Promise<SdkResult<KeyGenResultById>>;
25
- export declare function fetchGlobalNonceByKeyGenId(config: NodeSdkConfig, keyGenId: string): Promise<SdkResult<number>>;
26
- /** MCP tool: create_key_gen_request */
27
- export declare function createKeyGenRequest(config: NodeSdkConfig, input: {
28
- groupId: GroupId;
29
- gate: number;
30
- msgCheck: MsgCheck;
31
- keyType: Key;
32
- }, signing?: ManagementSigningMethod): Promise<SdkResult<{
33
- requestId: KeyGenId;
34
- selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
35
- signingMessage: string;
36
- }>>;
37
- /** MCP tool: accept_key_gen_request */
38
- export declare function acceptKeyGenRequest(config: NodeSdkConfig, input: {
39
- requestId: KeyGenId;
40
- }, signing?: ManagementSigningMethod): Promise<SdkResult<{
41
- message: string;
42
- selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
43
- signingMessage: string;
44
- }>>;
45
- /** MCP tool: list_key_gen_requests */
46
- export declare function listKeyGenRequests(config: NodeSdkConfig, options?: {
47
- filter?: KeyGenFilter;
48
- pagenum?: number;
49
- pagesize?: number;
50
- }): Promise<SdkResult<{
51
- localNodeId: string;
52
- requests: z.infer<typeof KeyGenRequestSchema>[];
53
- agreementChecks: KeyGenAgreementCheck[];
54
- }>>;
55
- /** MCP tool: get_key_gen_request_by_id */
56
- export declare function getKeyGenRequestById(config: NodeSdkConfig, input: {
57
- id: KeyGenId;
58
- }): Promise<SdkResult<{
59
- request: z.infer<typeof KeyGenRequestSchema>;
60
- localNodeId: string;
61
- isOriginatorLocal: boolean;
62
- agreementRequired: boolean;
63
- note: string;
64
- }>>;
65
- /** MCP tool: get_key_gen_parent_group_id */
66
- export declare function getKeyGenParentGroupId(config: NodeSdkConfig, input: {
67
- id: KeyGenId;
68
- }): Promise<SdkResult<{
69
- requestid: string;
70
- groupId: GroupId;
71
- }>>;
72
- //# sourceMappingURL=keygen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keygen.d.ts","sourceRoot":"","sources":["../../src/detops/keygen.ts"],"names":[],"mappings":"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"}
@@ -1,245 +0,0 @@
1
- import { z } from 'zod';
2
- import { buildManagementQueryPath, managementGet, managementPost, } from '../api/management-api.js';
3
- import { GroupIdSchema, KeyGenIdSchema, KeyTypeSchema, MsgCheckSchema, } from '../schemas/extended.js';
4
- import { extractStatus, normalizeKeyGenRequest, pick, } from '../internal/normalize.js';
5
- import { DEFAULT_MANAGEMENT_SIGNING, } from '../schemas/extended.js';
6
- import { prepareSignedManagementRequest, toSelectedSigningKey, } from '../detops/management-signer.js';
7
- import { nodeId } from './general.js';
8
- import { mpcAuthEnvelopeData } from './mpc/sign-request-utils.js';
9
- export const keyGenFilterSchema = z.enum([
10
- 'all',
11
- 'pending',
12
- 'success',
13
- 'failed',
14
- 'agree',
15
- 'originator',
16
- ]);
17
- export async function fetchKeyGenResult(config, keyGenId) {
18
- const path = buildManagementQueryPath('/getKeyGenResultById', { id: keyGenId });
19
- const raw = await managementGet(config, path);
20
- if (!raw.ok)
21
- return raw;
22
- const data = mpcAuthEnvelopeData(raw.data) ?? raw.data;
23
- if (!data || typeof data !== 'object' || Array.isArray(data)) {
24
- return { ok: false, reason: 'Invalid getKeyGenResultById response.' };
25
- }
26
- return { ok: true, data: data };
27
- }
28
- export async function fetchGlobalNonceByKeyGenId(config, keyGenId) {
29
- const path = buildManagementQueryPath('/getGlobalNonceByKeyGenId', {
30
- id: keyGenId,
31
- });
32
- const raw = await managementGet(config, path);
33
- if (!raw.ok)
34
- return raw;
35
- let globalNonce;
36
- if (typeof raw.data === 'number') {
37
- globalNonce = raw.data;
38
- }
39
- else {
40
- const data = mpcAuthEnvelopeData(raw.data) ?? raw.data;
41
- if (data && typeof data === 'object' && !Array.isArray(data)) {
42
- const src = data;
43
- const candidate = src.globalNonce ?? src.GlobalNonce ?? src.globalnonce;
44
- if (typeof candidate === 'number')
45
- globalNonce = candidate;
46
- }
47
- }
48
- if (typeof globalNonce !== 'number' || Number.isNaN(globalNonce)) {
49
- return { ok: false, reason: 'Invalid getGlobalNonceByKeyGenId response.' };
50
- }
51
- return { ok: true, data: globalNonce };
52
- }
53
- /** MCP tool: create_key_gen_request */
54
- export async function createKeyGenRequest(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
55
- const parsedInput = z
56
- .object({
57
- groupId: GroupIdSchema,
58
- gate: z.number().int().min(2),
59
- msgCheck: MsgCheckSchema,
60
- keyType: KeyTypeSchema,
61
- })
62
- .safeParse(input);
63
- if (!parsedInput.success) {
64
- return { ok: false, reason: 'Invalid KeyGen request input.' };
65
- }
66
- const signed = await prepareSignedManagementRequest(config, signing, ({ selectedSigningKey }) => ({
67
- ...(selectedSigningKey ? { clientPk: selectedSigningKey.value } : {}),
68
- threshold: parsedInput.data.gate - 1,
69
- groupId: parsedInput.data.groupId,
70
- msgCheck: parsedInput.data.msgCheck,
71
- keyType: parsedInput.data.keyType,
72
- }));
73
- if (!signed.ok) {
74
- return signed;
75
- }
76
- const posted = await managementPost(config, '/keyGenRequest', signed.data.body);
77
- if (!posted.ok) {
78
- return posted;
79
- }
80
- const requestIdParsed = KeyGenIdSchema.safeParse(posted.data);
81
- if (!requestIdParsed.success) {
82
- return { ok: false, reason: 'KeyGen request ID response failed validation.' };
83
- }
84
- return {
85
- ok: true,
86
- data: {
87
- requestId: requestIdParsed.data,
88
- selectedSigningKey: signed.data.selectedSigningKey
89
- ? toSelectedSigningKey(signed.data.selectedSigningKey)
90
- : undefined,
91
- signingMessage: signed.data.signingMessage,
92
- },
93
- };
94
- }
95
- /** MCP tool: accept_key_gen_request */
96
- export async function acceptKeyGenRequest(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
97
- const requestIdParsed = KeyGenIdSchema.safeParse(input.requestId);
98
- if (!requestIdParsed.success) {
99
- return { ok: false, reason: 'Invalid KeyGen request ID.' };
100
- }
101
- const path = buildManagementQueryPath('/getKeyGenRequestById', {
102
- id: requestIdParsed.data,
103
- });
104
- const requestRaw = await managementGet(config, path);
105
- if (!requestRaw.ok) {
106
- return requestRaw;
107
- }
108
- const status = extractStatus(requestRaw.data);
109
- if (status && status !== 'pending') {
110
- return { ok: false, reason: 'KeyGen request is not pending.' };
111
- }
112
- const signed = await prepareSignedManagementRequest(config, signing, ({ selectedSigningKey }) => ({
113
- ...(selectedSigningKey ? { clientPk: selectedSigningKey.value } : {}),
114
- requestId: requestIdParsed.data,
115
- }));
116
- if (!signed.ok) {
117
- return signed;
118
- }
119
- const posted = await managementPost(config, '/keyGenRequestAgree', signed.data.body);
120
- if (!posted.ok) {
121
- return posted;
122
- }
123
- return {
124
- ok: true,
125
- data: {
126
- message: posted.data,
127
- selectedSigningKey: signed.data.selectedSigningKey
128
- ? toSelectedSigningKey(signed.data.selectedSigningKey)
129
- : undefined,
130
- signingMessage: signed.data.signingMessage,
131
- },
132
- };
133
- }
134
- /** MCP tool: list_key_gen_requests */
135
- export async function listKeyGenRequests(config, options = {}) {
136
- if (options.filter !== undefined &&
137
- !keyGenFilterSchema.safeParse(options.filter).success) {
138
- return { ok: false, reason: 'Invalid KeyGen request filter.' };
139
- }
140
- const path = buildManagementQueryPath('/listKeyGenRequests', {
141
- filter: options.filter,
142
- pagenum: options.pagenum === undefined ? undefined : String(options.pagenum),
143
- pagesize: options.pagesize === undefined ? undefined : String(options.pagesize),
144
- });
145
- const raw = await managementGet(config, path);
146
- if (!raw.ok) {
147
- return raw;
148
- }
149
- const rawList = Array.isArray(raw.data) ? raw.data : [];
150
- const requests = rawList
151
- .map(entry => normalizeKeyGenRequest(entry))
152
- .filter((entry) => entry !== undefined);
153
- const self = await nodeId(config);
154
- if (!self.ok) {
155
- return self;
156
- }
157
- const agreementChecks = requests.map(request => {
158
- const isOriginatorLocal = request.originator === self.data.nodeId;
159
- const agreementRequired = request.originator ? !isOriginatorLocal : true;
160
- return {
161
- requestId: request.requestid,
162
- originator: request.originator,
163
- isOriginatorLocal,
164
- agreementRequired,
165
- note: !request.originator
166
- ? 'Originator is not provided in this response; assuming agreement may be required.'
167
- : isOriginatorLocal
168
- ? 'Originator is local node; agreement is not required.'
169
- : 'Originator is a different node; agreement is required.',
170
- };
171
- });
172
- return {
173
- ok: true,
174
- data: {
175
- localNodeId: self.data.nodeId,
176
- requests,
177
- agreementChecks,
178
- },
179
- };
180
- }
181
- /** MCP tool: get_key_gen_request_by_id */
182
- export async function getKeyGenRequestById(config, input) {
183
- const idParsed = KeyGenIdSchema.safeParse(input.id);
184
- if (!idParsed.success) {
185
- return { ok: false, reason: 'Invalid KeyGen request ID.' };
186
- }
187
- const path = buildManagementQueryPath('/getKeyGenRequestById', {
188
- id: idParsed.data,
189
- });
190
- const raw = await managementGet(config, path);
191
- if (!raw.ok) {
192
- return raw;
193
- }
194
- const request = normalizeKeyGenRequest(raw.data);
195
- if (!request) {
196
- return { ok: false, reason: 'KeyGen request response failed validation.' };
197
- }
198
- const self = await nodeId(config);
199
- if (!self.ok) {
200
- return self;
201
- }
202
- const isOriginatorLocal = request.originator === self.data.nodeId;
203
- const agreementRequired = request.originator ? !isOriginatorLocal : true;
204
- return {
205
- ok: true,
206
- data: {
207
- request,
208
- localNodeId: self.data.nodeId,
209
- isOriginatorLocal,
210
- agreementRequired,
211
- note: !request.originator
212
- ? 'Originator is not provided in this response; assuming agreement may be required.'
213
- : isOriginatorLocal
214
- ? 'Originator is local node; agreement is not required.'
215
- : 'Originator is a different node; agreement is required.',
216
- },
217
- };
218
- }
219
- /** MCP tool: get_key_gen_parent_group_id */
220
- export async function getKeyGenParentGroupId(config, input) {
221
- const idParsed = KeyGenIdSchema.safeParse(input.id);
222
- if (!idParsed.success) {
223
- return { ok: false, reason: 'Invalid KeyGen request ID.' };
224
- }
225
- const path = buildManagementQueryPath('/getKeyGenGroupId', { id: idParsed.data });
226
- const raw = await managementGet(config, path);
227
- if (!raw.ok) {
228
- return raw;
229
- }
230
- if (!raw.data || typeof raw.data !== 'object') {
231
- return { ok: false, reason: 'Invalid getKeyGenGroupId response shape.' };
232
- }
233
- const src = raw.data;
234
- const requestid = pick(src, ['requestid', 'RequestId', 'id']);
235
- const groupId = pick(src, ['groupid', 'GroupId', 'groupId']);
236
- if (typeof requestid !== 'string' || typeof groupId !== 'string') {
237
- return { ok: false, reason: 'Invalid getKeyGenGroupId response shape.' };
238
- }
239
- const groupIdParsed = GroupIdSchema.safeParse(groupId);
240
- if (!groupIdParsed.success) {
241
- return { ok: false, reason: 'Invalid group ID in response.' };
242
- }
243
- return { ok: true, data: { requestid, groupId: groupIdParsed.data } };
244
- }
245
- //# sourceMappingURL=keygen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../src/detops/keygen.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import type { NodeSdkConfig } from '../config/schema.js';
2
- import type { SdkResult } from '../detops/result.js';
3
- export declare function hasManagementSigner(config: NodeSdkConfig): Promise<SdkResult<{
4
- hasEdDSAKey: boolean;
5
- }>>;
6
- export declare function listManagementSignersDetailed(config: NodeSdkConfig): Promise<SdkResult<{
7
- preferredSigner?: string;
8
- keys: Array<{
9
- localFileName?: string;
10
- kind: 'EdDSA';
11
- value: string;
12
- nonce: number;
13
- label?: string;
14
- localPrivateKeyAvailable: boolean;
15
- localPrivateKeyError?: string;
16
- }>;
17
- }>>;
18
- export declare function createManagementSignerKeypair(config: NodeSdkConfig): Promise<SdkResult<{
19
- success: boolean;
20
- fileName: string;
21
- publicKey: string;
22
- privateKeyPath: string;
23
- publicKeyPath: string;
24
- }>>;
25
- export declare function addManagementSigner(config: NodeSdkConfig, input: {
26
- newPublicKey: string;
27
- }): Promise<SdkResult<{
28
- success: boolean;
29
- publicKey: string;
30
- nodeKey: string;
31
- }>>;
32
- export declare function setPreferredManagementSigner(config: NodeSdkConfig, input: {
33
- publicKeyHex: string;
34
- }): Promise<SdkResult<{
35
- success: boolean;
36
- publicKeyHex: string;
37
- signerPublicKey: string;
38
- nodeKey: string;
39
- Nonce: number;
40
- signedMessage: string;
41
- clientSig: string;
42
- fileName: string;
43
- }>>;
44
- //# sourceMappingURL=management-keys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"management-keys.d.ts","sourceRoot":"","sources":["../../src/detops/management-keys.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAoBnD,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC,CAM5C;AAED,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,aAAa,GACnB,OAAO,CACT,SAAS,CAAC;IACT,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,KAAK,CAAC;QACX,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,wBAAwB,EAAE,OAAO,CAAC;QAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC,CAAC;CACH,CAAC,CACF,CAkCA;AAED,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,aAAa,GACnB,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC,CACF,CAgDA;AAED,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAC3B,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC,CACF,CAkEA;AAED,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAC3B,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC,CACF,CA2FA"}
@@ -1,216 +0,0 @@
1
- import { promises as fs } from 'node:fs';
2
- import path from 'node:path';
3
- import { generateKeyPairSync } from 'node:crypto';
4
- import { MPA_HOME_DIR } from '../config/paths.js';
5
- import { managementGet, managementPost } from '../api/management-api.js';
6
- import { EdDSAPubKeySchema, NodeIdSchema, NonceSchema } from '../schemas/extended.js';
7
- import { ensureLocalKeyPairForPublicKey, getPrivateKeyStatus, listLocalManagementPublicKeys, normalizeEd25519PublicKeyToHex, } from '../internal/ed25519/management-signing.js';
8
- import { buildClientSigManagementPostBody, fetchManagementKeyOptions, getPreferredManagementKeyHex, prepareSignedManagementRequest, } from '../internal/management-request-signing.js';
9
- function toError(reason) {
10
- return new Error(reason);
11
- }
12
- export async function hasManagementSigner(config) {
13
- const result = await managementGet(config, '/hasPublicMgtKey');
14
- if (!result.ok) {
15
- return result;
16
- }
17
- return { ok: true, data: { hasEdDSAKey: Boolean(result.data) } };
18
- }
19
- export async function listManagementSignersDetailed(config) {
20
- const [keyOptions, preferred] = await Promise.all([
21
- fetchManagementKeyOptions(config),
22
- getPreferredManagementKeyHex(config),
23
- ]);
24
- if (!keyOptions.ok) {
25
- return keyOptions;
26
- }
27
- const preferredSigner = preferred.ok ? preferred.data.publicKeyHex : undefined;
28
- const localKeys = await listLocalManagementPublicKeys(MPA_HOME_DIR, toError);
29
- const localFileByPub = new Map(localKeys
30
- .filter(k => k.publicKeyHex)
31
- .map(k => [k.publicKeyHex, k.fileName]));
32
- const keys = await Promise.all(keyOptions.data.map(async (key) => {
33
- const privateKeyStatus = await getPrivateKeyStatus(key, {
34
- keyRoot: MPA_HOME_DIR,
35
- toMcpApiError: toError,
36
- });
37
- const normalizedPublic = normalizeEd25519PublicKeyToHex(key.value, toError);
38
- return {
39
- ...key,
40
- localFileName: localFileByPub.get(normalizedPublic),
41
- localPrivateKeyAvailable: privateKeyStatus.available,
42
- localPrivateKeyError: privateKeyStatus.reason,
43
- };
44
- }));
45
- return { ok: true, data: { preferredSigner, keys } };
46
- }
47
- export async function createManagementSignerKeypair(config) {
48
- const configured = await managementGet(config, '/getAllowedEd25519MgtKeys');
49
- const currentKeyCount = configured.ok ? configured.data.length : 0;
50
- const fileName = `added_key_${currentKeyCount}`;
51
- const keyDir = path.join(MPA_HOME_DIR, 'management_keys');
52
- await fs.mkdir(keyDir, { recursive: true });
53
- const privateKeyPath = path.join(keyDir, fileName);
54
- const publicKeyPath = `${privateKeyPath}.pub`;
55
- try {
56
- await fs.access(privateKeyPath);
57
- return { ok: false, reason: 'Private key file already exists.' };
58
- }
59
- catch {
60
- // expected
61
- }
62
- const { privateKey, publicKey } = generateKeyPairSync('ed25519');
63
- const privatePem = privateKey.export({ format: 'pem', type: 'pkcs8' }).toString();
64
- const publicJwk = publicKey.export({ format: 'jwk' });
65
- if (!publicJwk.x) {
66
- return {
67
- ok: false,
68
- reason: 'Failed to derive Ed25519 raw public key from generated keypair.',
69
- };
70
- }
71
- const newPublicKey = Buffer.from(publicJwk.x, 'base64url').toString('hex');
72
- const parsed = EdDSAPubKeySchema.safeParse(newPublicKey);
73
- if (!parsed.success) {
74
- return { ok: false, reason: 'Generated public key failed validation.' };
75
- }
76
- await fs.writeFile(privateKeyPath, privatePem, { mode: 0o600 });
77
- await fs.writeFile(publicKeyPath, `${parsed.data}\n`, { mode: 0o644 });
78
- return {
79
- ok: true,
80
- data: {
81
- success: true,
82
- fileName,
83
- publicKey: parsed.data,
84
- privateKeyPath,
85
- publicKeyPath,
86
- },
87
- };
88
- }
89
- export async function addManagementSigner(config, input) {
90
- let normalizedNewPublicKey;
91
- try {
92
- normalizedNewPublicKey = normalizeEd25519PublicKeyToHex(input.newPublicKey, toError);
93
- }
94
- catch (error) {
95
- return {
96
- ok: false,
97
- reason: error instanceof Error ? error.message : String(error),
98
- };
99
- }
100
- const parsedKey = EdDSAPubKeySchema.safeParse(normalizedNewPublicKey);
101
- if (!parsedKey.success) {
102
- return { ok: false, reason: 'Invalid new public key.' };
103
- }
104
- const signed = await prepareSignedManagementRequest(config, async ({ selectedSigningKey }) => {
105
- if (normalizeEd25519PublicKeyToHex(selectedSigningKey.value, toError) ===
106
- parsedKey.data) {
107
- throw toError('Signer key cannot be the newly created key being added.');
108
- }
109
- const nodeKeyResult = await managementGet(config, '/getNodeKey');
110
- if (!nodeKeyResult.ok) {
111
- throw toError(nodeKeyResult.reason);
112
- }
113
- const nodeKeyParsed = NodeIdSchema.safeParse(nodeKeyResult.data);
114
- if (!nodeKeyParsed.success) {
115
- throw toError('Node ID response failed validation.');
116
- }
117
- return {
118
- newPublicKey: parsedKey.data,
119
- nodeKey: nodeKeyParsed.data,
120
- Nonce: selectedSigningKey.nonce,
121
- Sig: '',
122
- };
123
- });
124
- if (!signed.ok) {
125
- return signed;
126
- }
127
- const posted = await managementPost(config, '/addManagementKey', signed.data.body);
128
- if (!posted.ok) {
129
- return posted;
130
- }
131
- return {
132
- ok: true,
133
- data: {
134
- success: true,
135
- publicKey: parsedKey.data,
136
- nodeKey: String(signed.data.unsignedBody.nodeKey),
137
- },
138
- };
139
- }
140
- export async function setPreferredManagementSigner(config, input) {
141
- let normalized;
142
- try {
143
- normalized = normalizeEd25519PublicKeyToHex(input.publicKeyHex, toError);
144
- }
145
- catch (error) {
146
- return {
147
- ok: false,
148
- reason: error instanceof Error ? error.message : String(error),
149
- };
150
- }
151
- const parsedKey = EdDSAPubKeySchema.safeParse(normalized);
152
- if (!parsedKey.success) {
153
- return { ok: false, reason: 'Invalid public key hex.' };
154
- }
155
- const keyOptions = await fetchManagementKeyOptions(config);
156
- if (!keyOptions.ok) {
157
- return keyOptions;
158
- }
159
- const allowed = keyOptions.data.some(k => normalizeEd25519PublicKeyToHex(k.value, toError) === parsedKey.data);
160
- if (!allowed) {
161
- return {
162
- ok: false,
163
- reason: 'Preferred signer must already be in allowed management keys.',
164
- };
165
- }
166
- let localMatch;
167
- try {
168
- localMatch = await ensureLocalKeyPairForPublicKey(parsedKey.data, {
169
- keyRoot: MPA_HOME_DIR,
170
- toMcpApiError: toError,
171
- });
172
- }
173
- catch (error) {
174
- return {
175
- ok: false,
176
- reason: error instanceof Error ? error.message : String(error),
177
- };
178
- }
179
- const nodeKeyResult = await managementGet(config, '/getNodeKey');
180
- if (!nodeKeyResult.ok) {
181
- return nodeKeyResult;
182
- }
183
- const nodeKeyParsed = NodeIdSchema.safeParse(nodeKeyResult.data);
184
- if (!nodeKeyParsed.success) {
185
- return { ok: false, reason: 'Node ID response failed validation.' };
186
- }
187
- const signed = await prepareSignedManagementRequest(config, ({ selectedSigningKey }) => ({
188
- nodeKey: nodeKeyParsed.data,
189
- Nonce: selectedSigningKey.nonce,
190
- publicKey: parsedKey.data,
191
- Sig: '',
192
- }));
193
- if (!signed.ok) {
194
- return signed;
195
- }
196
- const body = buildClientSigManagementPostBody(signed.data.unsignedBody, signed.data.signingMessage, signed.data.signature);
197
- const posted = await managementPost(config, '/setPreferredSigner', body);
198
- if (!posted.ok) {
199
- return posted;
200
- }
201
- const nonceParsed = NonceSchema.safeParse(signed.data.unsignedBody.Nonce);
202
- return {
203
- ok: true,
204
- data: {
205
- success: true,
206
- publicKeyHex: parsedKey.data,
207
- signerPublicKey: normalizeEd25519PublicKeyToHex(signed.data.selectedSigningKey.value, toError),
208
- nodeKey: nodeKeyParsed.data,
209
- Nonce: nonceParsed.success ? nonceParsed.data : signed.data.selectedSigningKey.nonce,
210
- signedMessage: signed.data.signingMessage,
211
- clientSig: signed.data.signature,
212
- fileName: localMatch.fileName,
213
- },
214
- };
215
- }
216
- //# sourceMappingURL=management-keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"management-keys.js","sourceRoot":"","sources":["../../src/detops/management-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,IAAI,EAAE,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAC,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACpF,OAAO,EACN,8BAA8B,EAC9B,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,GAC9B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACN,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,GAE9B,MAAM,2CAA2C,CAAC;AAEnD,SAAS,OAAO,CAAC,MAAc;IAC9B,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAU,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,EAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAClD,MAAqB;IAerB,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjD,yBAAyB,CAAC,MAAM,CAAC;QACjC,4BAA4B,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,MAAM,eAAe,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,IAAI,GAAG,CAC7B,SAAS;SACP,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAsB,EAAE,CAAC,CAAC,QAAQ,CAAU,CAAC,CAC3D,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;QAC/B,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;YACvD,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,8BAA8B,CACtD,GAAG,CAAC,KAAK,EACT,OAAO,CACP,CAAC;QACF,OAAO;YACN,GAAG,GAAG;YACN,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACnD,wBAAwB,EAAE,gBAAgB,CAAC,SAAS;YACpD,oBAAoB,EAAE,gBAAgB,CAAC,MAAM;SAC7C,CAAC;IACH,CAAC,CAAC,CACF,CAAC;IACF,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,eAAe,EAAE,IAAI,EAAC,EAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAClD,MAAqB;IAUrB,MAAM,UAAU,GAAG,MAAM,aAAa,CACrC,MAAM,EACN,2BAA2B,CAC3B,CAAC;IACF,MAAM,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,aAAa,eAAe,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAE1C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,GAAG,cAAc,MAAM,CAAC;IAE9C,IAAI,CAAC;QACJ,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAChC,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACR,WAAW;IACZ,CAAC;IAED,MAAM,EAAC,UAAU,EAAE,SAAS,EAAC,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAiB,CAAC;IACpE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,iEAAiE;SACzE,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAC,CAAC;IACvE,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;IAC9D,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;IAErE,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,cAAc;YACd,aAAa;SACb;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAqB,EACrB,KAA6B;IAQ7B,IAAI,sBAA8B,CAAC;IACnC,IAAI,CAAC;QACJ,sBAAsB,GAAG,8BAA8B,CACtD,KAAK,CAAC,YAAY,EAClB,OAAO,CACP,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACtE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAC,CAAC;IACvD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAClD,MAAM,EACN,KAAK,EAAE,EAAC,kBAAkB,EAAC,EAAE,EAAE;QAC9B,IACC,8BAA8B,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;YACjE,SAAS,CAAC,IAAI,EACb,CAAC;YACF,MAAM,OAAO,CACZ,yDAAyD,CACzD,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAS,MAAM,EAAE,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO;YACN,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,OAAO,EAAE,aAAa,CAAC,IAAI;YAC3B,KAAK,EAAE,kBAAkB,CAAC,KAAK;YAC/B,GAAG,EAAE,EAAE;SACP,CAAC;IACH,CAAC,CACD,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,MAAM,EACN,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;SACjD;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,MAAqB,EACrB,KAA6B;IAa7B,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACJ,UAAU,GAAG,8BAA8B,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAC,CAAC;IACvD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,IAAI,CACxE,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,8DAA8D;SACtE,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC;IACf,IAAI,CAAC;QACJ,UAAU,GAAG,MAAM,8BAA8B,CAAC,SAAS,CAAC,IAAI,EAAE;YACjE,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE,OAAO;SACtB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,aAAa,CAAS,MAAM,EAAE,aAAa,CAAC,CAAC;IACzE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAClD,MAAM,EACN,CAAC,EAAC,kBAAkB,EAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,aAAa,CAAC,IAAI;QAC3B,KAAK,EAAE,kBAAkB,CAAC,KAAK;QAC/B,SAAS,EAAE,SAAS,CAAC,IAAI;QACzB,GAAG,EAAE,EAAE;KACP,CAAC,CACF,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,gCAAgC,CAC5C,MAAM,CAAC,IAAI,CAAC,YAAY,EACxB,MAAM,CAAC,IAAI,CAAC,cAAc,EAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,CACrB,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAS,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1E,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,eAAe,EAAE,8BAA8B,CAC9C,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EACpC,OAAO,CACP;YACD,OAAO,EAAE,aAAa,CAAC,IAAI;YAC3B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK;YACpF,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc;YACzC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;YAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC7B;KACD,CAAC;AACH,CAAC"}