@lore-co/cli 0.2.36 → 0.2.38

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.
Files changed (83) hide show
  1. package/README.md +4 -4
  2. package/dist/cli.d.ts +18 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +118 -13
  5. package/dist/cli.js.map +1 -1
  6. package/dist/codex-hook-approval.d.ts +7 -2
  7. package/dist/codex-hook-approval.d.ts.map +1 -1
  8. package/dist/codex-hook-approval.js +8 -4
  9. package/dist/codex-hook-approval.js.map +1 -1
  10. package/dist/command-help.d.ts.map +1 -1
  11. package/dist/command-help.js +19 -4
  12. package/dist/command-help.js.map +1 -1
  13. package/dist/devin-cli.d.ts.map +1 -1
  14. package/dist/devin-cli.js +9 -2
  15. package/dist/devin-cli.js.map +1 -1
  16. package/dist/devin.d.ts.map +1 -1
  17. package/dist/devin.js +30 -5
  18. package/dist/devin.js.map +1 -1
  19. package/dist/generated-assets.d.ts +8 -8
  20. package/dist/generated-assets.d.ts.map +1 -1
  21. package/dist/generated-assets.js +8 -8
  22. package/dist/generated-assets.js.map +1 -1
  23. package/dist/github.d.ts +6 -0
  24. package/dist/github.d.ts.map +1 -1
  25. package/dist/github.js +60 -23
  26. package/dist/github.js.map +1 -1
  27. package/dist/host.d.ts.map +1 -1
  28. package/dist/host.js +4 -8
  29. package/dist/host.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/lore-agent.d.ts +2 -1
  35. package/dist/lore-agent.d.ts.map +1 -1
  36. package/dist/lore-agent.js +14 -6
  37. package/dist/lore-agent.js.map +1 -1
  38. package/dist/owned-files.d.ts +5 -0
  39. package/dist/owned-files.d.ts.map +1 -1
  40. package/dist/owned-files.js +22 -7
  41. package/dist/owned-files.js.map +1 -1
  42. package/dist/public-rules.d.ts +20 -0
  43. package/dist/public-rules.d.ts.map +1 -0
  44. package/dist/public-rules.js +99 -0
  45. package/dist/public-rules.js.map +1 -0
  46. package/dist/recovery-cloud-workspace.d.ts.map +1 -1
  47. package/dist/recovery-cloud-workspace.js +2 -2
  48. package/dist/recovery-cloud-workspace.js.map +1 -1
  49. package/dist/recovery-cloud.d.ts +21 -3
  50. package/dist/recovery-cloud.d.ts.map +1 -1
  51. package/dist/recovery-cloud.js +77 -10
  52. package/dist/recovery-cloud.js.map +1 -1
  53. package/dist/recovery-state.d.ts.map +1 -1
  54. package/dist/recovery-state.js +8 -5
  55. package/dist/recovery-state.js.map +1 -1
  56. package/dist/remember.d.ts.map +1 -1
  57. package/dist/remember.js +12 -2
  58. package/dist/remember.js.map +1 -1
  59. package/dist/runtime.d.ts +10 -0
  60. package/dist/runtime.d.ts.map +1 -1
  61. package/dist/runtime.js +70 -12
  62. package/dist/runtime.js.map +1 -1
  63. package/dist/self-host.d.ts +1 -1
  64. package/dist/self-host.d.ts.map +1 -1
  65. package/dist/self-host.js +9 -3
  66. package/dist/self-host.js.map +1 -1
  67. package/dist/skills.d.ts +2 -1
  68. package/dist/skills.d.ts.map +1 -1
  69. package/dist/skills.js +15 -5
  70. package/dist/skills.js.map +1 -1
  71. package/dist/status-health.d.ts +5 -0
  72. package/dist/status-health.d.ts.map +1 -1
  73. package/dist/status-health.js +13 -3
  74. package/dist/status-health.js.map +1 -1
  75. package/dist/telemetry.d.ts.map +1 -1
  76. package/dist/telemetry.js +2 -1
  77. package/dist/telemetry.js.map +1 -1
  78. package/dist/uninstall.d.ts +2 -0
  79. package/dist/uninstall.d.ts.map +1 -1
  80. package/dist/uninstall.js +1 -1
  81. package/dist/uninstall.js.map +1 -1
  82. package/dist/update.js +3 -3
  83. package/package.json +4 -4
package/README.md CHANGED
@@ -436,7 +436,7 @@ content-free `guard_check` audit event.
436
436
 
437
437
  ```sh
438
438
  lore update
439
- lore update --version v0.2.36
439
+ lore update --version v0.2.38
440
440
  ```
441
441
 
442
442
  `update` resolves the latest release to an exact tag, or uses the exact
@@ -459,7 +459,7 @@ receive timestamped backups, and customer-edited skill files are preserved with
459
459
  a warning. The report is by agent and lists only what you need to do:
