@lore-co/cli 0.2.19 → 0.2.21
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 +18 -2
- package/dist/api.d.ts +4 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +11 -3
- package/dist/api.js.map +1 -1
- package/dist/approach-guidance.d.ts.map +1 -1
- package/dist/approach-guidance.js +2 -1
- 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 +12 -4
- package/dist/approach.js.map +1 -1
- package/dist/ask.d.ts +9 -1
- package/dist/ask.d.ts.map +1 -1
- package/dist/ask.js +32 -3
- package/dist/ask.js.map +1 -1
- package/dist/cli.d.ts +36 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +225 -48
- package/dist/cli.js.map +1 -1
- package/dist/command-help.d.ts +3 -1
- package/dist/command-help.d.ts.map +1 -1
- package/dist/command-help.js +13 -1
- package/dist/command-help.js.map +1 -1
- package/dist/devin-cli.js +2 -2
- package/dist/devin-cli.js.map +1 -1
- package/dist/embeddings.d.ts +12 -0
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/embeddings.js +105 -0
- package/dist/embeddings.js.map +1 -0
- package/dist/generated-assets.d.ts +5 -4
- package/dist/generated-assets.d.ts.map +1 -1
- package/dist/generated-assets.js +5 -4
- package/dist/generated-assets.js.map +1 -1
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +242 -4
- package/dist/github.js.map +1 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +4 -6
- package/dist/guard.js.map +1 -1
- package/dist/handoff.js +2 -2
- package/dist/handoff.js.map +1 -1
- package/dist/learnings.d.ts +31 -0
- package/dist/learnings.d.ts.map +1 -0
- package/dist/learnings.js +265 -0
- package/dist/learnings.js.map +1 -0
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +96 -11
- package/dist/live.js.map +1 -1
- package/dist/platform.d.ts +7 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +25 -1
- package/dist/platform.js.map +1 -1
- package/dist/recovery-state.js +1 -1
- package/dist/recovery-state.js.map +1 -1
- package/dist/reliability-store.d.ts +31 -0
- package/dist/reliability-store.d.ts.map +1 -1
- package/dist/reliability-store.js +89 -0
- package/dist/reliability-store.js.map +1 -1
- package/dist/retrieval-task.d.ts.map +1 -1
- package/dist/retrieval-task.js +2 -11
- package/dist/retrieval-task.js.map +1 -1
- package/dist/runtime.d.ts +13 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +124 -33
- package/dist/runtime.js.map +1 -1
- package/dist/self-host.d.ts +2 -2
- package/dist/self-host.d.ts.map +1 -1
- package/dist/self-host.js +4 -3
- package/dist/self-host.js.map +1 -1
- package/dist/skill-guidance.js +1 -1
- package/dist/skill-guidance.js.map +1 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +24 -4
- package/dist/skills.js.map +1 -1
- package/dist/uninstall.d.ts.map +1 -1
- package/dist/uninstall.js +4 -3
- package/dist/uninstall.js.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +4 -23
- package/dist/update.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -181,6 +181,22 @@ excerpts. `--repo` and
|
|
|
181
181
|
response. Requires a connected workspace (`lore connect`) and a server that
|
|
182
182
|
exposes `POST /v1/ask`.
|
|
183
183
|
|
|
184
|
+
```sh
|
|
185
|
+
lore learnings
|
|
186
|
+
lore learnings --repo acme/billing --json > learnings.json
|
|
187
|
+
lore learnings --all-repositories --status active,proposed
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
`learnings` lists every learning for a repository without a question, so you
|
|
191
|
+
can review or export the whole set instead of a ranked sample. It defaults to
|
|
192
|
+
the Git repository of the current folder and to `active` learnings; `--repo`
|
|
193
|
+
picks another repository, `--all-repositories` lists the whole workspace, and
|
|
194
|
+
`--status`, `--category`, and `--query` narrow the set. The default output is a
|
|
195
|
+
table with each learning's ID, category, update date, and text; `--json` prints
|
|
196
|
+
`{ repo, total, learnings }` for scripts and other tools. The command pages
|
|
197
|
+
through `GET /v1/learnings` until every match is loaded, and honours the
|
|
198
|
+
workspace repository restrictions before reading anything.
|
|
199
|
+
|
|
184
200
|
## Use Lore with your agent
|
|
185
201
|
|
|
186
202
|
Choose **lore** in your agent's skills to find shared knowledge or save what you
|
|
@@ -313,7 +329,7 @@ content-free `guard_check` audit event.
|
|
|
313
329
|
|
|
314
330
|
```sh
|
|
315
331
|
lore update
|
|
316
|
-
lore update --version v0.2.
|
|
332
|
+
lore update --version v0.2.21
|
|
317
333
|
```
|
|
318
334
|
|
|
319
335
|
`update` resolves the latest release to an exact tag, or uses the exact
|
|
@@ -658,7 +674,7 @@ same-repository, non-draft pull requests bearing the corresponding
|
|
|
658
674
|
`lore:codex-review` or `lore:devin-review` label.
|
|
659
675
|
|
|
660
676
|
Generated jobs require a published standalone binary release and default to
|
|
661
|
-
`treadiehq/lore-releases` at `v0.2.
|
|
677
|
+
`treadiehq/lore-releases` at `v0.2.21`. Set `LORE_CLI_REPOSITORY` to the publicly
|
|
662
678
|
readable `owner/repository` and `LORE_CLI_VERSION` to an existing release tag
|
|
663
679
|
when using another release source.
|
|
664
680
|
|
package/dist/api.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { ZodType } from "zod";
|
|
2
2
|
import type { ConnectorConfig } from "./cli.js";
|
|
3
|
+
export declare class LoreApiError extends Error {
|
|
4
|
+
readonly status: number;
|
|
5
|
+
constructor(message: string, status: number);
|
|
6
|
+
}
|
|
3
7
|
/**
|
|
4
8
|
* Minimal authenticated JSON request against the configured Lore API with
|
|
5
9
|
* the CLI's standard error language.
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,qBAAa,YAAa,SAAQ,KAAK;IACR,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAxC,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAIrD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,CAAC,CAAC,CAuDZ"}
|
package/dist/api.js
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
const REQUEST_TIMEOUT_MS = 15_000;
|
|
2
|
+
export class LoreApiError extends Error {
|
|
3
|
+
status;
|
|
4
|
+
constructor(message, status) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.status = status;
|
|
7
|
+
this.name = "LoreApiError";
|
|
8
|
+
}
|
|
9
|
+
}
|
|
2
10
|
/**
|
|
3
11
|
* Minimal authenticated JSON request against the configured Lore API with
|
|
4
12
|
* the CLI's standard error language.
|
|
@@ -21,7 +29,7 @@ export async function loreApiRequest(config, method, path, schema, body) {
|
|
|
21
29
|
throw new Error("Lore API is unreachable. Run lore doctor to diagnose connectivity.");
|
|
22
30
|
}
|
|
23
31
|
if (response.status === 401 || response.status === 403) {
|
|
24
|
-
throw new
|
|
32
|
+
throw new LoreApiError("Lore authentication failed. Reconnect with a valid workspace token.", response.status);
|
|
25
33
|
}
|
|
26
34
|
if (response.status === 404) {
|
|
27
35
|
const text = await response.text();
|
|
@@ -37,8 +45,8 @@ export async function loreApiRequest(config, method, path, schema, body) {
|
|
|
37
45
|
catch {
|
|
38
46
|
// Older servers return plain 404 pages for unknown routes.
|
|
39
47
|
}
|
|
40
|
-
throw new
|
|
41
|
-
`This Lore server does not support ${method} ${path}. Upgrade the server
|
|
48
|
+
throw new LoreApiError(message ??
|
|
49
|
+
`This Lore server does not support ${method} ${path}. Upgrade the server.`, response.status);
|
|
42
50
|
}
|
|
43
51
|
if (!response.ok) {
|
|
44
52
|
throw new Error(`Lore request failed with HTTP ${response.status}.`);
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAGA,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,MAAc,EACd,IAAY,EACZ,MAAkB,EAClB,IAAc;IAEd,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM;YACN,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE;gBACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;aACtE;YACD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvD,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAGA,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,MAAM,OAAO,YAAa,SAAQ,KAAK;IACC;IAAtC,YAAY,OAAe,EAAW,MAAc;QAClD,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,WAAM,GAAN,MAAM,CAAQ;QAElD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,MAAc,EACd,IAAY,EACZ,MAAkB,EAClB,IAAc;IAEd,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM;YACN,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE;gBACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;aACtE;YACD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvD,MAAM,IAAI,YAAY,CACpB,qEAAqE,EACrE,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM,KAAK,IAAI;gBACf,OAAQ,MAAgC,CAAC,OAAO,KAAK,QAAQ,EAC7D,CAAC;gBACD,OAAO,GAAI,MAA8B,CAAC,OAAO,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,OAAO;YACL,qCAAqC,MAAM,IAAI,IAAI,uBAAuB,EAC5E,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approach-guidance.d.ts","sourceRoot":"","sources":["../src/approach-guidance.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"approach-guidance.d.ts","sourceRoot":"","sources":["../src/approach-guidance.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,GAAG,SAAS,CAkBvI"}
|
|
@@ -5,7 +5,8 @@ export function approachGuidance(prompt, agent, sessionId, retained = []) {
|
|
|
5
5
|
const detailed = /\bmake (?:this|that|it|the work) repeatable\b|\b(?:saved|reusable) approach\b/iu.test(prompt);
|
|
6
6
|
const instructions = ["Run `lore approach --help` for the JSON command contract. These commands 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
|
-
"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.
|
|
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
|
+
"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.",
|
|
9
10
|
"Separate task inputs from repository dependencies: resource names, fields, and sort direction can vary per run. Preserve the actual helper names, module paths, and required contracts in prerequisites; do not turn existing helpers into unconstrained inputs. A renamed or replaced helper needs a decision. Aim for 3–7 essential steps and durable constraints, excluding incidental tool failures and restrictions specific to the original task. Required result checks must apply to every supported use; keep optional diagnostics in the steps, not in checks. Do not require reproducing a historical defect when adding new work. Check that stop conditions do not contradict the declared inputs.",
|
|
10
11
|
"Keep the user experience short: show a plain-language preview of what will repeat and ask to save. Keep command contracts, source IDs, version bookkeeping, and reporting internal. Derive inputs and checks yourself; ask the user only for information you cannot infer.",
|
|
11
12
|
"For reuse: list active approaches in this repository, choose by the task without requiring an exact name, infer the inputs from the request and repository, and use its exact version. Ask only when information is missing or the match is ambiguous. Check prerequisites before editing. Changed or unknown prerequisites require needs_input and a specific user decision. Execute with your normal tools and permissions, report actual artifacts/checks, and keep missing evidence unknown. Updating the shared approach is a separate reviewed revision.",
|
|
@@ -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,keAAke,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC;IAC5hB,MAAM,QAAQ,GAAG,iFAAiF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChH,MAAM,YAAY,GAAG,CAAC,iHAAiH;QACrI,oIAAoI,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,kJAAkJ;QAC7U,
|
|
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,keAAke,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC;IAC5hB,MAAM,QAAQ,GAAG,iFAAiF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChH,MAAM,YAAY,GAAG,CAAC,iHAAiH;QACrI,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?, notes?, task?}\n Reads captured source work. sessionId is Lore's UUID; externalSessionId\n resolves the current native agent session. Pass notes for missing work.\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
|
|
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";
|
|
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,i8GAmDzB,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
|
@@ -8,9 +8,12 @@ export const APPROACH_HELP = `lore approach — save and reuse a reviewed way of
|
|
|
8
8
|
Usage: lore approach <operation> --input <JSON-file|->
|
|
9
9
|
|
|
10
10
|
Operations (JSON response):
|
|
11
|
-
prepare {repo?, sessionId?, externalSessionId?, agent?, notes?, task?}
|
|
11
|
+
prepare {repo?, sessionId?, externalSessionId?, agent?, sessionIds?, learningIds?, notes?, task?}
|
|
12
12
|
Reads captured source work. sessionId is Lore's UUID; externalSessionId
|
|
13
|
-
resolves the current native agent session.
|
|
13
|
+
resolves the current native agent session. sessionIds adds further
|
|
14
|
+
captured sessions (10 at most) and learningIds adds active learnings
|
|
15
|
+
from the same repository (50 at most). Pass notes for missing work.
|
|
16
|
+
The response lists every source under "sources" with its current state.
|
|
14
17
|
draft {repo?, document, source, agent, requestId}
|
|
15
18
|
Keeps a draft using the exact source from prepare. Does not activate it.
|
|
16
19
|
list {repo?, query?, status?} (defaults to active in the current repository)
|
|
@@ -19,7 +22,7 @@ Operations (JSON response):
|
|
|
19
22
|
save {id, expectedVersion, validation}
|
|
20
23
|
Only after the user reviews and asks to save. Describe the actual final
|
|
21
24
|
artifact and checks; keep a draft when these are missing.
|
|
22
|
-
|
|
25
|
+
Submits for owner or admin approval in Learnings before reuse.
|
|
23
26
|
use {id, version, repo?, agent, sessionId, inputs, requestId}
|
|
24
27
|
Returns steps and records a run. Check current prerequisites BEFORE
|
|
25
28
|
editing. The agent executes with its normal tools and permissions.
|
|
@@ -32,7 +35,12 @@ Operations (JSON response):
|
|
|
32
35
|
runs {id}
|
|
33
36
|
|
|
34
37
|
Document: {name, purpose, inputs: [{name, description, required}], steps: string[],
|
|
35
|
-
prerequisites: string[], checks: string[], stopConditions: string[]
|
|
38
|
+
prerequisites: string[], checks: string[], stopConditions: string[],
|
|
39
|
+
citations?: [{field: steps|prerequisites|checks|stopConditions, index,
|
|
40
|
+
sources: [{kind: session|learning, id}]}]}
|
|
41
|
+
Cite the learning or session an item rests on; cite only ids from prepare's
|
|
42
|
+
sources. Items without a citation are allowed and are shown as unsupported for
|
|
43
|
+
review. Citing never creates a learning: capture a missing correction separately.
|
|
36
44
|
Draft variable task values (resource, fields, ordering) as inputs. Preserve actual
|
|
37
45
|
repository helper names, module paths, and contracts as prerequisites; replacing
|
|
38
46
|
a dependency requires a decision. Keep essential steps and durable constraints,
|
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/ask.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { ConnectorConfig } from "./cli.js";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The repository the capture hooks record for this folder: the origin of the
|
|
4
|
+
* enclosing Git checkout, or none outside one. Asking from inside a repository
|
|
5
|
+
* should rank its learnings the same way a session there does.
|
|
6
|
+
*/
|
|
7
|
+
export declare function detectRepository(cwd: string): Promise<string | undefined>;
|
|
8
|
+
export declare function runAskCommand(args: readonly string[], config: ConnectorConfig | null, options?: {
|
|
9
|
+
cwd?: string;
|
|
10
|
+
}): Promise<void>;
|
|
3
11
|
//# sourceMappingURL=ask.d.ts.map
|
package/dist/ask.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA+FhD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU/E;AAqDD,wBAAsB,aAAa,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiEf"}
|
package/dist/ask.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { AskResponseSchema, formatRetrievalExplanation, } from "@lore-co/core";
|
|
2
|
+
import { repositoryScopeFromGitRoot } from "@lore-co/core/repository-location";
|
|
3
|
+
import { access } from "node:fs/promises";
|
|
4
|
+
import { dirname, resolve } from "node:path";
|
|
2
5
|
const ASK_HELP = `lore ask
|
|
3
6
|
Query Lore's shared context: durable knowledge plus prior work sessions.
|
|
4
7
|
|
|
@@ -7,6 +10,7 @@ Usage:
|
|
|
7
10
|
|
|
8
11
|
Options:
|
|
9
12
|
--repo <repo> Rank knowledge and sessions for this repository
|
|
13
|
+
(default: the Git repository of the current folder)
|
|
10
14
|
--project <name> Rank knowledge and sessions for this project
|
|
11
15
|
--agent <name> Identify the calling agent (default: human)
|
|
12
16
|
--limit <n> Maximum knowledge results, 1-20 (default: 5)
|
|
@@ -80,6 +84,29 @@ function parseAskArguments(args) {
|
|
|
80
84
|
}
|
|
81
85
|
return parsed;
|
|
82
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* The repository the capture hooks record for this folder: the origin of the
|
|
89
|
+
* enclosing Git checkout, or none outside one. Asking from inside a repository
|
|
90
|
+
* should rank its learnings the same way a session there does.
|
|
91
|
+
*/
|
|
92
|
+
export async function detectRepository(cwd) {
|
|
93
|
+
let root = resolve(cwd);
|
|
94
|
+
for (;;) {
|
|
95
|
+
if (await access(resolve(root, ".git")).then(() => true, () => false)) {
|
|
96
|
+
return repositoryScopeFromGitRoot(root);
|
|
97
|
+
}
|
|
98
|
+
const parent = dirname(root);
|
|
99
|
+
if (parent === root)
|
|
100
|
+
return undefined;
|
|
101
|
+
root = parent;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function formatRepositoryLine(repo, source) {
|
|
105
|
+
if (repo === undefined) {
|
|
106
|
+
return "Repository: none detected in this folder; showing workspace-wide knowledge only.\n";
|
|
107
|
+
}
|
|
108
|
+
return `Repository: ${repo} (${source === "flag" ? "from --repo" : "detected from the current folder"})\n`;
|
|
109
|
+
}
|
|
83
110
|
function formatDate(value) {
|
|
84
111
|
return value.slice(0, 10);
|
|
85
112
|
}
|
|
@@ -117,7 +144,7 @@ function formatResponse(response) {
|
|
|
117
144
|
}
|
|
118
145
|
return `${lines.join("\n")}\n`;
|
|
119
146
|
}
|
|
120
|
-
export async function runAskCommand(args, config) {
|
|
147
|
+
export async function runAskCommand(args, config, options = {}) {
|
|
121
148
|
const parsed = parseAskArguments(args);
|
|
122
149
|
if (parsed === null) {
|
|
123
150
|
return;
|
|
@@ -125,9 +152,11 @@ export async function runAskCommand(args, config) {
|
|
|
125
152
|
if (config === null) {
|
|
126
153
|
throw new Error("Lore is not connected. Run: lore connect --token <workspace-token>");
|
|
127
154
|
}
|
|
155
|
+
const repoSource = parsed.repo === undefined ? "folder" : "flag";
|
|
156
|
+
const repo = parsed.repo ?? (await detectRepository(options.cwd ?? process.cwd()));
|
|
128
157
|
const body = {
|
|
129
158
|
question: parsed.question,
|
|
130
|
-
...(
|
|
159
|
+
...(repo === undefined ? {} : { repo }),
|
|
131
160
|
...(parsed.project === undefined ? {} : { project: parsed.project }),
|
|
132
161
|
...(parsed.agent === undefined ? {} : { agent: parsed.agent }),
|
|
133
162
|
...(parsed.limit === undefined ? {} : { limit: parsed.limit }),
|
|
@@ -166,6 +195,6 @@ export async function runAskCommand(args, config) {
|
|
|
166
195
|
process.stdout.write(`${JSON.stringify(parsedResponse.data, null, 2)}\n`);
|
|
167
196
|
return;
|
|
168
197
|
}
|
|
169
|
-
process.stdout.write(formatResponse(parsedResponse.data));
|
|
198
|
+
process.stdout.write(`${formatRepositoryLine(repo, repoSource)}\n${formatResponse(parsedResponse.data)}`);
|
|
170
199
|
}
|
|
171
200
|
//# sourceMappingURL=ask.js.map
|
package/dist/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAG3B,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../src/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAG3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7C,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;CAoBhB,CAAC;AAYF,SAAS,iBAAiB,CAAC,IAAuB;IAChD,MAAM,MAAM,GAAiB;QAC3B,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,IAAI;QACrB,IAAI,EAAE,KAAK;KACZ,CAAC;IACF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YACjC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IACE,QAAQ,KAAK,QAAQ;YACrB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,SAAS;YACtB,QAAQ,KAAK,SAAS,EACtB,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACzB,CAAC;iBAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;oBACxD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,SAAS,CAAC;QACR,IAAI,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACtC,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAwB,EAAE,MAAyB;IAC/E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,oFAAoF,CAAC;IAC9F,CAAC;IACD,OAAO,eAAe,IAAI,KAAK,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,kCAAkC,KAAK,CAAC;AAC7G,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,SAAS,CAAC,GAAiB,EAAE,KAAa;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,OAAO;QACL,GAAG,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE;QACjC,MAAM,0BAA0B,CAAC,GAAG,CAAC,EAAE;QACvC,gBAAgB,MAAM,CAAC,QAAQ,cAAc,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,QAAqB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CACR,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CACjE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC;YAChE,KAAK,CAAC,IAAI,CACR,KAAK,OAAO,CAAC,KAAK,MAAM,KAAK,kBAAkB,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,OAAO,CAAC,UAAU,WAAW,CACrH,CAAC;YACF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,GACR,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG;oBACvB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;oBAClC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAuB,EACvB,MAA8B,EAC9B,UAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACpE,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;KAC9D,CAAC;IACF,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE;gBACvC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAChD,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAClC,CAAC;IACF,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CACpF,CAAC;AACJ,CAAC"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -2,14 +2,15 @@
|
|
|
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 WorkspaceIdentityResponse } from "@lore-co/core";
|
|
5
|
+
import { type OperationalMetricsResponse, type WorkspaceIdentityResponse } from "@lore-co/core";
|
|
6
6
|
import { type CommandHookAgentName } from "./runtime.js";
|
|
7
|
+
import { type ReliabilityStoreInspection } from "./reliability-store.js";
|
|
7
8
|
export declare const LORE_OPENCODE_PLUGIN = "@lore-co/opencode";
|
|
8
9
|
export declare const DEFAULT_HOSTED_API_URL = "https://api.uselore.co";
|
|
9
10
|
export declare const DEFAULT_HOSTED_DASHBOARD_URL = "https://uselore.co";
|
|
10
11
|
declare const CONFIGURED_AGENT_NAMES: readonly ["claude", "codex", "copilot-cli", "copilot-vscode", "cursor", "opencode", "polytoken"];
|
|
11
12
|
export type ConfiguredAgentName = (typeof CONFIGURED_AGENT_NAMES)[number];
|
|
12
|
-
export type ConnectAgentName = ConfiguredAgentName | "copilot" | "cowork" | "t3code";
|
|
13
|
+
export type ConnectAgentName = ConfiguredAgentName | "copilot" | "cowork" | "devin" | "t3code";
|
|
13
14
|
export interface LorePaths {
|
|
14
15
|
home: string;
|
|
15
16
|
loreDirectory: string;
|
|
@@ -112,20 +113,53 @@ export interface ConnectResult {
|
|
|
112
113
|
connected: true;
|
|
113
114
|
apiUrl: string;
|
|
114
115
|
identity: WorkspaceIdentityResponse;
|
|
116
|
+
/** Every configured agent after this run: installed plus kept. */
|
|
115
117
|
agents: ConnectAgentName[];
|
|
118
|
+
/** Agents set up in this run: requested with --agent, detected, or added for recovery. */
|
|
119
|
+
installedAgents: ConnectAgentName[];
|
|
120
|
+
/** Previously configured agents left in place by this run. */
|
|
121
|
+
keptAgents: ConfiguredAgentName[];
|
|
122
|
+
/** The saved connection already matched this workspace, credential, and these agents. */
|
|
123
|
+
alreadyConnected: boolean;
|
|
124
|
+
/** Dashboard known for this connection; its /connect page confirms recording. */
|
|
125
|
+
dashboardUrl?: string;
|
|
126
|
+
/** Folder connect ran from; the first recorded message should be sent there. */
|
|
127
|
+
folder: string;
|
|
116
128
|
config: string;
|
|
117
129
|
changedHookFiles: string[];
|
|
118
130
|
backups: string[];
|
|
119
131
|
warnings: string[];
|
|
120
132
|
}
|
|
121
133
|
export declare function connectWithCredential(options: ConnectWithCredentialOptions): Promise<ConnectResult>;
|
|
134
|
+
/** The exact step each agent needs before Lore records its first turn. */
|
|
135
|
+
export declare function connectNextStep(agent: ConnectAgentName): string;
|
|
136
|
+
export declare function formatConnectResult(result: ConnectResult): string;
|
|
122
137
|
export declare function reliabilityWorkspaceKey(config: ConnectorConfig): string;
|
|
123
138
|
export declare function credentialReliabilityWorkspaceKey(apiUrl: string, token: string): string;
|
|
139
|
+
/** Unrecoverable dead letters are kept this long for diagnosis, then pruned by doctor. */
|
|
140
|
+
export declare const DEAD_LETTER_RETENTION_MS: number;
|
|
124
141
|
export declare function disconnectInstallation(paths?: LorePaths, preservePendingState?: boolean): Promise<{
|
|
125
142
|
connected: false;
|
|
126
143
|
changedHookFiles: string[];
|
|
127
144
|
backups: string[];
|
|
128
145
|
}>;
|
|
146
|
+
export interface DoctorCheck {
|
|
147
|
+
name: string;
|
|
148
|
+
status: "ok" | "warning" | "error";
|
|
149
|
+
detail: string;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Server-side queue health. Dead embedding jobs name the operator fix: once the
|
|
153
|
+
* provider is repaired, `lore embeddings repair` retries them without waiting
|
|
154
|
+
* for the reconciler's backoff.
|
|
155
|
+
*/
|
|
156
|
+
export declare function operationalMetricsCheck(metrics: OperationalMetricsResponse): DoctorCheck;
|
|
157
|
+
/**
|
|
158
|
+
* Local outbox health. Dead letters that can never be replayed (an old snapshot
|
|
159
|
+
* format or a permanent rejection) are a note, not an error: replaying them
|
|
160
|
+
* cannot help, and doctor prunes them after the retention window.
|
|
161
|
+
*/
|
|
162
|
+
export declare function durableOutboxCheck(outbox: ReliabilityStoreInspection["outbox"], pruned?: number): DoctorCheck;
|
|
129
163
|
export declare function runCli(args?: readonly string[]): Promise<void>;
|
|
130
164
|
export {};
|
|
131
165
|
//# 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":";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;AA0B/G,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|