@ateam-ai/mcp 0.3.55 → 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 +28 -18
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.3.55",
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,18 +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.\n\n" +
680
- "⚠️ REPLACE, NOT MERGE: this overwrites the ENTIRE connector directory. Any file you do not " +
681
- "include is DELETEDomit ui-dist/ and the UI plugins 404 with {\"error\":\"Not found\"}; omit " +
682
- "src/ and the connector won't start. When passing `files`, send the WHOLE connector (every " +
683
- "source file AND every ui-dist asset), not just what you changed. (node_modules survives only " +
684
- "because npm install re-runs on restartthat is NOT a merge.)\n" +
685
- "⚠️ github=true reads the `main` branch, NOT `dev`. A change that's only on dev will deploy " +
686
- "STALE. Either promote first (ateam_github_promote dev→main) then github=true, or pass `files` " +
687
- "directly for a dev-only deploy.",
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.",
688
686
  inputSchema: {
689
687
  type: "object",
690
688
  properties: {
@@ -698,7 +696,11 @@ export const tools = [
698
696
  },
699
697
  github: {
700
698
  type: "boolean",
701
- description: "If true, pull the FULL connector from GitHub and replace the deployed dir. Reads the `main` branch (NOT dev) promote dev→main first or it deploys stale code. 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.",
702
704
  },
703
705
  files: {
704
706
  type: "array",
@@ -710,7 +712,11 @@ export const tools = [
710
712
  },
711
713
  required: ["path", "content"],
712
714
  },
713
- description: "Files to upload. Alternative to github=true. REPLACES the whole connector dir include EVERY file (all source + all ui-dist assets), not just the ones you changed; any file omitted here is deleted from the deployment.",
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.",
714
720
  },
715
721
  },
716
722
  required: ["solution_id", "connector_id"],
@@ -828,8 +834,7 @@ export const tools = [
828
834
  name: "ateam_upload_connector_files",
829
835
  core: false,
830
836
  description:
831
- "Upload source files for a connector's MCP server. Use this INSTEAD of mcp_store in ateam_build_and_run when the source code is too large to inline. Upload files first, then build_and_run without mcp_store. (Advanced.)\n\n" +
832
- "⚠️ STAGES ONLY — these files are saved for your NEXT solution deploy; they do NOT update the running connector (the response says \"staged for next deploy\"). To push connector code to the LIVE runtime and restart it immediately, use ateam_upload_connector (which replaces the whole connector dir).",
837
+ "Upload source files for a connector's MCP server. Use this INSTEAD of mcp_store in ateam_build_and_run when the source code is too large to inline. Upload files first, then build_and_run without mcp_store. (Advanced.)",
833
838
  inputSchema: {
834
839
  type: "object",
835
840
  properties: {
@@ -3249,10 +3254,15 @@ const handlers = {
3249
3254
  ateam_delete_connector: async ({ solution_id, connector_id }, sid) =>
3250
3255
  del(`/deploy/solutions/${solution_id}/connectors/${connector_id}`, sid),
3251
3256
 
3252
- 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) =>
3253
3258
  post(
3254
3259
  `/deploy/solutions/${solution_id}/connectors/${connector_id}/upload`,
3255
- { github, files },
3260
+ {
3261
+ github,
3262
+ files,
3263
+ ...(ref ? { ref } : {}),
3264
+ ...(replace === true ? { replace: true } : {}),
3265
+ },
3256
3266
  sid,
3257
3267
  { timeoutMs: 300_000, retries: 1 },
3258
3268
  ),