habi-agent 0.1.4 → 0.1.5
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/cli.d.ts +12 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +279 -184
- package/dist/cli.js.map +1 -1
- package/dist/daemon.d.ts +8 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +127 -0
- package/dist/daemon.js.map +1 -0
- package/dist/service.d.ts +17 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +267 -0
- package/dist/service.js.map +1 -0
- package/package.json +7 -6
- package/src/cli.ts +300 -195
- package/src/daemon.ts +110 -0
- package/src/service.ts +223 -0
package/dist/cli.d.ts
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* HABI Agent CLI
|
|
3
|
+
* HABI Agent CLI v0.1.5
|
|
4
|
+
*
|
|
4
5
|
* Usage:
|
|
5
|
-
* habi-agent start
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* habi-agent
|
|
6
|
+
* npx habi-agent@latest start --key <key> --name <name>
|
|
7
|
+
* Installs HABI as a persistent background service, registers the device,
|
|
8
|
+
* injects Claude Code MCP config, and exits. Terminal can be closed.
|
|
9
|
+
*
|
|
10
|
+
* habi-agent stop Stop the background service
|
|
11
|
+
* habi-agent restart Restart the background service
|
|
12
|
+
* habi-agent uninstall Remove the background service
|
|
13
|
+
* habi-agent status Show service + agent health
|
|
14
|
+
* habi-agent identity Print hardware fingerprint
|
|
15
|
+
* habi-agent logs Tail the agent log file
|
|
10
16
|
*/
|
|
11
17
|
export {};
|
|
12
18
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG"}
|
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
/**
|
|
4
|
-
* HABI Agent CLI
|
|
4
|
+
* HABI Agent CLI v0.1.5
|
|
5
|
+
*
|
|
5
6
|
* Usage:
|
|
6
|
-
* habi-agent start
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* habi-agent
|
|
7
|
+
* npx habi-agent@latest start --key <key> --name <name>
|
|
8
|
+
* Installs HABI as a persistent background service, registers the device,
|
|
9
|
+
* injects Claude Code MCP config, and exits. Terminal can be closed.
|
|
10
|
+
*
|
|
11
|
+
* habi-agent stop Stop the background service
|
|
12
|
+
* habi-agent restart Restart the background service
|
|
13
|
+
* habi-agent uninstall Remove the background service
|
|
14
|
+
* habi-agent status Show service + agent health
|
|
15
|
+
* habi-agent identity Print hardware fingerprint
|
|
16
|
+
* habi-agent logs Tail the agent log file
|
|
11
17
|
*/
|
|
12
18
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
19
|
if (k2 === undefined) k2 = k;
|
|
@@ -43,17 +49,21 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
43
49
|
};
|
|
44
50
|
})();
|
|
45
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
const server_1 = require("./server");
|
|
47
|
-
const hardware_1 = require("./hardware");
|
|
48
|
-
const context_1 = require("./context");
|
|
49
|
-
const cloud_1 = require("./cloud");
|
|
50
52
|
const fs = __importStar(require("fs"));
|
|
51
53
|
const path = __importStar(require("path"));
|
|
52
54
|
const http = __importStar(require("http"));
|
|
53
55
|
const os = __importStar(require("os"));
|
|
56
|
+
const readline = __importStar(require("readline"));
|
|
57
|
+
const child_process_1 = require("child_process");
|
|
58
|
+
const hardware_1 = require("./hardware");
|
|
59
|
+
const cloud_1 = require("./cloud");
|
|
60
|
+
const service_1 = require("./service");
|
|
54
61
|
const AGENT_PORT = 7432;
|
|
55
|
-
const
|
|
56
|
-
|
|
62
|
+
const CONFIG_DIR = path.join(os.homedir(), '.habi');
|
|
63
|
+
const LOG_PATH = path.join(CONFIG_DIR, 'habi.log');
|
|
64
|
+
const HABI_VERSION = '0.1.5';
|
|
65
|
+
// ── Arg parsing ─────────────────────────────────────────────────────────────
|
|
66
|
+
const command = process.argv[2] || 'help';
|
|
57
67
|
const keyArgIdx = process.argv.indexOf('--key');
|
|
58
68
|
if (keyArgIdx !== -1 && process.argv[keyArgIdx + 1]) {
|
|
59
69
|
process.env.HABI_KEY = process.argv[keyArgIdx + 1];
|
|
@@ -62,7 +72,7 @@ const nameArgIdx = process.argv.indexOf('--name');
|
|
|
62
72
|
if (nameArgIdx !== -1 && process.argv[nameArgIdx + 1]) {
|
|
63
73
|
process.env.HABI_DEVICE_NAME = process.argv[nameArgIdx + 1];
|
|
64
74
|
}
|
|
65
|
-
// ── Utility
|
|
75
|
+
// ── Utility ──────────────────────────────────────────────────────────────────
|
|
66
76
|
function pingAgent(p = '/health') {
|
|
67
77
|
return new Promise((resolve, reject) => {
|
|
68
78
|
const req = http.get({ host: '127.0.0.1', port: AGENT_PORT, path: p }, (res) => {
|
|
@@ -73,7 +83,7 @@ function pingAgent(p = '/health') {
|
|
|
73
83
|
resolve(JSON.parse(body));
|
|
74
84
|
}
|
|
75
85
|
catch {
|
|
76
|
-
reject(new Error('Invalid JSON
|
|
86
|
+
reject(new Error('Invalid JSON'));
|
|
77
87
|
}
|
|
78
88
|
});
|
|
79
89
|
});
|
|
@@ -81,224 +91,309 @@ function pingAgent(p = '/health') {
|
|
|
81
91
|
req.setTimeout(2000, () => { req.destroy(); reject(new Error('timeout')); });
|
|
82
92
|
});
|
|
83
93
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
94
|
+
function ask(question) {
|
|
95
|
+
return new Promise((resolve) => {
|
|
96
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
97
|
+
rl.question(question, (ans) => { rl.close(); resolve(ans.trim()); });
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function banner() {
|
|
101
|
+
console.log(`
|
|
102
|
+
┌─────────────────────────────────────────────────┐
|
|
103
|
+
│ HABI Local Identity Agent v${HABI_VERSION} │
|
|
104
|
+
│ On Spot Solutions LLC — hardware-first AI │
|
|
105
|
+
│ imhabi.com │
|
|
106
|
+
└─────────────────────────────────────────────────┘`);
|
|
107
|
+
}
|
|
108
|
+
// ── Claude Code detection & MCP injection ───────────────────────────────────
|
|
109
|
+
function claudeCodePaths() {
|
|
110
|
+
const home = os.homedir();
|
|
111
|
+
return [
|
|
112
|
+
path.join(home, '.claude', 'settings.json'),
|
|
113
|
+
path.join(home, 'AppData', 'Roaming', 'Claude', 'settings.json'), // Windows
|
|
114
|
+
path.join(home, 'Library', 'Application Support', 'Claude', 'settings.json'), // macOS alt
|
|
115
|
+
];
|
|
116
|
+
}
|
|
117
|
+
function findClaudeSettings() {
|
|
118
|
+
return claudeCodePaths().find(p => fs.existsSync(p)) || null;
|
|
119
|
+
}
|
|
120
|
+
function isClaudeCodeInstalled() {
|
|
90
121
|
try {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
console.log(' Run: habi-agent status to check it.');
|
|
94
|
-
process.exit(0);
|
|
122
|
+
const r = (0, child_process_1.spawnSync)(os.platform() === 'win32' ? 'where' : 'which', ['claude'], { encoding: 'utf8' });
|
|
123
|
+
return r.status === 0 && r.stdout.trim().length > 0;
|
|
95
124
|
}
|
|
96
125
|
catch {
|
|
97
|
-
|
|
126
|
+
return false;
|
|
98
127
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
128
|
+
}
|
|
129
|
+
function injectMcpConfig(habiKey) {
|
|
130
|
+
const settingsPath = findClaudeSettings() || claudeCodePaths()[0];
|
|
131
|
+
const settingsDir = path.dirname(settingsPath);
|
|
132
|
+
if (!fs.existsSync(settingsDir))
|
|
133
|
+
fs.mkdirSync(settingsDir, { recursive: true });
|
|
134
|
+
let existing = {};
|
|
135
|
+
if (fs.existsSync(settingsPath)) {
|
|
136
|
+
try {
|
|
137
|
+
existing = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
existing = {};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const mcpServers = (existing.mcpServers || {});
|
|
144
|
+
// Inject or update HABI entry
|
|
145
|
+
mcpServers['habi'] = {
|
|
146
|
+
type: 'url',
|
|
147
|
+
url: 'https://dokcixjitwihtbdlkbdb.supabase.co/functions/v1/habi-mcp',
|
|
148
|
+
headers: { 'x-habi-key': habiKey },
|
|
105
149
|
};
|
|
106
|
-
|
|
107
|
-
|
|
150
|
+
existing.mcpServers = mcpServers;
|
|
151
|
+
fs.writeFileSync(settingsPath, JSON.stringify(existing, null, 2));
|
|
152
|
+
return { injected: true, path: settingsPath };
|
|
153
|
+
}
|
|
154
|
+
// ── COMMANDS ─────────────────────────────────────────────────────────────────
|
|
155
|
+
async function cmdStart() {
|
|
156
|
+
banner();
|
|
157
|
+
const habiKey = process.env.HABI_KEY || '';
|
|
158
|
+
const deviceName = process.env.HABI_DEVICE_NAME || os.hostname();
|
|
159
|
+
if (!habiKey) {
|
|
160
|
+
console.error('\n✗ --key is required. Get your key from imhabi.com\n');
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
console.log('\n[HABI] Reading hardware identity...');
|
|
164
|
+
const hw = (0, hardware_1.readHardwareIdentity)();
|
|
165
|
+
console.log(`[HABI] Hardware: ${hw.fingerprint} (${hw.type}) on ${hw.iface}`);
|
|
166
|
+
// ── 1. Register device ───────────────────────────────────────────────────
|
|
167
|
+
console.log(`[HABI] Registering "${deviceName}" with imhabi.com...`);
|
|
168
|
+
process.env.HABI_KEY = habiKey;
|
|
169
|
+
process.env.HABI_DEVICE_NAME = deviceName;
|
|
170
|
+
const cloudState = await (0, cloud_1.registerDevice)({
|
|
171
|
+
friendlyName: deviceName,
|
|
172
|
+
hardwareFingerprint: hw.fingerprint,
|
|
173
|
+
fingerprintType: hw.type,
|
|
174
|
+
agentVersion: HABI_VERSION,
|
|
175
|
+
osPlatform: os.platform(),
|
|
176
|
+
});
|
|
177
|
+
if (cloudState) {
|
|
178
|
+
console.log(`[HABI] ✓ "${deviceName}" registered — visible on imhabi.com`);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
console.error('[HABI] ✗ Registration failed — check your key and internet connection');
|
|
182
|
+
process.exit(1);
|
|
183
|
+
}
|
|
184
|
+
// ── 2. Save config for daemon ────────────────────────────────────────────
|
|
185
|
+
(0, service_1.saveConfig)(habiKey, deviceName);
|
|
186
|
+
console.log(`[HABI] ✓ Config saved to ~/.habi/config.json`);
|
|
187
|
+
// ── 3. Install background service ───────────────────────────────────────
|
|
188
|
+
console.log(`[HABI] Installing background service...`);
|
|
108
189
|
try {
|
|
109
|
-
await
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
190
|
+
await (0, service_1.installService)();
|
|
191
|
+
console.log(`[HABI] ✓ Background service installed — runs at every login`);
|
|
192
|
+
console.log(`[HABI] ✓ You can close this terminal. HABI keeps running.`);
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
console.error(`[HABI] ✗ Service install failed: ${err}`);
|
|
196
|
+
console.log(`[HABI] You can still run manually: npx habi-agent@latest daemon`);
|
|
197
|
+
}
|
|
198
|
+
// ── 4. Claude Code detection ─────────────────────────────────────────────
|
|
199
|
+
console.log('\n[HABI] Checking for Claude Code...');
|
|
200
|
+
const claudeInstalled = isClaudeCodeInstalled();
|
|
201
|
+
if (!claudeInstalled) {
|
|
202
|
+
console.log('[HABI] Claude Code not detected.');
|
|
203
|
+
const answer = await ask('[HABI] Install Claude Code now to enable MCP enforcement? (Y/n) ');
|
|
204
|
+
if (answer.toLowerCase() !== 'n') {
|
|
205
|
+
console.log('[HABI] Installing Claude Code (npm install -g @anthropic-ai/claude-code)...');
|
|
206
|
+
try {
|
|
207
|
+
(0, child_process_1.execSync)('npm install -g @anthropic-ai/claude-code', { stdio: 'inherit' });
|
|
208
|
+
console.log('[HABI] ✓ Claude Code installed');
|
|
209
|
+
const mcp = injectMcpConfig(habiKey);
|
|
210
|
+
console.log(`[HABI] ✓ HABI MCP server configured → ${mcp.path}`);
|
|
211
|
+
}
|
|
212
|
+
catch (err) {
|
|
213
|
+
console.error(`[HABI] ✗ Claude Code install failed: ${err}`);
|
|
214
|
+
console.log('[HABI] Install manually: npm install -g @anthropic-ai/claude-code');
|
|
215
|
+
}
|
|
117
216
|
}
|
|
118
217
|
else {
|
|
119
|
-
console.log(
|
|
120
|
-
const cloudState = await (0, cloud_1.registerDevice)({
|
|
121
|
-
friendlyName,
|
|
122
|
-
hardwareFingerprint: hw.fingerprint,
|
|
123
|
-
fingerprintType: hw.type,
|
|
124
|
-
agentVersion: '0.1.0',
|
|
125
|
-
osPlatform: os.platform(),
|
|
126
|
-
});
|
|
127
|
-
if (cloudState) {
|
|
128
|
-
console.log(`[HABI Cloud] ✓ Device registered — ID: ${cloudState.deviceId.slice(0, 8)}...`);
|
|
129
|
-
console.log(`[HABI Cloud] ✓ Session token active until ${new Date(cloudState.sessionTokenExpiresAt).toLocaleTimeString()}\n`);
|
|
130
|
-
// ── Heartbeat loop every 30s ──────────────────────────────────
|
|
131
|
-
let currentToken = cloudState.sessionToken;
|
|
132
|
-
setInterval(async () => {
|
|
133
|
-
const hb = await (0, cloud_1.sendHeartbeat)({
|
|
134
|
-
deviceId: cloudState.deviceId,
|
|
135
|
-
sessionToken: currentToken,
|
|
136
|
-
hardwareFingerprint: hw.fingerprint,
|
|
137
|
-
});
|
|
138
|
-
if (hb) {
|
|
139
|
-
currentToken = hb.sessionToken;
|
|
140
|
-
if (hb.pendingJobs && hb.pendingJobs.length > 0) {
|
|
141
|
-
console.log(`[HABI Cloud] ${hb.pendingJobs.length} pending job(s) received from dispatch queue.`);
|
|
142
|
-
// Job execution handled in Phase 2 — log for now
|
|
143
|
-
for (const job of hb.pendingJobs) {
|
|
144
|
-
console.log(`[HABI Cloud] Job ${job.id.slice(0, 8)}: ${JSON.stringify(job.payload).slice(0, 80)}`);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}, 30000);
|
|
149
|
-
}
|
|
218
|
+
console.log('[HABI] Skipping Claude Code install. MCP enforcement disabled.');
|
|
150
219
|
}
|
|
151
|
-
// Keep alive
|
|
152
|
-
await new Promise(() => { });
|
|
153
220
|
}
|
|
154
|
-
|
|
155
|
-
console.
|
|
156
|
-
|
|
221
|
+
else {
|
|
222
|
+
console.log('[HABI] ✓ Claude Code detected');
|
|
223
|
+
const mcp = injectMcpConfig(habiKey);
|
|
224
|
+
console.log(`[HABI] ✓ HABI MCP server configured → ${mcp.path}`);
|
|
157
225
|
}
|
|
226
|
+
// ── 5. Done ──────────────────────────────────────────────────────────────
|
|
227
|
+
console.log(`
|
|
228
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
229
|
+
│ ✓ HABI is running as a background service │
|
|
230
|
+
│ │
|
|
231
|
+
│ Machine: ${(deviceName + ' ').padEnd(44)} │
|
|
232
|
+
│ Hardware: ${(hw.fingerprint + ' ').padEnd(44)} │
|
|
233
|
+
│ Dashboard: https://imhabi.com │
|
|
234
|
+
│ Logs: ~/.habi/habi.log │
|
|
235
|
+
│ │
|
|
236
|
+
│ Commands: │
|
|
237
|
+
│ habi-agent status — check service health │
|
|
238
|
+
│ habi-agent stop — stop the service │
|
|
239
|
+
│ habi-agent restart — restart the service │
|
|
240
|
+
│ habi-agent uninstall — remove the service │
|
|
241
|
+
└─────────────────────────────────────────────────────────────┘
|
|
242
|
+
`);
|
|
243
|
+
process.exit(0);
|
|
158
244
|
}
|
|
159
245
|
async function cmdStatus() {
|
|
246
|
+
banner();
|
|
247
|
+
console.log('');
|
|
248
|
+
const installed = (0, service_1.isServiceInstalled)();
|
|
249
|
+
console.log(` Service: ${installed ? '✓ INSTALLED (runs at login)' : '✗ Not installed'}`);
|
|
250
|
+
// Check if agent is responding
|
|
160
251
|
try {
|
|
161
252
|
const health = await pingAgent('/health');
|
|
162
|
-
console.log('\n✓ HABI agent is RUNNING');
|
|
163
|
-
console.log(` Port: ${AGENT_PORT}`);
|
|
164
|
-
console.log(` Version: ${health.version || 'unknown'}`);
|
|
165
253
|
const identity = await pingAgent('/identity');
|
|
166
254
|
const hw = identity.hardware;
|
|
167
|
-
|
|
255
|
+
console.log(` Agent: ✓ RUNNING on port ${AGENT_PORT}`);
|
|
256
|
+
console.log(` Version: ${health.version || HABI_VERSION}`);
|
|
168
257
|
if (hw) {
|
|
169
|
-
console.log(` Hardware:
|
|
170
|
-
console.log(` Platform:
|
|
171
|
-
}
|
|
172
|
-
if (sess) {
|
|
173
|
-
const expiresAt = new Date(sess.expiresAt);
|
|
174
|
-
const active = sess.active ? '✓ ACTIVE' : '✗ EXPIRED';
|
|
175
|
-
console.log(` Session: ${sess.fingerprint?.slice(0, 16)}...`);
|
|
176
|
-
console.log(` Status: ${active} (expires ${expiresAt.toLocaleTimeString()})`);
|
|
258
|
+
console.log(` Hardware: ${hw.fingerprint} (${hw.type})`);
|
|
259
|
+
console.log(` Platform: ${hw.platform} / ${hw.hostname}`);
|
|
177
260
|
}
|
|
178
|
-
console.log();
|
|
179
261
|
}
|
|
180
262
|
catch {
|
|
181
|
-
console.log(
|
|
182
|
-
|
|
183
|
-
|
|
263
|
+
console.log(` Agent: ✗ NOT RESPONDING on port ${AGENT_PORT}`);
|
|
264
|
+
if (installed)
|
|
265
|
+
console.log(` (may still be starting — check ~/.habi/habi.log)`);
|
|
184
266
|
}
|
|
267
|
+
// Claude Code MCP check
|
|
268
|
+
const claudeSettings = findClaudeSettings();
|
|
269
|
+
if (claudeSettings) {
|
|
270
|
+
try {
|
|
271
|
+
const s = JSON.parse(fs.readFileSync(claudeSettings, 'utf8'));
|
|
272
|
+
const habiMcp = s.mcpServers?.habi;
|
|
273
|
+
console.log(` Claude MCP: ${habiMcp ? '✓ CONFIGURED' : '✗ Not configured'}`);
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
console.log(` Claude MCP: ✗ Could not read settings`);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
console.log(` Claude MCP: — Claude Code not detected`);
|
|
281
|
+
}
|
|
282
|
+
if (fs.existsSync(LOG_PATH)) {
|
|
283
|
+
console.log(`\n Log file: ${LOG_PATH}`);
|
|
284
|
+
const lines = fs.readFileSync(LOG_PATH, 'utf8').split('\n').filter(Boolean).slice(-5);
|
|
285
|
+
console.log(' Last 5 log entries:');
|
|
286
|
+
lines.forEach(l => console.log(` ${l}`));
|
|
287
|
+
}
|
|
288
|
+
console.log('');
|
|
289
|
+
}
|
|
290
|
+
function cmdStop() {
|
|
291
|
+
console.log('[HABI] Stopping service...');
|
|
292
|
+
(0, service_1.stopService)();
|
|
293
|
+
console.log('[HABI] ✓ Service stopped. Run: habi-agent restart to start again.');
|
|
294
|
+
}
|
|
295
|
+
async function cmdRestart() {
|
|
296
|
+
console.log('[HABI] Restarting service...');
|
|
297
|
+
(0, service_1.restartService)();
|
|
298
|
+
console.log('[HABI] ✓ Service restarted.');
|
|
299
|
+
}
|
|
300
|
+
async function cmdUninstall() {
|
|
301
|
+
console.log('[HABI] Uninstalling HABI background service...');
|
|
302
|
+
const answer = await ask('[HABI] This will stop HABI and remove it from startup. Continue? (y/N) ');
|
|
303
|
+
if (answer.toLowerCase() !== 'y') {
|
|
304
|
+
console.log('[HABI] Cancelled.');
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
await (0, service_1.uninstallService)();
|
|
308
|
+
// Also remove MCP config from Claude Code if present
|
|
309
|
+
const claudeSettings = findClaudeSettings();
|
|
310
|
+
if (claudeSettings && fs.existsSync(claudeSettings)) {
|
|
311
|
+
try {
|
|
312
|
+
const s = JSON.parse(fs.readFileSync(claudeSettings, 'utf8'));
|
|
313
|
+
if (s.mcpServers?.habi) {
|
|
314
|
+
delete s.mcpServers.habi;
|
|
315
|
+
fs.writeFileSync(claudeSettings, JSON.stringify(s, null, 2));
|
|
316
|
+
console.log('[HABI] ✓ Removed HABI from Claude Code MCP config');
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
catch { /* ignore */ }
|
|
320
|
+
}
|
|
321
|
+
console.log('[HABI] ✓ Service uninstalled');
|
|
322
|
+
console.log('[HABI] Config and logs remain at ~/.habi/ — delete manually if desired');
|
|
185
323
|
}
|
|
186
|
-
|
|
324
|
+
function cmdLogs() {
|
|
325
|
+
if (!fs.existsSync(LOG_PATH)) {
|
|
326
|
+
console.log('[HABI] No log file found at ' + LOG_PATH);
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
const lines = fs.readFileSync(LOG_PATH, 'utf8').split('\n').filter(Boolean);
|
|
330
|
+
const last50 = lines.slice(-50);
|
|
331
|
+
console.log(`\n── HABI Log (last ${last50.length} lines) ──────────────────────\n`);
|
|
332
|
+
last50.forEach(l => console.log(l));
|
|
333
|
+
console.log('\n── End of log ──────────────────────────────────────────────\n');
|
|
334
|
+
}
|
|
335
|
+
function cmdIdentity() {
|
|
187
336
|
try {
|
|
188
337
|
const hw = (0, hardware_1.readHardwareIdentity)();
|
|
189
|
-
|
|
190
|
-
try {
|
|
191
|
-
const p = (0, context_1.findContextFile)();
|
|
192
|
-
return p ? (0, context_1.loadContext)(p) : null;
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
return null;
|
|
196
|
-
}
|
|
197
|
-
})();
|
|
198
|
-
const contextHash = ctx?.contextHash ?? (0, hardware_1.sha256)('no-context');
|
|
199
|
-
const fingerprint = (0, hardware_1.generateSessionFingerprint)(hw.fingerprint, contextHash, Date.now());
|
|
200
|
-
console.log('\n┌─ HABI Hardware Identity ──────────────────────────────────┐');
|
|
338
|
+
console.log('\n┌─ HABI Hardware Identity ───────────────────────────────────┐');
|
|
201
339
|
console.log(`│ Hardware ID: ${hw.fingerprint}`);
|
|
202
340
|
console.log(`│ Type: ${hw.type}`);
|
|
203
341
|
console.log(`│ Interface: ${hw.iface}`);
|
|
204
342
|
console.log(`│ Platform: ${hw.platform}`);
|
|
205
343
|
console.log(`│ Hostname: ${hw.hostname}`);
|
|
206
|
-
console.log(`│ Context: ${ctx ? ctx.context.project : 'none loaded'}`);
|
|
207
|
-
console.log(`│ Context Hash: ${ctx ? ctx.contextHash.slice(0, 24) + '...' : 'n/a'}`);
|
|
208
|
-
console.log(`│ Session FP: ${fingerprint.slice(0, 24)}...`);
|
|
209
344
|
console.log('└────────────────────────────────────────────────────────────┘\n');
|
|
210
345
|
}
|
|
211
346
|
catch (err) {
|
|
212
|
-
console.error(`\n✗ Could not read hardware identity
|
|
213
|
-
process.exit(1);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
async function cmdInit() {
|
|
217
|
-
const hw = (0, hardware_1.readHardwareIdentity)();
|
|
218
|
-
const projectName = process.argv[3] || path.basename(process.cwd());
|
|
219
|
-
const contextContent = {
|
|
220
|
-
project: projectName,
|
|
221
|
-
version: '1.0.0',
|
|
222
|
-
owner: process.env.HABI_OWNER_EMAIL || process.env.USER || process.env.USERNAME || 'owner',
|
|
223
|
-
allowedMachines: [hw.fingerprint],
|
|
224
|
-
allowedOperations: {
|
|
225
|
-
paths: [`${process.cwd()}/**`],
|
|
226
|
-
cloudAccounts: [],
|
|
227
|
-
databases: [],
|
|
228
|
-
repos: [],
|
|
229
|
-
},
|
|
230
|
-
deniedOperations: [
|
|
231
|
-
'DROP TABLE',
|
|
232
|
-
'DROP DATABASE',
|
|
233
|
-
'rm -rf /',
|
|
234
|
-
'DELETE FROM audit_log',
|
|
235
|
-
'truncate audit_log',
|
|
236
|
-
],
|
|
237
|
-
};
|
|
238
|
-
const contextHash = (0, hardware_1.sha256)(JSON.stringify(contextContent, null, 2));
|
|
239
|
-
const fullContext = { ...contextContent, contextHash };
|
|
240
|
-
const outPath = path.join(process.cwd(), 'habi-context.json');
|
|
241
|
-
if (fs.existsSync(outPath)) {
|
|
242
|
-
console.log(`\n⚠ Context file already exists: ${outPath}`);
|
|
243
|
-
console.log(' Delete it first if you want to regenerate.\n');
|
|
347
|
+
console.error(`\n✗ Could not read hardware identity: ${err}\n`);
|
|
244
348
|
process.exit(1);
|
|
245
349
|
}
|
|
246
|
-
fs.writeFileSync(outPath, JSON.stringify(fullContext, null, 2), 'utf8');
|
|
247
|
-
console.log('\n✓ HABI Project Context File created');
|
|
248
|
-
console.log(` File: ${outPath}`);
|
|
249
|
-
console.log(` Project: ${projectName}`);
|
|
250
|
-
console.log(` Machine: ${hw.fingerprint} (${hw.type})`);
|
|
251
|
-
console.log(` Hash: ${contextHash.slice(0, 24)}...`);
|
|
252
|
-
console.log('\n⚠ IMPORTANT: Add habi-context.json to your .gitignore');
|
|
253
|
-
console.log(' This file contains your machine identity — do not commit it.\n');
|
|
254
350
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}
|
|
351
|
+
function cmdHelp() {
|
|
352
|
+
console.log(`
|
|
353
|
+
HABI Agent v${HABI_VERSION} — On Spot Solutions LLC
|
|
354
|
+
Hardware-Anchored Binding Infrastructure
|
|
355
|
+
|
|
356
|
+
Usage:
|
|
357
|
+
npx habi-agent@latest start --key <key> --name <name>
|
|
358
|
+
Register device, install background service, configure Claude Code
|
|
359
|
+
|
|
360
|
+
habi-agent status Show service status and agent health
|
|
361
|
+
habi-agent stop Stop the background service
|
|
362
|
+
habi-agent restart Restart the background service
|
|
363
|
+
habi-agent uninstall Remove the background service and MCP config
|
|
364
|
+
habi-agent logs Show the last 50 log entries
|
|
365
|
+
habi-agent identity Print hardware fingerprint
|
|
366
|
+
|
|
367
|
+
Dashboard: https://imhabi.com
|
|
368
|
+
`);
|
|
274
369
|
}
|
|
275
|
-
// ── Dispatch
|
|
370
|
+
// ── Dispatch ──────────────────────────────────────────────────────────────────
|
|
276
371
|
(async () => {
|
|
277
372
|
switch (command) {
|
|
278
373
|
case 'start':
|
|
279
374
|
await cmdStart();
|
|
280
375
|
break;
|
|
376
|
+
case 'stop':
|
|
377
|
+
cmdStop();
|
|
378
|
+
break;
|
|
379
|
+
case 'restart':
|
|
380
|
+
await cmdRestart();
|
|
381
|
+
break;
|
|
382
|
+
case 'uninstall':
|
|
383
|
+
await cmdUninstall();
|
|
384
|
+
break;
|
|
281
385
|
case 'status':
|
|
282
386
|
await cmdStatus();
|
|
283
387
|
break;
|
|
284
|
-
case '
|
|
285
|
-
|
|
286
|
-
break;
|
|
287
|
-
case 'init':
|
|
288
|
-
await cmdInit();
|
|
388
|
+
case 'logs':
|
|
389
|
+
cmdLogs();
|
|
289
390
|
break;
|
|
290
|
-
case '
|
|
291
|
-
|
|
391
|
+
case 'identity':
|
|
392
|
+
cmdIdentity();
|
|
292
393
|
break;
|
|
293
394
|
default:
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
console.log(`\nCommands:`);
|
|
297
|
-
console.log(` start Start the local identity daemon on port 7432`);
|
|
298
|
-
console.log(` status Show agent status and hardware identity`);
|
|
299
|
-
console.log(` identity Print hardware fingerprint`);
|
|
300
|
-
console.log(` init Generate a Project Context File for this directory`);
|
|
301
|
-
console.log(` verify Verify the current session\n`);
|
|
395
|
+
cmdHelp();
|
|
396
|
+
break;
|
|
302
397
|
}
|
|
303
398
|
})();
|
|
304
399
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
|