wikifier 4.3.1__tar.gz → 4.3.2__tar.gz

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 (43) hide show
  1. {wikifier-4.3.1/wikifier.egg-info → wikifier-4.3.2}/PKG-INFO +1 -1
  2. {wikifier-4.3.1 → wikifier-4.3.2}/index.html +46 -5
  3. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/__init__.py +1 -1
  4. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/index.html +46 -5
  5. {wikifier-4.3.1 → wikifier-4.3.2/wikifier.egg-info}/PKG-INFO +1 -1
  6. {wikifier-4.3.1 → wikifier-4.3.2}/CONTRIBUTING.md +0 -0
  7. {wikifier-4.3.1 → wikifier-4.3.2}/LICENSE +0 -0
  8. {wikifier-4.3.1 → wikifier-4.3.2}/MANIFEST.in +0 -0
  9. {wikifier-4.3.1 → wikifier-4.3.2}/README.md +0 -0
  10. {wikifier-4.3.1 → wikifier-4.3.2}/diagnostics.html +0 -0
  11. {wikifier-4.3.1 → wikifier-4.3.2}/docs/spec.md +0 -0
  12. {wikifier-4.3.1 → wikifier-4.3.2}/pyproject.toml +0 -0
  13. {wikifier-4.3.1 → wikifier-4.3.2}/setup.cfg +0 -0
  14. {wikifier-4.3.1 → wikifier-4.3.2}/skills/run.md +0 -0
  15. {wikifier-4.3.1 → wikifier-4.3.2}/tests/test_barrel_invalidation.py +0 -0
  16. {wikifier-4.3.1 → wikifier-4.3.2}/tests/test_health.py +0 -0
  17. {wikifier-4.3.1 → wikifier-4.3.2}/tests/test_import_cache.py +0 -0
  18. {wikifier-4.3.1 → wikifier-4.3.2}/tests/test_parsers.py +0 -0
  19. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/__main__.py +0 -0
  20. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/cli.py +0 -0
  21. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/contracts.py +0 -0
  22. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/daemon.py +0 -0
  23. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/diagnostics.py +0 -0
  24. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/health.py +0 -0
  25. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/import_cache.py +0 -0
  26. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/library.py +0 -0
  27. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/locking.py +0 -0
  28. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/mcp/__init__.py +0 -0
  29. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/mcp/server.py +0 -0
  30. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/parsers/__init__.py +0 -0
  31. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/parsers/bree.py +0 -0
  32. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/parsers/cdia.py +0 -0
  33. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/parsers/javascript.py +0 -0
  34. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/parsers/python.py +0 -0
  35. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/resolution.py +0 -0
  36. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/scripts/wikifier.bat +0 -0
  37. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/scripts/wikifier.ps1 +0 -0
  38. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier/scripts/wikifier.sh +0 -0
  39. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier.egg-info/SOURCES.txt +0 -0
  40. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier.egg-info/dependency_links.txt +0 -0
  41. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier.egg-info/entry_points.txt +0 -0
  42. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier.egg-info/requires.txt +0 -0
  43. {wikifier-4.3.1 → wikifier-4.3.2}/wikifier.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wikifier
3
- Version: 4.3.1
3
+ Version: 4.3.2
4
4
  Summary: Zero-dependency agent-to-agent codebase wiki for LLMs and AI agents. Autonomously maintained via record-change and mark-green for token-efficient lookup of files, dependencies, health, and summaries — across tiny scripts to 50k+ monorepos. Optional MCP server with rich tools for agents.
5
5
  Author-email: Aron Amos <aron@example.com>
6
6
  Maintainer: Aron Amos
@@ -5,7 +5,26 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Project Wiki</title>
7
7
  <script src="https://cdn.tailwindcss.com"></script>
8
- <script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
8
+ <!-- Version PINNED: the bare mermaid@10 alias let the CDN serve different
9
+ minors with different config schemas (maxEdges top-level vs nested
10
+ under flowchart), making large-graph rendering nondeterministic. -->
11
+ <script src="https://cdn.jsdelivr.net/npm/mermaid@10.9.3/dist/mermaid.min.js"></script>
12
+ <script>
13
+ // Configure Mermaid ONCE, immediately:
14
+ // - startOnLoad:false — the default auto-start processes .mermaid
15
+ // elements at page load with default config, racing the explicit
16
+ // render in loadMermaid().
17
+ // - maxEdges in BOTH placements — builds differ on where they read it
18
+ // (top-level is also a "secure" key, so it must be set here via
19
+ // initialize, never via in-diagram directives). Default 500 broke
20
+ // every repo whose graph used the generator's 600-edge budget.
21
+ if (window.mermaid) mermaid.initialize({
22
+ startOnLoad: false,
23
+ theme: 'dark',
24
+ maxEdges: 1500,
25
+ flowchart: { maxEdges: 1500 }
26
+ });
27
+ </script>
9
28
  <style>
