nowaikit 3.0.0 → 4.0.0

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 (235) hide show
  1. package/LICENSE +10 -10
  2. package/README.md +8 -6
  3. package/desktop/renderer/dist/assets/index-D46KUWoj.js +49 -0
  4. package/desktop/renderer/dist/index.html +5 -5
  5. package/desktop/serve.cjs +134 -10
  6. package/dist/a2a/agent-card.d.ts +8 -0
  7. package/dist/a2a/agent-card.d.ts.map +1 -0
  8. package/dist/a2a/agent-card.js +82 -0
  9. package/dist/a2a/agent-card.js.map +1 -0
  10. package/dist/a2a/index.d.ts +13 -0
  11. package/dist/a2a/index.d.ts.map +1 -0
  12. package/dist/a2a/index.js +74 -0
  13. package/dist/a2a/index.js.map +1 -0
  14. package/dist/a2a/task-manager.d.ts +20 -0
  15. package/dist/a2a/task-manager.d.ts.map +1 -0
  16. package/dist/a2a/task-manager.js +148 -0
  17. package/dist/a2a/task-manager.js.map +1 -0
  18. package/dist/a2a/types.d.ts +73 -0
  19. package/dist/a2a/types.d.ts.map +1 -0
  20. package/dist/a2a/types.js +6 -0
  21. package/dist/a2a/types.js.map +1 -0
  22. package/dist/api/index.d.ts +16 -0
  23. package/dist/api/index.d.ts.map +1 -0
  24. package/dist/api/index.js +106 -0
  25. package/dist/api/index.js.map +1 -0
  26. package/dist/cli/config-store.d.ts +31 -0
  27. package/dist/cli/config-store.d.ts.map +1 -1
  28. package/dist/cli/config-store.js +44 -1
  29. package/dist/cli/config-store.js.map +1 -1
  30. package/dist/cli/index.js +115 -9
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/cli/setup.d.ts.map +1 -1
  33. package/dist/cli/setup.js +669 -49
  34. package/dist/cli/setup.js.map +1 -1
  35. package/dist/cli/shortcuts.d.ts +2 -0
  36. package/dist/cli/shortcuts.d.ts.map +1 -0
  37. package/dist/cli/shortcuts.js +122 -0
  38. package/dist/cli/shortcuts.js.map +1 -0
  39. package/dist/dashboard/index.d.ts +7 -0
  40. package/dist/dashboard/index.d.ts.map +1 -0
  41. package/dist/dashboard/index.js +111 -0
  42. package/dist/dashboard/index.js.map +1 -0
  43. package/dist/direct/llm-client.d.ts +1 -1
  44. package/dist/direct/llm-client.d.ts.map +1 -1
  45. package/dist/direct/llm-client.js +9 -4
  46. package/dist/direct/llm-client.js.map +1 -1
  47. package/dist/prompts/capabilities/build-app.d.ts.map +1 -1
  48. package/dist/prompts/capabilities/build-app.js +2 -0
  49. package/dist/prompts/capabilities/build-app.js.map +1 -1
  50. package/dist/prompts/capabilities/build-atf-suite.d.ts +4 -0
  51. package/dist/prompts/capabilities/build-atf-suite.d.ts.map +1 -0
  52. package/dist/prompts/capabilities/build-atf-suite.js +143 -0
  53. package/dist/prompts/capabilities/build-atf-suite.js.map +1 -0
  54. package/dist/prompts/capabilities/build-business-rule.d.ts.map +1 -1
  55. package/dist/prompts/capabilities/build-business-rule.js +2 -0
  56. package/dist/prompts/capabilities/build-business-rule.js.map +1 -1
  57. package/dist/prompts/capabilities/build-catalog.d.ts.map +1 -1
  58. package/dist/prompts/capabilities/build-catalog.js +2 -0
  59. package/dist/prompts/capabilities/build-catalog.js.map +1 -1
  60. package/dist/prompts/capabilities/build-client-script.d.ts.map +1 -1
  61. package/dist/prompts/capabilities/build-client-script.js +2 -0
  62. package/dist/prompts/capabilities/build-client-script.js.map +1 -1
  63. package/dist/prompts/capabilities/build-flow.d.ts.map +1 -1
  64. package/dist/prompts/capabilities/build-flow.js +2 -0
  65. package/dist/prompts/capabilities/build-flow.js.map +1 -1
  66. package/dist/prompts/capabilities/build-portal.d.ts.map +1 -1
  67. package/dist/prompts/capabilities/build-portal.js +2 -0
  68. package/dist/prompts/capabilities/build-portal.js.map +1 -1
  69. package/dist/prompts/capabilities/build-rest-api.d.ts.map +1 -1
  70. package/dist/prompts/capabilities/build-rest-api.js +2 -0
  71. package/dist/prompts/capabilities/build-rest-api.js.map +1 -1
  72. package/dist/prompts/capabilities/build-test-plan.d.ts.map +1 -1
  73. package/dist/prompts/capabilities/build-test-plan.js +2 -0
  74. package/dist/prompts/capabilities/build-test-plan.js.map +1 -1
  75. package/dist/prompts/capabilities/build-uib.d.ts.map +1 -1
  76. package/dist/prompts/capabilities/build-uib.js +2 -0
  77. package/dist/prompts/capabilities/build-uib.js.map +1 -1
  78. package/dist/prompts/capabilities/docs-app.d.ts.map +1 -1
  79. package/dist/prompts/capabilities/docs-app.js +2 -0
  80. package/dist/prompts/capabilities/docs-app.js.map +1 -1
  81. package/dist/prompts/capabilities/docs-release.d.ts.map +1 -1
  82. package/dist/prompts/capabilities/docs-release.js +2 -0
  83. package/dist/prompts/capabilities/docs-release.js.map +1 -1
  84. package/dist/prompts/capabilities/docs-runbook.d.ts.map +1 -1
  85. package/dist/prompts/capabilities/docs-runbook.js +2 -0
  86. package/dist/prompts/capabilities/docs-runbook.js.map +1 -1
  87. package/dist/prompts/capabilities/docs-script.d.ts.map +1 -1
  88. package/dist/prompts/capabilities/docs-script.js +2 -0
  89. package/dist/prompts/capabilities/docs-script.js.map +1 -1
  90. package/dist/prompts/capabilities/ops-deploy.d.ts.map +1 -1
  91. package/dist/prompts/capabilities/ops-deploy.js +2 -0
  92. package/dist/prompts/capabilities/ops-deploy.js.map +1 -1
  93. package/dist/prompts/capabilities/ops-risk.d.ts.map +1 -1
  94. package/dist/prompts/capabilities/ops-risk.js +2 -0
  95. package/dist/prompts/capabilities/ops-risk.js.map +1 -1
  96. package/dist/prompts/capabilities/ops-triage.d.ts.map +1 -1
  97. package/dist/prompts/capabilities/ops-triage.js +2 -0
  98. package/dist/prompts/capabilities/ops-triage.js.map +1 -1
  99. package/dist/prompts/capabilities/review-acls.d.ts.map +1 -1
  100. package/dist/prompts/capabilities/review-acls.js +2 -0
  101. package/dist/prompts/capabilities/review-acls.js.map +1 -1
  102. package/dist/prompts/capabilities/review-code.d.ts.map +1 -1
  103. package/dist/prompts/capabilities/review-code.js +2 -0
  104. package/dist/prompts/capabilities/review-code.js.map +1 -1
  105. package/dist/prompts/capabilities/review-flows.d.ts.map +1 -1
  106. package/dist/prompts/capabilities/review-flows.js +2 -0
  107. package/dist/prompts/capabilities/review-flows.js.map +1 -1
  108. package/dist/prompts/capabilities/review-scripts.d.ts.map +1 -1
  109. package/dist/prompts/capabilities/review-scripts.js +2 -0
  110. package/dist/prompts/capabilities/review-scripts.js.map +1 -1
  111. package/dist/prompts/capabilities/scan-automation.d.ts.map +1 -1
  112. package/dist/prompts/capabilities/scan-automation.js +2 -0
  113. package/dist/prompts/capabilities/scan-automation.js.map +1 -1
  114. package/dist/prompts/capabilities/scan-cmdb.d.ts.map +1 -1
  115. package/dist/prompts/capabilities/scan-cmdb.js +2 -0
  116. package/dist/prompts/capabilities/scan-cmdb.js.map +1 -1
  117. package/dist/prompts/capabilities/scan-debt.d.ts.map +1 -1
  118. package/dist/prompts/capabilities/scan-debt.js +2 -0
  119. package/dist/prompts/capabilities/scan-debt.js.map +1 -1
  120. package/dist/prompts/capabilities/scan-health.d.ts.map +1 -1
  121. package/dist/prompts/capabilities/scan-health.js +2 -0
  122. package/dist/prompts/capabilities/scan-health.js.map +1 -1
  123. package/dist/prompts/capabilities/scan-security.d.ts.map +1 -1
  124. package/dist/prompts/capabilities/scan-security.js +2 -0
  125. package/dist/prompts/capabilities/scan-security.js.map +1 -1
  126. package/dist/prompts/capabilities/scan-upgrade.d.ts.map +1 -1
  127. package/dist/prompts/capabilities/scan-upgrade.js +2 -0
  128. package/dist/prompts/capabilities/scan-upgrade.js.map +1 -1
  129. package/dist/prompts/index.d.ts.map +1 -1
  130. package/dist/prompts/index.js +47 -8
  131. package/dist/prompts/index.js.map +1 -1
  132. package/dist/reports/brand.d.ts +79 -0
  133. package/dist/reports/brand.d.ts.map +1 -0
  134. package/dist/reports/brand.js +204 -0
  135. package/dist/reports/brand.js.map +1 -0
  136. package/dist/reports/charts.d.ts +11 -0
  137. package/dist/reports/charts.d.ts.map +1 -0
  138. package/dist/reports/charts.js +91 -0
  139. package/dist/reports/charts.js.map +1 -0
  140. package/dist/reports/index.d.ts +13 -0
  141. package/dist/reports/index.d.ts.map +1 -0
  142. package/dist/reports/index.js +65 -0
  143. package/dist/reports/index.js.map +1 -0
  144. package/dist/reports/parser.d.ts +13 -0
  145. package/dist/reports/parser.d.ts.map +1 -0
  146. package/dist/reports/parser.js +202 -0
  147. package/dist/reports/parser.js.map +1 -0
  148. package/dist/reports/pdf-generator.d.ts +8 -0
  149. package/dist/reports/pdf-generator.d.ts.map +1 -0
  150. package/dist/reports/pdf-generator.js +244 -0
  151. package/dist/reports/pdf-generator.js.map +1 -0
  152. package/dist/reports/pptx-generator.d.ts +8 -0
  153. package/dist/reports/pptx-generator.d.ts.map +1 -0
  154. package/dist/reports/pptx-generator.js +273 -0
  155. package/dist/reports/pptx-generator.js.map +1 -0
  156. package/dist/reports/types.d.ts +60 -0
  157. package/dist/reports/types.d.ts.map +1 -0
  158. package/dist/reports/types.js +7 -0
  159. package/dist/reports/types.js.map +1 -0
  160. package/dist/resources/index.d.ts.map +1 -1
  161. package/dist/resources/index.js +10 -0
  162. package/dist/resources/index.js.map +1 -1
  163. package/dist/resources/query-syntax.d.ts +6 -0
  164. package/dist/resources/query-syntax.d.ts.map +1 -0
  165. package/dist/resources/query-syntax.js +113 -0
  166. package/dist/resources/query-syntax.js.map +1 -0
  167. package/dist/sdk/index.d.ts +51 -0
  168. package/dist/sdk/index.d.ts.map +1 -0
  169. package/dist/sdk/index.js +55 -0
  170. package/dist/sdk/index.js.map +1 -0
  171. package/dist/server.d.ts +2 -1
  172. package/dist/server.d.ts.map +1 -1
  173. package/dist/server.js +103 -92
  174. package/dist/server.js.map +1 -1
  175. package/dist/servicenow/client.js +1 -1
  176. package/dist/servicenow/client.js.map +1 -1
  177. package/dist/tools/ai-agents.d.ts +145 -0
  178. package/dist/tools/ai-agents.d.ts.map +1 -0
  179. package/dist/tools/ai-agents.js +185 -0
  180. package/dist/tools/ai-agents.js.map +1 -0
  181. package/dist/tools/cmdb-reconciliation.d.ts +112 -0
  182. package/dist/tools/cmdb-reconciliation.d.ts.map +1 -0
  183. package/dist/tools/cmdb-reconciliation.js +267 -0
  184. package/dist/tools/cmdb-reconciliation.js.map +1 -0
  185. package/dist/tools/discovery.d.ts +34 -0
  186. package/dist/tools/discovery.d.ts.map +1 -0
  187. package/dist/tools/discovery.js +168 -0
  188. package/dist/tools/discovery.js.map +1 -0
  189. package/dist/tools/fluent.d.ts +105 -11
  190. package/dist/tools/fluent.d.ts.map +1 -1
  191. package/dist/tools/fluent.js +118 -1
  192. package/dist/tools/fluent.js.map +1 -1
  193. package/dist/tools/index.d.ts +840 -0
  194. package/dist/tools/index.d.ts.map +1 -1
  195. package/dist/tools/index.js +44 -6
  196. package/dist/tools/index.js.map +1 -1
  197. package/dist/tools/ml.d.ts +104 -0
  198. package/dist/tools/ml.d.ts.map +1 -1
  199. package/dist/tools/ml.js +139 -0
  200. package/dist/tools/ml.js.map +1 -1
  201. package/dist/tools/now-assist-skills.d.ts +129 -0
  202. package/dist/tools/now-assist-skills.d.ts.map +1 -0
  203. package/dist/tools/now-assist-skills.js +128 -0
  204. package/dist/tools/now-assist-skills.js.map +1 -0
  205. package/dist/tools/orchestration.d.ts +132 -0
  206. package/dist/tools/orchestration.d.ts.map +1 -0
  207. package/dist/tools/orchestration.js +320 -0
  208. package/dist/tools/orchestration.js.map +1 -0
  209. package/dist/tools/reporting.d.ts +127 -1
  210. package/dist/tools/reporting.d.ts.map +1 -1
  211. package/dist/tools/reporting.js +64 -0
  212. package/dist/tools/reporting.js.map +1 -1
  213. package/dist/tools/schema-cache.d.ts +44 -0
  214. package/dist/tools/schema-cache.d.ts.map +1 -0
  215. package/dist/tools/schema-cache.js +127 -0
  216. package/dist/tools/schema-cache.js.map +1 -0
  217. package/dist/tools-manifest.json +1250 -25
  218. package/dist/transport/auth-middleware.d.ts +16 -0
  219. package/dist/transport/auth-middleware.d.ts.map +1 -0
  220. package/dist/transport/auth-middleware.js +31 -0
  221. package/dist/transport/auth-middleware.js.map +1 -0
  222. package/dist/transport/http-server.d.ts +44 -0
  223. package/dist/transport/http-server.d.ts.map +1 -0
  224. package/dist/transport/http-server.js +172 -0
  225. package/dist/transport/http-server.js.map +1 -0
  226. package/dist/transport/index.d.ts +19 -0
  227. package/dist/transport/index.d.ts.map +1 -0
  228. package/dist/transport/index.js +105 -0
  229. package/dist/transport/index.js.map +1 -0
  230. package/dist/utils/permissions.d.ts +2 -0
  231. package/dist/utils/permissions.d.ts.map +1 -1
  232. package/dist/utils/permissions.js +8 -0
  233. package/dist/utils/permissions.js.map +1 -1
  234. package/package.json +27 -4
  235. package/desktop/renderer/dist/assets/index-B-6BYnh8.js +0 -49
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { itsmPrompts } from './itsm.js';
11
11
  import { loadUserPrompts } from './user-prompts.js';
