allagents 1.0.14 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +50 -15
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -30170,6 +30170,21 @@ ${fileValidationErrors.map((e) => ` - ${e}`).join(`
30170
30170
  vscodeState = { hash: result.hash, repos: result.repos };
30171
30171
  }
30172
30172
  }
30173
+ const mcpResults = {};
30174
+ if (syncClients.includes("vscode")) {
30175
+ const trackedMcpServers = getPreviouslySyncedMcpServers(previousState, "vscode");
30176
+ const projectMcpPath = join15(workspacePath, ".vscode", "mcp.json");
30177
+ const vscodeMcp = syncVscodeMcpConfig(validPlugins, {
30178
+ dryRun,
30179
+ force: false,
30180
+ configPath: projectMcpPath,
30181
+ trackedServers: trackedMcpServers
30182
+ });
30183
+ if (vscodeMcp.warnings.length > 0) {
30184
+ warnings.push(...vscodeMcp.warnings);
30185
+ }
30186
+ mcpResults.vscode = vscodeMcp;
30187
+ }
30173
30188
  const { totalCopied, totalFailed, totalSkipped, totalGenerated } = countCopyResults(pluginResults, workspaceFileResults);
30174
30189
  const hasFailures = pluginResults.some((r) => !r.success) || totalFailed > 0;
30175
30190
  const availableSkillNames = await collectAvailableSkillNames(validPlugins);
@@ -30179,7 +30194,12 @@ ${fileValidationErrors.map((e) => ` - ${e}`).join(`
30179
30194
  const deletedArtifacts = computeDeletedArtifacts(previousState, newStatePaths, syncClients, resolvedMappings, availableSkillNames);
30180
30195
  const { pluginsByClient: nativePluginsByClient } = collectNativePluginSources(validPlugins);
30181
30196
  if (!dryRun) {
30182
- await persistSyncState(workspacePath, pluginResults, workspaceFileResults, syncClients, nativePluginsByClient, nativeResult, vscodeState ? { vscodeState } : undefined);
30197
+ await persistSyncState(workspacePath, pluginResults, workspaceFileResults, syncClients, nativePluginsByClient, nativeResult, {
30198
+ ...vscodeState && { vscodeState },
30199
+ ...Object.keys(mcpResults).length > 0 && {
30200
+ mcpTrackedServers: Object.fromEntries(Object.entries(mcpResults).map(([scope, r]) => [scope, r.trackedServers]))
30201
+ }
30202
+ });
30183
30203
  }
30184
30204
  return {
30185
30205
  success: !hasFailures,
@@ -30192,6 +30212,7 @@ ${fileValidationErrors.map((e) => ` - ${e}`).join(`
30192
30212
  ...deletedArtifacts.length > 0 && { deletedArtifacts },
30193
30213
  ...warnings.length > 0 && { warnings },
30194
30214
  ...messages.length > 0 && { messages },
30215
+ ...Object.keys(mcpResults).length > 0 && { mcpResults },
30195
30216
  ...nativeResult && { nativeResult }
30196
30217
  };
30197
30218
  }
@@ -30790,6 +30811,7 @@ function classifyDestination(dest) {
30790
30811
  function classifyCopyResults(copyResults) {
30791
30812
  const clientCounts = new Map;
30792
30813
  const seenDestinations = new Set;
30814
+ const seenClientArtifacts = new Set;
30793
30815
  for (const result of copyResults) {
30794
30816
  if (result.action !== "copied")
30795
30817
  continue;
@@ -30801,6 +30823,11 @@ function classifyCopyResults(copyResults) {
30801
30823
  continue;
30802
30824
  const { artifactType } = classification;
30803
30825
  const client = getDisplayName(classification.client);
30826
+ const artifactName = result.destination.replace(/\\/g, "/").split("/").pop() ?? result.destination;
30827
+ const clientArtifactKey = `${client}|${artifactType}|${artifactName}`;
30828
+ if (seenClientArtifacts.has(clientArtifactKey))
30829
+ continue;
30830
+ seenClientArtifacts.add(clientArtifactKey);
30804
30831
  let counts = clientCounts.get(client);
30805
30832
  if (!counts) {
30806
30833
  counts = { skills: 0, commands: 0, agents: 0, hooks: 0 };
@@ -30856,13 +30883,13 @@ function formatSyncHeader(result) {
30856
30883
  const successCount = result.pluginResults.filter((p) => p.success).length;
30857
30884
  return [
30858
30885
  `Updating ${pluginCount} plugin(s)...`,
30859
- `✓ Successfully updated ${successCount} marketplace(s)`
30886
+ "",
30887
+ `✓ Successfully updated ${successCount} plugin(s)`
30860
30888
  ];
30861
30889
  }
30862
- function formatSyncSummary(result, { dryRun = false, label = "Sync" } = {}) {
30890
+ function formatSyncSummary(result, { dryRun = false } = {}) {
30863
30891
  const lines = [];
30864
30892
  const allCopied = result.pluginResults.flatMap((pr) => pr.copyResults.filter((r) => r.action === "copied"));
30865
- lines.push(`${label} complete${dryRun ? " (dry run)" : ""}:`);
30866
30893
  const classified = classifyCopyResults(allCopied);
30867
30894
  if (classified.size > 0) {
30868
30895
  lines.push(...formatArtifactLines(classified));
@@ -33442,7 +33469,7 @@ var package_default;
33442
33469
  var init_package = __esm(() => {
33443
33470
  package_default = {
33444
33471
  name: "allagents",
33445
- version: "1.0.14",
33472
+ version: "1.1.0",
33446
33473
  description: "CLI tool for managing multi-repo AI agent workspaces with plugin synchronization",
33447
33474
  type: "module",
33448
33475
  bin: {
@@ -36711,7 +36738,7 @@ import { join as join23 } from "node:path";
36711
36738
  async function runSyncAndPrint(options2) {
36712
36739
  if (!isJsonMode()) {
36713
36740
  console.log(`
36714
- Syncing workspace...
36741
+ Updating workspace...
36715
36742
  `);
36716
36743
  }
36717
36744
  const result = await syncWorkspace(process.cwd(), options2);
@@ -36743,6 +36770,19 @@ Syncing workspace...
36743
36770
  }
36744
36771
  }
36745
36772
  }
36773
+ if (result.mcpResults) {
36774
+ for (const [scope, mcpResult] of Object.entries(result.mcpResults)) {
36775
+ if (!mcpResult)
36776
+ continue;
36777
+ const mcpLines = formatMcpResult(mcpResult, scope);
36778
+ if (mcpLines.length > 0) {
36779
+ console.log("");
36780
+ for (const line of mcpLines) {
36781
+ console.log(line);
36782
+ }
36783
+ }
36784
+ }
36785
+ }
36746
36786
  if (result.nativeResult) {
36747
36787
  const nativeLines = formatNativeResult(result.nativeResult);
36748
36788
  if (nativeLines.length > 0) {
@@ -36760,10 +36800,6 @@ Warnings:`);
36760
36800
  console.log(` ⚠ ${warning}`);
36761
36801
  }
36762
36802
  }
36763
- console.log("");
36764
- for (const line of formatSyncSummary(result)) {
36765
- console.log(line);
36766
- }
36767
36803
  }
36768
36804
  return { ok: result.success && result.totalFailed === 0, syncData };
36769
36805
  }
