deploy_heim_application_to_cloud
Deploy backend applications to Heim cloud using the 'heim deploy' command to make them available via console-output paths.
Instructions
Runs 'heim deploy' command to deploy an application to Heim cloud. Which will make the application availible on the path outputted in the console
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Absolute windows path to the application folder root |
Implementation Reference
- src/tools.ts:160-181 (handler)The handler function that promisifies exec and runs 'heim deploy [path] --cloud', returning stdout/stderr or error.async (request) => { const execPromise = util.promisify(exec); try { //TODO: Update to use org and project when a user has multiple orgs and projects const { stdout, stderr } = await execPromise( `heim deploy ${request.path} --cloud` ); return { content: [ { type: "text", text: `stdout:\n${stdout}\nstderr:\n${stderr}`, }, ], }; } catch (err: any) { return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true, }; } }
- src/tools.ts:143-159 (schema)Schema definition for the tool, including Zod input schema for 'path' parameter, title, description, and annotations.{ title: "Deploy Heim Application to Cloud", description: "Runs 'heim deploy' command to deploy an application to Heim cloud. Which will make the application availible on the path outputted in the console", inputSchema: { path: z .string() .describe("Absolute windows path to the application folder root") .optional(), }, annotations: { destructiveHint: false, readOnlyHint: false, idempotentHint: true, openWorldHint: true, }, },
- src/tools.ts:140-182 (registration)Full registration of the 'deploy_heim_application_to_cloud' tool via server.registerTool, including schema and handler.// TOOL: deploy_heim_application_to_cloud server.registerTool( "deploy_heim_application_to_cloud", { title: "Deploy Heim Application to Cloud", description: "Runs 'heim deploy' command to deploy an application to Heim cloud. Which will make the application availible on the path outputted in the console", inputSchema: { path: z .string() .describe("Absolute windows path to the application folder root") .optional(), }, annotations: { destructiveHint: false, readOnlyHint: false, idempotentHint: true, openWorldHint: true, }, }, async (request) => { const execPromise = util.promisify(exec); try { //TODO: Update to use org and project when a user has multiple orgs and projects const { stdout, stderr } = await execPromise( `heim deploy ${request.path} --cloud` ); return { content: [ { type: "text", text: `stdout:\n${stdout}\nstderr:\n${stderr}`, }, ], }; } catch (err: any) { return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true, }; } } );