cgraphx 1.3.0 → 1.4.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.
Files changed (40) hide show
  1. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +5 -4
  2. package/dist/.claude-template/skills/db-query/SKILL.md +75 -42
  3. package/dist/.claude-template/skills/db-query/agent-prompt.md +12 -13
  4. package/dist/.claude-template/skills/export-table-ddl/SKILL.md +167 -0
  5. package/dist/.claude-template/skills/export-table-ddl/closed-loop.html +163 -0
  6. package/dist/.claude-template/skills/export-table-ddl/evals/evals.json +26 -0
  7. package/dist/.claude-template/skills/export-table-ddl/scripts/export-ddl.mjs +163 -0
  8. package/dist/.claude-template/skills/run-api-test/SKILL.md +5 -5
  9. package/dist/.claude-template/skills/run-api-test/references/test-scope.md +1 -1
  10. package/dist/.claude-template/skills/write-api/SKILL.md +10 -10
  11. package/dist/.claude-template/skills/write-api/assets/template-api-spec.md +6 -6
  12. package/dist/.claude-template/skills/write-api/assets/template-request.bru +1 -4
  13. package/dist/.claude-template/skills/write-api/references/ai-prompts.md +1 -1
  14. package/dist/.claude-template/skills/write-api/references/api-spec-format.md +2 -2
  15. package/dist/.claude-template/skills/write-api/references/bru-format.md +6 -11
  16. package/dist/.claude-template/skills/write-api/references/collection-layout.md +24 -15
  17. package/dist/dbquery/cli.d.ts.map +1 -1
  18. package/dist/dbquery/cli.js +20 -3
  19. package/dist/dbquery/cli.js.map +1 -1
  20. package/dist/dbquery/executor.d.ts.map +1 -1
  21. package/dist/dbquery/executor.js +15 -23
  22. package/dist/dbquery/executor.js.map +1 -1
  23. package/dist/dbquery/format.d.ts +15 -1
  24. package/dist/dbquery/format.d.ts.map +1 -1
  25. package/dist/dbquery/format.js +86 -23
  26. package/dist/dbquery/format.js.map +1 -1
  27. package/dist/dbquery/identifiers.d.ts +19 -0
  28. package/dist/dbquery/identifiers.d.ts.map +1 -0
  29. package/dist/dbquery/identifiers.js +37 -0
  30. package/dist/dbquery/identifiers.js.map +1 -0
  31. package/dist/dbquery/index.d.ts +1 -1
  32. package/dist/dbquery/index.d.ts.map +1 -1
  33. package/dist/dbquery/index.js.map +1 -1
  34. package/dist/dbquery/queries.d.ts +23 -3
  35. package/dist/dbquery/queries.d.ts.map +1 -1
  36. package/dist/dbquery/queries.js +46 -27
  37. package/dist/dbquery/queries.js.map +1 -1
  38. package/dist/dbquery/types.d.ts +2 -15
  39. package/dist/dbquery/types.d.ts.map +1 -1
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/dbquery/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/dbquery/executor.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAwFH,4BAoDC;AAKD,8BAmGC;AAKD,oCAuBC;AA9QD,2CAA0D;AAC1D,qCAAwD;AACxD,qCAAuC;AACvC,uCAAqC;AACrC,qCAA0K;AAC1K,uCAA4I;AAC5I,2CAAwD;AACxD,iDAA8D;AAC9D,qCAKkB;AAqQT,qGAvQP,6BAAoB,OAuQO;AAtP7B,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,GAAG,YAAY,qBAAY,EAAE,CAAC;QAChC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,kBAAkB,CAAC;YACxB,KAAK,mBAAmB;gBACtB,OAAO,cAAc,CAAC;YACxB,KAAK,iBAAiB;gBACpB,OAAO,iBAAiB,CAAC;YAC3B,KAAK,mBAAmB;gBACtB,OAAO,mBAAmB,CAAC;YAC7B,KAAK,eAAe;gBAClB,OAAO,SAAS,CAAC;YACnB,KAAK,cAAc;gBACjB,OAAO,cAAc,CAAC;YACxB,KAAK,oBAAoB;gBACvB,OAAO,UAAU,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CACvB,WAAmB,EACnB,KAAa,EACb,IAA4B,EAC5B,WAAmB,EACnB,GAAuB,EACvB,GAAY;IAEZ,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtE,IAAA,kBAAQ,EAAC,WAAW,EAAE;QACpB,SAAS,EAAE,MAAM,EAAE;QACnB,OAAO,EAAE,WAAW;QACpB,IAAI;QACJ,GAAG;QACH,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;QAC5B,MAAM;QACN,YAAY;KACb,CAAC,CAAC;IACH,MAAM,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAiB,EAAE,WAAmB;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,OAAgB,CAAC;IAE9B,kDAAkD;IAClD,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,WAAW,CAAC,CAAC;IAEtC,0CAA0C;IAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,+BAAsB,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAkB,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,GAAG,IAAA,uBAAc,EAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,mBAAmB;IACnB,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,yBAAyB;IACzB,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC,MAAM,IAAA,6BAAqB,EAAC,OAAO,CAAC;QACtC,CAAC,CAAC,MAAM,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,4BAAgB,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC;QACxF,MAAM,MAAM,GAAG,IAAA,0BAAiB,EAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QACjF,IAAA,kBAAQ,EAAC,WAAW,EAAE;YACpB,SAAS,EAAE,MAAM,EAAE;YACnB,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,IAAI;YACJ,GAAG,EAAE,MAAM,CAAC,aAAa;YACzB,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;YAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACtF,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,SAAS,CAAC,KAAkB,EAAE,WAAmB;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,WAAW,CAAC,CAAC;IAEtC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,+BAAsB,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,OAAkB,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,GAAG,IAAA,uBAAc,EAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACvF,gBAAgB,CACd,WAAW,EACX,KAAK,EACL,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,SAAS,EACT,IAAI,4BAAmB,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAEhC,qBAAqB;IACrB,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC,IAAA,0BAAgB,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;QACjD,CAAC,CAAC,IAAA,6BAAmB,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;IAEnE,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC,MAAM,IAAA,6BAAqB,EAAC,OAAO,CAAC;QACtC,CAAC,CAAC,MAAM,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,yEAAyE;QACzE,yEAAyE;QACzE,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,IAAI,MAAiB,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAA,0BAAgB,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,4BAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5E,MAAM,GAAG,IAAA,wBAAe,EAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;gBAC1C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,4BAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC9F,MAAM,KAAK,GAAG,IAAA,mCAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,4BAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChF,MAAM,IAAI,GAAG,IAAA,8BAAoB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,4BAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7E,MAAM,GAAG,GAAG,IAAA,iCAAuB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,4BAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1E,MAAM,GAAG,IAAA,0BAAiB,EACxB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAC/E,CAAC;YACJ,CAAC;YACD,IAAA,kBAAQ,EAAC,WAAW,EAAE;gBACpB,SAAS,EAAE,MAAM,EAAE;gBACnB,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,IAAI;gBACJ,GAAG,EAAE,YAAY,CAAC,GAAG;gBACrB,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;gBAC5B,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,wDAAwD;QACxD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,4BAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1F,IAAI,MAAoB,CAAC;QACzB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,GAAG,IAAA,2BAAkB,EAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,GAAG,IAAA,4BAAmB,EAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAA,iCAAwB,EAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,IAAA,kBAAQ,EAAC,WAAW,EAAE;YACpB,SAAS,EAAE,MAAM,EAAE;YACnB,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,IAAI;YACJ,GAAG,EAAE,YAAY,CAAC,GAAG;YACrB,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;YAC5B,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClF,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,KAAoB,EAAE,WAAmB;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,UAAmB,CAAC;IAEjC,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,WAAW,CAAC,CAAC;IAEtC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,iEAAiE;QACjE,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,+BAAsB,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,GAAG,CAAC,CAAC;IACzC,IAAA,kBAAQ,EAAC,WAAW,EAAE;QACpB,SAAS,EAAE,MAAM,EAAE;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI;QACJ,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAChC,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,KAAK,KAAK,CAAC;IACX,KAAK,qBAAS,CAAC;IACf,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -8,7 +8,21 @@
8
8
  import type { ProfilesConfig, ProfilesResult, QueryResult, RawResult, TablesResult, DdlResult, IndexesResult, TableCommentResult } from './types';
