@planu/cli 0.62.0 → 0.63.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/dist/config/ecosystem-sources.json +34 -0
- package/dist/config/license-plans.json +5 -2
- package/dist/config/skill-registries.json +26 -0
- package/dist/engine/dynamic-knowledge/context-resolver.d.ts +15 -0
- package/dist/engine/dynamic-knowledge/context-resolver.d.ts.map +1 -0
- package/dist/engine/dynamic-knowledge/context-resolver.js +80 -0
- package/dist/engine/dynamic-knowledge/context-resolver.js.map +1 -0
- package/dist/engine/dynamic-knowledge/index.d.ts +7 -0
- package/dist/engine/dynamic-knowledge/index.d.ts.map +1 -0
- package/dist/engine/dynamic-knowledge/index.js +7 -0
- package/dist/engine/dynamic-knowledge/index.js.map +1 -0
- package/dist/engine/dynamic-knowledge/knowledge-cache.d.ts +8 -0
- package/dist/engine/dynamic-knowledge/knowledge-cache.d.ts.map +1 -0
- package/dist/engine/dynamic-knowledge/knowledge-cache.js +90 -0
- package/dist/engine/dynamic-knowledge/knowledge-cache.js.map +1 -0
- package/dist/engine/dynamic-knowledge/knowledge-merger.d.ts +13 -0
- package/dist/engine/dynamic-knowledge/knowledge-merger.d.ts.map +1 -0
- package/dist/engine/dynamic-knowledge/knowledge-merger.js +135 -0
- package/dist/engine/dynamic-knowledge/knowledge-merger.js.map +1 -0
- package/dist/engine/dynamic-knowledge/query-knowledge.d.ts +17 -0
- package/dist/engine/dynamic-knowledge/query-knowledge.d.ts.map +1 -0
- package/dist/engine/dynamic-knowledge/query-knowledge.js +73 -0
- package/dist/engine/dynamic-knowledge/query-knowledge.js.map +1 -0
- package/dist/engine/dynamic-knowledge/stack-filter.d.ts +7 -0
- package/dist/engine/dynamic-knowledge/stack-filter.d.ts.map +1 -0
- package/dist/engine/dynamic-knowledge/stack-filter.js +45 -0
- package/dist/engine/dynamic-knowledge/stack-filter.js.map +1 -0
- package/dist/engine/dynamic-knowledge/web-researcher.d.ts +12 -0
- package/dist/engine/dynamic-knowledge/web-researcher.d.ts.map +1 -0
- package/dist/engine/dynamic-knowledge/web-researcher.js +189 -0
- package/dist/engine/dynamic-knowledge/web-researcher.js.map +1 -0
- package/dist/engine/ecosystem-absorber/capability-detector.d.ts +11 -0
- package/dist/engine/ecosystem-absorber/capability-detector.d.ts.map +1 -0
- package/dist/engine/ecosystem-absorber/capability-detector.js +65 -0
- package/dist/engine/ecosystem-absorber/capability-detector.js.map +1 -0
- package/dist/engine/ecosystem-absorber/ecosystem-watcher.d.ts +11 -0
- package/dist/engine/ecosystem-absorber/ecosystem-watcher.d.ts.map +1 -0
- package/dist/engine/ecosystem-absorber/ecosystem-watcher.js +57 -0
- package/dist/engine/ecosystem-absorber/ecosystem-watcher.js.map +1 -0
- package/dist/engine/ecosystem-absorber/index.d.ts +5 -0
- package/dist/engine/ecosystem-absorber/index.d.ts.map +1 -0
- package/dist/engine/ecosystem-absorber/index.js +6 -0
- package/dist/engine/ecosystem-absorber/index.js.map +1 -0
- package/dist/engine/ecosystem-absorber/knowledge-cache.d.ts +23 -0
- package/dist/engine/ecosystem-absorber/knowledge-cache.d.ts.map +1 -0
- package/dist/engine/ecosystem-absorber/knowledge-cache.js +83 -0
- package/dist/engine/ecosystem-absorber/knowledge-cache.js.map +1 -0
- package/dist/engine/ecosystem-absorber/platform-crawler.d.ts +12 -0
- package/dist/engine/ecosystem-absorber/platform-crawler.d.ts.map +1 -0
- package/dist/engine/ecosystem-absorber/platform-crawler.js +129 -0
- package/dist/engine/ecosystem-absorber/platform-crawler.js.map +1 -0
- package/dist/engine/resilience-fetcher/index.d.ts +2 -0
- package/dist/engine/resilience-fetcher/index.d.ts.map +1 -0
- package/dist/engine/resilience-fetcher/index.js +2 -0
- package/dist/engine/resilience-fetcher/index.js.map +1 -0
- package/dist/engine/resilience-fetcher/resilience-injector.d.ts +11 -0
- package/dist/engine/resilience-fetcher/resilience-injector.d.ts.map +1 -0
- package/dist/engine/resilience-fetcher/resilience-injector.js +72 -0
- package/dist/engine/resilience-fetcher/resilience-injector.js.map +1 -0
- package/dist/engine/skill-registry/agentskill-adapter.d.ts +9 -0
- package/dist/engine/skill-registry/agentskill-adapter.d.ts.map +1 -0
- package/dist/engine/skill-registry/agentskill-adapter.js +64 -0
- package/dist/engine/skill-registry/agentskill-adapter.js.map +1 -0
- package/dist/engine/skill-registry/anthropic-adapter.d.ts +11 -0
- package/dist/engine/skill-registry/anthropic-adapter.d.ts.map +1 -0
- package/dist/engine/skill-registry/anthropic-adapter.js +133 -0
- package/dist/engine/skill-registry/anthropic-adapter.js.map +1 -0
- package/dist/engine/skill-registry/discovery.d.ts +7 -0
- package/dist/engine/skill-registry/discovery.d.ts.map +1 -0
- package/dist/engine/skill-registry/discovery.js +15 -0
- package/dist/engine/skill-registry/discovery.js.map +1 -0
- package/dist/engine/skill-registry/index.d.ts +7 -0
- package/dist/engine/skill-registry/index.d.ts.map +1 -0
- package/dist/engine/skill-registry/index.js +8 -0
- package/dist/engine/skill-registry/index.js.map +1 -0
- package/dist/engine/skill-registry/installer.d.ts +22 -0
- package/dist/engine/skill-registry/installer.d.ts.map +1 -0
- package/dist/engine/skill-registry/installer.js +122 -0
- package/dist/engine/skill-registry/installer.js.map +1 -0
- package/dist/engine/skill-registry/skillssh-adapter.d.ts +7 -0
- package/dist/engine/skill-registry/skillssh-adapter.d.ts.map +1 -0
- package/dist/engine/skill-registry/skillssh-adapter.js +78 -0
- package/dist/engine/skill-registry/skillssh-adapter.js.map +1 -0
- package/dist/engine/skill-registry/unified-search.d.ts +12 -0
- package/dist/engine/skill-registry/unified-search.d.ts.map +1 -0
- package/dist/engine/skill-registry/unified-search.js +116 -0
- package/dist/engine/skill-registry/unified-search.js.map +1 -0
- package/dist/engine/spec-summary-html.d.ts +1 -1
- package/dist/engine/spec-summary-html.d.ts.map +1 -1
- package/dist/engine/spec-summary-html.js +6 -2
- package/dist/engine/spec-summary-html.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/create-spec/constitution-validator.d.ts.map +1 -1
- package/dist/tools/create-spec/constitution-validator.js +7 -13
- package/dist/tools/create-spec/constitution-validator.js.map +1 -1
- package/dist/tools/create-spec/resilience-adapter.d.ts +6 -0
- package/dist/tools/create-spec/resilience-adapter.d.ts.map +1 -0
- package/dist/tools/create-spec/resilience-adapter.js +21 -0
- package/dist/tools/create-spec/resilience-adapter.js.map +1 -0
- package/dist/tools/create-spec.d.ts.map +1 -1
- package/dist/tools/create-spec.js +47 -5
- package/dist/tools/create-spec.js.map +1 -1
- package/dist/tools/delete-spec.js +1 -1
- package/dist/tools/delete-spec.js.map +1 -1
- package/dist/tools/ecosystem-status.d.ts +7 -0
- package/dist/tools/ecosystem-status.d.ts.map +1 -0
- package/dist/tools/ecosystem-status.js +69 -0
- package/dist/tools/ecosystem-status.js.map +1 -0
- package/dist/tools/list-specs.js +1 -1
- package/dist/tools/list-specs.js.map +1 -1
- package/dist/tools/register-ecosystem-tools.d.ts +7 -0
- package/dist/tools/register-ecosystem-tools.d.ts.map +1 -0
- package/dist/tools/register-ecosystem-tools.js +20 -0
- package/dist/tools/register-ecosystem-tools.js.map +1 -0
- package/dist/tools/register-skill-registry-tools.d.ts +3 -0
- package/dist/tools/register-skill-registry-tools.d.ts.map +1 -0
- package/dist/tools/register-skill-registry-tools.js +40 -0
- package/dist/tools/register-skill-registry-tools.js.map +1 -0
- package/dist/tools/schemas/ecosystem-schemas.d.ts +6 -0
- package/dist/tools/schemas/ecosystem-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/ecosystem-schemas.js +10 -0
- package/dist/tools/schemas/ecosystem-schemas.js.map +1 -0
- package/dist/tools/schemas/index.d.ts +2 -0
- package/dist/tools/schemas/index.d.ts.map +1 -1
- package/dist/tools/schemas/index.js +2 -0
- package/dist/tools/schemas/index.js.map +1 -1
- package/dist/tools/schemas/skill-registry-schemas.d.ts +15 -0
- package/dist/tools/schemas/skill-registry-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/skill-registry-schemas.js +45 -0
- package/dist/tools/schemas/skill-registry-schemas.js.map +1 -0
- package/dist/tools/skill-registry/index.d.ts +3 -0
- package/dist/tools/skill-registry/index.d.ts.map +1 -0
- package/dist/tools/skill-registry/index.js +4 -0
- package/dist/tools/skill-registry/index.js.map +1 -0
- package/dist/tools/skill-registry/install.d.ts +7 -0
- package/dist/tools/skill-registry/install.d.ts.map +1 -0
- package/dist/tools/skill-registry/install.js +42 -0
- package/dist/tools/skill-registry/install.js.map +1 -0
- package/dist/tools/skill-registry/search.d.ts +8 -0
- package/dist/tools/skill-registry/search.d.ts.map +1 -0
- package/dist/tools/skill-registry/search.js +45 -0
- package/dist/tools/skill-registry/search.js.map +1 -0
- package/dist/tools/update-status.js +1 -1
- package/dist/tools/update-status.js.map +1 -1
- package/dist/types/dynamic-knowledge.d.ts +47 -0
- package/dist/types/dynamic-knowledge.d.ts.map +1 -0
- package/dist/types/dynamic-knowledge.js +11 -0
- package/dist/types/dynamic-knowledge.js.map +1 -0
- package/dist/types/ecosystem.d.ts +45 -0
- package/dist/types/ecosystem.d.ts.map +1 -0
- package/dist/types/ecosystem.js +3 -0
- package/dist/types/ecosystem.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/skill-registry.d.ts +162 -0
- package/dist/types/skill-registry.d.ts.map +1 -0
- package/dist/types/skill-registry.js +3 -0
- package/dist/types/skill-registry.js.map +1 -0
- package/package.json +1 -1
- package/src/config/ecosystem-sources.json +34 -0
- package/src/config/license-plans.json +5 -2
- package/src/config/skill-registries.json +26 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ti } from '../i18n/index.js';
|
|
2
2
|
import { knowledgeStore, specStore } from '../storage/index.js';
|
|
3
3
|
import { describeFilters, isExtendedChallenge } from '../engine/scope-filter.js';
|
|
4
|
+
import { formatSuccess, addNextSteps, toolResult } from './response-helpers.js';
|
|
4
5
|
import { generateHUContent } from './create-spec-hu.js';
|
|
5
6
|
import { buildAgentHuSection } from './create-spec/agent-spec-adapter.js';
|
|
6
7
|
import { isMcpSpec, buildMcpHuSection } from './create-spec/mcp-spec-adapter.js';
|
|
@@ -15,6 +16,7 @@ import { generateProgressContent } from '../engine/progress-writer.js';
|
|
|
15
16
|
import { generatePerSpecExecutiveReport, generatePerSpecTechnicalReport, } from '../engine/doc-generator/per-spec-report/index.js';
|
|
16
17
|
import { buildSpecContext, buildSplitResult } from './create-spec/spec-builder.js';
|
|
17
18
|
import { validateConstitution } from './create-spec/constitution-validator.js';
|
|
19
|
+
import { buildResilienceSection } from './create-spec/resilience-adapter.js';
|
|
18
20
|
import { setupGitBranch, checkContradictions, fireSpecCreatedHook, generatePostCreationSuggestions, } from './create-spec/post-creation.js';
|
|
19
21
|
import { regenerateSpecSummaryHtml } from '../engine/spec-summary-html.js';
|
|
20
22
|
import { notifyStoreChange } from '../engine/doc-generator/portal/regen-hook.js';
|
|
@@ -51,9 +53,11 @@ export async function handleCreateSpec(params) {
|
|
|
51
53
|
const depWarnings = knowledge?.projectPath && knowledge.projectPath.length > 0
|
|
52
54
|
? await runPreSpecDepCheck(knowledge.projectPath, knowledge)
|
|
53
55
|
: undefined;
|
|
56
|
+
const resilienceSection = await buildResilienceSection(spec.target, spec.scope, knowledge?.stack ?? []);
|
|
54
57
|
const huContent = generateHUContent(spec, description, knowledge, undefined, teamScale, depWarnings) +
|
|
55
58
|
agentSection +
|
|
56
|
-
mcpSection
|
|
59
|
+
mcpSection +
|
|
60
|
+
resilienceSection;
|
|
57
61
|
const fichaTecnicaContent = generateFichaTecnicaContent(spec, description, estimation, knowledge, diagrams, teamScale);
|
|
58
62
|
await writeFile(specPath, huContent, 'utf-8');
|
|
59
63
|
await writeFile(technicalPath, fichaTecnicaContent, 'utf-8');
|
|
@@ -172,12 +176,50 @@ export async function handleCreateSpec(params) {
|
|
|
172
176
|
// Auto-regenerate planu/index.html (fire-and-forget)
|
|
173
177
|
if (params.projectPath) {
|
|
174
178
|
const allSpecs = await specStore.listSpecs(projectId);
|
|
175
|
-
void regenerateSpecSummaryHtml(params.projectPath, allSpecs);
|
|
179
|
+
void regenerateSpecSummaryHtml(params.projectPath, allSpecs, [String(result.specId)]);
|
|
176
180
|
notifyStoreChange(params.projectPath, 'specs');
|
|
177
181
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
182
|
+
// Build markdown response
|
|
183
|
+
const lines = [
|
|
184
|
+
`**SPEC-${spec.id}** — ${spec.title}`,
|
|
185
|
+
'',
|
|
186
|
+
`| Field | Value |`,
|
|
187
|
+
`|-------|-------|`,
|
|
188
|
+
`| Type | ${spec.type} |`,
|
|
189
|
+
`| Scope | ${spec.scope} |`,
|
|
190
|
+
`| Difficulty | ${String(spec.difficulty)}/5 |`,
|
|
191
|
+
`| Risk | ${spec.risk} |`,
|
|
192
|
+
`| Target | ${spec.target} |`,
|
|
193
|
+
`| Status | ${spec.status} |`,
|
|
194
|
+
`| Tags | ${spec.tags.join(', ')} |`,
|
|
195
|
+
`| Dev hours | ${String(estimation.devHours)}h |`,
|
|
196
|
+
`| Review hours | ${String(estimation.reviewHours)}h |`,
|
|
197
|
+
`| Cost | $${String(estimation.totalCostUsd)} |`,
|
|
198
|
+
];
|
|
199
|
+
if (spec.gitBranch) {
|
|
200
|
+
lines.push(`| Branch | \`${spec.gitBranch}\` |`);
|
|
201
|
+
}
|
|
202
|
+
if (duplicate) {
|
|
203
|
+
lines.push('', `⚠️ ${ti('spec.duplicateTitle', { title: spec.title, slug: spec.slug })}`);
|
|
204
|
+
}
|
|
205
|
+
if (constitutionCheck.warnings.length > 0) {
|
|
206
|
+
lines.push('', '⚠️ **Constitution Warnings**');
|
|
207
|
+
constitutionCheck.warnings.forEach((w) => lines.push(`- ${w.description}`));
|
|
208
|
+
}
|
|
209
|
+
if (contradictionHint) {
|
|
210
|
+
lines.push('', `⚠️ ${contradictionHint}`);
|
|
211
|
+
}
|
|
212
|
+
if (result.riskWarning) {
|
|
213
|
+
lines.push('', `⚠️ ${result.riskWarning}`);
|
|
214
|
+
}
|
|
215
|
+
if (splitResult) {
|
|
216
|
+
lines.push('', `💡 ${splitResult.formatted ?? 'Consider splitting this spec.'}`);
|
|
217
|
+
}
|
|
218
|
+
const allNextSteps = result.nextSteps ?? [];
|
|
219
|
+
const markdownText = allNextSteps.length > 0
|
|
220
|
+
? addNextSteps(formatSuccess(ti('tools.create_spec.success', { id: spec.id, title: spec.title }), lines.join('\n')), allNextSteps)
|
|
221
|
+
: formatSuccess(ti('tools.create_spec.success', { id: spec.id, title: spec.title }), lines.join('\n'));
|
|
222
|
+
return toolResult(markdownText, result);
|
|
181
223
|
}
|
|
182
224
|
catch (error) {
|
|
183
225
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export async function handleDeleteSpec(params) {
|
|
|
37
37
|
// Regenerate dashboard after successful deletion (best-effort, non-blocking)
|
|
38
38
|
void specStore
|
|
39
39
|
.listSpecs(projectId)
|
|
40
|
-
.then((specs) => regenerateSpecSummaryHtml(params.projectRoot, specs));
|
|
40
|
+
.then((specs) => regenerateSpecSummaryHtml(params.projectRoot, specs, []));
|
|
41
41
|
return {
|
|
42
42
|
content: [
|
|
43
43
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-spec.js","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;yBACnF,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,KAAK,SAAS;aACX,SAAS,CAAC,SAAS,CAAC;aACpB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-spec.js","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;yBACnF,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,KAAK,SAAS;aACX,SAAS,CAAC,SAAS,CAAC;aACpB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;qBAClF,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ToolResult, EcosystemStatusInput } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handle the ecosystem_status tool invocation.
|
|
4
|
+
* Returns markdown summary of ecosystem sources, discoveries, and suggestions.
|
|
5
|
+
*/
|
|
6
|
+
export declare function handleEcosystemStatus(input: EcosystemStatusInput): Promise<ToolResult>;
|
|
7
|
+
//# sourceMappingURL=ecosystem-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem-status.d.ts","sourceRoot":"","sources":["../../src/tools/ecosystem-status.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAmB,MAAM,mBAAmB,CAAC;AAkC3F;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgD5F"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// tools/ecosystem-status.ts — Handler for ecosystem_status MCP tool (SPEC-151)
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { runEcosystemWatcher, rankCapabilities, extractSuggestions, } from '../engine/ecosystem-absorber/index.js';
|
|
5
|
+
import { formatSuccess, toolResult } from './response-helpers.js';
|
|
6
|
+
function loadSources() {
|
|
7
|
+
try {
|
|
8
|
+
const configPath = join(process.cwd(), 'src', 'config', 'ecosystem-sources.json');
|
|
9
|
+
const raw = readFileSync(configPath, 'utf-8');
|
|
10
|
+
return JSON.parse(raw);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function buildSourcesTable(sources, lastCrawled) {
|
|
17
|
+
const rows = sources.map((s) => {
|
|
18
|
+
const last = lastCrawled[s.id] ?? 'Never';
|
|
19
|
+
const status = s.enabled ? 'enabled' : 'disabled';
|
|
20
|
+
return `| ${s.name} | ${s.type} | ${String(s.crawlIntervalHours)}h | ${status} | ${last} |`;
|
|
21
|
+
});
|
|
22
|
+
return [
|
|
23
|
+
'| Source | Type | Interval | Status | Last Crawled |',
|
|
24
|
+
'|--------|------|----------|--------|--------------|',
|
|
25
|
+
...rows,
|
|
26
|
+
].join('\n');
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Handle the ecosystem_status tool invocation.
|
|
30
|
+
* Returns markdown summary of ecosystem sources, discoveries, and suggestions.
|
|
31
|
+
*/
|
|
32
|
+
export async function handleEcosystemStatus(input) {
|
|
33
|
+
const sources = loadSources();
|
|
34
|
+
if (sources.length === 0) {
|
|
35
|
+
return toolResult('No ecosystem sources configured. Check src/config/ecosystem-sources.json.', undefined, true);
|
|
36
|
+
}
|
|
37
|
+
const forceRefresh = input.refresh === true;
|
|
38
|
+
const summary = await runEcosystemWatcher(sources, forceRefresh);
|
|
39
|
+
const stackHints = [];
|
|
40
|
+
const topCapabilities = rankCapabilities(summary.capabilities, stackHints, 5);
|
|
41
|
+
const suggestions = extractSuggestions(topCapabilities);
|
|
42
|
+
const body = [
|
|
43
|
+
'## Sources',
|
|
44
|
+
'',
|
|
45
|
+
buildSourcesTable(sources, summary.lastCrawled),
|
|
46
|
+
'',
|
|
47
|
+
`## Discovery Summary`,
|
|
48
|
+
'',
|
|
49
|
+
`- **Total capabilities tracked**: ${String(summary.totalCapabilities)}`,
|
|
50
|
+
`- **New this crawl**: ${String(summary.newCapabilities)}`,
|
|
51
|
+
`- **Sources crawled**: ${summary.crawledSources.join(', ') || 'None (cache fresh)'}`,
|
|
52
|
+
`- **Sources skipped (cache fresh)**: ${summary.skippedSources.join(', ') || 'None'}`,
|
|
53
|
+
];
|
|
54
|
+
if (topCapabilities.length > 0) {
|
|
55
|
+
body.push('', '## Recent Discoveries', '');
|
|
56
|
+
for (const cap of topCapabilities) {
|
|
57
|
+
body.push(`- **[${cap.category}]** ${cap.name} (relevance: ${String(cap.relevance)}) — ${cap.source}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (suggestions.length > 0) {
|
|
61
|
+
body.push('', '## Suggestions', '');
|
|
62
|
+
for (const s of suggestions) {
|
|
63
|
+
body.push(`- ${s}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const text = formatSuccess('Ecosystem Status', body.join('\n'));
|
|
67
|
+
return toolResult(text);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=ecosystem-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem-status.js","sourceRoot":"","sources":["../../src/tools/ecosystem-status.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/list-specs.js
CHANGED
|
@@ -152,7 +152,7 @@ export async function handleListSpecs(params) {
|
|
|
152
152
|
};
|
|
153
153
|
// Auto-regenerate planu/index.html (best-effort, non-blocking)
|
|
154
154
|
if (knowledge.projectPath) {
|
|
155
|
-
void regenerateSpecSummaryHtml(knowledge.projectPath, allSpecs);
|
|
155
|
+
void regenerateSpecSummaryHtml(knowledge.projectPath, allSpecs, []);
|
|
156
156
|
}
|
|
157
157
|
return {
|
|
158
158
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-specs.js","sourceRoot":"","sources":["../../src/tools/list-specs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"list-specs.js","sourceRoot":"","sources":["../../src/tools/list-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Registers the ecosystem_status tool on the MCP server.
|
|
4
|
+
* Free tier, read-only — no writes to user files.
|
|
5
|
+
*/
|
|
6
|
+
export declare function registerEcosystemTools(server: McpServer): void;
|
|
7
|
+
//# sourceMappingURL=register-ecosystem-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-ecosystem-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-ecosystem-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgB9D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// tools/register-ecosystem-tools.ts — Register ecosystem_status tool (SPEC-151)
|
|
2
|
+
import { EcosystemStatusInputSchema } from './schemas/ecosystem-schemas.js';
|
|
3
|
+
import { handleEcosystemStatus } from './ecosystem-status.js';
|
|
4
|
+
/**
|
|
5
|
+
* Registers the ecosystem_status tool on the MCP server.
|
|
6
|
+
* Free tier, read-only — no writes to user files.
|
|
7
|
+
*/
|
|
8
|
+
export function registerEcosystemTools(server) {
|
|
9
|
+
server.registerTool('ecosystem_status', {
|
|
10
|
+
description: 'Scan external ecosystem sources (Claude platform, GitHub, skill registries) for new capabilities, patterns, and integration opportunities. Returns a markdown report with discoveries and actionable suggestions for your project.',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
projectPath: EcosystemStatusInputSchema.shape.projectPath,
|
|
13
|
+
refresh: EcosystemStatusInputSchema.shape.refresh,
|
|
14
|
+
},
|
|
15
|
+
annotations: {
|
|
16
|
+
readOnlyHint: true,
|
|
17
|
+
},
|
|
18
|
+
}, async (args) => handleEcosystemStatus(args));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=register-ecosystem-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-ecosystem-tools.js","sourceRoot":"","sources":["../../src/tools/register-ecosystem-tools.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAGhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,oOAAoO;QACtO,WAAW,EAAE;YACX,WAAW,EAAE,0BAA0B,CAAC,KAAK,CAAC,WAAW;YACzD,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,OAAO;SAClD;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;SACnB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAA4B,CAAC,CACpE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-skill-registry-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-skill-registry-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2ClE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// tools/register-skill-registry-tools.ts — Registers SPEC-150 skill registry tools
|
|
2
|
+
// skill_search: free tier (safeTracked), readOnlyHint: true
|
|
3
|
+
// skill_install: free tier (safeTracked), writes new files without overwriting
|
|
4
|
+
import { safeTracked } from './safe-handler.js';
|
|
5
|
+
import { SkillSearchInputSchema, SkillInstallInputSchema, } from './schemas/skill-registry-schemas.js';
|
|
6
|
+
import { handleSkillSearch, handleSkillInstall } from './skill-registry/index.js';
|
|
7
|
+
export function registerSkillRegistryTools(server) {
|
|
8
|
+
// skill_search (free)
|
|
9
|
+
server.registerTool('skill_search', {
|
|
10
|
+
description: 'Search for installable Claude skills across multiple registries (Anthropic, AgentSkill.sh, Skills.sh). ' +
|
|
11
|
+
'Filter by technology stack, restrict to a specific registry, or search all at once. ' +
|
|
12
|
+
'Returns ranked results with install commands ready to use.',
|
|
13
|
+
inputSchema: {
|
|
14
|
+
query: SkillSearchInputSchema.shape.query,
|
|
15
|
+
registry: SkillSearchInputSchema.shape.registry,
|
|
16
|
+
stack: SkillSearchInputSchema.shape.stack,
|
|
17
|
+
limit: SkillSearchInputSchema.shape.limit,
|
|
18
|
+
},
|
|
19
|
+
annotations: {
|
|
20
|
+
title: 'Skill Search',
|
|
21
|
+
readOnlyHint: true,
|
|
22
|
+
},
|
|
23
|
+
}, safeTracked('skill_search', async (args) => handleSkillSearch(args)));
|
|
24
|
+
// skill_install (free)
|
|
25
|
+
server.registerTool('skill_install', {
|
|
26
|
+
description: "Install a skill from a registry into a project's .claude/skills/ directory. " +
|
|
27
|
+
'Detects the source registry from the skill name prefix if not specified. ' +
|
|
28
|
+
'Skips installation if the skill is already present and warns about executable scripts.',
|
|
29
|
+
inputSchema: {
|
|
30
|
+
name: SkillInstallInputSchema.shape.name,
|
|
31
|
+
registry: SkillInstallInputSchema.shape.registry,
|
|
32
|
+
projectPath: SkillInstallInputSchema.shape.projectPath,
|
|
33
|
+
},
|
|
34
|
+
annotations: {
|
|
35
|
+
title: 'Skill Install',
|
|
36
|
+
destructiveHint: false,
|
|
37
|
+
},
|
|
38
|
+
}, safeTracked('skill_install', async (args) => handleSkillInstall(args)));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=register-skill-registry-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-skill-registry-tools.js","sourceRoot":"","sources":["../../src/tools/register-skill-registry-tools.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,4DAA4D;AAC5D,+EAA+E;AAG/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAElF,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EACT,yGAAyG;YACzG,sFAAsF;YACtF,4DAA4D;QAC9D,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK;YACzC,QAAQ,EAAE,sBAAsB,CAAC,KAAK,CAAC,QAAQ;YAC/C,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK;YACzC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK;SAC1C;QACD,WAAW,EAAE;YACX,KAAK,EAAE,cAAc;YACrB,YAAY,EAAE,IAAI;SACnB;KACF,EACD,WAAW,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CACrE,CAAC;IAEF,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,8EAA8E;YAC9E,2EAA2E;YAC3E,wFAAwF;QAC1F,WAAW,EAAE;YACX,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC,IAAI;YACxC,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,QAAQ;YAChD,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,WAAW;SACvD;QACD,WAAW,EAAE;YACX,KAAK,EAAE,eAAe;YACtB,eAAe,EAAE,KAAK;SACvB;KACF,EACD,WAAW,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem-schemas.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/ecosystem-schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,0BAA0B;;;iBAQrC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// tools/schemas/ecosystem-schemas.ts — Zod schemas for ecosystem_status tool (SPEC-151)
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export const EcosystemStatusInputSchema = z.object({
|
|
4
|
+
projectPath: z.string().min(1).max(4096).describe('Absolute path to the project root directory'),
|
|
5
|
+
refresh: z
|
|
6
|
+
.boolean()
|
|
7
|
+
.optional()
|
|
8
|
+
.describe('Force re-crawl all sources even if cache is still fresh. Default: false (uses cached data when TTL not expired)'),
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=ecosystem-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem-schemas.js","sourceRoot":"","sources":["../../../src/tools/schemas/ecosystem-schemas.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAChG,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,iHAAiH,CAClH;CACJ,CAAC,CAAC"}
|
|
@@ -15,4 +15,6 @@ export { ConfigureLLMProvidersActionEnum, LoadBalancingStrategyEnum, } from './l
|
|
|
15
15
|
export { PluginActionEnum } from './plugins-schemas.js';
|
|
16
16
|
export { ListSpecsOutputSchema, EstimateOutputSchema, ValidateOutputSchema, CheckReadinessOutputSchema, LicenseStatusOutputSchema, } from './output-schemas.js';
|
|
17
17
|
export { CreatePRFromSpecSchema, PRStatusSchema, ReviewPRSchema, CreateReleaseSchema, GenerateChangelogSchema, } from './github.js';
|
|
18
|
+
export { SkillSearchInputSchema, SkillInstallInputSchema } from './skill-registry-schemas.js';
|
|
19
|
+
export { EcosystemStatusInputSchema } from './ecosystem-schemas.js';
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -16,4 +16,6 @@ export { ConfigureLLMProvidersActionEnum, LoadBalancingStrategyEnum, } from './l
|
|
|
16
16
|
export { PluginActionEnum } from './plugins-schemas.js';
|
|
17
17
|
export { ListSpecsOutputSchema, EstimateOutputSchema, ValidateOutputSchema, CheckReadinessOutputSchema, LicenseStatusOutputSchema, } from './output-schemas.js';
|
|
18
18
|
export { CreatePRFromSpecSchema, PRStatusSchema, ReviewPRSchema, CreateReleaseSchema, GenerateChangelogSchema, } from './github.js';
|
|
19
|
+
export { SkillSearchInputSchema, SkillInstallInputSchema } from './skill-registry-schemas.js';
|
|
20
|
+
export { EcosystemStatusInputSchema } from './ecosystem-schemas.js';
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/schemas/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/schemas/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Input schema for registry_search_skills tool. */
|
|
3
|
+
export declare const SkillSearchInputSchema: z.ZodObject<{
|
|
4
|
+
query: z.ZodString;
|
|
5
|
+
registry: z.ZodOptional<z.ZodString>;
|
|
6
|
+
stack: z.ZodOptional<z.ZodString>;
|
|
7
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
/** Input schema for registry_install_skill tool. */
|
|
10
|
+
export declare const SkillInstallInputSchema: z.ZodObject<{
|
|
11
|
+
name: z.ZodString;
|
|
12
|
+
registry: z.ZodOptional<z.ZodString>;
|
|
13
|
+
projectPath: z.ZodString;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
//# sourceMappingURL=skill-registry-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-registry-schemas.d.ts","sourceRoot":"","sources":["../../../src/tools/schemas/skill-registry-schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oDAAoD;AACpD,eAAO,MAAM,sBAAsB;;;;;iBA4BjC,CAAC;AAEH,oDAAoD;AACpD,eAAO,MAAM,uBAAuB;;;;iBAsBlC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// schemas/skill-registry-schemas.ts — Zod schemas for SPEC-150 skill registry tools
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
/** Input schema for registry_search_skills tool. */
|
|
4
|
+
export const SkillSearchInputSchema = z.object({
|
|
5
|
+
query: z
|
|
6
|
+
.string()
|
|
7
|
+
.min(1)
|
|
8
|
+
.max(500)
|
|
9
|
+
.describe('Free-text search query to find skills across registries (e.g. "frontend design", "auth oauth", "stripe payments")'),
|
|
10
|
+
registry: z
|
|
11
|
+
.string()
|
|
12
|
+
.max(100)
|
|
13
|
+
.optional()
|
|
14
|
+
.describe('Registry ID to restrict search to, or omit to search all enabled registries. Valid values: anthropic | agentskill | skillssh | all'),
|
|
15
|
+
stack: z
|
|
16
|
+
.string()
|
|
17
|
+
.max(200)
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('Filter results by technology stack (e.g. "next.js", "react", "node", "python", "go")'),
|
|
20
|
+
limit: z
|
|
21
|
+
.number()
|
|
22
|
+
.min(1)
|
|
23
|
+
.max(50)
|
|
24
|
+
.default(10)
|
|
25
|
+
.describe('Maximum number of results to return, between 1 and 50 (default: 10)'),
|
|
26
|
+
});
|
|
27
|
+
/** Input schema for registry_install_skill tool. */
|
|
28
|
+
export const SkillInstallInputSchema = z.object({
|
|
29
|
+
name: z
|
|
30
|
+
.string()
|
|
31
|
+
.min(1)
|
|
32
|
+
.max(500)
|
|
33
|
+
.describe('Skill identifier in source/skill-name format (e.g. "anthropic/frontend-design", "agentskill/stripe-payments")'),
|
|
34
|
+
registry: z
|
|
35
|
+
.string()
|
|
36
|
+
.max(100)
|
|
37
|
+
.optional()
|
|
38
|
+
.describe('Registry ID to install from. If omitted, the registry is inferred from the skill name prefix. Valid values: anthropic | agentskill | skillssh'),
|
|
39
|
+
projectPath: z
|
|
40
|
+
.string()
|
|
41
|
+
.min(1)
|
|
42
|
+
.max(2000)
|
|
43
|
+
.describe('Absolute path to the project root where the skill will be installed (e.g. "/home/user/my-project")'),
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=skill-registry-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-registry-schemas.js","sourceRoot":"","sources":["../../../src/tools/schemas/skill-registry-schemas.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oDAAoD;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,mHAAmH,CACpH;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oIAAoI,CACrI;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sFAAsF,CACvF;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,qEAAqE,CAAC;CACnF,CAAC,CAAC;AAEH,oDAAoD;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,+GAA+G,CAChH;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+IAA+I,CAChJ;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CACP,oGAAoG,CACrG;CACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/skill-registry/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/skill-registry/index.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/tools/skill-registry/install.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,sBAAsB,CAAC;AAK3E,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyCtB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// tools/skill-registry/install.ts — Handler for skill_install tool (SPEC-150)
|
|
2
|
+
import { installSkill, isSkillInstalled } from '../../engine/skill-registry/index.js';
|
|
3
|
+
import { formatSuccess, formatWarning, toolResult } from '../response-helpers.js';
|
|
4
|
+
import { ti } from '../../i18n/index.js';
|
|
5
|
+
export async function handleSkillInstall(params) {
|
|
6
|
+
try {
|
|
7
|
+
const alreadyInstalled = await isSkillInstalled(params.projectPath, params.name);
|
|
8
|
+
if (alreadyInstalled) {
|
|
9
|
+
return toolResult(formatWarning('Skill already installed', `**${params.name}** is already in .claude/skills/. Use force to reinstall.`));
|
|
10
|
+
}
|
|
11
|
+
const source = params.registry ?? detectSource(params.name);
|
|
12
|
+
const result = await installSkill(params.name, source, params.projectPath);
|
|
13
|
+
const lines = [
|
|
14
|
+
`**${result.name}** installed from ${result.source}`,
|
|
15
|
+
'',
|
|
16
|
+
`Path: \`${result.installedPath}\``,
|
|
17
|
+
`Files: ${result.filesWritten.join(', ')}`,
|
|
18
|
+
];
|
|
19
|
+
if (result.version) {
|
|
20
|
+
lines.push(`Version: ${result.version}`);
|
|
21
|
+
}
|
|
22
|
+
if (result.hasScripts) {
|
|
23
|
+
lines.push('');
|
|
24
|
+
lines.push('Warning: This skill includes executable scripts in `scripts/`. Review them before running.');
|
|
25
|
+
}
|
|
26
|
+
return toolResult(formatSuccess('Skill installed', lines.join('\n')), result);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
30
|
+
return toolResult(ti('errors.internalError', { message: msg }), undefined, true);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function detectSource(name) {
|
|
34
|
+
if (name.startsWith('anthropics/') || name.startsWith('anthropic/')) {
|
|
35
|
+
return 'anthropic';
|
|
36
|
+
}
|
|
37
|
+
if (name.includes('/')) {
|
|
38
|
+
return 'skillssh';
|
|
39
|
+
}
|
|
40
|
+
return 'anthropic';
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/tools/skill-registry/install.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAIxC;IACC,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,UAAU,CACf,aAAa,CACX,yBAAyB,EACzB,KAAK,MAAM,CAAC,IAAI,2DAA2D,CAC5E,CACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAuB,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAE/F,MAAM,KAAK,GAAa;YACtB,KAAK,MAAM,CAAC,IAAI,qBAAqB,MAAM,CAAC,MAAM,EAAE;YACpD,EAAE;YACF,WAAW,MAAM,CAAC,aAAa,IAAI;YACnC,UAAU,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC3C,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CACR,4FAA4F,CAC7F,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CACf,aAAa,CAAC,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAClD,MAA4C,CAC7C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpE,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/tools/skill-registry/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAA0C,MAAM,sBAAsB,CAAC;AAe/F,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwCtB"}
|