snow-flow 8.31.31 → 8.31.34

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 (415) hide show
  1. package/dist/api/health-api.d.ts +1 -1
  2. package/dist/api/health-api.d.ts.map +1 -1
  3. package/dist/api/simple-health-api.d.ts +1 -1
  4. package/dist/api/simple-health-api.d.ts.map +1 -1
  5. package/dist/cli/partners.d.ts +47 -0
  6. package/dist/cli/partners.d.ts.map +1 -0
  7. package/dist/cli/partners.js +283 -0
  8. package/dist/cli/partners.js.map +1 -0
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +146 -561
  11. package/dist/cli.js.map +1 -1
  12. package/dist/examples/queen/integration-example.d.ts +83 -0
  13. package/dist/examples/queen/integration-example.d.ts.map +1 -0
  14. package/dist/examples/queen/integration-example.js +219 -0
  15. package/dist/examples/queen/integration-example.js.map +1 -0
  16. package/dist/intelligence/acl-analyzer.d.ts +88 -0
  17. package/dist/intelligence/acl-analyzer.d.ts.map +1 -0
  18. package/dist/intelligence/acl-analyzer.js +276 -0
  19. package/dist/intelligence/acl-analyzer.js.map +1 -0
  20. package/dist/intelligence/auto-resolution-engine.d.ts +74 -0
  21. package/dist/intelligence/auto-resolution-engine.d.ts.map +1 -0
  22. package/dist/intelligence/auto-resolution-engine.js +518 -0
  23. package/dist/intelligence/auto-resolution-engine.js.map +1 -0
  24. package/dist/intelligence/gap-analysis-engine.d.ts +103 -0
  25. package/dist/intelligence/gap-analysis-engine.d.ts.map +1 -0
  26. package/dist/intelligence/gap-analysis-engine.js +333 -0
  27. package/dist/intelligence/gap-analysis-engine.js.map +1 -0
  28. package/dist/intelligence/manual-instructions-generator.d.ts +88 -0
  29. package/dist/intelligence/manual-instructions-generator.d.ts.map +1 -0
  30. package/dist/intelligence/manual-instructions-generator.js +641 -0
  31. package/dist/intelligence/manual-instructions-generator.js.map +1 -0
  32. package/dist/intelligence/mcp-coverage-analyzer.d.ts +89 -0
  33. package/dist/intelligence/mcp-coverage-analyzer.d.ts.map +1 -0
  34. package/dist/intelligence/mcp-coverage-analyzer.js +556 -0
  35. package/dist/intelligence/mcp-coverage-analyzer.js.map +1 -0
  36. package/dist/intelligence/multi-pass-requirements-analyzer.d.ts +79 -0
  37. package/dist/intelligence/multi-pass-requirements-analyzer.d.ts.map +1 -0
  38. package/dist/intelligence/multi-pass-requirements-analyzer.js +478 -0
  39. package/dist/intelligence/multi-pass-requirements-analyzer.js.map +1 -0
  40. package/dist/intelligence/performance-recommendations-engine.d.ts +236 -0
  41. package/dist/intelligence/performance-recommendations-engine.d.ts.map +1 -0
  42. package/dist/intelligence/performance-recommendations-engine.js +958 -0
  43. package/dist/intelligence/performance-recommendations-engine.js.map +1 -0
  44. package/dist/intelligence/requirements-analyzer.d.ts +59 -0
  45. package/dist/intelligence/requirements-analyzer.d.ts.map +1 -0
  46. package/dist/intelligence/requirements-analyzer.js +978 -0
  47. package/dist/intelligence/requirements-analyzer.js.map +1 -0
  48. package/dist/intelligence/task-analyzer.d.ts +119 -0
  49. package/dist/intelligence/task-analyzer.d.ts.map +1 -0
  50. package/dist/intelligence/task-analyzer.js +494 -0
  51. package/dist/intelligence/task-analyzer.js.map +1 -0
  52. package/dist/mcp/mcp-tool-manager.d.ts +80 -0
  53. package/dist/mcp/mcp-tool-manager.d.ts.map +1 -0
  54. package/dist/mcp/mcp-tool-manager.js +272 -0
  55. package/dist/mcp/mcp-tool-manager.js.map +1 -0
  56. package/dist/mcp/servicenow-development-assistant-mcp.js +8 -8
  57. package/dist/mcp/servicenow-development-assistant-mcp.js.map +1 -1
  58. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_jira_integration.d.ts +9 -0
  59. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_jira_integration.d.ts.map +1 -0
  60. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_jira_integration.js +49 -0
  61. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_jira_integration.js.map +1 -0
  62. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_ldap_sync.d.ts +9 -0
  63. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_ldap_sync.d.ts.map +1 -0
  64. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_ldap_sync.js +48 -0
  65. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_ldap_sync.js.map +1 -0
  66. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_oauth_provider.d.ts +9 -0
  67. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_oauth_provider.d.ts.map +1 -0
  68. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_oauth_provider.js +50 -0
  69. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_oauth_provider.js.map +1 -0
  70. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_saml_config.d.ts +9 -0
  71. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_saml_config.d.ts.map +1 -0
  72. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_saml_config.js +49 -0
  73. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_saml_config.js.map +1 -0
  74. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_webhook_config.d.ts +9 -0
  75. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_webhook_config.d.ts.map +1 -0
  76. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_webhook_config.js +51 -0
  77. package/dist/mcp/servicenow-mcp-unified/tools/adapters/snow_webhook_config.js.map +1 -0
  78. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/index.d.ts +3 -0
  79. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/index.d.ts.map +1 -0
  80. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/index.js +10 -0
  81. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/index.js.map +1 -0
  82. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/snow_predict.d.ts +8 -0
  83. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/snow_predict.d.ts.map +1 -0
  84. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/snow_predict.js +40 -0
  85. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/snow_predict.js.map +1 -0
  86. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/snow_train_classifier.d.ts +8 -0
  87. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/snow_train_classifier.d.ts.map +1 -0
  88. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/snow_train_classifier.js +42 -0
  89. package/dist/mcp/servicenow-mcp-unified/tools/ai-ml/snow_train_classifier.js.map +1 -0
  90. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_approve_change.d.ts +8 -0
  91. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_approve_change.d.ts.map +1 -0
  92. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_approve_change.js +43 -0
  93. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_approve_change.js.map +1 -0
  94. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_assess_change_risk.d.ts +8 -0
  95. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_assess_change_risk.d.ts.map +1 -0
  96. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_assess_change_risk.js +53 -0
  97. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_assess_change_risk.js.map +1 -0
  98. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_create_change.d.ts +8 -0
  99. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_create_change.d.ts.map +1 -0
  100. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_create_change.js +50 -0
  101. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_create_change.js.map +1 -0
  102. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_create_change_task.d.ts +8 -0
  103. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_create_change_task.d.ts.map +1 -0
  104. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_create_change_task.js +50 -0
  105. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_create_change_task.js.map +1 -0
  106. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_get_change_request.d.ts +8 -0
  107. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_get_change_request.d.ts.map +1 -0
  108. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_get_change_request.js +60 -0
  109. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_get_change_request.js.map +1 -0
  110. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_schedule_cab_meeting.d.ts +8 -0
  111. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_schedule_cab_meeting.d.ts.map +1 -0
  112. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_schedule_cab_meeting.js +55 -0
  113. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_schedule_cab_meeting.js.map +1 -0
  114. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_search_change_requests.d.ts +8 -0
  115. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_search_change_requests.d.ts.map +1 -0
  116. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_search_change_requests.js +54 -0
  117. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_search_change_requests.js.map +1 -0
  118. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_update_change_state.d.ts +8 -0
  119. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_update_change_state.d.ts.map +1 -0
  120. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_update_change_state.js +67 -0
  121. package/dist/mcp/servicenow-mcp-unified/tools/change/snow_update_change_state.js.map +1 -0
  122. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_csv_to_json.d.ts +9 -0
  123. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_csv_to_json.d.ts.map +1 -0
  124. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_csv_to_json.js +52 -0
  125. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_csv_to_json.js.map +1 -0
  126. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_json_to_csv.d.ts +9 -0
  127. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_json_to_csv.d.ts.map +1 -0
  128. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_json_to_csv.js +51 -0
  129. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_json_to_csv.js.map +1 -0
  130. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_json_to_xml.d.ts +9 -0
  131. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_json_to_xml.d.ts.map +1 -0
  132. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_json_to_xml.js +42 -0
  133. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_json_to_xml.js.map +1 -0
  134. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_xml_to_json.d.ts +9 -0
  135. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_xml_to_json.d.ts.map +1 -0
  136. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_xml_to_json.js +42 -0
  137. package/dist/mcp/servicenow-mcp-unified/tools/converters/snow_xml_to_json.js.map +1 -0
  138. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_details.d.ts +8 -0
  139. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_details.d.ts.map +1 -0
  140. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_details.js +68 -0
  141. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_details.js.map +1 -0
  142. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_execution_history.d.ts +8 -0
  143. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_execution_history.d.ts.map +1 -0
  144. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_execution_history.js +76 -0
  145. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_execution_history.js.map +1 -0
  146. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_execution_status.d.ts +8 -0
  147. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_execution_status.d.ts.map +1 -0
  148. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_execution_status.js +71 -0
  149. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_get_flow_execution_status.js.map +1 -0
  150. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_list_flows.d.ts +8 -0
  151. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_list_flows.d.ts.map +1 -0
  152. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_list_flows.js +42 -0
  153. package/dist/mcp/servicenow-mcp-unified/tools/flow-designer/snow_list_flows.js.map +1 -0
  154. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_create_knowledge_article.d.ts +12 -0
  155. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_create_knowledge_article.d.ts.map +1 -0
  156. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_create_knowledge_article.js +80 -0
  157. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_create_knowledge_article.js.map +1 -0
  158. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_get_knowledge_article_details.d.ts +11 -0
  159. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_get_knowledge_article_details.d.ts.map +1 -0
  160. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_get_knowledge_article_details.js +63 -0
  161. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_get_knowledge_article_details.js.map +1 -0
  162. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_publish_kb_article.d.ts +8 -0
  163. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_publish_kb_article.d.ts.map +1 -0
  164. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_publish_kb_article.js +41 -0
  165. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_publish_kb_article.js.map +1 -0
  166. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_retire_knowledge_article.d.ts +11 -0
  167. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_retire_knowledge_article.d.ts.map +1 -0
  168. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_retire_knowledge_article.js +59 -0
  169. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_retire_knowledge_article.js.map +1 -0
  170. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_search_knowledge.d.ts +11 -0
  171. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_search_knowledge.d.ts.map +1 -0
  172. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_search_knowledge.js +72 -0
  173. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_search_knowledge.js.map +1 -0
  174. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_update_knowledge_article.d.ts +11 -0
  175. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_update_knowledge_article.d.ts.map +1 -0
  176. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_update_knowledge_article.js +68 -0
  177. package/dist/mcp/servicenow-mcp-unified/tools/knowledge/snow_update_knowledge_article.js.map +1 -0
  178. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_assign_user_to_group.d.ts +11 -0
  179. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_assign_user_to_group.d.ts.map +1 -0
  180. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_assign_user_to_group.js +106 -0
  181. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_assign_user_to_group.js.map +1 -0
  182. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_create_record.d.ts +12 -0
  183. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_create_record.d.ts.map +1 -0
  184. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_create_record.js +107 -0
  185. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_create_record.js.map +1 -0
  186. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_delete_record.d.ts +12 -0
  187. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_delete_record.d.ts.map +1 -0
  188. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_delete_record.js +157 -0
  189. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_delete_record.js.map +1 -0
  190. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_list_group_members.d.ts +11 -0
  191. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_list_group_members.d.ts.map +1 -0
  192. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_list_group_members.js +117 -0
  193. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_list_group_members.js.map +1 -0
  194. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_remove_user_from_group.d.ts +11 -0
  195. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_remove_user_from_group.d.ts.map +1 -0
  196. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_remove_user_from_group.js +99 -0
  197. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_remove_user_from_group.js.map +1 -0
  198. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_update_record.d.ts +12 -0
  199. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_update_record.d.ts.map +1 -0
  200. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_update_record.js +105 -0
  201. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_update_record.js.map +1 -0
  202. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_collect_pa_data.d.ts +8 -0
  203. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_collect_pa_data.d.ts.map +1 -0
  204. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_collect_pa_data.js +55 -0
  205. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_collect_pa_data.js.map +1 -0
  206. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_data_visualization.d.ts +8 -0
  207. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_data_visualization.d.ts.map +1 -0
  208. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_data_visualization.js +70 -0
  209. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_data_visualization.js.map +1 -0
  210. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_kpi.d.ts +8 -0
  211. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_kpi.d.ts.map +1 -0
  212. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_kpi.js +69 -0
  213. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_kpi.js.map +1 -0
  214. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_breakdown.d.ts +8 -0
  215. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_breakdown.d.ts.map +1 -0
  216. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_breakdown.js +55 -0
  217. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_breakdown.js.map +1 -0
  218. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_indicator.d.ts +8 -0
  219. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_indicator.d.ts.map +1 -0
  220. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_indicator.js +43 -0
  221. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_indicator.js.map +1 -0
  222. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_threshold.d.ts +8 -0
  223. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_threshold.d.ts.map +1 -0
  224. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_threshold.js +57 -0
  225. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_threshold.js.map +1 -0
  226. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_widget.d.ts +8 -0
  227. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_widget.d.ts.map +1 -0
  228. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_widget.js +62 -0
  229. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_pa_widget.js.map +1 -0
  230. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_scheduled_report.d.ts +8 -0
  231. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_scheduled_report.d.ts.map +1 -0
  232. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_scheduled_report.js +69 -0
  233. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_create_scheduled_report.js.map +1 -0
  234. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_pa_indicators.d.ts +8 -0
  235. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_pa_indicators.d.ts.map +1 -0
  236. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_pa_indicators.js +55 -0
  237. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_pa_indicators.js.map +1 -0
  238. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_report_fields.d.ts +8 -0
  239. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_report_fields.d.ts.map +1 -0
  240. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_report_fields.js +53 -0
  241. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_report_fields.js.map +1 -0
  242. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_reporting_tables.d.ts +8 -0
  243. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_reporting_tables.d.ts.map +1 -0
  244. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_reporting_tables.js +51 -0
  245. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_discover_reporting_tables.js.map +1 -0
  246. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_export_report_data.d.ts +8 -0
  247. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_export_report_data.d.ts.map +1 -0
  248. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_export_report_data.js +62 -0
  249. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_export_report_data.js.map +1 -0
  250. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_generate_insights.d.ts +8 -0
  251. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_generate_insights.d.ts.map +1 -0
  252. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_generate_insights.js +69 -0
  253. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_generate_insights.js.map +1 -0
  254. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_get_pa_scores.d.ts +8 -0
  255. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_get_pa_scores.d.ts.map +1 -0
  256. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_get_pa_scores.js +42 -0
  257. package/dist/mcp/servicenow-mcp-unified/tools/performance-analytics/snow_get_pa_scores.js.map +1 -0
  258. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/index.d.ts +10 -0
  259. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/index.d.ts.map +1 -0
  260. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/index.js +28 -0
  261. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/index.js.map +1 -0
  262. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_activate_pi_solution.d.ts +11 -0
  263. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_activate_pi_solution.d.ts.map +1 -0
  264. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_activate_pi_solution.js +168 -0
  265. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_activate_pi_solution.js.map +1 -0
  266. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_create_pi_solution.d.ts +20 -0
  267. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_create_pi_solution.d.ts.map +1 -0
  268. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_create_pi_solution.js +235 -0
  269. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_create_pi_solution.js.map +1 -0
  270. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_list_pi_solutions.d.ts +10 -0
  271. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_list_pi_solutions.d.ts.map +1 -0
  272. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_list_pi_solutions.js +166 -0
  273. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_list_pi_solutions.js.map +1 -0
  274. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_monitor_pi_training.d.ts +11 -0
  275. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_monitor_pi_training.d.ts.map +1 -0
  276. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_monitor_pi_training.js +142 -0
  277. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_monitor_pi_training.js.map +1 -0
  278. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_train_pi_solution.d.ts +14 -0
  279. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_train_pi_solution.d.ts.map +1 -0
  280. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_train_pi_solution.js +149 -0
  281. package/dist/mcp/servicenow-mcp-unified/tools/predictive-intelligence/snow_train_pi_solution.js.map +1 -0
  282. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_add_uib_page_element.d.ts +12 -0
  283. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_add_uib_page_element.d.ts.map +1 -0
  284. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_add_uib_page_element.js +111 -0
  285. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_add_uib_page_element.js.map +1 -0
  286. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_clone_uib_component.d.ts +12 -0
  287. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_clone_uib_component.d.ts.map +1 -0
  288. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_clone_uib_component.js +99 -0
  289. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_clone_uib_component.js.map +1 -0
  290. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_create_uib_component.d.ts +12 -0
  291. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_create_uib_component.d.ts.map +1 -0
  292. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_create_uib_component.js +102 -0
  293. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_create_uib_component.js.map +1 -0
  294. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_create_uib_page.d.ts +12 -0
  295. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_create_uib_page.d.ts.map +1 -0
  296. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_create_uib_page.js +99 -0
  297. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_create_uib_page.js.map +1 -0
  298. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_delete_uib_page.d.ts +12 -0
  299. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_delete_uib_page.d.ts.map +1 -0
  300. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_delete_uib_page.js +108 -0
  301. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_delete_uib_page.js.map +1 -0
  302. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_components.d.ts +12 -0
  303. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_components.d.ts.map +1 -0
  304. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_components.js +96 -0
  305. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_components.js.map +1 -0
  306. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_page_usage.d.ts +12 -0
  307. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_page_usage.d.ts.map +1 -0
  308. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_page_usage.js +106 -0
  309. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_page_usage.js.map +1 -0
  310. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_pages.d.ts +11 -0
  311. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_pages.d.ts.map +1 -0
  312. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_pages.js +102 -0
  313. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_pages.js.map +1 -0
  314. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_routes.d.ts +12 -0
  315. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_routes.d.ts.map +1 -0
  316. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_routes.js +99 -0
  317. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_discover_uib_routes.js.map +1 -0
  318. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_remove_uib_page_element.d.ts +11 -0
  319. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_remove_uib_page_element.d.ts.map +1 -0
  320. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_remove_uib_page_element.js +138 -0
  321. package/dist/mcp/servicenow-mcp-unified/tools/ui-builder/snow_remove_uib_page_element.js.map +1 -0
  322. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_add_user_to_group.d.ts +9 -0
  323. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_add_user_to_group.d.ts.map +1 -0
  324. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_add_user_to_group.js +42 -0
  325. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_add_user_to_group.js.map +1 -0
  326. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_assign_role.d.ts +9 -0
  327. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_assign_role.d.ts.map +1 -0
  328. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_assign_role.js +51 -0
  329. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_assign_role.js.map +1 -0
  330. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_group.d.ts +9 -0
  331. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_group.d.ts.map +1 -0
  332. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_group.js +51 -0
  333. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_group.js.map +1 -0
  334. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_role.d.ts +9 -0
  335. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_role.d.ts.map +1 -0
  336. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_role.js +47 -0
  337. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_role.js.map +1 -0
  338. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_user.d.ts +9 -0
  339. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_user.d.ts.map +1 -0
  340. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_user.js +51 -0
  341. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_create_user.js.map +1 -0
  342. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_deactivate_user.d.ts +9 -0
  343. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_deactivate_user.d.ts.map +1 -0
  344. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_deactivate_user.js +40 -0
  345. package/dist/mcp/servicenow-mcp-unified/tools/user-admin/snow_deactivate_user.js.map +1 -0
  346. package/dist/memory/session-memory.d.ts +70 -0
  347. package/dist/memory/session-memory.d.ts.map +1 -0
  348. package/dist/memory/session-memory.js +110 -0
  349. package/dist/memory/session-memory.js.map +1 -0
  350. package/dist/partners/license-parser.d.ts +52 -0
  351. package/dist/partners/license-parser.d.ts.map +1 -0
  352. package/dist/partners/license-parser.js +240 -0
  353. package/dist/partners/license-parser.js.map +1 -0
  354. package/dist/partners/types.d.ts +253 -0
  355. package/dist/partners/types.d.ts.map +1 -0
  356. package/dist/partners/types.js +111 -0
  357. package/dist/partners/types.js.map +1 -0
  358. package/dist/portal/partner-backend.d.ts +106 -0
  359. package/dist/portal/partner-backend.d.ts.map +1 -0
  360. package/dist/portal/partner-backend.js +254 -0
  361. package/dist/portal/partner-backend.js.map +1 -0
  362. package/dist/queen/agent-factory.d.ts +45 -0
  363. package/dist/queen/agent-factory.d.ts.map +1 -0
  364. package/dist/queen/agent-factory.js +659 -0
  365. package/dist/queen/agent-factory.js.map +1 -0
  366. package/dist/queen/index.d.ts +59 -0
  367. package/dist/queen/index.d.ts.map +1 -0
  368. package/dist/queen/index.js +80 -0
  369. package/dist/queen/index.js.map +1 -0
  370. package/dist/queen/mcp-execution-bridge.d.ts +115 -0
  371. package/dist/queen/mcp-execution-bridge.d.ts.map +1 -0
  372. package/dist/queen/mcp-execution-bridge.js +535 -0
  373. package/dist/queen/mcp-execution-bridge.js.map +1 -0
  374. package/dist/queen/neural-learning.d.ts +28 -0
  375. package/dist/queen/neural-learning.d.ts.map +1 -0
  376. package/dist/queen/neural-learning.js +252 -0
  377. package/dist/queen/neural-learning.js.map +1 -0
  378. package/dist/queen/parallel-agent-engine.d.ts +126 -0
  379. package/dist/queen/parallel-agent-engine.d.ts.map +1 -0
  380. package/dist/queen/parallel-agent-engine.js +704 -0
  381. package/dist/queen/parallel-agent-engine.js.map +1 -0
  382. package/dist/queen/queen-knowledge-base.d.ts +151 -0
  383. package/dist/queen/queen-knowledge-base.d.ts.map +1 -0
  384. package/dist/queen/queen-knowledge-base.js +283 -0
  385. package/dist/queen/queen-knowledge-base.js.map +1 -0
  386. package/dist/queen/queen-memory.d.ts +65 -0
  387. package/dist/queen/queen-memory.d.ts.map +1 -0
  388. package/dist/queen/queen-memory.js +467 -0
  389. package/dist/queen/queen-memory.js.map +1 -0
  390. package/dist/queen/servicenow-queen.d.ts +154 -0
  391. package/dist/queen/servicenow-queen.d.ts.map +1 -0
  392. package/dist/queen/servicenow-queen.js +1409 -0
  393. package/dist/queen/servicenow-queen.js.map +1 -0
  394. package/dist/queen/types.d.ts +65 -0
  395. package/dist/queen/types.d.ts.map +1 -0
  396. package/dist/queen/types.js +7 -0
  397. package/dist/queen/types.js.map +1 -0
  398. package/dist/sdk/queen-orchestrator.d.ts +94 -0
  399. package/dist/sdk/queen-orchestrator.d.ts.map +1 -0
  400. package/dist/sdk/queen-orchestrator.js +309 -0
  401. package/dist/sdk/queen-orchestrator.js.map +1 -0
  402. package/dist/sdk/universal-agent-spawner.d.ts +112 -0
  403. package/dist/sdk/universal-agent-spawner.d.ts.map +1 -0
  404. package/dist/sdk/universal-agent-spawner.js +353 -0
  405. package/dist/sdk/universal-agent-spawner.js.map +1 -0
  406. package/dist/sparc/sparc-help.d.ts +5 -0
  407. package/dist/sparc/sparc-help.d.ts.map +1 -0
  408. package/dist/sparc/sparc-help.js +52 -0
  409. package/dist/sparc/sparc-help.js.map +1 -0
  410. package/dist/sparc/team-sparc.d.ts +9 -0
  411. package/dist/sparc/team-sparc.d.ts.map +1 -0
  412. package/dist/sparc/team-sparc.js +83 -0
  413. package/dist/sparc/team-sparc.js.map +1 -0
  414. package/package.json +1 -1
  415. package/patches/@groeimetai+snow-code+0.18.48.patch +25 -27
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ /**
3
+ * Partner License Key Parser
4
+ *
5
+ * Handles parsing and validation of partner license keys for both tracks:
6
+ *
7
+ * Reseller Format: SNOW-RESELLER-[ORG]-[SEATS]-[EXPIRY]-[CHECKSUM]
8
+ * Example: SNOW-RESELLER-ACME-100-20261231-ABC123
9
+ *
10
+ * Solution Format: SNOW-SOLUTION-[ORG]-[EXPIRY]-[CHECKSUM]
11
+ * Example: SNOW-SOLUTION-ACME-20261231-ABC123
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.parsePartnerLicenseKey = parsePartnerLicenseKey;
15
+ exports.generateResellerLicenseKey = generateResellerLicenseKey;
16
+ exports.generateSolutionLicenseKey = generateSolutionLicenseKey;
17
+ exports.validatePartnerLicense = validatePartnerLicense;
18
+ exports.formatPartnerLicenseInfo = formatPartnerLicenseInfo;
19
+ const types_js_1 = require("./types.js");
20
+ /**
21
+ * Parse a partner license key
22
+ *
23
+ * Automatically detects type (RESELLER or SOLUTION) and parses accordingly
24
+ *
25
+ * @param licenseKey The license key to parse
26
+ * @returns Parsed partner license object
27
+ * @throws Error if license format is invalid
28
+ */
29
+ function parsePartnerLicenseKey(licenseKey) {
30
+ if (!licenseKey || typeof licenseKey !== 'string') {
31
+ throw new Error('License key is required');
32
+ }
33
+ const parts = licenseKey.split('-');
34
+ // Validate basic format: SNOW-[TYPE]-...
35
+ if (parts.length < 4 || parts[0] !== 'SNOW') {
36
+ throw new Error('Invalid partner license key format: must start with SNOW-');
37
+ }
38
+ const typeStr = parts[1];
39
+ // Route to appropriate parser
40
+ if (typeStr === 'RESELLER') {
41
+ return parseResellerLicense(parts, licenseKey);
42
+ }
43
+ else if (typeStr === 'SOLUTION') {
44
+ return parseSolutionLicense(parts, licenseKey);
45
+ }
46
+ else {
47
+ throw new Error(`Invalid partner type: ${typeStr}. Must be RESELLER or SOLUTION`);
48
+ }
49
+ }
50
+ /**
51
+ * Parse RESELLER license
52
+ * Format: SNOW-RESELLER-ORG-SEATS-EXPIRY-CHECKSUM
53
+ */
54
+ function parseResellerLicense(parts, rawKey) {
55
+ if (parts.length !== 6) {
56
+ throw new Error('Invalid RESELLER license format: expected SNOW-RESELLER-ORG-SEATS-EXPIRY-CHECKSUM');
57
+ }
58
+ const organization = parts[2];
59
+ const seatsStr = parts[3];
60
+ const expiryStr = parts[4];
61
+ const checksum = parts[5];
62
+ // Parse seats
63
+ const purchasedSeats = parseInt(seatsStr, 10);
64
+ if (isNaN(purchasedSeats) || purchasedSeats < 25) {
65
+ throw new Error('Invalid purchased seats: RESELLER license requires minimum 25 seats');
66
+ }
67
+ // Parse expiry date
68
+ const expiresAt = parseExpiryDate(expiryStr);
69
+ return {
70
+ tier: 'PARTNER',
71
+ partnerType: types_js_1.PartnerType.RESELLER,
72
+ organization,
73
+ purchasedSeats,
74
+ expiresAt,
75
+ checksum,
76
+ rawKey
77
+ };
78
+ }
79
+ /**
80
+ * Parse SOLUTION license
81
+ * Format: SNOW-SOLUTION-ORG-EXPIRY-CHECKSUM
82
+ */
83
+ function parseSolutionLicense(parts, rawKey) {
84
+ if (parts.length !== 5) {
85
+ throw new Error('Invalid SOLUTION license format: expected SNOW-SOLUTION-ORG-EXPIRY-CHECKSUM');
86
+ }
87
+ const organization = parts[2];
88
+ const expiryStr = parts[3];
89
+ const checksum = parts[4];
90
+ // Parse expiry date
91
+ const expiresAt = parseExpiryDate(expiryStr);
92
+ // Generate referral code from organization
93
+ const referralCode = `SOLUTION-${organization.toUpperCase()}`;
94
+ return {
95
+ tier: 'PARTNER',
96
+ partnerType: types_js_1.PartnerType.SOLUTION,
97
+ organization,
98
+ referralCode,
99
+ expiresAt,
100
+ checksum,
101
+ rawKey
102
+ };
103
+ }
104
+ /**
105
+ * Parse expiry date from YYYYMMDD format
106
+ */
107
+ function parseExpiryDate(expiryStr) {
108
+ if (!/^\d{8}$/.test(expiryStr)) {
109
+ throw new Error('Invalid expiry date format: expected YYYYMMDD');
110
+ }
111
+ const year = parseInt(expiryStr.substring(0, 4), 10);
112
+ const month = parseInt(expiryStr.substring(4, 6), 10);
113
+ const day = parseInt(expiryStr.substring(6, 8), 10);
114
+ if (year < 2020 || year > 2100) {
115
+ throw new Error('Invalid year in expiry date');
116
+ }
117
+ if (month < 1 || month > 12) {
118
+ throw new Error('Invalid month in expiry date');
119
+ }
120
+ if (day < 1 || day > 31) {
121
+ throw new Error('Invalid day in expiry date');
122
+ }
123
+ // Create date at end of day (23:59:59) for expiry
124
+ const date = new Date(year, month - 1, day, 23, 59, 59);
125
+ if (isNaN(date.getTime())) {
126
+ throw new Error('Invalid expiry date');
127
+ }
128
+ return date;
129
+ }
130
+ /**
131
+ * Generate a RESELLER partner license key
132
+ */
133
+ function generateResellerLicenseKey(organization, seats, expiryDate) {
134
+ if (seats < 25) {
135
+ throw new Error('RESELLER license requires minimum 25 seats');
136
+ }
137
+ const expiry = formatExpiryDate(expiryDate);
138
+ const checksum = generateChecksum(organization, expiry, seats.toString());
139
+ return `SNOW-RESELLER-${organization.toUpperCase()}-${seats}-${expiry}-${checksum}`;
140
+ }
141
+ /**
142
+ * Generate a SOLUTION partner license key
143
+ */
144
+ function generateSolutionLicenseKey(organization, expiryDate) {
145
+ const expiry = formatExpiryDate(expiryDate);
146
+ const checksum = generateChecksum(organization, expiry);
147
+ return `SNOW-SOLUTION-${organization.toUpperCase()}-${expiry}-${checksum}`;
148
+ }
149
+ /**
150
+ * Format date to YYYYMMDD
151
+ */
152
+ function formatExpiryDate(date) {
153
+ const year = date.getFullYear();
154
+ const month = String(date.getMonth() + 1).padStart(2, '0');
155
+ const day = String(date.getDate()).padStart(2, '0');
156
+ return `${year}${month}${day}`;
157
+ }
158
+ /**
159
+ * Generate checksum (simple implementation - should be cryptographically secure in production)
160
+ */
161
+ function generateChecksum(organization, expiry, seats) {
162
+ // Simple checksum for now - in production, use HMAC-SHA256 or similar
163
+ const input = `${organization}-${expiry}${seats ? '-' + seats : ''}`;
164
+ let hash = 0;
165
+ for (let i = 0; i < input.length; i++) {
166
+ const char = input.charCodeAt(i);
167
+ hash = ((hash << 5) - hash) + char;
168
+ hash = hash & hash; // Convert to 32bit integer
169
+ }
170
+ return Math.abs(hash).toString(36).toUpperCase().substring(0, 6);
171
+ }
172
+ /**
173
+ * Validate partner license key
174
+ */
175
+ function validatePartnerLicense(parsedLicense) {
176
+ const errors = [];
177
+ // Check expiry
178
+ if (parsedLicense.expiresAt < new Date()) {
179
+ errors.push('License has expired');
180
+ }
181
+ // Type-specific validation
182
+ if (parsedLicense.partnerType === types_js_1.PartnerType.RESELLER) {
183
+ if (!parsedLicense.purchasedSeats || parsedLicense.purchasedSeats < 25) {
184
+ errors.push('RESELLER license must have at least 25 purchased seats');
185
+ }
186
+ }
187
+ if (parsedLicense.partnerType === types_js_1.PartnerType.SOLUTION) {
188
+ if (!parsedLicense.referralCode) {
189
+ errors.push('SOLUTION license must have a referral code');
190
+ }
191
+ }
192
+ // Organization name validation
193
+ if (!parsedLicense.organization || parsedLicense.organization.length < 2) {
194
+ errors.push('Invalid organization name');
195
+ }
196
+ return {
197
+ isValid: errors.length === 0,
198
+ errors
199
+ };
200
+ }
201
+ /**
202
+ * Get human-readable partner license info
203
+ */
204
+ function formatPartnerLicenseInfo(parsedLicense) {
205
+ const lines = [];
206
+ if (parsedLicense.partnerType === types_js_1.PartnerType.RESELLER) {
207
+ lines.push(`Partner Type: RESELLER`);
208
+ lines.push(`Organization: ${parsedLicense.organization}`);
209
+ lines.push(`Purchased Seats: ${parsedLicense.purchasedSeats}`);
210
+ // Calculate wholesale cost with volume discount
211
+ const seats = parsedLicense.purchasedSeats;
212
+ let pricePerSeat = 69;
213
+ if (seats >= 500)
214
+ pricePerSeat = 49;
215
+ else if (seats >= 100)
216
+ pricePerSeat = 59;
217
+ lines.push(`Wholesale Price: $${pricePerSeat}/seat ($${pricePerSeat * seats}/year total)`);
218
+ lines.push(`Suggested Retail: $99/seat ($${99 * seats}/year total)`);
219
+ lines.push(`Potential Margin: $${(99 - pricePerSeat) * seats}/year (${Math.round(((99 - pricePerSeat) / 99) * 100)}%)`);
220
+ }
221
+ else {
222
+ lines.push(`Partner Type: SOLUTION`);
223
+ lines.push(`Organization: ${parsedLicense.organization}`);
224
+ lines.push(`Referral Code: ${parsedLicense.referralCode}`);
225
+ lines.push(`Commission: 15% Year 1, 10% Year 2+`);
226
+ }
227
+ lines.push(`Expires: ${parsedLicense.expiresAt.toLocaleDateString()}`);
228
+ const daysUntilExpiry = Math.floor((parsedLicense.expiresAt.getTime() - Date.now()) / (1000 * 60 * 60 * 24));
229
+ if (daysUntilExpiry < 0) {
230
+ lines.push(`Status: EXPIRED (${Math.abs(daysUntilExpiry)} days ago)`);
231
+ }
232
+ else if (daysUntilExpiry < 30) {
233
+ lines.push(`Status: ACTIVE (expires in ${daysUntilExpiry} days) ⚠️`);
234
+ }
235
+ else {
236
+ lines.push(`Status: ACTIVE (${daysUntilExpiry} days remaining)`);
237
+ }
238
+ return lines.join('\n');
239
+ }
240
+ //# sourceMappingURL=license-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license-parser.js","sourceRoot":"","sources":["../../src/partners/license-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Partner Program Types for Snow-Flow
3
+ *
4
+ * Two-track partner model:
5
+ * 1. Reseller Partners - Wholesale pricing for resale business
6
+ * 2. Solution Partners - Referral fees for implementation/consulting
7
+ */
8
+ export declare enum PartnerType {
9
+ RESELLER = "reseller",// Wholesale model: buy seats, resell
10
+ SOLUTION = "solution"
11
+ }
12
+ /**
13
+ * Partner License Configuration
14
+ */
15
+ export interface PartnerLicense {
16
+ licenseKey: string;
17
+ partnerId: string;
18
+ partnerName: string;
19
+ partnerType: PartnerType;
20
+ activatedAt: Date;
21
+ expiresAt: Date;
22
+ resellerConfig?: ResellerConfig;
23
+ solutionConfig?: SolutionConfig;
24
+ isActive: boolean;
25
+ isSuspended: boolean;
26
+ suspensionReason?: string;
27
+ }
28
+ /**
29
+ * Reseller Partner Configuration
30
+ * Buy seats at wholesale, resell at your own pricing
31
+ */
32
+ export interface ResellerConfig {
33
+ wholesalePrice: number;
34
+ purchasedSeats: number;
35
+ allocatedSeats: number;
36
+ availableSeats: number;
37
+ billingCycle: 'monthly' | 'quarterly' | 'annual';
38
+ nextBillingDate: Date;
39
+ totalRevenue: number;
40
+ whitelabel?: {
41
+ enabled: boolean;
42
+ brandName?: string;
43
+ logo?: {
44
+ url: string;
45
+ width: number;
46
+ height: number;
47
+ };
48
+ colors?: {
49
+ primary: string;
50
+ secondary?: string;
51
+ accent?: string;
52
+ };
53
+ customDomain?: string;
54
+ };
55
+ dedicatedSupport: boolean;
56
+ prioritySupport: boolean;
57
+ }
58
+ /**
59
+ * Solution Partner Configuration
60
+ * Refer customers, earn commission on their subscriptions
61
+ */
62
+ export interface SolutionConfig {
63
+ year1CommissionRate: number;
64
+ year2PlusCommissionRate: number;
65
+ totalReferrals: number;
66
+ activeReferrals: number;
67
+ totalSeats: number;
68
+ monthlyRecurringRevenue: number;
69
+ lifetimeCommissions: number;
70
+ currentMonthCommission: number;
71
+ referralCode: string;
72
+ referralLink: string;
73
+ paymentMethod: 'bank_transfer' | 'paypal' | 'stripe';
74
+ paymentDetails?: Record<string, string>;
75
+ paymentSchedule: 'monthly' | 'quarterly';
76
+ nextPaymentDate: Date;
77
+ certificationLevel: 'certified' | 'advanced' | 'expert';
78
+ coMarketingEnabled: boolean;
79
+ }
80
+ /**
81
+ * Partner Customer (end customer of partner)
82
+ */
83
+ export interface PartnerCustomer {
84
+ customerId: string;
85
+ customerName: string;
86
+ partnerId: string;
87
+ partnerType: PartnerType;
88
+ subscriptionId: string;
89
+ seats: {
90
+ developer: number;
91
+ stakeholder: number;
92
+ };
93
+ startDate: Date;
94
+ renewalDate: Date;
95
+ billingType: 'partner_managed' | 'snowflow_managed';
96
+ resellerData?: {
97
+ seatAllocationId: string;
98
+ partnerPricing?: number;
99
+ };
100
+ solutionData?: {
101
+ referralCode: string;
102
+ monthlyValue: number;
103
+ commissionRate: number;
104
+ };
105
+ }
106
+ /**
107
+ * Partner Metrics
108
+ */
109
+ export interface PartnerMetrics {
110
+ partnerId: string;
111
+ partnerType: PartnerType;
112
+ period: {
113
+ start: Date;
114
+ end: Date;
115
+ };
116
+ totalCustomers: number;
117
+ newCustomers: number;
118
+ churnedCustomers: number;
119
+ retentionRate: number;
120
+ totalRevenue: number;
121
+ averageRevenuePerCustomer: number;
122
+ totalSeats: number;
123
+ developerSeats: number;
124
+ stakeholderSeats: number;
125
+ seatUtilization?: number;
126
+ commissionEarned?: number;
127
+ estimatedMargin?: number;
128
+ monthOverMonthGrowth: number;
129
+ yearOverYearGrowth: number;
130
+ }
131
+ /**
132
+ * Partner Portal Access
133
+ */
134
+ export interface PartnerPortalAccess {
135
+ partnerId: string;
136
+ userId: string;
137
+ email: string;
138
+ role: 'admin' | 'manager' | 'viewer';
139
+ permissions: {
140
+ manageLicenses: boolean;
141
+ viewAnalytics: boolean;
142
+ manageCustomers: boolean;
143
+ manageBilling: boolean;
144
+ manageUsers: boolean;
145
+ accessSupport: boolean;
146
+ };
147
+ lastLogin: Date;
148
+ isActive: boolean;
149
+ mfaEnabled: boolean;
150
+ }
151
+ /**
152
+ * Partner Application
153
+ */
154
+ export interface PartnerApplication {
155
+ applicationId: string;
156
+ status: 'pending' | 'approved' | 'rejected';
157
+ companyName: string;
158
+ companyWebsite: string;
159
+ companySize: string;
160
+ industry: string;
161
+ primaryContact: {
162
+ name: string;
163
+ email: string;
164
+ phone: string;
165
+ title: string;
166
+ };
167
+ interestedTrack: 'reseller' | 'solution' | 'both';
168
+ estimatedAnnualSeats?: string;
169
+ hasExistingCustomers?: boolean;
170
+ existingCustomerCount?: number;
171
+ servicenowExperience?: 'none' | 'basic' | 'intermediate' | 'expert';
172
+ servicenowCertifications?: string[];
173
+ servicenowPartnerStatus?: string;
174
+ whyPartner: string;
175
+ targetMarket: string;
176
+ competitiveAdvantage: string;
177
+ submittedAt: Date;
178
+ reviewedAt?: Date;
179
+ approvedAt?: Date;
180
+ reviewNotes?: string;
181
+ reviewedBy?: string;
182
+ }
183
+ /**
184
+ * Partner Pricing Configuration
185
+ */
186
+ export declare const PARTNER_PRICING: {
187
+ readonly reseller: {
188
+ readonly wholesalePerSeat: 69;
189
+ readonly minimumOrder: 25;
190
+ readonly suggestedRetail: 99;
191
+ readonly margin: 0.3;
192
+ readonly tiers: readonly [{
193
+ readonly min: 25;
194
+ readonly max: 99;
195
+ readonly price: 69;
196
+ }, {
197
+ readonly min: 100;
198
+ readonly max: 499;
199
+ readonly price: 59;
200
+ }, {
201
+ readonly min: 500;
202
+ readonly max: number;
203
+ readonly price: 49;
204
+ }];
205
+ readonly whitelabel: {
206
+ readonly setupFee: 2500;
207
+ readonly monthlyFee: 500;
208
+ readonly customDomain: true;
209
+ readonly customBranding: true;
210
+ };
211
+ };
212
+ readonly solution: {
213
+ readonly setupFee: 0;
214
+ readonly year1Commission: 0.15;
215
+ readonly year2PlusCommission: 0.1;
216
+ readonly minimumPayout: 100;
217
+ readonly certificationBenefits: {
218
+ readonly certified: {
219
+ readonly year1: 0.15;
220
+ readonly year2Plus: 0.1;
221
+ readonly coMarketing: false;
222
+ };
223
+ readonly advanced: {
224
+ readonly year1: 0.18;
225
+ readonly year2Plus: 0.12;
226
+ readonly coMarketing: true;
227
+ };
228
+ readonly expert: {
229
+ readonly year1: 0.2;
230
+ readonly year2Plus: 0.15;
231
+ readonly coMarketing: true;
232
+ };
233
+ };
234
+ };
235
+ };
236
+ /**
237
+ * Partner Benefits by Type
238
+ */
239
+ export declare const PARTNER_BENEFITS: {
240
+ readonly reseller: {
241
+ readonly name: "Reseller Partner";
242
+ readonly description: "Buy wholesale, resell at your own pricing";
243
+ readonly benefits: readonly ["Wholesale pricing: $69/seat (30% margin)", "Volume discounts up to $49/seat", "Partner dashboard & seat management", "Deal registration system", "NFR licenses for demos", "Sales enablement & training", "Co-marketing support", "White-label option ($500/mo)"];
244
+ readonly idealFor: readonly ["VARs & Resellers", "Managed Service Providers (MSPs)", "ServiceNow distributors", "IT service companies"];
245
+ };
246
+ readonly solution: {
247
+ readonly name: "Solution Partner";
248
+ readonly description: "Refer customers, earn recurring commission";
249
+ readonly benefits: readonly ["No upfront costs or inventory", "15% commission Year 1", "10% recurring commission Year 2+", "Partner referral dashboard", "Lead registration system", "Implementation training", "Technical enablement", "Co-marketing opportunities"];
250
+ readonly idealFor: readonly ["ServiceNow consultants", "Implementation partners", "System integrators", "ServiceNow specialists"];
251
+ };
252
+ };
253
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/partners/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * Partner Program Types for Snow-Flow
4
+ *
5
+ * Two-track partner model:
6
+ * 1. Reseller Partners - Wholesale pricing for resale business
7
+ * 2. Solution Partners - Referral fees for implementation/consulting
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PARTNER_BENEFITS = exports.PARTNER_PRICING = exports.PartnerType = void 0;
11
+ var PartnerType;
12
+ (function (PartnerType) {
13
+ PartnerType["RESELLER"] = "reseller";
14
+ PartnerType["SOLUTION"] = "solution"; // Referral model: refer customers, earn commission
15
+ })(PartnerType || (exports.PartnerType = PartnerType = {}));
16
+ /**
17
+ * Partner Pricing Configuration
18
+ */
19
+ exports.PARTNER_PRICING = {
20
+ // Reseller track pricing
21
+ reseller: {
22
+ wholesalePerSeat: 69, // $69/seat/year
23
+ minimumOrder: 25, // Minimum 25 seats commitment
24
+ suggestedRetail: 99, // Suggest $99/seat retail
25
+ margin: 0.30, // 30% margin at suggested retail
26
+ // Volume discounts
27
+ tiers: [
28
+ { min: 25, max: 99, price: 69 }, // $69/seat for 25-99 seats
29
+ { min: 100, max: 499, price: 59 }, // $59/seat for 100-499 seats
30
+ { min: 500, max: Infinity, price: 49 } // $49/seat for 500+ seats
31
+ ],
32
+ // White-label add-on
33
+ whitelabel: {
34
+ setupFee: 2500, // One-time $2,500
35
+ monthlyFee: 500, // $500/month
36
+ customDomain: true,
37
+ customBranding: true
38
+ }
39
+ },
40
+ // Solution track pricing (commission-based)
41
+ solution: {
42
+ setupFee: 0, // No upfront cost
43
+ year1Commission: 0.15, // 15% first year
44
+ year2PlusCommission: 0.10, // 10% ongoing
45
+ minimumPayout: 100, // $100 minimum for payout
46
+ // Certification levels
47
+ certificationBenefits: {
48
+ certified: {
49
+ year1: 0.15,
50
+ year2Plus: 0.10,
51
+ coMarketing: false
52
+ },
53
+ advanced: {
54
+ year1: 0.18,
55
+ year2Plus: 0.12,
56
+ coMarketing: true
57
+ },
58
+ expert: {
59
+ year1: 0.20,
60
+ year2Plus: 0.15,
61
+ coMarketing: true
62
+ }
63
+ }
64
+ }
65
+ };
66
+ /**
67
+ * Partner Benefits by Type
68
+ */
69
+ exports.PARTNER_BENEFITS = {
70
+ reseller: {
71
+ name: 'Reseller Partner',
72
+ description: 'Buy wholesale, resell at your own pricing',
73
+ benefits: [
74
+ 'Wholesale pricing: $69/seat (30% margin)',
75
+ 'Volume discounts up to $49/seat',
76
+ 'Partner dashboard & seat management',
77
+ 'Deal registration system',
78
+ 'NFR licenses for demos',
79
+ 'Sales enablement & training',
80
+ 'Co-marketing support',
81
+ 'White-label option ($500/mo)'
82
+ ],
83
+ idealFor: [
84
+ 'VARs & Resellers',
85
+ 'Managed Service Providers (MSPs)',
86
+ 'ServiceNow distributors',
87
+ 'IT service companies'
88
+ ]
89
+ },
90
+ solution: {
91
+ name: 'Solution Partner',
92
+ description: 'Refer customers, earn recurring commission',
93
+ benefits: [
94
+ 'No upfront costs or inventory',
95
+ '15% commission Year 1',
96
+ '10% recurring commission Year 2+',
97
+ 'Partner referral dashboard',
98
+ 'Lead registration system',
99
+ 'Implementation training',
100
+ 'Technical enablement',
101
+ 'Co-marketing opportunities'
102
+ ],
103
+ idealFor: [
104
+ 'ServiceNow consultants',
105
+ 'Implementation partners',
106
+ 'System integrators',
107
+ 'ServiceNow specialists'
108
+ ]
109
+ }
110
+ };
111
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/partners/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA,CAAM,mDAAmD;AAChF,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAgPD;;GAEG;AACU,QAAA,eAAe,GAAG;IAC7B,yBAAyB;IACzB,QAAQ,EAAE;QACR,gBAAgB,EAAE,EAAE,EAAW,gBAAgB;QAC/C,YAAY,EAAE,EAAE,EAAe,8BAA8B;QAC7D,eAAe,EAAE,EAAE,EAAY,0BAA0B;QACzD,MAAM,EAAE,IAAI,EAAmB,iCAAiC;QAEhE,mBAAmB;QACnB,KAAK,EAAE;YACL,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAK,2BAA2B;YAC/D,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAG,6BAA6B;YACjE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,0BAA0B;SAClE;QAED,qBAAqB;QACrB,UAAU,EAAE;YACV,QAAQ,EAAE,IAAI,EAAe,kBAAkB;YAC/C,UAAU,EAAE,GAAG,EAAc,aAAa;YAC1C,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;KACF;IAED,4CAA4C;IAC5C,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC,EAAoB,kBAAkB;QACjD,eAAe,EAAE,IAAI,EAAU,iBAAiB;QAChD,mBAAmB,EAAE,IAAI,EAAM,cAAc;QAC7C,aAAa,EAAE,GAAG,EAAa,0BAA0B;QAEzD,uBAAuB;QACvB,qBAAqB,EAAE;YACrB,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,KAAK;aACnB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;aAClB;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;aAClB;SACF;KACF;CACO,CAAC;AAEX;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,QAAQ,EAAE;QACR,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,2CAA2C;QACxD,QAAQ,EAAE;YACR,0CAA0C;YAC1C,iCAAiC;YACjC,qCAAqC;YACrC,0BAA0B;YAC1B,wBAAwB;YACxB,6BAA6B;YAC7B,sBAAsB;YACtB,8BAA8B;SAC/B;QACD,QAAQ,EAAE;YACR,kBAAkB;YAClB,kCAAkC;YAClC,yBAAyB;YACzB,sBAAsB;SACvB;KACF;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE;YACR,+BAA+B;YAC/B,uBAAuB;YACvB,kCAAkC;YAClC,4BAA4B;YAC5B,0BAA0B;YAC1B,yBAAyB;YACzB,sBAAsB;YACtB,4BAA4B;SAC7B;QACD,QAAQ,EAAE;YACR,wBAAwB;YACxB,yBAAyB;YACzB,oBAAoB;YACpB,wBAAwB;SACzB;KACF;CACO,CAAC"}