9
9
  export declare function formatQueryResult(raw: RawResult, profileName: string, durationMs: number, truncated: boolean): QueryResult;
10
10
  export declare function formatTablesResult(raw: RawResult, profileName: string, durationMs: number): TablesResult;
11
- export declare function formatDdlResult(columnRows: RawResult, primaryKeyRows: RawResult, constraintRows: RawResult, table: string, profileName: string, durationMs: number): DdlResult;
11
+ /**
12
+ * MySQL DDL — extract the `Create Table` column from `SHOW CREATE TABLE`
13
+ * output. `SHOW CREATE TABLE` returns two columns: `Table` (name) and
14
+ * `Create Table` (the DDL). Access by position to be version-safe (the
15
+ * second column's name varies across MySQL/MariaDB versions).
16
+ */
17
+ export declare function extractMysqlDdl(raw: RawResult, table: string, profileName: string, durationMs: number): DdlResult;
18
+ /**
19
+ * PostgreSQL DDL — assemble `CREATE TABLE "schema"."tbl" (...)` from the
20
+ * column query + `pg_get_constraintdef` rows + optional table comment.
21
+ * Column comments emit `COMMENT ON COLUMN` statements after the CREATE TABLE
22
+ * (PG comments cannot go inline in CREATE TABLE). Secondary indexes
23
+ * (non-constraint-backed) emit as `CREATE INDEX ...` statements last.
24
+ */
25
+ export declare function renderPostgresDdl(columnRows: RawResult, constraintDefRows: RawResult, indexDefRows: RawResult, tableCommentRows: RawResult, table: string, schema: string, profileName: string, durationMs: number): DdlResult;
12
26
  export declare function formatIndexesResult(raw: RawResult, table: string, profileName: string, durationMs: number): IndexesResult;
