@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 +0,0 @@
1
- {"version":3,"file":"group-actions.d.ts","sourceRoot":"","sources":["../../src/detops/group-actions.ts"],"names":[],"mappings":"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"}
@@ -1,360 +0,0 @@
1
- import { z } from 'zod';
2
- import { buildManagementQueryPath, managementGet, managementPost, } from '../api/management-api.js';
3
- import { FilterSchema, GroupIdSchema, GroupRequestIdSchema, NodeIdSchema, } from '../schemas/extended.js';
4
- import { isSameNodeSet, normalizeGroupRequest, normalizeGroupResult, normalizeLegacyGroupListEntry, normalizeNodeIdList, } from '../internal/normalize.js';
5
- import { prepareSignedManagementRequest, toSelectedSigningKey, } from '../detops/management-signer.js';
6
- async function fetchNodeIdByIp(config) {
7
- const configured = await managementGet(config, '/getConfiguredNodeKeys');
8
- if (!configured.ok) {
9
- return configured;
10
- }
11
- const entries = [];
12
- for (const node of configured.data.nodes ?? []) {
13
- try {
14
- const parsed = new URL(node.address);
15
- const ip = parsed.hostname;
16
- const port = parsed.port || '18080';
17
- const url = `${parsed.protocol}//${ip}:${port}/getNodeKey`;
18
- const response = await fetch(url, { method: 'GET' });
19
- if (!response.ok) {
20
- continue;
21
- }
22
- const body = (await response.json());
23
- const code = body.Code ?? body.code;
24
- const data = body.Data ?? body.data;
25
- if (code !== 0 && String(code) !== '0') {
26
- continue;
27
- }
28
- const nodeIdParsed = NodeIdSchema.safeParse(data);
29
- if (nodeIdParsed.success) {
30
- entries.push([ip, nodeIdParsed.data]);
31
- }
32
- }
33
- catch {
34
- // skip unreachable nodes
35
- }
36
- }
37
- return { ok: true, data: Object.fromEntries(entries) };
38
- }
39
- async function groupExistsForNodeIds(config, nodeIds) {
40
- const list = await listMcpGroupResults(config, {});
41
- if (!list.ok) {
42
- return false;
43
- }
44
- return list.data.results.some(result => isSameNodeSet(result.KeyList, nodeIds));
45
- }
46
- export async function listAvailableNodeIds(config) {
47
- const [nodeIdByIpResult, selfResult] = await Promise.all([
48
- fetchNodeIdByIp(config),
49
- managementGet(config, '/getNodeKey'),
50
- ]);
51
- if (!nodeIdByIpResult.ok) {
52
- return nodeIdByIpResult;
53
- }
54
- if (!selfResult.ok) {
55
- return selfResult;
56
- }
57
- const selfParsed = NodeIdSchema.safeParse(selfResult.data);
58
- if (!selfParsed.success) {
59
- return { ok: false, reason: 'Node ID response failed validation.' };
60
- }
61
- const selfNodeId = selfParsed.data;
62
- const nodeIdByIp = nodeIdByIpResult.data;
63
- const nodes = Object.entries(nodeIdByIp).map(([ip, nodeId], idx) => ({
64
- index: idx + 1,
65
- ip,
66
- nodeId,
67
- isSelf: nodeId === selfNodeId,
68
- }));
69
- return { ok: true, data: { selfNodeId, nodes, nodeIdByIp } };
70
- }
71
- export async function createGroupRequest(config, input) {
72
- const nodeIdsParsed = z.array(NodeIdSchema).min(2).safeParse(input.nodeIds);
73
- if (!nodeIdsParsed.success) {
74
- return { ok: false, reason: 'Invalid nodeIds input.' };
75
- }
76
- const available = await listAvailableNodeIds(config);
77
- if (!available.ok) {
78
- return available;
79
- }
80
- const configuredSet = new Set(Object.values(available.data.nodeIdByIp));
81
- const keyList = normalizeNodeIdList(nodeIdsParsed.data);
82
- const invalid = keyList.filter(id => !configuredSet.has(id));
83
- if (invalid.length > 0) {
84
- return {
85
- ok: false,
86
- reason: 'nodeIds contains values not present in configured nodes.',
87
- };
88
- }
89
- if (!keyList.includes(available.data.selfNodeId)) {
90
- return {
91
- ok: false,
92
- reason: 'Selected nodeIds must include the originator node ID.',
93
- };
94
- }
95
- if (await groupExistsForNodeIds(config, keyList)) {
96
- return { ok: false, reason: 'A group with this exact node set already exists.' };
97
- }
98
- const signed = await prepareSignedManagementRequest(config, ({ selectedSigningKey }) => ({
99
- nodeKey: available.data.selfNodeId,
100
- Nonce: selectedSigningKey.nonce,
101
- Sig: '',
102
- keyList,
103
- BrokerArray: [],
104
- }));
105
- if (!signed.ok) {
106
- return signed;
107
- }
108
- const posted = await managementPost(config, '/newGroupRequest', signed.data.body);
109
- if (!posted.ok) {
110
- return posted;
111
- }
112
- const requestIdParsed = GroupRequestIdSchema.safeParse(posted.data);
113
- return {
114
- ok: true,
115
- data: {
116
- groupRequestId: requestIdParsed.success ? requestIdParsed.data : posted.data,
117
- selectedSigningKey: toSelectedSigningKey(signed.data.selectedSigningKey),
118
- signingMessage: signed.data.signingMessage,
119
- },
120
- };
121
- }
122
- export async function acceptGroupRequest(config, input) {
123
- const requestIdParsed = GroupRequestIdSchema.safeParse(input.requestId);
124
- if (!requestIdParsed.success) {
125
- return { ok: false, reason: 'Invalid group request ID.' };
126
- }
127
- const path = buildManagementQueryPath('/getNewGroupRequestById', {
128
- id: requestIdParsed.data,
129
- });
130
- const raw = await managementGet(config, path);
131
- if (!raw.ok) {
132
- return raw;
133
- }
134
- const request = normalizeGroupRequest(raw.data);
135
- if (!request) {
136
- return { ok: false, reason: 'Group request response failed validation.' };
137
- }
138
- if (request.status !== 'pending') {
139
- return { ok: false, reason: 'Group request is not pending.' };
140
- }
141
- const nodeKeyResult = await managementGet(config, '/getNodeKey');
142
- if (!nodeKeyResult.ok) {
143
- return nodeKeyResult;
144
- }
145
- const nodeKeyParsed = NodeIdSchema.safeParse(nodeKeyResult.data);
146
- if (!nodeKeyParsed.success) {
147
- return { ok: false, reason: 'Node ID response failed validation.' };
148
- }
149
- const signed = await prepareSignedManagementRequest(config, ({ selectedSigningKey }) => ({
150
- nodeKey: nodeKeyParsed.data,
151
- requestId: requestIdParsed.data,
152
- Nonce: selectedSigningKey.nonce,
153
- Sig: '',
154
- }));
155
- if (!signed.ok) {
156
- return signed;
157
- }
158
- const posted = await managementPost(config, '/newGroupRequestAgree', signed.data.body);
159
- if (!posted.ok) {
160
- return posted;
161
- }
162
- return {
163
- ok: true,
164
- data: {
165
- message: posted.data,
166
- selectedSigningKey: toSelectedSigningKey(signed.data.selectedSigningKey),
167
- signingMessage: signed.data.signingMessage,
168
- },
169
- };
170
- }
171
- export async function listValidGroupNodeSetsMcp(config) {
172
- const available = await listAvailableNodeIds(config);
173
- if (!available.ok) {
174
- return available;
175
- }
176
- const configuredNodeIds = normalizeNodeIdList(Object.values(available.data.nodeIdByIp));
177
- const selfNodeId = available.data.selfNodeId;
178
- if (!configuredNodeIds.includes(selfNodeId)) {
179
- return {
180
- ok: false,
181
- reason: 'Originator node ID is not present in configured nodes.',
182
- };
183
- }
184
- const others = configuredNodeIds.filter(id => id !== selfNodeId);
185
- const validPairs = [];
186
- for (const other of others) {
187
- const pair = normalizeNodeIdList([selfNodeId, other]);
188
- if (!(await groupExistsForNodeIds(config, pair))) {
189
- validPairs.push(pair);
190
- }
191
- }
192
- return { ok: true, data: { selfNodeId, configuredNodeIds, validPairs } };
193
- }
194
- function buildAgreementChecks(localNodeId, requests) {
195
- return requests.map(request => {
196
- const isOriginatorLocal = request.originator === localNodeId;
197
- return {
198
- requestId: request.RequestId,
199
- originator: request.originator,
200
- isOriginatorLocal,
201
- agreementRequired: !isOriginatorLocal,
202
- note: isOriginatorLocal
203
- ? 'Originator is local node; agreement is not required.'
204
- : 'Originator is a different node; agreement is required.',
205
- };
206
- });
207
- }
208
- export async function listMcpGroupRequests(config, options = {}) {
209
- const filterParsed = options.filter === undefined
210
- ? { success: true, data: 'all' }
211
- : FilterSchema.safeParse(options.filter);
212
- if (!filterParsed.success) {
213
- return { ok: false, reason: 'Invalid group request filter.' };
214
- }
215
- const path = buildManagementQueryPath('/listNewGroupRequests', {
216
- filter: filterParsed.data,
217
- pagenum: options.pagenum === undefined ? undefined : String(options.pagenum),
218
- pagesize: options.pagesize === undefined ? undefined : String(options.pagesize),
219
- });
220
- const raw = await managementGet(config, path);
221
- if (!raw.ok) {
222
- return raw;
223
- }
224
- const rawRequests = Array.isArray(raw.data) ? raw.data : [];
225
- const requests = [];
226
- for (const entry of rawRequests) {
227
- const parsed = normalizeGroupRequest(entry);
228
- if (parsed) {
229
- requests.push(parsed);
230
- }
231
- }
232
- const local = await managementGet(config, '/getNodeKey');
233
- if (!local.ok) {
234
- return local;
235
- }
236
- const localParsed = NodeIdSchema.safeParse(local.data);
237
- if (!localParsed.success) {
238
- return { ok: false, reason: 'Node ID response failed validation.' };
239
- }
240
- return {
241
- ok: true,
242
- data: {
243
- localNodeId: localParsed.data,
244
- requests,
245
- agreementChecks: buildAgreementChecks(localParsed.data, requests),
246
- },
247
- };
248
- }
249
- async function fetchMcpGroupResultsRaw(config, params) {
250
- const path = buildManagementQueryPath('/listNewGroupResults', params);
251
- try {
252
- const data = await managementGet(config, path);
253
- if (data.ok && Array.isArray(data.data)) {
254
- return data.data
255
- .map(entry => normalizeGroupResult(entry))
256
- .filter((entry) => entry !== undefined);
257
- }
258
- }
259
- catch {
260
- // fall through
261
- }
262
- const fallbackPath = buildManagementQueryPath('/listGroupResults', params);
263
- const fallback = await managementGet(config, fallbackPath);
264
- if (!fallback.ok) {
265
- return [];
266
- }
267
- const groups = typeof fallback.data === 'object' &&
268
- fallback.data !== null &&
269
- Array.isArray(fallback.data.groups)
270
- ? fallback.data.groups
271
- : [];
272
- return groups
273
- .map(entry => normalizeLegacyGroupListEntry(entry))
274
- .filter((entry) => entry !== undefined);
275
- }
276
- export async function listMcpGroupResults(config, options = {}) {
277
- const params = {};
278
- if (options.filter !== undefined) {
279
- params.filter = options.filter;
280
- }
281
- if (options.pagenum !== undefined) {
282
- params.pagenum = String(options.pagenum);
283
- }
284
- if (options.pagesize !== undefined) {
285
- params.pagesize = String(options.pagesize);
286
- }
287
- const results = await fetchMcpGroupResultsRaw(config, params);
288
- return { ok: true, data: { results } };
289
- }
290
- export async function getMcpGroupRequestById(config, input) {
291
- const idParsed = GroupRequestIdSchema.safeParse(input.id);
292
- if (!idParsed.success) {
293
- return { ok: false, reason: 'Invalid group request ID.' };
294
- }
295
- const path = buildManagementQueryPath('/getNewGroupRequestById', {
296
- id: idParsed.data,
297
- });
298
- const raw = await managementGet(config, path);
299
- if (!raw.ok) {
300
- return raw;
301
- }
302
- const request = normalizeGroupRequest(raw.data);
303
- if (!request) {
304
- return { ok: false, reason: 'Group request response failed validation.' };
305
- }
306
- const local = await managementGet(config, '/getNodeKey');
307
- if (!local.ok) {
308
- return local;
309
- }
310
- const localParsed = NodeIdSchema.safeParse(local.data);
311
- if (!localParsed.success) {
312
- return { ok: false, reason: 'Node ID response failed validation.' };
313
- }
314
- const isOriginatorLocal = request.originator === localParsed.data;
315
- return {
316
- ok: true,
317
- data: {
318
- request,
319
- localNodeId: localParsed.data,
320
- isOriginatorLocal,
321
- agreementRequired: !isOriginatorLocal,
322
- note: isOriginatorLocal
323
- ? 'Originator is local node; agreement is not required.'
324
- : 'Originator is a different node; agreement is required.',
325
- },
326
- };
327
- }
328
- export async function getMcpGroupResultById(config, input) {
329
- const hasId = input.id !== undefined;
330
- const hasGroupId = input.group_id !== undefined;
331
- if (hasId === hasGroupId) {
332
- return { ok: false, reason: 'Provide exactly one of id or group_id.' };
333
- }
334
- const params = {};
335
- if (input.id !== undefined) {
336
- const parsed = GroupRequestIdSchema.safeParse(input.id);
337
- if (!parsed.success) {
338
- return { ok: false, reason: 'Invalid group request ID.' };
339
- }
340
- params.id = parsed.data;
341
- }
342
- else if (input.group_id !== undefined) {
343
- const parsed = GroupIdSchema.safeParse(input.group_id);
344
- if (!parsed.success) {
345
- return { ok: false, reason: 'Invalid group ID.' };
346
- }
347
- params.group_id = parsed.data;
348
- }
349
- const path = buildManagementQueryPath('/getNewGroupResultById', params);
350
- const raw = await managementGet(config, path);
351
- if (!raw.ok) {
352
- return raw;
353
- }
354
- const result = normalizeGroupResult(raw.data);
355
- if (!result) {
356
- return { ok: false, reason: 'Group result response failed validation.' };
357
- }
358
- return { ok: true, data: result };
359
- }
360
- //# sourceMappingURL=group-actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-actions.js","sourceRoot":"","sources":["../../src/detops/group-actions.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import type { NodeSdkConfig } from '../config/schema.js';
2
- import type { SdkResult } from './result.js';
3
- import { type FilterType, type GroupRequest, type GroupResult, type NodeId } from './types.js';
4
- import { type ManagementSigningMethod } from '../schemas/extended.js';
5
- import { toSelectedSigningKey } from './management-signer.js';
6
- export declare function availableNodeIds(config: NodeSdkConfig): Promise<SdkResult<{
7
- nodeIps: string[];
8
- nodeIds: string[];
9
- }>>;
10
- export declare function validGroupNodeSets(config: NodeSdkConfig): Promise<SdkResult<{
11
- nodeSets: string[][];
12
- }>>;
13
- export declare function listGroupRequests(config: NodeSdkConfig, filter?: FilterType): Promise<SdkResult<{
14
- groupRequests: GroupRequest[];
15
- }>>;
16
- export declare function listGroupResults(config: NodeSdkConfig): Promise<SdkResult<{
17
- groups: GroupResult[];
18
- }>>;
19
- export declare function createGroupRequest(config: NodeSdkConfig, input: {
20
- nodeIds: NodeId[];
21
- }, signing?: ManagementSigningMethod): Promise<SdkResult<{
22
- groupRequestId: string;
23
- selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
24
- signingMessage: string;
25
- }>>;
26
- export declare function acceptGroupRequest(config: NodeSdkConfig, input: {
27
- requestId: string;
28
- }, signing?: ManagementSigningMethod): Promise<SdkResult<{
29
- message: string;
30
- selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
31
- signingMessage: string;
32
- }>>;
33
- //# sourceMappingURL=groups.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/detops/groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAOvD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAK3C,OAAO,EAMN,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEN,oBAAoB,EACpB,MAAM,wBAAwB,CAAC;AAWhC,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC,CAAC,CAuB5D;AAwBD,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAA;CAAC,CAAC,CAAC,CA6B5C;AAED,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,aAAa,EACrB,MAAM,GAAE,UAAkB,GACxB,OAAO,CAAC,SAAS,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAC,CAAC,CAAC,CAiCrD;AAMD,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAC,CAAC,CAAC,CAuB7C;AA0BD,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAC,EAC1B,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CACT,SAAS,CAAC;IACT,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC,CACF,CAqEA;AAED,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,EAC1B,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC,CACF,CAoDA"}
@@ -1,223 +0,0 @@
1
- import { buildManagementQueryPath, managementGet, managementPost, } from '../api/management-api.js';
2
- import { nodeId } from './general.js';
3
- import { GroupRequestsResponseSchema, GroupResultsResponseSchema, } from './schemas.js';
4
- import { FilterSchema, GroupRequestIdSchema, GroupRequestSchema, GroupResultSchema, NodeIdSchema, } from './types.js';
5
- import { DEFAULT_MANAGEMENT_SIGNING, } from '../schemas/extended.js';
6
- import { prepareSignedManagementRequest, toSelectedSigningKey, } from './management-signer.js';
7
- import { z } from 'zod';
8
- export async function availableNodeIds(config) {
9
- const result = await managementGet(config, '/getConfiguredNodeKeys');
10
- if (!result.ok) {
11
- return result;
12
- }
13
- const nodeIps = [];
14
- const nodeIds = [];
15
- for (const node of result.data.nodes ?? []) {
16
- const parsed = NodeIdSchema.safeParse(node.publicKey);
17
- if (!parsed.success) {
18
- continue;
19
- }
20
- nodeIps.push(node.address ?? '');
21
- nodeIds.push(parsed.data);
22
- }
23
- return { ok: true, data: { nodeIps, nodeIds } };
24
- }
25
- function combinationsIncluding(nodeIds, required, minSize) {
26
- const others = nodeIds.filter(id => id !== required);
27
- const results = [];
28
- const visit = (start, picked) => {
29
- if (picked.length >= minSize) {
30
- results.push([...picked].sort());
31
- }
32
- for (let index = start; index < others.length; index += 1) {
33
- visit(index + 1, [...picked, others[index]]);
34
- }
35
- };
36
- visit(0, [required]);
37
- return results;
38
- }
39
- export async function validGroupNodeSets(config) {
40
- const [clientNode, configured] = await Promise.all([
41
- nodeId(config),
42
- availableNodeIds(config),
43
- ]);
44
- if (!clientNode.ok) {
45
- return clientNode;
46
- }
47
- if (!configured.ok) {
48
- return configured;
49
- }
50
- const allowed = new Set(configured.data.nodeIds);
51
- allowed.add(clientNode.data.nodeId);
52
- const nodeSets = combinationsIncluding([...allowed], clientNode.data.nodeId, 2);
53
- if (nodeSets.length === 0) {
54
- return {
55
- ok: false,
56
- reason: 'No valid group node sets (need at least two configured nodes).',
57
- };
58
- }
59
- return { ok: true, data: { nodeSets } };
60
- }
61
- export async function listGroupRequests(config, filter = 'all') {
62
- const parsedFilter = FilterSchema.safeParse(filter);
63
- if (!parsedFilter.success) {
64
- return { ok: false, reason: 'Invalid group request filter.' };
65
- }
66
- const path = buildManagementQueryPath('/listNewGroupRequests', {
67
- filter: parsedFilter.data,
68
- pagesize: '100',
69
- });
70
- const result = await managementGet(config, path);
71
- if (!result.ok) {
72
- return result;
73
- }
74
- const rawRequests = Array.isArray(result.data) ? result.data : [];
75
- const groupRequestsList = [];
76
- for (const entry of rawRequests) {
77
- const parsed = GroupRequestSchema.safeParse(entry);
78
- if (parsed.success) {
79
- groupRequestsList.push(parsed.data);
80
- }
81
- }
82
- const validated = GroupRequestsResponseSchema.safeParse({
83
- groupRequests: groupRequestsList,
84
- });
85
- if (!validated.success) {
86
- return { ok: false, reason: 'Group requests response failed validation.' };
87
- }
88
- return { ok: true, data: validated.data };
89
- }
90
- export async function listGroupResults(config) {
91
- const result = await managementGet(config, '/listGroupResults');
92
- if (!result.ok) {
93
- return result;
94
- }
95
- const groups = [];
96
- for (const entry of result.data.groups ?? []) {
97
- const parsed = GroupResultSchema.safeParse(entry);
98
- if (parsed.success) {
99
- groups.push(parsed.data);
100
- }
101
- }
102
- const validated = GroupResultsResponseSchema.safeParse({ groups });
103
- if (!validated.success) {
104
- return { ok: false, reason: 'Group results response failed validation.' };
105
- }
106
- return { ok: true, data: validated.data };
107
- }
108
- function normalizeNodeIdList(nodeIds) {
109
- return Array.from(new Set(nodeIds)).sort();
110
- }
111
- function isSameNodeSet(left, right) {
112
- const leftNormalized = normalizeNodeIdList(left);
113
- const rightNormalized = normalizeNodeIdList(right);
114
- if (leftNormalized.length !== rightNormalized.length) {
115
- return false;
116
- }
117
- return leftNormalized.every((value, index) => value === rightNormalized[index]);
118
- }
119
- async function groupExistsForNodeIds(config, nodeIds) {
120
- const results = await listGroupResults(config);
121
- if (!results.ok) {
122
- return false;
123
- }
124
- return results.data.groups.some(group => isSameNodeSet(group.nodeKeys, nodeIds));
125
- }
126
- export async function createGroupRequest(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
127
- const nodeIdsParsed = z.array(NodeIdSchema).min(2).safeParse(input.nodeIds);
128
- if (!nodeIdsParsed.success) {
129
- return { ok: false, reason: 'Invalid nodeIds input.' };
130
- }
131
- const [self, configured] = await Promise.all([
132
- nodeId(config),
133
- availableNodeIds(config),
134
- ]);
135
- if (!self.ok) {
136
- return self;
137
- }
138
- if (!configured.ok) {
139
- return configured;
140
- }
141
- const allowed = new Set(configured.data.nodeIds);
142
- allowed.add(self.data.nodeId);
143
- const keyList = normalizeNodeIdList(nodeIdsParsed.data);
144
- const invalid = keyList.filter(id => !allowed.has(id));
145
- if (invalid.length > 0) {
146
- return {
147
- ok: false,
148
- reason: 'nodeIds contains values not present in configured nodes.',
149
- };
150
- }
151
- if (!keyList.includes(self.data.nodeId)) {
152
- return {
153
- ok: false,
154
- reason: 'Selected nodeIds must include the originator node ID.',
155
- };
156
- }
157
- if (await groupExistsForNodeIds(config, keyList)) {
158
- return { ok: false, reason: 'A group with this exact node set already exists.' };
159
- }
160
- const signed = await prepareSignedManagementRequest(config, signing, () => ({
161
- keyList,
162
- BrokerArray: [],
163
- }));
164
- if (!signed.ok) {
165
- return signed;
166
- }
167
- const posted = await managementPost(config, '/newGroupRequest', signed.data.body);
168
- if (!posted.ok) {
169
- return posted;
170
- }
171
- const requestIdParsed = GroupRequestIdSchema.safeParse(posted.data);
172
- return {
173
- ok: true,
174
- data: {
175
- groupRequestId: requestIdParsed.success ? requestIdParsed.data : posted.data,
176
- selectedSigningKey: signed.data.selectedSigningKey
177
- ? toSelectedSigningKey(signed.data.selectedSigningKey)
178
- : undefined,
179
- signingMessage: signed.data.signingMessage,
180
- },
181
- };
182
- }
183
- export async function acceptGroupRequest(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
184
- const requestIdParsed = GroupRequestIdSchema.safeParse(input.requestId);
185
- if (!requestIdParsed.success) {
186
- return { ok: false, reason: 'Invalid group request ID.' };
187
- }
188
- const path = buildManagementQueryPath('/getNewGroupRequestById', {
189
- id: requestIdParsed.data,
190
- });
191
- const raw = await managementGet(config, path);
192
- if (!raw.ok) {
193
- return raw;
194
- }
195
- const requestParsed = GroupRequestSchema.safeParse(raw.data);
196
- if (!requestParsed.success) {
197
- return { ok: false, reason: 'Group request response failed validation.' };
198
- }
199
- if (requestParsed.data.status !== 'pending') {
200
- return { ok: false, reason: 'Group request is not pending.' };
201
- }
202
- const signed = await prepareSignedManagementRequest(config, signing, () => ({
203
- requestId: requestIdParsed.data,
204
- }));
205
- if (!signed.ok) {
206
- return signed;
207
- }
208
- const posted = await managementPost(config, '/newGroupRequestAgree', signed.data.body);
209
- if (!posted.ok) {
210
- return posted;
211
- }
212
- return {
213
- ok: true,
214
- data: {
215
- message: posted.data,
216
- selectedSigningKey: signed.data.selectedSigningKey
217
- ? toSelectedSigningKey(signed.data.selectedSigningKey)
218
- : undefined,
219
- signingMessage: signed.data.signingMessage,
220
- },
221
- };
222
- }
223
- //# sourceMappingURL=groups.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/detops/groups.ts"],"names":[],"mappings":"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"}