prolog-trace-viz 2.3.0 → 2.4.0

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,11 +1,11 @@
1
1
  export declare const BUILD_INFO: {
2
- readonly version: "2.3.0";
2
+ readonly version: "2.4.0";
3
3
  readonly name: "prolog-trace-viz";
4
4
  readonly description: "Generate enhanced visual trace diagrams for Prolog query execution";
5
5
  readonly author: "Johnny Jarecsni <johnny.jarecsni@icloud.com>";
6
6
  readonly license: "MIT";
7
- readonly buildTimestamp: "2026-01-11T12:50:46.848Z";
8
- readonly gitCommit: "002ebc3";
7
+ readonly buildTimestamp: "2026-01-11T13:36:14.213Z";
8
+ readonly gitCommit: "1e16e3c";
9
9
  readonly gitBranch: "main";
10
10
  readonly nodeVersion: "v22.17.0";
11
11
  readonly platform: "darwin";
@@ -1,13 +1,13 @@
1
1
  // This file is auto-generated during build
2
2
  // Do not edit manually - regenerated on each build
3
3
  export const BUILD_INFO = {
4
- "version": "2.3.0",
4
+ "version": "2.4.0",
5
5
  "name": "prolog-trace-viz",
6
6
  "description": "Generate enhanced visual trace diagrams for Prolog query execution",
7
7
  "author": "Johnny Jarecsni <johnny.jarecsni@icloud.com>",
8
8
  "license": "MIT",
9
- "buildTimestamp": "2026-01-11T12:50:46.848Z",
10
- "gitCommit": "002ebc3",
9
+ "buildTimestamp": "2026-01-11T13:36:14.213Z",
10
+ "gitCommit": "1e16e3c",
11
11
  "gitBranch": "main",
12
12
  "nodeVersion": "v22.17.0",
13
13
  "platform": "darwin",
package/dist/cli.d.ts CHANGED
@@ -6,6 +6,7 @@ export interface CLIOptions {
6
6
  depth: number;
7
7
  verbose: boolean;
8
8
  quiet: boolean;
9
+ showInternalVars: boolean;
9
10
  }
10
11
  export interface CLIResult {
11
12
  type: 'options' | 'help' | 'version' | 'copyright' | 'error';
@@ -17,13 +18,13 @@ export declare function getHelpText(): string;
17
18
  export declare function getVersion(): string;
18
19
  export declare function getCopyright(): string;
19
20
  export declare function getBuildInfo(): {
20
- readonly version: "2.3.0";
21
+ readonly version: "2.4.0";
21
22
  readonly name: "prolog-trace-viz";
22
23
  readonly description: "Generate enhanced visual trace diagrams for Prolog query execution";
23
24
  readonly author: "Johnny Jarecsni <johnny.jarecsni@icloud.com>";
24
25
  readonly license: "MIT";
25
- readonly buildTimestamp: "2026-01-11T12:50:46.848Z";
26
- readonly gitCommit: "002ebc3";
26
+ readonly buildTimestamp: "2026-01-11T13:36:14.213Z";
27
+ readonly gitCommit: "1e16e3c";
27
28
  readonly gitBranch: "main";
28
29
  readonly nodeVersion: "v22.17.0";
29
30
  readonly platform: "darwin";
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAE,MAAM,aAAa,CAAC;AAGhE,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC7D,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA2BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAkHnD;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,YAAY;;;;;;;;;;;;EAE3B"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAE,MAAM,aAAa,CAAC;AAGhE,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC7D,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA6BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAsHnD;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,YAAY;;;;;;;;;;;;EAE3B"}
package/dist/cli.js CHANGED
@@ -11,18 +11,20 @@ ARGUMENTS:
11
11
  <query> Prolog query to trace (e.g., "t(1+0+1, X)")
12
12
 
13
13
  OPTIONS:
14
- -o, --output <file> Write output to file instead of stdout
15
- --depth <n> Maximum trace depth (default: 100)
16
- --verbose Display detailed processing information
17
- --quiet Suppress all non-error output except final result
18
- -h, --help Show this help message
19
- -v, --version Show version number
20
- --copyright Show copyright and build information
14
+ -o, --output <file> Write output to file instead of stdout
15
+ --depth <n> Maximum trace depth (default: 100)
16
+ --show-internal-vars Show Prolog's internal variable names (e.g., _2008)
17
+ --verbose Display detailed processing information
18
+ --quiet Suppress all non-error output except final result
19
+ -h, --help Show this help message
20
+ -v, --version Show version number
21
+ --copyright Show copyright and build information
21
22
 
22
23
  EXAMPLES:
23
24
  prolog-trace-viz program.pl "append([1,2], [3,4], X)"
24
25
  prolog-trace-viz program.pl "member(X, [a,b,c])" -o trace.md
25
26
  prolog-trace-viz program.pl "factorial(5, X)" --depth 10 --verbose
27
+ prolog-trace-viz program.pl "t(1+0+1, X)" --show-internal-vars
26
28
  `.trim();
27
29
  export function parseArgs(argv) {
28
30
  const args = argv.slice(2); // Skip node and script path
@@ -42,6 +44,7 @@ export function parseArgs(argv) {
42
44
  depth: 100,
43
45
  verbose: false,
44
46
  quiet: false,
47
+ showInternalVars: false,
45
48
  };
46
49
  const positionalArgs = [];
47
50
  for (let i = 0; i < args.length; i++) {
@@ -73,6 +76,9 @@ export function parseArgs(argv) {
73
76
  }
74
77
  options.depth = depth;
75
78
  }
79
+ else if (arg === '--show-internal-vars') {
80
+ options.showInternalVars = true;
81
+ }
76
82
  else if (arg === '--verbose') {
77
83
  options.verbose = true;
78
84
  }
@@ -121,6 +127,7 @@ export function parseArgs(argv) {
121
127
  depth: options.depth,
122
128
  verbose: options.verbose,
123
129
  quiet: options.quiet,
130
+ showInternalVars: options.showInternalVars,
124
131
  },
125
132
  };
126
133
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAkB/D,MAAM,SAAS,GAAG;EAChB,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,MAAM,UAAU,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;CAwBnE,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;IAExD,4BAA4B;IAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,yBAAyB;IACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,2BAA2B;IAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAwB;QACnC,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,gBAAgB,EAAE,KAAK;KACxB,CAAC;IAEF,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,GAAG,gCAAgC,CAAC;iBACnF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,qCAAqC,CAAC;iBAClF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,wBAAwB,OAAO,+BAA+B,CAAC;iBAC3G,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;YAC1C,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,mBAAmB,GAAG,EAAE,CAAC;aACrE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC;YACzC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,OAAO,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,WAAW,CAChB,SAAS,CAAC,YAAY,EACtB,8BAA8B,OAAO,EAAE,CACxC;SACF,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,WAAW,CAChB,SAAS,CAAC,YAAY,EACtB,4DAA4D,cAAc,CAAC,MAAM,EAAE,CACpF;SACF,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,WAAW,CAChB,SAAS,CAAC,YAAY,EACtB,uCAAuC,CACxC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;YAC7B,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAM;YACrB,OAAO,EAAE,OAAO,CAAC,OAAQ;YACzB,KAAK,EAAE,OAAO,CAAC,KAAM;YACrB,gBAAgB,EAAE,OAAO,CAAC,gBAAiB;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC"}
package/dist/index.js CHANGED
@@ -164,6 +164,9 @@ async function run(options) {
164
164
  tree,
165
165
  clauses: clauseDefinitions,
166
166
  finalAnswer,
167
+ formatterOptions: {
168
+ showInternalVars: options.showInternalVars,
169
+ },
167
170
  });
168
171
  // Write output - default to source file location if not specified
169
172
  const outputPath = options.output || `${prologDir}/${nameWithoutExt}-output.md`;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,eAAe,EAAc,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,yBAAyB,CAAC;AAE7E;;;GAGG;AACH,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAChC,OAAe,EACf,oBAA4B,EAC5B,aAAqB,EACrB,SAAmB;IAEnB,6CAA6C;IAC7C,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEnE,oDAAoD;IACpD,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEpD,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC;IAE9C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9D,gDAAgD;IAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;IAEhE,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,WAAW,MAAM,KAAK,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAQ,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,OAAmB;IACpC,UAAU,CAAC,cAAc,OAAO,CAAC,UAAU,gBAAgB,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAErF,qBAAqB;IACrB,UAAU,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACvC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,UAAU,CAAC,WAAW,OAAO,CAAC,UAAU,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/D,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8CAA8C;IAC9C,UAAU,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAE/C,iEAAiE;IACjE,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAE5D,2DAA2D;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAEpG,6CAA6C;IAC7C,UAAU,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;QACvC,aAAa;QACb,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,wBAAwB;QACxB,UAAU,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtD,UAAU,CAAC,qBAAqB,UAAU,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,UAAU,CAAC,gBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpE,UAAU,CAAC,WAAW,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAEpD,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YAC3C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,uDAAuD;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAChD,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtE,CAAC,CAAC,GAAG,CAAC;QACR,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrD,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACvB,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE3D,0BAA0B;QAC1B,UAAU,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAEhE,iBAAiB;QACjB,UAAU,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE/C,aAAa;QACb,UAAU,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;QAEjC,6BAA6B;QAC7B,MAAM,iBAAiB,GAAuB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,EAAE,CAAC,CAAC,MAAM;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAC;QAEJ,oBAAoB;QACpB,UAAU,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;QAErD,0EAA0E;QAC1E,IAAI,WAA+B,CAAC;QACpC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,6CAA6C;YAC7C,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,mDAAmD;YACnD,WAAW,GAAG,yBAAyB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,KAAK;YAC5B,QAAQ;YACR,IAAI;YACJ,OAAO,EAAE,iBAAiB;YAC1B,WAAW;YACX,gBAAgB,EAAE;gBAChB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C;SACF,CAAC,CAAC;QAEH,kEAAkE;QAClE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,SAAS,IAAI,cAAc,YAAY,CAAC;QAChF,MAAM,WAAW,CAAC;YAChB,OAAO,EAAE,QAAQ;YACjB,UAAU;YACV,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,UAAU;QACV,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -7,6 +7,9 @@ export interface ClauseDefinition {
7
7
  line: number;
8
8
  text: string;
9
9
  }
10
+ export interface FormatterOptions {
11
+ showInternalVars?: boolean;
12
+ }
10
13
  export interface MarkdownContext {
11
14
  query: string;
12
15
  originalQuery?: string;
@@ -16,6 +19,7 @@ export interface MarkdownContext {
16
19
  finalAnswer?: string;
17
20
  truncated?: boolean;
18
21
  maxDepth?: number;
22
+ formatterOptions?: FormatterOptions;
19
23
  }
20
24
  /**
21
25
  * Generate complete markdown document
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-generator.d.ts","sourceRoot":"","sources":["../src/markdown-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA2BjE"}
1
+ {"version":3,"file":"markdown-generator.d.ts","sourceRoot":"","sources":["../src/markdown-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA2BjE"}
@@ -78,7 +78,10 @@ function generateTimelineSection(context) {
78
78
  lines.push('_No execution steps recorded._');
79
79
  return lines.join('\n');
80
80
  }
81
- lines.push(formatTimeline(context.timeline));
81
+ const formatterOptions = {
82
+ showInternalVars: context.formatterOptions?.showInternalVars ?? false,
83
+ };
84
+ lines.push(formatTimeline(context.timeline, formatterOptions));
82
85
  return lines.join('\n');
83
86
  }
84
87
  /**
@@ -92,8 +95,11 @@ function generateTreeSection(context) {
92
95
  lines.push('_No call tree available._');
93
96
  return lines.join('\n');
94
97
  }
98
+ const formatterOptions = {
99
+ showInternalVars: context.formatterOptions?.showInternalVars ?? false,
100
+ };
95
101
  lines.push('```mermaid');
96
- lines.push(formatTreeAsMermaid(context.tree));
102
+ lines.push(formatTreeAsMermaid(context.tree, formatterOptions));
97
103
  lines.push('```');
98
104
  return lines.join('\n');
99
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-generator.js","sourceRoot":"","sources":["../src/markdown-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-generator.js","sourceRoot":"","sources":["../src/markdown-generator.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,14 @@
2
2
  * Timeline Formatter - Formats nested timeline steps into markdown
3
3
  *
4
4
  * Renders a hierarchical view where child calls are visually nested inside their parents.
5
+ * By default, uses clause variable names (X, Z, X1) instead of internal Prolog names (_2008).
5
6
  */
6
7
  import { TimelineStep } from './timeline.js';
8
+ export interface TimelineFormatterOptions {
9
+ showInternalVars?: boolean;
10
+ }
7
11
  /**
8
12
  * Format timeline steps into markdown with nested structure
9
13
  */
10
- export declare function formatTimeline(steps: TimelineStep[]): string;
14
+ export declare function formatTimeline(steps: TimelineStep[], options?: TimelineFormatterOptions): string;
11
15
  //# sourceMappingURL=timeline-formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-formatter.d.ts","sourceRoot":"","sources":["../src/timeline-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAS5D"}
1
+ {"version":3,"file":"timeline-formatter.d.ts","sourceRoot":"","sources":["../src/timeline-formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,GAAE,wBAA6B,GAAG,MAAM,CASpG"}
@@ -2,14 +2,15 @@
2
2
  * Timeline Formatter - Formats nested timeline steps into markdown
3
3
  *
4
4
  * Renders a hierarchical view where child calls are visually nested inside their parents.
5
+ * By default, uses clause variable names (X, Z, X1) instead of internal Prolog names (_2008).
5
6
  */
6
7
  /**
7
8
  * Format timeline steps into markdown with nested structure
8
9
  */
9
- export function formatTimeline(steps) {
10
+ export function formatTimeline(steps, options = {}) {
10
11
  const lines = [];
11
12
  for (const step of steps) {
12
- lines.push(...formatStepNested(step, 0));
13
+ lines.push(...formatStepNested(step, 0, options));
13
14
  lines.push('');
14
15
  }
15
16
  return lines.join('\n');
@@ -18,20 +19,24 @@ export function formatTimeline(steps) {
18
19
  * Format a single timeline step with nesting support
19
20
  * @param step The step to format
20
21
  * @param depth Current nesting depth (0 = root level)
22
+ * @param options Formatter options
21
23
  */
22
- function formatStepNested(step, depth) {
24
+ function formatStepNested(step, depth, options) {
23
25
  const lines = [];
24
26
  const indent = '│ '.repeat(depth);
27
+ const showInternal = options.showInternalVars ?? false;
25
28
  // Step header with box drawing
26
29
  const portLabel = step.port === 'merged' ? '' : step.port.toUpperCase() + ' ';
27
30
  // subgoalLabel is like "[1.1]", strip brackets for cleaner display
28
31
  const subgoalMarker = step.subgoalLabel ? ` [Goal ${step.subgoalLabel.slice(1, -1)}]` : '';
32
+ // Format goal display - use clause variable name for output arg if available
33
+ const goalDisplay = formatGoalDisplay(step, showInternal);
29
34
  // Build goal display: show template → instantiated if we have binding context
30
- let goalDisplay = `${portLabel}${step.goal}`;
35
+ let fullGoalDisplay = `${portLabel}${goalDisplay}`;
31
36
  if (step.subgoalTemplate && step.subgoalBindings && step.subgoalBindings.length > 0) {
32
- goalDisplay = `${portLabel}${step.subgoalTemplate} → ${step.goal}`;
37
+ fullGoalDisplay = `${portLabel}${step.subgoalTemplate} → ${goalDisplay}`;
33
38
  }
34
- lines.push(`${indent}┌─ Step ${step.stepNumber}${subgoalMarker}: ${goalDisplay}`);
39
+ lines.push(`${indent}┌─ Step ${step.stepNumber}${subgoalMarker}: ${fullGoalDisplay}`);
35
40
  // Show binding context if we have bindings from sibling steps
36
41
  if (step.subgoalBindings && step.subgoalBindings.length > 0) {
37
42
  for (const binding of step.subgoalBindings) {
@@ -42,7 +47,7 @@ function formatStepNested(step, depth) {
42
47
  switch (step.port) {
43
48
  case 'call':
44
49
  case 'merged':
45
- lines.push(...formatMergedContent(step, indent));
50
+ lines.push(...formatMergedContent(step, indent, showInternal));
46
51
  break;
47
52
  case 'redo':
48
53
  lines.push(`${indent}│ Backtracking...`);
@@ -55,18 +60,13 @@ function formatStepNested(step, depth) {
55
60
  if (step.children.length > 0) {
56
61
  lines.push(`${indent}│ `);
57
62
  for (const child of step.children) {
58
- lines.push(...formatStepNested(child, depth + 1));
63
+ lines.push(...formatStepNested(child, depth + 1, options));
59
64
  }
60
65
  }
61
66
  // Show result AFTER children (this is the key insight!)
62
67
  if (step.port === 'merged' && step.result) {
63
- // Extract the output variable from the goal (last argument, typically unbound)
64
- const goalMatch = step.goal.match(/^[^(]+\((.+)\)$/);
65
- let outputVar = '?';
66
- if (goalMatch) {
67
- const args = splitArgs(goalMatch[1]);
68
- outputVar = args[args.length - 1] || '?';
69
- }
68
+ // Get the output variable name from clause if available, otherwise extract from goal
69
+ const outputVar = getOutputVariableName(step, showInternal);
70
70
  lines.push(`${indent}│ => ${outputVar} = ${step.result}`);
71
71
  // Show query variable state only on root-level steps (depth 0)
72
72
  // This prevents showing "A = ?" on intermediate steps
@@ -77,6 +77,82 @@ function formatStepNested(step, depth) {
77
77
  lines.push(`${indent}└─`);
78
78
  return lines;
79
79
  }
80
+ /**
81
+ * Format the goal display, replacing internal variable names with clause variable names
82
+ */
83
+ function formatGoalDisplay(step, showInternal) {
84
+ if (showInternal) {
85
+ return step.goal;
86
+ }
87
+ // If we have clause info, try to use clause variable name for the output argument
88
+ if (step.clause) {
89
+ const goalMatch = step.goal.match(/^([^(]+)\((.+)\)$/);
90
+ const headMatch = step.clause.head.match(/^([^(]+)\((.+)\)$/);
91
+ if (goalMatch && headMatch) {
92
+ const predicate = goalMatch[1];
93
+ const goalArgs = splitArgs(goalMatch[2]);
94
+ const headArgs = splitArgs(headMatch[2]);
95
+ // Replace internal variable names with clause variable names where appropriate
96
+ const displayArgs = goalArgs.map((arg, i) => {
97
+ // If this is an internal variable (starts with _) and we have a clause variable
98
+ if (isInternalVariable(arg) && i < headArgs.length) {
99
+ const clauseVar = extractVariableName(headArgs[i]);
100
+ if (clauseVar) {
101
+ return clauseVar;
102
+ }
103
+ }
104
+ return arg;
105
+ });
106
+ return `${predicate}(${displayArgs.join(',')})`;
107
+ }
108
+ }
109
+ return step.goal;
110
+ }
111
+ /**
112
+ * Get the output variable name for result display
113
+ */
114
+ function getOutputVariableName(step, showInternal) {
115
+ // Extract the last argument from the goal (typically the output)
116
+ const goalMatch = step.goal.match(/^[^(]+\((.+)\)$/);
117
+ if (!goalMatch)
118
+ return '?';
119
+ const args = splitArgs(goalMatch[1]);
120
+ const lastArg = args[args.length - 1] || '?';
121
+ if (showInternal) {
122
+ return lastArg;
123
+ }
124
+ // If we have clause info, use the clause variable name
125
+ if (step.clause) {
126
+ const headMatch = step.clause.head.match(/^[^(]+\((.+)\)$/);
127
+ if (headMatch) {
128
+ const headArgs = splitArgs(headMatch[1]);
129
+ if (headArgs.length > 0) {
130
+ const clauseVar = extractVariableName(headArgs[headArgs.length - 1]);
131
+ if (clauseVar) {
132
+ return clauseVar;
133
+ }
134
+ }
135
+ }
136
+ }
137
+ return lastArg;
138
+ }
139
+ /**
140
+ * Check if a term is an internal Prolog variable (starts with _)
141
+ */
142
+ function isInternalVariable(term) {
143
+ return /^_\d+$/.test(term.trim());
144
+ }
145
+ /**
146
+ * Extract variable name from a term (handles patterns like X, [H|T], X+1, etc.)
147
+ */
148
+ function extractVariableName(term) {
149
+ const trimmed = term.trim();
150
+ // Simple variable
151
+ if (/^[A-Z][A-Za-z0-9_]*$/.test(trimmed)) {
152
+ return trimmed;
153
+ }
154
+ return null;
155
+ }
80
156
  /**
81
157
  * Split arguments respecting nested brackets
82
158
  */
@@ -109,7 +185,7 @@ function splitArgs(argsStr) {
109
185
  /**
110
186
  * Format merged CALL/EXIT step content (before children)
111
187
  */
112
- function formatMergedContent(step, indent) {
188
+ function formatMergedContent(step, indent, showInternal) {
113
189
  const lines = [];
114
190
  if (step.clause) {
115
191
  const clauseLabel = step.clause.body && step.clause.body !== 'true' ? 'Clause' : 'Fact';
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-formatter.js","sourceRoot":"","sources":["../src/timeline-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline-formatter.js","sourceRoot":"","sources":["../src/timeline-formatter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  /**
2
2
  * Tree Formatter - Generates Mermaid diagram from tree structure
3
+ *
4
+ * By default, uses clause variable names instead of internal Prolog names.
3
5
  */
4
6
  import { TreeNode } from './tree.js';
7
+ export interface TreeFormatterOptions {
8
+ showInternalVars?: boolean;
9
+ }
5
10
  /**
6
11
  * Format tree as Mermaid diagram
7
12
  */
8
- export declare function formatTreeAsMermaid(root: TreeNode | null): string;
13
+ export declare function formatTreeAsMermaid(root: TreeNode | null, options?: TreeFormatterOptions): string;
9
14
  /**
10
15
  * Handle backtracking visualization in tree
11
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tree-formatter.d.ts","sourceRoot":"","sources":["../src/tree-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,CA+BjE;AA2GD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAe1D"}
1
+ {"version":3,"file":"tree-formatter.d.ts","sourceRoot":"","sources":["../src/tree-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,GAAE,oBAAyB,GAAG,MAAM,CA+BrG;AAgLD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAe1D"}
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * Tree Formatter - Generates Mermaid diagram from tree structure
3
+ *
4
+ * By default, uses clause variable names instead of internal Prolog names.
3
5
  */
4
6
  /**
5
7
  * Format tree as Mermaid diagram
6
8
  */
7
- export function formatTreeAsMermaid(root) {
9
+ export function formatTreeAsMermaid(root, options = {}) {
8
10
  if (!root) {
9
11
  return 'graph TD\n A["No execution tree"]';
10
12
  }
@@ -15,7 +17,7 @@ export function formatTreeAsMermaid(root) {
15
17
  const nodes = [];
16
18
  const edges = [];
17
19
  const styles = [];
18
- collectNodesAndEdges(root, nodes, edges, styles);
20
+ collectNodesAndEdges(root, nodes, edges, styles, true, options);
19
21
  // Add nodes section
20
22
  lines.push('%% Nodes');
21
23
  lines.push(...nodes);
@@ -32,9 +34,9 @@ export function formatTreeAsMermaid(root) {
32
34
  /**
33
35
  * Collect nodes, edges, and styles recursively
34
36
  */
35
- function collectNodesAndEdges(node, nodes, edges, styles, isRoot = true) {
37
+ function collectNodesAndEdges(node, nodes, edges, styles, isRoot = true, options = {}) {
36
38
  // Generate node definition
37
- const nodeLabel = formatNodeLabel(node);
39
+ const nodeLabel = formatNodeLabel(node, options);
38
40
  nodes.push(`${node.id}[${nodeLabel}]`);
39
41
  // Generate style
40
42
  const style = getNodeStyle(node, isRoot);
@@ -51,14 +53,15 @@ function collectNodesAndEdges(node, nodes, edges, styles, isRoot = true) {
51
53
  }
52
54
  edges.push(`${node.id} -->|"${edgeLabel}"| ${child.id}`);
53
55
  // Recursively process child
54
- collectNodesAndEdges(child, nodes, edges, styles, false);
56
+ collectNodesAndEdges(child, nodes, edges, styles, false, options);
55
57
  }
56
58
  }
57
59
  /**
58
60
  * Format node label with circled numbers and clause info
59
61
  */
60
- function formatNodeLabel(node) {
62
+ function formatNodeLabel(node, options = {}) {
61
63
  const parts = [];
64
+ const showInternal = options.showInternalVars ?? false;
62
65
  // Use source clause head if available, otherwise use goal
63
66
  const displayGoal = node.clauseHead || node.goal;
64
67
  // Add call step with circled number
@@ -67,12 +70,75 @@ function formatNodeLabel(node) {
67
70
  if (node.clauseNumber) {
68
71
  parts.push(`clause ${node.clauseNumber}`);
69
72
  }
70
- // Add final binding if available (without EXIT step number since steps are now merged)
73
+ // Add final binding if available
71
74
  if (node.finalBinding) {
72
- parts.push(`EXIT: ${node.finalBinding}`);
75
+ // Format the binding - use clause variable name if not showing internal
76
+ const bindingDisplay = showInternal
77
+ ? node.finalBinding
78
+ : formatBindingWithClauseVar(node.finalBinding, node.clauseHead);
79
+ parts.push(`Result: ${bindingDisplay}`);
73
80
  }
74
81
  return `"${parts.join('<br/>')}"`;
75
82
  }
83
+ /**
84
+ * Format a binding using clause variable name instead of internal name
85
+ * e.g., "_2008=1+1+1+1+0" with clauseHead "t(X+1+1, Z)" -> "Z=1+1+1+1+0"
86
+ */
87
+ function formatBindingWithClauseVar(binding, clauseHead) {
88
+ if (!clauseHead)
89
+ return binding;
90
+ // Parse binding: "_2008=1+1+1+1+0" -> ["_2008", "1+1+1+1+0"]
91
+ const eqIndex = binding.indexOf('=');
92
+ if (eqIndex === -1)
93
+ return binding;
94
+ const varPart = binding.slice(0, eqIndex);
95
+ const valuePart = binding.slice(eqIndex + 1);
96
+ // If it's an internal variable, try to find the clause variable name
97
+ if (/^_\d+$/.test(varPart)) {
98
+ // Extract the last argument from clause head (typically the output)
99
+ const headMatch = clauseHead.match(/^[^(]+\((.+)\)$/);
100
+ if (headMatch) {
101
+ const args = splitArgsSimple(headMatch[1]);
102
+ if (args.length > 0) {
103
+ const lastArg = args[args.length - 1].trim();
104
+ // Check if it's a simple variable
105
+ if (/^[A-Z][A-Za-z0-9_]*$/.test(lastArg)) {
106
+ return `${lastArg}=${valuePart}`;
107
+ }
108
+ }
109
+ }
110
+ }
111
+ return binding;
112
+ }
113
+ /**
114
+ * Simple argument splitter for clause heads
115
+ */
116
+ function splitArgsSimple(argsStr) {
117
+ const args = [];
118
+ let current = '';
119
+ let depth = 0;
120
+ for (const char of argsStr) {
121
+ if (char === '(' || char === '[') {
122
+ depth++;
123
+ current += char;
124
+ }
125
+ else if (char === ')' || char === ']') {
126
+ depth--;
127
+ current += char;
128
+ }
129
+ else if (char === ',' && depth === 0) {
130
+ args.push(current.trim());
131
+ current = '';
132
+ }
133
+ else {
134
+ current += char;
135
+ }
136
+ }
137
+ if (current.trim()) {
138
+ args.push(current.trim());
139
+ }
140
+ return args;
141
+ }
76
142
  /**
77
143
  * Convert number to circled Unicode character
78
144
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tree-formatter.js","sourceRoot":"","sources":["../src/tree-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree-formatter.js","sourceRoot":"","sources":["../src/tree-formatter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prolog-trace-viz",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Generate enhanced visual trace diagrams for Prolog query execution",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",