@lore-co/cli 0.2.22 → 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.
Files changed (73) hide show
  1. package/README.md +109 -13
  2. package/dist/approach-guidance.js +2 -2
  3. package/dist/approach-guidance.js.map +1 -1
  4. package/dist/approach.d.ts +1 -1
  5. package/dist/approach.d.ts.map +1 -1
  6. package/dist/approach.js +7 -0
  7. package/dist/approach.js.map +1 -1
  8. package/dist/ask.d.ts +2 -6
  9. package/dist/ask.d.ts.map +1 -1
  10. package/dist/ask.js +4 -21
  11. package/dist/ask.js.map +1 -1
  12. package/dist/chat.d.ts +15 -0
  13. package/dist/chat.d.ts.map +1 -0
  14. package/dist/chat.js +286 -0
  15. package/dist/chat.js.map +1 -0
  16. package/dist/cli.d.ts +80 -7
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +626 -142
  19. package/dist/cli.js.map +1 -1
  20. package/dist/command-help.d.ts +4 -1
  21. package/dist/command-help.d.ts.map +1 -1
  22. package/dist/command-help.js +9 -0
  23. package/dist/command-help.js.map +1 -1
  24. package/dist/devin-capture.d.ts +6 -0
  25. package/dist/devin-capture.d.ts.map +1 -1
  26. package/dist/devin-capture.js +34 -3
  27. package/dist/devin-capture.js.map +1 -1
  28. package/dist/devin-cli.d.ts +7 -2
  29. package/dist/devin-cli.d.ts.map +1 -1
  30. package/dist/devin-cli.js +81 -8
  31. package/dist/devin-cli.js.map +1 -1
  32. package/dist/generated-assets.d.ts +8 -6
  33. package/dist/generated-assets.d.ts.map +1 -1
  34. package/dist/generated-assets.js +8 -6
  35. package/dist/generated-assets.js.map +1 -1
  36. package/dist/generic-mcp.d.ts +35 -0
  37. package/dist/generic-mcp.d.ts.map +1 -0
  38. package/dist/generic-mcp.js +83 -0
  39. package/dist/generic-mcp.js.map +1 -0
  40. package/dist/learnings.d.ts +20 -0
  41. package/dist/learnings.d.ts.map +1 -1
  42. package/dist/learnings.js +25 -16
  43. package/dist/learnings.js.map +1 -1
  44. package/dist/lore-agent.d.ts +50 -0
  45. package/dist/lore-agent.d.ts.map +1 -0
  46. package/dist/lore-agent.js +299 -0
  47. package/dist/lore-agent.js.map +1 -0
  48. package/dist/mcp-config.d.ts +46 -0
  49. package/dist/mcp-config.d.ts.map +1 -0
  50. package/dist/mcp-config.js +196 -0
  51. package/dist/mcp-config.js.map +1 -0
  52. package/dist/owned-files.d.ts +21 -0
  53. package/dist/owned-files.d.ts.map +1 -0
  54. package/dist/owned-files.js +88 -0
  55. package/dist/owned-files.js.map +1 -0
  56. package/dist/recovery-cloud.d.ts +1 -1
  57. package/dist/review.d.ts +30 -0
  58. package/dist/review.d.ts.map +1 -0
  59. package/dist/review.js +276 -0
  60. package/dist/review.js.map +1 -0
  61. package/dist/runtime.d.ts.map +1 -1
  62. package/dist/runtime.js +50 -19
  63. package/dist/runtime.js.map +1 -1
  64. package/dist/self-host.d.ts +1 -1
  65. package/dist/self-host.js +2 -2
  66. package/dist/skills.d.ts +2 -0
  67. package/dist/skills.d.ts.map +1 -1
  68. package/dist/skills.js +46 -97
  69. package/dist/skills.js.map +1 -1
  70. package/dist/update.d.ts.map +1 -1
  71. package/dist/update.js +39 -4
  72. package/dist/update.js.map +1 -1
  73. package/package.json +7 -4
