k0ntext 3.2.1 → 3.3.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 (39) hide show
  1. package/dist/cli/index.js +28 -2
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/cli/repl/core/parser.d.ts +84 -0
  4. package/dist/cli/repl/core/parser.d.ts.map +1 -0
  5. package/dist/cli/repl/core/parser.js +309 -0
  6. package/dist/cli/repl/core/parser.js.map +1 -0
  7. package/dist/cli/repl/core/session.d.ts +124 -0
  8. package/dist/cli/repl/core/session.d.ts.map +1 -0
  9. package/dist/cli/repl/core/session.js +196 -0
  10. package/dist/cli/repl/core/session.js.map +1 -0
  11. package/dist/cli/repl/index.d.ts +56 -0
  12. package/dist/cli/repl/index.d.ts.map +1 -0
  13. package/dist/cli/repl/index.js +468 -0
  14. package/dist/cli/repl/index.js.map +1 -0
  15. package/dist/cli/repl/init/wizard.d.ts +61 -0
  16. package/dist/cli/repl/init/wizard.d.ts.map +1 -0
  17. package/dist/cli/repl/init/wizard.js +245 -0
  18. package/dist/cli/repl/init/wizard.js.map +1 -0
  19. package/dist/cli/repl/tui/theme.d.ts +109 -0
  20. package/dist/cli/repl/tui/theme.d.ts.map +1 -0
  21. package/dist/cli/repl/tui/theme.js +225 -0
  22. package/dist/cli/repl/tui/theme.js.map +1 -0
  23. package/dist/cli/repl/update/checker.d.ts +64 -0
  24. package/dist/cli/repl/update/checker.d.ts.map +1 -0
  25. package/dist/cli/repl/update/checker.js +166 -0
  26. package/dist/cli/repl/update/checker.js.map +1 -0
  27. package/dist/db/client.d.ts +1 -0
  28. package/dist/db/client.d.ts.map +1 -1
  29. package/dist/db/client.js +2 -1
  30. package/dist/db/client.js.map +1 -1
  31. package/package.json +4 -1
  32. package/src/cli/index.ts +28 -2
  33. package/src/cli/repl/core/parser.ts +373 -0
  34. package/src/cli/repl/core/session.ts +269 -0
  35. package/src/cli/repl/index.ts +554 -0
  36. package/src/cli/repl/init/wizard.ts +300 -0
  37. package/src/cli/repl/tui/theme.ts +276 -0
  38. package/src/cli/repl/update/checker.ts +209 -0
  39. package/src/db/client.ts +9 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/cli/repl/core/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAc/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,IAAI;IAYZ;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKlD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBrE;;OAEG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAKjD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAK/C;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;OAEG;IACH,WAAW,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAmB5C;;OAEG;IACH,aAAa,IAAI,OAAO;IAOxB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAM9D;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,GAAG,IAAI,IAAI;CAGZ"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * REPL Session Manager
