@slycode/slycode 0.2.6 → 0.2.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/scripts/scaffold.js +3 -2
- package/dist/web/.next/BUILD_ID +1 -1
- package/dist/web/.next/build-manifest.json +2 -2
- package/dist/web/.next/server/app/_global-error.html +2 -2
- package/dist/web/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.html +1 -1
- package/dist/web/.next/server/app/_not-found.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__12f6cd6f._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__15fc9266._.js +8 -8
- package/dist/web/.next/server/chunks/[root-of-the-server]__279e9bf3._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__2d1f0ed9._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__3c5ef8ec._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__47dd878e._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__5e08b942._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__71bb3374._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__7603305e._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__7c476ad6._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__846ca56f._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__98d88050._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__b273cc05._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__d6362272._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__de1277ee._.js +2 -2
- package/dist/web/.next/server/chunks/[root-of-the-server]__f3e501b6._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__f97e93fa._.js +2 -2
- package/dist/web/.next/server/chunks/ssr/src_lib_registry_ts_2fc87c9c._.js +1 -1
- package/dist/web/.next/server/pages/404.html +1 -1
- package/dist/web/.next/server/pages/500.html +2 -2
- package/dist/web/src/lib/store-scanner.ts +8 -69
- package/dist/web/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/templates/kanban-seed.json +1 -1
- /package/dist/web/.next/static/{2EjhdcgXP_G4Dc2aTnMhk → LL2KFMFJkFiDQbYtgqSpv}/_buildManifest.js +0 -0
- /package/dist/web/.next/static/{2EjhdcgXP_G4Dc2aTnMhk → LL2KFMFJkFiDQbYtgqSpv}/_clientMiddlewareManifest.json +0 -0
- /package/dist/web/.next/static/{2EjhdcgXP_G4Dc2aTnMhk → LL2KFMFJkFiDQbYtgqSpv}/_ssgManifest.js +0 -0
|
@@ -17,36 +17,6 @@ function getStorePath(): string {
|
|
|
17
17
|
return path.join(getSlycodeRoot(), 'store');
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
/** Load manifest lists. Returns null if manifest not found. */
|
|
21
|
-
function loadManifest(): { skills: string[]; actions: string[]; agents: string[]; mcp: string[] } | null {
|
|
22
|
-
// Try multiple locations: dev repo, then package dist
|
|
23
|
-
const candidates = [
|
|
24
|
-
path.join(getSlycodeRoot(), 'build', 'store-manifest.js'),
|
|
25
|
-
path.join(getSlycodeRoot(), 'node_modules', '@slycode', 'slycode', 'build', 'store-manifest.js'),
|
|
26
|
-
];
|
|
27
|
-
for (const p of candidates) {
|
|
28
|
-
try {
|
|
29
|
-
if (fs.existsSync(p)) {
|
|
30
|
-
// Use dynamic import workaround — read and parse manually to avoid require()
|
|
31
|
-
const content = fs.readFileSync(p, 'utf-8');
|
|
32
|
-
const mod: Record<string, unknown> = {};
|
|
33
|
-
const fn = new Function('module', 'exports', content);
|
|
34
|
-
fn(mod, mod);
|
|
35
|
-
const result = (mod as { exports?: { skills?: string[]; actions?: string[]; agents?: string[]; mcp?: string[] } }).exports;
|
|
36
|
-
if (result?.skills) return {
|
|
37
|
-
skills: result.skills,
|
|
38
|
-
actions: result.actions || [],
|
|
39
|
-
agents: result.agents || [],
|
|
40
|
-
mcp: result.mcp || [],
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
} catch {
|
|
44
|
-
// Try next candidate
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
20
|
// ============================================================================
|
|
51
21
|
// Store Directory Scanning
|
|
52
22
|
// ============================================================================
|
|
@@ -154,56 +124,25 @@ function scanStoreMcp(storePath: string): StoreAssetInfo[] {
|
|
|
154
124
|
// ============================================================================
|
|
155
125
|
|
|
156
126
|
/**
|
|
157
|
-
* Full store scan — returns
|
|
127
|
+
* Full store scan — returns all assets in the store.
|
|
128
|
+
* The manifest is only used by the build pipeline (build-package.ts) to control
|
|
129
|
+
* what ships in the npm package. The store UI shows everything.
|
|
158
130
|
*/
|
|
159
131
|
export function scanStore(): StoreData {
|
|
160
132
|
const storePath = getStorePath();
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
let agents = scanStoreAssetDir(storePath, 'agent');
|
|
165
|
-
let mcp = scanStoreMcp(storePath);
|
|
166
|
-
|
|
167
|
-
if (manifest) {
|
|
168
|
-
if (manifest.skills) {
|
|
169
|
-
const allowed = new Set(manifest.skills);
|
|
170
|
-
skills = skills.filter(s => allowed.has(s.name));
|
|
171
|
-
}
|
|
172
|
-
if (manifest.agents) {
|
|
173
|
-
const allowed = new Set(manifest.agents);
|
|
174
|
-
agents = agents.filter(a => allowed.has(a.name));
|
|
175
|
-
}
|
|
176
|
-
if (manifest.mcp) {
|
|
177
|
-
const allowed = new Set(manifest.mcp);
|
|
178
|
-
mcp = mcp.filter(m => allowed.has(m.name));
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
133
|
+
const skills = scanStoreAssetDir(storePath, 'skill');
|
|
134
|
+
const agents = scanStoreAssetDir(storePath, 'agent');
|
|
135
|
+
const mcp = scanStoreMcp(storePath);
|
|
182
136
|
return { skills, agents, mcp };
|
|
183
137
|
}
|
|
184
138
|
|
|
185
139
|
/**
|
|
186
140
|
* Get flat list of all store assets (skills + agents).
|
|
187
141
|
* Used as the master source for project matrix comparison.
|
|
188
|
-
* Skills are filtered by manifest.
|
|
189
142
|
*/
|
|
190
143
|
export function getStoreAssets(): StoreAssetInfo[] {
|
|
191
144
|
const storePath = getStorePath();
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
let skills = scanStoreAssetDir(storePath, 'skill');
|
|
195
|
-
let agents = scanStoreAssetDir(storePath, 'agent');
|
|
196
|
-
|
|
197
|
-
if (manifest) {
|
|
198
|
-
if (manifest.skills) {
|
|
199
|
-
const allowed = new Set(manifest.skills);
|
|
200
|
-
skills = skills.filter(s => allowed.has(s.name));
|
|
201
|
-
}
|
|
202
|
-
if (manifest.agents) {
|
|
203
|
-
const allowed = new Set(manifest.agents);
|
|
204
|
-
agents = agents.filter(a => allowed.has(a.name));
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
|
|
145
|
+
const skills = scanStoreAssetDir(storePath, 'skill');
|
|
146
|
+
const agents = scanStoreAssetDir(storePath, 'agent');
|
|
208
147
|
return [...skills, ...agents];
|
|
209
148
|
}
|