From 13f723650facf4b397b3d1ac638ba4322863c5d5 Mon Sep 17 00:00:00 2001 From: benjdlambert Date: Tue, 11 Mar 2025 11:12:29 +0100 Subject: [PATCH] chore: fixing api reports Signed-off-by: benjdlambert --- .../report.api.md | 3 +- .../report.api.md | 13 +- .../report.api.md | 6 +- .../report.api.md | 10 +- .../report.api.md | 3 +- .../report.api.md | 3 +- .../report.api.md | 6 +- .../report.api.md | 3 +- .../report.api.md | 36 ++-- .../report.api.md | 30 ++- .../report.api.md | 3 +- .../report.api.md | 3 +- .../report.api.md | 3 +- .../report.api.md | 3 +- plugins/scaffolder-backend/report.api.md | 94 ++++----- .../actions/TemplateActionRegistry.ts | 6 +- .../tasks/NunjucksWorkflowRunner.test.ts | 4 +- plugins/scaffolder-node/report-alpha.api.md | 2 +- plugins/scaffolder-node/report.api.md | 187 +++++++++++++----- 19 files changed, 262 insertions(+), 156 deletions(-) diff --git a/plugins/scaffolder-backend-module-azure/report.api.md b/plugins/scaffolder-backend-module-azure/report.api.md index e15aba0fa4..4276a33fa0 100644 --- a/plugins/scaffolder-backend-module-azure/report.api.md +++ b/plugins/scaffolder-backend-module-azure/report.api.md @@ -28,6 +28,7 @@ export function createPublishAzureAction(options: { gitAuthorName?: string; gitAuthorEmail?: string; }, - JsonObject + JsonObject, + 'v1' >; ``` diff --git a/plugins/scaffolder-backend-module-bitbucket-cloud/report.api.md b/plugins/scaffolder-backend-module-bitbucket-cloud/report.api.md index ad74479b6e..3ce7528722 100644 --- a/plugins/scaffolder-backend-module-bitbucket-cloud/report.api.md +++ b/plugins/scaffolder-backend-module-bitbucket-cloud/report.api.md @@ -23,7 +23,12 @@ export const createBitbucketPipelinesRunAction: (options: { body?: object; token?: string; }, - JsonObject + { + buildNumber: number; + repoUrl: string; + pipelinesUrl: string; + }, + 'v1' >; // @public @@ -40,7 +45,8 @@ export function createPublishBitbucketCloudAction(options: { sourcePath?: string; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -58,6 +64,7 @@ export function createPublishBitbucketCloudPullRequestAction(options: { gitAuthorName?: string; gitAuthorEmail?: string; }, - JsonObject + JsonObject, + 'v1' >; ``` diff --git a/plugins/scaffolder-backend-module-bitbucket-server/report.api.md b/plugins/scaffolder-backend-module-bitbucket-server/report.api.md index e92c85b284..ea62b5e90e 100644 --- a/plugins/scaffolder-backend-module-bitbucket-server/report.api.md +++ b/plugins/scaffolder-backend-module-bitbucket-server/report.api.md @@ -30,7 +30,8 @@ export function createPublishBitbucketServerAction(options: { gitAuthorName?: string; gitAuthorEmail?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -49,6 +50,7 @@ export function createPublishBitbucketServerPullRequestAction(options: { gitAuthorName?: string; gitAuthorEmail?: string; }, - JsonObject + JsonObject, + 'v1' >; ``` diff --git a/plugins/scaffolder-backend-module-bitbucket/report.api.md b/plugins/scaffolder-backend-module-bitbucket/report.api.md index b90f2f8483..015a4ac0d6 100644 --- a/plugins/scaffolder-backend-module-bitbucket/report.api.md +++ b/plugins/scaffolder-backend-module-bitbucket/report.api.md @@ -25,7 +25,12 @@ export const createBitbucketPipelinesRunAction: (options: { body?: object; token?: string; }, - JsonObject + { + buildNumber: number; + repoUrl: string; + pipelinesUrl: string; + }, + 'v1' >; // @public @deprecated @@ -45,7 +50,8 @@ export function createPublishBitbucketAction(options: { gitAuthorName?: string; gitAuthorEmail?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @deprecated (undocumented) diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/report.api.md b/plugins/scaffolder-backend-module-confluence-to-markdown/report.api.md index 2dd5e244dd..64584ad4b5 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/report.api.md +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/report.api.md @@ -24,6 +24,7 @@ export const createConfluenceToMarkdownAction: (options: { confluenceUrls: string[]; repoUrl: string; }, - JsonObject + JsonObject, + 'v1' >; ``` diff --git a/plugins/scaffolder-backend-module-cookiecutter/report.api.md b/plugins/scaffolder-backend-module-cookiecutter/report.api.md index 36339ea722..4f963ce818 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/report.api.md +++ b/plugins/scaffolder-backend-module-cookiecutter/report.api.md @@ -54,6 +54,7 @@ export function createFetchCookiecutterAction(options: { extensions?: string[]; imageName?: string; }, - JsonObject + JsonObject, + 'v1' >; ``` diff --git a/plugins/scaffolder-backend-module-gerrit/report.api.md b/plugins/scaffolder-backend-module-gerrit/report.api.md index a3f23d7aa7..6cafa2b38a 100644 --- a/plugins/scaffolder-backend-module-gerrit/report.api.md +++ b/plugins/scaffolder-backend-module-gerrit/report.api.md @@ -23,7 +23,8 @@ export function createPublishGerritAction(options: { gitAuthorEmail?: string; sourcePath?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -39,7 +40,8 @@ export function createPublishGerritReviewAction(options: { gitAuthorName?: string; gitAuthorEmail?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public diff --git a/plugins/scaffolder-backend-module-gitea/report.api.md b/plugins/scaffolder-backend-module-gitea/report.api.md index 8456b7183c..3cb13339d2 100644 --- a/plugins/scaffolder-backend-module-gitea/report.api.md +++ b/plugins/scaffolder-backend-module-gitea/report.api.md @@ -24,7 +24,8 @@ export function createPublishGiteaAction(options: { gitAuthorEmail?: string; sourcePath?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public diff --git a/plugins/scaffolder-backend-module-github/report.api.md b/plugins/scaffolder-backend-module-github/report.api.md index e2d124eb6f..f1b7f98a30 100644 --- a/plugins/scaffolder-backend-module-github/report.api.md +++ b/plugins/scaffolder-backend-module-github/report.api.md @@ -30,7 +30,8 @@ export function createGithubActionsDispatchAction(options: { }; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -45,7 +46,8 @@ export function createGithubAutolinksAction(options: { isAlphanumeric?: boolean; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -81,7 +83,8 @@ export function createGithubBranchProtectionAction(options: { requiredLinearHistory?: boolean; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -96,7 +99,8 @@ export function createGithubDeployKeyAction(options: { privateKeySecretName?: string; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -125,7 +129,8 @@ export function createGithubEnvironmentAction(options: { preventSelfReview?: boolean; reviewers?: string[]; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -139,7 +144,8 @@ export function createGithubIssuesLabelAction(options: { labels: string[]; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -154,7 +160,8 @@ export function createGithubPagesEnableAction(options: { sourcePath?: '/' | '/docs'; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -255,7 +262,8 @@ export function createGithubRepoCreateAction(options: { }; subscribe?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -299,7 +307,8 @@ export function createGithubRepoPushAction(options: { requiredLinearHistory?: boolean; requireLastPushApproval?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -318,7 +327,8 @@ export function createGithubWebhookAction(options: { insecureSsl?: boolean; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -404,7 +414,8 @@ export function createPublishGithubAction(options: { }; subscribe?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -431,7 +442,8 @@ export const createPublishGithubPullRequestAction: ( forceEmptyGitAuthor?: boolean; createWhenEmpty?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public diff --git a/plugins/scaffolder-backend-module-gitlab/report.api.md b/plugins/scaffolder-backend-module-gitlab/report.api.md index d50104e98e..569efd58de 100644 --- a/plugins/scaffolder-backend-module-gitlab/report.api.md +++ b/plugins/scaffolder-backend-module-gitlab/report.api.md @@ -26,7 +26,8 @@ export const createGitlabGroupEnsureExistsAction: (options: { }, { groupId?: number | undefined; - } + }, + 'v1' >; // @public @@ -55,7 +56,8 @@ export const createGitlabIssueAction: (options: { issueUrl: string; issueId: number; issueIid: number; - } + }, + 'v1' >; // @public @@ -73,7 +75,8 @@ export const createGitlabProjectAccessTokenAction: (options: { }, { access_token: string; - } + }, + 'v1' >; // @public @@ -91,7 +94,8 @@ export const createGitlabProjectDeployTokenAction: (options: { { user: string; deploy_token: string; - } + }, + 'v1' >; // @public @@ -110,7 +114,8 @@ export const createGitlabProjectVariableAction: (options: { environmentScope?: string | undefined; variableProtected?: boolean | undefined; }, - JsonObject + any, + 'v1' >; // @public @@ -126,7 +131,8 @@ export const createGitlabRepoPushAction: (options: { token?: string; commitAction?: 'create' | 'delete' | 'update'; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -176,7 +182,8 @@ export function createPublishGitlabAction(options: { environment_scope?: string; }>; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -199,7 +206,8 @@ export const createPublishGitlabMergeRequestAction: (options: { reviewers?: string[]; assignReviewersFromApprovalRules?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -216,7 +224,8 @@ export const createTriggerGitlabPipelineAction: (options: { }, { pipelineUrl: string; - } + }, + 'v1' >; // @public @@ -252,7 +261,8 @@ export const editGitlabIssueAction: (options: { issueUrl: string; issueId: number; issueIid: number; - } + }, + 'v1' >; // @public diff --git a/plugins/scaffolder-backend-module-notifications/report.api.md b/plugins/scaffolder-backend-module-notifications/report.api.md index 1c2bcf5f64..cb796e5033 100644 --- a/plugins/scaffolder-backend-module-notifications/report.api.md +++ b/plugins/scaffolder-backend-module-notifications/report.api.md @@ -23,7 +23,8 @@ export function createSendNotificationAction(options: { scope?: string; optional?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public diff --git a/plugins/scaffolder-backend-module-rails/report.api.md b/plugins/scaffolder-backend-module-rails/report.api.md index 846e2fe77f..0d7618852d 100644 --- a/plugins/scaffolder-backend-module-rails/report.api.md +++ b/plugins/scaffolder-backend-module-rails/report.api.md @@ -49,7 +49,8 @@ export function createFetchRailsAction(options: { values: JsonObject; imageName?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public diff --git a/plugins/scaffolder-backend-module-sentry/report.api.md b/plugins/scaffolder-backend-module-sentry/report.api.md index ff31bd62c3..973ef9844c 100644 --- a/plugins/scaffolder-backend-module-sentry/report.api.md +++ b/plugins/scaffolder-backend-module-sentry/report.api.md @@ -19,7 +19,8 @@ export function createSentryCreateProjectAction(options: { slug?: string; authToken?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public diff --git a/plugins/scaffolder-backend-module-yeoman/report.api.md b/plugins/scaffolder-backend-module-yeoman/report.api.md index ac262abcf6..57498bbe3a 100644 --- a/plugins/scaffolder-backend-module-yeoman/report.api.md +++ b/plugins/scaffolder-backend-module-yeoman/report.api.md @@ -14,7 +14,8 @@ export function createRunYeomanAction(): TemplateAction< args?: string[]; options?: JsonObject; }, - JsonObject + JsonObject, + 'v1' >; // @public diff --git a/plugins/scaffolder-backend/report.api.md b/plugins/scaffolder-backend/report.api.md index 18813154f2..37afe780a9 100644 --- a/plugins/scaffolder-backend/report.api.md +++ b/plugins/scaffolder-backend/report.api.md @@ -30,6 +30,7 @@ import { createPublishGerritAction as createPublishGerritAction_2 } from '@backs import { createPublishGerritReviewAction as createPublishGerritReviewAction_2 } from '@backstage/plugin-scaffolder-backend-module-gerrit'; import { createPublishGithubAction as createPublishGithubAction_2 } from '@backstage/plugin-scaffolder-backend-module-github'; import { createPublishGitlabAction as createPublishGitlabAction_2 } from '@backstage/plugin-scaffolder-backend-module-gitlab'; +import { createTemplateAction as createTemplateAction_2 } from '@backstage/plugin-scaffolder-node'; import { DatabaseService } from '@backstage/backend-plugin-api'; import { DiscoveryService } from '@backstage/backend-plugin-api'; import { Duration } from 'luxon'; @@ -54,7 +55,6 @@ import { RESOURCE_TYPE_SCAFFOLDER_ACTION } from '@backstage/plugin-scaffolder-co import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE } from '@backstage/plugin-scaffolder-common/alpha'; import { ScaffolderEntitiesProcessor as ScaffolderEntitiesProcessor_2 } from '@backstage/plugin-catalog-backend-module-scaffolder-entity-model'; import { SchedulerService } from '@backstage/backend-plugin-api'; -import { Schema } from 'jsonschema'; import { ScmIntegrationRegistry } from '@backstage/integration'; import { ScmIntegrations } from '@backstage/integration'; import { SerializedTask as SerializedTask_2 } from '@backstage/plugin-scaffolder-node'; @@ -71,14 +71,12 @@ import { TaskSpec } from '@backstage/plugin-scaffolder-common'; import { TaskSpecV1beta3 } from '@backstage/plugin-scaffolder-common'; import { TaskStatus as TaskStatus_2 } from '@backstage/plugin-scaffolder-node'; import { TemplateAction as TemplateAction_2 } from '@backstage/plugin-scaffolder-node'; -import { TemplateActionOptions } from '@backstage/plugin-scaffolder-node'; import { TemplateEntityStepV1beta3 } from '@backstage/plugin-scaffolder-common'; import { TemplateFilter as TemplateFilter_2 } from '@backstage/plugin-scaffolder-node'; import { TemplateGlobal as TemplateGlobal_2 } from '@backstage/plugin-scaffolder-node'; import { TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common'; import { UrlReaderService } from '@backstage/backend-plugin-api'; import { WorkspaceProvider } from '@backstage/plugin-scaffolder-node/alpha'; -import { ZodType } from 'zod'; // @public @deprecated (undocumented) export type ActionContext = ActionContext_2; @@ -125,7 +123,8 @@ export function createCatalogRegisterAction(options: { catalogInfoPath?: string; optional?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -134,17 +133,12 @@ export function createCatalogWriteAction(): TemplateAction_2< entity: Record; filePath?: string | undefined; }, - JsonObject + any, + 'v1' >; // @public -export function createDebugLogAction(): TemplateAction_2< - { - message?: string; - listWorkspace?: boolean | 'with-filenames' | 'with-contents'; - }, - JsonObject ->; +export function createDebugLogAction(): TemplateAction_2; // @public export function createFetchCatalogEntityAction(options: { @@ -152,16 +146,17 @@ export function createFetchCatalogEntityAction(options: { auth?: AuthService; }): TemplateAction_2< { + entityRef?: string | undefined; + entityRefs?: string[] | undefined; optional?: boolean | undefined; defaultKind?: string | undefined; defaultNamespace?: string | undefined; - entityRef?: string | undefined; - entityRefs?: string[] | undefined; }, { - entities?: any[] | undefined; entity?: any; - } + entities?: any[] | undefined; + }, + 'v2' >; // @public @@ -174,7 +169,8 @@ export function createFetchPlainAction(options: { targetPath?: string; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -187,7 +183,8 @@ export function createFetchPlainFileAction(options: { targetPath: string; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -210,7 +207,8 @@ export function createFetchTemplateAction(options: { lstripBlocks?: boolean; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -230,7 +228,8 @@ export function createFetchTemplateFileAction(options: { lstripBlocks?: boolean; token?: string; }, - JsonObject + JsonObject, + 'v1' >; // @public @@ -238,14 +237,15 @@ export const createFilesystemDeleteAction: () => TemplateAction_2< { files: string[]; }, - JsonObject + JsonObject, + 'v1' >; // @public export const createFilesystemReadDirAction: () => TemplateAction_2< { + recursive: boolean; paths: string[]; - recursive?: boolean | undefined; }, { files: { @@ -258,7 +258,8 @@ export const createFilesystemReadDirAction: () => TemplateAction_2< path: string; fullPath: string; }[]; - } + }, + 'v1' >; // @public @@ -270,7 +271,8 @@ export const createFilesystemRenameAction: () => TemplateAction_2< overwrite?: boolean; }>; }, - JsonObject + JsonObject, + 'v1' >; // @public @deprecated (undocumented) @@ -346,7 +348,8 @@ export const createPublishGithubPullRequestAction: ( forceEmptyGitAuthor?: boolean; createWhenEmpty?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public @deprecated (undocumented) @@ -372,45 +375,20 @@ export const createPublishGitlabMergeRequestAction: (options: { reviewers?: string[]; assignReviewersFromApprovalRules?: boolean; }, - JsonObject + JsonObject, + 'v1' >; // @public @deprecated export function createRouter(options: RouterOptions): Promise; // @public @deprecated (undocumented) -export const createTemplateAction: < - TInputParams extends JsonObject = JsonObject, - TOutputParams extends JsonObject = JsonObject, - TInputSchema extends Schema | ZodType = {}, - TOutputSchema extends Schema | ZodType = {}, - TActionInput extends JsonObject = TInputSchema extends ZodType< - any, - any, - infer IReturn - > - ? IReturn - : TInputParams, - TActionOutput extends JsonObject = TOutputSchema extends ZodType< - any, - any, - infer IReturn_1 - > - ? IReturn_1 - : TOutputParams, ->( - action: TemplateActionOptions< - TActionInput, - TActionOutput, - TInputSchema, - TOutputSchema - >, -) => TemplateAction_2; +export const createTemplateAction: typeof createTemplateAction_2; // @public export function createWaitAction(options?: { maxWaitTime?: Duration | HumanDuration; -}): TemplateAction_2; +}): TemplateAction_2; // @public export type CreateWorkerOptions = { @@ -547,7 +525,7 @@ export const fetchContents: typeof fetchContents_2; // @public @deprecated export interface RouterOptions { // (undocumented) - actions?: TemplateAction_2[]; + actions?: TemplateAction_2[]; // (undocumented) additionalTemplateFilters?: | Record @@ -866,11 +844,11 @@ export type TemplateAction = // @public export class TemplateActionRegistry { // (undocumented) - get(actionId: string): TemplateAction_2; + get(actionId: string): TemplateAction_2; // (undocumented) - list(): TemplateAction_2[]; + list(): TemplateAction_2[]; // (undocumented) - register(action: TemplateAction_2): void; + register(action: TemplateAction_2): void; } // @public @deprecated (undocumented) diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/TemplateActionRegistry.ts b/plugins/scaffolder-backend/src/scaffolder/actions/TemplateActionRegistry.ts index f00d7afad1..11d6234083 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/TemplateActionRegistry.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/TemplateActionRegistry.ts @@ -23,7 +23,7 @@ import { TemplateAction } from '@backstage/plugin-scaffolder-node'; export class TemplateActionRegistry { private readonly actions = new Map(); - register(action: TemplateAction) { + register(action: TemplateAction) { if (this.actions.has(action.id)) { throw new ConflictError( `Template action with ID '${action.id}' has already been registered`, @@ -33,7 +33,7 @@ export class TemplateActionRegistry { this.actions.set(action.id, action); } - get(actionId: string): TemplateAction { + get(actionId: string): TemplateAction { const action = this.actions.get(actionId); if (!action) { throw new NotFoundError( @@ -43,7 +43,7 @@ export class TemplateActionRegistry { return action; } - list(): TemplateAction[] { + list(): TemplateAction[] { return [...this.actions.values()]; } } diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts index 26b784b512..2d6ed2d57c 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts @@ -160,7 +160,7 @@ describe('NunjucksWorkflowRunner', () => { }, }, handler: fakeActionHandler, - }) as TemplateAction, + }), ); actionRegistry.register( @@ -215,9 +215,7 @@ describe('NunjucksWorkflowRunner', () => { ctx.output('key2', key2); ctx.output('key3', key3); - // @ts-expect-error - this is void return ctx.output('key4', key4); - // @ts-expect-error - this is void return ctx.output('key5', key5); }, }), diff --git a/plugins/scaffolder-node/report-alpha.api.md b/plugins/scaffolder-node/report-alpha.api.md index 8ecc54f031..fa9e022bb4 100644 --- a/plugins/scaffolder-node/report-alpha.api.md +++ b/plugins/scaffolder-node/report-alpha.api.md @@ -122,7 +122,7 @@ export const restoreWorkspace: (opts: { // @alpha export interface ScaffolderActionsExtensionPoint { // (undocumented) - addActions(...actions: TemplateAction[]): void; + addActions(...actions: TemplateAction[]): void; } // @alpha diff --git a/plugins/scaffolder-node/report.api.md b/plugins/scaffolder-node/report.api.md index 333b47a6d1..494efc28f1 100644 --- a/plugins/scaffolder-node/report.api.md +++ b/plugins/scaffolder-node/report.api.md @@ -4,6 +4,7 @@ ```ts import { BackstageCredentials } from '@backstage/backend-plugin-api'; +import { Expand } from '@backstage/types'; import { JsonObject } from '@backstage/types'; import { JsonValue } from '@backstage/types'; import { Logger } from 'winston'; @@ -24,34 +25,63 @@ import { z } from 'zod'; export type ActionContext< TActionInput extends JsonObject, TActionOutput extends JsonObject = JsonObject, -> = { - logger: Logger; - logStream: Writable; - secrets?: TaskSecrets; - workspacePath: string; - input: TActionInput; - checkpoint(opts: { - key: string; - fn: () => Promise | T; - }): Promise; - output( - name: keyof TActionOutput, - value: TActionOutput[keyof TActionOutput], - ): void; - createTemporaryDirectory(): Promise; - getInitiatorCredentials(): Promise; - task: { - id: string; - }; - templateInfo?: TemplateInfo; - isDryRun?: boolean; - user?: { - entity?: UserEntity; - ref?: string; - }; - signal?: AbortSignal; - each?: JsonObject; -}; + TSchemaType extends 'v1' | 'v2' = 'v1', +> = TSchemaType extends 'v2' + ? { + logger: LoggerService; + secrets?: TaskSecrets; + workspacePath: string; + input: TActionInput; + checkpoint(opts: { + key: string; + fn: () => Promise | T; + }): Promise; + output( + name: keyof TActionOutput, + value: TActionOutput[keyof TActionOutput], + ): void; + createTemporaryDirectory(): Promise; + getInitiatorCredentials(): Promise; + task: { + id: string; + }; + templateInfo?: TemplateInfo; + isDryRun?: boolean; + user?: { + entity?: UserEntity; + ref?: string; + }; + signal?: AbortSignal; + each?: JsonObject; + } + : { + logger: Logger; + logStream: Writable; + secrets?: TaskSecrets; + workspacePath: string; + input: TActionInput; + checkpoint(opts: { + key: string; + fn: () => Promise | T; + }): Promise; + output( + name: keyof TActionOutput, + value: TActionOutput[keyof TActionOutput], + ): void; + createTemporaryDirectory(): Promise; + getInitiatorCredentials(): Promise; + task: { + id: string; + }; + templateInfo?: TemplateInfo; + isDryRun?: boolean; + user?: { + entity?: UserEntity; + ref?: string; + }; + signal?: AbortSignal; + each?: JsonObject; + }; // @public (undocumented) export function addFiles(options: { @@ -148,34 +178,71 @@ export function createBranch(options: { logger?: Logger | undefined; }): Promise; -// @public -export const createTemplateAction: < +// @public @deprecated (undocumented) +export function createTemplateAction< TInputParams extends JsonObject = JsonObject, TOutputParams extends JsonObject = JsonObject, - TInputSchema extends Schema | z.ZodType = {}, - TOutputSchema extends Schema | z.ZodType = {}, - TActionInput extends JsonObject = TInputSchema extends z.ZodType< - any, - any, - infer IReturn - > - ? IReturn - : TInputParams, - TActionOutput extends JsonObject = TOutputSchema extends z.ZodType< - any, - any, - infer IReturn_1 - > - ? IReturn_1 - : TOutputParams, + TInputSchema extends JsonObject = JsonObject, + TOutputSchema extends JsonObject = JsonObject, + TActionInput extends JsonObject = TInputParams, + TActionOutput extends JsonObject = TOutputParams, >( action: TemplateActionOptions< TActionInput, TActionOutput, TInputSchema, - TOutputSchema + TOutputSchema, + 'v1' >, -) => TemplateAction; +): TemplateAction; + +// @public @deprecated (undocumented) +export function createTemplateAction< + TInputParams extends JsonObject = JsonObject, + TOutputParams extends JsonObject = JsonObject, + TInputSchema extends z.ZodType = z.ZodType, + TOutputSchema extends z.ZodType = z.ZodType, + TActionInput extends JsonObject = z.infer, + TActionOutput extends JsonObject = z.infer, +>( + action: TemplateActionOptions< + TActionInput, + TActionOutput, + TInputSchema, + TOutputSchema, + 'v1' + >, +): TemplateAction; + +// @public +export function createTemplateAction< + TInputSchema extends { + [key in string]: (zImpl: typeof z) => z.ZodType; + }, + TOutputSchema extends { + [key in string]: (zImpl: typeof z) => z.ZodType; + }, +>( + action: TemplateActionOptions< + { + [key in keyof TInputSchema]: z.infer>; + }, + { + [key in keyof TOutputSchema]: z.infer>; + }, + TInputSchema, + TOutputSchema, + 'v2' + >, +): TemplateAction< + FlattenOptionalProperties<{ + [key in keyof TInputSchema]: z.output>; + }>, + FlattenOptionalProperties<{ + [key in keyof TOutputSchema]: z.output>; + }>, + 'v2' +>; // @public export function deserializeDirectoryContents( @@ -440,6 +507,7 @@ export type TaskStatus = export type TemplateAction< TActionInput extends JsonObject = JsonObject, TActionOutput extends JsonObject = JsonObject, + TSchemaType extends 'v1' | 'v2' = 'v1', > = { id: string; description?: string; @@ -452,15 +520,28 @@ export type TemplateAction< input?: Schema; output?: Schema; }; - handler: (ctx: ActionContext) => Promise; + handler: ( + ctx: ActionContext, + ) => Promise; }; // @public (undocumented) export type TemplateActionOptions< TActionInput extends JsonObject = {}, TActionOutput extends JsonObject = {}, - TInputSchema extends Schema | z.ZodType = {}, - TOutputSchema extends Schema | z.ZodType = {}, + TInputSchema extends + | JsonObject + | z.ZodType + | { + [key in string]: (zImpl: typeof z) => z.ZodType; + } = JsonObject, + TOutputSchema extends + | JsonObject + | z.ZodType + | { + [key in string]: (zImpl: typeof z) => z.ZodType; + } = JsonObject, + TSchemaType extends 'v1' | 'v2' = 'v1' | 'v2', > = { id: string; description?: string; @@ -470,7 +551,9 @@ export type TemplateActionOptions< input?: TInputSchema; output?: TOutputSchema; }; - handler: (ctx: ActionContext) => Promise; + handler: ( + ctx: ActionContext, + ) => Promise; }; // @public (undocumented)