@backstage/plugin-scaffolder-common 1.7.7-next.0 → 2.0.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 +19 -0
- package/dist/ScaffolderClient.cjs.js +8 -8
- package/dist/ScaffolderClient.cjs.js.map +1 -1
- package/dist/ScaffolderClient.esm.js +8 -8
- package/dist/ScaffolderClient.esm.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/schema/openapi/generated/apis/Api.client.cjs.js.map +1 -1
- package/dist/schema/openapi/generated/apis/Api.client.esm.js.map +1 -1
- package/dist/schema/openapi/generated/pluginId.cjs.js.map +1 -1
- package/dist/schema/openapi/generated/pluginId.esm.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @backstage/plugin-scaffolder-common
|
|
2
2
|
|
|
3
|
+
## 2.0.0-next.1
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 527cf88: **BREAKING** Removed deprecated `bitbucket` integration from being registered in the `ScaffolderClient`. Use the `bitbucketCloud` or `bitbucketServer` integrations instead.
|
|
8
|
+
|
|
9
|
+
### Minor Changes
|
|
10
|
+
|
|
11
|
+
- f598909: **BREAKING PRODUCERS**: Made `retry`, `listTasks`, `listTemplatingExtensions`, `dryRun`, and `autocomplete` required methods on the `ScaffolderApi` interface. Implementations of `ScaffolderApi` must now provide these methods.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
- @backstage/integration@2.0.0-next.1
|
|
17
|
+
- @backstage/catalog-model@1.7.6
|
|
18
|
+
- @backstage/errors@1.2.7
|
|
19
|
+
- @backstage/types@1.2.2
|
|
20
|
+
- @backstage/plugin-permission-common@0.9.6
|
|
21
|
+
|
|
3
22
|
## 1.7.7-next.0
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
|
@@ -51,9 +51,6 @@ class ScaffolderClient {
|
|
|
51
51
|
async getIntegrationsList(options) {
|
|
52
52
|
const integrations = [
|
|
53
53
|
...this.scmIntegrationsApi.azure.list(),
|
|
54
|
-
...this.scmIntegrationsApi.bitbucket.list().filter(
|
|
55
|
-
(item) => !this.scmIntegrationsApi.bitbucketCloud.byHost(item.config.host) && !this.scmIntegrationsApi.bitbucketServer.byHost(item.config.host)
|
|
56
|
-
),
|
|
57
54
|
...this.scmIntegrationsApi.bitbucketCloud.list(),
|
|
58
55
|
...this.scmIntegrationsApi.bitbucketServer.list(),
|
|
59
56
|
...this.scmIntegrationsApi.gerrit.list(),
|
|
@@ -261,12 +258,15 @@ class ScaffolderClient {
|
|
|
261
258
|
resource,
|
|
262
259
|
provider,
|
|
263
260
|
context
|
|
264
|
-
}) {
|
|
261
|
+
}, options) {
|
|
265
262
|
return await this.requestRequired(
|
|
266
|
-
await this.apiClient.autocomplete(
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
263
|
+
await this.apiClient.autocomplete(
|
|
264
|
+
{
|
|
265
|
+
path: { provider, resource },
|
|
266
|
+
body: { token, context }
|
|
267
|
+
},
|
|
268
|
+
options
|
|
269
|
+
)
|
|
270
270
|
);
|
|
271
271
|
}
|
|
272
272
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaffolderClient.cjs.js","sources":["../src/ScaffolderClient.ts"],"sourcesContent":["/*\n * Copyright 2020 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\nimport { parseEntityRef } from '@backstage/catalog-model';\nimport { ResponseError } from '@backstage/errors';\nimport { ScmIntegrationRegistry } from '@backstage/integration';\nimport { Observable } from '@backstage/types';\nimport {\n EventSourceMessage,\n fetchEventSource,\n} from '@microsoft/fetch-event-source';\nimport ObservableImpl from 'zen-observable';\n\nimport { type TemplateParameterSchema } from './TemplateEntityV1beta3';\nimport {\n ListActionsResponse,\n ListTemplatingExtensionsResponse,\n LogEvent,\n ScaffolderApi,\n ScaffolderDryRunOptions,\n ScaffolderDryRunResponse,\n ScaffolderGetIntegrationsListOptions,\n ScaffolderGetIntegrationsListResponse,\n ScaffolderRequestOptions,\n ScaffolderScaffoldOptions,\n ScaffolderScaffoldResponse,\n ScaffolderStreamLogsOptions,\n ScaffolderTask,\n} from './api';\nimport { DefaultApiClient, TaskStatus, TypedResponse } from './schema/openapi';\n\n/**\n * An API to interact with the scaffolder backend.\n *\n * @public\n */\nexport class ScaffolderClient implements ScaffolderApi {\n private readonly apiClient: DefaultApiClient;\n private readonly discoveryApi: {\n getBaseUrl(pluginId: string): Promise<string>;\n };\n private readonly scmIntegrationsApi: ScmIntegrationRegistry;\n private readonly fetchApi: { fetch: typeof fetch };\n private readonly identityApi?: {\n getBackstageIdentity(): Promise<{\n type: 'user';\n userEntityRef: string;\n ownershipEntityRefs: string[];\n }>;\n };\n private readonly useLongPollingLogs: boolean;\n\n constructor(options: {\n discoveryApi: { getBaseUrl(pluginId: string): Promise<string> };\n fetchApi: { fetch: typeof fetch };\n identityApi?: {\n getBackstageIdentity(): Promise<{\n type: 'user';\n userEntityRef: string;\n ownershipEntityRefs: string[];\n }>;\n };\n scmIntegrationsApi: ScmIntegrationRegistry;\n useLongPollingLogs?: boolean;\n }) {\n this.apiClient = new DefaultApiClient(options);\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi ?? { fetch };\n this.scmIntegrationsApi = options.scmIntegrationsApi;\n this.useLongPollingLogs = options.useLongPollingLogs ?? false;\n this.identityApi = options.identityApi;\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listTasks}\n */\n async listTasks(\n request: {\n filterByOwnership: 'owned' | 'all';\n limit?: number;\n offset?: number;\n },\n options?: ScaffolderRequestOptions,\n ): Promise<{ tasks: ScaffolderTask[]; totalTasks?: number }> {\n if (!this.identityApi) {\n throw new Error(\n 'IdentityApi is not available in the ScaffolderClient, please pass through the IdentityApi to the ScaffolderClient constructor in order to use the listTasks method',\n );\n }\n\n const { userEntityRef } = await this.identityApi.getBackstageIdentity();\n\n return await this.requestRequired(\n await this.apiClient.listTasks(\n {\n query: {\n createdBy:\n request.filterByOwnership === 'owned'\n ? [userEntityRef]\n : undefined,\n limit: request.limit,\n offset: request.offset,\n },\n },\n options,\n ),\n );\n }\n\n async getIntegrationsList(\n options: ScaffolderGetIntegrationsListOptions,\n ): Promise<ScaffolderGetIntegrationsListResponse> {\n const integrations = [\n ...this.scmIntegrationsApi.azure.list(),\n ...this.scmIntegrationsApi.bitbucket\n .list()\n .filter(\n item =>\n !this.scmIntegrationsApi.bitbucketCloud.byHost(item.config.host) &&\n !this.scmIntegrationsApi.bitbucketServer.byHost(item.config.host),\n ),\n ...this.scmIntegrationsApi.bitbucketCloud.list(),\n ...this.scmIntegrationsApi.bitbucketServer.list(),\n ...this.scmIntegrationsApi.gerrit.list(),\n ...this.scmIntegrationsApi.gitea.list(),\n ...this.scmIntegrationsApi.github.list(),\n ...this.scmIntegrationsApi.gitlab.list(),\n ]\n .map(c => ({ type: c.type, title: c.title, host: c.config.host }))\n .filter(c => options.allowedHosts.includes(c.host));\n\n return {\n integrations,\n };\n }\n\n /**\n * {@inheritdoc ScaffolderApi.getTemplateParameterSchema}\n */\n async getTemplateParameterSchema(\n templateRef: string,\n options?: ScaffolderRequestOptions,\n ): Promise<TemplateParameterSchema> {\n return await this.requestRequired(\n await this.apiClient.getTemplateParameterSchema(\n {\n path: parseEntityRef(templateRef, {\n defaultKind: 'template',\n }),\n },\n options,\n ),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.scaffold}\n */\n async scaffold(\n request: ScaffolderScaffoldOptions,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderScaffoldResponse> {\n const response = await this.apiClient.scaffold(\n {\n body: request,\n },\n options,\n );\n\n if (response.status !== 201) {\n const status = `${response.status} ${response.statusText}`;\n const body = await response.text();\n throw new Error(`Backend request failed, ${status} ${body.trim()}`);\n }\n\n const { id } = await response.json();\n return { taskId: id };\n }\n\n /**\n * {@inheritdoc ScaffolderApi.getTask}\n */\n async getTask(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderTask> {\n return await this.requestRequired(\n await this.apiClient.getTask(\n {\n path: { taskId },\n },\n options,\n ),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.streamLogs}\n */\n streamLogs(\n request: ScaffolderStreamLogsOptions,\n options?: ScaffolderRequestOptions,\n ): Observable<LogEvent> {\n if (this.useLongPollingLogs) {\n return this.streamLogsPolling(request, options);\n }\n\n return this.streamLogsEventStream(request);\n }\n\n /**\n * {@inheritdoc ScaffolderApi.dryRun}\n */\n async dryRun(\n request: ScaffolderDryRunOptions,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderDryRunResponse> {\n return await this.requestRequired(\n await this.apiClient.dryRun(\n {\n body: {\n template: request.template,\n values: request.values,\n secrets: request.secrets,\n directoryContents: request.directoryContents,\n },\n },\n options,\n ),\n );\n }\n\n private streamLogsEventStream({\n isTaskRecoverable,\n taskId,\n after,\n }: ScaffolderStreamLogsOptions): Observable<LogEvent> {\n return new ObservableImpl(subscriber => {\n const params = new URLSearchParams();\n if (after !== undefined) {\n params.set('after', String(Number(after)));\n }\n\n this.discoveryApi.getBaseUrl('scaffolder').then(\n baseUrl => {\n const url = `${baseUrl}/v2/tasks/${encodeURIComponent(\n taskId,\n )}/eventstream`;\n\n const processEvent = (event: any) => {\n if (event.data) {\n try {\n subscriber.next(JSON.parse(event.data));\n } catch (ex) {\n subscriber.error(ex);\n }\n }\n };\n\n const ctrl = new AbortController();\n void fetchEventSource(url, {\n fetch: this.fetchApi.fetch,\n signal: ctrl.signal,\n onmessage(e: EventSourceMessage) {\n if (e.event === 'log') {\n processEvent(e);\n return;\n } else if (e.event === 'completion' && !isTaskRecoverable) {\n processEvent(e);\n subscriber.complete();\n ctrl.abort();\n return;\n }\n processEvent(e);\n },\n onerror(err) {\n subscriber.error(err);\n },\n });\n },\n error => {\n subscriber.error(error);\n },\n );\n });\n }\n\n private streamLogsPolling(\n {\n taskId,\n after: inputAfter,\n }: {\n taskId: string;\n after?: number;\n },\n options?: ScaffolderRequestOptions,\n ): Observable<LogEvent> {\n let after = inputAfter;\n\n return new ObservableImpl(subscriber => {\n (async () => {\n while (!subscriber.closed) {\n const response = await this.apiClient.streamLogsPolling(\n {\n path: { taskId },\n query: { after },\n },\n options,\n );\n\n if (!response.ok) {\n // wait for one second to not run into an\n await new Promise(resolve => setTimeout(resolve, 1000));\n continue;\n }\n\n const logs = (await response.json()) as LogEvent[];\n\n for (const event of logs) {\n after = Number(event.id);\n\n subscriber.next(event);\n\n if (event.type === 'completion') {\n subscriber.complete();\n return;\n }\n }\n }\n })();\n });\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listActions}\n */\n async listActions(\n options?: ScaffolderRequestOptions,\n ): Promise<ListActionsResponse> {\n return await this.requestRequired(\n await this.apiClient.listActions(null as any, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listTemplatingExtensions}\n */\n async listTemplatingExtensions(\n options?: ScaffolderRequestOptions,\n ): Promise<ListTemplatingExtensionsResponse> {\n return await this.requestRequired(\n await this.apiClient.listTemplatingExtensions(null as any, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.cancelTask}\n */\n async cancelTask(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<{ status?: TaskStatus }> {\n return await this.requestRequired(\n await this.apiClient.cancelTask({ path: { taskId } }, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.retry}\n */\n async retry?(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<{ id: string }> {\n return await this.requestRequired(\n await this.apiClient.retry({ body: {}, path: { taskId } }, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.retry}\n */\n async autocomplete({\n token,\n resource,\n provider,\n context,\n }: {\n token: string;\n provider: string;\n resource: string;\n context: Record<string, string>;\n }): Promise<{ results: { title?: string; id: string }[] }> {\n return await this.requestRequired(\n await this.apiClient.autocomplete({\n path: { provider, resource },\n body: { token, context },\n }),\n );\n }\n\n //\n // Private methods\n //\n\n private async requestRequired<T>(response: TypedResponse<T>): Promise<T> {\n if (!response.ok) {\n throw await ResponseError.fromResponse(response);\n }\n\n return response.json();\n }\n}\n"],"names":["DefaultApiClient","parseEntityRef","ObservableImpl","fetchEventSource","ResponseError"],"mappings":";;;;;;;;;;;;AAiDO,MAAM,gBAAA,CAA0C;AAAA,EACpC,SAAA;AAAA,EACA,YAAA;AAAA,EAGA,kBAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EAOA,kBAAA;AAAA,EAEjB,YAAY,OAAA,EAYT;AACD,IAAA,IAAA,CAAK,SAAA,GAAY,IAAIA,2BAAA,CAAiB,OAAO,CAAA;AAC7C,IAAA,IAAA,CAAK,eAAe,OAAA,CAAQ,YAAA;AAC5B,IAAA,IAAA,CAAK,QAAA,GAAW,OAAA,CAAQ,QAAA,IAAY,EAAE,KAAA,EAAM;AAC5C,IAAA,IAAA,CAAK,qBAAqB,OAAA,CAAQ,kBAAA;AAClC,IAAA,IAAA,CAAK,kBAAA,GAAqB,QAAQ,kBAAA,IAAsB,KAAA;AACxD,IAAA,IAAA,CAAK,cAAc,OAAA,CAAQ,WAAA;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAA,CACJ,OAAA,EAKA,OAAA,EAC2D;AAC3D,IAAA,IAAI,CAAC,KAAK,WAAA,EAAa;AACrB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,MAAM,EAAE,aAAA,EAAc,GAAI,MAAM,IAAA,CAAK,YAAY,oBAAA,EAAqB;AAEtE,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,KAAK,SAAA,CAAU,SAAA;AAAA,QACnB;AAAA,UACE,KAAA,EAAO;AAAA,YACL,WACE,OAAA,CAAQ,iBAAA,KAAsB,OAAA,GAC1B,CAAC,aAAa,CAAA,GACd,MAAA;AAAA,YACN,OAAO,OAAA,CAAQ,KAAA;AAAA,YACf,QAAQ,OAAA,CAAQ;AAAA;AAClB,SACF;AAAA,QACA;AAAA;AACF,KACF;AAAA,EACF;AAAA,EAEA,MAAM,oBACJ,OAAA,EACgD;AAChD,IAAA,MAAM,YAAA,GAAe;AAAA,MACnB,GAAG,IAAA,CAAK,kBAAA,CAAmB,KAAA,CAAM,IAAA,EAAK;AAAA,MACtC,GAAG,IAAA,CAAK,kBAAA,CAAmB,SAAA,CACxB,MAAK,CACL,MAAA;AAAA,QACC,UACE,CAAC,IAAA,CAAK,kBAAA,CAAmB,cAAA,CAAe,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,CAAA,IAC/D,CAAC,IAAA,CAAK,kBAAA,CAAmB,gBAAgB,MAAA,CAAO,IAAA,CAAK,OAAO,IAAI;AAAA,OACpE;AAAA,MACF,GAAG,IAAA,CAAK,kBAAA,CAAmB,cAAA,CAAe,IAAA,EAAK;AAAA,MAC/C,GAAG,IAAA,CAAK,kBAAA,CAAmB,eAAA,CAAgB,IAAA,EAAK;AAAA,MAChD,GAAG,IAAA,CAAK,kBAAA,CAAmB,MAAA,CAAO,IAAA,EAAK;AAAA,MACvC,GAAG,IAAA,CAAK,kBAAA,CAAmB,KAAA,CAAM,IAAA,EAAK;AAAA,MACtC,GAAG,IAAA,CAAK,kBAAA,CAAmB,MAAA,CAAO,IAAA,EAAK;AAAA,MACvC,GAAG,IAAA,CAAK,kBAAA,CAAmB,MAAA,CAAO,IAAA;AAAK,KACzC,CACG,IAAI,CAAA,CAAA,MAAM,EAAE,MAAM,CAAA,CAAE,IAAA,EAAM,KAAA,EAAO,CAAA,CAAE,KAAA,EAAO,IAAA,EAAM,EAAE,MAAA,CAAO,IAAA,EAAK,CAAE,CAAA,CAChE,MAAA,CAAO,CAAA,CAAA,KAAK,QAAQ,YAAA,CAAa,QAAA,CAAS,CAAA,CAAE,IAAI,CAAC,CAAA;AAEpD,IAAA,OAAO;AAAA,MACL;AAAA,KACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,0BAAA,CACJ,WAAA,EACA,OAAA,EACkC;AAClC,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,KAAK,SAAA,CAAU,0BAAA;AAAA,QACnB;AAAA,UACE,IAAA,EAAMC,4BAAe,WAAA,EAAa;AAAA,YAChC,WAAA,EAAa;AAAA,WACd;AAAA,SACH;AAAA,QACA;AAAA;AACF,KACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAA,CACJ,OAAA,EACA,OAAA,EACqC;AACrC,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,SAAA,CAAU,QAAA;AAAA,MACpC;AAAA,QACE,IAAA,EAAM;AAAA,OACR;AAAA,MACA;AAAA,KACF;AAEA,IAAA,IAAI,QAAA,CAAS,WAAW,GAAA,EAAK;AAC3B,MAAA,MAAM,SAAS,CAAA,EAAG,QAAA,CAAS,MAAM,CAAA,CAAA,EAAI,SAAS,UAAU,CAAA,CAAA;AACxD,MAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,MAAA,MAAM,IAAI,MAAM,CAAA,wBAAA,EAA2B,MAAM,IAAI,IAAA,CAAK,IAAA,EAAM,CAAA,CAAE,CAAA;AAAA,IACpE;AAEA,IAAA,MAAM,EAAE,EAAA,EAAG,GAAI,MAAM,SAAS,IAAA,EAAK;AACnC,IAAA,OAAO,EAAE,QAAQ,EAAA,EAAG;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAA,CACJ,MAAA,EACA,OAAA,EACyB;AACzB,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,KAAK,SAAA,CAAU,OAAA;AAAA,QACnB;AAAA,UACE,IAAA,EAAM,EAAE,MAAA;AAAO,SACjB;AAAA,QACA;AAAA;AACF,KACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAA,CACE,SACA,OAAA,EACsB;AACtB,IAAA,IAAI,KAAK,kBAAA,EAAoB;AAC3B,MAAA,OAAO,IAAA,CAAK,iBAAA,CAAkB,OAAA,EAAS,OAAO,CAAA;AAAA,IAChD;AAEA,IAAA,OAAO,IAAA,CAAK,sBAAsB,OAAO,CAAA;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,MAAA,CACJ,OAAA,EACA,OAAA,EACmC;AACnC,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,KAAK,SAAA,CAAU,MAAA;AAAA,QACnB;AAAA,UACE,IAAA,EAAM;AAAA,YACJ,UAAU,OAAA,CAAQ,QAAA;AAAA,YAClB,QAAQ,OAAA,CAAQ,MAAA;AAAA,YAChB,SAAS,OAAA,CAAQ,OAAA;AAAA,YACjB,mBAAmB,OAAA,CAAQ;AAAA;AAC7B,SACF;AAAA,QACA;AAAA;AACF,KACF;AAAA,EACF;AAAA,EAEQ,qBAAA,CAAsB;AAAA,IAC5B,iBAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF,EAAsD;AACpD,IAAA,OAAO,IAAIC,gCAAe,CAAA,UAAA,KAAc;AACtC,MAAA,MAAM,MAAA,GAAS,IAAI,eAAA,EAAgB;AACnC,MAAA,IAAI,UAAU,MAAA,EAAW;AACvB,QAAA,MAAA,CAAO,IAAI,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,KAAK,CAAC,CAAC,CAAA;AAAA,MAC3C;AAEA,MAAA,IAAA,CAAK,YAAA,CAAa,UAAA,CAAW,YAAY,CAAA,CAAE,IAAA;AAAA,QACzC,CAAA,OAAA,KAAW;AACT,UAAA,MAAM,GAAA,GAAM,CAAA,EAAG,OAAO,CAAA,UAAA,EAAa,kBAAA;AAAA,YACjC;AAAA,WACD,CAAA,YAAA,CAAA;AAED,UAAA,MAAM,YAAA,GAAe,CAAC,KAAA,KAAe;AACnC,YAAA,IAAI,MAAM,IAAA,EAAM;AACd,cAAA,IAAI;AACF,gBAAA,UAAA,CAAW,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,KAAA,CAAM,IAAI,CAAC,CAAA;AAAA,cACxC,SAAS,EAAA,EAAI;AACX,gBAAA,UAAA,CAAW,MAAM,EAAE,CAAA;AAAA,cACrB;AAAA,YACF;AAAA,UACF,CAAA;AAEA,UAAA,MAAM,IAAA,GAAO,IAAI,eAAA,EAAgB;AACjC,UAAA,KAAKC,kCAAiB,GAAA,EAAK;AAAA,YACzB,KAAA,EAAO,KAAK,QAAA,CAAS,KAAA;AAAA,YACrB,QAAQ,IAAA,CAAK,MAAA;AAAA,YACb,UAAU,CAAA,EAAuB;AAC/B,cAAA,IAAI,CAAA,CAAE,UAAU,KAAA,EAAO;AACrB,gBAAA,YAAA,CAAa,CAAC,CAAA;AACd,gBAAA;AAAA,cACF,CAAA,MAAA,IAAW,CAAA,CAAE,KAAA,KAAU,YAAA,IAAgB,CAAC,iBAAA,EAAmB;AACzD,gBAAA,YAAA,CAAa,CAAC,CAAA;AACd,gBAAA,UAAA,CAAW,QAAA,EAAS;AACpB,gBAAA,IAAA,CAAK,KAAA,EAAM;AACX,gBAAA;AAAA,cACF;AACA,cAAA,YAAA,CAAa,CAAC,CAAA;AAAA,YAChB,CAAA;AAAA,YACA,QAAQ,GAAA,EAAK;AACX,cAAA,UAAA,CAAW,MAAM,GAAG,CAAA;AAAA,YACtB;AAAA,WACD,CAAA;AAAA,QACH,CAAA;AAAA,QACA,CAAA,KAAA,KAAS;AACP,UAAA,UAAA,CAAW,MAAM,KAAK,CAAA;AAAA,QACxB;AAAA,OACF;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAAA,EAEQ,iBAAA,CACN;AAAA,IACE,MAAA;AAAA,IACA,KAAA,EAAO;AAAA,KAKT,OAAA,EACsB;AACtB,IAAA,IAAI,KAAA,GAAQ,UAAA;AAEZ,IAAA,OAAO,IAAID,gCAAe,CAAA,UAAA,KAAc;AACtC,MAAA,CAAC,YAAY;AACX,QAAA,OAAO,CAAC,WAAW,MAAA,EAAQ;AACzB,UAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,SAAA,CAAU,iBAAA;AAAA,YACpC;AAAA,cACE,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,cACf,KAAA,EAAO,EAAE,KAAA;AAAM,aACjB;AAAA,YACA;AAAA,WACF;AAEA,UAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAEhB,YAAA,MAAM,IAAI,OAAA,CAAQ,CAAA,OAAA,KAAW,UAAA,CAAW,OAAA,EAAS,GAAI,CAAC,CAAA;AACtD,YAAA;AAAA,UACF;AAEA,UAAA,MAAM,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAK;AAElC,UAAA,KAAA,MAAW,SAAS,IAAA,EAAM;AACxB,YAAA,KAAA,GAAQ,MAAA,CAAO,MAAM,EAAE,CAAA;AAEvB,YAAA,UAAA,CAAW,KAAK,KAAK,CAAA;AAErB,YAAA,IAAI,KAAA,CAAM,SAAS,YAAA,EAAc;AAC/B,cAAA,UAAA,CAAW,QAAA,EAAS;AACpB,cAAA;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAA,GAAG;AAAA,IACL,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YACJ,OAAA,EAC8B;AAC9B,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,IAAA,CAAK,SAAA,CAAU,WAAA,CAAY,MAAa,OAAO;AAAA,KACvD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,yBACJ,OAAA,EAC2C;AAC3C,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,IAAA,CAAK,SAAA,CAAU,wBAAA,CAAyB,MAAa,OAAO;AAAA,KACpE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,UAAA,CACJ,MAAA,EACA,OAAA,EACkC;AAClC,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,IAAA,CAAK,SAAA,CAAU,UAAA,CAAW,EAAE,MAAM,EAAE,MAAA,EAAO,EAAE,EAAG,OAAO;AAAA,KAC/D;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,KAAA,CACJ,MAAA,EACA,OAAA,EACyB;AACzB,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,EAAE,IAAA,EAAM,EAAC,EAAG,IAAA,EAAM,EAAE,MAAA,EAAO,IAAK,OAAO;AAAA,KACpE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAA,CAAa;AAAA,IACjB,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,EAK2D;AACzD,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA;AAAA,MAChB,MAAM,IAAA,CAAK,SAAA,CAAU,YAAA,CAAa;AAAA,QAChC,IAAA,EAAM,EAAE,QAAA,EAAU,QAAA,EAAS;AAAA,QAC3B,IAAA,EAAM,EAAE,KAAA,EAAO,OAAA;AAAQ,OACxB;AAAA,KACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAMA,MAAc,gBAAmB,QAAA,EAAwC;AACvE,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,MAAM,MAAME,oBAAA,CAAc,YAAA,CAAa,QAAQ,CAAA;AAAA,IACjD;AAEA,IAAA,OAAO,SAAS,IAAA,EAAK;AAAA,EACvB;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"ScaffolderClient.cjs.js","sources":["../src/ScaffolderClient.ts"],"sourcesContent":["/*\n * Copyright 2020 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\nimport { parseEntityRef } from '@backstage/catalog-model';\nimport { ResponseError } from '@backstage/errors';\nimport { ScmIntegrationRegistry } from '@backstage/integration';\nimport { Observable } from '@backstage/types';\nimport {\n EventSourceMessage,\n fetchEventSource,\n} from '@microsoft/fetch-event-source';\nimport ObservableImpl from 'zen-observable';\n\nimport { type TemplateParameterSchema } from './TemplateEntityV1beta3';\nimport {\n ListActionsResponse,\n ListTemplatingExtensionsResponse,\n LogEvent,\n ScaffolderApi,\n ScaffolderDryRunOptions,\n ScaffolderDryRunResponse,\n ScaffolderGetIntegrationsListOptions,\n ScaffolderGetIntegrationsListResponse,\n ScaffolderRequestOptions,\n ScaffolderScaffoldOptions,\n ScaffolderScaffoldResponse,\n ScaffolderStreamLogsOptions,\n ScaffolderTask,\n} from './api';\nimport { DefaultApiClient, TaskStatus, TypedResponse } from './schema/openapi';\n\n/**\n * An API to interact with the scaffolder backend.\n *\n * @public\n */\nexport class ScaffolderClient implements ScaffolderApi {\n private readonly apiClient: DefaultApiClient;\n private readonly discoveryApi: {\n getBaseUrl(pluginId: string): Promise<string>;\n };\n private readonly scmIntegrationsApi: ScmIntegrationRegistry;\n private readonly fetchApi: { fetch: typeof fetch };\n private readonly identityApi?: {\n getBackstageIdentity(): Promise<{\n type: 'user';\n userEntityRef: string;\n ownershipEntityRefs: string[];\n }>;\n };\n private readonly useLongPollingLogs: boolean;\n\n constructor(options: {\n discoveryApi: { getBaseUrl(pluginId: string): Promise<string> };\n fetchApi: { fetch: typeof fetch };\n identityApi?: {\n getBackstageIdentity(): Promise<{\n type: 'user';\n userEntityRef: string;\n ownershipEntityRefs: string[];\n }>;\n };\n scmIntegrationsApi: ScmIntegrationRegistry;\n useLongPollingLogs?: boolean;\n }) {\n this.apiClient = new DefaultApiClient(options);\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi ?? { fetch };\n this.scmIntegrationsApi = options.scmIntegrationsApi;\n this.useLongPollingLogs = options.useLongPollingLogs ?? false;\n this.identityApi = options.identityApi;\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listTasks}\n */\n async listTasks(\n request: {\n filterByOwnership: 'owned' | 'all';\n limit?: number;\n offset?: number;\n },\n options?: ScaffolderRequestOptions,\n ): Promise<{ tasks: ScaffolderTask[]; totalTasks?: number }> {\n if (!this.identityApi) {\n throw new Error(\n 'IdentityApi is not available in the ScaffolderClient, please pass through the IdentityApi to the ScaffolderClient constructor in order to use the listTasks method',\n );\n }\n\n const { userEntityRef } = await this.identityApi.getBackstageIdentity();\n\n return await this.requestRequired(\n await this.apiClient.listTasks(\n {\n query: {\n createdBy:\n request.filterByOwnership === 'owned'\n ? [userEntityRef]\n : undefined,\n limit: request.limit,\n offset: request.offset,\n },\n },\n options,\n ),\n );\n }\n\n async getIntegrationsList(\n options: ScaffolderGetIntegrationsListOptions,\n ): Promise<ScaffolderGetIntegrationsListResponse> {\n const integrations = [\n ...this.scmIntegrationsApi.azure.list(),\n ...this.scmIntegrationsApi.bitbucketCloud.list(),\n ...this.scmIntegrationsApi.bitbucketServer.list(),\n ...this.scmIntegrationsApi.gerrit.list(),\n ...this.scmIntegrationsApi.gitea.list(),\n ...this.scmIntegrationsApi.github.list(),\n ...this.scmIntegrationsApi.gitlab.list(),\n ]\n .map(c => ({ type: c.type, title: c.title, host: c.config.host }))\n .filter(c => options.allowedHosts.includes(c.host));\n\n return {\n integrations,\n };\n }\n\n /**\n * {@inheritdoc ScaffolderApi.getTemplateParameterSchema}\n */\n async getTemplateParameterSchema(\n templateRef: string,\n options?: ScaffolderRequestOptions,\n ): Promise<TemplateParameterSchema> {\n return await this.requestRequired(\n await this.apiClient.getTemplateParameterSchema(\n {\n path: parseEntityRef(templateRef, {\n defaultKind: 'template',\n }),\n },\n options,\n ),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.scaffold}\n */\n async scaffold(\n request: ScaffolderScaffoldOptions,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderScaffoldResponse> {\n const response = await this.apiClient.scaffold(\n {\n body: request,\n },\n options,\n );\n\n if (response.status !== 201) {\n const status = `${response.status} ${response.statusText}`;\n const body = await response.text();\n throw new Error(`Backend request failed, ${status} ${body.trim()}`);\n }\n\n const { id } = await response.json();\n return { taskId: id };\n }\n\n /**\n * {@inheritdoc ScaffolderApi.getTask}\n */\n async getTask(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderTask> {\n return await this.requestRequired(\n await this.apiClient.getTask(\n {\n path: { taskId },\n },\n options,\n ),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.streamLogs}\n */\n streamLogs(\n request: ScaffolderStreamLogsOptions,\n options?: ScaffolderRequestOptions,\n ): Observable<LogEvent> {\n if (this.useLongPollingLogs) {\n return this.streamLogsPolling(request, options);\n }\n\n return this.streamLogsEventStream(request);\n }\n\n /**\n * {@inheritdoc ScaffolderApi.dryRun}\n */\n async dryRun(\n request: ScaffolderDryRunOptions,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderDryRunResponse> {\n return await this.requestRequired(\n await this.apiClient.dryRun(\n {\n body: {\n template: request.template,\n values: request.values,\n secrets: request.secrets,\n directoryContents: request.directoryContents,\n },\n },\n options,\n ),\n );\n }\n\n private streamLogsEventStream({\n isTaskRecoverable,\n taskId,\n after,\n }: ScaffolderStreamLogsOptions): Observable<LogEvent> {\n return new ObservableImpl(subscriber => {\n const params = new URLSearchParams();\n if (after !== undefined) {\n params.set('after', String(Number(after)));\n }\n\n this.discoveryApi.getBaseUrl('scaffolder').then(\n baseUrl => {\n const url = `${baseUrl}/v2/tasks/${encodeURIComponent(\n taskId,\n )}/eventstream`;\n\n const processEvent = (event: any) => {\n if (event.data) {\n try {\n subscriber.next(JSON.parse(event.data));\n } catch (ex) {\n subscriber.error(ex);\n }\n }\n };\n\n const ctrl = new AbortController();\n void fetchEventSource(url, {\n fetch: this.fetchApi.fetch,\n signal: ctrl.signal,\n onmessage(e: EventSourceMessage) {\n if (e.event === 'log') {\n processEvent(e);\n return;\n } else if (e.event === 'completion' && !isTaskRecoverable) {\n processEvent(e);\n subscriber.complete();\n ctrl.abort();\n return;\n }\n processEvent(e);\n },\n onerror(err) {\n subscriber.error(err);\n },\n });\n },\n error => {\n subscriber.error(error);\n },\n );\n });\n }\n\n private streamLogsPolling(\n {\n taskId,\n after: inputAfter,\n }: {\n taskId: string;\n after?: number;\n },\n options?: ScaffolderRequestOptions,\n ): Observable<LogEvent> {\n let after = inputAfter;\n\n return new ObservableImpl(subscriber => {\n (async () => {\n while (!subscriber.closed) {\n const response = await this.apiClient.streamLogsPolling(\n {\n path: { taskId },\n query: { after },\n },\n options,\n );\n\n if (!response.ok) {\n // wait for one second to not run into an\n await new Promise(resolve => setTimeout(resolve, 1000));\n continue;\n }\n\n const logs = (await response.json()) as LogEvent[];\n\n for (const event of logs) {\n after = Number(event.id);\n\n subscriber.next(event);\n\n if (event.type === 'completion') {\n subscriber.complete();\n return;\n }\n }\n }\n })();\n });\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listActions}\n */\n async listActions(\n options?: ScaffolderRequestOptions,\n ): Promise<ListActionsResponse> {\n return await this.requestRequired(\n await this.apiClient.listActions(null as any, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listTemplatingExtensions}\n */\n async listTemplatingExtensions(\n options?: ScaffolderRequestOptions,\n ): Promise<ListTemplatingExtensionsResponse> {\n return await this.requestRequired(\n await this.apiClient.listTemplatingExtensions(null as any, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.cancelTask}\n */\n async cancelTask(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<{ status?: TaskStatus }> {\n return await this.requestRequired(\n await this.apiClient.cancelTask({ path: { taskId } }, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.retry}\n */\n async retry(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<{ id: string }> {\n return await this.requestRequired(\n await this.apiClient.retry({ body: {}, path: { taskId } }, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.retry}\n */\n async autocomplete(\n {\n token,\n resource,\n provider,\n context,\n }: {\n token: string;\n provider: string;\n resource: string;\n context: Record<string, string>;\n },\n options?: ScaffolderRequestOptions,\n ): Promise<{ results: { title?: string; id: string }[] }> {\n return await this.requestRequired(\n await this.apiClient.autocomplete(\n {\n path: { provider, resource },\n body: { token, context },\n },\n options,\n ),\n );\n }\n\n //\n // Private methods\n //\n\n private async requestRequired<T>(response: TypedResponse<T>): Promise<T> {\n if (!response.ok) {\n throw await ResponseError.fromResponse(response);\n }\n\n return response.json();\n }\n}\n"],"names":["DefaultApiClient","parseEntityRef","ObservableImpl","fetchEventSource","ResponseError"],"mappings":"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"}
|
|
@@ -45,9 +45,6 @@ class ScaffolderClient {
|
|
|
45
45
|
async getIntegrationsList(options) {
|
|
46
46
|
const integrations = [
|
|
47
47
|
...this.scmIntegrationsApi.azure.list(),
|
|
48
|
-
...this.scmIntegrationsApi.bitbucket.list().filter(
|
|
49
|
-
(item) => !this.scmIntegrationsApi.bitbucketCloud.byHost(item.config.host) && !this.scmIntegrationsApi.bitbucketServer.byHost(item.config.host)
|
|
50
|
-
),
|
|
51
48
|
...this.scmIntegrationsApi.bitbucketCloud.list(),
|
|
52
49
|
...this.scmIntegrationsApi.bitbucketServer.list(),
|
|
53
50
|
...this.scmIntegrationsApi.gerrit.list(),
|
|
@@ -255,12 +252,15 @@ class ScaffolderClient {
|
|
|
255
252
|
resource,
|
|
256
253
|
provider,
|
|
257
254
|
context
|
|
258
|
-
}) {
|
|
255
|
+
}, options) {
|
|
259
256
|
return await this.requestRequired(
|
|
260
|
-
await this.apiClient.autocomplete(
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
257
|
+
await this.apiClient.autocomplete(
|
|
258
|
+
{
|
|
259
|
+
path: { provider, resource },
|
|
260
|
+
body: { token, context }
|
|
261
|
+
},
|
|
262
|
+
options
|
|
263
|
+
)
|
|
264
264
|
);
|
|
265
265
|
}
|
|
266
266
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScaffolderClient.esm.js","sources":["../src/ScaffolderClient.ts"],"sourcesContent":["/*\n * Copyright 2020 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\nimport { parseEntityRef } from '@backstage/catalog-model';\nimport { ResponseError } from '@backstage/errors';\nimport { ScmIntegrationRegistry } from '@backstage/integration';\nimport { Observable } from '@backstage/types';\nimport {\n EventSourceMessage,\n fetchEventSource,\n} from '@microsoft/fetch-event-source';\nimport ObservableImpl from 'zen-observable';\n\nimport { type TemplateParameterSchema } from './TemplateEntityV1beta3';\nimport {\n ListActionsResponse,\n ListTemplatingExtensionsResponse,\n LogEvent,\n ScaffolderApi,\n ScaffolderDryRunOptions,\n ScaffolderDryRunResponse,\n ScaffolderGetIntegrationsListOptions,\n ScaffolderGetIntegrationsListResponse,\n ScaffolderRequestOptions,\n ScaffolderScaffoldOptions,\n ScaffolderScaffoldResponse,\n ScaffolderStreamLogsOptions,\n ScaffolderTask,\n} from './api';\nimport { DefaultApiClient, TaskStatus, TypedResponse } from './schema/openapi';\n\n/**\n * An API to interact with the scaffolder backend.\n *\n * @public\n */\nexport class ScaffolderClient implements ScaffolderApi {\n private readonly apiClient: DefaultApiClient;\n private readonly discoveryApi: {\n getBaseUrl(pluginId: string): Promise<string>;\n };\n private readonly scmIntegrationsApi: ScmIntegrationRegistry;\n private readonly fetchApi: { fetch: typeof fetch };\n private readonly identityApi?: {\n getBackstageIdentity(): Promise<{\n type: 'user';\n userEntityRef: string;\n ownershipEntityRefs: string[];\n }>;\n };\n private readonly useLongPollingLogs: boolean;\n\n constructor(options: {\n discoveryApi: { getBaseUrl(pluginId: string): Promise<string> };\n fetchApi: { fetch: typeof fetch };\n identityApi?: {\n getBackstageIdentity(): Promise<{\n type: 'user';\n userEntityRef: string;\n ownershipEntityRefs: string[];\n }>;\n };\n scmIntegrationsApi: ScmIntegrationRegistry;\n useLongPollingLogs?: boolean;\n }) {\n this.apiClient = new DefaultApiClient(options);\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi ?? { fetch };\n this.scmIntegrationsApi = options.scmIntegrationsApi;\n this.useLongPollingLogs = options.useLongPollingLogs ?? false;\n this.identityApi = options.identityApi;\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listTasks}\n */\n async listTasks(\n request: {\n filterByOwnership: 'owned' | 'all';\n limit?: number;\n offset?: number;\n },\n options?: ScaffolderRequestOptions,\n ): Promise<{ tasks: ScaffolderTask[]; totalTasks?: number }> {\n if (!this.identityApi) {\n throw new Error(\n 'IdentityApi is not available in the ScaffolderClient, please pass through the IdentityApi to the ScaffolderClient constructor in order to use the listTasks method',\n );\n }\n\n const { userEntityRef } = await this.identityApi.getBackstageIdentity();\n\n return await this.requestRequired(\n await this.apiClient.listTasks(\n {\n query: {\n createdBy:\n request.filterByOwnership === 'owned'\n ? [userEntityRef]\n : undefined,\n limit: request.limit,\n offset: request.offset,\n },\n },\n options,\n ),\n );\n }\n\n async getIntegrationsList(\n options: ScaffolderGetIntegrationsListOptions,\n ): Promise<ScaffolderGetIntegrationsListResponse> {\n const integrations = [\n ...this.scmIntegrationsApi.azure.list(),\n ...this.scmIntegrationsApi.bitbucket\n .list()\n .filter(\n item =>\n !this.scmIntegrationsApi.bitbucketCloud.byHost(item.config.host) &&\n !this.scmIntegrationsApi.bitbucketServer.byHost(item.config.host),\n ),\n ...this.scmIntegrationsApi.bitbucketCloud.list(),\n ...this.scmIntegrationsApi.bitbucketServer.list(),\n ...this.scmIntegrationsApi.gerrit.list(),\n ...this.scmIntegrationsApi.gitea.list(),\n ...this.scmIntegrationsApi.github.list(),\n ...this.scmIntegrationsApi.gitlab.list(),\n ]\n .map(c => ({ type: c.type, title: c.title, host: c.config.host }))\n .filter(c => options.allowedHosts.includes(c.host));\n\n return {\n integrations,\n };\n }\n\n /**\n * {@inheritdoc ScaffolderApi.getTemplateParameterSchema}\n */\n async getTemplateParameterSchema(\n templateRef: string,\n options?: ScaffolderRequestOptions,\n ): Promise<TemplateParameterSchema> {\n return await this.requestRequired(\n await this.apiClient.getTemplateParameterSchema(\n {\n path: parseEntityRef(templateRef, {\n defaultKind: 'template',\n }),\n },\n options,\n ),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.scaffold}\n */\n async scaffold(\n request: ScaffolderScaffoldOptions,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderScaffoldResponse> {\n const response = await this.apiClient.scaffold(\n {\n body: request,\n },\n options,\n );\n\n if (response.status !== 201) {\n const status = `${response.status} ${response.statusText}`;\n const body = await response.text();\n throw new Error(`Backend request failed, ${status} ${body.trim()}`);\n }\n\n const { id } = await response.json();\n return { taskId: id };\n }\n\n /**\n * {@inheritdoc ScaffolderApi.getTask}\n */\n async getTask(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderTask> {\n return await this.requestRequired(\n await this.apiClient.getTask(\n {\n path: { taskId },\n },\n options,\n ),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.streamLogs}\n */\n streamLogs(\n request: ScaffolderStreamLogsOptions,\n options?: ScaffolderRequestOptions,\n ): Observable<LogEvent> {\n if (this.useLongPollingLogs) {\n return this.streamLogsPolling(request, options);\n }\n\n return this.streamLogsEventStream(request);\n }\n\n /**\n * {@inheritdoc ScaffolderApi.dryRun}\n */\n async dryRun(\n request: ScaffolderDryRunOptions,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderDryRunResponse> {\n return await this.requestRequired(\n await this.apiClient.dryRun(\n {\n body: {\n template: request.template,\n values: request.values,\n secrets: request.secrets,\n directoryContents: request.directoryContents,\n },\n },\n options,\n ),\n );\n }\n\n private streamLogsEventStream({\n isTaskRecoverable,\n taskId,\n after,\n }: ScaffolderStreamLogsOptions): Observable<LogEvent> {\n return new ObservableImpl(subscriber => {\n const params = new URLSearchParams();\n if (after !== undefined) {\n params.set('after', String(Number(after)));\n }\n\n this.discoveryApi.getBaseUrl('scaffolder').then(\n baseUrl => {\n const url = `${baseUrl}/v2/tasks/${encodeURIComponent(\n taskId,\n )}/eventstream`;\n\n const processEvent = (event: any) => {\n if (event.data) {\n try {\n subscriber.next(JSON.parse(event.data));\n } catch (ex) {\n subscriber.error(ex);\n }\n }\n };\n\n const ctrl = new AbortController();\n void fetchEventSource(url, {\n fetch: this.fetchApi.fetch,\n signal: ctrl.signal,\n onmessage(e: EventSourceMessage) {\n if (e.event === 'log') {\n processEvent(e);\n return;\n } else if (e.event === 'completion' && !isTaskRecoverable) {\n processEvent(e);\n subscriber.complete();\n ctrl.abort();\n return;\n }\n processEvent(e);\n },\n onerror(err) {\n subscriber.error(err);\n },\n });\n },\n error => {\n subscriber.error(error);\n },\n );\n });\n }\n\n private streamLogsPolling(\n {\n taskId,\n after: inputAfter,\n }: {\n taskId: string;\n after?: number;\n },\n options?: ScaffolderRequestOptions,\n ): Observable<LogEvent> {\n let after = inputAfter;\n\n return new ObservableImpl(subscriber => {\n (async () => {\n while (!subscriber.closed) {\n const response = await this.apiClient.streamLogsPolling(\n {\n path: { taskId },\n query: { after },\n },\n options,\n );\n\n if (!response.ok) {\n // wait for one second to not run into an\n await new Promise(resolve => setTimeout(resolve, 1000));\n continue;\n }\n\n const logs = (await response.json()) as LogEvent[];\n\n for (const event of logs) {\n after = Number(event.id);\n\n subscriber.next(event);\n\n if (event.type === 'completion') {\n subscriber.complete();\n return;\n }\n }\n }\n })();\n });\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listActions}\n */\n async listActions(\n options?: ScaffolderRequestOptions,\n ): Promise<ListActionsResponse> {\n return await this.requestRequired(\n await this.apiClient.listActions(null as any, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listTemplatingExtensions}\n */\n async listTemplatingExtensions(\n options?: ScaffolderRequestOptions,\n ): Promise<ListTemplatingExtensionsResponse> {\n return await this.requestRequired(\n await this.apiClient.listTemplatingExtensions(null as any, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.cancelTask}\n */\n async cancelTask(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<{ status?: TaskStatus }> {\n return await this.requestRequired(\n await this.apiClient.cancelTask({ path: { taskId } }, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.retry}\n */\n async retry?(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<{ id: string }> {\n return await this.requestRequired(\n await this.apiClient.retry({ body: {}, path: { taskId } }, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.retry}\n */\n async autocomplete({\n token,\n resource,\n provider,\n context,\n }: {\n token: string;\n provider: string;\n resource: string;\n context: Record<string, string>;\n }): Promise<{ results: { title?: string; id: string }[] }> {\n return await this.requestRequired(\n await this.apiClient.autocomplete({\n path: { provider, resource },\n body: { token, context },\n }),\n );\n }\n\n //\n // Private methods\n //\n\n private async requestRequired<T>(response: TypedResponse<T>): Promise<T> {\n if (!response.ok) {\n throw await ResponseError.fromResponse(response);\n }\n\n return response.json();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScaffolderClient.esm.js","sources":["../src/ScaffolderClient.ts"],"sourcesContent":["/*\n * Copyright 2020 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\nimport { parseEntityRef } from '@backstage/catalog-model';\nimport { ResponseError } from '@backstage/errors';\nimport { ScmIntegrationRegistry } from '@backstage/integration';\nimport { Observable } from '@backstage/types';\nimport {\n EventSourceMessage,\n fetchEventSource,\n} from '@microsoft/fetch-event-source';\nimport ObservableImpl from 'zen-observable';\n\nimport { type TemplateParameterSchema } from './TemplateEntityV1beta3';\nimport {\n ListActionsResponse,\n ListTemplatingExtensionsResponse,\n LogEvent,\n ScaffolderApi,\n ScaffolderDryRunOptions,\n ScaffolderDryRunResponse,\n ScaffolderGetIntegrationsListOptions,\n ScaffolderGetIntegrationsListResponse,\n ScaffolderRequestOptions,\n ScaffolderScaffoldOptions,\n ScaffolderScaffoldResponse,\n ScaffolderStreamLogsOptions,\n ScaffolderTask,\n} from './api';\nimport { DefaultApiClient, TaskStatus, TypedResponse } from './schema/openapi';\n\n/**\n * An API to interact with the scaffolder backend.\n *\n * @public\n */\nexport class ScaffolderClient implements ScaffolderApi {\n private readonly apiClient: DefaultApiClient;\n private readonly discoveryApi: {\n getBaseUrl(pluginId: string): Promise<string>;\n };\n private readonly scmIntegrationsApi: ScmIntegrationRegistry;\n private readonly fetchApi: { fetch: typeof fetch };\n private readonly identityApi?: {\n getBackstageIdentity(): Promise<{\n type: 'user';\n userEntityRef: string;\n ownershipEntityRefs: string[];\n }>;\n };\n private readonly useLongPollingLogs: boolean;\n\n constructor(options: {\n discoveryApi: { getBaseUrl(pluginId: string): Promise<string> };\n fetchApi: { fetch: typeof fetch };\n identityApi?: {\n getBackstageIdentity(): Promise<{\n type: 'user';\n userEntityRef: string;\n ownershipEntityRefs: string[];\n }>;\n };\n scmIntegrationsApi: ScmIntegrationRegistry;\n useLongPollingLogs?: boolean;\n }) {\n this.apiClient = new DefaultApiClient(options);\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi ?? { fetch };\n this.scmIntegrationsApi = options.scmIntegrationsApi;\n this.useLongPollingLogs = options.useLongPollingLogs ?? false;\n this.identityApi = options.identityApi;\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listTasks}\n */\n async listTasks(\n request: {\n filterByOwnership: 'owned' | 'all';\n limit?: number;\n offset?: number;\n },\n options?: ScaffolderRequestOptions,\n ): Promise<{ tasks: ScaffolderTask[]; totalTasks?: number }> {\n if (!this.identityApi) {\n throw new Error(\n 'IdentityApi is not available in the ScaffolderClient, please pass through the IdentityApi to the ScaffolderClient constructor in order to use the listTasks method',\n );\n }\n\n const { userEntityRef } = await this.identityApi.getBackstageIdentity();\n\n return await this.requestRequired(\n await this.apiClient.listTasks(\n {\n query: {\n createdBy:\n request.filterByOwnership === 'owned'\n ? [userEntityRef]\n : undefined,\n limit: request.limit,\n offset: request.offset,\n },\n },\n options,\n ),\n );\n }\n\n async getIntegrationsList(\n options: ScaffolderGetIntegrationsListOptions,\n ): Promise<ScaffolderGetIntegrationsListResponse> {\n const integrations = [\n ...this.scmIntegrationsApi.azure.list(),\n ...this.scmIntegrationsApi.bitbucketCloud.list(),\n ...this.scmIntegrationsApi.bitbucketServer.list(),\n ...this.scmIntegrationsApi.gerrit.list(),\n ...this.scmIntegrationsApi.gitea.list(),\n ...this.scmIntegrationsApi.github.list(),\n ...this.scmIntegrationsApi.gitlab.list(),\n ]\n .map(c => ({ type: c.type, title: c.title, host: c.config.host }))\n .filter(c => options.allowedHosts.includes(c.host));\n\n return {\n integrations,\n };\n }\n\n /**\n * {@inheritdoc ScaffolderApi.getTemplateParameterSchema}\n */\n async getTemplateParameterSchema(\n templateRef: string,\n options?: ScaffolderRequestOptions,\n ): Promise<TemplateParameterSchema> {\n return await this.requestRequired(\n await this.apiClient.getTemplateParameterSchema(\n {\n path: parseEntityRef(templateRef, {\n defaultKind: 'template',\n }),\n },\n options,\n ),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.scaffold}\n */\n async scaffold(\n request: ScaffolderScaffoldOptions,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderScaffoldResponse> {\n const response = await this.apiClient.scaffold(\n {\n body: request,\n },\n options,\n );\n\n if (response.status !== 201) {\n const status = `${response.status} ${response.statusText}`;\n const body = await response.text();\n throw new Error(`Backend request failed, ${status} ${body.trim()}`);\n }\n\n const { id } = await response.json();\n return { taskId: id };\n }\n\n /**\n * {@inheritdoc ScaffolderApi.getTask}\n */\n async getTask(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderTask> {\n return await this.requestRequired(\n await this.apiClient.getTask(\n {\n path: { taskId },\n },\n options,\n ),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.streamLogs}\n */\n streamLogs(\n request: ScaffolderStreamLogsOptions,\n options?: ScaffolderRequestOptions,\n ): Observable<LogEvent> {\n if (this.useLongPollingLogs) {\n return this.streamLogsPolling(request, options);\n }\n\n return this.streamLogsEventStream(request);\n }\n\n /**\n * {@inheritdoc ScaffolderApi.dryRun}\n */\n async dryRun(\n request: ScaffolderDryRunOptions,\n options?: ScaffolderRequestOptions,\n ): Promise<ScaffolderDryRunResponse> {\n return await this.requestRequired(\n await this.apiClient.dryRun(\n {\n body: {\n template: request.template,\n values: request.values,\n secrets: request.secrets,\n directoryContents: request.directoryContents,\n },\n },\n options,\n ),\n );\n }\n\n private streamLogsEventStream({\n isTaskRecoverable,\n taskId,\n after,\n }: ScaffolderStreamLogsOptions): Observable<LogEvent> {\n return new ObservableImpl(subscriber => {\n const params = new URLSearchParams();\n if (after !== undefined) {\n params.set('after', String(Number(after)));\n }\n\n this.discoveryApi.getBaseUrl('scaffolder').then(\n baseUrl => {\n const url = `${baseUrl}/v2/tasks/${encodeURIComponent(\n taskId,\n )}/eventstream`;\n\n const processEvent = (event: any) => {\n if (event.data) {\n try {\n subscriber.next(JSON.parse(event.data));\n } catch (ex) {\n subscriber.error(ex);\n }\n }\n };\n\n const ctrl = new AbortController();\n void fetchEventSource(url, {\n fetch: this.fetchApi.fetch,\n signal: ctrl.signal,\n onmessage(e: EventSourceMessage) {\n if (e.event === 'log') {\n processEvent(e);\n return;\n } else if (e.event === 'completion' && !isTaskRecoverable) {\n processEvent(e);\n subscriber.complete();\n ctrl.abort();\n return;\n }\n processEvent(e);\n },\n onerror(err) {\n subscriber.error(err);\n },\n });\n },\n error => {\n subscriber.error(error);\n },\n );\n });\n }\n\n private streamLogsPolling(\n {\n taskId,\n after: inputAfter,\n }: {\n taskId: string;\n after?: number;\n },\n options?: ScaffolderRequestOptions,\n ): Observable<LogEvent> {\n let after = inputAfter;\n\n return new ObservableImpl(subscriber => {\n (async () => {\n while (!subscriber.closed) {\n const response = await this.apiClient.streamLogsPolling(\n {\n path: { taskId },\n query: { after },\n },\n options,\n );\n\n if (!response.ok) {\n // wait for one second to not run into an\n await new Promise(resolve => setTimeout(resolve, 1000));\n continue;\n }\n\n const logs = (await response.json()) as LogEvent[];\n\n for (const event of logs) {\n after = Number(event.id);\n\n subscriber.next(event);\n\n if (event.type === 'completion') {\n subscriber.complete();\n return;\n }\n }\n }\n })();\n });\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listActions}\n */\n async listActions(\n options?: ScaffolderRequestOptions,\n ): Promise<ListActionsResponse> {\n return await this.requestRequired(\n await this.apiClient.listActions(null as any, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.listTemplatingExtensions}\n */\n async listTemplatingExtensions(\n options?: ScaffolderRequestOptions,\n ): Promise<ListTemplatingExtensionsResponse> {\n return await this.requestRequired(\n await this.apiClient.listTemplatingExtensions(null as any, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.cancelTask}\n */\n async cancelTask(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<{ status?: TaskStatus }> {\n return await this.requestRequired(\n await this.apiClient.cancelTask({ path: { taskId } }, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.retry}\n */\n async retry(\n taskId: string,\n options?: ScaffolderRequestOptions,\n ): Promise<{ id: string }> {\n return await this.requestRequired(\n await this.apiClient.retry({ body: {}, path: { taskId } }, options),\n );\n }\n\n /**\n * {@inheritdoc ScaffolderApi.retry}\n */\n async autocomplete(\n {\n token,\n resource,\n provider,\n context,\n }: {\n token: string;\n provider: string;\n resource: string;\n context: Record<string, string>;\n },\n options?: ScaffolderRequestOptions,\n ): Promise<{ results: { title?: string; id: string }[] }> {\n return await this.requestRequired(\n await this.apiClient.autocomplete(\n {\n path: { provider, resource },\n body: { token, context },\n },\n options,\n ),\n );\n }\n\n //\n // Private methods\n //\n\n private async requestRequired<T>(response: TypedResponse<T>): Promise<T> {\n if (!response.ok) {\n throw await ResponseError.fromResponse(response);\n }\n\n return response.json();\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -545,10 +545,10 @@ interface ScaffolderApi {
|
|
|
545
545
|
*
|
|
546
546
|
* @param taskId - the id of the task
|
|
547
547
|
*/
|
|
548
|
-
retry
|
|
548
|
+
retry(taskId: string, options?: ScaffolderRequestOptions): Promise<{
|
|
549
549
|
id: string;
|
|
550
550
|
}>;
|
|
551
|
-
listTasks
|
|
551
|
+
listTasks(request: {
|
|
552
552
|
filterByOwnership: 'owned' | 'all';
|
|
553
553
|
limit?: number;
|
|
554
554
|
offset?: number;
|
|
@@ -564,10 +564,10 @@ interface ScaffolderApi {
|
|
|
564
564
|
/**
|
|
565
565
|
* Returns a structure describing the available templating extensions.
|
|
566
566
|
*/
|
|
567
|
-
listTemplatingExtensions
|
|
567
|
+
listTemplatingExtensions(options?: ScaffolderRequestOptions): Promise<ListTemplatingExtensionsResponse>;
|
|
568
568
|
streamLogs(request: ScaffolderStreamLogsOptions, options?: ScaffolderRequestOptions): Observable<LogEvent>;
|
|
569
|
-
dryRun
|
|
570
|
-
autocomplete
|
|
569
|
+
dryRun(request: ScaffolderDryRunOptions, options?: ScaffolderRequestOptions): Promise<ScaffolderDryRunResponse>;
|
|
570
|
+
autocomplete(request: {
|
|
571
571
|
token: string;
|
|
572
572
|
provider: string;
|
|
573
573
|
resource: string;
|
|
@@ -660,7 +660,7 @@ declare class ScaffolderClient implements ScaffolderApi {
|
|
|
660
660
|
/**
|
|
661
661
|
* {@inheritdoc ScaffolderApi.retry}
|
|
662
662
|
*/
|
|
663
|
-
retry
|
|
663
|
+
retry(taskId: string, options?: ScaffolderRequestOptions): Promise<{
|
|
664
664
|
id: string;
|
|
665
665
|
}>;
|
|
666
666
|
/**
|
|
@@ -671,7 +671,7 @@ declare class ScaffolderClient implements ScaffolderApi {
|
|
|
671
671
|
provider: string;
|
|
672
672
|
resource: string;
|
|
673
673
|
context: Record<string, string>;
|
|
674
|
-
}): Promise<{
|
|
674
|
+
}, options?: ScaffolderRequestOptions): Promise<{
|
|
675
675
|
results: {
|
|
676
676
|
title?: string;
|
|
677
677
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.client.cjs.js","sources":["../../../../../src/schema/openapi/generated/apis/Api.client.ts"],"sourcesContent":["/*\n * Copyright 2025 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 { DiscoveryApi } from '../types/discovery';\nimport { FetchApi } from '../types/fetch';\nimport crossFetch from 'cross-fetch';\nimport { pluginId } from '../pluginId';\nimport * as parser from 'uri-template';\nimport { Action } from '../models/Action.model';\nimport { Autocomplete200Response } from '../models/Autocomplete200Response.model';\nimport { AutocompleteRequest } from '../models/AutocompleteRequest.model';\nimport { CancelTask200Response } from '../models/CancelTask200Response.model';\nimport { DryRun200Response } from '../models/DryRun200Response.model';\nimport { DryRunRequest } from '../models/DryRunRequest.model';\nimport { ListTasksResponse } from '../models/ListTasksResponse.model';\nimport { ListTemplatingExtensionsResponse } from '../models/ListTemplatingExtensionsResponse.model';\nimport { RetryRequest } from '../models/RetryRequest.model';\nimport { Scaffold201Response } from '../models/Scaffold201Response.model';\nimport { ScaffolderScaffoldOptions } from '../models/ScaffolderScaffoldOptions.model';\nimport { SerializedTask } from '../models/SerializedTask.model';\nimport { SerializedTaskEvent } from '../models/SerializedTaskEvent.model';\nimport { TemplateParameterSchema } from '../models/TemplateParameterSchema.model';\n\n/**\n * Wraps the Response type to convey a type on the json call.\n *\n * @public\n */\nexport type TypedResponse<T> = Omit<Response, 'json'> & {\n json: () => Promise<T>;\n};\n\n/**\n * Options you can pass into a request for additional information.\n *\n * @public\n */\nexport interface RequestOptions {\n token?: string;\n}\n/**\n * @public\n */\nexport type Autocomplete = {\n path: {\n provider: string;\n resource: string;\n };\n body: AutocompleteRequest;\n};\n/**\n * @public\n */\nexport type CancelTask = {\n path: {\n taskId: string;\n };\n};\n/**\n * @public\n */\nexport type DryRun = {\n body: DryRunRequest;\n};\n/**\n * @public\n */\nexport type GetTask = {\n path: {\n taskId: string;\n };\n};\n/**\n * @public\n */\nexport type GetTemplateParameterSchema = {\n path: {\n namespace: string;\n kind: string;\n name: string;\n };\n};\n/**\n * @public\n */\nexport type ListActions = {};\n/**\n * @public\n */\nexport type ListTasks = {\n query: {\n createdBy?: Array<string>;\n limit?: number;\n offset?: number;\n order?: Array<string>;\n status?: Array<string>;\n };\n};\n/**\n * @public\n */\nexport type ListTemplatingExtensions = {};\n/**\n * @public\n */\nexport type Retry = {\n path: {\n taskId: string;\n };\n body: RetryRequest;\n};\n/**\n * @public\n */\nexport type Scaffold = {\n body: ScaffolderScaffoldOptions;\n};\n/**\n * @public\n */\nexport type StreamLogsPolling = {\n path: {\n taskId: string;\n };\n query: {\n after?: number;\n };\n};\n\n/**\n * @public\n */\nexport class DefaultApiClient {\n private readonly discoveryApi: DiscoveryApi;\n private readonly fetchApi: FetchApi;\n\n constructor(options: {\n discoveryApi: { getBaseUrl(pluginId: string): Promise<string> };\n fetchApi?: { fetch: typeof fetch };\n }) {\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi || { fetch: crossFetch };\n }\n\n /**\n * Perform an autocomplete for the given provider and resource.\n * @param provider -\n * @param resource -\n * @param autocompleteRequest -\n */\n public async autocomplete(\n // @ts-ignore\n request: Autocomplete,\n options?: RequestOptions,\n ): Promise<TypedResponse<Autocomplete200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/autocomplete/{provider}/{resource}`;\n\n const uri = parser.parse(uriTemplate).expand({\n provider: request.path.provider,\n resource: request.path.resource,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Sends a signal to a task broker to cancel the running task by taskId.\n * @param taskId -\n */\n public async cancelTask(\n // @ts-ignore\n request: CancelTask,\n options?: RequestOptions,\n ): Promise<TypedResponse<CancelTask200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/cancel`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n });\n }\n\n /**\n * Perform a dry-run of a template\n * @param dryRunRequest -\n */\n public async dryRun(\n // @ts-ignore\n request: DryRun,\n options?: RequestOptions,\n ): Promise<TypedResponse<DryRun200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/dry-run`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Get a task by ID.\n * @param taskId -\n */\n public async getTask(\n // @ts-ignore\n request: GetTask,\n options?: RequestOptions,\n ): Promise<TypedResponse<SerializedTask>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Get template parameter schema.\n * @param namespace -\n * @param kind -\n * @param name -\n */\n public async getTemplateParameterSchema(\n // @ts-ignore\n request: GetTemplateParameterSchema,\n options?: RequestOptions,\n ): Promise<TypedResponse<TemplateParameterSchema>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/templates/{namespace}/{kind}/{name}/parameter-schema`;\n\n const uri = parser.parse(uriTemplate).expand({\n namespace: request.path.namespace,\n kind: request.path.kind,\n name: request.path.name,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a list of all installed actions.\n */\n public async listActions(\n // @ts-ignore\n request: ListActions,\n options?: RequestOptions,\n ): Promise<TypedResponse<Array<Action>>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/actions`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a list of tasks, filtering by ownership and/or status if given.\n * @param createdBy - Created by\n * @param limit - Number of records to return in the response.\n * @param offset - Number of records to skip in the query page.\n * @param order - Order\n * @param status - Status\n */\n public async listTasks(\n // @ts-ignore\n request: ListTasks,\n options?: RequestOptions,\n ): Promise<TypedResponse<ListTasksResponse>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks{?createdBy*,limit,offset,order*,status*}`;\n\n const uri = parser.parse(uriTemplate).expand({\n ...request.query,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a structure describing the available templating extensions.\n */\n public async listTemplatingExtensions(\n // @ts-ignore\n request: ListTemplatingExtensions,\n options?: RequestOptions,\n ): Promise<TypedResponse<ListTemplatingExtensionsResponse>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/templating-extensions`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Starts the task again from the point where it failed.\n * @param taskId -\n * @param retryRequest -\n */\n public async retry(\n // @ts-ignore\n request: Retry,\n options?: RequestOptions,\n ): Promise<TypedResponse<Scaffold201Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/retry`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Executes the scaffolding of a component, given a template and its parameter values.\n * @param scaffolderScaffoldOptions -\n */\n public async scaffold(\n // @ts-ignore\n request: Scaffold,\n options?: RequestOptions,\n ): Promise<TypedResponse<Scaffold201Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Get events for a task by ID.\n * @param taskId -\n * @param after - Offset event ID to stream events after.\n */\n public async streamLogsPolling(\n // @ts-ignore\n request: StreamLogsPolling,\n options?: RequestOptions,\n ): Promise<TypedResponse<Array<SerializedTaskEvent>>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/events{?after}`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n ...request.query,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n}\n"],"names":["crossFetch","pluginId","parser"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoJO,MAAM,gBAAA,CAAiB;AAAA,EACX,YAAA;AAAA,EACA,QAAA;AAAA,EAEjB,YAAY,OAAA,EAGT;AACD,IAAA,IAAA,CAAK,eAAe,OAAA,CAAQ,YAAA;AAC5B,IAAA,IAAA,CAAK,QAAA,GAAW,OAAA,CAAQ,QAAA,IAAY,EAAE,OAAOA,2BAAA,EAAW;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAa,YAAA,CAEX,OAAA,EACA,OAAA,EACiD;AACjD,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWC,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,sCAAA,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,EAAE,MAAA,CAAO;AAAA,MAC3C,QAAA,EAAU,QAAQ,IAAA,CAAK,QAAA;AAAA,MACvB,QAAA,EAAU,QAAQ,IAAA,CAAK;AAAA,KACxB,CAAA;AAED,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,IAAI;AAAA,KAClC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAa,UAAA,CAEX,OAAA,EACA,OAAA,EAC+C;AAC/C,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,yBAAA,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,EAAE,MAAA,CAAO;AAAA,MAC3C,MAAA,EAAQ,QAAQ,IAAA,CAAK;AAAA,KACtB,CAAA;AAED,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAa,MAAA,CAEX,OAAA,EACA,OAAA,EAC2C;AAC3C,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,WAAA,CAAA;AAEpB,IAAA,MAAM,MAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,CAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAE/C,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,IAAI;AAAA,KAClC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAa,OAAA,CAEX,OAAA,EACA,OAAA,EACwC;AACxC,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,kBAAA,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,EAAE,MAAA,CAAO;AAAA,MAC3C,MAAA,EAAQ,QAAQ,IAAA,CAAK;AAAA,KACtB,CAAA;AAED,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAa,0BAAA,CAEX,OAAA,EACA,OAAA,EACiD;AACjD,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,wDAAA,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,EAAE,MAAA,CAAO;AAAA,MAC3C,SAAA,EAAW,QAAQ,IAAA,CAAK,SAAA;AAAA,MACxB,IAAA,EAAM,QAAQ,IAAA,CAAK,IAAA;AAAA,MACnB,IAAA,EAAM,QAAQ,IAAA,CAAK;AAAA,KACpB,CAAA;AAED,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,WAAA,CAEX,OAAA,EACA,OAAA,EACuC;AACvC,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,WAAA,CAAA;AAEpB,IAAA,MAAM,MAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,CAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAE/C,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,SAAA,CAEX,OAAA,EACA,OAAA,EAC2C;AAC3C,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,kDAAA,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,EAAE,MAAA,CAAO;AAAA,MAC3C,GAAG,OAAA,CAAQ;AAAA,KACZ,CAAA;AAED,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,wBAAA,CAEX,OAAA,EACA,OAAA,EAC0D;AAC1D,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,yBAAA,CAAA;AAEpB,IAAA,MAAM,MAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,CAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAE/C,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAa,KAAA,CAEX,OAAA,EACA,OAAA,EAC6C;AAC7C,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,wBAAA,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,EAAE,MAAA,CAAO;AAAA,MAC3C,MAAA,EAAQ,QAAQ,IAAA,CAAK;AAAA,KACtB,CAAA;AAED,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,IAAI;AAAA,KAClC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAa,QAAA,CAEX,OAAA,EACA,OAAA,EAC6C;AAC7C,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,SAAA,CAAA;AAEpB,IAAA,MAAM,MAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,CAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAE/C,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,IAAI;AAAA,KAClC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAa,iBAAA,CAEX,OAAA,EACA,OAAA,EACoD;AACpD,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,YAAA,CAAa,WAAWD,iBAAQ,CAAA;AAE3D,IAAA,MAAM,WAAA,GAAc,CAAA,iCAAA,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,iBAAA,CAAO,KAAA,CAAM,WAAW,EAAE,MAAA,CAAO;AAAA,MAC3C,MAAA,EAAQ,QAAQ,IAAA,CAAK,MAAA;AAAA,MACrB,GAAG,OAAA,CAAQ;AAAA,KACZ,CAAA;AAED,IAAA,OAAO,MAAM,KAAK,QAAA,CAAS,KAAA,CAAM,GAAG,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI;AAAA,MACnD,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,GAAI,SAAS,KAAA,IAAS,EAAE,eAAe,CAAA,OAAA,EAAU,OAAA,EAAS,KAAK,CAAA,CAAA;AAAG,OACpE;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"Api.client.cjs.js","sources":["../../../../../src/schema/openapi/generated/apis/Api.client.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// ******************************************************************\n\nimport { DiscoveryApi } from '../types/discovery';\nimport { FetchApi } from '../types/fetch';\nimport crossFetch from 'cross-fetch';\nimport { pluginId } from '../pluginId';\nimport * as parser from 'uri-template';\nimport { Action } from '../models/Action.model';\nimport { Autocomplete200Response } from '../models/Autocomplete200Response.model';\nimport { AutocompleteRequest } from '../models/AutocompleteRequest.model';\nimport { CancelTask200Response } from '../models/CancelTask200Response.model';\nimport { DryRun200Response } from '../models/DryRun200Response.model';\nimport { DryRunRequest } from '../models/DryRunRequest.model';\nimport { ListTasksResponse } from '../models/ListTasksResponse.model';\nimport { ListTemplatingExtensionsResponse } from '../models/ListTemplatingExtensionsResponse.model';\nimport { RetryRequest } from '../models/RetryRequest.model';\nimport { Scaffold201Response } from '../models/Scaffold201Response.model';\nimport { ScaffolderScaffoldOptions } from '../models/ScaffolderScaffoldOptions.model';\nimport { SerializedTask } from '../models/SerializedTask.model';\nimport { SerializedTaskEvent } from '../models/SerializedTaskEvent.model';\nimport { TemplateParameterSchema } from '../models/TemplateParameterSchema.model';\n\n/**\n * Wraps the Response type to convey a type on the json call.\n *\n * @public\n */\nexport type TypedResponse<T> = Omit<Response, 'json'> & {\n json: () => Promise<T>;\n};\n\n/**\n * Options you can pass into a request for additional information.\n *\n * @public\n */\nexport interface RequestOptions {\n token?: string;\n}\n/**\n * @public\n */\nexport type Autocomplete = {\n path: {\n provider: string;\n resource: string;\n };\n body: AutocompleteRequest;\n};\n/**\n * @public\n */\nexport type CancelTask = {\n path: {\n taskId: string;\n };\n};\n/**\n * @public\n */\nexport type DryRun = {\n body: DryRunRequest;\n};\n/**\n * @public\n */\nexport type GetTask = {\n path: {\n taskId: string;\n };\n};\n/**\n * @public\n */\nexport type GetTemplateParameterSchema = {\n path: {\n namespace: string;\n kind: string;\n name: string;\n };\n};\n/**\n * @public\n */\nexport type ListActions = {};\n/**\n * @public\n */\nexport type ListTasks = {\n query: {\n createdBy?: Array<string>;\n limit?: number;\n offset?: number;\n order?: Array<string>;\n status?: Array<string>;\n };\n};\n/**\n * @public\n */\nexport type ListTemplatingExtensions = {};\n/**\n * @public\n */\nexport type Retry = {\n path: {\n taskId: string;\n };\n body: RetryRequest;\n};\n/**\n * @public\n */\nexport type Scaffold = {\n body: ScaffolderScaffoldOptions;\n};\n/**\n * @public\n */\nexport type StreamLogsPolling = {\n path: {\n taskId: string;\n };\n query: {\n after?: number;\n };\n};\n\n/**\n * @public\n */\nexport class DefaultApiClient {\n private readonly discoveryApi: DiscoveryApi;\n private readonly fetchApi: FetchApi;\n\n constructor(options: {\n discoveryApi: { getBaseUrl(pluginId: string): Promise<string> };\n fetchApi?: { fetch: typeof fetch };\n }) {\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi || { fetch: crossFetch };\n }\n\n /**\n * Perform an autocomplete for the given provider and resource.\n * @param provider -\n * @param resource -\n * @param autocompleteRequest -\n */\n public async autocomplete(\n // @ts-ignore\n request: Autocomplete,\n options?: RequestOptions,\n ): Promise<TypedResponse<Autocomplete200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/autocomplete/{provider}/{resource}`;\n\n const uri = parser.parse(uriTemplate).expand({\n provider: request.path.provider,\n resource: request.path.resource,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Sends a signal to a task broker to cancel the running task by taskId.\n * @param taskId -\n */\n public async cancelTask(\n // @ts-ignore\n request: CancelTask,\n options?: RequestOptions,\n ): Promise<TypedResponse<CancelTask200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/cancel`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n });\n }\n\n /**\n * Perform a dry-run of a template\n * @param dryRunRequest -\n */\n public async dryRun(\n // @ts-ignore\n request: DryRun,\n options?: RequestOptions,\n ): Promise<TypedResponse<DryRun200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/dry-run`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Get a task by ID.\n * @param taskId -\n */\n public async getTask(\n // @ts-ignore\n request: GetTask,\n options?: RequestOptions,\n ): Promise<TypedResponse<SerializedTask>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Get template parameter schema.\n * @param namespace -\n * @param kind -\n * @param name -\n */\n public async getTemplateParameterSchema(\n // @ts-ignore\n request: GetTemplateParameterSchema,\n options?: RequestOptions,\n ): Promise<TypedResponse<TemplateParameterSchema>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/templates/{namespace}/{kind}/{name}/parameter-schema`;\n\n const uri = parser.parse(uriTemplate).expand({\n namespace: request.path.namespace,\n kind: request.path.kind,\n name: request.path.name,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a list of all installed actions.\n */\n public async listActions(\n // @ts-ignore\n request: ListActions,\n options?: RequestOptions,\n ): Promise<TypedResponse<Array<Action>>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/actions`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a list of tasks, filtering by ownership and/or status if given.\n * @param createdBy - Created by\n * @param limit - Number of records to return in the response.\n * @param offset - Number of records to skip in the query page.\n * @param order - Order\n * @param status - Status\n */\n public async listTasks(\n // @ts-ignore\n request: ListTasks,\n options?: RequestOptions,\n ): Promise<TypedResponse<ListTasksResponse>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks{?createdBy*,limit,offset,order*,status*}`;\n\n const uri = parser.parse(uriTemplate).expand({\n ...request.query,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a structure describing the available templating extensions.\n */\n public async listTemplatingExtensions(\n // @ts-ignore\n request: ListTemplatingExtensions,\n options?: RequestOptions,\n ): Promise<TypedResponse<ListTemplatingExtensionsResponse>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/templating-extensions`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Starts the task again from the point where it failed.\n * @param taskId -\n * @param retryRequest -\n */\n public async retry(\n // @ts-ignore\n request: Retry,\n options?: RequestOptions,\n ): Promise<TypedResponse<Scaffold201Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/retry`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Executes the scaffolding of a component, given a template and its parameter values.\n * @param scaffolderScaffoldOptions -\n */\n public async scaffold(\n // @ts-ignore\n request: Scaffold,\n options?: RequestOptions,\n ): Promise<TypedResponse<Scaffold201Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Get events for a task by ID.\n * @param taskId -\n * @param after - Offset event ID to stream events after.\n */\n public async streamLogsPolling(\n // @ts-ignore\n request: StreamLogsPolling,\n options?: RequestOptions,\n ): Promise<TypedResponse<Array<SerializedTaskEvent>>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/events{?after}`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n ...request.query,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n}\n"],"names":["crossFetch","pluginId","parser"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.client.esm.js","sources":["../../../../../src/schema/openapi/generated/apis/Api.client.ts"],"sourcesContent":["/*\n * Copyright 2025 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 { DiscoveryApi } from '../types/discovery';\nimport { FetchApi } from '../types/fetch';\nimport crossFetch from 'cross-fetch';\nimport { pluginId } from '../pluginId';\nimport * as parser from 'uri-template';\nimport { Action } from '../models/Action.model';\nimport { Autocomplete200Response } from '../models/Autocomplete200Response.model';\nimport { AutocompleteRequest } from '../models/AutocompleteRequest.model';\nimport { CancelTask200Response } from '../models/CancelTask200Response.model';\nimport { DryRun200Response } from '../models/DryRun200Response.model';\nimport { DryRunRequest } from '../models/DryRunRequest.model';\nimport { ListTasksResponse } from '../models/ListTasksResponse.model';\nimport { ListTemplatingExtensionsResponse } from '../models/ListTemplatingExtensionsResponse.model';\nimport { RetryRequest } from '../models/RetryRequest.model';\nimport { Scaffold201Response } from '../models/Scaffold201Response.model';\nimport { ScaffolderScaffoldOptions } from '../models/ScaffolderScaffoldOptions.model';\nimport { SerializedTask } from '../models/SerializedTask.model';\nimport { SerializedTaskEvent } from '../models/SerializedTaskEvent.model';\nimport { TemplateParameterSchema } from '../models/TemplateParameterSchema.model';\n\n/**\n * Wraps the Response type to convey a type on the json call.\n *\n * @public\n */\nexport type TypedResponse<T> = Omit<Response, 'json'> & {\n json: () => Promise<T>;\n};\n\n/**\n * Options you can pass into a request for additional information.\n *\n * @public\n */\nexport interface RequestOptions {\n token?: string;\n}\n/**\n * @public\n */\nexport type Autocomplete = {\n path: {\n provider: string;\n resource: string;\n };\n body: AutocompleteRequest;\n};\n/**\n * @public\n */\nexport type CancelTask = {\n path: {\n taskId: string;\n };\n};\n/**\n * @public\n */\nexport type DryRun = {\n body: DryRunRequest;\n};\n/**\n * @public\n */\nexport type GetTask = {\n path: {\n taskId: string;\n };\n};\n/**\n * @public\n */\nexport type GetTemplateParameterSchema = {\n path: {\n namespace: string;\n kind: string;\n name: string;\n };\n};\n/**\n * @public\n */\nexport type ListActions = {};\n/**\n * @public\n */\nexport type ListTasks = {\n query: {\n createdBy?: Array<string>;\n limit?: number;\n offset?: number;\n order?: Array<string>;\n status?: Array<string>;\n };\n};\n/**\n * @public\n */\nexport type ListTemplatingExtensions = {};\n/**\n * @public\n */\nexport type Retry = {\n path: {\n taskId: string;\n };\n body: RetryRequest;\n};\n/**\n * @public\n */\nexport type Scaffold = {\n body: ScaffolderScaffoldOptions;\n};\n/**\n * @public\n */\nexport type StreamLogsPolling = {\n path: {\n taskId: string;\n };\n query: {\n after?: number;\n };\n};\n\n/**\n * @public\n */\nexport class DefaultApiClient {\n private readonly discoveryApi: DiscoveryApi;\n private readonly fetchApi: FetchApi;\n\n constructor(options: {\n discoveryApi: { getBaseUrl(pluginId: string): Promise<string> };\n fetchApi?: { fetch: typeof fetch };\n }) {\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi || { fetch: crossFetch };\n }\n\n /**\n * Perform an autocomplete for the given provider and resource.\n * @param provider -\n * @param resource -\n * @param autocompleteRequest -\n */\n public async autocomplete(\n // @ts-ignore\n request: Autocomplete,\n options?: RequestOptions,\n ): Promise<TypedResponse<Autocomplete200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/autocomplete/{provider}/{resource}`;\n\n const uri = parser.parse(uriTemplate).expand({\n provider: request.path.provider,\n resource: request.path.resource,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Sends a signal to a task broker to cancel the running task by taskId.\n * @param taskId -\n */\n public async cancelTask(\n // @ts-ignore\n request: CancelTask,\n options?: RequestOptions,\n ): Promise<TypedResponse<CancelTask200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/cancel`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n });\n }\n\n /**\n * Perform a dry-run of a template\n * @param dryRunRequest -\n */\n public async dryRun(\n // @ts-ignore\n request: DryRun,\n options?: RequestOptions,\n ): Promise<TypedResponse<DryRun200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/dry-run`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Get a task by ID.\n * @param taskId -\n */\n public async getTask(\n // @ts-ignore\n request: GetTask,\n options?: RequestOptions,\n ): Promise<TypedResponse<SerializedTask>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Get template parameter schema.\n * @param namespace -\n * @param kind -\n * @param name -\n */\n public async getTemplateParameterSchema(\n // @ts-ignore\n request: GetTemplateParameterSchema,\n options?: RequestOptions,\n ): Promise<TypedResponse<TemplateParameterSchema>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/templates/{namespace}/{kind}/{name}/parameter-schema`;\n\n const uri = parser.parse(uriTemplate).expand({\n namespace: request.path.namespace,\n kind: request.path.kind,\n name: request.path.name,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a list of all installed actions.\n */\n public async listActions(\n // @ts-ignore\n request: ListActions,\n options?: RequestOptions,\n ): Promise<TypedResponse<Array<Action>>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/actions`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a list of tasks, filtering by ownership and/or status if given.\n * @param createdBy - Created by\n * @param limit - Number of records to return in the response.\n * @param offset - Number of records to skip in the query page.\n * @param order - Order\n * @param status - Status\n */\n public async listTasks(\n // @ts-ignore\n request: ListTasks,\n options?: RequestOptions,\n ): Promise<TypedResponse<ListTasksResponse>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks{?createdBy*,limit,offset,order*,status*}`;\n\n const uri = parser.parse(uriTemplate).expand({\n ...request.query,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a structure describing the available templating extensions.\n */\n public async listTemplatingExtensions(\n // @ts-ignore\n request: ListTemplatingExtensions,\n options?: RequestOptions,\n ): Promise<TypedResponse<ListTemplatingExtensionsResponse>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/templating-extensions`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Starts the task again from the point where it failed.\n * @param taskId -\n * @param retryRequest -\n */\n public async retry(\n // @ts-ignore\n request: Retry,\n options?: RequestOptions,\n ): Promise<TypedResponse<Scaffold201Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/retry`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Executes the scaffolding of a component, given a template and its parameter values.\n * @param scaffolderScaffoldOptions -\n */\n public async scaffold(\n // @ts-ignore\n request: Scaffold,\n options?: RequestOptions,\n ): Promise<TypedResponse<Scaffold201Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Get events for a task by ID.\n * @param taskId -\n * @param after - Offset event ID to stream events after.\n */\n public async streamLogsPolling(\n // @ts-ignore\n request: StreamLogsPolling,\n options?: RequestOptions,\n ): Promise<TypedResponse<Array<SerializedTaskEvent>>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/events{?after}`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n ...request.query,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Api.client.esm.js","sources":["../../../../../src/schema/openapi/generated/apis/Api.client.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// ******************************************************************\n\nimport { DiscoveryApi } from '../types/discovery';\nimport { FetchApi } from '../types/fetch';\nimport crossFetch from 'cross-fetch';\nimport { pluginId } from '../pluginId';\nimport * as parser from 'uri-template';\nimport { Action } from '../models/Action.model';\nimport { Autocomplete200Response } from '../models/Autocomplete200Response.model';\nimport { AutocompleteRequest } from '../models/AutocompleteRequest.model';\nimport { CancelTask200Response } from '../models/CancelTask200Response.model';\nimport { DryRun200Response } from '../models/DryRun200Response.model';\nimport { DryRunRequest } from '../models/DryRunRequest.model';\nimport { ListTasksResponse } from '../models/ListTasksResponse.model';\nimport { ListTemplatingExtensionsResponse } from '../models/ListTemplatingExtensionsResponse.model';\nimport { RetryRequest } from '../models/RetryRequest.model';\nimport { Scaffold201Response } from '../models/Scaffold201Response.model';\nimport { ScaffolderScaffoldOptions } from '../models/ScaffolderScaffoldOptions.model';\nimport { SerializedTask } from '../models/SerializedTask.model';\nimport { SerializedTaskEvent } from '../models/SerializedTaskEvent.model';\nimport { TemplateParameterSchema } from '../models/TemplateParameterSchema.model';\n\n/**\n * Wraps the Response type to convey a type on the json call.\n *\n * @public\n */\nexport type TypedResponse<T> = Omit<Response, 'json'> & {\n json: () => Promise<T>;\n};\n\n/**\n * Options you can pass into a request for additional information.\n *\n * @public\n */\nexport interface RequestOptions {\n token?: string;\n}\n/**\n * @public\n */\nexport type Autocomplete = {\n path: {\n provider: string;\n resource: string;\n };\n body: AutocompleteRequest;\n};\n/**\n * @public\n */\nexport type CancelTask = {\n path: {\n taskId: string;\n };\n};\n/**\n * @public\n */\nexport type DryRun = {\n body: DryRunRequest;\n};\n/**\n * @public\n */\nexport type GetTask = {\n path: {\n taskId: string;\n };\n};\n/**\n * @public\n */\nexport type GetTemplateParameterSchema = {\n path: {\n namespace: string;\n kind: string;\n name: string;\n };\n};\n/**\n * @public\n */\nexport type ListActions = {};\n/**\n * @public\n */\nexport type ListTasks = {\n query: {\n createdBy?: Array<string>;\n limit?: number;\n offset?: number;\n order?: Array<string>;\n status?: Array<string>;\n };\n};\n/**\n * @public\n */\nexport type ListTemplatingExtensions = {};\n/**\n * @public\n */\nexport type Retry = {\n path: {\n taskId: string;\n };\n body: RetryRequest;\n};\n/**\n * @public\n */\nexport type Scaffold = {\n body: ScaffolderScaffoldOptions;\n};\n/**\n * @public\n */\nexport type StreamLogsPolling = {\n path: {\n taskId: string;\n };\n query: {\n after?: number;\n };\n};\n\n/**\n * @public\n */\nexport class DefaultApiClient {\n private readonly discoveryApi: DiscoveryApi;\n private readonly fetchApi: FetchApi;\n\n constructor(options: {\n discoveryApi: { getBaseUrl(pluginId: string): Promise<string> };\n fetchApi?: { fetch: typeof fetch };\n }) {\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi || { fetch: crossFetch };\n }\n\n /**\n * Perform an autocomplete for the given provider and resource.\n * @param provider -\n * @param resource -\n * @param autocompleteRequest -\n */\n public async autocomplete(\n // @ts-ignore\n request: Autocomplete,\n options?: RequestOptions,\n ): Promise<TypedResponse<Autocomplete200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/autocomplete/{provider}/{resource}`;\n\n const uri = parser.parse(uriTemplate).expand({\n provider: request.path.provider,\n resource: request.path.resource,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Sends a signal to a task broker to cancel the running task by taskId.\n * @param taskId -\n */\n public async cancelTask(\n // @ts-ignore\n request: CancelTask,\n options?: RequestOptions,\n ): Promise<TypedResponse<CancelTask200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/cancel`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n });\n }\n\n /**\n * Perform a dry-run of a template\n * @param dryRunRequest -\n */\n public async dryRun(\n // @ts-ignore\n request: DryRun,\n options?: RequestOptions,\n ): Promise<TypedResponse<DryRun200Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/dry-run`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Get a task by ID.\n * @param taskId -\n */\n public async getTask(\n // @ts-ignore\n request: GetTask,\n options?: RequestOptions,\n ): Promise<TypedResponse<SerializedTask>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Get template parameter schema.\n * @param namespace -\n * @param kind -\n * @param name -\n */\n public async getTemplateParameterSchema(\n // @ts-ignore\n request: GetTemplateParameterSchema,\n options?: RequestOptions,\n ): Promise<TypedResponse<TemplateParameterSchema>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/templates/{namespace}/{kind}/{name}/parameter-schema`;\n\n const uri = parser.parse(uriTemplate).expand({\n namespace: request.path.namespace,\n kind: request.path.kind,\n name: request.path.name,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a list of all installed actions.\n */\n public async listActions(\n // @ts-ignore\n request: ListActions,\n options?: RequestOptions,\n ): Promise<TypedResponse<Array<Action>>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/actions`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a list of tasks, filtering by ownership and/or status if given.\n * @param createdBy - Created by\n * @param limit - Number of records to return in the response.\n * @param offset - Number of records to skip in the query page.\n * @param order - Order\n * @param status - Status\n */\n public async listTasks(\n // @ts-ignore\n request: ListTasks,\n options?: RequestOptions,\n ): Promise<TypedResponse<ListTasksResponse>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks{?createdBy*,limit,offset,order*,status*}`;\n\n const uri = parser.parse(uriTemplate).expand({\n ...request.query,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Returns a structure describing the available templating extensions.\n */\n public async listTemplatingExtensions(\n // @ts-ignore\n request: ListTemplatingExtensions,\n options?: RequestOptions,\n ): Promise<TypedResponse<ListTemplatingExtensionsResponse>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/templating-extensions`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n\n /**\n * Starts the task again from the point where it failed.\n * @param taskId -\n * @param retryRequest -\n */\n public async retry(\n // @ts-ignore\n request: Retry,\n options?: RequestOptions,\n ): Promise<TypedResponse<Scaffold201Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/retry`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Executes the scaffolding of a component, given a template and its parameter values.\n * @param scaffolderScaffoldOptions -\n */\n public async scaffold(\n // @ts-ignore\n request: Scaffold,\n options?: RequestOptions,\n ): Promise<TypedResponse<Scaffold201Response>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks`;\n\n const uri = parser.parse(uriTemplate).expand({});\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'POST',\n body: JSON.stringify(request.body),\n });\n }\n\n /**\n * Get events for a task by ID.\n * @param taskId -\n * @param after - Offset event ID to stream events after.\n */\n public async streamLogsPolling(\n // @ts-ignore\n request: StreamLogsPolling,\n options?: RequestOptions,\n ): Promise<TypedResponse<Array<SerializedTaskEvent>>> {\n const baseUrl = await this.discoveryApi.getBaseUrl(pluginId);\n\n const uriTemplate = `/v2/tasks/{taskId}/events{?after}`;\n\n const uri = parser.parse(uriTemplate).expand({\n taskId: request.path.taskId,\n ...request.query,\n });\n\n return await this.fetchApi.fetch(`${baseUrl}${uri}`, {\n headers: {\n 'Content-Type': 'application/json',\n ...(options?.token && { Authorization: `Bearer ${options?.token}` }),\n },\n method: 'GET',\n });\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginId.cjs.js","sources":["../../../../src/schema/openapi/generated/pluginId.ts"],"sourcesContent":["/*\n * Copyright
|
|
1
|
+
{"version":3,"file":"pluginId.cjs.js","sources":["../../../../src/schema/openapi/generated/pluginId.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\nexport const pluginId = 'scaffolder';\n"],"names":[],"mappings":";;AAgBO,MAAM,QAAA,GAAW;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginId.esm.js","sources":["../../../../src/schema/openapi/generated/pluginId.ts"],"sourcesContent":["/*\n * Copyright
|
|
1
|
+
{"version":3,"file":"pluginId.esm.js","sources":["../../../../src/schema/openapi/generated/pluginId.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\nexport const pluginId = 'scaffolder';\n"],"names":[],"mappings":"AAgBO,MAAM,QAAA,GAAW;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-scaffolder-common",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-next.1",
|
|
4
4
|
"description": "Common functionalities for the scaffolder, to be shared between scaffolder and scaffolder-backend plugin",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "common-library",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@backstage/catalog-model": "1.7.6",
|
|
74
74
|
"@backstage/errors": "1.2.7",
|
|
75
|
-
"@backstage/integration": "
|
|
75
|
+
"@backstage/integration": "2.0.0-next.1",
|
|
76
76
|
"@backstage/plugin-permission-common": "0.9.6",
|
|
77
77
|
"@backstage/types": "1.2.2",
|
|
78
78
|
"@microsoft/fetch-event-source": "^2.0.1",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"zen-observable": "^0.10.0"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
|
-
"@backstage/cli": "0.
|
|
86
|
+
"@backstage/cli": "0.36.0-next.1",
|
|
87
87
|
"@backstage/test-utils": "1.7.16-next.0",
|
|
88
88
|
"msw": "^1.0.0"
|
|
89
89
|
},
|