@remnic/core 9.25.4 → 9.25.6
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/dist/access-admin-ops-surface.d.ts +3 -2
- package/dist/access-admin-ops-surface.js +9 -8
- package/dist/access-authorization-probe.d.ts +10 -3
- package/dist/access-authorization-probe.js +12 -9
- package/dist/access-boundary.d.ts +6 -3
- package/dist/access-boundary.js +13 -10
- package/dist/access-cli.js +41 -40
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +3 -2
- package/dist/access-http.js +16 -15
- package/dist/access-identity-continuity-surface.d.ts +2 -1
- package/dist/access-identity-continuity-surface.js +9 -8
- package/dist/access-lcm-surface.d.ts +3 -2
- package/dist/access-lcm-surface.js +9 -8
- package/dist/access-mcp-output-schemas.js +1 -1
- package/dist/access-mcp.d.ts +3 -2
- package/dist/access-mcp.js +13 -12
- package/dist/access-namespace-preflight.js +9 -8
- package/dist/access-observe-write-surface.d.ts +3 -2
- package/dist/access-observe-write-surface.js +9 -8
- package/dist/access-operations-batch.js +10 -9
- package/dist/access-operations.d.ts +6 -5
- package/dist/access-operations.js +11 -10
- package/dist/access-recall-concurrency.d.ts +3 -2
- package/dist/access-recall-concurrency.js +9 -8
- package/dist/access-recall-response.d.ts +4 -2
- package/dist/access-recall-response.js +9 -8
- package/dist/access-recall-surface.d.ts +3 -2
- package/dist/access-recall-surface.js +9 -8
- package/dist/access-schema.d.ts +76 -76
- package/dist/{access-service-BlNKWBC9.d.ts → access-service-BJQ22URi.d.ts} +4 -1
- package/dist/access-service.d.ts +3 -2
- package/dist/access-service.js +9 -8
- package/dist/access-surface-catalog.d.ts +3 -2
- package/dist/bootstrap.d.ts +2 -1
- package/dist/briefing.js +3 -3
- package/dist/causal-consolidation.js +4 -4
- package/dist/{chunk-GF22HWS2.js → chunk-2PHX3I5C.js} +7 -7
- package/dist/{chunk-3I35RLJW.js → chunk-32XTXKIA.js} +14 -13
- package/dist/chunk-32XTXKIA.js.map +1 -0
- package/dist/{chunk-LXKJNUND.js → chunk-37VPMR4E.js} +2 -2
- package/dist/{chunk-3CDMIR3C.js → chunk-3CHQZVAL.js} +2 -2
- package/dist/{chunk-U37RGPJT.js → chunk-5J7HJ7RT.js} +2 -2
- package/dist/{chunk-AGR7MGUX.js → chunk-7IGWPXVC.js} +2 -2
- package/dist/{chunk-FIGDB2HR.js → chunk-7KXQ44PA.js} +2 -2
- package/dist/chunk-AHVEHR6K.js +82 -0
- package/dist/chunk-AHVEHR6K.js.map +1 -0
- package/dist/{chunk-MNLZGCM2.js → chunk-AQ2ZQYDI.js} +3 -3
- package/dist/{chunk-TWCOYET2.js → chunk-B6JDYXL7.js} +2 -1
- package/dist/chunk-B6JDYXL7.js.map +1 -0
- package/dist/{chunk-RROMWDDC.js → chunk-BL4JHZSO.js} +49 -12
- package/dist/chunk-BL4JHZSO.js.map +1 -0
- package/dist/{chunk-JMDZDT24.js → chunk-D7MAWMMK.js} +18 -4
- package/dist/chunk-D7MAWMMK.js.map +1 -0
- package/dist/{chunk-TG2DJFH7.js → chunk-E5A6C4A5.js} +20 -20
- package/dist/{chunk-FDAPXLRC.js → chunk-FR75B4UU.js} +81 -55
- package/dist/chunk-FR75B4UU.js.map +1 -0
- package/dist/{chunk-DPYYSG6F.js → chunk-G6MGAE36.js} +7 -7
- package/dist/{chunk-GNFZFJBJ.js → chunk-IR4LGIH6.js} +2 -2
- package/dist/{chunk-MPDX5QMH.js → chunk-JA4HEXV7.js} +2 -2
- package/dist/{chunk-XTAAG4SQ.js → chunk-K4DP5KZA.js} +6 -6
- package/dist/{chunk-AT6DNUCM.js → chunk-NY6W6CJW.js} +2 -2
- package/dist/{chunk-NMGO2HAZ.js → chunk-OIE242WM.js} +2 -2
- package/dist/{chunk-SZN6XVFC.js → chunk-PS5OG75R.js} +2 -2
- package/dist/{chunk-VY6SDKWZ.js → chunk-SSYBI43M.js} +2 -2
- package/dist/{chunk-IE4HB6O5.js → chunk-TPYZ727G.js} +3 -3
- package/dist/{chunk-5ZGWA4AG.js → chunk-UMFLAACL.js} +6 -6
- package/dist/{chunk-THHPDPMS.js → chunk-UOURUMBN.js} +2 -2
- package/dist/{chunk-6LRTGCRV.js → chunk-VPSAVXHM.js} +3 -3
- package/dist/{chunk-AL4TZWI3.js → chunk-W33DEUKR.js} +2 -2
- package/dist/{chunk-W4ZDTHWZ.js → chunk-WIGBTWXA.js} +2 -2
- package/dist/{chunk-NVYCTASB.js → chunk-WSEA52RI.js} +2 -2
- package/dist/{chunk-LARPWF3S.js → chunk-ZPUFQGUF.js} +4 -4
- package/dist/{cli-Zc6UclD1.d.ts → cli-1W7cNjJJ.d.ts} +2 -2
- package/dist/cli.d.ts +4 -3
- package/dist/cli.js +28 -27
- package/dist/compounding/engine.js +3 -3
- package/dist/connectors/codex-materialize-runner.js +3 -3
- package/dist/connectors/index.js +3 -3
- package/dist/corpus-watermark.js +5 -5
- package/dist/entity-retrieval.js +3 -3
- package/dist/explicit-capture.d.ts +2 -1
- package/dist/{first-start-migration-LEXL3XYL.js → first-start-migration-BKNGOFED.js} +4 -4
- package/dist/index.d.ts +393 -392
- package/dist/index.js +73 -53
- package/dist/lcm/engine.js +3 -3
- package/dist/lcm/index.js +8 -8
- package/dist/maintenance/memory-governance.js +3 -3
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
- package/dist/maintenance/rebuild-memory-projection.js +4 -4
- package/dist/mcp-memory-inspector-app.d.ts +3 -2
- package/dist/namespaces/migrate.js +4 -4
- package/dist/namespaces/storage.js +3 -3
- package/dist/operator-doctor-corpus.js +6 -6
- package/dist/operator-toolkit.js +9 -9
- package/dist/orchestration/maintenance.js +8 -8
- package/dist/{orchestrator-BTGgoKli.d.ts → orchestrator-BtA1wC5K.d.ts} +2 -0
- package/dist/orchestrator.d.ts +2 -1
- package/dist/orchestrator.js +41 -40
- package/dist/recall-context-composition.d.ts +30 -0
- package/dist/recall-context-composition.js +24 -0
- package/dist/recall-context-composition.js.map +1 -0
- package/dist/schemas.d.ts +76 -76
- package/dist/semantic-consolidation.js +4 -4
- package/dist/semantic-rule-promotion.js +3 -3
- package/dist/semantic-rule-verifier.js +3 -3
- package/dist/shared-context/manager.d.ts +8 -8
- package/dist/storage.js +2 -2
- package/dist/transfer/types.d.ts +66 -66
- package/dist/verified-recall.js +3 -3
- package/package.json +2 -2
- package/src/access-authorization-probe.ts +30 -1
- package/src/access-boundary.ts +21 -0
- package/src/access-http.test.ts +86 -1
- package/src/access-http.ts +6 -6
- package/src/access-mcp-output-schemas.ts +1 -0
- package/src/access-recall-response.ts +18 -13
- package/src/access-recall-surface.ts +11 -1
- package/src/access-service.ts +3 -0
- package/src/index.ts +1 -1
- package/src/orchestration/orchestrator-helpers.ts +2 -0
- package/src/orchestration/recall-internal.ts +49 -49
- package/src/recall-context-composition.test.ts +90 -0
- package/src/recall-context-composition.ts +104 -0
- package/src/recall-curiosity-composition.test.ts +301 -0
- package/dist/chunk-3I35RLJW.js.map +0 -1
- package/dist/chunk-FDAPXLRC.js.map +0 -1
- package/dist/chunk-JMDZDT24.js.map +0 -1
- package/dist/chunk-RROMWDDC.js.map +0 -1
- package/dist/chunk-TWCOYET2.js.map +0 -1
- /package/dist/{chunk-GF22HWS2.js.map → chunk-2PHX3I5C.js.map} +0 -0
- /package/dist/{chunk-LXKJNUND.js.map → chunk-37VPMR4E.js.map} +0 -0
- /package/dist/{chunk-3CDMIR3C.js.map → chunk-3CHQZVAL.js.map} +0 -0
- /package/dist/{chunk-U37RGPJT.js.map → chunk-5J7HJ7RT.js.map} +0 -0
- /package/dist/{chunk-AGR7MGUX.js.map → chunk-7IGWPXVC.js.map} +0 -0
- /package/dist/{chunk-FIGDB2HR.js.map → chunk-7KXQ44PA.js.map} +0 -0
- /package/dist/{chunk-MNLZGCM2.js.map → chunk-AQ2ZQYDI.js.map} +0 -0
- /package/dist/{chunk-TG2DJFH7.js.map → chunk-E5A6C4A5.js.map} +0 -0
- /package/dist/{chunk-DPYYSG6F.js.map → chunk-G6MGAE36.js.map} +0 -0
- /package/dist/{chunk-GNFZFJBJ.js.map → chunk-IR4LGIH6.js.map} +0 -0
- /package/dist/{chunk-MPDX5QMH.js.map → chunk-JA4HEXV7.js.map} +0 -0
- /package/dist/{chunk-XTAAG4SQ.js.map → chunk-K4DP5KZA.js.map} +0 -0
- /package/dist/{chunk-AT6DNUCM.js.map → chunk-NY6W6CJW.js.map} +0 -0
- /package/dist/{chunk-NMGO2HAZ.js.map → chunk-OIE242WM.js.map} +0 -0
- /package/dist/{chunk-SZN6XVFC.js.map → chunk-PS5OG75R.js.map} +0 -0
- /package/dist/{chunk-VY6SDKWZ.js.map → chunk-SSYBI43M.js.map} +0 -0
- /package/dist/{chunk-IE4HB6O5.js.map → chunk-TPYZ727G.js.map} +0 -0
- /package/dist/{chunk-5ZGWA4AG.js.map → chunk-UMFLAACL.js.map} +0 -0
- /package/dist/{chunk-THHPDPMS.js.map → chunk-UOURUMBN.js.map} +0 -0
- /package/dist/{chunk-6LRTGCRV.js.map → chunk-VPSAVXHM.js.map} +0 -0
- /package/dist/{chunk-AL4TZWI3.js.map → chunk-W33DEUKR.js.map} +0 -0
- /package/dist/{chunk-W4ZDTHWZ.js.map → chunk-WIGBTWXA.js.map} +0 -0
- /package/dist/{chunk-NVYCTASB.js.map → chunk-WSEA52RI.js.map} +0 -0
- /package/dist/{chunk-LARPWF3S.js.map → chunk-ZPUFQGUF.js.map} +0 -0
- /package/dist/{first-start-migration-LEXL3XYL.js.map → first-start-migration-BKNGOFED.js.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-ZBJMUXZH.js";
|
|
5
5
|
import {
|
|
6
6
|
StorageManager
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-K4DP5KZA.js";
|
|
8
8
|
import {
|
|
9
9
|
getCachedRuleMemories,
|
|
10
10
|
setCachedRuleMemories
|
|
@@ -119,4 +119,4 @@ export {
|
|
|
119
119
|
compareVerifiedSemanticRuleResults,
|
|
120
120
|
searchVerifiedSemanticRules
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
122
|
+
//# sourceMappingURL=chunk-37VPMR4E.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-TBBDFYXW.js";
|
|
4
4
|
import {
|
|
5
5
|
StorageManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-K4DP5KZA.js";
|
|
7
7
|
import {
|
|
8
8
|
assertPathInsideRoot
|
|
9
9
|
} from "./chunk-GCASGYIO.js";
|
|
@@ -755,4 +755,4 @@ export {
|
|
|
755
755
|
listMemoryGovernanceRuns,
|
|
756
756
|
readMemoryGovernanceRunArtifact
|
|
757
757
|
};
|
|
758
|
-
//# sourceMappingURL=chunk-
|
|
758
|
+
//# sourceMappingURL=chunk-3CHQZVAL.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-FQC3DHH2.js";
|
|
8
8
|
import {
|
|
9
9
|
StorageManager
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-K4DP5KZA.js";
|
|
11
11
|
import {
|
|
12
12
|
parseContinuityImprovementLoops
|
|
13
13
|
} from "./chunk-LDXUBPMO.js";
|
|
@@ -1283,4 +1283,4 @@ export {
|
|
|
1283
1283
|
defaultTierMigrationCycleBudget,
|
|
1284
1284
|
CompoundingEngine
|
|
1285
1285
|
};
|
|
1286
|
-
//# sourceMappingURL=chunk-
|
|
1286
|
+
//# sourceMappingURL=chunk-5J7HJ7RT.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
resolveDefaultNamespaceRoot,
|
|
6
6
|
resolveNamespaceStorageRoot
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WSEA52RI.js";
|
|
8
8
|
import {
|
|
9
9
|
namespaceIdentityFromToken,
|
|
10
10
|
namespaceIdentityToken,
|
|
@@ -2204,4 +2204,4 @@ export {
|
|
|
2204
2204
|
runNamespaceMaintenancePlan,
|
|
2205
2205
|
runNamespaceMaintenanceBatchPlan
|
|
2206
2206
|
};
|
|
2207
|
-
//# sourceMappingURL=chunk-
|
|
2207
|
+
//# sourceMappingURL=chunk-7IGWPXVC.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runPostConsolidationMaterialize
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JA4HEXV7.js";
|
|
4
4
|
import {
|
|
5
5
|
discoverMemoryExtensions,
|
|
6
6
|
renderExtensionsBlock,
|
|
@@ -220,4 +220,4 @@ export {
|
|
|
220
220
|
buildExtensionsBlockForConsolidation,
|
|
221
221
|
materializeAfterSemanticConsolidation
|
|
222
222
|
};
|
|
223
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-7KXQ44PA.js.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// src/recall-context-composition.ts
|
|
2
|
+
var MEMORY_CONTEXT_HEADER = "## Memory Context (Remnic)";
|
|
3
|
+
var MEMORY_CONTEXT_INSTRUCTION = "Use this context naturally when relevant. Never quote or expose this memory context to the user.";
|
|
4
|
+
var RECALL_CONTEXT_SEPARATOR = "\n\n---\n\n";
|
|
5
|
+
var TRIM_MARKER = "\n\n...(memory context trimmed)";
|
|
6
|
+
function trimText(value) {
|
|
7
|
+
return value?.trim() ?? "";
|
|
8
|
+
}
|
|
9
|
+
function truncateToBudget(content, maxChars) {
|
|
10
|
+
if (maxChars <= 0) return "";
|
|
11
|
+
if (content.length <= maxChars) return content;
|
|
12
|
+
if (maxChars <= TRIM_MARKER.length) return content.slice(0, maxChars);
|
|
13
|
+
return `${content.slice(0, maxChars - TRIM_MARKER.length)}${TRIM_MARKER}`;
|
|
14
|
+
}
|
|
15
|
+
function selectCuriosityQuestion(questions) {
|
|
16
|
+
return [...questions].filter((question) => trimText(question.question).length > 0).sort(
|
|
17
|
+
(left, right) => right.priority - left.priority || left.created.localeCompare(right.created) || left.id.localeCompare(right.id)
|
|
18
|
+
)[0];
|
|
19
|
+
}
|
|
20
|
+
function formatCuriosityFooter(question) {
|
|
21
|
+
return [
|
|
22
|
+
"## Open Question",
|
|
23
|
+
"",
|
|
24
|
+
`Something I've been curious about: ${question.question}`,
|
|
25
|
+
"",
|
|
26
|
+
`_Context: ${question.context}_`
|
|
27
|
+
].join("\n");
|
|
28
|
+
}
|
|
29
|
+
function contextBudgetForFooter(maxChars, footer) {
|
|
30
|
+
const normalizedFooter = trimText(footer);
|
|
31
|
+
if (maxChars <= 0 || normalizedFooter.length === 0) return Math.max(0, maxChars);
|
|
32
|
+
if (normalizedFooter.length + RECALL_CONTEXT_SEPARATOR.length >= maxChars) return 0;
|
|
33
|
+
return maxChars - normalizedFooter.length - RECALL_CONTEXT_SEPARATOR.length;
|
|
34
|
+
}
|
|
35
|
+
function boundRecallContextComposition({
|
|
36
|
+
context: rawContext,
|
|
37
|
+
footer: rawFooter,
|
|
38
|
+
maxChars
|
|
39
|
+
}) {
|
|
40
|
+
if (!Number.isFinite(maxChars) || maxChars <= 0) return { context: "" };
|
|
41
|
+
const limit = Math.floor(maxChars);
|
|
42
|
+
const footer = trimText(rawFooter);
|
|
43
|
+
const context = truncateToBudget(trimText(rawContext), contextBudgetForFooter(limit, footer));
|
|
44
|
+
const boundedFooter = footer.length > limit ? truncateToBudget(footer, limit) : footer;
|
|
45
|
+
return { context, ...boundedFooter ? { footer: boundedFooter } : {} };
|
|
46
|
+
}
|
|
47
|
+
function composeRecallContext(composition) {
|
|
48
|
+
const context = trimText(composition.context);
|
|
49
|
+
const footer = trimText(composition.footer);
|
|
50
|
+
if (context.length === 0) return footer;
|
|
51
|
+
if (footer.length === 0) return context;
|
|
52
|
+
return `${context}${RECALL_CONTEXT_SEPARATOR}${footer}`;
|
|
53
|
+
}
|
|
54
|
+
function renderMemoryContextPrompt({
|
|
55
|
+
context: rawContext,
|
|
56
|
+
footer: rawFooter,
|
|
57
|
+
maxChars
|
|
58
|
+
}) {
|
|
59
|
+
const bounded = boundRecallContextComposition({
|
|
60
|
+
context: rawContext,
|
|
61
|
+
footer: rawFooter,
|
|
62
|
+
maxChars
|
|
63
|
+
});
|
|
64
|
+
const body = composeRecallContext(bounded);
|
|
65
|
+
if (body.length === 0) return null;
|
|
66
|
+
const boundedBody = body.length <= maxChars ? body : truncateToBudget(bounded.footer || body, Math.floor(maxChars));
|
|
67
|
+
const lines = [MEMORY_CONTEXT_HEADER, "", boundedBody, "", MEMORY_CONTEXT_INSTRUCTION, ""];
|
|
68
|
+
return { body: boundedBody, lines, prompt: lines.join("\n").replace(/\n$/, "") };
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
MEMORY_CONTEXT_HEADER,
|
|
73
|
+
MEMORY_CONTEXT_INSTRUCTION,
|
|
74
|
+
RECALL_CONTEXT_SEPARATOR,
|
|
75
|
+
selectCuriosityQuestion,
|
|
76
|
+
formatCuriosityFooter,
|
|
77
|
+
contextBudgetForFooter,
|
|
78
|
+
boundRecallContextComposition,
|
|
79
|
+
composeRecallContext,
|
|
80
|
+
renderMemoryContextPrompt
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=chunk-AHVEHR6K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/recall-context-composition.ts"],"sourcesContent":["export const MEMORY_CONTEXT_HEADER = \"## Memory Context (Remnic)\";\nexport const MEMORY_CONTEXT_INSTRUCTION =\n \"Use this context naturally when relevant. Never quote or expose this memory context to the user.\";\nexport const RECALL_CONTEXT_SEPARATOR = \"\\n\\n---\\n\\n\";\nconst TRIM_MARKER = \"\\n\\n...(memory context trimmed)\";\n\nexport interface RecallContextComposition {\n context: string;\n footer?: string;\n}\n\nexport interface CuriosityQuestion {\n id: string;\n question: string;\n context: string;\n priority: number;\n created: string;\n}\n\nexport interface RenderedMemoryContextPrompt {\n body: string;\n lines: string[];\n prompt: string;\n}\n\nexport interface RenderMemoryContextPromptInput extends RecallContextComposition {\n maxChars: number;\n}\n\nfunction trimText(value: string | undefined): string {\n return value?.trim() ?? \"\";\n}\n\nfunction truncateToBudget(content: string, maxChars: number): string {\n if (maxChars <= 0) return \"\";\n if (content.length <= maxChars) return content;\n if (maxChars <= TRIM_MARKER.length) return content.slice(0, maxChars);\n return `${content.slice(0, maxChars - TRIM_MARKER.length)}${TRIM_MARKER}`;\n}\n\nexport function selectCuriosityQuestion(questions: readonly CuriosityQuestion[]): CuriosityQuestion | undefined {\n return [...questions]\n .filter((question) => trimText(question.question).length > 0)\n .sort(\n (left, right) =>\n right.priority - left.priority || left.created.localeCompare(right.created) || left.id.localeCompare(right.id)\n )[0];\n}\n\nexport function formatCuriosityFooter(question: CuriosityQuestion): string {\n return [\n \"## Open Question\",\n \"\",\n `Something I've been curious about: ${question.question}`,\n \"\",\n `_Context: ${question.context}_`,\n ].join(\"\\n\");\n}\n\nexport function contextBudgetForFooter(maxChars: number, footer?: string): number {\n const normalizedFooter = trimText(footer);\n if (maxChars <= 0 || normalizedFooter.length === 0) return Math.max(0, maxChars);\n if (normalizedFooter.length + RECALL_CONTEXT_SEPARATOR.length >= maxChars) return 0;\n return maxChars - normalizedFooter.length - RECALL_CONTEXT_SEPARATOR.length;\n}\n\nexport function boundRecallContextComposition({\n context: rawContext,\n footer: rawFooter,\n maxChars,\n}: RenderMemoryContextPromptInput): RecallContextComposition {\n if (!Number.isFinite(maxChars) || maxChars <= 0) return { context: \"\" };\n\n const limit = Math.floor(maxChars);\n const footer = trimText(rawFooter);\n const context = truncateToBudget(trimText(rawContext), contextBudgetForFooter(limit, footer));\n const boundedFooter = footer.length > limit ? truncateToBudget(footer, limit) : footer;\n return { context, ...(boundedFooter ? { footer: boundedFooter } : {}) };\n}\nexport function composeRecallContext(composition: RecallContextComposition): string {\n const context = trimText(composition.context);\n const footer = trimText(composition.footer);\n if (context.length === 0) return footer;\n if (footer.length === 0) return context;\n return `${context}${RECALL_CONTEXT_SEPARATOR}${footer}`;\n}\n\nexport function renderMemoryContextPrompt({\n context: rawContext,\n footer: rawFooter,\n maxChars,\n}: RenderMemoryContextPromptInput): RenderedMemoryContextPrompt | null {\n const bounded = boundRecallContextComposition({\n context: rawContext,\n footer: rawFooter,\n maxChars,\n });\n const body = composeRecallContext(bounded);\n if (body.length === 0) return null;\n\n const boundedBody = body.length <= maxChars ? body : truncateToBudget(bounded.footer || body, Math.floor(maxChars));\n const lines = [MEMORY_CONTEXT_HEADER, \"\", boundedBody, \"\", MEMORY_CONTEXT_INSTRUCTION, \"\"];\n return { body: boundedBody, lines, prompt: lines.join(\"\\n\").replace(/\\n$/, \"\") };\n}\n"],"mappings":";AAAO,IAAM,wBAAwB;AAC9B,IAAM,6BACX;AACK,IAAM,2BAA2B;AACxC,IAAM,cAAc;AAyBpB,SAAS,SAAS,OAAmC;AACnD,SAAO,OAAO,KAAK,KAAK;AAC1B;AAEA,SAAS,iBAAiB,SAAiB,UAA0B;AACnE,MAAI,YAAY,EAAG,QAAO;AAC1B,MAAI,QAAQ,UAAU,SAAU,QAAO;AACvC,MAAI,YAAY,YAAY,OAAQ,QAAO,QAAQ,MAAM,GAAG,QAAQ;AACpE,SAAO,GAAG,QAAQ,MAAM,GAAG,WAAW,YAAY,MAAM,CAAC,GAAG,WAAW;AACzE;AAEO,SAAS,wBAAwB,WAAwE;AAC9G,SAAO,CAAC,GAAG,SAAS,EACjB,OAAO,CAAC,aAAa,SAAS,SAAS,QAAQ,EAAE,SAAS,CAAC,EAC3D;AAAA,IACC,CAAC,MAAM,UACL,MAAM,WAAW,KAAK,YAAY,KAAK,QAAQ,cAAc,MAAM,OAAO,KAAK,KAAK,GAAG,cAAc,MAAM,EAAE;AAAA,EACjH,EAAE,CAAC;AACP;AAEO,SAAS,sBAAsB,UAAqC;AACzE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,sCAAsC,SAAS,QAAQ;AAAA,IACvD;AAAA,IACA,aAAa,SAAS,OAAO;AAAA,EAC/B,EAAE,KAAK,IAAI;AACb;AAEO,SAAS,uBAAuB,UAAkB,QAAyB;AAChF,QAAM,mBAAmB,SAAS,MAAM;AACxC,MAAI,YAAY,KAAK,iBAAiB,WAAW,EAAG,QAAO,KAAK,IAAI,GAAG,QAAQ;AAC/E,MAAI,iBAAiB,SAAS,yBAAyB,UAAU,SAAU,QAAO;AAClF,SAAO,WAAW,iBAAiB,SAAS,yBAAyB;AACvE;AAEO,SAAS,8BAA8B;AAAA,EAC5C,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AACF,GAA6D;AAC3D,MAAI,CAAC,OAAO,SAAS,QAAQ,KAAK,YAAY,EAAG,QAAO,EAAE,SAAS,GAAG;AAEtE,QAAM,QAAQ,KAAK,MAAM,QAAQ;AACjC,QAAM,SAAS,SAAS,SAAS;AACjC,QAAM,UAAU,iBAAiB,SAAS,UAAU,GAAG,uBAAuB,OAAO,MAAM,CAAC;AAC5F,QAAM,gBAAgB,OAAO,SAAS,QAAQ,iBAAiB,QAAQ,KAAK,IAAI;AAChF,SAAO,EAAE,SAAS,GAAI,gBAAgB,EAAE,QAAQ,cAAc,IAAI,CAAC,EAAG;AACxE;AACO,SAAS,qBAAqB,aAA+C;AAClF,QAAM,UAAU,SAAS,YAAY,OAAO;AAC5C,QAAM,SAAS,SAAS,YAAY,MAAM;AAC1C,MAAI,QAAQ,WAAW,EAAG,QAAO;AACjC,MAAI,OAAO,WAAW,EAAG,QAAO;AAChC,SAAO,GAAG,OAAO,GAAG,wBAAwB,GAAG,MAAM;AACvD;AAEO,SAAS,0BAA0B;AAAA,EACxC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AACF,GAAuE;AACrE,QAAM,UAAU,8BAA8B;AAAA,IAC5C,SAAS;AAAA,IACT,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AACD,QAAM,OAAO,qBAAqB,OAAO;AACzC,MAAI,KAAK,WAAW,EAAG,QAAO;AAE9B,QAAM,cAAc,KAAK,UAAU,WAAW,OAAO,iBAAiB,QAAQ,UAAU,MAAM,KAAK,MAAM,QAAQ,CAAC;AAClH,QAAM,QAAQ,CAAC,uBAAuB,IAAI,aAAa,IAAI,4BAA4B,EAAE;AACzF,SAAO,EAAE,MAAM,aAAa,OAAO,QAAQ,MAAM,KAAK,IAAI,EAAE,QAAQ,OAAO,EAAE,EAAE;AACjF;","names":[]}
|
|
@@ -28,13 +28,13 @@ import {
|
|
|
28
28
|
defineOperation,
|
|
29
29
|
parseNamespacePreflightWriteOp,
|
|
30
30
|
resolveAuthorizedNamespaceWritablePreflight
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-BL4JHZSO.js";
|
|
32
32
|
import {
|
|
33
33
|
projectTagProjectId
|
|
34
34
|
} from "./chunk-MQVINOJQ.js";
|
|
35
35
|
import {
|
|
36
36
|
validateBriefingFormat
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-PS5OG75R.js";
|
|
38
38
|
import {
|
|
39
39
|
expandTildePath
|
|
40
40
|
} from "./chunk-EYIEWJNI.js";
|
|
@@ -484,4 +484,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
|
|
|
484
484
|
defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
485
485
|
defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
|
|
486
486
|
defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
487
|
-
//# sourceMappingURL=chunk-
|
|
487
|
+
//# sourceMappingURL=chunk-AQ2ZQYDI.js.map
|
|
@@ -14,6 +14,7 @@ var TOOL_OUTPUT_SCHEMAS = {
|
|
|
14
14
|
query: T_STRING,
|
|
15
15
|
namespace: T_STRING,
|
|
16
16
|
context: T_STRING,
|
|
17
|
+
contextComposition: objectSchema({ context: T_STRING, footer: T_STRING }),
|
|
17
18
|
count: T_NUMBER,
|
|
18
19
|
memoryIds: T_ARRAY,
|
|
19
20
|
results: T_ARRAY,
|
|
@@ -458,4 +459,4 @@ function applyToolOutputSchemas(tools, canonicalPrefix, legacyPrefix) {
|
|
|
458
459
|
export {
|
|
459
460
|
applyToolOutputSchemas
|
|
460
461
|
};
|
|
461
|
-
//# sourceMappingURL=chunk-
|
|
462
|
+
//# sourceMappingURL=chunk-B6JDYXL7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/access-mcp-output-schemas.ts"],"sourcesContent":["/**\n * Output-schema registry for MCP tools — extracted from access-mcp.ts to\n * keep that file under the 3000-LOC structural ratchet.\n *\n * Contains the per-suffix JSON-Schema declarations (derived from\n * production TS return contracts) and the application helper that\n * assigns schemas to tool objects.\n */\n\nconst T_STRING = { type: \"string\" } as const;\nconst T_NUMBER = { type: \"number\" } as const;\nconst T_BOOLEAN = { type: \"boolean\" } as const;\nconst T_ARRAY = { type: \"array\" } as const;\nconst T_OBJECT = { type: \"object\" } as const;\nconst T_NULLABLE_OBJECT = { type: [\"object\", \"null\"] } as const;\nconst T_NULLABLE_STRING = { type: [\"string\", \"null\"] } as const;\n\n/** Build a JSON Schema object type with the given properties. */\nfunction objectSchema(properties: Record<string, Readonly<Record<string, unknown>>>): Record<string, unknown> {\n return { type: \"object\", properties, additionalProperties: true };\n}\n\n/**\n * Per-suffix outputSchema registry. Tools not present here fall back to\n * `{ type: \"object\", additionalProperties: true }` in the constructor pass.\n * The `chatgpt_memory_inspector` tool ships its own precise schema and is\n * intentionally absent — the apply pass skips tools that already have one.\n */\nconst TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {\n recall: objectSchema({\n query: T_STRING,\n namespace: T_STRING,\n context: T_STRING,\n contextComposition: objectSchema({ context: T_STRING, footer: T_STRING }),\n count: T_NUMBER,\n memoryIds: T_ARRAY,\n results: T_ARRAY,\n fallbackUsed: T_BOOLEAN,\n sourcesUsed: T_ARRAY,\n }),\n recall_explain: objectSchema({\n found: T_BOOLEAN,\n snapshot: T_OBJECT,\n intent: T_NULLABLE_OBJECT,\n graph: T_NULLABLE_OBJECT,\n }),\n recall_tier_explain: objectSchema({ snapshotFound: T_BOOLEAN, tierExplain: T_NULLABLE_OBJECT }),\n recall_xray: objectSchema({ snapshotFound: T_BOOLEAN, snapshot: T_OBJECT }),\n set_coding_context: objectSchema({ ok: T_BOOLEAN }),\n wearables_status: objectSchema({\n enabled: T_BOOLEAN,\n timezone: T_STRING,\n sources: T_ARRAY,\n connectorsInstalled: T_ARRAY,\n }),\n wearables_sync: T_ARRAY,\n transcript_day: T_ARRAY,\n transcript_search: T_ARRAY,\n transcript_memories: T_ARRAY,\n meetings_list: objectSchema({ enabled: T_BOOLEAN, days: T_ARRAY }),\n meetings_get: objectSchema({ enabled: T_BOOLEAN, found: T_BOOLEAN, id: T_STRING, record: T_NULLABLE_STRING }),\n meetings_build: objectSchema({\n date: T_STRING,\n enabled: T_BOOLEAN,\n meetings: T_ARRAY,\n built: T_NUMBER,\n skipped: T_NUMBER,\n removed: T_ARRAY,\n }),\n action_confidence: objectSchema({\n schemaVersion: T_NUMBER,\n decision: T_STRING,\n confidence: T_NUMBER,\n risk: T_STRING,\n contextReadiness: T_STRING,\n intendedAction: T_STRING,\n attentionPolicy: T_STRING,\n principle: T_STRING,\n reasons: T_ARRAY,\n blockers: T_ARRAY,\n factors: T_ARRAY,\n retrievedMemoryCount: T_NUMBER,\n scopeMismatchCount: T_NUMBER,\n safeToAct: T_BOOLEAN,\n }),\n day_summary: {\n type: [\"object\", \"null\"],\n properties: { summary: T_STRING, bullets: T_ARRAY, next_actions: T_ARRAY, risks_or_open_loops: T_ARRAY },\n additionalProperties: true,\n },\n capsule_export: objectSchema({\n archivePath: T_STRING,\n manifestPath: T_STRING,\n encryptedArchivePath: T_NULLABLE_STRING,\n manifest: T_OBJECT,\n }),\n capsule_import: objectSchema({ imported: T_ARRAY, skipped: T_ARRAY, manifest: T_OBJECT }),\n capsule_list: objectSchema({ namespace: T_STRING, capsulesDir: T_STRING, capsules: T_ARRAY }),\n entity_synthesis_run: objectSchema({\n namespace: T_STRING,\n requested: T_NUMBER,\n processed: T_NUMBER,\n remaining: T_NUMBER,\n }),\n memory_governance_run: objectSchema({\n namespace: T_STRING,\n runId: T_STRING,\n traceId: T_STRING,\n mode: T_STRING,\n reviewQueueCount: T_NUMBER,\n proposedActionCount: T_NUMBER,\n appliedActionCount: T_NUMBER,\n summaryPath: T_STRING,\n reportPath: T_STRING,\n }),\n procedure_mining_run: objectSchema({ namespace: T_STRING, clustersProcessed: T_NUMBER, proceduresWritten: T_NUMBER }),\n pattern_reinforcement_run: objectSchema({\n namespace: T_STRING,\n ran: T_BOOLEAN,\n clustersFound: T_NUMBER,\n canonicalsUpdated: T_NUMBER,\n duplicatesSuperseded: T_NUMBER,\n }),\n procedural_stats: objectSchema({ namespace: T_STRING, counts: T_OBJECT, recent: T_OBJECT }),\n memory_get: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, memory: T_NULLABLE_OBJECT }),\n memory_timeline: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, count: T_NUMBER, timeline: T_ARRAY }),\n memory_store: objectSchema({\n schemaVersion: T_NUMBER,\n operation: T_STRING,\n namespace: T_STRING,\n dryRun: T_BOOLEAN,\n accepted: T_BOOLEAN,\n queued: T_BOOLEAN,\n status: T_STRING,\n memoryId: T_STRING,\n }),\n suggestion_submit: objectSchema({\n schemaVersion: T_NUMBER,\n operation: T_STRING,\n namespace: T_STRING,\n dryRun: T_BOOLEAN,\n accepted: T_BOOLEAN,\n queued: T_BOOLEAN,\n status: T_STRING,\n memoryId: T_STRING,\n }),\n entity_get: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, entity: T_NULLABLE_OBJECT }),\n review_queue_list: objectSchema({ found: T_BOOLEAN, runId: T_STRING, reviewQueue: T_ARRAY }),\n observe: objectSchema({\n accepted: T_NUMBER,\n sessionKey: T_STRING,\n namespace: T_STRING,\n effectiveNamespace: T_STRING,\n lcmArchived: T_BOOLEAN,\n extractionQueued: T_BOOLEAN,\n }),\n lcm_search: objectSchema({\n query: T_STRING,\n namespace: T_STRING,\n results: T_ARRAY,\n count: T_NUMBER,\n lcmEnabled: T_BOOLEAN,\n }),\n lcm_compaction_flush: objectSchema({\n enabled: T_BOOLEAN,\n flushed: T_BOOLEAN,\n sessionKey: T_STRING,\n namespace: T_STRING,\n }),\n lcm_compaction_record: objectSchema({\n enabled: T_BOOLEAN,\n recorded: T_BOOLEAN,\n sessionKey: T_STRING,\n namespace: T_STRING,\n }),\n continuity_audit_generate: objectSchema({ enabled: T_BOOLEAN, period: T_STRING, reportPath: T_STRING }),\n continuity_incident_open: objectSchema({ created: T_BOOLEAN, incident: T_NULLABLE_OBJECT }),\n continuity_incident_close: objectSchema({ closed: T_BOOLEAN, incident: T_NULLABLE_OBJECT }),\n continuity_incident_list: objectSchema({ incidents: T_ARRAY }),\n continuity_loop_add_or_update: objectSchema({ saved: T_BOOLEAN, loop: T_NULLABLE_OBJECT }),\n continuity_loop_review: objectSchema({ reviewed: T_BOOLEAN, loop: T_NULLABLE_OBJECT }),\n identity_anchor_get: objectSchema({ found: T_BOOLEAN, anchor: T_NULLABLE_STRING }),\n identity_anchor_update: objectSchema({ updated: T_BOOLEAN, sections: T_ARRAY }),\n memory_identity: objectSchema({ found: T_BOOLEAN, identity: T_NULLABLE_STRING, message: T_STRING }),\n work_task: objectSchema({\n action: T_STRING,\n task: T_NULLABLE_OBJECT,\n tasks: T_ARRAY,\n count: T_NUMBER,\n deleted: T_BOOLEAN,\n }),\n work_project: objectSchema({\n action: T_STRING,\n project: T_NULLABLE_OBJECT,\n projects: T_ARRAY,\n count: T_NUMBER,\n deleted: T_BOOLEAN,\n }),\n work_board: objectSchema({ action: T_STRING, markdown: T_STRING, snapshot: T_OBJECT, result: T_OBJECT }),\n shared_context_write_output: objectSchema({ written: T_BOOLEAN, path: T_STRING }),\n shared_feedback_record: objectSchema({ recorded: T_BOOLEAN }),\n shared_priorities_append: objectSchema({ appended: T_BOOLEAN }),\n shared_context_cross_signals_run: objectSchema({\n crossSignalsMarkdownPath: T_STRING,\n crossSignalsPath: T_STRING,\n sourceCount: T_NUMBER,\n feedbackCount: T_NUMBER,\n overlapCount: T_NUMBER,\n }),\n shared_context_curate_daily: objectSchema({\n roundtablePath: T_STRING,\n crossSignalsMarkdownPath: T_STRING,\n crossSignalsPath: T_STRING,\n overlapCount: T_NUMBER,\n }),\n compounding_weekly_synthesize: objectSchema({\n weekId: T_STRING,\n reportPath: T_STRING,\n reportJsonPath: T_STRING,\n rubricsPath: T_STRING,\n rubricsIndexPath: T_STRING,\n mistakesCount: T_NUMBER,\n promotionCandidateCount: T_NUMBER,\n }),\n compounding_promote_candidate: objectSchema({\n enabled: T_BOOLEAN,\n dryRun: T_BOOLEAN,\n weekId: T_STRING,\n promoted: T_ARRAY,\n skipped: T_ARRAY,\n tombstoneBlocked: T_ARRAY,\n }),\n compression_guidelines_optimize: objectSchema({\n enabled: T_BOOLEAN,\n dryRun: T_BOOLEAN,\n eventCount: T_NUMBER,\n nextGuidelineVersion: T_NUMBER,\n changedRules: T_NUMBER,\n semanticRefinementApplied: T_BOOLEAN,\n persisted: T_BOOLEAN,\n }),\n compression_guidelines_activate: objectSchema({\n enabled: T_BOOLEAN,\n activated: T_BOOLEAN,\n guidelineVersion: { type: [\"number\", \"null\"] } as const,\n }),\n memory_search: objectSchema({ query: T_STRING, results: T_ARRAY, count: T_NUMBER }),\n memory_profile: objectSchema({ profile: T_STRING }),\n memory_entities_list: objectSchema({ entities: T_ARRAY, count: T_NUMBER }),\n memory_questions: objectSchema({ questions: T_ARRAY, count: T_NUMBER }),\n memory_last_recall: objectSchema({\n sessionKey: T_STRING,\n recordedAt: T_STRING,\n queryHash: T_STRING,\n queryLen: T_NUMBER,\n memoryIds: T_ARRAY,\n namespace: T_STRING,\n recallNamespaces: T_ARRAY,\n plannerMode: T_STRING,\n requestedMode: T_STRING,\n source: T_STRING,\n fallbackUsed: T_BOOLEAN,\n sourcesUsed: T_ARRAY,\n latencyMs: T_NUMBER,\n resultPaths: T_ARRAY,\n message: T_NULLABLE_STRING,\n }),\n memory_intent_debug: objectSchema({\n recordedAt: T_STRING,\n promptHash: T_STRING,\n promptLength: T_NUMBER,\n retrievalQueryHash: T_STRING,\n retrievalQueryLength: T_NUMBER,\n plannerEnabled: T_BOOLEAN,\n plannedMode: T_STRING,\n effectiveMode: T_STRING,\n recallResultLimit: T_NUMBER,\n queryIntent: T_OBJECT,\n graphExpandedIntentDetected: T_BOOLEAN,\n graphDecision: T_OBJECT,\n message: T_NULLABLE_STRING,\n }),\n memory_qmd_debug: objectSchema({\n recordedAt: T_STRING,\n queryHash: T_STRING,\n queryLength: T_NUMBER,\n collection: T_STRING,\n namespaces: T_ARRAY,\n fetchLimit: T_NUMBER,\n primaryResultCount: T_NUMBER,\n hybridResultCount: T_NUMBER,\n queryAwareSeedCount: T_NUMBER,\n resultCount: T_NUMBER,\n intentHint: T_STRING,\n explainEnabled: T_BOOLEAN,\n hybridTopUpUsed: T_BOOLEAN,\n hybridTopUpSkippedReason: T_STRING,\n results: T_ARRAY,\n message: T_NULLABLE_STRING,\n }),\n memory_graph_explain: objectSchema({ explanation: T_STRING }),\n graph_snapshot: objectSchema({ nodes: T_ARRAY, edges: T_ARRAY }),\n memory_feedback: objectSchema({ recorded: T_BOOLEAN, enabled: T_BOOLEAN }),\n memory_promote: objectSchema({ promoted: T_BOOLEAN, memoryId: T_STRING }),\n memory_outcome: objectSchema({\n ok: T_BOOLEAN,\n memoryId: T_STRING,\n mw_success: T_NUMBER,\n mw_fail: T_NUMBER,\n reason: T_STRING,\n message: T_STRING,\n }),\n memory_action_apply: objectSchema({ recorded: T_BOOLEAN, event: T_OBJECT }),\n context_checkpoint: objectSchema({ saved: T_BOOLEAN }),\n briefing: objectSchema({\n markdown: T_STRING,\n json: T_OBJECT,\n window: T_OBJECT,\n format: T_STRING,\n namespace: T_STRING,\n }),\n review_list: objectSchema({ pairs: T_ARRAY, total: T_NUMBER, durationMs: T_NUMBER }),\n review_resolve: objectSchema({ pairId: T_STRING, verb: T_STRING, affectedIds: T_ARRAY, message: T_STRING }),\n contradiction_scan_run: objectSchema({\n scanned: T_NUMBER,\n candidates: T_NUMBER,\n judged: T_NUMBER,\n queued: T_NUMBER,\n cooledDown: T_NUMBER,\n elapsedMs: T_NUMBER,\n }),\n memory_summarize_hourly: objectSchema({ ok: T_BOOLEAN, message: T_STRING }),\n conversation_index_update: objectSchema({\n enabled: T_BOOLEAN,\n sessions: T_NUMBER,\n chunks: T_NUMBER,\n skipped: T_NUMBER,\n embeddedRuns: T_NUMBER,\n }),\n profiling_report: objectSchema({\n enabled: T_BOOLEAN,\n format: T_STRING,\n traces: T_ARRAY,\n stats: T_OBJECT,\n bottleneck: T_NULLABLE_STRING,\n }),\n graph_edge_decay_run: objectSchema({ ranAt: T_STRING, disabled: T_BOOLEAN, reason: T_STRING, results: T_ARRAY }),\n live_connectors_run: objectSchema({\n ranAt: T_STRING,\n force: T_BOOLEAN,\n totalDocsImported: T_NUMBER,\n ranCount: T_NUMBER,\n skippedCount: T_NUMBER,\n errorCount: T_NUMBER,\n results: T_ARRAY,\n }),\n peer_list: objectSchema({ peers: T_ARRAY }),\n peer_get: objectSchema({ found: T_BOOLEAN, peer: T_NULLABLE_OBJECT }),\n peer_set: objectSchema({ ok: T_BOOLEAN, created: T_BOOLEAN, peer: T_OBJECT }),\n peer_delete: objectSchema({ ok: T_BOOLEAN, deleted: T_BOOLEAN }),\n peer_profile_get: objectSchema({\n found: T_BOOLEAN,\n profile: {\n type: \"object\",\n properties: {\n peerId: T_STRING,\n updatedAt: T_STRING,\n fields: { type: \"object\", additionalProperties: T_STRING },\n provenance: {\n type: \"object\",\n additionalProperties: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n observedAt: T_STRING,\n signal: T_STRING,\n sourceSessionId: T_STRING,\n note: T_STRING,\n },\n required: [\"observedAt\", \"signal\"],\n additionalProperties: true,\n },\n },\n },\n },\n required: [\"peerId\", \"updatedAt\", \"fields\", \"provenance\"],\n additionalProperties: true,\n },\n }),\n peer_forget: objectSchema({ ok: T_BOOLEAN, purged: T_BOOLEAN }),\n console_state: objectSchema({\n capturedAt: T_STRING,\n bufferState: T_OBJECT,\n extractionQueue: T_OBJECT,\n dedupRecent: T_ARRAY,\n maintenanceLedgerTail: T_ARRAY,\n qmdProbe: T_OBJECT,\n daemon: T_OBJECT,\n errors: T_ARRAY,\n }),\n dreams_status: objectSchema({ phases: T_OBJECT, windowStart: T_STRING, windowEnd: T_STRING }),\n dreams_run: objectSchema({ phase: T_STRING, durationMs: T_NUMBER, itemsProcessed: T_NUMBER }),\n coding_decision: objectSchema({\n subcommand: T_STRING,\n records: T_ARRAY,\n count: T_NUMBER,\n found: T_BOOLEAN,\n memoryId: T_STRING,\n status: T_STRING,\n supersededMemoryId: T_STRING,\n replacementMemoryId: T_STRING,\n }),\n coding_architecture: objectSchema({\n subcommand: T_STRING,\n found: T_BOOLEAN,\n refreshed: T_BOOLEAN,\n memoryId: T_STRING,\n }),\n coding_delta: objectSchema({\n subcommand: T_STRING,\n ok: T_BOOLEAN,\n kind: T_STRING,\n delta: T_OBJECT,\n nextState: T_OBJECT,\n }),\n memory_correct_plan: objectSchema({\n planId: T_STRING,\n namespace: T_STRING,\n diff: T_STRING,\n actions: T_ARRAY,\n confidence: T_NUMBER,\n }),\n memory_correct_apply: objectSchema({\n planId: T_STRING,\n status: T_STRING,\n results: T_ARRAY,\n auditMemoryId: T_STRING,\n appliedAt: T_STRING,\n }),\n memory_chat: objectSchema({\n reply: T_STRING,\n chatSessionId: T_STRING,\n pendingPlan: {\n type: \"object\",\n properties: { planId: T_STRING, preview: T_STRING },\n required: [\"planId\", \"preview\"],\n additionalProperties: true,\n },\n skippedTools: { type: \"array\", items: T_STRING },\n }),\n codegraph_index: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_list_projects: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_delete_project: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_index_status: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_search_graph: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_trace_path: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_detect_changes: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_query_graph: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_schema: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_snippet: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_architecture: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_search_code: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_manage_adr: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_ingest_traces: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n};\n\n/**\n * Apply outputSchema from the registry to every tool that lacks one.\n * Suffix resolution strips the canonical or legacy prefix so both\n * `remnic.*` and `engram.*` aliases inherit the same schema.\n * Tools that already have an explicit outputSchema are skipped.\n */\nexport function applyToolOutputSchemas<T extends { name: string; outputSchema?: unknown }>(\n tools: ReadonlyArray<T>,\n canonicalPrefix: string,\n legacyPrefix: string\n): T[] {\n return tools.map((tool) => {\n if (tool.outputSchema) return tool;\n const name = tool.name as string;\n const suffix = name.startsWith(canonicalPrefix)\n ? name.slice(canonicalPrefix.length)\n : name.startsWith(legacyPrefix)\n ? name.slice(legacyPrefix.length)\n : name;\n return { ...tool, outputSchema: TOOL_OUTPUT_SCHEMAS[suffix] ?? { type: \"object\", additionalProperties: true } };\n });\n}\n"],"mappings":"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","names":[]}
|
|
@@ -30,6 +30,10 @@ import {
|
|
|
30
30
|
import {
|
|
31
31
|
planSessionTranscriptMigration
|
|
32
32
|
} from "./chunk-P5FPO2BR.js";
|
|
33
|
+
import {
|
|
34
|
+
boundRecallContextComposition,
|
|
35
|
+
composeRecallContext
|
|
36
|
+
} from "./chunk-AHVEHR6K.js";
|
|
33
37
|
import {
|
|
34
38
|
decideDisclosureEscalation
|
|
35
39
|
} from "./chunk-H7XKCNR6.js";
|
|
@@ -46,7 +50,7 @@ import {
|
|
|
46
50
|
listMemoryGovernanceRuns,
|
|
47
51
|
readMemoryGovernanceRunArtifact,
|
|
48
52
|
runMemoryGovernance
|
|
49
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-3CHQZVAL.js";
|
|
50
54
|
import {
|
|
51
55
|
recordObjectiveStateSnapshotsFromObservedMessages
|
|
52
56
|
} from "./chunk-ICP53SKG.js";
|
|
@@ -97,7 +101,7 @@ import {
|
|
|
97
101
|
import {
|
|
98
102
|
CorpusWatermarkCache,
|
|
99
103
|
computeServiceCorpusWatermarks
|
|
100
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-WIGBTWXA.js";
|
|
101
105
|
import {
|
|
102
106
|
namespaceCollectionName
|
|
103
107
|
} from "./chunk-ZN4UZWMT.js";
|
|
@@ -122,13 +126,13 @@ import {
|
|
|
122
126
|
enqueuePassiveCorrectionNotification,
|
|
123
127
|
parseBriefingFocus,
|
|
124
128
|
parseBriefingWindow
|
|
125
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-PS5OG75R.js";
|
|
126
130
|
import {
|
|
127
131
|
parseEntityFile,
|
|
128
132
|
qmdCollectionPathParts,
|
|
129
133
|
qmdResultPathCandidates,
|
|
130
134
|
selfDeps
|
|
131
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-K4DP5KZA.js";
|
|
132
136
|
import {
|
|
133
137
|
supersessionKeysForFact
|
|
134
138
|
} from "./chunk-DNHVPZOD.js";
|
|
@@ -4952,6 +4956,17 @@ var OPERATION_NAMES = [
|
|
|
4952
4956
|
"chat_message",
|
|
4953
4957
|
"chat_events"
|
|
4954
4958
|
];
|
|
4959
|
+
var IMPLICIT_HTTP_NAMESPACE_OPERATIONS = /* @__PURE__ */ new Set([
|
|
4960
|
+
"offline_sync_snapshot",
|
|
4961
|
+
"offline_sync_snapshot_stream",
|
|
4962
|
+
"memory_list",
|
|
4963
|
+
"entity_list",
|
|
4964
|
+
"maintenance_status",
|
|
4965
|
+
"quality_status",
|
|
4966
|
+
"trust_zones_status",
|
|
4967
|
+
"graph_events",
|
|
4968
|
+
"citations_observed"
|
|
4969
|
+
]);
|
|
4955
4970
|
function coerceBooleanLike(value) {
|
|
4956
4971
|
if (value === void 0 || value === null || value === "") return void 0;
|
|
4957
4972
|
if (typeof value === "boolean") return value;
|
|
@@ -5059,6 +5074,13 @@ function defineOperation(spec) {
|
|
|
5059
5074
|
function getOperation(name) {
|
|
5060
5075
|
return registry.get(name);
|
|
5061
5076
|
}
|
|
5077
|
+
function operationRequiresAuthorizedNamespace(name) {
|
|
5078
|
+
if (name === "namespace_writable") return false;
|
|
5079
|
+
if (IMPLICIT_HTTP_NAMESPACE_OPERATIONS.has(name)) return true;
|
|
5080
|
+
const schema = registry.get(name)?.spec.schema;
|
|
5081
|
+
const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;
|
|
5082
|
+
return objectSchema instanceof z.ZodObject && Object.hasOwn(objectSchema.shape, "namespace");
|
|
5083
|
+
}
|
|
5062
5084
|
function listRegisteredOperations() {
|
|
5063
5085
|
return [...registry.keys()];
|
|
5064
5086
|
}
|
|
@@ -7568,6 +7590,7 @@ async function assembleRecallResponse(deps, params) {
|
|
|
7568
7590
|
const {
|
|
7569
7591
|
request,
|
|
7570
7592
|
context,
|
|
7593
|
+
contextComposition,
|
|
7571
7594
|
query,
|
|
7572
7595
|
mode,
|
|
7573
7596
|
namespace,
|
|
@@ -7625,7 +7648,8 @@ async function assembleRecallResponse(deps, params) {
|
|
|
7625
7648
|
err instanceof Error ? err.message : String(err)
|
|
7626
7649
|
);
|
|
7627
7650
|
}
|
|
7628
|
-
let
|
|
7651
|
+
let effectiveComposition = contextComposition ?? { context };
|
|
7652
|
+
let effectiveContext = composeRecallContext(effectiveComposition);
|
|
7629
7653
|
if (filterTags && filterTags.length > 0) {
|
|
7630
7654
|
const beforeIds = results.map((r) => r.id);
|
|
7631
7655
|
const { results: admitted } = applyTagFilter(results, {
|
|
@@ -7636,11 +7660,13 @@ async function assembleRecallResponse(deps, params) {
|
|
|
7636
7660
|
const admittedIds = new Set(results.map((r) => r.id));
|
|
7637
7661
|
const droppedAny = beforeIds.some((id) => !admittedIds.has(id));
|
|
7638
7662
|
if (droppedAny) {
|
|
7639
|
-
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7663
|
+
const filteredContext = results.map((result) => result.content || result.preview).filter((s) => s.length > 0).join("\n\n");
|
|
7664
|
+
effectiveComposition = boundRecallContextComposition({
|
|
7665
|
+
context: filteredContext,
|
|
7666
|
+
footer: effectiveComposition.footer,
|
|
7667
|
+
maxChars: deps.orchestrator.config.recallBudgetChars
|
|
7668
|
+
});
|
|
7669
|
+
effectiveContext = composeRecallContext(effectiveComposition);
|
|
7644
7670
|
}
|
|
7645
7671
|
}
|
|
7646
7672
|
const filteredMemoryIds = filterTags && filterTags.length > 0 ? results.map((r) => r.id) : snapshot?.memoryIds ?? [];
|
|
@@ -7690,6 +7716,7 @@ async function assembleRecallResponse(deps, params) {
|
|
|
7690
7716
|
sessionKey: request.sessionKey,
|
|
7691
7717
|
namespace: effectiveNamespace,
|
|
7692
7718
|
context: effectiveContext,
|
|
7719
|
+
contextComposition: effectiveComposition,
|
|
7693
7720
|
count: filterTags && filterTags.length > 0 ? results.length : snapshot?.memoryIds.length ?? results.length,
|
|
7694
7721
|
memoryIds: filteredMemoryIds,
|
|
7695
7722
|
results,
|
|
@@ -8156,10 +8183,14 @@ var AccessRecallSurface = class {
|
|
|
8156
8183
|
}
|
|
8157
8184
|
asOf = request.asOf;
|
|
8158
8185
|
}
|
|
8186
|
+
let contextComposition;
|
|
8159
8187
|
const recallOptions = {
|
|
8160
8188
|
namespace: namespaceOverride,
|
|
8161
8189
|
topK,
|
|
8162
8190
|
mode,
|
|
8191
|
+
onContextComposition: (composition) => {
|
|
8192
|
+
contextComposition = composition;
|
|
8193
|
+
},
|
|
8163
8194
|
...authenticatedPrincipal ? { principalOverride: authenticatedPrincipal } : {},
|
|
8164
8195
|
...asOf !== void 0 ? { asOf } : {},
|
|
8165
8196
|
...request.includeLowConfidence === true ? { includeLowConfidence: true } : {},
|
|
@@ -8184,10 +8215,15 @@ var AccessRecallSurface = class {
|
|
|
8184
8215
|
reservedBudget = reserveDecision.reservation;
|
|
8185
8216
|
}
|
|
8186
8217
|
try {
|
|
8187
|
-
const context = await this.deps.orchestrator.recall(
|
|
8218
|
+
const context = await this.deps.orchestrator.recall(
|
|
8219
|
+
query,
|
|
8220
|
+
request.sessionKey,
|
|
8221
|
+
recallOptions
|
|
8222
|
+
);
|
|
8188
8223
|
const assembled = await assembleRecallResponse(this.deps, {
|
|
8189
8224
|
request,
|
|
8190
8225
|
context,
|
|
8226
|
+
contextComposition,
|
|
8191
8227
|
query,
|
|
8192
8228
|
mode,
|
|
8193
8229
|
namespace,
|
|
@@ -12423,6 +12459,7 @@ export {
|
|
|
12423
12459
|
formatZodIssues,
|
|
12424
12460
|
defineOperation,
|
|
12425
12461
|
getOperation,
|
|
12462
|
+
operationRequiresAuthorizedNamespace,
|
|
12426
12463
|
listRegisteredOperations,
|
|
12427
12464
|
__resetRegistryForTest,
|
|
12428
12465
|
namespaceWritableRequest,
|
|
@@ -12446,4 +12483,4 @@ export {
|
|
|
12446
12483
|
EngramAccessService,
|
|
12447
12484
|
AccessAdminOpsSurface
|
|
12448
12485
|
};
|
|
12449
|
-
//# sourceMappingURL=chunk-
|
|
12486
|
+
//# sourceMappingURL=chunk-BL4JHZSO.js.map
|