@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 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
- --token "$LORE_WORKSPACE_TOKEN" \
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
- Before writing that file or any agent integration, `connect` calls the
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.18
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.18`. Set `LORE_CLI_REPOSITORY` to the publicly
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":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}