deepclause-sdk 0.1.1 → 0.1.3

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.
Files changed (122) hide show
  1. package/dist/agent.d.ts +12 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +116 -9
  4. package/dist/agent.js.map +1 -1
  5. package/dist/cli/config.d.ts +24 -24
  6. package/dist/cli/repl.d.ts +21 -4
  7. package/dist/cli/repl.d.ts.map +1 -1
  8. package/dist/cli/repl.js +293 -44
  9. package/dist/cli/repl.js.map +1 -1
  10. package/dist/cli/run.d.ts.map +1 -1
  11. package/dist/cli/run.js +10 -0
  12. package/dist/cli/run.js.map +1 -1
  13. package/dist/prolog/loader.d.ts +32 -0
  14. package/dist/prolog/loader.d.ts.map +1 -1
  15. package/dist/prolog/loader.js +87 -0
  16. package/dist/prolog/loader.js.map +1 -1
  17. package/dist/prolog-src/deepclause_mi.pl +1028 -118
  18. package/dist/repl/agent.d.ts +15 -1
  19. package/dist/repl/agent.d.ts.map +1 -1
  20. package/dist/repl/agent.js +44 -5
  21. package/dist/repl/agent.js.map +1 -1
  22. package/dist/repl/backend.d.ts.map +1 -1
  23. package/dist/repl/backend.js +18 -5
  24. package/dist/repl/backend.js.map +1 -1
  25. package/dist/repl/harness-tools.d.ts +24 -2
  26. package/dist/repl/harness-tools.d.ts.map +1 -1
  27. package/dist/repl/harness-tools.js +14 -5
  28. package/dist/repl/harness-tools.js.map +1 -1
  29. package/dist/repl/index.d.ts +8 -0
  30. package/dist/repl/index.d.ts.map +1 -1
  31. package/dist/repl/index.js +1 -0
  32. package/dist/repl/index.js.map +1 -1
  33. package/dist/repl/render.d.ts +60 -3
  34. package/dist/repl/render.d.ts.map +1 -1
  35. package/dist/repl/render.js +114 -28
  36. package/dist/repl/render.js.map +1 -1
  37. package/dist/repl/session.d.ts +61 -4
  38. package/dist/repl/session.d.ts.map +1 -1
  39. package/dist/repl/session.js +174 -9
  40. package/dist/repl/session.js.map +1 -1
  41. package/dist/repl/status.d.ts +3 -1
  42. package/dist/repl/status.d.ts.map +1 -1
  43. package/dist/repl/status.js +4 -0
  44. package/dist/repl/status.js.map +1 -1
  45. package/dist/repl/tool-arguments.d.ts +36 -0
  46. package/dist/repl/tool-arguments.d.ts.map +1 -0
  47. package/dist/repl/tool-arguments.js +123 -0
  48. package/dist/repl/tool-arguments.js.map +1 -0
  49. package/dist/repl/toolset.d.ts +28 -1
  50. package/dist/repl/toolset.d.ts.map +1 -1
  51. package/dist/repl/toolset.js +52 -4
  52. package/dist/repl/toolset.js.map +1 -1
  53. package/dist/repl/tui/autocomplete.d.ts +19 -0
  54. package/dist/repl/tui/autocomplete.d.ts.map +1 -0
  55. package/dist/repl/tui/autocomplete.js +41 -0
  56. package/dist/repl/tui/autocomplete.js.map +1 -0
  57. package/dist/repl/tui/document.d.ts +51 -0
  58. package/dist/repl/tui/document.d.ts.map +1 -0
  59. package/dist/repl/tui/document.js +160 -0
  60. package/dist/repl/tui/document.js.map +1 -0
  61. package/dist/repl/tui/picker.d.ts +31 -0
  62. package/dist/repl/tui/picker.d.ts.map +1 -0
  63. package/dist/repl/tui/picker.js +43 -0
  64. package/dist/repl/tui/picker.js.map +1 -0
  65. package/dist/repl/tui/renderer.d.ts +98 -0
  66. package/dist/repl/tui/renderer.d.ts.map +1 -0
  67. package/dist/repl/tui/renderer.js +284 -0
  68. package/dist/repl/tui/renderer.js.map +1 -0
  69. package/dist/repl/tui/status-bar.d.ts +4 -2
  70. package/dist/repl/tui/status-bar.d.ts.map +1 -1
  71. package/dist/repl/tui/status-bar.js +80 -24
  72. package/dist/repl/tui/status-bar.js.map +1 -1
  73. package/dist/repl/tui/terminal.d.ts +28 -0
  74. package/dist/repl/tui/terminal.d.ts.map +1 -0
  75. package/dist/repl/tui/terminal.js +94 -0
  76. package/dist/repl/tui/terminal.js.map +1 -0
  77. package/dist/repl/tui/theme.d.ts +60 -0
  78. package/dist/repl/tui/theme.d.ts.map +1 -1
  79. package/dist/repl/tui/theme.js +142 -0
  80. package/dist/repl/tui/theme.js.map +1 -1
  81. package/dist/repl/tui/tool-pane.d.ts +68 -0
  82. package/dist/repl/tui/tool-pane.d.ts.map +1 -0
  83. package/dist/repl/tui/tool-pane.js +257 -0
  84. package/dist/repl/tui/tool-pane.js.map +1 -0
  85. package/dist/repl/tui/working-line.d.ts +23 -0
  86. package/dist/repl/tui/working-line.d.ts.map +1 -0
  87. package/dist/repl/tui/working-line.js +58 -0
  88. package/dist/repl/tui/working-line.js.map +1 -0
  89. package/dist/runner.d.ts +31 -0
  90. package/dist/runner.d.ts.map +1 -1
  91. package/dist/runner.js +192 -17
  92. package/dist/runner.js.map +1 -1
  93. package/dist/system/assets/docs/AGENT_PROMPT.md +925 -43
  94. package/dist/system/assets/docs/DML_AUTHORING.md +96 -17
  95. package/dist/system/assets/docs/DML_REFERENCE.md +620 -39
  96. package/dist/system/assets/docs/PROLOG_SNIPPETS.md +45 -1
  97. package/dist/system/assets/docs/TASK_PROMPT.md +2 -0
  98. package/dist/system/environment.d.ts +36 -0
  99. package/dist/system/environment.d.ts.map +1 -0
  100. package/dist/system/environment.js +81 -0
  101. package/dist/system/environment.js.map +1 -0
  102. package/dist/system/runtime/shell-manager.d.ts +40 -2
  103. package/dist/system/runtime/shell-manager.d.ts.map +1 -1
  104. package/dist/system/runtime/shell-manager.js +82 -16
  105. package/dist/system/runtime/shell-manager.js.map +1 -1
  106. package/dist/system/runtime/shell-tool-events.js +25 -1
  107. package/dist/system/runtime/shell-tool-events.js.map +1 -1
  108. package/dist/types.d.ts +27 -1
  109. package/dist/types.d.ts.map +1 -1
  110. package/package.json +4 -2
  111. package/src/prolog-src/deepclause_mi.pl +1028 -118
  112. package/dist/compaction.d.ts +0 -98
  113. package/dist/compaction.d.ts.map +0 -1
  114. package/dist/compaction.js +0 -471
  115. package/dist/compaction.js.map +0 -1
  116. package/dist/repl/tools.d.ts +0 -53
  117. package/dist/repl/tools.d.ts.map +0 -1
  118. package/dist/repl/tools.js +0 -307
  119. package/dist/repl/tools.js.map +0 -1
  120. package/dist/system/assets/compactors/default-loop-compactor.dml +0 -43
  121. package/dist/system/assets/compactors/default-session-compactor.dml +0 -30
  122. package/dist/system/assets/docs/META_PROMPT.md +0 -68
