@memograph/cli 0.1.9 → 1.0.1

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.js CHANGED
@@ -6,18 +6,23 @@ const commander_1 = require("commander");
6
6
  const load_js_1 = require("./core/load.js");
7
7
  const inspect_js_1 = require("./core/inspect.js");
8
8
  const render_js_1 = require("./core/render.js");
9
+ const progress_js_1 = require("./core/progress.js");
9
10
  const index_js_1 = require("./interactive/index.js");
10
11
  const program = new commander_1.Command();
11
12
  program
12
13
  .name('memograph')
13
14
  .version('0.1.0')
14
- .description('LLM-powered CLI tool for analyzing conversation transcripts and detecting memory drift');
15
+ .description('CLI tool for analyzing conversation transcripts and detecting memory drift');
15
16
  program
16
17
  .command('inspect')
17
- .description('Analyze a transcript for drift and repetition using LLM-based semantic analysis')
18
+ .description('Analyze a transcript for drift and repetition')
18
19
  .requiredOption('-i, --input <path>', 'path to transcript JSON file')
19
20
  .option('--json', 'output JSON (machine-readable)', false)
20
21
  .option('--max-messages <n>', 'cap number of messages processed', (val) => parseInt(val, 10), 2000)
22
+ .option('--analyze-mode <mode>', 'analysis mode: hosted or llm')
23
+ .option('--api-url <url>', 'Hosted analyze API URL')
24
+ .option('--api-timeout-ms <ms>', 'Hosted analyze API timeout in milliseconds', (val) => parseInt(val, 10))
25
+ .option('--api-retries <n>', 'Hosted analyze API retry count', (val) => parseInt(val, 10))
21
26
  .option('--llm-provider <provider>', 'LLM provider: openai or anthropic', 'openai')
22
27
  .option('--llm-model <model>', 'LLM model to use (e.g., gpt-4o-mini, claude-3-5-sonnet-20241022)')
23
28
  .option('--llm-api-key <key>', 'LLM API key (or set OPENAI_API_KEY or ANTHROPIC_API_KEY env var)')
@@ -26,22 +31,64 @@ program
26
31
  .option('--llm-max-tokens <tokens>', 'Maximum tokens for LLM response', (val) => parseInt(val, 10), 4096)
