@massa-ai/mcp-client 1.68.1 → 1.69.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.
@@ -3562,27 +3562,27 @@ var init_rules = __esm(() => {
3562
3562
  BOOTSTRAP_RULES = [
3563
3563
  {
3564
3564
  id: "massa-ai-router",
3565
- defaultEnabled: true,
3565
+ defaultEnabled: false,
3566
3566
  description: "Load the massa-ai skill as the workflow router before substantive work."
3567
3567
  },
3568
3568
  {
3569
3569
  id: "dedupe-guardrails",
3570
- defaultEnabled: true,
3570
+ defaultEnabled: false,
3571
3571
  description: "Reuse already-loaded massa-ai context instead of bulk-loading workflows or references."
3572
3572
  },
3573
3573
  {
3574
3574
  id: "conversation-feedback",
3575
- defaultEnabled: true,
3575
+ defaultEnabled: false,
3576
3576
  description: "Emit chat-visible status updates for massa-ai workflow progress."
3577
3577
  },
3578
3578
  {
3579
3579
  id: "indexing-hygiene",
3580
- defaultEnabled: true,
3580
+ defaultEnabled: false,
3581
3581
  description: "Ignore build output, dependency, and secret paths during indexing and context loading."
3582
3582
  },
3583
3583
  {
3584
3584
  id: "english-code",
3585
- defaultEnabled: true,
3585
+ defaultEnabled: false,
3586
3586
  description: "Write generated code, identifiers, comments, and commit-facing artifacts in English regardless of conversational language."
3587
3587
  },
3588
3588
  {
@@ -3721,7 +3721,7 @@ function renderBootstrap(options) {
3721
3721
  requireAbsoluteTargetHome(targetHome);
3722
3722
  requireTotalState(state);
3723
3723
  const body = applyRuleState(extractBootstrapBlock(source), state);
3724
- const contract = `${renderHeader(state, targetHome)}
3724
+ const contract = `${renderHeader(state, host, targetHome, hostRoot)}
3725
3725
 
3726
3726
  ${body}`;
3727
3727
  const pointer = renderPointer(host, targetHome, hostRoot);
@@ -3842,7 +3842,8 @@ function normalizeBlankLines(lines) {
3842
3842
  `).trimEnd()}
3843
3843
  `;
3844
3844
  }
3845
- function renderHeader(state, targetHome) {
3845
+ function renderHeader(state, host, targetHome, hostRoot) {
3846
+ const companionPath = path15.join(resolveHostRoot(host, targetHome, hostRoot), "skills", "massa-ai", COMPANION_FILENAME);
3846
3847
  const lines = [
3847
3848
  "> Generated by massa-ai from `skills/AGENTS.md`. Edits made here are lost on",
3848
3849
  "> the next `scripts/install-skills.sh --apply` or",
@@ -3854,10 +3855,19 @@ function renderHeader(state, targetHome) {
3854
3855
  "> `massa-ai-config bootstrap enable <rule-id>`. That command is a binary and",
3855
3856
  "> not a rule, so it keeps working with every rule below disabled \u2014",
3856
3857
  "> `massa-ai-config bootstrap enable massa-ai-router` is the way back when the",
3857
- "> router rule itself is off."
3858
+ "> router rule itself is off.",
3859
+ ">",
3860
+ `> Rule bodies also ship in \`${companionPath}\`, written by the installer or`,
3861
+ "> shipped in the plugin bundle; read a rule there before activating it when",
3862
+ "> its section is absent below.",
3863
+ "",
3864
+ "Rules the startup ask offers:"
3858
3865
  ];
3866
+ for (const rule of BOOTSTRAP_RULES) {
3867
+ lines.push(`- \`${rule.id}\` \u2014 ${rule.description}`);
3868
+ }
3859
3869
  if (BOOTSTRAP_RULES.every((rule) => !state[rule.id])) {
3860
- lines.push("", "**Every massa-ai bootstrap rule is disabled.** The contract below carries no", "rule to activate, and nothing in this file changes agent behavior until at", "least one rule is enabled again.");
3870
+ lines.push("", "**Every massa-ai bootstrap rule is disabled \u2014 the fresh-install default.**", "Do not activate any of them on your own: follow the ask-first instruction at", "the top of the contract below and ask the user what to activate.");
3861
3871
  }
3862
3872
  return lines.join(`
3863
3873
  `);
@@ -3874,7 +3884,7 @@ function renderPointer(host, targetHome, hostRoot) {
3874
3884
  ].join(`
3875
3885
  `);
3876
3886
  }
3877
- var BOOTSTRAP_BLOCK_START = "<!-- massa-ai:bootstrap:start -->", BOOTSTRAP_BLOCK_END = "<!-- massa-ai:bootstrap:end -->", CONTRACT_FILENAME = "MASSA-AI.md", ANY_MASSA_AI_MARKER, BootstrapRenderError, HOST_CONFIG_DIR;
3887
+ var BOOTSTRAP_BLOCK_START = "<!-- massa-ai:bootstrap:start -->", BOOTSTRAP_BLOCK_END = "<!-- massa-ai:bootstrap:end -->", CONTRACT_FILENAME = "MASSA-AI.md", COMPANION_FILENAME = "bootstrap-rules.md", ANY_MASSA_AI_MARKER, BootstrapRenderError, HOST_CONFIG_DIR;
3878
3888
  var init_render = __esm(() => {
3879
3889
  init_rules();
3880
3890
  init_state2();
package/dist/index.js CHANGED
@@ -28559,27 +28559,27 @@ var init_rules = __esm(() => {
28559
28559
  BOOTSTRAP_RULES = [
28560
28560
  {
28561
28561
  id: "massa-ai-router",
28562
- defaultEnabled: true,
28562
+ defaultEnabled: false,
28563
28563
  description: "Load the massa-ai skill as the workflow router before substantive work."
28564
28564
  },
28565
28565
  {
28566
28566
  id: "dedupe-guardrails",
28567
- defaultEnabled: true,
28567
+ defaultEnabled: false,
28568
28568
  description: "Reuse already-loaded massa-ai context instead of bulk-loading workflows or references."
28569
28569
  },
28570
28570
  {
28571
28571
  id: "conversation-feedback",
28572
- defaultEnabled: true,
28572
+ defaultEnabled: false,
28573
28573
  description: "Emit chat-visible status updates for massa-ai workflow progress."
28574
28574
  },
28575
28575
  {
28576
28576
  id: "indexing-hygiene",
28577
- defaultEnabled: true,
28577
+ defaultEnabled: false,
28578
28578
  description: "Ignore build output, dependency, and secret paths during indexing and context loading."
28579
28579
  },
28580
28580
  {
28581
28581
  id: "english-code",
28582
- defaultEnabled: true,
28582
+ defaultEnabled: false,
28583
28583
  description: "Write generated code, identifiers, comments, and commit-facing artifacts in English regardless of conversational language."
28584
28584
  },
28585
28585
  {
@@ -28718,7 +28718,7 @@ function renderBootstrap(options) {
28718
28718
  requireAbsoluteTargetHome(targetHome);
28719
28719
  requireTotalState(state);
28720
28720
  const body = applyRuleState(extractBootstrapBlock(source), state);
28721
- const contract = `${renderHeader(state, targetHome)}
28721
+ const contract = `${renderHeader(state, host, targetHome, hostRoot)}
28722
28722
 
28723
28723
  ${body}`;
28724
28724
  const pointer = renderPointer(host, targetHome, hostRoot);
@@ -28839,7 +28839,8 @@ function normalizeBlankLines(lines) {
28839
28839
  `).trimEnd()}
28840
28840
  `;
28841
28841
  }
28842
- function renderHeader(state, targetHome) {
28842
+ function renderHeader(state, host, targetHome, hostRoot) {
28843
+ const companionPath = path15.join(resolveHostRoot(host, targetHome, hostRoot), "skills", "massa-ai", COMPANION_FILENAME);
28843
28844
  const lines = [
28844
28845
  "> Generated by massa-ai from `skills/AGENTS.md`. Edits made here are lost on",
28845
28846
  "> the next `scripts/install-skills.sh --apply` or",
@@ -28851,10 +28852,19 @@ function renderHeader(state, targetHome) {
28851
28852
  "> `massa-ai-config bootstrap enable <rule-id>`. That command is a binary and",
28852
28853
  "> not a rule, so it keeps working with every rule below disabled \u2014",
28853
28854
  "> `massa-ai-config bootstrap enable massa-ai-router` is the way back when the",
28854
- "> router rule itself is off."
28855
+ "> router rule itself is off.",
28856
+ ">",
28857
+ `> Rule bodies also ship in \`${companionPath}\`, written by the installer or`,
28858
+ "> shipped in the plugin bundle; read a rule there before activating it when",
28859
+ "> its section is absent below.",
28860
+ "",
28861
+ "Rules the startup ask offers:"
28855
28862
  ];
28863
+ for (const rule of BOOTSTRAP_RULES) {
28864
+ lines.push(`- \`${rule.id}\` \u2014 ${rule.description}`);
28865
+ }
28856
28866
  if (BOOTSTRAP_RULES.every((rule) => !state[rule.id])) {
28857
- lines.push("", "**Every massa-ai bootstrap rule is disabled.** The contract below carries no", "rule to activate, and nothing in this file changes agent behavior until at", "least one rule is enabled again.");
28867
+ lines.push("", "**Every massa-ai bootstrap rule is disabled \u2014 the fresh-install default.**", "Do not activate any of them on your own: follow the ask-first instruction at", "the top of the contract below and ask the user what to activate.");
28858
28868
  }
28859
28869
  return lines.join(`
28860
28870
  `);
@@ -28871,7 +28881,7 @@ function renderPointer(host, targetHome, hostRoot) {
28871
28881
  ].join(`
28872
28882
  `);
28873
28883
  }
28874
- var BOOTSTRAP_BLOCK_START = "<!-- massa-ai:bootstrap:start -->", BOOTSTRAP_BLOCK_END = "<!-- massa-ai:bootstrap:end -->", CONTRACT_FILENAME = "MASSA-AI.md", ANY_MASSA_AI_MARKER, BootstrapRenderError, HOST_CONFIG_DIR;
28884
+ var BOOTSTRAP_BLOCK_START = "<!-- massa-ai:bootstrap:start -->", BOOTSTRAP_BLOCK_END = "<!-- massa-ai:bootstrap:end -->", CONTRACT_FILENAME = "MASSA-AI.md", COMPANION_FILENAME = "bootstrap-rules.md", ANY_MASSA_AI_MARKER, BootstrapRenderError, HOST_CONFIG_DIR;
28875
28885
  var init_render = __esm(() => {
28876
28886
  init_rules();
28877
28887
  init_state2();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massa-ai/mcp-client",
3
- "version": "1.68.1",
3
+ "version": "1.69.0",
4
4
  "description": "massa-ai MCP server - Semantic code search, memory, and context compression via Model Context Protocol",
5
5
  "author": "luizgmassa",
6
6
  "type": "module",
@@ -20,8 +20,8 @@
20
20
  "type-check": "tsc --noEmit"
21
21
  },
22
22
  "dependencies": {
23
- "@massa-ai/core": "^1.68.1",
24
- "@massa-ai/shared": "^1.68.1",
23
+ "@massa-ai/core": "^1.69.0",
24
+ "@massa-ai/shared": "^1.69.0",
25
25
  "@modelcontextprotocol/sdk": "^1.0.0"
26
26
  },
27
27
  "devDependencies": {