MCPcopy Create free account
hub / github.com/AnukarOP/claude-code-leaked / registerTask

Function registerTask

source code/utils/task/framework.ts:79–119  ·  view source on GitHub ↗
(task: TaskState, setAppState: SetAppState)

Source from the content-addressed store, hash-verified

77 * Register a new task in AppState.
78 */
79export function registerTask(task: TaskState, setAppState: SetAppState): void {
80 let isReplacement = false
81 setAppState(prev => {
82 const existing = prev.tasks[task.id]
83 isReplacement = existing !== undefined
84 // Carry forward UI-held state on re-register (resumeAgentBackground
85 // replaces the task; user's retain shouldn't reset). startTime keeps
86 // the panel sort stable; messages + diskLoaded preserve the viewed
87 // transcript across the replace (the user's just-appended prompt lives
88 // in messages and isn't on disk yet).
89 const merged =
90 existing && 'retain' in existing
91 ? {
92 ...task,
93 retain: existing.retain,
94 startTime: existing.startTime,
95 messages: existing.messages,
96 diskLoaded: existing.diskLoaded,
97 pendingMessages: existing.pendingMessages,
98 }
99 : task
100 return { ...prev, tasks: { ...prev.tasks, [task.id]: merged } }
101 })
102
103 // Replacement (resume) — not a new start. Skip to avoid double-emit.
104 if (isReplacement) return
105
106 enqueueSdkEvent({
107 type: 'system',
108 subtype: 'task_started',
109 task_id: task.id,
110 tool_use_id: task.toolUseId,
111 description: task.description,
112 task_type: task.type,
113 workflow_name:
114 'workflowName' in task
115 ? (task.workflowName as string | undefined)
116 : undefined,
117 prompt: 'prompt' in task ? (task.prompt as string) : undefined,
118 })
119}
120
121/**
122 * Eagerly evict a terminal task from AppState.

Callers 10

spawnInProcessTeammateFunction · 0.85
registerMainSessionTaskFunction · 0.85
registerRemoteAgentTaskFunction · 0.85
registerDreamTaskFunction · 0.85
spawnShellTaskFunction · 0.85
registerForegroundFunction · 0.85
registerAsyncAgentFunction · 0.85
registerAgentForegroundFunction · 0.85

Calls 1

enqueueSdkEventFunction · 0.85

Tested by

no test coverage detected