musubix2 0.5.73 → 0.5.75

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.73","timestamp":"2026-07-10T23:27:22.392Z"}
1
+ {"generator":"musubix2","version":"0.5.75","timestamp":"2026-07-10T23:55:04.204Z"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0",
3
- "generatedAt": "2026-07-10T23:27:22.421Z",
3
+ "generatedAt": "2026-07-10T23:55:04.235Z",
4
4
  "entries": [
5
5
  {
6
6
  "platform": "copilot",
package/dist/cli.d.ts CHANGED
@@ -134,7 +134,7 @@ export declare function handleSkills(sub: string | undefined, args: string[]): P
134
134
  export declare function handleKnowledge(sub: string | undefined, args: string[], flags: Record<string, unknown>): Promise<ExitCodeValue>;
135
135
  export declare function handleDecision(sub: string | undefined, args: string[], flags: Record<string, unknown>): Promise<ExitCodeValue>;
136
136
  export declare function handleDeepResearch(sub: string | undefined, args: string[]): Promise<ExitCodeValue>;
137
- export declare function handleRepl(): Promise<ExitCodeValue>;
137
+ export declare function handleRepl(input?: NodeJS.ReadableStream, output?: NodeJS.WritableStream): Promise<ExitCodeValue>;
138
138
  export declare function handleScaffold(sub: string | undefined, args: string[]): Promise<ExitCodeValue>;
139
139
  export declare function handleExplain(input: string | undefined): Promise<ExitCodeValue>;
140
140
  export declare function handleLearn(sub: string | undefined, args: string[]): 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
@@ -1924,6 +1924,20 @@ var init_interviewer = __esm({
1924
1924
  this.updateState();
1925
1925
  return { ...this.state };
1926
1926
  }
1927
+ /**
1928
+ * Restore a previously serialized state so the 1問1答 flow can span separate
1929
+ * CLI invocations (each a fresh process). Pairs with getState().
1930
+ */
1931
+ restoreState(state) {
1932
+ this.state = {
1933
+ context: state.context ?? {},
1934
+ answeredQuestions: state.answeredQuestions ?? [],
1935
+ currentQuestion: state.currentQuestion ?? null,
1936
+ isComplete: state.isComplete ?? false,
1937
+ completionPercentage: state.completionPercentage ?? 0,
1938
+ missingRequired: state.missingRequired ?? []
1939
+ };
1940
+ }
1927
1941
  /** Reset the interview */
1928
1942
  reset() {
1929
1943
  this.state = {
@@ -16030,7 +16044,7 @@ function synthesisTools() {
16030
16044
  return [
16031
16045
  tool("synthesis.dsl.build", "Apply a DSL transform pipeline to an input string", "synthesis", [
16032
16046
  param("input", "string", "Input string to transform"),
16033
- param("ops", "array", "Ops: trim | upper | lower | reverse | capitalize | camelCase | snakeCase | replace:from:to")
16047
+ param("ops", "array", "Ops: trim | upper | lower | reverse | capitalize | camelCase | snakeCase | replace:from:to | prefixRemove:p | suffixAppend:s | repeat:n")
16034
16048
  ], async (params) => {
16035
16049
  try {
16036
16050
  const { createDSLBuilder: createDSLBuilder2 } = await Promise.resolve().then(() => (init_dist12(), dist_exports12));
@@ -16073,6 +16087,9 @@ function synthesisTools() {
16073
16087
  case "suffixAppend":
16074
16088
  builder.suffixAppend(a[0] ?? "");
16075
16089
  break;
16090
+ case "repeat":
16091
+ builder.repeat(Number.parseInt(a[0] ?? "1", 10) || 1);
16092
+ break;
16076
16093
  default:
16077
16094
  return fail(`Unknown DSL op: ${name}`);
16078
16095
  }
@@ -17073,7 +17090,7 @@ init_dist5();
17073
17090
  init_dist6();
17074
17091
  init_dist();
17075
17092
  init_dist();
17076
- import { readFileSync as readFileSync6, existsSync as existsSync12, statSync, readdirSync, writeFileSync as writeFileSync4, mkdirSync as mkdirSync4 } from "node:fs";
17093
+ import { readFileSync as readFileSync6, existsSync as existsSync12, statSync, readdirSync, writeFileSync as writeFileSync4, mkdirSync as mkdirSync4, rmSync as rmSync2 } from "node:fs";
17077
17094
  import { join as joinPath, dirname as dirnamePath } from "node:path";
17078
17095
  function parseArgs(argv) {
17079
17096
  const command = argv[0] ?? "";
@@ -17574,9 +17591,21 @@ async function handleTrace(sub, args, flags = {}) {
17574
17591
  }
17575
17592
  const generator = createMatrixGenerator();
17576
17593
  const report = generator.generate(data.requirementIds, data.fileIds, data.links);
17577
- console.log(generator.toMarkdown(report));
17578
17594
  const covered = data.requirementIds.filter((r) => (data.refsByReq.get(r)?.length ?? 0) > 0);
17579
17595
  const pct = Math.round(covered.length / data.requirementIds.length * 100);
17596
+ if (flags["json"] === true) {
17597
+ console.log(JSON.stringify({
17598
+ requirements: data.requirementIds,
17599
+ files: data.fileIds,
17600
+ links: data.links,
17601
+ completeness: report.completeness,
17602
+ gaps: report.gaps,
17603
+ referencedInCode: covered.length,
17604
+ coveragePercent: pct
17605
+ }, null, 2));
17606
+ return ExitCode.SUCCESS;
17607
+ }
17608
+ console.log(generator.toMarkdown(report));
17580
17609
  console.log(`
17581
17610
  Requirements: ${data.requirementIds.length}, referenced in code: ${covered.length} (${pct}%), source files: ${data.fileIds.length} (scanned ${srcDir}).`);
17582
17611
  return ExitCode.SUCCESS;
@@ -17617,6 +17646,16 @@ Requirements: ${data.requirementIds.length}, referenced in code: ${covered.lengt
17617
17646
  const result = analyzer.analyze(targetId, links);
17618
17647
  const affectedReqs = result.affectedIds.filter((id) => /^REQ-[A-Z]{2,6}-\d{3}$/.test(id));
17619
17648
  const affectedSymbols = result.affectedIds.filter((id) => !/^REQ-[A-Z]{2,6}-\d{3}$/.test(id));
17649
+ if (flags["json"] === true) {
17650
+ console.log(JSON.stringify({
17651
+ target: targetId,
17652
+ level: result.level,
17653
+ affectedIds: result.affectedIds,
17654
+ affectedSymbols,
17655
+ affectedRequirements: affectedReqs
17656
+ }, null, 2));
17657
+ return ExitCode.SUCCESS;
17658
+ }
17620
17659
  console.log(`Impact analysis for ${targetId}:`);
17621
17660
  console.log(` Level: ${result.level}`);
17622
17661
  console.log(` Affected: ${result.affectedIds.length} item(s) (${affectedSymbols.length} symbol(s), ${affectedReqs.length} requirement(s))`);
@@ -19203,7 +19242,7 @@ async function handleCodegraph(sub, args) {
19203
19242
  output = lines.join("\n");
19204
19243
  }
19205
19244
  if (outPath) {
19206
- writeFileSync4(outPath, output, "utf-8");
19245
+ writeOut(outPath, output);
19207
19246
  console.log(`\u2705 Exported ${fileSet.size} file(s), ${rels.length} edge(s) as ${format} to ${outPath}`);
19208
19247
  } else {
19209
19248
  console.log(output);
@@ -19440,18 +19479,35 @@ async function handleReqWizard() {
19440
19479
  return ExitCode.GENERAL_ERROR;
19441
19480
  }
19442
19481
  }
19443
- var _interviewer = null;
19482
+ var INTERVIEW_STATE_FILE = ".musubix/interview.json";
19444
19483
  function getInterviewer() {
19445
- if (!_interviewer) {
19446
- _interviewer = createRequirementsInterviewer();
19484
+ const interviewer = createRequirementsInterviewer();
19485
+ if (existsSync12(INTERVIEW_STATE_FILE)) {
19486
+ try {
19487
+ interviewer.restoreState(JSON.parse(readFileSync6(INTERVIEW_STATE_FILE, "utf-8")));
19488
+ } catch {
19489
+ }
19490
+ }
19491
+ return interviewer;
19492
+ }
19493
+ function saveInterview(interviewer) {
19494
+ mkdirSync4(dirnamePath(INTERVIEW_STATE_FILE), { recursive: true });
19495
+ writeFileSync4(INTERVIEW_STATE_FILE, JSON.stringify(interviewer.getState(), null, 2), "utf-8");
19496
+ }
19497
+ function writeOut(filePath, content) {
19498
+ const dir = dirnamePath(filePath);
19499
+ if (dir && dir !== ".") {
19500
+ mkdirSync4(dir, { recursive: true });
19447
19501
  }
19448
- return _interviewer;
19502
+ writeFileSync4(filePath, content, "utf-8");
19449
19503
  }
19450
19504
  async function handleReqInterview(args) {
19451
19505
  try {
19452
19506
  const interviewer = getInterviewer();
19453
19507
  if (args["reset"] === true) {
19454
- _interviewer = createRequirementsInterviewer();
19508
+ if (existsSync12(INTERVIEW_STATE_FILE)) {
19509
+ rmSync2(INTERVIEW_STATE_FILE, { force: true });
19510
+ }
19455
19511
  console.log("\u{1F504} Interview state reset.");
19456
19512
  return ExitCode.SUCCESS;
19457
19513
  }
@@ -19485,6 +19541,7 @@ async function handleReqInterview(args) {
19485
19541
  return ExitCode.GENERAL_ERROR;
19486
19542
  }
19487
19543
  const result2 = interviewer.answer(questionId, response);
19544
+ saveInterview(interviewer);
19488
19545
  if (result2.status === "complete") {
19489
19546
  console.log("\u2705 Interview complete! All required info gathered.");
19490
19547
  console.log(" Run `musubix req:interview --generate` to generate the spec.");
@@ -19510,7 +19567,9 @@ async function handleReqInterview(args) {
19510
19567
  console.log(" musubix req:interview --reset Reset interview");
19511
19568
  return ExitCode.SUCCESS;
19512
19569
  }
19570
+ interviewer.reset();
19513
19571
  const result = interviewer.analyzeInput(inputText);
19572
+ saveInterview(interviewer);
19514
19573
  if (result.status === "complete") {
19515
19574
  console.log("\u2705 Sufficient info gathered! Generating requirements...");
19516
19575
  const generator = createRequirementsDocGenerator();
@@ -19549,7 +19608,7 @@ async function handleDesignGenerate(filePath, outPath) {
19549
19608
  if (outPath) {
19550
19609
  const c4 = deriveC4FromRequirements(content);
19551
19610
  const artifact = { ...design, elements: c4.elements, relationships: c4.relationships };
19552
- writeFileSync4(outPath, JSON.stringify(artifact, null, 2) + "\n", "utf-8");
19611
+ writeOut(outPath, JSON.stringify(artifact, null, 2) + "\n");
19553
19612
  console.log(`\u2705 Wrote design artifact: ${outPath} (${design.sections.length} section(s))`);
19554
19613
  console.log(` Next: musubix design:verify ${outPath} | musubix design:c4 ${outPath}`);
19555
19614
  return ExitCode.SUCCESS;
@@ -19806,7 +19865,7 @@ async function handleCodegen(nameOrFile, type = "class", outPath) {
19806
19865
  const entityDecls = renderEntityTypeStubs(targets);
19807
19866
  const code = [...entityDecls, ...blocks].join("\n\n");
19808
19867
  if (outPath) {
19809
- writeFileSync4(outPath, code + "\n", "utf-8");
19868
+ writeOut(outPath, code + "\n");
19810
19869
  console.error(`\u2705 Wrote ${targets.length} skeleton(s) to ${outPath}`);
19811
19870
  console.error(` Next: musubix test:gen ${outPath}`);
19812
19871
  return ExitCode.SUCCESS;
@@ -19836,7 +19895,7 @@ async function handleCodegen(nameOrFile, type = "class", outPath) {
19836
19895
  name: safeName
19837
19896
  });
19838
19897
  if (outPath) {
19839
- writeFileSync4(outPath, result.code + "\n", "utf-8");
19898
+ writeOut(outPath, result.code + "\n");
19840
19899
  console.error(`\u2705 Wrote skeleton to ${outPath}`);
19841
19900
  console.error(` Next: musubix test:gen ${outPath}`);
19842
19901
  return ExitCode.SUCCESS;
@@ -20268,13 +20327,41 @@ async function handleDeepResearch(sub, args) {
20268
20327
  return ExitCode.SUCCESS;
20269
20328
  }
20270
20329
  }
20271
- async function handleRepl() {
20330
+ async function handleRepl(input = process.stdin, output = process.stdout) {
20272
20331
  const { ReplEngine: ReplEngine2 } = await Promise.resolve().then(() => (init_dist(), dist_exports));
20332
+ const readline2 = await import("node:readline");
20273
20333
  const repl = new ReplEngine2();
20274
20334
  console.log("MUSUBIX2 Interactive REPL");
20275
20335
  console.log('Type "help" for commands, "exit" to quit.\n');
20276
- console.log(repl.getPrompt());
20277
- return ExitCode.SUCCESS;
20336
+ const rl = readline2.createInterface({
20337
+ input,
20338
+ output,
20339
+ prompt: repl.getPrompt()
20340
+ });
20341
+ rl.prompt();
20342
+ return await new Promise((resolve9) => {
20343
+ rl.on("line", (line) => {
20344
+ const trimmed = line.trim();
20345
+ if (trimmed === "exit" || trimmed === "quit" || trimmed === "q") {
20346
+ rl.close();
20347
+ return;
20348
+ }
20349
+ if (!trimmed) {
20350
+ rl.prompt();
20351
+ return;
20352
+ }
20353
+ rl.pause();
20354
+ repl.eval(trimmed).then((out) => {
20355
+ if (out) {
20356
+ console.log(out);
20357
+ }
20358
+ }).catch((err) => console.error(`\u274C ${err instanceof Error ? err.message : String(err)}`)).finally(() => {
20359
+ rl.resume();
20360
+ rl.prompt();
20361
+ });
20362
+ });
20363
+ rl.on("close", () => resolve9(ExitCode.SUCCESS));
20364
+ });
20278
20365
  }
20279
20366
  async function handleScaffold(sub, args) {
20280
20367
  const { createProjectInitializer: createProjectInitializer2 } = await Promise.resolve().then(() => (init_dist(), dist_exports));