sensorium-mcp 3.0.102 → 3.1.0-refactor.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/README.md +25 -0
- package/dist/config/agent-settings.d.ts +69 -0
- package/dist/config/agent-settings.d.ts.map +1 -0
- package/dist/config/agent-settings.js +225 -0
- package/dist/config/agent-settings.js.map +1 -0
- package/dist/config/agent-templates.d.ts +39 -0
- package/dist/config/agent-templates.d.ts.map +1 -0
- package/dist/config/agent-templates.js +105 -0
- package/dist/config/agent-templates.js.map +1 -0
- package/dist/config/index.d.ts +16 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +58 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/keep-alive-settings.d.ts +29 -0
- package/dist/config/keep-alive-settings.d.ts.map +1 -0
- package/dist/config/keep-alive-settings.js +100 -0
- package/dist/config/keep-alive-settings.js.map +1 -0
- package/dist/config/mcp-settings.d.ts +59 -0
- package/dist/config/mcp-settings.d.ts.map +1 -0
- package/dist/config/mcp-settings.js +196 -0
- package/dist/config/mcp-settings.js.map +1 -0
- package/dist/config/misc-settings.d.ts +46 -0
- package/dist/config/misc-settings.d.ts.map +1 -0
- package/dist/config/misc-settings.js +146 -0
- package/dist/config/misc-settings.js.map +1 -0
- package/dist/config/settings-store.d.ts +10 -0
- package/dist/config/settings-store.d.ts.map +1 -0
- package/dist/config/settings-store.js +65 -0
- package/dist/config/settings-store.js.map +1 -0
- package/dist/dashboard/log-parser.d.ts.map +1 -1
- package/dist/dashboard/log-parser.js +12 -2
- package/dist/dashboard/log-parser.js.map +1 -1
- package/dist/dashboard/presets.d.ts +1 -1
- package/dist/dashboard/presets.d.ts.map +1 -1
- package/dist/dashboard/presets.js +1 -1
- package/dist/dashboard/presets.js.map +1 -1
- package/dist/dashboard/routes/agent-templates.d.ts.map +1 -1
- package/dist/dashboard/routes/agent-templates.js +13 -8
- package/dist/dashboard/routes/agent-templates.js.map +1 -1
- package/dist/dashboard/routes/claude.d.ts.map +1 -1
- package/dist/dashboard/routes/claude.js +6 -3
- package/dist/dashboard/routes/claude.js.map +1 -1
- package/dist/dashboard/routes/copilot.d.ts.map +1 -1
- package/dist/dashboard/routes/copilot.js +16 -7
- package/dist/dashboard/routes/copilot.js.map +1 -1
- package/dist/dashboard/routes/data.d.ts.map +1 -1
- package/dist/dashboard/routes/data.js +43 -15
- package/dist/dashboard/routes/data.js.map +1 -1
- package/dist/dashboard/routes/env-vars.d.ts.map +1 -1
- package/dist/dashboard/routes/env-vars.js.map +1 -1
- package/dist/dashboard/routes/mcp-servers.d.ts.map +1 -1
- package/dist/dashboard/routes/mcp-servers.js +11 -5
- package/dist/dashboard/routes/mcp-servers.js.map +1 -1
- package/dist/dashboard/routes/prompts.d.ts.map +1 -1
- package/dist/dashboard/routes/prompts.js +2 -2
- package/dist/dashboard/routes/prompts.js.map +1 -1
- package/dist/dashboard/routes/settings.d.ts.map +1 -1
- package/dist/dashboard/routes/settings.js +5 -3
- package/dist/dashboard/routes/settings.js.map +1 -1
- package/dist/dashboard/routes/skills.d.ts.map +1 -1
- package/dist/dashboard/routes/skills.js +4 -4
- package/dist/dashboard/routes/skills.js.map +1 -1
- package/dist/dashboard/routes/snapshots.d.ts.map +1 -1
- package/dist/dashboard/routes/snapshots.js +18 -11
- package/dist/dashboard/routes/snapshots.js.map +1 -1
- package/dist/dashboard/routes/templates.d.ts.map +1 -1
- package/dist/dashboard/routes/templates.js +6 -3
- package/dist/dashboard/routes/templates.js.map +1 -1
- package/dist/dashboard/routes/threads-create.d.ts +22 -0
- package/dist/dashboard/routes/threads-create.d.ts.map +1 -0
- package/dist/dashboard/routes/threads-create.js +225 -0
- package/dist/dashboard/routes/threads-create.js.map +1 -0
- package/dist/dashboard/routes/threads-helpers.d.ts +28 -0
- package/dist/dashboard/routes/threads-helpers.d.ts.map +1 -0
- package/dist/dashboard/routes/threads-helpers.js +138 -0
- package/dist/dashboard/routes/threads-helpers.js.map +1 -0
- package/dist/dashboard/routes/threads-read.d.ts +26 -0
- package/dist/dashboard/routes/threads-read.d.ts.map +1 -0
- package/dist/dashboard/routes/threads-read.js +118 -0
- package/dist/dashboard/routes/threads-read.js.map +1 -0
- package/dist/dashboard/routes/threads.d.ts +5 -44
- package/dist/dashboard/routes/threads.d.ts.map +1 -1
- package/dist/dashboard/routes/threads.js +40 -496
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes/types.d.ts.map +1 -1
- package/dist/dashboard/routes/types.js.map +1 -1
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +30 -5
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/data/daily-marker.d.ts.map +1 -1
- package/dist/data/daily-marker.js +1 -1
- package/dist/data/daily-marker.js.map +1 -1
- package/dist/data/file-storage.d.ts.map +1 -1
- package/dist/data/file-storage.js +40 -16
- package/dist/data/file-storage.js.map +1 -1
- package/dist/data/interfaces.d.ts +23 -2
- package/dist/data/interfaces.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.d.ts +1 -1
- package/dist/data/memory/bootstrap.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.js +32 -13
- package/dist/data/memory/bootstrap.js.map +1 -1
- package/dist/data/memory/consolidation.d.ts.map +1 -1
- package/dist/data/memory/consolidation.js +17 -8
- package/dist/data/memory/consolidation.js.map +1 -1
- package/dist/data/memory/db-types.d.ts +4 -0
- package/dist/data/memory/db-types.d.ts.map +1 -0
- package/dist/data/memory/db-types.js +2 -0
- package/dist/data/memory/db-types.js.map +1 -0
- package/dist/data/memory/episodes.d.ts.map +1 -1
- package/dist/data/memory/episodes.js +3 -5
- package/dist/data/memory/episodes.js.map +1 -1
- package/dist/data/memory/index.d.ts +28 -14
- package/dist/data/memory/index.d.ts.map +1 -1
- package/dist/data/memory/index.js +28 -14
- package/dist/data/memory/index.js.map +1 -1
- package/dist/data/memory/migration-runner.d.ts +1 -1
- package/dist/data/memory/migration-runner.d.ts.map +1 -1
- package/dist/data/memory/migration-runner.js +23 -15
- package/dist/data/memory/migration-runner.js.map +1 -1
- package/dist/data/memory/narrative-lint.d.ts +12 -0
- package/dist/data/memory/narrative-lint.d.ts.map +1 -0
- package/dist/data/memory/narrative-lint.js +117 -0
- package/dist/data/memory/narrative-lint.js.map +1 -0
- package/dist/data/memory/narrative-resolutions.d.ts +26 -0
- package/dist/data/memory/narrative-resolutions.d.ts.map +1 -0
- package/dist/data/memory/narrative-resolutions.js +81 -0
- package/dist/data/memory/narrative-resolutions.js.map +1 -0
- package/dist/data/memory/narrative-sources.d.ts +19 -0
- package/dist/data/memory/narrative-sources.d.ts.map +1 -0
- package/dist/data/memory/narrative-sources.js +150 -0
- package/dist/data/memory/narrative-sources.js.map +1 -0
- package/dist/data/memory/narrative-store.d.ts +11 -0
- package/dist/data/memory/narrative-store.d.ts.map +1 -0
- package/dist/data/memory/narrative-store.js +80 -0
- package/dist/data/memory/narrative-store.js.map +1 -0
- package/dist/data/memory/narrative-types.d.ts +15 -0
- package/dist/data/memory/narrative-types.d.ts.map +1 -0
- package/dist/data/memory/narrative-types.js +3 -0
- package/dist/data/memory/narrative-types.js.map +1 -0
- package/dist/data/memory/narrative.d.ts +5 -2
- package/dist/data/memory/narrative.d.ts.map +1 -1
- package/dist/data/memory/narrative.js +31 -521
- package/dist/data/memory/narrative.js.map +1 -1
- package/dist/data/memory/note-archival.d.ts +17 -0
- package/dist/data/memory/note-archival.d.ts.map +1 -0
- package/dist/data/memory/note-archival.js +48 -0
- package/dist/data/memory/note-archival.js.map +1 -0
- package/dist/data/memory/note-embeddings.d.ts +27 -0
- package/dist/data/memory/note-embeddings.d.ts.map +1 -0
- package/dist/data/memory/note-embeddings.js +98 -0
- package/dist/data/memory/note-embeddings.js.map +1 -0
- package/dist/data/memory/reflection-dedup.d.ts +17 -0
- package/dist/data/memory/reflection-dedup.d.ts.map +1 -0
- package/dist/data/memory/reflection-dedup.js +55 -0
- package/dist/data/memory/reflection-dedup.js.map +1 -0
- package/dist/data/memory/reflection-gates.d.ts +40 -0
- package/dist/data/memory/reflection-gates.d.ts.map +1 -0
- package/dist/data/memory/reflection-gates.js +220 -0
- package/dist/data/memory/reflection-gates.js.map +1 -0
- package/dist/data/memory/reflection-sources.d.ts +13 -0
- package/dist/data/memory/reflection-sources.d.ts.map +1 -0
- package/dist/data/memory/reflection-sources.js +115 -0
- package/dist/data/memory/reflection-sources.js.map +1 -0
- package/dist/data/memory/reflection.d.ts +5 -35
- package/dist/data/memory/reflection.d.ts.map +1 -1
- package/dist/data/memory/reflection.js +25 -329
- package/dist/data/memory/reflection.js.map +1 -1
- package/dist/data/memory/schema-ddl.d.ts +1 -1
- package/dist/data/memory/schema-ddl.d.ts.map +1 -1
- package/dist/data/memory/schema-ddl.js +5 -3
- package/dist/data/memory/schema-ddl.js.map +1 -1
- package/dist/data/memory/schema-guard.d.ts +1 -1
- package/dist/data/memory/schema-guard.d.ts.map +1 -1
- package/dist/data/memory/schema-guard.js +5 -4
- package/dist/data/memory/schema-guard.js.map +1 -1
- package/dist/data/memory/schema.d.ts +2 -2
- package/dist/data/memory/schema.d.ts.map +1 -1
- package/dist/data/memory/schema.js +4 -2
- package/dist/data/memory/schema.js.map +1 -1
- package/dist/data/memory/{semantic.d.ts → semantic-notes.d.ts} +6 -72
- package/dist/data/memory/semantic-notes.d.ts.map +1 -0
- package/dist/data/memory/semantic-notes.js +249 -0
- package/dist/data/memory/semantic-notes.js.map +1 -0
- package/dist/data/memory/semantic-search.d.ts +29 -0
- package/dist/data/memory/semantic-search.d.ts.map +1 -0
- package/dist/data/memory/semantic-search.js +156 -0
- package/dist/data/memory/semantic-search.js.map +1 -0
- package/dist/data/memory/synthesis.d.ts.map +1 -1
- package/dist/data/memory/synthesis.js +15 -7
- package/dist/data/memory/synthesis.js.map +1 -1
- package/dist/data/memory/thread-registry.d.ts +2 -2
- package/dist/data/memory/thread-registry.d.ts.map +1 -1
- package/dist/data/memory/thread-registry.js +74 -36
- package/dist/data/memory/thread-registry.js.map +1 -1
- package/dist/data/memory/topic-index.d.ts +20 -0
- package/dist/data/memory/topic-index.d.ts.map +1 -0
- package/dist/data/memory/topic-index.js +91 -0
- package/dist/data/memory/topic-index.js.map +1 -0
- package/dist/data/memory/topic-shift.js +1 -1
- package/dist/data/memory/topic-shift.js.map +1 -1
- package/dist/data/memory/utils.d.ts +0 -5
- package/dist/data/memory/utils.d.ts.map +1 -1
- package/dist/data/memory/utils.js +0 -94
- package/dist/data/memory/utils.js.map +1 -1
- package/dist/data/sent-message.repository.js +2 -2
- package/dist/data/sent-message.repository.js.map +1 -1
- package/dist/data/templates.js +2 -2
- package/dist/data/templates.js.map +1 -1
- package/dist/index.js +21 -19
- package/dist/index.js.map +1 -1
- package/dist/integrations/openai/chat.d.ts.map +1 -1
- package/dist/integrations/openai/chat.js +5 -5
- package/dist/integrations/openai/chat.js.map +1 -1
- package/dist/integrations/openai/speech.d.ts +1 -1
- package/dist/integrations/openai/speech.d.ts.map +1 -1
- package/dist/integrations/openai/speech.js +1 -3
- package/dist/integrations/openai/speech.js.map +1 -1
- package/dist/integrations/openai/video.d.ts.map +1 -1
- package/dist/integrations/openai/video.js +21 -10
- package/dist/integrations/openai/video.js.map +1 -1
- package/dist/integrations/openai/vision.d.ts.map +1 -1
- package/dist/integrations/openai/vision.js.map +1 -1
- package/dist/integrations/openai/voice-emotion.d.ts.map +1 -1
- package/dist/integrations/openai/voice-emotion.js +2 -2
- package/dist/integrations/openai/voice-emotion.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/{logger.js → lib/logger.js} +77 -50
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/markdown.d.ts.map +1 -0
- package/dist/{markdown.js → lib/markdown.js} +13 -5
- package/dist/lib/markdown.js.map +1 -0
- package/dist/{types.d.ts → lib/types.d.ts} +0 -1
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/{utils.js → lib/utils.js} +29 -9
- package/dist/lib/utils.js.map +1 -0
- package/dist/llm/json.d.ts +14 -0
- package/dist/llm/json.d.ts.map +1 -0
- package/dist/llm/json.js +112 -0
- package/dist/llm/json.js.map +1 -0
- package/dist/llm/prompts/narrative.d.ts +7 -0
- package/dist/llm/prompts/narrative.d.ts.map +1 -0
- package/dist/llm/prompts/narrative.js +124 -0
- package/dist/llm/prompts/narrative.js.map +1 -0
- package/dist/llm/prompts/reflection.d.ts +6 -0
- package/dist/llm/prompts/reflection.d.ts.map +1 -0
- package/dist/llm/prompts/reflection.js +77 -0
- package/dist/llm/prompts/reflection.js.map +1 -0
- package/dist/server/factory.d.ts +2 -2
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +152 -73
- package/dist/server/factory.js.map +1 -1
- package/dist/{http-server.d.ts → server/http-server.d.ts} +2 -2
- package/dist/server/http-server.d.ts.map +1 -0
- package/dist/{http-server.js → server/http-server.js} +38 -17
- package/dist/server/http-server.js.map +1 -0
- package/dist/{stdio-server.d.ts → server/stdio-server.d.ts} +1 -1
- package/dist/server/stdio-server.d.ts.map +1 -0
- package/dist/{stdio-server.js → server/stdio-server.js} +25 -11
- package/dist/server/stdio-server.js.map +1 -0
- package/dist/services/agent-spawn.service.d.ts +1 -1
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +17 -7
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/background-runner.d.ts +2 -2
- package/dist/services/background-runner.d.ts.map +1 -1
- package/dist/services/background-runner.js +8 -3
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/claude-spawn.service.d.ts.map +1 -1
- package/dist/services/claude-spawn.service.js +61 -52
- package/dist/services/claude-spawn.service.js.map +1 -1
- package/dist/services/codex-spawn.service.d.ts.map +1 -1
- package/dist/services/codex-spawn.service.js +52 -40
- package/dist/services/codex-spawn.service.js.map +1 -1
- package/dist/services/consolidation-prompts.d.ts +26 -0
- package/dist/services/consolidation-prompts.d.ts.map +1 -0
- package/dist/services/consolidation-prompts.js +144 -0
- package/dist/services/consolidation-prompts.js.map +1 -0
- package/dist/services/consolidation.service.d.ts +1 -5
- package/dist/services/consolidation.service.d.ts.map +1 -1
- package/dist/services/consolidation.service.js +53 -322
- package/dist/services/consolidation.service.js.map +1 -1
- package/dist/services/copilot-spawn.service.d.ts.map +1 -1
- package/dist/services/copilot-spawn.service.js +47 -57
- package/dist/services/copilot-spawn.service.js.map +1 -1
- package/dist/{daily-session.d.ts → services/daily-session.d.ts} +1 -1
- package/dist/services/daily-session.d.ts.map +1 -0
- package/dist/{daily-session.js → services/daily-session.js} +15 -14
- package/dist/services/daily-session.js.map +1 -0
- package/dist/services/dispatcher/broker.d.ts +0 -6
- package/dist/services/dispatcher/broker.d.ts.map +1 -1
- package/dist/services/dispatcher/broker.js +46 -38
- 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 +24 -9
- package/dist/services/dispatcher/lock.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +74 -49
- package/dist/services/dispatcher/poller.js.map +1 -1
- package/dist/services/drive.d.ts.map +1 -0
- package/dist/{drive.js → services/drive.js} +1 -1
- package/dist/services/drive.js.map +1 -0
- package/dist/services/intent.d.ts.map +1 -0
- package/dist/{intent.js → services/intent.js} +78 -23
- package/dist/services/intent.js.map +1 -0
- package/dist/services/keep-alive-sync.service.d.ts +11 -0
- package/dist/services/keep-alive-sync.service.d.ts.map +1 -0
- package/dist/services/keep-alive-sync.service.js +47 -0
- package/dist/services/keep-alive-sync.service.js.map +1 -0
- package/dist/services/keeper.service.d.ts +1 -1
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +31 -18
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/maintenance-signal.js +1 -1
- package/dist/services/maintenance-signal.js.map +1 -1
- package/dist/services/mcp-config.service.d.ts.map +1 -1
- package/dist/services/mcp-config.service.js +19 -6
- package/dist/services/mcp-config.service.js.map +1 -1
- package/dist/services/memory-briefing.service.d.ts.map +1 -1
- package/dist/services/memory-briefing.service.js +13 -7
- package/dist/services/memory-briefing.service.js.map +1 -1
- package/dist/services/memory-pruning.service.d.ts +12 -0
- package/dist/services/memory-pruning.service.d.ts.map +1 -0
- package/dist/services/memory-pruning.service.js +177 -0
- package/dist/services/memory-pruning.service.js.map +1 -0
- package/dist/services/process.service.d.ts +7 -2
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +233 -103
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/reconnect-snapshot.service.d.ts.map +1 -1
- package/dist/services/reconnect-snapshot.service.js +3 -3
- package/dist/services/reconnect-snapshot.service.js.map +1 -1
- package/dist/{scheduler.d.ts → services/scheduler.d.ts} +1 -23
- package/dist/services/scheduler.d.ts.map +1 -0
- package/dist/{scheduler.js → services/scheduler.js} +6 -8
- package/dist/services/scheduler.js.map +1 -0
- package/dist/services/self-update.service.d.ts +15 -5
- package/dist/services/self-update.service.d.ts.map +1 -1
- package/dist/services/self-update.service.js +85 -41
- package/dist/services/self-update.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts +40 -16
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +163 -36
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/{telegram.d.ts → services/telegram.d.ts} +3 -3
- package/dist/services/telegram.d.ts.map +1 -0
- package/dist/{telegram.js → services/telegram.js} +16 -8
- package/dist/services/telegram.js.map +1 -0
- package/dist/services/thread-config.service.d.ts +25 -0
- package/dist/services/thread-config.service.d.ts.map +1 -0
- package/dist/services/thread-config.service.js +73 -0
- package/dist/services/thread-config.service.js.map +1 -0
- package/dist/services/thread-health.service.d.ts.map +1 -1
- package/dist/services/thread-health.service.js +23 -9
- package/dist/services/thread-health.service.js.map +1 -1
- package/dist/services/thread-lifecycle.service.d.ts.map +1 -1
- package/dist/services/thread-lifecycle.service.js +21 -7
- package/dist/services/thread-lifecycle.service.js.map +1 -1
- package/dist/services/topic.service.d.ts.map +1 -1
- package/dist/services/topic.service.js +17 -6
- package/dist/services/topic.service.js.map +1 -1
- package/dist/services/worker-cleanup.service.d.ts +3 -2
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +31 -19
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/sessions/dashboard-registry.d.ts +38 -0
- package/dist/sessions/dashboard-registry.d.ts.map +1 -0
- package/dist/sessions/dashboard-registry.js +84 -0
- package/dist/sessions/dashboard-registry.js.map +1 -0
- package/dist/{sessions.d.ts → sessions/mcp-registry.d.ts} +3 -60
- package/dist/sessions/mcp-registry.d.ts.map +1 -0
- package/dist/{sessions.js → sessions/mcp-registry.js} +5 -214
- package/dist/sessions/mcp-registry.js.map +1 -0
- package/dist/sessions/session-store.d.ts +17 -0
- package/dist/sessions/session-store.d.ts.map +1 -0
- package/dist/sessions/session-store.js +69 -0
- package/dist/sessions/session-store.js.map +1 -0
- package/dist/sessions/topic-registry.d.ts +14 -0
- package/dist/sessions/topic-registry.d.ts.map +1 -0
- package/dist/sessions/topic-registry.js +67 -0
- package/dist/sessions/topic-registry.js.map +1 -0
- package/dist/tools/definitions.d.ts +1 -9
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/defs/memory-defs.d.ts +1 -1
- package/dist/tools/defs/memory-defs.d.ts.map +1 -1
- package/dist/tools/defs/memory-defs.js +1 -1
- package/dist/tools/defs/memory-defs.js.map +1 -1
- package/dist/tools/defs/session-defs.d.ts +1 -1
- package/dist/tools/defs/session-defs.d.ts.map +1 -1
- package/dist/tools/defs/session-defs.js +3 -14
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/defs/skill-defs.d.ts +1 -1
- package/dist/tools/defs/skill-defs.d.ts.map +1 -1
- package/dist/tools/defs/types.d.ts +11 -0
- package/dist/tools/defs/types.d.ts.map +1 -0
- package/dist/{chat-ui/src → tools/defs}/types.js.map +1 -1
- package/dist/tools/defs/utility-defs.d.ts +1 -1
- package/dist/tools/defs/utility-defs.d.ts.map +1 -1
- package/dist/tools/defs/utility-defs.js.map +1 -1
- package/dist/tools/defs/wait-defs.d.ts +1 -1
- package/dist/tools/defs/wait-defs.d.ts.map +1 -1
- package/dist/tools/delegate-tool.d.ts +2 -2
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +57 -37
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/memory-tools.d.ts +2 -2
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +108 -37
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/{response-builders.d.ts → tools/response-builders.d.ts} +2 -2
- package/dist/tools/response-builders.d.ts.map +1 -0
- package/dist/{response-builders.js → tools/response-builders.js} +152 -31
- package/dist/tools/response-builders.js.map +1 -0
- package/dist/tools/session-tools.d.ts +5 -14
- package/dist/tools/session-tools.d.ts.map +1 -1
- package/dist/tools/session-tools.js +17 -12
- package/dist/tools/session-tools.js.map +1 -1
- package/dist/tools/shared-agent-utils.d.ts +1 -1
- package/dist/tools/shared-agent-utils.d.ts.map +1 -1
- package/dist/tools/shared-agent-utils.js +2 -4
- package/dist/tools/shared-agent-utils.js.map +1 -1
- package/dist/tools/skill-tools.d.ts +1 -1
- package/dist/tools/skill-tools.d.ts.map +1 -1
- package/dist/tools/skill-tools.js +12 -7
- package/dist/tools/skill-tools.js.map +1 -1
- package/dist/tools/start-session-tool.d.ts +3 -3
- package/dist/tools/start-session-tool.d.ts.map +1 -1
- package/dist/tools/start-session-tool.js +35 -25
- package/dist/tools/start-session-tool.js.map +1 -1
- package/dist/tools/utility-tools.d.ts +3 -3
- package/dist/tools/utility-tools.d.ts.map +1 -1
- package/dist/tools/utility-tools.js +46 -28
- package/dist/tools/utility-tools.js.map +1 -1
- package/dist/tools/wait/auto-forward.d.ts +1 -1
- package/dist/tools/wait/auto-forward.d.ts.map +1 -1
- package/dist/tools/wait/auto-forward.js +6 -4
- package/dist/tools/wait/auto-forward.js.map +1 -1
- package/dist/tools/wait/context.d.ts +45 -0
- package/dist/tools/wait/context.d.ts.map +1 -0
- package/dist/tools/wait/context.js +5 -0
- package/dist/tools/wait/context.js.map +1 -0
- package/dist/tools/wait/drive-handler.d.ts +2 -2
- package/dist/tools/wait/drive-handler.d.ts.map +1 -1
- package/dist/tools/wait/drive-handler.js +24 -12
- package/dist/tools/wait/drive-handler.js.map +1 -1
- package/dist/tools/wait/index.d.ts +2 -1
- package/dist/tools/wait/index.d.ts.map +1 -1
- package/dist/tools/wait/index.js.map +1 -1
- package/dist/tools/wait/media-processor.d.ts +4 -4
- package/dist/tools/wait/media-processor.d.ts.map +1 -1
- package/dist/tools/wait/media-processor.js +17 -8
- package/dist/tools/wait/media-processor.js.map +1 -1
- package/dist/tools/wait/message-delivery.d.ts +5 -5
- package/dist/tools/wait/message-delivery.d.ts.map +1 -1
- package/dist/tools/wait/message-delivery.js +78 -37
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/dist/tools/wait/message-processing.d.ts +2 -2
- package/dist/tools/wait/message-processing.d.ts.map +1 -1
- package/dist/tools/wait/message-processing.js +95 -37
- package/dist/tools/wait/message-processing.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts +2 -41
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +75 -23
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/dist/tools/wait/reaction-handler.d.ts +3 -3
- package/dist/tools/wait/reaction-handler.d.ts.map +1 -1
- package/dist/tools/wait/reaction-handler.js +6 -6
- package/dist/tools/wait/reaction-handler.js.map +1 -1
- package/dist/tools/wait/task-handler.d.ts +1 -1
- package/dist/tools/wait/task-handler.d.ts.map +1 -1
- package/dist/tools/wait/task-handler.js +5 -4
- package/dist/tools/wait/task-handler.js.map +1 -1
- package/package.json +11 -2
- package/templates/code-review.default.md +1 -1
- package/templates/fire-and-forget.default.md +1 -1
- package/templates/handoff.default.md +1 -1
- package/templates/playwright.default.md +6 -6
- package/templates/sensorium-repair.default.md +4 -1
- package/templates/sleep.default.md +1 -1
- package/dist/chat-ui/src/main.d.ts +0 -2
- package/dist/chat-ui/src/main.d.ts.map +0 -1
- package/dist/chat-ui/src/main.js +0 -4
- package/dist/chat-ui/src/main.js.map +0 -1
- package/dist/chat-ui/src/markdown.d.ts +0 -2
- package/dist/chat-ui/src/markdown.d.ts.map +0 -1
- package/dist/chat-ui/src/markdown.js +0 -39
- package/dist/chat-ui/src/markdown.js.map +0 -1
- package/dist/chat-ui/src/mock-data.d.ts +0 -4
- package/dist/chat-ui/src/mock-data.d.ts.map +0 -1
- package/dist/chat-ui/src/mock-data.js +0 -230
- package/dist/chat-ui/src/mock-data.js.map +0 -1
- package/dist/chat-ui/src/types.d.ts +0 -47
- package/dist/chat-ui/src/types.d.ts.map +0 -1
- package/dist/chat-ui/vite.config.d.ts +0 -3
- package/dist/chat-ui/vite.config.d.ts.map +0 -1
- package/dist/chat-ui/vite.config.js +0 -14
- package/dist/chat-ui/vite.config.js.map +0 -1
- package/dist/config.d.ts +0 -228
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -841
- package/dist/config.js.map +0 -1
- package/dist/daily-session.d.ts.map +0 -1
- package/dist/daily-session.js.map +0 -1
- package/dist/dashboard.d.ts +0 -10
- package/dist/dashboard.d.ts.map +0 -1
- package/dist/dashboard.js +0 -10
- package/dist/dashboard.js.map +0 -1
- package/dist/data/memory/semantic.d.ts.map +0 -1
- package/dist/data/memory/semantic.js +0 -588
- package/dist/data/memory/semantic.js.map +0 -1
- package/dist/dispatcher.d.ts +0 -9
- package/dist/dispatcher.d.ts.map +0 -1
- package/dist/dispatcher.js +0 -9
- package/dist/dispatcher.js.map +0 -1
- package/dist/drive.d.ts.map +0 -1
- package/dist/drive.js.map +0 -1
- package/dist/http-server.d.ts.map +0 -1
- package/dist/http-server.js.map +0 -1
- package/dist/intent.d.ts.map +0 -1
- package/dist/intent.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/markdown.d.ts.map +0 -1
- package/dist/markdown.js.map +0 -1
- package/dist/memory.d.ts +0 -9
- package/dist/memory.d.ts.map +0 -1
- package/dist/memory.js +0 -9
- package/dist/memory.js.map +0 -1
- package/dist/openai.d.ts +0 -13
- package/dist/openai.d.ts.map +0 -1
- package/dist/openai.js +0 -17
- package/dist/openai.js.map +0 -1
- package/dist/response-builders.d.ts.map +0 -1
- package/dist/response-builders.js.map +0 -1
- package/dist/scheduler.d.ts.map +0 -1
- package/dist/scheduler.js.map +0 -1
- package/dist/sessions.d.ts.map +0 -1
- package/dist/sessions.js.map +0 -1
- package/dist/stdio-server.d.ts.map +0 -1
- package/dist/stdio-server.js.map +0 -1
- package/dist/telegram.d.ts.map +0 -1
- package/dist/telegram.js.map +0 -1
- package/dist/tool-definitions.d.ts +0 -2
- package/dist/tool-definitions.d.ts.map +0 -1
- package/dist/tool-definitions.js +0 -2
- package/dist/tool-definitions.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js.map +0 -1
- /package/dist/{logger.d.ts → lib/logger.d.ts} +0 -0
- /package/dist/{markdown.d.ts → lib/markdown.d.ts} +0 -0
- /package/dist/{types.js → lib/types.js} +0 -0
- /package/dist/{utils.d.ts → lib/utils.d.ts} +0 -0
- /package/dist/{drive.d.ts → services/drive.d.ts} +0 -0
- /package/dist/{intent.d.ts → services/intent.d.ts} +0 -0
- /package/dist/{chat-ui/src → tools/defs}/types.js +0 -0
|
@@ -13,46 +13,7 @@
|
|
|
13
13
|
* - Detects maintenance flags and instructs agent to wait externally
|
|
14
14
|
* - Activates the Dispatcher drive after extended operator silence
|
|
15
15
|
*/
|
|
16
|
-
import type {
|
|
17
|
-
import type {
|
|
18
|
-
import type { AppConfig, ToolResult } from "../../types.js";
|
|
19
|
-
import { type ThreadLifecycleService } from "../../services/thread-lifecycle.service.js";
|
|
20
|
-
export interface WaitToolContext {
|
|
21
|
-
/** Mutable per-session state — the handler reads and writes directly. */
|
|
22
|
-
state: {
|
|
23
|
-
currentThreadId: number | undefined;
|
|
24
|
-
sessionStartedAt: number;
|
|
25
|
-
waitCallCount: number;
|
|
26
|
-
lastToolCallAt: number;
|
|
27
|
-
toolCallsSinceLastDelivery: number;
|
|
28
|
-
operatorSendsThisTurn: number;
|
|
29
|
-
lastOperatorMessageAt: number;
|
|
30
|
-
lastOperatorMessageText: string;
|
|
31
|
-
lastConsolidationAt: number;
|
|
32
|
-
previewedUpdateIds: Set<number>;
|
|
33
|
-
lastDriveAttemptAt: number;
|
|
34
|
-
drivePhase2Fired: boolean;
|
|
35
|
-
};
|
|
36
|
-
addPreviewedId: (id: number) => void;
|
|
37
|
-
generateDmnReflection: (threadId: number) => string;
|
|
38
|
-
resolveThreadId: (args: Record<string, unknown> | undefined) => number | undefined;
|
|
39
|
-
telegram: TelegramClient;
|
|
40
|
-
telegramChatId: string;
|
|
41
|
-
getMemoryDb: () => ReturnType<typeof initMemoryDb>;
|
|
42
|
-
config: AppConfig;
|
|
43
|
-
threadLifecycle: ThreadLifecycleService;
|
|
44
|
-
getMcpSessionId?: () => string | undefined;
|
|
45
|
-
errorResult: (msg: string) => ToolResult & {
|
|
46
|
-
isError: true;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
export interface WaitToolExtra {
|
|
50
|
-
sendNotification: (notification: {
|
|
51
|
-
method: string;
|
|
52
|
-
params: Record<string, unknown>;
|
|
53
|
-
}) => Promise<void>;
|
|
54
|
-
signal: AbortSignal;
|
|
55
|
-
requestId?: string | number;
|
|
56
|
-
}
|
|
16
|
+
import type { ToolResult } from "../../lib/types.js";
|
|
17
|
+
import type { WaitToolContext, WaitToolExtra } from "./context.js";
|
|
57
18
|
export declare function handleWaitForInstructions(args: Record<string, unknown>, ctx: WaitToolContext, extra: WaitToolExtra): Promise<ToolResult>;
|
|
58
19
|
//# sourceMappingURL=poll-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll-loop.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"poll-loop.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoBH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAyEnE,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,UAAU,CAAC,CA+UrB"}
|
|
@@ -16,15 +16,15 @@
|
|
|
16
16
|
import { existsSync } from "node:fs";
|
|
17
17
|
import { readFile, rename, unlink } from "node:fs/promises";
|
|
18
18
|
import { join } from "node:path";
|
|
19
|
-
import { checkMaintenanceFlag, writeActivityHeartbeat, writeThreadHeartbeatSync } from "../../data/file-storage.js";
|
|
20
|
-
import { onMaintenanceSignal, markMaintenanceObserved, clearMaintenanceObserved } from "../../services/maintenance-signal.js";
|
|
21
|
-
import { getEffectiveAgentType, getEffectiveAutonomousMode } from "../../config.js";
|
|
22
|
-
import { peekThreadMessages } from "../../dispatcher.js";
|
|
23
|
-
import { log } from "../../logger.js";
|
|
24
|
-
import { getShortReminder, buildMaintenanceResponse } from "
|
|
19
|
+
import { checkMaintenanceFlag, writeActivityHeartbeat, writeThreadHeartbeatSync, } from "../../data/file-storage.js";
|
|
20
|
+
import { onMaintenanceSignal, markMaintenanceObserved, clearMaintenanceObserved, } from "../../services/maintenance-signal.js";
|
|
21
|
+
import { getEffectiveAgentType, getEffectiveAutonomousMode, } from "../../services/thread-config.service.js";
|
|
22
|
+
import { peekThreadMessages } from "../../services/dispatcher/index.js";
|
|
23
|
+
import { log } from "../../lib/logger.js";
|
|
24
|
+
import { getShortReminder, buildMaintenanceResponse } from "../response-builders.js";
|
|
25
25
|
import { ThreadState } from "../../services/thread-lifecycle.service.js";
|
|
26
26
|
import { PENDING_TASKS_DIR, markTaskConsumed } from "../../services/process.service.js";
|
|
27
|
-
import { isSessionSuperseded, reconcileThreadOwnership } from "../../sessions.js";
|
|
27
|
+
import { isSessionSuperseded, reconcileThreadOwnership } from "../../sessions/mcp-registry.js";
|
|
28
28
|
import { handleReactionOnly } from "./reaction-handler.js";
|
|
29
29
|
import { checkForDueTasks } from "./task-handler.js";
|
|
30
30
|
import { processIncomingMessages, handlePollTimeout } from "./message-processing.js";
|
|
@@ -59,13 +59,15 @@ async function consumePendingTask(threadId) {
|
|
|
59
59
|
if (!existsSync(pendingTaskPath))
|
|
60
60
|
return null;
|
|
61
61
|
try {
|
|
62
|
-
const tmpPath = pendingTaskPath +
|
|
62
|
+
const tmpPath = pendingTaskPath + ".processing";
|
|
63
63
|
await rename(pendingTaskPath, tmpPath);
|
|
64
64
|
const taskContent = (await readFile(tmpPath, "utf-8")).trim();
|
|
65
65
|
try {
|
|
66
66
|
await unlink(tmpPath);
|
|
67
67
|
}
|
|
68
|
-
catch {
|
|
68
|
+
catch {
|
|
69
|
+
/* ignore cleanup errors */
|
|
70
|
+
}
|
|
69
71
|
// Mark this thread's task as consumed so the worker-exit handler never
|
|
70
72
|
// respawns a worker that already did work (guards against duplicate posts
|
|
71
73
|
// when a late mailbox append recreates the pending-task file).
|
|
@@ -141,7 +143,12 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
141
143
|
log.warn(`[wait] Session ${preSid?.slice(0, 8)}… superseded for thread ${effectiveThreadId} — terminating before poll loop.`);
|
|
142
144
|
state.lastToolCallAt = Date.now();
|
|
143
145
|
return {
|
|
144
|
-
content: [
|
|
146
|
+
content: [
|
|
147
|
+
{
|
|
148
|
+
type: "text",
|
|
149
|
+
text: "Session terminated — a newer session is now active for this thread. Do not call wait_for_instructions again.",
|
|
150
|
+
},
|
|
151
|
+
],
|
|
145
152
|
};
|
|
146
153
|
}
|
|
147
154
|
const preLoopTask = await consumePendingTask(effectiveThreadId);
|
|
@@ -168,7 +175,12 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
168
175
|
log.warn(`[wait] Session ${currentSid?.slice(0, 8)}… superseded for thread ${effectiveThreadId} — terminating poll loop.`);
|
|
169
176
|
state.lastToolCallAt = Date.now();
|
|
170
177
|
return {
|
|
171
|
-
content: [
|
|
178
|
+
content: [
|
|
179
|
+
{
|
|
180
|
+
type: "text",
|
|
181
|
+
text: "Session terminated — a newer session is now active for this thread. Do not call wait_for_instructions again.",
|
|
182
|
+
},
|
|
183
|
+
],
|
|
172
184
|
};
|
|
173
185
|
}
|
|
174
186
|
// Bail out if the MCP transport signalled abort (client disconnected).
|
|
@@ -176,7 +188,12 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
176
188
|
log.info(`[wait] Signal aborted for session ${currentSid?.slice(0, 8)}… thread ${effectiveThreadId} — client disconnected.`);
|
|
177
189
|
state.lastToolCallAt = Date.now();
|
|
178
190
|
return {
|
|
179
|
-
content: [
|
|
191
|
+
content: [
|
|
192
|
+
{
|
|
193
|
+
type: "text",
|
|
194
|
+
text: "Client disconnected. Call wait_for_instructions again to resume.",
|
|
195
|
+
},
|
|
196
|
+
],
|
|
180
197
|
};
|
|
181
198
|
}
|
|
182
199
|
// Bail out if the thread has been archived — graceful shutdown without kill.
|
|
@@ -187,7 +204,12 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
187
204
|
log.info(`[wait] Thread ${effectiveThreadId} is ${threadState} — instructing agent to exit.`);
|
|
188
205
|
state.lastToolCallAt = Date.now();
|
|
189
206
|
return {
|
|
190
|
-
content: [
|
|
207
|
+
content: [
|
|
208
|
+
{
|
|
209
|
+
type: "text",
|
|
210
|
+
text: "Session terminated. Thread has been archived. Do not call wait_for_instructions again — exit immediately.",
|
|
211
|
+
},
|
|
212
|
+
],
|
|
191
213
|
};
|
|
192
214
|
}
|
|
193
215
|
}
|
|
@@ -210,8 +232,14 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
210
232
|
try {
|
|
211
233
|
version = JSON.parse(maintenanceInfo).version ?? version;
|
|
212
234
|
}
|
|
213
|
-
catch {
|
|
214
|
-
|
|
235
|
+
catch {
|
|
236
|
+
/* not JSON or missing field */
|
|
237
|
+
}
|
|
238
|
+
telegram
|
|
239
|
+
.sendMessage(telegramChatId, `\u26A0\uFE0F Server update: v${version} deploying. Agent sessions will reconnect after update.`, undefined, effectiveThreadId)
|
|
240
|
+
.catch((err) => {
|
|
241
|
+
log.warn(`[poll] Maintenance notification failed for thread ${effectiveThreadId}: ${err instanceof Error ? err.message : err}`);
|
|
242
|
+
});
|
|
215
243
|
}
|
|
216
244
|
return buildMaintenanceResponse(effectiveThreadId, getShortReminder(effectiveThreadId, state.sessionStartedAt));
|
|
217
245
|
}
|
|
@@ -225,7 +253,8 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
225
253
|
// Guard: don't consume the reaction file if the SSE connection is
|
|
226
254
|
// already dead — readPendingReaction() is destructive (read + delete).
|
|
227
255
|
// Without this check the reaction is eaten but never delivered.
|
|
228
|
-
if (!extra.signal.aborted &&
|
|
256
|
+
if (!extra.signal.aborted &&
|
|
257
|
+
!isSessionSuperseded(ctx.getMcpSessionId?.(), effectiveThreadId)) {
|
|
229
258
|
const reactionResult = await handleReactionOnly({
|
|
230
259
|
telegram,
|
|
231
260
|
getMemoryDb,
|
|
@@ -240,7 +269,8 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
240
269
|
// Check for tasks sent via send_message_to_thread while we're already
|
|
241
270
|
// polling. Without this, messages arrive only on the NEXT
|
|
242
271
|
// wait_for_instructions call, causing a "no instructions" gap.
|
|
243
|
-
if (!extra.signal.aborted &&
|
|
272
|
+
if (!extra.signal.aborted &&
|
|
273
|
+
!isSessionSuperseded(ctx.getMcpSessionId?.(), effectiveThreadId)) {
|
|
244
274
|
const inLoopTask = await consumePendingTask(effectiveThreadId);
|
|
245
275
|
if (inLoopTask)
|
|
246
276
|
return inLoopTask;
|
|
@@ -255,10 +285,28 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
255
285
|
// ── In-loop drive activation check (every 30 min) ──────────────────
|
|
256
286
|
// Without this, the drive only fires on poll TIMEOUT (every 2h default).
|
|
257
287
|
// Checking inside the loop ensures consistent activation during long polls.
|
|
258
|
-
if (effectiveThreadId !== undefined &&
|
|
288
|
+
if (effectiveThreadId !== undefined &&
|
|
289
|
+
getEffectiveAutonomousMode(effectiveThreadId) &&
|
|
290
|
+
Date.now() - lastDriveCheck >= DRIVE_CHECK_INTERVAL_MS) {
|
|
259
291
|
lastDriveCheck = Date.now();
|
|
260
|
-
runAutoConsolidation({
|
|
261
|
-
|
|
292
|
+
runAutoConsolidation({
|
|
293
|
+
state,
|
|
294
|
+
effectiveThreadId,
|
|
295
|
+
getMemoryDb,
|
|
296
|
+
apiKey: config.OPENAI_API_KEY || undefined,
|
|
297
|
+
config,
|
|
298
|
+
memoryRefresh: "",
|
|
299
|
+
scheduleHint: "",
|
|
300
|
+
});
|
|
301
|
+
const driveResult = checkDriveActivation({
|
|
302
|
+
state,
|
|
303
|
+
effectiveThreadId,
|
|
304
|
+
getMemoryDb,
|
|
305
|
+
apiKey: config.OPENAI_API_KEY || undefined,
|
|
306
|
+
config,
|
|
307
|
+
memoryRefresh: "",
|
|
308
|
+
scheduleHint: "",
|
|
309
|
+
});
|
|
262
310
|
if (driveResult)
|
|
263
311
|
return driveResult;
|
|
264
312
|
}
|
|
@@ -283,10 +331,12 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
283
331
|
log.warn(`[wait] SSE keepalive failed — connection dead. Returning early.`);
|
|
284
332
|
state.lastToolCallAt = Date.now();
|
|
285
333
|
return {
|
|
286
|
-
content: [
|
|
334
|
+
content: [
|
|
335
|
+
{
|
|
287
336
|
type: "text",
|
|
288
337
|
text: "The connection was interrupted. Please call wait_for_instructions again immediately to resume polling.",
|
|
289
|
-
}
|
|
338
|
+
},
|
|
339
|
+
],
|
|
290
340
|
};
|
|
291
341
|
}
|
|
292
342
|
}
|
|
@@ -321,7 +371,9 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
321
371
|
if (Date.now() - lastRegistryUpdate > 60_000) {
|
|
322
372
|
lastRegistryUpdate = Date.now();
|
|
323
373
|
try {
|
|
324
|
-
ctx.threadLifecycle.touchThread(getMemoryDb(), effectiveThreadId, {
|
|
374
|
+
ctx.threadLifecycle.touchThread(getMemoryDb(), effectiveThreadId, {
|
|
375
|
+
lastActiveAt: new Date().toISOString(),
|
|
376
|
+
});
|
|
325
377
|
}
|
|
326
378
|
catch (err) {
|
|
327
379
|
log.debug(`[poll] Heartbeat update failed for thread ${effectiveThreadId}: ${err instanceof Error ? err.message : err}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll-loop.js","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAC9H,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,WAAW,EAA+B,MAAM,4CAA4C,CAAC;AAEtG,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E,6EAA6E;AAC7E,2EAA2E;AAC3E,gFAAgF;AAChF,iFAAiF;AACjF,+CAA+C;AAC/C,WAAW,CAAC,GAAG,EAAE;IACf,IAAI,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC;QACpC,wBAAwB,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC,EAAE,MAAM,CAAC,CAAC;AAEX,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IAChD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IACnE,+DAA+D;IAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,GAAG,aAAa,CAAC;QAChD,MAAM,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACpE,uEAAuE;QACvE,0EAA0E;QAC1E,+DAA+D;QAC/D,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,4CAA4C,QAAQ,KAAK,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC;QAC/F,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,gCAAgC;wBAChC,GAAG,WAAW,IAAI;wBAClB,kCAAkC;iBACrC;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,CAAC,mCAAmC;IAClD,CAAC;AACH,CAAC;AA4CD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAA6B,EAC7B,GAAoB,EACpB,KAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IACrE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC;IAExC,KAAK,CAAC,0BAA0B,GAAG,CAAC,CAAC;IAErC,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;IAC1D,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;IAEhC,MAAM,iBAAiB,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,WAAW,CACpB,mGAAmG,CACpG,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,yBAAyB,CAAC;YAC9B,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ;YACR,cAAc;YACd,qBAAqB;YACrB,cAAc,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,+CAA+C,iBAAiB,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7H,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC;IACzC,MAAM,SAAS,GAAG,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;IACnD,wEAAwE;IACxE,yEAAyE;IACzE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GAAG,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,cAAc,CAAC;IACnF,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;IAEjD,0EAA0E;IAC1E,uEAAuE;IACvE,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC;IACvC,IAAI,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,2BAA2B,iBAAiB,kCAAkC,CAAC,CAAC;QAC9H,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8GAA8G,EAAE,CAAC;SAClJ,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAChE,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAC9B,MAAM,yBAAyB,GAAG,MAAM,CAAC;IACzC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;IAC7D,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,MAAM,0BAA0B,GAAG,MAAM,CAAC;IAE1C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC;YACL,0EAA0E;YAC1E,uEAAuE;YACvE,wEAAwE;YACxE,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3C,IAAI,mBAAmB,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,kBAAkB,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,2BAA2B,iBAAiB,2BAA2B,CAAC,CAAC;gBAC3H,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8GAA8G,EAAE,CAAC;iBAClJ,CAAC;YACJ,CAAC;YAED,uEAAuE;YACvE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,qCAAqC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,iBAAiB,yBAAyB,CAAC,CAAC;gBAC7H,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kEAAkE,EAAE,CAAC;iBACtG,CAAC;YACJ,CAAC;YAED,6EAA6E;YAC7E,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,IAAI,0BAA0B,EAAE,CAAC;gBACjE,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBACzF,IAAI,WAAW,KAAK,WAAW,CAAC,QAAQ,IAAI,WAAW,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;oBAChF,GAAG,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,OAAO,WAAW,+BAA+B,CAAC,CAAC;oBAC9F,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClC,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2GAA2G,EAAE,CAAC;qBAC/I,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,8EAA8E;YAC9E,+EAA+E;YAC/E,yEAAyE;YACzE,gEAAgE;YAChE,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;YAC/C,IAAI,eAAe,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,qCAAqC,eAAe,EAAE,CAAC,CAAC;gBAEjE,wEAAwE;gBACxE,yEAAyE;gBACzE,yEAAyE;gBACzE,2EAA2E;gBAC3E,uCAAuC;gBACvC,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,CAAC;gBACrC,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,IAAI,OAAO,GAAG,SAAS,CAAC;oBACxB,IAAI,CAAC;wBAAC,OAAO,GAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAA0B,CAAC,OAAO,IAAI,OAAO,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;oBACrI,QAAQ,CAAC,WAAW,CAClB,cAAc,EACd,gCAAgC,OAAO,yDAAyD,EAChG,SAAS,EACT,iBAAiB,CAClB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,qDAAqD,iBAAiB,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzJ,CAAC;gBAED,OAAO,wBAAwB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAClH,CAAC;YAED,oEAAoE;YACpE,8BAA8B;YAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YAErD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/E,CAAC;YAED,mEAAmE;YACnE,kEAAkE;YAClE,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBAC9F,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC;oBAC9C,QAAQ;oBACR,WAAW;oBACX,iBAAiB;oBACjB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,cAAc,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;iBAC9D,CAAC,CAAC;gBACH,IAAI,cAAc;oBAAE,OAAO,cAAc,CAAC;YAC5C,CAAC;YAED,gFAAgF;YAChF,sEAAsE;YACtE,2DAA2D;YAC3D,+DAA+D;YAC/D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBAC9F,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;gBAC/D,IAAI,UAAU;oBAAE,OAAO,UAAU,CAAC;YACpC,CAAC;YAED,wDAAwD;YACxD,IAAI,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,IAAI,MAAM,EAAE,CAAC;gBAChF,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;gBAC5D,IAAI,UAAU;oBAAE,OAAO,UAAU,CAAC;YACpC,CAAC;YAED,sEAAsE;YACtE,yEAAyE;YACzE,4EAA4E;YAC5E,IAAI,iBAAiB,KAAK,SAAS,IAAI,0BAA0B,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI,uBAAuB,EAAE,CAAC;gBAC/I,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5B,oBAAoB,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzJ,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7K,IAAI,WAAW;oBAAE,OAAO,WAAW,CAAC;YACtC,CAAC;YAED,mDAAmD;YACnD,2EAA2E;YAC3E,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,IAAI,yBAAyB,EAAE,CAAC;gBAC5D,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,KAAK,CAAC,gBAAgB,CAAC;wBAC3B,MAAM,EAAE,wBAAwB;wBAChC,MAAM,EAAE;4BACN,aAAa,EAAE,KAAK,CAAC,SAAS;4BAC9B,QAAQ,EAAE,CAAC;4BACX,KAAK,EAAE,CAAC;yBACT;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,yDAAyD;oBACzD,iDAAiD;oBACjD,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;oBAC5E,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClC,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,wGAAwG;6BAC/G,CAAC;qBACH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,gBAAgB,GAAwB,IAAI,CAAC;gBACjD,MAAM,IAAI,GAAG,GAAG,EAAE;oBAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,QAAQ,GAAG,IAAI,CAAC;wBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,gBAAgB,EAAE,EAAE,CAAC;wBACrB,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBACjD,sEAAsE;gBACtE,wEAAwE;gBACxE,yCAAyC;gBACzC,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1B,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACN,IAAI,EAAE,CAAC;gBACT,CAAC;YACH,CAAC,CAAC,CAAC;YACH,sBAAsB,EAAE,CAAC;YACzB,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;gBAC5C,sEAAsE;gBACtE,4DAA4D;gBAC5D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,GAAG,MAAM,EAAE,CAAC;oBAC7C,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAChH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,iBAAiB,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAC,CAAC;gBAC7I,CAAC;YACH,CAAC;QACD,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,oBAAoB,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9F,SAAS;QACX,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"poll-loop.js","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* 1. Reaction arrives alongside operator messages → inline into content blocks
|
|
6
6
|
* 2. Reaction arrives with no messages → return standalone reaction envelope
|
|
7
7
|
*/
|
|
8
|
-
import { type initMemoryDb } from "../../memory.js";
|
|
9
|
-
import type { TelegramClient } from "../../telegram.js";
|
|
10
|
-
import type { TextBlock, ImageBlock, ToolResult } from "../../types.js";
|
|
8
|
+
import { type initMemoryDb } from "../../data/memory/index.js";
|
|
9
|
+
import type { TelegramClient } from "../../services/telegram.js";
|
|
10
|
+
import type { TextBlock, ImageBlock, ToolResult } from "../../lib/types.js";
|
|
11
11
|
interface ReactionContext {
|
|
12
12
|
telegram: TelegramClient;
|
|
13
13
|
getMemoryDb: () => ReturnType<typeof initMemoryDb>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reaction-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/reaction-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"reaction-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/reaction-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAO5E,UAAU,eAAe;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAwED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,EAC5C,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,IAAI,CAAC,CAef;AAMD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,eAAe,GAAG;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4B5B"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* 1. Reaction arrives alongside operator messages → inline into content blocks
|
|
6
6
|
* 2. Reaction arrives with no messages → return standalone reaction envelope
|
|
7
7
|
*/
|
|
8
|
-
import { readPendingReaction } from "../../dispatcher.js";
|
|
9
|
-
import { saveEpisode } from "../../memory.js";
|
|
10
|
-
import { log } from "../../logger.js";
|
|
11
|
-
import { getMediumReminder } from "
|
|
12
|
-
import { errorMessage } from "../../utils.js";
|
|
8
|
+
import { readPendingReaction } from "../../services/dispatcher/index.js";
|
|
9
|
+
import { saveEpisode } from "../../data/memory/index.js";
|
|
10
|
+
import { log } from "../../lib/logger.js";
|
|
11
|
+
import { getMediumReminder } from "../response-builders.js";
|
|
12
|
+
import { errorMessage } from "../../lib/utils.js";
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
14
|
// Shared helper — consumes the pending reaction and builds episode data
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
@@ -78,7 +78,7 @@ export async function handleReactionWithMessages(contentBlocks, ctx) {
|
|
|
78
78
|
const { reactionNote } = reaction;
|
|
79
79
|
// Inline the reaction with the last text block if messages exist,
|
|
80
80
|
// otherwise add it as a standalone block.
|
|
81
|
-
const lastTextIdx = contentBlocks.map(b => b.type).lastIndexOf("text");
|
|
81
|
+
const lastTextIdx = contentBlocks.map((b) => b.type).lastIndexOf("text");
|
|
82
82
|
if (lastTextIdx >= 0) {
|
|
83
83
|
const prev = contentBlocks[lastTextIdx];
|
|
84
84
|
prev.text = `${prev.text}\n${reactionNote}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reaction-handler.js","sourceRoot":"","sources":["../../../src/tools/wait/reaction-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"reaction-handler.js","sourceRoot":"","sources":["../../../src/tools/wait/reaction-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Checks for due scheduled tasks and returns an appropriate ToolResult
|
|
5
5
|
* when a task fires (including DMN sentinel handling), or null if nothing is due.
|
|
6
6
|
*/
|
|
7
|
-
import type { ToolResult } from "../../types.js";
|
|
7
|
+
import type { ToolResult } from "../../lib/types.js";
|
|
8
8
|
interface TaskContext {
|
|
9
9
|
state: {
|
|
10
10
|
lastOperatorMessageAt: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/task-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"task-handler.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/task-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMrD,UAAU,WAAW;IACnB,KAAK,EAAE;QACL,qBAAqB,EAAE,MAAM,CAAC;QAC9B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CACrD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAoC/F"}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Checks for due scheduled tasks and returns an appropriate ToolResult
|
|
5
5
|
* when a task fires (including DMN sentinel handling), or null if nothing is due.
|
|
6
6
|
*/
|
|
7
|
-
import { checkDueTasks } from "../../scheduler.js";
|
|
8
|
-
import { getReminders } from "
|
|
9
|
-
import { getEffectiveAutonomousMode } from "../../config.js";
|
|
7
|
+
import { checkDueTasks } from "../../services/scheduler.js";
|
|
8
|
+
import { getReminders } from "../response-builders.js";
|
|
9
|
+
import { getEffectiveAutonomousMode } from "../../services/thread-config.service.js";
|
|
10
10
|
// ---------------------------------------------------------------------------
|
|
11
11
|
// Handler
|
|
12
12
|
// ---------------------------------------------------------------------------
|
|
@@ -41,7 +41,8 @@ export function checkForDueTasks(ctx, effectiveThreadId) {
|
|
|
41
41
|
content: [
|
|
42
42
|
{
|
|
43
43
|
type: "text",
|
|
44
|
-
text: taskPrompt +
|
|
44
|
+
text: taskPrompt +
|
|
45
|
+
getReminders(effectiveThreadId, state.sessionStartedAt, getEffectiveAutonomousMode(effectiveThreadId)),
|
|
45
46
|
},
|
|
46
47
|
],
|
|
47
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-handler.js","sourceRoot":"","sources":["../../../src/tools/wait/task-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"task-handler.js","sourceRoot":"","sources":["../../../src/tools/wait/task-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAerF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAgB,EAAE,iBAAyB;IAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAEtB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,0EAA0E;IAC1E,8EAA8E;IAC9E,8EAA8E;IAC9E,6CAA6C;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,KAAK,SAAS;QAC1B,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;QAC9C,CAAC,CAAC,8BAA8B,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS;YACzD,oKAAoK;YACpK,gBAAgB,OAAO,CAAC,MAAM,EAAE,CAAC;IAEvC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,UAAU;oBACV,YAAY,CACV,iBAAiB,EACjB,KAAK,CAAC,gBAAgB,EACtB,0BAA0B,CAAC,iBAAiB,CAAC,CAC9C;aACJ;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sensorium-mcp",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.1.0-refactor.0",
|
|
4
4
|
"description": "MCP server for remote control of AI assistants via Telegram",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -19,7 +19,11 @@
|
|
|
19
19
|
"supervisor:install": "pwsh Install-Sensorium.ps1",
|
|
20
20
|
"supervisor:start": "node dist/index.js --supervisor",
|
|
21
21
|
"prepublishOnly": "npm run build",
|
|
22
|
-
"test": "node --import tsx --test \"src/**/*.test.ts\""
|
|
22
|
+
"test": "node --import tsx --test \"src/**/*.test.ts\"",
|
|
23
|
+
"lint": "eslint .",
|
|
24
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
25
|
+
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
26
|
+
"typecheck": "tsc --noEmit -p tsconfig.typecheck.json"
|
|
23
27
|
},
|
|
24
28
|
"repository": {
|
|
25
29
|
"type": "git",
|
|
@@ -44,12 +48,17 @@
|
|
|
44
48
|
"telegramify-markdown": "^1.3.2"
|
|
45
49
|
},
|
|
46
50
|
"devDependencies": {
|
|
51
|
+
"@eslint/js": "^10.0.1",
|
|
47
52
|
"@types/better-sqlite3": "^7.6.13",
|
|
48
53
|
"@types/node": "^25.3.3",
|
|
49
54
|
"@vitejs/plugin-vue": "^5.2.0",
|
|
55
|
+
"eslint": "^10.7.0",
|
|
56
|
+
"eslint-config-prettier": "^10.1.8",
|
|
50
57
|
"md-to-pdf": "^5.2.5",
|
|
58
|
+
"prettier": "^3.9.5",
|
|
51
59
|
"tsx": "^4.21.0",
|
|
52
60
|
"typescript": "^5.9.3",
|
|
61
|
+
"typescript-eslint": "^8.64.0",
|
|
53
62
|
"vite": "^6.2.0",
|
|
54
63
|
"vite-plugin-singlefile": "^2.0.2",
|
|
55
64
|
"vue": "^3.5.0"
|
|
@@ -16,7 +16,7 @@ You are an expert code reviewer. Your job is to find issues and FIX THEM DIRECTL
|
|
|
16
16
|
|
|
17
17
|
## Review Process
|
|
18
18
|
|
|
19
|
-
1. **Read the target files** thoroughly using
|
|
19
|
+
1. **Read the target files** thoroughly using file read tools
|
|
20
20
|
2. **Analyze** against the criteria below
|
|
21
21
|
3. **Fix** each issue directly in the code
|
|
22
22
|
4. **Commit** each logical fix with a descriptive commit message
|
|
@@ -11,7 +11,7 @@ replaces_orchestrator: true
|
|
|
11
11
|
## Fire and Forget — Autonomous Worker Pattern
|
|
12
12
|
|
|
13
13
|
### Overview
|
|
14
|
-
This skill describes the **fire-and-forget** pattern: you spawn a
|
|
14
|
+
This skill describes the **fire-and-forget** pattern: you spawn a worker thread, send it a task, and **continue working immediately**. The worker executes autonomously and reports progress directly to the **operator** (not back to you).
|
|
15
15
|
|
|
16
16
|
### When to Use
|
|
17
17
|
- Background cleanup tasks (log rotation, stale file removal)
|
|
@@ -14,7 +14,7 @@ replaces_orchestrator: true
|
|
|
14
14
|
## Handoff — Orchestrator-Worker Pattern
|
|
15
15
|
|
|
16
16
|
### Overview
|
|
17
|
-
This skill describes the **orchestrator-worker** pattern: you spawn a
|
|
17
|
+
This skill describes the **orchestrator-worker** pattern: you spawn a worker thread, send it a task, and **wait** for the result. The orchestrator does NOT do the work — it delegates, waits, and processes the response.
|
|
18
18
|
|
|
19
19
|
### When to Use
|
|
20
20
|
- Code reviews (you need the findings to act on)
|
|
@@ -84,22 +84,22 @@ The shared context means each `pw` call is a fresh connection but the same brows
|
|
|
84
84
|
|
|
85
85
|
Discover what's available (no daemon needed for these two):
|
|
86
86
|
```bash
|
|
87
|
-
pw vault-secrets # secret titles, e.g.
|
|
87
|
+
pw vault-secrets # secret titles, e.g. ACME_EMAIL [email]
|
|
88
88
|
pw vault-profiles # named profiles + their envVar -> secret mappings
|
|
89
89
|
```
|
|
90
90
|
Fill / type a single secret into the current page:
|
|
91
91
|
```bash
|
|
92
|
-
pw secure-fill --secret "
|
|
93
|
-
pw secure-type --secret "
|
|
92
|
+
pw secure-fill --secret "ACME_EMAIL" --selector "input[type=email]"
|
|
93
|
+
pw secure-type --secret "ACME_PASSWORD" --selector "input[type=password]" --enter
|
|
94
94
|
```
|
|
95
95
|
Navigate to a URL stored in the vault (the address is never printed — use it when the target URL itself is sensitive, e.g. an internal portal with a token/tenant in the path):
|
|
96
96
|
```bash
|
|
97
|
-
pw secure-navigate --secret "
|
|
98
|
-
pw secure-navigate --profile "
|
|
97
|
+
pw secure-navigate --secret "ACME_PORTAL_URL"
|
|
98
|
+
pw secure-navigate --profile "Acme" --envVar "URL" # --envVar defaults to URL
|
|
99
99
|
```
|
|
100
100
|
Run a whole multi-step login from a profile:
|
|
101
101
|
```bash
|
|
102
|
-
pw secure-auth --profile "
|
|
102
|
+
pw secure-auth --profile "Acme" --json '{"steps":[
|
|
103
103
|
{"selector":"input[type=email]","envVar":"EMAIL","action":"fill","pressEnterAfter":true,"waitMs":3000},
|
|
104
104
|
{"selector":"input[type=password]","envVar":"PASSWORD","action":"type","pressEnterAfter":true}
|
|
105
105
|
]}'
|
|
@@ -65,7 +65,10 @@ You are repairing **Sensorium itself** (this MCP server + its .NET supervisor)
|
|
|
65
65
|
- **Duplicate thread spawns.** Keeper checks the root threadId but `start_thread` creates a worker with a different id → always "not running" → re-spawns. Fix: track the worker id from the `start_thread` response.
|
|
66
66
|
- **Copilot process dies / no memory.** `copilot.bat` (VS Code wrapper) spawned detached dies silently — prefer `copilot.exe`; and a missing `thread_id` column crashed bootstrap. See critical-fixes-log.
|
|
67
67
|
- **Reads but no reply — Claude worker answers into invisible stdout.** 👀 is set on message *consume*, not on reply (so 👀 ≠ answered). With Claude tool search active, reply tools (`report_progress`/`send_voice`/`send_message_to_thread`) are deferred, so a conversational agent emits answers as plain `text` → its stdout transcript, never delivered. Signature: `server.log` `Read N messages … Processing…` with no following delivery `tool_use`. First rule out routing (operator's topic must equal the thread's `thread_registry.telegram_topic_id`; inbound `resolveThreadForTopic`/outbound `resolveTelegramTopicId` are symmetric). Fix: `ENABLE_TOOL_SEARCH=false` so tools load upfront, then **respawn the worker** (see Deploy).
|
|
68
|
-
- **Self-update port-handoff race (real but often MIS-attributed — do not over-chase).** In theory a new node self-registers its pid asynchronously, so `server.pid` can transiently name a dead pid while HTTP is healthy. BUT the self-update poller is gated behind a ~10-min min-uptime **AND** `remoteVersion !== currentVersion`, so at the latest published version it is a silent no-op. Before blaming self-update, confirm it is ACTUALLY firing: look for `[self-update]
|
|
68
|
+
- **Self-update port-handoff race (real but often MIS-attributed — do not over-chase).** In theory a new node self-registers its pid asynchronously, so `server.pid` can transiently name a dead pid while HTTP is healthy. BUT the self-update poller is gated behind a ~10-min min-uptime **AND** `remoteVersion !== currentVersion`, so at the latest published version it is a silent no-op. Before blaming self-update, confirm it is ACTUALLY firing: look for `[self-update] Channel version changed` / `Closing HTTP server` and a non-empty `update-spawn.log`; a `[self-update] Deferring — uptime …s < min 600s` line proves it is NOT updating. In practice the recent restart loops were **event-loop freeze** (heavy startup work) and **network outages to Telegram**, not self-update.
|
|
69
|
+
- **False `hung-mcp-restart` from a stale probe socket.** The supervisor's liveness probe (`OPTIONS /mcp`, `McpClient.IsServerReadyAsync`) reused a **dead keep-alive socket** from the pooled `HttpClient` after a prior restart, so it failed at the connection level (~2s) while the server was healthy and serving `POST /mcp` — `HealthFailThresh` such failures → needless restart + `hung-mcp-restart` maintenance flag. Tell-tale: `report_progress`/tool calls succeed within seconds of the `not responding to HTTP` verdict, AND a **freshly spawned replacement also fails the probe for ~2 min** while `POST /mcp` returns 200. Fix: force a fresh connection on the probe (`req.Headers.ConnectionClose = true`) and cross-check thread activity before killing. The same stale-probe defect also flapped supervisor `/ready` 503 (per-request live probe, no hysteresis) → debounced with a 15s last-good window.
|
|
70
|
+
- **Full briefing after a supervisor-triggered restart = missing reconnect snapshot.** `start_session` gives a *lightweight* reconnect only if the maintenance flag OR the `active-sessions.json` snapshot is present. Self-update writes the snapshot in-process; but supervisor force-restarts (`taskkill /F` for hung/dead/orphan/cmd) deliver **no signal**, so the graceful `shutdown()` snapshot never runs, and the supervisor's `POST /api/prepare-shutdown` used to be a **404 no-op**. Result: reconnecting workers that still have context get a full re-briefing (token/time waste, mass-reconnect freeze risk). Symptom: `preexisting but no reconnect signal (maintenance=false, snapshot=false) — full briefing` + `[reconnect-snapshot] Miss`. Fix: implement `POST /api/prepare-shutdown` to write the snapshot (one endpoint covers all force-restart paths).
|
|
71
|
+
- **Post-restart reconnect fragility.** The `hung-mcp-restart` maintenance response makes the AGENT run a *blocking* PowerShell poll of supervisor `/ready` (8848), then manually `start_session`. While in that poll the worker is blind to the operator, and the only recovery net is the keeper's **~1h** stuck threshold (by design: `wait_for_instructions` long-polls refresh the heartbeat, so 1h avoids false-killing idle workers). A worker that never cleanly reconnects looks frozen for up to an hour — **respawn it to recover fast**.
|
|
69
72
|
|
|
70
73
|
## Emergency stop & restart
|
|
71
74
|
|
|
@@ -11,4 +11,4 @@ replaces_orchestrator: true
|
|
|
11
11
|
- `duration` (required): Time to sleep in seconds. Set the command timeout to this value as well.
|
|
12
12
|
|
|
13
13
|
# Sleep Skill
|
|
14
|
-
Call powershell's `Start-Sleep` for a {{duration}} via
|
|
14
|
+
Call powershell's `Start-Sleep` for a {{duration}} via your command-execution tools. Set command timeout equal to {{duration}}. This helps you to survive server restarts.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/chat-ui/src/main.ts"],"names":[],"mappings":""}
|
package/dist/chat-ui/src/main.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/chat-ui/src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,GAAG,MAAM,WAAW,CAAA;AAE3B,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/chat-ui/src/markdown.ts"],"names":[],"mappings":"AAOA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4CnD"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
function escapeHtml(text) {
|
|
2
|
-
return text
|
|
3
|
-
.replace(/&/g, '&')
|
|
4
|
-
.replace(/</g, '<')
|
|
5
|
-
.replace(/>/g, '>');
|
|
6
|
-
}
|
|
7
|
-
export function renderMarkdown(text) {
|
|
8
|
-
const codeBlocks = [];
|
|
9
|
-
let result = text.replace(/```(\w*)\n?([\s\S]*?)```/g, (_match, lang, code) => {
|
|
10
|
-
const idx = codeBlocks.length;
|
|
11
|
-
const escaped = escapeHtml(code.trim());
|
|
12
|
-
const langLabel = lang ? `<span class="code-lang">${escapeHtml(lang)}</span>` : '';
|
|
13
|
-
codeBlocks.push(`<div class="code-block">${langLabel}<pre><code>${escaped}</code></pre></div>`);
|
|
14
|
-
return `\x00CB${idx}\x00`;
|
|
15
|
-
});
|
|
16
|
-
const inlineCodes = [];
|
|
17
|
-
result = result.replace(/`([^`\n]+)`/g, (_match, code) => {
|
|
18
|
-
const idx = inlineCodes.length;
|
|
19
|
-
inlineCodes.push(`<code class="inline-code">${escapeHtml(code)}</code>`);
|
|
20
|
-
return `\x00IC${idx}\x00`;
|
|
21
|
-
});
|
|
22
|
-
result = escapeHtml(result);
|
|
23
|
-
result = result.replace(/\x00CB(\d+)\x00/g, (_m, idx) => codeBlocks[parseInt(idx)]);
|
|
24
|
-
result = result.replace(/\x00IC(\d+)\x00/g, (_m, idx) => inlineCodes[parseInt(idx)]);
|
|
25
|
-
result = result.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>');
|
|
26
|
-
result = result.replace(/\*(.+?)\*/g, '<em>$1</em>');
|
|
27
|
-
result = result.replace(/__(.+?)__/g, '<strong>$1</strong>');
|
|
28
|
-
result = result.replace(/_(.+?)_/g, '<em>$1</em>');
|
|
29
|
-
result = result.replace(/~~(.+?)~~/g, '<del>$1</del>');
|
|
30
|
-
result = result.replace(/\[([^\]]+)\]\((https?:\/\/[^\)]+)\)/g, '<a href="$2" target="_blank" rel="noopener">$1</a>');
|
|
31
|
-
result = result.replace(/(https?:\/\/[^\s<]+)/g, (url) => {
|
|
32
|
-
if (url.includes('</a>') || url.includes('href="'))
|
|
33
|
-
return url;
|
|
34
|
-
return `<a href="${url}" target="_blank" rel="noopener">${url}</a>`;
|
|
35
|
-
});
|
|
36
|
-
result = result.replace(/\n/g, '<br>');
|
|
37
|
-
return result;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=markdown.js.map
|