This commit is contained in:
Dax Raad
2025-12-29 11:59:17 -05:00
parent 8ca4343053
commit aeca8051d5
4 changed files with 51 additions and 37 deletions
+1 -1
View File
@@ -153,7 +153,7 @@ export namespace SessionProcessor {
JSON.stringify(p.state.input) === JSON.stringify(value.input),
)
) {
const agent = await Agent.get(input.assistantMessage.mode)
const agent = await Agent.get(input.assistantMessage.agent)
await PermissionNext.ask({
permission: "doom_loop",
patterns: [value.toolName],
+11 -10
View File
@@ -241,6 +241,7 @@ export namespace SessionPrompt {
using _ = defer(() => cancel(sessionID))
let step = 0
const session = await Session.get(sessionID)
while (true) {
SessionStatus.set(sessionID, { type: "busy" })
log.info("loop", { step, sessionID })
@@ -277,7 +278,7 @@ export namespace SessionPrompt {
step++
if (step === 1)
ensureTitle({
session: await Session.get(sessionID),
session,
modelID: lastUser.model.modelID,
providerID: lastUser.model.providerID,
message: msgs.find((m) => m.info.role === "user")!,
@@ -519,7 +520,7 @@ export namespace SessionPrompt {
})
const tools = await resolveTools({
agent,
sessionID,
session,
model,
tools: lastUser.tools,
processor,
@@ -589,7 +590,7 @@ export namespace SessionPrompt {
async function resolveTools(input: {
agent: Agent.Info
model: Provider.Model
sessionID: string
session: Session.Info
tools?: Record<string, boolean>
processor: SessionProcessor.Info
}) {
@@ -606,7 +607,7 @@ export namespace SessionPrompt {
"tool.execute.before",
{
tool: item.id,
sessionID: input.sessionID,
sessionID: input.session.id,
callID: options.toolCallId,
},
{
@@ -614,7 +615,7 @@ export namespace SessionPrompt {
},
)
const ctx: Tool.Context = {
sessionID: input.sessionID,
sessionID: input.session.id,
abort: options.abortSignal!,
messageID: input.processor.message.id,
callID: options.toolCallId,
@@ -640,7 +641,7 @@ export namespace SessionPrompt {
async ask(req) {
await PermissionNext.ask({
...req,
sessionID: input.sessionID,
sessionID: input.session.parentID ?? input.session.id,
tool: { messageID: input.processor.message.id, callID: options.toolCallId },
ruleset: input.agent.permission,
})
@@ -651,7 +652,7 @@ export namespace SessionPrompt {
"tool.execute.after",
{
tool: item.id,
sessionID: input.sessionID,
sessionID: input.session.id,
callID: options.toolCallId,
},
result,
@@ -676,7 +677,7 @@ export namespace SessionPrompt {
"tool.execute.before",
{
tool: key,
sessionID: input.sessionID,
sessionID: input.session.id,
callID: opts.toolCallId,
},
{
@@ -689,7 +690,7 @@ export namespace SessionPrompt {
"tool.execute.after",
{
tool: key,
sessionID: input.sessionID,
sessionID: input.session.id,
callID: opts.toolCallId,
},
result,
@@ -704,7 +705,7 @@ export namespace SessionPrompt {
} else if (contentItem.type === "image") {
attachments.push({
id: Identifier.ascending("part"),
sessionID: input.sessionID,
sessionID: input.session.id,
messageID: input.processor.message.id,
type: "file",
mime: contentItem.mimeType,