13
27
  export declare function formatTableCommentResult(raw: RawResult, table: string, profileName: string, durationMs: number): TableCommentResult;
14
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/dbquery/format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,kBAAkB,EAInB,MAAM,SAAS,CAAC;AAyCjB,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,GACjB,WAAW,CAUb;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,YAAY,CAQd;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,SAAS,EACrB,cAAc,EAAE,SAAS,EACzB,cAAc,EAAE,SAAS,EACzB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,SAAS,CA2BX;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,aAAa,CA0Cf;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,kBAAkB,CAMpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAe3E"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/dbquery/format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAyCjB,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,GACjB,WAAW,CAUb;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,YAAY,CAQd;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,SAAS,CAWX;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,SAAS,EACrB,iBAAiB,EAAE,SAAS,EAC5B,YAAY,EAAE,SAAS,EACvB,gBAAgB,EAAE,SAAS,EAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,SAAS,CA4DX;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,aAAa,CA0Cf;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,kBAAkB,CAMpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAe3E"}
@@ -9,7 +9,8 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.formatQueryResult = formatQueryResult;
11
11
  exports.formatTablesResult = formatTablesResult;
12
- exports.formatDdlResult = formatDdlResult;
12
+ exports.extractMysqlDdl = extractMysqlDdl;
13
+ exports.renderPostgresDdl = renderPostgresDdl;
13
14
  exports.formatIndexesResult = formatIndexesResult;
14
15
  exports.formatTableCommentResult = formatTableCommentResult;
15
16
  exports.formatProfilesResult = formatProfilesResult;
@@ -78,30 +79,92 @@ function formatTablesResult(raw, profileName, durationMs) {
78
79
  }));
79
80
  return { tables, profile: profileName, durationMs };
80
81
  }
