mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
fix(pi): resume archived sessions safely (#1308)
* fix(pi): resume archived sessions safely * fix(pi): harden native resume startup * fix(pi): harden resume termination evidence * fix(runner): persist resume process evidence * fix(runner): track resume process generations * fix(runner): verify full session tree shutdown * fix(pi): block pre-mapping resume dedup
This commit is contained in:
@@ -52,6 +52,18 @@ export const MetadataSchema = z.object({
|
||||
cursorMigrationState: z.enum(['in_progress', 'ambiguous']).optional(),
|
||||
kimiSessionId: z.string().optional(),
|
||||
piSessionId: z.string().optional(),
|
||||
piResumeAttempt: z.object({
|
||||
state: z.enum(['resuming', 'terminating', 'quarantined']),
|
||||
machineId: z.string(),
|
||||
startedAt: z.number(),
|
||||
childSessionId: z.string().optional(),
|
||||
archiveSnapshot: z.object({
|
||||
lifecycleState: z.string().optional(),
|
||||
lifecycleStateSince: z.number().optional(),
|
||||
archivedBy: z.string().optional(),
|
||||
archiveReason: z.string().optional(),
|
||||
}).optional(),
|
||||
}).optional(),
|
||||
tools: z.array(z.string()).optional(),
|
||||
slashCommands: z.array(z.string()).optional(),
|
||||
homeDir: z.string().optional(),
|
||||
@@ -304,6 +316,7 @@ export const RunnerStateSchema = z.object({
|
||||
pid: z.number().optional(),
|
||||
httpPort: z.number().optional(),
|
||||
startedAt: z.number().optional(),
|
||||
capabilities: z.object({ piExistingSessionResume: z.literal(true).optional() }).optional(),
|
||||
shutdownRequestedAt: z.number().optional(),
|
||||
shutdownSource: z.union([z.enum(['mobile-app', 'cli', 'os-signal', 'unknown']), z.string()]).optional(),
|
||||
lastSpawnError: z.object({
|
||||
|
||||
Reference in New Issue
Block a user