maestro-flow 0.4.18 → 0.4.20

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 (181) hide show
  1. package/.agents/agents/workflow-collab-planner.md +4 -1
  2. package/.agents/agents/workflow-plan-checker.md +11 -1
  3. package/.agents/agents/workflow-planner.md +4 -1
  4. package/.agents/skills/maestro/SKILL.md +8 -5
  5. package/.agents/skills/maestro-analyze/SKILL.md +1 -1
  6. package/.agents/skills/maestro-brainstorm/SKILL.md +2 -1
  7. package/.agents/skills/maestro-companion/SKILL.md +533 -0
  8. package/.agents/skills/maestro-grill/SKILL.md +116 -0
  9. package/.agents/skills/maestro-next/SKILL.md +147 -112
  10. package/.agents/skills/maestro-plan/SKILL.md +4 -0
  11. package/.agents/skills/maestro-ralph/SKILL.md +11 -7
  12. package/.agents/skills/maestro-swarm-workflow/SKILL.md +258 -0
  13. package/.agents/skills/manage-codebase-rebuild/SKILL.md +13 -1
  14. package/.agents/skills/manage-codebase-refresh/SKILL.md +3 -0
  15. package/.agents/skills/spec-setup/SKILL.md +9 -5
  16. package/.agents/skills/team-swarm/SKILL.md +180 -0
  17. package/.agents/skills/team-swarm/roles/analyst/role.md +187 -0
  18. package/.agents/skills/team-swarm/roles/ant/role.md +169 -0
  19. package/.agents/skills/team-swarm/roles/coordinator/commands/converge.md +146 -0
  20. package/.agents/skills/team-swarm/roles/coordinator/commands/init-swarm.md +136 -0
  21. package/.agents/skills/team-swarm/roles/coordinator/commands/iterate.md +232 -0
  22. package/.agents/skills/team-swarm/roles/coordinator/role.md +211 -0
  23. package/.agents/skills/team-swarm/roles/scorer/role.md +157 -0
  24. package/.agents/skills/team-swarm/scripts/aco.py +473 -0
  25. package/.agents/skills/team-swarm/scripts/pheromone.py +144 -0
  26. package/.agents/skills/team-swarm/scripts/scoring.py +92 -0
  27. package/.agents/skills/team-swarm/scripts/test_aco.py +475 -0
  28. package/.agents/skills/team-swarm/specs/ant-output-schema.md +119 -0
  29. package/.agents/skills/team-swarm/specs/convergence-criteria.md +106 -0
  30. package/.agents/skills/team-swarm/specs/pheromone-schema.md +123 -0
  31. package/.agents/skills/team-swarm/specs/swarm-config-template.json +71 -0
  32. package/.agents/skills/team-swarm/specs/swarm-protocol.md +117 -0
  33. package/.agy/agents/workflow-collab-planner.md +4 -1
  34. package/.agy/agents/workflow-plan-checker.md +11 -1
  35. package/.agy/agents/workflow-planner.md +4 -1
  36. package/.agy/skills/maestro/SKILL.md +8 -5
  37. package/.agy/skills/maestro-analyze/SKILL.md +1 -1
  38. package/.agy/skills/maestro-brainstorm/SKILL.md +2 -1
  39. package/.agy/skills/maestro-companion/SKILL.md +529 -0
  40. package/.agy/skills/maestro-grill/SKILL.md +116 -0
  41. package/.agy/skills/maestro-next/SKILL.md +147 -112
  42. package/.agy/skills/maestro-plan/SKILL.md +4 -0
  43. package/.agy/skills/maestro-ralph/SKILL.md +11 -7
  44. package/.agy/skills/maestro-swarm-workflow/SKILL.md +255 -0
  45. package/.agy/skills/manage-codebase-rebuild/SKILL.md +13 -1
  46. package/.agy/skills/manage-codebase-refresh/SKILL.md +3 -0
  47. package/.agy/skills/spec-setup/SKILL.md +9 -5
  48. package/.agy/skills/team-swarm/SKILL.md +176 -0
  49. package/.agy/skills/team-swarm/roles/analyst/role.md +183 -0
  50. package/.agy/skills/team-swarm/roles/ant/role.md +165 -0
  51. package/.agy/skills/team-swarm/roles/coordinator/commands/converge.md +134 -0
  52. package/.agy/skills/team-swarm/roles/coordinator/commands/init-swarm.md +136 -0
  53. package/.agy/skills/team-swarm/roles/coordinator/commands/iterate.md +202 -0
  54. package/.agy/skills/team-swarm/roles/coordinator/role.md +209 -0
  55. package/.agy/skills/team-swarm/roles/scorer/role.md +153 -0
  56. package/.agy/skills/team-swarm/scripts/aco.py +473 -0
  57. package/.agy/skills/team-swarm/scripts/pheromone.py +144 -0
  58. package/.agy/skills/team-swarm/scripts/scoring.py +92 -0
  59. package/.agy/skills/team-swarm/scripts/test_aco.py +475 -0
  60. package/.agy/skills/team-swarm/specs/ant-output-schema.md +119 -0
  61. package/.agy/skills/team-swarm/specs/convergence-criteria.md +106 -0
  62. package/.agy/skills/team-swarm/specs/pheromone-schema.md +123 -0
  63. package/.agy/skills/team-swarm/specs/swarm-config-template.json +71 -0
  64. package/.agy/skills/team-swarm/specs/swarm-protocol.md +117 -0
  65. package/.claude/agents/workflow-collab-planner.md +4 -1
  66. package/.claude/agents/workflow-plan-checker.md +11 -1
  67. package/.claude/agents/workflow-planner.md +4 -1
  68. package/.claude/commands/maestro-analyze.md +1 -1
  69. package/.claude/commands/maestro-brainstorm.md +2 -1
  70. package/.claude/commands/maestro-companion.md +531 -0
  71. package/.claude/commands/maestro-grill.md +114 -0
  72. package/.claude/commands/maestro-next.md +147 -112
  73. package/.claude/commands/maestro-plan.md +4 -0
  74. package/.claude/commands/maestro-ralph.md +11 -7
  75. package/.claude/commands/maestro-swarm-workflow.md +256 -0
  76. package/.claude/commands/maestro.md +8 -5
  77. package/.claude/commands/manage-codebase-rebuild.md +13 -1
  78. package/.claude/commands/manage-codebase-refresh.md +3 -0
  79. package/.claude/commands/spec-setup.md +9 -5
  80. package/.claude/skills/team-swarm/SKILL.md +178 -0
  81. package/.claude/skills/team-swarm/roles/analyst/role.md +185 -0
  82. package/.claude/skills/team-swarm/roles/ant/role.md +167 -0
  83. package/.claude/skills/team-swarm/roles/coordinator/commands/converge.md +146 -0
  84. package/.claude/skills/team-swarm/roles/coordinator/commands/init-swarm.md +136 -0
  85. package/.claude/skills/team-swarm/roles/coordinator/commands/iterate.md +232 -0
  86. package/.claude/skills/team-swarm/roles/coordinator/role.md +209 -0
  87. package/.claude/skills/team-swarm/roles/scorer/role.md +155 -0
  88. package/.claude/skills/team-swarm/scripts/aco.py +473 -0
  89. package/.claude/skills/team-swarm/scripts/pheromone.py +144 -0
  90. package/.claude/skills/team-swarm/scripts/scoring.py +92 -0
  91. package/.claude/skills/team-swarm/scripts/test_aco.py +475 -0
  92. package/.claude/skills/team-swarm/specs/ant-output-schema.md +119 -0
  93. package/.claude/skills/team-swarm/specs/convergence-criteria.md +106 -0
  94. package/.claude/skills/team-swarm/specs/pheromone-schema.md +123 -0
  95. package/.claude/skills/team-swarm/specs/swarm-config-template.json +71 -0
  96. package/.claude/skills/team-swarm/specs/swarm-protocol.md +117 -0
  97. package/.codex/skills/maestro/SKILL.md +7 -2
  98. package/.codex/skills/maestro-companion/SKILL.md +485 -0
  99. package/.codex/skills/maestro-grill/SKILL.md +111 -0
  100. package/.codex/skills/maestro-next/SKILL.md +297 -0
  101. package/.codex/skills/maestro-ralph/SKILL.md +11 -7
  102. package/.codex/skills/manage-codebase-rebuild/SKILL.md +6 -0
  103. package/.codex/skills/manage-codebase-refresh/SKILL.md +6 -0
  104. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.d.ts +36 -0
  105. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +138 -2
  106. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
  107. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +13 -0
  108. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  109. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.d.ts +11 -0
  110. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +178 -0
  111. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  112. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +1 -0
  113. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +39 -23
  114. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  115. package/dist/src/cli.js +1 -0
  116. package/dist/src/cli.js.map +1 -1
  117. package/dist/src/commands/install-backend.d.ts +7 -0
  118. package/dist/src/commands/install-backend.d.ts.map +1 -1
  119. package/dist/src/commands/install-backend.js +14 -0
  120. package/dist/src/commands/install-backend.js.map +1 -1
  121. package/dist/src/commands/install.d.ts.map +1 -1
  122. package/dist/src/commands/install.js +23 -1
  123. package/dist/src/commands/install.js.map +1 -1
  124. package/dist/src/commands/kg.d.ts +11 -0
  125. package/dist/src/commands/kg.d.ts.map +1 -0
  126. package/dist/src/commands/kg.js +515 -0
  127. package/dist/src/commands/kg.js.map +1 -0
  128. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  129. package/dist/src/i18n/locales/en.js +19 -0
  130. package/dist/src/i18n/locales/en.js.map +1 -1
  131. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  132. package/dist/src/i18n/locales/zh.js +19 -0
  133. package/dist/src/i18n/locales/zh.js.map +1 -1
  134. package/dist/src/i18n/types.d.ts +12 -0
  135. package/dist/src/i18n/types.d.ts.map +1 -1
  136. package/dist/src/tui/install-ui/HooksConfig.d.ts +5 -1
  137. package/dist/src/tui/install-ui/HooksConfig.d.ts.map +1 -1
  138. package/dist/src/tui/install-ui/HooksConfig.js +5 -3
  139. package/dist/src/tui/install-ui/HooksConfig.js.map +1 -1
  140. package/dist/src/tui/install-ui/InstallConfirm.d.ts +3 -0
  141. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  142. package/dist/src/tui/install-ui/InstallConfirm.js +1 -1
  143. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  144. package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
  145. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  146. package/dist/src/tui/install-ui/InstallExecution.js +48 -3
  147. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  148. package/dist/src/tui/install-ui/InstallFlow.d.ts +1 -1
  149. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  150. package/dist/src/tui/install-ui/InstallFlow.js +95 -17
  151. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  152. package/dist/src/tui/install-ui/InstallHub.d.ts +4 -0
  153. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  154. package/dist/src/tui/install-ui/InstallHub.js +14 -0
  155. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  156. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  157. package/dist/src/tui/install-ui/InstallResult.js +1 -1
  158. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  159. package/dist/src/tui/install-ui/KgVendorConfig.d.ts +7 -0
  160. package/dist/src/tui/install-ui/KgVendorConfig.d.ts.map +1 -0
  161. package/dist/src/tui/install-ui/KgVendorConfig.js +9 -0
  162. package/dist/src/tui/install-ui/KgVendorConfig.js.map +1 -0
  163. package/dist/src/utils/update-notices.js +22 -0
  164. package/dist/src/utils/update-notices.js.map +1 -1
  165. package/package.json +1 -1
  166. package/workflows/analyze.md +2 -1
  167. package/workflows/brainstorm.md +24 -1
  168. package/workflows/codebase-rebuild.md +141 -1
  169. package/workflows/codebase-refresh.md +20 -0
  170. package/workflows/finish-work.md +7 -2
  171. package/workflows/grill.md +513 -0
  172. package/workflows/plan.md +7 -4
  173. package/workflows/specs-setup.md +99 -3
  174. package/workflows/swarm/wf-analyze.js +186 -0
  175. package/workflows/swarm/wf-brainstorm.js +284 -0
  176. package/workflows/swarm/wf-execute.js +203 -0
  177. package/workflows/swarm/wf-grill.js +198 -0
  178. package/workflows/swarm/wf-milestone-audit.js +236 -0
  179. package/workflows/swarm/wf-plan.js +233 -0
  180. package/workflows/swarm/wf-review.js +226 -0
  181. package/workflows/swarm/wf-verify.js +298 -0
