flowtask 5.13.3__tar.gz → 5.13.5__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.
- {flowtask-5.13.3 → flowtask-5.13.5}/PKG-INFO +6 -6
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/BestBuy.py +41 -14
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileRead.py +8 -3
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/forms.py +4 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/router.py +30 -6
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/OpenWithBase.py +7 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PlanogramCompliance.py +118 -19
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductReportBot.py +3 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SchedulingVisits.py +3 -3
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tMap/tMap.py +7 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/conf.py +71 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/PlanogramCompliance.doc.json +1 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/index.json +1 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/zoom_event.py +8 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/service.py +2 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/compress.py +2 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/databases/db.py +2 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/db.py +2 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/file_base.py +8 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/qs.py +3 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/custom_report.py +10 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/models.py +3 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/scheduler/functions.py +2 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/scheduler/scheduler.py +2 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/files/service.py +2 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/abstract.py +2 -2
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/version.py +1 -1
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask.egg-info/PKG-INFO +6 -6
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask.egg-info/requires.txt +4 -4
- {flowtask-5.13.3 → flowtask-5.13.5}/pyproject.toml +5 -5
- {flowtask-5.13.3 → flowtask-5.13.5}/CONTRIBUTING.md +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/INSTALL +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/LICENSE +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/MANIFEST.in +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/README.md +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/__main__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/_version.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/bots/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/bots/check.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/bots/codebot.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ASPX.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ATT.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/AddDataset.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Amazon.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/AutoTask.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Azure.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/AzureUsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/BaseAction.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/BaseLoop.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CSVToGCS.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CallAnalysis.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CallSummary.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CensusData.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CensusVariables.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/parsers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/parsers/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/parsers/explorium.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/parsers/leadiq.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/parsers/rocket.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/parsers/siccode.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/parsers/visualvisitor.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/parsers/zoominfo.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CompanyScraper/scrapper.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyFromBase.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyFromS3.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyFromSharepoint.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyTo.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyToBigQuery.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyToFileBase.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyToMongoDB.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyToPg.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyToRethink.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyToS3.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CopyToSharepoint.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Costco.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CreateGCSBucket.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CreateReport/CreateReport.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CreateReport/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CreateReport/charts/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CreateReport/charts/bar.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CreateReport/charts/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CreateReport/charts/pie.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CreateReport/utils.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/CustomerSatisfaction.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DataInput.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DateList.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DbClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DialPad.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DispatchMe.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DocumentDBQuery.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFrom.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromD2L.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromFTP.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromGamma.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromGoogleDrive.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromIMAP.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromS3.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromSFTP.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromSharepoint.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromSmartSheet.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadFromSmartsheet.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DownloadS3File.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Dummy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/DuplicatePhoto.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/EmployeeEvaluation.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ExecuteSQL.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ExtractHTML.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ExtractTranscript.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileBase.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileCopy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileDelete.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileExists.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileIteratorDelete.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileList.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileOpen.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FileRename.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FilterIf.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FilterRows/FilterRows.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FilterRows/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/FilterRows/functions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/GCSToBigQuery.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/GenData.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/GoogleA4.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/GoogleGeoCoding.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/GooglePlaces.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/GoogleSearch.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/HTTPClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ICIMS.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/IF.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/IcimsFolderCopy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ImageFeatures/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ImageFeatures/process.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/IteratorBase.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/LeadIQ.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Loop.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Lowes.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/MS365Usage.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/MSTeamsMessages.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/MarkdownMaker.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/MarketClustering.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/MergeFileList.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/MergeFiles.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/MilvusOutput.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NearByStores.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/account.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/client.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/district.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/events.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/market.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/organization.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/photos.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/project.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/region.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/store.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinja/models/user.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NetworkNinjaClaims.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NextStopAgent.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/NextTask.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Odoo.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/OdooInjector.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/OpenFromXML.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/OpenStreetMap.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/OpenWeather.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/OpenWithPandas.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PDFGenerator.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PGPDecrypt.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PandasIterator.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PandasToFile.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PandasToPowerPoint.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Paradox.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ParamIterator.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ParrotAgent.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ParrotKnowledgeBuilder/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ParrotKnowledgeBuilder/loader.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ParrotKnowledgeBuilder/payload.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ParrotLoader/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ParrotLoader/loader.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ParseHTML.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PgVectorOutput.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PlacerStores.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PodcastMaker.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Pokemon.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PositiveBot.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PowerPointSlide.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/PrintMessage.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductCompetitors/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductCompetitors/parsers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductCompetitors/parsers/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductCompetitors/parsers/bestbuy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductCompetitors/parsers/lowes.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductCompetitors/scrapper.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductCompliant.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/parsers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/parsers/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/parsers/brother.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/parsers/canon.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/parsers/epson.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/parsers/hp.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/parsers/samsung.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductInfo/scraper.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ProductPricing.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/QS.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/QSBase.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/QueryIterator.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/QueryToInsert.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/QueryToPandas.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/RESTClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/RethinkDBQuery.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Rsync.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/RunSSH.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/RunShell.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SAPExtraction.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SMSAnalysis.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SMSSummary.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SalesForce.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Sassie.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SaveImageBank/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ScrapPage.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ScrapSearch.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ScrapTool.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SearchQuery.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SendEmail.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SendNotify/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SendNotify/component.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SendNotify/models/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SendNotify/models/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SendNotify/models/zoom.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SentimentAnalysis.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScraperStores/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScraperStores/retailers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScraperStores/retailers/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScraperStores/retailers/costco.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScraperStores/retailers/tractor_supply.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScraperStores/retailers/verizon.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScraperStores/scraper.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScrapper/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScrapper/parsers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScrapper/parsers/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScrapper/parsers/costco.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ServiceScrapper/scrapper.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SetVariables.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SplitPDF.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Staples.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SubTask.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SuiteCRM.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SweetSpotScore/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SweetSpotScore/component.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/SweetSpotScore/layers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Switch.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TableBase.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TableDelete.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TableInput.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TableOutput/TableOutput.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TableOutput/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TableSchema.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Target.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ThumbnailGenerator.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ToPandas.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TransformRows/TransformRows.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TransformRows/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TransformRows/functions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/TransposeRows.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UPCDatabase.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UnGzip.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Uncompress.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UniqueRows.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Unzip.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UpdateOperationalVars.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UploadTo.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UploadToS3.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UploadToSFTP.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UploadToSharepoint.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/UserFunc.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/VideoUnderstanding.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/VivaTracker.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/WSDLClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Wait.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Walmart.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/applicant.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/candidate.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/cost_center.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/custom_punch_field_report.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/job_posting.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/job_posting_site.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/job_requisition.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/location.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/location_hierarchy_assignments.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/organizations.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/reference.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/time_block.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/time_off_balance.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/time_request.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/models/worker.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/applicant_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/candidate_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/cost_center_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/custom_punch_field_report_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/job_posting_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/job_posting_site_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/job_requisition_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/location_hierarchy_assignments_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/location_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/organization_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/reference_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/time_block_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/time_off_balance_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/time_request_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/parsers/worker_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/applicants.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/candidates.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/cost_centers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/custom_punch_field_report.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/custom_punch_field_report_rest.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/custom_report.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/job_posting_sites.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/job_postings.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/job_requisitions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/location_hierarchy_assignments.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/locations.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/organization_single.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/organizations.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/recruiting_agency_users.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/references.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/time_block_report.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/time_blocks.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/time_off_balances.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/time_requests.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/types/workers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/utils/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/utils/utils.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workday/workday.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/WorkdayReport.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Workplace.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/XMLToPandas.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Zammad/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Zammad/models.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/Zoom.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ZoomInfoScraper.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/ZoomUs.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/_census/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/_census/cache.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/_census/fetch.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/_census/resolver.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/_census/transform.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/flow.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/gendata/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/gendata/date_sequence.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/gendata/static_list.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/google.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/group.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/pandas_io.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/py.typed +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/reviewscrap.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tAddTotalRow.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tAutoincrement.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tConcat.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tConditionalMultiply.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tCrosstab.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tDictKey.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tDiff.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tExplode.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tFilter.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tFilterCommonValues.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tFlatten.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tFrequencyWeights.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tGroup.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tJoin.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tMap/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tMap/functions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tMelt.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tMerge.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tOrder.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tPandas.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tPivot.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tPluckCols.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/tUnnest.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/components/user.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/categories.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/cli.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ASPX.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/AddDataset.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/AutoTask.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/AzureUsers.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/BestBuy.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CallAnalysis.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CallSummary.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CompanyScraper.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CopyFromS3.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CopyFromSharepoint.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CopyToBigQuery.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CopyToMongoDB.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CopyToPg.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CopyToRethink.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CopyToS3.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CopyToSharepoint.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CreateReport.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/CustomerSatisfaction.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DataInput.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DateList.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DialPad.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DownloadFromD2L.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DownloadFromFTP.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DownloadFromIMAP.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DownloadFromS3.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DownloadFromSFTP.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DownloadFromSharepoint.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DownloadFromSmartSheet.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/DownloadFromSmartsheet.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/EmployeeEvaluation.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ExecuteSQL.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ExtractTranscript.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FileCopy.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FileDelete.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FileExists.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FileIteratorDelete.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FileList.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FileOpen.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FileRead.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FileRename.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FilterIf.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/FilterRows.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/GoogleA4.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/GoogleGeoCoding.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/GoogleSearch.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/HTTPClient.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ICIMS.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/IteratorBase.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/LeadIQ.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/MS365Usage.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/MSTeamsMessages.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/MergeFileList.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/MergeFiles.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/NetworkNinjaClaims.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/NextTask.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/Odoo.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/OdooInjector.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/OpenFromXML.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/OpenWithBase.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/OpenWithPandas.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/PGPDecrypt.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/PandasIterator.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/PandasToFile.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/Paradox.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ParamIterator.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ParrotAgent.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/PlacerStores.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/Pokemon.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/PositiveBot.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/PowerPointSlide.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/PrintMessage.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ProductCompliant.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ProductPricing.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ProductReportBot.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/QS.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/QueryIterator.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/QueryToInsert.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/QueryToPandas.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/RESTClient.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/RunShell.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/SAPExtraction.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/Sassie.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ScrapTool.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/SearchQuery.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/SendNotify.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/SentimentAnalysis.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ServiceScraperStores.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ServiceScrapper.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/SetVariables.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/SplitPDF.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/SubTask.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/SuiteCRM.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/TableDelete.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/TableInput.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/TableOutput.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/TableSchema.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ThumbnailGenerator.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/TransformRows.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/TransposeRows.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/UnGzip.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/Uncompress.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/UniqueRows.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/Unzip.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/UploadToS3.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/UploadToSFTP.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/UploadToSharepoint.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/UserFunc.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/Zoom.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/ZoomInfoScraper.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tAutoincrement.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tConcat.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tConditionalMultiply.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tCrosstab.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tDictKey.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tDiff.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tExplode.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tFilter.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tFilterCommonValues.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tFlatten.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tFrequencyWeights.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tGroup.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tJoin.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tMap.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tMelt.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tOrder.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tPivot.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tPluckCols.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generated/components/tUnnest.doc.json +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/generator.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/models.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/parser.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/schema.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/documentation/toolkit.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/download.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/alerts/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/alerts/colfunctions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/alerts/functions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/dummy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/exec.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/file/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/file/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/file/copy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/file/delete.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/interfaces/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/interfaces/client.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/interfaces/credentials.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/interfaces/notifications.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/jira.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/log.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/logerr.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/notify.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/notify_event.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/publish.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/sendfile.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/task.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/teams.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/events/webhook.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/events/manager.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/exceptions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/docker.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/events.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/exceptions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/k8s.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/local.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/models.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/publish.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/qworker.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/registry.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/executors/resolver.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/extensions/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/extensions/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/extensions/component_docs.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/extensions/logging/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/factory/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/factory/agent.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/factory/composer.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/factory/parser.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/factory/validator.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/handlers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/handlers/component.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/dummy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/jira.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/rest.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/sampledata.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/sensor.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/task.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/ticket.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/actions/zammad.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/hook.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/models.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/step.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/brokers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/brokers/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/brokers/mqtt.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/brokers/rabbitmq.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/brokers/redis.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/brokers/sqs.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/fs.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/http.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/imap.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/jira.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/mail.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/postgres.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/responses/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/responses/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/sharepoint.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/ssh.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/tagged.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/upload.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/watch.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/web.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/hooks/types/zoom.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/AzureClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/AzureGraph.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/Boto3Client.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/DropboxClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/ExcelHandler.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/FTPClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GoogleCalendar.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GoogleClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GoogleDrive.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GoogleGCS.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GoogleGeocoding.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GoogleLang.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GooglePub.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GoogleReverseGeocoding.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/GoogleSheet.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/IMAPClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/LLMClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/NominatimGeocoding.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/O365Calendar.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/O365Client.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/OneDrive.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/Outlook.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/OverpassGeocoding.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/ParrotBot.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/ParrotTool.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/ReverseGeocoding.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/SOAPClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/SSHClient.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/Sharepoint.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/azure_component.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/azureauth.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/base_action.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/base_loop.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/cache.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/client.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/copy_from_base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/copy_to.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/copy_to_file_base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/credentials.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/d2l.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/databases/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/databases/documentdb.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/databases/rethink.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/dataframes/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/dataframes/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/dataframes/arrow.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/dataframes/dt.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/dataframes/pandas.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/dataframes/polars.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/db_client.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/download_from.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/env.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/flow.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/func.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/gamma.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/google_base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/group.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/http.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/locale.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/log.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/mask.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/notification.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/parrot/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/parrot/agent.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/parrot/client.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/parrot/config.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/pipelines/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/pipelines/parrot.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/playwright.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/powerpoint.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/ppt.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/py.typed +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/qs_base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/result.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/routing.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/sassie.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/engine.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/extractors/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/extractors/count.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/extractors/gravity.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/extractors/nearest.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/models.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/service.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/scoring/spatial.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/search.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/selenium/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/selenium/options.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/selenium/service.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/selenium_service.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/skip_policy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/smartsheet.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/stat.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/t_pandas.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/table_base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/task.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/teams.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/template.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/tickets.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/upload_to.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/user.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/vectorstores/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/vectorstores/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/vectorstores/milvus.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/config.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/applicants.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/base.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/candidates.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/cost_centers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/custom_punch_field_report.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/custom_punch_field_report_rest.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/import_reported_time_blocks.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/import_time_clock_events.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/job_posting_sites.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/job_postings.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/job_requisitions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/location_hierarchy_assignments.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/locations.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/organization_single.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/organizations.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/put_time_clock_events.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/recruiting_agency_users.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/references.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/time_block_report.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/time_blocks.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/time_off_balances.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/time_requests.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/handlers/workers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/applicant.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/candidate.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/clock_event.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/cost_center.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/custom_punch_field_report.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/job_posting.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/job_posting_site.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/job_requisition.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/location.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/location_hierarchy_assignments.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/organizations.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/reference.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/time_block.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/time_off_balance.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/time_request.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/models/worker.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/applicant_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/candidate_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/cost_center_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/custom_punch_field_report_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/job_posting_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/job_posting_site_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/job_requisition_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/location_hierarchy_assignments_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/location_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/organization_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/reference_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/time_block_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/time_off_balance_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/time_request_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/parsers/worker_parsers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/rest.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/service.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/utils/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/workday/utils/utils.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/zammad.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/interfaces/zoom.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/_yaml.pyx +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/argparser.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/base.pxd +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/base.pyx +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/json.pyx +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/maps.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/syntax/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/syntax/checker.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/syntax/detector.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/syntax/registry.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/syntax/report.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/syntax/schema.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/parsers/toml.pyx +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/plugins/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/plugins/components_/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/plugins/handler/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/plugins/importer.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/plugins/sources/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/runner.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/scheduler/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/scheduler/handlers/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/scheduler/handlers/manager.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/scheduler/handlers/models.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/scheduler/handlers/service.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/scheduler/notifications.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/bots/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/bots/telegram.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/files/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/files/manager.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/files/model.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/jira/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/jira/jira_actions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/README.md +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/changelog.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/handlers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/health.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/models.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/service.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/store.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/templates.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/maintenance/windows.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/tasks/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/tasks/launcher.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/tasks/manager.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/tasks/service.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/tasks/task_manager.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/services/tasks/tasks.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/exceptions.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/files/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/files/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/files/filesystem.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/tasks/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/tasks/abstract.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/tasks/database.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/tasks/filesystem.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/tasks/github.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/tasks/memory.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/storages/tasks/row.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/chain.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/chainer.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/command.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/exchange.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/pile.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/py.typed +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/task.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tasks/workers.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/template/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/tests.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/types/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/types/typedefs.pyx +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/__init__.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/bestbuy_greedy.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/constants.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/encoders.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/executor.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/functions.pyx +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/json.pxi +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/json.pyx +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/mail.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/msgraph_patch.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/parseqs.pyx +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/stats.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/transformations.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/uv.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask/utils/validators.py +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask.egg-info/SOURCES.txt +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask.egg-info/dependency_links.txt +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask.egg-info/entry_points.txt +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/flowtask.egg-info/top_level.txt +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/setup.cfg +0 -0
- {flowtask-5.13.3 → flowtask-5.13.5}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flowtask
|
|
3
|
-
Version: 5.13.
|
|
3
|
+
Version: 5.13.5
|
|
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]
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
@@ -104,11 +104,12 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
104
104
|
| storage_path | No | Directory for stored results and the default coverage file. Required when use_storage is true. |
|
|
105
105
|
| chunk_size | No | Rows per processing chunk (default 100). |
|
|
106
106
|
| task_parts | No | Number of task partitions (default 10). |
|
|
107
|
-
| concurrency | No | Max concurrent requests and sticky proxy-session pool size (default
|
|
107
|
+
| concurrency | No | Max concurrent requests and sticky proxy-session pool size (default 6). |
|
|
108
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. |
|
|
109
109
|
| coverage_file | No | Coverage map JSON (default <storage_path>/bestbuy_coverage.json; in-memory when unset). |
|
|
110
110
|
| proxy_session_max_requests | No | Requests before a sticky proxy session is rotated (default 50). |
|
|
111
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). |
|
|
112
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). |
|
|
113
114
|
|
|
114
115
|
``type: availability`` output columns (one row per store × sku). Legacy contract:
|
|
@@ -140,7 +141,7 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
140
141
|
brand: Epson
|
|
141
142
|
bulk_mode: true
|
|
142
143
|
storage_path: /home/ubuntu/symbits/bestbuy/
|
|
143
|
-
concurrency:
|
|
144
|
+
concurrency: 6
|
|
144
145
|
```
|
|
145
146
|
"""
|
|
146
147
|
_version = "1.0.0"
|
|
@@ -205,19 +206,20 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
205
206
|
"User-Agent": random.choice(ua),
|
|
206
207
|
**self.headers
|
|
207
208
|
}
|
|
208
|
-
# Cap concurrent storeAvailability requests
|
|
209
|
-
#
|
|
210
|
-
#
|
|
211
|
-
#
|
|
212
|
-
|
|
213
|
-
# bottlenecked by 403s, not network capacity).
|
|
214
|
-
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))
|
|
215
214
|
# Selenium driver is not thread-safe: serialize all execute_async_script calls
|
|
216
215
|
self._selenium_semaphore = asyncio.Semaphore(1)
|
|
217
216
|
# FEAT-561: sticky Oxylabs session pool (K = concurrency)
|
|
218
|
-
self._pool_size: int = kwargs.get('concurrency',
|
|
217
|
+
self._pool_size: int = kwargs.get('concurrency', 6)
|
|
219
218
|
self.proxy_session_max_requests: int = kwargs.get('proxy_session_max_requests', 50)
|
|
220
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)
|
|
221
223
|
# Debug: dump the raw GraphQL availability payload (log + optional file)
|
|
222
224
|
self.debug_payload: bool = kwargs.get('debug_payload', False)
|
|
223
225
|
self._session_pool: list[ProxySession] = []
|
|
@@ -993,11 +995,19 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
993
995
|
if attempt < 3:
|
|
994
996
|
continue
|
|
995
997
|
return None
|
|
996
|
-
r = await
|
|
998
|
+
r = await asyncio.wait_for(
|
|
999
|
+
client.get(url, headers=api_headers), timeout=self.request_timeout
|
|
1000
|
+
)
|
|
997
1001
|
except (httpx.ConnectError, httpx.ConnectTimeout, httpx.ReadTimeout,
|
|
998
|
-
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.
|
|
999
1005
|
await self._release_session(session, status=None, error=ex)
|
|
1000
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
|
+
)
|
|
1001
1011
|
await asyncio.sleep(0.5 * attempt)
|
|
1002
1012
|
continue
|
|
1003
1013
|
self._logger.warning(
|
|
@@ -1018,6 +1028,10 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1018
1028
|
await self._dump_availability_payload(payload, sku, store_id, nearby)
|
|
1019
1029
|
return payload
|
|
1020
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
|
+
)
|
|
1021
1035
|
await asyncio.sleep(0.5 * attempt)
|
|
1022
1036
|
continue
|
|
1023
1037
|
if r.status_code == 403 and attempt < 3:
|
|
@@ -1244,7 +1258,8 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1244
1258
|
status in (403, 429)
|
|
1245
1259
|
or (status is not None and status >= 500)
|
|
1246
1260
|
or isinstance(error, (
|
|
1247
|
-
httpx.ConnectError, httpx.ConnectTimeout, httpx.RemoteProtocolError
|
|
1261
|
+
httpx.ConnectError, httpx.ConnectTimeout, httpx.RemoteProtocolError,
|
|
1262
|
+
httpx.ProxyError, asyncio.TimeoutError,
|
|
1248
1263
|
))
|
|
1249
1264
|
)
|
|
1250
1265
|
if burn and not session.burned:
|
|
@@ -1719,16 +1734,25 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1719
1734
|
self._row_index.setdefault((sid, sku), []).append(idx)
|
|
1720
1735
|
|
|
1721
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
|
+
)
|
|
1722
1741
|
order = await self._resolve_sku_dynamic(
|
|
1723
1742
|
skus[0], {t for t in targets if (t, skus[0]) in self._row_index}, targets
|
|
1724
1743
|
)
|
|
1725
|
-
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
|
+
)
|
|
1726
1749
|
uncovered = await self._resolve_sku_replay(sku, order, targets)
|
|
1727
1750
|
if uncovered:
|
|
1728
1751
|
await self._resolve_sku_dynamic(sku, uncovered, targets)
|
|
1729
1752
|
|
|
1730
1753
|
# Fallback: every (store, sku) not covered by a seed response.
|
|
1731
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.")
|
|
1732
1756
|
await self._processing_tasks([self._fallback_pair(*pair) for pair in leftovers])
|
|
1733
1757
|
|
|
1734
1758
|
total_pairs = len(self._row_index)
|
|
@@ -1803,6 +1827,9 @@ class BestBuy(FlowComponent, SeleniumService, HTTPService):
|
|
|
1803
1827
|
pending -= got
|
|
1804
1828
|
covered |= got | {seed}
|
|
1805
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
|
+
)
|
|
1806
1833
|
return order
|
|
1807
1834
|
|
|
1808
1835
|
async def _resolve_sku_replay(self, sku: str, seeds: list[str],
|
|
@@ -4,6 +4,7 @@ from pathlib import Path, PurePath
|
|
|
4
4
|
import io
|
|
5
5
|
import aiofiles
|
|
6
6
|
from ..exceptions import FileNotFound, FileError
|
|
7
|
+
from ..conf import TASK_PATH
|
|
7
8
|
from ..utils.json import json_decoder
|
|
8
9
|
from ..interfaces.file_base import FileBase
|
|
9
10
|
from ..interfaces.dataframes.pandas import PandasDataframe
|
|
@@ -69,8 +70,12 @@ class FileRead(FileBase, PandasDataframe):
|
|
|
69
70
|
async def start(self, **kwargs):
|
|
70
71
|
"""Check for File and Directory information."""
|
|
71
72
|
if not hasattr(self, "directory"):
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
# resolve <program>/files from the task storage the task was loaded
|
|
74
|
+
# from (e.g. --storage=private); storages without a path use TASK_PATH.
|
|
75
|
+
base = self._taskstore.get_path() if self._taskstore else None
|
|
76
|
+
task_files = Path(base or TASK_PATH, self._program, "files")
|
|
77
|
+
if self._use_taskstorage or task_files.is_dir():
|
|
78
|
+
self.directory = task_files
|
|
74
79
|
else:
|
|
75
80
|
self.directory = self._filestore.get_directory('')
|
|
76
81
|
await super().start(**kwargs)
|
|
@@ -96,7 +101,7 @@ class FileRead(FileBase, PandasDataframe):
|
|
|
96
101
|
)
|
|
97
102
|
elif hasattr(self, "filename"):
|
|
98
103
|
if isinstance(self.filename, str):
|
|
99
|
-
file = Path(
|
|
104
|
+
file = Path(self.directory).joinpath(self.filename)
|
|
100
105
|
elif isinstance(self.filename, PurePath):
|
|
101
106
|
file = self.filename.resolve()
|
|
102
107
|
else:
|
|
@@ -7,6 +7,7 @@ from datamodel import BaseModel, Field
|
|
|
7
7
|
from datamodel.parsers.json import json_encoder
|
|
8
8
|
from querysource.conf import default_dsn, async_default_dsn
|
|
9
9
|
from querysource.outputs.tables import PgOutput
|
|
10
|
+
from ....conf import pg_server_settings
|
|
10
11
|
from .abstract import AbstractPayload
|
|
11
12
|
from .organization import Organization
|
|
12
13
|
from .client import Client
|
|
@@ -465,7 +466,9 @@ class FormData(AbstractPayload):
|
|
|
465
466
|
|
|
466
467
|
logger.debug(f"Processing form update: {previous_form} -> {new_form}")
|
|
467
468
|
|
|
468
|
-
async with await AsyncDB(
|
|
469
|
+
async with await AsyncDB(
|
|
470
|
+
'pg', dsn=default_dsn, server_settings=pg_server_settings('NetworkNinja')
|
|
471
|
+
).connection() as conn:
|
|
469
472
|
try:
|
|
470
473
|
# Use PL/pgSQL to handle the UPDATE exception properly
|
|
471
474
|
transaction = f"""
|
|
@@ -34,7 +34,8 @@ from ...interfaces.http import HTTPService
|
|
|
34
34
|
from ...conf import (
|
|
35
35
|
NETWORKNINJA_API_KEY,
|
|
36
36
|
NETWORKNINJA_BASE_URL,
|
|
37
|
-
NETWORKNINJA_ENV
|
|
37
|
+
NETWORKNINJA_ENV,
|
|
38
|
+
pg_pool_options,
|
|
38
39
|
)
|
|
39
40
|
from .models import NetworkNinja_Map, NN_Order
|
|
40
41
|
from .models.abstract import AbstractPayload
|
|
@@ -491,8 +492,13 @@ class NetworkNinja(HTTPService, FlowComponent):
|
|
|
491
492
|
return final_form_ids
|
|
492
493
|
|
|
493
494
|
async def close(self):
|
|
494
|
-
|
|
495
|
-
|
|
495
|
+
"""Release the PostgreSQL pool (safe to call more than once)."""
|
|
496
|
+
pool, self._pool = self._pool, None
|
|
497
|
+
if pool:
|
|
498
|
+
try:
|
|
499
|
+
await pool.close()
|
|
500
|
+
except Exception as exc: # pylint: disable=W0718
|
|
501
|
+
self._logger.warning(f"Error closing NetworkNinja pool: {exc!s}")
|
|
496
502
|
|
|
497
503
|
def _evaluate_input(self):
|
|
498
504
|
if self.previous or self.input is not None:
|
|
@@ -526,13 +532,31 @@ class NetworkNinja(HTTPService, FlowComponent):
|
|
|
526
532
|
return True
|
|
527
533
|
|
|
528
534
|
async def run(self):
|
|
529
|
-
"""Run NetworkNinja Router.
|
|
535
|
+
"""Run NetworkNinja Router.
|
|
536
|
+
|
|
537
|
+
Opens a short-lived PostgreSQL pool for the duration of the action.
|
|
538
|
+
The task runner only calls ``close()`` when ``run()`` returns, so the
|
|
539
|
+
pool is released here as well whenever the action raises (for example
|
|
540
|
+
``DataNotFound`` from ``get_batches`` on an empty NetworkNinja queue).
|
|
541
|
+
"""
|
|
542
|
+
self._pool = AsyncPool(
|
|
543
|
+
'pg',
|
|
544
|
+
dsn=default_dsn,
|
|
545
|
+
**pg_pool_options(suffix='NetworkNinja'),
|
|
546
|
+
)
|
|
547
|
+
await self._pool.connect()
|
|
548
|
+
try:
|
|
549
|
+
return await self._run_action()
|
|
550
|
+
except BaseException:
|
|
551
|
+
await self.close()
|
|
552
|
+
raise
|
|
553
|
+
|
|
554
|
+
async def _run_action(self):
|
|
555
|
+
"""Execute the configured NetworkNinja action and return its result."""
|
|
530
556
|
tasks = []
|
|
531
557
|
fn = getattr(self, self._action)
|
|
532
558
|
self.add_metric("ACTION", self._action)
|
|
533
559
|
self._result = {}
|
|
534
|
-
self._pool = AsyncPool('pg', dsn=default_dsn, max_clients=1000)
|
|
535
|
-
await self._pool.connect()
|
|
536
560
|
if self._action == 'get_batch':
|
|
537
561
|
try:
|
|
538
562
|
result = await fn()
|
|
@@ -19,7 +19,7 @@ from ..exceptions import FileNotFound, ComponentError
|
|
|
19
19
|
from ..utils.mail import MailMessage
|
|
20
20
|
from ..utils import check_empty
|
|
21
21
|
from ..parsers.maps import open_map, open_model
|
|
22
|
-
from ..conf import TASK_PATH, DEFAULT_ENCODING
|
|
22
|
+
from ..conf import TASK_PATH, DEFAULT_ENCODING, pg_server_settings
|
|
23
23
|
from ..interfaces.flow import FlowComponent
|
|
24
24
|
from ..utils.constants import excel_based
|
|
25
25
|
|
|
@@ -224,7 +224,12 @@ class OpenWithBase(FlowComponent):
|
|
|
224
224
|
event_loop = asyncio.get_running_loop()
|
|
225
225
|
except RuntimeError:
|
|
226
226
|
event_loop = asyncio.get_event_loop()
|
|
227
|
-
db = AsyncDB(
|
|
227
|
+
db = AsyncDB(
|
|
228
|
+
"pg",
|
|
229
|
+
dsn=asyncpg_url,
|
|
230
|
+
loop=event_loop,
|
|
231
|
+
server_settings=pg_server_settings(self.__class__.__name__),
|
|
232
|
+
)
|
|
228
233
|
async with await db.connection() as conn:
|
|
229
234
|
result, error = await conn.query(discover)
|
|
230
235
|
if error:
|
|
@@ -8,10 +8,12 @@ from pathlib import Path
|
|
|
8
8
|
from PIL import Image
|
|
9
9
|
from asyncdb import AsyncDB
|
|
10
10
|
from querysource.conf import default_dsn
|
|
11
|
+
from ..conf import pg_server_settings
|
|
11
12
|
import re
|
|
12
13
|
from parrot.conf import PLANOGRAM_FOLDER
|
|
13
14
|
from parrot.clients.google import GoogleGenAIClient, GoogleModel
|
|
14
15
|
from parrot_pipelines.models import PlanogramConfig, EndcapGeometry
|
|
16
|
+
from parrot_pipelines.planogram.plan import PlanogramCompliance as PlanogramPipeline
|
|
15
17
|
from ..interfaces.flow import FlowComponent
|
|
16
18
|
from ..interfaces.pipelines.parrot import AIPipeline
|
|
17
19
|
from ..exceptions import ComponentError, ConfigError
|
|
@@ -54,6 +56,7 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
54
56
|
| id_column | No | DataFrame column used as per-row image id (default ``photo_id``)|
|
|
55
57
|
| reference_images | No | Mapping key -> image file or directory under ``images/``; |
|
|
56
58
|
| | | overrides the ``reference_images`` column of the row |
|
|
59
|
+
| | | (ignored for types without references, e.g. ``ink_wall``) |
|
|
57
60
|
| llm_backend | No | LLM backend as ``provider:model``; overrides the ``llm_backend``|
|
|
58
61
|
| | | column of the row (default: the ai-parrot package default) |
|
|
59
62
|
| llm_config | No | Arguments of an explicit Google GenAI client; when given it wins|
|
|
@@ -69,8 +72,10 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
69
72
|
Returns the input DataFrame plus: ``planogram_id``, ``overall_compliance_score``,
|
|
70
73
|
``overall_compliant``, ``compliance_analysis``, ``compliance_analysis_markdown``,
|
|
71
74
|
``compliance_analysis_json`` (includes assessment status, coverage, strict score and
|
|
72
|
-
pipeline errors), ``compliance_by_shelf``, ``detections``,
|
|
73
|
-
``
|
|
75
|
+
pipeline errors and ``products_found``), ``compliance_by_shelf``, ``detections``,
|
|
76
|
+
``products_found`` (one entry per expected slot: model, sku, brand, found, misplaced,
|
|
77
|
+
status, confidence, facings, facings_found, observed; empty without ai-parrot FEAT-645),
|
|
78
|
+
``overlay_image`` and ``overlay_path``.
|
|
74
79
|
|
|
75
80
|
Example:
|
|
76
81
|
|
|
@@ -198,7 +203,7 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
198
203
|
"planogram_config_table is not specified"
|
|
199
204
|
)
|
|
200
205
|
planogram_query = f"SELECT * FROM {self._planogram_config_table} WHERE config_name = $1"
|
|
201
|
-
db = AsyncDB('pg', dsn=default_dsn)
|
|
206
|
+
db = AsyncDB('pg', dsn=default_dsn, server_settings=pg_server_settings('PlanogramCompliance'))
|
|
202
207
|
async with await db.connection() as conn:
|
|
203
208
|
result = await conn.fetch_one(planogram_query, self._planogram_name)
|
|
204
209
|
if not result:
|
|
@@ -253,19 +258,27 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
253
258
|
self.confidence_threshold = row['confidence_threshold']
|
|
254
259
|
if row.get('detection_model'):
|
|
255
260
|
self.detection_model = row['detection_model']
|
|
256
|
-
#
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
+
# DB value takes precedence, the task value is the fallback.
|
|
262
|
+
planogram_type = row.get('planogram_type') or self._planogram_type
|
|
263
|
+
layout_config = self._decode_json_column(row, 'planogram_config') or {}
|
|
264
|
+
references: Dict[str, Union[Path, List[Path]]] = {}
|
|
265
|
+
if self._uses_reference_images(planogram_type, layout_config):
|
|
266
|
+
# Task reference images win; otherwise use the ones stored in the row.
|
|
267
|
+
references = reference_images or self._prepare_task_references()
|
|
268
|
+
if not references:
|
|
269
|
+
references = self._db_reference_images(
|
|
270
|
+
self._decode_json_column(row, 'reference_images')
|
|
271
|
+
)
|
|
272
|
+
else:
|
|
273
|
+
self._logger.debug(
|
|
274
|
+
f"Planogram type '{planogram_type}' does not use reference images; skipping them"
|
|
261
275
|
)
|
|
262
276
|
try:
|
|
263
277
|
planogram_config = PlanogramConfig(
|
|
264
278
|
planogram_id=row.get('planogram_id'),
|
|
265
279
|
config_name=self._planogram_name,
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
planogram_config=self._decode_json_column(row, 'planogram_config') or {},
|
|
280
|
+
planogram_type=planogram_type,
|
|
281
|
+
planogram_config=layout_config,
|
|
269
282
|
endcap_geometry=geometry,
|
|
270
283
|
roi_detection_prompt=row.get('roi_detection_prompt') or None,
|
|
271
284
|
object_identification_prompt=row.get('object_identification_prompt') or None,
|
|
@@ -282,6 +295,40 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
282
295
|
self._logger.debug('Planogram config loaded: %s', planogram_config)
|
|
283
296
|
return planogram_config
|
|
284
297
|
|
|
298
|
+
def _uses_reference_images(self, planogram_type: str, layout_config: Dict[str, Any]) -> bool:
|
|
299
|
+
"""Ask the pipeline whether this planogram type consumes reference images.
|
|
300
|
+
|
|
301
|
+
Args:
|
|
302
|
+
planogram_type: Resolved planogram type of the configuration.
|
|
303
|
+
layout_config: The ``planogram_config`` column (may override ``layout_profile.references``).
|
|
304
|
+
|
|
305
|
+
Returns:
|
|
306
|
+
False for types that identify products without references (e.g. ``ink_wall``); True
|
|
307
|
+
when the installed ai-parrot predates ``uses_reference_images``.
|
|
308
|
+
|
|
309
|
+
Raises:
|
|
310
|
+
ConfigError: Unknown planogram type or an invalid ``layout_profile`` override.
|
|
311
|
+
"""
|
|
312
|
+
uses_references = getattr(PlanogramPipeline, 'uses_reference_images', None)
|
|
313
|
+
if uses_references is None:
|
|
314
|
+
return True
|
|
315
|
+
try:
|
|
316
|
+
return bool(uses_references(planogram_type, layout_config))
|
|
317
|
+
except ValueError as e:
|
|
318
|
+
raise ConfigError(
|
|
319
|
+
f"Invalid planogram configuration: {e}"
|
|
320
|
+
) from e
|
|
321
|
+
|
|
322
|
+
def _prepare_task_references(self) -> Dict[str, Union[Path, List[Path]]]:
|
|
323
|
+
"""Resolve the task ``reference_images`` once, only for types that use them.
|
|
324
|
+
|
|
325
|
+
Returns:
|
|
326
|
+
The cached mapping of catalogue key to a Path or a list of Paths.
|
|
327
|
+
"""
|
|
328
|
+
if not self._reference_images and self.reference_images:
|
|
329
|
+
self._reference_images = self._prepare_reference_images()
|
|
330
|
+
return self._reference_images
|
|
331
|
+
|
|
285
332
|
@staticmethod
|
|
286
333
|
def _decode_json_column(row: Dict[str, Any], column: str) -> Any:
|
|
287
334
|
"""Return a JSONB column of the row as a Python object.
|
|
@@ -379,16 +426,12 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
379
426
|
f"Image column '{self.image_column}' not found in DataFrame"
|
|
380
427
|
)
|
|
381
428
|
|
|
382
|
-
# Prepare reference images list - convert to string paths as expected by pipeline
|
|
383
|
-
self._reference_images = self._prepare_reference_images()
|
|
384
|
-
|
|
385
429
|
# Initialize LLM for pipeline
|
|
386
430
|
self._llm = self._initialize_llm()
|
|
387
431
|
|
|
388
|
-
# Generate Planogram Configuration
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
)
|
|
432
|
+
# Generate Planogram Configuration; reference images are resolved there,
|
|
433
|
+
# only when the planogram type uses them.
|
|
434
|
+
self.planogram_config = await self.get_planogram_config()
|
|
392
435
|
|
|
393
436
|
self._logger.info(
|
|
394
437
|
f"PlanogramPipeline started with {len(self.data)} rows to process"
|
|
@@ -472,6 +515,26 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
472
515
|
"""
|
|
473
516
|
return result.get('compliance_results') or result.get('step3_compliance_results') or []
|
|
474
517
|
|
|
518
|
+
@staticmethod
|
|
519
|
+
def _products_found(result: Dict[str, Any]) -> List[Dict[str, Any]]:
|
|
520
|
+
"""Return the slot presence list of a pipeline result as JSON-safe dicts.
|
|
521
|
+
|
|
522
|
+
Args:
|
|
523
|
+
result: Pipeline result dictionary.
|
|
524
|
+
|
|
525
|
+
Returns:
|
|
526
|
+
``model_dump(mode="json")`` of each ``products_found`` item (dict items kept as-is);
|
|
527
|
+
an empty list when the key is missing (ai-parrot without FEAT-645).
|
|
528
|
+
"""
|
|
529
|
+
items = result.get('products_found') or []
|
|
530
|
+
products: List[Dict[str, Any]] = []
|
|
531
|
+
for item in items:
|
|
532
|
+
if hasattr(item, 'model_dump'):
|
|
533
|
+
products.append(item.model_dump(mode='json'))
|
|
534
|
+
elif isinstance(item, dict):
|
|
535
|
+
products.append(item)
|
|
536
|
+
return products
|
|
537
|
+
|
|
475
538
|
def _create_markdown_report(self, result: Dict[str, Any], overlay_path: str = "") -> str:
|
|
476
539
|
"""Generate a markdown report from pipeline results."""
|
|
477
540
|
md = []
|
|
@@ -519,6 +582,29 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
519
582
|
md.append(f" - Matched: {text_result.matched_features}")
|
|
520
583
|
md.append("")
|
|
521
584
|
|
|
585
|
+
products_found = self._products_found(result)
|
|
586
|
+
if products_found:
|
|
587
|
+
found = [p for p in products_found if p.get('found') is True]
|
|
588
|
+
not_found = [p for p in products_found if p.get('found') is False]
|
|
589
|
+
unknown = [p for p in products_found if p.get('found') is None]
|
|
590
|
+
misplaced = [p for p in products_found if p.get('misplaced')]
|
|
591
|
+
md.append("## Slot Presence")
|
|
592
|
+
md.append(
|
|
593
|
+
f"- **Found:** {len(found)} | **Not found:** {len(not_found)} "
|
|
594
|
+
f"| **Unknown:** {len(unknown)} | **Misplaced:** {len(misplaced)}"
|
|
595
|
+
)
|
|
596
|
+
if not_found:
|
|
597
|
+
md.append("- Not found:")
|
|
598
|
+
for p in not_found:
|
|
599
|
+
line = f" - {p.get('model') or p.get('display_name')}"
|
|
600
|
+
if p.get('observed'):
|
|
601
|
+
line += f" (observed: {p.get('observed')})"
|
|
602
|
+
md.append(line)
|
|
603
|
+
if unknown:
|
|
604
|
+
md.append("- Unknown:")
|
|
605
|
+
for p in unknown:
|
|
606
|
+
md.append(f" - {p.get('model') or p.get('display_name')}")
|
|
607
|
+
md.append("")
|
|
522
608
|
errors = result.get('errors') or []
|
|
523
609
|
if errors:
|
|
524
610
|
md.append("## Pipeline Errors")
|
|
@@ -602,6 +688,14 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
602
688
|
# list of ComplianceResult objects
|
|
603
689
|
compliance_results = self._compliance_results(result)
|
|
604
690
|
pipeline_errors = list(result.get('errors') or [])
|
|
691
|
+
products_found = self._products_found(result)
|
|
692
|
+
if 'products_found' not in result:
|
|
693
|
+
self._logger.debug(
|
|
694
|
+
f"Row {row_index}: pipeline result has no 'products_found' (ai-parrot without FEAT-645)"
|
|
695
|
+
)
|
|
696
|
+
skipped = len(result.get('products_found') or []) - len(products_found)
|
|
697
|
+
if skipped > 0:
|
|
698
|
+
self._logger.debug(f"Row {row_index}: skipped {skipped} unsupported 'products_found' item(s)")
|
|
605
699
|
if pipeline_errors:
|
|
606
700
|
self._logger.warning(
|
|
607
701
|
f"Row {row_index}: pipeline reported errors: {pipeline_errors}"
|
|
@@ -618,6 +712,7 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
618
712
|
'detection_source': result.get('detection_source'),
|
|
619
713
|
'resolved_backend': result.get('resolved_backend'),
|
|
620
714
|
'errors': pipeline_errors,
|
|
715
|
+
'products_found': products_found,
|
|
621
716
|
'step3_compliance_results': [
|
|
622
717
|
{
|
|
623
718
|
'shelf_level': cr.shelf_level,
|
|
@@ -722,6 +817,7 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
722
817
|
# Add the new fields to the return dictionary
|
|
723
818
|
'compliance_by_shelf': compliance_by_shelf,
|
|
724
819
|
'detections': detections,
|
|
820
|
+
'products_found': products_found,
|
|
725
821
|
'status': 'success',
|
|
726
822
|
'error': None
|
|
727
823
|
}
|
|
@@ -743,6 +839,7 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
743
839
|
# Add new fields with error state
|
|
744
840
|
'compliance_by_shelf': {"error": str(e)},
|
|
745
841
|
'detections': [{"error": str(e)}],
|
|
842
|
+
'products_found': [],
|
|
746
843
|
'status': 'error',
|
|
747
844
|
'error': str(e)
|
|
748
845
|
}
|
|
@@ -772,13 +869,14 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
772
869
|
# NEW: Initialize columns for the new data
|
|
773
870
|
'compliance_by_shelf': None,
|
|
774
871
|
'detections': None,
|
|
872
|
+
'products_found': None,
|
|
775
873
|
'overlay_path': ""
|
|
776
874
|
}
|
|
777
875
|
|
|
778
876
|
for col, default in new_cols.items():
|
|
779
877
|
# Use pd.NA for object types to allow for proper handling of missing values
|
|
780
878
|
enhanced_df[col] = pd.NA if default is None else default
|
|
781
|
-
if col in ['overlay_image', 'compliance_by_shelf', 'detections']:
|
|
879
|
+
if col in ['overlay_image', 'compliance_by_shelf', 'detections', 'products_found']:
|
|
782
880
|
enhanced_df[col] = enhanced_df[col].astype('object')
|
|
783
881
|
|
|
784
882
|
# Populate results
|
|
@@ -795,6 +893,7 @@ class PlanogramCompliance(AIPipeline, FlowComponent):
|
|
|
795
893
|
# NEW: Populate the new columns
|
|
796
894
|
enhanced_df.at[idx, 'compliance_by_shelf'] = result['compliance_by_shelf']
|
|
797
895
|
enhanced_df.at[idx, 'detections'] = result.get('detections', [])
|
|
896
|
+
enhanced_df.at[idx, 'products_found'] = result.get('products_found', [])
|
|
798
897
|
enhanced_df.at[idx, 'planogram_id'] = result.get('planogram_id', None)
|
|
799
898
|
|
|
800
899
|
return enhanced_df
|
|
@@ -17,6 +17,7 @@ from parrot.models.google import ConversationalScriptConfig, FictionalSpeaker
|
|
|
17
17
|
from parrot.conf import STATIC_DIR
|
|
18
18
|
from asyncdb import AsyncDB
|
|
19
19
|
from querysource.conf import default_dsn
|
|
20
|
+
from ..conf import pg_server_settings
|
|
20
21
|
from parrot.models.responses import AgentResponse, AIMessage
|
|
21
22
|
from parrot.models.basic import CompletionUsage
|
|
22
23
|
from pathlib import Path
|
|
@@ -826,7 +827,7 @@ class ProductReportBot(ParrotAgentConfigMixin, ParrotBot, FlowComponent):
|
|
|
826
827
|
)
|
|
827
828
|
|
|
828
829
|
query = query_file.read_text()
|
|
829
|
-
db = AsyncDB('pg', dsn=default_dsn)
|
|
830
|
+
db = AsyncDB('pg', dsn=default_dsn, server_settings=pg_server_settings('ProductReportBot'))
|
|
830
831
|
async with await db.connection() as conn:
|
|
831
832
|
product_data, error = await conn.query(query, model)
|
|
832
833
|
if error:
|
|
@@ -992,7 +993,7 @@ class ProductReportBot(ParrotAgentConfigMixin, ParrotBot, FlowComponent):
|
|
|
992
993
|
response_dict.pop(field, None)
|
|
993
994
|
|
|
994
995
|
|
|
995
|
-
db = AsyncDB('pg', dsn=default_dsn)
|
|
996
|
+
db = AsyncDB('pg', dsn=default_dsn, server_settings=pg_server_settings('ProductReportBot'))
|
|
996
997
|
async with await db.connection() as conn:
|
|
997
998
|
ProductResponse.Meta.connection = conn
|
|
998
999
|
ProductResponse.Meta.schema = program_slug
|
|
@@ -913,8 +913,8 @@ class SchedulingVisits(FlowComponent):
|
|
|
913
913
|
|
|
914
914
|
self._logger.info("=== MARKET CAPACITY ANALYSIS ===")
|
|
915
915
|
|
|
916
|
-
for market in df[
|
|
917
|
-
market_data = df[df[
|
|
916
|
+
for market in df[self._market_name].unique():
|
|
917
|
+
market_data = df[df[self._market_name] == market]
|
|
918
918
|
store_count = len(market_data)
|
|
919
919
|
|
|
920
920
|
# Calculate visits needed per month, and the headcount that
|
|
@@ -3365,7 +3365,7 @@ class SchedulingVisits(FlowComponent):
|
|
|
3365
3365
|
'employee_position': employee_position,
|
|
3366
3366
|
'store_id': store_row['store_id'],
|
|
3367
3367
|
'store_name': store_row.get('store_name', 'Unknown'),
|
|
3368
|
-
'market': store_row[
|
|
3368
|
+
'market': store_row[self._market_name],
|
|
3369
3369
|
'market_id': store_row.get('market_id'),
|
|
3370
3370
|
'store_position': store_row['store_position'],
|
|
3371
3371
|
'scheduled_date': scheduled_date,
|
|
@@ -9,6 +9,7 @@ from navconfig.logging import logging
|
|
|
9
9
|
from asyncdb import AsyncDB
|
|
10
10
|
from asyncdb.exceptions import NoDataFound
|
|
11
11
|
from querysource.conf import asyncpg_url
|
|
12
|
+
from ...conf import pg_server_settings
|
|
12
13
|
from querysource.types.dt import transforms as qsdfunctions
|
|
13
14
|
from ...exceptions import ComponentError
|
|
14
15
|
from ...parsers.maps import open_map, open_model
|
|
@@ -142,7 +143,12 @@ class tMap(FlowComponent):
|
|
|
142
143
|
event_loop = asyncio.get_running_loop()
|
|
143
144
|
except RuntimeError:
|
|
144
145
|
event_loop = asyncio.get_event_loop()
|
|
145
|
-
db = AsyncDB(
|
|
146
|
+
db = AsyncDB(
|
|
147
|
+
"pg",
|
|
148
|
+
dsn=asyncpg_url,
|
|
149
|
+
loop=event_loop,
|
|
150
|
+
server_settings=pg_server_settings("tMap"),
|
|
151
|
+
)
|
|
146
152
|
async with await db.connection() as conn:
|
|
147
153
|
result, error = await conn.query(discover)
|
|
148
154
|
if error:
|