@cleocode/caamp 0.3.0 → 0.4.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/README.md +18 -2
- package/dist/{chunk-PCWTRJV2.js → chunk-ZYINKJDE.js} +805 -46
- package/dist/chunk-ZYINKJDE.js.map +1 -0
- package/dist/cli.js +966 -34
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +275 -21
- package/dist/index.js +31 -1
- package/package.json +2 -1
- package/dist/chunk-PCWTRJV2.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -930,6 +930,267 @@ interface ValidationResult {
|
|
|
930
930
|
*/
|
|
931
931
|
declare function validateSkill(filePath: string): Promise<ValidationResult>;
|
|
932
932
|
|
|
933
|
+
/**
|
|
934
|
+
* Marketplace types shared between adapters
|
|
935
|
+
*/
|
|
936
|
+
interface MarketplaceAdapter {
|
|
937
|
+
name: string;
|
|
938
|
+
search(query: string, limit?: number): Promise<MarketplaceResult[]>;
|
|
939
|
+
getSkill(scopedName: string): Promise<MarketplaceResult | null>;
|
|
940
|
+
}
|
|
941
|
+
interface MarketplaceResult {
|
|
942
|
+
name: string;
|
|
943
|
+
scopedName: string;
|
|
944
|
+
description: string;
|
|
945
|
+
author: string;
|
|
946
|
+
stars: number;
|
|
947
|
+
githubUrl: string;
|
|
948
|
+
repoFullName: string;
|
|
949
|
+
path: string;
|
|
950
|
+
source: string;
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
declare const RECOMMENDATION_ERROR_CODES: {
|
|
954
|
+
readonly QUERY_INVALID: "E_SKILLS_QUERY_INVALID";
|
|
955
|
+
readonly NO_MATCHES: "E_SKILLS_NO_MATCHES";
|
|
956
|
+
readonly SOURCE_UNAVAILABLE: "E_SKILLS_SOURCE_UNAVAILABLE";
|
|
957
|
+
readonly CRITERIA_CONFLICT: "E_SKILLS_CRITERIA_CONFLICT";
|
|
958
|
+
};
|
|
959
|
+
type RecommendationErrorCode = (typeof RECOMMENDATION_ERROR_CODES)[keyof typeof RECOMMENDATION_ERROR_CODES];
|
|
960
|
+
interface RecommendationValidationIssue {
|
|
961
|
+
code: RecommendationErrorCode;
|
|
962
|
+
field: "query" | "mustHave" | "prefer" | "exclude";
|
|
963
|
+
message: string;
|
|
964
|
+
}
|
|
965
|
+
interface RecommendationValidationResult {
|
|
966
|
+
valid: boolean;
|
|
967
|
+
issues: RecommendationValidationIssue[];
|
|
968
|
+
}
|
|
969
|
+
interface RecommendationCriteriaInput {
|
|
970
|
+
query?: string;
|
|
971
|
+
mustHave?: string | string[];
|
|
972
|
+
prefer?: string | string[];
|
|
973
|
+
exclude?: string | string[];
|
|
974
|
+
}
|
|
975
|
+
interface NormalizedRecommendationCriteria {
|
|
976
|
+
query: string;
|
|
977
|
+
queryTokens: string[];
|
|
978
|
+
mustHave: string[];
|
|
979
|
+
prefer: string[];
|
|
980
|
+
exclude: string[];
|
|
981
|
+
}
|
|
982
|
+
type RecommendationReasonCode = "MATCH_TOPIC_GITBOOK" | "HAS_GIT_SYNC" | "HAS_API_WORKFLOW" | "PENALTY_LEGACY_CLI" | "MUST_HAVE_MATCH" | "MISSING_MUST_HAVE" | "PREFER_MATCH" | "QUERY_MATCH" | "STAR_SIGNAL" | "METADATA_SIGNAL" | "MODERN_MARKER" | "LEGACY_MARKER" | "EXCLUDE_MATCH";
|
|
983
|
+
interface RecommendationReason {
|
|
984
|
+
code: RecommendationReasonCode;
|
|
985
|
+
detail?: string;
|
|
986
|
+
}
|
|
987
|
+
interface RecommendationScoreBreakdown {
|
|
988
|
+
mustHave: number;
|
|
989
|
+
prefer: number;
|
|
990
|
+
query: number;
|
|
991
|
+
stars: number;
|
|
992
|
+
metadata: number;
|
|
993
|
+
modernity: number;
|
|
994
|
+
exclusionPenalty: number;
|
|
995
|
+
total: number;
|
|
996
|
+
}
|
|
997
|
+
interface RankedSkillRecommendation {
|
|
998
|
+
skill: MarketplaceResult;
|
|
999
|
+
score: number;
|
|
1000
|
+
reasons: RecommendationReason[];
|
|
1001
|
+
tradeoffs: string[];
|
|
1002
|
+
excluded: boolean;
|
|
1003
|
+
breakdown?: RecommendationScoreBreakdown;
|
|
1004
|
+
}
|
|
1005
|
+
interface RecommendationOptions {
|
|
1006
|
+
top?: number;
|
|
1007
|
+
includeDetails?: boolean;
|
|
1008
|
+
weights?: Partial<RecommendationWeights>;
|
|
1009
|
+
modernMarkers?: string[];
|
|
1010
|
+
legacyMarkers?: string[];
|
|
1011
|
+
}
|
|
1012
|
+
interface RecommendationWeights {
|
|
1013
|
+
mustHaveMatch: number;
|
|
1014
|
+
preferMatch: number;
|
|
1015
|
+
queryTokenMatch: number;
|
|
1016
|
+
starsFactor: number;
|
|
1017
|
+
metadataBoost: number;
|
|
1018
|
+
modernMarkerBoost: number;
|
|
1019
|
+
legacyMarkerPenalty: number;
|
|
1020
|
+
excludePenalty: number;
|
|
1021
|
+
missingMustHavePenalty: number;
|
|
1022
|
+
}
|
|
1023
|
+
interface RecommendSkillsResult {
|
|
1024
|
+
criteria: NormalizedRecommendationCriteria;
|
|
1025
|
+
ranking: RankedSkillRecommendation[];
|
|
1026
|
+
}
|
|
1027
|
+
declare function tokenizeCriteriaValue(value: string): string[];
|
|
1028
|
+
declare function validateRecommendationCriteria(input: RecommendationCriteriaInput): RecommendationValidationResult;
|
|
1029
|
+
declare function normalizeRecommendationCriteria(input: RecommendationCriteriaInput): NormalizedRecommendationCriteria;
|
|
1030
|
+
declare function scoreSkillRecommendation(skill: MarketplaceResult, criteria: NormalizedRecommendationCriteria, options?: RecommendationOptions): RankedSkillRecommendation;
|
|
1031
|
+
declare function recommendSkills$1(skills: MarketplaceResult[], criteriaInput: RecommendationCriteriaInput, options?: RecommendationOptions): RecommendSkillsResult;
|
|
1032
|
+
declare const rankSkills: typeof recommendSkills$1;
|
|
1033
|
+
|
|
1034
|
+
/**
|
|
1035
|
+
* Advanced orchestration helpers for multi-provider operations.
|
|
1036
|
+
*
|
|
1037
|
+
* These helpers compose CAAMP's lower-level APIs into production patterns:
|
|
1038
|
+
* tier-based targeting, conflict-aware installs, and rollback-capable batches.
|
|
1039
|
+
*/
|
|
1040
|
+
|
|
1041
|
+
type Scope = "project" | "global";
|
|
1042
|
+
/**
|
|
1043
|
+
* Filter providers by minimum priority and return them in deterministic tier order.
|
|
1044
|
+
*
|
|
1045
|
+
* `minimumPriority = "medium"` returns `high` + `medium`.
|
|
1046
|
+
*/
|
|
1047
|
+
declare function selectProvidersByMinimumPriority(providers: Provider[], minimumPriority?: ProviderPriority): Provider[];
|
|
1048
|
+
/**
|
|
1049
|
+
* Single MCP operation entry used by batch orchestration.
|
|
1050
|
+
*/
|
|
1051
|
+
interface McpBatchOperation {
|
|
1052
|
+
serverName: string;
|
|
1053
|
+
config: McpServerConfig;
|
|
1054
|
+
scope?: Scope;
|
|
1055
|
+
}
|
|
1056
|
+
/**
|
|
1057
|
+
* Single skill operation entry used by batch orchestration.
|
|
1058
|
+
*/
|
|
1059
|
+
interface SkillBatchOperation {
|
|
1060
|
+
sourcePath: string;
|
|
1061
|
+
skillName: string;
|
|
1062
|
+
isGlobal?: boolean;
|
|
1063
|
+
}
|
|
1064
|
+
/**
|
|
1065
|
+
* Options for rollback-capable batch installation.
|
|
1066
|
+
*/
|
|
1067
|
+
interface BatchInstallOptions {
|
|
1068
|
+
providers?: Provider[];
|
|
1069
|
+
minimumPriority?: ProviderPriority;
|
|
1070
|
+
mcp?: McpBatchOperation[];
|
|
1071
|
+
skills?: SkillBatchOperation[];
|
|
1072
|
+
projectDir?: string;
|
|
1073
|
+
}
|
|
1074
|
+
/**
|
|
1075
|
+
* Result of rollback-capable batch installation.
|
|
1076
|
+
*/
|
|
1077
|
+
interface BatchInstallResult {
|
|
1078
|
+
success: boolean;
|
|
1079
|
+
providerIds: string[];
|
|
1080
|
+
mcpApplied: number;
|
|
1081
|
+
skillsApplied: number;
|
|
1082
|
+
rollbackPerformed: boolean;
|
|
1083
|
+
rollbackErrors: string[];
|
|
1084
|
+
error?: string;
|
|
1085
|
+
}
|
|
1086
|
+
/**
|
|
1087
|
+
* Install multiple MCP servers and skills across filtered providers with rollback.
|
|
1088
|
+
*
|
|
1089
|
+
* Rollback behavior:
|
|
1090
|
+
* - MCP config files are restored exactly from snapshots.
|
|
1091
|
+
* - Skill state is restored for canonical skill dirs and targeted provider link paths.
|
|
1092
|
+
*/
|
|
1093
|
+
declare function installBatchWithRollback(options: BatchInstallOptions): Promise<BatchInstallResult>;
|
|
1094
|
+
/**
|
|
1095
|
+
* Conflict policy when applying MCP install plans.
|
|
1096
|
+
*/
|
|
1097
|
+
type ConflictPolicy = "fail" | "skip" | "overwrite";
|
|
1098
|
+
/**
|
|
1099
|
+
* MCP conflict code.
|
|
1100
|
+
*/
|
|
1101
|
+
type McpConflictCode = "unsupported-transport" | "unsupported-headers" | "existing-mismatch";
|
|
1102
|
+
/**
|
|
1103
|
+
* Conflict detected during preflight.
|
|
1104
|
+
*/
|
|
1105
|
+
interface McpConflict {
|
|
1106
|
+
providerId: string;
|
|
1107
|
+
serverName: string;
|
|
1108
|
+
scope: Scope;
|
|
1109
|
+
code: McpConflictCode;
|
|
1110
|
+
message: string;
|
|
1111
|
+
}
|
|
1112
|
+
/**
|
|
1113
|
+
* Result from applying install plan with conflict policy.
|
|
1114
|
+
*/
|
|
1115
|
+
interface McpPlanApplyResult {
|
|
1116
|
+
conflicts: McpConflict[];
|
|
1117
|
+
applied: InstallResult[];
|
|
1118
|
+
skipped: Array<{
|
|
1119
|
+
providerId: string;
|
|
1120
|
+
serverName: string;
|
|
1121
|
+
scope: Scope;
|
|
1122
|
+
reason: McpConflictCode;
|
|
1123
|
+
}>;
|
|
1124
|
+
}
|
|
1125
|
+
/**
|
|
1126
|
+
* Preflight conflict detection for MCP install plans across providers.
|
|
1127
|
+
*/
|
|
1128
|
+
declare function detectMcpConfigConflicts(providers: Provider[], operations: McpBatchOperation[], projectDir?: string): Promise<McpConflict[]>;
|
|
1129
|
+
/**
|
|
1130
|
+
* Apply MCP install plan with a conflict policy.
|
|
1131
|
+
*/
|
|
1132
|
+
declare function applyMcpInstallWithPolicy(providers: Provider[], operations: McpBatchOperation[], policy?: ConflictPolicy, projectDir?: string): Promise<McpPlanApplyResult>;
|
|
1133
|
+
/**
|
|
1134
|
+
* Result of a single-operation instruction update across providers.
|
|
1135
|
+
*/
|
|
1136
|
+
interface InstructionUpdateSummary {
|
|
1137
|
+
scope: Scope;
|
|
1138
|
+
updatedFiles: number;
|
|
1139
|
+
actions: Array<{
|
|
1140
|
+
file: string;
|
|
1141
|
+
action: "created" | "added" | "updated";
|
|
1142
|
+
providers: string[];
|
|
1143
|
+
configFormats: ConfigFormat[];
|
|
1144
|
+
}>;
|
|
1145
|
+
}
|
|
1146
|
+
/**
|
|
1147
|
+
* Update instruction files across providers as a single operation.
|
|
1148
|
+
*
|
|
1149
|
+
* Works the same regardless of provider config format (JSON/YAML/TOML/JSONC)
|
|
1150
|
+
* because instruction files are handled through CAAMP markers.
|
|
1151
|
+
*/
|
|
1152
|
+
declare function updateInstructionsSingleOperation(providers: Provider[], content: string, scope?: Scope, projectDir?: string): Promise<InstructionUpdateSummary>;
|
|
1153
|
+
/**
|
|
1154
|
+
* Request payload for dual-scope provider configuration.
|
|
1155
|
+
*/
|
|
1156
|
+
interface DualScopeConfigureOptions {
|
|
1157
|
+
globalMcp?: Array<{
|
|
1158
|
+
serverName: string;
|
|
1159
|
+
config: McpServerConfig;
|
|
1160
|
+
}>;
|
|
1161
|
+
projectMcp?: Array<{
|
|
1162
|
+
serverName: string;
|
|
1163
|
+
config: McpServerConfig;
|
|
1164
|
+
}>;
|
|
1165
|
+
instructionContent?: string | {
|
|
1166
|
+
global?: string;
|
|
1167
|
+
project?: string;
|
|
1168
|
+
};
|
|
1169
|
+
projectDir?: string;
|
|
1170
|
+
}
|
|
1171
|
+
/**
|
|
1172
|
+
* Result of dual-scope provider configuration.
|
|
1173
|
+
*/
|
|
1174
|
+
interface DualScopeConfigureResult {
|
|
1175
|
+
providerId: string;
|
|
1176
|
+
configPaths: {
|
|
1177
|
+
global: string | null;
|
|
1178
|
+
project: string | null;
|
|
1179
|
+
};
|
|
1180
|
+
mcp: {
|
|
1181
|
+
global: InstallResult[];
|
|
1182
|
+
project: InstallResult[];
|
|
1183
|
+
};
|
|
1184
|
+
instructions: {
|
|
1185
|
+
global?: Map<string, "created" | "added" | "updated">;
|
|
1186
|
+
project?: Map<string, "created" | "added" | "updated">;
|
|
1187
|
+
};
|
|
1188
|
+
}
|
|
1189
|
+
/**
|
|
1190
|
+
* Configure both global and project-level settings for one provider in one call.
|
|
1191
|
+
*/
|
|
1192
|
+
declare function configureProviderGlobalAndProject(provider: Provider, options: DualScopeConfigureOptions): Promise<DualScopeConfigureResult>;
|
|
1193
|
+
|
|
933
1194
|
/**
|
|
934
1195
|
* Provider registry loader
|
|
935
1196
|
*
|
|
@@ -1158,6 +1419,19 @@ declare function discoverSkill(skillDir: string): Promise<SkillEntry | null>;
|
|
|
1158
1419
|
*/
|
|
1159
1420
|
declare function discoverSkills(rootDir: string): Promise<SkillEntry[]>;
|
|
1160
1421
|
|
|
1422
|
+
interface SearchSkillsOptions {
|
|
1423
|
+
limit?: number;
|
|
1424
|
+
}
|
|
1425
|
+
interface RecommendSkillsQueryOptions extends RecommendationOptions {
|
|
1426
|
+
limit?: number;
|
|
1427
|
+
}
|
|
1428
|
+
declare function formatSkillRecommendations(result: RecommendSkillsResult, opts: {
|
|
1429
|
+
mode: "human" | "json";
|
|
1430
|
+
details?: boolean;
|
|
1431
|
+
}): string | Record<string, unknown>;
|
|
1432
|
+
declare function searchSkills(query: string, options?: SearchSkillsOptions): Promise<MarketplaceResult[]>;
|
|
1433
|
+
declare function recommendSkills(query: string, criteria: Omit<RecommendationCriteriaInput, "query">, options?: RecommendSkillsQueryOptions): Promise<RecommendSkillsResult>;
|
|
1434
|
+
|
|
1161
1435
|
/**
|
|
1162
1436
|
* Security scanning engine for SKILL.md files
|
|
1163
1437
|
*
|
|
@@ -1490,26 +1764,6 @@ declare function checkSkillUpdate(skillName: string): Promise<{
|
|
|
1490
1764
|
status: "up-to-date" | "update-available" | "unknown";
|
|
1491
1765
|
}>;
|
|
1492
1766
|
|
|
1493
|
-
/**
|
|
1494
|
-
* Marketplace types shared between adapters
|
|
1495
|
-
*/
|
|
1496
|
-
interface MarketplaceAdapter {
|
|
1497
|
-
name: string;
|
|
1498
|
-
search(query: string, limit?: number): Promise<MarketplaceResult[]>;
|
|
1499
|
-
getSkill(scopedName: string): Promise<MarketplaceResult | null>;
|
|
1500
|
-
}
|
|
1501
|
-
interface MarketplaceResult {
|
|
1502
|
-
name: string;
|
|
1503
|
-
scopedName: string;
|
|
1504
|
-
description: string;
|
|
1505
|
-
author: string;
|
|
1506
|
-
stars: number;
|
|
1507
|
-
githubUrl: string;
|
|
1508
|
-
repoFullName: string;
|
|
1509
|
-
path: string;
|
|
1510
|
-
source: string;
|
|
1511
|
-
}
|
|
1512
|
-
|
|
1513
1767
|
/**
|
|
1514
1768
|
* Unified marketplace client
|
|
1515
1769
|
*
|
|
@@ -1893,4 +2147,4 @@ declare function isVerbose(): boolean;
|
|
|
1893
2147
|
*/
|
|
1894
2148
|
declare function isQuiet(): boolean;
|
|
1895
2149
|
|
|
1896
|
-
export { type AuditFinding, type AuditResult, type AuditRule, type AuditSeverity, type CaampLockFile, type ConfigFormat, type DetectionResult, type GlobalOptions, type InjectionCheckResult, type InjectionStatus, type InstallResult, type LockEntry, MarketplaceClient, type MarketplaceResult, type MarketplaceSearchResult, type MarketplaceSkill, type McpServerConfig, type McpServerEntry, type ParsedSource, type Provider, type ProviderPriority, type ProviderStatus, type SkillEntry, type SkillInstallResult, type SkillMetadata, type SourceType, type TransportType, type ValidationIssue, type ValidationResult, buildServerConfig, checkAllInjections, checkInjection, checkSkillUpdate, deepMerge, detectAllProviders, detectProjectProviders, detectProvider, discoverSkill, discoverSkills, ensureDir, generateInjectionContent, getAllProviders, getInstalledProviders, getInstructionFiles, getLastSelectedAgents, getNestedValue, getProvider, getProviderCount, getProvidersByInstructFile, getProvidersByPriority, getProvidersByStatus, getRegistryVersion, getTrackedMcpServers, getTrackedSkills, getTransform, groupByInstructFile, inject, injectAll, installMcpServer, installMcpServerToAll, installSkill, isMarketplaceScoped, isQuiet, isVerbose, listAllMcpServers, listCanonicalSkills, listMcpServers, parseSkillFile, parseSource, readConfig, readLockFile, recordMcpInstall, recordSkillInstall, removeConfig, removeInjection, removeMcpFromLock, removeMcpServer, removeSkill, removeSkillFromLock, resolveAlias, resolveConfigPath, saveLastSelectedAgents, scanDirectory, scanFile, setQuiet, setVerbose, toSarif, validateSkill, writeConfig };
|
|
2150
|
+
export { type AuditFinding, type AuditResult, type AuditRule, type AuditSeverity, type BatchInstallOptions, type BatchInstallResult, type CaampLockFile, type ConfigFormat, type ConflictPolicy, type DetectionResult, type DualScopeConfigureOptions, type DualScopeConfigureResult, type GlobalOptions, type InjectionCheckResult, type InjectionStatus, type InstallResult, type InstructionUpdateSummary, type LockEntry, MarketplaceClient, type MarketplaceResult, type MarketplaceSearchResult, type MarketplaceSkill, type McpBatchOperation, type McpConflict, type McpConflictCode, type McpPlanApplyResult, type McpServerConfig, type McpServerEntry, type NormalizedRecommendationCriteria, type ParsedSource, type Provider, type ProviderPriority, type ProviderStatus, RECOMMENDATION_ERROR_CODES, type RankedSkillRecommendation, type RecommendSkillsResult, type RecommendationCriteriaInput, type RecommendationErrorCode, type RecommendationOptions, type RecommendationReason, type RecommendationReasonCode, type RecommendationScoreBreakdown, type RecommendationValidationIssue, type RecommendationValidationResult, type RecommendationWeights, type SkillBatchOperation, type SkillEntry, type SkillInstallResult, type SkillMetadata, type SourceType, type TransportType, type ValidationIssue, type ValidationResult, applyMcpInstallWithPolicy, buildServerConfig, checkAllInjections, checkInjection, checkSkillUpdate, configureProviderGlobalAndProject, deepMerge, detectAllProviders, detectMcpConfigConflicts, detectProjectProviders, detectProvider, discoverSkill, discoverSkills, ensureDir, formatSkillRecommendations, generateInjectionContent, getAllProviders, getInstalledProviders, getInstructionFiles, getLastSelectedAgents, getNestedValue, getProvider, getProviderCount, getProvidersByInstructFile, getProvidersByPriority, getProvidersByStatus, getRegistryVersion, getTrackedMcpServers, getTrackedSkills, getTransform, groupByInstructFile, inject, injectAll, installBatchWithRollback, installMcpServer, installMcpServerToAll, installSkill, isMarketplaceScoped, isQuiet, isVerbose, listAllMcpServers, listCanonicalSkills, listMcpServers, normalizeRecommendationCriteria, parseSkillFile, parseSource, rankSkills, readConfig, readLockFile, recommendSkills, recordMcpInstall, recordSkillInstall, removeConfig, removeInjection, removeMcpFromLock, removeMcpServer, removeSkill, removeSkillFromLock, resolveAlias, resolveConfigPath, saveLastSelectedAgents, scanDirectory, scanFile, scoreSkillRecommendation, searchSkills, selectProvidersByMinimumPriority, setQuiet, setVerbose, toSarif, tokenizeCriteriaValue, updateInstructionsSingleOperation, validateRecommendationCriteria, validateSkill, writeConfig };
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MarketplaceClient,
|
|
3
|
+
RECOMMENDATION_ERROR_CODES,
|
|
4
|
+
applyMcpInstallWithPolicy,
|
|
3
5
|
buildServerConfig,
|
|
4
6
|
checkAllInjections,
|
|
5
7
|
checkInjection,
|
|
6
8
|
checkSkillUpdate,
|
|
9
|
+
configureProviderGlobalAndProject,
|
|
7
10
|
deepMerge,
|
|
8
11
|
detectAllProviders,
|
|
12
|
+
detectMcpConfigConflicts,
|
|
9
13
|
detectProjectProviders,
|
|
10
14
|
detectProvider,
|
|
11
15
|
discoverSkill,
|
|
12
16
|
discoverSkills,
|
|
13
17
|
ensureDir,
|
|
18
|
+
formatSkillRecommendations,
|
|
14
19
|
generateInjectionContent,
|
|
15
20
|
getAllProviders,
|
|
16
21
|
getInstalledProviders,
|
|
@@ -29,6 +34,7 @@ import {
|
|
|
29
34
|
groupByInstructFile,
|
|
30
35
|
inject,
|
|
31
36
|
injectAll,
|
|
37
|
+
installBatchWithRollback,
|
|
32
38
|
installMcpServer,
|
|
33
39
|
installMcpServerToAll,
|
|
34
40
|
installSkill,
|
|
@@ -38,10 +44,13 @@ import {
|
|
|
38
44
|
listAllMcpServers,
|
|
39
45
|
listCanonicalSkills,
|
|
40
46
|
listMcpServers,
|
|
47
|
+
normalizeRecommendationCriteria,
|
|
41
48
|
parseSkillFile,
|
|
42
49
|
parseSource,
|
|
50
|
+
rankSkills,
|
|
43
51
|
readConfig,
|
|
44
52
|
readLockFile,
|
|
53
|
+
recommendSkills,
|
|
45
54
|
recordMcpInstall,
|
|
46
55
|
recordSkillInstall,
|
|
47
56
|
removeConfig,
|
|
@@ -55,25 +64,36 @@ import {
|
|
|
55
64
|
saveLastSelectedAgents,
|
|
56
65
|
scanDirectory,
|
|
57
66
|
scanFile,
|
|
67
|
+
scoreSkillRecommendation,
|
|
68
|
+
searchSkills,
|
|
69
|
+
selectProvidersByMinimumPriority,
|
|
58
70
|
setQuiet,
|
|
59
71
|
setVerbose,
|
|
60
72
|
toSarif,
|
|
73
|
+
tokenizeCriteriaValue,
|
|
74
|
+
updateInstructionsSingleOperation,
|
|
75
|
+
validateRecommendationCriteria,
|
|
61
76
|
validateSkill,
|
|
62
77
|
writeConfig
|
|
63
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-ZYINKJDE.js";
|
|
64
79
|
export {
|
|
65
80
|
MarketplaceClient,
|
|
81
|
+
RECOMMENDATION_ERROR_CODES,
|
|
82
|
+
applyMcpInstallWithPolicy,
|
|
66
83
|
buildServerConfig,
|
|
67
84
|
checkAllInjections,
|
|
68
85
|
checkInjection,
|
|
69
86
|
checkSkillUpdate,
|
|
87
|
+
configureProviderGlobalAndProject,
|
|
70
88
|
deepMerge,
|
|
71
89
|
detectAllProviders,
|
|
90
|
+
detectMcpConfigConflicts,
|
|
72
91
|
detectProjectProviders,
|
|
73
92
|
detectProvider,
|
|
74
93
|
discoverSkill,
|
|
75
94
|
discoverSkills,
|
|
76
95
|
ensureDir,
|
|
96
|
+
formatSkillRecommendations,
|
|
77
97
|
generateInjectionContent,
|
|
78
98
|
getAllProviders,
|
|
79
99
|
getInstalledProviders,
|
|
@@ -92,6 +112,7 @@ export {
|
|
|
92
112
|
groupByInstructFile,
|
|
93
113
|
inject,
|
|
94
114
|
injectAll,
|
|
115
|
+
installBatchWithRollback,
|
|
95
116
|
installMcpServer,
|
|
96
117
|
installMcpServerToAll,
|
|
97
118
|
installSkill,
|
|
@@ -101,10 +122,13 @@ export {
|
|
|
101
122
|
listAllMcpServers,
|
|
102
123
|
listCanonicalSkills,
|
|
103
124
|
listMcpServers,
|
|
125
|
+
normalizeRecommendationCriteria,
|
|
104
126
|
parseSkillFile,
|
|
105
127
|
parseSource,
|
|
128
|
+
rankSkills,
|
|
106
129
|
readConfig,
|
|
107
130
|
readLockFile,
|
|
131
|
+
recommendSkills,
|
|
108
132
|
recordMcpInstall,
|
|
109
133
|
recordSkillInstall,
|
|
110
134
|
removeConfig,
|
|
@@ -118,9 +142,15 @@ export {
|
|
|
118
142
|
saveLastSelectedAgents,
|
|
119
143
|
scanDirectory,
|
|
120
144
|
scanFile,
|
|
145
|
+
scoreSkillRecommendation,
|
|
146
|
+
searchSkills,
|
|
147
|
+
selectProvidersByMinimumPriority,
|
|
121
148
|
setQuiet,
|
|
122
149
|
setVerbose,
|
|
123
150
|
toSarif,
|
|
151
|
+
tokenizeCriteriaValue,
|
|
152
|
+
updateInstructionsSingleOperation,
|
|
153
|
+
validateRecommendationCriteria,
|
|
124
154
|
validateSkill,
|
|
125
155
|
writeConfig
|
|
126
156
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/caamp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Central AI Agent Managed Packages - unified provider registry and package manager for AI coding agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"license": "MIT",
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@clack/prompts": "^1.0.0",
|
|
50
|
+
"@cleocode/lafs-protocol": "^0.1.1",
|
|
50
51
|
"@iarna/toml": "^2.2.5",
|
|
51
52
|
"commander": "^14.0.0",
|
|
52
53
|
"gray-matter": "^4.0.3",
|