package/dist/chat.js ADDED
@@ -0,0 +1,286 @@
1
+ import { createInterface } from "node:readline";
2
+ import { ChatResponseSchema, GetMemoryResponseSchema, MAX_CHAT_TURNS, WorkSessionDetailResponseSchema, } from "@lore-co/core";
3
+ import { sharingDashboardUrl } from "@lore-co/sdk";
4
+ import { detectRepository } from "./ask.js";
5
+ const CHAT_HELP = `lore chat
6
+ Discuss your workspace's shared knowledge with Lore in plain language.
7
+ Read-only: nothing you type is saved, and no learning, session, approach or
8
+ share is created or changed.
9
+
10
+ Usage:
11
+ lore chat Open a prompt (type quit to leave)
12
+ lore chat "<question>" [options] Answer once and exit
13
+
14
+ Options:
15
+ --repo <repo> Rank knowledge and sessions for this repository
16
+ (default: the Git repository of the current folder)
17
+ --project <name> Rank knowledge and sessions for this project
18
+ --agent <name> Identify the calling agent (default: human)
19
+ --json One-shot mode: print the full machine-readable response
20
+ --help Show this command's help
21
+
22
+ In the prompt:
23
+ <question> Ask; follow-ups keep the previous answer's sources
24
+ <number> Print that cited learning or session in full
25
+ scope <repo> Rank for another repository (scope none for workspace-wide)
26
+ quit Leave the chat
27
+
28
+ Answers cite the learnings and sessions they drew on and say plainly when
29
+ nothing in the workspace covers a question. Servers without an AI model
30
+ (EXTRACTOR_PROVIDER=heuristic) list the retrieved sources instead of prose.
31
+
32
+ Examples:
33
+ lore chat
34
+ lore chat "Has anyone on the team run into flaky auth tests?"
35
+ lore chat "What did we decide about payment retries?" --repo acme/billing --json
36
+ `;
37
+ function parseChatArguments(args) {
38
+ const parsed = { question: "", json: false };
39
+ const positionals = [];
40
+ for (let index = 0; index < args.length; index += 1) {
41
+ const argument = args[index];
42
+ if (argument === "--help" || argument === "-h") {
43
+ process.stdout.write(CHAT_HELP);
44
+ return null;
45
+ }
46
+ if (argument === "--json") {
47
+ parsed.json = true;
48
+ continue;
49
+ }
50
+ if (argument === "--repo" || argument === "--project" || argument === "--agent") {
51
+ const value = args[index + 1];
52
+ if (value === undefined || value.startsWith("-"))
53
+ throw new Error(`Missing value for ${argument}`);
54
+ index += 1;
55
+ if (argument === "--repo")
56
+ parsed.repo = value;
57
+ else if (argument === "--project")
58
+ parsed.project = value;
59
+ else
60
+ parsed.agent = value;
61
+ continue;
62
+ }
63
+ if (argument.startsWith("--"))
64
+ throw new Error(`Unknown chat option: ${argument}`);
65
+ positionals.push(argument);
66
+ }
67
+ parsed.question = positionals.join(" ").trim();
68
+ if (parsed.json && parsed.question === "") {
69
+ throw new Error('--json needs a question. Try: lore chat "What did we decide about retries?" --json');
70
+ }
71
+ return parsed;
72
+ }
73
+ async function request(config, method, path, body) {
74
+ try {
75
+ return await fetch(`${config.apiUrl}${path}`, {
76
+ method,
77
+ headers: {
78
+ accept: "application/json",
79
+ authorization: `Bearer ${config.token}`,
80
+ ...(body === undefined ? {} : { "content-type": "application/json" }),
81
+ },
82
+ ...(body === undefined ? {} : { body: JSON.stringify(body) }),
83
+ signal: AbortSignal.timeout(60_000),
84
+ });
85
+ }
86
+ catch {
87
+ throw new Error("Lore API is unreachable. Run lore doctor to diagnose connectivity.");
88
+ }
89
+ }
90
+ function failForStatus(response, feature) {
91
+ if (response.status === 401 || response.status === 403) {
92
+ throw new Error("Lore authentication failed. Reconnect with a valid workspace token.");
93
+ }
94
+ if (response.status === 404) {
95
+ throw new Error(`This Lore server does not support ${feature}. Upgrade the server to use lore chat.`);
96
+ }
97
+ if (response.status === 503) {
98
+ throw new Error("Lore chat is unavailable: the server's model did not answer. Try again later.");
99
+ }
100
+ if (!response.ok)
101
+ throw new Error(`Lore chat failed with HTTP ${response.status}.`);
102
+ }
103
+ async function sendMessage(session, message) {
104
+ const body = {
105
+ message,
106
+ ...(session.turns.length === 0 ? {} : { turns: session.turns.slice(-MAX_CHAT_TURNS) }),
107
+ ...(session.cited.learnings.length === 0 && session.cited.sessions.length === 0 ? {} : { cited: session.cited }),
108
+ ...(session.repo === undefined ? {} : { repo: session.repo }),
109
+ ...(session.project === undefined ? {} : { project: session.project }),
110
+ ...(session.agent === undefined ? {} : { agent: session.agent }),
111
+ };
112
+ const response = await request(session.config, "POST", "/v1/chat", body);
113
+ failForStatus(response, "chat");
114
+ const parsed = ChatResponseSchema.safeParse(JSON.parse(await response.text()));
115
+ if (!parsed.success) {
116
+ throw new Error("Lore server returned an incompatible chat response. Upgrade the server and CLI.");
117
+ }
118
+ return parsed.data;
119
+ }
120
+ function dashboardFor(config) {
121
+ try {
122
+ return sharingDashboardUrl(config.apiUrl, config.dashboardUrl);
123
+ }
124
+ catch {
125
+ return null;
126
+ }
127
+ }
128
+ function formatRepositoryLine(repo, source) {
129
+ if (repo === undefined)
130
+ return "Repository: none detected in this folder; discussing workspace-wide knowledge.";
131
+ return `Repository: ${repo} (${source === "flag" ? "from --repo" : "detected from the current folder"})`;
132
+ }
133
+ /** Cited sources first, numbered for the prompt; retrieval mode shows everything found. */
134
+ function listedSources(response) {
135
+ const cited = response.sources.filter((source) => source.cited);
136
+ return cited.length > 0 ? cited : response.mode === "retrieval" ? response.sources : [];
137
+ }
138
+ export function formatChatAnswer(response, dashboard) {
139
+ const sources = listedSources(response);
140
+ const lines = [response.answer.trimEnd()];
141
+ if (sources.length > 0) {
142
+ lines.push("", "Sources:");
143
+ for (const [index, source] of sources.entries()) {
144
+ const where = source.repo === null ? "workspace-wide" : source.repo;
145
+ const link = dashboard === null ? "" : ` ${new URL(source.path, dashboard).href}`;
146
+ lines.push(` [${index + 1}] ${source.kind} · ${source.title} · ${where}${link}`);
147
+ if (response.mode === "retrieval" && source.excerpt !== "")
148
+ lines.push(` ${source.excerpt.slice(0, 240)}`);
149
+ }
150
+ lines.push("Type a number to read a source in full.");
151
+ }
152
+ return { text: `${lines.join("\n")}\n`, sources };
153
+ }
154
+ async function printSource(session, source, write) {
155
+ const link = session.dashboard === null ? "" : `\nDashboard: ${new URL(source.path, session.dashboard).href}`;
156
+ if (source.kind === "learning") {
157
+ const response = await request(session.config, "GET", `/v1/learnings/${source.id}`);
158
+ failForStatus(response, "learnings");
159
+ const parsed = GetMemoryResponseSchema.safeParse(JSON.parse(await response.text()));
160
+ const memory = parsed.success ? parsed.data.memory : null;
161
+ if (memory === null)
162
+ throw new Error("This learning is no longer available in your workspace.");
163
+ const scope = [memory.scope.repo === undefined ? "workspace-wide" : memory.scope.repo, memory.scope.path, memory.scope.component]
164
+ .filter((value) => typeof value === "string").join(" · ");
165
+ write(`Learning ${memory.id}\n${memory.content}\n\ncategory: ${memory.category} · status: ${memory.status} · scope: ${scope} · updated ${memory.updatedAt.slice(0, 10)}${link}\n`);
166
+ return;
167
+ }
168
+ const response = await request(session.config, "GET", `/v1/sessions/${source.id}`);
169
+ failForStatus(response, "sessions");
170
+ const parsed = WorkSessionDetailResponseSchema.safeParse(JSON.parse(await response.text()));
171
+ if (!parsed.success)
172
+ throw new Error("This session is no longer available in your workspace.");
173
+ const { session: detail, events } = parsed.data;
174
+ const where = detail.repo ?? detail.project ?? "unknown repo";
175
+ const lines = [`Session ${detail.id} · ${detail.agent} · ${where} · last active ${detail.lastActivityAt.slice(0, 10)} · ${detail.eventCount} event(s)`];
176
+ if (detail.title)
177
+ lines.push(detail.title);
178
+ for (const event of events) {
179
+ const parts = [
180
+ event.task === null ? null : `task: ${event.task}`,
181
+ event.userText === null ? null : `user: ${event.userText}`,
182
+ event.assistantText === null ? null : `assistant: ${event.assistantText}`,
183
+ ].filter((value) => value !== null);
184
+ if (parts.length > 0)
185
+ lines.push("", `[${event.occurredAt.slice(0, 16).replace("T", " ")} · ${event.type}]`, ...parts);
186
+ }
187
+ write(`${lines.join("\n")}${link}\n`);
188
+ }
189
+ async function handleLine(session, raw, write) {
190
+ const line = raw.trim();
191
+ if (line === "")
192
+ return "continue";
193
+ if (line === "quit" || line === "exit")
194
+ return "quit";
195
+ if (/^\d+$/u.test(line)) {
196
+ const source = session.sources[Number(line) - 1];
197
+ if (source === undefined) {
198
+ write(session.sources.length === 0 ? "No sources to open yet. Ask a question first.\n" : `Choose a source between 1 and ${session.sources.length}.\n`);
199
+ return "continue";
200
+ }
201
+ await printSource(session, source, write);
202
+ return "continue";
203
+ }
204
+ const scope = /^scope(?:\s+(.*))?$/u.exec(line);
205
+ if (scope !== null) {
206
+ const value = scope[1]?.trim();
207
+ if (value === undefined || value === "") {
208
+ write(`${formatRepositoryLine(session.repo, session.repoSource)}\nUse: scope <owner/repo> or scope none\n`);
209
+ return "continue";
210
+ }
211
+ session.repo = value === "none" ? undefined : value;
212
+ session.repoSource = "flag";
213
+ // A new scope is a new subject: start the thread again.
214
+ session.turns = [];
215
+ session.cited = { learnings: [], sessions: [] };
216
+ session.sources = [];
217
+ write(`${session.repo === undefined ? "Repository: none; discussing workspace-wide knowledge." : `Repository: ${session.repo}`}\n`);
218
+ return "continue";
219
+ }
220
+ const response = await sendMessage(session, line);
221
+ const formatted = formatChatAnswer(response, session.dashboard);
222
+ write(formatted.text);
223
+ session.sources = formatted.sources;
224
+ session.cited = response.cited;
225
+ const exchange = [{ role: "user", content: line }, { role: "lore", content: response.answer.slice(0, 4_000) }];
226
+ session.turns = [...session.turns, ...exchange].slice(-MAX_CHAT_TURNS);
227
+ return "continue";
228
+ }
229
+ export async function runChatCommand(args, config, options = {}) {
230
+ const parsed = parseChatArguments(args);
231
+ if (parsed === null)
232
+ return;
233
+ if (config === null) {
234
+ throw new Error("Lore is not connected. Run: lore connect --token <workspace-token>");
235
+ }
236
+ const output = options.output ?? process.stdout;
237
+ const write = (text) => { output.write(text); };
238
+ const repoSource = parsed.repo === undefined ? "folder" : "flag";
239
+ const session = {
240
+ config,
241
+ repo: parsed.repo ?? (await detectRepository(options.cwd ?? process.cwd())),
242
+ repoSource,
243
+ project: parsed.project,
244
+ agent: parsed.agent,
245
+ turns: [],
246
+ cited: { learnings: [], sessions: [] },
247
+ sources: [],
248
+ dashboard: dashboardFor(config),
249
+ };
250
+ if (parsed.question !== "") {
251
+ const response = await sendMessage(session, parsed.question);
252
+ if (parsed.json) {
253
+ write(`${JSON.stringify(response, null, 2)}\n`);
254
+ return;
255
+ }
256
+ const formatted = formatChatAnswer(response, session.dashboard);
257
+ write(`${formatRepositoryLine(session.repo, session.repoSource)}\n\n${formatted.text.replace(/\nType a number to read a source in full\.\n$/u, "\n")}`);
258
+ return;
259
+ }
260
+ write(`Lore chat (read-only; nothing you type is saved)\n${formatRepositoryLine(session.repo, session.repoSource)}\nAsk a question, type a source number to read it, scope <repo> to change scope, or quit.\n\n`);
261
+ const input = options.input ?? process.stdin;
262
+ const prompt = createInterface({ input, terminal: false });
263
+ const showPrompt = () => write("lore> ");
264
+ showPrompt();
265
+ try {
266
+ for await (const line of prompt) {
267
+ let outcome;
268
+ try {
269
+ outcome = await handleLine(session, line, write);
270
+ }
271
+ catch (error) {
272
+ // One failed turn ends neither the chat nor the terminal session.
273
+ write(`${error instanceof Error ? error.message : String(error)}\n`);
274
+ outcome = "continue";
275
+ }
276
+ if (outcome === "quit")
277
+ break;
278
+ showPrompt();
279
+ }
280
+ }
281
+ finally {
282
+ prompt.close();
283
+ }
284
+ write("\n");
285
+ }
286
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,16 +1,20 @@
1
1
  #!/usr/bin/env node
