stackos-connectors 0.2.0__tar.gz → 0.2.2__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.
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/PKG-INFO +6 -3
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/README.md +5 -2
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/pyproject.toml +1 -1
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/auth.py +11 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/catalog/index.json +1 -0
- stackos_connectors-0.2.2/src/stackos_connectors/connectors/google_search_console/auth.py +19 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_search_console/catalog.json +114 -5
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_search_console/docs/auth.md +12 -0
- stackos_connectors-0.2.2/src/stackos_connectors/connectors/quickbooks_online/__init__.py +1 -0
- stackos_connectors-0.2.2/src/stackos_connectors/connectors/quickbooks_online/actions.py +110 -0
- stackos_connectors-0.2.2/src/stackos_connectors/connectors/quickbooks_online/catalog.json +309 -0
- stackos_connectors-0.2.2/src/stackos_connectors/connectors/quickbooks_online/docs/auth.md +13 -0
- stackos_connectors-0.2.2/src/stackos_connectors/connectors/quickbooks_online/docs/quickbooks-online.md +24 -0
- stackos_connectors-0.2.2/src/stackos_connectors/connectors/quickbooks_online/integration.py +75 -0
- stackos_connectors-0.2.2/src/stackos_connectors/connectors/quickbooks_online/response.py +263 -0
- stackos_connectors-0.2.2/tests/auth/test_search_console_scopes.py +59 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/catalog/test_presentation.py +2 -1
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/packaging/installed_auth_consumer.py +62 -2
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/packaging/test_grouped_layout.py +1 -1
- stackos_connectors-0.2.2/tests/quickbooks_online/conftest.py +57 -0
- stackos_connectors-0.2.2/tests/quickbooks_online/test_auth.py +108 -0
- stackos_connectors-0.2.2/tests/quickbooks_online/test_reads.py +343 -0
- stackos_connectors-0.2.2/tests/web/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/.github/workflows/publish.yml +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/.gitignore +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/LICENSE +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/catalog/schema.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/catalog.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ahrefs/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ahrefs/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ahrefs/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ahrefs/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ahrefs/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aignc/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aignc/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aignc/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aignc/contract.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aignc/docs/aignc.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aignc/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/alibaba_wan/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/alibaba_wan/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/alibaba_wan/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/alibaba_wan/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/alibaba_wan/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/apollo/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/apollo/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/apollo/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/apollo/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/apollo/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aws_s3/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aws_s3/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aws_s3/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aws_s3/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aws_s3/contract.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aws_s3/docs/s3.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aws_s3/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/aws_s3/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/byteplus_seedance/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/byteplus_seedance/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/byteplus_seedance/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/byteplus_seedream/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/byteplus_seedream/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/byteplus_seedream/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/byteplus_seedream/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/clay/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/clay/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/clay/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/clay/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/clay/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/cloudflare/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/cloudflare/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/cloudflare/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/cloudflare/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/cloudflare/docs/cloudflare-dns.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/cloudflare/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/dataforseo/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/dataforseo/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/dataforseo/assets/icon.jpeg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/dataforseo/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/dataforseo/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/dataforseo/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/firecrawl/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/firecrawl/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/firecrawl/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/firecrawl/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/firecrawl/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ftp/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ftp/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ftp/assets/icon.svg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ftp/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ftp/docs/ftp.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ftp/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ftp/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ftp/remote_tree.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ghost/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ghost/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ghost/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ghost/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ghost/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ghost/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_ads/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_ads/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_ads/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_ads/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_ads/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_ads/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_ads/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_analytics/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_analytics/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_analytics/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_analytics/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_analytics/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_analytics/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_gemini_image/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_gemini_image/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_gemini_image/assets/icon.webp +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_gemini_image/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_gemini_image/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_indexing/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_indexing/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_indexing/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_indexing/docs/google-indexing.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_indexing/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_search_console/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_search_console/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_search_console/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_search_console/docs/google-search-console.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_search_console/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_tag_manager/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_tag_manager/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_tag_manager/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_tag_manager/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_tag_manager/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_tag_manager/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_veo/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_veo/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_veo/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_veo/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_veo/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_workspace/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_workspace/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_workspace/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_workspace/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_workspace/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_workspace/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/google_workspace/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/http/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/http/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/http/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/contract.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/docs/hubspot.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/docs/signatures.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/hubspot/signature.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ideogram/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ideogram/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ideogram/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ideogram/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/ideogram/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/imap/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/imap/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/imap/assets/icon.svg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/imap/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/imap/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/imap/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/imap/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/jina/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/jina/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/jina/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/jina/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/jina/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/kling_video/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/kling_video/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/kling_video/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/kling_video/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/kling_video/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/auth/viewer-organization.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/comments/create.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/comments/delete.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/comments/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/comments/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/comments/resolve.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/comments/unresolve.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/comments/update.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/cycles/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/cycles/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issue-labels/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issue-labels/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issue-relations/create.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issue-relations/delete.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issue-relations/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issue-relations/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issue-relations/update.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/add-label.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/archive.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/create.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/remove-label.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/search.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/unarchive.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/issues/update.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/projects/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/projects/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/teams/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/teams/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/users/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/users/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/viewer/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/workflow-states/get.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/graphql/workflow-states/list.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/contract.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/docs/linear.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/schemas/introspection-2026-07-23.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/schemas/introspection-2026-07-23.metadata.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/linear/schemas/root-policy-2026-07-23.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/meta_ads/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/meta_ads/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/meta_ads/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/meta_ads/auth.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/meta_ads/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/meta_ads/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/microsoft_365/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/microsoft_365/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/microsoft_365/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/microsoft_365/auth.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/microsoft_365/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/microsoft_365/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/microsoft_365/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openai_images/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openai_images/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openai_images/assets/icon.webp +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openai_images/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openai_images/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openrouter/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openrouter/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openrouter/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openrouter/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/openrouter/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/outreach/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/outreach/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/outreach/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/outreach/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/outreach/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/outreach/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/pipedrive/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/pipedrive/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/pipedrive/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/pipedrive/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/pipedrive/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/pipedrive/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/pipedrive/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/pipedrive/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reddit/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reddit/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reddit/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reddit/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reddit/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reddit/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reve/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reve/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reve/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reve/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/reve/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesforce/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesforce/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesforce/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesforce/auth.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesforce/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesforce/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesforce/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesloft/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesloft/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesloft/assets/icon.jpeg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesloft/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesloft/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesloft/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/salesloft/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/serper/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/serper/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/serper/assets/icon.svg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/serper/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/serper/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/add-customer-tag.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/create-customer.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/get-customer-lifetime-value.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/get-customer-orders.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/get-customer.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/list-customers.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/remove-customer-tag.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/search-customers.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/customers/update-customer.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/inventory/adjust-inventory.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/inventory/get-inventory-by-sku.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/inventory/get-inventory-item.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/inventory/get-location-inventory.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/inventory/list-inventory-item-availability.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/inventory/list-inventory-levels.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/inventory/list-product-variant-inventory.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/inventory/set-inventory-level.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/add-order-note.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/add-order-tag.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/create-draft-order.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/get-order-by-name.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/get-order-fulfillment-status.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/get-order-timeline.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/get-order.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/list-order-variant-quantities.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/list-orders.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/mark-order-paid.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/search-orders.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/update-order-note.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/orders/update-order-tags.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/create-collection.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/create-product-variant.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/create-product.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/get-collection.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/get-product-by-handle.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/get-product-variant.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/get-product.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/list-collections.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/list-product-variants.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/list-products.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/search-products.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/update-product-status.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/update-product-variant.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/products/update-product.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/graphql/shopifyql.graphql +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/docs/shopify.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/payloads.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/shopify/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/sitemap/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/sitemap/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/sitemap/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/sitemap/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/auth.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/constants.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/docs/signatures.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/files.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/http.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/payloads.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/results.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/slack_bot/validation.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/smtp/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/smtp/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/smtp/assets/icon.svg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/smtp/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/smtp/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/smtp/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/smtp/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/stripe/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/stripe/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/stripe/assets/icon.jpeg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/stripe/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/stripe/contract.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/stripe/docs/stripe.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/stripe/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/taboola/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/taboola/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/taboola/assets/icon.svg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/taboola/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/taboola/docs/auth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/auth.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/docs/auth-protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/docs/protocol.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/payloads.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/schema.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/tdlib/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/tdlib/native.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/tdlib/proxy.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/telegram/tdlib/sessions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/assets/agent-api/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/assets/agent-api/openapi.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/assets/agent-api/stackos-tools.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/assets.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/contract.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/docs/agent-api/README.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/docs/trackbooth.md +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/schema.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/trackbooth/transport.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/wordpress/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/wordpress/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/wordpress/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/wordpress/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/wordpress/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/wordpress/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/xai_imagine/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/xai_imagine/actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/xai_imagine/assets/icon.png +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/xai_imagine/catalog.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/connectors/xai_imagine/integration.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/contracts.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/errors.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/py.typed +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/redaction.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/registry.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/base.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/byteplus/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/byteplus/ark.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/byteplus/media.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/google/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/google/batch.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/google/oauth.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/google/probe.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/google/service_account.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/icons/integration.svg +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/media.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/oauth.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/provider_utils.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/rate_limit.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/shared/vendor_utils.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/validation.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/auth/test_auth_redaction.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/auth/test_google_service_account.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/auth/test_oauth_contracts.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/auth/test_oauth_protocol.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/auth/test_probes.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/business/conftest.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/business/fixtures/wire-contracts.json +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/business/test_hubspot_signature_protocol.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/business/test_named_actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/business/test_pipedrive_probes.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/business/test_probe_boundary.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/business/test_salesloft_probes.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/catalog/test_catalog.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/catalog/test_nested_resources.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_contract.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_native_result_boundary.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_nested_auth_redaction.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_preflight_redaction.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_public_key_facts.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_runtime.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_timeout_options.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_validation_data.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/core/test_validation_execution_outcome.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/mail_slack/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/mail_slack/test_native.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/mail_slack/test_probes_catalog.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/mail_slack/test_signature_protocol.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/media/test_aignc_native.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/media/test_generation_outcomes.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/media/test_media_files.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/media/test_named_media.py +0 -0
- {stackos_connectors-0.2.0/tests/web → stackos_connectors-0.2.2/tests/quickbooks_online}/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/safe_refs/conftest.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/safe_refs/test_linear_transport.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/safe_refs/test_safe_refs_named_actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/safe_refs/test_stripe_transport_transport.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/telegram/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/telegram/test_actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/telegram/test_authorization.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/telegram/test_closure_outcomes.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/telegram/test_native.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/telegram/test_payloads.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/telegram/test_proxy.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/telegram/test_sessions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/trackbooth/__init__.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/trackbooth/test_native.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/catalog_fixture.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/conftest.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_ahrefs.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_boundary_timeout.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_cloudflare.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_dataforseo.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_firecrawl.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_ftp.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_ftp_actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_google_analytics.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_google_indexing.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_google_indexing_batch.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_google_search_console.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_google_search_console_batch.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_google_tag_manager.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_jina_reader.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_named_clients.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_native_boundary.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_openrouter.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_reddit.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_s3.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_s3_actions.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_serper.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_shopify.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_sitemap.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_transport_defaults.py +0 -0
- {stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/tests/web/test_wordpress_ghost.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: stackos-connectors
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Named provider connectors with plain data and caller-owned authentication.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -73,6 +73,9 @@ execution; existing names cannot be replaced.
|
|
|
73
73
|
`CallOptions.timeout=None` preserves each provider's default. A numeric timeout
|
|
74
74
|
overrides that default. A supplied HTTP client remains caller-owned.
|
|
75
75
|
|
|
76
|
+
QuickBooks Online provides bounded company/invoice reads with exact invoice JSON
|
|
77
|
+
fragments and explicit OAuth. See the [provider contract](src/stackos_connectors/connectors/quickbooks_online/docs/quickbooks-online.md).
|
|
78
|
+
|
|
76
79
|
## Explicit authentication
|
|
77
80
|
|
|
78
81
|
`get_auth_contract(connector, method=..., config=...)` reads immutable provider
|
|
@@ -188,10 +191,10 @@ Python 3.12 or newer is required. Source:
|
|
|
188
191
|
Published releases can be installed with:
|
|
189
192
|
|
|
190
193
|
```bash
|
|
191
|
-
python -m pip install stackos-connectors==0.2.
|
|
194
|
+
python -m pip install stackos-connectors==0.2.2
|
|
192
195
|
```
|
|
193
196
|
|
|
194
|
-
Or add `stackos-connectors==0.2.
|
|
197
|
+
Or add `stackos-connectors==0.2.2` to your Python dependency requirements.
|
|
195
198
|
|
|
196
199
|
Install from a local checkout with `pip install /path/to/StackOSConnectors`, or
|
|
197
200
|
build a wheel with `python -m build --wheel` and install that wheel. Runtime use
|
|
@@ -57,6 +57,9 @@ execution; existing names cannot be replaced.
|
|
|
57
57
|
`CallOptions.timeout=None` preserves each provider's default. A numeric timeout
|
|
58
58
|
overrides that default. A supplied HTTP client remains caller-owned.
|
|
59
59
|
|
|
60
|
+
QuickBooks Online provides bounded company/invoice reads with exact invoice JSON
|
|
61
|
+
fragments and explicit OAuth. See the [provider contract](src/stackos_connectors/connectors/quickbooks_online/docs/quickbooks-online.md).
|
|
62
|
+
|
|
60
63
|
## Explicit authentication
|
|
61
64
|
|
|
62
65
|
`get_auth_contract(connector, method=..., config=...)` reads immutable provider
|
|
@@ -172,10 +175,10 @@ Python 3.12 or newer is required. Source:
|
|
|
172
175
|
Published releases can be installed with:
|
|
173
176
|
|
|
174
177
|
```bash
|
|
175
|
-
python -m pip install stackos-connectors==0.2.
|
|
178
|
+
python -m pip install stackos-connectors==0.2.2
|
|
176
179
|
```
|
|
177
180
|
|
|
178
|
-
Or add `stackos-connectors==0.2.
|
|
181
|
+
Or add `stackos-connectors==0.2.2` to your Python dependency requirements.
|
|
179
182
|
|
|
180
183
|
Install from a local checkout with `pip install /path/to/StackOSConnectors`, or
|
|
181
184
|
build a wheel with `python -m build --wheel` and install that wheel. Runtime use
|
|
@@ -143,6 +143,17 @@ def get_auth_contract(
|
|
|
143
143
|
return contract
|
|
144
144
|
|
|
145
145
|
|
|
146
|
+
def scope_satisfies(connector: str, required: str, granted: set[str]) -> bool:
|
|
147
|
+
"""Report documented scope compatibility; the consumer owns enforcement."""
|
|
148
|
+
if required in granted:
|
|
149
|
+
return True
|
|
150
|
+
if connector == "google-search-console":
|
|
151
|
+
from .connectors.google_search_console.auth import READ_SCOPE, WRITE_SCOPE
|
|
152
|
+
|
|
153
|
+
return required == READ_SCOPE and WRITE_SCOPE in granted
|
|
154
|
+
return False
|
|
155
|
+
|
|
156
|
+
|
|
146
157
|
def build_authorization_request(
|
|
147
158
|
connector: str,
|
|
148
159
|
*,
|
{stackos_connectors-0.2.0 → stackos_connectors-0.2.2}/src/stackos_connectors/catalog/index.json
RENAMED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"connectors/openrouter/catalog.json",
|
|
36
36
|
"connectors/outreach/catalog.json",
|
|
37
37
|
"connectors/pipedrive/catalog.json",
|
|
38
|
+
"connectors/quickbooks_online/catalog.json",
|
|
38
39
|
"connectors/reddit/catalog.json",
|
|
39
40
|
"connectors/reve/catalog.json",
|
|
40
41
|
"connectors/salesforce/catalog.json",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Search Console's explicit read and sitemap-submission OAuth scopes."""
|
|
2
|
+
|
|
3
|
+
from dataclasses import replace
|
|
4
|
+
|
|
5
|
+
from ...auth import OAuthTokenError
|
|
6
|
+
|
|
7
|
+
READ_SCOPE = "https://www.googleapis.com/auth/webmasters.readonly"
|
|
8
|
+
WRITE_SCOPE = "https://www.googleapis.com/auth/webmasters"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def resolve_contract(contract, config):
|
|
12
|
+
mode = config.get("access_mode", "readonly")
|
|
13
|
+
if mode not in ("readonly", "sitemap_write"):
|
|
14
|
+
raise OAuthTokenError(
|
|
15
|
+
"Search Console access mode must be readonly or sitemap_write",
|
|
16
|
+
provider_key=contract.provider_key,
|
|
17
|
+
invalid_fields=("access_mode",),
|
|
18
|
+
)
|
|
19
|
+
return replace(contract, scopes=(WRITE_SCOPE if mode == "sitemap_write" else READ_SCOPE,))
|
|
@@ -23,7 +23,16 @@
|
|
|
23
23
|
},
|
|
24
24
|
"config_schema": {
|
|
25
25
|
"type": "object",
|
|
26
|
-
"properties": {
|
|
26
|
+
"properties": {
|
|
27
|
+
"access_mode": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": [
|
|
30
|
+
"readonly",
|
|
31
|
+
"sitemap_write"
|
|
32
|
+
],
|
|
33
|
+
"default": "readonly"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
27
36
|
"required": []
|
|
28
37
|
},
|
|
29
38
|
"payload_format": "json",
|
|
@@ -49,6 +58,24 @@
|
|
|
49
58
|
"required": true,
|
|
50
59
|
"secret": true,
|
|
51
60
|
"type": "secret"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"key": "access_mode",
|
|
64
|
+
"label": "Access",
|
|
65
|
+
"type": "select",
|
|
66
|
+
"secret": false,
|
|
67
|
+
"required": false,
|
|
68
|
+
"options": [
|
|
69
|
+
{
|
|
70
|
+
"value": "readonly",
|
|
71
|
+
"label": "Read only"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"value": "sitemap_write",
|
|
75
|
+
"label": "Read and submit sitemaps"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"description": "Defaults to read only. Changing access requires acquiring a token with the selected scope."
|
|
52
79
|
}
|
|
53
80
|
],
|
|
54
81
|
"description": "The consumer handles Google browser consent, state and callbacks. Exchange the resulting authorization code with request_token. Execution accepts the resolved access_token; credential storage and refresh scheduling remain consumer-owned.",
|
|
@@ -80,7 +107,16 @@
|
|
|
80
107
|
},
|
|
81
108
|
"config_schema": {
|
|
82
109
|
"type": "object",
|
|
83
|
-
"properties": {
|
|
110
|
+
"properties": {
|
|
111
|
+
"access_mode": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"enum": [
|
|
114
|
+
"readonly",
|
|
115
|
+
"sitemap_write"
|
|
116
|
+
],
|
|
117
|
+
"default": "readonly"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
84
120
|
"required": []
|
|
85
121
|
},
|
|
86
122
|
"payload_format": "json",
|
|
@@ -96,6 +132,24 @@
|
|
|
96
132
|
"required": true,
|
|
97
133
|
"secret": true,
|
|
98
134
|
"type": "secret"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"key": "access_mode",
|
|
138
|
+
"label": "Access",
|
|
139
|
+
"type": "select",
|
|
140
|
+
"secret": false,
|
|
141
|
+
"required": false,
|
|
142
|
+
"options": [
|
|
143
|
+
{
|
|
144
|
+
"value": "readonly",
|
|
145
|
+
"label": "Read only"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"value": "sitemap_write",
|
|
149
|
+
"label": "Read and submit sitemaps"
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"description": "Defaults to read only. Changing access requires acquiring a token with the selected scope."
|
|
99
153
|
}
|
|
100
154
|
],
|
|
101
155
|
"description": "Obtain a Google access token with the required provider scopes and permissions before execution.",
|
|
@@ -126,7 +180,16 @@
|
|
|
126
180
|
},
|
|
127
181
|
"config_schema": {
|
|
128
182
|
"type": "object",
|
|
129
|
-
"properties": {
|
|
183
|
+
"properties": {
|
|
184
|
+
"access_mode": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"enum": [
|
|
187
|
+
"readonly",
|
|
188
|
+
"sitemap_write"
|
|
189
|
+
],
|
|
190
|
+
"default": "readonly"
|
|
191
|
+
}
|
|
192
|
+
},
|
|
130
193
|
"required": []
|
|
131
194
|
},
|
|
132
195
|
"payload_format": "json",
|
|
@@ -162,6 +225,24 @@
|
|
|
162
225
|
"required": true,
|
|
163
226
|
"secret": true,
|
|
164
227
|
"type": "secret"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"key": "access_mode",
|
|
231
|
+
"label": "Access",
|
|
232
|
+
"type": "select",
|
|
233
|
+
"secret": false,
|
|
234
|
+
"required": false,
|
|
235
|
+
"options": [
|
|
236
|
+
{
|
|
237
|
+
"value": "readonly",
|
|
238
|
+
"label": "Read only"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"value": "sitemap_write",
|
|
242
|
+
"label": "Read and submit sitemaps"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"description": "Defaults to read only. Changing access requires acquiring a token with the selected scope."
|
|
165
246
|
}
|
|
166
247
|
],
|
|
167
248
|
"description": "Exchange the Google refresh token for an access token with an explicit request_token call. Execution accepts the resolved access_token; credential storage and refresh scheduling remain consumer-owned.",
|
|
@@ -192,7 +273,16 @@
|
|
|
192
273
|
},
|
|
193
274
|
"config_schema": {
|
|
194
275
|
"type": "object",
|
|
195
|
-
"properties": {
|
|
276
|
+
"properties": {
|
|
277
|
+
"access_mode": {
|
|
278
|
+
"type": "string",
|
|
279
|
+
"enum": [
|
|
280
|
+
"readonly",
|
|
281
|
+
"sitemap_write"
|
|
282
|
+
],
|
|
283
|
+
"default": "readonly"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
196
286
|
"required": []
|
|
197
287
|
},
|
|
198
288
|
"payload_format": "json",
|
|
@@ -208,6 +298,24 @@
|
|
|
208
298
|
"required": true,
|
|
209
299
|
"secret": true,
|
|
210
300
|
"type": "secret"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"key": "access_mode",
|
|
304
|
+
"label": "Access",
|
|
305
|
+
"type": "select",
|
|
306
|
+
"secret": false,
|
|
307
|
+
"required": false,
|
|
308
|
+
"options": [
|
|
309
|
+
{
|
|
310
|
+
"value": "readonly",
|
|
311
|
+
"label": "Read only"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"value": "sitemap_write",
|
|
315
|
+
"label": "Read and submit sitemaps"
|
|
316
|
+
}
|
|
317
|
+
],
|
|
318
|
+
"description": "Defaults to read only. Changing access requires acquiring a token with the selected scope."
|
|
211
319
|
}
|
|
212
320
|
],
|
|
213
321
|
"description": "Use request_token with the Google service-account key to acquire an access token. Execution accepts the resolved access_token; provider resource access must be granted separately. Credential storage and refresh scheduling remain consumer-owned.",
|
|
@@ -778,5 +886,6 @@
|
|
|
778
886
|
"consent"
|
|
779
887
|
]
|
|
780
888
|
]
|
|
781
|
-
}
|
|
889
|
+
},
|
|
890
|
+
"auth_implementation": "stackos_connectors.connectors.google_search_console.auth:resolve_contract"
|
|
782
891
|
}
|
|
@@ -9,6 +9,18 @@ The [bundled catalog](../catalog.json) is the installed contract for method fiel
|
|
|
9
9
|
| `oauth2_refresh_token` | `refresh_token` |
|
|
10
10
|
| `service-account` | `jwt_bearer` |
|
|
11
11
|
|
|
12
|
+
All four methods expose `access_mode`: omitted or `readonly` requests
|
|
13
|
+
`https://www.googleapis.com/auth/webmasters.readonly`; explicit `sitemap_write`
|
|
14
|
+
requests `https://www.googleapis.com/auth/webmasters`. Keep the saved selection
|
|
15
|
+
when renewing a service-account token. Changing it requires fresh grant evidence;
|
|
16
|
+
OAuth consent must be repeated when a new scope is needed. Selecting a mode does
|
|
17
|
+
not expand a manually supplied token's permissions.
|
|
18
|
+
|
|
19
|
+
The full `webmasters` scope also permits read operations. Consumers can use
|
|
20
|
+
`stackos_connectors.auth.scope_satisfies` to check that documented relationship
|
|
21
|
+
without changing stored provider scope evidence. Read-only scope never satisfies
|
|
22
|
+
a sitemap submission requirement. Property permissions remain separate.
|
|
23
|
+
|
|
12
24
|
Service-account token success does not establish Search Console property access. Inventory probes can succeed with no properties. Google Indexing is a separate resolved-token contract; no new Indexing JWT grant is supplied.
|
|
13
25
|
|
|
14
26
|
`request_token` receives resolved application/key fields and performs only the requested grant. Actions and `probe_credentials` receive resolved execution fields. Discovery, probes and actions never acquire or refresh implicitly. The consumer owns credential/state/PKCE custody, callbacks, refresh timing and concurrency, permissions, persistence and audit. Token results and authorization URLs are sensitive in-process values.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""QuickBooks Online named reads and explicit OAuth declarations."""
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"""The two bounded QuickBooks Online read actions."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import Callable
|
|
6
|
+
from contextlib import AsyncExitStack
|
|
7
|
+
from functools import partial
|
|
8
|
+
|
|
9
|
+
import httpx
|
|
10
|
+
|
|
11
|
+
from stackos_connectors import ConnectorRequest, ConnectorResult, ValidationIssue
|
|
12
|
+
from stackos_connectors.redaction import auth_secret_values, redact_secret_values
|
|
13
|
+
|
|
14
|
+
from .integration import QuickBooksIntegration
|
|
15
|
+
from .response import (
|
|
16
|
+
CompanyInfo,
|
|
17
|
+
InvoicePage,
|
|
18
|
+
calendar_date,
|
|
19
|
+
invalid_response,
|
|
20
|
+
parse_company_info,
|
|
21
|
+
parse_invoice_page,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class QuickBooksActionConnector:
|
|
26
|
+
key = "quickbooks-online"
|
|
27
|
+
|
|
28
|
+
def validate(self, request: ConnectorRequest) -> list[ValidationIssue]:
|
|
29
|
+
if request.operation != "invoices.list":
|
|
30
|
+
return []
|
|
31
|
+
try:
|
|
32
|
+
first = calendar_date(request.input_json["txn_date_from"])
|
|
33
|
+
last = calendar_date(request.input_json["txn_date_to"])
|
|
34
|
+
if first > last:
|
|
35
|
+
raise ValueError("reversed dates")
|
|
36
|
+
except ValueError:
|
|
37
|
+
return [
|
|
38
|
+
ValidationIssue(path="$.txn_date_from", message="Dates must be valid and ordered")
|
|
39
|
+
]
|
|
40
|
+
return []
|
|
41
|
+
|
|
42
|
+
def estimate_cost_cents(self, request: ConnectorRequest) -> int:
|
|
43
|
+
return 0
|
|
44
|
+
|
|
45
|
+
async def execute(self, request: ConnectorRequest) -> ConnectorResult:
|
|
46
|
+
assert request.auth is not None
|
|
47
|
+
config = request.auth.config
|
|
48
|
+
secrets = auth_secret_values(request.auth)
|
|
49
|
+
realm = config["realm_id"]
|
|
50
|
+
path, params, parser = _read_parameters(request, secrets)
|
|
51
|
+
async with AsyncExitStack() as stack:
|
|
52
|
+
http = request.options.http
|
|
53
|
+
if http is None:
|
|
54
|
+
http = await stack.enter_async_context(
|
|
55
|
+
httpx.AsyncClient(timeout=30.0, follow_redirects=False)
|
|
56
|
+
)
|
|
57
|
+
integration = QuickBooksIntegration(
|
|
58
|
+
payload=b"",
|
|
59
|
+
http=http,
|
|
60
|
+
timeout=request.options.timeout,
|
|
61
|
+
rate_limiter=request.options.rate_limiter,
|
|
62
|
+
)
|
|
63
|
+
result = await integration.read(
|
|
64
|
+
op=request.operation,
|
|
65
|
+
environment=config["environment"],
|
|
66
|
+
realm_id=realm,
|
|
67
|
+
token=request.auth.fields["access_token"],
|
|
68
|
+
path=path,
|
|
69
|
+
params=params,
|
|
70
|
+
parser=parser,
|
|
71
|
+
)
|
|
72
|
+
if redact_secret_values(result.data, secrets) != result.data:
|
|
73
|
+
raise invalid_response()
|
|
74
|
+
return ConnectorResult(
|
|
75
|
+
output_json=result.data,
|
|
76
|
+
metadata_json={"vendor": self.key, "operation": request.operation},
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def _read_parameters(
|
|
81
|
+
request: ConnectorRequest, secrets: tuple[str, ...]
|
|
82
|
+
) -> tuple[str, dict[str, str] | None, Callable[[httpx.Response], CompanyInfo | InvoicePage]]:
|
|
83
|
+
assert request.auth is not None
|
|
84
|
+
realm = request.auth.config["realm_id"]
|
|
85
|
+
if request.operation == "company-info.get":
|
|
86
|
+
return (
|
|
87
|
+
f"companyinfo/{realm}",
|
|
88
|
+
None,
|
|
89
|
+
partial(parse_company_info, secrets=secrets, realm_id=realm),
|
|
90
|
+
)
|
|
91
|
+
data = request.input_json
|
|
92
|
+
parser = partial(
|
|
93
|
+
parse_invoice_page,
|
|
94
|
+
secrets=secrets,
|
|
95
|
+
start=data["start_position"],
|
|
96
|
+
limit=data["max_results"],
|
|
97
|
+
date_from=data["txn_date_from"],
|
|
98
|
+
date_to=data["txn_date_to"],
|
|
99
|
+
)
|
|
100
|
+
query = _invoice_query(
|
|
101
|
+
data["txn_date_from"], data["txn_date_to"], data["start_position"], data["max_results"]
|
|
102
|
+
)
|
|
103
|
+
return "query", {"query": query}, parser
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def _invoice_query(date_from: str, date_to: str, start: int, limit: int) -> str:
|
|
107
|
+
return (
|
|
108
|
+
f"select * from Invoice where TxnDate >= '{date_from}' and TxnDate <= '{date_to}' "
|
|
109
|
+
f"STARTPOSITION {start} MAXRESULTS {limit}"
|
|
110
|
+
)
|