@kernel.chat/kbot 3.40.0 → 3.42.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 (73) hide show
  1. package/README.md +5 -5
  2. package/dist/agent-teams.d.ts +1 -1
  3. package/dist/agent-teams.d.ts.map +1 -1
  4. package/dist/agent-teams.js +36 -3
  5. package/dist/agent-teams.js.map +1 -1
  6. package/dist/agents/specialists.d.ts.map +1 -1
  7. package/dist/agents/specialists.js +20 -0
  8. package/dist/agents/specialists.js.map +1 -1
  9. package/dist/channels/kbot-channel.js +8 -31
  10. package/dist/channels/kbot-channel.js.map +1 -1
  11. package/dist/cli.js +8 -8
  12. package/dist/digest.js +1 -1
  13. package/dist/digest.js.map +1 -1
  14. package/dist/email-service.d.ts.map +1 -1
  15. package/dist/email-service.js +1 -2
  16. package/dist/email-service.js.map +1 -1
  17. package/dist/episodic-memory.d.ts.map +1 -1
  18. package/dist/episodic-memory.js +14 -0
  19. package/dist/episodic-memory.js.map +1 -1
  20. package/dist/interactive-buttons.d.ts +90 -0
  21. package/dist/interactive-buttons.d.ts.map +1 -0
  22. package/dist/interactive-buttons.js +286 -0
  23. package/dist/interactive-buttons.js.map +1 -0
  24. package/dist/learned-router.d.ts.map +1 -1
  25. package/dist/learned-router.js +29 -0
  26. package/dist/learned-router.js.map +1 -1
  27. package/dist/memory-hotswap.d.ts +58 -0
  28. package/dist/memory-hotswap.d.ts.map +1 -0
  29. package/dist/memory-hotswap.js +288 -0
  30. package/dist/memory-hotswap.js.map +1 -0
  31. package/dist/personal-security.d.ts +142 -0
  32. package/dist/personal-security.d.ts.map +1 -0
  33. package/dist/personal-security.js +1151 -0
  34. package/dist/personal-security.js.map +1 -0
  35. package/dist/side-conversation.d.ts +58 -0
  36. package/dist/side-conversation.d.ts.map +1 -0
  37. package/dist/side-conversation.js +224 -0
  38. package/dist/side-conversation.js.map +1 -0
  39. package/dist/tools/email.d.ts.map +1 -1
  40. package/dist/tools/email.js +2 -3
  41. package/dist/tools/email.js.map +1 -1
  42. package/dist/tools/index.d.ts.map +1 -1
  43. package/dist/tools/index.js +7 -1
  44. package/dist/tools/index.js.map +1 -1
  45. package/dist/tools/lab-bio.d.ts +2 -0
  46. package/dist/tools/lab-bio.d.ts.map +1 -0
  47. package/dist/tools/lab-bio.js +1392 -0
  48. package/dist/tools/lab-bio.js.map +1 -0
  49. package/dist/tools/lab-chem.d.ts +2 -0
  50. package/dist/tools/lab-chem.d.ts.map +1 -0
  51. package/dist/tools/lab-chem.js +1257 -0
  52. package/dist/tools/lab-chem.js.map +1 -0
  53. package/dist/tools/lab-core.d.ts +2 -0
  54. package/dist/tools/lab-core.d.ts.map +1 -0
  55. package/dist/tools/lab-core.js +2452 -0
  56. package/dist/tools/lab-core.js.map +1 -0
  57. package/dist/tools/lab-data.d.ts +2 -0
  58. package/dist/tools/lab-data.d.ts.map +1 -0
  59. package/dist/tools/lab-data.js +2464 -0
  60. package/dist/tools/lab-data.js.map +1 -0
  61. package/dist/tools/lab-earth.d.ts +2 -0
  62. package/dist/tools/lab-earth.d.ts.map +1 -0
  63. package/dist/tools/lab-earth.js +1124 -0
  64. package/dist/tools/lab-earth.js.map +1 -0
  65. package/dist/tools/lab-math.d.ts +2 -0
  66. package/dist/tools/lab-math.d.ts.map +1 -0
  67. package/dist/tools/lab-math.js +3021 -0
  68. package/dist/tools/lab-math.js.map +1 -0
  69. package/dist/tools/lab-physics.d.ts +2 -0
  70. package/dist/tools/lab-physics.d.ts.map +1 -0
  71. package/dist/tools/lab-physics.js +2423 -0
  72. package/dist/tools/lab-physics.js.map +1 -0
  73. package/package.json +2 -3
