sync
This commit is contained in:
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user