@kernel.chat/kbot 2.3.1 → 2.5.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 (63) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +45 -22
  3. package/dist/agent.js.map +1 -1
  4. package/dist/auth.d.ts +2 -0
  5. package/dist/auth.d.ts.map +1 -1
  6. package/dist/auth.js +41 -12
  7. package/dist/auth.js.map +1 -1
  8. package/dist/auth.test.js +35 -37
  9. package/dist/auth.test.js.map +1 -1
  10. package/dist/cli.js +106 -6
  11. package/dist/cli.js.map +1 -1
  12. package/dist/cloud-sync.d.ts +19 -0
  13. package/dist/cloud-sync.d.ts.map +1 -0
  14. package/dist/cloud-sync.js +184 -0
  15. package/dist/cloud-sync.js.map +1 -0
  16. package/dist/context-manager.d.ts +55 -0
  17. package/dist/context-manager.d.ts.map +1 -0
  18. package/dist/context-manager.js +192 -0
  19. package/dist/context-manager.js.map +1 -0
  20. package/dist/embeddings.d.ts +40 -0
  21. package/dist/embeddings.d.ts.map +1 -0
  22. package/dist/embeddings.js +224 -0
  23. package/dist/embeddings.js.map +1 -0
  24. package/dist/learned-router.d.ts +54 -0
  25. package/dist/learned-router.d.ts.map +1 -0
  26. package/dist/learned-router.js +273 -0
  27. package/dist/learned-router.js.map +1 -0
  28. package/dist/learning.d.ts +1 -1
  29. package/dist/learning.d.ts.map +1 -1
  30. package/dist/learning.js +35 -20
  31. package/dist/learning.js.map +1 -1
  32. package/dist/learning.test.js +34 -43
  33. package/dist/learning.test.js.map +1 -1
  34. package/dist/permissions.d.ts.map +1 -1
  35. package/dist/permissions.js +15 -12
  36. package/dist/permissions.js.map +1 -1
  37. package/dist/plugins.d.ts.map +1 -1
  38. package/dist/plugins.js +30 -1
  39. package/dist/plugins.js.map +1 -1
  40. package/dist/prompt-cache.d.ts +53 -0
  41. package/dist/prompt-cache.d.ts.map +1 -0
  42. package/dist/prompt-cache.js +111 -0
  43. package/dist/prompt-cache.js.map +1 -0
  44. package/dist/serve.d.ts +8 -0
  45. package/dist/serve.d.ts.map +1 -0
  46. package/dist/serve.js +159 -0
  47. package/dist/serve.js.map +1 -0
  48. package/dist/streaming.d.ts.map +1 -1
  49. package/dist/streaming.js +6 -1
  50. package/dist/streaming.js.map +1 -1
  51. package/dist/tools/files.d.ts.map +1 -1
  52. package/dist/tools/files.js +16 -7
  53. package/dist/tools/files.js.map +1 -1
  54. package/dist/tools/index.test.js +39 -46
  55. package/dist/tools/index.test.js.map +1 -1
  56. package/dist/ui.d.ts.map +1 -1
  57. package/dist/ui.js +39 -2
  58. package/dist/ui.js.map +1 -1
  59. package/dist/updater.d.ts +11 -1
  60. package/dist/updater.d.ts.map +1 -1
  61. package/dist/updater.js +110 -17
  62. package/dist/updater.js.map +1 -1
  63. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ /** Prompt section with optional cache control */
