@wipcomputer/wip-ldm-os 0.4.23 → 0.4.25

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/SKILL.md CHANGED
@@ -5,7 +5,7 @@ license: MIT
5
5
  interface: [cli, skill]
6
6
  metadata:
7
7
  display-name: "LDM OS"
8
- version: "0.4.23"
8
+ version: "0.4.25"
9
9
  homepage: "https://github.com/wipcomputer/wip-ldm-os"
10
10
  author: "Parker Todd Brooks"
11
11
  category: infrastructure
package/bin/ldm.js CHANGED
@@ -31,6 +31,17 @@ const LDM_EXTENSIONS = join(LDM_ROOT, 'extensions');
31
31
  const VERSION_PATH = join(LDM_ROOT, 'version.json');
32
32
  const REGISTRY_PATH = join(LDM_EXTENSIONS, 'registry.json');
33
33
 
34
+ // Install log (#101): append to ~/.ldm/logs/install.log
35
+ import { appendFileSync } from 'node:fs';
36
+ const LOG_DIR = join(LDM_ROOT, 'logs');
37
+ const LOG_PATH = join(LOG_DIR, 'install.log');
38
+ function installLog(msg) {
39
+ try {
40
+ mkdirSync(LOG_DIR, { recursive: true });
41
+ appendFileSync(LOG_PATH, `[${new Date().toISOString()}] ${msg}\n`);
42
+ } catch {}
43
+ }
44
+
34
45
  // Read our own version from package.json
35
46
  const pkgPath = join(__dirname, '..', 'package.json');
36
47
  let PKG_VERSION = '0.2.0';
@@ -654,6 +665,7 @@ function autoDetectExtensions() {
654
665
 
655
666
  async function cmdInstallCatalog() {
656
667
  // No lock here. cmdInstall() already holds it when calling this.
668
+ installLog(`ldm install started (v${PKG_VERSION}, DRY_RUN=${DRY_RUN})`);
657
669
 
658
670
  // Self-update: check if CLI itself is outdated. Update first, then re-exec.
659
671
  // This breaks the chicken-and-egg: new features in ldm install are always
@@ -1089,6 +1101,7 @@ async function cmdInstallCatalog() {
1089
1101
 
1090
1102
  console.log('');
1091
1103
  console.log(` Updated ${updated}/${totalUpdates} extension(s).`);
1104
+ installLog(`ldm install complete: ${updated}/${totalUpdates} updated, ${healthFixes} health fix(es)`);
1092
1105
 
1093
1106
  // Check if CLI itself is outdated (#29)
1094
1107
  checkCliVersion();
package/lib/deploy.mjs CHANGED
@@ -683,7 +683,10 @@ export function installSingleTool(toolPath) {
683
683
 
684
684
  if (ifaceNames.length === 0) return 0;
685
685
 
686
- const toolName = pkg?.name?.replace(/^@\w+\//, '') || basename(toolPath);
686
+ // Derive tool name from package.json, never from /tmp/ clone path
687
+ let toolName = pkg?.name?.replace(/^@\w+\//, '') || basename(toolPath);
688
+ // Strip ldm-install- prefix if it leaked from clone path
689
+ toolName = toolName.replace(/^ldm-install-/, '');
687
690
 
688
691
  // Migrate ldm-install-* ghost directories (#96)
689
692
  // Old installs used /tmp/ldm-install-<name> as source, which leaked into the directory name.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-ldm-os",
3
- "version": "0.4.23",
3
+ "version": "0.4.25",
4
4
  "type": "module",
5
5
  "description": "LDM OS: identity, memory, and sovereignty infrastructure for AI agents",
6
6
  "main": "src/boot/boot-hook.mjs",