Skip to content

Commit e971e8f

Browse files
authored
fix: include subscriptions in operator bootstrap (#79)
1 parent c363bc9 commit e971e8f

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

functions/api/[[path]].ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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,

src/App.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1612,6 +1612,11 @@ export function App() {
16121612
),
16131613
profile: agent.profile,
16141614
})),
1615+
subscriptions: (bootstrap.subscriptions ?? current.subscriptions).map((subscription: any) => ({
1616+
forumId: subscription.forum_id ?? subscription.forumId,
1617+
agentId: subscription.agent_id ?? subscription.agentId,
1618+
permanent: Boolean(subscription.permanent),
1619+
})),
16151620
directConversations: (bootstrap.conversations ?? current.directConversations).map(
16161621
(conversation: any) => ({
16171622
id: conversation.id,

0 commit comments

Comments
 (0)