@cortexkit/opencode-magic-context 0.26.0 → 0.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -12
- package/dist/agents/dreamer.d.ts +19 -0
- package/dist/agents/dreamer.d.ts.map +1 -1
- package/dist/agents/hidden-agent-registrations.d.ts +67 -0
- package/dist/agents/hidden-agent-registrations.d.ts.map +1 -0
- package/dist/agents/historian.d.ts +1 -0
- package/dist/agents/historian.d.ts.map +1 -1
- package/dist/agents/permissions.d.ts +15 -44
- package/dist/agents/permissions.d.ts.map +1 -1
- package/dist/agents/smart-note-compiler.d.ts +2 -0
- package/dist/agents/smart-note-compiler.d.ts.map +1 -0
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/migrate-config-location.d.ts +89 -0
- package/dist/config/migrate-config-location.d.ts.map +1 -0
- package/dist/config/migrate-dreamer-v2.d.ts +37 -0
- package/dist/config/migrate-dreamer-v2.d.ts.map +1 -0
- package/dist/config/migrate-experimental.d.ts.map +1 -1
- package/dist/config/project-security.d.ts +3 -0
- package/dist/config/project-security.d.ts.map +1 -1
- package/dist/config/prune-config-leaf.d.ts.map +1 -1
- package/dist/config/schema/magic-context.d.ts +584 -60
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/features/magic-context/compaction-marker.d.ts +9 -3
- package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts +1 -1
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/classify-prompt.d.ts +50 -0
- package/dist/features/magic-context/dreamer/classify-prompt.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/classify.d.ts +22 -0
- package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/cron.d.ts +72 -0
- package/dist/features/magic-context/dreamer/cron.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts +30 -0
- package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/index.d.ts +1 -3
- package/dist/features/magic-context/dreamer/index.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/lease.d.ts +44 -6
- package/dist/features/magic-context/dreamer/lease.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/maintain-docs-protected-enforcement.d.ts +13 -0
- package/dist/features/magic-context/dreamer/maintain-docs-protected-enforcement.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts +36 -0
- package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/map-memories.d.ts +22 -0
- package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/open-opencode-db.d.ts +7 -0
- package/dist/features/magic-context/dreamer/open-opencode-db.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/primer-seed.d.ts +25 -0
- package/dist/features/magic-context/dreamer/primer-seed.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/promote-primers.d.ts +21 -0
- package/dist/features/magic-context/dreamer/promote-primers.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/protected-regions.d.ts +19 -0
- package/dist/features/magic-context/dreamer/protected-regions.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/refresh-primers.d.ts +30 -0
- package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/retrospective-learnings.d.ts +47 -0
- package/dist/features/magic-context/dreamer/retrospective-learnings.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/retrospective-orphan-sweep.d.ts +48 -0
- package/dist/features/magic-context/dreamer/retrospective-orphan-sweep.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts +81 -0
- package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +8 -0
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts +82 -0
- package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/task-config.d.ts +28 -0
- package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/task-executor.d.ts +49 -0
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/task-gates.d.ts +29 -0
- package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/task-prompts.d.ts +37 -6
- package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-registry.d.ts +48 -0
- package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts +88 -0
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/verify-gate.d.ts +43 -0
- package/dist/features/magic-context/dreamer/verify-gate.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/verify-prompt.d.ts +41 -0
- package/dist/features/magic-context/dreamer/verify-prompt.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/verify.d.ts +43 -0
- package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -0
- package/dist/features/magic-context/git-commits/search-git-commits.d.ts +2 -0
- package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
- package/dist/features/magic-context/git-commits/storage-git-commit-embeddings.d.ts +4 -4
- package/dist/features/magic-context/git-commits/storage-git-commit-embeddings.d.ts.map +1 -1
- package/dist/features/magic-context/index.d.ts +1 -0
- package/dist/features/magic-context/index.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-cache.d.ts +2 -2
- package/dist/features/magic-context/memory/embedding-cache.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-openai.d.ts +12 -5
- package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding.d.ts +2 -2
- package/dist/features/magic-context/memory/embedding.d.ts.map +1 -1
- package/dist/features/magic-context/memory/index.d.ts +4 -1
- package/dist/features/magic-context/memory/index.d.ts.map +1 -1
- package/dist/features/magic-context/memory/memory-migration.d.ts +1 -0
- package/dist/features/magic-context/memory/memory-migration.d.ts.map +1 -1
- package/dist/features/magic-context/memory/promotion.d.ts +16 -4
- package/dist/features/magic-context/memory/promotion.d.ts.map +1 -1
- package/dist/features/magic-context/memory/storage-memory-embeddings.d.ts +2 -2
- package/dist/features/magic-context/memory/storage-memory-embeddings.d.ts.map +1 -1
- package/dist/features/magic-context/memory/storage-memory-verifications.d.ts +31 -0
- package/dist/features/magic-context/memory/storage-memory-verifications.d.ts.map +1 -0
- package/dist/features/magic-context/memory/storage-memory.d.ts +12 -1
- package/dist/features/magic-context/memory/storage-memory.d.ts.map +1 -1
- package/dist/features/magic-context/memory/types.d.ts +4 -0
- package/dist/features/magic-context/memory/types.d.ts.map +1 -1
- package/dist/features/magic-context/memory/verification-paths.d.ts +32 -0
- package/dist/features/magic-context/memory/verification-paths.d.ts.map +1 -0
- package/dist/features/magic-context/message-index.d.ts.map +1 -1
- package/dist/features/magic-context/migrations.d.ts.map +1 -1
- package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
- package/dist/features/magic-context/primer-clustering.d.ts +29 -0
- package/dist/features/magic-context/primer-clustering.d.ts.map +1 -0
- package/dist/features/magic-context/project-embedding-registry.d.ts +25 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/search.d.ts +12 -2
- package/dist/features/magic-context/search.d.ts.map +1 -1
- package/dist/features/magic-context/sidekick/agent.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/capabilities.d.ts +31 -0
- package/dist/features/magic-context/smart-notes/capabilities.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts +2 -0
- package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/compiler.d.ts +52 -0
- package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/index.d.ts +10 -0
- package/dist/features/magic-context/smart-notes/index.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/runner.d.ts +18 -0
- package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts +22 -0
- package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/schedule.d.ts +9 -0
- package/dist/features/magic-context/smart-notes/schedule.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts +49 -0
- package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/storage.d.ts +27 -0
- package/dist/features/magic-context/smart-notes/storage.d.ts.map +1 -0
- package/dist/features/magic-context/smart-notes/types.d.ts +63 -0
- package/dist/features/magic-context/smart-notes/types.d.ts.map +1 -0
- package/dist/features/magic-context/storage-db.d.ts +5 -1
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-persisted.d.ts +8 -4
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-shared.d.ts +3 -1
- package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
- package/dist/features/magic-context/storage-notes.d.ts +15 -0
- package/dist/features/magic-context/storage-notes.d.ts.map +1 -1
- package/dist/features/magic-context/storage-primers.d.ts +85 -0
- package/dist/features/magic-context/storage-primers.d.ts.map +1 -0
- package/dist/features/magic-context/storage-tags.d.ts +20 -0
- package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
- package/dist/features/magic-context/storage.d.ts +2 -1
- package/dist/features/magic-context/storage.d.ts.map +1 -1
- package/dist/features/magic-context/tagger.d.ts +6 -0
- package/dist/features/magic-context/tagger.d.ts.map +1 -1
- package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -1
- package/dist/features/magic-context/transform-decision-log.d.ts +10 -0
- package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
- package/dist/features/magic-context/types.d.ts +2 -0
- package/dist/features/magic-context/types.d.ts.map +1 -1
- package/dist/features/magic-context/user-memory/review-user-memories.d.ts +5 -0
- package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
- package/dist/features/magic-context/user-memory/storage-user-memory.d.ts +18 -0
- package/dist/features/magic-context/user-memory/storage-user-memory.d.ts.map +1 -1
- package/dist/features/magic-context/v22-deferred-backfill.d.ts.map +1 -1
- package/dist/hooks/auto-update-checker/semver.d.ts +9 -0
- package/dist/hooks/auto-update-checker/semver.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -1
- package/dist/hooks/magic-context/command-handler.d.ts +8 -15
- package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-parser.d.ts +9 -0
- package/dist/hooks/magic-context/compartment-parser.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-prompt.d.ts +4 -1
- package/dist/hooks/magic-context/compartment-prompt.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts +1 -0
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-types.d.ts +8 -0
- package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
- package/dist/hooks/magic-context/historian-prompt.generated.d.ts +1 -1
- package/dist/hooks/magic-context/historian-prompt.generated.d.ts.map +1 -1
- package/dist/hooks/magic-context/historian-state-file.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook-handlers.d.ts +2 -1
- package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +1 -0
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/inject-compartments.d.ts +0 -3
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
- package/dist/hooks/magic-context/send-session-notification.d.ts +2 -0
- package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-prompt-hash.d.ts +17 -0
- package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +8 -5
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts +0 -2
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17034 -4059
- package/dist/plugin/dream-timer.d.ts +17 -9
- package/dist/plugin/dream-timer.d.ts.map +1 -1
- package/dist/plugin/embedding-bootstrap-helpers.d.ts +1 -1
- package/dist/plugin/embedding-bootstrap-helpers.d.ts.map +1 -1
- package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +211 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/instance-disposal.d.ts +2 -0
- package/dist/plugin/instance-disposal.d.ts.map +1 -0
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/shared/announcement.d.ts +1 -1
- package/dist/shared/announcement.d.ts.map +1 -1
- package/dist/shared/data-path.d.ts +26 -7
- package/dist/shared/data-path.d.ts.map +1 -1
- package/dist/shared/model-suggestion-retry.d.ts +48 -2
- package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
- package/dist/shared/redaction.d.ts +7 -0
- package/dist/shared/redaction.d.ts.map +1 -0
- package/dist/shared/resolve-fallbacks.d.ts +12 -0
- package/dist/shared/resolve-fallbacks.d.ts.map +1 -1
- package/dist/shared/rpc-server.d.ts.map +1 -1
- package/dist/shared/rpc-types.d.ts +2 -0
- package/dist/shared/rpc-types.d.ts.map +1 -1
- package/dist/shared/subagent-runner.d.ts +12 -3
- package/dist/shared/subagent-runner.d.ts.map +1 -1
- package/dist/shared/tui-config.d.ts.map +1 -1
- package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
- package/dist/tools/ctx-memory/types.d.ts.map +1 -1
- package/dist/tools/ctx-memory/verification-recording.d.ts +8 -0
- package/dist/tools/ctx-memory/verification-recording.d.ts.map +1 -0
- package/dist/tools/ctx-search/tools.d.ts.map +1 -1
- package/dist/tools/ctx-search/types.d.ts +1 -1
- package/dist/tools/ctx-search/types.d.ts.map +1 -1
- package/dist/tui/data/context-db.d.ts +2 -0
- package/dist/tui/data/context-db.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/shared/announcement.test.ts +20 -0
- package/src/shared/announcement.ts +19 -7
- package/src/shared/data-path.test.ts +70 -6
- package/src/shared/data-path.ts +50 -8
- package/src/shared/model-suggestion-retry.test.ts +79 -2
- package/src/shared/model-suggestion-retry.ts +181 -3
- package/src/shared/redaction.test.ts +84 -0
- package/src/shared/redaction.ts +264 -0
- package/src/shared/resolve-fallbacks.ts +14 -0
- package/src/shared/rpc-server.ts +24 -0
- package/src/shared/rpc-types.ts +2 -0
- package/src/shared/subagent-runner.ts +12 -3
- package/src/shared/tui-config.test.ts +63 -0
- package/src/shared/tui-config.ts +67 -39
- package/src/tui/data/context-db.ts +12 -0
- package/src/tui/index.tsx +87 -17
- package/src/tui/slots/sidebar-content.tsx +4 -0
- package/dist/features/magic-context/dreamer/queue.d.ts +0 -55
- package/dist/features/magic-context/dreamer/queue.d.ts.map +0 -1
- package/dist/features/magic-context/dreamer/runner.d.ts +0 -92
- package/dist/features/magic-context/dreamer/runner.d.ts.map +0 -1
- package/dist/features/magic-context/dreamer/scheduler.d.ts +0 -29
- package/dist/features/magic-context/dreamer/scheduler.d.ts.map +0 -1
- package/dist/features/magic-context/key-files/aft-availability.d.ts +0 -11
- package/dist/features/magic-context/key-files/aft-availability.d.ts.map +0 -1
- package/dist/features/magic-context/key-files/identify-key-files.d.ts +0 -84
- package/dist/features/magic-context/key-files/identify-key-files.d.ts.map +0 -1
- package/dist/features/magic-context/key-files/project-key-files.d.ts +0 -42
- package/dist/features/magic-context/key-files/project-key-files.d.ts.map +0 -1
- package/dist/features/magic-context/key-files/read-history.d.ts +0 -26
- package/dist/features/magic-context/key-files/read-history.d.ts.map +0 -1
- package/dist/features/magic-context/key-files/read-stats.d.ts +0 -18
- package/dist/features/magic-context/key-files/read-stats.d.ts.map +0 -1
- package/dist/features/magic-context/key-files/storage-key-files.d.ts +0 -20
- package/dist/features/magic-context/key-files/storage-key-files.d.ts.map +0 -1
- package/dist/hooks/magic-context/key-files-block.d.ts +0 -27
- package/dist/hooks/magic-context/key-files-block.d.ts.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { PiThinkingLevel } from "../../../config/schema/magic-context";
|
|
2
|
+
import type { Database } from "../../../shared/sqlite";
|
|
3
|
+
import { type DreamTaskName } from "./task-registry";
|
|
4
|
+
/** Bounded retry before a transient failure stops hot-retrying and waits for the
|
|
5
|
+
* next cron occurrence. */
|
|
6
|
+
export declare const MAX_TASK_RETRIES = 3;
|
|
7
|
+
/** Resolved per-task config the scheduler operates on (decoupled from the Zod
|
|
8
|
+
* schema — step 5 produces this from config; the scheduler just consumes it). */
|
|
9
|
+
export interface DreamTaskRuntimeConfig {
|
|
10
|
+
task: DreamTaskName;
|
|
11
|
+
/** Cron string; `""` = disabled (never due). */
|
|
12
|
+
schedule: string;
|
|
13
|
+
model?: string;
|
|
14
|
+
fallbackModels?: readonly string[];
|
|
15
|
+
thinkingLevel?: PiThinkingLevel;
|
|
16
|
+
timeoutMinutes: number;
|
|
17
|
+
/** review-user-memories */
|
|
18
|
+
promotionThreshold?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface TaskExecOutcome {
|
|
21
|
+
status: "completed" | "failed";
|
|
22
|
+
/** A transient failure (provider/network/rate-limit/timeout) hot-retries up to
|
|
23
|
+
* MAX_TASK_RETRIES; a permanent failure advances to the next cron slot. */
|
|
24
|
+
transient?: boolean;
|
|
25
|
+
error?: string;
|
|
26
|
+
schedulePatch?: {
|
|
27
|
+
/** retrospective content watermark (max message ts scanned this run). */
|
|
28
|
+
retrospectiveWatermarkMs?: number | null;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** Runs ONE task's actual work (LLM loop). Supplied by the runner (step 4). The
|
|
32
|
+
* scheduler holds the domain lease + `holderId`; the executor must verify the
|
|
33
|
+
* lease holder under BEGIN IMMEDIATE immediately before any durable write. */
|
|
34
|
+
export type TaskExecutor = (task: DreamTaskRuntimeConfig, ctx: {
|
|
35
|
+
db: Database;
|
|
36
|
+
projectIdentity: string;
|
|
37
|
+
holderId: string;
|
|
38
|
+
leaseKey: string;
|
|
39
|
+
}) => Promise<TaskExecOutcome>;
|
|
40
|
+
export interface RunDueTasksDeps {
|
|
41
|
+
db: Database;
|
|
42
|
+
projectIdentity: string;
|
|
43
|
+
tasks: readonly DreamTaskRuntimeConfig[];
|
|
44
|
+
executor: TaskExecutor;
|
|
45
|
+
now?: number;
|
|
46
|
+
}
|
|
47
|
+
interface DueTask {
|
|
48
|
+
config: DreamTaskRuntimeConfig;
|
|
49
|
+
/** The next_due_at slot being satisfied — excluded from the next computation
|
|
50
|
+
* to prevent a DST repeated-minute double-fire. */
|
|
51
|
+
scheduledAt: number;
|
|
52
|
+
}
|
|
53
|
+
/** Pure-ish decision: seed missing rows, then collect tasks whose next_due_at has
|
|
54
|
+
* arrived. Gate evaluation happens in the drain (pre- AND post-lease). Exported
|
|
55
|
+
* for testing. */
|
|
56
|
+
export declare function planDueTasks(db: Database, projectIdentity: string, tasks: readonly DreamTaskRuntimeConfig[], now: number): DueTask[];
|
|
57
|
+
export interface ManualRunResult {
|
|
58
|
+
/** Tasks that actually executed (gate passed, lease acquired). */
|
|
59
|
+
ran: string[];
|
|
60
|
+
/** Tasks that were skipped because their activity gate failed. */
|
|
61
|
+
skippedNoWork: string[];
|
|
62
|
+
/** Tasks whose domain lease was busy (another run in progress). */
|
|
63
|
+
deferredBusy: string[];
|
|
64
|
+
/** Tasks that ran but failed. */
|
|
65
|
+
failed: string[];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Manual `/ctx-dream` run: run dream tasks NOW, IGNORING their schedule.
|
|
69
|
+
*
|
|
70
|
+
* - No `task` arg → run every ENABLED task (schedule != "") whose activity gate
|
|
71
|
+
* passes, grouped by domain under leases (same concurrency rules as the timer).
|
|
72
|
+
* - `task` arg → force-run that ONE task NOW, IGNORING its gate (explicit user
|
|
73
|
+
* intent), honoring its lease. Works even if the task's schedule is "".
|
|
74
|
+
*
|
|
75
|
+
* Still advances next_due_at on completion so the manual run resets the cadence.
|
|
76
|
+
*/
|
|
77
|
+
export declare function runManualDream(deps: Omit<RunDueTasksDeps, "now"> & {
|
|
78
|
+
task?: DreamTaskName;
|
|
79
|
+
}): Promise<ManualRunResult>;
|
|
80
|
+
/**
|
|
81
|
+
* One scheduler pass for a project: seed missing rows, collect due tasks,
|
|
82
|
+
* pre-gate them, group by conflict-domain, and run domains CONCURRENTLY (tasks
|
|
83
|
+
* within a domain sequentially in canonical order under one lease). Returns the
|
|
84
|
+
* number of tasks actually executed (for logging/tests).
|
|
85
|
+
*/
|
|
86
|
+
export declare function runDueTasksForProject(deps: RunDueTasksDeps): Promise<number>;
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=task-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-scheduler.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/dreamer/task-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAWvD,OAAO,EAAoB,KAAK,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAElG;4BAC4B;AAC5B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;kFACkF;AAClF,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B;gFAC4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE;QACZ,yEAAyE;QACzE,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5C,CAAC;CACL;AAED;;+EAE+E;AAC/E,MAAM,MAAM,YAAY,GAAG,CACvB,IAAI,EAAE,sBAAsB,EAC5B,GAAG,EAAE;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KACjF,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,QAAQ,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACzC,QAAQ,EAAE,YAAY,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAkED,UAAU,OAAO;IACb,MAAM,EAAE,sBAAsB,CAAC;IAC/B;wDACoD;IACpD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;mBAEmB;AACnB,wBAAgB,YAAY,CACxB,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,SAAS,sBAAsB,EAAE,EACxC,GAAG,EAAE,MAAM,GACZ,OAAO,EAAE,CA0BX;AAwLD,MAAM,WAAW,eAAe;IAC5B,kEAAkE;IAClE,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,kEAAkE;IAClE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mEAAmE;IACnE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iCAAiC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAChC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,aAAa,CAAA;CAAE,GAC9D,OAAO,CAAC,eAAe,CAAC,CAiE1B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAuClF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Database } from "../../../shared/sqlite";
|
|
2
|
+
import type { VerifyPromptMemory } from "./verify-prompt";
|
|
3
|
+
/**
|
|
4
|
+
* Per-memory verify scope (DreamerV2 rework).
|
|
5
|
+
*
|
|
6
|
+
* Replaces the old GLOBAL commit-watermark + all-or-nothing coverage gate. Now
|
|
7
|
+
* each memory carries its own `verified_at` (set by the verify apply), so:
|
|
8
|
+
* - partial progress STICKS: a timed-out verify banks the memories it checked;
|
|
9
|
+
* the next run skips them and continues (the cold-start trap is gone).
|
|
10
|
+
* - there is no watermark to advance and no coverage check.
|
|
11
|
+
*
|
|
12
|
+
* Scope = active memories that have a REAL backing-file mapping (recorded by the
|
|
13
|
+
* map-memories backfill). Excluded:
|
|
14
|
+
* - file-independent memories (no-file sentinel) — they describe external
|
|
15
|
+
* behavior and cannot be checked against local code; curate + age decay own
|
|
16
|
+
* them.
|
|
17
|
+
* - unmapped memories — map-memories maps them first; once mapped they enter
|
|
18
|
+
* verify scope as never-verified (verified_at = 0).
|
|
19
|
+
*
|
|
20
|
+
* Modes:
|
|
21
|
+
* - `verify` (incremental, default): a candidate is in scope if it was never
|
|
22
|
+
* content-verified (verified_at = 0) OR any mapped file changed since THAT
|
|
23
|
+
* memory's verified_at (committed change-time newer, an uncommitted edit, or
|
|
24
|
+
* the file was deleted).
|
|
25
|
+
* - `verify-broad` (`forceBroad`): every candidate, regardless of change time —
|
|
26
|
+
* full-pool drift catching over the file-mapped memories.
|
|
27
|
+
*/
|
|
28
|
+
export interface VerifyGateResult {
|
|
29
|
+
runStartedAt: number;
|
|
30
|
+
mode: "non-git" | "full" | "broad" | "incremental";
|
|
31
|
+
inScope: VerifyPromptMemory[];
|
|
32
|
+
inScopeIds: number[];
|
|
33
|
+
skippedIds: number[];
|
|
34
|
+
reason: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function partitionVerifyScope(args: {
|
|
37
|
+
db: Database;
|
|
38
|
+
projectIdentity: string;
|
|
39
|
+
projectDirectory: string;
|
|
40
|
+
forceBroad?: boolean;
|
|
41
|
+
now?: number;
|
|
42
|
+
}): Promise<VerifyGateResult>;
|
|
43
|
+
//# sourceMappingURL=verify-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/dreamer/verify-gate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAUvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,gBAAgB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;IACnD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAClB;AAOD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC7C,EAAE,EAAE,QAAQ,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsG5B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* verify prompt + manifest parser.
|
|
3
|
+
*
|
|
4
|
+
* verify checks each in-scope project memory against the CURRENT source and
|
|
5
|
+
* emits ONE XML manifest (verified / update / archive). The agent reads code
|
|
6
|
+
* and changes nothing; the HOST parses the manifest and applies the DB writes
|
|
7
|
+
* (so the agent never needs a mutation tool). Calibrated in the shadow harness
|
|
8
|
+
* with planted ground-truth controls (4/4: caught a stale number → update, a
|
|
9
|
+
* wrong tool-count → archive, a same-session change → archive, and kept the
|
|
10
|
+
* correct control verified). See .alfonso/plans/dreamer-v2-rework.md.
|
|
11
|
+
*
|
|
12
|
+
* The DANGEROUS failure mode is WRONG ARCHIVAL (deleting a TRUE memory), so the
|
|
13
|
+
* prompt and the host apply both bias hard toward keeping memories.
|
|
14
|
+
*/
|
|
15
|
+
export declare const VERIFY_SYSTEM_PROMPT = "You are a memory verifier for the magic-context system. You verify project memories against the CURRENT code.\n\nEach memory below comes with its backing file(s) \u2014 the code it makes a claim about. For EACH memory: read its backing files (you may read more if needed) and decide whether the memory is still accurate.\n\nTools (read-only): read, grep, glob, aft_search, aft_outline, aft_zoom. You read code to check claims; you change nothing.\n\nDecide ONE of three outcomes per memory:\n- VERIFIED \u2014 still accurate. Keep it as-is.\n- UPDATE \u2014 the underlying fact is still true but a DETAIL drifted (a renamed symbol, moved file, changed number/name). Provide corrected content in terse present tense (\"X uses Y\", not \"X was changed to Y\"). Only update for genuine drift, not style.\n- ARCHIVE \u2014 the code CLEARLY contradicts the memory, or the thing it describes no longer exists.\n\nBE CONSERVATIVE ABOUT ARCHIVING. Wrong archival of a TRUE memory is the worst possible outcome \u2014 far worse than leaving a slightly-stale memory. If you cannot find the code, or you are unsure, or it might still be true somewhere you didn't look: mark it VERIFIED, never archived. Archive ONLY when you have positive evidence the code contradicts it.\n\nOutput ONE XML manifest at the very end and NOTHING else \u2014 no narration, no per-memory commentary, no reasoning:\n<verify>\n<verified id=\"N\" files=\"path/a.ts,path/b.ts\"/>\n<update id=\"M\" files=\"path/c.ts\">corrected present-tense content</update>\n<archive id=\"K\" reason=\"specific evidence the code contradicts it\"/>\n</verify>\n\nRules:\n- Every input memory id MUST appear exactly once, in exactly one of verified/update/archive.\n- files = the COMPLETE current backing set (repo-relative, comma-separated). It may differ from the given mapping if a file moved \u2014 record what you actually verified against.\n- Default to VERIFIED. update and archive are the exceptions, not the norm.";
|
|
16
|
+
export interface VerifyPromptMemory {
|
|
17
|
+
id: number;
|
|
18
|
+
category: string;
|
|
19
|
+
content: string;
|
|
20
|
+
mappedFiles: string[];
|
|
21
|
+
}
|
|
22
|
+
export declare function buildVerifyPrompt(projectPath: string, memories: VerifyPromptMemory[]): string;
|
|
23
|
+
export interface ParsedVerifyManifest {
|
|
24
|
+
verified: Array<{
|
|
25
|
+
id: number;
|
|
26
|
+
files: string[];
|
|
27
|
+
}>;
|
|
28
|
+
updated: Array<{
|
|
29
|
+
id: number;
|
|
30
|
+
files: string[];
|
|
31
|
+
content: string;
|
|
32
|
+
}>;
|
|
33
|
+
archived: Array<{
|
|
34
|
+
id: number;
|
|
35
|
+
reason: string;
|
|
36
|
+
}>;
|
|
37
|
+
}
|
|
38
|
+
/** Parse the agent's `<verify>` manifest. Tolerant of attribute order, and of
|
|
39
|
+
* `<update>` either self-closing or wrapping its corrected content. */
|
|
40
|
+
export declare function parseVerifyManifest(text: string): ParsedVerifyManifest;
|
|
41
|
+
//# sourceMappingURL=verify-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-prompt.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/dreamer/verify-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,oBAAoB,u7DAuB2C,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAgB7F;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACjD,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAcD;wEACwE;AACxE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAkBtE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { PluginContext } from "../../../plugin/types";
|
|
2
|
+
import type { Database } from "../../../shared/sqlite";
|
|
3
|
+
import { type VerifyPromptMemory } from "./verify-prompt";
|
|
4
|
+
export interface VerifyArgs {
|
|
5
|
+
db: Database;
|
|
6
|
+
client: PluginContext["client"];
|
|
7
|
+
projectIdentity: string;
|
|
8
|
+
parentSessionId: string | undefined;
|
|
9
|
+
sessionDirectory: string;
|
|
10
|
+
holderId: string;
|
|
11
|
+
leaseKey: string;
|
|
12
|
+
deadline: number;
|
|
13
|
+
forceBroad?: boolean;
|
|
14
|
+
model?: string;
|
|
15
|
+
fallbackModels?: readonly string[];
|
|
16
|
+
}
|
|
17
|
+
export interface VerifyResult {
|
|
18
|
+
verified: number;
|
|
19
|
+
updated: number;
|
|
20
|
+
archived: number;
|
|
21
|
+
batches: number;
|
|
22
|
+
inScope: number;
|
|
23
|
+
mode: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function runVerify(args: VerifyArgs): Promise<VerifyResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Apply the manifest host-side. Only ids that were IN this batch are touched.
|
|
28
|
+
* - verified: re-record the (normalized) backing files with verified_at = now
|
|
29
|
+
* (banks the per-memory verify progress).
|
|
30
|
+
* - update: rewrite the memory content via the cache-neutral mutation log, then
|
|
31
|
+
* clear old file mappings and embeddings so the new content is mapped and
|
|
32
|
+
* verified again next cycle.
|
|
33
|
+
* - archive: archive + queue an archive mutation (m[1] delta). Skipped when the
|
|
34
|
+
* memory is no longer primary-mutable (already archived/superseded), so a stale
|
|
35
|
+
* manifest can't fight a concurrent change.
|
|
36
|
+
* All writes happen under ONE lease-guarded transaction.
|
|
37
|
+
*/
|
|
38
|
+
export declare function applyVerifyManifest(args: VerifyArgs, batch: VerifyPromptMemory[], manifestText: string): Promise<{
|
|
39
|
+
verified: number;
|
|
40
|
+
updated: number;
|
|
41
|
+
archived: number;
|
|
42
|
+
}>;
|
|
43
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/dreamer/verify.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAiBvD,OAAO,EAIH,KAAK,kBAAkB,EAC1B,MAAM,iBAAiB,CAAC;AAqBzB,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,QAAQ,CAAC;IACb,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAqDvE;AA8FD;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACrC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,YAAY,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA4FlE"}
|
|
@@ -23,6 +23,8 @@ export interface SearchGitCommitsOptions {
|
|
|
23
23
|
singleSourcePenalty?: number;
|
|
24
24
|
/** Pre-computed query embedding. When omitted, we skip the semantic pass. */
|
|
25
25
|
queryEmbedding?: Float32Array | null;
|
|
26
|
+
/** ID of the model that generated queryEmbedding; commit vectors are read only from the same model space. */
|
|
27
|
+
queryModelId?: string | null;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Return top-K commits matching `query` for `projectPath`, combining FTS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-git-commits.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/git-commits/search-git-commits.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAIvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAuE7D,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;wDACoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"search-git-commits.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/git-commits/search-git-commits.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAIvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAuE7D,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;wDACoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,6GAA6G;IAC7G,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAOD;;;GAGG;AACH,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,GACjC,kBAAkB,EAAE,CAmGtB"}
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { Database } from "../../../shared/sqlite";
|
|
10
10
|
export declare function saveCommitEmbedding(db: Database, sha: string, embedding: Float32Array, modelId: string): void;
|
|
11
|
-
export declare function loadProjectCommitEmbeddings(db: Database, projectPath: string): Map<string, Float32Array>;
|
|
12
|
-
export declare function loadUnembeddedCommits(db: Database, projectPath: string, limit: number): Array<{
|
|
11
|
+
export declare function loadProjectCommitEmbeddings(db: Database, projectPath: string, modelId: string): Map<string, Float32Array>;
|
|
12
|
+
export declare function loadUnembeddedCommits(db: Database, projectPath: string, modelId: string, limit: number): Array<{
|
|
13
13
|
sha: string;
|
|
14
14
|
message: string;
|
|
15
15
|
}>;
|
|
16
|
-
export declare function countEmbeddedCommits(db: Database, projectPath: string): number;
|
|
17
|
-
export declare function clearProjectCommitEmbeddings(db: Database, projectPath: string): number;
|
|
16
|
+
export declare function countEmbeddedCommits(db: Database, projectPath: string, modelId: string): number;
|
|
17
|
+
export declare function clearProjectCommitEmbeddings(db: Database, projectPath: string, modelId?: string): number;
|
|
18
18
|
export declare function getDistinctCommitEmbeddingModelIds(db: Database, projectPath: string): Set<string | null>;
|
|
19
19
|
//# sourceMappingURL=storage-git-commit-embeddings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-git-commit-embeddings.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/git-commits/storage-git-commit-embeddings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-git-commit-embeddings.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/git-commits/storage-git-commit-embeddings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAwHvF,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,MAAM,GAChB,IAAI,CAGN;AAED,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAW3B;AAED,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACd,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAEzC;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK/F;AAED,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACjB,MAAM,CAKR;AAED,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,GACpB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAGpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Database } from "../../../shared/sqlite";
|
|
2
2
|
import { type StoredMemoryEmbedding } from "./storage-memory-embeddings";
|
|
3
|
-
export declare function getProjectEmbeddings(db: Database, projectPath: string): Map<number, StoredMemoryEmbedding>;
|
|
4
|
-
export declare function peekProjectEmbeddings(projectPath: string): Map<number, StoredMemoryEmbedding> | null;
|
|
3
|
+
export declare function getProjectEmbeddings(db: Database, projectPath: string, modelId: string): Map<number, StoredMemoryEmbedding>;
|
|
4
|
+
export declare function peekProjectEmbeddings(projectPath: string, modelId: string): Map<number, StoredMemoryEmbedding> | null;
|
|
5
5
|
export declare function invalidateProject(projectPath: string): void;
|
|
6
6
|
export declare function invalidateMemory(projectPath: string, memoryId: number): void;
|
|
7
7
|
export declare function resetEmbeddingCacheForTests(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-cache.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"embedding-cache.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAkC5F,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAYpC;AAED,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,IAAI,CAE3C;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAM3D;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAU5E;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-identity.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAQ5E;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"embedding-identity.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAQ5E;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAoC5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-local.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-local.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA2QhF;sFACsF;AACtF,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAwBnE;AA0ED,qBAAa,sBAAuB,YAAW,iBAAiB;IAC5D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;gBAE7C,KAAK,SAAgC,EAAE,cAAc,SAAM;IAMjE,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"embedding-local.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-local.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA2QhF;sFACsF;AACtF,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAwBnE;AA0ED,qBAAa,sBAAuB,YAAW,iBAAiB;IAC5D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;gBAE7C,KAAK,SAAgC,EAAE,cAAc,SAAM;IAMjE,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAuKpC,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,cAAc;IAShB,KAAK,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAoCzB,UAAU,CACZ,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;IAyC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B9B,QAAQ,IAAI,OAAO;CAGtB"}
|
|
@@ -15,11 +15,18 @@ interface OpenAICompatibleEmbeddingProviderOptions {
|
|
|
15
15
|
/**
|
|
16
16
|
* Whether the model an endpoint served is the model we asked for.
|
|
17
17
|
*
|
|
18
|
-
* Exact match after trim+lowercase, with prefix/suffix tolerance
|
|
19
|
-
* that version-expands a name (`text-embedding-3-small` →
|
|
20
|
-
* trims a vendor prefix
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* Exact match after trim+lowercase, with TOKEN-BOUNDARY prefix/suffix tolerance
|
|
19
|
+
* so a server that version-expands a name (`text-embedding-3-small` →
|
|
20
|
+
* `…-small-v1`) or trims a vendor prefix (`openai/text-embedding-3-small` →
|
|
21
|
+
* `text-embedding-3-small`) still counts as a match.
|
|
22
|
+
*
|
|
23
|
+
* Crucially this is NOT a plain substring test. A loose `a.includes(b)` would
|
|
24
|
+
* MATCH a broadly-configured name against an unrelated served model that merely
|
|
25
|
+
* contains it as a middle token — e.g. configured `qwen3-embedding`, served
|
|
26
|
+
* `text-embedding-qwen3-embedding-0.6b` → store 0.6b vectors under the broad
|
|
27
|
+
* identity (wrong-dim corruption, the exact failure this guard exists to stop).
|
|
28
|
+
* So the shorter name must align on a `-`/`/` boundary as a genuine PREFIX or
|
|
29
|
+
* SUFFIX of the longer, never as an interior fragment.
|
|
23
30
|
*/
|
|
24
31
|
export declare function embeddingModelsMatch(served: string, requested: string): boolean;
|
|
25
32
|
type CircuitState = "closed" | "open" | "half_open";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-openai.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-openai.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,UAAU,wCAAwC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiBD
|
|
1
|
+
{"version":3,"file":"embedding-openai.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding-openai.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,UAAU,wCAAwC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAc/E;AA+BD,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpD,qBAAa,iCAAkC,YAAW,iBAAiB;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,WAAW,CAAS;IAI5B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B;;4EAEwE;IACxE,OAAO,CAAC,mBAAmB,CAAS;IACpC;;sDAEkD;IAClD,OAAO,CAAC,qBAAqB,CAAS;gBAE1B,OAAO,EAAE,wCAAwC;IA0BvD,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BpC,OAAO,CAAC,0BAA0B;IAO5B,KAAK,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKzB,UAAU,CACZ,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;IA6K7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,QAAQ,IAAI,OAAO;IAInB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,aAAa;IAUrB,gBAAgB,IAAI,YAAY;IAQhC,gBAAgB,IAAI,MAAM;IAG1B,aAAa,IAAI,IAAI;CAMxB"}
|
|
@@ -2,7 +2,7 @@ import type { EmbeddingConfig } from "../../../config/schema/magic-context";
|
|
|
2
2
|
import type { Database } from "../../../shared/sqlite";
|
|
3
3
|
import { cosineSimilarity } from "./cosine-similarity";
|
|
4
4
|
export type { EmbeddingFeatures, ProjectEmbeddingRegistrationSnapshot, } from "../project-embedding-registry";
|
|
5
|
-
export { _resetProjectEmbeddingRegistryForTests, _setTestProviderFactoryForProject, embedBatchForProject, embedTextForProject, embedUnembeddedCompartmentChunksForProject, embedUnembeddedMemoriesForProject, getProjectEmbeddingSnapshot,
|
|
5
|
+
export { _resetProjectEmbeddingRegistryForTests, _setTestProviderFactoryForProject, embedBatchForProject, embedTextForProject, embedUnembeddedCompartmentChunksForProject, embedUnembeddedMemoriesForProject, getProjectEmbeddingSnapshot, markProjectLoadUntrusted, registerProjectEmbedding, registerProjectInObservationMode, sweepAllRegisteredProjects, unregisterProjectEmbedding, } from "../project-embedding-registry";
|
|
6
6
|
export declare function initializeEmbedding(config: EmbeddingConfig): void;
|
|
7
7
|
export declare function isEmbeddingEnabled(): boolean;
|
|
8
8
|
export declare function ensureEmbeddingModel(): Promise<boolean>;
|
|
@@ -27,7 +27,7 @@ export declare function embedUnembeddedMemories(db: Database, projectPath: strin
|
|
|
27
27
|
* 15-min tick fires, that tick is a no-op.
|
|
28
28
|
*
|
|
29
29
|
* Used by the dream timer for proactive embedding coverage. After a
|
|
30
|
-
*
|
|
30
|
+
* provider change creates a model-specific backlog, this path drains the full backlog on
|
|
31
31
|
* a single tick (bounded by wall clock) instead of trickling 10/15min.
|
|
32
32
|
*/
|
|
33
33
|
export declare function embedAllUnembeddedMemories(db: Database, config: EmbeddingConfig, batchSize?: number): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAOvD,YAAY,EACR,iBAAiB,EACjB,oCAAoC,GACvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,sCAAsC,EACtC,iCAAiC,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,0CAA0C,EAC1C,iCAAiC,EACjC,2BAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAOvD,YAAY,EACR,iBAAiB,EACjB,oCAAoC,GACvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,sCAAsC,EACtC,iCAAiC,EACjC,oBAAoB,EACpB,mBAAmB,EACnB,0CAA0C,EAC1C,iCAAiC,EACjC,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,0BAA0B,EAC1B,0BAA0B,GAC7B,MAAM,+BAA+B,CAAC;AAgHvC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAoBjE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO7D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAWhG;AAED,wBAAsB,UAAU,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAelC;AAED,wBAAsB,uBAAuB,CACzC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,EACvB,SAAS,SAAK,GACf,OAAO,CAAC,MAAM,CAAC,CAEjB;AAgBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,0BAA0B,CAC5C,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,eAAe,EACvB,SAAS,SAAK,GACf,OAAO,CAAC,MAAM,CAAC,CA0EjB;AAED,8CAA8C;AAC9C,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAkDD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAS3D"}
|
|
@@ -4,9 +4,12 @@ export * from "./embedding-backfill";
|
|
|
4
4
|
export * from "./embedding-cache";
|
|
5
5
|
export * from "./normalize-hash";
|
|
6
6
|
export * from "./project-identity";
|
|
7
|
-
export {
|
|
7
|
+
export type { PromotedMemoryRef } from "./promotion";
|
|
8
|
+
export { embedPromotedFacts, promoteSessionFactsDurable } from "./promotion";
|
|
8
9
|
export * from "./storage-memory";
|
|
9
10
|
export * from "./storage-memory-embeddings";
|
|
10
11
|
export * from "./storage-memory-fts";
|
|
12
|
+
export * from "./storage-memory-verifications";
|
|
11
13
|
export * from "./types";
|
|
14
|
+
export * from "./verification-paths";
|
|
12
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC7E,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC"}
|
|
@@ -87,6 +87,7 @@ export declare function applyMemoryMigration(db: Database, projectPath: string,
|
|
|
87
87
|
* applyMemoryMigration will delete; `permanent` (user-curated) memories are
|
|
88
88
|
* never re-evaluated, so they're excluded. */
|
|
89
89
|
export declare function loadMemoriesForMigration(db: Database, directory: string): Memory[];
|
|
90
|
+
export declare const MIGRATION_SYSTEM_PROMPT: string;
|
|
90
91
|
export interface MemoryMigrationOutcome {
|
|
91
92
|
/** True when the migration actually ran (vs. skipped because already done / empty / disabled). */
|
|
92
93
|
ran: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-migration.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/memory-migration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKvD,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMtD,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAClD,UAAU,eAAe;IACrB,OAAO,EAAE;QACL,MAAM,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,KAAK,CAAC;KACjB,CAAC;CACL;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAShF;AAED,kEAAkE;AAClE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAI/E;AAWD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA4C9E;AAED,MAAM,WAAW,qBAAqB;IAClC,+CAA+C;IAC/C,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;6EAGyE;IACzE,MAAM,EAAE,OAAO,CAAC;CACnB;AAMD,oFAAoF;AACpF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAqB9E;AAWD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,qBAAqB,GAC9B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAwCvC;AAED;;;;+CAI+C;AAC/C,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAGlF;
|
|
1
|
+
{"version":3,"file":"memory-migration.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/memory-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,23 @@ interface SessionFact {
|
|
|
3
3
|
category: string;
|
|
4
4
|
content: string;
|
|
5
5
|
}
|
|
6
|
+
export interface PromotedMemoryRef {
|
|
7
|
+
memoryId: number;
|
|
8
|
+
content: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Synchronously promote eligible session facts to cross-session memories.
|
|
12
|
+
*
|
|
13
|
+
* Transaction contract: callers may run this inside their publish transaction.
|
|
14
|
+
* Storage failures deliberately propagate so the enclosing publication rolls
|
|
15
|
+
* back atomically with the boundary; malformed/unpromotable facts are validation
|
|
16
|
+
* skips and do not abort the publish.
|
|
17
|
+
*/
|
|
18
|
+
export declare function promoteSessionFactsDurable(db: Database, sessionId: string, projectPath: string, facts: SessionFact[]): PromotedMemoryRef[];
|
|
6
19
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* Uses normalized_hash for fast dedup. Async embedding runs post-commit.
|
|
20
|
+
* Best-effort asynchronous embedding for newly promoted facts. Must run after
|
|
21
|
+
* the durable publish transaction commits.
|
|
10
22
|
*/
|
|
11
|
-
export declare function
|
|
23
|
+
export declare function embedPromotedFacts(db: Database, sessionId: string, projectPath: string, refs: PromotedMemoryRef[]): Promise<void>;
|
|
12
24
|
export {};
|
|
13
25
|
//# sourceMappingURL=promotion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promotion.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/promotion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAQvD,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAWD
|
|
1
|
+
{"version":3,"file":"promotion.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/promotion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAQvD,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAWD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACtC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,WAAW,EAAE,GACrB,iBAAiB,EAAE,CAqCrB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,iBAAiB,EAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -4,10 +4,10 @@ export interface StoredMemoryEmbedding {
|
|
|
4
4
|
modelId: string | null;
|
|
5
5
|
}
|
|
6
6
|
export declare function saveEmbedding(db: Database, memoryId: number, embedding: Float32Array, modelId: string): void;
|
|
7
|
-
export declare function loadAllEmbeddings(db: Database, projectPath: string): Map<number, StoredMemoryEmbedding>;
|
|
7
|
+
export declare function loadAllEmbeddings(db: Database, projectPath: string, modelId: string): Map<number, StoredMemoryEmbedding>;
|
|
8
8
|
export declare function deleteEmbedding(db: Database, memoryId: number): void;
|
|
9
9
|
export declare function getStoredModelId(db: Database, projectPath: string): string | null;
|
|
10
|
-
export declare function clearEmbeddingsForProject(db: Database, projectPath: string):
|
|
10
|
+
export declare function clearEmbeddingsForProject(db: Database, projectPath: string, modelId?: string): number;
|
|
11
11
|
export declare function getDistinctStoredModelIds(db: Database, projectPath: string): Set<string | null>;
|
|
12
12
|
/** Active memories for a project, and how many are embedded under `modelId`.
|
|
13
13
|
* Drives the `/ctx-embed` status `embedded / total` memory line. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-memory-embeddings.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/storage-memory-embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAQvF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"storage-memory-embeddings.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/storage-memory-embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAQvF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAgHD,wBAAgB,aAAa,CACzB,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,MAAM,GAChB,IAAI,CAGN;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAYpC;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGjF;AAED,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACjB,MAAM,CAKR;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAG/F;AAED;qEACqE;AACrE,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAChB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBrC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Database } from "../../../shared/sqlite";
|
|
2
|
+
export declare const MEMORY_VERIFICATION_SENTINEL = "";
|
|
3
|
+
export interface MemoryVerificationState {
|
|
4
|
+
/** Real repo-root-relative backing files. Excludes the no-file sentinel. */
|
|
5
|
+
files: string[];
|
|
6
|
+
/** True when a `""` no-file sentinel row exists for this memory. */
|
|
7
|
+
hasSentinel: boolean;
|
|
8
|
+
/** Max verified_at across all rows. 0 = mapped (files known) but NOT yet
|
|
9
|
+
* content-verified (the map-memories backfill records files without checking). */
|
|
10
|
+
verifiedAt: number;
|
|
11
|
+
/** Max mapped_at across all rows — when the file mapping was established. */
|
|
12
|
+
mappedAt: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* MAP (map-memories backfill): record WHICH files back a memory (or the no-file
|
|
16
|
+
* sentinel) WITHOUT content-verifying it — `verified_at=0`, `mapped_at=now`. The
|
|
17
|
+
* first verify still sees it as unverified (verified_at=0) and checks the claim.
|
|
18
|
+
*/
|
|
19
|
+
export declare function recordMemoryMapping(db: Database, memoryId: number, normalizedFiles: readonly string[], now: number): number;
|
|
20
|
+
/**
|
|
21
|
+
* VERIFY: replace one memory's side-table rows, marking them content-verified
|
|
22
|
+
* (`verified_at=now`, `mapped_at=now`). Callers updating multiple memories should
|
|
23
|
+
* wrap their batch in one transaction.
|
|
24
|
+
*/
|
|
25
|
+
export declare function recordMemoryVerifications(db: Database, memoryId: number, normalizedFiles: readonly string[], now: number): number;
|
|
26
|
+
/** Memory ids (from the given set) that have NO mapping rows yet — the
|
|
27
|
+
* map-memories backfill scope. */
|
|
28
|
+
export declare function getUnmappedMemoryIds(db: Database, memoryIds: readonly number[]): number[];
|
|
29
|
+
export declare function clearMemoryVerifications(db: Database, memoryId: number): void;
|
|
30
|
+
export declare function getMemoryVerifications(db: Database, memoryIds: readonly number[]): Map<number, MemoryVerificationState>;
|
|
31
|
+
//# sourceMappingURL=storage-memory-verifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-memory-verifications.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/storage-memory-verifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,MAAM,WAAW,uBAAuB;IACpC,4EAA4E;IAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,oEAAoE;IACpE,WAAW,EAAE,OAAO,CAAC;IACrB;uFACmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;CACpB;AAmBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,GAAG,EAAE,MAAM,GACZ,MAAM,CAWR;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,GAAG,EAAE,MAAM,GACZ,MAAM,CAWR;AAED;mCACmC;AACnC,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAUzF;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE7E;AAED,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,SAAS,MAAM,EAAE,GAC7B,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAmCtC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Database } from "../../../shared/sqlite";
|
|
2
|
-
import type { Memory, MemoryCategory, MemoryInput, MemoryStatus, VerificationStatus } from "./types";
|
|
2
|
+
import type { Memory, MemoryCategory, MemoryInput, MemoryScope, MemoryStatus, VerificationStatus } from "./types";
|
|
3
3
|
export declare const COLUMN_MAP: Record<keyof Memory, string>;
|
|
4
4
|
export interface MemoryCountsByStatus {
|
|
5
5
|
total: number;
|
|
@@ -11,6 +11,11 @@ export interface MemoryCountsByStatus {
|
|
|
11
11
|
archivedIds: number[];
|
|
12
12
|
mergedIds: number[];
|
|
13
13
|
}
|
|
14
|
+
export declare function hasMemoryShareableColumn(db: Database): boolean;
|
|
15
|
+
export declare function hasMemoryClassifiedAtColumn(db: Database): boolean;
|
|
16
|
+
/** Memory ids (from the given set) that have never been classified — the
|
|
17
|
+
* classify-memories run-gate + Stage-3 "to-classify" partition. */
|
|
18
|
+
export declare function getUnclassifiedMemoryIds(db: Database, memoryIds: readonly number[]): number[];
|
|
14
19
|
export declare function getMemorySelectColumns(db: Database, tableName?: string): string;
|
|
15
20
|
export declare function isMemoryRow(row: unknown): row is Memory;
|
|
16
21
|
export declare function toMemory(row: Memory): Memory;
|
|
@@ -42,6 +47,12 @@ export declare function updateMemoryRetrievalCount(db: Database, id: number): vo
|
|
|
42
47
|
export declare function updateMemoryStatus(db: Database, id: number, status: MemoryStatus): void;
|
|
43
48
|
export declare function updateMemoryVerification(db: Database, id: number, verificationStatus: VerificationStatus): void;
|
|
44
49
|
export declare function updateMemoryContent(db: Database, id: number, content: string, normalizedHash: string): void;
|
|
50
|
+
export interface MemoryClassificationUpdate {
|
|
51
|
+
importance?: number;
|
|
52
|
+
scope?: MemoryScope;
|
|
53
|
+
shareable?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export declare function setMemoryClassification(db: Database, id: number, classification: MemoryClassificationUpdate): boolean;
|
|
45
56
|
export declare function supersededMemory(db: Database, id: number, supersededById: number): void;
|
|
46
57
|
export declare function mergeMemoryStats(db: Database, id: number, seenCount: number, retrievalCount: number, mergedFrom: string, status: MemoryStatus): void;
|
|
47
58
|
export declare function archiveMemory(db: Database, id: number, reason?: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-memory.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/storage-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,wBAAwB,CAAC;AAIvF,OAAO,KAAK,EACR,MAAM,EACN,cAAc,EACd,WAAW,EAEX,YAAY,EACZ,kBAAkB,EACrB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"storage-memory.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory/storage-memory.ts"],"names":[],"mappings":"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"}
|