@ingeno/pipedream-services 1.0.77 → 1.0.83

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 (401) hide show
  1. package/dist/aws/apn/health-check/cli.d.ts +12 -0
  2. package/dist/aws/apn/health-check/cli.d.ts.map +1 -0
  3. package/dist/aws/apn/health-check/cli.js +41 -0
  4. package/dist/aws/apn/health-check/cli.js.map +1 -0
  5. package/dist/aws/apn/health-check/engine.d.ts +14 -0
  6. package/dist/aws/apn/health-check/engine.d.ts.map +1 -0
  7. package/dist/aws/apn/health-check/engine.js +50 -0
  8. package/dist/aws/apn/health-check/engine.js.map +1 -0
  9. package/dist/aws/apn/health-check/formatter.d.ts +7 -0
  10. package/dist/aws/apn/health-check/formatter.d.ts.map +1 -0
  11. package/dist/aws/apn/health-check/formatter.js +48 -0
  12. package/dist/aws/apn/health-check/formatter.js.map +1 -0
  13. package/dist/aws/apn/health-check/helpers.d.ts +14 -0
  14. package/dist/aws/apn/health-check/helpers.d.ts.map +1 -0
  15. package/dist/aws/apn/health-check/helpers.js +37 -0
  16. package/dist/aws/apn/health-check/helpers.js.map +1 -0
  17. package/dist/aws/apn/health-check/index.d.ts +6 -0
  18. package/dist/aws/apn/health-check/index.d.ts.map +1 -0
  19. package/dist/aws/apn/health-check/index.js +6 -0
  20. package/dist/aws/apn/health-check/index.js.map +1 -0
  21. package/dist/aws/apn/health-check/rules.d.ts +13 -0
  22. package/dist/aws/apn/health-check/rules.d.ts.map +1 -0
  23. package/dist/aws/apn/health-check/rules.js +207 -0
  24. package/dist/aws/apn/health-check/rules.js.map +1 -0
  25. package/dist/aws/apn/health-check/types.d.ts +35 -0
  26. package/dist/aws/apn/health-check/types.d.ts.map +1 -0
  27. package/dist/aws/apn/health-check/types.js +10 -0
  28. package/dist/aws/apn/health-check/types.js.map +1 -0
  29. package/dist/aws/apn/index.d.ts +1 -0
  30. package/dist/aws/apn/index.d.ts.map +1 -1
  31. package/dist/aws/apn/index.js +1 -0
  32. package/dist/aws/apn/index.js.map +1 -1
  33. package/dist/aws/apn/partner-central-client.d.ts +2 -1
  34. package/dist/aws/apn/partner-central-client.d.ts.map +1 -1
  35. package/dist/aws/apn/partner-central-client.js +13 -3
  36. package/dist/aws/apn/partner-central-client.js.map +1 -1
  37. package/dist/aws/apn/zoho-crm/analytics-to-zoho-sync.d.ts +27 -0
  38. package/dist/aws/apn/zoho-crm/analytics-to-zoho-sync.d.ts.map +1 -0
  39. package/dist/aws/apn/zoho-crm/analytics-to-zoho-sync.js +89 -0
  40. package/dist/aws/apn/zoho-crm/analytics-to-zoho-sync.js.map +1 -0
  41. package/dist/aws/apn/zoho-crm/index.d.ts +1 -0
  42. package/dist/aws/apn/zoho-crm/index.d.ts.map +1 -1
  43. package/dist/aws/apn/zoho-crm/index.js +1 -0
  44. package/dist/aws/apn/zoho-crm/index.js.map +1 -1
  45. package/dist/aws/cost/cost-schema.d.ts +4 -0
  46. package/dist/aws/cost/cost-schema.d.ts.map +1 -0
  47. package/dist/aws/cost/cost-schema.js +19 -0
  48. package/dist/aws/cost/cost-schema.js.map +1 -0
  49. package/dist/aws/cost/index.d.ts +8 -0
  50. package/dist/aws/cost/index.d.ts.map +1 -0
  51. package/dist/aws/cost/index.js +8 -0
  52. package/dist/aws/cost/index.js.map +1 -0
  53. package/dist/aws/cost/metrics.d.ts +18 -0
  54. package/dist/aws/cost/metrics.d.ts.map +1 -0
  55. package/dist/aws/cost/metrics.js +41 -0
  56. package/dist/aws/cost/metrics.js.map +1 -0
  57. package/dist/aws/cost/orchestrator.d.ts +30 -0
  58. package/dist/aws/cost/orchestrator.d.ts.map +1 -0
  59. package/dist/aws/cost/orchestrator.js +52 -0
  60. package/dist/aws/cost/orchestrator.js.map +1 -0
  61. package/dist/aws/cost/steps/account-fetcher-step.d.ts +16 -0
  62. package/dist/aws/cost/steps/account-fetcher-step.d.ts.map +1 -0
  63. package/dist/aws/cost/steps/account-fetcher-step.js +23 -0
  64. package/dist/aws/cost/steps/account-fetcher-step.js.map +1 -0
  65. package/dist/aws/cost/steps/cost-explorer-step.d.ts +27 -0
  66. package/dist/aws/cost/steps/cost-explorer-step.d.ts.map +1 -0
  67. package/dist/aws/cost/steps/cost-explorer-step.js +100 -0
  68. package/dist/aws/cost/steps/cost-explorer-step.js.map +1 -0
  69. package/dist/aws/execute-as.d.ts +14 -0
  70. package/dist/aws/execute-as.d.ts.map +1 -1
  71. package/dist/aws/execute-as.js +22 -0
  72. package/dist/aws/execute-as.js.map +1 -1
  73. package/dist/aws/index.d.ts +2 -1
  74. package/dist/aws/index.d.ts.map +1 -1
  75. package/dist/aws/index.js +2 -1
  76. package/dist/aws/index.js.map +1 -1
  77. package/dist/aws/ingeno-aws-constants.d.ts +20 -0
  78. package/dist/aws/ingeno-aws-constants.d.ts.map +1 -0
  79. package/dist/aws/ingeno-aws-constants.js +22 -0
  80. package/dist/aws/ingeno-aws-constants.js.map +1 -0
  81. package/dist/collections/types.d.ts +1 -1
  82. package/dist/collections/types.d.ts.map +1 -1
  83. package/dist/index.d.ts +1 -0
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +1 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/lattice/generated/LatticeClient.d.ts +11 -0
  88. package/dist/lattice/generated/LatticeClient.d.ts.map +1 -0
  89. package/dist/lattice/generated/LatticeClient.js +21 -0
  90. package/dist/lattice/generated/LatticeClient.js.map +1 -0
  91. package/dist/lattice/generated/core/ApiError.d.ts +11 -0
  92. package/dist/lattice/generated/core/ApiError.d.ts.map +1 -0
  93. package/dist/lattice/generated/core/ApiError.js +17 -0
  94. package/dist/lattice/generated/core/ApiError.js.map +1 -0
  95. package/dist/lattice/generated/core/ApiRequestOptions.d.ts +14 -0
  96. package/dist/lattice/generated/core/ApiRequestOptions.d.ts.map +1 -0
  97. package/dist/lattice/generated/core/ApiRequestOptions.js +2 -0
  98. package/dist/lattice/generated/core/ApiRequestOptions.js.map +1 -0
  99. package/dist/lattice/generated/core/ApiResult.d.ts +8 -0
  100. package/dist/lattice/generated/core/ApiResult.d.ts.map +1 -0
  101. package/dist/lattice/generated/core/ApiResult.js +2 -0
  102. package/dist/lattice/generated/core/ApiResult.js.map +1 -0
  103. package/dist/lattice/generated/core/AxiosHttpRequest.d.ts +15 -0
  104. package/dist/lattice/generated/core/AxiosHttpRequest.d.ts.map +1 -0
  105. package/dist/lattice/generated/core/AxiosHttpRequest.js +17 -0
  106. package/dist/lattice/generated/core/AxiosHttpRequest.js.map +1 -0
  107. package/dist/lattice/generated/core/BaseHttpRequest.d.ts +9 -0
  108. package/dist/lattice/generated/core/BaseHttpRequest.d.ts.map +1 -0
  109. package/dist/lattice/generated/core/BaseHttpRequest.js +7 -0
  110. package/dist/lattice/generated/core/BaseHttpRequest.js.map +1 -0
  111. package/dist/lattice/generated/core/CancelablePromise.d.ts +21 -0
  112. package/dist/lattice/generated/core/CancelablePromise.d.ts.map +1 -0
  113. package/dist/lattice/generated/core/CancelablePromise.js +100 -0
  114. package/dist/lattice/generated/core/CancelablePromise.js.map +1 -0
  115. package/dist/lattice/generated/core/OpenAPI.d.ts +17 -0
  116. package/dist/lattice/generated/core/OpenAPI.d.ts.map +1 -0
  117. package/dist/lattice/generated/core/OpenAPI.js +12 -0
  118. package/dist/lattice/generated/core/OpenAPI.js.map +1 -0
  119. package/dist/lattice/generated/core/request.d.ts +35 -0
  120. package/dist/lattice/generated/core/request.d.ts.map +1 -0
  121. package/dist/lattice/generated/core/request.js +270 -0
  122. package/dist/lattice/generated/core/request.js.map +1 -0
  123. package/dist/lattice/generated/index.d.ts +61 -0
  124. package/dist/lattice/generated/index.d.ts.map +1 -0
  125. package/dist/lattice/generated/index.js +22 -0
  126. package/dist/lattice/generated/index.js.map +1 -0
  127. package/dist/lattice/generated/models/CompanyValue.d.ts +19 -0
  128. package/dist/lattice/generated/models/CompanyValue.d.ts.map +1 -0
  129. package/dist/lattice/generated/models/CompanyValue.js +2 -0
  130. package/dist/lattice/generated/models/CompanyValue.js.map +1 -0
  131. package/dist/lattice/generated/models/CompanyValuesList.d.ts +20 -0
  132. package/dist/lattice/generated/models/CompanyValuesList.d.ts.map +1 -0
  133. package/dist/lattice/generated/models/CompanyValuesList.js +2 -0
  134. package/dist/lattice/generated/models/CompanyValuesList.js.map +1 -0
  135. package/dist/lattice/generated/models/Competency.d.ts +19 -0
  136. package/dist/lattice/generated/models/Competency.d.ts.map +1 -0
  137. package/dist/lattice/generated/models/Competency.js +2 -0
  138. package/dist/lattice/generated/models/Competency.js.map +1 -0
  139. package/dist/lattice/generated/models/ConfirmReceivingPacketTaskType.d.ts +25 -0
  140. package/dist/lattice/generated/models/ConfirmReceivingPacketTaskType.d.ts.map +1 -0
  141. package/dist/lattice/generated/models/ConfirmReceivingPacketTaskType.js +2 -0
  142. package/dist/lattice/generated/models/ConfirmReceivingPacketTaskType.js.map +1 -0
  143. package/dist/lattice/generated/models/CustomAttribute.d.ts +28 -0
  144. package/dist/lattice/generated/models/CustomAttribute.d.ts.map +1 -0
  145. package/dist/lattice/generated/models/CustomAttribute.js +2 -0
  146. package/dist/lattice/generated/models/CustomAttribute.js.map +1 -0
  147. package/dist/lattice/generated/models/CustomAttributeValue.d.ts +19 -0
  148. package/dist/lattice/generated/models/CustomAttributeValue.d.ts.map +1 -0
  149. package/dist/lattice/generated/models/CustomAttributeValue.js +2 -0
  150. package/dist/lattice/generated/models/CustomAttributeValue.js.map +1 -0
  151. package/dist/lattice/generated/models/Department.d.ts +27 -0
  152. package/dist/lattice/generated/models/Department.d.ts.map +1 -0
  153. package/dist/lattice/generated/models/Department.js +2 -0
  154. package/dist/lattice/generated/models/Department.js.map +1 -0
  155. package/dist/lattice/generated/models/Error.d.ts +7 -0
  156. package/dist/lattice/generated/models/Error.d.ts.map +1 -0
  157. package/dist/lattice/generated/models/Error.js +2 -0
  158. package/dist/lattice/generated/models/Error.js.map +1 -0
  159. package/dist/lattice/generated/models/Feedback.d.ts +55 -0
  160. package/dist/lattice/generated/models/Feedback.d.ts.map +1 -0
  161. package/dist/lattice/generated/models/Feedback.js +2 -0
  162. package/dist/lattice/generated/models/Feedback.js.map +1 -0
  163. package/dist/lattice/generated/models/FeedbackExpandedTargetsList.d.ts +20 -0
  164. package/dist/lattice/generated/models/FeedbackExpandedTargetsList.d.ts.map +1 -0
  165. package/dist/lattice/generated/models/FeedbackExpandedTargetsList.js +2 -0
  166. package/dist/lattice/generated/models/FeedbackExpandedTargetsList.js.map +1 -0
  167. package/dist/lattice/generated/models/FeedbackRequest.d.ts +36 -0
  168. package/dist/lattice/generated/models/FeedbackRequest.d.ts.map +1 -0
  169. package/dist/lattice/generated/models/FeedbackRequest.js +2 -0
  170. package/dist/lattice/generated/models/FeedbackRequest.js.map +1 -0
  171. package/dist/lattice/generated/models/FeedbackTargetsList.d.ts +20 -0
  172. package/dist/lattice/generated/models/FeedbackTargetsList.d.ts.map +1 -0
  173. package/dist/lattice/generated/models/FeedbackTargetsList.js +2 -0
  174. package/dist/lattice/generated/models/FeedbackTargetsList.js.map +1 -0
  175. package/dist/lattice/generated/models/FinalizeReviewPacketTaskType.d.ts +25 -0
  176. package/dist/lattice/generated/models/FinalizeReviewPacketTaskType.d.ts.map +1 -0
  177. package/dist/lattice/generated/models/FinalizeReviewPacketTaskType.js +2 -0
  178. package/dist/lattice/generated/models/FinalizeReviewPacketTaskType.js.map +1 -0
  179. package/dist/lattice/generated/models/Gender.d.ts +10 -0
  180. package/dist/lattice/generated/models/Gender.d.ts.map +1 -0
  181. package/dist/lattice/generated/models/Gender.js +15 -0
  182. package/dist/lattice/generated/models/Gender.js.map +1 -0
  183. package/dist/lattice/generated/models/GiveFeedbackTaskType.d.ts +20 -0
  184. package/dist/lattice/generated/models/GiveFeedbackTaskType.d.ts.map +1 -0
  185. package/dist/lattice/generated/models/GiveFeedbackTaskType.js +2 -0
  186. package/dist/lattice/generated/models/GiveFeedbackTaskType.js.map +1 -0
  187. package/dist/lattice/generated/models/Goal.d.ts +119 -0
  188. package/dist/lattice/generated/models/Goal.d.ts.map +1 -0
  189. package/dist/lattice/generated/models/Goal.js +2 -0
  190. package/dist/lattice/generated/models/Goal.js.map +1 -0
  191. package/dist/lattice/generated/models/GoalAmountType.d.ts +7 -0
  192. package/dist/lattice/generated/models/GoalAmountType.d.ts.map +1 -0
  193. package/dist/lattice/generated/models/GoalAmountType.js +12 -0
  194. package/dist/lattice/generated/models/GoalAmountType.js.map +1 -0
  195. package/dist/lattice/generated/models/GoalChildGoalsList.d.ts +20 -0
  196. package/dist/lattice/generated/models/GoalChildGoalsList.d.ts.map +1 -0
  197. package/dist/lattice/generated/models/GoalChildGoalsList.js +2 -0
  198. package/dist/lattice/generated/models/GoalChildGoalsList.js.map +1 -0
  199. package/dist/lattice/generated/models/GoalExpandedChildGoalsList.d.ts +20 -0
  200. package/dist/lattice/generated/models/GoalExpandedChildGoalsList.d.ts.map +1 -0
  201. package/dist/lattice/generated/models/GoalExpandedChildGoalsList.js +2 -0
  202. package/dist/lattice/generated/models/GoalExpandedChildGoalsList.js.map +1 -0
  203. package/dist/lattice/generated/models/GoalExpandedOwnersList.d.ts +20 -0
  204. package/dist/lattice/generated/models/GoalExpandedOwnersList.d.ts.map +1 -0
  205. package/dist/lattice/generated/models/GoalExpandedOwnersList.js +2 -0
  206. package/dist/lattice/generated/models/GoalExpandedOwnersList.js.map +1 -0
  207. package/dist/lattice/generated/models/GoalExpandedTagsList.d.ts +20 -0
  208. package/dist/lattice/generated/models/GoalExpandedTagsList.d.ts.map +1 -0
  209. package/dist/lattice/generated/models/GoalExpandedTagsList.js +2 -0
  210. package/dist/lattice/generated/models/GoalExpandedTagsList.js.map +1 -0
  211. package/dist/lattice/generated/models/GoalOwnersList.d.ts +20 -0
  212. package/dist/lattice/generated/models/GoalOwnersList.d.ts.map +1 -0
  213. package/dist/lattice/generated/models/GoalOwnersList.js +2 -0
  214. package/dist/lattice/generated/models/GoalOwnersList.js.map +1 -0
  215. package/dist/lattice/generated/models/GoalStateEnum.d.ts +7 -0
  216. package/dist/lattice/generated/models/GoalStateEnum.d.ts.map +1 -0
  217. package/dist/lattice/generated/models/GoalStateEnum.js +12 -0
  218. package/dist/lattice/generated/models/GoalStateEnum.js.map +1 -0
  219. package/dist/lattice/generated/models/GoalStatusEnum.d.ts +7 -0
  220. package/dist/lattice/generated/models/GoalStatusEnum.d.ts.map +1 -0
  221. package/dist/lattice/generated/models/GoalStatusEnum.js +12 -0
  222. package/dist/lattice/generated/models/GoalStatusEnum.js.map +1 -0
  223. package/dist/lattice/generated/models/GoalTagsList.d.ts +20 -0
  224. package/dist/lattice/generated/models/GoalTagsList.d.ts.map +1 -0
  225. package/dist/lattice/generated/models/GoalTagsList.js +2 -0
  226. package/dist/lattice/generated/models/GoalTagsList.js.map +1 -0
  227. package/dist/lattice/generated/models/GoalTypeEnum.d.ts +7 -0
  228. package/dist/lattice/generated/models/GoalTypeEnum.d.ts.map +1 -0
  229. package/dist/lattice/generated/models/GoalTypeEnum.js +12 -0
  230. package/dist/lattice/generated/models/GoalTypeEnum.js.map +1 -0
  231. package/dist/lattice/generated/models/ListReference.d.ts +11 -0
  232. package/dist/lattice/generated/models/ListReference.d.ts.map +1 -0
  233. package/dist/lattice/generated/models/ListReference.js +2 -0
  234. package/dist/lattice/generated/models/ListReference.js.map +1 -0
  235. package/dist/lattice/generated/models/ObjectReference.d.ts +15 -0
  236. package/dist/lattice/generated/models/ObjectReference.d.ts.map +1 -0
  237. package/dist/lattice/generated/models/ObjectReference.js +2 -0
  238. package/dist/lattice/generated/models/ObjectReference.js.map +1 -0
  239. package/dist/lattice/generated/models/OrderDirection.d.ts +8 -0
  240. package/dist/lattice/generated/models/OrderDirection.d.ts.map +1 -0
  241. package/dist/lattice/generated/models/OrderDirection.js +13 -0
  242. package/dist/lattice/generated/models/OrderDirection.js.map +1 -0
  243. package/dist/lattice/generated/models/PerformPostScoringReviewTaskType.d.ts +25 -0
  244. package/dist/lattice/generated/models/PerformPostScoringReviewTaskType.d.ts.map +1 -0
  245. package/dist/lattice/generated/models/PerformPostScoringReviewTaskType.js +2 -0
  246. package/dist/lattice/generated/models/PerformPostScoringReviewTaskType.js.map +1 -0
  247. package/dist/lattice/generated/models/PerformReviewTaskType.d.ts +32 -0
  248. package/dist/lattice/generated/models/PerformReviewTaskType.d.ts.map +1 -0
  249. package/dist/lattice/generated/models/PerformReviewTaskType.js +2 -0
  250. package/dist/lattice/generated/models/PerformReviewTaskType.js.map +1 -0
  251. package/dist/lattice/generated/models/Question.d.ts +36 -0
  252. package/dist/lattice/generated/models/Question.d.ts.map +1 -0
  253. package/dist/lattice/generated/models/Question.js +2 -0
  254. package/dist/lattice/generated/models/Question.js.map +1 -0
  255. package/dist/lattice/generated/models/QuestionRevision.d.ts +32 -0
  256. package/dist/lattice/generated/models/QuestionRevision.d.ts.map +1 -0
  257. package/dist/lattice/generated/models/QuestionRevision.js +2 -0
  258. package/dist/lattice/generated/models/QuestionRevision.js.map +1 -0
  259. package/dist/lattice/generated/models/Rating.d.ts +11 -0
  260. package/dist/lattice/generated/models/Rating.d.ts.map +1 -0
  261. package/dist/lattice/generated/models/Rating.js +2 -0
  262. package/dist/lattice/generated/models/Rating.js.map +1 -0
  263. package/dist/lattice/generated/models/Review.d.ts +70 -0
  264. package/dist/lattice/generated/models/Review.d.ts.map +1 -0
  265. package/dist/lattice/generated/models/Review.js +2 -0
  266. package/dist/lattice/generated/models/Review.js.map +1 -0
  267. package/dist/lattice/generated/models/ReviewCycle.d.ts +62 -0
  268. package/dist/lattice/generated/models/ReviewCycle.d.ts.map +1 -0
  269. package/dist/lattice/generated/models/ReviewCycle.js +2 -0
  270. package/dist/lattice/generated/models/ReviewCycle.js.map +1 -0
  271. package/dist/lattice/generated/models/ReviewCycleStageTypeEnum.d.ts +13 -0
  272. package/dist/lattice/generated/models/ReviewCycleStageTypeEnum.d.ts.map +1 -0
  273. package/dist/lattice/generated/models/ReviewCycleStageTypeEnum.js +18 -0
  274. package/dist/lattice/generated/models/ReviewCycleStageTypeEnum.js.map +1 -0
  275. package/dist/lattice/generated/models/ReviewResponse.d.ts +31 -0
  276. package/dist/lattice/generated/models/ReviewResponse.d.ts.map +1 -0
  277. package/dist/lattice/generated/models/ReviewResponse.js +2 -0
  278. package/dist/lattice/generated/models/ReviewResponse.js.map +1 -0
  279. package/dist/lattice/generated/models/ReviewType.d.ts +8 -0
  280. package/dist/lattice/generated/models/ReviewType.d.ts.map +1 -0
  281. package/dist/lattice/generated/models/ReviewType.js +13 -0
  282. package/dist/lattice/generated/models/ReviewType.js.map +1 -0
  283. package/dist/lattice/generated/models/Reviewee.d.ts +66 -0
  284. package/dist/lattice/generated/models/Reviewee.d.ts.map +1 -0
  285. package/dist/lattice/generated/models/Reviewee.js +2 -0
  286. package/dist/lattice/generated/models/Reviewee.js.map +1 -0
  287. package/dist/lattice/generated/models/SelectPeersTaskType.d.ts +29 -0
  288. package/dist/lattice/generated/models/SelectPeersTaskType.d.ts.map +1 -0
  289. package/dist/lattice/generated/models/SelectPeersTaskType.js +2 -0
  290. package/dist/lattice/generated/models/SelectPeersTaskType.js.map +1 -0
  291. package/dist/lattice/generated/models/Tag.d.ts +27 -0
  292. package/dist/lattice/generated/models/Tag.d.ts.map +1 -0
  293. package/dist/lattice/generated/models/Tag.js +2 -0
  294. package/dist/lattice/generated/models/Tag.js.map +1 -0
  295. package/dist/lattice/generated/models/Update.d.ts +50 -0
  296. package/dist/lattice/generated/models/Update.d.ts.map +1 -0
  297. package/dist/lattice/generated/models/Update.js +2 -0
  298. package/dist/lattice/generated/models/Update.js.map +1 -0
  299. package/dist/lattice/generated/models/UpdateGoalTaskType.d.ts +20 -0
  300. package/dist/lattice/generated/models/UpdateGoalTaskType.d.ts.map +1 -0
  301. package/dist/lattice/generated/models/UpdateGoalTaskType.js +2 -0
  302. package/dist/lattice/generated/models/UpdateGoalTaskType.js.map +1 -0
  303. package/dist/lattice/generated/models/UpdateQuestionsList.d.ts +20 -0
  304. package/dist/lattice/generated/models/UpdateQuestionsList.d.ts.map +1 -0
  305. package/dist/lattice/generated/models/UpdateQuestionsList.js +2 -0
  306. package/dist/lattice/generated/models/UpdateQuestionsList.js.map +1 -0
  307. package/dist/lattice/generated/models/UpdateReponse.d.ts +19 -0
  308. package/dist/lattice/generated/models/UpdateReponse.d.ts.map +1 -0
  309. package/dist/lattice/generated/models/UpdateReponse.js +2 -0
  310. package/dist/lattice/generated/models/UpdateReponse.js.map +1 -0
  311. package/dist/lattice/generated/models/UpdateSentimentResponse.d.ts +15 -0
  312. package/dist/lattice/generated/models/UpdateSentimentResponse.d.ts.map +1 -0
  313. package/dist/lattice/generated/models/UpdateSentimentResponse.js +2 -0
  314. package/dist/lattice/generated/models/UpdateSentimentResponse.js.map +1 -0
  315. package/dist/lattice/generated/models/User.d.ts +91 -0
  316. package/dist/lattice/generated/models/User.d.ts.map +1 -0
  317. package/dist/lattice/generated/models/User.js +2 -0
  318. package/dist/lattice/generated/models/User.js.map +1 -0
  319. package/dist/lattice/generated/models/UserCustomAttribute.d.ts +13 -0
  320. package/dist/lattice/generated/models/UserCustomAttribute.d.ts.map +1 -0
  321. package/dist/lattice/generated/models/UserCustomAttribute.js +2 -0
  322. package/dist/lattice/generated/models/UserCustomAttribute.js.map +1 -0
  323. package/dist/lattice/generated/models/UserFieldVisibilitySettingEnumType.d.ts +7 -0
  324. package/dist/lattice/generated/models/UserFieldVisibilitySettingEnumType.d.ts.map +1 -0
  325. package/dist/lattice/generated/models/UserFieldVisibilitySettingEnumType.js +12 -0
  326. package/dist/lattice/generated/models/UserFieldVisibilitySettingEnumType.js.map +1 -0
  327. package/dist/lattice/generated/models/UserStatusEnum.d.ts +10 -0
  328. package/dist/lattice/generated/models/UserStatusEnum.d.ts.map +1 -0
  329. package/dist/lattice/generated/models/UserStatusEnum.js +15 -0
  330. package/dist/lattice/generated/models/UserStatusEnum.js.map +1 -0
  331. package/dist/lattice/generated/models/UserStatusEnumWithNullStringValue.d.ts +11 -0
  332. package/dist/lattice/generated/models/UserStatusEnumWithNullStringValue.d.ts.map +1 -0
  333. package/dist/lattice/generated/models/UserStatusEnumWithNullStringValue.js +16 -0
  334. package/dist/lattice/generated/models/UserStatusEnumWithNullStringValue.js.map +1 -0
  335. package/dist/lattice/generated/models/WeightedScore.d.ts +11 -0
  336. package/dist/lattice/generated/models/WeightedScore.d.ts.map +1 -0
  337. package/dist/lattice/generated/models/WeightedScore.js +2 -0
  338. package/dist/lattice/generated/models/WeightedScore.js.map +1 -0
  339. package/dist/lattice/generated/services/DefaultService.d.ts +828 -0
  340. package/dist/lattice/generated/services/DefaultService.d.ts.map +1 -0
  341. package/dist/lattice/generated/services/DefaultService.js +683 -0
  342. package/dist/lattice/generated/services/DefaultService.js.map +1 -0
  343. package/dist/lattice/lattice-goals-period-tree.d.ts +35 -0
  344. package/dist/lattice/lattice-goals-period-tree.d.ts.map +1 -0
  345. package/dist/lattice/lattice-goals-period-tree.js +188 -0
  346. package/dist/lattice/lattice-goals-period-tree.js.map +1 -0
  347. package/dist/lattice/lattice-goals-validator.d.ts +41 -0
  348. package/dist/lattice/lattice-goals-validator.d.ts.map +1 -0
  349. package/dist/lattice/lattice-goals-validator.js +225 -0
  350. package/dist/lattice/lattice-goals-validator.js.map +1 -0
  351. package/dist/pipeline/database-operations.d.ts +26 -0
  352. package/dist/pipeline/database-operations.d.ts.map +1 -0
  353. package/dist/pipeline/database-operations.js +84 -0
  354. package/dist/pipeline/database-operations.js.map +1 -0
  355. package/dist/pipeline/index.d.ts +5 -0
  356. package/dist/pipeline/index.d.ts.map +1 -0
  357. package/dist/pipeline/index.js +4 -0
  358. package/dist/pipeline/index.js.map +1 -0
  359. package/dist/pipeline/pipeline-builder.d.ts +15 -0
  360. package/dist/pipeline/pipeline-builder.d.ts.map +1 -0
  361. package/dist/pipeline/pipeline-builder.js +24 -0
  362. package/dist/pipeline/pipeline-builder.js.map +1 -0
  363. package/dist/postgres/index.d.ts +1 -0
  364. package/dist/postgres/index.d.ts.map +1 -1
  365. package/dist/postgres/index.js +1 -0
  366. package/dist/postgres/index.js.map +1 -1
  367. package/dist/postgres/posgres-test-config.js +5 -5
  368. package/dist/postgres/posgres-test-config.js.map +1 -1
  369. package/dist/postgres/postgres.d.ts +3 -1
  370. package/dist/postgres/postgres.d.ts.map +1 -1
  371. package/dist/postgres/postgres.js +86 -4
  372. package/dist/postgres/postgres.js.map +1 -1
  373. package/dist/postgres/query-executor.d.ts +13 -0
  374. package/dist/postgres/query-executor.d.ts.map +1 -0
  375. package/dist/postgres/query-executor.js +52 -0
  376. package/dist/postgres/query-executor.js.map +1 -0
  377. package/dist/postgres/test-config.d.ts.map +1 -1
  378. package/dist/postgres/test-config.js +34 -5
  379. package/dist/postgres/test-config.js.map +1 -1
  380. package/dist/slack/example.d.ts.map +1 -1
  381. package/dist/slack/example.js.map +1 -1
  382. package/dist/slack/slack-service.d.ts +1 -1
  383. package/dist/slack/slack-service.d.ts.map +1 -1
  384. package/dist/slack/slack-service.js +8 -8
  385. package/dist/slack/slack-service.js.map +1 -1
  386. package/dist/zoho-crm/zoho-crm-client.d.ts +1 -0
  387. package/dist/zoho-crm/zoho-crm-client.d.ts.map +1 -1
  388. package/dist/zoho-crm/zoho-crm-client.js +6 -2
  389. package/dist/zoho-crm/zoho-crm-client.js.map +1 -1
  390. package/dist/zoho-crm/zoho-crm-fetcher.d.ts +2 -0
  391. package/dist/zoho-crm/zoho-crm-fetcher.d.ts.map +1 -1
  392. package/dist/zoho-crm/zoho-crm-fetcher.js +245 -10
  393. package/dist/zoho-crm/zoho-crm-fetcher.js.map +1 -1
  394. package/dist/zoho-crm/zoho-crm-to-database-collection-converter.d.ts.map +1 -1
  395. package/dist/zoho-crm/zoho-crm-to-database-collection-converter.js +25 -7
  396. package/dist/zoho-crm/zoho-crm-to-database-collection-converter.js.map +1 -1
  397. package/package.json +30 -24
  398. package/dist/aws/aws-cost.d.ts +0 -33
  399. package/dist/aws/aws-cost.d.ts.map +0 -1
  400. package/dist/aws/aws-cost.js +0 -98
  401. package/dist/aws/aws-cost.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI entry point for the APN opportunity health check.
