@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.
- package/dist/config-cli.js +28 -22
- package/dist/index.js +27 -21
- package/package.json +3 -3
package/dist/config-cli.js
CHANGED
|
@@ -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:
|
|
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({
|
|
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:
|
|
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
|
-
|
|
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) => ({
|
|
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
|
|
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:
|
|
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({
|
|
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:
|
|
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
|
-
|
|
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) => ({
|
|
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.
|
|
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.
|
|
24
|
-
"@massa-ai/shared": "^1.
|
|
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": {
|