@channelfactory/cliend 0.7.1 → 0.7.3
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/src/core/context-builder.d.ts.map +1 -1
- package/dist/src/core/context-builder.js +1 -0
- package/dist/src/core/context-builder.js.map +1 -1
- package/dist/src/tools/tool-executor.d.ts +2 -0
- package/dist/src/tools/tool-executor.d.ts.map +1 -1
- package/dist/src/tools/tool-executor.js +58 -1
- package/dist/src/tools/tool-executor.js.map +1 -1
- package/dist/src/ui/output-formatter.d.ts.map +1 -1
- package/dist/src/ui/output-formatter.js +44 -2
- package/dist/src/ui/output-formatter.js.map +1 -1
- package/dist/src/ui/welcome.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../src/core/context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,cAAc;IACzB,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB;
|
|
1
|
+
{"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../src/core/context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,cAAc;IACzB,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB;CA8DtG"}
|
|
@@ -5,6 +5,7 @@ export class ContextBuilder {
|
|
|
5
5
|
parts.push('You are an expert software developer working inside a project directory. You have filesystem tools available and should use them proactively.');
|
|
6
6
|
parts.push('When the user asks about code, the project, or anything that could be answered by looking at files — USE YOUR TOOLS. Read files, list directories, search code. Do not guess or say you cannot access files.');
|
|
7
7
|
parts.push('Always read a file before editing it. Use edit_file for surgical changes instead of rewriting entire files.');
|
|
8
|
+
parts.push('NEVER read or access .env files, credentials, secrets, tokens, encryption keys, or any sensitive configuration. Do not attempt to decrypt, decode, or extract credentials. Do not use run_command to access secrets indirectly.');
|
|
8
9
|
parts.push(`Project root: ${session.meta.directory}`);
|
|
9
10
|
}
|
|
10
11
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../../src/core/context-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../../src/core/context-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export interface ToolResult {
|
|
|
5
5
|
export declare class ToolExecutor {
|
|
6
6
|
private readonly cwd;
|
|
7
7
|
constructor(cwd: string);
|
|
8
|
+
private isSensitivePath;
|
|
9
|
+
private isBlockedCommand;
|
|
8
10
|
execute(toolName: string, input: Record<string, unknown>): Promise<ToolResult>;
|
|
9
11
|
private resolveSafe;
|
|
10
12
|
private readFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAyCD,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAExC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,gBAAgB;IAIlB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAmBpF,OAAO,CAAC,WAAW;YAQL,QAAQ;YAoBR,SAAS;YAcT,QAAQ;YAwBR,aAAa;YAWb,WAAW;YAwDX,YAAY;YAgBZ,UAAU;CA0BzB"}
|
|
@@ -1,12 +1,57 @@
|
|
|
1
1
|
import { readFile, writeFile, readdir, mkdir, stat } from 'node:fs/promises';
|
|
2
|
-
import { resolve, relative, dirname } from 'node:path';
|
|
2
|
+
import { resolve, relative, dirname, basename } from 'node:path';
|
|
3
3
|
import { exec } from 'node:child_process';
|
|
4
4
|
import { glob } from 'node:fs/promises';
|
|
5
|
+
// Files that should never be read or written by the AI
|
|
6
|
+
const SENSITIVE_FILE_PATTERNS = [
|
|
7
|
+
/\.env($|\.)/, // .env, .env.local, .env.production, etc.
|
|
8
|
+
/credentials/i, // credentials.json, credentials.enc, etc.
|
|
9
|
+
/\.enc$/, // any encrypted file
|
|
10
|
+
/\.pem$/, // certificates/keys
|
|
11
|
+
/\.key$/, // private keys
|
|
12
|
+
/\.p12$/, // PKCS12 keystores
|
|
13
|
+
/id_rsa/, // SSH keys
|
|
14
|
+
/id_ed25519/, // SSH keys
|
|
15
|
+
/\.ssh\//, // SSH directory
|
|
16
|
+
/secret/i, // secrets.json, etc.
|
|
17
|
+
/token/i, // token.json, tokens.enc, etc.
|
|
18
|
+
/\.npmrc$/, // npm auth tokens
|
|
19
|
+
/\.netrc$/, // network credentials
|
|
20
|
+
/\.docker\/config\.json/, // Docker auth
|
|
21
|
+
];
|
|
22
|
+
// Command patterns that should never be executed
|
|
23
|
+
const BLOCKED_COMMAND_PATTERNS = [
|
|
24
|
+
/curl\s.*(-H|--header)\s.*([Aa]uthoriz|[Bb]earer|[Tt]oken)/, // curl with auth headers
|
|
25
|
+
/wget\s.*--header.*([Aa]uthoriz|[Bb]earer|[Tt]oken)/, // wget with auth headers
|
|
26
|
+
/credentials\.enc/, // accessing encrypted credentials
|
|
27
|
+
/keytar/, // accessing OS keychain
|
|
28
|
+
/security\s+(find|delete|add)-/, // macOS Keychain Access
|
|
29
|
+
/cat\s+.*\.env/, // cat .env files
|
|
30
|
+
/cat\s+.*\.pem/, // cat key files
|
|
31
|
+
/cat\s+.*\.key/, // cat key files
|
|
32
|
+
/cat\s+.*secret/i, // cat secrets
|
|
33
|
+
/cat\s+.*credential/i, // cat credentials
|
|
34
|
+
/cat\s+.*token/i, // cat token files
|
|
35
|
+
/cat\s+.*\.enc/, // cat encrypted files
|
|
36
|
+
/createDecipheriv|createDecipher/, // decryption in inline scripts
|
|
37
|
+
/scryptSync|pbkdf2/, // key derivation in inline scripts
|
|
38
|
+
/process\.env\./, // accessing env vars in scripts
|
|
39
|
+
/source\s+.*\.env/, // sourcing env files
|
|
40
|
+
/export\s+.*(?:KEY|SECRET|TOKEN|PASSWORD|CREDENTIAL)/i, // exporting secrets
|
|
41
|
+
];
|
|
5
42
|
export class ToolExecutor {
|
|
6
43
|
cwd;
|
|
7
44
|
constructor(cwd) {
|
|
8
45
|
this.cwd = cwd;
|
|
9
46
|
}
|
|
47
|
+
isSensitivePath(filePath) {
|
|
48
|
+
const name = basename(filePath);
|
|
49
|
+
const full = filePath;
|
|
50
|
+
return SENSITIVE_FILE_PATTERNS.some((p) => p.test(name) || p.test(full));
|
|
51
|
+
}
|
|
52
|
+
isBlockedCommand(command) {
|
|
53
|
+
return BLOCKED_COMMAND_PATTERNS.some((p) => p.test(command));
|
|
54
|
+
}
|
|
10
55
|
async execute(toolName, input) {
|
|
11
56
|
switch (toolName) {
|
|
12
57
|
case 'read_file':
|
|
@@ -34,6 +79,9 @@ export class ToolExecutor {
|
|
|
34
79
|
}
|
|
35
80
|
async readFile(filePath) {
|
|
36
81
|
try {
|
|
82
|
+
if (this.isSensitivePath(filePath)) {
|
|
83
|
+
return { content: `Blocked: "${filePath}" is a sensitive file and cannot be read`, isError: true };
|
|
84
|
+
}
|
|
37
85
|
const resolved = this.resolveSafe(filePath);
|
|
38
86
|
const content = await readFile(resolved, 'utf-8');
|
|
39
87
|
const MAX_SIZE = 100 * 1024;
|
|
@@ -51,6 +99,9 @@ export class ToolExecutor {
|
|
|
51
99
|
}
|
|
52
100
|
async writeFile(filePath, content) {
|
|
53
101
|
try {
|
|
102
|
+
if (this.isSensitivePath(filePath)) {
|
|
103
|
+
return { content: `Blocked: "${filePath}" is a sensitive file and cannot be written`, isError: true };
|
|
104
|
+
}
|
|
54
105
|
const resolved = this.resolveSafe(filePath);
|
|
55
106
|
await mkdir(dirname(resolved), { recursive: true });
|
|
56
107
|
await writeFile(resolved, content, 'utf-8');
|
|
@@ -62,6 +113,9 @@ export class ToolExecutor {
|
|
|
62
113
|
}
|
|
63
114
|
async editFile(filePath, oldString, newString) {
|
|
64
115
|
try {
|
|
116
|
+
if (this.isSensitivePath(filePath)) {
|
|
117
|
+
return { content: `Blocked: "${filePath}" is a sensitive file and cannot be edited`, isError: true };
|
|
118
|
+
}
|
|
65
119
|
const resolved = this.resolveSafe(filePath);
|
|
66
120
|
const content = await readFile(resolved, 'utf-8');
|
|
67
121
|
const occurrences = content.split(oldString).length - 1;
|
|
@@ -164,6 +218,9 @@ export class ToolExecutor {
|
|
|
164
218
|
return files;
|
|
165
219
|
}
|
|
166
220
|
async runCommand(command, timeoutMs) {
|
|
221
|
+
if (this.isBlockedCommand(command)) {
|
|
222
|
+
return { content: 'Blocked: this command accesses secrets, credentials, or sensitive data', isError: true };
|
|
223
|
+
}
|
|
167
224
|
const timeout = Math.min(timeoutMs || 30_000, 120_000);
|
|
168
225
|
return new Promise((resolve) => {
|
|
169
226
|
const child = exec(command, { cwd: this.cwd, timeout, maxBuffer: 1024 * 1024 }, (error, stdout, stderr) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAOxC,uDAAuD;AACvD,MAAM,uBAAuB,GAAG;IAC9B,aAAa,EAAY,0CAA0C;IACnE,cAAc,EAAW,0CAA0C;IACnE,QAAQ,EAAiB,qBAAqB;IAC9C,QAAQ,EAAiB,oBAAoB;IAC7C,QAAQ,EAAiB,eAAe;IACxC,QAAQ,EAAiB,mBAAmB;IAC5C,QAAQ,EAAiB,WAAW;IACpC,YAAY,EAAa,WAAW;IACpC,SAAS,EAAgB,gBAAgB;IACzC,SAAS,EAAgB,qBAAqB;IAC9C,QAAQ,EAAiB,+BAA+B;IACxD,UAAU,EAAe,kBAAkB;IAC3C,UAAU,EAAe,sBAAsB;IAC/C,wBAAwB,EAAE,cAAc;CACzC,CAAC;AAEF,iDAAiD;AACjD,MAAM,wBAAwB,GAAG;IAC/B,2DAA2D,EAAG,yBAAyB;IACvF,oDAAoD,EAAW,yBAAyB;IACxF,kBAAkB,EAAQ,kCAAkC;IAC5D,QAAQ,EAAkB,wBAAwB;IAClD,+BAA+B,EAAG,wBAAwB;IAC1D,eAAe,EAAW,iBAAiB;IAC3C,eAAe,EAAW,gBAAgB;IAC1C,eAAe,EAAW,gBAAgB;IAC1C,iBAAiB,EAAS,cAAc;IACxC,qBAAqB,EAAK,kBAAkB;IAC5C,gBAAgB,EAAU,kBAAkB;IAC5C,eAAe,EAAW,sBAAsB;IAChD,iCAAiC,EAAG,+BAA+B;IACnE,mBAAmB,EAAO,mCAAmC;IAC7D,gBAAgB,EAAU,gCAAgC;IAC1D,kBAAkB,EAAQ,qBAAqB;IAC/C,sDAAsD,EAAG,oBAAoB;CAC9E,CAAC;AAEF,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEpC,eAAe,CAAC,QAAgB;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,gBAAgB,CAAC,OAAe;QACtC,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,KAA8B;QAC5D,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;YAC7C,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAc,EAAE,KAAK,CAAC,OAAiB,CAAC,CAAC;YACvE,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAc,EAAE,KAAK,CAAC,UAAoB,EAAE,KAAK,CAAC,UAAoB,CAAC,CAAC;YACrG,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAA0B,CAAC,CAAC;YAC9D,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAiB,EAAE,KAAK,CAAC,IAA0B,EAAE,KAAK,CAAC,IAA0B,CAAC,CAAC;YACvH,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAiB,EAAE,KAAK,CAAC,UAAgC,CAAC,CAAC;YAC1F;gBACE,OAAO,EAAE,OAAO,EAAE,iBAAiB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,QAAgB;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,iCAAiC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAgB;QACrC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,aAAa,QAAQ,0CAA0C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrG,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAC9B,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,8BAA8B;oBACpE,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,uBAAwB,GAAa,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,OAAe;QACvD,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,aAAa,QAAQ,6CAA6C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACxG,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,sBAAsB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,uBAAwB,GAAa,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,SAAiB,EAAE,SAAiB;QAC3E,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,aAAa,QAAQ,4CAA4C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACvG,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACxD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3E,CAAC;YACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,EAAE,OAAO,EAAE,2BAA2B,WAAW,yBAAyB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrG,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,uBAAuB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,uBAAwB,GAAa,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAgB;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,4BAA6B,GAAa,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,UAAmB,EAAE,IAAa;QAC3E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,IAAI,MAAM,CAAC;YAElC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC1D,OAAO,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;oBAC9B,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;wBAAE,MAAM;gBACnC,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBACrE,CAAC;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAClE,CAAC;YAED,oCAAoC;YACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,WAAW,GAAG,GAAG,CAAC;YAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,YAAY,IAAI,WAAW;oBAAE,MAAM;gBACvC,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI;wBAAE,SAAS,CAAC,qBAAqB;oBAE/D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtC,IAAI,YAAY,IAAI,WAAW;4BAAE,MAAM;wBACvC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzB,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BACzE,YAAY,EAAE,CAAC;wBACjB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACzD,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,0BAA2B,GAAa,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,KAAK,GAAG,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YACnG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,SAAkB;QAC1D,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,wEAAwE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9G,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC;QAEvD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACxG,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAElE,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;wBACjB,OAAO,CAAC,EAAE,OAAO,EAAE,2BAA2B,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9E,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/D,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-formatter.d.ts","sourceRoot":"","sources":["../../../src/ui/output-formatter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"output-formatter.d.ts","sourceRoot":"","sources":["../../../src/ui/output-formatter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAgD/D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAgC3D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAa9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAiBvD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA2B1G;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAazE"}
|
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import Table from 'cli-table3';
|
|
3
|
+
/**
|
|
4
|
+
* Convert markdown text to chalk-formatted terminal output.
|
|
5
|
+
*/
|
|
6
|
+
function formatMarkdown(text) {
|
|
7
|
+
const lines = text.split('\n');
|
|
8
|
+
let inCodeBlock = false;
|
|
9
|
+
return lines
|
|
10
|
+
.map((line) => {
|
|
11
|
+
// Code block fences
|
|
12
|
+
if (line.trimStart().startsWith('```')) {
|
|
13
|
+
inCodeBlock = !inCodeBlock;
|
|
14
|
+
return inCodeBlock ? chalk.dim(' ─────') : chalk.dim(' ─────');
|
|
15
|
+
}
|
|
16
|
+
// Inside code block — dim, no further processing
|
|
17
|
+
if (inCodeBlock) {
|
|
18
|
+
return chalk.dim(line);
|
|
19
|
+
}
|
|
20
|
+
// Headings
|
|
21
|
+
const h3 = line.match(/^#{3,}\s+(.+)/);
|
|
22
|
+
if (h3)
|
|
23
|
+
return chalk.bold(h3[1]);
|
|
24
|
+
const h2 = line.match(/^##\s+(.+)/);
|
|
25
|
+
if (h2)
|
|
26
|
+
return chalk.bold(h2[1]);
|
|
27
|
+
const h1 = line.match(/^#\s+(.+)/);
|
|
28
|
+
if (h1)
|
|
29
|
+
return chalk.bold.underline(h1[1]);
|
|
30
|
+
// Horizontal rules
|
|
31
|
+
if (/^-{3,}$/.test(line.trim()) || /^\*{3,}$/.test(line.trim())) {
|
|
32
|
+
return chalk.dim('───');
|
|
33
|
+
}
|
|
34
|
+
// Inline formatting
|
|
35
|
+
let result = line;
|
|
36
|
+
result = result.replace(/\*\*(.+?)\*\*/g, (_, p1) => chalk.bold(p1));
|
|
37
|
+
result = result.replace(/`([^`]+)`/g, (_, p1) => chalk.cyan(p1));
|
|
38
|
+
result = result.replace(/\*(.+?)\*/g, (_, p1) => chalk.italic(p1));
|
|
39
|
+
return result;
|
|
40
|
+
})
|
|
41
|
+
.join('\n');
|
|
42
|
+
}
|
|
3
43
|
export function renderScoreTable(scores) {
|
|
4
44
|
const table = new Table({
|
|
5
45
|
head: [
|
|
@@ -45,8 +85,9 @@ export function renderCompactScores(scores) {
|
|
|
45
85
|
}
|
|
46
86
|
export function renderResponse(output) {
|
|
47
87
|
if (output.code) {
|
|
88
|
+
const formatted = formatMarkdown(output.code);
|
|
48
89
|
console.log('');
|
|
49
|
-
for (const line of
|
|
90
|
+
for (const line of formatted.split('\n')) {
|
|
50
91
|
console.log(` ${line}`);
|
|
51
92
|
}
|
|
52
93
|
}
|
|
@@ -60,8 +101,9 @@ export function renderResponse(output) {
|
|
|
60
101
|
}
|
|
61
102
|
export function renderAgenticResponse(text, toolCalls, totalTokens) {
|
|
62
103
|
if (text) {
|
|
104
|
+
const formatted = formatMarkdown(text);
|
|
63
105
|
console.log('');
|
|
64
|
-
for (const line of
|
|
106
|
+
for (const line of formatted.split('\n')) {
|
|
65
107
|
console.log(` ${line}`);
|
|
66
108
|
}
|
|
67
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-formatter.js","sourceRoot":"","sources":["../../../src/ui/output-formatter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"output-formatter.js","sourceRoot":"","sources":["../../../src/ui/output-formatter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ui/welcome.js
CHANGED