3
+ *
4
+ * Manages REPL session lifecycle, state persistence, and activity tracking
5
+ */
6
+ import fs from 'fs';
7
+ import path from 'path';
8
+ /**
9
+ * Generate a simple UUID v4
10
+ */
11
+ function generateUUID() {
12
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
13
+ const r = Math.random() * 16 | 0;
14
+ const v = c === 'x' ? r : (r & 0x3 | 0x8);
15
+ return v.toString(16);
16
+ });
17
+ }
18
+ /**
19
+ * REPL Session Manager
20
+ */
21
+ export class REPLSessionManager {
22
+ state;
23
+ statePath;
24
+ projectRoot;
25
+ constructor(projectRoot) {
26
+ this.projectRoot = projectRoot;
27
+ const k0ntextDir = path.join(projectRoot, '.k0ntext');
28
+ this.statePath = path.join(k0ntextDir, 'session.json');
29
+ // Ensure .k0ntext directory exists
30
+ if (!fs.existsSync(k0ntextDir)) {
31
+ fs.mkdirSync(k0ntextDir, { recursive: true });
32
+ }
33
+ // Try to load existing session or create new
34
+ this.state = this.load() || this.createNewSession();
35
+ }
36
+ /**
37
+ * Create a new session
38
+ */
39
+ createNewSession() {
40
+ return {
41
+ sessionId: generateUUID(),
42
+ startTime: new Date().toISOString(),
43
+ lastActivity: new Date().toISOString(),
44
+ projectRoot: this.projectRoot,
45
+ config: {
46
+ aiTools: [],
47
+ autoUpdate: true,
48
+ theme: 'default',
49
+ features: []
50
+ },
51
+ history: [],
52
+ stats: {
53
+ commandsExecuted: 0,
54
+ searchesPerformed: 0,
55
+ filesIndexed: 0,
56
+ embeddingsGenerated: 0,
57
+ errorsEncountered: 0
58
+ }
59
+ };
60
+ }
61
+ /**
62
+ * Load session from disk
63
+ */
64
+ load() {
65
+ try {
66
+ if (fs.existsSync(this.statePath)) {
67
+ const content = fs.readFileSync(this.statePath, 'utf-8');
68
+ return JSON.parse(content);
69
+ }
70
+ }
71
+ catch {
72
+ // If load fails, return null to create new session
73
+ }
74
+ return null;
75
+ }
76
+ /**
77
+ * Save session to disk
78
+ */
79
+ save() {
80
+ try {
81
+ this.state.lastActivity = new Date().toISOString();
82
+ fs.writeFileSync(this.statePath, JSON.stringify(this.state, null, 2));
83
+ }
84
+ catch (error) {
85
+ console.error('Failed to save session:', error);
86
+ }
87
+ }
88
+ /**
89
+ * Get session state
90
+ */
91
+ getState() {
92
+ return { ...this.state };
93
+ }
94
+ /**
95
+ * Update session config
96
+ */
97
+ updateConfig(config) {
98
+ this.state.config = { ...this.state.config, ...config };
99
+ this.save();
100
+ }
101
+ /**
102
+ * Add command to history
103
+ */
104
+ addCommand(command, result, duration) {
105
+ const entry = {
106
+ command,
107
+ timestamp: new Date().toISOString(),
108
+ result,
109
+ duration
110
+ };
111
+ this.state.history.push(entry);
112
+ // Keep only last 100 commands
113
+ if (this.state.history.length > 100) {
114
+ this.state.history = this.state.history.slice(-100);
115
+ }
116
+ this.state.stats.commandsExecuted++;
117
+ this.save();
118
+ }
119
+ /**
120
+ * Get command history
121
+ */
122
+ getHistory(limit) {
123
+ const history = this.state.history.slice().reverse();
124
+ return limit ? history.slice(0, limit) : history;
125
+ }
126
+ /**
127
+ * Update session stats
128
+ */
129
+ updateStats(stats) {
130
+ this.state.stats = { ...this.state.stats, ...stats };
131
+ this.save();
132
+ }
133
+ /**
134
+ * Get session stats
135
+ */
136
+ getStats() {
137
+ return { ...this.state.stats };
138
+ }
139
+ /**
140
+ * Get session duration
141
+ */
142
+ getDuration() {
143
+ const start = new Date(this.state.startTime);
144
+ const now = new Date();
145
+ const diff = now.getTime() - start.getTime();
146
+ const seconds = Math.floor(diff / 1000);
147
+ const minutes = Math.floor(seconds / 60);
148
+ const hours = Math.floor(minutes / 60);
149
+ const days = Math.floor(hours / 24);
150
+ let human = '';
151
+ if (days > 0)
152
+ human += `${days}d `;
153
+ if (hours % 24 > 0)
154
+ human += `${hours % 24}h `;
155
+ if (minutes % 60 > 0)
156
+ human += `${minutes % 60}m `;
157
+ if (seconds % 60 > 0 || human === '')
158
+ human += `${seconds % 60}s`;
159
+ return { ms: diff, human: human.trim() };
160
+ }
161
+ /**
162
+ * Check if session is initialized (has API key and project type)
163
+ */
164
+ isInitialized() {
165
+ return !!(this.state.config.apiKey ||
166
+ process.env.OPENROUTER_API_KEY) && !!this.state.config.projectType;
167
+ }
168
+ /**
169
+ * Set initialization status
170
+ */
171
+ setInitialized(apiKey, projectType) {
172
+ this.state.config.apiKey = apiKey;
173
+ this.state.config.projectType = projectType;
174
+ this.save();
175
+ }
176
+ /**
177
+ * Get OpenRouter API key
178
+ */
179
+ getApiKey() {
180
+ return this.state.config.apiKey || process.env.OPENROUTER_API_KEY;
181
+ }
182
+ /**
183
+ * Clear session (for reset/reinit)
184
+ */
185
+ clear() {
186
+ this.state = this.createNewSession();
187
+ this.save();
188
+ }
189
+ /**
190
+ * End session
191
+ */
192
+ end() {
193
+ this.save();
194
+ }
195
+ }
196
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/cli/repl/core/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,SAAS,YAAY;IACnB,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACnE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAqDD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,KAAK,CAAe;IACpB,SAAS,CAAS;IAClB,WAAW,CAAS;IAE5B,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEvD,mCAAmC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,OAAO;YACL,SAAS,EAAE,YAAY,EAAE;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE;gBACN,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,EAAE;aACb;YACD,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL,gBAAgB,EAAE,CAAC;gBACnB,iBAAiB,EAAE,CAAC;gBACpB,YAAY,EAAE,CAAC;gBACf,mBAAmB,EAAE,CAAC;gBACtB,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,IAAI;QACV,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACnD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAA8B;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAe,EAAE,MAAe,EAAE,QAAiB;QAC5D,MAAM,KAAK,GAAwB;YACjC,OAAO;YACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM;YACN,QAAQ;SACT,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,8BAA8B;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAc;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAA4B;QACtC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAEpC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,CAAC;YAAE,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC;QACnC,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC;YAAE,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE,IAAI,CAAC;QAC/C,IAAI,OAAO,GAAG,EAAE,GAAG,CAAC;YAAE,KAAK,IAAI,GAAG,OAAO,GAAG,EAAE,IAAI,CAAC;QACnD,IAAI,OAAO,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE;YAAE,KAAK,IAAI,GAAG,OAAO,GAAG,EAAE,GAAG,CAAC;QAElE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,CAAC,CAAC,CACP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;YACxB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAC/B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAc,EAAE,WAAwB;QACrD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,GAAG;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * K0ntext REPL Shell
3
+ *
4
+ * Interactive shell for managing k0ntext context
5
+ */
6
+ /**
7
+ * REPL options
8
+ */
9
+ export interface REPLOptions {
10
+ projectRoot: string;
11
+ version: string;
12
+ noTUI?: boolean;
13
+ }
14
+ /**
15
+ * K0ntext REPL Shell
16
+ */
17
+ export declare class REPLShell {
18
+ private session;
19
+ private parser;
20
+ private updateChecker;
21
+ private projectRoot;
22
+ private version;
23
+ private readline;
24
+ private isActive;
25
+ private noTUI;
26
+ constructor(options: REPLOptions);
27
+ /**
28
+ * Get the command prompt
29
+ */
30
+ private getPrompt;
31
+ /**
32
+ * Setup event handlers
33
+ */
34
+ private setupEventHandlers;
35
+ /**
36
+ * Register REPL-specific commands
37
+ */
38
+ private registerCommands;
39
+ /**
40
+ * Start the REPL
41
+ */
42
+ start(): Promise<void>;
43
+ /**
44
+ * Stop the REPL
45
+ */
46
+ stop(): Promise<void>;
47
+ /**
48
+ * Show welcome banner
49
+ */
50
+ private showBanner;
51
+ }
52
+ /**
53
+ * Create and start a REPL shell
54
+ */
55
+ export declare function startREPL(projectRoot: string | undefined, version: string, noTUI?: boolean): Promise<void>;
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/repl/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,KAAK,CAAU;gBAEX,OAAO,EAAE,WAAW;IAoBhC;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqD1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2UxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsD5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACH,OAAO,CAAC,UAAU;CAiBnB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,YAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlH"}