@heroku/plugin-ai
Version:
Heroku CLI plugin for Heroku AI add-on
646 lines • 18.9 kB
JSON
{
"commands": {
"ai:docs": {
"aliases": [],
"args": {},
"description": "open Heroku Managed Inference and Agent's Dev Center documentation in your browser",
"flags": {
"browser": {
"description": "browser to open docs with (example: \"firefox\", \"safari\") ",
"name": "browser",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:docs",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"defaultUrl": "https://devcenter.heroku.com/articles/heroku-inference-cli-commands",
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"docs.js"
]
},
"ai:agents:call": {
"aliases": [],
"args": {
"model_resource": {
"default": "heroku-inference",
"description": "resource ID or alias of model (--app flag required if alias is used)",
"name": "model_resource",
"required": false
}
},
"description": "make an inference request to the Heroku Inference Agents API",
"examples": [
"heroku ai:agents:call my_llm --app my-app --prompt \"What is the current time?\"",
"heroku ai:agents:call my_llm --app my-app --messages '[{\"role\":\"user\",\"content\":\"What is the current time?\"}]'"
],
"flags": {
"app": {
"char": "a",
"description": "name or ID of app (required if alias is used)",
"name": "app",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"char": "j",
"description": "output response as JSON",
"exclusive": [
"output"
],
"name": "json",
"allowNo": false,
"type": "boolean"
},
"optfile": {
"description": "additional options for model inference, provided as a JSON config file",
"exclusive": [
"opts"
],
"name": "optfile",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"opts": {
"description": "additional options for model inference, provided as a JSON string",
"exclusive": [
"optfile"
],
"name": "opts",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"output": {
"char": "o",
"description": "file path where command writes the model response",
"exclusive": [
"json"
],
"name": "output",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"prompt": {
"char": "p",
"description": "input prompt for model (will be converted to a user message)",
"exclusive": [
"messages"
],
"name": "prompt",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"messages": {
"description": "JSON array of messages to send to the model",
"exclusive": [
"prompt"
],
"name": "messages",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"remote": {
"char": "r",
"description": "git remote of app to use",
"name": "remote",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:agents:call",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"agents",
"call.js"
]
},
"ai:mcp": {
"aliases": [],
"args": {
"addon": {
"default": "heroku-inference",
"description": "unique identifier or globally unique name of add-on",
"name": "addon",
"required": false
}
},
"description": "list the MCP server URL",
"flags": {
"json": {
"description": "output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"app": {
"char": "a",
"description": "app to list the MCP server URL for",
"name": "app",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:mcp",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"mcp",
"index.js"
]
},
"ai:models:attach": {
"aliases": [],
"args": {
"model_resource": {
"description": "resource ID or alias of model resource to attach",
"name": "model_resource",
"required": true
}
},
"description": "attach an existing model resource to an app",
"examples": [
"heroku ai:models:attach claude-3-5-sonnet-acute-41518 --source-app example-source-app --target-app example-target-app",
"heroku ai:models:attach claude-3-5-sonnet-acute-41518 --source-app example-source-app --target-app example-target-app --as MY_CS35"
],
"flags": {
"as": {
"description": "alias name for model resource",
"name": "as",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"confirm": {
"description": "overwrite existing attached resource with same name",
"name": "confirm",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"source-app": {
"char": "s",
"description": "source app for model resource",
"name": "source-app",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"target-app": {
"char": "t",
"description": "target app for model resource",
"name": "target-app",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"remote": {
"char": "r",
"description": "git remote of target app",
"name": "remote",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:models:attach",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"models",
"attach.js"
]
},
"ai:models:call": {
"aliases": [],
"args": {
"model_resource": {
"description": "resource ID or alias of model (--app flag required if alias is used)",
"name": "model_resource",
"required": true
}
},
"description": "make an inference request to a specific AI model resource ",
"examples": [
"heroku ai:models:call my_llm --app my-app --prompt \"What is the meaning of life?\" ",
"heroku ai:models:call diffusion --app my-app --prompt \"Generate an image of a sunset\" --opts '{\"quality\":\"hd\"}' -o sunset.png "
],
"flags": {
"app": {
"char": "a",
"description": "name or ID of app (required if alias is used)",
"name": "app",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"json": {
"char": "j",
"description": "output response as JSON ",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"optfile": {
"description": "additional options for model inference, provided as a JSON config file ",
"name": "optfile",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"opts": {
"description": "additional options for model inference, provided as a JSON string ",
"name": "opts",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"output": {
"char": "o",
"description": "file path where command writes the model response",
"name": "output",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"prompt": {
"char": "p",
"description": "input prompt for model ",
"name": "prompt",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"remote": {
"char": "r",
"description": "git remote of app to use",
"name": "remote",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:models:call",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"models",
"call.js"
]
},
"ai:models:create": {
"aliases": [],
"args": {
"model_name": {
"description": "name of AI model to provision access for",
"name": "model_name",
"required": true
}
},
"description": "provision access to an AI model ",
"examples": "# Provision access to an AI model and attach it to your app with a default name:\nheroku ai:models:create claude-3-5-sonnet --app example-app\n# Provision access to an AI model and attach it to your app with a custom name:\nheroku ai:models:create stable-image-ultra --app example-app --as diffusion \n",
"flags": {
"app": {
"char": "a",
"description": "name of app to attach model to",
"name": "app",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"as": {
"description": "alias of model resource ",
"name": "as",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"confirm": {
"description": "overwrite existing config vars or existing add-on aliases ",
"name": "confirm",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"remote": {
"char": "r",
"description": "git remote of app to use",
"name": "remote",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:models:create",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"example": "# Provision access to an AI model and attach it to your app with a default name:\nheroku ai:models:create claude-3-5-sonnet --app example-app\n# Provision access to an AI model and attach it to your app with a custom name:\nheroku ai:models:create stable-image-ultra --app example-app --as diffusion \n",
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"models",
"create.js"
]
},
"ai:models:destroy": {
"aliases": [],
"args": {
"model_resource": {
"description": "resource ID or alias of model resource to destroy ",
"name": "model_resource",
"required": true
}
},
"description": "destroy an existing AI model resource ",
"examples": [
"$ heroku ai:models:destroy claude-3-5-sonnet-acute-43973 "
],
"flags": {
"app": {
"char": "a",
"description": "app to run command against ",
"name": "app",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"confirm": {
"char": "c",
"description": "set to app name to bypass confirmation prompt",
"name": "confirm",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"force": {
"char": "f",
"description": "allow destruction even if connected to other apps ",
"name": "force",
"allowNo": false,
"type": "boolean"
},
"remote": {
"char": "r",
"description": "git remote of app to use ",
"name": "remote",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:models:destroy",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"models",
"destroy.js"
]
},
"ai:models:detach": {
"aliases": [],
"args": {
"model_resource": {
"description": "alias of model resource to detach",
"name": "model_resource",
"required": true
}
},
"description": "detach a model resource from an app ",
"examples": "heroku ai:models:detach EXAMPLE_MODEL_ALIAS --app example-app ",
"flags": {
"app": {
"char": "a",
"description": "name of app to detach model resource from",
"name": "app",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"remote": {
"char": "r",
"description": "git remote of app to use",
"name": "remote",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:models:detach",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"example": "heroku ai:models:detach EXAMPLE_MODEL_ALIAS --app example-app ",
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"models",
"detach.js"
]
},
"ai:models:info": {
"aliases": [],
"args": {
"model_resource": {
"description": "resource ID or alias of model resource ",
"name": "model_resource"
}
},
"description": "get current status of a specific AI model resource or all AI model resources attached to an app",
"examples": [
"heroku ai:models:info claude-3-5-sonnet-acute-04281 --app example-app ",
"heroku ai:models:info --app example-app "
],
"flags": {
"app": {
"char": "a",
"description": "app to run command against",
"name": "app",
"required": true,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"remote": {
"char": "r",
"description": "git remote of app to use",
"name": "remote",
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:models:info",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"models",
"info.js"
]
},
"ai:models:list": {
"aliases": [
"ai:models"
],
"args": {},
"description": "list available AI models to provision access to ",
"examples": [
"$ heroku ai:models:list"
],
"flags": {},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:models:list",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"models",
"list.js"
]
},
"ai:tools:list": {
"aliases": [],
"args": {
"addon": {
"default": "heroku-inference",
"description": "unique identifier or globally unique name of add-on",
"name": "addon",
"required": false
}
},
"description": "list all available AI tools",
"flags": {
"json": {
"description": "output in JSON format",
"name": "json",
"allowNo": false,
"type": "boolean"
},
"app": {
"char": "a",
"description": "app to list tools for",
"name": "app",
"required": false,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "ai:tools:list",
"pluginAlias": "@heroku/plugin-ai",
"pluginName": "@heroku/plugin-ai",
"pluginType": "core",
"strict": true,
"isESM": false,
"relativePath": [
"dist",
"commands",
"ai",
"tools",
"list.js"
]
}
},
"version": "1.0.1"
}