musubix2 0.5.79 → 0.5.80

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.79","timestamp":"2026-07-11T21:50:15.675Z"}
1
+ {"generator":"musubix2","version":"0.5.80","timestamp":"2026-07-11T22:03:06.382Z"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0",
3
- "generatedAt": "2026-07-11T21:50:15.710Z",
3
+ "generatedAt": "2026-07-11T22:03:06.414Z",
4
4
  "entries": [
5
5
  {
6
6
  "platform": "copilot",
package/dist/cli.js CHANGED
@@ -2648,11 +2648,17 @@ function deriveMethodSignature(text, fallbackTitle = "") {
2648
2648
  return { name, params, returnType: "void" };
2649
2649
  }
2650
2650
  const verb = words[0].toLowerCase();
2651
- const objectWords = words.slice(1);
2651
+ let objectWords = words.slice(1);
2652
+ const COLLECTION_WORDS = /* @__PURE__ */ new Set(["list", "array", "collection", "set", "sequence"]);
2653
+ let phraseIsCollection = false;
2654
+ if (objectWords.length > 1 && COLLECTION_WORDS.has(objectWords[0].toLowerCase())) {
2655
+ phraseIsCollection = true;
2656
+ objectWords = objectWords.slice(objectWords[1]?.toLowerCase() === "of" ? 2 : 1);
2657
+ }
2652
2658
  let returnType = "void";
2653
2659
  if (negated || BOOLEAN_VERBS.has(verb)) {
2654
2660
  returnType = "boolean";
2655
- } else if (LIST_VERBS.has(verb)) {
2661
+ } else if (LIST_VERBS.has(verb) || phraseIsCollection && VALUE_VERBS.has(verb)) {
2656
2662
  returnType = objectWords.length > 0 ? `${pascalJoin(objectWords)}[]` : "unknown[]";
2657
2663
  } else if (VALUE_VERBS.has(verb) && objectWords.length > 0) {
2658
2664
  returnType = pascalJoin(objectWords);
package/dist/index.js CHANGED
@@ -2648,11 +2648,17 @@ function deriveMethodSignature(text, fallbackTitle = "") {
2648
2648
  return { name, params, returnType: "void" };
2649
2649
  }
2650
2650
  const verb = words[0].toLowerCase();
2651
- const objectWords = words.slice(1);
2651
+ let objectWords = words.slice(1);
2652
+ const COLLECTION_WORDS = /* @__PURE__ */ new Set(["list", "array", "collection", "set", "sequence"]);
2653
+ let phraseIsCollection = false;
2654
+ if (objectWords.length > 1 && COLLECTION_WORDS.has(objectWords[0].toLowerCase())) {
2655
+ phraseIsCollection = true;
2656
+ objectWords = objectWords.slice(objectWords[1]?.toLowerCase() === "of" ? 2 : 1);
2657
+ }
2652
2658
  let returnType = "void";
2653
2659
  if (negated || BOOLEAN_VERBS.has(verb)) {
2654
2660
  returnType = "boolean";
2655
- } else if (LIST_VERBS.has(verb)) {
2661
+ } else if (LIST_VERBS.has(verb) || phraseIsCollection && VALUE_VERBS.has(verb)) {
2656
2662
  returnType = objectWords.length > 0 ? `${pascalJoin(objectWords)}[]` : "unknown[]";
2657
2663
  } else if (VALUE_VERBS.has(verb) && objectWords.length > 0) {
2658
2664
  returnType = pascalJoin(objectWords);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musubix2",
3
- "version": "0.5.79",
3
+ "version": "0.5.80",
4
4
  "description": "MUSUBIX2 — Specification Driven Development System",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",