agent-switchboard 0.4.2 → 0.4.4
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 +45 -0
- package/dist/agents/codex.d.ts +2 -2
- package/dist/agents/codex.js +13 -7
- package/dist/agents/codex.js.map +1 -1
- package/dist/agents/cursor.js +5 -17
- package/dist/agents/cursor.js.map +1 -1
- package/dist/agents/gemini.js +10 -50
- package/dist/agents/gemini.js.map +1 -1
- package/dist/agents/json-utils.d.ts +12 -0
- package/dist/agents/json-utils.js +27 -1
- package/dist/agents/json-utils.js.map +1 -1
- package/dist/agents/opencode.js +3 -3
- package/dist/agents/opencode.js.map +1 -1
- package/dist/agents/trae.js +5 -17
- package/dist/agents/trae.js.map +1 -1
- package/dist/commands/distribution.js +6 -1
- package/dist/commands/distribution.js.map +1 -1
- package/dist/config/application-config.d.ts +1 -0
- package/dist/config/application-config.js +36 -4
- package/dist/config/application-config.js.map +1 -1
- package/dist/config/layered-config.js +1 -5
- package/dist/config/layered-config.js.map +1 -1
- package/dist/config/mcp-config.d.ts +2 -3
- package/dist/config/mcp-config.js +2 -7
- package/dist/config/mcp-config.js.map +1 -1
- package/dist/config/schemas.js +1 -1
- package/dist/config/schemas.js.map +1 -1
- package/dist/extensions/api.d.ts +9 -0
- package/dist/extensions/api.js +40 -16
- package/dist/extensions/api.js.map +1 -1
- package/dist/extensions/loader.d.ts +2 -0
- package/dist/extensions/loader.js +9 -5
- package/dist/extensions/loader.js.map +1 -1
- package/dist/hooks/distribution.d.ts +3 -1
- package/dist/hooks/distribution.js +32 -13
- package/dist/hooks/distribution.js.map +1 -1
- package/dist/index.js +150 -37
- package/dist/index.js.map +1 -1
- package/dist/library/distribute-bundle.js +89 -28
- package/dist/library/distribute-bundle.js.map +1 -1
- package/dist/library/distribute.d.ts +2 -2
- package/dist/library/distribute.js +40 -16
- package/dist/library/distribute.js.map +1 -1
- package/dist/library/state.js +12 -4
- package/dist/library/state.js.map +1 -1
- package/dist/manifest/store.d.ts +12 -1
- package/dist/manifest/store.js +63 -8
- package/dist/manifest/store.js.map +1 -1
- package/dist/marketplace/plugin-loader.d.ts +2 -2
- package/dist/marketplace/plugin-loader.js +8 -6
- package/dist/marketplace/plugin-loader.js.map +1 -1
- package/dist/marketplace/source-loader.js +3 -1
- package/dist/marketplace/source-loader.js.map +1 -1
- package/dist/mcp/distribution.js +109 -41
- package/dist/mcp/distribution.js.map +1 -1
- package/dist/plugins/identity.d.ts +8 -0
- package/dist/plugins/identity.js +22 -0
- package/dist/plugins/identity.js.map +1 -0
- package/dist/plugins/index.d.ts +4 -0
- package/dist/plugins/index.js +59 -35
- package/dist/plugins/index.js.map +1 -1
- package/dist/rules/block-merge.d.ts +0 -7
- package/dist/rules/block-merge.js +2 -1
- package/dist/rules/block-merge.js.map +1 -1
- package/dist/rules/distribution.js +18 -5
- package/dist/rules/distribution.js.map +1 -1
- package/dist/rules/state.js +11 -2
- package/dist/rules/state.js.map +1 -1
- package/dist/skills/distribution.js +39 -9
- package/dist/skills/distribution.js.map +1 -1
- package/dist/subagents/distribution.js +6 -1
- package/dist/subagents/distribution.js.map +1 -1
- package/dist/subagents/inventory.js +3 -3
- package/dist/subagents/inventory.js.map +1 -1
- package/dist/sync/command.js +23 -5
- package/dist/sync/command.js.map +1 -1
- package/dist/targets/builtin/claude-code.js +3 -1
- package/dist/targets/builtin/claude-code.js.map +1 -1
- package/dist/targets/builtin/common.d.ts +4 -1
- package/dist/targets/builtin/common.js +11 -1
- package/dist/targets/builtin/common.js.map +1 -1
- package/dist/targets/builtin/cursor.js +2 -7
- package/dist/targets/builtin/cursor.js.map +1 -1
- package/dist/targets/builtin/opencode.js +3 -1
- package/dist/targets/builtin/opencode.js.map +1 -1
- package/dist/targets/dsl/compiler.js +60 -26
- package/dist/targets/dsl/compiler.js.map +1 -1
- package/dist/targets/init.d.ts +1 -1
- package/dist/targets/init.js +3 -2
- package/dist/targets/init.js.map +1 -1
- package/dist/ui/fuzzy-multi-select.js +2 -1
- package/dist/ui/fuzzy-multi-select.js.map +1 -1
- package/dist/ui/library-selector.js +8 -9
- package/dist/ui/library-selector.js.map +1 -1
- package/dist/ui/mcp-ui.d.ts +2 -0
- package/dist/ui/mcp-ui.js +4 -4
- package/dist/ui/mcp-ui.js.map +1 -1
- package/dist/ui/plugin-ui.js +2 -2
- package/dist/ui/plugin-ui.js.map +1 -1
- package/dist/ui/rule-ui.js +4 -5
- package/dist/ui/rule-ui.js.map +1 -1
- package/dist/ui/selection-state.d.ts +0 -1
- package/dist/ui/selection-state.js +2 -5
- package/dist/ui/selection-state.js.map +1 -1
- package/dist/ui/subagent-ui.js +2 -16
- package/dist/ui/subagent-ui.js.map +1 -1
- package/dist/util/cli.d.ts +1 -0
- package/dist/util/cli.js +14 -3
- package/dist/util/cli.js.map +1 -1
- package/dist/util/extras.d.ts +2 -0
- package/dist/util/extras.js +3 -1
- package/dist/util/extras.js.map +1 -1
- package/dist/util/markdown.js +8 -2
- package/dist/util/markdown.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import fs from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import { computeLibraryCleanupSet, getLibraryEntry, recordLibraryEntry, removeLibraryEntry, } from '../manifest/store.js';
|
|
4
|
+
import { computeLibraryCleanupSet, getLibraryEntry, hasOtherLibraryEntryAtPath, recordLibraryEntry, removeLibraryEntry, } from '../manifest/store.js';
|
|
5
5
|
import { ensureParentDir } from './fs.js';
|
|
6
6
|
import { loadLibraryAgentSync, updateLibraryAgentSync } from './state.js';
|
|
7
7
|
/**
|
|
@@ -9,6 +9,9 @@ import { loadLibraryAgentSync, updateLibraryAgentSync } from './state.js';
|
|
|
9
9
|
* backing up overwritten files, and updating agentSync hash in section state upon success.
|
|
10
10
|
*/
|
|
11
11
|
export function distributeLibrary(opts) {
|
|
12
|
+
if (opts.scope?.project && opts.projectMode === 'none') {
|
|
13
|
+
return { results: [] };
|
|
14
|
+
}
|
|
12
15
|
const agentSync = loadLibraryAgentSync(opts.section);
|
|
13
16
|
const results = [];
|
|
14
17
|
const timestamp = new Date().toISOString();
|
|
@@ -17,9 +20,11 @@ export function distributeLibrary(opts) {
|
|
|
17
20
|
const manifestSection = opts.section;
|
|
18
21
|
// Extract managed context with proper narrowing (avoids non-null assertions throughout)
|
|
19
22
|
const managedProjectRoot = opts.scope?.project;
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
const requiresManagedManifest = managedProjectRoot && (opts.projectMode ?? 'exclusive') === 'managed';
|
|
24
|
+
if (requiresManagedManifest && !opts.manifest) {
|
|
25
|
+
throw new Error('Managed project distribution requires a valid manifest');
|
|
26
|
+
}
|
|
27
|
+
const manifest = requiresManagedManifest ? opts.manifest : undefined;
|
|
23
28
|
// First managed sync: if manifest has no entries for this section, skip
|
|
24
29
|
// conflict detection so existing files get adopted into the manifest.
|
|
25
30
|
const sectionEntries = manifest?.sections[manifestSection];
|
|
@@ -48,12 +53,12 @@ export function distributeLibrary(opts) {
|
|
|
48
53
|
if (manifest && !isBootstrapSync && existing !== null && entryId) {
|
|
49
54
|
const manifestEntry = getLibraryEntry(manifest, manifestSection, entryId, platform);
|
|
50
55
|
if (!manifestEntry && collision !== 'takeover') {
|
|
51
|
-
|
|
56
|
+
const isHardError = collision === 'error';
|
|
52
57
|
writtenOrSkipped.push({
|
|
53
58
|
platform,
|
|
54
59
|
filePath,
|
|
55
|
-
status: 'conflict',
|
|
56
|
-
reason: 'foreign file exists',
|
|
60
|
+
status: isHardError ? 'error' : 'conflict',
|
|
61
|
+
...(isHardError ? { error: 'foreign file exists' } : { reason: 'foreign file exists' }),
|
|
57
62
|
entryId,
|
|
58
63
|
});
|
|
59
64
|
// Intentionally not included in aggregate hash: content was not
|
|
@@ -115,16 +120,35 @@ export function distributeLibrary(opts) {
|
|
|
115
120
|
for (const item of toRemove) {
|
|
116
121
|
const entryPath = path.join(path.resolve(managedProjectRoot), item.entry.relativePath);
|
|
117
122
|
try {
|
|
118
|
-
|
|
123
|
+
const sharedPathStillOwned = hasOtherLibraryEntryAtPath(manifest, manifestSection, item.entry.relativePath, item.id, platform);
|
|
124
|
+
if (sharedPathStillOwned) {
|
|
125
|
+
results.push({
|
|
126
|
+
platform,
|
|
127
|
+
filePath: entryPath,
|
|
128
|
+
status: 'skipped',
|
|
129
|
+
reason: 'shared path still owned by another target',
|
|
130
|
+
entryId: item.id,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
else if (fs.existsSync(entryPath)) {
|
|
119
134
|
fs.unlinkSync(entryPath);
|
|
135
|
+
results.push({
|
|
136
|
+
platform,
|
|
137
|
+
filePath: entryPath,
|
|
138
|
+
status: 'deleted',
|
|
139
|
+
reason: 'orphan',
|
|
140
|
+
entryId: item.id,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
results.push({
|
|
145
|
+
platform,
|
|
146
|
+
filePath: entryPath,
|
|
147
|
+
status: 'deleted',
|
|
148
|
+
reason: 'orphan',
|
|
149
|
+
entryId: item.id,
|
|
150
|
+
});
|
|
120
151
|
}
|
|
121
|
-
results.push({
|
|
122
|
-
platform,
|
|
123
|
-
filePath: entryPath,
|
|
124
|
-
status: 'deleted',
|
|
125
|
-
reason: 'orphan',
|
|
126
|
-
entryId: item.id,
|
|
127
|
-
});
|
|
128
152
|
removeLibraryEntry(manifest, manifestSection, item.id, platform);
|
|
129
153
|
}
|
|
130
154
|
catch (error) {
|
|
@@ -150,7 +174,7 @@ export function distributeLibrary(opts) {
|
|
|
150
174
|
// Skip directories
|
|
151
175
|
if (fs.statSync(filePath).isDirectory())
|
|
152
176
|
continue;
|
|
153
|
-
const id = opts.cleanup.extractId(file);
|
|
177
|
+
const id = opts.cleanup.extractId(file, platform);
|
|
154
178
|
if (id !== null && !activeIds.has(id)) {
|
|
155
179
|
try {
|
|
156
180
|
fs.unlinkSync(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribute.js","sourceRoot":"","sources":["../../src/library/distribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,wBAAwB,EACxB,eAAe,
|
|
1
|
+
{"version":3,"file":"distribute.js","sourceRoot":"","sources":["../../src/library/distribute.ts"],"names":[],"mappings":"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"}
|
package/dist/library/state.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { resolveScopedSectionConfig } from '../config/application-config.js';
|
|
2
|
+
import { normalizeSectionEntryIds, resolveScopedSectionConfig, } from '../config/application-config.js';
|
|
3
3
|
import { loadMergedSwitchboardConfig, loadWritableConfigLayer, updateConfigLayer, } from '../config/layered-config.js';
|
|
4
4
|
import { scopeToLayerOptions } from '../config/scope.js';
|
|
5
5
|
const appSyncEntrySchema = z
|
|
@@ -17,7 +17,7 @@ const sectionStateSchema = z
|
|
|
17
17
|
export function loadMcpEnabledState(scope) {
|
|
18
18
|
const layerOptions = scopeToLayerOptions(scope);
|
|
19
19
|
const { config } = loadMergedSwitchboardConfig(layerOptions);
|
|
20
|
-
return [...config.mcp.enabled];
|
|
20
|
+
return normalizeSectionEntryIds('mcp', [...config.mcp.enabled], scope);
|
|
21
21
|
}
|
|
22
22
|
export function hasMcpEnabledInConfig(scope) {
|
|
23
23
|
const layerOptions = scopeToLayerOptions(scope);
|
|
@@ -45,12 +45,20 @@ const agentSyncCache = {
|
|
|
45
45
|
};
|
|
46
46
|
function getConfigSectionEnabled(section, options) {
|
|
47
47
|
const { config } = loadMergedSwitchboardConfig(options);
|
|
48
|
-
return [...config[section].enabled]
|
|
48
|
+
return normalizeSectionEntryIds(section, [...config[section].enabled], {
|
|
49
|
+
profile: options?.profile,
|
|
50
|
+
project: options?.projectPath,
|
|
51
|
+
});
|
|
49
52
|
}
|
|
50
53
|
function getWritableConfigSectionEnabled(section, options) {
|
|
51
54
|
const layer = loadWritableConfigLayer(options);
|
|
52
55
|
const sectionConfig = (layer.config[section] ?? {});
|
|
53
|
-
return Array.isArray(sectionConfig.enabled)
|
|
56
|
+
return Array.isArray(sectionConfig.enabled)
|
|
57
|
+
? normalizeSectionEntryIds(section, [...sectionConfig.enabled], {
|
|
58
|
+
profile: options?.profile,
|
|
59
|
+
project: options?.projectPath,
|
|
60
|
+
})
|
|
61
|
+
: [];
|
|
54
62
|
}
|
|
55
63
|
export function loadLibraryStateSection(section, scope) {
|
|
56
64
|
const layerOptions = scopeToLayerOptions(scope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/library/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/library/state.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest/store.d.ts
CHANGED
|
@@ -6,7 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ManagedMcpEntry, ManifestEntry, ManifestSections, ProjectDistributionManifest, RulesManifestEntry } from './types.js';
|
|
8
8
|
export declare function resolveManifestPath(projectRoot: string): string;
|
|
9
|
-
export
|
|
9
|
+
export interface ManifestLoadResult {
|
|
10
|
+
manifest: ProjectDistributionManifest;
|
|
11
|
+
/** True when the manifest file existed on disk (even if corrupt). */
|
|
12
|
+
existedOnDisk: boolean;
|
|
13
|
+
/** True when the file existed but could not be parsed or had an unsupported version. */
|
|
14
|
+
corrupt: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function loadManifest(projectRoot: string): ManifestLoadResult;
|
|
10
17
|
export declare function saveManifest(projectRoot: string, manifest: ProjectDistributionManifest): void;
|
|
11
18
|
export type LibraryManifestSection = 'skills' | 'commands' | 'agents';
|
|
12
19
|
export interface ManifestCleanupItem {
|
|
@@ -41,12 +48,16 @@ export declare function computeMcpCleanupSet(manifest: ProjectDistributionManife
|
|
|
41
48
|
* Returns bare server names (not composite keys).
|
|
42
49
|
*/
|
|
43
50
|
export declare function getOwnedMcpServers(manifest: ProjectDistributionManifest, targetId: string): Set<string>;
|
|
51
|
+
export declare function getOwnedMcpServersForPath(manifest: ProjectDistributionManifest, relativePath: string): Set<string>;
|
|
52
|
+
export declare function getOwnedMcpTargetIds(manifest: ProjectDistributionManifest): Set<string>;
|
|
53
|
+
export declare function getMcpEntryKeysForPath(manifest: ProjectDistributionManifest, relativePath: string, excludeTargetIds?: ReadonlySet<string>): string[];
|
|
44
54
|
/**
|
|
45
55
|
* Get manifest entry for a library section item, if it exists.
|
|
46
56
|
* When targetId is provided, looks up the composite key directly.
|
|
47
57
|
* Without targetId, scans for the first entry matching the bare id.
|
|
48
58
|
*/
|
|
49
59
|
export declare function getLibraryEntry(manifest: ProjectDistributionManifest, section: LibraryManifestSection, id: string, targetId?: string): ManifestEntry | undefined;
|
|
60
|
+
export declare function hasOtherLibraryEntryAtPath(manifest: ProjectDistributionManifest, section: LibraryManifestSection, relativePath: string, excludeId: string, excludeTargetId: string): boolean;
|
|
50
61
|
/**
|
|
51
62
|
* Resolve the effective sections record, ensuring it exists.
|
|
52
63
|
*/
|
package/dist/manifest/store.js
CHANGED
|
@@ -20,17 +20,21 @@ function emptyManifest() {
|
|
|
20
20
|
}
|
|
21
21
|
export function loadManifest(projectRoot) {
|
|
22
22
|
const filePath = resolveManifestPath(projectRoot);
|
|
23
|
+
if (!fs.existsSync(filePath)) {
|
|
24
|
+
return { manifest: emptyManifest(), existedOnDisk: false, corrupt: false };
|
|
25
|
+
}
|
|
23
26
|
try {
|
|
24
|
-
if (!fs.existsSync(filePath))
|
|
25
|
-
return emptyManifest();
|
|
26
27
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
27
28
|
const parsed = JSON.parse(content);
|
|
28
|
-
if (parsed.version !== 1)
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
if (parsed.version !== 1) {
|
|
30
|
+
console.warn(`[asb] Manifest version mismatch at ${filePath} (expected 1, got ${parsed.version})`);
|
|
31
|
+
return { manifest: emptyManifest(), existedOnDisk: true, corrupt: true };
|
|
32
|
+
}
|
|
33
|
+
return { manifest: parsed, existedOnDisk: true, corrupt: false };
|
|
31
34
|
}
|
|
32
|
-
catch {
|
|
33
|
-
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.warn(`[asb] Failed to parse manifest at ${filePath}: ${error instanceof Error ? error.message : error}`);
|
|
37
|
+
return { manifest: emptyManifest(), existedOnDisk: true, corrupt: true };
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
export function saveManifest(projectRoot, manifest) {
|
|
@@ -40,7 +44,9 @@ export function saveManifest(projectRoot, manifest) {
|
|
|
40
44
|
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
41
45
|
}
|
|
42
46
|
manifest.updatedAt = new Date().toISOString();
|
|
43
|
-
|
|
47
|
+
const tmpPath = `${filePath}.tmp.${process.pid}`;
|
|
48
|
+
fs.writeFileSync(tmpPath, `${JSON.stringify(manifest, null, 2)}\n`, 'utf-8');
|
|
49
|
+
fs.renameSync(tmpPath, filePath);
|
|
44
50
|
}
|
|
45
51
|
// ── Composite key helpers ──────────────────────────────────
|
|
46
52
|
const KEY_SEP = '::';
|
|
@@ -156,6 +162,42 @@ export function getOwnedMcpServers(manifest, targetId) {
|
|
|
156
162
|
}
|
|
157
163
|
return owned;
|
|
158
164
|
}
|
|
165
|
+
export function getOwnedMcpServersForPath(manifest, relativePath) {
|
|
166
|
+
const sec = manifest.sections.mcp;
|
|
167
|
+
if (!sec)
|
|
168
|
+
return new Set();
|
|
169
|
+
const owned = new Set();
|
|
170
|
+
for (const [key, entry] of Object.entries(sec)) {
|
|
171
|
+
if (entry.relativePath === relativePath) {
|
|
172
|
+
owned.add(parseManifestKey(key).id);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return owned;
|
|
176
|
+
}
|
|
177
|
+
export function getOwnedMcpTargetIds(manifest) {
|
|
178
|
+
const sec = manifest.sections.mcp;
|
|
179
|
+
if (!sec)
|
|
180
|
+
return new Set();
|
|
181
|
+
const targetIds = new Set();
|
|
182
|
+
for (const entry of Object.values(sec)) {
|
|
183
|
+
targetIds.add(entry.targetId);
|
|
184
|
+
}
|
|
185
|
+
return targetIds;
|
|
186
|
+
}
|
|
187
|
+
export function getMcpEntryKeysForPath(manifest, relativePath, excludeTargetIds) {
|
|
188
|
+
const sec = manifest.sections.mcp;
|
|
189
|
+
if (!sec)
|
|
190
|
+
return [];
|
|
191
|
+
const keys = [];
|
|
192
|
+
for (const [key, entry] of Object.entries(sec)) {
|
|
193
|
+
if (entry.relativePath !== relativePath)
|
|
194
|
+
continue;
|
|
195
|
+
if (excludeTargetIds?.has(entry.targetId))
|
|
196
|
+
continue;
|
|
197
|
+
keys.push(key);
|
|
198
|
+
}
|
|
199
|
+
return keys;
|
|
200
|
+
}
|
|
159
201
|
/**
|
|
160
202
|
* Get manifest entry for a library section item, if it exists.
|
|
161
203
|
* When targetId is provided, looks up the composite key directly.
|
|
@@ -174,6 +216,19 @@ export function getLibraryEntry(manifest, section, id, targetId) {
|
|
|
174
216
|
}
|
|
175
217
|
return undefined;
|
|
176
218
|
}
|
|
219
|
+
export function hasOtherLibraryEntryAtPath(manifest, section, relativePath, excludeId, excludeTargetId) {
|
|
220
|
+
const sec = manifest.sections[section];
|
|
221
|
+
if (!sec)
|
|
222
|
+
return false;
|
|
223
|
+
for (const [key, entry] of Object.entries(sec)) {
|
|
224
|
+
const { id, targetId } = parseManifestKey(key);
|
|
225
|
+
if (id === excludeId && targetId === excludeTargetId)
|
|
226
|
+
continue;
|
|
227
|
+
if (entry.relativePath === relativePath)
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
177
232
|
/**
|
|
178
233
|
* Resolve the effective sections record, ensuring it exists.
|
|
179
234
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/manifest/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/manifest/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,9 @@ export interface PluginComponents {
|
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Load all components (commands, agents, skills) from a single plugin directory.
|
|
28
|
-
* The namespace
|
|
28
|
+
* The namespace defaults to the plugin name, producing IDs like "plugin-name:component-id".
|
|
29
29
|
*
|
|
30
30
|
* When `customPaths` is present on the plugin (from strict mode resolution),
|
|
31
31
|
* commands/agents are loaded from those specific files instead of scanning directories.
|
|
32
32
|
*/
|
|
33
|
-
export declare function loadPluginComponents(plugin: ResolvedPlugin): PluginComponents;
|
|
33
|
+
export declare function loadPluginComponents(plugin: ResolvedPlugin, namespace?: string): PluginComponents;
|
|
@@ -12,18 +12,20 @@ function isMarkdownFile(name) {
|
|
|
12
12
|
const ext = path.extname(name).toLowerCase();
|
|
13
13
|
return ext === '.md' || ext === '.markdown';
|
|
14
14
|
}
|
|
15
|
+
function byEntryName(a, b) {
|
|
16
|
+
return a.name.localeCompare(b.name);
|
|
17
|
+
}
|
|
15
18
|
function toId(fileName) {
|
|
16
19
|
return path.basename(fileName, path.extname(fileName));
|
|
17
20
|
}
|
|
18
21
|
/**
|
|
19
22
|
* Load all components (commands, agents, skills) from a single plugin directory.
|
|
20
|
-
* The namespace
|
|
23
|
+
* The namespace defaults to the plugin name, producing IDs like "plugin-name:component-id".
|
|
21
24
|
*
|
|
22
25
|
* When `customPaths` is present on the plugin (from strict mode resolution),
|
|
23
26
|
* commands/agents are loaded from those specific files instead of scanning directories.
|
|
24
27
|
*/
|
|
25
|
-
export function loadPluginComponents(plugin) {
|
|
26
|
-
const namespace = plugin.name;
|
|
28
|
+
export function loadPluginComponents(plugin, namespace = plugin.name) {
|
|
27
29
|
const result = { commands: [], agents: [], skills: [], hooks: [] };
|
|
28
30
|
if (plugin.customPaths?.commands) {
|
|
29
31
|
result.commands = loadFromCustomPaths(plugin.localPath, plugin.customPaths.commands, namespace, 'command');
|
|
@@ -86,7 +88,7 @@ function loadMarkdownEntries(directory, namespace, kind) {
|
|
|
86
88
|
if (!fs.existsSync(directory) || !fs.statSync(directory).isDirectory()) {
|
|
87
89
|
return [];
|
|
88
90
|
}
|
|
89
|
-
const entries = fs.readdirSync(directory, { withFileTypes: true });
|
|
91
|
+
const entries = fs.readdirSync(directory, { withFileTypes: true }).sort(byEntryName);
|
|
90
92
|
const result = [];
|
|
91
93
|
for (const entry of entries) {
|
|
92
94
|
if (!entry.isFile() || !isMarkdownFile(entry.name))
|
|
@@ -124,7 +126,7 @@ function loadSkillEntries(pluginDir, namespace) {
|
|
|
124
126
|
return [];
|
|
125
127
|
}
|
|
126
128
|
const result = [];
|
|
127
|
-
const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
129
|
+
const entries = fs.readdirSync(skillsDir, { withFileTypes: true }).sort(byEntryName);
|
|
128
130
|
for (const entry of entries) {
|
|
129
131
|
if (!entry.isDirectory())
|
|
130
132
|
continue;
|
|
@@ -166,7 +168,7 @@ function loadHookEntries(pluginDir, namespace) {
|
|
|
166
168
|
return [];
|
|
167
169
|
}
|
|
168
170
|
const result = [];
|
|
169
|
-
const entries = fs.readdirSync(hooksDir, { withFileTypes: true });
|
|
171
|
+
const entries = fs.readdirSync(hooksDir, { withFileTypes: true }).sort(byEntryName);
|
|
170
172
|
for (const entry of entries) {
|
|
171
173
|
if (entry.isFile() && path.extname(entry.name).toLowerCase() === '.json') {
|
|
172
174
|
const absolutePath = path.join(hooksDir, entry.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/marketplace/plugin-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAuBzD,MAAM,UAAU,GAAG,UAAU,CAAC;AAE9B,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,WAAW,CAAC;AAC9C,CAAC;AAED,SAAS,IAAI,CAAC,QAAgB;IAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,
|
|
1
|
+
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/marketplace/plugin-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAuBzD,MAAM,UAAU,GAAG,UAAU,CAAC;AAE9B,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,WAAW,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,CAAY,EAAE,CAAY;IAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,IAAI,CAAC,QAAgB;IAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAsB,EACtB,SAAS,GAAG,MAAM,CAAC,IAAI;IAEvB,MAAM,MAAM,GAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAErF,IAAI,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CACnC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CAAC,QAAQ,EAC3B,SAAS,EACT,SAAS,CACV,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,EACvC,SAAS,EACT,SAAS,CACV,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,mBAAmB,CACjC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CAAC,MAAM,EACzB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,GAAG,mBAAmB,CACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,EACrC,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,UAAkB,EAClB,WAAqB,EACrB,SAAiB,EACjB,IAAY;IAEZ,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAI,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAAE,SAAS;QAE3D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;YAEpC,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE;gBACF,MAAM;gBACN,SAAS;gBACT,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBAClC,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;aACnB,CAAC,CAAC;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,oBAAoB,UAAU,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,SAAiB,EACjB,SAAiB,EACjB,IAAY;IAEZ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrF,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAE7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;YAEpC,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE;gBACF,MAAM;gBACN,SAAS;gBACT,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;aACnB,CAAC,CAAC;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,SAAiB,EAAE,SAAiB;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAErF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAExC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;YAEpC,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE;gBACF,MAAM;gBACN,SAAS;gBACT,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,QAAQ;gBACjB,SAAS;gBACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,SAAiB,EAAE,SAAiB;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEpF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAE1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;gBAEpC,8EAA8E;gBAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEhF,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE;oBACF,MAAM;oBACN,SAAS;oBACT,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,UAAU;oBACpB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBAC3C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,SAAS;YAE3C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAElD,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE;oBACF,MAAM;oBACN,SAAS;oBACT,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* appropriate components from each.
|
|
5
5
|
*/
|
|
6
6
|
import { getSourcesRecord } from '../library/sources.js';
|
|
7
|
+
import { buildPluginId } from '../plugins/identity.js';
|
|
7
8
|
import { loadPluginComponents } from './plugin-loader.js';
|
|
8
9
|
import { isMarketplace, readMarketplace } from './reader.js';
|
|
9
10
|
/**
|
|
@@ -29,7 +30,8 @@ export function loadEntriesFromSources(scope) {
|
|
|
29
30
|
if (isMarketplace(basePath)) {
|
|
30
31
|
const result = readMarketplace(basePath);
|
|
31
32
|
for (const plugin of result.plugins) {
|
|
32
|
-
const
|
|
33
|
+
const pluginId = buildPluginId(plugin.name, namespace, 'marketplace');
|
|
34
|
+
const components = loadPluginComponents(plugin, pluginId);
|
|
33
35
|
marketplaceEntries.commands.push(...components.commands);
|
|
34
36
|
marketplaceEntries.agents.push(...components.agents);
|
|
35
37
|
marketplaceEntries.skills.push(...components.skills);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-loader.js","sourceRoot":"","sources":["../../src/marketplace/source-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"source-loader.js","sourceRoot":"","sources":["../../src/marketplace/source-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAA6B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS7D;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IAIxD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,aAAa,GAAmD,EAAE,CAAC;IACzE,MAAM,kBAAkB,GAA6B;QACnD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBACtE,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC1D,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACzD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC/C,CAAC"}
|