@lore-co/cli 0.2.22 → 0.2.23
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 +59 -11
- package/dist/approach-guidance.js +2 -2
- package/dist/approach-guidance.js.map +1 -1
- package/dist/approach.d.ts +1 -1
- package/dist/approach.d.ts.map +1 -1
- package/dist/approach.js +7 -0
- package/dist/approach.js.map +1 -1
- package/dist/cli.d.ts +24 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +227 -65
- package/dist/cli.js.map +1 -1
- package/dist/command-help.d.ts +2 -1
- package/dist/command-help.d.ts.map +1 -1
- package/dist/command-help.js +4 -0
- package/dist/command-help.js.map +1 -1
- package/dist/generated-assets.d.ts +6 -6
- package/dist/generated-assets.d.ts.map +1 -1
- package/dist/generated-assets.js +6 -6
- package/dist/generated-assets.js.map +1 -1
- package/dist/learnings.d.ts +20 -0
- package/dist/learnings.d.ts.map +1 -1
- package/dist/learnings.js +25 -16
- package/dist/learnings.js.map +1 -1
- package/dist/mcp-config.d.ts +29 -0
- package/dist/mcp-config.d.ts.map +1 -0
- package/dist/mcp-config.js +136 -0
- package/dist/mcp-config.js.map +1 -0
- package/dist/review.d.ts +30 -0
- package/dist/review.d.ts.map +1 -0
- package/dist/review.js +276 -0
- package/dist/review.js.map +1 -0
- package/dist/self-host.d.ts +1 -1
- package/dist/self-host.js +2 -2
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +36 -4
- package/dist/update.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -197,6 +197,32 @@ table with each learning's ID, category, update date, and text; `--json` prints
|
|
|
197
197
|
through `GET /v1/learnings` until every match is loaded, and honours the
|
|
198
198
|
workspace repository restrictions before reading anything.
|
|
199
199
|
|
|
200
|
+
```sh
|
|
201
|
+
lore review
|
|
202
|
+
lore review --repo acme/app
|
|
203
|
+
lore review show <id>
|
|
204
|
+
lore review approve <id> --reason "Matches the deployment runbook."
|
|
205
|
+
lore review decline <id> --reason "Superseded by the new lint rule."
|
|
206
|
+
lore review --all-repositories --json
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
`review` handles pending learning proposals without opening the dashboard.
|
|
210
|
+
Automatic extraction, `lore github harvest`, agent saves, and members'
|
|
211
|
+
submissions all land as proposals that an owner or admin must approve before
|
|
212
|
+
agents receive them. `lore review` lists the proposals waiting for a
|
|
213
|
+
repository (defaulting to the current folder's Git repository; `--repo` or
|
|
214
|
+
`--all-repositories` change that), `show` prints one proposal with its source
|
|
215
|
+
and any conflicts, and `approve` or `decline` records the decision with an
|
|
216
|
+
optional `--reason`. `--json` prints the server records for scripts.
|
|
217
|
+
|
|
218
|
+
Deciding needs a connection that identifies you: connect with
|
|
219
|
+
`lore connect --login`, which mints a credential you approved for this machine.
|
|
220
|
+
Workspace tokens created in the dashboard for integrations are refused, so an
|
|
221
|
+
agent cannot approve its own captures, and members can read proposals but not
|
|
222
|
+
decide them, the same rules the dashboard applies. A proposal with an open
|
|
223
|
+
conflict against an existing learning is decided in the dashboard, where the
|
|
224
|
+
current learning can be replaced or kept alongside the proposal.
|
|
225
|
+
|
|
200
226
|
## Use Lore with your agent
|
|
201
227
|
|
|
202
228
|
Choose **lore** in your agent's skills to find shared knowledge or save what you
|
|
@@ -211,8 +237,9 @@ checks existing learnings, and uses the current repository's connection. Saving
|
|
|
211
237
|
requires write access and may need workspace review; it does not make a learning
|
|
212
238
|
a Required rule.
|
|
213
239
|
|
|
214
|
-
|
|
215
|
-
the previous `lore-remember` skill with
|
|
240
|
+
Both `lore connect` and `lore update` install the current skill files; restart
|
|
241
|
+
your agent afterwards. Setup replaces the previous `lore-remember` skill with
|
|
242
|
+
`lore`, preserving customer-edited files.
|
|
216
243
|
Claude Code also supports `/lore`; Codex supports `$lore`.
|
|
217
244
|
|
|
218
245
|
The skill is installed in `~/.agents/skills/lore` for Codex, Cursor, Copilot and
|
|
@@ -329,7 +356,7 @@ content-free `guard_check` audit event.
|
|
|
329
356
|
|
|
330
357
|
```sh
|
|
331
358
|
lore update
|
|
332
|
-
lore update --version v0.2.
|
|
359
|
+
lore update --version v0.2.23
|
|
333
360
|
```
|
|
334
361
|
|
|
335
362
|
`update` resolves the latest release to an exact tag, or uses the exact
|
|
@@ -339,12 +366,19 @@ version before replacing the current target. `LORE_REPO` selects another
|
|
|
339
366
|
GitHub repository and `LORE_RELEASE_BASE_URL` selects an HTTPS release mirror;
|
|
340
367
|
`LORE_BIN_DIR` overrides the standalone install directory.
|
|
341
368
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
369
|
+
Once the binary is in place, `update` re-applies the Lore-owned entries for
|
|
370
|
+
every agent recorded in the stored connection: the hooks in files such as
|
|
371
|
+
`~/.claude/settings.json`, `~/.codex/hooks.json`, and `~/.cursor/hooks.json`,
|
|
372
|
+
the `lore` MCP server entries next to them, the `@lore-co/opencode` plugin, the
|
|
373
|
+
`lore` skill files, and the hook runtime when an agent needs it. It uses the
|
|
374
|
+
same merge as `connect`, so unchanged files are left alone, changed files
|
|
375
|
+
receive timestamped backups, customer-edited skill files are preserved with a
|
|
376
|
+
warning, and the refreshed files are listed after the `Updated Lore to
|
|
377
|
+
<version>` line.
|
|
378
|
+
Authorization is not repeated and folder rules are untouched; with no stored
|
|
379
|
+
connection, `update` only replaces the binary. The refresh runs from the
|
|
380
|
+
updater that was already installed, so an update from a release that predates
|
|
381
|
+
it still needs one `lore connect` afterwards.
|
|
348
382
|
|
|
349
383
|
## Inspect or remove
|
|
350
384
|
|
|
@@ -482,6 +516,20 @@ command has subcommand-specific `--help`, and `up`, `down`, and `status` support
|
|
|
482
516
|
|
|
483
517
|
## Runtime behavior
|
|
484
518
|
|
|
519
|
+
Claude Code, Codex, and Cursor also receive the `lore` MCP server, run by this
|
|
520
|
+
CLI from the same protected config. Hooks keep delivering context into each
|
|
521
|
+
prompt and capturing turns; the server adds the explicit tools behind "ask Lore
|
|
522
|
+
what we decided", "remember this", "share this", and "make this repeatable"
|
|
523
|
+
(`ask_lore`, `search_learnings`, `remember_learning`, `share_lore`, and the
|
|
524
|
+
approach tools). It skips `prepare_context` because the hooks already deliver
|
|
525
|
+
context, and its saves stay proposals until an owner or admin approves them.
|
|
526
|
+
Connect writes the entry to `~/.claude.json`, a marked block in
|
|
527
|
+
`~/.codex/config.toml`, and `~/.cursor/mcp.json`; `lore status` reports it as
|
|
528
|
+
the `mcp-tools` unit, and disconnect removes only that entry. Claude Code asks
|
|
529
|
+
once before it runs a new MCP server. `lore update` re-applies the entry after
|
|
530
|
+
it replaces the binary, so an existing installation does not need a reconnect
|
|
531
|
+
to receive it.
|
|
532
|
+
|
|
485
533
|
Cursor installs five hooks and a `lore-native` MCP server. Its `sessionStart`
|
|
486
534
|
hook instructs the agent to call `lore_context` before each request and
|
|
487
535
|
`lore_complete` after its response. The bridge retrieves scoped context, captures
|
|
@@ -489,7 +537,7 @@ teachings, and stages prior attempts even in CLI print mode. Repository identity
|
|
|
489
537
|
comes from the native session; MCP input cannot override it. Credentials remain
|
|
490
538
|
in Lore's protected config. Keep the server enabled, reconnect with the updated
|
|
491
539
|
CLI (`lore connect --agent cursor`), and start a new conversation to activate it.
|
|
492
|
-
`lore status` checks all five hooks plus
|
|
540
|
+
`lore status` checks all five hooks plus both MCP servers. Other MCP entries are
|
|
493
541
|
preserved during connect and disconnect.
|
|
494
542
|
|
|
495
543
|
The Claude/Codex/Cursor/Polytoken command-hook handler:
|
|
@@ -674,7 +722,7 @@ same-repository, non-draft pull requests bearing the corresponding
|
|
|
674
722
|
`lore:codex-review` or `lore:devin-review` label.
|
|
675
723
|
|
|
676
724
|
Generated jobs require a published standalone binary release and default to
|
|
677
|
-
`treadiehq/lore-releases` at `v0.2.
|
|
725
|
+
`treadiehq/lore-releases` at `v0.2.23`. Set `LORE_CLI_REPOSITORY` to the publicly
|
|
678
726
|
readable `owner/repository` and `LORE_CLI_VERSION` to an existing release tag
|
|
679
727
|
when using another release source.
|
|
680
728
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export function approachGuidance(prompt, agent, sessionId, retained = []) {
|
|
2
2
|
// A capability cue lets the agent recognize ordinary requests itself. Reuse
|
|
3
3
|
// must not depend on the user knowing a feature name or a trigger phrase.
|
|
4
|
-
const discovery = `Lore can save and reuse reviewed approaches in Learnings. If the user asks to repeat earlier work or do it the way it was done before,
|
|
4
|
+
const discovery = `Lore can save and reuse reviewed approaches in Learnings. If the user asks to repeat earlier work or do it the way it was done before, list active approaches in this repository and choose by the task, without requiring an exact name. Prefer the Lore MCP tools when your host offers them (search_approaches, get_approach, use_approach, report_approach_run, decide_approach_run); they record the run without a shell command. Otherwise run \`lore approach --help\` and pass each request through \`--input <file>\` from a temporary JSON file; never pipe approach JSON inline or put its free-text values on the command line. Infer inputs from the request and repository; ask only for missing information or an ambiguous match. Use the saved version, check prerequisites before editing, and record the actual result. Your native session is ${JSON.stringify({ agent, sessionId })}.`;
|
|
5
5
|
const detailed = /\bmake (?:this|that|it|the work) repeatable\b|\b(?:saved|reusable) approach\b/iu.test(prompt);
|
|
6
|
-
const instructions = ["
|
|
6
|
+
const instructions = ["Prefer the Lore MCP approach tools when your host offers them; prepare_approach, draft_approach, and save_approach carry the same contract as the CLI operations. Otherwise run `lore approach --help` for the JSON command contract, write each request to a temporary JSON file, and pass its path with `--input`; do not pipe the JSON inline, so summaries, notes, and other free text stay off the command line. Both paths use this folder's existing connection.",
|
|
7
7
|
`For source preparation, use an explicit Lore source session if the user supplied one. Otherwise your native session reference is ${JSON.stringify({ externalSessionId: sessionId, agent })}. Resolve it with prepare; never invent a Lore session UUID. If it is not captured yet, use explicit source notes and describe missing evidence.`,
|
|
8
8
|
"For saving: prepare the source, preserve human corrections, show the name, inputs, steps, prerequisites, and checks, then keep a draft. Save only after the user reviews and asks to save. Missing final work or checks must stay a draft. Agent saves are proposals and need owner or admin approval in Learnings before reuse.",
|
|
9
9
|
"For sources: when a correction in the session was already captured as an active learning in this repository, pass its id in learningIds and cite it from the step, prerequisite, check, or stop condition it supports. Pass further captured sessions in sessionIds. Cite only ids that prepare returned under sources. Do not create learnings while saving an approach; an uncaptured correction stays an uncited item for the reviewer.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approach-guidance.js","sourceRoot":"","sources":["../src/approach-guidance.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,KAAa,EAAE,SAAiB,EAAE,WAA8B,EAAE;IACjH,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"approach-guidance.js","sourceRoot":"","sources":["../src/approach-guidance.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,KAAa,EAAE,SAAiB,EAAE,WAA8B,EAAE;IACjH,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,q0BAAq0B,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC;IAC/3B,MAAM,QAAQ,GAAG,iFAAiF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChH,MAAM,YAAY,GAAG,CAAC,ycAAyc;QAC7d,oIAAoI,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,kJAAkJ;QAC7U,kUAAkU;QAClU,4aAA4a;QAC5a,irBAAirB;QACjrB,4QAA4Q;QAC5Q,giBAAgiB;KACjiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,yEAAyE;IACzE,uEAAuE;IACvE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACpD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;AAC/B,CAAC"}
|
package/dist/approach.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LoreClient } from "@lore-co/sdk";
|
|
2
2
|
import type { ConnectorConfig } from "./cli.js";
|
|
3
|
-
export declare const APPROACH_HELP = "lore approach \u2014 save and reuse a reviewed way of working\n\nUsage: lore approach <operation> --input <JSON-file|->\n\nOperations (JSON response):\n prepare {repo?, sessionId?, externalSessionId?, agent?, sessionIds?, learningIds?, notes?, task?}\n Reads captured source work. sessionId is Lore's UUID; externalSessionId\n resolves the current native agent session. sessionIds adds further\n captured sessions (10 at most) and learningIds adds active learnings\n from the same repository (50 at most). Pass notes for missing work.\n The response lists every source under \"sources\" with its current state.\n draft {repo?, document, source, agent, requestId}\n Keeps a draft using the exact source from prepare. Does not activate it.\n list {repo?, query?, status?} (defaults to active in the current repository)\n get {id, version?}\n revise {id, expectedVersion, document} (creates a separate draft version)\n save {id, expectedVersion, validation}\n Only after the user reviews and asks to save. Describe the actual final\n artifact and checks; keep a draft when these are missing.\n Submits for owner or admin approval in Learnings before reuse.\n use {id, version, repo?, agent, sessionId, inputs, requestId}\n Returns steps and records a run. Check current prerequisites BEFORE\n editing. The agent executes with its normal tools and permissions.\n report {id, outcome, summary, prerequisiteChecks, checks, artifacts, adjustment?}\n Outcomes: needs_input, completed, failed, unknown, stopped.\n Each prerequisite: {prerequisite, result: passed|changed|unknown, detail}\n Each check: {check, result: passed|failed|unknown, output}\n decide {id, action: continue|stop, reason}\n Record the user's explicit decision for a paused run; never infer it.\n runs {id}\n\nDocument: {name, purpose, inputs: [{name, description, required}], steps: string[],\n prerequisites: string[], checks: string[], stopConditions: string[],\n citations?: [{field: steps|prerequisites|checks|stopConditions, index,\n sources: [{kind: session|learning, id}]}]}\nCite the learning or session an item rests on; cite only ids from prepare's\nsources. Items without a citation are allowed and are shown as unsupported for\nreview. Citing never creates a learning: capture a missing correction separately.\nDraft variable task values (resource, fields, ordering) as inputs. Preserve actual\nrepository helper names, module paths, and contracts as prerequisites; replacing\na dependency requires a decision. Keep essential steps and durable constraints,\nnot incidental tool failures or the original task's chosen input values.\nAim for 3\u20137 essential steps. Every result check is REQUIRED for every supported\nuse. Put optional diagnostics in steps, not checks; reproducing the source\ndefect must not block new work with no prior defect.\nStop conditions must not contradict the inputs the approach supports.\nUse the exact prerequisite/check text in reports. Missing evidence is unknown;\nGuard authorization is not proof of execution. A one-run adjustment does not\nchange the shared approach. Request IDs are UUIDs; reuse them on uncertain retries.\nUse source snapshots returned by prepare, never construct them yourself.\nThese commands use the current folder's existing Lore connection.\n";
|
|
3
|
+
export declare const APPROACH_HELP = "lore approach \u2014 save and reuse a reviewed way of working\n\nUsage: lore approach <operation> --input <JSON-file|->\n\nWrite the request to a temporary JSON file and pass its path. Standard input (-)\nis for programs that pipe JSON; an agent should not put approach JSON or its\nfree-text values on the command line. Hosts that offer the Lore MCP tools\n(search_approaches, get_approach, prepare_approach, use_approach,\nreport_approach_run, decide_approach_run) record the same operations without a\nshell command; prefer them when available.\n\nOperations (JSON response):\n prepare {repo?, sessionId?, externalSessionId?, agent?, sessionIds?, learningIds?, notes?, task?}\n Reads captured source work. sessionId is Lore's UUID; externalSessionId\n resolves the current native agent session. sessionIds adds further\n captured sessions (10 at most) and learningIds adds active learnings\n from the same repository (50 at most). Pass notes for missing work.\n The response lists every source under \"sources\" with its current state.\n draft {repo?, document, source, agent, requestId}\n Keeps a draft using the exact source from prepare. Does not activate it.\n list {repo?, query?, status?} (defaults to active in the current repository)\n get {id, version?}\n revise {id, expectedVersion, document} (creates a separate draft version)\n save {id, expectedVersion, validation}\n Only after the user reviews and asks to save. Describe the actual final\n artifact and checks; keep a draft when these are missing.\n Submits for owner or admin approval in Learnings before reuse.\n use {id, version, repo?, agent, sessionId, inputs, requestId}\n Returns steps and records a run. Check current prerequisites BEFORE\n editing. The agent executes with its normal tools and permissions.\n report {id, outcome, summary, prerequisiteChecks, checks, artifacts, adjustment?}\n Outcomes: needs_input, completed, failed, unknown, stopped.\n Each prerequisite: {prerequisite, result: passed|changed|unknown, detail}\n Each check: {check, result: passed|failed|unknown, output}\n decide {id, action: continue|stop, reason}\n Record the user's explicit decision for a paused run; never infer it.\n runs {id}\n\nDocument: {name, purpose, inputs: [{name, description, required}], steps: string[],\n prerequisites: string[], checks: string[], stopConditions: string[],\n citations?: [{field: steps|prerequisites|checks|stopConditions, index,\n sources: [{kind: session|learning, id}]}]}\nCite the learning or session an item rests on; cite only ids from prepare's\nsources. Items without a citation are allowed and are shown as unsupported for\nreview. Citing never creates a learning: capture a missing correction separately.\nDraft variable task values (resource, fields, ordering) as inputs. Preserve actual\nrepository helper names, module paths, and contracts as prerequisites; replacing\na dependency requires a decision. Keep essential steps and durable constraints,\nnot incidental tool failures or the original task's chosen input values.\nAim for 3\u20137 essential steps. Every result check is REQUIRED for every supported\nuse. Put optional diagnostics in steps, not checks; reproducing the source\ndefect must not block new work with no prior defect.\nStop conditions must not contradict the inputs the approach supports.\nUse the exact prerequisite/check text in reports. Missing evidence is unknown;\nGuard authorization is not proof of execution. A one-run adjustment does not\nchange the shared approach. Request IDs are UUIDs; reuse them on uncertain retries.\nUse source snapshots returned by prepare, never construct them yourself.\nThese commands use the current folder's existing Lore connection.\n";
|
|
4
4
|
export declare function runApproachCommand(args: readonly string[], config: ConnectorConfig | null): Promise<void>;
|
|
5
5
|
export declare function executeApproachCommand(client: LoreClient, operation: string, value: Record<string, unknown>, repo: string): Promise<unknown>;
|
|
6
6
|
//# sourceMappingURL=approach.d.ts.map
|
package/dist/approach.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approach.d.ts","sourceRoot":"","sources":["../src/approach.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"approach.d.ts","sourceRoot":"","sources":["../src/approach.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,eAAO,MAAM,aAAa,62HA0DzB,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB/G;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BlJ"}
|
package/dist/approach.js
CHANGED
|
@@ -7,6 +7,13 @@ export const APPROACH_HELP = `lore approach — save and reuse a reviewed way of
|
|
|
7
7
|
|
|
8
8
|
Usage: lore approach <operation> --input <JSON-file|->
|
|
9
9
|
|
|
10
|
+
Write the request to a temporary JSON file and pass its path. Standard input (-)
|
|
11
|
+
is for programs that pipe JSON; an agent should not put approach JSON or its
|
|
12
|
+
free-text values on the command line. Hosts that offer the Lore MCP tools
|
|
13
|
+
(search_approaches, get_approach, prepare_approach, use_approach,
|
|
14
|
+
report_approach_run, decide_approach_run) record the same operations without a
|
|
15
|
+
shell command; prefer them when available.
|
|
16
|
+
|
|
10
17
|
Operations (JSON response):
|
|
11
18
|
prepare {repo?, sessionId?, externalSessionId?, agent?, sessionIds?, learningIds?, notes?, task?}
|
|
12
19
|
Reads captured source work. sessionId is Lore's UUID; externalSessionId
|
package/dist/approach.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approach.js","sourceRoot":"","sources":["../src/approach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,MAAM,CAAC,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"approach.js","sourceRoot":"","sources":["../src/approach.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { 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 McpHostAgent } from "./mcp-config.js";
|
|
5
6
|
import { type OperationalMetricsResponse, type WorkspaceIdentityResponse } from "@lore-co/core";
|
|
6
7
|
import { type CommandHookAgentName } from "./runtime.js";
|
|
7
8
|
import { type ReliabilityStoreInspection } from "./reliability-store.js";
|
|
@@ -60,6 +61,12 @@ export declare function removeLoreHooks(input: Record<string, unknown>): Record<
|
|
|
60
61
|
export declare function countLoreHooks(input: Record<string, unknown>): number;
|
|
61
62
|
export declare function mergeLoreCursorMcp(input: unknown, paths: LorePaths): Record<string, unknown>;
|
|
62
63
|
export declare function removeLoreCursorMcp(input: unknown): Record<string, unknown>;
|
|
64
|
+
/** The full Lore MCP server, run by this CLI so it shares the hooks' credentials and version. */
|
|
65
|
+
export declare function loreMcpServer(paths: LorePaths): Record<string, unknown>;
|
|
66
|
+
/** Where each agent lists MCP servers, located from the hooks file Lore already manages. */
|
|
67
|
+
export declare function mcpConfigPath(agent: McpHostAgent, hooksPath: string): string;
|
|
68
|
+
export declare function mergeLoreMcp(input: unknown, agent: McpHostAgent, paths: LorePaths): Record<string, unknown>;
|
|
69
|
+
export declare function removeLoreMcp(input: unknown, agent: McpHostAgent): Record<string, unknown>;
|
|
63
70
|
export declare function mergeLoreCursorHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
|
|
64
71
|
export declare function removeLoreCursorHooks(input: Record<string, unknown>): Record<string, unknown>;
|
|
65
72
|
export declare function countLoreCursorHooks(input: Record<string, unknown>): number;
|
|
@@ -88,6 +95,23 @@ export interface AgentInstallation {
|
|
|
88
95
|
configPath: string;
|
|
89
96
|
}
|
|
90
97
|
export declare function t3CodeProviderInstallations(settings: unknown, paths: LorePaths): AgentInstallation[];
|
|
98
|
+
export interface RefreshAgentEntriesResult {
|
|
99
|
+
/** Every file the stored connection's agents own: hooks files and MCP configs. */
|
|
100
|
+
configFiles: string[];
|
|
101
|
+
changedFiles: string[];
|
|
102
|
+
backups: string[];
|
|
103
|
+
/** Skill files now at the current version, installed or already current. */
|
|
104
|
+
skillFiles: string[];
|
|
105
|
+
/** Skill files left alone, with the reason; recording works without them. */
|
|
106
|
+
warnings: string[];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Re-apply the Lore-owned hook and MCP entries and the `lore` skill for the
|
|
110
|
+
* agents recorded in the stored connection, for example after `lore update`
|
|
111
|
+
* replaced the binary. Nothing is authorized again and folder rules are
|
|
112
|
+
* untouched. Resolves to null when no connection is stored.
|
|
113
|
+
*/
|
|
114
|
+
export declare function refreshAgentEntries(paths?: LorePaths): Promise<RefreshAgentEntriesResult | null>;
|
|
91
115
|
export interface ConnectWithCredentialOptions extends CaptureScopeOptions {
|
|
92
116
|
connectionName?: string;
|
|
93
117
|
fallback?: string;
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAwD,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMlH,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAgD,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|