@phuetz/code-buddy 0.1.0 → 0.1.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.
- package/.codebuddy/skills/bundled/brave-search/SKILL.md +490 -0
- package/.codebuddy/skills/bundled/exa-search/SKILL.md +1122 -0
- package/.codebuddy/skills/bundled/perplexity/SKILL.md +748 -0
- package/.codebuddy/skills/bundled/playwright/SKILL.md +520 -0
- package/.codebuddy/skills/bundled/puppeteer/SKILL.md +708 -0
- package/.codebuddy/skills/bundled/web-fetch/SKILL.md +1003 -0
- package/README.md +56 -0
- package/dist/agent/agent-state.d.ts +3 -3
- package/dist/agent/agent-state.js +6 -6
- package/dist/agent/agent-state.js.map +1 -1
- package/dist/agent/base-agent.d.ts +4 -4
- package/dist/agent/base-agent.js +22 -9
- package/dist/agent/base-agent.js.map +1 -1
- package/dist/agent/cache-trace.d.ts +56 -0
- package/dist/agent/cache-trace.js +98 -0
- package/dist/agent/cache-trace.js.map +1 -0
- package/dist/agent/codebuddy-agent.js +3 -2
- package/dist/agent/codebuddy-agent.js.map +1 -1
- package/dist/agent/execution/agent-executor.d.ts +4 -4
- package/dist/agent/execution/agent-executor.js +41 -7
- package/dist/agent/execution/agent-executor.js.map +1 -1
- package/dist/agent/facades/agent-context-facade.js +1 -3
- package/dist/agent/facades/agent-context-facade.js.map +1 -1
- package/dist/agent/facades/message-history-manager.js +14 -12
- package/dist/agent/facades/message-history-manager.js.map +1 -1
- package/dist/agent/facades/session-facade.d.ts +3 -3
- package/dist/agent/facades/session-facade.js +6 -6
- package/dist/agent/facades/session-facade.js.map +1 -1
- package/dist/agent/history-repair.d.ts +37 -0
- package/dist/agent/history-repair.js +124 -0
- package/dist/agent/history-repair.js.map +1 -0
- package/dist/agent/specialized/archive-agent.d.ts +3 -0
- package/dist/agent/specialized/archive-agent.js +71 -31
- package/dist/agent/specialized/archive-agent.js.map +1 -1
- package/dist/agent/specialized/security-review/agent.js +19 -8
- package/dist/agent/specialized/security-review/agent.js.map +1 -1
- package/dist/agent/tool-executor.js +5 -0
- package/dist/agent/tool-executor.js.map +1 -1
- package/dist/agent/turn-diff-tracker.d.ts +79 -0
- package/dist/agent/turn-diff-tracker.js +195 -0
- package/dist/agent/turn-diff-tracker.js.map +1 -0
- package/dist/checkpoints/checkpoint-versioning.js +78 -20
- package/dist/checkpoints/checkpoint-versioning.js.map +1 -1
- package/dist/cli/config-loader.js +2 -4
- package/dist/cli/config-loader.js.map +1 -1
- package/dist/commands/handlers/fcs-handlers.js +1 -1
- package/dist/commands/handlers/fcs-handlers.js.map +1 -1
- package/dist/commands/handlers/memory-handlers.js +2 -1
- package/dist/commands/handlers/memory-handlers.js.map +1 -1
- package/dist/commands/handlers/worktree-handlers.js +11 -0
- package/dist/commands/handlers/worktree-handlers.js.map +1 -1
- package/dist/commands/mcp.d.ts +1 -0
- package/dist/commands/mcp.js +66 -7
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/pipeline.js +25 -13
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/config/model-tools.d.ts +41 -0
- package/dist/config/model-tools.js +194 -0
- package/dist/config/model-tools.js.map +1 -0
- package/dist/context/context-manager-v2.d.ts +2 -1
- package/dist/context/context-manager-v2.js +34 -5
- package/dist/context/context-manager-v2.js.map +1 -1
- package/dist/daemon/daemon-manager.js +23 -19
- package/dist/daemon/daemon-manager.js.map +1 -1
- package/dist/database/database-manager.d.ts +4 -0
- package/dist/database/database-manager.js +16 -7
- package/dist/database/database-manager.js.map +1 -1
- package/dist/desktop-automation/nutjs-provider.js +89 -0
- package/dist/desktop-automation/nutjs-provider.js.map +1 -1
- package/dist/fcs/builtins.d.ts +2 -6
- package/dist/fcs/builtins.js +2 -568
- package/dist/fcs/builtins.js.map +1 -1
- package/dist/fcs/codebuddy-bindings.d.ts +3 -43
- package/dist/fcs/codebuddy-bindings.js +2 -606
- package/dist/fcs/codebuddy-bindings.js.map +1 -1
- package/dist/fcs/index.d.ts +2 -27
- package/dist/fcs/index.js +2 -53
- package/dist/fcs/index.js.map +1 -1
- package/dist/fcs/lexer.d.ts +2 -37
- package/dist/fcs/lexer.js +2 -459
- package/dist/fcs/lexer.js.map +1 -1
- package/dist/fcs/parser.d.ts +2 -68
- package/dist/fcs/parser.js +2 -893
- package/dist/fcs/parser.js.map +1 -1
- package/dist/fcs/runtime.d.ts +2 -59
- package/dist/fcs/runtime.js +2 -623
- package/dist/fcs/runtime.js.map +1 -1
- package/dist/fcs/script-registry.d.ts +3 -69
- package/dist/fcs/script-registry.js +2 -219
- package/dist/fcs/script-registry.js.map +1 -1
- package/dist/fcs/sync-bindings.d.ts +3 -101
- package/dist/fcs/sync-bindings.js +2 -410
- package/dist/fcs/sync-bindings.js.map +1 -1
- package/dist/fcs/types.d.ts +2 -285
- package/dist/fcs/types.js +2 -103
- package/dist/fcs/types.js.map +1 -1
- package/dist/hooks/use-input-handler.d.ts +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/input/voice-control.js +11 -5
- package/dist/input/voice-control.js.map +1 -1
- package/dist/integrations/json-rpc/server.js +5 -5
- package/dist/integrations/json-rpc/server.js.map +1 -1
- package/dist/integrations/mcp/mcp-server.js +1 -1
- package/dist/integrations/mcp/mcp-server.js.map +1 -1
- package/dist/mcp/client.js +2 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config.js +89 -5
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/mcp-client.js +65 -14
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/mcp/transports.d.ts +0 -1
- package/dist/mcp/transports.js +1 -5
- package/dist/mcp/transports.js.map +1 -1
- package/dist/mcp/types.d.ts +2 -0
- package/dist/persistence/session-lock.d.ts +42 -0
- package/dist/persistence/session-lock.js +165 -0
- package/dist/persistence/session-lock.js.map +1 -0
- package/dist/persistence/session-store.d.ts +18 -3
- package/dist/persistence/session-store.js +90 -21
- package/dist/persistence/session-store.js.map +1 -1
- package/dist/plugins/isolated-plugin-runner.d.ts +6 -0
- package/dist/plugins/isolated-plugin-runner.js +19 -1
- package/dist/plugins/isolated-plugin-runner.js.map +1 -1
- package/dist/providers/local-llm-provider.js +21 -4
- package/dist/providers/local-llm-provider.js.map +1 -1
- package/dist/sandbox/docker-sandbox.js +7 -4
- package/dist/sandbox/docker-sandbox.js.map +1 -1
- package/dist/scripting/builtins.d.ts +8 -3
- package/dist/scripting/builtins.js +506 -355
- package/dist/scripting/builtins.js.map +1 -1
- package/dist/scripting/codebuddy-bindings.d.ts +47 -0
- package/dist/scripting/codebuddy-bindings.js +487 -0
- package/dist/scripting/codebuddy-bindings.js.map +1 -0
- package/dist/scripting/index.d.ts +33 -30
- package/dist/scripting/index.js +41 -36
- package/dist/scripting/index.js.map +1 -1
- package/dist/scripting/lexer.d.ts +31 -13
- package/dist/scripting/lexer.js +379 -292
- package/dist/scripting/lexer.js.map +1 -1
- package/dist/scripting/parser.d.ts +63 -44
- package/dist/scripting/parser.js +700 -473
- package/dist/scripting/parser.js.map +1 -1
- package/dist/scripting/runtime.d.ts +55 -24
- package/dist/scripting/runtime.js +600 -288
- package/dist/scripting/runtime.js.map +1 -1
- package/dist/scripting/script-registry.d.ts +54 -0
- package/dist/scripting/script-registry.js +202 -0
- package/dist/scripting/script-registry.js.map +1 -0
- package/dist/scripting/sync-bindings.d.ts +105 -0
- package/dist/scripting/sync-bindings.js +353 -0
- package/dist/scripting/sync-bindings.js.map +1 -0
- package/dist/scripting/types.d.ts +297 -199
- package/dist/scripting/types.js +86 -60
- package/dist/scripting/types.js.map +1 -1
- package/dist/search/usearch-index.js +42 -7
- package/dist/search/usearch-index.js.map +1 -1
- package/dist/security/bash-parser.d.ts +51 -0
- package/dist/security/bash-parser.js +327 -0
- package/dist/security/bash-parser.js.map +1 -0
- package/dist/security/skill-scanner.d.ts +36 -0
- package/dist/security/skill-scanner.js +149 -0
- package/dist/security/skill-scanner.js.map +1 -0
- package/dist/security/trust-folders.d.ts +1 -0
- package/dist/security/trust-folders.js +19 -1
- package/dist/security/trust-folders.js.map +1 -1
- package/dist/server/websocket/handler.js +15 -5
- package/dist/server/websocket/handler.js.map +1 -1
- package/dist/skills/eligibility.js +26 -4
- package/dist/skills/eligibility.js.map +1 -1
- package/dist/tasks/background-tasks.js +5 -1
- package/dist/tasks/background-tasks.js.map +1 -1
- package/dist/tools/apply-patch.d.ts +55 -0
- package/dist/tools/apply-patch.js +273 -0
- package/dist/tools/apply-patch.js.map +1 -0
- package/dist/tools/registry/bash-tools.js +6 -3
- package/dist/tools/registry/bash-tools.js.map +1 -1
- package/dist/tools/registry/misc-tools.js +1 -2
- package/dist/tools/registry/misc-tools.js.map +1 -1
- package/dist/tools/registry/search-tools.js +1 -1
- package/dist/tools/registry/search-tools.js.map +1 -1
- package/dist/tools/registry/text-editor-tools.js +1 -1
- package/dist/tools/registry/text-editor-tools.js.map +1 -1
- package/dist/tools/registry/todo-tools.js +37 -5
- package/dist/tools/registry/todo-tools.js.map +1 -1
- package/dist/tools/registry/tool-registry.js +5 -4
- package/dist/tools/registry/tool-registry.js.map +1 -1
- package/dist/tools/registry/web-tools.d.ts +1 -1
- package/dist/tools/registry/web-tools.js +28 -8
- package/dist/tools/registry/web-tools.js.map +1 -1
- package/dist/tools/text-editor.d.ts +1 -1
- package/dist/tools/text-editor.js +23 -5
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/tools/web-search.d.ts +52 -37
- package/dist/tools/web-search.js +368 -163
- package/dist/tools/web-search.js.map +1 -1
- package/dist/ui/components/ChatInterface.d.ts +1 -1
- package/dist/utils/head-tail-truncation.d.ts +34 -0
- package/dist/utils/head-tail-truncation.js +98 -0
- package/dist/utils/head-tail-truncation.js.map +1 -0
- package/dist/utils/sanitize.d.ts +5 -0
- package/dist/utils/sanitize.js +19 -0
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/settings-manager.js +4 -4
- package/dist/utils/settings-manager.js.map +1 -1
- package/package.json +3 -1
|
@@ -1,69 +1,84 @@
|
|
|
1
1
|
import { ToolResult } from '../types/index.js';
|
|
2
|
+
export type SearchProvider = 'brave' | 'perplexity' | 'serper' | 'duckduckgo' | 'brave-mcp';
|
|
2
3
|
export interface WebSearchOptions {
|
|
3
4
|
maxResults?: number;
|
|
4
5
|
safeSearch?: boolean;
|
|
6
|
+
/** 2-letter country code for region-specific results (e.g., 'DE', 'US'). */
|
|
7
|
+
country?: string;
|
|
8
|
+
/** ISO language code for search results (e.g., 'de', 'en', 'fr'). */
|
|
9
|
+
search_lang?: string;
|
|
10
|
+
/** ISO language code for UI elements. */
|
|
11
|
+
ui_lang?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Filter results by discovery time (Brave only).
|
|
14
|
+
* Values: 'pd' (past 24h), 'pw' (past week), 'pm' (past month),
|
|
15
|
+
* 'py' (past year), or date range 'YYYY-MM-DDtoYYYY-MM-DD'.
|
|
16
|
+
*/
|
|
17
|
+
freshness?: string;
|
|
18
|
+
/** Force a specific provider instead of auto-fallback. */
|
|
19
|
+
provider?: SearchProvider;
|
|
5
20
|
}
|
|
6
21
|
export interface SearchResult {
|
|
7
22
|
title: string;
|
|
8
23
|
url: string;
|
|
9
24
|
snippet: string;
|
|
25
|
+
/** Hostname extracted from URL */
|
|
26
|
+
siteName?: string;
|
|
27
|
+
/** Age/published info (Brave only) */
|
|
28
|
+
published?: string;
|
|
10
29
|
}
|
|
30
|
+
export interface PerplexitySearchResult {
|
|
31
|
+
content: string;
|
|
32
|
+
citations: string[];
|
|
33
|
+
model: string;
|
|
34
|
+
}
|
|
35
|
+
declare function normalizeFreshness(value: string | undefined): string | undefined;
|
|
36
|
+
declare function resolveSiteName(url: string | undefined): string | undefined;
|
|
37
|
+
declare function resolvePerplexityBaseUrl(apiKey?: string): string;
|
|
11
38
|
/**
|
|
12
|
-
* Web Search Tool
|
|
39
|
+
* Web Search Tool — OpenClaw-aligned provider chain
|
|
40
|
+
*
|
|
41
|
+
* Provider resolution (auto mode):
|
|
42
|
+
* Brave MCP → Brave API → Perplexity → Serper → DuckDuckGo
|
|
13
43
|
*
|
|
14
|
-
*
|
|
44
|
+
* Supports country, search_lang, ui_lang, freshness (Brave), Perplexity AI search.
|
|
15
45
|
*/
|
|
16
46
|
export declare class WebSearchTool {
|
|
17
47
|
private cache;
|
|
48
|
+
private perplexityCache;
|
|
18
49
|
private cacheTTL;
|
|
19
50
|
private serperApiKey;
|
|
51
|
+
private braveApiKey;
|
|
52
|
+
private perplexityApiKey;
|
|
20
53
|
constructor();
|
|
21
|
-
/**
|
|
22
|
-
* Search the web using Serper API (Google) or DuckDuckGo fallback
|
|
23
|
-
*/
|
|
24
54
|
search(query: string, options?: WebSearchOptions): Promise<ToolResult>;
|
|
25
55
|
/**
|
|
26
|
-
*
|
|
56
|
+
* Perplexity AI search — returns synthesized answer with citations
|
|
27
57
|
*/
|
|
58
|
+
searchPerplexity(query: string, options?: WebSearchOptions): Promise<ToolResult>;
|
|
59
|
+
private buildProviderChain;
|
|
60
|
+
private searchWithProvider;
|
|
61
|
+
private buildCacheKey;
|
|
62
|
+
private isBraveMCPAvailable;
|
|
63
|
+
private searchViaBraveMCP;
|
|
64
|
+
private searchBraveAPI;
|
|
65
|
+
private runPerplexitySearch;
|
|
28
66
|
private searchSerper;
|
|
29
|
-
/**
|
|
30
|
-
* Fetch and summarize a web page
|
|
31
|
-
*/
|
|
32
|
-
fetchPage(url: string, _prompt?: string): Promise<ToolResult>;
|
|
33
|
-
/**
|
|
34
|
-
* Search using DuckDuckGo HTML
|
|
35
|
-
*/
|
|
36
67
|
private searchDuckDuckGo;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
*/
|
|
68
|
+
fetchPage(url: string, _prompt?: string): Promise<ToolResult>;
|
|
69
|
+
private formatPerplexityResult;
|
|
40
70
|
private isWeatherQuery;
|
|
41
|
-
/**
|
|
42
|
-
* Get weather emoji based on condition
|
|
43
|
-
*/
|
|
44
71
|
private getWeatherEmoji;
|
|
45
|
-
/**
|
|
46
|
-
* Format weather results nicely
|
|
47
|
-
*/
|
|
48
72
|
private formatWeatherResults;
|
|
49
|
-
/**
|
|
50
|
-
* Format search results for display
|
|
51
|
-
*/
|
|
52
73
|
private formatResults;
|
|
53
|
-
/**
|
|
54
|
-
* Extract readable text from HTML
|
|
55
|
-
*/
|
|
56
74
|
private extractTextFromHtml;
|
|
57
|
-
/**
|
|
58
|
-
* Strip HTML tags from text
|
|
59
|
-
*/
|
|
60
75
|
private stripHtml;
|
|
61
|
-
/**
|
|
62
|
-
* Decode HTML entities
|
|
63
|
-
*/
|
|
64
76
|
private decodeHtmlEntities;
|
|
65
|
-
/**
|
|
66
|
-
* Clear the cache
|
|
67
|
-
*/
|
|
68
77
|
clearCache(): void;
|
|
69
78
|
}
|
|
79
|
+
export declare const __testing: {
|
|
80
|
+
readonly normalizeFreshness: typeof normalizeFreshness;
|
|
81
|
+
readonly resolveSiteName: typeof resolveSiteName;
|
|
82
|
+
readonly resolvePerplexityBaseUrl: typeof resolvePerplexityBaseUrl;
|
|
83
|
+
};
|
|
84
|
+
export {};
|