@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,4 +1,15 @@
1
1
  import type { AddMcpServerInput } from '../../schemas/extended.js';
2
- /** Bundled optional MCP catalog (keep in sync with mpc-config agent_llm_config/MCP_servers.json). */
2
+ /**
3
+ * Bundled optional MCP catalog (keep in sync with mpc-config agent_llm_config.defaults/MCP_servers.json).
4
+ *
5
+ * When adding another MCP server template, always wire secrets through agent Variables — never inline
6
+ * values in this catalog or in MCP_servers.json on disk:
7
+ * - HTTP auth: `apiKeyEnvVar` (+ optional `apiKeyHeader`); never `apiKey`.
8
+ * - STDIO secrets: `envVars` (all listed names required before load) and/or optional `apiKeyEnvVar`
9
+ * (injected when set; does not block load if unset). Operators set values via POST /addEnvironmentVariable
10
+ * (Node UI → AI Agent → Variables).
11
+ * The AI agent must not see Variable values — only names in listings (`apiKeyEnvVar`, `envVars`,
12
+ * `envConfigured`). Do not add MCP tools that return secret values to the agent.
13
+ */
3
14
  export declare const BUNDLED_MCP_SERVER_TEMPLATES: readonly AddMcpServerInput[];
4
15
  //# sourceMappingURL=mcp-servers-catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-servers-catalog.d.ts","sourceRoot":"","sources":["../../../src/core/agent/mcp-servers-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAEjE,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,EAAE,SAAS,iBAAiB,EA2D3D,CAAC"}
