actoviq-agent-sdk 0.4.0 → 0.4.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/README-zh.md +10 -1
- package/README.md +15 -6
- package/dist/src/cli/actoviq-react.js +178 -3
- package/dist/src/cli/actoviq-react.js.map +1 -1
- package/dist/src/cli/actoviq-tui.js +2 -2
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/runtime/actoviqSkills.d.ts +6 -0
- package/dist/src/runtime/actoviqSkills.d.ts.map +1 -1
- package/dist/src/runtime/actoviqSkills.js +69 -1
- package/dist/src/runtime/actoviqSkills.js.map +1 -1
- package/dist/src/runtime/agentClient.d.ts +14 -0
- package/dist/src/runtime/agentClient.d.ts.map +1 -1
- package/dist/src/runtime/agentClient.js +84 -8
- package/dist/src/runtime/agentClient.js.map +1 -1
- package/dist/src/runtime/conversationEngine.d.ts +2 -0
- package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
- package/dist/src/runtime/conversationEngine.js +6 -5
- package/dist/src/runtime/conversationEngine.js.map +1 -1
- package/dist/src/storage/sessionStore.d.ts.map +1 -1
- package/dist/src/storage/sessionStore.js +25 -6
- package/dist/src/storage/sessionStore.js.map +1 -1
- package/dist/src/team/agentPool.d.ts +26 -0
- package/dist/src/team/agentPool.d.ts.map +1 -0
- package/dist/src/team/agentPool.js +97 -0
- package/dist/src/team/agentPool.js.map +1 -0
- package/dist/src/team/modelTeam.d.ts +29 -0
- package/dist/src/team/modelTeam.d.ts.map +1 -0
- package/dist/src/team/modelTeam.js +879 -0
- package/dist/src/team/modelTeam.js.map +1 -0
- package/dist/src/team/pricing.d.ts +15 -0
- package/dist/src/team/pricing.d.ts.map +1 -0
- package/dist/src/team/pricing.js +80 -0
- package/dist/src/team/pricing.js.map +1 -0
- package/dist/src/team/teamDefinitions.d.ts +28 -0
- package/dist/src/team/teamDefinitions.d.ts.map +1 -0
- package/dist/src/team/teamDefinitions.js +162 -0
- package/dist/src/team/teamDefinitions.js.map +1 -0
- package/dist/src/tools/actoviqCoreTools.d.ts.map +1 -1
- package/dist/src/tools/actoviqCoreTools.js +6 -1
- package/dist/src/tools/actoviqCoreTools.js.map +1 -1
- package/dist/src/tools/enterWorktree.d.ts +11 -0
- package/dist/src/tools/enterWorktree.d.ts.map +1 -0
- package/dist/src/tools/enterWorktree.js +79 -0
- package/dist/src/tools/enterWorktree.js.map +1 -0
- package/dist/src/tools/exitWorktree.d.ts +4 -0
- package/dist/src/tools/exitWorktree.d.ts.map +1 -0
- package/dist/src/tools/exitWorktree.js +48 -0
- package/dist/src/tools/exitWorktree.js.map +1 -0
- package/dist/src/tools/tavilySearch.d.ts +12 -0
- package/dist/src/tools/tavilySearch.d.ts.map +1 -0
- package/dist/src/tools/tavilySearch.js +139 -0
- package/dist/src/tools/tavilySearch.js.map +1 -0
- package/dist/src/tui/actoviqTui.d.ts +10 -0
- package/dist/src/tui/actoviqTui.d.ts.map +1 -1
- package/dist/src/tui/actoviqTui.js +533 -34
- package/dist/src/tui/actoviqTui.js.map +1 -1
- package/dist/src/tui/editor.d.ts +2 -0
- package/dist/src/tui/editor.d.ts.map +1 -1
- package/dist/src/tui/editor.js +5 -0
- package/dist/src/tui/editor.js.map +1 -1
- package/dist/src/types.d.ts +309 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/workflow/workflowPersistence.d.ts +34 -0
- package/dist/src/workflow/workflowPersistence.d.ts.map +1 -0
- package/dist/src/workflow/workflowPersistence.js +144 -0
- package/dist/src/workflow/workflowPersistence.js.map +1 -0
- package/dist/src/workflow/workflowScriptRuntime.d.ts +22 -0
- package/dist/src/workflow/workflowScriptRuntime.d.ts.map +1 -0
- package/dist/src/workflow/workflowScriptRuntime.js +655 -0
- package/dist/src/workflow/workflowScriptRuntime.js.map +1 -0
- package/dist/src/worktree/worktreeHooks.d.ts +38 -0
- package/dist/src/worktree/worktreeHooks.d.ts.map +1 -0
- package/dist/src/worktree/worktreeHooks.js +82 -0
- package/dist/src/worktree/worktreeHooks.js.map +1 -0
- package/dist/src/worktree/worktreeInclude.d.ts +11 -0
- package/dist/src/worktree/worktreeInclude.d.ts.map +1 -0
- package/dist/src/worktree/worktreeInclude.js +65 -0
- package/dist/src/worktree/worktreeInclude.js.map +1 -0
- package/dist/src/worktree/worktreeService.d.ts +43 -0
- package/dist/src/worktree/worktreeService.d.ts.map +1 -0
- package/dist/src/worktree/worktreeService.js +356 -0
- package/dist/src/worktree/worktreeService.js.map +1 -0
- package/package.json +2 -24
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tavily Search Tool — AI-optimized web search via Tavily REST API.
|
|
3
|
+
* No Python dependency. Uses fetch() directly.
|
|
4
|
+
*
|
|
5
|
+
* Requires: TAVILY_API_KEY env var (get key at https://tavily.com)
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { tool } from '../runtime/tools.js';
|
|
9
|
+
export const TAVILY_SEARCH_TOOL_NAME = 'TavilySearch';
|
|
10
|
+
const tavilySearchSchema = z.strictObject({
|
|
11
|
+
query: z.string().min(2).describe('The search query'),
|
|
12
|
+
depth: z.enum(['basic', 'advanced']).optional().default('basic')
|
|
13
|
+
.describe('Search depth: basic (fast, 1-2s) or advanced (comprehensive, 5-10s)'),
|
|
14
|
+
topic: z.enum(['general', 'news']).optional().default('general')
|
|
15
|
+
.describe('general for broad web, news for current events (last 7 days)'),
|
|
16
|
+
max_results: z.number().int().min(1).max(20).optional().default(5)
|
|
17
|
+
.describe('Number of results (1-20)'),
|
|
18
|
+
include_answer: z.boolean().optional().default(true)
|
|
19
|
+
.describe('Include AI-generated answer summary'),
|
|
20
|
+
include_raw_content: z.boolean().optional().default(false)
|
|
21
|
+
.describe('Include raw HTML content of sources'),
|
|
22
|
+
include_domains: z.array(z.string()).optional()
|
|
23
|
+
.describe('Only include results from these domains'),
|
|
24
|
+
exclude_domains: z.array(z.string()).optional()
|
|
25
|
+
.describe('Exclude results from these domains'),
|
|
26
|
+
});
|
|
27
|
+
function formatResults(data, input) {
|
|
28
|
+
const lines = [];
|
|
29
|
+
lines.push(`Query: "${data.query}"`);
|
|
30
|
+
if (data.response_time)
|
|
31
|
+
lines.push(`Response time: ${data.response_time.toFixed(2)}s`);
|
|
32
|
+
if (data.answer) {
|
|
33
|
+
lines.push('');
|
|
34
|
+
lines.push('## AI Answer');
|
|
35
|
+
lines.push(data.answer);
|
|
36
|
+
}
|
|
37
|
+
if (data.results.length > 0) {
|
|
38
|
+
lines.push('');
|
|
39
|
+
lines.push(`## Results (${data.results.length})`);
|
|
40
|
+
for (let i = 0; i < data.results.length; i++) {
|
|
41
|
+
const r = data.results[i];
|
|
42
|
+
lines.push(`\n${i + 1}. **${r.title}**`);
|
|
43
|
+
lines.push(` URL: ${r.url}`);
|
|
44
|
+
lines.push(` Score: ${r.score.toFixed(2)}`);
|
|
45
|
+
lines.push(` ${r.content.slice(0, 300)}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (data.images && data.images.length > 0) {
|
|
49
|
+
lines.push(`\n## Images (${data.images.length})`);
|
|
50
|
+
for (const img of data.images.slice(0, 5)) {
|
|
51
|
+
lines.push(` ${img}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return lines.join('\n');
|
|
55
|
+
}
|
|
56
|
+
export function createTavilySearchTool() {
|
|
57
|
+
return tool({
|
|
58
|
+
name: TAVILY_SEARCH_TOOL_NAME,
|
|
59
|
+
description: 'AI-optimized web search via Tavily. Returns clean structured results with ' +
|
|
60
|
+
'optional AI-generated answer summary. Supports domain filtering, news search, ' +
|
|
61
|
+
'and raw content extraction. Use for research, fact-checking, current events.',
|
|
62
|
+
inputSchema: tavilySearchSchema,
|
|
63
|
+
isReadOnly: () => true,
|
|
64
|
+
prompt: async () => [
|
|
65
|
+
'## TavilySearch Tool',
|
|
66
|
+
'AI-optimized web search. Key capabilities:',
|
|
67
|
+
'- AI-generated answer summaries from search results',
|
|
68
|
+
'- Clean structured results (title, URL, content, relevance score)',
|
|
69
|
+
'- `depth: "basic"` for quick facts, `"advanced"` for comprehensive research',
|
|
70
|
+
'- `topic: "news"` for current events (last 7 days)',
|
|
71
|
+
'- Domain filtering with `include_domains` / `exclude_domains`',
|
|
72
|
+
'- Set `include_raw_content: true` for full HTML of sources',
|
|
73
|
+
'',
|
|
74
|
+
'Best practices:',
|
|
75
|
+
'- Start with basic depth for most queries',
|
|
76
|
+
'- Use advanced only for complex research topics',
|
|
77
|
+
'- Limit max_results to what you actually need',
|
|
78
|
+
'- Always cite sources in your response',
|
|
79
|
+
].join('\n'),
|
|
80
|
+
}, async (input, _context, onProgress) => {
|
|
81
|
+
// Resolve API key: env var > ~/.tavily/config.json
|
|
82
|
+
let apiKey = process.env.TAVILY_API_KEY;
|
|
83
|
+
if (!apiKey) {
|
|
84
|
+
try {
|
|
85
|
+
const fs = await import('node:fs');
|
|
86
|
+
const path = await import('node:path');
|
|
87
|
+
const os = await import('node:os');
|
|
88
|
+
const configPath = path.join(os.homedir(), '.tavily', 'config.json');
|
|
89
|
+
if (fs.existsSync(configPath)) {
|
|
90
|
+
const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
91
|
+
apiKey = config.api_key;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch { /* ignore */ }
|
|
95
|
+
}
|
|
96
|
+
if (!apiKey) {
|
|
97
|
+
return 'Error: Tavily API key not found. Set TAVILY_API_KEY env var or create ~/.tavily/config.json with {"api_key": "tvly-..."}. Get a free key at https://tavily.com';
|
|
98
|
+
}
|
|
99
|
+
onProgress?.({
|
|
100
|
+
toolUseID: '',
|
|
101
|
+
data: { type: 'searching', message: `Tavily search: "${input.query}" (${input.depth}/${input.topic})` },
|
|
102
|
+
});
|
|
103
|
+
const body = {
|
|
104
|
+
api_key: apiKey,
|
|
105
|
+
query: input.query,
|
|
106
|
+
search_depth: input.depth,
|
|
107
|
+
topic: input.topic,
|
|
108
|
+
max_results: input.max_results,
|
|
109
|
+
include_answer: input.include_answer,
|
|
110
|
+
include_raw_content: input.include_raw_content,
|
|
111
|
+
};
|
|
112
|
+
if (input.include_domains)
|
|
113
|
+
body.include_domains = input.include_domains;
|
|
114
|
+
if (input.exclude_domains)
|
|
115
|
+
body.exclude_domains = input.exclude_domains;
|
|
116
|
+
try {
|
|
117
|
+
const response = await fetch('https://api.tavily.com/search', {
|
|
118
|
+
method: 'POST',
|
|
119
|
+
headers: { 'Content-Type': 'application/json' },
|
|
120
|
+
body: JSON.stringify(body),
|
|
121
|
+
signal: AbortSignal.timeout(30000),
|
|
122
|
+
});
|
|
123
|
+
if (!response.ok) {
|
|
124
|
+
const errText = await response.text().catch(() => '');
|
|
125
|
+
return `Tavily search failed: HTTP ${response.status} ${response.statusText}. ${errText.slice(0, 200)}`;
|
|
126
|
+
}
|
|
127
|
+
const data = (await response.json());
|
|
128
|
+
return formatResults(data, input);
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
132
|
+
if (message.includes('abort') || message.includes('timeout')) {
|
|
133
|
+
return `Tavily search timed out after 30s. Try a simpler query or use basic depth.`;
|
|
134
|
+
}
|
|
135
|
+
return `Tavily search failed: ${message}`;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=tavilySearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tavilySearch.js","sourceRoot":"","sources":["../../../src/tools/tavilySearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import type { ActoviqPermissionMode } from '../types.js';
|
|
2
2
|
export declare const TUI_SLASH_COMMANDS: Record<string, string>;
|
|
3
3
|
export declare function filterSlashCommands(input: string): string[];
|
|
4
|
+
/**
|
|
5
|
+
* Detect an active "@file" mention at the cursor for path completion. Returns
|
|
6
|
+
* the partial token typed after the '@' plus the '@' offset, or null when the
|
|
7
|
+
* cursor is not inside a mention. The '@' only opens a mention at the start of
|
|
8
|
+
* input or after whitespace, and the token ends at the first whitespace.
|
|
9
|
+
*/
|
|
10
|
+
export declare function activeAtToken(text: string, cursor: number): {
|
|
11
|
+
token: string;
|
|
12
|
+
start: number;
|
|
13
|
+
} | null;
|
|
4
14
|
export interface ActoviqTuiOptions {
|
|
5
15
|
workDir?: string;
|
|
6
16
|
configPath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actoviqTui.d.ts","sourceRoot":"","sources":["../../../src/tui/actoviqTui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actoviqTui.d.ts","sourceRoot":"","sources":["../../../src/tui/actoviqTui.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAIV,qBAAqB,EAMtB,MAAM,aAAa,CAAC;AA2CrB,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoBrD,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAM3D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYzC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAgGD,wBAAsB,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA05DlF"}
|