chore: commit workspace updates

This commit is contained in:
ddCat
2026-09-14 01:11:56 +08:00
parent 01a2d171f5
commit 9727656b2b
491 changed files with 12826 additions and 72249 deletions

View File

@@ -11,7 +11,6 @@ import { withGenerationArtifactCommitLock } from "@/services/generation-asset-re
import { uploadGeneratedAssetToConfiguredSources } from "@/services/external-asset-sources";
import { getImageBlob, resolveImageUrl, setImageBlob } from "@/services/image-storage";
import { generationArtifactStorageKey, loadOrStoreGenerationArtifact } from "@/services/generation-artifact-sink";
import { createLocalDreaminaTaskEffectStore } from "@/services/local-dreamina-generation";
import { createProviderNeutralGenerationTaskEffectStore } from "@/services/provider-neutral-generation-effects";
import { saveRemoteUserDataNow } from "@/services/user-data-sync";
import { getActiveUserScope } from "@/lib/user-scope";
@@ -391,13 +390,6 @@ async function generationOutputAsset(input: Parameters<MaterializeGenerationTask
};
}
let generationTaskEffectStoreInstance: ReturnType<typeof createLocalDreaminaTaskEffectStore> | undefined;
function generationTaskEffectStore() {
generationTaskEffectStoreInstance ??= createLocalDreaminaTaskEffectStore();
return generationTaskEffectStoreInstance;
}
const materializeGenerationOutput: MaterializeGenerationTaskOutput = createIdempotentMaterializeOutput({
async insertOrReturnAsset(input) {
const scope = getActiveUserScope();
@@ -428,16 +420,6 @@ const materializeGenerationOutput: MaterializeGenerationTaskOutput = createIdemp
},
});
const dreaminaGenerationTaskMaterializer = createGenerationTaskMaterializer({
effects: {
claim: (effectKey, taskId) => generationTaskEffectStore().claim(effectKey, taskId),
renew: (effectKey, taskId) => generationTaskEffectStore().renew(effectKey, taskId),
complete: (effectKey, taskId, result) => generationTaskEffectStore().complete(effectKey, taskId, result),
release: (effectKey, taskId) => generationTaskEffectStore().release(effectKey, taskId),
},
materializeOutput: materializeGenerationOutput,
});
function remoteGenerationTaskMaterializer() {
return createGenerationTaskMaterializer({
// 每个页面实例持有自己的租约;共享浏览器 storage + Web Lock 提供跨标签原子权威。
@@ -447,22 +429,22 @@ function remoteGenerationTaskMaterializer() {
}
function generationTaskMaterializer(task: GenerationTask) {
return task.provider === "dreamina-cli" ? dreaminaGenerationTaskMaterializer : remoteGenerationTaskMaterializer();
return remoteGenerationTaskMaterializer();
}
export async function materializeGenerationTaskAssets(task: GenerationTask, signal?: AbortSignal): Promise<GenerationTask> {
return generationTaskMaterializer(task).materialize(projectGenerationTaskResult(task), signal);
}
export function attachGenerationTaskNode(task: GenerationTask, nodeId: string, outputIndex: number, consumer: Parameters<typeof dreaminaGenerationTaskMaterializer.attachNode>[3], signal?: AbortSignal) {
export function attachGenerationTaskNode(task: GenerationTask, nodeId: string, outputIndex: number, consumer: Parameters<ReturnType<typeof generationTaskMaterializer>["attachNode"]>[3], signal?: AbortSignal) {
return generationTaskMaterializer(task).attachNode(task, nodeId, outputIndex, consumer, signal);
}
export function attachGenerationTaskMessage(task: GenerationTask, messageId: string, outputIndex: number, consumer: Parameters<typeof dreaminaGenerationTaskMaterializer.attachMessage>[3], signal?: AbortSignal) {
export function attachGenerationTaskMessage(task: GenerationTask, messageId: string, outputIndex: number, consumer: Parameters<ReturnType<typeof generationTaskMaterializer>["attachMessage"]>[3], signal?: AbortSignal) {
return generationTaskMaterializer(task).attachMessage(task, messageId, outputIndex, consumer, signal);
}
export function resumeGenerationTaskAgent(task: GenerationTask, continuationId: string, consumer: Parameters<typeof dreaminaGenerationTaskMaterializer.resumeAgent>[2], signal?: AbortSignal) {
export function resumeGenerationTaskAgent(task: GenerationTask, continuationId: string, consumer: Parameters<ReturnType<typeof generationTaskMaterializer>["resumeAgent"]>[2], signal?: AbortSignal) {
return generationTaskMaterializer(task).resumeAgent(task, continuationId, consumer, signal);
}