@lore-co/mcp 0.2.23 → 0.2.24
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 +33 -2
- package/dist/index.d.ts +64 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +404 -18
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ Hosts that do not use the Lore CLI can configure the connection explicitly:
|
|
|
23
23
|
"mcpServers": {
|
|
24
24
|
"lore": {
|
|
25
25
|
"command": "npx",
|
|
26
|
-
"args": ["-y", "@lore-co/mcp@0.2.
|
|
26
|
+
"args": ["-y", "@lore-co/mcp@0.2.24"],
|
|
27
27
|
"env": {
|
|
28
28
|
"LORE_API_URL": "https://your-lore.example.com",
|
|
29
29
|
"LORE_WORKSPACE_TOKEN": "YOUR_WORKSPACE_TOKEN"
|
|
@@ -45,8 +45,13 @@ The default tool set is read-only:
|
|
|
45
45
|
|
|
46
46
|
- `prepare_context`
|
|
47
47
|
- `ask_lore`
|
|
48
|
+
- `chat_lore` (read-only discussion; prose answers need the server's extraction provider)
|
|
48
49
|
- `search_learnings`
|
|
49
50
|
- `get_learning`
|
|
51
|
+
- `list_learnings`
|
|
52
|
+
- `list_proposals`
|
|
53
|
+
- `get_proposal`
|
|
54
|
+
- `list_sessions`
|
|
50
55
|
- `share_lore`
|
|
51
56
|
- `search_approaches`
|
|
52
57
|
- `get_approach`
|
|
@@ -55,11 +60,37 @@ The default tool set is read-only:
|
|
|
55
60
|
- `read_skill`
|
|
56
61
|
|
|
57
62
|
To register `remember_learning`, `correct_learning`, `forget_learning`, `attach_image`,
|
|
58
|
-
`draft_approach`, `revise_approach`, `save_approach`, `use_approach`,
|
|
63
|
+
`decide_proposal`, `draft_approach`, `revise_approach`, `save_approach`, `use_approach`,
|
|
59
64
|
`report_approach_run`, `decide_approach_run`, `preview_skill`, and `propose_skill`, set
|
|
60
65
|
`LORE_MCP_WRITE_TOOLS=true`. Host instructions should still require explicit
|
|
61
66
|
user intent before every shared-knowledge mutation.
|
|
62
67
|
|
|
68
|
+
`remember_learning` and `correct_learning` record the source agent as
|
|
69
|
+
`LORE_MCP_AGENT`, which `lore connect` sets to the host it registered the
|
|
70
|
+
server for (`claude`, `codex`, `cursor`, `opencode`, `copilot-cli`,
|
|
71
|
+
`copilot-vscode`, or the `--agent-id` of a generic agent). `ask_lore` and
|
|
72
|
+
`search_learnings` retrieve as that host too, so knowledge saved for one agent
|
|
73
|
+
reaches it. A caller's `agent` argument is ignored then: models tend to pass
|
|
74
|
+
their model name. It counts only when the host is unnamed, that is without
|
|
75
|
+
`LORE_MCP_AGENT` (falling back to `mcp`) or with the default `generic`.
|
|
76
|
+
|
|
77
|
+
A `remember_learning` save, including an import, that names no `repo`,
|
|
78
|
+
`organization`, or `project` is limited to the current folder's Git
|
|
79
|
+
repository, as `ask_lore` and `search_learnings` are. Pass
|
|
80
|
+
`workspaceWide: true` to save for every repository instead. Outside a Git
|
|
81
|
+
checkout the save stays workspace-wide. `lore remember` takes no repository
|
|
82
|
+
from the folder: without scope flags it saves workspace-wide.
|
|
83
|
+
|
|
84
|
+
The listing tools mirror the member's dashboard views so an agent can run them
|
|
85
|
+
without a shell: `list_learnings` is `lore learnings`, `list_proposals`,
|
|
86
|
+
`get_proposal`, and `decide_proposal` are `lore review`, and `list_sessions`
|
|
87
|
+
returns the ids `share_lore`, `ask_lore`, and `lore resume --session` accept.
|
|
88
|
+
`list_proposals` and `get_proposal` work on any workspace connection;
|
|
89
|
+
`decide_proposal` needs a workspace owner or admin connected with
|
|
90
|
+
`lore connect --login` and refuses a proposal with an open conflict; those are
|
|
91
|
+
decided in the dashboard, where the current learning can be replaced or kept
|
|
92
|
+
alongside.
|
|
93
|
+
|
|
63
94
|
Approaches turn reviewed work into reusable steps with inputs, prerequisites,
|
|
64
95
|
and result checks. They appear inside **Learnings**. A receiving agent uses its
|
|
65
96
|
ordinary tools to perform the work and records the outcome against the exact
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare const MemorySearchInputSchema: z.ZodObject<{
|
|
|
14
14
|
repo: z.ZodOptional<z.ZodString>;
|
|
15
15
|
path: z.ZodOptional<z.ZodString>;
|
|
16
16
|
component: z.ZodOptional<z.ZodString>;
|
|
17
|
-
agent: z.
|
|
17
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
18
18
|
task: z.ZodString;
|
|
19
19
|
scope: z.ZodOptional<z.ZodObject<{
|
|
20
20
|
agent: z.ZodOptional<z.ZodString>;
|
|
@@ -38,6 +38,7 @@ export declare const AskLoreInputSchema: z.ZodObject<{
|
|
|
38
38
|
sessionLimit: z.ZodOptional<z.ZodNumber>;
|
|
39
39
|
}, z.core.$strict>;
|
|
40
40
|
export declare const MemoryRememberInputSchema: z.ZodObject<{
|
|
41
|
+
workspaceWide: z.ZodOptional<z.ZodLiteral<true>>;
|
|
41
42
|
category: z.ZodOptional<z.ZodEnum<{
|
|
42
43
|
architecture: "architecture";
|
|
43
44
|
convention: "convention";
|
|
@@ -49,7 +50,7 @@ export declare const MemoryRememberInputSchema: z.ZodObject<{
|
|
|
49
50
|
review_feedback: "review_feedback";
|
|
50
51
|
other: "other";
|
|
51
52
|
}>>;
|
|
52
|
-
agent: z.
|
|
53
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
53
54
|
sessionId: z.ZodOptional<z.ZodString>;
|
|
54
55
|
organization: z.ZodOptional<z.ZodString>;
|
|
55
56
|
project: z.ZodOptional<z.ZodString>;
|
|
@@ -84,7 +85,7 @@ export declare const MemoryCorrectInputSchema: z.ZodObject<{
|
|
|
84
85
|
review_feedback: "review_feedback";
|
|
85
86
|
other: "other";
|
|
86
87
|
}>>;
|
|
87
|
-
agent: z.
|
|
88
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
88
89
|
sessionId: z.ZodOptional<z.ZodString>;
|
|
89
90
|
}, z.core.$strict>;
|
|
90
91
|
export declare const MemoryForgetInputSchema: z.ZodObject<{
|
|
@@ -100,6 +101,61 @@ export declare const PrepareApproachInputSchema: z.ZodObject<{
|
|
|
100
101
|
notes: z.ZodOptional<z.ZodString>;
|
|
101
102
|
task: z.ZodOptional<z.ZodString>;
|
|
102
103
|
}, z.core.$strict>;
|
|
104
|
+
export declare const ListProposalsInputSchema: z.ZodObject<{
|
|
105
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
106
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
107
|
+
repo: z.ZodOptional<z.ZodString>;
|
|
108
|
+
allRepositories: z.ZodOptional<z.ZodBoolean>;
|
|
109
|
+
}, z.core.$strict>;
|
|
110
|
+
export declare const ProposalIdInputSchema: z.ZodObject<{
|
|
111
|
+
id: z.ZodUUID;
|
|
112
|
+
}, z.core.$strict>;
|
|
113
|
+
export declare const DecideProposalInputSchema: z.ZodObject<{
|
|
114
|
+
id: z.ZodUUID;
|
|
115
|
+
decision: z.ZodEnum<{
|
|
116
|
+
approve: "approve";
|
|
117
|
+
decline: "decline";
|
|
118
|
+
}>;
|
|
119
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
120
|
+
}, z.core.$strict>;
|
|
121
|
+
export declare const ListLearningsInputSchema: z.ZodObject<{
|
|
122
|
+
status: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
123
|
+
active: "active";
|
|
124
|
+
proposed: "proposed";
|
|
125
|
+
suppressed: "suppressed";
|
|
126
|
+
superseded: "superseded";
|
|
127
|
+
deleted: "deleted";
|
|
128
|
+
}>>>;
|
|
129
|
+
category: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
130
|
+
architecture: "architecture";
|
|
131
|
+
convention: "convention";
|
|
132
|
+
correction: "correction";
|
|
133
|
+
gotcha: "gotcha";
|
|
134
|
+
known_gotcha: "known_gotcha";
|
|
135
|
+
deprecated: "deprecated";
|
|
136
|
+
behavior: "behavior";
|
|
137
|
+
review_feedback: "review_feedback";
|
|
138
|
+
other: "other";
|
|
139
|
+
}>>>;
|
|
140
|
+
query: z.ZodOptional<z.ZodString>;
|
|
141
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
142
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
143
|
+
repo: z.ZodOptional<z.ZodString>;
|
|
144
|
+
allRepositories: z.ZodOptional<z.ZodBoolean>;
|
|
145
|
+
}, z.core.$strict>;
|
|
146
|
+
export declare const ListSessionsInputSchema: z.ZodObject<{
|
|
147
|
+
query: z.ZodOptional<z.ZodString>;
|
|
148
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
149
|
+
view: z.ZodOptional<z.ZodEnum<{
|
|
150
|
+
mine: "mine";
|
|
151
|
+
shared: "shared";
|
|
152
|
+
accessible: "accessible";
|
|
153
|
+
}>>;
|
|
154
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
155
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
156
|
+
repo: z.ZodOptional<z.ZodString>;
|
|
157
|
+
allRepositories: z.ZodOptional<z.ZodBoolean>;
|
|
158
|
+
}, z.core.$strict>;
|
|
103
159
|
export interface CreateMcpServerOptions {
|
|
104
160
|
client?: LoreClient;
|
|
105
161
|
baseUrl?: string;
|
|
@@ -113,6 +169,11 @@ export interface CreateMcpServerOptions {
|
|
|
113
169
|
* server omits prepare_context and offers only the explicit-ask tools.
|
|
114
170
|
*/
|
|
115
171
|
hostDeliversContext?: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* The host `lore connect` registered this server for. Saves and lookups
|
|
174
|
+
* are attributed to it whatever `agent` the caller passes.
|
|
175
|
+
*/
|
|
176
|
+
agent?: string;
|
|
116
177
|
}
|
|
117
178
|
export declare function createMcpServer(options?: CreateMcpServerOptions): McpServer;
|
|
118
179
|
export declare function runStdioServer(): Promise<void>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAEL,UAAU,EACV,KAAK,yBAAyB,EAC/B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EACL,2BAA2B,EAC3B,KAAK,8BAA8B,GACpC,MAAM,oCAAoC,CAAC;AAsF5C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;kBAYzB,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;kBAItB,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;;;;;;;kBAuBpB,CAAC;AAEZ,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAW3B,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;kBAQ1B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;kBAAuB,CAAC;AAgN5D,eAAO,MAAM,0BAA0B;;;;;;;;;kBAS2K,CAAC;AAYnN,eAAO,MAAM,wBAAwB;;;;;kBAIK,CAAC;AAE3C,eAAO,MAAM,qBAAqB;;kBAAoF,CAAC;AAEvH,eAAO,MAAM,yBAAyB;;;;;;;kBAI3B,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;kBAOK,CAAC;AAE3C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;kBAOM,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,SAAS,CAuoBX;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpD"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { checkDirectory, readLocalConfig, resolveLocalConnection } from "@lore-co/core/local-scope";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { isNativeCodingAgent } from "@lore-co/core";
|
|
4
|
+
import { repositoryScopeFromCheckout, repositoryScopeFromDirectory } from "@lore-co/core/repository-location";
|
|
5
|
+
import { ShareLoreInputSchema, sharedLinkMarkdown, PrepareContextRequestSchema, ChatRequestSchema } from "@lore-co/sdk";
|
|
5
6
|
import { MAX_EVENT_IMAGE_BYTES, inspectEventImage } from "@lore-co/core/image-bytes";
|
|
6
7
|
import { open as openImageFile } from "node:fs/promises";
|
|
7
8
|
import { closeSync, constants as fsConstants, fstatSync, openSync, readFileSync, realpathSync, } from "node:fs";
|
|
@@ -15,6 +16,8 @@ import { z } from "zod";
|
|
|
15
16
|
import { CreateApproachSchema, ReviseApproachSchema, SaveApproachSchema, StartApproachRunSchema, ApproachRunUpdateSchema } from "@lore-co/sdk";
|
|
16
17
|
import { ApproachRunDecisionSchema } from "@lore-co/sdk";
|
|
17
18
|
import { ImportSkillSchema, PreviewSkillSchema } from "@lore-co/sdk";
|
|
19
|
+
import { sessionDisplayTitle } from "@lore-co/sdk";
|
|
20
|
+
import { MemoryCategorySchema, MemoryStatusSchema } from "@lore-co/core/schemas";
|
|
18
21
|
export { MCP_RELIABILITY_INTEGRATION, } from "@lore-co/core/integration-contract";
|
|
19
22
|
const scopeShape = {
|
|
20
23
|
organization: z.string().trim().min(1).optional(),
|
|
@@ -73,9 +76,12 @@ function readStoredConnectorConfig(home) {
|
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
}
|
|
79
|
+
/** The id `lore connect --agent generic` records when no --agent-id names the host. */
|
|
80
|
+
const GENERIC_MCP_AGENT = "generic";
|
|
81
|
+
const callerAgentSchema = z.string().trim().min(1).optional().describe("Leave unset: Lore uses the host it connected this server for. Only an agent Lore gave no ID passes its integration ID, never a model name");
|
|
76
82
|
export const MemorySearchInputSchema = z
|
|
77
83
|
.object({
|
|
78
|
-
agent:
|
|
84
|
+
agent: callerAgentSchema,
|
|
79
85
|
task: z.string().trim().min(1).describe("Task or question to search for"),
|
|
80
86
|
scope: scopeSchema.optional(),
|
|
81
87
|
...scopeShape,
|
|
@@ -93,7 +99,7 @@ export const MemoryGetInputSchema = z
|
|
|
93
99
|
.strict();
|
|
94
100
|
export const AskLoreInputSchema = z
|
|
95
101
|
.object({
|
|
96
|
-
agent:
|
|
102
|
+
agent: callerAgentSchema,
|
|
97
103
|
question: z
|
|
98
104
|
.string()
|
|
99
105
|
.trim()
|
|
@@ -117,8 +123,9 @@ export const MemoryRememberInputSchema = z
|
|
|
117
123
|
content: z.string().trim().min(1).describe("Durable knowledge to save"),
|
|
118
124
|
scope: scopeSchema.optional(),
|
|
119
125
|
...scopeShape,
|
|
126
|
+
workspaceWide: z.literal(true).optional().describe("Save for every repository in the workspace. Only when the user asks for that; without a repo, organization, or project the save is limited to the current folder's Git repository"),
|
|
120
127
|
category: categorySchema.optional(),
|
|
121
|
-
agent:
|
|
128
|
+
agent: callerAgentSchema,
|
|
122
129
|
sessionId: z.string().trim().min(1).optional(),
|
|
123
130
|
})
|
|
124
131
|
.strict();
|
|
@@ -127,7 +134,7 @@ export const MemoryCorrectInputSchema = z
|
|
|
127
134
|
id: z.uuid().describe("Active memory UUID to correct"),
|
|
128
135
|
content: z.string().trim().min(1).describe("Correct replacement content"),
|
|
129
136
|
category: categorySchema.optional(),
|
|
130
|
-
agent:
|
|
137
|
+
agent: callerAgentSchema,
|
|
131
138
|
sessionId: z.string().trim().min(1).optional(),
|
|
132
139
|
})
|
|
133
140
|
.strict();
|
|
@@ -171,6 +178,148 @@ function toolError(error) {
|
|
|
171
178
|
function toolMessage(message) {
|
|
172
179
|
return { ...toolResult({ error: message }, message), isError: true };
|
|
173
180
|
}
|
|
181
|
+
function singleLine(text, width) {
|
|
182
|
+
const flat = text.replaceAll(/\s+/gu, " ").trim();
|
|
183
|
+
return flat.length > width ? `${flat.slice(0, width - 1)}…` : flat;
|
|
184
|
+
}
|
|
185
|
+
function dateOnly(value) {
|
|
186
|
+
return value.slice(0, 10);
|
|
187
|
+
}
|
|
188
|
+
/** The same scope wording as `lore learnings` and `lore review`. */
|
|
189
|
+
function scopeLabel(scope) {
|
|
190
|
+
const parts = [
|
|
191
|
+
...(scope.repo === undefined ? [] : [scope.repo]),
|
|
192
|
+
...(scope.project === undefined ? [] : [`project ${scope.project}`]),
|
|
193
|
+
...(scope.path === undefined ? [] : [scope.path]),
|
|
194
|
+
...(scope.component === undefined ? [] : [scope.component]),
|
|
195
|
+
...(scope.agent === undefined ? [] : [`for ${scope.agent}`]),
|
|
196
|
+
];
|
|
197
|
+
return parts.length === 0 ? "workspace" : parts.join(" · ");
|
|
198
|
+
}
|
|
199
|
+
function sourceLabel(source) {
|
|
200
|
+
return [source.agent, ...(source.sessionId === undefined ? [] : [`session ${source.sessionId}`])].join(", ");
|
|
201
|
+
}
|
|
202
|
+
function decisionLabel(decision) {
|
|
203
|
+
switch (decision) {
|
|
204
|
+
case "approve": return "approved";
|
|
205
|
+
case "reject": return "declined";
|
|
206
|
+
case "use_proposal": return "approved, replacing the conflicting learning";
|
|
207
|
+
case "keep_both": return "approved alongside the conflicting learning";
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
function openConflicts(detail) {
|
|
211
|
+
return detail.conflicts.filter(conflict => conflict.resolution === null);
|
|
212
|
+
}
|
|
213
|
+
/** One pending proposal as list_proposals reports it: the learning plus what a reviewer needs to decide. */
|
|
214
|
+
function proposalSummary(memory, detail) {
|
|
215
|
+
const open = detail === null ? null : openConflicts(detail).length;
|
|
216
|
+
return {
|
|
217
|
+
id: memory.id,
|
|
218
|
+
text: memory.content,
|
|
219
|
+
category: memory.category,
|
|
220
|
+
status: memory.status,
|
|
221
|
+
scope: memory.scope,
|
|
222
|
+
source: memory.source,
|
|
223
|
+
proposedAt: detail?.metadata.proposedAt ?? memory.createdAt,
|
|
224
|
+
reason: detail?.metadata.reason ?? null,
|
|
225
|
+
/** null when the connection cannot read proposal details (an integration token). */
|
|
226
|
+
conflict: open === null ? null : open > 0,
|
|
227
|
+
openConflicts: open,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
function proposalLine(index, proposal) {
|
|
231
|
+
const flags = [
|
|
232
|
+
scopeLabel(proposal.scope),
|
|
233
|
+
`from ${sourceLabel(proposal.source)}`,
|
|
234
|
+
...(proposal.conflict === true ? [`OPEN CONFLICT (${proposal.openConflicts})`] : []),
|
|
235
|
+
...(proposal.conflict === null ? ["conflicts unknown"] : []),
|
|
236
|
+
];
|
|
237
|
+
return `${index}. ${proposal.id}\n ${singleLine(proposal.text, 160)}\n ${flags.join(" · ")}`;
|
|
238
|
+
}
|
|
239
|
+
function formatProposalDetail(detail) {
|
|
240
|
+
const { memory, metadata, conflicts, conflictTargets } = detail;
|
|
241
|
+
const decision = metadata.decision === null
|
|
242
|
+
? "pending"
|
|
243
|
+
: `${decisionLabel(metadata.decision)} on ${dateOnly(metadata.decidedAt ?? metadata.proposedAt)}${metadata.decisionReason === null ? "" : `: ${metadata.decisionReason}`}`;
|
|
244
|
+
const lines = [
|
|
245
|
+
`Proposal ${memory.id}`,
|
|
246
|
+
`Status: ${memory.status}`,
|
|
247
|
+
`Category: ${memory.category}`,
|
|
248
|
+
`Scope: ${scopeLabel(memory.scope)}`,
|
|
249
|
+
`Source: ${sourceLabel(memory.source)}`,
|
|
250
|
+
`Proposed: ${dateOnly(metadata.proposedAt)} (${metadata.reason})`,
|
|
251
|
+
`Decision: ${decision}`,
|
|
252
|
+
"",
|
|
253
|
+
memory.content.trim(),
|
|
254
|
+
];
|
|
255
|
+
if (conflicts.length > 0) {
|
|
256
|
+
const targets = new Map(conflictTargets.map(target => [target.id, target]));
|
|
257
|
+
lines.push("", `Conflicts (${conflicts.length}):`);
|
|
258
|
+
for (const conflict of conflicts) {
|
|
259
|
+
const state = conflict.resolution === null ? "open" : decisionLabel(conflict.resolution);
|
|
260
|
+
lines.push(` ${conflict.severity} ${conflict.detector} conflict with ${conflict.targetMemoryId} (${state})`);
|
|
261
|
+
lines.push(` Evidence: ${singleLine(conflict.evidence.summary, 160)}`);
|
|
262
|
+
const target = targets.get(conflict.targetMemoryId);
|
|
263
|
+
if (target !== undefined)
|
|
264
|
+
lines.push(` Current: ${singleLine(target.content, 160)}`);
|
|
265
|
+
}
|
|
266
|
+
if (openConflicts(detail).length > 0) {
|
|
267
|
+
lines.push("", "Open conflicts are decided in the dashboard, where the current learning can be replaced or kept alongside. decide_proposal refuses them.");
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return lines.join("\n");
|
|
271
|
+
}
|
|
272
|
+
function formatDecision(decision, result) {
|
|
273
|
+
const { proposal } = result;
|
|
274
|
+
if (decision === "approve") {
|
|
275
|
+
return proposal.status === "active"
|
|
276
|
+
? `Approved ${proposal.id}. The learning is now active${proposal.scope.repo === undefined ? " across the workspace" : ` for ${proposal.scope.repo}`}.`
|
|
277
|
+
: `Reviewed ${proposal.id}. Learning status: ${proposal.status}.`;
|
|
278
|
+
}
|
|
279
|
+
return `Declined ${proposal.id}. The proposal will not become a learning.`;
|
|
280
|
+
}
|
|
281
|
+
function sessionLine(session) {
|
|
282
|
+
const title = session.title ?? sessionDisplayTitle(session) ?? `${session.agent} session`;
|
|
283
|
+
const where = session.repo ?? session.project;
|
|
284
|
+
const state = session.endedAt === null ? "still open" : `ended ${dateOnly(session.endedAt)}`;
|
|
285
|
+
return `- ${session.id}: ${singleLine(title, 120)} (${session.agent}${where ? `, ${where}` : ""}; last active ${dateOnly(session.lastActivityAt)}, ${state}, ${session.eventCount} events)`;
|
|
286
|
+
}
|
|
287
|
+
function apiDetailMessage(error) {
|
|
288
|
+
const details = error.details;
|
|
289
|
+
if (typeof details === "object" && details !== null && "message" in details) {
|
|
290
|
+
const message = details.message;
|
|
291
|
+
if (typeof message === "string")
|
|
292
|
+
return message;
|
|
293
|
+
if (Array.isArray(message))
|
|
294
|
+
return message.map(String).join("; ");
|
|
295
|
+
}
|
|
296
|
+
return typeof details === "string" && details !== "" ? details : undefined;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* The same explanations `lore review` prints, so an agent can tell the user
|
|
300
|
+
* why a review did not happen instead of a sanitized protocol failure.
|
|
301
|
+
*/
|
|
302
|
+
function reviewFailure(error, id, dashboard) {
|
|
303
|
+
const place = dashboard === undefined ? "the Lore dashboard" : `the Lore dashboard (${dashboard})`;
|
|
304
|
+
if (error instanceof SharedMemoryApiError) {
|
|
305
|
+
const detail = apiDetailMessage(error);
|
|
306
|
+
if (error.status === 401) {
|
|
307
|
+
return toolMessage(`Reviewing proposals needs a connection that identifies you. Reconnect with lore connect --login, or review in ${place}.`);
|
|
308
|
+
}
|
|
309
|
+
if (error.status === 403) {
|
|
310
|
+
return toolMessage(`Only a workspace owner or admin can approve or decline proposals. Ask an owner or admin to review ${id} in ${place}; this connection cannot decide it.`);
|
|
311
|
+
}
|
|
312
|
+
if (error.status === 404) {
|
|
313
|
+
return toolMessage(detail !== undefined && /not found/iu.test(detail)
|
|
314
|
+
? `Proposal ${id} was not found in this workspace. It may already be decided; call list_proposals again.`
|
|
315
|
+
: "This Lore server does not support reviewing proposals over MCP. Upgrade the server, or review in the dashboard.");
|
|
316
|
+
}
|
|
317
|
+
if (error.status === 409) {
|
|
318
|
+
return toolMessage(`${detail ?? "The proposal cannot be decided this way"}. An open conflict or an earlier decision is handled in ${place}.`);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return toolError(error);
|
|
322
|
+
}
|
|
174
323
|
// The same request shape as `lore approach prepare`: the repository defaults to
|
|
175
324
|
// the current folder and a native session id resolves to the captured session.
|
|
176
325
|
export const PrepareApproachInputSchema = z.object({
|
|
@@ -183,6 +332,41 @@ export const PrepareApproachInputSchema = z.object({
|
|
|
183
332
|
notes: z.string().trim().max(20000).optional(),
|
|
184
333
|
task: z.string().trim().min(1).max(2000).optional(),
|
|
185
334
|
}).strict().refine(input => input.sessionId || input.externalSessionId || input.sessionIds?.length || input.learningIds?.length || input.notes, { message: "Choose a source session or learning, or add notes." });
|
|
335
|
+
// Listing tools mirror `lore learnings`, `lore review`, and `lore resume`: the
|
|
336
|
+
// repository defaults to the current folder, or the whole workspace on request.
|
|
337
|
+
const listingRepoShape = {
|
|
338
|
+
repo: z.string().trim().min(1).max(500).optional().describe("Repository as owner/name; defaults to the current folder's repository"),
|
|
339
|
+
allRepositories: z.boolean().optional().describe("List across every repository in the workspace instead of one"),
|
|
340
|
+
};
|
|
341
|
+
const oneRepository = { message: "Choose repo or allRepositories, not both.", path: ["allRepositories"] };
|
|
342
|
+
const notBoth = (input) => !(input.repo !== undefined && input.allRepositories);
|
|
343
|
+
export const ListProposalsInputSchema = z.object({
|
|
344
|
+
...listingRepoShape,
|
|
345
|
+
limit: z.number().int().positive().max(50).default(20),
|
|
346
|
+
offset: z.number().int().nonnegative().default(0),
|
|
347
|
+
}).strict().refine(notBoth, oneRepository);
|
|
348
|
+
export const ProposalIdInputSchema = z.object({ id: z.uuid().describe("Proposal UUID from list_proposals") }).strict();
|
|
349
|
+
export const DecideProposalInputSchema = z.object({
|
|
350
|
+
id: z.uuid().describe("Proposal UUID from list_proposals"),
|
|
351
|
+
decision: z.enum(["approve", "decline"]).describe("approve activates the learning; decline retires the proposal"),
|
|
352
|
+
reason: z.string().trim().min(1).max(2000).optional().describe("Why, as the person said it; recorded with the decision"),
|
|
353
|
+
}).strict();
|
|
354
|
+
export const ListLearningsInputSchema = z.object({
|
|
355
|
+
...listingRepoShape,
|
|
356
|
+
status: z.array(MemoryStatusSchema).min(1).optional().describe("Statuses to include; default active"),
|
|
357
|
+
category: z.array(MemoryCategorySchema).min(1).optional(),
|
|
358
|
+
query: z.string().trim().min(1).max(500).optional().describe("Only learnings whose text contains this phrase"),
|
|
359
|
+
limit: z.number().int().positive().max(100).default(50),
|
|
360
|
+
offset: z.number().int().nonnegative().default(0),
|
|
361
|
+
}).strict().refine(notBoth, oneRepository);
|
|
362
|
+
export const ListSessionsInputSchema = z.object({
|
|
363
|
+
...listingRepoShape,
|
|
364
|
+
query: z.string().trim().min(1).max(500).optional().describe("Words from the session's title or work"),
|
|
365
|
+
agent: z.string().trim().min(1).max(100).optional().describe("Only sessions recorded by this agent id"),
|
|
366
|
+
view: z.enum(["mine", "shared", "accessible"]).optional().describe("mine: only the member's own sessions; default accessible"),
|
|
367
|
+
limit: z.number().int().positive().max(100).default(20),
|
|
368
|
+
offset: z.number().int().nonnegative().default(0),
|
|
369
|
+
}).strict().refine(notBoth, oneRepository);
|
|
186
370
|
export function createMcpServer(options = {}) {
|
|
187
371
|
// Credentials and every folder check must use the same home, even if the
|
|
188
372
|
// environment or working directory changes while this server is running.
|
|
@@ -196,6 +380,12 @@ export function createMcpServer(options = {}) {
|
|
|
196
380
|
const hostDeliversContext = options.hostDeliversContext ?? process.env.LORE_MCP_HOST_CONTEXT === "hooks";
|
|
197
381
|
if (contextOnly && hostDeliversContext)
|
|
198
382
|
throw new Error("A context-only connection must keep prepare_context");
|
|
383
|
+
const hostAgent = options.agent ?? environmentValue(process.env, "LORE_MCP_AGENT") ?? "mcp";
|
|
384
|
+
// The host Lore was connected for is more reliable than what a model says
|
|
385
|
+
// about itself: models pass their model name ("claude-sonnet-4-6") as
|
|
386
|
+
// `agent`. A caller's agent counts only when the host is unnamed: no
|
|
387
|
+
// LORE_MCP_AGENT, or `lore connect --agent generic` without --agent-id.
|
|
388
|
+
const callerAgent = (agent) => hostAgent === "mcp" || hostAgent === GENERIC_MCP_AGENT ? agent ?? hostAgent : hostAgent;
|
|
199
389
|
const environmentApiUrl = environmentValue(process.env, "LORE_API_URL");
|
|
200
390
|
const environmentToken = environmentValue(process.env, "LORE_WORKSPACE_TOKEN");
|
|
201
391
|
const storedConfig = options.client === undefined &&
|
|
@@ -249,11 +439,11 @@ export function createMcpServer(options = {}) {
|
|
|
249
439
|
}
|
|
250
440
|
const server = new McpServer({
|
|
251
441
|
name: "lore",
|
|
252
|
-
version: "0.2.
|
|
442
|
+
version: "0.2.24",
|
|
253
443
|
}, {
|
|
254
444
|
instructions: hostDeliversContext
|
|
255
|
-
? "Lore already delivers relevant team knowledge and skills into each prompt through this host's hooks. Use these tools for explicit asks: ask_lore or search_learnings when the user asks what the team decided or what earlier work found, remember_learning when they ask to save a convention, decision, or correction, share_lore for a private link, and search_approaches or prepare_approach when they ask to repeat earlier work. Saving needs the user's clear intent; a question is not a request to save its answer."
|
|
256
|
-
: "Before investigating or changing code, call prepare_context for the current task and repository. It includes enabled Lore skill instructions. Apply the skills whose descriptions match the task; do not ask the user to name them. Recheck for each new task so disabled skills stop applying. Skills remain subject to the user's request and normal permissions. Receiving instructions does not prove a review was completed.",
|
|
445
|
+
? "Lore already delivers relevant team knowledge and skills into each prompt through this host's hooks. Use these tools for explicit asks: ask_lore or search_learnings when the user asks what the team decided or what earlier work found, remember_learning when they ask to save a convention, decision, or correction, list_proposals, get_proposal and decide_proposal when they ask to review what is pending, list_learnings and list_sessions when they ask what Lore holds for this repository, share_lore for a private link, and search_approaches or prepare_approach when they ask to repeat earlier work. Saving needs the user's clear intent; a question is not a request to save its answer, a decision the user mentions is not a request to save it, and reviewing proposals does not authorize other saves. When the user addresses Lore or asks for one of these things and this host offers a separate agent named lore (a subagent or custom agent that lore connect installs), hand the request to that agent with the user's own words, the repository, and, for a recap, the session ID and transcript path, instead of calling these tools yourself; relay its report unchanged. The lore agent itself, and hosts without one, use the tools directly."
|
|
446
|
+
: "Before investigating or changing code, call prepare_context for the current task and repository. It includes enabled Lore skill instructions. Apply the skills whose descriptions match the task; do not ask the user to name them. Recheck for each new task so disabled skills stop applying. Skills remain subject to the user's request and normal permissions. Receiving instructions does not prove a review was completed. Save with remember_learning only when the user asks to remember or save something; a decision the user mentions is not a request to save it. When the user addresses Lore or asks for one of these things and this host offers a separate agent named lore (a subagent or custom agent that lore connect installs), hand the request to that agent with the user's own words, the repository, and, for a recap, the session ID and transcript path, instead of calling these tools yourself; relay its report unchanged. The lore agent itself, and hosts without one, use the tools directly.",
|
|
257
447
|
});
|
|
258
448
|
if (!hostDeliversContext)
|
|
259
449
|
server.registerTool("prepare_context", {
|
|
@@ -326,6 +516,21 @@ export function createMcpServer(options = {}) {
|
|
|
326
516
|
// Like the CLI, these tools read the repository from the current folder when
|
|
327
517
|
// the request omits it, so a run carries only the task values.
|
|
328
518
|
const folderRepo = async (repo) => repo ?? repositoryScopeFromDirectory(process.cwd());
|
|
519
|
+
// Questions default to the enclosing Git checkout, like lore ask and the
|
|
520
|
+
// hooks, and then see that repository's learnings. Outside a checkout the
|
|
521
|
+
// question searches every repository the workspace policy allows.
|
|
522
|
+
const questionRepo = async (repo) => {
|
|
523
|
+
const resolved = repo ?? await repositoryScopeFromCheckout(process.cwd());
|
|
524
|
+
return resolved === undefined ? {} : { repo: resolved };
|
|
525
|
+
};
|
|
526
|
+
const searchTask = async (input) => {
|
|
527
|
+
const task = input.scope?.repo === undefined ? { ...input, ...await questionRepo(input.repo) } : input;
|
|
528
|
+
const repo = task.scope?.repo ?? task.repo;
|
|
529
|
+
// Retrieval gives a native agent nothing outside a repository, so a search
|
|
530
|
+
// from such a folder keeps the generic agent and its workspace-wide results.
|
|
531
|
+
const agent = repo === undefined && isNativeCodingAgent(callerAgent(input.agent)) ? "mcp" : callerAgent(input.agent);
|
|
532
|
+
return { ...task, agent };
|
|
533
|
+
};
|
|
329
534
|
server.registerTool("search_approaches", {
|
|
330
535
|
title: "Find a saved approach",
|
|
331
536
|
description: "When asked to repeat earlier work or do it the way it was done last time, find active repository-scoped approaches. The user need not know the saved name. Choose by the task and infer inputs from the request and repository; ask only for missing information or an ambiguous match. These contain steps, prerequisites, and checks. Never use a draft or assume a source result proves the new task will succeed. The repository defaults to the current folder.",
|
|
@@ -448,7 +653,7 @@ export function createMcpServer(options = {}) {
|
|
|
448
653
|
});
|
|
449
654
|
server.registerTool("search_learnings", {
|
|
450
655
|
title: "Search shared learnings",
|
|
451
|
-
description: "Find shared engineering learnings relevant to a task and return formatted context.",
|
|
656
|
+
description: "Find shared engineering learnings relevant to a task and return formatted context. The repository defaults to the current folder's Git repository.",
|
|
452
657
|
inputSchema: MemorySearchInputSchema,
|
|
453
658
|
annotations: {
|
|
454
659
|
readOnlyHint: true,
|
|
@@ -459,7 +664,7 @@ export function createMcpServer(options = {}) {
|
|
|
459
664
|
if (!access.allowed)
|
|
460
665
|
return toolError(new Error(`Lore is off: ${access.reason}.`));
|
|
461
666
|
try {
|
|
462
|
-
const result = await (await clientForFolder()).getContext(input);
|
|
667
|
+
const result = await (await clientForFolder()).getContext(await searchTask(input));
|
|
463
668
|
return toolResult(result, result.context || "No relevant shared learnings found.");
|
|
464
669
|
}
|
|
465
670
|
catch (error) {
|
|
@@ -471,7 +676,8 @@ export function createMcpServer(options = {}) {
|
|
|
471
676
|
description: "Query shared context: durable knowledge plus prior work sessions " +
|
|
472
677
|
"(what previous agents tried, errors hit, decisions made). Answers " +
|
|
473
678
|
"include provenance. Pass sessionId to prioritize the sessions your " +
|
|
474
|
-
"current work continues."
|
|
679
|
+
"current work continues. The repository defaults to the current " +
|
|
680
|
+
"folder's Git repository.",
|
|
475
681
|
inputSchema: AskLoreInputSchema,
|
|
476
682
|
annotations: {
|
|
477
683
|
readOnlyHint: true,
|
|
@@ -484,8 +690,8 @@ export function createMcpServer(options = {}) {
|
|
|
484
690
|
try {
|
|
485
691
|
const result = await (await clientForFolder()).ask({
|
|
486
692
|
question: input.question,
|
|
487
|
-
agent: input.agent
|
|
488
|
-
...(input.repo
|
|
693
|
+
agent: callerAgent(input.agent),
|
|
694
|
+
...await questionRepo(input.repo),
|
|
489
695
|
...(input.project === undefined ? {} : { project: input.project }),
|
|
490
696
|
...(input.sessionId === undefined
|
|
491
697
|
? {}
|
|
@@ -517,6 +723,24 @@ export function createMcpServer(options = {}) {
|
|
|
517
723
|
return toolError(error);
|
|
518
724
|
}
|
|
519
725
|
});
|
|
726
|
+
server.registerTool("chat_lore", {
|
|
727
|
+
title: "Chat with Lore",
|
|
728
|
+
description: "Read-only discussion over the workspace's shared knowledge: ask in plain language whether anyone on the team ran into something and get a short prose answer citing learnings and sessions by id. Replay turns and cited ids from the previous result for follow-ups. Nothing is saved. The repository defaults to the current folder's Git repository. On a server without an AI model the result lists the retrieved sources instead.",
|
|
729
|
+
inputSchema: ChatRequestSchema,
|
|
730
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
731
|
+
}, async (input) => {
|
|
732
|
+
const access = await checkDirectory(process.cwd(), home);
|
|
733
|
+
if (!access.allowed)
|
|
734
|
+
return toolError(new Error(`Lore is off: ${access.reason}.`));
|
|
735
|
+
try {
|
|
736
|
+
const result = await (await clientForFolder()).chat({ ...input, ...await questionRepo(input.repo) });
|
|
737
|
+
const cited = result.sources.filter(source => source.cited);
|
|
738
|
+
return toolResult(result, [result.answer, ...cited.map(source => `Source: ${source.kind} ${source.id} (${source.title})`)].join("\n"));
|
|
739
|
+
}
|
|
740
|
+
catch (error) {
|
|
741
|
+
return toolError(error);
|
|
742
|
+
}
|
|
743
|
+
});
|
|
520
744
|
server.registerTool("get_learning", {
|
|
521
745
|
title: "Get shared learning",
|
|
522
746
|
description: "Get one shared engineering learning by UUID.",
|
|
@@ -533,6 +757,127 @@ export function createMcpServer(options = {}) {
|
|
|
533
757
|
return toolError(error);
|
|
534
758
|
}
|
|
535
759
|
});
|
|
760
|
+
// The member's day-to-day dashboard views, so an agent can answer "what do I
|
|
761
|
+
// have pending?" and "what does Lore know here?" without a shell. Each is
|
|
762
|
+
// the request the matching CLI command sends.
|
|
763
|
+
const listingRepo = async (input) => input.allRepositories ? undefined : await folderRepo(input.repo);
|
|
764
|
+
const repoHeading = (repo) => repo === undefined ? "all repositories in the workspace" : repo;
|
|
765
|
+
server.registerTool("list_learnings", {
|
|
766
|
+
title: "List learnings",
|
|
767
|
+
description: "List the learnings Lore holds for a repository (its own plus workspace-wide ones) with their status, like `lore learnings`: a complete page rather than a ranked answer. Use ask_lore or search_learnings to answer a question. Default status is active; include proposed to see what awaits review. The repository defaults to the current folder; set allRepositories for the whole workspace.",
|
|
768
|
+
inputSchema: ListLearningsInputSchema,
|
|
769
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
770
|
+
}, async (input) => {
|
|
771
|
+
const access = await checkDirectory(process.cwd(), home);
|
|
772
|
+
if (!access.allowed)
|
|
773
|
+
return toolError(new Error(`Lore is off: ${access.reason}.`));
|
|
774
|
+
try {
|
|
775
|
+
const repo = await listingRepo(input);
|
|
776
|
+
const statuses = input.status ?? ["active"];
|
|
777
|
+
const page = await (await clientForFolder()).listLearnings({
|
|
778
|
+
...(repo === undefined ? {} : { repo }),
|
|
779
|
+
status: statuses,
|
|
780
|
+
...(input.category === undefined ? {} : { category: input.category }),
|
|
781
|
+
...(input.query === undefined ? {} : { query: input.query }),
|
|
782
|
+
limit: input.limit,
|
|
783
|
+
offset: input.offset,
|
|
784
|
+
});
|
|
785
|
+
const lines = [
|
|
786
|
+
`${page.total} ${statuses.length === 1 ? `${statuses[0]} ` : ""}learning${page.total === 1 ? "" : "s"} for ${repoHeading(repo)}${page.total > page.memories.length ? ` (showing ${page.offset + 1}-${page.offset + page.memories.length})` : ""}`,
|
|
787
|
+
...page.memories.map(memory => `- ${memory.id} [${memory.category}${statuses.length > 1 ? `, ${memory.status}` : ""}, ${scopeLabel(memory.scope)}, updated ${dateOnly(memory.updatedAt)}]: ${singleLine(memory.content, 200)}`),
|
|
788
|
+
];
|
|
789
|
+
return toolResult({ repo: repo ?? null, total: page.total, limit: page.limit, offset: page.offset, learnings: page.memories }, lines.join("\n"));
|
|
790
|
+
}
|
|
791
|
+
catch (error) {
|
|
792
|
+
return toolError(error);
|
|
793
|
+
}
|
|
794
|
+
});
|
|
795
|
+
server.registerTool("list_proposals", {
|
|
796
|
+
title: "List pending learning proposals",
|
|
797
|
+
description: "When the user asks to review their pending learnings or what is waiting for review, list the proposals that are not yet decided for the repository (its own plus workspace-wide ones), like `lore review`. Each entry carries its text, scope, source, and whether it has an open conflict with an existing learning. Show them to the user with their sources, then decide each with decide_proposal only as the user directs. The repository defaults to the current folder; set allRepositories for the whole workspace.",
|
|
798
|
+
inputSchema: ListProposalsInputSchema,
|
|
799
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
800
|
+
}, async (input) => {
|
|
801
|
+
const access = await checkDirectory(process.cwd(), home);
|
|
802
|
+
if (!access.allowed)
|
|
803
|
+
return toolError(new Error(`Lore is off: ${access.reason}.`));
|
|
804
|
+
try {
|
|
805
|
+
const repo = await listingRepo(input);
|
|
806
|
+
const client = await clientForFolder();
|
|
807
|
+
const page = await client.listLearnings({ ...(repo === undefined ? {} : { repo }), status: ["proposed"], limit: input.limit, offset: input.offset });
|
|
808
|
+
// The list endpoint carries no conflicts; the per-proposal detail does.
|
|
809
|
+
// A connection that cannot read details still gets the list.
|
|
810
|
+
const details = await Promise.allSettled(page.memories.map(memory => client.getProposal(memory.id)));
|
|
811
|
+
const proposals = page.memories.map((memory, index) => {
|
|
812
|
+
const detail = details[index];
|
|
813
|
+
return proposalSummary(memory, detail?.status === "fulfilled" ? detail.value : null);
|
|
814
|
+
});
|
|
815
|
+
const unknownConflicts = proposals.some(proposal => proposal.conflict === null);
|
|
816
|
+
const lines = [
|
|
817
|
+
proposals.length === 0
|
|
818
|
+
? `No pending proposals for ${repoHeading(repo)}.`
|
|
819
|
+
: `${page.total} pending proposal${page.total === 1 ? "" : "s"} for ${repoHeading(repo)}${page.total > proposals.length ? ` (showing ${page.offset + 1}-${page.offset + proposals.length})` : ""}:`,
|
|
820
|
+
...proposals.map((proposal, index) => proposalLine(page.offset + index + 1, proposal)),
|
|
821
|
+
...(proposals.some(proposal => proposal.conflict === true) ? ["", "Proposals with an open conflict are decided in the dashboard, where the current learning can be replaced or kept alongside."] : []),
|
|
822
|
+
...(unknownConflicts ? ["", "Conflicts could not be read with this connection; get_proposal or the dashboard shows them."] : []),
|
|
823
|
+
];
|
|
824
|
+
return toolResult({ repo: repo ?? null, total: page.total, limit: page.limit, offset: page.offset, proposals }, lines.join("\n"));
|
|
825
|
+
}
|
|
826
|
+
catch (error) {
|
|
827
|
+
return toolError(error);
|
|
828
|
+
}
|
|
829
|
+
});
|
|
830
|
+
server.registerTool("get_proposal", {
|
|
831
|
+
title: "Read a learning proposal",
|
|
832
|
+
description: "Read one proposal in full before deciding it: its text, scope, source, why it was proposed, any decision already recorded, and its conflicts with existing learnings (with the current text of each).",
|
|
833
|
+
inputSchema: ProposalIdInputSchema,
|
|
834
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
835
|
+
}, async ({ id }) => {
|
|
836
|
+
try {
|
|
837
|
+
const detail = await (await clientForFolder()).getProposal(id);
|
|
838
|
+
return toolResult(detail, formatProposalDetail(detail));
|
|
839
|
+
}
|
|
840
|
+
catch (error) {
|
|
841
|
+
return reviewFailure(error, id, dashboardUrl);
|
|
842
|
+
}
|
|
843
|
+
});
|
|
844
|
+
server.registerTool("list_sessions", {
|
|
845
|
+
title: "List recent sessions",
|
|
846
|
+
description: "List recent recorded work sessions for the repository with their ids and titles, newest first, so the user can pick one to resume (`lore resume --session <id>`), share (share_lore kind session), or ask about (ask_lore with sessionId). The repository defaults to the current folder; set allRepositories for the whole workspace and view mine for only the member's own sessions.",
|
|
847
|
+
inputSchema: ListSessionsInputSchema,
|
|
848
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
849
|
+
}, async (input) => {
|
|
850
|
+
const access = await checkDirectory(process.cwd(), home);
|
|
851
|
+
if (!access.allowed)
|
|
852
|
+
return toolError(new Error(`Lore is off: ${access.reason}.`));
|
|
853
|
+
try {
|
|
854
|
+
const repo = await listingRepo(input);
|
|
855
|
+
const page = await (await clientForFolder()).listSessions({
|
|
856
|
+
...(repo === undefined ? {} : { repo }),
|
|
857
|
+
...(input.query === undefined ? {} : { query: input.query }),
|
|
858
|
+
...(input.agent === undefined ? {} : { agent: input.agent }),
|
|
859
|
+
...(input.view === undefined ? {} : { view: input.view }),
|
|
860
|
+
limit: input.limit,
|
|
861
|
+
offset: input.offset,
|
|
862
|
+
});
|
|
863
|
+
const sessions = page.sessions.map(session => ({
|
|
864
|
+
id: session.id, title: session.title ?? sessionDisplayTitle(session), agent: session.agent, connector: session.connector,
|
|
865
|
+
repo: session.repo, project: session.project, startedAt: session.startedAt, lastActivityAt: session.lastActivityAt,
|
|
866
|
+
endedAt: session.endedAt, eventCount: session.eventCount, externalSessionId: session.externalSessionId,
|
|
867
|
+
}));
|
|
868
|
+
const lines = [
|
|
869
|
+
sessions.length === 0
|
|
870
|
+
? `No recorded sessions for ${repoHeading(repo)}.`
|
|
871
|
+
: `${page.total} session${page.total === 1 ? "" : "s"} for ${repoHeading(repo)}${page.total > sessions.length ? ` (showing ${page.offset + 1}-${page.offset + sessions.length})` : ""}:`,
|
|
872
|
+
...page.sessions.map(sessionLine),
|
|
873
|
+
...(sessions.length === 0 ? [] : ["", "Resume one with lore resume --session <id>; share one with share_lore (kind session)."]),
|
|
874
|
+
];
|
|
875
|
+
return toolResult({ repo: repo ?? null, total: page.total, limit: page.limit, offset: page.offset, sessions }, lines.join("\n"));
|
|
876
|
+
}
|
|
877
|
+
catch (error) {
|
|
878
|
+
return toolError(error);
|
|
879
|
+
}
|
|
880
|
+
});
|
|
536
881
|
if (writeToolsEnabled) {
|
|
537
882
|
server.registerTool("attach_image", {
|
|
538
883
|
title: "Attach an image to a recorded source",
|
|
@@ -571,7 +916,8 @@ export function createMcpServer(options = {}) {
|
|
|
571
916
|
});
|
|
572
917
|
server.registerTool("remember_learning", {
|
|
573
918
|
title: "Remember engineering knowledge",
|
|
574
|
-
description: "
|
|
919
|
+
description: "Save a durable engineering fact, convention, correction, or decision to the shared workspace when the user asks to remember or save it (\"remember this\", \"save that to Lore\", or the items they pick in /recap). A decision the user only states or mentions is not a request to save it: acknowledge it and offer to save instead of calling this tool. " +
|
|
920
|
+
"The repository defaults to the current folder's Git repository; pass workspaceWide only when the user asks to save for every repository.",
|
|
575
921
|
inputSchema: MemoryRememberInputSchema,
|
|
576
922
|
annotations: {
|
|
577
923
|
readOnlyHint: false,
|
|
@@ -583,6 +929,15 @@ export function createMcpServer(options = {}) {
|
|
|
583
929
|
const access = await checkDirectory(process.cwd(), home);
|
|
584
930
|
if (!access.allowed)
|
|
585
931
|
return toolError(new Error(`Lore is off: ${access.reason}.`));
|
|
932
|
+
if (input.workspaceWide && (input.repo ?? input.scope?.repo) !== undefined) {
|
|
933
|
+
return toolMessage("Choose repo or workspaceWide, not both.");
|
|
934
|
+
}
|
|
935
|
+
// Like questions, a save that names no location belongs to the
|
|
936
|
+
// enclosing Git checkout, so agents never save workspace-wide by
|
|
937
|
+
// omission. Outside a checkout it stays workspace-wide.
|
|
938
|
+
const located = [input.organization, input.project, input.repo, input.scope?.organization, input.scope?.project, input.scope?.repo]
|
|
939
|
+
.some(value => value !== undefined);
|
|
940
|
+
const { repo } = located || input.workspaceWide ? { repo: input.repo } : await questionRepo(undefined);
|
|
586
941
|
try {
|
|
587
942
|
return toolResult(await (await clientForFolder()).createLearning({
|
|
588
943
|
...(input.import ? { import: input.import } : {}),
|
|
@@ -594,7 +949,7 @@ export function createMcpServer(options = {}) {
|
|
|
594
949
|
...(input.project === undefined
|
|
595
950
|
? {}
|
|
596
951
|
: { project: input.project }),
|
|
597
|
-
...(
|
|
952
|
+
...(repo === undefined ? {} : { repo }),
|
|
598
953
|
...(input.path === undefined ? {} : { path: input.path }),
|
|
599
954
|
...(input.component === undefined
|
|
600
955
|
? {}
|
|
@@ -603,7 +958,7 @@ export function createMcpServer(options = {}) {
|
|
|
603
958
|
? {}
|
|
604
959
|
: { category: input.category }),
|
|
605
960
|
source: {
|
|
606
|
-
agent: input.agent,
|
|
961
|
+
agent: callerAgent(input.agent),
|
|
607
962
|
...(input.sessionId === undefined
|
|
608
963
|
? {}
|
|
609
964
|
: { sessionId: input.sessionId }),
|
|
@@ -635,7 +990,7 @@ export function createMcpServer(options = {}) {
|
|
|
635
990
|
? {}
|
|
636
991
|
: { category: input.category }),
|
|
637
992
|
source: {
|
|
638
|
-
agent: input.agent,
|
|
993
|
+
agent: callerAgent(input.agent),
|
|
639
994
|
...(input.sessionId === undefined
|
|
640
995
|
? {}
|
|
641
996
|
: { sessionId: input.sessionId }),
|
|
@@ -664,6 +1019,37 @@ export function createMcpServer(options = {}) {
|
|
|
664
1019
|
return toolError(error);
|
|
665
1020
|
}
|
|
666
1021
|
});
|
|
1022
|
+
server.registerTool("decide_proposal", {
|
|
1023
|
+
title: "Approve or decline a learning proposal",
|
|
1024
|
+
description: "After the user reviews a proposal from list_proposals and says what to do with it, record their decision: approve activates the learning for its scope, decline retires it. Pass the reason in the user's words when given. Only a workspace owner or admin connected with lore connect --login can decide; a proposal with an open conflict is decided in the dashboard, where the current learning can be replaced or kept alongside. This records the user's stated decision; it does not authorize saving, correcting, or deleting other learnings.",
|
|
1025
|
+
inputSchema: DecideProposalInputSchema,
|
|
1026
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
|
|
1027
|
+
}, async ({ id, decision, reason }) => {
|
|
1028
|
+
const access = await checkDirectory(process.cwd(), home);
|
|
1029
|
+
if (!access.allowed)
|
|
1030
|
+
return toolError(new Error(`Lore is off: ${access.reason}.`));
|
|
1031
|
+
try {
|
|
1032
|
+
const client = await clientForFolder();
|
|
1033
|
+
// Refuse here what the dashboard would refuse, with the reason, instead
|
|
1034
|
+
// of a bare HTTP 409 after the request.
|
|
1035
|
+
const detail = await client.getProposal(id);
|
|
1036
|
+
if (detail.metadata.decision !== null) {
|
|
1037
|
+
return toolMessage(`Proposal ${id} was already ${decisionLabel(detail.metadata.decision)} on ${dateOnly(detail.metadata.decidedAt ?? detail.metadata.proposedAt)}. Nothing to decide.`);
|
|
1038
|
+
}
|
|
1039
|
+
const open = openConflicts(detail);
|
|
1040
|
+
if (open.length > 0) {
|
|
1041
|
+
return toolMessage(`Proposal ${id} has ${open.length} open conflict${open.length === 1 ? "" : "s"} with existing learning${open.length === 1 ? "" : "s"} ${open.map(conflict => conflict.targetMemoryId).join(", ")}. Decide it in the Lore dashboard${dashboardUrl === undefined ? "" : ` (${dashboardUrl})`}, where the current learning can be replaced or kept alongside.`);
|
|
1042
|
+
}
|
|
1043
|
+
const result = await client.reviewProposal(id, {
|
|
1044
|
+
decision: decision === "approve" ? "approve" : "reject",
|
|
1045
|
+
...(reason === undefined ? {} : { reason }),
|
|
1046
|
+
});
|
|
1047
|
+
return toolResult(result, formatDecision(decision, result));
|
|
1048
|
+
}
|
|
1049
|
+
catch (error) {
|
|
1050
|
+
return reviewFailure(error, id, dashboardUrl);
|
|
1051
|
+
}
|
|
1052
|
+
});
|
|
667
1053
|
}
|
|
668
1054
|
return server;
|
|
669
1055
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lore-co/mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.24",
|
|
4
4
|
"description": "Lore MCP server for shared engineering knowledge and prior agent sessions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
41
41
|
"zod": "^4.4.3",
|
|
42
|
-
"@lore-co/core": "0.2.
|
|
43
|
-
"@lore-co/sdk": "0.2.
|
|
42
|
+
"@lore-co/core": "0.2.24",
|
|
43
|
+
"@lore-co/sdk": "0.2.24"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"dev": "tsx watch src/index.ts",
|