@zzzen/pyright-internal 1.2.0-dev.20260913 → 1.2.0-dev.20260920

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 (74) hide show
  1. package/dist/analyzer/checker.js +2 -3
  2. package/dist/analyzer/checker.js.map +1 -1
  3. package/dist/analyzer/program.js +1 -0
  4. package/dist/analyzer/program.js.map +1 -1
  5. package/dist/analyzer/typeCacheUtils.d.ts +1 -0
  6. package/dist/analyzer/typeCacheUtils.js +28 -1
  7. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  8. package/dist/analyzer/typeEvaluator.d.ts +1 -1
  9. package/dist/analyzer/typeEvaluator.js +7 -10
  10. package/dist/analyzer/typeEvaluator.js.map +1 -1
  11. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
  12. package/dist/analyzer/typedDicts.js +3 -7
  13. package/dist/analyzer/typedDicts.js.map +1 -1
  14. package/dist/analyzer/types.js +7 -0
  15. package/dist/analyzer/types.js.map +1 -1
  16. package/dist/common/configOptions.d.ts +1 -0
  17. package/dist/common/configOptions.js +16 -0
  18. package/dist/common/configOptions.js.map +1 -1
  19. package/dist/common/envVarUtils.js +3 -3
  20. package/dist/common/envVarUtils.js.map +1 -1
  21. package/dist/tests/envVarUtils.test.js +16 -0
  22. package/dist/tests/envVarUtils.test.js.map +1 -1
  23. package/dist/tests/evaluationTrace.integration.test.d.ts +1 -0
  24. package/dist/tests/evaluationTrace.integration.test.js +266 -0
  25. package/dist/tests/evaluationTrace.integration.test.js.map +1 -0
  26. package/dist/tests/evaluationTrace.test.d.ts +1 -0
  27. package/dist/tests/evaluationTrace.test.js +422 -0
  28. package/dist/tests/evaluationTrace.test.js.map +1 -0
  29. package/dist/tests/evaluationTrace.viewer.test.d.ts +1 -0
  30. package/dist/tests/evaluationTrace.viewer.test.js +529 -0
  31. package/dist/tests/evaluationTrace.viewer.test.js.map +1 -0
  32. package/dist/tests/mypyPrimerAnalysis.test.js +1193 -47
  33. package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
  34. package/dist/tests/mypyPrimerMcp.test.d.ts +1 -0
  35. package/dist/tests/mypyPrimerMcp.test.js +186 -0
  36. package/dist/tests/mypyPrimerMcp.test.js.map +1 -0
  37. package/dist/tests/typeCacheUtils.test.js +15 -0
  38. package/dist/tests/typeCacheUtils.test.js.map +1 -1
  39. package/dist/tests/typeEvaluator7.test.js +4 -0
  40. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  41. package/dist/trace/capture.d.ts +31 -0
  42. package/dist/trace/capture.js +272 -0
  43. package/dist/trace/capture.js.map +1 -0
  44. package/dist/trace/cli.d.ts +1 -0
  45. package/dist/trace/cli.js +196 -0
  46. package/dist/trace/cli.js.map +1 -0
  47. package/dist/trace/nativeAdapter.d.ts +16 -0
  48. package/dist/trace/nativeAdapter.js +422 -0
  49. package/dist/trace/nativeAdapter.js.map +1 -0
  50. package/dist/trace/nativeBridge.d.ts +46 -0
  51. package/dist/trace/nativeBridge.js +416 -0
  52. package/dist/trace/nativeBridge.js.map +1 -0
  53. package/dist/trace/reader.d.ts +83 -0
  54. package/dist/trace/reader.js +296 -0
  55. package/dist/trace/reader.js.map +1 -0
  56. package/dist/trace/recorder.d.ts +59 -0
  57. package/dist/trace/recorder.js +303 -0
  58. package/dist/trace/recorder.js.map +1 -0
  59. package/dist/trace/runtimeLoader.d.ts +23 -0
  60. package/dist/trace/runtimeLoader.js +172 -0
  61. package/dist/trace/runtimeLoader.js.map +1 -0
  62. package/dist/trace/viewerAssets.d.ts +2 -0
  63. package/dist/trace/viewerAssets.js +76 -0
  64. package/dist/trace/viewerAssets.js.map +1 -0
  65. package/dist/trace/viewerClient.d.ts +1 -0
  66. package/dist/trace/viewerClient.js +485 -0
  67. package/dist/trace/viewerClient.js.map +1 -0
  68. package/dist/trace/viewerModel.d.ts +308 -0
  69. package/dist/trace/viewerModel.js +524 -0
  70. package/dist/trace/viewerModel.js.map +1 -0
  71. package/dist/trace/viewerServer.d.ts +7 -0
  72. package/dist/trace/viewerServer.js +185 -0
  73. package/dist/trace/viewerServer.js.map +1 -0
  74. package/package.json +4 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../../../../src/trace/recorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { HookSite } from './nativeAdapter';
