refactor(exec): unify channel approvals and restore routing/auth (#57838)

* fix(exec): add shared approval runtime

* fix(exec): harden shared approval runtime

* fix(exec): guard approval expiration callbacks

* fix(exec): handle approval runtime races

* fix(exec): clean up failed approval deliveries

* fix(exec): restore channel approval routing

* fix(exec): scope telegram legacy approval fallback

* refactor(exec): centralize native approval delivery

* fix(exec): harden approval auth and account routing

* test(exec): align telegram approval auth assertions

* fix(exec): align approval rebase followups

* fix(exec): clarify plugin approval not-found errors

* fix(exec): fall back to session-bound telegram accounts

* fix(exec): detect structured telegram approval misses

* test(exec): align discord approval auth coverage

* fix(exec): ignore discord dm origin channel routes

* fix(telegram): skip self-authored message echoes

* fix(exec): keep implicit approval auth non-explicit
This commit is contained in:
scoootscooob
2026-03-30 15:49:02 -07:00
committed by GitHub
parent e7e15b92bd
commit 9ff57ac479
35 changed files with 3606 additions and 2136 deletions

View File

@@ -109,7 +109,7 @@
"exportName": "ChannelConfiguredBindingConversationRef",
"kind": "type",
"source": {
"line": 607,
"line": 650,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -118,7 +118,7 @@
"exportName": "ChannelConfiguredBindingMatch",
"kind": "type",
"source": {
"line": 612,
"line": 655,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -127,7 +127,7 @@
"exportName": "ChannelConfiguredBindingProvider",
"kind": "type",
"source": {
"line": 628,
"line": 671,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -478,7 +478,7 @@
"exportName": "ReplyPayload",
"kind": "type",
"source": {
"line": 76,
"line": 79,
"path": "src/auto-reply/types.ts"
}
},
@@ -1206,7 +1206,7 @@
"exportName": "ChannelCommandConversationContext",
"kind": "type",
"source": {
"line": 616,
"line": 659,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -1500,7 +1500,7 @@
"exportName": "enqueueSystemEvent",
"kind": "function",
"source": {
"line": 91,
"line": 93,
"path": "src/infra/system-events.ts"
}
},
@@ -1644,7 +1644,7 @@
"exportName": "resetSystemEventsForTest",
"kind": "function",
"source": {
"line": 157,
"line": 160,
"path": "src/infra/system-events.ts"
}
},
@@ -1824,7 +1824,7 @@
"exportName": "ChannelAllowlistAdapter",
"kind": "type",
"source": {
"line": 551,
"line": 594,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -1833,7 +1833,7 @@
"exportName": "ChannelApprovalAdapter",
"kind": "type",
"source": {
"line": 546,
"line": 588,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -1914,7 +1914,7 @@
"exportName": "ChannelCommandConversationContext",
"kind": "type",
"source": {
"line": 616,
"line": 659,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -1932,7 +1932,7 @@
"exportName": "ChannelConfiguredBindingConversationRef",
"kind": "type",
"source": {
"line": 607,
"line": 650,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -1941,7 +1941,7 @@
"exportName": "ChannelConfiguredBindingMatch",
"kind": "type",
"source": {
"line": 612,
"line": 655,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -1950,7 +1950,7 @@
"exportName": "ChannelConfiguredBindingProvider",
"kind": "type",
"source": {
"line": 628,
"line": 671,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -1959,7 +1959,7 @@
"exportName": "ChannelConversationBindingSupport",
"kind": "type",
"source": {
"line": 644,
"line": 687,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -2319,7 +2319,7 @@
"exportName": "ChannelSecurityAdapter",
"kind": "type",
"source": {
"line": 675,
"line": 718,
"path": "src/channels/plugins/types.adapters.ts"
}
},
@@ -5478,7 +5478,7 @@
"exportName": "peekSystemEvents",
"kind": "function",
"source": {
"line": 139,
"line": 142,
"path": "src/infra/system-events.ts"
}
},
@@ -5532,7 +5532,7 @@
"exportName": "resetSystemEventsForTest",
"kind": "function",
"source": {
"line": 157,
"line": 160,
"path": "src/infra/system-events.ts"
}
},