@lleverage-ai/agent-sdk 0.0.12 → 0.0.14

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.
@@ -14,6 +14,272 @@ import { tool } from "ai";
14
14
  import { expandEnvVars } from "./env.js";
15
15
  import { isSchemaEmpty, jsonSchemaToZod, MCPInputValidator } from "./validation.js";
16
16
  import { VirtualMCPServer } from "./virtual-server.js";
17
+ const SEARCH_FIELDS = ["name", "source", "description", "schema"];
18
+ const SEARCH_FIELD_WEIGHTS = {
19
+ name: 5,
20
+ source: 3,
21
+ description: 1,
22
+ schema: 2,
23
+ };
24
+ const BM25_K1 = 1.2;
25
+ const BM25_B = 0.75;
26
+ const NAME_PHRASE_BONUS = 8;
27
+ const SOURCE_PHRASE_BONUS = 4;
28
+ const DESCRIPTION_PHRASE_BONUS = 2;
29
+ const PREFIX_BONUS = 4;
30
+ const MIN_FUZZY_SCORE = 0.12;
31
+ /**
32
+ * Normalize text into lowercase alphanumeric terms.
33
+ * @internal
34
+ */
35
+ function normalizeText(text) {
36
+ return text
37
+ .toLowerCase()
38
+ .replace(/[^a-z0-9]+/g, " ")
39
+ .trim();
40
+ }
41
+ /**
42
+ * Split text into normalized terms.
43
+ * @internal
44
+ */
45
+ function tokenizeText(text) {
46
+ const normalized = normalizeText(text);
47
+ if (!normalized)
48
+ return [];
49
+ return normalized.split(/\s+/).filter(Boolean);
50
+ }
51
+ /**
52
+ * Build term-frequency map for a token array.
53
+ * @internal
54
+ */
55
+ function buildTermFrequency(tokens) {
56
+ const frequency = new Map();
57
+ for (const token of tokens) {
58
+ frequency.set(token, (frequency.get(token) ?? 0) + 1);
59
+ }
60
+ return frequency;
61
+ }
62
+ /**
63
+ * Extract useful search terms from JSON schema keys and enums.
64
+ * @internal
65
+ */
66
+ function extractSchemaTokens(schema, maxTokens = 64) {
67
+ const tokens = [];
68
+ const visited = new Set();
69
+ const pushTokens = (value) => {
70
+ for (const token of tokenizeText(value)) {
71
+ if (tokens.length >= maxTokens)
72
+ return;
73
+ tokens.push(token);
74
+ }
75
+ };
76
+ const visit = (value) => {
77
+ if (tokens.length >= maxTokens)
78
+ return;
79
+ if (!value || typeof value !== "object")
80
+ return;
81
+ const obj = value;
82
+ if (visited.has(obj))
83
+ return;
84
+ visited.add(obj);
85
+ if (obj.properties && typeof obj.properties === "object") {
86
+ for (const [key, prop] of Object.entries(obj.properties)) {
87
+ pushTokens(key);
88
+ visit(prop);
89
+ if (tokens.length >= maxTokens)
90
+ break;
91
+ }
92
+ }
93
+ if (Array.isArray(obj.required)) {
94
+ for (const required of obj.required) {
95
+ if (typeof required === "string") {
96
+ pushTokens(required);
97
+ }
98
+ }
99
+ }
100
+ if (Array.isArray(obj.enum)) {
101
+ for (const enumValue of obj.enum.slice(0, 10)) {
102
+ if (typeof enumValue === "string") {
103
+ pushTokens(enumValue);
104
+ }
105
+ }
106
+ }
107
+ const nestedValue = [
108
+ obj.items,
109
+ obj.anyOf,
110
+ obj.oneOf,
111
+ obj.allOf,
112
+ obj.not,
113
+ obj.if,
114
+ obj.then,
115
+ obj.else,
116
+ ];
117
+ for (const nested of nestedValue) {
118
+ if (Array.isArray(nested)) {
119
+ for (const item of nested) {
120
+ visit(item);
121
+ }
122
+ }
123
+ else {
124
+ visit(nested);
125
+ }
126
+ }
127
+ };
128
+ visit(schema);
129
+ return tokens;
130
+ }
131
+ /**
132
+ * Generate trigrams for fuzzy matching.
133
+ * @internal
134
+ */
135
+ function toTrigrams(text) {
136
+ const normalized = normalizeText(text).replace(/\s+/g, " ");
137
+ if (!normalized)
138
+ return new Set();
139
+ if (normalized.length <= 3)
140
+ return new Set([normalized]);
141
+ const padded = ` ${normalized} `;
142
+ const trigrams = new Set();
143
+ for (let i = 0; i <= padded.length - 3; i++) {
144
+ trigrams.add(padded.slice(i, i + 3));
145
+ }
146
+ return trigrams;
147
+ }
148
+ /**
149
+ * Compute Jaccard similarity between two sets.
150
+ * @internal
151
+ */
152
+ function jaccardSimilarity(a, b) {
153
+ if (a.size === 0 || b.size === 0)
154
+ return 0;
155
+ const smaller = a.size <= b.size ? a : b;
156
+ const larger = a.size <= b.size ? b : a;
157
+ let intersection = 0;
158
+ for (const token of smaller) {
159
+ if (larger.has(token))
160
+ intersection++;
161
+ }
162
+ const union = a.size + b.size - intersection;
163
+ return union === 0 ? 0 : intersection / union;
164
+ }
165
+ /**
166
+ * Build a precomputed search index from tool metadata.
167
+ * @internal
168
+ */
169
+ function buildSearchIndex(metadata) {
170
+ const fieldTotalLength = {
171
+ name: 0,
172
+ source: 0,
173
+ description: 0,
174
+ schema: 0,
175
+ };
176
+ const fieldDocumentFrequency = {
177
+ name: new Map(),
178
+ source: new Map(),
179
+ description: new Map(),
180
+ schema: new Map(),
181
+ };
182
+ const documents = metadata.map((tool) => {
183
+ const schemaTokens = extractSchemaTokens(tool.inputSchema);
184
+ const tokensByField = {
185
+ name: tokenizeText(tool.name),
186
+ source: tokenizeText(tool.source),
187
+ description: tokenizeText(tool.description),
188
+ schema: schemaTokens,
189
+ };
190
+ const termFrequencyByField = {
191
+ name: buildTermFrequency(tokensByField.name),
192
+ source: buildTermFrequency(tokensByField.source),
193
+ description: buildTermFrequency(tokensByField.description),
194
+ schema: buildTermFrequency(tokensByField.schema),
195
+ };
196
+ for (const field of SEARCH_FIELDS) {
197
+ const tokens = tokensByField[field];
198
+ fieldTotalLength[field] += tokens.length;
199
+ const uniqueTokens = new Set(tokens);
200
+ for (const token of uniqueTokens) {
201
+ fieldDocumentFrequency[field].set(token, (fieldDocumentFrequency[field].get(token) ?? 0) + 1);
202
+ }
203
+ }
204
+ const tokenSet = new Set([
205
+ ...tokensByField.name,
206
+ ...tokensByField.source,
207
+ ...tokensByField.description,
208
+ ...tokensByField.schema,
209
+ ]);
210
+ const tokenList = Array.from(tokenSet);
211
+ return {
212
+ metadata: tool,
213
+ normalizedName: normalizeText(tool.name),
214
+ normalizedSource: normalizeText(tool.source),
215
+ normalizedDescription: normalizeText(tool.description),
216
+ tokensByField,
217
+ termFrequencyByField,
218
+ tokenList,
219
+ trigrams: toTrigrams([tool.name, tool.source, tool.description, schemaTokens.join(" ")]
220
+ .filter(Boolean)
221
+ .join(" ")),
222
+ };
223
+ });
224
+ const docCount = Math.max(documents.length, 1);
225
+ const fieldStats = {
226
+ name: {
227
+ averageLength: fieldTotalLength.name / docCount,
228
+ documentFrequency: fieldDocumentFrequency.name,
229
+ },
230
+ source: {
231
+ averageLength: fieldTotalLength.source / docCount,
232
+ documentFrequency: fieldDocumentFrequency.source,
233
+ },
234
+ description: {
235
+ averageLength: fieldTotalLength.description / docCount,
236
+ documentFrequency: fieldDocumentFrequency.description,
237
+ },
238
+ schema: {
239
+ averageLength: fieldTotalLength.schema / docCount,
240
+ documentFrequency: fieldDocumentFrequency.schema,
241
+ },
242
+ };
243
+ return { documents, fieldStats };
244
+ }
245
+ /**
246
+ * Compute BM25 contribution for a single term.
247
+ * @internal
248
+ */
249
+ function scoreBm25Term(termFrequency, fieldLength, averageFieldLength, idf) {
250
+ const normalizedAverageLength = Math.max(averageFieldLength, 1);
251
+ const denominator = termFrequency +
252
+ BM25_K1 * (1 - BM25_B + (BM25_B * Math.max(fieldLength, 1)) / normalizedAverageLength);
253
+ if (denominator === 0)
254
+ return 0;
255
+ return ((termFrequency * (BM25_K1 + 1)) / denominator) * idf;
256
+ }
257
+ /**
258
+ * Compute partial token match score for fuzzy retrieval.
259
+ * @internal
260
+ */
261
+ function scorePartialTokenMatches(queryTokens, docTokens) {
262
+ if (queryTokens.length === 0 || docTokens.length === 0)
263
+ return 0;
264
+ let totalScore = 0;
265
+ for (const queryToken of queryTokens) {
266
+ let best = 0;
267
+ for (const docToken of docTokens) {
268
+ if (docToken === queryToken) {
269
+ best = 1;
270
+ break;
271
+ }
272
+ if (docToken.startsWith(queryToken) || queryToken.startsWith(docToken)) {
273
+ best = Math.max(best, 0.85);
274
+ }
275
+ else if (docToken.includes(queryToken) || queryToken.includes(docToken)) {
276
+ best = Math.max(best, 0.6);
277
+ }
278
+ }
279
+ totalScore += best;
280
+ }
281
+ return totalScore / queryTokens.length;
282
+ }
17
283
  /**
18
284
  * Manages MCP tool registration, discovery, and execution.
19
285
  *
@@ -50,6 +316,8 @@ export class MCPManager {
50
316
  externalClients = new Map();
51
317
  /** Cached tool metadata for search */
