koneck 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.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/astValidator.d.ts +6 -0
  4. package/dist/astValidator.d.ts.map +1 -0
  5. package/dist/astValidator.js +57 -0
  6. package/dist/astValidator.js.map +1 -0
  7. package/dist/chat.d.ts +3 -0
  8. package/dist/chat.d.ts.map +1 -0
  9. package/dist/chat.js +205 -0
  10. package/dist/chat.js.map +1 -0
  11. package/dist/completion.d.ts +2 -0
  12. package/dist/completion.d.ts.map +1 -0
  13. package/dist/completion.js +137 -0
  14. package/dist/completion.js.map +1 -0
  15. package/dist/compressor.d.ts +9 -0
  16. package/dist/compressor.d.ts.map +1 -0
  17. package/dist/compressor.js +71 -0
  18. package/dist/compressor.js.map +1 -0
  19. package/dist/config.d.ts +14 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js +40 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/doctor.d.ts +2 -0
  24. package/dist/doctor.d.ts.map +1 -0
  25. package/dist/doctor.js +99 -0
  26. package/dist/doctor.js.map +1 -0
  27. package/dist/engine.d.ts +11 -0
  28. package/dist/engine.d.ts.map +1 -0
  29. package/dist/engine.js +510 -0
  30. package/dist/engine.js.map +1 -0
  31. package/dist/generate-koneck-md.d.ts +3 -0
  32. package/dist/generate-koneck-md.d.ts.map +1 -0
  33. package/dist/generate-koneck-md.js +69 -0
  34. package/dist/generate-koneck-md.js.map +1 -0
  35. package/dist/git-tools.d.ts +4 -0
  36. package/dist/git-tools.d.ts.map +1 -0
  37. package/dist/git-tools.js +206 -0
  38. package/dist/git-tools.js.map +1 -0
  39. package/dist/highlight.d.ts +3 -0
  40. package/dist/highlight.d.ts.map +1 -0
  41. package/dist/highlight.js +139 -0
  42. package/dist/highlight.js.map +1 -0
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +448 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/init.d.ts +9 -0
  48. package/dist/init.d.ts.map +1 -0
  49. package/dist/init.js +93 -0
  50. package/dist/init.js.map +1 -0
  51. package/dist/mcp.d.ts +24 -0
  52. package/dist/mcp.d.ts.map +1 -0
  53. package/dist/mcp.js +75 -0
  54. package/dist/mcp.js.map +1 -0
  55. package/dist/memory.d.ts +3 -0
  56. package/dist/memory.d.ts.map +1 -0
  57. package/dist/memory.js +18 -0
  58. package/dist/memory.js.map +1 -0
  59. package/dist/plugins.d.ts +9 -0
  60. package/dist/plugins.d.ts.map +1 -0
  61. package/dist/plugins.js +60 -0
  62. package/dist/plugins.js.map +1 -0
  63. package/dist/pricing.d.ts +9 -0
  64. package/dist/pricing.d.ts.map +1 -0
  65. package/dist/pricing.js +84 -0
  66. package/dist/pricing.js.map +1 -0
  67. package/dist/project.d.ts +14 -0
  68. package/dist/project.d.ts.map +1 -0
  69. package/dist/project.js +151 -0
  70. package/dist/project.js.map +1 -0
  71. package/dist/providers.d.ts +13 -0
  72. package/dist/providers.d.ts.map +1 -0
  73. package/dist/providers.js +130 -0
  74. package/dist/providers.js.map +1 -0
  75. package/dist/session.d.ts +19 -0
  76. package/dist/session.d.ts.map +1 -0
  77. package/dist/session.js +71 -0
  78. package/dist/session.js.map +1 -0
  79. package/dist/setup.d.ts +4 -0
  80. package/dist/setup.d.ts.map +1 -0
  81. package/dist/setup.js +63 -0
  82. package/dist/setup.js.map +1 -0
  83. package/dist/stats.d.ts +2 -0
  84. package/dist/stats.d.ts.map +1 -0
  85. package/dist/stats.js +81 -0
  86. package/dist/stats.js.map +1 -0
  87. package/dist/tools.d.ts +17 -0
  88. package/dist/tools.d.ts.map +1 -0
  89. package/dist/tools.js +713 -0
  90. package/dist/tools.js.map +1 -0
  91. package/dist/tui.d.ts +38 -0
  92. package/dist/tui.d.ts.map +1 -0
  93. package/dist/tui.js +364 -0
  94. package/dist/tui.js.map +1 -0
  95. package/dist/types.d.ts +158 -0
  96. package/dist/types.d.ts.map +1 -0
  97. package/dist/types.js +2 -0
  98. package/dist/types.js.map +1 -0
  99. package/dist/watch.d.ts +3 -0
  100. package/dist/watch.d.ts.map +1 -0
  101. package/dist/watch.js +68 -0
  102. package/dist/watch.js.map +1 -0
  103. package/dist/worktree.d.ts +8 -0
  104. package/dist/worktree.d.ts.map +1 -0
  105. package/dist/worktree.js +94 -0
  106. package/dist/worktree.js.map +1 -0
  107. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Message } from './types.js';
