@continuumdao/continuum-node-sdk 1.2.9 → 1.2.11

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 (177) hide show
  1. package/dist/api/envelope.d.ts.map +1 -1
  2. package/dist/api/envelope.js +33 -6
  3. package/dist/api/envelope.js.map +1 -1
  4. package/dist/core/agent/cron-jobs.d.ts +55 -0
  5. package/dist/core/agent/cron-jobs.d.ts.map +1 -0
  6. package/dist/core/agent/cron-jobs.js +575 -0
  7. package/dist/core/agent/cron-jobs.js.map +1 -0
  8. package/dist/core/agent/environment-variables.d.ts +12 -0
  9. package/dist/core/agent/environment-variables.d.ts.map +1 -0
  10. package/dist/core/agent/environment-variables.js +69 -0
  11. package/dist/core/agent/environment-variables.js.map +1 -0
  12. package/dist/core/agent/mcp-servers-catalog.d.ts +4 -0
  13. package/dist/core/agent/mcp-servers-catalog.d.ts.map +1 -0
  14. package/dist/core/agent/mcp-servers-catalog.js +62 -0
  15. package/dist/core/agent/mcp-servers-catalog.js.map +1 -0
  16. package/dist/core/agent/mcp-servers.d.ts +28 -0
  17. package/dist/core/agent/mcp-servers.d.ts.map +1 -0
  18. package/dist/core/agent/mcp-servers.js +274 -0
  19. package/dist/core/agent/mcp-servers.js.map +1 -0
  20. package/dist/core/agent/skills.d.ts +26 -0
  21. package/dist/core/agent/skills.d.ts.map +1 -0
  22. package/dist/core/agent/skills.js +200 -0
  23. package/dist/core/agent/skills.js.map +1 -0
  24. package/dist/core/group-request-id.d.ts +9 -0
  25. package/dist/core/group-request-id.d.ts.map +1 -0
  26. package/dist/core/group-request-id.js +49 -0
  27. package/dist/core/group-request-id.js.map +1 -0
  28. package/dist/core/groups.d.ts.map +1 -1
  29. package/dist/core/groups.js +10 -10
  30. package/dist/core/groups.js.map +1 -1
  31. package/dist/core/keygen-id.d.ts +9 -0
  32. package/dist/core/keygen-id.d.ts.map +1 -0
  33. package/dist/core/keygen-id.js +49 -0
  34. package/dist/core/keygen-id.js.map +1 -0
  35. package/dist/core/keygen.d.ts +10 -1
  36. package/dist/core/keygen.d.ts.map +1 -1
  37. package/dist/core/keygen.js +99 -25
  38. package/dist/core/keygen.js.map +1 -1
  39. package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
  40. package/dist/core/mpc/broadcast-sign-result.js +64 -26
  41. package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
  42. package/dist/core/mpc/client.d.ts.map +1 -1
  43. package/dist/core/mpc/client.js +37 -13
  44. package/dist/core/mpc/client.js.map +1 -1
  45. package/dist/core/mpc/gas-options.d.ts +7 -0
  46. package/dist/core/mpc/gas-options.d.ts.map +1 -0
  47. package/dist/core/mpc/gas-options.js +122 -0
  48. package/dist/core/mpc/gas-options.js.map +1 -0
  49. package/dist/core/mpc/get-sign-result-summary.d.ts +7 -0
  50. package/dist/core/mpc/get-sign-result-summary.d.ts.map +1 -0
  51. package/dist/core/mpc/get-sign-result-summary.js +20 -0
  52. package/dist/core/mpc/get-sign-result-summary.js.map +1 -0
  53. package/dist/core/mpc/mpa-top-up.d.ts +1 -3
  54. package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
  55. package/dist/core/mpc/mpa-top-up.js +10 -3
  56. package/dist/core/mpc/mpa-top-up.js.map +1 -1
  57. package/dist/core/mpc/resolve-recipient.d.ts +10 -0
  58. package/dist/core/mpc/resolve-recipient.d.ts.map +1 -0
  59. package/dist/core/mpc/resolve-recipient.js +44 -0
  60. package/dist/core/mpc/resolve-recipient.js.map +1 -0
  61. package/dist/core/mpc/resolve-transfer-input.d.ts +19 -0
  62. package/dist/core/mpc/resolve-transfer-input.d.ts.map +1 -0
  63. package/dist/core/mpc/resolve-transfer-input.js +65 -0
  64. package/dist/core/mpc/resolve-transfer-input.js.map +1 -0
  65. package/dist/core/mpc/schemas.d.ts +182 -16
  66. package/dist/core/mpc/schemas.d.ts.map +1 -1
  67. package/dist/core/mpc/schemas.js +348 -40
  68. package/dist/core/mpc/schemas.js.map +1 -1
  69. package/dist/core/mpc/sign-request-id.d.ts +9 -0
  70. package/dist/core/mpc/sign-request-id.d.ts.map +1 -0
  71. package/dist/core/mpc/sign-request-id.js +50 -0
  72. package/dist/core/mpc/sign-request-id.js.map +1 -0
  73. package/dist/core/mpc/sign-request-lifecycle.d.ts +24 -12
  74. package/dist/core/mpc/sign-request-lifecycle.d.ts.map +1 -1
  75. package/dist/core/mpc/sign-request-lifecycle.js +132 -34
  76. package/dist/core/mpc/sign-request-lifecycle.js.map +1 -1
  77. package/dist/core/mpc/sign-request-utils.d.ts +58 -0
  78. package/dist/core/mpc/sign-request-utils.d.ts.map +1 -1
  79. package/dist/core/mpc/sign-request-utils.js +361 -1
  80. package/dist/core/mpc/sign-request-utils.js.map +1 -1
  81. package/dist/core/mpc/sign-result-summary.d.ts +15 -0
  82. package/dist/core/mpc/sign-result-summary.d.ts.map +1 -0
  83. package/dist/core/mpc/sign-result-summary.js +141 -0
  84. package/dist/core/mpc/sign-result-summary.js.map +1 -0
  85. package/dist/core/mpc/transfer-native.d.ts.map +1 -1
  86. package/dist/core/mpc/transfer-native.js +30 -14
  87. package/dist/core/mpc/transfer-native.js.map +1 -1
  88. package/dist/core/mpc/transfer-tokens.d.ts.map +1 -1
  89. package/dist/core/mpc/transfer-tokens.js +36 -7
  90. package/dist/core/mpc/transfer-tokens.js.map +1 -1
  91. package/dist/core/mpc/trigger-sign-result.d.ts +1 -1
  92. package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
  93. package/dist/core/mpc/trigger-sign-result.js +6 -3
  94. package/dist/core/mpc/trigger-sign-result.js.map +1 -1
  95. package/dist/core/registry/networks.d.ts +7 -3
  96. package/dist/core/registry/networks.d.ts.map +1 -1
  97. package/dist/core/registry/networks.js +75 -4
  98. package/dist/core/registry/networks.js.map +1 -1
  99. package/dist/core/registry/registry-lookup.d.ts +21 -0
  100. package/dist/core/registry/registry-lookup.d.ts.map +1 -0
  101. package/dist/core/registry/registry-lookup.js +113 -0
  102. package/dist/core/registry/registry-lookup.js.map +1 -0
  103. package/dist/core/registry/tokens.d.ts +10 -24
  104. package/dist/core/registry/tokens.d.ts.map +1 -1
  105. package/dist/core/registry/tokens.js +117 -13
  106. package/dist/core/registry/tokens.js.map +1 -1
  107. package/dist/core/types.d.ts +1 -1
  108. package/dist/core/types.d.ts.map +1 -1
  109. package/dist/core/types.js +2 -3
  110. package/dist/core/types.js.map +1 -1
  111. package/dist/index.d.ts +12 -4
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +12 -4
  114. package/dist/index.js.map +1 -1
  115. package/dist/internal/agent-cron-schedule-input.d.ts +3 -0
  116. package/dist/internal/agent-cron-schedule-input.d.ts.map +1 -0
  117. package/dist/internal/agent-cron-schedule-input.js +84 -0
  118. package/dist/internal/agent-cron-schedule-input.js.map +1 -0
  119. package/dist/mcp/agent-cron-jobs.d.ts +4 -0
  120. package/dist/mcp/agent-cron-jobs.d.ts.map +1 -0
  121. package/dist/mcp/agent-cron-jobs.js +80 -0
  122. package/dist/mcp/agent-cron-jobs.js.map +1 -0
  123. package/dist/mcp/agent-mcp-servers.d.ts +4 -0
  124. package/dist/mcp/agent-mcp-servers.d.ts.map +1 -0
  125. package/dist/mcp/agent-mcp-servers.js +46 -0
  126. package/dist/mcp/agent-mcp-servers.js.map +1 -0
  127. package/dist/mcp/agent-skills.d.ts +4 -0
  128. package/dist/mcp/agent-skills.d.ts.map +1 -0
  129. package/dist/mcp/agent-skills.js +41 -0
  130. package/dist/mcp/agent-skills.js.map +1 -0
  131. package/dist/mcp/defi/handler.d.ts.map +1 -1
  132. package/dist/mcp/defi/handler.js +10 -4
  133. package/dist/mcp/defi/handler.js.map +1 -1
  134. package/dist/mcp/defi/input-adapter.d.ts.map +1 -1
  135. package/dist/mcp/defi/input-adapter.js +9 -3
  136. package/dist/mcp/defi/input-adapter.js.map +1 -1
  137. package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
  138. package/dist/mcp/defi/register-protocol-tools.js +7 -0
  139. package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
  140. package/dist/mcp/defi/uniswap-api-key.d.ts +16 -0
  141. package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -0
  142. package/dist/mcp/defi/uniswap-api-key.js +50 -0
  143. package/dist/mcp/defi/uniswap-api-key.js.map +1 -0
  144. package/dist/mcp/group.js +1 -1
  145. package/dist/mcp/group.js.map +1 -1
  146. package/dist/mcp/keygen.d.ts.map +1 -1
  147. package/dist/mcp/keygen.js +19 -2
  148. package/dist/mcp/keygen.js.map +1 -1
  149. package/dist/mcp/mpc-gas-docs.d.ts +7 -0
  150. package/dist/mcp/mpc-gas-docs.d.ts.map +1 -0
  151. package/dist/mcp/mpc-gas-docs.js +7 -0
  152. package/dist/mcp/mpc-gas-docs.js.map +1 -0
  153. package/dist/mcp/mpc.d.ts.map +1 -1
  154. package/dist/mcp/mpc.js +180 -29
  155. package/dist/mcp/mpc.js.map +1 -1
  156. package/dist/mcp/register.d.ts +3 -0
  157. package/dist/mcp/register.d.ts.map +1 -1
  158. package/dist/mcp/register.js +12 -0
  159. package/dist/mcp/register.js.map +1 -1
  160. package/dist/mcp/registry/address-book.d.ts.map +1 -1
  161. package/dist/mcp/registry/address-book.js +1 -1
  162. package/dist/mcp/registry/address-book.js.map +1 -1
  163. package/dist/mcp/registry/networks.d.ts.map +1 -1
  164. package/dist/mcp/registry/networks.js +2 -2
  165. package/dist/mcp/registry/networks.js.map +1 -1
  166. package/dist/mcp/registry/tokens.d.ts.map +1 -1
  167. package/dist/mcp/registry/tokens.js +24 -15
  168. package/dist/mcp/registry/tokens.js.map +1 -1
  169. package/dist/mcp/tool-utils.d.ts +2 -0
  170. package/dist/mcp/tool-utils.d.ts.map +1 -1
  171. package/dist/mcp/tool-utils.js +7 -2
  172. package/dist/mcp/tool-utils.js.map +1 -1
  173. package/dist/schemas/extended.d.ts +475 -6
  174. package/dist/schemas/extended.d.ts.map +1 -1
  175. package/dist/schemas/extended.js +294 -12
  176. package/dist/schemas/extended.js.map +1 -1
  177. package/package.json +1 -1
