@zelari/core 0.7.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/LICENSE +21 -0
- package/dist/agents/advancedTools.d.ts +7 -0
- package/dist/agents/advancedTools.d.ts.map +1 -0
- package/dist/agents/advancedTools.js +115 -0
- package/dist/agents/advancedTools.js.map +1 -0
- package/dist/agents/councilApi.d.ts +328 -0
- package/dist/agents/councilApi.d.ts.map +1 -0
- package/dist/agents/councilApi.js +952 -0
- package/dist/agents/councilApi.js.map +1 -0
- package/dist/agents/councilDirectives.d.ts +26 -0
- package/dist/agents/councilDirectives.d.ts.map +1 -0
- package/dist/agents/councilDirectives.js +98 -0
- package/dist/agents/councilDirectives.js.map +1 -0
- package/dist/agents/harnessToolBridge.d.ts +26 -0
- package/dist/agents/harnessToolBridge.d.ts.map +1 -0
- package/dist/agents/harnessToolBridge.js +60 -0
- package/dist/agents/harnessToolBridge.js.map +1 -0
- package/dist/agents/promoteMember.d.ts +77 -0
- package/dist/agents/promoteMember.d.ts.map +1 -0
- package/dist/agents/promoteMember.js +210 -0
- package/dist/agents/promoteMember.js.map +1 -0
- package/dist/agents/promptModules.d.ts +20 -0
- package/dist/agents/promptModules.d.ts.map +1 -0
- package/dist/agents/promptModules.js +139 -0
- package/dist/agents/promptModules.js.map +1 -0
- package/dist/agents/roles.d.ts +40 -0
- package/dist/agents/roles.d.ts.map +1 -0
- package/dist/agents/roles.js +352 -0
- package/dist/agents/roles.js.map +1 -0
- package/dist/agents/skills/builtin/debugging.d.ts +2 -0
- package/dist/agents/skills/builtin/debugging.d.ts.map +1 -0
- package/dist/agents/skills/builtin/debugging.js +248 -0
- package/dist/agents/skills/builtin/debugging.js.map +1 -0
- package/dist/agents/skills/builtin/docs.d.ts +2 -0
- package/dist/agents/skills/builtin/docs.d.ts.map +1 -0
- package/dist/agents/skills/builtin/docs.js +291 -0
- package/dist/agents/skills/builtin/docs.js.map +1 -0
- package/dist/agents/skills/builtin/git-ops.d.ts +2 -0
- package/dist/agents/skills/builtin/git-ops.d.ts.map +1 -0
- package/dist/agents/skills/builtin/git-ops.js +301 -0
- package/dist/agents/skills/builtin/git-ops.js.map +1 -0
- package/dist/agents/skills/builtin/planning.d.ts +2 -0
- package/dist/agents/skills/builtin/planning.d.ts.map +1 -0
- package/dist/agents/skills/builtin/planning.js +335 -0
- package/dist/agents/skills/builtin/planning.js.map +1 -0
- package/dist/agents/skills/builtin/refactoring.d.ts +2 -0
- package/dist/agents/skills/builtin/refactoring.d.ts.map +1 -0
- package/dist/agents/skills/builtin/refactoring.js +261 -0
- package/dist/agents/skills/builtin/refactoring.js.map +1 -0
- package/dist/agents/skills/builtin/review.d.ts +2 -0
- package/dist/agents/skills/builtin/review.d.ts.map +1 -0
- package/dist/agents/skills/builtin/review.js +302 -0
- package/dist/agents/skills/builtin/review.js.map +1 -0
- package/dist/agents/skills/builtin/testing.d.ts +2 -0
- package/dist/agents/skills/builtin/testing.d.ts.map +1 -0
- package/dist/agents/skills/builtin/testing.js +245 -0
- package/dist/agents/skills/builtin/testing.js.map +1 -0
- package/dist/agents/skills.d.ts +138 -0
- package/dist/agents/skills.d.ts.map +1 -0
- package/dist/agents/skills.js +277 -0
- package/dist/agents/skills.js.map +1 -0
- package/dist/agents/systemPromptBuilder.d.ts +45 -0
- package/dist/agents/systemPromptBuilder.d.ts.map +1 -0
- package/dist/agents/systemPromptBuilder.js +159 -0
- package/dist/agents/systemPromptBuilder.js.map +1 -0
- package/dist/agents/toolSchemas.d.ts +55 -0
- package/dist/agents/toolSchemas.d.ts.map +1 -0
- package/dist/agents/toolSchemas.js +316 -0
- package/dist/agents/toolSchemas.js.map +1 -0
- package/dist/agents/tools.d.ts +67 -0
- package/dist/agents/tools.d.ts.map +1 -0
- package/dist/agents/tools.js +225 -0
- package/dist/agents/tools.js.map +1 -0
- package/dist/agents/vaultTools.d.ts +9 -0
- package/dist/agents/vaultTools.d.ts.map +1 -0
- package/dist/agents/vaultTools.js +134 -0
- package/dist/agents/vaultTools.js.map +1 -0
- package/dist/core/AgentHarness.d.ts +250 -0
- package/dist/core/AgentHarness.d.ts.map +1 -0
- package/dist/core/AgentHarness.js +614 -0
- package/dist/core/AgentHarness.js.map +1 -0
- package/dist/core/providerStream.d.ts +61 -0
- package/dist/core/providerStream.d.ts.map +1 -0
- package/dist/core/providerStream.js +99 -0
- package/dist/core/providerStream.js.map +1 -0
- package/dist/core/sessionJsonl.d.ts +50 -0
- package/dist/core/sessionJsonl.d.ts.map +1 -0
- package/dist/core/sessionJsonl.js +99 -0
- package/dist/core/sessionJsonl.js.map +1 -0
- package/dist/core/tools/auditLog.d.ts +14 -0
- package/dist/core/tools/auditLog.d.ts.map +1 -0
- package/dist/core/tools/auditLog.js +26 -0
- package/dist/core/tools/auditLog.js.map +1 -0
- package/dist/core/tools/builtin/_walk.d.ts +40 -0
- package/dist/core/tools/builtin/_walk.d.ts.map +1 -0
- package/dist/core/tools/builtin/_walk.js +129 -0
- package/dist/core/tools/builtin/_walk.js.map +1 -0
- package/dist/core/tools/builtin/diff.d.ts +45 -0
- package/dist/core/tools/builtin/diff.d.ts.map +1 -0
- package/dist/core/tools/builtin/diff.js +477 -0
- package/dist/core/tools/builtin/diff.js.map +1 -0
- package/dist/core/tools/builtin/filesystem.d.ts +45 -0
- package/dist/core/tools/builtin/filesystem.d.ts.map +1 -0
- package/dist/core/tools/builtin/filesystem.js +110 -0
- package/dist/core/tools/builtin/filesystem.js.map +1 -0
- package/dist/core/tools/builtin/listFiles.d.ts +18 -0
- package/dist/core/tools/builtin/listFiles.d.ts.map +1 -0
- package/dist/core/tools/builtin/listFiles.js +48 -0
- package/dist/core/tools/builtin/listFiles.js.map +1 -0
- package/dist/core/tools/builtin/search.d.ts +49 -0
- package/dist/core/tools/builtin/search.d.ts.map +1 -0
- package/dist/core/tools/builtin/search.js +148 -0
- package/dist/core/tools/builtin/search.js.map +1 -0
- package/dist/core/tools/builtin/shell.d.ts +27 -0
- package/dist/core/tools/builtin/shell.d.ts.map +1 -0
- package/dist/core/tools/builtin/shell.js +98 -0
- package/dist/core/tools/builtin/shell.js.map +1 -0
- package/dist/core/tools/builtin/shellResolver.d.ts +25 -0
- package/dist/core/tools/builtin/shellResolver.d.ts.map +1 -0
- package/dist/core/tools/builtin/shellResolver.js +117 -0
- package/dist/core/tools/builtin/shellResolver.js.map +1 -0
- package/dist/core/tools/builtin/web.d.ts +43 -0
- package/dist/core/tools/builtin/web.d.ts.map +1 -0
- package/dist/core/tools/builtin/web.js +208 -0
- package/dist/core/tools/builtin/web.js.map +1 -0
- package/dist/core/tools/registry.d.ts +31 -0
- package/dist/core/tools/registry.d.ts.map +1 -0
- package/dist/core/tools/registry.js +115 -0
- package/dist/core/tools/registry.js.map +1 -0
- package/dist/core/tools/toolTypes.d.ts +60 -0
- package/dist/core/tools/toolTypes.d.ts.map +1 -0
- package/dist/core/tools/toolTypes.js +8 -0
- package/dist/core/tools/toolTypes.js.map +1 -0
- package/dist/core/tools/zodBridge.d.ts +6 -0
- package/dist/core/tools/zodBridge.d.ts.map +1 -0
- package/dist/core/tools/zodBridge.js +56 -0
- package/dist/core/tools/zodBridge.js.map +1 -0
- package/dist/council/index.d.ts +14 -0
- package/dist/council/index.d.ts.map +1 -0
- package/dist/council/index.js +14 -0
- package/dist/council/index.js.map +1 -0
- package/dist/council/modeBanners.d.ts +5 -0
- package/dist/council/modeBanners.d.ts.map +1 -0
- package/dist/council/modeBanners.js +10 -0
- package/dist/council/modeBanners.js.map +1 -0
- package/dist/council/runMode.d.ts +25 -0
- package/dist/council/runMode.d.ts.map +1 -0
- package/dist/council/runMode.js +41 -0
- package/dist/council/runMode.js.map +1 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +6 -0
- package/dist/events/index.js.map +1 -0
- package/dist/harness/index.d.ts +9 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +9 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/tools/index.d.ts +20 -0
- package/dist/harness/tools/index.d.ts.map +1 -0
- package/dist/harness/tools/index.js +19 -0
- package/dist/harness/tools/index.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/shared/eventBus.d.ts +58 -0
- package/dist/shared/eventBus.d.ts.map +1 -0
- package/dist/shared/eventBus.js +104 -0
- package/dist/shared/eventBus.js.map +1 -0
- package/dist/shared/events.d.ts +230 -0
- package/dist/shared/events.d.ts.map +1 -0
- package/dist/shared/events.js +76 -0
- package/dist/shared/events.js.map +1 -0
- package/dist/shared/index.d.ts +8 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +8 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/skills/index.d.ts +10 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +10 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/types/context.d.ts +54 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +3 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/knowledge.d.ts +79 -0
- package/dist/types/knowledge.d.ts.map +1 -0
- package/dist/types/knowledge.js +5 -0
- package/dist/types/knowledge.js.map +1 -0
- package/dist/types/legacy.d.ts +466 -0
- package/dist/types/legacy.d.ts.map +1 -0
- package/dist/types/legacy.js +2 -0
- package/dist/types/legacy.js.map +1 -0
- package/dist/types/systemTypes.d.ts +113 -0
- package/dist/types/systemTypes.d.ts.map +1 -0
- package/dist/types/systemTypes.js +10 -0
- package/dist/types/systemTypes.js.map +1 -0
- package/package.json +151 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/agents/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { EnhancedToolDefinition, SkillDefinition, SystemPromptConfig } from '../types/systemTypes.js';
|
|
2
|
+
import type { AgentRole as CoreAgentRole } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* System Prompt Builder.
|
|
5
|
+
*
|
|
6
|
+
* Assembles a dynamic system prompt for an agent from:
|
|
7
|
+
* 1. Base prompt modules (identity, behavior, safety, ...)
|
|
8
|
+
* 2. The agent's own inline systemPrompt (from roles.ts) — kept as a role-specific block.
|
|
9
|
+
* 3. The systemPromptFragment of each enabled skill for the agent.
|
|
10
|
+
* 4. The documentation block for the tools available to the agent.
|
|
11
|
+
* 5. Optional workspace context summary.
|
|
12
|
+
* 6. User-authored custom prompt modules.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Compute the effective skills for an agent, factoring in:
|
|
16
|
+
* - the agent's declared skills (roles.ts / custom)
|
|
17
|
+
* - the global enabledSkills list from the AI config (master switch)
|
|
18
|
+
* - the agentSkillConfigs override
|
|
19
|
+
*/
|
|
20
|
+
export declare function computeAgentSkills(agent: CoreAgentRole & {
|
|
21
|
+
skills?: string[];
|
|
22
|
+
}, aiConfig?: SystemPromptConfig, customSkills?: import('../types/index.js').CustomSkill[]): SkillDefinition[];
|
|
23
|
+
/**
|
|
24
|
+
* Compute the effective tools for an agent: the union of the required tools
|
|
25
|
+
* of its enabled skills plus its declared tools, filtered by the global
|
|
26
|
+
* enabledTools master switch when present.
|
|
27
|
+
*/
|
|
28
|
+
export declare function computeAgentTools(agent: CoreAgentRole & {
|
|
29
|
+
skills?: string[];
|
|
30
|
+
}, aiConfig?: SystemPromptConfig): string[];
|
|
31
|
+
/** Generate the AVAILABLE TOOLS documentation block for the given tools. */
|
|
32
|
+
export declare function getToolDescriptions(toolNames: string[], registry: Map<string, EnhancedToolDefinition>): string;
|
|
33
|
+
/**
|
|
34
|
+
* Build the full system prompt for an agent.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildSystemPrompt(agent: CoreAgentRole & {
|
|
37
|
+
skills?: string[];
|
|
38
|
+
}, options: {
|
|
39
|
+
tools: EnhancedToolDefinition[];
|
|
40
|
+
toolNames: string[];
|
|
41
|
+
aiConfig?: SystemPromptConfig;
|
|
42
|
+
workspaceContext?: string;
|
|
43
|
+
ragContext?: string;
|
|
44
|
+
}): string;
|
|
45
|
+
//# sourceMappingURL=systemPromptBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemPromptBuilder.d.ts","sourceRoot":"","sources":["../../src/agents/systemPromptBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EAEf,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIpE;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC5C,QAAQ,CAAC,EAAE,kBAAkB,EAC7B,YAAY,CAAC,EAAE,OAAO,mBAAmB,EAAE,WAAW,EAAE,GACvD,eAAe,EAAE,CAmDnB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC5C,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,MAAM,EAAE,CAWV;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAC5C,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC5C,OAAO,EAAE;IACP,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,MAAM,CA2DR"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { getBasePromptModules } from './promptModules.js';
|
|
2
|
+
import { resolveAgentSkills, getSkillById } from './skills.js';
|
|
3
|
+
/**
|
|
4
|
+
* System Prompt Builder.
|
|
5
|
+
*
|
|
6
|
+
* Assembles a dynamic system prompt for an agent from:
|
|
7
|
+
* 1. Base prompt modules (identity, behavior, safety, ...)
|
|
8
|
+
* 2. The agent's own inline systemPrompt (from roles.ts) — kept as a role-specific block.
|
|
9
|
+
* 3. The systemPromptFragment of each enabled skill for the agent.
|
|
10
|
+
* 4. The documentation block for the tools available to the agent.
|
|
11
|
+
* 5. Optional workspace context summary.
|
|
12
|
+
* 6. User-authored custom prompt modules.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Compute the effective skills for an agent, factoring in:
|
|
16
|
+
* - the agent's declared skills (roles.ts / custom)
|
|
17
|
+
* - the global enabledSkills list from the AI config (master switch)
|
|
18
|
+
* - the agentSkillConfigs override
|
|
19
|
+
*/
|
|
20
|
+
export function computeAgentSkills(agent, aiConfig, customSkills) {
|
|
21
|
+
const declared = agent.skills ?? resolveAgentSkills(agent.id).map((s) => s.id);
|
|
22
|
+
// Global master switch: if defined, skills must be globally enabled to apply.
|
|
23
|
+
const globalEnabled = aiConfig?.enabledSkills;
|
|
24
|
+
// Per-agent override
|
|
25
|
+
const override = aiConfig?.agentSkillConfigs.find((c) => c.agentId === agent.id);
|
|
26
|
+
let effectiveIds;
|
|
27
|
+
if (override) {
|
|
28
|
+
effectiveIds = override.enabledSkillIds;
|
|
29
|
+
}
|
|
30
|
+
else if (globalEnabled && globalEnabled.length > 0) {
|
|
31
|
+
effectiveIds = declared.filter((id) => globalEnabled.includes(id));
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
effectiveIds = declared;
|
|
35
|
+
}
|
|
36
|
+
// Custom skills that auto-attach to this agent.
|
|
37
|
+
const customs = customSkills ?? [];
|
|
38
|
+
for (const cs of customs) {
|
|
39
|
+
if (cs.enabled && cs.autoAttachTo?.includes(agent.id) && !effectiveIds.includes(cs.id)) {
|
|
40
|
+
effectiveIds.push(cs.id);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const builtin = effectiveIds
|
|
44
|
+
.map((id) => getSkillById(id))
|
|
45
|
+
.filter((s) => s !== undefined);
|
|
46
|
+
// Add custom skills as synthetic SkillDefinition (fragment will be injected
|
|
47
|
+
// in buildSystemPrompt via the `customSkillFragments` map).
|
|
48
|
+
const customDefs = [];
|
|
49
|
+
for (const cs of customs) {
|
|
50
|
+
if (!cs.enabled)
|
|
51
|
+
continue;
|
|
52
|
+
if (effectiveIds.includes(cs.id) && !builtin.find((b) => b.id === cs.id)) {
|
|
53
|
+
customDefs.push({
|
|
54
|
+
id: cs.id,
|
|
55
|
+
name: cs.name,
|
|
56
|
+
description: cs.description,
|
|
57
|
+
category: cs.category,
|
|
58
|
+
color: cs.color,
|
|
59
|
+
enabledByDefault: cs.enabled,
|
|
60
|
+
builtin: false,
|
|
61
|
+
requiredTools: cs.requiredTools,
|
|
62
|
+
systemPromptFragment: cs.systemPromptFragment,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return [...builtin, ...customDefs];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Compute the effective tools for an agent: the union of the required tools
|
|
70
|
+
* of its enabled skills plus its declared tools, filtered by the global
|
|
71
|
+
* enabledTools master switch when present.
|
|
72
|
+
*/
|
|
73
|
+
export function computeAgentTools(agent, aiConfig) {
|
|
74
|
+
const skills = computeAgentSkills(agent, aiConfig);
|
|
75
|
+
const skillTools = skills.flatMap((s) => s.requiredTools);
|
|
76
|
+
const declared = agent.tools ?? [];
|
|
77
|
+
const merged = Array.from(new Set([...declared, ...skillTools]));
|
|
78
|
+
const globalEnabled = aiConfig?.enabledTools;
|
|
79
|
+
if (globalEnabled && globalEnabled.length > 0) {
|
|
80
|
+
return merged.filter((t) => globalEnabled.includes(t));
|
|
81
|
+
}
|
|
82
|
+
return merged;
|
|
83
|
+
}
|
|
84
|
+
/** Generate the AVAILABLE TOOLS documentation block for the given tools. */
|
|
85
|
+
export function getToolDescriptions(toolNames, registry) {
|
|
86
|
+
const lines = ['AVAILABLE TOOLS (use ONLY these exact names):'];
|
|
87
|
+
for (const name of toolNames) {
|
|
88
|
+
const tool = registry.get(name);
|
|
89
|
+
if (!tool)
|
|
90
|
+
continue;
|
|
91
|
+
// parameters may be either ToolParameter[] (builtin) or a plain JSON
|
|
92
|
+
// Schema object (custom tools). Build the param line accordingly.
|
|
93
|
+
let paramList;
|
|
94
|
+
if (Array.isArray(tool.parameters)) {
|
|
95
|
+
paramList = tool.parameters
|
|
96
|
+
.map((p) => `${p.name}:${p.type}`)
|
|
97
|
+
.join(', ');
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const obj = tool.parameters;
|
|
101
|
+
paramList = Object.entries(obj.properties ?? {})
|
|
102
|
+
.map(([k, v]) => `${k}:${v.type ?? 'any'}`)
|
|
103
|
+
.join(', ');
|
|
104
|
+
}
|
|
105
|
+
lines.push(`- ${name}: ${tool.description} — args { ${paramList} }`);
|
|
106
|
+
}
|
|
107
|
+
return lines.join('\n');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Build the full system prompt for an agent.
|
|
111
|
+
*/
|
|
112
|
+
export function buildSystemPrompt(agent, options) {
|
|
113
|
+
const { tools, toolNames, aiConfig, workspaceContext, ragContext } = options;
|
|
114
|
+
const registry = new Map(tools.map((t) => [t.name, t]));
|
|
115
|
+
// 1. Base modules (filtered by conditional predicates against the agent's skills)
|
|
116
|
+
const skills = computeAgentSkills(agent, aiConfig);
|
|
117
|
+
const baseModules = getBasePromptModules().filter((m) => !m.conditional || m.conditional(skills));
|
|
118
|
+
// 2. Custom user modules. v0.7.2: a custom module with the SAME `type` as a
|
|
119
|
+
// base module REPLACES it (override semantics), rather than being appended.
|
|
120
|
+
// This makes the council identity configurable — a caller can ship a custom
|
|
121
|
+
// 'base-identity' module via aiConfig.customPromptModules and it wins over
|
|
122
|
+
// the builtin. Backward-compatible: today no caller ships a duplicate type,
|
|
123
|
+
// so existing append behavior is preserved for non-colliding types.
|
|
124
|
+
const customModulesRaw = aiConfig?.customPromptModules ?? [];
|
|
125
|
+
const customTypes = new Set(customModulesRaw.map((m) => m.type));
|
|
126
|
+
const baseNotOverridden = baseModules.filter((m) => !customTypes.has(m.type));
|
|
127
|
+
const customModules = customModulesRaw.map((m) => ({
|
|
128
|
+
...m,
|
|
129
|
+
priority: 1000 + m.priority,
|
|
130
|
+
}));
|
|
131
|
+
const allModules = [...baseNotOverridden, ...customModules].sort((a, b) => a.priority - b.priority);
|
|
132
|
+
const parts = [];
|
|
133
|
+
for (const mod of allModules) {
|
|
134
|
+
parts.push(mod.content);
|
|
135
|
+
}
|
|
136
|
+
// 3. Agent's inline role prompt (role-specific persona)
|
|
137
|
+
if (agent.systemPrompt && agent.systemPrompt.trim()) {
|
|
138
|
+
parts.push(`# Your Role\n\n${agent.systemPrompt}`);
|
|
139
|
+
}
|
|
140
|
+
// 4. Skill prompt fragments
|
|
141
|
+
if (skills.length > 0) {
|
|
142
|
+
parts.push(`# Active Skills\n\n` +
|
|
143
|
+
skills.map((s) => `## ${s.name}\n${s.systemPromptFragment}`).join('\n\n'));
|
|
144
|
+
}
|
|
145
|
+
// 5. Tool documentation
|
|
146
|
+
const toolBlock = getToolDescriptions(toolNames, registry);
|
|
147
|
+
if (toolNames.length > 0) {
|
|
148
|
+
parts.push(`# Tools\n\n${toolBlock}`);
|
|
149
|
+
}
|
|
150
|
+
// 6. Context
|
|
151
|
+
if (workspaceContext && workspaceContext.trim()) {
|
|
152
|
+
parts.push(`# Current Workspace State\n\n${workspaceContext}`);
|
|
153
|
+
}
|
|
154
|
+
if (ragContext && ragContext.trim()) {
|
|
155
|
+
parts.push(`# Retrieved Knowledge (RAG)\n\n${ragContext}`);
|
|
156
|
+
}
|
|
157
|
+
return parts.join('\n\n---\n\n');
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=systemPromptBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemPromptBuilder.js","sourceRoot":"","sources":["../../src/agents/systemPromptBuilder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAA4C,EAC5C,QAA6B,EAC7B,YAAwD;IAExD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE/E,8EAA8E;IAC9E,MAAM,aAAa,GAAG,QAAQ,EAAE,aAAa,CAAC;IAE9C,qBAAqB;IACrB,MAAM,QAAQ,GAAG,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IAEjF,IAAI,YAAsB,CAAC;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC;IAC1C,CAAC;SAAM,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,gDAAgD;IAChD,MAAM,OAAO,GAAG,YAAY,IAAI,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACvF,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAsB,YAAY;SAC5C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAExD,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,OAAO;YAAE,SAAS;QAC1B,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACzE,UAAU,CAAC,IAAI,CAAC;gBACd,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,gBAAgB,EAAE,EAAE,CAAC,OAAO;gBAC5B,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,EAAE,CAAC,aAAa;gBAC/B,oBAAoB,EAAE,EAAE,CAAC,oBAAoB;aAC9C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA4C,EAC5C,QAA6B;IAE7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,QAAQ,EAAE,YAAY,CAAC;IAC7C,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB,CACjC,SAAmB,EACnB,QAA6C;IAE7C,MAAM,KAAK,GAAa,CAAC,+CAA+C,CAAC,CAAC;IAC1E,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,qEAAqE;QACrE,kEAAkE;QAClE,IAAI,SAAiB,CAAC;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,SAAS,GAAI,IAAI,CAAC,UAAqE;iBACpF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;iBACjC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,UAAgE,CAAC;YAClF,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;iBAC7C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;iBAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,WAAW,aAAa,SAAS,IAAI,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA4C,EAC5C,OAMC;IAED,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,kFAAkF;IAClF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAC/C,CAAC;IAEF,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,gBAAgB,GAAG,QAAQ,EAAE,mBAAmB,IAAI,EAAE,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAyB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,GAAG,CAAC;QACJ,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ;KAC5B,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEpG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,wDAAwD;IACxD,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,qBAAqB;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC5E,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,aAAa;IACb,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,gCAAgC,gBAAgB,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI-compatible tool schemas for native function calling.
|
|
3
|
+
*
|
|
4
|
+
* These describe the 13 tools to the LLM providers (GLM/Z.AI and MiniMax) so
|
|
5
|
+
* the model can decide structurally — via `response.tool_calls` — when to
|
|
6
|
+
* invoke a tool, rather than emitting textual markers the client must parse.
|
|
7
|
+
*
|
|
8
|
+
* The descriptions are kept in sync with the unified `ALL_TOOLS` registry (the
|
|
9
|
+
* execution side) in `agents/tools.ts`. Names MUST match across the two
|
|
10
|
+
* modules; if a tool appears in the registry but has no schema here,
|
|
11
|
+
* `getProviderTools` will throw at build time (defensive).
|
|
12
|
+
*/
|
|
13
|
+
import { registerCustomTool } from './tools.js';
|
|
14
|
+
/** OpenAI-style tool descriptor accepted by both GLM and MiniMax. */
|
|
15
|
+
export interface ProviderTool {
|
|
16
|
+
type: 'function';
|
|
17
|
+
function: {
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
parameters: object;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** A tool call as riassemblato dal main process dallo stream SSE. */
|
|
24
|
+
export interface ParsedToolCall {
|
|
25
|
+
id: string;
|
|
26
|
+
name: string;
|
|
27
|
+
args: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
/** Build a JSON Schema for a custom tool from its declared parameters. */
|
|
30
|
+
declare function buildCustomParameters(tool: {
|
|
31
|
+
parameters: {
|
|
32
|
+
type: string;
|
|
33
|
+
properties: Record<string, {
|
|
34
|
+
type: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
enum?: string[];
|
|
37
|
+
}>;
|
|
38
|
+
required: string[];
|
|
39
|
+
};
|
|
40
|
+
}): object;
|
|
41
|
+
/**
|
|
42
|
+
* Builds the OpenAI-style tool list from the current tool registry (read at
|
|
43
|
+
* call time, so it always reflects the latest custom registrations).
|
|
44
|
+
*
|
|
45
|
+
* @param toolNames Optional allow-list. When provided, only tools whose name
|
|
46
|
+
* appears in the list are returned — used to grant per-agent tool access.
|
|
47
|
+
* When omitted, all registered tools are returned.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getProviderTools(toolNames?: string[]): ProviderTool[];
|
|
50
|
+
/** Build parameters schema from a custom tool's declared params. Exported
|
|
51
|
+
* for callers that want to register a custom tool + its schema in one go. */
|
|
52
|
+
export { buildCustomParameters };
|
|
53
|
+
/** Re-export for callers that want to register custom tools at runtime. */
|
|
54
|
+
export { registerCustomTool };
|
|
55
|
+
//# sourceMappingURL=toolSchemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolSchemas.d.ts","sourceRoot":"","sources":["../../src/agents/toolSchemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7D,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAmPD,0EAA0E;AAC1E,iBAAS,qBAAqB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,GAAG,MAAM,CAatL;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAiCrE;AAED;8EAC8E;AAC9E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,2EAA2E;AAC3E,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI-compatible tool schemas for native function calling.
|
|
3
|
+
*
|
|
4
|
+
* These describe the 13 tools to the LLM providers (GLM/Z.AI and MiniMax) so
|
|
5
|
+
* the model can decide structurally — via `response.tool_calls` — when to
|
|
6
|
+
* invoke a tool, rather than emitting textual markers the client must parse.
|
|
7
|
+
*
|
|
8
|
+
* The descriptions are kept in sync with the unified `ALL_TOOLS` registry (the
|
|
9
|
+
* execution side) in `agents/tools.ts`. Names MUST match across the two
|
|
10
|
+
* modules; if a tool appears in the registry but has no schema here,
|
|
11
|
+
* `getProviderTools` will throw at build time (defensive).
|
|
12
|
+
*/
|
|
13
|
+
import { getAllTools, registerCustomTool } from './tools.js';
|
|
14
|
+
/**
|
|
15
|
+
* JSON Schema for each BUILTIN tool's parameters. Keyed by tool name. Custom
|
|
16
|
+
* tools (registered via `registerCustomTool`) carry their own JSON Schema
|
|
17
|
+
* inline (via `EnhancedToolDefinition.parameters`) and do not need an entry
|
|
18
|
+
* here.
|
|
19
|
+
*
|
|
20
|
+
* If a builtin tool appears here but is missing from the registry, this map
|
|
21
|
+
* is silently ignored. If a builtin tool appears in the registry but has no
|
|
22
|
+
* entry here, `getProviderTools` warns at runtime (defensive — registration
|
|
23
|
+
* ordering and missing entries used to be a build-time throw).
|
|
24
|
+
*/
|
|
25
|
+
const PARAM_SCHEMAS = {
|
|
26
|
+
createPlan: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
properties: {
|
|
29
|
+
phases: {
|
|
30
|
+
type: 'array',
|
|
31
|
+
description: 'Ordered list of plan phases, each with its tasks nested (aim for 3 tasks per phase)',
|
|
32
|
+
items: {
|
|
33
|
+
type: 'object',
|
|
34
|
+
properties: {
|
|
35
|
+
name: { type: 'string', description: 'Phase name' },
|
|
36
|
+
description: { type: 'string', description: 'What this phase delivers and its exit criterion' },
|
|
37
|
+
order: { type: 'number', description: 'Position of the phase in the plan (1-based)' },
|
|
38
|
+
color: { type: 'string', description: 'Hex color, e.g. "#3b82f6"' },
|
|
39
|
+
tasks: {
|
|
40
|
+
type: 'array',
|
|
41
|
+
description: 'Concrete tasks for this phase',
|
|
42
|
+
items: {
|
|
43
|
+
type: 'object',
|
|
44
|
+
properties: {
|
|
45
|
+
title: { type: 'string', description: 'Concise verb-led task title' },
|
|
46
|
+
description: { type: 'string', description: '2-3 sentences of context' },
|
|
47
|
+
fileRefs: {
|
|
48
|
+
type: 'array',
|
|
49
|
+
items: { type: 'string' },
|
|
50
|
+
description: 'File paths with line ranges, e.g. "src/App.tsx:L10-L40"',
|
|
51
|
+
},
|
|
52
|
+
acceptance: {
|
|
53
|
+
type: 'array',
|
|
54
|
+
items: { type: 'string' },
|
|
55
|
+
description: 'Concrete, testable acceptance criteria',
|
|
56
|
+
},
|
|
57
|
+
qaScenario: { type: 'string', description: 'Step-by-step manual QA scenario' },
|
|
58
|
+
priority: { type: 'string', enum: ['low', 'medium', 'high', 'critical'] },
|
|
59
|
+
},
|
|
60
|
+
required: ['title'],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
required: ['name'],
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
milestone: {
|
|
68
|
+
type: 'object',
|
|
69
|
+
description: 'The milestone this plan ships (e.g. the design-complete milestone)',
|
|
70
|
+
properties: {
|
|
71
|
+
title: { type: 'string', description: 'Milestone title' },
|
|
72
|
+
description: { type: 'string', description: 'Milestone description' },
|
|
73
|
+
targetVersion: { type: 'string', description: 'Target version, e.g. "v0.1.0"' },
|
|
74
|
+
dueDate: { type: 'string', description: 'Due date (ISO string)' },
|
|
75
|
+
},
|
|
76
|
+
required: ['title'],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
required: ['phases'],
|
|
80
|
+
},
|
|
81
|
+
createTask: {
|
|
82
|
+
type: 'object',
|
|
83
|
+
properties: {
|
|
84
|
+
title: { type: 'string', description: 'Short task title' },
|
|
85
|
+
description: { type: 'string', description: 'Detailed task description' },
|
|
86
|
+
priority: { type: 'string', enum: ['low', 'medium', 'high', 'critical'] },
|
|
87
|
+
phaseId: { type: 'string', description: 'ID of the phase this task belongs to' },
|
|
88
|
+
parentId: { type: 'string', description: 'ID of the parent task, if nested' },
|
|
89
|
+
fileRefs: {
|
|
90
|
+
type: 'array',
|
|
91
|
+
items: { type: 'string' },
|
|
92
|
+
description: 'File paths with line ranges where the work lands, e.g. "src/App.tsx:L10-L40"',
|
|
93
|
+
},
|
|
94
|
+
acceptance: {
|
|
95
|
+
type: 'array',
|
|
96
|
+
items: { type: 'string' },
|
|
97
|
+
description: 'Concrete, testable acceptance criteria',
|
|
98
|
+
},
|
|
99
|
+
qaScenario: { type: 'string', description: 'Step-by-step manual QA scenario' },
|
|
100
|
+
tags: { type: 'array', items: { type: 'string' } },
|
|
101
|
+
subtasks: { type: 'array', items: { type: 'string' }, description: 'Subtask titles' },
|
|
102
|
+
},
|
|
103
|
+
required: ['title'],
|
|
104
|
+
},
|
|
105
|
+
addIdea: {
|
|
106
|
+
type: 'object',
|
|
107
|
+
properties: {
|
|
108
|
+
title: { type: 'string' },
|
|
109
|
+
content: { type: 'string', description: 'Full idea description' },
|
|
110
|
+
tags: { type: 'array', items: { type: 'string' } },
|
|
111
|
+
category: { type: 'string', description: 'e.g. "Product", "Research", "General"' },
|
|
112
|
+
},
|
|
113
|
+
required: ['title'],
|
|
114
|
+
},
|
|
115
|
+
createPhase: {
|
|
116
|
+
type: 'object',
|
|
117
|
+
properties: {
|
|
118
|
+
name: { type: 'string' },
|
|
119
|
+
description: { type: 'string' },
|
|
120
|
+
order: { type: 'number', description: 'Position of the phase in the plan' },
|
|
121
|
+
color: { type: 'string', description: 'Hex color, e.g. "#3b82f6"' },
|
|
122
|
+
},
|
|
123
|
+
required: ['name'],
|
|
124
|
+
},
|
|
125
|
+
buildMindMap: {
|
|
126
|
+
type: 'object',
|
|
127
|
+
properties: {
|
|
128
|
+
topic: { type: 'string', description: 'Central topic of the mind map' },
|
|
129
|
+
nodes: {
|
|
130
|
+
type: 'array',
|
|
131
|
+
description: 'Nodes to populate the map with',
|
|
132
|
+
items: {
|
|
133
|
+
type: 'object',
|
|
134
|
+
properties: {
|
|
135
|
+
label: { type: 'string' },
|
|
136
|
+
content: { type: 'string' },
|
|
137
|
+
},
|
|
138
|
+
required: ['label'],
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
required: ['topic'],
|
|
143
|
+
},
|
|
144
|
+
addNode: {
|
|
145
|
+
type: 'object',
|
|
146
|
+
properties: {
|
|
147
|
+
label: { type: 'string' },
|
|
148
|
+
content: { type: 'string' },
|
|
149
|
+
},
|
|
150
|
+
required: ['label'],
|
|
151
|
+
},
|
|
152
|
+
linkNodes: {
|
|
153
|
+
type: 'object',
|
|
154
|
+
properties: {
|
|
155
|
+
source: { type: 'string', description: 'Label or id of the source node' },
|
|
156
|
+
target: { type: 'string', description: 'Label or id of the target node' },
|
|
157
|
+
},
|
|
158
|
+
required: ['source', 'target'],
|
|
159
|
+
},
|
|
160
|
+
createDocument: {
|
|
161
|
+
type: 'object',
|
|
162
|
+
properties: {
|
|
163
|
+
title: { type: 'string', description: 'Title of the document' },
|
|
164
|
+
content: { type: 'string', description: 'Content of the document (markdown)' },
|
|
165
|
+
path: { type: 'string', description: 'Optional stabilized path, e.g. "notes/my-topic"' },
|
|
166
|
+
tags: { type: 'array', items: { type: 'string' } },
|
|
167
|
+
category: { type: 'string', description: 'Document category' },
|
|
168
|
+
},
|
|
169
|
+
required: ['title', 'content'],
|
|
170
|
+
},
|
|
171
|
+
updateDocument: {
|
|
172
|
+
type: 'object',
|
|
173
|
+
properties: {
|
|
174
|
+
id: { type: 'string', description: 'Document id to update' },
|
|
175
|
+
content: { type: 'string', description: 'New markdown content' },
|
|
176
|
+
title: { type: 'string', description: 'New title' },
|
|
177
|
+
tags: { type: 'array', items: { type: 'string' }, description: 'New tag list (replaces existing)' },
|
|
178
|
+
category: { type: 'string', description: 'New category' },
|
|
179
|
+
},
|
|
180
|
+
required: ['id'],
|
|
181
|
+
},
|
|
182
|
+
searchDocuments: {
|
|
183
|
+
type: 'object',
|
|
184
|
+
properties: {
|
|
185
|
+
query: { type: 'string', description: 'Free-text search query' },
|
|
186
|
+
tag: { type: 'string', description: 'Filter by tag' },
|
|
187
|
+
category: { type: 'string', description: 'Filter by category' },
|
|
188
|
+
limit: { type: 'number', description: 'Max results' },
|
|
189
|
+
},
|
|
190
|
+
required: [],
|
|
191
|
+
},
|
|
192
|
+
linkDocuments: {
|
|
193
|
+
type: 'object',
|
|
194
|
+
properties: {
|
|
195
|
+
sourceId: { type: 'string', description: 'Source document id' },
|
|
196
|
+
targetPathOrTitle: { type: 'string', description: 'Target document path or title' },
|
|
197
|
+
alias: { type: 'string', description: 'Optional display alias' },
|
|
198
|
+
},
|
|
199
|
+
required: ['sourceId', 'targetPathOrTitle'],
|
|
200
|
+
},
|
|
201
|
+
getDocumentBacklinks: {
|
|
202
|
+
type: 'object',
|
|
203
|
+
properties: {
|
|
204
|
+
id: { type: 'string', description: 'Target document id' },
|
|
205
|
+
},
|
|
206
|
+
required: ['id'],
|
|
207
|
+
},
|
|
208
|
+
searchRAG: {
|
|
209
|
+
type: 'object',
|
|
210
|
+
properties: {
|
|
211
|
+
query: { type: 'string', description: 'Natural-language query' },
|
|
212
|
+
topK: { type: 'number', description: 'Number of results to return' },
|
|
213
|
+
},
|
|
214
|
+
required: ['query'],
|
|
215
|
+
},
|
|
216
|
+
createMindMapNode: {
|
|
217
|
+
type: 'object',
|
|
218
|
+
properties: {
|
|
219
|
+
label: { type: 'string', description: 'Node label' },
|
|
220
|
+
content: { type: 'string', description: 'Short node content/description' },
|
|
221
|
+
},
|
|
222
|
+
required: ['label'],
|
|
223
|
+
},
|
|
224
|
+
createMilestone: {
|
|
225
|
+
type: 'object',
|
|
226
|
+
properties: {
|
|
227
|
+
title: { type: 'string', description: 'Milestone title' },
|
|
228
|
+
description: { type: 'string', description: 'Milestone description' },
|
|
229
|
+
targetVersion: { type: 'string', description: 'Target version this milestone ships, e.g. "v0.1.0"' },
|
|
230
|
+
dueDate: { type: 'string', description: 'Due date (ISO string)' },
|
|
231
|
+
},
|
|
232
|
+
required: ['title'],
|
|
233
|
+
},
|
|
234
|
+
updateTask: {
|
|
235
|
+
type: 'object',
|
|
236
|
+
properties: {
|
|
237
|
+
taskId: { type: 'string', description: 'Task id to update' },
|
|
238
|
+
status: { type: 'string', enum: ['todo', 'in-progress', 'done', 'blocked'] },
|
|
239
|
+
priority: { type: 'string', enum: ['low', 'medium', 'high', 'critical'] },
|
|
240
|
+
description: { type: 'string', description: 'New description' },
|
|
241
|
+
},
|
|
242
|
+
required: ['taskId'],
|
|
243
|
+
},
|
|
244
|
+
clusterIdeas: {
|
|
245
|
+
type: 'object',
|
|
246
|
+
properties: {
|
|
247
|
+
ideaIds: { type: 'array', items: { type: 'string' }, description: 'Idea ids to cluster' },
|
|
248
|
+
clusterName: { type: 'string', description: 'Name for the new cluster' },
|
|
249
|
+
color: { type: 'string', description: 'Cluster color (hex)' },
|
|
250
|
+
},
|
|
251
|
+
required: ['ideaIds', 'clusterName'],
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
/** Build a JSON Schema for a custom tool from its declared parameters. */
|
|
255
|
+
function buildCustomParameters(tool) {
|
|
256
|
+
const properties = {};
|
|
257
|
+
for (const [k, v] of Object.entries(tool.parameters.properties)) {
|
|
258
|
+
const prop = { type: v.type };
|
|
259
|
+
if (v.description)
|
|
260
|
+
prop['description'] = v.description;
|
|
261
|
+
if (v.enum)
|
|
262
|
+
prop['enum'] = v.enum;
|
|
263
|
+
properties[k] = prop;
|
|
264
|
+
}
|
|
265
|
+
return {
|
|
266
|
+
type: tool.parameters.type,
|
|
267
|
+
properties,
|
|
268
|
+
required: tool.parameters.required,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Builds the OpenAI-style tool list from the current tool registry (read at
|
|
273
|
+
* call time, so it always reflects the latest custom registrations).
|
|
274
|
+
*
|
|
275
|
+
* @param toolNames Optional allow-list. When provided, only tools whose name
|
|
276
|
+
* appears in the list are returned — used to grant per-agent tool access.
|
|
277
|
+
* When omitted, all registered tools are returned.
|
|
278
|
+
*/
|
|
279
|
+
export function getProviderTools(toolNames) {
|
|
280
|
+
const all = getAllTools();
|
|
281
|
+
const source = toolNames && toolNames.length > 0
|
|
282
|
+
? all.filter((t) => toolNames.includes(t.name))
|
|
283
|
+
: all;
|
|
284
|
+
const result = [];
|
|
285
|
+
for (const t of source) {
|
|
286
|
+
const builtinSchema = PARAM_SCHEMAS[t.name];
|
|
287
|
+
const customParams = t.parameters;
|
|
288
|
+
const parameters = builtinSchema ||
|
|
289
|
+
(customParams ? customParams : null) ||
|
|
290
|
+
(Array.isArray(t.parameters)
|
|
291
|
+
? null
|
|
292
|
+
: null);
|
|
293
|
+
if (!parameters) {
|
|
294
|
+
// Custom tool with no schema declared: skip (defensive — never reach LLM
|
|
295
|
+
// with an undocumented function call).
|
|
296
|
+
// eslint-disable-next-line no-console
|
|
297
|
+
console.warn(`[toolSchemas] tool "${t.name}" has no JSON Schema; skipping.`);
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
300
|
+
result.push({
|
|
301
|
+
type: 'function',
|
|
302
|
+
function: {
|
|
303
|
+
name: t.name,
|
|
304
|
+
description: t.description,
|
|
305
|
+
parameters,
|
|
306
|
+
},
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
return result;
|
|
310
|
+
}
|
|
311
|
+
/** Build parameters schema from a custom tool's declared params. Exported
|
|
312
|
+
* for callers that want to register a custom tool + its schema in one go. */
|
|
313
|
+
export { buildCustomParameters };
|
|
314
|
+
/** Re-export for callers that want to register custom tools at runtime. */
|
|
315
|
+
export { registerCustomTool };
|
|
316
|
+
//# sourceMappingURL=toolSchemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolSchemas.js","sourceRoot":"","sources":["../../src/agents/toolSchemas.ts"],"names":[],"mappings":"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"}
|