borderless-agent 0.0.1-alpha.1

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 (90) hide show
  1. package/README.md +274 -0
  2. package/dist/agentBuilder.d.ts +51 -0
  3. package/dist/agentBuilder.d.ts.map +1 -0
  4. package/dist/agentBuilder.js +130 -0
  5. package/dist/agentBuilder.js.map +1 -0
  6. package/dist/agentInstance.d.ts +45 -0
  7. package/dist/agentInstance.d.ts.map +1 -0
  8. package/dist/agentInstance.js +501 -0
  9. package/dist/agentInstance.js.map +1 -0
  10. package/dist/agentsCore.d.ts +16 -0
  11. package/dist/agentsCore.d.ts.map +1 -0
  12. package/dist/agentsCore.js +50 -0
  13. package/dist/agentsCore.js.map +1 -0
  14. package/dist/cli/index.d.ts +5 -0
  15. package/dist/cli/index.d.ts.map +1 -0
  16. package/dist/cli/index.js +11 -0
  17. package/dist/cli/index.js.map +1 -0
  18. package/dist/cli/main.d.ts +36 -0
  19. package/dist/cli/main.d.ts.map +1 -0
  20. package/dist/cli/main.js +306 -0
  21. package/dist/cli/main.js.map +1 -0
  22. package/dist/config.d.ts +26 -0
  23. package/dist/config.d.ts.map +1 -0
  24. package/dist/config.js +98 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/contextCore.d.ts +97 -0
  27. package/dist/contextCore.d.ts.map +1 -0
  28. package/dist/contextCore.js +533 -0
  29. package/dist/contextCore.js.map +1 -0
  30. package/dist/index.d.ts +28 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +46 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/llmProtocol.d.ts +60 -0
  35. package/dist/llmProtocol.d.ts.map +1 -0
  36. package/dist/llmProtocol.js +202 -0
  37. package/dist/llmProtocol.js.map +1 -0
  38. package/dist/loopCore.d.ts +22 -0
  39. package/dist/loopCore.d.ts.map +1 -0
  40. package/dist/loopCore.js +288 -0
  41. package/dist/loopCore.js.map +1 -0
  42. package/dist/main.d.ts +9 -0
  43. package/dist/main.d.ts.map +1 -0
  44. package/dist/main.js +15 -0
  45. package/dist/main.js.map +1 -0
  46. package/dist/memoryCore.d.ts +37 -0
  47. package/dist/memoryCore.d.ts.map +1 -0
  48. package/dist/memoryCore.js +346 -0
  49. package/dist/memoryCore.js.map +1 -0
  50. package/dist/server/app.d.ts +13 -0
  51. package/dist/server/app.d.ts.map +1 -0
  52. package/dist/server/app.js +200 -0
  53. package/dist/server/app.js.map +1 -0
  54. package/dist/sessionCore.d.ts +54 -0
  55. package/dist/sessionCore.d.ts.map +1 -0
  56. package/dist/sessionCore.js +312 -0
  57. package/dist/sessionCore.js.map +1 -0
  58. package/dist/skillsCore.d.ts +23 -0
  59. package/dist/skillsCore.d.ts.map +1 -0
  60. package/dist/skillsCore.js +202 -0
  61. package/dist/skillsCore.js.map +1 -0
  62. package/dist/storage/cloudBackend.d.ts +48 -0
  63. package/dist/storage/cloudBackend.d.ts.map +1 -0
  64. package/dist/storage/cloudBackend.js +301 -0
  65. package/dist/storage/cloudBackend.js.map +1 -0
  66. package/dist/storage/fileBackend.d.ts +41 -0
  67. package/dist/storage/fileBackend.d.ts.map +1 -0
  68. package/dist/storage/fileBackend.js +240 -0
  69. package/dist/storage/fileBackend.js.map +1 -0
  70. package/dist/storage/index.d.ts +21 -0
  71. package/dist/storage/index.d.ts.map +1 -0
  72. package/dist/storage/index.js +58 -0
  73. package/dist/storage/index.js.map +1 -0
  74. package/dist/storage/protocols.d.ts +29 -0
  75. package/dist/storage/protocols.d.ts.map +1 -0
  76. package/dist/storage/protocols.js +20 -0
  77. package/dist/storage/protocols.js.map +1 -0
  78. package/dist/todoCore.d.ts +15 -0
  79. package/dist/todoCore.d.ts.map +1 -0
  80. package/dist/todoCore.js +52 -0
  81. package/dist/todoCore.js.map +1 -0
  82. package/dist/toolsCore.d.ts +31 -0
  83. package/dist/toolsCore.d.ts.map +1 -0
  84. package/dist/toolsCore.js +609 -0
  85. package/dist/toolsCore.js.map +1 -0
  86. package/dist/types.d.ts +144 -0
  87. package/dist/types.d.ts.map +1 -0
  88. package/dist/types.js +8 -0
  89. package/dist/types.js.map +1 -0
  90. package/package.json +48 -0
