audrey 1.0.1 → 1.0.3
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/CHANGELOG.md +57 -0
- package/README.md +13 -3
- package/benchmarks/adapter-self-test.mjs +6 -2
- package/benchmarks/adapters/example-allow.mjs +5 -2
- package/benchmarks/adapters/mem0-platform.mjs +19 -12
- package/benchmarks/adapters/zep-cloud.mjs +51 -27
- package/benchmarks/baselines.js +11 -6
- package/benchmarks/build-leaderboard.mjs +36 -23
- package/benchmarks/cases.js +24 -12
- package/benchmarks/create-conformance-card.mjs +12 -3
- package/benchmarks/create-submission-bundle.mjs +22 -8
- package/benchmarks/dry-run-external-adapters.mjs +24 -12
- package/benchmarks/guardbench.js +263 -123
- package/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +4 -4
- package/benchmarks/output/external/guardbench-external-dry-run.json +1 -1
- package/benchmarks/output/external/guardbench-external-evidence.json +1 -1
- package/benchmarks/output/guardbench-conformance-card.json +12 -12
- package/benchmarks/output/guardbench-raw.json +106 -106
- package/benchmarks/output/guardbench-summary.json +168 -168
- package/benchmarks/output/leaderboard/guardbench-leaderboard.json +5 -5
- package/benchmarks/output/leaderboard/guardbench-leaderboard.md +2 -2
- package/benchmarks/output/submission-bundle/guardbench-conformance-card.json +12 -12
- package/benchmarks/output/submission-bundle/guardbench-raw.json +106 -106
- package/benchmarks/output/submission-bundle/guardbench-summary.json +168 -168
- package/benchmarks/output/submission-bundle/submission-manifest.json +11 -11
- package/benchmarks/output/submission-bundle/validation-report.json +1 -1
- package/benchmarks/output/summary.json +58 -58
- package/benchmarks/perf-snapshot.js +12 -9
- package/benchmarks/perf.bench.js +14 -6
- package/benchmarks/public-paths.mjs +11 -5
- package/benchmarks/reference-results.js +10 -5
- package/benchmarks/report.js +48 -27
- package/benchmarks/run-external-guardbench.mjs +47 -25
- package/benchmarks/run.js +112 -59
- package/benchmarks/validate-adapter-module.mjs +13 -10
- package/benchmarks/validate-adapter-registry.mjs +16 -5
- package/benchmarks/validate-guardbench-artifacts.mjs +76 -19
- package/benchmarks/verify-external-evidence.mjs +86 -31
- package/benchmarks/verify-publication-artifacts.mjs +34 -11
- package/benchmarks/verify-submission-bundle.mjs +9 -4
- package/dist/mcp-server/config.d.ts +1 -1
- package/dist/mcp-server/config.d.ts.map +1 -1
- package/dist/mcp-server/config.js +5 -3
- package/dist/mcp-server/config.js.map +1 -1
- package/dist/mcp-server/index.d.ts +7 -347
- package/dist/mcp-server/index.d.ts.map +1 -1
- package/dist/mcp-server/index.js +289 -256
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/mcp-server/tool-schemas.d.ts +341 -0
- package/dist/mcp-server/tool-schemas.d.ts.map +1 -0
- package/dist/mcp-server/tool-schemas.js +248 -0
- package/dist/mcp-server/tool-schemas.js.map +1 -0
- package/dist/mcp-server/tool-validation.d.ts +17 -0
- package/dist/mcp-server/tool-validation.d.ts.map +1 -0
- package/dist/mcp-server/tool-validation.js +41 -0
- package/dist/mcp-server/tool-validation.js.map +1 -0
- package/dist/src/action-key.d.ts.map +1 -1
- package/dist/src/action-key.js +6 -2
- package/dist/src/action-key.js.map +1 -1
- package/dist/src/adaptive.d.ts.map +1 -1
- package/dist/src/adaptive.js +4 -2
- package/dist/src/adaptive.js.map +1 -1
- package/dist/src/affect.d.ts.map +1 -1
- package/dist/src/affect.js +8 -5
- package/dist/src/affect.js.map +1 -1
- package/dist/src/audrey.d.ts +1 -1
- package/dist/src/audrey.d.ts.map +1 -1
- package/dist/src/audrey.js +93 -49
- package/dist/src/audrey.js.map +1 -1
- package/dist/src/capsule.d.ts.map +1 -1
- package/dist/src/capsule.js +37 -15
- package/dist/src/capsule.js.map +1 -1
- package/dist/src/causal.d.ts +1 -1
- package/dist/src/causal.d.ts.map +1 -1
- package/dist/src/causal.js +4 -2
- package/dist/src/causal.js.map +1 -1
- package/dist/src/confidence.d.ts.map +1 -1
- package/dist/src/confidence.js +5 -5
- package/dist/src/confidence.js.map +1 -1
- package/dist/src/consolidate.d.ts.map +1 -1
- package/dist/src/consolidate.js +17 -9
- package/dist/src/consolidate.js.map +1 -1
- package/dist/src/context.js +1 -1
- package/dist/src/context.js.map +1 -1
- package/dist/src/controller.d.ts.map +1 -1
- package/dist/src/controller.js +24 -13
- package/dist/src/controller.js.map +1 -1
- package/dist/src/db.d.ts.map +1 -1
- package/dist/src/db.js +78 -27
- package/dist/src/db.js.map +1 -1
- package/dist/src/decay.d.ts +1 -1
- package/dist/src/decay.d.ts.map +1 -1
- package/dist/src/decay.js +1 -1
- package/dist/src/decay.js.map +1 -1
- package/dist/src/embedding.d.ts +12 -4
- package/dist/src/embedding.d.ts.map +1 -1
- package/dist/src/embedding.js +18 -16
- package/dist/src/embedding.js.map +1 -1
- package/dist/src/encode.d.ts.map +1 -1
- package/dist/src/encode.js +5 -4
- package/dist/src/encode.js.map +1 -1
- package/dist/src/events.d.ts +3 -2
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +7 -3
- package/dist/src/events.js.map +1 -1
- package/dist/src/export.d.ts.map +1 -1
- package/dist/src/export.js +21 -7
- package/dist/src/export.js.map +1 -1
- package/dist/src/feedback.d.ts.map +1 -1
- package/dist/src/feedback.js +1 -1
- package/dist/src/feedback.js.map +1 -1
- package/dist/src/forget.d.ts.map +1 -1
- package/dist/src/forget.js +12 -6
- package/dist/src/forget.js.map +1 -1
- package/dist/src/fts.d.ts.map +1 -1
- package/dist/src/fts.js +20 -8
- package/dist/src/fts.js.map +1 -1
- package/dist/src/hybrid-recall.d.ts.map +1 -1
- package/dist/src/hybrid-recall.js +12 -6
- package/dist/src/hybrid-recall.js.map +1 -1
- package/dist/src/impact.d.ts.map +1 -1
- package/dist/src/impact.js +26 -10
- package/dist/src/impact.js.map +1 -1
- package/dist/src/import.d.ts.map +1 -1
- package/dist/src/import.js +11 -6
- package/dist/src/import.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/interference.d.ts.map +1 -1
- package/dist/src/interference.js +10 -5
- package/dist/src/interference.js.map +1 -1
- package/dist/src/introspect.d.ts.map +1 -1
- package/dist/src/introspect.js +12 -6
- package/dist/src/introspect.js.map +1 -1
- package/dist/src/llm.d.ts +2 -2
- package/dist/src/llm.d.ts.map +1 -1
- package/dist/src/llm.js +6 -6
- package/dist/src/llm.js.map +1 -1
- package/dist/src/migrate.d.ts.map +1 -1
- package/dist/src/migrate.js +10 -4
- package/dist/src/migrate.js.map +1 -1
- package/dist/src/preflight.d.ts.map +1 -1
- package/dist/src/preflight.js +6 -8
- package/dist/src/preflight.js.map +1 -1
- package/dist/src/profile.d.ts.map +1 -1
- package/dist/src/profile.js.map +1 -1
- package/dist/src/promote.d.ts.map +1 -1
- package/dist/src/promote.js +16 -7
- package/dist/src/promote.js.map +1 -1
- package/dist/src/prompts.d.ts.map +1 -1
- package/dist/src/prompts.js +1 -2
- package/dist/src/prompts.js.map +1 -1
- package/dist/src/recall.d.ts.map +1 -1
- package/dist/src/recall.js +85 -18
- package/dist/src/recall.js.map +1 -1
- package/dist/src/redact.d.ts.map +1 -1
- package/dist/src/redact.js +9 -4
- package/dist/src/redact.js.map +1 -1
- package/dist/src/reflexes.d.ts.map +1 -1
- package/dist/src/reflexes.js +1 -7
- package/dist/src/reflexes.js.map +1 -1
- package/dist/src/rollback.d.ts.map +1 -1
- package/dist/src/rollback.js +4 -2
- package/dist/src/rollback.js.map +1 -1
- package/dist/src/routes.d.ts.map +1 -1
- package/dist/src/routes.js +33 -13
- package/dist/src/routes.js.map +1 -1
- package/dist/src/rules-compiler.d.ts.map +1 -1
- package/dist/src/rules-compiler.js +24 -2
- package/dist/src/rules-compiler.js.map +1 -1
- package/dist/src/server.js +2 -2
- package/dist/src/server.js.map +1 -1
- package/dist/src/tool-trace.d.ts +2 -2
- package/dist/src/tool-trace.d.ts.map +1 -1
- package/dist/src/tool-trace.js +12 -4
- package/dist/src/tool-trace.js.map +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/ulid.js +1 -1
- package/dist/src/ulid.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +20 -10
- package/dist/src/validate.js.map +1 -1
- package/docs/paper/07-evaluation.md +5 -5
- package/docs/paper/audrey-paper-v1.md +5 -5
- package/docs/paper/evidence-ledger.md +1 -1
- package/docs/paper/output/arxiv/arxiv-manifest.json +4 -4
- package/docs/paper/output/arxiv/main.tex +5 -5
- package/docs/paper/output/arxiv-compile-report.json +3 -3
- package/docs/paper/output/submission-bundle/README.md +13 -3
- package/docs/paper/output/submission-bundle/benchmarks/output/adapter-self-test/guardbench-adapter-self-test.json +4 -4
- package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-dry-run.json +1 -1
- package/docs/paper/output/submission-bundle/benchmarks/output/external/guardbench-external-evidence.json +1 -1
- package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-conformance-card.json +12 -12
- package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-raw.json +106 -106
- package/docs/paper/output/submission-bundle/benchmarks/output/guardbench-summary.json +168 -168
- package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.json +5 -5
- package/docs/paper/output/submission-bundle/benchmarks/output/leaderboard/guardbench-leaderboard.md +2 -2
- package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/submission-manifest.json +11 -11
- package/docs/paper/output/submission-bundle/benchmarks/output/submission-bundle/validation-report.json +1 -1
- package/docs/paper/output/submission-bundle/benchmarks/output/summary.json +64 -64
- package/docs/paper/output/submission-bundle/docs/paper/07-evaluation.md +5 -5
- package/docs/paper/output/submission-bundle/docs/paper/audrey-paper-v1.md +5 -5
- package/docs/paper/output/submission-bundle/docs/paper/evidence-ledger.md +1 -1
- package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/arxiv-manifest.json +4 -4
- package/docs/paper/output/submission-bundle/docs/paper/output/arxiv/main.tex +5 -5
- package/docs/paper/output/submission-bundle/docs/paper/output/arxiv-compile-report.json +3 -3
- package/docs/paper/output/submission-bundle/package.json +17 -4
- package/docs/paper/output/submission-bundle/paper-submission-manifest.json +34 -34
- package/examples/fintech-ops-demo.js +12 -5
- package/examples/healthcare-ops-demo.js +8 -4
- package/examples/ollama-memory-agent.js +41 -13
- package/examples/stripe-demo.js +12 -5
- package/package.json +17 -4
- package/scripts/audit-release-completion.mjs +179 -101
- package/scripts/create-arxiv-source.mjs +20 -14
- package/scripts/create-paper-submission-bundle.mjs +6 -2
- package/scripts/finalize-release.mjs +111 -36
- package/scripts/prepare-release-cut.mjs +14 -6
- package/scripts/publish-release-bundle.mjs +62 -23
- package/scripts/publish-release-github-api.mjs +89 -24
- package/scripts/smoke-cli.js +9 -9
- package/scripts/sync-paper-artifacts.mjs +5 -1
- package/scripts/verify-arxiv-compile.mjs +52 -16
- package/scripts/verify-arxiv-source.mjs +45 -15
- package/scripts/verify-browser-launch-plan.mjs +28 -11
- package/scripts/verify-browser-launch-results.mjs +32 -14
- package/scripts/verify-paper-artifacts.mjs +539 -79
- package/scripts/verify-paper-claims.mjs +48 -20
- package/scripts/verify-paper-submission-bundle.mjs +22 -11
- package/scripts/verify-publication-pack.mjs +23 -9
- package/scripts/verify-release-readiness.mjs +211 -76
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod tool-input schemas for the MCP memory tools. These are pure schema
|
|
3
|
+
* declarations consumed by the MCP server registration in index.ts and
|
|
4
|
+
* re-exported from there for tests and embedders.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
export declare const memoryEncodeToolSchema: {
|
|
8
|
+
content: z.ZodString;
|
|
9
|
+
source: z.ZodEnum<{
|
|
10
|
+
"direct-observation": "direct-observation";
|
|
11
|
+
"told-by-user": "told-by-user";
|
|
12
|
+
"tool-result": "tool-result";
|
|
13
|
+
inference: "inference";
|
|
14
|
+
"model-generated": "model-generated";
|
|
15
|
+
}>;
|
|
16
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
17
|
+
salience: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
19
|
+
affect: z.ZodOptional<z.ZodObject<{
|
|
20
|
+
valence: z.ZodNumber;
|
|
21
|
+
arousal: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
label: z.ZodOptional<z.ZodString>;
|
|
23
|
+
}, z.core.$strip>>;
|
|
24
|
+
private: z.ZodOptional<z.ZodBoolean>;
|
|
25
|
+
wait_for_consolidation: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
};
|
|
27
|
+
export declare const memoryRecallToolSchema: {
|
|
28
|
+
query: z.ZodString;
|
|
29
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
31
|
+
episodic: "episodic";
|
|
32
|
+
semantic: "semantic";
|
|
33
|
+
procedural: "procedural";
|
|
34
|
+
}>>>;
|
|
35
|
+
min_confidence: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
37
|
+
sources: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
38
|
+
"direct-observation": "direct-observation";
|
|
39
|
+
"told-by-user": "told-by-user";
|
|
40
|
+
"tool-result": "tool-result";
|
|
41
|
+
inference: "inference";
|
|
42
|
+
"model-generated": "model-generated";
|
|
43
|
+
}>>>;
|
|
44
|
+
after: z.ZodOptional<z.ZodString>;
|
|
45
|
+
before: z.ZodOptional<z.ZodString>;
|
|
46
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
47
|
+
mood: z.ZodOptional<z.ZodObject<{
|
|
48
|
+
valence: z.ZodNumber;
|
|
49
|
+
arousal: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
}, z.core.$strip>>;
|
|
51
|
+
retrieval: z.ZodOptional<z.ZodEnum<{
|
|
52
|
+
vector: "vector";
|
|
53
|
+
hybrid: "hybrid";
|
|
54
|
+
}>>;
|
|
55
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
56
|
+
shared: "shared";
|
|
57
|
+
agent: "agent";
|
|
58
|
+
}>>;
|
|
59
|
+
};
|
|
60
|
+
export declare const memoryImportToolSchema: {
|
|
61
|
+
snapshot: z.ZodObject<{
|
|
62
|
+
version: z.ZodString;
|
|
63
|
+
exportedAt: z.ZodOptional<z.ZodString>;
|
|
64
|
+
episodes: z.ZodArray<z.ZodObject<{
|
|
65
|
+
id: z.ZodString;
|
|
66
|
+
content: z.ZodString;
|
|
67
|
+
source: z.ZodEnum<{
|
|
68
|
+
"direct-observation": "direct-observation";
|
|
69
|
+
"told-by-user": "told-by-user";
|
|
70
|
+
"tool-result": "tool-result";
|
|
71
|
+
inference: "inference";
|
|
72
|
+
"model-generated": "model-generated";
|
|
73
|
+
}>;
|
|
74
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
75
|
+
source_reliability: z.ZodOptional<z.ZodNumber>;
|
|
76
|
+
salience: z.ZodOptional<z.ZodNumber>;
|
|
77
|
+
context: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
78
|
+
affect: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
79
|
+
tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
80
|
+
causal_trigger: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
81
|
+
causal_consequence: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
82
|
+
created_at: z.ZodString;
|
|
83
|
+
embedding_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
84
|
+
embedding_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
85
|
+
supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
86
|
+
superseded_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
87
|
+
consolidated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>]>>;
|
|
88
|
+
private: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>]>>;
|
|
89
|
+
}, z.core.$strip>>;
|
|
90
|
+
semantics: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
91
|
+
id: z.ZodString;
|
|
92
|
+
content: z.ZodString;
|
|
93
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
94
|
+
state: z.ZodEnum<{
|
|
95
|
+
active: "active";
|
|
96
|
+
disputed: "disputed";
|
|
97
|
+
superseded: "superseded";
|
|
98
|
+
context_dependent: "context_dependent";
|
|
99
|
+
dormant: "dormant";
|
|
100
|
+
rolled_back: "rolled_back";
|
|
101
|
+
}>;
|
|
102
|
+
conditions: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
103
|
+
evidence_episode_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
104
|
+
evidence_count: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
supporting_count: z.ZodOptional<z.ZodNumber>;
|
|
106
|
+
contradicting_count: z.ZodOptional<z.ZodNumber>;
|
|
107
|
+
source_type_diversity: z.ZodOptional<z.ZodNumber>;
|
|
108
|
+
consolidation_checkpoint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
109
|
+
embedding_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
110
|
+
embedding_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
111
|
+
consolidation_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
112
|
+
consolidation_prompt_hash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
113
|
+
created_at: z.ZodString;
|
|
114
|
+
last_reinforced_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
115
|
+
retrieval_count: z.ZodOptional<z.ZodNumber>;
|
|
116
|
+
challenge_count: z.ZodOptional<z.ZodNumber>;
|
|
117
|
+
interference_count: z.ZodOptional<z.ZodNumber>;
|
|
118
|
+
salience: z.ZodOptional<z.ZodNumber>;
|
|
119
|
+
}, z.core.$strip>>>;
|
|
120
|
+
procedures: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
121
|
+
id: z.ZodString;
|
|
122
|
+
content: z.ZodString;
|
|
123
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
124
|
+
state: z.ZodEnum<{
|
|
125
|
+
active: "active";
|
|
126
|
+
disputed: "disputed";
|
|
127
|
+
superseded: "superseded";
|
|
128
|
+
context_dependent: "context_dependent";
|
|
129
|
+
dormant: "dormant";
|
|
130
|
+
rolled_back: "rolled_back";
|
|
131
|
+
}>;
|
|
132
|
+
trigger_conditions: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
133
|
+
evidence_episode_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
134
|
+
success_count: z.ZodOptional<z.ZodNumber>;
|
|
135
|
+
failure_count: z.ZodOptional<z.ZodNumber>;
|
|
136
|
+
embedding_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
137
|
+
embedding_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
138
|
+
created_at: z.ZodString;
|
|
139
|
+
last_reinforced_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
140
|
+
retrieval_count: z.ZodOptional<z.ZodNumber>;
|
|
141
|
+
interference_count: z.ZodOptional<z.ZodNumber>;
|
|
142
|
+
salience: z.ZodOptional<z.ZodNumber>;
|
|
143
|
+
}, z.core.$strip>>>;
|
|
144
|
+
causalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
145
|
+
id: z.ZodString;
|
|
146
|
+
cause_id: z.ZodString;
|
|
147
|
+
effect_id: z.ZodString;
|
|
148
|
+
link_type: z.ZodOptional<z.ZodEnum<{
|
|
149
|
+
causal: "causal";
|
|
150
|
+
correlational: "correlational";
|
|
151
|
+
temporal: "temporal";
|
|
152
|
+
}>>;
|
|
153
|
+
mechanism: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
154
|
+
confidence: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
155
|
+
evidence_count: z.ZodOptional<z.ZodNumber>;
|
|
156
|
+
created_at: z.ZodString;
|
|
157
|
+
}, z.core.$strip>>>;
|
|
158
|
+
contradictions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
159
|
+
id: z.ZodString;
|
|
160
|
+
claim_a_id: z.ZodString;
|
|
161
|
+
claim_a_type: z.ZodString;
|
|
162
|
+
claim_b_id: z.ZodString;
|
|
163
|
+
claim_b_type: z.ZodString;
|
|
164
|
+
state: z.ZodEnum<{
|
|
165
|
+
context_dependent: "context_dependent";
|
|
166
|
+
open: "open";
|
|
167
|
+
resolved: "resolved";
|
|
168
|
+
reopened: "reopened";
|
|
169
|
+
}>;
|
|
170
|
+
resolution: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
171
|
+
resolved_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
172
|
+
reopened_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
173
|
+
reopen_evidence_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
174
|
+
created_at: z.ZodString;
|
|
175
|
+
}, z.core.$strip>>>;
|
|
176
|
+
consolidationRuns: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
177
|
+
id: z.ZodString;
|
|
178
|
+
checkpoint_cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
179
|
+
input_episode_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
180
|
+
output_memory_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
181
|
+
confidence_deltas: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
182
|
+
consolidation_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
183
|
+
consolidation_prompt_hash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
184
|
+
started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
185
|
+
completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
186
|
+
status: z.ZodEnum<{
|
|
187
|
+
rolled_back: "rolled_back";
|
|
188
|
+
running: "running";
|
|
189
|
+
completed: "completed";
|
|
190
|
+
failed: "failed";
|
|
191
|
+
}>;
|
|
192
|
+
}, z.core.$strip>>>;
|
|
193
|
+
consolidationMetrics: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
194
|
+
id: z.ZodString;
|
|
195
|
+
run_id: z.ZodString;
|
|
196
|
+
min_cluster_size: z.ZodNumber;
|
|
197
|
+
similarity_threshold: z.ZodNumber;
|
|
198
|
+
episodes_evaluated: z.ZodNumber;
|
|
199
|
+
clusters_found: z.ZodNumber;
|
|
200
|
+
principles_extracted: z.ZodNumber;
|
|
201
|
+
created_at: z.ZodString;
|
|
202
|
+
}, z.core.$strip>>>;
|
|
203
|
+
memoryEvents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
204
|
+
id: z.ZodString;
|
|
205
|
+
session_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
206
|
+
event_type: z.ZodString;
|
|
207
|
+
source: z.ZodString;
|
|
208
|
+
actor_agent: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
209
|
+
tool_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
210
|
+
input_hash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
211
|
+
output_hash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
212
|
+
outcome: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
213
|
+
unknown: "unknown";
|
|
214
|
+
failed: "failed";
|
|
215
|
+
succeeded: "succeeded";
|
|
216
|
+
blocked: "blocked";
|
|
217
|
+
skipped: "skipped";
|
|
218
|
+
}>>>;
|
|
219
|
+
error_summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
220
|
+
cwd: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
221
|
+
file_fingerprints: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
222
|
+
redaction_state: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
223
|
+
clean: "clean";
|
|
224
|
+
redacted: "redacted";
|
|
225
|
+
unreviewed: "unreviewed";
|
|
226
|
+
quarantined: "quarantined";
|
|
227
|
+
}>>>;
|
|
228
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
229
|
+
created_at: z.ZodString;
|
|
230
|
+
}, z.core.$strip>>>;
|
|
231
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
232
|
+
}, z.core.$strip>;
|
|
233
|
+
};
|
|
234
|
+
export declare const memoryForgetToolSchema: {
|
|
235
|
+
id: z.ZodOptional<z.ZodString>;
|
|
236
|
+
query: z.ZodOptional<z.ZodString>;
|
|
237
|
+
min_similarity: z.ZodOptional<z.ZodNumber>;
|
|
238
|
+
purge: z.ZodOptional<z.ZodBoolean>;
|
|
239
|
+
};
|
|
240
|
+
export declare const memoryValidateToolSchema: {
|
|
241
|
+
id: z.ZodString;
|
|
242
|
+
outcome: z.ZodEnum<{
|
|
243
|
+
used: "used";
|
|
244
|
+
helpful: "helpful";
|
|
245
|
+
wrong: "wrong";
|
|
246
|
+
}>;
|
|
247
|
+
};
|
|
248
|
+
export declare const memoryPreflightToolSchema: {
|
|
249
|
+
action: z.ZodString;
|
|
250
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
251
|
+
session_id: z.ZodOptional<z.ZodString>;
|
|
252
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
253
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
254
|
+
strict: z.ZodOptional<z.ZodBoolean>;
|
|
255
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
256
|
+
budget_chars: z.ZodOptional<z.ZodNumber>;
|
|
257
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
258
|
+
balanced: "balanced";
|
|
259
|
+
conservative: "conservative";
|
|
260
|
+
aggressive: "aggressive";
|
|
261
|
+
}>>;
|
|
262
|
+
failure_window_hours: z.ZodOptional<z.ZodNumber>;
|
|
263
|
+
include_status: z.ZodOptional<z.ZodBoolean>;
|
|
264
|
+
record_event: z.ZodOptional<z.ZodBoolean>;
|
|
265
|
+
include_capsule: z.ZodOptional<z.ZodBoolean>;
|
|
266
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
267
|
+
shared: "shared";
|
|
268
|
+
agent: "agent";
|
|
269
|
+
}>>;
|
|
270
|
+
};
|
|
271
|
+
export declare const memoryGuardBeforeToolSchema: {
|
|
272
|
+
session_id: z.ZodOptional<z.ZodString>;
|
|
273
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
274
|
+
action: z.ZodString;
|
|
275
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
276
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
277
|
+
strict: z.ZodOptional<z.ZodBoolean>;
|
|
278
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
279
|
+
budget_chars: z.ZodOptional<z.ZodNumber>;
|
|
280
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
281
|
+
balanced: "balanced";
|
|
282
|
+
conservative: "conservative";
|
|
283
|
+
aggressive: "aggressive";
|
|
284
|
+
}>>;
|
|
285
|
+
failure_window_hours: z.ZodOptional<z.ZodNumber>;
|
|
286
|
+
include_status: z.ZodOptional<z.ZodBoolean>;
|
|
287
|
+
include_capsule: z.ZodOptional<z.ZodBoolean>;
|
|
288
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
289
|
+
shared: "shared";
|
|
290
|
+
agent: "agent";
|
|
291
|
+
}>>;
|
|
292
|
+
};
|
|
293
|
+
export declare const memoryGuardAfterToolSchema: {
|
|
294
|
+
receipt_id: z.ZodString;
|
|
295
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
296
|
+
session_id: z.ZodOptional<z.ZodString>;
|
|
297
|
+
input: z.ZodOptional<z.ZodUnknown>;
|
|
298
|
+
output: z.ZodOptional<z.ZodUnknown>;
|
|
299
|
+
outcome: z.ZodOptional<z.ZodEnum<{
|
|
300
|
+
unknown: "unknown";
|
|
301
|
+
failed: "failed";
|
|
302
|
+
succeeded: "succeeded";
|
|
303
|
+
blocked: "blocked";
|
|
304
|
+
skipped: "skipped";
|
|
305
|
+
}>>;
|
|
306
|
+
error_summary: z.ZodOptional<z.ZodString>;
|
|
307
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
308
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
309
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
310
|
+
retain_details: z.ZodOptional<z.ZodBoolean>;
|
|
311
|
+
evidence_feedback: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
312
|
+
used: "used";
|
|
313
|
+
helpful: "helpful";
|
|
314
|
+
wrong: "wrong";
|
|
315
|
+
}>>>;
|
|
316
|
+
};
|
|
317
|
+
export declare const memoryReflexesToolSchema: {
|
|
318
|
+
include_preflight: z.ZodOptional<z.ZodBoolean>;
|
|
319
|
+
action: z.ZodString;
|
|
320
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
321
|
+
session_id: z.ZodOptional<z.ZodString>;
|
|
322
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
323
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
324
|
+
strict: z.ZodOptional<z.ZodBoolean>;
|
|
325
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
326
|
+
budget_chars: z.ZodOptional<z.ZodNumber>;
|
|
327
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
328
|
+
balanced: "balanced";
|
|
329
|
+
conservative: "conservative";
|
|
330
|
+
aggressive: "aggressive";
|
|
331
|
+
}>>;
|
|
332
|
+
failure_window_hours: z.ZodOptional<z.ZodNumber>;
|
|
333
|
+
include_status: z.ZodOptional<z.ZodBoolean>;
|
|
334
|
+
record_event: z.ZodOptional<z.ZodBoolean>;
|
|
335
|
+
include_capsule: z.ZodOptional<z.ZodBoolean>;
|
|
336
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
337
|
+
shared: "shared";
|
|
338
|
+
agent: "agent";
|
|
339
|
+
}>>;
|
|
340
|
+
};
|
|
341
|
+
//# sourceMappingURL=tool-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-schemas.d.ts","sourceRoot":"","sources":["../../mcp-server/tool-schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;CA6ClC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ClC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAElC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;CAgBlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;CAOpC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;CAiErC,CAAC;AAIF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;CAUvC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;CAkDtC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;CAMpC,CAAC"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod tool-input schemas for the MCP memory tools. These are pure schema
|
|
3
|
+
* declarations consumed by the MCP server registration in index.ts and
|
|
4
|
+
* re-exported from there for tests and embedders.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { importSnapshotSchema } from '../src/import.js';
|
|
8
|
+
import { MAX_MEMORY_CONTENT_LENGTH, VALID_SOURCES, VALID_TYPES, isNonEmptyText, } from './tool-validation.js';
|
|
9
|
+
export const memoryEncodeToolSchema = {
|
|
10
|
+
content: z
|
|
11
|
+
.string()
|
|
12
|
+
.max(MAX_MEMORY_CONTENT_LENGTH)
|
|
13
|
+
.refine(isNonEmptyText, 'Content must not be empty')
|
|
14
|
+
.describe('The memory content to encode'),
|
|
15
|
+
source: z.enum(VALID_SOURCES).describe('Source type of the memory'),
|
|
16
|
+
tags: z.array(z.string()).optional().describe('Optional tags for categorization'),
|
|
17
|
+
salience: z.number().min(0).max(1).optional().describe('Importance weight 0-1'),
|
|
18
|
+
context: z
|
|
19
|
+
.record(z.string(), z.string())
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('Situational context as key-value pairs (e.g., {task: "debugging", domain: "payments"})'),
|
|
22
|
+
affect: z
|
|
23
|
+
.object({
|
|
24
|
+
valence: z
|
|
25
|
+
.number()
|
|
26
|
+
.min(-1)
|
|
27
|
+
.max(1)
|
|
28
|
+
.describe('Emotional valence: -1 (very negative) to 1 (very positive)'),
|
|
29
|
+
arousal: z
|
|
30
|
+
.number()
|
|
31
|
+
.min(0)
|
|
32
|
+
.max(1)
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('Emotional arousal: 0 (calm) to 1 (highly activated)'),
|
|
35
|
+
label: z
|
|
36
|
+
.string()
|
|
37
|
+
.optional()
|
|
38
|
+
.describe('Human-readable emotion label (e.g., "curiosity", "frustration", "relief")'),
|
|
39
|
+
})
|
|
40
|
+
.optional()
|
|
41
|
+
.describe('Emotional affect - how this memory feels'),
|
|
42
|
+
private: z
|
|
43
|
+
.boolean()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe('If true, memory is only visible to the AI and excluded from public recall results'),
|
|
46
|
+
wait_for_consolidation: z
|
|
47
|
+
.boolean()
|
|
48
|
+
.optional()
|
|
49
|
+
.describe('If true, wait for post-encode validation/interference/resonance work before returning. Defaults to false.'),
|
|
50
|
+
};
|
|
51
|
+
export const memoryRecallToolSchema = {
|
|
52
|
+
query: z.string().describe('Search query to match against memories'),
|
|
53
|
+
limit: z.number().min(1).max(50).optional().describe('Max results (default 10)'),
|
|
54
|
+
types: z.array(z.enum(VALID_TYPES)).optional().describe('Memory types to search'),
|
|
55
|
+
min_confidence: z.number().min(0).max(1).optional().describe('Minimum confidence threshold'),
|
|
56
|
+
tags: z.array(z.string()).optional().describe('Only return episodic memories with these tags'),
|
|
57
|
+
sources: z
|
|
58
|
+
.array(z.enum(VALID_SOURCES))
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Only return episodic memories from these sources'),
|
|
61
|
+
after: z.string().optional().describe('Only return memories created after this ISO date'),
|
|
62
|
+
before: z.string().optional().describe('Only return memories created before this ISO date'),
|
|
63
|
+
context: z
|
|
64
|
+
.record(z.string(), z.string())
|
|
65
|
+
.optional()
|
|
66
|
+
.describe('Retrieval context - memories encoded in matching context get boosted'),
|
|
67
|
+
mood: z
|
|
68
|
+
.object({
|
|
69
|
+
valence: z
|
|
70
|
+
.number()
|
|
71
|
+
.min(-1)
|
|
72
|
+
.max(1)
|
|
73
|
+
.describe('Current emotional valence: -1 (negative) to 1 (positive)'),
|
|
74
|
+
arousal: z
|
|
75
|
+
.number()
|
|
76
|
+
.min(0)
|
|
77
|
+
.max(1)
|
|
78
|
+
.optional()
|
|
79
|
+
.describe('Current arousal: 0 (calm) to 1 (activated)'),
|
|
80
|
+
})
|
|
81
|
+
.optional()
|
|
82
|
+
.describe('Current mood - boosts recall of memories encoded in similar emotional state'),
|
|
83
|
+
retrieval: z
|
|
84
|
+
.enum(['hybrid', 'vector'])
|
|
85
|
+
.optional()
|
|
86
|
+
.describe('Retrieval strategy. hybrid is the default (vector + FTS/BM25 fusion); vector bypasses FTS for lower latency but loses lexical exact-match signal.'),
|
|
87
|
+
scope: z
|
|
88
|
+
.enum(['agent', 'shared'])
|
|
89
|
+
.optional()
|
|
90
|
+
.describe('agent restricts recall to this MCP server agent identity. shared searches the whole store. Defaults to shared for backward compatibility.'),
|
|
91
|
+
};
|
|
92
|
+
export const memoryImportToolSchema = {
|
|
93
|
+
snapshot: importSnapshotSchema.describe('A validated snapshot from memory_export'),
|
|
94
|
+
};
|
|
95
|
+
export const memoryForgetToolSchema = {
|
|
96
|
+
id: z.string().optional().describe('ID of the memory to forget'),
|
|
97
|
+
query: z
|
|
98
|
+
.string()
|
|
99
|
+
.optional()
|
|
100
|
+
.describe('Semantic query to find and forget the closest matching memory'),
|
|
101
|
+
min_similarity: z
|
|
102
|
+
.number()
|
|
103
|
+
.min(0)
|
|
104
|
+
.max(1)
|
|
105
|
+
.optional()
|
|
106
|
+
.describe('Minimum similarity for query-based forget (default 0.9)'),
|
|
107
|
+
purge: z
|
|
108
|
+
.boolean()
|
|
109
|
+
.optional()
|
|
110
|
+
.describe('Hard-delete the memory permanently (default false, soft-delete)'),
|
|
111
|
+
};
|
|
112
|
+
export const memoryValidateToolSchema = {
|
|
113
|
+
id: z.string().describe('ID of the memory to validate'),
|
|
114
|
+
outcome: z
|
|
115
|
+
.enum(['used', 'helpful', 'wrong'])
|
|
116
|
+
.describe('How the memory played out: "used" (referenced without obvious value), "helpful" (drove a correct action — reinforces salience and retrieval), "wrong" (memory was misleading — bumps challenge_count and decreases salience).'),
|
|
117
|
+
};
|
|
118
|
+
export const memoryPreflightToolSchema = {
|
|
119
|
+
action: z
|
|
120
|
+
.string()
|
|
121
|
+
.refine(isNonEmptyText, 'Action must not be empty')
|
|
122
|
+
.describe('Natural-language description of the action the agent is about to take.'),
|
|
123
|
+
tool: z
|
|
124
|
+
.string()
|
|
125
|
+
.optional()
|
|
126
|
+
.describe('Tool or command family about to be used, e.g. Bash, npm test, Edit, deploy.'),
|
|
127
|
+
session_id: z
|
|
128
|
+
.string()
|
|
129
|
+
.optional()
|
|
130
|
+
.describe('Session identifier for grouping the optional preflight event.'),
|
|
131
|
+
cwd: z.string().optional().describe('Working directory for the action.'),
|
|
132
|
+
files: z
|
|
133
|
+
.array(z.string())
|
|
134
|
+
.optional()
|
|
135
|
+
.describe('File paths to fingerprint if record_event is true.'),
|
|
136
|
+
strict: z
|
|
137
|
+
.boolean()
|
|
138
|
+
.optional()
|
|
139
|
+
.describe('If true, high-severity memory warnings produce decision=block instead of caution.'),
|
|
140
|
+
limit: z
|
|
141
|
+
.number()
|
|
142
|
+
.int()
|
|
143
|
+
.min(1)
|
|
144
|
+
.max(50)
|
|
145
|
+
.optional()
|
|
146
|
+
.describe('Max recall results to consider before preflight categorization.'),
|
|
147
|
+
budget_chars: z
|
|
148
|
+
.number()
|
|
149
|
+
.int()
|
|
150
|
+
.min(200)
|
|
151
|
+
.max(32000)
|
|
152
|
+
.optional()
|
|
153
|
+
.describe('Capsule budget in characters.'),
|
|
154
|
+
mode: z
|
|
155
|
+
.enum(['balanced', 'conservative', 'aggressive'])
|
|
156
|
+
.optional()
|
|
157
|
+
.describe('Underlying capsule mode. Defaults to conservative.'),
|
|
158
|
+
failure_window_hours: z
|
|
159
|
+
.number()
|
|
160
|
+
.int()
|
|
161
|
+
.min(1)
|
|
162
|
+
.max(8760)
|
|
163
|
+
.optional()
|
|
164
|
+
.describe('How far back to check failed tool events. Defaults to 168 hours.'),
|
|
165
|
+
include_status: z
|
|
166
|
+
.boolean()
|
|
167
|
+
.optional()
|
|
168
|
+
.describe('Include memory health in the response and warning calculation. Defaults to true.'),
|
|
169
|
+
record_event: z
|
|
170
|
+
.boolean()
|
|
171
|
+
.optional()
|
|
172
|
+
.describe('Record a redacted PreToolUse event for this preflight. Defaults to false.'),
|
|
173
|
+
include_capsule: z
|
|
174
|
+
.boolean()
|
|
175
|
+
.optional()
|
|
176
|
+
.describe('If false, omit the embedded Memory Capsule from the response.'),
|
|
177
|
+
scope: z
|
|
178
|
+
.enum(['agent', 'shared'])
|
|
179
|
+
.optional()
|
|
180
|
+
.describe('agent restricts memory recall to this server agent identity. shared searches the whole store. Defaults to agent.'),
|
|
181
|
+
};
|
|
182
|
+
const { record_event: _preflightRecordEvent, ...memoryGuardBeforeFields } = memoryPreflightToolSchema;
|
|
183
|
+
export const memoryGuardBeforeToolSchema = {
|
|
184
|
+
...memoryGuardBeforeFields,
|
|
185
|
+
session_id: z
|
|
186
|
+
.string()
|
|
187
|
+
.optional()
|
|
188
|
+
.describe('Session identifier for grouping the required guard receipt event.'),
|
|
189
|
+
files: z
|
|
190
|
+
.array(z.string())
|
|
191
|
+
.optional()
|
|
192
|
+
.describe('File paths to fingerprint in the required guard receipt.'),
|
|
193
|
+
};
|
|
194
|
+
export const memoryGuardAfterToolSchema = {
|
|
195
|
+
receipt_id: z
|
|
196
|
+
.string()
|
|
197
|
+
.refine(isNonEmptyText, 'Receipt id must not be empty')
|
|
198
|
+
.describe('Receipt id returned by memory_guard_before.'),
|
|
199
|
+
tool: z
|
|
200
|
+
.string()
|
|
201
|
+
.optional()
|
|
202
|
+
.describe('Tool or command family that completed, e.g. Bash, npm test, Edit, deploy.'),
|
|
203
|
+
session_id: z
|
|
204
|
+
.string()
|
|
205
|
+
.optional()
|
|
206
|
+
.describe('Session identifier for grouping related guard events.'),
|
|
207
|
+
input: z
|
|
208
|
+
.unknown()
|
|
209
|
+
.optional()
|
|
210
|
+
.describe('Tool input. Hashed and never stored raw; redacted metadata is only stored when retain_details is true.'),
|
|
211
|
+
output: z
|
|
212
|
+
.unknown()
|
|
213
|
+
.optional()
|
|
214
|
+
.describe('Tool output. Same redaction and storage policy as input.'),
|
|
215
|
+
outcome: z
|
|
216
|
+
.enum(['succeeded', 'failed', 'blocked', 'skipped', 'unknown'])
|
|
217
|
+
.optional()
|
|
218
|
+
.describe('Outcome classification'),
|
|
219
|
+
error_summary: z
|
|
220
|
+
.string()
|
|
221
|
+
.optional()
|
|
222
|
+
.describe('Short error description if the action failed. Redacted and truncated to 2 KB.'),
|
|
223
|
+
cwd: z.string().optional().describe('Working directory at the time of the action.'),
|
|
224
|
+
files: z
|
|
225
|
+
.array(z.string())
|
|
226
|
+
.optional()
|
|
227
|
+
.describe('File paths to fingerprint (size + mtime + content hash).'),
|
|
228
|
+
metadata: z
|
|
229
|
+
.record(z.string(), z.unknown())
|
|
230
|
+
.optional()
|
|
231
|
+
.describe('Arbitrary structured metadata (redacted before storage).'),
|
|
232
|
+
retain_details: z
|
|
233
|
+
.boolean()
|
|
234
|
+
.optional()
|
|
235
|
+
.describe('If true, redacted input and output payloads are stored alongside hashes. Defaults to false.'),
|
|
236
|
+
evidence_feedback: z
|
|
237
|
+
.record(z.string(), z.enum(['used', 'helpful', 'wrong']))
|
|
238
|
+
.optional()
|
|
239
|
+
.describe('Map of evidence ids from the guard receipt to memory validation outcomes.'),
|
|
240
|
+
};
|
|
241
|
+
export const memoryReflexesToolSchema = {
|
|
242
|
+
...memoryPreflightToolSchema,
|
|
243
|
+
include_preflight: z
|
|
244
|
+
.boolean()
|
|
245
|
+
.optional()
|
|
246
|
+
.describe('If true, include the full underlying preflight report.'),
|
|
247
|
+
};
|
|
248
|
+
//# sourceMappingURL=tool-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-schemas.js","sourceRoot":"","sources":["../../mcp-server/tool-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared validation primitives and admin/embedding guards for the MCP tool and
|
|
3
|
+
* CLI surfaces. Kept separate from tool-schemas.ts and index.ts so both can
|
|
4
|
+
* import them without a circular dependency.
|
|
5
|
+
*/
|
|
6
|
+
import type { EmbeddingProvider } from '../src/types.js';
|
|
7
|
+
export declare const VALID_SOURCES: readonly ["direct-observation", "told-by-user", "tool-result", "inference", "model-generated"];
|
|
8
|
+
export declare const VALID_TYPES: readonly ["episodic", "semantic", "procedural"];
|
|
9
|
+
export declare const MAX_MEMORY_CONTENT_LENGTH = 50000;
|
|
10
|
+
export declare const ADMIN_TOOLS_ENV = "AUDREY_ENABLE_ADMIN_TOOLS";
|
|
11
|
+
export declare function isNonEmptyText(value: unknown): boolean;
|
|
12
|
+
export declare function validateMemoryContent(content: string): void;
|
|
13
|
+
export declare function validateForgetSelection(id?: string, query?: string): void;
|
|
14
|
+
export declare function isAdminToolsEnabled(env?: Record<string, string | undefined>): boolean;
|
|
15
|
+
export declare function requireAdminTools(env?: Record<string, string | undefined>): void;
|
|
16
|
+
export declare function initializeEmbeddingProvider(provider: EmbeddingProvider): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=tool-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-validation.d.ts","sourceRoot":"","sources":["../../mcp-server/tool-validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,eAAO,MAAM,aAAa,gGAMhB,CAAC;AAEX,eAAO,MAAM,WAAW,iDAAkD,CAAC;AAE3E,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,eAAe,8BAA8B,CAAC;AAE3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAO3D;AAED,wBAAgB,uBAAuB,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAIzE;AAED,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,OAAO,CAGT;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,IAAI,CAM7F;AAED,wBAAsB,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5F"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export const VALID_SOURCES = [
|
|
2
|
+
'direct-observation',
|
|
3
|
+
'told-by-user',
|
|
4
|
+
'tool-result',
|
|
5
|
+
'inference',
|
|
6
|
+
'model-generated',
|
|
7
|
+
];
|
|
8
|
+
export const VALID_TYPES = ['episodic', 'semantic', 'procedural'];
|
|
9
|
+
export const MAX_MEMORY_CONTENT_LENGTH = 50_000;
|
|
10
|
+
export const ADMIN_TOOLS_ENV = 'AUDREY_ENABLE_ADMIN_TOOLS';
|
|
11
|
+
export function isNonEmptyText(value) {
|
|
12
|
+
return typeof value === 'string' && value.trim().length > 0;
|
|
13
|
+
}
|
|
14
|
+
export function validateMemoryContent(content) {
|
|
15
|
+
if (!isNonEmptyText(content)) {
|
|
16
|
+
throw new Error('content must be a non-empty string');
|
|
17
|
+
}
|
|
18
|
+
if (content.length > MAX_MEMORY_CONTENT_LENGTH) {
|
|
19
|
+
throw new Error(`content exceeds maximum length of ${MAX_MEMORY_CONTENT_LENGTH} characters`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function validateForgetSelection(id, query) {
|
|
23
|
+
if ((id && query) || (!id && !query)) {
|
|
24
|
+
throw new Error('Provide exactly one of id or query');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function isAdminToolsEnabled(env = process.env) {
|
|
28
|
+
const value = env[ADMIN_TOOLS_ENV]?.toLowerCase();
|
|
29
|
+
return value === '1' || value === 'true' || value === 'yes';
|
|
30
|
+
}
|
|
31
|
+
export function requireAdminTools(env = process.env) {
|
|
32
|
+
if (!isAdminToolsEnabled(env)) {
|
|
33
|
+
throw new Error(`Admin memory tools are disabled. Set ${ADMIN_TOOLS_ENV}=1 to enable export, import, and forget operations.`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export async function initializeEmbeddingProvider(provider) {
|
|
37
|
+
if (provider && typeof provider.ready === 'function') {
|
|
38
|
+
await provider.ready();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=tool-validation.js.map
|