@continuumdao/continuum-node-sdk 1.2.17 → 1.2.18

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 (241) hide show
  1. package/dist/core/agent/mcp-servers-catalog.d.ts +12 -1
  2. package/dist/core/agent/mcp-servers-catalog.d.ts.map +1 -1
  3. package/dist/core/agent/mcp-servers-catalog.js +67 -4
  4. package/dist/core/agent/mcp-servers-catalog.js.map +1 -1
  5. package/dist/core/agent/webhooks-catalog.d.ts +10 -0
  6. package/dist/core/agent/webhooks-catalog.d.ts.map +1 -0
  7. package/dist/core/agent/webhooks-catalog.js +19 -0
  8. package/dist/core/agent/webhooks-catalog.js.map +1 -0
  9. package/package.json +2 -2
  10. package/dist/core/signing-flow.d.ts +0 -9
  11. package/dist/core/signing-flow.d.ts.map +0 -1
  12. package/dist/core/signing-flow.js +0 -139
  13. package/dist/core/signing-flow.js.map +0 -1
  14. package/dist/data/mpc-keys.d.ts +0 -8
  15. package/dist/data/mpc-keys.d.ts.map +0 -1
  16. package/dist/data/mpc-keys.js +0 -38
  17. package/dist/data/mpc-keys.js.map +0 -1
  18. package/dist/detops/general.d.ts +0 -11
  19. package/dist/detops/general.d.ts.map +0 -1
  20. package/dist/detops/general.js +0 -34
  21. package/dist/detops/general.js.map +0 -1
  22. package/dist/detops/group-actions.d.ts +0 -71
  23. package/dist/detops/group-actions.d.ts.map +0 -1
  24. package/dist/detops/group-actions.js +0 -360
  25. package/dist/detops/group-actions.js.map +0 -1
  26. package/dist/detops/groups.d.ts +0 -33
  27. package/dist/detops/groups.d.ts.map +0 -1
  28. package/dist/detops/groups.js +0 -223
  29. package/dist/detops/groups.js.map +0 -1
  30. package/dist/detops/keygen.d.ts +0 -72
  31. package/dist/detops/keygen.d.ts.map +0 -1
  32. package/dist/detops/keygen.js +0 -245
  33. package/dist/detops/keygen.js.map +0 -1
  34. package/dist/detops/management-keys.d.ts +0 -44
  35. package/dist/detops/management-keys.d.ts.map +0 -1
  36. package/dist/detops/management-keys.js +0 -216
  37. package/dist/detops/management-keys.js.map +0 -1
  38. package/dist/detops/management-signer.d.ts +0 -129
  39. package/dist/detops/management-signer.d.ts.map +0 -1
  40. package/dist/detops/management-signer.js +0 -619
  41. package/dist/detops/management-signer.js.map +0 -1
  42. package/dist/detops/management-signing.d.ts +0 -11
  43. package/dist/detops/management-signing.d.ts.map +0 -1
  44. package/dist/detops/management-signing.js +0 -131
  45. package/dist/detops/management-signing.js.map +0 -1
  46. package/dist/detops/mpc/broadcast-sign-result.d.ts +0 -9
  47. package/dist/detops/mpc/broadcast-sign-result.d.ts.map +0 -1
  48. package/dist/detops/mpc/broadcast-sign-result.js +0 -147
  49. package/dist/detops/mpc/broadcast-sign-result.js.map +0 -1
  50. package/dist/detops/mpc/bump-sign-result.d.ts +0 -25
  51. package/dist/detops/mpc/bump-sign-result.d.ts.map +0 -1
  52. package/dist/detops/mpc/bump-sign-result.js +0 -314
  53. package/dist/detops/mpc/bump-sign-result.js.map +0 -1
  54. package/dist/detops/mpc/client.d.ts +0 -15
  55. package/dist/detops/mpc/client.d.ts.map +0 -1
  56. package/dist/detops/mpc/client.js +0 -62
  57. package/dist/detops/mpc/client.js.map +0 -1
  58. package/dist/detops/mpc/compose-request.d.ts +0 -6
  59. package/dist/detops/mpc/compose-request.d.ts.map +0 -1
  60. package/dist/detops/mpc/compose-request.js +0 -33
  61. package/dist/detops/mpc/compose-request.js.map +0 -1
  62. package/dist/detops/mpc/context.d.ts +0 -11
  63. package/dist/detops/mpc/context.d.ts.map +0 -1
  64. package/dist/detops/mpc/context.js +0 -43
  65. package/dist/detops/mpc/context.js.map +0 -1
  66. package/dist/detops/mpc/forge-request.d.ts +0 -6
  67. package/dist/detops/mpc/forge-request.d.ts.map +0 -1
  68. package/dist/detops/mpc/forge-request.js +0 -46
  69. package/dist/detops/mpc/forge-request.js.map +0 -1
  70. package/dist/detops/mpc/gas-preflight.d.ts +0 -25
  71. package/dist/detops/mpc/gas-preflight.d.ts.map +0 -1
  72. package/dist/detops/mpc/gas-preflight.js +0 -101
  73. package/dist/detops/mpc/gas-preflight.js.map +0 -1
  74. package/dist/detops/mpc/list-ready.d.ts +0 -10
  75. package/dist/detops/mpc/list-ready.d.ts.map +0 -1
  76. package/dist/detops/mpc/list-ready.js +0 -48
  77. package/dist/detops/mpc/list-ready.js.map +0 -1
  78. package/dist/detops/mpc/management-post-sig.d.ts +0 -11
  79. package/dist/detops/mpc/management-post-sig.d.ts.map +0 -1
  80. package/dist/detops/mpc/management-post-sig.js +0 -20
  81. package/dist/detops/mpc/management-post-sig.js.map +0 -1
  82. package/dist/detops/mpc/mpa-top-up.d.ts +0 -18
  83. package/dist/detops/mpc/mpa-top-up.d.ts.map +0 -1
  84. package/dist/detops/mpc/mpa-top-up.js +0 -213
  85. package/dist/detops/mpc/mpa-top-up.js.map +0 -1
  86. package/dist/detops/mpc/register-keygen.d.ts +0 -6
  87. package/dist/detops/mpc/register-keygen.d.ts.map +0 -1
  88. package/dist/detops/mpc/register-keygen.js +0 -41
  89. package/dist/detops/mpc/register-keygen.js.map +0 -1
  90. package/dist/detops/mpc/schemas.d.ts +0 -251
  91. package/dist/detops/mpc/schemas.d.ts.map +0 -1
  92. package/dist/detops/mpc/schemas.js +0 -163
  93. package/dist/detops/mpc/schemas.js.map +0 -1
  94. package/dist/detops/mpc/sign-request-body.d.ts +0 -10
  95. package/dist/detops/mpc/sign-request-body.d.ts.map +0 -1
  96. package/dist/detops/mpc/sign-request-body.js +0 -64
  97. package/dist/detops/mpc/sign-request-body.js.map +0 -1
  98. package/dist/detops/mpc/sign-request-utils.d.ts +0 -33
  99. package/dist/detops/mpc/sign-request-utils.d.ts.map +0 -1
  100. package/dist/detops/mpc/sign-request-utils.js +0 -467
  101. package/dist/detops/mpc/sign-request-utils.js.map +0 -1
  102. package/dist/detops/mpc/transfer-native.d.ts +0 -6
  103. package/dist/detops/mpc/transfer-native.d.ts.map +0 -1
  104. package/dist/detops/mpc/transfer-native.js +0 -167
  105. package/dist/detops/mpc/transfer-native.js.map +0 -1
  106. package/dist/detops/mpc/transfer-tokens.d.ts +0 -15
  107. package/dist/detops/mpc/transfer-tokens.d.ts.map +0 -1
  108. package/dist/detops/mpc/transfer-tokens.js +0 -110
  109. package/dist/detops/mpc/transfer-tokens.js.map +0 -1
  110. package/dist/detops/mpc/trigger-sign-result.d.ts +0 -8
  111. package/dist/detops/mpc/trigger-sign-result.d.ts.map +0 -1
  112. package/dist/detops/mpc/trigger-sign-result.js +0 -244
  113. package/dist/detops/mpc/trigger-sign-result.js.map +0 -1
  114. package/dist/detops/mpc/types.d.ts +0 -62
  115. package/dist/detops/mpc/types.d.ts.map +0 -1
  116. package/dist/detops/mpc/types.js +0 -2
  117. package/dist/detops/mpc/types.js.map +0 -1
  118. package/dist/detops/node-info.d.ts +0 -27
  119. package/dist/detops/node-info.d.ts.map +0 -1
  120. package/dist/detops/node-info.js +0 -96
  121. package/dist/detops/node-info.js.map +0 -1
  122. package/dist/detops/registry/address-book.d.ts +0 -25
  123. package/dist/detops/registry/address-book.d.ts.map +0 -1
  124. package/dist/detops/registry/address-book.js +0 -83
  125. package/dist/detops/registry/address-book.js.map +0 -1
  126. package/dist/detops/registry/networks.d.ts +0 -20
  127. package/dist/detops/registry/networks.d.ts.map +0 -1
  128. package/dist/detops/registry/networks.js +0 -154
  129. package/dist/detops/registry/networks.js.map +0 -1
  130. package/dist/detops/registry/tokens.d.ts +0 -29
  131. package/dist/detops/registry/tokens.d.ts.map +0 -1
  132. package/dist/detops/registry/tokens.js +0 -142
  133. package/dist/detops/registry/tokens.js.map +0 -1
  134. package/dist/detops/result.d.ts +0 -21
  135. package/dist/detops/result.d.ts.map +0 -1
  136. package/dist/detops/result.js +0 -2
  137. package/dist/detops/result.js.map +0 -1
  138. package/dist/detops/schemas.d.ts +0 -153
  139. package/dist/detops/schemas.d.ts.map +0 -1
  140. package/dist/detops/schemas.js +0 -82
  141. package/dist/detops/schemas.js.map +0 -1
  142. package/dist/detops/signing-flow.d.ts +0 -9
  143. package/dist/detops/signing-flow.d.ts.map +0 -1
  144. package/dist/detops/signing-flow.js +0 -139
  145. package/dist/detops/signing-flow.js.map +0 -1
  146. package/dist/detops/types.d.ts +0 -58
  147. package/dist/detops/types.d.ts.map +0 -1
  148. package/dist/detops/types.js +0 -46
  149. package/dist/detops/types.js.map +0 -1
  150. package/dist/internal/ed25519/management-signing.d.ts +0 -51
  151. package/dist/internal/ed25519/management-signing.d.ts.map +0 -1
  152. package/dist/internal/ed25519/management-signing.js +0 -198
  153. package/dist/internal/ed25519/management-signing.js.map +0 -1
  154. package/dist/internal/ed25519/openssh-ed25519.d.ts +0 -20
  155. package/dist/internal/ed25519/openssh-ed25519.d.ts.map +0 -1
  156. package/dist/internal/ed25519/openssh-ed25519.js +0 -129
  157. package/dist/internal/ed25519/openssh-ed25519.js.map +0 -1
  158. package/dist/internal/management-request-signing.d.ts +0 -32
  159. package/dist/internal/management-request-signing.d.ts.map +0 -1
  160. package/dist/internal/management-request-signing.js +0 -186
  161. package/dist/internal/management-request-signing.js.map +0 -1
  162. package/dist/mcp/detops/registry/address-book.d.ts +0 -4
  163. package/dist/mcp/detops/registry/address-book.d.ts.map +0 -1
  164. package/dist/mcp/detops/registry/address-book.js +0 -39
  165. package/dist/mcp/detops/registry/address-book.js.map +0 -1
  166. package/dist/mcp/detops/registry/networks.d.ts +0 -4
  167. package/dist/mcp/detops/registry/networks.d.ts.map +0 -1
  168. package/dist/mcp/detops/registry/networks.js +0 -32
  169. package/dist/mcp/detops/registry/networks.js.map +0 -1
  170. package/dist/mcp/detops/registry/tokens.d.ts +0 -4
  171. package/dist/mcp/detops/registry/tokens.d.ts.map +0 -1
  172. package/dist/mcp/detops/registry/tokens.js +0 -43
  173. package/dist/mcp/detops/registry/tokens.js.map +0 -1
  174. package/dist/mcp/ed25519/management-signing.d.ts +0 -51
  175. package/dist/mcp/ed25519/management-signing.d.ts.map +0 -1
  176. package/dist/mcp/ed25519/management-signing.js +0 -198
  177. package/dist/mcp/ed25519/management-signing.js.map +0 -1
  178. package/dist/mcp/ed25519/openssh-ed25519.d.ts +0 -20
  179. package/dist/mcp/ed25519/openssh-ed25519.d.ts.map +0 -1
  180. package/dist/mcp/ed25519/openssh-ed25519.js +0 -129
  181. package/dist/mcp/ed25519/openssh-ed25519.js.map +0 -1
  182. package/dist/mcp/groups.d.ts +0 -71
  183. package/dist/mcp/groups.d.ts.map +0 -1
  184. package/dist/mcp/groups.js +0 -360
  185. package/dist/mcp/groups.js.map +0 -1
  186. package/dist/mcp/management-keys.d.ts +0 -4
  187. package/dist/mcp/management-keys.d.ts.map +0 -1
  188. package/dist/mcp/management-keys.js +0 -75
  189. package/dist/mcp/management-keys.js.map +0 -1
  190. package/dist/mcp/normalize.d.ts +0 -15
  191. package/dist/mcp/normalize.d.ts.map +0 -1
  192. package/dist/mcp/normalize.js +0 -204
  193. package/dist/mcp/normalize.js.map +0 -1
  194. package/dist/mcp/schemas.d.ts +0 -360
  195. package/dist/mcp/schemas.d.ts.map +0 -1
  196. package/dist/mcp/schemas.js +0 -263
  197. package/dist/mcp/schemas.js.map +0 -1
  198. package/dist/mcp/signing.d.ts +0 -32
  199. package/dist/mcp/signing.d.ts.map +0 -1
  200. package/dist/mcp/signing.js +0 -186
  201. package/dist/mcp/signing.js.map +0 -1
  202. package/dist/ops/general.d.ts +0 -11
  203. package/dist/ops/general.d.ts.map +0 -1
  204. package/dist/ops/general.js +0 -34
  205. package/dist/ops/general.js.map +0 -1
  206. package/dist/ops/groups.d.ts +0 -17
  207. package/dist/ops/groups.d.ts.map +0 -1
  208. package/dist/ops/groups.js +0 -105
  209. package/dist/ops/groups.js.map +0 -1
  210. package/dist/ops/management-signing.d.ts +0 -11
  211. package/dist/ops/management-signing.d.ts.map +0 -1
  212. package/dist/ops/management-signing.js +0 -131
  213. package/dist/ops/management-signing.js.map +0 -1
  214. package/dist/ops/result.d.ts +0 -21
  215. package/dist/ops/result.d.ts.map +0 -1
  216. package/dist/ops/result.js +0 -2
  217. package/dist/ops/result.js.map +0 -1
  218. package/dist/ops/schemas.d.ts +0 -153
  219. package/dist/ops/schemas.d.ts.map +0 -1
  220. package/dist/ops/schemas.js +0 -82
  221. package/dist/ops/schemas.js.map +0 -1
  222. package/dist/ops/signing-flow.d.ts +0 -8
  223. package/dist/ops/signing-flow.d.ts.map +0 -1
  224. package/dist/ops/signing-flow.js +0 -125
  225. package/dist/ops/signing-flow.js.map +0 -1
  226. package/dist/ops/types.d.ts +0 -58
  227. package/dist/ops/types.d.ts.map +0 -1
  228. package/dist/ops/types.js +0 -46
  229. package/dist/ops/types.js.map +0 -1
  230. package/dist/registry/address-book.d.ts +0 -25
  231. package/dist/registry/address-book.d.ts.map +0 -1
  232. package/dist/registry/address-book.js +0 -103
  233. package/dist/registry/address-book.js.map +0 -1
  234. package/dist/registry/networks.d.ts +0 -18
  235. package/dist/registry/networks.d.ts.map +0 -1
  236. package/dist/registry/networks.js +0 -180
  237. package/dist/registry/networks.js.map +0 -1
  238. package/dist/registry/tokens.d.ts +0 -29
  239. package/dist/registry/tokens.d.ts.map +0 -1
  240. package/dist/registry/tokens.js +0 -157
  241. package/dist/registry/tokens.js.map +0 -1
