@manifest-network/manifest-mcp-fred 0.12.0 → 0.13.0
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/index.d.ts +2 -18
- package/dist/index.js +3 -55
- package/dist/server/index.d.ts +18 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +54 -0
- package/dist/server/index.js.map +1 -0
- package/dist/tools/deployManifest.js +1 -1
- package/dist/tools/updateApp.js +1 -1
- package/package.json +7 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -14,21 +14,5 @@ import { resolveProviderUrl } from "./tools/resolveLeaseProvider.js";
|
|
|
14
14
|
import { restartApp } from "./tools/restartApp.js";
|
|
15
15
|
import { updateApp } from "./tools/updateApp.js";
|
|
16
16
|
import { WaitForAppReadyOptions, WaitForAppReadyResult, waitForAppReady } from "./tools/waitForAppReady.js";
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
//#region src/index.d.ts
|
|
21
|
-
declare class FredMCPServer {
|
|
22
|
-
private mcpServer;
|
|
23
|
-
private clientManager;
|
|
24
|
-
private walletProvider;
|
|
25
|
-
private authTokens;
|
|
26
|
-
constructor(options: ManifestMCPServerOptions$1);
|
|
27
|
-
getServer(): Server;
|
|
28
|
-
getClientManager(): CosmosClientManager;
|
|
29
|
-
disconnect(): void;
|
|
30
|
-
}
|
|
31
|
-
declare function createMnemonicFredServer(config: MnemonicServerConfig): Promise<FredMCPServer>;
|
|
32
|
-
//#endregion
|
|
33
|
-
export { AuthTimestampTracker, type AuthTokenPayload, type BuildManifestOptions, type BuildManifestPreviewInput, type BuildManifestPreviewResult, type CheckDeploymentReadinessInput, type CheckDeploymentReadinessResult, type ConnectionDetails, type DeployAppInput, type DeployAppResult, type DeployManifestInput, type DeployManifestOptions, type FredActionResponse, type FredInstanceInfo, type FredLeaseInfo, type FredLeaseLogs, type FredLeaseProvision, type FredLeaseRelease, type FredLeaseReleases, type FredLeaseStatus, FredMCPServer, type FredServiceStatus, INFRASTRUCTURE_ERROR_CODES, type InstanceInfo, type LeaseConnectionResponse, MAX_TAIL, type ManifestFormat, ManifestMCPError, ManifestMCPErrorCode, type ManifestMCPServerOptions, type ManifestPreviewServiceInput, type ManifestValidationResult, type PollOptions, ProviderApiError, type ProviderHealthResponse, type ServiceConfig, type ServiceConnectionDetails, type SkuSelector, type SkuSummary, type TerminalChainLeaseState, type TerminalChainState, type TerminalChainStateContext, TerminalChainStateError, type WaitForAppReadyOptions, type WaitForAppReadyResult, appStatus, browseCatalog, buildManifest, buildManifestPreview, buildStackManifest, checkDeploymentReadiness, checkedFetch, createAuthToken, createLeaseDataSignMessage, createMnemonicFredServer, createSignMessage, deployApp, deployManifest, deriveAppNameFromImage, fetchActiveLease, getAppLogs, getLeaseConnectionInfo, getLeaseInfo, getLeaseLogs, getLeaseProvision, getLeaseReleases, getLeaseStatus, getProviderHealth, getServiceNames, isStackManifest, mapWithConcurrency, mergeManifest, metaHashHex, normalizePorts, parseStackManifest, pollLeaseUntilReady, resolveProviderUrl, restartApp, restartLease, updateApp, updateLease, uploadLeaseData, validateManifest, validateProviderUrl, validateServiceName, waitForAppReady };
|
|
34
|
-
//# sourceMappingURL=index.d.ts.map
|
|
17
|
+
import { INFRASTRUCTURE_ERROR_CODES, ManifestMCPError, ManifestMCPErrorCode, ManifestMCPServerOptions } from "@manifest-network/manifest-mcp-core";
|
|
18
|
+
export { AuthTimestampTracker, type AuthTokenPayload, type BuildManifestOptions, type BuildManifestPreviewInput, type BuildManifestPreviewResult, type CheckDeploymentReadinessInput, type CheckDeploymentReadinessResult, type ConnectionDetails, type DeployAppInput, type DeployAppResult, type DeployManifestInput, type DeployManifestOptions, type FredActionResponse, type FredInstanceInfo, type FredLeaseInfo, type FredLeaseLogs, type FredLeaseProvision, type FredLeaseRelease, type FredLeaseReleases, type FredLeaseStatus, type FredServiceStatus, INFRASTRUCTURE_ERROR_CODES, type InstanceInfo, type LeaseConnectionResponse, MAX_TAIL, type ManifestFormat, ManifestMCPError, ManifestMCPErrorCode, type ManifestMCPServerOptions, type ManifestPreviewServiceInput, type ManifestValidationResult, type PollOptions, ProviderApiError, type ProviderHealthResponse, type ServiceConfig, type ServiceConnectionDetails, type SkuSelector, type SkuSummary, type TerminalChainLeaseState, type TerminalChainState, type TerminalChainStateContext, TerminalChainStateError, type WaitForAppReadyOptions, type WaitForAppReadyResult, appStatus, browseCatalog, buildManifest, buildManifestPreview, buildStackManifest, checkDeploymentReadiness, checkedFetch, createAuthToken, createLeaseDataSignMessage, createSignMessage, deployApp, deployManifest, deriveAppNameFromImage, fetchActiveLease, getAppLogs, getLeaseConnectionInfo, getLeaseInfo, getLeaseLogs, getLeaseProvision, getLeaseReleases, getLeaseStatus, getProviderHealth, getServiceNames, isStackManifest, mapWithConcurrency, mergeManifest, metaHashHex, normalizePorts, parseStackManifest, pollLeaseUntilReady, resolveProviderUrl, restartApp, restartLease, updateApp, updateLease, uploadLeaseData, validateManifest, validateProviderUrl, validateServiceName, waitForAppReady };
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { AuthTimestampTracker, createAuthToken, createLeaseDataSignMessage, createSignMessage } from "./http/auth.js";
|
|
2
|
-
import { AuthTokenService } from "./http/auth-token-service.js";
|
|
3
|
-
import { resolveGuardedFetch } from "./server/fetch-gate.js";
|
|
4
|
-
import { registerPrompts } from "./server/register-prompts.js";
|
|
5
|
-
import { registerResources } from "./server/register-resources.js";
|
|
6
2
|
import { ProviderApiError, checkedFetch, getLeaseConnectionInfo, getProviderHealth, uploadLeaseData, validateProviderUrl } from "./http/provider.js";
|
|
7
3
|
import { MAX_TAIL, TerminalChainStateError, getLeaseInfo, getLeaseLogs, getLeaseProvision, getLeaseReleases, getLeaseStatus, pollLeaseUntilReady, restartLease, updateLease } from "./http/fred.js";
|
|
4
|
+
import { buildManifest, buildStackManifest, deriveAppNameFromImage, getServiceNames, isStackManifest, mergeManifest, metaHashHex, normalizePorts, parseStackManifest, validateManifest, validateServiceName } from "./manifest.js";
|
|
8
5
|
import { resolveProviderUrl } from "./tools/resolveLeaseProvider.js";
|
|
9
6
|
import { appStatus } from "./tools/appStatus.js";
|
|
10
7
|
import { browseCatalog, mapWithConcurrency } from "./tools/browseCatalog.js";
|
|
11
|
-
import { buildManifest, buildStackManifest, deriveAppNameFromImage, getServiceNames, isStackManifest, mergeManifest, metaHashHex, normalizePorts, parseStackManifest, validateManifest, validateServiceName } from "./manifest.js";
|
|
12
8
|
import { buildManifestPreview } from "./tools/buildManifestPreview.js";
|
|
13
9
|
import { checkDeploymentReadiness } from "./tools/checkDeploymentReadiness.js";
|
|
14
10
|
import { deployManifest } from "./tools/deployManifest.js";
|
|
@@ -18,53 +14,5 @@ import { getAppLogs } from "./tools/getLogs.js";
|
|
|
18
14
|
import { restartApp } from "./tools/restartApp.js";
|
|
19
15
|
import { updateApp } from "./tools/updateApp.js";
|
|
20
16
|
import { waitForAppReady } from "./tools/waitForAppReady.js";
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
24
|
-
//#region src/index.ts
|
|
25
|
-
var FredMCPServer = class {
|
|
26
|
-
constructor(options) {
|
|
27
|
-
const config = createValidatedConfig(options.config);
|
|
28
|
-
this.walletProvider = options.walletProvider;
|
|
29
|
-
this.clientManager = CosmosClientManager.getInstance(config, this.walletProvider);
|
|
30
|
-
this.authTokens = new AuthTokenService(this.walletProvider);
|
|
31
|
-
this.mcpServer = new McpServer({
|
|
32
|
-
name: "@manifest-network/manifest-mcp-fred",
|
|
33
|
-
version: VERSION
|
|
34
|
-
}, { capabilities: {
|
|
35
|
-
tools: {},
|
|
36
|
-
resources: {},
|
|
37
|
-
prompts: {}
|
|
38
|
-
} });
|
|
39
|
-
const fetchFn = resolveGuardedFetch(typeof process !== "undefined" ? process.env.MANIFEST_FRED_FETCH_GUARDED : void 0, typeof process !== "undefined" && !!process.versions?.node);
|
|
40
|
-
registerTools({
|
|
41
|
-
mcpServer: this.mcpServer,
|
|
42
|
-
clientManager: this.clientManager,
|
|
43
|
-
walletProvider: this.walletProvider,
|
|
44
|
-
authTokens: this.authTokens,
|
|
45
|
-
fetchFn
|
|
46
|
-
});
|
|
47
|
-
registerResources({
|
|
48
|
-
mcpServer: this.mcpServer,
|
|
49
|
-
clientManager: this.clientManager,
|
|
50
|
-
walletProvider: this.walletProvider
|
|
51
|
-
});
|
|
52
|
-
registerPrompts(this.mcpServer);
|
|
53
|
-
}
|
|
54
|
-
getServer() {
|
|
55
|
-
return this.mcpServer.server;
|
|
56
|
-
}
|
|
57
|
-
getClientManager() {
|
|
58
|
-
return this.clientManager;
|
|
59
|
-
}
|
|
60
|
-
disconnect() {
|
|
61
|
-
this.clientManager.disconnect();
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
function createMnemonicFredServer(config) {
|
|
65
|
-
return createMnemonicServer(config, FredMCPServer);
|
|
66
|
-
}
|
|
67
|
-
//#endregion
|
|
68
|
-
export { AuthTimestampTracker, FredMCPServer, INFRASTRUCTURE_ERROR_CODES, MAX_TAIL, ManifestMCPError, ManifestMCPErrorCode, ProviderApiError, TerminalChainStateError, appStatus, browseCatalog, buildManifest, buildManifestPreview, buildStackManifest, checkDeploymentReadiness, checkedFetch, createAuthToken, createLeaseDataSignMessage, createMnemonicFredServer, createSignMessage, deployApp, deployManifest, deriveAppNameFromImage, fetchActiveLease, getAppLogs, getLeaseConnectionInfo, getLeaseInfo, getLeaseLogs, getLeaseProvision, getLeaseReleases, getLeaseStatus, getProviderHealth, getServiceNames, isStackManifest, mapWithConcurrency, mergeManifest, metaHashHex, normalizePorts, parseStackManifest, pollLeaseUntilReady, resolveProviderUrl, restartApp, restartLease, updateApp, updateLease, uploadLeaseData, validateManifest, validateProviderUrl, validateServiceName, waitForAppReady };
|
|
69
|
-
|
|
70
|
-
//# sourceMappingURL=index.js.map
|
|
17
|
+
import { INFRASTRUCTURE_ERROR_CODES, ManifestMCPError, ManifestMCPErrorCode } from "@manifest-network/manifest-mcp-core";
|
|
18
|
+
export { AuthTimestampTracker, INFRASTRUCTURE_ERROR_CODES, MAX_TAIL, ManifestMCPError, ManifestMCPErrorCode, ProviderApiError, TerminalChainStateError, appStatus, browseCatalog, buildManifest, buildManifestPreview, buildStackManifest, checkDeploymentReadiness, checkedFetch, createAuthToken, createLeaseDataSignMessage, createSignMessage, deployApp, deployManifest, deriveAppNameFromImage, fetchActiveLease, getAppLogs, getLeaseConnectionInfo, getLeaseInfo, getLeaseLogs, getLeaseProvision, getLeaseReleases, getLeaseStatus, getProviderHealth, getServiceNames, isStackManifest, mapWithConcurrency, mergeManifest, metaHashHex, normalizePorts, parseStackManifest, pollLeaseUntilReady, resolveProviderUrl, restartApp, restartLease, updateApp, updateLease, uploadLeaseData, validateManifest, validateProviderUrl, validateServiceName, waitForAppReady };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CosmosClientManager, ManifestMCPServerOptions, ManifestMCPServerOptions as ManifestMCPServerOptions$1, MnemonicServerConfig } from "@manifest-network/manifest-mcp-core";
|
|
2
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/server/index.d.ts
|
|
5
|
+
declare class FredMCPServer {
|
|
6
|
+
private mcpServer;
|
|
7
|
+
private clientManager;
|
|
8
|
+
private walletProvider;
|
|
9
|
+
private authTokens;
|
|
10
|
+
constructor(options: ManifestMCPServerOptions$1);
|
|
11
|
+
getServer(): Server;
|
|
12
|
+
getClientManager(): CosmosClientManager;
|
|
13
|
+
disconnect(): void;
|
|
14
|
+
}
|
|
15
|
+
declare function createMnemonicFredServer(config: MnemonicServerConfig): Promise<FredMCPServer>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { FredMCPServer, type ManifestMCPServerOptions, createMnemonicFredServer };
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/server/index.ts"],"mappings":";;;;cAyBa,aAAA;EAAA,QACH,SAAA;EAAA,QACA,aAAA;EAAA,QACA,cAAA;EAAA,QACA,UAAA;cAEI,OAAA,EAAS,0BAAA;EAiDrB,SAAA,IAAa,MAAA;EAIb,gBAAA,IAAoB,mBAAA;EAIpB,UAAA;AAAA;AAAA,iBAKc,wBAAA,CACd,MAAA,EAAQ,oBAAA,GACP,OAAA,CAAQ,aAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { AuthTokenService } from "../http/auth-token-service.js";
|
|
2
|
+
import { resolveGuardedFetch } from "./fetch-gate.js";
|
|
3
|
+
import { registerPrompts } from "./register-prompts.js";
|
|
4
|
+
import { registerResources } from "./register-resources.js";
|
|
5
|
+
import { registerTools } from "./register-tools.js";
|
|
6
|
+
import { CosmosClientManager, VERSION, createMnemonicServer, createValidatedConfig } from "@manifest-network/manifest-mcp-core";
|
|
7
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
8
|
+
//#region src/server/index.ts
|
|
9
|
+
var FredMCPServer = class {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
const config = createValidatedConfig(options.config);
|
|
12
|
+
this.walletProvider = options.walletProvider;
|
|
13
|
+
this.clientManager = CosmosClientManager.getInstance(config, this.walletProvider);
|
|
14
|
+
this.authTokens = new AuthTokenService(this.walletProvider);
|
|
15
|
+
this.mcpServer = new McpServer({
|
|
16
|
+
name: "@manifest-network/manifest-mcp-fred",
|
|
17
|
+
version: VERSION
|
|
18
|
+
}, { capabilities: {
|
|
19
|
+
tools: {},
|
|
20
|
+
resources: {},
|
|
21
|
+
prompts: {}
|
|
22
|
+
} });
|
|
23
|
+
const fetchFn = resolveGuardedFetch(typeof process !== "undefined" ? process.env.MANIFEST_FRED_FETCH_GUARDED : void 0, typeof process !== "undefined" && !!process.versions?.node);
|
|
24
|
+
registerTools({
|
|
25
|
+
mcpServer: this.mcpServer,
|
|
26
|
+
clientManager: this.clientManager,
|
|
27
|
+
walletProvider: this.walletProvider,
|
|
28
|
+
authTokens: this.authTokens,
|
|
29
|
+
fetchFn
|
|
30
|
+
});
|
|
31
|
+
registerResources({
|
|
32
|
+
mcpServer: this.mcpServer,
|
|
33
|
+
clientManager: this.clientManager,
|
|
34
|
+
walletProvider: this.walletProvider
|
|
35
|
+
});
|
|
36
|
+
registerPrompts(this.mcpServer);
|
|
37
|
+
}
|
|
38
|
+
getServer() {
|
|
39
|
+
return this.mcpServer.server;
|
|
40
|
+
}
|
|
41
|
+
getClientManager() {
|
|
42
|
+
return this.clientManager;
|
|
43
|
+
}
|
|
44
|
+
disconnect() {
|
|
45
|
+
this.clientManager.disconnect();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
function createMnemonicFredServer(config) {
|
|
49
|
+
return createMnemonicServer(config, FredMCPServer);
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { FredMCPServer, createMnemonicFredServer };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/server/index.ts"],"sourcesContent":["// MCP-server entry for fred, exported at the Node-only\n// `@manifest-network/manifest-mcp-fred/server` subpath. Kept OUT of the main\n// barrel (`../index.ts`) so browser consumers of fred's capability functions\n// (`deployManifest`, `restartApp`, …) don't drag in the MCP server machinery\n// (`McpServer`, `register-*`, the SSRF `fetch-gate` → core's Node-only\n// `/guarded-fetch`). Same barrel-hygiene split ENG-281 applied to core. (ENG-287)\nimport type { WalletProvider } from '@manifest-network/manifest-mcp-core';\nimport {\n CosmosClientManager,\n createMnemonicServer,\n createValidatedConfig,\n type ManifestMCPServerOptions,\n type MnemonicServerConfig,\n VERSION,\n} from '@manifest-network/manifest-mcp-core';\nimport type { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { AuthTokenService } from '../http/auth-token-service.js';\nimport { resolveGuardedFetch } from './fetch-gate.js';\nimport { registerPrompts } from './register-prompts.js';\nimport { registerResources } from './register-resources.js';\nimport { registerTools } from './register-tools.js';\n\nexport type { ManifestMCPServerOptions } from '@manifest-network/manifest-mcp-core';\n\nexport class FredMCPServer {\n private mcpServer: McpServer;\n private clientManager: CosmosClientManager;\n private walletProvider: WalletProvider;\n private authTokens: AuthTokenService;\n\n constructor(options: ManifestMCPServerOptions) {\n const config = createValidatedConfig(options.config);\n this.walletProvider = options.walletProvider;\n this.clientManager = CosmosClientManager.getInstance(\n config,\n this.walletProvider,\n );\n this.authTokens = new AuthTokenService(this.walletProvider);\n\n this.mcpServer = new McpServer(\n {\n name: '@manifest-network/manifest-mcp-fred',\n version: VERSION,\n },\n {\n capabilities: {\n tools: {},\n resources: {},\n prompts: {},\n },\n },\n );\n\n // SSRF guard (ENG-268). Fred fetches provider/Fred APIs at URLs sourced\n // from on-chain SKU records, so a malicious provider could point them at\n // an internal host. Route all outbound HTTP through an SSRF-guarded fetch\n // by default; operators opt out with MANIFEST_FRED_FETCH_GUARDED=0.\n const fetchFn = resolveGuardedFetch(\n typeof process !== 'undefined'\n ? process.env.MANIFEST_FRED_FETCH_GUARDED\n : undefined,\n typeof process !== 'undefined' && !!process.versions?.node,\n );\n\n registerTools({\n mcpServer: this.mcpServer,\n clientManager: this.clientManager,\n walletProvider: this.walletProvider,\n authTokens: this.authTokens,\n fetchFn,\n });\n registerResources({\n mcpServer: this.mcpServer,\n clientManager: this.clientManager,\n walletProvider: this.walletProvider,\n });\n registerPrompts(this.mcpServer);\n }\n\n getServer(): Server {\n return this.mcpServer.server;\n }\n\n getClientManager(): CosmosClientManager {\n return this.clientManager;\n }\n\n disconnect(): void {\n this.clientManager.disconnect();\n }\n}\n\nexport function createMnemonicFredServer(\n config: MnemonicServerConfig,\n): Promise<FredMCPServer> {\n return createMnemonicServer(config, FredMCPServer);\n}\n"],"mappings":";;;;;;;;AAyBA,IAAa,gBAAb,MAA2B;CAMzB,YAAY,SAAmC;EAC7C,MAAM,SAAS,sBAAsB,QAAQ,MAAM;EACnD,KAAK,iBAAiB,QAAQ;EAC9B,KAAK,gBAAgB,oBAAoB,YACvC,QACA,KAAK,cACP;EACA,KAAK,aAAa,IAAI,iBAAiB,KAAK,cAAc;EAE1D,KAAK,YAAY,IAAI,UACnB;GACE,MAAM;GACN,SAAS;EACX,GACA,EACE,cAAc;GACZ,OAAO,CAAC;GACR,WAAW,CAAC;GACZ,SAAS,CAAC;EACZ,EACF,CACF;EAMA,MAAM,UAAU,oBACd,OAAO,YAAY,cACf,QAAQ,IAAI,8BACZ,KAAA,GACJ,OAAO,YAAY,eAAe,CAAC,CAAC,QAAQ,UAAU,IACxD;EAEA,cAAc;GACZ,WAAW,KAAK;GAChB,eAAe,KAAK;GACpB,gBAAgB,KAAK;GACrB,YAAY,KAAK;GACjB;EACF,CAAC;EACD,kBAAkB;GAChB,WAAW,KAAK;GAChB,eAAe,KAAK;GACpB,gBAAgB,KAAK;EACvB,CAAC;EACD,gBAAgB,KAAK,SAAS;CAChC;CAEA,YAAoB;EAClB,OAAO,KAAK,UAAU;CACxB;CAEA,mBAAwC;EACtC,OAAO,KAAK;CACd;CAEA,aAAmB;EACjB,KAAK,cAAc,WAAW;CAChC;AACF;AAEA,SAAgB,yBACd,QACwB;CACxB,OAAO,qBAAqB,QAAQ,aAAa;AACnD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getLeaseConnectionInfo, uploadLeaseData } from "../http/provider.js";
|
|
2
2
|
import { TerminalChainStateError, pollLeaseUntilReady } from "../http/fred.js";
|
|
3
|
-
import { resolveProviderUrl } from "./resolveLeaseProvider.js";
|
|
4
3
|
import { getServiceNames, metaHashHex, validateManifest } from "../manifest.js";
|
|
4
|
+
import { resolveProviderUrl } from "./resolveLeaseProvider.js";
|
|
5
5
|
import { MAX_PAGE_LIMIT, ManifestMCPError, ManifestMCPErrorCode, cosmosTx, createPagination, logger, requireUuid, sanitizeForLogging, setItemCustomDomain } from "@manifest-network/manifest-mcp-core";
|
|
6
6
|
//#region src/tools/deployManifest.ts
|
|
7
7
|
function extractLeaseUuid(txResult) {
|
package/dist/tools/updateApp.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { updateLease } from "../http/fred.js";
|
|
2
|
-
import { resolveProviderUrl } from "./resolveLeaseProvider.js";
|
|
3
2
|
import { isStackManifest, mergeManifest, validateServiceName } from "../manifest.js";
|
|
3
|
+
import { resolveProviderUrl } from "./resolveLeaseProvider.js";
|
|
4
4
|
import { fetchActiveLease } from "./fetchActiveLease.js";
|
|
5
5
|
import { ManifestMCPError, ManifestMCPErrorCode } from "@manifest-network/manifest-mcp-core";
|
|
6
6
|
//#region src/tools/updateApp.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manifest-network/manifest-mcp-fred",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "MCP server for Manifest provider (Fred) operations (deploy, status, logs, restart, update)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
".": {
|
|
10
10
|
"import": "./dist/index.js",
|
|
11
11
|
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./server": {
|
|
14
|
+
"types": "./dist/server/index.d.ts",
|
|
15
|
+
"node": "./dist/server/index.js",
|
|
16
|
+
"default": null
|
|
12
17
|
}
|
|
13
18
|
},
|
|
14
19
|
"scripts": {
|
|
@@ -46,7 +51,7 @@
|
|
|
46
51
|
],
|
|
47
52
|
"dependencies": {
|
|
48
53
|
"@cosmjs/encoding": "0.32.4",
|
|
49
|
-
"@manifest-network/manifest-mcp-core": "^0.
|
|
54
|
+
"@manifest-network/manifest-mcp-core": "^0.13.0",
|
|
50
55
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
51
56
|
"zod": "^4.3.6"
|
|
52
57
|
},
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;cAyHa,aAAA;EAAA,QACH,SAAA;EAAA,QACA,aAAA;EAAA,QACA,cAAA;EAAA,QACA,UAAA;cAEI,OAAA,EAAS,0BAAA;EAiDrB,SAAA,IAAa,MAAA;EAIb,gBAAA,IAAoB,mBAAA;EAIpB,UAAA;AAAA;AAAA,iBAKc,wBAAA,CACd,MAAA,EAAQ,oBAAA,GACP,OAAA,CAAQ,aAAA"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import type { WalletProvider } from '@manifest-network/manifest-mcp-core';\nimport {\n CosmosClientManager,\n createMnemonicServer,\n createValidatedConfig,\n type ManifestMCPServerOptions,\n type MnemonicServerConfig,\n VERSION,\n} from '@manifest-network/manifest-mcp-core';\nimport type { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { AuthTokenService } from './http/auth-token-service.js';\nimport { resolveGuardedFetch } from './server/fetch-gate.js';\nimport { registerPrompts } from './server/register-prompts.js';\nimport { registerResources } from './server/register-resources.js';\nimport { registerTools } from './server/register-tools.js';\n\nexport type { ManifestMCPServerOptions } from '@manifest-network/manifest-mcp-core';\nexport {\n INFRASTRUCTURE_ERROR_CODES,\n ManifestMCPError,\n ManifestMCPErrorCode,\n} from '@manifest-network/manifest-mcp-core';\nexport {\n AuthTimestampTracker,\n type AuthTokenPayload,\n createAuthToken,\n createLeaseDataSignMessage,\n createSignMessage,\n} from './http/auth.js';\nexport {\n type FredActionResponse,\n type FredInstanceInfo,\n type FredLeaseInfo,\n type FredLeaseLogs,\n type FredLeaseProvision,\n type FredLeaseRelease,\n type FredLeaseReleases,\n type FredLeaseStatus,\n type FredServiceStatus,\n getLeaseInfo,\n getLeaseLogs,\n getLeaseProvision,\n getLeaseReleases,\n getLeaseStatus,\n MAX_TAIL,\n type PollOptions,\n pollLeaseUntilReady,\n restartLease,\n type TerminalChainLeaseState,\n type TerminalChainState,\n type TerminalChainStateContext,\n TerminalChainStateError,\n updateLease,\n} from './http/fred.js';\nexport {\n type ConnectionDetails,\n checkedFetch,\n getLeaseConnectionInfo,\n getProviderHealth,\n type InstanceInfo,\n type LeaseConnectionResponse,\n ProviderApiError,\n type ProviderHealthResponse,\n type ServiceConnectionDetails,\n uploadLeaseData,\n validateProviderUrl,\n} from './http/provider.js';\nexport {\n type BuildManifestOptions,\n buildManifest,\n buildStackManifest,\n deriveAppNameFromImage,\n getServiceNames,\n isStackManifest,\n type ManifestFormat,\n type ManifestValidationResult,\n mergeManifest,\n metaHashHex,\n normalizePorts,\n parseStackManifest,\n validateManifest,\n validateServiceName,\n} from './manifest.js';\nexport { appStatus } from './tools/appStatus.js';\nexport { browseCatalog, mapWithConcurrency } from './tools/browseCatalog.js';\nexport {\n type BuildManifestPreviewInput,\n type BuildManifestPreviewResult,\n buildManifestPreview,\n type ManifestPreviewServiceInput,\n} from './tools/buildManifestPreview.js';\nexport {\n type CheckDeploymentReadinessInput,\n type CheckDeploymentReadinessResult,\n checkDeploymentReadiness,\n type SkuSummary,\n} from './tools/checkDeploymentReadiness.js';\nexport {\n type DeployAppInput,\n type DeployAppResult,\n deployApp,\n type ServiceConfig,\n} from './tools/deployApp.js';\nexport {\n type DeployManifestInput,\n type DeployManifestOptions,\n deployManifest,\n type SkuSelector,\n} from './tools/deployManifest.js';\nexport { fetchActiveLease } from './tools/fetchActiveLease.js';\nexport { getAppLogs } from './tools/getLogs.js';\nexport { resolveProviderUrl } from './tools/resolveLeaseProvider.js';\nexport { restartApp } from './tools/restartApp.js';\nexport { updateApp } from './tools/updateApp.js';\nexport {\n type WaitForAppReadyOptions,\n type WaitForAppReadyResult,\n waitForAppReady,\n} from './tools/waitForAppReady.js';\n\nexport class FredMCPServer {\n private mcpServer: McpServer;\n private clientManager: CosmosClientManager;\n private walletProvider: WalletProvider;\n private authTokens: AuthTokenService;\n\n constructor(options: ManifestMCPServerOptions) {\n const config = createValidatedConfig(options.config);\n this.walletProvider = options.walletProvider;\n this.clientManager = CosmosClientManager.getInstance(\n config,\n this.walletProvider,\n );\n this.authTokens = new AuthTokenService(this.walletProvider);\n\n this.mcpServer = new McpServer(\n {\n name: '@manifest-network/manifest-mcp-fred',\n version: VERSION,\n },\n {\n capabilities: {\n tools: {},\n resources: {},\n prompts: {},\n },\n },\n );\n\n // SSRF guard (ENG-268). Fred fetches provider/Fred APIs at URLs sourced\n // from on-chain SKU records, so a malicious provider could point them at\n // an internal host. Route all outbound HTTP through an SSRF-guarded fetch\n // by default; operators opt out with MANIFEST_FRED_FETCH_GUARDED=0.\n const fetchFn = resolveGuardedFetch(\n typeof process !== 'undefined'\n ? process.env.MANIFEST_FRED_FETCH_GUARDED\n : undefined,\n typeof process !== 'undefined' && !!process.versions?.node,\n );\n\n registerTools({\n mcpServer: this.mcpServer,\n clientManager: this.clientManager,\n walletProvider: this.walletProvider,\n authTokens: this.authTokens,\n fetchFn,\n });\n registerResources({\n mcpServer: this.mcpServer,\n clientManager: this.clientManager,\n walletProvider: this.walletProvider,\n });\n registerPrompts(this.mcpServer);\n }\n\n getServer(): Server {\n return this.mcpServer.server;\n }\n\n getClientManager(): CosmosClientManager {\n return this.clientManager;\n }\n\n disconnect(): void {\n this.clientManager.disconnect();\n }\n}\n\nexport function createMnemonicFredServer(\n config: MnemonicServerConfig,\n): Promise<FredMCPServer> {\n return createMnemonicServer(config, FredMCPServer);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyHA,IAAa,gBAAb,MAA2B;CAMzB,YAAY,SAAmC;EAC7C,MAAM,SAAS,sBAAsB,QAAQ,MAAM;EACnD,KAAK,iBAAiB,QAAQ;EAC9B,KAAK,gBAAgB,oBAAoB,YACvC,QACA,KAAK,cACP;EACA,KAAK,aAAa,IAAI,iBAAiB,KAAK,cAAc;EAE1D,KAAK,YAAY,IAAI,UACnB;GACE,MAAM;GACN,SAAS;EACX,GACA,EACE,cAAc;GACZ,OAAO,CAAC;GACR,WAAW,CAAC;GACZ,SAAS,CAAC;EACZ,EACF,CACF;EAMA,MAAM,UAAU,oBACd,OAAO,YAAY,cACf,QAAQ,IAAI,8BACZ,KAAA,GACJ,OAAO,YAAY,eAAe,CAAC,CAAC,QAAQ,UAAU,IACxD;EAEA,cAAc;GACZ,WAAW,KAAK;GAChB,eAAe,KAAK;GACpB,gBAAgB,KAAK;GACrB,YAAY,KAAK;GACjB;EACF,CAAC;EACD,kBAAkB;GAChB,WAAW,KAAK;GAChB,eAAe,KAAK;GACpB,gBAAgB,KAAK;EACvB,CAAC;EACD,gBAAgB,KAAK,SAAS;CAChC;CAEA,YAAoB;EAClB,OAAO,KAAK,UAAU;CACxB;CAEA,mBAAwC;EACtC,OAAO,KAAK;CACd;CAEA,aAAmB;EACjB,KAAK,cAAc,WAAW;CAChC;AACF;AAEA,SAAgB,yBACd,QACwB;CACxB,OAAO,qBAAqB,QAAQ,aAAa;AACnD"}
|