@backstage/plugin-scaffolder-backend 4.1.0-next.0 → 4.2.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/config.schema.json +4 -0
- package/dist/ScaffolderPlugin.cjs.js +9 -2
- package/dist/ScaffolderPlugin.cjs.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/scaffolder/actions/builtin/fetch/assertScmUserCredentials.cjs.js +34 -0
- package/dist/scaffolder/actions/builtin/fetch/assertScmUserCredentials.cjs.js.map +1 -0
- package/dist/scaffolder/actions/builtin/fetch/plain.cjs.js +9 -1
- package/dist/scaffolder/actions/builtin/fetch/plain.cjs.js.map +1 -1
- package/dist/scaffolder/actions/builtin/fetch/plainFile.cjs.js +9 -1
- package/dist/scaffolder/actions/builtin/fetch/plainFile.cjs.js.map +1 -1
- package/dist/scaffolder/actions/builtin/fetch/template.cjs.js +8 -0
- package/dist/scaffolder/actions/builtin/fetch/template.cjs.js.map +1 -1
- package/dist/scaffolder/actions/builtin/fetch/templateFile.cjs.js +8 -0
- package/dist/scaffolder/actions/builtin/fetch/templateFile.cjs.js.map +1 -1
- package/dist/scaffolder/tasks/DatabaseTaskStore.cjs.js +17 -18
- package/dist/scaffolder/tasks/DatabaseTaskStore.cjs.js.map +1 -1
- package/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js +131 -52
- package/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map +1 -1
- package/dist/scaffolder/tasks/TaskWorker.cjs.js +14 -4
- package/dist/scaffolder/tasks/TaskWorker.cjs.js.map +1 -1
- package/dist/scaffolder/tasks/logger.cjs.js +101 -7
- package/dist/scaffolder/tasks/logger.cjs.js.map +1 -1
- package/dist/schema/openapi/generated/router.cjs.js +6 -6
- package/dist/schema/openapi/generated/router.cjs.js.map +1 -1
- package/dist/service/router.cjs.js +20 -4
- package/dist/service/router.cjs.js.map +1 -1
- package/dist/service/rules.cjs.js +12 -0
- package/dist/service/rules.cjs.js.map +1 -1
- package/dist/util/checkPermissions.cjs.js +3 -0
- package/dist/util/checkPermissions.cjs.js.map +1 -1
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.cjs.js","sources":["../../../src/scaffolder/tasks/logger.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n LoggerService,\n RootLoggerService,\n} from '@backstage/backend-plugin-api';\nimport { JsonObject } from '@backstage/types';\nimport { Format, TransformableInfo } from 'logform';\nimport Transport, { TransportStreamOptions } from 'winston-transport';\nimport { Logger, format, createLogger, transports } from 'winston';\nimport { LEVEL, MESSAGE, SPLAT } from 'triple-beam';\nimport { TaskContext } from '@backstage/plugin-scaffolder-node';\nimport _ from 'lodash';\n\n/**\n * Escapes a given string to be used inside a RegExp.\n *\n * Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions\n */\nconst escapeRegExp = (text: string) => {\n return text.replace(/[.*+?^${}(\\)|[\\]\\\\]/g, '\\\\$&');\n};\n\ninterface WinstonLoggerOptions {\n meta?: JsonObject;\n level: string;\n format: Format;\n transports: Transport[];\n}\n\n// This is a workaround for being able to preserve the log format of the root logger.\n// Will revisit all of this implementation once we can break the router to use only `LoggerService`.\nexport class BackstageLoggerTransport extends Transport {\n private readonly backstageLogger: LoggerService;\n private readonly taskContext: TaskContext;\n private readonly stepId: string;\n\n constructor(\n backstageLogger: LoggerService,\n taskContext: TaskContext,\n stepId: string,\n opts?: TransportStreamOptions,\n ) {\n super(opts);\n this.backstageLogger = backstageLogger;\n this.taskContext = taskContext;\n this.stepId = stepId;\n }\n\n log(info: TransformableInfo, callback: VoidFunction) {\n if (typeof info !== 'object' || info === null) {\n callback();\n return;\n }\n\n const message = info[MESSAGE];\n const level = info[LEVEL];\n\n switch (level) {\n case 'error':\n this.backstageLogger.error(String(message));\n break;\n case 'warn':\n this.backstageLogger.warn(String(message));\n break;\n case 'info':\n this.backstageLogger.info(String(message));\n break;\n case 'debug':\n this.backstageLogger.debug(String(message));\n break;\n default:\n this.backstageLogger.info(String(message));\n break;\n }\n\n this.taskContext.emitLog(String(message), { stepId: this.stepId });\n callback();\n }\n}\n\nexport class WinstonLogger implements RootLoggerService {\n #winston: Logger;\n #addRedactions?: (redactions: Iterable<string>) => void;\n\n /**\n * Creates a {@link WinstonLogger} instance.\n */\n static create(options: WinstonLoggerOptions): WinstonLogger {\n const redacter = WinstonLogger.redacter();\n\n let logger = createLogger({\n level: options.level,\n format: format.combine(options.format, redacter.format),\n transports: options.transports ?? new transports.Console(),\n });\n\n if (options.meta) {\n logger = logger.child(options.meta);\n }\n\n return new WinstonLogger(logger, redacter.add);\n }\n\n /**\n * Creates a winston log formatter for redacting secrets.\n */\n static redacter(): {\n format: Format;\n add: (redactions: Iterable<string>) => void;\n } {\n const redactionSet = new Set<string>();\n\n let redactionPattern: RegExp | undefined = undefined;\n\n return {\n format: format((obj: TransformableInfo) => {\n if (!redactionPattern || !obj) {\n return obj;\n }\n\n if (typeof obj[MESSAGE] === 'string') {\n obj[MESSAGE] = obj[MESSAGE].replace(redactionPattern, '***');\n }\n\n return obj;\n })(),\n add(newRedactions) {\n let added = 0;\n for (const redactionToTrim of newRedactions) {\n // Skip null or undefined values\n if (redactionToTrim === null || redactionToTrim === undefined) {\n continue;\n }\n // Trimming the string ensures that we don't accdentally get extra\n // newlines or other whitespace interfering with the redaction; this\n // can happen for example when using string literals in yaml\n const redaction = redactionToTrim.trim();\n // Exclude secrets that are empty or just one character in length. These\n // typically mean that you are running local dev or tests, or using the\n // --lax flag which sets things to just 'x'.\n if (redaction.length <= 1) {\n continue;\n }\n if (!redactionSet.has(redaction)) {\n redactionSet.add(redaction);\n added += 1;\n }\n }\n if (added > 0) {\n const redactions = Array.from(redactionSet)\n .map(r => escapeRegExp(r))\n .join('|');\n redactionPattern = new RegExp(`(${redactions})`, 'g');\n }\n },\n };\n }\n\n /**\n * Creates a pretty printed winston log formatter.\n */\n static colorFormat(): Format {\n const colorizer = format.colorize();\n\n return format.combine(\n format.timestamp(),\n format.colorize({\n colors: {\n timestamp: 'dim',\n prefix: 'blue',\n field: 'cyan',\n debug: 'grey',\n },\n }),\n format.printf((info: TransformableInfo) => {\n const { timestamp, plugin, service } = info;\n const message = info[MESSAGE];\n const level = info[LEVEL];\n const fields = info[SPLAT];\n const prefix = plugin || service;\n const timestampColor = colorizer.colorize(\n 'timestamp',\n String(timestamp),\n );\n const prefixColor = colorizer.colorize('prefix', String(prefix));\n\n const extraFields = Object.entries(fields as any)\n .map(\n ([key, value]) =>\n `${colorizer.colorize('field', `${key}`)}=${value}`,\n )\n .join(' ');\n\n return `${timestampColor} ${prefixColor} ${level} ${message} ${extraFields}`;\n }),\n );\n }\n\n private constructor(\n winston: Logger,\n addRedactions?: (redactions: Iterable<string>) => void,\n ) {\n this.#winston = winston;\n this.#addRedactions = addRedactions;\n }\n\n error(message: string, meta?: JsonObject): void {\n this.#winston.error(message, meta);\n }\n\n warn(message: string, meta?: JsonObject): void {\n this.#winston.warn(message, meta);\n }\n\n info(message: string, meta?: JsonObject): void {\n this.#winston.info(message, meta);\n }\n\n debug(message: string, meta?: JsonObject): void {\n this.#winston.debug(message, meta);\n }\n\n child(meta: JsonObject): LoggerService {\n return new WinstonLogger(this.#winston.child(meta));\n }\n\n addRedactions(redactions: Iterable<string>) {\n this.#addRedactions?.(redactions);\n }\n}\n"],"names":["Transport","MESSAGE","LEVEL","createLogger","format","transports","SPLAT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logger.cjs.js","sources":["../../../src/scaffolder/tasks/logger.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n LoggerService,\n RootLoggerService,\n} from '@backstage/backend-plugin-api';\nimport { JsonObject } from '@backstage/types';\nimport { Format, TransformableInfo } from 'logform';\nimport Transport, { TransportStreamOptions } from 'winston-transport';\nimport { Logger, format, createLogger, transports } from 'winston';\nimport { LEVEL, MESSAGE, SPLAT } from 'triple-beam';\nimport { TaskContext } from '@backstage/plugin-scaffolder-node';\nimport type { ErrorLike } from '@backstage/errors';\nimport _ from 'lodash';\n\n/**\n * Escapes a given string to be used inside a RegExp.\n *\n * Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions\n */\nconst escapeRegExp = (text: string) => {\n return text.replace(/[.*+?^${}(\\)|[\\]\\\\]/g, '\\\\$&');\n};\n\ninterface WinstonLoggerOptions {\n meta?: JsonObject;\n level: string;\n format: Format;\n transports: Transport[];\n}\n\n// This is a workaround for being able to preserve the log format of the root logger.\n// Will revisit all of this implementation once we can break the router to use only `LoggerService`.\nexport class BackstageLoggerTransport extends Transport {\n private readonly backstageLogger: LoggerService;\n private readonly taskContext: TaskContext;\n private readonly stepId: string;\n\n constructor(\n backstageLogger: LoggerService,\n taskContext: TaskContext,\n stepId: string,\n opts?: TransportStreamOptions,\n ) {\n super(opts);\n this.backstageLogger = backstageLogger;\n this.taskContext = taskContext;\n this.stepId = stepId;\n }\n\n log(info: TransformableInfo, callback: VoidFunction) {\n if (typeof info !== 'object' || info === null) {\n callback();\n return;\n }\n\n const message = info[MESSAGE];\n const level = info[LEVEL];\n\n switch (level) {\n case 'error':\n this.backstageLogger.error(String(message));\n break;\n case 'warn':\n this.backstageLogger.warn(String(message));\n break;\n case 'info':\n this.backstageLogger.info(String(message));\n break;\n case 'debug':\n this.backstageLogger.debug(String(message));\n break;\n default:\n this.backstageLogger.info(String(message));\n break;\n }\n\n this.taskContext.emitLog(String(message), { stepId: this.stepId });\n callback();\n }\n}\n\nexport class WinstonLogger implements RootLoggerService {\n #winston: Logger;\n #addRedactions?: (redactions: Iterable<string>) => void;\n #redact?: (value: string) => string;\n #redactError?: (error: unknown) => ErrorLike;\n\n /**\n * Creates a {@link WinstonLogger} instance.\n */\n static create(options: WinstonLoggerOptions): WinstonLogger {\n const redacter = WinstonLogger.redacter();\n\n let logger = createLogger({\n level: options.level,\n format: format.combine(options.format, redacter.format),\n transports: options.transports ?? new transports.Console(),\n });\n\n if (options.meta) {\n logger = logger.child(options.meta);\n }\n\n return new WinstonLogger(\n logger,\n redacter.add,\n redacter.redact,\n redacter.redactError,\n );\n }\n\n /**\n * Creates a winston log formatter for redacting secrets.\n */\n static redacter(): {\n format: Format;\n add: (redactions: Iterable<string>) => void;\n redact: (value: string) => string;\n redactError: (error: unknown) => ErrorLike;\n } {\n const redactionSet = new Set<string>();\n\n let redactionPattern: RegExp | undefined = undefined;\n\n const redact = (value: string) => {\n if (!redactionPattern) {\n return value;\n }\n\n const ranges = Array.from(value.matchAll(redactionPattern), match => ({\n start: match.index,\n end: match.index + match[1].length,\n }));\n if (ranges.length === 0) {\n return value;\n }\n\n const mergedRanges: { start: number; end: number }[] = [];\n for (const range of ranges) {\n const previous = mergedRanges.at(-1);\n if (previous && range.start < previous.end) {\n previous.end = Math.max(previous.end, range.end);\n } else {\n mergedRanges.push(range);\n }\n }\n\n let result = '';\n let cursor = 0;\n for (const range of mergedRanges) {\n result += `${value.slice(cursor, range.start)}***`;\n cursor = range.end;\n }\n return result + value.slice(cursor);\n };\n\n const createSanitizedError = (\n name = 'Error',\n message = 'Task failed',\n stack?: string,\n ): ErrorLike => {\n const sanitizedError = new Error(message) as ErrorLike;\n sanitizedError.name = name;\n if (stack !== undefined) {\n sanitizedError.stack = stack;\n }\n return sanitizedError;\n };\n\n const createUnknownError = (value: unknown): ErrorLike => {\n try {\n return createSanitizedError(\n 'Error',\n redact(`unknown error '${String(value)}'`),\n );\n } catch {\n return createSanitizedError(\n 'Error',\n `unknown error of type '${typeof value}'`,\n );\n }\n };\n\n const redactError = (error: unknown): ErrorLike => {\n if (\n (typeof error !== 'object' || error === null) &&\n typeof error !== 'function'\n ) {\n return typeof error === 'string'\n ? createSanitizedError('Error', redact(error))\n : createUnknownError(error);\n }\n\n const errorLike = error as Partial<ErrorLike>;\n let originalName: unknown;\n let originalMessage: unknown;\n let originalStack: unknown;\n\n try {\n originalName = errorLike.name;\n originalMessage = errorLike.message;\n originalStack = errorLike.stack;\n } catch {\n return createSanitizedError();\n }\n\n if (\n typeof originalName !== 'string' ||\n !originalName ||\n typeof originalMessage !== 'string'\n ) {\n return createUnknownError(error);\n }\n\n const name = redact(originalName);\n const message = redact(originalMessage);\n const stack =\n typeof originalStack === 'string' ? redact(originalStack) : undefined;\n\n return createSanitizedError(name, message, stack);\n };\n\n return {\n format: format((obj: TransformableInfo) => {\n if (!redactionPattern || !obj) {\n return obj;\n }\n\n if (typeof obj[MESSAGE] === 'string') {\n obj[MESSAGE] = redact(obj[MESSAGE]);\n }\n\n return obj;\n })(),\n add(newRedactions) {\n let added = 0;\n for (const redactionToTrim of newRedactions) {\n // Skip null or undefined values\n if (redactionToTrim === null || redactionToTrim === undefined) {\n continue;\n }\n // Trimming the string ensures that we don't accdentally get extra\n // newlines or other whitespace interfering with the redaction; this\n // can happen for example when using string literals in yaml\n const redaction = redactionToTrim.trim();\n // Exclude secrets that are empty or just one character in length. These\n // typically mean that you are running local dev or tests, or using the\n // --lax flag which sets things to just 'x'.\n if (redaction.length <= 1) {\n continue;\n }\n if (!redactionSet.has(redaction)) {\n redactionSet.add(redaction);\n added += 1;\n }\n }\n if (added > 0) {\n const redactions = Array.from(redactionSet)\n .sort((a, b) => b.length - a.length)\n .map(r => escapeRegExp(r))\n .join('|');\n redactionPattern = new RegExp(`(?=(${redactions}))`, 'g');\n }\n },\n redact,\n redactError,\n };\n }\n\n /**\n * Creates a pretty printed winston log formatter.\n */\n static colorFormat(): Format {\n const colorizer = format.colorize();\n\n return format.combine(\n format.timestamp(),\n format.colorize({\n colors: {\n timestamp: 'dim',\n prefix: 'blue',\n field: 'cyan',\n debug: 'grey',\n },\n }),\n format.printf((info: TransformableInfo) => {\n const { timestamp, plugin, service } = info;\n const message = info[MESSAGE];\n const level = info[LEVEL];\n const fields = info[SPLAT];\n const prefix = plugin || service;\n const timestampColor = colorizer.colorize(\n 'timestamp',\n String(timestamp),\n );\n const prefixColor = colorizer.colorize('prefix', String(prefix));\n\n const extraFields = Object.entries(fields as any)\n .map(\n ([key, value]) =>\n `${colorizer.colorize('field', `${key}`)}=${value}`,\n )\n .join(' ');\n\n return `${timestampColor} ${prefixColor} ${level} ${message} ${extraFields}`;\n }),\n );\n }\n\n private constructor(\n winston: Logger,\n addRedactions?: (redactions: Iterable<string>) => void,\n redact?: (value: string) => string,\n redactError?: (error: unknown) => ErrorLike,\n ) {\n this.#winston = winston;\n this.#addRedactions = addRedactions;\n this.#redact = redact;\n this.#redactError = redactError;\n }\n\n error(message: string, meta?: JsonObject): void {\n this.#winston.error(message, meta);\n }\n\n warn(message: string, meta?: JsonObject): void {\n this.#winston.warn(message, meta);\n }\n\n info(message: string, meta?: JsonObject): void {\n this.#winston.info(message, meta);\n }\n\n debug(message: string, meta?: JsonObject): void {\n this.#winston.debug(message, meta);\n }\n\n child(meta: JsonObject): LoggerService {\n return new WinstonLogger(\n this.#winston.child(meta),\n this.#addRedactions,\n this.#redact,\n this.#redactError,\n );\n }\n\n addRedactions(redactions: Iterable<string>) {\n this.#addRedactions?.(redactions);\n }\n\n redact(value: string) {\n return this.#redact?.(value) ?? value;\n }\n\n redactError(error: unknown): ErrorLike {\n return (\n this.#redactError?.(error) ?? (new Error('Task failed') as ErrorLike)\n );\n }\n}\n"],"names":["Transport","MESSAGE","LEVEL","createLogger","format","transports","SPLAT"],"mappings":"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"}
|
|
@@ -492,12 +492,6 @@ const spec = {
|
|
|
492
492
|
},
|
|
493
493
|
createdBy: {
|
|
494
494
|
type: "string"
|
|
495
|
-
},
|
|
496
|
-
secrets: {
|
|
497
|
-
$ref: "#/components/schemas/TaskSecrets"
|
|
498
|
-
},
|
|
499
|
-
state: {
|
|
500
|
-
$ref: "#/components/schemas/JsonObject"
|
|
501
495
|
}
|
|
502
496
|
},
|
|
503
497
|
required: ["id", "spec", "status", "createdAt"],
|
|
@@ -802,6 +796,9 @@ const spec = {
|
|
|
802
796
|
}
|
|
803
797
|
}
|
|
804
798
|
}
|
|
799
|
+
},
|
|
800
|
+
"400": {
|
|
801
|
+
$ref: "#/components/responses/ErrorResponse"
|
|
805
802
|
}
|
|
806
803
|
},
|
|
807
804
|
security: [
|
|
@@ -1010,6 +1007,9 @@ const spec = {
|
|
|
1010
1007
|
}
|
|
1011
1008
|
}
|
|
1012
1009
|
}
|
|
1010
|
+
},
|
|
1011
|
+
"409": {
|
|
1012
|
+
$ref: "#/components/responses/ErrorResponse"
|
|
1013
1013
|
}
|
|
1014
1014
|
},
|
|
1015
1015
|
security: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.cjs.js","sources":["../../../../src/schema/openapi/generated/router.ts"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// ******************************************************************\n// * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. *\n// ******************************************************************\nimport { createValidatedOpenApiRouterFromGeneratedEndpointMap } from '@backstage/backend-openapi-utils';\nimport { EndpointMap } from './apis';\n\nexport const spec = {\n openapi: '3.1.0',\n info: {\n title: 'scaffolder',\n version: '1',\n description:\n 'The Backstage backend plugin that helps you create new things',\n license: {\n name: 'Apache-2.0',\n url: 'http://www.apache.org/licenses/LICENSE-2.0.html',\n },\n contact: {},\n },\n servers: [\n {\n url: '/',\n },\n ],\n components: {\n examples: {},\n headers: {},\n parameters: {\n createdBy: {\n name: 'createdBy',\n in: 'query',\n description: 'Created by',\n required: false,\n allowReserved: true,\n schema: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n },\n eventsAfter: {\n name: 'after',\n in: 'query',\n description: 'Offset event ID to stream events after.',\n required: false,\n allowReserved: true,\n schema: {\n type: 'integer',\n },\n },\n kind: {\n name: 'kind',\n in: 'path',\n required: true,\n schema: {\n type: 'string',\n },\n },\n limit: {\n name: 'limit',\n in: 'query',\n description: 'Number of records to return in the response.',\n required: false,\n allowReserved: true,\n schema: {\n type: 'integer',\n minimum: 0,\n },\n },\n namespace: {\n name: 'namespace',\n in: 'path',\n required: true,\n schema: {\n type: 'string',\n },\n },\n name: {\n name: 'name',\n in: 'path',\n required: true,\n schema: {\n type: 'string',\n },\n },\n offset: {\n name: 'offset',\n in: 'query',\n description: 'Number of records to skip in the query page.',\n required: false,\n allowReserved: true,\n schema: {\n type: 'integer',\n minimum: 0,\n },\n },\n order: {\n name: 'order',\n in: 'query',\n description: 'Order',\n required: false,\n allowReserved: true,\n schema: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n },\n status: {\n name: 'status',\n in: 'query',\n description: 'Status',\n required: false,\n allowReserved: true,\n schema: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n },\n taskId: {\n name: 'taskId',\n in: 'path',\n required: true,\n schema: {\n type: 'string',\n },\n },\n },\n requestBodies: {},\n responses: {\n ErrorResponse: {\n description: 'An error response from the backend.',\n content: {\n 'application/json; charset=utf-8': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n },\n schemas: {\n Action: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n examples: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ActionExample',\n },\n },\n schema: {\n type: 'object',\n properties: {\n input: {\n $ref: '#/components/schemas/JsonObject',\n },\n output: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n },\n },\n required: ['id'],\n description:\n 'The response shape for a single action in the `listActions` call to the `scaffolder-backend`',\n },\n ActionExample: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n example: {\n type: 'string',\n },\n },\n required: ['description', 'example'],\n description: 'A single action example',\n },\n DryRunResult: {\n type: 'object',\n properties: {\n log: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n body: {\n allOf: [\n {\n $ref: '#/components/schemas/JsonObject',\n },\n {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n },\n status: {\n $ref: '#/components/schemas/TaskStatus',\n },\n stepId: {\n type: 'string',\n },\n },\n required: ['message'],\n },\n ],\n },\n },\n required: ['body'],\n },\n },\n directoryContents: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/SerializedFile',\n },\n },\n output: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n required: ['log', 'directoryContents', 'output'],\n },\n Error: {\n type: 'object',\n properties: {\n error: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n },\n message: {\n type: 'string',\n },\n stack: {\n type: 'string',\n },\n code: {\n type: 'string',\n },\n },\n required: ['name', 'message'],\n },\n request: {\n type: 'object',\n properties: {\n method: {\n type: 'string',\n },\n url: {\n type: 'string',\n },\n },\n required: ['method', 'url'],\n },\n response: {\n type: 'object',\n properties: {\n statusCode: {\n type: 'number',\n },\n },\n required: ['statusCode'],\n },\n },\n required: ['error', 'response'],\n additionalProperties: {},\n },\n JsonArray: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/JsonValue',\n },\n description: 'A type representing all allowed JSON array values.',\n },\n JsonObject: {\n type: 'object',\n properties: {},\n description: 'A type representing all allowed JSON object values.',\n additionalProperties: {},\n },\n JsonPrimitive: {\n oneOf: [\n {\n type: 'boolean',\n },\n {\n type: 'number',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n description: 'A type representing all allowed JSON primitive values.',\n },\n JsonValue: {\n oneOf: [\n {\n $ref: '#/components/schemas/JsonObject',\n },\n {\n $ref: '#/components/schemas/JsonArray',\n },\n {\n $ref: '#/components/schemas/JsonPrimitive',\n },\n ],\n description: 'A type representing all allowed JSON values.',\n },\n ListActionsResponse: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/Action',\n },\n description:\n 'The response shape for the `listActions` call to the `scaffolder-backend`',\n },\n ListTasksResponse: {\n type: 'object',\n properties: {\n tasks: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/SerializedTask',\n },\n },\n totalTasks: {\n type: 'number',\n },\n },\n required: ['tasks'],\n description:\n 'The response shape for the `listTasks` call to the `scaffolder-backend`',\n },\n ListTemplatingExtensionsResponse: {\n type: 'object',\n properties: {\n filters: {\n type: 'object',\n additionalProperties: {\n $ref: '#/components/schemas/TemplateFilter',\n },\n },\n globals: {\n type: 'object',\n properties: {\n functions: {\n type: 'object',\n additionalProperties: {\n $ref: '#/components/schemas/TemplateGlobalFunction',\n },\n },\n values: {\n type: 'object',\n additionalProperties: {\n $ref: '#/components/schemas/TemplateGlobalValue',\n },\n },\n },\n required: ['functions', 'values'],\n },\n },\n required: ['filters', 'globals'],\n description:\n 'The response shape for the `listTemplatingExtensions` call to the `scaffolder-backend`',\n },\n ScaffolderScaffoldOptions: {\n type: 'object',\n properties: {\n templateRef: {\n type: 'string',\n },\n values: {\n type: 'object',\n additionalProperties: {},\n },\n secrets: {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n },\n required: ['templateRef', 'values'],\n description:\n 'The input options to the `scaffold` method of the `ScaffolderClient`.',\n },\n ScaffolderUsageExample: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n example: {\n type: 'string',\n },\n notes: {\n type: 'string',\n },\n },\n required: ['example'],\n description: 'A single scaffolder usage example',\n },\n SerializedFile: {\n type: 'object',\n properties: {\n path: {\n type: 'string',\n },\n content: {\n type: 'string',\n },\n executable: {\n type: 'boolean',\n },\n symlink: {\n type: 'boolean',\n },\n },\n required: ['path', 'content'],\n },\n SerializedTaskEvent: {\n type: 'object',\n properties: {\n id: {\n type: 'integer',\n },\n isTaskRecoverable: {\n type: 'boolean',\n },\n taskId: {\n type: 'string',\n },\n body: {\n allOf: [\n {\n $ref: '#/components/schemas/JsonObject',\n },\n {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n },\n status: {\n $ref: '#/components/schemas/TaskStatus',\n },\n stepId: {\n type: 'string',\n },\n },\n required: ['message'],\n },\n ],\n },\n type: {\n $ref: '#/components/schemas/TaskEventType',\n },\n createdAt: {\n type: 'string',\n },\n },\n required: ['id', 'taskId', 'body', 'type', 'createdAt'],\n description: 'SerializedTaskEvent',\n },\n SerializedTask: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n spec: {\n type: 'object',\n },\n status: {\n $ref: '#/components/schemas/TaskStatus',\n },\n createdAt: {\n type: 'string',\n },\n lastHeartbeatAt: {\n type: 'string',\n },\n createdBy: {\n type: 'string',\n },\n secrets: {\n $ref: '#/components/schemas/TaskSecrets',\n },\n state: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n required: ['id', 'spec', 'status', 'createdAt'],\n description: 'SerializedTask',\n },\n TaskEventType: {\n type: 'string',\n description: 'TaskEventType',\n enum: ['cancelled', 'completion', 'log', 'recovered'],\n },\n TaskSecrets: {\n allOf: [\n {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n {\n type: 'object',\n properties: {\n backstageToken: {\n type: 'string',\n },\n },\n },\n ],\n description: 'TaskSecrets',\n },\n TaskStatus: {\n type: 'string',\n enum: [\n 'cancelled',\n 'completed',\n 'failed',\n 'open',\n 'processing',\n 'skipped',\n ],\n description: 'The status of each step of the Task',\n },\n TemplateGlobalFunction: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n schema: {\n type: 'object',\n properties: {\n arguments: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n output: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n },\n examples: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ScaffolderUsageExample',\n },\n },\n },\n description:\n 'The response shape for a single global function in the `listTemplatingExtensions` call to the `scaffolder-backend`',\n },\n TemplateGlobalValue: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n value: {\n anyOf: [\n {\n type: 'object',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n required: ['value'],\n description:\n 'The response shape for a single global value in the `listTemplatingExtensions` call to the `scaffolder-backend`',\n },\n TemplateFilter: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n schema: {\n type: 'object',\n properties: {\n input: {\n $ref: '#/components/schemas/JsonObject',\n },\n arguments: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n output: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n },\n examples: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ScaffolderUsageExample',\n },\n },\n },\n description:\n 'The response shape for a single filter in the `listTemplatingExtensions` call to the `scaffolder-backend`',\n },\n TemplateParameterSchema: {\n type: 'object',\n properties: {\n title: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n steps: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n title: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n schema: {\n type: 'object',\n },\n },\n required: ['title', 'schema'],\n },\n },\n },\n required: ['title', 'steps'],\n description:\n 'The shape of each entry of parameters which gets rendered\\nas a separate step in the wizard input',\n additionalProperties: {},\n },\n ValidationError: {\n type: 'object',\n properties: {\n path: {\n type: 'array',\n items: {\n oneOf: [\n {\n type: 'string',\n },\n {\n type: 'integer',\n },\n ],\n },\n },\n property: {\n type: 'string',\n },\n message: {\n type: 'string',\n },\n instance: {\n type: 'object',\n },\n name: {\n type: 'string',\n },\n argument: {\n oneOf: [\n {\n type: 'boolean',\n },\n {\n type: 'number',\n },\n {\n type: 'object',\n },\n {\n type: 'string',\n },\n ],\n },\n stack: {\n type: 'string',\n },\n },\n required: [\n 'path',\n 'property',\n 'message',\n 'schema',\n 'instance',\n 'name',\n 'argument',\n 'stack',\n ],\n additionalProperties: {},\n },\n },\n securitySchemes: {\n JWT: {\n type: 'http',\n scheme: 'bearer',\n bearerFormat: 'JWT',\n },\n },\n },\n paths: {\n '/v2/templates/{namespace}/{kind}/{name}/parameter-schema': {\n get: {\n operationId: 'GetTemplateParameterSchema',\n description: 'Get template parameter schema.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/TemplateParameterSchema',\n },\n },\n },\n },\n '400': {\n $ref: '#/components/responses/ErrorResponse',\n },\n default: {\n $ref: '#/components/responses/ErrorResponse',\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/namespace',\n },\n {\n $ref: '#/components/parameters/kind',\n },\n {\n $ref: '#/components/parameters/name',\n },\n ],\n },\n },\n '/v2/actions': {\n get: {\n operationId: 'ListActions',\n description: 'Returns a list of all installed actions.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ListActionsResponse',\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [],\n },\n },\n '/v2/tasks': {\n get: {\n operationId: 'ListTasks',\n description:\n 'Returns a list of tasks, filtering by ownership and/or status if given.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ListTasksResponse',\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/createdBy',\n },\n {\n $ref: '#/components/parameters/limit',\n },\n {\n $ref: '#/components/parameters/offset',\n },\n {\n $ref: '#/components/parameters/order',\n },\n {\n $ref: '#/components/parameters/status',\n },\n ],\n },\n post: {\n operationId: 'Scaffold',\n description:\n 'Executes the scaffolding of a component, given a template and its\\nparameter values.',\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ScaffolderScaffoldOptions',\n },\n },\n },\n },\n responses: {\n '201': {\n description: 'Created',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n },\n required: ['id'],\n },\n },\n },\n },\n '400': {\n description: 'Validation errors.',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n errors: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ValidationError',\n },\n },\n },\n required: ['errors'],\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [],\n },\n },\n '/v2/tasks/{taskId}': {\n get: {\n operationId: 'GetTask',\n description: 'Get a task by ID.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/SerializedTask',\n },\n },\n },\n },\n '403': {\n $ref: '#/components/responses/ErrorResponse',\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/taskId',\n },\n ],\n },\n },\n '/v2/tasks/{taskId}/cancel': {\n post: {\n operationId: 'CancelTask',\n description:\n 'Sends a signal to a task broker to cancel the running task by taskId.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n status: {\n $ref: '#/components/schemas/TaskStatus',\n },\n },\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/taskId',\n },\n ],\n },\n },\n '/v2/tasks/{taskId}/retry': {\n post: {\n operationId: 'Retry',\n description: 'Starts the task again from the point where it failed.',\n requestBody: {\n required: false,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n secrets: {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n responses: {\n '201': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n },\n required: ['id'],\n },\n },\n },\n },\n '400': {\n description: 'Validation errors.',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n errors: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ValidationError',\n },\n },\n },\n required: ['errors'],\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/taskId',\n },\n ],\n },\n },\n '/v2/tasks/{taskId}/events': {\n get: {\n operationId: 'StreamLogsPolling',\n description: 'Get events for a task by ID.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/SerializedTaskEvent',\n },\n },\n },\n },\n },\n '403': {\n $ref: '#/components/responses/ErrorResponse',\n },\n },\n parameters: [\n {\n $ref: '#/components/parameters/eventsAfter',\n },\n {\n $ref: '#/components/parameters/taskId',\n },\n ],\n },\n },\n '/v2/dry-run': {\n post: {\n operationId: 'DryRun',\n description: 'Perform a dry-run of a template',\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n template: {\n type: 'object',\n },\n values: {\n $ref: '#/components/schemas/JsonObject',\n },\n secrets: {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n directoryContents: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n path: {\n type: 'string',\n },\n base64Content: {\n type: 'string',\n },\n },\n },\n },\n },\n required: ['template', 'values', 'directoryContents'],\n },\n },\n },\n },\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n allOf: [\n {\n $ref: '#/components/schemas/DryRunResult',\n },\n {\n type: 'object',\n properties: {\n steps: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n name: {\n type: 'string',\n },\n action: {\n type: 'string',\n },\n },\n required: ['id', 'name', 'action'],\n additionalProperties: {},\n },\n },\n directoryContents: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n path: {\n type: 'string',\n },\n executable: {\n type: 'boolean',\n },\n base64Content: {\n type: 'string',\n },\n },\n required: ['path', 'base64Content'],\n },\n },\n },\n required: ['steps'],\n },\n ],\n },\n },\n },\n },\n '400': {\n description: 'Validation errors.',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n errors: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ValidationError',\n },\n },\n },\n required: ['errors'],\n },\n },\n },\n },\n },\n parameters: [],\n },\n },\n '/v2/autocomplete/{provider}/{resource}': {\n post: {\n operationId: 'Autocomplete',\n description:\n 'Perform an autocomplete for the given provider and resource.',\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n context: {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n token: {\n type: 'string',\n },\n },\n required: ['context', 'token'],\n },\n },\n },\n },\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n results: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n title: {\n type: 'string',\n },\n id: {\n type: 'string',\n },\n },\n required: ['id'],\n },\n },\n },\n required: ['results'],\n },\n },\n },\n },\n '400': {\n description: 'Unsupported provider.',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n },\n name: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n parameters: [\n {\n in: 'path',\n name: 'provider',\n required: true,\n schema: {\n type: 'string',\n },\n },\n {\n in: 'path',\n name: 'resource',\n required: true,\n schema: {\n type: 'string',\n },\n },\n ],\n },\n },\n '/v2/templating-extensions': {\n get: {\n operationId: 'ListTemplatingExtensions',\n description:\n 'Returns a structure describing the available templating extensions.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ListTemplatingExtensionsResponse',\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [],\n },\n },\n },\n} as const;\nexport const createOpenApiRouter = async (\n options?: Parameters<\n typeof createValidatedOpenApiRouterFromGeneratedEndpointMap\n >['1'],\n) =>\n createValidatedOpenApiRouterFromGeneratedEndpointMap<EndpointMap>(\n spec,\n options,\n );\n"],"names":["createValidatedOpenApiRouterFromGeneratedEndpointMap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.cjs.js","sources":["../../../../src/schema/openapi/generated/router.ts"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// ******************************************************************\n// * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. *\n// ******************************************************************\nimport { createValidatedOpenApiRouterFromGeneratedEndpointMap } from '@backstage/backend-openapi-utils';\nimport { EndpointMap } from './apis';\n\nexport const spec = {\n openapi: '3.1.0',\n info: {\n title: 'scaffolder',\n version: '1',\n description:\n 'The Backstage backend plugin that helps you create new things',\n license: {\n name: 'Apache-2.0',\n url: 'http://www.apache.org/licenses/LICENSE-2.0.html',\n },\n contact: {},\n },\n servers: [\n {\n url: '/',\n },\n ],\n components: {\n examples: {},\n headers: {},\n parameters: {\n createdBy: {\n name: 'createdBy',\n in: 'query',\n description: 'Created by',\n required: false,\n allowReserved: true,\n schema: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n },\n eventsAfter: {\n name: 'after',\n in: 'query',\n description: 'Offset event ID to stream events after.',\n required: false,\n allowReserved: true,\n schema: {\n type: 'integer',\n },\n },\n kind: {\n name: 'kind',\n in: 'path',\n required: true,\n schema: {\n type: 'string',\n },\n },\n limit: {\n name: 'limit',\n in: 'query',\n description: 'Number of records to return in the response.',\n required: false,\n allowReserved: true,\n schema: {\n type: 'integer',\n minimum: 0,\n },\n },\n namespace: {\n name: 'namespace',\n in: 'path',\n required: true,\n schema: {\n type: 'string',\n },\n },\n name: {\n name: 'name',\n in: 'path',\n required: true,\n schema: {\n type: 'string',\n },\n },\n offset: {\n name: 'offset',\n in: 'query',\n description: 'Number of records to skip in the query page.',\n required: false,\n allowReserved: true,\n schema: {\n type: 'integer',\n minimum: 0,\n },\n },\n order: {\n name: 'order',\n in: 'query',\n description: 'Order',\n required: false,\n allowReserved: true,\n schema: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n },\n status: {\n name: 'status',\n in: 'query',\n description: 'Status',\n required: false,\n allowReserved: true,\n schema: {\n type: 'array',\n items: {\n type: 'string',\n },\n },\n },\n taskId: {\n name: 'taskId',\n in: 'path',\n required: true,\n schema: {\n type: 'string',\n },\n },\n },\n requestBodies: {},\n responses: {\n ErrorResponse: {\n description: 'An error response from the backend.',\n content: {\n 'application/json; charset=utf-8': {\n schema: {\n $ref: '#/components/schemas/Error',\n },\n },\n },\n },\n },\n schemas: {\n Action: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n examples: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ActionExample',\n },\n },\n schema: {\n type: 'object',\n properties: {\n input: {\n $ref: '#/components/schemas/JsonObject',\n },\n output: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n },\n },\n required: ['id'],\n description:\n 'The response shape for a single action in the `listActions` call to the `scaffolder-backend`',\n },\n ActionExample: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n example: {\n type: 'string',\n },\n },\n required: ['description', 'example'],\n description: 'A single action example',\n },\n DryRunResult: {\n type: 'object',\n properties: {\n log: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n body: {\n allOf: [\n {\n $ref: '#/components/schemas/JsonObject',\n },\n {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n },\n status: {\n $ref: '#/components/schemas/TaskStatus',\n },\n stepId: {\n type: 'string',\n },\n },\n required: ['message'],\n },\n ],\n },\n },\n required: ['body'],\n },\n },\n directoryContents: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/SerializedFile',\n },\n },\n output: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n required: ['log', 'directoryContents', 'output'],\n },\n Error: {\n type: 'object',\n properties: {\n error: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n },\n message: {\n type: 'string',\n },\n stack: {\n type: 'string',\n },\n code: {\n type: 'string',\n },\n },\n required: ['name', 'message'],\n },\n request: {\n type: 'object',\n properties: {\n method: {\n type: 'string',\n },\n url: {\n type: 'string',\n },\n },\n required: ['method', 'url'],\n },\n response: {\n type: 'object',\n properties: {\n statusCode: {\n type: 'number',\n },\n },\n required: ['statusCode'],\n },\n },\n required: ['error', 'response'],\n additionalProperties: {},\n },\n JsonArray: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/JsonValue',\n },\n description: 'A type representing all allowed JSON array values.',\n },\n JsonObject: {\n type: 'object',\n properties: {},\n description: 'A type representing all allowed JSON object values.',\n additionalProperties: {},\n },\n JsonPrimitive: {\n oneOf: [\n {\n type: 'boolean',\n },\n {\n type: 'number',\n },\n {\n type: 'string',\n },\n {\n type: 'null',\n },\n ],\n description: 'A type representing all allowed JSON primitive values.',\n },\n JsonValue: {\n oneOf: [\n {\n $ref: '#/components/schemas/JsonObject',\n },\n {\n $ref: '#/components/schemas/JsonArray',\n },\n {\n $ref: '#/components/schemas/JsonPrimitive',\n },\n ],\n description: 'A type representing all allowed JSON values.',\n },\n ListActionsResponse: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/Action',\n },\n description:\n 'The response shape for the `listActions` call to the `scaffolder-backend`',\n },\n ListTasksResponse: {\n type: 'object',\n properties: {\n tasks: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/SerializedTask',\n },\n },\n totalTasks: {\n type: 'number',\n },\n },\n required: ['tasks'],\n description:\n 'The response shape for the `listTasks` call to the `scaffolder-backend`',\n },\n ListTemplatingExtensionsResponse: {\n type: 'object',\n properties: {\n filters: {\n type: 'object',\n additionalProperties: {\n $ref: '#/components/schemas/TemplateFilter',\n },\n },\n globals: {\n type: 'object',\n properties: {\n functions: {\n type: 'object',\n additionalProperties: {\n $ref: '#/components/schemas/TemplateGlobalFunction',\n },\n },\n values: {\n type: 'object',\n additionalProperties: {\n $ref: '#/components/schemas/TemplateGlobalValue',\n },\n },\n },\n required: ['functions', 'values'],\n },\n },\n required: ['filters', 'globals'],\n description:\n 'The response shape for the `listTemplatingExtensions` call to the `scaffolder-backend`',\n },\n ScaffolderScaffoldOptions: {\n type: 'object',\n properties: {\n templateRef: {\n type: 'string',\n },\n values: {\n type: 'object',\n additionalProperties: {},\n },\n secrets: {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n },\n required: ['templateRef', 'values'],\n description:\n 'The input options to the `scaffold` method of the `ScaffolderClient`.',\n },\n ScaffolderUsageExample: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n example: {\n type: 'string',\n },\n notes: {\n type: 'string',\n },\n },\n required: ['example'],\n description: 'A single scaffolder usage example',\n },\n SerializedFile: {\n type: 'object',\n properties: {\n path: {\n type: 'string',\n },\n content: {\n type: 'string',\n },\n executable: {\n type: 'boolean',\n },\n symlink: {\n type: 'boolean',\n },\n },\n required: ['path', 'content'],\n },\n SerializedTaskEvent: {\n type: 'object',\n properties: {\n id: {\n type: 'integer',\n },\n isTaskRecoverable: {\n type: 'boolean',\n },\n taskId: {\n type: 'string',\n },\n body: {\n allOf: [\n {\n $ref: '#/components/schemas/JsonObject',\n },\n {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n },\n status: {\n $ref: '#/components/schemas/TaskStatus',\n },\n stepId: {\n type: 'string',\n },\n },\n required: ['message'],\n },\n ],\n },\n type: {\n $ref: '#/components/schemas/TaskEventType',\n },\n createdAt: {\n type: 'string',\n },\n },\n required: ['id', 'taskId', 'body', 'type', 'createdAt'],\n description: 'SerializedTaskEvent',\n },\n SerializedTask: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n spec: {\n type: 'object',\n },\n status: {\n $ref: '#/components/schemas/TaskStatus',\n },\n createdAt: {\n type: 'string',\n },\n lastHeartbeatAt: {\n type: 'string',\n },\n createdBy: {\n type: 'string',\n },\n },\n required: ['id', 'spec', 'status', 'createdAt'],\n description: 'SerializedTask',\n },\n TaskEventType: {\n type: 'string',\n description: 'TaskEventType',\n enum: ['cancelled', 'completion', 'log', 'recovered'],\n },\n TaskSecrets: {\n allOf: [\n {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n {\n type: 'object',\n properties: {\n backstageToken: {\n type: 'string',\n },\n },\n },\n ],\n description: 'TaskSecrets',\n },\n TaskStatus: {\n type: 'string',\n enum: [\n 'cancelled',\n 'completed',\n 'failed',\n 'open',\n 'processing',\n 'skipped',\n ],\n description: 'The status of each step of the Task',\n },\n TemplateGlobalFunction: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n schema: {\n type: 'object',\n properties: {\n arguments: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n output: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n },\n examples: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ScaffolderUsageExample',\n },\n },\n },\n description:\n 'The response shape for a single global function in the `listTemplatingExtensions` call to the `scaffolder-backend`',\n },\n TemplateGlobalValue: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n value: {\n anyOf: [\n {\n type: 'object',\n },\n {\n type: 'null',\n },\n ],\n },\n },\n required: ['value'],\n description:\n 'The response shape for a single global value in the `listTemplatingExtensions` call to the `scaffolder-backend`',\n },\n TemplateFilter: {\n type: 'object',\n properties: {\n description: {\n type: 'string',\n },\n schema: {\n type: 'object',\n properties: {\n input: {\n $ref: '#/components/schemas/JsonObject',\n },\n arguments: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n output: {\n $ref: '#/components/schemas/JsonObject',\n },\n },\n },\n examples: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ScaffolderUsageExample',\n },\n },\n },\n description:\n 'The response shape for a single filter in the `listTemplatingExtensions` call to the `scaffolder-backend`',\n },\n TemplateParameterSchema: {\n type: 'object',\n properties: {\n title: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n steps: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n title: {\n type: 'string',\n },\n description: {\n type: 'string',\n },\n schema: {\n type: 'object',\n },\n },\n required: ['title', 'schema'],\n },\n },\n },\n required: ['title', 'steps'],\n description:\n 'The shape of each entry of parameters which gets rendered\\nas a separate step in the wizard input',\n additionalProperties: {},\n },\n ValidationError: {\n type: 'object',\n properties: {\n path: {\n type: 'array',\n items: {\n oneOf: [\n {\n type: 'string',\n },\n {\n type: 'integer',\n },\n ],\n },\n },\n property: {\n type: 'string',\n },\n message: {\n type: 'string',\n },\n instance: {\n type: 'object',\n },\n name: {\n type: 'string',\n },\n argument: {\n oneOf: [\n {\n type: 'boolean',\n },\n {\n type: 'number',\n },\n {\n type: 'object',\n },\n {\n type: 'string',\n },\n ],\n },\n stack: {\n type: 'string',\n },\n },\n required: [\n 'path',\n 'property',\n 'message',\n 'schema',\n 'instance',\n 'name',\n 'argument',\n 'stack',\n ],\n additionalProperties: {},\n },\n },\n securitySchemes: {\n JWT: {\n type: 'http',\n scheme: 'bearer',\n bearerFormat: 'JWT',\n },\n },\n },\n paths: {\n '/v2/templates/{namespace}/{kind}/{name}/parameter-schema': {\n get: {\n operationId: 'GetTemplateParameterSchema',\n description: 'Get template parameter schema.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/TemplateParameterSchema',\n },\n },\n },\n },\n '400': {\n $ref: '#/components/responses/ErrorResponse',\n },\n default: {\n $ref: '#/components/responses/ErrorResponse',\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/namespace',\n },\n {\n $ref: '#/components/parameters/kind',\n },\n {\n $ref: '#/components/parameters/name',\n },\n ],\n },\n },\n '/v2/actions': {\n get: {\n operationId: 'ListActions',\n description: 'Returns a list of all installed actions.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ListActionsResponse',\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [],\n },\n },\n '/v2/tasks': {\n get: {\n operationId: 'ListTasks',\n description:\n 'Returns a list of tasks, filtering by ownership and/or status if given.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ListTasksResponse',\n },\n },\n },\n },\n '400': {\n $ref: '#/components/responses/ErrorResponse',\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/createdBy',\n },\n {\n $ref: '#/components/parameters/limit',\n },\n {\n $ref: '#/components/parameters/offset',\n },\n {\n $ref: '#/components/parameters/order',\n },\n {\n $ref: '#/components/parameters/status',\n },\n ],\n },\n post: {\n operationId: 'Scaffold',\n description:\n 'Executes the scaffolding of a component, given a template and its\\nparameter values.',\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ScaffolderScaffoldOptions',\n },\n },\n },\n },\n responses: {\n '201': {\n description: 'Created',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n },\n required: ['id'],\n },\n },\n },\n },\n '400': {\n description: 'Validation errors.',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n errors: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ValidationError',\n },\n },\n },\n required: ['errors'],\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [],\n },\n },\n '/v2/tasks/{taskId}': {\n get: {\n operationId: 'GetTask',\n description: 'Get a task by ID.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/SerializedTask',\n },\n },\n },\n },\n '403': {\n $ref: '#/components/responses/ErrorResponse',\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/taskId',\n },\n ],\n },\n },\n '/v2/tasks/{taskId}/cancel': {\n post: {\n operationId: 'CancelTask',\n description:\n 'Sends a signal to a task broker to cancel the running task by taskId.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n status: {\n $ref: '#/components/schemas/TaskStatus',\n },\n },\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/taskId',\n },\n ],\n },\n },\n '/v2/tasks/{taskId}/retry': {\n post: {\n operationId: 'Retry',\n description: 'Starts the task again from the point where it failed.',\n requestBody: {\n required: false,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n secrets: {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n responses: {\n '201': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n },\n required: ['id'],\n },\n },\n },\n },\n '400': {\n description: 'Validation errors.',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n errors: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ValidationError',\n },\n },\n },\n required: ['errors'],\n },\n },\n },\n },\n '409': {\n $ref: '#/components/responses/ErrorResponse',\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [\n {\n $ref: '#/components/parameters/taskId',\n },\n ],\n },\n },\n '/v2/tasks/{taskId}/events': {\n get: {\n operationId: 'StreamLogsPolling',\n description: 'Get events for a task by ID.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/SerializedTaskEvent',\n },\n },\n },\n },\n },\n '403': {\n $ref: '#/components/responses/ErrorResponse',\n },\n },\n parameters: [\n {\n $ref: '#/components/parameters/eventsAfter',\n },\n {\n $ref: '#/components/parameters/taskId',\n },\n ],\n },\n },\n '/v2/dry-run': {\n post: {\n operationId: 'DryRun',\n description: 'Perform a dry-run of a template',\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n template: {\n type: 'object',\n },\n values: {\n $ref: '#/components/schemas/JsonObject',\n },\n secrets: {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n directoryContents: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n path: {\n type: 'string',\n },\n base64Content: {\n type: 'string',\n },\n },\n },\n },\n },\n required: ['template', 'values', 'directoryContents'],\n },\n },\n },\n },\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n allOf: [\n {\n $ref: '#/components/schemas/DryRunResult',\n },\n {\n type: 'object',\n properties: {\n steps: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n },\n name: {\n type: 'string',\n },\n action: {\n type: 'string',\n },\n },\n required: ['id', 'name', 'action'],\n additionalProperties: {},\n },\n },\n directoryContents: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n path: {\n type: 'string',\n },\n executable: {\n type: 'boolean',\n },\n base64Content: {\n type: 'string',\n },\n },\n required: ['path', 'base64Content'],\n },\n },\n },\n required: ['steps'],\n },\n ],\n },\n },\n },\n },\n '400': {\n description: 'Validation errors.',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n errors: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ValidationError',\n },\n },\n },\n required: ['errors'],\n },\n },\n },\n },\n },\n parameters: [],\n },\n },\n '/v2/autocomplete/{provider}/{resource}': {\n post: {\n operationId: 'Autocomplete',\n description:\n 'Perform an autocomplete for the given provider and resource.',\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n context: {\n type: 'object',\n additionalProperties: {\n type: 'string',\n },\n },\n token: {\n type: 'string',\n },\n },\n required: ['context', 'token'],\n },\n },\n },\n },\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n results: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n title: {\n type: 'string',\n },\n id: {\n type: 'string',\n },\n },\n required: ['id'],\n },\n },\n },\n required: ['results'],\n },\n },\n },\n },\n '400': {\n description: 'Unsupported provider.',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n },\n name: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n parameters: [\n {\n in: 'path',\n name: 'provider',\n required: true,\n schema: {\n type: 'string',\n },\n },\n {\n in: 'path',\n name: 'resource',\n required: true,\n schema: {\n type: 'string',\n },\n },\n ],\n },\n },\n '/v2/templating-extensions': {\n get: {\n operationId: 'ListTemplatingExtensions',\n description:\n 'Returns a structure describing the available templating extensions.',\n responses: {\n '200': {\n description: 'Ok',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ListTemplatingExtensionsResponse',\n },\n },\n },\n },\n },\n security: [\n {},\n {\n JWT: [],\n },\n ],\n parameters: [],\n },\n },\n },\n} as const;\nexport const createOpenApiRouter = async (\n options?: Parameters<\n typeof createValidatedOpenApiRouterFromGeneratedEndpointMap\n >['1'],\n) =>\n createValidatedOpenApiRouterFromGeneratedEndpointMap<EndpointMap>(\n spec,\n options,\n );\n"],"names":["createValidatedOpenApiRouterFromGeneratedEndpointMap"],"mappings":"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"}
|
|
@@ -63,6 +63,7 @@ const readDuration = (config$1, key, defaultValue) => {
|
|
|
63
63
|
}
|
|
64
64
|
return defaultValue;
|
|
65
65
|
};
|
|
66
|
+
const taskOrderFields = /* @__PURE__ */ new Set(["created_at", "status", "created_by"]);
|
|
66
67
|
function formatSecretsValidationErrors(result) {
|
|
67
68
|
return result.errors.map((err) => {
|
|
68
69
|
const property = err.property.replace(/^instance/, "secrets");
|
|
@@ -93,6 +94,16 @@ async function validateSecrets(options) {
|
|
|
93
94
|
});
|
|
94
95
|
return false;
|
|
95
96
|
}
|
|
97
|
+
function serializeTask(task) {
|
|
98
|
+
return {
|
|
99
|
+
id: task.id,
|
|
100
|
+
spec: task.spec,
|
|
101
|
+
status: task.status,
|
|
102
|
+
createdAt: task.createdAt,
|
|
103
|
+
lastHeartbeatAt: task.lastHeartbeatAt,
|
|
104
|
+
createdBy: task.createdBy
|
|
105
|
+
};
|
|
106
|
+
}
|
|
96
107
|
async function createRouter(options) {
|
|
97
108
|
const router$1 = await router.createOpenApiRouter({
|
|
98
109
|
middleware: [
|
|
@@ -450,6 +461,9 @@ async function createRouter(options) {
|
|
|
450
461
|
`Invalid order parameter "${item}", expected "<asc or desc>:<field name>"`
|
|
451
462
|
);
|
|
452
463
|
}
|
|
464
|
+
if (!taskOrderFields.has(match[2])) {
|
|
465
|
+
throw new errors.InputError(`Invalid order field "${match[2]}"`);
|
|
466
|
+
}
|
|
453
467
|
return {
|
|
454
468
|
order: match[1],
|
|
455
469
|
field: match[2]
|
|
@@ -462,7 +476,7 @@ async function createRouter(options) {
|
|
|
462
476
|
permissionService: permissions$1,
|
|
463
477
|
transformConditions: taskTransformConditions
|
|
464
478
|
});
|
|
465
|
-
const
|
|
479
|
+
const taskList = await taskBroker.list({
|
|
466
480
|
filters: {
|
|
467
481
|
createdBy,
|
|
468
482
|
status: status ? status : void 0
|
|
@@ -475,7 +489,10 @@ async function createRouter(options) {
|
|
|
475
489
|
permissionFilters: taskPermissionFilters
|
|
476
490
|
});
|
|
477
491
|
await auditorEvent?.success();
|
|
478
|
-
res.status(200).json(
|
|
492
|
+
res.status(200).json({
|
|
493
|
+
tasks: taskList.tasks.map(serializeTask),
|
|
494
|
+
totalTasks: taskList.totalTasks
|
|
495
|
+
});
|
|
479
496
|
} catch (err) {
|
|
480
497
|
await auditorEvent?.fail({ error: err });
|
|
481
498
|
throw err;
|
|
@@ -504,8 +521,7 @@ async function createRouter(options) {
|
|
|
504
521
|
throw new errors.NotFoundError(`Task with id ${taskId} does not exist`);
|
|
505
522
|
}
|
|
506
523
|
await auditorEvent?.success();
|
|
507
|
-
|
|
508
|
-
res.status(200).json(task);
|
|
524
|
+
res.status(200).json(serializeTask(task));
|
|
509
525
|
} catch (err) {
|
|
510
526
|
await auditorEvent?.fail({ error: err });
|
|
511
527
|
throw err;
|