summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components/message-part.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ui/src/components/message-part.tsx')
-rw-r--r--packages/ui/src/components/message-part.tsx11
1 files changed, 10 insertions, 1 deletions
diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index 83811494c..e43ffc322 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -364,7 +364,16 @@ PART_MAPPING["tool"] = function ToolPartDisplay(props) {
const permission = createMemo(() => {
const sessionID = props.message.sessionID
const permissions = data.store.permission?.[sessionID] ?? []
- return permissions.find((p) => p.callID === part.callID)
+ const next = permissions.reduce(
+ (result, perm) => {
+ if (!result) return perm
+ if (perm.id < result.id) return perm
+ return result
+ },
+ undefined as (typeof permissions)[number] | undefined,
+ )
+ if (!next) return undefined
+ return next.callID === part.callID ? next : undefined
})
const [forceOpen, setForceOpen] = createSignal(false)