koneck 1.0.2 → 2.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 (52) hide show
  1. package/dist/auto-docs.d.ts +4 -0
  2. package/dist/auto-docs.d.ts.map +1 -0
  3. package/dist/auto-docs.js +57 -0
  4. package/dist/auto-docs.js.map +1 -0
  5. package/dist/chat.d.ts.map +1 -1
  6. package/dist/chat.js +676 -102
  7. package/dist/chat.js.map +1 -1
  8. package/dist/code-graph.d.ts +14 -0
  9. package/dist/code-graph.d.ts.map +1 -0
  10. package/dist/code-graph.js +167 -0
  11. package/dist/code-graph.js.map +1 -0
  12. package/dist/critique.d.ts +4 -0
  13. package/dist/critique.d.ts.map +1 -0
  14. package/dist/critique.js +36 -0
  15. package/dist/critique.js.map +1 -0
  16. package/dist/daemon.d.ts +3 -0
  17. package/dist/daemon.d.ts.map +1 -0
  18. package/dist/daemon.js +111 -0
  19. package/dist/daemon.js.map +1 -0
  20. package/dist/engine.d.ts +5 -0
  21. package/dist/engine.d.ts.map +1 -1
  22. package/dist/engine.js +17 -3
  23. package/dist/engine.js.map +1 -1
  24. package/dist/health.d.ts +2 -0
  25. package/dist/health.d.ts.map +1 -0
  26. package/dist/health.js +201 -0
  27. package/dist/health.js.map +1 -0
  28. package/dist/index.js +163 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/issues.d.ts +3 -0
  31. package/dist/issues.d.ts.map +1 -0
  32. package/dist/issues.js +77 -0
  33. package/dist/issues.js.map +1 -0
  34. package/dist/knowledge-graph.d.ts +3 -0
  35. package/dist/knowledge-graph.d.ts.map +1 -0
  36. package/dist/knowledge-graph.js +85 -0
  37. package/dist/knowledge-graph.js.map +1 -0
  38. package/dist/pipeline.d.ts +3 -0
  39. package/dist/pipeline.d.ts.map +1 -0
  40. package/dist/pipeline.js +79 -0
  41. package/dist/pipeline.js.map +1 -0
  42. package/dist/reasoning-cache.d.ts +9 -0
  43. package/dist/reasoning-cache.d.ts.map +1 -0
  44. package/dist/reasoning-cache.js +67 -0
  45. package/dist/reasoning-cache.js.map +1 -0
  46. package/dist/recon.d.ts +2 -0
  47. package/dist/recon.d.ts.map +1 -0
  48. package/dist/recon.js +121 -0
  49. package/dist/recon.js.map +1 -0
  50. package/dist/types.d.ts +12 -0
  51. package/dist/types.d.ts.map +1 -1
  52. package/package.json +1 -1