@@ -0,0 +1,90 @@
1
+ /** Button style options */
2
+ export type ButtonStyle = 'primary' | 'secondary' | 'success' | 'danger' | 'link';
3
+ /** A single button action definition */
4
+ export interface ButtonAction {
5
+ label: string;
6
+ action: string;
7
+ style?: ButtonStyle;
8
+ }
9
+ /** A registered pending action */
10
+ export interface PendingAction {
11
+ token: string;
12
+ action: string;
13
+ callback_description: string;
14
+ created_at: string;
15
+ expires_at: string;
16
+ executed: boolean;
17
+ executed_at: string | null;
18
+ }
19
+ /** Discord button component (webhook format) */
20
+ interface DiscordButton {
21
+ type: 2;
22
+ style: number;
23
+ label: string;
24
+ custom_id?: string;
25
+ url?: string;
26
+ }
27
+ /** Discord action row */
28
+ interface DiscordActionRow {
29
+ type: 1;
30
+ components: DiscordButton[];
31
+ }
32
+ /** Discord embed */
33
+ export interface DiscordEmbed {
34
+ title?: string;
35
+ description?: string;
36
+ color?: number;
37
+ fields?: Array<{
38
+ name: string;
39
+ value: string;
40
+ inline?: boolean;
41
+ }>;
42
+ footer?: {
43
+ text: string;
44
+ };
45
+ timestamp?: string;
46
+ }
47
+ /** Button set result for different platforms */
48
+ export interface ButtonSet {
49
+ discord: DiscordActionRow;
50
+ email_html: string;
51
+ slack_blocks: unknown[];
52
+ }
53
+ /**
54
+ * Create a formatted button set for different platforms.
55
+ * Registers each action and generates platform-specific markup.
56
+ */
57
+ export declare function createButtonSet(actions: ButtonAction[]): ButtonSet;
58
+ /**
59
+ * Send an email via Resend with clickable action buttons at the bottom.
60
+ * Requires RESEND_API_KEY in environment.
61
+ */
62
+ export declare function createEmailWithButtons(to: string, subject: string, body: string, buttons: ButtonAction[]): Promise<{
63
+ sent: boolean;
64
+ message_id: string | null;
65
+ error: string | null;
66
+ }>;
67
+ /**
68
+ * Send a Discord message with interactive button components.
69
+ */
70
+ export declare function createDiscordWithButtons(webhookUrl: string, embed: DiscordEmbed, buttons: ButtonAction[]): Promise<{
71
+ sent: boolean;
72
+ error: string | null;
73
+ }>;
74
+ /**
75
+ * Process a button click action.
76
+ * Reads the action from pending-actions, marks it as executed.
77
+ */
78
+ export declare function handleButtonAction(token: string, action: string): {
79
+ handled: boolean;
80
+ action: string;
81
+ callback_description: string;
82
+ error: string | null;
83
+ };
84
+ /**
85
+ * Register an action with a unique token.
86
+ * Saves to ~/.kbot/pending-actions/. Expires after 72 hours.
87
+ */
88
+ export declare function registerAction(action: string, callback_description: string): string;
89
+ export {};
90
+ //# sourceMappingURL=interactive-buttons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-buttons.d.ts","sourceRoot":"","sources":["../src/interactive-buttons.ts"],"names":[],"mappings":"AAqBA,2BAA2B;AAC3B,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEjF,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,EAAE,MAAM,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,gDAAgD;AAChD,UAAU,aAAa;IACrB,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,yBAAyB;AACzB,UAAU,gBAAgB;IACxB,IAAI,EAAE,CAAC,CAAA;IACP,UAAU,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED,oBAAoB;AACpB,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACjE,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,gDAAgD;AAChD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,gBAAgB,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,OAAO,EAAE,CAAA;CACxB;AAkCD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,SAAS,CAoDlE;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAiD7E;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA6ClD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,EAAE,MAAM,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CA0CA;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAuBnF"}
@@ -0,0 +1,286 @@
1
+ // kbot Interactive Response Buttons
2
+ //
3
+ // When kbot sends emails or Discord messages, include action buttons.
4
+ // Buttons link to response endpoints that trigger follow-up actions.
5
+ //
6
+ // Supports: Discord (webhook), Email (Resend), Slack (Block Kit, future)
7
+ //
8
+ // Pending actions stored at: ~/.kbot/pending-actions/
9
+ import { homedir } from 'node:os';
10
+ import { join } from 'node:path';
11
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, rmSync, } from 'node:fs';
12
+ import { randomUUID } from 'node:crypto';
13
+ const PENDING_DIR = join(homedir(), '.kbot', 'pending-actions');
14
+ const ACTION_EXPIRY_MS = 72 * 60 * 60 * 1000; // 72 hours
15
+ const ACTION_BASE_URL = 'https://kernel.chat/api/action';
16
+ function ensureDir() {
17
+ if (!existsSync(PENDING_DIR))
18
+ mkdirSync(PENDING_DIR, { recursive: true });
19
+ }
20
+ function actionPath(token) {
21
+ return join(PENDING_DIR, `${token}.json`);
22
+ }
23
+ /** Map ButtonStyle to Discord button style number */
24
+ function discordStyleNumber(style) {
25
+ const map = {
26
+ primary: 1,
27
+ secondary: 2,
28
+ success: 3,
29
+ danger: 4,
30
+ link: 5,
31
+ };
32
+ return map[style] || 2;
33
+ }
34
+ /** Map ButtonStyle to email button color */
35
+ function emailButtonColor(style) {
36
+ const map = {
37
+ primary: '#6B5B95',
38
+ secondary: '#6c757d',
39
+ success: '#28a745',
40
+ danger: '#dc3545',
41
+ link: '#007bff',
42
+ };
43
+ return map[style] || '#6B5B95';
44
+ }
45
+ /**
46
+ * Create a formatted button set for different platforms.
47
+ * Registers each action and generates platform-specific markup.
48
+ */
49
+ export function createButtonSet(actions) {
50
+ // Register actions and get tokens
51
+ const registeredActions = actions.map(a => ({
52
+ ...a,
53
+ token: registerAction(a.action, `Button: ${a.label}`),
54
+ }));
55
+ // Discord: action row with buttons
56
+ const discordButtons = registeredActions.map(a => ({
57
+ type: 2,
58
+ style: discordStyleNumber(a.style || 'primary'),
59
+ label: a.label,
60
+ // For link style, use URL; otherwise use custom_id
61
+ ...(a.style === 'link'
62
+ ? { url: `${ACTION_BASE_URL}?token=${a.token}&action=${encodeURIComponent(a.action)}` }
63
+ : { custom_id: `kbot_action_${a.token}` }),
64
+ }));
65
+ const discord = {
66
+ type: 1,
67
+ components: discordButtons,
68
+ };
69
+ // Email: HTML buttons
70
+ const emailButtons = registeredActions.map(a => {
71
+ const color = emailButtonColor(a.style || 'primary');
72
+ const url = `${ACTION_BASE_URL}?token=${a.token}&action=${encodeURIComponent(a.action)}`;
73
+ return `<a href="${url}" style="display:inline-block;padding:10px 24px;margin:4px 8px 4px 0;background-color:${color};color:#ffffff;text-decoration:none;border-radius:6px;font-family:'Courier Prime',monospace;font-size:14px;font-weight:bold;">${escapeHtml(a.label)}</a>`;
74
+ });
75
+ const email_html = `<div style="margin-top:24px;padding-top:16px;border-top:1px solid #e5e5e5;">${emailButtons.join('\n')}</div>`;
76
+ // Slack: Block Kit buttons (future use)
77
+ const slack_blocks = [
78
+ {
79
+ type: 'actions',
80
+ elements: registeredActions.map(a => ({
81
+ type: 'button',
82
+ text: {
83
+ type: 'plain_text',
84
+ text: a.label,
85
+ emoji: true,
86
+ },
87
+ action_id: `kbot_${a.action}`,
88
+ value: a.token,
89
+ ...(a.style === 'danger' ? { style: 'danger' } : {}),
90
+ ...(a.style === 'primary' ? { style: 'primary' } : {}),
91
+ })),
92
+ },
93
+ ];
94
+ return { discord, email_html, slack_blocks };
95
+ }
96
+ /**
97
+ * Send an email via Resend with clickable action buttons at the bottom.
98
+ * Requires RESEND_API_KEY in environment.
99
+ */
100
+ export async function createEmailWithButtons(to, subject, body, buttons) {
101
+ const apiKey = process.env.RESEND_API_KEY;
102
+ if (!apiKey) {
103
+ return { sent: false, message_id: null, error: 'RESEND_API_KEY not configured' };
104
+ }
105
+ const buttonSet = createButtonSet(buttons);
106
+ const htmlBody = `
107
+ <!DOCTYPE html>
108
+ <html>
109
+ <head><meta charset="utf-8"></head>
110
+ <body style="font-family:'EB Garamond','Georgia',serif;color:#1a1a1a;background-color:#FFFFF0;padding:32px;max-width:600px;margin:0 auto;">
111
+ <div style="font-family:'Courier Prime',monospace;font-size:12px;color:#6B5B95;text-transform:uppercase;letter-spacing:2px;margin-bottom:16px;">kernel.chat</div>
112
+ <h2 style="font-family:'EB Garamond','Georgia',serif;margin:0 0 16px 0;">${escapeHtml(subject)}</h2>
113
+ <div style="line-height:1.6;">${body}</div>
114
+ ${buttonSet.email_html}
115
+ <div style="margin-top:32px;padding-top:16px;border-top:1px solid #e5e5e5;font-size:12px;color:#999;">
116
+ Sent by kbot &mdash; <a href="https://kernel.chat" style="color:#6B5B95;">kernel.chat</a>
117
+ </div>
118
+ </body>
119
+ </html>`;
120
+ try {
121
+ const res = await fetch('https://api.resend.com/emails', {
122
+ method: 'POST',
123
+ headers: {
124
+ 'Content-Type': 'application/json',
125
+ 'Authorization': `Bearer ${apiKey}`,
126
+ },
127
+ body: JSON.stringify({
128
+ from: 'kbot <noreply@kernel.chat>',
129
+ to: [to],
130
+ subject,
131
+ html: htmlBody,
132
+ }),
133
+ signal: AbortSignal.timeout(15_000),
134
+ });
135
+ if (!res.ok) {
136
+ const errText = await res.text();
137
+ return { sent: false, message_id: null, error: `Resend API error: ${res.status} ${errText}` };
138
+ }
139
+ const result = await res.json();
140
+ return { sent: true, message_id: result.id || null, error: null };
141
+ }
142
+ catch (err) {
143
+ return { sent: false, message_id: null, error: err.message };
144
+ }
145
+ }
146
+ /**
147
+ * Send a Discord message with interactive button components.
148
+ */
149
+ export async function createDiscordWithButtons(webhookUrl, embed, buttons) {
150
+ const buttonSet = createButtonSet(buttons);
151
+ // For webhook-based messages, buttons must use link style (URL buttons)
152
+ // since webhooks can't receive interaction callbacks
153
+ const linkButtons = buttons.map(b => {
154
+ const token = registerAction(b.action, `Discord button: ${b.label}`);
155
+ return {
156
+ type: 2,
157
+ style: 5, // Link style for webhook messages
158
+ label: b.label,
159
+ url: `${ACTION_BASE_URL}?token=${token}&action=${encodeURIComponent(b.action)}`,
160
+ };
161
+ });
162
+ const actionRow = {
163
+ type: 1,
164
+ components: linkButtons,
165
+ };
166
+ const payload = {
167
+ embeds: [embed],
168
+ components: [actionRow],
169
+ };
170
+ // Use buttonSet to suppress unused variable — Slack blocks stored for future
171
+ void buttonSet.slack_blocks;
172
+ try {
173
+ const res = await fetch(webhookUrl, {
174
+ method: 'POST',
175
+ headers: { 'Content-Type': 'application/json' },
176
+ body: JSON.stringify(payload),
177
+ signal: AbortSignal.timeout(15_000),
178
+ });
179
+ if (!res.ok) {
180
+ const errText = await res.text();
181
+ return { sent: false, error: `Discord webhook error: ${res.status} ${errText}` };
182
+ }
183
+ return { sent: true, error: null };
184
+ }
185
+ catch (err) {
186
+ return { sent: false, error: err.message };
187
+ }
188
+ }
189
+ /**
190
+ * Process a button click action.
191
+ * Reads the action from pending-actions, marks it as executed.
192
+ */
193
+ export function handleButtonAction(token, action) {
194
+ ensureDir();
195
+ const path = actionPath(token);
196
+ if (!existsSync(path)) {
197
+ return { handled: false, action, callback_description: '', error: 'Action token not found' };
198
+ }
199
+ let pending;
200
+ try {
201
+ pending = JSON.parse(readFileSync(path, 'utf-8'));
202
+ }
203
+ catch {
204
+ return { handled: false, action, callback_description: '', error: 'Failed to read action' };
205
+ }
206
+ // Check if expired
207
+ if (new Date(pending.expires_at).getTime() < Date.now()) {
208
+ rmSync(path);
209
+ return { handled: false, action, callback_description: pending.callback_description, error: 'Action expired' };
210
+ }
211
+ // Check if already executed
212
+ if (pending.executed) {
213
+ return { handled: false, action, callback_description: pending.callback_description, error: 'Action already executed' };
214
+ }
215
+ // Verify action matches
216
+ if (pending.action !== action) {
217
+ return { handled: false, action, callback_description: pending.callback_description, error: 'Action mismatch' };
218
+ }
219
+ // Mark as executed
220
+ pending.executed = true;
221
+ pending.executed_at = new Date().toISOString();
222
+ writeFileSync(path, JSON.stringify(pending, null, 2));
223
+ return {
224
+ handled: true,
225
+ action: pending.action,
226
+ callback_description: pending.callback_description,
227
+ error: null,
228
+ };
229
+ }
230
+ /**
231
+ * Register an action with a unique token.
232
+ * Saves to ~/.kbot/pending-actions/. Expires after 72 hours.
233
+ */
234
+ export function registerAction(action, callback_description) {
235
+ ensureDir();
236
+ const token = randomUUID();
237
+ const now = new Date();
238
+ const expires = new Date(now.getTime() + ACTION_EXPIRY_MS);
239
+ const pending = {
240
+ token,
241
+ action,
242
+ callback_description,
243
+ created_at: now.toISOString(),
244
+ expires_at: expires.toISOString(),
245
+ executed: false,
246
+ executed_at: null,
247
+ };
248
+ writeFileSync(actionPath(token), JSON.stringify(pending, null, 2));
249
+ // Prune expired actions in the background
250
+ pruneExpiredActions();
251
+ return token;
252
+ }
253
+ /** Remove expired pending actions */
254
+ function pruneExpiredActions() {
255
+ ensureDir();
256
+ try {
257
+ const files = readdirSync(PENDING_DIR).filter(f => f.endsWith('.json'));
258
+ const now = Date.now();
259
+ for (const file of files) {
260
+ const path = join(PENDING_DIR, file);
261
+ try {
262
+ const pending = JSON.parse(readFileSync(path, 'utf-8'));
263
+ if (new Date(pending.expires_at).getTime() < now) {
264
+ rmSync(path);
265
+ }
266
+ }
267
+ catch {
268
+ // Corrupt file — remove it
269
+ rmSync(path, { force: true });
270
+ }
271
+ }
272
+ }
273
+ catch {
274
+ // Non-critical — pruning can fail silently
275
+ }
276
+ }
277
+ /** Escape HTML special characters */
278
+ function escapeHtml(text) {
279
+ return text
280
+ .replace(/&/g, '&amp;')
281
+ .replace(/</g, '&lt;')
282
+ .replace(/>/g, '&gt;')
283
+ .replace(/"/g, '&quot;')
284
+ .replace(/'/g, '&#39;');
285
+ }
286
+ //# sourceMappingURL=interactive-buttons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-buttons.js","sourceRoot":"","sources":["../src/interactive-buttons.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"learned-router.d.ts","sourceRoot":"","sources":["../src/learned-router.ts"],"names":[],"mappings":"AA0BA,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,4FAA4F;IAC5F,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAA;IAC/D,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAA;IAChB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAA;IAC/D,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAA;CAChB;AAkGD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA4EhE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAC7B,OAAO,GAAE,OAAc,GACtB,IAAI,CA0CN;AA0BD,wBAAwB;AACxB,wBAAgB,eAAe,IAAI;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;CACrB,CAqBA;AAED,yCAAyC;AACzC,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAsBzE"}
1
+ {"version":3,"file":"learned-router.d.ts","sourceRoot":"","sources":["../src/learned-router.ts"],"names":[],"mappings":"AA0BA,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,4FAA4F;IAC5F,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAA;IAC/D,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAA;IAChB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAA;IAC/D,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAA;CAChB;AA+HD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA4EhE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAC7B,OAAO,GAAE,OAAc,GACtB,IAAI,CA0CN;AA0BD,wBAAwB;AACxB,wBAAgB,eAAe,IAAI;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;CACrB,CAqBA;AAED,yCAAyC;AACzC,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAsBzE"}
@@ -96,6 +96,28 @@ const AGENT_KEYWORDS = {
96
96
  'hey', 'hello', 'hi', 'thanks', 'help', 'what', 'how', 'why',
97
97
  'general', 'chat', 'talk', 'opinion', 'think', 'feel', 'advice',
98
98
  ],
99
+ scientist: [
100
+ // Biology
101
+ 'gene', 'protein', 'genome', 'dna', 'rna', 'cell', 'enzyme', 'mutation',
102
+ 'pathway', 'blast', 'pubmed', 'clinical', 'trial', 'drug', 'pharmacology',
103
+ 'ecology', 'species', 'taxonomy', 'biodiversity',
104
+ // Chemistry
105
+ 'molecule', 'compound', 'reaction', 'element', 'periodic', 'stoichiometry',
106
+ 'thermodynamics', 'spectroscopy', 'crystal', 'material', 'polymer',
107
+ // Physics
108
+ 'orbit', 'quantum', 'relativity', 'circuit', 'electromagnetic', 'beam',
109
+ 'fluid', 'particle', 'photon', 'quark', 'signal',
110
+ // Earth science
111
+ 'earthquake', 'climate', 'volcano', 'ocean', 'soil', 'satellite',
112
+ 'geological', 'seismic', 'atmosphere',
113
+ // Math & statistics
114
+ 'matrix', 'eigenvalue', 'differential', 'fourier', 'optimization',
115
+ 'regression', 'bayesian', 'statistics', 'probability', 'hypothesis',
116
+ 'anova', 'survival',
117
+ // General science
118
+ 'experiment', 'laboratory', 'methodology', 'preprint', 'citation',
119
+ 'sample', 'p-value', 'confidence',
120
+ ],
99
121
  creative: CREATIVE_KEYWORDS,
100
122
  developer: DEVELOPER_KEYWORDS,
101
123
  trader: TRADER_KEYWORDS,
@@ -110,6 +132,13 @@ const CATEGORY_PATTERNS = [
110
132
  { pattern: /\b(research|find|compare|benchmark|alternative|best)\b/i, agent: 'researcher', confidence: 0.6 },
111
133
  { pattern: /\b(write|draft|blog|post|article|email|newsletter|readme)\b/i, agent: 'writer', confidence: 0.65 },
112
134
  { pattern: /\b(analyze|strategy|plan|architecture|review|audit|evaluate)\b/i, agent: 'analyst', confidence: 0.6 },
135
+ { pattern: /\b(gene|protein|genome|dna|rna|enzyme|mutation|blast|pubmed|clinical trial|pharmacology|ecology|taxonomy|biodiversity)\b/i, agent: 'scientist', confidence: 0.85 },
136
+ { pattern: /\b(molecule|compound|reaction|element|stoichiometry|spectroscopy|crystal|thermodynamics|polymer)\b/i, agent: 'scientist', confidence: 0.8 },
137
+ { pattern: /\b(quantum|relativity|electromagnetic|photon|quark|particle physics|orbit|fluid dynamics)\b/i, agent: 'scientist', confidence: 0.8 },
138
+ { pattern: /\b(earthquake|volcano|seismic|geological|climate data|satellite imagery|ocean data|atmosphere)\b/i, agent: 'scientist', confidence: 0.75 },
139
+ { pattern: /\b(eigenvalue|differential equation|fourier|matrix operations|number theory|graph theory|combinatorics)\b/i, agent: 'scientist', confidence: 0.75 },
140
+ { pattern: /\b(regression analysis|bayesian inference|anova|survival analysis|time series|dimensionality reduction|p-value|confidence interval)\b/i, agent: 'scientist', confidence: 0.7 },
141
+ { pattern: /\b(experiment design|hypothesis test|sample size|research methodology|preprint|citation graph)\b/i, agent: 'scientist', confidence: 0.7 },
113
142
  ...CREATIVE_PATTERNS,
114
143
  ...DEVELOPER_PATTERNS,
115
144
  ...TRADER_PATTERNS.map(pattern => ({ pattern, agent: 'trader', confidence: 0.75 })),
@@ -1 +1 @@
1
- {"version":3,"file":"learned-router.js","sourceRoot":"","sources":["../src/learned-router.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,8CAA8C;AAC9C,EAAE;AACF,4CAA4C;AAC5C,2EAA2E;AAC3E,wCAAwC;AACxC,2CAA2C;AAC3C,iDAAiD;AACjD,EAAE;AACF,qEAAqE;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AACrD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAA;AAC7D,MAAM,WAAW,GAAG,GAAG,CAAA;AAgCvB,SAAS,SAAS;IAChB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,IAAI,OAAO,GAAoB,EAAE,CAAA;AACjC,IAAI,MAAM,GAAG,KAAK,CAAA;AAElB,SAAS,WAAW;IAClB,IAAI,MAAM;QAAE,OAAM;IAClB,MAAM,GAAG,IAAI,CAAA;IACb,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,GAAG,EAAE,CAAA;IAAC,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW;IAClB,SAAS,EAAE,CAAA;IACX,IAAI,CAAC;QACH,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACrF,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAChC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO;IACnE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACnE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;IACjE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAC/D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM;IAClE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ;CAChE,CAAC,CAAA;AAEF,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,OAAO,CAAC,WAAW,EAAE;SACzB,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC/C,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC;AAED,2BAA2B;AAC3B,oEAAoE;AACpE,kEAAkE;AAElE,MAAM,cAAc,GAA6B;IAC/C,KAAK,EAAE;QACL,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO;QACxE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO;QACxE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK;QACrE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;QAChE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW;KACxE;IACD,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW;QACpE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;QAC/D,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS;QACtE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe;KACpE;IACD,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;QAC/D,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM;QAC9D,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY;QACjE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW;KAC9D;IACD,OAAO,EAAE;QACP,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ;QACjE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;QAChE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS;QACjE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS;KAC9C;IACD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;QAC5D,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;KAChE;IACD,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,eAAe;CACxB,CAAA;AAED,kDAAkD;AAClD,MAAM,iBAAiB,GAAkE;IACvF,EAAE,OAAO,EAAE,oDAAoD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;IAClG,EAAE,OAAO,EAAE,8GAA8G,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;IAC7J,EAAE,OAAO,EAAE,+DAA+D,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;IAC7G,EAAE,OAAO,EAAE,4CAA4C,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;IAC3F,EAAE,OAAO,EAAE,mDAAmD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;IACjG,EAAE,OAAO,EAAE,yDAAyD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE;IAC5G,EAAE,OAAO,EAAE,8DAA8D,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;IAC9G,EAAE,OAAO,EAAE,iEAAiE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE;IACjH,GAAG,iBAAiB;IACpB,GAAG,kBAAkB;IACrB,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;CAC7F,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,WAAW,EAAE,CAAA;IAEb,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExB,oCAAoC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;IACtF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YAC3D,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,yCAAyC;IACzC,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAA;IAC1C,MAAM,WAAW,GAAG,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACxD,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QAChD,OAAO;YACL,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC;YACjD,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,IAAI;SACb,CAAA;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,KAAK,GAA2B,EAAE,CAAA;IAExC,kCAAkC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACvE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAA;QACjD,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,SAAQ;QAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAClE,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAA;QAClE,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAClE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;QAC1C,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;YACtB,OAAO;gBACL,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;gBACtC,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,IAAI;aACb,CAAA;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,iBAAiB,EAAE,CAAC;QAC/D,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAChE,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,OAAe,EACf,KAAa,EACb,MAA6B,EAC7B,UAAmB,IAAI;IAEvB,WAAW,EAAE,CAAA;IAEb,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,CAAC,MAAM;QAAE,OAAM;IAEnB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAEvD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;YACtB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;YACvB,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,iDAAiD;YACjD,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAChD,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC;gBAAE,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAA;QACpD,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,QAAQ,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC;YACX,MAAM;YACN,QAAQ;YACR,KAAK;YACL,MAAM;YACN,OAAO;YACP,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAA;IACJ,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IACzC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IACvC,WAAW,EAAE,CAAA;IAEb,6CAA6C;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,SAAS,iBAAiB,CAAC,QAAkB,EAAE,KAAa;IAC1D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,OAAM;IAElC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,6EAA6E;QAC7E,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/F,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACzB,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAChD,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACvC,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,eAAe;IAS7B,WAAW,EAAE,CAAA;IAEb,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAA;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAA;IACpE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,MAAM,CAAA;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;IAC5B,MAAM,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IACtD,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE/D,OAAO;QACL,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,QAAQ;QACtB,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,GAAG,IAAI,GAAG;KACzB,CAAA;AACH,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,YAAoB;IACjE,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAEvD,0EAA0E;IAC1E,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAA;IAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACvD,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAChD,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC7D,CAAC;IACD,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxD,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAA;IAEtD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAA;QAC7B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QACvB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA,CAAC,yBAAyB;QACtE,QAAQ,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;IACD,WAAW,EAAE,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"learned-router.js","sourceRoot":"","sources":["../src/learned-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /** Profile info returned by listing */
2
+ export interface MemoryProfile {
3
+ name: string;
4
+ description: string;
5
+ patterns_count: number;
6
+ created_at: string;
7
+ }
8
+ /** Active profile marker */
9
+ interface ActiveProfileMarker {
10
+ name: string;
11
+ loaded_at: string;
12
+ previous_backup: string | null;
13
+ }
14
+ /**
15
+ * Scan ~/.kbot/memory-profiles/ for saved profiles.
16
+ * Returns array of profile metadata.
17
+ */
18
+ export declare function listMemoryProfiles(): MemoryProfile[];
19
+ /**
20
+ * Snapshot current ~/.kbot/memory/ into a named profile.
21
+ * Saves all learning data (patterns, solutions, profile, routing).
22
+ */
23
+ export declare function saveCurrentAsProfile(name: string, description?: string): {
24
+ name: string;
25
+ patterns_saved: number;
26
+ };
27
+ /**
28
+ * Load a named profile into ~/.kbot/memory/.
29
+ * Backs up current memory to _backup first.
30
+ */
31
+ export declare function loadProfile(name: string): {
32
+ name: string;
33
+ patterns_loaded: number;
34
+ previous_backup: string;
35
+ };
36
+ /**
37
+ * Unload the current profile, restoring from _backup.
38
+ * Returns to the previous state before loadProfile was called.
39
+ */
40
+ export declare function unloadProfile(): {
41
+ restored: boolean;
42
+ previous_profile: string | null;
43
+ };
44
+ /**
45
+ * Create a new empty profile with metadata.
46
+ * Seeds initial routing preferences based on expertise string.
47
+ */
48
+ export declare function createProfile(name: string, description: string, expertise: string): {
49
+ name: string;
50
+ created: boolean;
51
+ };
52
+ /**
53
+ * Returns which profile is currently loaded.
54
+ * Reads ~/.kbot/memory/active-profile.json.
55
+ */
56
+ export declare function getActiveProfile(): ActiveProfileMarker | null;
57
+ export {};
58
+ //# sourceMappingURL=memory-hotswap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-hotswap.d.ts","sourceRoot":"","sources":["../src/memory-hotswap.ts"],"names":[],"mappings":"AAyCA,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,4BAA4B;AAC5B,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AA+CD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,EAAE,CA0CpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAwB1C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;CACxB,CA2CA;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CA4BtF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAuCpC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,mBAAmB,GAAG,IAAI,CAQ7D"}