52
318
  toolMetadataCache = [];
319
+ /** Precomputed search index for fast ranked lookup */
320
+ searchIndex = buildSearchIndex([]);
53
321
  /** Whether cache needs refresh */
54
322
  cacheInvalid = true;
55
323
  /** Set of tools that are loaded and available for use */
@@ -62,6 +330,8 @@ export class MCPManager {
62
330
  onConnectionRestored;
63
331
  /** Input validator for MCP tools */
64
332
  validator = new MCPInputValidator();
333
+ /** Streaming tool factories from function-based plugins */
334
+ streamingFactories = new Map();
65
335
  /**
66
336
  * Creates a new MCP manager.
67
337
  *
@@ -246,6 +516,43 @@ export class MCPManager {
246
516
  }
247
517
  }
248
518
  }
519
+ /**
520
+ * Register streaming (function-based) plugin tools.
521
+ *
522
+ * Calls the factory with `{ writer: null }` to extract tool schemas for
523
+ * metadata/search. Stores the factory for later invocation with a real
524
+ * streaming context during `callTool()`.
525
+ *
526
+ * @param pluginName - Plugin/server name
527
+ * @param factory - Streaming tools factory function
528
+ * @param options - Registration options
529
+ */
530
+ registerStreamingPluginTools(pluginName, factory, options = {}) {
531
+ const { autoLoad = true } = options;
532
+ // Call factory with null writer to get tool schemas
533
+ const schemaTools = factory({ writer: null });
534
+ // Create a virtual server for metadata/search
535
+ const server = new VirtualMCPServer(pluginName, schemaTools);
536
+ this.virtualServers.set(pluginName, server);
537
+ this.streamingFactories.set(pluginName, factory);
538
+ this.cacheInvalid = true;
539
+ if (autoLoad) {
540
+ this.autoLoadServers.add(pluginName);
541
+ const serverTools = server.getToolSet();
542
+ for (const name of Object.keys(serverTools)) {
543
+ this.loadedTools.add(name);
544
+ }
545
+ }
546
+ }
547
+ /**
548
+ * Check if a plugin has a streaming factory registered.
549
+ *
550
+ * @param pluginName - Plugin name to check
551
+ * @returns True if a streaming factory exists for this plugin
552
+ */
553
+ hasStreamingFactory(pluginName) {
554
+ return this.streamingFactories.has(pluginName);
555
+ }
249
556
  /**
250
557
  * Check if a specific tool is currently loaded.
251
558
  *
@@ -277,7 +584,8 @@ export class MCPManager {
277
584
  /**
278
585
  * Search tools by query string.
279
586
  *
280
- * Matches against tool name and description (case-insensitive).
587
+ * Uses weighted lexical ranking (name/source/description/schema) with
588
+ * fuzzy fallback for typo tolerance.
281
589
  *
282
590
  * @param query - Search query
283
591
  * @param limit - Maximum results to return
@@ -285,13 +593,75 @@ export class MCPManager {
285
593
  */
286
594
  searchTools(query, limit = 10) {
287
595
  this.refreshCacheIfNeeded();
288
- if (!query) {
289
- return this.toolMetadataCache.slice(0, limit);
596
+ const clampedLimit = Math.max(limit, 0);
597
+ if (!query || clampedLimit === 0) {
598
+ return this.toolMetadataCache.slice(0, clampedLimit);
599
+ }
600
+ const normalizedQuery = normalizeText(query);
601
+ const queryTokens = tokenizeText(query);
602
+ if (!normalizedQuery || queryTokens.length === 0) {
603
+ return [];
290
604
  }
291
- const lowerQuery = query.toLowerCase();
292
- const matches = this.toolMetadataCache.filter((tool) => tool.name.toLowerCase().includes(lowerQuery) ||
293
- tool.description.toLowerCase().includes(lowerQuery));
294
- return matches.slice(0, limit);
605
+ const queryTrigrams = toTrigrams(query);
606
+ const docCount = Math.max(this.searchIndex.documents.length, 1);
607
+ const scored = this.searchIndex.documents
608
+ .map((document) => {
609
+ let lexicalScore = 0;
610
+ for (const field of SEARCH_FIELDS) {
611
+ const fieldWeight = SEARCH_FIELD_WEIGHTS[field];
612
+ if (fieldWeight === 0)
613
+ continue;
614
+ const fieldStats = this.searchIndex.fieldStats[field];
615
+ const termFrequency = document.termFrequencyByField[field];
616
+ const fieldLength = document.tokensByField[field].length;
617
+ for (const token of queryTokens) {
618
+ const tf = termFrequency.get(token) ?? 0;
619
+ if (tf === 0)
620
+ continue;
621
+ const documentFrequency = fieldStats.documentFrequency.get(token) ?? 0;
622
+ const idf = Math.log(1 + (docCount - documentFrequency + 0.5) / (documentFrequency + 0.5));
623
+ lexicalScore +=
624
+ fieldWeight *
625
+ scoreBm25Term(tf, fieldLength, fieldStats.averageLength, Math.max(idf, 0));
626
+ }
627
+ }
628
+ if (document.normalizedName.includes(normalizedQuery)) {
629
+ lexicalScore += NAME_PHRASE_BONUS;
630
+ }
631
+ if (document.normalizedName.startsWith(normalizedQuery)) {
632
+ lexicalScore += PREFIX_BONUS;
633
+ }
634
+ if (document.normalizedSource.includes(normalizedQuery)) {
635
+ lexicalScore += SOURCE_PHRASE_BONUS;
636
+ }
637
+ if (document.normalizedDescription.includes(normalizedQuery)) {
638
+ lexicalScore += DESCRIPTION_PHRASE_BONUS;
639
+ }
640
+ const trigramScore = jaccardSimilarity(queryTrigrams, document.trigrams);
641
+ const partialTokenScore = scorePartialTokenMatches(queryTokens, document.tokenList);
642
+ const fuzzyScore = trigramScore * 0.7 + partialTokenScore * 0.3;
643
+ const combinedScore = lexicalScore > 0
644
+ ? lexicalScore + fuzzyScore * 0.25
645
+ : fuzzyScore >= MIN_FUZZY_SCORE
646
+ ? fuzzyScore
647
+ : 0;
648
+ return {
649
+ metadata: document.metadata,
650
+ combinedScore,
651
+ lexicalScore,
652
+ };
653
+ })
654
+ .filter((entry) => entry.combinedScore > 0);
655
+ scored.sort((a, b) => {
656
+ if (b.combinedScore !== a.combinedScore) {
657
+ return b.combinedScore - a.combinedScore;
658
+ }
659
+ if (b.lexicalScore !== a.lexicalScore) {
660
+ return b.lexicalScore - a.lexicalScore;
661
+ }
662
+ return a.metadata.name.localeCompare(b.metadata.name);
663
+ });
664
+ return scored.slice(0, clampedLimit).map((entry) => entry.metadata);
295
665
  }
296
666
  /**
297
667
  * Get AI SDK compatible ToolSet.
@@ -299,19 +669,34 @@ export class MCPManager {
299
669
  * Only returns tools that have been loaded (either via autoLoad or explicit loadTools call).
300
670
  *
301
671
  * @param filter - Optional list of tool names to include
672
+ * @param streamingContext - Optional request-local streaming context for live factory tools
302
673
  * @returns ToolSet with MCP-named tools
303
674
  */
304
- getToolSet(filter) {
675
+ getToolSet(filter, streamingContext) {
305
676
  const toolSet = {};
306
677
  const filterSet = filter ? new Set(filter) : null;
307
678
  // Include virtual server tools (only if loaded)
308
- for (const server of this.virtualServers.values()) {
309
- const serverTools = server.getToolSet();
310
- for (const [name, t] of Object.entries(serverTools)) {
311
- // Only include if loaded and passes filter
312
- if (this.loadedTools.has(name)) {
313
- if (!filterSet || filterSet.has(name)) {
314
- toolSet[name] = t;
679
+ for (const [serverName, server] of this.virtualServers) {
680
+ // For streaming factories with an active context, use live factory tools
681
+ const factory = this.streamingFactories.get(serverName);
682
+ if (factory && streamingContext) {
683
+ const liveTools = factory(streamingContext);
684
+ for (const [toolName, t] of Object.entries(liveTools)) {
685
+ const mcpName = `mcp__${serverName}__${toolName}`;
686
+ if (this.loadedTools.has(mcpName)) {
687
+ if (!filterSet || filterSet.has(mcpName)) {
688
+ toolSet[mcpName] = t;
689
+ }
690
+ }
691
+ }
692
+ }
693
+ else {
694
+ const serverTools = server.getToolSet();
695
+ for (const [name, t] of Object.entries(serverTools)) {
696
+ if (this.loadedTools.has(name)) {
697
+ if (!filterSet || filterSet.has(name)) {
698
+ toolSet[name] = t;
699
+ }
315
700
  }
316
701
  }
317
702
  }
@@ -379,9 +764,10 @@ export class MCPManager {
379
764
  *
380
765
  * @param mcpName - Full MCP tool name (mcp__<source>__<tool>)
381
766
  * @param args - Tool arguments
767
+ * @param streamingContext - Optional request-local streaming context for live factory tools
382
768
  * @returns Tool execution result
383
769
  */
384
- async callTool(mcpName, args) {
770
+ async callTool(mcpName, args, streamingContext) {
385
771
  // Parse MCP name: mcp__<source>__<tool>
386
772
  const parts = mcpName.split("__");
387
773
  if (parts.length < 3 || parts[0] !== "mcp") {
@@ -395,6 +781,20 @@ export class MCPManager {
395
781
  // Check virtual servers first
396
782
  const virtualServer = this.virtualServers.get(sourceName);
397
783
  if (virtualServer?.hasTool(toolName)) {
784
+ // If a streaming factory exists, invoke with the request-local context.
785
+ const factory = this.streamingFactories.get(sourceName);
786
+ if (factory) {
787
+ const ctx = streamingContext ?? { writer: null };
788
+ const liveTools = factory(ctx);
789
+ const liveTool = liveTools[toolName];
790
+ if (liveTool?.execute) {
791
+ return liveTool.execute(args, {
792
+ toolCallId: `virtual-${Date.now()}`,
793
+ messages: [],
794
+ abortSignal: new AbortController().signal,
795
+ });
796
+ }
797
+ }
398
798
  return virtualServer.callTool(toolName, args);
399
799
  }
400
800
  // Check external clients
@@ -458,9 +858,11 @@ export class MCPManager {
458
858
  }
459
859
  }
460
860
  this.externalClients.clear();
461
- // Clear virtual servers
861
+ // Clear virtual servers and streaming factories
462
862
  this.virtualServers.clear();
863
+ this.streamingFactories.clear();
463
864
  this.cacheInvalid = true;
865
+ this.searchIndex = buildSearchIndex([]);
464
866
  // Clear all validators
465
867
  this.validator.clear();
466
868
  }
@@ -479,6 +881,7 @@ export class MCPManager {
479
881
  for (const { tools } of this.externalClients.values()) {
480
882
  this.toolMetadataCache.push(...tools);
481
883
  }
884
+ this.searchIndex = buildSearchIndex(this.toolMetadataCache);
482
885
  this.cacheInvalid = false;
483
886
  }
484
887
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,6 @@ export declare const permissionModeComponent: PromptComponent;
111
111
  * - `plugins-listing`: Loaded plugins
112
112
  * - `capabilities`: Backend capabilities
113
113
  * - `permission-mode`: Permission mode info
114
- * - `context`: Conversation context
115
114
  *
116
115
  * You can customize by cloning and modifying:
117
116
  *
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/prompt-builder/components.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAI/B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,eAQ5B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,eAQ7B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,eA6BnC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAqB9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAQ9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAsBrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,0BAA0B,IAAI,aAAa,CAW1D"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/prompt-builder/components.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAI/B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,eAQ5B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,eAQ7B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAyBnC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAqB9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAQ9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAsBrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,0BAA0B,IAAI,aAAa,CAU1D"}
@@ -95,9 +95,6 @@ export const capabilitiesComponent = {
95
95
  else if (ctx.backend?.type === "state") {
96
96
  capabilities.push("- In-memory file operations (sandboxed)");
97
97
  }
98
- if (ctx.state?.todos && ctx.state.todos.length > 0) {
99
- capabilities.push(`- ${ctx.state.todos.length} active task(s) in the task list`);
100
- }
101
98
  if (capabilities.length === 0) {
102
99
  return "";
103
100
  }
@@ -205,7 +202,6 @@ export const permissionModeComponent = {
205
202
  * - `plugins-listing`: Loaded plugins
206
203
  * - `capabilities`: Backend capabilities
207
204
  * - `permission-mode`: Permission mode info
208
- * - `context`: Conversation context
209
205
  *
210
206
  * You can customize by cloning and modifying:
211
207
  *
@@ -248,7 +244,6 @@ export function createDefaultPromptBuilder() {
248
244
  pluginsComponent,
249
245
  capabilitiesComponent,
250
246
  permissionModeComponent,
251
- contextComponent,
252
247
  ]);
253
248
  }
254
249
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/prompt-builder/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/prompt-builder/components.ts"],"names":[],"mappings":"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"}