specweave 0.32.9 → 0.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +106 -1
- package/dist/src/cli/add-child-pid.d.ts +11 -0
- package/dist/src/cli/add-child-pid.d.ts.map +1 -0
- package/dist/src/cli/add-child-pid.js +42 -0
- package/dist/src/cli/add-child-pid.js.map +1 -0
- package/dist/src/cli/add-child-process.d.ts +15 -0
- package/dist/src/cli/add-child-process.d.ts.map +1 -0
- package/dist/src/cli/add-child-process.js +40 -0
- package/dist/src/cli/add-child-process.js.map +1 -0
- package/dist/src/cli/check-watchdog.d.ts +15 -0
- package/dist/src/cli/check-watchdog.d.ts.map +1 -0
- package/dist/src/cli/check-watchdog.js +47 -0
- package/dist/src/cli/check-watchdog.js.map +1 -0
- package/dist/src/cli/cleanup-zombies.d.ts +14 -0
- package/dist/src/cli/cleanup-zombies.d.ts.map +1 -0
- package/dist/src/cli/cleanup-zombies.js +268 -0
- package/dist/src/cli/cleanup-zombies.js.map +1 -0
- package/dist/src/cli/commands/jobs.js +9 -2
- package/dist/src/cli/commands/jobs.js.map +1 -1
- package/dist/src/cli/find-session-by-pid.d.ts +14 -0
- package/dist/src/cli/find-session-by-pid.d.ts.map +1 -0
- package/dist/src/cli/find-session-by-pid.js +45 -0
- package/dist/src/cli/find-session-by-pid.js.map +1 -0
- package/dist/src/cli/get-stale-sessions.d.ts +17 -0
- package/dist/src/cli/get-stale-sessions.d.ts.map +1 -0
- package/dist/src/cli/get-stale-sessions.js +36 -0
- package/dist/src/cli/get-stale-sessions.js.map +1 -0
- package/dist/src/cli/register-session.d.ts +16 -0
- package/dist/src/cli/register-session.d.ts.map +1 -0
- package/dist/src/cli/register-session.js +48 -0
- package/dist/src/cli/register-session.js.map +1 -0
- package/dist/src/cli/remove-session.d.ts +11 -0
- package/dist/src/cli/remove-session.d.ts.map +1 -0
- package/dist/src/cli/remove-session.js +36 -0
- package/dist/src/cli/remove-session.js.map +1 -0
- package/dist/src/cli/update-heartbeat.d.ts +11 -0
- package/dist/src/cli/update-heartbeat.d.ts.map +1 -0
- package/dist/src/cli/update-heartbeat.js +36 -0
- package/dist/src/cli/update-heartbeat.js.map +1 -0
- package/dist/src/cli/workers/living-docs-worker.js +6 -0
- package/dist/src/cli/workers/living-docs-worker.js.map +1 -1
- package/dist/src/config/types.d.ts +1208 -203
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/core/background/job-launcher.d.ts.map +1 -1
- package/dist/src/core/background/job-launcher.js +7 -4
- package/dist/src/core/background/job-launcher.js.map +1 -1
- package/dist/src/core/background/job-manager.d.ts +25 -0
- package/dist/src/core/background/job-manager.d.ts.map +1 -1
- package/dist/src/core/background/job-manager.js +136 -15
- package/dist/src/core/background/job-manager.js.map +1 -1
- package/dist/src/core/increment/increment-utils.d.ts +26 -1
- package/dist/src/core/increment/increment-utils.d.ts.map +1 -1
- package/dist/src/core/increment/increment-utils.js +66 -4
- package/dist/src/core/increment/increment-utils.js.map +1 -1
- package/dist/src/core/increment/status-change-sync-trigger.d.ts +3 -1
- package/dist/src/core/increment/status-change-sync-trigger.d.ts.map +1 -1
- package/dist/src/core/increment/status-change-sync-trigger.js +5 -2
- package/dist/src/core/increment/status-change-sync-trigger.js.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/architecture-generator.d.ts.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/architecture-generator.js +48 -12
- package/dist/src/core/living-docs/intelligent-analyzer/architecture-generator.js.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/cache-manager.d.ts +70 -0
- package/dist/src/core/living-docs/intelligent-analyzer/cache-manager.d.ts.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/cache-manager.js +188 -0
- package/dist/src/core/living-docs/intelligent-analyzer/cache-manager.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/dashboard-generator.d.ts +33 -0
- package/dist/src/core/living-docs/intelligent-analyzer/dashboard-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/dashboard-generator.js +290 -0
- package/dist/src/core/living-docs/intelligent-analyzer/dashboard-generator.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.d.ts.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.js +114 -11
- package/dist/src/core/living-docs/intelligent-analyzer/deep-repo-analyzer.js.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/graph-visualizer.d.ts +23 -0
- package/dist/src/core/living-docs/intelligent-analyzer/graph-visualizer.d.ts.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/graph-visualizer.js +283 -0
- package/dist/src/core/living-docs/intelligent-analyzer/graph-visualizer.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/mermaid-generator.d.ts +44 -0
- package/dist/src/core/living-docs/intelligent-analyzer/mermaid-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/mermaid-generator.js +61 -0
- package/dist/src/core/living-docs/intelligent-analyzer/mermaid-generator.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/orchestrator.d.ts +126 -0
- package/dist/src/core/living-docs/intelligent-analyzer/orchestrator.d.ts.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/orchestrator.js +378 -0
- package/dist/src/core/living-docs/intelligent-analyzer/orchestrator.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/organization-synthesizer.d.ts.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/organization-synthesizer.js +57 -0
- package/dist/src/core/living-docs/intelligent-analyzer/organization-synthesizer.js.map +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/pattern-analyzer.d.ts +82 -0
- package/dist/src/core/living-docs/intelligent-analyzer/pattern-analyzer.d.ts.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/pattern-analyzer.js +430 -0
- package/dist/src/core/living-docs/intelligent-analyzer/pattern-analyzer.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/repo-scanner.d.ts +84 -0
- package/dist/src/core/living-docs/intelligent-analyzer/repo-scanner.d.ts.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/repo-scanner.js +387 -0
- package/dist/src/core/living-docs/intelligent-analyzer/repo-scanner.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/report-writer.d.ts +61 -0
- package/dist/src/core/living-docs/intelligent-analyzer/report-writer.d.ts.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/report-writer.js +174 -0
- package/dist/src/core/living-docs/intelligent-analyzer/report-writer.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/types.d.ts +1 -1
- package/dist/src/core/living-docs/intelligent-analyzer/types.d.ts.map +1 -1
- package/dist/src/core/living-docs/module-analyzer.d.ts +3 -0
- package/dist/src/core/living-docs/module-analyzer.d.ts.map +1 -1
- package/dist/src/core/living-docs/module-analyzer.js +40 -1
- package/dist/src/core/living-docs/module-analyzer.js.map +1 -1
- package/dist/src/core/qa/qa-runner.js +1 -1
- package/dist/src/core/qa/qa-runner.js.map +1 -1
- package/dist/src/core/scheduler/session-sync-executor.js +1 -1
- package/dist/src/core/scheduler/session-sync-executor.js.map +1 -1
- package/dist/src/core/status-line/status-line-updater.d.ts +1 -1
- package/dist/src/core/status-line/status-line-updater.d.ts.map +1 -1
- package/dist/src/core/status-line/status-line-updater.js +4 -3
- package/dist/src/core/status-line/status-line-updater.js.map +1 -1
- package/dist/src/importers/jira-importer.d.ts.map +1 -1
- package/dist/src/importers/jira-importer.js +26 -10
- package/dist/src/importers/jira-importer.js.map +1 -1
- package/dist/src/init/architecture/types.d.ts +140 -33
- package/dist/src/init/architecture/types.d.ts.map +1 -1
- package/dist/src/init/compliance/types.d.ts +27 -30
- package/dist/src/init/compliance/types.d.ts.map +1 -1
- package/dist/src/init/repo/types.d.ts +34 -11
- package/dist/src/init/repo/types.d.ts.map +1 -1
- package/dist/src/init/research/src/config/types.d.ts +82 -15
- package/dist/src/init/research/src/config/types.d.ts.map +1 -1
- package/dist/src/init/research/types.d.ts +93 -38
- package/dist/src/init/research/types.d.ts.map +1 -1
- package/dist/src/init/team/types.d.ts +42 -4
- package/dist/src/init/team/types.d.ts.map +1 -1
- package/dist/src/sync/ado-reconciler.js +1 -1
- package/dist/src/sync/ado-reconciler.js.map +1 -1
- package/dist/src/sync/github-reconciler.js +1 -1
- package/dist/src/sync/github-reconciler.js.map +1 -1
- package/dist/src/sync/jira-reconciler.js +1 -1
- package/dist/src/sync/jira-reconciler.js.map +1 -1
- package/dist/src/types/session.d.ts +65 -0
- package/dist/src/types/session.d.ts.map +1 -0
- package/dist/src/types/session.js +8 -0
- package/dist/src/types/session.js.map +1 -0
- package/dist/src/utils/lock-manager.d.ts +48 -0
- package/dist/src/utils/lock-manager.d.ts.map +1 -0
- package/dist/src/utils/lock-manager.js +195 -0
- package/dist/src/utils/lock-manager.js.map +1 -0
- package/dist/src/utils/notification-manager.d.ts +45 -0
- package/dist/src/utils/notification-manager.d.ts.map +1 -0
- package/dist/src/utils/notification-manager.js +130 -0
- package/dist/src/utils/notification-manager.js.map +1 -0
- package/dist/src/utils/platform-utils.d.ts +136 -0
- package/dist/src/utils/platform-utils.d.ts.map +1 -0
- package/dist/src/utils/platform-utils.js +366 -0
- package/dist/src/utils/platform-utils.js.map +1 -0
- package/dist/src/utils/session-registry.d.ts +142 -0
- package/dist/src/utils/session-registry.d.ts.map +1 -0
- package/dist/src/utils/session-registry.js +480 -0
- package/dist/src/utils/session-registry.js.map +1 -0
- package/package.json +5 -2
- package/plugins/specweave/commands/specweave-living-docs.md +42 -0
- package/plugins/specweave/hooks/hooks.json +10 -0
- package/plugins/specweave/hooks/lib/update-active-increment.sh +2 -2
- package/plugins/specweave/hooks/lib/update-status-line.sh +1 -1
- package/plugins/specweave/hooks/post-increment-status-change.sh +3 -3
- package/plugins/specweave/hooks/post-metadata-change.sh +1 -1
- package/plugins/specweave/hooks/universal/hook-wrapper.cmd +26 -26
- package/plugins/specweave/hooks/universal/session-start.cmd +16 -16
- package/plugins/specweave/hooks/universal/session-start.ps1 +16 -16
- package/plugins/specweave/hooks/user-prompt-submit.sh +2 -2
- package/plugins/specweave/hooks/v2/guards/increment-root-guard.sh +61 -0
- package/plugins/specweave/hooks/v2/session-end.sh +69 -0
- package/plugins/specweave/hooks/v2/session-start.sh +81 -0
- package/plugins/specweave/lib/vendor/sync/github-reconciler.js +1 -1
- package/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
- package/plugins/specweave/scripts/heartbeat.sh +110 -0
- package/plugins/specweave/scripts/progress.js +34 -4
- package/plugins/specweave/scripts/read-jobs.sh +1 -1
- package/plugins/specweave/scripts/read-progress.sh +50 -5
- package/plugins/specweave/scripts/read-workflow.sh +1 -1
- package/plugins/specweave/scripts/session-watchdog.sh +65 -0
- package/plugins/specweave/scripts/status.js +28 -11
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +738 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +1107 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive Graph Visualizer
|
|
3
|
+
*
|
|
4
|
+
* Generates standalone HTML files with D3.js-powered interactive dependency graphs.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generates interactive HTML visualizations using D3.js.
|
|
8
|
+
*/
|
|
9
|
+
export class GraphVisualizer {
|
|
10
|
+
/**
|
|
11
|
+
* Generate standalone HTML file with interactive module graph.
|
|
12
|
+
*/
|
|
13
|
+
generateInteractiveGraph(graph, circularDeps = [], options = {}) {
|
|
14
|
+
const { title = 'Module Dependency Graph', highlightCircular = true, enableSearch = true, enableFilters = true, } = options;
|
|
15
|
+
// Prepare data for D3.js
|
|
16
|
+
const nodes = graph.nodes.map(node => ({
|
|
17
|
+
id: node.id,
|
|
18
|
+
name: node.name,
|
|
19
|
+
type: node.type,
|
|
20
|
+
repo: node.repo,
|
|
21
|
+
isCircular: this.isNodeInCircularDep(node.id, circularDeps),
|
|
22
|
+
}));
|
|
23
|
+
const links = graph.edges.map(edge => ({
|
|
24
|
+
source: edge.from,
|
|
25
|
+
target: edge.to,
|
|
26
|
+
type: edge.type,
|
|
27
|
+
count: edge.count,
|
|
28
|
+
}));
|
|
29
|
+
// Generate HTML with embedded D3.js
|
|
30
|
+
return `<!DOCTYPE html>
|
|
31
|
+
<html lang="en">
|
|
32
|
+
<head>
|
|
33
|
+
<meta charset="UTF-8">
|
|
34
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
35
|
+
<title>${title}</title>
|
|
36
|
+
<script src="https://d3js.org/d3.v7.min.js"></script>
|
|
37
|
+
<style>
|
|
38
|
+
body {
|
|
39
|
+
margin: 0;
|
|
40
|
+
font-family: Arial, sans-serif;
|
|
41
|
+
overflow: hidden;
|
|
42
|
+
}
|
|
43
|
+
#graph {
|
|
44
|
+
width: 100vw;
|
|
45
|
+
height: 100vh;
|
|
46
|
+
}
|
|
47
|
+
.controls {
|
|
48
|
+
position: absolute;
|
|
49
|
+
top: 10px;
|
|
50
|
+
left: 10px;
|
|
51
|
+
background: white;
|
|
52
|
+
padding: 15px;
|
|
53
|
+
border-radius: 8px;
|
|
54
|
+
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
55
|
+
z-index: 1000;
|
|
56
|
+
}
|
|
57
|
+
.controls h3 {
|
|
58
|
+
margin: 0 0 10px 0;
|
|
59
|
+
font-size: 16px;
|
|
60
|
+
}
|
|
61
|
+
.controls input[type="text"] {
|
|
62
|
+
width: 200px;
|
|
63
|
+
padding: 5px;
|
|
64
|
+
margin-bottom: 10px;
|
|
65
|
+
}
|
|
66
|
+
.controls label {
|
|
67
|
+
display: block;
|
|
68
|
+
margin: 5px 0;
|
|
69
|
+
font-size: 14px;
|
|
70
|
+
}
|
|
71
|
+
.node {
|
|
72
|
+
cursor: pointer;
|
|
73
|
+
stroke: #fff;
|
|
74
|
+
stroke-width: 2px;
|
|
75
|
+
}
|
|
76
|
+
.node.component { fill: #4A90E2; }
|
|
77
|
+
.node.service { fill: #7ED321; }
|
|
78
|
+
.node.util { fill: #F5A623; }
|
|
79
|
+
.node.config { fill: #BD10E0; }
|
|
80
|
+
.node.circular { fill: #D0021B; }
|
|
81
|
+
.link {
|
|
82
|
+
stroke: #999;
|
|
83
|
+
stroke-opacity: 0.6;
|
|
84
|
+
stroke-width: 1.5px;
|
|
85
|
+
}
|
|
86
|
+
.link-label {
|
|
87
|
+
font-size: 10px;
|
|
88
|
+
fill: #666;
|
|
89
|
+
}
|
|
90
|
+
.detail-panel {
|
|
91
|
+
position: absolute;
|
|
92
|
+
top: 10px;
|
|
93
|
+
right: 10px;
|
|
94
|
+
width: 300px;
|
|
95
|
+
background: white;
|
|
96
|
+
padding: 15px;
|
|
97
|
+
border-radius: 8px;
|
|
98
|
+
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
99
|
+
z-index: 1000;
|
|
100
|
+
display: none;
|
|
101
|
+
}
|
|
102
|
+
.detail-panel h3 {
|
|
103
|
+
margin: 0 0 10px 0;
|
|
104
|
+
font-size: 16px;
|
|
105
|
+
}
|
|
106
|
+
.detail-panel .close {
|
|
107
|
+
float: right;
|
|
108
|
+
cursor: pointer;
|
|
109
|
+
font-size: 18px;
|
|
110
|
+
font-weight: bold;
|
|
111
|
+
}
|
|
112
|
+
</style>
|
|
113
|
+
</head>
|
|
114
|
+
<body>
|
|
115
|
+
<div class="controls">
|
|
116
|
+
<h3>Controls</h3>
|
|
117
|
+
${enableSearch ? '<input type="text" id="search" placeholder="Search modules...">' : ''}
|
|
118
|
+
${enableFilters ? `
|
|
119
|
+
<div>
|
|
120
|
+
<label><input type="checkbox" class="filter" value="component" checked> Components</label>
|
|
121
|
+
<label><input type="checkbox" class="filter" value="service" checked> Services</label>
|
|
122
|
+
<label><input type="checkbox" class="filter" value="util" checked> Utils</label>
|
|
123
|
+
<label><input type="checkbox" class="filter" value="config" checked> Config</label>
|
|
124
|
+
</div>
|
|
125
|
+
` : ''}
|
|
126
|
+
<p style="margin-top: 10px; font-size: 12px; color: #666;">
|
|
127
|
+
Zoom: Scroll | Pan: Drag | Click: Details
|
|
128
|
+
</p>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
<div class="detail-panel" id="detailPanel">
|
|
132
|
+
<span class="close" onclick="document.getElementById('detailPanel').style.display='none'">×</span>
|
|
133
|
+
<h3 id="detailTitle"></h3>
|
|
134
|
+
<div id="detailContent"></div>
|
|
135
|
+
</div>
|
|
136
|
+
|
|
137
|
+
<svg id="graph"></svg>
|
|
138
|
+
|
|
139
|
+
<script>
|
|
140
|
+
const graphData = {
|
|
141
|
+
nodes: ${JSON.stringify(nodes)},
|
|
142
|
+
links: ${JSON.stringify(links)}
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
const width = window.innerWidth;
|
|
146
|
+
const height = window.innerHeight;
|
|
147
|
+
|
|
148
|
+
const svg = d3.select('#graph')
|
|
149
|
+
.attr('width', width)
|
|
150
|
+
.attr('height', height);
|
|
151
|
+
|
|
152
|
+
const g = svg.append('g');
|
|
153
|
+
|
|
154
|
+
// Zoom behavior
|
|
155
|
+
const zoom = d3.zoom()
|
|
156
|
+
.scaleExtent([0.1, 4])
|
|
157
|
+
.on('zoom', (event) => {
|
|
158
|
+
g.attr('transform', event.transform);
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
svg.call(zoom);
|
|
162
|
+
|
|
163
|
+
// Force simulation
|
|
164
|
+
const simulation = d3.forceSimulation(graphData.nodes)
|
|
165
|
+
.force('link', d3.forceLink(graphData.links).id(d => d.id).distance(100))
|
|
166
|
+
.force('charge', d3.forceManyBody().strength(-300))
|
|
167
|
+
.force('center', d3.forceCenter(width / 2, height / 2))
|
|
168
|
+
.force('collision', d3.forceCollide().radius(30));
|
|
169
|
+
|
|
170
|
+
// Links
|
|
171
|
+
const link = g.append('g')
|
|
172
|
+
.selectAll('line')
|
|
173
|
+
.data(graphData.links)
|
|
174
|
+
.join('line')
|
|
175
|
+
.attr('class', 'link');
|
|
176
|
+
|
|
177
|
+
// Nodes
|
|
178
|
+
const node = g.append('g')
|
|
179
|
+
.selectAll('circle')
|
|
180
|
+
.data(graphData.nodes)
|
|
181
|
+
.join('circle')
|
|
182
|
+
.attr('class', d => \`node \${d.isCircular ? 'circular' : d.type}\`)
|
|
183
|
+
.attr('r', 10)
|
|
184
|
+
.call(d3.drag()
|
|
185
|
+
.on('start', dragstarted)
|
|
186
|
+
.on('drag', dragged)
|
|
187
|
+
.on('end', dragended))
|
|
188
|
+
.on('click', showDetails);
|
|
189
|
+
|
|
190
|
+
// Labels
|
|
191
|
+
const label = g.append('g')
|
|
192
|
+
.selectAll('text')
|
|
193
|
+
.data(graphData.nodes)
|
|
194
|
+
.join('text')
|
|
195
|
+
.text(d => d.name)
|
|
196
|
+
.attr('font-size', 12)
|
|
197
|
+
.attr('dx', 15)
|
|
198
|
+
.attr('dy', 4);
|
|
199
|
+
|
|
200
|
+
simulation.on('tick', () => {
|
|
201
|
+
link
|
|
202
|
+
.attr('x1', d => d.source.x)
|
|
203
|
+
.attr('y1', d => d.source.y)
|
|
204
|
+
.attr('x2', d => d.target.x)
|
|
205
|
+
.attr('y2', d => d.target.y);
|
|
206
|
+
|
|
207
|
+
node
|
|
208
|
+
.attr('cx', d => d.x)
|
|
209
|
+
.attr('cy', d => d.y);
|
|
210
|
+
|
|
211
|
+
label
|
|
212
|
+
.attr('x', d => d.x)
|
|
213
|
+
.attr('y', d => d.y);
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
// Drag functions
|
|
217
|
+
function dragstarted(event, d) {
|
|
218
|
+
if (!event.active) simulation.alphaTarget(0.3).restart();
|
|
219
|
+
d.fx = d.x;
|
|
220
|
+
d.fy = d.y;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
function dragged(event, d) {
|
|
224
|
+
d.fx = event.x;
|
|
225
|
+
d.fy = event.y;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
function dragended(event, d) {
|
|
229
|
+
if (!event.active) simulation.alphaTarget(0);
|
|
230
|
+
d.fx = null;
|
|
231
|
+
d.fy = null;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Show details panel
|
|
235
|
+
function showDetails(event, d) {
|
|
236
|
+
const panel = document.getElementById('detailPanel');
|
|
237
|
+
const title = document.getElementById('detailTitle');
|
|
238
|
+
const content = document.getElementById('detailContent');
|
|
239
|
+
|
|
240
|
+
title.textContent = d.name;
|
|
241
|
+
|
|
242
|
+
const dependencies = graphData.links.filter(l => l.source.id === d.id);
|
|
243
|
+
const dependents = graphData.links.filter(l => l.target.id === d.id);
|
|
244
|
+
|
|
245
|
+
content.innerHTML = \`
|
|
246
|
+
<p><strong>Type:</strong> \${d.type}</p>
|
|
247
|
+
<p><strong>Repo:</strong> \${d.repo}</p>
|
|
248
|
+
<p><strong>Dependencies:</strong> \${dependencies.length}</p>
|
|
249
|
+
<p><strong>Dependents:</strong> \${dependents.length}</p>
|
|
250
|
+
\${d.isCircular ? '<p style="color: red;"><strong>⚠️ Part of circular dependency!</strong></p>' : ''}
|
|
251
|
+
\`;
|
|
252
|
+
|
|
253
|
+
panel.style.display = 'block';
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Search functionality
|
|
257
|
+
${enableSearch ? `
|
|
258
|
+
document.getElementById('search').addEventListener('input', (e) => {
|
|
259
|
+
const query = e.target.value.toLowerCase();
|
|
260
|
+
node.style('opacity', d => d.name.toLowerCase().includes(query) ? 1 : 0.2);
|
|
261
|
+
label.style('opacity', d => d.name.toLowerCase().includes(query) ? 1 : 0.2);
|
|
262
|
+
});
|
|
263
|
+
` : ''}
|
|
264
|
+
|
|
265
|
+
// Filter functionality
|
|
266
|
+
${enableFilters ? `
|
|
267
|
+
document.querySelectorAll('.filter').forEach(checkbox => {
|
|
268
|
+
checkbox.addEventListener('change', () => {
|
|
269
|
+
const activeFilters = Array.from(document.querySelectorAll('.filter:checked')).map(c => c.value);
|
|
270
|
+
node.style('display', d => activeFilters.includes(d.type) ? 'block' : 'none');
|
|
271
|
+
label.style('display', d => activeFilters.includes(d.type) ? 'block' : 'none');
|
|
272
|
+
});
|
|
273
|
+
});
|
|
274
|
+
` : ''}
|
|
275
|
+
</script>
|
|
276
|
+
</body>
|
|
277
|
+
</html>`;
|
|
278
|
+
}
|
|
279
|
+
isNodeInCircularDep(nodeId, circularDeps) {
|
|
280
|
+
return circularDeps.some(dep => dep.cycle.includes(nodeId));
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=graph-visualizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-visualizer.js","sourceRoot":"","sources":["../../../../../src/core/living-docs/intelligent-analyzer/graph-visualizer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;;OAEG;IACH,wBAAwB,CACtB,KAAkB,EAClB,eAA8B,EAAE,EAChC,UAAkC,EAAE;QAEpC,MAAM,EACJ,KAAK,GAAG,yBAAyB,EACjC,iBAAiB,GAAG,IAAI,EACxB,YAAY,GAAG,IAAI,EACnB,aAAa,GAAG,IAAI,GACrB,GAAG,OAAO,CAAC;QAEZ,yBAAyB;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC;SAC5D,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC,CAAC;QAEJ,oCAAoC;QACpC,OAAO;;;;;WAKA,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkFV,YAAY,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,EAAE;MACrF,aAAa,CAAC,CAAC,CAAC;;;;;;;KAOjB,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;eAgBK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;eACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmH9B,YAAY,CAAC,CAAC,CAAC;;;;;;KAMhB,CAAC,CAAC,CAAC,EAAE;;;MAGJ,aAAa,CAAC,CAAC,CAAC;;;;;;;;KAQjB,CAAC,CAAC,CAAC,EAAE;;;QAGF,CAAC;IACP,CAAC;IAEO,mBAAmB,CAAC,MAAc,EAAE,YAA2B;QACrE,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mermaid Diagram Generator
|
|
3
|
+
*
|
|
4
|
+
* Exports module graphs and team structures to Mermaid diagram format.
|
|
5
|
+
*/
|
|
6
|
+
export interface ModuleGraph {
|
|
7
|
+
nodes: Module[];
|
|
8
|
+
edges: Dependency[];
|
|
9
|
+
}
|
|
10
|
+
export interface Module {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
path: string;
|
|
14
|
+
type: 'component' | 'service' | 'util' | 'config';
|
|
15
|
+
repo: string;
|
|
16
|
+
}
|
|
17
|
+
export interface Dependency {
|
|
18
|
+
from: string;
|
|
19
|
+
to: string;
|
|
20
|
+
type: 'import' | 'require' | 'dynamic';
|
|
21
|
+
count: number;
|
|
22
|
+
}
|
|
23
|
+
export interface CircularDep {
|
|
24
|
+
cycle: string[];
|
|
25
|
+
severity: 'warning' | 'error';
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generates Mermaid diagrams from module graphs.
|
|
29
|
+
*/
|
|
30
|
+
export declare class MermaidGenerator {
|
|
31
|
+
/**
|
|
32
|
+
* Export module graph to Mermaid diagram.
|
|
33
|
+
*/
|
|
34
|
+
exportModuleGraph(graph: ModuleGraph, circularDeps?: CircularDep[]): string;
|
|
35
|
+
/**
|
|
36
|
+
* Export team structure to Mermaid organization chart.
|
|
37
|
+
*/
|
|
38
|
+
exportTeamStructure(teams: any[]): string;
|
|
39
|
+
/**
|
|
40
|
+
* Sanitize ID for Mermaid (remove special characters).
|
|
41
|
+
*/
|
|
42
|
+
private sanitizeId;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=mermaid-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid-generator.d.ts","sourceRoot":"","sources":["../../../../../src/core/living-docs/intelligent-analyzer/mermaid-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM;IA4B3E;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;IAoBzC;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mermaid Diagram Generator
|
|
3
|
+
*
|
|
4
|
+
* Exports module graphs and team structures to Mermaid diagram format.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generates Mermaid diagrams from module graphs.
|
|
8
|
+
*/
|
|
9
|
+
export class MermaidGenerator {
|
|
10
|
+
/**
|
|
11
|
+
* Export module graph to Mermaid diagram.
|
|
12
|
+
*/
|
|
13
|
+
exportModuleGraph(graph, circularDeps) {
|
|
14
|
+
let mmd = 'graph TD\n';
|
|
15
|
+
// Add nodes
|
|
16
|
+
for (const node of graph.nodes) {
|
|
17
|
+
const label = `${node.name}\\n(${node.type})`;
|
|
18
|
+
mmd += ` ${this.sanitizeId(node.id)}["${label}"]\n`;
|
|
19
|
+
}
|
|
20
|
+
mmd += '\n';
|
|
21
|
+
// Add edges
|
|
22
|
+
for (const edge of graph.edges) {
|
|
23
|
+
mmd += ` ${this.sanitizeId(edge.from)} --> ${this.sanitizeId(edge.to)}\n`;
|
|
24
|
+
}
|
|
25
|
+
// Highlight circular dependencies
|
|
26
|
+
if (circularDeps && circularDeps.length > 0) {
|
|
27
|
+
mmd += '\n %% Circular dependencies highlighted in red\n';
|
|
28
|
+
for (const cycle of circularDeps) {
|
|
29
|
+
const ids = cycle.cycle.map(id => this.sanitizeId(id)).join(',');
|
|
30
|
+
mmd += ` style ${ids} fill:#ff6b6b\n`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return mmd;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Export team structure to Mermaid organization chart.
|
|
37
|
+
*/
|
|
38
|
+
exportTeamStructure(teams) {
|
|
39
|
+
let mmd = 'graph TD\n';
|
|
40
|
+
mmd += ' ROOT[Organization]\n\n';
|
|
41
|
+
for (const team of teams) {
|
|
42
|
+
const teamId = this.sanitizeId(team.name);
|
|
43
|
+
mmd += ` ROOT --> ${teamId}["${team.name}"]\n`;
|
|
44
|
+
// Add team members/repos
|
|
45
|
+
if (team.repos) {
|
|
46
|
+
for (const repo of team.repos) {
|
|
47
|
+
const repoId = this.sanitizeId(`${team.name}-${repo}`);
|
|
48
|
+
mmd += ` ${teamId} --> ${repoId}["${repo}"]\n`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return mmd;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Sanitize ID for Mermaid (remove special characters).
|
|
56
|
+
*/
|
|
57
|
+
sanitizeId(id) {
|
|
58
|
+
return id.replace(/[^a-zA-Z0-9_]/g, '_');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=mermaid-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid-generator.js","sourceRoot":"","sources":["../../../../../src/core/living-docs/intelligent-analyzer/mermaid-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2BH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACH,iBAAiB,CAAC,KAAkB,EAAE,YAA4B;QAChE,IAAI,GAAG,GAAG,YAAY,CAAC;QAEvB,YAAY;QACZ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC;YAC9C,GAAG,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC;QACvD,CAAC;QAED,GAAG,IAAI,IAAI,CAAC;QAEZ,YAAY;QACZ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,GAAG,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QAC7E,CAAC;QAED,kCAAkC;QAClC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,GAAG,IAAI,mDAAmD,CAAC;YAC3D,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjE,GAAG,IAAI,WAAW,GAAG,iBAAiB,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,KAAY;QAC9B,IAAI,GAAG,GAAG,YAAY,CAAC;QACvB,GAAG,IAAI,0BAA0B,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,GAAG,IAAI,cAAc,MAAM,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC;YAEhD,yBAAyB;YACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;oBACvD,GAAG,IAAI,KAAK,MAAM,QAAQ,MAAM,KAAK,IAAI,MAAM,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,EAAU;QAC3B,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Living Docs Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Main coordinator that manages the entire analysis pipeline with caching and change detection.
|
|
5
|
+
*
|
|
6
|
+
* Architecture:
|
|
7
|
+
* Phase 1: Discovery (repo scanning)
|
|
8
|
+
* Phase 2: Analysis (patterns, modules, tech debt)
|
|
9
|
+
* Phase 3: Synthesis (ADR generation with LLM)
|
|
10
|
+
*/
|
|
11
|
+
import { Logger } from '../../../utils/logger.js';
|
|
12
|
+
import type { RepoAnalysis, LLMProvider } from './types.js';
|
|
13
|
+
export interface OrchestratorOptions {
|
|
14
|
+
projectRoot: string;
|
|
15
|
+
logger?: Logger;
|
|
16
|
+
llmProvider?: LLMProvider;
|
|
17
|
+
}
|
|
18
|
+
export interface UpdateOptions {
|
|
19
|
+
incremental?: boolean;
|
|
20
|
+
full?: boolean;
|
|
21
|
+
adrOnly?: boolean;
|
|
22
|
+
techDebtOnly?: boolean;
|
|
23
|
+
modulesOnly?: boolean;
|
|
24
|
+
dryRun?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface DiscoveryResult {
|
|
27
|
+
repos: Array<{
|
|
28
|
+
name: string;
|
|
29
|
+
path: string;
|
|
30
|
+
}>;
|
|
31
|
+
totalFiles: number;
|
|
32
|
+
duration: number;
|
|
33
|
+
}
|
|
34
|
+
export interface AnalysisResult {
|
|
35
|
+
repoAnalyses: Map<string, RepoAnalysis>;
|
|
36
|
+
duration: number;
|
|
37
|
+
filesCreated?: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface SynthesisResult {
|
|
40
|
+
adrsGenerated: number;
|
|
41
|
+
teamsClustered: number;
|
|
42
|
+
duration: number;
|
|
43
|
+
filesCreated?: string[];
|
|
44
|
+
}
|
|
45
|
+
export interface PhaseResult {
|
|
46
|
+
success: boolean;
|
|
47
|
+
duration: number;
|
|
48
|
+
message: string;
|
|
49
|
+
}
|
|
50
|
+
export interface UpdateResult {
|
|
51
|
+
success: boolean;
|
|
52
|
+
duration: number;
|
|
53
|
+
phases: {
|
|
54
|
+
discovery: PhaseResult;
|
|
55
|
+
analysis: PhaseResult;
|
|
56
|
+
synthesis: PhaseResult;
|
|
57
|
+
};
|
|
58
|
+
filesCreated: string[];
|
|
59
|
+
filesUpdated: string[];
|
|
60
|
+
errors: string[];
|
|
61
|
+
}
|
|
62
|
+
export interface ChangedFiles {
|
|
63
|
+
path: string;
|
|
64
|
+
status: 'added' | 'modified' | 'deleted';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Main orchestrator for living docs intelligent analysis.
|
|
68
|
+
*
|
|
69
|
+
* Coordinates all analysis phases with caching and Git-based change detection.
|
|
70
|
+
*/
|
|
71
|
+
export declare class LivingDocsOrchestrator {
|
|
72
|
+
private projectRoot;
|
|
73
|
+
private logger;
|
|
74
|
+
private llmProvider?;
|
|
75
|
+
private cacheDir;
|
|
76
|
+
constructor(options: OrchestratorOptions);
|
|
77
|
+
/**
|
|
78
|
+
* Main entry point - orchestrates full update or incremental update.
|
|
79
|
+
*/
|
|
80
|
+
update(options?: UpdateOptions): Promise<UpdateResult>;
|
|
81
|
+
/**
|
|
82
|
+
* Phase 1: Discovery
|
|
83
|
+
* Scans all repos (umbrella or single) and creates file inventory.
|
|
84
|
+
*/
|
|
85
|
+
private executePhase1Discovery;
|
|
86
|
+
/**
|
|
87
|
+
* Phase 2: Analysis
|
|
88
|
+
* Pattern detection, module graph, tech debt detection.
|
|
89
|
+
*/
|
|
90
|
+
private executePhase2Analysis;
|
|
91
|
+
/**
|
|
92
|
+
* Phase 3: Synthesis
|
|
93
|
+
* LLM-powered ADR synthesis, team clustering, architecture docs.
|
|
94
|
+
*/
|
|
95
|
+
private executePhase3Synthesis;
|
|
96
|
+
/**
|
|
97
|
+
* Detect changes since last update using Git diff.
|
|
98
|
+
*/
|
|
99
|
+
detectChanges(): Promise<ChangedFiles[]>;
|
|
100
|
+
/**
|
|
101
|
+
* Load data from cache.
|
|
102
|
+
*/
|
|
103
|
+
loadFromCache<T>(key: string): Promise<T | null>;
|
|
104
|
+
/**
|
|
105
|
+
* Save data to cache.
|
|
106
|
+
*/
|
|
107
|
+
saveToCache(key: string, data: any): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Clear all cache and checkpoint data.
|
|
110
|
+
* Used when --full flag is set to force complete rebuild.
|
|
111
|
+
*/
|
|
112
|
+
clearCache(): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Discover all repos (umbrella or single).
|
|
115
|
+
*/
|
|
116
|
+
private discoverRepos;
|
|
117
|
+
/**
|
|
118
|
+
* Get current Git commit hash.
|
|
119
|
+
*/
|
|
120
|
+
private getCurrentCommit;
|
|
121
|
+
/**
|
|
122
|
+
* Count files in a directory (excluding node_modules, .git, etc.).
|
|
123
|
+
*/
|
|
124
|
+
private countFiles;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/core/living-docs/intelligent-analyzer/orchestrator.ts"],"names":[],"mappings":"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"}
|