fix: use idle timeout for codex turns
This commit is contained in:
@@ -119,7 +119,7 @@ export function renderAipodSpec(record: AipodSpecRecord, input: RenderAipodInput
|
||||
const payload = mergeRecords(spec.payloadDefaults, input.payload);
|
||||
if (typeof input.prompt === "string" && input.prompt.trim().length > 0) payload.prompt = input.prompt;
|
||||
applyModelPayload(payload, spec.model);
|
||||
const sessionRef = renderSessionRef(spec.sessionRef ?? null, input);
|
||||
const sessionRef = renderSessionRef(spec.sessionRef ?? null, input, record, payload);
|
||||
const queueTask = validateCreateQueueTask({
|
||||
tenantId: input.tenantId ?? spec.tenantId ?? "unidesk",
|
||||
projectId: input.projectId ?? spec.projectId ?? "default",
|
||||
@@ -212,10 +212,17 @@ function validateAipodProviderCredential(profile: BackendProfile, policy: Execut
|
||||
}
|
||||
}
|
||||
|
||||
function renderSessionRef(base: SessionRef | null, input: RenderAipodInput): SessionRef | null {
|
||||
function renderSessionRef(base: SessionRef | null, input: RenderAipodInput, record: AipodSpecRecord, payload: JsonRecord): SessionRef | null {
|
||||
if (input.sessionRef !== undefined) return input.sessionRef;
|
||||
if (!input.sessionId) return base;
|
||||
return { ...(base ?? {}), sessionId: input.sessionId };
|
||||
const sessionId = input.sessionId ?? base?.sessionId ?? defaultAipodSessionId(record, input, payload);
|
||||
return { ...(base ?? {}), sessionId, conversationId: base?.conversationId ?? sessionId };
|
||||
}
|
||||
|
||||
function defaultAipodSessionId(record: AipodSpecRecord, input: RenderAipodInput, payload: JsonRecord): string {
|
||||
const seed = input.idempotencyKey ?? `${record.name}:${stableHash({ prompt: input.prompt ?? null, payload })}`;
|
||||
const suffix = stableHash({ aipod: record.name, seed }).slice(0, 24);
|
||||
const name = fileSafeAipodName(record.name).toLowerCase().replace(/[^a-z0-9]+/gu, "_").replace(/^_+|_+$/gu, "") || "aipod";
|
||||
return `sess_${name}_${suffix}`;
|
||||
}
|
||||
|
||||
function validateWorkspaceRef(record: JsonRecord): WorkspaceRef {
|
||||
|
||||
Reference in New Issue
Block a user