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.
- package/README.md +31 -777
- package/dist/cli.js +114 -4
- package/dist/cli.js.map +1 -1
- package/dist/lib/dashboard.d.ts.map +1 -1
- package/dist/lib/dashboard.js +5 -1
- package/dist/lib/dashboard.js.map +1 -1
- package/dist/lib/db.d.ts +24 -0
- package/dist/lib/db.d.ts.map +1 -1
- package/dist/lib/db.js +122 -8
- package/dist/lib/db.js.map +1 -1
- package/dist/lib/federated.d.ts +2 -1
- package/dist/lib/federated.d.ts.map +1 -1
- package/dist/lib/federated.js +6 -3
- package/dist/lib/federated.js.map +1 -1
- package/dist/lib/machineConfig.d.ts +87 -0
- package/dist/lib/machineConfig.d.ts.map +1 -0
- package/dist/lib/machineConfig.js +146 -0
- package/dist/lib/machineConfig.js.map +1 -0
- package/dist/lib/machineMigrate.d.ts +39 -0
- package/dist/lib/machineMigrate.d.ts.map +1 -0
- package/dist/lib/machineMigrate.js +103 -0
- package/dist/lib/machineMigrate.js.map +1 -0
- package/dist/lib/paths.d.ts +11 -0
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/paths.js +13 -0
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/portfolio.d.ts.map +1 -1
- package/dist/lib/portfolio.js +10 -2
- package/dist/lib/portfolio.js.map +1 -1
- package/dist/lib/projectPaths.d.ts +60 -0
- package/dist/lib/projectPaths.d.ts.map +1 -0
- package/dist/lib/projectPaths.js +100 -0
- package/dist/lib/projectPaths.js.map +1 -0
- package/dist/lib/projectScan.d.ts +40 -0
- package/dist/lib/projectScan.d.ts.map +1 -0
- package/dist/lib/projectScan.js +97 -0
- package/dist/lib/projectScan.js.map +1 -0
- package/dist/lib/remote.d.ts.map +1 -1
- package/dist/lib/remote.js +7 -0
- package/dist/lib/remote.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federated.js","sourceRoot":"","sources":["../../src/lib/federated.ts"],"names":[],"mappings":"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"}
|
|
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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"}
|
package/dist/lib/paths.d.ts
CHANGED
|
@@ -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
|
package/dist/lib/paths.d.ts.map
CHANGED
|
@@ -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
|
package/dist/lib/paths.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/lib/portfolio.js
CHANGED
|
@@ -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/
|
|
339
|
-
|
|
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);
|