diff --git a/.changeset/gentle-ghosts-love.md b/.changeset/gentle-ghosts-love.md
new file mode 100644
index 0000000000..b0727512d6
--- /dev/null
+++ b/.changeset/gentle-ghosts-love.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': minor
+---
+
+breaking
diff --git a/.changeset/tender-apricots-fetch.md b/.changeset/tender-apricots-fetch.md
new file mode 100644
index 0000000000..fe52e688da
--- /dev/null
+++ b/.changeset/tender-apricots-fetch.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend': patch
+---
+
+smaller
diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md
index 14b422048d..c0ff3b3f2b 100644
--- a/plugins/scaffolder-backend/api-report.md
+++ b/plugins/scaffolder-backend/api-report.md
@@ -50,8 +50,8 @@ export type ActionContext = {
templateInfo?: TemplateInfo;
};
-// @public
-export type CompletedTaskState = 'failed' | 'completed';
+// @public @deprecated
+export type CompletedTaskState = TaskCompletionState;
// Warning: (ae-missing-release-tag) "createBuiltinActions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
@@ -315,7 +315,6 @@ export type CreateWorkerOptions = {
// @public
export class DatabaseTaskStore implements TaskStore {
- constructor(options: DatabaseTaskStoreOptions);
// (undocumented)
claimTask(): Promise;
// (undocumented)
@@ -325,7 +324,7 @@ export class DatabaseTaskStore implements TaskStore {
eventBody,
}: {
taskId: string;
- status: Status;
+ status: TaskStatus;
eventBody: JsonObject;
}): Promise;
// Warning: (ae-forgotten-export) The symbol "DatabaseTaskStoreOptions" needs to be exported by the entry point index.d.ts
@@ -334,11 +333,8 @@ export class DatabaseTaskStore implements TaskStore {
static create(options: DatabaseTaskStoreOptions): Promise;
// (undocumented)
createTask(
- spec: TaskSpec,
- secrets?: TaskSecrets,
- ): Promise<{
- taskId: string;
- }>;
+ options: TaskStoreCreateTaskOptions,
+ ): Promise;
// (undocumented)
emitLogEvent({ taskId, body }: TaskStoreEmitOptions): Promise;
// (undocumented)
@@ -357,10 +353,8 @@ export class DatabaseTaskStore implements TaskStore {
}>;
}
-// @public
-export type DispatchResult = {
- taskId: string;
-};
+// @public @deprecated
+export type DispatchResult = TaskBrokerDispatchResult;
// Warning: (ae-missing-release-tag) "fetchContents" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
@@ -449,7 +443,7 @@ export class ScaffolderEntitiesProcessor implements CatalogProcessor {
export type SerializedTask = {
id: string;
spec: TaskSpec;
- status: Status;
+ status: TaskStatus;
createdAt: string;
lastHeartbeatAt?: string;
secrets?: TaskSecrets;
@@ -464,20 +458,17 @@ export type SerializedTaskEvent = {
createdAt: string;
};
-// @public
-export type Status =
- | 'open'
- | 'processing'
- | 'failed'
- | 'cancelled'
- | 'completed';
+// @public @deprecated
+export type Status = TaskStatus;
// @public
export interface TaskBroker {
// (undocumented)
claim(): Promise;
// (undocumented)
- dispatch(spec: TaskSpec, secrets?: TaskSecrets): Promise;
+ dispatch(
+ options: TaskBrokerDispatchOptions,
+ ): Promise;
// (undocumented)
get(taskId: string): Promise;
// (undocumented)
@@ -499,10 +490,24 @@ export interface TaskBroker {
vacuumTasks(timeoutS: { timeoutS: number }): Promise;
}
+// @public
+export type TaskBrokerDispatchOptions = {
+ spec: TaskSpec;
+ secrets?: TaskSecrets;
+};
+
+// @public
+export type TaskBrokerDispatchResult = {
+ taskId: string;
+};
+
+// @public
+export type TaskCompletionState = 'failed' | 'completed';
+
// @public
export interface TaskContext {
// (undocumented)
- complete(result: CompletedTaskState, metadata?: JsonValue): Promise;
+ complete(result: TaskCompletionState, metadata?: JsonValue): Promise;
// (undocumented)
done: boolean;
// (undocumented)
@@ -521,7 +526,7 @@ export type TaskEventType = 'completion' | 'log';
// @public
export class TaskManager implements TaskContext {
// (undocumented)
- complete(result: CompletedTaskState, metadata?: JsonObject): Promise;
+ complete(result: TaskCompletionState, metadata?: JsonObject): Promise;
// (undocumented)
static create(
state: TaskState,
@@ -561,6 +566,14 @@ export interface TaskState {
taskId: string;
}
+// @public
+export type TaskStatus =
+ | 'open'
+ | 'processing'
+ | 'failed'
+ | 'cancelled'
+ | 'completed';
+
// @public
export interface TaskStore {
// (undocumented)
@@ -568,16 +581,13 @@ export interface TaskStore {
// (undocumented)
completeTask(options: {
taskId: string;
- status: Status;
+ status: TaskStatus;
eventBody: JsonObject;
}): Promise;
// (undocumented)
createTask(
- task: TaskSpec,
- secrets?: TaskSecrets,
- ): Promise<{
- taskId: string;
- }>;
+ options: TaskStoreCreateTaskOptions,
+ ): Promise;
// (undocumented)
emitLogEvent({ taskId, body }: TaskStoreEmitOptions): Promise;
// (undocumented)
@@ -596,6 +606,17 @@ export interface TaskStore {
}>;
}
+// @public
+export type TaskStoreCreateTaskOptions = {
+ spec: TaskSpec;
+ secrets?: TaskSecrets;
+};
+
+// @public
+export type TaskStoreCreateTaskResult = {
+ taskId: string;
+};
+
// @public
export type TaskStoreEmitOptions = {
taskId: string;
diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/index.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/index.ts
index be1eaef643..89404d3390 100644
--- a/plugins/scaffolder-backend/src/scaffolder/tasks/index.ts
+++ b/plugins/scaffolder-backend/src/scaffolder/tasks/index.ts
@@ -38,5 +38,7 @@ export type {
DispatchResult,
TaskBrokerDispatchResult,
TaskBrokerDispatchOptions,
+ TaskStoreCreateTaskOptions,
+ TaskStoreCreateTaskResult,
TemplateMetadata,
} from './types';
diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts
index 147fa359d2..6209c34796 100644
--- a/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts
+++ b/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts
@@ -131,6 +131,8 @@ export type TaskBrokerDispatchOptions = {
/**
* DispatchResult
+ *
+ * @public
* @deprecated use TaskBrokerDispatchResult instead
*/
export type DispatchResult = TaskBrokerDispatchResult;