refactor: make subscription lifecycle events durable

This commit is contained in:
jxxghp
2026-08-22 07:43:41 +08:00
parent 8f94fd620d
commit c5de1c7b1b
27 changed files with 1106 additions and 230 deletions
+39 -12
View File
@@ -13,8 +13,8 @@
"runtime_to_db": [],
"workflow_to_db": []
},
"edge_count": 6244,
"edge_sha256": "f187bdbb5e88ce9a6b2ff559b10e5e6cd5a60d14693484ea17663cebf438cc92",
"edge_count": 6271,
"edge_sha256": "0119519add8e4499684044fc69f3003c54cfca20bf04f4614a419374692d5a94",
"edges": [
"app -> app.runtime",
"app -> app.runtime.compat",
@@ -715,20 +715,16 @@
"app.agent.tools.impl.delete_rule_group -> app.runtime.log",
"app.agent.tools.impl.delete_rule_group -> app.schemas",
"app.agent.tools.impl.delete_rule_group -> app.schemas.types",
"app.agent.tools.impl.delete_subscribe -> app.adapters",
"app.agent.tools.impl.delete_subscribe -> app.adapters.external",
"app.agent.tools.impl.delete_subscribe -> app.adapters.external.server",
"app.agent.tools.impl.delete_subscribe -> app.agent",
"app.agent.tools.impl.delete_subscribe -> app.agent.tools",
"app.agent.tools.impl.delete_subscribe -> app.agent.tools.base",
"app.agent.tools.impl.delete_subscribe -> app.agent.tools.tags",
"app.agent.tools.impl.delete_subscribe -> app.application",
"app.agent.tools.impl.delete_subscribe -> app.application.agentdata",
"app.agent.tools.impl.delete_subscribe -> app.application.subscription",
"app.agent.tools.impl.delete_subscribe -> app.application.subscription.delete",
"app.agent.tools.impl.delete_subscribe -> app.application.subscription.mutation",
"app.agent.tools.impl.delete_subscribe -> app.runtime",
"app.agent.tools.impl.delete_subscribe -> app.runtime.events",
"app.agent.tools.impl.delete_subscribe -> app.runtime.log",
"app.agent.tools.impl.delete_subscribe -> app.schemas",
"app.agent.tools.impl.delete_subscribe -> app.schemas.types",
"app.agent.tools.impl.delete_transfer_history -> app.agent",
"app.agent.tools.impl.delete_transfer_history -> app.agent.tools",
"app.agent.tools.impl.delete_transfer_history -> app.agent.tools.base",
@@ -1440,12 +1436,11 @@
"app.agent.tools.impl.update_subscribe -> app.agent.tools.base",
"app.agent.tools.impl.update_subscribe -> app.agent.tools.tags",
"app.agent.tools.impl.update_subscribe -> app.application",
"app.agent.tools.impl.update_subscribe -> app.application.agentdata",
"app.agent.tools.impl.update_subscribe -> app.application.subscription",
"app.agent.tools.impl.update_subscribe -> app.application.subscription.mutation",
"app.agent.tools.impl.update_subscribe -> app.runtime",
"app.agent.tools.impl.update_subscribe -> app.runtime.events",
"app.agent.tools.impl.update_subscribe -> app.runtime.log",
"app.agent.tools.impl.update_subscribe -> app.schemas",
"app.agent.tools.impl.update_subscribe -> app.schemas.event",
"app.agent.tools.impl.update_subscribe -> app.schemas.types",
"app.agent.tools.impl.update_system_settings -> app.agent",
"app.agent.tools.impl.update_system_settings -> app.agent.tools",
@@ -1486,6 +1481,11 @@
"app.api.context -> app.application",
"app.api.context -> app.application.messaging",
"app.api.context -> app.application.messaging.chat",
"app.api.context -> app.application.outbox",
"app.api.context -> app.application.subscription",
"app.api.context -> app.application.subscription.delete",
"app.api.context -> app.application.subscription.identity",
"app.api.context -> app.application.subscription.mutation",
"app.api.context -> app.startup",
"app.api.context -> app.startup.context",
"app.api.dependencies.agent -> app.api",
@@ -1562,10 +1562,12 @@
"app.api.dependencies.subscription -> app.adapters.external",
"app.api.dependencies.subscription -> app.adapters.external.server",
"app.api.dependencies.subscription -> app.api",
"app.api.dependencies.subscription -> app.api.context",
"app.api.dependencies.subscription -> app.api.data",
"app.api.dependencies.subscription -> app.api.dependencies",
"app.api.dependencies.subscription -> app.api.dependencies.data",
"app.api.dependencies.subscription -> app.application",
"app.api.dependencies.subscription -> app.application.outbox",
"app.api.dependencies.subscription -> app.application.scheduling",
"app.api.dependencies.subscription -> app.application.servarr",
"app.api.dependencies.subscription -> app.application.subscription",
@@ -2703,11 +2705,20 @@
"app.application.subscription.contract -> app.schemas",
"app.application.subscription.contract -> app.schemas.media",
"app.application.subscription.contract -> app.schemas.types",
"app.application.subscription.delete -> app.application",
"app.application.subscription.delete -> app.application.outbox",
"app.application.subscription.delete -> app.schemas",
"app.application.subscription.delete -> app.schemas.event",
"app.application.subscription.identity -> app.application",
"app.application.subscription.identity -> app.application.outbox",
"app.application.subscription.identity -> app.application.subscription",
"app.application.subscription.identity -> app.application.subscription.delete",
"app.application.subscription.identity -> app.schemas",
"app.application.subscription.identity -> app.schemas.types",
"app.application.subscription.mutation -> app.application",
"app.application.subscription.mutation -> app.application.outbox",
"app.application.subscription.mutation -> app.schemas",
"app.application.subscription.mutation -> app.schemas.event",
"app.application.subscription.query -> app.domain",
"app.application.subscription.query -> app.domain.context",
"app.application.subscription.query -> app.domain.meta",
@@ -5836,6 +5847,11 @@
"app.startup.context -> app.application",
"app.startup.context -> app.application.messaging",
"app.startup.context -> app.application.messaging.chat",
"app.startup.context -> app.application.outbox",
"app.startup.context -> app.application.subscription",
"app.startup.context -> app.application.subscription.delete",
"app.startup.context -> app.application.subscription.identity",
"app.startup.context -> app.application.subscription.mutation",
"app.startup.database -> app.adapters",
"app.startup.database -> app.adapters.system",
"app.startup.database -> app.adapters.system.backup",
@@ -6073,13 +6089,24 @@
"app.startup.scheduler_initializer -> app.application",
"app.startup.scheduler_initializer -> app.application.scheduling",
"app.startup.scheduler_initializer -> app.scheduler",
"app.startup.subscription -> app.adapters",
"app.startup.subscription -> app.adapters.external",
"app.startup.subscription -> app.adapters.external.server",
"app.startup.subscription -> app.application",
"app.startup.subscription -> app.application.subscription",
"app.startup.subscription -> app.application.subscription.delete",
"app.startup.subscription -> app.application.subscription.mutation",
"app.startup.subscription -> app.application.subscription.write",
"app.startup.subscription -> app.db",
"app.startup.subscription -> app.db.oper",
"app.startup.subscription -> app.db.oper.subscribe",
"app.startup.subscription -> app.db.oper.subscribehistory",
"app.startup.subscription -> app.db.session",
"app.startup.subscription -> app.db.uow",
"app.startup.subscription -> app.runtime",
"app.startup.subscription -> app.runtime.events",
"app.startup.subscription -> app.schemas",
"app.startup.subscription -> app.schemas.types",
"app.startup.subscription -> app.startup",
"app.startup.subscription -> app.startup.outbox",
"app.startup.transfer_initializer -> app.chain",
+25 -13
View File
@@ -1581,10 +1581,10 @@
"EventType.SubscribeAdded": {
"delivery": "durable_required",
"error_behavior": "notify",
"legacy_reason": "现有插件 payload 尚未收敛为稳定 model,保留原始 dict ABI",
"legacy_reason": null,
"mode": "broadcast",
"ordering": "priority_queue",
"payload_contract": "legacy_dict",
"payload_contract": "SubscribeAddedEventData",
"sensitive_fields": [],
"visibility": "plugin_public"
},
@@ -1601,10 +1601,10 @@
"EventType.SubscribeDeleted": {
"delivery": "durable_required",
"error_behavior": "notify",
"legacy_reason": "现有插件 payload 尚未收敛为稳定 model,保留原始 dict ABI",
"legacy_reason": null,
"mode": "broadcast",
"ordering": "priority_queue",
"payload_contract": "legacy_dict",
"payload_contract": "SubscribeDeletedEventData",
"sensitive_fields": [],
"visibility": "plugin_public"
},
@@ -1958,11 +1958,11 @@
},
"ChainEventType.WorkflowExecution": {
"consumers": [],
"producers": [
{
"caller": "app.workflow.actions.send_event",
"count": 1
}
"producers": [
{
"caller": "app.workflow.actions.send_event",
"count": 1
}
]
},
"EventType.AgentTokensUsage": {
@@ -2200,11 +2200,15 @@
"consumers": [],
"producers": [
{
"caller": "app.agent.tools.impl.delete_subscribe",
"caller": "app.api.dependencies.subscription",
"count": 1
},
{
"caller": "app.api.dependencies.subscription",
"caller": "app.startup.modules_initializer",
"count": 1
},
{
"caller": "app.startup.subscription",
"count": 1
}
]
@@ -2213,12 +2217,20 @@
"consumers": [],
"producers": [
{
"caller": "app.agent.tools.impl.update_subscribe",
"caller": "app.api.dependencies.subscription",
"count": 1
},
{
"caller": "app.api.endpoints.subscribe",
"count": 3
},
{
"caller": "app.startup.modules_initializer",
"count": 1
},
{
"caller": "app.startup.subscription",
"count": 1
}
]
},
@@ -2308,7 +2320,7 @@
]
}
},
"producer_count": 67
"producer_count": 70
},
"module_method_specs": {
"download_file": {