package/dist/issues.js ADDED
@@ -0,0 +1,77 @@
1
+ import { execa } from 'execa';
2
+ import chalk from 'chalk';
3
+ import { runAgent } from './engine.js';
4
+ const GH_INSTALL_MSG = 'GitHub CLI (gh) is required. Install from: https://cli.github.com/';
5
+ async function ghExec(args) {
6
+ try {
7
+ const { stdout } = await execa('gh', args);
8
+ return stdout;
9
+ }
10
+ catch (err) {
11
+ const msg = String(err.message ?? '');
12
+ if (msg.includes('ENOENT') || msg.includes('not found')) {
13
+ throw new Error(GH_INSTALL_MSG);
14
+ }
15
+ throw err;
16
+ }
17
+ }
18
+ async function listIssues() {
19
+ const raw = await ghExec(['issue', 'list', '--json', 'number,title,labels,state', '--limit', '20']);
20
+ return JSON.parse(raw);
21
+ }
22
+ async function fixIssue(issueId, config) {
23
+ const raw = await ghExec(['issue', 'view', String(issueId), '--json', 'title,body,comments']);
24
+ const issue = JSON.parse(raw);
25
+ const task = `Fix GitHub issue #${issueId}.\n\n` +
26
+ `Title: ${issue.title}\n\n` +
27
+ `Description:\n${issue.body ?? '(no description)'}\n\n` +
28
+ `Fix the issue, write tests, then create a commit with message ` +
29
+ `'fix: ${issue.title} (#${issueId})'.`;
30
+ await runAgent(task, config);
31
+ console.log(chalk.green(`\nDone. Run 'gh pr create' to open a PR.`));
32
+ }
33
+ export async function runIssues(action, config, issueId) {
34
+ try {
35
+ if (action === 'list') {
36
+ const issues = await listIssues();
37
+ if (issues.length === 0) {
38
+ console.log('No open issues found.');
39
+ return;
40
+ }
41
+ console.log(chalk.bold('\n # State Labels Title'));
42
+ console.log(' ' + '─'.repeat(72));
43
+ for (const issue of issues) {
44
+ const num = chalk.cyan(`#${issue.number}`.padEnd(6));
45
+ const state = (issue.state === 'OPEN' ? chalk.green('Open ') : chalk.gray('Closed'));
46
+ const labels = issue.labels.map(l => l.name).join(', ').padEnd(15).slice(0, 15);
47
+ console.log(` ${num} ${state} ${chalk.yellow(labels)} ${issue.title}`);
48
+ }
49
+ console.log();
50
+ return;
51
+ }
52
+ // fix
53
+ if (issueId !== undefined) {
54
+ await fixIssue(issueId, config);
55
+ }
56
+ else {
57
+ const issues = await listIssues();
58
+ const bug = issues.find(i => i.state === 'OPEN' && i.labels.some(l => l.name.toLowerCase().includes('bug'))) ?? issues.find(i => i.state === 'OPEN');
59
+ if (!bug) {
60
+ console.log('No open issues to fix.');
61
+ return;
62
+ }
63
+ console.log(chalk.cyan(`Auto-selected issue #${bug.number}: ${bug.title}`));
64
+ await fixIssue(bug.number, config);
65
+ }
66
+ }
67
+ catch (err) {
68
+ const msg = String(err.message ?? err);
69
+ if (msg.includes('cli.github.com')) {
70
+ console.error(chalk.red(msg));
71
+ }
72
+ else {
73
+ throw err;
74
+ }
75
+ }
76
+ }
77
+ //# sourceMappingURL=issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../src/issues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function buildKnowledgeGraph(cwd: string): Promise<void>;
2
+ export declare function queryKnowledgeGraph(concept: string, cwd: string): Promise<string>;
3
+ //# sourceMappingURL=knowledge-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"AAoCA,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CpE;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBvF"}
@@ -0,0 +1,85 @@
1
+ import { readFile, writeFile, mkdir } from 'fs/promises';
2
+ import { existsSync } from 'fs';
3
+ import path from 'path';
4
+ import { globby } from 'globby';
5
+ import ora from 'ora';
6
+ const CONCEPTS = [
7
+ 'auth', 'user', 'login', 'session', 'token', 'payment', 'order', 'product',
8
+ 'cart', 'email', 'file', 'upload', 'search', 'api', 'route', 'middleware',
9
+ 'database', 'cache', 'queue', 'notification',
10
+ ];
11
+ function splitCamel(name) {
12
+ return name
13
+ .replace(/_/g, ' ')
14
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
15
+ .toLowerCase()
16
+ .split(/\s+/)
17
+ .filter(Boolean);
18
+ }
19
+ function graphPath(cwd) {
20
+ return path.join(cwd, '.koneck', 'knowledge-graph.json');
21
+ }
22
+ export async function buildKnowledgeGraph(cwd) {
23
+ const spinner = ora('Building knowledge graph…').start();
24
+ const files = await globby(['**/*.ts', '**/*.js'], {
25
+ cwd,
26
+ ignore: ['node_modules/**', 'dist/**', '.koneck/**'],
27
+ absolute: false,
28
+ });
29
+ const conceptMap = new Map();
30
+ for (const file of files) {
31
+ const abs = path.join(cwd, file);
32
+ let src;
33
+ try {
34
+ src = await readFile(abs, 'utf8');
35
+ }
36
+ catch {
37
+ continue;
38
+ }
39
+ const lines = src.split('\n');
40
+ const symRe = /export\s+(function|class|const|interface)\s+(\w+)/g;
41
+ for (let i = 0; i < lines.length; i++) {
42
+ let m;
43
+ symRe.lastIndex = 0;
44
+ while ((m = symRe.exec(lines[i])) !== null) {
45
+ const symbol = m[2];
46
+ const parts = splitCamel(symbol);
47
+ for (const concept of CONCEPTS) {
48
+ if (parts.some(p => p.includes(concept) || concept.includes(p))) {
49
+ if (!conceptMap.has(concept))
50
+ conceptMap.set(concept, []);
51
+ conceptMap.get(concept).push({ file, line: i + 1, symbol, confidence: 0.8 });
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ const entries = Array.from(conceptMap.entries()).map(([concept, locations]) => ({
58
+ concept,
59
+ locations,
60
+ updatedAt: new Date().toISOString(),
61
+ }));
62
+ const data = { entries, builtAt: new Date().toISOString() };
63
+ const dest = graphPath(cwd);
64
+ await mkdir(path.dirname(dest), { recursive: true });
65
+ await writeFile(dest, JSON.stringify(data, null, 2));
66
+ spinner.succeed(`Knowledge graph built: ${entries.length} concepts across ${files.length} files`);
67
+ }
68
+ export async function queryKnowledgeGraph(concept, cwd) {
69
+ if (!existsSync(graphPath(cwd)))
70
+ await buildKnowledgeGraph(cwd);
71
+ const raw = await readFile(graphPath(cwd), 'utf8');
72
+ const data = JSON.parse(raw);
73
+ const q = concept.toLowerCase();
74
+ const matched = data.entries.filter(e => e.concept.includes(q) || q.includes(e.concept));
75
+ if (matched.length === 0)
76
+ return `No results found for "${concept}".`;
77
+ const lines = [`"${concept}" is implemented in:`];
78
+ for (const entry of matched) {
79
+ for (const loc of entry.locations) {
80
+ lines.push(` ${loc.symbol.padEnd(24)}→ ${loc.file}:${loc.line}`);
81
+ }
82
+ }
83
+ return lines.join('\n');
84
+ }
85
+ //# sourceMappingURL=knowledge-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../src/knowledge-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { AgentConfig } from './types.js';
2
+ export declare function runPipeline(task: string, config: AgentConfig): Promise<void>;
3
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,YAAY,CAAC;AA2CvD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DlF"}
@@ -0,0 +1,79 @@
1
+ import chalk from 'chalk';
2
+ import * as readline from 'node:readline';
3
+ import { runAgent } from './engine.js';
4
+ function lastAssistantText(messages) {
5
+ for (let i = messages.length - 1; i >= 0; i--) {
6
+ const m = messages[i];
7
+ if (m.role === 'assistant' && typeof m.content === 'string' && m.content.trim()) {
8
+ return m.content;
9
+ }
10
+ }
11
+ return '';
12
+ }
13
+ function printStageHeader(index, total, name) {
14
+ const label = `[${index}/${total}] ${name}`;
15
+ const line = '━'.repeat(Math.max(0, 40 - label.length - 4));
16
+ console.log(chalk.cyan(`\n━━━ ${label} ${line}`));
17
+ }
18
+ function printBox(title, body) {
19
+ const width = 60;
20
+ const border = '─'.repeat(width);
21
+ console.log(chalk.yellow(`┌${border}┐`));
22
+ console.log(chalk.yellow(`│ ${chalk.bold(title.padEnd(width - 1))}│`));
23
+ console.log(chalk.yellow(`├${border}┤`));
24
+ for (const line of body.split('\n')) {
25
+ const truncated = line.slice(0, width - 2);
26
+ console.log(chalk.yellow('│ ') + truncated.padEnd(width - 2) + chalk.yellow(' │'));
27
+ }
28
+ console.log(chalk.yellow(`└${border}┘`));
29
+ }
30
+ async function askApproval(prompt) {
31
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
32
+ return new Promise((resolve) => {
33
+ rl.question(prompt, (answer) => {
34
+ rl.close();
35
+ const trimmed = answer.trim().toLowerCase();
36
+ resolve(trimmed !== 'n' && trimmed !== 'no');
37
+ });
38
+ });
39
+ }
40
+ export async function runPipeline(task, config) {
41
+ // ── 1. Planner ────────────────────────────────────────────────────────────
42
+ printStageHeader(1, 5, 'Planning');
43
+ const plannerConfig = { ...config, silent: true, maxTurns: 8 };
44
+ const plannerSession = await runAgent(`You are a planning agent. For this task: '${task}'\n\nProduce a structured plan:\n1. Requirements (what exactly needs to change)\n2. Files affected (list specific files)\n3. Risk estimate (low/medium/high and why)\n4. Step-by-step implementation plan\n\nDo NOT write any code. Just plan.`, plannerConfig);
45
+ const plannerOutput = lastAssistantText(plannerSession.messages);
46
+ printBox('Plan', plannerOutput || '(no output from planner)');
47
+ const approved = await askApproval(chalk.bold('\nApprove this plan and proceed? [Y/n] '));
48
+ if (!approved) {
49
+ console.log(chalk.red('Pipeline aborted by user.'));
50
+ return;
51
+ }
52
+ // ── 2. Researcher ─────────────────────────────────────────────────────────
53
+ printStageHeader(2, 5, 'Research');
54
+ const researcherConfig = { ...config, silent: true, maxTurns: 10 };
55
+ const researcherSession = await runAgent(`You are a research agent. The task is: '${task}'\nThe plan is:\n${plannerOutput}\n\nRead all relevant files, understand the codebase, and write a detailed technical analysis. Do NOT make changes. Output everything you learn as structured notes.`, researcherConfig);
56
+ const researcherOutput = lastAssistantText(researcherSession.messages);
57
+ // ── 3. Coder ──────────────────────────────────────────────────────────────
58
+ printStageHeader(3, 5, 'Coding');
59
+ const coderConfig = { ...config, maxTurns: 20 };
60
+ await runAgent(`You are a coding agent. Implement this task: '${task}'\nPlan:\n${plannerOutput}\nResearch:\n${researcherOutput}\n\nImplement the plan step by step. Write tests as you go.`, coderConfig);
61
+ // ── 4. Reviewer ───────────────────────────────────────────────────────────
62
+ printStageHeader(4, 5, 'Review');
63
+ const reviewerConfig = { ...config, silent: true, maxTurns: 8 };
64
+ const reviewerSession = await runAgent(`You are a code reviewer. Review the implementation for task: '${task}'. Check for: correctness, security vulnerabilities, performance issues, missing tests, breaking changes. List issues found with file:line references.`, reviewerConfig);
65
+ const reviewOutput = lastAssistantText(reviewerSession.messages);
66
+ if (reviewOutput) {
67
+ printBox('Review Findings', reviewOutput);
68
+ }
69
+ // ── 5. Tester ─────────────────────────────────────────────────────────────
70
+ printStageHeader(5, 5, 'Testing');
71
+ const testerConfig = { ...config, silent: true, maxTurns: 10 };
72
+ const testerSession = await runAgent(`You are a test agent. Run the test suite. If tests fail, fix the failures. Report final test status.`, testerConfig);
73
+ const testOutput = lastAssistantText(testerSession.messages);
74
+ if (testOutput) {
75
+ console.log(chalk.green('\nTest Report:\n') + testOutput);
76
+ }
77
+ console.log(chalk.green.bold('\n✓ Pipeline complete.'));
78
+ }
79
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,SAAS,iBAAiB,CAAC,QAAmB;IAC5C,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChF,OAAO,CAAC,CAAC,OAAO,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa,EAAE,IAAY;IAClE,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,IAAY;IAC3C,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAc;IACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,MAAmB;IACjE,6EAA6E;IAC7E,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,aAAa,GAAgB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5E,MAAM,cAAc,GAAG,MAAM,QAAQ,CACnC,6CAA6C,IAAI,gPAAgP,EACjS,aAAa,CACd,CAAC;IACF,MAAM,aAAa,GAAG,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjE,QAAQ,CAAC,MAAM,EAAE,aAAa,IAAI,0BAA0B,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,6EAA6E;IAC7E,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,gBAAgB,GAAgB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAChF,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CACtC,2CAA2C,IAAI,oBAAoB,aAAa,sKAAsK,EACtP,gBAAgB,CACjB,CAAC;IACF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEvE,6EAA6E;IAC7E,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,WAAW,GAAgB,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7D,MAAM,QAAQ,CACZ,iDAAiD,IAAI,aAAa,aAAa,gBAAgB,gBAAgB,6DAA6D,EAC5K,WAAW,CACZ,CAAC;IAEF,6EAA6E;IAC7E,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,cAAc,GAAgB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC7E,MAAM,eAAe,GAAG,MAAM,QAAQ,CACpC,iEAAiE,IAAI,wJAAwJ,EAC7N,cAAc,CACf,CAAC;IACF,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,6EAA6E;IAC7E,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,YAAY,GAAgB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC5E,MAAM,aAAa,GAAG,MAAM,QAAQ,CAClC,sGAAsG,EACtG,YAAY,CACb,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare function getCached(key: string, cwd: string): Promise<string | null>;
2
+ export declare function setCached(key: string, value: string, cwd: string, ttlSeconds?: number): Promise<void>;
3
+ export declare function clearCache(cwd: string): Promise<void>;
4
+ export declare function getCacheStats(cwd: string): Promise<{
5
+ entries: number;
6
+ sizeKb: number;
7
+ oldestEntry: string | null;
8
+ }>;
9
+ //# sourceMappingURL=reasoning-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-cache.d.ts","sourceRoot":"","sources":["../src/reasoning-cache.ts"],"names":[],"mappings":"AAwBA,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUhF;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzG;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3D;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAqB1E"}
@@ -0,0 +1,67 @@
1
+ import { readFile, writeFile, mkdir, readdir, unlink, stat } from 'fs/promises';
2
+ import { existsSync } from 'fs';
3
+ import path from 'path';
4
+ function hashKey(s) {
5
+ let h = 5381;
6
+ for (let i = 0; i < s.length; i++)
7
+ h = ((h << 5) + h) ^ s.charCodeAt(i);
8
+ return (h >>> 0).toString(16);
9
+ }
10
+ function cacheDir(cwd) {
11
+ return path.join(cwd, '.koneck', 'cache');
12
+ }
13
+ function entryPath(cwd, key) {
14
+ return path.join(cacheDir(cwd), `${hashKey(key)}.json`);
15
+ }
16
+ export async function getCached(key, cwd) {
17
+ const file = entryPath(cwd, key);
18
+ if (!existsSync(file))
19
+ return null;
20
+ try {
21
+ const entry = JSON.parse(await readFile(file, 'utf8'));
22
+ if (Date.now() > entry.expiresAt) {
23
+ await unlink(file).catch(() => { });
24
+ return null;
25
+ }
26
+ return entry.value;
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
32
+ export async function setCached(key, value, cwd, ttlSeconds = 3600) {
33
+ await mkdir(cacheDir(cwd), { recursive: true });
34
+ const entry = { key, value, expiresAt: Date.now() + ttlSeconds * 1000 };
35
+ await writeFile(entryPath(cwd, key), JSON.stringify(entry));
36
+ }
37
+ export async function clearCache(cwd) {
38
+ const dir = cacheDir(cwd);
39
+ if (!existsSync(dir)) {
40
+ console.log('Reasoning cache cleared.');
41
+ return;
42
+ }
43
+ const files = await readdir(dir);
44
+ await Promise.all(files.map(f => unlink(path.join(dir, f))));
45
+ console.log('Reasoning cache cleared.');
46
+ }
47
+ export async function getCacheStats(cwd) {
48
+ const dir = cacheDir(cwd);
49
+ if (!existsSync(dir))
50
+ return { entries: 0, sizeKb: 0, oldestEntry: null };
51
+ const files = await readdir(dir);
52
+ if (files.length === 0)
53
+ return { entries: 0, sizeKb: 0, oldestEntry: null };
54
+ let totalBytes = 0;
55
+ let oldestMtime = Infinity;
56
+ let oldestEntry = null;
57
+ for (const f of files) {
58
+ const info = await stat(path.join(dir, f));
59
+ totalBytes += info.size;
60
+ if (info.mtimeMs < oldestMtime) {
61
+ oldestMtime = info.mtimeMs;
62
+ oldestEntry = new Date(info.mtimeMs).toISOString();
63
+ }
64
+ }
65
+ return { entries: files.length, sizeKb: Math.round(totalBytes / 1024), oldestEntry };
66
+ }
67
+ //# sourceMappingURL=reasoning-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-cache.js","sourceRoot":"","sources":["../src/reasoning-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function gatherRecon(task: string, cwd: string): Promise<string>;
2
+ //# sourceMappingURL=recon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recon.d.ts","sourceRoot":"","sources":["../src/recon.ts"],"names":[],"mappings":"AAaA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkH5E"}
package/dist/recon.js ADDED
@@ -0,0 +1,121 @@
1
+ import { readFile, stat } from 'fs/promises';
2
+ import { execa } from 'execa';
3
+ import { globby } from 'globby';
4
+ import chalk from 'chalk';
5
+ const MAX_KEYWORDS = 15;
6
+ const MAX_GREP_KEYWORDS = 3;
7
+ const MAX_FILES_PER_KEYWORD = 5;
8
+ const MAX_TOTAL_FILES = 8;
9
+ const SNIPPET_LINES = 60;
10
+ const MAX_FILE_BYTES = 100 * 1024; // 100 KB
11
+ const MIN_CONTENT_LENGTH = 100;
12
+ export async function gatherRecon(task, cwd) {
13
+ try {
14
+ // 1. Extract keywords
15
+ const keywords = task
16
+ .split(/[\s\W]+/)
17
+ .filter(t => t.length > 3)
18
+ .filter((t, i, a) => a.indexOf(t) === i)
19
+ .slice(0, MAX_KEYWORDS);
20
+ console.log(chalk.dim(`↳ recon: keywords → ${keywords.slice(0, MAX_GREP_KEYWORDS).join(', ')}`));
21
+ // 2. Grep for symbols across .ts/.js/.py/.go files
22
+ const grepKeywords = keywords.slice(0, MAX_GREP_KEYWORDS);
23
+ const foundFiles = new Set();
24
+ for (const kw of grepKeywords) {
25
+ try {
26
+ const { stdout } = await execa('grep', [
27
+ '-rn',
28
+ '--include=*.ts',
29
+ '--include=*.js',
30
+ '--include=*.py',
31
+ '--include=*.go',
32
+ '-l',
33
+ kw,
34
+ '.',
35
+ ], { cwd, reject: false });
36
+ const paths = stdout.trim().split('\n').filter(Boolean).slice(0, MAX_FILES_PER_KEYWORD);
37
+ for (const p of paths)
38
+ foundFiles.add(p.replace(/^\.\//, ''));
39
+ }
40
+ catch {
41
+ // grep failure is non-fatal
42
+ }
43
+ }
44
+ // 3. Check for test files mentioning keywords
45
+ try {
46
+ const testPatterns = ['**/*.test.*', '**/*.spec.*', '**/__tests__/**/*'];
47
+ const testFiles = await globby(testPatterns, {
48
+ cwd,
49
+ ignore: ['node_modules/**', 'dist/**'],
50
+ absolute: false,
51
+ });
52
+ for (const kw of grepKeywords) {
53
+ for (const tf of testFiles) {
54
+ if (tf.toLowerCase().includes(kw.toLowerCase())) {
55
+ foundFiles.add(tf);
56
+ break;
57
+ }
58
+ }
59
+ }
60
+ }
61
+ catch {
62
+ // non-fatal
63
+ }
64
+ // 4. Read snippets (max 8 files, skip >100 KB)
65
+ const filesToRead = [...foundFiles].slice(0, MAX_TOTAL_FILES);
66
+ const snippets = [];
67
+ for (const rel of filesToRead) {
68
+ try {
69
+ const abs = rel.startsWith('/') ? rel : `${cwd}/${rel}`;
70
+ const s = await stat(abs);
71
+ if (s.size > MAX_FILE_BYTES)
72
+ continue;
73
+ const content = await readFile(abs, 'utf8');
74
+ const first60 = content.split('\n').slice(0, SNIPPET_LINES).join('\n');
75
+ snippets.push(`--- ${rel} (first ${SNIPPET_LINES} lines) ---\n${first60}`);
76
+ }
77
+ catch {
78
+ // non-fatal
79
+ }
80
+ }
81
+ console.log(chalk.dim(`↳ recon: ${filesToRead.length} file(s) found, ${snippets.length} snippet(s) read`));
82
+ // 5. Git context
83
+ let gitLog = '';
84
+ let gitDiff = '';
85
+ try {
86
+ const log = await execa('git', ['log', '--oneline', '-10'], { cwd, reject: false });
87
+ gitLog = log.stdout.trim();
88
+ }
89
+ catch { /* non-fatal */ }
90
+ try {
91
+ const diff = await execa('git', ['diff', '--stat', 'HEAD'], { cwd, reject: false });
92
+ gitDiff = diff.stdout.trim();
93
+ }
94
+ catch { /* non-fatal */ }
95
+ // 6. Build context block
96
+ const parts = [
97
+ `Keywords extracted: ${keywords.join(', ')}`,
98
+ `Relevant files found: ${filesToRead.length ? filesToRead.join(', ') : 'none'}`,
99
+ ];
100
+ if (gitLog || gitDiff) {
101
+ parts.push('Recent git activity:');
102
+ if (gitLog)
103
+ parts.push(gitLog);
104
+ if (gitDiff)
105
+ parts.push(gitDiff);
106
+ }
107
+ if (snippets.length) {
108
+ parts.push('File snippets:');
109
+ parts.push(...snippets);
110
+ }
111
+ const inner = parts.join('\n');
112
+ if (inner.length < MIN_CONTENT_LENGTH)
113
+ return '';
114
+ return `<recon>\n${inner}\n</recon>`;
115
+ }
116
+ catch {
117
+ // recon must never crash the main flow
118
+ return '';
119
+ }
120
+ }
121
+ //# sourceMappingURL=recon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recon.js","sourceRoot":"","sources":["../src/recon.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -154,5 +154,17 @@ export interface CLIArgs {
154
154
  watchPattern?: string;
155
155
  setupMode: boolean;
156
156
  prMode: boolean;
157
+ updateMode: boolean;
158
+ authMode: boolean;
159
+ authAction?: string;
160
+ resumeLast: boolean;
161
+ resumePick: boolean;
162
+ healthMode: boolean;
163
+ daemonMode: boolean;
164
+ daemonAction?: string;
165
+ issuesMode: boolean;
166
+ issuesAction?: string;
167
+ issueId?: number;
168
+ pipelineMode: boolean;
157
169
  }
158
170
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koneck",
3
- "version": "1.0.2",
3
+ "version": "2.0.0",
4
4
  "description": "Kinetically Orchestrated Neural Execution Engine for Code",
5
5
  "type": "module",
6
6
  "bin": {