@mono-agent/agent-app 0.6.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +259 -19
- package/dist/account-home.d.ts +6 -0
- package/dist/account-home.d.ts.map +1 -0
- package/dist/account-home.js +9 -0
- package/dist/account-home.js.map +1 -0
- package/dist/adapter-send-proxy.d.ts +18 -0
- package/dist/adapter-send-proxy.d.ts.map +1 -0
- package/dist/adapter-send-proxy.js +229 -0
- package/dist/adapter-send-proxy.js.map +1 -0
- package/dist/adapter-send-tools-main.js +62 -4
- package/dist/adapter-send-tools-main.js.map +1 -1
- package/dist/adapter-send-tools.d.ts +33 -6
- package/dist/adapter-send-tools.d.ts.map +1 -1
- package/dist/adapter-send-tools.js +485 -87
- package/dist/adapter-send-tools.js.map +1 -1
- package/dist/app-config.d.ts +3 -1
- package/dist/app-config.d.ts.map +1 -1
- package/dist/app-config.js +16 -5
- package/dist/app-config.js.map +1 -1
- package/dist/app.d.ts +27 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +761 -147
- package/dist/app.js.map +1 -1
- package/dist/background-environment.d.ts +16 -0
- package/dist/background-environment.d.ts.map +1 -0
- package/dist/background-environment.js +68 -0
- package/dist/background-environment.js.map +1 -0
- package/dist/background-runtime.d.ts +62 -0
- package/dist/background-runtime.d.ts.map +1 -0
- package/dist/background-runtime.js +1115 -0
- package/dist/background-runtime.js.map +1 -0
- package/dist/background-snapshot-key.d.ts +13 -0
- package/dist/background-snapshot-key.d.ts.map +1 -0
- package/dist/background-snapshot-key.js +194 -0
- package/dist/background-snapshot-key.js.map +1 -0
- package/dist/background-snapshot.d.ts +96 -0
- package/dist/background-snapshot.d.ts.map +1 -0
- package/dist/background-snapshot.js +450 -0
- package/dist/background-snapshot.js.map +1 -0
- package/dist/background-worker-lease.d.ts +39 -0
- package/dist/background-worker-lease.d.ts.map +1 -0
- package/dist/background-worker-lease.js +356 -0
- package/dist/background-worker-lease.js.map +1 -0
- package/dist/background.d.ts +74 -2
- package/dist/background.d.ts.map +1 -1
- package/dist/background.js +815 -73
- package/dist/background.js.map +1 -1
- package/dist/broadcast-recorder.d.ts.map +1 -1
- package/dist/broadcast-recorder.js +24 -2
- package/dist/broadcast-recorder.js.map +1 -1
- package/dist/channel-plugins.d.ts +2 -0
- package/dist/channel-plugins.d.ts.map +1 -1
- package/dist/channel-plugins.js +8 -0
- package/dist/channel-plugins.js.map +1 -1
- package/dist/channels.d.ts +10 -0
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +87 -9
- package/dist/channels.js.map +1 -1
- package/dist/cli.d.ts +86 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2421 -143
- package/dist/cli.js.map +1 -1
- package/dist/config-reference.d.ts.map +1 -1
- package/dist/config-reference.js +448 -6
- package/dist/config-reference.js.map +1 -1
- package/dist/configuration-proposal-main.d.ts +3 -0
- package/dist/configuration-proposal-main.d.ts.map +1 -0
- package/dist/configuration-proposal-main.js +13 -0
- package/dist/configuration-proposal-main.js.map +1 -0
- package/dist/configuration-proposal-tool.d.ts +33 -0
- package/dist/configuration-proposal-tool.d.ts.map +1 -0
- package/dist/configuration-proposal-tool.js +188 -0
- package/dist/configuration-proposal-tool.js.map +1 -0
- package/dist/configured-agent.d.ts +16 -0
- package/dist/configured-agent.d.ts.map +1 -1
- package/dist/configured-agent.js +165 -18
- package/dist/configured-agent.js.map +1 -1
- package/dist/consumer-contract.d.ts +3 -0
- package/dist/consumer-contract.d.ts.map +1 -1
- package/dist/consumer-contract.js +44 -1
- package/dist/consumer-contract.js.map +1 -1
- package/dist/continuation-command.d.ts +15 -0
- package/dist/continuation-command.d.ts.map +1 -0
- package/dist/continuation-command.js +170 -0
- package/dist/continuation-command.js.map +1 -0
- package/dist/continuation-config.d.ts +25 -0
- package/dist/continuation-config.d.ts.map +1 -0
- package/dist/continuation-config.js +236 -0
- package/dist/continuation-config.js.map +1 -0
- package/dist/continuation-service.d.ts +99 -0
- package/dist/continuation-service.d.ts.map +1 -0
- package/dist/continuation-service.js +1313 -0
- package/dist/continuation-service.js.map +1 -0
- package/dist/continuation-store.d.ts +104 -0
- package/dist/continuation-store.d.ts.map +1 -0
- package/dist/continuation-store.js +688 -0
- package/dist/continuation-store.js.map +1 -0
- package/dist/continuations.d.ts +167 -0
- package/dist/continuations.d.ts.map +1 -0
- package/dist/continuations.js +71 -0
- package/dist/continuations.js.map +1 -0
- package/dist/doctor.d.ts +29 -5
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +1611 -116
- package/dist/doctor.js.map +1 -1
- package/dist/first-run-managed-memory.d.ts +39 -0
- package/dist/first-run-managed-memory.d.ts.map +1 -0
- package/dist/first-run-managed-memory.js +584 -0
- package/dist/first-run-managed-memory.js.map +1 -0
- package/dist/first-run-readiness.d.ts +111 -0
- package/dist/first-run-readiness.d.ts.map +1 -0
- package/dist/first-run-readiness.js +728 -0
- package/dist/first-run-readiness.js.map +1 -0
- package/dist/index.d.ts +17 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +95 -3
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +1218 -24
- package/dist/init.js.map +1 -1
- package/dist/interaction-bridge.d.ts +25 -1
- package/dist/interaction-bridge.d.ts.map +1 -1
- package/dist/interaction-bridge.js +281 -19
- package/dist/interaction-bridge.js.map +1 -1
- package/dist/launchd.d.ts +16 -6
- package/dist/launchd.d.ts.map +1 -1
- package/dist/launchd.js +30 -15
- package/dist/launchd.js.map +1 -1
- package/dist/local-configuration.d.ts +99 -0
- package/dist/local-configuration.d.ts.map +1 -0
- package/dist/local-configuration.js +1299 -0
- package/dist/local-configuration.js.map +1 -0
- package/dist/managed-runtime-packages.d.ts +9 -0
- package/dist/managed-runtime-packages.d.ts.map +1 -0
- package/dist/managed-runtime-packages.js +56 -0
- package/dist/managed-runtime-packages.js.map +1 -0
- package/dist/memory-command.d.ts +4 -0
- package/dist/memory-command.d.ts.map +1 -1
- package/dist/memory-command.js +751 -27
- package/dist/memory-command.js.map +1 -1
- package/dist/memory-embedding-service.d.ts +33 -0
- package/dist/memory-embedding-service.d.ts.map +1 -0
- package/dist/memory-embedding-service.js +207 -0
- package/dist/memory-embedding-service.js.map +1 -0
- package/dist/memory-recall.d.ts +43 -14
- package/dist/memory-recall.d.ts.map +1 -1
- package/dist/memory-recall.js +103 -33
- package/dist/memory-recall.js.map +1 -1
- package/dist/memory-retrieval.d.ts +66 -0
- package/dist/memory-retrieval.d.ts.map +1 -0
- package/dist/memory-retrieval.js +332 -0
- package/dist/memory-retrieval.js.map +1 -0
- package/dist/modules/base.d.ts +6 -5
- package/dist/modules/base.d.ts.map +1 -1
- package/dist/modules/base.js +11 -7
- package/dist/modules/base.js.map +1 -1
- package/dist/modules/catalog.d.ts.map +1 -1
- package/dist/modules/catalog.js +141 -25
- package/dist/modules/catalog.js.map +1 -1
- package/dist/modules/index.d.ts +2 -2
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +1 -1
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/known-tools.d.ts +3 -0
- package/dist/modules/known-tools.d.ts.map +1 -1
- package/dist/modules/known-tools.js +11 -1
- package/dist/modules/known-tools.js.map +1 -1
- package/dist/modules/types.d.ts +20 -6
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/types.js.map +1 -1
- package/dist/notify-runtime.d.ts +26 -0
- package/dist/notify-runtime.d.ts.map +1 -0
- package/dist/notify-runtime.js +27 -0
- package/dist/notify-runtime.js.map +1 -0
- package/dist/notify-tool.d.ts +51 -0
- package/dist/notify-tool.d.ts.map +1 -0
- package/dist/notify-tool.js +182 -0
- package/dist/notify-tool.js.map +1 -0
- package/dist/package-version.d.ts +3 -0
- package/dist/package-version.d.ts.map +1 -0
- package/dist/package-version.js +14 -0
- package/dist/package-version.js.map +1 -0
- package/dist/pi-auth-store-inspection.d.ts +21 -0
- package/dist/pi-auth-store-inspection.d.ts.map +1 -0
- package/dist/pi-auth-store-inspection.js +120 -0
- package/dist/pi-auth-store-inspection.js.map +1 -0
- package/dist/pi-oauth-login-main.d.ts +3 -0
- package/dist/pi-oauth-login-main.d.ts.map +1 -0
- package/dist/pi-oauth-login-main.js +14 -0
- package/dist/pi-oauth-login-main.js.map +1 -0
- package/dist/pi-oauth-login.d.ts +22 -0
- package/dist/pi-oauth-login.d.ts.map +1 -0
- package/dist/pi-oauth-login.js +79 -0
- package/dist/pi-oauth-login.js.map +1 -0
- package/dist/proactive-notify.d.ts +2 -0
- package/dist/proactive-notify.d.ts.map +1 -1
- package/dist/proactive-notify.js +1 -0
- package/dist/proactive-notify.js.map +1 -1
- package/dist/process-incarnation.d.ts +23 -0
- package/dist/process-incarnation.d.ts.map +1 -0
- package/dist/process-incarnation.js +208 -0
- package/dist/process-incarnation.js.map +1 -0
- package/dist/project-skills.d.ts +40 -0
- package/dist/project-skills.d.ts.map +1 -0
- package/dist/project-skills.js +573 -0
- package/dist/project-skills.js.map +1 -0
- package/dist/provider-setup.d.ts +117 -2
- package/dist/provider-setup.d.ts.map +1 -1
- package/dist/provider-setup.js +1505 -49
- package/dist/provider-setup.js.map +1 -1
- package/dist/readiness-probe-worker.d.ts +12 -0
- package/dist/readiness-probe-worker.d.ts.map +1 -0
- package/dist/readiness-probe-worker.js +276 -0
- package/dist/readiness-probe-worker.js.map +1 -0
- package/dist/readiness-probe.d.ts +100 -0
- package/dist/readiness-probe.d.ts.map +1 -0
- package/dist/readiness-probe.js +780 -0
- package/dist/readiness-probe.js.map +1 -0
- package/dist/recipes/base.d.ts +15 -0
- package/dist/recipes/base.d.ts.map +1 -0
- package/dist/recipes/base.js +51 -0
- package/dist/recipes/base.js.map +1 -0
- package/dist/recipes/catalog.d.ts +4 -0
- package/dist/recipes/catalog.d.ts.map +1 -0
- package/dist/recipes/catalog.js +525 -0
- package/dist/recipes/catalog.js.map +1 -0
- package/dist/recipes/index.d.ts +11 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/index.js +14 -0
- package/dist/recipes/index.js.map +1 -0
- package/dist/recipes/types.d.ts +70 -0
- package/dist/recipes/types.d.ts.map +1 -0
- package/dist/recipes/types.js +15 -0
- package/dist/recipes/types.js.map +1 -0
- package/dist/request-model-override.d.ts +43 -1
- package/dist/request-model-override.d.ts.map +1 -1
- package/dist/request-model-override.js +178 -19
- package/dist/request-model-override.js.map +1 -1
- package/dist/run-history.d.ts +32 -0
- package/dist/run-history.d.ts.map +1 -0
- package/dist/run-history.js +859 -0
- package/dist/run-history.js.map +1 -0
- package/dist/runs-health.d.ts.map +1 -1
- package/dist/runs-health.js +12 -4
- package/dist/runs-health.js.map +1 -1
- package/dist/runtime-option-extensions.d.ts +14 -0
- package/dist/runtime-option-extensions.d.ts.map +1 -0
- package/dist/runtime-option-extensions.js +98 -0
- package/dist/runtime-option-extensions.js.map +1 -0
- package/dist/runtime-routes.d.ts +9 -0
- package/dist/runtime-routes.d.ts.map +1 -0
- package/dist/runtime-routes.js +13 -0
- package/dist/runtime-routes.js.map +1 -0
- package/dist/sandbox-manager.d.ts +86 -0
- package/dist/sandbox-manager.d.ts.map +1 -0
- package/dist/sandbox-manager.js +1402 -0
- package/dist/sandbox-manager.js.map +1 -0
- package/dist/setup.d.ts +29 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +97 -0
- package/dist/setup.js.map +1 -0
- package/dist/supermemory-plugin.d.ts +56 -0
- package/dist/supermemory-plugin.d.ts.map +1 -0
- package/dist/supermemory-plugin.js +142 -0
- package/dist/supermemory-plugin.js.map +1 -0
- package/dist/tui-command.d.ts +56 -0
- package/dist/tui-command.d.ts.map +1 -1
- package/dist/tui-command.js +305 -31
- package/dist/tui-command.js.map +1 -1
- package/dist/web-command.d.ts +8 -0
- package/dist/web-command.d.ts.map +1 -1
- package/dist/web-command.js +174 -17
- package/dist/web-command.js.map +1 -1
- package/dist/wizard/answers.d.ts +31 -4
- package/dist/wizard/answers.d.ts.map +1 -1
- package/dist/wizard/answers.js +141 -29
- package/dist/wizard/answers.js.map +1 -1
- package/dist/wizard/from-flags.d.ts +7 -0
- package/dist/wizard/from-flags.d.ts.map +1 -1
- package/dist/wizard/from-flags.js +36 -2
- package/dist/wizard/from-flags.js.map +1 -1
- package/dist/wizard/index.d.ts +4 -4
- package/dist/wizard/index.d.ts.map +1 -1
- package/dist/wizard/index.js +2 -2
- package/dist/wizard/index.js.map +1 -1
- package/dist/wizard/model-discovery.d.ts +33 -2
- package/dist/wizard/model-discovery.d.ts.map +1 -1
- package/dist/wizard/model-discovery.js +826 -108
- package/dist/wizard/model-discovery.js.map +1 -1
- package/dist/wizard/presets.d.ts +1 -1
- package/dist/wizard/presets.d.ts.map +1 -1
- package/dist/wizard/presets.js +7 -12
- package/dist/wizard/presets.js.map +1 -1
- package/dist/wizard/prompts.d.ts +56 -9
- package/dist/wizard/prompts.d.ts.map +1 -1
- package/dist/wizard/prompts.js +172 -20
- package/dist/wizard/prompts.js.map +1 -1
- package/dist/wizard/run.d.ts +59 -3
- package/dist/wizard/run.d.ts.map +1 -1
- package/dist/wizard/run.js +1290 -191
- package/dist/wizard/run.js.map +1 -1
- package/package.json +21 -16
- package/resources/srt/package-lock.json +66 -0
- package/resources/srt/package.json +9 -0
- package/schema/mono-agent.config.schema.json +587 -20
- package/skills/mono-agent-composer/SKILL.md +6 -6
- package/skills/mono-agent-composer/references/config-blueprint.md +11 -10
- package/skills/mono-agent-composer/references/discovery-questions.md +33 -18
- package/skills/mono-agent-composer/references/feature-coverage.md +14 -12
- package/skills/mono-agent-composer/references/package-map.md +2 -2
- package/skills/mono-agent-composer/references/playbooks.md +8 -7
- package/skills/mono-agent-composer/references/validation.md +3 -3
package/dist/memory-recall.js
CHANGED
|
@@ -2,19 +2,22 @@ import process from "node:process";
|
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
4
|
import { resolveSupermemoryContainer } from "@mono-agent/config";
|
|
5
|
+
import { isConversationRelativeQuery } from "@mono-agent/memory/bujo";
|
|
5
6
|
import * as z from "zod/v4";
|
|
7
|
+
import { loadSupermemoryPlugin } from "./supermemory-plugin.js";
|
|
6
8
|
/**
|
|
7
9
|
* Read-only memory recall, wired from the SINGLE `config.memory` block.
|
|
8
10
|
*
|
|
9
|
-
* When `config.memory.recallTool.enabled` is
|
|
10
|
-
* (server name {@link MEMORY_RECALL_MCP_SERVER_NAME}) to the agent.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* When memory is configured and `config.memory.recallTool.enabled` is not explicitly false, the app exposes a `MemoryRecall` MCP tool
|
|
12
|
+
* (server name {@link MEMORY_RECALL_MCP_SERVER_NAME}) to the agent. The normal app path registers
|
|
13
|
+
* the tool against the request-scoped shared retrieval service in `memory-retrieval.ts`, so
|
|
14
|
+
* automatic recall and explicit tool calls use the same store and per-turn cache. Recall needs only
|
|
15
|
+
* embeddings + FTS — no chat LLM — and still serves FTS-only (lexical) results when embeddings are
|
|
16
|
+
* absent. Capture stays in-app (unchanged); this module never touches it.
|
|
14
17
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
+
* The child-process settings below remain as a standalone/compatibility surface. Their embeddings
|
|
19
|
+
* path keeps parity with the in-app store (`createConfiguredMemory`): the recall child applies the
|
|
20
|
+
* same per-call timeout and circuit breaker.
|
|
18
21
|
*
|
|
19
22
|
* Secret handling: the raw embeddings api key is NOT copied into the recall child's env. When the
|
|
20
23
|
* key was sourced from a named environment variable (`apiKeyEnv`) we forward only the NAME and the
|
|
@@ -22,8 +25,7 @@ import * as z from "zod/v4";
|
|
|
22
25
|
* `apiKeyEnv`) still has to transit the child env as a value — that residual is documented on
|
|
23
26
|
* {@link memoryRecallMcpEnv}.
|
|
24
27
|
*
|
|
25
|
-
*
|
|
26
|
-
* options. MCP tools are not gated by `tools.allowedTools`, so no allowlist entry is required.
|
|
28
|
+
* MCP tools are not gated by `tools.allowedTools`, so no allowlist entry is required.
|
|
27
29
|
*/
|
|
28
30
|
export const MEMORY_RECALL_MCP_SERVER_NAME = "mono-agent-memory";
|
|
29
31
|
function isSupermemorySettings(settings) {
|
|
@@ -45,7 +47,7 @@ export function resolveMemoryRecallSettings(config) {
|
|
|
45
47
|
if (memory === undefined) {
|
|
46
48
|
return undefined;
|
|
47
49
|
}
|
|
48
|
-
if (memory.recallTool?.enabled
|
|
50
|
+
if (memory.recallTool?.enabled === false) {
|
|
49
51
|
return undefined;
|
|
50
52
|
}
|
|
51
53
|
if ((memory.backend ?? "bujo") === "supermemory") {
|
|
@@ -66,11 +68,12 @@ export function resolveMemoryRecallSettings(config) {
|
|
|
66
68
|
}
|
|
67
69
|
const embeddings = memory.embeddings;
|
|
68
70
|
if (embeddings === undefined) {
|
|
69
|
-
//
|
|
70
|
-
return { root: memory.path };
|
|
71
|
+
// Default-on recall without embeddings → FTS-only recall (no embedding provider built).
|
|
72
|
+
return { root: memory.path, tier: memory.mode };
|
|
71
73
|
}
|
|
72
74
|
return {
|
|
73
75
|
root: memory.path,
|
|
76
|
+
tier: memory.mode,
|
|
74
77
|
embeddings: {
|
|
75
78
|
provider: embeddings.provider,
|
|
76
79
|
model: embeddings.model,
|
|
@@ -91,9 +94,10 @@ export function resolveMemoryRecallSettings(config) {
|
|
|
91
94
|
*
|
|
92
95
|
* Only `MONO_AGENT_MEMORY_PATH` is required. When the embeddings provider/model are both absent the
|
|
93
96
|
* child runs FTS-only (no embedding provider). When present, the embeddings slice — including the
|
|
94
|
-
* resilience knobs (timeout + circuit breaker) — is rehydrated.
|
|
95
|
-
*
|
|
96
|
-
* literal `MONO_AGENT_MEMORY_EMBEDDINGS_API_KEY`
|
|
97
|
+
* resilience knobs (timeout + circuit breaker) — is rehydrated. When
|
|
98
|
+
* `MONO_AGENT_MEMORY_EMBEDDINGS_API_KEY_ENV` is set, that named inherited value is authoritative and
|
|
99
|
+
* must resolve; a literal `MONO_AGENT_MEMORY_EMBEDDINGS_API_KEY` is accepted only for the inline-key
|
|
100
|
+
* case where no env-var name was declared.
|
|
97
101
|
*/
|
|
98
102
|
export function memoryRecallSettingsFromEnv(env) {
|
|
99
103
|
if (optionalString(env.MONO_AGENT_MEMORY_BACKEND) === "supermemory") {
|
|
@@ -123,23 +127,36 @@ export function memoryRecallSettingsFromEnv(env) {
|
|
|
123
127
|
if (root === undefined) {
|
|
124
128
|
throw new Error("memory-recall: missing required environment (MONO_AGENT_MEMORY_PATH).");
|
|
125
129
|
}
|
|
130
|
+
const rawTier = optionalString(env.MONO_AGENT_MEMORY_MODE);
|
|
131
|
+
if (rawTier !== undefined && rawTier !== "lite" && rawTier !== "journal" && rawTier !== "bujo") {
|
|
132
|
+
throw new Error(`memory-recall: unsupported MONO_AGENT_MEMORY_MODE "${rawTier}" (expected lite, journal, or bujo).`);
|
|
133
|
+
}
|
|
134
|
+
const tier = rawTier;
|
|
126
135
|
const provider = optionalString(env.MONO_AGENT_MEMORY_EMBEDDINGS_PROVIDER);
|
|
127
136
|
const model = optionalString(env.MONO_AGENT_MEMORY_EMBEDDINGS_MODEL);
|
|
128
137
|
if (provider === undefined && model === undefined) {
|
|
129
138
|
// No embeddings configured → FTS-only recall store.
|
|
130
|
-
return { root };
|
|
139
|
+
return { root, ...(tier === undefined ? {} : { tier }) };
|
|
131
140
|
}
|
|
132
141
|
if (provider === undefined || model === undefined) {
|
|
133
142
|
throw new Error("memory-recall: incomplete embeddings environment (MONO_AGENT_MEMORY_EMBEDDINGS_PROVIDER and MONO_AGENT_MEMORY_EMBEDDINGS_MODEL must be set together).");
|
|
134
143
|
}
|
|
135
|
-
if (provider !== "ollama" && provider !== "openai") {
|
|
136
|
-
throw new Error(`memory-recall: unsupported MONO_AGENT_MEMORY_EMBEDDINGS_PROVIDER "${provider}"
|
|
144
|
+
if (provider !== "ollama" && provider !== "lmstudio" && provider !== "openai") {
|
|
145
|
+
throw new Error(`memory-recall: unsupported MONO_AGENT_MEMORY_EMBEDDINGS_PROVIDER "${provider}" ` +
|
|
146
|
+
`(expected "ollama", "lmstudio", or "openai").`);
|
|
137
147
|
}
|
|
138
148
|
const endpoint = optionalString(env.MONO_AGENT_MEMORY_EMBEDDINGS_ENDPOINT);
|
|
139
149
|
const apiKeyEnv = optionalString(env.MONO_AGENT_MEMORY_EMBEDDINGS_API_KEY_ENV);
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
150
|
+
const namedApiKey = apiKeyEnv === undefined ? undefined : optionalString(env[apiKeyEnv]);
|
|
151
|
+
if (apiKeyEnv !== undefined && namedApiKey === undefined) {
|
|
152
|
+
throw new Error(`memory-recall: memory.embeddings.apiKeyEnv ${apiKeyEnv} is declared but the inherited environment ` +
|
|
153
|
+
`has no non-empty value; set ${apiKeyEnv} before starting recall.`);
|
|
154
|
+
}
|
|
155
|
+
// A declared name is authoritative: never turn a missing named credential
|
|
156
|
+
// into an accidental keyless request or silently substitute another value.
|
|
157
|
+
const apiKey = apiKeyEnv === undefined
|
|
158
|
+
? optionalString(env.MONO_AGENT_MEMORY_EMBEDDINGS_API_KEY)
|
|
159
|
+
: namedApiKey;
|
|
143
160
|
const dim = parseDim(optionalString(env.MONO_AGENT_MEMORY_EMBEDDINGS_DIM));
|
|
144
161
|
const timeoutMs = parsePositiveInt(optionalString(env.MONO_AGENT_MEMORY_EMBEDDINGS_TIMEOUT_MS), "MONO_AGENT_MEMORY_EMBEDDINGS_TIMEOUT_MS");
|
|
145
162
|
const failureThreshold = parsePositiveInt(optionalString(env.MONO_AGENT_MEMORY_EMBEDDINGS_CIRCUIT_BREAKER_FAILURE_THRESHOLD), "MONO_AGENT_MEMORY_EMBEDDINGS_CIRCUIT_BREAKER_FAILURE_THRESHOLD");
|
|
@@ -152,6 +169,7 @@ export function memoryRecallSettingsFromEnv(env) {
|
|
|
152
169
|
};
|
|
153
170
|
return {
|
|
154
171
|
root,
|
|
172
|
+
...(tier === undefined ? {} : { tier }),
|
|
155
173
|
embeddings: {
|
|
156
174
|
provider,
|
|
157
175
|
model,
|
|
@@ -190,12 +208,16 @@ export function memoryRecallMcpEnv(settings) {
|
|
|
190
208
|
}
|
|
191
209
|
const { embeddings } = settings;
|
|
192
210
|
if (embeddings === undefined) {
|
|
193
|
-
return {
|
|
211
|
+
return {
|
|
212
|
+
MONO_AGENT_MEMORY_PATH: settings.root,
|
|
213
|
+
...(settings.tier === undefined ? {} : { MONO_AGENT_MEMORY_MODE: settings.tier }),
|
|
214
|
+
};
|
|
194
215
|
}
|
|
195
216
|
// Forward the secret only as a last resort: prefer the env-var name passthrough.
|
|
196
217
|
const forwardLiteralApiKey = embeddings.apiKeyEnv === undefined && embeddings.apiKey !== undefined;
|
|
197
218
|
return {
|
|
198
219
|
MONO_AGENT_MEMORY_PATH: settings.root,
|
|
220
|
+
...(settings.tier === undefined ? {} : { MONO_AGENT_MEMORY_MODE: settings.tier }),
|
|
199
221
|
MONO_AGENT_MEMORY_EMBEDDINGS_PROVIDER: embeddings.provider,
|
|
200
222
|
MONO_AGENT_MEMORY_EMBEDDINGS_MODEL: embeddings.model,
|
|
201
223
|
...(embeddings.endpoint === undefined ? {} : { MONO_AGENT_MEMORY_EMBEDDINGS_ENDPOINT: embeddings.endpoint }),
|
|
@@ -250,7 +272,7 @@ export async function createRecallStore(settings) {
|
|
|
250
272
|
// stack or the Supermemory client into the main process — only the spawned
|
|
251
273
|
// recall child pays for the backend it actually serves.
|
|
252
274
|
if (isSupermemorySettings(settings)) {
|
|
253
|
-
const { createSupermemoryStore } = await
|
|
275
|
+
const { createSupermemoryStore } = await loadSupermemoryPlugin();
|
|
254
276
|
const sm = settings.supermemory;
|
|
255
277
|
return createSupermemoryStore({
|
|
256
278
|
baseUrl: sm.baseUrl,
|
|
@@ -259,11 +281,34 @@ export async function createRecallStore(settings) {
|
|
|
259
281
|
...(sm.timeoutMs === undefined ? {} : { timeoutMs: sm.timeoutMs }),
|
|
260
282
|
});
|
|
261
283
|
}
|
|
262
|
-
const { createBujoMemoryStore } = await import("@mono-agent/memory/bujo");
|
|
284
|
+
const { createBujoMemoryStore, resolveActiveMemoryDbPath } = await import("@mono-agent/memory/bujo");
|
|
285
|
+
const dbPath = settings.dbPath ?? await resolveActiveMemoryDbPath(settings.root);
|
|
263
286
|
const { embeddings } = settings;
|
|
264
287
|
if (embeddings === undefined) {
|
|
265
288
|
// FTS-only recall: no embedding provider, no dim (mirrors the lite-tier store shape).
|
|
266
|
-
return createBujoMemoryStore({
|
|
289
|
+
return createBujoMemoryStore({
|
|
290
|
+
root: settings.root,
|
|
291
|
+
dbPath,
|
|
292
|
+
readOnly: true,
|
|
293
|
+
...(settings.tier === undefined ? {} : { tier: settings.tier }),
|
|
294
|
+
...(settings.ftsOnlyFallback === true ? { allowFtsFallback: true } : {}),
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
const provider = await createMemoryEmbeddingProvider(embeddings);
|
|
298
|
+
return createBujoMemoryStore({
|
|
299
|
+
root: settings.root,
|
|
300
|
+
dbPath,
|
|
301
|
+
readOnly: true,
|
|
302
|
+
...(settings.tier === undefined ? {} : { tier: settings.tier }),
|
|
303
|
+
embeddings: provider,
|
|
304
|
+
dim: embeddings.dim ?? 768,
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
/** Build the configured embedding provider used by recall and safe index maintenance. */
|
|
308
|
+
export async function createMemoryEmbeddingProvider(embeddings) {
|
|
309
|
+
if (embeddings.apiKeyEnv !== undefined && embeddings.apiKey === undefined) {
|
|
310
|
+
throw new Error(`memory.embeddings.apiKeyEnv ${embeddings.apiKeyEnv} is declared but has no resolved value; ` +
|
|
311
|
+
`set ${embeddings.apiKeyEnv} before using semantic memory.`);
|
|
267
312
|
}
|
|
268
313
|
const providerConfig = {
|
|
269
314
|
provider: embeddings.provider,
|
|
@@ -279,25 +324,50 @@ export async function createRecallStore(settings) {
|
|
|
279
324
|
...(embeddings.circuitBreaker?.cooldownMs === undefined ? {} : { cooldownMs: embeddings.circuitBreaker.cooldownMs }),
|
|
280
325
|
};
|
|
281
326
|
const { createCircuitBreakerEmbeddingProvider, createEmbeddingProvider } = await import("@mono-agent/memory/search");
|
|
282
|
-
return
|
|
283
|
-
root: settings.root,
|
|
284
|
-
embeddings: createCircuitBreakerEmbeddingProvider(createEmbeddingProvider(providerConfig), breakerOptions),
|
|
285
|
-
dim: embeddings.dim ?? 768,
|
|
286
|
-
});
|
|
327
|
+
return createCircuitBreakerEmbeddingProvider(createEmbeddingProvider(providerConfig), breakerOptions);
|
|
287
328
|
}
|
|
288
329
|
/** Register the single read-only `MemoryRecall` tool against a store (bujo or external backend). */
|
|
289
330
|
export function createMemoryRecallServer(store) {
|
|
290
331
|
const server = new McpServer({ name: "agent-memory", version: "0.3.0" });
|
|
291
332
|
server.registerTool("MemoryRecall", {
|
|
292
333
|
title: "Recall from memory",
|
|
293
|
-
description: "Read-only hybrid (keyword + semantic) search over
|
|
334
|
+
description: "Read-only hybrid (keyword + semantic) search over durable long-term memory. Use it for prior preferences, facts, decisions, and qualified archived history. Do not use it for unqualified questions about what you or the user just said or sent in the current or last message; use the active conversation history for those questions.",
|
|
294
335
|
inputSchema: {
|
|
295
336
|
query: z.string().min(1).describe("Natural-language description of what to recall."),
|
|
296
337
|
limit: z.number().int().min(1).max(50).optional().describe("Max results (default 8)."),
|
|
297
338
|
},
|
|
298
339
|
}, async (args) => {
|
|
340
|
+
if (isConversationRelativeQuery(args.query)) {
|
|
341
|
+
const guidance = "This question refers to the active conversation, not long-term memory. Use the current conversation history to identify the last message.";
|
|
342
|
+
return {
|
|
343
|
+
content: [{ type: "text", text: guidance }],
|
|
344
|
+
structuredContent: { hits: [], conversationRelative: true, guidance },
|
|
345
|
+
};
|
|
346
|
+
}
|
|
299
347
|
const topK = clampLimit(args.limit, 8);
|
|
300
|
-
|
|
348
|
+
let hits;
|
|
349
|
+
try {
|
|
350
|
+
const graphEnabled = store.expandGraph !== undefined && store.supportsGraphExpansion?.() !== false;
|
|
351
|
+
const direct = await store.recall(args.query, {
|
|
352
|
+
topK: graphEnabled ? 50 : topK,
|
|
353
|
+
// The bundled recall process opens the active generation read-only.
|
|
354
|
+
// Never ask a store to mutate access telemetry on this path.
|
|
355
|
+
trackAccess: false,
|
|
356
|
+
});
|
|
357
|
+
hits = !graphEnabled || store.expandGraph === undefined
|
|
358
|
+
? direct.slice(0, topK)
|
|
359
|
+
: await store.expandGraph(args.query, direct, { topK });
|
|
360
|
+
// Record only the final served set. Read-only BuJo recall stores make
|
|
361
|
+
// this a no-op; shared writable stores retain their access telemetry.
|
|
362
|
+
store.recordAccess?.(hits.map((hit) => hit.record.id));
|
|
363
|
+
}
|
|
364
|
+
catch (error) {
|
|
365
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
366
|
+
return {
|
|
367
|
+
content: [{ type: "text", text: `Memory recall is temporarily unavailable: ${reason}` }],
|
|
368
|
+
structuredContent: { hits: [], degraded: true, reason },
|
|
369
|
+
};
|
|
370
|
+
}
|
|
301
371
|
if (hits.length === 0) {
|
|
302
372
|
return { content: [{ type: "text", text: `No memories matched "${args.query}".` }], structuredContent: { hits: [] } };
|
|
303
373
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../src/memory-recall.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;AAkEjE,SAAS,qBAAqB,CAAC,QAA8B;IAC3D,OAAO,aAAa,IAAI,QAAQ,CAAC;AACnC,CAAC;AASD;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,MAAM,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAuB;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,aAAa,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;QAC9B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,+EAA+E;YAC/E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,WAAW,EAAE;gBACX,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,SAAS,EAAE,2BAA2B,CAAC,MAAM,CAAC;gBAC9C,uFAAuF;gBACvF,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;gBACzD,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC;aACnE;SACF,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,sFAAsF;QACtF,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/E,6FAA6F;YAC7F,+FAA+F;YAC/F,2FAA2F;YAC3F,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC;YAClF,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;YACzE,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;YAChE,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC;YAClF,GAAG,CAAC,UAAU,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC;SAClG;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAuC;IACjF,IAAI,cAAc,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,aAAa,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAC3E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QACD,mGAAmG;QACnG,iGAAiG;QACjG,gDAAgD;QAChD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAC9E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,gBAAgB,CAChC,cAAc,CAAC,GAAG,CAAC,wCAAwC,CAAC,EAC5D,0CAA0C,CAC3C,CAAC;QACF,OAAO;YACL,WAAW,EAAE;gBACX,OAAO;gBACP,SAAS;gBACT,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;aAClD;SACF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACxD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACrE,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAClD,oDAAoD;QACpD,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,uJAAuJ,CACxJ,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,qEAAqE,QAAQ,oCAAoC,CAAC,CAAC;IACrI,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAC/E,0FAA0F;IAC1F,MAAM,MAAM,GACV,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtE,cAAc,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,uCAAuC,CAAC,EAAE,yCAAyC,CAAC,CAAC;IAC3I,MAAM,gBAAgB,GAAG,gBAAgB,CACvC,cAAc,CAAC,GAAG,CAAC,8DAA8D,CAAC,EAClF,gEAAgE,CACjE,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB,CACjC,cAAc,CAAC,GAAG,CAAC,wDAAwD,CAAC,EAC5E,0DAA0D,CAC3D,CAAC;IACF,MAAM,cAAc,GAClB,gBAAgB,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;QACxD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACE,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;YAC/D,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;SACpD,CAAC;IACR,OAAO;QACL,IAAI;QACJ,UAAU,EAAE;YACV,QAAQ;YACR,KAAK;YACL,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YACrC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;SAC5D;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAA8B;IAC/D,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;QAChC,gGAAgG;QAChG,kGAAkG;QAClG,+FAA+F;QAC/F,OAAO;YACL,yBAAyB,EAAE,aAAa;YACxC,sCAAsC,EAAE,EAAE,CAAC,OAAO;YAClD,uCAAuC,EAAE,EAAE,CAAC,SAAS;YACrD,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,qCAAqC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;YACxF,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,wCAAwC,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;SAC1G,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAChC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,sBAAsB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IACD,iFAAiF;IACjF,MAAM,oBAAoB,GAAG,UAAU,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC;IACnG,OAAO;QACL,sBAAsB,EAAE,QAAQ,CAAC,IAAI;QACrC,qCAAqC,EAAE,UAAU,CAAC,QAAQ;QAC1D,kCAAkC,EAAE,UAAU,CAAC,KAAK;QACpD,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,qCAAqC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC5G,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,wCAAwC,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC;QACjH,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oCAAoC,EAAE,UAAU,CAAC,MAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gCAAgC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrG,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,uCAAuC,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxH,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,gBAAgB,KAAK,SAAS;YAC3D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,8DAA8D,EAAE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3H,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,KAAK,SAAS;YACrD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wDAAwD,EAAE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;KAChH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAA8B,EAAE,GAAW;IACnF,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,GAAG;QACH,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAChD,QAA8B,EAC9B,GAAW;IAEX,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;QAClB,cAAc,EAAE;YACd,UAAU,EAAE;gBACV,CAAC,6BAA6B,CAAC,EAAE,yBAAyB,CAAC,QAAQ,EAAE,GAAG,CAAC;aAC1E;SACF;QACD,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAA8B;IACpE,+EAA+E;IAC/E,2EAA2E;IAC3E,2EAA2E;IAC3E,wDAAwD;IACxD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAClF,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;QAChC,OAAO,sBAAsB,CAAC;YAC5B,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;YACzD,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC1E,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAChC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,sFAAsF;QACtF,OAAO,qBAAqB,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,cAAc,GAA4B;QAC9C,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/E,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QACzE,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,oCAAoC;KACxE,CAAC;IACF,MAAM,cAAc,GAAmC;QACrD,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,gBAAgB,KAAK,SAAS;YAC3D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACrE,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KACrH,CAAC;IACF,MAAM,EAAE,qCAAqC,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACrH,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,qCAAqC,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;QAC1G,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,GAAG;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,wBAAwB,CAAC,KAAyB;IAChE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,gRAAgR;QAC7R,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACvF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;QACxH,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACjC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;SACjH,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB,EAAE,QAAgB;IAC7D,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAuB;IACvC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,4DAA4D,GAAG,kCAAkC,CAAC,CAAC;IACrH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAuB,EAAE,IAAY;IAC7D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,GAAG,kCAAkC,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../src/memory-recall.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type Server } from "node:http";
|
|
2
|
+
import type { MemoryBlock, MemoryCompletedTurn, MemoryCompletedTurnResult, MemoryLoadOptions, MemoryStore, MemoryWriteResult } from "@mono-agent/agent-contracts";
|
|
3
|
+
import { type MemoryRecallRuntimeExtension, type RecallCapableStore } from "./memory-recall.js";
|
|
4
|
+
export interface SharedRecallStore extends MemoryStore, RecallCapableStore {
|
|
5
|
+
/** Optional local-store telemetry hook; it must not alter relevance. */
|
|
6
|
+
recordAccess?(ids: readonly string[]): void;
|
|
7
|
+
}
|
|
8
|
+
export interface MemoryRetrievalServiceOptions {
|
|
9
|
+
readonly maxBytes?: number;
|
|
10
|
+
readonly source?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface SharedMemoryRecallRuntimeExtensionOptions {
|
|
13
|
+
/** Best-effort diagnostic when the loopback tool endpoint cannot start. */
|
|
14
|
+
readonly onUnavailable?: (error: unknown) => void;
|
|
15
|
+
/** Test seam for simulating endpoint startup failures. */
|
|
16
|
+
readonly listen?: (server: Server) => Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
interface SharedRecallHit {
|
|
19
|
+
readonly score: number;
|
|
20
|
+
readonly record: {
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly text: string;
|
|
23
|
+
readonly type?: "task" | "event" | "note";
|
|
24
|
+
readonly status?: "open" | "done" | "scheduled" | "migrated" | "dropped" | "invalidated";
|
|
25
|
+
readonly isInsight?: boolean;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* One configured-harness read path for automatic context and MemoryRecall.
|
|
30
|
+
*
|
|
31
|
+
* Each normalized query in a turn asks the configured backend for a bounded
|
|
32
|
+
* superset once. Automatic recall and the MCP tool then slice that same promise,
|
|
33
|
+
* so an identical query performs at most one embedding/search operation. The
|
|
34
|
+
* cache is explicitly released by the harness after the whole logical turn.
|
|
35
|
+
*/
|
|
36
|
+
export declare class MemoryRetrievalService implements MemoryStore {
|
|
37
|
+
private readonly store;
|
|
38
|
+
private readonly maxBytes;
|
|
39
|
+
private readonly source;
|
|
40
|
+
private readonly turns;
|
|
41
|
+
readonly persistCompletedTurn?: (turn: MemoryCompletedTurn) => Promise<MemoryCompletedTurnResult>;
|
|
42
|
+
constructor(store: SharedRecallStore, options?: MemoryRetrievalServiceOptions);
|
|
43
|
+
load(conversationId: string, query?: string, options?: MemoryLoadOptions): Promise<MemoryBlock | undefined>;
|
|
44
|
+
recallForTurn(turnId: string, query: string, options?: {
|
|
45
|
+
readonly topK?: number;
|
|
46
|
+
readonly trackAccess?: boolean;
|
|
47
|
+
readonly expandHops?: 0 | 1;
|
|
48
|
+
}): Promise<readonly SharedRecallHit[]>;
|
|
49
|
+
releaseTurn(turnId: string): void;
|
|
50
|
+
releaseAllTurns(): void;
|
|
51
|
+
supportsGraphExpansion(): boolean;
|
|
52
|
+
recordAccessIdsForTurn(turnId: string, ids: readonly string[]): void;
|
|
53
|
+
appendHostSummary(conversationId: string, summary: string): Promise<MemoryWriteResult>;
|
|
54
|
+
scheduleCapture(conversationId: string, text: string): void;
|
|
55
|
+
flush(): Promise<void>;
|
|
56
|
+
private turnCache;
|
|
57
|
+
private recordServed;
|
|
58
|
+
}
|
|
59
|
+
/** Create a per-turn loopback MCP endpoint over the shared in-process service. */
|
|
60
|
+
export declare function createSharedMemoryRecallRuntimeExtension(service: MemoryRetrievalService, options?: SharedMemoryRecallRuntimeExtensionOptions): (input: {
|
|
61
|
+
readonly runId: string;
|
|
62
|
+
}) => Promise<MemoryRecallRuntimeExtension>;
|
|
63
|
+
export declare function isSharedRecallStore(store: MemoryStore | undefined): store is SharedRecallStore;
|
|
64
|
+
export declare function normalizeMemoryRecallQuery(query: string): string;
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=memory-retrieval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-retrieval.d.ts","sourceRoot":"","sources":["../src/memory-retrieval.ts"],"names":[],"mappings":"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"}
|