@continuumdao/continuum-node-sdk 1.2.14 → 1.2.16

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 (301) hide show
  1. package/dist/core/agent/cron-jobs.d.ts +7 -7
  2. package/dist/core/agent/cron-jobs.d.ts.map +1 -1
  3. package/dist/core/agent/cron-jobs.js +6 -6
  4. package/dist/core/agent/cron-jobs.js.map +1 -1
  5. package/dist/core/agent/environment-variables.d.ts +2 -2
  6. package/dist/core/agent/environment-variables.d.ts.map +1 -1
  7. package/dist/core/agent/environment-variables.js +2 -2
  8. package/dist/core/agent/environment-variables.js.map +1 -1
  9. package/dist/core/agent/mcp-servers-catalog.d.ts +1 -12
  10. package/dist/core/agent/mcp-servers-catalog.d.ts.map +1 -1
  11. package/dist/core/agent/mcp-servers-catalog.js +4 -67
  12. package/dist/core/agent/mcp-servers-catalog.js.map +1 -1
  13. package/dist/core/agent/mcp-servers.d.ts +4 -4
  14. package/dist/core/agent/mcp-servers.d.ts.map +1 -1
  15. package/dist/core/agent/mcp-servers.js +4 -4
  16. package/dist/core/agent/mcp-servers.js.map +1 -1
  17. package/dist/core/agent/skills.d.ts +3 -3
  18. package/dist/core/agent/skills.d.ts.map +1 -1
  19. package/dist/core/agent/skills.js +3 -3
  20. package/dist/core/agent/skills.js.map +1 -1
  21. package/dist/core/agent/webhooks.d.ts +8 -8
  22. package/dist/core/agent/webhooks.d.ts.map +1 -1
  23. package/dist/core/agent/webhooks.js +4 -4
  24. package/dist/core/agent/webhooks.js.map +1 -1
  25. package/dist/core/groups.d.ts +3 -3
  26. package/dist/core/groups.d.ts.map +1 -1
  27. package/dist/core/groups.js +3 -3
  28. package/dist/core/groups.js.map +1 -1
  29. package/dist/core/keygen-messaging.d.ts +2 -2
  30. package/dist/core/keygen-messaging.d.ts.map +1 -1
  31. package/dist/core/keygen-messaging.js +2 -2
  32. package/dist/core/keygen-messaging.js.map +1 -1
  33. package/dist/core/keygen.d.ts +4 -4
  34. package/dist/core/keygen.d.ts.map +1 -1
  35. package/dist/core/keygen.js +4 -4
  36. package/dist/core/keygen.js.map +1 -1
  37. package/dist/core/management-signer.d.ts +8 -8
  38. package/dist/core/management-signer.d.ts.map +1 -1
  39. package/dist/core/management-signer.js +24 -24
  40. package/dist/core/management-signer.js.map +1 -1
  41. package/dist/core/registry/address-book.d.ts +3 -3
  42. package/dist/core/registry/address-book.d.ts.map +1 -1
  43. package/dist/core/registry/address-book.js +3 -3
  44. package/dist/core/registry/address-book.js.map +1 -1
  45. package/dist/core/registry/networks.d.ts +3 -3
  46. package/dist/core/registry/networks.d.ts.map +1 -1
  47. package/dist/core/registry/networks.js +3 -3
  48. package/dist/core/registry/networks.js.map +1 -1
  49. package/dist/core/registry/tokens.d.ts +3 -3
  50. package/dist/core/registry/tokens.d.ts.map +1 -1
  51. package/dist/core/registry/tokens.js +3 -3
  52. package/dist/core/registry/tokens.js.map +1 -1
  53. package/dist/core/signing-flow.d.ts +9 -0
  54. package/dist/core/signing-flow.d.ts.map +1 -0
  55. package/dist/core/signing-flow.js +139 -0
  56. package/dist/core/signing-flow.js.map +1 -0
  57. package/dist/data/mpc-keys.d.ts +8 -0
  58. package/dist/data/mpc-keys.d.ts.map +1 -0
  59. package/dist/data/mpc-keys.js +38 -0
  60. package/dist/data/mpc-keys.js.map +1 -0
  61. package/dist/detops/general.d.ts +11 -0
  62. package/dist/detops/general.d.ts.map +1 -0
  63. package/dist/detops/general.js +34 -0
  64. package/dist/detops/general.js.map +1 -0
  65. package/dist/detops/group-actions.d.ts +71 -0
  66. package/dist/detops/group-actions.d.ts.map +1 -0
  67. package/dist/detops/group-actions.js +360 -0
  68. package/dist/detops/group-actions.js.map +1 -0
  69. package/dist/detops/groups.d.ts +33 -0
  70. package/dist/detops/groups.d.ts.map +1 -0
  71. package/dist/detops/groups.js +223 -0
  72. package/dist/detops/groups.js.map +1 -0
  73. package/dist/detops/keygen.d.ts +72 -0
  74. package/dist/detops/keygen.d.ts.map +1 -0
  75. package/dist/detops/keygen.js +245 -0
  76. package/dist/detops/keygen.js.map +1 -0
  77. package/dist/detops/management-keys.d.ts +44 -0
  78. package/dist/detops/management-keys.d.ts.map +1 -0
  79. package/dist/detops/management-keys.js +216 -0
  80. package/dist/detops/management-keys.js.map +1 -0
  81. package/dist/detops/management-signer.d.ts +129 -0
  82. package/dist/detops/management-signer.d.ts.map +1 -0
  83. package/dist/detops/management-signer.js +619 -0
  84. package/dist/detops/management-signer.js.map +1 -0
  85. package/dist/detops/management-signing.d.ts +11 -0
  86. package/dist/detops/management-signing.d.ts.map +1 -0
  87. package/dist/detops/management-signing.js +131 -0
  88. package/dist/detops/management-signing.js.map +1 -0
  89. package/dist/detops/mpc/broadcast-sign-result.d.ts +9 -0
  90. package/dist/detops/mpc/broadcast-sign-result.d.ts.map +1 -0
  91. package/dist/detops/mpc/broadcast-sign-result.js +147 -0
  92. package/dist/detops/mpc/broadcast-sign-result.js.map +1 -0
  93. package/dist/detops/mpc/bump-sign-result.d.ts +25 -0
  94. package/dist/detops/mpc/bump-sign-result.d.ts.map +1 -0
  95. package/dist/detops/mpc/bump-sign-result.js +314 -0
  96. package/dist/detops/mpc/bump-sign-result.js.map +1 -0
  97. package/dist/detops/mpc/client.d.ts +15 -0
  98. package/dist/detops/mpc/client.d.ts.map +1 -0
  99. package/dist/detops/mpc/client.js +62 -0
  100. package/dist/detops/mpc/client.js.map +1 -0
  101. package/dist/detops/mpc/compose-request.d.ts +6 -0
  102. package/dist/detops/mpc/compose-request.d.ts.map +1 -0
  103. package/dist/detops/mpc/compose-request.js +33 -0
  104. package/dist/detops/mpc/compose-request.js.map +1 -0
  105. package/dist/detops/mpc/context.d.ts +11 -0
  106. package/dist/detops/mpc/context.d.ts.map +1 -0
  107. package/dist/detops/mpc/context.js +43 -0
  108. package/dist/detops/mpc/context.js.map +1 -0
  109. package/dist/detops/mpc/forge-request.d.ts +6 -0
  110. package/dist/detops/mpc/forge-request.d.ts.map +1 -0
  111. package/dist/detops/mpc/forge-request.js +46 -0
  112. package/dist/detops/mpc/forge-request.js.map +1 -0
  113. package/dist/detops/mpc/gas-preflight.d.ts +25 -0
  114. package/dist/detops/mpc/gas-preflight.d.ts.map +1 -0
  115. package/dist/detops/mpc/gas-preflight.js +101 -0
  116. package/dist/detops/mpc/gas-preflight.js.map +1 -0
  117. package/dist/detops/mpc/list-ready.d.ts +10 -0
  118. package/dist/detops/mpc/list-ready.d.ts.map +1 -0
  119. package/dist/detops/mpc/list-ready.js +48 -0
  120. package/dist/detops/mpc/list-ready.js.map +1 -0
  121. package/dist/detops/mpc/management-post-sig.d.ts +11 -0
  122. package/dist/detops/mpc/management-post-sig.d.ts.map +1 -0
  123. package/dist/detops/mpc/management-post-sig.js +20 -0
  124. package/dist/detops/mpc/management-post-sig.js.map +1 -0
  125. package/dist/detops/mpc/mpa-top-up.d.ts +18 -0
  126. package/dist/detops/mpc/mpa-top-up.d.ts.map +1 -0
  127. package/dist/detops/mpc/mpa-top-up.js +213 -0
  128. package/dist/detops/mpc/mpa-top-up.js.map +1 -0
  129. package/dist/detops/mpc/register-keygen.d.ts +6 -0
  130. package/dist/detops/mpc/register-keygen.d.ts.map +1 -0
  131. package/dist/detops/mpc/register-keygen.js +41 -0
  132. package/dist/detops/mpc/register-keygen.js.map +1 -0
  133. package/dist/detops/mpc/schemas.d.ts +251 -0
  134. package/dist/detops/mpc/schemas.d.ts.map +1 -0
  135. package/dist/detops/mpc/schemas.js +163 -0
  136. package/dist/detops/mpc/schemas.js.map +1 -0
  137. package/dist/detops/mpc/sign-request-body.d.ts +10 -0
  138. package/dist/detops/mpc/sign-request-body.d.ts.map +1 -0
  139. package/dist/detops/mpc/sign-request-body.js +64 -0
  140. package/dist/detops/mpc/sign-request-body.js.map +1 -0
  141. package/dist/detops/mpc/sign-request-utils.d.ts +33 -0
  142. package/dist/detops/mpc/sign-request-utils.d.ts.map +1 -0
  143. package/dist/detops/mpc/sign-request-utils.js +467 -0
  144. package/dist/detops/mpc/sign-request-utils.js.map +1 -0
  145. package/dist/detops/mpc/transfer-native.d.ts +6 -0
  146. package/dist/detops/mpc/transfer-native.d.ts.map +1 -0
  147. package/dist/detops/mpc/transfer-native.js +167 -0
  148. package/dist/detops/mpc/transfer-native.js.map +1 -0
  149. package/dist/detops/mpc/transfer-tokens.d.ts +15 -0
  150. package/dist/detops/mpc/transfer-tokens.d.ts.map +1 -0
  151. package/dist/detops/mpc/transfer-tokens.js +110 -0
  152. package/dist/detops/mpc/transfer-tokens.js.map +1 -0
  153. package/dist/detops/mpc/trigger-sign-result.d.ts +8 -0
  154. package/dist/detops/mpc/trigger-sign-result.d.ts.map +1 -0
  155. package/dist/detops/mpc/trigger-sign-result.js +244 -0
  156. package/dist/detops/mpc/trigger-sign-result.js.map +1 -0
  157. package/dist/detops/mpc/types.d.ts +62 -0
  158. package/dist/detops/mpc/types.d.ts.map +1 -0
  159. package/dist/detops/mpc/types.js +2 -0
  160. package/dist/detops/mpc/types.js.map +1 -0
  161. package/dist/detops/node-info.d.ts +27 -0
  162. package/dist/detops/node-info.d.ts.map +1 -0
  163. package/dist/detops/node-info.js +96 -0
  164. package/dist/detops/node-info.js.map +1 -0
  165. package/dist/detops/registry/address-book.d.ts +25 -0
  166. package/dist/detops/registry/address-book.d.ts.map +1 -0
  167. package/dist/detops/registry/address-book.js +83 -0
  168. package/dist/detops/registry/address-book.js.map +1 -0
  169. package/dist/detops/registry/networks.d.ts +20 -0
  170. package/dist/detops/registry/networks.d.ts.map +1 -0
  171. package/dist/detops/registry/networks.js +154 -0
  172. package/dist/detops/registry/networks.js.map +1 -0
  173. package/dist/detops/registry/tokens.d.ts +29 -0
  174. package/dist/detops/registry/tokens.d.ts.map +1 -0
  175. package/dist/detops/registry/tokens.js +142 -0
  176. package/dist/detops/registry/tokens.js.map +1 -0
  177. package/dist/detops/result.d.ts +21 -0
  178. package/dist/detops/result.d.ts.map +1 -0
  179. package/dist/detops/result.js +2 -0
  180. package/dist/detops/result.js.map +1 -0
  181. package/dist/detops/schemas.d.ts +153 -0
  182. package/dist/detops/schemas.d.ts.map +1 -0
  183. package/dist/detops/schemas.js +82 -0
  184. package/dist/detops/schemas.js.map +1 -0
  185. package/dist/detops/signing-flow.d.ts +9 -0
  186. package/dist/detops/signing-flow.d.ts.map +1 -0
  187. package/dist/detops/signing-flow.js +139 -0
  188. package/dist/detops/signing-flow.js.map +1 -0
  189. package/dist/detops/types.d.ts +58 -0
  190. package/dist/detops/types.d.ts.map +1 -0
  191. package/dist/detops/types.js +46 -0
  192. package/dist/detops/types.js.map +1 -0
  193. package/dist/index.d.ts +1 -1
  194. package/dist/index.d.ts.map +1 -1
  195. package/dist/index.js +1 -1
  196. package/dist/index.js.map +1 -1
  197. package/dist/internal/ed25519/management-signing.d.ts +51 -0
  198. package/dist/internal/ed25519/management-signing.d.ts.map +1 -0
  199. package/dist/internal/ed25519/management-signing.js +198 -0
  200. package/dist/internal/ed25519/management-signing.js.map +1 -0
  201. package/dist/internal/ed25519/openssh-ed25519.d.ts +20 -0
  202. package/dist/internal/ed25519/openssh-ed25519.d.ts.map +1 -0
  203. package/dist/internal/ed25519/openssh-ed25519.js +129 -0
  204. package/dist/internal/ed25519/openssh-ed25519.js.map +1 -0
  205. package/dist/internal/management-request-signing.d.ts +32 -0
  206. package/dist/internal/management-request-signing.d.ts.map +1 -0
  207. package/dist/internal/management-request-signing.js +186 -0
  208. package/dist/internal/management-request-signing.js.map +1 -0
  209. package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
  210. package/dist/mcp/defi/register-protocol-tools.js +4 -1
  211. package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
  212. package/dist/mcp/defi/uniswap-liquidity-input.d.ts.map +1 -1
  213. package/dist/mcp/defi/uniswap-liquidity-input.js +77 -2
  214. package/dist/mcp/defi/uniswap-liquidity-input.js.map +1 -1
  215. package/dist/mcp/detops/registry/address-book.d.ts +4 -0
  216. package/dist/mcp/detops/registry/address-book.d.ts.map +1 -0
  217. package/dist/mcp/detops/registry/address-book.js +39 -0
  218. package/dist/mcp/detops/registry/address-book.js.map +1 -0
  219. package/dist/mcp/detops/registry/networks.d.ts +4 -0
  220. package/dist/mcp/detops/registry/networks.d.ts.map +1 -0
  221. package/dist/mcp/detops/registry/networks.js +32 -0
  222. package/dist/mcp/detops/registry/networks.js.map +1 -0
  223. package/dist/mcp/detops/registry/tokens.d.ts +4 -0
  224. package/dist/mcp/detops/registry/tokens.d.ts.map +1 -0
  225. package/dist/mcp/detops/registry/tokens.js +43 -0
  226. package/dist/mcp/detops/registry/tokens.js.map +1 -0
  227. package/dist/mcp/ed25519/management-signing.d.ts +51 -0
  228. package/dist/mcp/ed25519/management-signing.d.ts.map +1 -0
  229. package/dist/mcp/ed25519/management-signing.js +198 -0
  230. package/dist/mcp/ed25519/management-signing.js.map +1 -0
  231. package/dist/mcp/ed25519/openssh-ed25519.d.ts +20 -0
  232. package/dist/mcp/ed25519/openssh-ed25519.d.ts.map +1 -0
  233. package/dist/mcp/ed25519/openssh-ed25519.js +129 -0
  234. package/dist/mcp/ed25519/openssh-ed25519.js.map +1 -0
  235. package/dist/mcp/groups.d.ts +71 -0
  236. package/dist/mcp/groups.d.ts.map +1 -0
  237. package/dist/mcp/groups.js +360 -0
  238. package/dist/mcp/groups.js.map +1 -0
  239. package/dist/mcp/management-keys.d.ts +4 -0
  240. package/dist/mcp/management-keys.d.ts.map +1 -0
  241. package/dist/mcp/management-keys.js +75 -0
  242. package/dist/mcp/management-keys.js.map +1 -0
  243. package/dist/mcp/management-signer.js +3 -3
  244. package/dist/mcp/management-signer.js.map +1 -1
  245. package/dist/mcp/normalize.d.ts +15 -0
  246. package/dist/mcp/normalize.d.ts.map +1 -0
  247. package/dist/mcp/normalize.js +204 -0
  248. package/dist/mcp/normalize.js.map +1 -0
  249. package/dist/mcp/schemas.d.ts +360 -0
  250. package/dist/mcp/schemas.d.ts.map +1 -0
  251. package/dist/mcp/schemas.js +263 -0
  252. package/dist/mcp/schemas.js.map +1 -0
  253. package/dist/mcp/signing.d.ts +32 -0
  254. package/dist/mcp/signing.d.ts.map +1 -0
  255. package/dist/mcp/signing.js +186 -0
  256. package/dist/mcp/signing.js.map +1 -0
  257. package/dist/ops/general.d.ts +11 -0
  258. package/dist/ops/general.d.ts.map +1 -0
  259. package/dist/ops/general.js +34 -0
  260. package/dist/ops/general.js.map +1 -0
  261. package/dist/ops/groups.d.ts +17 -0
  262. package/dist/ops/groups.d.ts.map +1 -0
  263. package/dist/ops/groups.js +105 -0
  264. package/dist/ops/groups.js.map +1 -0
  265. package/dist/ops/management-signing.d.ts +11 -0
  266. package/dist/ops/management-signing.d.ts.map +1 -0
  267. package/dist/ops/management-signing.js +131 -0
  268. package/dist/ops/management-signing.js.map +1 -0
  269. package/dist/ops/result.d.ts +21 -0
  270. package/dist/ops/result.d.ts.map +1 -0
  271. package/dist/ops/result.js +2 -0
  272. package/dist/ops/result.js.map +1 -0
  273. package/dist/ops/schemas.d.ts +153 -0
  274. package/dist/ops/schemas.d.ts.map +1 -0
  275. package/dist/ops/schemas.js +82 -0
  276. package/dist/ops/schemas.js.map +1 -0
  277. package/dist/ops/signing-flow.d.ts +8 -0
  278. package/dist/ops/signing-flow.d.ts.map +1 -0
  279. package/dist/ops/signing-flow.js +125 -0
  280. package/dist/ops/signing-flow.js.map +1 -0
  281. package/dist/ops/types.d.ts +58 -0
  282. package/dist/ops/types.d.ts.map +1 -0
  283. package/dist/ops/types.js +46 -0
  284. package/dist/ops/types.js.map +1 -0
  285. package/dist/registry/address-book.d.ts +25 -0
  286. package/dist/registry/address-book.d.ts.map +1 -0
  287. package/dist/registry/address-book.js +103 -0
  288. package/dist/registry/address-book.js.map +1 -0
  289. package/dist/registry/networks.d.ts +18 -0
  290. package/dist/registry/networks.d.ts.map +1 -0
  291. package/dist/registry/networks.js +180 -0
  292. package/dist/registry/networks.js.map +1 -0
  293. package/dist/registry/tokens.d.ts +29 -0
  294. package/dist/registry/tokens.d.ts.map +1 -0
  295. package/dist/registry/tokens.js +157 -0
  296. package/dist/registry/tokens.js.map +1 -0
  297. package/package.json +3 -2
  298. package/dist/core/agent/webhooks-catalog.d.ts +0 -10
  299. package/dist/core/agent/webhooks-catalog.d.ts.map +0 -1
  300. package/dist/core/agent/webhooks-catalog.js +0 -19
  301. package/dist/core/agent/webhooks-catalog.js.map +0 -1
