sensorium-mcp 3.0.103 → 3.1.0-refactor.1
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 +9 -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} +151 -30
- 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/sensorium-repair.default.md +1 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-spawn.service.js","sourceRoot":"","sources":["../../src/services/claude-spawn.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"claude-spawn.service.js","sourceRoot":"","sources":["../../src/services/claude-spawn.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-spawn.service.d.ts","sourceRoot":"","sources":["../../src/services/codex-spawn.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"codex-spawn.service.d.ts","sourceRoot":"","sources":["../../src/services/codex-spawn.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAK3B,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,IAC4C,CAAC;AA6E1F,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,sBAAsB,EACvC,gBAAgB,CAAC,EAAE,MAAM,EACzB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAC/B,WAAW,CAqEb"}
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
* discovery on Windows) and the Codex `exec` process launch.
|
|
4
4
|
*/
|
|
5
5
|
import { spawn, spawnSync } from "node:child_process";
|
|
6
|
-
import { existsSync,
|
|
6
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
7
7
|
import { homedir } from "node:os";
|
|
8
8
|
import { join } from "node:path";
|
|
9
|
-
import { log } from "../logger.js";
|
|
10
|
-
import {
|
|
11
|
-
import { PROCESS_BASE_DIR, THREAD_LOGS_DIR } from "./process.service.js";
|
|
9
|
+
import { log } from "../lib/logger.js";
|
|
10
|
+
import { PROCESS_BASE_DIR } from "./process.service.js";
|
|
12
11
|
import { buildCodexMcpArgs } from "./mcp-config.service.js";
|
|
13
|
-
import { sanitizeSpawnEnv, resolveCliPath, resolveWindowsCliPath,
|
|
12
|
+
import { sanitizeSpawnEnv, resolveCliPath, resolveWindowsCliPath, normalizeWorkingDirectory, checkSpawnPreconditions, buildThreadLogPath, detachedChildOptions, launchAgentChild, } from "./spawn-common.js";
|
|
14
13
|
const CODEX_HOME_DIR = join(PROCESS_BASE_DIR, "codex-home");
|
|
15
14
|
const DEFAULT_CODEX_MODEL = "";
|
|
16
15
|
export const resolveCodexPath = () => process.platform === "win32" ? resolveWindowsCliPath("codex") : resolveCliPath("codex");
|
|
@@ -30,7 +29,9 @@ const resolveCodexNodeExe = () => {
|
|
|
30
29
|
const nodeDir = join(voltaImage, "node");
|
|
31
30
|
if (!existsSync(nodeDir))
|
|
32
31
|
return null;
|
|
33
|
-
const versions = readdirSync(nodeDir)
|
|
32
|
+
const versions = readdirSync(nodeDir)
|
|
33
|
+
.filter((v) => /^\d+\.\d+\.\d+$/.test(v))
|
|
34
|
+
.sort((a, b) => b.localeCompare(a, undefined, { numeric: true }));
|
|
34
35
|
for (const version of versions) {
|
|
35
36
|
const nodeExe = join(nodeDir, version, "node.exe");
|
|
36
37
|
if (existsSync(nodeExe))
|
|
@@ -58,49 +59,60 @@ const resolveCodexExe = () => {
|
|
|
58
59
|
}
|
|
59
60
|
};
|
|
60
61
|
export function spawnCodexProcess(codexPath, name, threadId, threadLifecycle, workingDirectory, memorySourceThreadId, threadType) {
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
63
|
-
return
|
|
64
|
-
const transport = parseSensoriumTransport();
|
|
65
|
-
if (!transport)
|
|
66
|
-
return { error: `MCP_HTTP_PORT env var is not set or invalid (got: '${process.env.MCP_HTTP_PORT ?? ''}'). Codex threads require HTTP transport.` };
|
|
62
|
+
const pre = checkSpawnPreconditions("Codex");
|
|
63
|
+
if ("error" in pre)
|
|
64
|
+
return pre;
|
|
67
65
|
workingDirectory = normalizeWorkingDirectory(workingDirectory);
|
|
68
|
-
const
|
|
69
|
-
const logFilePath = join(THREAD_LOGS_DIR, `${safeName}_${threadId}_${new Date().toISOString().slice(0, 10)}.jsonl`);
|
|
66
|
+
const logFilePath = buildThreadLogPath(name, threadId, "jsonl");
|
|
70
67
|
const prompt = `You are an AUTONOMOUS AGENT running an INFINITE polling loop. You MUST NEVER STOP.\n\nStep 1: Call start_session(name='${name}', threadId=${threadId}, agentType='codex'). Use threadId=${threadId} for all subsequent calls.\nStep 2: Call remote_copilot_wait_for_instructions(threadId=${threadId}).\nStep 3: Read the response:\n - If it says "MANDATORY ACTION" or "No new instructions" - call remote_copilot_wait_for_instructions AGAIN immediately.\n - If you receive a task - complete it using your tools, then call remote_copilot_wait_for_instructions again.\nStep 4: GOTO Step 2. This loop NEVER ends. You are NEVER done.\n\nCRITICAL: "No new instructions" is NOT a signal to stop. It means "keep waiting". Always call the tool again.`;
|
|
71
68
|
const model = process.env.CODEX_MODEL || DEFAULT_CODEX_MODEL;
|
|
72
|
-
const { args: mcpArgs, env: mcpEnv } = buildCodexMcpArgs(transport, threadId);
|
|
73
|
-
const cliArgs = [
|
|
69
|
+
const { args: mcpArgs, env: mcpEnv } = buildCodexMcpArgs(pre.transport, threadId);
|
|
70
|
+
const cliArgs = [
|
|
71
|
+
"exec",
|
|
72
|
+
"--dangerously-bypass-approvals-and-sandbox",
|
|
73
|
+
"--skip-git-repo-check",
|
|
74
|
+
...(model ? ["-m", model] : []),
|
|
75
|
+
"--json",
|
|
76
|
+
...mcpArgs,
|
|
77
|
+
"-",
|
|
78
|
+
];
|
|
74
79
|
if (workingDirectory)
|
|
75
80
|
cliArgs.splice(1, 0, "-C", workingDirectory);
|
|
76
|
-
const spawnEnv = sanitizeSpawnEnv({
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
const spawnEnv = sanitizeSpawnEnv({
|
|
82
|
+
...(memorySourceThreadId !== undefined
|
|
83
|
+
? { MEMORY_SOURCE_THREAD_ID: String(memorySourceThreadId) }
|
|
84
|
+
: {}),
|
|
85
|
+
...(pre.transport.secret ? { SENSORIUM_MCP_SECRET: pre.transport.secret } : {}),
|
|
86
|
+
...mcpEnv,
|
|
87
|
+
});
|
|
88
|
+
return launchAgentChild({
|
|
89
|
+
threadId,
|
|
90
|
+
name,
|
|
91
|
+
logFilePath,
|
|
92
|
+
configPath: CODEX_HOME_DIR,
|
|
93
|
+
agentLabel: "Codex",
|
|
94
|
+
memorySourceThreadId,
|
|
95
|
+
threadType,
|
|
96
|
+
spawnChild: (outFd) => {
|
|
97
|
+
const nativeExe = resolveCodexExe();
|
|
98
|
+
const nodeExeResult = !nativeExe && process.platform === "win32" && /\.(cmd|bat)$/i.test(codexPath)
|
|
99
|
+
? resolveCodexNodeExe()
|
|
100
|
+
: null;
|
|
101
|
+
// stdin stays a pipe — the autonomous-loop prompt is delivered over it below.
|
|
102
|
+
const child = nativeExe
|
|
103
|
+
? spawn(nativeExe, cliArgs, detachedChildOptions(nativeExe, outFd, spawnEnv, workingDirectory, "pipe"))
|
|
104
|
+
: nodeExeResult
|
|
105
|
+
? spawn(nodeExeResult.nodeExe, [nodeExeResult.codexJs, ...cliArgs], detachedChildOptions(nodeExeResult.nodeExe, outFd, spawnEnv, workingDirectory, "pipe"))
|
|
106
|
+
: spawn(codexPath, cliArgs, detachedChildOptions(codexPath, outFd, spawnEnv, workingDirectory, "pipe"));
|
|
86
107
|
try {
|
|
87
108
|
child.stdin?.write(prompt + "\n");
|
|
88
109
|
child.stdin?.end();
|
|
89
110
|
}
|
|
90
|
-
catch {
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
finally {
|
|
94
|
-
try {
|
|
95
|
-
closeSync(outFd);
|
|
96
|
-
}
|
|
97
|
-
catch (err) {
|
|
98
|
-
log.debug(`[spawn] closeSync log fd failed for thread ${threadId}: ${errorMessage(err)}`);
|
|
111
|
+
catch {
|
|
112
|
+
/* child died at spawn — the exit handler reports it */
|
|
99
113
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return { error: `Failed to spawn Codex process: ${errorMessage(err)}` };
|
|
104
|
-
}
|
|
114
|
+
return child;
|
|
115
|
+
},
|
|
116
|
+
}, threadLifecycle);
|
|
105
117
|
}
|
|
106
118
|
//# sourceMappingURL=codex-spawn.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-spawn.service.js","sourceRoot":"","sources":["../../src/services/codex-spawn.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"codex-spawn.service.js","sourceRoot":"","sources":["../../src/services/codex-spawn.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consolidation LLM prompts — episode text extraction and prompt builders
|
|
3
|
+
* for the extract / supersede / link pipeline steps.
|
|
4
|
+
*/
|
|
5
|
+
import { getUnconsolidatedEpisodes } from "../data/memory/episodes.js";
|
|
6
|
+
export type SupersedeBatchItem = {
|
|
7
|
+
noteIndex: number;
|
|
8
|
+
content: string;
|
|
9
|
+
candidates: Array<{
|
|
10
|
+
noteId: string;
|
|
11
|
+
type: string;
|
|
12
|
+
confidence: number;
|
|
13
|
+
content: string;
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
export declare function buildExtractionPrompt(episodes: ReturnType<typeof getUnconsolidatedEpisodes>): string;
|
|
17
|
+
export declare function buildSupersedePrompt(batch: SupersedeBatchItem[]): string;
|
|
18
|
+
export declare function buildLinkingPrompt(newNote: {
|
|
19
|
+
noteId: string;
|
|
20
|
+
content: string;
|
|
21
|
+
}, neighbors: Array<{
|
|
22
|
+
noteId: string;
|
|
23
|
+
type: string;
|
|
24
|
+
content: string;
|
|
25
|
+
}>): string;
|
|
26
|
+
//# sourceMappingURL=consolidation-prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consolidation-prompts.d.ts","sourceRoot":"","sources":["../../src/services/consolidation-prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAoBvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1F,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,GACrD,MAAM,CAkER;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAiCxE;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5C,SAAS,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAClE,MAAM,CAsBR"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consolidation LLM prompts — episode text extraction and prompt builders
|
|
3
|
+
* for the extract / supersede / link pipeline steps.
|
|
4
|
+
*/
|
|
5
|
+
function extractEpisodeText(episodes) {
|
|
6
|
+
return episodes
|
|
7
|
+
.map((episode, index) => {
|
|
8
|
+
const contentRecord = episode.content;
|
|
9
|
+
let content;
|
|
10
|
+
if (contentRecord && typeof contentRecord === "object") {
|
|
11
|
+
content =
|
|
12
|
+
contentRecord.text ??
|
|
13
|
+
contentRecord.caption ??
|
|
14
|
+
JSON.stringify(contentRecord);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
content = JSON.stringify(episode.content);
|
|
18
|
+
}
|
|
19
|
+
return `[${index + 1}] (${episode.type}/${episode.modality}, ${episode.timestamp}) ${content}`;
|
|
20
|
+
})
|
|
21
|
+
.join("\n");
|
|
22
|
+
}
|
|
23
|
+
export function buildExtractionPrompt(episodes) {
|
|
24
|
+
const episodesText = extractEpisodeText(episodes);
|
|
25
|
+
return `You are a memory consolidation agent. Extract ONLY actionable, durable knowledge from these episodes. Quality over quantity — fewer, better notes.
|
|
26
|
+
|
|
27
|
+
Episodes:
|
|
28
|
+
${episodesText}
|
|
29
|
+
|
|
30
|
+
Output a JSON object with:
|
|
31
|
+
{
|
|
32
|
+
"notes": [
|
|
33
|
+
{
|
|
34
|
+
"type": "fact" | "preference" | "pattern" | "entity",
|
|
35
|
+
"content": "One clear, actionable sentence",
|
|
36
|
+
"keywords": ["keyword1", "keyword2", "keyword3"],
|
|
37
|
+
"confidence": 0.0-1.0,
|
|
38
|
+
"priority": 0 | 1 | 2,
|
|
39
|
+
"quality_score": 1-5
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
ACTIONABILITY TEST — apply to every note before including it:
|
|
45
|
+
- Facts must answer: "What should the agent DO with this information?" If a fact is just "X was discussed" or "Y happened" with no implication for future behavior, do NOT extract it.
|
|
46
|
+
- Preferences must be testable: "Given situation X, the operator wants Y." Vague preferences like "prefers quality" are useless — specify the concrete behavior.
|
|
47
|
+
- If a note doesn't change how the agent acts in a future session, it's not worth saving. Prefer zero notes over low-quality notes.
|
|
48
|
+
|
|
49
|
+
BANNED content — do NOT extract:
|
|
50
|
+
- Notes about the memory system, consolidation, audits, reflection quality, or memory management
|
|
51
|
+
- Self-assessments or meta-observations about the agent's own behavior ("I tend to...", "I regularly...")
|
|
52
|
+
- Passive observations that don't inform decisions ("a discussion occurred", "code was reviewed")
|
|
53
|
+
- Transient status ("currently working on X", "PR is open", "tests passing")
|
|
54
|
+
- Point-in-time state / counters / metrics: "audio ingested with 789 transcriptions", "monthly cost ~$33", "42 files processed", any note whose value is a snapshot number that will be different next week. If the number is a live counter or balance rather than a fixed decision/threshold, do NOT extract it.
|
|
55
|
+
- Future-tense plans / intentions: "will implement", "plans to", "going to", "intends to", "is about to". Plans belong in tasks, not durable memory. Only extract an action after it happened and had an outcome.
|
|
56
|
+
- Reconstructable git history: commit hashes, "commit df10c39 added…", "the fix was implemented in <sha>", "PR #123 merged". Git log/blame is authoritative — never store what a commit hash would tell you. Store the durable decision or constraint, not the commit event.
|
|
57
|
+
|
|
58
|
+
EXCEPTION: If the operator explicitly corrected the agent's behavior, extract that correction as a preference.
|
|
59
|
+
|
|
60
|
+
TYPE RULES:
|
|
61
|
+
- fact: Durable knowledge about the project, codebase, architecture, people, or external world
|
|
62
|
+
- preference: Operator's explicit or strongly implied preference for how things should be done
|
|
63
|
+
- pattern: Recurring behavior or decision pattern that predicts future situations
|
|
64
|
+
- entity: Named entity (person, project, service) with identifying attributes
|
|
65
|
+
|
|
66
|
+
PRIORITY DETECTION:
|
|
67
|
+
- priority 2: operator says "important", "crucial", "don't forget", shows strong emotional investment
|
|
68
|
+
- priority 1: operator says "would be nice", "should", mentions something repeatedly
|
|
69
|
+
- priority 0: default for routine facts
|
|
70
|
+
|
|
71
|
+
QUALITY SCORE (quality_score):
|
|
72
|
+
- 1: Vague or useless — generic statement with no actionable implication
|
|
73
|
+
- 2: Weak — some value but missing context or specificity
|
|
74
|
+
- 3: Acceptable — actionable but not particularly memorable
|
|
75
|
+
- 4: Good — specific, actionable, with context or motivation
|
|
76
|
+
- 5: Highly actionable — captures a decision, constraint, or pattern with full context and clear behavioral implication
|
|
77
|
+
Assign honestly. A score below 3 flags the note for monitoring — do NOT use this to suppress extraction; assign a low score and let the system decide.
|
|
78
|
+
|
|
79
|
+
CONTENT QUALITY:
|
|
80
|
+
- Name specific components, features, versions, or decisions — never "a bug fix was completed"
|
|
81
|
+
- Capture WHY (motivation/context), not just WHAT. Include outcome if known
|
|
82
|
+
- If neither WHY nor outcome is available, the note is probably not worth extracting
|
|
83
|
+
- Include dates when they pin a decision (e.g. "On April 15 the operator chose X"). Dates that anchor a durable decision stay; dates that merely log that an event happened do not.
|
|
84
|
+
- Return {"notes": []} if nothing actionable
|
|
85
|
+
|
|
86
|
+
SPECIFICITY GATE — apply to every note before including it:
|
|
87
|
+
- Every note MUST contain at least one specific anchor: a file name, component, person name, config key, or fixed threshold value. A commit hash does NOT count as specificity. If you cannot name something specific, do not create the note.
|
|
88
|
+
- Do NOT create notes that merely say "X was completed" or "Y was done." If something was completed, state WHAT specifically was done — which files changed, what bug was fixed, what the outcome was. Headlines without substance are useless.`;
|
|
89
|
+
}
|
|
90
|
+
export function buildSupersedePrompt(batch) {
|
|
91
|
+
const notesSection = batch
|
|
92
|
+
.map((item) => `[${item.noteIndex}] New: "${item.content}"\n` +
|
|
93
|
+
(item.candidates.length > 0
|
|
94
|
+
? ` Candidates:\n${item.candidates.map((c) => ` [${c.noteId}] (${c.type}, conf: ${c.confidence}) ${c.content}`).join("\n")}`
|
|
95
|
+
: ` Candidates: none`))
|
|
96
|
+
.join("\n\n");
|
|
97
|
+
return `You are a memory-freshness detector. For each new note, decide whether it makes any of its candidate existing notes stale.
|
|
98
|
+
|
|
99
|
+
${notesSection}
|
|
100
|
+
|
|
101
|
+
Output a JSON object:
|
|
102
|
+
{
|
|
103
|
+
"results": [
|
|
104
|
+
{ "noteIndex": 0, "verdict": "contradict", "targetNoteId": "sn_xxx", "reason": "Why the candidate is now outdated" },
|
|
105
|
+
{ "noteIndex": 1, "verdict": "obsolete", "targetNoteId": "sn_yyy", "reason": "Same subject, but the new note reflects a later reality" },
|
|
106
|
+
{ "noteIndex": 2, "verdict": "keep" }
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
Verdicts (choose exactly one per note index):
|
|
111
|
+
- "contradict": the new note explicitly contradicts, updates, or replaces a candidate (e.g., newer value, completed/abandoned project, changed preference, updated version). The new note is MORE RECENT than the candidate.
|
|
112
|
+
- "obsolete": the new note does not directly contradict a candidate, but makes it OUTDATED — same subject, and the new note reflects a later reality that supersedes the candidate's still-true-sounding claim.
|
|
113
|
+
- "keep": the new note adds different information without invalidating any candidate, OR no candidates are listed.
|
|
114
|
+
|
|
115
|
+
Rules:
|
|
116
|
+
- Output exactly one result per note index, in ascending order.
|
|
117
|
+
- For "contradict" and "obsolete" you MUST include targetNoteId and reason.
|
|
118
|
+
- Only one candidate can be targeted per new note (the most directly affected one).
|
|
119
|
+
- When unsure, prefer "keep".`;
|
|
120
|
+
}
|
|
121
|
+
export function buildLinkingPrompt(newNote, neighbors) {
|
|
122
|
+
const neighborsSection = neighbors
|
|
123
|
+
.map((n) => `[${n.noteId}] (${n.type}) ${n.content}`)
|
|
124
|
+
.join("\n");
|
|
125
|
+
return `You are a causal link detector for a memory system. Determine if any of these existing notes are causally related to the new note.
|
|
126
|
+
|
|
127
|
+
New note: "${newNote.content}"
|
|
128
|
+
|
|
129
|
+
Existing notes to compare:
|
|
130
|
+
${neighborsSection}
|
|
131
|
+
|
|
132
|
+
Output a JSON object:
|
|
133
|
+
{
|
|
134
|
+
"links": [
|
|
135
|
+
{ "noteId": "sn_xxx", "reason": "Brief causal relationship — one caused the other, or they are part of the same chain" }
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
Rules:
|
|
140
|
+
- Only include notes where there is a CLEAR causal or sequential relationship (one caused the other, one is a consequence of the other, or they are part of the same decision chain)
|
|
141
|
+
- Do NOT link notes that are merely on the same topic or share keywords — the relationship must be directional and causal
|
|
142
|
+
- If no causal relationships exist, output { "links": [] }`;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=consolidation-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consolidation-prompts.js","sourceRoot":"","sources":["../../src/services/consolidation-prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,SAAS,kBAAkB,CAAC,QAAsD;IAChF,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAkC,CAAC;QACjE,IAAI,OAAe,CAAC;QACpB,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO;gBACJ,aAAa,CAAC,IAAe;oBAC7B,aAAa,CAAC,OAAkB;oBACjC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;IACjG,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAQD,MAAM,UAAU,qBAAqB,CACnC,QAAsD;IAEtD,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO;;;EAGP,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gPA4DkO,CAAC;AACjP,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,MAAM,YAAY,GAAG,KAAK;SACvB,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,OAAO,KAAK;QAC9C,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpI,CAAC,CAAC,sBAAsB,CAAC,CAC9B;SACA,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO;;EAEP,YAAY;;;;;;;;;;;;;;;;;;;;8BAoBgB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA4C,EAC5C,SAAmE;IAEnE,MAAM,gBAAgB,GAAG,SAAS;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACpD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;aAEI,OAAO,CAAC,OAAO;;;EAG1B,gBAAgB;;;;;;;;;;;;2DAYyC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Database } from "../data/memory/schema.js";
|
|
2
|
-
import { type ConsolidationReport
|
|
2
|
+
import { type ConsolidationReport } from "../data/memory/consolidation.js";
|
|
3
3
|
export declare function runConsolidationAllThreads(db: Database, options?: {
|
|
4
4
|
maxEpisodesPerThread?: number;
|
|
5
5
|
dryRun?: boolean;
|
|
@@ -9,8 +9,4 @@ export declare function runIntelligentConsolidation(db: Database, threadId: numb
|
|
|
9
9
|
dryRun?: boolean;
|
|
10
10
|
_skipLock?: boolean;
|
|
11
11
|
}): Promise<ConsolidationReport>;
|
|
12
|
-
export declare function runMemoryPruning(db: Database, options?: {
|
|
13
|
-
maxNotes?: number;
|
|
14
|
-
dryRun?: boolean;
|
|
15
|
-
}): Promise<PruningReport>;
|
|
16
12
|
//# sourceMappingURL=consolidation.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidation.service.d.ts","sourceRoot":"","sources":["../../src/services/consolidation.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"consolidation.service.d.ts","sourceRoot":"","sources":["../../src/services/consolidation.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASzD,OAAO,EAEL,KAAK,mBAAmB,EAOzB,MAAM,iCAAiC,CAAC;AAqEzC,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,QAAQ,EACZ,OAAO,CAAC,EAAE;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5D,OAAO,CAAC,mBAAmB,CAAC,CAqF9B;AAED,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GACxE,OAAO,CAAC,mBAAmB,CAAC,CAgd9B"}
|