musubix2 0.5.10 → 0.5.12

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.10","timestamp":"2026-07-09T10:42:36.515Z"}
1
+ {"generator":"musubix2","version":"0.5.12","timestamp":"2026-07-09T10:58:51.392Z"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0",
3
- "generatedAt": "2026-07-09T10:42:36.544Z",
3
+ "generatedAt": "2026-07-09T10:58:51.425Z",
4
4
  "entries": [
5
5
  {
6
6
  "platform": "copilot",
package/dist/cli.js CHANGED
@@ -12089,6 +12089,9 @@ var init_transport = __esm({
12089
12089
  output;
12090
12090
  handler = null;
12091
12091
  rl = null;
12092
+ // Serializes request handling so stateful tools (load → mutate → save) never
12093
+ // interleave. Each incoming line is chained after the previous completes.
12094
+ queue = Promise.resolve();
12092
12095
  constructor(input, output) {
12093
12096
  this.input = input ?? process.stdin;
12094
12097
  this.output = output ?? process.stdout;
@@ -12096,7 +12099,7 @@ var init_transport = __esm({
12096
12099
  async start() {
12097
12100
  this.rl = readline.createInterface({ input: this.input });
12098
12101
  this.rl.on("line", (line) => {
12099
- void this.processLine(line);
12102
+ this.queue = this.queue.then(() => this.processLine(line));
12100
12103
  });
12101
12104
  }
12102
12105
  async processLine(line) {
@@ -14649,60 +14652,77 @@ function synthesisTools() {
14649
14652
  })
14650
14653
  ];
14651
14654
  }
14655
+ async function buildSpecFromParams(params) {
14656
+ const text = params["text"] ?? params["requirement"] ?? params["spec"] ?? "";
14657
+ let pattern = params["pattern"];
14658
+ if (!pattern) {
14659
+ try {
14660
+ const { createEARSValidator: createEARSValidator2 } = await Promise.resolve().then(() => (init_dist(), dist_exports));
14661
+ pattern = createEARSValidator2().analyze(text).pattern;
14662
+ } catch {
14663
+ pattern = "ubiquitous";
14664
+ }
14665
+ }
14666
+ return {
14667
+ id: params["id"] ?? "REQ-XXX-001",
14668
+ title: params["name"] ?? params["title"] ?? "requirement",
14669
+ text,
14670
+ pattern,
14671
+ trigger: params["trigger"],
14672
+ condition: params["condition"],
14673
+ action: params["action"] ?? text
14674
+ };
14675
+ }
14652
14676
  function formalVerifyTools() {
14653
14677
  return [
14654
- tool("verify.ears-to-smt", "Convert EARS requirements to SMT-LIB2 format", "formal-verify", [param("requirement", "string", "EARS requirement text")], async (params) => {
14678
+ tool("verify.ears-to-smt", "Convert an EARS requirement to SMT-LIB2", "formal-verify", [
14679
+ param("text", "string", "EARS requirement text"),
14680
+ param("action", "string", "Requirement action clause", false)
14681
+ ], async (params) => {
14655
14682
  try {
14656
- const fv = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14657
- const smt = fv.earsToSmt?.(params["requirement"]);
14658
- return ok(smt ?? { smtlib2: "", requirement: params["requirement"] });
14683
+ const { createEarsToSmtConverter: createEarsToSmtConverter2 } = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14684
+ return ok(createEarsToSmtConverter2().convert(await buildSpecFromParams(params)));
14659
14685
  } catch {
14660
- return ok({ smtlib2: "", requirement: params["requirement"] });
14686
+ return fail("Formal-verify package not available");
14661
14687
  }
14662
14688
  }),
14663
- tool("verify.z3.solve", "Solve an SMT formula using Z3", "formal-verify", [
14664
- param("formula", "string", "SMT-LIB2 formula"),
14665
- param("timeout", "number", "Timeout in milliseconds", false, 5e3)
14666
- ], async (params) => {
14689
+ tool("verify.z3.solve", "Solve an SMT-LIB2 script with the Z3 adapter", "formal-verify", [param("formula", "string", "SMT-LIB2 script")], async (params) => {
14667
14690
  try {
14668
- const fv = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14669
- const result = fv.z3Solve?.(params["formula"], params["timeout"] ?? 5e3);
14670
- return ok(result ?? { satisfiable: false, model: null });
14671
- } catch {
14672
- return ok({ satisfiable: false, model: null });
14691
+ const { createZ3Adapter: createZ3Adapter2 } = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14692
+ return ok(await createZ3Adapter2().solve(params["formula"] ?? ""));
14693
+ } catch (err) {
14694
+ return fail(`Z3 solve failed: ${err instanceof Error ? err.message : String(err)}`);
14673
14695
  }
14674
14696
  }),
14675
- tool("verify.lean.convert", "Convert a specification to a Lean 4 theorem", "formal-verify", [
14676
- param("spec", "string", "Specification to convert"),
14697
+ tool("verify.lean.convert", "Convert a requirement specification to a Lean 4 theorem", "formal-verify", [
14698
+ param("text", "string", "Requirement text"),
14699
+ param("action", "string", "Requirement action clause", false),
14677
14700
  param("name", "string", "Theorem name", false, "spec_theorem")
14678
14701
  ], async (params) => {
14679
14702
  try {
14680
- const lean = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14681
- const result = lean.convertToLean?.(params["spec"], params["name"] ?? "spec_theorem");
14682
- return ok(result ?? { lean4: "", name: params["name"] ?? "spec_theorem" });
14703
+ const { createEarsToLeanConverter: createEarsToLeanConverter2 } = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14704
+ return ok(createEarsToLeanConverter2().convert(await buildSpecFromParams(params)));
14683
14705
  } catch {
14684
- return ok({ lean4: "", name: params["name"] ?? "spec_theorem" });
14706
+ return fail("Lean package not available");
14685
14707
  }
14686
14708
  }),
14687
- tool("verify.lean.run", "Run a Lean 4 proof", "formal-verify", [param("proof", "string", "Lean 4 proof code")], async (params) => {
14709
+ tool("verify.lean.run", "Run a Lean 4 proof (requires a Lean toolchain; reports availability otherwise)", "formal-verify", [param("proof", "string", "Lean 4 proof code")], async (params) => {
14688
14710
  try {
14689
- const lean = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14690
- const result = lean.runProof?.(params["proof"]);
14691
- return ok(result ?? { verified: false, output: "" });
14692
- } catch {
14693
- return ok({ verified: false, output: "" });
14711
+ const { createLeanProofRunner: createLeanProofRunner2 } = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14712
+ return ok(await createLeanProofRunner2().runProof(params["proof"] ?? ""));
14713
+ } catch (err) {
14714
+ return fail(`Lean proof run failed: ${err instanceof Error ? err.message : String(err)}`);
14694
14715
  }
14695
14716
  }),
14696
- tool("verify.hybrid", "Run hybrid verification combining Z3 and Lean", "formal-verify", [
14697
- param("spec", "string", "Specification to verify"),
14698
- param("strategy", "string", "Verification strategy: z3-first | lean-first | parallel", false, "z3-first")
14717
+ tool("verify.hybrid", "Run hybrid (Z3 + Lean) verification on a requirement specification", "formal-verify", [
14718
+ param("text", "string", "Requirement text"),
14719
+ param("action", "string", "Requirement action clause", false)
14699
14720
  ], async (params) => {
14700
14721
  try {
14701
- const fv = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14702
- const result = fv.hybridVerify?.(params["spec"], params["strategy"] ?? "z3-first");
14703
- return ok(result ?? { verified: false, strategy: params["strategy"] ?? "z3-first" });
14704
- } catch {
14705
- return ok({ verified: false, strategy: params["strategy"] ?? "z3-first" });
14722
+ const { createHybridVerifier: createHybridVerifier2 } = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14723
+ return ok(await createHybridVerifier2().verify(await buildSpecFromParams(params)));
14724
+ } catch (err) {
14725
+ return fail(`Hybrid verification failed: ${err instanceof Error ? err.message : String(err)}`);
14706
14726
  }
14707
14727
  })
14708
14728
  ];
@@ -14834,44 +14854,56 @@ function decisionsTools() {
14834
14854
  })
14835
14855
  ];
14836
14856
  }
14857
+ async function getSkillManager() {
14858
+ if (!_skillManager) {
14859
+ const { createSkillManager: createSkillManager2 } = await Promise.resolve().then(() => (init_dist7(), dist_exports7));
14860
+ _skillManager = createSkillManager2();
14861
+ }
14862
+ return _skillManager;
14863
+ }
14837
14864
  function skillsTools() {
14838
14865
  return [
14839
- tool("skills.list", "List all registered skills", "skills", [], async () => {
14866
+ tool("skills.list", "List skills registered in the current server session", "skills", [], async () => {
14840
14867
  try {
14841
- const sm = await Promise.resolve().then(() => (init_dist7(), dist_exports7));
14842
- const skills = sm.listSkills?.();
14843
- return ok(skills ?? []);
14868
+ const mgr = await getSkillManager();
14869
+ return ok(mgr.getAvailableSkills().map((s) => ({ id: s.id, name: s.metadata.name, status: s.status })));
14844
14870
  } catch {
14845
- return ok([]);
14871
+ return fail("Skill-manager package not available");
14846
14872
  }
14847
14873
  }),
14848
- tool("skills.register", "Register a new skill", "skills", [
14874
+ tool("skills.register", "Register a skill (echo-executor) for this server session", "skills", [
14849
14875
  param("name", "string", "Skill name"),
14850
- param("description", "string", "Skill description"),
14851
- param("handler", "string", "Handler module path")
14876
+ param("description", "string", "Skill description", false, ""),
14877
+ param("triggers", "array", "Trigger keywords", false)
14852
14878
  ], async (params) => {
14853
14879
  try {
14854
- const sm = await Promise.resolve().then(() => (init_dist7(), dist_exports7));
14855
- const result = sm.registerSkill?.({
14856
- name: params["name"],
14857
- description: params["description"],
14858
- handler: params["handler"]
14859
- });
14860
- return ok(result ?? { name: params["name"], registered: true });
14880
+ const mgr = await getSkillManager();
14881
+ const name = params["name"] ?? "skill";
14882
+ const skill = mgr.loadFromMetadata({
14883
+ name,
14884
+ version: "1.0.0",
14885
+ description: params["description"] ?? "",
14886
+ triggers: params["triggers"] ?? []
14887
+ }, async (input) => ({ skill: name, output: input }));
14888
+ return ok({ id: skill.id, name, registered: true });
14861
14889
  } catch {
14862
- return ok({ name: params["name"], registered: true });
14890
+ return fail("Skill-manager package not available");
14863
14891
  }
14864
14892
  }),
14865
- tool("skills.execute", "Execute a registered skill by name", "skills", [
14893
+ tool("skills.execute", "Execute a session skill by name (must be registered in this session first)", "skills", [
14866
14894
  param("name", "string", "Skill name to execute"),
14867
14895
  param("input", "object", "Skill input parameters", false, {})
14868
14896
  ], async (params) => {
14869
14897
  try {
14870
- const sm = await Promise.resolve().then(() => (init_dist7(), dist_exports7));
14871
- const result = sm.executeSkill?.(params["name"], params["input"]);
14872
- return ok(result ?? { executed: false, name: params["name"] });
14898
+ const mgr = await getSkillManager();
14899
+ const name = params["name"] ?? "";
14900
+ const match = mgr.getAvailableSkills().find((s) => s.metadata.name === name);
14901
+ if (!match)
14902
+ return fail(`Skill not registered in this session: ${name}`);
14903
+ const output = await match.execute(params["input"] ?? {});
14904
+ return ok({ executed: true, name, output });
14873
14905
  } catch {
14874
- return ok({ executed: false, name: params["name"] });
14906
+ return fail("Skill-manager package not available");
14875
14907
  }
14876
14908
  })
14877
14909
  ];
@@ -14899,9 +14931,11 @@ function registerDefaultTools(server) {
14899
14931
  server.registerBatch(category.tools);
14900
14932
  }
14901
14933
  }
14934
+ var _skillManager;
14902
14935
  var init_catalog = __esm({
14903
14936
  "../mcp-server/dist/catalog.js"() {
14904
14937
  "use strict";
14938
+ _skillManager = null;
14905
14939
  }
14906
14940
  });
14907
14941
 
package/dist/index.js CHANGED
@@ -12089,6 +12089,9 @@ var init_transport = __esm({
12089
12089
  output;
12090
12090
  handler = null;
12091
12091
  rl = null;
12092
+ // Serializes request handling so stateful tools (load → mutate → save) never
12093
+ // interleave. Each incoming line is chained after the previous completes.
12094
+ queue = Promise.resolve();
12092
12095
  constructor(input, output) {
12093
12096
  this.input = input ?? process.stdin;
12094
12097
  this.output = output ?? process.stdout;
@@ -12096,7 +12099,7 @@ var init_transport = __esm({
12096
12099
  async start() {
12097
12100
  this.rl = readline.createInterface({ input: this.input });
12098
12101
  this.rl.on("line", (line) => {
12099
- void this.processLine(line);
12102
+ this.queue = this.queue.then(() => this.processLine(line));
12100
12103
  });
12101
12104
  }
12102
12105
  async processLine(line) {
@@ -14649,60 +14652,77 @@ function synthesisTools() {
14649
14652
  })
14650
14653
  ];
14651
14654
  }
14655
+ async function buildSpecFromParams(params) {
14656
+ const text = params["text"] ?? params["requirement"] ?? params["spec"] ?? "";
14657
+ let pattern = params["pattern"];
14658
+ if (!pattern) {
14659
+ try {
14660
+ const { createEARSValidator: createEARSValidator2 } = await Promise.resolve().then(() => (init_dist(), dist_exports));
14661
+ pattern = createEARSValidator2().analyze(text).pattern;
14662
+ } catch {
14663
+ pattern = "ubiquitous";
14664
+ }
14665
+ }
14666
+ return {
14667
+ id: params["id"] ?? "REQ-XXX-001",
14668
+ title: params["name"] ?? params["title"] ?? "requirement",
14669
+ text,
14670
+ pattern,
14671
+ trigger: params["trigger"],
14672
+ condition: params["condition"],
14673
+ action: params["action"] ?? text
14674
+ };
14675
+ }
14652
14676
  function formalVerifyTools() {
14653
14677
  return [
14654
- tool("verify.ears-to-smt", "Convert EARS requirements to SMT-LIB2 format", "formal-verify", [param("requirement", "string", "EARS requirement text")], async (params) => {
14678
+ tool("verify.ears-to-smt", "Convert an EARS requirement to SMT-LIB2", "formal-verify", [
14679
+ param("text", "string", "EARS requirement text"),
14680
+ param("action", "string", "Requirement action clause", false)
14681
+ ], async (params) => {
14655
14682
  try {
14656
- const fv = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14657
- const smt = fv.earsToSmt?.(params["requirement"]);
14658
- return ok(smt ?? { smtlib2: "", requirement: params["requirement"] });
14683
+ const { createEarsToSmtConverter: createEarsToSmtConverter2 } = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14684
+ return ok(createEarsToSmtConverter2().convert(await buildSpecFromParams(params)));
14659
14685
  } catch {
14660
- return ok({ smtlib2: "", requirement: params["requirement"] });
14686
+ return fail("Formal-verify package not available");
14661
14687
  }
14662
14688
  }),
14663
- tool("verify.z3.solve", "Solve an SMT formula using Z3", "formal-verify", [
14664
- param("formula", "string", "SMT-LIB2 formula"),
14665
- param("timeout", "number", "Timeout in milliseconds", false, 5e3)
14666
- ], async (params) => {
14689
+ tool("verify.z3.solve", "Solve an SMT-LIB2 script with the Z3 adapter", "formal-verify", [param("formula", "string", "SMT-LIB2 script")], async (params) => {
14667
14690
  try {
14668
- const fv = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14669
- const result = fv.z3Solve?.(params["formula"], params["timeout"] ?? 5e3);
14670
- return ok(result ?? { satisfiable: false, model: null });
14671
- } catch {
14672
- return ok({ satisfiable: false, model: null });
14691
+ const { createZ3Adapter: createZ3Adapter2 } = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14692
+ return ok(await createZ3Adapter2().solve(params["formula"] ?? ""));
14693
+ } catch (err) {
14694
+ return fail(`Z3 solve failed: ${err instanceof Error ? err.message : String(err)}`);
14673
14695
  }
14674
14696
  }),
14675
- tool("verify.lean.convert", "Convert a specification to a Lean 4 theorem", "formal-verify", [
14676
- param("spec", "string", "Specification to convert"),
14697
+ tool("verify.lean.convert", "Convert a requirement specification to a Lean 4 theorem", "formal-verify", [
14698
+ param("text", "string", "Requirement text"),
14699
+ param("action", "string", "Requirement action clause", false),
14677
14700
  param("name", "string", "Theorem name", false, "spec_theorem")
14678
14701
  ], async (params) => {
14679
14702
  try {
14680
- const lean = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14681
- const result = lean.convertToLean?.(params["spec"], params["name"] ?? "spec_theorem");
14682
- return ok(result ?? { lean4: "", name: params["name"] ?? "spec_theorem" });
14703
+ const { createEarsToLeanConverter: createEarsToLeanConverter2 } = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14704
+ return ok(createEarsToLeanConverter2().convert(await buildSpecFromParams(params)));
14683
14705
  } catch {
14684
- return ok({ lean4: "", name: params["name"] ?? "spec_theorem" });
14706
+ return fail("Lean package not available");
14685
14707
  }
14686
14708
  }),
14687
- tool("verify.lean.run", "Run a Lean 4 proof", "formal-verify", [param("proof", "string", "Lean 4 proof code")], async (params) => {
14709
+ tool("verify.lean.run", "Run a Lean 4 proof (requires a Lean toolchain; reports availability otherwise)", "formal-verify", [param("proof", "string", "Lean 4 proof code")], async (params) => {
14688
14710
  try {
14689
- const lean = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14690
- const result = lean.runProof?.(params["proof"]);
14691
- return ok(result ?? { verified: false, output: "" });
14692
- } catch {
14693
- return ok({ verified: false, output: "" });
14711
+ const { createLeanProofRunner: createLeanProofRunner2 } = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14712
+ return ok(await createLeanProofRunner2().runProof(params["proof"] ?? ""));
14713
+ } catch (err) {
14714
+ return fail(`Lean proof run failed: ${err instanceof Error ? err.message : String(err)}`);
14694
14715
  }
14695
14716
  }),
14696
- tool("verify.hybrid", "Run hybrid verification combining Z3 and Lean", "formal-verify", [
14697
- param("spec", "string", "Specification to verify"),
14698
- param("strategy", "string", "Verification strategy: z3-first | lean-first | parallel", false, "z3-first")
14717
+ tool("verify.hybrid", "Run hybrid (Z3 + Lean) verification on a requirement specification", "formal-verify", [
14718
+ param("text", "string", "Requirement text"),
14719
+ param("action", "string", "Requirement action clause", false)
14699
14720
  ], async (params) => {
14700
14721
  try {
14701
- const fv = await Promise.resolve().then(() => (init_dist16(), dist_exports16));
14702
- const result = fv.hybridVerify?.(params["spec"], params["strategy"] ?? "z3-first");
14703
- return ok(result ?? { verified: false, strategy: params["strategy"] ?? "z3-first" });
14704
- } catch {
14705
- return ok({ verified: false, strategy: params["strategy"] ?? "z3-first" });
14722
+ const { createHybridVerifier: createHybridVerifier2 } = await Promise.resolve().then(() => (init_dist17(), dist_exports17));
14723
+ return ok(await createHybridVerifier2().verify(await buildSpecFromParams(params)));
14724
+ } catch (err) {
14725
+ return fail(`Hybrid verification failed: ${err instanceof Error ? err.message : String(err)}`);
14706
14726
  }
14707
14727
  })
14708
14728
  ];
@@ -14834,44 +14854,56 @@ function decisionsTools() {
14834
14854
  })
14835
14855
  ];
14836
14856
  }
14857
+ async function getSkillManager() {
14858
+ if (!_skillManager) {
14859
+ const { createSkillManager: createSkillManager2 } = await Promise.resolve().then(() => (init_dist7(), dist_exports7));
14860
+ _skillManager = createSkillManager2();
14861
+ }
14862
+ return _skillManager;
14863
+ }
14837
14864
  function skillsTools() {
14838
14865
  return [
14839
- tool("skills.list", "List all registered skills", "skills", [], async () => {
14866
+ tool("skills.list", "List skills registered in the current server session", "skills", [], async () => {
14840
14867
  try {
14841
- const sm = await Promise.resolve().then(() => (init_dist7(), dist_exports7));
14842
- const skills = sm.listSkills?.();
14843
- return ok(skills ?? []);
14868
+ const mgr = await getSkillManager();
14869
+ return ok(mgr.getAvailableSkills().map((s) => ({ id: s.id, name: s.metadata.name, status: s.status })));
14844
14870
  } catch {
14845
- return ok([]);
14871
+ return fail("Skill-manager package not available");
14846
14872
  }
14847
14873
  }),
14848
- tool("skills.register", "Register a new skill", "skills", [
14874
+ tool("skills.register", "Register a skill (echo-executor) for this server session", "skills", [
14849
14875
  param("name", "string", "Skill name"),
14850
- param("description", "string", "Skill description"),
14851
- param("handler", "string", "Handler module path")
14876
+ param("description", "string", "Skill description", false, ""),
14877
+ param("triggers", "array", "Trigger keywords", false)
14852
14878
  ], async (params) => {
14853
14879
  try {
14854
- const sm = await Promise.resolve().then(() => (init_dist7(), dist_exports7));
14855
- const result = sm.registerSkill?.({
14856
- name: params["name"],
14857
- description: params["description"],
14858
- handler: params["handler"]
14859
- });
14860
- return ok(result ?? { name: params["name"], registered: true });
14880
+ const mgr = await getSkillManager();
14881
+ const name = params["name"] ?? "skill";
14882
+ const skill = mgr.loadFromMetadata({
14883
+ name,
14884
+ version: "1.0.0",
14885
+ description: params["description"] ?? "",
14886
+ triggers: params["triggers"] ?? []
14887
+ }, async (input) => ({ skill: name, output: input }));
14888
+ return ok({ id: skill.id, name, registered: true });
14861
14889
  } catch {
14862
- return ok({ name: params["name"], registered: true });
14890
+ return fail("Skill-manager package not available");
14863
14891
  }
14864
14892
  }),
14865
- tool("skills.execute", "Execute a registered skill by name", "skills", [
14893
+ tool("skills.execute", "Execute a session skill by name (must be registered in this session first)", "skills", [
14866
14894
  param("name", "string", "Skill name to execute"),
14867
14895
  param("input", "object", "Skill input parameters", false, {})
14868
14896
  ], async (params) => {
14869
14897
  try {
14870
- const sm = await Promise.resolve().then(() => (init_dist7(), dist_exports7));
14871
- const result = sm.executeSkill?.(params["name"], params["input"]);
14872
- return ok(result ?? { executed: false, name: params["name"] });
14898
+ const mgr = await getSkillManager();
14899
+ const name = params["name"] ?? "";
14900
+ const match = mgr.getAvailableSkills().find((s) => s.metadata.name === name);
14901
+ if (!match)
14902
+ return fail(`Skill not registered in this session: ${name}`);
14903
+ const output = await match.execute(params["input"] ?? {});
14904
+ return ok({ executed: true, name, output });
14873
14905
  } catch {
14874
- return ok({ executed: false, name: params["name"] });
14906
+ return fail("Skill-manager package not available");
14875
14907
  }
14876
14908
  })
14877
14909
  ];
@@ -14899,9 +14931,11 @@ function registerDefaultTools(server) {
14899
14931
  server.registerBatch(category.tools);
14900
14932
  }
14901
14933
  }
14934
+ var _skillManager;
14902
14935
  var init_catalog = __esm({
14903
14936
  "../mcp-server/dist/catalog.js"() {
14904
14937
  "use strict";
14938
+ _skillManager = null;
14905
14939
  }
14906
14940
  });
14907
14941
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musubix2",
3
- "version": "0.5.10",
3
+ "version": "0.5.12",
4
4
  "description": "MUSUBIX2 — Specification Driven Development System",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",