2
+ export interface PromptSection {
3
+ /** Section identifier */
4
+ id: string;
5
+ /** The text content */
6
+ text: string;
7
+ /** Whether this section is stable (cacheable) or dynamic */
8
+ stable: boolean;
9
+ }
10
+ /** Cache stats for monitoring */
11
+ export interface PromptCacheStats {
12
+ hits: number;
13
+ misses: number;
14
+ lastHash: string;
15
+ estimatedSavings: number;
16
+ }
17
+ /**
18
+ * Build a cacheable system prompt from sections.
19
+ *
20
+ * For Anthropic: returns structured content blocks with cache_control
21
+ * on the stable portion. This allows the API to cache the large static
22
+ * part and only process the dynamic part fresh each time.
23
+ *
24
+ * For other providers: returns a plain concatenated string (no caching).
25
+ */
26
+ export declare function buildCacheablePrompt(sections: PromptSection[], provider?: string): {
27
+ text: string;
28
+ cacheBlocks?: Array<{
29
+ type: string;
30
+ text: string;
31
+ cache_control?: {
32
+ type: string;
33
+ };
34
+ }>;
35
+ };
36
+ /**
37
+ * Create prompt sections from agent.ts components.
38
+ * Separates stable (persona, tools, rules) from dynamic (learning, memory).
39
+ */
40
+ export declare function createPromptSections(opts: {
41
+ persona?: string;
42
+ toolInstructions?: string;
43
+ conversationRules?: string;
44
+ matrixPrompt?: string;
45
+ contextSnippet?: string;
46
+ memorySnippet?: string;
47
+ learningContext?: string;
48
+ }): PromptSection[];
49
+ /** Get cache statistics */
50
+ export declare function getPromptCacheStats(): PromptCacheStats;
51
+ /** Reset cache stats (for testing) */
52
+ export declare function resetPromptCacheStats(): void;
53
+ //# sourceMappingURL=prompt-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-cache.d.ts","sourceRoot":"","sources":["../src/prompt-cache.ts"],"names":[],"mappings":"AAYA,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,GAAE,MAAoB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;CAAE,CAqCzG;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,aAAa,EAAE,CA6BlB;AAED,2BAA2B;AAC3B,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,sCAAsC;AACtC,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C"}
@@ -0,0 +1,111 @@
1
+ // K:BOT Prompt Cache — Reduce redundant system prompt tokens
2
+ //
3
+ // System prompts are large and mostly static. By hashing the stable
4
+ // portions and caching them, we can use Anthropic's prompt caching
5
+ // (cache_control: ephemeral) to avoid re-processing the same tokens.
6
+ //
7
+ // Key insight: split the system prompt into STABLE (persona, tools, rules)
8
+ // and DYNAMIC (learning context, memory, project context) sections.
9
+ // The stable portion gets a cache breakpoint.
10
+ import { createHash } from 'node:crypto';
11
+ const stats = {
12
+ hits: 0,
13
+ misses: 0,
14
+ lastHash: '',
15
+ estimatedSavings: 0,
16
+ };
17
+ /** Hash a string for cache key comparison */
18
+ function hashText(text) {
19
+ return createHash('md5').update(text).digest('hex').slice(0, 16);
20
+ }
21
+ /** Estimate token count (4 chars per token heuristic) */
22
+ function estimateTokens(text) {
23
+ return Math.ceil(text.length / 4);
24
+ }
25
+ /**
26
+ * Build a cacheable system prompt from sections.
27
+ *
28
+ * For Anthropic: returns structured content blocks with cache_control
29
+ * on the stable portion. This allows the API to cache the large static
30
+ * part and only process the dynamic part fresh each time.
31
+ *
32
+ * For other providers: returns a plain concatenated string (no caching).
33
+ */
34
+ export function buildCacheablePrompt(sections, provider = 'anthropic') {
35
+ const stableParts = sections.filter(s => s.stable && s.text).map(s => s.text);
36
+ const dynamicParts = sections.filter(s => !s.stable && s.text).map(s => s.text);
37
+ const stableText = stableParts.join('\n\n');
38
+ const dynamicText = dynamicParts.join('\n\n');
39
+ const fullText = [stableText, dynamicText].filter(Boolean).join('\n\n');
40
+ // Track cache efficiency
41
+ const stableHash = hashText(stableText);
42
+ if (stableHash === stats.lastHash) {
43
+ stats.hits++;
44
+ stats.estimatedSavings += estimateTokens(stableText);
45
+ }
46
+ else {
47
+ stats.misses++;
48
+ stats.lastHash = stableHash;
49
+ }
50
+ // For Anthropic: use structured cache blocks
51
+ if (provider === 'anthropic' && stableText && dynamicText) {
52
+ return {
53
+ text: fullText,
54
+ cacheBlocks: [
55
+ {
56
+ type: 'text',
57
+ text: stableText,
58
+ cache_control: { type: 'ephemeral' },
59
+ },
60
+ {
61
+ type: 'text',
62
+ text: dynamicText,
63
+ },
64
+ ],
65
+ };
66
+ }
67
+ return { text: fullText };
68
+ }
69
+ /**
70
+ * Create prompt sections from agent.ts components.
71
+ * Separates stable (persona, tools, rules) from dynamic (learning, memory).
72
+ */
73
+ export function createPromptSections(opts) {
74
+ const sections = [];
75
+ // Stable sections (change rarely)
76
+ if (opts.persona) {
77
+ sections.push({ id: 'persona', text: opts.persona, stable: true });
78
+ }
79
+ if (opts.conversationRules) {
80
+ sections.push({ id: 'rules', text: opts.conversationRules, stable: true });
81
+ }
82
+ if (opts.matrixPrompt) {
83
+ sections.push({ id: 'matrix', text: `[Agent Persona]\n${opts.matrixPrompt}`, stable: true });
84
+ }
85
+ if (opts.toolInstructions) {
86
+ sections.push({ id: 'tools', text: opts.toolInstructions, stable: true });
87
+ }
88
+ // Dynamic sections (change per message)
89
+ if (opts.contextSnippet) {
90
+ sections.push({ id: 'context', text: opts.contextSnippet, stable: false });
91
+ }
92
+ if (opts.memorySnippet) {
93
+ sections.push({ id: 'memory', text: opts.memorySnippet, stable: false });
94
+ }
95
+ if (opts.learningContext) {
96
+ sections.push({ id: 'learning', text: opts.learningContext, stable: false });
97
+ }
98
+ return sections;
99
+ }
100
+ /** Get cache statistics */
101
+ export function getPromptCacheStats() {
102
+ return { ...stats };
103
+ }
104
+ /** Reset cache stats (for testing) */
105
+ export function resetPromptCacheStats() {
106
+ stats.hits = 0;
107
+ stats.misses = 0;
108
+ stats.lastHash = '';
109
+ stats.estimatedSavings = 0;
110
+ }
111
+ //# sourceMappingURL=prompt-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-cache.js","sourceRoot":"","sources":["../src/prompt-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface ServeOptions {
2
+ port: number;
3
+ token?: string;
4
+ computerUse?: boolean;
5
+ }
6
+ export declare function startServe(options: ServeOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=serve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAkBA,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAuBD,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyIrE"}
package/dist/serve.js ADDED
@@ -0,0 +1,159 @@
1
+ // K:BOT Serve — HTTP server that exposes all tools over REST
2
+ //
3
+ // Usage:
4
+ // kbot serve # Start on default port 7437
5
+ // kbot serve --port 3000 # Custom port
6
+ // kbot serve --token mysecret # Require auth token
7
+ //
8
+ // Endpoints:
9
+ // GET /health — Health check
10
+ // GET /tools — List all registered tools (schemas only)
11
+ // POST /tools/:name — Execute a tool by name
12
+ // POST /execute — Execute a tool { name, args }
13
+ // GET /metrics — Tool execution metrics
14
+ import { createServer } from 'node:http';
15
+ import { registerAllTools, getAllTools, executeTool, getToolDefinitionsForApi, getToolMetrics } from './tools/index.js';
16
+ import { printInfo, printSuccess } from './ui.js';
17
+ function cors(res) {
18
+ res.setHeader('Access-Control-Allow-Origin', '*');
19
+ res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
20
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
21
+ }
22
+ function json(res, status, data) {
23
+ cors(res);
24
+ res.writeHead(status, { 'Content-Type': 'application/json' });
25
+ res.end(JSON.stringify(data));
26
+ }
27
+ function readBody(req) {
28
+ return new Promise((resolve, reject) => {
29
+ const chunks = [];
30
+ req.on('data', (c) => chunks.push(c));
31
+ req.on('end', () => resolve(Buffer.concat(chunks).toString('utf-8')));
32
+ req.on('error', reject);
33
+ });
34
+ }
35
+ export async function startServe(options) {
36
+ // Register all tools before starting
37
+ printInfo('Registering tools...');
38
+ await registerAllTools({ computerUse: options.computerUse });
39
+ const tools = getAllTools();
40
+ printSuccess(`${tools.length} tools registered`);
41
+ const server = createServer(async (req, res) => {
42
+ // CORS preflight
43
+ if (req.method === 'OPTIONS') {
44
+ cors(res);
45
+ res.writeHead(204);
46
+ res.end();
47
+ return;
48
+ }
49
+ // Auth check
50
+ if (options.token) {
51
+ const auth = req.headers.authorization;
52
+ const bearerToken = auth?.startsWith('Bearer ') ? auth.slice(7) : null;
53
+ const queryToken = new URL(req.url || '/', `http://localhost`).searchParams.get('token');
54
+ if (bearerToken !== options.token && queryToken !== options.token) {
55
+ json(res, 401, { error: 'Unauthorized' });
56
+ return;
57
+ }
58
+ }
59
+ const url = new URL(req.url || '/', `http://localhost:${options.port}`);
60
+ const path = url.pathname;
61
+ try {
62
+ // GET /health
63
+ if (path === '/health' && req.method === 'GET') {
64
+ json(res, 200, {
65
+ status: 'ok',
66
+ version: '2.4.0',
67
+ tools: tools.length,
68
+ uptime: process.uptime(),
69
+ });
70
+ return;
71
+ }
72
+ // GET /tools — list all tools with schemas
73
+ if (path === '/tools' && req.method === 'GET') {
74
+ const tier = url.searchParams.get('tier') || 'free';
75
+ const schemas = getToolDefinitionsForApi(tier);
76
+ json(res, 200, { tools: schemas, count: schemas.length });
77
+ return;
78
+ }
79
+ // GET /metrics — tool execution metrics
80
+ if (path === '/metrics' && req.method === 'GET') {
81
+ json(res, 200, { metrics: getToolMetrics() });
82
+ return;
83
+ }
84
+ // POST /execute — execute a tool
85
+ if (path === '/execute' && req.method === 'POST') {
86
+ const body = JSON.parse(await readBody(req));
87
+ const { name, args } = body;
88
+ if (!name) {
89
+ json(res, 400, { error: 'Missing "name" field' });
90
+ return;
91
+ }
92
+ const result = await executeTool({
93
+ id: `serve_${Date.now()}`,
94
+ name,
95
+ arguments: args || {},
96
+ });
97
+ json(res, result.error ? 500 : 200, {
98
+ result: result.result,
99
+ error: result.error || false,
100
+ duration_ms: result.duration_ms,
101
+ });
102
+ return;
103
+ }
104
+ // POST /tools/:name — execute tool by URL path
105
+ const toolMatch = path.match(/^\/tools\/([a-z_]+)$/);
106
+ if (toolMatch && req.method === 'POST') {
107
+ const toolName = toolMatch[1];
108
+ let args = {};
109
+ try {
110
+ const rawBody = await readBody(req);
111
+ if (rawBody.trim())
112
+ args = JSON.parse(rawBody);
113
+ }
114
+ catch { /* empty body is fine */ }
115
+ const result = await executeTool({
116
+ id: `serve_${Date.now()}`,
117
+ name: toolName,
118
+ arguments: args,
119
+ });
120
+ json(res, result.error ? 500 : 200, {
121
+ result: result.result,
122
+ error: result.error || false,
123
+ duration_ms: result.duration_ms,
124
+ });
125
+ return;
126
+ }
127
+ // 404
128
+ json(res, 404, { error: 'Not found' });
129
+ }
130
+ catch (err) {
131
+ json(res, 500, { error: err instanceof Error ? err.message : 'Internal error' });
132
+ }
133
+ });
134
+ server.listen(options.port, () => {
135
+ printSuccess(`K:BOT serve running on http://localhost:${options.port}`);
136
+ printInfo(` GET /health — Health check`);
137
+ printInfo(` GET /tools — List ${tools.length} tools`);
138
+ printInfo(` POST /execute — Execute a tool`);
139
+ printInfo(` POST /tools/:name — Execute by name`);
140
+ printInfo(` GET /metrics — Execution metrics`);
141
+ if (options.token) {
142
+ printInfo(` Auth: Bearer token required`);
143
+ }
144
+ printInfo('');
145
+ printInfo('Connect from kernel.chat:');
146
+ printInfo(` connectKbot('http://localhost:${options.port}')`);
147
+ });
148
+ // Graceful shutdown
149
+ const shutdown = () => {
150
+ printInfo('\nShutting down K:BOT serve...');
151
+ server.close();
152
+ process.exit(0);
153
+ };
154
+ process.on('SIGINT', shutdown);
155
+ process.on('SIGTERM', shutdown);
156
+ // Keep process alive
157
+ await new Promise(() => { });
158
+ }
159
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAcA,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QAClE,KAAK,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAA;SAAE,CAAA;QACtD,WAAW,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;CACxD;AAED,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnE,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,iBAAiB,EAAE,OAAO,CAAA;CAC3B;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAW/C;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,EACnD,KAAK,CAAC,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,EAC3F,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,WAAW,CAAC,CAuGtB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,KAAK,CAAC,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GAC1F,OAAO,CAAC,WAAW,CAAC,CA8HtB;AAgED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAe9D"}
package/dist/streaming.js CHANGED
@@ -152,6 +152,7 @@ export async function streamOpenAIResponse(apiKey, apiUrl, model, system, messag
152
152
  'Authorization': `Bearer ${apiKey}`,
153
153
  },
154
154
  body: JSON.stringify(body),
155
+ signal: AbortSignal.timeout(300_000), // 5 min timeout for stream initiation
155
156
  });
