MCPcopy Create free account
hub / github.com/Noumena-Network/code / createReplOnQuery

Function createReplOnQuery

src/session/replTurnController.ts:69–170  ·  view source on GitHub ↗
(deps: ReplOnQueryDeps)

Source from the content-addressed store, hash-verified

67}
68
69export function createReplOnQuery(deps: ReplOnQueryDeps): ReplOnQueryFn {
70 return async function onQuery(
71 newMessages,
72 abortController,
73 shouldQuery,
74 additionalAllowedTools,
75 mainLoopModel,
76 onBeforeQueryCallback,
77 input,
78 effort,
79 ): Promise<void> {
80 if (isAgentSwarmsEnabled()) {
81 const teamName = getTeamName()
82 const agentName = getAgentName()
83 if (teamName && agentName) {
84 void setMemberActive(teamName, agentName, true)
85 }
86 }
87
88 const thisGeneration = deps.queryGuard.tryStart()
89 if (thisGeneration === null) {
90 logEvent('ncode_concurrent_onquery_detected', {})
91
92 newMessages
93 .filter((message): message is UserMessage => {
94 return message.type === 'user' && !message.isMeta
95 })
96 .map(message => getContentText(message.message.content))
97 .filter((message): message is string => message !== null)
98 .forEach((message, index) => {
99 deps.enqueuePrompt(message)
100 if (index === 0) {
101 logEvent('ncode_concurrent_onquery_enqueued', {})
102 }
103 })
104 return
105 }
106
107 let caughtError: unknown
108 try {
109 deps.resetTimingRefs()
110 deps.setMessages(oldMessages => [...oldMessages, ...newMessages])
111 deps.responseLengthRef.current = 0
112 if (feature('TOKEN_BUDGET')) {
113 const parsedBudget = input ? parseTokenBudget(input) : null
114 snapshotOutputTokensForTurn(
115 parsedBudget ?? getCurrentTurnTokenBudget(),
116 )
117 }
118 deps.apiMetricsRef.current = []
119 deps.setStreamingToolUses([])
120 deps.setStreamingText(null)
121
122 const latestMessages = deps.messagesRef.current
123 if (input) {
124 await deps.mrOnBeforeQuery(input, latestMessages, newMessages.length)
125 }
126

Callers 2

REPLFunction · 0.85

Calls 14

isAgentSwarmsEnabledFunction · 0.85
getTeamNameFunction · 0.85
getAgentNameFunction · 0.85
setMemberActiveFunction · 0.85
getContentTextFunction · 0.85
parseTokenBudgetFunction · 0.85
tryStartMethod · 0.80
logEventFunction · 0.50
logErrorFunction · 0.50

Tested by

no test coverage detected