fix: apply biome formatting to pass CI lint check
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
251d056865
commit
d798e6a6fa
|
|
@ -45,11 +45,7 @@ function truncateForDisplay(objective: string): string {
|
||||||
}
|
}
|
||||||
|
|
||||||
function drainGoalContinuationQueue(): void {
|
function drainGoalContinuationQueue(): void {
|
||||||
removeByFilter(
|
removeByFilter(cmd => cmd.origin === 'goal-continuation' || cmd.origin === 'goal-budget-limit');
|
||||||
cmd =>
|
|
||||||
cmd.origin === 'goal-continuation' ||
|
|
||||||
cmd.origin === 'goal-budget-limit',
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatGoalStatus(): string {
|
function formatGoalStatus(): string {
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,7 @@ export type UseGoalContinuationOpts = {
|
||||||
}) => void
|
}) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
export function useGoalContinuation(
|
export function useGoalContinuation(opts: UseGoalContinuationOpts): void {
|
||||||
opts: UseGoalContinuationOpts,
|
|
||||||
): void {
|
|
||||||
const optsRef = useRef(opts)
|
const optsRef = useRef(opts)
|
||||||
optsRef.current = opts
|
optsRef.current = opts
|
||||||
|
|
||||||
|
|
@ -88,7 +86,10 @@ export function useGoalContinuation(
|
||||||
|
|
||||||
// Codex parity: continuation only after normal completion.
|
// Codex parity: continuation only after normal completion.
|
||||||
// Aborted turns (Ctrl+C / Escape) must not trigger a new turn.
|
// Aborted turns (Ctrl+C / Escape) must not trigger a new turn.
|
||||||
if (opts.wasAborted) { hookLog('skip: wasAborted=true'); return }
|
if (opts.wasAborted) {
|
||||||
|
hookLog('skip: wasAborted=true')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Already enqueued for this idle window
|
// Already enqueued for this idle window
|
||||||
if (enqueuedRef.current) return
|
if (enqueuedRef.current) return
|
||||||
|
|
@ -102,8 +103,14 @@ export function useGoalContinuation(
|
||||||
hookLog('skip: yielding to queued user messages')
|
hookLog('skip: yielding to queued user messages')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (opts.hasActiveLocalJsxUI) { hookLog('skip: activeLocalJsxUI'); return }
|
if (opts.hasActiveLocalJsxUI) {
|
||||||
if (opts.isInPlanMode) { hookLog('skip: planMode'); return }
|
hookLog('skip: activeLocalJsxUI')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (opts.isInPlanMode) {
|
||||||
|
hookLog('skip: planMode')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
const goal = getGoal()
|
const goal = getGoal()
|
||||||
if (!goal) {
|
if (!goal) {
|
||||||
|
|
@ -120,7 +127,9 @@ export function useGoalContinuation(
|
||||||
budgetLimitFiredRef.current = true
|
budgetLimitFiredRef.current = true
|
||||||
enqueuedRef.current = true
|
enqueuedRef.current = true
|
||||||
const prompt = buildBudgetLimitPrompt(goal)
|
const prompt = buildBudgetLimitPrompt(goal)
|
||||||
logForDebugging('[goal] hook: budget limit reached, injecting wrap-up prompt')
|
logForDebugging(
|
||||||
|
'[goal] hook: budget limit reached, injecting wrap-up prompt',
|
||||||
|
)
|
||||||
enqueue({
|
enqueue({
|
||||||
value: prompt,
|
value: prompt,
|
||||||
mode: 'prompt',
|
mode: 'prompt',
|
||||||
|
|
@ -157,7 +166,9 @@ export function useGoalContinuation(
|
||||||
persistCurrentGoal()
|
persistCurrentGoal()
|
||||||
|
|
||||||
const prompt = buildContinuationPrompt(goal)
|
const prompt = buildContinuationPrompt(goal)
|
||||||
logForDebugging(`[goal] hook: enqueuing turn ${turns} for "${goal.objective.slice(0, 60)}"`)
|
logForDebugging(
|
||||||
|
`[goal] hook: enqueuing turn ${turns} for "${goal.objective.slice(0, 60)}"`,
|
||||||
|
)
|
||||||
|
|
||||||
enqueue({
|
enqueue({
|
||||||
value: prompt,
|
value: prompt,
|
||||||
|
|
|
||||||
|
|
@ -3202,7 +3202,12 @@ export function REPL({
|
||||||
// Auto-pause active /goal when the turn failed due to connectivity.
|
// Auto-pause active /goal when the turn failed due to connectivity.
|
||||||
// Continuing immediately after network failures usually burns turns
|
// Continuing immediately after network failures usually burns turns
|
||||||
// without progress and can rapidly hit max-turn guards.
|
// without progress and can rapidly hit max-turn guards.
|
||||||
if (feature('GOAL') && newMessage.type === 'assistant' && 'isApiErrorMessage' in newMessage && newMessage.isApiErrorMessage) {
|
if (
|
||||||
|
feature('GOAL') &&
|
||||||
|
newMessage.type === 'assistant' &&
|
||||||
|
'isApiErrorMessage' in newMessage &&
|
||||||
|
newMessage.isApiErrorMessage
|
||||||
|
) {
|
||||||
const assistantText =
|
const assistantText =
|
||||||
getContentText((newMessage.message?.content ?? '') as string | ContentBlockParam[]) ?? '';
|
getContentText((newMessage.message?.content ?? '') as string | ContentBlockParam[]) ?? '';
|
||||||
const lowerText = assistantText.toLowerCase();
|
const lowerText = assistantText.toLowerCase();
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,10 @@ export function continueGoalFromMaxTurns(sessionId?: string): GoalState | null {
|
||||||
goal.blockedAttempts = 0
|
goal.blockedAttempts = 0
|
||||||
goal.lastBlockReason = null
|
goal.lastBlockReason = null
|
||||||
goal.updatedAt = now
|
goal.updatedAt = now
|
||||||
goalLog('CONTINUE', `turn counter reset, status active (max=${MAX_GOAL_TURNS})`)
|
goalLog(
|
||||||
|
'CONTINUE',
|
||||||
|
`turn counter reset, status active (max=${MAX_GOAL_TURNS})`,
|
||||||
|
)
|
||||||
return goal
|
return goal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -477,7 +477,9 @@ export async function processResumedConversation(
|
||||||
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||||
require('../services/goal/goalStorage.js') as typeof import('../services/goal/goalStorage.js')
|
require('../services/goal/goalStorage.js') as typeof import('../services/goal/goalStorage.js')
|
||||||
const goalsMap = new Map<UUID, import('../types/logs.js').GoalState>()
|
const goalsMap = new Map<UUID, import('../types/logs.js').GoalState>()
|
||||||
const sid = (opts.sessionIdOverride ?? result.sessionId ?? getSessionId()) as UUID
|
const sid = (opts.sessionIdOverride ??
|
||||||
|
result.sessionId ??
|
||||||
|
getSessionId()) as UUID
|
||||||
goalsMap.set(sid, result.goal)
|
goalsMap.set(sid, result.goal)
|
||||||
hydrateGoalFromTranscript(goalsMap, sid)
|
hydrateGoalFromTranscript(goalsMap, sid)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user