2
+ import { NativeBridge } from './nativeBridge';
3
+ import { Json } from './recorder';
4
+ export declare function sha256(content: string | Buffer): string;
5
+ export declare class RuntimeLoader {
6
+ readonly root: string;
7
+ readonly sites: HookSite[];
8
+ readonly coverage: Record<string, Json>;
9
+ private _transformed;
10
+ private _cache;
11
+ private _hashes;
12
+ private _bridge;
13
+ private _instrumented;
14
+ constructor(root: string, experimental: boolean);
15
+ configure(bridge: NativeBridge | undefined): void;
16
+ load<T>(relativePath: string): T;
17
+ provenance(): Record<string, Json>;
18
+ verifyUnchanged(): void;
19
+ dispose(): void;
20
+ private _read;
21
+ private _load;
22
+ private _assertSupportedModule;
23
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ /*
3
+ * runtimeLoader.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.RuntimeLoader = void 0;
42
+ exports.sha256 = sha256;
43
+ const crypto_1 = require("crypto");
44
+ const fs_1 = require("fs");
45
+ const module_1 = require("module");
46
+ const path_1 = require("path");
47
+ const ts = __importStar(require("typescript"));
48
+ const vm_1 = require("vm");
49
+ const nativeAdapter_1 = require("./nativeAdapter");
50
+ function sha256(content) {
51
+ return (0, crypto_1.createHash)('sha256').update(content).digest('hex');
52
+ }
53
+ class RuntimeLoader {
54
+ constructor(root, experimental) {
55
+ this.sites = [];
56
+ this.coverage = {};
57
+ this._transformed = new Map();
58
+ this._cache = new Map();
59
+ this._hashes = new Map();
60
+ this._instrumented = false;
61
+ this.root = (0, fs_1.realpathSync)(root);
62
+ // Validate ALL required hooks before executing any target code. A partially
63
+ // applicable adapter is not a successful capture.
64
+ for (const file of (0, nativeAdapter_1.adapterFiles)(experimental)) {
65
+ const path = (0, path_1.resolve)(this.root, ...file.split('/'));
66
+ const text = this._read(path);
67
+ const transformed = (0, nativeAdapter_1.instrument)(file, text, experimental);
68
+ this._transformed.set(path, transformed.code);
69
+ this.sites.push(...transformed.sites);
70
+ this.coverage[file] = { status: 'instrumented-sites-only', counts: transformed.counts };
71
+ }
72
+ this.coverage.otherHeapWrites = 'unobserved; snapshot deltas have unknown writer/timing';
73
+ this.coverage.dependencies = 'native reads/returns only; references are not transitive dependencies';
74
+ this.coverage.flow = 'native cache/branch/pending/generation sites; not a flow completion certificate';
75
+ this.coverage.definitions = 'inferredReturnType assignments only; other definition state is snapshot-only';
76
+ this.coverage.overload = experimental ? 'real trials and callbacks' : 'not enabled';
77
+ this.coverage.contextualSearch = 'helper when present; older inline Array.find is not separately instrumented';
78
+ }
79
+ configure(bridge) {
80
+ if (this._cache.size) {
81
+ throw new Error('Configure the loader before loading target code');
82
+ }
83
+ this._bridge = bridge;
84
+ this._instrumented = !!bridge;
85
+ }
86
+ load(relativePath) {
87
+ return this._load((0, path_1.resolve)(this.root, ...relativePath.split('/')));
88
+ }
89
+ provenance() {
90
+ return {
91
+ adapter: nativeAdapter_1.adapterVersion,
92
+ runtime: this.root,
93
+ files: [...this._hashes].map(([path, hash]) => ({ path, sha256: hash })),
94
+ coverage: this.coverage,
95
+ sites: this.sites.map((site) => ({ ...site })),
96
+ };
97
+ }
98
+ verifyUnchanged() {
99
+ for (const [path, hash] of this._hashes) {
100
+ if (sha256((0, fs_1.readFileSync)(path)) !== hash) {
101
+ throw new Error(`Capture target changed during analysis: ${path}`);
102
+ }
103
+ }
104
+ }
105
+ dispose() {
106
+ this._cache.clear();
107
+ this._transformed.clear();
108
+ this._bridge = undefined;
109
+ }
110
+ _read(path) {
111
+ const content = (0, fs_1.readFileSync)(path);
112
+ const hash = sha256(content);
113
+ const previous = this._hashes.get(path);
114
+ if (previous && previous !== hash) {
115
+ throw new Error(`Runtime changed after preflight: ${path}`);
116
+ }
117
+ this._hashes.set(path, hash);
118
+ return content.toString('utf8');
119
+ }
120
+ _load(requested) {
121
+ const nativeRequire = (0, module_1.createRequire)((0, path_1.resolve)(this.root, '__trace_loader__.js'));
122
+ const path = nativeRequire.resolve(requested);
123
+ const inside = (0, path_1.relative)(this.root, path);
124
+ if (inside.startsWith('..') || (0, path_1.isAbsolute)(inside)) {
125
+ return nativeRequire(path);
126
+ }
127
+ const previous = this._cache.get(path);
128
+ if (previous) {
129
+ return previous.exports;
130
+ }
131
+ const module = { exports: {} };
132
+ this._cache.set(path, module);
133
+ try {
134
+ if (path.endsWith('.json')) {
135
+ module.exports = JSON.parse(this._read(path));
136
+ }
137
+ else if (path.endsWith('.js')) {
138
+ const original = this._read(path);
139
+ this._assertSupportedModule(path, original);
140
+ const code = (this._instrumented && this._transformed.get(path)) || original;
141
+ const fromHere = (0, module_1.createRequire)(path);
142
+ const localRequire = (name) => this._load(fromHere.resolve(name));
143
+ localRequire.resolve = fromHere.resolve;
144
+ const execute = (0, vm_1.runInThisContext)(`(function(exports, require, module, __filename, __dirname, __pyrightTrace) {\n${code}\n})`, { filename: path });
145
+ execute.call(module.exports, module.exports, localRequire, module, path, (0, path_1.dirname)(path), this._bridge);
146
+ }
147
+ else {
148
+ throw new Error(`Unsupported unbundled module: ${path}`);
149
+ }
150
+ }
151
+ catch (error) {
152
+ this._cache.delete(path);
153
+ throw error;
154
+ }
155
+ return module.exports;
156
+ }
157
+ _assertSupportedModule(path, code) {
158
+ const source = ts.createSourceFile(path, code, ts.ScriptTarget.ES2020, false, ts.ScriptKind.JS);
159
+ const visit = (node) => {
160
+ if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {
161
+ const { line, character } = source.getLineAndCharacterOfPosition(node.getStart(source));
162
+ throw new Error(`Unsupported dynamic import in private CommonJS runtime: ${path}:${line + 1}:${character + 1}. ` +
163
+ 'Local modules containing import() cannot be loaded, even inside functions; ' +
164
+ 'use an unbundled CommonJS runtime without dynamic imports in its local dependency graph.');
165
+ }
166
+ ts.forEachChild(node, visit);
167
+ };
168
+ visit(source);
169
+ }
170
+ }
171
+ exports.RuntimeLoader = RuntimeLoader;
172
+ //# sourceMappingURL=runtimeLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeLoader.js","sourceRoot":"","sources":["../../../../../src/trace/runtimeLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const viewerHtml = "<!doctype html>\n<html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>Pyright evaluation viewer</title><link rel=\"stylesheet\" href=\"style.css\"></head>\n<body><header><h1>Pyright evaluation viewer</h1><div id=\"artifact\"></div>\n<details id=\"coverage\"><summary>Capture status &amp; coverage</summary><div id=\"coverage-body\"></div></details></header>\n<aside id=\"session-status\" aria-label=\"Capture status and shared cursor\">\n<div id=\"status\" role=\"status\">Loading local artifact...</div>\n<p class=\"warning\">Latest OBSERVED fields, not continuously current native state. References are not dependency proof.</p>\n<div id=\"error\" role=\"alert\" hidden></div>\n<form id=\"cursor-form\"><label>Sequence cursor <input id=\"cursor\" type=\"number\" min=\"0\" value=\"0\"></label>\n<button>Go</button><span id=\"cursor-label\"></span></form></aside>\n<main>\n<section id=\"timeline-panel\"><h2>Evaluation timeline</h2><p>Inclusive of nested native work</p>\n<form id=\"filters\"><label>Events <select id=\"kind\"><option value=\"enter\">Occurrences</option></select></label>\n<label>Search <input id=\"query\" maxlength=\"200\" placeholder=\"label, path, role, identity\"></label>\n<label>Role <input id=\"role\" placeholder=\"ordinary, baseline, candidate\"></label>\n<label>Scope <input id=\"scope\" placeholder=\"occurrence ID (optional)\"></label>\n<button>Apply</button></form><div id=\"timeline\"></div><nav id=\"timeline-pages\"></nav>\n<h3>Selected event / native hook</h3><div id=\"event-details\">Select a timeline row.</div></section>\n<section id=\"state-panel\"><h2>Observed relationship graph</h2>\n<form id=\"entity-form\"><label>Entity or occurrence <input id=\"entity-id\" required></label><button>Inspect</button>\n<label>Edges <select id=\"relation\"><option value=\"all\">All</option><option value=\"reference\">References</option>\n<option value=\"observed\">Executed reads / returns</option></select></label>\n<label>Hops <select id=\"hops\"><option>1</option><option>2</option></select></label></form>\n<p class=\"legend\"><span class=\"ref-key\">Solid: reference at source version</span>\n<span class=\"read-key\">Dashed blue: executed read</span><span class=\"return-key\">Dashed amber: executed return</span></p>\n<div id=\"graph-note\"></div><div id=\"graph\" aria-label=\"Object relationship graph\"></div>\n<details><summary>Graph edge list</summary><div id=\"edge-list\"></div></details>\n<h3>Selected identity / fields</h3><div id=\"entity-details\">Select an event reference or graph node.</div>\n<nav id=\"field-pages\"></nav><h3>Observation history</h3><div id=\"history\"></div><nav id=\"history-pages\"></nav>\n</section>\n<section id=\"comparison-panel\"><h2>Baseline / candidate comparison</h2>\n<p>Native counts include nested work; the six boundaries and first results use owning-trial ancestry.</p>\n<div id=\"pairs\"></div><nav id=\"pair-pages\"></nav><div id=\"comparison\"></div><nav id=\"comparison-pages\"></nav></section>\n</main><script src=\"client.js\"></script></body></html>";
2
+ export declare const viewerCss = "\n:root{color-scheme:light dark;font:14px system-ui,sans-serif;background:#111821;color:#e4eaf0}\n*{box-sizing:border-box}body{margin:0}header{padding:16px 24px;border-bottom:1px solid #35475a;background:#182330}\nh1{font-size:22px;margin:0 0 5px}h2{font-size:18px;margin:0 0 6px}h3{font-size:15px;margin:18px 0 8px}\np{margin:6px 0 10px}button,input,select{font:inherit;border:1px solid #536c83;border-radius:4px;background:#172536;color:inherit;padding:6px}\nbutton{cursor:pointer}button:hover,button:focus-visible{background:#304c65;outline:2px solid #70bdfa}\nbutton:disabled{opacity:.45;cursor:default}input{max-width:100%;min-width:80px}label{display:inline-flex;gap:5px;align-items:center}\nform{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}#filters label{flex-wrap:wrap}#filters input{width:175px}\n#cursor{width:115px}#entity-id{width:250px}.warning,#graph-note{color:#f1c987}\n#status{font-weight:600;color:#a8d8b9;margin-top:6px}#error{background:#681f32;padding:12px;white-space:pre-wrap}\n#session-status{position:sticky;top:0;z-index:3;padding:6px 24px;background:#182330;border-bottom:1px solid #536c83}\n#session-status p,#session-status form{margin:4px 0}#timeline{max-height:700px;overflow:auto}#timeline button{white-space:pre-wrap}\ndetails{margin:10px 0}summary{cursor:pointer;color:#afd3f7}\nmain{display:grid;grid-template-columns:minmax(340px,1fr) minmax(460px,1.4fr);gap:16px;padding:16px}\nsection{padding:16px;border:1px solid #35475a;border-radius:6px;min-width:0;background:#141f2b}\n#comparison-panel{grid-column:1/-1}nav{display:flex;gap:8px;align-items:center;margin:10px 0}\n.row{display:block;text-align:left;width:100%;margin:3px 0;overflow-wrap:anywhere}.row.selected{border-color:#79d0ff;background:#284962}\n.row small{display:block;color:#b7c6d4}.muted{color:#afbbc6}.tag{padding:2px 5px;background:#30455a;border-radius:3px}\n.fields{width:100%;border-collapse:collapse;table-layout:fixed}.fields th,.fields td{border-bottom:1px solid #34475a;padding:6px;vertical-align:top;text-align:left;overflow-wrap:anywhere}\n.fields th{width:27%}.ref-link{color:#94d5ff;text-align:left;overflow-wrap:anywhere;font-size:12px}\npre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px ui-monospace,monospace;max-height:350px;overflow:auto}\n.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.ref-key{color:#bed1e4}.read-key{color:#75c6ff}.return-key{color:#f0b757}\n#graph{overflow:auto;min-height:180px;border:1px solid #34475a;background:#111c28;border-radius:5px}\nsvg{display:block;width:100%;min-width:480px}svg .edge{stroke:#8ba2b8;stroke-width:1.5;opacity:.65}\nsvg .observed-read{stroke:#75c6ff;stroke-dasharray:6 4}svg .observed-return{stroke:#f0b757;stroke-dasharray:3 4}\nsvg .node rect{fill:#22374b;stroke:#7d9cb5}svg .node.root rect{fill:#274c68;stroke:#91d4ff;stroke-width:2}\nsvg .node.unknown rect{fill:#352f2b;stroke:#dbbd80}svg .node{cursor:pointer}svg text{fill:#e4eaf0;font:11px system-ui;pointer-events:none}\nsvg .node:hover rect,svg .node:focus rect{fill:#355878;stroke:white}svg .edge-label{font-size:9px;fill:#aec1d1}\n.sides{display:grid;grid-template-columns:1fr 1fr;gap:12px}.side{padding:12px;border:1px solid #455d72;min-width:0}\n.boundary{display:block;margin:5px 0}.history-future{opacity:.7}.changes{overflow:auto}.changes table{min-width:800px}\n@media(max-width:980px){main{grid-template-columns:1fr}.sides{grid-template-columns:1fr}header{padding:12px}}\n";
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /*
3
+ * viewerAssets.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.viewerCss = exports.viewerHtml = void 0;
9
+ exports.viewerHtml = `<!doctype html>
10
+ <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
11
+ <title>Pyright evaluation viewer</title><link rel="stylesheet" href="style.css"></head>
12
+ <body><header><h1>Pyright evaluation viewer</h1><div id="artifact"></div>
13
+ <details id="coverage"><summary>Capture status &amp; coverage</summary><div id="coverage-body"></div></details></header>
14
+ <aside id="session-status" aria-label="Capture status and shared cursor">
15
+ <div id="status" role="status">Loading local artifact...</div>
16
+ <p class="warning">Latest OBSERVED fields, not continuously current native state. References are not dependency proof.</p>
17
+ <div id="error" role="alert" hidden></div>
18
+ <form id="cursor-form"><label>Sequence cursor <input id="cursor" type="number" min="0" value="0"></label>
19
+ <button>Go</button><span id="cursor-label"></span></form></aside>
20
+ <main>
21
+ <section id="timeline-panel"><h2>Evaluation timeline</h2><p>Inclusive of nested native work</p>
22
+ <form id="filters"><label>Events <select id="kind"><option value="enter">Occurrences</option></select></label>
23
+ <label>Search <input id="query" maxlength="200" placeholder="label, path, role, identity"></label>
24
+ <label>Role <input id="role" placeholder="ordinary, baseline, candidate"></label>
25
+ <label>Scope <input id="scope" placeholder="occurrence ID (optional)"></label>
26
+ <button>Apply</button></form><div id="timeline"></div><nav id="timeline-pages"></nav>
27
+ <h3>Selected event / native hook</h3><div id="event-details">Select a timeline row.</div></section>
28
+ <section id="state-panel"><h2>Observed relationship graph</h2>
29
+ <form id="entity-form"><label>Entity or occurrence <input id="entity-id" required></label><button>Inspect</button>
30
+ <label>Edges <select id="relation"><option value="all">All</option><option value="reference">References</option>
31
+ <option value="observed">Executed reads / returns</option></select></label>
32
+ <label>Hops <select id="hops"><option>1</option><option>2</option></select></label></form>
33
+ <p class="legend"><span class="ref-key">Solid: reference at source version</span>
34
+ <span class="read-key">Dashed blue: executed read</span><span class="return-key">Dashed amber: executed return</span></p>
35
+ <div id="graph-note"></div><div id="graph" aria-label="Object relationship graph"></div>
36
+ <details><summary>Graph edge list</summary><div id="edge-list"></div></details>
37
+ <h3>Selected identity / fields</h3><div id="entity-details">Select an event reference or graph node.</div>
38
+ <nav id="field-pages"></nav><h3>Observation history</h3><div id="history"></div><nav id="history-pages"></nav>
39
+ </section>
40
+ <section id="comparison-panel"><h2>Baseline / candidate comparison</h2>
41
+ <p>Native counts include nested work; the six boundaries and first results use owning-trial ancestry.</p>
42
+ <div id="pairs"></div><nav id="pair-pages"></nav><div id="comparison"></div><nav id="comparison-pages"></nav></section>
43
+ </main><script src="client.js"></script></body></html>`;
44
+ exports.viewerCss = `
45
+ :root{color-scheme:light dark;font:14px system-ui,sans-serif;background:#111821;color:#e4eaf0}
46
+ *{box-sizing:border-box}body{margin:0}header{padding:16px 24px;border-bottom:1px solid #35475a;background:#182330}
47
+ h1{font-size:22px;margin:0 0 5px}h2{font-size:18px;margin:0 0 6px}h3{font-size:15px;margin:18px 0 8px}
48
+ p{margin:6px 0 10px}button,input,select{font:inherit;border:1px solid #536c83;border-radius:4px;background:#172536;color:inherit;padding:6px}
49
+ button{cursor:pointer}button:hover,button:focus-visible{background:#304c65;outline:2px solid #70bdfa}
50
+ button:disabled{opacity:.45;cursor:default}input{max-width:100%;min-width:80px}label{display:inline-flex;gap:5px;align-items:center}
51
+ form{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}#filters label{flex-wrap:wrap}#filters input{width:175px}
52
+ #cursor{width:115px}#entity-id{width:250px}.warning,#graph-note{color:#f1c987}
53
+ #status{font-weight:600;color:#a8d8b9;margin-top:6px}#error{background:#681f32;padding:12px;white-space:pre-wrap}
54
+ #session-status{position:sticky;top:0;z-index:3;padding:6px 24px;background:#182330;border-bottom:1px solid #536c83}
55
+ #session-status p,#session-status form{margin:4px 0}#timeline{max-height:700px;overflow:auto}#timeline button{white-space:pre-wrap}
56
+ details{margin:10px 0}summary{cursor:pointer;color:#afd3f7}
57
+ main{display:grid;grid-template-columns:minmax(340px,1fr) minmax(460px,1.4fr);gap:16px;padding:16px}
58
+ section{padding:16px;border:1px solid #35475a;border-radius:6px;min-width:0;background:#141f2b}
59
+ #comparison-panel{grid-column:1/-1}nav{display:flex;gap:8px;align-items:center;margin:10px 0}
60
+ .row{display:block;text-align:left;width:100%;margin:3px 0;overflow-wrap:anywhere}.row.selected{border-color:#79d0ff;background:#284962}
61
+ .row small{display:block;color:#b7c6d4}.muted{color:#afbbc6}.tag{padding:2px 5px;background:#30455a;border-radius:3px}
62
+ .fields{width:100%;border-collapse:collapse;table-layout:fixed}.fields th,.fields td{border-bottom:1px solid #34475a;padding:6px;vertical-align:top;text-align:left;overflow-wrap:anywhere}
63
+ .fields th{width:27%}.ref-link{color:#94d5ff;text-align:left;overflow-wrap:anywhere;font-size:12px}
64
+ pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px ui-monospace,monospace;max-height:350px;overflow:auto}
65
+ .legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.ref-key{color:#bed1e4}.read-key{color:#75c6ff}.return-key{color:#f0b757}
66
+ #graph{overflow:auto;min-height:180px;border:1px solid #34475a;background:#111c28;border-radius:5px}
67
+ svg{display:block;width:100%;min-width:480px}svg .edge{stroke:#8ba2b8;stroke-width:1.5;opacity:.65}
68
+ svg .observed-read{stroke:#75c6ff;stroke-dasharray:6 4}svg .observed-return{stroke:#f0b757;stroke-dasharray:3 4}
69
+ svg .node rect{fill:#22374b;stroke:#7d9cb5}svg .node.root rect{fill:#274c68;stroke:#91d4ff;stroke-width:2}
70
+ svg .node.unknown rect{fill:#352f2b;stroke:#dbbd80}svg .node{cursor:pointer}svg text{fill:#e4eaf0;font:11px system-ui;pointer-events:none}
71
+ svg .node:hover rect,svg .node:focus rect{fill:#355878;stroke:white}svg .edge-label{font-size:9px;fill:#aec1d1}
72
+ .sides{display:grid;grid-template-columns:1fr 1fr;gap:12px}.side{padding:12px;border:1px solid #455d72;min-width:0}
73
+ .boundary{display:block;margin:5px 0}.history-future{opacity:.7}.changes{overflow:auto}.changes table{min-width:800px}
74
+ @media(max-width:980px){main{grid-template-columns:1fr}.sides{grid-template-columns:1fr}header{padding:12px}}
75
+ `;
76
+ //# sourceMappingURL=viewerAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewerAssets.js","sourceRoot":"","sources":["../../../../../src/trace/viewerAssets.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEU,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAkC6B,CAAC;AAE3C,QAAA,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function viewerMain(): void;