sensorium-mcp 2.17.27 → 3.0.0
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/Install-Sensorium.ps1 +327 -0
- package/README.md +14 -0
- package/dist/config.d.ts +16 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -2
- package/dist/config.js.map +1 -1
- package/dist/daily-session.d.ts +2 -1
- package/dist/daily-session.d.ts.map +1 -1
- package/dist/daily-session.js +23 -26
- package/dist/daily-session.js.map +1 -1
- package/dist/dashboard/routes/settings.d.ts +4 -0
- package/dist/dashboard/routes/settings.d.ts.map +1 -1
- package/dist/dashboard/routes/settings.js +57 -1
- package/dist/dashboard/routes/settings.js.map +1 -1
- package/dist/dashboard/routes/threads.d.ts +1 -0
- package/dist/dashboard/routes/threads.d.ts.map +1 -1
- package/dist/dashboard/routes/threads.js +23 -27
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +7 -2
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +11 -11
- package/dist/data/interfaces.d.ts +36 -0
- package/dist/data/interfaces.d.ts.map +1 -0
- package/dist/data/interfaces.js +2 -0
- package/dist/data/interfaces.js.map +1 -0
- package/dist/data/memory/bootstrap.d.ts +36 -16
- package/dist/data/memory/bootstrap.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.js +71 -217
- package/dist/data/memory/bootstrap.js.map +1 -1
- package/dist/data/memory/consolidation.d.ts +35 -34
- package/dist/data/memory/consolidation.d.ts.map +1 -1
- package/dist/data/memory/consolidation.js +43 -555
- package/dist/data/memory/consolidation.js.map +1 -1
- package/dist/data/memory/index.d.ts +0 -1
- package/dist/data/memory/index.d.ts.map +1 -1
- package/dist/data/memory/index.js +0 -1
- package/dist/data/memory/index.js.map +1 -1
- package/dist/data/memory/migration-runner.d.ts +5 -0
- package/dist/data/memory/migration-runner.d.ts.map +1 -0
- package/dist/data/memory/migration-runner.js +403 -0
- package/dist/data/memory/migration-runner.js.map +1 -0
- package/dist/data/memory/reflection.js +1 -1
- package/dist/data/memory/schema-ddl.d.ts +4 -0
- package/dist/data/memory/schema-ddl.d.ts.map +1 -0
- package/dist/data/memory/schema-ddl.js +194 -0
- package/dist/data/memory/schema-ddl.js.map +1 -0
- package/dist/data/memory/schema-guard.d.ts +3 -0
- package/dist/data/memory/schema-guard.d.ts.map +1 -0
- package/dist/data/memory/schema-guard.js +184 -0
- package/dist/data/memory/schema-guard.js.map +1 -0
- package/dist/data/memory/schema.d.ts +2 -5
- package/dist/data/memory/schema.d.ts.map +1 -1
- package/dist/data/memory/schema.js +6 -834
- package/dist/data/memory/schema.js.map +1 -1
- package/dist/data/memory/semantic.d.ts +0 -1
- package/dist/data/memory/semantic.d.ts.map +1 -1
- package/dist/data/memory/semantic.js +2 -8
- package/dist/data/memory/semantic.js.map +1 -1
- package/dist/data/memory/synthesis.js +2 -2
- package/dist/data/memory/synthesis.js.map +1 -1
- package/dist/data/memory/thread-registry.d.ts +18 -4
- package/dist/data/memory/thread-registry.d.ts.map +1 -1
- package/dist/data/memory/thread-registry.js +25 -0
- package/dist/data/memory/thread-registry.js.map +1 -1
- package/dist/data/sent-message.repository.d.ts +12 -0
- package/dist/data/sent-message.repository.d.ts.map +1 -0
- package/dist/data/sent-message.repository.js +31 -0
- package/dist/data/sent-message.repository.js.map +1 -0
- package/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +23 -2
- package/dist/http-server.js.map +1 -1
- package/dist/index.js +27 -48
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +7 -2
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +89 -12
- package/dist/logger.js.map +1 -1
- package/dist/scheduler.d.ts +8 -0
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +15 -0
- package/dist/scheduler.js.map +1 -1
- package/dist/server/factory.d.ts +2 -1
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +11 -4
- package/dist/server/factory.js.map +1 -1
- package/dist/services/agent-spawn.service.d.ts +39 -0
- package/dist/services/agent-spawn.service.d.ts.map +1 -0
- package/dist/services/agent-spawn.service.js +348 -0
- package/dist/services/agent-spawn.service.js.map +1 -0
- package/dist/services/background-runner.d.ts +26 -0
- package/dist/services/background-runner.d.ts.map +1 -0
- package/dist/services/background-runner.js +71 -0
- package/dist/services/background-runner.js.map +1 -0
- package/dist/services/consolidation.service.d.ts +16 -0
- package/dist/services/consolidation.service.d.ts.map +1 -0
- package/dist/services/consolidation.service.js +508 -0
- package/dist/services/consolidation.service.js.map +1 -0
- package/dist/services/dispatcher/broker.d.ts +2 -0
- package/dist/services/dispatcher/broker.d.ts.map +1 -1
- package/dist/services/dispatcher/broker.js +5 -10
- package/dist/services/dispatcher/broker.js.map +1 -1
- package/dist/services/dispatcher/index.d.ts +1 -1
- package/dist/services/dispatcher/index.d.ts.map +1 -1
- package/dist/services/dispatcher/index.js +1 -1
- package/dist/services/dispatcher/index.js.map +1 -1
- package/dist/services/dispatcher/lock.d.ts.map +1 -1
- package/dist/services/dispatcher/lock.js +7 -11
- package/dist/services/dispatcher/lock.js.map +1 -1
- package/dist/services/maintenance-signal.d.ts +18 -0
- package/dist/services/maintenance-signal.d.ts.map +1 -0
- package/dist/services/maintenance-signal.js +48 -0
- package/dist/services/maintenance-signal.js.map +1 -0
- package/dist/services/memory-briefing.service.d.ts +4 -0
- package/dist/services/memory-briefing.service.d.ts.map +1 -0
- package/dist/services/memory-briefing.service.js +143 -0
- package/dist/services/memory-briefing.service.js.map +1 -0
- package/dist/services/process.service.d.ts +31 -0
- package/dist/services/process.service.d.ts.map +1 -0
- package/dist/services/process.service.js +100 -0
- package/dist/services/process.service.js.map +1 -0
- package/dist/services/thread-health.service.d.ts +18 -0
- package/dist/services/thread-health.service.d.ts.map +1 -0
- package/dist/services/thread-health.service.js +118 -0
- package/dist/services/thread-health.service.js.map +1 -0
- package/dist/services/thread-lifecycle.service.d.ts +52 -0
- package/dist/services/thread-lifecycle.service.d.ts.map +1 -0
- package/dist/services/thread-lifecycle.service.js +174 -0
- package/dist/services/thread-lifecycle.service.js.map +1 -0
- package/dist/services/topic.service.d.ts +25 -0
- package/dist/services/topic.service.d.ts.map +1 -0
- package/dist/services/topic.service.js +65 -0
- package/dist/services/topic.service.js.map +1 -0
- package/dist/services/worker-cleanup.service.d.ts +8 -0
- package/dist/services/worker-cleanup.service.d.ts.map +1 -0
- package/dist/services/worker-cleanup.service.js +82 -0
- package/dist/services/worker-cleanup.service.js.map +1 -0
- package/dist/sessions.d.ts +14 -0
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +55 -0
- package/dist/sessions.js.map +1 -1
- package/dist/telegram.d.ts +13 -6
- package/dist/telegram.d.ts.map +1 -1
- package/dist/telegram.js +43 -14
- package/dist/telegram.js.map +1 -1
- package/dist/tools/defs/memory-defs.d.ts.map +1 -1
- package/dist/tools/defs/memory-defs.js +0 -19
- package/dist/tools/defs/memory-defs.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts +4 -0
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +48 -109
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +1 -16
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/shared-agent-utils.d.ts +9 -1
- package/dist/tools/shared-agent-utils.d.ts.map +1 -1
- package/dist/tools/shared-agent-utils.js +24 -42
- package/dist/tools/shared-agent-utils.js.map +1 -1
- package/dist/tools/start-session-tool.d.ts +2 -0
- package/dist/tools/start-session-tool.d.ts.map +1 -1
- package/dist/tools/start-session-tool.js +66 -106
- package/dist/tools/start-session-tool.js.map +1 -1
- package/dist/tools/thread-lifecycle.d.ts +5 -127
- package/dist/tools/thread-lifecycle.d.ts.map +1 -1
- package/dist/tools/thread-lifecycle.js +5 -1163
- package/dist/tools/thread-lifecycle.js.map +1 -1
- package/dist/tools/utility-tools.js +5 -2
- package/dist/tools/utility-tools.js.map +1 -1
- package/dist/tools/wait/drive-handler.d.ts +0 -1
- package/dist/tools/wait/drive-handler.d.ts.map +1 -1
- package/dist/tools/wait/drive-handler.js +5 -22
- package/dist/tools/wait/drive-handler.js.map +1 -1
- package/dist/tools/wait/message-delivery.js +1 -1
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/dist/tools/wait/message-processing.d.ts.map +1 -1
- package/dist/tools/wait/message-processing.js +9 -8
- package/dist/tools/wait/message-processing.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts +2 -0
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +27 -29
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/dist/tools/wait/task-handler.d.ts +0 -3
- package/dist/tools/wait/task-handler.d.ts.map +1 -1
- package/dist/tools/wait/task-handler.js +3 -2
- package/dist/tools/wait/task-handler.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -8
- package/supervisor/config.go +182 -69
- package/supervisor/config_test.go +78 -0
- package/supervisor/go.mod +12 -0
- package/supervisor/go.sum +20 -0
- package/supervisor/health.go +60 -11
- package/supervisor/health_test.go +29 -0
- package/supervisor/keeper.go +15 -10
- package/supervisor/log.go +109 -28
- package/supervisor/log_test.go +86 -6
- package/supervisor/main.go +150 -19
- package/supervisor/main_test.go +130 -0
- package/supervisor/process.go +47 -4
- package/supervisor/process_test.go +14 -0
- package/supervisor/secrets.go +95 -0
- package/supervisor/secrets_securevault_test.go +98 -0
- package/supervisor/secrets_test.go +119 -0
- package/supervisor/self_update.go +282 -0
- package/supervisor/self_update_test.go +177 -0
- package/supervisor/service_restart_stub.go +9 -0
- package/supervisor/service_restart_windows.go +63 -0
- package/supervisor/service_stub.go +15 -0
- package/supervisor/service_windows.go +216 -0
- package/supervisor/update_state.go +264 -0
- package/supervisor/update_state_test.go +306 -0
- package/supervisor/updater.go +311 -10
- package/supervisor/updater_test.go +64 -0
- package/dist/data/memory/quality-scoring.d.ts +0 -32
- package/dist/data/memory/quality-scoring.d.ts.map +0 -1
- package/dist/data/memory/quality-scoring.js +0 -182
- package/dist/data/memory/quality-scoring.js.map +0 -1
- package/scripts/install-supervisor.ps1 +0 -67
- package/scripts/install-supervisor.sh +0 -43
- package/scripts/start-supervisor.ps1 +0 -46
- package/scripts/start-supervisor.sh +0 -20
- package/templates/coding-task.default.md +0 -12
|
@@ -5,40 +5,30 @@
|
|
|
5
5
|
* bootstraps memory, auto-schedules DMN reflection, and returns the
|
|
6
6
|
* session greeting with reminders.
|
|
7
7
|
*/
|
|
8
|
-
import { getMemorySourceThreadId, setThreadAgentType } from "../config.js";
|
|
8
|
+
import { getEffectiveAutonomousMode, getMemorySourceThreadId, setThreadAgentType } from "../config.js";
|
|
9
|
+
import { parsePositiveInt, parseAgentType } from "./shared-agent-utils.js";
|
|
9
10
|
import { convertMarkdown } from "../markdown.js";
|
|
10
|
-
import { assembleBootstrap
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { assembleBootstrap } from "../services/memory-briefing.service.js";
|
|
12
|
+
import { runConsolidationAllThreads } from "../services/consolidation.service.js";
|
|
13
|
+
import { addSchedule, generateTaskId, listSchedules } from "../scheduler.js";
|
|
14
|
+
import { purgeOtherSessions, registerMcpSession, } from "../sessions.js";
|
|
13
15
|
import { log } from "../logger.js";
|
|
14
16
|
import { errorMessage, errorResult } from "../utils.js";
|
|
15
17
|
import { readThreadMessages } from "../dispatcher.js";
|
|
16
|
-
import { getThread,
|
|
18
|
+
import { getThread, getThreadByName } from "../data/memory/thread-registry.js";
|
|
19
|
+
import { createManagedTopic, probeOrRemapTopic } from "../services/topic.service.js";
|
|
17
20
|
/** Consolidation fires at session start when unconsolidated episodes exceed this. */
|
|
18
21
|
const STARTUP_CONSOLIDATION_THRESHOLD = 20;
|
|
19
22
|
// ---------------------------------------------------------------------------
|
|
20
23
|
// Handler
|
|
21
24
|
// ---------------------------------------------------------------------------
|
|
22
25
|
export async function handleStartSession(args, ctx) {
|
|
23
|
-
const { session, telegram, telegramChatId: TELEGRAM_CHAT_ID, config, getMemoryDb } = ctx;
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
const parsed = typeof value === "number" ? value
|
|
28
|
-
: typeof value === "string" ? Number(value)
|
|
29
|
-
: Number.NaN;
|
|
30
|
-
return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined;
|
|
31
|
-
};
|
|
32
|
-
const explicitThreadId = parseThreadId(rawThreadId);
|
|
33
|
-
const customName = typeof typedArgs.name === "string" && typedArgs.name.trim()
|
|
34
|
-
? typedArgs.name.trim()
|
|
35
|
-
: undefined;
|
|
36
|
-
const rawAgentType = typeof typedArgs.agentType === "string" ? typedArgs.agentType.trim() : "";
|
|
37
|
-
const agentType = rawAgentType === "copilot" || rawAgentType === "copilot_claude" || rawAgentType === "copilot_codex"
|
|
38
|
-
|| rawAgentType === "claude" || rawAgentType === "cursor"
|
|
39
|
-
|| rawAgentType === "codex" || rawAgentType === "openai_codex"
|
|
40
|
-
? rawAgentType
|
|
26
|
+
const { session, telegram, telegramChatId: TELEGRAM_CHAT_ID, config, getMemoryDb, threadLifecycle } = ctx;
|
|
27
|
+
const explicitThreadId = parsePositiveInt(args.threadId);
|
|
28
|
+
const customName = typeof args.name === "string" && args.name.trim()
|
|
29
|
+
? args.name.trim()
|
|
41
30
|
: undefined;
|
|
31
|
+
const agentType = parseAgentType(args.agentType);
|
|
42
32
|
// ── Re-entry guard ────────────────────────────────────────────────────
|
|
43
33
|
// If the requested thread is already the active session AND the full
|
|
44
34
|
// bootstrap already ran in THIS process lifetime, return early without
|
|
@@ -52,7 +42,7 @@ export async function handleStartSession(args, ctx) {
|
|
|
52
42
|
log.info(`[start_session] Thread ${explicitThreadId} is already the active session — skipping reinitialization.`);
|
|
53
43
|
// Include reminders + wait directive so the agent doesn't stall after
|
|
54
44
|
// a duplicate start_session call (e.g. post-update context replay).
|
|
55
|
-
const reminders = ctx.getReminders(explicitThreadId, session.sessionStartedAt,
|
|
45
|
+
const reminders = ctx.getReminders(explicitThreadId, session.sessionStartedAt, getEffectiveAutonomousMode(explicitThreadId));
|
|
56
46
|
const endDirective = `\n\n**⚠️ ACTION REQUIRED: Call the \`remote_copilot_wait_for_instructions\` tool NOW with threadId=${explicitThreadId}. Do NOT stop or end your turn.**`;
|
|
57
47
|
return {
|
|
58
48
|
content: [
|
|
@@ -87,36 +77,24 @@ export async function handleStartSession(args, ctx) {
|
|
|
87
77
|
let startupNotificationSent = false;
|
|
88
78
|
if (explicitThreadId !== undefined) {
|
|
89
79
|
session.currentThreadId = explicitThreadId;
|
|
90
|
-
// If a name was also supplied, keep the mapping up to date.
|
|
91
|
-
if (customName)
|
|
92
|
-
persistSession(TELEGRAM_CHAT_ID, customName, explicitThreadId);
|
|
93
80
|
resolvedPreexisting = true;
|
|
94
81
|
}
|
|
95
82
|
else if (customName !== undefined) {
|
|
96
|
-
const
|
|
97
|
-
if (
|
|
98
|
-
session.currentThreadId =
|
|
83
|
+
const existingThread = getThreadByName(getMemoryDb(), customName);
|
|
84
|
+
if (existingThread) {
|
|
85
|
+
session.currentThreadId = existingThread.threadId;
|
|
99
86
|
resolvedPreexisting = true;
|
|
100
87
|
}
|
|
101
|
-
else {
|
|
102
|
-
// Fallback: check the operator-managed topic registry
|
|
103
|
-
const registryId = lookupTopicRegistry(TELEGRAM_CHAT_ID, customName);
|
|
104
|
-
if (registryId !== undefined) {
|
|
105
|
-
session.currentThreadId = registryId;
|
|
106
|
-
// Promote to session store for future fast lookups
|
|
107
|
-
persistSession(TELEGRAM_CHAT_ID, customName, registryId);
|
|
108
|
-
resolvedPreexisting = true;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
88
|
}
|
|
112
|
-
// Lightweight reconnect: if the thread is pre-existing
|
|
113
|
-
//
|
|
114
|
-
// process
|
|
115
|
-
//
|
|
116
|
-
//
|
|
89
|
+
// Lightweight reconnect: if the thread is pre-existing, was recently active
|
|
90
|
+
// (within 5 minutes), AND we've already completed a full bootstrap in this
|
|
91
|
+
// process (sessionFullyInitialized), this is a context reset — skip the
|
|
92
|
+
// heavy bootstrap. The sessionFullyInitialized guard ensures a server
|
|
93
|
+
// restart always delivers the full briefing even when lastActiveAt is fresh
|
|
94
|
+
// from the previous process's heartbeat.
|
|
117
95
|
const RECONNECT_WINDOW_MS = 5 * 60 * 1000;
|
|
118
96
|
let isReconnect = false;
|
|
119
|
-
if (resolvedPreexisting && session.currentThreadId !== undefined) {
|
|
97
|
+
if (resolvedPreexisting && session.currentThreadId !== undefined && session.sessionFullyInitialized) {
|
|
120
98
|
try {
|
|
121
99
|
const threadEntry = getThread(getMemoryDb(), session.currentThreadId);
|
|
122
100
|
if (threadEntry?.lastActiveAt) {
|
|
@@ -135,7 +113,20 @@ export async function handleStartSession(args, ctx) {
|
|
|
135
113
|
// are detected and remapped promptly.
|
|
136
114
|
if (!startupNotificationSent) {
|
|
137
115
|
try {
|
|
138
|
-
await
|
|
116
|
+
await probeOrRemapTopic({
|
|
117
|
+
telegram,
|
|
118
|
+
chatId: TELEGRAM_CHAT_ID,
|
|
119
|
+
logicalThreadId: session.currentThreadId,
|
|
120
|
+
topicName: customName ??
|
|
121
|
+
`Copilot — ${new Date().toLocaleString("en-GB", {
|
|
122
|
+
day: "2-digit", month: "short", year: "numeric",
|
|
123
|
+
hour: "2-digit", minute: "2-digit", hour12: false,
|
|
124
|
+
})}`,
|
|
125
|
+
db: getMemoryDb(),
|
|
126
|
+
threadLifecycle,
|
|
127
|
+
aliases: customName ? [customName] : [],
|
|
128
|
+
probeText: "\u{1F504} Session resumed. Continuing in this thread.",
|
|
129
|
+
});
|
|
139
130
|
startupNotificationSent = true;
|
|
140
131
|
}
|
|
141
132
|
catch (err) {
|
|
@@ -143,36 +134,7 @@ export async function handleStartSession(args, ctx) {
|
|
|
143
134
|
log.warn(`[start_session] Probe failed for thread ${session.currentThreadId} in chat ${TELEGRAM_CHAT_ID}: ${errMsg}`);
|
|
144
135
|
const isThreadGone = /thread not found|topic.*(closed|deleted|not found)/i.test(errMsg);
|
|
145
136
|
if (isThreadGone) {
|
|
146
|
-
log.info(`[start_session] Cached thread ${session.currentThreadId} is gone (${errMsg})
|
|
147
|
-
const topicName = customName ??
|
|
148
|
-
`Copilot \u2014 ${new Date().toLocaleString("en-GB", {
|
|
149
|
-
day: "2-digit", month: "short", year: "numeric",
|
|
150
|
-
hour: "2-digit", minute: "2-digit", hour12: false,
|
|
151
|
-
})}`;
|
|
152
|
-
try {
|
|
153
|
-
const newTopic = await telegram.createForumTopic(TELEGRAM_CHAT_ID, topicName);
|
|
154
|
-
const newTopicId = newTopic.message_thread_id;
|
|
155
|
-
log.info(`[start_session] Remapped thread ${session.currentThreadId} \u2192 Telegram topic ${newTopicId}`);
|
|
156
|
-
try {
|
|
157
|
-
updateThread(getMemoryDb(), session.currentThreadId, { telegramTopicId: newTopicId });
|
|
158
|
-
}
|
|
159
|
-
catch (e) {
|
|
160
|
-
log.warn(`[start_session] Failed to persist topic remap: ${e instanceof Error ? e.message : String(e)}`);
|
|
161
|
-
}
|
|
162
|
-
if (customName)
|
|
163
|
-
persistSession(TELEGRAM_CHAT_ID, topicName, session.currentThreadId);
|
|
164
|
-
registerTopic(TELEGRAM_CHAT_ID, topicName, session.currentThreadId);
|
|
165
|
-
startupNotificationSent = true;
|
|
166
|
-
}
|
|
167
|
-
catch (createErr) {
|
|
168
|
-
log.warn(`[start_session] Remap failed, falling back to new session: ${errorMessage(createErr)}`);
|
|
169
|
-
if (session.currentThreadId !== undefined)
|
|
170
|
-
purgeSchedules(session.currentThreadId);
|
|
171
|
-
if (customName)
|
|
172
|
-
removeSession(TELEGRAM_CHAT_ID, customName);
|
|
173
|
-
resolvedPreexisting = false;
|
|
174
|
-
session.currentThreadId = undefined;
|
|
175
|
-
}
|
|
137
|
+
log.info(`[start_session] Cached thread ${session.currentThreadId} is gone (${errMsg}); operator must call start_session without a threadId to create a replacement.`);
|
|
176
138
|
}
|
|
177
139
|
// Other errors (network, etc.) are non-fatal — proceed anyway.
|
|
178
140
|
}
|
|
@@ -201,18 +163,16 @@ export async function handleStartSession(args, ctx) {
|
|
|
201
163
|
hour: "2-digit", minute: "2-digit", hour12: false,
|
|
202
164
|
})}`;
|
|
203
165
|
try {
|
|
204
|
-
|
|
205
|
-
session.currentThreadId = topic.message_thread_id;
|
|
206
|
-
// Persist so the same name resumes this thread next time.
|
|
207
|
-
persistSession(TELEGRAM_CHAT_ID, topicName, session.currentThreadId);
|
|
208
|
-
registerTopic(TELEGRAM_CHAT_ID, topicName, session.currentThreadId);
|
|
166
|
+
session.currentThreadId = await createManagedTopic(telegram, TELEGRAM_CHAT_ID, topicName);
|
|
209
167
|
// Register in thread_registry so the dashboard can see it
|
|
210
168
|
try {
|
|
211
|
-
registerThread(getMemoryDb(), {
|
|
169
|
+
threadLifecycle.registerThread(getMemoryDb(), {
|
|
212
170
|
threadId: session.currentThreadId,
|
|
213
171
|
name: topicName,
|
|
214
172
|
type: 'root',
|
|
215
173
|
client: agentType ?? 'claude',
|
|
174
|
+
chatId: TELEGRAM_CHAT_ID,
|
|
175
|
+
telegramTopicId: session.currentThreadId,
|
|
216
176
|
});
|
|
217
177
|
}
|
|
218
178
|
catch { /* best-effort — DB may not be ready */ }
|
|
@@ -309,20 +269,23 @@ export async function handleStartSession(args, ctx) {
|
|
|
309
269
|
// first-person introspection prompt sourced from memory.
|
|
310
270
|
// Only create on active thread — purge stale DMN tasks from other threads
|
|
311
271
|
// to avoid every thread accumulating reflection tasks.
|
|
312
|
-
if (
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
272
|
+
if (session.currentThreadId !== undefined) {
|
|
273
|
+
const effectiveAutonomousMode = getEffectiveAutonomousMode(session.currentThreadId);
|
|
274
|
+
if (effectiveAutonomousMode) {
|
|
275
|
+
const existingTasks = listSchedules(session.currentThreadId);
|
|
276
|
+
const hasDmn = existingTasks.some(t => t.label === "dmn-reflection");
|
|
277
|
+
if (!hasDmn) {
|
|
278
|
+
addSchedule({
|
|
279
|
+
id: generateTaskId(),
|
|
280
|
+
threadId: session.currentThreadId,
|
|
281
|
+
prompt: "__DMN__", // Sentinel — handler generates dynamic content
|
|
282
|
+
label: "dmn-reflection",
|
|
283
|
+
afterIdleMinutes: 240, // 4 hours
|
|
284
|
+
oneShot: false,
|
|
285
|
+
createdAt: new Date().toISOString(),
|
|
286
|
+
});
|
|
287
|
+
log.info(`[start_session] Auto-scheduled DMN reflection task for thread ${session.currentThreadId}.`);
|
|
288
|
+
}
|
|
326
289
|
}
|
|
327
290
|
}
|
|
328
291
|
const resumeNote = resolvedPreexisting
|
|
@@ -337,26 +300,23 @@ export async function handleStartSession(args, ctx) {
|
|
|
337
300
|
const db = getMemoryDb();
|
|
338
301
|
const existingThread = getThread(db, threadId);
|
|
339
302
|
if (!existingThread) {
|
|
340
|
-
registerThread(db, {
|
|
303
|
+
threadLifecycle.registerThread(db, {
|
|
341
304
|
threadId,
|
|
342
305
|
name: customName ?? `Thread ${threadId}`,
|
|
343
306
|
type: 'root',
|
|
344
307
|
client: agentType,
|
|
308
|
+
chatId: TELEGRAM_CHAT_ID,
|
|
345
309
|
});
|
|
346
310
|
}
|
|
347
|
-
else if (!existingThread.keepAlive) {
|
|
348
|
-
// Only update client for non-keepAlive threads; keepAlive threads
|
|
349
|
-
// have their client set by the keeper and shouldn't be overwritten.
|
|
350
|
-
updateThread(db, threadId, { client: agentType, status: 'active' });
|
|
351
|
-
}
|
|
352
311
|
else {
|
|
353
|
-
|
|
354
|
-
|
|
312
|
+
threadLifecycle.activateThread(db, threadId, existingThread.keepAlive
|
|
313
|
+
? {}
|
|
314
|
+
: { client: agentType });
|
|
355
315
|
}
|
|
356
316
|
}
|
|
357
317
|
catch { /* best-effort */ }
|
|
358
318
|
}
|
|
359
|
-
const reminders = ctx.getReminders(threadId, session.sessionStartedAt,
|
|
319
|
+
const reminders = ctx.getReminders(threadId, session.sessionStartedAt, getEffectiveAutonomousMode(threadId));
|
|
360
320
|
// Mark session as fully initialized — subsequent start_session calls with
|
|
361
321
|
// the same threadId will hit the re-entry guard instead of re-bootstrapping.
|
|
362
322
|
session.sessionFullyInitialized = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-session-tool.js","sourceRoot":"","sources":["../../src/tools/start-session-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start-session-tool.js","sourceRoot":"","sources":["../../src/tools/start-session-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAkB,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAwCrF,qFAAqF;AACrF,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAE3C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA6B,EAC7B,GAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAE1G,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAClB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEjD,yEAAyE;IACzE,qEAAqE;IACrE,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,IACE,OAAO,CAAC,uBAAuB;QAC/B,gBAAgB,KAAK,SAAS;QAC9B,gBAAgB,KAAK,OAAO,CAAC,eAAe,EAC5C,CAAC;QACD,GAAG,CAAC,IAAI,CACN,0BAA0B,gBAAgB,6DAA6D,CACxG,CAAC;QACF,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7H,MAAM,YAAY,GAChB,sGAAsG,gBAAgB,mCAAmC,CAAC;QAC5J,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,oCAAoC,gBAAgB,+BAA+B;wBACvF,2DAA2D;wBAC3D,SAAS;wBACT,YAAY;iBACf;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEtC,gEAAgE;IAChE,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAClD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,yGAAyG;iBAChH;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,yCAAyC;IACzC,oEAAoE;IACpE,mCAAmC;IACnC,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC;QAC3C,mBAAmB,GAAG,IAAI,CAAC;IAC7B,CAAC;SAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;YAClD,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,uEAAuE;IACvE,4EAA4E;IAC5E,yCAAyC;IACzC,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,mBAAmB,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpG,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACtE,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;gBAChE,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,mBAAmB,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CACN,oDAAoD,OAAO,CAAC,eAAe,uBAAuB,CACnG,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACxB,8DAA8D;QAC9D,uEAAuE;QACvE,sCAAsC;QACtC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC;oBACtB,QAAQ;oBACR,MAAM,EAAE,gBAAgB;oBACxB,eAAe,EAAE,OAAO,CAAC,eAAgB;oBACzC,SAAS,EAAE,UAAU;wBACnB,aAAa,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE;4BAC9C,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;4BAC/C,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;yBAClD,CAAC,EAAE;oBACN,EAAE,EAAE,WAAW,EAAE;oBACjB,eAAe;oBACf,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;oBACvC,SAAS,EAAE,uDAAuD;iBACnE,CAAC,CAAC;gBACH,uBAAuB,GAAG,IAAI,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjC,GAAG,CAAC,IAAI,CACN,2CAA2C,OAAO,CAAC,eAAe,YAAY,gBAAgB,KAAK,MAAM,EAAE,CAC5G,CAAC;gBACF,MAAM,YAAY,GAAG,qDAAqD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxF,IAAI,YAAY,EAAE,CAAC;oBACjB,GAAG,CAAC,IAAI,CACN,iCAAiC,OAAO,CAAC,eAAe,aAAa,MAAM,iFAAiF,CAC7J,CAAC;gBACJ,CAAC;gBACD,+DAA+D;YACjE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,+DAA+D;YAC/D,uDAAuD;YACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CACN,2BAA2B,KAAK,CAAC,MAAM,iCAAiC,OAAO,CAAC,eAAe,GAAG,CACnG,CAAC;gBACF,0DAA0D;gBAC1D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,eAAe,CAC5B,kBAAkB,KAAK,CAAC,MAAM,gEAAgE;wBAC9F,2EAA2E,CAC5E,CAAC;oBACF,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC9F,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,wBAAwB;IAC5B,CAAC;IAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,+CAA+C;QAC/C,MAAM,SAAS,GAAG,UAAU;YAC1B,aAAa,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE;gBAC9C,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;gBAC/C,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;aAClD,CAAC,EAAE,CAAC;QACP,IAAI,CAAC;YACH,OAAO,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAC1F,0DAA0D;YAC1D,IAAI,CAAC;gBACH,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;oBAC5C,QAAQ,EAAE,OAAO,CAAC,eAAe;oBACjC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,SAAS,IAAI,QAAQ;oBAC7B,MAAM,EAAE,gBAAgB;oBACxB,eAAe,EAAE,OAAO,CAAC,eAAe;iBACzC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,uCAAuC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,gEAAgE;YAChE,OAAO,WAAW,CAChB,wCAAwC,YAAY,CAAC,GAAG,CAAC,IAAI;gBAC7D,oGAAoG,CACrG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAC9B,+BAA+B;gBAC/B,gDAAgD;gBAChD,oDAAoD;gBACpD,2CAA2C,CAC5C,CAAC;YACF,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9F,uBAAuB,GAAG,IAAI,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,aAAa;QACf,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,uDAAuD;IACvD,IAAI,CAAC,uBAAuB,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,WAAW,CACxB,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,OAAO,CAAC,eAAe,CACxB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,KAAK,SAAS;QACtD,CAAC,CAAC,eAAe,OAAO,CAAC,eAAe,uEAAuE;QAC/G,CAAC,CAAC,EAAE,CAAC;IAEP,wBAAwB;IACxB,4EAA4E;IAC5E,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC1C,cAAc,GAAG,MAAM,GAAG,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnG,cAAc,GAAG,kCAAkC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,+CAA+C;IAC/C,sEAAsE;IACtE,2CAA2C;IAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,2DAA2D,CAC5D,CAAC,GAAG,EAAmB,CAAC;gBACzB,IAAI,MAAM,CAAC,CAAC,GAAG,+BAA+B,EAAE,CAAC;oBAC/C,GAAG,CAAC,IAAI,CAAC,oDAAoD,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;oBACpH,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACzC,KAAK,0BAA0B,CAAC,EAAE,CAAC;yBAChC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACf,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;4BACjC,GAAG,CAAC,IAAI,CACN,mCAAmC,MAAM,CAAC,iBAAiB,oBAAoB,MAAM,CAAC,YAAY,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,WAAW,CAC9I,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACb,GAAG,CAAC,KAAK,CACP,yCAAyC,YAAY,CAAC,GAAG,CAAC,EAAE,CAC7D,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,4DAA4D,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC,0CAA0C;IAE5C,0EAA0E;IAC1E,oCAAoC;IACpC,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,0BAA0B,MAAM,oCAAoC,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YAC9B,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,6DAA6D;IAC7D,yDAAyD;IACzD,0EAA0E;IAC1E,uDAAuD;IACvD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpF,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CAAC;oBACV,EAAE,EAAE,cAAc,EAAE;oBACpB,QAAQ,EAAE,OAAO,CAAC,eAAe;oBACjC,MAAM,EAAE,SAAS,EAAE,+CAA+C;oBAClE,KAAK,EAAE,gBAAgB;oBACvB,gBAAgB,EAAE,GAAG,EAAE,UAAU;oBACjC,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,iEAAiE,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB;QACpC,CAAC,CAAC,2GAA2G;QAC7G,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IACzC,8EAA8E;IAC9E,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;QACxC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC,yEAAyE;QACzE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE;oBACjC,QAAQ;oBACR,IAAI,EAAE,UAAU,IAAI,UAAU,QAAQ,EAAE;oBACxC,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,gBAAgB;iBACzB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,SAAS;oBACnE,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7G,0EAA0E;IAC1E,6EAA6E;IAC7E,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAEvC,MAAM,YAAY,GAChB,sGAAsG,QAAQ,mCAAmC,CAAC;IAEpJ,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;oBACf,CAAC,CAAC,iCAAiC,QAAQ,6CAA6C;wBACtF,2DAA2D;wBAC3D,SAAS;wBACT,YAAY;oBACd,CAAC,CAAC,WAAW,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,UAAU,EAAE;wBACtE,4DAA4D,UAAU,EAAE;wBACxE,cAAc;wBACd,SAAS;wBACT,YAAY;aACjB;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,128 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* from
|
|
6
|
-
*/
|
|
7
|
-
interface SpawnedThread {
|
|
8
|
-
pid: number;
|
|
9
|
-
threadId: number;
|
|
10
|
-
name: string;
|
|
11
|
-
startedAt: number;
|
|
12
|
-
createdAt: number;
|
|
13
|
-
logFile: string;
|
|
14
|
-
memorySourceThreadId?: number;
|
|
15
|
-
memoryTargetThreadId?: number;
|
|
16
|
-
threadType?: 'worker' | 'branch';
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Check if a process with the given PID is still running.
|
|
20
|
-
* Uses process.kill(pid, 0) which is non-blocking (microseconds).
|
|
21
|
-
* On Windows, PID reuse is a theoretical risk but far less harmful than
|
|
22
|
-
* the 1-5 second event-loop blocking that tasklist causes. The batch
|
|
23
|
-
* getAlivePids() function still uses tasklist for startup restore where
|
|
24
|
-
* accuracy matters more than latency.
|
|
25
|
-
*/
|
|
26
|
-
export declare function isProcessAlive(pid: number): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Find a spawned thread entry by threadId whose process is still alive.
|
|
29
|
-
* Searches from the end of the array to find the most recently spawned entry.
|
|
30
|
-
*/
|
|
31
|
-
export declare function findAliveThread(threadId: number): SpawnedThread | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* Check if any tracked process is running for this threadId.
|
|
34
|
-
*/
|
|
35
|
-
export declare function isThreadRunning(threadId: number): boolean;
|
|
36
|
-
export declare const PENDING_TASKS_DIR: string;
|
|
37
|
-
export declare function ensureDirs(): void;
|
|
38
|
-
export declare function resolveMcpConfigPath(): string | null;
|
|
39
|
-
/**
|
|
40
|
-
* Resolve the absolute path to the `claude` CLI executable.
|
|
41
|
-
* Returns null if not found. Uses where/which instead of execSync (L3).
|
|
42
|
-
*/
|
|
43
|
-
export declare function resolveClaudePath(): string | null;
|
|
44
|
-
/**
|
|
45
|
-
* Resolve the absolute path to the `copilot` CLI executable.
|
|
46
|
-
* Checks COPILOT_CLI_CMD env var first, then PATH. Returns null if not found.
|
|
47
|
-
*/
|
|
48
|
-
export declare function resolveCopilotPath(): string | null;
|
|
49
|
-
/**
|
|
50
|
-
* Resolve the absolute path to the `codex` CLI executable.
|
|
51
|
-
* Checks CODEX_CLI_CMD env var first, then PATH. Returns null if not found.
|
|
52
|
-
*/
|
|
53
|
-
export declare function resolveCodexPath(): string | null;
|
|
54
|
-
export declare function spawnAgentProcess(claudePath: string, mcpConfigPath: string, name: string, threadId: number, workingDirectory?: string, memorySourceThreadId?: number, memoryTargetThreadId?: number, threadType?: 'worker' | 'branch'): {
|
|
55
|
-
pid: number;
|
|
56
|
-
logFile: string;
|
|
57
|
-
} | {
|
|
58
|
-
error: string;
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* Spawn a GitHub Copilot agent process for the given thread.
|
|
62
|
-
* Writes Copilot home files (MCP config + system prompt) before spawning.
|
|
63
|
-
* Requires MCP_HTTP_PORT env var to be set.
|
|
64
|
-
*/
|
|
65
|
-
export declare function spawnCopilotProcess(copilotPath: string, name: string, threadId: number, workingDirectory?: string, memorySourceThreadId?: number, agentType?: string, threadType?: 'worker' | 'branch'): {
|
|
66
|
-
pid: number;
|
|
67
|
-
logFile: string;
|
|
68
|
-
} | {
|
|
69
|
-
error: string;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Spawn an OpenAI Codex CLI agent process for the given thread.
|
|
73
|
-
* Writes Codex home files (TOML config + AGENTS.md) before spawning.
|
|
74
|
-
* Uses `codex exec` for non-interactive execution.
|
|
75
|
-
* Requires MCP_HTTP_PORT env var to be set.
|
|
76
|
-
*/
|
|
77
|
-
export declare function spawnCodexProcess(codexPath: string, name: string, threadId: number, workingDirectory?: string, memorySourceThreadId?: number, threadType?: 'worker' | 'branch'): {
|
|
78
|
-
pid: number;
|
|
79
|
-
logFile: string;
|
|
80
|
-
} | {
|
|
81
|
-
error: string;
|
|
82
|
-
};
|
|
83
|
-
interface PidFileEntry {
|
|
84
|
-
threadId: number;
|
|
85
|
-
pid: number;
|
|
86
|
-
filePath: string;
|
|
87
|
-
/** Thread name from PID metadata (may be absent in legacy PID files). */
|
|
88
|
-
name?: string;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Read all PID files from the pids directory.
|
|
92
|
-
* Supports both legacy (plain PID number) and new (JSON metadata) formats.
|
|
93
|
-
*/
|
|
94
|
-
export declare function readPidFiles(): PidFileEntry[];
|
|
95
|
-
/**
|
|
96
|
-
* Remove PID files for processes that are no longer running.
|
|
97
|
-
* Called on server startup / before spawning new threads.
|
|
98
|
-
* Uses a single batch check instead of N sequential calls to avoid
|
|
99
|
-
* WMI/tasklist hangs multiplying across all tracked PIDs.
|
|
100
|
-
*/
|
|
101
|
-
export declare function cleanupStalePidFiles(): void;
|
|
102
|
-
/**
|
|
103
|
-
* Kill any orphan agent processes from PID files and spawn fresh processes
|
|
104
|
-
* for all keepAlive threads in the registry. Called once on server startup.
|
|
105
|
-
*/
|
|
106
|
-
export declare function spawnKeepAliveThreads(): {
|
|
107
|
-
spawned: number;
|
|
108
|
-
errors: string[];
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* Clean up expired worker threads.
|
|
112
|
-
* Workers are temporary threads (have memorySourceThreadId but no memoryTargetThreadId).
|
|
113
|
-
* After TTL expires: synthesize outcomes, kill process, delete PID, delete Telegram topic.
|
|
114
|
-
*/
|
|
115
|
-
export declare function cleanupExpiredWorkers(db: ReturnType<typeof import("../memory.js").initMemoryDb>, telegram: {
|
|
116
|
-
deleteForumTopic(chatId: string, threadId: number): Promise<void>;
|
|
117
|
-
}, chatId: string, ttlMs?: number): Promise<{
|
|
118
|
-
cleaned: number;
|
|
119
|
-
errors: string[];
|
|
120
|
-
}>;
|
|
121
|
-
/**
|
|
122
|
-
* Get comprehensive health status of all known threads.
|
|
123
|
-
* Merges data from topic registry, dashboard sessions, spawned processes,
|
|
124
|
-
* and PID files on disk. Returns a formatted markdown table.
|
|
125
|
-
*/
|
|
126
|
-
export declare function getThreadsHealth(): string;
|
|
127
|
-
export {};
|
|
1
|
+
export * from "../services/process.service.js";
|
|
2
|
+
export * from "../services/agent-spawn.service.js";
|
|
3
|
+
export * from "../services/thread-health.service.js";
|
|
4
|
+
export * from "../services/topic.service.js";
|
|
5
|
+
export * from "../services/worker-cleanup.service.js";
|
|
128
6
|
//# sourceMappingURL=thread-lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"thread-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/thread-lifecycle.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC"}
|