2
- import { type DirectoryRules } from "./directory-policy.js";
2
+ import { type CapturePause, type DirectoryRules } from "./directory-policy.js";
3
3
  import { type CaptureScopeOptions } from "./capture-scope.js";
4
4
  import { type ConnectionReference } from "./directory-policy.js";
5
+ import { type LoreMcpAgent, type McpHostAgent } from "./mcp-config.js";
5
6
  import { type OperationalMetricsResponse, type WorkspaceIdentityResponse } from "@lore-co/core";
6
7
  import { type CommandHookAgentName } from "./runtime.js";
8
+ import { genericMcpServers, type GenericMcpAgent } from "./generic-mcp.js";
7
9
  import { type ReliabilityStoreInspection } from "./reliability-store.js";
8
10
  export declare const LORE_OPENCODE_PLUGIN = "@lore-co/opencode";
9
11
  export declare const DEFAULT_HOSTED_API_URL = "https://api.uselore.co";
10
12
  export declare const DEFAULT_HOSTED_DASHBOARD_URL = "https://uselore.co";
11
13
  declare const CONFIGURED_AGENT_NAMES: readonly ["claude", "codex", "copilot-cli", "copilot-vscode", "cursor", "opencode", "polytoken"];
12
14
  export type ConfiguredAgentName = (typeof CONFIGURED_AGENT_NAMES)[number];