@@ -0,0 +1,515 @@
1
+ /**
2
+ * Knowledge Graph Command — CLI for querying codebase knowledge graphs.
3
+ *
4
+ * Subcommands: stats, query, explain, path, diff
5
+ *
6
+ * Operates on `.workflow/codebase/knowledge-graph.json` generated by
7
+ * Understand-Anything or compatible analyzers.
8
+ */
9
+ import { readFileSync, existsSync } from 'node:fs';
10
+ import { resolve } from 'node:path';
11
+ import { execSync } from 'node:child_process';
12
+ import { WikiIndexer } from '#maestro-dashboard/wiki/wiki-indexer.js';
13
+ // ── Helpers ────────────────────────────────────────────────────────────
14
+ const KG_PATH = '.workflow/codebase/knowledge-graph.json';
15
+ function loadGraph() {
16
+ const fullPath = resolve(KG_PATH);
17
+ if (!existsSync(fullPath)) {
18
+ console.error(`Knowledge graph not found: ${fullPath}`);
19
+ console.error(' Hint: generate one with Understand-Anything or a compatible analyzer');
20
+ process.exit(1);
21
+ }
22
+ try {
23
+ const raw = readFileSync(fullPath, 'utf-8');
24
+ return JSON.parse(raw);
25
+ }
26
+ catch (err) {
27
+ console.error(`Failed to parse knowledge graph: ${err.message}`);
28
+ process.exit(1);
29
+ }
30
+ }
31
+ function truncate(text, maxLen) {
32
+ if (!text)
33
+ return '';
34
+ if (text.length <= maxLen)
35
+ return text;
36
+ return text.slice(0, maxLen - 3) + '...';
37
+ }
38
+ function countBy(items, keyFn) {
39
+ const counts = {};
40
+ for (const item of items) {
41
+ const key = keyFn(item);
42
+ counts[key] = (counts[key] ?? 0) + 1;
43
+ }
44
+ return counts;
45
+ }
46
+ // ── Wiki cross-reference ──────────────────────────────────────────────
47
+ let _wikiIndexer = null;
48
+ function getWikiIndexer() {
49
+ if (_wikiIndexer)
50
+ return _wikiIndexer;
51
+ const workflowRoot = resolve('.workflow');
52
+ if (!existsSync(workflowRoot))
53
+ return null;
54
+ _wikiIndexer = new WikiIndexer({ workflowRoot });
55
+ return _wikiIndexer;
56
+ }
57
+ async function findRelatedWikiEntries(nodeId, filePath) {
58
+ const indexer = getWikiIndexer();
59
+ if (!indexer)
60
+ return [];
61
+ try {
62
+ const index = await indexer.get();
63
+ const matches = [];
64
+ const seen = new Set();
65
+ for (const e of index.entries) {
66
+ if (seen.has(e.id))
67
+ continue;
68
+ // Match by KG node binding (uakg-* entries referencing this node)
69
+ if (e.ext?.virtualKind === 'ua-kg-node' && e.ext?.kgNodeId === nodeId) {
70
+ seen.add(e.id);
71
+ matches.push({ id: e.id, type: e.type, title: e.title, matchReason: 'kg-node-entry' });
72
+ continue;
73
+ }
74
+ // Match by codePaths containing the node's filePath
75
+ if (filePath && Array.isArray(e.ext?.codeLocations)) {
76
+ const locs = e.ext.codeLocations;
77
+ const normFp = filePath.replace(/\\/g, '/').toLowerCase();
78
+ if (locs.some(l => l.replace(/\\/g, '/').toLowerCase() === normFp)) {
79
+ seen.add(e.id);
80
+ matches.push({ id: e.id, type: e.type, title: e.title, matchReason: 'codePath-match' });
81
+ }
82
+ }
83
+ // Match by codePaths in ext.codePaths (knowhow entries)
84
+ if (filePath && Array.isArray(e.ext?.codePaths)) {
85
+ const paths = e.ext.codePaths;
86
+ const normFp = filePath.replace(/\\/g, '/').toLowerCase();
87
+ if (paths.some(p => p.replace(/\\/g, '/').toLowerCase() === normFp)) {
88
+ seen.add(e.id);
89
+ matches.push({ id: e.id, type: e.type, title: e.title, matchReason: 'codePath-match' });
90
+ }
91
+ }
92
+ }
93
+ return matches;
94
+ }
95
+ catch {
96
+ return [];
97
+ }
98
+ }
99
+ // ── Registration ───────────────────────────────────────────────────────
100
+ export function registerKgCommand(program) {
101
+ const kg = program
102
+ .command('kg')
103
+ .description('Query codebase knowledge graph (.workflow/codebase/knowledge-graph.json)');
104
+ // ── stats ──────────────────────────────────────────────────────────
105
+ kg
106
+ .command('stats')
107
+ .description('Display knowledge graph statistics')
108
+ .option('--json', 'Output as JSON')
109
+ .action((_opts) => {
110
+ const graph = loadGraph();
111
+ const nodesByType = countBy(graph.nodes, n => n.type);
112
+ const edgesByType = countBy(graph.edges, e => e.type);
113
+ const data = {
114
+ project: graph.project.name,
115
+ version: graph.version,
116
+ nodes: { total: graph.nodes.length, byType: nodesByType },
117
+ edges: { total: graph.edges.length, byType: edgesByType },
118
+ layers: graph.layers.length,
119
+ tourSteps: graph.tour.length,
120
+ };
121
+ if (_opts.json) {
122
+ console.log(JSON.stringify(data, null, 2));
123
+ return;
124
+ }
125
+ console.log(`Knowledge Graph: ${data.project} (v${data.version})`);
126
+ console.log('');
127
+ console.log(`Nodes: ${data.nodes.total}`);
128
+ for (const [type, count] of Object.entries(nodesByType)) {
129
+ console.log(` ${type}: ${count}`);
130
+ }
131
+ console.log('');
132
+ console.log(`Edges: ${data.edges.total}`);
133
+ for (const [type, count] of Object.entries(edgesByType)) {
134
+ console.log(` ${type}: ${count}`);
135
+ }
136
+ console.log('');
137
+ console.log(`Layers: ${data.layers}`);
138
+ console.log(`Tour steps: ${data.tourSteps}`);
139
+ });
140
+ // ── query ──────────────────────────────────────────────────────────
141
+ kg
142
+ .command('query <text>')
143
+ .description('Search nodes by name, summary, or tags')
144
+ .option('--limit <n>', 'Max results', '10')
145
+ .option('--type <nodeType>', 'Filter by node type')
146
+ .option('--json', 'Output as JSON')
147
+ .action((text, opts) => {
148
+ const graph = loadGraph();
149
+ const needle = text.toLowerCase();
150
+ const limit = Number(opts.limit) || 10;
151
+ let matches = graph.nodes.filter(n => {
152
+ const haystack = [
153
+ n.name,
154
+ n.summary,
155
+ ...(n.tags ?? []),
156
+ ].join(' ').toLowerCase();
157
+ return haystack.includes(needle);
158
+ });
159
+ if (opts.type) {
160
+ const typeFilter = opts.type.toLowerCase();
161
+ matches = matches.filter(n => n.type.toLowerCase() === typeFilter);
162
+ }
163
+ const limited = matches.slice(0, limit);
164
+ if (opts.json) {
165
+ console.log(JSON.stringify({ query: text, total: matches.length, nodes: limited }, null, 2));
166
+ return;
167
+ }
168
+ console.log(`Query: "${text}" (${limited.length}/${matches.length} results)`);
169
+ for (const n of limited) {
170
+ console.log(` [${n.type}] ${n.id} -- ${truncate(n.summary, 80)}`);
171
+ }
172
+ });
173
+ // ── explain ────────────────────────────────────────────────────────
174
+ kg
175
+ .command('explain <node-id>')
176
+ .description('Show full details of a node and its connections')
177
+ .option('--json', 'Output as JSON')
178
+ .option('--no-wiki', 'Skip wiki cross-reference lookup')
179
+ .action(async (nodeId, opts) => {
180
+ const graph = loadGraph();
181
+ const node = graph.nodes.find(n => n.id === nodeId);
182
+ if (!node) {
183
+ console.error(`Node not found: ${nodeId}`);
184
+ process.exit(1);
185
+ }
186
+ const incoming = graph.edges.filter(e => e.target === nodeId);
187
+ const outgoing = graph.edges.filter(e => e.source === nodeId);
188
+ const layers = graph.layers.filter(l => l.nodeIds.includes(nodeId));
189
+ const wikiMatches = opts.wiki !== false
190
+ ? await findRelatedWikiEntries(nodeId, node.filePath)
191
+ : [];
192
+ if (opts.json) {
193
+ console.log(JSON.stringify({ node, incoming, outgoing, layers, wiki: wikiMatches }, null, 2));
194
+ return;
195
+ }
196
+ console.log(`Node: ${node.id}`);
197
+ console.log(` Type: ${node.type}`);
198
+ console.log(` Name: ${node.name}`);
199
+ if (node.filePath)
200
+ console.log(` File: ${node.filePath}`);
201
+ console.log(` Summary: ${node.summary}`);
202
+ if (node.tags?.length)
203
+ console.log(` Tags: ${node.tags.join(', ')}`);
204
+ if (node.complexity)
205
+ console.log(` Complexity: ${node.complexity}`);
206
+ if (layers.length > 0) {
207
+ console.log('');
208
+ console.log('Layers:');
209
+ for (const l of layers) {
210
+ console.log(` ${l.id} -- ${l.name}`);
211
+ }
212
+ }
213
+ if (incoming.length > 0) {
214
+ console.log('');
215
+ console.log(`Incoming edges (${incoming.length}):`);
216
+ for (const e of incoming) {
217
+ console.log(` ${e.source} --${e.type}--> ${nodeId}`);
218
+ }
219
+ }
220
+ if (outgoing.length > 0) {
221
+ console.log('');
222
+ console.log(`Outgoing edges (${outgoing.length}):`);
223
+ for (const e of outgoing) {
224
+ console.log(` ${nodeId} --${e.type}--> ${e.target}`);
225
+ }
226
+ }
227
+ if (wikiMatches.length > 0) {
228
+ console.log('');
229
+ console.log(`Related wiki entries (${wikiMatches.length}):`);
230
+ for (const w of wikiMatches) {
231
+ console.log(` [${w.type}] ${w.id} -- ${w.title} (${w.matchReason})`);
232
+ }
233
+ }
234
+ });
235
+ // ── path ───────────────────────────────────────────────────────────
236
+ kg
237
+ .command('path <from-id> <to-id>')
238
+ .description('Find shortest path between two nodes (BFS, undirected)')
239
+ .option('--json', 'Output as JSON')
240
+ .action((fromId, toId, opts) => {
241
+ const graph = loadGraph();
242
+ // Validate nodes exist
243
+ const fromNode = graph.nodes.find(n => n.id === fromId);
244
+ const toNode = graph.nodes.find(n => n.id === toId);
245
+ if (!fromNode) {
246
+ console.error(`Source node not found: ${fromId}`);
247
+ process.exit(1);
248
+ }
249
+ if (!toNode) {
250
+ console.error(`Target node not found: ${toId}`);
251
+ process.exit(1);
252
+ }
253
+ // Build adjacency list (undirected)
254
+ const adj = new Map();
255
+ for (const e of graph.edges) {
256
+ if (!adj.has(e.source))
257
+ adj.set(e.source, []);
258
+ if (!adj.has(e.target))
259
+ adj.set(e.target, []);
260
+ adj.get(e.source).push({ neighbor: e.target, edge: e });
261
+ adj.get(e.target).push({ neighbor: e.source, edge: e });
262
+ }
263
+ // BFS
264
+ const visited = new Set();
265
+ const parent = new Map();
266
+ const queue = [fromId];
267
+ visited.add(fromId);
268
+ let found = false;
269
+ while (queue.length > 0) {
270
+ const current = queue.shift();
271
+ if (current === toId) {
272
+ found = true;
273
+ break;
274
+ }
275
+ for (const { neighbor, edge } of adj.get(current) ?? []) {
276
+ if (!visited.has(neighbor)) {
277
+ visited.add(neighbor);
278
+ parent.set(neighbor, { node: current, edge });
279
+ queue.push(neighbor);
280
+ }
281
+ }
282
+ }
283
+ if (!found) {
284
+ if (opts.json) {
285
+ console.log(JSON.stringify({ from: fromId, to: toId, path: null, message: 'No path found' }, null, 2));
286
+ }
287
+ else {
288
+ console.log(`No path found from ${fromId} to ${toId}`);
289
+ }
290
+ return;
291
+ }
292
+ // Reconstruct path
293
+ const pathNodes = [];
294
+ const pathEdges = [];
295
+ let cur = toId;
296
+ while (cur !== fromId) {
297
+ pathNodes.unshift(cur);
298
+ const p = parent.get(cur);
299
+ pathEdges.unshift(p.edge);
300
+ cur = p.node;
301
+ }
302
+ pathNodes.unshift(fromId);
303
+ if (opts.json) {
304
+ const steps = pathNodes.map((nid, i) => {
305
+ const n = graph.nodes.find(nd => nd.id === nid);
306
+ return {
307
+ node: nid,
308
+ type: n?.type,
309
+ name: n?.name,
310
+ edgeToNext: i < pathEdges.length ? pathEdges[i].type : undefined,
311
+ };
312
+ });
313
+ console.log(JSON.stringify({ from: fromId, to: toId, length: pathEdges.length, steps }, null, 2));
314
+ return;
315
+ }
316
+ console.log(`Path: ${fromId} -> ${toId} (${pathEdges.length} hops)`);
317
+ console.log('');
318
+ for (let i = 0; i < pathNodes.length; i++) {
319
+ const n = graph.nodes.find(nd => nd.id === pathNodes[i]);
320
+ console.log(` [${n?.type ?? '?'}] ${pathNodes[i]} -- ${truncate(n?.name ?? '', 60)}`);
321
+ if (i < pathEdges.length) {
322
+ console.log(` | ${pathEdges[i].type}`);
323
+ }
324
+ }
325
+ });
326
+ // ── diff ───────────────────────────────────────────────────────────
327
+ kg
328
+ .command('diff')
329
+ .description('Show KG nodes affected by git changes')
330
+ .option('--staged', 'Use staged changes only')
331
+ .option('--json', 'Output as JSON')
332
+ .action((opts) => {
333
+ const graph = loadGraph();
334
+ // Get changed files from git
335
+ let changedFiles;
336
+ try {
337
+ const cmd = opts.staged
338
+ ? 'git diff --staged --name-only'
339
+ : 'git diff --name-only';
340
+ const output = execSync(cmd, { encoding: 'utf-8' }).trim();
341
+ changedFiles = output ? output.split('\n').map(f => f.trim()).filter(Boolean) : [];
342
+ }
343
+ catch {
344
+ console.error('Failed to run git diff. Are you in a git repository?');
345
+ process.exit(1);
346
+ }
347
+ if (changedFiles.length === 0) {
348
+ if (opts.json) {
349
+ console.log(JSON.stringify({ changedFiles: [], direct: [], impacted: [] }, null, 2));
350
+ }
351
+ else {
352
+ console.log('No changed files detected.');
353
+ }
354
+ return;
355
+ }
356
+ // Find direct nodes (filePath matches a changed file)
357
+ const directNodes = graph.nodes.filter(n => n.filePath && changedFiles.some(f => n.filePath === f || n.filePath.endsWith('/' + f) || f.endsWith('/' + n.filePath)));
358
+ const directIds = new Set(directNodes.map(n => n.id));
359
+ // Expand 1 hop: find all directly connected nodes
360
+ const impactedIds = new Set();
361
+ for (const e of graph.edges) {
362
+ if (directIds.has(e.source) && !directIds.has(e.target)) {
363
+ impactedIds.add(e.target);
364
+ }
365
+ if (directIds.has(e.target) && !directIds.has(e.source)) {
366
+ impactedIds.add(e.source);
367
+ }
368
+ }
369
+ const impactedNodes = graph.nodes.filter(n => impactedIds.has(n.id));
370
+ if (opts.json) {
371
+ console.log(JSON.stringify({
372
+ changedFiles,
373
+ direct: directNodes,
374
+ impacted: impactedNodes,
375
+ }, null, 2));
376
+ return;
377
+ }
378
+ console.log(`Changed files: ${changedFiles.length}`);
379
+ console.log('');
380
+ console.log(`Direct (${directNodes.length}):`);
381
+ if (directNodes.length === 0) {
382
+ console.log(' (no KG nodes match changed files)');
383
+ }
384
+ else {
385
+ for (const n of directNodes) {
386
+ console.log(` [${n.type}] ${n.id} -- ${truncate(n.summary, 60)}`);
387
+ }
388
+ }
389
+ console.log('');
390
+ console.log(`Impacted (${impactedNodes.length}):`);
391
+ if (impactedNodes.length === 0) {
392
+ console.log(' (no 1-hop neighbors found)');
393
+ }
394
+ else {
395
+ for (const n of impactedNodes) {
396
+ console.log(` [${n.type}] ${n.id} -- ${truncate(n.summary, 60)}`);
397
+ }
398
+ }
399
+ });
400
+ // ── diff-wiki ─────────────────────────────────────────────────────
401
+ kg
402
+ .command('diff-wiki')
403
+ .description('Cross-reference git changes with KG nodes and wiki entries')
404
+ .option('--staged', 'Use staged changes only')
405
+ .option('--json', 'Output as JSON')
406
+ .action(async (opts) => {
407
+ const graph = loadGraph();
408
+ let changedFiles;
409
+ try {
410
+ const cmd = opts.staged
411
+ ? 'git diff --staged --name-only'
412
+ : 'git diff --name-only';
413
+ const output = execSync(cmd, { encoding: 'utf-8' }).trim();
414
+ changedFiles = output ? output.split('\n').map(f => f.trim()).filter(Boolean) : [];
415
+ }
416
+ catch {
417
+ console.error('Failed to run git diff. Are you in a git repository?');
418
+ process.exit(1);
419
+ }
420
+ if (changedFiles.length === 0) {
421
+ if (opts.json) {
422
+ console.log(JSON.stringify({ changedFiles: [], affectedWiki: [] }, null, 2));
423
+ }
424
+ else {
425
+ console.log('No changed files detected.');
426
+ }
427
+ return;
428
+ }
429
+ // Find direct + impacted KG nodes
430
+ const directNodes = graph.nodes.filter(n => n.filePath && changedFiles.some(f => n.filePath === f || n.filePath.endsWith('/' + f) || f.endsWith('/' + n.filePath)));
431
+ const directIds = new Set(directNodes.map(n => n.id));
432
+ const impactedIds = new Set();
433
+ for (const e of graph.edges) {
434
+ if (directIds.has(e.source) && !directIds.has(e.target))
435
+ impactedIds.add(e.target);
436
+ if (directIds.has(e.target) && !directIds.has(e.source))
437
+ impactedIds.add(e.source);
438
+ }
439
+ // Collect all affected file paths from KG nodes
440
+ const affectedPaths = new Set();
441
+ for (const n of directNodes) {
442
+ if (n.filePath)
443
+ affectedPaths.add(n.filePath.replace(/\\/g, '/').toLowerCase());
444
+ }
445
+ for (const nid of impactedIds) {
446
+ const n = graph.nodes.find(nd => nd.id === nid);
447
+ if (n?.filePath)
448
+ affectedPaths.add(n.filePath.replace(/\\/g, '/').toLowerCase());
449
+ }
450
+ // Also add raw changed files
451
+ for (const f of changedFiles) {
452
+ affectedPaths.add(f.replace(/\\/g, '/').toLowerCase());
453
+ }
454
+ // Cross-reference with wiki
455
+ const indexer = getWikiIndexer();
456
+ const affectedWiki = [];
457
+ if (indexer) {
458
+ try {
459
+ const index = await indexer.get();
460
+ const seen = new Set();
461
+ for (const entry of index.entries) {
462
+ if (seen.has(entry.id))
463
+ continue;
464
+ // Check codeLocations (codebase-component entries)
465
+ if (Array.isArray(entry.ext?.codeLocations)) {
466
+ const locs = entry.ext.codeLocations;
467
+ for (const loc of locs) {
468
+ if (affectedPaths.has(loc.replace(/\\/g, '/').toLowerCase())) {
469
+ seen.add(entry.id);
470
+ affectedWiki.push({ id: entry.id, type: entry.type, title: entry.title, reason: 'codeLocation' });
471
+ break;
472
+ }
473
+ }
474
+ }
475
+ if (seen.has(entry.id))
476
+ continue;
477
+ // Check codePaths (knowhow entries)
478
+ if (Array.isArray(entry.ext?.codePaths)) {
479
+ const paths = entry.ext.codePaths;
480
+ for (const p of paths) {
481
+ if (affectedPaths.has(p.replace(/\\/g, '/').toLowerCase())) {
482
+ seen.add(entry.id);
483
+ affectedWiki.push({ id: entry.id, type: entry.type, title: entry.title, reason: 'codePath' });
484
+ break;
485
+ }
486
+ }
487
+ }
488
+ }
489
+ }
490
+ catch { /* wiki unavailable — continue without */ }
491
+ }
492
+ if (opts.json) {
493
+ console.log(JSON.stringify({
494
+ changedFiles,
495
+ directNodes: directNodes.length,
496
+ impactedNodes: impactedIds.size,
497
+ affectedWiki,
498
+ }, null, 2));
499
+ return;
500
+ }
501
+ console.log(`Changed files: ${changedFiles.length}`);
502
+ console.log(`KG direct: ${directNodes.length}, impacted: ${impactedIds.size}`);
503
+ console.log('');
504
+ if (affectedWiki.length === 0) {
505
+ console.log('No wiki entries affected by these changes.');
506
+ }
507
+ else {
508
+ console.log(`Affected wiki entries (${affectedWiki.length}):`);
509
+ for (const w of affectedWiki) {
510
+ console.log(` [${w.type}] ${w.id} -- ${w.title} (${w.reason})`);
511
+ }
512
+ }
513
+ });
514
+ }
515
+ //# sourceMappingURL=kg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kg.js","sourceRoot":"","sources":["../../../src/commands/kg.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAuDtE,0EAA0E;AAE1E,MAAM,OAAO,GAAG,yCAAyC,CAAC;AAE1D,SAAS,SAAS;IAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oCAAqC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,MAAc;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAC3C,CAAC;AAED,SAAS,OAAO,CAAI,KAAU,EAAE,KAA0B;IACxD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yEAAyE;AAEzE,IAAI,YAAY,GAAuB,IAAI,CAAC;AAC5C,SAAS,cAAc;IACrB,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,YAAY,GAAG,IAAI,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IACjD,OAAO,YAAY,CAAC;AACtB,CAAC;AASD,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,QAAiB;IACrE,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC7B,kEAAkE;YAClE,IAAI,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,YAAY,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACtE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;gBACvF,SAAS;YACX,CAAC;YACD,oDAAoD;YACpD,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,aAAyB,CAAC;gBAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1D,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;YACD,wDAAwD;YACxD,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,SAAqB,CAAC;gBAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;oBACpE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0EAA0E;AAE1E,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,EAAE,GAAG,OAAO;SACf,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,0EAA0E,CAAC,CAAC;IAE3F,sEAAsE;IACtE,EAAE;SACC,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG;YACX,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;YAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;YACzD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;YACzD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YAC3B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;SAC7B,CAAC;QAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEL,sEAAsE;IACtE,EAAE;SACC,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;SAC1C,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;SAClD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,IAAY,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEvC,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACnC,MAAM,QAAQ,GAAG;gBACf,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO;gBACT,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;aAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;QAC/E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,sEAAsE;IACtE,EAAE;SACC,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAI,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK;YACrC,CAAC,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;YACrD,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAErE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YACpD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,OAAO,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YACpD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,sEAAsE;IACtE,EAAE;SACC,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,MAAc,EAAE,IAAY,EAAE,IAAI,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,uBAAuB;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,oCAAoC;QACpC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwD,CAAC;QAC5E,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM;QACN,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6C,CAAC;QACpE,MAAM,KAAK,GAAa,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC/B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACR,CAAC;YACD,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,OAAO,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;YACtB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC3B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1B,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;QACf,CAAC;QACD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACrC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;gBAChD,OAAO;oBACL,IAAI,EAAE,GAAG;oBACT,IAAI,EAAE,CAAC,EAAE,IAAI;oBACb,IAAI,EAAE,CAAC,EAAE,IAAI;oBACb,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;iBACjE,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,OAAO,IAAI,MAAM,SAAS,CAAC,MAAM,QAAQ,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACvF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,sEAAsE;IACtE,EAAE;SACC,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,6BAA6B;QAC7B,IAAI,YAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;gBACrB,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,sBAAsB,CAAC;YAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO;QACT,CAAC;QAED,sDAAsD;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,QAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,QAAS,CAAC,CAAC,CACzH,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtD,kDAAkD;QAClD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,YAAY;gBACZ,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,aAAa;aACxB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;QACnD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,qEAAqE;IACrE,EAAE;SACC,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,IAAI,YAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;gBACrB,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,sBAAsB,CAAC;YAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,QAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,QAAS,CAAC,CAAC,CACtF,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACnF,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrF,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,QAAQ;gBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,EAAE,QAAQ;gBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,6BAA6B;QAC7B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,4BAA4B;QAC5B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,MAAM,YAAY,GAAuE,EAAE,CAAC;QAE5F,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAE,SAAS;oBACjC,mDAAmD;oBACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;wBAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,aAAyB,CAAC;wBACjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;4BACvB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gCAC7D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gCACnB,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;gCAClG,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAE,SAAS;oBACjC,oCAAoC;oBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;wBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAqB,CAAC;wBAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;4BACtB,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gCAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gCACnB,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gCAC9F,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,YAAY;gBACZ,WAAW,EAAE,WAAW,CAAC,MAAM;gBAC/B,aAAa,EAAE,WAAW,CAAC,IAAI;gBAC/B,YAAY;aACb,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,CAAC,MAAM,eAAe,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,EAAE,EAAE,aAiNhB,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,EAAE,EAAE,aAsOhB,CAAC"}
@@ -86,6 +86,7 @@ export const en = {
86
86
  confirmLabelBackup: 'Backup:',
87
87
  confirmLabelCodexHooks: 'Codex Hooks:',
88
88
  confirmLabelCodexMcp: 'Codex MCP:',
89
+ confirmLabelAgyHooks: 'Agy Hooks:',
89
90
  confirmSkipped: 'skipped',
90
91
  // Codex Hooks
91
92
  codexHooksLevelDescriptions: {
@@ -96,6 +97,23 @@ export const en = {
96
97
  },
97
98
  codexHooksWinWarning: 'Warning: Codex hooks are not yet supported on Windows.',
98
99
  codexHooksFeatureFlagHint: 'Add codex_hooks = true to [features] in ~/.codex/config.toml to enable hooks.',
100
+ // Agy Hooks (Antigravity)
101
+ agyHooksLevelDescriptions: {
102
+ none: 'No hooks',
103
+ minimal: 'spec-injector (PreToolUse on invoke_subagent)',
104
+ standard: '+ session/skill/keyword context (PreInvocation) + delegate-monitor (PostToolUse) + team/telemetry/coordinator (Stop) + preflight/spec guards',
105
+ full: '+ workflow-guard (PreToolUse on shell/file writes)',
106
+ },
107
+ // KG Vendor (Knowledge Graph / Understand-Anything)
108
+ confirmLabelKgVendor: 'KG Vendor:',
109
+ kgVendorTitle: 'Knowledge Graph Vendor',
110
+ kgVendorStatusLabel: 'Status:',
111
+ kgVendorInstalled: 'Installed',
112
+ kgVendorNotInstalled: 'Not installed',
113
+ kgVendorPathLabel: 'Path:',
114
+ kgVendorDesc: 'Understand-Anything vendor provides tree-sitter code analysis and knowledge graph generation capabilities.',
115
+ kgVendorHint: '[Enter] Done [Esc] Back',
116
+ execInstallingKgVendor: 'Installing KG vendor (Understand-Anything)...',
99
117
  // Execution
100
118
  execPreparing: 'Preparing...',
101
119
  execScanning: 'Scanning disabled items...',
@@ -105,6 +123,7 @@ export const en = {
105
123
  execWritingVersion: 'Writing version marker...',
106
124
  execInstallingHooks: 'Installing {level} hooks...',
107
125
  execInstallingCodexHooks: 'Installing Codex {level} hooks...',
126
+ execInstallingAgyHooks: 'Installing Agy {level} hooks...',
108
127
  execInstallingStatusline: 'Installing statusline...',
109
128
  execRegisteringMcp: 'Registering MCP server...',
110
129
  execRegisteringCodexMcp: 'Registering Codex MCP server...',
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/zh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,EAAE,EAAE,aAiNhB,CAAC"}
1
+ {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/zh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,EAAE,EAAE,aAsOhB,CAAC"}