81
- function formatDdlResult(columnRows, primaryKeyRows, constraintRows, table, profileName, durationMs) {
82
- const columns = columnRows.rows.map(row => ({
83
- name: String(row.name ?? ''),
84
- dataType: String(row.data_type ?? ''),
85
- nullable: String(row.nullable ?? '').toUpperCase() === 'YES' ||
86
- row.nullable === true || row.nullable === 't' || row.nullable === 1,
87
- defaultValue: row.default_value !== null && row.default_value !== undefined
82
+ /**
83
+ * MySQL DDL extract the `Create Table` column from `SHOW CREATE TABLE`
84
+ * output. `SHOW CREATE TABLE` returns two columns: `Table` (name) and
85
+ * `Create Table` (the DDL). Access by position to be version-safe (the
86
+ * second column's name varies across MySQL/MariaDB versions).
87
+ */
88
+ function extractMysqlDdl(raw, table, profileName, durationMs) {
89
+ const row = raw.rows[0];
90
+ if (!row) {
91
+ throw new Error(`SHOW CREATE TABLE returned no rows for table "${table}".`);
92
+ }
93
+ const values = Object.values(row);
94
+ const ddl = String(values[1] ?? '');
95
+ if (!ddl) {
96
+ throw new Error(`SHOW CREATE TABLE returned empty DDL for table "${table}".`);
97
+ }
98
+ return { table, ddl: ddl.endsWith(';') ? ddl : ddl + ';', profile: profileName, durationMs };
99
+ }
100
+ /** Quote a PostgreSQL identifier with double quotes, doubling embedded ones. */
101
+ function quotePgIdent(name) {
102
+ return '"' + String(name).replace(/"/g, '""') + '"';
103
+ }
104
+ /** Escape a string literal body (single-quote, doubling embedded quotes). */
105
+ function quotePgLiteral(s) {
106
+ return "'" + String(s).replace(/'/g, "''") + "'";
107
+ }
108
+ /**
109
+ * PostgreSQL DDL — assemble `CREATE TABLE "schema"."tbl" (...)` from the
110
+ * column query + `pg_get_constraintdef` rows + optional table comment.
111
+ * Column comments emit `COMMENT ON COLUMN` statements after the CREATE TABLE
112
+ * (PG comments cannot go inline in CREATE TABLE). Secondary indexes
113
+ * (non-constraint-backed) emit as `CREATE INDEX ...` statements last.
114
+ */
115
+ function renderPostgresDdl(columnRows, constraintDefRows, indexDefRows, tableCommentRows, table, schema, profileName, durationMs) {
116
+ const qualifiedTable = `${quotePgIdent(schema)}.${quotePgIdent(table)}`;
117
+ const columnLines = [];
118
+ const columnComments = [];
119
+ for (const row of columnRows.rows) {
120
+ const colName = quotePgIdent(String(row.name ?? ''));
121
+ const dataType = String(row.data_type ?? '');
122
+ const nullable = row.nullable === true || row.nullable === 't' || row.nullable === 1 ||
123
+ String(row.nullable ?? '').toUpperCase() === 'YES';
124
+ const defaultValue = row.default_value !== null && row.default_value !== undefined
88
125
  ? String(row.default_value)
89
- : undefined,
90
- comment: row.comment !== undefined && row.comment !== null && row.comment !== ''
126
+ : undefined;
127
+ const comment = row.comment !== undefined && row.comment !== null && row.comment !== ''
91
128
  ? String(row.comment)
92
- : undefined,
93
- }));
94
- const primaryKey = primaryKeyRows.rows
95
- .map(row => String(row.column_name ?? ''))
96
- .filter(Boolean);
97
- const constraints = constraintRows.rows
98
- .map(row => ({
99
- name: String(row.name ?? ''),
100
- type: String(row.type ?? ''),
101
- columns: [], // MySQL constraints SQL doesn't return column list — populated for FK only if needed
102
- }))
103
- .filter(c => c.name);
104
- return { table, columns, primaryKey, constraints, profile: profileName, durationMs };
129
+ : undefined;
130
+ let line = ` ${colName} ${dataType}`;
131
+ if (!nullable)
132
+ line += ' NOT NULL';
133
+ if (defaultValue)
134
+ line += ` DEFAULT ${defaultValue}`;
135
+ columnLines.push(line);
136
+ if (comment) {
137
+ columnComments.push(`COMMENT ON COLUMN ${qualifiedTable}.${colName} IS ${quotePgLiteral(comment)};`);
138
+ }
139
+ }
140
+ for (const row of constraintDefRows.rows) {
141
+ const def = String(row.def ?? '').trim();
142
+ if (def)
143
+ columnLines.push(` ${def}`);
144
+ }
145
+ const body = columnLines.join(',\n');
146
+ let ddl = `CREATE TABLE ${qualifiedTable} (\n${body}\n);`;
147
+ if (columnComments.length > 0) {
148
+ ddl += '\n' + columnComments.join('\n');
149
+ }
150
+ const tableCommentRow = tableCommentRows.rows[0];
151
+ const tableComment = tableCommentRow && tableCommentRow.comment !== undefined &&
152
+ tableCommentRow.comment !== null && tableCommentRow.comment !== ''
153
+ ? String(tableCommentRow.comment)
154
+ : null;
155
+ if (tableComment) {
156
+ ddl += `\nCOMMENT ON TABLE ${qualifiedTable} IS ${quotePgLiteral(tableComment)};`;
157
+ }
158
+ const indexLines = [];
159
+ for (const row of indexDefRows.rows) {
160
+ const def = String(row.def ?? '').trim();
161
+ if (def)
162
+ indexLines.push(def.endsWith(';') ? def : def + ';');
163
+ }
164
+ if (indexLines.length > 0) {
165
+ ddl += '\n' + indexLines.join('\n');
166
+ }
167
+ return { table, ddl, profile: profileName, durationMs };
105
168
  }
106
169
  function formatIndexesResult(raw, table, profileName, durationMs) {
107
170
  // For MySQL: rows come as one-per-column per index. Group by index name.
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/dbquery/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/dbquery/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Identifier validation for SQL identifiers interpolated into schema
3
+ * introspection queries (e.g. `SHOW CREATE TABLE \`db\`.\`tbl\``).
4
+ *
5
+ * The dbquery safety layer (`safety.ts`) only gates user-supplied SQL in
6
+ * `runQuery`; `runSchema` builds its own SQL from CLI-provided identifiers
7
+ * and bypasses safety. This module is the boundary check for those
8
+ * identifiers — rejects anything that could break out of the quoted context
9
+ * or inject a statement. Identifiers come from `--table` / `--profile` /
10
+ * `--schema`, not from user SQL, so this is input validation, not the
11
+ * primary SQL-injection defense.
12
+ */
13
+ /**
14
+ * Reject identifiers that are empty, too long, or contain characters that
15
+ * could break out of a backtick/double-quote context or terminate the
16
+ * statement. Throws on invalid input; returns void on valid.
17
+ */
18
+ export declare function validateIdentifier(name: string, field: string): void;
19
+ //# sourceMappingURL=identifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/dbquery/identifiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAapE"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * Identifier validation for SQL identifiers interpolated into schema
4
+ * introspection queries (e.g. `SHOW CREATE TABLE \`db\`.\`tbl\``).
5
+ *
6
+ * The dbquery safety layer (`safety.ts`) only gates user-supplied SQL in
7
+ * `runQuery`; `runSchema` builds its own SQL from CLI-provided identifiers
8
+ * and bypasses safety. This module is the boundary check for those
9
+ * identifiers — rejects anything that could break out of the quoted context
10
+ * or inject a statement. Identifiers come from `--table` / `--profile` /
11
+ * `--schema`, not from user SQL, so this is input validation, not the
12
+ * primary SQL-injection defense.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.validateIdentifier = validateIdentifier;
16
+ /** MySQL/PG identifiers are at most 64 bytes. */
17
+ const MAX_IDENTIFIER_LENGTH = 64;
18
+ /**
19
+ * Reject identifiers that are empty, too long, or contain characters that
20
+ * could break out of a backtick/double-quote context or terminate the
21
+ * statement. Throws on invalid input; returns void on valid.
22
+ */
23
+ function validateIdentifier(name, field) {
24
+ if (typeof name !== 'string' || name.length === 0) {
25
+ throw new Error(`Invalid ${field}: must be a non-empty string.`);
26
+ }
27
+ if (name.length > MAX_IDENTIFIER_LENGTH) {
28
+ throw new Error(`Invalid ${field}: exceeds ${MAX_IDENTIFIER_LENGTH} characters.`);
29
+ }
30
+ // Reject any character that could escape the quoting context or inject SQL.
31
+ // Backtick (MySQL quote), double-quote (PG quote), single-quote (string
32
+ // literal), semicolon (statement terminator), null byte, and control chars.
33
+ if (/[`"';\0\r\n\t]/.test(name) || /[\x00-\x1f]/.test(name)) {
34
+ throw new Error(`Invalid ${field}: contains forbidden characters.`);
35
+ }
36
+ }
37
+ //# sourceMappingURL=identifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/dbquery/identifiers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAUH,gDAaC;AArBD,iDAAiD;AACjD,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAAY,EAAE,KAAa;IAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,+BAA+B,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,aAAa,qBAAqB,cAAc,CAAC,CAAC;IACpF,CAAC;IACD,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,kCAAkC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
@@ -5,6 +5,6 @@
5
5
  * safety / drivers / executor internals directly. Spec §1.2 contract.
6
6
  */
7
7
  export { runQuery, runSchema, listProfiles } from './executor';
8
- export type { QueryInput, QueryResult, SchemaInput, SchemaResult, ProfilesInput, ProfilesResult, DBProfile, DriverKind, QueryMode, ConfigSource, ColumnDefinition, ConstraintDefinition, IndexDefinition, TableSummary, DdlResult, IndexesResult, TableCommentResult, TablesResult, } from './types';
8
+ export type { QueryInput, QueryResult, SchemaInput, SchemaResult, ProfilesInput, ProfilesResult, DBProfile, DriverKind, QueryMode, ConfigSource, IndexDefinition, TableSummary, DdlResult, IndexesResult, TableCommentResult, TablesResult, } from './types';
9
9
  export { DbQueryError, ConfigNotFoundError, ProfileNotFoundError, SafetyRejectionError, ConnectionFailedError, QueryTimeoutError, DriverError, SubsystemDisabledError, } from './errors';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dbquery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dbquery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dbquery/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uCAA+D;AAAtD,oGAAA,QAAQ,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,wGAAA,YAAY,OAAA;AAqB1C,mCASkB;AARhB,sGAAA,YAAY,OAAA;AACZ,6GAAA,mBAAmB,OAAA;AACnB,8GAAA,oBAAoB,OAAA;AACpB,8GAAA,oBAAoB,OAAA;AACpB,+GAAA,qBAAqB,OAAA;AACrB,2GAAA,iBAAiB,OAAA;AACjB,qGAAA,WAAW,OAAA;AACX,gHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dbquery/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uCAA+D;AAAtD,oGAAA,QAAQ,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,wGAAA,YAAY,OAAA;AAmB1C,mCASkB;AARhB,sGAAA,YAAY,OAAA;AACZ,6GAAA,mBAAmB,OAAA;AACnB,8GAAA,oBAAoB,OAAA;AACpB,8GAAA,oBAAoB,OAAA;AACpB,+GAAA,qBAAqB,OAAA;AACrB,2GAAA,iBAAiB,OAAA;AACjB,qGAAA,WAAW,OAAA;AACX,gHAAA,sBAAsB,OAAA"}
@@ -14,15 +14,35 @@ export interface ParameterizedSql {
14
14
  params: Array<string | number>;
15
15
  }
16
16
  export declare function mysqlTablesSql(database: string): ParameterizedSql;
17
- export declare function mysqlDdlSql(table: string, database: string): ParameterizedSql;
18
- export declare function mysqlPrimaryKeySql(table: string, database: string): ParameterizedSql;
19
- export declare function mysqlConstraintsSql(table: string, database: string): ParameterizedSql;
17
+ /**
18
+ * `SHOW CREATE TABLE` for MySQL — the server returns the byte-for-byte real
19
+ * DDL (ENGINE, CHARSET, FK references, PK, UNIQUE, CHECK, auto_increment, …).
20
+ * Identifier is interpolated (SHOW does not accept `?` placeholders); callers
21
+ * MUST run `validateIdentifier` on `database` and `table` first.
22
+ */
23
+ export declare function mysqlShowCreateTableSql(database: string, table: string): ParameterizedSql;
20
24
  export declare function mysqlIndexesSql(table: string, database: string): ParameterizedSql;
21
25
  export declare function mysqlTableCommentSql(table: string, database: string): ParameterizedSql;
22
26
  export declare function postgresTablesSql(schema: string): ParameterizedSql;
23
27
  export declare function postgresDdlSql(table: string, schema: string): ParameterizedSql;
24
28
  export declare function postgresPrimaryKeySql(table: string, schema: string): ParameterizedSql;
25
29
  export declare function postgresConstraintsSql(table: string, schema: string): ParameterizedSql;
30
+ /**
31
+ * Full constraint definition text per constraint, via `pg_get_constraintdef`.
32
+ * Each row's `def` is a complete clause like `PRIMARY KEY (a, b)` or
33
+ * `FOREIGN KEY (a) REFERENCES other (b)` — embeddable directly inside
34
+ * `CREATE TABLE (...)`.
35
+ */
36
+ export declare function postgresConstraintDefsSql(table: string, schema: string): ParameterizedSql;
37
+ /**
38
+ * Secondary index definitions via `pg_get_indexdef`. Excludes indexes that
39
+ * back a PRIMARY KEY or UNIQUE constraint (those are already rendered inside
40
+ * the CREATE TABLE body by `postgresConstraintDefsSql`), so plain
41
+ * `CREATE INDEX` / `CREATE UNIQUE INDEX` statements are emitted without
42
+ * duplicating constraint-backed indexes. Each row's `def` is a complete
43
+ * `CREATE [UNIQUE] INDEX ... ON ...` statement.
44
+ */
45
+ export declare function postgresIndexDefsSql(table: string, schema: string): ParameterizedSql;
26
46
  export declare function postgresIndexesSql(table: string, schema: string): ParameterizedSql;
27
47
  export declare function postgresTableCommentSql(table: string, schema: string): ParameterizedSql;
28
48
  export type SchemaQueryMode = 'tables' | 'ddl' | 'indexes' | 'table-comment';
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/dbquery/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAChC;AAID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAOjE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAS7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CASpF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAQrF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CASjF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAOtF;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAWlE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAY9E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAUrF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAYtF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAclF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAKvF;AAID,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,CAAC;AAE7E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,gBAAgB,CAOlB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,gBAAgB,CAOlB"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/dbquery/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAChC;AAID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAKzF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CASjF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAOtF;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAWlE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAY9E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAUrF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAYtF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAQzF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAWpF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAclF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAKvF;AAID,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,CAAC;AAE7E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,gBAAgB,CAOlB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,gBAAgB,CAOlB"}
@@ -12,15 +12,15 @@
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.mysqlTablesSql = mysqlTablesSql;
15
- exports.mysqlDdlSql = mysqlDdlSql;
16
- exports.mysqlPrimaryKeySql = mysqlPrimaryKeySql;
17
- exports.mysqlConstraintsSql = mysqlConstraintsSql;
15
+ exports.mysqlShowCreateTableSql = mysqlShowCreateTableSql;
18
16
  exports.mysqlIndexesSql = mysqlIndexesSql;
19
17
  exports.mysqlTableCommentSql = mysqlTableCommentSql;
20
18
  exports.postgresTablesSql = postgresTablesSql;
21
19
  exports.postgresDdlSql = postgresDdlSql;
22
20
  exports.postgresPrimaryKeySql = postgresPrimaryKeySql;
23
21
  exports.postgresConstraintsSql = postgresConstraintsSql;
22
+ exports.postgresConstraintDefsSql = postgresConstraintDefsSql;
23
+ exports.postgresIndexDefsSql = postgresIndexDefsSql;
24
24
  exports.postgresIndexesSql = postgresIndexesSql;
25
25
  exports.postgresTableCommentSql = postgresTableCommentSql;
26
26
  exports.mysqlSchemaQuery = mysqlSchemaQuery;
@@ -33,30 +33,16 @@ function mysqlTablesSql(database) {
33
33
  params: [database],
34
34
  };
35
35
  }
36
- function mysqlDdlSql(table, database) {
37
- return {
38
- sql: 'SELECT COLUMN_NAME AS name, COLUMN_TYPE AS data_type, IS_NULLABLE AS nullable, ' +
39
- 'COLUMN_DEFAULT AS default_value, COLUMN_COMMENT AS comment ' +
40
- 'FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? ' +
41
- 'ORDER BY ORDINAL_POSITION',
42
- params: [database, table],
43
- };
44
- }
45
- function mysqlPrimaryKeySql(table, database) {
46
- return {
47
- sql: 'SELECT COLUMN_NAME AS column_name ' +
48
- 'FROM information_schema.KEY_COLUMN_USAGE ' +
49
- 'WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND CONSTRAINT_NAME = \'PRIMARY\' ' +
50
- 'ORDER BY ORDINAL_POSITION',
51
- params: [database, table],
52
- };
53
- }
54
- function mysqlConstraintsSql(table, database) {
36
+ /**
37
+ * `SHOW CREATE TABLE` for MySQL — the server returns the byte-for-byte real
38
+ * DDL (ENGINE, CHARSET, FK references, PK, UNIQUE, CHECK, auto_increment, …).
39
+ * Identifier is interpolated (SHOW does not accept `?` placeholders); callers
40
+ * MUST run `validateIdentifier` on `database` and `table` first.
41
+ */
42
+ function mysqlShowCreateTableSql(database, table) {
55
43
  return {
56
- sql: 'SELECT CONSTRAINT_NAME AS name, CONSTRAINT_TYPE AS type ' +
57
- 'FROM information_schema.TABLE_CONSTRAINTS ' +
58
- 'WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?',
59
- params: [database, table],
44
+ sql: `SHOW CREATE TABLE \`${database}\`.\`${table}\``,
45
+ params: [],
60
46
  };
61
47
  }
62
48
  function mysqlIndexesSql(table, database) {
@@ -121,6 +107,39 @@ function postgresConstraintsSql(table, schema) {
121
107
  params: [`${schema}.${table}`],
122
108
  };
123
109
  }
110
+ /**
111
+ * Full constraint definition text per constraint, via `pg_get_constraintdef`.
112
+ * Each row's `def` is a complete clause like `PRIMARY KEY (a, b)` or
113
+ * `FOREIGN KEY (a) REFERENCES other (b)` — embeddable directly inside
114
+ * `CREATE TABLE (...)`.
115
+ */
116
+ function postgresConstraintDefsSql(table, schema) {
117
+ return {
118
+ sql: 'SELECT pg_get_constraintdef(c.oid, true) AS def ' +
119
+ 'FROM pg_constraint c ' +
120
+ 'WHERE c.conrelid = $1::regclass ORDER BY c.conname',
121
+ params: [`${schema}.${table}`],
122
+ };
123
+ }
124
+ /**
125
+ * Secondary index definitions via `pg_get_indexdef`. Excludes indexes that
126
+ * back a PRIMARY KEY or UNIQUE constraint (those are already rendered inside
127
+ * the CREATE TABLE body by `postgresConstraintDefsSql`), so plain
128
+ * `CREATE INDEX` / `CREATE UNIQUE INDEX` statements are emitted without
129
+ * duplicating constraint-backed indexes. Each row's `def` is a complete
130
+ * `CREATE [UNIQUE] INDEX ... ON ...` statement.
131
+ */
132
+ function postgresIndexDefsSql(table, schema) {
133
+ return {
134
+ sql: 'SELECT pg_get_indexdef(i.indexrelid) AS def ' +
135
+ 'FROM pg_index i ' +
136
+ 'WHERE i.indrelid = $1::regclass ' +
137
+ 'AND NOT i.indisprimary ' +
138
+ 'AND NOT EXISTS (SELECT 1 FROM pg_constraint c WHERE c.conindid = i.indexrelid) ' +
139
+ 'ORDER BY i.indexrelid',
140
+ params: [`${schema}.${table}`],
141
+ };
142
+ }
124
143
  function postgresIndexesSql(table, schema) {
125
144
  return {
126
145
  sql: 'SELECT i.relname AS name, ' +
@@ -144,7 +163,7 @@ function postgresTableCommentSql(table, schema) {
144
163
  function mysqlSchemaQuery(mode, table, database) {
145
164
  switch (mode) {
146
165
  case 'tables': return mysqlTablesSql(database);
147
- case 'ddl': return mysqlDdlSql(table, database);
166
+ case 'ddl': return mysqlShowCreateTableSql(database, table);
148
167
  case 'indexes': return mysqlIndexesSql(table, database);
149
168
  case 'table-comment': return mysqlTableCommentSql(table, database);
150
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/dbquery/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/dbquery/queries.ts"],"names":[],"mappings":"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"}
@@ -68,23 +68,10 @@ export interface TableSummary {
68
68
  name: string;
69
69
  comment?: string;
70
70
  }
71
- export interface ColumnDefinition {
72
- name: string;
73
- dataType: string;
74
- nullable: boolean;
75
- defaultValue?: string;
76
- comment?: string;
77
- }
78
- export interface ConstraintDefinition {
79
- name: string;
80
- type: string;
81
- columns: string[];
82
- }
83
71
  export interface DdlResult {
84
72
  table: string;
85
- columns: ColumnDefinition[];
86
- primaryKey: string[];
87
- constraints: ConstraintDefinition[];
73
+ /** The `CREATE TABLE ...` DDL text, rendered per dialect. */
74
+ ddl: string;
88
75
  profile: string;
89
76
  durationMs: number;
90
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dbquery/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dbquery/types.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.0",
3
+ "version": "1.4.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",