reskill 1.7.0 → 1.8.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 +47 -47
- package/README.zh-CN.md +47 -47
- package/dist/cli/commands/__integration__/helpers.d.ts +16 -0
- package/dist/cli/commands/__integration__/helpers.d.ts.map +1 -1
- package/dist/cli/commands/find.d.ts +27 -0
- package/dist/cli/commands/find.d.ts.map +1 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/login.d.ts.map +1 -1
- package/dist/cli/commands/whoami.d.ts.map +1 -1
- package/dist/cli/index.js +1136 -467
- package/dist/core/git-resolver.d.ts.map +1 -1
- package/dist/core/http-resolver.d.ts +4 -2
- package/dist/core/http-resolver.d.ts.map +1 -1
- package/dist/core/installer.d.ts +25 -0
- package/dist/core/installer.d.ts.map +1 -1
- package/dist/core/registry-client.d.ts +66 -11
- package/dist/core/registry-client.d.ts.map +1 -1
- package/dist/core/registry-resolver.d.ts +2 -1
- package/dist/core/registry-resolver.d.ts.map +1 -1
- package/dist/core/skill-manager.d.ts +42 -8
- package/dist/core/skill-manager.d.ts.map +1 -1
- package/dist/core/skill-parser.d.ts +32 -0
- package/dist/core/skill-parser.d.ts.map +1 -1
- package/dist/index.js +958 -515
- package/dist/types/index.d.ts +18 -14
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/registry-scope.d.ts +8 -20
- package/dist/utils/registry-scope.d.ts.map +1 -1
- package/dist/utils/registry.d.ts +27 -1
- package/dist/utils/registry.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-resolver.d.ts","sourceRoot":"","sources":["../../src/core/git-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUvF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AAEhE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IAErD;;;;;;OAMG;gBAED,eAAe,GAAE,MAAiB,EAClC,UAAU,CAAC,EAAE,cAAc,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB;IAOrC;;;;;;;;OAQG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAoB5C;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"git-resolver.d.ts","sourceRoot":"","sources":["../../src/core/git-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUvF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AAEhE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IAErD;;;;;;OAMG;gBAED,eAAe,GAAE,MAAiB,EAClC,UAAU,CAAC,EAAE,cAAc,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB;IAOrC;;;;;;;;OAQG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAoB5C;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IA0ErC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAqFtB;;OAEG;IACH,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa;IA+BjD;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IAU5C;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkD5C;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,MAAM,EAAE,cAAc,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CAaH;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -38,12 +38,14 @@ export declare class HttpResolver {
|
|
|
38
38
|
* Check if a reference is an HTTP/OSS URL (for archive downloads)
|
|
39
39
|
*
|
|
40
40
|
* Returns true for:
|
|
41
|
-
* - http:// or https:// URLs
|
|
42
|
-
* - Explicit oss:// or s3:// protocol URLs
|
|
41
|
+
* - http:// or https:// URLs with archive file extensions (.tar.gz, .tgz, .zip, .tar)
|
|
42
|
+
* - Explicit oss:// or s3:// protocol URLs (always treated as archive sources)
|
|
43
43
|
*
|
|
44
44
|
* Returns false for:
|
|
45
45
|
* - Git repository URLs (*.git)
|
|
46
46
|
* - GitHub/GitLab web URLs (/tree/, /blob/, /raw/)
|
|
47
|
+
* - Bare HTTPS repo URLs without archive extensions (e.g., https://github.com/user/repo)
|
|
48
|
+
* These are treated as Git references and handled by GitResolver.
|
|
47
49
|
*/
|
|
48
50
|
static isHttpUrl(ref: string): boolean;
|
|
49
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-resolver.d.ts","sourceRoot":"","sources":["../../src/core/http-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAY;IACvB
|
|
1
|
+
{"version":3,"file":"http-resolver.d.ts","sourceRoot":"","sources":["../../src/core/http-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IA8BtC;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAuCpC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IAarC;;OAEG;IACH,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa;IAgBjD;;;OAGG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAM5C;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IAM5C;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,MAAM,EAAE,cAAc,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,aAAa,CAAC;KACzB,CAAC;IAgBF;;;OAGG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;CAoBtB"}
|
package/dist/core/installer.d.ts
CHANGED
|
@@ -42,6 +42,11 @@ export interface InstallerOptions {
|
|
|
42
42
|
/** Custom installation directory (relative to cwd), overrides default .agents/skills */
|
|
43
43
|
installDir?: string;
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Marker comment in auto-generated Cursor bridge rule files.
|
|
47
|
+
* Used to distinguish auto-generated files from manually created ones.
|
|
48
|
+
*/
|
|
49
|
+
export declare const CURSOR_BRIDGE_MARKER = "<!-- reskill:auto-generated -->";
|
|
45
50
|
/**
|
|
46
51
|
* Default files to exclude when copying skills
|
|
47
52
|
* These files are typically used for repository metadata and should not be copied to agent directories
|
|
@@ -108,6 +113,26 @@ export declare class Installer {
|
|
|
108
113
|
* Get all skills installed to specified agent
|
|
109
114
|
*/
|
|
110
115
|
listInstalledSkills(agentType: AgentType): string[];
|
|
116
|
+
/**
|
|
117
|
+
* Create a Cursor bridge rule file (.mdc) for the installed skill.
|
|
118
|
+
*
|
|
119
|
+
* Cursor does not natively read SKILL.md from .cursor/skills/.
|
|
120
|
+
* This bridge file in .cursor/rules/ references the SKILL.md via @file directive,
|
|
121
|
+
* allowing Cursor to discover and activate the skill based on the description.
|
|
122
|
+
*
|
|
123
|
+
* @param skillName - Sanitized skill name
|
|
124
|
+
* @param sourcePath - Source directory containing SKILL.md
|
|
125
|
+
*/
|
|
126
|
+
private createCursorBridgeRule;
|
|
127
|
+
/**
|
|
128
|
+
* Remove a Cursor bridge rule file (.mdc) for the uninstalled skill.
|
|
129
|
+
*
|
|
130
|
+
* Only removes files that contain the auto-generated marker to avoid
|
|
131
|
+
* deleting manually created rule files.
|
|
132
|
+
*
|
|
133
|
+
* @param skillName - Sanitized skill name
|
|
134
|
+
*/
|
|
135
|
+
private removeCursorBridgeRule;
|
|
111
136
|
}
|
|
112
137
|
export default Installer;
|
|
113
138
|
//# sourceMappingURL=installer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAoD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAyJlC;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAMjF;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM3C;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAOlE;;;;;;;OAOG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,aAAa,CAAC;IAiGzB;;OAEG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,EAAE,EACzB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAWzC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAK7D;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKlD;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAiBpE;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;IAgB1F;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;IAcnD;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IA4C9B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;CAiB/B;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -8,8 +8,6 @@ import type { PublishPayload } from './publisher.js';
|
|
|
8
8
|
export interface RegistryConfig {
|
|
9
9
|
registry: string;
|
|
10
10
|
token?: string;
|
|
11
|
-
/** API path prefix, e.g., '/api' (default) or '/api/reskill' for rush-app */
|
|
12
|
-
apiPrefix?: string;
|
|
13
11
|
}
|
|
14
12
|
export interface PublishRequest {
|
|
15
13
|
name: string;
|
|
@@ -56,6 +54,42 @@ export interface SkillMetadataResponse {
|
|
|
56
54
|
versions?: Record<string, unknown>;
|
|
57
55
|
error?: string;
|
|
58
56
|
}
|
|
57
|
+
export interface SearchResultItem {
|
|
58
|
+
/** Full skill name (e.g., "@kanyun/planning-with-files") */
|
|
59
|
+
name: string;
|
|
60
|
+
/** Description */
|
|
61
|
+
description?: string;
|
|
62
|
+
/** Latest version */
|
|
63
|
+
latest_version?: string;
|
|
64
|
+
/** Keywords (parsed from metadata_json) */
|
|
65
|
+
keywords?: string[];
|
|
66
|
+
/** Publisher info */
|
|
67
|
+
publisher?: {
|
|
68
|
+
handle: string;
|
|
69
|
+
};
|
|
70
|
+
/** Last updated time */
|
|
71
|
+
updated_at?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface SearchPagination {
|
|
74
|
+
currentPage: number;
|
|
75
|
+
totalPages: number;
|
|
76
|
+
totalItems: number;
|
|
77
|
+
itemsPerPage: number;
|
|
78
|
+
hasNext: boolean;
|
|
79
|
+
hasPrevious: boolean;
|
|
80
|
+
}
|
|
81
|
+
export interface SearchResponse {
|
|
82
|
+
/** Whether request succeeded */
|
|
83
|
+
success: boolean;
|
|
84
|
+
/** Error message (if failed) */
|
|
85
|
+
error?: string;
|
|
86
|
+
/** Search results */
|
|
87
|
+
data?: SearchResultItem[];
|
|
88
|
+
/** Pagination metadata */
|
|
89
|
+
meta?: {
|
|
90
|
+
pagination?: SearchPagination;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
59
93
|
export interface DownloadResult {
|
|
60
94
|
tarball: Buffer;
|
|
61
95
|
integrity: string;
|
|
@@ -69,9 +103,11 @@ export declare class RegistryClient {
|
|
|
69
103
|
private config;
|
|
70
104
|
constructor(config: RegistryConfig);
|
|
71
105
|
/**
|
|
72
|
-
* Get API base URL (registry +
|
|
106
|
+
* Get API base URL (registry + /api)
|
|
107
|
+
*
|
|
108
|
+
* All registries use the unified '/api' prefix.
|
|
73
109
|
*
|
|
74
|
-
* @returns Base URL for API calls, e.g., 'https://example.com/api'
|
|
110
|
+
* @returns Base URL for API calls, e.g., 'https://example.com/api'
|
|
75
111
|
*/
|
|
76
112
|
private getApiBase;
|
|
77
113
|
/**
|
|
@@ -85,7 +121,7 @@ export declare class RegistryClient {
|
|
|
85
121
|
/**
|
|
86
122
|
* CLI login - verify token and get user info
|
|
87
123
|
*
|
|
88
|
-
* Calls POST /api/auth/login-cli to validate the token and retrieve user information.
|
|
124
|
+
* Calls POST /api/skill-auth/login-cli to validate the token and retrieve user information.
|
|
89
125
|
* This is the preferred method for CLI authentication.
|
|
90
126
|
*
|
|
91
127
|
* @returns User information if authentication succeeds
|
|
@@ -102,14 +138,33 @@ export declare class RegistryClient {
|
|
|
102
138
|
*/
|
|
103
139
|
createTarball(skillPath: string, files: string[], shortName?: string): Promise<Buffer>;
|
|
104
140
|
/**
|
|
105
|
-
*
|
|
106
|
-
*
|
|
141
|
+
* Get basic skill info (including source_type).
|
|
142
|
+
* Used by the install command to determine the installation logic branch.
|
|
107
143
|
*
|
|
108
|
-
* @param skillName -
|
|
109
|
-
* @returns
|
|
110
|
-
* @throws RegistryError
|
|
144
|
+
* @param skillName - Full skill name, e.g., @kanyun/my-skill
|
|
145
|
+
* @returns Basic skill information
|
|
146
|
+
* @throws RegistryError if skill not found or request failed
|
|
111
147
|
*/
|
|
112
148
|
getSkillInfo(skillName: string): Promise<SkillInfo>;
|
|
149
|
+
/**
|
|
150
|
+
* Search for skills in the registry
|
|
151
|
+
*
|
|
152
|
+
* @param query - Search query string
|
|
153
|
+
* @param options - Search options (limit, offset)
|
|
154
|
+
* @returns Array of matching skills
|
|
155
|
+
* @throws RegistryError if the request fails
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* const results = await client.search('typescript');
|
|
159
|
+
* const results = await client.search('planning', { limit: 5 });
|
|
160
|
+
*/
|
|
161
|
+
search(query: string, options?: {
|
|
162
|
+
limit?: number;
|
|
163
|
+
offset?: number;
|
|
164
|
+
}): Promise<{
|
|
165
|
+
items: SearchResultItem[];
|
|
166
|
+
total: number;
|
|
167
|
+
}>;
|
|
113
168
|
/**
|
|
114
169
|
* Resolve a tag (like "latest" or "beta") to an actual version number
|
|
115
170
|
*
|
|
@@ -120,7 +175,7 @@ export declare class RegistryClient {
|
|
|
120
175
|
*
|
|
121
176
|
* @example
|
|
122
177
|
* await client.resolveVersion('@kanyun/test-skill', 'latest') // '2.4.5'
|
|
123
|
-
* await client.resolveVersion('@kanyun/test-skill', '2.4.5') // '2.4.5' (
|
|
178
|
+
* await client.resolveVersion('@kanyun/test-skill', '2.4.5') // '2.4.5' (returned as-is)
|
|
124
179
|
*/
|
|
125
180
|
resolveVersion(skillName: string, tagOrVersion?: string): Promise<string>;
|
|
126
181
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../src/core/registry-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../src/core/registry-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ export declare class RegistryResolver {
|
|
|
42
42
|
* Resolve a registry skill reference
|
|
43
43
|
*
|
|
44
44
|
* @param ref - Skill reference (e.g., "@kanyun/planning-with-files@2.4.5" or "my-skill@latest")
|
|
45
|
+
* @param overrideRegistryUrl - Optional registry URL override (bypasses scope-based lookup)
|
|
45
46
|
* @returns Resolved skill information including downloaded tarball
|
|
46
47
|
*
|
|
47
48
|
* @example
|
|
@@ -49,7 +50,7 @@ export declare class RegistryResolver {
|
|
|
49
50
|
* console.log(result.shortName); // 'planning-with-files'
|
|
50
51
|
* console.log(result.version); // '2.4.5'
|
|
51
52
|
*/
|
|
52
|
-
resolve(ref: string): Promise<RegistryResolveResult>;
|
|
53
|
+
resolve(ref: string, overrideRegistryUrl?: string): Promise<RegistryResolveResult>;
|
|
53
54
|
/**
|
|
54
55
|
* Extract tarball to a target directory
|
|
55
56
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-resolver.d.ts","sourceRoot":"","sources":["../../src/core/registry-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"registry-resolver.d.ts","sourceRoot":"","sources":["../../src/core/registry-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,KAAK,qBAAqB,EAE3B,MAAM,4BAA4B,CAAC;AAQpC,MAAM,WAAW,qBAAqB;IACpC,8BAA8B;IAC9B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,gBAAgB;IAC3B;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAwC1C;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+BxF;;;;;;OAMG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAWjE"}
|
|
@@ -2,6 +2,7 @@ import type { InstalledSkill, InstallOptions } from '../types/index.js';
|
|
|
2
2
|
import { type AgentType } from './agent-registry.js';
|
|
3
3
|
import { type InstallMode, type InstallResult } from './installer.js';
|
|
4
4
|
import { LockManager } from './lock-manager.js';
|
|
5
|
+
import { type ParsedSkillWithPath } from './skill-parser.js';
|
|
5
6
|
/**
|
|
6
7
|
* SkillManager configuration options
|
|
7
8
|
*/
|
|
@@ -73,6 +74,13 @@ export declare class SkillManager {
|
|
|
73
74
|
* @returns Skill metadata (name, version, description) or null if not found
|
|
74
75
|
*/
|
|
75
76
|
private getSkillMetadataFromDir;
|
|
77
|
+
/**
|
|
78
|
+
* Resolve the actual source path for installation.
|
|
79
|
+
* For multi-skill repos (parsed.skillName is set), discovers skills in the
|
|
80
|
+
* cached directory and returns the matching skill's subdirectory.
|
|
81
|
+
* For single-skill repos, returns basePath as-is.
|
|
82
|
+
*/
|
|
83
|
+
private resolveSourcePath;
|
|
76
84
|
/**
|
|
77
85
|
* Install skill
|
|
78
86
|
*/
|
|
@@ -149,6 +157,31 @@ export declare class SkillManager {
|
|
|
149
157
|
skill: InstalledSkill;
|
|
150
158
|
results: Map<AgentType, InstallResult>;
|
|
151
159
|
}>;
|
|
160
|
+
/**
|
|
161
|
+
* Multi-skill install: discover skills in a Git repo and install selected ones (or list only).
|
|
162
|
+
* Only Git references are supported (including https://github.com/...); registry refs are not.
|
|
163
|
+
*
|
|
164
|
+
* @param ref - Git skill reference (e.g. github:user/repo@v1.0.0 or https://github.com/user/repo); any #fragment is stripped for resolution
|
|
165
|
+
* @param skillNames - If non-empty, install only these skills (by SKILL.md name). If empty and !listOnly, install all.
|
|
166
|
+
* @param targetAgents - Target agents
|
|
167
|
+
* @param options - Install options; listOnly: true means discover and return skills without installing
|
|
168
|
+
*/
|
|
169
|
+
installSkillsFromRepo(ref: string, skillNames: string[], targetAgents: AgentType[], options?: InstallOptions & {
|
|
170
|
+
listOnly?: boolean;
|
|
171
|
+
}): Promise<{
|
|
172
|
+
listOnly: true;
|
|
173
|
+
skills: ParsedSkillWithPath[];
|
|
174
|
+
} | {
|
|
175
|
+
listOnly: false;
|
|
176
|
+
installed: Array<{
|
|
177
|
+
skill: InstalledSkill;
|
|
178
|
+
results: Map<AgentType, InstallResult>;
|
|
179
|
+
}>;
|
|
180
|
+
skipped: Array<{
|
|
181
|
+
name: string;
|
|
182
|
+
reason: string;
|
|
183
|
+
}>;
|
|
184
|
+
}>;
|
|
152
185
|
/**
|
|
153
186
|
* Install skill from Git to multiple agents
|
|
154
187
|
*/
|
|
@@ -167,19 +200,20 @@ export declare class SkillManager {
|
|
|
167
200
|
*/
|
|
168
201
|
private installToAgentsFromRegistry;
|
|
169
202
|
/**
|
|
170
|
-
*
|
|
203
|
+
* Install a web-published skill.
|
|
171
204
|
*
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
* -
|
|
175
|
-
* -
|
|
205
|
+
* Web-published skills do not support versioning. Branches to different
|
|
206
|
+
* installation logic based on source_type:
|
|
207
|
+
* - github/gitlab: reuses installToAgentsFromGit
|
|
208
|
+
* - oss_url/custom_url: reuses installToAgentsFromHttp
|
|
209
|
+
* - local: downloads tarball via Registry API
|
|
176
210
|
*/
|
|
177
211
|
private installFromWebPublished;
|
|
178
212
|
/**
|
|
179
|
-
*
|
|
213
|
+
* Install a skill published via "local folder" mode.
|
|
180
214
|
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
215
|
+
* Downloads tarball via RegistryClient (handles 302 redirects to signed OSS URLs),
|
|
216
|
+
* then extracts and installs using the same flow as registry source_type.
|
|
183
217
|
*/
|
|
184
218
|
private installFromRegistryLocal;
|
|
185
219
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-manager.d.ts","sourceRoot":"","sources":["../../src/core/skill-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"skill-manager.d.ts","sourceRoot":"","sources":["../../src/core/skill-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,13 @@ export interface ParsedSkill {
|
|
|
51
51
|
/** Original full content */
|
|
52
52
|
rawContent: string;
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Parsed skill with its directory path (for multi-skill discovery)
|
|
56
|
+
*/
|
|
57
|
+
export interface ParsedSkillWithPath extends ParsedSkill {
|
|
58
|
+
/** Absolute path to the skill directory (containing SKILL.md) */
|
|
59
|
+
dirPath: string;
|
|
60
|
+
}
|
|
54
61
|
/**
|
|
55
62
|
* Skill validation error
|
|
56
63
|
*/
|
|
@@ -103,6 +110,29 @@ export declare function parseSkillFromDir(dirPath: string, options?: {
|
|
|
103
110
|
* Check if directory contains valid SKILL.md
|
|
104
111
|
*/
|
|
105
112
|
export declare function hasValidSkillMd(dirPath: string): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Discover all skills in a directory by scanning for SKILL.md files.
|
|
115
|
+
*
|
|
116
|
+
* Strategy:
|
|
117
|
+
* 1. Check root for SKILL.md
|
|
118
|
+
* 2. Search priority directories (skills/, .agents/skills/, .cursor/skills/, etc.)
|
|
119
|
+
* 3. Fall back to recursive search (max depth 5, skip node_modules, .git, dist, etc.)
|
|
120
|
+
*
|
|
121
|
+
* @param basePath - Root directory to search
|
|
122
|
+
* @returns List of parsed skills with their directory paths (absolute)
|
|
123
|
+
*/
|
|
124
|
+
export declare function discoverSkillsInDir(basePath: string): ParsedSkillWithPath[];
|
|
125
|
+
/**
|
|
126
|
+
* Filter skills by name (case-insensitive exact match).
|
|
127
|
+
*
|
|
128
|
+
* Note: an empty `names` array returns an empty result (not all skills).
|
|
129
|
+
* Callers should check `names.length` before calling if "no filter = all" is desired.
|
|
130
|
+
*
|
|
131
|
+
* @param skills - List of discovered skills
|
|
132
|
+
* @param names - Skill names to match (e.g. from --skill pdf commit)
|
|
133
|
+
* @returns Skills whose name matches any of the given names
|
|
134
|
+
*/
|
|
135
|
+
export declare function filterSkillsByName(skills: ParsedSkillWithPath[], names: string[]): ParsedSkillWithPath[];
|
|
106
136
|
/**
|
|
107
137
|
* Generate SKILL.md content
|
|
108
138
|
*/
|
|
@@ -112,6 +142,8 @@ declare const _default: {
|
|
|
112
142
|
parseSkillMdFile: typeof parseSkillMdFile;
|
|
113
143
|
parseSkillFromDir: typeof parseSkillFromDir;
|
|
114
144
|
hasValidSkillMd: typeof hasValidSkillMd;
|
|
145
|
+
discoverSkillsInDir: typeof discoverSkillsInDir;
|
|
146
|
+
filterSkillsByName: typeof filterSkillsByName;
|
|
115
147
|
validateSkillName: typeof validateSkillName;
|
|
116
148
|
validateSkillDescription: typeof validateSkillDescription;
|
|
117
149
|
generateSkillMd: typeof generateSkillMd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-parser.d.ts","sourceRoot":"","sources":["../../src/core/skill-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAGpC,KAAK,CAAC,EAAE,MAAM;gBADrB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,MAAM,YAAA;CAKxB;
|
|
1
|
+
{"version":3,"file":"skill-parser.d.ts","sourceRoot":"","sources":["../../src/core/skill-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAGpC,KAAK,CAAC,EAAE,MAAM;gBADrB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,MAAM,YAAA;CAKxB;AA+JD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAsCpD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAalE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,WAAW,GAAG,IAAI,CAkDpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,WAAW,GAAG,IAAI,CAUpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,WAAW,GAAG,IAAI,CAGpB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAYxD;AA+DD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAmD3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,KAAK,EAAE,MAAM,EAAE,GACd,mBAAmB,EAAE,CAYvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,CAsB9E;;;;;;;;;;;;AAED,wBAUE"}
|