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.
@@ -1 +1 @@
1
- {"generator":"musubix2","version":"0.5.45","timestamp":"2026-07-10T02:22:48.788Z"}
1
+ {"generator":"musubix2","version":"0.5.46","timestamp":"2026-07-10T03:44:31.068Z"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0",
3
- "generatedAt": "2026-07-10T02:22:48.819Z",
3
+ "generatedAt": "2026-07-10T03:44:31.101Z",
4
4
  "entries": [
5
5
  {
6
6
  "platform": "copilot",
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 deriveOperation(text, fallbackTitle = "") {
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.map((w, i) => i === 0 ? w.charAt(0).toLowerCase() + w.slice(1) : w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("");
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 op = deriveOperation(r.text, r.title);
2705
- const compName = this.pascal(r.title || op) + (/(service|manager|controller|repository)$/i.test(r.title) ? "" : "Service");
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: [{ name: op, params: "", returnType: "void" }],
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 node = {
7162
- type: "class",
7163
- // impl blocks act like class extensions
7164
- name,
7165
- startLine: consumedAttrs.length > 0 ? consumedAttrs[0].line : lineNum,
7166
- endLine: lineNum,
7167
- children: [],
7168
- modifiers,
7169
- language: "rust"
7170
- };
7171
- nodes.push(node);
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: [{ name: op, params: "", returnType: "void" }]
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
- console.log(result2.code);
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
  {