hackwriter 0.0.8 → 0.0.10
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/agent/AgentExecutor.d.ts.map +1 -1
- package/dist/agent/AgentExecutor.js +19 -4
- package/dist/agent/AgentExecutor.js.map +1 -1
- package/dist/cli.js +80 -21
- package/dist/cli.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +70 -42
- package/dist/commands/setup.js.map +1 -1
- package/dist/config/ConfigSchema.d.ts +6 -4
- package/dist/config/ConfigSchema.d.ts.map +1 -1
- package/dist/config/ConfigSchema.js +3 -2
- package/dist/config/ConfigSchema.js.map +1 -1
- package/dist/config/Configuration.d.ts +2 -1
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/ConfigurationLoader.d.ts.map +1 -1
- package/dist/config/ConfigurationLoader.js +27 -14
- package/dist/config/ConfigurationLoader.js.map +1 -1
- package/dist/config/ProviderRegistry.d.ts.map +1 -1
- package/dist/config/ProviderRegistry.js +1 -11
- package/dist/config/ProviderRegistry.js.map +1 -1
- package/dist/config/constants.d.ts +22 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +30 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/mcp/MCPClient.d.ts +56 -0
- package/dist/mcp/MCPClient.d.ts.map +1 -0
- package/dist/mcp/MCPClient.js +134 -0
- package/dist/mcp/MCPClient.js.map +1 -0
- package/dist/mcp/MCPToolAdapter.d.ts +28 -0
- package/dist/mcp/MCPToolAdapter.d.ts.map +1 -0
- package/dist/mcp/MCPToolAdapter.js +91 -0
- package/dist/mcp/MCPToolAdapter.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +3 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/session/SessionManager.d.ts.map +1 -1
- package/dist/session/SessionManager.js +2 -1
- package/dist/session/SessionManager.js.map +1 -1
- package/dist/tools/base/ToolRegistry.d.ts +13 -4
- package/dist/tools/base/ToolRegistry.d.ts.map +1 -1
- package/dist/tools/base/ToolRegistry.js.map +1 -1
- package/dist/tools/file/ListFilesTool.d.ts.map +1 -1
- package/dist/tools/file/ListFilesTool.js +19 -3
- package/dist/tools/file/ListFilesTool.js.map +1 -1
- package/dist/tools/file/ReadFileTool.d.ts.map +1 -1
- package/dist/tools/file/ReadFileTool.js +20 -0
- package/dist/tools/file/ReadFileTool.js.map +1 -1
- package/dist/tools/file/WriteFileTool.d.ts.map +1 -1
- package/dist/tools/file/WriteFileTool.js +15 -0
- package/dist/tools/file/WriteFileTool.js.map +1 -1
- package/dist/tools/hackmd/CreateNoteTool.d.ts.map +1 -1
- package/dist/tools/hackmd/CreateNoteTool.js +22 -3
- package/dist/tools/hackmd/CreateNoteTool.js.map +1 -1
- package/dist/tools/hackmd/DeleteNoteTool.d.ts.map +1 -1
- package/dist/tools/hackmd/DeleteNoteTool.js +16 -6
- package/dist/tools/hackmd/DeleteNoteTool.js.map +1 -1
- package/dist/tools/hackmd/UpdateNoteTool.d.ts.map +1 -1
- package/dist/tools/hackmd/UpdateNoteTool.js +29 -10
- package/dist/tools/hackmd/UpdateNoteTool.js.map +1 -1
- package/dist/tools/hackmd/index.d.ts.map +1 -1
- package/dist/tools/hackmd/index.js +0 -13
- package/dist/tools/hackmd/index.js.map +1 -1
- package/dist/ui/shell/CommandRegistry.d.ts +1 -0
- package/dist/ui/shell/CommandRegistry.d.ts.map +1 -1
- package/dist/ui/shell/CommandRegistry.js +97 -0
- package/dist/ui/shell/CommandRegistry.js.map +1 -1
- package/dist/ui/shell/InteractiveShell.d.ts +9 -0
- package/dist/ui/shell/InteractiveShell.d.ts.map +1 -1
- package/dist/ui/shell/InteractiveShell.js +33 -0
- package/dist/ui/shell/InteractiveShell.js.map +1 -1
- package/dist/utils/RateLimiter.d.ts +36 -0
- package/dist/utils/RateLimiter.d.ts.map +1 -0
- package/dist/utils/RateLimiter.js +62 -0
- package/dist/utils/RateLimiter.js.map +1 -0
- package/dist/utils/retry.d.ts +55 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +97 -0
- package/dist/utils/retry.js.map +1 -0
- package/package.json +2 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { promises as fs } from 'node:fs';
|
|
2
|
-
import { join, relative } from 'node:path';
|
|
2
|
+
import { join, relative, dirname } from 'node:path';
|
|
3
3
|
import { Tool } from '../base/Tool.js';
|
|
4
|
+
import { MAX_FILES_DISPLAY } from '../../config/constants.js';
|
|
4
5
|
export class ListFilesTool extends Tool {
|
|
5
6
|
name = 'list_files';
|
|
6
7
|
description = 'List files in a local directory';
|
|
@@ -23,12 +24,24 @@ export class ListFilesTool extends Tool {
|
|
|
23
24
|
required: ['directoryPath'],
|
|
24
25
|
};
|
|
25
26
|
async call(params) {
|
|
27
|
+
// Validate directory path
|
|
28
|
+
if (!params.directoryPath || params.directoryPath.trim() === '') {
|
|
29
|
+
return this.error('Directory path cannot be empty', 'Directory path is required', 'Invalid path');
|
|
30
|
+
}
|
|
31
|
+
// Prevent path traversal attacks
|
|
32
|
+
const normalizedPath = dirname(params.directoryPath);
|
|
33
|
+
if (normalizedPath.includes('..')) {
|
|
34
|
+
return this.error('Path traversal is not allowed for security reasons', 'Security violation: path traversal detected', 'Security error');
|
|
35
|
+
}
|
|
26
36
|
try {
|
|
27
37
|
const files = await this.listFiles(params.directoryPath, params.recursive ?? false, params.pattern);
|
|
28
38
|
if (files.length === 0) {
|
|
29
39
|
return this.ok('No files found', 'No files found', 'Empty');
|
|
30
40
|
}
|
|
31
|
-
|
|
41
|
+
// Limit output for very large directories
|
|
42
|
+
const displayFiles = files.slice(0, MAX_FILES_DISPLAY);
|
|
43
|
+
const hasMore = files.length > MAX_FILES_DISPLAY;
|
|
44
|
+
const output = displayFiles
|
|
32
45
|
.map((file, index) => {
|
|
33
46
|
const stats = file.stats;
|
|
34
47
|
const type = stats.isDirectory() ? '📁' : '📄';
|
|
@@ -37,7 +50,10 @@ export class ListFilesTool extends Tool {
|
|
|
37
50
|
` Modified: ${stats.mtime.toLocaleString()}`;
|
|
38
51
|
})
|
|
39
52
|
.join('\n\n');
|
|
40
|
-
|
|
53
|
+
const finalOutput = hasMore
|
|
54
|
+
? `${output}\n\n... and ${files.length - MAX_FILES_DISPLAY} more items (truncated for display)`
|
|
55
|
+
: output;
|
|
56
|
+
return this.ok(finalOutput, `Found ${files.length} items in ${params.directoryPath}`, `${files.length} items`);
|
|
41
57
|
}
|
|
42
58
|
catch (error) {
|
|
43
59
|
const errorMsg = `Failed to list files: ${this.formatError(error)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListFilesTool.js","sourceRoot":"","sources":["../../../src/tools/file/ListFilesTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAc,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ListFilesTool.js","sourceRoot":"","sources":["../../../src/tools/file/ListFilesTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadFileTool.d.ts","sourceRoot":"","sources":["../../../src/tools/file/ReadFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ReadFileTool.d.ts","sourceRoot":"","sources":["../../../src/tools/file/ReadFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKzE,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC;IACpD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,sCAAsC;IAC1D,QAAQ,CAAC,WAAW,EAAE,UAAU,CAS9B;IAEI,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;CA0DxD"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Tool } from '../base/Tool.js';
|
|
2
2
|
import { promises as fs } from 'node:fs';
|
|
3
|
+
import { dirname } from 'node:path';
|
|
4
|
+
import { MAX_FILE_DISPLAY_SIZE } from '../../config/constants.js';
|
|
3
5
|
export class ReadFileTool extends Tool {
|
|
4
6
|
name = 'read_file';
|
|
5
7
|
description = 'Read the content of a local file';
|
|
@@ -14,9 +16,27 @@ export class ReadFileTool extends Tool {
|
|
|
14
16
|
required: ['filePath'],
|
|
15
17
|
};
|
|
16
18
|
async call(params) {
|
|
19
|
+
// Validate file path
|
|
20
|
+
if (!params.filePath || params.filePath.trim() === '') {
|
|
21
|
+
return this.error('File path cannot be empty', 'File path is required', 'Invalid path');
|
|
22
|
+
}
|
|
23
|
+
// Prevent path traversal attacks
|
|
24
|
+
const normalizedPath = dirname(params.filePath);
|
|
25
|
+
if (normalizedPath.includes('..')) {
|
|
26
|
+
return this.error('Path traversal is not allowed for security reasons', 'Security violation: path traversal detected', 'Security error');
|
|
27
|
+
}
|
|
17
28
|
try {
|
|
18
29
|
const content = await fs.readFile(params.filePath, 'utf-8');
|
|
19
30
|
const stats = await fs.stat(params.filePath);
|
|
31
|
+
// Warn if file is very large
|
|
32
|
+
if (stats.size > MAX_FILE_DISPLAY_SIZE) {
|
|
33
|
+
const sizeMB = (stats.size / (1024 * 1024)).toFixed(2);
|
|
34
|
+
return this.ok(`⚠️ File is very large (${sizeMB}MB)\n\n` +
|
|
35
|
+
`**File:** ${params.filePath}\n` +
|
|
36
|
+
`**Size:** ${stats.size} bytes\n` +
|
|
37
|
+
`**Modified:** ${stats.mtime.toLocaleString()}\n\n` +
|
|
38
|
+
`**Content (truncated to 1MB):**\n\`\`\`\n${content.slice(0, MAX_FILE_DISPLAY_SIZE)}\n...\n[truncated]\n\`\`\``, `Read file (truncated): ${params.filePath}`, 'Read (truncated)');
|
|
39
|
+
}
|
|
20
40
|
const output = `**File:** ${params.filePath}\n` +
|
|
21
41
|
`**Size:** ${stats.size} bytes\n` +
|
|
22
42
|
`**Modified:** ${stats.mtime.toLocaleString()}\n\n` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadFileTool.js","sourceRoot":"","sources":["../../../src/tools/file/ReadFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ReadFileTool.js","sourceRoot":"","sources":["../../../src/tools/file/ReadFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAOlE,MAAM,OAAO,YAAa,SAAQ,IAAoB;IAC3C,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAAG,kCAAkC,CAAC;IACjD,WAAW,GAAe;QACjC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0BAA0B;aACxC;SACF;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,MAAsB;QAC/B,qBAAqB;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,KAAK,CACf,2BAA2B,EAC3B,uBAAuB,EACvB,cAAc,CACf,CAAC;QACJ,CAAC;QAED,iCAAiC;QACjC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,KAAK,CACf,oDAAoD,EACpD,6CAA6C,EAC7C,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE7C,6BAA6B;YAC7B,IAAI,KAAK,CAAC,IAAI,GAAG,qBAAqB,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC,EAAE,CACZ,0BAA0B,MAAM,SAAS;oBACzC,aAAa,MAAM,CAAC,QAAQ,IAAI;oBAChC,aAAa,KAAK,CAAC,IAAI,UAAU;oBACjC,iBAAiB,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM;oBACnD,4CAA4C,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,4BAA4B,EAC/G,0BAA0B,MAAM,CAAC,QAAQ,EAAE,EAC3C,kBAAkB,CACnB,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GACV,aAAa,MAAM,CAAC,QAAQ,IAAI;gBAChC,aAAa,KAAK,CAAC,IAAI,UAAU;gBACjC,iBAAiB,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM;gBACnD,yBAAyB,OAAO,UAAU,CAAC;YAE7C,OAAO,IAAI,CAAC,EAAE,CACZ,MAAM,EACN,2BAA2B,MAAM,CAAC,QAAQ,EAAE,EAC5C,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,wBAAwB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,KAAK,CACf,QAAQ,EACR,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WriteFileTool.d.ts","sourceRoot":"","sources":["../../../src/tools/file/WriteFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"WriteFileTool.d.ts","sourceRoot":"","sources":["../../../src/tools/file/WriteFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAKtE,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,aAAc,SAAQ,IAAI,CAAC,eAAe,CAAC;IAsB1C,OAAO,CAAC,eAAe;IArBnC,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,mCAAmC;IACvD,QAAQ,CAAC,WAAW,EAAE,UAAU,CAiB9B;gBAEkB,eAAe,EAAE,eAAe;IAI9C,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;CA0EzD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Tool } from '../base/Tool.js';
|
|
2
2
|
import { promises as fs } from 'node:fs';
|
|
3
3
|
import { dirname } from 'node:path';
|
|
4
|
+
import { MAX_FILE_SIZE } from '../../config/constants.js';
|
|
4
5
|
export class WriteFileTool extends Tool {
|
|
5
6
|
approvalManager;
|
|
6
7
|
name = 'write_file';
|
|
@@ -28,6 +29,20 @@ export class WriteFileTool extends Tool {
|
|
|
28
29
|
this.approvalManager = approvalManager;
|
|
29
30
|
}
|
|
30
31
|
async call(params) {
|
|
32
|
+
// Validate file path
|
|
33
|
+
if (!params.filePath || params.filePath.trim() === '') {
|
|
34
|
+
return this.error('File path cannot be empty', 'File path is required', 'Invalid path');
|
|
35
|
+
}
|
|
36
|
+
// Prevent path traversal attacks
|
|
37
|
+
const normalizedPath = dirname(params.filePath);
|
|
38
|
+
if (normalizedPath.includes('..')) {
|
|
39
|
+
return this.error('Path traversal is not allowed for security reasons', 'Security violation: path traversal detected', 'Security error');
|
|
40
|
+
}
|
|
41
|
+
// Check content size
|
|
42
|
+
if (params.content.length > MAX_FILE_SIZE) {
|
|
43
|
+
const sizeMB = (params.content.length / (1024 * 1024)).toFixed(2);
|
|
44
|
+
return this.error(`Content too large (${sizeMB}MB, maximum ${MAX_FILE_SIZE / (1024 * 1024)}MB allowed)`, 'Content exceeds size limit', 'Too large');
|
|
45
|
+
}
|
|
31
46
|
const approved = await this.approvalManager.request(this.name, 'write_file', `Write to file "${params.filePath}"`);
|
|
32
47
|
if (!approved) {
|
|
33
48
|
return this.error('Operation rejected by user', 'Operation rejected by user', 'Rejected');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WriteFileTool.js","sourceRoot":"","sources":["../../../src/tools/file/WriteFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoC,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"WriteFileTool.js","sourceRoot":"","sources":["../../../src/tools/file/WriteFileTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateNoteTool.d.ts","sourceRoot":"","sources":["../../../src/tools/hackmd/CreateNoteTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateNoteTool.d.ts","sourceRoot":"","sources":["../../../src/tools/hackmd/CreateNoteTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAMtE,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,KAAK,UAAU;CAChB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,cAAe,SAAQ,IAAI,CAAC,gBAAgB,CAAC;IAkCtD,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IAlCzB,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,sEACiD;IACrE,QAAQ,CAAC,WAAW,EAAE,UAAU,CA2B9B;gBAGQ,YAAY,EAAE,GAAG,EACjB,eAAe,EAAE,eAAe;IAKpC,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;CA+F1D"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Tool } from "../base/Tool.js";
|
|
2
2
|
import { handleHackMDError } from "./errorHandler.js";
|
|
3
|
+
import { MAX_HACKMD_CONTENT_SIZE } from "../../config/constants.js";
|
|
4
|
+
import { withRetry, shouldRetryHttpError } from "../../utils/retry.js";
|
|
3
5
|
// Re-define enum as the package doesn't export it properly
|
|
4
6
|
export var NotePermissionRole;
|
|
5
7
|
(function (NotePermissionRole) {
|
|
@@ -46,6 +48,18 @@ export class CreateNoteTool extends Tool {
|
|
|
46
48
|
this.approvalManager = approvalManager;
|
|
47
49
|
}
|
|
48
50
|
async call(params) {
|
|
51
|
+
// Validate inputs
|
|
52
|
+
if (!params.title || params.title.trim() === '') {
|
|
53
|
+
return this.error('Note title cannot be empty', 'Title is required', 'Invalid title');
|
|
54
|
+
}
|
|
55
|
+
if (!params.content || params.content.trim() === '') {
|
|
56
|
+
return this.error('Note content cannot be empty', 'Content is required', 'Invalid content');
|
|
57
|
+
}
|
|
58
|
+
// Check content size (5MB limit for HackMD)
|
|
59
|
+
if (params.content.length > MAX_HACKMD_CONTENT_SIZE) {
|
|
60
|
+
const sizeMB = (params.content.length / (1024 * 1024)).toFixed(2);
|
|
61
|
+
return this.error(`Content too large (${sizeMB}MB, maximum ${MAX_HACKMD_CONTENT_SIZE / (1024 * 1024)}MB allowed)`, 'Content exceeds HackMD size limit', 'Too large');
|
|
62
|
+
}
|
|
49
63
|
const isTeamNote = Boolean(params.teamPath);
|
|
50
64
|
const actionDesc = isTeamNote
|
|
51
65
|
? `Create team note "${params.title}" in team "${params.teamPath}"`
|
|
@@ -61,9 +75,14 @@ export class CreateNoteTool extends Tool {
|
|
|
61
75
|
readPermission: params.readPermission ?? NotePermissionRole.OWNER,
|
|
62
76
|
writePermission: params.writePermission ?? NotePermissionRole.OWNER,
|
|
63
77
|
};
|
|
64
|
-
const note =
|
|
65
|
-
|
|
66
|
-
|
|
78
|
+
const note = await withRetry(async () => {
|
|
79
|
+
return isTeamNote
|
|
80
|
+
? await this.hackmdClient.createTeamNote(params.teamPath, noteData)
|
|
81
|
+
: await this.hackmdClient.createNote(noteData);
|
|
82
|
+
}, {
|
|
83
|
+
maxRetries: 3,
|
|
84
|
+
shouldRetry: shouldRetryHttpError,
|
|
85
|
+
});
|
|
67
86
|
const output = isTeamNote
|
|
68
87
|
? `✅ Team note created successfully!\n\n` +
|
|
69
88
|
`**Title:** ${note.title}\n` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateNoteTool.js","sourceRoot":"","sources":["../../../src/tools/hackmd/CreateNoteTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAoC,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateNoteTool.js","sourceRoot":"","sources":["../../../src/tools/hackmd/CreateNoteTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteNoteTool.d.ts","sourceRoot":"","sources":["../../../src/tools/hackmd/DeleteNoteTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"DeleteNoteTool.d.ts","sourceRoot":"","sources":["../../../src/tools/hackmd/DeleteNoteTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAItE,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,cAAe,SAAQ,IAAI,CAAC,gBAAgB,CAAC;IAoBtD,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IApBzB,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,gFAC2D;IAC/E,QAAQ,CAAC,WAAW,EAAE,UAAU,CAa9B;gBAGQ,YAAY,EAAE,GAAG,EACjB,eAAe,EAAE,eAAe;IAKpC,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;CAiE1D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Tool } from "../base/Tool.js";
|
|
2
2
|
import { handleHackMDError } from "./errorHandler.js";
|
|
3
|
+
import { withRetry, shouldRetryHttpError } from "../../utils/retry.js";
|
|
3
4
|
export class DeleteNoteTool extends Tool {
|
|
4
5
|
hackmdClient;
|
|
5
6
|
approvalManager;
|
|
@@ -25,6 +26,10 @@ export class DeleteNoteTool extends Tool {
|
|
|
25
26
|
this.approvalManager = approvalManager;
|
|
26
27
|
}
|
|
27
28
|
async call(params) {
|
|
29
|
+
// Validate inputs
|
|
30
|
+
if (!params.noteId || params.noteId.trim() === '') {
|
|
31
|
+
return this.error('Note ID cannot be empty', 'Note ID is required', 'Invalid ID');
|
|
32
|
+
}
|
|
28
33
|
const isTeamNote = Boolean(params.teamPath);
|
|
29
34
|
const actionDesc = isTeamNote
|
|
30
35
|
? `Delete team note ${params.noteId} from team "${params.teamPath}"? This action cannot be undone.`
|
|
@@ -34,12 +39,17 @@ export class DeleteNoteTool extends Tool {
|
|
|
34
39
|
return this.error("Deletion cancelled by user", "Deletion cancelled by user", "Cancelled");
|
|
35
40
|
}
|
|
36
41
|
try {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
await withRetry(async () => {
|
|
43
|
+
if (isTeamNote) {
|
|
44
|
+
await this.hackmdClient.deleteTeamNote(params.teamPath, params.noteId);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
await this.hackmdClient.deleteNote(params.noteId);
|
|
48
|
+
}
|
|
49
|
+
}, {
|
|
50
|
+
maxRetries: 3,
|
|
51
|
+
shouldRetry: shouldRetryHttpError,
|
|
52
|
+
});
|
|
43
53
|
const output = isTeamNote
|
|
44
54
|
? `✅ Team note deleted successfully\n**ID:** \`${params.noteId}\`\n**Team:** ${params.teamPath}`
|
|
45
55
|
: `✅ Note deleted successfully\n**ID:** \`${params.noteId}\``;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteNoteTool.js","sourceRoot":"","sources":["../../../src/tools/hackmd/DeleteNoteTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAoC,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"DeleteNoteTool.js","sourceRoot":"","sources":["../../../src/tools/hackmd/DeleteNoteTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateNoteTool.d.ts","sourceRoot":"","sources":["../../../src/tools/hackmd/UpdateNoteTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateNoteTool.d.ts","sourceRoot":"","sources":["../../../src/tools/hackmd/UpdateNoteTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAKtE,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,cAAe,SAAQ,IAAI,CAAC,gBAAgB,CAAC;IAwBtD,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IAxBzB,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,kEAC6C;IACjE,QAAQ,CAAC,WAAW,EAAE,UAAU,CAiB9B;gBAGQ,YAAY,EAAE,GAAG,EACjB,eAAe,EAAE,eAAe;IAKpC,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;CA2F1D"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Tool } from "../base/Tool.js";
|
|
2
2
|
import { handleHackMDError } from "./errorHandler.js";
|
|
3
|
+
import { MAX_HACKMD_CONTENT_SIZE } from "../../config/constants.js";
|
|
4
|
+
import { withRetry, shouldRetryHttpError } from "../../utils/retry.js";
|
|
3
5
|
export class UpdateNoteTool extends Tool {
|
|
4
6
|
hackmdClient;
|
|
5
7
|
approvalManager;
|
|
@@ -29,6 +31,18 @@ export class UpdateNoteTool extends Tool {
|
|
|
29
31
|
this.approvalManager = approvalManager;
|
|
30
32
|
}
|
|
31
33
|
async call(params) {
|
|
34
|
+
// Validate inputs
|
|
35
|
+
if (!params.noteId || params.noteId.trim() === '') {
|
|
36
|
+
return this.error('Note ID cannot be empty', 'Note ID is required', 'Invalid ID');
|
|
37
|
+
}
|
|
38
|
+
if (!params.content || params.content.trim() === '') {
|
|
39
|
+
return this.error('Note content cannot be empty', 'Content is required', 'Invalid content');
|
|
40
|
+
}
|
|
41
|
+
// Check content size (5MB limit for HackMD)
|
|
42
|
+
if (params.content.length > MAX_HACKMD_CONTENT_SIZE) {
|
|
43
|
+
const sizeMB = (params.content.length / (1024 * 1024)).toFixed(2);
|
|
44
|
+
return this.error(`Content too large (${sizeMB}MB, maximum ${MAX_HACKMD_CONTENT_SIZE / (1024 * 1024)}MB allowed)`, 'Content exceeds HackMD size limit', 'Too large');
|
|
45
|
+
}
|
|
32
46
|
const isTeamNote = Boolean(params.teamPath);
|
|
33
47
|
const actionDesc = isTeamNote
|
|
34
48
|
? `Update team note ${params.noteId} in team "${params.teamPath}"`
|
|
@@ -38,16 +52,21 @@ export class UpdateNoteTool extends Tool {
|
|
|
38
52
|
return this.error("Operation rejected by user", "Operation rejected by user", "Rejected");
|
|
39
53
|
}
|
|
40
54
|
try {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
await withRetry(async () => {
|
|
56
|
+
if (isTeamNote) {
|
|
57
|
+
await this.hackmdClient.updateTeamNote(params.teamPath, params.noteId, {
|
|
58
|
+
content: params.content,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
await this.hackmdClient.updateNote(params.noteId, {
|
|
63
|
+
content: params.content,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}, {
|
|
67
|
+
maxRetries: 3,
|
|
68
|
+
shouldRetry: shouldRetryHttpError,
|
|
69
|
+
});
|
|
51
70
|
const output = isTeamNote
|
|
52
71
|
? `✅ Team note updated successfully!\n**ID:** \`${params.noteId}\`\n**Team:** ${params.teamPath}`
|
|
53
72
|
: `✅ Note updated successfully!\n**ID:** \`${params.noteId}\``;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateNoteTool.js","sourceRoot":"","sources":["../../../src/tools/hackmd/UpdateNoteTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAoC,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateNoteTool.js","sourceRoot":"","sources":["../../../src/tools/hackmd/UpdateNoteTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/hackmd/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/hackmd/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,24 +1,11 @@
|
|
|
1
|
-
// Note tools (now support both personal and team notes via optional teamPath)
|
|
2
1
|
export { ListNotesTool } from "./ListNotesTool.js";
|
|
3
2
|
export { ReadNoteTool } from "./ReadNoteTool.js";
|
|
4
3
|
export { CreateNoteTool } from "./CreateNoteTool.js";
|
|
5
4
|
export { UpdateNoteTool } from "./UpdateNoteTool.js";
|
|
6
5
|
export { DeleteNoteTool } from "./DeleteNoteTool.js";
|
|
7
|
-
// Team tools removed - merged into main note tools with teamPath parameter
|
|
8
|
-
// export { ListTeamNotesTool } from './ListTeamNotesTool';
|
|
9
|
-
// export { CreateTeamNoteTool } from './CreateTeamNoteTool';
|
|
10
|
-
// export { UpdateTeamNoteTool } from './UpdateTeamNoteTool';
|
|
11
|
-
// export { DeleteTeamNoteTool } from './DeleteTeamNoteTool';
|
|
12
|
-
// User & team management
|
|
13
6
|
export { GetUserInfoTool } from "./GetUserInfoTool.js";
|
|
14
7
|
export { ListTeamsTool } from "./ListTeamsTool.js";
|
|
15
8
|
export { GetHistoryTool } from "./GetHistoryTool.js";
|
|
16
|
-
// Advanced features
|
|
17
9
|
export { SearchNotesTool } from "./SearchNotesTool.js";
|
|
18
10
|
export { ExportNoteTool } from "./ExportNoteTool.js";
|
|
19
|
-
// Composable tools removed - use tool combinations instead:
|
|
20
|
-
// export { ImportNoteTool } from './ImportNoteTool'; // = bash cat + create_note
|
|
21
|
-
// export { SyncNoteTool } from './SyncNoteTool'; // = read_note + bash
|
|
22
|
-
// export { BatchExportTool } from './BatchExportTool'; // = loop export_note
|
|
23
|
-
// export { CloneNoteTool } from './CloneNoteTool'; // = read_note + create_note
|
|
24
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/hackmd/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/hackmd/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandRegistry.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/CommandRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE/D,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,KAAK;IAFzB,OAAO,CAAC,QAAQ,CAAkC;gBAE9B,KAAK,EAAE,gBAAgB;IAI3C,OAAO,CAAC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"CommandRegistry.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/CommandRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE/D,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,KAAK;IAFzB,OAAO,CAAC,QAAQ,CAAkC;gBAE9B,KAAK,EAAE,gBAAgB;IAI3C,OAAO,CAAC,uBAAuB;IAqD/B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAO3B,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjD,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,UAAU;YAuCJ,WAAW;YAuCX,QAAQ;CAqGvB"}
|
|
@@ -50,6 +50,12 @@ export class CommandRegistry {
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
});
|
|
53
|
+
this.register({
|
|
54
|
+
name: "setup",
|
|
55
|
+
aliases: ["config"],
|
|
56
|
+
description: "Configure API keys and settings",
|
|
57
|
+
handler: () => this.runSetup(),
|
|
58
|
+
});
|
|
53
59
|
}
|
|
54
60
|
register(info) {
|
|
55
61
|
this.commands.set(info.name, info);
|
|
@@ -152,5 +158,96 @@ export class CommandRegistry {
|
|
|
152
158
|
await ConfigurationLoader.save(config);
|
|
153
159
|
console.log(chalk.green(`✓ Switched to ${modelName}`));
|
|
154
160
|
}
|
|
161
|
+
async runSetup() {
|
|
162
|
+
// Close shell readline to allow inquirer to use stdin exclusively
|
|
163
|
+
this.shell.suspendReadline();
|
|
164
|
+
try {
|
|
165
|
+
const { select, password } = await import("@inquirer/prompts");
|
|
166
|
+
console.log(chalk.bold.cyan("\n🔧 HackWriter Setup\n"));
|
|
167
|
+
// Show current config status
|
|
168
|
+
const modelContext = this.shell.getModelContext();
|
|
169
|
+
const { config } = modelContext;
|
|
170
|
+
console.log(chalk.gray("Current configuration:"));
|
|
171
|
+
if (config.services.hackmd?.apiToken) {
|
|
172
|
+
console.log(chalk.green(" ✓ HackMD API token configured"));
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
console.log(chalk.yellow(" ✗ HackMD API token not set"));
|
|
176
|
+
}
|
|
177
|
+
const hasAnthropicKey = !!config.providers.anthropic?.apiKey;
|
|
178
|
+
const hasOpenAIKey = !!config.providers.openai?.apiKey;
|
|
179
|
+
const hasOllama = Object.values(config.models).some((m) => m.provider === "ollama");
|
|
180
|
+
if (hasAnthropicKey)
|
|
181
|
+
console.log(chalk.green(" ✓ Anthropic API key configured"));
|
|
182
|
+
if (hasOpenAIKey)
|
|
183
|
+
console.log(chalk.green(" ✓ OpenAI API key configured"));
|
|
184
|
+
if (hasOllama)
|
|
185
|
+
console.log(chalk.green(" ✓ Ollama available"));
|
|
186
|
+
console.log();
|
|
187
|
+
// Ask what to configure
|
|
188
|
+
const action = await select({
|
|
189
|
+
message: "What would you like to configure?",
|
|
190
|
+
choices: [
|
|
191
|
+
{ name: "LLM Provider (Anthropic/OpenAI)", value: "llm" },
|
|
192
|
+
{ name: "HackMD API Token", value: "hackmd" },
|
|
193
|
+
{ name: "Cancel", value: "cancel" },
|
|
194
|
+
],
|
|
195
|
+
});
|
|
196
|
+
if (action === "cancel") {
|
|
197
|
+
console.log(chalk.gray("Setup cancelled."));
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (action === "hackmd") {
|
|
201
|
+
const token = await password({
|
|
202
|
+
message: "Enter HackMD API token:",
|
|
203
|
+
mask: "*",
|
|
204
|
+
});
|
|
205
|
+
if (token) {
|
|
206
|
+
config.services.hackmd = {
|
|
207
|
+
...config.services.hackmd,
|
|
208
|
+
apiToken: token,
|
|
209
|
+
};
|
|
210
|
+
await ConfigurationLoader.save(config);
|
|
211
|
+
console.log(chalk.green("\n✓ HackMD API token saved!"));
|
|
212
|
+
}
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (action === "llm") {
|
|
216
|
+
const provider = await select({
|
|
217
|
+
message: "Select LLM provider:",
|
|
218
|
+
choices: [
|
|
219
|
+
{ name: "Anthropic (Claude)", value: "anthropic" },
|
|
220
|
+
{ name: "OpenAI (GPT)", value: "openai" },
|
|
221
|
+
{ name: "Cancel", value: "cancel" },
|
|
222
|
+
],
|
|
223
|
+
});
|
|
224
|
+
if (provider === "cancel") {
|
|
225
|
+
console.log(chalk.gray("Setup cancelled."));
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const apiKey = await password({
|
|
229
|
+
message: `Enter ${provider === "anthropic" ? "Anthropic" : "OpenAI"} API key:`,
|
|
230
|
+
mask: "*",
|
|
231
|
+
});
|
|
232
|
+
if (apiKey) {
|
|
233
|
+
// Save to config - we need to reload the full config to preserve other settings
|
|
234
|
+
const fullConfig = await ConfigurationLoader.load();
|
|
235
|
+
fullConfig.providers[provider] = {
|
|
236
|
+
...fullConfig.providers[provider],
|
|
237
|
+
type: provider,
|
|
238
|
+
apiKey,
|
|
239
|
+
};
|
|
240
|
+
await ConfigurationLoader.save(fullConfig);
|
|
241
|
+
console.log(chalk.green(`\n✓ ${provider === "anthropic" ? "Anthropic" : "OpenAI"} API key saved!`));
|
|
242
|
+
console.log(chalk.yellow("\nRestart hackwriter to use the new configuration."));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
finally {
|
|
247
|
+
// Recreate readline after prompts are done
|
|
248
|
+
this.shell.recreateReadline();
|
|
249
|
+
this.shell.getReadline().prompt();
|
|
250
|
+
}
|
|
251
|
+
}
|
|
155
252
|
}
|
|
156
253
|
//# sourceMappingURL=CommandRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandRegistry.js","sourceRoot":"","sources":["../../../src/ui/shell/CommandRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandRegistry.js","sourceRoot":"","sources":["../../../src/ui/shell/CommandRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,15 @@ export declare class InteractiveShell {
|
|
|
28
28
|
setExecutor(executor: AgentExecutor): void;
|
|
29
29
|
exit(): void;
|
|
30
30
|
getReadline(): readline.Interface;
|
|
31
|
+
/**
|
|
32
|
+
* Suspend readline for external prompts (like inquirer).
|
|
33
|
+
* Must close and recreate because inquirer needs exclusive stdin access.
|
|
34
|
+
*/
|
|
35
|
+
suspendReadline(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Recreate readline after external prompts are done
|
|
38
|
+
*/
|
|
39
|
+
recreateReadline(): void;
|
|
31
40
|
private printWelcome;
|
|
32
41
|
}
|
|
33
42
|
//# sourceMappingURL=InteractiveShell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveShell.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/InteractiveShell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAOrE,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAe;gBAEvB,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY;IAazD,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAsCrC,WAAW;IAuBzB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,iBAAiB;IAYzB,eAAe,IAAI,YAAY;IAI/B,WAAW,IAAI,aAAa;IAI5B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK1C,IAAI,IAAI,IAAI;IAMZ,WAAW,IAAI,QAAQ,CAAC,SAAS;IAIjC,OAAO,CAAC,YAAY;CAKrB"}
|
|
1
|
+
{"version":3,"file":"InteractiveShell.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/InteractiveShell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAOrE,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAe;gBAEvB,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY;IAazD,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAsCrC,WAAW;IAuBzB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,iBAAiB;IAYzB,eAAe,IAAI,YAAY;IAI/B,WAAW,IAAI,aAAa;IAI5B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK1C,IAAI,IAAI,IAAI;IAMZ,WAAW,IAAI,QAAQ,CAAC,SAAS;IAIjC;;;OAGG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAyBxB,OAAO,CAAC,YAAY;CAKrB"}
|