@nahisaho/musubix-core 3.0.16 → 3.0.17
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/cli/commands/design.d.ts.map +1 -1
- package/dist/cli/commands/design.js +1 -54
- package/dist/cli/commands/design.js.map +1 -1
- package/dist/cli/commands/index.d.ts +0 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +0 -5
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +3 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learn.d.ts.map +1 -1
- package/dist/cli/commands/learn.js +4 -234
- package/dist/cli/commands/learn.js.map +1 -1
- package/dist/cli/commands/requirements.d.ts.map +1 -1
- package/dist/cli/commands/requirements.js +1 -57
- package/dist/cli/commands/requirements.js.map +1 -1
- package/dist/cli/commands/scaffold.js +12 -17
- package/dist/cli/commands/scaffold.js.map +1 -1
- package/dist/cli/commands/tasks.d.ts +7 -9
- package/dist/cli/commands/tasks.d.ts.map +1 -1
- package/dist/cli/commands/tasks.js +52 -212
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/middleware/index.d.ts +1 -1
- package/dist/cli/middleware/index.d.ts.map +1 -1
- package/dist/cli/middleware/index.js +3 -1
- package/dist/cli/middleware/index.js.map +1 -1
- package/dist/symbolic/error-handler.js +1 -1
- package/dist/symbolic/error-handler.js.map +1 -1
- package/dist/types/common.d.ts +2 -2
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/errors.d.ts +8 -2
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +6 -0
- package/dist/types/errors.js.map +1 -1
- package/dist/utils/status-workflow.d.ts +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/design.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/design.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,iBAAiB,GAAG,WAAW,GAAG,WAAW,CAAC;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,EAAE,cAAc,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,KAAK,CAAC;QACrB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;KAC/B,CAAC,CAAC;IACH,gBAAgB,EAAE,KAAK,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAC;AA0DF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwQ5D;AAkTD;;GAEG;AACH,iBAAS,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CA+zBjE;AA2RD;;GAEG;AACH,iBAAS,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAqHtD;AAED;;GAEG;AACH,iBAAS,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAoBvD;AAucD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -201,72 +201,19 @@ export function registerDesignCommand(program) {
|
|
|
201
201
|
.command('validate <file>')
|
|
202
202
|
.description('Validate SOLID compliance')
|
|
203
203
|
.option('--strict', 'Enable strict mode', false)
|
|
204
|
-
.option('--auto-learn', 'Auto-register to YATA Local', false)
|
|
205
|
-
.option('--db <path>', 'YATA Local database path', './.yata-local.db')
|
|
206
204
|
.action(async (file, options) => {
|
|
207
205
|
const globalOpts = getGlobalOptions(program);
|
|
208
|
-
const autoLearn = options.autoLearn || process.env.MUSUBIX_AUTO_LEARN === 'true';
|
|
209
206
|
try {
|
|
210
207
|
const filePath = resolve(process.cwd(), file);
|
|
211
208
|
const content = await readFile(filePath, 'utf-8');
|
|
212
209
|
const { violations, gaps } = validateDesign(content, options.strict ?? false);
|
|
213
|
-
// Auto-register to YATA Local if enabled
|
|
214
|
-
let yataLocalRegistered = 0;
|
|
215
|
-
if (autoLearn && violations.length === 0) {
|
|
216
|
-
try {
|
|
217
|
-
const yataLocalModule = await import('@nahisaho/yata-local');
|
|
218
|
-
const { createYataLocal } = yataLocalModule;
|
|
219
|
-
const yataLocal = createYataLocal({ path: options.db ?? './.yata-local.db' });
|
|
220
|
-
await yataLocal.open();
|
|
221
|
-
// Extract design document ID
|
|
222
|
-
const docIdMatch = content.match(/\*\*Document ID\*\*:\s*([\w-]+)/);
|
|
223
|
-
const docId = docIdMatch ? docIdMatch[1] : 'DES-UNKNOWN';
|
|
224
|
-
// Register document as entity
|
|
225
|
-
const docEntityId = await yataLocal.addEntity({
|
|
226
|
-
name: docId,
|
|
227
|
-
type: 'module',
|
|
228
|
-
namespace: 'project-management',
|
|
229
|
-
metadata: {
|
|
230
|
-
entityKind: 'DesignDocument',
|
|
231
|
-
filePath,
|
|
232
|
-
validatedAt: new Date().toISOString()
|
|
233
|
-
},
|
|
234
|
-
});
|
|
235
|
-
yataLocalRegistered++;
|
|
236
|
-
// Extract and register components
|
|
237
|
-
const componentPattern = /###\s+(\d+\.\d+(?:\.\d+)?)\s+([^\n]+)\n/g;
|
|
238
|
-
let match;
|
|
239
|
-
while ((match = componentPattern.exec(content)) !== null) {
|
|
240
|
-
const componentId = `COMP-${match[1].replace(/\./g, '-')}`;
|
|
241
|
-
const componentName = match[2].trim();
|
|
242
|
-
const compEntityId = await yataLocal.addEntity({
|
|
243
|
-
name: componentId,
|
|
244
|
-
type: 'class',
|
|
245
|
-
namespace: 'project-management',
|
|
246
|
-
metadata: {
|
|
247
|
-
entityKind: 'Component',
|
|
248
|
-
displayName: componentName,
|
|
249
|
-
parentDocument: docId,
|
|
250
|
-
},
|
|
251
|
-
});
|
|
252
|
-
// Add relationship to document
|
|
253
|
-
await yataLocal.addRelationship(compEntityId, docEntityId, 'contains', { relationKind: 'DEFINED_IN', createdAt: new Date().toISOString() });
|
|
254
|
-
yataLocalRegistered++;
|
|
255
|
-
}
|
|
256
|
-
await yataLocal.close();
|
|
257
|
-
}
|
|
258
|
-
catch {
|
|
259
|
-
// YATA Local not available, skip silently
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
210
|
const result = {
|
|
263
211
|
success: true,
|
|
264
212
|
valid: violations.length === 0 && gaps.length === 0,
|
|
265
213
|
solidViolations: violations,
|
|
266
214
|
traceabilityGaps: gaps,
|
|
267
215
|
message: violations.length === 0
|
|
268
|
-
? '✅ Design is SOLID compliant'
|
|
269
|
-
(yataLocalRegistered > 0 ? ` (${yataLocalRegistered} registered to YATA Local)` : '')
|
|
216
|
+
? '✅ Design is SOLID compliant'
|
|
270
217
|
: `❌ Found ${violations.length} SOLID violations`,
|
|
271
218
|
};
|
|
272
219
|
outputResult(result, globalOpts);
|