@lore-co/cli 0.2.14 → 0.2.15

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 (70) hide show
  1. package/README.md +78 -4
  2. package/dist/capture-scope.d.ts +12 -0
  3. package/dist/capture-scope.d.ts.map +1 -0
  4. package/dist/capture-scope.js +45 -0
  5. package/dist/capture-scope.js.map +1 -0
  6. package/dist/cli.d.ts +7 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +118 -36
  9. package/dist/cli.js.map +1 -1
  10. package/dist/command-help.d.ts +2 -1
  11. package/dist/command-help.d.ts.map +1 -1
  12. package/dist/command-help.js +4 -1
  13. package/dist/command-help.js.map +1 -1
  14. package/dist/connect-project.d.ts +15 -0
  15. package/dist/connect-project.d.ts.map +1 -0
  16. package/dist/connect-project.js +87 -0
  17. package/dist/connect-project.js.map +1 -0
  18. package/dist/connections.d.ts +3 -1
  19. package/dist/connections.d.ts.map +1 -1
  20. package/dist/connections.js +6 -1
  21. package/dist/connections.js.map +1 -1
  22. package/dist/devin-cli.d.ts.map +1 -1
  23. package/dist/devin-cli.js +14 -6
  24. package/dist/devin-cli.js.map +1 -1
  25. package/dist/devin.d.ts.map +1 -1
  26. package/dist/devin.js +5 -2
  27. package/dist/devin.js.map +1 -1
  28. package/dist/generated-assets.d.ts +5 -4
  29. package/dist/generated-assets.d.ts.map +1 -1
  30. package/dist/generated-assets.js +5 -4
  31. package/dist/generated-assets.js.map +1 -1
  32. package/dist/host.d.ts.map +1 -1
  33. package/dist/host.js +5 -5
  34. package/dist/host.js.map +1 -1
  35. package/dist/remember.d.ts.map +1 -1
  36. package/dist/remember.js +8 -1
  37. package/dist/remember.js.map +1 -1
  38. package/dist/retrieval-task.d.ts +20 -0
  39. package/dist/retrieval-task.d.ts.map +1 -0
  40. package/dist/retrieval-task.js +78 -0
  41. package/dist/retrieval-task.js.map +1 -0
  42. package/dist/runtime-redaction.d.ts +2 -0
  43. package/dist/runtime-redaction.d.ts.map +1 -0
  44. package/dist/runtime-redaction.js +69 -0
  45. package/dist/runtime-redaction.js.map +1 -0
  46. package/dist/runtime.d.ts +2 -2
  47. package/dist/runtime.d.ts.map +1 -1
  48. package/dist/runtime.js +45 -70
  49. package/dist/runtime.js.map +1 -1
  50. package/dist/self-host.d.ts +2 -1
  51. package/dist/self-host.d.ts.map +1 -1
  52. package/dist/self-host.js +4 -3
  53. package/dist/self-host.js.map +1 -1
  54. package/dist/signed-snapshot.d.ts.map +1 -1
  55. package/dist/signed-snapshot.js +2 -0
  56. package/dist/signed-snapshot.js.map +1 -1
  57. package/dist/skill-command.d.ts +20 -0
  58. package/dist/skill-command.d.ts.map +1 -0
  59. package/dist/skill-command.js +215 -0
  60. package/dist/skill-command.js.map +1 -0
  61. package/dist/skill-guidance.d.ts +2 -0
  62. package/dist/skill-guidance.d.ts.map +1 -0
  63. package/dist/skill-guidance.js +7 -0
  64. package/dist/skill-guidance.js.map +1 -0
  65. package/dist/skills.d.ts +16 -0
  66. package/dist/skills.d.ts.map +1 -0
  67. package/dist/skills.js +126 -0
  68. package/dist/skills.js.map +1 -0
  69. package/dist/update.js +3 -3
  70. package/package.json +7 -3
