@massa-ai/mcp-client 1.63.0 → 1.64.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.
@@ -3540,22 +3540,15 @@ var BOOTSTRAP_RULE_IDS, RETIRED_RULE_IDS, BOOTSTRAP_RULES, RULES_BY_ID, Bootstra
3540
3540
  };
3541
3541
  var init_rules = __esm(() => {
3542
3542
  BOOTSTRAP_RULE_IDS = [
3543
- "caveman",
3544
3543
  "massa-ai-router",
3545
3544
  "dedupe-guardrails",
3546
- "plan-challenge",
3547
3545
  "conversation-feedback",
3548
3546
  "indexing-hygiene",
3549
3547
  "english-code",
3550
3548
  "code-comments"
3551
3549
  ];
3552
- RETIRED_RULE_IDS = ["persona-router"];
3550
+ RETIRED_RULE_IDS = ["persona-router", "caveman", "plan-challenge"];
3553
3551
  BOOTSTRAP_RULES = [
3554
- {
3555
- id: "caveman",
3556
- defaultEnabled: true,
3557
- description: "Keep communication compressed while preserving technical accuracy."
3558
- },
3559
3552
  {
3560
3553
  id: "massa-ai-router",
3561
3554
  defaultEnabled: true,
@@ -3566,11 +3559,6 @@ var init_rules = __esm(() => {
3566
3559
  defaultEnabled: true,
3567
3560
  description: "Reuse already-loaded massa-ai context instead of bulk-loading workflows or references."
3568
3561
  },
3569
- {
3570
- id: "plan-challenge",
3571
- defaultEnabled: true,
3572
- description: "Run The Fool as a post-plan challenge gate per the configured policy."
3573
- },
3574
3562
  {
3575
3563
  id: "conversation-feedback",
3576
3564
  defaultEnabled: true,
@@ -15146,10 +15134,15 @@ var init_esm6 = __esm(() => {
15146
15134
  });
15147
15135
 
15148
15136
  // ../../packages/core/dist/kernel/db-connection.js
15137
+ function resolveConnectionTimeoutMs() {
15138
+ const parsed = Number.parseInt(process.env.DB_CONNECTION_TIMEOUT_MS || "15000", 10);
15139
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : 15000;
15140
+ }
15149
15141
  function getDbConfig() {
15150
15142
  return {
15151
15143
  connectionString: requirePostgresDatabaseUrl(),
15152
- poolSize: Number.parseInt(process.env.DB_POOL_SIZE || "10", 10)
15144
+ poolSize: Number.parseInt(process.env.DB_POOL_SIZE || "10", 10),
15145
+ connectionTimeoutMs: resolveConnectionTimeoutMs()
15153
15146
  };
15154
15147
  }
15155
15148
  async function getPgPool() {
@@ -15160,7 +15153,7 @@ async function getPgPool() {
15160
15153
  connectionString: config2.connectionString,
15161
15154
  max: Number.isFinite(config2.poolSize) && config2.poolSize > 0 ? config2.poolSize : 10,
15162
15155
  idleTimeoutMillis: 30000,
15163
- connectionTimeoutMillis: 5000
15156
+ connectionTimeoutMillis: config2.connectionTimeoutMs
15164
15157
  };
15165
15158
  pgPool = new Pool(poolConfig);
15166
15159
  logger.info("PostgreSQL pool initialized", { poolSize: poolConfig.max });
@@ -108332,12 +108325,16 @@ __export(exports_prisma_client, {
108332
108325
  getPrismaClient: () => getPrismaClient2,
108333
108326
  disconnectPrisma: () => disconnectPrisma,
108334
108327
  _resetPrismaForTesting: () => _resetPrismaForTesting,
108328
+ _getPrismaPoolForTesting: () => _getPrismaPoolForTesting,
108335
108329
  _adapters: () => _adapters
108336
108330
  });
108337
108331
  function _resetPrismaForTesting() {
108338
108332
  prismaInstance = null;
108339
108333
  prismaPool = null;
108340
108334
  }
108335
+ function _getPrismaPoolForTesting() {
108336
+ return prismaPool;
108337
+ }
108341
108338
  function getPrismaClient2() {
108342
108339
  if (prismaInstance)
108343
108340
  return prismaInstance;
@@ -108345,7 +108342,12 @@ function getPrismaClient2() {
108345
108342
  try {
108346
108343
  const pg2 = _adapters.loadPg();
108347
108344
  const { PrismaPg: PrismaPg2 } = _adapters.loadPrismaPg();
108348
- const pool = new pg2.Pool({ connectionString: databaseUrl, max: 10, idleTimeoutMillis: 30000, connectionTimeoutMillis: 5000 });
108345
+ const pool = new pg2.Pool({
108346
+ connectionString: databaseUrl,
108347
+ max: 10,
108348
+ idleTimeoutMillis: 30000,
108349
+ connectionTimeoutMillis: resolveConnectionTimeoutMs()
108350
+ });
108349
108351
  pool.on("error", (error51) => logger.error("prisma-client: unexpected PG pool error", error51, { poolMax: 10 }));
108350
108352
  prismaPool = pool;
108351
108353
  prismaInstance = new import_prisma.PrismaClient({ adapter: new PrismaPg2(pool) });
@@ -108365,6 +108367,7 @@ var import_prisma, prismaInstance = null, prismaPool = null, _adapters;
108365
108367
  var init_prisma_client = __esm(() => {
108366
108368
  init_dist();
108367
108369
  init_config();
108370
+ init_db_connection();
108368
108371
  import_prisma = __toESM(require_prisma(), 1);
108369
108372
  _adapters = {
108370
108373
  loadPg() {
@@ -111279,6 +111282,7 @@ var init_postgres_vector_store = __esm(() => {
111279
111282
  init_config();
111280
111283
  init_inference_providers();
111281
111284
  init_identity_guard_installer();
111285
+ init_db_connection();
111282
111286
  PostgresVectorStore = class PostgresVectorStore extends BaseVectorStore {
111283
111287
  pool = null;
111284
111288
  config;
@@ -111314,7 +111318,7 @@ var init_postgres_vector_store = __esm(() => {
111314
111318
  connectionString: this.config.connectionString,
111315
111319
  max: this.config.poolSize,
111316
111320
  idleTimeoutMillis: 30000,
111317
- connectionTimeoutMillis: 5000
111321
+ connectionTimeoutMillis: resolveConnectionTimeoutMs()
111318
111322
  };
111319
111323
  return new PgPool(poolConfig);
111320
111324
  }
@@ -112482,9 +112486,7 @@ function normalizeStructuralFile(file2) {
112482
112486
  }
112483
112487
  function normalizeSymbolText(value, label) {
112484
112488
  const normalized = normalizedNfcText(value, label);
112485
- if (normalized.includes("#"))
112486
- throw new TypeError(`${label} contains reserved #`);
112487
- return normalized;
112489
+ return normalized.includes("#") ? normalized.replace(/#/gu, "%23") : normalized;
112488
112490
  }
112489
112491
  function hasReservedModernSuffix(value) {
112490
112492
  return KNOWN_KIND_SUFFIX.test(value) || MODERN_LIKE_SUFFIX.test(value);
@@ -135153,7 +135155,11 @@ class ResolveStage {
135153
135155
  if (identities.length !== parsed.symbols.length) {
135154
135156
  throw new Error(`structural_identity_projection_mismatch:${filePath}`);
135155
135157
  }
135156
- const symbols = parsed.symbols.map((symbol27, index) => ({ ...symbol27, fqn: identities[index].fqn }));
135158
+ const symbols = parsed.symbols.map((symbol27, index) => ({
135159
+ ...symbol27,
135160
+ fqn: identities[index].fqn,
135161
+ name: identities[index].name
135162
+ }));
135157
135163
  const resolvedEdges = (parsed.structure?.edges ?? []).filter((edge) => edge.kind !== "import").map((edge) => {
135158
135164
  const resolution = session2.resolve(filePath, {
135159
135165
  kind: edge.kind,
@@ -154774,7 +154780,7 @@ Examples:
154774
154780
  massa-ai-config doctor
154775
154781
  massa-ai-config doctor --fix
154776
154782
  massa-ai-config bootstrap list
154777
- massa-ai-config bootstrap disable caveman
154783
+ massa-ai-config bootstrap enable code-comments
154778
154784
  `);
154779
154785
  }
154780
154786
  function parseOptions(args) {
package/dist/index.js CHANGED
@@ -28537,22 +28537,15 @@ var BOOTSTRAP_RULE_IDS, RETIRED_RULE_IDS, BOOTSTRAP_RULES, RULES_BY_ID, Bootstra
28537
28537
  };
28538
28538
  var init_rules = __esm(() => {
28539
28539
  BOOTSTRAP_RULE_IDS = [
28540
- "caveman",
28541
28540
  "massa-ai-router",
28542
28541
  "dedupe-guardrails",
28543
- "plan-challenge",
28544
28542
  "conversation-feedback",
28545
28543
  "indexing-hygiene",
28546
28544
  "english-code",
28547
28545
  "code-comments"
28548
28546
  ];
28549
- RETIRED_RULE_IDS = ["persona-router"];
28547
+ RETIRED_RULE_IDS = ["persona-router", "caveman", "plan-challenge"];
28550
28548
  BOOTSTRAP_RULES = [
28551
- {
28552
- id: "caveman",
28553
- defaultEnabled: true,
28554
- description: "Keep communication compressed while preserving technical accuracy."
28555
- },
28556
28549
  {
28557
28550
  id: "massa-ai-router",
28558
28551
  defaultEnabled: true,
@@ -28563,11 +28556,6 @@ var init_rules = __esm(() => {
28563
28556
  defaultEnabled: true,
28564
28557
  description: "Reuse already-loaded massa-ai context instead of bulk-loading workflows or references."
28565
28558
  },
28566
- {
28567
- id: "plan-challenge",
28568
- defaultEnabled: true,
28569
- description: "Run The Fool as a post-plan challenge gate per the configured policy."
28570
- },
28571
28559
  {
28572
28560
  id: "conversation-feedback",
28573
28561
  defaultEnabled: true,
@@ -40143,10 +40131,15 @@ var init_esm6 = __esm(() => {
40143
40131
  });
40144
40132
 
40145
40133
  // ../../packages/core/dist/kernel/db-connection.js
40134
+ function resolveConnectionTimeoutMs() {
40135
+ const parsed = Number.parseInt(process.env.DB_CONNECTION_TIMEOUT_MS || "15000", 10);
40136
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : 15000;
40137
+ }
40146
40138
  function getDbConfig() {
40147
40139
  return {
40148
40140
  connectionString: requirePostgresDatabaseUrl(),
40149
- poolSize: Number.parseInt(process.env.DB_POOL_SIZE || "10", 10)
40141
+ poolSize: Number.parseInt(process.env.DB_POOL_SIZE || "10", 10),
40142
+ connectionTimeoutMs: resolveConnectionTimeoutMs()
40150
40143
  };
40151
40144
  }
40152
40145
  async function getPgPool() {
@@ -40157,7 +40150,7 @@ async function getPgPool() {
40157
40150
  connectionString: config3.connectionString,
40158
40151
  max: Number.isFinite(config3.poolSize) && config3.poolSize > 0 ? config3.poolSize : 10,
40159
40152
  idleTimeoutMillis: 30000,
40160
- connectionTimeoutMillis: 5000
40153
+ connectionTimeoutMillis: config3.connectionTimeoutMs
40161
40154
  };
40162
40155
  pgPool = new Pool(poolConfig);
40163
40156
  logger.info("PostgreSQL pool initialized", { poolSize: poolConfig.max });
@@ -114891,12 +114884,16 @@ __export(exports_prisma_client, {
114891
114884
  getPrismaClient: () => getPrismaClient2,
114892
114885
  disconnectPrisma: () => disconnectPrisma,
114893
114886
  _resetPrismaForTesting: () => _resetPrismaForTesting,
114887
+ _getPrismaPoolForTesting: () => _getPrismaPoolForTesting,
114894
114888
  _adapters: () => _adapters
114895
114889
  });
114896
114890
  function _resetPrismaForTesting() {
114897
114891
  prismaInstance = null;
114898
114892
  prismaPool = null;
114899
114893
  }
114894
+ function _getPrismaPoolForTesting() {
114895
+ return prismaPool;
114896
+ }
114900
114897
  function getPrismaClient2() {
114901
114898
  if (prismaInstance)
114902
114899
  return prismaInstance;
@@ -114904,7 +114901,12 @@ function getPrismaClient2() {
114904
114901
  try {
114905
114902
  const pg2 = _adapters.loadPg();
114906
114903
  const { PrismaPg: PrismaPg2 } = _adapters.loadPrismaPg();
114907
- const pool = new pg2.Pool({ connectionString: databaseUrl, max: 10, idleTimeoutMillis: 30000, connectionTimeoutMillis: 5000 });
114904
+ const pool = new pg2.Pool({
114905
+ connectionString: databaseUrl,
114906
+ max: 10,
114907
+ idleTimeoutMillis: 30000,
114908
+ connectionTimeoutMillis: resolveConnectionTimeoutMs()
114909
+ });
114908
114910
  pool.on("error", (error51) => logger.error("prisma-client: unexpected PG pool error", error51, { poolMax: 10 }));
114909
114911
  prismaPool = pool;
114910
114912
  prismaInstance = new import_prisma.PrismaClient({ adapter: new PrismaPg2(pool) });
@@ -114924,6 +114926,7 @@ var import_prisma, prismaInstance = null, prismaPool = null, _adapters;
114924
114926
  var init_prisma_client = __esm(() => {
114925
114927
  init_dist();
114926
114928
  init_config();
114929
+ init_db_connection();
114927
114930
  import_prisma = __toESM(require_prisma(), 1);
114928
114931
  _adapters = {
114929
114932
  loadPg() {
@@ -117838,6 +117841,7 @@ var init_postgres_vector_store = __esm(() => {
117838
117841
  init_config();
117839
117842
  init_inference_providers();
117840
117843
  init_identity_guard_installer();
117844
+ init_db_connection();
117841
117845
  PostgresVectorStore = class PostgresVectorStore extends BaseVectorStore {
117842
117846
  pool = null;
117843
117847
  config;
@@ -117873,7 +117877,7 @@ var init_postgres_vector_store = __esm(() => {
117873
117877
  connectionString: this.config.connectionString,
117874
117878
  max: this.config.poolSize,
117875
117879
  idleTimeoutMillis: 30000,
117876
- connectionTimeoutMillis: 5000
117880
+ connectionTimeoutMillis: resolveConnectionTimeoutMs()
117877
117881
  };
117878
117882
  return new PgPool(poolConfig);
117879
117883
  }
@@ -119041,9 +119045,7 @@ function normalizeStructuralFile(file2) {
119041
119045
  }
119042
119046
  function normalizeSymbolText(value, label) {
119043
119047
  const normalized = normalizedNfcText(value, label);
119044
- if (normalized.includes("#"))
119045
- throw new TypeError(`${label} contains reserved #`);
119046
- return normalized;
119048
+ return normalized.includes("#") ? normalized.replace(/#/gu, "%23") : normalized;
119047
119049
  }
119048
119050
  function hasReservedModernSuffix(value) {
119049
119051
  return KNOWN_KIND_SUFFIX.test(value) || MODERN_LIKE_SUFFIX.test(value);
@@ -130413,7 +130415,11 @@ class ResolveStage {
130413
130415
  if (identities.length !== parsed.symbols.length) {
130414
130416
  throw new Error(`structural_identity_projection_mismatch:${filePath}`);
130415
130417
  }
130416
- const symbols = parsed.symbols.map((symbol27, index) => ({ ...symbol27, fqn: identities[index].fqn }));
130418
+ const symbols = parsed.symbols.map((symbol27, index) => ({
130419
+ ...symbol27,
130420
+ fqn: identities[index].fqn,
130421
+ name: identities[index].name
130422
+ }));
130417
130423
  const resolvedEdges = (parsed.structure?.edges ?? []).filter((edge) => edge.kind !== "import").map((edge) => {
130418
130424
  const resolution = session2.resolve(filePath, {
130419
130425
  kind: edge.kind,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massa-ai/mcp-client",
3
- "version": "1.63.0",
3
+ "version": "1.64.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.63.0",
24
- "@massa-ai/shared": "^1.63.0",
23
+ "@massa-ai/core": "^1.64.0",
24
+ "@massa-ai/shared": "^1.64.0",
25
25
  "@modelcontextprotocol/sdk": "^1.0.0"
26
26
  },
27
27
  "devDependencies": {