1
+ {"version":3,"file":"mcp-servers-catalog.d.ts","sourceRoot":"","sources":["../../../src/core/agent/mcp-servers-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,iBAAiB,EA+G3D,CAAC"}
@@ -1,4 +1,15 @@
1
- /** Bundled optional MCP catalog (keep in sync with mpc-config agent_llm_config/MCP_servers.json). */
1
+ /**
2
+ * Bundled optional MCP catalog (keep in sync with mpc-config agent_llm_config.defaults/MCP_servers.json).
3
+ *
4
+ * When adding another MCP server template, always wire secrets through agent Variables — never inline
5
+ * values in this catalog or in MCP_servers.json on disk:
6
+ * - HTTP auth: `apiKeyEnvVar` (+ optional `apiKeyHeader`); never `apiKey`.
7
+ * - STDIO secrets: `envVars` (all listed names required before load) and/or optional `apiKeyEnvVar`
8
+ * (injected when set; does not block load if unset). Operators set values via POST /addEnvironmentVariable
9
+ * (Node UI → AI Agent → Variables).
10
+ * The AI agent must not see Variable values — only names in listings (`apiKeyEnvVar`, `envVars`,
11
+ * `envConfigured`). Do not add MCP tools that return secret values to the agent.
12
+ */
2
13
  export const BUNDLED_MCP_SERVER_TEMPLATES = [
3
14
  {
4
15
  id: 'duckduckgo',
@@ -8,6 +19,24 @@ export const BUNDLED_MCP_SERVER_TEMPLATES = [
8
19
  args: ['-y', 'duckduckgo-mcp-server'],
9
20
  initialLoad: false,
10
21
  },
22
+ {
23
+ id: 'finance-news',
24
+ displayName: 'Finance News RSS',
25
+ transport: 'stdio',
26
+ command: 'uv',
27
+ args: [
28
+ 'run',
29
+ '--with',
30
+ 'git+https://github.com/jvenkatasandeep/finance-news-mcp',
31
+ 'fastmcp',
32
+ 'run',
33
+ 'https://github.com/jvenkatasandeep/finance-news-mcp/raw/main/main.py',
34
+ ],
35
+ runtime: {
36
+ requireCommands: ['uv'],
37
+ },
38
+ initialLoad: false,
39
+ },
11
40
  {
12
41
  id: 'foundry',
13
42
  displayName: 'Foundry (Forge, Cast, Anvil)',
@@ -22,10 +51,24 @@ export const BUNDLED_MCP_SERVER_TEMPLATES = [
22
51
  },
23
52
  {
24
53
  id: 'etherscan',
25
- displayName: 'Etherscan',
26
- transport: 'http',
27
- url: 'https://mcp.etherscan.io/mcp',
54
+ displayName: 'Etherscan (API v2)',
55
+ transport: 'stdio',
56
+ command: 'npx',
57
+ args: ['-y', 'mcp-etherscan-server'],
28
58
  apiKeyEnvVar: 'ETHERSCAN_API_KEY',
59
+ envVars: ['ETHERSCAN_API_KEY'],
60
+ runtime: {
61
+ requireCommands: ['npx'],
62
+ },
63
+ initialLoad: false,
64
+ },
65
+ {
66
+ id: 'dune',
67
+ displayName: 'Dune Analytics',
68
+ transport: 'http',
69
+ url: 'https://api.dune.com/mcp/v1',
70
+ apiKeyEnvVar: 'DUNE_API_KEY',
71
+ apiKeyHeader: 'x-dune-api-key',
29
72
  initialLoad: false,
30
73
  },
31
74
  {
@@ -44,6 +87,26 @@ export const BUNDLED_MCP_SERVER_TEMPLATES = [
44
87
  apiKeyHeader: 'x-cg-pro-api-key',
45
88
  initialLoad: false,
46
89
  },
90
+ {
91
+ id: 'binance',
92
+ displayName: 'Binance (public market data)',
93
+ transport: 'stdio',
94
+ command: 'uv',
95
+ args: [
96
+ 'run',
97
+ '--with',
98
+ 'fastmcp>=0.1.0',
99
+ '--with',
100
+ 'httpx>=0.27.0',
101
+ '--with',
102
+ 'pydantic>=2.0.0',
103
+ 'https://raw.githubusercontent.com/danishashko/binance-mcp-server/main/binance_mcp.py',
104
+ ],
105
+ runtime: {
106
+ requireCommands: ['uv'],
107
+ },
108
+ initialLoad: false,
109
+ },
47
110
  {
48
111
  id: 'x',
49
112
  displayName: 'X (Twitter)',
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-servers-catalog.js","sourceRoot":"","sources":["../../../src/core/agent/mcp-servers-catalog.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,MAAM,CAAC,MAAM,4BAA4B,GAAiC;IACzE;QACC,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,mBAAmB;QAChC,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC;QACrC,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,8BAA8B;QAC3C,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,iCAAiC,CAAC;QAC/C,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE;YACR,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;SAC9D;QACD,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,8BAA8B;QACnC,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,mCAAmC;QACxC,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,uCAAuC;QAC5C,YAAY,EAAE,mBAAmB;QACjC,YAAY,EAAE,kBAAkB;QAChC,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,GAAG;QACP,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,qCAAqC,CAAC;QACnD,OAAO,EAAE;YACR,iBAAiB;YACjB,oBAAoB;YACpB,sBAAsB;YACtB,uBAAuB;SACvB;QACD,WAAW,EAAE,KAAK;KAClB;CACQ,CAAC"}
1
+ {"version":3,"file":"mcp-servers-catalog.js","sourceRoot":"","sources":["../../../src/core/agent/mcp-servers-catalog.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAiC;IACzE;QACC,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,mBAAmB;QAChC,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC;QACrC,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,cAAc;QAClB,WAAW,EAAE,kBAAkB;QAC/B,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACL,KAAK;YACL,QAAQ;YACR,yDAAyD;YACzD,SAAS;YACT,KAAK;YACL,sEAAsE;SACtE;QACD,OAAO,EAAE;YACR,eAAe,EAAE,CAAC,IAAI,CAAC;SACvB;QACD,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,8BAA8B;QAC3C,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,iCAAiC,CAAC;QAC/C,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE;YACR,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;SAC9D;QACD,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC;QACpC,YAAY,EAAE,mBAAmB;QACjC,OAAO,EAAE,CAAC,mBAAmB,CAAC;QAC9B,OAAO,EAAE;YACR,eAAe,EAAE,CAAC,KAAK,CAAC;SACxB;QACD,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,MAAM;QACV,WAAW,EAAE,gBAAgB;QAC7B,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,6BAA6B;QAClC,YAAY,EAAE,cAAc;QAC5B,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,mCAAmC;QACxC,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,uCAAuC;QAC5C,YAAY,EAAE,mBAAmB;QACjC,YAAY,EAAE,kBAAkB;QAChC,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,8BAA8B;QAC3C,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACL,KAAK;YACL,QAAQ;YACR,gBAAgB;YAChB,QAAQ;YACR,eAAe;YACf,QAAQ;YACR,iBAAiB;YACjB,sFAAsF;SACtF;QACD,OAAO,EAAE;YACR,eAAe,EAAE,CAAC,IAAI,CAAC;SACvB;QACD,WAAW,EAAE,KAAK;KAClB;IACD;QACC,EAAE,EAAE,GAAG;QACP,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,qCAAqC,CAAC;QACnD,OAAO,EAAE;YACR,iBAAiB;YACjB,oBAAoB;YACpB,sBAAsB;YACtB,uBAAuB;SACvB;QACD,WAAW,EAAE,KAAK;KAClB;CACQ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { AddWebhookFromCatalogInput } from '../../schemas/extended.js';
2
+ /**
3
+ * Bundled optional webhook catalog (keep in sync with mpc-config agent_llm_config.defaults/hooks/webhooks.json).
4
+ *
5
+ * Secrets: WEBHOOK_SECRET_* and TELEGRAM_BOT_TOKEN via add_environment_variable only.
6
+ * The AI agent must not receive Variable values — only names in list/get responses.
7
+ */
8
+ export declare const BUNDLED_WEBHOOK_TEMPLATES: readonly AddWebhookFromCatalogInput[];
9
+ export declare function listBundledWebhookTemplates(): readonly AddWebhookFromCatalogInput[];
10
+ //# sourceMappingURL=webhooks-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks-catalog.d.ts","sourceRoot":"","sources":["../../../src/core/agent/webhooks-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,2BAA2B,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,0BAA0B,EAQjE,CAAC;AAEX,wBAAgB,2BAA2B,IAAI,SAAS,0BAA0B,EAAE,CAEnF"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Bundled optional webhook catalog (keep in sync with mpc-config agent_llm_config.defaults/hooks/webhooks.json).
3
+ *
4
+ * Secrets: WEBHOOK_SECRET_* and TELEGRAM_BOT_TOKEN via add_environment_variable only.
5
+ * The AI agent must not receive Variable values — only names in list/get responses.
6
+ */
7
+ export const BUNDLED_WEBHOOK_TEMPLATES = [
8
+ { name: 'generic_inbound' },
9
+ { name: 'github_events' },
10
+ { name: 'gmail_inbox' },
11
+ { name: 'proton_inbox' },
12
+ { name: 'stripe_events' },
13
+ { name: 'slack_events' },
14
+ { name: 'telegram_updates' },
15
+ ];
16
+ export function listBundledWebhookTemplates() {
17
+ return BUNDLED_WEBHOOK_TEMPLATES;
18
+ }
19
+ //# sourceMappingURL=webhooks-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks-catalog.js","sourceRoot":"","sources":["../../../src/core/agent/webhooks-catalog.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA0C;IAC/E,EAAC,IAAI,EAAE,iBAAiB,EAAC;IACzB,EAAC,IAAI,EAAE,eAAe,EAAC;IACvB,EAAC,IAAI,EAAE,aAAa,EAAC;IACrB,EAAC,IAAI,EAAE,cAAc,EAAC;IACtB,EAAC,IAAI,EAAE,eAAe,EAAC;IACvB,EAAC,IAAI,EAAE,cAAc,EAAC;IACtB,EAAC,IAAI,EAAE,kBAAkB,EAAC;CACjB,CAAC;AAEX,MAAM,UAAU,2BAA2B;IAC1C,OAAO,yBAAyB,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@continuumdao/continuum-node-sdk",
3
- "version": "1.2.17",
3
+ "version": "1.2.18",
4
4
  "description": "JSON SDK for the Continuum node client management API",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/ContinuumDAO/continuum-node-sdk#readme",
@@ -34,7 +34,7 @@
34
34
  "sync-vendor-defi": "bash scripts/sync-vendor-defi.sh"
35
35
  },
36
36
  "dependencies": {
37
- "@continuumdao/ctm-mpc-defi": "^0.2.5",
37
+ "@continuumdao/ctm-mpc-defi": "^0.2.7",
38
38
  "@curvefi/api": "^2.69.2",
39
39
  "@modelcontextprotocol/sdk": "^1.29.0",
40
40
  "express": "^5.2.1",
@@ -1,9 +0,0 @@
1
- import type { NodeSdkConfig } from '../config/schema.js';
2
- import { type ManagementSigningMethod } from '../schemas/extended.js';
3
- import type { SdkPreparedResult, SdkResult } from './result.js';
4
- import { type ExecuteSignResponse, type PreparedSignRequest } from './schemas.js';
5
- export type { ManagementPostVariant, PreparedSignRequest } from './schemas.js';
6
- export type PendingSignRequest = import('./schemas.js').PendingSignRequest;
7
- export declare function preparePendingSignRequest(config: NodeSdkConfig, pending: import('./schemas.js').PendingSignRequest): Promise<SdkPreparedResult<PreparedSignRequest>>;
8
- export declare function executePendingSignRequest(config: NodeSdkConfig, prepared: PreparedSignRequest, signing?: ManagementSigningMethod): Promise<SdkResult<ExecuteSignResponse>>;
9
- //# sourceMappingURL=signing-flow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signing-flow.d.ts","sourceRoot":"","sources":["../../src/core/signing-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAIvD,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAC9D,OAAO,EAIN,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAC,qBAAqB,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC7E,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,EAAE,kBAAkB,CAAC;AAQ3E,wBAAsB,yBAAyB,CAC9C,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,cAAc,EAAE,kBAAkB,GAChD,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CA0CjD;AAiED,wBAAsB,yBAAyB,CAC9C,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAsDzC"}
@@ -1,139 +0,0 @@
1
- import { buildManagementCanonicalJson, buildManagementUnsignedBody } from '../api/canonical-json.js';
2
- import { managementPost } from '../api/management-api.js';
3
- import { resolveKeyPathForPublicKey, signUtf8Message } from '../api/management-key.js';
4
- import { DEFAULT_MANAGEMENT_SIGNING, } from '../schemas/extended.js';
5
- import { getManagementSigner, managementSign } from './management-signer.js';
6
- import { ExecuteSignResponseSchema, PendingSignRequestSchema, } from './schemas.js';
7
- function isAgentLlmVariant(variant) {
8
- return variant === 'agentLlmConfig' || variant === 'agentLlmApiKey';
9
- }
10
- export async function preparePendingSignRequest(config, pending) {
11
- const parsedPending = PendingSignRequestSchema.safeParse(pending);
12
- if (!parsedPending.success) {
13
- return { ok: false, reason: 'Invalid pending sign request.' };
14
- }
15
- const keyInfo = await getManagementSigner(config);
16
- if (!keyInfo.ok) {
17
- return keyInfo;
18
- }
19
- const signerLabel = keyInfo.data.publicKey.slice(0, 12);
20
- if (isAgentLlmVariant(parsedPending.data.postVariant)) {
21
- const signedMessage = String(parsedPending.data.requestFields['signedMessage'] ?? '');
22
- if (signedMessage.length === 0) {
23
- return { ok: false, reason: 'Missing signedMessage for agent LLM request.' };
24
- }
25
- return {
26
- ok: true,
27
- prepared: {
28
- ...parsedPending.data,
29
- canonicalJson: signedMessage,
30
- signerLabel,
31
- },
32
- };
33
- }
34
- const unsigned = buildManagementUnsignedBody(keyInfo.data, parsedPending.data.requestFields);
35
- const canonicalJson = buildManagementCanonicalJson(unsigned);
36
- return {
37
- ok: true,
38
- prepared: {
39
- ...parsedPending.data,
40
- canonicalJson,
41
- signerLabel,
42
- },
43
- };
44
- }
45
- function toApiPostBody(prepared, signed) {
46
- const clientSig = String(signed['clientSig'] ?? '');
47
- const { clientSig: _ignored, ...rest } = signed;
48
- if (prepared.postVariant === 'setPreferredSigner' ||
49
- isAgentLlmVariant(prepared.postVariant)) {
50
- return {
51
- ...rest,
52
- signedMessage: prepared.canonicalJson,
53
- clientSig,
54
- };
55
- }
56
- return {
57
- ...rest,
58
- sig: clientSig,
59
- };
60
- }
61
- async function executeAgentLlmSignRequest(config, prepared) {
62
- const keyInfo = await getManagementSigner(config);
63
- if (!keyInfo.ok) {
64
- return keyInfo;
65
- }
66
- const keyPath = resolveKeyPathForPublicKey(config, keyInfo.data.publicKey);
67
- if (!keyPath) {
68
- return {
69
- ok: false,
70
- reason: `No local private key found for preferred signer ${keyInfo.data.publicKey}`,
71
- };
72
- }
73
- const clientSig = signUtf8Message(keyPath, prepared.canonicalJson);
74
- const { signedMessage: _ignored, ...requestFields } = prepared.requestFields;
75
- void _ignored;
76
- const body = {
77
- ...requestFields,
78
- signedMessage: prepared.canonicalJson,
79
- clientSig,
80
- };
81
- const response = await managementPost(config, prepared.path, body);
82
- if (!response.ok) {
83
- return response;
84
- }
85
- const parsed = ExecuteSignResponseSchema.safeParse(response.data);
86
- if (!parsed.success) {
87
- return { ok: false, reason: 'Sign response failed validation.' };
88
- }
89
- return { ok: true, data: parsed.data };
90
- }
91
- export async function executePendingSignRequest(config, prepared, signing = DEFAULT_MANAGEMENT_SIGNING) {
92
- if (isAgentLlmVariant(prepared.postVariant)) {
93
- return executeAgentLlmSignRequest(config, prepared);
94
- }
95
- if (signing.kind === 'eip191') {
96
- const signed = await managementSign(config, signing, prepared.requestFields);
97
- if (!signed.ok) {
98
- return signed;
99
- }
100
- const body = toApiPostBody(prepared, signed.data);
101
- const response = await managementPost(config, prepared.path, body);
102
- if (!response.ok) {
103
- return response;
104
- }
105
- const parsed = ExecuteSignResponseSchema.safeParse(response.data);
106
- if (!parsed.success) {
107
- return { ok: false, reason: 'Sign response failed validation.' };
108
- }
109
- return { ok: true, data: parsed.data };
110
- }
111
- const keyInfo = await getManagementSigner(config);
112
- if (!keyInfo.ok) {
113
- return keyInfo;
114
- }
115
- const keyPath = resolveKeyPathForPublicKey(config, keyInfo.data.publicKey);
116
- if (!keyPath) {
117
- return {
118
- ok: false,
119
- reason: `No local private key found for preferred signer ${keyInfo.data.publicKey}`,
120
- };
121
- }
122
- const signed = await managementSign(config, signing, prepared.requestFields, {
123
- keyPath,
124
- });
125
- if (!signed.ok) {
126
- return signed;
127
- }
128
- const body = toApiPostBody(prepared, signed.data);
129
- const response = await managementPost(config, prepared.path, body);
130
- if (!response.ok) {
131
- return response;
132
- }
133
- const parsed = ExecuteSignResponseSchema.safeParse(response.data);
134
- if (!parsed.success) {
135
- return { ok: false, reason: 'Sign response failed validation.' };
136
- }
137
- return { ok: true, data: parsed.data };
138
- }
139
- //# sourceMappingURL=signing-flow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signing-flow.js","sourceRoot":"","sources":["../../src/core/signing-flow.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { NodeSdkConfig } from '../config/schema.js';
2
- import type { SdkResult } from '../detops/result.js';
3
- import { type MpcKeyInfo } from '../detops/schemas.js';
4
- export type { MpcKeyInfo } from '../detops/schemas.js';
5
- export declare function fetchMpcKeys(config: NodeSdkConfig): Promise<SdkResult<{
6
- keys: MpcKeyInfo[];
7
- }>>;
8
- //# sourceMappingURL=mpc-keys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mpc-keys.d.ts","sourceRoot":"","sources":["../../src/data/mpc-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAIN,KAAK,UAAU,EACf,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAErD,wBAAsB,YAAY,CACjC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,EAAE,CAAA;CAAC,CAAC,CAAC,CAuC1C"}
@@ -1,38 +0,0 @@
1
- import { managementGet } from '../api/management-api.js';
2
- import { AllGroupIdsResponseSchema, MpcKeyInfoSchema, MpcKeysResponseSchema, } from '../detops/schemas.js';
3
- export async function fetchMpcKeys(config) {
4
- const result = await managementGet(config, '/getAllGroupIds');
5
- if (!result.ok) {
6
- return result;
7
- }
8
- const parsedGroups = AllGroupIdsResponseSchema.safeParse(result.data);
9
- if (!parsedGroups.success) {
10
- return { ok: false, reason: 'MPC keys response failed validation.' };
11
- }
12
- const keys = [];
13
- for (const group of parsedGroups.data.groups ?? []) {
14
- for (const keyGen of group.keyGens ?? []) {
15
- const pubKeyHex = keyGen.pubkeyhex?.trim() ?? '';
16
- if (pubKeyHex.length === 0) {
17
- continue;
18
- }
19
- const mapped = {
20
- pubKeyHex,
21
- keyType: keyGen.keytype ?? 'unknown',
22
- threshold: keyGen.threshold ?? 0,
23
- members: keyGen.keylist?.length ?? 0,
24
- address: keyGen.ethereumaddress ?? '',
25
- };
26
- const validated = MpcKeyInfoSchema.safeParse(mapped);
27
- if (validated.success) {
28
- keys.push(validated.data);
29
- }
30
- }
31
- }
32
- const response = MpcKeysResponseSchema.safeParse({ keys });
33
- if (!response.success) {
34
- return { ok: false, reason: 'MPC keys response failed validation.' };
35
- }
36
- return { ok: true, data: response.data };
37
- }
38
- //# sourceMappingURL=mpc-keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mpc-keys.js","sourceRoot":"","sources":["../../src/data/mpc-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACN,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,GAErB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAU,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sCAAsC,EAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACjD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,SAAS;YACV,CAAC;YAED,MAAM,MAAM,GAAG;gBACd,SAAS;gBACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;gBACpC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC;gBAChC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;gBACpC,OAAO,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE;aACrC,CAAC;YACF,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sCAAsC,EAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAC,CAAC;AACxC,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { NodeSdkConfig } from '../config/schema.js';
2
- import type { SdkResult } from './result.js';
3
- export declare function nodeId(config: NodeSdkConfig): Promise<SdkResult<{
4
- nodeId: string;
5
- }>>;
6
- export declare function version(config: NodeSdkConfig): Promise<SdkResult<{
7
- version: string;
8
- versionDate: string;
9
- cggmp24UpstreamGitRev: string;
10
- }>>;
11
- //# sourceMappingURL=general.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/detops/general.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAI3C,wBAAsB,MAAM,CAC3B,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC,CAiBtC;AAQD,wBAAsB,OAAO,CAC5B,MAAM,EAAE,aAAa,GACnB,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;CAC9B,CAAC,CACF,CAgBA"}
@@ -1,34 +0,0 @@
1
- import { managementGet } from '../api/management-api.js';
2
- import { NodeIdResponseSchema, VersionResponseSchema } from './schemas.js';
3
- import { NodeIdSchema } from './types.js';
4
- export async function nodeId(config) {
5
- const result = await managementGet(config, '/getNodeKey');
6
- if (!result.ok) {
7
- return result;
8
- }
9
- const parsed = NodeIdSchema.safeParse(result.data);
10
- if (!parsed.success) {
11
- return { ok: false, reason: 'Node ID response failed validation.' };
12
- }
13
- const response = NodeIdResponseSchema.safeParse({ nodeId: parsed.data });
14
- if (!response.success) {
15
- return { ok: false, reason: 'Node ID response failed validation.' };
16
- }
17
- return { ok: true, data: response.data };
18
- }
19
- export async function version(config) {
20
- const result = await managementGet(config, '/version');
21
- if (!result.ok) {
22
- return result;
23
- }
24
- const parsed = VersionResponseSchema.safeParse({
25
- version: result.data.version ?? '',
26
- versionDate: result.data.versionDate ?? '',
27
- cggmp24UpstreamGitRev: result.data.cggmp24UpstreamGitRev ?? '',
28
- });
29
- if (!parsed.success) {
30
- return { ok: false, reason: 'Version response failed validation.' };
31
- }
32
- return { ok: true, data: parsed.data };
33
- }
34
- //# sourceMappingURL=general.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/detops/general.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAC,oBAAoB,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AACzE,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,MAAM,CAC3B,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAS,MAAM,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAC,CAAC;IACnE,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAC,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAC,CAAC;IACnE,CAAC;IAED,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAC,CAAC;AACxC,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC5B,MAAqB;IAQrB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAiB,MAAM,EAAE,UAAU,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC;QAC9C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE;QAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE;QAC1C,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE;KAC9D,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAC,CAAC;IACnE,CAAC;IAED,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAC,CAAC;AACtC,CAAC"}
@@ -1,71 +0,0 @@
1
- import type { NodeSdkConfig } from '../config/schema.js';
2
- import type { SdkResult } from '../detops/result.js';
3
- import { type Filter, type McpGroupRequest, type McpGroupResult, type NodeId } from '../schemas/extended.js';
4
- import { toSelectedSigningKey } from '../detops/management-signer.js';
5
- export declare function listAvailableNodeIds(config: NodeSdkConfig): Promise<SdkResult<{
6
- selfNodeId: NodeId;
7
- nodes: Array<{
8
- index: number;
9
- ip: string;
10
- nodeId: NodeId;
11
- isSelf: boolean;
12
- }>;
13
- nodeIdByIp: Record<string, NodeId>;
14
- }>>;
15
- export declare function createGroupRequest(config: NodeSdkConfig, input: {
16
- nodeIds: NodeId[];
17
- }): Promise<SdkResult<{
18
- groupRequestId: string;
19
- selectedSigningKey: ReturnType<typeof toSelectedSigningKey>;
20
- signingMessage: string;
21
- }>>;
22
- export declare function acceptGroupRequest(config: NodeSdkConfig, input: {
23
- requestId: string;
24
- }): Promise<SdkResult<{
25
- message: string;
26
- selectedSigningKey: ReturnType<typeof toSelectedSigningKey>;
27
- signingMessage: string;
28
- }>>;
29
- export declare function listValidGroupNodeSetsMcp(config: NodeSdkConfig): Promise<SdkResult<{
30
- selfNodeId: NodeId;
31
- configuredNodeIds: NodeId[];
32
- validPairs: NodeId[][];
33
- }>>;
34
- declare function buildAgreementChecks(localNodeId: NodeId, requests: McpGroupRequest[]): {
35
- requestId: string;
36
- originator: string;
37
- isOriginatorLocal: boolean;
38
- agreementRequired: boolean;
39
- note: string;
40
- }[];
41
- export declare function listMcpGroupRequests(config: NodeSdkConfig, options?: {
42
- filter?: Filter;
43
- pagenum?: number;
44
- pagesize?: number;
45
- }): Promise<SdkResult<{
46
- localNodeId: NodeId;
47
- requests: McpGroupRequest[];
48
- agreementChecks: ReturnType<typeof buildAgreementChecks>;
49
- }>>;
50
- export declare function listMcpGroupResults(config: NodeSdkConfig, options?: {
51
- filter?: Filter;
52
- pagenum?: number;
53
- pagesize?: number;
54
- }): Promise<SdkResult<{
55
- results: McpGroupResult[];
56
- }>>;
57
- export declare function getMcpGroupRequestById(config: NodeSdkConfig, input: {
58
- id: string;
59
- }): Promise<SdkResult<{
60
- request: McpGroupRequest;
61
- localNodeId: NodeId;
62
- isOriginatorLocal: boolean;
63
- agreementRequired: boolean;
64
- note: string;
65
- }>>;
66
- export declare function getMcpGroupResultById(config: NodeSdkConfig, input: {
67
- id?: string;
68
- group_id?: string;
69
- }): Promise<SdkResult<McpGroupResult>>;
70
- export {};
71
- //# sourceMappingURL=group-actions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-actions.d.ts","sourceRoot":"","sources":["../../src/detops/group-actions.ts"],"names":[],"mappings":"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"}