@@ -0,0 +1,69 @@
1
+ import { buildManagementQueryPath, managementGet, } from '../../api/management-api.js';
2
+ import { AGENT_ENVIRONMENT_API_PATHS, AgentEnvironmentVariableSchema, GetEnvironmentVariableQuerySchema, ListEnvironmentVariablesDataSchema, } from '../../schemas/extended.js';
3
+ function normalizeEnvironmentVariableName(name) {
4
+ return name.trim().toUpperCase();
5
+ }
6
+ function normalizeEnvironmentVariableRow(raw) {
7
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
8
+ return null;
9
+ }
10
+ const row = raw;
11
+ const parsed = AgentEnvironmentVariableSchema.safeParse({
12
+ name: String(row.name ?? row.Name ?? '').trim(),
13
+ value: String(row.value ?? row.Value ?? ''),
14
+ updatedAt: String(row.updatedAt ?? row.UpdatedAt ?? '').trim() || undefined,
15
+ });
16
+ return parsed.success ? parsed.data : null;
17
+ }
18
+ /** GET /getEnvironmentVariable — one agent env var stored on this node. */
19
+ export async function getEnvironmentVariable(config, query) {
20
+ const parsedQuery = GetEnvironmentVariableQuerySchema.safeParse(query);
21
+ if (!parsedQuery.success) {
22
+ return { ok: false, reason: 'Invalid environment variable name.' };
23
+ }
24
+ const name = normalizeEnvironmentVariableName(parsedQuery.data.name);
25
+ const path = buildManagementQueryPath(AGENT_ENVIRONMENT_API_PATHS.get, {
26
+ name,
27
+ });
28
+ const result = await managementGet(config, path);
29
+ if (!result.ok) {
30
+ return result;
31
+ }
32
+ const row = normalizeEnvironmentVariableRow(result.data);
33
+ if (!row) {
34
+ return {
35
+ ok: false,
36
+ reason: 'Environment variable response failed validation.',
37
+ };
38
+ }
39
+ return { ok: true, data: row };
40
+ }
41
+ /** GET /listEnvironmentVariables — all agent env vars stored on this node. */
42
+ export async function listEnvironmentVariables(config) {
43
+ const result = await managementGet(config, AGENT_ENVIRONMENT_API_PATHS.list);
44
+ if (!result.ok) {
45
+ return result;
46
+ }
47
+ const data = result.data && typeof result.data === 'object' && !Array.isArray(result.data)
48
+ ? result.data
49
+ : { variables: result.data };
50
+ const listRaw = data.variables ?? data.Variables;
51
+ const variables = [];
52
+ if (Array.isArray(listRaw)) {
53
+ for (const item of listRaw) {
54
+ const row = normalizeEnvironmentVariableRow(item);
55
+ if (row) {
56
+ variables.push(row);
57
+ }
58
+ }
59
+ }
60
+ const parsed = ListEnvironmentVariablesDataSchema.safeParse({ variables });
61
+ if (!parsed.success) {
62
+ return {
63
+ ok: false,
64
+ reason: 'Environment variable list response failed validation.',
65
+ };
66
+ }
67
+ return { ok: true, data: parsed.data };
68
+ }
69
+ //# sourceMappingURL=environment-variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-variables.js","sourceRoot":"","sources":["../../../src/core/agent/environment-variables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
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). */
3
+ export declare const BUNDLED_MCP_SERVER_TEMPLATES: readonly AddMcpServerInput[];
4
+ //# sourceMappingURL=mcp-servers-catalog.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,62 @@
1
+ /** Bundled optional MCP catalog (keep in sync with mpc-config agent_llm_config/MCP_servers.json). */
2
+ export const BUNDLED_MCP_SERVER_TEMPLATES = [
3
+ {
4
+ id: 'duckduckgo',
5
+ displayName: 'DuckDuckGo search',
6
+ transport: 'stdio',
7
+ command: 'npx',
8
+ args: ['-y', 'duckduckgo-mcp-server'],
9
+ initialLoad: false,
10
+ },
11
+ {
12
+ id: 'foundry',
13
+ displayName: 'Foundry (Forge, Cast, Anvil)',
14
+ transport: 'stdio',
15
+ command: 'npx',
16
+ args: ['-y', '@pranesh.asp/foundry-mcp-server'],
17
+ useUserFolder: true,
18
+ runtime: {
19
+ requireCommands: ['npx', 'forge', 'cast', 'anvil', 'heimdall'],
20
+ },
21
+ initialLoad: false,
22
+ },
23
+ {
24
+ id: 'etherscan',
25
+ displayName: 'Etherscan',
26
+ transport: 'http',
27
+ url: 'https://mcp.etherscan.io/mcp',
28
+ apiKeyEnvVar: 'ETHERSCAN_API_KEY',
29
+ initialLoad: false,
30
+ },
31
+ {
32
+ id: 'coingecko',
33
+ displayName: 'CoinGecko (public)',
34
+ transport: 'http',
35
+ url: 'https://mcp.api.coingecko.com/mcp',
36
+ initialLoad: false,
37
+ },
38
+ {
39
+ id: 'coingecko-pro',
40
+ displayName: 'CoinGecko Pro',
41
+ transport: 'http',
42
+ url: 'https://mcp.pro-api.coingecko.com/mcp',
43
+ apiKeyEnvVar: 'COINGECKO_API_KEY',
44
+ apiKeyHeader: 'x-cg-pro-api-key',
45
+ initialLoad: false,
46
+ },
47
+ {
48
+ id: 'x',
49
+ displayName: 'X (Twitter)',
50
+ transport: 'stdio',
51
+ command: 'npx',
52
+ args: ['-y', '@iflow-mcp/datawhisker-x-mcp-server'],
53
+ envVars: [
54
+ 'TWITTER_API_KEY',
55
+ 'TWITTER_API_SECRET',
56
+ 'TWITTER_ACCESS_TOKEN',
57
+ 'TWITTER_ACCESS_SECRET',
58
+ ],
59
+ initialLoad: false,
60
+ },
61
+ ];
62
+ //# sourceMappingURL=mcp-servers-catalog.js.map
@@ -0,0 +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"}
@@ -0,0 +1,28 @@
1
+ import type { NodeSdkConfig } from '../../config/schema.js';
2
+ import { AgentMcpServerRowSchema, GetMcpServerQuerySchema, ListBundledMcpServerTemplatesDataSchema, ListMcpServersDataSchema, RemoveMcpServerInputSchema, type AddMcpServerInput, type ManagementSigningMethod } from '../../schemas/extended.js';
3
+ import type { SdkResult } from '../result.js';
4
+ import { toSelectedSigningKey, type BuiltManagementPostRequest } from '../management-signer.js';
5
+ import { z } from 'zod';
6
+ export type AgentMcpServerRow = z.infer<typeof AgentMcpServerRowSchema>;
7
+ export type ListMcpServersData = z.infer<typeof ListMcpServersDataSchema>;
8
+ export declare function normalizeAgentMcpServerId(raw: string): string;
9
+ export declare function validateAgentMcpServerId(id: string): string | null;
10
+ /** GET /listMcpServers — configured defaults + user servers, plus bundled templates not yet on the node. */
11
+ export declare function listMcpServers(config: NodeSdkConfig): Promise<SdkResult<ListMcpServersData>>;
12
+ /** Bundled optional MCP catalog from mpc-config (for suggesting add_mcp_server). */
13
+ export declare function listBundledMcpServerTemplates(): SdkResult<z.infer<typeof ListBundledMcpServerTemplatesDataSchema>>;
14
+ /** GET /getMcpServer?id= */
15
+ export declare function getMcpServer(config: NodeSdkConfig, query: z.infer<typeof GetMcpServerQuerySchema>): Promise<SdkResult<AgentMcpServerRow>>;
16
+ export declare function buildAddMcpServer(config: NodeSdkConfig, input: AddMcpServerInput, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
17
+ export declare function addMcpServer(config: NodeSdkConfig, input: AddMcpServerInput, signing?: ManagementSigningMethod): Promise<SdkResult<{
18
+ server: AgentMcpServerRow;
19
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
20
+ signingMessage: string;
21
+ }>>;
22
+ export declare function buildRemoveMcpServer(config: NodeSdkConfig, input: z.infer<typeof RemoveMcpServerInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
23
+ export declare function removeMcpServer(config: NodeSdkConfig, input: z.infer<typeof RemoveMcpServerInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<{
24
+ message: string;
25
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
26
+ signingMessage: string;
27
+ }>>;
28
+ //# sourceMappingURL=mcp-servers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../../src/core/agent/mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAM1D,OAAO,EAGN,uBAAuB,EAEvB,uBAAuB,EACvB,uCAAuC,EACvC,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAE5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAGN,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYlE;AAyHD,4GAA4G;AAC5G,wBAAsB,cAAc,CACnC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CA2BxC;AAED,oFAAoF;AACpF,wBAAgB,6BAA6B,IAAI,SAAS,CACzD,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CACvD,CAQA;AAED,4BAA4B;AAC5B,wBAAsB,YAAY,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,GAC5C,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAoBvC;AAED,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAiBhD;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CACT,SAAS,CAAC;IACT,MAAM,EAAE,iBAAiB,CAAC;IAC1B,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC,CACF,CA+BA;AAED,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,EACjD,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAmBhD;AAED,wBAAsB,eAAe,CACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,EACjD,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,CA8BA"}
@@ -0,0 +1,274 @@
1
+ import { buildManagementQueryPath, managementGet, managementPost, } from '../../api/management-api.js';
2
+ import { AGENT_MCP_API_PATHS, AddMcpServerInputSchema, AgentMcpServerRowSchema, GetMcpServerQuerySchema, ListBundledMcpServerTemplatesDataSchema, ListMcpServersDataSchema, RemoveMcpServerInputSchema, DEFAULT_MANAGEMENT_SIGNING, } from '../../schemas/extended.js';
3
+ import { buildManagementPostRequest, managementSign, toSelectedSigningKey, } from '../management-signer.js';
4
+ import { BUNDLED_MCP_SERVER_TEMPLATES } from './mcp-servers-catalog.js';
5
+ const MCP_SERVER_ID_RE = /^[a-z][a-z0-9_-]*$/;
6
+ export function normalizeAgentMcpServerId(raw) {
7
+ return raw
8
+ .trim()
9
+ .toLowerCase()
10
+ .replace(/[^a-z0-9_-]/g, '-')
11
+ .replace(/^-+/, '')
12
+ .replace(/-+/g, '-');
13
+ }
14
+ export function validateAgentMcpServerId(id) {
15
+ const normalized = normalizeAgentMcpServerId(id);
16
+ if (!normalized) {
17
+ return 'MCP server id is required.';
18
+ }
19
+ if (normalized.length > 64) {
20
+ return 'MCP server id must be at most 64 characters.';
21
+ }
22
+ if (!MCP_SERVER_ID_RE.test(normalized)) {
23
+ return 'MCP server id must start with a-z and use only a-z, 0-9, hyphen, and underscore.';
24
+ }
25
+ return null;
26
+ }
27
+ function parseTransport(raw, command) {
28
+ const t = String(raw ?? '').trim().toLowerCase();
29
+ if (t === 'stdio' || command) {
30
+ return 'stdio';
31
+ }
32
+ return 'http';
33
+ }
34
+ function parseMcpServerRow(raw) {
35
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
36
+ return null;
37
+ }
38
+ const o = raw;
39
+ const id = String(o.id ?? o.Id ?? '').trim();
40
+ if (!id) {
41
+ return null;
42
+ }
43
+ const command = String(o.command ?? o.Command ?? '').trim() || undefined;
44
+ const argsRaw = o.args ?? o.Args;
45
+ const args = Array.isArray(argsRaw)
46
+ ? argsRaw.map(a => String(a).trim()).filter(Boolean)
47
+ : undefined;
48
+ const sourceRaw = String(o.source ?? o.Source ?? 'user').trim().toLowerCase();
49
+ const envVarsRaw = o.envVars ?? o.EnvVars;
50
+ const envVars = Array.isArray(envVarsRaw)
51
+ ? envVarsRaw.map((v) => String(v).trim()).filter(Boolean)
52
+ : undefined;
53
+ const parsed = AgentMcpServerRowSchema.safeParse({
54
+ id,
55
+ displayName: String(o.displayName ?? o.DisplayName ?? id).trim(),
56
+ transport: parseTransport(o.transport ?? o.Transport, command),
57
+ url: String(o.url ?? o.URL ?? '').trim() || undefined,
58
+ command,
59
+ args: args?.length ? args : undefined,
60
+ envVars: envVars?.length ? envVars : undefined,
61
+ useUserFolder: Boolean(o.useUserFolder ?? o.UseUserFolder),
62
+ apiKeyEnvVar: String(o.apiKeyEnvVar ?? o.APIKeyEnvVar ?? '').trim() || undefined,
63
+ apiKeyHeader: String(o.apiKeyHeader ?? o.APIKeyHeader ?? '').trim() || undefined,
64
+ apiKeyPresent: Boolean(o.apiKeyPresent ?? o.APIKeyPresent),
65
+ apiKeyMasked: String(o.apiKeyMasked ?? o.APIKeyMasked ?? '').trim() || undefined,
66
+ envConfigured: Boolean(o.envConfigured ?? o.EnvConfigured),
67
+ initialLoad: Boolean(o.initialLoad ?? o.InitialLoad),
68
+ source: sourceRaw === 'default' ? 'default' : 'user',
69
+ removable: Boolean(o.removable ?? o.Removable),
70
+ updatedAt: String(o.updatedAt ?? o.UpdatedAt ?? '').trim() || undefined,
71
+ });
72
+ return parsed.success ? parsed.data : null;
73
+ }
74
+ function parseMcpServerRows(raw) {
75
+ if (!Array.isArray(raw)) {
76
+ return [];
77
+ }
78
+ const out = [];
79
+ for (const item of raw) {
80
+ const row = parseMcpServerRow(item);
81
+ if (row) {
82
+ out.push(row);
83
+ }
84
+ }
85
+ return out;
86
+ }
87
+ function computeAddableTemplates(configured) {
88
+ const configuredIds = new Set(configured.map(s => s.id));
89
+ return BUNDLED_MCP_SERVER_TEMPLATES.filter(t => !configuredIds.has(t.id)).map(t => ({ ...t }));
90
+ }
91
+ function buildAddMcpServerBodyFields(input) {
92
+ const id = normalizeAgentMcpServerId(input.id);
93
+ const body = {
94
+ id,
95
+ displayName: input.displayName.trim(),
96
+ initialLoad: input.initialLoad ?? false,
97
+ };
98
+ const transport = input.transport ?? (input.command ? 'stdio' : 'http');
99
+ body.transport = transport;
100
+ if (transport === 'stdio') {
101
+ if (input.command?.trim()) {
102
+ body.command = input.command.trim();
103
+ }
104
+ if (input.args?.length) {
105
+ body.args = input.args.map(a => a.trim()).filter(Boolean);
106
+ }
107
+ if (input.envVars?.length) {
108
+ body.envVars = input.envVars.map(v => v.trim()).filter(Boolean);
109
+ }
110
+ if (input.useUserFolder) {
111
+ body.useUserFolder = true;
112
+ }
113
+ if (input.runtime) {
114
+ body.runtime = input.runtime;
115
+ }
116
+ }
117
+ else {
118
+ if (input.url?.trim()) {
119
+ body.url = input.url.trim();
120
+ }
121
+ if (input.apiKeyEnvVar?.trim()) {
122
+ body.apiKeyEnvVar = input.apiKeyEnvVar.trim();
123
+ }
124
+ if (input.apiKeyHeader?.trim()) {
125
+ body.apiKeyHeader = input.apiKeyHeader.trim();
126
+ }
127
+ }
128
+ if (input.apiKey !== undefined && input.apiKey !== '') {
129
+ body.apiKey = input.apiKey;
130
+ }
131
+ return body;
132
+ }
133
+ /** GET /listMcpServers — configured defaults + user servers, plus bundled templates not yet on the node. */
134
+ export async function listMcpServers(config) {
135
+ const result = await managementGet(config, AGENT_MCP_API_PATHS.list);
136
+ if (!result.ok) {
137
+ return result;
138
+ }
139
+ const data = result.data && typeof result.data === 'object' && !Array.isArray(result.data)
140
+ ? result.data
141
+ : {};
142
+ const defaultServers = parseMcpServerRows(data.defaultServers ?? data.DefaultServers);
143
+ const userServers = parseMcpServerRows(data.userServers ?? data.UserServers);
144
+ const servers = parseMcpServerRows(data.servers ?? data.Servers);
145
+ const merged = servers.length > 0 ? servers : [...defaultServers, ...userServers];
146
+ const payload = {
147
+ defaultServers,
148
+ userServers,
149
+ servers: merged,
150
+ addableTemplates: computeAddableTemplates(merged),
151
+ };
152
+ const parsed = ListMcpServersDataSchema.safeParse(payload);
153
+ if (!parsed.success) {
154
+ return { ok: false, reason: 'MCP server list response failed validation.' };
155
+ }
156
+ return { ok: true, data: parsed.data };
157
+ }
158
+ /** Bundled optional MCP catalog from mpc-config (for suggesting add_mcp_server). */
159
+ export function listBundledMcpServerTemplates() {
160
+ const parsed = ListBundledMcpServerTemplatesDataSchema.safeParse({
161
+ templates: BUNDLED_MCP_SERVER_TEMPLATES.map(t => ({ ...t })),
162
+ });
163
+ if (!parsed.success) {
164
+ return { ok: false, reason: 'Bundled MCP template catalog failed validation.' };
165
+ }
166
+ return { ok: true, data: parsed.data };
167
+ }
168
+ /** GET /getMcpServer?id= */
169
+ export async function getMcpServer(config, query) {
170
+ const parsedQuery = GetMcpServerQuerySchema.safeParse(query);
171
+ if (!parsedQuery.success) {
172
+ return { ok: false, reason: 'Invalid MCP server id.' };
173
+ }
174
+ const idErr = validateAgentMcpServerId(parsedQuery.data.id);
175
+ if (idErr) {
176
+ return { ok: false, reason: idErr };
177
+ }
178
+ const id = normalizeAgentMcpServerId(parsedQuery.data.id);
179
+ const path = buildManagementQueryPath(AGENT_MCP_API_PATHS.get, { id });
180
+ const result = await managementGet(config, path);
181
+ if (!result.ok) {
182
+ return result;
183
+ }
184
+ const row = parseMcpServerRow(result.data);
185
+ if (!row) {
186
+ return { ok: false, reason: 'MCP server response failed validation.' };
187
+ }
188
+ return { ok: true, data: row };
189
+ }
190
+ export async function buildAddMcpServer(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
191
+ const parsed = AddMcpServerInputSchema.safeParse(input);
192
+ if (!parsed.success) {
193
+ return { ok: false, reason: 'Invalid add MCP server input.' };
194
+ }
195
+ const idErr = validateAgentMcpServerId(parsed.data.id);
196
+ if (idErr) {
197
+ return { ok: false, reason: idErr };
198
+ }
199
+ return buildManagementPostRequest(config, {
200
+ path: AGENT_MCP_API_PATHS.add,
201
+ buildRequestFields: () => buildAddMcpServerBodyFields(parsed.data),
202
+ }, signing);
203
+ }
204
+ export async function addMcpServer(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
205
+ const built = await buildAddMcpServer(config, input, signing);
206
+ if (!built.ok) {
207
+ return built;
208
+ }
209
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
210
+ if (!signed.ok) {
211
+ return signed;
212
+ }
213
+ const posted = await managementPost(config, built.data.path, signed.data);
214
+ if (!posted.ok) {
215
+ return posted;
216
+ }
217
+ const row = parseMcpServerRow(posted.data);
218
+ if (!row) {
219
+ return { ok: false, reason: 'Add MCP server response failed validation.' };
220
+ }
221
+ return {
222
+ ok: true,
223
+ data: {
224
+ server: row,
225
+ selectedSigningKey: built.data.selectedSigningKey
226
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
227
+ : undefined,
228
+ signingMessage: built.data.canonicalJson,
229
+ },
230
+ };
231
+ }
232
+ export async function buildRemoveMcpServer(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
233
+ const parsed = RemoveMcpServerInputSchema.safeParse(input);
234
+ if (!parsed.success) {
235
+ return { ok: false, reason: 'Invalid remove MCP server input.' };
236
+ }
237
+ const idErr = validateAgentMcpServerId(parsed.data.id);
238
+ if (idErr) {
239
+ return { ok: false, reason: idErr };
240
+ }
241
+ return buildManagementPostRequest(config, {
242
+ path: AGENT_MCP_API_PATHS.remove,
243
+ buildRequestFields: () => ({
244
+ id: normalizeAgentMcpServerId(parsed.data.id),
245
+ }),
246
+ }, signing);
247
+ }
248
+ export async function removeMcpServer(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
249
+ const built = await buildRemoveMcpServer(config, input, signing);
250
+ if (!built.ok) {
251
+ return built;
252
+ }
253
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
254
+ if (!signed.ok) {
255
+ return signed;
256
+ }
257
+ const posted = await managementPost(config, built.data.path, signed.data);
258
+ if (!posted.ok) {
259
+ return posted;
260
+ }
261
+ return {
262
+ ok: true,
263
+ data: {
264
+ message: typeof posted.data === 'string' && posted.data.trim()
265
+ ? posted.data
266
+ : 'MCP server removed',
267
+ selectedSigningKey: built.data.selectedSigningKey
268
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
269
+ : undefined,
270
+ signingMessage: built.data.canonicalJson,
271
+ },
272
+ };
273
+ }
274
+ //# sourceMappingURL=mcp-servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../../../src/core/agent/mcp-servers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { NodeSdkConfig } from '../../config/schema.js';
2
+ import { AgentSkillDetailSchema, AgentSkillFormatSchema, GetSkillQuerySchema, ListSkillsDataSchema, RemoveSkillInputSchema, type AddSkillInput, type ManagementSigningMethod } from '../../schemas/extended.js';
3
+ import type { SdkResult } from '../result.js';
4
+ import { toSelectedSigningKey, type BuiltManagementPostRequest } from '../management-signer.js';
5
+ import { z } from 'zod';
6
+ export type AgentSkillDetail = z.infer<typeof AgentSkillDetailSchema>;
7
+ export type AgentSkillFormat = z.infer<typeof AgentSkillFormatSchema>;
8
+ export declare function normalizeSkillName(raw: string): string;
9
+ export declare function validateSkillName(name: string): string | null;
10
+ /** GET /listSkills — agent skill names only (no file content). */
11
+ export declare function listSkills(config: NodeSdkConfig): Promise<SdkResult<z.infer<typeof ListSkillsDataSchema>>>;
12
+ /** GET /getSkill — one skill file by name. */
13
+ export declare function getSkill(config: NodeSdkConfig, query: z.infer<typeof GetSkillQuerySchema>): Promise<SdkResult<AgentSkillDetail>>;
14
+ export declare function buildAddSkill(config: NodeSdkConfig, input: AddSkillInput, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
15
+ export declare function addSkill(config: NodeSdkConfig, input: AddSkillInput, signing?: ManagementSigningMethod): Promise<SdkResult<{
16
+ skill: AgentSkillDetail;
17
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
18
+ signingMessage: string;
19
+ }>>;
20
+ export declare function buildRemoveSkill(config: NodeSdkConfig, input: z.infer<typeof RemoveSkillInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
21
+ export declare function removeSkill(config: NodeSdkConfig, input: z.infer<typeof RemoveSkillInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<{
22
+ message: string;
23
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
24
+ signingMessage: string;
25
+ }>>;
26
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/core/agent/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAM1D,OAAO,EAGN,sBAAsB,EACtB,sBAAsB,EAEtB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAGN,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAKtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY7D;AAkDD,kEAAkE;AAClE,wBAAsB,UAAU,CAC/B,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAkB1D;AAED,8CAA8C;AAC9C,wBAAsB,QAAQ,CAC7B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GACxC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAoBtC;AAED,wBAAsB,aAAa,CAClC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAqBhD;AAED,wBAAsB,QAAQ,CAC7B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CACT,SAAS,CAAC;IACT,KAAK,EAAE,gBAAgB,CAAC;IACxB,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC,CACF,CA+BA;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,EAC7C,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAmBhD;AAED,wBAAsB,WAAW,CAChC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,EAC7C,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,CA8BA"}