@@ -0,0 +1,619 @@
1
+ import { promises as fs } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { generateKeyPairSync } from 'node:crypto';
4
+ import { buildDetOpsCanonicalJson, buildDetOpsUnsignedBody, } from '../api/canonical-json.js';
5
+ import { fetchEd25519ManagementNonce, fetchEIP191ManagementNonce, managementGet, managementPost, } from '../api/management-api.js';
6
+ import { resolveKeyPathForPublicKey, resolveSignerPublicKey, signUtf8Message, readPublicKeyHex, } from '../api/management-key.js';
7
+ import { discoverKeys, resolveKeyPath } from '../config/keys.js';
8
+ import { MPA_HOME_DIR, MANAGEMENT_KEYS_DIR } from '../config/paths.js';
9
+ import { nodeId } from './general.js';
10
+ import { EdDSAPubKeySchema } from '../schemas/extended.js';
11
+ import { DEFAULT_MANAGEMENT_SIGNING } from '../schemas/extended.js';
12
+ export { DEFAULT_MANAGEMENT_SIGNING } from '../schemas/extended.js';
13
+ function sdkError(reason, data) {
14
+ const error = new Error(reason);
15
+ if (data !== undefined) {
16
+ error.data = data;
17
+ }
18
+ return error;
19
+ }
20
+ async function runSigned(fn) {
21
+ try {
22
+ return { ok: true, data: await fn() };
23
+ }
24
+ catch (error) {
25
+ return {
26
+ ok: false,
27
+ reason: error instanceof Error ? error.message : String(error),
28
+ };
29
+ }
30
+ }
31
+ export function normalizeEd25519PublicKeyToHex(value, toMcpApiError = sdkError) {
32
+ const trimmed = value.trim();
33
+ const normalizedHex = trimmed.toLowerCase().replace(/^0x/, '');
34
+ if (/^[a-f0-9]{64}$/.test(normalizedHex)) {
35
+ return normalizedHex;
36
+ }
37
+ throw toMcpApiError('Unsupported public key format; expected 64-character hex Ed25519 key');
38
+ }
39
+ export function buildManagementSigningMessage(bodyWithEmptySig) {
40
+ return JSON.stringify(bodyWithEmptySig);
41
+ }
42
+ export async function listLocalManagementPublicKeys(keyRoot, toMcpApiError = sdkError) {
43
+ const keyDir = path.join(keyRoot, 'management_keys');
44
+ let entries = [];
45
+ try {
46
+ entries = await fs.readdir(keyDir);
47
+ }
48
+ catch {
49
+ return [];
50
+ }
51
+ const pubFiles = entries.filter(entry => entry.endsWith('.pub'));
52
+ const results = [];
53
+ for (const pubFile of pubFiles) {
54
+ const fileName = pubFile.slice(0, -4);
55
+ const pubPath = path.join(keyDir, pubFile);
56
+ try {
57
+ const raw = (await fs.readFile(pubPath, 'utf8')).trim();
58
+ let publicKeyHex;
59
+ try {
60
+ publicKeyHex = normalizeEd25519PublicKeyToHex(raw, toMcpApiError);
61
+ }
62
+ catch {
63
+ publicKeyHex = undefined;
64
+ }
65
+ results.push({ fileName, publicKeyRaw: raw, publicKeyHex });
66
+ }
67
+ catch {
68
+ // ignore unreadable keys
69
+ }
70
+ }
71
+ return results;
72
+ }
73
+ async function resolvePrivateKeyPathForPublicKey(publicKey, keyRoot, config, toMcpApiError) {
74
+ const normalized = publicKey.replace(/^0x/i, '').toLowerCase();
75
+ const managementDir = path.join(keyRoot, 'management_keys');
76
+ if (toMcpApiError) {
77
+ const localKeys = await listLocalManagementPublicKeys(keyRoot, toMcpApiError);
78
+ for (const entry of localKeys) {
79
+ if (entry.publicKeyHex?.toLowerCase() === normalized) {
80
+ return path.join(managementDir, entry.fileName);
81
+ }
82
+ }
83
+ }
84
+ if (config) {
85
+ const keys = discoverKeys(config.node.mpcConfigPath);
86
+ for (const key of keys) {
87
+ const pub = readPublicKeyHex(key.path)?.toLowerCase();
88
+ if (pub === normalized) {
89
+ return key.path;
90
+ }
91
+ }
92
+ const defaultPath = resolveKeyPath(config.signer.defaultKey, config.signer.defaultKeyPath, config.node.mpcConfigPath);
93
+ if (defaultPath) {
94
+ const defaultPub = readPublicKeyHex(defaultPath)?.toLowerCase();
95
+ if (defaultPub === normalized) {
96
+ return defaultPath;
97
+ }
98
+ }
99
+ }
100
+ throw new Error(`No local private key found for management public key ${publicKey}`);
101
+ }
102
+ export async function ensureLocalKeyPairForPublicKey(publicKey, deps) {
103
+ const { keyRoot, toMcpApiError } = deps;
104
+ const keyDir = path.join(keyRoot, 'management_keys');
105
+ const normalizedTarget = normalizeEd25519PublicKeyToHex(publicKey, toMcpApiError);
106
+ const localKeys = await listLocalManagementPublicKeys(keyRoot, toMcpApiError);
107
+ const match = localKeys.find(k => k.publicKeyHex === normalizedTarget);
108
+ if (!match) {
109
+ throw toMcpApiError('Preferred signer key does not exist locally in management_keys', { preferredKey: normalizedTarget, keyDirectory: keyDir });
110
+ }
111
+ const privateKeyPath = path.join(keyDir, match.fileName);
112
+ try {
113
+ await fs.access(privateKeyPath);
114
+ }
115
+ catch {
116
+ throw toMcpApiError('Preferred signer key does not have a corresponding private key', { preferredKey: normalizedTarget, expectedPrivateKeyPath: privateKeyPath });
117
+ }
118
+ return {
119
+ fileName: match.fileName,
120
+ publicKeyPath: path.join(keyDir, `${match.fileName}.pub`),
121
+ privateKeyPath,
122
+ };
123
+ }
124
+ export async function resolvePreferredManagementKeyOption(config, keyOptions, deps) {
125
+ const { keyRoot, toMcpApiError } = deps;
126
+ const preferredResult = await getPreferredManagementSigner(config);
127
+ const preferred = preferredResult.ok
128
+ ? preferredResult.data.publicKey
129
+ : undefined;
130
+ const failures = [];
131
+ if (preferred) {
132
+ try {
133
+ const normalizedPreferred = normalizeEd25519PublicKeyToHex(preferred, toMcpApiError);
134
+ const selected = keyOptions.find(opt => normalizeEd25519PublicKeyToHex(opt.value, toMcpApiError) ===
135
+ normalizedPreferred);
136
+ if (!selected) {
137
+ throw toMcpApiError('Preferred signer is not in allowed management keys', {
138
+ preferredSigner: normalizedPreferred,
139
+ allowedKeys: keyOptions.map(k => k.value),
140
+ });
141
+ }
142
+ await ensureLocalKeyPairForPublicKey(normalizedPreferred, {
143
+ keyRoot,
144
+ toMcpApiError,
145
+ });
146
+ return selected;
147
+ }
148
+ catch (error) {
149
+ failures.push({
150
+ key: preferred,
151
+ reason: error instanceof Error ? error.message : String(error),
152
+ });
153
+ }
154
+ }
155
+ for (const opt of keyOptions) {
156
+ try {
157
+ await ensureLocalKeyPairForPublicKey(opt.value, {
158
+ keyRoot,
159
+ toMcpApiError,
160
+ });
161
+ return opt;
162
+ }
163
+ catch (error) {
164
+ failures.push({
165
+ key: opt.value,
166
+ reason: error instanceof Error ? error.message : String(error),
167
+ });
168
+ }
169
+ }
170
+ throw toMcpApiError('No preferred signer is set, and no allowed management key has a usable local private key', { failures });
171
+ }
172
+ export async function getPrivateKeyStatus(option, deps) {
173
+ try {
174
+ await ensureLocalKeyPairForPublicKey(option.value, deps);
175
+ return { available: true };
176
+ }
177
+ catch (error) {
178
+ return {
179
+ available: false,
180
+ reason: error instanceof Error ? error.message : String(error),
181
+ };
182
+ }
183
+ }
184
+ export async function assertAgentCanSignManagementRequests(config, deps) {
185
+ const { keyRoot, toMcpApiError } = deps;
186
+ const signers = await getManagementSigners(config);
187
+ if (!signers.ok) {
188
+ throw toMcpApiError(signers.reason);
189
+ }
190
+ const configuredKeys = signers.data.managementKeys.filter(key => key.isValid);
191
+ if (configuredKeys.length === 0) {
192
+ throw toMcpApiError('No EdDSA management keys are configured. Configure a bootstrap Ed25519 key before agent-signed management requests.');
193
+ }
194
+ if (configuredKeys.length === 1) {
195
+ const bootstrap = configuredKeys[0];
196
+ await ensureLocalKeyPairForPublicKey(bootstrap.publicKey, {
197
+ keyRoot,
198
+ toMcpApiError,
199
+ });
200
+ }
201
+ }
202
+ export async function signManagementMessage(option, message, deps) {
203
+ await deps.assertAgentCanSignManagementRequests();
204
+ const keyPath = await resolvePrivateKeyPathForPublicKey(option.value, deps.keyRoot, deps.config, deps.toMcpApiError);
205
+ return signUtf8Message(keyPath, message);
206
+ }
207
+ export async function getManagementSigners(config) {
208
+ const result = await managementGet(config, '/getAllowedEd25519MgtKeys');
209
+ if (!result.ok) {
210
+ return result;
211
+ }
212
+ const managementKeysList = result.data.map(entry => ({
213
+ publicKey: entry.publicKey ?? entry.removedPublicKey ?? '',
214
+ label: entry.label ?? 'Unknown key',
215
+ isValid: entry.deleted !== true && Boolean(entry.publicKey),
216
+ }));
217
+ const signingOptions = [];
218
+ for (const item of result.data) {
219
+ if (item.deleted === true || !item.publicKey) {
220
+ continue;
221
+ }
222
+ const nonceResult = await fetchEd25519ManagementNonce(config, item.publicKey);
223
+ if (!nonceResult.ok) {
224
+ return nonceResult;
225
+ }
226
+ signingOptions.push({
227
+ id: `eddsa:${item.publicKey}`,
228
+ kind: 'EdDSA',
229
+ value: item.publicKey,
230
+ nonce: nonceResult.data.nonce,
231
+ label: item.label,
232
+ });
233
+ }
234
+ return {
235
+ ok: true,
236
+ data: { managementKeys: managementKeysList, signingOptions },
237
+ };
238
+ }
239
+ export async function resolveManagementSigningKeyOption(config, keyOptions) {
240
+ return runSigned(async () => resolvePreferredManagementKeyOption(config, keyOptions, {
241
+ keyRoot: MPA_HOME_DIR,
242
+ toMcpApiError: sdkError,
243
+ }));
244
+ }
245
+ export async function getManagementSigningContext(config, signing) {
246
+ const nodeIdResult = await nodeId(config);
247
+ if (!nodeIdResult.ok) {
248
+ return nodeIdResult;
249
+ }
250
+ if (signing.kind === 'eip191') {
251
+ const nonceResult = await fetchEIP191ManagementNonce(config);
252
+ if (!nonceResult.ok) {
253
+ return nonceResult;
254
+ }
255
+ return {
256
+ ok: true,
257
+ data: {
258
+ nonce: nonceResult.data.nonce,
259
+ nodeKey: nodeIdResult.data.nodeId,
260
+ },
261
+ };
262
+ }
263
+ const signer = await getPreferredManagementSigner(config);
264
+ if (!signer.ok) {
265
+ return signer;
266
+ }
267
+ const nonceResult = await fetchEd25519ManagementNonce(config, signer.data.publicKey);
268
+ if (!nonceResult.ok) {
269
+ return nonceResult;
270
+ }
271
+ return {
272
+ ok: true,
273
+ data: {
274
+ nonce: nonceResult.data.nonce,
275
+ nodeKey: nodeIdResult.data.nodeId,
276
+ publicKey: signer.data.publicKey,
277
+ },
278
+ };
279
+ }
280
+ export function buildManagementPostBody(signed, signing, canonicalJson) {
281
+ if (signing.kind === 'eip191') {
282
+ return { ...signed, signedMessage: canonicalJson };
283
+ }
284
+ return { ...signed };
285
+ }
286
+ export async function managementSignEd25519(config, requestFields, options = {}) {
287
+ let keyInfo;
288
+ if (options.publicKey !== undefined && options.nonce !== undefined) {
289
+ const nodeIdResult = await nodeId(config);
290
+ if (!nodeIdResult.ok) {
291
+ return nodeIdResult;
292
+ }
293
+ keyInfo = {
294
+ publicKey: options.publicKey,
295
+ nonce: options.nonce,
296
+ nodeKey: nodeIdResult.data.nodeId,
297
+ };
298
+ }
299
+ else {
300
+ const ctx = await getManagementSigningContext(config, { kind: 'ed25519' });
301
+ if (!ctx.ok) {
302
+ return ctx;
303
+ }
304
+ keyInfo = ctx.data;
305
+ }
306
+ const publicKey = keyInfo.publicKey;
307
+ if (!publicKey) {
308
+ return { ok: false, reason: 'No Ed25519 management signing key available.' };
309
+ }
310
+ const resolvedKeyPath = options.keyPath ?? resolveKeyPathForPublicKey(config, publicKey);
311
+ if (!resolvedKeyPath) {
312
+ return {
313
+ ok: false,
314
+ reason: `No local private key found for signer ${publicKey}`,
315
+ };
316
+ }
317
+ const unsigned = buildDetOpsUnsignedBody(keyInfo, requestFields);
318
+ const canonicalJson = buildDetOpsCanonicalJson(unsigned);
319
+ const signature = signUtf8Message(resolvedKeyPath, canonicalJson);
320
+ const body = {
321
+ nonce: keyInfo.nonce,
322
+ nodeKey: keyInfo.nodeKey,
323
+ ...requestFields,
324
+ clientSig: signature,
325
+ };
326
+ return { ok: true, data: { body, canonicalJson } };
327
+ }
328
+ export async function managementSignEIP191(config, signing, requestFields) {
329
+ const keyInfo = await getManagementSigningContext(config, signing);
330
+ if (!keyInfo.ok) {
331
+ return keyInfo;
332
+ }
333
+ const unsigned = buildDetOpsUnsignedBody(keyInfo.data, requestFields);
334
+ const canonicalJson = buildDetOpsCanonicalJson(unsigned);
335
+ const signature = await signing.signMessage(canonicalJson);
336
+ const body = {
337
+ nonce: keyInfo.data.nonce,
338
+ nodeKey: keyInfo.data.nodeKey,
339
+ ...requestFields,
340
+ clientSig: signature.trim().replace(/^0x/i, ''),
341
+ };
342
+ return { ok: true, data: { body, canonicalJson } };
343
+ }
344
+ export async function managementSign(config, signing, requestFields, options = {}) {
345
+ if (signing.kind === 'eip191') {
346
+ const signed = await managementSignEIP191(config, signing, requestFields);
347
+ if (!signed.ok) {
348
+ return signed;
349
+ }
350
+ return { ok: true, data: signed.data.body };
351
+ }
352
+ const signed = await managementSignEd25519(config, requestFields, options);
353
+ if (!signed.ok) {
354
+ return signed;
355
+ }
356
+ return { ok: true, data: signed.data.body };
357
+ }
358
+ export async function prepareSignedManagementRequest(config, signing, buildRequestFields) {
359
+ return runSigned(async () => {
360
+ const nodeKeyResult = await nodeId(config);
361
+ if (!nodeKeyResult.ok) {
362
+ throw sdkError(nodeKeyResult.reason);
363
+ }
364
+ let selectedSigningKey;
365
+ let signOptions = {};
366
+ if (signing.kind === 'ed25519') {
367
+ const signersResult = await getManagementSigners(config);
368
+ if (!signersResult.ok) {
369
+ throw sdkError(signersResult.reason);
370
+ }
371
+ const selectedResult = await resolveManagementSigningKeyOption(config, signersResult.data.signingOptions);
372
+ if (!selectedResult.ok) {
373
+ throw sdkError(selectedResult.reason);
374
+ }
375
+ selectedSigningKey = selectedResult.data;
376
+ signOptions = {
377
+ publicKey: selectedSigningKey.value,
378
+ nonce: selectedSigningKey.nonce,
379
+ };
380
+ await assertAgentCanSignManagementRequests(config, {
381
+ keyRoot: MPA_HOME_DIR,
382
+ toMcpApiError: sdkError,
383
+ });
384
+ }
385
+ const requestFields = await buildRequestFields({
386
+ nodeKey: nodeKeyResult.data.nodeId,
387
+ selectedSigningKey,
388
+ });
389
+ if (signing.kind === 'eip191') {
390
+ const signed = await managementSignEIP191(config, signing, requestFields);
391
+ if (!signed.ok) {
392
+ throw sdkError(signed.reason);
393
+ }
394
+ return {
395
+ selectedSigningKey,
396
+ body: buildManagementPostBody(signed.data.body, signing, signed.data.canonicalJson),
397
+ canonicalJson: signed.data.canonicalJson,
398
+ signingMessage: signed.data.canonicalJson,
399
+ signature: String(signed.data.body.clientSig),
400
+ };
401
+ }
402
+ const signed = await managementSignEd25519(config, requestFields, signOptions);
403
+ if (!signed.ok) {
404
+ throw sdkError(signed.reason);
405
+ }
406
+ return {
407
+ selectedSigningKey,
408
+ body: buildManagementPostBody(signed.data.body, signing, signed.data.canonicalJson),
409
+ canonicalJson: signed.data.canonicalJson,
410
+ signingMessage: signed.data.canonicalJson,
411
+ signature: String(signed.data.body.clientSig),
412
+ };
413
+ });
414
+ }
415
+ export function buildClientSigManagementPostBody(unsignedBody, signedMessage, clientSig) {
416
+ const { Sig: _sig, clientSig: _clientSig, ...fields } = unsignedBody;
417
+ void _sig;
418
+ void _clientSig;
419
+ return { ...fields, signedMessage, clientSig };
420
+ }
421
+ export async function prepareActionSignedManagementRequest(config, signing, buildRequestFields) {
422
+ const prepared = await prepareSignedManagementRequest(config, signing, buildRequestFields);
423
+ if (!prepared.ok) {
424
+ return prepared;
425
+ }
426
+ return {
427
+ ok: true,
428
+ data: {
429
+ selectedSigningKey: prepared.data.selectedSigningKey,
430
+ signingMessage: prepared.data.signingMessage,
431
+ signature: prepared.data.signature,
432
+ body: prepared.data.body,
433
+ },
434
+ };
435
+ }
436
+ export function toSelectedSigningKey(option) {
437
+ return {
438
+ id: option.id,
439
+ kind: option.kind,
440
+ value: option.value,
441
+ nonce: option.nonce,
442
+ label: option.label,
443
+ };
444
+ }
445
+ export async function getPreferredManagementSigner(config) {
446
+ const preferred = await managementGet(config, '/getPreferredSigner');
447
+ if (!preferred.ok) {
448
+ return preferred;
449
+ }
450
+ let publicKey = preferred.data.publicKeyHex?.replace(/^0x/i, '') ?? '';
451
+ if (!EdDSAPubKeySchema.safeParse(publicKey).success) {
452
+ publicKey = resolveSignerPublicKey(config) ?? '';
453
+ }
454
+ if (!EdDSAPubKeySchema.safeParse(publicKey).success) {
455
+ return { ok: false, reason: 'No valid management signing key available.' };
456
+ }
457
+ return { ok: true, data: { publicKey } };
458
+ }
459
+ export async function getManagementSigner(config) {
460
+ const signer = await getPreferredManagementSigner(config);
461
+ if (!signer.ok) {
462
+ return signer;
463
+ }
464
+ const nonceResult = await fetchEd25519ManagementNonce(config, signer.data.publicKey);
465
+ if (!nonceResult.ok) {
466
+ return nonceResult;
467
+ }
468
+ const nodeIdResult = await nodeId(config);
469
+ if (!nodeIdResult.ok) {
470
+ return nodeIdResult;
471
+ }
472
+ return {
473
+ ok: true,
474
+ data: {
475
+ publicKey: signer.data.publicKey,
476
+ nonce: nonceResult.data.nonce,
477
+ nodeKey: nodeIdResult.data.nodeId,
478
+ },
479
+ };
480
+ }
481
+ export async function setPreferredManagementSigner(config, publicKey, signing = DEFAULT_MANAGEMENT_SIGNING) {
482
+ const parsedKey = EdDSAPubKeySchema.safeParse(publicKey.replace(/^0x/i, ''));
483
+ if (!parsedKey.success) {
484
+ return { ok: false, reason: 'Invalid management public key.' };
485
+ }
486
+ const signed = await managementSign(config, signing, {
487
+ publicKey: parsedKey.data,
488
+ });
489
+ if (!signed.ok) {
490
+ return signed;
491
+ }
492
+ const response = await managementPost(config, '/setPreferredSigner', signed.data);
493
+ if (!response.ok) {
494
+ return response;
495
+ }
496
+ return { ok: true };
497
+ }
498
+ export async function hasEd25519ManagementSigner(config) {
499
+ const result = await managementGet(config, '/hasPublicMgtKey');
500
+ if (!result.ok) {
501
+ return result;
502
+ }
503
+ return { ok: true, data: { hasEdDSAKey: Boolean(result.data) } };
504
+ }
505
+ /** @deprecated Use hasEd25519ManagementSigner */
506
+ export const hasManagementSigner = hasEd25519ManagementSigner;
507
+ export async function listManagementSignersDetailed(config) {
508
+ const [signers, preferred] = await Promise.all([
509
+ getManagementSigners(config),
510
+ getPreferredManagementSigner(config),
511
+ ]);
512
+ if (!signers.ok) {
513
+ return signers;
514
+ }
515
+ const preferredSigner = preferred.ok ? preferred.data.publicKey : undefined;
516
+ const localKeys = await listLocalManagementPublicKeys(MPA_HOME_DIR);
517
+ const localFileByPub = new Map(localKeys
518
+ .filter(k => k.publicKeyHex)
519
+ .map(k => [k.publicKeyHex, k.fileName]));
520
+ const keys = await Promise.all(signers.data.signingOptions.map(async (key) => {
521
+ const privateKeyStatus = await getPrivateKeyStatus(key, {
522
+ keyRoot: MPA_HOME_DIR,
523
+ toMcpApiError: sdkError,
524
+ });
525
+ const normalizedPublic = normalizeEd25519PublicKeyToHex(key.value);
526
+ return {
527
+ ...key,
528
+ localFileName: localFileByPub.get(normalizedPublic),
529
+ localPrivateKeyAvailable: privateKeyStatus.available,
530
+ localPrivateKeyError: privateKeyStatus.reason,
531
+ };
532
+ }));
533
+ return { ok: true, data: { preferredSigner, keys } };
534
+ }
535
+ export async function createManagementSignerKeypair(config) {
536
+ const signers = await getManagementSigners(config);
537
+ const currentKeyCount = signers.ok ? signers.data.managementKeys.length : 0;
538
+ const fileName = `added_key_${currentKeyCount}`;
539
+ const keyDir = path.join(MPA_HOME_DIR, 'management_keys');
540
+ await fs.mkdir(keyDir, { recursive: true });
541
+ const privateKeyPath = path.join(keyDir, fileName);
542
+ const publicKeyPath = `${privateKeyPath}.pub`;
543
+ try {
544
+ await fs.access(privateKeyPath);
545
+ return { ok: false, reason: 'Private key file already exists.' };
546
+ }
547
+ catch {
548
+ // expected
549
+ }
550
+ const { privateKey, publicKey } = generateKeyPairSync('ed25519');
551
+ const privatePem = privateKey.export({ format: 'pem', type: 'pkcs8' }).toString();
552
+ const publicJwk = publicKey.export({ format: 'jwk' });
553
+ if (!publicJwk.x) {
554
+ return {
555
+ ok: false,
556
+ reason: 'Failed to derive Ed25519 raw public key from generated keypair.',
557
+ };
558
+ }
559
+ const newPublicKey = Buffer.from(publicJwk.x, 'base64url').toString('hex');
560
+ const parsed = EdDSAPubKeySchema.safeParse(newPublicKey);
561
+ if (!parsed.success) {
562
+ return { ok: false, reason: 'Generated public key failed validation.' };
563
+ }
564
+ await fs.writeFile(privateKeyPath, privatePem, { mode: 0o600 });
565
+ await fs.writeFile(publicKeyPath, `${parsed.data}\n`, { mode: 0o644 });
566
+ return {
567
+ ok: true,
568
+ data: {
569
+ success: true,
570
+ fileName,
571
+ publicKey: parsed.data,
572
+ privateKeyPath,
573
+ publicKeyPath,
574
+ },
575
+ };
576
+ }
577
+ export async function addManagementSigner(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
578
+ let normalizedNewPublicKey;
579
+ try {
580
+ normalizedNewPublicKey = normalizeEd25519PublicKeyToHex(input.newPublicKey);
581
+ }
582
+ catch (error) {
583
+ return {
584
+ ok: false,
585
+ reason: error instanceof Error ? error.message : String(error),
586
+ };
587
+ }
588
+ const parsedKey = EdDSAPubKeySchema.safeParse(normalizedNewPublicKey);
589
+ if (!parsedKey.success) {
590
+ return { ok: false, reason: 'Invalid new public key.' };
591
+ }
592
+ const signed = await prepareSignedManagementRequest(config, signing, ({ selectedSigningKey }) => {
593
+ if (!selectedSigningKey) {
594
+ throw sdkError('Ed25519 signing key required to add a management signer.');
595
+ }
596
+ if (normalizeEd25519PublicKeyToHex(selectedSigningKey.value) ===
597
+ parsedKey.data) {
598
+ throw sdkError('Signer key cannot be the newly created key being added.');
599
+ }
600
+ return { newPublicKey: parsedKey.data };
601
+ });
602
+ if (!signed.ok) {
603
+ return signed;
604
+ }
605
+ const posted = await managementPost(config, '/addManagementKey', signed.data.body);
606
+ if (!posted.ok) {
607
+ return posted;
608
+ }
609
+ return {
610
+ ok: true,
611
+ data: {
612
+ success: true,
613
+ publicKey: parsedKey.data,
614
+ nodeKey: String(signed.data.body.nodeKey),
615
+ },
616
+ };
617
+ }
618
+ export { MANAGEMENT_KEYS_DIR, MPA_HOME_DIR };
619
+ //# sourceMappingURL=management-signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-signer.js","sourceRoot":"","sources":["../../src/detops/management-signer.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,EACN,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,2BAA2B,EAC3B,0BAA0B,EAC1B,aAAa,EACb,cAAc,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAOpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAOzD,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AASlE,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAwDlE,SAAS,QAAQ,CAAC,MAAc,EAAE,IAAc;IAC/C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,KAAkC,CAAC,IAAI,GAAG,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,KAAK,UAAU,SAAS,CAAI,EAAoB;IAC/C,IAAI,CAAC;QACJ,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAC,CAAC;IACrC,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;AACF,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC7C,KAAa,EACb,gBAA+B,QAAQ;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,MAAM,aAAa,CAClB,sEAAsE,CACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC5C,gBAAyC;IAEzC,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAClD,OAAe,EACf,gBAA+B,QAAQ;IAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACrD,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACJ,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,YAAgC,CAAC;YACrC,IAAI,CAAC;gBACJ,YAAY,GAAG,8BAA8B,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACR,YAAY,GAAG,SAAS,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACR,yBAAyB;QAC1B,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,iCAAiC,CAC/C,SAAiB,EACjB,OAAe,EACf,MAAsB,EACtB,aAA6B;IAE7B,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE5D,IAAI,aAAa,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC9E,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;gBACtD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;YACtD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC,IAAI,CAAC;YACjB,CAAC;QACF,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CACjC,MAAM,CAAC,MAAM,CAAC,UAAU,EACxB,MAAM,CAAC,MAAM,CAAC,cAAc,EAC5B,MAAM,CAAC,IAAI,CAAC,aAAa,CACzB,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;YAChE,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC/B,OAAO,WAAW,CAAC;YACpB,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,IAAI,KAAK,CACd,wDAAwD,SAAS,EAAE,CACnE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CACnD,SAAiB,EACjB,IAAqD;IAErD,MAAM,EAAC,OAAO,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,8BAA8B,CACtD,SAAS,EACT,aAAa,CACb,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,gBAAgB,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,aAAa,CAClB,gEAAgE,EAChE,EAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAC,CACtD,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC;QACJ,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,aAAa,CAClB,gEAAgE,EAChE,EAAC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAC,CACxE,CAAC;IACH,CAAC;IACD,OAAO;QACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,MAAM,CAAC;QACzD,cAAc;KACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACxD,MAAqB,EACrB,UAAiC,EACjC,IAGC;IAED,MAAM,EAAC,OAAO,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,eAAe,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE;QACnC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS;QAChC,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,QAAQ,GAAyC,EAAE,CAAC;IAE1D,IAAI,SAAS,EAAE,CAAC;QACf,IAAI,CAAC;YACJ,MAAM,mBAAmB,GAAG,8BAA8B,CACzD,SAAS,EACT,aAAa,CACb,CAAC;YACF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAC/B,GAAG,CAAC,EAAE,CACL,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;gBACxD,mBAAmB,CACpB,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,aAAa,CAClB,oDAAoD,EACpD;oBACC,eAAe,EAAE,mBAAmB;oBACpC,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;iBACzC,CACD,CAAC;YACH,CAAC;YACD,MAAM,8BAA8B,CAAC,mBAAmB,EAAE;gBACzD,OAAO;gBACP,aAAa;aACb,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC;YACJ,MAAM,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE;gBAC/C,OAAO;gBACP,aAAa;aACb,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,GAAG,CAAC,KAAK;gBACd,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,MAAM,aAAa,CAClB,0FAA0F,EAC1F,EAAC,QAAQ,EAAC,CACV,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAA2B,EAC3B,IAAqD;IAErD,IAAI,CAAC;QACJ,MAAM,8BAA8B,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzD,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO;YACN,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACH,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACzD,MAAqB,EACrB,IAGC;IAED,MAAM,EAAC,OAAO,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,aAAa,CAClB,qHAAqH,CACrH,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;QACrC,MAAM,8BAA8B,CAAC,SAAS,CAAC,SAAS,EAAE;YACzD,OAAO;YACP,aAAa;SACb,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,MAA2B,EAC3B,OAAe,EACf,IAKC;IAED,MAAM,IAAI,CAAC,oCAAoC,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,iCAAiC,CACtD,MAAM,CAAC,KAAK,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,CAClB,CAAC;IACF,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,aAAa,CACjC,MAAM,EACN,2BAA2B,CAC3B,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,gBAAgB,IAAI,EAAE;QAC1D,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,aAAa;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;KAC3D,CAAC,CAAC,CAAC;IAEJ,MAAM,cAAc,GAA0B,EAAE,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,SAAS;QACV,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO,WAAW,CAAC;QACpB,CAAC;QACD,cAAc,CAAC,IAAI,CAAC;YACnB,EAAE,EAAE,SAAS,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAC;KAC1D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,MAAqB,EACrB,UAAiC;IAEjC,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE,CAC3B,mCAAmC,CAAC,MAAM,EAAE,UAAU,EAAE;QACvD,OAAO,EAAE,YAAY;QACrB,aAAa,EAAE,QAAQ;KACvB,CAAC,CACF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,MAAqB,EACrB,OAAgC;IAEhC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO,WAAW,CAAC;QACpB,CAAC;QACD,OAAO;YACN,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACL,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK;gBAC7B,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;aACjC;SACD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACpD,MAAM,EACN,MAAM,CAAC,IAAI,CAAC,SAAS,CACrB,CAAC;IACF,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK;YAC7B,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;YACjC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;SAChC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,MAA4B,EAC5B,OAAgC,EAChC,aAAqB;IAErB,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAC,GAAG,MAAM,EAAE,aAAa,EAAE,aAAa,EAAC,CAAC;IAClD,CAAC;IACD,OAAO,EAAC,GAAG,MAAM,EAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,MAAqB,EACrB,aAAsC,EACtC,UAAwC,EAAE;IAE1C,IAAI,OAAiC,CAAC;IACtC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC;QACrB,CAAC;QACD,OAAO,GAAG;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;SACjC,CAAC;IACH,CAAC;SAAM,CAAC;QACP,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;QACzE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,8CAA8C,EAAC,CAAC;IAC5E,CAAC;IAED,MAAM,eAAe,GACpB,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClE,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,yCAAyC,SAAS,EAAE;SAC5D,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,eAAe,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAElE,MAAM,IAAI,GAAyB;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,aAAa;QAChB,SAAS,EAAE,SAAS;KACpB,CAAC;IAEF,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,IAAI,EAAE,aAAa,EAAC,EAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAqB,EACrB,OAAgC,EAChC,aAAsC;IAEtC,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAyB;QAClC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;QAC7B,GAAG,aAAa;QAChB,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;KAC/C,CAAC;IAEF,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,IAAI,EAAE,aAAa,EAAC,EAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAqB,EACrB,OAAgC,EAChC,aAAsC,EACtC,UAAwC,EAAE;IAE1C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC;QACf,CAAC;QACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CACnD,MAAqB,EACrB,OAAgC,EAChC,kBAE+D;IAE/D,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE;QAC3B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,kBAAmD,CAAC;QACxD,IAAI,WAAW,GAAiC,EAAE,CAAC;QAEnD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;gBACvB,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC7D,MAAM,EACN,aAAa,CAAC,IAAI,CAAC,cAAc,CACjC,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACxB,MAAM,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YACD,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC;YACzC,WAAW,GAAG;gBACb,SAAS,EAAE,kBAAkB,CAAC,KAAK;gBACnC,KAAK,EAAE,kBAAkB,CAAC,KAAK;aAC/B,CAAC;YACF,MAAM,oCAAoC,CAAC,MAAM,EAAE;gBAClD,OAAO,EAAE,YAAY;gBACrB,aAAa,EAAE,QAAQ;aACvB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC;YAC9C,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM;YAClC,kBAAkB;SAClB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACxC,MAAM,EACN,OAAO,EACP,aAAa,CACb,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO;gBACN,kBAAkB;gBAClB,IAAI,EAAE,uBAAuB,CAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,OAAO,EACP,MAAM,CAAC,IAAI,CAAC,aAAa,CACzB;gBACD,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;gBACxC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;gBACzC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;aAC7C,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACzC,MAAM,EACN,aAAa,EACb,WAAW,CACX,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO;YACN,kBAAkB;YAClB,IAAI,EAAE,uBAAuB,CAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,OAAO,EACP,MAAM,CAAC,IAAI,CAAC,aAAa,CACzB;YACD,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACxC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACzC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7C,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC/C,YAAqC,EACrC,aAAqB,EACrB,SAAiB;IAEjB,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAC,GAAG,YAAY,CAAC;IACnE,KAAK,IAAI,CAAC;IACV,KAAK,UAAU,CAAC;IAChB,OAAO,EAAC,GAAG,MAAM,EAAE,aAAa,EAAE,SAAS,EAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACzD,MAAqB,EACrB,OAAgC,EAChC,kBAE+D;IAS/D,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CACpD,MAAM,EACN,OAAO,EACP,kBAAkB,CAClB,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB;YACpD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;YAC5C,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;YAClC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;SACxB;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,MAA2B;IAE3B,OAAO;QACN,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;KACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,MAAqB;IAErB,MAAM,SAAS,GAAG,MAAM,aAAa,CACpC,MAAM,EACN,qBAAqB,CACrB,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACvE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4CAA4C,EAAC,CAAC;IAC1E,CAAC;IAED,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,SAAS,EAAC,EAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACpD,MAAM,EACN,MAAM,CAAC,IAAI,CAAC,SAAS,CACrB,CAAC;IACF,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;YAChC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK;YAC7B,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;SACjC;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,MAAqB,EACrB,SAAiB,EACjB,UAAmC,0BAA0B;IAE7D,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,EAAC,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE;QACpD,SAAS,EAAE,SAAS,CAAC,IAAI;KACzB,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CACpC,MAAM,EACN,qBAAqB,EACrB,MAAM,CAAC,IAAI,CACX,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC/C,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,iDAAiD;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAClD,MAAqB;IAerB,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,oBAAoB,CAAC,MAAM,CAAC;QAC5B,4BAA4B,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,eAAe,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACpE,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,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;QAC3C,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;YACvD,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE,QAAQ;SACvB,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnE,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,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,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,EAC7B,UAAmC,0BAA0B;IAQ7D,IAAI,sBAA8B,CAAC;IACnC,IAAI,CAAC;QACJ,sBAAsB,GAAG,8BAA8B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7E,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,OAAO,EACP,CAAC,EAAC,kBAAkB,EAAC,EAAE,EAAE;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAC,0DAA0D,CAAC,CAAC;QAC5E,CAAC;QACD,IACC,8BAA8B,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACxD,SAAS,CAAC,IAAI,EACb,CAAC;YACF,MAAM,QAAQ,CACb,yDAAyD,CACzD,CAAC;QACH,CAAC;QACD,OAAO,EAAC,YAAY,EAAE,SAAS,CAAC,IAAI,EAAC,CAAC;IACvC,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,IAAI,CAAC,OAAO,CAAC;SACzC;KACD,CAAC;AACH,CAAC;AAED,OAAO,EAAC,mBAAmB,EAAE,YAAY,EAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { NodeSdkConfig } from '../config/schema.js';
2
+ import type { SdkEmptyResult, SdkResult } from './result.js';
3
+ import { type ManagementKeyEntry, type ManagementKeyResult, type SignedManagementBody } from './schemas.js';
4
+ export type { ManagementKeyEntry } from './schemas.js';
5
+ export declare function listManagementSigners(config: NodeSdkConfig): Promise<SdkResult<{
6
+ managementKeys: ManagementKeyEntry[];
7
+ }>>;
8
+ export declare function getPreferredManagementSigner(config: NodeSdkConfig): Promise<SdkResult<ManagementKeyResult>>;
9
+ export declare function managementSign(config: NodeSdkConfig, requestFields: Record<string, unknown>, keyPath?: string): Promise<SdkResult<SignedManagementBody>>;
10
+ export declare function setPreferredSigner(config: NodeSdkConfig, publicKey: string): Promise<SdkEmptyResult>;
11
+ //# sourceMappingURL=management-signing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-signing.d.ts","sourceRoot":"","sources":["../../src/detops/management-signing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAavD,OAAO,KAAK,EAAC,cAAc,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAC3D,OAAO,EAMN,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAErD,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,cAAc,EAAE,kBAAkB,EAAE,CAAA;CAAC,CAAC,CAAC,CAuC5D;AAED,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAiDzC;AAED,wBAAsB,cAAc,CACnC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,OAAO,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CA+B1C;AAED,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAiCzB"}