@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 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.23"],
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.ZodDefault<z.ZodString>;
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.ZodDefault<z.ZodString>;
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.ZodDefault<z.ZodString>;
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>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAkBA,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;AAKxB,OAAO,EACL,2BAA2B,EAC3B,KAAK,8BAA8B,GACpC,MAAM,oCAAoC,CAAC;AAgF5C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;kBAYzB,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;kBAItB,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;;;;;;;kBAuBpB,CAAC;AAEZ,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU3B,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;kBAQ1B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;kBAAuB,CAAC;AAwD5D,eAAO,MAAM,0BAA0B;;;;;;;;;kBAS2K,CAAC;AAEnN,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;CAC/B;AAED,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,SAAS,CAwcX;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpD"}
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 { repositoryScopeFromDirectory } from "@lore-co/core/repository-location";
4
- import { ShareLoreInputSchema, sharedLinkMarkdown, PrepareContextRequestSchema } from "@lore-co/sdk";
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: z.string().trim().min(1).default("mcp"),
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: z.string().trim().min(1).optional().describe("Your integration ID, so agent-specific knowledge applies correctly"),
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: z.string().trim().min(1).default("mcp"),
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: z.string().trim().min(1).default("mcp"),
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.23",
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 ?? "mcp",
488
- ...(input.repo === undefined ? {} : { repo: 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: "Store a durable engineering fact, convention, correction, or decision.",
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
- ...(input.repo === undefined ? {} : { repo: input.repo }),
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.23",
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.23",
43
- "@lore-co/sdk": "0.2.23"
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",