2
+ export interface SessionMeta {
3
+ id: string;
4
+ task: string;
5
+ provider: string;
6
+ model: string;
7
+ cwd: string;
8
+ startedAt: string;
9
+ turns: number;
10
+ totalTokens: number;
11
+ }
12
+ export declare function generateSessionId(): string;
13
+ export declare function saveSession(cwd: string, id: string, meta: SessionMeta, messages: Message[]): Promise<string>;
14
+ export declare function loadSession(cwd: string, id: string): Promise<{
15
+ meta: SessionMeta;
16
+ messages: Message[];
17
+ }>;
18
+ export declare function listSessions(cwd: string, limit?: number): Promise<SessionMeta[]>;
19
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAQD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAgBrD;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAuBlF"}
@@ -0,0 +1,71 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ const SESSION_DIR = '.koneck/sessions';
4
+ export function generateSessionId() {
5
+ const d = new Date();
6
+ const pad = (n, w = 2) => String(n).padStart(w, '0');
7
+ const ts = `${d.getFullYear()}${pad(d.getMonth() + 1)}${pad(d.getDate())}` +
8
+ `-${pad(d.getHours())}${pad(d.getMinutes())}${pad(d.getSeconds())}`;
9
+ const rand = (d.getTime() % 0xffff).toString(16).padStart(4, '0');
10
+ return `${ts}-${rand}`;
11
+ }
12
+ async function ensureDir(cwd) {
13
+ const dir = path.join(cwd, SESSION_DIR);
14
+ await fs.mkdir(dir, { recursive: true });
15
+ return dir;
16
+ }
17
+ export async function saveSession(cwd, id, meta, messages) {
18
+ const dir = await ensureDir(cwd);
19
+ const file = path.join(dir, `${id}.jsonl`);
20
+ const lines = [
21
+ JSON.stringify({ type: 'meta', data: meta }),
22
+ ...messages.map(m => JSON.stringify({ type: 'message', data: m })),
23
+ ];
24
+ await fs.writeFile(file, lines.join('\n') + '\n', 'utf-8');
25
+ return file;
26
+ }
27
+ export async function loadSession(cwd, id) {
28
+ const file = path.join(cwd, SESSION_DIR, `${id}.jsonl`);
29
+ const raw = await fs.readFile(file, 'utf-8');
30
+ const lines = raw.split('\n').filter(Boolean);
31
+ let meta;
32
+ const messages = [];
33
+ for (const line of lines) {
34
+ const entry = JSON.parse(line);
35
+ if (entry.type === 'meta')
36
+ meta = entry.data;
37
+ else if (entry.type === 'message')
38
+ messages.push(entry.data);
39
+ }
40
+ if (!meta)
41
+ throw new Error(`Session "${id}" has no metadata — file may be corrupt.`);
42
+ return { meta, messages };
43
+ }
44
+ export async function listSessions(cwd, limit = 15) {
45
+ const dir = path.join(cwd, SESSION_DIR);
46
+ try {
47
+ const files = (await fs.readdir(dir))
48
+ .filter(f => f.endsWith('.jsonl'))
49
+ .sort()
50
+ .reverse()
51
+ .slice(0, limit);
52
+ const metas = [];
53
+ for (const file of files) {
54
+ try {
55
+ const raw = await fs.readFile(path.join(dir, file), 'utf-8');
56
+ const first = raw.split('\n').find(Boolean);
57
+ if (!first)
58
+ continue;
59
+ const entry = JSON.parse(first);
60
+ if (entry.type === 'meta')
61
+ metas.push(entry.data);
62
+ }
63
+ catch { /* skip corrupt */ }
64
+ }
65
+ return metas;
66
+ }
67
+ catch {
68
+ return [];
69
+ }
70
+ }
71
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type KoneckFileConfig } from './config.js';
2
+ export declare function needsSetup(): Promise<boolean>;
3
+ export declare function runSetup(): Promise<KoneckFileConfig>;
4
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsC,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAExF,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAMnD;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAqD1D"}
package/dist/setup.js ADDED
@@ -0,0 +1,63 @@
1
+ import { select, input } from '@inquirer/prompts';
2
+ import { tui } from './tui.js';
3
+ import { PROVIDERS } from './providers.js';
4
+ import { loadGlobalConfig, saveGlobalConfig } from './config.js';
5
+ export async function needsSetup() {
6
+ const cfg = await loadGlobalConfig();
7
+ // Setup needed if no provider/key configured globally and no env key present
8
+ if (cfg.provider)
9
+ return false;
10
+ if (process.env['KONECK_API_KEY'] || process.env['OMNI_ROUTE_API_KEY'])
11
+ return false;
12
+ return true;
13
+ }
14
+ export async function runSetup() {
15
+ console.log('\n Welcome to KONECK!\n Let\'s set up your default provider.\n');
16
+ const providerChoices = Object.values(PROVIDERS).map(p => ({
17
+ name: `${p.name.padEnd(12)} ${p.displayName}`,
18
+ value: p.name,
19
+ }));
20
+ const provider = await select({
21
+ message: 'Default provider:',
22
+ choices: providerChoices,
23
+ default: 'omni',
24
+ });
25
+ const providerDef = PROVIDERS[provider];
26
+ let baseURL;
27
+ let apiKey;
28
+ if (provider === 'omni') {
29
+ baseURL = await input({
30
+ message: 'OmniRoute base URL:',
31
+ default: 'http://localhost:20128/v1',
32
+ });
33
+ const rawKey = await input({
34
+ message: 'OmniRoute API key (leave blank if local/no-auth):',
35
+ default: '',
36
+ });
37
+ apiKey = rawKey.trim() || 'local';
38
+ }
39
+ else {
40
+ const rawKey = await input({
41
+ message: `${providerDef?.displayName ?? provider} API key:`,
42
+ default: '',
43
+ });
44
+ if (rawKey.trim())
45
+ apiKey = rawKey.trim();
46
+ }
47
+ const model = await input({
48
+ message: 'Default model (leave blank for provider default):',
49
+ default: '',
50
+ });
51
+ const cfg = { provider };
52
+ if (baseURL)
53
+ cfg.baseURL = baseURL;
54
+ if (apiKey)
55
+ cfg.apiKey = apiKey;
56
+ if (model.trim())
57
+ cfg.model = model.trim();
58
+ await saveGlobalConfig(cfg);
59
+ tui.printSuccess(`Config saved to ~/.koneckrc`);
60
+ console.log();
61
+ return cfg;
62
+ }
63
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAW,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAExF,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACrC,6EAA6E;IAC7E,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAAE,OAAO,KAAK,CAAC;IACrF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAEhF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;QAC7C,KAAK,EAAE,CAAC,CAAC,IAAI;KACd,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,OAA2B,CAAC;IAChC,IAAI,MAA0B,CAAC;IAE/B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,GAAG,MAAM,KAAK,CAAC;YACpB,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,mDAAmD;YAC5D,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;YACzB,OAAO,EAAE,GAAG,WAAW,EAAE,WAAW,IAAI,QAAQ,WAAW;YAC3D,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,EAAE;YAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC;QACxB,OAAO,EAAE,mDAAmD;QAC5D,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;IAEH,MAAM,GAAG,GAAqB,EAAE,QAAQ,EAAE,CAAC;IAC3C,IAAI,OAAO;QAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,IAAI,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAChC,IAAI,KAAK,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE3C,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC5B,GAAG,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function runStats(cwd: string): Promise<void>;
2
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"AAgBA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EzD"}
package/dist/stats.js ADDED
@@ -0,0 +1,81 @@
1
+ import chalk from 'chalk';
2
+ import { estimateCost, formatCost } from './pricing.js';
3
+ import { listSessions } from './session.js';
4
+ function fmtIdDate(id) {
5
+ const d = id.slice(0, 8);
6
+ return `${d.slice(0, 4)}-${d.slice(4, 6)}-${d.slice(6, 8)}`;
7
+ }
8
+ function truncPad(s, max) {
9
+ if (s.length > max)
10
+ return s.slice(0, max - 3) + '...';
11
+ return s.padEnd(max);
12
+ }
13
+ export async function runStats(cwd) {
14
+ const sessions = await listSessions(cwd);
15
+ if (sessions.length === 0) {
16
+ console.log('\n No sessions found in .koneck/sessions/\n');
17
+ return;
18
+ }
19
+ console.log(chalk.bold.cyan(`\n KONECK Statistics\n ${'─'.repeat(60)}\n`));
20
+ const totalTurns = sessions.reduce((acc, s) => acc + s.turns, 0);
21
+ const totalTokens = sessions.reduce((acc, s) => acc + s.totalTokens, 0);
22
+ let totalCost = 0;
23
+ for (const s of sessions) {
24
+ const half = Math.floor(s.totalTokens / 2);
25
+ const est = estimateCost(s.model, half, s.totalTokens - half);
26
+ if (est.known)
27
+ totalCost += est.total;
28
+ }
29
+ const sortedIds = sessions.map(s => s.id).sort();
30
+ const earliest = fmtIdDate(sortedIds[0]);
31
+ const latest = fmtIdDate(sortedIds[sortedIds.length - 1]);
32
+ console.log(` Total sessions : ${sessions.length}`);
33
+ console.log(` Total turns : ${totalTurns}`);
34
+ console.log(` Total tokens : ${totalTokens}`);
35
+ console.log(` Est. cost : ${formatCost(totalCost)}`);
36
+ console.log(` Date range : ${earliest} → ${latest}`);
37
+ console.log();
38
+ const recent = sessions.slice(0, 10);
39
+ console.log(chalk.bold(' Recent sessions'));
40
+ const HDR = ` ${'Date'.padEnd(13)}` +
41
+ `${'Model'.padEnd(30)} ` +
42
+ `${'Task'.padEnd(33)} ` +
43
+ `${'Turns'.padEnd(5)} ` +
44
+ `Tokens`;
45
+ console.log(HDR);
46
+ console.log(chalk.dim(' ' + '─'.repeat(HDR.length - 2)));
47
+ for (const s of recent) {
48
+ const date = fmtIdDate(s.id).padEnd(13);
49
+ const model = truncPad(s.model, 30) + ' ';
50
+ const task = truncPad(s.task, 33) + ' ';
51
+ const turns = String(s.turns).padEnd(5) + ' ';
52
+ const tokens = String(s.totalTokens).padEnd(7);
53
+ console.log(` ${date}${model}${task}${turns}${tokens}`);
54
+ }
55
+ console.log();
56
+ const byModel = new Map();
57
+ for (const s of sessions) {
58
+ const e = byModel.get(s.model) ?? { count: 0, turns: 0, tokens: 0, cost: 0 };
59
+ e.count++;
60
+ e.turns += s.turns;
61
+ e.tokens += s.totalTokens;
62
+ const half = Math.floor(s.totalTokens / 2);
63
+ const est = estimateCost(s.model, half, s.totalTokens - half);
64
+ if (est.known)
65
+ e.cost += est.total;
66
+ byModel.set(s.model, e);
67
+ }
68
+ const modelRows = [...byModel.entries()].sort((a, b) => b[1].tokens - a[1].tokens);
69
+ console.log(chalk.bold(' By model'));
70
+ console.log(chalk.dim(' ' + '─'.repeat(80)));
71
+ for (const [model, e] of modelRows) {
72
+ const avgTurns = Math.round(e.turns / e.count);
73
+ const m = model.padEnd(35);
74
+ const c = String(e.count).padEnd(8);
75
+ const a = String(avgTurns).padEnd(8);
76
+ const t = String(e.tokens).padEnd(10);
77
+ console.log(` ${m} ${c} ${a} ${t} ${formatCost(e.cost)}`);
78
+ }
79
+ console.log();
80
+ }
81
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,SAAS,SAAS,CAAC,EAAU;IAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,GAAW;IACtC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IACvD,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW;IACxC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAEzC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAExE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAI,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QAC/D,IAAI,GAAG,CAAC,KAAK;YAAE,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC;IACxC,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,MAAM,GAAG,GACP,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QACxB,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI;QACzB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI;QACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACxB,QAAQ,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;QAC5C,MAAM,IAAI,GAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAG,EAAE,CAAC,GAAG,IAAI,CAAC;QAC5C,MAAM,KAAK,GAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0E,CAAC;IAClG,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7E,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,CAAC,CAAC,KAAK,IAAK,CAAC,CAAC,KAAK,CAAC;QACpB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAI,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QAC/D,IAAI,GAAG,CAAC,KAAK;YAAE,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ToolDefinition, ReadFilesArgs, WriteFileArgs, ApplyDiffArgs, ExecuteCommandArgs, ListDirArgs, GlobSearchArgs, GrepSearchArgs, MoveFileArgs, DeleteFileArgs, SearchReplaceArgs, FetchUrlArgs, RememberArgs, WebSearchArgs } from './types.js';
2
+ export declare const TOOL_DEFINITIONS: ToolDefinition[];
3
+ export declare function readFiles(args: ReadFilesArgs, cwd: string): Promise<string>;
4
+ export declare function writeFile(args: WriteFileArgs, cwd: string, requireApproval: boolean): Promise<string>;
5
+ export declare function applyDiff(args: ApplyDiffArgs, cwd: string, requireApproval: boolean): Promise<string>;
6
+ export declare function executeCommand(args: ExecuteCommandArgs, cwd: string, requireApproval: boolean): Promise<string>;
7
+ export declare function listDir(args: ListDirArgs, cwd: string): Promise<string>;
8
+ export declare function globSearch(args: GlobSearchArgs, cwd: string): Promise<string>;
9
+ export declare function grepSearch(args: GrepSearchArgs, cwd: string): Promise<string>;
10
+ export declare function moveFile(args: MoveFileArgs, cwd: string): Promise<string>;
11
+ export declare function deleteFile(args: DeleteFileArgs, cwd: string, requireApproval: boolean): Promise<string>;
12
+ export declare function searchReplace(args: SearchReplaceArgs, cwd: string, requireApproval: boolean): Promise<string>;
13
+ export declare function fetchUrl(args: FetchUrlArgs): Promise<string>;
14
+ export declare function webSearch(args: WebSearchArgs): Promise<string>;
15
+ export declare function remember(args: RememberArgs, cwd: string): Promise<string>;
16
+ export declare function dispatchTool(name: string, argsJson: string, cwd: string, requireApproval: boolean): Promise<string>;
17
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAoQ5C,CAAC;AAIF,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBjF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CA8BjB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwC7E;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBnF;AAgBD,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CnF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB/E;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAcD,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAmBD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BlE;AAwCD,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBpE;AAID,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/E;AAID,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC,CAuCjB"}