package/dist/skills.js ADDED
@@ -0,0 +1,126 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ import { lstat, mkdir, readFile, rename, rm, rmdir, writeFile } from "node:fs/promises";
3
+ import { dirname, resolve } from "node:path";
4
+ import { LORE_SKILL_ASSET } from "./generated-assets.js";
5
+ const digest = (text) => createHash("sha256").update(text).digest("hex");
6
+ function skillFiles(paths, installations, name) {
7
+ return [...new Set(installations.flatMap(installation => {
8
+ if (installation.agent === "claude")
9
+ return [resolve(dirname(installation.configPath), `skills/${name}/SKILL.md`)];
10
+ if (["codex", "copilot-cli", "copilot-vscode", "cursor", "opencode"].includes(installation.agent))
11
+ return [resolve(paths.home, `.agents/skills/${name}/SKILL.md`)];
12
+ return [];
13
+ }))];
14
+ }
15
+ export function loreSkillFiles(paths, installations) {
16
+ return skillFiles(paths, installations, "lore");
17
+ }
18
+ async function regularPath(path) {
19
+ let current = path;
20
+ while (dirname(current) !== current) {
21
+ const stat = await lstat(current).catch((error) => {
22
+ if (error.code !== "ENOENT")
23
+ throw error;
24
+ return null;
25
+ });
26
+ if (stat?.isSymbolicLink())
27
+ return false;
28
+ current = dirname(current);
29
+ }
30
+ return true;
31
+ }
32
+ async function readManifest(paths) {
33
+ const file = resolve(paths.loreDirectory, "skills.json");
34
+ if (!await regularPath(file))
35
+ throw new Error("Skill ownership file is a symlink.");
36
+ try {
37
+ const value = JSON.parse(await readFile(file, "utf8"));
38
+ if (!value || typeof value !== "object" || Array.isArray(value))
39
+ throw new Error("Invalid skill ownership file.");
40
+ return Object.fromEntries(Object.entries(value).filter((entry) => typeof entry[1] === "string" && /^[a-f0-9]{64}$/u.test(entry[1])));
41
+ }
42
+ catch (error) {
43
+ if (error.code === "ENOENT")
44
+ return {};
45
+ throw error;
46
+ }
47
+ }
48
+ async function atomicWrite(file, text) {
49
+ await mkdir(dirname(file), { recursive: true });
50
+ const temporary = `${file}.${randomUUID()}.tmp`;
51
+ try {
52
+ await writeFile(temporary, text, { flag: "wx", mode: 0o600 });
53
+ await rename(temporary, file);
54
+ }
55
+ finally {
56
+ await rm(temporary, { force: true });
57
+ }
58
+ }
59
+ async function removeOwnedSkill(file, manifest) {
60
+ if (!manifest[file] || !await regularPath(file))
61
+ return false;
62
+ const existing = await readFile(file, "utf8").catch((error) => {
63
+ if (error.code !== "ENOENT")
64
+ throw error;
65
+ return null;
66
+ });
67
+ if (existing !== null && digest(existing) !== manifest[file])
68
+ return false;
69
+ if (existing !== null) {
70
+ await rm(file);
71
+ // Remove only an empty skill directory; preserve any customer resources.
72
+ await rmdir(dirname(file)).catch((error) => {
73
+ if (!["ENOENT", "ENOTEMPTY", "EEXIST"].includes(error.code ?? ""))
74
+ throw error;
75
+ });
76
+ }
77
+ delete manifest[file];
78
+ return true;
79
+ }
80
+ export async function installLoreSkill(paths, installations) {
81
+ const files = [], warnings = [];
82
+ try {
83
+ const manifest = await readManifest(paths);
84
+ for (const file of loreSkillFiles(paths, installations)) {
85
+ if (!await regularPath(file)) {
86
+ warnings.push(`Lore skill left unchanged because its path is symlinked: ${file}`);
87
+ continue;
88
+ }
89
+ const existing = await readFile(file, "utf8").catch((error) => { if (error.code !== "ENOENT")
90
+ throw error; return null; });
91
+ if (existing !== null && existing !== LORE_SKILL_ASSET && digest(existing) !== manifest[file]) {
92
+ warnings.push(`Lore skill left unchanged to preserve your edits: ${file}`);
93
+ continue;
94
+ }
95
+ if (existing !== LORE_SKILL_ASSET)
96
+ await atomicWrite(file, LORE_SKILL_ASSET);
97
+ manifest[file] = digest(LORE_SKILL_ASSET);
98
+ files.push(file);
99
+ // Retire the old name only after its replacement is installed, using
100
+ // the prior manifest to prove the old file is still Lore-owned.
101
+ const legacy = resolve(dirname(dirname(file)), "lore-remember/SKILL.md");
102
+ if (!await regularPath(legacy)) {
103
+ warnings.push(`Previous lore-remember skill left unchanged because its path is symlinked: ${legacy}`);
104
+ }
105
+ else if (!await removeOwnedSkill(legacy, manifest) && await lstat(legacy).catch((error) => { if (error.code !== "ENOENT")
106
+ throw error; return null; })) {
107
+ warnings.push(`Previous lore-remember skill left unchanged to preserve your edits: ${legacy}`);
108
+ }
109
+ }
110
+ await atomicWrite(resolve(paths.loreDirectory, "skills.json"), `${JSON.stringify(manifest, null, 2)}\n`);
111
+ }
112
+ catch (error) {
113
+ warnings.push(`Lore skill installation: ${error.message}`);
114
+ }
115
+ return { files, warnings };
116
+ }
117
+ export async function removeLoreSkill(paths, installations) {
118
+ const manifest = await readManifest(paths).catch(() => ({}));
119
+ // Manifest entries never select deletion targets; only known agent locations do.
120
+ for (const file of [...loreSkillFiles(paths, installations), ...skillFiles(paths, installations, "lore-remember")]) {
121
+ await removeOwnedSkill(file, manifest);
122
+ }
123
+ if (await regularPath(resolve(paths.loreDirectory, "skills.json")))
124
+ await rm(resolve(paths.loreDirectory, "skills.json"), { force: true });
125
+ }
126
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
package/dist/update.js CHANGED
@@ -26,7 +26,7 @@ Usage:
26
26
  lore update [--version <tag>]
