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,206 @@
1
+ import { execa } from 'execa';
2
+ export const GIT_TOOL_DEFINITIONS = [
3
+ {
4
+ name: 'git_status',
5
+ description: 'Show working tree status',
6
+ parameters: {
7
+ type: 'object',
8
+ properties: {
9
+ cwd: { type: 'string', description: 'Working directory override' },
10
+ },
11
+ required: [],
12
+ },
13
+ },
14
+ {
15
+ name: 'git_diff',
16
+ description: 'Show diff',
17
+ parameters: {
18
+ type: 'object',
19
+ properties: {
20
+ staged: { type: 'boolean', description: 'Show staged changes' },
21
+ ref: { type: 'string', description: 'Diff against this ref' },
22
+ path: { type: 'string', description: 'Limit diff to this path' },
23
+ },
24
+ required: [],
25
+ },
26
+ },
27
+ {
28
+ name: 'git_log',
29
+ description: 'Show recent commits',
30
+ parameters: {
31
+ type: 'object',
32
+ properties: {
33
+ n: { type: 'number', description: 'Number of commits to show' },
34
+ oneline: { type: 'boolean', description: 'Show each commit on one line' },
35
+ },
36
+ required: [],
37
+ },
38
+ },
39
+ {
40
+ name: 'git_commit',
41
+ description: 'Stage and commit changes',
42
+ parameters: {
43
+ type: 'object',
44
+ properties: {
45
+ message: { type: 'string', description: 'Commit message' },
46
+ paths: {
47
+ type: 'array',
48
+ items: { type: 'string' },
49
+ description: 'Paths to stage (defaults to ["."])',
50
+ },
51
+ },
52
+ required: ['message'],
53
+ },
54
+ },
55
+ {
56
+ name: 'git_create_branch',
57
+ description: 'Create and checkout a new branch',
58
+ parameters: {
59
+ type: 'object',
60
+ properties: {
61
+ name: { type: 'string', description: 'Branch name' },
62
+ from: { type: 'string', description: 'Starting ref' },
63
+ },
64
+ required: ['name'],
65
+ },
66
+ },
67
+ {
68
+ name: 'git_push',
69
+ description: 'Push to remote',
70
+ parameters: {
71
+ type: 'object',
72
+ properties: {
73
+ remote: { type: 'string', description: 'Remote name (default: origin)' },
74
+ branch: { type: 'string', description: 'Branch to push' },
75
+ set_upstream: { type: 'boolean', description: 'Set upstream tracking (-u)' },
76
+ },
77
+ required: [],
78
+ },
79
+ },
80
+ {
81
+ name: 'git_checkout',
82
+ description: 'Checkout a branch or restore a file',
83
+ parameters: {
84
+ type: 'object',
85
+ properties: {
86
+ target: { type: 'string', description: 'Branch name or file path' },
87
+ file: { type: 'boolean', description: 'Treat target as a file path (uses --)' },
88
+ },
89
+ required: ['target'],
90
+ },
91
+ },
92
+ {
93
+ name: 'git_stash',
94
+ description: 'Stash operations: push, pop, or list',
95
+ parameters: {
96
+ type: 'object',
97
+ properties: {
98
+ action: {
99
+ type: 'string',
100
+ enum: ['push', 'pop', 'list'],
101
+ description: 'Stash action to perform',
102
+ },
103
+ message: { type: 'string', description: 'Stash message (push only)' },
104
+ },
105
+ required: ['action'],
106
+ },
107
+ },
108
+ ];
109
+ export async function dispatchGitTool(name, argsJson, cwd) {
110
+ let args;
111
+ try {
112
+ args = JSON.parse(argsJson);
113
+ }
114
+ catch (e) {
115
+ return 'ERROR: Failed to parse tool arguments: ' + (e instanceof Error ? e.message : String(e));
116
+ }
117
+ const run = async (cmd, cmdArgs) => {
118
+ try {
119
+ const result = await execa(cmd, cmdArgs, { cwd, all: true });
120
+ return result.all ?? '';
121
+ }
122
+ catch (e) {
123
+ const err = e;
124
+ return 'ERROR: ' + (err.message ?? String(e)) + '\n' + (err.all ?? '');
125
+ }
126
+ };
127
+ if (name === 'git_status') {
128
+ const effectiveCwd = typeof args['cwd'] === 'string' ? args['cwd'] : cwd;
129
+ try {
130
+ const result = await execa('git', ['status'], { cwd: effectiveCwd, all: true });
131
+ return result.all ?? '';
132
+ }
133
+ catch (e) {
134
+ const err = e;
135
+ return 'ERROR: ' + (err.message ?? String(e)) + '\n' + (err.all ?? '');
136
+ }
137
+ }
138
+ if (name === 'git_diff') {
139
+ const diffArgs = ['diff'];
140
+ if (args['staged'] === true)
141
+ diffArgs.push('--cached');
142
+ if (typeof args['ref'] === 'string')
143
+ diffArgs.push(args['ref']);
144
+ if (typeof args['path'] === 'string') {
145
+ diffArgs.push('--');
146
+ diffArgs.push(args['path']);
147
+ }
148
+ return run('git', diffArgs);
149
+ }
150
+ if (name === 'git_log') {
151
+ const logArgs = ['log'];
152
+ if (args['oneline'] === true)
153
+ logArgs.push('--oneline');
154
+ if (typeof args['n'] === 'number')
155
+ logArgs.push(`-n`, String(args['n']));
156
+ return run('git', logArgs);
157
+ }
158
+ if (name === 'git_commit') {
159
+ const message = typeof args['message'] === 'string' ? args['message'] : '';
160
+ const paths = Array.isArray(args['paths']) && args['paths'].length > 0
161
+ ? args['paths']
162
+ : ['.'];
163
+ const addOutput = await run('git', ['add', ...paths]);
164
+ const commitOutput = await run('git', ['commit', '-m', message]);
165
+ return addOutput + commitOutput;
166
+ }
167
+ if (name === 'git_create_branch') {
168
+ const branchName = typeof args['name'] === 'string' ? args['name'] : '';
169
+ const branchArgs = ['checkout', '-b', branchName];
170
+ if (typeof args['from'] === 'string')
171
+ branchArgs.push(args['from']);
172
+ return run('git', branchArgs);
173
+ }
174
+ if (name === 'git_push') {
175
+ const pushArgs = ['push', typeof args['remote'] === 'string' ? args['remote'] : 'origin'];
176
+ if (args['set_upstream'] === true)
177
+ pushArgs.push('-u');
178
+ if (typeof args['branch'] === 'string')
179
+ pushArgs.push(args['branch']);
180
+ return run('git', pushArgs);
181
+ }
182
+ if (name === 'git_checkout') {
183
+ const target = typeof args['target'] === 'string' ? args['target'] : '';
184
+ if (args['file'] === true) {
185
+ return run('git', ['checkout', '--', target]);
186
+ }
187
+ return run('git', ['checkout', target]);
188
+ }
189
+ if (name === 'git_stash') {
190
+ const action = args['action'];
191
+ if (action === 'push') {
192
+ const stashArgs = ['stash', 'push'];
193
+ if (typeof args['message'] === 'string') {
194
+ stashArgs.push('-m', args['message']);
195
+ }
196
+ return run('git', stashArgs);
197
+ }
198
+ if (action === 'pop')
199
+ return run('git', ['stash', 'pop']);
200
+ if (action === 'list')
201
+ return run('git', ['stash', 'list']);
202
+ return 'ERROR: Unknown stash action: ' + String(action);
203
+ }
204
+ return 'ERROR: Unknown git tool: ' + name;
205
+ }
206
+ //# sourceMappingURL=git-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-tools.js","sourceRoot":"","sources":["../src/git-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;aACnE;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC/D,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;aACjE;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qBAAqB;QAClC,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,EAAE;aAC1E;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;gBAC1D,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,oCAAoC;iBAClD;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kCAAkC;QAC/C,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;aACtD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gBAAgB;QAC7B,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBACxE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;gBACzD,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;aAC7E;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qCAAqC;QAClD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBACnE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uCAAuC,EAAE;aAChF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,sCAAsC;QACnD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;oBAC7B,WAAW,EAAE,yBAAyB;iBACvC;gBACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACtE;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,QAAgB,EAAE,GAAW;IAC/E,IAAI,IAA6B,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA4B,CAAC;IACzD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,yCAAyC,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,EAAE,GAAW,EAAE,OAAiB,EAAmB,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAAuC,CAAC;YACpD,OAAO,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,OAAO,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAAuC,CAAC;YACpD,OAAO,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAa,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,OAAO,GAAa,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YACpE,CAAC,CAAE,IAAI,CAAC,OAAO,CAAc;YAC7B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,OAAO,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,UAAU,GAAa,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAa,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,SAAS,GAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACxC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1D,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,OAAO,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,2BAA2B,GAAG,IAAI,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function highlightLines(lines: string[], filename: string): string[];
2
+ export declare function langLabel(filename: string): string;
3
+ //# sourceMappingURL=highlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../src/highlight.ts"],"names":[],"mappings":"AAoIA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAa1E;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOlD"}
@@ -0,0 +1,139 @@
1
+ import chalk from 'chalk';
2
+ const JS_KEYWORDS = new Set([
3
+ 'import', 'export', 'from', 'as', 'default', 'async', 'await', 'return', 'function',
4
+ 'class', 'extends', 'new', 'this', 'super', 'const', 'let', 'var', 'if', 'else',
5
+ 'for', 'while', 'do', 'switch', 'case', 'break', 'continue', 'try', 'catch', 'finally',
6
+ 'throw', 'typeof', 'instanceof', 'in', 'of', 'void', 'delete', 'yield', 'static',
7
+ 'get', 'set', 'public', 'private', 'protected', 'abstract', 'interface', 'type',
8
+ 'enum', 'namespace', 'declare', 'readonly', 'override', 'implements',
9
+ ]);
10
+ const HTML_VOID = new Set([
11
+ 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param',
12
+ 'source', 'track', 'wbr',
13
+ ]);
14
+ function langFromExt(filename) {
15
+ const ext = filename.split('.').pop()?.toLowerCase() ?? '';
16
+ const map = {
17
+ html: 'html', htm: 'html',
18
+ css: 'css', scss: 'css', sass: 'css', less: 'css',
19
+ js: 'js', jsx: 'js', ts: 'js', tsx: 'js', mjs: 'js', cjs: 'js',
20
+ json: 'json',
21
+ py: 'py',
22
+ sh: 'sh', bash: 'sh', zsh: 'sh', fish: 'sh',
23
+ md: 'md', mdx: 'md',
24
+ };
25
+ return map[ext] ?? 'generic';
26
+ }
27
+ // ─── Per-language line colorizers ────────────────────────────────────────────
28
+ function colorHtmlLine(line) {
29
+ const t = line.trim();
30
+ if (t.startsWith('<!--'))
31
+ return chalk.gray(line);
32
+ if (t.startsWith('<!'))
33
+ return chalk.blue.dim(line);
34
+ if (!t.startsWith('<') && !t.includes('<'))
35
+ return chalk.white(line);
36
+ // Tokenise tag + attributes
37
+ return line.replace(/(<\/?)(\w[\w.-]*)([^>]*)(\/?>)/g, (_, open, tag, attrs, close) => {
38
+ const coloredTag = chalk.blue(open) + chalk.blue.bold(tag);
39
+ const coloredAttrs = attrs
40
+ .replace(/([\w-]+)(=)("([^"]*)")/g, (_, attr, eq, quoted) => chalk.yellow(attr) + eq + chalk.green(quoted))
41
+ .replace(/([\w-]+)(=)('([^']*)')/g, (_, attr, eq, quoted) => chalk.yellow(attr) + eq + chalk.green(quoted))
42
+ .replace(/([\w-]+)(?=[^=]|$)/g, (m) => chalk.yellow(m));
43
+ return coloredTag + coloredAttrs + chalk.blue(close);
44
+ });
45
+ }
46
+ function colorCssLine(line) {
47
+ const t = line.trim();
48
+ if (t.startsWith('//') || t.startsWith('/*') || t.startsWith('*'))
49
+ return chalk.gray(line);
50
+ if (t.endsWith('{') || t.endsWith(','))
51
+ return chalk.blue(line); // selector
52
+ if (t.includes(':') && !t.startsWith('@')) {
53
+ const colon = t.indexOf(':');
54
+ const prop = t.slice(0, colon).trim();
55
+ const val = t.slice(colon + 1).trim();
56
+ const indent = line.slice(0, line.indexOf(prop));
57
+ return indent + chalk.yellow(prop) + chalk.dim(':') + ' ' + chalk.green(val);
58
+ }
59
+ if (t.startsWith('@'))
60
+ return chalk.magenta(line);
61
+ return line;
62
+ }
63
+ function colorJsLine(line) {
64
+ const t = line.trim();
65
+ if (t.startsWith('//') || t.startsWith('*') || t.startsWith('/*'))
66
+ return chalk.gray(line);
67
+ return line
68
+ // strings (simple, avoids nested)
69
+ .replace(/(["'`])(?:(?!\1)[^\\]|\\.)*\1/g, m => chalk.green(m))
70
+ // numbers
71
+ .replace(/\b(\d+\.?\d*)\b/g, m => chalk.cyan(m))
72
+ // keywords
73
+ .replace(/\b([a-zA-Z_$][\w$]*)\b/g, m => JS_KEYWORDS.has(m) ? chalk.blue.bold(m) : m)
74
+ // function/method calls
75
+ .replace(/\b([a-zA-Z_$][\w$]*)\s*\(/g, (_, fn) => JS_KEYWORDS.has(fn) ? chalk.blue.bold(fn) + '(' : chalk.yellow(fn) + '(')
76
+ // operators
77
+ .replace(/([=!<>]=?|[+\-*/%])/g, m => chalk.dim(m));
78
+ }
79
+ function colorJsonLine(line) {
80
+ return line
81
+ .replace(/"([^"]+)"(\s*:)/g, (_, k, c) => chalk.cyan('"' + k + '"') + chalk.dim(c))
82
+ .replace(/:\s*("([^"]*)")/g, (_, quoted) => ': ' + chalk.green(quoted))
83
+ .replace(/:\s*(-?\d+\.?\d*)/g, (_, n) => ': ' + chalk.yellow(n))
84
+ .replace(/:\s*(true|false|null)/g, (_, b) => ': ' + chalk.magenta(b));
85
+ }
86
+ function colorPyLine(line) {
87
+ const t = line.trim();
88
+ if (t.startsWith('#'))
89
+ return chalk.gray(line);
90
+ const PY_KW = /\b(def|class|import|from|as|return|if|elif|else|for|while|in|not|and|or|with|pass|break|continue|try|except|finally|raise|yield|lambda|async|await|True|False|None)\b/g;
91
+ return line
92
+ .replace(/(["']{3}[\s\S]*?["']{3}|["'][^"']*["'])/g, m => chalk.green(m))
93
+ .replace(PY_KW, m => chalk.blue.bold(m))
94
+ .replace(/\b([a-zA-Z_]\w*)\s*\(/g, (_, fn) => chalk.yellow(fn) + '(');
95
+ }
96
+ function colorShLine(line) {
97
+ const t = line.trim();
98
+ if (t.startsWith('#'))
99
+ return chalk.gray(line);
100
+ return line
101
+ .replace(/("(?:[^"\\]|\\.)*")/g, m => chalk.green(m))
102
+ .replace(/('(?:[^'\\]|\\.)*')/g, m => chalk.green(m))
103
+ .replace(/\$\{?[a-zA-Z_]\w*\}?/g, m => chalk.cyan(m))
104
+ .replace(/\b(if|then|else|elif|fi|for|do|done|while|case|esac|in|function)\b/g, m => chalk.blue.bold(m));
105
+ }
106
+ function colorMdLine(line) {
107
+ if (/^#{1,6}\s/.test(line))
108
+ return chalk.blue.bold(line);
109
+ if (line.startsWith('>'))
110
+ return chalk.gray(line);
111
+ if (line.startsWith('---') || line.startsWith('==='))
112
+ return chalk.dim(line);
113
+ return line
114
+ .replace(/(`[^`]+`)/g, m => chalk.green(m))
115
+ .replace(/(\*\*[^*]+\*\*)/g, m => chalk.bold(m))
116
+ .replace(/(\*[^*]+\*)/g, m => chalk.italic(m));
117
+ }
118
+ // ─── Public API ──────────────────────────────────────────────────────────────
119
+ export function highlightLines(lines, filename) {
120
+ const lang = langFromExt(filename);
121
+ const fn = lang === 'html' ? colorHtmlLine :
122
+ lang === 'css' ? colorCssLine :
123
+ lang === 'js' ? colorJsLine :
124
+ lang === 'json' ? colorJsonLine :
125
+ lang === 'py' ? colorPyLine :
126
+ lang === 'sh' ? colorShLine :
127
+ lang === 'md' ? colorMdLine :
128
+ (l) => l;
129
+ return lines.map(fn);
130
+ }
131
+ export function langLabel(filename) {
132
+ const lang = langFromExt(filename);
133
+ const labels = {
134
+ html: 'HTML', css: 'CSS', js: 'JS/TS', json: 'JSON',
135
+ py: 'Python', sh: 'Shell', md: 'Markdown', generic: '',
136
+ };
137
+ return labels[lang];
138
+ }
139
+ //# sourceMappingURL=highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../src/highlight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}