10
29
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&amp;family=Space+Grotesk:wght@500;600&amp;display=swap');
11
30
 
@@ -161,7 +180,10 @@
161
180
  class="text-xs px-3 py-1.5 rounded-xl bg-emerald-900/30 hover:bg-emerald-900/50 text-emerald-400 border border-emerald-800">Rebuild tree</button>
162
181
  </div>
163
182
  <div id="mermaid-container" class="bg-slate-950 border border-slate-800 rounded-2xl p-5 min-h-[340px]">
164
- <div id="mermaid-diagram" class="mermaid"></div>
183
+ <!-- NOTE: no class="mermaid" here — that class marks
184
+ auto-start targets; the render target is the inner
185
+ <pre class="mermaid"> created by loadMermaid(). -->
186
+ <div id="mermaid-diagram"></div>
165
187
  </div>
166
188
  <div class="mt-4 flex flex-wrap gap-x-3 gap-y-2">
167
189
  <button onclick="copyMermaidSource()"
@@ -593,12 +615,31 @@
593
615
 
594
616
  const match = md.match(/```mermaid\n([\s\S]*?)```/);
595
617
  if (match && match[1]) {
596
- container.innerHTML = `<pre class="mermaid">${match[1]}</pre>`;
618
+ // textContent (not template-in-innerHTML) so the Mermaid source
619
+ // can never be interpreted as HTML.
620
+ container.innerHTML = '<pre class="mermaid"></pre>';
621
+ container.querySelector('.mermaid').textContent = match[1];
597
622
  if (window.mermaid) {
598
623
  try {
599
- mermaid.initialize({ startOnLoad: false, theme: 'dark' });
624
+ // Re-assert the same config as the early <head> init
625
+ // (some builds re-read it per render; keep both maxEdges
626
+ // placements — see the comment at the script tag).
627
+ mermaid.initialize({
628
+ startOnLoad: false,
629
+ theme: 'dark',
630
+ maxEdges: 1500,
631
+ flowchart: { maxEdges: 1500 }
632
+ });
600
633
  await mermaid.run({ nodes: [container.querySelector('.mermaid')] });
601
- } catch(e) { /* ignore render err */ }
634
+ } catch(e) {
635
+ // Never fail silently: show what broke + how to inspect.
636
+ const msg = (e && (e.message || e.str)) || String(e);
637
+ container.innerHTML = `<div class="text-sm p-4 bg-slate-900 border border-amber-700 rounded">
638
+ <div class="font-semibold mb-1 text-amber-400">Structure map could not be rendered</div>
639
+ <div class="text-slate-300 text-xs font-mono">${String(msg).replace(/[<>&]/g, c => ({'<':'&lt;','>':'&gt;','&':'&amp;'}[c])).slice(0, 300)}</div>
640
+ <div class="mt-2 text-[11px] text-slate-400">The underlying map data in <span class="font-mono">library.md</span> is intact — use "Copy structure as text" or open library.md directly.</div>
641
+ </div>`;
642
+ }
602
643
  }