@@ -1,72 +0,0 @@
1
- import { z } from 'zod';
2
- import type { NodeSdkConfig } from '../config/schema.js';
3
- import type { SdkResult } from './result.js';
4
- import { KeyGenRequestSchema, type GroupId, type Key, type KeyGenId, type MsgCheck } from '../schemas/extended.js';
5
- import { type ManagementSigningMethod } from '../schemas/extended.js';
6
- import { toSelectedSigningKey } from '../detops/management-signer.js';
7
- import type { KeyGenResultById } from './mpc/types.js';
8
- export declare const keyGenFilterSchema: z.ZodEnum<{
9
- all: "all";
10
- pending: "pending";
11
- success: "success";
12
- failed: "failed";
13
- agree: "agree";
14
- originator: "originator";
15
- }>;
16
- export type KeyGenFilter = z.infer<typeof keyGenFilterSchema>;
17
- export type KeyGenAgreementCheck = {
18
- requestId: KeyGenId;
19
- originator?: string;
20
- isOriginatorLocal: boolean;
21
- agreementRequired: boolean;
22
- note: string;
23
- };
24
- export declare function fetchKeyGenResult(config: NodeSdkConfig, keyGenId: string): Promise<SdkResult<KeyGenResultById>>;
25
- export declare function fetchGlobalNonceByKeyGenId(config: NodeSdkConfig, keyGenId: string): Promise<SdkResult<number>>;
26
- /** MCP tool: create_key_gen_request */
27
- export declare function createKeyGenRequest(config: NodeSdkConfig, input: {
28
- groupId: GroupId;
29
- gate: number;
30
- msgCheck: MsgCheck;
31
- keyType: Key;
32
- }, signing?: ManagementSigningMethod): Promise<SdkResult<{
33
- requestId: KeyGenId;
34
- selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
35
- signingMessage: string;
36
- }>>;
37
- /** MCP tool: accept_key_gen_request */
38
- export declare function acceptKeyGenRequest(config: NodeSdkConfig, input: {
39
- requestId: KeyGenId;
40
- }, signing?: ManagementSigningMethod): Promise<SdkResult<{
41
- message: string;
42
- selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
43
- signingMessage: string;
44
- }>>;
45
- /** MCP tool: list_key_gen_requests */
46
- export declare function listKeyGenRequests(config: NodeSdkConfig, options?: {
47
- filter?: KeyGenFilter;
48
- pagenum?: number;
49
- pagesize?: number;
50
- }): Promise<SdkResult<{
51
- localNodeId: string;
52
- requests: z.infer<typeof KeyGenRequestSchema>[];
53
- agreementChecks: KeyGenAgreementCheck[];
54
- }>>;
55
- /** MCP tool: get_key_gen_request_by_id */
56
- export declare function getKeyGenRequestById(config: NodeSdkConfig, input: {
57
- id: KeyGenId;
58
- }): Promise<SdkResult<{
59
- request: z.infer<typeof KeyGenRequestSchema>;
60
- localNodeId: string;
61
- isOriginatorLocal: boolean;
62
- agreementRequired: boolean;
63
- note: string;
64
- }>>;
65
- /** MCP tool: get_key_gen_parent_group_id */
66
- export declare function getKeyGenParentGroupId(config: NodeSdkConfig, input: {
67
- id: KeyGenId;
68
- }): Promise<SdkResult<{
69
- requestid: string;
70
- groupId: GroupId;
71
- }>>;
72
- //# sourceMappingURL=keygen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keygen.d.ts","sourceRoot":"","sources":["../../src/detops/keygen.ts"],"names":[],"mappings":"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"}
@@ -1,245 +0,0 @@
1
- import { z } from 'zod';
2
- import { buildManagementQueryPath, managementGet, managementPost, } from '../api/management-api.js';
3
- import { GroupIdSchema, KeyGenIdSchema, KeyTypeSchema, MsgCheckSchema, } from '../schemas/extended.js';
4
- import { extractStatus, normalizeKeyGenRequest, pick, } from '../internal/normalize.js';
5
- import { DEFAULT_MANAGEMENT_SIGNING, } from '../schemas/extended.js';
6
- import { prepareSignedManagementRequest, toSelectedSigningKey, } from '../detops/management-signer.js';
7
- import { nodeId } from './general.js';
8
- import { mpcAuthEnvelopeData } from './mpc/sign-request-utils.js';
9
- export const keyGenFilterSchema = z.enum([
10
- 'all',
11
- 'pending',
12
- 'success',
13
- 'failed',
14
- 'agree',
15
- 'originator',
16
- ]);
17
- export async function fetchKeyGenResult(config, keyGenId) {
18
- const path = buildManagementQueryPath('/getKeyGenResultById', { id: keyGenId });
19
- const raw = await managementGet(config, path);
20
- if (!raw.ok)
21
- return raw;
22
- const data = mpcAuthEnvelopeData(raw.data) ?? raw.data;
23
- if (!data || typeof data !== 'object' || Array.isArray(data)) {
24
- return { ok: false, reason: 'Invalid getKeyGenResultById response.' };
25
- }
26
- return { ok: true, data: data };
27
- }
28
- export async function fetchGlobalNonceByKeyGenId(config, keyGenId) {
29
- const path = buildManagementQueryPath('/getGlobalNonceByKeyGenId', {
30
- id: keyGenId,
31
- });
32
- const raw = await managementGet(config, path);
33
- if (!raw.ok)
34
- return raw;
35
- let globalNonce;
36
- if (typeof raw.data === 'number') {
37
- globalNonce = raw.data;
38
- }
39
- else {
40
- const data = mpcAuthEnvelopeData(raw.data) ?? raw.data;
41
- if (data && typeof data === 'object' && !Array.isArray(data)) {
42
- const src = data;
43
- const candidate = src.globalNonce ?? src.GlobalNonce ?? src.globalnonce;
44
- if (typeof candidate === 'number')
45
- globalNonce = candidate;
46
- }
47
- }
48
- if (typeof globalNonce !== 'number' || Number.isNaN(globalNonce)) {
49
- return { ok: false, reason: 'Invalid getGlobalNonceByKeyGenId response.' };
50
- }
51
- return { ok: true, data: globalNonce };
52
- }
53
- /** MCP tool: create_key_gen_request */
54
- export async function createKeyGenRequest(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
55
- const parsedInput = z
56
- .object({
57
- groupId: GroupIdSchema,
58
- gate: z.number().int().min(2),
59
- msgCheck: MsgCheckSchema,
60
- keyType: KeyTypeSchema,
61
- })
62
- .safeParse(input);
63
- if (!parsedInput.success) {
64
- return { ok: false, reason: 'Invalid KeyGen request input.' };
65
- }
66
- const signed = await prepareSignedManagementRequest(config, signing, ({ selectedSigningKey }) => ({
67
- ...(selectedSigningKey ? { clientPk: selectedSigningKey.value } : {}),
68
- threshold: parsedInput.data.gate - 1,
69
- groupId: parsedInput.data.groupId,
70
- msgCheck: parsedInput.data.msgCheck,
71
- keyType: parsedInput.data.keyType,
72
- }));
73
- if (!signed.ok) {
74
- return signed;
75
- }
76
- const posted = await managementPost(config, '/keyGenRequest', signed.data.body);
77
- if (!posted.ok) {
78
- return posted;
79
- }
80
- const requestIdParsed = KeyGenIdSchema.safeParse(posted.data);
81
- if (!requestIdParsed.success) {
82
- return { ok: false, reason: 'KeyGen request ID response failed validation.' };
83
- }
84
- return {
85
- ok: true,
86
- data: {
87
- requestId: requestIdParsed.data,
88
- selectedSigningKey: signed.data.selectedSigningKey
89
- ? toSelectedSigningKey(signed.data.selectedSigningKey)
90
- : undefined,
91
- signingMessage: signed.data.signingMessage,
92
- },
93
- };
94
- }
95
- /** MCP tool: accept_key_gen_request */
96
- export async function acceptKeyGenRequest(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
97
- const requestIdParsed = KeyGenIdSchema.safeParse(input.requestId);
98
- if (!requestIdParsed.success) {
99
- return { ok: false, reason: 'Invalid KeyGen request ID.' };
100
- }
101
- const path = buildManagementQueryPath('/getKeyGenRequestById', {
102
- id: requestIdParsed.data,
103
- });
104
- const requestRaw = await managementGet(config, path);
105
- if (!requestRaw.ok) {
106
- return requestRaw;
107
- }
108
- const status = extractStatus(requestRaw.data);
109
- if (status && status !== 'pending') {
110
- return { ok: false, reason: 'KeyGen request is not pending.' };
111
- }
112
- const signed = await prepareSignedManagementRequest(config, signing, ({ selectedSigningKey }) => ({
113
- ...(selectedSigningKey ? { clientPk: selectedSigningKey.value } : {}),
114
- requestId: requestIdParsed.data,
115
- }));
116
- if (!signed.ok) {
117
- return signed;
118
- }
119
- const posted = await managementPost(config, '/keyGenRequestAgree', signed.data.body);
120
- if (!posted.ok) {
121
- return posted;
122
- }
123
- return {
124
- ok: true,
125
- data: {
126
- message: posted.data,
127
- selectedSigningKey: signed.data.selectedSigningKey
128
- ? toSelectedSigningKey(signed.data.selectedSigningKey)
129
- : undefined,
130
- signingMessage: signed.data.signingMessage,
131
- },
132
- };
133
- }
134
- /** MCP tool: list_key_gen_requests */
135
- export async function listKeyGenRequests(config, options = {}) {
136
- if (options.filter !== undefined &&
137
- !keyGenFilterSchema.safeParse(options.filter).success) {
138
- return { ok: false, reason: 'Invalid KeyGen request filter.' };
139
- }
140
- const path = buildManagementQueryPath('/listKeyGenRequests', {
141
- filter: options.filter,
142
- pagenum: options.pagenum === undefined ? undefined : String(options.pagenum),
143
- pagesize: options.pagesize === undefined ? undefined : String(options.pagesize),
144
- });
145
- const raw = await managementGet(config, path);
146
- if (!raw.ok) {
147
- return raw;
148
- }
149
- const rawList = Array.isArray(raw.data) ? raw.data : [];
150
- const requests = rawList
151
- .map(entry => normalizeKeyGenRequest(entry))
152
- .filter((entry) => entry !== undefined);
153
- const self = await nodeId(config);
154
- if (!self.ok) {
155
- return self;
156
- }
157
- const agreementChecks = requests.map(request => {
158
- const isOriginatorLocal = request.originator === self.data.nodeId;
159
- const agreementRequired = request.originator ? !isOriginatorLocal : true;
160
- return {
161
- requestId: request.requestid,
162
- originator: request.originator,
163
- isOriginatorLocal,
164
- agreementRequired,
165
- note: !request.originator
166
- ? 'Originator is not provided in this response; assuming agreement may be required.'
167
- : isOriginatorLocal
168
- ? 'Originator is local node; agreement is not required.'
169
- : 'Originator is a different node; agreement is required.',
170
- };
171
- });
172
- return {
173
- ok: true,
174
- data: {
175
- localNodeId: self.data.nodeId,
176
- requests,
177
- agreementChecks,
178
- },
179
- };
180
- }
181
- /** MCP tool: get_key_gen_request_by_id */
182
- export async function getKeyGenRequestById(config, input) {
183
- const idParsed = KeyGenIdSchema.safeParse(input.id);
184
- if (!idParsed.success) {
185
- return { ok: false, reason: 'Invalid KeyGen request ID.' };
186
- }
187
- const path = buildManagementQueryPath('/getKeyGenRequestById', {
188
- id: idParsed.data,
189
- });
190
- const raw = await managementGet(config, path);
191
- if (!raw.ok) {
192
- return raw;
193
- }
194
- const request = normalizeKeyGenRequest(raw.data);
195
- if (!request) {
196
- return { ok: false, reason: 'KeyGen request response failed validation.' };
197
- }
198
- const self = await nodeId(config);
199
- if (!self.ok) {
200
- return self;
201
- }
202
- const isOriginatorLocal = request.originator === self.data.nodeId;
203
- const agreementRequired = request.originator ? !isOriginatorLocal : true;
204
- return {
205
- ok: true,
206
- data: {
207
- request,
208
- localNodeId: self.data.nodeId,
209
- isOriginatorLocal,
210
- agreementRequired,
211
- note: !request.originator
212
- ? 'Originator is not provided in this response; assuming agreement may be required.'
213
- : isOriginatorLocal
214
- ? 'Originator is local node; agreement is not required.'
215
- : 'Originator is a different node; agreement is required.',
216
- },
217
- };
218
- }
219
- /** MCP tool: get_key_gen_parent_group_id */
220
- export async function getKeyGenParentGroupId(config, input) {
221
- const idParsed = KeyGenIdSchema.safeParse(input.id);
222
- if (!idParsed.success) {
223
- return { ok: false, reason: 'Invalid KeyGen request ID.' };
224
- }
225
- const path = buildManagementQueryPath('/getKeyGenGroupId', { id: idParsed.data });
226
- const raw = await managementGet(config, path);
227
- if (!raw.ok) {
228
- return raw;
229
- }
230
- if (!raw.data || typeof raw.data !== 'object') {
231
- return { ok: false, reason: 'Invalid getKeyGenGroupId response shape.' };
232
- }
233
- const src = raw.data;
234
- const requestid = pick(src, ['requestid', 'RequestId', 'id']);
235
- const groupId = pick(src, ['groupid', 'GroupId', 'groupId']);
236
- if (typeof requestid !== 'string' || typeof groupId !== 'string') {
237
- return { ok: false, reason: 'Invalid getKeyGenGroupId response shape.' };
238
- }
239
- const groupIdParsed = GroupIdSchema.safeParse(groupId);
240
- if (!groupIdParsed.success) {
241
- return { ok: false, reason: 'Invalid group ID in response.' };
242
- }
243
- return { ok: true, data: { requestid, groupId: groupIdParsed.data } };
244
- }
245
- //# sourceMappingURL=keygen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../src/detops/keygen.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import type { NodeSdkConfig } from '../config/schema.js';
2
- import type { SdkResult } from '../detops/result.js';
3
- export declare function hasManagementSigner(config: NodeSdkConfig): Promise<SdkResult<{
4
- hasEdDSAKey: boolean;
5
- }>>;
6
- export declare function listManagementSignersDetailed(config: NodeSdkConfig): Promise<SdkResult<{
7
- preferredSigner?: string;
8
- keys: Array<{
9
- localFileName?: string;
10
- kind: 'EdDSA';
11
- value: string;
12
- nonce: number;
13
- label?: string;
14
- localPrivateKeyAvailable: boolean;
15
- localPrivateKeyError?: string;
16
- }>;
17
- }>>;
18
- export declare function createManagementSignerKeypair(config: NodeSdkConfig): Promise<SdkResult<{
19
- success: boolean;
20
- fileName: string;
21
- publicKey: string;
22
- privateKeyPath: string;
23
- publicKeyPath: string;
24
- }>>;
25
- export declare function addManagementSigner(config: NodeSdkConfig, input: {
26
- newPublicKey: string;
27
- }): Promise<SdkResult<{
28
- success: boolean;
29
- publicKey: string;
30
- nodeKey: string;
31
- }>>;
32
- export declare function setPreferredManagementSigner(config: NodeSdkConfig, input: {
33
- publicKeyHex: string;
34
- }): Promise<SdkResult<{
35
- success: boolean;
36
- publicKeyHex: string;
37
- signerPublicKey: string;
38
- nodeKey: string;
39
- Nonce: number;
40
- signedMessage: string;
41
- clientSig: string;
42
- fileName: string;
43
- }>>;
44
- //# sourceMappingURL=management-keys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"management-keys.d.ts","sourceRoot":"","sources":["../../src/detops/management-keys.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAoBnD,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC,CAM5C;AAED,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,aAAa,GACnB,OAAO,CACT,SAAS,CAAC;IACT,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,KAAK,CAAC;QACX,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,wBAAwB,EAAE,OAAO,CAAC;QAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC,CAAC;CACH,CAAC,CACF,CAkCA;AAED,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,aAAa,GACnB,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC,CACF,CAgDA;AAED,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAC3B,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC,CACF,CAkEA;AAED,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAC3B,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC,CACF,CA2FA"}
@@ -1,216 +0,0 @@
1
- import { promises as fs } from 'node:fs';
2
- import path from 'node:path';
3
- import { generateKeyPairSync } from 'node:crypto';
4
- import { MPA_HOME_DIR } from '../config/paths.js';
5
- import { managementGet, managementPost } from '../api/management-api.js';
6
- import { EdDSAPubKeySchema, NodeIdSchema, NonceSchema } from '../schemas/extended.js';
7
- import { ensureLocalKeyPairForPublicKey, getPrivateKeyStatus, listLocalManagementPublicKeys, normalizeEd25519PublicKeyToHex, } from '../internal/ed25519/management-signing.js';
8
- import { buildClientSigManagementPostBody, fetchManagementKeyOptions, getPreferredManagementKeyHex, prepareSignedManagementRequest, } from '../internal/management-request-signing.js';
9
- function toError(reason) {
10
- return new Error(reason);
11
- }
12
- export async function hasManagementSigner(config) {
13
- const result = await managementGet(config, '/hasPublicMgtKey');
14
- if (!result.ok) {
15
- return result;
16
- }
17
- return { ok: true, data: { hasEdDSAKey: Boolean(result.data) } };
18
- }
19
- export async function listManagementSignersDetailed(config) {
20
- const [keyOptions, preferred] = await Promise.all([
21
- fetchManagementKeyOptions(config),
22
- getPreferredManagementKeyHex(config),
23
- ]);
24
- if (!keyOptions.ok) {
25
- return keyOptions;
26
- }
27
- const preferredSigner = preferred.ok ? preferred.data.publicKeyHex : undefined;
28
- const localKeys = await listLocalManagementPublicKeys(MPA_HOME_DIR, toError);
29
- const localFileByPub = new Map(localKeys
30
- .filter(k => k.publicKeyHex)
31
- .map(k => [k.publicKeyHex, k.fileName]));
32
- const keys = await Promise.all(keyOptions.data.map(async (key) => {
33
- const privateKeyStatus = await getPrivateKeyStatus(key, {
34
- keyRoot: MPA_HOME_DIR,
35
- toMcpApiError: toError,
36
- });
37
- const normalizedPublic = normalizeEd25519PublicKeyToHex(key.value, toError);
38
- return {
39
- ...key,
40
- localFileName: localFileByPub.get(normalizedPublic),
41
- localPrivateKeyAvailable: privateKeyStatus.available,
42
- localPrivateKeyError: privateKeyStatus.reason,
43
- };
44
- }));
45
- return { ok: true, data: { preferredSigner, keys } };
46
- }
47
- export async function createManagementSignerKeypair(config) {
48
- const configured = await managementGet(config, '/getAllowedEd25519MgtKeys');
49
- const currentKeyCount = configured.ok ? configured.data.length : 0;
50
- const fileName = `added_key_${currentKeyCount}`;
51
- const keyDir = path.join(MPA_HOME_DIR, 'management_keys');
52
- await fs.mkdir(keyDir, { recursive: true });
53
- const privateKeyPath = path.join(keyDir, fileName);
54
- const publicKeyPath = `${privateKeyPath}.pub`;
55
- try {
56
- await fs.access(privateKeyPath);
57
- return { ok: false, reason: 'Private key file already exists.' };
58
- }
59
- catch {
60
- // expected
61
- }
62
- const { privateKey, publicKey } = generateKeyPairSync('ed25519');
63
- const privatePem = privateKey.export({ format: 'pem', type: 'pkcs8' }).toString();
64
- const publicJwk = publicKey.export({ format: 'jwk' });
65
- if (!publicJwk.x) {
66
- return {
67
- ok: false,
68
- reason: 'Failed to derive Ed25519 raw public key from generated keypair.',
69
- };
70
- }
71
- const newPublicKey = Buffer.from(publicJwk.x, 'base64url').toString('hex');
72
- const parsed = EdDSAPubKeySchema.safeParse(newPublicKey);
73
- if (!parsed.success) {
74
- return { ok: false, reason: 'Generated public key failed validation.' };
75
- }
76
- await fs.writeFile(privateKeyPath, privatePem, { mode: 0o600 });
77
- await fs.writeFile(publicKeyPath, `${parsed.data}\n`, { mode: 0o644 });
78
- return {
79
- ok: true,
80
- data: {
81
- success: true,
82
- fileName,
83
- publicKey: parsed.data,
84
- privateKeyPath,
85
- publicKeyPath,
86
- },
87
- };
88
- }
89
- export async function addManagementSigner(config, input) {
90
- let normalizedNewPublicKey;
91
- try {
92
- normalizedNewPublicKey = normalizeEd25519PublicKeyToHex(input.newPublicKey, toError);
93
- }
94
- catch (error) {
95
- return {
96
- ok: false,
97
- reason: error instanceof Error ? error.message : String(error),
98
- };
99
- }
100
- const parsedKey = EdDSAPubKeySchema.safeParse(normalizedNewPublicKey);
101
- if (!parsedKey.success) {
102
- return { ok: false, reason: 'Invalid new public key.' };
103
- }
104
- const signed = await prepareSignedManagementRequest(config, async ({ selectedSigningKey }) => {
105
- if (normalizeEd25519PublicKeyToHex(selectedSigningKey.value, toError) ===
106
- parsedKey.data) {
107
- throw toError('Signer key cannot be the newly created key being added.');
108
- }
109
- const nodeKeyResult = await managementGet(config, '/getNodeKey');
110
- if (!nodeKeyResult.ok) {
111
- throw toError(nodeKeyResult.reason);
112
- }
113
- const nodeKeyParsed = NodeIdSchema.safeParse(nodeKeyResult.data);
114
- if (!nodeKeyParsed.success) {
115
- throw toError('Node ID response failed validation.');
116
- }
117
- return {
118
- newPublicKey: parsedKey.data,
119
- nodeKey: nodeKeyParsed.data,
120
- Nonce: selectedSigningKey.nonce,
121
- Sig: '',
122
- };
123
- });
124
- if (!signed.ok) {
125
- return signed;
126
- }
127
- const posted = await managementPost(config, '/addManagementKey', signed.data.body);
128
- if (!posted.ok) {
129
- return posted;
130
- }
131
- return {
132
- ok: true,
133
- data: {
134
- success: true,
135
- publicKey: parsedKey.data,
136
- nodeKey: String(signed.data.unsignedBody.nodeKey),
137
- },
138
- };
139
- }
140
- export async function setPreferredManagementSigner(config, input) {
141
- let normalized;
142
- try {
143
- normalized = normalizeEd25519PublicKeyToHex(input.publicKeyHex, toError);
144
- }
145
- catch (error) {
146
- return {
147
- ok: false,
148
- reason: error instanceof Error ? error.message : String(error),
149
- };
150
- }
151
- const parsedKey = EdDSAPubKeySchema.safeParse(normalized);
152
- if (!parsedKey.success) {
153
- return { ok: false, reason: 'Invalid public key hex.' };
154
- }
155
- const keyOptions = await fetchManagementKeyOptions(config);
156
- if (!keyOptions.ok) {
157
- return keyOptions;
158
- }
159
- const allowed = keyOptions.data.some(k => normalizeEd25519PublicKeyToHex(k.value, toError) === parsedKey.data);
160
- if (!allowed) {
161
- return {
162
- ok: false,
163
- reason: 'Preferred signer must already be in allowed management keys.',
164
- };
165
- }
166
- let localMatch;
167
- try {
168
- localMatch = await ensureLocalKeyPairForPublicKey(parsedKey.data, {
169
- keyRoot: MPA_HOME_DIR,
170
- toMcpApiError: toError,
171
- });
172
- }
173
- catch (error) {
174
- return {
175
- ok: false,
176
- reason: error instanceof Error ? error.message : String(error),
177
- };
178
- }
179
- const nodeKeyResult = await managementGet(config, '/getNodeKey');
180
- if (!nodeKeyResult.ok) {
181
- return nodeKeyResult;
182
- }
183
- const nodeKeyParsed = NodeIdSchema.safeParse(nodeKeyResult.data);
184
- if (!nodeKeyParsed.success) {
185
- return { ok: false, reason: 'Node ID response failed validation.' };
186
- }
187
- const signed = await prepareSignedManagementRequest(config, ({ selectedSigningKey }) => ({
188
- nodeKey: nodeKeyParsed.data,
189
- Nonce: selectedSigningKey.nonce,
190
- publicKey: parsedKey.data,
191
- Sig: '',
192
- }));
193
- if (!signed.ok) {
194
- return signed;
195
- }
196
- const body = buildClientSigManagementPostBody(signed.data.unsignedBody, signed.data.signingMessage, signed.data.signature);
197
- const posted = await managementPost(config, '/setPreferredSigner', body);
198
- if (!posted.ok) {
199
- return posted;
200
- }
201
- const nonceParsed = NonceSchema.safeParse(signed.data.unsignedBody.Nonce);
202
- return {
203
- ok: true,
204
- data: {
205
- success: true,
206
- publicKeyHex: parsedKey.data,
207
- signerPublicKey: normalizeEd25519PublicKeyToHex(signed.data.selectedSigningKey.value, toError),
208
- nodeKey: nodeKeyParsed.data,
209
- Nonce: nonceParsed.success ? nonceParsed.data : signed.data.selectedSigningKey.nonce,
210
- signedMessage: signed.data.signingMessage,
211
- clientSig: signed.data.signature,
212
- fileName: localMatch.fileName,
213
- },
214
- };
215
- }
216
- //# sourceMappingURL=management-keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"management-keys.js","sourceRoot":"","sources":["../../src/detops/management-keys.ts"],"names":[],"mappings":"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"}