4
+ *
5
+ * Usage:
6
+ * npx tsx packages/services/src/aws/apn/health-check/cli.ts
7
+ *
8
+ * Requires AWS credentials in the environment that can assume
9
+ * the cross-account role (774133161165, IngenoCrossAccountReadOnlyAccessRole).
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI entry point for the APN opportunity health check.
4
+ *
5
+ * Usage:
6
+ * npx tsx packages/services/src/aws/apn/health-check/cli.ts
7
+ *
8
+ * Requires AWS credentials in the environment that can assume
9
+ * the cross-account role (774133161165, IngenoCrossAccountReadOnlyAccessRole).
10
+ */
11
+ import { fromEnv } from '@aws-sdk/credential-providers';
12
+ import { PartnerCentralClient } from '../partner-central-client.js';
13
+ import { assumeRoleExecutionContext } from '../../execute-as.js';
14
+ import { runHealthCheck } from './engine.js';
15
+ import { formatReport } from './formatter.js';
16
+ async function main() {
17
+ try {
18
+ const mainCredentials = await fromEnv()();
19
+ const executionContext = assumeRoleExecutionContext({
20
+ accountId: '774133161165',
21
+ roleName: 'IngenoCrossAccountReadOnlyAccessRole',
22
+ mainCredentials: {
23
+ accessKeyId: mainCredentials.accessKeyId,
24
+ secretAccessKey: mainCredentials.secretAccessKey,
25
+ },
26
+ });
27
+ const credentials = typeof executionContext.credentials === 'function'
28
+ ? await executionContext.credentials()
29
+ : executionContext.credentials;
30
+ const client = new PartnerCentralClient({ credentials });
31
+ const result = await runHealthCheck(client);
32
+ const report = formatReport(result);
33
+ console.log(report);
34
+ }
35
+ catch (error) {
36
+ console.error('Health check failed:', error instanceof Error ? error.message : error);
37
+ process.exit(1);
38
+ }
39
+ }
40
+ main();
41
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,OAAO,EAAE,EAAE,CAAA;QAEzC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;YAClD,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,sCAAsC;YAChD,eAAe,EAAE;gBACf,WAAW,EAAE,eAAe,CAAC,WAAW;gBACxC,eAAe,EAAE,eAAe,CAAC,eAAe;aACjD;SACF,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,OAAO,gBAAgB,CAAC,WAAW,KAAK,UAAU;YACpE,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,EAAE;YACtC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAA;QAEhC,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;QAExD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAEnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { PartnerCentralClient } from '../partner-central-client.js';
2
+ import type { HealthCheckResult } from './types.js';
3
+ export interface HealthCheckOptions {
4
+ /** Injectable current date for testing. Defaults to new Date(). */
5
+ now?: Date;
6
+ }
7
+ /**
8
+ * Run the APN opportunity health check.
9
+ *
10
+ * Streams all opportunities from Partner Central, applies the 7 rules,
11
+ * and returns a structured HealthCheckResult.
12
+ */
13
+ export declare function runHealthCheck(client: PartnerCentralClient, options?: HealthCheckOptions): Promise<HealthCheckResult>;
14
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAiC,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAIlF,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,GAAG,CAAC,EAAE,IAAI,CAAA;CACX;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAuD5B"}
@@ -0,0 +1,50 @@
1
+ import { lastValueFrom, reduce } from 'rxjs';
2
+ import { activeOnlyRules, allOppsRules } from './rules.js';
3
+ import { isTerminalPartnerStage } from './helpers.js';
4
+ /**
5
+ * Run the APN opportunity health check.
6
+ *
7
+ * Streams all opportunities from Partner Central, applies the 7 rules,
8
+ * and returns a structured HealthCheckResult.
9
+ */
10
+ export async function runHealthCheck(client, options = {}) {
11
+ const now = options.now ?? new Date();
12
+ const stream = client.streamOpportunities({
13
+ maxResults: Infinity,
14
+ includeDetails: true,
15
+ includeAwsOpportunity: true,
16
+ });
17
+ const result = await lastValueFrom(stream.pipe(reduce((acc, rawOpp) => {
18
+ const opp = rawOpp;
19
+ acc.totalOpportunities++;
20
+ const findings = [];
21
+ // Rule 2 applies to ALL opportunities
22
+ for (const rule of allOppsRules) {
23
+ findings.push(...rule(opp, now));
24
+ }
25
+ // Other rules apply only to active (non-terminal) opportunities
26
+ if (!isTerminalPartnerStage(opp)) {
27
+ for (const rule of activeOnlyRules) {
28
+ findings.push(...rule(opp, now));
29
+ }
30
+ }
31
+ // Rule 1 has priority over Rule 3: if Rule 1 fired, remove Rule 3
32
+ const hasRule1 = findings.some(f => f.ruleId === 'rule-1');
33
+ const filtered = hasRule1
34
+ ? findings.filter(f => f.ruleId !== 'rule-3')
35
+ : findings;
36
+ acc.findings.push(...filtered);
37
+ return acc;
38
+ }, { totalOpportunities: 0, findings: [] })));
39
+ const summary = {
40
+ critical: result.findings.filter(f => f.severity === 'CRITICAL').length,
41
+ warning: result.findings.filter(f => f.severity === 'WARNING').length,
42
+ info: result.findings.filter(f => f.severity === 'INFO').length,
43
+ };
44
+ return {
45
+ totalOpportunities: result.totalOpportunities,
46
+ findings: result.findings,
47
+ summary,
48
+ };
49
+ }
50
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAO,MAAM,MAAM,CAAA;AAGjD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAOrD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,UAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;IAErC,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACxC,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,IAAI;QACpB,qBAAqB,EAAE,IAAI;KAC5B,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,MAAM,CAAC,IAAI,CACT,MAAM,CACJ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACd,MAAM,GAAG,GAAG,MAA8B,CAAA;QAC1C,GAAG,CAAC,kBAAkB,EAAE,CAAA;QAExB,MAAM,QAAQ,GAAc,EAAE,CAAA;QAE9B,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAClC,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,QAAQ;YACvB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;YAC7C,CAAC,CAAC,QAAQ,CAAA;QAEZ,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC9B,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAAE,kBAAkB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAe,EAAE,CACrD,CACF,CACF,CAAA;IAED,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;QACvE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM;QACrE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;KAChE,CAAA;IAED,OAAO;QACL,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO;KACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { HealthCheckResult } from './types.js';
2
+ /**
3
+ * Format a HealthCheckResult into a human-readable text report.
4
+ * Groups findings by severity (CRITICAL > WARNING > INFO).
5
+ */
6
+ export declare function formatReport(result: HealthCheckResult): string;
7
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,iBAAiB,EAAY,MAAM,YAAY,CAAA;AActE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAsC9D"}
@@ -0,0 +1,48 @@
1
+ const SEVERITY_ORDER = ['CRITICAL', 'WARNING', 'INFO'];
2
+ const SEVERITY_LABELS = {
3
+ CRITICAL: 'CRITICAL — Action immédiate',
4
+ WARNING: 'WARNING — À traiter cette semaine',
5
+ INFO: 'INFO — À surveiller',
6
+ };
7
+ function formatFinding(finding) {
8
+ return ` [${finding.opportunityId}] ${finding.company} — ${finding.title}\n ${finding.message}`;
9
+ }
10
+ /**
11
+ * Format a HealthCheckResult into a human-readable text report.
12
+ * Groups findings by severity (CRITICAL > WARNING > INFO).
13
+ */
14
+ export function formatReport(result) {
15
+ const lines = [];
16
+ // Header
17
+ lines.push('=== APN Opportunity Health Check ===');
18
+ lines.push('');
19
+ lines.push(`Opportunités scannées : ${result.totalOpportunities}`);
20
+ lines.push(`Findings : ${result.findings.length} (${result.summary.critical} critical, ${result.summary.warning} warning, ${result.summary.info} info)`);
21
+ lines.push('');
22
+ if (result.findings.length === 0) {
23
+ lines.push('Aucun problème détecté. Le pipeline est en bonne santé.');
24
+ return lines.join('\n');
25
+ }
26
+ // Group findings by severity
27
+ const grouped = new Map();
28
+ for (const severity of SEVERITY_ORDER) {
29
+ grouped.set(severity, []);
30
+ }
31
+ for (const finding of result.findings) {
32
+ grouped.get(finding.severity).push(finding);
33
+ }
34
+ // Render each severity group
35
+ for (const severity of SEVERITY_ORDER) {
36
+ const findings = grouped.get(severity);
37
+ if (findings.length === 0)
38
+ continue;
39
+ lines.push(`--- ${SEVERITY_LABELS[severity]} (${findings.length}) ---`);
40
+ lines.push('');
41
+ for (const finding of findings) {
42
+ lines.push(formatFinding(finding));
43
+ }
44
+ lines.push('');
45
+ }
46
+ return lines.join('\n');
47
+ }
48
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/formatter.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAe,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAElE,MAAM,eAAe,GAA6B;IAChD,QAAQ,EAAE,6BAA6B;IACvC,OAAO,EAAE,mCAAmC;IAC5C,IAAI,EAAE,qBAAqB;CAC5B,CAAA;AAED,SAAS,aAAa,CAAC,OAAgB;IACrC,OAAO,MAAM,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,OAAO,MAAM,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,EAAE,CAAA;AACrG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAyB;IACpD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;IAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAClE,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,QAAQ,cAAc,MAAM,CAAC,OAAO,CAAC,OAAO,aAAa,MAAM,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAA;IACxJ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;QACrE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC9C,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC3B,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,6BAA6B;IAC7B,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QAEnC,KAAK,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAA;QACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { AugmentedOpportunity } from './types.js';
2
+ /** Returns the number of full days between two dates (a - b), ignoring time. */
3
+ export declare function daysBetween(a: Date, b: Date): number;
4
+ /** Parse a date string (YYYY-MM-DD) into a Date at midnight UTC. Returns undefined on invalid input. */
5
+ export declare function parseDate(value: string | undefined | null): Date | undefined;
6
+ /** Whether the opportunity's partner stage is terminal (Closed Won, Closed Lost, Launched). */
7
+ export declare function isTerminalPartnerStage(opp: AugmentedOpportunity): boolean;
8
+ /** Extract a display-friendly company name. */
9
+ export declare function getCompany(opp: AugmentedOpportunity): string;
10
+ /** Extract the opportunity title. */
11
+ export declare function getTitle(opp: AugmentedOpportunity): string;
12
+ /** Extract the opportunity ID. */
13
+ export declare function getOpportunityId(opp: AugmentedOpportunity): string;
14
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGtD,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAKpD;AAED,wGAAwG;AACxG,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAK5E;AAED,+FAA+F;AAC/F,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAIzE;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,CAE5D;AAED,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,CAE1D;AAED,kCAAkC;AAClC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,CAElE"}
@@ -0,0 +1,37 @@
1
+ import { TERMINAL_PARTNER_STAGES } from './types.js';
2
+ /** Returns the number of full days between two dates (a - b), ignoring time. */
3
+ export function daysBetween(a, b) {
4
+ const msPerDay = 86_400_000;
5
+ const utcA = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
6
+ const utcB = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());
7
+ return Math.floor((utcA - utcB) / msPerDay);
8
+ }
9
+ /** Parse a date string (YYYY-MM-DD) into a Date at midnight UTC. Returns undefined on invalid input. */
10
+ export function parseDate(value) {
11
+ if (!value)
12
+ return undefined;
13
+ const d = new Date(value);
14
+ if (isNaN(d.getTime()))
15
+ return undefined;
16
+ return d;
17
+ }
18
+ /** Whether the opportunity's partner stage is terminal (Closed Won, Closed Lost, Launched). */
19
+ export function isTerminalPartnerStage(opp) {
20
+ const stage = opp.LifeCycle?.Stage;
21
+ if (!stage)
22
+ return false;
23
+ return TERMINAL_PARTNER_STAGES.includes(stage);
24
+ }
25
+ /** Extract a display-friendly company name. */
26
+ export function getCompany(opp) {
27
+ return opp.Customer?.Account?.CompanyName ?? 'Unknown';
28
+ }
29
+ /** Extract the opportunity title. */
30
+ export function getTitle(opp) {
31
+ return opp.Project?.Title ?? 'Untitled';
32
+ }
33
+ /** Extract the opportunity ID. */
34
+ export function getOpportunityId(opp) {
35
+ return opp.Id ?? 'Unknown';
36
+ }
37
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,CAAO,EAAE,CAAO;IAC1C,MAAM,QAAQ,GAAG,UAAU,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACjE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;AAC7C,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,SAAS,CAAC,KAAgC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;IACzB,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,SAAS,CAAA;IACxC,OAAO,CAAC,CAAA;AACV,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,sBAAsB,CAAC,GAAyB;IAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,EAAE,KAAK,CAAA;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,OAAQ,uBAA6C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACvE,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,UAAU,CAAC,GAAyB;IAClD,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,IAAI,SAAS,CAAA;AACxD,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,QAAQ,CAAC,GAAyB;IAChD,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,UAAU,CAAA;AACzC,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,gBAAgB,CAAC,GAAyB;IACxD,OAAO,GAAG,CAAC,EAAE,IAAI,SAAS,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './types.js';
2
+ export * from './rules.js';
3
+ export * from './helpers.js';
4
+ export * from './engine.js';
5
+ export * from './formatter.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './types.js';
2
+ export * from './rules.js';
3
+ export * from './helpers.js';
4
+ export * from './engine.js';
5
+ export * from './formatter.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { HealthRule } from './types.js';
2
+ export declare const rule1TargetCloseDatePassed: HealthRule;
3
+ export declare const rule2TerminalMisalignment: HealthRule;
4
+ export declare const rule3TargetCloseDateApproaching: HealthRule;
5
+ export declare const rule4ReviewStatusStuck: HealthRule;
6
+ export declare const rule5StaleOpportunity: HealthRule;
7
+ export declare const rule6MissingCriticalFields: HealthRule;
8
+ export declare const rule7GeneralStageMisalignment: HealthRule;
9
+ /** Rules that apply only to active (non-terminal) opportunities. */
10
+ export declare const activeOnlyRules: HealthRule[];
11
+ /** Rules that apply to ALL opportunities (including terminal). */
12
+ export declare const allOppsRules: HealthRule[];
13
+ //# sourceMappingURL=rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,UAAU,EAAE,MAAM,YAAY,CAAA;AAQ3E,eAAO,MAAM,0BAA0B,EAAE,UAexC,CAAA;AAOD,eAAO,MAAM,yBAAyB,EAAE,UAqBvC,CAAA;AAOD,eAAO,MAAM,+BAA+B,EAAE,UAiB7C,CAAA;AAQD,eAAO,MAAM,sBAAsB,EAAE,UAsCpC,CAAA;AAOD,eAAO,MAAM,qBAAqB,EAAE,UAkBnC,CAAA;AAOD,eAAO,MAAM,0BAA0B,EAAE,UA4BxC,CAAA;AAOD,eAAO,MAAM,6BAA6B,EAAE,UAsB3C,CAAA;AAMD,oEAAoE;AACpE,eAAO,MAAM,eAAe,EAAE,UAAU,EAOvC,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,YAAY,EAAE,UAAU,EAEpC,CAAA"}
@@ -0,0 +1,207 @@
1
+ import { AWS_TO_PARTNER_TERMINAL_MAP, TERMINAL_AWS_STAGES, TERMINAL_PARTNER_STAGES } from './types.js';
2
+ import { daysBetween, getCompany, getOpportunityId, getTitle, parseDate } from './helpers.js';
3
+ // ---------------------------------------------------------------------------
4
+ // Rule 1 — Target Close Date dépassée (CRITICAL)
5
+ // ---------------------------------------------------------------------------
6
+ export const rule1TargetCloseDatePassed = (opp, now) => {
7
+ const targetDate = parseDate(opp.LifeCycle?.TargetCloseDate);
8
+ if (!targetDate)
9
+ return [];
10
+ const daysLate = daysBetween(now, targetDate);
11
+ if (daysLate <= 0)
12
+ return [];
13
+ return [{
14
+ severity: 'CRITICAL',
15
+ ruleId: 'rule-1',
16
+ opportunityId: getOpportunityId(opp),
17
+ company: getCompany(opp),
18
+ title: getTitle(opp),
19
+ message: `Target Close Date (${opp.LifeCycle.TargetCloseDate}) dépassée de ${daysLate} jour${daysLate > 1 ? 's' : ''}`,
20
+ }];
21
+ };
22
+ // ---------------------------------------------------------------------------
23
+ // Rule 2 — Désalignement terminal AWS vs Partner (CRITICAL)
24
+ // Scope: ALL opportunities (not just active)
25
+ // ---------------------------------------------------------------------------
26
+ export const rule2TerminalMisalignment = (opp, _now) => {
27
+ const awsStage = opp.AwsOpportunity?.LifeCycle?.Stage;
28
+ if (!awsStage)
29
+ return [];
30
+ // Only applies when AWS stage is terminal
31
+ if (!TERMINAL_AWS_STAGES.includes(awsStage))
32
+ return [];
33
+ const partnerStage = opp.LifeCycle?.Stage;
34
+ if (!partnerStage)
35
+ return [];
36
+ const expectedPartnerStage = AWS_TO_PARTNER_TERMINAL_MAP[awsStage];
37
+ if (partnerStage === expectedPartnerStage)
38
+ return [];
39
+ return [{
40
+ severity: 'CRITICAL',
41
+ ruleId: 'rule-2',
42
+ opportunityId: getOpportunityId(opp),
43
+ company: getCompany(opp),
44
+ title: getTitle(opp),
45
+ message: `Désalignement terminal — AWS: "${awsStage}", Partner: "${partnerStage}" (attendu: "${expectedPartnerStage}")`,
46
+ }];
47
+ };
48
+ // ---------------------------------------------------------------------------
49
+ // Rule 3 — Target Close Date approchante (WARNING)
50
+ // Excluded if Rule 1 already applies (date already passed)
51
+ // ---------------------------------------------------------------------------
52
+ export const rule3TargetCloseDateApproaching = (opp, now) => {
53
+ const targetDate = parseDate(opp.LifeCycle?.TargetCloseDate);
54
+ if (!targetDate)
55
+ return [];
56
+ const daysRemaining = daysBetween(targetDate, now);
57
+ // If date is already passed (Rule 1 territory) or beyond 14 days, skip
58
+ if (daysRemaining <= 0 || daysRemaining > 14)
59
+ return [];
60
+ return [{
61
+ severity: 'WARNING',
62
+ ruleId: 'rule-3',
63
+ opportunityId: getOpportunityId(opp),
64
+ company: getCompany(opp),
65
+ title: getTitle(opp),
66
+ message: `Target Close Date (${opp.LifeCycle.TargetCloseDate}) dans ${daysRemaining} jour${daysRemaining > 1 ? 's' : ''}`,
67
+ }];
68
+ };
69
+ // ---------------------------------------------------------------------------
70
+ // Rule 4 — Review Status bloqué (WARNING)
71
+ // Condition A: ReviewStatus hasn't changed in > 7 days (proxy: LastModifiedDate)
72
+ // Condition B: ReviewStatus is "Rejected"
73
+ // ---------------------------------------------------------------------------
74
+ export const rule4ReviewStatusStuck = (opp, now) => {
75
+ const reviewStatus = opp.LifeCycle?.ReviewStatus;
76
+ if (!reviewStatus)
77
+ return [];
78
+ // Condition B: Rejected
79
+ if (reviewStatus === 'Rejected') {
80
+ return [{
81
+ severity: 'WARNING',
82
+ ruleId: 'rule-4',
83
+ opportunityId: getOpportunityId(opp),
84
+ company: getCompany(opp),
85
+ title: getTitle(opp),
86
+ message: `Review Status: "${reviewStatus}" — opportunité rejetée, action requise`,
87
+ }];
88
+ }
89
+ // Condition A: Stale review (LastModifiedDate > 7 days as proxy)
90
+ const lastModified = opp.LastModifiedDate;
91
+ if (!lastModified)
92
+ return [];
93
+ const lastModDate = lastModified instanceof Date ? lastModified : new Date(lastModified);
94
+ if (isNaN(lastModDate.getTime()))
95
+ return [];
96
+ const daysSinceModified = daysBetween(now, lastModDate);
97
+ if (daysSinceModified <= 7)
98
+ return [];
99
+ // Only flag non-terminal review statuses as stuck
100
+ const terminalReviewStatuses = ['Approved', 'Rejected'];
101
+ if (terminalReviewStatuses.includes(reviewStatus))
102
+ return [];
103
+ return [{
104
+ severity: 'WARNING',
105
+ ruleId: 'rule-4',
106
+ opportunityId: getOpportunityId(opp),
107
+ company: getCompany(opp),
108
+ title: getTitle(opp),
109
+ message: `Review Status "${reviewStatus}" inchangé depuis ${daysSinceModified} jours`,
110
+ }];
111
+ };
112
+ // ---------------------------------------------------------------------------
113
+ // Rule 5 — Opportunité stale (WARNING)
114
+ // LastModifiedDate > 30 days
115
+ // ---------------------------------------------------------------------------
116
+ export const rule5StaleOpportunity = (opp, now) => {
117
+ const lastModified = opp.LastModifiedDate;
118
+ if (!lastModified)
119
+ return [];
120
+ const lastModDate = lastModified instanceof Date ? lastModified : new Date(lastModified);
121
+ if (isNaN(lastModDate.getTime()))
122
+ return [];
123
+ const daysSinceModified = daysBetween(now, lastModDate);
124
+ if (daysSinceModified <= 30)
125
+ return [];
126
+ return [{
127
+ severity: 'WARNING',
128
+ ruleId: 'rule-5',
129
+ opportunityId: getOpportunityId(opp),
130
+ company: getCompany(opp),
131
+ title: getTitle(opp),
132
+ message: `Aucune activité depuis ${daysSinceModified} jours`,
133
+ }];
134
+ };
135
+ // ---------------------------------------------------------------------------
136
+ // Rule 6 — Champs critiques manquants (INFO)
137
+ // One finding per opp listing all missing fields
138
+ // ---------------------------------------------------------------------------
139
+ export const rule6MissingCriticalFields = (opp, _now) => {
140
+ const missingFields = [];
141
+ const nextSteps = opp.LifeCycle?.NextSteps;
142
+ if (!nextSteps || nextSteps.trim() === '') {
143
+ missingFields.push('NextSteps');
144
+ }
145
+ const customerBusinessProblem = opp.Project?.CustomerBusinessProblem;
146
+ if (!customerBusinessProblem || customerBusinessProblem.trim() === '') {
147
+ missingFields.push('CustomerBusinessProblem');
148
+ }
149
+ const expectedSpend = opp.Project?.ExpectedCustomerSpend;
150
+ if (!expectedSpend || expectedSpend.length === 0) {
151
+ missingFields.push('ExpectedCustomerSpend');
152
+ }
153
+ if (missingFields.length === 0)
154
+ return [];
155
+ return [{
156
+ severity: 'INFO',
157
+ ruleId: 'rule-6',
158
+ opportunityId: getOpportunityId(opp),
159
+ company: getCompany(opp),
160
+ title: getTitle(opp),
161
+ message: `Champs critiques manquants : ${missingFields.join(', ')}`,
162
+ }];
163
+ };
164
+ // ---------------------------------------------------------------------------
165
+ // Rule 7 — Désalignement de stage général (INFO)
166
+ // Excluded if Rule 2 applies (AWS terminal stage)
167
+ // ---------------------------------------------------------------------------
168
+ export const rule7GeneralStageMisalignment = (opp, _now) => {
169
+ const partnerStage = opp.LifeCycle?.Stage;
170
+ const awsStage = opp.AwsOpportunity?.LifeCycle?.Stage;
171
+ if (!partnerStage || !awsStage)
172
+ return [];
173
+ // If AWS stage is terminal, Rule 2 handles it
174
+ if (TERMINAL_AWS_STAGES.includes(awsStage))
175
+ return [];
176
+ // If partner stage is terminal, not a general misalignment issue
177
+ if (TERMINAL_PARTNER_STAGES.includes(partnerStage))
178
+ return [];
179
+ // Compare stages — they use different enums but have overlapping values
180
+ if (partnerStage === awsStage)
181
+ return [];
182
+ return [{
183
+ severity: 'INFO',
184
+ ruleId: 'rule-7',
185
+ opportunityId: getOpportunityId(opp),
186
+ company: getCompany(opp),
187
+ title: getTitle(opp),
188
+ message: `Désalignement de stage — Partner: "${partnerStage}", AWS: "${awsStage}"`,
189
+ }];
190
+ };
191
+ // ---------------------------------------------------------------------------
192
+ // All rules in order
193
+ // ---------------------------------------------------------------------------
194
+ /** Rules that apply only to active (non-terminal) opportunities. */
195
+ export const activeOnlyRules = [
196
+ rule1TargetCloseDatePassed,
197
+ rule3TargetCloseDateApproaching,
198
+ rule4ReviewStatusStuck,
199
+ rule5StaleOpportunity,
200
+ rule6MissingCriticalFields,
201
+ rule7GeneralStageMisalignment,
202
+ ];
203
+ /** Rules that apply to ALL opportunities (including terminal). */
204
+ export const allOppsRules = [
205
+ rule2TerminalMisalignment,
206
+ ];
207
+ //# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { GetOpportunityResponse, GetAwsOpportunitySummaryResponse } from '@aws-sdk/client-partnercentral-selling';
2
+ export type Severity = 'CRITICAL' | 'WARNING' | 'INFO';
3
+ export interface Finding {
4
+ severity: Severity;
5
+ ruleId: string;
6
+ opportunityId: string;
7
+ company: string;
8
+ title: string;
9
+ message: string;
10
+ }
11
+ export interface HealthCheckResult {
12
+ totalOpportunities: number;
13
+ findings: Finding[];
14
+ summary: {
15
+ critical: number;
16
+ warning: number;
17
+ info: number;
18
+ };
19
+ }
20
+ /**
21
+ * An opportunity augmented with its AWS counterpart.
22
+ * This is the shape returned by PartnerCentralClient.streamOpportunities()
23
+ * with includeDetails + includeAwsOpportunity enabled.
24
+ */
25
+ export type AugmentedOpportunity = GetOpportunityResponse & {
26
+ AwsOpportunity?: GetAwsOpportunitySummaryResponse;
27
+ };
28
+ export declare const TERMINAL_PARTNER_STAGES: readonly ["Closed Won", "Closed Lost", "Launched"];
29
+ export declare const TERMINAL_AWS_STAGES: readonly ["Closed Lost", "Launched"];
30
+ /**
31
+ * Mapping of AWS terminal stage → expected Partner stage
32
+ */
33
+ export declare const AWS_TO_PARTNER_TERMINAL_MAP: Record<string, string>;
34
+ export type HealthRule = (opp: AugmentedOpportunity, now: Date) => Finding[];
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AAEtH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAA;AAEtD,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,GAAG;IAC1D,cAAc,CAAC,EAAE,gCAAgC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,uBAAuB,oDAAqD,CAAA;AACzF,eAAO,MAAM,mBAAmB,sCAAuC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG9D,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ export const TERMINAL_PARTNER_STAGES = ['Closed Won', 'Closed Lost', 'Launched'];
2
+ export const TERMINAL_AWS_STAGES = ['Closed Lost', 'Launched'];
3
+ /**
4
+ * Mapping of AWS terminal stage → expected Partner stage
5
+ */
6
+ export const AWS_TO_PARTNER_TERMINAL_MAP = {
7
+ 'Launched': 'Closed Won',
8
+ 'Closed Lost': 'Closed Lost',
9
+ };
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/aws/apn/health-check/types.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAU,CAAA;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,UAAU,CAAU,CAAA;AAEvE;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,aAAa;CAC7B,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './partner-central-client.js';
2
2
  export * from './opportunities-helper.js';
