Restore Studio 2 Load hydrate, sticky negatives, and strip actions.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -139,11 +139,44 @@ export async function updateGenerationLogByStudioJob(
|
||||
export async function requeueGenerationLog(owner: string, id: string) {
|
||||
const entry = getGenerationLogEntry(owner, id)
|
||||
const { addStudioJob, kickStudioQueue } = await import('~/server/utils/studioQueue')
|
||||
let payload = structuredClone(entry.payload)
|
||||
if (payload?.studio2Id || payload?.studio2Request) {
|
||||
const { saveRecord, readRecord } = await import('~/server/utils/studio2/store')
|
||||
let request = payload.studio2Request
|
||||
if (!request && payload.studio2Id) {
|
||||
try { request = structuredClone(readRecord(owner, payload.studio2Id).request) }
|
||||
catch { request = null }
|
||||
}
|
||||
if (!request) throw createError({ statusCode: 400, statusMessage: 'That Studio 2 job has no saved request to re-queue.' })
|
||||
const studio2Id = crypto.randomUUID()
|
||||
saveRecord({
|
||||
id: studio2Id,
|
||||
owner,
|
||||
request: structuredClone(request),
|
||||
state: 'waiting',
|
||||
queuedAt: Date.now(),
|
||||
familyId: crypto.randomUUID(),
|
||||
outputs: [],
|
||||
purgeResult: 'Not yet saved'
|
||||
})
|
||||
payload = {
|
||||
...payload,
|
||||
...structuredClone(request.settings || {}),
|
||||
studio2Id,
|
||||
studio2Request: structuredClone(request),
|
||||
prompt: request.compiledPrompt || payload.prompt,
|
||||
folderId: request.folderId || payload.folderId,
|
||||
extensions: [],
|
||||
referenceStillIds: [],
|
||||
useIdentityRefs: false,
|
||||
queueAutoRun: true
|
||||
}
|
||||
}
|
||||
const studio = await addStudioJob({
|
||||
ownerKey: owner,
|
||||
familyId: crypto.randomUUID(),
|
||||
kind: entry.kind,
|
||||
payload: structuredClone(entry.payload)
|
||||
payload
|
||||
})
|
||||
await kickStudioQueue()
|
||||
return { studioJobId: studio.id, entry: listGenerationLog(owner, 1)[0] || getGenerationLogEntry(owner, id) }
|
||||
|
||||
Reference in New Issue
Block a user