12
+ import { loadConfig } from '../cli/config-store.js';
12
13
  const capabilityMeta = [
13
14
  // Scan
14
15
  { name: 'scan-health', title: 'Instance Health Scan', description: 'Complete instance health assessment — plugins, scheduled jobs, logs, quotas, system diagnostics', category: 'scan', file: 'scan-health' },
@@ -41,6 +42,8 @@ const capabilityMeta = [
41
42
  { name: 'docs-release', title: 'Generate Release Notes', description: 'Generate release notes from update set — categorize changes, highlight breaking changes', category: 'docs', file: 'docs-release', arguments: [{ name: 'updateset', description: 'update set name or sys_id', required: true }, { name: 'version', description: 'version number', required: false }] },
42
43
  { name: 'docs-runbook', title: 'Generate Runbook', description: 'Operational runbook — incident response, health checks, escalation, recovery procedures', category: 'docs', file: 'docs-runbook', arguments: [{ name: 'service', description: 'service, CI, or application name', required: true }] },
43
44
  { name: 'docs-script', title: 'Document Script', description: 'Detailed script documentation — JSDoc, explanation, usage examples, dependencies, security', category: 'docs', file: 'docs-script', arguments: [{ name: 'script', description: 'script name or pasted code', required: true }] },
45
+ // v4.0 addition
46
+ { name: 'build-atf-suite', title: 'Generate ATF Test Suite', description: 'AI-generates runnable ATF test suites from business rules, script includes, flows, or any artifact', category: 'build', file: 'build-atf-suite', arguments: [{ name: 'target', description: 'artifact name/sys_id or feature description', required: true }, { name: 'coverage', description: 'basic, standard, comprehensive. Default: standard', required: false }] },
44
47
  ];
45
48
  // Cache for loaded capability modules (lazy-load on first resolve)
46
49
  const capabilityCache = new Map();
@@ -88,6 +91,32 @@ async function loadProExtensions() {
88
91
  // Pro extensions not available
89
92
  }
90
93
  }