27
27
 
28
28
  Options:
29
- --version <tag> Release tag to install, for example v0.2.14
29
+ --version <tag> Release tag to install, for example v0.2.15
30
30
  -h, --help Show this help
31
31
 
32
32
  Environment:
@@ -36,7 +36,7 @@ Environment:
36
36
 
37
37
  Examples:
38
38
  lore update
39
- lore update --version v0.2.14
39
+ lore update --version v0.2.15
40
40
  `;
41
41
  export function isReleaseTag(value) {
42
42
  return RELEASE_TAG_PATTERN.test(value);
@@ -54,7 +54,7 @@ export function parseUpdateVersion(args) {
54
54
  if (version !== undefined && isReleaseTag(version)) {
55
55
  return version;
56
56
  }
57
- throw new Error("--version must be a release tag such as v0.2.14");
57
+ throw new Error("--version must be a release tag such as v0.2.15");
58
58
  }
59
59
  throw new Error("Unknown update options. Try: lore update --help");
60
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lore-co/cli",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
4
4
  "description": "Connect Claude Code, Codex, Cursor, OpenCode, Polytoken, and T3 Code to Lore shared engineering memory",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -29,6 +29,10 @@
29
29
  "types": "./dist/context-fallback.d.ts",
30
30
  "import": "./dist/context-fallback.js"
31
31
  },
32
+ "./retrieval-task": {
33
+ "types": "./dist/retrieval-task.d.ts",
34
+ "import": "./dist/retrieval-task.js"
35
+ },
32
36
  "./invocation-health-writer": {
33
37
  "types": "./dist/invocation-health-writer.d.ts",
34
38
  "import": "./dist/invocation-health-writer.js"
@@ -70,8 +74,8 @@
70
74
  "cross-spawn": "7.0.6",
71
75
  "ws": "^8.21.3",
72
76
  "zod": "^4.4.3",
73
- "@lore-co/core": "0.2.14",
74
- "@lore-co/sdk": "0.2.14"
77
+ "@lore-co/core": "0.2.15",
78
+ "@lore-co/sdk": "0.2.15"
75
79
  },
76
80
  "devDependencies": {
77
81
  "@types/cross-spawn": "6.0.6",