episoda 0.2.5 → 0.2.8
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/dist/index.d.ts +2 -8
- package/dist/index.js +3735 -82
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
- package/dist/commands/auth.d.ts +0 -22
- package/dist/commands/auth.d.ts.map +0 -1
- package/dist/commands/auth.js +0 -384
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -20
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -305
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/status.d.ts +0 -13
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -102
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/stop.d.ts +0 -17
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/stop.js +0 -81
- package/dist/commands/stop.js.map +0 -1
- package/dist/daemon/daemon-manager.d.ts +0 -71
- package/dist/daemon/daemon-manager.d.ts.map +0 -1
- package/dist/daemon/daemon-manager.js +0 -289
- package/dist/daemon/daemon-manager.js.map +0 -1
- package/dist/daemon/daemon-process.d.ts +0 -13
- package/dist/daemon/daemon-process.d.ts.map +0 -1
- package/dist/daemon/daemon-process.js +0 -662
- package/dist/daemon/daemon-process.js.map +0 -1
- package/dist/daemon/identity-server.d.ts +0 -51
- package/dist/daemon/identity-server.d.ts.map +0 -1
- package/dist/daemon/identity-server.js +0 -162
- package/dist/daemon/identity-server.js.map +0 -1
- package/dist/daemon/machine-id.d.ts +0 -36
- package/dist/daemon/machine-id.d.ts.map +0 -1
- package/dist/daemon/machine-id.js +0 -195
- package/dist/daemon/machine-id.js.map +0 -1
- package/dist/daemon/project-tracker.d.ts +0 -92
- package/dist/daemon/project-tracker.d.ts.map +0 -1
- package/dist/daemon/project-tracker.js +0 -259
- package/dist/daemon/project-tracker.js.map +0 -1
- package/dist/dev-wrapper.d.ts +0 -88
- package/dist/dev-wrapper.d.ts.map +0 -1
- package/dist/dev-wrapper.js +0 -288
- package/dist/dev-wrapper.js.map +0 -1
- package/dist/framework-detector.d.ts +0 -29
- package/dist/framework-detector.d.ts.map +0 -1
- package/dist/framework-detector.js +0 -276
- package/dist/framework-detector.js.map +0 -1
- package/dist/git-helpers/git-credential-helper.d.ts +0 -29
- package/dist/git-helpers/git-credential-helper.d.ts.map +0 -1
- package/dist/git-helpers/git-credential-helper.js +0 -349
- package/dist/git-helpers/git-credential-helper.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/ipc/ipc-client.d.ts +0 -116
- package/dist/ipc/ipc-client.d.ts.map +0 -1
- package/dist/ipc/ipc-client.js +0 -216
- package/dist/ipc/ipc-client.js.map +0 -1
- package/dist/ipc/ipc-server.d.ts +0 -55
- package/dist/ipc/ipc-server.d.ts.map +0 -1
- package/dist/ipc/ipc-server.js +0 -177
- package/dist/ipc/ipc-server.js.map +0 -1
- package/dist/output.d.ts +0 -48
- package/dist/output.d.ts.map +0 -1
- package/dist/output.js +0 -129
- package/dist/output.js.map +0 -1
- package/dist/utils/port-check.d.ts +0 -15
- package/dist/utils/port-check.d.ts.map +0 -1
- package/dist/utils/port-check.js +0 -79
- package/dist/utils/port-check.js.map +0 -1
- package/dist/utils/update-checker.d.ts +0 -23
- package/dist/utils/update-checker.d.ts.map +0 -1
- package/dist/utils/update-checker.js +0 -95
- package/dist/utils/update-checker.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-process.js","sourceRoot":"","sources":["../../src/daemon/daemon-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Identity Server (EP803)
|
|
3
|
-
*
|
|
4
|
-
* A minimal HTTP server that runs on localhost:3002 to provide
|
|
5
|
-
* machine identity information to browser clients.
|
|
6
|
-
*
|
|
7
|
-
* This solves the multi-device identity problem where broadcast-based
|
|
8
|
-
* identity detection could incorrectly assign a different device's
|
|
9
|
-
* machineId to the browser.
|
|
10
|
-
*
|
|
11
|
-
* Security:
|
|
12
|
-
* - Binds ONLY to 127.0.0.1 (localhost)
|
|
13
|
-
* - No external network access
|
|
14
|
-
* - Read-only endpoint (GET only)
|
|
15
|
-
*/
|
|
16
|
-
/** Default port for identity server */
|
|
17
|
-
export declare const IDENTITY_SERVER_PORT = 3002;
|
|
18
|
-
/** Response from /identity endpoint */
|
|
19
|
-
export interface IdentityResponse {
|
|
20
|
-
machineId: string;
|
|
21
|
-
hostname: string;
|
|
22
|
-
platform: string;
|
|
23
|
-
arch: string;
|
|
24
|
-
connected: boolean;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Identity HTTP Server
|
|
28
|
-
*
|
|
29
|
-
* Exposes a single endpoint:
|
|
30
|
-
* GET /identity - Returns machine identity information
|
|
31
|
-
*/
|
|
32
|
-
export declare class IdentityServer {
|
|
33
|
-
private server;
|
|
34
|
-
private machineId;
|
|
35
|
-
private isConnected;
|
|
36
|
-
constructor(machineId: string);
|
|
37
|
-
/**
|
|
38
|
-
* Update connection status
|
|
39
|
-
* Called when WebSocket connection state changes
|
|
40
|
-
*/
|
|
41
|
-
setConnected(connected: boolean): void;
|
|
42
|
-
/**
|
|
43
|
-
* Start the identity server on localhost:3002
|
|
44
|
-
*/
|
|
45
|
-
start(): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Stop the identity server
|
|
48
|
-
*/
|
|
49
|
-
stop(): Promise<void>;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=identity-server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity-server.d.ts","sourceRoot":"","sources":["../../src/daemon/identity-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,uCAAuC;AACvC,eAAO,MAAM,oBAAoB,OAAO,CAAA;AAExC,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAAiB;gBAExB,SAAS,EAAE,MAAM;IAI7B;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAItC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyE5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAa5B"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Identity Server (EP803)
|
|
4
|
-
*
|
|
5
|
-
* A minimal HTTP server that runs on localhost:3002 to provide
|
|
6
|
-
* machine identity information to browser clients.
|
|
7
|
-
*
|
|
8
|
-
* This solves the multi-device identity problem where broadcast-based
|
|
9
|
-
* identity detection could incorrectly assign a different device's
|
|
10
|
-
* machineId to the browser.
|
|
11
|
-
*
|
|
12
|
-
* Security:
|
|
13
|
-
* - Binds ONLY to 127.0.0.1 (localhost)
|
|
14
|
-
* - No external network access
|
|
15
|
-
* - Read-only endpoint (GET only)
|
|
16
|
-
*/
|
|
17
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
-
if (k2 === undefined) k2 = k;
|
|
19
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
-
}
|
|
23
|
-
Object.defineProperty(o, k2, desc);
|
|
24
|
-
}) : (function(o, m, k, k2) {
|
|
25
|
-
if (k2 === undefined) k2 = k;
|
|
26
|
-
o[k2] = m[k];
|
|
27
|
-
}));
|
|
28
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
-
}) : function(o, v) {
|
|
31
|
-
o["default"] = v;
|
|
32
|
-
});
|
|
33
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
34
|
-
var ownKeys = function(o) {
|
|
35
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
36
|
-
var ar = [];
|
|
37
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
38
|
-
return ar;
|
|
39
|
-
};
|
|
40
|
-
return ownKeys(o);
|
|
41
|
-
};
|
|
42
|
-
return function (mod) {
|
|
43
|
-
if (mod && mod.__esModule) return mod;
|
|
44
|
-
var result = {};
|
|
45
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
46
|
-
__setModuleDefault(result, mod);
|
|
47
|
-
return result;
|
|
48
|
-
};
|
|
49
|
-
})();
|
|
50
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
exports.IdentityServer = exports.IDENTITY_SERVER_PORT = void 0;
|
|
52
|
-
const http = __importStar(require("http"));
|
|
53
|
-
const os = __importStar(require("os"));
|
|
54
|
-
/** Default port for identity server */
|
|
55
|
-
exports.IDENTITY_SERVER_PORT = 3002;
|
|
56
|
-
/**
|
|
57
|
-
* Identity HTTP Server
|
|
58
|
-
*
|
|
59
|
-
* Exposes a single endpoint:
|
|
60
|
-
* GET /identity - Returns machine identity information
|
|
61
|
-
*/
|
|
62
|
-
class IdentityServer {
|
|
63
|
-
constructor(machineId) {
|
|
64
|
-
this.server = null;
|
|
65
|
-
this.isConnected = false;
|
|
66
|
-
this.machineId = machineId;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Update connection status
|
|
70
|
-
* Called when WebSocket connection state changes
|
|
71
|
-
*/
|
|
72
|
-
setConnected(connected) {
|
|
73
|
-
this.isConnected = connected;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Start the identity server on localhost:3002
|
|
77
|
-
*/
|
|
78
|
-
async start() {
|
|
79
|
-
return new Promise((resolve, reject) => {
|
|
80
|
-
this.server = http.createServer((req, res) => {
|
|
81
|
-
// CORS headers for browser access
|
|
82
|
-
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
83
|
-
res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
|
|
84
|
-
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
85
|
-
// EP810: Private Network Access header for Chrome 94+
|
|
86
|
-
// Required for public websites (https://episoda.dev) to access localhost
|
|
87
|
-
res.setHeader('Access-Control-Allow-Private-Network', 'true');
|
|
88
|
-
// Handle preflight
|
|
89
|
-
if (req.method === 'OPTIONS') {
|
|
90
|
-
// EP810: Include PNA header in preflight response
|
|
91
|
-
res.writeHead(204);
|
|
92
|
-
res.end();
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
// Only allow GET requests
|
|
96
|
-
if (req.method !== 'GET') {
|
|
97
|
-
res.writeHead(405, { 'Content-Type': 'application/json' });
|
|
98
|
-
res.end(JSON.stringify({ error: 'Method not allowed' }));
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
// Route handling
|
|
102
|
-
const url = new URL(req.url || '/', `http://${req.headers.host}`);
|
|
103
|
-
if (url.pathname === '/identity') {
|
|
104
|
-
const response = {
|
|
105
|
-
machineId: this.machineId,
|
|
106
|
-
hostname: os.hostname(),
|
|
107
|
-
platform: os.platform(),
|
|
108
|
-
arch: os.arch(),
|
|
109
|
-
connected: this.isConnected,
|
|
110
|
-
};
|
|
111
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
112
|
-
res.end(JSON.stringify(response));
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
// Health check endpoint
|
|
116
|
-
if (url.pathname === '/health') {
|
|
117
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
118
|
-
res.end(JSON.stringify({ status: 'ok', machineId: this.machineId }));
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
// 404 for unknown routes
|
|
122
|
-
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
123
|
-
res.end(JSON.stringify({ error: 'Not found' }));
|
|
124
|
-
});
|
|
125
|
-
// Bind to localhost only for security
|
|
126
|
-
this.server.listen(exports.IDENTITY_SERVER_PORT, '127.0.0.1', () => {
|
|
127
|
-
console.log(`[IdentityServer] Started on http://127.0.0.1:${exports.IDENTITY_SERVER_PORT}`);
|
|
128
|
-
resolve();
|
|
129
|
-
});
|
|
130
|
-
this.server.on('error', (err) => {
|
|
131
|
-
if (err.code === 'EADDRINUSE') {
|
|
132
|
-
// Port already in use - likely another daemon instance
|
|
133
|
-
console.warn(`[IdentityServer] Port ${exports.IDENTITY_SERVER_PORT} already in use, skipping`);
|
|
134
|
-
resolve(); // Don't fail - another instance may be running
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
console.error('[IdentityServer] Failed to start:', err.message);
|
|
138
|
-
reject(err);
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Stop the identity server
|
|
145
|
-
*/
|
|
146
|
-
async stop() {
|
|
147
|
-
return new Promise((resolve) => {
|
|
148
|
-
if (this.server) {
|
|
149
|
-
this.server.close(() => {
|
|
150
|
-
console.log('[IdentityServer] Stopped');
|
|
151
|
-
this.server = null;
|
|
152
|
-
resolve();
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
resolve();
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
exports.IdentityServer = IdentityServer;
|
|
162
|
-
//# sourceMappingURL=identity-server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity-server.js","sourceRoot":"","sources":["../../src/daemon/identity-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Machine ID generation and management
|
|
3
|
-
*
|
|
4
|
-
* Generates a stable machine identifier used for multi-machine connection tracking.
|
|
5
|
-
* Format: {hostname}-{hardware-uuid-prefix}
|
|
6
|
-
* Example: "Alans-MacBook-Pro-a3f2b1c4"
|
|
7
|
-
*
|
|
8
|
-
* EP731: Uses hardware UUID instead of random UUID to prevent duplicate device
|
|
9
|
-
* registrations when ~/.episoda syncs between devices via iCloud/Dropbox.
|
|
10
|
-
*
|
|
11
|
-
* Properties:
|
|
12
|
-
* - Stable across daemon restarts
|
|
13
|
-
* - Unique per PHYSICAL machine (uses hardware UUID)
|
|
14
|
-
* - Human-readable (includes hostname)
|
|
15
|
-
* - Survives OS reboots
|
|
16
|
-
* - Cannot sync between devices (hardware-based)
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* Get or generate machine ID
|
|
20
|
-
*
|
|
21
|
-
* Reads from config directory's machine-id if exists, otherwise generates new one
|
|
22
|
-
* and saves it for future use.
|
|
23
|
-
*
|
|
24
|
-
* @returns Machine ID string
|
|
25
|
-
*/
|
|
26
|
-
export declare function getMachineId(): Promise<string>;
|
|
27
|
-
/**
|
|
28
|
-
* Reset machine ID (force regeneration)
|
|
29
|
-
*
|
|
30
|
-
* Deletes the stored machine ID file, forcing a new ID to be generated
|
|
31
|
-
* on next getMachineId() call.
|
|
32
|
-
*
|
|
33
|
-
* Use case: Developer explicitly wants to change their machine identity
|
|
34
|
-
*/
|
|
35
|
-
export declare function resetMachineId(): void;
|
|
36
|
-
//# sourceMappingURL=machine-id.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"machine-id.d.ts","sourceRoot":"","sources":["../../src/daemon/machine-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH;;;;;;;GAOG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CA+BpD;AAkFD;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CASrC"}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Machine ID generation and management
|
|
4
|
-
*
|
|
5
|
-
* Generates a stable machine identifier used for multi-machine connection tracking.
|
|
6
|
-
* Format: {hostname}-{hardware-uuid-prefix}
|
|
7
|
-
* Example: "Alans-MacBook-Pro-a3f2b1c4"
|
|
8
|
-
*
|
|
9
|
-
* EP731: Uses hardware UUID instead of random UUID to prevent duplicate device
|
|
10
|
-
* registrations when ~/.episoda syncs between devices via iCloud/Dropbox.
|
|
11
|
-
*
|
|
12
|
-
* Properties:
|
|
13
|
-
* - Stable across daemon restarts
|
|
14
|
-
* - Unique per PHYSICAL machine (uses hardware UUID)
|
|
15
|
-
* - Human-readable (includes hostname)
|
|
16
|
-
* - Survives OS reboots
|
|
17
|
-
* - Cannot sync between devices (hardware-based)
|
|
18
|
-
*/
|
|
19
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
20
|
-
if (k2 === undefined) k2 = k;
|
|
21
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
22
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
23
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
24
|
-
}
|
|
25
|
-
Object.defineProperty(o, k2, desc);
|
|
26
|
-
}) : (function(o, m, k, k2) {
|
|
27
|
-
if (k2 === undefined) k2 = k;
|
|
28
|
-
o[k2] = m[k];
|
|
29
|
-
}));
|
|
30
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
31
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
32
|
-
}) : function(o, v) {
|
|
33
|
-
o["default"] = v;
|
|
34
|
-
});
|
|
35
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
36
|
-
var ownKeys = function(o) {
|
|
37
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
38
|
-
var ar = [];
|
|
39
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
40
|
-
return ar;
|
|
41
|
-
};
|
|
42
|
-
return ownKeys(o);
|
|
43
|
-
};
|
|
44
|
-
return function (mod) {
|
|
45
|
-
if (mod && mod.__esModule) return mod;
|
|
46
|
-
var result = {};
|
|
47
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
48
|
-
__setModuleDefault(result, mod);
|
|
49
|
-
return result;
|
|
50
|
-
};
|
|
51
|
-
})();
|
|
52
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
-
exports.getMachineId = getMachineId;
|
|
54
|
-
exports.resetMachineId = resetMachineId;
|
|
55
|
-
const os = __importStar(require("os"));
|
|
56
|
-
const fs = __importStar(require("fs"));
|
|
57
|
-
const path = __importStar(require("path"));
|
|
58
|
-
const crypto = __importStar(require("crypto"));
|
|
59
|
-
const child_process_1 = require("child_process");
|
|
60
|
-
const core_1 = require("@episoda/core");
|
|
61
|
-
/**
|
|
62
|
-
* Get or generate machine ID
|
|
63
|
-
*
|
|
64
|
-
* Reads from config directory's machine-id if exists, otherwise generates new one
|
|
65
|
-
* and saves it for future use.
|
|
66
|
-
*
|
|
67
|
-
* @returns Machine ID string
|
|
68
|
-
*/
|
|
69
|
-
async function getMachineId() {
|
|
70
|
-
const machineIdPath = path.join((0, core_1.getConfigDir)(), 'machine-id');
|
|
71
|
-
// Try to read existing machine ID
|
|
72
|
-
try {
|
|
73
|
-
if (fs.existsSync(machineIdPath)) {
|
|
74
|
-
const machineId = fs.readFileSync(machineIdPath, 'utf-8').trim();
|
|
75
|
-
if (machineId) {
|
|
76
|
-
return machineId;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
// File doesn't exist or can't be read, generate new one
|
|
82
|
-
}
|
|
83
|
-
// Generate new machine ID
|
|
84
|
-
const machineId = generateMachineId();
|
|
85
|
-
// Save to file
|
|
86
|
-
try {
|
|
87
|
-
const dir = path.dirname(machineIdPath);
|
|
88
|
-
if (!fs.existsSync(dir)) {
|
|
89
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
90
|
-
}
|
|
91
|
-
fs.writeFileSync(machineIdPath, machineId, 'utf-8');
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
console.error('Warning: Could not save machine ID to disk:', error);
|
|
95
|
-
// Continue anyway - machine ID will be regenerated next time
|
|
96
|
-
}
|
|
97
|
-
return machineId;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* EP731: Get hardware UUID for the current machine
|
|
101
|
-
*
|
|
102
|
-
* Uses platform-specific methods to get a hardware identifier that is:
|
|
103
|
-
* - Unique per physical machine
|
|
104
|
-
* - Stable across reboots
|
|
105
|
-
* - Cannot sync between devices
|
|
106
|
-
*
|
|
107
|
-
* Falls back to random UUID if hardware UUID cannot be obtained.
|
|
108
|
-
*
|
|
109
|
-
* @returns Hardware UUID string
|
|
110
|
-
*/
|
|
111
|
-
function getHardwareUUID() {
|
|
112
|
-
try {
|
|
113
|
-
if (process.platform === 'darwin') {
|
|
114
|
-
// macOS: Get IOPlatformUUID from ioreg
|
|
115
|
-
const output = (0, child_process_1.execSync)('ioreg -d2 -c IOPlatformExpertDevice | awk -F\\" \'/IOPlatformUUID/{print $(NF-1)}\'', { encoding: 'utf-8', timeout: 5000 }).trim();
|
|
116
|
-
if (output && output.length > 0) {
|
|
117
|
-
return output;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
else if (process.platform === 'linux') {
|
|
121
|
-
// Linux: Read /etc/machine-id
|
|
122
|
-
if (fs.existsSync('/etc/machine-id')) {
|
|
123
|
-
const machineId = fs.readFileSync('/etc/machine-id', 'utf-8').trim();
|
|
124
|
-
if (machineId && machineId.length > 0) {
|
|
125
|
-
return machineId;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
// Fallback: Try /var/lib/dbus/machine-id
|
|
129
|
-
if (fs.existsSync('/var/lib/dbus/machine-id')) {
|
|
130
|
-
const dbusId = fs.readFileSync('/var/lib/dbus/machine-id', 'utf-8').trim();
|
|
131
|
-
if (dbusId && dbusId.length > 0) {
|
|
132
|
-
return dbusId;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
else if (process.platform === 'win32') {
|
|
137
|
-
// Windows: Get UUID from wmic
|
|
138
|
-
const output = (0, child_process_1.execSync)('wmic csproduct get uuid', {
|
|
139
|
-
encoding: 'utf-8',
|
|
140
|
-
timeout: 5000
|
|
141
|
-
});
|
|
142
|
-
const lines = output.trim().split('\n');
|
|
143
|
-
if (lines.length >= 2) {
|
|
144
|
-
const uuid = lines[1].trim();
|
|
145
|
-
if (uuid && uuid.length > 0 && uuid !== 'UUID') {
|
|
146
|
-
return uuid;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
// Hardware UUID retrieval failed, will fall back to random
|
|
153
|
-
console.warn('Could not get hardware UUID, using random fallback:', error);
|
|
154
|
-
}
|
|
155
|
-
// Fallback: Generate random UUID
|
|
156
|
-
return crypto.randomUUID();
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Generate a new machine ID
|
|
160
|
-
*
|
|
161
|
-
* EP731: Uses hardware UUID instead of random UUID to ensure uniqueness
|
|
162
|
-
* per physical machine, even if ~/.episoda syncs between devices.
|
|
163
|
-
*
|
|
164
|
-
* Format: {hostname}-{8-char-hardware-uuid}
|
|
165
|
-
* Example: "Alans-MacBook-Pro-a3f2b1c4"
|
|
166
|
-
*
|
|
167
|
-
* @returns Generated machine ID
|
|
168
|
-
*/
|
|
169
|
-
function generateMachineId() {
|
|
170
|
-
const hostname = os.hostname();
|
|
171
|
-
const hwUUID = getHardwareUUID();
|
|
172
|
-
// Take first 8 chars of hardware UUID (or hash it if it's a long UUID)
|
|
173
|
-
const shortId = hwUUID.replace(/-/g, '').slice(0, 8).toLowerCase();
|
|
174
|
-
return `${hostname}-${shortId}`;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Reset machine ID (force regeneration)
|
|
178
|
-
*
|
|
179
|
-
* Deletes the stored machine ID file, forcing a new ID to be generated
|
|
180
|
-
* on next getMachineId() call.
|
|
181
|
-
*
|
|
182
|
-
* Use case: Developer explicitly wants to change their machine identity
|
|
183
|
-
*/
|
|
184
|
-
function resetMachineId() {
|
|
185
|
-
const machineIdPath = path.join((0, core_1.getConfigDir)(), 'machine-id');
|
|
186
|
-
try {
|
|
187
|
-
if (fs.existsSync(machineIdPath)) {
|
|
188
|
-
fs.unlinkSync(machineIdPath);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
catch (error) {
|
|
192
|
-
throw new Error(`Failed to reset machine ID: ${error}`);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
//# sourceMappingURL=machine-id.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"machine-id.js","sourceRoot":"","sources":["../../src/daemon/machine-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project tracking for daemon
|
|
3
|
-
*
|
|
4
|
-
* Manages ~/.episoda/projects.json which tracks all projects
|
|
5
|
-
* the daemon is monitoring.
|
|
6
|
-
*
|
|
7
|
-
* Format:
|
|
8
|
-
* {
|
|
9
|
-
* "projects": [
|
|
10
|
-
* {
|
|
11
|
-
* "id": "proj_abc123",
|
|
12
|
-
* "path": "/Users/alan/Dev/my-project",
|
|
13
|
-
* "name": "my-project",
|
|
14
|
-
* "added_at": "2025-01-18T10:30:00.000Z",
|
|
15
|
-
* "last_active": "2025-01-18T12:45:00.000Z"
|
|
16
|
-
* }
|
|
17
|
-
* ]
|
|
18
|
-
* }
|
|
19
|
-
*/
|
|
20
|
-
export interface TrackedProject {
|
|
21
|
-
id: string;
|
|
22
|
-
path: string;
|
|
23
|
-
name: string;
|
|
24
|
-
added_at: string;
|
|
25
|
-
last_active: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Add or update a project
|
|
29
|
-
*
|
|
30
|
-
* EP593: Now enforces one entry per projectId to prevent duplicate connections.
|
|
31
|
-
* When adding a project:
|
|
32
|
-
* - If same path exists, update last_active
|
|
33
|
-
* - If same projectId exists with different path, REPLACE the old entry
|
|
34
|
-
* (user wants git operations in the new directory)
|
|
35
|
-
* - Otherwise, add new project
|
|
36
|
-
*
|
|
37
|
-
* @param projectId Supabase project ID
|
|
38
|
-
* @param projectPath Absolute path to project
|
|
39
|
-
* @returns The tracked project
|
|
40
|
-
*/
|
|
41
|
-
export declare function addProject(projectId: string, projectPath: string): TrackedProject;
|
|
42
|
-
/**
|
|
43
|
-
* Remove a project
|
|
44
|
-
*
|
|
45
|
-
* @param projectPath Absolute path to project
|
|
46
|
-
* @returns true if removed, false if not found
|
|
47
|
-
*/
|
|
48
|
-
export declare function removeProject(projectPath: string): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Get a project by path
|
|
51
|
-
*
|
|
52
|
-
* @param projectPath Absolute path to project
|
|
53
|
-
* @returns Project if found, null otherwise
|
|
54
|
-
*/
|
|
55
|
-
export declare function getProject(projectPath: string): TrackedProject | null;
|
|
56
|
-
/**
|
|
57
|
-
* Get a project by ID
|
|
58
|
-
*
|
|
59
|
-
* @param projectId Supabase project ID
|
|
60
|
-
* @returns Project if found, null otherwise
|
|
61
|
-
*/
|
|
62
|
-
export declare function getProjectById(projectId: string): TrackedProject | null;
|
|
63
|
-
/**
|
|
64
|
-
* Get all tracked projects
|
|
65
|
-
*
|
|
66
|
-
* @returns Array of tracked projects
|
|
67
|
-
*/
|
|
68
|
-
export declare function getAllProjects(): TrackedProject[];
|
|
69
|
-
/**
|
|
70
|
-
* Update last active timestamp for a project
|
|
71
|
-
*
|
|
72
|
-
* @param projectPath Absolute path to project
|
|
73
|
-
*/
|
|
74
|
-
export declare function touchProject(projectPath: string): void;
|
|
75
|
-
/**
|
|
76
|
-
* Clean up stale projects
|
|
77
|
-
*
|
|
78
|
-
* Removes projects that:
|
|
79
|
-
* - Haven't been active in N days
|
|
80
|
-
* - Directory no longer exists
|
|
81
|
-
*
|
|
82
|
-
* @param maxAgeDays Maximum age in days (default: 30)
|
|
83
|
-
* @returns Number of projects removed
|
|
84
|
-
*/
|
|
85
|
-
export declare function cleanupStaleProjects(maxAgeDays?: number): number;
|
|
86
|
-
/**
|
|
87
|
-
* Clear all projects
|
|
88
|
-
*
|
|
89
|
-
* USE WITH CAUTION - removes all tracked projects
|
|
90
|
-
*/
|
|
91
|
-
export declare function clearAllProjects(): void;
|
|
92
|
-
//# sourceMappingURL=project-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-tracker.d.ts","sourceRoot":"","sources":["../../src/daemon/project-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AA6DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAyCjF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAY1D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAGvE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,cAAc,EAAE,CAGjD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,GAAE,MAAW,GAAG,MAAM,CA2BpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|