skillpkg-core 0.5.4 → 0.5.7
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/adapters/adapter-manager.d.ts +51 -0
- package/dist/adapters/adapter-manager.d.ts.map +1 -0
- package/dist/adapters/adapter-manager.js +147 -0
- package/dist/adapters/adapter-manager.js.map +1 -0
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/base.js +14 -3
- package/dist/adapters/base.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +1 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/config/types.d.ts +3 -3
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +0 -1
- package/dist/config/types.js.map +1 -1
- package/dist/discovery/discovery-manager.d.ts +55 -0
- package/dist/discovery/discovery-manager.d.ts.map +1 -0
- package/dist/discovery/discovery-manager.js +217 -0
- package/dist/discovery/discovery-manager.js.map +1 -0
- package/dist/discovery/index.d.ts +20 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +21 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/manager.d.ts +53 -0
- package/dist/discovery/manager.d.ts.map +1 -0
- package/dist/discovery/manager.js +203 -0
- package/dist/discovery/manager.js.map +1 -0
- package/dist/discovery/providers/awesome.d.ts +72 -0
- package/dist/discovery/providers/awesome.d.ts.map +1 -0
- package/dist/discovery/providers/awesome.js +214 -0
- package/dist/discovery/providers/awesome.js.map +1 -0
- package/dist/discovery/providers/github.d.ts +44 -0
- package/dist/discovery/providers/github.d.ts.map +1 -0
- package/dist/discovery/providers/github.js +82 -0
- package/dist/discovery/providers/github.js.map +1 -0
- package/dist/discovery/providers/index.d.ts +9 -0
- package/dist/discovery/providers/index.d.ts.map +1 -0
- package/dist/discovery/providers/index.js +9 -0
- package/dist/discovery/providers/index.js.map +1 -0
- package/dist/discovery/providers/local.d.ts +38 -0
- package/dist/discovery/providers/local.d.ts.map +1 -0
- package/dist/discovery/providers/local.js +75 -0
- package/dist/discovery/providers/local.js.map +1 -0
- package/dist/discovery/providers/priority.d.ts +89 -0
- package/dist/discovery/providers/priority.d.ts.map +1 -0
- package/dist/discovery/providers/priority.js +258 -0
- package/dist/discovery/providers/priority.js.map +1 -0
- package/dist/discovery/providers/skillsmp.d.ts +66 -0
- package/dist/discovery/providers/skillsmp.d.ts.map +1 -0
- package/dist/discovery/providers/skillsmp.js +134 -0
- package/dist/discovery/providers/skillsmp.js.map +1 -0
- package/dist/discovery/types.d.ts +108 -0
- package/dist/discovery/types.d.ts.map +1 -0
- package/dist/discovery/types.js +5 -0
- package/dist/discovery/types.js.map +1 -0
- package/dist/doctor/doctor.d.ts +62 -0
- package/dist/doctor/doctor.d.ts.map +1 -0
- package/dist/doctor/doctor.js +399 -0
- package/dist/doctor/doctor.js.map +1 -0
- package/dist/doctor/index.d.ts +6 -0
- package/dist/doctor/index.d.ts.map +1 -0
- package/dist/doctor/index.js +6 -0
- package/dist/doctor/index.js.map +1 -0
- package/dist/doctor/types.d.ts +68 -0
- package/dist/doctor/types.d.ts.map +1 -0
- package/dist/doctor/types.js +2 -0
- package/dist/doctor/types.js.map +1 -0
- package/dist/fetcher/fetcher.d.ts.map +1 -1
- package/dist/fetcher/fetcher.js +265 -25
- package/dist/fetcher/fetcher.js.map +1 -1
- package/dist/fetcher/source-parser.d.ts +8 -6
- package/dist/fetcher/source-parser.d.ts.map +1 -1
- package/dist/fetcher/source-parser.js +37 -16
- package/dist/fetcher/source-parser.js.map +1 -1
- package/dist/fetcher/types.d.ts +17 -4
- package/dist/fetcher/types.d.ts.map +1 -1
- package/dist/fetcher/types.js.map +1 -1
- package/dist/importer/importer.js +1 -1
- package/dist/importer/importer.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/installer/installer.d.ts +1 -1
- package/dist/installer/installer.d.ts.map +1 -1
- package/dist/installer/installer.js +21 -13
- package/dist/installer/installer.js.map +1 -1
- package/dist/installer/types.d.ts +15 -13
- package/dist/installer/types.d.ts.map +1 -1
- package/dist/matching/engine.d.ts +57 -0
- package/dist/matching/engine.d.ts.map +1 -0
- package/dist/matching/engine.js +419 -0
- package/dist/matching/engine.js.map +1 -0
- package/dist/matching/index.d.ts +9 -0
- package/dist/matching/index.d.ts.map +1 -0
- package/dist/matching/index.js +8 -0
- package/dist/matching/index.js.map +1 -0
- package/dist/matching/types.d.ts +91 -0
- package/dist/matching/types.d.ts.map +1 -0
- package/dist/matching/types.js +13 -0
- package/dist/matching/types.js.map +1 -0
- package/dist/parser/schema.d.ts +61 -8
- package/dist/parser/schema.d.ts.map +1 -1
- package/dist/parser/schema.js +59 -9
- package/dist/parser/schema.js.map +1 -1
- package/dist/resolver/dependency-resolver.d.ts.map +1 -1
- package/dist/resolver/dependency-resolver.js +15 -3
- package/dist/resolver/dependency-resolver.js.map +1 -1
- package/dist/resolver/index.d.ts +1 -1
- package/dist/resolver/index.d.ts.map +1 -1
- package/dist/resolver/index.js.map +1 -1
- package/dist/resolver/types.d.ts +13 -0
- package/dist/resolver/types.d.ts.map +1 -1
- package/dist/skill/reader.d.ts.map +1 -1
- package/dist/skill/reader.js +12 -11
- package/dist/skill/reader.js.map +1 -1
- package/dist/skill/types.d.ts +28 -2
- package/dist/skill/types.d.ts.map +1 -1
- package/dist/state/state-manager.d.ts +19 -0
- package/dist/state/state-manager.d.ts.map +1 -1
- package/dist/state/state-manager.js +50 -0
- package/dist/state/state-manager.js.map +1 -1
- package/dist/store/config.d.ts.map +1 -1
- package/dist/store/config.js +7 -0
- package/dist/store/config.js.map +1 -1
- package/dist/store/index.d.ts +2 -2
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/manager.d.ts +2 -0
- package/dist/store/manager.d.ts.map +1 -1
- package/dist/store/manager.js +19 -1
- package/dist/store/manager.js.map +1 -1
- package/dist/store/store-manager.d.ts +123 -0
- package/dist/store/store-manager.d.ts.map +1 -0
- package/dist/store/store-manager.js +312 -0
- package/dist/store/store-manager.js.map +1 -0
- package/dist/syncer/syncer.d.ts +4 -0
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +91 -27
- package/dist/syncer/syncer.js.map +1 -1
- package/dist/syncer/types.d.ts +16 -8
- package/dist/syncer/types.d.ts.map +1 -1
- package/dist/syncer/types.js +29 -32
- package/dist/syncer/types.js.map +1 -1
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +9 -2
- package/dist/types.js.map +1 -1
- package/package.json +9 -9
package/dist/store/index.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
// Main exports
|
|
17
|
-
export { StoreManager, createGlobalStore, createLocalStore } from './manager.js';
|
|
17
|
+
export { StoreManager, createGlobalStore, createLocalStore } from './store-manager.js';
|
|
18
18
|
// Path utilities
|
|
19
19
|
export { getGlobalDir, getLocalDir, getSkillsDir, getSkillDir, getSkillMdPath, getSkillYamlPath, getRegistryPath, getConfigPath, getCredentialsPath, getCacheDir, } from './paths.js';
|
|
20
20
|
// Registry operations
|
package/dist/store/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGvF,iBAAiB;AACjB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,sBAAsB;AACtB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,oBAAoB;AACpB,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,aAAa,CAAC"}
|
package/dist/store/manager.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Skill, Registry, Config, SkillEntry } from '../types.js';
|
|
2
|
+
import type { SkillFile } from '../fetcher/types.js';
|
|
2
3
|
/**
|
|
3
4
|
* Store options
|
|
4
5
|
*/
|
|
@@ -52,6 +53,7 @@ export declare class StoreManager {
|
|
|
52
53
|
addSkill(skill: Skill, options?: {
|
|
53
54
|
source?: 'registry' | 'local' | 'import';
|
|
54
55
|
sourceUrl?: string;
|
|
56
|
+
files?: SkillFile[];
|
|
55
57
|
}): Promise<void>;
|
|
56
58
|
/**
|
|
57
59
|
* Update an existing skill
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/store/manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/store/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/store/manager.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { mkdir, readFile, writeFile, rm, readdir } from 'fs/promises';
|
|
5
5
|
import { existsSync } from 'fs';
|
|
6
|
+
import { join, dirname } from 'path';
|
|
6
7
|
import matter from 'gray-matter';
|
|
7
8
|
import { getGlobalDir, getLocalDir, getSkillsDir, getSkillDir, getSkillMdPath, } from './paths.js';
|
|
8
9
|
import { loadRegistry, saveRegistry, addSkillToRegistry, removeSkillFromRegistry, getSkillFromRegistry, listSkillsInRegistry, updateSyncedPlatforms, } from './registry.js';
|
|
@@ -99,7 +100,7 @@ export class StoreManager {
|
|
|
99
100
|
* Add a skill to the store
|
|
100
101
|
*/
|
|
101
102
|
async addSkill(skill, options = {}) {
|
|
102
|
-
const { source = 'local', sourceUrl } = options;
|
|
103
|
+
const { source = 'local', sourceUrl, files = [] } = options;
|
|
103
104
|
// Create skill directory
|
|
104
105
|
const skillDir = getSkillDir(this.storeDir, skill.name);
|
|
105
106
|
await mkdir(skillDir, { recursive: true });
|
|
@@ -107,6 +108,23 @@ export class StoreManager {
|
|
|
107
108
|
const skillPath = getSkillMdPath(this.storeDir, skill.name);
|
|
108
109
|
const content = this.skillToMarkdown(skill);
|
|
109
110
|
await writeFile(skillPath, content, 'utf-8');
|
|
111
|
+
// Write additional files
|
|
112
|
+
for (const file of files) {
|
|
113
|
+
const filePath = join(skillDir, file.path);
|
|
114
|
+
const fileDir = dirname(filePath);
|
|
115
|
+
// Create subdirectory if needed
|
|
116
|
+
if (fileDir !== skillDir) {
|
|
117
|
+
await mkdir(fileDir, { recursive: true });
|
|
118
|
+
}
|
|
119
|
+
// Write file content
|
|
120
|
+
if (file.binary) {
|
|
121
|
+
const buffer = Buffer.from(file.content, 'base64');
|
|
122
|
+
await writeFile(filePath, buffer);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
await writeFile(filePath, file.content, 'utf-8');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
110
128
|
// Update registry
|
|
111
129
|
await addSkillToRegistry(this.storeDir, skill.name, {
|
|
112
130
|
version: skill.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/store/manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/store/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { Skill, Registry, Config, SkillEntry } from '../types.js';
|
|
2
|
+
import type { SkillFile } from '../fetcher/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Store options
|
|
5
|
+
*/
|
|
6
|
+
export interface StoreOptions {
|
|
7
|
+
/** Use global store (~/.skillpkg) instead of local */
|
|
8
|
+
global?: boolean;
|
|
9
|
+
/** Custom store path (overrides global option) */
|
|
10
|
+
storePath?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Skill metadata (without instructions)
|
|
14
|
+
*/
|
|
15
|
+
export interface SkillMeta {
|
|
16
|
+
name: string;
|
|
17
|
+
version: string;
|
|
18
|
+
description: string;
|
|
19
|
+
author?: string;
|
|
20
|
+
installedAt: string;
|
|
21
|
+
source: 'registry' | 'local' | 'import';
|
|
22
|
+
syncedPlatforms: string[];
|
|
23
|
+
/** Trigger words for auto-detection */
|
|
24
|
+
triggers?: string[];
|
|
25
|
+
/** Keywords for search */
|
|
26
|
+
keywords?: string[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Store Manager class
|
|
30
|
+
*/
|
|
31
|
+
export declare class StoreManager {
|
|
32
|
+
private storeDir;
|
|
33
|
+
constructor(options?: StoreOptions);
|
|
34
|
+
/**
|
|
35
|
+
* Get the store directory path
|
|
36
|
+
*/
|
|
37
|
+
getStoreDir(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Initialize the store directory structure
|
|
40
|
+
*/
|
|
41
|
+
init(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Check if the store is initialized
|
|
44
|
+
*/
|
|
45
|
+
isInitialized(): Promise<boolean>;
|
|
46
|
+
/**
|
|
47
|
+
* Get a skill by name
|
|
48
|
+
*/
|
|
49
|
+
getSkill(name: string): Promise<Skill | null>;
|
|
50
|
+
/**
|
|
51
|
+
* List all installed skills (metadata only)
|
|
52
|
+
*/
|
|
53
|
+
listSkills(): Promise<SkillMeta[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Add a skill to the store
|
|
56
|
+
*/
|
|
57
|
+
addSkill(skill: Skill, options?: {
|
|
58
|
+
source?: 'registry' | 'local' | 'import';
|
|
59
|
+
sourceUrl?: string;
|
|
60
|
+
files?: SkillFile[];
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Update an existing skill
|
|
64
|
+
*/
|
|
65
|
+
updateSkill(name: string, skill: Skill): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Remove a skill from the store
|
|
68
|
+
*/
|
|
69
|
+
removeSkill(name: string): Promise<boolean>;
|
|
70
|
+
/**
|
|
71
|
+
* Check if a skill exists
|
|
72
|
+
*/
|
|
73
|
+
hasSkill(name: string): Promise<boolean>;
|
|
74
|
+
/**
|
|
75
|
+
* Get skill entry from registry
|
|
76
|
+
*/
|
|
77
|
+
getSkillEntry(name: string): Promise<SkillEntry | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Update synced platforms for a skill
|
|
80
|
+
*/
|
|
81
|
+
updateSyncedPlatforms(name: string, platforms: string[]): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Get the full registry
|
|
84
|
+
*/
|
|
85
|
+
getRegistry(): Promise<Registry>;
|
|
86
|
+
/**
|
|
87
|
+
* Save the registry
|
|
88
|
+
*/
|
|
89
|
+
saveRegistry(registry: Registry): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Get the configuration
|
|
92
|
+
*/
|
|
93
|
+
getConfig(): Promise<Config>;
|
|
94
|
+
/**
|
|
95
|
+
* Save the configuration
|
|
96
|
+
*/
|
|
97
|
+
saveConfig(config: Config): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Set a config value
|
|
100
|
+
*/
|
|
101
|
+
setConfigValue<K extends keyof Config>(key: K, value: Config[K]): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Get all skill names from the skills directory
|
|
104
|
+
*/
|
|
105
|
+
getSkillNames(): Promise<string[]>;
|
|
106
|
+
/**
|
|
107
|
+
* Clean orphaned skills (in registry but not on disk)
|
|
108
|
+
*/
|
|
109
|
+
cleanOrphans(): Promise<string[]>;
|
|
110
|
+
/**
|
|
111
|
+
* Convert a Skill to SKILL.md format
|
|
112
|
+
*/
|
|
113
|
+
private skillToMarkdown;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Create a global store manager
|
|
117
|
+
*/
|
|
118
|
+
export declare function createGlobalStore(): StoreManager;
|
|
119
|
+
/**
|
|
120
|
+
* Create a local store manager
|
|
121
|
+
*/
|
|
122
|
+
export declare function createLocalStore(projectPath?: string): StoreManager;
|
|
123
|
+
//# sourceMappingURL=store-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-manager.d.ts","sourceRoot":"","sources":["../../src/store/store-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store Manager - manages skill storage
|
|
3
|
+
*/
|
|
4
|
+
import { mkdir, readFile, writeFile, rm, readdir } from 'fs/promises';
|
|
5
|
+
import { existsSync } from 'fs';
|
|
6
|
+
import { join, dirname } from 'path';
|
|
7
|
+
import matter from 'gray-matter';
|
|
8
|
+
import { getGlobalDir, getLocalDir, getSkillsDir, getSkillDir, getSkillMdPath, } from './paths.js';
|
|
9
|
+
import { loadRegistry, saveRegistry, addSkillToRegistry, removeSkillFromRegistry, getSkillFromRegistry, listSkillsInRegistry, updateSyncedPlatforms, } from './registry.js';
|
|
10
|
+
import { loadConfig, saveConfig } from './config.js';
|
|
11
|
+
/**
|
|
12
|
+
* Store Manager class
|
|
13
|
+
*/
|
|
14
|
+
export class StoreManager {
|
|
15
|
+
storeDir;
|
|
16
|
+
constructor(options = {}) {
|
|
17
|
+
if (options.storePath) {
|
|
18
|
+
this.storeDir = options.storePath;
|
|
19
|
+
}
|
|
20
|
+
else if (options.global) {
|
|
21
|
+
this.storeDir = getGlobalDir();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.storeDir = getLocalDir();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the store directory path
|
|
29
|
+
*/
|
|
30
|
+
getStoreDir() {
|
|
31
|
+
return this.storeDir;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Initialize the store directory structure
|
|
35
|
+
*/
|
|
36
|
+
async init() {
|
|
37
|
+
const skillsDir = getSkillsDir(this.storeDir);
|
|
38
|
+
// Create directories
|
|
39
|
+
await mkdir(skillsDir, { recursive: true });
|
|
40
|
+
// Initialize config if not exists
|
|
41
|
+
const config = await loadConfig(this.storeDir);
|
|
42
|
+
await saveConfig(this.storeDir, config);
|
|
43
|
+
// Initialize registry if not exists
|
|
44
|
+
const registry = await loadRegistry(this.storeDir);
|
|
45
|
+
await saveRegistry(this.storeDir, registry);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if the store is initialized
|
|
49
|
+
*/
|
|
50
|
+
async isInitialized() {
|
|
51
|
+
return existsSync(this.storeDir) && existsSync(getSkillsDir(this.storeDir));
|
|
52
|
+
}
|
|
53
|
+
// ==================== Skill Operations ====================
|
|
54
|
+
/**
|
|
55
|
+
* Get a skill by name
|
|
56
|
+
*/
|
|
57
|
+
async getSkill(name) {
|
|
58
|
+
const skillPath = getSkillMdPath(this.storeDir, name);
|
|
59
|
+
if (!existsSync(skillPath)) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
const content = await readFile(skillPath, 'utf-8');
|
|
64
|
+
const { data, content: body } = matter(content);
|
|
65
|
+
return {
|
|
66
|
+
schema: '1.0',
|
|
67
|
+
name: data.name || name,
|
|
68
|
+
version: data.version || '1.0.0',
|
|
69
|
+
description: data.description || '',
|
|
70
|
+
instructions: body.trim(),
|
|
71
|
+
triggers: Array.isArray(data.triggers) ? data.triggers : undefined,
|
|
72
|
+
keywords: Array.isArray(data.keywords) ? data.keywords : undefined,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* List all installed skills (metadata only)
|
|
81
|
+
*/
|
|
82
|
+
async listSkills() {
|
|
83
|
+
const entries = await listSkillsInRegistry(this.storeDir);
|
|
84
|
+
const skills = [];
|
|
85
|
+
for (const entry of entries) {
|
|
86
|
+
const skill = await this.getSkill(entry.name);
|
|
87
|
+
if (skill) {
|
|
88
|
+
skills.push({
|
|
89
|
+
name: skill.name,
|
|
90
|
+
version: skill.version,
|
|
91
|
+
description: skill.description,
|
|
92
|
+
author: typeof skill.author === 'string' ? skill.author : skill.author?.name,
|
|
93
|
+
installedAt: entry.installedAt,
|
|
94
|
+
source: entry.source,
|
|
95
|
+
syncedPlatforms: entry.syncedPlatforms,
|
|
96
|
+
triggers: skill.triggers,
|
|
97
|
+
keywords: skill.keywords,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return skills;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Add a skill to the store
|
|
105
|
+
*/
|
|
106
|
+
async addSkill(skill, options = {}) {
|
|
107
|
+
const { source = 'local', sourceUrl, files = [] } = options;
|
|
108
|
+
// Create skill directory
|
|
109
|
+
const skillDir = getSkillDir(this.storeDir, skill.name);
|
|
110
|
+
await mkdir(skillDir, { recursive: true });
|
|
111
|
+
// Write SKILL.md with frontmatter
|
|
112
|
+
const skillPath = getSkillMdPath(this.storeDir, skill.name);
|
|
113
|
+
const content = this.skillToMarkdown(skill);
|
|
114
|
+
await writeFile(skillPath, content, 'utf-8');
|
|
115
|
+
// Write additional files
|
|
116
|
+
for (const file of files) {
|
|
117
|
+
const filePath = join(skillDir, file.path);
|
|
118
|
+
const fileDir = dirname(filePath);
|
|
119
|
+
// Create subdirectory if needed
|
|
120
|
+
if (fileDir !== skillDir) {
|
|
121
|
+
await mkdir(fileDir, { recursive: true });
|
|
122
|
+
}
|
|
123
|
+
// Write file content
|
|
124
|
+
if (file.binary) {
|
|
125
|
+
const buffer = Buffer.from(file.content, 'base64');
|
|
126
|
+
await writeFile(filePath, buffer);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
await writeFile(filePath, file.content, 'utf-8');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Update registry
|
|
133
|
+
await addSkillToRegistry(this.storeDir, skill.name, {
|
|
134
|
+
version: skill.version,
|
|
135
|
+
installedAt: new Date().toISOString(),
|
|
136
|
+
source,
|
|
137
|
+
sourceUrl,
|
|
138
|
+
syncedPlatforms: [],
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Update an existing skill
|
|
143
|
+
*/
|
|
144
|
+
async updateSkill(name, skill) {
|
|
145
|
+
const existing = await this.getSkill(name);
|
|
146
|
+
if (!existing) {
|
|
147
|
+
throw new Error(`Skill not found: ${name}`);
|
|
148
|
+
}
|
|
149
|
+
// Get existing registry entry
|
|
150
|
+
const entry = await getSkillFromRegistry(this.storeDir, name);
|
|
151
|
+
// Write updated SKILL.md
|
|
152
|
+
const skillPath = getSkillMdPath(this.storeDir, name);
|
|
153
|
+
const content = this.skillToMarkdown(skill);
|
|
154
|
+
await writeFile(skillPath, content, 'utf-8');
|
|
155
|
+
// Update registry with new version
|
|
156
|
+
if (entry) {
|
|
157
|
+
await addSkillToRegistry(this.storeDir, name, {
|
|
158
|
+
...entry,
|
|
159
|
+
version: skill.version,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Remove a skill from the store
|
|
165
|
+
*/
|
|
166
|
+
async removeSkill(name) {
|
|
167
|
+
const skillDir = getSkillDir(this.storeDir, name);
|
|
168
|
+
if (!existsSync(skillDir)) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
// Remove skill directory
|
|
172
|
+
await rm(skillDir, { recursive: true });
|
|
173
|
+
// Remove from registry
|
|
174
|
+
await removeSkillFromRegistry(this.storeDir, name);
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Check if a skill exists
|
|
179
|
+
*/
|
|
180
|
+
async hasSkill(name) {
|
|
181
|
+
const skill = await this.getSkill(name);
|
|
182
|
+
return skill !== null;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Get skill entry from registry
|
|
186
|
+
*/
|
|
187
|
+
async getSkillEntry(name) {
|
|
188
|
+
return getSkillFromRegistry(this.storeDir, name);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Update synced platforms for a skill
|
|
192
|
+
*/
|
|
193
|
+
async updateSyncedPlatforms(name, platforms) {
|
|
194
|
+
await updateSyncedPlatforms(this.storeDir, name, platforms);
|
|
195
|
+
}
|
|
196
|
+
// ==================== Registry Operations ====================
|
|
197
|
+
/**
|
|
198
|
+
* Get the full registry
|
|
199
|
+
*/
|
|
200
|
+
async getRegistry() {
|
|
201
|
+
return loadRegistry(this.storeDir);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Save the registry
|
|
205
|
+
*/
|
|
206
|
+
async saveRegistry(registry) {
|
|
207
|
+
return saveRegistry(this.storeDir, registry);
|
|
208
|
+
}
|
|
209
|
+
// ==================== Config Operations ====================
|
|
210
|
+
/**
|
|
211
|
+
* Get the configuration
|
|
212
|
+
*/
|
|
213
|
+
async getConfig() {
|
|
214
|
+
return loadConfig(this.storeDir);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Save the configuration
|
|
218
|
+
*/
|
|
219
|
+
async saveConfig(config) {
|
|
220
|
+
return saveConfig(this.storeDir, config);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Set a config value
|
|
224
|
+
*/
|
|
225
|
+
async setConfigValue(key, value) {
|
|
226
|
+
const config = await this.getConfig();
|
|
227
|
+
config[key] = value;
|
|
228
|
+
await this.saveConfig(config);
|
|
229
|
+
}
|
|
230
|
+
// ==================== Utility Methods ====================
|
|
231
|
+
/**
|
|
232
|
+
* Get all skill names from the skills directory
|
|
233
|
+
*/
|
|
234
|
+
async getSkillNames() {
|
|
235
|
+
const skillsDir = getSkillsDir(this.storeDir);
|
|
236
|
+
if (!existsSync(skillsDir)) {
|
|
237
|
+
return [];
|
|
238
|
+
}
|
|
239
|
+
const entries = await readdir(skillsDir, { withFileTypes: true });
|
|
240
|
+
return entries.filter((e) => e.isDirectory()).map((e) => e.name);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Clean orphaned skills (in registry but not on disk)
|
|
244
|
+
*/
|
|
245
|
+
async cleanOrphans() {
|
|
246
|
+
const registry = await this.getRegistry();
|
|
247
|
+
const diskSkills = await this.getSkillNames();
|
|
248
|
+
const orphans = [];
|
|
249
|
+
for (const name of Object.keys(registry.skills)) {
|
|
250
|
+
if (!diskSkills.includes(name)) {
|
|
251
|
+
orphans.push(name);
|
|
252
|
+
delete registry.skills[name];
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
if (orphans.length > 0) {
|
|
256
|
+
await this.saveRegistry(registry);
|
|
257
|
+
}
|
|
258
|
+
return orphans;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Convert a Skill to SKILL.md format
|
|
262
|
+
*/
|
|
263
|
+
skillToMarkdown(skill) {
|
|
264
|
+
// Build frontmatter with all available fields
|
|
265
|
+
const frontmatter = {
|
|
266
|
+
schema: skill.schema || '1.0',
|
|
267
|
+
name: skill.name,
|
|
268
|
+
version: skill.version,
|
|
269
|
+
description: skill.description,
|
|
270
|
+
};
|
|
271
|
+
// Add optional fields if present
|
|
272
|
+
if (skill.author) {
|
|
273
|
+
frontmatter.author = skill.author;
|
|
274
|
+
}
|
|
275
|
+
if (skill.triggers && skill.triggers.length > 0) {
|
|
276
|
+
frontmatter.triggers = skill.triggers;
|
|
277
|
+
}
|
|
278
|
+
if (skill.keywords && skill.keywords.length > 0) {
|
|
279
|
+
frontmatter.keywords = skill.keywords;
|
|
280
|
+
}
|
|
281
|
+
if (skill.license) {
|
|
282
|
+
frontmatter.license = skill.license;
|
|
283
|
+
}
|
|
284
|
+
if (skill.repository) {
|
|
285
|
+
frontmatter.repository = skill.repository;
|
|
286
|
+
}
|
|
287
|
+
if (skill.capabilities && skill.capabilities.length > 0) {
|
|
288
|
+
frontmatter.capabilities = skill.capabilities;
|
|
289
|
+
}
|
|
290
|
+
if (skill.dependencies) {
|
|
291
|
+
frontmatter.dependencies = skill.dependencies;
|
|
292
|
+
}
|
|
293
|
+
// Convert instructions to markdown content
|
|
294
|
+
const content = skill.instructions || '';
|
|
295
|
+
return matter.stringify(content, frontmatter);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Create a global store manager
|
|
300
|
+
*/
|
|
301
|
+
export function createGlobalStore() {
|
|
302
|
+
return new StoreManager({ global: true });
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Create a local store manager
|
|
306
|
+
*/
|
|
307
|
+
export function createLocalStore(projectPath) {
|
|
308
|
+
return new StoreManager({
|
|
309
|
+
storePath: projectPath ? getLocalDir(projectPath) : undefined,
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
//# sourceMappingURL=store-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-manager.js","sourceRoot":"","sources":["../../src/store/store-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/syncer/syncer.d.ts
CHANGED
|
@@ -19,6 +19,10 @@ export declare class Syncer {
|
|
|
19
19
|
* Sync in directory format (each skill in its own directory)
|
|
20
20
|
*/
|
|
21
21
|
private syncDirectoryFormat;
|
|
22
|
+
/**
|
|
23
|
+
* Count additional files in a skill directory (excluding SKILL.md)
|
|
24
|
+
*/
|
|
25
|
+
private countAdditionalFiles;
|
|
22
26
|
/**
|
|
23
27
|
* Sync in single-file format (all skills merged)
|
|
24
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../src/syncer/syncer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAA2B,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,YAAY,CAAC,CAAe;gBAExB,YAAY,CAAC,EAAE,YAAY;IAIvC;;OAEG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACjC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;IAoFxB;;OAEG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACjC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAmD5B;;OAEG;YACW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../src/syncer/syncer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAA2B,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,YAAY,CAAC,CAAe;gBAExB,YAAY,CAAC,EAAE,YAAY;IAIvC;;OAEG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACjC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;IAoFxB;;OAEG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACjC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAmD5B;;OAEG;YACW,mBAAmB;IAyEjC;;OAEG;YACW,oBAAoB;IAyBlC;;OAEG;YACW,oBAAoB;IA8BlC;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM;IAc3E;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;OAEG;YACW,cAAc;IAsC5B;;OAEG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACrC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAA;KAAE,CAAC;IA2BzE;;OAEG;YACW,aAAa;IAyB3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAe1B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM,CAEhE;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAa9E;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CA4BpC"}
|