156
157
  if (!res.ok) {
157
158
  const err = await res.json().catch(() => ({ error: { message: `HTTP ${res.status}` } }));
@@ -163,9 +164,13 @@ export async function streamOpenAIResponse(apiKey, apiUrl, model, system, messag
163
164
  throw new Error('No response body');
164
165
  const decoder = new TextDecoder();
165
166
  let buffer = '';
167
+ const CHUNK_TIMEOUT = 60_000; // 60s between chunks before giving up
166
168
  try {
167
169
  while (true) {
168
- const { done, value } = await reader.read();
170
+ // Timeout if no data received for 60 seconds (server hung)
171
+ const readPromise = reader.read();
172
+ const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Stream stalled — no data for 60s')), CHUNK_TIMEOUT));
173
+ const { done, value } = await Promise.race([readPromise, timeoutPromise]);
169
174
  if (done)
170
175
  break;
171
176
  buffer += decoder.decode(value, { stream: true });
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAmFA,wBAAgB,iBAAiB,IAAI,IAAI,CAwLxC"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAmFA,wBAAgB,iBAAiB,IAAI,IAAI,CAiMxC"}
@@ -166,12 +166,17 @@ export function registerFileTools() {
166
166
  async execute(args) {
167
167
  const pattern = String(args.pattern);
168
168
  const cwd = args.path ? String(args.path) : process.cwd();
169
+ // Sanitize pattern: only allow safe glob characters (prevent shell injection)
170
+ if (/[;&|`$(){}!\\]/.test(pattern)) {
171
+ return 'Error: Pattern contains unsafe characters';
172
+ }
169
173
  try {
170
- // Use find for simple patterns, or shell glob expansion
171
- const result = execSync(`find "${cwd}" -path '*/${pattern}' -type f 2>/dev/null | head -50`, { encoding: 'utf-8', timeout: 10000 }).trim();
174
+ // Use find with properly quoted pattern
175
+ const safePattern = pattern.replace(/'/g, "'\\''");
176
+ const result = execSync(`find "${cwd}" -path '*/${safePattern}' -type f 2>/dev/null | head -50`, { encoding: 'utf-8', timeout: 10000 }).trim();
172
177
  if (!result) {
173
- // Fallback to using shell expansion
174
- const result2 = execSync(`ls -1 "${cwd}"/${pattern} 2>/dev/null | head -50`, { encoding: 'utf-8', timeout: 10000 }).trim();
178
+ // Fallback: use Node.js glob instead of shell expansion
179
+ const result2 = execSync(`find "${cwd}" -name '${safePattern}' -type f 2>/dev/null | head -50`, { encoding: 'utf-8', timeout: 10000 }).trim();
175
180
  return result2 || 'No files found';
176
181
  }
177
182
  return result;
@@ -193,12 +198,16 @@ export function registerFileTools() {
193
198
  async execute(args) {
194
199
  const pattern = String(args.pattern);
195
200
  const searchPath = args.path ? String(args.path) : '.';
196
- const typeFlag = args.type ? `--type ${args.type}` : '';
201
+ // Validate type flag: only allow alphanumeric file type names (prevent flag injection)
202
+ const fileType = args.type ? String(args.type).replace(/[^a-zA-Z0-9]/g, '') : '';
203
+ const typeFlag = fileType ? `--type ${fileType}` : '';
197
204
  try {
205
+ // Escape single quotes in pattern for safe shell embedding
206
+ const safePattern = pattern.replace(/'/g, "'\\''");
198
207
  // Prefer ripgrep, fall back to grep
199
208
  const cmd = existsSync('/usr/bin/rg') || existsSync('/usr/local/bin/rg') || existsSync('/opt/homebrew/bin/rg')
200
- ? `rg -n --max-count 30 ${typeFlag} '${pattern.replace(/'/g, "\\'")}' "${searchPath}" 2>/dev/null`
201
- : `grep -rn --include='*.${args.type || '*'}' '${pattern.replace(/'/g, "\\'")}' "${searchPath}" 2>/dev/null | head -30`;
209
+ ? `rg -n --max-count 30 ${typeFlag} '${safePattern}' "${searchPath}" 2>/dev/null`
210
+ : `grep -rn --include='*.${fileType || '*'}' '${safePattern}' "${searchPath}" 2>/dev/null | head -30`;
202
211
  const result = execSync(cmd, { encoding: 'utf-8', timeout: 15000 }).trim();
203
212
  return result || 'No matches found';
204
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"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"}