> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# API delle attività e ripristino

Recupera una submission incerta senza creare una nuova attività.

## Prima di iniziare

Apri il progetto supastack scaricato in Visual Studio Code utilizzando File → Apri cartella, quindi scegli Terminale → Nuovo terminale. La radice del repository è la cartella contenente package.json, app e pacchetti. Esegui il comando qui sotto e lascia il suo terminale aperto. Se un comando non viene riconosciuto, completare la guida all'installazione dello strumento prima di continuare.

Leggi prima il tutorial sulla piattaforma. Un server è il processo dell'app che risponde alle richieste del browser o del telefono. Il Web legge apps/web/.env.local, Expo legge apps/mobile/.env.local e i comandi di migrazione del database leggono root .env. La dimostrazione senza database/dashboard è separata dagli account reali/auth, che necessitano della migrazione Postgres. Un pagamento solo telefonico o desktop richiede un backend Web eseguito separatamente.

[Installa gli strumenti e ottieni il codice](https://supastack.dev/it/docs/web/before-you-start.md)

[Impara comandi, file e configurazione](https://supastack.dev/it/docs/web/terminal-basics.md)

[Completa il tutorial di prima esecuzione sul Web](https://supastack.dev/it/docs/web/ship-in-5-minutes.md)

```
corepack pnpm --filter @supastack/web dev
```


## Installazione e configurazione

POST /api/ai/tasks richiede un workspace autenticato e un permesso attivo. Una richiesta con chiave riserva un'attività immutabile prima del dispatch. Idempotency-Key accetta da 16 a 128 lettere ASCII, cifre, underscore o trattini.

```
POST /api/ai/tasks
Idempotency-Key: a-stable-client-submission-key

Recovery body: { "resume": true }
Status: GET /api/ai/tasks/{taskId}
```


## Flusso di implementazione

Persisti la chiave di ripristino prima di inviare. Dopo un dispatch incerto, riusa la stessa chiave e il corpo resume; il server carica l'input originale e riprova con la stessa identità Trigger delimitata all'attività. Un input modificato sotto la stessa chiave restituisce 409 idempotencyConflict.

HTTP 202 dopo un enqueue ambiguo significa che il dispatch è incerto. Non dimostra che Trigger ha accettato il lavoro. Le attività già in esecuzione o terminali restituiscono lo stato salvato senza un altro enqueue. Il ripristino richiede comunque autenticazione, possesso e permesso.


## Verifica e risoluzione dei problemi

Esercita una risposta persa, un conflitto di input modificato, una richiesta da un altro workspace e il ripristino dopo refresh. Non c'è un dispatcher outbox automatico né una garanzia exactly-once end-to-end. Non rimettere in coda un'attività in esecuzione senza indagare i suoi effetti collaterali.


## Successivo

[Job Trigger.dev](https://supastack.dev/it/docs/modules/jobs.md)
