gnosys 5.9.5 → 5.10.0

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 (41) hide show
  1. package/README.md +31 -777
  2. package/dist/cli.js +114 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/lib/dashboard.d.ts.map +1 -1
  5. package/dist/lib/dashboard.js +5 -1
  6. package/dist/lib/dashboard.js.map +1 -1
  7. package/dist/lib/db.d.ts +24 -0
  8. package/dist/lib/db.d.ts.map +1 -1
  9. package/dist/lib/db.js +122 -8
  10. package/dist/lib/db.js.map +1 -1
  11. package/dist/lib/federated.d.ts +2 -1
  12. package/dist/lib/federated.d.ts.map +1 -1
  13. package/dist/lib/federated.js +6 -3
  14. package/dist/lib/federated.js.map +1 -1
  15. package/dist/lib/machineConfig.d.ts +87 -0
  16. package/dist/lib/machineConfig.d.ts.map +1 -0
  17. package/dist/lib/machineConfig.js +146 -0
  18. package/dist/lib/machineConfig.js.map +1 -0
  19. package/dist/lib/machineMigrate.d.ts +39 -0
  20. package/dist/lib/machineMigrate.d.ts.map +1 -0
  21. package/dist/lib/machineMigrate.js +103 -0
  22. package/dist/lib/machineMigrate.js.map +1 -0
  23. package/dist/lib/paths.d.ts +11 -0
  24. package/dist/lib/paths.d.ts.map +1 -1
  25. package/dist/lib/paths.js +13 -0
  26. package/dist/lib/paths.js.map +1 -1
  27. package/dist/lib/portfolio.d.ts.map +1 -1
  28. package/dist/lib/portfolio.js +10 -2
  29. package/dist/lib/portfolio.js.map +1 -1
  30. package/dist/lib/projectPaths.d.ts +60 -0
  31. package/dist/lib/projectPaths.d.ts.map +1 -0
  32. package/dist/lib/projectPaths.js +100 -0
  33. package/dist/lib/projectPaths.js.map +1 -0
  34. package/dist/lib/projectScan.d.ts +40 -0
  35. package/dist/lib/projectScan.d.ts.map +1 -0
  36. package/dist/lib/projectScan.js +97 -0
  37. package/dist/lib/projectScan.js.map +1 -0
  38. package/dist/lib/remote.d.ts.map +1 -1
  39. package/dist/lib/remote.js +7 -0
  40. package/dist/lib/remote.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"federated.js","sourceRoot":"","sources":["../../src/lib/federated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAuD3D,2EAA2E;AAE3E,MAAM,WAAW,GAAgC;IAC/C,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,uBAAuB,GAAG,IAAI,CAAC,CAAC,oCAAoC;AAE1E,2EAA2E;AAE3E;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,EAAY,EACZ,UAAe,EACf,UAA4B,EAC5B,IAA4B,EAC5B,wBAAiC;IAEjC,MAAM,EACJ,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,IAAI,EAChB,aAAa,GAAG,IAAI,EACpB,kBAAkB,GAAG,EAAE,EACvB,WAAW,GACZ,GAAG,IAAI,CAAC;IAET,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,gBAAgB,GAAG,GAAG,GAAG,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAEnE,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QAE9C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAgB,CAAC;QAEtD,+DAA+D;QAC/D,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAEpF,2EAA2E;QAC3E,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,IAAI,KAAK,KAAK,QAAQ;YAAE,SAAS;QAEnE,6DAA6D;QAC7D,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,iBAAiB;QACjB,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,4DAA4D;QAC5D,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrE,KAAK,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC,uCAAuC;YAClE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,UAAU,CAAC;QACtB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAE9B,mBAAmB;QACnB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,IAAI,UAAU,GAAG,gBAAgB,EAAE,CAAC;YAClC,KAAK,IAAI,aAAa,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,kCAAkC;QAClC,IAAI,GAAG,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,GAAG,uBAAuB,EAAE,IAAI,CAAC,CAAC;YACrF,KAAK,IAAI,MAAM,CAAC;YAChB,kEAAkE;YAClE,+DAA+D;YAC/D,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACtB,KAAK;YACL,KAAK;YACL,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC7E,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAY,EACZ,KAAa,EACb,OAA+B,EAAE;IAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,sEAAsE;IACtE,MAAM,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAClD,OAAO,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,EAAY,EACZ,KAAa,EACb,OAA+B,EAAE;IAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,2EAA2E;AAE3E;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAY,EACZ,KAAa,EACb,IAA6B;IAE7B,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,CAAC,CAAC;IAEvC,sCAAsC;IACtC,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,SAAS;QACtC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW,CAAC,IAAI,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO;YACL,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,SAAS;YACpC,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,IAAI,SAAS;YACtD,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IAEjD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,UAAU,KAAK,yBAAyB,UAAU,CAAC,MAAM,iDAAiD;QACnH,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,EAAY,EACZ,UAAmB;IAEnB,8CAA8C;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,UAAU;IACV,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;IAEjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAE3E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAY,EAAE,SAAiB;IAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,QAAQ,GAAG,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,QAAQ,CAAC;IAEhC,qBAAqB;IACrB,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,gCAAgC;IAChC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,MAAM,cAAc,GAAG,cAAc;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;SACpC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SACpD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEpE,sDAAsD;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAa,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;YAC7C,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/E,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;SAC5C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE3C,kCAAkC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC;SAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG;QACd,YAAY,OAAO,CAAC,IAAI,SAAS,cAAc,CAAC,MAAM,2BAA2B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,gBAAgB,OAAO,GAAG;QACzI,cAAc,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,wCAAwC;YAClE,CAAC,CAAC,qBAAqB;QACzB,OAAO,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAClE,CAAC,CAAC,EAAE;KACP,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO;QACL,SAAS;QACT,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,gBAAgB,EAAE,OAAO,CAAC,iBAAiB;QAC3C,aAAa,EAAE,cAAc,CAAC,MAAM;QACpC,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;QAC1E,UAAU;QACV,cAAc;QACd,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAY;IAC/C,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;IACrC,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2EAA2E;AAE3E;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAY,EACZ,SAAiB,EACjB,IAA+C;IAE/C,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;IAEhC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAEpF,MAAM,QAAQ,GAAG,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC;SAC/F,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SACpD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAoB;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,oCAAoC,CAAC;IAEvE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,KAAK,GAAG,GAAG,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,QAAQ,CAAC,MAAM,uBAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,2EAA2E;AAE3E,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACjC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,IAAI,OAAO,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"federated.js","sourceRoot":"","sources":["../../src/lib/federated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Machine-local configuration — `~/.config/gnosys/machine.json`.
3
+ *
4
+ * This is the single home for everything specific to THIS physical machine,
5
+ * and it must NEVER be synced to the shared brain or to other machines:
6
+ *
7
+ * - `machineId` — a stable random UUID identifying this machine. Used to
8
+ * key per-machine rows (e.g. project_locations) so two
9
+ * machines never clobber each other's data.
10
+ * - `roots` — named project roots whose ABSOLUTE paths differ per
11
+ * machine (e.g. { dev: "/Users/edward/MSDev/projects" } on
12
+ * the Studio, "/Users/edward/MBPDev/projects" on the MBP).
13
+ * A project stores a machine-INDEPENDENT `rel_path` + the
14
+ * `root_id`; its absolute path is reconstructed at runtime.
15
+ * - `remote` — the per-machine remote-sync connection (NAS mount path on
16
+ * one machine, a Tailscale URL on another). Previously this
17
+ * lived in the synced `gnosys_meta` table, which is itself
18
+ * the multi-machine bug in miniature — every machine
19
+ * overwrote the others' value.
20
+ *
21
+ * The central DB at `~/.gnosys/gnosys.db` is the synced source of truth;
22
+ * machine.json is its machine-local counterpart. Resolution of a project's
23
+ * absolute path on a given machine is: `join(roots[root_id], rel_path)` (or a
24
+ * per-machine override row for projects that live outside any root).
25
+ */
26
+ export declare const MACHINE_CONFIG_VERSION = 1;
27
+ export interface MachineRemoteConfig {
28
+ /** Whether remote sync is configured/active on this machine. */
29
+ enabled: boolean;
30
+ /** Absolute path or URL to the remote DB on this machine (NAS mount / Tailscale). */
31
+ path?: string;
32
+ }
33
+ export interface MachineConfig {
34
+ /** Stable random UUID for this machine. Never shared/synced. */
35
+ machineId: string;
36
+ /** os.hostname() at write time — used to detect a synced-in foreign file. */
37
+ hostname: string;
38
+ /** Named root → absolute path on THIS machine. */
39
+ roots: Record<string, string>;
40
+ /** Per-machine remote-sync connection. */
41
+ remote: MachineRemoteConfig;
42
+ schemaVersion: number;
43
+ }
44
+ /** A fresh machine config for the current host. */
45
+ export declare function defaultMachineConfig(): MachineConfig;
46
+ /** Read machine.json, or null if it doesn't exist / is unreadable. */
47
+ export declare function readMachineConfig(): MachineConfig | null;
48
+ /** Persist machine.json (creates the config dir if needed). */
49
+ export declare function writeMachineConfig(cfg: MachineConfig): void;
50
+ export interface EnsureResult {
51
+ config: MachineConfig;
52
+ /** True if a new config was created on disk. */
53
+ created: boolean;
54
+ /**
55
+ * True if the existing config's hostname did not match the current host —
56
+ * a strong signal it was synced in from another machine, so machineId was
57
+ * regenerated to keep machine identities distinct.
58
+ */
59
+ regenerated: boolean;
60
+ }
61
+ /**
62
+ * Load machine.json, creating it on first run. If the persisted config's
63
+ * hostname does not match the current host, it was almost certainly synced in
64
+ * from another machine by mistake; regenerate `machineId` and refresh
65
+ * `hostname` so two machines never share an identity. Named roots and the
66
+ * remote block are preserved (a benign hostname rename keeps them valid; a
67
+ * genuine foreign file gets corrected when the user re-runs `projects scan`).
68
+ */
69
+ export declare function ensureMachineConfig(): EnsureResult;
70
+ /** Convenience: this machine's stable id (creating machine.json if needed). */
71
+ export declare function getMachineId(): string;
72
+ /**
73
+ * Reconstruct an absolute path on this machine from a (root_id, rel_path)
74
+ * pair, using the machine's named roots. Returns null when the root is not
75
+ * configured on this machine (i.e. the project is "not on this machine").
76
+ */
77
+ export declare function absPathFromRoot(cfg: MachineConfig, rootId: string | null | undefined, relPath: string | null | undefined): string | null;
78
+ /**
79
+ * Given an absolute path on this machine, find the named root that contains
80
+ * it and return { rootId, relPath }. Picks the deepest (most specific) root
81
+ * when several match. Returns null when no configured root contains the path.
82
+ */
83
+ export declare function relPathUnderRoot(cfg: MachineConfig, absPath: string): {
84
+ rootId: string;
85
+ relPath: string;
86
+ } | null;
87
+ //# sourceMappingURL=machineConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineConfig.d.ts","sourceRoot":"","sources":["../../src/lib/machineConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,0CAA0C;IAC1C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,mDAAmD;AACnD,wBAAgB,oBAAoB,IAAI,aAAa,CAQpD;AAyBD,sEAAsE;AACtE,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAOxD;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAI3D;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAqBlD;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,MAAM,GAAG,IAAI,CAKf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAc5C"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Machine-local configuration — `~/.config/gnosys/machine.json`.
3
+ *
4
+ * This is the single home for everything specific to THIS physical machine,
5
+ * and it must NEVER be synced to the shared brain or to other machines:
6
+ *
7
+ * - `machineId` — a stable random UUID identifying this machine. Used to
8
+ * key per-machine rows (e.g. project_locations) so two
9
+ * machines never clobber each other's data.
10
+ * - `roots` — named project roots whose ABSOLUTE paths differ per
11
+ * machine (e.g. { dev: "/Users/edward/MSDev/projects" } on
12
+ * the Studio, "/Users/edward/MBPDev/projects" on the MBP).
13
+ * A project stores a machine-INDEPENDENT `rel_path` + the
14
+ * `root_id`; its absolute path is reconstructed at runtime.
15
+ * - `remote` — the per-machine remote-sync connection (NAS mount path on
16
+ * one machine, a Tailscale URL on another). Previously this
17
+ * lived in the synced `gnosys_meta` table, which is itself
18
+ * the multi-machine bug in miniature — every machine
19
+ * overwrote the others' value.
20
+ *
21
+ * The central DB at `~/.gnosys/gnosys.db` is the synced source of truth;
22
+ * machine.json is its machine-local counterpart. Resolution of a project's
23
+ * absolute path on a given machine is: `join(roots[root_id], rel_path)` (or a
24
+ * per-machine override row for projects that live outside any root).
25
+ */
26
+ import fs from "fs";
27
+ import os from "os";
28
+ import path from "path";
29
+ import { randomUUID } from "crypto";
30
+ import { getMachineConfigPath } from "./paths.js";
31
+ export const MACHINE_CONFIG_VERSION = 1;
32
+ /** A fresh machine config for the current host. */
33
+ export function defaultMachineConfig() {
34
+ return {
35
+ machineId: randomUUID(),
36
+ hostname: os.hostname(),
37
+ roots: {},
38
+ remote: { enabled: false },
39
+ schemaVersion: MACHINE_CONFIG_VERSION,
40
+ };
41
+ }
42
+ /** Coerce an arbitrary parsed object into a well-formed MachineConfig. */
43
+ function normalize(parsed) {
44
+ const base = defaultMachineConfig();
45
+ if (!parsed || typeof parsed !== "object")
46
+ return base;
47
+ const roots = {};
48
+ if (parsed.roots && typeof parsed.roots === "object") {
49
+ for (const [k, v] of Object.entries(parsed.roots)) {
50
+ if (typeof v === "string" && v.length > 0)
51
+ roots[k] = path.resolve(v);
52
+ }
53
+ }
54
+ const remote = {
55
+ enabled: Boolean(parsed.remote?.enabled),
56
+ ...(typeof parsed.remote?.path === "string" ? { path: parsed.remote.path } : {}),
57
+ };
58
+ return {
59
+ machineId: typeof parsed.machineId === "string" && parsed.machineId ? parsed.machineId : base.machineId,
60
+ hostname: typeof parsed.hostname === "string" && parsed.hostname ? parsed.hostname : base.hostname,
61
+ roots,
62
+ remote,
63
+ schemaVersion: typeof parsed.schemaVersion === "number" ? parsed.schemaVersion : MACHINE_CONFIG_VERSION,
64
+ };
65
+ }
66
+ /** Read machine.json, or null if it doesn't exist / is unreadable. */
67
+ export function readMachineConfig() {
68
+ try {
69
+ const raw = fs.readFileSync(getMachineConfigPath(), "utf-8");
70
+ return normalize(JSON.parse(raw));
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ /** Persist machine.json (creates the config dir if needed). */
77
+ export function writeMachineConfig(cfg) {
78
+ const p = getMachineConfigPath();
79
+ fs.mkdirSync(path.dirname(p), { recursive: true });
80
+ fs.writeFileSync(p, JSON.stringify(cfg, null, 2) + "\n", "utf-8");
81
+ }
82
+ /**
83
+ * Load machine.json, creating it on first run. If the persisted config's
84
+ * hostname does not match the current host, it was almost certainly synced in
85
+ * from another machine by mistake; regenerate `machineId` and refresh
86
+ * `hostname` so two machines never share an identity. Named roots and the
87
+ * remote block are preserved (a benign hostname rename keeps them valid; a
88
+ * genuine foreign file gets corrected when the user re-runs `projects scan`).
89
+ */
90
+ export function ensureMachineConfig() {
91
+ const existing = readMachineConfig();
92
+ const host = os.hostname();
93
+ if (!existing) {
94
+ const fresh = defaultMachineConfig();
95
+ writeMachineConfig(fresh);
96
+ return { config: fresh, created: true, regenerated: false };
97
+ }
98
+ if (existing.hostname !== host) {
99
+ const regenerated = {
100
+ ...existing,
101
+ machineId: randomUUID(),
102
+ hostname: host,
103
+ };
104
+ writeMachineConfig(regenerated);
105
+ return { config: regenerated, created: false, regenerated: true };
106
+ }
107
+ return { config: existing, created: false, regenerated: false };
108
+ }
109
+ /** Convenience: this machine's stable id (creating machine.json if needed). */
110
+ export function getMachineId() {
111
+ return ensureMachineConfig().config.machineId;
112
+ }
113
+ /**
114
+ * Reconstruct an absolute path on this machine from a (root_id, rel_path)
115
+ * pair, using the machine's named roots. Returns null when the root is not
116
+ * configured on this machine (i.e. the project is "not on this machine").
117
+ */
118
+ export function absPathFromRoot(cfg, rootId, relPath) {
119
+ if (!rootId || !relPath)
120
+ return null;
121
+ const root = cfg.roots[rootId];
122
+ if (!root)
123
+ return null;
124
+ return path.join(root, relPath);
125
+ }
126
+ /**
127
+ * Given an absolute path on this machine, find the named root that contains
128
+ * it and return { rootId, relPath }. Picks the deepest (most specific) root
129
+ * when several match. Returns null when no configured root contains the path.
130
+ */
131
+ export function relPathUnderRoot(cfg, absPath) {
132
+ const target = path.resolve(absPath);
133
+ let best = null;
134
+ for (const [rootId, rootPath] of Object.entries(cfg.roots)) {
135
+ const root = path.resolve(rootPath);
136
+ const rel = path.relative(root, target);
137
+ // Inside the root iff rel doesn't escape upward and isn't absolute.
138
+ if (rel && !rel.startsWith("..") && !path.isAbsolute(rel)) {
139
+ if (!best || root.length > best.rootLen) {
140
+ best = { rootId, relPath: rel, rootLen: root.length };
141
+ }
142
+ }
143
+ }
144
+ return best ? { rootId: best.rootId, relPath: best.relPath } : null;
145
+ }
146
+ //# sourceMappingURL=machineConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineConfig.js","sourceRoot":"","sources":["../../src/lib/machineConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * v5.11 one-time migration to machine-portable project paths.
3
+ *
4
+ * Run once per machine. It:
5
+ * 1. Ensures machine.json exists (machineId, hostname).
6
+ * 2. Adopts machine-LOCAL values that were wrongly living in the SYNCED
7
+ * gnosys_meta — `machine_id` (for continuity) and `remote_path` — into
8
+ * machine.json, then deletes them from meta so they stop syncing and
9
+ * clobbering other machines.
10
+ * 3. Sets the `dev` root (explicit --root, else derived from the registry).
11
+ * 4. Scans to backfill machine-independent root_id/rel_path on projects.
12
+ *
13
+ * It operates on the LOCAL DB (GnosysDB.openLocal), never a remote, because it
14
+ * moves machine-local state out of the shared store.
15
+ */
16
+ import type { GnosysDB } from "./db.js";
17
+ import { type ScanResult } from "./projectScan.js";
18
+ export interface MigrateResult {
19
+ machineId: string;
20
+ hostname: string;
21
+ rootsConfigured: Record<string, string>;
22
+ adoptedMachineId: boolean;
23
+ adoptedRemotePath: boolean;
24
+ regeneratedMachineId: boolean;
25
+ scan?: ScanResult;
26
+ }
27
+ export declare function migrateMachine(localDb: GnosysDB, opts?: {
28
+ root?: string;
29
+ rootName?: string;
30
+ scan?: boolean;
31
+ }): Promise<MigrateResult>;
32
+ /**
33
+ * Derive the most likely `dev` root: the directory that is the parent of the
34
+ * most registered projects. Picking the most-common parent (rather than the
35
+ * global common prefix) avoids collapsing to `/Users/<name>` when a few
36
+ * outlier projects live elsewhere.
37
+ */
38
+ export declare function deriveCommonRoot(): string | null;
39
+ //# sourceMappingURL=machineMigrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineMigrate.d.ts","sourceRoot":"","sources":["../../src/lib/machineMigrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,QAAQ,EACjB,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9D,OAAO,CAAC,aAAa,CAAC,CAiDxB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CA+BhD"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * v5.11 one-time migration to machine-portable project paths.
3
+ *
4
+ * Run once per machine. It:
5
+ * 1. Ensures machine.json exists (machineId, hostname).
6
+ * 2. Adopts machine-LOCAL values that were wrongly living in the SYNCED
7
+ * gnosys_meta — `machine_id` (for continuity) and `remote_path` — into
8
+ * machine.json, then deletes them from meta so they stop syncing and
9
+ * clobbering other machines.
10
+ * 3. Sets the `dev` root (explicit --root, else derived from the registry).
11
+ * 4. Scans to backfill machine-independent root_id/rel_path on projects.
12
+ *
13
+ * It operates on the LOCAL DB (GnosysDB.openLocal), never a remote, because it
14
+ * moves machine-local state out of the shared store.
15
+ */
16
+ import fs from "fs";
17
+ import path from "path";
18
+ import { ensureMachineConfig, writeMachineConfig } from "./machineConfig.js";
19
+ import { getProjectRegistryPath } from "./paths.js";
20
+ import { scanProjects } from "./projectScan.js";
21
+ export async function migrateMachine(localDb, opts = {}) {
22
+ const ens = ensureMachineConfig();
23
+ const machine = ens.config;
24
+ // 1. Adopt machine_id from synced meta (continuity), then remove it so the
25
+ // synced DB stops carrying a per-machine identity.
26
+ let adoptedMachineId = false;
27
+ const metaMachineId = localDb.getMeta("machine_id");
28
+ if (metaMachineId && !/^unknown-/.test(metaMachineId)) {
29
+ machine.machineId = metaMachineId;
30
+ adoptedMachineId = true;
31
+ }
32
+ localDb.deleteMeta("machine_id");
33
+ // 2. Adopt remote_path from synced meta, then remove it.
34
+ let adoptedRemotePath = false;
35
+ const metaRemote = localDb.getMeta("remote_path");
36
+ if (metaRemote && !machine.remote.path) {
37
+ machine.remote = { enabled: true, path: metaRemote };
38
+ adoptedRemotePath = true;
39
+ }
40
+ localDb.deleteMeta("remote_path");
41
+ // 3. Set the dev root.
42
+ const rootName = opts.rootName || "dev";
43
+ if (opts.root) {
44
+ machine.roots[rootName] = path.resolve(opts.root);
45
+ }
46
+ else if (!machine.roots[rootName]) {
47
+ const derived = deriveCommonRoot();
48
+ if (derived)
49
+ machine.roots[rootName] = derived;
50
+ }
51
+ writeMachineConfig(machine);
52
+ // 4. Scan (default on) to backfill machine-portable locations.
53
+ let scan;
54
+ if (opts.scan !== false && Object.keys(machine.roots).length > 0) {
55
+ scan = await scanProjects(localDb, machine);
56
+ }
57
+ return {
58
+ machineId: machine.machineId,
59
+ hostname: machine.hostname,
60
+ rootsConfigured: machine.roots,
61
+ adoptedMachineId,
62
+ adoptedRemotePath,
63
+ regeneratedMachineId: ens.regenerated,
64
+ scan,
65
+ };
66
+ }
67
+ /**
68
+ * Derive the most likely `dev` root: the directory that is the parent of the
69
+ * most registered projects. Picking the most-common parent (rather than the
70
+ * global common prefix) avoids collapsing to `/Users/<name>` when a few
71
+ * outlier projects live elsewhere.
72
+ */
73
+ export function deriveCommonRoot() {
74
+ let paths;
75
+ try {
76
+ const raw = fs.readFileSync(getProjectRegistryPath(), "utf-8");
77
+ paths = JSON.parse(raw).filter((p) => typeof p === "string" &&
78
+ p.startsWith("/") &&
79
+ !p.startsWith("/tmp/") &&
80
+ !p.startsWith("/private/tmp/") &&
81
+ !p.startsWith("/var/folders/"));
82
+ }
83
+ catch {
84
+ return null;
85
+ }
86
+ if (paths.length === 0)
87
+ return null;
88
+ const counts = new Map();
89
+ for (const p of paths) {
90
+ const parent = path.dirname(p);
91
+ counts.set(parent, (counts.get(parent) ?? 0) + 1);
92
+ }
93
+ let best = null;
94
+ let bestN = 0;
95
+ for (const [dir, n] of counts) {
96
+ if (n > bestN) {
97
+ best = dir;
98
+ bestN = n;
99
+ }
100
+ }
101
+ return best;
102
+ }
103
+ //# sourceMappingURL=machineMigrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineMigrate.js","sourceRoot":"","sources":["../../src/lib/machineMigrate.ts"],"names":[],"mappings":"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"}
@@ -35,4 +35,15 @@ export declare function getSandboxDir(): string;
35
35
  export declare function getConfigDir(): string;
36
36
  /** Path to the project registry file (~/.config/gnosys/projects.json). */
37
37
  export declare function getProjectRegistryPath(): string;
38
+ /**
39
+ * Path to the machine-local config file (~/.config/gnosys/machine.json).
40
+ *
41
+ * This file holds everything that is specific to THIS physical machine and
42
+ * must NEVER be synced to the shared brain or other machines: the stable
43
+ * machineId, the named project roots (whose absolute paths differ per
44
+ * machine), and the per-machine remote-sync connection. The central DB at
45
+ * ~/.gnosys/gnosys.db is the synced source of truth; machine.json is its
46
+ * machine-local counterpart. See machineConfig.ts.
47
+ */
48
+ export declare function getMachineConfigPath(): string;
38
49
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,kFAAkF;AAClF,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,kFAAkF;AAClF,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
package/dist/lib/paths.js CHANGED
@@ -52,4 +52,17 @@ export function getConfigDir() {
52
52
  export function getProjectRegistryPath() {
53
53
  return path.join(getConfigDir(), "projects.json");
54
54
  }
55
+ /**
56
+ * Path to the machine-local config file (~/.config/gnosys/machine.json).
57
+ *
58
+ * This file holds everything that is specific to THIS physical machine and
59
+ * must NEVER be synced to the shared brain or other machines: the stable
60
+ * machineId, the named project roots (whose absolute paths differ per
61
+ * machine), and the per-machine remote-sync connection. The central DB at
62
+ * ~/.gnosys/gnosys.db is the synced source of truth; machine.json is its
63
+ * machine-local counterpart. See machineConfig.ts.
64
+ */
65
+ export function getMachineConfigPath() {
66
+ return path.join(getConfigDir(), "machine.json");
67
+ }
55
68
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,aAAa;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC;IACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC;IACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,aAAa;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC;IACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC;IACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/lib/portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI9C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,qDAAqD;IACrD,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtF,8BAA8B;IAC9B,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,4BAA4B;IAC5B,aAAa,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,mCAAmC;IACnC,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,oDAAoD;IACpD,cAAc,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,sEAAsE;IACtE,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,sCAAsC;IACtC,SAAS,EAAE;QACT,kBAAkB;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,6EAA6E;QAC7E,KAAK,EAAE,MAAM,CAAC;QACd,4CAA4C;QAC5C,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,8BAA8B;QAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,cAAc,EAAE,UAAU,EAAE,CAAC;CAC9B;AAgUD,yCAAyC;AACzC,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,eAAe,CAkC/D;AAID,uCAAuC;AACvC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAuEvE;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA2BtE;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,y0KAyHgL,CAAC;AAElN,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAQrF"}
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/lib/portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAM9C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,qDAAqD;IACrD,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtF,8BAA8B;IAC9B,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,4BAA4B;IAC5B,aAAa,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,mCAAmC;IACnC,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,oDAAoD;IACpD,cAAc,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,sEAAsE;IACtE,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,sCAAsC;IACtC,SAAS,EAAE;QACT,kBAAkB;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,6EAA6E;QAC7E,KAAK,EAAE,MAAM,CAAC;QACd,4CAA4C;QAC5C,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,8BAA8B;QAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,cAAc,EAAE,UAAU,EAAE,CAAC;CAC9B;AAgUD,yCAAyC;AACzC,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,eAAe,CAsC/D;AAID,uCAAuC;AACvC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAuEvE;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA2BtE;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,y0KAyHgL,CAAC;AAElN,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAQrF"}
@@ -5,6 +5,8 @@
5
5
  * a formatted dashboard showing blockers, production readiness,
6
6
  * open questions, and roadmap status.
7
7
  */
8
+ import { readMachineConfig } from "./machineConfig.js";
9
+ import { effectiveProjectPath } from "./projectPaths.js";
8
10
  // ─── Core ───────────────────────────────────────────────────────────────
9
11
  /** Parse tags from the DB column (JSON array string or comma-separated) */
10
12
  function parseTags(raw) {
@@ -335,8 +337,14 @@ function buildProjectSnapshot(db, project) {
335
337
  /** Generate the full portfolio report */
336
338
  export function generatePortfolio(db) {
337
339
  const projects = db.getAllProjects();
338
- // Filter out test projects (those in /tmp/ or /private/tmp/)
339
- const realProjects = projects.filter((p) => !p.working_directory.startsWith("/tmp/") && !p.working_directory.startsWith("/private/tmp/"));
340
+ // Filter out test projects (those in /tmp/) and projects not present on this
341
+ // machine. Path is resolved per-machine (machine.json) with a legacy
342
+ // fallback to working_directory when machine.json is absent.
343
+ const machine = readMachineConfig();
344
+ const realProjects = projects.filter((p) => {
345
+ const ep = effectiveProjectPath(db, p, machine);
346
+ return ep !== null && !ep.startsWith("/tmp/") && !ep.startsWith("/private/tmp/");
347
+ });
340
348
  const snapshots = realProjects.map((p) => buildProjectSnapshot(db, p));
341
349
  // Filter out projects with 0 memories
342
350
  const activeSnapshots = snapshots.filter((s) => s.memoryCounts.total > 0);