diff --git a/packages/cli/src/cli/commands/agents/pull.ts b/packages/cli/src/cli/commands/agents/pull.ts index d61ffc87..0af808f3 100644 --- a/packages/cli/src/cli/commands/agents/pull.ts +++ b/packages/cli/src/cli/commands/agents/pull.ts @@ -1,12 +1,13 @@ import { dirname, join } from "node:path"; import type { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { Base44Command, runTask } from "@/cli/utils/index.js"; +import { Base44Command } from "@/cli/utils/index.js"; import { readProjectConfig } from "@/core/index.js"; import { fetchAgents, writeAgents } from "@/core/resources/agent/index.js"; async function pullAgentsAction({ log, + runTask, }: CLIContext): Promise { const { project } = await readProjectConfig(); diff --git a/packages/cli/src/cli/commands/agents/push.ts b/packages/cli/src/cli/commands/agents/push.ts index fa0361b9..c20ba83e 100644 --- a/packages/cli/src/cli/commands/agents/push.ts +++ b/packages/cli/src/cli/commands/agents/push.ts @@ -1,11 +1,12 @@ import type { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { Base44Command, runTask } from "@/cli/utils/index.js"; +import { Base44Command } from "@/cli/utils/index.js"; import { readProjectConfig } from "@/core/index.js"; import { pushAgents } from "@/core/resources/agent/index.js"; async function pushAgentsAction({ log, + runTask, }: CLIContext): Promise { const { agents } = await readProjectConfig(); diff --git a/packages/cli/src/cli/commands/auth/login-flow.ts b/packages/cli/src/cli/commands/auth/login-flow.ts index 946b13a2..464f1fe4 100644 --- a/packages/cli/src/cli/commands/auth/login-flow.ts +++ b/packages/cli/src/cli/commands/auth/login-flow.ts @@ -1,7 +1,7 @@ import type { Logger } from "@base44-cli/logger"; import pWaitFor from "p-wait-for"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { runTask } from "@/cli/utils/index.js"; +import type { RunTaskFn } from "@/cli/utils/runTask.js"; import { theme } from "@/cli/utils/theme.js"; import type { DeviceCodeResponse, @@ -17,6 +17,7 @@ import { async function generateAndDisplayDeviceCode( log: Logger, + runTask: RunTaskFn, ): Promise { const deviceCodeResponse = await runTask( "Generating device code...", @@ -41,6 +42,7 @@ async function waitForAuthentication( deviceCode: string, expiresIn: number, interval: number, + runTask: RunTaskFn, ): Promise { let tokenResponse: TokenResponse | undefined; @@ -101,13 +103,17 @@ async function saveAuthData( * Execute the login flow (device code authentication). * This function is separate from the command to avoid circular dependencies. */ -export async function login({ log }: CLIContext): Promise { - const deviceCodeResponse = await generateAndDisplayDeviceCode(log); +export async function login({ + log, + runTask, +}: CLIContext): Promise { + const deviceCodeResponse = await generateAndDisplayDeviceCode(log, runTask); const token = await waitForAuthentication( deviceCodeResponse.deviceCode, deviceCodeResponse.expiresIn, deviceCodeResponse.interval, + runTask, ); const userInfo = await getUserInfo(token.accessToken); diff --git a/packages/cli/src/cli/commands/connectors/list-available.ts b/packages/cli/src/cli/commands/connectors/list-available.ts index 9ca8af94..88370804 100644 --- a/packages/cli/src/cli/commands/connectors/list-available.ts +++ b/packages/cli/src/cli/commands/connectors/list-available.ts @@ -1,15 +1,11 @@ import type { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { - Base44Command, - formatYaml, - runTask, - YAML_INDENT, -} from "@/cli/utils/index.js"; +import { Base44Command, formatYaml, YAML_INDENT } from "@/cli/utils/index.js"; import { listAvailableIntegrations } from "@/core/resources/connector/index.js"; async function listAvailableAction({ log, + runTask, }: CLIContext): Promise { const { integrations } = await runTask( "Fetching available integrations from Base44", diff --git a/packages/cli/src/cli/commands/connectors/pull.ts b/packages/cli/src/cli/commands/connectors/pull.ts index 6f3ef220..bf97d68f 100644 --- a/packages/cli/src/cli/commands/connectors/pull.ts +++ b/packages/cli/src/cli/commands/connectors/pull.ts @@ -1,7 +1,7 @@ import { dirname, join } from "node:path"; import type { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { Base44Command, runTask } from "@/cli/utils/index.js"; +import { Base44Command } from "@/cli/utils/index.js"; import { readProjectConfig } from "@/core/index.js"; import { pullAllConnectors, @@ -10,6 +10,7 @@ import { async function pullConnectorsAction({ log, + runTask, }: CLIContext): Promise { const { project } = await readProjectConfig(); diff --git a/packages/cli/src/cli/commands/connectors/push.ts b/packages/cli/src/cli/commands/connectors/push.ts index 73be9cff..9bc376c0 100644 --- a/packages/cli/src/cli/commands/connectors/push.ts +++ b/packages/cli/src/cli/commands/connectors/push.ts @@ -1,7 +1,7 @@ import type { Logger } from "@base44-cli/logger"; import type { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { Base44Command, runTask, theme } from "@/cli/utils/index.js"; +import { Base44Command, theme } from "@/cli/utils/index.js"; import { getConnectorsUrl } from "@/cli/utils/urls.js"; import { readProjectConfig } from "@/core/index.js"; import { @@ -93,6 +93,7 @@ function printSummary( async function pushConnectorsAction({ isNonInteractive, log, + runTask, }: CLIContext): Promise { const { connectors } = await readProjectConfig(); diff --git a/packages/cli/src/cli/commands/entities/push.ts b/packages/cli/src/cli/commands/entities/push.ts index 5e0851b5..3c459e91 100644 --- a/packages/cli/src/cli/commands/entities/push.ts +++ b/packages/cli/src/cli/commands/entities/push.ts @@ -1,11 +1,12 @@ import { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { Base44Command, runTask } from "@/cli/utils/index.js"; +import { Base44Command } from "@/cli/utils/index.js"; import { readProjectConfig } from "@/core/index.js"; import { pushEntities } from "@/core/resources/entity/index.js"; async function pushEntitiesAction({ log, + runTask, }: CLIContext): Promise { const { entities } = await readProjectConfig(); diff --git a/packages/cli/src/cli/commands/functions/delete.ts b/packages/cli/src/cli/commands/functions/delete.ts index d8724b5e..56d04789 100644 --- a/packages/cli/src/cli/commands/functions/delete.ts +++ b/packages/cli/src/cli/commands/functions/delete.ts @@ -1,11 +1,11 @@ import type { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { Base44Command, runTask } from "@/cli/utils/index.js"; +import { Base44Command } from "@/cli/utils/index.js"; import { ApiError } from "@/core/errors.js"; import { deleteSingleFunction } from "@/core/resources/function/api.js"; async function deleteFunctionsAction( - _ctx: CLIContext, + { runTask }: CLIContext, names: string[], ): Promise { let deleted = 0; diff --git a/packages/cli/src/cli/commands/functions/list.ts b/packages/cli/src/cli/commands/functions/list.ts index e701eb89..9f9e4df7 100644 --- a/packages/cli/src/cli/commands/functions/list.ts +++ b/packages/cli/src/cli/commands/functions/list.ts @@ -1,10 +1,11 @@ import type { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { Base44Command, runTask, theme } from "@/cli/utils/index.js"; +import { Base44Command, theme } from "@/cli/utils/index.js"; import { listDeployedFunctions } from "@/core/resources/function/api.js"; async function listFunctionsAction({ log, + runTask, }: CLIContext): Promise { const { functions } = await runTask( "Fetching functions...", diff --git a/packages/cli/src/cli/commands/functions/pull.ts b/packages/cli/src/cli/commands/functions/pull.ts index ff12fa62..aff9572d 100644 --- a/packages/cli/src/cli/commands/functions/pull.ts +++ b/packages/cli/src/cli/commands/functions/pull.ts @@ -1,13 +1,13 @@ import { dirname, join } from "node:path"; import type { Command } from "commander"; import type { CLIContext, RunCommandResult } from "@/cli/types.js"; -import { Base44Command, runTask } from "@/cli/utils/index.js"; +import { Base44Command } from "@/cli/utils/index.js"; import { readProjectConfig } from "@/core/index.js"; import { listDeployedFunctions } from "@/core/resources/function/api.js"; import { writeFunctions } from "@/core/resources/function/pull.js"; async function pullFunctionsAction( - { log }: CLIContext, + { log, runTask }: CLIContext, name: string | undefined, ): Promise { const { project } = await readProjectConfig(); diff --git a/packages/cli/src/cli/commands/project/create.ts b/packages/cli/src/cli/commands/project/create.ts index 6c31b2eb..f77f2406 100644 --- a/packages/cli/src/cli/commands/project/create.ts +++ b/packages/cli/src/cli/commands/project/create.ts @@ -1,5 +1,4 @@ import { basename, join, resolve } from "node:path"; -import type { Logger } from "@base44-cli/logger"; import type { Option } from "@clack/prompts"; import { confirm, group, isCancel, select, text } from "@clack/prompts"; import { Argument, type Command } from "commander"; @@ -10,7 +9,6 @@ import { Base44Command, getDashboardUrl, onPromptCancel, - runTask, theme, } from "@/cli/utils/index.js"; import { InvalidInputError } from "@/core/errors.js"; @@ -57,7 +55,7 @@ function validateNonInteractiveFlags(command: Command): void { async function createInteractive( options: CreateOptions, - log: Logger, + ctx: Pick, ): Promise { const templates = await listTemplates(); const templateOptions: Option