27
32
  .action(async (options) => {
28
33
  try {
34
+ const analyzeMode = options.analyzeMode || process.env.MEMOGRAPH_ANALYZE_MODE || 'hosted';
35
+ const llmFlagsUsed = options.llmModel ||
36
+ options.llmApiKey ||
37
+ options.llmBaseUrl ||
38
+ options.llmTemperature !== 0.3 ||
39
+ options.llmMaxTokens !== 4096 ||
40
+ options.llmProvider !== 'openai';
41
+ if (analyzeMode !== 'llm' && llmFlagsUsed) {
42
+ console.warn('Warning: LLM flags are ignored unless --analyze-mode llm is used.');
43
+ }
29
44
  // Load transcript
30
45
  const transcript = await (0, load_js_1.loadTranscript)(options.input, options.maxMessages);
31
- // Build inspection config (LLM-only mode)
46
+ // Build inspection config (hosted by default, llm via feature flag)
32
47
  const config = {
48
+ analyzeMode,
33
49
  max_messages: options.maxMessages,
34
- llm: {
50
+ apiUrl: options.apiUrl,
51
+ apiTimeoutMs: options.apiTimeoutMs,
52
+ apiRetries: options.apiRetries,
53
+ };
54
+ if (analyzeMode === 'llm') {
55
+ config.llm = {
35
56
  provider: options.llmProvider,
36
57
  apiKey: options.llmApiKey,
37
58
  model: options.llmModel,
38
59
  temperature: options.llmTemperature,
39
60
  maxTokens: options.llmMaxTokens,
40
61
  baseUrl: options.llmBaseUrl,
41
- },
42
- };
43
- // Run inspection (LLM-based, async)
44
- const result = await (0, inspect_js_1.inspectTranscript)(transcript, config);
62
+ };
63
+ }
64
+ // Run inspection with progress for human-readable mode
65
+ const progress = options.json
66
+ ? null
67
+ : (0, progress_js_1.createProgressIndicator)(analyzeMode === 'hosted'
68
+ ? 'Sending transcript to Analyze API'
69
+ : 'Extracting facts with AI model', {
70
+ output: process.stderr,
71
+ messages: analyzeMode === 'hosted'
72
+ ? [
73
+ 'Sending transcript to Analyze API',
74
+ 'Waiting for hosted analysis',
75
+ 'Preparing drift report',
76
+ ]
77
+ : [
78
+ 'Extracting facts with AI model',
79
+ 'Detecting drift patterns',
80
+ 'Scoring conversation quality',
81
+ ],
82
+ });
83
+ let result;
84
+ try {
85
+ result = await (0, inspect_js_1.inspectTranscript)(transcript, config);
86
+ progress?.succeed('Analysis complete');
87
+ }
88
+ catch (error) {
89
+ progress?.fail('Analysis failed');
90
+ throw error;
91
+ }
45
92
  // Render output
46
93
  const output = options.json
47
94
  ? (0, render_js_1.renderJsonReport)(result)
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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"}
@@ -0,0 +1,4 @@
1
+ import { InspectResult, Transcript } from '../types.js';
2
+ import { HostedAnalyzeOptions } from './types.js';
3
+ export declare function analyzeTranscriptHosted(transcript: Transcript, options?: HostedAnalyzeOptions): Promise<InspectResult>;
4
+ //# sourceMappingURL=analyze-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-client.d.ts","sourceRoot":"","sources":["../../../src/core/hosted/analyze-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAEL,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AA4GpB,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,aAAa,CAAC,CAmBxB"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeTranscriptHosted = analyzeTranscriptHosted;
4
+ const DEFAULT_API_URL = 'http://localhost:8080/api/v1/analyze';
5
+ const DEFAULT_TIMEOUT_MS = 30000;
6
+ const DEFAULT_RETRIES = 1;
7
+ const RETRYABLE_STATUS = new Set([429, 500, 502, 503, 504]);
8
+ function sleep(ms) {
9
+ return new Promise((resolve) => setTimeout(resolve, ms));
10
+ }
11
+ function isObject(value) {
12
+ return typeof value === 'object' && value !== null;
13
+ }
14
+ function isInspectResult(value) {
15
+ if (!isObject(value))
16
+ return false;
17
+ return (typeof value.drift_score === 'number' &&
18
+ typeof value.raw_score === 'number' &&
19
+ typeof value.token_waste_pct === 'number' &&
20
+ Array.isArray(value.events) &&
21
+ Array.isArray(value.should_have_been_memory) &&
22
+ isObject(value.timings_ms));
23
+ }
24
+ function formatHttpError(status, body) {
25
+ const requestId = body?.error?.request_id ? ` [request_id=${body.error.request_id}]` : '';
26
+ const messageFromBody = body?.error?.message;
27
+ if (status === 400)
28
+ return `Transcript format invalid.${requestId}`;
29
+ if (status === 413)
30
+ return `Transcript too large. Reduce input size.${requestId}`;
31
+ if (status === 429)
32
+ return `Rate limit reached. Retry later.${requestId}`;
33
+ if (status >= 500)
34
+ return `Analyze service unavailable.${requestId}`;
35
+ if (messageFromBody)
36
+ return `${messageFromBody}${requestId}`;
37
+ return `Analyze API request failed with status ${status}.${requestId}`;
38
+ }
39
+ async function callHostedApi(payload, options, attempt) {
40
+ const controller = new AbortController();
41
+ const timeout = setTimeout(() => controller.abort(), options.timeoutMs);
42
+ try {
43
+ const clientVersion = payload.client?.version || '0.0.0';
44
+ const response = await fetch(options.apiUrl, {
45
+ method: 'POST',
46
+ headers: {
47
+ 'Content-Type': 'application/json',
48
+ 'User-Agent': `memograph-cli/${clientVersion}`,
49
+ },
50
+ body: JSON.stringify(payload),
51
+ signal: controller.signal,
52
+ });
53
+ if (!response.ok) {
54
+ let errorBody = null;
55
+ try {
56
+ errorBody = (await response.json());
57
+ }
58
+ catch {
59
+ errorBody = null;
60
+ }
61
+ const retryable = RETRYABLE_STATUS.has(response.status) && attempt < options.retries;
62
+ if (retryable) {
63
+ const retryAfter = response.headers.get('retry-after');
64
+ const retryAfterSeconds = retryAfter ? Number(retryAfter) : NaN;
65
+ const delayMs = Number.isFinite(retryAfterSeconds) ? retryAfterSeconds * 1000 : 500;
66
+ await sleep(delayMs);
67
+ return callHostedApi(payload, options, attempt + 1);
68
+ }
69
+ throw new Error(formatHttpError(response.status, errorBody));
70
+ }
71
+ const data = (await response.json());
72
+ if (!isInspectResult(data)) {
73
+ throw new Error('Invalid API response.');
74
+ }
75
+ return data;
76
+ }
77
+ catch (error) {
78
+ if (error instanceof Error && error.name === 'AbortError') {
79
+ const retryable = attempt < options.retries;
80
+ if (retryable) {
81
+ await sleep(500);
82
+ return callHostedApi(payload, options, attempt + 1);
83
+ }
84
+ throw new Error('Analyze API timed out. Try again.');
85
+ }
86
+ const retryable = attempt < options.retries;
87
+ if (retryable) {
88
+ await sleep(500);
89
+ return callHostedApi(payload, options, attempt + 1);
90
+ }
91
+ const message = error instanceof Error ? error.message : String(error);
92
+ throw new Error(`Cannot reach analyze API. ${message}`);
93
+ }
94
+ finally {
95
+ clearTimeout(timeout);
96
+ }
97
+ }
98
+ async function analyzeTranscriptHosted(transcript, options = {}) {
99
+ const apiUrl = options.apiUrl || process.env.MEMOGRAPH_ANALYZE_API_URL || DEFAULT_API_URL;
100
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
101
+ const retries = options.retries ?? DEFAULT_RETRIES;
102
+ const payload = {
103
+ schema_version: transcript.schema_version || '1.0',
104
+ messages: transcript.messages,
105
+ ...(transcript.raw_text ? { raw_text: transcript.raw_text } : {}),
106
+ options: {
107
+ max_messages: options.maxMessages,
108
+ },
109
+ client: {
110
+ name: options.clientName || 'memograph-cli',
111
+ ...(options.clientVersion ? { version: options.clientVersion } : {}),
112
+ },
113
+ };
114
+ return callHostedApi(payload, { apiUrl, timeoutMs, retries }, 0);
115
+ }
116
+ //# sourceMappingURL=analyze-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-client.js","sourceRoot":"","sources":["../../../src/core/hosted/analyze-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { InspectResult, Transcript } from '../types.js';
2
+ export interface HostedAnalyzeRequest {
3
+ schema_version: string;
4
+ messages: Transcript['messages'];
5
+ raw_text?: string;
6
+ options?: {
7
+ max_messages?: number;
8
+ };
9
+ client?: {
10
+ name: string;
11
+ version?: string;
12
+ };
13
+ }
14
+ export interface HostedAnalyzeErrorBody {
15
+ error?: {
16
+ code?: string;
17
+ message?: string;
18
+ request_id?: string;
19
+ retryable?: boolean;
20
+ };
21
+ }
22
+ export interface HostedAnalyzeOptions {
23
+ apiUrl?: string;
24
+ timeoutMs?: number;
25
+ retries?: number;
26
+ maxMessages?: number;
27
+ clientName?: string;
28
+ clientVersion?: string;
29
+ }
30
+ export type HostedAnalyzeResponse = InspectResult;
31
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/hosted/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/hosted/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/core/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAW,MAAM,YAAY,CAAC;AAM/E;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,MAAM,GAAE,aAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,CA+FxB"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/core/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAW,MAAM,YAAY,CAAC;AAqB/E;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,MAAM,GAAE,aAAkB,GACzB,OAAO,CAAC,aAAa,CAAC,CAgHxB"}
@@ -5,17 +5,43 @@ const score_js_1 = require("./score.js");
5
5
  const client_js_1 = require("./llm/client.js");
6
6
  const extract_llm_js_1 = require("./llm/extract-llm.js");
7
7
  const detect_llm_js_1 = require("./llm/detect-llm.js");
8
+ const analyze_client_js_1 = require("./hosted/analyze-client.js");
9
+ function resolveAnalyzeMode(config) {
10
+ if (config.analyzeMode) {
11
+ return config.analyzeMode;
12
+ }
13
+ const envMode = process.env.MEMOGRAPH_ANALYZE_MODE;
14
+ if (envMode === 'llm') {
15
+ return 'llm';
16
+ }
17
+ if (config.llm) {
18
+ return 'llm';
19
+ }
20
+ return 'hosted';
21
+ }
8
22
  /**
9
23
  * Main inspection pipeline (LLM-based)
10
24
  * Uses AI models for semantic understanding of drift patterns
11
25
  */
12
26
  async function inspectTranscript(transcript, config = {}) {
27
+ const mode = resolveAnalyzeMode(config);
13
28
  const { messages } = transcript;
14
29
  const rawText = transcript.raw_text;
15
30
  // Cap messages if configured
16
31
  const cappedMessages = config.max_messages
17
32
  ? messages.slice(0, config.max_messages)
18
33
  : messages;
34
+ if (mode === 'hosted') {
35
+ return (0, analyze_client_js_1.analyzeTranscriptHosted)({
36
+ ...transcript,
37
+ messages: cappedMessages,
38
+ }, {
39
+ apiUrl: config.apiUrl,
40
+ timeoutMs: config.apiTimeoutMs,
41
+ retries: config.apiRetries,
42
+ maxMessages: config.max_messages,
43
+ });
44
+ }
19
45
  // Create LLM client
20
46
  const llmConfig = config.llm || {};
21
47
  const llmClient = (0, client_js_1.createLLMClient)(llmConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/core/inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/core/inspect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface ProgressIndicator {
2
+ update(nextMessage: string): void;
3
+ succeed(doneMessage?: string): number;
4
+ fail(errorMessage?: string): number;
5
+ }
6
+ interface ProgressOptions {
7
+ output?: NodeJS.WriteStream;
8
+ intervalMs?: number;
9
+ frames?: string[];
10
+ messages?: string[];
11
+ }
12
+ export declare function createProgressIndicator(initialMessage: string, options?: ProgressOptions): ProgressIndicator;
13
+ export {};
14
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/core/progress.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC;AAED,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAKD,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,eAAoB,GAC5B,iBAAiB,CA6EnB"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProgressIndicator = createProgressIndicator;
4
+ const DEFAULT_FRAMES = ['-', '\\', '|', '/'];
5
+ const DEFAULT_MESSAGES = ['Analyzing transcript', 'Extracting signals', 'Detecting drift patterns'];
6
+ function createProgressIndicator(initialMessage, options = {}) {
7
+ const output = options.output || process.stdout;
8
+ const frames = options.frames && options.frames.length > 0 ? options.frames : DEFAULT_FRAMES;
9
+ const rotatingMessages = options.messages && options.messages.length > 0 ? options.messages : DEFAULT_MESSAGES;
10
+ const intervalMs = options.intervalMs ?? 120;
11
+ const useAnimation = Boolean(output.isTTY);
12
+ const startedAt = Date.now();
13
+ let frameIndex = 0;
14
+ let messageIndex = 0;
15
+ let message = initialMessage;
16
+ let timer = null;
17
+ let active = true;
18
+ const writeLine = (line) => {
19
+ output.write(line);
20
+ };
21
+ const render = () => {
22
+ if (!active)
23
+ return;
24
+ const elapsedSeconds = ((Date.now() - startedAt) / 1000).toFixed(1);
25
+ const frame = frames[frameIndex % frames.length] || '-';
26
+ frameIndex += 1;
27
+ writeLine(`\r${frame} ${message} (${elapsedSeconds}s)`);
28
+ };
29
+ const stop = (symbol, finalMessage) => {
30
+ if (!active) {
31
+ return Date.now() - startedAt;
32
+ }
33
+ active = false;
34
+ if (timer) {
35
+ clearInterval(timer);
36
+ timer = null;
37
+ }
38
+ const elapsedMs = Date.now() - startedAt;
39
+ const elapsedSeconds = (elapsedMs / 1000).toFixed(1);
40
+ if (useAnimation) {
41
+ writeLine(`\r${symbol} ${finalMessage} (${elapsedSeconds}s)\n`);
42
+ }
43
+ else {
44
+ writeLine(`${symbol} ${finalMessage} (${elapsedSeconds}s)\n`);
45
+ }
46
+ return elapsedMs;
47
+ };
48
+ if (useAnimation) {
49
+ render();
50
+ timer = setInterval(() => {
51
+ if (!active)
52
+ return;
53
+ if (frameIndex % 10 === 0) {
54
+ messageIndex = (messageIndex + 1) % rotatingMessages.length;
55
+ message = rotatingMessages[messageIndex] || message;
56
+ }
57
+ render();
58
+ }, intervalMs);
59
+ }
60
+ else {
61
+ writeLine(`${initialMessage}...\n`);
62
+ }
63
+ return {
64
+ update(nextMessage) {
65
+ if (!active)
66
+ return;
67
+ message = nextMessage;
68
+ if (useAnimation) {
69
+ render();
70
+ }
71
+ else {
72
+ writeLine(`${nextMessage}...\n`);
73
+ }
74
+ },
75
+ succeed(doneMessage = 'Analysis complete') {
76
+ return stop('OK', doneMessage);
77
+ },
78
+ fail(errorMessage = 'Analysis failed') {
79
+ return stop('X', errorMessage);
80
+ },
81
+ };
82
+ }
83
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/core/progress.ts"],"names":[],"mappings":";;AAgBA,0DAgFC;AAnFD,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7C,MAAM,gBAAgB,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;AAEpG,SAAgB,uBAAuB,CACrC,cAAsB,EACtB,UAA2B,EAAE;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC7F,MAAM,gBAAgB,GACpB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACxF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,IAAI,KAAK,GAA0B,IAAI,CAAC;IACxC,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;QACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QACxD,UAAU,IAAI,CAAC,CAAC;QAChB,SAAS,CAAC,KAAK,KAAK,IAAI,OAAO,KAAK,cAAc,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,YAAoB,EAAE,EAAE;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,MAAM,GAAG,KAAK,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACzC,MAAM,cAAc,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,YAAY,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,MAAM,IAAI,YAAY,KAAK,cAAc,MAAM,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,MAAM,IAAI,YAAY,KAAK,cAAc,MAAM,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,CAAC;QACT,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YACvB,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,IAAI,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC1B,YAAY,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC5D,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC;YACtD,CAAC;YACD,MAAM,EAAE,CAAC;QACX,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,GAAG,cAAc,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,MAAM,CAAC,WAAmB;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,OAAO,GAAG,WAAW,CAAC;YACtB,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,WAAW,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,WAAW,GAAG,mBAAmB;YACvC,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,iBAAiB;YACnC,OAAO,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -147,8 +147,16 @@ export interface InspectResult {
147
147
  * Configuration options for inspection (LLM-only)
148
148
  */
149
149
  export interface InspectConfig {
150
+ /** Analyze execution mode */
151
+ analyzeMode?: 'hosted' | 'llm';
150
152
  /** Maximum number of messages to process */
151
153
  max_messages?: number;
154
+ /** Hosted analyze API base URL */
155
+ apiUrl?: string;
156
+ /** Hosted analyze API request timeout (ms) */
157
+ apiTimeoutMs?: number;
158
+ /** Hosted analyze API retries */
159
+ apiRetries?: number;
152
160
  /** LLM configuration (required for LLM-based analysis) */
153
161
  llm?: {
154
162
  provider?: LLMProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,IAAI,EAAE,eAAe,CAAC;IACtB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,IAAI,EAAE,eAAe,CAAC;IACtB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,YAAY,GACZ,mBAAmB,GACnB,aAAa,CAAC;AAElB;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,4BAA4B;IAC5B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,6CAA6C;IAC7C,uBAAuB,EAAE,aAAa,EAAE,CAAC;IACzC,+BAA+B;IAC/B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE,WAAW,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ export {} from './cli.js';
3
+ import './cli.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ require("./cli.js");
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,oBAAkB"}
@@ -5,6 +5,12 @@
5
5
  import * as readline from 'readline';
6
6
  import type { LLMProvider } from '../core/llm/providers.js';
7
7
  export interface Settings {
8
+ analyzeMode: 'hosted' | 'llm';
9
+ api: {
10
+ url: string;
11
+ timeoutMs: number;
12
+ retries: number;
13
+ };
8
14
  llm: {
9
15
  provider: LLMProvider;
10
16
  model: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interactive/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAKrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK5D,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE;QACH,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAoJD;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB3C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAa3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,uBAKvB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,uBAM/B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsClE;AAED;;GAEG;AACH,wBAAgB,eAAe,SAS9B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,qBAsBrC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B7E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6D3D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBxE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,SAAI,EACjB,cAAc,UAAQ,GACrB,OAAO,CAAC,MAAM,CAAC,CA6FjB;AA0CD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,QAejD;AAsRD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interactive/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAMrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK5D,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC9B,GAAG,EAAE;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,GAAG,EAAE;QACH,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAoJD;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB3C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAa3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,uBAKvB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,uBAM/B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsClE;AAED;;GAEG;AACH,wBAAgB,eAAe,SAS9B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,qBAsBrC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B7E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6D3D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBxE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,SAAI,EACjB,cAAc,UAAQ,GACrB,OAAO,CAAC,MAAM,CAAC,CA6FjB;AA4ED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,QAsBjD;AAsbD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC3E"}