@miniidealab/openlogos 0.4.1 → 0.5.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/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +16 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/sql-comments.d.ts +14 -0
- package/dist/lib/sql-comments.d.ts.map +1 -0
- package/dist/lib/sql-comments.js +69 -0
- package/dist/lib/sql-comments.js.map +1 -0
- package/package.json +1 -1
- package/skills/db-designer/SKILL.en.md +53 -11
- package/skills/db-designer/SKILL.md +53 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAiD,MAAM,YAAY,CAAC;AAExF,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;AAExD,KAAK,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAE9F,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+B9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAI1D;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAiD,MAAM,YAAY,CAAC;AAExF,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;AAExD,KAAK,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAE9F,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+B9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAI1D;AAkFD,eAAO,MAAM,WAAW,mOAad,CAAC;AAiBX,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAahD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,SAAqB,GAAG,MAAM,CAwE1F;AAYD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAa,EACrB,SAAS,GAAE,SAAqB,EAChC,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkC1C;AAsFD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiB,GAAG,MAAM,CA2CjG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAYvE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,SAAS,GAAE,SAAqB,GAAG,MAAM,CAyGtI;AAED,wBAAsB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,iBAoEvF"}
|
package/dist/commands/init.js
CHANGED
|
@@ -75,9 +75,22 @@ async function resolveProjectName(locale, root, explicitName) {
|
|
|
75
75
|
}
|
|
76
76
|
return { name: explicitName, source: 'argument' };
|
|
77
77
|
}
|
|
78
|
+
function detectAiToolFromEnv() {
|
|
79
|
+
if (process.env.CLAUDE_PLUGIN_ROOT || process.env.CLAUDE_CODE)
|
|
80
|
+
return 'claude-code';
|
|
81
|
+
return 'cursor';
|
|
82
|
+
}
|
|
78
83
|
async function chooseLocale() {
|
|
79
|
-
if (!isTTY())
|
|
80
|
-
|
|
84
|
+
if (!isTTY()) {
|
|
85
|
+
console.error('Error: --locale is required in non-interactive mode.');
|
|
86
|
+
console.error('');
|
|
87
|
+
console.error('Usage: openlogos init --locale <en|zh> [--ai-tool <cursor|claude-code|other>] [name]');
|
|
88
|
+
console.error('');
|
|
89
|
+
console.error('Ask the user to choose a language first:');
|
|
90
|
+
console.error(' --locale en English');
|
|
91
|
+
console.error(' --locale zh 中文');
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
81
94
|
console.log('\nChoose language / 选择语言:');
|
|
82
95
|
console.log(' 1. English (default)');
|
|
83
96
|
console.log(' 2. 中文\n');
|
|
@@ -86,7 +99,7 @@ async function chooseLocale() {
|
|
|
86
99
|
}
|
|
87
100
|
async function chooseAiTool(locale) {
|
|
88
101
|
if (!isTTY())
|
|
89
|
-
return
|
|
102
|
+
return detectAiToolFromEnv();
|
|
90
103
|
console.log(`\n${t(locale, 'init.aiToolHeader')}`);
|
|
91
104
|
console.log(t(locale, 'init.aiToolCursor'));
|
|
92
105
|
console.log(t(locale, 'init.aiToolClaudeCode'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAe,CAAC,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAWxF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,IAAI,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,IAAI,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAc,EAAE,IAAY,EAAE,YAAqB;IACnF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAExG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE/D,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACrE,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc;IACxC,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,aAAa,CAAC;IACzC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;IACpB,cAAc;IACd,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,eAAe;IACf,eAAe;IACf,gBAAgB;CACR,CAAC;AAEX,MAAM,kBAAkB,GAA+C;IACrE,cAAc,EAAE,EAAE,EAAE,EAAE,4CAA4C,EAAE,EAAE,EAAE,YAAY,EAAE;IACtF,YAAY,EAAE,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE,EAAE,QAAQ,EAAE;IACrE,kBAAkB,EAAE,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE,EAAE,SAAS,EAAE;IAC3E,uBAAuB,EAAE,EAAE,EAAE,EAAE,iDAAiD,EAAE,EAAE,EAAE,WAAW,EAAE;IACnG,oBAAoB,EAAE,EAAE,EAAE,EAAE,kDAAkD,EAAE,EAAE,EAAE,YAAY,EAAE;IAClG,cAAc,EAAE,EAAE,EAAE,EAAE,8BAA8B,EAAE,EAAE,EAAE,cAAc,EAAE;IAC1E,aAAa,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,EAAE,EAAE,eAAe,EAAE;IACpE,aAAa,EAAE,EAAE,EAAE,EAAE,+DAA+D,EAAE,EAAE,EAAE,0BAA0B,EAAE;IACtH,mBAAmB,EAAE,EAAE,EAAE,EAAE,4DAA4D,EAAE,EAAE,EAAE,8BAA8B,EAAE;IAC7H,eAAe,EAAE,EAAE,EAAE,EAAE,qCAAqC,EAAE,EAAE,EAAE,WAAW,EAAE;IAC/E,eAAe,EAAE,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE,EAAE,aAAa,EAAE;IACzF,gBAAgB,EAAE,EAAE,EAAE,EAAE,2CAA2C,EAAE,EAAE,EAAE,gCAAgC,EAAE;CAC5G,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExC,kEAAkE;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IAEpD,wDAAwD;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,YAAuB,SAAS;IAChF,MAAM,WAAW,GAAG,MAAM,KAAK,IAAI;QACjC,CAAC,CAAC;;;;;;eAMS;QACX,CAAC,CAAC;;;;;;qDAM+C,CAAC;IAEpD,MAAM,iBAAiB,GAAG,SAAS,KAAK,QAAQ;QAC9C,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAChB,CAAC,CAAC;;;;;;;;;;;;2CAYmC;YACrC,CAAC,CAAC;;;;;;;;;;;;8EAYsE,CAAC;QAC3E,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAChB,CAAC,CAAC;;;;;;;yCAOiC;YACnC,CAAC,CAAC;;;;;;;iGAOyF,CAAC,CAAC;IAEjG,OAAO;;;;;EAKP,WAAW;;EAEX,iBAAiB;CAClB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAc;IAC5E,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,MAAc,EACd,SAAiB,IAAI,EACrB,YAAuB,SAAS,EAChC,YAAqB;IAErB,MAAM,MAAM,GAAG,YAAY,IAAI,gBAAgB,EAAE,CAAC;IAClD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;gBAClD,MAAM,GAAG,GAAG,kCAAkC,IAAI,iCAAiC,OAAO,EAAE,CAAC;gBAC7F,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnD,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7F,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;YAClD,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc,EAAE,MAA2B;IAC5E,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC;IACpD,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;QACxF,OAAO,IAAI,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,gBAAgB,IAAI,WAAW,CAAC;AACzC,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;;;;;;;;;wFAS6E,CAAC;IACvF,CAAC;IACD,OAAO;;;;;;;;;yHASgH,CAAC;AAC1H,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAc;IACtD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;0EAC+D,SAAS,CAAC,YAAY,CAAC;sDAC3C,SAAS,CAAC,kBAAkB,CAAC;4EACP,SAAS,CAAC,uBAAuB,CAAC;uFACvB,SAAS,CAAC,oBAAoB,CAAC;gEACtD,SAAS,CAAC,cAAc,CAAC,UAAU,SAAS,CAAC,aAAa,CAAC;oEACvD,SAAS,CAAC,aAAa,CAAC;wEACpB,SAAS,CAAC,mBAAmB,CAAC;0CAC5D,SAAS,CAAC,eAAe,CAAC;qFACiB,CAAC;IACpF,CAAC;IACD,OAAO;kFACyE,SAAS,CAAC,YAAY,CAAC;+EAC1B,SAAS,CAAC,kBAAkB,CAAC;gGACZ,SAAS,CAAC,uBAAuB,CAAC;iHACjB,SAAS,CAAC,oBAAoB,CAAC;sFAC1D,SAAS,CAAC,cAAc,CAAC,YAAY,SAAS,CAAC,aAAa,CAAC;mFAChE,SAAS,CAAC,aAAa,CAAC;6FACd,SAAS,CAAC,mBAAmB,CAAC;kEACzD,SAAS,CAAC,eAAe,CAAC;iHACqB,CAAC;AAClH,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,4CAA4C;IAC5C,sDAAsD;IACtD,oDAAoD;IACpD,qDAAqD;IACrD,gEAAgE;IAChE,qBAAqB;IACrB,0BAA0B;IAC1B,sBAAsB;IACtB,0BAA0B;IAC1B,wBAAwB;IACxB,eAAe;IACf,uBAAuB;CACxB,CAAC;AAIF,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAc,EAAE,SAAiB,QAAQ;IACvF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI;QACJ,MAAM;QACN,MAAM;QACN,SAAS,EAAE,SAAsB;QACjC,WAAW,EAAE,EAAE;QACf,SAAS,EAAE;YACT,GAAG,EAAE;gBACH,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE;gBACzC,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,wBAAwB;aAClC;YACD,GAAG,EAAE;gBACH,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,sBAAsB;aAChC;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,SAAS;aACnB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE;gBACtC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,WAAW;aACrB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE;gBACpC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,UAAU;aACpB;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE;gBAC3C,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,iBAAiB;aAC3B;SACF;QACD,MAAM,EAAE;YACN,WAAW,EAAE,2CAA2C;SACzD;KACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,MAAc;IAC7D,OAAO;WACE,IAAI;;;;;;;;EAQb,kBAAkB,CAAC,MAAM,CAAC;CAC3B,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,MAAe,EAAE,MAA4B,EAAE,YAAuB,SAAS;IAC5H,MAAM,aAAa,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAE3F,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI;QAChC,CAAC,CAAC;;;;;;;CAOL;QACG,CAAC,CAAC;;;;;;;CAOL,CAAC;IAEA,IAAI,OAAO,GAAG;;;;;;;;;EASd,UAAU;;;;;;;;;;;;;;;;EAgBV,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC;CAC/F,CAAC;IAEA,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,kBAAkB,GAAG,MAAM,KAAK,IAAI;YACxC,CAAC,CAAC,2GAA2G;YAC7G,CAAC,CAAC,mQAAmQ,CAAC;QAExQ,OAAO,IAAI;;EAEb,kBAAkB;EAClB,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,KAAK,QAAQ;QACvC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAChB,CAAC,CAAC;;;;;;;;;;;CAWP;YACK,CAAC,CAAC;;;;;;;;;;;CAWP,CAAC;QACE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAChB,CAAC,CAAC;;;;CAIP;YACK,CAAC,CAAC;;;;CAIP,CAAC,CAAC;IAED,OAAO,IAAI;EACX,UAAU;;EAEV,sBAAsB,CAAC,MAAM,CAAC;CAC/B,CAAC;IAEA,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAa,EAAE,OAA8C;IACtF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE3B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACrF,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAW,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC;IAChH,MAAM,MAAM,GAAW,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxL,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/F,MAAM,WAAW,GAA+B;QAC9C,UAAU,EAAE,EAAE;QACd,cAAc,EAAE,sBAAsB;QACtC,YAAY,EAAE,oBAAoB;QAClC,gBAAgB,EAAE,wBAAwB;QAC1C,WAAW,EAAE,wBAAwB;KACtC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEzG,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAE5C,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE7B,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE7B,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACnE,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7H,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,KAAK,UAAU,CAAC;IACjD,MAAM,QAAQ,GAAG,cAAc;QAC7B,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI;QAC5F,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACrC,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;IAE5C,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI;YAC/B,CAAC,CAAC;;kDAE0C;YAC5C,CAAC,CAAC;;kDAE0C,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAe,CAAC,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAWxF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,IAAI,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,IAAI,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAc,EAAE,IAAY,EAAE,YAAqB;IACnF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAExG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE/D,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,aAAa,CAAC;IACpF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACtG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACrE,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc;IACxC,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,mBAAmB,EAAE,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,aAAa,CAAC;IACzC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;IACpB,cAAc;IACd,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,eAAe;IACf,eAAe;IACf,gBAAgB;CACR,CAAC;AAEX,MAAM,kBAAkB,GAA+C;IACrE,cAAc,EAAE,EAAE,EAAE,EAAE,4CAA4C,EAAE,EAAE,EAAE,YAAY,EAAE;IACtF,YAAY,EAAE,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE,EAAE,QAAQ,EAAE;IACrE,kBAAkB,EAAE,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE,EAAE,SAAS,EAAE;IAC3E,uBAAuB,EAAE,EAAE,EAAE,EAAE,iDAAiD,EAAE,EAAE,EAAE,WAAW,EAAE;IACnG,oBAAoB,EAAE,EAAE,EAAE,EAAE,kDAAkD,EAAE,EAAE,EAAE,YAAY,EAAE;IAClG,cAAc,EAAE,EAAE,EAAE,EAAE,8BAA8B,EAAE,EAAE,EAAE,cAAc,EAAE;IAC1E,aAAa,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,EAAE,EAAE,eAAe,EAAE;IACpE,aAAa,EAAE,EAAE,EAAE,EAAE,+DAA+D,EAAE,EAAE,EAAE,0BAA0B,EAAE;IACtH,mBAAmB,EAAE,EAAE,EAAE,EAAE,4DAA4D,EAAE,EAAE,EAAE,8BAA8B,EAAE;IAC7H,eAAe,EAAE,EAAE,EAAE,EAAE,qCAAqC,EAAE,EAAE,EAAE,WAAW,EAAE;IAC/E,eAAe,EAAE,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE,EAAE,aAAa,EAAE;IACzF,gBAAgB,EAAE,EAAE,EAAE,EAAE,2CAA2C,EAAE,EAAE,EAAE,gCAAgC,EAAE;CAC5G,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExC,kEAAkE;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IAEpD,wDAAwD;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,YAAuB,SAAS;IAChF,MAAM,WAAW,GAAG,MAAM,KAAK,IAAI;QACjC,CAAC,CAAC;;;;;;eAMS;QACX,CAAC,CAAC;;;;;;qDAM+C,CAAC;IAEpD,MAAM,iBAAiB,GAAG,SAAS,KAAK,QAAQ;QAC9C,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAChB,CAAC,CAAC;;;;;;;;;;;;2CAYmC;YACrC,CAAC,CAAC;;;;;;;;;;;;8EAYsE,CAAC;QAC3E,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAChB,CAAC,CAAC;;;;;;;yCAOiC;YACnC,CAAC,CAAC;;;;;;;iGAOyF,CAAC,CAAC;IAEjG,OAAO;;;;;EAKP,WAAW;;EAEX,iBAAiB;CAClB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAc;IAC5E,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,MAAc,EACd,SAAiB,IAAI,EACrB,YAAuB,SAAS,EAChC,YAAqB;IAErB,MAAM,MAAM,GAAG,YAAY,IAAI,gBAAgB,EAAE,CAAC;IAClD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;gBAClD,MAAM,GAAG,GAAG,kCAAkC,IAAI,iCAAiC,OAAO,EAAE,CAAC;gBAC7F,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnD,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7F,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;YAClD,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc,EAAE,MAA2B;IAC5E,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC;IACpD,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;QACxF,OAAO,IAAI,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,gBAAgB,IAAI,WAAW,CAAC;AACzC,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;;;;;;;;;wFAS6E,CAAC;IACvF,CAAC;IACD,OAAO;;;;;;;;;yHASgH,CAAC;AAC1H,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAc;IACtD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;0EAC+D,SAAS,CAAC,YAAY,CAAC;sDAC3C,SAAS,CAAC,kBAAkB,CAAC;4EACP,SAAS,CAAC,uBAAuB,CAAC;uFACvB,SAAS,CAAC,oBAAoB,CAAC;gEACtD,SAAS,CAAC,cAAc,CAAC,UAAU,SAAS,CAAC,aAAa,CAAC;oEACvD,SAAS,CAAC,aAAa,CAAC;wEACpB,SAAS,CAAC,mBAAmB,CAAC;0CAC5D,SAAS,CAAC,eAAe,CAAC;qFACiB,CAAC;IACpF,CAAC;IACD,OAAO;kFACyE,SAAS,CAAC,YAAY,CAAC;+EAC1B,SAAS,CAAC,kBAAkB,CAAC;gGACZ,SAAS,CAAC,uBAAuB,CAAC;iHACjB,SAAS,CAAC,oBAAoB,CAAC;sFAC1D,SAAS,CAAC,cAAc,CAAC,YAAY,SAAS,CAAC,aAAa,CAAC;mFAChE,SAAS,CAAC,aAAa,CAAC;6FACd,SAAS,CAAC,mBAAmB,CAAC;kEACzD,SAAS,CAAC,eAAe,CAAC;iHACqB,CAAC;AAClH,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,4CAA4C;IAC5C,sDAAsD;IACtD,oDAAoD;IACpD,qDAAqD;IACrD,gEAAgE;IAChE,qBAAqB;IACrB,0BAA0B;IAC1B,sBAAsB;IACtB,0BAA0B;IAC1B,wBAAwB;IACxB,eAAe;IACf,uBAAuB;CACxB,CAAC;AAIF,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAc,EAAE,SAAiB,QAAQ;IACvF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI;QACJ,MAAM;QACN,MAAM;QACN,SAAS,EAAE,SAAsB;QACjC,WAAW,EAAE,EAAE;QACf,SAAS,EAAE;YACT,GAAG,EAAE;gBACH,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE;gBACzC,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,wBAAwB;aAClC;YACD,GAAG,EAAE;gBACH,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,sBAAsB;aAChC;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,SAAS;aACnB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE;gBACtC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,WAAW;aACrB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE;gBACpC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,UAAU;aACpB;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE;gBAC3C,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,iBAAiB;aAC3B;SACF;QACD,MAAM,EAAE;YACN,WAAW,EAAE,2CAA2C;SACzD;KACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,MAAc;IAC7D,OAAO;WACE,IAAI;;;;;;;;EAQb,kBAAkB,CAAC,MAAM,CAAC;CAC3B,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,MAAe,EAAE,MAA4B,EAAE,YAAuB,SAAS;IAC5H,MAAM,aAAa,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAE3F,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI;QAChC,CAAC,CAAC;;;;;;;CAOL;QACG,CAAC,CAAC;;;;;;;CAOL,CAAC;IAEA,IAAI,OAAO,GAAG;;;;;;;;;EASd,UAAU;;;;;;;;;;;;;;;;EAgBV,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC;CAC/F,CAAC;IAEA,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,kBAAkB,GAAG,MAAM,KAAK,IAAI;YACxC,CAAC,CAAC,2GAA2G;YAC7G,CAAC,CAAC,mQAAmQ,CAAC;QAExQ,OAAO,IAAI;;EAEb,kBAAkB;EAClB,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,KAAK,QAAQ;QACvC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAChB,CAAC,CAAC;;;;;;;;;;;CAWP;YACK,CAAC,CAAC;;;;;;;;;;;CAWP,CAAC;QACE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI;YAChB,CAAC,CAAC;;;;CAIP;YACK,CAAC,CAAC;;;;CAIP,CAAC,CAAC;IAED,OAAO,IAAI;EACX,UAAU;;EAEV,sBAAsB,CAAC,MAAM,CAAC;CAC/B,CAAC;IAEA,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAa,EAAE,OAA8C;IACtF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE3B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACrF,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAW,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC;IAChH,MAAM,MAAM,GAAW,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxL,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/F,MAAM,WAAW,GAA+B;QAC9C,UAAU,EAAE,EAAE;QACd,cAAc,EAAE,sBAAsB;QACtC,YAAY,EAAE,oBAAoB;QAClC,gBAAgB,EAAE,wBAAwB;QAC1C,WAAW,EAAE,wBAAwB;KACtC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEzG,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAE5C,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE7B,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE7B,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACnE,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7H,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,KAAK,UAAU,CAAC;IACjD,MAAM,QAAQ,GAAG,cAAc;QAC7B,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI;QAC5F,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACrC,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;IAE5C,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI;YAC/B,CAAC,CAAC;;kDAE0C;YAC5C,CAAC,CAAC;;kDAE0C,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ColumnMeta {
|
|
2
|
+
name: string;
|
|
3
|
+
comment?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface TableMeta {
|
|
6
|
+
name: string;
|
|
7
|
+
comment?: string;
|
|
8
|
+
columns: ColumnMeta[];
|
|
9
|
+
}
|
|
10
|
+
export interface SchemaMetadata {
|
|
11
|
+
tables: TableMeta[];
|
|
12
|
+
}
|
|
13
|
+
export declare function parseSqlComments(sql: string): SchemaMetadata;
|
|
14
|
+
//# sourceMappingURL=sql-comments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-comments.d.ts","sourceRoot":"","sources":["../../src/lib/sql-comments.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAQD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAwE5D"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const CREATE_TABLE_RE = /^CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?["']?(\w+)["']?/i;
|
|
2
|
+
const COMMENT_PREFIX = '-- @comment ';
|
|
3
|
+
const TABLE_COMMENT_PREFIX = '-- @table-comment ';
|
|
4
|
+
const CONSTRAINT_KEYWORDS = /^\s*(FOREIGN\s+KEY|CHECK|UNIQUE|PRIMARY\s+KEY|CONSTRAINT)\b/i;
|
|
5
|
+
const COLUMN_NAME_RE = /^\s*["']?(\w+)["']?\s/;
|
|
6
|
+
export function parseSqlComments(sql) {
|
|
7
|
+
const lines = sql.split('\n');
|
|
8
|
+
const tables = [];
|
|
9
|
+
const tableMap = new Map();
|
|
10
|
+
let currentTable = null;
|
|
11
|
+
let pendingComment = [];
|
|
12
|
+
let insideCreateTable = false;
|
|
13
|
+
for (const line of lines) {
|
|
14
|
+
const trimmed = line.trim();
|
|
15
|
+
if (trimmed.startsWith(TABLE_COMMENT_PREFIX)) {
|
|
16
|
+
const rest = trimmed.slice(TABLE_COMMENT_PREFIX.length);
|
|
17
|
+
const spaceIdx = rest.indexOf(' ');
|
|
18
|
+
if (spaceIdx > 0) {
|
|
19
|
+
const tableName = rest.slice(0, spaceIdx);
|
|
20
|
+
const description = rest.slice(spaceIdx + 1).trim();
|
|
21
|
+
const table = tableMap.get(tableName);
|
|
22
|
+
if (table) {
|
|
23
|
+
table.comment = description;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
pendingComment = [];
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (trimmed.startsWith(COMMENT_PREFIX)) {
|
|
30
|
+
pendingComment.push(trimmed.slice(COMMENT_PREFIX.length));
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (trimmed === '' || (trimmed.startsWith('--') && !trimmed.startsWith('-- @'))) {
|
|
34
|
+
pendingComment = [];
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
const createMatch = trimmed.match(CREATE_TABLE_RE);
|
|
38
|
+
if (createMatch) {
|
|
39
|
+
currentTable = { name: createMatch[1], columns: [] };
|
|
40
|
+
tables.push(currentTable);
|
|
41
|
+
tableMap.set(currentTable.name, currentTable);
|
|
42
|
+
insideCreateTable = true;
|
|
43
|
+
pendingComment = [];
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (insideCreateTable && trimmed.startsWith(')')) {
|
|
47
|
+
insideCreateTable = false;
|
|
48
|
+
currentTable = null;
|
|
49
|
+
pendingComment = [];
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (insideCreateTable && currentTable) {
|
|
53
|
+
if (CONSTRAINT_KEYWORDS.test(trimmed)) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
const colMatch = trimmed.match(COLUMN_NAME_RE);
|
|
57
|
+
if (colMatch) {
|
|
58
|
+
const col = { name: colMatch[1] };
|
|
59
|
+
if (pendingComment.length > 0) {
|
|
60
|
+
col.comment = pendingComment.join(' ');
|
|
61
|
+
}
|
|
62
|
+
currentTable.columns.push(col);
|
|
63
|
+
pendingComment = [];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return { tables };
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=sql-comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-comments.js","sourceRoot":"","sources":["../../src/lib/sql-comments.ts"],"names":[],"mappings":"AAeA,MAAM,eAAe,GAAG,6DAA6D,CAAC;AACtF,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAClD,MAAM,mBAAmB,GAAG,8DAA8D,CAAC;AAC3F,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAE/C,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE9C,IAAI,YAAY,GAAqB,IAAI,CAAC;IAC1C,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;gBAC9B,CAAC;YACH,CAAC;YACD,cAAc,GAAG,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAChF,cAAc,GAAG,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,WAAW,EAAE,CAAC;YAChB,YAAY,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1B,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC9C,iBAAiB,GAAG,IAAI,CAAC;YACzB,cAAc,GAAG,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,iBAAiB,GAAG,KAAK,CAAC;YAC1B,YAAY,GAAG,IAAI,CAAC;YACpB,cAAc,GAAG,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,iBAAiB,IAAI,YAAY,EAAE,CAAC;YACtC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,GAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,GAAG,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC;gBACD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/B,cAAc,GAAG,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -92,6 +92,27 @@ CREATE TABLE users (
|
|
|
92
92
|
);
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
+
**Example (SQLite — using `@comment` structured annotations)**:
|
|
96
|
+
|
|
97
|
+
```sql
|
|
98
|
+
-- Users table (source: auth.yaml → register, login)
|
|
99
|
+
CREATE TABLE users (
|
|
100
|
+
-- @comment User unique identifier, UUID v4 string
|
|
101
|
+
id TEXT PRIMARY KEY NOT NULL,
|
|
102
|
+
-- @comment User email, normalized to lowercase
|
|
103
|
+
email TEXT NOT NULL UNIQUE,
|
|
104
|
+
-- @comment Argon2id password hash, stores hash only
|
|
105
|
+
password_hash TEXT NOT NULL,
|
|
106
|
+
-- @comment Creation time, ISO 8601 format
|
|
107
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
108
|
+
-- @comment Last update time
|
|
109
|
+
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))
|
|
110
|
+
);
|
|
111
|
+
-- @table-comment users Users table storing core registered user information
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
> **SQLite Comment Convention**: SQLite does not support `COMMENT ON` syntax. You MUST use `-- @comment` preceding annotations (for columns) and `-- @table-comment <table> <description>` trailing annotations (for tables). See `spec/sql-comment-convention.md` for details.
|
|
115
|
+
|
|
95
116
|
### Step 4: Design Table Relationships
|
|
96
117
|
|
|
97
118
|
Design foreign keys based on entity relationships in the API:
|
|
@@ -153,29 +174,42 @@ Organize the DDL file in the following order:
|
|
|
153
174
|
3. Association tables (tables with foreign key dependencies after)
|
|
154
175
|
4. Indexes
|
|
155
176
|
5. Security policies (RLS / Policy)
|
|
156
|
-
6. Table and field comments
|
|
177
|
+
6. Table and field comments:
|
|
178
|
+
- PostgreSQL: use `COMMENT ON TABLE` / `COMMENT ON COLUMN`
|
|
179
|
+
- MySQL: use inline `COMMENT`
|
|
180
|
+
- SQLite: use `-- @comment` (columns) + `-- @table-comment` (tables), see SQLite comment rules below
|
|
157
181
|
|
|
158
182
|
Add a comment above each DDL block noting the source API endpoint.
|
|
159
183
|
|
|
184
|
+
**SQLite Comment Rules (MUST Follow)**:
|
|
185
|
+
|
|
186
|
+
When `tech_stack.database` is SQLite, you MUST use the following structured comment format:
|
|
187
|
+
|
|
188
|
+
1. **Column comments**: write `-- @comment <description>` on the line **immediately above** the column definition
|
|
189
|
+
- **No blank lines** allowed between `-- @comment` and the column (blank lines break the association)
|
|
190
|
+
- Multi-line: consecutive `-- @comment` lines are concatenated automatically
|
|
191
|
+
2. **Table comments**: write `-- @table-comment <table_name> <description>` on the line **immediately after** `CREATE TABLE ... ();`
|
|
192
|
+
3. Constraint lines (`FOREIGN KEY`, standalone `CHECK`, `UNIQUE`) do **not** need `-- @comment`
|
|
193
|
+
|
|
160
194
|
## Output Specification
|
|
161
195
|
|
|
162
196
|
- File format: SQL (dialect determined by `tech_stack.database`)
|
|
163
197
|
- Storage location: `logos/resources/database/`
|
|
164
198
|
- Single file output: `schema.sql` (simple projects); or split by domain: `auth.sql`, `billing.sql` (complex projects)
|
|
165
|
-
- Every table must have a comment (PostgreSQL: `COMMENT ON TABLE`; MySQL: `COMMENT = '...'`)
|
|
166
|
-
- Every field must have a comment (PostgreSQL: `COMMENT ON COLUMN`; MySQL: `COMMENT '...'` after field definition)
|
|
199
|
+
- Every table must have a comment (PostgreSQL: `COMMENT ON TABLE`; MySQL: `COMMENT = '...'`; SQLite: `-- @table-comment`)
|
|
200
|
+
- Every field must have a comment (PostgreSQL: `COMMENT ON COLUMN`; MySQL: `COMMENT '...'` after field definition; SQLite: `-- @comment`)
|
|
167
201
|
- Add a SQL comment above each DDL block noting the source API endpoint
|
|
168
202
|
|
|
169
203
|
## Database Dialect Quick Reference
|
|
170
204
|
|
|
171
|
-
| Feature | PostgreSQL | MySQL |
|
|
172
|
-
|
|
173
|
-
| UUID Primary Key | `UUID DEFAULT gen_random_uuid()` | `CHAR(36) DEFAULT (UUID())` or
|
|
174
|
-
| Timestamp Type | `TIMESTAMPTZ` | `DATETIME` / `TIMESTAMP` (mind timezone handling) |
|
|
175
|
-
| JSON Support | `JSONB` (indexable) | `JSON` (limited functionality) |
|
|
176
|
-
| Row-Level Security | RLS (`ENABLE ROW LEVEL SECURITY`) | Not supported;
|
|
177
|
-
| Table Comment | `COMMENT ON TABLE t IS '...'` | `CREATE TABLE t (...) COMMENT = '...'` |
|
|
178
|
-
| Column Comment | `COMMENT ON COLUMN t.c IS '...'` | `col_name TYPE COMMENT '...'` |
|
|
205
|
+
| Feature | PostgreSQL | MySQL | SQLite |
|
|
206
|
+
|---------|-----------|-------|--------|
|
|
207
|
+
| UUID Primary Key | `UUID DEFAULT gen_random_uuid()` | `CHAR(36) DEFAULT (UUID())` or `BINARY(16)` | `TEXT PRIMARY KEY NOT NULL` (app-generated UUID) |
|
|
208
|
+
| Timestamp Type | `TIMESTAMPTZ` | `DATETIME` / `TIMESTAMP` (mind timezone handling) | `TEXT` (ISO 8601 string) |
|
|
209
|
+
| JSON Support | `JSONB` (indexable) | `JSON` (limited functionality) | `TEXT` (app-layer JSON serialization) |
|
|
210
|
+
| Row-Level Security | RLS (`ENABLE ROW LEVEL SECURITY`) | Not supported; application layer | Not supported; application layer |
|
|
211
|
+
| Table Comment | `COMMENT ON TABLE t IS '...'` | `CREATE TABLE t (...) COMMENT = '...'` | `-- @table-comment t description` |
|
|
212
|
+
| Column Comment | `COMMENT ON COLUMN t.c IS '...'` | `col_name TYPE COMMENT '...'` | `-- @comment description` (preceding line) |
|
|
179
213
|
|
|
180
214
|
## Best Practices
|
|
181
215
|
|
|
@@ -202,6 +236,14 @@ Add a comment above each DDL block noting the source API endpoint.
|
|
|
202
236
|
- **Character set**: specify `CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci` when creating tables
|
|
203
237
|
- **Engine**: always use `ENGINE=InnoDB`
|
|
204
238
|
|
|
239
|
+
### SQLite-Specific
|
|
240
|
+
|
|
241
|
+
- **Primary key**: `TEXT PRIMARY KEY NOT NULL` (app-generated UUID v4) or `INTEGER PRIMARY KEY AUTOINCREMENT`
|
|
242
|
+
- **Timestamp type**: use `TEXT` with ISO 8601 strings, default `DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`
|
|
243
|
+
- **Foreign keys**: must execute `PRAGMA foreign_keys = ON;` at connection time
|
|
244
|
+
- **Comments**: MUST use `-- @comment` / `-- @table-comment` structured annotations (see `spec/sql-comment-convention.md`)
|
|
245
|
+
- **No triggers**: `updated_at` must be refreshed at the application layer; do not rely on `ON UPDATE` triggers
|
|
246
|
+
|
|
205
247
|
## Recommended Prompts
|
|
206
248
|
|
|
207
249
|
The following prompts can be copied directly for use with AI:
|
|
@@ -92,6 +92,27 @@ CREATE TABLE users (
|
|
|
92
92
|
);
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
+
**示例(SQLite — 使用 `@comment` 结构化注释)**:
|
|
96
|
+
|
|
97
|
+
```sql
|
|
98
|
+
-- 用户表(来源:auth.yaml → register, login)
|
|
99
|
+
CREATE TABLE users (
|
|
100
|
+
-- @comment 用户唯一标识,UUID v4 字符串
|
|
101
|
+
id TEXT PRIMARY KEY NOT NULL,
|
|
102
|
+
-- @comment 用户邮箱,已归一化为小写
|
|
103
|
+
email TEXT NOT NULL UNIQUE,
|
|
104
|
+
-- @comment Argon2id 密码哈希,仅存哈希
|
|
105
|
+
password_hash TEXT NOT NULL,
|
|
106
|
+
-- @comment 创建时间,ISO 8601 格式
|
|
107
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
|
|
108
|
+
-- @comment 最后更新时间
|
|
109
|
+
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))
|
|
110
|
+
);
|
|
111
|
+
-- @table-comment users 用户表,存储注册用户的核心信息
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
> **SQLite 注释约定**:SQLite 不支持 `COMMENT ON` 语法,必须使用 `-- @comment` 前置注释(字段)和 `-- @table-comment <表名> <描述>` 后置注释(表)。规则详见 `spec/sql-comment-convention.md`。
|
|
115
|
+
|
|
95
116
|
### Step 4: 设计表间关联
|
|
96
117
|
|
|
97
118
|
根据 API 中的实体关系设计外键:
|
|
@@ -153,29 +174,42 @@ CREATE INDEX idx_projects_owner ON projects(owner_id);
|
|
|
153
174
|
3. 关联表(有外键依赖的表后建)
|
|
154
175
|
4. 索引
|
|
155
176
|
5. 安全策略(RLS / Policy)
|
|
156
|
-
6.
|
|
177
|
+
6. 表和字段注释:
|
|
178
|
+
- PostgreSQL:使用 `COMMENT ON TABLE` / `COMMENT ON COLUMN`
|
|
179
|
+
- MySQL:使用内联 `COMMENT`
|
|
180
|
+
- SQLite:使用 `-- @comment`(字段)+ `-- @table-comment`(表),详见下方 SQLite 注释规则
|
|
157
181
|
|
|
158
182
|
每段 DDL 上方用注释标注来源 API 端点。
|
|
159
183
|
|
|
184
|
+
**SQLite 注释规则(MUST Follow)**:
|
|
185
|
+
|
|
186
|
+
当 `tech_stack.database` 为 SQLite 时,必须使用以下结构化注释格式:
|
|
187
|
+
|
|
188
|
+
1. **字段注释**:在字段定义行的**紧邻上方**写 `-- @comment <描述>`
|
|
189
|
+
- 与字段之间**不允许空行**(空行会断开关联)
|
|
190
|
+
- 多行注释:连续多个 `-- @comment` 行自动拼接
|
|
191
|
+
2. **表注释**:在 `CREATE TABLE ... ();` 语句**紧邻下方**写 `-- @table-comment <表名> <描述>`
|
|
192
|
+
3. 约束行(`FOREIGN KEY`、独立 `CHECK`、`UNIQUE`)**不需要** `-- @comment`
|
|
193
|
+
|
|
160
194
|
## 输出规范
|
|
161
195
|
|
|
162
196
|
- 文件格式:SQL(方言由 `tech_stack.database` 决定)
|
|
163
197
|
- 存放位置:`logos/resources/database/`
|
|
164
198
|
- 单文件输出:`schema.sql`(简单项目);或按领域分文件:`auth.sql`、`billing.sql`(复杂项目)
|
|
165
|
-
- 每张表必须有注释(PostgreSQL: `COMMENT ON TABLE`;MySQL: `COMMENT = '...'`)
|
|
166
|
-
- 每个字段必须有注释(PostgreSQL: `COMMENT ON COLUMN`;MySQL: 字段定义后 `COMMENT '...'`)
|
|
199
|
+
- 每张表必须有注释(PostgreSQL: `COMMENT ON TABLE`;MySQL: `COMMENT = '...'`;SQLite: `-- @table-comment`)
|
|
200
|
+
- 每个字段必须有注释(PostgreSQL: `COMMENT ON COLUMN`;MySQL: 字段定义后 `COMMENT '...'`;SQLite: `-- @comment`)
|
|
167
201
|
- 每段 DDL 上方用 SQL 注释标注来源 API 端点
|
|
168
202
|
|
|
169
203
|
## 数据库方言差异速查
|
|
170
204
|
|
|
171
|
-
| 特性 | PostgreSQL | MySQL |
|
|
172
|
-
|
|
173
|
-
| UUID 主键 | `UUID DEFAULT gen_random_uuid()` | `CHAR(36) DEFAULT (UUID())`
|
|
174
|
-
| 时间类型 | `TIMESTAMPTZ` | `DATETIME` / `TIMESTAMP`(注意时区处理) |
|
|
175
|
-
| JSON 支持 | `JSONB`(可索引) | `JSON`(功能受限) |
|
|
176
|
-
| 行级安全 | RLS (`ENABLE ROW LEVEL SECURITY`) | 不支持,需在应用层实现 |
|
|
177
|
-
| 表注释 | `COMMENT ON TABLE t IS '...'` | `CREATE TABLE t (...) COMMENT = '...'` |
|
|
178
|
-
| 字段注释 | `COMMENT ON COLUMN t.c IS '...'` | `col_name TYPE COMMENT '...'` |
|
|
205
|
+
| 特性 | PostgreSQL | MySQL | SQLite |
|
|
206
|
+
|------|-----------|-------|--------|
|
|
207
|
+
| UUID 主键 | `UUID DEFAULT gen_random_uuid()` | `CHAR(36) DEFAULT (UUID())` 或 `BINARY(16)` | `TEXT PRIMARY KEY NOT NULL`(应用层生成 UUID) |
|
|
208
|
+
| 时间类型 | `TIMESTAMPTZ` | `DATETIME` / `TIMESTAMP`(注意时区处理) | `TEXT`(ISO 8601 字符串) |
|
|
209
|
+
| JSON 支持 | `JSONB`(可索引) | `JSON`(功能受限) | `TEXT`(应用层 JSON 序列化) |
|
|
210
|
+
| 行级安全 | RLS (`ENABLE ROW LEVEL SECURITY`) | 不支持,需在应用层实现 | 不支持,需在应用层实现 |
|
|
211
|
+
| 表注释 | `COMMENT ON TABLE t IS '...'` | `CREATE TABLE t (...) COMMENT = '...'` | `-- @table-comment t 描述` |
|
|
212
|
+
| 字段注释 | `COMMENT ON COLUMN t.c IS '...'` | `col_name TYPE COMMENT '...'` | `-- @comment 描述`(紧邻字段上方) |
|
|
179
213
|
|
|
180
214
|
## 实践经验
|
|
181
215
|
|
|
@@ -202,6 +236,14 @@ CREATE INDEX idx_projects_owner ON projects(owner_id);
|
|
|
202
236
|
- **字符集**:建表时指定 `CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci`
|
|
203
237
|
- **引擎**:一律使用 `ENGINE=InnoDB`
|
|
204
238
|
|
|
239
|
+
### SQLite 特有
|
|
240
|
+
|
|
241
|
+
- **主键**:`TEXT PRIMARY KEY NOT NULL`(应用层生成 UUID v4)或 `INTEGER PRIMARY KEY AUTOINCREMENT`
|
|
242
|
+
- **时间类型**:使用 `TEXT` 存储 ISO 8601 字符串,默认值 `DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`
|
|
243
|
+
- **外键**:须在连接时执行 `PRAGMA foreign_keys = ON;`
|
|
244
|
+
- **注释**:必须使用 `-- @comment` / `-- @table-comment` 结构化注释(见 `spec/sql-comment-convention.md`)
|
|
245
|
+
- **无触发器**:`updated_at` 须在应用层刷新,不依赖 `ON UPDATE` 触发器
|
|
246
|
+
|
|
205
247
|
## 推荐提示词
|
|
206
248
|
|
|
207
249
|
以下提示词可以直接复制给 AI 使用:
|