@@ -36820,10 +36856,6 @@ native:`);
36820
36856
  }
36821
36857
  }
36822
36858
  }
36823
- console.log("");
36824
- for (const line of formatSyncSummary(result, { label: "User sync" })) {
36825
- console.log(line);
36826
- }
36827
36859
  }
36828
36860
  return { ok: result.success && result.totalFailed === 0, syncData };
36829
36861
  }
@@ -37503,9 +37535,12 @@ Enabled skills: ${skills.join(", ")}`);
37503
37535
  if (result.autoRegistered) {
37504
37536
  console.log(` Resolved marketplace: ${result.autoRegistered}`);
37505
37537
  }
37506
- console.log(`✓ Installed plugin (${isUser ? "user" : "project"} scope): ${displayPlugin}`);
37538
+ console.log(`Installing plugin "${displayPlugin}"...`);
37507
37539
  }
37508
37540
  const { ok: syncOk, syncData } = isUser ? await runUserSyncAndPrint() : await runSyncAndPrint();
37541
+ if (!isJsonMode() && syncOk) {
37542
+ console.log(`✔ Successfully installed plugin: ${displayPlugin} (scope: ${isUser ? "user" : "project"})`);
37543
+ }
37509
37544
  if (isJsonMode()) {
37510
37545
  jsonOutput({
37511
37546
  success: syncOk,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "allagents",
3
- "version": "1.0.14",
3
+ "version": "1.1.0",
4
4
  "description": "CLI tool for managing multi-repo AI agent workspaces with plugin synchronization",
5
5
  "type": "module",
6
6
  "bin": {