sensorium-mcp 3.1.2 → 3.1.3-board.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Install-Sensorium.ps1 +257 -43
- package/README.md +2 -0
- package/dist/board/api/api.js +84 -0
- package/dist/board/api/api.test.ts +23 -0
- package/dist/board/api/client.js +113 -0
- package/dist/board/components/BottomNav.js +32 -0
- package/dist/board/components/Card.js +78 -0
- package/dist/board/components/Combobox.js +79 -0
- package/dist/board/components/CommentComposer.js +29 -0
- package/dist/board/components/CommentList.js +42 -0
- package/dist/board/components/DirTreePicker.js +128 -0
- package/dist/board/components/Dropdown.js +67 -0
- package/dist/board/components/Lane.js +47 -0
- package/dist/board/components/PriorityChip.js +20 -0
- package/dist/board/components/ProfileSummary.js +89 -0
- package/dist/board/components/StateBanner.js +24 -0
- package/dist/board/components/StatusChip.js +26 -0
- package/dist/board/components/rateLimit.js +32 -0
- package/dist/board/components/rateLimit.test.ts +16 -0
- package/dist/board/components/time.js +14 -0
- package/dist/board/config.js +56 -0
- package/dist/board/index.html +18 -0
- package/dist/board/main.js +37 -0
- package/dist/board/mock/api.mock.js +491 -0
- package/dist/board/mock/api.mock.test.ts +460 -0
- package/dist/board/mock/fixtures.js +512 -0
- package/dist/board/schema/policy.js +261 -0
- package/dist/board/state/recur.js +24 -0
- package/dist/board/state/recur.test.ts +24 -0
- package/dist/board/state/useBoard.js +161 -0
- package/dist/board/state/useBuilder.js +357 -0
- package/dist/board/state/useBuilder.test.ts +468 -0
- package/dist/board/state/useCard.js +193 -0
- package/dist/board/state/useCard.test.ts +435 -0
- package/dist/board/state/useDirBrowser.js +23 -0
- package/dist/board/styles/board.css +2885 -0
- package/dist/board/styles/tokens.css +72 -0
- package/dist/board/vendor/vue.esm-browser.js +9 -0
- package/dist/board/views/App.js +61 -0
- package/dist/board/views/BoardView.js +153 -0
- package/dist/board/views/BuilderView.js +582 -0
- package/dist/board/views/CardView.js +382 -0
- package/dist/board/views/SettingsView.js +152 -0
- package/dist/config/agent-settings.d.ts +11 -0
- package/dist/config/agent-settings.d.ts.map +1 -1
- package/dist/config/agent-settings.js +79 -0
- package/dist/config/agent-settings.js.map +1 -1
- package/dist/config/detail-grant.d.ts +7 -16
- package/dist/config/detail-grant.d.ts.map +1 -1
- package/dist/config/detail-grant.js +12 -35
- package/dist/config/detail-grant.js.map +1 -1
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +17 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-settings.d.ts +7 -1
- package/dist/config/mcp-settings.d.ts.map +1 -1
- package/dist/config/mcp-settings.js +9 -0
- package/dist/config/mcp-settings.js.map +1 -1
- package/dist/config/misc-settings.d.ts +22 -1
- package/dist/config/misc-settings.d.ts.map +1 -1
- package/dist/config/misc-settings.js +93 -3
- package/dist/config/misc-settings.js.map +1 -1
- package/dist/config/operator-grant.d.ts +9 -0
- package/dist/config/operator-grant.d.ts.map +1 -0
- package/dist/config/operator-grant.js +24 -0
- package/dist/config/operator-grant.js.map +1 -0
- package/dist/config/voice-grant.d.ts +10 -0
- package/dist/config/voice-grant.d.ts.map +1 -0
- package/dist/config/voice-grant.js +18 -0
- package/dist/config/voice-grant.js.map +1 -0
- package/dist/dashboard/board-static.d.ts +22 -0
- package/dist/dashboard/board-static.d.ts.map +1 -0
- package/dist/dashboard/board-static.js +130 -0
- package/dist/dashboard/board-static.js.map +1 -0
- 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 +6 -9
- package/dist/dashboard/routes/agent-templates.js.map +1 -1
- package/dist/dashboard/routes/board-body.d.ts +8 -0
- package/dist/dashboard/routes/board-body.d.ts.map +1 -0
- package/dist/dashboard/routes/board-body.js +20 -0
- package/dist/dashboard/routes/board-body.js.map +1 -0
- package/dist/dashboard/routes/board-dir-listing.d.ts +70 -0
- package/dist/dashboard/routes/board-dir-listing.d.ts.map +1 -0
- package/dist/dashboard/routes/board-dir-listing.js +192 -0
- package/dist/dashboard/routes/board-dir-listing.js.map +1 -0
- package/dist/dashboard/routes/board-lane-groups.d.ts +6 -0
- package/dist/dashboard/routes/board-lane-groups.d.ts.map +1 -0
- package/dist/dashboard/routes/board-lane-groups.js +52 -0
- package/dist/dashboard/routes/board-lane-groups.js.map +1 -0
- package/dist/dashboard/routes/board-policy.d.ts +224 -0
- package/dist/dashboard/routes/board-policy.d.ts.map +1 -0
- package/dist/dashboard/routes/board-policy.js +214 -0
- package/dist/dashboard/routes/board-policy.js.map +1 -0
- package/dist/dashboard/routes/board-profile-parse.d.ts +32 -0
- package/dist/dashboard/routes/board-profile-parse.d.ts.map +1 -0
- package/dist/dashboard/routes/board-profile-parse.js +338 -0
- package/dist/dashboard/routes/board-profile-parse.js.map +1 -0
- package/dist/dashboard/routes/board.d.ts +90 -0
- package/dist/dashboard/routes/board.d.ts.map +1 -0
- package/dist/dashboard/routes/board.js +721 -0
- package/dist/dashboard/routes/board.js.map +1 -0
- package/dist/dashboard/routes/codex.d.ts +14 -0
- package/dist/dashboard/routes/codex.d.ts.map +1 -0
- package/dist/dashboard/routes/codex.js +92 -0
- package/dist/dashboard/routes/codex.js.map +1 -0
- package/dist/dashboard/routes/prompts.d.ts +2 -2
- 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 +2 -0
- package/dist/dashboard/routes/settings.d.ts.map +1 -1
- package/dist/dashboard/routes/settings.js +24 -1
- package/dist/dashboard/routes/settings.js.map +1 -1
- package/dist/dashboard/routes/skills.d.ts +7 -1
- package/dist/dashboard/routes/skills.d.ts.map +1 -1
- package/dist/dashboard/routes/skills.js +6 -6
- package/dist/dashboard/routes/skills.js.map +1 -1
- package/dist/dashboard/routes/snapshots.d.ts +2 -1
- package/dist/dashboard/routes/snapshots.d.ts.map +1 -1
- package/dist/dashboard/routes/snapshots.js +24 -18
- package/dist/dashboard/routes/snapshots.js.map +1 -1
- package/dist/dashboard/routes/templates.js +5 -5
- package/dist/dashboard/routes/templates.js.map +1 -1
- package/dist/dashboard/routes/threads-create.d.ts +17 -0
- package/dist/dashboard/routes/threads-create.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-create.js +32 -10
- package/dist/dashboard/routes/threads-create.js.map +1 -1
- package/dist/dashboard/routes/threads-helpers.d.ts +11 -2
- package/dist/dashboard/routes/threads-helpers.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-helpers.js +20 -3
- package/dist/dashboard/routes/threads-helpers.js.map +1 -1
- package/dist/dashboard/routes/threads-read.d.ts +16 -4
- package/dist/dashboard/routes/threads-read.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-read.js +61 -55
- package/dist/dashboard/routes/threads-read.js.map +1 -1
- package/dist/dashboard/routes/threads.d.ts +2 -2
- package/dist/dashboard/routes/threads.d.ts.map +1 -1
- package/dist/dashboard/routes/threads.js +143 -29
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes/types.d.ts +6 -0
- 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 +2 -2
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +85 -7
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +15 -12
- package/dist/data/board/board-schema.d.ts +29 -0
- package/dist/data/board/board-schema.d.ts.map +1 -0
- package/dist/data/board/board-schema.js +202 -0
- package/dist/data/board/board-schema.js.map +1 -0
- package/dist/data/board/board-types.d.ts +175 -0
- package/dist/data/board/board-types.d.ts.map +1 -0
- package/dist/data/board/board-types.js +9 -0
- package/dist/data/board/board-types.js.map +1 -0
- package/dist/data/board/card.repository.d.ts +137 -0
- package/dist/data/board/card.repository.d.ts.map +1 -0
- package/dist/data/board/card.repository.js +470 -0
- package/dist/data/board/card.repository.js.map +1 -0
- package/dist/data/board/comment.repository.d.ts +14 -0
- package/dist/data/board/comment.repository.d.ts.map +1 -0
- package/dist/data/board/comment.repository.js +42 -0
- package/dist/data/board/comment.repository.js.map +1 -0
- package/dist/data/board/lane-group.repository.d.ts +19 -0
- package/dist/data/board/lane-group.repository.d.ts.map +1 -0
- package/dist/data/board/lane-group.repository.js +66 -0
- package/dist/data/board/lane-group.repository.js.map +1 -0
- package/dist/data/board/profile-defaults.d.ts +17 -0
- package/dist/data/board/profile-defaults.d.ts.map +1 -0
- package/dist/data/board/profile-defaults.js +107 -0
- package/dist/data/board/profile-defaults.js.map +1 -0
- package/dist/data/interfaces.d.ts +1 -0
- package/dist/data/interfaces.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.d.ts +1 -8
- package/dist/data/memory/bootstrap.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.js +27 -37
- package/dist/data/memory/bootstrap.js.map +1 -1
- package/dist/data/memory/consolidation.d.ts +9 -31
- package/dist/data/memory/consolidation.d.ts.map +1 -1
- package/dist/data/memory/consolidation.js +22 -32
- package/dist/data/memory/consolidation.js.map +1 -1
- package/dist/data/memory/db-maintenance.d.ts +54 -0
- package/dist/data/memory/db-maintenance.d.ts.map +1 -0
- package/dist/data/memory/db-maintenance.js +81 -0
- package/dist/data/memory/db-maintenance.js.map +1 -0
- package/dist/data/memory/episodes.d.ts +2 -1
- package/dist/data/memory/episodes.d.ts.map +1 -1
- package/dist/data/memory/episodes.js +5 -1
- package/dist/data/memory/episodes.js.map +1 -1
- package/dist/data/memory/index.d.ts +0 -4
- package/dist/data/memory/index.d.ts.map +1 -1
- package/dist/data/memory/index.js +0 -4
- package/dist/data/memory/index.js.map +1 -1
- package/dist/data/memory/key-knowledge.d.ts +51 -0
- package/dist/data/memory/key-knowledge.d.ts.map +1 -0
- package/dist/data/memory/key-knowledge.js +128 -0
- package/dist/data/memory/key-knowledge.js.map +1 -0
- 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 +407 -1
- package/dist/data/memory/migration-runner.js.map +1 -1
- package/dist/data/memory/narrative-lint.d.ts +2 -2
- package/dist/data/memory/narrative-lint.d.ts.map +1 -1
- package/dist/data/memory/narrative-lint.js +23 -13
- package/dist/data/memory/narrative-lint.js.map +1 -1
- package/dist/data/memory/narrative-resolutions.d.ts +9 -2
- package/dist/data/memory/narrative-resolutions.d.ts.map +1 -1
- package/dist/data/memory/narrative-resolutions.js +9 -8
- package/dist/data/memory/narrative-resolutions.js.map +1 -1
- package/dist/data/memory/narrative-sources.d.ts +1 -1
- package/dist/data/memory/narrative-sources.d.ts.map +1 -1
- package/dist/data/memory/narrative-sources.js +8 -3
- package/dist/data/memory/narrative-sources.js.map +1 -1
- package/dist/data/memory/narrative-store.d.ts +24 -0
- package/dist/data/memory/narrative-store.d.ts.map +1 -1
- package/dist/data/memory/narrative-store.js +73 -35
- package/dist/data/memory/narrative-store.js.map +1 -1
- package/dist/data/memory/narrative.d.ts.map +1 -1
- package/dist/data/memory/narrative.js +47 -29
- package/dist/data/memory/narrative.js.map +1 -1
- package/dist/data/memory/note-archival.d.ts +1 -1
- package/dist/data/memory/note-archival.d.ts.map +1 -1
- package/dist/data/memory/note-archival.js +7 -3
- package/dist/data/memory/note-archival.js.map +1 -1
- package/dist/data/memory/note-embeddings.d.ts +7 -0
- package/dist/data/memory/note-embeddings.d.ts.map +1 -1
- package/dist/data/memory/note-embeddings.js +6 -2
- package/dist/data/memory/note-embeddings.js.map +1 -1
- package/dist/data/memory/passive-notice.repository.d.ts +70 -0
- package/dist/data/memory/passive-notice.repository.d.ts.map +1 -0
- package/dist/data/memory/passive-notice.repository.js +85 -0
- package/dist/data/memory/passive-notice.repository.js.map +1 -0
- package/dist/data/memory/schema-ddl.d.ts +120 -1
- package/dist/data/memory/schema-ddl.d.ts.map +1 -1
- package/dist/data/memory/schema-ddl.js +171 -4
- package/dist/data/memory/schema-ddl.js.map +1 -1
- package/dist/data/memory/schema-guard.d.ts.map +1 -1
- package/dist/data/memory/schema-guard.js +5 -41
- package/dist/data/memory/schema-guard.js.map +1 -1
- package/dist/data/memory/schema.d.ts.map +1 -1
- package/dist/data/memory/schema.js +10 -34
- package/dist/data/memory/schema.js.map +1 -1
- package/dist/data/memory/semantic-notes.d.ts +13 -8
- package/dist/data/memory/semantic-notes.d.ts.map +1 -1
- package/dist/data/memory/semantic-notes.js +12 -17
- package/dist/data/memory/semantic-notes.js.map +1 -1
- package/dist/data/memory/thread-registry.d.ts +330 -15
- package/dist/data/memory/thread-registry.d.ts.map +1 -1
- package/dist/data/memory/thread-registry.js +523 -67
- package/dist/data/memory/thread-registry.js.map +1 -1
- package/dist/data/memory/utils.d.ts +6 -0
- package/dist/data/memory/utils.d.ts.map +1 -1
- package/dist/data/memory/utils.js +13 -0
- package/dist/data/memory/utils.js.map +1 -1
- package/dist/data/memory/worker-lifecycle.repository.d.ts +308 -0
- package/dist/data/memory/worker-lifecycle.repository.d.ts.map +1 -0
- package/dist/data/memory/worker-lifecycle.repository.js +428 -0
- package/dist/data/memory/worker-lifecycle.repository.js.map +1 -0
- package/dist/data/optional.d.ts +16 -0
- package/dist/data/optional.d.ts.map +1 -0
- package/dist/data/optional.js +47 -0
- package/dist/data/optional.js.map +1 -0
- package/dist/index.js +156 -24
- package/dist/index.js.map +1 -1
- package/dist/integrations/openai/speech.d.ts.map +1 -1
- package/dist/integrations/openai/speech.js +52 -19
- package/dist/integrations/openai/speech.js.map +1 -1
- package/dist/integrations/openai/video.d.ts +1 -1
- package/dist/integrations/openai/video.d.ts.map +1 -1
- package/dist/integrations/openai/video.js +13 -8
- package/dist/integrations/openai/video.js.map +1 -1
- package/dist/integrations/telegram/types.d.ts +11 -0
- package/dist/integrations/telegram/types.d.ts.map +1 -1
- package/dist/lib/http-retry.d.ts +91 -0
- package/dist/lib/http-retry.d.ts.map +1 -0
- package/dist/lib/http-retry.js +177 -0
- package/dist/lib/http-retry.js.map +1 -0
- package/dist/lib/mcp-http-port.d.ts +12 -0
- package/dist/lib/mcp-http-port.d.ts.map +1 -0
- package/dist/lib/mcp-http-port.js +19 -0
- package/dist/lib/mcp-http-port.js.map +1 -0
- package/dist/lib/paths.d.ts +29 -4
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/paths.js +31 -4
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/types.d.ts +2 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/usage-metering/pricing.js +1 -1
- package/dist/lib/usage-metering/pricing.js.map +1 -1
- package/dist/lib/usage-metering/sink.d.ts +4 -0
- package/dist/lib/usage-metering/sink.d.ts.map +1 -1
- package/dist/lib/usage-metering/sink.js +6 -4
- package/dist/lib/usage-metering/sink.js.map +1 -1
- package/dist/lib/utils.d.ts +31 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +49 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/llm/prompts/narrative.d.ts.map +1 -1
- package/dist/llm/prompts/narrative.js +27 -86
- package/dist/llm/prompts/narrative.js.map +1 -1
- package/dist/log-parsing/log-events.d.ts +38 -0
- package/dist/log-parsing/log-events.d.ts.map +1 -0
- package/dist/log-parsing/log-events.js +2 -0
- package/dist/log-parsing/log-events.js.map +1 -0
- package/dist/log-parsing/parser-registry.d.ts +4 -0
- package/dist/log-parsing/parser-registry.d.ts.map +1 -0
- package/dist/log-parsing/parser-registry.js +18 -0
- package/dist/log-parsing/parser-registry.js.map +1 -0
- package/dist/log-parsing/parsers/claude.d.ts +6 -0
- package/dist/log-parsing/parsers/claude.d.ts.map +1 -0
- package/dist/log-parsing/parsers/claude.js +100 -0
- package/dist/log-parsing/parsers/claude.js.map +1 -0
- package/dist/log-parsing/parsers/codex.d.ts +6 -0
- package/dist/log-parsing/parsers/codex.d.ts.map +1 -0
- package/dist/log-parsing/parsers/codex.js +116 -0
- package/dist/log-parsing/parsers/codex.js.map +1 -0
- package/dist/log-parsing/parsers/copilot.d.ts +6 -0
- package/dist/log-parsing/parsers/copilot.d.ts.map +1 -0
- package/dist/log-parsing/parsers/copilot.js +65 -0
- package/dist/log-parsing/parsers/copilot.js.map +1 -0
- package/dist/log-parsing/parsers/json-lines.d.ts +9 -0
- package/dist/log-parsing/parsers/json-lines.d.ts.map +1 -0
- package/dist/log-parsing/parsers/json-lines.js +25 -0
- package/dist/log-parsing/parsers/json-lines.js.map +1 -0
- package/dist/log-parsing/render.d.ts +33 -0
- package/dist/log-parsing/render.d.ts.map +1 -0
- package/dist/log-parsing/render.js +113 -0
- package/dist/log-parsing/render.js.map +1 -0
- package/dist/log-parsing/text.d.ts +8 -0
- package/dist/log-parsing/text.d.ts.map +1 -0
- package/dist/log-parsing/text.js +20 -0
- package/dist/log-parsing/text.js.map +1 -0
- package/dist/server/http-server.d.ts +8 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +41 -19
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/port-holder.d.ts +94 -0
- package/dist/server/port-holder.d.ts.map +1 -0
- package/dist/server/port-holder.js +122 -0
- package/dist/server/port-holder.js.map +1 -0
- package/dist/services/agent-spawn.service.d.ts +50 -5
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +59 -66
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/background-runner.d.ts +0 -1
- package/dist/services/background-runner.d.ts.map +1 -1
- package/dist/services/background-runner.js +0 -58
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/board/board-signals.d.ts +45 -0
- package/dist/services/board/board-signals.d.ts.map +1 -0
- package/dist/services/board/board-signals.js +170 -0
- package/dist/services/board/board-signals.js.map +1 -0
- package/dist/services/board/card-briefing.d.ts +24 -0
- package/dist/services/board/card-briefing.d.ts.map +1 -0
- package/dist/services/board/card-briefing.js +132 -0
- package/dist/services/board/card-briefing.js.map +1 -0
- package/dist/services/board/card-diagnostics.d.ts +25 -0
- package/dist/services/board/card-diagnostics.d.ts.map +1 -0
- package/dist/services/board/card-diagnostics.js +50 -0
- package/dist/services/board/card-diagnostics.js.map +1 -0
- package/dist/services/board/live-root-thread.d.ts +8 -0
- package/dist/services/board/live-root-thread.d.ts.map +1 -0
- package/dist/services/board/live-root-thread.js +2 -0
- package/dist/services/board/live-root-thread.js.map +1 -0
- package/dist/services/board/orchestrator.service.d.ts +119 -0
- package/dist/services/board/orchestrator.service.d.ts.map +1 -0
- package/dist/services/board/orchestrator.service.js +387 -0
- package/dist/services/board/orchestrator.service.js.map +1 -0
- package/dist/services/board/release-worker.d.ts +43 -0
- package/dist/services/board/release-worker.d.ts.map +1 -0
- package/dist/services/board/release-worker.js +96 -0
- package/dist/services/board/release-worker.js.map +1 -0
- package/dist/services/board/report-capture.d.ts +94 -0
- package/dist/services/board/report-capture.d.ts.map +1 -0
- package/dist/services/board/report-capture.js +398 -0
- package/dist/services/board/report-capture.js.map +1 -0
- package/dist/services/board/worker-spawn.d.ts +89 -0
- package/dist/services/board/worker-spawn.d.ts.map +1 -0
- package/dist/services/board/worker-spawn.js +177 -0
- package/dist/services/board/worker-spawn.js.map +1 -0
- package/dist/services/board/worktree.d.ts +45 -0
- package/dist/services/board/worktree.d.ts.map +1 -0
- package/dist/services/board/worktree.js +183 -0
- package/dist/services/board/worktree.js.map +1 -0
- package/dist/services/broker-client.d.ts +84 -2
- package/dist/services/broker-client.d.ts.map +1 -1
- package/dist/services/broker-client.js +72 -6
- package/dist/services/broker-client.js.map +1 -1
- package/dist/services/claude-spawn.service.d.ts +5 -0
- package/dist/services/claude-spawn.service.d.ts.map +1 -1
- package/dist/services/claude-spawn.service.js +37 -21
- package/dist/services/claude-spawn.service.js.map +1 -1
- package/dist/services/codex-spawn.service.d.ts +8 -3
- package/dist/services/codex-spawn.service.d.ts.map +1 -1
- package/dist/services/codex-spawn.service.js +84 -67
- package/dist/services/codex-spawn.service.js.map +1 -1
- package/dist/services/consolidation.service.d.ts.map +1 -1
- package/dist/services/consolidation.service.js +5 -49
- package/dist/services/consolidation.service.js.map +1 -1
- package/dist/services/copilot-spawn.service.d.ts +1 -1
- package/dist/services/copilot-spawn.service.d.ts.map +1 -1
- package/dist/services/copilot-spawn.service.js +10 -5
- package/dist/services/copilot-spawn.service.js.map +1 -1
- package/dist/services/daily-session.d.ts +24 -11
- package/dist/services/daily-session.d.ts.map +1 -1
- package/dist/services/daily-session.js +113 -33
- package/dist/services/daily-session.js.map +1 -1
- package/dist/services/death-alert.service.d.ts +55 -0
- package/dist/services/death-alert.service.d.ts.map +1 -0
- package/dist/services/death-alert.service.js +64 -0
- package/dist/services/death-alert.service.js.map +1 -0
- package/dist/services/dispatcher/broker.d.ts +66 -0
- package/dist/services/dispatcher/broker.d.ts.map +1 -1
- package/dist/services/dispatcher/broker.js +60 -52
- package/dist/services/dispatcher/broker.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +31 -24
- package/dist/services/dispatcher/poller.js.map +1 -1
- package/dist/services/http-retry.d.ts +1 -90
- package/dist/services/http-retry.d.ts.map +1 -1
- package/dist/services/http-retry.js +1 -176
- package/dist/services/http-retry.js.map +1 -1
- package/dist/services/intent.d.ts +15 -1
- package/dist/services/intent.d.ts.map +1 -1
- package/dist/services/intent.js +39 -27
- package/dist/services/intent.js.map +1 -1
- package/dist/services/keeper.service.d.ts +76 -3
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +112 -35
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/mcp-config.service.d.ts.map +1 -1
- package/dist/services/mcp-config.service.js +14 -1
- package/dist/services/mcp-config.service.js.map +1 -1
- package/dist/services/memory-briefing.service.d.ts +1 -1
- package/dist/services/memory-briefing.service.d.ts.map +1 -1
- package/dist/services/memory-briefing.service.js +28 -73
- package/dist/services/memory-briefing.service.js.map +1 -1
- package/dist/services/passive-notice.service.d.ts +56 -0
- package/dist/services/passive-notice.service.d.ts.map +1 -0
- package/dist/services/passive-notice.service.js +92 -0
- package/dist/services/passive-notice.service.js.map +1 -0
- package/dist/services/predefined-prompts.d.ts +11 -0
- package/dist/services/predefined-prompts.d.ts.map +1 -0
- package/dist/services/predefined-prompts.js +25 -0
- package/dist/services/predefined-prompts.js.map +1 -0
- package/dist/services/process.service.d.ts +111 -27
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +245 -173
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts +281 -5
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +884 -188
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/spawn-exit-watcher.d.ts +45 -35
- package/dist/services/spawn-exit-watcher.d.ts.map +1 -1
- package/dist/services/spawn-exit-watcher.js +120 -100
- package/dist/services/spawn-exit-watcher.js.map +1 -1
- package/dist/services/telegram.d.ts +31 -8
- package/dist/services/telegram.d.ts.map +1 -1
- package/dist/services/telegram.js +58 -26
- package/dist/services/telegram.js.map +1 -1
- package/dist/services/thread-health.service.d.ts +8 -0
- package/dist/services/thread-health.service.d.ts.map +1 -1
- package/dist/services/thread-health.service.js +14 -10
- package/dist/services/thread-health.service.js.map +1 -1
- package/dist/services/thread-lifecycle.service.d.ts +17 -1
- package/dist/services/thread-lifecycle.service.d.ts.map +1 -1
- package/dist/services/thread-lifecycle.service.js +47 -6
- package/dist/services/thread-lifecycle.service.js.map +1 -1
- package/dist/services/thread-log-reader.d.ts +81 -0
- package/dist/services/thread-log-reader.d.ts.map +1 -0
- package/dist/services/thread-log-reader.js +141 -0
- package/dist/services/thread-log-reader.js.map +1 -0
- package/dist/services/thread-purge.service.d.ts +200 -0
- package/dist/services/thread-purge.service.d.ts.map +1 -0
- package/dist/services/thread-purge.service.js +644 -0
- package/dist/services/thread-purge.service.js.map +1 -0
- package/dist/services/topic.service.d.ts +44 -2
- package/dist/services/topic.service.d.ts.map +1 -1
- package/dist/services/topic.service.js +74 -13
- package/dist/services/topic.service.js.map +1 -1
- package/dist/services/usage/usage-inbox-notifier.d.ts +50 -0
- package/dist/services/usage/usage-inbox-notifier.d.ts.map +1 -0
- package/dist/services/usage/usage-inbox-notifier.js +118 -0
- package/dist/services/usage/usage-inbox-notifier.js.map +1 -0
- package/dist/services/usage/usage-poller.service.d.ts +41 -0
- package/dist/services/usage/usage-poller.service.d.ts.map +1 -0
- package/dist/services/usage/usage-poller.service.js +67 -0
- package/dist/services/usage/usage-poller.service.js.map +1 -0
- package/dist/services/usage/usage-snapshot-provider.d.ts +40 -0
- package/dist/services/usage/usage-snapshot-provider.d.ts.map +1 -0
- package/dist/services/usage/usage-snapshot-provider.js +89 -0
- package/dist/services/usage/usage-snapshot-provider.js.map +1 -0
- package/dist/services/usage/usage-types.d.ts +28 -0
- package/dist/services/usage/usage-types.d.ts.map +1 -0
- package/dist/services/usage/usage-types.js +14 -0
- package/dist/services/usage/usage-types.js.map +1 -0
- package/dist/services/worker-birth.d.ts +154 -0
- package/dist/services/worker-birth.d.ts.map +1 -0
- package/dist/services/worker-birth.js +274 -0
- package/dist/services/worker-birth.js.map +1 -0
- package/dist/services/worker-cleanup.service.d.ts +242 -19
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +893 -355
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/services/worker-lifecycle-executor.d.ts +42 -0
- package/dist/services/worker-lifecycle-executor.d.ts.map +1 -0
- package/dist/services/worker-lifecycle-executor.js +63 -0
- package/dist/services/worker-lifecycle-executor.js.map +1 -0
- package/dist/services/worker-single-use.d.ts +92 -0
- package/dist/services/worker-single-use.d.ts.map +1 -0
- package/dist/services/worker-single-use.js +155 -0
- package/dist/services/worker-single-use.js.map +1 -0
- package/dist/sessions/mcp-registry.d.ts +33 -2
- package/dist/sessions/mcp-registry.d.ts.map +1 -1
- package/dist/sessions/mcp-registry.js +153 -30
- package/dist/sessions/mcp-registry.js.map +1 -1
- package/dist/test-bootstrap.d.ts +19 -12
- package/dist/test-bootstrap.d.ts.map +1 -1
- package/dist/test-bootstrap.js +69 -21
- package/dist/test-bootstrap.js.map +1 -1
- package/dist/test-tripwire.test-support.d.ts +75 -0
- package/dist/test-tripwire.test-support.d.ts.map +1 -0
- package/dist/test-tripwire.test-support.js +353 -0
- package/dist/test-tripwire.test-support.js.map +1 -0
- package/dist/tools/defs/memory-defs.d.ts.map +1 -1
- package/dist/tools/defs/memory-defs.js +12 -4
- package/dist/tools/defs/memory-defs.js.map +1 -1
- package/dist/tools/defs/session-defs.d.ts.map +1 -1
- package/dist/tools/defs/session-defs.js +26 -10
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/defs/utility-defs.js +1 -1
- package/dist/tools/defs/utility-defs.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts +81 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +840 -219
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +66 -9
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/response-builders.d.ts.map +1 -1
- package/dist/tools/response-builders.js +12 -8
- package/dist/tools/response-builders.js.map +1 -1
- package/dist/tools/session-tools.d.ts.map +1 -1
- package/dist/tools/session-tools.js +3 -32
- package/dist/tools/session-tools.js.map +1 -1
- package/dist/tools/skill-tools.js +1 -1
- package/dist/tools/skill-tools.js.map +1 -1
- package/dist/tools/start-session-tool.d.ts.map +1 -1
- package/dist/tools/start-session-tool.js +66 -20
- package/dist/tools/start-session-tool.js.map +1 -1
- package/dist/tools/utility-tools.d.ts.map +1 -1
- package/dist/tools/utility-tools.js +38 -3
- package/dist/tools/utility-tools.js.map +1 -1
- package/dist/tools/wait/auto-forward.d.ts.map +1 -1
- package/dist/tools/wait/auto-forward.js +8 -3
- package/dist/tools/wait/auto-forward.js.map +1 -1
- package/dist/tools/wait/consolidation-strategy.d.ts +42 -0
- package/dist/tools/wait/consolidation-strategy.d.ts.map +1 -0
- package/dist/tools/wait/consolidation-strategy.js +50 -0
- package/dist/tools/wait/consolidation-strategy.js.map +1 -0
- package/dist/tools/wait/drive-handler.d.ts +5 -7
- package/dist/tools/wait/drive-handler.d.ts.map +1 -1
- package/dist/tools/wait/drive-handler.js +45 -59
- package/dist/tools/wait/drive-handler.js.map +1 -1
- package/dist/tools/wait/media-processor.d.ts.map +1 -1
- package/dist/tools/wait/media-processor.js +8 -4
- package/dist/tools/wait/media-processor.js.map +1 -1
- package/dist/tools/wait/message-delivery.d.ts +9 -6
- package/dist/tools/wait/message-delivery.d.ts.map +1 -1
- package/dist/tools/wait/message-delivery.js +77 -58
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/dist/tools/wait/message-processing.d.ts.map +1 -1
- package/dist/tools/wait/message-processing.js +2 -1
- package/dist/tools/wait/message-processing.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +339 -239
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +4 -3
- package/templates/azure-devops-securevault.default.md +20 -6
- package/templates/board-quality-checklist.default.md +121 -0
- package/templates/buildless-vue-preview.default.md +47 -0
- package/templates/expert-code-review.default.md +12 -0
- package/templates/handoff.default.md +41 -18
- package/templates/increment-pr-pipeline.default.md +79 -0
- package/templates/swarm.default.md +1 -0
- package/templates/worker-autonomous.default.md +1 -0
- package/templates/worker-delegate.default.md +1 -0
- package/dist/dashboard/log-parser.d.ts +0 -65
- package/dist/dashboard/log-parser.d.ts.map +0 -1
- package/dist/dashboard/log-parser.js +0 -219
- package/dist/dashboard/log-parser.js.map +0 -1
- package/dist/data/memory/reflection-dedup.d.ts +0 -17
- package/dist/data/memory/reflection-dedup.d.ts.map +0 -1
- package/dist/data/memory/reflection-dedup.js +0 -55
- package/dist/data/memory/reflection-dedup.js.map +0 -1
- package/dist/data/memory/reflection-gates.d.ts +0 -40
- package/dist/data/memory/reflection-gates.d.ts.map +0 -1
- package/dist/data/memory/reflection-gates.js +0 -220
- package/dist/data/memory/reflection-gates.js.map +0 -1
- package/dist/data/memory/reflection-sources.d.ts +0 -13
- package/dist/data/memory/reflection-sources.d.ts.map +0 -1
- package/dist/data/memory/reflection-sources.js +0 -115
- package/dist/data/memory/reflection-sources.js.map +0 -1
- package/dist/data/memory/reflection.d.ts +0 -43
- package/dist/data/memory/reflection.d.ts.map +0 -1
- package/dist/data/memory/reflection.js +0 -329
- package/dist/data/memory/reflection.js.map +0 -1
- package/dist/llm/prompts/reflection.d.ts +0 -6
- package/dist/llm/prompts/reflection.d.ts.map +0 -1
- package/dist/llm/prompts/reflection.js +0 -77
- package/dist/llm/prompts/reflection.js.map +0 -1
- package/dist/services/memory-pruning.service.d.ts +0 -12
- package/dist/services/memory-pruning.service.d.ts.map +0 -1
- package/dist/services/memory-pruning.service.js +0 -179
- package/dist/services/memory-pruning.service.js.map +0 -1
- package/templates/daily-review.default.md +0 -26
- package/templates/fire-and-forget.default.md +0 -76
- package/templates/offload.default.md +0 -33
- package/templates/sensorium-repair.default.md +0 -114
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { getUnconsolidatedEpisodes, markConsolidated } from "../data/memory/episodes.js";
|
|
2
2
|
import { saveSemanticNote, supersedeNote, updateSemanticNote, } from "../data/memory/semantic-notes.js";
|
|
3
3
|
import { searchByEmbedding, saveNoteEmbedding } from "../data/memory/note-embeddings.js";
|
|
4
|
-
import { cleanupConsolidationHousekeeping, getUnconsolidatedThreadIds, hasActiveNote,
|
|
5
|
-
import { passesStructuralGate, passesQualityGate, parseReflectionFields, } from "../data/memory/reflection-gates.js";
|
|
4
|
+
import { cleanupConsolidationHousekeeping, getUnconsolidatedThreadIds, hasActiveNote, logConsolidation, sweepExpiredNotes, sweepOrphanedNotes, sweepOrphanedEmbeddings, } from "../data/memory/consolidation.js";
|
|
6
5
|
import { buildExtractionPrompt, buildSupersedePrompt, buildLinkingPrompt, } from "./consolidation-prompts.js";
|
|
7
|
-
import { runMemoryPruning } from "./memory-pruning.service.js";
|
|
8
6
|
import { getThread } from "../data/memory/thread-registry.js";
|
|
9
7
|
import { generateEmbedding } from "../integrations/openai/chat.js";
|
|
10
8
|
import { chatCompletionJson } from "../llm/json.js";
|
|
11
9
|
import { log } from "../lib/logger.js";
|
|
12
|
-
import { nowISO } from "../data/memory/utils.js";
|
|
13
10
|
import { errorMessage } from "../lib/utils.js";
|
|
14
11
|
const CONSOLIDATION_DEDUP_THRESHOLD = 0.88;
|
|
15
12
|
/** Higher similarity floor required before an obsolescence (non-contradiction) supersede is honored. */
|
|
@@ -72,14 +69,13 @@ export async function runConsolidationAllThreads(db, options) {
|
|
|
72
69
|
allDetails.push(`Thread ${threadId}: ${report.episodesProcessed} eps → ${report.notesCreated} notes`);
|
|
73
70
|
}
|
|
74
71
|
try {
|
|
75
|
-
const
|
|
76
|
-
if (
|
|
77
|
-
allDetails.push(`
|
|
78
|
-
allDetails.push(...pruneReport.details);
|
|
72
|
+
const ttlExpired = sweepExpiredNotes(db);
|
|
73
|
+
if (ttlExpired > 0) {
|
|
74
|
+
allDetails.push(`TTL sweep: expired ${ttlExpired} note(s) past expires_at`);
|
|
79
75
|
}
|
|
80
76
|
}
|
|
81
77
|
catch (err) {
|
|
82
|
-
log.warn(`[memory]
|
|
78
|
+
log.warn(`[memory] TTL sweep failed: ${errorMessage(err)}`);
|
|
83
79
|
}
|
|
84
80
|
try {
|
|
85
81
|
const orphanedCount = sweepOrphanedNotes(db);
|
|
@@ -450,46 +446,6 @@ export async function runIntelligentConsolidation(db, threadId, options) {
|
|
|
450
446
|
details.push(`Consolidation failed (will retry): ${msg}`);
|
|
451
447
|
}
|
|
452
448
|
cleanupConsolidationHousekeeping(db);
|
|
453
|
-
// Phase: Quality gate cleanup — expire existing reflection notes that fail structural or quality checks
|
|
454
|
-
if (!dryRun) {
|
|
455
|
-
try {
|
|
456
|
-
// Only sweep reflections created after the quality gate was deployed (2026-04-19)
|
|
457
|
-
// to avoid retroactively expiring older reflections that were valid under previous rules
|
|
458
|
-
const QUALITY_GATE_CUTOFF = "2026-04-19T00:00:00.000Z";
|
|
459
|
-
const reflectionRows = db
|
|
460
|
-
.prepare(`SELECT note_id, content, confidence FROM semantic_notes
|
|
461
|
-
WHERE content LIKE '[REFLECTION]%' AND valid_to IS NULL AND superseded_by IS NULL
|
|
462
|
-
AND pinned = 0 AND is_guardrail = 0
|
|
463
|
-
AND thread_id = ? AND created_at >= ?`)
|
|
464
|
-
.all(knowledgeThreadId, QUALITY_GATE_CUTOFF);
|
|
465
|
-
let expiredReflections = 0;
|
|
466
|
-
const nowStr = nowISO();
|
|
467
|
-
for (const row of reflectionRows) {
|
|
468
|
-
const fields = parseReflectionFields(row.content);
|
|
469
|
-
if (!fields)
|
|
470
|
-
continue; // unparseable — skip, don't expire
|
|
471
|
-
// requireAnchor OFF: the anchor rule gates only NEW reflections. Retroactively
|
|
472
|
-
// expiring historical notes is a separate, backed-up cleanup step, not this sweep.
|
|
473
|
-
const structural = passesStructuralGate(fields, { requireAnchor: false });
|
|
474
|
-
if (!structural.pass) {
|
|
475
|
-
expireNote(db, row.note_id, nowStr, "quality-gate");
|
|
476
|
-
expiredReflections++;
|
|
477
|
-
continue;
|
|
478
|
-
}
|
|
479
|
-
const quality = passesQualityGate(row.content, row.confidence);
|
|
480
|
-
if (!quality.pass) {
|
|
481
|
-
expireNote(db, row.note_id, nowStr, "quality-gate");
|
|
482
|
-
expiredReflections++;
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
if (expiredReflections > 0) {
|
|
486
|
-
log.info(`[consolidation] Quality gate cleanup: expired ${expiredReflections} low-quality reflection(s)`);
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
catch (err) {
|
|
490
|
-
log.warn(`[consolidation] Reflection quality gate cleanup failed: ${errorMessage(err)}`);
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
449
|
return {
|
|
494
450
|
episodesProcessed: episodes.length,
|
|
495
451
|
notesCreated,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidation.service.js","sourceRoot":"","sources":["../../src/services/consolidation.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consolidation.service.js","sourceRoot":"","sources":["../../src/services/consolidation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
import type { ThreadLifecycleService } from "./thread-lifecycle.service.js";
|
|
7
7
|
import { type SpawnResult } from "./spawn-common.js";
|
|
8
8
|
export declare const resolveCopilotPath: () => string | null;
|
|
9
|
-
export declare function spawnCopilotProcess(copilotPath: string, name: string, threadId: number, threadLifecycle: ThreadLifecycleService, workingDirectory?: string, memorySourceThreadId?: number, threadType?: "worker" | "branch"): Promise<SpawnResult>;
|
|
9
|
+
export declare function spawnCopilotProcess(copilotPath: string, name: string, threadId: number, threadLifecycle: ThreadLifecycleService, workingDirectory?: string, memorySourceThreadId?: number, threadType?: "worker" | "branch", modelOverride?: string): Promise<SpawnResult>;
|
|
10
10
|
//# sourceMappingURL=copilot-spawn.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-spawn.service.d.ts","sourceRoot":"","sources":["../../src/services/copilot-spawn.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAUL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAsF3B,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAGL,CAAC;AAE3C,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,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,
|
|
1
|
+
{"version":3,"file":"copilot-spawn.service.d.ts","sourceRoot":"","sources":["../../src/services/copilot-spawn.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAUL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAsF3B,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAGL,CAAC;AAE3C,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,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,EAChC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC,CA4DtB"}
|
|
@@ -81,8 +81,8 @@ function ensureCopilotWorkspace(baseDir) {
|
|
|
81
81
|
export const resolveCopilotPath = () => process.platform === "win32"
|
|
82
82
|
? resolveWindowsCliPath("copilot")
|
|
83
83
|
: resolveCliPath("copilot", /\.exe$/i);
|
|
84
|
-
export async function spawnCopilotProcess(copilotPath, name, threadId, threadLifecycle, workingDirectory, memorySourceThreadId, threadType) {
|
|
85
|
-
const pre = checkSpawnPreconditions("Copilot");
|
|
84
|
+
export async function spawnCopilotProcess(copilotPath, name, threadId, threadLifecycle, workingDirectory, memorySourceThreadId, threadType, modelOverride) {
|
|
85
|
+
const pre = await checkSpawnPreconditions("Copilot");
|
|
86
86
|
if ("error" in pre)
|
|
87
87
|
return pre;
|
|
88
88
|
workingDirectory =
|
|
@@ -91,13 +91,13 @@ export async function spawnCopilotProcess(copilotPath, name, threadId, threadLif
|
|
|
91
91
|
buildCopilotMcpConfig(pre.transport, copilotHomeDir, threadId);
|
|
92
92
|
writeCopilotInstructions(copilotHomeDir);
|
|
93
93
|
writeCopilotIdentity(copilotHomeDir);
|
|
94
|
-
const logFilePath = buildThreadLogPath(name, threadId, "json");
|
|
94
|
+
const logFilePath = buildThreadLogPath(name, "copilot", threadId, "json");
|
|
95
95
|
// Copilot model + BYOK provider config come from dashboard settings. Settings
|
|
96
96
|
// drive both the model and (optionally) a BYOK provider; provider vars the
|
|
97
97
|
// settings don't supply are explicitly unset so ambient env can't silently
|
|
98
98
|
// keep BYOK on.
|
|
99
99
|
const copilotEnv = getCopilotSpawnEnv();
|
|
100
|
-
const model = copilotEnv.COPILOT_MODEL;
|
|
100
|
+
const model = modelOverride?.trim() || copilotEnv.COPILOT_MODEL;
|
|
101
101
|
writeCopilotSettings(copilotHomeDir, model);
|
|
102
102
|
const providerEnv = {};
|
|
103
103
|
for (const k of COPILOT_PROVIDER_ENV_KEYS)
|
|
@@ -125,12 +125,17 @@ export async function spawnCopilotProcess(copilotPath, name, threadId, threadLif
|
|
|
125
125
|
exe: copilotPath,
|
|
126
126
|
args: [
|
|
127
127
|
"-p",
|
|
128
|
-
buildSessionPrompt(name, threadId),
|
|
128
|
+
buildSessionPrompt(name, threadId, "copilot"),
|
|
129
129
|
"--allow-all-tools",
|
|
130
130
|
"--allow-all-paths",
|
|
131
131
|
"--model",
|
|
132
132
|
model,
|
|
133
133
|
"--autopilot",
|
|
134
|
+
// JSONL stdout (one JSON object per line) so the captured log carries
|
|
135
|
+
// structured events — notably compaction boundaries — the way Claude's
|
|
136
|
+
// stream-json log does. A dedicated parser is added separately.
|
|
137
|
+
"--output-format",
|
|
138
|
+
"json",
|
|
134
139
|
],
|
|
135
140
|
env: spawnEnv,
|
|
136
141
|
cwd: workingDirectory,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-spawn.service.js","sourceRoot":"","sources":["../../src/services/copilot-spawn.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"copilot-spawn.service.js","sourceRoot":"","sources":["../../src/services/copilot-spawn.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Daily Session Rotation
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Runs the nightly (4 AM) memory-integrity pass for EVERY non-worker thread:
|
|
5
|
+
* consolidate episodes → run narratives → advance `session_reset_at`.
|
|
6
|
+
* This is unconditional — memory hygiene is required by all threads, not just
|
|
7
|
+
* those opted into rotation. Workers are excluded (their memory is no-persist).
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Separately, threads that opt in via the `daily_rotation` flag are ALSO
|
|
10
|
+
* force-restarted after their memory pass: the running CLI process is killed so
|
|
11
|
+
* the keeper respawns a fresh session. `session_reset_at` already advanced the
|
|
12
|
+
* episode-window boundary, so the fresh session cold-starts on a clean context
|
|
13
|
+
* rehydrated from its normal briefing — deliberately WITHOUT any "reconstruct
|
|
14
|
+
* the context / re-read episodes" instruction (that removed clean_shutdown
|
|
15
|
+
* anti-pattern caused over-reading on every restart). A scheduled rotation is an
|
|
16
|
+
* EXPECTED event, so the fresh session simply continues from its briefing.
|
|
17
|
+
*
|
|
18
|
+
* Only keepAlive threads are restarted, because only they are respawned by the
|
|
19
|
+
* keeper; a non-keepAlive thread would just die.
|
|
13
20
|
*/
|
|
14
21
|
import { initMemoryDb } from "../data/memory/schema.js";
|
|
15
22
|
interface DailyRotationResult {
|
|
@@ -17,18 +24,24 @@ interface DailyRotationResult {
|
|
|
17
24
|
previousSessionResetAt: string | null;
|
|
18
25
|
newSessionResetAt: string;
|
|
19
26
|
consolidated: boolean;
|
|
27
|
+
/** True when the thread was force-restarted after its memory pass (daily_rotation opt-in). */
|
|
28
|
+
restarted: boolean;
|
|
20
29
|
error?: string;
|
|
21
30
|
}
|
|
22
31
|
/**
|
|
23
32
|
* Rotate a single root thread's daily session.
|
|
24
33
|
* 1. Run consolidation (distill episodes into knowledge)
|
|
25
|
-
* 2. Run
|
|
34
|
+
* 2. Run narrative generation (best-effort)
|
|
26
35
|
* 3. Update session_reset_at on the thread_registry row
|
|
27
36
|
*/
|
|
28
37
|
export declare function rotateDailySession(rootThreadId: number, db?: ReturnType<typeof initMemoryDb>): Promise<DailyRotationResult>;
|
|
38
|
+
/** Resolves once no rotation pass is running — at once when none is. */
|
|
39
|
+
export declare function dailyRotationSettled(): Promise<void>;
|
|
29
40
|
/**
|
|
30
|
-
*
|
|
31
|
-
* Called from the
|
|
41
|
+
* Run the nightly memory pass for every non-worker thread, and force-restart the
|
|
42
|
+
* subset that opted into `daily_rotation`. Called from the background runner on a
|
|
43
|
+
* schedule (4 AM). Idempotent per day via the daily marker and per-thread via
|
|
44
|
+
* session_reset_at, so a late or repeated call is safe.
|
|
32
45
|
*/
|
|
33
46
|
export declare function rotateAllDailySessions(): Promise<DailyRotationResult[]>;
|
|
34
47
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-session.d.ts","sourceRoot":"","sources":["../../src/services/daily-session.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"daily-session.d.ts","sourceRoot":"","sources":["../../src/services/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAcxD,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,8FAA8F;IAC9F,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+BD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAmD9B;AAYD,wEAAwE;AACxE,wBAAgB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAgH7E"}
|
|
@@ -1,26 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Daily Session Rotation
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Runs the nightly (4 AM) memory-integrity pass for EVERY non-worker thread:
|
|
5
|
+
* consolidate episodes → run narratives → advance `session_reset_at`.
|
|
6
|
+
* This is unconditional — memory hygiene is required by all threads, not just
|
|
7
|
+
* those opted into rotation. Workers are excluded (their memory is no-persist).
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Separately, threads that opt in via the `daily_rotation` flag are ALSO
|
|
10
|
+
* force-restarted after their memory pass: the running CLI process is killed so
|
|
11
|
+
* the keeper respawns a fresh session. `session_reset_at` already advanced the
|
|
12
|
+
* episode-window boundary, so the fresh session cold-starts on a clean context
|
|
13
|
+
* rehydrated from its normal briefing — deliberately WITHOUT any "reconstruct
|
|
14
|
+
* the context / re-read episodes" instruction (that removed clean_shutdown
|
|
15
|
+
* anti-pattern caused over-reading on every restart). A scheduled rotation is an
|
|
16
|
+
* EXPECTED event, so the fresh session simply continues from its briefing.
|
|
17
|
+
*
|
|
18
|
+
* Only keepAlive threads are restarted, because only they are respawned by the
|
|
19
|
+
* keeper; a non-keepAlive thread would just die.
|
|
13
20
|
*/
|
|
14
21
|
import { log } from "../lib/logger.js";
|
|
15
|
-
import {
|
|
22
|
+
import { ARCHIVED_THREAD_PURGE_DAYS, getConsolidationThreads, getThread, resetDailySession, resolveTelegramTopicId, } from "../data/memory/thread-registry.js";
|
|
16
23
|
import { runNarrativeGeneration } from "../data/memory/narrative.js";
|
|
17
|
-
import { runReflection } from "../data/memory/reflection.js";
|
|
18
24
|
import { initMemoryDb } from "../data/memory/schema.js";
|
|
19
25
|
import { config } from "../config/index.js";
|
|
20
26
|
import { runIntelligentConsolidation } from "./consolidation.service.js";
|
|
21
27
|
import { errorMessage } from "../lib/utils.js";
|
|
22
28
|
import { sendTelegramMessage } from "./telegram.js";
|
|
23
29
|
import { hasRunToday, markRanToday, dailyKey } from "../data/daily-marker.js";
|
|
30
|
+
import { clearThreadHeartbeat } from "../data/file-storage.js";
|
|
31
|
+
import { killThreadTree, readPidFiles, isThreadAlive } from "./process.service.js";
|
|
32
|
+
import { sweepOldArchivedThreads } from "./thread-purge.service.js";
|
|
33
|
+
import { maintainDatabaseFile } from "../data/memory/db-maintenance.js";
|
|
34
|
+
import { purgeOtherSessions } from "../sessions/mcp-registry.js";
|
|
24
35
|
// ─── Telegram notification ───────────────────────────────────────────────────
|
|
25
36
|
async function notifyTelegram(db, text, threadId) {
|
|
26
37
|
const { TELEGRAM_TOKEN, TELEGRAM_CHAT_ID } = config;
|
|
@@ -49,7 +60,7 @@ async function notifyTelegram(db, text, threadId) {
|
|
|
49
60
|
/**
|
|
50
61
|
* Rotate a single root thread's daily session.
|
|
51
62
|
* 1. Run consolidation (distill episodes into knowledge)
|
|
52
|
-
* 2. Run
|
|
63
|
+
* 2. Run narrative generation (best-effort)
|
|
53
64
|
* 3. Update session_reset_at on the thread_registry row
|
|
54
65
|
*/
|
|
55
66
|
export async function rotateDailySession(rootThreadId, db) {
|
|
@@ -60,6 +71,7 @@ export async function rotateDailySession(rootThreadId, db) {
|
|
|
60
71
|
previousSessionResetAt: null,
|
|
61
72
|
newSessionResetAt: now,
|
|
62
73
|
consolidated: false,
|
|
74
|
+
restarted: false,
|
|
63
75
|
};
|
|
64
76
|
try {
|
|
65
77
|
// Capture current session_reset_at before overwriting
|
|
@@ -79,13 +91,7 @@ export async function rotateDailySession(rootThreadId, db) {
|
|
|
79
91
|
catch (err) {
|
|
80
92
|
log.error(`Consolidation failed during daily rotation: ${errorMessage(err)}`);
|
|
81
93
|
}
|
|
82
|
-
// 2. Run
|
|
83
|
-
try {
|
|
84
|
-
await runReflection(activeDb, rootThreadId);
|
|
85
|
-
}
|
|
86
|
-
catch (err) {
|
|
87
|
-
log.warn(`Reflection failed during daily rotation for root ${rootThreadId}: ${errorMessage(err)}`);
|
|
88
|
-
}
|
|
94
|
+
// 2. Run narrative generation (best-effort, non-blocking)
|
|
89
95
|
try {
|
|
90
96
|
await runNarrativeGeneration(activeDb, rootThreadId);
|
|
91
97
|
}
|
|
@@ -107,9 +113,21 @@ export async function rotateDailySession(rootThreadId, db) {
|
|
|
107
113
|
}
|
|
108
114
|
// ─── Rotate all ──────────────────────────────────────────────────────────────
|
|
109
115
|
let _rotating = false;
|
|
116
|
+
// The same latch as a promise, for the one caller that must WAIT rather than
|
|
117
|
+
// skip: the self-update hand-over (index.ts onBeforeSpawn). The pass purges and
|
|
118
|
+
// VACUUMs; the replacement process starts its own runner the moment the port is
|
|
119
|
+
// freed, so freeing it mid-pass would put two purges on one thread (inc66 M1).
|
|
120
|
+
let _rotationDone = Promise.resolve();
|
|
121
|
+
let _endRotation = () => { };
|
|
122
|
+
/** Resolves once no rotation pass is running — at once when none is. */
|
|
123
|
+
export function dailyRotationSettled() {
|
|
124
|
+
return _rotationDone;
|
|
125
|
+
}
|
|
110
126
|
/**
|
|
111
|
-
*
|
|
112
|
-
* Called from the
|
|
127
|
+
* Run the nightly memory pass for every non-worker thread, and force-restart the
|
|
128
|
+
* subset that opted into `daily_rotation`. Called from the background runner on a
|
|
129
|
+
* schedule (4 AM). Idempotent per day via the daily marker and per-thread via
|
|
130
|
+
* session_reset_at, so a late or repeated call is safe.
|
|
113
131
|
*/
|
|
114
132
|
export async function rotateAllDailySessions() {
|
|
115
133
|
const todayDate = dailyKey();
|
|
@@ -124,11 +142,14 @@ export async function rotateAllDailySessions() {
|
|
|
124
142
|
return [];
|
|
125
143
|
}
|
|
126
144
|
_rotating = true;
|
|
127
|
-
|
|
128
|
-
markRanToday("daily-rotation");
|
|
129
|
-
const db = initMemoryDb();
|
|
145
|
+
_rotationDone = new Promise((resolve) => (_endRotation = resolve));
|
|
130
146
|
try {
|
|
131
|
-
|
|
147
|
+
// Inside the try: if opening the DB throws, the finally still ends the
|
|
148
|
+
// rotation — otherwise the latch stays set and the hand-over waits forever.
|
|
149
|
+
const db = initMemoryDb();
|
|
150
|
+
// Nightly memory pass runs for ALL non-worker threads (memory integrity),
|
|
151
|
+
// regardless of the daily_rotation restart opt-in.
|
|
152
|
+
const threads = getConsolidationThreads(db);
|
|
132
153
|
const results = [];
|
|
133
154
|
// Collect threads that need rotation
|
|
134
155
|
const pending = threads.filter((thread) => {
|
|
@@ -147,28 +168,58 @@ export async function rotateAllDailySessions() {
|
|
|
147
168
|
}
|
|
148
169
|
for (const thread of pending) {
|
|
149
170
|
const result = await rotateDailySession(thread.threadId, db);
|
|
171
|
+
// daily_rotation opt-in: after the memory pass, force a fresh session by
|
|
172
|
+
// killing the CLI process so the keeper respawns it. Only keepAlive threads
|
|
173
|
+
// are respawned by the keeper, and only restart once the memory pass
|
|
174
|
+
// actually advanced the session_reset_at boundary.
|
|
175
|
+
if (result.consolidated && thread.dailyRotation && thread.keepAlive) {
|
|
176
|
+
result.restarted = await forceRestartThread(thread);
|
|
177
|
+
}
|
|
150
178
|
results.push(result);
|
|
151
179
|
}
|
|
152
|
-
//
|
|
180
|
+
// Sweep long-dead archived threads. This is the FLOOR, not the only way out:
|
|
181
|
+
// the operator deletes a finished thread deliberately from the archived-threads
|
|
182
|
+
// tab (purgeThreadCompletely). Both messages below take the window from
|
|
183
|
+
// ARCHIVED_THREAD_PURGE_DAYS — they said "180 days" while the default moved.
|
|
153
184
|
let purged = 0;
|
|
185
|
+
let purgedFiles = 0;
|
|
186
|
+
let leftBehind = 0;
|
|
187
|
+
let skipped = 0;
|
|
154
188
|
try {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
189
|
+
// The sweep deletes files as well as rows — the DB rows are only half of
|
|
190
|
+
// a thread, and the half that costs disk is the files. Awaited because it
|
|
191
|
+
// asks the process broker whether each candidate is still running.
|
|
192
|
+
const sweep = await sweepOldArchivedThreads(db);
|
|
193
|
+
purged = sweep.purgedThreadIds.length;
|
|
194
|
+
purgedFiles = sweep.removedFiles.length;
|
|
195
|
+
leftBehind = sweep.failedFiles.length;
|
|
196
|
+
skipped = sweep.skippedThreads.length;
|
|
159
197
|
}
|
|
160
198
|
catch (err) {
|
|
161
199
|
log.error(`[daily-rotation] Archived thread purge failed: ${errorMessage(err)}`);
|
|
162
200
|
}
|
|
201
|
+
// Hand the pages the sweep (and the day) freed back to the filesystem.
|
|
202
|
+
await maintainDatabaseFile(db);
|
|
203
|
+
// Claim the day only AFTER the batch completed. If the process crashes
|
|
204
|
+
// mid-rotation, the day is NOT marked done, so the next boot retries the
|
|
205
|
+
// unfinished threads (per-thread work is idempotent via session_reset_at).
|
|
206
|
+
markRanToday("daily-rotation");
|
|
163
207
|
// Send summary
|
|
164
|
-
if (results.length > 0 || purged > 0) {
|
|
208
|
+
if (results.length > 0 || purged > 0 || skipped > 0) {
|
|
165
209
|
const lines = results.map((r) => {
|
|
166
210
|
if (r.error)
|
|
167
211
|
return `❌ ${r.rootThreadId}: ${r.error}`;
|
|
168
|
-
return `✅ ${r.rootThreadId}: consolidated=${r.consolidated}`;
|
|
212
|
+
return `✅ ${r.rootThreadId}: consolidated=${r.consolidated}, restarted=${r.restarted}`;
|
|
169
213
|
});
|
|
170
|
-
if (purged > 0)
|
|
171
|
-
lines.push(`🗑 Purged ${purged}
|
|
214
|
+
if (purged > 0) {
|
|
215
|
+
lines.push(`🗑 Purged ${purged} thread(s) archived more than ${ARCHIVED_THREAD_PURGE_DAYS} days ` +
|
|
216
|
+
`ago, with ${purgedFiles} file(s)/dir(s) of theirs` +
|
|
217
|
+
(leftBehind > 0 ? ` — ${leftBehind} could not be removed, see server.log` : ""));
|
|
218
|
+
}
|
|
219
|
+
if (skipped > 0) {
|
|
220
|
+
lines.push(`🛡 Left ${skipped} eligible thread(s) in place rather than risk deleting data that ` +
|
|
221
|
+
`is still in use — reasons in server.log`);
|
|
222
|
+
}
|
|
172
223
|
await notifyTelegram(db, `🔄 <b>Daily rotation complete</b>\n${lines.join("\n")}`);
|
|
173
224
|
}
|
|
174
225
|
return results;
|
|
@@ -177,6 +228,35 @@ export async function rotateAllDailySessions() {
|
|
|
177
228
|
// Do NOT close db — initMemoryDb() returns the singleton shared across
|
|
178
229
|
// the entire process. Closing it here kills the DB for all components.
|
|
179
230
|
_rotating = false;
|
|
231
|
+
_endRotation();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// ─── Force restart ───────────────────────────────────────────────────────────
|
|
235
|
+
/**
|
|
236
|
+
* Kill a thread's running CLI process so the keeper respawns a fresh session.
|
|
237
|
+
* The memory pass already advanced session_reset_at, so the respawn cold-starts
|
|
238
|
+
* on a clean context from the thread's normal briefing. Returns true when a live
|
|
239
|
+
* process was found and a kill was issued.
|
|
240
|
+
*/
|
|
241
|
+
async function forceRestartThread(thread) {
|
|
242
|
+
const pidEntry = (await readPidFiles()).find((e) => e.threadId === thread.threadId);
|
|
243
|
+
if (!pidEntry || !(await isThreadAlive(thread.threadId, pidEntry.pid, pidEntry.startedAt))) {
|
|
244
|
+
log.info(`[daily-rotation] Thread ${thread.threadId} has no live process — skipping restart (keeper respawns keepAlive threads on its own).`);
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
try {
|
|
248
|
+
// This is control-plane teardown, not an operator message: it creates no
|
|
249
|
+
// episode. Superseding an in-flight wait loop prevents it from consuming
|
|
250
|
+
// inbox messages or keeping a dead agent alive via heartbeat writes.
|
|
251
|
+
const closedSessions = purgeOtherSessions(thread.threadId);
|
|
252
|
+
clearThreadHeartbeat(thread.threadId);
|
|
253
|
+
await killThreadTree(thread.threadId, "daily-rotation", pidEntry.pid, pidEntry.startedAt);
|
|
254
|
+
log.info(`[daily-rotation] Retired ${closedSessions} MCP session(s) and killed thread ${thread.threadId} (${thread.name}) for scheduled rotation — keeper will respawn a fresh session.`);
|
|
255
|
+
return true;
|
|
256
|
+
}
|
|
257
|
+
catch (err) {
|
|
258
|
+
log.error(`[daily-rotation] Force restart failed for thread ${thread.threadId}: ${errorMessage(err)}`);
|
|
259
|
+
return false;
|
|
180
260
|
}
|
|
181
261
|
}
|
|
182
262
|
//# sourceMappingURL=daily-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-session.js","sourceRoot":"","sources":["../../src/services/daily-session.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"daily-session.js","sourceRoot":"","sources":["../../src/services/daily-session.ts"],"names":[],"mappings":"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"}
|