funolio-agent 1.0.53 → 1.1.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/approval.d.ts +1 -6
- package/dist/approval.d.ts.map +1 -1
- package/dist/approval.js +2 -7
- package/dist/approval.js.map +1 -1
- package/dist/auth/credential-reader.d.ts.map +1 -1
- package/dist/auth/credential-reader.js +4 -3
- package/dist/auth/credential-reader.js.map +1 -1
- package/dist/auth/token-refresh.d.ts +8 -0
- package/dist/auth/token-refresh.d.ts.map +1 -1
- package/dist/auth/token-refresh.js +82 -52
- package/dist/auth/token-refresh.js.map +1 -1
- package/dist/auto-organizer.d.ts.map +1 -1
- package/dist/auto-organizer.js +6 -7
- package/dist/auto-organizer.js.map +1 -1
- package/dist/bench-prefix.d.ts +16 -0
- package/dist/bench-prefix.d.ts.map +1 -0
- package/dist/bench-prefix.js +25 -0
- package/dist/bench-prefix.js.map +1 -0
- package/dist/bot-manager.d.ts +5 -1
- package/dist/bot-manager.d.ts.map +1 -1
- package/dist/bot-manager.js +46 -27
- package/dist/bot-manager.js.map +1 -1
- package/dist/chat-sync.d.ts +42 -0
- package/dist/chat-sync.d.ts.map +1 -0
- package/dist/chat-sync.js +95 -0
- package/dist/chat-sync.js.map +1 -0
- package/dist/clerk-model.d.ts +7 -0
- package/dist/clerk-model.d.ts.map +1 -1
- package/dist/clerk-model.js +42 -8
- package/dist/clerk-model.js.map +1 -1
- package/dist/cli-bootstrap-history.d.ts +10 -0
- package/dist/cli-bootstrap-history.d.ts.map +1 -0
- package/dist/cli-bootstrap-history.js +112 -0
- package/dist/cli-bootstrap-history.js.map +1 -0
- package/dist/cli-models.d.ts +8 -0
- package/dist/cli-models.d.ts.map +1 -0
- package/dist/cli-models.js +91 -0
- package/dist/cli-models.js.map +1 -0
- package/dist/cli-session-epoch.d.ts +13 -3
- package/dist/cli-session-epoch.d.ts.map +1 -1
- package/dist/cli-session-epoch.js +53 -4
- package/dist/cli-session-epoch.js.map +1 -1
- package/dist/cli-session-registry.d.ts +35 -0
- package/dist/cli-session-registry.d.ts.map +1 -0
- package/dist/cli-session-registry.js +177 -0
- package/dist/cli-session-registry.js.map +1 -0
- package/dist/cli.js +62 -0
- package/dist/cli.js.map +1 -1
- package/dist/codex-app-server-manager.d.ts +189 -0
- package/dist/codex-app-server-manager.d.ts.map +1 -0
- package/dist/codex-app-server-manager.js +1468 -0
- package/dist/codex-app-server-manager.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -30
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pool.d.ts +32 -0
- package/dist/commands/pool.d.ts.map +1 -1
- package/dist/commands/pool.js +145 -66
- package/dist/commands/pool.js.map +1 -1
- package/dist/commands/setup.d.ts +4 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +9 -25
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/start.d.ts +21 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +559 -63
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +5 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/completion-marker.d.ts +7 -0
- package/dist/completion-marker.d.ts.map +1 -0
- package/dist/completion-marker.js +28 -0
- package/dist/completion-marker.js.map +1 -0
- package/dist/config.d.ts +7 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +184 -60
- package/dist/config.js.map +1 -1
- package/dist/context-window.d.ts +37 -1
- package/dist/context-window.d.ts.map +1 -1
- package/dist/context-window.js +210 -17
- package/dist/context-window.js.map +1 -1
- package/dist/live-activity.d.ts +31 -0
- package/dist/live-activity.d.ts.map +1 -0
- package/dist/live-activity.js +36 -0
- package/dist/live-activity.js.map +1 -0
- package/dist/local-chat-execution.d.ts +114 -0
- package/dist/local-chat-execution.d.ts.map +1 -0
- package/dist/local-chat-execution.js +349 -0
- package/dist/local-chat-execution.js.map +1 -0
- package/dist/local-cli-pty-manager.d.ts +186 -0
- package/dist/local-cli-pty-manager.d.ts.map +1 -1
- package/dist/local-cli-pty-manager.js +2581 -164
- package/dist/local-cli-pty-manager.js.map +1 -1
- package/dist/local-conversation-gateway.d.ts +110 -0
- package/dist/local-conversation-gateway.d.ts.map +1 -0
- package/dist/local-conversation-gateway.js +175 -0
- package/dist/local-conversation-gateway.js.map +1 -0
- package/dist/local-data.d.ts +276 -5
- package/dist/local-data.d.ts.map +1 -1
- package/dist/local-data.js +1201 -86
- package/dist/local-data.js.map +1 -1
- package/dist/local-db.d.ts +6 -0
- package/dist/local-db.d.ts.map +1 -1
- package/dist/local-db.js +428 -2
- package/dist/local-db.js.map +1 -1
- package/dist/local-funnel.d.ts.map +1 -1
- package/dist/local-funnel.js +6 -5
- package/dist/local-funnel.js.map +1 -1
- package/dist/local-server.d.ts +55 -0
- package/dist/local-server.d.ts.map +1 -1
- package/dist/local-server.js +3281 -441
- package/dist/local-server.js.map +1 -1
- package/dist/managed-process-registry.d.ts +59 -0
- package/dist/managed-process-registry.d.ts.map +1 -0
- package/dist/managed-process-registry.js +390 -0
- package/dist/managed-process-registry.js.map +1 -0
- package/dist/mcp/claude-config-writer.d.ts +5 -5
- package/dist/mcp/claude-config-writer.d.ts.map +1 -1
- package/dist/mcp/claude-config-writer.js +19 -11
- package/dist/mcp/claude-config-writer.js.map +1 -1
- package/dist/mcp/index.d.ts +4 -2
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/sync-cli-config.d.ts +42 -4
- package/dist/mcp/sync-cli-config.d.ts.map +1 -1
- package/dist/mcp/sync-cli-config.js +497 -17
- package/dist/mcp/sync-cli-config.js.map +1 -1
- package/dist/message-loop.d.ts +6 -0
- package/dist/message-loop.d.ts.map +1 -1
- package/dist/message-loop.js +281 -89
- package/dist/message-loop.js.map +1 -1
- package/dist/mqtt-client.d.ts +44 -1
- package/dist/mqtt-client.d.ts.map +1 -1
- package/dist/mqtt-client.js +284 -46
- package/dist/mqtt-client.js.map +1 -1
- package/dist/mqtt-data-relay.d.ts +44 -0
- package/dist/mqtt-data-relay.d.ts.map +1 -0
- package/dist/mqtt-data-relay.js +106 -0
- package/dist/mqtt-data-relay.js.map +1 -0
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +69 -29
- package/dist/oauth.js.map +1 -1
- package/dist/orchestration/capabilities.d.ts +13 -0
- package/dist/orchestration/capabilities.d.ts.map +1 -0
- package/dist/orchestration/capabilities.js +152 -0
- package/dist/orchestration/capabilities.js.map +1 -0
- package/dist/orchestration/dispatch-executor.d.ts +83 -0
- package/dist/orchestration/dispatch-executor.d.ts.map +1 -0
- package/dist/orchestration/dispatch-executor.js +266 -0
- package/dist/orchestration/dispatch-executor.js.map +1 -0
- package/dist/orchestration/dispatch-hint.d.ts +134 -0
- package/dist/orchestration/dispatch-hint.d.ts.map +1 -0
- package/dist/orchestration/dispatch-hint.js +247 -0
- package/dist/orchestration/dispatch-hint.js.map +1 -0
- package/dist/orchestration/dispatch-runner.d.ts +106 -0
- package/dist/orchestration/dispatch-runner.d.ts.map +1 -0
- package/dist/orchestration/dispatch-runner.js +604 -0
- package/dist/orchestration/dispatch-runner.js.map +1 -0
- package/dist/orchestration/dispatch-tools.d.ts +167 -0
- package/dist/orchestration/dispatch-tools.d.ts.map +1 -0
- package/dist/orchestration/dispatch-tools.js +328 -0
- package/dist/orchestration/dispatch-tools.js.map +1 -0
- package/dist/orchestration/front-door-policy.d.ts +35 -10
- package/dist/orchestration/front-door-policy.d.ts.map +1 -1
- package/dist/orchestration/front-door-policy.js +30 -267
- package/dist/orchestration/front-door-policy.js.map +1 -1
- package/dist/orchestration/orchestrator-dispatch-prompt.d.ts +43 -0
- package/dist/orchestration/orchestrator-dispatch-prompt.d.ts.map +1 -0
- package/dist/orchestration/orchestrator-dispatch-prompt.js +267 -0
- package/dist/orchestration/orchestrator-dispatch-prompt.js.map +1 -0
- package/dist/orchestration/orchestrator-operating-prompt.d.ts +15 -0
- package/dist/orchestration/orchestrator-operating-prompt.d.ts.map +1 -1
- package/dist/orchestration/orchestrator-operating-prompt.js +206 -20
- package/dist/orchestration/orchestrator-operating-prompt.js.map +1 -1
- package/dist/orchestration/plan-import.d.ts +39 -0
- package/dist/orchestration/plan-import.d.ts.map +1 -0
- package/dist/orchestration/plan-import.js +547 -0
- package/dist/orchestration/plan-import.js.map +1 -0
- package/dist/orchestration/validation.d.ts +40 -0
- package/dist/orchestration/validation.d.ts.map +1 -0
- package/dist/orchestration/validation.js +203 -0
- package/dist/orchestration/validation.js.map +1 -0
- package/dist/orchestration/worker-operating-prompt.d.ts +2 -0
- package/dist/orchestration/worker-operating-prompt.d.ts.map +1 -1
- package/dist/orchestration/worker-operating-prompt.js +36 -46
- package/dist/orchestration/worker-operating-prompt.js.map +1 -1
- package/dist/orchestrator.d.ts +214 -33
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +2200 -1100
- package/dist/orchestrator.js.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +8 -4
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/claude-cli-prompt.d.ts.map +1 -1
- package/dist/providers/claude-cli-prompt.js +49 -5
- package/dist/providers/claude-cli-prompt.js.map +1 -1
- package/dist/providers/claude-cli.d.ts.map +1 -1
- package/dist/providers/claude-cli.js +81 -5
- package/dist/providers/claude-cli.js.map +1 -1
- package/dist/providers/codex-cli.d.ts +10 -6
- package/dist/providers/codex-cli.d.ts.map +1 -1
- package/dist/providers/codex-cli.js +204 -26
- package/dist/providers/codex-cli.js.map +1 -1
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +15 -5
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/index.d.ts +15 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +13 -5
- package/dist/providers/openai.js.map +1 -1
- package/dist/response-guard.js +1 -1
- package/dist/response-guard.js.map +1 -1
- package/dist/server-adapter.d.ts +8 -0
- package/dist/server-adapter.d.ts.map +1 -1
- package/dist/server-adapter.js +7 -0
- package/dist/server-adapter.js.map +1 -1
- package/dist/service-mode.d.ts +1 -1
- package/dist/service-mode.d.ts.map +1 -1
- package/dist/service-mode.js +64 -1
- package/dist/service-mode.js.map +1 -1
- package/dist/service-setup-only.d.ts +8 -0
- package/dist/service-setup-only.d.ts.map +1 -0
- package/dist/service-setup-only.js +37 -0
- package/dist/service-setup-only.js.map +1 -0
- package/dist/slash-commands.d.ts +21 -0
- package/dist/slash-commands.d.ts.map +1 -0
- package/dist/slash-commands.js +99 -0
- package/dist/slash-commands.js.map +1 -0
- package/dist/subagent/index.d.ts +4 -2
- package/dist/subagent/index.d.ts.map +1 -1
- package/dist/subagent/index.js.map +1 -1
- package/dist/summarization-pipeline.d.ts.map +1 -1
- package/dist/summarization-pipeline.js +1 -9
- package/dist/summarization-pipeline.js.map +1 -1
- package/dist/token-counter.d.ts.map +1 -1
- package/dist/token-counter.js +11 -4
- package/dist/token-counter.js.map +1 -1
- package/dist/tool-filter.d.ts.map +1 -1
- package/dist/tool-filter.js +10 -6
- package/dist/tool-filter.js.map +1 -1
- package/dist/tools/admin-tools.d.ts.map +1 -1
- package/dist/tools/admin-tools.js +20 -5
- package/dist/tools/admin-tools.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/run-command.d.ts.map +1 -1
- package/dist/tools/run-command.js +5 -1
- package/dist/tools/run-command.js.map +1 -1
- package/dist/tools/search-conversation-history.d.ts +16 -0
- package/dist/tools/search-conversation-history.d.ts.map +1 -0
- package/dist/tools/search-conversation-history.js +334 -0
- package/dist/tools/search-conversation-history.js.map +1 -0
- package/dist/tools/todo-tasks.d.ts.map +1 -1
- package/dist/tools/todo-tasks.js +77 -5
- package/dist/tools/todo-tasks.js.map +1 -1
- package/dist/usage-log.d.ts +62 -0
- package/dist/usage-log.d.ts.map +1 -0
- package/dist/usage-log.js +98 -0
- package/dist/usage-log.js.map +1 -0
- package/dist/wizard-state.d.ts +20 -0
- package/dist/wizard-state.d.ts.map +1 -1
- package/dist/wizard-state.js +90 -3
- package/dist/wizard-state.js.map +1 -1
- package/dist/wizard-support.d.ts.map +1 -1
- package/dist/wizard-support.js +27 -1
- package/dist/wizard-support.js.map +1 -1
- package/dist/workflow-engine.d.ts +44 -2
- package/dist/workflow-engine.d.ts.map +1 -1
- package/dist/workflow-engine.js +932 -111
- package/dist/workflow-engine.js.map +1 -1
- package/package.json +2 -2
package/dist/context-window.js
CHANGED
|
@@ -49,7 +49,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
49
49
|
exports.countTurns = countTurns;
|
|
50
50
|
exports.parseTurns = parseTurns;
|
|
51
51
|
exports.getRecentTurns = getRecentTurns;
|
|
52
|
+
exports.getBotScopedRecentTurns = getBotScopedRecentTurns;
|
|
52
53
|
exports.getPromptContextWindow = getPromptContextWindow;
|
|
54
|
+
exports.findLastCompletedCrossBotTurn = findLastCompletedCrossBotTurn;
|
|
55
|
+
exports.formatCrossBotPreviousTurn = formatCrossBotPreviousTurn;
|
|
53
56
|
exports.formatTurnsForPrompt = formatTurnsForPrompt;
|
|
54
57
|
exports.shouldSummarize = shouldSummarize;
|
|
55
58
|
exports.getTurnsForSummarization = getTurnsForSummarization;
|
|
@@ -103,49 +106,239 @@ function parseTurns(messages) {
|
|
|
103
106
|
* Get the last N turns for a conversation.
|
|
104
107
|
*/
|
|
105
108
|
function getRecentTurns(conversationId, count = 5) {
|
|
106
|
-
const
|
|
109
|
+
const activeAssistantMessageIds = new Set(data.listActiveAssistantMessageIds(conversationId));
|
|
110
|
+
const messages = data.getMessages(conversationId, { limit: 10000 }).filter((msg) => {
|
|
111
|
+
if (msg.role !== 'assistant')
|
|
112
|
+
return true;
|
|
113
|
+
if (!msg.id)
|
|
114
|
+
return true;
|
|
115
|
+
return !activeAssistantMessageIds.has(msg.id);
|
|
116
|
+
});
|
|
107
117
|
const turns = parseTurns(messages);
|
|
108
118
|
return turns.slice(-count);
|
|
109
119
|
}
|
|
120
|
+
function getCompletedAssistantResponses(turn) {
|
|
121
|
+
return turn.responses.filter((response) => {
|
|
122
|
+
if (response.role !== 'assistant')
|
|
123
|
+
return false;
|
|
124
|
+
return !!String(response.content || '').trim();
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function normalizeCompletedTurn(turn) {
|
|
128
|
+
const completedResponses = getCompletedAssistantResponses(turn);
|
|
129
|
+
if (completedResponses.length === 0)
|
|
130
|
+
return null;
|
|
131
|
+
return {
|
|
132
|
+
...turn,
|
|
133
|
+
responses: completedResponses,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function getCompletedTurns(turns) {
|
|
137
|
+
const completed = [];
|
|
138
|
+
for (const turn of turns) {
|
|
139
|
+
const normalized = normalizeCompletedTurn(turn);
|
|
140
|
+
if (normalized)
|
|
141
|
+
completed.push(normalized);
|
|
142
|
+
}
|
|
143
|
+
return completed;
|
|
144
|
+
}
|
|
145
|
+
function matchesBotScope(message, botId, botName) {
|
|
146
|
+
const normalizedBotId = String(botId || '').trim();
|
|
147
|
+
const normalizedBotName = String(botName || '').trim().toLowerCase();
|
|
148
|
+
if (normalizedBotId && message.bot_id === normalizedBotId)
|
|
149
|
+
return true;
|
|
150
|
+
if (normalizedBotName && String(message.agent_name || '').trim().toLowerCase() === normalizedBotName)
|
|
151
|
+
return true;
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
function filterTurnsForBotScope(turns, opts) {
|
|
155
|
+
const normalizedBotId = String(opts?.botId || '').trim();
|
|
156
|
+
const normalizedBotName = String(opts?.botName || '').trim().toLowerCase();
|
|
157
|
+
if (!normalizedBotId && !normalizedBotName)
|
|
158
|
+
return turns;
|
|
159
|
+
const filtered = [];
|
|
160
|
+
for (const turn of turns) {
|
|
161
|
+
const responses = turn.responses.filter((response) => {
|
|
162
|
+
if (response.role !== 'assistant')
|
|
163
|
+
return false;
|
|
164
|
+
return matchesBotScope(response, normalizedBotId, normalizedBotName);
|
|
165
|
+
});
|
|
166
|
+
if (responses.length === 0)
|
|
167
|
+
continue;
|
|
168
|
+
filtered.push({
|
|
169
|
+
...turn,
|
|
170
|
+
responses,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return filtered;
|
|
174
|
+
}
|
|
175
|
+
function isConversationSafeForBotScopedSummary(conversationId, botId, botName) {
|
|
176
|
+
const normalizedBotId = String(botId || '').trim();
|
|
177
|
+
const normalizedBotName = String(botName || '').trim().toLowerCase();
|
|
178
|
+
if (!normalizedBotId && !normalizedBotName)
|
|
179
|
+
return true;
|
|
180
|
+
const messages = data.getMessages(conversationId, { limit: 10000 });
|
|
181
|
+
let sawAssistant = false;
|
|
182
|
+
for (const message of messages) {
|
|
183
|
+
if (message.role !== 'assistant')
|
|
184
|
+
continue;
|
|
185
|
+
sawAssistant = true;
|
|
186
|
+
if (!matchesBotScope(message, normalizedBotId, normalizedBotName))
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
return sawAssistant;
|
|
190
|
+
}
|
|
191
|
+
function getBotScopedRecentTurns(conversationId, botId, botName, count = 5) {
|
|
192
|
+
const activeAssistantMessageIds = new Set(data.listActiveAssistantMessageIds(conversationId));
|
|
193
|
+
const messages = data.getMessages(conversationId, { limit: 10000 }).filter((msg) => {
|
|
194
|
+
if (msg.role !== 'assistant')
|
|
195
|
+
return true;
|
|
196
|
+
if (!msg.id)
|
|
197
|
+
return true;
|
|
198
|
+
return !activeAssistantMessageIds.has(msg.id);
|
|
199
|
+
});
|
|
200
|
+
const turns = parseTurns(messages);
|
|
201
|
+
return filterTurnsForBotScope(turns, { botId, botName }).slice(-count);
|
|
202
|
+
}
|
|
110
203
|
/**
|
|
111
204
|
* Build the prompt context window for a conversation.
|
|
112
205
|
* If the conversation is a fresh manual continuation under the same topic,
|
|
113
206
|
* carry forward the latest summary + recent turns from the prior topic conversation.
|
|
114
207
|
*/
|
|
115
|
-
function getPromptContextWindow(conversationId, count = 5) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
208
|
+
function getPromptContextWindow(conversationId, count = 5, opts) {
|
|
209
|
+
// Only carry forward from a previous conversation when this one is still
|
|
210
|
+
// brand-new. A first conversation in a topic still needs its own current
|
|
211
|
+
// rolling summary/recent turns after it has real history.
|
|
212
|
+
const previousConversationInTopic = data.getPreviousConversationInTopic(conversationId);
|
|
213
|
+
const currentSummary = opts?.botId
|
|
214
|
+
? (isConversationSafeForBotScopedSummary(conversationId, opts.botId, opts.botName)
|
|
215
|
+
? getLatestRollingSummary(conversationId)
|
|
216
|
+
: null)
|
|
217
|
+
: getLatestRollingSummary(conversationId);
|
|
218
|
+
const currentTurns = opts?.botId
|
|
219
|
+
? getBotScopedRecentTurns(conversationId, opts.botId, opts.botName, count)
|
|
220
|
+
: getRecentTurns(conversationId, count);
|
|
221
|
+
const currentCompletedTurns = getCompletedTurns(currentTurns);
|
|
222
|
+
const normalizedTargetBotId = String(opts?.targetBotId || opts?.botId || '').trim();
|
|
223
|
+
const normalizedTargetBotName = String(opts?.targetBotName || opts?.botName || '').trim().toLowerCase();
|
|
224
|
+
if (!currentSummary && currentCompletedTurns.length === 0) {
|
|
225
|
+
if (previousConversationInTopic) {
|
|
226
|
+
const previousSummary = opts?.botId
|
|
227
|
+
? (isConversationSafeForBotScopedSummary(previousConversationInTopic.id, opts.botId, opts.botName)
|
|
228
|
+
? getLatestRollingSummary(previousConversationInTopic.id)
|
|
229
|
+
: null)
|
|
230
|
+
: getLatestRollingSummary(previousConversationInTopic.id);
|
|
231
|
+
const previousTurns = opts?.botId
|
|
232
|
+
? getBotScopedRecentTurns(previousConversationInTopic.id, opts.botId, opts.botName, count)
|
|
233
|
+
: getRecentTurns(previousConversationInTopic.id, count);
|
|
234
|
+
const previousCompletedTurns = getCompletedTurns(previousTurns);
|
|
235
|
+
if (previousSummary || previousCompletedTurns.length > 0) {
|
|
126
236
|
return {
|
|
127
237
|
summary: previousSummary,
|
|
128
|
-
turns:
|
|
129
|
-
sourceConversationId:
|
|
238
|
+
turns: previousCompletedTurns,
|
|
239
|
+
sourceConversationId: previousConversationInTopic.id,
|
|
130
240
|
carriedForward: true,
|
|
241
|
+
mode: 'same_topic_continuation',
|
|
242
|
+
allowBootstrap: true,
|
|
243
|
+
lastCrossBotTurn: findLastCompletedCrossBotTurnInTurns(previousCompletedTurns, normalizedTargetBotId, normalizedTargetBotName),
|
|
131
244
|
};
|
|
132
245
|
}
|
|
133
246
|
}
|
|
247
|
+
// A brand-new topic/conversation should not echo its first user turn back
|
|
248
|
+
// as synthetic prompt history. In that case, start with no summary/turns.
|
|
249
|
+
return {
|
|
250
|
+
summary: null,
|
|
251
|
+
turns: [],
|
|
252
|
+
sourceConversationId: conversationId,
|
|
253
|
+
carriedForward: false,
|
|
254
|
+
mode: 'new_topic',
|
|
255
|
+
allowBootstrap: false,
|
|
256
|
+
lastCrossBotTurn: null,
|
|
257
|
+
};
|
|
134
258
|
}
|
|
135
259
|
return {
|
|
136
260
|
summary: currentSummary,
|
|
137
|
-
turns:
|
|
261
|
+
turns: currentCompletedTurns,
|
|
138
262
|
sourceConversationId: conversationId,
|
|
139
263
|
carriedForward: false,
|
|
264
|
+
mode: 'current_conversation',
|
|
265
|
+
allowBootstrap: !!currentSummary?.summary_text?.trim() || currentCompletedTurns.length > 0,
|
|
266
|
+
lastCrossBotTurn: findLastCompletedCrossBotTurnInTurns(currentCompletedTurns, normalizedTargetBotId, normalizedTargetBotName),
|
|
140
267
|
};
|
|
141
268
|
}
|
|
269
|
+
function findLastCompletedCrossBotTurnInTurns(turns, targetBotId, targetBotName) {
|
|
270
|
+
const normalizedTargetBotId = String(targetBotId || '').trim();
|
|
271
|
+
const normalizedTargetBotName = String(targetBotName || '').trim().toLowerCase();
|
|
272
|
+
if (!normalizedTargetBotId && !normalizedTargetBotName)
|
|
273
|
+
return null;
|
|
274
|
+
if (turns.length === 0)
|
|
275
|
+
return null;
|
|
276
|
+
// The handoff unit is the immediately previous completed user-prompt
|
|
277
|
+
// window, not an arbitrary older turn and not just the final assistant
|
|
278
|
+
// message inside that turn.
|
|
279
|
+
const previousCompletedTurn = turns[turns.length - 1];
|
|
280
|
+
const hasDifferentBot = previousCompletedTurn.responses.some((response) => {
|
|
281
|
+
if (response.role !== 'assistant')
|
|
282
|
+
return false;
|
|
283
|
+
const respBotId = String(response.bot_id || '').trim();
|
|
284
|
+
const respBotName = String(response.agent_name || '').trim().toLowerCase();
|
|
285
|
+
if (normalizedTargetBotId && respBotId)
|
|
286
|
+
return respBotId !== normalizedTargetBotId;
|
|
287
|
+
if (normalizedTargetBotName && respBotName)
|
|
288
|
+
return respBotName !== normalizedTargetBotName;
|
|
289
|
+
return false;
|
|
290
|
+
});
|
|
291
|
+
return hasDifferentBot ? previousCompletedTurn : null;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Find the last completed turn in the conversation that contains at least one
|
|
295
|
+
* assistant response from a bot other than the target.
|
|
296
|
+
*
|
|
297
|
+
* "Completed" means the turn has at least one finished assistant response
|
|
298
|
+
* (still-streaming rows are filtered out by getRecentTurns via
|
|
299
|
+
* listActiveAssistantMessageIds). Since the caller's new user message has
|
|
300
|
+
* already been saved by the time this runs, the most recent turn in parse
|
|
301
|
+
* order will typically have no completed responses yet — we walk backward
|
|
302
|
+
* to find the most recent one that does, then check its responders.
|
|
303
|
+
*
|
|
304
|
+
* Returns the turn when the trigger condition is met; null otherwise.
|
|
305
|
+
*/
|
|
306
|
+
function findLastCompletedCrossBotTurn(conversationId, targetBotId) {
|
|
307
|
+
const normalizedTargetBotId = String(targetBotId || '').trim();
|
|
308
|
+
if (!normalizedTargetBotId)
|
|
309
|
+
return null;
|
|
310
|
+
return getPromptContextWindow(conversationId, 10, { targetBotId: normalizedTargetBotId }).lastCrossBotTurn || null;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Format a single turn for cross-bot context injection into a user prompt.
|
|
314
|
+
* Wraps the turn with [Previous turn from another bot - for context only]
|
|
315
|
+
* and [End previous turn] markers so the receiving bot knows what it is.
|
|
316
|
+
*/
|
|
317
|
+
function formatCrossBotPreviousTurn(turn) {
|
|
318
|
+
const lines = [];
|
|
319
|
+
lines.push('[Previous turn from another bot - for context only]');
|
|
320
|
+
const userContent = String(turn.userMessage.content || '').trim();
|
|
321
|
+
lines.push(`USER: ${userContent}`);
|
|
322
|
+
for (const response of turn.responses) {
|
|
323
|
+
if (response.role !== 'assistant')
|
|
324
|
+
continue;
|
|
325
|
+
const content = String(response.content || '').trim();
|
|
326
|
+
if (!content)
|
|
327
|
+
continue;
|
|
328
|
+
const name = String(response.agent_name || 'ASSISTANT').toUpperCase();
|
|
329
|
+
lines.push(`${name}: ${content}`);
|
|
330
|
+
}
|
|
331
|
+
lines.push('[End previous turn]');
|
|
332
|
+
return lines.join('\n');
|
|
333
|
+
}
|
|
142
334
|
/**
|
|
143
335
|
* Format turns as text for inclusion in prompts.
|
|
144
336
|
*/
|
|
145
337
|
function formatTurnsForPrompt(turns) {
|
|
146
|
-
|
|
338
|
+
const completedTurns = getCompletedTurns(turns);
|
|
339
|
+
if (completedTurns.length === 0)
|
|
147
340
|
return '(no recent messages)';
|
|
148
|
-
return
|
|
341
|
+
return completedTurns.map(turn => {
|
|
149
342
|
const lines = [];
|
|
150
343
|
lines.push(`USER: ${turn.userMessage.content}`);
|
|
151
344
|
for (const resp of turn.responses) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-window.js","sourceRoot":"","sources":["../src/context-window.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-window.js","sourceRoot":"","sources":["../src/context-window.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live Activity Event Model
|
|
3
|
+
*
|
|
4
|
+
* Normalized event types emitted during an assistant turn.
|
|
5
|
+
* These drive the curated live activity lane in the chat UI,
|
|
6
|
+
* separate from the main reply body text.
|
|
7
|
+
*/
|
|
8
|
+
export type LiveActivityType = 'current_task' | 'subagent_started' | 'subagent_working' | 'working' | 'completed' | 'tool_call' | 'tool_result';
|
|
9
|
+
export interface LiveActivityEvent {
|
|
10
|
+
type: LiveActivityType;
|
|
11
|
+
/** Short user-facing label */
|
|
12
|
+
label: string;
|
|
13
|
+
/** Optional longer description (e.g., sub-agent prompt) */
|
|
14
|
+
detail?: string;
|
|
15
|
+
/** Unique key for update-in-place (e.g., child file path or tool_use ID) */
|
|
16
|
+
key?: string;
|
|
17
|
+
/** Timestamp */
|
|
18
|
+
timestamp: number;
|
|
19
|
+
/** For tool_result activities: did the tool fail? */
|
|
20
|
+
isError?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Map a tool_use name to a user-friendly activity label.
|
|
24
|
+
* Returns null if the tool should not be surfaced in the activity lane.
|
|
25
|
+
*/
|
|
26
|
+
export declare function toolUseToActivityLabel(toolName: string): string | null;
|
|
27
|
+
/**
|
|
28
|
+
* Extract a short user-facing label from an Agent tool_use input.
|
|
29
|
+
*/
|
|
30
|
+
export declare function agentToolUseToLabel(input: Record<string, any>): string;
|
|
31
|
+
//# sourceMappingURL=live-activity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-activity.d.ts","sourceRoot":"","sources":["../src/live-activity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,kBAAkB,GAClB,kBAAkB,GAClB,SAAS,GACT,WAAW,GACX,WAAW,GACX,aAAa,CAAC;AAElB,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAMtE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Live Activity Event Model
|
|
4
|
+
*
|
|
5
|
+
* Normalized event types emitted during an assistant turn.
|
|
6
|
+
* These drive the curated live activity lane in the chat UI,
|
|
7
|
+
* separate from the main reply body text.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.toolUseToActivityLabel = toolUseToActivityLabel;
|
|
11
|
+
exports.agentToolUseToLabel = agentToolUseToLabel;
|
|
12
|
+
/**
|
|
13
|
+
* Map a tool_use name to a user-friendly activity label.
|
|
14
|
+
* Returns null if the tool should not be surfaced in the activity lane.
|
|
15
|
+
*/
|
|
16
|
+
function toolUseToActivityLabel(toolName) {
|
|
17
|
+
switch (toolName) {
|
|
18
|
+
case 'Agent':
|
|
19
|
+
return null; // Handled separately as subagent_started when explicitly surfaced.
|
|
20
|
+
default:
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Extract a short user-facing label from an Agent tool_use input.
|
|
26
|
+
*/
|
|
27
|
+
function agentToolUseToLabel(input) {
|
|
28
|
+
const description = input?.description || input?.task || '';
|
|
29
|
+
if (description)
|
|
30
|
+
return String(description).slice(0, 120);
|
|
31
|
+
const subagentType = input?.subagent_type || '';
|
|
32
|
+
if (subagentType)
|
|
33
|
+
return `${subagentType} agent`;
|
|
34
|
+
return 'Working on subtask';
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=live-activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-activity.js","sourceRoot":"","sources":["../src/live-activity.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA6BH,wDAOC;AAKD,kDAMC;AAtBD;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,QAAgB;IACrD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,CAAC,mEAAmE;QAClF;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAA0B;IAC5D,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;IAC5D,IAAI,WAAW;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;IAChD,IAAI,YAAY;QAAE,OAAO,GAAG,YAAY,QAAQ,CAAC;IACjD,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as data from './local-data';
|
|
2
|
+
export type JobStatus = 'pending' | 'queued' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
3
|
+
export interface ChatAttachment {
|
|
4
|
+
id?: string;
|
|
5
|
+
filename?: string;
|
|
6
|
+
fileType?: string;
|
|
7
|
+
mimeType?: string;
|
|
8
|
+
sizeBytes?: number;
|
|
9
|
+
dataUrl?: string;
|
|
10
|
+
storagePath?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CreateJobParams {
|
|
13
|
+
message: string;
|
|
14
|
+
conversationId?: string;
|
|
15
|
+
botId?: string;
|
|
16
|
+
botIds?: string[];
|
|
17
|
+
projectId?: string;
|
|
18
|
+
topicId?: string;
|
|
19
|
+
model?: string;
|
|
20
|
+
temperature?: number;
|
|
21
|
+
max_tokens?: number;
|
|
22
|
+
attachments?: ChatAttachment[];
|
|
23
|
+
pinnedMessageIds?: string[];
|
|
24
|
+
orchestrate?: boolean;
|
|
25
|
+
orchestrationEnabled?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface CreateJobResultJob {
|
|
28
|
+
id: string;
|
|
29
|
+
botId: string;
|
|
30
|
+
status: JobStatus;
|
|
31
|
+
}
|
|
32
|
+
export interface CreateJobResult {
|
|
33
|
+
conversationId: string;
|
|
34
|
+
jobs: CreateJobResultJob[];
|
|
35
|
+
}
|
|
36
|
+
export interface ListJobsEntry {
|
|
37
|
+
id: string;
|
|
38
|
+
botId: string;
|
|
39
|
+
status: JobStatus;
|
|
40
|
+
output?: unknown;
|
|
41
|
+
error?: string | null;
|
|
42
|
+
createdAt?: string | Date;
|
|
43
|
+
completedAt?: string | Date | null;
|
|
44
|
+
}
|
|
45
|
+
export interface ListJobsResult {
|
|
46
|
+
jobs: ListJobsEntry[];
|
|
47
|
+
}
|
|
48
|
+
export type ChatJobEventType = 'token' | 'text' | 'chunk' | 'tool_call' | 'tool_result' | 'tool_results' | 'error' | 'done' | 'cancelled' | 'status' | 'metadata' | 'stats' | 'usage' | 'orchestrator_plan' | 'orchestrator_status' | 'orchestrator_synthesis' | 'orchestrator_cancelled' | 'bot_result' | 'worker_step_started' | 'worker_step_progress' | 'worker_step_result' | 'worker_step_failed' | 'quick_delegation';
|
|
49
|
+
export interface ChatJobEvent {
|
|
50
|
+
type: ChatJobEventType;
|
|
51
|
+
rawType?: string;
|
|
52
|
+
data?: unknown;
|
|
53
|
+
seq?: number;
|
|
54
|
+
streamId?: string;
|
|
55
|
+
executionId?: string;
|
|
56
|
+
ts?: string;
|
|
57
|
+
timestamp?: number;
|
|
58
|
+
[key: string]: unknown;
|
|
59
|
+
}
|
|
60
|
+
export interface GetJobStatusResult {
|
|
61
|
+
id: string;
|
|
62
|
+
botId: string;
|
|
63
|
+
conversationId: string;
|
|
64
|
+
status: JobStatus;
|
|
65
|
+
output?: unknown;
|
|
66
|
+
error?: string | null;
|
|
67
|
+
createdAt?: string | Date;
|
|
68
|
+
startedAt?: string | Date | null;
|
|
69
|
+
completedAt?: string | Date | null;
|
|
70
|
+
liveEvents?: number;
|
|
71
|
+
liveDone?: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface CancelResult {
|
|
74
|
+
success: boolean;
|
|
75
|
+
}
|
|
76
|
+
export interface ChatExecutionGateway {
|
|
77
|
+
createJob(params: CreateJobParams): Promise<CreateJobResult>;
|
|
78
|
+
listJobs(conversationId: string): Promise<ListJobsResult>;
|
|
79
|
+
streamJob(jobId: string): AsyncIterable<ChatJobEvent>;
|
|
80
|
+
getJobStatus(jobId: string): Promise<GetJobStatusResult>;
|
|
81
|
+
cancelJob(jobId: string): Promise<CancelResult>;
|
|
82
|
+
}
|
|
83
|
+
export interface LocalChatExecutionDeps {
|
|
84
|
+
runQueuedChatJobs: () => void;
|
|
85
|
+
runningChatJobControllers: Map<string, AbortController>;
|
|
86
|
+
finalizeCancelledChatJobMessage: (job: data.ChatJobRow) => void;
|
|
87
|
+
persistInlineAttachments?: (conversationId: string, attachments: ChatAttachmentInput[]) => StoredAttachment[];
|
|
88
|
+
}
|
|
89
|
+
interface ChatAttachmentInput {
|
|
90
|
+
id?: string;
|
|
91
|
+
filename: string;
|
|
92
|
+
mimeType: string;
|
|
93
|
+
sizeBytes: number;
|
|
94
|
+
dataUrl?: string;
|
|
95
|
+
}
|
|
96
|
+
interface StoredAttachment {
|
|
97
|
+
id: string;
|
|
98
|
+
filename: string;
|
|
99
|
+
mimeType: string;
|
|
100
|
+
sizeBytes: number;
|
|
101
|
+
fileType: string;
|
|
102
|
+
storagePath: string | null;
|
|
103
|
+
}
|
|
104
|
+
export declare class LocalChatExecution implements ChatExecutionGateway {
|
|
105
|
+
private deps;
|
|
106
|
+
constructor(deps: LocalChatExecutionDeps);
|
|
107
|
+
createJob(params: CreateJobParams): Promise<CreateJobResult>;
|
|
108
|
+
listJobs(conversationId: string): Promise<ListJobsResult>;
|
|
109
|
+
streamJob(jobId: string): AsyncIterable<ChatJobEvent>;
|
|
110
|
+
getJobStatus(jobId: string): Promise<GetJobStatusResult>;
|
|
111
|
+
cancelJob(jobId: string): Promise<CancelResult>;
|
|
112
|
+
}
|
|
113
|
+
export {};
|
|
114
|
+
//# sourceMappingURL=local-chat-execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-chat-execution.d.ts","sourceRoot":"","sources":["../src/local-chat-execution.ts"],"names":[],"mappings":"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"}
|