cgraphx 1.2.0 → 1.3.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/.claude-template/hooks/precommit-check/precommit-check.cjs +90 -0
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +99 -78
- package/dist/.claude-template/skills/precommit-review/SKILL.md +50 -0
- package/dist/.claude-template/skills/run-api-test/SKILL.md +187 -0
- package/dist/.claude-template/skills/run-api-test/assets/template-test-report.md +103 -0
- package/dist/.claude-template/skills/run-api-test/assets/template-test-verify.jsonl +5 -0
- package/dist/.claude-template/skills/run-api-test/references/bru-run.md +60 -0
- package/dist/.claude-template/skills/run-api-test/references/db-verification.md +81 -0
- package/dist/.claude-template/skills/run-api-test/references/report-format.md +104 -0
- package/dist/.claude-template/skills/run-api-test/references/service-readiness.md +61 -0
- package/dist/.claude-template/skills/run-api-test/references/test-scope.md +64 -0
- package/dist/.claude-template/skills/write-api/SKILL.md +150 -0
- package/dist/.claude-template/skills/write-api/assets/template-api-spec.md +112 -0
- package/dist/.claude-template/skills/write-api/assets/template-request.bru +75 -0
- package/dist/.claude-template/skills/write-api/references/ai-prompts.md +133 -0
- package/dist/.claude-template/skills/write-api/references/api-spec-format.md +108 -0
- package/dist/.claude-template/skills/write-api/references/bru-format.md +144 -0
- package/dist/.claude-template/skills/write-api/references/collection-layout.md +81 -0
- package/dist/.claude-template/skills/write-api/references/environment-setup.md +105 -0
- package/dist/.claude-template/skills/write-api/references/interface-scope.md +74 -0
- package/dist/api-test/ai-fields.d.ts +37 -0
- package/dist/api-test/ai-fields.d.ts.map +1 -0
- package/dist/api-test/ai-fields.js +114 -0
- package/dist/api-test/ai-fields.js.map +1 -0
- package/dist/api-test/assemble.d.ts +76 -0
- package/dist/api-test/assemble.d.ts.map +1 -0
- package/dist/api-test/assemble.js +185 -0
- package/dist/api-test/assemble.js.map +1 -0
- package/dist/api-test/bru-cli-invoker.d.ts +72 -0
- package/dist/api-test/bru-cli-invoker.d.ts.map +1 -0
- package/dist/api-test/bru-cli-invoker.js +169 -0
- package/dist/api-test/bru-cli-invoker.js.map +1 -0
- package/dist/api-test/bru-report-parser.d.ts +24 -0
- package/dist/api-test/bru-report-parser.d.ts.map +1 -0
- package/dist/api-test/bru-report-parser.js +110 -0
- package/dist/api-test/bru-report-parser.js.map +1 -0
- package/dist/api-test/bru-runner.d.ts +101 -0
- package/dist/api-test/bru-runner.d.ts.map +1 -0
- package/dist/api-test/bru-runner.js +316 -0
- package/dist/api-test/bru-runner.js.map +1 -0
- package/dist/api-test/bru-writer.d.ts +52 -0
- package/dist/api-test/bru-writer.d.ts.map +1 -0
- package/dist/api-test/bru-writer.js +159 -0
- package/dist/api-test/bru-writer.js.map +1 -0
- package/dist/api-test/call-chain-extractor.d.ts +80 -0
- package/dist/api-test/call-chain-extractor.d.ts.map +1 -0
- package/dist/api-test/call-chain-extractor.js +179 -0
- package/dist/api-test/call-chain-extractor.js.map +1 -0
- package/dist/api-test/cli.d.ts +133 -0
- package/dist/api-test/cli.d.ts.map +1 -0
- package/dist/api-test/cli.js +1009 -0
- package/dist/api-test/cli.js.map +1 -0
- package/dist/api-test/config.d.ts +75 -0
- package/dist/api-test/config.d.ts.map +1 -0
- package/dist/api-test/config.js +406 -0
- package/dist/api-test/config.js.map +1 -0
- package/dist/api-test/db-query-cli.d.ts +51 -0
- package/dist/api-test/db-query-cli.d.ts.map +1 -0
- package/dist/api-test/db-query-cli.js +119 -0
- package/dist/api-test/db-query-cli.js.map +1 -0
- package/dist/api-test/enhance-prepare.d.ts +111 -0
- package/dist/api-test/enhance-prepare.d.ts.map +1 -0
- package/dist/api-test/enhance-prepare.js +425 -0
- package/dist/api-test/enhance-prepare.js.map +1 -0
- package/dist/api-test/enhance-write.d.ts +28 -0
- package/dist/api-test/enhance-write.d.ts.map +1 -0
- package/dist/api-test/enhance-write.js +145 -0
- package/dist/api-test/enhance-write.js.map +1 -0
- package/dist/api-test/errors.d.ts +48 -0
- package/dist/api-test/errors.d.ts.map +1 -0
- package/dist/api-test/errors.js +76 -0
- package/dist/api-test/errors.js.map +1 -0
- package/dist/api-test/field-extractor.d.ts +98 -0
- package/dist/api-test/field-extractor.d.ts.map +1 -0
- package/dist/api-test/field-extractor.js +327 -0
- package/dist/api-test/field-extractor.js.map +1 -0
- package/dist/api-test/impl-finder.d.ts +37 -0
- package/dist/api-test/impl-finder.d.ts.map +1 -0
- package/dist/api-test/impl-finder.js +54 -0
- package/dist/api-test/impl-finder.js.map +1 -0
- package/dist/api-test/index.d.ts +41 -0
- package/dist/api-test/index.d.ts.map +1 -0
- package/dist/api-test/index.js +124 -0
- package/dist/api-test/index.js.map +1 -0
- package/dist/api-test/java-parser.d.ts +89 -0
- package/dist/api-test/java-parser.d.ts.map +1 -0
- package/dist/api-test/java-parser.js +508 -0
- package/dist/api-test/java-parser.js.map +1 -0
- package/dist/api-test/md-writer.d.ts +49 -0
- package/dist/api-test/md-writer.d.ts.map +1 -0
- package/dist/api-test/md-writer.js +202 -0
- package/dist/api-test/md-writer.js.map +1 -0
- package/dist/api-test/parser-httpservice.d.ts +91 -0
- package/dist/api-test/parser-httpservice.d.ts.map +1 -0
- package/dist/api-test/parser-httpservice.js +271 -0
- package/dist/api-test/parser-httpservice.js.map +1 -0
- package/dist/api-test/report.d.ts +188 -0
- package/dist/api-test/report.d.ts.map +1 -0
- package/dist/api-test/report.js +522 -0
- package/dist/api-test/report.js.map +1 -0
- package/dist/api-test/snapshot.d.ts +26 -0
- package/dist/api-test/snapshot.d.ts.map +1 -0
- package/dist/api-test/snapshot.js +150 -0
- package/dist/api-test/snapshot.js.map +1 -0
- package/dist/api-test/test-history.d.ts +48 -0
- package/dist/api-test/test-history.d.ts.map +1 -0
- package/dist/api-test/test-history.js +122 -0
- package/dist/api-test/test-history.js.map +1 -0
- package/dist/api-test/types.d.ts +174 -0
- package/dist/api-test/types.d.ts.map +1 -0
- package/dist/api-test/types.js +13 -0
- package/dist/api-test/types.js.map +1 -0
- package/dist/api-test/verify-prepare.d.ts +30 -0
- package/dist/api-test/verify-prepare.d.ts.map +1 -0
- package/dist/api-test/verify-prepare.js +150 -0
- package/dist/api-test/verify-prepare.js.map +1 -0
- package/dist/api-test/verify-write.d.ts +31 -0
- package/dist/api-test/verify-write.d.ts.map +1 -0
- package/dist/api-test/verify-write.js +159 -0
- package/dist/api-test/verify-write.js.map +1 -0
- package/dist/dbquery/dump-schema.d.ts +46 -0
- package/dist/dbquery/dump-schema.d.ts.map +1 -0
- package/dist/dbquery/dump-schema.js +379 -0
- package/dist/dbquery/dump-schema.js.map +1 -0
- package/dist/installer/targets/claude.d.ts +15 -0
- package/dist/installer/targets/claude.d.ts.map +1 -1
- package/dist/installer/targets/claude.js +53 -0
- package/dist/installer/targets/claude.js.map +1 -1
- package/package.json +1 -1
- package/scripts/agent-eval/block-cgraphx-and-gitnexus-cli-hook.sh +0 -43
- package/scripts/agent-eval/block-cgraphx-cli-hook.sh +0 -32
- package/scripts/agent-eval/block-cgraphx-cli-settings.json +0 -16
- package/scripts/agent-eval/cli-vs-mcp-3arm.sh +0 -121
- package/scripts/agent-eval/multi-tool-eval.sh +0 -171
- package/scripts/agent-eval/parse-cli-vs-mcp.mjs +0 -232
- package/scripts/agent-eval/parse-multi-tool.mjs +0 -242
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `cgraphx db dump-schema` — full non-empty-table DDL snapshot.
|
|
4
|
+
*
|
|
5
|
+
* Walks every BASE TABLE in a profile, skips empty ones (precise COUNT, not
|
|
6
|
+
* information_schema estimates), and assembles `docs/schema-knowledge/<profile>.sql`
|
|
7
|
+
* — a single executable file (DROP + CREATE per table) you can replay on a
|
|
8
|
+
* clean database to rebuild the schema.
|
|
9
|
+
*
|
|
10
|
+
* MySQL path uses `SHOW CREATE TABLE` directly. PG path introspects
|
|
11
|
+
* `pg_catalog` via four queries (see queries.ts) and assembles the DDL in
|
|
12
|
+
* TypeScript — no DB-side string aggregation for the final DDL.
|
|
13
|
+
*
|
|
14
|
+
* Failure model:
|
|
15
|
+
* - File-level failure (profile missing / connection failed / disabled) →
|
|
16
|
+
* throws, NO file is created.
|
|
17
|
+
* - Per-table failure (COUNT failed / DDL fetch failed / DDL too large) →
|
|
18
|
+
* the table is recorded in a trailing `-- FAILED` comment block; already-
|
|
19
|
+
* succeeded tables stay on disk (we append after each non-empty table).
|
|
20
|
+
*
|
|
21
|
+
* Exit codes follow the db-query subsystem (see cli.ts):
|
|
22
|
+
* 0 success / 2 config / 3 safety / 4 connection-or-disabled / 5 arg error.
|
|
23
|
+
*/
|
|
24
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
27
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
28
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
29
|
+
}
|
|
30
|
+
Object.defineProperty(o, k2, desc);
|
|
31
|
+
}) : (function(o, m, k, k2) {
|
|
32
|
+
if (k2 === undefined) k2 = k;
|
|
33
|
+
o[k2] = m[k];
|
|
34
|
+
}));
|
|
35
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
36
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
37
|
+
}) : function(o, v) {
|
|
38
|
+
o["default"] = v;
|
|
39
|
+
});
|
|
40
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
41
|
+
var ownKeys = function(o) {
|
|
42
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
43
|
+
var ar = [];
|
|
44
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
45
|
+
return ar;
|
|
46
|
+
};
|
|
47
|
+
return ownKeys(o);
|
|
48
|
+
};
|
|
49
|
+
return function (mod) {
|
|
50
|
+
if (mod && mod.__esModule) return mod;
|
|
51
|
+
var result = {};
|
|
52
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
53
|
+
__setModuleDefault(result, mod);
|
|
54
|
+
return result;
|
|
55
|
+
};
|
|
56
|
+
})();
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
exports.ConfigNotFoundError = exports.SCHEMA_KNOWLEDGE_DIR = void 0;
|
|
59
|
+
exports.dumpSchema = dumpSchema;
|
|
60
|
+
const fs = __importStar(require("node:fs"));
|
|
61
|
+
const path = __importStar(require("node:path"));
|
|
62
|
+
const constants_1 = require("./constants");
|
|
63
|
+
const config_1 = require("./config");
|
|
64
|
+
const queries_1 = require("./queries");
|
|
65
|
+
const mysql_1 = require("./drivers/mysql");
|
|
66
|
+
const postgres_1 = require("./drivers/postgres");
|
|
67
|
+
const errors_1 = require("./errors");
|
|
68
|
+
Object.defineProperty(exports, "ConfigNotFoundError", { enumerable: true, get: function () { return errors_1.ConfigNotFoundError; } });
|
|
69
|
+
/** Output directory (hardcoded — see command contract). */
|
|
70
|
+
exports.SCHEMA_KNOWLEDGE_DIR = 'docs/schema-knowledge';
|
|
71
|
+
function nowIso() {
|
|
72
|
+
return new Date().toISOString();
|
|
73
|
+
}
|
|
74
|
+
function shortReason(err) {
|
|
75
|
+
if (err instanceof errors_1.DbQueryError) {
|
|
76
|
+
switch (err.code) {
|
|
77
|
+
case 'CONNECTION_FAILED': return 'connection failed';
|
|
78
|
+
case 'QUERY_TIMEOUT': return 'query timeout';
|
|
79
|
+
case 'DRIVER_ERROR': return 'driver error';
|
|
80
|
+
case 'SAFETY_REJECTED': return 'safety rejected';
|
|
81
|
+
default: return err.code.toLowerCase();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
85
|
+
// Keep the reason short — one line, no stack.
|
|
86
|
+
const firstLine = msg.split('\n', 1)[0] ?? msg;
|
|
87
|
+
if (firstLine.length <= 80)
|
|
88
|
+
return firstLine;
|
|
89
|
+
return firstLine.slice(0, 77) + '...';
|
|
90
|
+
}
|
|
91
|
+
/** Quote a MySQL identifier with backticks. */
|
|
92
|
+
function quoteMysqlId(name) {
|
|
93
|
+
return '`' + name.replace(/`/g, '``') + '`';
|
|
94
|
+
}
|
|
95
|
+
/** Quote a PG identifier with double quotes. */
|
|
96
|
+
function quotePgId(name) {
|
|
97
|
+
return '"' + name.replace(/"/g, '""') + '"';
|
|
98
|
+
}
|
|
99
|
+
/** Ensure a CREATE TABLE statement ends with a semicolon. */
|
|
100
|
+
function ensureSemicolon(stmt) {
|
|
101
|
+
const trimmed = stmt.trimEnd();
|
|
102
|
+
return trimmed.endsWith(';') ? trimmed : trimmed + ';';
|
|
103
|
+
}
|
|
104
|
+
/** Escape single quotes in a PG COMMENT string (PG style: '' ). */
|
|
105
|
+
function escapePgComment(s) {
|
|
106
|
+
return s.replace(/'/g, "''");
|
|
107
|
+
}
|
|
108
|
+
/** Build the 5-line file header (locked verbatim — see command contract). */
|
|
109
|
+
function buildHeader(profile, generated) {
|
|
110
|
+
return (`-- profile: ${profile}\n` +
|
|
111
|
+
`-- generated: ${generated}\n` +
|
|
112
|
+
`-- source: cgraphx db dump-schema (via db-dump-schema skill)\n` +
|
|
113
|
+
`-- 注意:此文件为自动生成的物理 DDL 快照,请勿手工修改\n` +
|
|
114
|
+
`-- 业务知识(表关系/字段含义/已知陷阱)见 ${profile}.md\n\n`);
|
|
115
|
+
}
|
|
116
|
+
/** Append a string to a file (creates the file if missing). */
|
|
117
|
+
function appendToFile(filePath, content) {
|
|
118
|
+
fs.appendFileSync(filePath, content, { encoding: 'utf8' });
|
|
119
|
+
}
|
|
120
|
+
/** Get the list of BASE TABLEs for a profile. Throws on driver error. */
|
|
121
|
+
async function fetchTableList(driver, profile) {
|
|
122
|
+
const q = profile.type === 'mysql'
|
|
123
|
+
? (0, queries_1.mysqlTablesSql)(profile.database)
|
|
124
|
+
: (0, queries_1.postgresTablesSql)(profile.schema ?? 'public');
|
|
125
|
+
const raw = await driver.execute(q.sql, constants_1.QUERY_TIMEOUT_MS, q.params);
|
|
126
|
+
return raw.rows.map(r => {
|
|
127
|
+
const name = String(r.name ?? '');
|
|
128
|
+
const comment = r.comment !== undefined && r.comment !== null && r.comment !== ''
|
|
129
|
+
? String(r.comment) : undefined;
|
|
130
|
+
return { name, comment };
|
|
131
|
+
}).filter(t => t.name.length > 0);
|
|
132
|
+
}
|
|
133
|
+
/** Precise COUNT(*) for a single table. Returns 0 if the table is empty. */
|
|
134
|
+
async function fetchTableRowCount(driver, profile, table) {
|
|
135
|
+
// COUNT(*) with a backticked/quoted identifier. The safety layer is not
|
|
136
|
+
// involved here (we bypass runQuery and go through the driver directly),
|
|
137
|
+
// but the SQL is statically a SELECT COUNT on a name we just pulled from
|
|
138
|
+
// information_schema — not user input.
|
|
139
|
+
const quotedId = profile.type === 'mysql' ? quoteMysqlId(table) : quotePgId(table);
|
|
140
|
+
const sql = `SELECT COUNT(*) AS n FROM ${quotedId}`;
|
|
141
|
+
const raw = await driver.execute(sql, constants_1.QUERY_TIMEOUT_MS);
|
|
142
|
+
const row = raw.rows[0];
|
|
143
|
+
const n = row ? Number(row.n) : 0;
|
|
144
|
+
return Number.isFinite(n) ? n : 0;
|
|
145
|
+
}
|
|
146
|
+
/** MySQL: pull `SHOW CREATE TABLE` and return the second column. */
|
|
147
|
+
async function fetchMysqlCreateTable(driver, table) {
|
|
148
|
+
const quoted = quoteMysqlId(table);
|
|
149
|
+
const sql = `SHOW CREATE TABLE ${quoted}`;
|
|
150
|
+
const raw = await driver.execute(sql, constants_1.QUERY_TIMEOUT_MS);
|
|
151
|
+
const row = raw.rows[0];
|
|
152
|
+
if (!row)
|
|
153
|
+
throw new Error(`SHOW CREATE TABLE returned no rows for ${table}`);
|
|
154
|
+
// mysql2 returns the CREATE statement in the second column named "Create Table".
|
|
155
|
+
// Column name varies by driver version; use positional fallback.
|
|
156
|
+
const cols = raw.columns.map(c => c.name);
|
|
157
|
+
let createIdx = cols.findIndex(c => c.toLowerCase() === 'create table');
|
|
158
|
+
if (createIdx < 0)
|
|
159
|
+
createIdx = 1; // positional fallback
|
|
160
|
+
const colName = cols[createIdx];
|
|
161
|
+
const createSql = colName !== undefined ? row[colName] : undefined;
|
|
162
|
+
if (typeof createSql !== 'string' || createSql.length === 0) {
|
|
163
|
+
throw new Error(`SHOW CREATE TABLE returned empty CREATE for ${table}`);
|
|
164
|
+
}
|
|
165
|
+
return ensureSemicolon(createSql);
|
|
166
|
+
}
|
|
167
|
+
/** PG: assemble a CREATE TABLE statement from four catalog query results. */
|
|
168
|
+
function assemblePostgresCreateTable(table, schema, columnsRaw, constraintsRaw) {
|
|
169
|
+
const tableId = `${quotePgId(schema)}.${quotePgId(table)}`;
|
|
170
|
+
const colLines = columnsRaw.rows.map(row => {
|
|
171
|
+
const name = quotePgId(String(row.column_name ?? ''));
|
|
172
|
+
const dataType = String(row.data_type ?? '');
|
|
173
|
+
const notNull = row.not_null === true || row.not_null === 't' || row.not_null === 1
|
|
174
|
+
|| String(row.not_null ?? '').toLowerCase() === 'true';
|
|
175
|
+
const defaultVal = row.default_value;
|
|
176
|
+
let line = ` ${name} ${dataType}`;
|
|
177
|
+
if (notNull)
|
|
178
|
+
line += ' NOT NULL';
|
|
179
|
+
if (defaultVal !== null && defaultVal !== undefined && String(defaultVal).length > 0) {
|
|
180
|
+
line += ` DEFAULT ${String(defaultVal)}`;
|
|
181
|
+
}
|
|
182
|
+
return line;
|
|
183
|
+
});
|
|
184
|
+
// Constraints: pg_constraint.contype ordering — CHECK(c), FOREIGN KEY(f),
|
|
185
|
+
// PRIMARY KEY(p), UNIQUE(u). SQL #2 already orders by contype then name.
|
|
186
|
+
const conLines = constraintsRaw.rows.map(row => {
|
|
187
|
+
const name = quotePgId(String(row.constraint_name ?? ''));
|
|
188
|
+
const def = String(row.definition ?? '').trim();
|
|
189
|
+
return ` CONSTRAINT ${name} ${def}`;
|
|
190
|
+
}).filter(s => s.trim().length > ' CONSTRAINT '.length);
|
|
191
|
+
const bodyParts = [...colLines, ...conLines];
|
|
192
|
+
const body = bodyParts.map((line, idx) => {
|
|
193
|
+
const isLast = idx === bodyParts.length - 1;
|
|
194
|
+
return isLast ? line : line + ',';
|
|
195
|
+
}).join('\n');
|
|
196
|
+
return `CREATE TABLE ${tableId} (\n${body}\n);`;
|
|
197
|
+
}
|
|
198
|
+
/** PG: assemble index statements (one per non-constraint index). */
|
|
199
|
+
function assemblePostgresIndexes(indexesRaw) {
|
|
200
|
+
const lines = [];
|
|
201
|
+
for (const row of indexesRaw.rows) {
|
|
202
|
+
const def = String(row.definition ?? '').trim();
|
|
203
|
+
if (def)
|
|
204
|
+
lines.push(ensureSemicolon(def));
|
|
205
|
+
}
|
|
206
|
+
return lines.length > 0 ? lines.join('\n') : '';
|
|
207
|
+
}
|
|
208
|
+
/** PG: assemble COMMENT statements for the table and columns. */
|
|
209
|
+
function assemblePostgresComments(table, schema, commentsRaw) {
|
|
210
|
+
const tableId = `${quotePgId(schema)}.${quotePgId(table)}`;
|
|
211
|
+
const lines = [];
|
|
212
|
+
const row = commentsRaw.rows[0];
|
|
213
|
+
if (!row)
|
|
214
|
+
return '';
|
|
215
|
+
const tableComment = row.table_comment;
|
|
216
|
+
if (typeof tableComment === 'string' && tableComment.length > 0) {
|
|
217
|
+
lines.push(`COMMENT ON TABLE ${tableId} IS '${escapePgComment(tableComment)}';`);
|
|
218
|
+
}
|
|
219
|
+
// Known limitation: multi-line column comments may be truncated.
|
|
220
|
+
const colAgg = row.column_comments;
|
|
221
|
+
if (typeof colAgg === 'string' && colAgg.length > 0) {
|
|
222
|
+
for (const entry of colAgg.split('\n')) {
|
|
223
|
+
const eq = entry.indexOf('=');
|
|
224
|
+
if (eq <= 0)
|
|
225
|
+
continue;
|
|
226
|
+
const col = entry.slice(0, eq);
|
|
227
|
+
const comment = entry.slice(eq + 1);
|
|
228
|
+
if (!col || comment.length === 0)
|
|
229
|
+
continue;
|
|
230
|
+
lines.push(`COMMENT ON COLUMN ${tableId}.${quotePgId(col)} IS '${escapePgComment(comment)}';`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return lines.join('\n');
|
|
234
|
+
}
|
|
235
|
+
/** PG: pull the four catalog queries for a table and assemble the DDL block. */
|
|
236
|
+
async function fetchPostgresTableBlock(driver, table, schema) {
|
|
237
|
+
const regclassParam = `${schema}.${table}`;
|
|
238
|
+
const colsQ = (0, queries_1.postgresDumpColumnsSql)(table, schema);
|
|
239
|
+
const consQ = (0, queries_1.postgresDumpConstraintsSql)(table, schema);
|
|
240
|
+
const idxQ = (0, queries_1.postgresDumpIndexesSql)(table, schema);
|
|
241
|
+
const cmtQ = (0, queries_1.postgresDumpCommentsSql)(table, schema);
|
|
242
|
+
const [colsRaw, consRaw, idxRaw, cmtRaw] = await Promise.all([
|
|
243
|
+
driver.execute(colsQ.sql, constants_1.QUERY_TIMEOUT_MS, colsQ.params),
|
|
244
|
+
driver.execute(consQ.sql, constants_1.QUERY_TIMEOUT_MS, consQ.params),
|
|
245
|
+
driver.execute(idxQ.sql, constants_1.QUERY_TIMEOUT_MS, idxQ.params),
|
|
246
|
+
driver.execute(cmtQ.sql, constants_1.QUERY_TIMEOUT_MS, cmtQ.params),
|
|
247
|
+
]);
|
|
248
|
+
void regclassParam; // the SQL uses $1::regclass; params are in each query
|
|
249
|
+
const createStmt = assemblePostgresCreateTable(table, schema, colsRaw, consRaw);
|
|
250
|
+
const indexStmts = assemblePostgresIndexes(idxRaw);
|
|
251
|
+
const commentStmts = assemblePostgresComments(table, schema, cmtRaw);
|
|
252
|
+
const dropStmt = `DROP TABLE IF EXISTS ${quotePgId(schema)}.${quotePgId(table)};`;
|
|
253
|
+
const parts = [dropStmt, createStmt];
|
|
254
|
+
if (indexStmts)
|
|
255
|
+
parts.push('\n' + indexStmts);
|
|
256
|
+
if (commentStmts)
|
|
257
|
+
parts.push('\n' + commentStmts);
|
|
258
|
+
return parts.join('\n');
|
|
259
|
+
}
|
|
260
|
+
/** Build the FAILED comment block (only emitted when there are failures). */
|
|
261
|
+
function buildFailedBlock(failures) {
|
|
262
|
+
if (failures.length === 0)
|
|
263
|
+
return '';
|
|
264
|
+
const lines = ['', '-- ─── FAILED (跳过未导出) ───'];
|
|
265
|
+
for (const f of failures) {
|
|
266
|
+
lines.push(`-- FAILED: ${f.table} ${f.reason}`);
|
|
267
|
+
}
|
|
268
|
+
return lines.join('\n') + '\n';
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Run the dump. Throws on file-level failures (profile missing / connection
|
|
272
|
+
* failed / disabled). Per-table failures are collected into `result.failed`
|
|
273
|
+
* and surfaced in the file's trailing FAILED block.
|
|
274
|
+
*/
|
|
275
|
+
async function dumpSchema(profileName, projectRoot) {
|
|
276
|
+
const start = Date.now();
|
|
277
|
+
// 1. Load config — may throw ConfigNotFoundError.
|
|
278
|
+
const cfg = (0, config_1.loadProfiles)(projectRoot);
|
|
279
|
+
// 2. Disabled short-circuit — do NOT create any file.
|
|
280
|
+
if (!cfg.enabled) {
|
|
281
|
+
throw new errors_1.SubsystemDisabledError();
|
|
282
|
+
}
|
|
283
|
+
// 3. Resolve profile — may throw ConfigNotFoundError (mapped to PROFILE_NOT_FOUND
|
|
284
|
+
// semantics in cli.ts exitCodeForError).
|
|
285
|
+
const profile = (0, config_1.resolveProfile)(cfg, profileName);
|
|
286
|
+
// 4. Open the output file. mkdir -p the directory, then truncate-create the file
|
|
287
|
+
// with the header. If we can't even resolve the profile, we don't get here —
|
|
288
|
+
// so no empty file is left behind on config errors.
|
|
289
|
+
const outDir = path.join(projectRoot, exports.SCHEMA_KNOWLEDGE_DIR);
|
|
290
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
291
|
+
const outputPath = path.join(outDir, `${profile.name}.sql`);
|
|
292
|
+
const generated = nowIso();
|
|
293
|
+
fs.writeFileSync(outputPath, buildHeader(profile.name, generated), { encoding: 'utf8' });
|
|
294
|
+
// 5. Open the driver connection. If this fails we abort — but the header-only
|
|
295
|
+
// file is already on disk. We delete it so the user doesn't see a stub.
|
|
296
|
+
let driver;
|
|
297
|
+
try {
|
|
298
|
+
driver = profile.type === 'mysql'
|
|
299
|
+
? await (0, mysql_1.createMysqlConnection)(profile)
|
|
300
|
+
: await (0, postgres_1.createPostgresConnection)(profile);
|
|
301
|
+
}
|
|
302
|
+
catch (err) {
|
|
303
|
+
// Clean up the stub file — file-level failure must not leave a trace.
|
|
304
|
+
try {
|
|
305
|
+
fs.unlinkSync(outputPath);
|
|
306
|
+
}
|
|
307
|
+
catch { /* ignore */ }
|
|
308
|
+
throw err;
|
|
309
|
+
}
|
|
310
|
+
const failures = [];
|
|
311
|
+
let totalTables = 0;
|
|
312
|
+
let nonEmptyTables = 0;
|
|
313
|
+
let emptySkipped = 0;
|
|
314
|
+
try {
|
|
315
|
+
// 6. Pull the table list. If this fails, it's a file-level failure —
|
|
316
|
+
// clean up the stub and re-throw.
|
|
317
|
+
let tables;
|
|
318
|
+
try {
|
|
319
|
+
tables = await fetchTableList(driver, profile);
|
|
320
|
+
}
|
|
321
|
+
catch (err) {
|
|
322
|
+
try {
|
|
323
|
+
fs.unlinkSync(outputPath);
|
|
324
|
+
}
|
|
325
|
+
catch { /* ignore */ }
|
|
326
|
+
throw err;
|
|
327
|
+
}
|
|
328
|
+
totalTables = tables.length;
|
|
329
|
+
// 7. For each table: COUNT → skip if 0; otherwise fetch DDL and append.
|
|
330
|
+
for (const t of tables) {
|
|
331
|
+
let count;
|
|
332
|
+
try {
|
|
333
|
+
count = await fetchTableRowCount(driver, profile, t.name);
|
|
334
|
+
}
|
|
335
|
+
catch (err) {
|
|
336
|
+
failures.push({ table: t.name, reason: shortReason(err) });
|
|
337
|
+
continue;
|
|
338
|
+
}
|
|
339
|
+
if (count === 0) {
|
|
340
|
+
emptySkipped++;
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
343
|
+
nonEmptyTables++;
|
|
344
|
+
try {
|
|
345
|
+
let block;
|
|
346
|
+
if (profile.type === 'mysql') {
|
|
347
|
+
const createSql = await fetchMysqlCreateTable(driver, t.name);
|
|
348
|
+
const dropStmt = `DROP TABLE IF EXISTS ${quoteMysqlId(t.name)};`;
|
|
349
|
+
block = `${dropStmt}\n${createSql}`;
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
block = await fetchPostgresTableBlock(driver, t.name, profile.schema ?? 'public');
|
|
353
|
+
}
|
|
354
|
+
appendToFile(outputPath, block + '\n\n');
|
|
355
|
+
}
|
|
356
|
+
catch (err) {
|
|
357
|
+
failures.push({ table: t.name, reason: shortReason(err) });
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
finally {
|
|
362
|
+
await driver.close();
|
|
363
|
+
}
|
|
364
|
+
// 8. Trailing FAILED block (if any).
|
|
365
|
+
const failedBlock = buildFailedBlock(failures);
|
|
366
|
+
if (failedBlock) {
|
|
367
|
+
appendToFile(outputPath, failedBlock);
|
|
368
|
+
}
|
|
369
|
+
return {
|
|
370
|
+
profile: profile.name,
|
|
371
|
+
totalTables,
|
|
372
|
+
nonEmptyTables,
|
|
373
|
+
emptySkipped,
|
|
374
|
+
failed: failures,
|
|
375
|
+
outputPath,
|
|
376
|
+
durationMs: Date.now() - start,
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
//# sourceMappingURL=dump-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dump-schema.js","sourceRoot":"","sources":["../../src/dbquery/dump-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,21 @@ export declare function writeHooksAndStatusLineEntry(loc: Location): {
|
|
|
42
42
|
file: WriteResult['files'][number];
|
|
43
43
|
notes?: string[];
|
|
44
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Write the precommit-check `PreToolUse` hook into Claude `settings.json` —
|
|
47
|
+
* a `command` hook on the `Bash` matcher that runs precommit-check.cjs.
|
|
48
|
+
* Guard: when Claude calls `git commit` and the staged set contains
|
|
49
|
+
* modified/deleted/renamed files (not pure additions), the hook denies and
|
|
50
|
+
* points the agent at the `/precommit-review` skill to audit the diff first.
|
|
51
|
+
* The agent retries with `CGRAPHX_PRECOMMIT_REVIEWED=1 git commit ...` once
|
|
52
|
+
* the review passes (or is confirmed unnecessary). The hook is a thin
|
|
53
|
+
* gatekeeper — it does no diff analysis; the skill does, agent-side.
|
|
54
|
+
*
|
|
55
|
+
* Idempotent: deduped by the exact `command` string, so re-running install
|
|
56
|
+
* is a no-op. Sibling hooks under PreToolUse (the user's own matchers/commands)
|
|
57
|
+
* are preserved. Mirrors writeHooksAndStatusLineEntry's merge discipline.
|
|
58
|
+
*/
|
|
59
|
+
export declare function writePrecommitHookEntry(loc: Location): WriteResult['files'][number];
|
|
45
60
|
/**
|
|
46
61
|
* Write the front-load `UserPromptSubmit` hook into Claude `settings.json` —
|
|
47
62
|
* a `command` hook that runs `cgraphx prompt-hook`, which injects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EACL,WAAW,EAGX,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EACL,WAAW,EAGX,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AAiOjB;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAsBzE;AA0HD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAEjF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAoBjF;AA0BD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,QAAQ,GAAG;IAC3D,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CA+DA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAoCnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAoBhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAInF;AAED,eAAO,MAAM,YAAY,EAAE,WAAoC,CAAC"}
|
|
@@ -57,6 +57,7 @@ exports.cleanupLegacyHooks = cleanupLegacyHooks;
|
|
|
57
57
|
exports.removePromptHookEntry = removePromptHookEntry;
|
|
58
58
|
exports.writePermissionsEntry = writePermissionsEntry;
|
|
59
59
|
exports.writeHooksAndStatusLineEntry = writeHooksAndStatusLineEntry;
|
|
60
|
+
exports.writePrecommitHookEntry = writePrecommitHookEntry;
|
|
60
61
|
exports.writePromptHookEntry = writePromptHookEntry;
|
|
61
62
|
exports.removeInstructionsEntry = removeInstructionsEntry;
|
|
62
63
|
const fs = __importStar(require("fs"));
|
|
@@ -139,6 +140,10 @@ class ClaudeCodeTarget {
|
|
|
139
140
|
if (hookResult.notes && hookResult.notes.length > 0) {
|
|
140
141
|
notes.push(...hookResult.notes);
|
|
141
142
|
}
|
|
143
|
+
// 2.2 cgraphx extension: precommit-check hook. PreToolUse on Bash that
|
|
144
|
+
// gates `git commit` (when staged contains M/D/R files) and points the
|
|
145
|
+
// agent at /precommit-review. Not gated on autoAllow — always merges in.
|
|
146
|
+
files.push(writePrecommitHookEntry(loc));
|
|
142
147
|
// 2b. Strip stale auto-sync hooks left by a pre-0.8 install. Those
|
|
143
148
|
// versions wrote `codegraph mark-dirty` / `sync-if-dirty` hooks to
|
|
144
149
|
// settings.json; both subcommands are gone from the CLI, so the
|
|
@@ -463,6 +468,7 @@ function writePermissionsEntry(loc) {
|
|
|
463
468
|
*/
|
|
464
469
|
const CONTEXT_MONITOR_COMMAND = 'node $CLAUDE_PROJECT_DIR/.claude/hooks/context-monitor/context-monitor.cjs';
|
|
465
470
|
const CLAUDE_HUD_COMMAND = 'node $CLAUDE_PROJECT_DIR/.claude/plugins/claude-hud/dist/index.js';
|
|
471
|
+
const PRECOMMIT_CHECK_COMMAND = 'node $CLAUDE_PROJECT_DIR/.claude/hooks/precommit-check/precommit-check.cjs';
|
|
466
472
|
function writeHooksAndStatusLineEntry(loc) {
|
|
467
473
|
const file = settingsJsonPath(loc);
|
|
468
474
|
const settings = (0, shared_1.readJsonFile)(file);
|
|
@@ -519,6 +525,53 @@ function writeHooksAndStatusLineEntry(loc) {
|
|
|
519
525
|
notes,
|
|
520
526
|
};
|
|
521
527
|
}
|
|
528
|
+
/**
|
|
529
|
+
* Write the precommit-check `PreToolUse` hook into Claude `settings.json` —
|
|
530
|
+
* a `command` hook on the `Bash` matcher that runs precommit-check.cjs.
|
|
531
|
+
* Guard: when Claude calls `git commit` and the staged set contains
|
|
532
|
+
* modified/deleted/renamed files (not pure additions), the hook denies and
|
|
533
|
+
* points the agent at the `/precommit-review` skill to audit the diff first.
|
|
534
|
+
* The agent retries with `CGRAPHX_PRECOMMIT_REVIEWED=1 git commit ...` once
|
|
535
|
+
* the review passes (or is confirmed unnecessary). The hook is a thin
|
|
536
|
+
* gatekeeper — it does no diff analysis; the skill does, agent-side.
|
|
537
|
+
*
|
|
538
|
+
* Idempotent: deduped by the exact `command` string, so re-running install
|
|
539
|
+
* is a no-op. Sibling hooks under PreToolUse (the user's own matchers/commands)
|
|
540
|
+
* are preserved. Mirrors writeHooksAndStatusLineEntry's merge discipline.
|
|
541
|
+
*/
|
|
542
|
+
function writePrecommitHookEntry(loc) {
|
|
543
|
+
const file = settingsJsonPath(loc);
|
|
544
|
+
const settings = (0, shared_1.readJsonFile)(file);
|
|
545
|
+
const created = !fs.existsSync(file);
|
|
546
|
+
if (!settings.hooks || typeof settings.hooks !== 'object')
|
|
547
|
+
settings.hooks = {};
|
|
548
|
+
if (!Array.isArray(settings.hooks.PreToolUse))
|
|
549
|
+
settings.hooks.PreToolUse = [];
|
|
550
|
+
const alreadyHas = settings.hooks.PreToolUse.some((entry) => {
|
|
551
|
+
if (!entry || typeof entry !== 'object')
|
|
552
|
+
return false;
|
|
553
|
+
const e = entry;
|
|
554
|
+
if (!Array.isArray(e.hooks))
|
|
555
|
+
return false;
|
|
556
|
+
return e.hooks.some((h) => h && typeof h === 'object' &&
|
|
557
|
+
h.command === PRECOMMIT_CHECK_COMMAND);
|
|
558
|
+
});
|
|
559
|
+
if (alreadyHas && !created) {
|
|
560
|
+
return { path: file, action: 'unchanged' };
|
|
561
|
+
}
|
|
562
|
+
if (!alreadyHas) {
|
|
563
|
+
settings.hooks.PreToolUse.push({
|
|
564
|
+
matcher: 'Bash',
|
|
565
|
+
hooks: [{
|
|
566
|
+
type: 'command',
|
|
567
|
+
command: PRECOMMIT_CHECK_COMMAND,
|
|
568
|
+
timeout: 10000,
|
|
569
|
+
}],
|
|
570
|
+
});
|
|
571
|
+
}
|
|
572
|
+
(0, shared_1.writeJsonFile)(file, settings);
|
|
573
|
+
return { path: file, action: created ? 'created' : 'updated' };
|
|
574
|
+
}
|
|
522
575
|
/**
|
|
523
576
|
* Write the front-load `UserPromptSubmit` hook into Claude `settings.json` —
|
|
524
577
|
* a `command` hook that runs `cgraphx prompt-hook`, which injects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cgraphx",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Supercharge AI coding agents with semantic code intelligence — surgical context, fewer tool calls, faster answers. 100% local.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# PreToolUse hook: deny Bash invocations of `cgraphx` AND `gitnexus` CLIs.
|
|
3
|
-
# Used by multi-tool-eval.sh to enforce "no CLI" in the cgraphx-mcp and gitnexus-mcp arms.
|
|
4
|
-
#
|
|
5
|
-
# Match rules (any one → deny):
|
|
6
|
-
# cgraphx:
|
|
7
|
-
# - command starts with `cgraphx ` (e.g. `cgraphx calls Foo#bar`)
|
|
8
|
-
# - command contains token ` cgraphx ` (e.g. `sudo cgraphx ...`)
|
|
9
|
-
# - command contains `codegraph.js` (e.g. `node /path/codegraph.js serve`)
|
|
10
|
-
# gitnexus:
|
|
11
|
-
# - command contains `gitnexus/dist/cli/index.js` (the dist binary path)
|
|
12
|
-
# - command contains `gitnexus/run.cjs` (the project-local runner)
|
|
13
|
-
# - command starts with `gitnexus ` (e.g. `gitnexus status` if global install)
|
|
14
|
-
#
|
|
15
|
-
# Not matched (allowed):
|
|
16
|
-
# - `cat README.md | grep cgraphx` (literal text)
|
|
17
|
-
# - `ls .gitnexus/` (read dir)
|
|
18
|
-
# - `cat hx/.gitnexus/meta.json` (read gitnexus index metadata)
|
|
19
|
-
#
|
|
20
|
-
# Wire via: claude ... --settings <settings-with-this-hook>
|
|
21
|
-
set -uo pipefail
|
|
22
|
-
input="$(cat)"
|
|
23
|
-
cmd="$(printf '%s' "$input" | jq -r '.tool_input.command // empty' 2>/dev/null)"
|
|
24
|
-
|
|
25
|
-
[ -z "$cmd" ] && exit 0
|
|
26
|
-
|
|
27
|
-
deny=0
|
|
28
|
-
deny_which=""
|
|
29
|
-
case "$cmd" in
|
|
30
|
-
cgraphx\ *|*\ cgraphx\ *|*codegraph.js*)
|
|
31
|
-
deny=1; deny_which="cgraphx"
|
|
32
|
-
;;
|
|
33
|
-
*gitnexus/dist/cli/index.js*|*gitnexus/run.cjs*|gitnexus\ *|*\ gitnexus\ *)
|
|
34
|
-
deny=1; deny_which="gitnexus"
|
|
35
|
-
;;
|
|
36
|
-
esac
|
|
37
|
-
|
|
38
|
-
if [ "$deny" = "1" ]; then
|
|
39
|
-
msg="该 arm 禁用 ${deny_which} CLI(Bash 调用被 hook 拦截)。改用:对应 MCP 工具(cgraphx-mcp arm 用 codegraph_explore 等;gitnexus-mcp arm 用 gitnexus 的 query/context/impact 等 MCP 工具)。本评估旨在对比三 arm 在禁/允许 CLI 下的真实表现,请勿尝试绕过。"
|
|
40
|
-
jq -n --arg m "$msg" '{reason:$m, hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:$m}}'
|
|
41
|
-
exit 0
|
|
42
|
-
fi
|
|
43
|
-
exit 0
|