@ateam-ai/mcp 0.3.54 → 0.3.56

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/package.json +1 -1
  2. package/src/tools.js +27 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.3.54",
3
+ "version": "0.3.56",
4
4
  "mcpName": "io.github.ariekogan/ateam-mcp",
5
5
  "description": "A-Team MCP Server — build, validate, and deploy multi-agent solutions from any AI environment",
6
6
  "type": "module",
package/src/tools.js CHANGED
@@ -673,10 +673,16 @@ export const tools = [
673
673
  name: "ateam_upload_connector",
674
674
  core: true,
675
675
  description:
676
- "Upload connector code to Core and restart — WITHOUT redeploying skills. " +
677
- "Use this to update connector source code (server.js, UI assets, plugins) quickly. " +
678
- "Set github=true to pull files from the solution's GitHub repo, or pass files directly. " +
679
- "Much faster than ateam_build_and_run for connector-only changes.",
676
+ "Upload connector code to Core and restart — WITHOUT redeploying skills.\n\n" +
677
+ "MERGES with the GitHub state at `ref` by default (default ref: 'dev'). Sending a partial file set ONLY overlays those files — the rest of the connector is preserved from GitHub. To fully replace the connector dir (historical behavior), pass replace:true.\n\n" +
678
+ "Modes:\n" +
679
+ " github:true (no files) — deploy the GitHub state at `ref` as-is.\n" +
680
+ " • github:true + files:[] — GitHub state at `ref` as BASE, your files overlay on top (incoming wins).\n" +
681
+ " • files:[] (no github) — default MERGE with GitHub state at `ref`. Refuses if no GitHub base exists (no silent nuke).\n" +
682
+ " • files:[] + replace:true — full replace. Wipes connector dir + writes only the provided files. Use deliberately.\n\n" +
683
+ "Common traps this design prevents:\n" +
684
+ " • Pre-fix bug (2026-06-06): sending just ui-dist HTML wiped server.js + node_modules — connector broke until a full re-upload. Now: those files merge with the GitHub base.\n" +
685
+ " • Pre-fix bug: github:true silently read from `main` even when patches were on `dev`. Now: defaults to dev; pass ref:'main' to opt into the legacy path.",
680
686
  inputSchema: {
681
687
  type: "object",
682
688
  properties: {
@@ -690,7 +696,11 @@ export const tools = [
690
696
  },
691
697
  github: {
692
698
  type: "boolean",
693
- description: "If true, pull connector files from GitHub repo. Default: false.",
699
+ description: "If true, pull connector files from GitHub repo at `ref`. Default: false. Combine with files:[] to use GitHub as the base and overlay your files.",
700
+ },
701
+ ref: {
702
+ type: "string",
703
+ description: "GitHub branch to read from for the BASE state. Default: 'dev' (matches ateam_github_patch). Pass 'main' to read from production. Pre-2026-06-05 callers that relied on the silent-main default must pass ref:'main' explicitly.",
694
704
  },
695
705
  files: {
696
706
  type: "array",
@@ -702,7 +712,11 @@ export const tools = [
702
712
  },
703
713
  required: ["path", "content"],
704
714
  },
705
- description: "Files to upload. Alternative to github=true.",
715
+ description: "Files to upload. By default merges with the GitHub state at `ref`. Set replace:true to wipe the connector dir and write only these files.",
716
+ },
717
+ replace: {
718
+ type: "boolean",
719
+ description: "Opt into FULL REPLACE: wipe the connector dir and write only the provided `files`. Default: false (= merge with GitHub state at `ref`). Use with intent — sending an incomplete file set with replace:true will break the connector.",
706
720
  },
707
721
  },
708
722
  required: ["solution_id", "connector_id"],
@@ -3240,10 +3254,15 @@ const handlers = {
3240
3254
  ateam_delete_connector: async ({ solution_id, connector_id }, sid) =>
3241
3255
  del(`/deploy/solutions/${solution_id}/connectors/${connector_id}`, sid),
3242
3256
 
3243
- ateam_upload_connector: async ({ solution_id, connector_id, github, files }, sid) =>
3257
+ ateam_upload_connector: async ({ solution_id, connector_id, github, files, ref, replace }, sid) =>
3244
3258
  post(
3245
3259
  `/deploy/solutions/${solution_id}/connectors/${connector_id}/upload`,
3246
- { github, files },
3260
+ {
3261
+ github,
3262
+ files,
3263
+ ...(ref ? { ref } : {}),
3264
+ ...(replace === true ? { replace: true } : {}),
3265
+ },
3247
3266
  sid,
3248
3267
  { timeoutMs: 300_000, retries: 1 },
3249
3268
  ),