indusagi 0.12.8 → 0.12.9

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.
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # indusagi
2
2
 
3
+ > **Inspired by Pi**: *"Code with clarity, collaborate with purpose, and build with intelligence. Every line you write is a conversation between you and your assistant."*
4
+
3
5
  All-in-one package that bundles:
4
6
 
5
7
  - `indusagi-ai`
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Web Search Tool
3
3
  *
4
- * Performs real-time web searches using Exa AI API.
4
+ * Performs real-time web searches using DuckDuckGo API.
5
5
  * Provides up-to-date information for current events and recent data.
6
6
  */
7
7
  import type { AgentTool } from "../types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"websearch.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/websearch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,QAAA,MAAM,eAAe;;;EAKnB,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACpC,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/F;AAkBD,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC,OAAO,eAAe,CAAC,CAuErG;AAED,8BAA8B;AAC9B,eAAO,MAAM,aAAa;;;QAAwB,CAAC"}
1
+ {"version":3,"file":"websearch.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/websearch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,QAAA,MAAM,eAAe;;;EAKnB,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACpC,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/F;AAuED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC,OAAO,eAAe,CAAC,CAuErG;AAED,8BAA8B;AAC9B,eAAO,MAAM,aAAa;;;QAAwB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Web Search Tool
3
3
  *
4
- * Performs real-time web searches using Exa AI API.
4
+ * Performs real-time web searches using DuckDuckGo API.
5
5
  * Provides up-to-date information for current events and recent data.
6
6
  */
7
7
  import { Type } from "@sinclair/typebox";
@@ -12,19 +12,62 @@ const webSearchSchema = Type.Object({
12
12
  let windowStart = Date.now();
13
13
  let requestCount = 0;
14
14
  /**
15
- * Default web search implementation
15
+ * Default web search implementation using DuckDuckGo
16
16
  */
17
17
  async function defaultWebSearch(query, numResults, signal) {
18
- // Note: This is a simplified implementation. The full version would use the Exa AI API.
19
- // For now, return a placeholder message.
20
- return `Web search for: "${query}"\n\nNote: Full web search functionality requires Exa AI API configuration.`;
18
+ const count = Math.min(numResults ?? 8, 10);
19
+ try {
20
+ // Use DuckDuckGo Instant Answer API for web search
21
+ const searchUrl = `https://api.duckduckgo.com/?q=${encodeURIComponent(query)}&format=json&no_html=1&skip_disambig=1`;
22
+ const response = await fetch(searchUrl, {
23
+ signal,
24
+ headers: {
25
+ 'Accept': 'application/json',
26
+ }
27
+ });
28
+ if (!response.ok) {
29
+ throw new Error(`Search request failed: ${response.status}`);
30
+ }
31
+ const data = await response.json();
32
+ // Build results from DuckDuckGo response
33
+ const results = [];
34
+ if (data.AbstractText) {
35
+ results.push(`**Summary:** ${data.AbstractText}`);
36
+ if (data.AbstractURL) {
37
+ results.push(`Source: ${data.AbstractURL}`);
38
+ }
39
+ }
40
+ if (data.RelatedTopics && Array.isArray(data.RelatedTopics)) {
41
+ const topics = data.RelatedTopics
42
+ .filter((t) => t.Text && t.FirstURL)
43
+ .slice(0, count);
44
+ if (topics.length > 0) {
45
+ results.push(`\n**Related Results:**`);
46
+ for (const topic of topics) {
47
+ results.push(`- ${topic.Text}`);
48
+ results.push(` URL: ${topic.FirstURL}`);
49
+ }
50
+ }
51
+ }
52
+ if (results.length === 0) {
53
+ return `No results found for: "${query}". Try a different search query.`;
54
+ }
55
+ return `Web search results for: "${query}"\n\n${results.join('\n')}`;
56
+ }
57
+ catch (error) {
58
+ if (error.name === 'AbortError') {
59
+ throw new Error('Web search request timed out or was aborted');
60
+ }
61
+ // Fallback to basic search suggestion
62
+ return `Search query: "${query}"\n\nUnable to perform live search. Please try again or use a different query.`;
63
+ }
21
64
  }
22
65
  export function createWebSearchTool(options) {
23
66
  const rateLimit = options?.rateLimitPerMinute ?? 60;
24
67
  return {
25
68
  name: "websearch",
26
69
  label: "websearch",
27
- description: "Search the web using Exa AI - performs real-time web searches and can scrape content from specific URLs. Provides up-to-date information for current events and recent data. Use this tool for accessing information beyond knowledge cutoff. The current year is 2026. You MUST use this year when searching for recent information or current events (e.g., search for 'AI news 2026', NOT 'AI news 2025').",
70
+ description: "Search the web - performs real-time web searches and can scrape content from specific URLs. Provides up-to-date information for current events and recent data. Use this tool for accessing information beyond knowledge cutoff. The current year is 2026. You MUST use this year when searching for recent information or current events (e.g., search for 'AI news 2026', NOT 'AI news 2025').",
28
71
  parameters: webSearchSchema,
29
72
  execute: async (_toolCallId, { query, numResults }, signal) => {
30
73
  // Check if already aborted
@@ -1 +1 @@
1
- {"version":3,"file":"websearch.js","sourceRoot":"","sources":["../../../src/agent/tools/websearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websearch.js","sourceRoot":"","sources":["../../../src/agent/tools/websearch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indusagi",
3
- "version": "0.12.8",
3
+ "version": "0.12.9",
4
4
  "description": "All-in-one package that re-exports indusagi-ai, indusagi-agent, and indusagi-tui. Now with Kimi (Moonshot AI) support!",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",