tuplet 2.7.0
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/LICENSE +21 -0
- package/README.md +136 -0
- package/dist/agent.d.ts +46 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +393 -0
- package/dist/agent.js.map +1 -0
- package/dist/built-in-agents/explore.d.ts +9 -0
- package/dist/built-in-agents/explore.d.ts.map +1 -0
- package/dist/built-in-agents/explore.js +40 -0
- package/dist/built-in-agents/explore.js.map +1 -0
- package/dist/built-in-agents/index.d.ts +15 -0
- package/dist/built-in-agents/index.d.ts.map +1 -0
- package/dist/built-in-agents/index.js +19 -0
- package/dist/built-in-agents/index.js.map +1 -0
- package/dist/built-in-agents/plan.d.ts +10 -0
- package/dist/built-in-agents/plan.d.ts.map +1 -0
- package/dist/built-in-agents/plan.js +62 -0
- package/dist/built-in-agents/plan.js.map +1 -0
- package/dist/built-in-agents/worker.d.ts +9 -0
- package/dist/built-in-agents/worker.d.ts.map +1 -0
- package/dist/built-in-agents/worker.js +53 -0
- package/dist/built-in-agents/worker.js.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +18 -0
- package/dist/constants.js.map +1 -0
- package/dist/context-manager.d.ts +65 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +272 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/context-manager.test.d.ts +2 -0
- package/dist/context-manager.test.d.ts.map +1 -0
- package/dist/context-manager.test.js +394 -0
- package/dist/context-manager.test.js.map +1 -0
- package/dist/executor.d.ts +29 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +399 -0
- package/dist/executor.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/prompt/index.d.ts +9 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +10 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/main-agent-builder.d.ts +81 -0
- package/dist/prompt/main-agent-builder.d.ts.map +1 -0
- package/dist/prompt/main-agent-builder.js +287 -0
- package/dist/prompt/main-agent-builder.js.map +1 -0
- package/dist/prompt/sub-agent-builder.d.ts +133 -0
- package/dist/prompt/sub-agent-builder.d.ts.map +1 -0
- package/dist/prompt/sub-agent-builder.js +337 -0
- package/dist/prompt/sub-agent-builder.js.map +1 -0
- package/dist/prompt/templates.d.ts +87 -0
- package/dist/prompt/templates.d.ts.map +1 -0
- package/dist/prompt/templates.js +343 -0
- package/dist/prompt/templates.js.map +1 -0
- package/dist/prompt/types.d.ts +159 -0
- package/dist/prompt/types.d.ts.map +1 -0
- package/dist/prompt/types.js +5 -0
- package/dist/prompt/types.js.map +1 -0
- package/dist/prompt.d.ts +32 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +86 -0
- package/dist/prompt.js.map +1 -0
- package/dist/providers/dataset/base.d.ts +74 -0
- package/dist/providers/dataset/base.d.ts.map +1 -0
- package/dist/providers/dataset/base.js +7 -0
- package/dist/providers/dataset/base.js.map +1 -0
- package/dist/providers/dataset/index.d.ts +8 -0
- package/dist/providers/dataset/index.d.ts.map +1 -0
- package/dist/providers/dataset/index.js +8 -0
- package/dist/providers/dataset/index.js.map +1 -0
- package/dist/providers/dataset/recorder.d.ts +46 -0
- package/dist/providers/dataset/recorder.d.ts.map +1 -0
- package/dist/providers/dataset/recorder.js +105 -0
- package/dist/providers/dataset/recorder.js.map +1 -0
- package/dist/providers/dataset/replayer.d.ts +46 -0
- package/dist/providers/dataset/replayer.d.ts.map +1 -0
- package/dist/providers/dataset/replayer.js +163 -0
- package/dist/providers/dataset/replayer.js.map +1 -0
- package/dist/providers/dataset/tester.d.ts +89 -0
- package/dist/providers/dataset/tester.d.ts.map +1 -0
- package/dist/providers/dataset/tester.js +143 -0
- package/dist/providers/dataset/tester.js.map +1 -0
- package/dist/providers/env/memory.d.ts +14 -0
- package/dist/providers/env/memory.d.ts.map +1 -0
- package/dist/providers/env/memory.js +19 -0
- package/dist/providers/env/memory.js.map +1 -0
- package/dist/providers/index.d.ts +12 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +10 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/llm/base.d.ts +7 -0
- package/dist/providers/llm/base.d.ts.map +1 -0
- package/dist/providers/llm/base.js +7 -0
- package/dist/providers/llm/base.js.map +1 -0
- package/dist/providers/llm/claude.d.ts +32 -0
- package/dist/providers/llm/claude.d.ts.map +1 -0
- package/dist/providers/llm/claude.js +171 -0
- package/dist/providers/llm/claude.js.map +1 -0
- package/dist/providers/llm/openai.d.ts +26 -0
- package/dist/providers/llm/openai.d.ts.map +1 -0
- package/dist/providers/llm/openai.js +174 -0
- package/dist/providers/llm/openai.js.map +1 -0
- package/dist/providers/llm/openrouter.d.ts +43 -0
- package/dist/providers/llm/openrouter.d.ts.map +1 -0
- package/dist/providers/llm/openrouter.js +288 -0
- package/dist/providers/llm/openrouter.js.map +1 -0
- package/dist/providers/logger/base.d.ts +7 -0
- package/dist/providers/logger/base.d.ts.map +1 -0
- package/dist/providers/logger/base.js +7 -0
- package/dist/providers/logger/base.js.map +1 -0
- package/dist/providers/logger/console.d.ts +29 -0
- package/dist/providers/logger/console.d.ts.map +1 -0
- package/dist/providers/logger/console.js +70 -0
- package/dist/providers/logger/console.js.map +1 -0
- package/dist/providers/repository/base.d.ts +7 -0
- package/dist/providers/repository/base.d.ts.map +1 -0
- package/dist/providers/repository/base.js +7 -0
- package/dist/providers/repository/base.js.map +1 -0
- package/dist/providers/repository/memory.d.ts +21 -0
- package/dist/providers/repository/memory.d.ts.map +1 -0
- package/dist/providers/repository/memory.js +50 -0
- package/dist/providers/repository/memory.js.map +1 -0
- package/dist/providers/workspace/file.d.ts +26 -0
- package/dist/providers/workspace/file.d.ts.map +1 -0
- package/dist/providers/workspace/file.js +151 -0
- package/dist/providers/workspace/file.js.map +1 -0
- package/dist/providers/workspace/index.d.ts +7 -0
- package/dist/providers/workspace/index.d.ts.map +1 -0
- package/dist/providers/workspace/index.js +6 -0
- package/dist/providers/workspace/index.js.map +1 -0
- package/dist/providers/workspace/memory.d.ts +26 -0
- package/dist/providers/workspace/memory.d.ts.map +1 -0
- package/dist/providers/workspace/memory.js +136 -0
- package/dist/providers/workspace/memory.js.map +1 -0
- package/dist/providers/workspace/types.d.ts +27 -0
- package/dist/providers/workspace/types.d.ts.map +1 -0
- package/dist/providers/workspace/types.js +8 -0
- package/dist/providers/workspace/types.js.map +1 -0
- package/dist/providers/workspace/workspace-provider.test.d.ts +2 -0
- package/dist/providers/workspace/workspace-provider.test.d.ts.map +1 -0
- package/dist/providers/workspace/workspace-provider.test.js +250 -0
- package/dist/providers/workspace/workspace-provider.test.js.map +1 -0
- package/dist/shell/commands/browse.d.ts +6 -0
- package/dist/shell/commands/browse.d.ts.map +1 -0
- package/dist/shell/commands/browse.js +158 -0
- package/dist/shell/commands/browse.js.map +1 -0
- package/dist/shell/commands/cat.d.ts +6 -0
- package/dist/shell/commands/cat.d.ts.map +1 -0
- package/dist/shell/commands/cat.js +104 -0
- package/dist/shell/commands/cat.js.map +1 -0
- package/dist/shell/commands/curl.d.ts +6 -0
- package/dist/shell/commands/curl.d.ts.map +1 -0
- package/dist/shell/commands/curl.js +190 -0
- package/dist/shell/commands/curl.js.map +1 -0
- package/dist/shell/commands/date.d.ts +6 -0
- package/dist/shell/commands/date.d.ts.map +1 -0
- package/dist/shell/commands/date.js +151 -0
- package/dist/shell/commands/date.js.map +1 -0
- package/dist/shell/commands/echo.d.ts +6 -0
- package/dist/shell/commands/echo.d.ts.map +1 -0
- package/dist/shell/commands/echo.js +48 -0
- package/dist/shell/commands/echo.js.map +1 -0
- package/dist/shell/commands/env.d.ts +8 -0
- package/dist/shell/commands/env.d.ts.map +1 -0
- package/dist/shell/commands/env.js +41 -0
- package/dist/shell/commands/env.js.map +1 -0
- package/dist/shell/commands/file.d.ts +6 -0
- package/dist/shell/commands/file.d.ts.map +1 -0
- package/dist/shell/commands/file.js +213 -0
- package/dist/shell/commands/file.js.map +1 -0
- package/dist/shell/commands/find.d.ts +6 -0
- package/dist/shell/commands/find.d.ts.map +1 -0
- package/dist/shell/commands/find.js +100 -0
- package/dist/shell/commands/find.js.map +1 -0
- package/dist/shell/commands/grep.d.ts +6 -0
- package/dist/shell/commands/grep.d.ts.map +1 -0
- package/dist/shell/commands/grep.js +229 -0
- package/dist/shell/commands/grep.js.map +1 -0
- package/dist/shell/commands/head.d.ts +6 -0
- package/dist/shell/commands/head.d.ts.map +1 -0
- package/dist/shell/commands/head.js +88 -0
- package/dist/shell/commands/head.js.map +1 -0
- package/dist/shell/commands/index.d.ts +25 -0
- package/dist/shell/commands/index.d.ts.map +1 -0
- package/dist/shell/commands/index.js +43 -0
- package/dist/shell/commands/index.js.map +1 -0
- package/dist/shell/commands/jq.d.ts +8 -0
- package/dist/shell/commands/jq.d.ts.map +1 -0
- package/dist/shell/commands/jq.js +233 -0
- package/dist/shell/commands/jq.js.map +1 -0
- package/dist/shell/commands/ls.d.ts +6 -0
- package/dist/shell/commands/ls.d.ts.map +1 -0
- package/dist/shell/commands/ls.js +88 -0
- package/dist/shell/commands/ls.js.map +1 -0
- package/dist/shell/commands/mkdir.d.ts +6 -0
- package/dist/shell/commands/mkdir.d.ts.map +1 -0
- package/dist/shell/commands/mkdir.js +43 -0
- package/dist/shell/commands/mkdir.js.map +1 -0
- package/dist/shell/commands/rm.d.ts +6 -0
- package/dist/shell/commands/rm.d.ts.map +1 -0
- package/dist/shell/commands/rm.js +64 -0
- package/dist/shell/commands/rm.js.map +1 -0
- package/dist/shell/commands/sed.d.ts +6 -0
- package/dist/shell/commands/sed.d.ts.map +1 -0
- package/dist/shell/commands/sed.js +414 -0
- package/dist/shell/commands/sed.js.map +1 -0
- package/dist/shell/commands/sort.d.ts +6 -0
- package/dist/shell/commands/sort.d.ts.map +1 -0
- package/dist/shell/commands/sort.js +109 -0
- package/dist/shell/commands/sort.js.map +1 -0
- package/dist/shell/commands/tail.d.ts +6 -0
- package/dist/shell/commands/tail.d.ts.map +1 -0
- package/dist/shell/commands/tail.js +68 -0
- package/dist/shell/commands/tail.js.map +1 -0
- package/dist/shell/commands/wc.d.ts +6 -0
- package/dist/shell/commands/wc.d.ts.map +1 -0
- package/dist/shell/commands/wc.js +86 -0
- package/dist/shell/commands/wc.js.map +1 -0
- package/dist/shell/index.d.ts +10 -0
- package/dist/shell/index.d.ts.map +1 -0
- package/dist/shell/index.js +10 -0
- package/dist/shell/index.js.map +1 -0
- package/dist/shell/limits.d.ts +5 -0
- package/dist/shell/limits.d.ts.map +1 -0
- package/dist/shell/limits.js +5 -0
- package/dist/shell/limits.js.map +1 -0
- package/dist/shell/parser.d.ts +8 -0
- package/dist/shell/parser.d.ts.map +1 -0
- package/dist/shell/parser.js +307 -0
- package/dist/shell/parser.js.map +1 -0
- package/dist/shell/path-validation.d.ts +35 -0
- package/dist/shell/path-validation.d.ts.map +1 -0
- package/dist/shell/path-validation.js +81 -0
- package/dist/shell/path-validation.js.map +1 -0
- package/dist/shell/shell.d.ts +66 -0
- package/dist/shell/shell.d.ts.map +1 -0
- package/dist/shell/shell.js +301 -0
- package/dist/shell/shell.js.map +1 -0
- package/dist/shell/shell.test.d.ts +2 -0
- package/dist/shell/shell.test.d.ts.map +1 -0
- package/dist/shell/shell.test.js +1088 -0
- package/dist/shell/shell.test.js.map +1 -0
- package/dist/shell/types.d.ts +82 -0
- package/dist/shell/types.d.ts.map +1 -0
- package/dist/shell/types.js +5 -0
- package/dist/shell/types.js.map +1 -0
- package/dist/summarizer.d.ts +28 -0
- package/dist/summarizer.d.ts.map +1 -0
- package/dist/summarizer.js +136 -0
- package/dist/summarizer.js.map +1 -0
- package/dist/summarizer.test.d.ts +2 -0
- package/dist/summarizer.test.d.ts.map +1 -0
- package/dist/summarizer.test.js +192 -0
- package/dist/summarizer.test.js.map +1 -0
- package/dist/tools/ask-user.d.ts +11 -0
- package/dist/tools/ask-user.d.ts.map +1 -0
- package/dist/tools/ask-user.js +35 -0
- package/dist/tools/ask-user.js.map +1 -0
- package/dist/tools/index.d.ts +11 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +18 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/output.d.ts +15 -0
- package/dist/tools/output.d.ts.map +1 -0
- package/dist/tools/output.js +40 -0
- package/dist/tools/output.js.map +1 -0
- package/dist/tools/shell.d.ts +13 -0
- package/dist/tools/shell.d.ts.map +1 -0
- package/dist/tools/shell.js +166 -0
- package/dist/tools/shell.js.map +1 -0
- package/dist/tools/sub-agent.d.ts +25 -0
- package/dist/tools/sub-agent.d.ts.map +1 -0
- package/dist/tools/sub-agent.js +312 -0
- package/dist/tools/sub-agent.js.map +1 -0
- package/dist/tools/tasks.d.ts +170 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +947 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/trace/builder.d.ts +54 -0
- package/dist/trace/builder.d.ts.map +1 -0
- package/dist/trace/builder.js +229 -0
- package/dist/trace/builder.js.map +1 -0
- package/dist/trace/console.d.ts +45 -0
- package/dist/trace/console.d.ts.map +1 -0
- package/dist/trace/console.js +143 -0
- package/dist/trace/console.js.map +1 -0
- package/dist/trace/index.d.ts +11 -0
- package/dist/trace/index.d.ts.map +1 -0
- package/dist/trace/index.js +11 -0
- package/dist/trace/index.js.map +1 -0
- package/dist/trace/openrouter-pricing.d.ts +9 -0
- package/dist/trace/openrouter-pricing.d.ts.map +1 -0
- package/dist/trace/openrouter-pricing.js +321 -0
- package/dist/trace/openrouter-pricing.js.map +1 -0
- package/dist/trace/pricing.d.ts +13 -0
- package/dist/trace/pricing.d.ts.map +1 -0
- package/dist/trace/pricing.js +41 -0
- package/dist/trace/pricing.js.map +1 -0
- package/dist/trace/types.d.ts +142 -0
- package/dist/trace/types.d.ts.map +1 -0
- package/dist/trace/types.js +16 -0
- package/dist/trace/types.js.map +1 -0
- package/dist/trace.d.ts +5 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +5 -0
- package/dist/trace.js.map +1 -0
- package/dist/types.d.ts +382 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/workspace.d.ts +287 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +560 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Templates
|
|
3
|
+
*
|
|
4
|
+
* Template functions for generating prompt sections.
|
|
5
|
+
*/
|
|
6
|
+
// ============================================================================
|
|
7
|
+
// Main Agent Templates
|
|
8
|
+
// ============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Generate role section
|
|
11
|
+
*/
|
|
12
|
+
export function roleSection(role, description) {
|
|
13
|
+
let section = `You are ${role}.`;
|
|
14
|
+
if (description) {
|
|
15
|
+
section += ` ${description}`;
|
|
16
|
+
}
|
|
17
|
+
return section;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Generate sub-agents table
|
|
21
|
+
*/
|
|
22
|
+
export function subAgentsTable(agents) {
|
|
23
|
+
if (agents.length === 0)
|
|
24
|
+
return '';
|
|
25
|
+
const lines = [
|
|
26
|
+
'## Available Sub-Agents',
|
|
27
|
+
'',
|
|
28
|
+
'| Agent | Purpose | When to Use |',
|
|
29
|
+
'|-------|---------|-------------|'
|
|
30
|
+
];
|
|
31
|
+
for (const agent of agents) {
|
|
32
|
+
lines.push(`| **${agent.name}** | ${agent.purpose} | ${agent.whenToUse} |`);
|
|
33
|
+
}
|
|
34
|
+
return lines.join('\n');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Generate sub-agent parameters documentation
|
|
38
|
+
*/
|
|
39
|
+
export function subAgentParametersSection(agents) {
|
|
40
|
+
// Only include agents that have input parameters
|
|
41
|
+
const agentsWithParams = agents.filter(a => a.inputParams && a.inputParams.length > 0);
|
|
42
|
+
if (agentsWithParams.length === 0)
|
|
43
|
+
return '';
|
|
44
|
+
const lines = [
|
|
45
|
+
'## Sub-Agent Parameters',
|
|
46
|
+
'',
|
|
47
|
+
'⚠️ IMPORTANT: Before calling a sub-agent, gather ALL required information from the user.',
|
|
48
|
+
'Use __ask_user__ to collect missing parameters, then call the sub-agent with complete data.',
|
|
49
|
+
''
|
|
50
|
+
];
|
|
51
|
+
for (const agent of agentsWithParams) {
|
|
52
|
+
lines.push(`### ${agent.name}`);
|
|
53
|
+
lines.push('');
|
|
54
|
+
for (const param of agent.inputParams) {
|
|
55
|
+
const required = param.required ? '(required)' : '(optional)';
|
|
56
|
+
lines.push(`- **${param.name}** ${required}: ${param.description}`);
|
|
57
|
+
}
|
|
58
|
+
lines.push('');
|
|
59
|
+
}
|
|
60
|
+
return lines.join('\n');
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Generate question handling section
|
|
64
|
+
*/
|
|
65
|
+
export function questionHandlingSection(description, exampleFlow) {
|
|
66
|
+
const lines = ['## Handling Sub-Agent Questions', ''];
|
|
67
|
+
if (description) {
|
|
68
|
+
lines.push(description, '');
|
|
69
|
+
}
|
|
70
|
+
lines.push('When a sub-agent returns status "needs_input" with questions:', '', '1. **Check conversation history first** - the user may have already provided this information', ' - Look through earlier messages for relevant answers', ' - If found, call the sub-agent again with that information', '', '2. **Only ask if not in history** - if the information is NOT in conversation history:', ' - Call the __ask_user__ tool with those questions', ' - After user answers, call the sub-agent again with the answers', '', '⚠️ CRITICAL:', '- Do NOT ask the user for information they already provided in the conversation', '- Make actual tool calls, never write tool names as text', '- Do NOT output JSON - use the tool interface', '');
|
|
71
|
+
if (exampleFlow && exampleFlow.length > 0) {
|
|
72
|
+
lines.push('Example flow:');
|
|
73
|
+
for (const step of exampleFlow) {
|
|
74
|
+
lines.push(`- ${step}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return lines.join('\n');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Generate direct tools section
|
|
81
|
+
*/
|
|
82
|
+
export function directToolsSection(tools) {
|
|
83
|
+
if (tools.length === 0)
|
|
84
|
+
return '';
|
|
85
|
+
const lines = ['## Direct Tools', ''];
|
|
86
|
+
for (const tool of tools) {
|
|
87
|
+
lines.push(`- **${tool.name}** - ${tool.description}`);
|
|
88
|
+
}
|
|
89
|
+
return lines.join('\n');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Generate workspace storage section
|
|
93
|
+
*/
|
|
94
|
+
export function workspaceStorageSection(paths) {
|
|
95
|
+
if (paths.length === 0)
|
|
96
|
+
return '';
|
|
97
|
+
const lines = ['## Workspace Storage', ''];
|
|
98
|
+
for (const path of paths) {
|
|
99
|
+
lines.push(`- ${path.path} - ${path.description}`);
|
|
100
|
+
}
|
|
101
|
+
return lines.join('\n');
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Generate rules section
|
|
105
|
+
*/
|
|
106
|
+
export function rulesSection(rules) {
|
|
107
|
+
if (rules.length === 0)
|
|
108
|
+
return '';
|
|
109
|
+
const lines = ['## Rules', ''];
|
|
110
|
+
for (const rule of rules) {
|
|
111
|
+
lines.push(`- ${rule}`);
|
|
112
|
+
}
|
|
113
|
+
return lines.join('\n');
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Generate task examples section
|
|
117
|
+
*/
|
|
118
|
+
export function taskExamplesSection(examples) {
|
|
119
|
+
if (examples.length === 0)
|
|
120
|
+
return '';
|
|
121
|
+
const lines = ['## Task Examples', ''];
|
|
122
|
+
for (const example of examples) {
|
|
123
|
+
lines.push(`**User:** "${example.userInput}"`);
|
|
124
|
+
lines.push(`**Action:** ${example.action}`);
|
|
125
|
+
lines.push(`**Result:** ${example.result}`);
|
|
126
|
+
lines.push('');
|
|
127
|
+
}
|
|
128
|
+
return lines.join('\n');
|
|
129
|
+
}
|
|
130
|
+
// ============================================================================
|
|
131
|
+
// Sub-Agent Templates
|
|
132
|
+
// ============================================================================
|
|
133
|
+
/**
|
|
134
|
+
* Generate sub-agent role section
|
|
135
|
+
*/
|
|
136
|
+
export function subAgentRoleSection(role) {
|
|
137
|
+
return `You are ${role}.`;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Generate input parameters section - explains how to check provided parameters
|
|
141
|
+
*/
|
|
142
|
+
export function inputParametersSection() {
|
|
143
|
+
return `## Before Asking Questions
|
|
144
|
+
|
|
145
|
+
⚠️ IMPORTANT: Check these sources FIRST before using __ask_user__:
|
|
146
|
+
|
|
147
|
+
1. **Check your input parameters** - values like goal, dailyCalories, days may already be provided
|
|
148
|
+
2. **Check context** - use shell commands to find stored information:
|
|
149
|
+
- \`ls\` - list what's in context
|
|
150
|
+
- \`cat path/file.json\` - read context data
|
|
151
|
+
- \`grep "keyword" **/*.json\` - search context
|
|
152
|
+
3. **Only ask if truly missing** - use __ask_user__ ONLY when info is not in input or context
|
|
153
|
+
|
|
154
|
+
NEVER ask for information that was already provided or exists in context.`;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Generate task section
|
|
158
|
+
*/
|
|
159
|
+
export function taskSection(task) {
|
|
160
|
+
return `Your task: ${task}`;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Generate workflow steps section
|
|
164
|
+
*/
|
|
165
|
+
export function workflowSection(steps) {
|
|
166
|
+
if (steps.length === 0)
|
|
167
|
+
return '';
|
|
168
|
+
const lines = [];
|
|
169
|
+
steps.forEach((step, index) => {
|
|
170
|
+
lines.push(`## Step ${index + 1}: ${step.description}`);
|
|
171
|
+
lines.push('');
|
|
172
|
+
if (step.askQuestion) {
|
|
173
|
+
const { condition, question, options } = step.askQuestion;
|
|
174
|
+
if (condition) {
|
|
175
|
+
// Make it explicit to check input parameters
|
|
176
|
+
lines.push(`${condition} (check your input parameters first!), use __ask_user__ to ask:`);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
lines.push('Use __ask_user__ to ask:');
|
|
180
|
+
}
|
|
181
|
+
lines.push(`"${question}"`);
|
|
182
|
+
if (options && options.length > 0) {
|
|
183
|
+
lines.push(`Options: ${options.join(', ')}`);
|
|
184
|
+
}
|
|
185
|
+
lines.push('');
|
|
186
|
+
}
|
|
187
|
+
if (step.toolCalls && step.toolCalls.length > 0) {
|
|
188
|
+
for (const call of step.toolCalls) {
|
|
189
|
+
lines.push(`- ${call}`);
|
|
190
|
+
}
|
|
191
|
+
lines.push('');
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
return lines.join('\n');
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Generate guidelines section
|
|
198
|
+
*/
|
|
199
|
+
export function guidelinesSection(guidelines) {
|
|
200
|
+
if (guidelines.length === 0)
|
|
201
|
+
return '';
|
|
202
|
+
const lines = ['## Guidelines', ''];
|
|
203
|
+
for (const guideline of guidelines) {
|
|
204
|
+
lines.push(`- ${guideline}`);
|
|
205
|
+
}
|
|
206
|
+
return lines.join('\n');
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Generate output section
|
|
210
|
+
*/
|
|
211
|
+
export function outputSection(output) {
|
|
212
|
+
const lines = ['## Output', ''];
|
|
213
|
+
lines.push('When done, call __output__ with:');
|
|
214
|
+
lines.push(`- summary: ${output.summaryTemplate}`);
|
|
215
|
+
const dataFields = Object.entries(output.dataFields)
|
|
216
|
+
.map(([k, v]) => `${k}: ${v}`)
|
|
217
|
+
.join(', ');
|
|
218
|
+
lines.push(`- data: { ${dataFields} }`);
|
|
219
|
+
if (output.errorCase) {
|
|
220
|
+
lines.push('');
|
|
221
|
+
lines.push(`If ${output.errorCase.condition}:`);
|
|
222
|
+
lines.push(`- data: ${JSON.stringify(output.errorCase.data)}`);
|
|
223
|
+
}
|
|
224
|
+
return lines.join('\n');
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Generate output section from JSON schema
|
|
228
|
+
*/
|
|
229
|
+
export function outputSchemaSection(schema) {
|
|
230
|
+
const lines = ['## Output', ''];
|
|
231
|
+
lines.push('When done, call __output__ with:');
|
|
232
|
+
lines.push('- summary: Brief description of what was accomplished');
|
|
233
|
+
lines.push('- data: Object matching this schema:');
|
|
234
|
+
lines.push('');
|
|
235
|
+
if (schema.properties) {
|
|
236
|
+
lines.push('```');
|
|
237
|
+
lines.push('{');
|
|
238
|
+
const props = Object.entries(schema.properties);
|
|
239
|
+
props.forEach(([name, prop], index) => {
|
|
240
|
+
const isRequired = schema.required?.includes(name);
|
|
241
|
+
const typeStr = prop.type || 'any';
|
|
242
|
+
const descStr = prop.description ? ` // ${prop.description}` : '';
|
|
243
|
+
const requiredMark = isRequired ? '' : '?';
|
|
244
|
+
const comma = index < props.length - 1 ? ',' : '';
|
|
245
|
+
lines.push(` "${name}"${requiredMark}: ${typeStr}${comma}${descStr}`);
|
|
246
|
+
});
|
|
247
|
+
lines.push('}');
|
|
248
|
+
lines.push('```');
|
|
249
|
+
}
|
|
250
|
+
if (schema.required && schema.required.length > 0) {
|
|
251
|
+
lines.push('');
|
|
252
|
+
lines.push(`Required: ${schema.required.join(', ')}`);
|
|
253
|
+
}
|
|
254
|
+
return lines.join('\n');
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Generate available tools section for sub-agents
|
|
258
|
+
*/
|
|
259
|
+
export function availableToolsSection(tools) {
|
|
260
|
+
if (tools.length === 0)
|
|
261
|
+
return '';
|
|
262
|
+
const lines = ['## Available Tools', ''];
|
|
263
|
+
for (const tool of tools) {
|
|
264
|
+
lines.push(`- **${tool.name}**: ${tool.description}`);
|
|
265
|
+
}
|
|
266
|
+
return lines.join('\n');
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Generate instructions section
|
|
270
|
+
*/
|
|
271
|
+
export function instructionsSection(instructions) {
|
|
272
|
+
if (instructions.length === 0)
|
|
273
|
+
return '';
|
|
274
|
+
const lines = ['## Instructions', ''];
|
|
275
|
+
instructions.forEach((instruction, index) => {
|
|
276
|
+
lines.push(`${index + 1}. ${instruction}`);
|
|
277
|
+
});
|
|
278
|
+
return lines.join('\n');
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Generate checklist section
|
|
282
|
+
*/
|
|
283
|
+
export function checklistSection(config) {
|
|
284
|
+
const lines = ['## Task Tracking', ''];
|
|
285
|
+
// When trackProgress is enabled, instruct to use the __tasks__ tool
|
|
286
|
+
if (config.trackProgress) {
|
|
287
|
+
lines.push('Plan ALL tasks upfront before doing any work.');
|
|
288
|
+
lines.push('Call TaskCreate for each task, then work through them in order.');
|
|
289
|
+
lines.push('');
|
|
290
|
+
lines.push('Example items you might track:');
|
|
291
|
+
lines.push('');
|
|
292
|
+
for (const item of config.items) {
|
|
293
|
+
const optional = item.optional ? ' (optional)' : '';
|
|
294
|
+
lines.push(`- ${item.task}${optional}`);
|
|
295
|
+
}
|
|
296
|
+
lines.push('');
|
|
297
|
+
lines.push('Mark each task as in_progress when starting, then completed when done.');
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
// Static checklist without todo tracking - just guidance
|
|
301
|
+
lines.push('Consider these aspects:');
|
|
302
|
+
lines.push('');
|
|
303
|
+
for (const item of config.items) {
|
|
304
|
+
const optional = item.optional ? ' (optional)' : '';
|
|
305
|
+
lines.push(`- ${item.task}${optional}`);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return lines.join('\n');
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Generate examples section for sub-agents
|
|
312
|
+
*/
|
|
313
|
+
export function subAgentExamplesSection(examples) {
|
|
314
|
+
if (examples.length === 0)
|
|
315
|
+
return '';
|
|
316
|
+
const lines = ['## Examples', ''];
|
|
317
|
+
examples.forEach((example, index) => {
|
|
318
|
+
if (examples.length > 1) {
|
|
319
|
+
lines.push(`### Example ${index + 1}`);
|
|
320
|
+
lines.push('');
|
|
321
|
+
}
|
|
322
|
+
lines.push(`**Input:** ${example.input}`);
|
|
323
|
+
lines.push(`**Output:** ${example.output}`);
|
|
324
|
+
if (example.explanation) {
|
|
325
|
+
lines.push(`**Why:** ${example.explanation}`);
|
|
326
|
+
}
|
|
327
|
+
lines.push('');
|
|
328
|
+
});
|
|
329
|
+
return lines.join('\n');
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Generate constraints section
|
|
333
|
+
*/
|
|
334
|
+
export function constraintsSection(constraints) {
|
|
335
|
+
if (constraints.length === 0)
|
|
336
|
+
return '';
|
|
337
|
+
const lines = ['## Constraints', ''];
|
|
338
|
+
for (const constraint of constraints) {
|
|
339
|
+
lines.push(`- ❌ ${constraint}`);
|
|
340
|
+
}
|
|
341
|
+
return lines.join('\n');
|
|
342
|
+
}
|
|
343
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/prompt/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,WAAoB;IAC5D,IAAI,OAAO,GAAG,WAAW,IAAI,GAAG,CAAA;IAChC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,IAAI,IAAI,WAAW,EAAE,CAAA;IAC9B,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAElC,MAAM,KAAK,GAAG;QACZ,yBAAyB;QACzB,EAAE;QACF,mCAAmC;QACnC,mCAAmC;KACpC,CAAA;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAqB;IAC7D,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAE5C,MAAM,KAAK,GAAG;QACZ,yBAAyB;QACzB,EAAE;QACF,0FAA0F;QAC1F,6FAA6F;QAC7F,EAAE;KACH,CAAA;IAED,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAY,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAA;YAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,QAAQ,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAoB,EACpB,WAAsB;IAEtB,MAAM,KAAK,GAAG,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAA;IAErD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,+DAA+D,EAC/D,EAAE,EACF,+FAA+F,EAC/F,yDAAyD,EACzD,+DAA+D,EAC/D,EAAE,EACF,wFAAwF,EACxF,sDAAsD,EACtD,oEAAoE,EACpE,EAAE,EACF,cAAc,EACd,iFAAiF,EACjF,0DAA0D,EAC1D,+CAA+C,EAC/C,EAAE,CACH,CAAA;IAED,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEjC,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAyB;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEjC,MAAM,KAAK,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAe;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEjC,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAuB;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEpC,MAAM,KAAK,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;IACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,SAAS,GAAG,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3C,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,WAAW,IAAI,GAAG,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;;;;;;;;;;;0EAWiE,CAAA;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,cAAc,IAAI,EAAE,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAqB;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEjC,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEd,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAA;YACzD,IAAI,SAAS,EAAE,CAAC;gBACd,6CAA6C;gBAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,iEAAiE,CAAC,CAAA;YAC3F,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;YACxC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAA;YAC3B,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC9C,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;YACzB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAoB;IACpD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEtC,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IACnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAoB;IAChD,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAE/B,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;IAElD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;SAC7B,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,IAAI,CAAC,CAAA;IAEvC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAA;QAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAE/B,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;IAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;YACpC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAA;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACjE,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;YAC1C,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YACjD,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,YAAY,KAAK,OAAO,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAgB;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEjC,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAA;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAsB;IACxD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAExC,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IACrC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,MAAM,KAAK,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;IAEtC,oEAAoE;IACpE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QAC3D,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEd,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;YACnD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAA;QACzC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAA;IACtF,CAAC;SAAM,CAAC;QACN,yDAAyD;QACzD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEd,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;YACnD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAA2B;IACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEpC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IAEjC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACzC,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAqB;IACtD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEvC,MAAM,KAAK,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;IACpC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,OAAO,UAAU,EAAE,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Builder Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Sub-agent definition for main agent prompts
|
|
6
|
+
*/
|
|
7
|
+
export interface SubAgentDef {
|
|
8
|
+
name: string;
|
|
9
|
+
purpose: string;
|
|
10
|
+
whenToUse: string;
|
|
11
|
+
/** Input parameters the sub-agent accepts (for documentation) */
|
|
12
|
+
inputParams?: Array<{
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
required: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Tool definition for prompt display
|
|
20
|
+
*/
|
|
21
|
+
export interface ToolDef {
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Workspace path definition
|
|
27
|
+
*/
|
|
28
|
+
export interface WorkspacePathDef {
|
|
29
|
+
path: string;
|
|
30
|
+
description: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Task example for main agent prompts
|
|
34
|
+
* Format: "User says X" -> "Call agent Y with Z" -> "Present result"
|
|
35
|
+
*/
|
|
36
|
+
export interface TaskExample {
|
|
37
|
+
userInput: string;
|
|
38
|
+
action: string;
|
|
39
|
+
result: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Workflow step for sub-agent prompts
|
|
43
|
+
*/
|
|
44
|
+
export interface WorkflowStep {
|
|
45
|
+
description: string;
|
|
46
|
+
toolCalls?: string[];
|
|
47
|
+
askQuestion?: {
|
|
48
|
+
condition?: string;
|
|
49
|
+
question: string;
|
|
50
|
+
options?: string[];
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Output format for sub-agent prompts
|
|
55
|
+
*/
|
|
56
|
+
export interface OutputFormat {
|
|
57
|
+
summaryTemplate: string;
|
|
58
|
+
dataFields: Record<string, string>;
|
|
59
|
+
errorCase?: {
|
|
60
|
+
condition: string;
|
|
61
|
+
data: Record<string, unknown>;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Configuration for MainAgentBuilder
|
|
66
|
+
*/
|
|
67
|
+
export interface MainAgentPromptConfig {
|
|
68
|
+
role?: string;
|
|
69
|
+
description?: string;
|
|
70
|
+
subAgents?: SubAgentDef[];
|
|
71
|
+
questionHandling?: {
|
|
72
|
+
description?: string;
|
|
73
|
+
exampleFlow?: string[];
|
|
74
|
+
};
|
|
75
|
+
directTools?: ToolDef[];
|
|
76
|
+
workspacePaths?: WorkspacePathDef[];
|
|
77
|
+
rules?: string[];
|
|
78
|
+
examples?: TaskExample[];
|
|
79
|
+
customSections?: Array<{
|
|
80
|
+
title: string;
|
|
81
|
+
content: string;
|
|
82
|
+
}>;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Tool reference for sub-agent workflow steps
|
|
86
|
+
*/
|
|
87
|
+
export interface ToolStepRef {
|
|
88
|
+
tool: {
|
|
89
|
+
name: string;
|
|
90
|
+
description: string;
|
|
91
|
+
};
|
|
92
|
+
purpose?: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* JSON Schema for output (simplified for prompt generation)
|
|
96
|
+
*/
|
|
97
|
+
export interface OutputSchema {
|
|
98
|
+
type: 'object';
|
|
99
|
+
properties?: Record<string, {
|
|
100
|
+
type?: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
enum?: string[];
|
|
103
|
+
}>;
|
|
104
|
+
required?: string[];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Checklist item for sub-agent prompts
|
|
108
|
+
*/
|
|
109
|
+
export interface ChecklistItem {
|
|
110
|
+
task: string;
|
|
111
|
+
optional?: boolean;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Checklist configuration
|
|
115
|
+
*/
|
|
116
|
+
export interface ChecklistConfig {
|
|
117
|
+
items: ChecklistItem[];
|
|
118
|
+
/** Whether items must be done in order */
|
|
119
|
+
sequential?: boolean;
|
|
120
|
+
/** Instruction for tracking progress */
|
|
121
|
+
trackProgress?: boolean;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Example for sub-agent prompts
|
|
125
|
+
*/
|
|
126
|
+
export interface SubAgentExample {
|
|
127
|
+
input: string;
|
|
128
|
+
output: string;
|
|
129
|
+
explanation?: string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Configuration for SubAgentBuilder
|
|
133
|
+
*/
|
|
134
|
+
export interface SubAgentPromptConfig {
|
|
135
|
+
role?: string;
|
|
136
|
+
task?: string;
|
|
137
|
+
/** Step-by-step instructions */
|
|
138
|
+
instructions?: string[];
|
|
139
|
+
/** Checklist of items to complete */
|
|
140
|
+
checklist?: ChecklistConfig;
|
|
141
|
+
/** Input/output examples */
|
|
142
|
+
examples?: SubAgentExample[];
|
|
143
|
+
/** Things to avoid or constraints */
|
|
144
|
+
constraints?: string[];
|
|
145
|
+
workflow?: WorkflowStep[];
|
|
146
|
+
guidelines?: string[];
|
|
147
|
+
output?: OutputFormat;
|
|
148
|
+
/** Schema-based output (alternative to output) */
|
|
149
|
+
outputSchema?: OutputSchema;
|
|
150
|
+
/** Available tools for the sub-agent */
|
|
151
|
+
availableTools?: ToolDef[];
|
|
152
|
+
workspacePaths?: WorkspacePathDef[];
|
|
153
|
+
useWorkspace?: boolean;
|
|
154
|
+
customSections?: Array<{
|
|
155
|
+
title: string;
|
|
156
|
+
content: string;
|
|
157
|
+
}>;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompt/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/prompt/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/dist/prompt.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Prompt Builder
|
|
3
|
+
*
|
|
4
|
+
* Utilities for building dynamic system prompts with environment info and reminders.
|
|
5
|
+
*/
|
|
6
|
+
import type { SystemPromptConfig, EnvironmentInfo, SubAgentConfig } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Build environment section for system prompt
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildEnvironmentSection(env: EnvironmentInfo): string;
|
|
11
|
+
/**
|
|
12
|
+
* Build reminder section for system prompt
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildRemindersSection(reminders: string[]): string;
|
|
15
|
+
/**
|
|
16
|
+
* Build agent list section for __sub_agent__ tool description
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildAgentListSection(agents: SubAgentConfig[]): string;
|
|
19
|
+
/**
|
|
20
|
+
* Build complete system prompt from config
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildSystemPrompt(config: SystemPromptConfig): string;
|
|
23
|
+
/**
|
|
24
|
+
* Get current environment info
|
|
25
|
+
*/
|
|
26
|
+
export declare function getCurrentEnvironment(): EnvironmentInfo;
|
|
27
|
+
/**
|
|
28
|
+
* Default system prompt template
|
|
29
|
+
*/
|
|
30
|
+
export declare const DEFAULT_SYSTEM_PROMPT = "You are a helpful AI assistant.\n\nYou have access to tools that allow you to perform various tasks. Use them when needed to help the user.\n\nWhen you need clarification from the user, use the __ask_user__ tool to ask a question.\n\nBe concise and helpful in your responses.";
|
|
31
|
+
export * from './prompt/index.js';
|
|
32
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAErF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAuBpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAQjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAOtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAYpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAMvD;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,wRAMQ,CAAA;AAG1C,cAAc,mBAAmB,CAAA"}
|
package/dist/prompt.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Prompt Builder
|
|
3
|
+
*
|
|
4
|
+
* Utilities for building dynamic system prompts with environment info and reminders.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Build environment section for system prompt
|
|
8
|
+
*/
|
|
9
|
+
export function buildEnvironmentSection(env) {
|
|
10
|
+
const lines = [];
|
|
11
|
+
if (env.workingDirectory) {
|
|
12
|
+
lines.push(`Working directory: ${env.workingDirectory}`);
|
|
13
|
+
}
|
|
14
|
+
if (env.platform) {
|
|
15
|
+
lines.push(`Platform: ${env.platform}`);
|
|
16
|
+
}
|
|
17
|
+
if (env.date) {
|
|
18
|
+
lines.push(`Today's date: ${env.date}`);
|
|
19
|
+
}
|
|
20
|
+
if (env.customVars) {
|
|
21
|
+
for (const [key, value] of Object.entries(env.customVars)) {
|
|
22
|
+
lines.push(`${key}: ${value}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (lines.length === 0) {
|
|
26
|
+
return '';
|
|
27
|
+
}
|
|
28
|
+
return `\n<env>\n${lines.join('\n')}\n</env>`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Build reminder section for system prompt
|
|
32
|
+
*/
|
|
33
|
+
export function buildRemindersSection(reminders) {
|
|
34
|
+
if (reminders.length === 0) {
|
|
35
|
+
return '';
|
|
36
|
+
}
|
|
37
|
+
return reminders
|
|
38
|
+
.map(reminder => `\n<system-reminder>\n${reminder}\n</system-reminder>`)
|
|
39
|
+
.join('');
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Build agent list section for __sub_agent__ tool description
|
|
43
|
+
*/
|
|
44
|
+
export function buildAgentListSection(agents) {
|
|
45
|
+
if (agents.length === 0) {
|
|
46
|
+
return '';
|
|
47
|
+
}
|
|
48
|
+
const lines = agents.map(agent => `- ${agent.name}: ${agent.description}`);
|
|
49
|
+
return `\nAvailable agents:\n${lines.join('\n')}`;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build complete system prompt from config
|
|
53
|
+
*/
|
|
54
|
+
export function buildSystemPrompt(config) {
|
|
55
|
+
let prompt = config.basePrompt;
|
|
56
|
+
if (config.environment) {
|
|
57
|
+
prompt += buildEnvironmentSection(config.environment);
|
|
58
|
+
}
|
|
59
|
+
if (config.reminders && config.reminders.length > 0) {
|
|
60
|
+
prompt += buildRemindersSection(config.reminders);
|
|
61
|
+
}
|
|
62
|
+
return prompt;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get current environment info
|
|
66
|
+
*/
|
|
67
|
+
export function getCurrentEnvironment() {
|
|
68
|
+
return {
|
|
69
|
+
workingDirectory: process.cwd(),
|
|
70
|
+
platform: process.platform,
|
|
71
|
+
date: new Date().toISOString().split('T')[0]
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Default system prompt template
|
|
76
|
+
*/
|
|
77
|
+
export const DEFAULT_SYSTEM_PROMPT = `You are a helpful AI assistant.
|
|
78
|
+
|
|
79
|
+
You have access to tools that allow you to perform various tasks. Use them when needed to help the user.
|
|
80
|
+
|
|
81
|
+
When you need clarification from the user, use the __ask_user__ tool to ask a question.
|
|
82
|
+
|
|
83
|
+
Be concise and helpful in your responses.`;
|
|
84
|
+
// Re-export prompt builder module
|
|
85
|
+
export * from './prompt/index.js';
|
|
86
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAoB;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAA;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAmB;IACvD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,SAAS;SACb,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,QAAQ,sBAAsB,CAAC;SACvE,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAwB;IAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1E,OAAO,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IAC1D,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAA;IAE9B,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;QAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAC7C,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;0CAMK,CAAA;AAE1C,kCAAkC;AAClC,cAAc,mBAAmB,CAAA"}
|