@wipcomputer/wip-ldm-os 0.4.17 → 0.4.18

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 (3) hide show
  1. package/SKILL.md +1 -1
  2. package/bin/ldm.js +44 -3
  3. package/package.json +1 -1
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.17"
8
+ version: "0.4.18"
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
@@ -784,6 +784,50 @@ async function cmdInstallCatalog() {
784
784
  const totalUpdates = npmUpdates.length;
785
785
 
786
786
  if (DRY_RUN) {
787
+ // Summary block (#80)
788
+ const cliLatest = (() => {
789
+ try {
790
+ return execSync('npm view @wipcomputer/wip-ldm-os version 2>/dev/null', {
791
+ encoding: 'utf8', timeout: 10000,
792
+ }).trim();
793
+ } catch { return null; }
794
+ })();
795
+
796
+ const agentDirs = (() => {
797
+ try {
798
+ return readdirSync(join(LDM_ROOT, 'agents'), { withFileTypes: true })
799
+ .filter(d => d.isDirectory() && d.name !== '_trash').map(d => d.name);
800
+ } catch { return []; }
801
+ })();
802
+
803
+ const totalExtensions = Object.keys(reconciled).length;
804
+ const majorBumps = npmUpdates.filter(e => {
805
+ const curMajor = parseInt(e.currentVersion.split('.')[0], 10);
806
+ const latMajor = parseInt(e.latestVersion.split('.')[0], 10);
807
+ return latMajor > curMajor;
808
+ });
809
+
810
+ console.log('');
811
+ console.log(' Summary');
812
+ console.log(' ────────────────────────────────────');
813
+ if (cliLatest && cliLatest !== PKG_VERSION) {
814
+ console.log(` LDM OS CLI v${PKG_VERSION} -> v${cliLatest} (run: npm install -g @wipcomputer/wip-ldm-os@${cliLatest})`);
815
+ } else {
816
+ console.log(` LDM OS CLI v${PKG_VERSION} (latest)`);
817
+ }
818
+ if (npmUpdates.length > 0) {
819
+ console.log(` Extensions ${totalExtensions} installed, ${npmUpdates.length} update(s)`);
820
+ } else {
821
+ console.log(` Extensions ${totalExtensions} installed, all up to date`);
822
+ }
823
+ for (const m of majorBumps) {
824
+ console.log(` Major bump ${m.name} v${m.currentVersion} -> v${m.latestVersion}`);
825
+ }
826
+ if (agentDirs.length > 0) {
827
+ console.log(` Agents ${agentDirs.join(', ')} (no change)`);
828
+ }
829
+ console.log(` Data crystal.db, agent files, secrets (never touched)`);
830
+
787
831
  if (npmUpdates.length > 0) {
788
832
  // Table output
789
833
  const nameW = Math.max(10, ...npmUpdates.map(e => e.name.length));
@@ -803,10 +847,7 @@ async function cmdInstallCatalog() {
803
847
  console.log(` ${pad(e.name, nameW)} │ ${pad('v' + e.currentVersion, curW)} │ ${pad('v' + e.latestVersion, latW)} │ ${pad(e.catalogNpm, pkgW)}`);
804
848
  }
805
849
  console.log('');
806
- console.log(' No data (crystal.db, agent files) would be touched.');
807
850
  console.log(' Old versions would be moved to ~/.ldm/_trash/ (never deleted).');
808
- } else {
809
- console.log(' Everything is up to date. No changes needed.');
810
851
  }
811
852
 
812
853
  console.log('');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-ldm-os",
3
- "version": "0.4.17",
3
+ "version": "0.4.18",
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",