@@ -89,6 +89,7 @@ export async function createHarnessRepl(options) {
89
89
  maxDepth: options.maxDepth,
90
90
  maxModelCalls: options.maxModelCalls,
91
91
  hostToolsCatalog: options.hostToolsCatalog,
92
+ executionBackend: options.executionBackend,
92
93
  askUser: options.askUser,
93
94
  history: options.history,
94
95
  harnessName: options.harness,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repl/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repl/index.ts"],"names":[],"mappings":"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"}
@@ -42,13 +42,55 @@ export interface ReplRendererOptions {
42
42
  export declare function formatDuration(ms: number): string;
43
43
  /** Format solution bindings as `Name = value` lines (or `true`). */
44
44
  export declare function formatBindings(bindings: DMLBinding[]): string;
45
- export declare class ReplRenderer {
45
+ /**
46
+ * The indentation a frame's output gets, so nesting reads as a tree.
47
+ *
48
+ * One rule, shared by the line renderer and the TUI's components: a nested frame
49
+ * (an `execute` child) hangs off its parent tool call with a `│` and no label;
50
+ * other frames carry their kind. Components used to ignore this and render
51
+ * flush-left, which flattened the tree — the same output looked nested in the
52
+ * readline path and flat in the TUI.
53
+ */
54
+ export declare function framePrefix(event: DMLEvent, showEvents?: boolean): string;
55
+ /**
56
+ * What the CLI needs from a renderer.
57
+ *
58
+ * `ReplRenderer` (string output, used by `--plain`, `--json` and the readline
59
+ * path) and the TUI's component renderer both satisfy this, so the dispatch code
60
+ * does not care which one is drawing.
61
+ */
62
+ export interface ReplEventRenderer {
63
+ readonly mode: RenderMode;
64
+ render(event: DMLEvent): void;
65
+ setSink(sink: (text: string) => void, errorSink?: (text: string) => void): void;
66
+ setImageSink(sink?: (lines: string[]) => void): void;
67
+ setSuppressInputPrompt(suppress: boolean): void;
68
+ getWidth(): number;
69
+ setWidth(width: number): void;
70
+ writeLine(text?: string): void;
71
+ writeErrorLine(text: string): void;
72
+ listing(text: string): string;
73
+ image(lines: string[]): void;
74
+ /** Change the reasoning display mode at runtime (TUI picker). */
75
+ setReasoningMode?(mode: 'off' | 'summary' | 'full'): void;
76
+ /** The current reasoning display mode, when the renderer tracks one. */
77
+ getReasoningMode?(): 'off' | 'summary' | 'full';
78
+ /**
79
+ * Close any open streamed-text block. The TUI implements this so a new turn's
80
+ * text cannot be appended to the previous turn's and render above the prompt.
81
+ */
82
+ endTextBlock?(): void;
83
+ solution(bindings: DMLBinding[], terminator?: string, prefix?: string, maxValue?: number): void;
84
+ flush(): void;
85
+ dispose(): void;
86
+ }
87
+ export declare class ReplRenderer implements ReplEventRenderer {
46
88
  readonly mode: RenderMode;
47
89
  private readonly color;
48
90
  private readonly verbose;
49
91
  private readonly showStream;
50
92
  private readonly showEvents;
51
- private readonly reasoningMode;
93
+ private reasoningMode;
52
94
  private readonly markdownEnabled;
53
95
  private readonly markdown;
54
96
  private pendingTextEvent?;
@@ -92,6 +134,14 @@ export declare class ReplRenderer {
92
134
  * Suppress `input_required` prompt lines. The TUI editor shows the question in
93
135
  * its border, so a transcript line would be a duplicate.
94
136
  */
137
+ /**
138
+ * Change how much model reasoning is shown, while the session is running.
139
+ *
140
+ * The setting is a rendering choice, so it applies to the next reasoning chunk
141
+ * rather than to a new session — which is what a picker in the TUI should do.
142
+ */
143
+ setReasoningMode(mode: 'off' | 'summary' | 'full'): void;
144
+ getReasoningMode(): 'off' | 'summary' | 'full';
95
145
  setSuppressInputPrompt(suppress: boolean): void;
96
146
  /** Stop the live indicator (call before the renderer goes out of scope). */
97
147
  dispose(): void;
@@ -134,7 +184,14 @@ export declare class ReplRenderer {
134
184
  private renderTaskActivity;
135
185
  private describeTask;
136
186
  private renderToolCall;
137
- /** Up to TOOL_OUTPUT_LINES captured output lines, as tinted panel lines. */
187
+ /**
188
+ * A summary line for the captured output, plus a few of its lines.
189
+ *
190
+ * Which lines depends on where the useful end is: stdout is shown from the
191
+ * *head* (for structured output the head carries the shape — `{`, a first
192
+ * record — while the tail is arbitrary fragments), and stderr from the *tail*,
193
+ * where the diagnostic normally is. Full output is `--verbose`.
194
+ */
138
195
  private toolOutputLines;
139
196
  /** Show/hide the live model-call indicator. */
140
197
  private renderModelCall;
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/repl/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/repl/render.ts"],"names":[],"mappings":"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"}
@@ -58,14 +58,27 @@ function boundOutput(text, max = OUTPUT_LINES) {
58
58
  ...lines.slice(lines.length - tail),
59
59
  ];
60
60
  }
61
- /** Pull a few output lines from a tool result (bash stdout/stderr). */
62
- function extractToolOutput(result) {
61
+ /** Captured output of a tool result (bash stdout, else stderr). */
62
+ function toolResultText(result) {
63
63
  if (!result || typeof result !== 'object')
64
- return [];
64
+ return '';
65
65
  const r = result;
66
- const text = typeof r.stdout === 'string' && r.stdout.trim()
67
- ? r.stdout
68
- : (typeof r.stderr === 'string' ? r.stderr : '');
66
+ const stdout = typeof r.stdout === 'string' ? r.stdout : '';
67
+ const stderr = typeof r.stderr === 'string' ? r.stderr : '';
68
+ return stdout.trim() ? stdout : stderr;
69
+ }
70
+ /** True when the result has no usable stdout, so the text shown is stderr. */
71
+ function isStderrOnly(result) {
72
+ if (!result || typeof result !== 'object')
73
+ return false;
74
+ const r = result;
75
+ const stdout = typeof r.stdout === 'string' ? r.stdout : '';
76
+ const stderr = typeof r.stderr === 'string' ? r.stderr : '';
77
+ return !stdout.trim() && Boolean(stderr.trim());
78
+ }
79
+ /** The lines of a tool result, normalised for display. */
80
+ function extractToolOutput(result) {
81
+ const text = toolResultText(result);
69
82
  if (!text.trim())
70
83
  return [];
71
84
  return text
@@ -74,6 +87,31 @@ function extractToolOutput(result) {
74
87
  .map((line) => line.replace(/\t/g, ' ').trimEnd())
75
88
  .filter((line) => line.trim() !== '');
76
89
  }
90
+ /**
91
+ * A one-line description of captured output: how much there is, and whether it
92
+ * looks like structured data. Prefer this over dumping raw lines, whose only
93
+ * readable part would be an arbitrary tail of a JSON payload.
94
+ */
95
+ function describeToolOutput(result) {
96
+ const text = toolResultText(result);
97
+ if (!text.trim())
98
+ return undefined;
99
+ const lines = extractToolOutput(result);
100
+ const bytes = Buffer.byteLength(text, 'utf8');
101
+ const head = text.trimStart();
102
+ const shape = head.startsWith('{') || head.startsWith('[')
103
+ ? 'JSON'
104
+ : /^<[!a-zA-Z]/.test(head)
105
+ ? 'HTML'
106
+ : undefined;
107
+ const parts = [
108
+ `${lines.length} line${lines.length === 1 ? '' : 's'}`,
109
+ bytes < 1024 ? `${bytes} B` : `${(bytes / 1024).toFixed(1)} kB`,
110
+ ];
111
+ if (shape)
112
+ parts.push(shape);
113
+ return parts.join(' · ');
114
+ }
77
115
  /** Word-wrap a single line to `width`, hard-breaking tokens that are longer. */
78
116
  function wrapLine(text, width) {
79
117
  if (width <= 0 || text.length <= width) {
@@ -173,6 +211,26 @@ export function formatBindings(bindings) {
173
211
  }
174
212
  /** Max characters of reasoning shown in `summary` mode. */
175
213
  const REASONING_SUMMARY_CHARS = 600;
214
+ /**
215
+ * The indentation a frame's output gets, so nesting reads as a tree.
216
+ *
217
+ * One rule, shared by the line renderer and the TUI's components: a nested frame
218
+ * (an `execute` child) hangs off its parent tool call with a `│` and no label;
219
+ * other frames carry their kind. Components used to ignore this and render
220
+ * flush-left, which flattened the tree — the same output looked nested in the
221
+ * readline path and flat in the TUI.
222
+ */
223
+ export function framePrefix(event, showEvents = true) {
224
+ // `--no-events` also drops the frame label, so output/answer lines are plain.
225
+ if (!showEvents || !event.frameKind)
226
+ return '';
227
+ const depth = event.depth ?? 0;
228
+ if (event.frameKind === 'nested') {
229
+ return `${' '.repeat(depth + 1)}│ `;
230
+ }
231
+ const label = event.frameKind === 'object' ? 'run' : event.frameKind;
232
+ return `${' '.repeat(depth)}${label} │ `;
233
+ }
176
234
  export class ReplRenderer {
177
235
  mode;
178
236
  color;
@@ -250,6 +308,18 @@ export class ReplRenderer {
250
308
  * Suppress `input_required` prompt lines. The TUI editor shows the question in
251
309
  * its border, so a transcript line would be a duplicate.
252
310
  */
311
+ /**
312
+ * Change how much model reasoning is shown, while the session is running.
313
+ *
314
+ * The setting is a rendering choice, so it applies to the next reasoning chunk
315
+ * rather than to a new session — which is what a picker in the TUI should do.
316
+ */
317
+ setReasoningMode(mode) {
318
+ this.reasoningMode = mode;
319
+ }
320
+ getReasoningMode() {
321
+ return this.reasoningMode;
322
+ }
253
323
  setSuppressInputPrompt(suppress) {
254
324
  this.suppressInputPrompt = suppress;
255
325
  }
@@ -467,11 +537,20 @@ export class ReplRenderer {
467
537
  }
468
538
  }
469
539
  break;
470
- case 'log':
471
- if (this.verbose) {
472
- this.writeLine(this.paint(`${prefix}[log] ${event.content ?? ''}`, ANSI.dim));
540
+ case 'log': {
541
+ // `log` is the low-level channel and stays behind `--verbose`, with one
542
+ // exception: a warning or an error from Prolog itself is a real problem
543
+ // in the code being written, not noise. Showing it by default is the
544
+ // whole point of capturing it — it used to go straight to the terminal.
545
+ const severity = event.level ?? 'info';
546
+ const loud = severity === 'warning' || severity === 'error';
547
+ if (this.verbose || loud) {
548
+ const label = severity === 'info' ? '[log]' : `[${severity}]`;
549
+ const colour = severity === 'error' ? ANSI.red : loud ? ANSI.cyan : ANSI.dim;
550
+ this.writeLine(this.paint(`${prefix}${label} ${event.content ?? ''}`, colour));
473
551
  }
474
552
  break;
553
+ }
475
554
  case 'task_activity':
476
555
  this.renderTaskActivity(event, prefix);
477
556
  break;
@@ -528,10 +607,13 @@ export class ReplRenderer {
528
607
  const args = detail === undefined ? formatArgs(event.toolArgs) : '';
529
608
  if (state === 'completed') {
530
609
  const duration = typeof event.toolDurationMs === 'number' ? ` · ${formatDuration(event.toolDurationMs)}` : '';
610
+ const exit = typeof event.toolExitCode === 'number' && event.toolExitCode !== 0 ? ` · exit ${event.toolExitCode}` : '';
531
611
  const summary = event.toolSummary ? ` — ${truncate(event.toolSummary, 80)}` : '';
532
612
  this.lastToolDetail = undefined;
533
- this.writeLine(this.toolPanel(`${prefix} ✔ ${name}${args}${duration}${summary}`, tone));
534
- // A short tail of the captured output (bash). Full output is --verbose.
613
+ this.writeLine(this.toolPanel(`${prefix} ✔ ${name}${args}${duration}${exit}${summary}`, tone));
614
+ // The output size, not a raw tail: the last few lines of a JSON payload are
615
+ // never the useful part. `--verbose` prints the full output, and a DML
616
+ // `execute` result already shows what the goal bound.
535
617
  if (!this.verbose) {
536
618
  for (const line of this.toolOutputLines(prefix, tone, event.toolResult)) {
537
619
  this.writeLine(line);
@@ -568,7 +650,14 @@ export class ReplRenderer {
568
650
  this.writeLine(this.toolPanel(`${prefix} ⚙ ${name}${args}`, tone));
569
651
  this.ensureToolSpinner(prefix, `${name}${pidSuffix} running…`);
570
652
  }
571
- /** Up to TOOL_OUTPUT_LINES captured output lines, as tinted panel lines. */
653
+ /**
654
+ * A summary line for the captured output, plus a few of its lines.
655
+ *
656
+ * Which lines depends on where the useful end is: stdout is shown from the
657
+ * *head* (for structured output the head carries the shape — `{`, a first
658
+ * record — while the tail is arbitrary fragments), and stderr from the *tail*,
659
+ * where the diagnostic normally is. Full output is `--verbose`.
660
+ */
572
661
  toolOutputLines(prefix, tone, result) {
573
662
  const lines = extractToolOutput(result);
574
663
  if (lines.length === 0) {
@@ -576,15 +665,23 @@ export class ReplRenderer {
576
665
  }
577
666
  const indent = ' ';
578
667
  const avail = Math.max(20, this.width - stripAnsi(prefix).length - indent.length);
579
- const shown = lines.slice(-TOOL_OUTPUT_LINES);
580
- const omitted = lines.length - shown.length;
581
668
  const out = [];
582
- if (omitted > 0) {
583
- out.push(this.toolPanel(`${prefix}${indent}… (+${omitted} more line${omitted === 1 ? '' : 's'})`, tone));
669
+ const description = describeToolOutput(result);
670
+ if (description && lines.length > TOOL_OUTPUT_LINES) {
671
+ out.push(this.toolPanel(`${prefix}${indent}${description} — --verbose for all`, tone));
672
+ }
673
+ const fromTail = !toolResultText(result).trim().startsWith('{') && isStderrOnly(result);
674
+ const shown = fromTail ? lines.slice(-TOOL_OUTPUT_LINES) : lines.slice(0, TOOL_OUTPUT_LINES);
675
+ const omitted = lines.length - shown.length;
676
+ if (fromTail && omitted > 0) {
677
+ out.push(this.toolPanel(`${prefix}${indent}… (+${omitted} earlier line${omitted === 1 ? '' : 's'})`, tone));
584
678
  }
585
679
  for (const line of shown) {
586
680
  out.push(this.toolPanel(`${prefix}${indent}${line.length > avail ? `${line.slice(0, avail - 1)}…` : line}`, tone));
587
681
  }
682
+ if (!fromTail && omitted > 0) {
683
+ out.push(this.toolPanel(`${prefix}${indent}… (+${omitted} more line${omitted === 1 ? '' : 's'})`, tone));
684
+ }
588
685
  return out;
589
686
  }
590
687
  /** Show/hide the live model-call indicator. */
@@ -761,18 +858,7 @@ export class ReplRenderer {
761
858
  }
762
859
  /** `run │ ` for an object frame; nested (`execute` child) events use indentation + `│`. */
763
860
  frameLabel(event) {
764
- // `--no-events` also drops the frame label, so output/answer lines are plain.
765
- if (!this.showEvents || !event.frameKind)
766
- return '';
767
- const depth = event.depth ?? 0;
768
- // Nested (`execute` child) activity reads as belonging to the parent tool
769
- // call through indentation plus a hanging `│`, with no `nested` label.
770
- if (event.frameKind === 'nested') {
771
- return `${' '.repeat(depth + 1)}│ `;
772
- }
773
- const label = event.frameKind === 'object' ? 'run' : event.frameKind;
774
- const indent = ' '.repeat(depth);
775
- return `${indent}${label} │ `;
861
+ return framePrefix(event, this.showEvents);
776
862
  }
777
863
  /**
778
864
  * Render one solution's bindings. `terminator` is appended after the last
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/repl/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgC/C,gFAAgF;AAChF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAmB;IAChD,eAAe;IACf,WAAW;IACX,YAAY;IACZ,OAAO;IACP,KAAK;IACL,mBAAmB;IACnB,aAAa;CACd,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,IAAyC;IAC3D,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,OAAO,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjC,CAAC;AAED,uEAAuE;AACvE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,4EAA4E;AAC5E,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,GAAG,GAAG,YAAY;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3C,OAAO;QACL,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QACvB,OAAO,OAAO,aAAa,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;QACtD,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;QAC1D,CAAC,CAAC,CAAC,CAAC,MAAM;QACV,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,OAAO,IAAI;SACR,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;SACvB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;SACpD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,SAAS,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,KAAK,CAAC,CAAC,sDAAsD;QACzE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACtC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;AACnF,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;IAC/B,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC3C,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;AAC7D,CAAC;AAED,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,YAAY;IACjB,6DAA6D;IAC7D,QAAQ,EAAE,oBAAoB;IAC9B,2CAA2C;IAC3C,MAAM,EAAE,kBAAkB;IAC1B,4BAA4B;IAC5B,MAAM,EAAE,oBAAoB;CACpB,CAAC;AAEX,mEAAmE;AACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACpF,6DAA6D;AAC7D,MAAM,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACnF,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACpF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAI/C;;;GAGG;AACH,MAAM,WAAW,GAAoD;IACnE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IACvC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,gFAAgF;AAChF,SAAS,OAAO,CAAC,IAAyC,EAAE,GAAW;IACrE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wDAAwD;AACxD,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAEnF,8DAA8D;AAC9D,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,QAAsB;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC;AAED,2DAA2D;AAC3D,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,OAAO,YAAY;IACd,IAAI,CAAa;IACT,KAAK,CAAU;IACf,OAAO,CAAU;IACjB,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,aAAa,CAA6B;IAC1C,eAAe,CAAU;IACzB,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACzC,gBAAgB,CAAY;IAC5B,KAAK,CAAS;IACd,IAAI,CAAyB;IAC7B,SAAS,CAAyB;IAClC,SAAS,CAA6B;IACtC,SAAS,CAA6B;IACtC,SAAS,CAAU;IACnB,UAAU,CAAU;IAC5B,qEAAqE;IAC7D,eAAe,GAAkB,IAAI,CAAC;IAC9C,6EAA6E;IACrE,eAAe,GAAG,EAAE,CAAC;IACrB,cAAc,GAAG,CAAC,CAAC;IACnB,kBAAkB,GAAG,KAAK,CAAC;IAC3B,WAAW,GAAG,IAAI,CAAC;IAC3B,2EAA2E;IACnE,cAAc,CAAU;IAChC,uCAAuC;IAC/B,YAAY,CAAkC;IAC9C,YAAY,GAAG,CAAC,CAAC;IACjB,aAAa,GAAG,EAAE,CAAC;IACnB,YAAY,GAAG,EAAE,CAAC;IAClB,cAAc,GAAG,KAAK,CAAC;IAE/B,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED,yEAAyE;IACzE,OAAO,CAAC,IAA4B,EAAE,SAAkC;QACtE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAgC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,wCAAwC;IACxC,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,QAAQ,CAAC,KAAa;QACpB,IAAI,KAAK,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,kEAAkE;IAClE,OAAO,CAAC,IAAY;QAClB,OAAO,aAAa,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,QAAiB;QACtC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;IACtC,CAAC;IAED,4EAA4E;IAC5E,OAAO;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,2EAA2E;IACnE,YAAY,GAAkB,IAAI,CAAC;IACnC,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAkB,IAAI,CAAC;IACvC,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAkB,IAAI,CAAC;IAC/C,+EAA+E;IACvE,mBAAmB,GAAG,KAAK,CAAC;IAEpC,4CAA4C;IAC5C,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,uCAAuC;IACvC,SAAS,CAAC,IAAI,GAAG,EAAE;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAe;QACnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,KAAe;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBACnE,QAAQ;oBACR,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;oBAC3C,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;iBAC7D,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,QAAQ,GAAG,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,gEAAgE;IACxD,YAAY,CAAC,GAAW;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7G,IAAI,CAAC;YACH,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;IACD,KAAK;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,KAAe;QACjC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,QAAQ,KAAK,CAAC,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAChE,KAAK,WAAW;gBACd,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oBACrE,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,CAAC;gBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACpE,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,CAAC;gBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACV,OAAO,QAAQ,CAAC;YAClB,KAAK,mBAAmB;gBACtB,OAAO,YAAY,CAAC;YACtB;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,6DAA6D;IACrD,UAAU,CAAC,GAAkB;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,KAAe;QAAa,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;YAChF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,sDAAsD;QACtD,IACE,KAAK,CAAC,IAAI,KAAK,eAAe;eAC3B,CAAC,KAAK,CAAC,SAAS,EACnB,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChG,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,UAAU;gBACb,IAAI,CAAC,QAAQ,CACX,KAAK,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAC9B,SAAS,EACT,MAAM;gBACN,qEAAqE;gBACrE,mDAAmD;gBACnD,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;gBACF,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,oEAAoE;gBACpE,uEAAuE;gBACvE,uEAAuE;gBACvE,kEAAkE;gBAClE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;oBAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;oBACvB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBAChF,MAAM;YACR,CAAC;YACD,KAAK,QAAQ;gBACX,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACrE,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,uDAAuD;gBACvD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,mEAAmE;wBACnE,oEAAoE;wBACpE,iBAAiB;wBACjB,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,SAAS,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChF,CAAC;gBACD,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,UAAU,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpF,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACvB,GAAG,MAAM,cAAc,KAAK,CAAC,KAAK,CAAC,WAAW,QAAQ,KAAK,CAAC,KAAK,CAAC,YAAY,UAAU,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EACjH,IAAI,CAAC,GAAG,CACT,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,IAAI,kBAAkB,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxF,MAAM;YACR,KAAK,UAAU,CAAC;YAChB,KAAK,aAAa,CAAC;YACnB;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,KAAe,EAAE,MAAc;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,WAAW,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,KAAK,WAAW,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrH,CAAC;IAEO,YAAY,CAAC,KAAe;QAClC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC;QAChC,OAAO,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;IAChF,CAAC;IAEO,cAAc,CAAC,KAAe,EAAE,MAAc;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,MAAM,IAAI,GAAa,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpE,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9G,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YACzF,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9G,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC;YAChE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,IAAI,GAAG,QAAQ,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7G,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,+DAA+D;YAC/D,IAAI,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;gBAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;gBACtE,qEAAqE;gBACrE,gEAAgE;gBAChE,MAAM,MAAM,GAAG,MAAM,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjE,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,WAAW,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,4EAA4E;IACpE,eAAe,CAAC,MAAc,EAAE,IAAc,EAAE,MAAe;QACrE,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5C,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,OAAO,OAAO,aAAa,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3G,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACrH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+CAA+C;IACvC,eAAe,CAAC,KAAe,EAAE,MAAc;QACrD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,sEAAsE;IAC9D,YAAY,CAAC,MAAc,EAAE,KAAa;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEO,YAAY;QAClB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,uEAAuE;IAC/D,WAAW;QACjB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,SAAS,CAAC,IAAY,EAAE,IAAc;QAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,KAAK,OAAO;YACzB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,IAAI,KAAK,MAAM;gBACf,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,mBAAmB,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAClD,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,QAAiB;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvE,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,QAAQ;gBACvB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH;;;;;OAKG;IACK,cAAc,CAAC,KAAe,EAAE,KAAa;QACnD,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACnE,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpF,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1E,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,8EAA8E;IACtE,qBAAqB,CAAC,MAAc;QAC1C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,2EAA2E;IACnE,iBAAiB,CAAC,MAAc,EAAE,KAAa;QACrD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,0BAA0B,CAAC,KAAe;QAChD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,CACd,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,gEAAgE,EAAE,IAAI,CAAC,GAAG,CAAC,EACtF,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,8EAA8E;IACtE,WAAW,CAAC,KAAe,EAAE,KAAa,EAAE,IAA0B;QAC5E,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEO,gBAAgB,CAAC,KAAe,EAAE,KAAa,EAAE,IAA0B;QACjF,0EAA0E;QAC1E,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACxE,IAAI,GAAG,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,gEAAgE;IACxD,WAAW;QACjB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,2FAA2F;IACnF,UAAU,CAAC,KAAe;QAChC,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;QACvC,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,GAAG,MAAM,GAAG,KAAK,KAAK,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAsB,EAAE,UAAmB,EAAE,MAAM,GAAG,EAAE,EAAE,QAAiB;QAClF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACzF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,MAAM,GAAG,IAAI,MAAM,KAAK,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,IAAY,EAAE,IAAY;QACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/repl/render.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,11 @@
5
5
  * and the harness memory slot. Goal-mode queries create a `query_start/5`
6
6
  * frame, register it with the runner, and drive it with `runFrame`.
7
7
  */
8
+ import { type PrologMessage } from '../prolog/loader.js';
9
+ import { type ExecutionBackendKind, type ExecutionEnvironment } from '../system/runtime/shell-manager.js';
8
10
  import { type Frame, type RunnerOptions } from '../runner.js';
9
11
  import { type CompactionSettings } from './compaction.js';
10
- import type { HarnessCommitResult, HarnessExecuteResult } from './harness-tools.js';
12
+ import type { BindingMode, HarnessCommitResult, HarnessExecuteResult } from './harness-tools.js';
11
13
  import type { DMLEvent, FrameKind, MemoryMessage, ToolDefinition, ToolPolicy } from '../types.js';
12
14
  import { type HarnessExportOptions, type HarnessExportResult } from './export.js';
13
15
  import { type HistoryOptions } from './history.js';
@@ -49,6 +51,15 @@ export interface DMLSessionOptions {
49
51
  maxModelCalls?: number;
50
52
  /** Host tool catalog text injected into the meta prompt (M5). */
51
53
  hostToolsCatalog?: string;
54
+ /**
55
+ * The effective shell backend for this session (`agentvm`, `bwrap`,
56
+ * `sandbox-exec`, or `clean-room`). Injected into the Prolog session so the
57
+ * harness `require_sandbox` directive can refuse to load when the backend
58
+ * would run unsandboxed, and reported to the model in its environment block.
59
+ * Callers that build a toolset should pass `toolset.environment.kind` so the
60
+ * check and the toolset cannot disagree.
61
+ */
62
+ executionBackend?: ExecutionBackendKind;
52
63
  /** Human-in-the-loop channel for DML `input/2` / `exec(ask_user(...))`. */
53
64
  askUser?: (prompt: string, options?: string[]) => Promise<{
54
65
  answer: string;
@@ -145,6 +156,10 @@ export declare class DMLSession {
145
156
  private resume;
146
157
  /** Harness this session edits. */
147
158
  private readonly harnessName;
159
+ /** Effective shell backend; see DMLSessionOptions.executionBackend. */
160
+ readonly executionBackend: ExecutionBackendKind;
161
+ /** Full resolution for the backend, for the agent's environment block. */
162
+ readonly executionEnvironment: ExecutionEnvironment;
148
163
  private readonly autoLoadHarness;
149
164
  /** Monotonic per-session turn counter used by history records. */
150
165
  private turnCounter;
@@ -152,10 +167,25 @@ export declare class DMLSession {
152
167
  private constructor();
153
168
  static open(options: DMLSessionOptions): Promise<DMLSession>;
154
169
  getSessionId(): string;
170
+ /**
171
+ * Prolog output captured since the last drain.
172
+ *
173
+ * The step loop surfaces this while a goal runs; this accessor is for messages
174
+ * produced by paths that are not the step loop — a load, a host query — so a
175
+ * host can render them rather than have them vanish into a queue.
176
+ */
177
+ takePrologMessages(): PrologMessage[];
155
178
  /** Parse and load DML source into the living module. */
156
179
  loadCode(code: string): Promise<{
157
180
  error?: string;
181
+ warnings?: string[];
158
182
  }>;
183
+ /**
184
+ * Directives the loader recorded because it does not handle them. They did
185
+ * nothing, which is worth saying: `:- repl_delete(f/1).` silently discarded was
186
+ * a predicate the author believed they had removed.
187
+ */
188
+ private unhandledDirectives;
159
189
  /**
160
190
  * Load a DML file (or a `.zip` bundle) into the living module.
161
191
  *
@@ -165,6 +195,7 @@ export declare class DMLSession {
165
195
  */
166
196
  load(file: string): Promise<{
167
197
  error?: string;
198
+ warnings?: string[];
168
199
  }>;
169
200
  /**
170
201
  * Establish a fresh harness's baseline from its current module (called after
@@ -268,7 +299,7 @@ export declare class DMLSession {
268
299
  * The child frame uses the living scratch module and may itself call task()
269
300
  * (RLM-style recursion); its harness-memory writes are discarded afterward.
270
301
  */
271
- executeGoal(goal: string, limit?: number, onEvent?: (event: DMLEvent) => void, signal?: AbortSignal): Promise<HarnessExecuteResult>;
302
+ executeGoal(goal: string, limit?: number, onEvent?: (event: DMLEvent) => void, signal?: AbortSignal, bindingMode?: BindingMode): Promise<HarnessExecuteResult>;
272
303
  /**
273
304
  * The TypeScript authoring agent: a normal `LLMBackend` agent with harness
274
305
  * tools. It runs one or more committed turns in a loop until the model calls
@@ -321,8 +352,24 @@ export declare class DMLSession {
321
352
  private mediaEventFor;
322
353
  /** Pick a default diagram entry: `agent_main/N`, else the first predicate. */
323
354
  private defaultDiagramEntry;
324
- beginTurn(): Promise<void>;
355
+ beginTurn(): Promise<{
356
+ ok: boolean;
357
+ error?: string;
358
+ }>;
325
359
  endTurn(): Promise<HarnessCommitResult>;
360
+ /**
361
+ * Check every registered `tool/2` annotation: the nested agent inside `task/N`
362
+ * calls the tool body, so it must reach real logic with the same name and
363
+ * arity. Violations only surface when a nested agent calls the tool, which may
364
+ * be long after the commit — report them here instead.
365
+ */
366
+ private probeToolContracts;
367
+ /**
368
+ * Warn about `doc/2` facts that document a predicate with no clauses. Such a
369
+ * predicate fails silently when called, and its name still appears in the
370
+ * manifest, so the harness looks fine and returns empty results.
371
+ */
372
+ private probeDocContracts;
326
373
  /**
327
374
  * Probe changed predicates for accidental nondeterminism: a pure predicate
328
375
  * that yields more than `threshold` solutions on fresh variables is very likely
@@ -358,7 +405,7 @@ export declare class DMLSession {
358
405
  error?: string;
359
406
  }>;
360
407
  reference(topic: string): Promise<string>;
361
- execute(goal: string, limit?: number, signal?: AbortSignal, onEvent?: (event: DMLEvent) => void): Promise<HarnessExecuteResult>;
408
+ execute(goal: string, limit?: number, signal?: AbortSignal, onEvent?: (event: DMLEvent) => void, bindingMode?: BindingMode): Promise<HarnessExecuteResult>;
362
409
  /**
363
410
  * Prompt mode: English request -> meta task -> DML -> commit -> entry run.
364
411
  *
@@ -418,6 +465,16 @@ export declare class DMLSession {
418
465
  private prologQuery;
419
466
  private serializeMemory;
420
467
  }
468
+ /**
469
+ * Qualify a goal with the session module unless it already names one.
470
+ *
471
+ * DML code resolves unqualified goals in the session module, which is where the
472
+ * harness and the workspace predicates live. A host query would otherwise
473
+ * resolve them in `user`, so `read_file("f.txt", C)` failed from here while
474
+ * working from `execute` or `/goal`. Goals that already carry a qualifier
475
+ * (`deepclause_mi:…`) are left alone.
476
+ */
477
+ export declare function qualifyWithSession(goal: string, sessionId: string): string;
421
478
  /** Quote a JS string as a Prolog double-quoted string. */
422
479
  export declare function quoteString(value: string): string;
423
480
  export type { Frame };