603
644
  } else {
604
645
  container.innerHTML = `<div class="text-xs text-slate-400 p-4">No Mermaid diagram found in library.md.<br>Run <span class="font-mono text-emerald-400">wikifier update-maps</span> then refresh.</div>`;
@@ -61,4 +61,4 @@ from .contracts import (
61
61
  compute_acs_confidence,
62
62
  )
63
63
 
64
- __version__ = "4.3.1"
64
+ __version__ = "4.3.2"
@@ -5,7 +5,26 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Project Wiki</title>
7
7
  <script src="https://cdn.tailwindcss.com"></script>
8
- <script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
8
+ <!-- Version PINNED: the bare mermaid@10 alias let the CDN serve different
9
+ minors with different config schemas (maxEdges top-level vs nested
10
+ under flowchart), making large-graph rendering nondeterministic. -->
11
+ <script src="https://cdn.jsdelivr.net/npm/mermaid@10.9.3/dist/mermaid.min.js"></script>
12
+ <script>
13
+ // Configure Mermaid ONCE, immediately:
14
+ // - startOnLoad:false — the default auto-start processes .mermaid
15
+ // elements at page load with default config, racing the explicit
16
+ // render in loadMermaid().
17
+ // - maxEdges in BOTH placements — builds differ on where they read it
18
+ // (top-level is also a "secure" key, so it must be set here via
19
+ // initialize, never via in-diagram directives). Default 500 broke
20
+ // every repo whose graph used the generator's 600-edge budget.
21
+ if (window.mermaid) mermaid.initialize({
22
+ startOnLoad: false,
23
+ theme: 'dark',
24
+ maxEdges: 1500,
25
+ flowchart: { maxEdges: 1500 }
26
+ });
27
+ </script>
9
28
  <style>
10
29
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&amp;family=Space+Grotesk:wght@500;600&amp;display=swap');
11
30
 
@@ -161,7 +180,10 @@
161
180
  class="text-xs px-3 py-1.5 rounded-xl bg-emerald-900/30 hover:bg-emerald-900/50 text-emerald-400 border border-emerald-800">Rebuild tree</button>
162
181
  </div>
163
182
  <div id="mermaid-container" class="bg-slate-950 border border-slate-800 rounded-2xl p-5 min-h-[340px]">
164
- <div id="mermaid-diagram" class="mermaid"></div>
183
+ <!-- NOTE: no class="mermaid" here — that class marks
184
+ auto-start targets; the render target is the inner
185
+ <pre class="mermaid"> created by loadMermaid(). -->
186
+ <div id="mermaid-diagram"></div>
165
187
  </div>
166
188
  <div class="mt-4 flex flex-wrap gap-x-3 gap-y-2">
167
189
  <button onclick="copyMermaidSource()"
@@ -593,12 +615,31 @@
593
615
 
594
616
  const match = md.match(/```mermaid\n([\s\S]*?)```/);
595
617
  if (match && match[1]) {
596
- container.innerHTML = `<pre class="mermaid">${match[1]}</pre>`;
618
+ // textContent (not template-in-innerHTML) so the Mermaid source
619
+ // can never be interpreted as HTML.
620
+ container.innerHTML = '<pre class="mermaid"></pre>';
621
+ container.querySelector('.mermaid').textContent = match[1];
597
622
  if (window.mermaid) {
598
623
  try {
599
- mermaid.initialize({ startOnLoad: false, theme: 'dark' });
624
+ // Re-assert the same config as the early <head> init
625
+ // (some builds re-read it per render; keep both maxEdges
626
+ // placements — see the comment at the script tag).
627
+ mermaid.initialize({
628
+ startOnLoad: false,
629
+ theme: 'dark',
630
+ maxEdges: 1500,
631
+ flowchart: { maxEdges: 1500 }
632
+ });
600
633
  await mermaid.run({ nodes: [container.querySelector('.mermaid')] });
601
- } catch(e) { /* ignore render err */ }
634
+ } catch(e) {
635
+ // Never fail silently: show what broke + how to inspect.
636
+ const msg = (e && (e.message || e.str)) || String(e);
637
+ container.innerHTML = `<div class="text-sm p-4 bg-slate-900 border border-amber-700 rounded">
638
+ <div class="font-semibold mb-1 text-amber-400">Structure map could not be rendered</div>
639
+ <div class="text-slate-300 text-xs font-mono">${String(msg).replace(/[<>&]/g, c => ({'<':'&lt;','>':'&gt;','&':'&amp;'}[c])).slice(0, 300)}</div>
640
+ <div class="mt-2 text-[11px] text-slate-400">The underlying map data in <span class="font-mono">library.md</span> is intact — use "Copy structure as text" or open library.md directly.</div>
641
+ </div>`;
642
+ }
602
643
  }
603
644
  } else {
604
645
  container.innerHTML = `<div class="text-xs text-slate-400 p-4">No Mermaid diagram found in library.md.<br>Run <span class="font-mono text-emerald-400">wikifier update-maps</span> then refresh.</div>`;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wikifier
3
- Version: 4.3.1
3
+ Version: 4.3.2
4
4
  Summary: Zero-dependency agent-to-agent codebase wiki for LLMs and AI agents. Autonomously maintained via record-change and mark-green for token-efficient lookup of files, dependencies, health, and summaries — across tiny scripts to 50k+ monorepos. Optional MCP server with rich tools for agents.
5
5
  Author-email: Aron Amos <aron@example.com>
6
6
  Maintainer: Aron Amos
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes