flowtask 5.13.2__tar.gz → 5.13.4__tar.gz

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 (884) hide show
  1. {flowtask-5.13.2 → flowtask-5.13.4}/PKG-INFO +6 -6
  2. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/BestBuy.py +235 -44
  3. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToPg.py +124 -14
  4. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileRead.py +8 -3
  5. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PlanogramCompliance.py +61 -3
  6. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SchedulingVisits.py +3 -3
  7. flowtask-5.13.4/flowtask/documentation/generated/components/BestBuy.doc.json +80 -0
  8. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/index.json +271 -266
  9. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/compress.py +2 -2
  10. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/copy_to.py +12 -0
  11. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/file_base.py +8 -1
  12. flowtask-5.13.4/flowtask/utils/bestbuy_greedy.py +531 -0
  13. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/version.py +1 -1
  14. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/PKG-INFO +6 -6
  15. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/SOURCES.txt +1 -0
  16. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/requires.txt +4 -4
  17. {flowtask-5.13.2 → flowtask-5.13.4}/pyproject.toml +5 -5
  18. flowtask-5.13.2/flowtask/utils/bestbuy_greedy.py +0 -256
  19. {flowtask-5.13.2 → flowtask-5.13.4}/CONTRIBUTING.md +0 -0
  20. {flowtask-5.13.2 → flowtask-5.13.4}/INSTALL +0 -0
  21. {flowtask-5.13.2 → flowtask-5.13.4}/LICENSE +0 -0
  22. {flowtask-5.13.2 → flowtask-5.13.4}/MANIFEST.in +0 -0
  23. {flowtask-5.13.2 → flowtask-5.13.4}/README.md +0 -0
  24. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/__init__.py +0 -0
  25. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/__main__.py +0 -0
  26. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/_version.py +0 -0
  27. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/bots/__init__.py +0 -0
  28. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/bots/check.py +0 -0
  29. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/bots/codebot.py +0 -0
  30. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ASPX.py +0 -0
  31. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ATT.py +0 -0
  32. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/AddDataset.py +0 -0
  33. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Amazon.py +0 -0
  34. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/AutoTask.py +0 -0
  35. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Azure.py +0 -0
  36. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/AzureUsers.py +0 -0
  37. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/BaseAction.py +0 -0
  38. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/BaseLoop.py +0 -0
  39. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CSVToGCS.py +0 -0
  40. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CallAnalysis.py +0 -0
  41. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CallSummary.py +0 -0
  42. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CensusData.py +0 -0
  43. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CensusVariables.py +0 -0
  44. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/__init__.py +0 -0
  45. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/__init__.py +0 -0
  46. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/base.py +0 -0
  47. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/explorium.py +0 -0
  48. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/leadiq.py +0 -0
  49. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/rocket.py +0 -0
  50. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/siccode.py +0 -0
  51. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/visualvisitor.py +0 -0
  52. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/parsers/zoominfo.py +0 -0
  53. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CompanyScraper/scrapper.py +0 -0
  54. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyFromBase.py +0 -0
  55. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyFromS3.py +0 -0
  56. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyFromSharepoint.py +0 -0
  57. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyTo.py +0 -0
  58. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToBigQuery.py +0 -0
  59. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToFileBase.py +0 -0
  60. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToMongoDB.py +0 -0
  61. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToRethink.py +0 -0
  62. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToS3.py +0 -0
  63. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CopyToSharepoint.py +0 -0
  64. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Costco.py +0 -0
  65. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateGCSBucket.py +0 -0
  66. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/CreateReport.py +0 -0
  67. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/__init__.py +0 -0
  68. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/charts/__init__.py +0 -0
  69. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/charts/bar.py +0 -0
  70. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/charts/base.py +0 -0
  71. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/charts/pie.py +0 -0
  72. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CreateReport/utils.py +0 -0
  73. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/CustomerSatisfaction.py +0 -0
  74. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DataInput.py +0 -0
  75. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DateList.py +0 -0
  76. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DbClient.py +0 -0
  77. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DialPad.py +0 -0
  78. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DispatchMe.py +0 -0
  79. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DocumentDBQuery.py +0 -0
  80. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFrom.py +0 -0
  81. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromD2L.py +0 -0
  82. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromFTP.py +0 -0
  83. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromGamma.py +0 -0
  84. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromGoogleDrive.py +0 -0
  85. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromIMAP.py +0 -0
  86. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromS3.py +0 -0
  87. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromSFTP.py +0 -0
  88. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromSharepoint.py +0 -0
  89. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromSmartSheet.py +0 -0
  90. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadFromSmartsheet.py +0 -0
  91. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DownloadS3File.py +0 -0
  92. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Dummy.py +0 -0
  93. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/DuplicatePhoto.py +0 -0
  94. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/EmployeeEvaluation.py +0 -0
  95. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ExecuteSQL.py +0 -0
  96. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ExtractHTML.py +0 -0
  97. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ExtractTranscript.py +0 -0
  98. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileBase.py +0 -0
  99. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileCopy.py +0 -0
  100. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileDelete.py +0 -0
  101. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileExists.py +0 -0
  102. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileIteratorDelete.py +0 -0
  103. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileList.py +0 -0
  104. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileOpen.py +0 -0
  105. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FileRename.py +0 -0
  106. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FilterIf.py +0 -0
  107. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FilterRows/FilterRows.py +0 -0
  108. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FilterRows/__init__.py +0 -0
  109. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/FilterRows/functions.py +0 -0
  110. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GCSToBigQuery.py +0 -0
  111. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GenData.py +0 -0
  112. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GoogleA4.py +0 -0
  113. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GoogleGeoCoding.py +0 -0
  114. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GooglePlaces.py +0 -0
  115. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/GoogleSearch.py +0 -0
  116. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/HTTPClient.py +0 -0
  117. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ICIMS.py +0 -0
  118. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/IF.py +0 -0
  119. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/IcimsFolderCopy.py +0 -0
  120. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ImageFeatures/__init__.py +0 -0
  121. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ImageFeatures/process.py +0 -0
  122. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/IteratorBase.py +0 -0
  123. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/LeadIQ.py +0 -0
  124. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Loop.py +0 -0
  125. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Lowes.py +0 -0
  126. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MS365Usage.py +0 -0
  127. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MSTeamsMessages.py +0 -0
  128. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MarkdownMaker.py +0 -0
  129. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MarketClustering.py +0 -0
  130. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MergeFileList.py +0 -0
  131. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MergeFiles.py +0 -0
  132. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/MilvusOutput.py +0 -0
  133. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NearByStores.py +0 -0
  134. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/__init__.py +0 -0
  135. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/__init__.py +0 -0
  136. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/abstract.py +0 -0
  137. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/account.py +0 -0
  138. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/client.py +0 -0
  139. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/district.py +0 -0
  140. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/events.py +0 -0
  141. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/forms.py +0 -0
  142. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/market.py +0 -0
  143. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/organization.py +0 -0
  144. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/photos.py +0 -0
  145. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/project.py +0 -0
  146. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/region.py +0 -0
  147. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/store.py +0 -0
  148. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/models/user.py +0 -0
  149. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinja/router.py +0 -0
  150. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NetworkNinjaClaims.py +0 -0
  151. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NextStopAgent.py +0 -0
  152. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/NextTask.py +0 -0
  153. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Odoo.py +0 -0
  154. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OdooInjector.py +0 -0
  155. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenFromXML.py +0 -0
  156. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenStreetMap.py +0 -0
  157. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenWeather.py +0 -0
  158. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenWithBase.py +0 -0
  159. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/OpenWithPandas.py +0 -0
  160. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PDFGenerator.py +0 -0
  161. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PGPDecrypt.py +0 -0
  162. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PandasIterator.py +0 -0
  163. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PandasToFile.py +0 -0
  164. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PandasToPowerPoint.py +0 -0
  165. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Paradox.py +0 -0
  166. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParamIterator.py +0 -0
  167. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotAgent.py +0 -0
  168. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotKnowledgeBuilder/__init__.py +0 -0
  169. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotKnowledgeBuilder/loader.py +0 -0
  170. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotKnowledgeBuilder/payload.py +0 -0
  171. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotLoader/__init__.py +0 -0
  172. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParrotLoader/loader.py +0 -0
  173. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ParseHTML.py +0 -0
  174. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PgVectorOutput.py +0 -0
  175. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PlacerStores.py +0 -0
  176. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PodcastMaker.py +0 -0
  177. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Pokemon.py +0 -0
  178. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PositiveBot.py +0 -0
  179. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PowerPointSlide.py +0 -0
  180. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/PrintMessage.py +0 -0
  181. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/__init__.py +0 -0
  182. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/parsers/__init__.py +0 -0
  183. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/parsers/base.py +0 -0
  184. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/parsers/bestbuy.py +0 -0
  185. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/parsers/lowes.py +0 -0
  186. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompetitors/scrapper.py +0 -0
  187. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductCompliant.py +0 -0
  188. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/__init__.py +0 -0
  189. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/__init__.py +0 -0
  190. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/base.py +0 -0
  191. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/brother.py +0 -0
  192. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/canon.py +0 -0
  193. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/epson.py +0 -0
  194. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/hp.py +0 -0
  195. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/parsers/samsung.py +0 -0
  196. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductInfo/scraper.py +0 -0
  197. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductPricing.py +0 -0
  198. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ProductReportBot.py +0 -0
  199. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QS.py +0 -0
  200. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QSBase.py +0 -0
  201. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QueryIterator.py +0 -0
  202. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QueryToInsert.py +0 -0
  203. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/QueryToPandas.py +0 -0
  204. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/RESTClient.py +0 -0
  205. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/RethinkDBQuery.py +0 -0
  206. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Rsync.py +0 -0
  207. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/RunSSH.py +0 -0
  208. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/RunShell.py +0 -0
  209. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SAPExtraction.py +0 -0
  210. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SMSAnalysis.py +0 -0
  211. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SMSSummary.py +0 -0
  212. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SalesForce.py +0 -0
  213. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Sassie.py +0 -0
  214. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SaveImageBank/__init__.py +0 -0
  215. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ScrapPage.py +0 -0
  216. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ScrapSearch.py +0 -0
  217. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ScrapTool.py +0 -0
  218. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SearchQuery.py +0 -0
  219. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendEmail.py +0 -0
  220. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/__init__.py +0 -0
  221. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/component.py +0 -0
  222. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/models/__init__.py +0 -0
  223. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/models/abstract.py +0 -0
  224. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SendNotify/models/zoom.py +0 -0
  225. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SentimentAnalysis.py +0 -0
  226. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/__init__.py +0 -0
  227. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/__init__.py +0 -0
  228. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/base.py +0 -0
  229. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/costco.py +0 -0
  230. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/tractor_supply.py +0 -0
  231. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/retailers/verizon.py +0 -0
  232. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScraperStores/scraper.py +0 -0
  233. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/__init__.py +0 -0
  234. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/parsers/__init__.py +0 -0
  235. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/parsers/base.py +0 -0
  236. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/parsers/costco.py +0 -0
  237. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ServiceScrapper/scrapper.py +0 -0
  238. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SetVariables.py +0 -0
  239. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SplitPDF.py +0 -0
  240. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Staples.py +0 -0
  241. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SubTask.py +0 -0
  242. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SuiteCRM.py +0 -0
  243. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SweetSpotScore/__init__.py +0 -0
  244. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SweetSpotScore/component.py +0 -0
  245. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/SweetSpotScore/layers.py +0 -0
  246. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Switch.py +0 -0
  247. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableBase.py +0 -0
  248. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableDelete.py +0 -0
  249. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableInput.py +0 -0
  250. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableOutput/TableOutput.py +0 -0
  251. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableOutput/__init__.py +0 -0
  252. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TableSchema.py +0 -0
  253. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Target.py +0 -0
  254. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ThumbnailGenerator.py +0 -0
  255. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ToPandas.py +0 -0
  256. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TransformRows/TransformRows.py +0 -0
  257. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TransformRows/__init__.py +0 -0
  258. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TransformRows/functions.py +0 -0
  259. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/TransposeRows.py +0 -0
  260. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UPCDatabase.py +0 -0
  261. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UnGzip.py +0 -0
  262. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Uncompress.py +0 -0
  263. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UniqueRows.py +0 -0
  264. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Unzip.py +0 -0
  265. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UpdateOperationalVars.py +0 -0
  266. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UploadTo.py +0 -0
  267. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UploadToS3.py +0 -0
  268. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UploadToSFTP.py +0 -0
  269. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UploadToSharepoint.py +0 -0
  270. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/UserFunc.py +0 -0
  271. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/VideoUnderstanding.py +0 -0
  272. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/VivaTracker.py +0 -0
  273. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/WSDLClient.py +0 -0
  274. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Wait.py +0 -0
  275. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Walmart.py +0 -0
  276. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/__init__.py +0 -0
  277. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/__init__.py +0 -0
  278. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/applicant.py +0 -0
  279. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/candidate.py +0 -0
  280. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/cost_center.py +0 -0
  281. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/custom_punch_field_report.py +0 -0
  282. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/job_posting.py +0 -0
  283. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/job_posting_site.py +0 -0
  284. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/job_requisition.py +0 -0
  285. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/location.py +0 -0
  286. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/location_hierarchy_assignments.py +0 -0
  287. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/organizations.py +0 -0
  288. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/reference.py +0 -0
  289. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/time_block.py +0 -0
  290. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/time_off_balance.py +0 -0
  291. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/time_request.py +0 -0
  292. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/models/worker.py +0 -0
  293. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/__init__.py +0 -0
  294. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/applicant_parsers.py +0 -0
  295. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/candidate_parsers.py +0 -0
  296. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/cost_center_parsers.py +0 -0
  297. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/custom_punch_field_report_parsers.py +0 -0
  298. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/job_posting_parsers.py +0 -0
  299. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/job_posting_site_parsers.py +0 -0
  300. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/job_requisition_parsers.py +0 -0
  301. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/location_hierarchy_assignments_parsers.py +0 -0
  302. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/location_parsers.py +0 -0
  303. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/organization_parsers.py +0 -0
  304. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/reference_parsers.py +0 -0
  305. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/time_block_parsers.py +0 -0
  306. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/time_off_balance_parsers.py +0 -0
  307. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/time_request_parsers.py +0 -0
  308. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/parsers/worker_parsers.py +0 -0
  309. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/__init__.py +0 -0
  310. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/applicants.py +0 -0
  311. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/base.py +0 -0
  312. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/candidates.py +0 -0
  313. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/cost_centers.py +0 -0
  314. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/custom_punch_field_report.py +0 -0
  315. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/custom_punch_field_report_rest.py +0 -0
  316. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/custom_report.py +0 -0
  317. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/job_posting_sites.py +0 -0
  318. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/job_postings.py +0 -0
  319. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/job_requisitions.py +0 -0
  320. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/location_hierarchy_assignments.py +0 -0
  321. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/locations.py +0 -0
  322. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/organization_single.py +0 -0
  323. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/organizations.py +0 -0
  324. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/recruiting_agency_users.py +0 -0
  325. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/references.py +0 -0
  326. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/time_block_report.py +0 -0
  327. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/time_blocks.py +0 -0
  328. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/time_off_balances.py +0 -0
  329. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/time_requests.py +0 -0
  330. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/types/workers.py +0 -0
  331. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/utils/__init__.py +0 -0
  332. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/utils/utils.py +0 -0
  333. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workday/workday.py +0 -0
  334. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/WorkdayReport.py +0 -0
  335. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Workplace.py +0 -0
  336. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/XMLToPandas.py +0 -0
  337. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Zammad/__init__.py +0 -0
  338. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Zammad/models.py +0 -0
  339. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/Zoom.py +0 -0
  340. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ZoomInfoScraper.py +0 -0
  341. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/ZoomUs.py +0 -0
  342. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/__init__.py +0 -0
  343. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/__init__.py +0 -0
  344. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/cache.py +0 -0
  345. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/fetch.py +0 -0
  346. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/resolver.py +0 -0
  347. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/_census/transform.py +0 -0
  348. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/abstract.py +0 -0
  349. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/flow.py +0 -0
  350. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/gendata/__init__.py +0 -0
  351. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/gendata/date_sequence.py +0 -0
  352. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/gendata/static_list.py +0 -0
  353. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/google.py +0 -0
  354. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/group.py +0 -0
  355. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/pandas_io.py +0 -0
  356. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/py.typed +0 -0
  357. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/reviewscrap.py +0 -0
  358. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tAddTotalRow.py +0 -0
  359. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tAutoincrement.py +0 -0
  360. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tConcat.py +0 -0
  361. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tConditionalMultiply.py +0 -0
  362. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tCrosstab.py +0 -0
  363. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tDictKey.py +0 -0
  364. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tDiff.py +0 -0
  365. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tExplode.py +0 -0
  366. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tFilter.py +0 -0
  367. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tFilterCommonValues.py +0 -0
  368. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tFlatten.py +0 -0
  369. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tFrequencyWeights.py +0 -0
  370. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tGroup.py +0 -0
  371. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tJoin.py +0 -0
  372. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMap/__init__.py +0 -0
  373. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMap/functions.py +0 -0
  374. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMap/tMap.py +0 -0
  375. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMelt.py +0 -0
  376. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tMerge.py +0 -0
  377. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tOrder.py +0 -0
  378. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tPandas.py +0 -0
  379. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tPivot.py +0 -0
  380. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tPluckCols.py +0 -0
  381. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/tUnnest.py +0 -0
  382. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/components/user.py +0 -0
  383. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/conf.py +0 -0
  384. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/__init__.py +0 -0
  385. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/categories.json +0 -0
  386. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/cli.py +0 -0
  387. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ASPX.doc.json +0 -0
  388. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/AddDataset.doc.json +0 -0
  389. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/AutoTask.doc.json +0 -0
  390. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/AzureUsers.doc.json +0 -0
  391. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CallAnalysis.doc.json +0 -0
  392. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CallSummary.doc.json +0 -0
  393. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CompanyScraper.doc.json +0 -0
  394. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyFromS3.doc.json +0 -0
  395. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyFromSharepoint.doc.json +0 -0
  396. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToBigQuery.doc.json +0 -0
  397. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToMongoDB.doc.json +0 -0
  398. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToPg.doc.json +0 -0
  399. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToRethink.doc.json +0 -0
  400. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToS3.doc.json +0 -0
  401. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CopyToSharepoint.doc.json +0 -0
  402. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CreateReport.doc.json +0 -0
  403. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/CustomerSatisfaction.doc.json +0 -0
  404. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DataInput.doc.json +0 -0
  405. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DateList.doc.json +0 -0
  406. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DialPad.doc.json +0 -0
  407. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromD2L.doc.json +0 -0
  408. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromFTP.doc.json +0 -0
  409. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromIMAP.doc.json +0 -0
  410. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromS3.doc.json +0 -0
  411. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromSFTP.doc.json +0 -0
  412. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromSharepoint.doc.json +0 -0
  413. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromSmartSheet.doc.json +0 -0
  414. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/DownloadFromSmartsheet.doc.json +0 -0
  415. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/EmployeeEvaluation.doc.json +0 -0
  416. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ExecuteSQL.doc.json +0 -0
  417. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ExtractTranscript.doc.json +0 -0
  418. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileCopy.doc.json +0 -0
  419. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileDelete.doc.json +0 -0
  420. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileExists.doc.json +0 -0
  421. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileIteratorDelete.doc.json +0 -0
  422. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileList.doc.json +0 -0
  423. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileOpen.doc.json +0 -0
  424. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileRead.doc.json +0 -0
  425. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FileRename.doc.json +0 -0
  426. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FilterIf.doc.json +0 -0
  427. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/FilterRows.doc.json +0 -0
  428. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/GoogleA4.doc.json +0 -0
  429. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/GoogleGeoCoding.doc.json +0 -0
  430. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/GoogleSearch.doc.json +0 -0
  431. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/HTTPClient.doc.json +0 -0
  432. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ICIMS.doc.json +0 -0
  433. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/IteratorBase.doc.json +0 -0
  434. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/LeadIQ.doc.json +0 -0
  435. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/MS365Usage.doc.json +0 -0
  436. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/MSTeamsMessages.doc.json +0 -0
  437. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/MergeFileList.doc.json +0 -0
  438. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/MergeFiles.doc.json +0 -0
  439. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/NetworkNinjaClaims.doc.json +0 -0
  440. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/NextTask.doc.json +0 -0
  441. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Odoo.doc.json +0 -0
  442. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/OdooInjector.doc.json +0 -0
  443. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/OpenFromXML.doc.json +0 -0
  444. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/OpenWithBase.doc.json +0 -0
  445. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/OpenWithPandas.doc.json +0 -0
  446. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PGPDecrypt.doc.json +0 -0
  447. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PandasIterator.doc.json +0 -0
  448. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PandasToFile.doc.json +0 -0
  449. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Paradox.doc.json +0 -0
  450. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ParamIterator.doc.json +0 -0
  451. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ParrotAgent.doc.json +0 -0
  452. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PlacerStores.doc.json +0 -0
  453. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PlanogramCompliance.doc.json +0 -0
  454. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Pokemon.doc.json +0 -0
  455. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PositiveBot.doc.json +0 -0
  456. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PowerPointSlide.doc.json +0 -0
  457. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/PrintMessage.doc.json +0 -0
  458. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ProductCompliant.doc.json +0 -0
  459. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ProductPricing.doc.json +0 -0
  460. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ProductReportBot.doc.json +0 -0
  461. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/QS.doc.json +0 -0
  462. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/QueryIterator.doc.json +0 -0
  463. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/QueryToInsert.doc.json +0 -0
  464. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/QueryToPandas.doc.json +0 -0
  465. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/RESTClient.doc.json +0 -0
  466. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/RunShell.doc.json +0 -0
  467. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SAPExtraction.doc.json +0 -0
  468. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Sassie.doc.json +0 -0
  469. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ScrapTool.doc.json +0 -0
  470. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SearchQuery.doc.json +0 -0
  471. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SendNotify.doc.json +0 -0
  472. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SentimentAnalysis.doc.json +0 -0
  473. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ServiceScraperStores.doc.json +0 -0
  474. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ServiceScrapper.doc.json +0 -0
  475. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SetVariables.doc.json +0 -0
  476. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SplitPDF.doc.json +0 -0
  477. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SubTask.doc.json +0 -0
  478. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/SuiteCRM.doc.json +0 -0
  479. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TableDelete.doc.json +0 -0
  480. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TableInput.doc.json +0 -0
  481. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TableOutput.doc.json +0 -0
  482. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TableSchema.doc.json +0 -0
  483. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ThumbnailGenerator.doc.json +0 -0
  484. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TransformRows.doc.json +0 -0
  485. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/TransposeRows.doc.json +0 -0
  486. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UnGzip.doc.json +0 -0
  487. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Uncompress.doc.json +0 -0
  488. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UniqueRows.doc.json +0 -0
  489. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Unzip.doc.json +0 -0
  490. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UploadToS3.doc.json +0 -0
  491. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UploadToSFTP.doc.json +0 -0
  492. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UploadToSharepoint.doc.json +0 -0
  493. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/UserFunc.doc.json +0 -0
  494. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/Zoom.doc.json +0 -0
  495. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/ZoomInfoScraper.doc.json +0 -0
  496. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tAutoincrement.doc.json +0 -0
  497. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tConcat.doc.json +0 -0
  498. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tConditionalMultiply.doc.json +0 -0
  499. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tCrosstab.doc.json +0 -0
  500. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tDictKey.doc.json +0 -0
  501. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tDiff.doc.json +0 -0
  502. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tExplode.doc.json +0 -0
  503. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tFilter.doc.json +0 -0
  504. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tFilterCommonValues.doc.json +0 -0
  505. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tFlatten.doc.json +0 -0
  506. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tFrequencyWeights.doc.json +0 -0
  507. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tGroup.doc.json +0 -0
  508. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tJoin.doc.json +0 -0
  509. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tMap.doc.json +0 -0
  510. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tMelt.doc.json +0 -0
  511. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tOrder.doc.json +0 -0
  512. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tPivot.doc.json +0 -0
  513. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tPluckCols.doc.json +0 -0
  514. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generated/components/tUnnest.doc.json +0 -0
  515. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/generator.py +0 -0
  516. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/models.py +0 -0
  517. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/parser.py +0 -0
  518. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/schema.py +0 -0
  519. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/documentation/toolkit.py +0 -0
  520. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/download.py +0 -0
  521. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/__init__.py +0 -0
  522. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/__init__.py +0 -0
  523. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/abstract.py +0 -0
  524. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/alerts/__init__.py +0 -0
  525. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/alerts/colfunctions.py +0 -0
  526. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/alerts/functions.py +0 -0
  527. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/dummy.py +0 -0
  528. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/exec.py +0 -0
  529. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/file/__init__.py +0 -0
  530. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/file/base.py +0 -0
  531. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/file/copy.py +0 -0
  532. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/file/delete.py +0 -0
  533. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/interfaces/__init__.py +0 -0
  534. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/interfaces/client.py +0 -0
  535. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/interfaces/credentials.py +0 -0
  536. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/interfaces/notifications.py +0 -0
  537. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/jira.py +0 -0
  538. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/log.py +0 -0
  539. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/logerr.py +0 -0
  540. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/notify.py +0 -0
  541. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/notify_event.py +0 -0
  542. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/publish.py +0 -0
  543. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/sendfile.py +0 -0
  544. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/task.py +0 -0
  545. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/teams.py +0 -0
  546. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/events/webhook.py +0 -0
  547. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/events/manager.py +0 -0
  548. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/exceptions.py +0 -0
  549. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/__init__.py +0 -0
  550. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/base.py +0 -0
  551. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/docker.py +0 -0
  552. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/events.py +0 -0
  553. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/exceptions.py +0 -0
  554. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/k8s.py +0 -0
  555. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/local.py +0 -0
  556. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/models.py +0 -0
  557. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/publish.py +0 -0
  558. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/qworker.py +0 -0
  559. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/registry.py +0 -0
  560. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/executors/resolver.py +0 -0
  561. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/extensions/__init__.py +0 -0
  562. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/extensions/abstract.py +0 -0
  563. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/extensions/component_docs.py +0 -0
  564. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/extensions/logging/__init__.py +0 -0
  565. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/__init__.py +0 -0
  566. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/agent.py +0 -0
  567. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/composer.py +0 -0
  568. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/parser.py +0 -0
  569. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/factory/validator.py +0 -0
  570. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/handlers/__init__.py +0 -0
  571. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/handlers/component.py +0 -0
  572. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/__init__.py +0 -0
  573. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/__init__.py +0 -0
  574. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/abstract.py +0 -0
  575. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/dummy.py +0 -0
  576. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/jira.py +0 -0
  577. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/rest.py +0 -0
  578. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/sampledata.py +0 -0
  579. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/sensor.py +0 -0
  580. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/task.py +0 -0
  581. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/ticket.py +0 -0
  582. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/zammad.py +0 -0
  583. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/actions/zoom_event.py +0 -0
  584. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/hook.py +0 -0
  585. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/models.py +0 -0
  586. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/service.py +0 -0
  587. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/step.py +0 -0
  588. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/__init__.py +0 -0
  589. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/base.py +0 -0
  590. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/__init__.py +0 -0
  591. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/base.py +0 -0
  592. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/mqtt.py +0 -0
  593. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/rabbitmq.py +0 -0
  594. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/redis.py +0 -0
  595. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/brokers/sqs.py +0 -0
  596. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/fs.py +0 -0
  597. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/http.py +0 -0
  598. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/imap.py +0 -0
  599. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/jira.py +0 -0
  600. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/mail.py +0 -0
  601. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/postgres.py +0 -0
  602. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/responses/__init__.py +0 -0
  603. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/responses/base.py +0 -0
  604. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/sharepoint.py +0 -0
  605. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/ssh.py +0 -0
  606. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/tagged.py +0 -0
  607. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/upload.py +0 -0
  608. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/watch.py +0 -0
  609. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/web.py +0 -0
  610. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/hooks/types/zoom.py +0 -0
  611. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/AzureClient.py +0 -0
  612. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/AzureGraph.py +0 -0
  613. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/Boto3Client.py +0 -0
  614. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/DropboxClient.py +0 -0
  615. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ExcelHandler.py +0 -0
  616. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/FTPClient.py +0 -0
  617. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleCalendar.py +0 -0
  618. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleClient.py +0 -0
  619. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleDrive.py +0 -0
  620. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleGCS.py +0 -0
  621. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleGeocoding.py +0 -0
  622. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleLang.py +0 -0
  623. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GooglePub.py +0 -0
  624. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleReverseGeocoding.py +0 -0
  625. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/GoogleSheet.py +0 -0
  626. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/IMAPClient.py +0 -0
  627. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/LLMClient.py +0 -0
  628. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/NominatimGeocoding.py +0 -0
  629. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/O365Calendar.py +0 -0
  630. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/O365Client.py +0 -0
  631. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/OneDrive.py +0 -0
  632. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/Outlook.py +0 -0
  633. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/OverpassGeocoding.py +0 -0
  634. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ParrotBot.py +0 -0
  635. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ParrotTool.py +0 -0
  636. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ReverseGeocoding.py +0 -0
  637. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/SOAPClient.py +0 -0
  638. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/SSHClient.py +0 -0
  639. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/Sharepoint.py +0 -0
  640. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/__init__.py +0 -0
  641. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/abstract.py +0 -0
  642. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/azure_component.py +0 -0
  643. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/azureauth.py +0 -0
  644. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/base_action.py +0 -0
  645. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/base_loop.py +0 -0
  646. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/cache.py +0 -0
  647. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/client.py +0 -0
  648. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/copy_from_base.py +0 -0
  649. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/copy_to_file_base.py +0 -0
  650. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/credentials.py +0 -0
  651. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/d2l.py +0 -0
  652. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/databases/__init__.py +0 -0
  653. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/databases/db.py +0 -0
  654. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/databases/documentdb.py +0 -0
  655. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/databases/rethink.py +0 -0
  656. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/__init__.py +0 -0
  657. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/abstract.py +0 -0
  658. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/arrow.py +0 -0
  659. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/dt.py +0 -0
  660. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/pandas.py +0 -0
  661. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/dataframes/polars.py +0 -0
  662. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/db.py +0 -0
  663. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/db_client.py +0 -0
  664. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/download_from.py +0 -0
  665. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/env.py +0 -0
  666. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/flow.py +0 -0
  667. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/func.py +0 -0
  668. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/gamma.py +0 -0
  669. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/google_base.py +0 -0
  670. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/group.py +0 -0
  671. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/http.py +0 -0
  672. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/locale.py +0 -0
  673. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/log.py +0 -0
  674. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/mask.py +0 -0
  675. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/notification.py +0 -0
  676. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/parrot/__init__.py +0 -0
  677. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/parrot/agent.py +0 -0
  678. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/parrot/client.py +0 -0
  679. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/parrot/config.py +0 -0
  680. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/pipelines/__init__.py +0 -0
  681. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/pipelines/parrot.py +0 -0
  682. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/playwright.py +0 -0
  683. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/powerpoint.py +0 -0
  684. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/ppt.py +0 -0
  685. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/py.typed +0 -0
  686. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/qs.py +0 -0
  687. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/qs_base.py +0 -0
  688. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/result.py +0 -0
  689. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/routing.py +0 -0
  690. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/sassie.py +0 -0
  691. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/__init__.py +0 -0
  692. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/abstract.py +0 -0
  693. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/engine.py +0 -0
  694. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/extractors/__init__.py +0 -0
  695. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/extractors/count.py +0 -0
  696. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/extractors/gravity.py +0 -0
  697. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/extractors/nearest.py +0 -0
  698. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/models.py +0 -0
  699. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/service.py +0 -0
  700. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/scoring/spatial.py +0 -0
  701. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/search.py +0 -0
  702. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/selenium/__init__.py +0 -0
  703. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/selenium/options.py +0 -0
  704. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/selenium/service.py +0 -0
  705. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/selenium_service.py +0 -0
  706. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/skip_policy.py +0 -0
  707. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/smartsheet.py +0 -0
  708. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/stat.py +0 -0
  709. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/t_pandas.py +0 -0
  710. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/table_base.py +0 -0
  711. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/task.py +0 -0
  712. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/teams.py +0 -0
  713. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/template.py +0 -0
  714. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/tickets.py +0 -0
  715. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/upload_to.py +0 -0
  716. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/user.py +0 -0
  717. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/vectorstores/__init__.py +0 -0
  718. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/vectorstores/abstract.py +0 -0
  719. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/vectorstores/milvus.py +0 -0
  720. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/__init__.py +0 -0
  721. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/config.py +0 -0
  722. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/__init__.py +0 -0
  723. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/applicants.py +0 -0
  724. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/base.py +0 -0
  725. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/candidates.py +0 -0
  726. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/cost_centers.py +0 -0
  727. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/custom_punch_field_report.py +0 -0
  728. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/custom_punch_field_report_rest.py +0 -0
  729. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/custom_report.py +0 -0
  730. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/import_reported_time_blocks.py +0 -0
  731. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/import_time_clock_events.py +0 -0
  732. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/job_posting_sites.py +0 -0
  733. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/job_postings.py +0 -0
  734. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/job_requisitions.py +0 -0
  735. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/location_hierarchy_assignments.py +0 -0
  736. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/locations.py +0 -0
  737. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/organization_single.py +0 -0
  738. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/organizations.py +0 -0
  739. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/put_time_clock_events.py +0 -0
  740. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/recruiting_agency_users.py +0 -0
  741. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/references.py +0 -0
  742. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/time_block_report.py +0 -0
  743. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/time_blocks.py +0 -0
  744. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/time_off_balances.py +0 -0
  745. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/time_requests.py +0 -0
  746. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/handlers/workers.py +0 -0
  747. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/__init__.py +0 -0
  748. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/applicant.py +0 -0
  749. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/candidate.py +0 -0
  750. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/clock_event.py +0 -0
  751. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/cost_center.py +0 -0
  752. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/custom_punch_field_report.py +0 -0
  753. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/job_posting.py +0 -0
  754. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/job_posting_site.py +0 -0
  755. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/job_requisition.py +0 -0
  756. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/location.py +0 -0
  757. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/location_hierarchy_assignments.py +0 -0
  758. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/organizations.py +0 -0
  759. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/reference.py +0 -0
  760. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/time_block.py +0 -0
  761. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/time_off_balance.py +0 -0
  762. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/time_request.py +0 -0
  763. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/models/worker.py +0 -0
  764. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/__init__.py +0 -0
  765. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/applicant_parsers.py +0 -0
  766. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/candidate_parsers.py +0 -0
  767. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/cost_center_parsers.py +0 -0
  768. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/custom_punch_field_report_parsers.py +0 -0
  769. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/job_posting_parsers.py +0 -0
  770. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/job_posting_site_parsers.py +0 -0
  771. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/job_requisition_parsers.py +0 -0
  772. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/location_hierarchy_assignments_parsers.py +0 -0
  773. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/location_parsers.py +0 -0
  774. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/organization_parsers.py +0 -0
  775. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/reference_parsers.py +0 -0
  776. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/time_block_parsers.py +0 -0
  777. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/time_off_balance_parsers.py +0 -0
  778. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/time_request_parsers.py +0 -0
  779. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/parsers/worker_parsers.py +0 -0
  780. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/rest.py +0 -0
  781. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/service.py +0 -0
  782. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/utils/__init__.py +0 -0
  783. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/workday/utils/utils.py +0 -0
  784. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/zammad.py +0 -0
  785. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/interfaces/zoom.py +0 -0
  786. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/models.py +0 -0
  787. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/__init__.py +0 -0
  788. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/_yaml.pyx +0 -0
  789. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/argparser.py +0 -0
  790. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/base.pxd +0 -0
  791. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/base.pyx +0 -0
  792. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/json.pyx +0 -0
  793. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/maps.py +0 -0
  794. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/__init__.py +0 -0
  795. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/checker.py +0 -0
  796. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/detector.py +0 -0
  797. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/registry.py +0 -0
  798. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/report.py +0 -0
  799. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/syntax/schema.py +0 -0
  800. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/parsers/toml.pyx +0 -0
  801. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/__init__.py +0 -0
  802. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/components_/__init__.py +0 -0
  803. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/handler/__init__.py +0 -0
  804. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/importer.py +0 -0
  805. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/plugins/sources/__init__.py +0 -0
  806. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/runner.py +0 -0
  807. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/__init__.py +0 -0
  808. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/functions.py +0 -0
  809. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/handlers/__init__.py +0 -0
  810. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/handlers/manager.py +0 -0
  811. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/handlers/models.py +0 -0
  812. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/handlers/service.py +0 -0
  813. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/notifications.py +0 -0
  814. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/scheduler/scheduler.py +0 -0
  815. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/__init__.py +0 -0
  816. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/bots/__init__.py +0 -0
  817. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/bots/telegram.py +0 -0
  818. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/files/__init__.py +0 -0
  819. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/files/manager.py +0 -0
  820. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/files/model.py +0 -0
  821. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/files/service.py +0 -0
  822. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/jira/__init__.py +0 -0
  823. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/jira/jira_actions.py +0 -0
  824. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/README.md +0 -0
  825. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/__init__.py +0 -0
  826. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/changelog.py +0 -0
  827. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/handlers.py +0 -0
  828. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/health.py +0 -0
  829. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/models.py +0 -0
  830. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/service.py +0 -0
  831. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/store.py +0 -0
  832. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/templates.py +0 -0
  833. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/maintenance/windows.py +0 -0
  834. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/__init__.py +0 -0
  835. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/launcher.py +0 -0
  836. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/manager.py +0 -0
  837. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/service.py +0 -0
  838. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/task_manager.py +0 -0
  839. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/services/tasks/tasks.py +0 -0
  840. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/__init__.py +0 -0
  841. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/exceptions.py +0 -0
  842. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/files/__init__.py +0 -0
  843. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/files/abstract.py +0 -0
  844. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/files/filesystem.py +0 -0
  845. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/__init__.py +0 -0
  846. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/abstract.py +0 -0
  847. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/database.py +0 -0
  848. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/filesystem.py +0 -0
  849. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/github.py +0 -0
  850. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/memory.py +0 -0
  851. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/storages/tasks/row.py +0 -0
  852. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/__init__.py +0 -0
  853. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/abstract.py +0 -0
  854. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/chain.py +0 -0
  855. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/chainer.py +0 -0
  856. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/command.py +0 -0
  857. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/exchange.py +0 -0
  858. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/pile.py +0 -0
  859. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/py.typed +0 -0
  860. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/task.py +0 -0
  861. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tasks/workers.py +0 -0
  862. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/template/__init__.py +0 -0
  863. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/tests.py +0 -0
  864. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/types/__init__.py +0 -0
  865. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/types/typedefs.pyx +0 -0
  866. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/__init__.py +0 -0
  867. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/constants.py +0 -0
  868. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/encoders.py +0 -0
  869. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/executor.py +0 -0
  870. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/functions.pyx +0 -0
  871. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/json.pxi +0 -0
  872. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/json.pyx +0 -0
  873. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/mail.py +0 -0
  874. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/msgraph_patch.py +0 -0
  875. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/parseqs.pyx +0 -0
  876. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/stats.py +0 -0
  877. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/transformations.py +0 -0
  878. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/uv.py +0 -0
  879. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask/utils/validators.py +0 -0
  880. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/dependency_links.txt +0 -0
  881. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/entry_points.txt +0 -0
  882. {flowtask-5.13.2 → flowtask-5.13.4}/flowtask.egg-info/top_level.txt +0 -0
  883. {flowtask-5.13.2 → flowtask-5.13.4}/setup.cfg +0 -0
  884. {flowtask-5.13.2 → flowtask-5.13.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flowtask
3
- Version: 5.13.2
3
+ Version: 5.13.4
4
4
  Summary: Framework for Task orchestration
5
5
  Author-email: Jesus Lara <jesuslarag@gmail.com>
6
6
  License: Apache-2.0
@@ -22,14 +22,14 @@ Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: 3.13
23
23
  Classifier: License :: OSI Approved :: Apache Software License
24
24
  Classifier: Framework :: AsyncIO
25
- Requires-Python: <3.14,>=3.11
25
+ Requires-Python: <3.14,>=3.11.4
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  Requires-Dist: borax==3.5.0
29
29
  Requires-Dist: PyDrive==1.3.1
30
30
  Requires-Dist: chardet==5.2.0
31
31
  Requires-Dist: aiohttp-jinja2==1.6
32
- Requires-Dist: asyncssh[bcrypt,fido2,pkcs11,pyopenssl]==2.23.0
32
+ Requires-Dist: asyncssh[bcrypt,fido2,pkcs11,pyopenssl]<3,>=2.24.0
33
33
  Requires-Dist: pyxlsb==1.0.10
34
34
  Requires-Dist: python-calamine==0.2.3
35
35
  Requires-Dist: pyecharts==2.0.8
@@ -46,7 +46,7 @@ Requires-Dist: adal==1.2.7
46
46
  Requires-Dist: xlrd>=2.0.2
47
47
  Requires-Dist: xmltodict<1.0.0,>=0.14.2
48
48
  Requires-Dist: zeep[async]>=4.3.3
49
- Requires-Dist: nltk>=3.9.3
49
+ Requires-Dist: nltk>=3.10.3
50
50
  Requires-Dist: jdcal==1.4.1
51
51
  Requires-Dist: html5lib==1.1
52
52
  Requires-Dist: shapely>=2.1.2
@@ -70,7 +70,7 @@ Requires-Dist: aiofiles>=24.1.0
70
70
  Requires-Dist: filetype==1.2.0
71
71
  Requires-Dist: proxylists>=0.14.0
72
72
  Requires-Dist: aioftp==0.23.1
73
- Requires-Dist: py7zr==0.22.0
73
+ Requires-Dist: py7zr<2,>=1.1.3
74
74
  Requires-Dist: rarfile==4.2
75
75
  Requires-Dist: python-pptx==1.0.2
76
76
  Requires-Dist: google-auth>=2.35.0
@@ -101,7 +101,7 @@ Requires-Dist: pyheif==0.8.0
101
101
  Requires-Dist: filetype==1.2.0
102
102
  Requires-Dist: exif==1.6.1
103
103
  Requires-Dist: pillow-avif-plugin==1.5.2
104
- Requires-Dist: pillow-heif==0.22.0
104
+ Requires-Dist: pillow-heif<2,>=1.3.0
105
105
  Requires-Dist: pgvector==0.4.1
106
106
  Requires-Dist: proxylists>=0.14.0
107
107
  Requires-Dist: async-notify[all]>=1.4.0
@@ -35,14 +35,17 @@ from ..interfaces.flow import FlowComponent
35
35
  from ..interfaces import HTTPService, SeleniumService
36
36
  from ..interfaces.http import ua
37
37
  from ..utils.bestbuy_greedy import (
38
- NOT_ENABLED_STATES,
39
38
  CoverageMap,
40
39
  SeedCoverage,
40
+ SkuFulfillment,
41
41
  StoreAvailability,
42
42
  Target,
43
+ availability_types,
44
+ fulfillment_slice,
43
45
  greedy_next_seed,
44
46
  load_coverage,
45
47
  parse_fulfillment,
48
+ parse_sku_fulfillment,
46
49
  save_coverage,
47
50
  )
48
51
 
@@ -101,11 +104,31 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
101
104
  | storage_path | No | Directory for stored results and the default coverage file. Required when use_storage is true. |
102
105
  | chunk_size | No | Rows per processing chunk (default 100). |
103
106
  | task_parts | No | Number of task partitions (default 10). |
104
- | concurrency | No | Max concurrent requests and sticky proxy-session pool size (default 12). |
107
+ | concurrency | No | Max concurrent requests and sticky proxy-session pool size (default 6). |
105
108
  | bulk_mode | No | availability only: greedy set-cover over GraphQL nearby stores (default false = one call per row). The `enabled` column comes from the SKU button state returned with the seed call. |
106
109
  | coverage_file | No | Coverage map JSON (default <storage_path>/bestbuy_coverage.json; in-memory when unset). |
107
110
  | proxy_session_max_requests | No | Requests before a sticky proxy session is rotated (default 50). |
108
111
  | proxy_session_max_age | No | Seconds before a sticky proxy session is rotated (default 540). |
112
+ | request_timeout | No | Hard deadline in seconds for one availability request through the proxy (default 45). |
113
+ | debug_payload | No | availability only: log the full GraphQL JSON of every call; with storage_path also dump it to <storage_path>/payloads/ (default false). |
114
+
115
+ ``type: availability`` output columns (one row per store × sku). Legacy contract:
116
+ ``enabled``, ``locationId``, ``location_data``, ``availability`` (pickup ``fulfillmentType``),
117
+ ``inStoreAvailability`` / ``inStoreAvailable`` (pickup eligible AND inventory in store),
118
+ ``onShelfDisplay`` (kept for compatibility; the API has no shelf-display signal, so it stays
119
+ ``NULL`` unless the input already carries it), ``pickupEligible``,
120
+ ``availablePickupQuantity``, ``availableInStoreQuantity``, ``checked``.
121
+ Extended columns: ``availabilityTypes`` (``IN_STORE,PICKUP,SHIPPING,DELIVERY`` summary),
122
+ ``condition``; pickup detail ``pickupMinHours``, ``pickupMinDate``, ``pickupMaxDate``,
123
+ ``pickupFulfillDate``, ``pickupDisplayDateType``, ``pickupInStoreOnly``, ``pickupPreorderable``,
124
+ ``pickupBackordered``, ``pickupWhenAvailable``, ``pickupRestrictions``, ``storeDistance``;
125
+ shipping (for the request zipcode) ``shippingEligible``, ``shippingZipcode``, ``shippingBackordered``,
126
+ ``shippingInStoreOnly``, ``shippingPreorderable``, ``fulfillByVendor``, ``directToBoxEligible``,
127
+ ``shippingSameDay``, ``shippingDefaultOption``, ``shippingFastestDate``, ``shippingFastestPrice``,
128
+ ``shippingFreeDate``, ``shippingOptions`` (list of dicts); home delivery ``deliveryEligible``,
129
+ ``deliverable``, ``deliveryBackordered``, ``deliveryInStoreOnly``, ``installationEligible``;
130
+ and ``fulfillment_data``, the raw JSON slice (button states, store, pickup entry, shipping,
131
+ delivery) the columns were derived from.
109
132
 
110
133
  :consumes: dataframe
111
134
  :produces: dataframe
@@ -118,7 +141,7 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
118
141
  brand: Epson
119
142
  bulk_mode: true
120
143
  storage_path: /home/ubuntu/symbits/bestbuy/
121
- concurrency: 12
144
+ concurrency: 6
122
145
  ```
123
146
  """
124
147
  _version = "1.0.0"
@@ -183,19 +206,22 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
183
206
  "User-Agent": random.choice(ua),
184
207
  **self.headers
185
208
  }
186
- # Cap concurrent storeAvailability requests so the Oxylabs gateway
187
- # doesn't return 522 from a single residential exit IP under load.
188
- # Each request rotates to a fresh sticky session, so the bottleneck
189
- # is gateway capacity rather than per-IP load — 12 is safe and gives
190
- # roughly 3x throughput over the original semaphore=10 (which was
191
- # bottlenecked by 403s, not network capacity).
192
- self.semaphore = asyncio.Semaphore(kwargs.get('concurrency', 12))
209
+ # Cap concurrent storeAvailability requests: under load the Oxylabs
210
+ # gateway fails the CONNECT tunnel with 522 (httpx.ProxyError) when
211
+ # sticky residential exit nodes can't reach bestbuy.com. 12 produced
212
+ # those 522s in production; 6 keeps the pool smaller and steadier.
213
+ self.semaphore = asyncio.Semaphore(kwargs.get('concurrency', 6))
193
214
  # Selenium driver is not thread-safe: serialize all execute_async_script calls
194
215
  self._selenium_semaphore = asyncio.Semaphore(1)
195
216
  # FEAT-561: sticky Oxylabs session pool (K = concurrency)
196
- self._pool_size: int = kwargs.get('concurrency', 12)
217
+ self._pool_size: int = kwargs.get('concurrency', 6)
197
218
  self.proxy_session_max_requests: int = kwargs.get('proxy_session_max_requests', 50)
198
219
  self.proxy_session_max_age: float = kwargs.get('proxy_session_max_age', 540)
220
+ # Hard per-request deadline: a stalled Oxylabs CONNECT can outlive httpx's
221
+ # per-operation timeouts and freeze the sequential bulk seed loop.
222
+ self.request_timeout: float = kwargs.get('request_timeout', 45)
223
+ # Debug: dump the raw GraphQL availability payload (log + optional file)
224
+ self.debug_payload: bool = kwargs.get('debug_payload', False)
199
225
  self._session_pool: list[ProxySession] = []
200
226
  self._pool_lock = asyncio.Lock()
201
227
  self._pool_cursor: int = 0
@@ -969,11 +995,19 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
969
995
  if attempt < 3:
970
996
  continue
971
997
  return None
972
- r = await client.get(url, headers=api_headers)
998
+ r = await asyncio.wait_for(
999
+ client.get(url, headers=api_headers), timeout=self.request_timeout
1000
+ )
973
1001
  except (httpx.ConnectError, httpx.ConnectTimeout, httpx.ReadTimeout,
974
- httpx.RemoteProtocolError) as ex:
1002
+ httpx.RemoteProtocolError, httpx.ProxyError, asyncio.TimeoutError) as ex:
1003
+ # ProxyError: the Oxylabs CONNECT tunnel failed (e.g. "522 status code 522"
1004
+ # when the sticky exit node can't reach bestbuy.com) — retry on a fresh session.
975
1005
  await self._release_session(session, status=None, error=ex)
976
1006
  if attempt < 3:
1007
+ self._logger.warning(
1008
+ f"GraphQL fulfillment attempt {attempt}/3 failed for sku={sku} "
1009
+ f"store={store_id}: {ex!r}; retrying."
1010
+ )
977
1011
  await asyncio.sleep(0.5 * attempt)
978
1012
  continue
979
1013
  self._logger.warning(
@@ -989,8 +1023,15 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
989
1023
  await self._release_session(session, status=r.status_code)
990
1024
  if r.status_code == 200:
991
1025
  self._num_iterations += 1
992
- return r.json()
1026
+ payload = r.json()
1027
+ if self.debug_payload:
1028
+ await self._dump_availability_payload(payload, sku, store_id, nearby)
1029
+ return payload
993
1030
  if r.status_code in (522, 502, 503, 504) and attempt < 3:
1031
+ self._logger.warning(
1032
+ f"GraphQL fulfillment attempt {attempt}/3 for sku={sku} store={store_id}: "
1033
+ f"HTTP {r.status_code}; retrying."
1034
+ )
994
1035
  await asyncio.sleep(0.5 * attempt)
995
1036
  continue
996
1037
  if r.status_code == 403 and attempt < 3:
@@ -1005,6 +1046,36 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
1005
1046
  return None
1006
1047
  return None
1007
1048
 
1049
+ async def _dump_availability_payload(self, payload: dict, sku: str, store_id: str,
1050
+ nearby: bool) -> None:
1051
+ """Log the raw GraphQL fulfillment payload and optionally persist it to disk.
1052
+
1053
+ Enabled with ``debug_payload: true``. The full JSON is written to the logger
1054
+ and, when ``storage_path`` is configured, saved as
1055
+ ``<storage_path>/payloads/availability_<sku>_<store_id>[_nearby].json``.
1056
+
1057
+ Args:
1058
+ payload: Decoded JSON returned by ``/gateway/graphql/fulfillment``.
1059
+ sku: Product SKU of the request.
1060
+ store_id: Seed store id of the request.
1061
+ nearby: Whether the request asked for nearby stores (bulk mode seed call).
1062
+ """
1063
+ pretty = json.dumps(payload, indent=2, ensure_ascii=False, default=str)
1064
+ self._logger.info(
1065
+ f"BestBuy availability payload sku={sku} store={store_id} nearby={nearby}:\n{pretty}"
1066
+ )
1067
+ if not self.storage_path:
1068
+ return
1069
+ suffix = "_nearby" if nearby else ""
1070
+ out_dir = Path(self.storage_path).joinpath("payloads")
1071
+ out_file = out_dir.joinpath(f"availability_{sku}_{store_id}{suffix}.json")
1072
+ try:
1073
+ await asyncio.to_thread(out_dir.mkdir, parents=True, exist_ok=True)
1074
+ await asyncio.to_thread(out_file.write_text, pretty, encoding="utf-8")
1075
+ self._logger.debug(f"BestBuy: availability payload saved to {out_file}")
1076
+ except OSError as exc:
1077
+ self._logger.warning(f"BestBuy: could not save availability payload: {exc}")
1078
+
1008
1079
  def _build_oxylabs_us_proxy_url(self, sessid: str | None = None) -> Optional[str]:
1009
1080
  """Build an Oxylabs Residential URL pinned to a US sticky session.
1010
1081
 
@@ -1187,7 +1258,8 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
1187
1258
  status in (403, 429)
1188
1259
  or (status is not None and status >= 500)
1189
1260
  or isinstance(error, (
1190
- httpx.ConnectError, httpx.ConnectTimeout, httpx.RemoteProtocolError
1261
+ httpx.ConnectError, httpx.ConnectTimeout, httpx.RemoteProtocolError,
1262
+ httpx.ProxyError, asyncio.TimeoutError,
1191
1263
  ))
1192
1264
  )
1193
1265
  if burn and not session.burned:
@@ -1254,46 +1326,150 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
1254
1326
  if avail is None:
1255
1327
  self._write_unavailable(idx, result, sku)
1256
1328
  return row
1257
- self._write_row(idx, avail, brand)
1329
+ self._write_row(idx, avail, brand, parse_sku_fulfillment(result, sku))
1258
1330
  return row
1259
1331
 
1332
+ # Extended availability columns -> default value when the column is created.
1333
+ EXTENDED_AVAILABILITY_COLUMNS: dict[str, Any] = {
1334
+ 'availabilityTypes': None,
1335
+ 'condition': None,
1336
+ 'pickupMinHours': None,
1337
+ 'pickupMinDate': None,
1338
+ 'pickupMaxDate': None,
1339
+ 'pickupFulfillDate': None,
1340
+ 'pickupDisplayDateType': None,
1341
+ 'pickupInStoreOnly': None,
1342
+ 'pickupPreorderable': None,
1343
+ 'pickupBackordered': None,
1344
+ 'pickupWhenAvailable': None,
1345
+ 'pickupRestrictions': None,
1346
+ 'storeDistance': None,
1347
+ 'shippingEligible': None,
1348
+ 'shippingZipcode': None,
1349
+ 'shippingBackordered': None,
1350
+ 'shippingInStoreOnly': None,
1351
+ 'shippingPreorderable': None,
1352
+ 'fulfillByVendor': None,
1353
+ 'directToBoxEligible': None,
1354
+ 'shippingSameDay': None,
1355
+ 'shippingDefaultOption': None,
1356
+ 'shippingFastestDate': None,
1357
+ 'shippingFastestPrice': None,
1358
+ 'shippingFreeDate': None,
1359
+ 'shippingOptions': None,
1360
+ 'deliveryEligible': None,
1361
+ 'deliverable': None,
1362
+ 'deliveryBackordered': None,
1363
+ 'deliveryInStoreOnly': None,
1364
+ 'installationEligible': None,
1365
+ 'fulfillment_data': None,
1366
+ }
1367
+
1368
+ def _ensure_extended_columns(self) -> None:
1369
+ """Create any missing extended availability column (idempotent, object dtype)."""
1370
+ missing = [c for c in self.EXTENDED_AVAILABILITY_COLUMNS if c not in self.data.columns]
1371
+ for column in missing:
1372
+ self.data[column] = pd.Series(
1373
+ [self.EXTENDED_AVAILABILITY_COLUMNS[column]] * len(self.data),
1374
+ index=self.data.index, dtype=object,
1375
+ )
1376
+
1260
1377
  def _write_unavailable(self, idx: Any, data: dict, sku: str) -> None:
1261
- """No fulfillment info in the response: write only ``enabled`` + ``checked`` (legacy behaviour)."""
1262
- fo = (data.get('data') or {}).get('fulfillmentOptions') or {}
1263
- states = fo.get('buttonStates') or []
1264
- state = ''
1265
- for bs in states:
1266
- if (bs.get('skuId') or bs.get('sku')) == sku:
1267
- state = bs.get('buttonState') or ''
1268
- break
1269
- if not state and states:
1270
- state = states[0].get('buttonState') or ''
1271
- self.data.loc[idx, 'enabled'] = state not in NOT_ENABLED_STATES
1378
+ """No per-store pickup info in the response: write the SKU-level columns and ``checked``.
1379
+
1380
+ ``enabled`` still comes from the button state (legacy behaviour); shipping / delivery
1381
+ columns and ``fulfillment_data`` are filled when the payload carries them, so a
1382
+ ship-only SKU is still fully described.
1383
+ """
1384
+ info = parse_sku_fulfillment(data, sku)
1385
+ self.data.loc[idx, 'enabled'] = info.enabled
1386
+ self._write_sku_columns(idx, None, info)
1272
1387
  self.data.loc[idx, 'checked'] = True
1273
1388
 
1274
- def _write_row(self, idx: Any, avail: StoreAvailability, brand: Any) -> None:
1389
+ def _write_sku_columns(self, idx: Any, avail: StoreAvailability | None,
1390
+ info: SkuFulfillment) -> None:
1391
+ """Write the SKU-level (button state, shipping, delivery) columns plus the JSON slice.
1392
+
1393
+ Args:
1394
+ idx: DataFrame index label.
1395
+ avail: Per-store availability when known (used for the summary / JSON), else None.
1396
+ info: SKU-level fulfillment info parsed from the same response.
1397
+ """
1398
+ self._ensure_extended_columns()
1399
+ d = self.data
1400
+ types = availability_types(avail, info)
1401
+ d.at[idx, 'availabilityTypes'] = ','.join(types) if types else None
1402
+ d.at[idx, 'condition'] = (avail.condition if avail and avail.condition else None) or info.condition
1403
+ d.at[idx, 'shippingEligible'] = info.shipping_eligible
1404
+ d.at[idx, 'shippingZipcode'] = info.shipping_zipcode
1405
+ d.at[idx, 'shippingBackordered'] = info.shipping_backordered
1406
+ d.at[idx, 'shippingInStoreOnly'] = info.shipping_in_store_only
1407
+ d.at[idx, 'shippingPreorderable'] = info.shipping_preorderable
1408
+ d.at[idx, 'fulfillByVendor'] = info.fulfill_by_vendor
1409
+ d.at[idx, 'directToBoxEligible'] = info.direct_to_box_eligible
1410
+ d.at[idx, 'shippingSameDay'] = info.shipping_same_day
1411
+ d.at[idx, 'shippingDefaultOption'] = info.shipping_default_option
1412
+ d.at[idx, 'shippingFastestDate'] = info.shipping_fastest_date
1413
+ d.at[idx, 'shippingFastestPrice'] = info.shipping_fastest_price
1414
+ d.at[idx, 'shippingFreeDate'] = info.shipping_free_date
1415
+ d.at[idx, 'shippingOptions'] = (
1416
+ [o.model_dump() for o in info.shipping_options] if info.shipping_options else None
1417
+ )
1418
+ d.at[idx, 'deliveryEligible'] = info.delivery_eligible
1419
+ d.at[idx, 'deliverable'] = info.deliverable
1420
+ d.at[idx, 'deliveryBackordered'] = info.delivery_backordered
1421
+ d.at[idx, 'deliveryInStoreOnly'] = info.delivery_in_store_only
1422
+ installation = [
1423
+ x for x in (
1424
+ avail.installation_eligible if avail else None,
1425
+ info.shipping_installation_eligible,
1426
+ info.delivery_installation_eligible,
1427
+ ) if x is not None
1428
+ ]
1429
+ d.at[idx, 'installationEligible'] = any(installation) if installation else None
1430
+ d.at[idx, 'fulfillment_data'] = fulfillment_slice(avail, info)
1431
+
1432
+ def _write_row(self, idx: Any, avail: StoreAvailability, brand: Any,
1433
+ info: SkuFulfillment | None = None) -> None:
1275
1434
  """Write the output-contract columns for one DataFrame row and set checked=True.
1276
1435
 
1277
1436
  Args:
1278
1437
  idx: DataFrame index label.
1279
1438
  avail: Normalized availability for that row's (store, sku).
1280
1439
  brand: Brand value to copy into the row.
1440
+ info: SKU-level fulfillment info (button state, shipping, delivery) parsed from the
1441
+ same response. When omitted only the per-store columns are written.
1281
1442
  """
1282
1443
  is_in_store_pickup = (
1283
1444
  avail.pickup_eligible and avail.instore_inventory and avail.fulfillment_type == 'PICKUP'
1284
1445
  )
1285
- self.data.loc[idx, 'enabled'] = avail.enabled
1286
- self.data.loc[idx, 'locationId'] = avail.store.get('storeId') or avail.store_id
1287
- self.data.at[idx, 'brand'] = brand
1288
- self.data.at[idx, 'location_data'] = avail.store
1289
- self.data.loc[idx, 'availability'] = avail.fulfillment_type
1290
- self.data.loc[idx, 'inStoreAvailability'] = is_in_store_pickup
1291
- self.data.loc[idx, 'inStoreAvailable'] = is_in_store_pickup
1292
- self.data.loc[idx, 'onShelfDisplay'] = avail.instore_inventory
1293
- self.data.loc[idx, 'pickupEligible'] = avail.pickup_eligible
1294
- self.data.loc[idx, 'availablePickupQuantity'] = avail.quantity if avail.pickup_eligible else 0
1295
- self.data.loc[idx, 'availableInStoreQuantity'] = avail.quantity if is_in_store_pickup else 0
1296
- self.data.loc[idx, 'checked'] = True
1446
+ self._ensure_extended_columns()
1447
+ d = self.data
1448
+ d.loc[idx, 'enabled'] = avail.enabled
1449
+ d.loc[idx, 'locationId'] = avail.store.get('storeId') or avail.store_id
1450
+ d.at[idx, 'brand'] = brand
1451
+ d.at[idx, 'location_data'] = avail.store
1452
+ d.loc[idx, 'availability'] = avail.fulfillment_type
1453
+ d.loc[idx, 'inStoreAvailability'] = is_in_store_pickup
1454
+ d.loc[idx, 'inStoreAvailable'] = is_in_store_pickup
1455
+ d.loc[idx, 'pickupEligible'] = avail.pickup_eligible
1456
+ d.loc[idx, 'availablePickupQuantity'] = avail.quantity if avail.pickup_eligible else 0
1457
+ d.loc[idx, 'availableInStoreQuantity'] = avail.quantity if is_in_store_pickup else 0
1458
+ # pickup detail
1459
+ d.at[idx, 'pickupMinHours'] = avail.min_pickup_hours
1460
+ d.at[idx, 'pickupMinDate'] = avail.min_date
1461
+ d.at[idx, 'pickupMaxDate'] = avail.max_date
1462
+ d.at[idx, 'pickupFulfillDate'] = avail.fulfill_date
1463
+ d.at[idx, 'pickupDisplayDateType'] = avail.display_date_type
1464
+ d.at[idx, 'pickupInStoreOnly'] = avail.in_store_only
1465
+ d.at[idx, 'pickupPreorderable'] = avail.preorderable
1466
+ d.at[idx, 'pickupBackordered'] = avail.backordered
1467
+ d.at[idx, 'pickupWhenAvailable'] = avail.when_available_flag
1468
+ d.at[idx, 'pickupRestrictions'] = avail.restrictions
1469
+ d.at[idx, 'storeDistance'] = avail.distance
1470
+ if info is not None:
1471
+ self._write_sku_columns(idx, avail, info)
1472
+ d.loc[idx, 'checked'] = True
1297
1473
 
1298
1474
  def column_exists(self, column: str, default_val: Any = None):
1299
1475
  if column not in self.data.columns:
@@ -1501,12 +1677,13 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
1501
1677
  self.column_exists('locationId')
1502
1678
  self.column_exists('availability')
1503
1679
  self.column_exists('inStoreAvailability')
1504
- self.column_exists('onShelfDisplay', False)
1680
+ self.column_exists('onShelfDisplay') # not provided by the API: NULL unless set upstream
1505
1681
  self.column_exists('availableInStoreQuantity', 0)
1506
1682
  self.column_exists('inStoreAvailable', False)
1507
1683
  self.column_exists('pickupEligible', False)
1508
1684
  self.column_exists('availablePickupQuantity', 0)
1509
1685
  self.column_exists('enabled', False)
1686
+ self._ensure_extended_columns()
1510
1687
  self.data['checked'] = False # Add 'checked' flag column
1511
1688
  self._logger.info(
1512
1689
  f"BestBuy availability: {len(self.data)} rows, bulk_mode={self.bulk_mode}"
@@ -1557,16 +1734,25 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
1557
1734
  self._row_index.setdefault((sid, sku), []).append(idx)
1558
1735
 
1559
1736
  if targets and skus:
1737
+ self._logger.info(
1738
+ f"BestBuy bulk: {len(skus)} SKUs x {len(targets)} stores; "
1739
+ f"resolving sku {skus[0]} (1/{len(skus)}) dynamically."
1740
+ )
1560
1741
  order = await self._resolve_sku_dynamic(
1561
1742
  skus[0], {t for t in targets if (t, skus[0]) in self._row_index}, targets
1562
1743
  )
1563
- for sku in skus[1:]:
1744
+ for n, sku in enumerate(skus[1:], start=2):
1745
+ self._logger.info(
1746
+ f"BestBuy bulk: sku {sku} ({n}/{len(skus)}); seeds={self._num_seeds}, "
1747
+ f"http_calls={self._num_iterations}."
1748
+ )
1564
1749
  uncovered = await self._resolve_sku_replay(sku, order, targets)
1565
1750
  if uncovered:
1566
1751
  await self._resolve_sku_dynamic(sku, uncovered, targets)
1567
1752
 
1568
1753
  # Fallback: every (store, sku) not covered by a seed response.
1569
1754
  leftovers = [pair for pair in self._row_index if pair not in self._seed_resolved]
1755
+ self._logger.info(f"BestBuy bulk: {len(leftovers)} (store, sku) pairs to fallback.")
1570
1756
  await self._processing_tasks([self._fallback_pair(*pair) for pair in leftovers])
1571
1757
 
1572
1758
  total_pairs = len(self._row_index)
@@ -1591,11 +1777,12 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
1591
1777
  return
1592
1778
  by_store, returned, _max = parse_fulfillment(data, sku, store_id)
1593
1779
  avail = by_store.get(store_id) or (by_store.get(returned[0]) if returned else None)
1780
+ info = parse_sku_fulfillment(data, sku)
1594
1781
  for idx in idxs:
1595
1782
  if avail is None:
1596
1783
  self._write_unavailable(idx, data, sku)
1597
1784
  else:
1598
- self._write_row(idx, avail, self.data.at[idx, 'brand'])
1785
+ self._write_row(idx, avail, self.data.at[idx, 'brand'], info)
1599
1786
 
1600
1787
  def _apply_response(self, sku: str, seed: str, data: dict, targets: dict[str, Target]) -> set[str]:
1601
1788
  """Parse one nearby response, write every covered target row, update coverage.
@@ -1604,13 +1791,14 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
1604
1791
  The target store ids covered by the response.
1605
1792
  """
1606
1793
  by_store, returned, max_dist = parse_fulfillment(data, sku, seed)
1794
+ info = parse_sku_fulfillment(data, sku)
1607
1795
  covered: set[str] = set()
1608
1796
  for sid, avail in by_store.items():
1609
1797
  if sid not in targets:
1610
1798
  continue
1611
1799
  idxs = self._row_index.get((sid, sku), [])
1612
1800
  for idx in idxs:
1613
- self._write_row(idx, avail, self.data.at[idx, 'brand'])
1801
+ self._write_row(idx, avail, self.data.at[idx, 'brand'], info)
1614
1802
  if idxs:
1615
1803
  self._seed_resolved.add((sid, sku))
1616
1804
  covered.add(sid)
@@ -1639,6 +1827,9 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
1639
1827
  pending -= got
1640
1828
  covered |= got | {seed}
1641
1829
  # on failure the neighbours stay pending; the seed goes to fallback
1830
+ self._logger.debug(
1831
+ f"BestBuy bulk: sku={sku} seed={seed} ok={bool(data)}; {len(pending)} stores pending."
1832
+ )
1642
1833
  return order
1643
1834
 
1644
1835
  async def _resolve_sku_replay(self, sku: str, seeds: list[str],