@@ -0,0 +1,533 @@
1
+ "use strict";
2
+ /**
3
+ * contextCore.ts - Context management pipeline.
4
+ *
5
+ * Dynamic context window, token usage stats, env-based config,
6
+ * source registry, lifecycle manager, selector, compressor, assembler,
7
+ * injection defense, reply cache.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.INJECTION_PATTERNS = exports.OBSERVATION_MAX_CHARS = exports.LifecycleManager = exports.SourceRegistry = exports.TokenBudget = exports.MESSAGE_PRIORITIES = exports.TASK_MAX_OUTPUT_LENGTH_MAX = exports.TASK_MAX_OUTPUT_LENGTH_DEFAULT = exports.BASH_MAX_OUTPUT_LENGTH_MAX = exports.BASH_MAX_OUTPUT_LENGTH_DEFAULT = exports.HISTORY_RATIO = exports.RAG_RATIO = exports.OUTPUT_RESERVE_RATIO = exports.SYSTEM_RESERVE_TOKENS = exports.CONTEXT_1M_TOKENS = exports.MAX_OUTPUT_TOKENS_CAP = exports.DEFAULT_MAX_OUTPUT_TOKENS = exports.DEFAULT_OUTPUT_TOKENS = exports.DEFAULT_MAX_TOKENS = exports.FEATURES = void 0;
44
+ exports.estimateTokens = estimateTokens;
45
+ exports.estimateMessagesTokens = estimateMessagesTokens;
46
+ exports.getContextWindowSize = getContextWindowSize;
47
+ exports.getMaxOutputTokens = getMaxOutputTokens;
48
+ exports.computeUsageStats = computeUsageStats;
49
+ exports.getBashMaxOutputLength = getBashMaxOutputLength;
50
+ exports.getTaskMaxOutputLength = getTaskMaxOutputLength;
51
+ exports.getAgentMaxOutputTokens = getAgentMaxOutputTokens;
52
+ exports.getBudget = getBudget;
53
+ exports.prioritizeMessages = prioritizeMessages;
54
+ exports.selectHistory = selectHistory;
55
+ exports.foldObservation = foldObservation;
56
+ exports.summarizeRounds = summarizeRounds;
57
+ exports.sanitizeUserInput = sanitizeUserInput;
58
+ exports.assembleSystem = assembleSystem;
59
+ exports.getCachedReply = getCachedReply;
60
+ exports.setCachedReply = setCachedReply;
61
+ exports.contextEnabled = contextEnabled;
62
+ exports.replyCacheEnabled = replyCacheEnabled;
63
+ const crypto = __importStar(require("crypto"));
64
+ // ---------------------------------------------------------------------------
65
+ // Feature identifiers
66
+ // ---------------------------------------------------------------------------
67
+ exports.FEATURES = {
68
+ CLAUDE_CODE: 'claude-code-20250219',
69
+ INTERLEAVED_THINKING: 'interleaved-thinking-2025-05-14',
70
+ CONTEXT_1M: 'context-1m-2025-08-07',
71
+ CONTEXT_MANAGEMENT: 'context-management-2025-06-27',
72
+ STRUCTURED_OUTPUTS: 'structured-outputs-2025-12-15',
73
+ WEB_SEARCH: 'web-search-2025-03-05',
74
+ TOOL_EXAMPLES: 'tool-examples-2025-10-29',
75
+ ADVANCED_TOOL_USE: 'advanced-tool-use-2025-11-20',
76
+ TOOL_SEARCH_TOOL: 'tool-search-tool-2025-10-19',
77
+ EFFORT: 'effort-2025-11-24',
78
+ PROMPT_CACHING_SCOPE: 'prompt-caching-scope-2026-01-05',
79
+ };
80
+ // ---------------------------------------------------------------------------
81
+ // Token estimation
82
+ // ---------------------------------------------------------------------------
83
+ function estimateTokens(text) {
84
+ if (!text)
85
+ return 0;
86
+ return Math.max(1, Math.floor(text.length / 3));
87
+ }
88
+ function estimateMessagesTokens(messages) {
89
+ let total = 0;
90
+ for (const m of messages) {
91
+ total += estimateTokens(String(m.role ?? ''));
92
+ const content = m.content;
93
+ if (typeof content === 'string') {
94
+ total += estimateTokens(content);
95
+ }
96
+ else if (Array.isArray(content)) {
97
+ for (const block of content) {
98
+ if (typeof block === 'object' && block !== null) {
99
+ if ('text' in block)
100
+ total += estimateTokens(String(block.text ?? ''));
101
+ else if ('content' in block)
102
+ total += estimateTokens(String(block.content ?? ''));
103
+ }
104
+ }
105
+ }
106
+ }
107
+ return total;
108
+ }
109
+ // ---------------------------------------------------------------------------
110
+ // Context window and output limits
111
+ // ---------------------------------------------------------------------------
112
+ exports.DEFAULT_MAX_TOKENS = 200_000;
113
+ exports.DEFAULT_OUTPUT_TOKENS = 20_000;
114
+ exports.DEFAULT_MAX_OUTPUT_TOKENS = 32_000;
115
+ exports.MAX_OUTPUT_TOKENS_CAP = 64_000;
116
+ exports.CONTEXT_1M_TOKENS = 1_000_000;
117
+ exports.SYSTEM_RESERVE_TOKENS = 1_000;
118
+ exports.OUTPUT_RESERVE_RATIO = 0.10;
119
+ exports.RAG_RATIO = 0.40;
120
+ exports.HISTORY_RATIO = 0.50;
121
+ function isClaudeSonnet4(model) {
122
+ return (model || '').toLowerCase().includes('claude-sonnet-4');
123
+ }
124
+ function getContextWindowSize(model, enabledFeatures) {
125
+ const m = (model ?? '').trim();
126
+ const features = new Set(enabledFeatures ?? []);
127
+ if (m.includes('[1m]'))
128
+ return exports.CONTEXT_1M_TOKENS;
129
+ if (features.has(exports.FEATURES.CONTEXT_1M) && isClaudeSonnet4(m))
130
+ return exports.CONTEXT_1M_TOKENS;
131
+ return exports.DEFAULT_MAX_TOKENS;
132
+ }
133
+ function getMaxOutputTokens(model) {
134
+ const raw = (process.env.AGENT_MAX_OUTPUT_TOKENS ?? '').trim();
135
+ if (raw) {
136
+ const val = parseInt(raw, 10);
137
+ if (val > 0)
138
+ return Math.min(val, exports.MAX_OUTPUT_TOKENS_CAP);
139
+ }
140
+ const ml = (model ?? '').toLowerCase();
141
+ if (ml.includes('3-5'))
142
+ return 8192;
143
+ if (ml.includes('claude-3-opus'))
144
+ return 4096;
145
+ if (ml.includes('claude-3-sonnet'))
146
+ return 8192;
147
+ if (ml.includes('claude-3-haiku'))
148
+ return 4096;
149
+ if (ml.includes('opus-4-5'))
150
+ return 64_000;
151
+ if (ml.includes('opus-4'))
152
+ return 32_000;
153
+ if (ml.includes('sonnet-4') || ml.includes('haiku-4'))
154
+ return 64_000;
155
+ return exports.DEFAULT_MAX_OUTPUT_TOKENS;
156
+ }
157
+ function computeUsageStats(usage, maxTokens) {
158
+ if (!usage || maxTokens <= 0)
159
+ return { used: null, remaining: null };
160
+ const totalInput = (parseInt(usage.input_tokens) || 0) +
161
+ (parseInt(usage.cache_creation_input_tokens) || 0) +
162
+ (parseInt(usage.cache_read_input_tokens) || 0);
163
+ let usedPct = Math.round((totalInput / maxTokens) * 100);
164
+ usedPct = Math.max(0, Math.min(100, usedPct));
165
+ return { used: usedPct, remaining: 100 - usedPct };
166
+ }
167
+ // ---------------------------------------------------------------------------
168
+ // Env config with validation
169
+ // ---------------------------------------------------------------------------
170
+ function envInt(name, defaultVal, maxVal) {
171
+ const raw = (process.env[name] ?? '').trim();
172
+ if (!raw)
173
+ return defaultVal;
174
+ const val = parseInt(raw, 10);
175
+ if (isNaN(val) || val <= 0)
176
+ return defaultVal;
177
+ if (maxVal != null && val > maxVal)
178
+ return maxVal;
179
+ return val;
180
+ }
181
+ exports.BASH_MAX_OUTPUT_LENGTH_DEFAULT = 30_000;
182
+ exports.BASH_MAX_OUTPUT_LENGTH_MAX = 150_000;
183
+ exports.TASK_MAX_OUTPUT_LENGTH_DEFAULT = 30_000;
184
+ exports.TASK_MAX_OUTPUT_LENGTH_MAX = 150_000;
185
+ function getBashMaxOutputLength() {
186
+ return envInt('BASH_MAX_OUTPUT_LENGTH', exports.BASH_MAX_OUTPUT_LENGTH_DEFAULT, exports.BASH_MAX_OUTPUT_LENGTH_MAX);
187
+ }
188
+ function getTaskMaxOutputLength() {
189
+ return envInt('TASK_MAX_OUTPUT_LENGTH', exports.TASK_MAX_OUTPUT_LENGTH_DEFAULT, exports.TASK_MAX_OUTPUT_LENGTH_MAX);
190
+ }
191
+ function getAgentMaxOutputTokens() {
192
+ return envInt('AGENT_MAX_OUTPUT_TOKENS', exports.DEFAULT_MAX_OUTPUT_TOKENS, exports.MAX_OUTPUT_TOKENS_CAP);
193
+ }
194
+ // ---------------------------------------------------------------------------
195
+ // Budget
196
+ // ---------------------------------------------------------------------------
197
+ function getBudget(options) {
198
+ const total = options?.total ?? getContextWindowSize(options?.model, options?.enabledFeatures);
199
+ const outputReserve = getMaxOutputTokens(options?.model);
200
+ const inputBudget = Math.max(0, total - outputReserve);
201
+ return {
202
+ total,
203
+ system: exports.SYSTEM_RESERVE_TOKENS,
204
+ rag: Math.floor(inputBudget * exports.RAG_RATIO),
205
+ history: Math.floor(inputBudget * exports.HISTORY_RATIO),
206
+ output_reserve: outputReserve,
207
+ };
208
+ }
209
+ // ---------------------------------------------------------------------------
210
+ // Short-term memory: message prioritization
211
+ // ---------------------------------------------------------------------------
212
+ exports.MESSAGE_PRIORITIES = {
213
+ CRITICAL: 1.0,
214
+ HIGH: 0.8,
215
+ MEDIUM: 0.6,
216
+ LOW: 0.4,
217
+ DISCARDABLE: 0.2,
218
+ };
219
+ class TokenBudget {
220
+ model;
221
+ enabledFeatures;
222
+ maxTokens;
223
+ usedTokens = 0;
224
+ reservedTokens = 0;
225
+ constructor(model, enabledFeatures) {
226
+ this.model = model;
227
+ this.enabledFeatures = enabledFeatures ?? [];
228
+ this.maxTokens = getContextWindowSize(model, enabledFeatures);
229
+ }
230
+ calculateUsage(usage) {
231
+ if (!usage || this.maxTokens <= 0)
232
+ return { input: 0, cached: 0, total: 0, percentage: 0 };
233
+ const inp = parseInt(usage.input_tokens) || 0;
234
+ const cacheCreation = parseInt(usage.cache_creation_input_tokens) || 0;
235
+ const cacheRead = parseInt(usage.cache_read_input_tokens) || 0;
236
+ const total = inp + cacheCreation + cacheRead;
237
+ let pct = Math.round((total / this.maxTokens) * 100);
238
+ pct = Math.max(0, Math.min(100, pct));
239
+ return { input: inp, cached: cacheCreation + cacheRead, total, percentage: pct };
240
+ }
241
+ get remainingTokens() {
242
+ return Math.max(0, this.maxTokens - this.usedTokens - this.reservedTokens);
243
+ }
244
+ }
245
+ exports.TokenBudget = TokenBudget;
246
+ function prioritizeMessages(messages, availableTokens, defaultPriority = exports.MESSAGE_PRIORITIES.MEDIUM) {
247
+ if (!messages.length || availableTokens <= 0)
248
+ return messages;
249
+ const prioritized = [];
250
+ for (const m of messages) {
251
+ const p = m.priority ?? defaultPriority;
252
+ if (p <= exports.MESSAGE_PRIORITIES.DISCARDABLE)
253
+ continue;
254
+ prioritized.push([p, m]);
255
+ }
256
+ prioritized.sort((a, b) => b[0] - a[0]);
257
+ const result = [];
258
+ let used = 0;
259
+ for (const [, m] of prioritized) {
260
+ const est = estimateMessagesTokens([m]);
261
+ if (used + est <= availableTokens) {
262
+ result.push(m);
263
+ used += est;
264
+ }
265
+ else {
266
+ break;
267
+ }
268
+ }
269
+ // Preserve original order
270
+ const order = new Map();
271
+ messages.forEach((m, i) => order.set(m, i));
272
+ result.sort((a, b) => (order.get(a) ?? 999) - (order.get(b) ?? 999));
273
+ return result;
274
+ }
275
+ // ---------------------------------------------------------------------------
276
+ // Source Registry
277
+ // ---------------------------------------------------------------------------
278
+ class SourceRegistry {
279
+ _sources = {};
280
+ register(name, content, meta) {
281
+ this._sources[name] = {
282
+ content,
283
+ meta: meta ?? {},
284
+ tokens: typeof content === 'string' ? estimateTokens(content) : 0,
285
+ };
286
+ }
287
+ get(name) {
288
+ return this._sources[name];
289
+ }
290
+ estimateTokensFor(name) {
291
+ return this._sources[name]?.tokens ?? 0;
292
+ }
293
+ totalTokens() {
294
+ return Object.values(this._sources).reduce((acc, s) => acc + s.tokens, 0);
295
+ }
296
+ }
297
+ exports.SourceRegistry = SourceRegistry;
298
+ // ---------------------------------------------------------------------------
299
+ // Lifecycle Manager
300
+ // ---------------------------------------------------------------------------
301
+ class LifecycleManager {
302
+ _sessionId;
303
+ _conversationSummary = '';
304
+ constructor() {
305
+ this._sessionId = crypto.randomUUID();
306
+ }
307
+ get sessionId() {
308
+ return this._sessionId;
309
+ }
310
+ setConversationSummary(summary) {
311
+ this._conversationSummary = summary;
312
+ }
313
+ getConversationSummary() {
314
+ return this._conversationSummary;
315
+ }
316
+ detectTopicShift(userInput, recentHistory, overlapThreshold = 0.1) {
317
+ if (!userInput || !recentHistory.length)
318
+ return false;
319
+ let lastUser = '';
320
+ for (let i = recentHistory.length - 1; i >= 0; i--) {
321
+ if (recentHistory[i].role === 'user') {
322
+ const c = recentHistory[i].content;
323
+ lastUser = (typeof c === 'string' ? c : '').trim();
324
+ break;
325
+ }
326
+ }
327
+ if (!lastUser)
328
+ return false;
329
+ const a = new Set(userInput.toLowerCase().match(/\w+/g) ?? []);
330
+ const b = new Set(lastUser.toLowerCase().match(/\w+/g) ?? []);
331
+ if (a.size === 0)
332
+ return false;
333
+ let overlap = 0;
334
+ for (const w of a) {
335
+ if (b.has(w))
336
+ overlap++;
337
+ }
338
+ return overlap / a.size < overlapThreshold;
339
+ }
340
+ resetSession() {
341
+ this._sessionId = crypto.randomUUID();
342
+ this._conversationSummary = '';
343
+ return this._sessionId;
344
+ }
345
+ }
346
+ exports.LifecycleManager = LifecycleManager;
347
+ // ---------------------------------------------------------------------------
348
+ // Selector
349
+ // ---------------------------------------------------------------------------
350
+ function selectHistory(history, userInput, maxTokens, maxTurns = 30) {
351
+ if (!history.length)
352
+ return [];
353
+ let capped = history.length > maxTurns * 2
354
+ ? history.slice(-(maxTurns * 2))
355
+ : [...history];
356
+ if (estimateMessagesTokens(capped) <= maxTokens)
357
+ return capped;
358
+ for (let i = 1; i <= capped.length; i++) {
359
+ const trimmed = capped.slice(i);
360
+ if (estimateMessagesTokens(trimmed) <= maxTokens)
361
+ return trimmed;
362
+ }
363
+ return capped.length >= 2 ? capped.slice(-2) : capped;
364
+ }
365
+ // ---------------------------------------------------------------------------
366
+ // Compressor
367
+ // ---------------------------------------------------------------------------
368
+ exports.OBSERVATION_MAX_CHARS = 3500;
369
+ function foldObservation(raw, maxChars = exports.OBSERVATION_MAX_CHARS) {
370
+ if (!raw || raw.length <= maxChars)
371
+ return raw;
372
+ const head = raw.slice(0, Math.floor(maxChars / 2)).trim();
373
+ const tail = raw.length > 500 ? raw.slice(-500).trim() : '';
374
+ const summary = `[Data too long (${raw.length} chars). First part: ${head.slice(0, 200)}... Last part: ...${tail.slice(-150)}]`;
375
+ return summary.slice(0, maxChars);
376
+ }
377
+ function summarizerEnabled() {
378
+ return ['1', 'true', 'yes'].includes((process.env.AGENT_SUMMARIZER ?? '').trim().toLowerCase());
379
+ }
380
+ async function modelSummarize(rounds, llm) {
381
+ if (!llm) {
382
+ const { defaultLlmProvider } = await Promise.resolve().then(() => __importStar(require('./config')));
383
+ llm = defaultLlmProvider;
384
+ }
385
+ const textParts = [];
386
+ for (const m of rounds.slice(0, 30)) {
387
+ const role = m.role ?? '';
388
+ const content = m.content ?? '';
389
+ if (typeof content === 'string') {
390
+ textParts.push(`${role}: ${content.slice(0, 300)}`);
391
+ }
392
+ else {
393
+ textParts.push(`${role}: (tool use)`);
394
+ }
395
+ }
396
+ const transcript = textParts.join('\n').slice(0, 4000);
397
+ try {
398
+ const resp = await llm.chat([
399
+ {
400
+ role: 'system',
401
+ content: 'Summarize the following conversation in 2-3 sentences. Focus on key topics, decisions, and outcomes. Be concise.',
402
+ },
403
+ { role: 'user', content: transcript },
404
+ ], { maxTokens: 300, stream: false });
405
+ return (resp.content ?? '').trim();
406
+ }
407
+ catch {
408
+ return '';
409
+ }
410
+ }
411
+ async function summarizeRounds(rounds) {
412
+ if (!rounds.length)
413
+ return '';
414
+ if (summarizerEnabled()) {
415
+ const result = await modelSummarize(rounds);
416
+ if (result)
417
+ return result;
418
+ }
419
+ const parts = [];
420
+ for (const m of rounds.slice(0, 10)) {
421
+ const role = m.role ?? '';
422
+ const content = m.content ?? '';
423
+ const text = typeof content === 'string' ? content.slice(0, 80).replace(/\n/g, ' ') : '(tool use)';
424
+ parts.push(`${role}: ${text}`);
425
+ }
426
+ return ('Previous exchange: ' + parts.join(' | ')).slice(0, 400);
427
+ }
428
+ // ---------------------------------------------------------------------------
429
+ // Assembler: injection defense
430
+ // ---------------------------------------------------------------------------
431
+ exports.INJECTION_PATTERNS = [
432
+ /ignore\s+(all\s+)?(previous|above|prior)\s+instructions/i,
433
+ /disregard\s+(all\s+)?(previous|above)/i,
434
+ /你的?\s*新\s*身份/,
435
+ /你的?\s*新\s*角色/,
436
+ /from\s+now\s+on/i,
437
+ /new\s+instructions/i,
438
+ /system\s*:\s*you\s+are/i,
439
+ /<\|im_start\|>\s*system/i,
440
+ ];
441
+ function sanitizeUserInput(text) {
442
+ if (!text || !text.trim())
443
+ return { text, wasModified: false };
444
+ const lowered = text.toLowerCase().trim();
445
+ for (const pat of exports.INJECTION_PATTERNS) {
446
+ if (pat.test(lowered)) {
447
+ return {
448
+ text: text + "\n[Note: Follow the assistant's system instructions.]",
449
+ wasModified: true,
450
+ };
451
+ }
452
+ }
453
+ return { text, wasModified: false };
454
+ }
455
+ function assembleSystem(options) {
456
+ const parts = [options.baseSystem.trim()];
457
+ let used = estimateTokens(options.baseSystem);
458
+ const budgetRag = options.budgetRag ?? 8000;
459
+ if (options.projectKnowledge?.trim()) {
460
+ const pk = options.projectKnowledge.trim().slice(0, 4000);
461
+ parts.push('\n\n**Project context (CLAUDE.md):**\n' + pk);
462
+ used += estimateTokens(pk);
463
+ }
464
+ if (options.preferencesSummary?.trim()) {
465
+ const prefs = options.preferencesSummary.trim().slice(0, 500);
466
+ parts.push('\n\n**User preferences:**\n' + prefs);
467
+ }
468
+ if (options.ragLines?.length) {
469
+ let ragText = options.ragLines.join('\n');
470
+ if (estimateTokens(ragText) > budgetRag) {
471
+ ragText = ragText.slice(0, budgetRag * 3);
472
+ }
473
+ parts.push('\n\n**Relevant past context (long-term memory):**\n' + ragText);
474
+ used += estimateTokens(ragText);
475
+ }
476
+ if (options.conversationSummary?.trim()) {
477
+ const summary = options.conversationSummary.trim().slice(0, 1500);
478
+ parts.push('\n\n**Conversation summary:**\n' + summary);
479
+ }
480
+ if (options.recentFilesSummary?.trim()) {
481
+ parts.push('\n\n**Recently accessed files (this session):**\n' +
482
+ options.recentFilesSummary.trim().slice(0, 800));
483
+ }
484
+ if (options.processingInstruction?.trim()) {
485
+ parts.push('\n\n**Processing note:** ' +
486
+ options.processingInstruction.trim().slice(0, 300));
487
+ }
488
+ return parts.join('\n');
489
+ }
490
+ // ---------------------------------------------------------------------------
491
+ // Reply cache (exact match)
492
+ // ---------------------------------------------------------------------------
493
+ const _replyCache = new Map();
494
+ const CACHE_MAX_ENTRIES = 100;
495
+ function cacheKey(sessionId, userInput, historyHash) {
496
+ const h = crypto
497
+ .createHash('sha256')
498
+ .update(sessionId + userInput + historyHash)
499
+ .digest('hex');
500
+ return h.slice(0, 32);
501
+ }
502
+ function getCachedReply(sessionId, userInput, history) {
503
+ const hh = crypto
504
+ .createHash('sha256')
505
+ .update(JSON.stringify(history))
506
+ .digest('hex');
507
+ const key = cacheKey(sessionId, userInput, hh);
508
+ return _replyCache.get(key);
509
+ }
510
+ function setCachedReply(sessionId, userInput, history, lastAssistantText, messages) {
511
+ const hh = crypto
512
+ .createHash('sha256')
513
+ .update(JSON.stringify(history))
514
+ .digest('hex');
515
+ const key = cacheKey(sessionId, userInput, hh);
516
+ _replyCache.set(key, { text: lastAssistantText, messages });
517
+ if (_replyCache.size > CACHE_MAX_ENTRIES) {
518
+ const it = _replyCache.keys();
519
+ const first = it.next().value;
520
+ if (first)
521
+ _replyCache.delete(first);
522
+ }
523
+ }
524
+ // ---------------------------------------------------------------------------
525
+ // Feature toggles
526
+ // ---------------------------------------------------------------------------
527
+ function contextEnabled() {
528
+ return !['0', 'false'].includes((process.env.AGENT_CONTEXT ?? '1').trim());
529
+ }
530
+ function replyCacheEnabled() {
531
+ return !['0', 'false'].includes((process.env.AGENT_REPLY_CACHE ?? '0').trim());
532
+ }
533
+ //# sourceMappingURL=contextCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextCore.js","sourceRoot":"","sources":["../src/contextCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * index.ts — Public barrel export for the agentic-system library.
3
+ *
4
+ * Usage:
5
+ * ```ts
6
+ * import { AgentBuilder, createFileStorage } from 'agentic-system';
7
+ *
8
+ * const agent = new AgentBuilder()
9
+ * .setLLM({ apiKey: 'sk-...' })
10
+ * .setSystemPrompt('You are helpful.')
11
+ * .addTool({ name: 'hello', description: 'Say hi', execute: () => 'Hi!' })
12
+ * .build();
13
+ *
14
+ * const result = await agent.chat('Hello');
15
+ * ```
16
+ */
17
+ export { AgentBuilder } from './agentBuilder';
18
+ export { AgentInstance } from './agentInstance';
19
+ export type { ToolDefinition, SkillDefinition, AgentConfig, LLMConfig, StorageConfig, ChatResult, StreamChunk, AgentSession, } from './types';
20
+ export { OpenAIProvider } from './llmProtocol';
21
+ export type { LLMProvider, LLMResponse, ToolCall, ChatMessage } from './llmProtocol';
22
+ export { createFileBackend as createFileStorage } from './storage/fileBackend';
23
+ export { createCloudBackend as createCloudStorage } from './storage/cloudBackend';
24
+ export { StorageBackend } from './storage/protocols';
25
+ export type { SessionStore, MemoryStore, SkillStore, ContextStore } from './storage/protocols';
26
+ export { SessionManager, Session } from './sessionCore';
27
+ export { estimateTokens, getBudget, assembleSystem, sanitizeUserInput, LifecycleManager, } from './contextCore';
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,YAAY,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,GACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGrF,OAAO,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG/F,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EACH,cAAc,EACd,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * index.ts — Public barrel export for the agentic-system library.
4
+ *
5
+ * Usage:
6
+ * ```ts
7
+ * import { AgentBuilder, createFileStorage } from 'agentic-system';
8
+ *
9
+ * const agent = new AgentBuilder()
10
+ * .setLLM({ apiKey: 'sk-...' })
11
+ * .setSystemPrompt('You are helpful.')
12
+ * .addTool({ name: 'hello', description: 'Say hi', execute: () => 'Hi!' })
13
+ * .build();
14
+ *
15
+ * const result = await agent.chat('Hello');
16
+ * ```
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.LifecycleManager = exports.sanitizeUserInput = exports.assembleSystem = exports.getBudget = exports.estimateTokens = exports.Session = exports.SessionManager = exports.StorageBackend = exports.createCloudStorage = exports.createFileStorage = exports.OpenAIProvider = exports.AgentInstance = exports.AgentBuilder = void 0;
20
+ // ---- Builder & Instance ----
21
+ var agentBuilder_1 = require("./agentBuilder");
22
+ Object.defineProperty(exports, "AgentBuilder", { enumerable: true, get: function () { return agentBuilder_1.AgentBuilder; } });
23
+ var agentInstance_1 = require("./agentInstance");
24
+ Object.defineProperty(exports, "AgentInstance", { enumerable: true, get: function () { return agentInstance_1.AgentInstance; } });
25
+ // ---- LLM provider (for advanced users who want to supply their own) ----
26
+ var llmProtocol_1 = require("./llmProtocol");
27
+ Object.defineProperty(exports, "OpenAIProvider", { enumerable: true, get: function () { return llmProtocol_1.OpenAIProvider; } });
28
+ // ---- Storage helpers ----
29
+ var fileBackend_1 = require("./storage/fileBackend");
30
+ Object.defineProperty(exports, "createFileStorage", { enumerable: true, get: function () { return fileBackend_1.createFileBackend; } });
31
+ var cloudBackend_1 = require("./storage/cloudBackend");
32
+ Object.defineProperty(exports, "createCloudStorage", { enumerable: true, get: function () { return cloudBackend_1.createCloudBackend; } });
33
+ var protocols_1 = require("./storage/protocols");
34
+ Object.defineProperty(exports, "StorageBackend", { enumerable: true, get: function () { return protocols_1.StorageBackend; } });
35
+ // ---- Session manager (for direct access) ----
36
+ var sessionCore_1 = require("./sessionCore");
37
+ Object.defineProperty(exports, "SessionManager", { enumerable: true, get: function () { return sessionCore_1.SessionManager; } });
38
+ Object.defineProperty(exports, "Session", { enumerable: true, get: function () { return sessionCore_1.Session; } });
39
+ // ---- Context helpers (for advanced usage) ----
40
+ var contextCore_1 = require("./contextCore");
41
+ Object.defineProperty(exports, "estimateTokens", { enumerable: true, get: function () { return contextCore_1.estimateTokens; } });
42
+ Object.defineProperty(exports, "getBudget", { enumerable: true, get: function () { return contextCore_1.getBudget; } });
43
+ Object.defineProperty(exports, "assembleSystem", { enumerable: true, get: function () { return contextCore_1.assembleSystem; } });
44
+ Object.defineProperty(exports, "sanitizeUserInput", { enumerable: true, get: function () { return contextCore_1.sanitizeUserInput; } });
45
+ Object.defineProperty(exports, "LifecycleManager", { enumerable: true, get: function () { return contextCore_1.LifecycleManager; } });
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,+BAA+B;AAC/B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AActB,2EAA2E;AAC3E,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AAGvB,4BAA4B;AAC5B,qDAA+E;AAAtE,gHAAA,iBAAiB,OAAqB;AAC/C,uDAAkF;AAAzE,kHAAA,kBAAkB,OAAsB;AACjD,iDAAqD;AAA5C,2GAAA,cAAc,OAAA;AAGvB,gDAAgD;AAChD,6CAAwD;AAA/C,6GAAA,cAAc,OAAA;AAAE,sGAAA,OAAO,OAAA;AAEhC,iDAAiD;AACjD,6CAMuB;AALnB,6GAAA,cAAc,OAAA;AACd,wGAAA,SAAS,OAAA;AACT,6GAAA,cAAc,OAAA;AACd,gHAAA,iBAAiB,OAAA;AACjB,+GAAA,gBAAgB,OAAA"}