94
+ // ─── Apex feature flag ──────────────────────────────────────────────────────
95
+ /**
96
+ * Check if Apex AI Skills are enabled.
97
+ * Disabled via NOWAIKIT_APEX_ENABLED=false env var or apexEnabled=false on the
98
+ * active instance in the config store. Defaults to enabled.
99
+ */
100
+ function isApexEnabled() {
101
+ // Env var override (fastest check)
102
+ const envFlag = process.env.NOWAIKIT_APEX_ENABLED;
103
+ if (envFlag !== undefined) {
104
+ return envFlag !== 'false' && envFlag !== '0';
105
+ }
106
+ // Check config store — if *any* instance has apexEnabled explicitly false, respect it.
107
+ // Typically the default instance is the one that matters.
108
+ try {
109
+ const config = loadConfig();
110
+ const defaultInst = config.instances[config.defaultInstance];
111
+ if (defaultInst && defaultInst.apexEnabled === false) {
112
+ return false;
113
+ }
114
+ }
115
+ catch {
116
+ // Config not available — default to enabled
117
+ }
118
+ return true;
119
+ }
91
120
  // ─── Public API ─────────────────────────────────────────────────────────────
92
121
  /** All prompts merged (ITSM + user-defined + capabilities). Lightweight — no capability module loading. */