3
3
  export * from './zoho-crm/index.js';
4
+ export * from './health-check/index.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/aws/apn/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/aws/apn/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './partner-central-client.js';
2
2
  export * from './opportunities-helper.js';
3
3
  export * from './zoho-crm/index.js';
4
+ export * from './health-check/index.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aws/apn/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aws/apn/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { OpportunitySummary, GetAwsOpportunitySummaryResponse, ListOpportunitiesResponse, GetOpportunityResponse } from '@aws-sdk/client-partnercentral-selling';
1
+ import { GetAwsOpportunitySummaryResponse, GetOpportunityResponse, ListOpportunitiesResponse, OpportunitySummary, UpdateOpportunityResponse } from '@aws-sdk/client-partnercentral-selling';
2
2
  import { AwsCredentialIdentity } from '@aws-sdk/types';
3
3
  import { Observable } from 'rxjs';
4
4
  export interface PartnerCentralConfig {
@@ -21,6 +21,7 @@ export declare class PartnerCentralClient {
21
21
  constructor(config: PartnerCentralConfig);
22
22
  getAwsOpportunity(opportunityId: string): Promise<GetAwsOpportunitySummaryResponse | undefined>;
23
23
  getOpportunity(opportunityId: string): Promise<GetOpportunityResponse>;
24
+ updateOpportunity(opportunityId: string, updateData: any): Promise<UpdateOpportunityResponse>;
24
25
  listOpportunities(options?: {
25
26
  maxResults?: number;
26
27
  nextToken?: string;