prolog-trace-viz 2.4.1 → 2.6.1
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.
- package/README.md +81 -0
- package/dist/build-info.d.ts +3 -3
- package/dist/build-info.js +3 -3
- package/dist/cli.d.ts +13 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +48 -6
- package/dist/cli.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/markdown-generator.d.ts +3 -1
- package/dist/markdown-generator.d.ts.map +1 -1
- package/dist/markdown-generator.js +7 -5
- package/dist/markdown-generator.js.map +1 -1
- package/dist/timeline-formatter.d.ts +3 -1
- package/dist/timeline-formatter.d.ts.map +1 -1
- package/dist/timeline-formatter.js +66 -25
- package/dist/timeline-formatter.js.map +1 -1
- package/dist/tree-formatter.d.ts +3 -1
- package/dist/tree-formatter.d.ts.map +1 -1
- package/dist/tree-formatter.js +20 -13
- package/dist/tree-formatter.js.map +1 -1
- package/dist/wrapper.d.ts.map +1 -1
- package/dist/wrapper.js +6 -2
- package/dist/wrapper.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -51,11 +51,21 @@ prolog-trace-viz <prolog-file> <query> [options]
|
|
|
51
51
|
|--------|-------------|
|
|
52
52
|
| `-o, --output <file>` | Write output to file (default: `<source>-output.md`) |
|
|
53
53
|
| `--depth <number>` | Maximum trace depth to capture (default: 100) |
|
|
54
|
+
| `--debug` | Enable all debug features |
|
|
55
|
+
| `--debug:<flag>` | Enable specific debug flag (e.g., `--debug:internal-vars`) |
|
|
54
56
|
| `--verbose` | Display detailed processing information |
|
|
55
57
|
| `--quiet` | Suppress all non-error output except final result |
|
|
56
58
|
| `-h, --help` | Show help message |
|
|
57
59
|
| `-v, --version` | Show version number |
|
|
58
60
|
|
|
61
|
+
### Debug Flags
|
|
62
|
+
|
|
63
|
+
| Flag | Description |
|
|
64
|
+
|------|-------------|
|
|
65
|
+
| `internal-vars` | Show Prolog's internal variable names alongside clause variable names (e.g., `Z (_2008) = value`) |
|
|
66
|
+
|
|
67
|
+
Debug flags can be combined: `--debug:internal-vars,other-flag` or use `--debug` to enable all.
|
|
68
|
+
|
|
59
69
|
### Examples
|
|
60
70
|
|
|
61
71
|
Basic usage:
|
|
@@ -84,6 +94,8 @@ prolog-trace-viz program.pl "factorial(10, X)" --depth 20
|
|
|
84
94
|
|
|
85
95
|
## Example Output
|
|
86
96
|
|
|
97
|
+
### Simple Example: Append
|
|
98
|
+
|
|
87
99
|
Given a simple Prolog file `append.pl`:
|
|
88
100
|
|
|
89
101
|
```prolog
|
|
@@ -105,6 +117,75 @@ Produces a markdown document with:
|
|
|
105
117
|
4. **Call tree diagram** - Mermaid visualisation showing execution structure
|
|
106
118
|
5. **Final answer** - The result bindings with original query variables
|
|
107
119
|
|
|
120
|
+
### Advanced Example: Recursive Arithmetic
|
|
121
|
+
|
|
122
|
+
The tool excels at visualising complex recursive predicates. Consider this arithmetic transformation example:
|
|
123
|
+
|
|
124
|
+
```prolog
|
|
125
|
+
t(0+1, 1+0).
|
|
126
|
+
t(X+0+1, X+1+0).
|
|
127
|
+
t(X+1+1, Z) :- t(X+1, X1), t(X1+1, Z).
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Running:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
prolog-trace-viz operators.pl "t(1+0+1+1+1, B)"
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Produces a beautifully nested timeline showing how the recursion unfolds:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
┌─ Step 1: t(1+0+1+1+1,Z)
|
|
140
|
+
│ Clause: t(X+1+1, Z) [line 28]
|
|
141
|
+
│ Unifications:
|
|
142
|
+
│ X = 1+0+1
|
|
143
|
+
│ Subgoals:
|
|
144
|
+
│ [1.1] t(X+1, X1) → t(1+0+1+1, X1)
|
|
145
|
+
│ [1.2] t(X1+1, Z)
|
|
146
|
+
│
|
|
147
|
+
│ ┌─ Step 2 [Goal 1.1]: t(1+0+1+1,Z)
|
|
148
|
+
│ │ Clause: t(X+1+1, Z) [line 28]
|
|
149
|
+
│ │ Unifications:
|
|
150
|
+
│ │ X = 1+0
|
|
151
|
+
│ │ Subgoals:
|
|
152
|
+
│ │ [2.1] t(X+1, X1) → t(1+0+1, X1)
|
|
153
|
+
│ │ [2.2] t(X1+1, Z)
|
|
154
|
+
│ │
|
|
155
|
+
│ │ ┌─ Step 3 [Goal 2.1]: t(1+0+1,X+1+0)
|
|
156
|
+
│ │ │ Fact: t(X+0+1, X+1+0) [line 27]
|
|
157
|
+
│ │ │ Unifications:
|
|
158
|
+
│ │ │ X = 1
|
|
159
|
+
│ │ │ => X+1+0 = 1+1+0
|
|
160
|
+
│ │ └─
|
|
161
|
+
│ │ ┌─ Step 4 [Goal 2.2]: t(X1+1, Z) → t(1+1+0+1,X+1+0)
|
|
162
|
+
│ │ │ where X1 = 1+1+0 (from Step 3)
|
|
163
|
+
│ │ │ Fact: t(X+0+1, X+1+0) [line 27]
|
|
164
|
+
│ │ │ Unifications:
|
|
165
|
+
│ │ │ X = 1+1
|
|
166
|
+
│ │ │ => X+1+0 = 1+1+1+0
|
|
167
|
+
│ │ └─
|
|
168
|
+
│ │ => Z = 1+1+1+0
|
|
169
|
+
│ └─
|
|
170
|
+
│ ┌─ Step 5 [Goal 1.2]: t(X1+1, Z) → t(1+1+1+0+1,X+1+0)
|
|
171
|
+
│ │ where X1 = 1+1+1+0 (from Step 2)
|
|
172
|
+
│ │ Fact: t(X+0+1, X+1+0) [line 27]
|
|
173
|
+
│ │ Unifications:
|
|
174
|
+
│ │ X = 1+1+1
|
|
175
|
+
│ │ => X+1+0 = 1+1+1+1+0
|
|
176
|
+
│ └─
|
|
177
|
+
│ => Z = 1+1+1+1+0
|
|
178
|
+
│ Query Variable: B = 1+1+1+1+0
|
|
179
|
+
└─
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Key features shown:
|
|
183
|
+
- **Nested structure**: Child calls are visually nested inside their parents
|
|
184
|
+
- **Subgoal tracking**: `[1.1]`, `[2.1]` etc. show which subgoal is being solved
|
|
185
|
+
- **Binding context**: `where X1 = 1+1+0 (from Step 3)` shows how variables flow between sibling subgoals
|
|
186
|
+
- **Clean variable names**: Uses clause variable names (X, Z, X1) instead of Prolog's internal names (_2008)
|
|
187
|
+
- **Results after children**: The `=> Z = value` appears after all child steps complete
|
|
188
|
+
|
|
108
189
|
### Timeline Format
|
|
109
190
|
|
|
110
191
|
The execution timeline shows each step with:
|
package/dist/build-info.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export declare const BUILD_INFO: {
|
|
2
|
-
readonly version: "2.
|
|
2
|
+
readonly version: "2.6.1";
|
|
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-
|
|
8
|
-
readonly gitCommit: "
|
|
7
|
+
readonly buildTimestamp: "2026-04-05T22:42:34.723Z";
|
|
8
|
+
readonly gitCommit: "dff7e85";
|
|
9
9
|
readonly gitBranch: "main";
|
|
10
10
|
readonly nodeVersion: "v22.17.0";
|
|
11
11
|
readonly platform: "darwin";
|
package/dist/build-info.js
CHANGED
|
@@ -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.
|
|
4
|
+
"version": "2.6.1",
|
|
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-
|
|
10
|
-
"gitCommit": "
|
|
9
|
+
"buildTimestamp": "2026-04-05T22:42:34.723Z",
|
|
10
|
+
"gitCommit": "dff7e85",
|
|
11
11
|
"gitBranch": "main",
|
|
12
12
|
"nodeVersion": "v22.17.0",
|
|
13
13
|
"platform": "darwin",
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { ToolError } from './errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Available debug flags
|
|
4
|
+
*/
|
|
5
|
+
export type DebugFlag = 'internal-vars';
|
|
6
|
+
/**
|
|
7
|
+
* All supported debug flags
|
|
8
|
+
*/
|
|
9
|
+
export declare const ALL_DEBUG_FLAGS: DebugFlag[];
|
|
2
10
|
export interface CLIOptions {
|
|
3
11
|
prologFile: string;
|
|
4
12
|
query: string;
|
|
@@ -6,7 +14,8 @@ export interface CLIOptions {
|
|
|
6
14
|
depth: number;
|
|
7
15
|
verbose: boolean;
|
|
8
16
|
quiet: boolean;
|
|
9
|
-
|
|
17
|
+
debugFlags: Set<DebugFlag>;
|
|
18
|
+
showCallTree: boolean;
|
|
10
19
|
}
|
|
11
20
|
export interface CLIResult {
|
|
12
21
|
type: 'options' | 'help' | 'version' | 'copyright' | 'error';
|
|
@@ -18,13 +27,13 @@ export declare function getHelpText(): string;
|
|
|
18
27
|
export declare function getVersion(): string;
|
|
19
28
|
export declare function getCopyright(): string;
|
|
20
29
|
export declare function getBuildInfo(): {
|
|
21
|
-
readonly version: "2.
|
|
30
|
+
readonly version: "2.6.1";
|
|
22
31
|
readonly name: "prolog-trace-viz";
|
|
23
32
|
readonly description: "Generate enhanced visual trace diagrams for Prolog query execution";
|
|
24
33
|
readonly author: "Johnny Jarecsni <johnny.jarecsni@icloud.com>";
|
|
25
34
|
readonly license: "MIT";
|
|
26
|
-
readonly buildTimestamp: "2026-
|
|
27
|
-
readonly gitCommit: "
|
|
35
|
+
readonly buildTimestamp: "2026-04-05T22:42:34.723Z";
|
|
36
|
+
readonly gitCommit: "dff7e85";
|
|
28
37
|
readonly gitBranch: "main";
|
|
29
38
|
readonly nodeVersion: "v22.17.0";
|
|
30
39
|
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;IACf,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAE,MAAM,aAAa,CAAC;AAGhE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAAsB,CAAC;AAE9D,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,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB;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;AAqCD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAoJnD;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
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { createError, ErrorCode } from './errors.js';
|
|
2
2
|
import { BUILD_INFO, COPYRIGHT_NOTICE } from './build-info.js';
|
|
3
|
+
/**
|
|
4
|
+
* All supported debug flags
|
|
5
|
+
*/
|
|
6
|
+
export const ALL_DEBUG_FLAGS = ['internal-vars'];
|
|
3
7
|
const HELP_TEXT = `
|
|
4
8
|
${BUILD_INFO.name} v${BUILD_INFO.version} - ${BUILD_INFO.description}
|
|
5
9
|
|
|
@@ -13,18 +17,26 @@ ARGUMENTS:
|
|
|
13
17
|
OPTIONS:
|
|
14
18
|
-o, --output <file> Write output to file instead of stdout
|
|
15
19
|
--depth <n> Maximum trace depth (default: 100)
|
|
16
|
-
--
|
|
20
|
+
--tree Include call tree diagram (Mermaid) in output
|
|
21
|
+
--debug Enable all debug features
|
|
22
|
+
--debug:<flag> Enable specific debug flag (e.g., --debug:internal-vars)
|
|
23
|
+
--debug:<f1>,<f2> Enable multiple debug flags (comma-separated)
|
|
17
24
|
--verbose Display detailed processing information
|
|
18
25
|
--quiet Suppress all non-error output except final result
|
|
19
26
|
-h, --help Show this help message
|
|
20
27
|
-v, --version Show version number
|
|
21
28
|
--copyright Show copyright and build information
|
|
22
29
|
|
|
30
|
+
DEBUG FLAGS:
|
|
31
|
+
internal-vars Show Prolog's internal variable names alongside
|
|
32
|
+
clause variable names (e.g., "Z (_2008) = value")
|
|
33
|
+
|
|
23
34
|
EXAMPLES:
|
|
24
35
|
prolog-trace-viz program.pl "append([1,2], [3,4], X)"
|
|
25
36
|
prolog-trace-viz program.pl "member(X, [a,b,c])" -o trace.md
|
|
26
37
|
prolog-trace-viz program.pl "factorial(5, X)" --depth 10 --verbose
|
|
27
|
-
prolog-trace-viz program.pl "t(1+0+1, X)" --
|
|
38
|
+
prolog-trace-viz program.pl "t(1+0+1, X)" --tree
|
|
39
|
+
prolog-trace-viz program.pl "t(1+0+1, X)" --debug:internal-vars
|
|
28
40
|
`.trim();
|
|
29
41
|
export function parseArgs(argv) {
|
|
30
42
|
const args = argv.slice(2); // Skip node and script path
|
|
@@ -44,7 +56,8 @@ export function parseArgs(argv) {
|
|
|
44
56
|
depth: 100,
|
|
45
57
|
verbose: false,
|
|
46
58
|
quiet: false,
|
|
47
|
-
|
|
59
|
+
debugFlags: new Set(),
|
|
60
|
+
showCallTree: false,
|
|
48
61
|
};
|
|
49
62
|
const positionalArgs = [];
|
|
50
63
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -76,8 +89,36 @@ export function parseArgs(argv) {
|
|
|
76
89
|
}
|
|
77
90
|
options.depth = depth;
|
|
78
91
|
}
|
|
79
|
-
else if (arg === '--
|
|
80
|
-
|
|
92
|
+
else if (arg === '--debug') {
|
|
93
|
+
// Enable all debug flags
|
|
94
|
+
for (const flag of ALL_DEBUG_FLAGS) {
|
|
95
|
+
options.debugFlags.add(flag);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else if (arg.startsWith('--debug:')) {
|
|
99
|
+
// Parse specific debug flags
|
|
100
|
+
const flagsPart = arg.slice('--debug:'.length);
|
|
101
|
+
const flagNames = flagsPart.split(',').map(f => f.trim());
|
|
102
|
+
for (const flagName of flagNames) {
|
|
103
|
+
if (flagName === '*' || flagName === 'all') {
|
|
104
|
+
// --debug:* or --debug:all enables all flags
|
|
105
|
+
for (const flag of ALL_DEBUG_FLAGS) {
|
|
106
|
+
options.debugFlags.add(flag);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else if (ALL_DEBUG_FLAGS.includes(flagName)) {
|
|
110
|
+
options.debugFlags.add(flagName);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
return {
|
|
114
|
+
type: 'error',
|
|
115
|
+
error: createError(ErrorCode.INVALID_ARGS, `Unknown debug flag: ${flagName}. Available flags: ${ALL_DEBUG_FLAGS.join(', ')}`),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else if (arg === '--tree') {
|
|
121
|
+
options.showCallTree = true;
|
|
81
122
|
}
|
|
82
123
|
else if (arg === '--verbose') {
|
|
83
124
|
options.verbose = true;
|
|
@@ -127,7 +168,8 @@ export function parseArgs(argv) {
|
|
|
127
168
|
depth: options.depth,
|
|
128
169
|
verbose: options.verbose,
|
|
129
170
|
quiet: options.quiet,
|
|
130
|
-
|
|
171
|
+
debugFlags: options.debugFlags,
|
|
172
|
+
showCallTree: options.showCallTree,
|
|
131
173
|
},
|
|
132
174
|
};
|
|
133
175
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -165,7 +165,8 @@ async function run(options) {
|
|
|
165
165
|
clauses: clauseDefinitions,
|
|
166
166
|
finalAnswer,
|
|
167
167
|
formatterOptions: {
|
|
168
|
-
|
|
168
|
+
debugFlags: options.debugFlags,
|
|
169
|
+
showCallTree: options.showCallTree,
|
|
169
170
|
},
|
|
170
171
|
});
|
|
171
172
|
// Write output - default to source file location if not specified
|
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":"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"}
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { TimelineStep } from './timeline.js';
|
|
5
5
|
import { TreeNode } from './tree.js';
|
|
6
|
+
import { DebugFlag } from './cli.js';
|
|
6
7
|
export interface ClauseDefinition {
|
|
7
8
|
line: number;
|
|
8
9
|
text: string;
|
|
9
10
|
}
|
|
10
11
|
export interface FormatterOptions {
|
|
11
|
-
|
|
12
|
+
debugFlags?: Set<DebugFlag>;
|
|
13
|
+
showCallTree?: boolean;
|
|
12
14
|
}
|
|
13
15
|
export interface MarkdownContext {
|
|
14
16
|
query: string;
|
|
@@ -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,gBAAgB;IAC/B,
|
|
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,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;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,CA6BjE"}
|
|
@@ -20,9 +20,11 @@ export function generateMarkdown(context) {
|
|
|
20
20
|
// Timeline
|
|
21
21
|
sections.push(generateTimelineSection(context));
|
|
22
22
|
sections.push('');
|
|
23
|
-
// Tree
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
// Tree (only if showCallTree is enabled)
|
|
24
|
+
if (context.formatterOptions?.showCallTree) {
|
|
25
|
+
sections.push(generateTreeSection(context));
|
|
26
|
+
sections.push('');
|
|
27
|
+
}
|
|
26
28
|
// Final answer
|
|
27
29
|
sections.push(generateFinalAnswerSection(context));
|
|
28
30
|
return sections.join('\n');
|
|
@@ -79,7 +81,7 @@ function generateTimelineSection(context) {
|
|
|
79
81
|
return lines.join('\n');
|
|
80
82
|
}
|
|
81
83
|
const formatterOptions = {
|
|
82
|
-
|
|
84
|
+
debugFlags: context.formatterOptions?.debugFlags ?? new Set(),
|
|
83
85
|
};
|
|
84
86
|
lines.push(formatTimeline(context.timeline, formatterOptions));
|
|
85
87
|
return lines.join('\n');
|
|
@@ -96,7 +98,7 @@ function generateTreeSection(context) {
|
|
|
96
98
|
return lines.join('\n');
|
|
97
99
|
}
|
|
98
100
|
const formatterOptions = {
|
|
99
|
-
|
|
101
|
+
debugFlags: context.formatterOptions?.debugFlags ?? new Set(),
|
|
100
102
|
};
|
|
101
103
|
lines.push('```mermaid');
|
|
102
104
|
lines.push(formatTreeAsMermaid(context.tree, formatterOptions));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-generator.js","sourceRoot":"","sources":["../src/markdown-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,cAAc,EAA4B,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAwB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-generator.js","sourceRoot":"","sources":["../src/markdown-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders a hierarchical view where child calls are visually nested inside their parents.
|
|
5
5
|
* By default, uses clause variable names (X, Z, X1) instead of internal Prolog names (_2008).
|
|
6
|
+
* With --debug:internal-vars, shows both: "Z (_2008) = value"
|
|
6
7
|
*/
|
|
7
8
|
import { TimelineStep } from './timeline.js';
|
|
9
|
+
import { DebugFlag } from './cli.js';
|
|
8
10
|
export interface TimelineFormatterOptions {
|
|
9
|
-
|
|
11
|
+
debugFlags?: Set<DebugFlag>;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* Format timeline steps into markdown with nested structure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-formatter.d.ts","sourceRoot":"","sources":["../src/timeline-formatter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"timeline-formatter.d.ts","sourceRoot":"","sources":["../src/timeline-formatter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CAC7B;AASD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,GAAE,wBAA6B,GAAG,MAAM,CASpG"}
|
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders a hierarchical view where child calls are visually nested inside their parents.
|
|
5
5
|
* By default, uses clause variable names (X, Z, X1) instead of internal Prolog names (_2008).
|
|
6
|
+
* With --debug:internal-vars, shows both: "Z (_2008) = value"
|
|
6
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* Check if a debug flag is enabled
|
|
10
|
+
*/
|
|
11
|
+
function hasDebugFlag(options, flag) {
|
|
12
|
+
return options.debugFlags?.has(flag) ?? false;
|
|
13
|
+
}
|
|
7
14
|
/**
|
|
8
15
|
* Format timeline steps into markdown with nested structure
|
|
9
16
|
*/
|
|
@@ -24,13 +31,13 @@ export function formatTimeline(steps, options = {}) {
|
|
|
24
31
|
function formatStepNested(step, depth, options) {
|
|
25
32
|
const lines = [];
|
|
26
33
|
const indent = '│ '.repeat(depth);
|
|
27
|
-
const
|
|
34
|
+
const showInternalVars = hasDebugFlag(options, 'internal-vars');
|
|
28
35
|
// Step header with box drawing
|
|
29
36
|
const portLabel = step.port === 'merged' ? '' : step.port.toUpperCase() + ' ';
|
|
30
37
|
// subgoalLabel is like "[1.1]", strip brackets for cleaner display
|
|
31
38
|
const subgoalMarker = step.subgoalLabel ? ` [Goal ${step.subgoalLabel.slice(1, -1)}]` : '';
|
|
32
39
|
// Format goal display - use clause variable name for output arg if available
|
|
33
|
-
const goalDisplay = formatGoalDisplay(step,
|
|
40
|
+
const goalDisplay = formatGoalDisplay(step, showInternalVars);
|
|
34
41
|
// Build goal display: show template → instantiated if we have binding context
|
|
35
42
|
let fullGoalDisplay = `${portLabel}${goalDisplay}`;
|
|
36
43
|
if (step.subgoalTemplate && step.subgoalBindings && step.subgoalBindings.length > 0) {
|
|
@@ -47,7 +54,7 @@ function formatStepNested(step, depth, options) {
|
|
|
47
54
|
switch (step.port) {
|
|
48
55
|
case 'call':
|
|
49
56
|
case 'merged':
|
|
50
|
-
lines.push(...formatMergedContent(step, indent,
|
|
57
|
+
lines.push(...formatMergedContent(step, indent, showInternalVars));
|
|
51
58
|
break;
|
|
52
59
|
case 'redo':
|
|
53
60
|
lines.push(`${indent}│ Backtracking...`);
|
|
@@ -66,8 +73,8 @@ function formatStepNested(step, depth, options) {
|
|
|
66
73
|
// Show result AFTER children (this is the key insight!)
|
|
67
74
|
if (step.port === 'merged' && step.result) {
|
|
68
75
|
// Get the output variable name from clause if available, otherwise extract from goal
|
|
69
|
-
const
|
|
70
|
-
lines.push(`${indent}│ => ${
|
|
76
|
+
const resultDisplay = formatResultDisplay(step, showInternalVars);
|
|
77
|
+
lines.push(`${indent}│ => ${resultDisplay}`);
|
|
71
78
|
// Show query variable state only on root-level steps (depth 0)
|
|
72
79
|
// This prevents showing "A = ?" on intermediate steps
|
|
73
80
|
if (depth === 0 && step.queryVarState) {
|
|
@@ -79,15 +86,20 @@ function formatStepNested(step, depth, options) {
|
|
|
79
86
|
}
|
|
80
87
|
/**
|
|
81
88
|
* Format the goal display, replacing internal variable names with clause variable names
|
|
89
|
+
* When showInternalVars is true, shows both: "t(1+0+1, Z (_2008))"
|
|
90
|
+
*
|
|
91
|
+
* Priority for variable names:
|
|
92
|
+
* 1. subgoalTemplate (caller's variable name) - preferred for child steps
|
|
93
|
+
* 2. clause head (matched clause's variable name) - fallback
|
|
82
94
|
*/
|
|
83
|
-
function formatGoalDisplay(step,
|
|
84
|
-
if (showInternal) {
|
|
85
|
-
return step.goal;
|
|
86
|
-
}
|
|
95
|
+
function formatGoalDisplay(step, showInternalVars) {
|
|
87
96
|
// If we have clause info, try to use clause variable name for the output argument
|
|
88
97
|
if (step.clause) {
|
|
89
98
|
const goalMatch = step.goal.match(/^([^(]+)\((.+)\)$/);
|
|
90
99
|
const headMatch = step.clause.head.match(/^([^(]+)\((.+)\)$/);
|
|
100
|
+
// Also parse subgoalTemplate if available (caller's variable names)
|
|
101
|
+
const templateMatch = step.subgoalTemplate?.match(/^([^(]+)\((.+)\)$/);
|
|
102
|
+
const templateArgs = templateMatch ? splitArgs(templateMatch[2]) : null;
|
|
91
103
|
if (goalMatch && headMatch) {
|
|
92
104
|
const predicate = goalMatch[1];
|
|
93
105
|
const goalArgs = splitArgs(goalMatch[2]);
|
|
@@ -96,8 +108,16 @@ function formatGoalDisplay(step, showInternal) {
|
|
|
96
108
|
const displayArgs = goalArgs.map((arg, i) => {
|
|
97
109
|
// If this is an internal variable (starts with _) and we have a clause arg
|
|
98
110
|
if (isInternalVariable(arg) && i < headArgs.length) {
|
|
99
|
-
//
|
|
100
|
-
|
|
111
|
+
// Prefer subgoalTemplate variable (caller's name) over clause head variable
|
|
112
|
+
const displayVar = (templateArgs && i < templateArgs.length)
|
|
113
|
+
? templateArgs[i]
|
|
114
|
+
: headArgs[i];
|
|
115
|
+
if (showInternalVars) {
|
|
116
|
+
// Additive: show both display var and internal var
|
|
117
|
+
return `${displayVar} (${arg})`;
|
|
118
|
+
}
|
|
119
|
+
// Clean: just show display var
|
|
120
|
+
return displayVar;
|
|
101
121
|
}
|
|
102
122
|
return arg;
|
|
103
123
|
});
|
|
@@ -107,30 +127,51 @@ function formatGoalDisplay(step, showInternal) {
|
|
|
107
127
|
return step.goal;
|
|
108
128
|
}
|
|
109
129
|
/**
|
|
110
|
-
*
|
|
130
|
+
* Format the result display line
|
|
131
|
+
* When showInternalVars is true, shows both: "Z (_2008) = value"
|
|
132
|
+
*
|
|
133
|
+
* Priority for variable names:
|
|
134
|
+
* 1. subgoalTemplate (caller's variable name) - preferred for child steps
|
|
135
|
+
* 2. clause head (matched clause's variable name) - fallback
|
|
111
136
|
*/
|
|
112
|
-
function
|
|
113
|
-
|
|
114
|
-
const goalMatch = step.goal.match(/^[^(]+\((.+)\)$/);
|
|
115
|
-
if (!goalMatch)
|
|
137
|
+
function formatResultDisplay(step, showInternalVars) {
|
|
138
|
+
if (!step.result)
|
|
116
139
|
return '?';
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
140
|
+
// Extract the last argument from the goal (typically the output - internal var)
|
|
141
|
+
const goalMatch = step.goal.match(/^[^(]+\((.+)\)$/);
|
|
142
|
+
const internalVar = goalMatch ? splitArgs(goalMatch[1]).pop() : null;
|
|
143
|
+
// Get the display variable name - prefer subgoalTemplate over clause head
|
|
144
|
+
let displayVar = null;
|
|
145
|
+
// First try subgoalTemplate (caller's variable name)
|
|
146
|
+
if (step.subgoalTemplate) {
|
|
147
|
+
const templateMatch = step.subgoalTemplate.match(/^[^(]+\((.+)\)$/);
|
|
148
|
+
if (templateMatch) {
|
|
149
|
+
const templateArgs = splitArgs(templateMatch[1]);
|
|
150
|
+
if (templateArgs.length > 0) {
|
|
151
|
+
displayVar = templateArgs[templateArgs.length - 1];
|
|
152
|
+
}
|
|
153
|
+
}
|
|
121
154
|
}
|
|
122
|
-
//
|
|
123
|
-
if (step.clause) {
|
|
155
|
+
// Fallback to clause head variable name
|
|
156
|
+
if (!displayVar && step.clause) {
|
|
124
157
|
const headMatch = step.clause.head.match(/^[^(]+\((.+)\)$/);
|
|
125
158
|
if (headMatch) {
|
|
126
159
|
const headArgs = splitArgs(headMatch[1]);
|
|
127
160
|
if (headArgs.length > 0) {
|
|
128
|
-
|
|
129
|
-
return headArgs[headArgs.length - 1];
|
|
161
|
+
displayVar = headArgs[headArgs.length - 1];
|
|
130
162
|
}
|
|
131
163
|
}
|
|
132
164
|
}
|
|
133
|
-
|
|
165
|
+
if (displayVar) {
|
|
166
|
+
if (showInternalVars && internalVar && isInternalVariable(internalVar)) {
|
|
167
|
+
// Additive: show both
|
|
168
|
+
return `${displayVar} (${internalVar}) = ${step.result}`;
|
|
169
|
+
}
|
|
170
|
+
// Clean: just display var
|
|
171
|
+
return `${displayVar} = ${step.result}`;
|
|
172
|
+
}
|
|
173
|
+
// Fallback to internal var or ?
|
|
174
|
+
return `${internalVar || '?'} = ${step.result}`;
|
|
134
175
|
}
|
|
135
176
|
/**
|
|
136
177
|
* Check if a term is an internal Prolog variable (starts with _)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-formatter.js","sourceRoot":"","sources":["../src/timeline-formatter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"timeline-formatter.js","sourceRoot":"","sources":["../src/timeline-formatter.ts"],"names":[],"mappings":"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"}
|
package/dist/tree-formatter.d.ts
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* Tree Formatter - Generates Mermaid diagram from tree structure
|
|
3
3
|
*
|
|
4
4
|
* By default, uses clause variable names instead of internal Prolog names.
|
|
5
|
+
* With --debug:internal-vars, shows both: "Z (_2008) = value"
|
|
5
6
|
*/
|
|
6
7
|
import { TreeNode } from './tree.js';
|
|
8
|
+
import { DebugFlag } from './cli.js';
|
|
7
9
|
export interface TreeFormatterOptions {
|
|
8
|
-
|
|
10
|
+
debugFlags?: Set<DebugFlag>;
|
|
9
11
|
}
|
|
10
12
|
/**
|
|
11
13
|
* Format tree as Mermaid diagram
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-formatter.d.ts","sourceRoot":"","sources":["../src/tree-formatter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tree-formatter.d.ts","sourceRoot":"","sources":["../src/tree-formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CAC7B;AASD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,GAAE,oBAAyB,GAAG,MAAM,CA+BrG;AAoLD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAe1D"}
|
package/dist/tree-formatter.js
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
* Tree Formatter - Generates Mermaid diagram from tree structure
|
|
3
3
|
*
|
|
4
4
|
* By default, uses clause variable names instead of internal Prolog names.
|
|
5
|
+
* With --debug:internal-vars, shows both: "Z (_2008) = value"
|
|
5
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Check if a debug flag is enabled
|
|
9
|
+
*/
|
|
10
|
+
function hasDebugFlag(options, flag) {
|
|
11
|
+
return options.debugFlags?.has(flag) ?? false;
|
|
12
|
+
}
|
|
6
13
|
/**
|
|
7
14
|
* Format tree as Mermaid diagram
|
|
8
15
|
*/
|
|
@@ -61,7 +68,7 @@ function collectNodesAndEdges(node, nodes, edges, styles, isRoot = true, options
|
|
|
61
68
|
*/
|
|
62
69
|
function formatNodeLabel(node, options = {}) {
|
|
63
70
|
const parts = [];
|
|
64
|
-
const
|
|
71
|
+
const showInternalVars = hasDebugFlag(options, 'internal-vars');
|
|
65
72
|
// Use source clause head if available, otherwise use goal
|
|
66
73
|
const displayGoal = node.clauseHead || node.goal;
|
|
67
74
|
// Add call step with circled number
|
|
@@ -72,19 +79,18 @@ function formatNodeLabel(node, options = {}) {
|
|
|
72
79
|
}
|
|
73
80
|
// Add final binding if available
|
|
74
81
|
if (node.finalBinding) {
|
|
75
|
-
// Format the binding - use clause variable name
|
|
76
|
-
const bindingDisplay =
|
|
77
|
-
? node.finalBinding
|
|
78
|
-
: formatBindingWithClauseVar(node.finalBinding, node.clauseHead);
|
|
82
|
+
// Format the binding - use clause variable name, optionally with internal var
|
|
83
|
+
const bindingDisplay = formatBindingWithClauseVar(node.finalBinding, node.clauseHead, showInternalVars);
|
|
79
84
|
parts.push(`Result: ${bindingDisplay}`);
|
|
80
85
|
}
|
|
81
86
|
return `"${parts.join('<br/>')}"`;
|
|
82
87
|
}
|
|
83
88
|
/**
|
|
84
89
|
* Format a binding using clause variable name instead of internal name
|
|
85
|
-
*
|
|
90
|
+
* When showInternalVars is true, shows both: "Z (_2008)=value"
|
|
91
|
+
* e.g., "_2008=1+1+1+1+0" with clauseHead "t(X+1+1, Z)" -> "Z=1+1+1+1+0" or "Z (_2008)=1+1+1+1+0"
|
|
86
92
|
*/
|
|
87
|
-
function formatBindingWithClauseVar(binding, clauseHead) {
|
|
93
|
+
function formatBindingWithClauseVar(binding, clauseHead, showInternalVars = false) {
|
|
88
94
|
if (!clauseHead)
|
|
89
95
|
return binding;
|
|
90
96
|
// Parse binding: "_2008=1+1+1+1+0" -> ["_2008", "1+1+1+1+0"]
|
|
@@ -101,12 +107,13 @@ function formatBindingWithClauseVar(binding, clauseHead) {
|
|
|
101
107
|
const args = splitArgsSimple(headMatch[1]);
|
|
102
108
|
if (args.length > 0) {
|
|
103
109
|
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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
// Check if it's a simple variable or pattern
|
|
111
|
+
if (/^[A-Z][A-Za-z0-9_]*$/.test(lastArg) || lastArg.includes('+') || lastArg.includes('[')) {
|
|
112
|
+
if (showInternalVars) {
|
|
113
|
+
// Additive: show both clause var and internal var
|
|
114
|
+
return `${lastArg} (${varPart})=${valuePart}`;
|
|
115
|
+
}
|
|
116
|
+
// Clean: just clause var
|
|
110
117
|
return `${lastArg}=${valuePart}`;
|
|
111
118
|
}
|
|
112
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-formatter.js","sourceRoot":"","sources":["../src/tree-formatter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tree-formatter.js","sourceRoot":"","sources":["../src/tree-formatter.ts"],"names":[],"mappings":"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"}
|
package/dist/wrapper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../src/wrapper.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAgC7D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../src/wrapper.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAgC7D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAMzF;AACD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiBhF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA2BlE"}
|
package/dist/wrapper.js
CHANGED
|
@@ -45,13 +45,17 @@ export function generateWrapper(config) {
|
|
|
45
45
|
* but we need to map them back to the original source file line numbers.
|
|
46
46
|
*/
|
|
47
47
|
export function calculateLineOffset(prologContent) {
|
|
48
|
-
// The wrapper
|
|
48
|
+
// The wrapper adds 4 lines before the user content:
|
|
49
49
|
// Line 1: % Load custom tracer
|
|
50
50
|
// Line 2: :- ['tracerPath'].
|
|
51
51
|
// Line 3: (empty)
|
|
52
52
|
// Line 4: % User's Prolog code (no instrumentation)
|
|
53
53
|
// Line 5+: User content starts here
|
|
54
|
-
|
|
54
|
+
// generateWrapper() calls prologContent.trim(), which strips leading blank lines.
|
|
55
|
+
// We must account for those stripped lines so wrapper line numbers map back correctly.
|
|
56
|
+
const leadingWhitespace = prologContent.slice(0, prologContent.length - prologContent.trimStart().length);
|
|
57
|
+
const strippedLeadingLines = (leadingWhitespace.match(/\n/g) || []).length;
|
|
58
|
+
return 4 - strippedLeadingLines;
|
|
55
59
|
}
|
|
56
60
|
/**
|
|
57
61
|
* Maps a line number from the wrapper file back to the original source file.
|
package/dist/wrapper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../src/wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAc9B;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAqB;IACnD,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC3D,MAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,kCAAkC;IAEjE,MAAM,KAAK,GAAa;QACtB,sBAAsB;QACtB,QAAQ,UAAU,KAAK;QACvB,EAAE;QACF,2CAA2C;KAC5C,CAAC;IAEF,0CAA0C;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;IAErE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IACxF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,
|
|
1
|
+
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../src/wrapper.ts"],"names":[],"mappings":"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"}
|