browse
Version:
Unified Browserbase CLI for browser automation and cloud APIs.
50 lines (49 loc) • 1.86 kB
JavaScript
import { Args, Flags } from "@oclif/core";
import { BrowseCommand } from "../../base.js";
import { invokeFunction } from "../../lib/functions/invoke.js";
export default class FunctionsInvoke extends BrowseCommand {
static description = "Invoke a deployed Browserbase Function or check invocation status.";
static examples = [
`browse functions invoke <function-id> --params '{"url":"https://example.com"}'`,
"browse functions invoke <function-id> --no-wait",
"browse functions invoke --check-status <invocation-id>",
];
static args = {
functionId: Args.string({
description: "Function ID to invoke.",
required: false,
}),
};
static flags = {
"api-key": Flags.string({
description: "Override the Browserbase API key.",
helpValue: "<apiKey>",
}),
"base-url": Flags.string({
description: "Override the Browserbase API base URL.",
helpValue: "<baseUrl>",
}),
"check-status": Flags.string({
description: "Invocation ID to inspect without creating a new invocation.",
helpValue: "<invocationId>",
}),
"no-wait": Flags.boolean({
description: "Return immediately after creating the invocation.",
}),
params: Flags.string({
description: "JSON params to pass to the function.",
helpValue: "<params>",
}),
};
async run() {
const { args, flags } = await this.parse(FunctionsInvoke);
await invokeFunction({
apiKey: flags["api-key"],
baseUrl: flags["base-url"],
checkStatus: flags["check-status"],
functionId: args.functionId,
noWait: flags["no-wait"] ?? false,
params: flags.params,
});
}
}