460
460
 
461
461
  ```text
462
- ✓ Lore 0.2.36 is installed
462
+ ✓ Lore 0.2.38 is installed
463
463
  ✓ Updated Lore for Claude Code and Codex
464
464
 
465
465
  Next
@@ -832,7 +832,7 @@ same-repository, non-draft pull requests bearing the corresponding
832
832
  `lore:codex-review` or `lore:devin-review` label.
833
833
 
834
834
  Generated jobs require a published standalone binary release and default to
835
- `treadiehq/lore-releases` at `v0.2.36`. Set `LORE_CLI_REPOSITORY` to the publicly
835
+ `treadiehq/lore-releases` at `v0.2.38`. Set `LORE_CLI_REPOSITORY` to the publicly
836
836
  readable `owner/repository` and `LORE_CLI_VERSION` to an existing release tag
837
837
  when using another release source.
838
838
 
@@ -887,7 +887,7 @@ Managed Devin and Cursor jobs can produce offers in the hosted **Recovery**
887
887
  page, currently restricted to platform admins for testing. Customer workspaces
888
888
  do not see the page or recovery notices. CLI runners need a token attributed to
889
889
  an active platform admin. Pair a desktop checkout with `lore recovery cloud runner --name my-machine`
890
- to launch an installed agent after dashboard acceptance. Provider setup, SSH
890
+ to launch an installed agent after dashboard acceptance; the runner asks in its terminal before it starts the agent. Provider setup, SSH
891
891
  workers, managed destinations, paired workspace exports with verified restoration,
892
892
  and the pushed-checkpoint fallback when no exporter is available
893
893
  are documented in [recovery](../../docs/recovery.md#managed-cloud-recovery).
package/dist/cli.d.ts CHANGED
@@ -9,6 +9,14 @@ import { genericMcpServers, type GenericMcpAgent } from "./generic-mcp.js";
9
9
  import { type OutputStyle } from "./terminal-output.js";
10
10
  import { type ReliabilityStoreInspection } from "./reliability-store.js";
11
11
  export declare const LORE_OPENCODE_PLUGIN = "@lore-co/opencode";
12
+ /**
13
+ * The entry Lore writes to OpenCode's plugin list. OpenCode installs each
14
+ * plugin spec once into its own cache folder and never re-resolves it, so an
15
+ * unversioned entry stays on the first release it installed. Pinning this
16
+ * CLI's release gives each update a new spec that OpenCode installs on its
17
+ * next start; the plugin is published to npm at every CLI release.
18
+ */
19
+ export declare const LORE_OPENCODE_PLUGIN_SPEC: string;
12
20
  export declare const DEFAULT_HOSTED_API_URL = "https://api.uselore.co";
13
21
  export declare const DEFAULT_HOSTED_DASHBOARD_URL = "https://app.uselore.co";
14
22
  declare const CONFIGURED_AGENT_NAMES: readonly ["bob", "claude", "codex", "copilot-cli", "copilot-vscode", "cursor", "opencode", "polytoken"];
@@ -42,6 +50,8 @@ export interface LorePaths {
42
50
  cursorMcp: string;
43
51
  cursorUserData: string;
44
52
  openCodeConfig: string;
53
+ /** OpenCode's own cache, where it installs npm plugins. */
54
+ openCodeCache: string;
45
55
  polytokenHooks: string;
46
56
  t3Settings: string;
47
57
  }
@@ -63,6 +73,8 @@ export interface ConnectorConfig {
63
73
  capture?: "on" | "off";
64
74
  /** "off" stops the once-per-session /recap reminder Lore gives agents while nothing is recorded. Absent means on. */
65
75
  recapReminder?: "off";
76
+ /** "off" stops rules other teams published for this checkout and its dependencies (Public rules beta). Absent means on. */
77
+ packageRules?: "off";
66
78
  connectedAt: string;
67
79
  timeoutMs: number;
68
80
  }
@@ -291,6 +303,7 @@ export declare function disconnectInstallation(paths?: LorePaths, preservePendin
291
303
  connected: false;
292
304
  changedHookFiles: string[];
293
305
  backups: string[];
306
+ warnings: string[];
294
307
  }>;
295
308
  export interface DoctorCheck {
296
309
  name: string;
@@ -350,6 +363,11 @@ export declare function setRecapReminder(reminder: "on" | "off", paths?: LorePat
350
363
  recapReminder: "on" | "off";
351
364
  changed: boolean;
352
365
  }>;
366
+ /** Rules other teams published for a checkout and its dependencies. Hooks read it on each prompt. */
367
+ export declare function setPackageRules(setting: "on" | "off", paths?: LorePaths): Promise<{
368
+ packageRules: "on" | "off";
369
+ changed: boolean;
370
+ }>;
353
371
  /** MCP-only agents from `lore connect --agent generic`: their skills, and that nothing records them. */
354
372
  export declare function genericAgentChecks(paths: LorePaths): Promise<DoctorCheck[]>;
355
373
  export declare function runCli(args?: readonly string[]): Promise<void>;
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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"}
package/dist/cli.js CHANGED
@@ -59,6 +59,14 @@ import { openNoFollow } from "@lore-co/core/no-follow";
59
59
  import { HOSTED_LORE_DASHBOARD_URL, currentDashboardUrl } from "@lore-co/sdk";
60
60
  const LORE_OWNER_ARGUMENT = "--owner lore";
61
61
  export const LORE_OPENCODE_PLUGIN = "@lore-co/opencode";
62
+ /**
63
+ * The entry Lore writes to OpenCode's plugin list. OpenCode installs each
64
+ * plugin spec once into its own cache folder and never re-resolves it, so an
65
+ * unversioned entry stays on the first release it installed. Pinning this
66
+ * CLI's release gives each update a new spec that OpenCode installs on its
67
+ * next start; the plugin is published to npm at every CLI release.
68
+ */
69
+ export const LORE_OPENCODE_PLUGIN_SPEC = `${LORE_OPENCODE_PLUGIN}@${LORE_VERSION}`;
62
70
  export const DEFAULT_HOSTED_API_URL = "https://api.uselore.co";
63
71
  export const DEFAULT_HOSTED_DASHBOARD_URL = HOSTED_LORE_DASHBOARD_URL;
64
72
  const CONFIGURED_AGENT_NAMES = NATIVE_CODING_AGENT_NAMES;
@@ -217,9 +225,10 @@ Usage:
217
225
  lore capture repair [--json]
218
226
 
219
227
  With capture off, Lore installs no Stop or SessionEnd hooks and never sends a
220
- prompt or response as a turn. Context injection, Guard, lore ask, lore remember,
221
- and the lore skill's "remember this session" keep working. Folder rules still
222
- decide where Lore runs at all.
228
+ prompt or response as a turn. Lore still reads your prompt and changes to find
229
+ relevant context, and doesn't keep them. Context injection, Guard, lore ask,
230
+ lore remember, and the lore skill's "remember this session" keep working.
231
+ Folder rules still decide where Lore runs at all.
223
232
 
224
233
  While nothing is recorded, Lore asks your agent to suggest /recap once in a
225
234
  session where you confirm a decision. lore capture reminder off stops that.
@@ -289,6 +298,8 @@ export function getLorePaths(home, environment = process.env, cwd = process.cwd(
289
298
  : isWindows() ? resolve(environment.APPDATA || resolve(resolvedHome, "AppData", "Roaming"), "Cursor")
290
299
  : resolve(resolvedHome, ".config", "Cursor"),
291
300
  openCodeConfig: resolve(resolvedHome, ".config", "opencode", "opencode.json"),
301
+ // OpenCode uses xdg-basedir on every platform, Windows included.
302
+ openCodeCache: resolve(environment.XDG_CACHE_HOME?.trim() || resolve(resolvedHome, ".cache"), "opencode"),
292
303
  polytokenHooks: resolve(xdgConfigHome, "polytoken", "hooks.json"),
293
304
  t3Settings: resolve(t3Home, "userdata", "settings.json"),
294
305
  };
@@ -863,10 +874,26 @@ export function mergeLoreOpenCodePlugin(input) {
863
874
  const plugins = Array.isArray(result.plugin) ? result.plugin : [];
864
875
  result.plugin = [
865
876
  ...plugins.filter((plugin) => !isLoreOpenCodePlugin(plugin)),
866
- LORE_OPENCODE_PLUGIN,
877
+ LORE_OPENCODE_PLUGIN_SPEC,
867
878
  ];
868
879
  return result;
869
880
  }
881
+ /**
882
+ * Remove Lore's older plugin copies from OpenCode's cache, which holds one
883
+ * folder per installed spec (about 100 MB each). The current release and the
884
+ * newest other copy stay, since a running OpenCode may still be loading it.
885
+ * Other plugins are never touched, and any failure leaves the cache as is.
886
+ */
887
+ async function pruneOpenCodePluginCache(paths) {
888
+ const scope = resolve(paths.openCodeCache, "packages", "@lore-co");
889
+ const current = `opencode@${LORE_VERSION}`;
890
+ const names = await readdir(scope).catch(() => []);
891
+ const older = await Promise.all(names
892
+ .filter((name) => /^opencode(?:-plugin)?@/u.test(name) && name !== current)
893
+ .map(async (name) => ({ name, modified: (await stat(resolve(scope, name)).catch(() => null))?.mtimeMs ?? 0 })));
894
+ older.sort((a, b) => b.modified - a.modified);
895
+ await Promise.all(older.slice(1).map(({ name }) => rm(resolve(scope, name), { recursive: true, force: true }).catch(() => undefined)));
896
+ }
870
897
  export function removeLoreOpenCodePlugin(input) {
871
898
  const result = cloneObject(input);
872
899
  if (!Array.isArray(result.plugin)) {
@@ -1030,7 +1057,7 @@ function openCodeInstallationUnits(input, paths, index, total) {
1030
1057
  ? configuration.plugin
1031
1058
  : [];
1032
1059
  const owned = plugins.filter(isLoreOpenCodePlugin);
1033
- const exactCount = owned.filter((candidate) => candidate === LORE_OPENCODE_PLUGIN).length;
1060
+ const exactCount = owned.filter((candidate) => candidate === LORE_OPENCODE_PLUGIN_SPEC).length;
1034
1061
  if (configuration.mcp !== undefined && !isObject(configuration.mcp)) {
1035
1062
  throw new Error('OpenCode configuration field "mcp" must be a JSON object');
1036
1063
  }
@@ -1217,6 +1244,7 @@ function parseConnectorConfig(value) {
1217
1244
  : { agentConfigPaths }),
1218
1245
  ...(value.capture === "off" ? { capture: "off" } : {}),
1219
1246
  ...(value.recapReminder === "off" ? { recapReminder: "off" } : {}),
1247
+ ...(value.packageRules === "off" ? { packageRules: "off" } : {}),
1220
1248
  connectedAt: value.connectedAt,
1221
1249
  timeoutMs,
1222
1250
  };
@@ -1720,6 +1748,9 @@ async function installRuntime(paths) {
1720
1748
  rm(resolve(dirname(paths.runtime), "guard-evaluation.js"), { force: true }),
1721
1749
  rm(resolve(dirname(paths.runtime), "capture-conflict.js"), { force: true }),
1722
1750
  rm(resolve(dirname(paths.runtime), "skill-context.js"), { force: true }),
1751
+ rm(resolve(dirname(paths.runtime), "delivered-text.js"), { force: true }),
1752
+ rm(resolve(dirname(paths.runtime), "control-characters.js"), { force: true }),
1753
+ rm(resolve(dirname(paths.runtime), "injected-context.js"), { force: true }),
1723
1754
  rm(resolve(dirname(paths.runtime), "learning-line.js"), { force: true }),
1724
1755
  rm(resolve(dirname(paths.runtime), "dashboard-url.js"), { force: true }),
1725
1756
  rm(resolve(dirname(paths.runtime), "image-bytes.js"), { force: true }),
@@ -1733,6 +1764,9 @@ async function installRuntime(paths) {
1733
1764
  rm(resolve(dirname(paths.runtime), "host-envelopes.js"), { force: true }),
1734
1765
  rm(resolve(dirname(paths.runtime), "approach-guidance.js"), { force: true }),
1735
1766
  rm(resolve(dirname(paths.runtime), "skill-guidance.js"), { force: true }),
1767
+ rm(resolve(dirname(paths.runtime), "public-rules-client.js"), { force: true }),
1768
+ rm(resolve(dirname(paths.runtime), "public-rule-text.js"), { force: true }),
1769
+ rm(resolve(dirname(paths.runtime), "package-names.js"), { force: true }),
1736
1770
  rm(paths.runtimeContextFallback, { force: true }),
1737
1771
  rm(paths.runtimeInvocationHealthWriter, { force: true }),
1738
1772
  rm(paths.runtimeVersion, { force: true }),
@@ -1763,11 +1797,15 @@ async function installRuntime(paths) {
1763
1797
  }
1764
1798
  const runtimeVersion = `export const RUNTIME_VERSION = ${JSON.stringify(LORE_VERSION)};\n`;
1765
1799
  const runtimeFiles = {
1766
- "lore-hook.mjs": runtime.replaceAll("@lore-co/core/guard-evaluation", "./guard-evaluation.js").replaceAll("@lore-co/core/capture-conflict", "./capture-conflict.js").replaceAll("@lore-co/core/learning-line", "./learning-line.js").replaceAll("@lore-co/core/dashboard-url", "./dashboard-url.js").replaceAll("@lore-co/core/skill-context", "./skill-context.js").replaceAll("@lore-co/core/system-command", "./system-command.js"),
1800
+ "lore-hook.mjs": runtime.replaceAll("@lore-co/core/guard-evaluation", "./guard-evaluation.js").replaceAll("@lore-co/core/capture-conflict", "./capture-conflict.js").replaceAll("@lore-co/core/learning-line", "./learning-line.js").replaceAll("@lore-co/core/dashboard-url", "./dashboard-url.js").replaceAll("@lore-co/core/skill-context", "./skill-context.js").replaceAll("@lore-co/core/delivered-text", "./delivered-text.js").replaceAll("@lore-co/core/system-command", "./system-command.js").replaceAll("@lore-co/core/public-rules-client", "./public-rules-client.js"),
1767
1801
  "guard-evaluation.js": guardEvaluation,
1768
1802
  "capture-conflict.js": await readFile(fileURLToPath(import.meta.resolve("@lore-co/core/capture-conflict")), "utf8"),
1769
1803
  // Fits a redacted skill pack back within its cap; it has no imports.
1770
1804
  "skill-context.js": await readFile(fileURLToPath(import.meta.resolve("@lore-co/core/skill-context")), "utf8"),
1805
+ // Cleans and frames server text before it reaches an agent; imports the two files beside it, which have no imports.
1806
+ "delivered-text.js": await readFile(fileURLToPath(import.meta.resolve("@lore-co/core/delivered-text")), "utf8"),
1807
+ "control-characters.js": await readFile(resolve(dirname(fileURLToPath(import.meta.resolve("@lore-co/core/delivered-text"))), "control-characters.js"), "utf8"),
1808
+ "injected-context.js": await readFile(resolve(dirname(fileURLToPath(import.meta.resolve("@lore-co/core/delivered-text"))), "injected-context.js"), "utf8"),
1771
1809
  // Formats Guard items the way every integration does; imports only repository-address.js.
1772
1810
  "learning-line.js": await readFile(fileURLToPath(import.meta.resolve("@lore-co/core/learning-line")), "utf8"),
1773
1811
  // Reads a dashboard address saved before the hosted dashboard moved; it has no imports.
@@ -1783,6 +1821,10 @@ async function installRuntime(paths) {
1783
1821
  "user-message.js": await readFile(fileURLToPath(import.meta.resolve("@lore-co/core/user-message")), "utf8"),
1784
1822
  // user-message.js imports the host-envelope registry it derives from.
1785
1823
  "host-envelopes.js": await readFile(fileURLToPath(import.meta.resolve("@lore-co/core/host-envelopes")), "utf8"),
1824
+ // Public rules beta: reads the checkout's dependencies and fetches other teams' rules; imports only the files beside it.
1825
+ "public-rules-client.js": await readFile(fileURLToPath(import.meta.resolve("@lore-co/core/public-rules-client")), "utf8"),
1826
+ "public-rule-text.js": await readFile(resolve(dirname(fileURLToPath(import.meta.resolve("@lore-co/core/public-rules-client"))), "public-rule-text.js"), "utf8"),
1827
+ "package-names.js": await readFile(resolve(dirname(fileURLToPath(import.meta.resolve("@lore-co/core/public-rules-client"))), "package-names.js"), "utf8"),
1786
1828
  "approach-guidance.js": await readFile(resolve(sourceDirectory, "approach-guidance.js"), "utf8"),
1787
1829
  "skill-guidance.js": await readFile(resolve(sourceDirectory, "skill-guidance.js"), "utf8"),
1788
1830
  "repository.js": repository,
@@ -1812,6 +1854,9 @@ async function installRuntime(paths) {
1812
1854
  atomicWrite(resolve(dirname(paths.runtime), "guard-evaluation.js"), guardEvaluation, 0o600),
1813
1855
  atomicWrite(resolve(dirname(paths.runtime), "capture-conflict.js"), runtimeFiles["capture-conflict.js"], 0o600),
1814
1856
  atomicWrite(resolve(dirname(paths.runtime), "skill-context.js"), runtimeFiles["skill-context.js"], 0o600),
1857
+ atomicWrite(resolve(dirname(paths.runtime), "delivered-text.js"), runtimeFiles["delivered-text.js"], 0o600),
1858
+ atomicWrite(resolve(dirname(paths.runtime), "control-characters.js"), runtimeFiles["control-characters.js"], 0o600),
1859
+ atomicWrite(resolve(dirname(paths.runtime), "injected-context.js"), runtimeFiles["injected-context.js"], 0o600),
1815
1860
  atomicWrite(resolve(dirname(paths.runtime), "learning-line.js"), runtimeFiles["learning-line.js"], 0o600),
1816
1861
  atomicWrite(resolve(dirname(paths.runtime), "dashboard-url.js"), runtimeFiles["dashboard-url.js"], 0o600),
1817
1862
  atomicWrite(resolve(dirname(paths.runtime), "image-bytes.js"), imageBytes, 0o600),
@@ -1825,6 +1870,9 @@ async function installRuntime(paths) {
1825
1870
  atomicWrite(resolve(dirname(paths.runtime), "host-envelopes.js"), runtimeFiles["host-envelopes.js"], 0o600),
1826
1871
  atomicWrite(resolve(dirname(paths.runtime), "approach-guidance.js"), runtimeFiles["approach-guidance.js"], 0o600),
1827
1872
  atomicWrite(resolve(dirname(paths.runtime), "skill-guidance.js"), runtimeFiles["skill-guidance.js"], 0o600),
1873
+ atomicWrite(resolve(dirname(paths.runtime), "public-rules-client.js"), runtimeFiles["public-rules-client.js"], 0o600),
1874
+ atomicWrite(resolve(dirname(paths.runtime), "public-rule-text.js"), runtimeFiles["public-rule-text.js"], 0o600),
1875
+ atomicWrite(resolve(dirname(paths.runtime), "package-names.js"), runtimeFiles["package-names.js"], 0o600),
1828
1876
  atomicWrite(paths.runtimeRepository, repository, 0o600),
1829
1877
  atomicWrite(resolve(dirname(paths.runtime), "repository-address.js"), runtimeFiles["repository-address.js"], 0o600),
1830
1878
  atomicWrite(resolve(dirname(paths.runtime), "capture-policy.js"), runtimeFiles["capture-policy.js"], 0o600),
@@ -1917,6 +1965,9 @@ async function writeAgentEntries(entries, paths, now) {
1917
1965
  backups.push(result.backup);
1918
1966
  }
1919
1967
  }
1968
+ if (entries.installations.some((installation) => installation.agent === "opencode")) {
1969
+ await pruneOpenCodePluginCache(paths);
1970
+ }
1920
1971
  return { changedFiles, backups };
1921
1972
  }
1922
1973
  /**
@@ -2314,6 +2365,7 @@ async function connectWithCredentialLocked(options, identity) {
2314
2365
  agentConfigPaths,
2315
2366
  ...(capture ? {} : { capture: "off" }),
2316
2367
  ...(existing?.recapReminder === "off" ? { recapReminder: "off" } : {}),
2368
+ ...(existing?.packageRules === "off" ? { packageRules: "off" } : {}),
2317
2369
  connectedAt: connection.profiles.find(value => value.connectionId === connection.fields.connectionId)?.connectedAt ?? now.toISOString(),
2318
2370
  timeoutMs,
2319
2371
  };
@@ -2931,6 +2983,9 @@ async function inspectRuntimeInstallation(required, paths) {
2931
2983
  "guard-evaluation.js": resolve(dirname(paths.runtime), "guard-evaluation.js"),
2932
2984
  "capture-conflict.js": resolve(dirname(paths.runtime), "capture-conflict.js"),
2933
2985
  "skill-context.js": resolve(dirname(paths.runtime), "skill-context.js"),
2986
+ "delivered-text.js": resolve(dirname(paths.runtime), "delivered-text.js"),
2987
+ "control-characters.js": resolve(dirname(paths.runtime), "control-characters.js"),
2988
+ "injected-context.js": resolve(dirname(paths.runtime), "injected-context.js"),
2934
2989
  "learning-line.js": resolve(dirname(paths.runtime), "learning-line.js"),
2935
2990
  "dashboard-url.js": resolve(dirname(paths.runtime), "dashboard-url.js"),
2936
2991
  "image-bytes.js": resolve(dirname(paths.runtime), "image-bytes.js"),
@@ -2944,6 +2999,9 @@ async function inspectRuntimeInstallation(required, paths) {
2944
2999
  "host-envelopes.js": resolve(dirname(paths.runtime), "host-envelopes.js"),
2945
3000
  "approach-guidance.js": resolve(dirname(paths.runtime), "approach-guidance.js"),
2946
3001
  "skill-guidance.js": resolve(dirname(paths.runtime), "skill-guidance.js"),
3002
+ "public-rules-client.js": resolve(dirname(paths.runtime), "public-rules-client.js"),
3003
+ "public-rule-text.js": resolve(dirname(paths.runtime), "public-rule-text.js"),
3004
+ "package-names.js": resolve(dirname(paths.runtime), "package-names.js"),
2947
3005
  "repository.js": paths.runtimeRepository,
2948
3006
  "repository-address.js": resolve(dirname(paths.runtime), "repository-address.js"),
2949
3007
  "capture-policy.js": resolve(dirname(paths.runtime), "capture-policy.js"),
@@ -3211,6 +3269,15 @@ function formatRetrievalFailureDiagnostics(retrieval) {
3211
3269
  return (`local_retrieval_failure_reasons: ${reasons.length === 0 ? "-" : reasons.join(" ")}\n` +
3212
3270
  `last_retrieval_failure: ${last === null ? "-" : `${last.reason} (${last.path} request, agent ${last.agent}, at ${last.at})`}\n`);
3213
3271
  }
3272
+ /**
3273
+ * A plugin agent still running an older Lore although every plugin entry
3274
+ * already names this release: `lore update` has done its part, and only a
3275
+ * restart makes the agent load the new copy.
3276
+ */
3277
+ function pluginAwaitsRestart(agent) {
3278
+ const plugin = agent.installation.units.filter((unit) => /(?:^|\/)plugin$/u.test(unit.id));
3279
+ return agent.installation.runtime === "stale" && plugin.length > 0 && plugin.every((unit) => unit.state === "exact");
3280
+ }
3214
3281
  /**
3215
3282
  * The plain lines at the top of `lore status`: live context over the last
3216
3283
  * days on this machine, then a server behind this CLI and out-of-date Lore
@@ -3226,7 +3293,11 @@ function statusHealth(data, serverVersion) {
3226
3293
  // Hook agents share the runtime above; a plugin carries its own copy.
3227
3294
  if (agent.installation.runtime !== "stale" || targetFor(agent.agent).runtimeRequired)
3228
3295
  continue;
3229
- staleFiles.push({ name: `${agentDisplayName(agent.agent)} plugin`, version: agent.installation.runtimeVersion });
3296
+ staleFiles.push({
3297
+ name: `${agentDisplayName(agent.agent)} plugin`,
3298
+ version: agent.installation.runtimeVersion,
3299
+ ...(pluginAwaitsRestart(agent) ? { restart: agentDisplayName(agent.agent) } : {}),
3300
+ });
3230
3301
  }
3231
3302
  const lines = [
3232
3303
  contextHealthLine(context ?? undefined),
@@ -3324,7 +3395,7 @@ async function disconnectCommand(args) {
3324
3395
  return;
3325
3396
  }
3326
3397
  const result = await disconnectInstallation();
3327
- writeResult(result, parsed.json, `disconnected: yes\nchanged_hook_files: ${result.changedHookFiles.length}\n`);
3398
+ writeResult(result, parsed.json, `disconnected: yes\nchanged_hook_files: ${result.changedHookFiles.length}\n${result.warnings.map(warning => `warning: ${warning}\n`).join("")}`);
3328
3399
  }
3329
3400
  export async function disconnectInstallation(paths = getLorePaths(), preservePendingState = false) {
3330
3401
  await disableRecovery(paths.home);
@@ -3379,8 +3450,11 @@ export async function disconnectInstallation(paths = getLorePaths(), preservePen
3379
3450
  backups.push(result.backup);
3380
3451
  }
3381
3452
  }
3382
- await removeLoreSkill(paths, [...installations, { agent: GENERIC_AGENT, configPath: paths.config }]);
3383
- await removeLoreAgent(paths, installations);
3453
+ // A Lore file that can't be removed is reported; disconnecting still removes the credentials.
3454
+ const warnings = [
3455
+ ...await removeLoreSkill(paths, [...installations, { agent: GENERIC_AGENT, configPath: paths.config }]),
3456
+ ...await removeLoreAgent(paths, installations),
3457
+ ];
3384
3458
  await removeGenericAgents(paths.loreDirectory);
3385
3459
  await Promise.all([
3386
3460
  rm(paths.config, { force: true }),
@@ -3397,6 +3471,9 @@ export async function disconnectInstallation(paths = getLorePaths(), preservePen
3397
3471
  rm(resolve(dirname(paths.runtime), "guard-evaluation.js"), { force: true }),
3398
3472
  rm(resolve(dirname(paths.runtime), "capture-conflict.js"), { force: true }),
3399
3473
  rm(resolve(dirname(paths.runtime), "skill-context.js"), { force: true }),
3474
+ rm(resolve(dirname(paths.runtime), "delivered-text.js"), { force: true }),
3475
+ rm(resolve(dirname(paths.runtime), "control-characters.js"), { force: true }),
3476
+ rm(resolve(dirname(paths.runtime), "injected-context.js"), { force: true }),
3400
3477
  rm(resolve(dirname(paths.runtime), "learning-line.js"), { force: true }),
3401
3478
  rm(resolve(dirname(paths.runtime), "dashboard-url.js"), { force: true }),
3402
3479
  rm(resolve(dirname(paths.runtime), "image-bytes.js"), { force: true }),
@@ -3408,6 +3485,9 @@ export async function disconnectInstallation(paths = getLorePaths(), preservePen
3408
3485
  rm(resolve(dirname(paths.runtime), "user-message.js"), { force: true }),
3409
3486
  rm(resolve(dirname(paths.runtime), "host-envelopes.js"), { force: true }),
3410
3487
  rm(resolve(dirname(paths.runtime), "skill-guidance.js"), { force: true }),
3488
+ rm(resolve(dirname(paths.runtime), "public-rules-client.js"), { force: true }),
3489
+ rm(resolve(dirname(paths.runtime), "public-rule-text.js"), { force: true }),
3490
+ rm(resolve(dirname(paths.runtime), "package-names.js"), { force: true }),
3411
3491
  rm(paths.runtimeInvocationHealthWriter, { force: true }),
3412
3492
  rm(paths.runtimeVersion, { force: true }),
3413
3493
  rm(paths.runtimePackage, { force: true }),
@@ -3416,7 +3496,7 @@ export async function disconnectInstallation(paths = getLorePaths(), preservePen
3416
3496
  rm(paths.queue, { recursive: true, force: true }),
3417
3497
  ]),
3418
3498
  ]);
3419
- return { connected: false, changedHookFiles, backups };
3499
+ return { connected: false, changedHookFiles, backups, warnings };
3420
3500
  }
3421
3501
  const CAPTURE_SWITCHES_UNCHECKED = { pausedBy: null, checked: false, reason: "not connected" };
3422
3502
  async function captureSwitches(config, home, cwd) {
@@ -3693,6 +3773,19 @@ export async function setRecapReminder(reminder, paths = getLorePaths()) {
3693
3773
  });
3694
3774
  return { recapReminder: reminder, changed: true };
3695
3775
  }
3776
+ /** Rules other teams published for a checkout and its dependencies. Hooks read it on each prompt. */
3777
+ export async function setPackageRules(setting, paths = getLorePaths()) {
3778
+ const config = await readConnectorConfig(paths);
3779
+ if (config === null)
3780
+ throw new Error("Lore is not connected. Run lore connect.");
3781
+ if ((config.packageRules ?? "on") === setting)
3782
+ return { packageRules: setting, changed: false };
3783
+ await withDirectoryLock(resolve(paths.loreDirectory, "connections.lock"), async () => {
3784
+ const { packageRules: _previous, ...rest } = config;
3785
+ await atomicWriteJson(paths.config, { ...rest, ...(setting === "off" ? { packageRules: setting } : {}) }, 65536);
3786
+ });
3787
+ return { packageRules: setting, changed: true };
3788
+ }
3696
3789
  async function captureCommand(args) {
3697
3790
  if (args[0] === "repair") {
3698
3791
  await runCaptureRepairCommand(args.slice(1), await readConnectorConfig(getLorePaths(), process.cwd()));
@@ -3846,7 +3939,7 @@ async function doctorCommand(args) {
3846
3939
  checks.push({
3847
3940
  name: `${agent.agent}-${agent.integration}`,
3848
3941
  status: agent.installation.state === "complete" ? "ok" : "error",
3849
- detail: `${agent.installation.state}: ${agent.installation.installedUnits}/${agent.installation.expectedUnits} exact Lore ${agent.integration} units`,
3942
+ detail: `${agent.installation.state}: ${agent.installation.installedUnits}/${agent.installation.expectedUnits} exact Lore ${agent.integration} units${pluginAwaitsRestart(agent) ? `. Restart ${agentDisplayName(agent.agent)} to load Lore ${LORE_VERSION}` : ""}`,
3850
3943
  });
3851
3944
  checks.push({
3852
3945
  name: `${agent.agent}-invocation`,
@@ -3862,7 +3955,7 @@ async function doctorCommand(args) {
3862
3955
  : "warning",
3863
3956
  detail: agent.invocationError !== null
3864
3957
  ? agent.invocationError === "runtime_version_mismatch"
3865
- ? `observed Lore ${agent.invocation.runtimeVersion}; expected ${LORE_VERSION}`
3958
+ ? `observed Lore ${agent.invocation.runtimeVersion}; expected ${LORE_VERSION}. ${pluginAwaitsRestart(agent) ? `Restart ${agentDisplayName(agent.agent)}` : "Run lore update"}`
3866
3959
  : `health record unavailable (${agent.invocationError})`
3867
3960
  : agent.invocation.state === "successful"
3868
3961
  ? `last completed ${agent.invocation.lastSuccessfulAt}`
@@ -3881,6 +3974,7 @@ async function doctorCommand(args) {
3881
3974
  home: paths.home,
3882
3975
  cwd: process.cwd(),
3883
3976
  configPaths: agent.configFiles ?? [agent.configFile],
3977
+ capture: captureEnabled(config),
3884
3978
  });
3885
3979
  checks.push({
3886
3980
  name: "codex-hook-approval",
@@ -4123,6 +4217,17 @@ async function executeCli(args = process.argv.slice(2)) {
4123
4217
  await listConnections(getLorePaths().home);
4124
4218
  return;
4125
4219
  case "config":
4220
+ if (commandArgs[0] === "package-rules") {
4221
+ const json = commandArgs.includes("--json");
4222
+ const [setting, ...extra] = commandArgs.slice(1).filter(argument => argument !== "--json");
4223
+ if ((setting !== "on" && setting !== "off") || extra.length > 0)
4224
+ throw new Error("Usage: lore config package-rules off|on [--json]");
4225
+ const result = await setPackageRules(setting);
4226
+ writeResult(result, json, setting === "on"
4227
+ ? "package rules: on. Your agents get rules other teams published for this repository and the packages it uses. Only names already public reach Lore.\n"
4228
+ : "package rules: off. Your agents on this machine no longer get rules other teams published.\n");
4229
+ return;
4230
+ }
4126
4231
  await runConfigCommand(commandArgs, getLorePaths().config);
4127
4232
  return;
4128
4233
  case "capture":