@memograph/cli 0.1.9 → 1.0.0
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 +55 -8
- package/dist/cli.js.map +1 -1
- package/dist/core/hosted/analyze-client.d.ts +4 -0
- package/dist/core/hosted/analyze-client.d.ts.map +1 -0
- package/dist/core/hosted/analyze-client.js +116 -0
- package/dist/core/hosted/analyze-client.js.map +1 -0
- package/dist/core/hosted/types.d.ts +31 -0
- package/dist/core/hosted/types.d.ts.map +1 -0
- package/dist/core/hosted/types.js +3 -0
- package/dist/core/hosted/types.js.map +1 -0
- package/dist/core/inspect.d.ts.map +1 -1
- package/dist/core/inspect.js +26 -0
- package/dist/core/inspect.js.map +1 -1
- package/dist/core/progress.d.ts +14 -0
- package/dist/core/progress.d.ts.map +1 -0
- package/dist/core/progress.js +83 -0
- package/dist/core/progress.js.map +1 -0
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/interactive/index.d.ts +6 -0
- package/dist/interactive/index.d.ts.map +1 -1
- package/dist/interactive/index.js +338 -149
- package/dist/interactive/index.js.map +1 -1
- package/dist/interactive/settings.d.ts +11 -0
- package/dist/interactive/settings.d.ts.map +1 -1
- package/dist/interactive/settings.js +67 -7
- package/dist/interactive/settings.js.map +1 -1
- package/package.json +1 -1
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('
|
|
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
|
|
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 (
|
|
46
|
+
// Build inspection config (hosted by default, llm via feature flag)
|
|
32
47
|
const config = {
|
|
48
|
+
analyzeMode,
|
|
33
49
|
max_messages: options.maxMessages,
|
|
34
|
-
|
|
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
|
|
44
|
-
const
|
|
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":";;;AAEA,yBAAuB;AACvB,yCAAoC;AACpC,4CAAgD;AAChD,kDAAsD;AACtD,gDAAsE;AACtE,qDAA4D;AAE5D,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,
|
|
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 @@
|
|
|
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;
|
|
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"}
|
package/dist/core/inspect.js
CHANGED
|
@@ -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);
|
package/dist/core/inspect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/core/inspect.ts"],"names":[],"mappings":";;
|
|
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":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -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;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|