@engramprotocol/mcp-server 0.10.5 → 0.10.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/README.md +1 -1
- package/dist/cli.js +0 -0
- package/dist/tools/boot.d.ts.map +1 -1
- package/dist/tools/boot.js +6 -3
- package/dist/tools/boot.js.map +1 -1
- package/dist/tools/decide.d.ts.map +1 -1
- package/dist/tools/decide.js +21 -13
- package/dist/tools/decide.js.map +1 -1
- package/dist/tools/entity.d.ts.map +1 -1
- package/dist/tools/entity.js +23 -17
- package/dist/tools/entity.js.map +1 -1
- package/dist/tools/get.d.ts.map +1 -1
- package/dist/tools/get.js +5 -4
- package/dist/tools/get.js.map +1 -1
- package/dist/tools/list.d.ts.map +1 -1
- package/dist/tools/list.js +16 -14
- package/dist/tools/list.js.map +1 -1
- package/dist/tools/note.d.ts.map +1 -1
- package/dist/tools/note.js +36 -17
- package/dist/tools/note.js.map +1 -1
- package/dist/tools/projects.d.ts.map +1 -1
- package/dist/tools/projects.js +30 -28
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/recall.d.ts.map +1 -1
- package/dist/tools/recall.js +8 -7
- package/dist/tools/recall.js.map +1 -1
- package/dist/tools/set-status.d.ts.map +1 -1
- package/dist/tools/set-status.js +13 -11
- package/dist/tools/set-status.js.map +1 -1
- package/dist/tools/show.d.ts +1 -1
- package/dist/tools/show.d.ts.map +1 -1
- package/dist/tools/show.js +9 -7
- package/dist/tools/show.js.map +1 -1
- package/dist/tools/stats.d.ts.map +1 -1
- package/dist/tools/stats.js +4 -3
- package/dist/tools/stats.js.map +1 -1
- package/dist/tools/track-task.d.ts.map +1 -1
- package/dist/tools/track-task.js +20 -13
- package/dist/tools/track-task.js.map +1 -1
- package/dist/tools/update.d.ts.map +1 -1
- package/dist/tools/update.js +16 -13
- package/dist/tools/update.js.map +1 -1
- package/package.json +8 -8
- package/templates/hooks/session_start_boot.sh +0 -0
- package/templates/hooks/user_prompt_submit_reminder.sh +0 -0
package/README.md
CHANGED
|
@@ -57,7 +57,7 @@ Two bash hooks land in `~/.eml/hooks/`:
|
|
|
57
57
|
|
|
58
58
|
Both hooks log to `~/.eml/logs/<event>-YYYY-MM-DD.log` (self-rotating per day) and carry a `# managed-by: engramprotocol-setup` marker line that lets `setup update` / `setup uninstall` identify which files they own.
|
|
59
59
|
|
|
60
|
-
## Tools (v0.10.
|
|
60
|
+
## Tools (v0.10.6)
|
|
61
61
|
|
|
62
62
|
All tools have an `eml_` prefix. Total: **17 tools**.
|
|
63
63
|
|
package/dist/cli.js
CHANGED
|
File without changes
|
package/dist/tools/boot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/tools/boot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/tools/boot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAmB1E"}
|
package/dist/tools/boot.js
CHANGED
|
@@ -6,10 +6,13 @@ const _helpers_1 = require("./_helpers");
|
|
|
6
6
|
function registerBootTool(server, http) {
|
|
7
7
|
server.registerTool('eml_boot', {
|
|
8
8
|
title: 'Boot Brain',
|
|
9
|
-
description: 'Manual brain-reload — returns the same markdown the
|
|
10
|
-
'delivers
|
|
9
|
+
description: 'Manual brain-reload — returns the same identity + rules markdown the ' +
|
|
10
|
+
'SessionStart-Hook already delivers at session start. Rarely needed (the hook ' +
|
|
11
|
+
'fires automatically); use only after a major mid-session brain mutation, a ' +
|
|
12
|
+
'suspected incomplete boot, or to inspect a different agent. For "refresh my ' +
|
|
13
|
+
'memory" use eml_recall / eml_show — boot is identity, not topic lookup.',
|
|
11
14
|
inputSchema: {
|
|
12
|
-
agent: zod_1.z.string().optional().describe('Agent ID
|
|
15
|
+
agent: zod_1.z.string().optional().describe('Agent ID. Omit for the brain default; set only to inspect a different agent.'),
|
|
13
16
|
},
|
|
14
17
|
}, async (args) => (0, _helpers_1.callTool)(() => http.post('/boot', { agent: args.agent })));
|
|
15
18
|
}
|
package/dist/tools/boot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.js","sourceRoot":"","sources":["../../src/tools/boot.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"boot.js","sourceRoot":"","sources":["../../src/tools/boot.ts"],"names":[],"mappings":";;AAKA,4CAmBC;AAxBD,6BAAuB;AAGvB,yCAAqC;AAErC,SAAgB,gBAAgB,CAAC,MAAiB,EAAE,IAAgB;IAClE,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,uEAAuE;YACvE,+EAA+E;YAC/E,6EAA6E;YAC7E,8EAA8E;YAC9E,yEAAyE;QAC3E,WAAW,EAAE;YACX,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnC,8EAA8E,CAC/E;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAC1E,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/tools/decide.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAOhD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/tools/decide.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAOhD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAkE5E"}
|
package/dist/tools/decide.js
CHANGED
|
@@ -18,20 +18,28 @@ const STATUSES = ['planned', 'active', 'superseded', 'invalidated', 'expired', '
|
|
|
18
18
|
function registerDecideTool(server, http) {
|
|
19
19
|
server.registerTool('eml_decide', {
|
|
20
20
|
title: 'Record Decision',
|
|
21
|
-
description: 'Records a deliberate,
|
|
22
|
-
'
|
|
23
|
-
'
|
|
21
|
+
description: 'Records a deliberate choice with rationale ("we chose X because Y, rejected Z") — ' +
|
|
22
|
+
'strategic, architectural, or convention-level decisions worth keeping past this ' +
|
|
23
|
+
'session, not tactical micro-choices.\n\n' +
|
|
24
|
+
'NOT a decision: current state ("v0.10 deployed") → eml_set_status · a convention ' +
|
|
25
|
+
'to follow ("always do X") → eml_note(kind=rule) · an open action → eml_track_task · ' +
|
|
26
|
+
'speculation → skip. If an active decision on the topic exists, supersede it via ' +
|
|
27
|
+
'eml_update instead of duplicating.',
|
|
24
28
|
inputSchema: {
|
|
25
|
-
content: zod_1.z.string().describe('The decision
|
|
26
|
-
scope: zod_1.z.string().describe('
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
content: zod_1.z.string().describe('The decision (1-3 sentences) — lead with the choice.'),
|
|
30
|
+
scope: zod_1.z.string().describe('Narrowest true scope: project.<id> (usual) | entity.<id> | agent.<id> | ' +
|
|
31
|
+
'user.<id> | global.'),
|
|
32
|
+
subject: zod_1.z.string().optional().describe('Kebab-case recall anchor; reuse across superseding decisions for one lineage.'),
|
|
33
|
+
decision_type: zod_1.z.enum(DECISION_TYPES).optional().describe('strategic = market/positioning · architectural = system-shape · ' +
|
|
34
|
+
'operational = workflow · roadmap = sequencing.'),
|
|
35
|
+
rationale: zod_1.z.string().optional().describe('Why — strongly encouraged; without it a decision degrades to a status snapshot.'),
|
|
36
|
+
alternatives: zod_1.z.array(zod_1.z.string()).optional().describe('Rejected alternatives, each a short phrase.'),
|
|
37
|
+
expires_at: zod_1.z.string().optional().describe('ISO date — hard expiry, obsolete from then. Only for known-expiry decisions.'),
|
|
38
|
+
review_due_at: zod_1.z.string().optional().describe('ISO date — soft review reminder (boot flags overdue). Default 60d.'),
|
|
39
|
+
significance: zod_1.z.enum(SIGNIFICANCE).optional().describe('critical = irreversible/safety · high = load-bearing · normal = default · ' +
|
|
40
|
+
'low/trivial = rare.'),
|
|
41
|
+
status: zod_1.z.enum(STATUSES).optional().describe('Default active. planned = not yet in effect · superseded = replaced (via ' +
|
|
42
|
+
'eml_update) · invalidated = void · resolved = closed.'),
|
|
35
43
|
},
|
|
36
44
|
}, async (args) => (0, _helpers_1.callTool)(() => {
|
|
37
45
|
const properties = {};
|
package/dist/tools/decide.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/tools/decide.ts"],"names":[],"mappings":";;AAkBA,
|
|
1
|
+
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/tools/decide.ts"],"names":[],"mappings":";;AAkBA,gDAkEC;AApFD,6BAAuB;AAGvB,yCAAqC;AAErC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,CAAU,CAAA;AACxF,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAA;AAC9E,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAU,CAAA;AAEnG;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAC,MAAiB,EAAE,IAAgB;IACpE,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,oFAAoF;YACpF,kFAAkF;YAClF,0CAA0C;YAC1C,mFAAmF;YACnF,sFAAsF;YACtF,kFAAkF;YAClF,oCAAoC;QACtC,WAAW,EAAE;YACX,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACpF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB,0EAA0E;gBAC1E,qBAAqB,CACtB;YACD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrC,+EAA+E,CAChF;YACD,aAAa,EAAE,OAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACvD,kEAAkE;gBAClE,gDAAgD,CACjD;YACD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACvC,iFAAiF,CAClF;YACD,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnD,6CAA6C,CAC9C;YACD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACxC,8EAA8E,CAC/E;YACD,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3C,oEAAoE,CACrE;YACD,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpD,4EAA4E;gBAC5E,qBAAqB,CACtB;YACD,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,2EAA2E;gBAC3E,uDAAuD,CACxD;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE;QAC5B,MAAM,UAAU,GAA4B,EAAE,CAAA;QAC9C,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACnF,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACvE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QAChF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAC1E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACnF,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/tools/entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKhD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/tools/entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKhD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAmB9E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CA2BlF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAqBlF"}
|
package/dist/tools/entity.js
CHANGED
|
@@ -14,38 +14,44 @@ const ENTITY_KINDS = ['person', 'org', 'asset', 'subject'];
|
|
|
14
14
|
function registerEntitiesTool(server, http) {
|
|
15
15
|
server.registerTool('eml_entities', {
|
|
16
16
|
title: 'List Entities',
|
|
17
|
-
description: 'Lists
|
|
18
|
-
'
|
|
19
|
-
'
|
|
17
|
+
description: 'Lists registered entities (external persons / orgs / assets / subjects), ' +
|
|
18
|
+
'optionally filtered by kind. Use to check an entity exists before creating an ' +
|
|
19
|
+
'entity-scoped engram. For one entity\'s state use eml_show(entity.<id>); for ' +
|
|
20
|
+
'fuzzy search use eml_recall.',
|
|
20
21
|
inputSchema: {
|
|
21
|
-
kind: zod_1.z.enum(ENTITY_KINDS).optional().describe('
|
|
22
|
+
kind: zod_1.z.enum(ENTITY_KINDS).optional().describe('person = individual · org = company/institution · asset = system/repo/domain · ' +
|
|
23
|
+
'subject = topic/concept (rare). Default: all.'),
|
|
22
24
|
},
|
|
23
25
|
}, async (args) => (0, _helpers_1.callTool)(() => http.get('/entities', args.kind ? { kind: args.kind } : undefined)));
|
|
24
26
|
}
|
|
25
27
|
function registerEntityCreateTool(server, http) {
|
|
26
28
|
server.registerTool('eml_entity_create', {
|
|
27
29
|
title: 'Create Entity',
|
|
28
|
-
description: 'Registers an entity (
|
|
29
|
-
'
|
|
30
|
-
'
|
|
31
|
-
'
|
|
30
|
+
description: 'Registers an external entity (person / org / asset / subject). Prerequisite ' +
|
|
31
|
+
'for any engram with scope=entity.<id> — the scope-existence check rejects ' +
|
|
32
|
+
'writes against unknown entities. For external parties, NOT internal projects ' +
|
|
33
|
+
'(→ eml_project_create). Check eml_entities first to avoid duplicates.',
|
|
32
34
|
inputSchema: {
|
|
33
|
-
id: zod_1.z.string().describe('Slug-style ID, e.g. "
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
id: zod_1.z.string().describe('Slug-style ID, kebab-case (e.g. "anthropic", "stripe"). Used as entity.<id> ' +
|
|
36
|
+
'in scopes — pick something stable.'),
|
|
37
|
+
name: zod_1.z.string().describe('Human-readable display name.'),
|
|
38
|
+
kind: zod_1.z.enum(ENTITY_KINDS).describe('person = individual · org = company/institution · asset = system/repo/domain · ' +
|
|
39
|
+
'subject = topic/concept (rare).'),
|
|
40
|
+
description: zod_1.z.string().optional().describe('1-2 sentences: what this entity is, why it matters.'),
|
|
37
41
|
},
|
|
38
42
|
}, async (args) => (0, _helpers_1.callTool)(() => http.post('/entity', args)));
|
|
39
43
|
}
|
|
40
44
|
function registerEntityUpdateTool(server, http) {
|
|
41
45
|
server.registerTool('eml_entity_update', {
|
|
42
46
|
title: 'Update Entity',
|
|
43
|
-
description: '
|
|
47
|
+
description: 'Patches the entity REGISTRATION (name / kind / description) — not knowledge ' +
|
|
48
|
+
'about it. To record facts, write engrams with scope=entity.<id> (eml_decide, ' +
|
|
49
|
+
'eml_note, etc.).',
|
|
44
50
|
inputSchema: {
|
|
45
|
-
id: zod_1.z.string(),
|
|
46
|
-
name: zod_1.z.string().optional(),
|
|
47
|
-
kind: zod_1.z.enum(ENTITY_KINDS).optional(),
|
|
48
|
-
description: zod_1.z.string().optional(),
|
|
51
|
+
id: zod_1.z.string().describe('Existing entity slug.'),
|
|
52
|
+
name: zod_1.z.string().optional().describe('New display name.'),
|
|
53
|
+
kind: zod_1.z.enum(ENTITY_KINDS).optional().describe('Re-categorize (rare).'),
|
|
54
|
+
description: zod_1.z.string().optional().describe('Refined 1-2 sentence orientation.'),
|
|
49
55
|
},
|
|
50
56
|
}, async (args) => (0, _helpers_1.callTool)(() => {
|
|
51
57
|
const { id, ...patch } = args;
|
package/dist/tools/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/tools/entity.ts"],"names":[],"mappings":";;AAYA,
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/tools/entity.ts"],"names":[],"mappings":";;AAYA,oDAmBC;AAED,4DA2BC;AAED,4DAqBC;AAnFD,6BAAuB;AAGvB,yCAAqC;AAErC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAU,CAAA;AAEnE;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,MAAiB,EAAE,IAAgB;IACtE,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,2EAA2E;YAC3E,gFAAgF;YAChF,+EAA+E;YAC/E,8BAA8B;QAChC,WAAW,EAAE;YACX,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5C,iFAAiF;gBACjF,+CAA+C,CAChD;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CACnG,CAAA;AACH,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAiB,EAAE,IAAgB;IAC1E,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,8EAA8E;YAC9E,4EAA4E;YAC5E,+EAA+E;YAC/E,uEAAuE;QACzE,WAAW,EAAE;YACX,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACrB,8EAA8E;gBAC9E,oCAAoC,CACrC;YACD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YACzD,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CACjC,iFAAiF;gBACjF,iCAAiC,CAClC;YACD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACzC,qDAAqD,CACtD;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAC3D,CAAA;AACH,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAiB,EAAE,IAAgB;IAC1E,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,8EAA8E;YAC9E,+EAA+E;YAC/E,kBAAkB;QACpB,WAAW,EAAE;YACX,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAChD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACzD,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACvE,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SACjF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAA;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
|
package/dist/tools/get.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/tools/get.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/tools/get.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAsBzE"}
|
package/dist/tools/get.js
CHANGED
|
@@ -6,11 +6,12 @@ const _helpers_1 = require("./_helpers");
|
|
|
6
6
|
function registerGetTool(server, http) {
|
|
7
7
|
server.registerTool('eml_get', {
|
|
8
8
|
title: 'Get Engram',
|
|
9
|
-
description: '
|
|
10
|
-
'eml_recall
|
|
9
|
+
description: 'Fetches one engram by ID with full content + properties — the drill-down after ' +
|
|
10
|
+
'an ID surfaces in eml_recall / eml_list / eml_show. Not a search: if you don\'t ' +
|
|
11
|
+
'have the ID, use eml_recall.',
|
|
11
12
|
inputSchema: {
|
|
12
|
-
id: zod_1.z.string().describe('Engram
|
|
13
|
-
with_relations: zod_1.z.boolean().optional().describe('Default true.'),
|
|
13
|
+
id: zod_1.z.string().describe('Engram UUID, from a recall / list / show result.'),
|
|
14
|
+
with_relations: zod_1.z.boolean().optional().describe('Default false — pass true to include the engram\'s relations (graph edges).'),
|
|
14
15
|
},
|
|
15
16
|
}, async (args) => (0, _helpers_1.callTool)(() => {
|
|
16
17
|
const params = {};
|
package/dist/tools/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/tools/get.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/tools/get.ts"],"names":[],"mappings":";;AAKA,0CAsBC;AA3BD,6BAAuB;AAGvB,yCAAqC;AAErC,SAAgB,eAAe,CAAC,MAAiB,EAAE,IAAgB;IACjE,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,iFAAiF;YACjF,kFAAkF;YAClF,8BAA8B;QAChC,WAAW,EAAE;YACX,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAC3E,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC7C,6EAA6E,CAC9E;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAgD,EAAE,CAAA;QAC9D,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1F,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IAC/C,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
|
package/dist/tools/list.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAQhD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAQhD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAoD1E"}
|
package/dist/tools/list.js
CHANGED
|
@@ -10,21 +10,23 @@ const ENGRAM_TYPES = [
|
|
|
10
10
|
function registerListTool(server, http) {
|
|
11
11
|
server.registerTool('eml_list', {
|
|
12
12
|
title: 'List Engrams',
|
|
13
|
-
description: '
|
|
14
|
-
'
|
|
15
|
-
'(superseded/resolved)
|
|
16
|
-
'eml_recall; for a
|
|
13
|
+
description: 'Lists engrams by structured filters (type / scope / status / significance), with ' +
|
|
14
|
+
'optional FTS5 `search` to narrow further. The way to reach non-active engrams ' +
|
|
15
|
+
'(superseded / resolved / expired) and to run audit queries. For fuzzy topic ' +
|
|
16
|
+
'search use eml_recall; for a one-scope dashboard use eml_show; for counts use ' +
|
|
17
|
+
'eml_stats.',
|
|
17
18
|
inputSchema: {
|
|
18
|
-
type: zod_1.z.enum(ENGRAM_TYPES).optional(),
|
|
19
|
-
scope: zod_1.z.string().optional(),
|
|
20
|
-
subject: zod_1.z.string().optional(),
|
|
21
|
-
status: zod_1.z.enum(['planned', 'active', 'superseded', 'invalidated', 'expired', 'resolved']).optional(),
|
|
22
|
-
significance: zod_1.z.enum(['critical', 'high', 'normal', 'low', 'trivial']).optional(),
|
|
23
|
-
search: zod_1.z.string().optional().describe('FTS5
|
|
24
|
-
order_by: zod_1.z.enum(['created_at', 'updated_at', 'significance', 'score']).optional()
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
type: zod_1.z.enum(ENGRAM_TYPES).optional().describe('Engram type filter (task, decision, status, rule, event, …). Omit for all.'),
|
|
20
|
+
scope: zod_1.z.string().optional().describe('global | project.<id> | entity.<id> | agent.<id> | user.<id>. Omit for all.'),
|
|
21
|
+
subject: zod_1.z.string().optional().describe('Exact subject slug — traces one anchor across status changes.'),
|
|
22
|
+
status: zod_1.z.enum(['planned', 'active', 'superseded', 'invalidated', 'expired', 'resolved']).optional().describe('active (the usual) · superseded/invalidated/expired for audits.'),
|
|
23
|
+
significance: zod_1.z.enum(['critical', 'high', 'normal', 'low', 'trivial']).optional().describe('Filter by importance tier.'),
|
|
24
|
+
search: zod_1.z.string().optional().describe('FTS5 over content/subject (2-4 plain words); combine with filters.'),
|
|
25
|
+
order_by: zod_1.z.enum(['created_at', 'updated_at', 'significance', 'score']).optional().describe('created_at (newest) · updated_at (last changed) · significance · ' +
|
|
26
|
+
'score (relevance, only with search).'),
|
|
27
|
+
limit: zod_1.z.number().int().positive().max(200).optional().describe('Page size, default ~20, max 200.'),
|
|
28
|
+
offset: zod_1.z.number().int().nonnegative().optional().describe('Pagination offset.'),
|
|
29
|
+
has_relations: zod_1.z.boolean().optional().describe('true = only engrams with ≥1 relation (find hub-engrams).'),
|
|
28
30
|
},
|
|
29
31
|
}, async (args) => (0, _helpers_1.callTool)(() => {
|
|
30
32
|
const params = {};
|
package/dist/tools/list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":";;AAUA,4CAoDC;AA9DD,6BAAuB;AAGvB,yCAAqC;AAErC,MAAM,YAAY,GAAG;IACnB,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS;IAClE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW;CACpE,CAAA;AAEV,SAAgB,gBAAgB,CAAC,MAAiB,EAAE,IAAgB;IAClE,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,mFAAmF;YACnF,gFAAgF;YAChF,8EAA8E;YAC9E,gFAAgF;YAChF,YAAY;QACd,WAAW,EAAE;YACX,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5C,4EAA4E,CAC7E;YACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnC,6EAA6E,CAC9E;YACD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrC,+DAA+D,CAChE;YACD,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3G,iEAAiE,CAClE;YACD,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACxF,4BAA4B,CAC7B;YACD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpC,oEAAoE,CACrE;YACD,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACzF,mEAAmE;gBACnE,sCAAsC,CACvC;YACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC7D,kCAAkC,CACnC;YACD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAChF,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5C,0DAA0D,CAC3D;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAgD,EAAE,CAAA;QAC9D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,SAAS;gBAAE,SAAQ;YAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAoB,CAAA;QACvE,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
|
package/dist/tools/note.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../src/tools/note.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAOhD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../src/tools/note.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAOhD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAqE1E"}
|
package/dist/tools/note.js
CHANGED
|
@@ -20,24 +20,43 @@ const STATUSES = ['planned', 'active', 'superseded', 'invalidated', 'expired', '
|
|
|
20
20
|
function registerNoteTool(server, http) {
|
|
21
21
|
server.registerTool('eml_note', {
|
|
22
22
|
title: 'Write Note',
|
|
23
|
-
description: '
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'
|
|
23
|
+
description: 'Writes one of five secondary engram kinds (rule / profile / event / reference / ' +
|
|
24
|
+
'log). Use ONLY after ruling out decision (eml_decide), status (eml_set_status), ' +
|
|
25
|
+
'and task (eml_track_task) — see the `kind` picker.\n\n' +
|
|
26
|
+
'Common confusion — rule vs decision: a rule is something to FOLLOW ("always do ' +
|
|
27
|
+
'X"); a decision is a CHOICE made ("we chose X because Y").\n\n' +
|
|
28
|
+
'WHEN A MATCHING ACTIVE ENGRAM EXISTS:\n' +
|
|
29
|
+
'- Same thing, improved → refine it via eml_update (patch content).\n' +
|
|
30
|
+
'- Now wrong or replaced as the canonical version → supersede via ' +
|
|
31
|
+
'eml_update(status=superseded).\n' +
|
|
32
|
+
'- A distinct but still-valid related artifact (e.g. a later research update) → write ' +
|
|
33
|
+
'a NEW engram, keep the old one active, and reuse its subject to thread the series ' +
|
|
34
|
+
'(eml_list by subject retrieves the whole thread).\n' +
|
|
35
|
+
'Events are immutable — never superseded.',
|
|
27
36
|
inputSchema: {
|
|
28
|
-
kind: zod_1.z.enum(NOTE_KINDS).describe('Pick in order:\n' +
|
|
29
|
-
'1. Session
|
|
30
|
-
'2. Timestamped one-time occurrence (deploy, test, incident
|
|
31
|
-
'
|
|
32
|
-
'
|
|
33
|
-
'
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
'
|
|
37
|
+
kind: zod_1.z.enum(NOTE_KINDS).describe('Pick in order, first match wins:\n' +
|
|
38
|
+
'1. Session recap (max 1/session)? → log. Else never log.\n' +
|
|
39
|
+
'2. Timestamped one-time occurrence (deploy, test, incident)? → event ' +
|
|
40
|
+
'(REQUIRES occurred_at + change_type).\n' +
|
|
41
|
+
'3. A pointer to an external resource (URL, dashboard, doc) OR a standing knowledge ' +
|
|
42
|
+
'artifact — research note/synthesis, living tracker, working thesis/brief? → reference. ' +
|
|
43
|
+
'(reference = material to consult or a position to validate; a locked choice with ' +
|
|
44
|
+
'rationale is a decision.)\n' +
|
|
45
|
+
'4. Identity facet of an agent/user/entity? → profile (sparingly).\n' +
|
|
46
|
+
'5. Behavior convention you derived (user corrected/validated you, or a recurring ' +
|
|
47
|
+
'pattern)? → rule (REQUIRES enforcement: mandatory|recommended|advisory).'),
|
|
48
|
+
content: zod_1.z.string().describe('Per kind — rule: the rule then why · profile: short fact · event: what happened · ' +
|
|
49
|
+
'reference: title + purpose · log: session recap.'),
|
|
50
|
+
scope: zod_1.z.string().describe('Narrowest true scope: agent.<id> (self-rules/profile) · user.<id> · project.<id> · ' +
|
|
51
|
+
'entity.<id> · global (cross-cutting only).'),
|
|
52
|
+
subject: zod_1.z.string().optional().describe('Kebab-case recall anchor (rule: name the trigger; profile: the facet). ' +
|
|
53
|
+
'Reuse the same subject to thread a series (e.g. successive research updates).'),
|
|
54
|
+
status: zod_1.z.enum(STATUSES).optional().describe('Default active. Supersede rules via eml_update when refining.'),
|
|
55
|
+
significance: zod_1.z.enum(SIGNIFICANCE).optional().describe('critical = safety · high = load-bearing · normal = default · ' +
|
|
56
|
+
'low/trivial = reconsider storing.'),
|
|
57
|
+
properties: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional().describe('event REQUIRES occurred_at (ISO) + change_type (deployed|started|completed|failed|' +
|
|
58
|
+
'paused|resumed|created|deleted) · rule REQUIRES enforcement ' +
|
|
59
|
+
'(mandatory|recommended|advisory) · reference: optional url · profile/log: free-form.'),
|
|
41
60
|
},
|
|
42
61
|
}, async (args) => (0, _helpers_1.callTool)(() => http.post('/context', {
|
|
43
62
|
content: args.content,
|
package/dist/tools/note.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note.js","sourceRoot":"","sources":["../../src/tools/note.ts"],"names":[],"mappings":";;AAoBA,
|
|
1
|
+
{"version":3,"file":"note.js","sourceRoot":"","sources":["../../src/tools/note.ts"],"names":[],"mappings":";;AAoBA,4CAqEC;AAzFD,6BAAuB;AAGvB,yCAAqC;AAErC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAU,CAAA;AAC5E,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAA;AAC9E,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAU,CAAA;AAEnG;;;;;;;;;;GAUG;AACH,SAAgB,gBAAgB,CAAC,MAAiB,EAAE,IAAgB;IAClE,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,kFAAkF;YAClF,kFAAkF;YAClF,wDAAwD;YACxD,iFAAiF;YACjF,gEAAgE;YAChE,yCAAyC;YACzC,sEAAsE;YACtE,mEAAmE;YACnE,kCAAkC;YAClC,uFAAuF;YACvF,oFAAoF;YACpF,qDAAqD;YACrD,0CAA0C;QAC5C,WAAW,EAAE;YACX,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC/B,oCAAoC;gBACpC,4DAA4D;gBAC5D,uEAAuE;gBACvE,yCAAyC;gBACzC,qFAAqF;gBACrF,yFAAyF;gBACzF,mFAAmF;gBACnF,6BAA6B;gBAC7B,qEAAqE;gBACrE,mFAAmF;gBACnF,0EAA0E,CAC3E;YACD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAC1B,oFAAoF;gBACpF,kDAAkD,CACnD;YACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB,qFAAqF;gBACrF,4CAA4C,CAC7C;YACD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrC,yEAAyE;gBACzE,+EAA+E,CAChF;YACD,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,+DAA+D,CAChE;YACD,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpD,+DAA+D;gBAC/D,mCAAmC,CACpC;YACD,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC/D,oFAAoF;gBACpF,8DAA8D;gBAC9D,sFAAsF,CACvF;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;QACnD,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKhD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKhD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAiB9E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CA6BnF;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CA6BnF"}
|
package/dist/tools/projects.js
CHANGED
|
@@ -12,50 +12,52 @@ const PROJECT_STATUS = ['active', 'paused', 'archived'];
|
|
|
12
12
|
function registerProjectsTool(server, http) {
|
|
13
13
|
server.registerTool('eml_projects', {
|
|
14
14
|
title: 'List Projects',
|
|
15
|
-
description: 'Lists
|
|
16
|
-
'
|
|
15
|
+
description: 'Lists registered projects, optionally filtered by status. Use to check a project ' +
|
|
16
|
+
'exists before creating a project-scoped engram. For one project\'s state use ' +
|
|
17
|
+
'eml_show(project.<id>); for all its engrams use eml_list(scope=project.<id>).',
|
|
17
18
|
inputSchema: {
|
|
18
|
-
status: zod_1.z.enum(PROJECT_STATUS).optional().describe('Default: all.'),
|
|
19
|
+
status: zod_1.z.enum(PROJECT_STATUS).optional().describe('active = being worked on · paused = on hold · archived = done/dropped. Default: all.'),
|
|
19
20
|
},
|
|
20
21
|
}, async (args) => (0, _helpers_1.callTool)(() => http.get('/projects', args.status ? { status: args.status } : undefined)));
|
|
21
22
|
}
|
|
22
23
|
function registerProjectCreateTool(server, http) {
|
|
23
24
|
server.registerTool('eml_project_create', {
|
|
24
25
|
title: 'Create Project',
|
|
25
|
-
description: 'Registers a new project.
|
|
26
|
-
'
|
|
27
|
-
'
|
|
26
|
+
description: 'Registers a new project. Prerequisite for any engram with scope=project.<id> — ' +
|
|
27
|
+
'the scope-existence check rejects writes against unknown projects. For internal ' +
|
|
28
|
+
'work/codebases, NOT external parties (→ eml_entity_create). Check eml_projects ' +
|
|
29
|
+
'first to avoid duplicates.',
|
|
28
30
|
inputSchema: {
|
|
29
|
-
id: zod_1.z.string().describe('Slug-style ID, e.g. "eml"
|
|
30
|
-
name: zod_1.z.string(),
|
|
31
|
+
id: zod_1.z.string().describe('Slug-style ID, kebab-case (e.g. "eml", "customer-emails"). Used as project.<id> in scopes.'),
|
|
32
|
+
name: zod_1.z.string().describe('Human-readable display name.'),
|
|
31
33
|
status: zod_1.z.enum(PROJECT_STATUS).optional().describe('Default "active".'),
|
|
32
|
-
goal: zod_1.z.string().optional(),
|
|
33
|
-
description: zod_1.z.string().optional(),
|
|
34
|
-
owner: zod_1.z.string().optional().describe('User
|
|
35
|
-
parent_project: zod_1.z.string().optional().describe('Parent project ID.'),
|
|
36
|
-
tags: zod_1.z.array(zod_1.z.string()).optional(),
|
|
37
|
-
started_at: zod_1.z.string().optional().describe('ISO date.'),
|
|
38
|
-
ended_at: zod_1.z.string().optional().describe('ISO date.'),
|
|
34
|
+
goal: zod_1.z.string().optional().describe('1-line "what does done look like" — anchors future decisions.'),
|
|
35
|
+
description: zod_1.z.string().optional().describe('1-2 sentences of context.'),
|
|
36
|
+
owner: zod_1.z.string().optional().describe('User or agent ID driving it.'),
|
|
37
|
+
parent_project: zod_1.z.string().optional().describe('Parent project ID for sub-projects.'),
|
|
38
|
+
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Free-form categorization tags.'),
|
|
39
|
+
started_at: zod_1.z.string().optional().describe('ISO date, kickoff.'),
|
|
40
|
+
ended_at: zod_1.z.string().optional().describe('ISO date, set when archiving.'),
|
|
39
41
|
},
|
|
40
42
|
}, async (args) => (0, _helpers_1.callTool)(() => http.post('/project', args)));
|
|
41
43
|
}
|
|
42
44
|
function registerProjectUpdateTool(server, http) {
|
|
43
45
|
server.registerTool('eml_project_update', {
|
|
44
46
|
title: 'Update Project',
|
|
45
|
-
description: '
|
|
46
|
-
'
|
|
47
|
-
'
|
|
47
|
+
description: 'Patches the project REGISTRATION (status / goal / owner / etc.) — the container, ' +
|
|
48
|
+
'not its content. When status changes, also write an eml_set_status on ' +
|
|
49
|
+
'scope=project.<id> to capture WHY.',
|
|
48
50
|
inputSchema: {
|
|
49
|
-
id: zod_1.z.string(),
|
|
50
|
-
name: zod_1.z.string().optional(),
|
|
51
|
-
status: zod_1.z.enum(PROJECT_STATUS).optional(),
|
|
52
|
-
goal: zod_1.z.string().optional(),
|
|
53
|
-
description: zod_1.z.string().optional(),
|
|
54
|
-
owner: zod_1.z.string().optional(),
|
|
55
|
-
parent_project: zod_1.z.string().nullable().optional(),
|
|
56
|
-
tags: zod_1.z.array(zod_1.z.string()).optional(),
|
|
57
|
-
started_at: zod_1.z.string().optional(),
|
|
58
|
-
ended_at: zod_1.z.string().optional(),
|
|
51
|
+
id: zod_1.z.string().describe('Existing project slug.'),
|
|
52
|
+
name: zod_1.z.string().optional().describe('New display name.'),
|
|
53
|
+
status: zod_1.z.enum(PROJECT_STATUS).optional().describe('active | paused | archived.'),
|
|
54
|
+
goal: zod_1.z.string().optional().describe('Refined goal statement.'),
|
|
55
|
+
description: zod_1.z.string().optional().describe('Updated context.'),
|
|
56
|
+
owner: zod_1.z.string().optional().describe('New owner.'),
|
|
57
|
+
parent_project: zod_1.z.string().nullable().optional().describe('null to detach, ID to re-parent.'),
|
|
58
|
+
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Replaces tag list (no merge).'),
|
|
59
|
+
started_at: zod_1.z.string().optional().describe('ISO date.'),
|
|
60
|
+
ended_at: zod_1.z.string().optional().describe('ISO date, set when archiving.'),
|
|
59
61
|
},
|
|
60
62
|
}, async (args) => (0, _helpers_1.callTool)(() => {
|
|
61
63
|
const { id, ...patch } = args;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/tools/recall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/tools/recall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAuB5E"}
|
package/dist/tools/recall.js
CHANGED
|
@@ -6,14 +6,15 @@ const _helpers_1 = require("./_helpers");
|
|
|
6
6
|
function registerRecallTool(server, http) {
|
|
7
7
|
server.registerTool('eml_recall', {
|
|
8
8
|
title: 'Recall Knowledge',
|
|
9
|
-
description: '
|
|
10
|
-
'
|
|
11
|
-
'near-ties. Returns compact previews —
|
|
12
|
-
'
|
|
13
|
-
'
|
|
9
|
+
description: 'Keyword/relevance search across active + planned engrams (FTS5 full-text, not ' +
|
|
10
|
+
'embeddings) — "what do I know about X?". Ranked by text relevance (bm25); ' +
|
|
11
|
+
'significance breaks near-ties. Returns compact previews — drill into a hit via ' +
|
|
12
|
+
'eml_get <id> for the full body.\n\n' +
|
|
13
|
+
'For filtered enumeration by type/scope/status (incl. superseded/historical) use ' +
|
|
14
|
+
'eml_list; for a whole-scope dashboard use eml_show; for a known ID use eml_get.',
|
|
14
15
|
inputSchema: {
|
|
15
|
-
query: zod_1.z.string().describe('
|
|
16
|
-
limit: zod_1.z.number().int().positive().max(50).optional().describe('Default 10.'),
|
|
16
|
+
query: zod_1.z.string().describe('Plaintext, FTS5-tokenised. Domain words (2-4) beat full sentences.'),
|
|
17
|
+
limit: zod_1.z.number().int().positive().max(50).optional().describe('Default 10; raise to 20-30 only for a broad sweep.'),
|
|
17
18
|
},
|
|
18
19
|
}, async (args) => (0, _helpers_1.callTool)(() => http.post('/recall', args)));
|
|
19
20
|
}
|
package/dist/tools/recall.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/tools/recall.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/tools/recall.ts"],"names":[],"mappings":";;AAKA,gDAuBC;AA5BD,6BAAuB;AAGvB,yCAAqC;AAErC,SAAgB,kBAAkB,CAAC,MAAiB,EAAE,IAAgB;IACpE,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,gFAAgF;YAChF,4EAA4E;YAC5E,iFAAiF;YACjF,qCAAqC;YACrC,kFAAkF;YAClF,iFAAiF;QACnF,WAAW,EAAE;YACX,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB,oEAAoE,CACrE;YACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5D,oDAAoD,CACrD;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAC3D,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-status.d.ts","sourceRoot":"","sources":["../../src/tools/set-status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKhD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"set-status.d.ts","sourceRoot":"","sources":["../../src/tools/set-status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKhD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAgD/E"}
|
package/dist/tools/set-status.js
CHANGED
|
@@ -16,18 +16,20 @@ const SIGNIFICANCE = ['critical', 'high', 'normal', 'low', 'trivial'];
|
|
|
16
16
|
function registerSetStatusTool(server, http) {
|
|
17
17
|
server.registerTool('eml_set_status', {
|
|
18
18
|
title: 'Set Status',
|
|
19
|
-
description: 'Sets the current
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
19
|
+
description: 'Sets the current state of a scope. AUTO-SUPERSEDES the prior active status in the ' +
|
|
20
|
+
'same scope — exactly one active status per scope, no manual cleanup.\n\n' +
|
|
21
|
+
'NOT a status: open action → eml_track_task · deliberate choice with rationale → ' +
|
|
22
|
+
'eml_decide · one-off event/incident (deploy, outage) → eml_note(kind=event) · ' +
|
|
23
|
+
'convention → eml_note(kind=rule).',
|
|
23
24
|
inputSchema: {
|
|
24
|
-
content: zod_1.z.string().describe('Narrative
|
|
25
|
-
scope: zod_1.z.string().describe('
|
|
26
|
-
state: zod_1.z.string().describe('Short phrase
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
content: zod_1.z.string().describe('Narrative (1-3 sentences): what the state means concretely, what changed.'),
|
|
26
|
+
scope: zod_1.z.string().describe('Narrowest true scope; project.<id> is the usual for project state.'),
|
|
27
|
+
state: zod_1.z.string().describe('Short canonical phrase, NOT a sentence ("running", "v0.10.4 deployed", ' +
|
|
28
|
+
'"blocked on TLS cert"). The headline eml_show displays.'),
|
|
29
|
+
subject: zod_1.z.string().optional().describe('Reuse the same subject across successive statuses to trace one scope\'s state-history.'),
|
|
30
|
+
next_step: zod_1.z.string().optional().describe('What\'s planned next, one phrase.'),
|
|
31
|
+
blockers: zod_1.z.array(zod_1.z.string()).optional().describe('Each blocker one phrase; empty = unblocked.'),
|
|
32
|
+
significance: zod_1.z.enum(SIGNIFICANCE).optional().describe('critical = production-impacting · high = milestone · normal = routine.'),
|
|
31
33
|
},
|
|
32
34
|
}, async (args) => (0, _helpers_1.callTool)(() => {
|
|
33
35
|
const properties = { state: args.state };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-status.js","sourceRoot":"","sources":["../../src/tools/set-status.ts"],"names":[],"mappings":";;AAgBA,
|
|
1
|
+
{"version":3,"file":"set-status.js","sourceRoot":"","sources":["../../src/tools/set-status.ts"],"names":[],"mappings":";;AAgBA,sDAgDC;AAhED,6BAAuB;AAGvB,yCAAqC;AAErC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAA;AAE9E;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,MAAiB,EAAE,IAAgB;IACvE,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,oFAAoF;YACpF,0EAA0E;YAC1E,kFAAkF;YAClF,gFAAgF;YAChF,mCAAmC;QACrC,WAAW,EAAE;YACX,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAC1B,2EAA2E,CAC5E;YACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB,oEAAoE,CACrE;YACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB,yEAAyE;gBACzE,yDAAyD,CAC1D;YACD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrC,wFAAwF,CACzF;YACD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC9E,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC/C,6CAA6C,CAC9C;YACD,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpD,wEAAwE,CACzE;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE;QAC5B,MAAM,UAAU,GAA4B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QACjE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACvE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU;SACX,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
|
package/dist/tools/show.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { HttpClient } from '../http-client';
|
|
|
5
5
|
*
|
|
6
6
|
* Works for `global`, `project.X`, `entity.X`, `agent.X`, `user.X`.
|
|
7
7
|
* Returns a curated snapshot: current_status, open_tasks, recent_decisions,
|
|
8
|
-
* recent_logs,
|
|
8
|
+
* recent_logs, rules.
|
|
9
9
|
*/
|
|
10
10
|
export declare function registerShowTool(server: McpServer, http: HttpClient): void;
|
|
11
11
|
//# sourceMappingURL=show.d.ts.map
|
package/dist/tools/show.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/tools/show.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/tools/show.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAqB1E"}
|
package/dist/tools/show.js
CHANGED
|
@@ -8,18 +8,20 @@ const _helpers_1 = require("./_helpers");
|
|
|
8
8
|
*
|
|
9
9
|
* Works for `global`, `project.X`, `entity.X`, `agent.X`, `user.X`.
|
|
10
10
|
* Returns a curated snapshot: current_status, open_tasks, recent_decisions,
|
|
11
|
-
* recent_logs,
|
|
11
|
+
* recent_logs, rules.
|
|
12
12
|
*/
|
|
13
13
|
function registerShowTool(server, http) {
|
|
14
14
|
server.registerTool('eml_show', {
|
|
15
15
|
title: 'Show BrainState for Scope',
|
|
16
|
-
description: 'Curated
|
|
17
|
-
'decisions/logs
|
|
18
|
-
'
|
|
19
|
-
'
|
|
20
|
-
'
|
|
16
|
+
description: 'Curated snapshot for one scope: active status + open tasks + recent ' +
|
|
17
|
+
'decisions/logs + active rules. The "where do we stand?" tool when you know the ' +
|
|
18
|
+
'exact scope. For fuzzy/cross-scope search use eml_recall; for filtered ' +
|
|
19
|
+
'enumeration use eml_list; for one engram use eml_get.\n\n' +
|
|
20
|
+
'Returns 5 sections: current_status, open_tasks (planned+active), recent_decisions, ' +
|
|
21
|
+
'recent_logs, rules (name-only). Relations are not included — fetch via ' +
|
|
22
|
+
'eml_get(with_relations).',
|
|
21
23
|
inputSchema: {
|
|
22
|
-
scope: zod_1.z.string().describe('global | project.<id> | entity.<id> | agent.<id> | user.<id
|
|
24
|
+
scope: zod_1.z.string().describe('global | project.<id> | entity.<id> | agent.<id> | user.<id>.'),
|
|
23
25
|
},
|
|
24
26
|
}, async (args) => (0, _helpers_1.callTool)(() => http.get('/brain-state', { scope: args.scope })));
|
|
25
27
|
}
|
package/dist/tools/show.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/tools/show.ts"],"names":[],"mappings":";;AAYA,
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/tools/show.ts"],"names":[],"mappings":";;AAYA,4CAqBC;AAjCD,6BAAuB;AAGvB,yCAAqC;AAErC;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,MAAiB,EAAE,IAAgB;IAClE,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,sEAAsE;YACtE,iFAAiF;YACjF,yEAAyE;YACzE,2DAA2D;YAC3D,qFAAqF;YACrF,yEAAyE;YACzE,0BAA0B;QAC5B,WAAW,EAAE;YACX,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB,+DAA+D,CAChE;SACF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAChF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAc3E"}
|
package/dist/tools/stats.js
CHANGED
|
@@ -12,9 +12,10 @@ const _helpers_1 = require("./_helpers");
|
|
|
12
12
|
function registerStatsTool(server, http) {
|
|
13
13
|
server.registerTool('eml_stats', {
|
|
14
14
|
title: 'Brain Stats',
|
|
15
|
-
description: 'Brain self-awareness: total engrams, counts per type
|
|
16
|
-
'
|
|
17
|
-
'
|
|
15
|
+
description: 'Brain self-awareness: total engrams, counts per type and per scope, plus ' +
|
|
16
|
+
'agent/project/user inventory. No filter — whole-brain snapshot, for audits, ' +
|
|
17
|
+
'migration verification, and spotting type-imbalance (e.g. log spam). For actual ' +
|
|
18
|
+
'engrams use eml_list; for one scope\'s state use eml_show.',
|
|
18
19
|
inputSchema: {},
|
|
19
20
|
}, async () => (0, _helpers_1.callTool)(() => http.get('/stats')));
|
|
20
21
|
}
|
package/dist/tools/stats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":";;AAWA,
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":";;AAWA,8CAcC;AAvBD,yCAAqC;AAErC;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAAiB,EAAE,IAAgB;IACnE,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,2EAA2E;YAC3E,8EAA8E;YAC9E,kFAAkF;YAClF,4DAA4D;QAC9D,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAC/C,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-task.d.ts","sourceRoot":"","sources":["../../src/tools/track-task.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAOhD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"track-task.d.ts","sourceRoot":"","sources":["../../src/tools/track-task.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAOhD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAmE/E"}
|
package/dist/tools/track-task.js
CHANGED
|
@@ -15,20 +15,27 @@ const TASK_STATUSES = ['planned', 'active', 'superseded', 'invalidated', 'expire
|
|
|
15
15
|
function registerTrackTaskTool(server, http) {
|
|
16
16
|
server.registerTool('eml_track_task', {
|
|
17
17
|
title: 'Track Task',
|
|
18
|
-
description: 'Plans
|
|
19
|
-
'
|
|
20
|
-
'
|
|
18
|
+
description: 'Plans or tracks an open action item with a lifecycle. Boot surfaces open_tasks ' +
|
|
19
|
+
'(planned + active), so the brain is the durable inbox.\n\n' +
|
|
20
|
+
'NOT a task: finished work → not a task (don\'t write it) · convention ("always do ' +
|
|
21
|
+
'X") → eml_note(kind=rule) · state snapshot → eml_set_status · speculation → wait ' +
|
|
22
|
+
'for commitment.\n\n' +
|
|
23
|
+
'Close the loop: when done → eml_update(status=resolved); abandoned → ' +
|
|
24
|
+
'eml_update(status=invalidated). Don\'t let ghost-active tasks pile up.',
|
|
21
25
|
inputSchema: {
|
|
22
|
-
content: zod_1.z.string().describe('What needs doing (1-3 sentences)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
content: zod_1.z.string().describe('What needs doing (1-3 sentences), action verb first; specific enough that ' +
|
|
27
|
+
'"done" is clear.'),
|
|
28
|
+
scope: zod_1.z.string().describe('Narrowest true scope: project.<id> for project work, entity.<id> for ' +
|
|
29
|
+
'person/customer follow-ups. global is rare.'),
|
|
30
|
+
subject: zod_1.z.string().optional().describe('Kebab-case anchor; group related tasks under one subject.'),
|
|
31
|
+
status: zod_1.z.enum(TASK_STATUSES).optional().describe('Default planned · active = in progress · resolved = done · invalidated = abandoned.'),
|
|
32
|
+
priority: zod_1.z.enum(TASK_PRIORITY).optional().describe('Execution urgency (≠ significance): urgent = blocks others · high = soon · ' +
|
|
33
|
+
'normal = default · low = nice-to-have.'),
|
|
34
|
+
due_date: zod_1.z.string().optional().describe('ISO date — only for a real external deadline.'),
|
|
35
|
+
assignee_id: zod_1.z.string().optional().describe('Agent ID; omit for unassigned (humans stay unassigned).'),
|
|
36
|
+
context: zod_1.z.string().optional().describe('Short why/how — helps when picking it up cold later.'),
|
|
37
|
+
blockers: zod_1.z.array(zod_1.z.string()).optional().describe('Each blocker one phrase; empty = unblocked.'),
|
|
38
|
+
significance: zod_1.z.enum(SIGNIFICANCE).optional().describe('Importance (≠ urgency): critical = breaks things if undone · normal = default.'),
|
|
32
39
|
},
|
|
33
40
|
}, async (args) => (0, _helpers_1.callTool)(() => {
|
|
34
41
|
const properties = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-task.js","sourceRoot":"","sources":["../../src/tools/track-task.ts"],"names":[],"mappings":";;AAeA,
|
|
1
|
+
{"version":3,"file":"track-task.js","sourceRoot":"","sources":["../../src/tools/track-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/tools/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/tools/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAsC5E"}
|
package/dist/tools/update.js
CHANGED
|
@@ -6,21 +6,24 @@ const _helpers_1 = require("./_helpers");
|
|
|
6
6
|
function registerUpdateTool(server, http) {
|
|
7
7
|
server.registerTool('eml_update', {
|
|
8
8
|
title: 'Update Engram',
|
|
9
|
-
description: '
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
'
|
|
9
|
+
description: 'Patches an existing engram (status / significance / content / subject / scope / ' +
|
|
10
|
+
'properties) — the cleanup + supersession tool. Common: task done → ' +
|
|
11
|
+
'{status: resolved}; decision/reference replaced → {status: superseded} on the ' +
|
|
12
|
+
'old one, then write the new; rule/profile refined → patch content.\n\n' +
|
|
13
|
+
'Properties merge SHALLOWLY (incoming keys overwrite, others preserved); pass null ' +
|
|
14
|
+
'to delete a key. patch.content REPLACES content wholesale — no partial merge. ' +
|
|
15
|
+
'If unsure of the current state, eml_get(id) first.',
|
|
14
16
|
inputSchema: {
|
|
15
|
-
id: zod_1.z.string(),
|
|
17
|
+
id: zod_1.z.string().describe('Engram UUID, from a recall / list / show / get result.'),
|
|
16
18
|
patch: zod_1.z.object({
|
|
17
|
-
content: zod_1.z.string().optional(),
|
|
18
|
-
status: zod_1.z.enum(['planned', 'active', 'superseded', 'invalidated', 'expired', 'resolved']).optional()
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
content: zod_1.z.string().optional().describe('Wholesale replacement (no partial merge).'),
|
|
20
|
+
status: zod_1.z.enum(['planned', 'active', 'superseded', 'invalidated', 'expired', 'resolved']).optional().describe('resolved = task done · superseded = replaced by a newer engram · ' +
|
|
21
|
+
'invalidated = no longer applicable (no replacement) · expired = past expires_at.'),
|
|
22
|
+
significance: zod_1.z.enum(['critical', 'high', 'normal', 'low', 'trivial']).optional().describe('Re-rank on new evidence.'),
|
|
23
|
+
subject: zod_1.z.string().optional().describe('Rename the recall-anchor (sparingly — breaks subject threads).'),
|
|
24
|
+
scope: zod_1.z.string().optional().describe('Reassign scope (e.g. saved global but really project-bound).'),
|
|
25
|
+
properties: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional().describe('Shallow merge; null deletes a key.'),
|
|
26
|
+
}).describe('Only the fields to modify.'),
|
|
24
27
|
},
|
|
25
28
|
}, async (args) => (0, _helpers_1.callTool)(() => http.post('/update', args)));
|
|
26
29
|
}
|
package/dist/tools/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/tools/update.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/tools/update.ts"],"names":[],"mappings":";;AAKA,gDAsCC;AA3CD,6BAAuB;AAGvB,yCAAqC;AAErC,SAAgB,kBAAkB,CAAC,MAAiB,EAAE,IAAgB;IACpE,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,kFAAkF;YAClF,qEAAqE;YACrE,gFAAgF;YAChF,wEAAwE;YACxE,oFAAoF;YACpF,gFAAgF;YAChF,oDAAoD;QACtD,WAAW,EAAE;YACX,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;YACjF,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;gBACd,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;gBACpF,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3G,mEAAmE;oBACnE,kFAAkF,CACnF;gBACD,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACxF,0BAA0B,CAC3B;gBACD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrC,gEAAgE,CACjE;gBACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnC,8DAA8D,CAC/D;gBACD,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC/D,oCAAoC,CACrC;aACF,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SAC1C;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAC3D,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@engramprotocol/mcp-server",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.6",
|
|
4
4
|
"description": "MCP wrapper for the EML HTTP API — exposes the Engram Protocol as MCP tools for Claude Code and other MCP clients. Includes setup-mode for one-shot install/update/uninstall.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/server.js",
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
"publishConfig": {
|
|
19
19
|
"access": "public"
|
|
20
20
|
},
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc -b",
|
|
23
|
+
"test": "vitest run --passWithNoTests",
|
|
24
|
+
"test:watch": "vitest"
|
|
25
|
+
},
|
|
21
26
|
"dependencies": {
|
|
22
27
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
23
28
|
"zod": "^4.4.3"
|
|
@@ -26,11 +31,6 @@
|
|
|
26
31
|
"node": ">=20"
|
|
27
32
|
},
|
|
28
33
|
"devDependencies": {
|
|
29
|
-
"@engramprotocol/core": "
|
|
30
|
-
},
|
|
31
|
-
"scripts": {
|
|
32
|
-
"build": "tsc -b",
|
|
33
|
-
"test": "vitest run --passWithNoTests",
|
|
34
|
-
"test:watch": "vitest"
|
|
34
|
+
"@engramprotocol/core": "workspace:*"
|
|
35
35
|
}
|
|
36
|
-
}
|
|
36
|
+
}
|
|
File without changes
|
|
File without changes
|