@lore-co/cli 0.1.18 → 0.1.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 +70 -5
- package/dist/cli.d.ts +37 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +593 -49
- package/dist/cli.js.map +1 -1
- package/dist/cursor-mcp.d.ts +5 -0
- package/dist/cursor-mcp.d.ts.map +1 -0
- package/dist/cursor-mcp.js +41 -0
- package/dist/cursor-mcp.js.map +1 -0
- package/dist/devin-client.d.ts.map +1 -1
- package/dist/devin-client.js +6 -3
- package/dist/devin-client.js.map +1 -1
- package/dist/generated-assets.d.ts +4 -4
- package/dist/generated-assets.d.ts.map +1 -1
- package/dist/generated-assets.js +4 -4
- package/dist/generated-assets.js.map +1 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +31 -1
- package/dist/guard.js.map +1 -1
- package/dist/remember.d.ts +3 -0
- package/dist/remember.d.ts.map +1 -0
- package/dist/remember.js +159 -0
- package/dist/remember.js.map +1 -0
- package/dist/runtime.d.ts +15 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +319 -110
- package/dist/runtime.js.map +1 -1
- package/dist/self-host.d.ts +15 -2
- package/dist/self-host.d.ts.map +1 -1
- package/dist/self-host.js +55 -8
- package/dist/self-host.js.map +1 -1
- package/dist/update.js +3 -3
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ do not block the agent.
|
|
|
13
13
|
pnpm install --global @lore-co/cli
|
|
14
14
|
|
|
15
15
|
lore connect \
|
|
16
|
-
--
|
|
16
|
+
--login \
|
|
17
17
|
--agent claude \
|
|
18
18
|
--agent codex \
|
|
19
19
|
--agent cursor \
|
|
@@ -38,9 +38,14 @@ delegates to. It reads `$T3CODE_HOME/userdata/settings.json` or
|
|
|
38
38
|
modify T3 settings or secrets. External OpenCode servers must be configured on
|
|
39
39
|
the server. Cursor ACP sessions require a live canary because Cursor does not
|
|
40
40
|
guarantee lifecycle hooks in ACP mode. Lore does not install a duplicate T3
|
|
41
|
-
lifecycle layer.
|
|
41
|
+
lifecycle layer. `--agent cowork` is credential-only: it prepares the secure
|
|
42
|
+
CLI config consumed by the separately uploaded Cowork MCP plugin without
|
|
43
|
+
installing lifecycle hooks.
|
|
42
44
|
Configuration is stored in `~/.lore/config.json` with mode `0600`.
|
|
43
|
-
|
|
45
|
+
`--login` opens a 10-minute dashboard approval and mints an attributed,
|
|
46
|
+
revocable 90-day credential without exposing it in terminal or agent output.
|
|
47
|
+
Use `--no-open` to print the approval URL without launching a browser.
|
|
48
|
+
Before writing the local config or any agent integration, `connect` calls the
|
|
44
49
|
authenticated workspace identity endpoint and validates the strict response
|
|
45
50
|
and server version. Revoked credentials, unreachable servers, timeouts, and
|
|
46
51
|
incompatible servers leave local configuration untouched. Either
|
|
@@ -50,6 +55,34 @@ New token connections default to `https://api.uselore.co` and use
|
|
|
50
55
|
`https://uselore.co` for receipt links. Self-hosted deployments must pass
|
|
51
56
|
`--url` and may pass `--dashboard-url`; reconnecting without a new token keeps
|
|
52
57
|
the existing self-hosted endpoints.
|
|
58
|
+
Manual `--token` and environment credentials remain supported for CI and
|
|
59
|
+
non-interactive hosts, and for users who prefer copying a token from the
|
|
60
|
+
dashboard:
|
|
61
|
+
|
|
62
|
+
```sh
|
|
63
|
+
lore connect \
|
|
64
|
+
--token "your_workspace_token" \
|
|
65
|
+
--agent claude
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Keep manual tokens out of agent prompts and use a separate revocable token per
|
|
69
|
+
machine or integration. For copy-paste hosted and self-host prompts, human
|
|
70
|
+
approval points, verification, and rollback, see the
|
|
71
|
+
[agent-driven setup guide](../../docs/agent-setup.md).
|
|
72
|
+
|
|
73
|
+
For a fully local API-only deployment, the CLI can keep its generated bootstrap
|
|
74
|
+
credential internal while connecting agents:
|
|
75
|
+
|
|
76
|
+
```sh
|
|
77
|
+
lore self-host up --headless --connect --agent claude --agent codex
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Dashboard self-hosting uses `lore self-host up`, human signup, then:
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
lore connect --login --url http://127.0.0.1:3001 \
|
|
84
|
+
--dashboard-url http://127.0.0.1:3000
|
|
85
|
+
```
|
|
53
86
|
For a review-first rollout in a personal vault or component catalog, follow the
|
|
54
87
|
[OpenCode pilot runbook](../../docs/opencode-pilot.md).
|
|
55
88
|
|
|
@@ -71,6 +104,28 @@ excerpts. `--repo` and
|
|
|
71
104
|
response. Requires a connected workspace (`lore connect`) and a server that
|
|
72
105
|
exposes `POST /v1/ask`.
|
|
73
106
|
|
|
107
|
+
## Save knowledge manually
|
|
108
|
+
|
|
109
|
+
```sh
|
|
110
|
+
lore remember "Use pnpm for this repository." --repo acme/app --category convention
|
|
111
|
+
lore remember "Payment retries must use exponential backoff." --project billing
|
|
112
|
+
lore remember "The legacy endpoint is deprecated." --agent codex --json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
`remember` saves an explicit learning using your existing `lore connect`
|
|
116
|
+
credentials. Supply the statement as a quoted argument; multiline statements
|
|
117
|
+
are supported inside that argument. Use `--repo`, `--project`, `--path`, or
|
|
118
|
+
`--component` to limit where it applies. With no scope flags, it is available
|
|
119
|
+
workspace-wide; the current repository is not inferred. The connected workspace
|
|
120
|
+
determines the organization.
|
|
121
|
+
|
|
122
|
+
`--category` defaults to `other`; run `lore remember --help` for the supported
|
|
123
|
+
categories. `--agent` identifies the source and defaults to `human`. The command
|
|
124
|
+
prints the saved learning's ID, content, scope, category, and status, and reports
|
|
125
|
+
an existing learning when the server deduplicates it. `--json` returns the full
|
|
126
|
+
`{ memory, inserted }` response for scripts. Use `--` before statement text that
|
|
127
|
+
begins with a dash. Manual saves do not require agent hooks or MCP write tools.
|
|
128
|
+
|
|
74
129
|
## Context Guard
|
|
75
130
|
|
|
76
131
|
```sh
|
|
@@ -98,7 +153,7 @@ content-free `guard_check` audit event.
|
|
|
98
153
|
|
|
99
154
|
```sh
|
|
100
155
|
lore update
|
|
101
|
-
lore update --version v0.1.
|
|
156
|
+
lore update --version v0.1.21
|
|
102
157
|
```
|
|
103
158
|
|
|
104
159
|
`update` resolves the latest release to an exact tag, or uses the exact
|
|
@@ -215,6 +270,16 @@ command has subcommand-specific `--help`, and `up`, `down`, and `status` support
|
|
|
215
270
|
|
|
216
271
|
## Runtime behavior
|
|
217
272
|
|
|
273
|
+
Cursor installs five hooks and a `lore-native` MCP server. Its `sessionStart`
|
|
274
|
+
hook instructs the agent to call `lore_context` before each request and
|
|
275
|
+
`lore_complete` after its response. The bridge retrieves scoped context, captures
|
|
276
|
+
teachings, and stages prior attempts even in CLI print mode. Repository identity
|
|
277
|
+
comes from the native session; MCP input cannot override it. Credentials remain
|
|
278
|
+
in Lore's protected config. Keep the server enabled, reconnect with the updated
|
|
279
|
+
CLI (`lore connect --agent cursor`), and start a new conversation to activate it.
|
|
280
|
+
`lore status` checks all five hooks plus the MCP server. Other MCP entries are
|
|
281
|
+
preserved during connect and disconnect.
|
|
282
|
+
|
|
218
283
|
The Claude/Codex/Cursor/Polytoken command-hook handler:
|
|
219
284
|
|
|
220
285
|
- reads native hook JSON from standard input and normalizes Cursor and
|
|
@@ -351,7 +416,7 @@ same-repository, non-draft pull requests bearing the corresponding
|
|
|
351
416
|
`lore:codex-review` or `lore:devin-review` label.
|
|
352
417
|
|
|
353
418
|
Generated jobs require a published standalone binary release and default to
|
|
354
|
-
`treadiehq/lore-releases` at `v0.1.
|
|
419
|
+
`treadiehq/lore-releases` at `v0.1.21`. Set `LORE_CLI_REPOSITORY` to the publicly
|
|
355
420
|
readable `owner/repository` and `LORE_CLI_VERSION` to an existing release tag
|
|
356
421
|
when using another release source.
|
|
357
422
|
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { type WorkspaceIdentityResponse } from "@lore-co/core";
|
|
2
3
|
import { type CommandHookAgentName } from "./runtime.js";
|
|
3
4
|
export declare const LORE_OPENCODE_PLUGIN = "@lore-co/opencode";
|
|
4
5
|
export declare const DEFAULT_HOSTED_API_URL = "https://api.uselore.co";
|
|
5
6
|
export declare const DEFAULT_HOSTED_DASHBOARD_URL = "https://uselore.co";
|
|
6
|
-
declare const CONFIGURED_AGENT_NAMES: readonly ["claude", "codex", "cursor", "opencode", "polytoken"];
|
|
7
|
+
declare const CONFIGURED_AGENT_NAMES: readonly ["claude", "codex", "copilot-cli", "copilot-vscode", "cursor", "opencode", "polytoken"];
|
|
7
8
|
export type ConfiguredAgentName = (typeof CONFIGURED_AGENT_NAMES)[number];
|
|
9
|
+
export type ConnectAgentName = ConfiguredAgentName | "copilot" | "cowork" | "t3code";
|
|
8
10
|
export interface LorePaths {
|
|
9
11
|
home: string;
|
|
10
12
|
loreDirectory: string;
|
|
@@ -21,8 +23,11 @@ export interface LorePaths {
|
|
|
21
23
|
state: string;
|
|
22
24
|
queue: string;
|
|
23
25
|
codexHooks: string;
|
|
26
|
+
copilotCliHooks: string;
|
|
27
|
+
copilotVscodeHooks: string;
|
|
24
28
|
claudeSettings: string;
|
|
25
29
|
cursorHooks: string;
|
|
30
|
+
cursorMcp: string;
|
|
26
31
|
cursorUserData: string;
|
|
27
32
|
openCodeConfig: string;
|
|
28
33
|
polytokenHooks: string;
|
|
@@ -39,13 +44,21 @@ export interface ConnectorConfig {
|
|
|
39
44
|
connectedAt: string;
|
|
40
45
|
timeoutMs: number;
|
|
41
46
|
}
|
|
42
|
-
export declare function getLorePaths(home?: string, environment?: NodeJS.ProcessEnv): LorePaths;
|
|
47
|
+
export declare function getLorePaths(home?: string, environment?: NodeJS.ProcessEnv, cwd?: string): LorePaths;
|
|
43
48
|
export declare function mergeLoreHooks(input: Record<string, unknown>, agent: CommandHookAgentName, paths: LorePaths): Record<string, unknown>;
|
|
44
49
|
export declare function removeLoreHooks(input: Record<string, unknown>): Record<string, unknown>;
|
|
45
50
|
export declare function countLoreHooks(input: Record<string, unknown>): number;
|
|
51
|
+
export declare function mergeLoreCursorMcp(input: unknown, paths: LorePaths): Record<string, unknown>;
|
|
52
|
+
export declare function removeLoreCursorMcp(input: unknown): Record<string, unknown>;
|
|
46
53
|
export declare function mergeLoreCursorHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
|
|
47
54
|
export declare function removeLoreCursorHooks(input: Record<string, unknown>): Record<string, unknown>;
|
|
48
55
|
export declare function countLoreCursorHooks(input: Record<string, unknown>): number;
|
|
56
|
+
export declare function mergeLoreCopilotCliHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
|
|
57
|
+
export declare function removeLoreCopilotCliHooks(input: Record<string, unknown>): Record<string, unknown>;
|
|
58
|
+
export declare function countLoreCopilotCliHooks(input: Record<string, unknown>): number;
|
|
59
|
+
export declare function mergeLoreCopilotVscodeHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
|
|
60
|
+
export declare function removeLoreCopilotVscodeHooks(input: Record<string, unknown>): Record<string, unknown>;
|
|
61
|
+
export declare function countLoreCopilotVscodeHooks(input: Record<string, unknown>): number;
|
|
49
62
|
export declare function mergeLorePolytokenHooks(input: unknown, paths: LorePaths): unknown[];
|
|
50
63
|
export declare function removeLorePolytokenHooks(input: unknown): unknown[];
|
|
51
64
|
export declare function countLorePolytokenHooks(input: unknown): number;
|
|
@@ -64,6 +77,28 @@ export interface AgentInstallation {
|
|
|
64
77
|
configPath: string;
|
|
65
78
|
}
|
|
66
79
|
export declare function t3CodeProviderInstallations(settings: unknown, paths: LorePaths): AgentInstallation[];
|
|
80
|
+
export interface ConnectWithCredentialOptions {
|
|
81
|
+
/** Explicit installation root for embedded callers and isolated acceptance tests. */
|
|
82
|
+
home?: string;
|
|
83
|
+
/** Repository root for project-local integrations such as VS Code. */
|
|
84
|
+
cwd?: string;
|
|
85
|
+
apiUrl: string;
|
|
86
|
+
dashboardUrl?: string;
|
|
87
|
+
token: string;
|
|
88
|
+
agents: readonly ConnectAgentName[];
|
|
89
|
+
timeoutMs?: number;
|
|
90
|
+
}
|
|
91
|
+
export interface ConnectResult {
|
|
92
|
+
connected: true;
|
|
93
|
+
apiUrl: string;
|
|
94
|
+
identity: WorkspaceIdentityResponse;
|
|
95
|
+
agents: ConnectAgentName[];
|
|
96
|
+
config: string;
|
|
97
|
+
changedHookFiles: string[];
|
|
98
|
+
backups: string[];
|
|
99
|
+
warnings: string[];
|
|
100
|
+
}
|
|
101
|
+
export declare function connectWithCredential(options: ConnectWithCredentialOptions): Promise<ConnectResult>;
|
|
67
102
|
export declare function runCli(args?: readonly string[]): Promise<void>;
|
|
68
103
|
export {};
|
|
69
104
|
//# 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":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|