@compilr-dev/sdk 0.9.10 → 0.9.11
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/dist/index.d.ts +2 -2
- package/dist/index.js +2 -0
- package/dist/team/agent-templates.d.ts +38 -0
- package/dist/team/agent-templates.js +107 -0
- package/dist/team/index.d.ts +2 -0
- package/dist/team/index.js +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
export { createCompilrAgent } from './agent.js';
|
|
37
37
|
export type { CompilrAgentConfig, CompilrAgent, RunOptions, RunResult, ToolCallRecord, ToolConfig, UsageInfo, ProviderType, PermissionCallback, GuardrailConfig, ContextConfig, CapabilitiesConfig, } from './config.js';
|
|
38
38
|
export { AgentTeam, TeamAgent, SharedContextManager, ArtifactStore, DelegationTracker, ContextResolver, } from './team/index.js';
|
|
39
|
-
export type { AgentTeamConfig, TeamAgentConfig, ITeamPersistence, IArtifactStorage, ISessionRegistry, CustomAgentDefinition, ToolConfig as TeamToolConfig, ToolTier, ToolGroup, ProfileInfo, } from './team/index.js';
|
|
39
|
+
export type { AgentTeamConfig, TeamAgentConfig, ITeamPersistence, IArtifactStorage, ISessionRegistry, CustomAgentDefinition, AgentTemplate, ToolConfig as TeamToolConfig, ToolTier, ToolGroup, ProfileInfo, } from './team/index.js';
|
|
40
40
|
export type { AgentRole, RoleMetadata, ToolProfile, MascotExpression, BackgroundSessionInfo, SerializedTeam, SerializedTeamAgent, TeamMetadata, TeamEvent, TeamEventType, TeamEventHandler, Artifact, ArtifactType as TeamArtifactType, ArtifactSummary as TeamArtifactSummary, CreateArtifactOptions, UpdateArtifactOptions, SerializedArtifact, SharedContext, SharedProjectInfo, SharedTeamInfo, TeamRosterEntry, TeamActivity, TeamActivityType, SharedDecision, TokenBudget, SerializedSharedContext, ParsedMention, ParsedInput, ResolvedMention, ResolveOptions, ResolutionSource, Delegation, DelegationStatus, DelegationResult, CompletionEvent, CreateDelegationOptions, DelegationStats, DelegationTrackerEvents, SkillToolRequirement, } from './team/index.js';
|
|
41
41
|
export { ROLE_METADATA, ROLE_EXPERTISE, PREDEFINED_ROLE_IDS, TOOL_GROUPS, TOOL_PROFILES, PROFILE_INFO, SKILL_REQUIREMENTS, CUSTOM_MASCOTS, } from './team/index.js';
|
|
42
|
-
export { getToolsForProfile, detectProfileFromTools, isProfileReadOnly, generateToolAwarenessPrompt, generateCoordinatorGuidance, generateSpecialistGuidance, createDefaultToolConfig, validateToolConfig, getAllGroupIds, getGroupInfo, getGroupsByTier, getGroupsForProfile, assignMascot, generateCustomAgentSystemPrompt, getCustomAgentToolFilter, getCustomAgentProfileLabel, validateAgentId, isAgentIdTaken, createCustomAgentDefinition, parseInputForMentions, getReferencedAgents, hasReferences, buildMessageWithContext, buildContextMap, findAgentForRole, findAgentById, getAvailableSpecialists, getSpecialistsSummary, hasSpecialists, suggestOwner, suggestOwners, matchesAgentExpertise, wouldCreateLoop, recordAssignment, getAssignmentHistory, clearAssignmentHistory, clearAllAssignmentHistory, canReassign, resolveAgentIdCollision, setActiveSharedContext, getActiveSharedContext, recordTeamActivity, getDefinedSkillNames, getSkillRequirements, checkSkillCompatibility, getCompatibleSkills, getAllRequiredTools, getSkillsByCategory, } from './team/index.js';
|
|
42
|
+
export { getToolsForProfile, detectProfileFromTools, isProfileReadOnly, generateToolAwarenessPrompt, generateCoordinatorGuidance, generateSpecialistGuidance, createDefaultToolConfig, validateToolConfig, getAllGroupIds, getGroupInfo, getGroupsByTier, getGroupsForProfile, assignMascot, generateCustomAgentSystemPrompt, getCustomAgentToolFilter, getCustomAgentProfileLabel, validateAgentId, isAgentIdTaken, createCustomAgentDefinition, listTemplates, getTemplate, saveTemplate, updateTemplate, deleteTemplate, createAgentFromTemplate, parseInputForMentions, getReferencedAgents, hasReferences, buildMessageWithContext, buildContextMap, findAgentForRole, findAgentById, getAvailableSpecialists, getSpecialistsSummary, hasSpecialists, suggestOwner, suggestOwners, matchesAgentExpertise, wouldCreateLoop, recordAssignment, getAssignmentHistory, clearAssignmentHistory, clearAllAssignmentHistory, canReassign, resolveAgentIdCollision, setActiveSharedContext, getActiveSharedContext, recordTeamActivity, getDefinedSkillNames, getSkillRequirements, checkSkillCompatibility, getCompatibleSkills, getAllRequiredTools, getSkillsByCategory, } from './team/index.js';
|
|
43
43
|
export { codingPreset, readOnlyPreset, resolvePreset } from './presets/index.js';
|
|
44
44
|
export type { Preset } from './presets/index.js';
|
|
45
45
|
export type { AnyTool } from './presets/types.js';
|
package/dist/index.js
CHANGED
|
@@ -52,6 +52,8 @@ getToolsForProfile, detectProfileFromTools, isProfileReadOnly, generateToolAware
|
|
|
52
52
|
createDefaultToolConfig, validateToolConfig, getAllGroupIds, getGroupInfo, getGroupsByTier, getGroupsForProfile,
|
|
53
53
|
// Custom agents
|
|
54
54
|
assignMascot, generateCustomAgentSystemPrompt, getCustomAgentToolFilter, getCustomAgentProfileLabel, validateAgentId, isAgentIdTaken, createCustomAgentDefinition,
|
|
55
|
+
// Agent templates
|
|
56
|
+
listTemplates, getTemplate, saveTemplate, updateTemplate, deleteTemplate, createAgentFromTemplate,
|
|
55
57
|
// Mention parsing
|
|
56
58
|
parseInputForMentions, getReferencedAgents, hasReferences, buildMessageWithContext, buildContextMap,
|
|
57
59
|
// Agent selection
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Templates — Reusable custom agent configurations.
|
|
3
|
+
*
|
|
4
|
+
* Stored globally in ~/.compilr-dev/agent-templates.json (not per-project).
|
|
5
|
+
* Templates include all agent config except ID and mascot (assigned at creation).
|
|
6
|
+
*/
|
|
7
|
+
import type { CustomAgentDefinition } from './custom-agents.js';
|
|
8
|
+
export interface AgentTemplate {
|
|
9
|
+
/** Unique template ID (auto-generated) */
|
|
10
|
+
id: string;
|
|
11
|
+
/** Template name (user-facing) */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Optional description */
|
|
14
|
+
description?: string;
|
|
15
|
+
/** When created */
|
|
16
|
+
createdAt: string;
|
|
17
|
+
/** When last updated */
|
|
18
|
+
updatedAt: string;
|
|
19
|
+
displayName: string;
|
|
20
|
+
specialty: string;
|
|
21
|
+
personality?: string;
|
|
22
|
+
systemPromptAddition?: string;
|
|
23
|
+
toolProfile?: string;
|
|
24
|
+
enabledSkills?: string[];
|
|
25
|
+
modelTier?: string;
|
|
26
|
+
}
|
|
27
|
+
/** List all saved templates */
|
|
28
|
+
export declare function listTemplates(): AgentTemplate[];
|
|
29
|
+
/** Get a template by ID */
|
|
30
|
+
export declare function getTemplate(id: string): AgentTemplate | null;
|
|
31
|
+
/** Save a new template from a custom agent definition */
|
|
32
|
+
export declare function saveTemplate(name: string, agent: CustomAgentDefinition, description?: string): AgentTemplate;
|
|
33
|
+
/** Update an existing template */
|
|
34
|
+
export declare function updateTemplate(id: string, updates: Partial<Omit<AgentTemplate, 'id' | 'createdAt'>>): AgentTemplate | null;
|
|
35
|
+
/** Delete a template */
|
|
36
|
+
export declare function deleteTemplate(id: string): boolean;
|
|
37
|
+
/** Create a CustomAgentDefinition from a template */
|
|
38
|
+
export declare function createAgentFromTemplate(template: AgentTemplate, agentId: string, existingAgents: CustomAgentDefinition[]): CustomAgentDefinition;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Templates — Reusable custom agent configurations.
|
|
3
|
+
*
|
|
4
|
+
* Stored globally in ~/.compilr-dev/agent-templates.json (not per-project).
|
|
5
|
+
* Templates include all agent config except ID and mascot (assigned at creation).
|
|
6
|
+
*/
|
|
7
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
import { homedir } from 'node:os';
|
|
10
|
+
import { assignMascot } from './custom-agents.js';
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// Storage
|
|
13
|
+
// =============================================================================
|
|
14
|
+
function getTemplatesPath() {
|
|
15
|
+
return join(homedir(), '.compilr-dev', 'agent-templates.json');
|
|
16
|
+
}
|
|
17
|
+
function readTemplates() {
|
|
18
|
+
const path = getTemplatesPath();
|
|
19
|
+
if (!existsSync(path))
|
|
20
|
+
return [];
|
|
21
|
+
try {
|
|
22
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function writeTemplates(templates) {
|
|
29
|
+
const dir = join(homedir(), '.compilr-dev');
|
|
30
|
+
if (!existsSync(dir))
|
|
31
|
+
mkdirSync(dir, { recursive: true });
|
|
32
|
+
writeFileSync(getTemplatesPath(), JSON.stringify(templates, null, 2));
|
|
33
|
+
}
|
|
34
|
+
function generateId() {
|
|
35
|
+
return `tmpl-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 6)}`;
|
|
36
|
+
}
|
|
37
|
+
// =============================================================================
|
|
38
|
+
// CRUD Operations
|
|
39
|
+
// =============================================================================
|
|
40
|
+
/** List all saved templates */
|
|
41
|
+
export function listTemplates() {
|
|
42
|
+
return readTemplates();
|
|
43
|
+
}
|
|
44
|
+
/** Get a template by ID */
|
|
45
|
+
export function getTemplate(id) {
|
|
46
|
+
return readTemplates().find((t) => t.id === id) ?? null;
|
|
47
|
+
}
|
|
48
|
+
/** Save a new template from a custom agent definition */
|
|
49
|
+
export function saveTemplate(name, agent, description) {
|
|
50
|
+
const templates = readTemplates();
|
|
51
|
+
const now = new Date().toISOString();
|
|
52
|
+
const template = {
|
|
53
|
+
id: generateId(),
|
|
54
|
+
name,
|
|
55
|
+
description,
|
|
56
|
+
createdAt: now,
|
|
57
|
+
updatedAt: now,
|
|
58
|
+
displayName: agent.displayName,
|
|
59
|
+
specialty: agent.specialty,
|
|
60
|
+
personality: agent.personality,
|
|
61
|
+
systemPromptAddition: agent.systemPromptAddition,
|
|
62
|
+
toolProfile: agent.toolConfig?.profile,
|
|
63
|
+
enabledSkills: agent.enabledSkills,
|
|
64
|
+
modelTier: agent.modelTier,
|
|
65
|
+
};
|
|
66
|
+
templates.push(template);
|
|
67
|
+
writeTemplates(templates);
|
|
68
|
+
return template;
|
|
69
|
+
}
|
|
70
|
+
/** Update an existing template */
|
|
71
|
+
export function updateTemplate(id, updates) {
|
|
72
|
+
const templates = readTemplates();
|
|
73
|
+
const idx = templates.findIndex((t) => t.id === id);
|
|
74
|
+
if (idx < 0)
|
|
75
|
+
return null;
|
|
76
|
+
templates[idx] = {
|
|
77
|
+
...templates[idx],
|
|
78
|
+
...updates,
|
|
79
|
+
updatedAt: new Date().toISOString(),
|
|
80
|
+
};
|
|
81
|
+
writeTemplates(templates);
|
|
82
|
+
return templates[idx];
|
|
83
|
+
}
|
|
84
|
+
/** Delete a template */
|
|
85
|
+
export function deleteTemplate(id) {
|
|
86
|
+
const templates = readTemplates();
|
|
87
|
+
const filtered = templates.filter((t) => t.id !== id);
|
|
88
|
+
if (filtered.length === templates.length)
|
|
89
|
+
return false;
|
|
90
|
+
writeTemplates(filtered);
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
/** Create a CustomAgentDefinition from a template */
|
|
94
|
+
export function createAgentFromTemplate(template, agentId, existingAgents) {
|
|
95
|
+
return {
|
|
96
|
+
id: agentId,
|
|
97
|
+
displayName: template.displayName,
|
|
98
|
+
specialty: template.specialty,
|
|
99
|
+
personality: template.personality,
|
|
100
|
+
systemPromptAddition: template.systemPromptAddition,
|
|
101
|
+
mascot: assignMascot(existingAgents),
|
|
102
|
+
createdAt: new Date().toISOString(),
|
|
103
|
+
toolConfig: template.toolProfile ? { profile: template.toolProfile } : undefined,
|
|
104
|
+
enabledSkills: template.enabledSkills,
|
|
105
|
+
modelTier: template.modelTier,
|
|
106
|
+
};
|
|
107
|
+
}
|
package/dist/team/index.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export type { ToolConfig, ToolTier, ToolGroup, ProfileInfo } from './tool-config
|
|
|
18
18
|
export { createDefaultToolConfig, validateToolConfig, getAllGroupIds, getGroupInfo, getGroupsByTier, getGroupsForProfile, } from './tool-config.js';
|
|
19
19
|
export type { CustomAgentDefinition } from './custom-agents.js';
|
|
20
20
|
export { CUSTOM_MASCOTS, assignMascot, generateCustomAgentSystemPrompt, getCustomAgentToolFilter, getCustomAgentProfileLabel, validateAgentId, isAgentIdTaken, createCustomAgentDefinition, } from './custom-agents.js';
|
|
21
|
+
export type { AgentTemplate } from './agent-templates.js';
|
|
22
|
+
export { listTemplates, getTemplate, saveTemplate, updateTemplate, deleteTemplate, createAgentFromTemplate, } from './agent-templates.js';
|
|
21
23
|
export type { ITeamPersistence, IArtifactStorage, ISessionRegistry } from './interfaces.js';
|
|
22
24
|
export type { ParsedMention, ParsedInput } from './mention-parser.js';
|
|
23
25
|
export { parseInputForMentions, getReferencedAgents, hasReferences, buildMessageWithContext, } from './mention-parser.js';
|
package/dist/team/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export { ROLE_METADATA, ROLE_EXPERTISE, PREDEFINED_ROLE_IDS } from './types.js';
|
|
|
14
14
|
export { TOOL_GROUPS, TOOL_PROFILES, PROFILE_INFO, getToolsForProfile, detectProfileFromTools, isProfileReadOnly, generateToolAwarenessPrompt, generateCoordinatorGuidance, generateSpecialistGuidance, } from './tool-config.js';
|
|
15
15
|
export { createDefaultToolConfig, validateToolConfig, getAllGroupIds, getGroupInfo, getGroupsByTier, getGroupsForProfile, } from './tool-config.js';
|
|
16
16
|
export { CUSTOM_MASCOTS, assignMascot, generateCustomAgentSystemPrompt, getCustomAgentToolFilter, getCustomAgentProfileLabel, validateAgentId, isAgentIdTaken, createCustomAgentDefinition, } from './custom-agents.js';
|
|
17
|
+
export { listTemplates, getTemplate, saveTemplate, updateTemplate, deleteTemplate, createAgentFromTemplate, } from './agent-templates.js';
|
|
17
18
|
export { parseInputForMentions, getReferencedAgents, hasReferences, buildMessageWithContext, } from './mention-parser.js';
|
|
18
19
|
export { ContextResolver, buildContextMap } from './context-resolver.js';
|
|
19
20
|
// Agent selection
|