habi-agent 0.1.3 → 0.1.4

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/server.d.ts CHANGED
@@ -16,6 +16,7 @@ export declare class HabiLocalServer {
16
16
  private handleVerify;
17
17
  private handleAssertContext;
18
18
  private handleAudit;
19
+ private handleLogActivity;
19
20
  private getHardware;
20
21
  private getContext;
21
22
  private getOrCreateSession;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoCH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAA4B;IAG1C,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,YAAY;YAwBN,mBAAmB;YAiCnB,WAAW;IAmBzB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,kBAAkB;IAqB1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDtB,IAAI,IAAI,IAAI;CAIb"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoCH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAA4B;IAG1C,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,YAAY;YAwBN,mBAAmB;YAiCnB,WAAW;YAkBX,iBAAiB;IAuD/B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,kBAAkB;IAqB1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkDtB,IAAI,IAAI,IAAI;CAIb"}
package/dist/server.js CHANGED
@@ -181,7 +181,60 @@ class HabiLocalServer {
181
181
  json(res, 500, { ok: false, error: String(err) });
182
182
  }
183
183
  }
184
- // ── Internal helpers ────────────────────────────────────────────────────
184
+ async handleLogActivity(req, res) {
185
+ try {
186
+ const data = await readBody(req);
187
+ const hw = (0, hardware_1.readHardwareIdentity)();
188
+ const habiKey = process.env.HABI_KEY || '';
189
+ // Console log always
190
+ const icons = {
191
+ 'claude.ai': '🟠', 'chatgpt.com': '🟢', 'cursor.sh': '🔵',
192
+ 'gemini.google.com': '🔷', 'github.com': '⚫', 'perplexity.ai': '🔵',
193
+ 'copilot.microsoft.com': '🔷', 'v0.dev': '⬛', 'character.ai': '🟣',
194
+ };
195
+ const icon = icons[data.hostname ?? ''] ?? '🤖';
196
+ const toolName = data.toolName ?? 'Unknown';
197
+ const engine = data.engine ?? 'Unknown';
198
+ console.log(`[HABI Activity] ${icon} ${toolName} — ${engine}`);
199
+ // Cloud log via the post() function from cloud module
200
+ if (habiKey) {
201
+ const logPayload = {
202
+ eventType: 'ACTION_ALLOWED',
203
+ operation: `${toolName} — ${engine}`,
204
+ hardwareId: hw.fingerprint,
205
+ toolName,
206
+ engine,
207
+ visitUrl: data.url ?? '',
208
+ sessionId: data.sessionId ?? '',
209
+ ts: data.ts ?? new Date().toISOString(),
210
+ };
211
+ // Use dynamic import to avoid circular dependency
212
+ Promise.resolve().then(async () => {
213
+ const https = await Promise.resolve().then(() => __importStar(require('https')));
214
+ const body = JSON.stringify({ ...logPayload, habiKey });
215
+ const opts = {
216
+ hostname: 'dokcixjitwihtbdlkbdb.supabase.co',
217
+ port: 443,
218
+ path: '/functions/v1/log-ai-activity',
219
+ method: 'POST',
220
+ headers: {
221
+ 'Content-Type': 'application/json',
222
+ 'Content-Length': String(Buffer.byteLength(body)),
223
+ 'x-habi-key': habiKey,
224
+ },
225
+ };
226
+ const r = https.default.request(opts, (res2) => { res2.resume(); });
227
+ r.on('error', () => { });
228
+ r.write(body);
229
+ r.end();
230
+ }).catch(() => { });
231
+ }
232
+ json(res, 200, { ok: true, logged: true, tool: toolName, hw: hw.fingerprint });
233
+ }
234
+ catch (err) {
235
+ json(res, 400, { ok: false, error: String(err) });
236
+ }
237
+ }
185
238
  getHardware() {
186
239
  if (!this.hardware) {
187
240
  this.hardware = (0, hardware_1.readHardwareIdentity)();
@@ -242,6 +295,8 @@ class HabiLocalServer {
242
295
  return this.handleAssertContext(req, res);
243
296
  if (url === '/audit' && method === 'POST')
244
297
  return this.handleAudit(req, res);
298
+ if (url === '/log-activity' && method === 'POST')
299
+ return this.handleLogActivity(req, res);
245
300
  json(res, 404, { error: `Unknown route: ${method} ${url}` });
246
301
  });
247
302
  this.server.listen(PORT, BIND_HOST, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "habi-agent",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "HABI Local Identity Agent — hardware fingerprint daemon on localhost:7432",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/server.ts CHANGED
@@ -158,7 +158,61 @@ export class HabiLocalServer {
158
158
  }
159
159
  }
160
160
 
161
- // ── Internal helpers ────────────────────────────────────────────────────
161
+ private async handleLogActivity(req: import('http').IncomingMessage, res: import('http').ServerResponse): Promise<void> {
162
+ try {
163
+ const data = await readBody(req) as Record<string, string>;
164
+ const hw = readHardwareIdentity();
165
+ const habiKey = process.env.HABI_KEY || '';
166
+
167
+ // Console log always
168
+ const icons: Record<string, string> = {
169
+ 'claude.ai': '🟠', 'chatgpt.com': '🟢', 'cursor.sh': '🔵',
170
+ 'gemini.google.com': '🔷', 'github.com': '⚫', 'perplexity.ai': '🔵',
171
+ 'copilot.microsoft.com': '🔷', 'v0.dev': '⬛', 'character.ai': '🟣',
172
+ };
173
+ const icon = icons[data.hostname ?? ''] ?? '🤖';
174
+ const toolName = data.toolName ?? 'Unknown';
175
+ const engine = data.engine ?? 'Unknown';
176
+ console.log(`[HABI Activity] ${icon} ${toolName} — ${engine}`);
177
+
178
+ // Cloud log via the post() function from cloud module
179
+ if (habiKey) {
180
+ const logPayload: Record<string, unknown> = {
181
+ eventType: 'ACTION_ALLOWED',
182
+ operation: `${toolName} — ${engine}`,
183
+ hardwareId: hw.fingerprint,
184
+ toolName,
185
+ engine,
186
+ visitUrl: data.url ?? '',
187
+ sessionId: data.sessionId ?? '',
188
+ ts: data.ts ?? new Date().toISOString(),
189
+ };
190
+ // Use dynamic import to avoid circular dependency
191
+ Promise.resolve().then(async () => {
192
+ const https = await import('https');
193
+ const body = JSON.stringify({ ...logPayload, habiKey });
194
+ const opts: import('https').RequestOptions = {
195
+ hostname: 'dokcixjitwihtbdlkbdb.supabase.co',
196
+ port: 443,
197
+ path: '/functions/v1/log-ai-activity',
198
+ method: 'POST',
199
+ headers: {
200
+ 'Content-Type': 'application/json',
201
+ 'Content-Length': String(Buffer.byteLength(body)),
202
+ 'x-habi-key': habiKey,
203
+ },
204
+ };
205
+ const r = https.default.request(opts, (res2) => { res2.resume(); });
206
+ r.on('error', () => {});
207
+ r.write(body); r.end();
208
+ }).catch(() => {});
209
+ }
210
+
211
+ json(res, 200, { ok: true, logged: true, tool: toolName, hw: hw.fingerprint });
212
+ } catch (err) {
213
+ json(res, 400, { ok: false, error: String(err) });
214
+ }
215
+ }
162
216
  private getHardware(): HardwareIdentity {
163
217
  if (!this.hardware) {
164
218
  this.hardware = readHardwareIdentity();
@@ -221,6 +275,7 @@ export class HabiLocalServer {
221
275
  if (url === '/verify' && method === 'POST') return this.handleVerify(res);
222
276
  if (url === '/assert-context' && method === 'POST') return this.handleAssertContext(req, res);
223
277
  if (url === '/audit' && method === 'POST') return this.handleAudit(req, res);
278
+ if (url === '/log-activity' && method === 'POST') return this.handleLogActivity(req, res);
224
279
 
225
280
  json(res, 404, { error: `Unknown route: ${method} ${url}` });
226
281
  });