musubix2 0.5.45 → 0.5.46
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/.claude/.musubix-managed +1 -1
- package/dist/assets/skills-manifest.json +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +134 -26
- package/dist/cli.js.map +1 -1
- package/dist/index.js +134 -26
- package/package.json +1 -1
package/.claude/.musubix-managed
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generator":"musubix2","version":"0.5.
|
|
1
|
+
{"generator":"musubix2","version":"0.5.46","timestamp":"2026-07-10T03:44:31.068Z"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -116,7 +116,7 @@ export declare function handleReqInterview(args: Record<string, unknown>): Promi
|
|
|
116
116
|
export declare function handleDesignGenerate(filePath: string, outPath?: string): Promise<ExitCodeValue>;
|
|
117
117
|
export declare function handleDesignC4(filePath: string, level?: string): Promise<ExitCodeValue>;
|
|
118
118
|
export declare function handleDesignVerify(filePath: string): Promise<ExitCodeValue>;
|
|
119
|
-
export declare function handleCodegen(nameOrFile: string, type?: string): Promise<ExitCodeValue>;
|
|
119
|
+
export declare function handleCodegen(nameOrFile: string, type?: string, outPath?: string): Promise<ExitCodeValue>;
|
|
120
120
|
export declare function handleTestGen(filePath: string): Promise<ExitCodeValue>;
|
|
121
121
|
export declare function handleSkills(sub: string | undefined, args: string[]): Promise<ExitCodeValue>;
|
|
122
122
|
export declare function handleKnowledge(sub: string | undefined, args: string[], flags: Record<string, unknown>): Promise<ExitCodeValue>;
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2554,16 +2554,44 @@ var init_requirements = __esm({
|
|
|
2554
2554
|
});
|
|
2555
2555
|
|
|
2556
2556
|
// ../core/dist/design/index.js
|
|
2557
|
-
function
|
|
2557
|
+
function operationParts(text, fallbackTitle) {
|
|
2558
2558
|
const shall = /\bSHALL\s+(NOT\s+)?([^.。\n]+)/i.exec(text);
|
|
2559
2559
|
const negated = Boolean(shall?.[1]);
|
|
2560
2560
|
const phrase = (shall?.[2] ?? fallbackTitle ?? "").trim();
|
|
2561
2561
|
const words = phrase.split(/[\s,、]+/).map((w) => w.replace(/[^A-Za-z0-9]/g, "")).filter((w) => w.length > 0 && !OPERATION_STOPWORDS.has(w.toLowerCase())).slice(0, 4);
|
|
2562
|
+
return { negated, words };
|
|
2563
|
+
}
|
|
2564
|
+
function camelJoin(parts) {
|
|
2565
|
+
return parts.map((w, i) => i === 0 ? w.charAt(0).toLowerCase() + w.slice(1) : w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("");
|
|
2566
|
+
}
|
|
2567
|
+
function pascalJoin(parts) {
|
|
2568
|
+
return parts.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("");
|
|
2569
|
+
}
|
|
2570
|
+
function deriveOperation(text, fallbackTitle = "") {
|
|
2571
|
+
const { negated, words } = operationParts(text, fallbackTitle);
|
|
2562
2572
|
const parts = negated ? ["reject", ...words] : words;
|
|
2563
2573
|
if (parts.length === 0) {
|
|
2564
2574
|
return "execute";
|
|
2565
2575
|
}
|
|
2566
|
-
return parts
|
|
2576
|
+
return camelJoin(parts);
|
|
2577
|
+
}
|
|
2578
|
+
function deriveMethodSignature(text, fallbackTitle = "") {
|
|
2579
|
+
const { negated, words } = operationParts(text, fallbackTitle);
|
|
2580
|
+
const name = deriveOperation(text, fallbackTitle);
|
|
2581
|
+
if (words.length === 0) {
|
|
2582
|
+
return { name, params: "", returnType: "void" };
|
|
2583
|
+
}
|
|
2584
|
+
const verb = words[0].toLowerCase();
|
|
2585
|
+
const objectWords = words.slice(1);
|
|
2586
|
+
let returnType = "void";
|
|
2587
|
+
if (negated || BOOLEAN_VERBS.has(verb)) {
|
|
2588
|
+
returnType = "boolean";
|
|
2589
|
+
} else if (LIST_VERBS.has(verb)) {
|
|
2590
|
+
returnType = objectWords.length > 0 ? `${pascalJoin(objectWords)}[]` : "unknown[]";
|
|
2591
|
+
} else if (VALUE_VERBS.has(verb) && objectWords.length > 0) {
|
|
2592
|
+
returnType = pascalJoin(objectWords);
|
|
2593
|
+
}
|
|
2594
|
+
return { name, params: "", returnType };
|
|
2567
2595
|
}
|
|
2568
2596
|
function createDesignGenerator() {
|
|
2569
2597
|
return new DesignGenerator();
|
|
@@ -2571,7 +2599,7 @@ function createDesignGenerator() {
|
|
|
2571
2599
|
function createSOLIDValidator() {
|
|
2572
2600
|
return new SOLIDValidator();
|
|
2573
2601
|
}
|
|
2574
|
-
var OPERATION_STOPWORDS, DesignGenerator, SOLIDValidator;
|
|
2602
|
+
var OPERATION_STOPWORDS, BOOLEAN_VERBS, VALUE_VERBS, LIST_VERBS, DesignGenerator, SOLIDValidator;
|
|
2575
2603
|
var init_design = __esm({
|
|
2576
2604
|
"../core/dist/design/index.js"() {
|
|
2577
2605
|
"use strict";
|
|
@@ -2604,6 +2632,43 @@ var init_design = __esm({
|
|
|
2604
2632
|
"must",
|
|
2605
2633
|
"should"
|
|
2606
2634
|
]);
|
|
2635
|
+
BOOLEAN_VERBS = /* @__PURE__ */ new Set([
|
|
2636
|
+
"validate",
|
|
2637
|
+
"verify",
|
|
2638
|
+
"check",
|
|
2639
|
+
"ensure",
|
|
2640
|
+
"confirm",
|
|
2641
|
+
"authenticate",
|
|
2642
|
+
"authorize",
|
|
2643
|
+
"allow",
|
|
2644
|
+
"reject",
|
|
2645
|
+
"prevent",
|
|
2646
|
+
"deny",
|
|
2647
|
+
"is",
|
|
2648
|
+
"has",
|
|
2649
|
+
"can",
|
|
2650
|
+
"match",
|
|
2651
|
+
"compare"
|
|
2652
|
+
]);
|
|
2653
|
+
VALUE_VERBS = /* @__PURE__ */ new Set([
|
|
2654
|
+
"create",
|
|
2655
|
+
"issue",
|
|
2656
|
+
"generate",
|
|
2657
|
+
"produce",
|
|
2658
|
+
"build",
|
|
2659
|
+
"make",
|
|
2660
|
+
"fetch",
|
|
2661
|
+
"get",
|
|
2662
|
+
"load",
|
|
2663
|
+
"find",
|
|
2664
|
+
"return",
|
|
2665
|
+
"retrieve",
|
|
2666
|
+
"compute",
|
|
2667
|
+
"calculate",
|
|
2668
|
+
"resolve",
|
|
2669
|
+
"render"
|
|
2670
|
+
]);
|
|
2671
|
+
LIST_VERBS = /* @__PURE__ */ new Set(["list", "query", "search", "collect", "enumerate"]);
|
|
2607
2672
|
DesignGenerator = class {
|
|
2608
2673
|
counter = 0;
|
|
2609
2674
|
generate(requirements) {
|
|
@@ -2701,12 +2766,12 @@ var init_design = __esm({
|
|
|
2701
2766
|
}
|
|
2702
2767
|
deriveComponents(reqs) {
|
|
2703
2768
|
return reqs.map((r) => {
|
|
2704
|
-
const
|
|
2705
|
-
const compName = this.pascal(r.title ||
|
|
2769
|
+
const sig = deriveMethodSignature(r.text, r.title);
|
|
2770
|
+
const compName = this.pascal(r.title || sig.name) + (/(service|manager|controller|repository)$/i.test(r.title) ? "" : "Service");
|
|
2706
2771
|
return {
|
|
2707
2772
|
name: compName,
|
|
2708
2773
|
responsibility: r.title || `Handle ${r.id}`,
|
|
2709
|
-
methods: [
|
|
2774
|
+
methods: [sig],
|
|
2710
2775
|
requirementIds: [r.id]
|
|
2711
2776
|
};
|
|
2712
2777
|
});
|
|
@@ -5603,6 +5668,7 @@ __export(dist_exports, {
|
|
|
5603
5668
|
createTraceabilityManager: () => createTraceabilityManager,
|
|
5604
5669
|
createTraceabilityValidator: () => createTraceabilityValidator,
|
|
5605
5670
|
createUnitTestGenerator: () => createUnitTestGenerator,
|
|
5671
|
+
deriveMethodSignature: () => deriveMethodSignature,
|
|
5606
5672
|
deriveOperation: () => deriveOperation,
|
|
5607
5673
|
formatError: () => formatError,
|
|
5608
5674
|
formatInfo: () => formatInfo,
|
|
@@ -7158,17 +7224,23 @@ var init_multi_lang_parser = __esm({
|
|
|
7158
7224
|
for (const a of consumedAttrs) {
|
|
7159
7225
|
modifiers.push(`#[${a.name}]`);
|
|
7160
7226
|
}
|
|
7161
|
-
const
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
|
|
7169
|
-
|
|
7170
|
-
|
|
7171
|
-
|
|
7227
|
+
const existingType = !traitName ? nodes.find((n) => n.name === typeName && (n.type === "struct" || n.type === "enum" || n.type === "class")) : void 0;
|
|
7228
|
+
let node;
|
|
7229
|
+
if (existingType) {
|
|
7230
|
+
node = existingType;
|
|
7231
|
+
} else {
|
|
7232
|
+
node = {
|
|
7233
|
+
type: "class",
|
|
7234
|
+
// impl blocks act like class extensions
|
|
7235
|
+
name,
|
|
7236
|
+
startLine: consumedAttrs.length > 0 ? consumedAttrs[0].line : lineNum,
|
|
7237
|
+
endLine: lineNum,
|
|
7238
|
+
children: [],
|
|
7239
|
+
modifiers,
|
|
7240
|
+
language: "rust"
|
|
7241
|
+
};
|
|
7242
|
+
nodes.push(node);
|
|
7243
|
+
}
|
|
7172
7244
|
const blk = { type: "impl", name, startLine: lineNum };
|
|
7173
7245
|
tracker.pushBlock(blk);
|
|
7174
7246
|
blockNodeMap.set(blk, node);
|
|
@@ -7207,7 +7279,7 @@ var init_multi_lang_parser = __esm({
|
|
|
7207
7279
|
const params = paramStr ? paramStr.split(",").map((p) => p.trim()).filter(Boolean) : [];
|
|
7208
7280
|
const parentBlock = tracker.getCurrentBlock();
|
|
7209
7281
|
const parentNode = parentBlock ? blockNodeMap.get(parentBlock) : void 0;
|
|
7210
|
-
const isMethod = parentNode !== void 0 && (parentNode.type === "class" || parentNode.type === "trait");
|
|
7282
|
+
const isMethod = parentNode !== void 0 && (parentNode.type === "class" || parentNode.type === "trait" || parentNode.type === "struct" || parentNode.type === "enum");
|
|
7211
7283
|
const node = {
|
|
7212
7284
|
type: isMethod ? "method" : "function",
|
|
7213
7285
|
name,
|
|
@@ -10887,7 +10959,7 @@ function parseSignatures(snippet) {
|
|
|
10887
10959
|
let match;
|
|
10888
10960
|
while ((match = re.exec(snippet)) !== null) {
|
|
10889
10961
|
const name = match[1];
|
|
10890
|
-
if (seen.has(name)) {
|
|
10962
|
+
if (seen.has(name) || CONTROL_KEYWORDS.has(name)) {
|
|
10891
10963
|
continue;
|
|
10892
10964
|
}
|
|
10893
10965
|
seen.add(name);
|
|
@@ -10933,7 +11005,7 @@ function createEGraphEngine() {
|
|
|
10933
11005
|
function createLibraryLearner() {
|
|
10934
11006
|
return new LibraryLearner();
|
|
10935
11007
|
}
|
|
10936
|
-
var EGraphEngine, FUNCTION_SIG_RE, ARROW_FN_RE, METHOD_RE, LibraryLearner;
|
|
11008
|
+
var EGraphEngine, FUNCTION_SIG_RE, ARROW_FN_RE, METHOD_RE, CONTROL_KEYWORDS, LibraryLearner;
|
|
10937
11009
|
var init_dist11 = __esm({
|
|
10938
11010
|
"../library-learner/dist/index.js"() {
|
|
10939
11011
|
"use strict";
|
|
@@ -10993,6 +11065,26 @@ var init_dist11 = __esm({
|
|
|
10993
11065
|
FUNCTION_SIG_RE = /function\s+(\w+)\s*\(([^)]*)\)/g;
|
|
10994
11066
|
ARROW_FN_RE = /(?:const|let|var)\s+(\w+)\s*=\s*(?:async\s+)?\(([^)]*)\)/g;
|
|
10995
11067
|
METHOD_RE = /(\w+)\s*\(([^)]*)\)\s*\{/g;
|
|
11068
|
+
CONTROL_KEYWORDS = /* @__PURE__ */ new Set([
|
|
11069
|
+
"if",
|
|
11070
|
+
"for",
|
|
11071
|
+
"while",
|
|
11072
|
+
"switch",
|
|
11073
|
+
"catch",
|
|
11074
|
+
"return",
|
|
11075
|
+
"function",
|
|
11076
|
+
"do",
|
|
11077
|
+
"else",
|
|
11078
|
+
"with",
|
|
11079
|
+
"await",
|
|
11080
|
+
"yield",
|
|
11081
|
+
"typeof",
|
|
11082
|
+
"delete",
|
|
11083
|
+
"void",
|
|
11084
|
+
"in",
|
|
11085
|
+
"of",
|
|
11086
|
+
"new"
|
|
11087
|
+
]);
|
|
10996
11088
|
LibraryLearner = class {
|
|
10997
11089
|
patterns = [];
|
|
10998
11090
|
egraph;
|
|
@@ -18971,16 +19063,15 @@ function extractCodegenTargets(content) {
|
|
|
18971
19063
|
const parser = new MarkdownEARSParser();
|
|
18972
19064
|
const targets = [];
|
|
18973
19065
|
for (const req of parser.parse(content)) {
|
|
18974
|
-
const op = deriveOperation(req.text, req.title);
|
|
18975
19066
|
targets.push({
|
|
18976
19067
|
name: toPascalCase(req.title || req.id),
|
|
18977
19068
|
type: "class",
|
|
18978
|
-
methods: [
|
|
19069
|
+
methods: [deriveMethodSignature(req.text, req.title)]
|
|
18979
19070
|
});
|
|
18980
19071
|
}
|
|
18981
19072
|
return targets;
|
|
18982
19073
|
}
|
|
18983
|
-
async function handleCodegen(nameOrFile, type = "class") {
|
|
19074
|
+
async function handleCodegen(nameOrFile, type = "class", outPath) {
|
|
18984
19075
|
try {
|
|
18985
19076
|
const generator = createCodeGenerator();
|
|
18986
19077
|
if (existsSync11(nameOrFile) && statSync(nameOrFile).isFile()) {
|
|
@@ -18990,13 +19081,24 @@ async function handleCodegen(nameOrFile, type = "class") {
|
|
|
18990
19081
|
console.error(`\u274C No components or requirements found in ${nameOrFile}. Pass a design JSON (with elements/sections) or a Markdown requirements file.`);
|
|
18991
19082
|
return ExitCode.VALIDATION_ERROR;
|
|
18992
19083
|
}
|
|
19084
|
+
const blocks = [];
|
|
18993
19085
|
for (const t of targets) {
|
|
18994
19086
|
const result2 = generator.generate({
|
|
18995
19087
|
templateType: t.type,
|
|
18996
19088
|
name: t.name,
|
|
18997
19089
|
methods: t.methods.length > 0 ? t.methods : void 0
|
|
18998
19090
|
});
|
|
18999
|
-
|
|
19091
|
+
blocks.push(result2.code);
|
|
19092
|
+
}
|
|
19093
|
+
const code = blocks.join("\n\n");
|
|
19094
|
+
if (outPath) {
|
|
19095
|
+
writeFileSync3(outPath, code + "\n", "utf-8");
|
|
19096
|
+
console.error(`\u2705 Wrote ${targets.length} skeleton(s) to ${outPath}`);
|
|
19097
|
+
console.error(` Next: musubix test:gen ${outPath}`);
|
|
19098
|
+
return ExitCode.SUCCESS;
|
|
19099
|
+
}
|
|
19100
|
+
for (const block of blocks) {
|
|
19101
|
+
console.log(block);
|
|
19000
19102
|
console.log("");
|
|
19001
19103
|
}
|
|
19002
19104
|
console.error(`\u2705 Generated ${targets.length} skeleton(s) from ${nameOrFile}`);
|
|
@@ -19007,6 +19109,12 @@ async function handleCodegen(nameOrFile, type = "class") {
|
|
|
19007
19109
|
templateType: type,
|
|
19008
19110
|
name: safeName
|
|
19009
19111
|
});
|
|
19112
|
+
if (outPath) {
|
|
19113
|
+
writeFileSync3(outPath, result.code + "\n", "utf-8");
|
|
19114
|
+
console.error(`\u2705 Wrote skeleton to ${outPath}`);
|
|
19115
|
+
console.error(` Next: musubix test:gen ${outPath}`);
|
|
19116
|
+
return ExitCode.SUCCESS;
|
|
19117
|
+
}
|
|
19010
19118
|
console.log(result.code);
|
|
19011
19119
|
return ExitCode.SUCCESS;
|
|
19012
19120
|
} catch (err) {
|
|
@@ -19959,11 +20067,11 @@ function getDefaultCommands() {
|
|
|
19959
20067
|
}
|
|
19960
20068
|
const name = resolveTarget(args, ["generate"]);
|
|
19961
20069
|
if (!name) {
|
|
19962
|
-
console.error("\u274C Usage: musubix codegen [generate] <name> [--type class|interface|function|...]");
|
|
20070
|
+
console.error("\u274C Usage: musubix codegen [generate] <name> [--type class|interface|function|...] [--out <file>]");
|
|
19963
20071
|
return ExitCode.VALIDATION_ERROR;
|
|
19964
20072
|
}
|
|
19965
20073
|
const type = args["type"] ?? "class";
|
|
19966
|
-
return await handleCodegen(name, type);
|
|
20074
|
+
return await handleCodegen(name, type, args["out"]);
|
|
19967
20075
|
}
|
|
19968
20076
|
},
|
|
19969
20077
|
{
|