crewly 1.5.22 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/roles/orchestrator/fragments/role-boundary.md +4 -1
- package/config/roles/orchestrator/prompt.md +219 -25
- package/config/roles/orchestrator/soul.md +47 -10
- package/config/skills/_common/lib.sh +28 -0
- package/config/skills/agent/core/cancel-followup/SKILL.md +38 -0
- package/config/skills/agent/core/cancel-followup/execute.sh +92 -0
- package/config/skills/agent/core/cancel-followup/execute.test.sh +42 -0
- package/config/skills/agent/core/list-my-followups/SKILL.md +36 -0
- package/config/skills/agent/core/list-my-followups/execute.sh +74 -0
- package/config/skills/agent/core/list-my-followups/execute.test.sh +41 -0
- package/config/skills/agent/core/schedule-followup/SKILL.md +53 -0
- package/config/skills/agent/core/schedule-followup/execute.sh +176 -0
- package/config/skills/agent/core/schedule-followup/execute.test.sh +48 -0
- package/config/skills/agent/core/watch-for-event/SKILL.md +60 -0
- package/config/skills/agent/core/watch-for-event/execute.sh +158 -0
- package/config/skills/agent/core/watch-for-event/execute.test.sh +43 -0
- package/config/skills/orchestrator/credential-manager/SKILL.md +218 -0
- package/config/skills/orchestrator/credential-manager/execute.sh +166 -0
- package/config/skills/orchestrator/credential-manager/execute.test.sh +88 -0
- package/dist/backend/backend/src/config/oauth.config.d.ts +33 -0
- package/dist/backend/backend/src/config/oauth.config.d.ts.map +1 -0
- package/dist/backend/backend/src/config/oauth.config.js +45 -0
- package/dist/backend/backend/src/config/oauth.config.js.map +1 -0
- package/dist/backend/backend/src/controllers/credentials/credentials.controller.d.ts +54 -0
- package/dist/backend/backend/src/controllers/credentials/credentials.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/credentials/credentials.controller.js +228 -0
- package/dist/backend/backend/src/controllers/credentials/credentials.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/credentials/credentials.routes.d.ts +26 -0
- package/dist/backend/backend/src/controllers/credentials/credentials.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/credentials/credentials.routes.js +41 -0
- package/dist/backend/backend/src/controllers/credentials/credentials.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.d.ts +40 -0
- package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js +162 -0
- package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/skill/skill.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/skill/skill.controller.js +1 -0
- package/dist/backend/backend/src/controllers/skill/skill.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +23 -14
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +23 -4
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +3 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/scripts/backfill-mission-priority.d.ts +3 -1
- package/dist/backend/backend/src/scripts/backfill-mission-priority.d.ts.map +1 -1
- package/dist/backend/backend/src/scripts/backfill-mission-priority.js +16 -4
- package/dist/backend/backend/src/scripts/backfill-mission-priority.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +4 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +17 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
- package/dist/backend/backend/src/services/credential/credential-store.service.d.ts +161 -0
- package/dist/backend/backend/src/services/credential/credential-store.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/credential/credential-store.service.js +298 -0
- package/dist/backend/backend/src/services/credential/credential-store.service.js.map +1 -0
- package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts +105 -0
- package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -0
- package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +272 -0
- package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -0
- package/dist/backend/backend/src/services/mcp-server.d.ts +46 -2
- package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
- package/dist/backend/backend/src/services/mcp-server.js +216 -211
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts +254 -0
- package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts.map +1 -0
- package/dist/backend/backend/src/services/mcp-tool-definitions.js +285 -0
- package/dist/backend/backend/src/services/mcp-tool-definitions.js.map +1 -0
- package/dist/backend/backend/src/services/project/task.service.d.ts +18 -2
- package/dist/backend/backend/src/services/project/task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project/task.service.js +74 -53
- package/dist/backend/backend/src/services/project/task.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts +41 -0
- package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-executor.service.js +136 -7
- package/dist/backend/backend/src/services/skill/skill-executor.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.js +1 -0
- package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/contract-matcher.d.ts +20 -0
- package/dist/backend/backend/src/services/v3/contract-matcher.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/contract-matcher.js +33 -0
- package/dist/backend/backend/src/services/v3/contract-matcher.js.map +1 -0
- package/dist/backend/backend/src/services/v3/escalation.service.d.ts +20 -1
- package/dist/backend/backend/src/services/v3/escalation.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/escalation.service.js +97 -28
- package/dist/backend/backend/src/services/v3/escalation.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/service-contract-gate.service.d.ts +6 -4
- package/dist/backend/backend/src/services/v3/service-contract-gate.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/service-contract-gate.service.js +18 -28
- package/dist/backend/backend/src/services/v3/service-contract-gate.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.js +14 -9
- package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +34 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js +115 -5
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
- package/dist/backend/backend/src/types/credential.types.d.ts +185 -0
- package/dist/backend/backend/src/types/credential.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/credential.types.js +76 -0
- package/dist/backend/backend/src/types/credential.types.js.map +1 -0
- package/dist/backend/backend/src/types/skill.types.d.ts +9 -0
- package/dist/backend/backend/src/types/skill.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/skill.types.js.map +1 -1
- package/dist/backend/backend/src/utils/encryption.utils.d.ts +57 -0
- package/dist/backend/backend/src/utils/encryption.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/encryption.utils.js +162 -0
- package/dist/backend/backend/src/utils/encryption.utils.js.map +1 -0
- package/dist/backend/backend/src/utils/google-userinfo.utils.d.ts +41 -0
- package/dist/backend/backend/src/utils/google-userinfo.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/google-userinfo.utils.js +44 -0
- package/dist/backend/backend/src/utils/google-userinfo.utils.js.map +1 -0
- package/dist/cli/backend/src/config/oauth.config.d.ts +33 -0
- package/dist/cli/backend/src/config/oauth.config.d.ts.map +1 -0
- package/dist/cli/backend/src/config/oauth.config.js +45 -0
- package/dist/cli/backend/src/config/oauth.config.js.map +1 -0
- package/dist/cli/backend/src/services/credential/credential-store.service.d.ts +161 -0
- package/dist/cli/backend/src/services/credential/credential-store.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/credential/credential-store.service.js +298 -0
- package/dist/cli/backend/src/services/credential/credential-store.service.js.map +1 -0
- package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts +105 -0
- package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -0
- package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +272 -0
- package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -0
- package/dist/cli/backend/src/services/mcp-server.d.ts +46 -2
- package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
- package/dist/cli/backend/src/services/mcp-server.js +216 -211
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
- package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts +254 -0
- package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts.map +1 -0
- package/dist/cli/backend/src/services/mcp-tool-definitions.js +285 -0
- package/dist/cli/backend/src/services/mcp-tool-definitions.js.map +1 -0
- package/dist/cli/backend/src/services/settings/settings.service.d.ts +168 -0
- package/dist/cli/backend/src/services/settings/settings.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/settings/settings.service.js +312 -0
- package/dist/cli/backend/src/services/settings/settings.service.js.map +1 -0
- package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts +177 -0
- package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/skill/skill-executor.service.js +624 -0
- package/dist/cli/backend/src/services/skill/skill-executor.service.js.map +1 -0
- package/dist/cli/backend/src/services/skill/skill.service.d.ts +273 -0
- package/dist/cli/backend/src/services/skill/skill.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/skill/skill.service.js +655 -0
- package/dist/cli/backend/src/services/skill/skill.service.js.map +1 -0
- package/dist/cli/backend/src/types/credential.types.d.ts +185 -0
- package/dist/cli/backend/src/types/credential.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/credential.types.js +76 -0
- package/dist/cli/backend/src/types/credential.types.js.map +1 -0
- package/dist/cli/backend/src/types/skill.types.d.ts +9 -0
- package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/skill.types.js.map +1 -1
- package/dist/cli/backend/src/utils/encryption.utils.d.ts +57 -0
- package/dist/cli/backend/src/utils/encryption.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/encryption.utils.js +162 -0
- package/dist/cli/backend/src/utils/encryption.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/google-userinfo.utils.d.ts +41 -0
- package/dist/cli/backend/src/utils/google-userinfo.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/google-userinfo.utils.js +44 -0
- package/dist/cli/backend/src/utils/google-userinfo.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/skill-md-parser.d.ts +38 -0
- package/dist/cli/backend/src/utils/skill-md-parser.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/skill-md-parser.js +47 -0
- package/dist/cli/backend/src/utils/skill-md-parser.js.map +1 -0
- package/frontend/dist/assets/{index-dc92ab64.css → index-6aaa0630.css} +1 -1
- package/frontend/dist/assets/{index-76d76633.js → index-70356616.js} +334 -328
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/config/experts/empathetic-resolver/expert.json +0 -11
- package/config/experts/empathetic-resolver.md +0 -32
- package/config/experts/pragmatic-architect/expert.json +0 -11
- package/config/experts/pragmatic-architect.md +0 -32
- package/config/experts/viral-alchemist/expert.json +0 -11
- package/config/experts/viral-alchemist.md +0 -32
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Service
|
|
3
|
+
*
|
|
4
|
+
* Manages AI agent skills including loading from directories,
|
|
5
|
+
* CRUD operations, and skill matching for prompts.
|
|
6
|
+
*
|
|
7
|
+
* Skills are the evolution of the SOP (Standard Operating Procedures) system,
|
|
8
|
+
* combining prompts, scripts, environment variables, and browser automation.
|
|
9
|
+
*
|
|
10
|
+
* @module services/skill/skill.service
|
|
11
|
+
*/
|
|
12
|
+
import { Skill, SkillWithPrompt, SkillSummary, CreateSkillInput, UpdateSkillInput, SkillFilter } from '../../types/skill.types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Options for initializing the SkillService
|
|
15
|
+
*/
|
|
16
|
+
export interface SkillServiceOptions {
|
|
17
|
+
/** Directory containing built-in skills */
|
|
18
|
+
builtinSkillsDir?: string;
|
|
19
|
+
/** Directory for user-created skills */
|
|
20
|
+
userSkillsDir?: string;
|
|
21
|
+
/** Directory for marketplace-installed skills */
|
|
22
|
+
marketplaceSkillsDir?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Service for managing AI agent skills
|
|
26
|
+
*
|
|
27
|
+
* Handles:
|
|
28
|
+
* - Loading built-in skills from config/skills/
|
|
29
|
+
* - Managing user-created skills in ~/.crewly/skills/
|
|
30
|
+
* - CRUD operations for skills
|
|
31
|
+
* - Skill matching for prompts
|
|
32
|
+
* - Integration with role service for skill assignment
|
|
33
|
+
*/
|
|
34
|
+
export declare class SkillService {
|
|
35
|
+
private readonly builtinSkillsDir;
|
|
36
|
+
private readonly userSkillsDir;
|
|
37
|
+
private readonly marketplaceSkillsDir;
|
|
38
|
+
private skillsCache;
|
|
39
|
+
private initialized;
|
|
40
|
+
private readonly logger;
|
|
41
|
+
/**
|
|
42
|
+
* Create a new SkillService instance
|
|
43
|
+
*
|
|
44
|
+
* @param options - Configuration options
|
|
45
|
+
*/
|
|
46
|
+
constructor(options?: SkillServiceOptions);
|
|
47
|
+
/**
|
|
48
|
+
* Initialize the service by loading all skills
|
|
49
|
+
*
|
|
50
|
+
* Creates user skills directory if it doesn't exist and loads
|
|
51
|
+
* both built-in and user-defined skills into memory.
|
|
52
|
+
*/
|
|
53
|
+
initialize(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Get all skills, optionally filtered
|
|
56
|
+
*
|
|
57
|
+
* @param filter - Optional filter criteria
|
|
58
|
+
* @returns Array of skill summaries
|
|
59
|
+
*/
|
|
60
|
+
listSkills(filter?: SkillFilter): Promise<SkillSummary[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Get a skill by ID with full prompt content
|
|
63
|
+
*
|
|
64
|
+
* @param id - Skill identifier
|
|
65
|
+
* @returns Skill with prompt content or null if not found
|
|
66
|
+
*/
|
|
67
|
+
getSkill(id: string): Promise<SkillWithPrompt | null>;
|
|
68
|
+
/**
|
|
69
|
+
* Get skills matching a prompt/input
|
|
70
|
+
*
|
|
71
|
+
* Used by agents to find relevant skills for a task. Scores skills
|
|
72
|
+
* based on trigger matches, tag matches, name matches, and description
|
|
73
|
+
* keyword matches.
|
|
74
|
+
*
|
|
75
|
+
* @param input - User input or prompt to match against
|
|
76
|
+
* @param roleId - Optional role ID to filter by
|
|
77
|
+
* @param maxResults - Maximum number of results to return (default: 5)
|
|
78
|
+
* @returns Array of matching skills with prompt content, sorted by relevance
|
|
79
|
+
*/
|
|
80
|
+
matchSkills(input: string, roleId?: string, maxResults?: number): Promise<SkillWithPrompt[]>;
|
|
81
|
+
/**
|
|
82
|
+
* Create a new user-defined skill
|
|
83
|
+
*
|
|
84
|
+
* @param input - Skill creation input
|
|
85
|
+
* @returns The created skill
|
|
86
|
+
* @throws SkillValidationError if input is invalid
|
|
87
|
+
*/
|
|
88
|
+
createSkill(input: CreateSkillInput): Promise<Skill>;
|
|
89
|
+
/**
|
|
90
|
+
* Update an existing skill
|
|
91
|
+
*
|
|
92
|
+
* @param id - Skill identifier
|
|
93
|
+
* @param input - Update input with partial skill data
|
|
94
|
+
* @returns The updated skill
|
|
95
|
+
* @throws SkillNotFoundError if skill doesn't exist
|
|
96
|
+
* @throws BuiltinSkillModificationError if trying to modify a built-in skill
|
|
97
|
+
*/
|
|
98
|
+
updateSkill(id: string, input: UpdateSkillInput): Promise<Skill>;
|
|
99
|
+
/**
|
|
100
|
+
* Delete a user-created skill
|
|
101
|
+
*
|
|
102
|
+
* @param id - Skill identifier
|
|
103
|
+
* @throws SkillNotFoundError if skill doesn't exist
|
|
104
|
+
* @throws BuiltinSkillModificationError if trying to delete a built-in skill
|
|
105
|
+
*/
|
|
106
|
+
deleteSkill(id: string): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Enable or disable a skill
|
|
109
|
+
*
|
|
110
|
+
* @param id - Skill identifier
|
|
111
|
+
* @param enabled - Whether to enable or disable
|
|
112
|
+
* @returns The updated skill
|
|
113
|
+
*/
|
|
114
|
+
setSkillEnabled(id: string, enabled: boolean): Promise<Skill>;
|
|
115
|
+
/**
|
|
116
|
+
* Get skills assigned to a specific role
|
|
117
|
+
*
|
|
118
|
+
* @param roleId - Role identifier
|
|
119
|
+
* @returns Array of skill summaries for the role
|
|
120
|
+
*/
|
|
121
|
+
getSkillsForRole(roleId: string): Promise<SkillSummary[]>;
|
|
122
|
+
/**
|
|
123
|
+
* Refresh skills from disk (reload)
|
|
124
|
+
*
|
|
125
|
+
* Clears the cache and reloads all skills from both
|
|
126
|
+
* built-in and user directories.
|
|
127
|
+
*/
|
|
128
|
+
refresh(): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Get the count of all skills
|
|
131
|
+
*
|
|
132
|
+
* @returns Total number of skills in cache
|
|
133
|
+
*/
|
|
134
|
+
getSkillCount(): Promise<number>;
|
|
135
|
+
/**
|
|
136
|
+
* Check if a skill exists
|
|
137
|
+
*
|
|
138
|
+
* @param id - Skill identifier
|
|
139
|
+
* @returns True if skill exists
|
|
140
|
+
*/
|
|
141
|
+
skillExists(id: string): Promise<boolean>;
|
|
142
|
+
/**
|
|
143
|
+
* Ensure the service is initialized before operations
|
|
144
|
+
*/
|
|
145
|
+
private ensureInitialized;
|
|
146
|
+
/**
|
|
147
|
+
* Ensure the user skills directory exists
|
|
148
|
+
*/
|
|
149
|
+
private ensureUserSkillsDir;
|
|
150
|
+
/**
|
|
151
|
+
* Load all skills from both builtin and user directories
|
|
152
|
+
*/
|
|
153
|
+
private loadAllSkills;
|
|
154
|
+
/**
|
|
155
|
+
* Check if a directory is a skill directory (has SKILL.md or legacy skill.json).
|
|
156
|
+
*
|
|
157
|
+
* @param dir - Directory path to check
|
|
158
|
+
* @returns True if the directory contains a skill definition
|
|
159
|
+
*/
|
|
160
|
+
private isSkillDirectory;
|
|
161
|
+
/**
|
|
162
|
+
* Load skills from a directory
|
|
163
|
+
*
|
|
164
|
+
* Handles both flat structure (SKILL.md in immediate subdirs)
|
|
165
|
+
* and nested category structure (category/skill/SKILL.md).
|
|
166
|
+
*
|
|
167
|
+
* @param dir - Directory path
|
|
168
|
+
* @param isBuiltin - Whether these are built-in skills
|
|
169
|
+
* @returns Array of loaded skills
|
|
170
|
+
*/
|
|
171
|
+
private loadSkillsFromDir;
|
|
172
|
+
/**
|
|
173
|
+
* Load skills from nested directories (category/skill structure)
|
|
174
|
+
*
|
|
175
|
+
* @param categoryDir - Category directory path
|
|
176
|
+
* @param isBuiltin - Whether these are built-in skills
|
|
177
|
+
* @returns Array of loaded skills from the category
|
|
178
|
+
*/
|
|
179
|
+
private loadNestedSkills;
|
|
180
|
+
/**
|
|
181
|
+
* Load a single skill from a directory. Tries SKILL.md first,
|
|
182
|
+
* then falls back to legacy skill.json format.
|
|
183
|
+
*
|
|
184
|
+
* @param skillDir - Directory containing the skill
|
|
185
|
+
* @param isBuiltin - Whether this is a built-in skill
|
|
186
|
+
* @returns Loaded skill or null if loading fails
|
|
187
|
+
*/
|
|
188
|
+
private loadSkillFromDir;
|
|
189
|
+
/**
|
|
190
|
+
* Load a skill from SKILL.md format (YAML frontmatter + markdown body).
|
|
191
|
+
*
|
|
192
|
+
* @param skillDir - Directory containing the skill
|
|
193
|
+
* @param skillMdPath - Path to SKILL.md file
|
|
194
|
+
* @param isBuiltin - Whether this is a built-in skill
|
|
195
|
+
* @returns Loaded skill or null if loading fails
|
|
196
|
+
*/
|
|
197
|
+
private loadSkillFromSkillMd;
|
|
198
|
+
/**
|
|
199
|
+
* Load a single skill from a legacy skill.json file.
|
|
200
|
+
*
|
|
201
|
+
* @param skillDir - Directory containing the skill
|
|
202
|
+
* @param skillJsonPath - Path to skill.json file
|
|
203
|
+
* @param isBuiltin - Whether this is a built-in skill
|
|
204
|
+
* @returns Loaded skill or null if loading fails
|
|
205
|
+
*/
|
|
206
|
+
private loadSkillFromLegacyJson;
|
|
207
|
+
/**
|
|
208
|
+
* Load prompt content for a skill.
|
|
209
|
+
*
|
|
210
|
+
* For SKILL.md format, extracts the markdown body (after frontmatter).
|
|
211
|
+
* For legacy format, reads the separate instructions.md file.
|
|
212
|
+
*
|
|
213
|
+
* @param skill - Skill to load prompt for
|
|
214
|
+
* @returns Prompt content string
|
|
215
|
+
*/
|
|
216
|
+
private loadPromptContent;
|
|
217
|
+
/**
|
|
218
|
+
* Save a skill to disk in SKILL.md format (YAML frontmatter + markdown body).
|
|
219
|
+
*
|
|
220
|
+
* @param skill - Skill to save
|
|
221
|
+
* @param promptContent - Optional prompt content (markdown body)
|
|
222
|
+
*/
|
|
223
|
+
private saveSkill;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Error thrown when a skill is not found
|
|
227
|
+
*/
|
|
228
|
+
export declare class SkillNotFoundError extends Error {
|
|
229
|
+
readonly skillId: string;
|
|
230
|
+
/**
|
|
231
|
+
* Create a SkillNotFoundError
|
|
232
|
+
*
|
|
233
|
+
* @param id - ID of the skill that was not found
|
|
234
|
+
*/
|
|
235
|
+
constructor(skillId: string);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Error thrown when skill validation fails
|
|
239
|
+
*/
|
|
240
|
+
export declare class SkillValidationError extends Error {
|
|
241
|
+
readonly errors: string[];
|
|
242
|
+
/**
|
|
243
|
+
* Create a SkillValidationError
|
|
244
|
+
*
|
|
245
|
+
* @param errors - Array of validation error messages
|
|
246
|
+
*/
|
|
247
|
+
constructor(errors: string[]);
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Error thrown when attempting to modify a built-in skill
|
|
251
|
+
*/
|
|
252
|
+
export declare class BuiltinSkillModificationError extends Error {
|
|
253
|
+
readonly action: string;
|
|
254
|
+
/**
|
|
255
|
+
* Create a BuiltinSkillModificationError
|
|
256
|
+
*
|
|
257
|
+
* @param action - The action that was attempted (e.g., 'update', 'delete')
|
|
258
|
+
*/
|
|
259
|
+
constructor(action: string);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Get the singleton SkillService instance
|
|
263
|
+
*
|
|
264
|
+
* @returns The shared SkillService instance
|
|
265
|
+
*/
|
|
266
|
+
export declare function getSkillService(): SkillService;
|
|
267
|
+
/**
|
|
268
|
+
* Reset the singleton SkillService instance
|
|
269
|
+
*
|
|
270
|
+
* Used primarily for testing to ensure a clean state.
|
|
271
|
+
*/
|
|
272
|
+
export declare function resetSkillService(): void;
|
|
273
|
+
//# sourceMappingURL=skill.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/skill/skill.service.ts"],"names":[],"mappings":"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"}
|