93
122
  export function getPrompts() {
@@ -97,6 +126,10 @@ export function getPrompts() {
97
126
  description: p.description,
98
127
  arguments: p.arguments,
99
128
  }));
129
+ // Only include Apex capabilities if enabled
130
+ if (!isApexEnabled()) {
131
+ return [...itsmMapped, ...userPrompts];
132
+ }
100
133
  const capMapped = capabilityMeta.map(c => ({
101
134
  name: c.name,
102
135
  description: c.description,
@@ -121,13 +154,15 @@ export async function resolvePromptAsync(name, args) {
121
154
  messages: [{ role: 'user', content: { type: 'text', text } }],
122
155
  };
123
156
  }
124
- // 2. Check capabilities (lazy-load)
125
- const capMeta = capabilityMeta.find(c => c.name === name);
126
- if (capMeta) {
127
- await loadProExtensions();
128
- const cap = await loadCapability(capMeta.file);
129
- const messages = cap.buildPrompt(args);
130
- return { description: cap.description, messages };
157
+ // 2. Check capabilities (lazy-load) — only if Apex is enabled
158
+ if (isApexEnabled()) {
159
+ const capMeta = capabilityMeta.find(c => c.name === name);
160
+ if (capMeta) {
161
+ await loadProExtensions();
162
+ const cap = await loadCapability(capMeta.file);
163
+ const messages = cap.buildPrompt(args);
164
+ return { description: cap.description, messages };
165
+ }
131
166
  }
132
167
  return null;
133
168
  }
@@ -137,7 +172,7 @@ export function resolvePrompt(name, args) {
137
172
  const prompt = allTemplated.find(p => p.name === name);
138
173
  if (!prompt) {
139
174
  // Check if it's a capability — return a minimal prompt directing to use async
140
- const capMeta = capabilityMeta.find(c => c.name === name);
175
+ const capMeta = isApexEnabled() ? capabilityMeta.find(c => c.name === name) : undefined;
141
176
  if (capMeta) {
142
177
  // Synchronous fallback: build a lightweight redirect prompt
143
178
  return {
@@ -166,10 +201,14 @@ export function resolvePrompt(name, args) {
166
201
  }
167
202
  /** Get capability metadata for CLI listing. Lightweight — no module loading. */
168
203
  export function getCapabilityMeta() {
204
+ if (!isApexEnabled())
205
+ return [];
169
206
  return [...capabilityMeta];
170
207
  }
171
208
  /** Get full capability definitions (loads all modules). For direct execution. */
172
209
  export async function getCapabilities() {
210
+ if (!isApexEnabled())
211
+ return [];
173
212
  await loadProExtensions();
174
213
  const loaded = [];
175
214
  for (const meta of capabilityMeta) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAmCpD,MAAM,cAAc,GAAqB;IACvC,OAAO;IACP,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,iGAAiG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;IAC7M,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,gGAAgG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,sEAAsE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2DAA2D,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAC7b,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,iGAAiG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IAC5M,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,qFAAqF,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;IACtM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,iGAAiG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IACrM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,0BAA0B,EAAE,WAAW,EAAE,0GAA0G,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAClO,SAAS;IACT,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,oGAAoG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;IAC9M,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,4FAA4F,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;IAC3M,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,4FAA4F,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC5M,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,mGAAmG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE;IAClN,QAAQ;IACR,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,4FAA4F,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAChd,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,4FAA4F,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,wCAAwC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IACzd,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,+FAA+F,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;IAC7X,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,4EAA4E,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAClb,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,+EAA+E,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,uCAAuC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAC/W,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,uFAAuF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAC1a,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,8EAA8E,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,kCAAkC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IACvX,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,oFAAoF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAC1b,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,wFAAwF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IACpb,MAAM;IACN,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,sGAAsG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,0CAA0C,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IACjZ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,yFAAyF,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IACrW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,iFAAiF,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAC/X,OAAO;IACP,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,+FAA+F,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;IACnS,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,yFAAyF,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IAC5W,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,yFAAyF,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;IACtS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,4FAA4F,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;IAC/R,gBAAgB;IAChB,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,oGAAoG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,mDAAmD,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;CACnb,CAAC;AAEF,mEAAmE;AACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;AAEhE,kDAAkD;AAClD,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,QAAQ,KAAK,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAyB,GAAG,CAAC,OAAO,CAAC;IAC9C,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAE/E,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,KAAK,UAAU,iBAAiB;IAC9B,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IAEjB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACvE,IAAI,OAAO,SAAS,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YACvD,MAAM,OAAO,GAA2B,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACvE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACnC,yCAAyC;gBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,cAAc,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,SAAS,EAAE,GAAG,CAAC,SAAS;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,SAAS,aAAa;IACpB,mCAAmC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAClD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,GAAG,CAAC;IAChD,CAAC;IAED,uFAAuF;IACvF,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAE/E,2GAA2G;AAC3G,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IAEtC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC,CAAC;IAEJ,4CAA4C;IAC5C,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAY,EAAE,IAA6B;IAClF,wBAAwB;IACxB,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAA6B;IACvE,MAAM,YAAY,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,8EAA8E;QAC9E,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,IAAI,OAAO,EAAE,CAAC;YACZ,4DAA4D;YAC5D,OAAO;gBACL,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,CAAC;wBACT,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gBAAgB,OAAO,CAAC,IAAI,iBAAiB,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;yBAC9H;qBACF,CAAC;aACH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;AAC7B,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,iBAAiB,EAAE,CAAC;IAC1B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,iBAAiB,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * NowAIKit brand constants for report generation.
3
+ * Colors, logo, and utility functions for building branded reports.
4
+ */
5
+ import type { Severity } from './types.js';
6
+ export declare const BRAND: {
7
+ readonly teal: "#00D4AA";
8
+ readonly tealDark: "#00B899";
9
+ readonly navy: "#0F4C81";
10
+ readonly navyLight: "#1A5A94";
11
+ readonly white: "#FFFFFF";
12
+ readonly offWhite: "#F8FAFB";
13
+ readonly gray: "#8B949E";
14
+ readonly grayLight: "#E1E4E8";
15
+ readonly grayDark: "#30363D";
16
+ readonly text: "#24292F";
17
+ readonly textLight: "#57606A";
18
+ readonly critical: "#E8466A";
19
+ readonly high: "#FF6B35";
20
+ readonly medium: "#FFB020";
21
+ readonly low: "#0F4C81";
22
+ readonly info: "#8B949E";
23
+ readonly healthy: "#10B981";
24
+ readonly degraded: "#FFB020";
25
+ readonly criticalHealth: "#E8466A";
26
+ };
27
+ /** Map severity to brand color hex. */
28
+ export declare function severityColor(severity: Severity): string;
29
+ /** Map severity to human label with consistent casing. */
30
+ export declare function severityLabel(severity: Severity): string;
31
+ /** Build a clickable ServiceNow record link by sys_id. */
32
+ export declare function buildRecordLink(instanceUrl: string, table: string, sysId: string): string;
33
+ /** Build a link to a ServiceNow record by its number (uses sysparm_query lookup). */
34
+ export declare function buildRecordNumberLink(instanceUrl: string, recordNumber: string): string | null;
35
+ /** Build a link to a sys_properties record by name. */
36
+ export declare function buildPropertyLink(instanceUrl: string, name: string): string;
37
+ /** Build a link to a plugin record by ID. */
38
+ export declare function buildPluginLink(instanceUrl: string, pluginId: string): string;
39
+ /** Build a link to a table definition by name. */
40
+ export declare function buildTableLink(instanceUrl: string, tableName: string): string;
41
+ /** Entity match with resolved link URL. */
42
+ interface EntityMatch {
43
+ start: number;
44
+ end: number;
45
+ text: string;
46
+ link: string;
47
+ }
48
+ /**
49
+ * Find all linkable ServiceNow entities in text. Runs patterns in priority order
50
+ * and skips overlapping matches so no entity is double-linked.
51
+ */
52
+ export declare function findAllEntityMatches(text: string, instanceUrl: string): EntityMatch[];
53
+ /**
54
+ * Split a plain text string into pdfmake text segments where ServiceNow entities
55
+ * (record numbers, sys_properties, plugins, tables) become clickable hyperlinks.
56
+ * Returns a single string if no entities found, or an array of text objects.
57
+ */
58
+ export declare function linkifyTextPdf(text: string, instanceUrl: string, baseStyle?: Record<string, any>): any;
59
+ /**
60
+ * Split a plain text string into pptxgenjs text parts where ServiceNow entities
61
+ * become clickable hyperlinks. Returns an array of text part objects.
62
+ */
63
+ export declare function linkifyTextPptx(text: string, instanceUrl: string, baseOpts?: Record<string, any>): Array<{
64
+ text: string;
65
+ options: Record<string, any>;
66
+ }>;
67
+ /** NowAIKit logo as embedded base64 PNG (small 64x64 icon). */
68
+ export declare const LOGO_BASE64: string;
69
+ /** Font sizes used in reports */
70
+ export declare const FONT_SIZES: {
71
+ readonly title: 28;
72
+ readonly subtitle: 16;
73
+ readonly sectionHeader: 18;
74
+ readonly body: 11;
75
+ readonly small: 9;
76
+ readonly caption: 8;
77
+ };
78
+ export {};
79
+ //# sourceMappingURL=brand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/reports/brand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;CAwBR,CAAC;AAEX,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzF;AAwBD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM9F;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED,2CAA2C;AAC3C,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAyCrF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,GAAG,CA0B1G;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACjC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAAC,CA4BvD;AAED,+DAA+D;AAC/D,eAAO,MAAM,WAAW,QAiBd,CAAC;AAEX,iCAAiC;AACjC,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC"}
@@ -0,0 +1,204 @@
1
+ export const BRAND = {
2
+ teal: '#00D4AA',
3
+ tealDark: '#00B899',
4
+ navy: '#0F4C81',
5
+ navyLight: '#1A5A94',
6
+ white: '#FFFFFF',
7
+ offWhite: '#F8FAFB',
8
+ gray: '#8B949E',
9
+ grayLight: '#E1E4E8',
10
+ grayDark: '#30363D',
11
+ text: '#24292F',
12
+ textLight: '#57606A',
13
+ // Severity palette
14
+ critical: '#E8466A',
15
+ high: '#FF6B35',
16
+ medium: '#FFB020',
17
+ low: '#0F4C81',
18
+ info: '#8B949E',
19
+ // Health status
20
+ healthy: '#10B981',
21
+ degraded: '#FFB020',
22
+ criticalHealth: '#E8466A',
23
+ };
24
+ /** Map severity to brand color hex. */
25
+ export function severityColor(severity) {
26
+ return BRAND[severity] ?? BRAND.info;
27
+ }
28
+ /** Map severity to human label with consistent casing. */
29
+ export function severityLabel(severity) {
30
+ return severity.toUpperCase();
31
+ }
32
+ /** Build a clickable ServiceNow record link by sys_id. */
33
+ export function buildRecordLink(instanceUrl, table, sysId) {
34
+ const base = instanceUrl.replace(/\/$/, '');
35
+ return `${base}/${table}.do?sys_id=${sysId}`;
36
+ }
37
+ /** Map record number prefixes to ServiceNow table names. */
38
+ const RECORD_PREFIXES = {
39
+ INC: 'incident', CHG: 'change_request', PRB: 'problem', RITM: 'sc_req_item',
40
+ REQ: 'sc_request', STASK: 'sc_task', SCTASK: 'sc_task', KB: 'kb_knowledge',
41
+ TASK: 'task', PTASK: 'pm_project_task', PRJ: 'pm_project',
42
+ };
43
+ /** Regex matching ServiceNow record numbers like INC0000052, CHG0040003, PRB0000011. */
44
+ const RECORD_NUMBER_RE = /\b(INC|CHG|PRB|RITM|REQ|STASK|SCTASK|KB|TASK|PTASK|PRJ)\d{5,10}\b/g;
45
+ /** Regex matching sys_properties like glide.ui.session_timeout, glide.db.max_get. */
46
+ const SYS_PROPERTY_RE = /\b(glide\.\w+(?:\.\w+)*)\b/g;
47
+ /** Regex matching sn_* scoped properties like sn_hr_core.config, sn_cmdb.health.enabled. */
48
+ const SN_PROPERTY_RE = /\b(sn_\w+\.\w+(?:\.\w+)*)\b/g;
49
+ /** Regex matching plugin IDs like com.snc.cmdb, com.glide.email. */
50
+ const PLUGIN_ID_RE = /\b(com\.(?:snc|glide|service_now|servicenow)\.\w+(?:\.\w+)*)\b/g;
51
+ /** Regex matching known ServiceNow table prefixes (conservative to avoid false positives). */
52
+ const TABLE_NAME_RE = /\b((?:cmdb_ci|sys_|sc_|sn_|task|incident|change_request|problem|kb_|alm_|ast_|pm_|rm_)\w+)\b/g;
53
+ /** Build a link to a ServiceNow record by its number (uses sysparm_query lookup). */
54
+ export function buildRecordNumberLink(instanceUrl, recordNumber) {
55
+ const prefix = Object.keys(RECORD_PREFIXES).find(p => recordNumber.startsWith(p));
56
+ if (!prefix)
57
+ return null;
58
+ const table = RECORD_PREFIXES[prefix];
59
+ const base = instanceUrl.replace(/\/$/, '');
60
+ return `${base}/nav_to.do?uri=${table}.do%3Fsysparm_query%3Dnumber%3D${recordNumber}`;
61
+ }
62
+ /** Build a link to a sys_properties record by name. */
63
+ export function buildPropertyLink(instanceUrl, name) {
64
+ const base = instanceUrl.replace(/\/$/, '');
65
+ return `${base}/nav_to.do?uri=sys_properties.do%3Fsysparm_query%3Dname%3D${name}`;
66
+ }
67
+ /** Build a link to a plugin record by ID. */
68
+ export function buildPluginLink(instanceUrl, pluginId) {
69
+ const base = instanceUrl.replace(/\/$/, '');
70
+ return `${base}/nav_to.do?uri=v_plugin.do%3Fsysparm_query%3Did%3D${pluginId}`;
71
+ }
72
+ /** Build a link to a table definition by name. */
73
+ export function buildTableLink(instanceUrl, tableName) {
74
+ const base = instanceUrl.replace(/\/$/, '');
75
+ return `${base}/nav_to.do?uri=sys_db_object.do%3Fsysparm_query%3Dname%3D${tableName}`;
76
+ }
77
+ /**
78
+ * Find all linkable ServiceNow entities in text. Runs patterns in priority order
79
+ * and skips overlapping matches so no entity is double-linked.
80
+ */
81
+ export function findAllEntityMatches(text, instanceUrl) {
82
+ const matches = [];
83
+ // 1. Record numbers (highest priority)
84
+ for (const m of text.matchAll(RECORD_NUMBER_RE)) {
85
+ const link = buildRecordNumberLink(instanceUrl, m[0]);
86
+ if (link)
87
+ matches.push({ start: m.index, end: m.index + m[0].length, text: m[0], link });
88
+ }
89
+ // 2. Plugin IDs (before properties to avoid com.snc.x matching sn_ patterns)
90
+ for (const m of text.matchAll(PLUGIN_ID_RE)) {
91
+ matches.push({ start: m.index, end: m.index + m[0].length, text: m[0], link: buildPluginLink(instanceUrl, m[0]) });
92
+ }
93
+ // 3. glide.* sys_properties
94
+ for (const m of text.matchAll(SYS_PROPERTY_RE)) {
95
+ matches.push({ start: m.index, end: m.index + m[0].length, text: m[0], link: buildPropertyLink(instanceUrl, m[0]) });
96
+ }
97
+ // 4. sn_* scoped properties
98
+ for (const m of text.matchAll(SN_PROPERTY_RE)) {
99
+ matches.push({ start: m.index, end: m.index + m[0].length, text: m[0], link: buildPropertyLink(instanceUrl, m[0]) });
100
+ }
101
+ // 5. Table names (lowest priority — most prone to false positives)
102
+ for (const m of text.matchAll(TABLE_NAME_RE)) {
103
+ matches.push({ start: m.index, end: m.index + m[0].length, text: m[0], link: buildTableLink(instanceUrl, m[0]) });
104
+ }
105
+ // Sort by start position, then deduplicate overlapping matches (keep first = highest priority)
106
+ matches.sort((a, b) => a.start - b.start);
107
+ const deduped = [];
108
+ let lastEnd = -1;
109
+ for (const m of matches) {
110
+ if (m.start >= lastEnd) {
111
+ deduped.push(m);
112
+ lastEnd = m.end;
113
+ }
114
+ }
115
+ return deduped;
116
+ }
117
+ /**
118
+ * Split a plain text string into pdfmake text segments where ServiceNow entities
119
+ * (record numbers, sys_properties, plugins, tables) become clickable hyperlinks.
120
+ * Returns a single string if no entities found, or an array of text objects.
121
+ */
122
+ export function linkifyTextPdf(text, instanceUrl, baseStyle = {}) {
123
+ const matches = findAllEntityMatches(text, instanceUrl);
124
+ if (matches.length === 0)
125
+ return { text, ...baseStyle };
126
+ const segments = [];
127
+ let lastIdx = 0;
128
+ for (const match of matches) {
129
+ if (match.start > lastIdx) {
130
+ segments.push({ text: text.slice(lastIdx, match.start), ...baseStyle });
131
+ }
132
+ segments.push({
133
+ text: match.text,
134
+ ...baseStyle,
135
+ color: BRAND.teal,
136
+ decoration: 'underline',
137
+ link: match.link,
138
+ });
139
+ lastIdx = match.end;
140
+ }
141
+ if (lastIdx < text.length) {
142
+ segments.push({ text: text.slice(lastIdx), ...baseStyle });
143
+ }
144
+ return segments;
145
+ }
146
+ /**
147
+ * Split a plain text string into pptxgenjs text parts where ServiceNow entities
148
+ * become clickable hyperlinks. Returns an array of text part objects.
149
+ */
150
+ export function linkifyTextPptx(text, instanceUrl, baseOpts = {}) {
151
+ const matches = findAllEntityMatches(text, instanceUrl);
152
+ if (matches.length === 0)
153
+ return [{ text, options: baseOpts }];
154
+ const parts = [];
155
+ let lastIdx = 0;
156
+ for (const match of matches) {
157
+ if (match.start > lastIdx) {
158
+ parts.push({ text: text.slice(lastIdx, match.start), options: { ...baseOpts } });
159
+ }
160
+ parts.push({
161
+ text: match.text,
162
+ options: {
163
+ ...baseOpts,
164
+ color: BRAND.teal.replace('#', ''),
165
+ underline: true,
166
+ hyperlink: { url: match.link },
167
+ },
168
+ });
169
+ lastIdx = match.end;
170
+ }
171
+ if (lastIdx < text.length) {
172
+ parts.push({ text: text.slice(lastIdx), options: { ...baseOpts } });
173
+ }
174
+ return parts;
175
+ }
176
+ /** NowAIKit logo as embedded base64 PNG (small 64x64 icon). */
177
+ export const LOGO_BASE64 = [
178
+ 'iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF',
179
+ 'HGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0w',
180
+ 'TXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRh',
181
+ 'LyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZWRhMmIzZiwgMjAyMS8xMS8x',
182
+ 'NC0xMjozMDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9y',
183
+ 'Zy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9',
184
+ 'IiIvPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+AAAB8UlEQVR4',
185
+ 'nO2bMU7DQBBF/0iUVLRUXIALcANOwA24ATdIQUNJR0dBBYiCgoKCikPkCFyA+KfYlSzLWe/Mzux6',
186
+ 'xfwvbex5b+1xdrwkiIiIiIiIiIiIiGgEXAF4BPACYJu4nkXNAN4C+ATgO4BX+j9pU5gF8AzAVwA7',
187
+ 'AE/1PXG9ZwB2ALwH8APAT/0c1fcFgCcA3gF4AuAhgAcA7gO4V29PANwBcBvATQDXAVwFcLnenkLV',
188
+ 'QHITQiLgaQQcPcC+CPCb/VsHuBkB6wDXI2AdYBcBe0XAfhGwBHAvAtYA7kXACsDdCFhZz+x3ADcj',
189
+ 'YGU9M98BXI+AlfXMegdwLwJW1jPbHcC9CKj0BH0HcCcCKuuZ5Q7gZgRU1jOrHcCdCKisZ0Y7gLsR',
190
+ 'UFnPTHYAdyOgsp7Z7ADuRMDSemayA7gVAUvrmcUO4HYELKxn+juA+xGwsJ5Z7ACeRADpM6sdgCcR',
191
+ 'QPrMYgfwMgL4xjoXO4CXEUB8Zr4DeB0BxGemO4AfEUB6pt8B/IoA4jP9DuBnBBCf6XcAvyKA+Ey/',
192
+ 'A/gZAcRn+h3ArwggPtPvAH5GAPGZfgfwKwKIz/Q7gJ8RQHym3wH8igDiM/0O4GcEEJ/pd4AOcHCw',
193
+ 'h4NdHBwQEREREREREREREY3gF4RZMZGMo+ENAAAAAElFTkSuQmCC',
194
+ ].join('');
195
+ /** Font sizes used in reports */
196
+ export const FONT_SIZES = {
197
+ title: 28,
198
+ subtitle: 16,
199
+ sectionHeader: 18,
200
+ body: 11,
201
+ small: 9,
202
+ caption: 8,
203
+ };
204
+ //# sourceMappingURL=brand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/reports/brand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Zero-dependency SVG chart generators for PDF reports.
3
+ * pdfmake supports SVG natively — no canvas/browser needed.
4
+ * pptxgenjs has its own chart API, so these are PDF-only.
5
+ */
6
+ import type { Severity } from './types.js';
7
+ /** Generate an SVG pie chart for severity distribution. */
8
+ export declare function severityPieChart(counts: Record<Severity, number>, size?: number): string;
9
+ /** Generate an SVG horizontal bar chart for category breakdown. */
10
+ export declare function categoryBarChart(breakdown: Record<string, number>, width?: number, barHeight?: number): string;
11
+ //# sourceMappingURL=charts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../src/reports/charts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAChC,IAAI,SAAM,GACT,MAAM,CAsER;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,KAAK,SAAM,EACX,SAAS,SAAK,GACb,MAAM,CA8BR"}
@@ -0,0 +1,91 @@
1
+ import { severityColor, BRAND } from './brand.js';
2
+ const SEVERITY_ORDER = ['critical', 'high', 'medium', 'low', 'info'];
3
+ /** Escape XML special characters for safe SVG text content. */
4
+ function escXml(s) {
5
+ return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
6
+ }
7
+ /** Generate an SVG pie chart for severity distribution. */
8
+ export function severityPieChart(counts, size = 200) {
9
+ const total = Object.values(counts).reduce((a, b) => a + b, 0);
10
+ if (total === 0) {
11
+ return `<svg width="${size}" height="${size}" xmlns="http://www.w3.org/2000/svg">
12
+ <circle cx="${size / 2}" cy="${size / 2}" r="${size / 2 - 10}" fill="${BRAND.grayLight}" />
13
+ <text x="${size / 2}" y="${size / 2}" text-anchor="middle" dy="4" font-size="12" fill="${BRAND.textLight}">No findings</text>
14
+ </svg>`;
15
+ }
16
+ const cx = size / 2;
17
+ const cy = size / 2;
18
+ const radius = size / 2 - 10;
19
+ let startAngle = -Math.PI / 2; // Start from top
20
+ const paths = [];
21
+ const labels = [];
22
+ for (const sev of SEVERITY_ORDER) {
23
+ const count = counts[sev];
24
+ if (count === 0)
25
+ continue;
26
+ const sliceAngle = (count / total) * 2 * Math.PI;
27
+ const endAngle = startAngle + sliceAngle;
28
+ const x1 = cx + radius * Math.cos(startAngle);
29
+ const y1 = cy + radius * Math.sin(startAngle);
30
+ const x2 = cx + radius * Math.cos(endAngle);
31
+ const y2 = cy + radius * Math.sin(endAngle);
32
+ const largeArc = sliceAngle > Math.PI ? 1 : 0;
33
+ const color = severityColor(sev);
34
+ paths.push(`<path d="M ${cx} ${cy} L ${x1} ${y1} A ${radius} ${radius} 0 ${largeArc} 1 ${x2} ${y2} Z" fill="${color}" stroke="white" stroke-width="1.5"/>`);
35
+ // Label at midpoint of arc
36
+ const midAngle = startAngle + sliceAngle / 2;
37
+ const labelRadius = radius * 0.65;
38
+ const lx = cx + labelRadius * Math.cos(midAngle);
39
+ const ly = cy + labelRadius * Math.sin(midAngle);
40
+ const pct = Math.round((count / total) * 100);
41
+ if (pct >= 5) {
42
+ labels.push(`<text x="${lx}" y="${ly}" text-anchor="middle" dy="4" font-size="10" font-weight="bold" fill="white">${count}</text>`);
43
+ }
44
+ startAngle = endAngle;
45
+ }
46
+ // Legend
47
+ const legendY = size + 8;
48
+ const legendItems = SEVERITY_ORDER
49
+ .filter(s => counts[s] > 0)
50
+ .map((sev, i) => {
51
+ const x = 10 + (i % 3) * 70;
52
+ const y = legendY + Math.floor(i / 3) * 16;
53
+ return `<rect x="${x}" y="${y}" width="10" height="10" rx="2" fill="${severityColor(sev)}"/>
54
+ <text x="${x + 14}" y="${y + 9}" font-size="9" fill="${BRAND.text}">${escXml(sev.charAt(0).toUpperCase() + sev.slice(1))} (${counts[sev]})</text>`;
55
+ });
56
+ const legendHeight = Math.ceil(SEVERITY_ORDER.filter(s => counts[s] > 0).length / 3) * 16 + 8;
57
+ const totalHeight = size + legendHeight + 12;
58
+ return `<svg width="${size}" height="${totalHeight}" xmlns="http://www.w3.org/2000/svg">
59
+ ${paths.join('\n ')}
60
+ ${labels.join('\n ')}
61
+ ${legendItems.join('\n ')}
62
+ </svg>`;
63
+ }
64
+ /** Generate an SVG horizontal bar chart for category breakdown. */
65
+ export function categoryBarChart(breakdown, width = 300, barHeight = 22) {
66
+ const entries = Object.entries(breakdown)
67
+ .sort((a, b) => b[1] - a[1])
68
+ .slice(0, 10); // Top 10 categories
69
+ if (entries.length === 0) {
70
+ return `<svg width="${width}" height="40" xmlns="http://www.w3.org/2000/svg">
71
+ <text x="${width / 2}" y="20" text-anchor="middle" font-size="12" fill="${BRAND.textLight}">No categories</text>
72
+ </svg>`;
73
+ }
74
+ const maxValue = Math.max(...entries.map(e => e[1]));
75
+ const labelWidth = 120;
76
+ const chartWidth = width - labelWidth - 40;
77
+ const padding = 4;
78
+ const totalHeight = entries.length * (barHeight + padding) + 10;
79
+ const bars = entries.map(([category, count], i) => {
80
+ const y = i * (barHeight + padding) + 5;
81
+ const barW = Math.max((count / maxValue) * chartWidth, 2);
82
+ const truncatedLabel = category.length > 18 ? category.slice(0, 16) + '...' : category;
83
+ return `<text x="${labelWidth - 5}" y="${y + barHeight / 2 + 4}" text-anchor="end" font-size="10" fill="${BRAND.text}">${escXml(truncatedLabel)}</text>
84
+ <rect x="${labelWidth}" y="${y}" width="${barW}" height="${barHeight}" rx="3" fill="${BRAND.teal}" opacity="0.85"/>
85
+ <text x="${labelWidth + barW + 5}" y="${y + barHeight / 2 + 4}" font-size="10" fill="${BRAND.textLight}">${count}</text>`;
86
+ });
87
+ return `<svg width="${width}" height="${totalHeight}" xmlns="http://www.w3.org/2000/svg">
88
+ ${bars.join('\n ')}
89
+ </svg>`;
90
+ }
91
+ //# sourceMappingURL=charts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charts.js","sourceRoot":"","sources":["../../src/reports/charts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ReportFormat, ReportOptions, ReportResult } from './types.js';
2
+ /**
3
+ * Generate a branded report from capability markdown output.
4
+ *
5
+ * @param markdown - Raw markdown from LLM capability analysis
6
+ * @param format - Output format: 'pdf', 'pptx', or 'md'
7
+ * @param options - Report metadata (title, instance info, output directory)
8
+ * @returns File path and size of generated report
9
+ */
10
+ export declare function generateReport(markdown: string, format: ReportFormat, options: ReportOptions): Promise<ReportResult>;
11
+ export type { ReportData, ReportFormat, ReportOptions, ReportResult, ReportFinding, ReportMetrics, Severity } from './types.js';
12
+ export { parseMarkdown } from './parser.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reports/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5E;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAwCvB;AAGD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChI,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}