@ai2qa/local-agent 0.1.0 → 0.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmMH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuMH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ exports.BrowserConnection = exports.Ai2qaMcpServer = exports.createMcpServer = v
24
24
  const commander_1 = require("commander");
25
25
  const server_js_1 = require("./server.js");
26
26
  const config_js_1 = require("./config.js");
27
- const VERSION = '0.1.0';
27
+ const VERSION = '0.1.2';
28
28
  async function main() {
29
29
  const program = new commander_1.Command();
30
30
  program
@@ -38,6 +38,7 @@ async function main() {
38
38
  .option('--port <port>', 'CDP port for sidecar mode', '9222')
39
39
  .option('--headless', 'Run in headless mode (launch mode only)', false)
40
40
  .option('--cloud', 'Connect to AI2QA cloud via WebSocket', false)
41
+ .option('--metering', 'Enable session-based metering (requires login)', false)
41
42
  .action(async (options) => {
42
43
  const mode = options.sidecar ? 'sidecar' : 'launch';
43
44
  const cdpUrl = `http://localhost:${options.port}`;
@@ -58,13 +59,14 @@ async function main() {
58
59
  console.error('╠════════════════════════════════════════════════════════════╣');
59
60
  console.error(`║ Mode: ${mode.padEnd(51)}║`);
60
61
  console.error(`║ Transport: ${(useCloud ? 'WebSocket (cloud)' : 'stdio (local)').padEnd(46)}║`);
62
+ console.error(`║ Metering: ${(options.metering ? 'Enabled (1 credit/session)' : 'Disabled').padEnd(47)}║`);
61
63
  if (mode === 'sidecar') {
62
64
  console.error(`║ CDP URL: ${cdpUrl.padEnd(48)}║`);
63
65
  console.error('║ ║');
64
66
  console.error('║ Make sure Chrome is running with: ║');
65
67
  console.error('║ --remote-debugging-port=9222 ║');
66
68
  }
67
- if (useCloud) {
69
+ if (useCloud || options.metering) {
68
70
  const config = (0, config_js_1.loadConfig)();
69
71
  console.error('║ ║');
70
72
  console.error(`║ Agent ID: ${config.agentId.substring(0, 8)}... ║`);
@@ -77,6 +79,7 @@ async function main() {
77
79
  cdpUrl,
78
80
  headless: options.headless,
79
81
  },
82
+ meteringEnabled: options.metering,
80
83
  });
81
84
  // Handle graceful shutdown
82
85
  const shutdown = async (signal) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -13,6 +13,8 @@ import { KnowledgeApiConfig } from './tools/report.js';
13
13
  export interface ServerConfig {
14
14
  browser?: Partial<BrowserConfig>;
15
15
  knowledgeApi?: KnowledgeApiConfig;
16
+ /** Enable session-based metering (requires authentication) */
17
+ meteringEnabled?: boolean;
16
18
  }
17
19
  /**
18
20
  * AI2QA MCP Server
@@ -20,6 +22,7 @@ export interface ServerConfig {
20
22
  export declare class Ai2qaMcpServer {
21
23
  private readonly server;
22
24
  private readonly browserConnection;
25
+ private readonly sessionManager;
23
26
  private page;
24
27
  constructor(config?: ServerConfig);
25
28
  /**
@@ -44,6 +47,10 @@ export declare class Ai2qaMcpServer {
44
47
  * Stop the server and clean up resources.
45
48
  */
46
49
  stop(): Promise<void>;
50
+ /**
51
+ * Extract domain from tool arguments or current page URL.
52
+ */
53
+ private extractDomain;
47
54
  /**
48
55
  * Get the underlying MCP server instance.
49
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAQ1E,OAAO,EAAqB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAsB,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAWzF,OAAO,EAAwC,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA2M7F,mCAAmC;AACnC,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,IAAI,CAAqB;gBAErB,MAAM,CAAC,EAAE,YAAY;IAuBjC;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIvD,OAAO,CAAC,aAAa;YAyDP,WAAW;IAmCzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzE;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;OAEG;IACH,SAAS,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAErE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAQ1E,OAAO,EAAqB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAsB,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAWzF,OAAO,EAAwC,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA4M7F,mCAAmC;AACnC,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,IAAI,CAAqB;gBAErB,MAAM,CAAC,EAAE,YAAY;IAwBjC;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIvD,OAAO,CAAC,aAAa;YA2GP,WAAW;IAmCzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzE;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IAEH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,SAAS,IAAI,MAAM;CAGtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAErE"}
package/dist/server.js CHANGED
@@ -25,6 +25,7 @@ const wait_js_1 = require("./tools/wait.js");
25
25
  const evaluate_js_1 = require("./tools/evaluate.js");
26
26
  const report_js_1 = require("./tools/report.js");
27
27
  const knowledge_js_1 = require("./tools/knowledge.js");
28
+ const session_js_1 = require("./session.js");
28
29
  /** MCP tool definitions */
29
30
  const TOOLS = [
30
31
  {
@@ -230,16 +231,18 @@ const TOOLS = [
230
231
  class Ai2qaMcpServer {
231
232
  server;
232
233
  browserConnection;
234
+ sessionManager;
233
235
  page = null;
234
236
  constructor(config) {
235
237
  this.browserConnection = new connection_js_1.BrowserConnection(config?.browser);
238
+ this.sessionManager = (0, session_js_1.initSessionManager)(config?.meteringEnabled ?? false);
236
239
  // Configure knowledge API if provided
237
240
  if (config?.knowledgeApi) {
238
241
  (0, report_js_1.configureKnowledgeApi)(config.knowledgeApi);
239
242
  }
240
243
  this.server = new index_js_1.Server({
241
244
  name: 'ai2qa-local-agent',
242
- version: '0.1.0',
245
+ version: '0.1.2',
243
246
  }, {
244
247
  capabilities: {
245
248
  tools: {},
@@ -261,6 +264,26 @@ class Ai2qaMcpServer {
261
264
  // Handle tool calls
262
265
  this.server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
263
266
  const { name, arguments: args } = request.params;
267
+ const startTime = Date.now();
268
+ // Check and deduct credit if at boundary (call 1, 21, 41, etc.)
269
+ // Only phones home when needed, not on every call
270
+ try {
271
+ await this.sessionManager.checkAndDeductCredit();
272
+ }
273
+ catch (error) {
274
+ const message = error instanceof Error ? error.message : 'Credit deduction failed';
275
+ return {
276
+ content: [
277
+ {
278
+ type: 'text',
279
+ text: JSON.stringify({
280
+ success: false,
281
+ error: message,
282
+ }),
283
+ },
284
+ ],
285
+ };
286
+ }
264
287
  // Ensure browser is connected
265
288
  if (!this.page) {
266
289
  const result = await this.browserConnection.connect();
@@ -281,6 +304,31 @@ class Ai2qaMcpServer {
281
304
  }
282
305
  // Execute the tool
283
306
  const toolResult = await this.executeTool(name, args ?? {});
307
+ const durationMs = Date.now() - startTime;
308
+ // Collect memory for hippocampus (if metering enabled)
309
+ if (this.sessionManager.isMeteringEnabled()) {
310
+ const memory = {
311
+ tool: name,
312
+ success: toolResult.success ?? false,
313
+ durationMs,
314
+ timestamp: Date.now(),
315
+ };
316
+ // Extract domain from args or page URL
317
+ const domain = this.extractDomain(args, this.page);
318
+ if (domain) {
319
+ memory.domain = domain;
320
+ }
321
+ // Extract selector if present
322
+ const selector = args?.selector ?? args?.ref;
323
+ if (selector) {
324
+ memory.selectorUsed = selector;
325
+ }
326
+ // Extract error message if present
327
+ if (!toolResult.success && toolResult.error) {
328
+ memory.errorMessage = String(toolResult.error);
329
+ }
330
+ this.sessionManager.collectMemory(memory);
331
+ }
284
332
  // Format response based on tool type
285
333
  if (name === types_js_2.TOOL_NAMES.SCREENSHOT && toolResult.success && 'data' in toolResult) {
286
334
  return {
@@ -366,10 +414,41 @@ class Ai2qaMcpServer {
366
414
  * Stop the server and clean up resources.
367
415
  */
368
416
  async stop() {
417
+ // End session and upload collected memory to cloud
418
+ await this.sessionManager.endSession();
369
419
  await this.browserConnection.disconnect();
370
420
  await this.server.close();
371
421
  console.error('[Ai2qaMcpServer] Server stopped');
372
422
  }
423
+ /**
424
+ * Extract domain from tool arguments or current page URL.
425
+ */
426
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
427
+ extractDomain(args, page) {
428
+ // Check for URL in args (navigate tool)
429
+ if (args?.url && typeof args.url === 'string') {
430
+ try {
431
+ const url = new URL(args.url);
432
+ return url.hostname;
433
+ }
434
+ catch {
435
+ // Not a valid URL
436
+ }
437
+ }
438
+ // Fall back to current page URL
439
+ if (page) {
440
+ try {
441
+ const url = new URL(page.url());
442
+ if (url.protocol === 'http:' || url.protocol === 'https:') {
443
+ return url.hostname;
444
+ }
445
+ }
446
+ catch {
447
+ // Page might not have a valid URL
448
+ }
449
+ }
450
+ return null;
451
+ }
373
452
  /**
374
453
  * Get the underlying MCP server instance.
375
454
  */
@@ -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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"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Session Manager
3
+ *
4
+ * Manages session-based metering for sidecar mode.
5
+ * Uses incremental deduction: 1 credit per N tool calls (configurable).
6
+ *
7
+ * Phone home pattern:
8
+ * - Call 1: Phone home, deduct 1 credit
9
+ * - Calls 2-20: Use local counter, no network
10
+ * - Call 21: Phone home again, deduct 1 credit
11
+ * - Continue at boundaries: 41, 61, 81, etc.
12
+ *
13
+ * Memory uploaded at session end (hippocampus grows).
14
+ * Fail closed if can't reach cloud.
15
+ */
16
+ /** Memory entry collected during session */
17
+ export interface AgentMemory {
18
+ tool: string;
19
+ domain?: string;
20
+ selectorUsed?: string;
21
+ success: boolean;
22
+ durationMs?: number;
23
+ errorMessage?: string;
24
+ timestamp: number;
25
+ }
26
+ /**
27
+ * Session Manager for metered sidecar mode.
28
+ *
29
+ * Incremental deduction model:
30
+ * 1. First tool call -> Phone home -> Verify credits >= 1 -> Deduct 1 credit
31
+ * 2. Next (callsPerCredit - 1) calls are free (within current credit block)
32
+ * 3. At call #(callsPerCredit + 1) -> Phone home again -> Deduct 1 more credit
33
+ * 4. Repeat at every callsPerCredit boundary
34
+ * 5. When session ends -> Upload learnings to cloud (hippocampus grows)
35
+ * 6. If credits = 0 at any boundary -> Reject with "Insufficient credits" error
36
+ */
37
+ export declare class SessionManager {
38
+ private apiUrl;
39
+ private deviceToken;
40
+ private sessionId;
41
+ private state;
42
+ private collectedMemory;
43
+ private creditsRemaining;
44
+ private readonly meteringEnabled;
45
+ /** Total tool calls in this session */
46
+ private toolCallCount;
47
+ /** Calls per credit (received from server, can be adjusted without agent redeploy) */
48
+ private callsPerCredit;
49
+ constructor(meteringEnabled?: boolean);
50
+ /**
51
+ * Check and deduct credit if needed.
52
+ * Called BEFORE every tool execution.
53
+ *
54
+ * Only phones home at boundaries:
55
+ * - Call 1 (first call, new session)
56
+ * - Call 21, 41, 61, etc. (every callsPerCredit boundary)
57
+ *
58
+ * @throws Error if authentication fails or insufficient credits
59
+ */
60
+ checkAndDeductCredit(): Promise<void>;
61
+ /**
62
+ * @deprecated Use checkAndDeductCredit() instead. This method is kept for backward compatibility.
63
+ * Start a metered session. Now delegates to checkAndDeductCredit().
64
+ */
65
+ startSession(): Promise<void>;
66
+ /**
67
+ * Collect memory entry during test execution.
68
+ *
69
+ * @param entry Memory entry to collect
70
+ */
71
+ collectMemory(entry: AgentMemory): void;
72
+ /**
73
+ * End the session and upload collected memory.
74
+ * Called on SIGINT/SIGTERM or explicit disconnect.
75
+ */
76
+ endSession(): Promise<void>;
77
+ /**
78
+ * Check if session is active.
79
+ */
80
+ isActive(): boolean;
81
+ /**
82
+ * Get current session ID.
83
+ */
84
+ getSessionId(): string | null;
85
+ /**
86
+ * Get remaining credits (only valid after first deduction).
87
+ */
88
+ getCreditsRemaining(): number;
89
+ /**
90
+ * Get total tool calls in this session.
91
+ */
92
+ getToolCallCount(): number;
93
+ /**
94
+ * Get current calls-per-credit setting (received from server).
95
+ */
96
+ getCallsPerCredit(): number;
97
+ /**
98
+ * Check if metering is enabled.
99
+ */
100
+ isMeteringEnabled(): boolean;
101
+ /**
102
+ * Extract domain from URL or string.
103
+ */
104
+ private extractDomain;
105
+ /**
106
+ * Check if a string contains potentially sensitive data.
107
+ */
108
+ private containsSensitiveData;
109
+ }
110
+ /**
111
+ * Initialize the session manager.
112
+ *
113
+ * @param meteringEnabled Whether to enable session-based metering
114
+ */
115
+ export declare function initSessionManager(meteringEnabled?: boolean): SessionManager;
116
+ /**
117
+ * Get the session manager instance.
118
+ */
119
+ export declare function getSessionManager(): SessionManager | null;
120
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACrB;AAmBD;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE1C,uCAAuC;IACvC,OAAO,CAAC,aAAa,CAAa;IAElC,sFAAsF;IACtF,OAAO,CAAC,cAAc,CAAoC;gBAE9C,eAAe,GAAE,OAAe;IAe5C;;;;;;;;;OASG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsF3C;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAkCvC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCjC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAM5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAShC;AAOD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,GAAE,OAAe,GAAG,cAAc,CAKnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAEzD"}
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ /**
3
+ * Session Manager
4
+ *
5
+ * Manages session-based metering for sidecar mode.
6
+ * Uses incremental deduction: 1 credit per N tool calls (configurable).
7
+ *
8
+ * Phone home pattern:
9
+ * - Call 1: Phone home, deduct 1 credit
10
+ * - Calls 2-20: Use local counter, no network
11
+ * - Call 21: Phone home again, deduct 1 credit
12
+ * - Continue at boundaries: 41, 61, 81, etc.
13
+ *
14
+ * Memory uploaded at session end (hippocampus grows).
15
+ * Fail closed if can't reach cloud.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SessionManager = void 0;
19
+ exports.initSessionManager = initSessionManager;
20
+ exports.getSessionManager = getSessionManager;
21
+ const config_js_1 = require("./config.js");
22
+ /** Default calls per credit (can be overridden by server) */
23
+ const DEFAULT_CALLS_PER_CREDIT = 20;
24
+ /**
25
+ * Session Manager for metered sidecar mode.
26
+ *
27
+ * Incremental deduction model:
28
+ * 1. First tool call -> Phone home -> Verify credits >= 1 -> Deduct 1 credit
29
+ * 2. Next (callsPerCredit - 1) calls are free (within current credit block)
30
+ * 3. At call #(callsPerCredit + 1) -> Phone home again -> Deduct 1 more credit
31
+ * 4. Repeat at every callsPerCredit boundary
32
+ * 5. When session ends -> Upload learnings to cloud (hippocampus grows)
33
+ * 6. If credits = 0 at any boundary -> Reject with "Insufficient credits" error
34
+ */
35
+ class SessionManager {
36
+ apiUrl;
37
+ deviceToken;
38
+ sessionId = null;
39
+ state = 'idle';
40
+ collectedMemory = [];
41
+ creditsRemaining = -1;
42
+ meteringEnabled;
43
+ /** Total tool calls in this session */
44
+ toolCallCount = 0;
45
+ /** Calls per credit (received from server, can be adjusted without agent redeploy) */
46
+ callsPerCredit = DEFAULT_CALLS_PER_CREDIT;
47
+ constructor(meteringEnabled = false) {
48
+ this.meteringEnabled = meteringEnabled;
49
+ const config = (0, config_js_1.loadConfig)();
50
+ const cloudConfig = (0, config_js_1.getCloudConfig)();
51
+ // Convert WebSocket URL to HTTP URL for REST calls
52
+ this.apiUrl = config.cloudUrl
53
+ .replace('wss://', 'https://')
54
+ .replace('ws://', 'http://')
55
+ .replace('/agents/connect', '');
56
+ this.deviceToken = cloudConfig?.token ?? null;
57
+ }
58
+ /**
59
+ * Check and deduct credit if needed.
60
+ * Called BEFORE every tool execution.
61
+ *
62
+ * Only phones home at boundaries:
63
+ * - Call 1 (first call, new session)
64
+ * - Call 21, 41, 61, etc. (every callsPerCredit boundary)
65
+ *
66
+ * @throws Error if authentication fails or insufficient credits
67
+ */
68
+ async checkAndDeductCredit() {
69
+ // If metering is disabled, skip
70
+ if (!this.meteringEnabled) {
71
+ this.state = 'active';
72
+ return;
73
+ }
74
+ // Increment call counter
75
+ this.toolCallCount++;
76
+ // Determine if we need to phone home
77
+ // Phone home at: call 1, call (1 + callsPerCredit), call (1 + 2*callsPerCredit), etc.
78
+ const shouldDeduct = this.toolCallCount === 1 ||
79
+ ((this.toolCallCount - 1) % this.callsPerCredit === 0);
80
+ if (!shouldDeduct) {
81
+ // Within current credit block, no network call needed
82
+ return;
83
+ }
84
+ // Wait if another deduction is in progress
85
+ if (this.state === 'deducting') {
86
+ while (this.state === 'deducting') {
87
+ await new Promise(resolve => setTimeout(resolve, 50));
88
+ }
89
+ // Re-check after wait (another call might have deducted)
90
+ if (this.state === 'active')
91
+ return;
92
+ throw new Error('Credit deduction failed');
93
+ }
94
+ if (!this.deviceToken) {
95
+ throw new Error('Authentication required. Run: ai2qa-agent login <token>');
96
+ }
97
+ this.state = 'deducting';
98
+ try {
99
+ const response = await fetch(`${this.apiUrl}/api/v1/agents/session/deduct`, {
100
+ method: 'POST',
101
+ headers: {
102
+ 'Authorization': `Bearer ${this.deviceToken}`,
103
+ 'Content-Type': 'application/json',
104
+ },
105
+ body: JSON.stringify({
106
+ sessionId: this.sessionId, // null on first call, creates new session
107
+ }),
108
+ });
109
+ if (!response.ok) {
110
+ const errorBody = await response.json().catch(() => ({}));
111
+ if (response.status === 402 || errorBody.code === 'INSUFFICIENT_CREDITS') {
112
+ throw new Error('Insufficient credits. Please purchase more at ai2qa.com/pricing');
113
+ }
114
+ if (response.status === 401) {
115
+ throw new Error('Invalid or expired token. Run: ai2qa-agent login <token>');
116
+ }
117
+ throw new Error(errorBody.message ?? errorBody.error ?? `Credit deduction failed: ${response.status}`);
118
+ }
119
+ const data = await response.json();
120
+ this.sessionId = data.sessionId;
121
+ this.creditsRemaining = data.creditsRemaining;
122
+ // Server can adjust callsPerCredit without agent redeployment
123
+ if (data.callsPerCredit && data.callsPerCredit > 0) {
124
+ this.callsPerCredit = data.callsPerCredit;
125
+ }
126
+ this.state = 'active';
127
+ console.error(`[SessionManager] Credit deducted (call #${this.toolCallCount}). Credits remaining: ${this.creditsRemaining}. Calls per credit: ${this.callsPerCredit}`);
128
+ }
129
+ catch (error) {
130
+ // Decrement counter since the call didn't actually succeed
131
+ this.toolCallCount--;
132
+ this.state = this.sessionId ? 'active' : 'idle';
133
+ if (error instanceof TypeError && error.message.includes('fetch')) {
134
+ throw new Error('Cannot reach AI2QA. Please check your internet connection.');
135
+ }
136
+ throw error;
137
+ }
138
+ }
139
+ /**
140
+ * @deprecated Use checkAndDeductCredit() instead. This method is kept for backward compatibility.
141
+ * Start a metered session. Now delegates to checkAndDeductCredit().
142
+ */
143
+ async startSession() {
144
+ await this.checkAndDeductCredit();
145
+ }
146
+ /**
147
+ * Collect memory entry during test execution.
148
+ *
149
+ * @param entry Memory entry to collect
150
+ */
151
+ collectMemory(entry) {
152
+ // Sanitize sensitive data
153
+ const sanitized = {
154
+ tool: entry.tool,
155
+ success: entry.success,
156
+ timestamp: entry.timestamp,
157
+ };
158
+ // Only include domain if it looks like a domain (no paths, no credentials)
159
+ if (entry.domain) {
160
+ const domain = this.extractDomain(entry.domain);
161
+ if (domain) {
162
+ sanitized.domain = domain;
163
+ }
164
+ }
165
+ // Include non-sensitive selector info
166
+ if (entry.selectorUsed && !this.containsSensitiveData(entry.selectorUsed)) {
167
+ sanitized.selectorUsed = entry.selectorUsed;
168
+ }
169
+ // Include timing
170
+ if (entry.durationMs != null) {
171
+ sanitized.durationMs = entry.durationMs;
172
+ }
173
+ // Include error message (truncated)
174
+ if (entry.errorMessage) {
175
+ sanitized.errorMessage = entry.errorMessage.substring(0, 200);
176
+ }
177
+ this.collectedMemory.push(sanitized);
178
+ }
179
+ /**
180
+ * End the session and upload collected memory.
181
+ * Called on SIGINT/SIGTERM or explicit disconnect.
182
+ */
183
+ async endSession() {
184
+ if (!this.meteringEnabled) {
185
+ this.state = 'ended';
186
+ return;
187
+ }
188
+ if (this.state !== 'active' || !this.sessionId) {
189
+ this.state = 'ended';
190
+ return;
191
+ }
192
+ this.state = 'ending';
193
+ try {
194
+ await fetch(`${this.apiUrl}/api/v1/agents/session/end`, {
195
+ method: 'POST',
196
+ headers: {
197
+ 'Authorization': `Bearer ${this.deviceToken}`,
198
+ 'Content-Type': 'application/json',
199
+ },
200
+ body: JSON.stringify({
201
+ sessionId: this.sessionId,
202
+ memory: this.collectedMemory,
203
+ totalToolCalls: this.toolCallCount,
204
+ }),
205
+ });
206
+ console.error(`[SessionManager] Session ended. Total tool calls: ${this.toolCallCount}. Uploaded ${this.collectedMemory.length} memory entries.`);
207
+ }
208
+ catch (error) {
209
+ console.error('[SessionManager] Failed to end session:', error);
210
+ }
211
+ finally {
212
+ this.state = 'ended';
213
+ this.sessionId = null;
214
+ this.collectedMemory = [];
215
+ this.toolCallCount = 0;
216
+ }
217
+ }
218
+ /**
219
+ * Check if session is active.
220
+ */
221
+ isActive() {
222
+ return this.state === 'active';
223
+ }
224
+ /**
225
+ * Get current session ID.
226
+ */
227
+ getSessionId() {
228
+ return this.sessionId;
229
+ }
230
+ /**
231
+ * Get remaining credits (only valid after first deduction).
232
+ */
233
+ getCreditsRemaining() {
234
+ return this.creditsRemaining;
235
+ }
236
+ /**
237
+ * Get total tool calls in this session.
238
+ */
239
+ getToolCallCount() {
240
+ return this.toolCallCount;
241
+ }
242
+ /**
243
+ * Get current calls-per-credit setting (received from server).
244
+ */
245
+ getCallsPerCredit() {
246
+ return this.callsPerCredit;
247
+ }
248
+ /**
249
+ * Check if metering is enabled.
250
+ */
251
+ isMeteringEnabled() {
252
+ return this.meteringEnabled;
253
+ }
254
+ // ==================== Helper Methods ====================
255
+ /**
256
+ * Extract domain from URL or string.
257
+ */
258
+ extractDomain(input) {
259
+ try {
260
+ // Try parsing as URL
261
+ const url = new URL(input);
262
+ return url.hostname;
263
+ }
264
+ catch {
265
+ // Check if it looks like a domain
266
+ if (/^[a-zA-Z0-9][a-zA-Z0-9-_.]+\.[a-zA-Z]{2,}$/.test(input)) {
267
+ return input;
268
+ }
269
+ return null;
270
+ }
271
+ }
272
+ /**
273
+ * Check if a string contains potentially sensitive data.
274
+ */
275
+ containsSensitiveData(value) {
276
+ const lowerValue = value.toLowerCase();
277
+ const sensitivePatterns = [
278
+ 'password', 'passwd', 'secret', 'token', 'api_key', 'apikey',
279
+ 'authorization', 'auth', 'credential', 'ssn', 'social_security',
280
+ 'credit_card', 'card_number', 'cvv', 'pin',
281
+ ];
282
+ return sensitivePatterns.some(pattern => lowerValue.includes(pattern));
283
+ }
284
+ }
285
+ exports.SessionManager = SessionManager;
286
+ /**
287
+ * Singleton instance for global session management.
288
+ */
289
+ let sessionManager = null;
290
+ /**
291
+ * Initialize the session manager.
292
+ *
293
+ * @param meteringEnabled Whether to enable session-based metering
294
+ */
295
+ function initSessionManager(meteringEnabled = false) {
296
+ if (!sessionManager) {
297
+ sessionManager = new SessionManager(meteringEnabled);
298
+ }
299
+ return sessionManager;
300
+ }
301
+ /**
302
+ * Get the session manager instance.
303
+ */
304
+ function getSessionManager() {
305
+ return sessionManager;
306
+ }
307
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai2qa/local-agent",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",