97b2089857
- Added `--route` and `--method` options to `function execute` command for better HTTP handling. - Improved `get function` command to display additional function metadata including HTTP settings, cache status, network restrictions, RAM limits, timeouts, and tags. - Removed deprecated `helloworld` command. - Expanded `update function` command with new options for Docker mounts, network restrictions, and various installation flags, including better error handling for boolean and number options. - Introduced environment variable management commands: `add`, `list`, and `remove` for account-wide environment variables. - Added `export` command to export authenticated account data. - Implemented `api openapi` and `api request` commands for direct API interaction. - Created logging and rate limit management commands for functions. - Added MCP tool commands for calling tools, fetching documentation, and initializing sessions. - Introduced utility functions for JSON handling and environment variable normalization. - Set up CI/CD pipeline with Gitea Actions for automated testing, building, and publishing. - Updated configuration loading to support environment variables for instance and token.
21 lines
538 B
TypeScript
21 lines
538 B
TypeScript
import { getApiClient } from "../api.js";
|
|
|
|
let nextJsonRpcId = 1;
|
|
|
|
export async function callMcp(method: string, params?: unknown): Promise<unknown> {
|
|
const client = await getApiClient();
|
|
const id = nextJsonRpcId++;
|
|
const response = await client.post("/mcp", {
|
|
jsonrpc: "2.0",
|
|
id,
|
|
method,
|
|
...(params !== undefined ? { params } : {}),
|
|
});
|
|
|
|
if (response.data?.error) {
|
|
throw new Error(response.data.error.message || JSON.stringify(response.data.error));
|
|
}
|
|
|
|
return response.data?.result ?? response.data;
|
|
}
|