devmind 1.1.0 → 1.1.1
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/README.md +13 -1
- package/dist/cli/handlers.js +1 -1
- package/dist/cli/handlers.js.map +1 -1
- package/dist/cli/register-database.js +4 -0
- package/dist/cli/register-database.js.map +1 -1
- package/dist/codebase/generators/architecture-extractor.d.ts +41 -0
- package/dist/codebase/generators/architecture-extractor.js +388 -0
- package/dist/codebase/generators/architecture-extractor.js.map +1 -0
- package/dist/codebase/generators/architecture.d.ts +2 -4
- package/dist/codebase/generators/architecture.js +123 -30
- package/dist/codebase/generators/architecture.js.map +1 -1
- package/dist/codebase/generators/modules.js +8 -8
- package/dist/codebase/generators/overview.js +24 -24
- package/dist/codebase/index.js +1 -1
- package/dist/codebase/index.js.map +1 -1
- package/dist/codebase/parsers/typescript.js +9 -0
- package/dist/codebase/parsers/typescript.js.map +1 -1
- package/dist/codebase/scanners/filesystem.js +1 -4
- package/dist/codebase/scanners/filesystem.js.map +1 -1
- package/dist/commands/analyze.js +7 -1
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/audit-design.js.map +1 -1
- package/dist/commands/audit-report.js.map +1 -1
- package/dist/commands/audit-source.js +3 -1
- package/dist/commands/audit-source.js.map +1 -1
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/claude-plugin.js.map +1 -1
- package/dist/commands/codex-plugin.js.map +1 -1
- package/dist/commands/design-system.js.map +1 -1
- package/dist/commands/extract.js +4 -1
- package/dist/commands/extract.js.map +1 -1
- package/dist/commands/retrieve.js +6 -2
- package/dist/commands/retrieve.js.map +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/core/source-file-cache.js +4 -1
- package/dist/core/source-file-cache.js.map +1 -1
- package/dist/database/cli/register-database.js +4 -0
- package/dist/database/cli/register-database.js.map +1 -1
- package/dist/database/commands/generate.d.ts +1 -0
- package/dist/database/commands/generate.js +23 -14
- package/dist/database/commands/generate.js.map +1 -1
- package/dist/database/commands/handoff.js +123 -123
- package/dist/database/commands/handoff.js.map +1 -1
- package/dist/database/commands/learn.js +5 -1
- package/dist/database/commands/learn.js.map +1 -1
- package/dist/database/commands/memory.js +113 -113
- package/dist/database/commands/watch.js +1 -1
- package/dist/database/commands/watch.js.map +1 -1
- package/dist/database/extractors/mysql.js +45 -45
- package/dist/database/extractors/postgres.js +54 -54
- package/dist/database/extractors/sqlite.js +8 -8
- package/dist/database/generators/templates.js +520 -520
- package/dist/generators/unified.js +4 -3
- package/dist/generators/unified.js.map +1 -1
- package/package.json +85 -77
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/database/commands/handoff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/database/commands/handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -150,7 +150,11 @@ function normalizeCategory(input) {
|
|
|
150
150
|
return input.trim().toLowerCase().replace(/\s+/g, '-');
|
|
151
151
|
}
|
|
152
152
|
function normalizeLearning(input) {
|
|
153
|
-
return input
|
|
153
|
+
return input
|
|
154
|
+
.trim()
|
|
155
|
+
.replace(/\r\n/g, '\n')
|
|
156
|
+
.replace(/[ \t]+/g, ' ')
|
|
157
|
+
.replace(/\n{3,}/g, '\n\n');
|
|
154
158
|
}
|
|
155
159
|
function createFingerprint(category, content) {
|
|
156
160
|
return createHash('sha256').update(`${category}\n${content}`, 'utf8').digest('hex').slice(0, 16);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"learn.js","sourceRoot":"","sources":["../../../src/database/commands/learn.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,MAAM,EACN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AA0BrE,MAAM,YAAY,GAChB,iHAAiH,CAAC;AACpH,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,QAAgB,EAAE,OAAqB;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAErC,iBAAiB;IACjB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE;YACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,YAAY,GAAG,4BAA4B,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IAClE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,gDAAgD,CAAC;QACtE,IAAI,QAAQ,EAAE,CAAC;YACb,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAEpE,0BAA0B;IAC1B,MAAM,OAAO,GAAG,MAAM,SAAS,MAAM,QAAQ;;EAE7C,kBAAkB;;;CAGnB,CAAC;IAEA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7C,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YAClF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;YAC5F,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,QAAQ,EAAE,CAAC;oBACb,UAAU,CACR,WAAW,CAAC;wBACV,KAAK,EAAE,KAAK;wBACZ,SAAS,EAAE,IAAI;wBACf,WAAW;wBACX,UAAU;qBACX,CAAC,CACH,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAErD,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;YAC5C,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;YAE1F,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CACR,WAAW,CAAC;oBACV,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,KAAK;oBAChB,QAAQ;oBACR,OAAO,EAAE,kBAAkB;oBAC3B,WAAW;oBACX,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,SAAS;iBACjB,CAAC,CACH,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,eAAe,kBAAkB,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,EAAE,CAAC;YACb,eAAe,CAAC,KAAc,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,WAAW,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAI,QAAgB,EAAE,EAAoB;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAC;YACpB,CAAC;oBAAS,CAAC;gBACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAA8B,CAAC;YAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACvC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,qBAAqB,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,OAAe;IAC1D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,KAAmB,CAAC;IAClC,OAAO,CACL,KAAK,CAAC,OAAO,KAAK,CAAC;QACnB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,CAAC,KAAK,CAAC,YAAY;QACpB,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CACvC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,SAAiB,EACjB,aAAqB,EACrB,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,aAAa,CAAa,SAAS,CAAC,CAAC;IAC1D,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,GAAe;QACxB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,iBAAiB,CACnC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,EAC7C,iBAAiB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;gBAC/C,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,QAAQ,CAAC,MAAmC;IACnD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,SAAiB,EACjB,QAAiB,EACjB,OAMC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAC5D,CAAC;QACF,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,kBAAkB,EAAE,CAAC;YACvB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7D,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChD,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;aAClG,CAAC,CAAC,CAAC;YACJ,UAAU,CACR,WAAW,CAAC;gBACV,KAAK,EAAE,aAAa,CAAC,MAAM;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,GAAG;oBACH,QAAQ,EAAE,QAAQ,IAAI,IAAI;oBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;oBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;iBAC3B;gBACD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;aACtD,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,0BAA0B,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhB,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CACR,WAAW,CAAC;oBACV,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE;wBACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;wBACvE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;wBAC1B,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;wBACjD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;wBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;qBAC3B;oBACD,KAAK,EAAE,EAAoB;iBAC5B,CAAC,CACH,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,EAAE,CAAC;gBACb,eAAe,CAAC,KAAc,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"learn.js","sourceRoot":"","sources":["../../../src/database/commands/learn.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,32 +88,32 @@ export class MemoryInfrastructure {
|
|
|
88
88
|
}
|
|
89
89
|
getTemplateFallbacks() {
|
|
90
90
|
return {
|
|
91
|
-
'edge-cases.md': `# Edge Cases
|
|
92
|
-
|
|
93
|
-
This file captures known project edge cases and mitigations.
|
|
94
|
-
|
|
95
|
-
## Add Cases
|
|
96
|
-
|
|
97
|
-
- Scenario:
|
|
98
|
-
- Impact:
|
|
99
|
-
- Mitigation:
|
|
91
|
+
'edge-cases.md': `# Edge Cases
|
|
92
|
+
|
|
93
|
+
This file captures known project edge cases and mitigations.
|
|
94
|
+
|
|
95
|
+
## Add Cases
|
|
96
|
+
|
|
97
|
+
- Scenario:
|
|
98
|
+
- Impact:
|
|
99
|
+
- Mitigation:
|
|
100
100
|
`,
|
|
101
|
-
'state/CURRENT_STATE.md': `# Current State
|
|
102
|
-
|
|
103
|
-
Generated by DevMind.
|
|
104
|
-
|
|
105
|
-
- Status: initializing
|
|
106
|
-
- Last Updated: ${new Date().toISOString()}
|
|
107
|
-
- Next Step: run \`devmind generate\` or \`devmind scan\`
|
|
101
|
+
'state/CURRENT_STATE.md': `# Current State
|
|
102
|
+
|
|
103
|
+
Generated by DevMind.
|
|
104
|
+
|
|
105
|
+
- Status: initializing
|
|
106
|
+
- Last Updated: ${new Date().toISOString()}
|
|
107
|
+
- Next Step: run \`devmind generate\` or \`devmind scan\`
|
|
108
108
|
`,
|
|
109
|
-
'memory/checkpoint-patterns.md': `# Checkpoint Patterns
|
|
110
|
-
|
|
111
|
-
Use checkpoints to preserve progress across sessions.
|
|
112
|
-
|
|
113
|
-
## Recommended
|
|
114
|
-
|
|
115
|
-
- Save a checkpoint before large refactors.
|
|
116
|
-
- Include a short message describing intent.
|
|
109
|
+
'memory/checkpoint-patterns.md': `# Checkpoint Patterns
|
|
110
|
+
|
|
111
|
+
Use checkpoints to preserve progress across sessions.
|
|
112
|
+
|
|
113
|
+
## Recommended
|
|
114
|
+
|
|
115
|
+
- Save a checkpoint before large refactors.
|
|
116
|
+
- Include a short message describing intent.
|
|
117
117
|
`,
|
|
118
118
|
};
|
|
119
119
|
}
|
|
@@ -121,64 +121,64 @@ Use checkpoints to preserve progress across sessions.
|
|
|
121
121
|
* Create initial learnings file
|
|
122
122
|
*/
|
|
123
123
|
createInitialLearnings(schema) {
|
|
124
|
-
return `# Project Learnings
|
|
125
|
-
|
|
126
|
-
> Auto-generated on ${new Date().toISOString()}
|
|
127
|
-
|
|
128
|
-
This file accumulates technical learnings, architectural decisions, and discovered patterns.
|
|
129
|
-
|
|
130
|
-
## Initial Schema Analysis
|
|
131
|
-
|
|
132
|
-
- **Tables:** ${schema.tables.length}
|
|
133
|
-
- **Database Type:** ${schema.databaseType}
|
|
134
|
-
- **Schema Name:** ${schema.schemaName || 'N/A'}
|
|
135
|
-
|
|
136
|
-
## Codebase Knowledge
|
|
137
|
-
|
|
138
|
-
- **Architecture:** (Pending analysis)
|
|
139
|
-
- **Patterns:** (Pending analysis)
|
|
140
|
-
|
|
141
|
-
## Patterns
|
|
142
|
-
|
|
143
|
-
See \`BUSINESS_LOGIC.md\` for detected patterns.
|
|
144
|
-
|
|
145
|
-
## Sessions
|
|
146
|
-
|
|
147
|
-
### Session 1 - ${new Date().toISOString().split('T')[0]}
|
|
148
|
-
- Initial schema generation
|
|
149
|
-
- Detected business patterns
|
|
150
|
-
- Created memory infrastructure
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
*Add new learnings below. Each session should append discoveries, edge cases, and best practices.*
|
|
124
|
+
return `# Project Learnings
|
|
125
|
+
|
|
126
|
+
> Auto-generated on ${new Date().toISOString()}
|
|
127
|
+
|
|
128
|
+
This file accumulates technical learnings, architectural decisions, and discovered patterns.
|
|
129
|
+
|
|
130
|
+
## Initial Schema Analysis
|
|
131
|
+
|
|
132
|
+
- **Tables:** ${schema.tables.length}
|
|
133
|
+
- **Database Type:** ${schema.databaseType}
|
|
134
|
+
- **Schema Name:** ${schema.schemaName || 'N/A'}
|
|
135
|
+
|
|
136
|
+
## Codebase Knowledge
|
|
137
|
+
|
|
138
|
+
- **Architecture:** (Pending analysis)
|
|
139
|
+
- **Patterns:** (Pending analysis)
|
|
140
|
+
|
|
141
|
+
## Patterns
|
|
142
|
+
|
|
143
|
+
See \`BUSINESS_LOGIC.md\` for detected patterns.
|
|
144
|
+
|
|
145
|
+
## Sessions
|
|
146
|
+
|
|
147
|
+
### Session 1 - ${new Date().toISOString().split('T')[0]}
|
|
148
|
+
- Initial schema generation
|
|
149
|
+
- Detected business patterns
|
|
150
|
+
- Created memory infrastructure
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
*Add new learnings below. Each session should append discoveries, edge cases, and best practices.*
|
|
155
155
|
`;
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
158
|
* Create initial session history
|
|
159
159
|
*/
|
|
160
160
|
createInitialHistory() {
|
|
161
|
-
return `# Session History
|
|
162
|
-
|
|
163
|
-
> Recent database context sessions
|
|
164
|
-
|
|
165
|
-
## ${new Date().toISOString().split('T')[0]} - Initial Generation
|
|
166
|
-
|
|
167
|
-
**Status:** Completed
|
|
168
|
-
**Agent:** devmind-db v1.0.3
|
|
169
|
-
|
|
170
|
-
**Actions:**
|
|
171
|
-
- Generated schema context
|
|
172
|
-
- Created memory infrastructure
|
|
173
|
-
- Detected business patterns
|
|
174
|
-
|
|
175
|
-
**Discoveries:**
|
|
176
|
-
- Schema structure analyzed
|
|
177
|
-
- Memory layer initialized
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
*New sessions will be appended below*
|
|
161
|
+
return `# Session History
|
|
162
|
+
|
|
163
|
+
> Recent database context sessions
|
|
164
|
+
|
|
165
|
+
## ${new Date().toISOString().split('T')[0]} - Initial Generation
|
|
166
|
+
|
|
167
|
+
**Status:** Completed
|
|
168
|
+
**Agent:** devmind-db v1.0.3
|
|
169
|
+
|
|
170
|
+
**Actions:**
|
|
171
|
+
- Generated schema context
|
|
172
|
+
- Created memory infrastructure
|
|
173
|
+
- Detected business patterns
|
|
174
|
+
|
|
175
|
+
**Discoveries:**
|
|
176
|
+
- Schema structure analyzed
|
|
177
|
+
- Memory layer initialized
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
*New sessions will be appended below*
|
|
182
182
|
`;
|
|
183
183
|
}
|
|
184
184
|
/**
|
|
@@ -186,41 +186,41 @@ See \`BUSINESS_LOGIC.md\` for detected patterns.
|
|
|
186
186
|
*/
|
|
187
187
|
createSchemaEvolution(schema) {
|
|
188
188
|
const schemaHash = this.calculateSchemaHash(schema);
|
|
189
|
-
return `# Schema Evolution
|
|
190
|
-
|
|
191
|
-
> Track schema changes over time
|
|
192
|
-
|
|
193
|
-
## ${new Date().toISOString().split('T')[0]} - Baseline
|
|
194
|
-
|
|
195
|
-
**Schema Hash:** \`${schemaHash}\`
|
|
196
|
-
**Tables:** ${schema.tables.length}
|
|
197
|
-
**Database:** ${schema.databaseType}
|
|
198
|
-
|
|
199
|
-
### Tables Created
|
|
200
|
-
${schema.tables.map((t) => `- ${t.name} (${t.columns.length} columns)`).join('\n')}
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
*Schema changes will be tracked below*
|
|
189
|
+
return `# Schema Evolution
|
|
190
|
+
|
|
191
|
+
> Track schema changes over time
|
|
192
|
+
|
|
193
|
+
## ${new Date().toISOString().split('T')[0]} - Baseline
|
|
194
|
+
|
|
195
|
+
**Schema Hash:** \`${schemaHash}\`
|
|
196
|
+
**Tables:** ${schema.tables.length}
|
|
197
|
+
**Database:** ${schema.databaseType}
|
|
198
|
+
|
|
199
|
+
### Tables Created
|
|
200
|
+
${schema.tables.map((t) => `- ${t.name} (${t.columns.length} columns)`).join('\n')}
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
*Schema changes will be tracked below*
|
|
205
205
|
`;
|
|
206
206
|
}
|
|
207
207
|
/**
|
|
208
208
|
* Create codebase evolution tracking
|
|
209
209
|
*/
|
|
210
210
|
createCodebaseEvolution(hash, stats) {
|
|
211
|
-
return `# Codebase Evolution
|
|
212
|
-
|
|
213
|
-
> Track codebase structure changes over time
|
|
214
|
-
|
|
215
|
-
## ${new Date().toISOString().split('T')[0]} - Baseline
|
|
216
|
-
|
|
217
|
-
**Codebase Hash:** \`${hash}\`
|
|
218
|
-
**Files:** ${stats?.files || 0}
|
|
219
|
-
**LOC:** ${stats?.loc || 0}
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
*Codebase changes will be tracked below*
|
|
211
|
+
return `# Codebase Evolution
|
|
212
|
+
|
|
213
|
+
> Track codebase structure changes over time
|
|
214
|
+
|
|
215
|
+
## ${new Date().toISOString().split('T')[0]} - Baseline
|
|
216
|
+
|
|
217
|
+
**Codebase Hash:** \`${hash}\`
|
|
218
|
+
**Files:** ${stats?.files || 0}
|
|
219
|
+
**LOC:** ${stats?.loc || 0}
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
*Codebase changes will be tracked below*
|
|
224
224
|
`;
|
|
225
225
|
}
|
|
226
226
|
/**
|
|
@@ -337,14 +337,14 @@ ${schema.tables.map((t) => `- ${t.name} (${t.columns.length} columns)`).join('\n
|
|
|
337
337
|
// Check if hash changed
|
|
338
338
|
if (!content.includes(`\`${hash}\``)) {
|
|
339
339
|
const timestamp = new Date().toISOString().split('T')[0];
|
|
340
|
-
const entry = `
|
|
341
|
-
## ${timestamp} - Scan
|
|
342
|
-
|
|
343
|
-
**Codebase Hash:** \`${hash}\`
|
|
344
|
-
**Files:** ${stats.files}
|
|
345
|
-
**LOC:** ${stats.loc}
|
|
346
|
-
|
|
347
|
-
---
|
|
340
|
+
const entry = `
|
|
341
|
+
## ${timestamp} - Scan
|
|
342
|
+
|
|
343
|
+
**Codebase Hash:** \`${hash}\`
|
|
344
|
+
**Files:** ${stats.files}
|
|
345
|
+
**LOC:** ${stats.loc}
|
|
346
|
+
|
|
347
|
+
---
|
|
348
348
|
`;
|
|
349
349
|
await writeFileSafe(evolutionPath, content + entry);
|
|
350
350
|
}
|
|
@@ -41,7 +41,7 @@ export async function watch(options) {
|
|
|
41
41
|
generating = true;
|
|
42
42
|
logger.info(`Schema change detected, regenerating...`);
|
|
43
43
|
try {
|
|
44
|
-
await generate({});
|
|
44
|
+
await generate({ throwOnError: true });
|
|
45
45
|
logger.success('Regeneration complete');
|
|
46
46
|
}
|
|
47
47
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/database/commands/watch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAM7C,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB;IAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAE1D,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC;IAE1C,+BAA+B;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAE9D,IAAI,aAAa,GAA0B,IAAI,CAAC;IAChD,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,UAAU;YAAE,OAAO;QAEvB,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/database/commands/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,15 +53,15 @@ export class MySQLExtractor {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
async extractTables(connection) {
|
|
56
|
-
const [rows] = await connection.query(`
|
|
57
|
-
SELECT
|
|
58
|
-
TABLE_NAME as table_name,
|
|
59
|
-
TABLE_COMMENT as table_comment,
|
|
60
|
-
ENGINE as engine,
|
|
61
|
-
AUTO_INCREMENT as auto_increment
|
|
62
|
-
FROM information_schema.TABLES
|
|
63
|
-
WHERE TABLE_SCHEMA = ? AND TABLE_TYPE = 'BASE TABLE'
|
|
64
|
-
ORDER BY TABLE_NAME
|
|
56
|
+
const [rows] = await connection.query(`
|
|
57
|
+
SELECT
|
|
58
|
+
TABLE_NAME as table_name,
|
|
59
|
+
TABLE_COMMENT as table_comment,
|
|
60
|
+
ENGINE as engine,
|
|
61
|
+
AUTO_INCREMENT as auto_increment
|
|
62
|
+
FROM information_schema.TABLES
|
|
63
|
+
WHERE TABLE_SCHEMA = ? AND TABLE_TYPE = 'BASE TABLE'
|
|
64
|
+
ORDER BY TABLE_NAME
|
|
65
65
|
`, [this.databaseName]);
|
|
66
66
|
return rows.map((row) => ({
|
|
67
67
|
name: row.table_name,
|
|
@@ -71,17 +71,17 @@ export class MySQLExtractor {
|
|
|
71
71
|
}));
|
|
72
72
|
}
|
|
73
73
|
async extractColumns(connection, tableName) {
|
|
74
|
-
const [rows] = await connection.query(`
|
|
75
|
-
SELECT
|
|
76
|
-
COLUMN_NAME as column_name,
|
|
77
|
-
COLUMN_TYPE as column_type,
|
|
78
|
-
IS_NULLABLE as is_nullable,
|
|
79
|
-
COLUMN_DEFAULT as column_default,
|
|
80
|
-
EXTRA as extra,
|
|
81
|
-
COLUMN_COMMENT as column_comment
|
|
82
|
-
FROM information_schema.COLUMNS
|
|
83
|
-
WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?
|
|
84
|
-
ORDER BY ORDINAL_POSITION
|
|
74
|
+
const [rows] = await connection.query(`
|
|
75
|
+
SELECT
|
|
76
|
+
COLUMN_NAME as column_name,
|
|
77
|
+
COLUMN_TYPE as column_type,
|
|
78
|
+
IS_NULLABLE as is_nullable,
|
|
79
|
+
COLUMN_DEFAULT as column_default,
|
|
80
|
+
EXTRA as extra,
|
|
81
|
+
COLUMN_COMMENT as column_comment
|
|
82
|
+
FROM information_schema.COLUMNS
|
|
83
|
+
WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?
|
|
84
|
+
ORDER BY ORDINAL_POSITION
|
|
85
85
|
`, [this.databaseName, tableName]);
|
|
86
86
|
return rows.map((row) => ({
|
|
87
87
|
name: row.column_name,
|
|
@@ -93,22 +93,22 @@ export class MySQLExtractor {
|
|
|
93
93
|
}));
|
|
94
94
|
}
|
|
95
95
|
async extractIndexes(connection, tableName) {
|
|
96
|
-
const [rows] = await connection.query(`
|
|
97
|
-
SELECT
|
|
98
|
-
INDEX_NAME as index_name,
|
|
99
|
-
NON_UNIQUE as non_unique,
|
|
100
|
-
INDEX_TYPE as index_type,
|
|
101
|
-
GROUP_CONcat(COLUMN_NAME ORDER BY SEQ_IN_INDEX) as columns
|
|
102
|
-
FROM information_schema.STATISTICS
|
|
103
|
-
WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?
|
|
104
|
-
GROUP BY INDEX_NAME, NON_UNIQUE, INDEX_TYPE
|
|
96
|
+
const [rows] = await connection.query(`
|
|
97
|
+
SELECT
|
|
98
|
+
INDEX_NAME as index_name,
|
|
99
|
+
NON_UNIQUE as non_unique,
|
|
100
|
+
INDEX_TYPE as index_type,
|
|
101
|
+
GROUP_CONcat(COLUMN_NAME ORDER BY SEQ_IN_INDEX) as columns
|
|
102
|
+
FROM information_schema.STATISTICS
|
|
103
|
+
WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?
|
|
104
|
+
GROUP BY INDEX_NAME, NON_UNIQUE, INDEX_TYPE
|
|
105
105
|
`, [this.databaseName, tableName]);
|
|
106
106
|
// Also get primary key info
|
|
107
|
-
const [pkRows] = await connection.query(`
|
|
108
|
-
SELECT
|
|
109
|
-
INDEX_NAME as index_name
|
|
110
|
-
FROM information_schema.STATISTICS
|
|
111
|
-
WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND INDEX_NAME = 'PRIMARY'
|
|
107
|
+
const [pkRows] = await connection.query(`
|
|
108
|
+
SELECT
|
|
109
|
+
INDEX_NAME as index_name
|
|
110
|
+
FROM information_schema.STATISTICS
|
|
111
|
+
WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND INDEX_NAME = 'PRIMARY'
|
|
112
112
|
`, [this.databaseName, tableName]);
|
|
113
113
|
const primaryKeyIndexNames = pkRows.map((row) => row.index_name);
|
|
114
114
|
return rows.map((row) => {
|
|
@@ -124,17 +124,17 @@ export class MySQLExtractor {
|
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
126
|
async extractForeignKeys(connection, tableName) {
|
|
127
|
-
const [rows] = await connection.query(`
|
|
128
|
-
SELECT
|
|
129
|
-
COLUMN_NAME as column_name,
|
|
130
|
-
REFERENCED_TABLE_NAME as referenced_table_name,
|
|
131
|
-
REFERENCED_COLUMN_NAME as referenced_column_name,
|
|
132
|
-
DELETE_RULE as delete_rule,
|
|
133
|
-
UPDATE_RULE as update_rule
|
|
134
|
-
FROM information_schema.KEY_COLUMN_USAGE
|
|
135
|
-
WHERE TABLE_SCHEMA = ?
|
|
136
|
-
AND TABLE_NAME = ?
|
|
137
|
-
AND REFERENCED_TABLE_NAME IS NOT NULL
|
|
127
|
+
const [rows] = await connection.query(`
|
|
128
|
+
SELECT
|
|
129
|
+
COLUMN_NAME as column_name,
|
|
130
|
+
REFERENCED_TABLE_NAME as referenced_table_name,
|
|
131
|
+
REFERENCED_COLUMN_NAME as referenced_column_name,
|
|
132
|
+
DELETE_RULE as delete_rule,
|
|
133
|
+
UPDATE_RULE as update_rule
|
|
134
|
+
FROM information_schema.KEY_COLUMN_USAGE
|
|
135
|
+
WHERE TABLE_SCHEMA = ?
|
|
136
|
+
AND TABLE_NAME = ?
|
|
137
|
+
AND REFERENCED_TABLE_NAME IS NOT NULL
|
|
138
138
|
`, [this.databaseName, tableName]);
|
|
139
139
|
return rows.map((row) => ({
|
|
140
140
|
column: row.column_name,
|
|
@@ -41,14 +41,14 @@ export class PostgresExtractor {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
async extractTables(client, schemaName) {
|
|
44
|
-
const query = `
|
|
45
|
-
SELECT t.table_name, obj_description(c.oid, 'pg_class') as description
|
|
46
|
-
FROM information_schema.tables t
|
|
47
|
-
LEFT JOIN pg_class c ON c.relname = t.table_name
|
|
48
|
-
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
49
|
-
WHERE t.table_schema = $1
|
|
50
|
-
AND t.table_type = 'BASE TABLE'
|
|
51
|
-
ORDER BY t.table_name
|
|
44
|
+
const query = `
|
|
45
|
+
SELECT t.table_name, obj_description(c.oid, 'pg_class') as description
|
|
46
|
+
FROM information_schema.tables t
|
|
47
|
+
LEFT JOIN pg_class c ON c.relname = t.table_name
|
|
48
|
+
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
49
|
+
WHERE t.table_schema = $1
|
|
50
|
+
AND t.table_type = 'BASE TABLE'
|
|
51
|
+
ORDER BY t.table_name
|
|
52
52
|
`;
|
|
53
53
|
const result = await client.query(query, [schemaName]);
|
|
54
54
|
return result.rows.map((row) => ({
|
|
@@ -57,19 +57,19 @@ export class PostgresExtractor {
|
|
|
57
57
|
}));
|
|
58
58
|
}
|
|
59
59
|
async extractColumns(client, schemaName, tableName) {
|
|
60
|
-
const query = `
|
|
61
|
-
SELECT
|
|
62
|
-
c.column_name,
|
|
63
|
-
c.data_type,
|
|
64
|
-
c.is_nullable = 'YES' as is_nullable,
|
|
65
|
-
c.column_default,
|
|
66
|
-
pg_catalog.col_description(
|
|
67
|
-
(SELECT c.oid FROM pg_class WHERE relname = $2)::regclass::oid,
|
|
68
|
-
c.ordinal_position
|
|
69
|
-
) as description
|
|
70
|
-
FROM information_schema.columns c
|
|
71
|
-
WHERE c.table_schema = $1 AND c.table_name = $2
|
|
72
|
-
ORDER BY c.ordinal_position
|
|
60
|
+
const query = `
|
|
61
|
+
SELECT
|
|
62
|
+
c.column_name,
|
|
63
|
+
c.data_type,
|
|
64
|
+
c.is_nullable = 'YES' as is_nullable,
|
|
65
|
+
c.column_default,
|
|
66
|
+
pg_catalog.col_description(
|
|
67
|
+
(SELECT c.oid FROM pg_class WHERE relname = $2)::regclass::oid,
|
|
68
|
+
c.ordinal_position
|
|
69
|
+
) as description
|
|
70
|
+
FROM information_schema.columns c
|
|
71
|
+
WHERE c.table_schema = $1 AND c.table_name = $2
|
|
72
|
+
ORDER BY c.ordinal_position
|
|
73
73
|
`;
|
|
74
74
|
const result = await client.query(query, [schemaName, tableName]);
|
|
75
75
|
return result.rows.map((row) => ({
|
|
@@ -81,19 +81,19 @@ export class PostgresExtractor {
|
|
|
81
81
|
}));
|
|
82
82
|
}
|
|
83
83
|
async extractIndexes(client, schemaName, tableName) {
|
|
84
|
-
const query = `
|
|
85
|
-
SELECT
|
|
86
|
-
i.relname as index_name,
|
|
87
|
-
array_agg(a.attname ORDER BY ix.indkey::integer[]) as columns,
|
|
88
|
-
ix.indisunique as is_unique,
|
|
89
|
-
ix.indisprimary as is_primary_key
|
|
90
|
-
FROM pg_class t
|
|
91
|
-
JOIN pg_index ix ON t.oid = ix.indrelid
|
|
92
|
-
JOIN pg_class i ON i.oid = ix.indexrelid
|
|
93
|
-
JOIN pg_namespace n ON n.oid = t.relnamespace
|
|
94
|
-
LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(ix.indkey::integer[])
|
|
95
|
-
WHERE t.relname = $1 AND n.nspname = $2
|
|
96
|
-
GROUP BY i.relname, ix.indisunique, ix.indisprimary
|
|
84
|
+
const query = `
|
|
85
|
+
SELECT
|
|
86
|
+
i.relname as index_name,
|
|
87
|
+
array_agg(a.attname ORDER BY ix.indkey::integer[]) as columns,
|
|
88
|
+
ix.indisunique as is_unique,
|
|
89
|
+
ix.indisprimary as is_primary_key
|
|
90
|
+
FROM pg_class t
|
|
91
|
+
JOIN pg_index ix ON t.oid = ix.indrelid
|
|
92
|
+
JOIN pg_class i ON i.oid = ix.indexrelid
|
|
93
|
+
JOIN pg_namespace n ON n.oid = t.relnamespace
|
|
94
|
+
LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(ix.indkey::integer[])
|
|
95
|
+
WHERE t.relname = $1 AND n.nspname = $2
|
|
96
|
+
GROUP BY i.relname, ix.indisunique, ix.indisprimary
|
|
97
97
|
`;
|
|
98
98
|
const result = await client.query(query, [tableName, schemaName]);
|
|
99
99
|
return result.rows.map((row) => ({
|
|
@@ -104,26 +104,26 @@ export class PostgresExtractor {
|
|
|
104
104
|
}));
|
|
105
105
|
}
|
|
106
106
|
async extractForeignKeys(client, schemaName, tableName) {
|
|
107
|
-
const query = `
|
|
108
|
-
SELECT
|
|
109
|
-
kcu.column_name,
|
|
110
|
-
ccu.table_name AS references_table,
|
|
111
|
-
ccu.column_name AS references_column,
|
|
112
|
-
rc.delete_rule AS on_delete,
|
|
113
|
-
rc.update_rule AS on_update
|
|
114
|
-
FROM information_schema.table_constraints AS tc
|
|
115
|
-
JOIN information_schema.key_column_usage AS kcu
|
|
116
|
-
ON tc.constraint_name = kcu.constraint_name
|
|
117
|
-
AND tc.table_schema = kcu.table_schema
|
|
118
|
-
JOIN information_schema.constraint_column_usage AS ccu
|
|
119
|
-
ON ccu.constraint_name = tc.constraint_name
|
|
120
|
-
AND ccu.table_schema = tc.table_schema
|
|
121
|
-
JOIN information_schema.referential_constraints AS rc
|
|
122
|
-
ON tc.constraint_name = rc.constraint_name
|
|
123
|
-
AND tc.table_schema = rc.constraint_schema
|
|
124
|
-
WHERE tc.constraint_type = 'FOREIGN KEY'
|
|
125
|
-
AND tc.table_schema = $1
|
|
126
|
-
AND tc.table_name = $2
|
|
107
|
+
const query = `
|
|
108
|
+
SELECT
|
|
109
|
+
kcu.column_name,
|
|
110
|
+
ccu.table_name AS references_table,
|
|
111
|
+
ccu.column_name AS references_column,
|
|
112
|
+
rc.delete_rule AS on_delete,
|
|
113
|
+
rc.update_rule AS on_update
|
|
114
|
+
FROM information_schema.table_constraints AS tc
|
|
115
|
+
JOIN information_schema.key_column_usage AS kcu
|
|
116
|
+
ON tc.constraint_name = kcu.constraint_name
|
|
117
|
+
AND tc.table_schema = kcu.table_schema
|
|
118
|
+
JOIN information_schema.constraint_column_usage AS ccu
|
|
119
|
+
ON ccu.constraint_name = tc.constraint_name
|
|
120
|
+
AND ccu.table_schema = tc.table_schema
|
|
121
|
+
JOIN information_schema.referential_constraints AS rc
|
|
122
|
+
ON tc.constraint_name = rc.constraint_name
|
|
123
|
+
AND tc.table_schema = rc.constraint_schema
|
|
124
|
+
WHERE tc.constraint_type = 'FOREIGN KEY'
|
|
125
|
+
AND tc.table_schema = $1
|
|
126
|
+
AND tc.table_name = $2
|
|
127
127
|
`;
|
|
128
128
|
const result = await client.query(query, [schemaName, tableName]);
|
|
129
129
|
return result.rows.map((row) => ({
|