13
- export type ConnectAgentName = ConfiguredAgentName | "copilot" | "cowork" | "devin" | "t3code";
15
+ export type ConnectAgentName = ConfiguredAgentName | "copilot" | "cowork" | "devin" | "generic" | "t3code";
16
+ /** Capture mode of a connection: absent means on. */
17
+ export declare function captureEnabled(config: Pick<ConnectorConfig, "capture"> | null | undefined): boolean;
14
18
  export interface LorePaths {
15
19
  home: string;
16
20
  loreDirectory: string;
@@ -51,25 +55,33 @@ export interface ConnectorConfig {
51
55
  token: string;
52
56
  agents: ConfiguredAgentName[];
53
57
  agentConfigPaths?: Partial<Record<ConfiguredAgentName, string[]>>;
58
+ /** Retrieval-only mode: "off" installs no turn-capture hooks and records no turns. Absent means on. */
59
+ capture?: "on" | "off";
54
60
  connectedAt: string;
55
61
  timeoutMs: number;
56
62
  }
57
63
  export declare function getLorePaths(home?: string, environment?: NodeJS.ProcessEnv, cwd?: string): LorePaths;
58
- export declare function mergeLoreHooks(input: Record<string, unknown>, agent: CommandHookAgentName, paths: LorePaths): Record<string, unknown>;
64
+ export declare function mergeLoreHooks(input: Record<string, unknown>, agent: CommandHookAgentName, paths: LorePaths, capture?: boolean): Record<string, unknown>;
59
65
  export declare function removeLoreHooks(input: Record<string, unknown>): Record<string, unknown>;
60
66
  export declare function countLoreHooks(input: Record<string, unknown>): number;
61
67
  export declare function mergeLoreCursorMcp(input: unknown, paths: LorePaths): Record<string, unknown>;
62
68
  export declare function removeLoreCursorMcp(input: unknown): Record<string, unknown>;
63
- export declare function mergeLoreCursorHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
69
+ /** The full Lore MCP server, run by this CLI so it shares the hooks' credentials and version. */
70
+ export declare function loreMcpServer(paths: LorePaths, agent: LoreMcpAgent): Record<string, unknown>;
71
+ /** Where each agent lists MCP servers, located from the hooks file Lore already manages. */
72
+ export declare function mcpConfigPath(agent: McpHostAgent, hooksPath: string): string;
73
+ export declare function mergeLoreMcp(input: unknown, agent: McpHostAgent, paths: LorePaths): Record<string, unknown>;
74
+ export declare function removeLoreMcp(input: unknown, agent: McpHostAgent): Record<string, unknown>;
75
+ export declare function mergeLoreCursorHooks(input: Record<string, unknown>, paths: LorePaths, capture?: boolean): Record<string, unknown>;
64
76
  export declare function removeLoreCursorHooks(input: Record<string, unknown>): Record<string, unknown>;
65
77
  export declare function countLoreCursorHooks(input: Record<string, unknown>): number;
66
- export declare function mergeLoreCopilotCliHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
78
+ export declare function mergeLoreCopilotCliHooks(input: Record<string, unknown>, paths: LorePaths, capture?: boolean): Record<string, unknown>;
67
79
  export declare function removeLoreCopilotCliHooks(input: Record<string, unknown>): Record<string, unknown>;
68
80
  export declare function countLoreCopilotCliHooks(input: Record<string, unknown>): number;
69
- export declare function mergeLoreCopilotVscodeHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
81
+ export declare function mergeLoreCopilotVscodeHooks(input: Record<string, unknown>, paths: LorePaths, capture?: boolean): Record<string, unknown>;
70
82
  export declare function removeLoreCopilotVscodeHooks(input: Record<string, unknown>): Record<string, unknown>;
71
83
  export declare function countLoreCopilotVscodeHooks(input: Record<string, unknown>): number;
72
- export declare function mergeLorePolytokenHooks(input: unknown, paths: LorePaths): unknown[];
84
+ export declare function mergeLorePolytokenHooks(input: unknown, paths: LorePaths, capture?: boolean): unknown[];
73
85
  export declare function removeLorePolytokenHooks(input: unknown): unknown[];
74
86
  export declare function countLorePolytokenHooks(input: unknown): number;
75
87
  export declare function mergeLoreOpenCodePlugin(input: Record<string, unknown>): Record<string, unknown>;
@@ -88,7 +100,28 @@ export interface AgentInstallation {
88
100
  configPath: string;
89
101
  }
90
102
  export declare function t3CodeProviderInstallations(settings: unknown, paths: LorePaths): AgentInstallation[];
103
+ export interface RefreshAgentEntriesResult {
104
+ /** Every file the stored connection's agents own: hooks files and MCP configs. */
105
+ configFiles: string[];
106
+ changedFiles: string[];
107
+ backups: string[];
108
+ /** Skill files now at the current version, installed or already current. */
109
+ skillFiles: string[];
110
+ /** Lore agent definitions now at the current version. */
111
+ agentFiles: string[];
112
+ /** Skill or agent files left alone, with the reason; recording works without them. */
113
+ warnings: string[];
114
+ }
115
+ /**
116
+ * Re-apply the Lore-owned hook and MCP entries and the `lore` skill for the
117
+ * agents recorded in the stored connection, for example after `lore update`
118
+ * replaced the binary. Nothing is authorized again and folder rules are
119
+ * untouched. Resolves to null when no connection is stored.
120
+ */
121
+ export declare function refreshAgentEntries(paths?: LorePaths): Promise<RefreshAgentEntriesResult | null>;
91
122
  export interface ConnectWithCredentialOptions extends CaptureScopeOptions {
123
+ /** false installs retrieval-only hooks; undefined keeps the saved capture mode. */
124
+ capture?: boolean;
92
125
  connectionName?: string;
93
126
  fallback?: string;
94
127
  /** CLI setup opts in automatically; embedded callers can choose explicitly. */
@@ -101,14 +134,26 @@ export interface ConnectWithCredentialOptions extends CaptureScopeOptions {
101
134
  dashboardUrl?: string;
102
135
  token: string;
103
136
  agents: readonly ConnectAgentName[];
137
+ /** The MCP-only agent set up by --agent generic; defaults to id "generic", read-only. */
138
+ genericAgent?: GenericMcpAgent;
104
139
  timeoutMs?: number;
105
140
  }
141
+ /** What an MCP-only agent needs pasted into its own settings. */
142
+ export interface GenericAgentSetup extends GenericMcpAgent {
143
+ mcpServers: ReturnType<typeof genericMcpServers>["mcpServers"];
144
+ instructions: string;
145
+ }
106
146
  export interface ConnectResult {
107
147
  capture: {
148
+ mode: "on" | "off";
108
149
  folders: string[] | null;
109
150
  excludedFolders: string[];
110
151
  };
111
152
  skillFiles: string[];
153
+ /** Lore agent definitions installed for the connected harnesses. */
154
+ agentFiles: string[];
155
+ /** Set by --agent generic: the entry and instructions to paste, capture always off. */
156
+ genericAgent?: GenericAgentSetup;
112
157
  recoveryNotice?: string;
113
158
  connected: true;
114
159
  apiUrl: string;
@@ -148,6 +193,22 @@ export interface DoctorCheck {
148
193
  status: "ok" | "warning" | "error";
149
194
  detail: string;
150
195
  }
196
+ /** The dashboard's live capture switches, read with the workspace repository policy. */
197
+ export interface CaptureSwitchStatus {
198
+ /** Which switch pauses capture; null when both are on or the policy was not read. */
199
+ pausedBy: CapturePause | null;
200
+ /** False when the policy could not be read; hooks then fail closed and record nothing. */
201
+ checked: boolean;
202
+ reason: string;
203
+ }
204
+ /**
205
+ * The effective capture state for `lore capture status` and `lore status`:
206
+ * the machine's own choice, then the dashboard switch that pauses it, worded
207
+ * as `lore doctor` words it.
208
+ */
209
+ export declare function captureSummary(capture: "on" | "off", switches?: CaptureSwitchStatus): string;
210
+ /** Retrieval-only mode and a paused switch are chosen configurations, never warnings. */
211
+ export declare function captureModeCheck(capture: "on" | "off", switches?: CaptureSwitchStatus): DoctorCheck;
151
212
  /**
152
213
  * Server-side queue health. Dead embedding jobs name the operator fix: once the
153
214
  * provider is repaired, `lore embeddings repair` retries them without waiting
@@ -160,6 +221,18 @@ export declare function operationalMetricsCheck(metrics: OperationalMetricsRespo
160
221
  * cannot help, and doctor prunes them after the retention window.
161
222
  */
162
223
  export declare function durableOutboxCheck(outbox: ReliabilityStoreInspection["outbox"], pruned?: number): DoctorCheck;
224
+ interface CaptureCommandResult {
225
+ /** This machine's own choice. */
226
+ capture: "on" | "off";
227
+ /** The dashboard switch pausing a machine whose own choice is on; status only. */
228
+ pausedBy?: CapturePause | null;
229
+ changed: boolean;
230
+ configFiles: string[];
231
+ }
232
+ /** Switch retrieval-only mode and rewrite the agent hooks to match, without re-authorizing. */
233
+ export declare function setCaptureMode(capture: "on" | "off", paths?: LorePaths): Promise<CaptureCommandResult>;
234
+ /** MCP-only agents from `lore connect --agent generic`: their skills, and that nothing records them. */
235
+ export declare function genericAgentChecks(paths: LorePaths): Promise<DoctorCheck[]>;
163
236
  export declare function runCli(args?: readonly string[]): Promise<void>;
164
237
  export {};
165
238
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}