agent-switchboard 0.3.10 → 0.4.1
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/agents/claude-code.d.ts +2 -0
- package/dist/agents/claude-code.js +5 -5
- package/dist/agents/claude-code.js.map +1 -1
- package/dist/agents/codex.d.ts +6 -0
- package/dist/agents/codex.js +65 -2
- package/dist/agents/codex.js.map +1 -1
- package/dist/agents/cursor.d.ts +2 -0
- package/dist/agents/cursor.js +5 -3
- package/dist/agents/cursor.js.map +1 -1
- package/dist/agents/gemini.d.ts +2 -0
- package/dist/agents/gemini.js +23 -3
- package/dist/agents/gemini.js.map +1 -1
- package/dist/agents/json-utils.d.ts +5 -0
- package/dist/agents/json-utils.js +21 -0
- package/dist/agents/json-utils.js.map +1 -1
- package/dist/agents/opencode.d.ts +2 -0
- package/dist/agents/opencode.js +14 -6
- package/dist/agents/opencode.js.map +1 -1
- package/dist/agents/trae.d.ts +2 -0
- package/dist/agents/trae.js +5 -3
- package/dist/agents/trae.js.map +1 -1
- package/dist/commands/distribution.d.ts +2 -2
- package/dist/commands/distribution.js +4 -1
- package/dist/commands/distribution.js.map +1 -1
- package/dist/config/application-config.js +2 -2
- package/dist/config/application-config.js.map +1 -1
- package/dist/config/schemas.d.ts +683 -0
- package/dist/config/schemas.js +33 -0
- package/dist/config/schemas.js.map +1 -1
- package/dist/index.js +4 -28
- package/dist/index.js.map +1 -1
- package/dist/library/distribute-bundle.d.ts +13 -1
- package/dist/library/distribute-bundle.js +154 -35
- package/dist/library/distribute-bundle.js.map +1 -1
- package/dist/library/distribute.d.ts +16 -1
- package/dist/library/distribute.js +107 -34
- package/dist/library/distribute.js.map +1 -1
- package/dist/manifest/store.d.ts +53 -0
- package/dist/manifest/store.js +183 -0
- package/dist/manifest/store.js.map +1 -0
- package/dist/manifest/types.d.ts +52 -0
- package/dist/manifest/types.js +9 -0
- package/dist/manifest/types.js.map +1 -0
- package/dist/mcp/distribution.d.ts +5 -0
- package/dist/mcp/distribution.js +42 -10
- package/dist/mcp/distribution.js.map +1 -1
- package/dist/plugins/index.js +21 -7
- package/dist/plugins/index.js.map +1 -1
- package/dist/rules/block-merge.d.ts +24 -0
- package/dist/rules/block-merge.js +68 -0
- package/dist/rules/block-merge.js.map +1 -0
- package/dist/rules/distribution.d.ts +7 -0
- package/dist/rules/distribution.js +94 -8
- package/dist/rules/distribution.js.map +1 -1
- package/dist/skills/distribution.d.ts +5 -1
- package/dist/skills/distribution.js +9 -0
- package/dist/skills/distribution.js.map +1 -1
- package/dist/subagents/distribution.d.ts +2 -2
- package/dist/subagents/distribution.js +4 -1
- package/dist/subagents/distribution.js.map +1 -1
- package/dist/sync/command.js +58 -14
- 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/codex.js +3 -1
- package/dist/targets/builtin/codex.js.map +1 -1
- package/dist/targets/builtin/cursor.js +3 -1
- package/dist/targets/builtin/cursor.js.map +1 -1
- package/dist/targets/builtin/gemini.js +1 -1
- package/dist/targets/builtin/gemini.js.map +1 -1
- package/dist/targets/builtin/opencode.js +1 -1
- package/dist/targets/builtin/opencode.js.map +1 -1
- package/dist/targets/builtin/trae.js +3 -1
- package/dist/targets/builtin/trae.js.map +1 -1
- package/dist/targets/types.d.ts +8 -1
- package/dist/targets/types.js.map +1 -1
- package/dist/types.d.ts +0 -11
- package/dist/types.js.map +1 -1
- package/dist/ui/mcp-ui.d.ts +1 -10
- package/dist/ui/mcp-ui.js +33 -28
- package/dist/ui/mcp-ui.js.map +1 -1
- package/dist/util/cli.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project distribution manifest I/O and helpers.
|
|
3
|
+
*
|
|
4
|
+
* The manifest lives at `<project>/.asb/state/distribution.json` and records
|
|
5
|
+
* which artifacts ASB has written, enabling manifest-driven cleanup.
|
|
6
|
+
*/
|
|
7
|
+
import fs from 'node:fs';
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
const MANIFEST_DIR = '.asb/state';
|
|
10
|
+
const MANIFEST_FILENAME = 'distribution.json';
|
|
11
|
+
export function resolveManifestPath(projectRoot) {
|
|
12
|
+
return path.join(projectRoot, MANIFEST_DIR, MANIFEST_FILENAME);
|
|
13
|
+
}
|
|
14
|
+
function emptyManifest() {
|
|
15
|
+
return {
|
|
16
|
+
version: 1,
|
|
17
|
+
updatedAt: new Date().toISOString(),
|
|
18
|
+
sections: {},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function loadManifest(projectRoot) {
|
|
22
|
+
const filePath = resolveManifestPath(projectRoot);
|
|
23
|
+
try {
|
|
24
|
+
if (!fs.existsSync(filePath))
|
|
25
|
+
return emptyManifest();
|
|
26
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
27
|
+
const parsed = JSON.parse(content);
|
|
28
|
+
if (parsed.version !== 1)
|
|
29
|
+
return emptyManifest();
|
|
30
|
+
return parsed;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return emptyManifest();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function saveManifest(projectRoot, manifest) {
|
|
37
|
+
const filePath = resolveManifestPath(projectRoot);
|
|
38
|
+
const dir = path.dirname(filePath);
|
|
39
|
+
if (!fs.existsSync(dir)) {
|
|
40
|
+
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
41
|
+
}
|
|
42
|
+
manifest.updatedAt = new Date().toISOString();
|
|
43
|
+
fs.writeFileSync(filePath, `${JSON.stringify(manifest, null, 2)}\n`, 'utf-8');
|
|
44
|
+
}
|
|
45
|
+
// ── Composite key helpers ──────────────────────────────────
|
|
46
|
+
const KEY_SEP = '::';
|
|
47
|
+
/** Build a manifest key that is unique per (id, targetId) pair. */
|
|
48
|
+
function manifestKey(id, targetId) {
|
|
49
|
+
return `${id}${KEY_SEP}${targetId}`;
|
|
50
|
+
}
|
|
51
|
+
/** Parse a composite manifest key back to id and targetId. */
|
|
52
|
+
function parseManifestKey(key) {
|
|
53
|
+
const sep = key.indexOf(KEY_SEP);
|
|
54
|
+
if (sep === -1)
|
|
55
|
+
return { id: key, targetId: '' };
|
|
56
|
+
return { id: key.slice(0, sep), targetId: key.slice(sep + KEY_SEP.length) };
|
|
57
|
+
}
|
|
58
|
+
export function recordLibraryEntry(manifest, section, id, entry) {
|
|
59
|
+
const sec = (manifest.sections[section] ?? {});
|
|
60
|
+
sec[manifestKey(id, entry.targetId)] = entry;
|
|
61
|
+
manifest.sections[section] = sec;
|
|
62
|
+
}
|
|
63
|
+
export function removeLibraryEntry(manifest, section, id, targetId) {
|
|
64
|
+
const sec = manifest.sections[section];
|
|
65
|
+
if (!sec)
|
|
66
|
+
return;
|
|
67
|
+
if (targetId) {
|
|
68
|
+
delete sec[manifestKey(id, targetId)];
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
for (const key of Object.keys(sec)) {
|
|
72
|
+
if (parseManifestKey(key).id === id)
|
|
73
|
+
delete sec[key];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function recordMcpEntry(manifest, serverName, entry) {
|
|
78
|
+
const sec = (manifest.sections.mcp ?? {});
|
|
79
|
+
sec[manifestKey(serverName, entry.targetId)] = entry;
|
|
80
|
+
manifest.sections.mcp = sec;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Remove an MCP manifest entry by its composite key (as returned by
|
|
84
|
+
* `computeMcpCleanupSet`).
|
|
85
|
+
*/
|
|
86
|
+
export function removeMcpEntry(manifest, compositeKey) {
|
|
87
|
+
const sec = manifest.sections.mcp;
|
|
88
|
+
if (sec)
|
|
89
|
+
delete sec[compositeKey];
|
|
90
|
+
}
|
|
91
|
+
export function recordRulesEntry(manifest, filePathKey, entry) {
|
|
92
|
+
const sec = (manifest.sections.rules ?? {});
|
|
93
|
+
sec[filePathKey] = entry;
|
|
94
|
+
manifest.sections.rules = sec;
|
|
95
|
+
}
|
|
96
|
+
export function removeRulesEntry(manifest, filePathKey) {
|
|
97
|
+
const sec = manifest.sections.rules;
|
|
98
|
+
if (sec)
|
|
99
|
+
delete sec[filePathKey];
|
|
100
|
+
}
|
|
101
|
+
// ── Cleanup computation ────────────────────────────────────
|
|
102
|
+
/**
|
|
103
|
+
* Compute entries that were previously owned by ASB but are no longer in the
|
|
104
|
+
* current desired set. These are safe to clean up.
|
|
105
|
+
*
|
|
106
|
+
* Returns `ManifestCleanupItem[]` with the bare entry id and the full entry,
|
|
107
|
+
* so callers can resolve file paths and remove the manifest record.
|
|
108
|
+
*/
|
|
109
|
+
export function computeLibraryCleanupSet(manifest, section, currentDesiredIds, targetId) {
|
|
110
|
+
const sec = manifest.sections[section];
|
|
111
|
+
if (!sec)
|
|
112
|
+
return [];
|
|
113
|
+
const toRemove = [];
|
|
114
|
+
for (const [key, entry] of Object.entries(sec)) {
|
|
115
|
+
if (targetId && entry.targetId !== targetId)
|
|
116
|
+
continue;
|
|
117
|
+
const { id } = parseManifestKey(key);
|
|
118
|
+
if (!currentDesiredIds.has(id)) {
|
|
119
|
+
toRemove.push({ id, entry });
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return toRemove;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Compute MCP composite keys that were previously owned but are no longer enabled.
|
|
126
|
+
* Returns composite keys (serverName::targetId) for use with `removeMcpEntry`.
|
|
127
|
+
*/
|
|
128
|
+
export function computeMcpCleanupSet(manifest, currentDesiredNames, targetId) {
|
|
129
|
+
const sec = manifest.sections.mcp;
|
|
130
|
+
if (!sec)
|
|
131
|
+
return [];
|
|
132
|
+
const toRemove = [];
|
|
133
|
+
for (const [key, entry] of Object.entries(sec)) {
|
|
134
|
+
if (targetId && entry.targetId !== targetId)
|
|
135
|
+
continue;
|
|
136
|
+
const { id: serverName } = parseManifestKey(key);
|
|
137
|
+
if (!currentDesiredNames.has(serverName)) {
|
|
138
|
+
toRemove.push(key);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return toRemove;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get the set of previously-owned MCP server names for a given target.
|
|
145
|
+
* Returns bare server names (not composite keys).
|
|
146
|
+
*/
|
|
147
|
+
export function getOwnedMcpServers(manifest, targetId) {
|
|
148
|
+
const sec = manifest.sections.mcp;
|
|
149
|
+
if (!sec)
|
|
150
|
+
return new Set();
|
|
151
|
+
const owned = new Set();
|
|
152
|
+
for (const [key, entry] of Object.entries(sec)) {
|
|
153
|
+
if (entry.targetId === targetId) {
|
|
154
|
+
owned.add(parseManifestKey(key).id);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return owned;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get manifest entry for a library section item, if it exists.
|
|
161
|
+
* When targetId is provided, looks up the composite key directly.
|
|
162
|
+
* Without targetId, scans for the first entry matching the bare id.
|
|
163
|
+
*/
|
|
164
|
+
export function getLibraryEntry(manifest, section, id, targetId) {
|
|
165
|
+
const sec = manifest.sections[section];
|
|
166
|
+
if (!sec)
|
|
167
|
+
return undefined;
|
|
168
|
+
if (targetId) {
|
|
169
|
+
return sec[manifestKey(id, targetId)];
|
|
170
|
+
}
|
|
171
|
+
for (const [key, entry] of Object.entries(sec)) {
|
|
172
|
+
if (parseManifestKey(key).id === id)
|
|
173
|
+
return entry;
|
|
174
|
+
}
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Resolve the effective sections record, ensuring it exists.
|
|
179
|
+
*/
|
|
180
|
+
export function ensureSections(manifest) {
|
|
181
|
+
return manifest.sections;
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/manifest/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project distribution manifest types.
|
|
3
|
+
*
|
|
4
|
+
* The manifest tracks which artifacts ASB has written to a project directory,
|
|
5
|
+
* enabling safe cleanup (only remove ASB-owned items) and conflict detection
|
|
6
|
+
* (don't overwrite project-native content).
|
|
7
|
+
*/
|
|
8
|
+
/** An artifact ASB has distributed (file or bundle directory). */
|
|
9
|
+
export interface ManifestEntry {
|
|
10
|
+
/** Path relative to project root (e.g. ".claude/skills/my-skill") */
|
|
11
|
+
relativePath: string;
|
|
12
|
+
/** Which target app wrote this (e.g. "claude-code", "cursor", "agents") */
|
|
13
|
+
targetId: string;
|
|
14
|
+
/** SHA-256 hash of last-written content */
|
|
15
|
+
hash: string;
|
|
16
|
+
updatedAt: string;
|
|
17
|
+
}
|
|
18
|
+
/** An MCP server key ASB has written into a target config file. */
|
|
19
|
+
export interface ManagedMcpEntry {
|
|
20
|
+
/** Config file path relative to project root (e.g. ".mcp.json") */
|
|
21
|
+
relativePath: string;
|
|
22
|
+
/** Target app that owns this server key */
|
|
23
|
+
targetId: string;
|
|
24
|
+
/** Actual key written into mcpServers (after sanitize) */
|
|
25
|
+
serverKey: string;
|
|
26
|
+
updatedAt: string;
|
|
27
|
+
}
|
|
28
|
+
/** A rules block ASB has injected into a shared or dedicated file. */
|
|
29
|
+
export interface RulesManifestEntry {
|
|
30
|
+
/** File path relative to project root */
|
|
31
|
+
relativePath: string;
|
|
32
|
+
/** "block" = shared file with markers, "full" = dedicated ASB file */
|
|
33
|
+
mode: 'block' | 'full';
|
|
34
|
+
/** Which target apps share this physical file */
|
|
35
|
+
targetIds: string[];
|
|
36
|
+
/** SHA-256 of last-written ASB rules content */
|
|
37
|
+
hash: string;
|
|
38
|
+
updatedAt: string;
|
|
39
|
+
}
|
|
40
|
+
export type ManifestSectionKey = 'skills' | 'commands' | 'agents' | 'mcp' | 'rules';
|
|
41
|
+
export interface ManifestSections {
|
|
42
|
+
skills?: Record<string, ManifestEntry>;
|
|
43
|
+
commands?: Record<string, ManifestEntry>;
|
|
44
|
+
agents?: Record<string, ManifestEntry>;
|
|
45
|
+
mcp?: Record<string, ManagedMcpEntry>;
|
|
46
|
+
rules?: Record<string, RulesManifestEntry>;
|
|
47
|
+
}
|
|
48
|
+
export interface ProjectDistributionManifest {
|
|
49
|
+
version: 1;
|
|
50
|
+
updatedAt: string;
|
|
51
|
+
sections: ManifestSections;
|
|
52
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project distribution manifest types.
|
|
3
|
+
*
|
|
4
|
+
* The manifest tracks which artifacts ASB has written to a project directory,
|
|
5
|
+
* enabling safe cleanup (only remove ASB-owned items) and conflict detection
|
|
6
|
+
* (don't overwrite project-native content).
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/manifest/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ConfigScope } from '../config/scope.js';
|
|
2
|
+
import type { ProjectDistributionManifest } from '../manifest/types.js';
|
|
2
3
|
export interface McpDistributionResult {
|
|
3
4
|
application: string;
|
|
4
5
|
filePath: string;
|
|
@@ -9,5 +10,9 @@ export interface McpDistributionResult {
|
|
|
9
10
|
export interface DistributeMcpOptions {
|
|
10
11
|
useSpinner?: boolean;
|
|
11
12
|
assumeInstalled?: ReadonlySet<string>;
|
|
13
|
+
/** Project distribution manifest for managed merge (project scope only) */
|
|
14
|
+
manifest?: ProjectDistributionManifest;
|
|
15
|
+
/** Project distribution mode */
|
|
16
|
+
projectMode?: 'managed' | 'exclusive' | 'none';
|
|
12
17
|
}
|
|
13
18
|
export declare function distributeMcp(scope?: ConfigScope, enabledServerNames?: string[], options?: DistributeMcpOptions): Promise<McpDistributionResult[]>;
|
package/dist/mcp/distribution.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
2
3
|
import chalk from 'chalk';
|
|
3
4
|
import ora from 'ora';
|
|
4
5
|
import { resolveScopedSectionConfig } from '../config/application-config.js';
|
|
@@ -6,6 +7,7 @@ import { loadMcpConfigWithPlugins } from '../config/mcp-config.js';
|
|
|
6
7
|
import { scopeToLayerOptions } from '../config/scope.js';
|
|
7
8
|
import { loadSwitchboardConfig } from '../config/switchboard-config.js';
|
|
8
9
|
import { loadMcpEnabledState } from '../library/state.js';
|
|
10
|
+
import { computeMcpCleanupSet, getOwnedMcpServers, recordMcpEntry, removeMcpEntry, } from '../manifest/store.js';
|
|
9
11
|
import { initTargets } from '../targets/init.js';
|
|
10
12
|
import { getTargetById } from '../targets/registry.js';
|
|
11
13
|
import { shortenPath } from '../util/cli.js';
|
|
@@ -79,7 +81,38 @@ export async function distributeMcp(scope, enabledServerNames, options) {
|
|
|
79
81
|
if (scope?.project && mcpHandler.applyProjectConfig) {
|
|
80
82
|
const projectPath = mcpHandler.projectConfigPath?.(scope.project) ?? 'project config';
|
|
81
83
|
const before = readFileSafe(projectPath);
|
|
82
|
-
|
|
84
|
+
// Build managed merge options if manifest is provided
|
|
85
|
+
const manifest = options?.manifest;
|
|
86
|
+
const isManaged = manifest && (options?.projectMode ?? 'exclusive') === 'managed';
|
|
87
|
+
const sanitize = mcpHandler.sanitizeServerName;
|
|
88
|
+
const ownedServers = isManaged ? getOwnedMcpServers(manifest, agentId) : new Set();
|
|
89
|
+
const managedOpts = isManaged
|
|
90
|
+
? { previouslyOwned: ownedServers }
|
|
91
|
+
: undefined;
|
|
92
|
+
// Skip silently if no servers to apply and nothing to clean up
|
|
93
|
+
if (Object.keys(configToApply.mcpServers).length === 0 && ownedServers.size === 0) {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
mcpHandler.applyProjectConfig(scope.project, configToApply, managedOpts);
|
|
97
|
+
// Record owned servers in manifest (using sanitized names to match on-disk keys)
|
|
98
|
+
if (isManaged && manifest) {
|
|
99
|
+
const timestamp = new Date().toISOString();
|
|
100
|
+
for (const serverName of Object.keys(configToApply.mcpServers)) {
|
|
101
|
+
const manifestName = sanitize ? sanitize(serverName) : serverName;
|
|
102
|
+
recordMcpEntry(manifest, manifestName, {
|
|
103
|
+
relativePath: path.relative(path.resolve(scope.project), projectPath),
|
|
104
|
+
targetId: agentId,
|
|
105
|
+
serverKey: manifestName,
|
|
106
|
+
updatedAt: timestamp,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
// Remove no-longer-enabled servers from manifest
|
|
110
|
+
const currentDesired = new Set(Object.keys(configToApply.mcpServers).map((n) => (sanitize ? sanitize(n) : n)));
|
|
111
|
+
const toRemove = computeMcpCleanupSet(manifest, currentDesired, agentId);
|
|
112
|
+
for (const name of toRemove) {
|
|
113
|
+
removeMcpEntry(manifest, name);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
83
116
|
const after = readFileSafe(projectPath);
|
|
84
117
|
const changed = before !== after;
|
|
85
118
|
persist(chalk.green('✓'), `${chalk.cyan(agentId)} ${chalk.dim(shortenPath(projectPath))}`);
|
|
@@ -105,15 +138,14 @@ export async function distributeMcp(scope, enabledServerNames, options) {
|
|
|
105
138
|
});
|
|
106
139
|
}
|
|
107
140
|
catch (error) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
141
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
142
|
+
persist(chalk.yellow('⚠'), `${chalk.cyan(agentId)} - ${msg} (skipped)`);
|
|
143
|
+
results.push({
|
|
144
|
+
application: agentId,
|
|
145
|
+
filePath: '(unknown)',
|
|
146
|
+
status: 'error',
|
|
147
|
+
error: `${msg} (skipped)`,
|
|
148
|
+
});
|
|
117
149
|
}
|
|
118
150
|
}
|
|
119
151
|
return results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/mcp/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/mcp/distribution.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/index.js
CHANGED
|
@@ -270,24 +270,38 @@ export function buildPluginIndex(scope) {
|
|
|
270
270
|
buildFromPlugin(namespace, basePath, plugins, mcpServers, ruleSnippets);
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
|
-
|
|
273
|
+
// Build lookup maps: unique IDs get direct entry, collisions tracked for @source disambiguation
|
|
274
|
+
const byId = new Map();
|
|
275
|
+
const byName = new Map();
|
|
276
|
+
for (const p of plugins) {
|
|
277
|
+
byId.set(`${p.id}@${p.meta.sourceName}`, p);
|
|
278
|
+
const existing = byName.get(p.id);
|
|
279
|
+
if (existing) {
|
|
280
|
+
existing.push(p);
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
byName.set(p.id, [p]);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// Bare name resolves only when unambiguous (exactly one plugin with that name)
|
|
287
|
+
for (const [name, descriptors] of byName) {
|
|
288
|
+
if (descriptors.length === 1) {
|
|
289
|
+
byId.set(name, descriptors[0]);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
274
292
|
const index = {
|
|
275
293
|
plugins,
|
|
276
294
|
mcpServers,
|
|
277
295
|
ruleSnippets,
|
|
278
296
|
get(pluginId) {
|
|
279
|
-
// Direct match
|
|
297
|
+
// Direct match: bare name (if unambiguous) or name@source
|
|
280
298
|
const direct = byId.get(pluginId);
|
|
281
299
|
if (direct)
|
|
282
300
|
return direct;
|
|
283
301
|
// Support `name@source` disambiguation syntax
|
|
284
302
|
const atIdx = pluginId.lastIndexOf('@');
|
|
285
303
|
if (atIdx > 0) {
|
|
286
|
-
|
|
287
|
-
const source = pluginId.slice(atIdx + 1);
|
|
288
|
-
const candidate = byId.get(name);
|
|
289
|
-
if (candidate && candidate.meta.sourceName === source)
|
|
290
|
-
return candidate;
|
|
304
|
+
return byId.get(pluginId);
|
|
291
305
|
}
|
|
292
306
|
return undefined;
|
|
293
307
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block merge for shared rules files (CLAUDE.md, AGENTS.md).
|
|
3
|
+
*
|
|
4
|
+
* In managed project mode, ASB content is wrapped in markers so that
|
|
5
|
+
* project-native content is preserved. If markers already exist, only
|
|
6
|
+
* the block between them is replaced.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Merge ASB rules content into an existing file, preserving non-ASB content.
|
|
10
|
+
*
|
|
11
|
+
* - If markers exist: replace content between markers.
|
|
12
|
+
* - If no markers: insert block according to `placement`.
|
|
13
|
+
* - If `asbContent` is empty: remove the block entirely.
|
|
14
|
+
*/
|
|
15
|
+
export declare function mergeRulesBlock(existing: string, asbContent: string, placement?: 'prepend' | 'append'): string;
|
|
16
|
+
/**
|
|
17
|
+
* Remove ASB markers and their content from a file, preserving the rest.
|
|
18
|
+
*/
|
|
19
|
+
export declare function removeRulesBlock(content: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Check if a rules target file is a dedicated ASB file (safe for full replace)
|
|
22
|
+
* vs a shared file (needs block merge).
|
|
23
|
+
*/
|
|
24
|
+
export declare function isDedicatedAsbRulesFile(filePath: string): boolean;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block merge for shared rules files (CLAUDE.md, AGENTS.md).
|
|
3
|
+
*
|
|
4
|
+
* In managed project mode, ASB content is wrapped in markers so that
|
|
5
|
+
* project-native content is preserved. If markers already exist, only
|
|
6
|
+
* the block between them is replaced.
|
|
7
|
+
*/
|
|
8
|
+
const ASB_BLOCK_START = '<!-- asb:rules:start -->';
|
|
9
|
+
const ASB_BLOCK_END = '<!-- asb:rules:end -->';
|
|
10
|
+
/**
|
|
11
|
+
* Merge ASB rules content into an existing file, preserving non-ASB content.
|
|
12
|
+
*
|
|
13
|
+
* - If markers exist: replace content between markers.
|
|
14
|
+
* - If no markers: insert block according to `placement`.
|
|
15
|
+
* - If `asbContent` is empty: remove the block entirely.
|
|
16
|
+
*/
|
|
17
|
+
export function mergeRulesBlock(existing, asbContent, placement = 'prepend') {
|
|
18
|
+
const startIdx = existing.indexOf(ASB_BLOCK_START);
|
|
19
|
+
const endIdx = existing.indexOf(ASB_BLOCK_END);
|
|
20
|
+
if (asbContent.length === 0) {
|
|
21
|
+
// Remove existing block if present
|
|
22
|
+
if (startIdx !== -1 && endIdx !== -1) {
|
|
23
|
+
return removeRulesBlock(existing);
|
|
24
|
+
}
|
|
25
|
+
return existing;
|
|
26
|
+
}
|
|
27
|
+
const block = `${ASB_BLOCK_START}\n${asbContent.trimEnd()}\n${ASB_BLOCK_END}`;
|
|
28
|
+
if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
|
|
29
|
+
// Replace existing block
|
|
30
|
+
const before = existing.slice(0, startIdx);
|
|
31
|
+
const after = existing.slice(endIdx + ASB_BLOCK_END.length);
|
|
32
|
+
return `${before}${block}${after}`;
|
|
33
|
+
}
|
|
34
|
+
// Insert new block
|
|
35
|
+
const trimmed = existing.trimEnd();
|
|
36
|
+
if (placement === 'prepend') {
|
|
37
|
+
if (trimmed.length === 0)
|
|
38
|
+
return `${block}\n`;
|
|
39
|
+
return `${block}\n\n${trimmed}\n`;
|
|
40
|
+
}
|
|
41
|
+
// append
|
|
42
|
+
if (trimmed.length === 0)
|
|
43
|
+
return `${block}\n`;
|
|
44
|
+
return `${trimmed}\n\n${block}\n`;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Remove ASB markers and their content from a file, preserving the rest.
|
|
48
|
+
*/
|
|
49
|
+
export function removeRulesBlock(content) {
|
|
50
|
+
const startIdx = content.indexOf(ASB_BLOCK_START);
|
|
51
|
+
const endIdx = content.indexOf(ASB_BLOCK_END);
|
|
52
|
+
if (startIdx === -1 || endIdx === -1 || endIdx <= startIdx)
|
|
53
|
+
return content;
|
|
54
|
+
const before = content.slice(0, startIdx);
|
|
55
|
+
const after = content.slice(endIdx + ASB_BLOCK_END.length);
|
|
56
|
+
// Clean up extra whitespace left by removal
|
|
57
|
+
const result = (before + after).replace(/\n{3,}/g, '\n\n').trim();
|
|
58
|
+
return result.length > 0 ? `${result}\n` : '';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Check if a rules target file is a dedicated ASB file (safe for full replace)
|
|
62
|
+
* vs a shared file (needs block merge).
|
|
63
|
+
*/
|
|
64
|
+
export function isDedicatedAsbRulesFile(filePath) {
|
|
65
|
+
const basename = filePath.split('/').pop() ?? '';
|
|
66
|
+
return basename.startsWith('asb-rules');
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=block-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-merge.js","sourceRoot":"","sources":["../../src/rules/block-merge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,eAAe,GAAG,0BAA0B,CAAC;AACnD,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,UAAkB,EAClB,YAAkC,SAAS;IAE3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,mCAAmC;QACnC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,eAAe,KAAK,UAAU,CAAC,OAAO,EAAE,KAAK,aAAa,EAAE,CAAC;IAE9E,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1D,yBAAyB;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,mBAAmB;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,KAAK,IAAI,CAAC;QAC9C,OAAO,GAAG,KAAK,OAAO,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,SAAS;IACT,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IAC9C,OAAO,GAAG,OAAO,OAAO,KAAK,IAAI,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE3E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE3D,4CAA4C;IAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACjD,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ConfigScope } from '../config/scope.js';
|
|
2
|
+
import type { ProjectDistributionManifest } from '../manifest/types.js';
|
|
2
3
|
import type { ComposedRules } from './composer.js';
|
|
3
4
|
export type DistributionStatus = 'written' | 'skipped' | 'error' | 'deleted';
|
|
4
5
|
export interface DistributionResult {
|
|
@@ -16,6 +17,12 @@ interface DistributionOptions {
|
|
|
16
17
|
force?: boolean;
|
|
17
18
|
activeAppIds?: string[];
|
|
18
19
|
assumeInstalled?: ReadonlySet<string>;
|
|
20
|
+
/** Project distribution manifest for managed mode */
|
|
21
|
+
manifest?: ProjectDistributionManifest;
|
|
22
|
+
/** Project distribution mode */
|
|
23
|
+
projectMode?: 'managed' | 'exclusive' | 'none';
|
|
24
|
+
/** Rules placement in shared files */
|
|
25
|
+
rulesPlacement?: 'prepend' | 'append';
|
|
19
26
|
}
|
|
20
27
|
export declare function distributeRules(options?: DistributionOptions, scope?: ConfigScope): DistributionOutcome;
|
|
21
28
|
export declare function listUnsupportedAgents(): string[];
|