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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAyOhE,wBAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAevB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CA2Cd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAwQhE,wBAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBvB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAiDd"}
@@ -59,6 +59,17 @@ import { getMobileToolDefinitions, executeMobileToolCall } from './mobile.js';
59
59
  import { getDeploymentToolDefinitions, executeDeploymentToolCall } from './deployment.js';
60
60
  // Fluent / GlideQuery / Batch API
61
61
  import { getFluentToolDefinitions, executeFluentToolCall } from './fluent.js';
62
+ // Now Assist Skills
63
+ import { getNowAssistSkillsToolDefinitions, executeNowAssistSkillsToolCall } from './now-assist-skills.js';
64
+ // AI Agents & Agentic Workflows
65
+ import { getAiAgentsToolDefinitions, executeAiAgentsToolCall } from './ai-agents.js';
66
+ // CMDB Reconciliation (duplicates, orphans, stale)
67
+ import { getCmdbReconciliationToolDefinitions, executeCmdbReconciliationToolCall } from './cmdb-reconciliation.js';
68
+ // Orchestration (playbooks)
69
+ import { getOrchestrationToolDefinitions, executeOrchestrationToolCall } from './orchestration.js';
70
+ // Dynamic Schema Discovery
71
+ import { getDiscoveryToolDefinitions, executeDiscoveryToolCall, executeDynamicToolCall } from './discovery.js';
72
+ import { schemaCache } from './schema-cache.js';
62
73
  // ─── Package Definitions ──────────────────────────────────────────────────────
