@sylix/coworker 1.1.4 → 1.2.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/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +183 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/SettingsManager.d.ts +25 -0
- package/dist/config/SettingsManager.d.ts.map +1 -0
- package/dist/config/SettingsManager.js +96 -0
- package/dist/config/SettingsManager.js.map +1 -0
- package/dist/core/CoWorkerAgent.d.ts +52 -0
- package/dist/core/CoWorkerAgent.d.ts.map +1 -0
- package/dist/core/CoWorkerAgent.js +308 -0
- package/dist/core/CoWorkerAgent.js.map +1 -0
- package/dist/mcp/MCPClientManager.d.ts +30 -0
- package/dist/mcp/MCPClientManager.d.ts.map +1 -0
- package/dist/mcp/MCPClientManager.js +100 -0
- package/dist/mcp/MCPClientManager.js.map +1 -0
- package/dist/permissions/PermissionInterceptor.d.ts +21 -0
- package/dist/permissions/PermissionInterceptor.d.ts.map +1 -0
- package/dist/permissions/PermissionInterceptor.js +104 -0
- package/dist/permissions/PermissionInterceptor.js.map +1 -0
- package/dist/session/SessionManager.d.ts +38 -0
- package/dist/session/SessionManager.d.ts.map +1 -0
- package/dist/session/SessionManager.js +129 -0
- package/dist/session/SessionManager.js.map +1 -0
- package/dist/skills/HookAndSkillManager.d.ts +37 -0
- package/dist/skills/HookAndSkillManager.d.ts.map +1 -0
- package/dist/skills/HookAndSkillManager.js +141 -0
- package/dist/skills/HookAndSkillManager.js.map +1 -0
- package/dist/task/TaskEngine.d.ts +29 -0
- package/dist/task/TaskEngine.d.ts.map +1 -0
- package/dist/task/TaskEngine.js +117 -0
- package/dist/task/TaskEngine.js.map +1 -0
- package/dist/tools/CronManager.d.ts +22 -0
- package/dist/tools/CronManager.d.ts.map +1 -0
- package/dist/tools/CronManager.js +44 -0
- package/dist/tools/CronManager.js.map +1 -0
- package/dist/tools/NativeTools.d.ts +33 -0
- package/dist/tools/NativeTools.d.ts.map +1 -0
- package/dist/tools/NativeTools.js +175 -0
- package/dist/tools/NativeTools.js.map +1 -0
- package/dist/tools/Schemas.d.ts +365 -0
- package/dist/tools/Schemas.d.ts.map +1 -0
- package/dist/tools/Schemas.js +177 -0
- package/dist/tools/Schemas.js.map +1 -0
- package/dist/ui/InkUI.d.ts +2 -0
- package/dist/ui/InkUI.d.ts.map +1 -0
- package/dist/ui/InkUI.js +11 -0
- package/dist/ui/InkUI.js.map +1 -0
- package/package.json +18 -8
- package/dist/agents/runner.d.ts +0 -19
- package/dist/agents/runner.d.ts.map +0 -1
- package/dist/agents/runner.js +0 -170
- package/dist/agents/runner.js.map +0 -1
- package/dist/api/sylix.d.ts +0 -53
- package/dist/api/sylix.d.ts.map +0 -1
- package/dist/api/sylix.js +0 -237
- package/dist/api/sylix.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -369
- package/dist/cli.js.map +0 -1
- package/dist/commands/ask.d.ts +0 -2
- package/dist/commands/ask.d.ts.map +0 -1
- package/dist/commands/ask.js +0 -55
- package/dist/commands/ask.js.map +0 -1
- package/dist/commands/chat.d.ts +0 -8
- package/dist/commands/chat.d.ts.map +0 -1
- package/dist/commands/chat.js +0 -479
- package/dist/commands/chat.js.map +0 -1
- package/dist/commands/commit.d.ts +0 -2
- package/dist/commands/commit.d.ts.map +0 -1
- package/dist/commands/commit.js +0 -163
- package/dist/commands/commit.js.map +0 -1
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -101
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/edit.d.ts +0 -2
- package/dist/commands/edit.d.ts.map +0 -1
- package/dist/commands/edit.js +0 -112
- package/dist/commands/edit.js.map +0 -1
- package/dist/commands/explain.d.ts +0 -2
- package/dist/commands/explain.d.ts.map +0 -1
- package/dist/commands/explain.js +0 -99
- package/dist/commands/explain.js.map +0 -1
- package/dist/commands/login.d.ts +0 -2
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -151
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/review.d.ts +0 -2
- package/dist/commands/review.d.ts.map +0 -1
- package/dist/commands/review.js +0 -137
- package/dist/commands/review.js.map +0 -1
- package/dist/commands/run.d.ts +0 -2
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -136
- package/dist/commands/run.js.map +0 -1
- package/dist/config/settings.d.ts +0 -33
- package/dist/config/settings.d.ts.map +0 -1
- package/dist/config/settings.js +0 -72
- package/dist/config/settings.js.map +0 -1
- package/dist/context/reader.d.ts +0 -24
- package/dist/context/reader.d.ts.map +0 -1
- package/dist/context/reader.js +0 -209
- package/dist/context/reader.js.map +0 -1
- package/dist/hooks/engine.d.ts +0 -9
- package/dist/hooks/engine.d.ts.map +0 -1
- package/dist/hooks/engine.js +0 -85
- package/dist/hooks/engine.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -15
- package/dist/mcp/client.d.ts.map +0 -1
- package/dist/mcp/client.js +0 -211
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/transport.d.ts +0 -46
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/mcp/transport.js +0 -196
- package/dist/mcp/transport.js.map +0 -1
- package/dist/memory/loader.d.ts +0 -41
- package/dist/memory/loader.d.ts.map +0 -1
- package/dist/memory/loader.js +0 -249
- package/dist/memory/loader.js.map +0 -1
- package/dist/permissions/manager.d.ts +0 -7
- package/dist/permissions/manager.d.ts.map +0 -1
- package/dist/permissions/manager.js +0 -125
- package/dist/permissions/manager.js.map +0 -1
- package/dist/scripts/postinstall.d.ts +0 -7
- package/dist/scripts/postinstall.d.ts.map +0 -1
- package/dist/scripts/postinstall.js +0 -23
- package/dist/scripts/postinstall.js.map +0 -1
- package/dist/session/memory.d.ts +0 -6
- package/dist/session/memory.d.ts.map +0 -1
- package/dist/session/memory.js +0 -81
- package/dist/session/memory.js.map +0 -1
- package/dist/session/store.d.ts +0 -19
- package/dist/session/store.d.ts.map +0 -1
- package/dist/session/store.js +0 -94
- package/dist/session/store.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -2
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js +0 -40
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/chrome.d.ts +0 -10
- package/dist/tools/chrome.d.ts.map +0 -1
- package/dist/tools/chrome.js +0 -228
- package/dist/tools/chrome.js.map +0 -1
- package/dist/tools/edit.d.ts +0 -2
- package/dist/tools/edit.d.ts.map +0 -1
- package/dist/tools/edit.js +0 -67
- package/dist/tools/edit.js.map +0 -1
- package/dist/tools/glob.d.ts +0 -10
- package/dist/tools/glob.d.ts.map +0 -1
- package/dist/tools/glob.js +0 -245
- package/dist/tools/glob.js.map +0 -1
- package/dist/tools/grep.d.ts +0 -10
- package/dist/tools/grep.d.ts.map +0 -1
- package/dist/tools/grep.js +0 -252
- package/dist/tools/grep.js.map +0 -1
- package/dist/tools/ls.d.ts +0 -2
- package/dist/tools/ls.d.ts.map +0 -1
- package/dist/tools/ls.js +0 -75
- package/dist/tools/ls.js.map +0 -1
- package/dist/tools/read.d.ts +0 -2
- package/dist/tools/read.d.ts.map +0 -1
- package/dist/tools/read.js +0 -72
- package/dist/tools/read.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -3
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -281
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/schema.json +0 -508
- package/dist/tools/task.d.ts +0 -11
- package/dist/tools/task.d.ts.map +0 -1
- package/dist/tools/task.js +0 -118
- package/dist/tools/task.js.map +0 -1
- package/dist/tools/web.d.ts +0 -3
- package/dist/tools/web.d.ts.map +0 -1
- package/dist/tools/web.js +0 -113
- package/dist/tools/web.js.map +0 -1
- package/dist/tools/write.d.ts +0 -18
- package/dist/tools/write.d.ts.map +0 -1
- package/dist/tools/write.js +0 -122
- package/dist/tools/write.js.map +0 -1
- package/dist/utils/output.d.ts +0 -62
- package/dist/utils/output.d.ts.map +0 -1
- package/dist/utils/output.js +0 -487
- package/dist/utils/output.js.map +0 -1
package/dist/tools/task.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createTask = createTask;
|
|
7
|
-
exports.updateTask = updateTask;
|
|
8
|
-
exports.listTasks = listTasks;
|
|
9
|
-
exports.getTask = getTask;
|
|
10
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
11
|
-
const path_1 = __importDefault(require("path"));
|
|
12
|
-
const os_1 = __importDefault(require("os"));
|
|
13
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
14
|
-
function getTaskDir() {
|
|
15
|
-
return path_1.default.join(os_1.default.homedir(), '.coworker', 'tasks');
|
|
16
|
-
}
|
|
17
|
-
function getSessionId() {
|
|
18
|
-
// Hash of cwd for project-specific tasks
|
|
19
|
-
const hash = crypto_1.default.createHash('md5').update(process.cwd()).digest('hex').substring(0, 8);
|
|
20
|
-
return `session-${hash}`;
|
|
21
|
-
}
|
|
22
|
-
function getStorePath() {
|
|
23
|
-
return path_1.default.join(getTaskDir(), `${getSessionId()}.json`);
|
|
24
|
-
}
|
|
25
|
-
async function loadStore() {
|
|
26
|
-
const storePath = getStorePath();
|
|
27
|
-
try {
|
|
28
|
-
if (await fs_extra_1.default.pathExists(storePath)) {
|
|
29
|
-
return await fs_extra_1.default.readJson(storePath);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch { /* ignore */ }
|
|
33
|
-
return { sessionId: getSessionId(), tasks: [] };
|
|
34
|
-
}
|
|
35
|
-
async function saveStore(store) {
|
|
36
|
-
const storePath = getStorePath();
|
|
37
|
-
await fs_extra_1.default.ensureDir(path_1.default.dirname(storePath));
|
|
38
|
-
await fs_extra_1.default.writeJson(storePath, store, { spaces: 2 });
|
|
39
|
-
}
|
|
40
|
-
function generateId() {
|
|
41
|
-
return `task-${crypto_1.default.randomBytes(4).toString('hex')}`;
|
|
42
|
-
}
|
|
43
|
-
// ─── Public API ───
|
|
44
|
-
async function createTask(subject, description, _activeForm) {
|
|
45
|
-
const store = await loadStore();
|
|
46
|
-
const task = {
|
|
47
|
-
id: generateId(),
|
|
48
|
-
subject,
|
|
49
|
-
description: description || '',
|
|
50
|
-
status: 'pending',
|
|
51
|
-
blocks: [],
|
|
52
|
-
blockedBy: [],
|
|
53
|
-
createdAt: new Date().toISOString(),
|
|
54
|
-
updatedAt: new Date().toISOString()
|
|
55
|
-
};
|
|
56
|
-
store.tasks.push(task);
|
|
57
|
-
await saveStore(store);
|
|
58
|
-
return `Created task ${task.id}: "${subject}" (status: pending)`;
|
|
59
|
-
}
|
|
60
|
-
async function updateTask(taskId, updates) {
|
|
61
|
-
const store = await loadStore();
|
|
62
|
-
const task = store.tasks.find(t => t.id === taskId);
|
|
63
|
-
if (!task)
|
|
64
|
-
return `Error: Task ${taskId} not found`;
|
|
65
|
-
if (updates.status && ['pending', 'in_progress', 'completed'].includes(updates.status)) {
|
|
66
|
-
task.status = updates.status;
|
|
67
|
-
}
|
|
68
|
-
if (updates.subject)
|
|
69
|
-
task.subject = updates.subject;
|
|
70
|
-
if (updates.description)
|
|
71
|
-
task.description = updates.description;
|
|
72
|
-
if (updates.addBlocks)
|
|
73
|
-
task.blocks.push(...updates.addBlocks);
|
|
74
|
-
if (updates.addBlockedBy)
|
|
75
|
-
task.blockedBy.push(...updates.addBlockedBy);
|
|
76
|
-
task.updatedAt = new Date().toISOString();
|
|
77
|
-
await saveStore(store);
|
|
78
|
-
const parts = [`Updated task ${taskId}:`];
|
|
79
|
-
if (updates.status)
|
|
80
|
-
parts.push(`status → ${updates.status}`);
|
|
81
|
-
if (updates.subject)
|
|
82
|
-
parts.push(`subject → "${updates.subject}"`);
|
|
83
|
-
if (updates.addBlocks?.length)
|
|
84
|
-
parts.push(`now blocks: ${updates.addBlocks.join(', ')}`);
|
|
85
|
-
if (updates.addBlockedBy?.length)
|
|
86
|
-
parts.push(`now blocked by: ${updates.addBlockedBy.join(', ')}`);
|
|
87
|
-
return parts.join(' ');
|
|
88
|
-
}
|
|
89
|
-
async function listTasks() {
|
|
90
|
-
const store = await loadStore();
|
|
91
|
-
if (store.tasks.length === 0)
|
|
92
|
-
return 'No tasks found.';
|
|
93
|
-
const lines = ['Tasks:'];
|
|
94
|
-
for (const t of store.tasks) {
|
|
95
|
-
const icon = t.status === 'completed' ? '✅' : t.status === 'in_progress' ? '🔄' : '⬜';
|
|
96
|
-
const blockers = t.blockedBy.length > 0 ? ` [blocked by ${t.blockedBy.join(', ')}]` : '';
|
|
97
|
-
lines.push(` ${icon} ${t.id}: ${t.subject} (${t.status})${blockers}`);
|
|
98
|
-
}
|
|
99
|
-
lines.push(`\nTotal: ${store.tasks.length} tasks`);
|
|
100
|
-
return lines.join('\n');
|
|
101
|
-
}
|
|
102
|
-
async function getTask(taskId) {
|
|
103
|
-
const store = await loadStore();
|
|
104
|
-
const task = store.tasks.find(t => t.id === taskId);
|
|
105
|
-
if (!task)
|
|
106
|
-
return `Error: Task ${taskId} not found`;
|
|
107
|
-
return [
|
|
108
|
-
`Task: ${task.id}`,
|
|
109
|
-
`Subject: ${task.subject}`,
|
|
110
|
-
`Description: ${task.description || '(none)'}`,
|
|
111
|
-
`Status: ${task.status}`,
|
|
112
|
-
`Blocks: ${task.blocks.length > 0 ? task.blocks.join(', ') : '(none)'}`,
|
|
113
|
-
`Blocked By: ${task.blockedBy.length > 0 ? task.blockedBy.join(', ') : '(none)'}`,
|
|
114
|
-
`Created: ${task.createdAt}`,
|
|
115
|
-
`Updated: ${task.updatedAt}`
|
|
116
|
-
].join('\n');
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=task.js.map
|
package/dist/tools/task.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/tools/task.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/web.d.ts
DELETED
package/dist/tools/web.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/tools/web.ts"],"names":[],"mappings":"AAcA,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuC9D;AAED,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyCnF"}
|
package/dist/tools/web.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.searchWeb = searchWeb;
|
|
37
|
-
exports.fetchUrl = fetchUrl;
|
|
38
|
-
const axios_1 = __importStar(require("axios"));
|
|
39
|
-
const sylix_1 = require("../api/sylix");
|
|
40
|
-
async function searchWeb(query) {
|
|
41
|
-
try {
|
|
42
|
-
const config = await (0, sylix_1.getConfig)();
|
|
43
|
-
const url = `${config.baseUrl.replace(/\/$/, '')}/api/web-search`;
|
|
44
|
-
const response = await axios_1.default.post(url, {
|
|
45
|
-
query,
|
|
46
|
-
max_results: 8
|
|
47
|
-
}, {
|
|
48
|
-
headers: {
|
|
49
|
-
'Content-Type': 'application/json',
|
|
50
|
-
'Authorization': `Bearer ${config.apiKey}`
|
|
51
|
-
},
|
|
52
|
-
timeout: 30000
|
|
53
|
-
});
|
|
54
|
-
const data = response.data;
|
|
55
|
-
if (!data.results || data.results.length === 0) {
|
|
56
|
-
return `No results found for: ${query}`;
|
|
57
|
-
}
|
|
58
|
-
const output = [];
|
|
59
|
-
output.push(`## Search Results for "${query}"`);
|
|
60
|
-
output.push(`Source: ${data.source}\n`);
|
|
61
|
-
data.results.forEach((r, i) => {
|
|
62
|
-
output.push(`${i + 1}. ${r.title}`);
|
|
63
|
-
output.push(` ${r.url}`);
|
|
64
|
-
output.push(` ${r.content}`);
|
|
65
|
-
output.push('');
|
|
66
|
-
});
|
|
67
|
-
return output.join('\n');
|
|
68
|
-
}
|
|
69
|
-
catch (err) {
|
|
70
|
-
if (err instanceof axios_1.AxiosError && err.response) {
|
|
71
|
-
return `WebSearch API error (${err.response.status}): ${JSON.stringify(err.response.data)}`;
|
|
72
|
-
}
|
|
73
|
-
return `WebSearch error: ${err.message}`;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
async function fetchUrl(urlToFetch, prompt) {
|
|
77
|
-
try {
|
|
78
|
-
const config = await (0, sylix_1.getConfig)();
|
|
79
|
-
const endpoint = `${config.baseUrl.replace(/\/$/, '')}/api/web-search/fetch`;
|
|
80
|
-
const response = await axios_1.default.post(endpoint, {
|
|
81
|
-
url: urlToFetch
|
|
82
|
-
}, {
|
|
83
|
-
headers: {
|
|
84
|
-
'Content-Type': 'application/json',
|
|
85
|
-
'Authorization': `Bearer ${config.apiKey}`
|
|
86
|
-
},
|
|
87
|
-
timeout: 30000
|
|
88
|
-
});
|
|
89
|
-
const data = response.data;
|
|
90
|
-
let text = data.content || '';
|
|
91
|
-
// Truncate to reasonable size for LLM context
|
|
92
|
-
const MAX_LENGTH = 12000;
|
|
93
|
-
if (text.length > MAX_LENGTH) {
|
|
94
|
-
text = text.substring(0, MAX_LENGTH) + '\n\n[... truncated ...]';
|
|
95
|
-
}
|
|
96
|
-
let output = `## Content from ${urlToFetch} (Source: ${data.source})\n`;
|
|
97
|
-
if (data.title) {
|
|
98
|
-
output += `Title: ${data.title}\n`;
|
|
99
|
-
}
|
|
100
|
-
output += `\n${text}`;
|
|
101
|
-
if (prompt) {
|
|
102
|
-
output += `\n\n---\nUser's question about this page: ${prompt}`;
|
|
103
|
-
}
|
|
104
|
-
return output;
|
|
105
|
-
}
|
|
106
|
-
catch (err) {
|
|
107
|
-
if (err instanceof axios_1.AxiosError && err.response) {
|
|
108
|
-
return `WebFetch API error (${err.response.status}): ${JSON.stringify(err.response.data)}`;
|
|
109
|
-
}
|
|
110
|
-
return `WebFetch error for ${urlToFetch}: ${err.message}`;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=web.js.map
|
package/dist/tools/web.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/tools/web.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/write.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface WriteOptions {
|
|
2
|
-
file_path: string;
|
|
3
|
-
content: string;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Write tool - Creates or overwrites files
|
|
7
|
-
* Similar to Claude Code's Write tool
|
|
8
|
-
*/
|
|
9
|
-
export declare function executeWrite(argsObj: any): Promise<string>;
|
|
10
|
-
/**
|
|
11
|
-
* Write with backup - writes file and creates backup of existing
|
|
12
|
-
*/
|
|
13
|
-
export declare function executeWriteWithBackup(argsObj: any): Promise<string>;
|
|
14
|
-
/**
|
|
15
|
-
* Write atomic - writes to temp file then moves (safer for existing files)
|
|
16
|
-
*/
|
|
17
|
-
export declare function executeWriteAtomic(argsObj: any): Promise<string>;
|
|
18
|
-
//# sourceMappingURL=write.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BhE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B1E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BtE"}
|
package/dist/tools/write.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.executeWrite = executeWrite;
|
|
37
|
-
exports.executeWriteWithBackup = executeWriteWithBackup;
|
|
38
|
-
exports.executeWriteAtomic = executeWriteAtomic;
|
|
39
|
-
const fs = __importStar(require("fs-extra"));
|
|
40
|
-
const path = __importStar(require("path"));
|
|
41
|
-
/**
|
|
42
|
-
* Write tool - Creates or overwrites files
|
|
43
|
-
* Similar to Claude Code's Write tool
|
|
44
|
-
*/
|
|
45
|
-
async function executeWrite(argsObj) {
|
|
46
|
-
const { file_path, content } = argsObj;
|
|
47
|
-
if (!file_path) {
|
|
48
|
-
return 'Error: file_path is required.';
|
|
49
|
-
}
|
|
50
|
-
if (content === undefined) {
|
|
51
|
-
return 'Error: content is required.';
|
|
52
|
-
}
|
|
53
|
-
try {
|
|
54
|
-
const absolutePath = path.resolve(process.cwd(), file_path);
|
|
55
|
-
// Ensure parent directory exists
|
|
56
|
-
const parentDir = path.dirname(absolutePath);
|
|
57
|
-
await fs.ensureDir(parentDir);
|
|
58
|
-
// Write the file
|
|
59
|
-
await fs.writeFile(absolutePath, content, 'utf8');
|
|
60
|
-
// Get file stats for reporting
|
|
61
|
-
const stats = await fs.stat(absolutePath);
|
|
62
|
-
const lines = content.split('\n').length;
|
|
63
|
-
return `Successfully wrote ${absolutePath} (${lines} lines, ${stats.size} bytes)`;
|
|
64
|
-
}
|
|
65
|
-
catch (err) {
|
|
66
|
-
return `Error writing file: ${err.message}`;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Write with backup - writes file and creates backup of existing
|
|
71
|
-
*/
|
|
72
|
-
async function executeWriteWithBackup(argsObj) {
|
|
73
|
-
const { file_path, content } = argsObj;
|
|
74
|
-
if (!file_path) {
|
|
75
|
-
return 'Error: file_path is required.';
|
|
76
|
-
}
|
|
77
|
-
try {
|
|
78
|
-
const absolutePath = path.resolve(process.cwd(), file_path);
|
|
79
|
-
// Check if file exists and create backup
|
|
80
|
-
if (await fs.pathExists(absolutePath)) {
|
|
81
|
-
const backupPath = `${absolutePath}.backup`;
|
|
82
|
-
await fs.copy(absolutePath, backupPath);
|
|
83
|
-
console.log(` Created backup: ${backupPath}`);
|
|
84
|
-
}
|
|
85
|
-
// Ensure parent directory exists
|
|
86
|
-
const parentDir = path.dirname(absolutePath);
|
|
87
|
-
await fs.ensureDir(parentDir);
|
|
88
|
-
// Write the file
|
|
89
|
-
await fs.writeFile(absolutePath, content, 'utf8');
|
|
90
|
-
const lines = content.split('\n').length;
|
|
91
|
-
return `Successfully wrote ${absolutePath} (${lines} lines)`;
|
|
92
|
-
}
|
|
93
|
-
catch (err) {
|
|
94
|
-
return `Error writing file: ${err.message}`;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Write atomic - writes to temp file then moves (safer for existing files)
|
|
99
|
-
*/
|
|
100
|
-
async function executeWriteAtomic(argsObj) {
|
|
101
|
-
const { file_path, content } = argsObj;
|
|
102
|
-
if (!file_path) {
|
|
103
|
-
return 'Error: file_path is required.';
|
|
104
|
-
}
|
|
105
|
-
try {
|
|
106
|
-
const absolutePath = path.resolve(process.cwd(), file_path);
|
|
107
|
-
const tempPath = `${absolutePath}.tmp.${Date.now()}`;
|
|
108
|
-
// Ensure parent directory exists
|
|
109
|
-
const parentDir = path.dirname(absolutePath);
|
|
110
|
-
await fs.ensureDir(parentDir);
|
|
111
|
-
// Write to temp file
|
|
112
|
-
await fs.writeFile(tempPath, content, 'utf8');
|
|
113
|
-
// Atomic rename
|
|
114
|
-
await fs.move(tempPath, absolutePath, { overwrite: true });
|
|
115
|
-
const lines = content.split('\n').length;
|
|
116
|
-
return `Successfully wrote ${absolutePath} (${lines} lines) - atomic write`;
|
|
117
|
-
}
|
|
118
|
-
catch (err) {
|
|
119
|
-
return `Error writing file: ${err.message}`;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=write.js.map
|
package/dist/tools/write.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/output.d.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { Ora } from 'ora';
|
|
3
|
-
export declare const theme: {
|
|
4
|
-
brand: chalk.Chalk;
|
|
5
|
-
accent: chalk.Chalk;
|
|
6
|
-
success: chalk.Chalk;
|
|
7
|
-
error: chalk.Chalk;
|
|
8
|
-
warning: chalk.Chalk;
|
|
9
|
-
ai: chalk.Chalk;
|
|
10
|
-
dim: chalk.Chalk;
|
|
11
|
-
white: chalk.Chalk;
|
|
12
|
-
code: chalk.Chalk;
|
|
13
|
-
muted: chalk.Chalk;
|
|
14
|
-
};
|
|
15
|
-
export declare const sleep: (ms: number) => Promise<unknown>;
|
|
16
|
-
export declare function getTerminalWidth(): number;
|
|
17
|
-
export declare function isNarrowTerminal(): boolean;
|
|
18
|
-
export declare function center(text: string, width?: number): string;
|
|
19
|
-
export declare function shouldShowBanner(): boolean;
|
|
20
|
-
export declare function printHeader(): Promise<void>;
|
|
21
|
-
export declare function printUserInfo(email?: string, model?: string, version?: string): void;
|
|
22
|
-
export declare function printSuccess(message: string, details?: string): void;
|
|
23
|
-
export declare function printError(message: string): void;
|
|
24
|
-
export declare function printWarning(message: string): void;
|
|
25
|
-
export declare function printInfo(message: string): void;
|
|
26
|
-
export declare function printErrorBox(title: string, message: string, suggestions?: string[], link?: string): void;
|
|
27
|
-
export declare function startLoadingAnimation(): void;
|
|
28
|
-
export declare function stopLoadingAnimation(): void;
|
|
29
|
-
export declare class StreamingRenderer {
|
|
30
|
-
private inCodeBlock;
|
|
31
|
-
private inBox;
|
|
32
|
-
private wordDelay;
|
|
33
|
-
start(): void;
|
|
34
|
-
write(text: string): void;
|
|
35
|
-
writeWithDelay(text: string): Promise<void>;
|
|
36
|
-
end(): void;
|
|
37
|
-
}
|
|
38
|
-
export declare function printResponseStats(elapsedMs: number, tokens?: number, verbose?: boolean): void;
|
|
39
|
-
export declare function printCodeBlock(code: string, language?: string, filename?: string): void;
|
|
40
|
-
export declare function printDiffPreview(filename: string, changes: {
|
|
41
|
-
oldLine: string;
|
|
42
|
-
newLine: string;
|
|
43
|
-
lineNumber: number;
|
|
44
|
-
}[]): void;
|
|
45
|
-
export declare function printDiff(oldContent: string, newContent: string, filename?: string): void;
|
|
46
|
-
export declare function printCommitBox(message: string): void;
|
|
47
|
-
export declare function printReviewCard(filename: string, scores: {
|
|
48
|
-
quality: number;
|
|
49
|
-
security: number;
|
|
50
|
-
performance: number;
|
|
51
|
-
readability: number;
|
|
52
|
-
}): void;
|
|
53
|
-
export declare function printUserMessage(message: string): void;
|
|
54
|
-
export declare function printAIMessage(message: string): void;
|
|
55
|
-
export declare function createSpinner(text: string): Ora;
|
|
56
|
-
export declare class Timer {
|
|
57
|
-
private startTime;
|
|
58
|
-
elapsed(): number;
|
|
59
|
-
elapsedSeconds(): string;
|
|
60
|
-
}
|
|
61
|
-
export declare function printExitMessage(): void;
|
|
62
|
-
//# sourceMappingURL=output.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
|