@vellumai/assistant 0.10.3-dev.202606300731.35e9ab8 → 0.10.3-dev.202606300917.a9da5f8
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/eslint-rules/cli-no-daemon-internals.js +4 -3
- package/package.json +1 -1
- package/src/__tests__/activation-early-marking.test.ts +1 -1
- package/src/__tests__/anthropic-provider.test.ts +48 -0
- package/src/__tests__/auto-analysis-end-to-end.test.ts +1 -1
- package/src/__tests__/cli-memory-v2-reembed-skills.test.ts +1 -1
- package/src/__tests__/context-search-agent-protocol.test.ts +2 -2
- package/src/__tests__/context-search-agent-runner.test.ts +2 -2
- package/src/__tests__/context-search-conversations-source.test.ts +2 -2
- package/src/__tests__/context-search-fanout.test.ts +3 -3
- package/src/__tests__/context-search-memory-source.test.ts +7 -6
- package/src/__tests__/context-search-memory-v2-source.test.ts +7 -7
- package/src/__tests__/context-search-types.test.ts +2 -2
- package/src/__tests__/context-search-workspace-source.test.ts +2 -2
- package/src/__tests__/conversation-agent-loop.test.ts +1 -1
- package/src/__tests__/conversation-fork-crud.test.ts +10 -10
- package/src/__tests__/conversation-fork-retrospective.test.ts +4 -4
- package/src/__tests__/conversation-runtime-assembly.test.ts +3 -3
- package/src/__tests__/conversation-surfaces-activation-emit.test.ts +4 -4
- package/src/__tests__/conversation-workspace-cache-state.test.ts +1 -1
- package/src/__tests__/conversation-workspace-injection.test.ts +1 -1
- package/src/__tests__/conversation-workspace-tool-tracking.test.ts +1 -1
- package/src/__tests__/conversations-import-system-filter.test.ts +1 -1
- package/src/__tests__/file-write-tool.test.ts +3 -3
- package/src/__tests__/get-skill-detail-audit.test.ts +1 -1
- package/src/__tests__/graph-extraction-event-date.test.ts +1 -1
- package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +1 -1
- package/src/__tests__/init-feature-flag-overrides.test.ts +1 -4
- package/src/__tests__/injection-block.test.ts +5 -2
- package/src/__tests__/injector-chain.test.ts +1 -1
- package/src/__tests__/injector-pkb-v2-silenced.test.ts +2 -2
- package/src/__tests__/injector-v3-suppression.test.ts +3 -3
- package/src/__tests__/install-skill-routing.test.ts +1 -1
- package/src/__tests__/lifecycle-memory-v2-seed.test.ts +5 -5
- package/src/__tests__/list-messages-hidden-metadata.test.ts +4 -4
- package/src/__tests__/managed-skill-lifecycle.test.ts +2 -2
- package/src/__tests__/memory-jobs-worker-lanes.test.ts +2 -2
- package/src/__tests__/memory-recall-log-store.test.ts +4 -4
- package/src/__tests__/memory-retrieval-budget.test.ts +1 -1
- package/src/__tests__/memory-retrieval-hook.test.ts +2 -2
- package/src/__tests__/memory-upsert-concurrency.test.ts +1 -1
- package/src/__tests__/mock-gateway-ipc.ts +1 -1
- package/src/__tests__/outbound-slack-persistence.test.ts +1 -1
- package/src/__tests__/persistence-layering-guard.test.ts +6 -7
- package/src/__tests__/persistence-secret-redaction.test.ts +1 -1
- package/src/__tests__/pkb-autoinject.test.ts +1 -1
- package/src/__tests__/playbook-execution.test.ts +1 -1
- package/src/__tests__/plugin-config-data-migration.test.ts +14 -14
- package/src/__tests__/plugin-import-boundary-guard.test.ts +65 -50
- package/src/__tests__/processing-flag-persist-failure.test.ts +1 -1
- package/src/__tests__/rebuild-index-graph-nodes.test.ts +1 -1
- package/src/__tests__/search-skills-unified.test.ts +1 -1
- package/src/__tests__/skills-file-content-endpoint.test.ts +1 -1
- package/src/__tests__/skills-files-catalog-fallback.test.ts +1 -1
- package/src/__tests__/slim-skill-category.test.ts +1 -1
- package/src/__tests__/strip-memory-injections.test.ts +2 -2
- package/src/__tests__/task-memory-cleanup.test.ts +4 -4
- package/src/__tests__/tool-preview-lifecycle.test.ts +7 -4
- package/src/acp/__tests__/session-manager-persistence.test.ts +3 -3
- package/src/acp/__tests__/session-manager-startup.test.ts +1 -1
- package/src/cli/commands/__tests__/conversations-new.test.ts +186 -0
- package/src/cli/commands/conversations.ts +46 -28
- package/src/cli/commands/memory/__tests__/memory-v2-compare-render.test.ts +1 -1
- package/src/cli/commands/memory/memory-retrospective.ts +32 -28
- package/src/cli/commands/memory/memory-v2-compare-render.ts +1 -1
- package/src/cli/commands/memory/memory-v2.ts +1 -1
- package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +1 -1
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
- package/src/config/bundled-skills/playbooks/tools/playbook-create.ts +5 -2
- package/src/config/bundled-skills/playbooks/tools/playbook-delete.ts +4 -1
- package/src/config/bundled-skills/playbooks/tools/playbook-update.ts +4 -1
- package/src/config/bundled-skills/settings/tools/voice-config-update.ts +7 -7
- package/src/context/strip-injections.ts +1 -1
- package/src/daemon/__tests__/conversation-lifecycle-auto-analyze.test.ts +16 -13
- package/src/daemon/__tests__/embedding-reconcile.test.ts +1 -1
- package/src/daemon/__tests__/inference-profile-notification.test.ts +7 -4
- package/src/daemon/__tests__/memory-v2-startup.test.ts +2 -2
- package/src/daemon/conversation-agent-loop-handlers.ts +3 -3
- package/src/daemon/conversation-agent-loop.ts +2 -2
- package/src/daemon/conversation-lifecycle.ts +1 -1
- package/src/daemon/conversation-runtime-assembly.ts +9 -6
- package/src/daemon/conversation-surfaces.ts +1 -1
- package/src/daemon/conversation.ts +5 -2
- package/src/daemon/embedding-reconcile.ts +4 -4
- package/src/daemon/handlers/skills.ts +1 -1
- package/src/daemon/lifecycle.ts +5 -5
- package/src/daemon/memory-v2-startup.test.ts +2 -2
- package/src/daemon/memory-v2-startup.ts +11 -10
- package/src/daemon/skill-memory-refresh.ts +1 -1
- package/src/daemon/tool-side-effects.ts +3 -3
- package/src/daemon/trust-context.ts +1 -1
- package/src/home/feed-source-enrichment.ts +3 -3
- package/src/home/job-handlers/conversation-starters.ts +15 -15
- package/src/{memory → jobs}/worker.ts +1 -1
- package/src/permissions/checker.ts +1 -1
- package/src/persistence/attachments-store.ts +1 -1
- package/src/persistence/conversation-crud.ts +27 -27
- package/src/persistence/conversation-queries.ts +1 -1
- package/src/persistence/db-maintenance.ts +1 -1
- package/src/persistence/embeddings/embedding-backend.ts +1 -5
- package/src/{memory → persistence/embeddings}/sparse-tokenize.ts +6 -4
- package/src/persistence/group-crud.ts +1 -1
- package/src/persistence/job-handlers/cleanup.ts +4 -7
- package/src/persistence/jobs-store.ts +1 -1
- package/src/persistence/jobs-worker.ts +2 -2
- package/src/persistence/llm-usage-store.ts +1 -1
- package/src/persistence/steps.ts +1 -1
- package/src/persistence/worker-control.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/__tests__/301-create-watchdog-events.test.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/__tests__/activation-session-store.test.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/__tests__/bookmark-crud.test.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/__tests__/bookmark-schema.test.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/__tests__/clear-stale-processing-flags.test.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/__tests__/compaction-log-store-clickhouse.test.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/__tests__/conversation-queries.test.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/__tests__/conversation-row-batch-delete.test.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/__tests__/conversation-types.test.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/__tests__/db-async-query.test.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/__tests__/db-busy-timeout.test.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/__tests__/db-logs-attach.test.ts +7 -6
- package/src/{memory → plugins/defaults/memory}/__tests__/db-maintenance.test.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/__tests__/db-memory-attach.test.ts +7 -6
- package/src/{memory → plugins/defaults/memory}/__tests__/embedding-cache.test.ts +7 -6
- package/src/{memory → plugins/defaults/memory}/__tests__/find-analysis-conversation.test.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/__tests__/find-most-recent-retrospective-for.test.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/__tests__/fork-message-copy.test.ts +8 -8
- package/src/{memory → plugins/defaults/memory}/__tests__/jobs-store-enqueue-gate.test.ts +17 -13
- package/src/{memory → plugins/defaults/memory}/__tests__/jobs-store-job-classes.test.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/__tests__/jobs-worker-v2-graph-trigger-embed.test.ts +13 -13
- package/src/{memory → plugins/defaults/memory}/__tests__/jobs-worker-v2-schedule.test.ts +11 -9
- package/src/{memory → plugins/defaults/memory}/__tests__/memory-retrospective-enqueue.test.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/__tests__/memory-retrospective-job.test.ts +9 -9
- package/src/{memory → plugins/defaults/memory}/__tests__/memory-retrospective-startup-cleanup.test.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/__tests__/memory-retrospective-state.test.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/__tests__/memory-v2-activation-log-store.test.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/__tests__/memory-v2-concept-frequency.test.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/__tests__/memory-v3-selections-migration.test.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/__tests__/prompt-override.test.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/__tests__/qdrant-client-sentinel.test.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/__tests__/table-relocation.test.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/activation-session-store.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/anisotropy.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/context-search/agent-protocol.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/context-search/agent-runner.ts +4 -3
- package/src/{memory → plugins/defaults/memory}/context-search/search.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/context-search/sources/conversations.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/context-search/sources/memory-v2.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/context-search/sources/memory.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/context-search/types.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/graph/__tests__/conversation-graph-memory-registry.test.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/graph/__tests__/conversation-graph-memory-v2-routing.test.ts +27 -22
- package/src/{memory → plugins/defaults/memory}/graph/__tests__/handle-remember-v2.test.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/graph/bootstrap.test.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/graph/bootstrap.ts +10 -10
- package/src/{memory → plugins/defaults/memory}/graph/capability-seed.ts +11 -11
- package/src/{memory → plugins/defaults/memory}/graph/consolidation.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/graph/conversation-graph-memory.ts +13 -17
- package/src/{memory → plugins/defaults/memory}/graph/decay.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/graph/extraction-job.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/graph/extraction.ts +13 -14
- package/src/{memory → plugins/defaults/memory}/graph/graph-memory-state-store.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/graph/graph-search.test.ts +14 -11
- package/src/{memory → plugins/defaults/memory}/graph/graph-search.ts +14 -14
- package/src/{memory → plugins/defaults/memory}/graph/image-ref-utils.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/graph/injection.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/graph/narrative.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/graph/pattern-scan.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/graph/retriever.test.ts +8 -8
- package/src/{memory → plugins/defaults/memory}/graph/retriever.ts +8 -7
- package/src/{memory → plugins/defaults/memory}/graph/store.test.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/graph/store.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/graph/tool-handlers.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/graph/tools.ts +1 -1
- package/src/plugins/defaults/memory/hooks/post-compact.ts +1 -1
- package/src/plugins/defaults/memory/hooks/user-prompt-submit.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/indexer.ts +13 -13
- package/src/plugins/defaults/memory/injectors.ts +6 -6
- package/src/{memory → plugins/defaults/memory}/job-handlers/backfill.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/job-handlers/embedding.test.ts +9 -9
- package/src/{memory → plugins/defaults/memory}/job-handlers/embedding.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/job-handlers/index-maintenance.ts +10 -10
- package/src/plugins/defaults/memory/job-handlers.ts +19 -19
- package/src/{memory → plugins/defaults/memory}/jobs/__tests__/embed-concept-page.test.ts +41 -37
- package/src/{memory → plugins/defaults/memory}/jobs/embed-concept-page.ts +11 -11
- package/src/{memory → plugins/defaults/memory}/jobs/embed-pkb-file.test.ts +8 -8
- package/src/{memory → plugins/defaults/memory}/jobs/embed-pkb-file.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/memory-recall-log-store.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/memory-retrospective-enqueue.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/memory-retrospective-fork-boundary.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/memory-retrospective-job.ts +14 -14
- package/src/{memory → plugins/defaults/memory}/memory-retrospective-startup-cleanup.ts +8 -5
- package/src/{memory → plugins/defaults/memory}/memory-retrospective-state.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/memory-retrospective-trigger-check.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/memory-v2-activation-log-store.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/memory-v2-concept-frequency.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/pkb/autoinject.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/pkb/context.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/pkb/pkb-index.test.ts +11 -8
- package/src/{memory → plugins/defaults/memory}/pkb/pkb-index.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/pkb/pkb-reconcile.test.ts +11 -8
- package/src/{memory → plugins/defaults/memory}/pkb/pkb-reconcile.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/pkb/pkb-search.test.ts +11 -8
- package/src/{memory → plugins/defaults/memory}/pkb/pkb-search.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/pkb/types.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/rerank-local.ts +5 -5
- package/src/plugins/defaults/memory/routes/__tests__/memory-v2-routes.test.ts +2 -2
- package/src/plugins/defaults/memory/routes/__tests__/memory-v2-simulate-route.test.ts +8 -8
- package/src/plugins/defaults/memory/routes/memory-eval-routes.ts +2 -5
- package/src/plugins/defaults/memory/routes/memory-item-routes.ts +8 -13
- package/src/plugins/defaults/memory/routes/memory-v2-routes.ts +24 -24
- package/src/{memory → plugins/defaults/memory}/search/semantic.ts +6 -6
- package/src/{memory → plugins/defaults/memory}/segmenter.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/task-memory-cleanup.ts +2 -2
- package/src/plugins/defaults/memory/tools.test.ts +3 -3
- package/src/plugins/defaults/memory/tools.ts +7 -10
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/activation-store.test.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/activation.test.ts +22 -19
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/backfill-jobs.test.ts +32 -29
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/cli-command-store.test.ts +18 -15
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/consolidation-job.test.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/frontmatter-sweep.test.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/harness-compare.test.ts +6 -6
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/harness-oracle.test.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/harness-replay-input.test.ts +6 -6
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/harness-runner.test.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/injection-events.test.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/injection.test.ts +25 -21
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/migration.test.ts +9 -8
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/page-index.test.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/prompts-consolidation.test.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/qdrant.test.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/reranker.test.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/router.test.ts +5 -4
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/sim.test.ts +22 -19
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/skill-content.test.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/skill-store.test.ts +24 -21
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/sparse-bm25.test.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/static-context.test.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/v2/__tests__/sweep-job.test.ts +10 -9
- package/src/{memory → plugins/defaults/memory}/v2/activation-store.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/activation.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/backfill-jobs.ts +8 -8
- package/src/{memory → plugins/defaults/memory}/v2/cli-command-store.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/v2/consolidation-job.ts +7 -7
- package/src/{memory → plugins/defaults/memory}/v2/frontmatter-sweep.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/v2/harness/compare.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/harness/oracle.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/harness/replay-input.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/v2/harness/retriever.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/v2/harness/router-retriever.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/v2/injection-events.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/v2/injection.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/v2/migration.ts +7 -6
- package/src/{memory → plugins/defaults/memory}/v2/page-index.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/v2/page-store.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/v2/prompts/consolidation.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/prompts/router.ts +1 -1
- package/src/{memory → plugins/defaults/memory}/v2/qdrant.ts +5 -5
- package/src/{memory → plugins/defaults/memory}/v2/reranker.ts +3 -3
- package/src/{memory → plugins/defaults/memory}/v2/router.ts +8 -7
- package/src/{memory → plugins/defaults/memory}/v2/sim.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/skill-content.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/skill-store.ts +8 -8
- package/src/{memory → plugins/defaults/memory}/v2/sparse-bm25.ts +2 -2
- package/src/{memory → plugins/defaults/memory}/v2/static-context.ts +4 -4
- package/src/{memory → plugins/defaults/memory}/v2/sweep-job.ts +14 -11
- package/src/plugins/defaults/memory/v3/__tests__/candidate-match.test.ts +2 -2
- package/src/plugins/defaults/memory/v3/__tests__/carry-integration.test.ts +8 -11
- package/src/plugins/defaults/memory/v3/__tests__/edge.test.ts +1 -1
- package/src/plugins/defaults/memory/v3/__tests__/injection.test.ts +1 -1
- package/src/plugins/defaults/memory/v3/__tests__/live-integration.test.ts +7 -7
- package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +1 -1
- package/src/plugins/defaults/memory/v3/__tests__/orchestrate.test.ts +3 -6
- package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +2 -1
- package/src/plugins/defaults/memory/v3/__tests__/render-injection.test.ts +1 -1
- package/src/plugins/defaults/memory/v3/__tests__/shadow-integration.test.ts +2 -6
- package/src/plugins/defaults/memory/v3/__tests__/shadow-plugin.test.ts +7 -7
- package/src/plugins/defaults/memory/v3/candidate-match.ts +2 -2
- package/src/plugins/defaults/memory/v3/capabilities.ts +2 -5
- package/src/plugins/defaults/memory/v3/card.ts +1 -1
- package/src/plugins/defaults/memory/v3/edge.ts +1 -1
- package/src/plugins/defaults/memory/v3/injector.ts +1 -4
- package/src/plugins/defaults/memory/v3/maintain-job.ts +3 -3
- package/src/plugins/defaults/memory/v3/page-content.ts +2 -5
- package/src/plugins/defaults/memory/v3/pool-select.test.ts +2 -1
- package/src/plugins/defaults/memory/v3/pool-select.ts +1 -1
- package/src/plugins/defaults/memory/v3/prune.test.ts +2 -2
- package/src/plugins/defaults/memory/v3/prune.ts +4 -7
- package/src/plugins/defaults/memory/v3/render-injection.ts +1 -1
- package/src/plugins/defaults/memory/v3/selection-log-store.ts +1 -1
- package/src/plugins/defaults/memory/v3/shadow-plugin.ts +2 -5
- package/src/{memory → plugins/defaults/memory}/v3-eval/eval-packets.ts +13 -13
- package/src/plugins/types.ts +1 -1
- package/src/prompts/system-prompt.ts +1 -1
- package/src/providers/__tests__/placeholder-sentinels.test.ts +80 -0
- package/src/providers/anthropic/client.ts +13 -17
- package/src/providers/inference/__tests__/base-url-security.test.ts +1 -1
- package/src/providers/inference/resolve-auth.ts +3 -3
- package/src/providers/placeholder-sentinels.ts +50 -15
- package/src/runtime/__tests__/agent-wake.test.ts +2 -2
- package/src/runtime/__tests__/guardian-vellum-migration.test.ts +7 -5
- package/src/runtime/routes/__tests__/acp-routes.test.ts +2 -2
- package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +7 -7
- package/src/runtime/routes/__tests__/home-feed-routes.test.ts +1 -1
- package/src/runtime/routes/__tests__/ps-routes.test.ts +3 -3
- package/src/runtime/routes/__tests__/retrospective-routes.test.ts +4 -4
- package/src/runtime/routes/acp-routes.test.ts +1 -1
- package/src/runtime/routes/acp-routes.ts +1 -1
- package/src/runtime/routes/consolidation-routes.ts +1 -1
- package/src/runtime/routes/conversation-query-routes.ts +3 -3
- package/src/runtime/routes/conversation-routes.ts +1 -1
- package/src/runtime/routes/conversations-import-routes.ts +1 -1
- package/src/runtime/routes/global-search-routes.ts +1 -1
- package/src/runtime/routes/retrospective-routes.ts +4 -4
- package/src/runtime/routes/schedule-routes.ts +1 -2
- package/src/runtime/routes/task-routes.ts +18 -29
- package/src/runtime/services/__tests__/auto-analysis-enqueue.test.ts +7 -4
- package/src/runtime/services/analyze-conversation.ts +1 -1
- package/src/runtime/services/auto-analysis-enqueue.ts +1 -1
- package/src/schedule/scheduler.ts +1 -1
- package/src/skills/catalog-install.ts +1 -1
- package/src/skills/managed-store.ts +1 -1
- package/src/tasks/task-runner.ts +1 -1
- package/src/telemetry/turn-trace-store.ts +2 -2
- package/src/telemetry/usage-telemetry-reporter.test.ts +2 -2
- package/src/telemetry/usage-telemetry-reporter.ts +3 -6
- package/src/tools/acp/spawn.test.ts +2 -2
- package/src/tools/browser/cdp-client/cdp-inspect/__tests__/discovery.test.ts +3 -3
- package/src/tools/filesystem/write.ts +2 -2
- package/src/tools/skills/scaffold-managed.ts +1 -1
- package/src/util/__tests__/process-tree.test.ts +4 -4
- package/src/util/process-tree.ts +3 -3
- package/src/workflows/leaf-runner.test.ts +6 -3
- package/src/workflows/leaf-runner.ts +1 -1
- package/src/workspace/migrations/__tests__/backfill-v3-leaves.test.ts +5 -2
- /package/src/{memory → persistence/embeddings}/__tests__/sparse-tokenize.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/__tests__/fixtures/memory-v2-activation-fixtures.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/__tests__/memory-retrospective-trigger-check.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/anisotropy.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/context-search/__tests__/agent-runner-redaction.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/context-search/format.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/context-search/limits.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/context-search/sources/workspace.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/decay.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/extraction.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/injection.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/scoring.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/scoring.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/serendipity.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/triggers.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/triggers.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/graph/types.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/memory-marker.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/memory-retrospective-constants.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/prompt-override.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/retrieval-budget.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/__tests__/__snapshots__/prompts-router.test.ts.snap +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/__tests__/concept-page-frontmatter-schema.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/__tests__/consolidation-prompt-flag-gating-guard.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/__tests__/edge-index.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/__tests__/harness-metrics.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/__tests__/injected-block-slugs.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/__tests__/page-store.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/__tests__/prompts-router.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/cli-command-content.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/constants.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/edge-index.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/harness/metrics.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/harness/runner.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/harness/trace.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/injected-block-slugs.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/now-text.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/prompts/sweep.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v2/types.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v3-eval/__tests__/eval-packets.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v3-eval/__tests__/eval-tally.test.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/v3-eval/eval-tally.ts +0 -0
- /package/src/{memory → plugins/defaults/memory}/validation.ts +0 -0
|
@@ -54,9 +54,10 @@ const ALLOWED_PREFIXES = {
|
|
|
54
54
|
"../../../util/platform",
|
|
55
55
|
// Memory retrospective — the retrospective CLI runs the fork-based
|
|
56
56
|
// retrospective in-process (no daemon, no IPC), so it imports the
|
|
57
|
-
// job handler directly. Depth-2 for
|
|
58
|
-
|
|
59
|
-
"
|
|
57
|
+
// job handler directly from the default-memory plugin. Depth-2 for
|
|
58
|
+
// commands/memory/ nesting.
|
|
59
|
+
"../../plugins/defaults/memory/memory-retrospective-job",
|
|
60
|
+
"../../../plugins/defaults/memory/memory-retrospective-job",
|
|
60
61
|
// Standalone tool execution — `tools run` executes a single tool
|
|
61
62
|
// in-process from the filesystem (no daemon, no IPC), so it imports the
|
|
62
63
|
// standalone runner directly. Depth-2 for commands/ nesting.
|
package/package.json
CHANGED
|
@@ -29,7 +29,7 @@ mock.module("../util/logger.js", () => ({
|
|
|
29
29
|
|
|
30
30
|
const { applyBootstrapTemplate } = await import("../prompts/system-prompt.js");
|
|
31
31
|
const { isActivationSession } =
|
|
32
|
-
await import("../memory/activation-session-store.js");
|
|
32
|
+
await import("../plugins/defaults/memory/activation-session-store.js");
|
|
33
33
|
const { ACTIVATION_RAIL_BOOTSTRAP_TEMPLATE } =
|
|
34
34
|
await import("../telemetry/activation-funnel.js");
|
|
35
35
|
const { getDb } = await import("../persistence/db-connection.js");
|
|
@@ -2087,6 +2087,54 @@ describe("AnthropicProvider — Cache-Control Characterization", () => {
|
|
|
2087
2087
|
expect(emitted).toEqual([]);
|
|
2088
2088
|
});
|
|
2089
2089
|
|
|
2090
|
+
test("suppresses a leading-space-corrupted sentinel echo (proxy dropped the guard byte)", async () => {
|
|
2091
|
+
// OpenRouter's Anthropic-compat path returns the `\x00` guard as a leading
|
|
2092
|
+
// space; the normalized prefix check must still hold and drop it.
|
|
2093
|
+
scriptedStream = [
|
|
2094
|
+
{ kind: "blockStart" },
|
|
2095
|
+
{ kind: "text", text: " __PLACEHOLDER__[empty assistant turn]" },
|
|
2096
|
+
{ kind: "blockStop" },
|
|
2097
|
+
];
|
|
2098
|
+
const emitted: string[] = [];
|
|
2099
|
+
await provider.sendMessage([userMsg("Hi")], {
|
|
2100
|
+
onEvent: (event) => {
|
|
2101
|
+
if (event.type === "text_delta") emitted.push(event.text);
|
|
2102
|
+
},
|
|
2103
|
+
});
|
|
2104
|
+
expect(emitted).toEqual([]);
|
|
2105
|
+
});
|
|
2106
|
+
|
|
2107
|
+
test("suppresses a leading-space-corrupted sentinel split across chunks", async () => {
|
|
2108
|
+
scriptedStream = [
|
|
2109
|
+
{ kind: "blockStart" },
|
|
2110
|
+
{ kind: "text", text: " __PLACE" },
|
|
2111
|
+
{ kind: "text", text: "HOLDER__[empty assistant turn]" },
|
|
2112
|
+
{ kind: "blockStop" },
|
|
2113
|
+
];
|
|
2114
|
+
const emitted: string[] = [];
|
|
2115
|
+
await provider.sendMessage([userMsg("Hi")], {
|
|
2116
|
+
onEvent: (event) => {
|
|
2117
|
+
if (event.type === "text_delta") emitted.push(event.text);
|
|
2118
|
+
},
|
|
2119
|
+
});
|
|
2120
|
+
expect(emitted).toEqual([]);
|
|
2121
|
+
});
|
|
2122
|
+
|
|
2123
|
+
test("still streams real text that begins with whitespace", async () => {
|
|
2124
|
+
scriptedStream = [
|
|
2125
|
+
{ kind: "blockStart" },
|
|
2126
|
+
{ kind: "text", text: " hello there" },
|
|
2127
|
+
{ kind: "blockStop" },
|
|
2128
|
+
];
|
|
2129
|
+
const emitted: string[] = [];
|
|
2130
|
+
await provider.sendMessage([userMsg("Hi")], {
|
|
2131
|
+
onEvent: (event) => {
|
|
2132
|
+
if (event.type === "text_delta") emitted.push(event.text);
|
|
2133
|
+
},
|
|
2134
|
+
});
|
|
2135
|
+
expect(emitted.join("")).toBe(" hello there");
|
|
2136
|
+
});
|
|
2137
|
+
|
|
2090
2138
|
test("flushes buffered prefix when the continuation diverges from all sentinels", async () => {
|
|
2091
2139
|
// "__PLACEHOLDER__" is a prefix of the sentinels, so it stays buffered.
|
|
2092
2140
|
// Once the next chunk diverges (bracket instead of the expected opening),
|
|
@@ -130,7 +130,6 @@ mock.module("../runtime/services/analyze-conversation.js", () => ({
|
|
|
130
130
|
|
|
131
131
|
// ── Real imports ──────────────────────────────────────────────────
|
|
132
132
|
|
|
133
|
-
import { indexMessageNow } from "../memory/indexer.js";
|
|
134
133
|
import { createConversation } from "../persistence/conversation-crud.js";
|
|
135
134
|
import { getDb, getMemoryDb } from "../persistence/db-connection.js";
|
|
136
135
|
import { initializeDb } from "../persistence/db-init.js";
|
|
@@ -140,6 +139,7 @@ import {
|
|
|
140
139
|
memoryJobs,
|
|
141
140
|
messages,
|
|
142
141
|
} from "../persistence/schema/index.js";
|
|
142
|
+
import { indexMessageNow } from "../plugins/defaults/memory/indexer.js";
|
|
143
143
|
import { conversationAnalyzeJob } from "../runtime/services/conversation-analyze-job.js";
|
|
144
144
|
import { setOverridesForTesting } from "./feature-flag-test-helpers.js";
|
|
145
145
|
|
|
@@ -41,7 +41,7 @@ mock.module("../ipc/cli-client.js", () => ({
|
|
|
41
41
|
}));
|
|
42
42
|
|
|
43
43
|
let seedCallCount = 0;
|
|
44
|
-
mock.module("../memory/v2/skill-store.js", () => ({
|
|
44
|
+
mock.module("../plugins/defaults/memory/v2/skill-store.js", () => ({
|
|
45
45
|
seedV2SkillEntries: async () => {
|
|
46
46
|
seedCallCount += 1;
|
|
47
47
|
},
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
truncateRecallEvidenceToBudget,
|
|
10
10
|
validateFinishRecallPayload,
|
|
11
11
|
validateRecallCitationIds,
|
|
12
|
-
} from "../memory/context-search/agent-protocol.js";
|
|
13
|
-
import type { RecallEvidence } from "../memory/context-search/types.js";
|
|
12
|
+
} from "../plugins/defaults/memory/context-search/agent-protocol.js";
|
|
13
|
+
import type { RecallEvidence } from "../plugins/defaults/memory/context-search/types.js";
|
|
14
14
|
|
|
15
15
|
function makeEvidence(
|
|
16
16
|
id: string,
|
|
@@ -22,13 +22,13 @@ mock.module("../providers/provider-send-message.js", () => ({
|
|
|
22
22
|
},
|
|
23
23
|
}));
|
|
24
24
|
|
|
25
|
-
import { runAgenticRecall } from "../memory/context-search/agent-runner.js";
|
|
25
|
+
import { runAgenticRecall } from "../plugins/defaults/memory/context-search/agent-runner.js";
|
|
26
26
|
import type {
|
|
27
27
|
RecallEvidence,
|
|
28
28
|
RecallSearchContext,
|
|
29
29
|
RecallSource,
|
|
30
30
|
RecallSourceAdapter,
|
|
31
|
-
} from "../memory/context-search/types.js";
|
|
31
|
+
} from "../plugins/defaults/memory/context-search/types.js";
|
|
32
32
|
|
|
33
33
|
interface SearchCall {
|
|
34
34
|
source: RecallSource;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, test } from "bun:test";
|
|
2
2
|
|
|
3
|
-
import { searchConversationSource } from "../memory/context-search/sources/conversations.js";
|
|
4
|
-
import type { RecallSearchContext } from "../memory/context-search/types.js";
|
|
5
3
|
import { writeSlackMetadata } from "../messaging/providers/slack/message-metadata.js";
|
|
6
4
|
import { getDb } from "../persistence/db-connection.js";
|
|
7
5
|
import { initializeDb } from "../persistence/db-init.js";
|
|
8
6
|
import { rawRun } from "../persistence/raw-query.js";
|
|
7
|
+
import { searchConversationSource } from "../plugins/defaults/memory/context-search/sources/conversations.js";
|
|
8
|
+
import type { RecallSearchContext } from "../plugins/defaults/memory/context-search/types.js";
|
|
9
9
|
await initializeDb();
|
|
10
10
|
|
|
11
11
|
let seedId = 0;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { describe, expect, test } from "bun:test";
|
|
2
2
|
|
|
3
3
|
import type { AssistantConfig } from "../config/schema.js";
|
|
4
|
-
import { formatDeterministicRecallAnswer } from "../memory/context-search/format.js";
|
|
5
|
-
import { runDeterministicRecallSearch } from "../memory/context-search/search.js";
|
|
4
|
+
import { formatDeterministicRecallAnswer } from "../plugins/defaults/memory/context-search/format.js";
|
|
5
|
+
import { runDeterministicRecallSearch } from "../plugins/defaults/memory/context-search/search.js";
|
|
6
6
|
import type {
|
|
7
7
|
RecallEvidence,
|
|
8
8
|
RecallSearchContext,
|
|
9
9
|
RecallSource,
|
|
10
10
|
RecallSourceAdapter,
|
|
11
|
-
} from "../memory/context-search/types.js";
|
|
11
|
+
} from "../plugins/defaults/memory/context-search/types.js";
|
|
12
12
|
|
|
13
13
|
function makeContext(): RecallSearchContext {
|
|
14
14
|
return {
|
|
@@ -5,18 +5,19 @@ import type {
|
|
|
5
5
|
RecallEvidence,
|
|
6
6
|
RecallSearchContext,
|
|
7
7
|
RecallSearchResult,
|
|
8
|
-
} from "../memory/context-search/types.js";
|
|
9
|
-
import type { MemoryNode } from "../memory/graph/types.js";
|
|
8
|
+
} from "../plugins/defaults/memory/context-search/types.js";
|
|
9
|
+
import type { MemoryNode } from "../plugins/defaults/memory/graph/types.js";
|
|
10
10
|
|
|
11
11
|
const loggerModule = import.meta.resolve("../util/logger.js");
|
|
12
12
|
const embedModule = import.meta.resolve("../persistence/embeddings/embed.js");
|
|
13
13
|
const embeddingBackendModule = import.meta
|
|
14
14
|
.resolve("../persistence/embeddings/embedding-backend.js");
|
|
15
15
|
const graphSearchModule = import.meta
|
|
16
|
-
.resolve("../memory/graph/graph-search.js");
|
|
17
|
-
const graphStoreModule = import.meta
|
|
16
|
+
.resolve("../plugins/defaults/memory/graph/graph-search.js");
|
|
17
|
+
const graphStoreModule = import.meta
|
|
18
|
+
.resolve("../plugins/defaults/memory/graph/store.js");
|
|
18
19
|
const memoryV2SourceModule = import.meta
|
|
19
|
-
.resolve("../memory/context-search/sources/memory-v2.js");
|
|
20
|
+
.resolve("../plugins/defaults/memory/context-search/sources/memory-v2.js");
|
|
20
21
|
|
|
21
22
|
const warnCalls: unknown[][] = [];
|
|
22
23
|
mock.module(loggerModule, () => ({
|
|
@@ -118,7 +119,7 @@ mock.module(memoryV2SourceModule, () => ({
|
|
|
118
119
|
}));
|
|
119
120
|
|
|
120
121
|
const { searchMemorySource } =
|
|
121
|
-
await import("../memory/context-search/sources/memory.js");
|
|
122
|
+
await import("../plugins/defaults/memory/context-search/sources/memory.js");
|
|
122
123
|
|
|
123
124
|
describe("searchMemorySource", () => {
|
|
124
125
|
beforeEach(() => {
|
|
@@ -25,9 +25,9 @@ import { dirname, join } from "node:path";
|
|
|
25
25
|
import { afterEach, beforeEach, describe, expect, mock, test } from "bun:test";
|
|
26
26
|
|
|
27
27
|
import type { AssistantConfig } from "../config/schema.js";
|
|
28
|
-
import type { RecallSearchContext } from "../memory/context-search/types.js";
|
|
29
|
-
import type { EdgeIndex } from "../memory/v2/edge-index.js";
|
|
30
|
-
import type { ConceptPage } from "../memory/v2/types.js";
|
|
28
|
+
import type { RecallSearchContext } from "../plugins/defaults/memory/context-search/types.js";
|
|
29
|
+
import type { EdgeIndex } from "../plugins/defaults/memory/v2/edge-index.js";
|
|
30
|
+
import type { ConceptPage } from "../plugins/defaults/memory/v2/types.js";
|
|
31
31
|
import { makeMockLogger } from "./helpers/mock-logger.js";
|
|
32
32
|
|
|
33
33
|
mock.module("../util/logger.js", () => ({
|
|
@@ -54,7 +54,7 @@ let qdrantHits: QdrantHit[] = [];
|
|
|
54
54
|
let qdrantThrows: Error | null = null;
|
|
55
55
|
const qdrantCalls: Array<{ limit: number }> = [];
|
|
56
56
|
|
|
57
|
-
mock.module("../memory/v2/qdrant.js", () => ({
|
|
57
|
+
mock.module("../plugins/defaults/memory/v2/qdrant.js", () => ({
|
|
58
58
|
hybridQueryConceptPages: async (
|
|
59
59
|
_dense: number[],
|
|
60
60
|
_sparse: { indices: number[]; values: number[] },
|
|
@@ -71,7 +71,7 @@ let edgeIndex: EdgeIndex = {
|
|
|
71
71
|
incoming: new Map<string, Set<string>>(),
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
-
mock.module("../memory/v2/edge-index.js", () => ({
|
|
74
|
+
mock.module("../plugins/defaults/memory/v2/edge-index.js", () => ({
|
|
75
75
|
getEdgeIndex: async (): Promise<EdgeIndex> => edgeIndex,
|
|
76
76
|
invalidateEdgeIndex: () => {},
|
|
77
77
|
getReachable: () => new Set<string>(),
|
|
@@ -81,7 +81,7 @@ mock.module("../memory/v2/edge-index.js", () => ({
|
|
|
81
81
|
|
|
82
82
|
const pageStore = new Map<string, ConceptPage>();
|
|
83
83
|
|
|
84
|
-
mock.module("../memory/v2/page-store.js", () => ({
|
|
84
|
+
mock.module("../plugins/defaults/memory/v2/page-store.js", () => ({
|
|
85
85
|
getConceptsDir: (workspaceDir: string): string =>
|
|
86
86
|
join(workspaceDir, "memory", "concepts"),
|
|
87
87
|
listPages: async (): Promise<string[]> => [...pageStore.keys()],
|
|
@@ -101,7 +101,7 @@ mock.module("../memory/v2/page-store.js", () => ({
|
|
|
101
101
|
}));
|
|
102
102
|
|
|
103
103
|
const { searchMemoryV2Source } =
|
|
104
|
-
await import("../memory/context-search/sources/memory-v2.js");
|
|
104
|
+
await import("../plugins/defaults/memory/context-search/sources/memory-v2.js");
|
|
105
105
|
|
|
106
106
|
const testDirs: string[] = [];
|
|
107
107
|
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
RECALL_EVIDENCE_TEXT_CAP_PER_SOURCE,
|
|
10
10
|
RECALL_SOURCE_ROUNDS_BY_DEPTH,
|
|
11
11
|
RECALL_TOTAL_EVIDENCE_TEXT_CAP,
|
|
12
|
-
} from "../memory/context-search/limits.js";
|
|
12
|
+
} from "../plugins/defaults/memory/context-search/limits.js";
|
|
13
13
|
import type {
|
|
14
14
|
RecallInput,
|
|
15
15
|
RecallSource,
|
|
16
16
|
RecallSourceAdapter,
|
|
17
|
-
} from "../memory/context-search/types.js";
|
|
17
|
+
} from "../plugins/defaults/memory/context-search/types.js";
|
|
18
18
|
|
|
19
19
|
describe("normalizeRecallInput", () => {
|
|
20
20
|
test("defaults omitted sources, max results, and depth", () => {
|
|
@@ -16,8 +16,8 @@ import {
|
|
|
16
16
|
searchWorkspaceSource,
|
|
17
17
|
WORKSPACE_SOURCE_MAX_FILE_SIZE_BYTES,
|
|
18
18
|
WORKSPACE_SOURCE_MAX_SCANNED_FILES,
|
|
19
|
-
} from "../memory/context-search/sources/workspace.js";
|
|
20
|
-
import type { RecallSearchContext } from "../memory/context-search/types.js";
|
|
19
|
+
} from "../plugins/defaults/memory/context-search/sources/workspace.js";
|
|
20
|
+
import type { RecallSearchContext } from "../plugins/defaults/memory/context-search/types.js";
|
|
21
21
|
|
|
22
22
|
const testDirs: string[] = [];
|
|
23
23
|
|
|
@@ -329,7 +329,7 @@ const indexMessageNowMock = mock(async () => ({
|
|
|
329
329
|
}));
|
|
330
330
|
const projectAssistantMessageMock = mock(() => false);
|
|
331
331
|
const publishSyncInvalidationMock = mock(async () => {});
|
|
332
|
-
mock.module("../memory/indexer.js", () => ({
|
|
332
|
+
mock.module("../plugins/defaults/memory/indexer.js", () => ({
|
|
333
333
|
indexMessageNow: indexMessageNowMock,
|
|
334
334
|
}));
|
|
335
335
|
mock.module("../persistence/conversation-attention-store.js", () => ({
|
|
@@ -21,16 +21,6 @@ mock.module("../config/loader.js", () => ({
|
|
|
21
21
|
}),
|
|
22
22
|
}));
|
|
23
23
|
|
|
24
|
-
import {
|
|
25
|
-
loadGraphMemoryState,
|
|
26
|
-
saveGraphMemoryState,
|
|
27
|
-
} from "../memory/graph/graph-memory-state-store.js";
|
|
28
|
-
import {
|
|
29
|
-
bumpRetrospectiveLastRunAt,
|
|
30
|
-
getRetrospectiveState,
|
|
31
|
-
upsertRetrospectiveState,
|
|
32
|
-
} from "../memory/memory-retrospective-state.js";
|
|
33
|
-
import { hydrate as hydrateActivationState } from "../memory/v2/activation-store.js";
|
|
34
24
|
import {
|
|
35
25
|
getAttachmentsForMessage,
|
|
36
26
|
linkAttachmentToMessage,
|
|
@@ -65,6 +55,16 @@ import {
|
|
|
65
55
|
memoryRetrospectiveState,
|
|
66
56
|
toolInvocations,
|
|
67
57
|
} from "../persistence/schema/index.js";
|
|
58
|
+
import {
|
|
59
|
+
loadGraphMemoryState,
|
|
60
|
+
saveGraphMemoryState,
|
|
61
|
+
} from "../plugins/defaults/memory/graph/graph-memory-state-store.js";
|
|
62
|
+
import {
|
|
63
|
+
bumpRetrospectiveLastRunAt,
|
|
64
|
+
getRetrospectiveState,
|
|
65
|
+
upsertRetrospectiveState,
|
|
66
|
+
} from "../plugins/defaults/memory/memory-retrospective-state.js";
|
|
67
|
+
import { hydrate as hydrateActivationState } from "../plugins/defaults/memory/v2/activation-store.js";
|
|
68
68
|
import {
|
|
69
69
|
getInjected as getV3Injected,
|
|
70
70
|
markPruned as markV3Pruned,
|
|
@@ -19,10 +19,6 @@ mock.module("../config/loader.js", () => ({
|
|
|
19
19
|
}),
|
|
20
20
|
}));
|
|
21
21
|
|
|
22
|
-
import {
|
|
23
|
-
loadGraphMemoryState,
|
|
24
|
-
saveGraphMemoryState,
|
|
25
|
-
} from "../memory/graph/graph-memory-state-store.js";
|
|
26
22
|
import {
|
|
27
23
|
getAttachmentsForMessage,
|
|
28
24
|
linkAttachmentToMessage,
|
|
@@ -54,6 +50,10 @@ import {
|
|
|
54
50
|
memoryRetrospectiveState,
|
|
55
51
|
toolInvocations,
|
|
56
52
|
} from "../persistence/schema/index.js";
|
|
53
|
+
import {
|
|
54
|
+
loadGraphMemoryState,
|
|
55
|
+
saveGraphMemoryState,
|
|
56
|
+
} from "../plugins/defaults/memory/graph/graph-memory-state-store.js";
|
|
57
57
|
|
|
58
58
|
await initializeDb();
|
|
59
59
|
|
|
@@ -75,7 +75,7 @@ let pkbSearchResults: Array<{
|
|
|
75
75
|
hybridScore?: number;
|
|
76
76
|
}> = [];
|
|
77
77
|
let pkbSearchThrows: Error | null = null;
|
|
78
|
-
mock.module("../memory/pkb/pkb-search.js", () => ({
|
|
78
|
+
mock.module("../plugins/defaults/memory/pkb/pkb-search.js", () => ({
|
|
79
79
|
searchPkbFiles: async () => {
|
|
80
80
|
if (pkbSearchThrows) throw pkbSearchThrows;
|
|
81
81
|
return pkbSearchResults;
|
|
@@ -132,8 +132,6 @@ import {
|
|
|
132
132
|
import type { SurfaceData, SurfaceType } from "../daemon/message-protocol.js";
|
|
133
133
|
import { buildPkbReminder } from "../daemon/pkb-reminder-builder.js";
|
|
134
134
|
import type { TrustContext } from "../daemon/trust-context.js";
|
|
135
|
-
import { ConversationGraphMemory } from "../memory/graph/conversation-graph-memory.js";
|
|
136
|
-
import { getPkbRoot } from "../memory/pkb/types.js";
|
|
137
135
|
import {
|
|
138
136
|
type SlackMessageMetadata,
|
|
139
137
|
writeSlackMetadata,
|
|
@@ -144,7 +142,9 @@ import { getDb } from "../persistence/db-connection.js";
|
|
|
144
142
|
import { initializeDb } from "../persistence/db-init.js";
|
|
145
143
|
import { conversations, messages } from "../persistence/schema/index.js";
|
|
146
144
|
import { registerDefaultPluginInjectors } from "../plugins/defaults/index.js";
|
|
145
|
+
import { ConversationGraphMemory } from "../plugins/defaults/memory/graph/conversation-graph-memory.js";
|
|
147
146
|
import postCompact from "../plugins/defaults/memory/hooks/post-compact.js";
|
|
147
|
+
import { getPkbRoot } from "../plugins/defaults/memory/pkb/types.js";
|
|
148
148
|
import {
|
|
149
149
|
buildUnifiedTurnContextBlock,
|
|
150
150
|
type UnifiedTurnContextOptions,
|
|
@@ -35,10 +35,6 @@ const { createSurfaceMutex, handleSurfaceAction, surfaceProxyResolver } =
|
|
|
35
35
|
|
|
36
36
|
import type { SurfaceConversationContext } from "../daemon/conversation-surfaces.js";
|
|
37
37
|
import type { SurfaceType, UiSurfaceShow } from "../daemon/message-protocol.js";
|
|
38
|
-
import {
|
|
39
|
-
isActivationSession,
|
|
40
|
-
markActivationSession,
|
|
41
|
-
} from "../memory/activation-session-store.js";
|
|
42
38
|
import { queryUnreportedOnboardingEvents } from "../onboarding/onboarding-events-store.js";
|
|
43
39
|
import { getDb } from "../persistence/db-connection.js";
|
|
44
40
|
import { initializeDb } from "../persistence/db-init.js";
|
|
@@ -46,6 +42,10 @@ import {
|
|
|
46
42
|
activationSessions,
|
|
47
43
|
onboardingEvents,
|
|
48
44
|
} from "../persistence/schema/index.js";
|
|
45
|
+
import {
|
|
46
|
+
isActivationSession,
|
|
47
|
+
markActivationSession,
|
|
48
|
+
} from "../plugins/defaults/memory/activation-session-store.js";
|
|
49
49
|
|
|
50
50
|
await initializeDb();
|
|
51
51
|
|
|
@@ -135,7 +135,7 @@ mock.module("../memory/query-builder.js", () => ({
|
|
|
135
135
|
buildMemoryQuery: () => "",
|
|
136
136
|
}));
|
|
137
137
|
|
|
138
|
-
mock.module("../memory/retrieval-budget.js", () => ({
|
|
138
|
+
mock.module("../plugins/defaults/memory/retrieval-budget.js", () => ({
|
|
139
139
|
computeRecallBudget: () => 0,
|
|
140
140
|
}));
|
|
141
141
|
|
|
@@ -175,7 +175,7 @@ mock.module("../memory/retriever.js", () => ({
|
|
|
175
175
|
mock.module("../memory/query-builder.js", () => ({
|
|
176
176
|
buildMemoryQuery: () => "",
|
|
177
177
|
}));
|
|
178
|
-
mock.module("../memory/retrieval-budget.js", () => ({
|
|
178
|
+
mock.module("../plugins/defaults/memory/retrieval-budget.js", () => ({
|
|
179
179
|
computeRecallBudget: () => 0,
|
|
180
180
|
}));
|
|
181
181
|
mock.module("../plugins/defaults/compaction/window-manager.js", () => ({
|
|
@@ -172,7 +172,7 @@ mock.module("../memory/retriever.js", () => ({
|
|
|
172
172
|
mock.module("../memory/query-builder.js", () => ({
|
|
173
173
|
buildMemoryQuery: () => "",
|
|
174
174
|
}));
|
|
175
|
-
mock.module("../memory/retrieval-budget.js", () => ({
|
|
175
|
+
mock.module("../plugins/defaults/memory/retrieval-budget.js", () => ({
|
|
176
176
|
computeRecallBudget: () => 0,
|
|
177
177
|
}));
|
|
178
178
|
mock.module("../plugins/defaults/compaction/window-manager.js", () => ({
|
|
@@ -28,7 +28,7 @@ const enqueueCalls: Array<{
|
|
|
28
28
|
}> = [];
|
|
29
29
|
let enqueueThrows = false;
|
|
30
30
|
|
|
31
|
-
mock.module("../memory/jobs/embed-pkb-file.js", () => ({
|
|
31
|
+
mock.module("../plugins/defaults/memory/jobs/embed-pkb-file.js", () => ({
|
|
32
32
|
enqueuePkbIndexJob: (input: {
|
|
33
33
|
pkbRoot: string;
|
|
34
34
|
absPath: string;
|
|
@@ -49,7 +49,7 @@ function setWorkspaceDir(dir: string): void {
|
|
|
49
49
|
process.env.VELLUM_WORKSPACE_DIR = dir;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
import { PKB_WORKSPACE_SCOPE } from "../memory/pkb/types.js";
|
|
52
|
+
import { PKB_WORKSPACE_SCOPE } from "../plugins/defaults/memory/pkb/types.js";
|
|
53
53
|
import { getTool } from "../tools/registry.js";
|
|
54
54
|
import type { Tool, ToolContext } from "../tools/types.js";
|
|
55
55
|
|
|
@@ -267,7 +267,7 @@ describe("file_write artifact-HTML guard", () => {
|
|
|
267
267
|
const html =
|
|
268
268
|
"<!doctype html><html><head><title>Food Market</title></head>" +
|
|
269
269
|
"<body><canvas id='c'></canvas><script>" +
|
|
270
|
-
|
|
270
|
+
"const data=[{x:1,y:2}];".padEnd(4000, "/") +
|
|
271
271
|
"new Chart(document.getElementById('c'), {data});</script></body></html>";
|
|
272
272
|
|
|
273
273
|
const result = await fileWriteTool.execute(
|
|
@@ -165,7 +165,7 @@ mock.module("../skills/managed-store.js", () => ({
|
|
|
165
165
|
validateManagedSkillId: () => null,
|
|
166
166
|
}));
|
|
167
167
|
|
|
168
|
-
mock.module("../memory/graph/capability-seed.js", () => ({
|
|
168
|
+
mock.module("../plugins/defaults/memory/graph/capability-seed.js", () => ({
|
|
169
169
|
deleteSkillCapabilityNode: () => {},
|
|
170
170
|
seedSkillGraphNodes: () => {},
|
|
171
171
|
seedUninstalledCatalogSkillMemories: async () => {},
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
EVENT_DATE_PROMPT_RULES,
|
|
6
6
|
parseEpochMs,
|
|
7
7
|
parseExtractionResponse,
|
|
8
|
-
} from "../memory/graph/extraction.js";
|
|
8
|
+
} from "../plugins/defaults/memory/graph/extraction.js";
|
|
9
9
|
|
|
10
10
|
// ---------------------------------------------------------------------------
|
|
11
11
|
// parseEpochMs unit tests
|
|
@@ -148,7 +148,7 @@ mock.module("../skills/managed-store.js", () => ({
|
|
|
148
148
|
validateManagedSkillId: () => null,
|
|
149
149
|
}));
|
|
150
150
|
|
|
151
|
-
mock.module("../memory/graph/capability-seed.js", () => ({
|
|
151
|
+
mock.module("../plugins/defaults/memory/graph/capability-seed.js", () => ({
|
|
152
152
|
deleteSkillCapabilityNode: () => {},
|
|
153
153
|
}));
|
|
154
154
|
|
|
@@ -7,15 +7,12 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { afterEach, beforeEach, describe, expect, it } from "bun:test";
|
|
9
9
|
|
|
10
|
-
import {
|
|
11
|
-
mockGatewayIpc,
|
|
12
|
-
resetMockGatewayIpc,
|
|
13
|
-
} from "../__tests__/mock-gateway-ipc.js";
|
|
14
10
|
import {
|
|
15
11
|
clearFeatureFlagOverridesCache,
|
|
16
12
|
initFeatureFlagOverrides,
|
|
17
13
|
isAssistantFeatureFlagEnabled,
|
|
18
14
|
} from "../config/assistant-feature-flags.js";
|
|
15
|
+
import { mockGatewayIpc, resetMockGatewayIpc } from "./mock-gateway-ipc.js";
|
|
19
16
|
|
|
20
17
|
beforeEach(() => {
|
|
21
18
|
clearFeatureFlagOverridesCache();
|
|
@@ -3,8 +3,11 @@ import { describe, expect, test } from "bun:test";
|
|
|
3
3
|
import {
|
|
4
4
|
assembleContextBlock,
|
|
5
5
|
assembleInjectionBlock,
|
|
6
|
-
} from "../memory/graph/injection.js";
|
|
7
|
-
import type {
|
|
6
|
+
} from "../plugins/defaults/memory/graph/injection.js";
|
|
7
|
+
import type {
|
|
8
|
+
MemoryNode,
|
|
9
|
+
ScoredNode,
|
|
10
|
+
} from "../plugins/defaults/memory/graph/types.js";
|
|
8
11
|
|
|
9
12
|
function makeScoredNode(
|
|
10
13
|
overrides: Partial<MemoryNode> & { content: string },
|
|
@@ -68,7 +68,6 @@ import {
|
|
|
68
68
|
setConversation,
|
|
69
69
|
} from "../daemon/conversation-registry.js";
|
|
70
70
|
import { buildPkbReminder } from "../daemon/pkb-reminder-builder.js";
|
|
71
|
-
import { getPkbRoot } from "../memory/pkb/types.js";
|
|
72
71
|
import {
|
|
73
72
|
type SlackMessageMetadata,
|
|
74
73
|
writeSlackMetadata,
|
|
@@ -76,6 +75,7 @@ import {
|
|
|
76
75
|
import { getDb } from "../persistence/db-connection.js";
|
|
77
76
|
import { initializeDb } from "../persistence/db-init.js";
|
|
78
77
|
import { conversations, messages } from "../persistence/schema/index.js";
|
|
78
|
+
import { getPkbRoot } from "../plugins/defaults/memory/pkb/types.js";
|
|
79
79
|
import { buildUnifiedTurnContextBlock } from "../plugins/defaults/turn-context/unified-turn-context.js";
|
|
80
80
|
import type { TurnContext } from "../plugins/types.js";
|
|
81
81
|
import type { Message } from "../providers/types.js";
|
|
@@ -30,7 +30,7 @@ mock.module("../config/loader.js", () => ({
|
|
|
30
30
|
}),
|
|
31
31
|
}));
|
|
32
32
|
|
|
33
|
-
mock.module("../memory/pkb/pkb-search.js", () => ({
|
|
33
|
+
mock.module("../plugins/defaults/memory/pkb/pkb-search.js", () => ({
|
|
34
34
|
searchPkbFiles: async () => [],
|
|
35
35
|
}));
|
|
36
36
|
|
|
@@ -38,7 +38,7 @@ const { applyRuntimeInjections } =
|
|
|
38
38
|
await import("../daemon/conversation-runtime-assembly.js");
|
|
39
39
|
const { registerDefaultPluginInjectors } =
|
|
40
40
|
await import("../plugins/defaults/index.js");
|
|
41
|
-
import { getPkbRoot } from "../memory/pkb/types.js";
|
|
41
|
+
import { getPkbRoot } from "../plugins/defaults/memory/pkb/types.js";
|
|
42
42
|
import type { TurnContext } from "../plugins/types.js";
|
|
43
43
|
import type { Message } from "../providers/types.js";
|
|
44
44
|
import { getWorkspacePromptPath } from "../util/platform.js";
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
|
|
33
33
|
import { afterEach, beforeEach, describe, expect, mock, test } from "bun:test";
|
|
34
34
|
|
|
35
|
-
import { ConversationGraphMemory } from "../memory/graph/conversation-graph-memory.js";
|
|
36
|
-
import { wrapMemorySpotlightBlock } from "../memory/memory-marker.js";
|
|
37
|
-
import { INJECTION_HEADER } from "../memory/v2/injection.js";
|
|
35
|
+
import { ConversationGraphMemory } from "../plugins/defaults/memory/graph/conversation-graph-memory.js";
|
|
36
|
+
import { wrapMemorySpotlightBlock } from "../plugins/defaults/memory/memory-marker.js";
|
|
37
|
+
import { INJECTION_HEADER } from "../plugins/defaults/memory/v2/injection.js";
|
|
38
38
|
import { V3_CARDS_INJECTION_HEADER } from "../plugins/defaults/memory/v3/render-injection.js";
|
|
39
39
|
import { MEMORY_V3_COMMIT_META_KEY } from "../plugins/defaults/memory/v3/types.js";
|
|
40
40
|
import type {
|
|
@@ -148,7 +148,7 @@ mock.module("../skills/managed-store.js", () => ({
|
|
|
148
148
|
deleteManagedSkill: () => ({ deleted: true }),
|
|
149
149
|
validateManagedSkillId: () => null,
|
|
150
150
|
}));
|
|
151
|
-
mock.module("../memory/graph/capability-seed.js", () => ({
|
|
151
|
+
mock.module("../plugins/defaults/memory/graph/capability-seed.js", () => ({
|
|
152
152
|
deleteSkillCapabilityNode: () => {},
|
|
153
153
|
seedSkillGraphNodes: mockSeedSkillGraphNodes,
|
|
154
154
|
seedUninstalledCatalogSkillMemories: async () => {},
|