@continuumdao/continuum-node-sdk 1.2.10 → 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.
- package/dist/api/envelope.d.ts.map +1 -1
- package/dist/api/envelope.js +33 -6
- package/dist/api/envelope.js.map +1 -1
- package/dist/core/agent/cron-jobs.d.ts +55 -0
- package/dist/core/agent/cron-jobs.d.ts.map +1 -0
- package/dist/core/agent/cron-jobs.js +575 -0
- package/dist/core/agent/cron-jobs.js.map +1 -0
- package/dist/core/agent/mcp-servers-catalog.d.ts +4 -0
- package/dist/core/agent/mcp-servers-catalog.d.ts.map +1 -0
- package/dist/core/agent/mcp-servers-catalog.js +62 -0
- package/dist/core/agent/mcp-servers-catalog.js.map +1 -0
- package/dist/core/agent/mcp-servers.d.ts +28 -0
- package/dist/core/agent/mcp-servers.d.ts.map +1 -0
- package/dist/core/agent/mcp-servers.js +274 -0
- package/dist/core/agent/mcp-servers.js.map +1 -0
- package/dist/core/agent/skills.d.ts +26 -0
- package/dist/core/agent/skills.d.ts.map +1 -0
- package/dist/core/agent/skills.js +200 -0
- package/dist/core/agent/skills.js.map +1 -0
- package/dist/core/group-request-id.d.ts +9 -0
- package/dist/core/group-request-id.d.ts.map +1 -0
- package/dist/core/group-request-id.js +49 -0
- package/dist/core/group-request-id.js.map +1 -0
- package/dist/core/groups.d.ts.map +1 -1
- package/dist/core/groups.js +10 -10
- package/dist/core/groups.js.map +1 -1
- package/dist/core/keygen-id.d.ts +9 -0
- package/dist/core/keygen-id.d.ts.map +1 -0
- package/dist/core/keygen-id.js +49 -0
- package/dist/core/keygen-id.js.map +1 -0
- package/dist/core/keygen.d.ts +10 -1
- package/dist/core/keygen.d.ts.map +1 -1
- package/dist/core/keygen.js +99 -25
- package/dist/core/keygen.js.map +1 -1
- package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
- package/dist/core/mpc/broadcast-sign-result.js +64 -26
- package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
- package/dist/core/mpc/client.d.ts.map +1 -1
- package/dist/core/mpc/client.js +37 -13
- package/dist/core/mpc/client.js.map +1 -1
- package/dist/core/mpc/gas-options.d.ts +7 -0
- package/dist/core/mpc/gas-options.d.ts.map +1 -0
- package/dist/core/mpc/gas-options.js +122 -0
- package/dist/core/mpc/gas-options.js.map +1 -0
- package/dist/core/mpc/get-sign-result-summary.d.ts +7 -0
- package/dist/core/mpc/get-sign-result-summary.d.ts.map +1 -0
- package/dist/core/mpc/get-sign-result-summary.js +20 -0
- package/dist/core/mpc/get-sign-result-summary.js.map +1 -0
- package/dist/core/mpc/mpa-top-up.d.ts +1 -3
- package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
- package/dist/core/mpc/mpa-top-up.js +10 -3
- package/dist/core/mpc/mpa-top-up.js.map +1 -1
- package/dist/core/mpc/resolve-recipient.d.ts +10 -0
- package/dist/core/mpc/resolve-recipient.d.ts.map +1 -0
- package/dist/core/mpc/resolve-recipient.js +44 -0
- package/dist/core/mpc/resolve-recipient.js.map +1 -0
- package/dist/core/mpc/resolve-transfer-input.d.ts +19 -0
- package/dist/core/mpc/resolve-transfer-input.d.ts.map +1 -0
- package/dist/core/mpc/resolve-transfer-input.js +65 -0
- package/dist/core/mpc/resolve-transfer-input.js.map +1 -0
- package/dist/core/mpc/schemas.d.ts +182 -16
- package/dist/core/mpc/schemas.d.ts.map +1 -1
- package/dist/core/mpc/schemas.js +348 -40
- package/dist/core/mpc/schemas.js.map +1 -1
- package/dist/core/mpc/sign-request-id.d.ts +9 -0
- package/dist/core/mpc/sign-request-id.d.ts.map +1 -0
- package/dist/core/mpc/sign-request-id.js +50 -0
- package/dist/core/mpc/sign-request-id.js.map +1 -0
- package/dist/core/mpc/sign-request-lifecycle.d.ts +24 -12
- package/dist/core/mpc/sign-request-lifecycle.d.ts.map +1 -1
- package/dist/core/mpc/sign-request-lifecycle.js +132 -34
- package/dist/core/mpc/sign-request-lifecycle.js.map +1 -1
- package/dist/core/mpc/sign-request-utils.d.ts +58 -0
- package/dist/core/mpc/sign-request-utils.d.ts.map +1 -1
- package/dist/core/mpc/sign-request-utils.js +361 -1
- package/dist/core/mpc/sign-request-utils.js.map +1 -1
- package/dist/core/mpc/sign-result-summary.d.ts +15 -0
- package/dist/core/mpc/sign-result-summary.d.ts.map +1 -0
- package/dist/core/mpc/sign-result-summary.js +141 -0
- package/dist/core/mpc/sign-result-summary.js.map +1 -0
- package/dist/core/mpc/transfer-native.d.ts.map +1 -1
- package/dist/core/mpc/transfer-native.js +30 -14
- package/dist/core/mpc/transfer-native.js.map +1 -1
- package/dist/core/mpc/transfer-tokens.d.ts.map +1 -1
- package/dist/core/mpc/transfer-tokens.js +36 -7
- package/dist/core/mpc/transfer-tokens.js.map +1 -1
- package/dist/core/mpc/trigger-sign-result.d.ts +1 -1
- package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
- package/dist/core/mpc/trigger-sign-result.js +6 -3
- package/dist/core/mpc/trigger-sign-result.js.map +1 -1
- package/dist/core/registry/networks.d.ts +7 -3
- package/dist/core/registry/networks.d.ts.map +1 -1
- package/dist/core/registry/networks.js +67 -2
- package/dist/core/registry/networks.js.map +1 -1
- package/dist/core/registry/registry-lookup.d.ts +21 -0
- package/dist/core/registry/registry-lookup.d.ts.map +1 -0
- package/dist/core/registry/registry-lookup.js +113 -0
- package/dist/core/registry/registry-lookup.js.map +1 -0
- package/dist/core/registry/tokens.d.ts +7 -0
- package/dist/core/registry/tokens.d.ts.map +1 -1
- package/dist/core/registry/tokens.js +104 -2
- package/dist/core/registry/tokens.js.map +1 -1
- package/dist/core/signing-flow.d.ts +9 -0
- package/dist/core/signing-flow.d.ts.map +1 -0
- package/dist/core/signing-flow.js +139 -0
- package/dist/core/signing-flow.js.map +1 -0
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +2 -3
- package/dist/core/types.js.map +1 -1
- package/dist/data/mpc-keys.d.ts +8 -0
- package/dist/data/mpc-keys.d.ts.map +1 -0
- package/dist/data/mpc-keys.js +38 -0
- package/dist/data/mpc-keys.js.map +1 -0
- package/dist/detops/general.d.ts +11 -0
- package/dist/detops/general.d.ts.map +1 -0
- package/dist/detops/general.js +34 -0
- package/dist/detops/general.js.map +1 -0
- package/dist/detops/group-actions.d.ts +71 -0
- package/dist/detops/group-actions.d.ts.map +1 -0
- package/dist/detops/group-actions.js +360 -0
- package/dist/detops/group-actions.js.map +1 -0
- package/dist/detops/groups.d.ts +33 -0
- package/dist/detops/groups.d.ts.map +1 -0
- package/dist/detops/groups.js +223 -0
- package/dist/detops/groups.js.map +1 -0
- package/dist/detops/keygen.d.ts +72 -0
- package/dist/detops/keygen.d.ts.map +1 -0
- package/dist/detops/keygen.js +245 -0
- package/dist/detops/keygen.js.map +1 -0
- package/dist/detops/management-keys.d.ts +44 -0
- package/dist/detops/management-keys.d.ts.map +1 -0
- package/dist/detops/management-keys.js +216 -0
- package/dist/detops/management-keys.js.map +1 -0
- package/dist/detops/management-signer.d.ts +129 -0
- package/dist/detops/management-signer.d.ts.map +1 -0
- package/dist/detops/management-signer.js +619 -0
- package/dist/detops/management-signer.js.map +1 -0
- package/dist/detops/management-signing.d.ts +11 -0
- package/dist/detops/management-signing.d.ts.map +1 -0
- package/dist/detops/management-signing.js +131 -0
- package/dist/detops/management-signing.js.map +1 -0
- package/dist/detops/mpc/broadcast-sign-result.d.ts +9 -0
- package/dist/detops/mpc/broadcast-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/broadcast-sign-result.js +147 -0
- package/dist/detops/mpc/broadcast-sign-result.js.map +1 -0
- package/dist/detops/mpc/bump-sign-result.d.ts +25 -0
- package/dist/detops/mpc/bump-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/bump-sign-result.js +314 -0
- package/dist/detops/mpc/bump-sign-result.js.map +1 -0
- package/dist/detops/mpc/client.d.ts +15 -0
- package/dist/detops/mpc/client.d.ts.map +1 -0
- package/dist/detops/mpc/client.js +62 -0
- package/dist/detops/mpc/client.js.map +1 -0
- package/dist/detops/mpc/compose-request.d.ts +6 -0
- package/dist/detops/mpc/compose-request.d.ts.map +1 -0
- package/dist/detops/mpc/compose-request.js +33 -0
- package/dist/detops/mpc/compose-request.js.map +1 -0
- package/dist/detops/mpc/context.d.ts +11 -0
- package/dist/detops/mpc/context.d.ts.map +1 -0
- package/dist/detops/mpc/context.js +43 -0
- package/dist/detops/mpc/context.js.map +1 -0
- package/dist/detops/mpc/forge-request.d.ts +6 -0
- package/dist/detops/mpc/forge-request.d.ts.map +1 -0
- package/dist/detops/mpc/forge-request.js +46 -0
- package/dist/detops/mpc/forge-request.js.map +1 -0
- package/dist/detops/mpc/gas-preflight.d.ts +25 -0
- package/dist/detops/mpc/gas-preflight.d.ts.map +1 -0
- package/dist/detops/mpc/gas-preflight.js +101 -0
- package/dist/detops/mpc/gas-preflight.js.map +1 -0
- package/dist/detops/mpc/list-ready.d.ts +10 -0
- package/dist/detops/mpc/list-ready.d.ts.map +1 -0
- package/dist/detops/mpc/list-ready.js +48 -0
- package/dist/detops/mpc/list-ready.js.map +1 -0
- package/dist/detops/mpc/management-post-sig.d.ts +11 -0
- package/dist/detops/mpc/management-post-sig.d.ts.map +1 -0
- package/dist/detops/mpc/management-post-sig.js +20 -0
- package/dist/detops/mpc/management-post-sig.js.map +1 -0
- package/dist/detops/mpc/mpa-top-up.d.ts +18 -0
- package/dist/detops/mpc/mpa-top-up.d.ts.map +1 -0
- package/dist/detops/mpc/mpa-top-up.js +213 -0
- package/dist/detops/mpc/mpa-top-up.js.map +1 -0
- package/dist/detops/mpc/register-keygen.d.ts +6 -0
- package/dist/detops/mpc/register-keygen.d.ts.map +1 -0
- package/dist/detops/mpc/register-keygen.js +41 -0
- package/dist/detops/mpc/register-keygen.js.map +1 -0
- package/dist/detops/mpc/schemas.d.ts +251 -0
- package/dist/detops/mpc/schemas.d.ts.map +1 -0
- package/dist/detops/mpc/schemas.js +163 -0
- package/dist/detops/mpc/schemas.js.map +1 -0
- package/dist/detops/mpc/sign-request-body.d.ts +10 -0
- package/dist/detops/mpc/sign-request-body.d.ts.map +1 -0
- package/dist/detops/mpc/sign-request-body.js +64 -0
- package/dist/detops/mpc/sign-request-body.js.map +1 -0
- package/dist/detops/mpc/sign-request-utils.d.ts +33 -0
- package/dist/detops/mpc/sign-request-utils.d.ts.map +1 -0
- package/dist/detops/mpc/sign-request-utils.js +467 -0
- package/dist/detops/mpc/sign-request-utils.js.map +1 -0
- package/dist/detops/mpc/transfer-native.d.ts +6 -0
- package/dist/detops/mpc/transfer-native.d.ts.map +1 -0
- package/dist/detops/mpc/transfer-native.js +167 -0
- package/dist/detops/mpc/transfer-native.js.map +1 -0
- package/dist/detops/mpc/transfer-tokens.d.ts +15 -0
- package/dist/detops/mpc/transfer-tokens.d.ts.map +1 -0
- package/dist/detops/mpc/transfer-tokens.js +110 -0
- package/dist/detops/mpc/transfer-tokens.js.map +1 -0
- package/dist/detops/mpc/trigger-sign-result.d.ts +8 -0
- package/dist/detops/mpc/trigger-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/trigger-sign-result.js +244 -0
- package/dist/detops/mpc/trigger-sign-result.js.map +1 -0
- package/dist/detops/mpc/types.d.ts +62 -0
- package/dist/detops/mpc/types.d.ts.map +1 -0
- package/dist/detops/mpc/types.js +2 -0
- package/dist/detops/mpc/types.js.map +1 -0
- package/dist/detops/node-info.d.ts +27 -0
- package/dist/detops/node-info.d.ts.map +1 -0
- package/dist/detops/node-info.js +96 -0
- package/dist/detops/node-info.js.map +1 -0
- package/dist/detops/registry/address-book.d.ts +25 -0
- package/dist/detops/registry/address-book.d.ts.map +1 -0
- package/dist/detops/registry/address-book.js +83 -0
- package/dist/detops/registry/address-book.js.map +1 -0
- package/dist/detops/registry/networks.d.ts +20 -0
- package/dist/detops/registry/networks.d.ts.map +1 -0
- package/dist/detops/registry/networks.js +154 -0
- package/dist/detops/registry/networks.js.map +1 -0
- package/dist/detops/registry/tokens.d.ts +29 -0
- package/dist/detops/registry/tokens.d.ts.map +1 -0
- package/dist/detops/registry/tokens.js +142 -0
- package/dist/detops/registry/tokens.js.map +1 -0
- package/dist/detops/result.d.ts +21 -0
- package/dist/detops/result.d.ts.map +1 -0
- package/dist/detops/result.js +2 -0
- package/dist/detops/result.js.map +1 -0
- package/dist/detops/schemas.d.ts +153 -0
- package/dist/detops/schemas.d.ts.map +1 -0
- package/dist/detops/schemas.js +82 -0
- package/dist/detops/schemas.js.map +1 -0
- package/dist/detops/signing-flow.d.ts +9 -0
- package/dist/detops/signing-flow.d.ts.map +1 -0
- package/dist/detops/signing-flow.js +139 -0
- package/dist/detops/signing-flow.js.map +1 -0
- package/dist/detops/types.d.ts +58 -0
- package/dist/detops/types.d.ts.map +1 -0
- package/dist/detops/types.js +46 -0
- package/dist/detops/types.js.map +1 -0
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/agent-cron-schedule-input.d.ts +3 -0
- package/dist/internal/agent-cron-schedule-input.d.ts.map +1 -0
- package/dist/internal/agent-cron-schedule-input.js +84 -0
- package/dist/internal/agent-cron-schedule-input.js.map +1 -0
- package/dist/internal/ed25519/management-signing.d.ts +51 -0
- package/dist/internal/ed25519/management-signing.d.ts.map +1 -0
- package/dist/internal/ed25519/management-signing.js +198 -0
- package/dist/internal/ed25519/management-signing.js.map +1 -0
- package/dist/internal/ed25519/openssh-ed25519.d.ts +20 -0
- package/dist/internal/ed25519/openssh-ed25519.d.ts.map +1 -0
- package/dist/internal/ed25519/openssh-ed25519.js +129 -0
- package/dist/internal/ed25519/openssh-ed25519.js.map +1 -0
- package/dist/internal/management-request-signing.d.ts +32 -0
- package/dist/internal/management-request-signing.d.ts.map +1 -0
- package/dist/internal/management-request-signing.js +186 -0
- package/dist/internal/management-request-signing.js.map +1 -0
- package/dist/mcp/agent-cron-jobs.d.ts +4 -0
- package/dist/mcp/agent-cron-jobs.d.ts.map +1 -0
- package/dist/mcp/agent-cron-jobs.js +80 -0
- package/dist/mcp/agent-cron-jobs.js.map +1 -0
- package/dist/mcp/agent-mcp-servers.d.ts +4 -0
- package/dist/mcp/agent-mcp-servers.d.ts.map +1 -0
- package/dist/mcp/agent-mcp-servers.js +46 -0
- package/dist/mcp/agent-mcp-servers.js.map +1 -0
- package/dist/mcp/agent-skills.d.ts +4 -0
- package/dist/mcp/agent-skills.d.ts.map +1 -0
- package/dist/mcp/agent-skills.js +41 -0
- package/dist/mcp/agent-skills.js.map +1 -0
- package/dist/mcp/defi/input-adapter.d.ts.map +1 -1
- package/dist/mcp/defi/input-adapter.js +9 -3
- package/dist/mcp/defi/input-adapter.js.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.js +3 -0
- package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
- package/dist/mcp/detops/registry/address-book.d.ts +4 -0
- package/dist/mcp/detops/registry/address-book.d.ts.map +1 -0
- package/dist/mcp/detops/registry/address-book.js +39 -0
- package/dist/mcp/detops/registry/address-book.js.map +1 -0
- package/dist/mcp/detops/registry/networks.d.ts +4 -0
- package/dist/mcp/detops/registry/networks.d.ts.map +1 -0
- package/dist/mcp/detops/registry/networks.js +32 -0
- package/dist/mcp/detops/registry/networks.js.map +1 -0
- package/dist/mcp/detops/registry/tokens.d.ts +4 -0
- package/dist/mcp/detops/registry/tokens.d.ts.map +1 -0
- package/dist/mcp/detops/registry/tokens.js +43 -0
- package/dist/mcp/detops/registry/tokens.js.map +1 -0
- package/dist/mcp/ed25519/management-signing.d.ts +51 -0
- package/dist/mcp/ed25519/management-signing.d.ts.map +1 -0
- package/dist/mcp/ed25519/management-signing.js +198 -0
- package/dist/mcp/ed25519/management-signing.js.map +1 -0
- package/dist/mcp/ed25519/openssh-ed25519.d.ts +20 -0
- package/dist/mcp/ed25519/openssh-ed25519.d.ts.map +1 -0
- package/dist/mcp/ed25519/openssh-ed25519.js +129 -0
- package/dist/mcp/ed25519/openssh-ed25519.js.map +1 -0
- package/dist/mcp/group.js +1 -1
- package/dist/mcp/group.js.map +1 -1
- package/dist/mcp/groups.d.ts +71 -0
- package/dist/mcp/groups.d.ts.map +1 -0
- package/dist/mcp/groups.js +360 -0
- package/dist/mcp/groups.js.map +1 -0
- package/dist/mcp/keygen.d.ts.map +1 -1
- package/dist/mcp/keygen.js +19 -2
- package/dist/mcp/keygen.js.map +1 -1
- package/dist/mcp/management-keys.d.ts +4 -0
- package/dist/mcp/management-keys.d.ts.map +1 -0
- package/dist/mcp/management-keys.js +75 -0
- package/dist/mcp/management-keys.js.map +1 -0
- package/dist/mcp/mpc-gas-docs.d.ts +7 -0
- package/dist/mcp/mpc-gas-docs.d.ts.map +1 -0
- package/dist/mcp/mpc-gas-docs.js +7 -0
- package/dist/mcp/mpc-gas-docs.js.map +1 -0
- package/dist/mcp/mpc.d.ts.map +1 -1
- package/dist/mcp/mpc.js +180 -29
- package/dist/mcp/mpc.js.map +1 -1
- package/dist/mcp/normalize.d.ts +15 -0
- package/dist/mcp/normalize.d.ts.map +1 -0
- package/dist/mcp/normalize.js +204 -0
- package/dist/mcp/normalize.js.map +1 -0
- package/dist/mcp/register.d.ts +3 -0
- package/dist/mcp/register.d.ts.map +1 -1
- package/dist/mcp/register.js +12 -0
- package/dist/mcp/register.js.map +1 -1
- package/dist/mcp/registry/address-book.d.ts.map +1 -1
- package/dist/mcp/registry/address-book.js +1 -1
- package/dist/mcp/registry/address-book.js.map +1 -1
- package/dist/mcp/registry/networks.d.ts.map +1 -1
- package/dist/mcp/registry/networks.js +1 -1
- package/dist/mcp/registry/networks.js.map +1 -1
- package/dist/mcp/registry/tokens.d.ts.map +1 -1
- package/dist/mcp/registry/tokens.js +22 -6
- package/dist/mcp/registry/tokens.js.map +1 -1
- package/dist/mcp/schemas.d.ts +360 -0
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +263 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/signing.d.ts +32 -0
- package/dist/mcp/signing.d.ts.map +1 -0
- package/dist/mcp/signing.js +186 -0
- package/dist/mcp/signing.js.map +1 -0
- package/dist/mcp/tool-utils.d.ts +2 -0
- package/dist/mcp/tool-utils.d.ts.map +1 -1
- package/dist/mcp/tool-utils.js +7 -2
- package/dist/mcp/tool-utils.js.map +1 -1
- package/dist/ops/general.d.ts +11 -0
- package/dist/ops/general.d.ts.map +1 -0
- package/dist/ops/general.js +34 -0
- package/dist/ops/general.js.map +1 -0
- package/dist/ops/groups.d.ts +17 -0
- package/dist/ops/groups.d.ts.map +1 -0
- package/dist/ops/groups.js +105 -0
- package/dist/ops/groups.js.map +1 -0
- package/dist/ops/management-signing.d.ts +11 -0
- package/dist/ops/management-signing.d.ts.map +1 -0
- package/dist/ops/management-signing.js +131 -0
- package/dist/ops/management-signing.js.map +1 -0
- package/dist/ops/result.d.ts +21 -0
- package/dist/ops/result.d.ts.map +1 -0
- package/dist/ops/result.js +2 -0
- package/dist/ops/result.js.map +1 -0
- package/dist/ops/schemas.d.ts +153 -0
- package/dist/ops/schemas.d.ts.map +1 -0
- package/dist/ops/schemas.js +82 -0
- package/dist/ops/schemas.js.map +1 -0
- package/dist/ops/signing-flow.d.ts +8 -0
- package/dist/ops/signing-flow.d.ts.map +1 -0
- package/dist/ops/signing-flow.js +125 -0
- package/dist/ops/signing-flow.js.map +1 -0
- package/dist/ops/types.d.ts +58 -0
- package/dist/ops/types.d.ts.map +1 -0
- package/dist/ops/types.js +46 -0
- package/dist/ops/types.js.map +1 -0
- package/dist/registry/address-book.d.ts +25 -0
- package/dist/registry/address-book.d.ts.map +1 -0
- package/dist/registry/address-book.js +103 -0
- package/dist/registry/address-book.js.map +1 -0
- package/dist/registry/networks.d.ts +18 -0
- package/dist/registry/networks.d.ts.map +1 -0
- package/dist/registry/networks.js +180 -0
- package/dist/registry/networks.js.map +1 -0
- package/dist/registry/tokens.d.ts +29 -0
- package/dist/registry/tokens.d.ts.map +1 -0
- package/dist/registry/tokens.js +157 -0
- package/dist/registry/tokens.js.map +1 -0
- package/dist/schemas/extended.d.ts +428 -2
- package/dist/schemas/extended.d.ts.map +1 -1
- package/dist/schemas/extended.js +245 -6
- package/dist/schemas/extended.js.map +1 -1
- package/package.json +1 -1
|
@@ -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"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { buildManagementQueryPath, managementGet, managementPost, } from '../../api/management-api.js';
|
|
2
|
+
import { AGENT_SKILLS_API_PATHS, AddSkillInputSchema, AgentSkillDetailSchema, DEFAULT_MANAGEMENT_SIGNING, GetSkillQuerySchema, ListSkillsDataSchema, RemoveSkillInputSchema, } from '../../schemas/extended.js';
|
|
3
|
+
import { buildManagementPostRequest, managementSign, toSelectedSigningKey, } from '../management-signer.js';
|
|
4
|
+
const SKILL_NAME_RE = /^[a-z][a-z0-9_-]*$/;
|
|
5
|
+
const SKILL_MAX_CONTENT_BYTES = 512_000;
|
|
6
|
+
export function normalizeSkillName(raw) {
|
|
7
|
+
return raw
|
|
8
|
+
.trim()
|
|
9
|
+
.toLowerCase()
|
|
10
|
+
.replace(/[^a-z0-9_-]/g, '-')
|
|
11
|
+
.replace(/^-+/, '')
|
|
12
|
+
.replace(/-+/g, '-');
|
|
13
|
+
}
|
|
14
|
+
export function validateSkillName(name) {
|
|
15
|
+
const normalized = normalizeSkillName(name);
|
|
16
|
+
if (!normalized) {
|
|
17
|
+
return 'Skill name is required.';
|
|
18
|
+
}
|
|
19
|
+
if (normalized.length > 64) {
|
|
20
|
+
return 'Skill name must be at most 64 characters.';
|
|
21
|
+
}
|
|
22
|
+
if (!SKILL_NAME_RE.test(normalized)) {
|
|
23
|
+
return 'Skill name must start with a-z and use only a-z, 0-9, hyphen, and underscore.';
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
function normalizeSkillFormat(raw) {
|
|
28
|
+
const format = String(raw ?? 'md')
|
|
29
|
+
.trim()
|
|
30
|
+
.toLowerCase();
|
|
31
|
+
if (format === 'txt' || format === 'text') {
|
|
32
|
+
return 'txt';
|
|
33
|
+
}
|
|
34
|
+
return 'md';
|
|
35
|
+
}
|
|
36
|
+
function validateSkillContent(content) {
|
|
37
|
+
if (!content.trim()) {
|
|
38
|
+
return 'Skill content is required.';
|
|
39
|
+
}
|
|
40
|
+
const bytes = new TextEncoder().encode(content).length;
|
|
41
|
+
if (bytes > SKILL_MAX_CONTENT_BYTES) {
|
|
42
|
+
return `Skill content exceeds maximum size (${SKILL_MAX_CONTENT_BYTES} bytes).`;
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
function parseSkillDetail(raw) {
|
|
47
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const o = raw;
|
|
51
|
+
const parsed = AgentSkillDetailSchema.safeParse({
|
|
52
|
+
name: String(o.name ?? o.Name ?? '').trim(),
|
|
53
|
+
content: String(o.content ?? o.Content ?? ''),
|
|
54
|
+
initialLoad: Boolean(o.initialLoad ?? o.InitialLoad),
|
|
55
|
+
format: normalizeSkillFormat(o.format ?? o.Format),
|
|
56
|
+
updatedAt: String(o.updatedAt ?? o.UpdatedAt ?? '').trim() || undefined,
|
|
57
|
+
});
|
|
58
|
+
return parsed.success && parsed.data.name ? parsed.data : null;
|
|
59
|
+
}
|
|
60
|
+
function buildAddSkillBodyFields(input) {
|
|
61
|
+
const fields = {
|
|
62
|
+
name: normalizeSkillName(input.name),
|
|
63
|
+
content: input.content,
|
|
64
|
+
initialLoad: input.initialLoad,
|
|
65
|
+
};
|
|
66
|
+
if (input.format != null) {
|
|
67
|
+
fields.format = input.format;
|
|
68
|
+
}
|
|
69
|
+
return fields;
|
|
70
|
+
}
|
|
71
|
+
/** GET /listSkills — agent skill names only (no file content). */
|
|
72
|
+
export async function listSkills(config) {
|
|
73
|
+
const result = await managementGet(config, AGENT_SKILLS_API_PATHS.list);
|
|
74
|
+
if (!result.ok) {
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
const data = result.data && typeof result.data === 'object' && !Array.isArray(result.data)
|
|
78
|
+
? result.data
|
|
79
|
+
: {};
|
|
80
|
+
const namesRaw = data.names ?? data.Names;
|
|
81
|
+
const names = Array.isArray(namesRaw)
|
|
82
|
+
? namesRaw.map(n => String(n).trim()).filter(Boolean)
|
|
83
|
+
: [];
|
|
84
|
+
const parsed = ListSkillsDataSchema.safeParse({ names });
|
|
85
|
+
if (!parsed.success) {
|
|
86
|
+
return { ok: false, reason: 'Skill list response failed validation.' };
|
|
87
|
+
}
|
|
88
|
+
return { ok: true, data: parsed.data };
|
|
89
|
+
}
|
|
90
|
+
/** GET /getSkill — one skill file by name. */
|
|
91
|
+
export async function getSkill(config, query) {
|
|
92
|
+
const parsedQuery = GetSkillQuerySchema.safeParse(query);
|
|
93
|
+
if (!parsedQuery.success) {
|
|
94
|
+
return { ok: false, reason: 'Invalid skill name.' };
|
|
95
|
+
}
|
|
96
|
+
const nameErr = validateSkillName(parsedQuery.data.name);
|
|
97
|
+
if (nameErr) {
|
|
98
|
+
return { ok: false, reason: nameErr };
|
|
99
|
+
}
|
|
100
|
+
const name = normalizeSkillName(parsedQuery.data.name);
|
|
101
|
+
const path = buildManagementQueryPath(AGENT_SKILLS_API_PATHS.get, { name });
|
|
102
|
+
const result = await managementGet(config, path);
|
|
103
|
+
if (!result.ok) {
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
const skill = parseSkillDetail(result.data);
|
|
107
|
+
if (!skill) {
|
|
108
|
+
return { ok: false, reason: 'Skill response failed validation.' };
|
|
109
|
+
}
|
|
110
|
+
return { ok: true, data: skill };
|
|
111
|
+
}
|
|
112
|
+
export async function buildAddSkill(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
|
|
113
|
+
const parsed = AddSkillInputSchema.safeParse(input);
|
|
114
|
+
if (!parsed.success) {
|
|
115
|
+
return { ok: false, reason: 'Invalid add skill input.' };
|
|
116
|
+
}
|
|
117
|
+
const nameErr = validateSkillName(parsed.data.name);
|
|
118
|
+
if (nameErr) {
|
|
119
|
+
return { ok: false, reason: nameErr };
|
|
120
|
+
}
|
|
121
|
+
const contentErr = validateSkillContent(parsed.data.content);
|
|
122
|
+
if (contentErr) {
|
|
123
|
+
return { ok: false, reason: contentErr };
|
|
124
|
+
}
|
|
125
|
+
return buildManagementPostRequest(config, {
|
|
126
|
+
path: AGENT_SKILLS_API_PATHS.add,
|
|
127
|
+
buildRequestFields: () => buildAddSkillBodyFields(parsed.data),
|
|
128
|
+
}, signing);
|
|
129
|
+
}
|
|
130
|
+
export async function addSkill(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
|
|
131
|
+
const built = await buildAddSkill(config, input, signing);
|
|
132
|
+
if (!built.ok) {
|
|
133
|
+
return built;
|
|
134
|
+
}
|
|
135
|
+
const signed = await managementSign(config, signing, built.data.unsignedBody);
|
|
136
|
+
if (!signed.ok) {
|
|
137
|
+
return signed;
|
|
138
|
+
}
|
|
139
|
+
const posted = await managementPost(config, built.data.path, signed.data);
|
|
140
|
+
if (!posted.ok) {
|
|
141
|
+
return posted;
|
|
142
|
+
}
|
|
143
|
+
const skill = parseSkillDetail(posted.data);
|
|
144
|
+
if (!skill) {
|
|
145
|
+
return { ok: false, reason: 'Add skill response failed validation.' };
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
ok: true,
|
|
149
|
+
data: {
|
|
150
|
+
skill,
|
|
151
|
+
selectedSigningKey: built.data.selectedSigningKey
|
|
152
|
+
? toSelectedSigningKey(built.data.selectedSigningKey)
|
|
153
|
+
: undefined,
|
|
154
|
+
signingMessage: built.data.canonicalJson,
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
export async function buildRemoveSkill(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
|
|
159
|
+
const parsed = RemoveSkillInputSchema.safeParse(input);
|
|
160
|
+
if (!parsed.success) {
|
|
161
|
+
return { ok: false, reason: 'Invalid remove skill input.' };
|
|
162
|
+
}
|
|
163
|
+
const nameErr = validateSkillName(parsed.data.name);
|
|
164
|
+
if (nameErr) {
|
|
165
|
+
return { ok: false, reason: nameErr };
|
|
166
|
+
}
|
|
167
|
+
return buildManagementPostRequest(config, {
|
|
168
|
+
path: AGENT_SKILLS_API_PATHS.remove,
|
|
169
|
+
buildRequestFields: () => ({
|
|
170
|
+
name: normalizeSkillName(parsed.data.name),
|
|
171
|
+
}),
|
|
172
|
+
}, signing);
|
|
173
|
+
}
|
|
174
|
+
export async function removeSkill(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
|
|
175
|
+
const built = await buildRemoveSkill(config, input, signing);
|
|
176
|
+
if (!built.ok) {
|
|
177
|
+
return built;
|
|
178
|
+
}
|
|
179
|
+
const signed = await managementSign(config, signing, built.data.unsignedBody);
|
|
180
|
+
if (!signed.ok) {
|
|
181
|
+
return signed;
|
|
182
|
+
}
|
|
183
|
+
const posted = await managementPost(config, built.data.path, signed.data);
|
|
184
|
+
if (!posted.ok) {
|
|
185
|
+
return posted;
|
|
186
|
+
}
|
|
187
|
+
return {
|
|
188
|
+
ok: true,
|
|
189
|
+
data: {
|
|
190
|
+
message: typeof posted.data === 'string' && posted.data.trim()
|
|
191
|
+
? posted.data
|
|
192
|
+
: 'Skill removed',
|
|
193
|
+
selectedSigningKey: built.data.selectedSigningKey
|
|
194
|
+
? toSelectedSigningKey(built.data.selectedSigningKey)
|
|
195
|
+
: undefined,
|
|
196
|
+
signingMessage: built.data.canonicalJson,
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/core/agent/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { SdkResult } from './result.js';
|
|
3
|
+
export declare function normalizeGroupRequestId(raw: string): SdkResult<string>;
|
|
4
|
+
/** JSON Schema–compatible validation (no Zod transform) for MCP tool schemas. */
|
|
5
|
+
export declare const GroupRequestIdSchema: z.ZodString;
|
|
6
|
+
export declare const GroupRequestIdOptionalSchema: z.ZodOptional<z.ZodString>;
|
|
7
|
+
export declare function parseGroupRequestId(raw: unknown): SdkResult<string>;
|
|
8
|
+
export declare function clarifyGroupRequestLookupError(reason: string): string;
|
|
9
|
+
//# sourceMappingURL=group-request-id.d.ts.map
|