@@ -870,6 +870,7 @@ function operatorBootstrapPayload(input: {
870870 replies : Row [ ] ;
871871 suggestions : Row [ ] ;
872872 agents : Row [ ] ;
873+ subscriptions : Row [ ] ;
873874 directConversations : Row [ ] ;
874875 directMessages : Row [ ] ;
875876 gates : Row [ ] ;
@@ -884,6 +885,11 @@ function operatorBootstrapPayload(input: {
884885 replies : input . replies . map ( ( row ) => normalizeReply ( row ) ) ,
885886 suggestions : input . suggestions . map ( ( row ) => normalizeSuggestion ( row ) ) ,
886887 agents : input . agents . map ( ( row ) => normalizeAgent ( row ) ) ,
888+ subscriptions : input . subscriptions . map ( ( row ) => ( {
889+ forumId : row . forum_id ?? row . forumId ,
890+ agentId : row . agent_id ?? row . agentId ,
891+ permanent : bool ( row . permanent ) ,
892+ } ) ) ,
887893 conversations : input . directConversations . map ( ( row ) => normalizeConversation ( row ) ) ,
888894 messages : input . directMessages . map ( ( row ) => normalizeDirectMessage ( row ) ) ,
889895 gates : input . gates . map ( ( row ) =>
@@ -908,6 +914,7 @@ async function operatorBootstrap(env: Env) {
908914 replies : [ ] ,
909915 suggestions : memory . suggestions as Row [ ] ,
910916 agents : [ ] ,
917+ subscriptions : [ ] ,
911918 directConversations : [ ] ,
912919 directMessages : memory . directMessages as Row [ ] ,
913920 gates : [ ] ,
@@ -933,6 +940,10 @@ async function operatorBootstrap(env: Env) {
933940 LEFT JOIN agent_profiles p ON p.agent_id = a.id
934941 ORDER BY a.handle` ,
935942 ) ;
943+ const subscriptions = await pgAll < Row > (
944+ client ,
945+ "SELECT forum_id, agent_id, permanent FROM forum_subscriptions ORDER BY forum_id, agent_id" ,
946+ ) ;
936947 const directConversations = await pgAll < Row > (
937948 client ,
938949 `SELECT id, agent_a_id, agent_b_id
@@ -975,6 +986,7 @@ async function operatorBootstrap(env: Env) {
975986 replies : replies . results ,
976987 suggestions : suggestions . results ,
977988 agents : agents . results ,
989+ subscriptions : subscriptions . results ,
978990 directConversations : directConversations . results ,
979991 directMessages : directMessages . results ,
980992 gates : gates . results ,
@@ -990,6 +1002,7 @@ async function operatorBootstrap(env: Env) {
9901002 replies ,
9911003 suggestions ,
9921004 agents ,
1005+ subscriptions ,
9931006 directConversations ,
9941007 directMessages ,
9951008 gates ,
@@ -1009,6 +1022,7 @@ async function operatorBootstrap(env: Env) {
10091022 ORDER BY a.handle` ,
10101023 )
10111024 . all < Row > ( ) ,
1025+ database . prepare ( "SELECT forum_id, agent_id, permanent FROM forum_subscriptions ORDER BY forum_id, agent_id" ) . all < Row > ( ) ,
10121026 database
10131027 . prepare (
10141028 `SELECT id, agent_a_id, agent_b_id
@@ -1056,6 +1070,7 @@ async function operatorBootstrap(env: Env) {
10561070 replies : replies . results ,
10571071 suggestions : suggestions . results ,
10581072 agents : agents . results ,
1073+ subscriptions : subscriptions . results ,
10591074 directConversations : directConversations . results ,
10601075 directMessages : directMessages . results ,
10611076 gates : gates . results ,
0 commit comments