63
74
  const PACKAGE_TOOL_NAMES = {
64
75
  devops_engineer: [
@@ -150,7 +161,10 @@ const PACKAGE_TOOL_NAMES = {
150
161
  'bulk_get_properties', 'bulk_set_properties', 'list_property_categories',
151
162
  'get_current_update_set', 'list_update_sets',
152
163
  'create_update_set', 'switch_update_set', 'complete_update_set', 'preview_update_set', 'ensure_active_update_set',
153
- 'create_scheduled_report', 'create_kpi',
164
+ 'create_scheduled_report', 'create_kpi', 'generate_report',
165
+ // v4.0 additions
166
+ 'cmdb_find_duplicates', 'cmdb_find_orphans', 'cmdb_find_stale', 'cmdb_reconcile',
167
+ 'discover_table',
154
168
  ],
155
169
  platform_developer: [
156
170
  'query_records', 'get_record', 'get_table_schema', 'create_record', 'update_record', 'delete_record',
@@ -163,7 +177,10 @@ const PACKAGE_TOOL_NAMES = {
163
177
  'list_acls', 'get_acl', 'create_acl', 'update_acl',
164
178
  'list_changesets', 'get_changeset', 'commit_changeset', 'publish_changeset',
165
179
  'list_atf_suites', 'get_atf_suite', 'run_atf_suite', 'list_atf_tests', 'get_atf_test', 'run_atf_test', 'get_atf_suite_result', 'list_atf_test_results', 'get_atf_failure_insight',
166
- 'fluent_query', 'batch_request', 'execute_script',
180
+ 'fluent_query', 'batch_request', 'execute_script', 'generate_report',
181
+ // v4.0 Fluent SDK + discovery
182
+ 'fluent_explain', 'fluent_init', 'fluent_build', 'fluent_validate',
183
+ 'discover_table',
167
184
  ],
168
185
  itom_engineer: [
169
186
  'query_records', 'get_record', 'get_table_schema',
@@ -171,6 +188,9 @@ const PACKAGE_TOOL_NAMES = {
171
188
  'list_discovery_schedules', 'list_mid_servers', 'list_active_events',
172
189
  'run_aggregate_query', 'trend_query',
173
190
  'create_ci_relationship', 'cmdb_impact_analysis', 'run_discovery_scan',
191
+ // v4.0 CMDB reconciliation
192
+ 'cmdb_find_duplicates', 'cmdb_find_orphans', 'cmdb_find_stale', 'cmdb_reconcile',
193
+ 'discover_table',
174
194
  ],
175
195
  agile_manager: [
176
196
  'query_records', 'get_record', 'get_user',
@@ -184,7 +204,13 @@ const PACKAGE_TOOL_NAMES = {
184
204
  'nlq_query', 'ai_search', 'generate_summary', 'suggest_resolution', 'categorize_incident',
185
205
  'get_virtual_agent_topics', 'trigger_agentic_playbook', 'get_ms_copilot_topics', 'generate_work_notes', 'get_pi_models',
186
206
  'search_knowledge', 'get_knowledge_article',
187
- 'fluent_query', 'batch_request', 'execute_script',
207
+ 'fluent_query', 'batch_request', 'execute_script', 'generate_report',
208
+ // v4.0 additions
209
+ 'create_now_assist_skill', 'list_now_assist_skills', 'get_now_assist_skill', 'test_now_assist_skill',
210
+ 'create_ai_agent', 'list_ai_agents', 'get_ai_agent', 'create_agentic_workflow',
211
+ 'create_playbook', 'execute_playbook', 'list_playbooks',
212
+ 'ml_similar_incidents', 'ml_auto_categorize',
213
+ 'discover_table',
188
214
  ],
189
215
  };
190
216
  // ─── All Tool Definitions ─────────────────────────────────────────────────────
@@ -221,20 +247,26 @@ const ALL_TOOLS = [
221
247
  ...getMobileToolDefinitions(),
222
248
  ...getDeploymentToolDefinitions(),
223
249
  ...getFluentToolDefinitions(),
250
+ ...getNowAssistSkillsToolDefinitions(),
251
+ ...getAiAgentsToolDefinitions(),
252
+ ...getCmdbReconciliationToolDefinitions(),
253
+ ...getOrchestrationToolDefinitions(),
254
+ ...getDiscoveryToolDefinitions(),
224
255
  ];
225
256
  // ─── Public API ───────────────────────────────────────────────────────────────
226
257
  export function getTools() {
227
258
  const packageName = (process.env.MCP_TOOL_PACKAGE || 'full').toLowerCase();
259
+ const dynamicTools = schemaCache.getGeneratedTools();
228
260
  if (packageName === 'full') {
229
- return ALL_TOOLS;
261
+ return [...ALL_TOOLS, ...dynamicTools];
230
262
  }
231
263
  const allowed = PACKAGE_TOOL_NAMES[packageName];
232
264
  if (!allowed) {
233
265
  console.error(`[WARN] Unknown MCP_TOOL_PACKAGE "${packageName}". Using "full".`);
234
- return ALL_TOOLS;
266
+ return [...ALL_TOOLS, ...dynamicTools];
235
267
  }
236
268
  const allowedSet = new Set(allowed);
237
- return ALL_TOOLS.filter(t => allowedSet.has(t.name));
269
+ return [...ALL_TOOLS.filter(t => allowedSet.has(t.name)), ...dynamicTools];
238
270
  }
239
271
  export async function executeTool(client, name, args) {
240
272
  // Try each domain handler in order; first non-null result wins
@@ -271,6 +303,12 @@ export async function executeTool(client, name, args) {
271
303
  () => executeMobileToolCall(client, name, args),
272
304
  () => executeDeploymentToolCall(client, name, args),
273
305
  () => executeFluentToolCall(client, name, args),
306
+ () => executeNowAssistSkillsToolCall(client, name, args),
307
+ () => executeAiAgentsToolCall(client, name, args),
308
+ () => executeCmdbReconciliationToolCall(client, name, args),
309
+ () => executeOrchestrationToolCall(client, name, args),
310
+ () => executeDiscoveryToolCall(client, name, args),
311
+ () => executeDynamicToolCall(client, name, args),
274
312
  ];
275
313
  for (const handler of handlers) {
276
314
  const result = await handler();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,10 @@ export declare function getMlToolDefinitions(): ({
36
36
  solution_name?: undefined;
37
37
  model_sys_id?: undefined;
38
38
  topic_sys_id?: undefined;
39
+ incident_sys_id?: undefined;
40
+ short_description?: undefined;
41
+ limit?: undefined;
42
+ description?: undefined;
39
43
  };
40
44
  required: never[];
41
45
  };
@@ -69,6 +73,10 @@ export declare function getMlToolDefinitions(): ({
69
73
  solution_name?: undefined;
70
74
  model_sys_id?: undefined;
71
75
  topic_sys_id?: undefined;
76
+ incident_sys_id?: undefined;
77
+ short_description?: undefined;
78
+ limit?: undefined;
79
+ description?: undefined;
72
80
  };
73
81
  required: string[];
74
82
  };
@@ -99,6 +107,10 @@ export declare function getMlToolDefinitions(): ({
99
107
  solution_name?: undefined;
100
108
  model_sys_id?: undefined;
101
109
  topic_sys_id?: undefined;
110
+ incident_sys_id?: undefined;
111
+ short_description?: undefined;
112
+ limit?: undefined;
113
+ description?: undefined;
102
114
  };
103
115
  required: never[];
104
116
  };
@@ -123,6 +135,10 @@ export declare function getMlToolDefinitions(): ({
123
135
  priority?: undefined;
124
136
  model_sys_id?: undefined;
125
137
  topic_sys_id?: undefined;
138
+ incident_sys_id?: undefined;
139
+ short_description?: undefined;
140
+ limit?: undefined;
141
+ description?: undefined;
126
142
  };
127
143
  required: never[];
128
144
  };
@@ -150,6 +166,10 @@ export declare function getMlToolDefinitions(): ({
150
166
  solution_name?: undefined;
151
167
  model_sys_id?: undefined;
152
168
  topic_sys_id?: undefined;
169
+ incident_sys_id?: undefined;
170
+ short_description?: undefined;
171
+ limit?: undefined;
172
+ description?: undefined;
153
173
  };
154
174
  required: string[];
155
175
  };
@@ -174,6 +194,10 @@ export declare function getMlToolDefinitions(): ({
174
194
  priority?: undefined;
175
195
  solution_name?: undefined;
176
196
  topic_sys_id?: undefined;
197
+ incident_sys_id?: undefined;
198
+ short_description?: undefined;
199
+ limit?: undefined;
200
+ description?: undefined;
177
201
  };
178
202
  required: string[];
179
203
  };
@@ -201,6 +225,10 @@ export declare function getMlToolDefinitions(): ({
201
225
  priority?: undefined;
202
226
  solution_name?: undefined;
203
227
  topic_sys_id?: undefined;
228
+ incident_sys_id?: undefined;
229
+ short_description?: undefined;
230
+ limit?: undefined;
231
+ description?: undefined;
204
232
  };
205
233
  required: string[];
206
234
  };
@@ -228,6 +256,10 @@ export declare function getMlToolDefinitions(): ({
228
256
  priority?: undefined;
229
257
  solution_name?: undefined;
230
258
  model_sys_id?: undefined;
259
+ incident_sys_id?: undefined;
260
+ short_description?: undefined;
261
+ limit?: undefined;
262
+ description?: undefined;
231
263
  };
232
264
  required: never[];
233
265
  };
@@ -255,6 +287,78 @@ export declare function getMlToolDefinitions(): ({
255
287
  solution_name?: undefined;
256
288
  model_sys_id?: undefined;
257
289
  topic_sys_id?: undefined;
290
+ incident_sys_id?: undefined;
291
+ short_description?: undefined;
292
+ limit?: undefined;
293
+ description?: undefined;
294
+ };
295
+ required: string[];
296
+ };
297
+ } | {
298
+ name: string;
299
+ description: string;
300
+ inputSchema: {
301
+ type: string;
302
+ properties: {
303
+ incident_sys_id: {
304
+ type: string;
305
+ description: string;
306
+ };
307
+ short_description: {
308
+ type: string;
309
+ description: string;
310
+ };
311
+ limit: {
312
+ type: string;
313
+ description: string;
314
+ };
315
+ change_sys_id?: undefined;
316
+ type?: undefined;
317
+ category?: undefined;
318
+ table?: undefined;
319
+ field?: undefined;
320
+ days?: undefined;
321
+ threshold?: undefined;
322
+ days_ahead?: undefined;
323
+ priority?: undefined;
324
+ solution_name?: undefined;
325
+ model_sys_id?: undefined;
326
+ topic_sys_id?: undefined;
327
+ description?: undefined;
328
+ };
329
+ required: never[];
330
+ };
331
+ } | {
332
+ name: string;
333
+ description: string;
334
+ inputSchema: {
335
+ type: string;
336
+ properties: {
337
+ short_description: {
338
+ type: string;
339
+ description: string;
340
+ };
341
+ description: {
342
+ type: string;
343
+ description: string;
344
+ };
345
+ table: {
346
+ type: string;
347
+ description: string;
348
+ };
349
+ change_sys_id?: undefined;
350
+ type?: undefined;
351
+ category?: undefined;
352
+ field?: undefined;
353
+ days?: undefined;
354
+ threshold?: undefined;
355
+ days_ahead?: undefined;
356
+ priority?: undefined;
357
+ solution_name?: undefined;
358
+ model_sys_id?: undefined;
359
+ topic_sys_id?: undefined;
360
+ incident_sys_id?: undefined;
361
+ limit?: undefined;
258
362
  };
259
363
  required: string[];
260
364
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ml.d.ts","sourceRoot":"","sources":["../../src/tools/ml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4HnC;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAoHd"}
1
+ {"version":3,"file":"ml.d.ts","sourceRoot":"","sources":["../../src/tools/ml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2JnC;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAgPd"}
package/dist/tools/ml.js CHANGED
@@ -123,6 +123,35 @@ export function getMlToolDefinitions() {
123
123
  required: ['table'],
124
124
  },
125
125
  },
126
+ {
127
+ name: 'ml_similar_incidents',
128
+ description: 'Find similar past incidents using keyword-based matching. Provide either an incident sys_id ' +
129
+ '(to find similar incidents) or a short_description (for free-text matching). ' +
130
+ 'Returns resolved incidents ranked by keyword match count.',
131
+ inputSchema: {
132
+ type: 'object',
133
+ properties: {
134
+ incident_sys_id: { type: 'string', description: 'Sys_id of an existing incident to find similar ones for' },
135
+ short_description: { type: 'string', description: 'Free-text description to match against (required if no sys_id)' },
136
+ limit: { type: 'number', description: 'Max results to return (default 10)' },
137
+ },
138
+ required: [],
139
+ },
140
+ },
141
+ {
142
+ name: 'ml_auto_categorize',
143
+ description: 'Auto-categorize a record based on its description by analysing resolved records of the same table. ' +
144
+ 'Queries the last 500 resolved records, groups by category, and matches input keywords to suggest a category.',
145
+ inputSchema: {
146
+ type: 'object',
147
+ properties: {
148
+ short_description: { type: 'string', description: 'Short description of the record to categorize' },
149
+ description: { type: 'string', description: 'Full description (optional, improves accuracy)' },
150
+ table: { type: 'string', description: 'Table to analyse (default "incident")' },
151
+ },
152
+ required: ['short_description'],
153
+ },
154
+ },
126
155
  ];
127
156
  }
128
157
  export async function executeMlToolCall(client, name, args) {
@@ -244,6 +273,116 @@ export async function executeMlToolCall(client, name, args) {
244
273
  const avgReassign = resp.records.reduce((sum, r) => sum + (parseInt(r.reassignment_count) || 0), 0) / (resp.count || 1);
245
274
  return { table: args.table, period_days: days, resolved_records: resp.count, avg_resolution_hours: Math.round(avgDuration * 10) / 10, avg_reassignments: Math.round(avgReassign * 10) / 10, bottleneck_indicator: avgReassign > 2 ? 'HIGH' : avgReassign > 1 ? 'MODERATE' : 'LOW' };
246
275
  }
276
+ case 'ml_similar_incidents': {
277
+ const limit = args.limit || 10;
278
+ let description = args.short_description || '';
279
+ // If sys_id provided, fetch the incident's short_description first
280
+ if (args.incident_sys_id) {
281
+ const incident = await client.getRecord('incident', args.incident_sys_id);
282
+ description = incident.short_description || description;
283
+ }
284
+ if (!description) {
285
+ throw new ServiceNowError('Either incident_sys_id or short_description is required', 'INVALID_REQUEST');
286
+ }
287
+ // Tokenize into keywords (remove stop words and short tokens)
288
+ const stopWords = new Set(['the', 'a', 'an', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had', 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'may', 'might', 'can', 'shall', 'to', 'of', 'in', 'for', 'on', 'with', 'at', 'by', 'from', 'as', 'into', 'through', 'during', 'before', 'after', 'above', 'below', 'between', 'out', 'off', 'over', 'under', 'again', 'further', 'then', 'once', 'and', 'but', 'or', 'nor', 'not', 'no', 'so', 'if', 'it', 'its', 'this', 'that', 'these', 'those', 'i', 'me', 'my', 'we', 'our', 'you', 'your', 'he', 'she', 'they', 'them', 'their']);
289
+ const keywords = description
290
+ .toLowerCase()
291
+ .replace(/[^a-z0-9\s]/g, ' ')
292
+ .split(/\s+/)
293
+ .filter((w) => w.length > 2 && !stopWords.has(w));
294
+ if (keywords.length === 0) {
295
+ return { error: 'Could not extract meaningful keywords from the description' };
296
+ }
297
+ // Build LIKE query for each keyword (up to 5 keywords to avoid query overload)
298
+ const topKeywords = keywords.slice(0, 5);
299
+ const likeConditions = topKeywords.map((kw) => `short_descriptionLIKE${kw}`).join('^OR');
300
+ const query = `stateIN6,7^(${likeConditions})`;
301
+ const resp = await client.queryRecords({
302
+ table: 'incident',
303
+ query,
304
+ limit: 200,
305
+ fields: 'sys_id,number,short_description,category,priority,resolved_at,resolution_code,close_notes',
306
+ });
307
+ // Rank by keyword match count
308
+ const ranked = resp.records
309
+ .map((r) => {
310
+ const desc = (r.short_description || '').toLowerCase();
311
+ const matchCount = topKeywords.filter((kw) => desc.includes(kw)).length;
312
+ return { ...r, _match_score: matchCount };
313
+ })
314
+ .sort((a, b) => b._match_score - a._match_score)
315
+ .slice(0, limit);
316
+ return {
317
+ source_description: description,
318
+ keywords_used: topKeywords,
319
+ total_candidates: resp.count,
320
+ similar_incidents: ranked,
321
+ };
322
+ }
323
+ case 'ml_auto_categorize': {
324
+ const shortDesc = args.short_description;
325
+ if (!shortDesc)
326
+ throw new ServiceNowError('short_description is required', 'INVALID_REQUEST');
327
+ const table = args.table || 'incident';
328
+ const fullText = `${shortDesc} ${args.description || ''}`.toLowerCase();
329
+ // Tokenize input
330
+ const stopWords = new Set(['the', 'a', 'an', 'is', 'are', 'was', 'were', 'be', 'been', 'have', 'has', 'had', 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'to', 'of', 'in', 'for', 'on', 'with', 'at', 'by', 'from', 'as', 'and', 'but', 'or', 'not', 'no', 'it', 'its', 'this', 'that', 'i', 'me', 'my', 'we', 'you', 'your', 'they', 'them', 'their']);
331
+ const inputKeywords = fullText
332
+ .replace(/[^a-z0-9\s]/g, ' ')
333
+ .split(/\s+/)
334
+ .filter((w) => w.length > 2 && !stopWords.has(w));
335
+ // Query last 500 resolved records with categories
336
+ const resp = await client.queryRecords({
337
+ table,
338
+ query: 'stateIN6,7^categoryISNOTEMPTY',
339
+ limit: 500,
340
+ fields: 'short_description,category,subcategory',
341
+ });
342
+ if (resp.count === 0) {
343
+ return { error: `No resolved records with categories found in ${table}` };
344
+ }
345
+ // Build category -> keyword frequency map
346
+ const categoryData = {};
347
+ for (const r of resp.records) {
348
+ const cat = r.category;
349
+ if (!cat)
350
+ continue;
351
+ if (!categoryData[cat])
352
+ categoryData[cat] = { count: 0, keywords: {} };
353
+ categoryData[cat].count++;
354
+ const words = (r.short_description || '')
355
+ .toLowerCase()
356
+ .replace(/[^a-z0-9\s]/g, ' ')
357
+ .split(/\s+/)
358
+ .filter((w) => w.length > 2 && !stopWords.has(w));
359
+ for (const w of words) {
360
+ categoryData[cat].keywords[w] = (categoryData[cat].keywords[w] || 0) + 1;
361
+ }
362
+ }
363
+ // Score each category by matching input keywords
364
+ const scored = Object.entries(categoryData).map(([category, data]) => {
365
+ let score = 0;
366
+ for (const kw of inputKeywords) {
367
+ if (data.keywords[kw]) {
368
+ score += data.keywords[kw];
369
+ }
370
+ }
371
+ return { category, score, record_count: data.count };
372
+ })
373
+ .filter(c => c.score > 0)
374
+ .sort((a, b) => b.score - a.score);
375
+ const topCategory = scored.length > 0 ? scored[0] : null;
376
+ return {
377
+ table,
378
+ input: shortDesc,
379
+ keywords_extracted: inputKeywords.slice(0, 10),
380
+ total_resolved_analysed: resp.count,
381
+ suggested_category: topCategory ? topCategory.category : 'unknown',
382
+ confidence: topCategory ? (topCategory.score > 10 ? 'high' : topCategory.score > 3 ? 'medium' : 'low') : 'none',
383
+ top_categories: scored.slice(0, 5),
384
+ };
385
+ }
247
386
  default:
248
387
  return null;
249
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ml.js","sourceRoot":"","sources":["../../src/tools/ml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ml.js","sourceRoot":"","sources":["../../src/tools/ml.ts"],"names":[],"mappings":"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"}