@lore-co/cli 0.1.18 → 0.1.19

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
 
@@ -98,7 +131,7 @@ content-free `guard_check` audit event.
98
131
 
99
132
  ```sh
100
133
  lore update
101
- lore update --version v0.1.18
134
+ lore update --version v0.1.19
102
135
  ```
103
136
 
104
137
  `update` resolves the latest release to an exact tag, or uses the exact
@@ -351,7 +384,7 @@ same-repository, non-draft pull requests bearing the corresponding
351
384
  `lore:codex-review` or `lore:devin-review` label.
352
385
 
353
386
  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
387
+ `treadiehq/lore-releases` at `v0.1.19`. Set `LORE_CLI_REPOSITORY` to the publicly
355
388
  readable `owner/repository` and `LORE_CLI_VERSION` to an existing release tag
356
389
  when using another release source.
357
390
 
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,6 +23,8 @@ 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;
26
30
  cursorUserData: string;
@@ -46,6 +50,12 @@ export declare function countLoreHooks(input: Record<string, unknown>): number;
46
50
  export declare function mergeLoreCursorHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
47
51
  export declare function removeLoreCursorHooks(input: Record<string, unknown>): Record<string, unknown>;
48
52
  export declare function countLoreCursorHooks(input: Record<string, unknown>): number;
53
+ export declare function mergeLoreCopilotCliHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
54
+ export declare function removeLoreCopilotCliHooks(input: Record<string, unknown>): Record<string, unknown>;
55
+ export declare function countLoreCopilotCliHooks(input: Record<string, unknown>): number;
56
+ export declare function mergeLoreCopilotVscodeHooks(input: Record<string, unknown>, paths: LorePaths): Record<string, unknown>;
57
+ export declare function removeLoreCopilotVscodeHooks(input: Record<string, unknown>): Record<string, unknown>;
58
+ export declare function countLoreCopilotVscodeHooks(input: Record<string, unknown>): number;
49
59
  export declare function mergeLorePolytokenHooks(input: unknown, paths: LorePaths): unknown[];
50
60
  export declare function removeLorePolytokenHooks(input: unknown): unknown[];
51
61
  export declare function countLorePolytokenHooks(input: unknown): number;
@@ -64,6 +74,24 @@ export interface AgentInstallation {
64
74
  configPath: string;
65
75
  }
66
76
  export declare function t3CodeProviderInstallations(settings: unknown, paths: LorePaths): AgentInstallation[];
77
+ export interface ConnectWithCredentialOptions {
78
+ apiUrl: string;
79
+ dashboardUrl?: string;
80
+ token: string;
81
+ agents: readonly ConnectAgentName[];
82
+ timeoutMs?: number;
83
+ }
84
+ export interface ConnectResult {
85
+ connected: true;
86
+ apiUrl: string;
87
+ identity: WorkspaceIdentityResponse;
88
+ agents: ConnectAgentName[];
89
+ config: string;
90
+ changedHookFiles: string[];
91
+ backups: string[];
92
+ warnings: string[];
93
+ }
94
+ export declare function connectWithCredential(options: ConnectWithCredentialOptions): Promise<ConnectResult>;
67
95
  export declare function runCli(args?: readonly string[]): Promise<void>;
68
96
  export {};
69
97
  //# 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":";AAyCA,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AA6BtB,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,QAAA,MAAM,sBAAsB,iEAA4B,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAyB1E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,6BAA6B,EAAE,MAAM,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsKD,wBAAgB,YAAY,CAC1B,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,GAAE,MAAM,CAAC,UAAwB,GAC3C,SAAS,CA8DX;AA8ED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,SAAS,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAiBrE;AAwBD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,SAAS,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBzB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAWR;AAyBD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,SAAS,GACf,OAAO,EAAE,CAWX;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAKlE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI9D;AASD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAIR;AA2VD,wBAAgB,uBAAuB,CACrC,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC;IACnE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1B,GACL,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,cAAc,CAAC,CA8BlD;AA+PD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AA0MD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,SAAS,GACf,iBAAiB,EAAE,CAErB;AAqpCD,wBAAsB,MAAM,CAC1B,IAAI,GAAE,SAAS,MAAM,EAA0B,GAC9C,OAAO,CAAC,IAAI,CAAC,CAmHf"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}