* allow for spec to be defined in the source.yaml manifest instead of an external file
* make spec a component within the language to get schema validation and rework the code for better testing
* fix formatting and extra method
* pr feedback and add some more test
* pr feedback
* bump airbyte-cdk version
* bump version
* gradle format
* remove from manifest spec
* replace emptySchemaLoader with DefaultSchemaLoader
* fix test name
* fix test
* add logging for when we default to the empty schema
* increment patch version
* fix formatting
* update changelog
* use mockschemaloader as the default and rename JsonSchema to JsonFileSchemaLoader
* rename mock to EmptySchemaLoader
* retain existing JsonSchema while hacktoberfest is still in progress
* bump version and changelog
* support custom error messaging for error response + retryable errors
* remove changed backoff i was using for testing
* refactor filter to construct response status internally
* pr feedback
* bump version and update changelog
* schema helpers raises a config_error
* traced exceptions can be turned into connection status messages
* add tests for schema helpers
* return a failed status message rather than throwing in check command
* remove unused imports
* add comment
* bump version / update changelog
* Added new "filters" python file, along with a "hash" filter. This can be extended to include other custom filters in the future.
* Added additional comments
* Moved usage of the hash_obj inside the conditional that confirms it exists
* Moved the hash function call inside a condition to ensure that it exists
* Fixed the application of the salt , so that it does not modify the hash unless it is actually passed in.
* Added unit tests to validate new jinja hash functionality
* Updated unit test to pass numeric value as a float instead of string
* Removed unreferenced import to pytest
* Updated version
* format
* format
* format
* format
* format
Co-authored-by: Alexandre Girard <alexandre@airbyte.io>
* Update lowcode docs
* Update
* fix links
* more links
* Schemas
* indent
* Update docs/connector-development/config-based/advanced-topics.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/advanced-topics.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/low-code-cdk-overview.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/request-options.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/requester.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/stream-slicers.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/requester.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/error-handling.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* capitalization
* fix schema
* fix schema
* small changes so greenhouse validates
* fix brackets
* update code samples
* Add missing types
* fix
* reset
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Improve airbyte cdk invalid message data type error message
* Test cdk invalid message data type custom error is raised
* Fix test to pass stream as a string
* Add valid record message data input type test
* Add object type and value to AirbyteRecordMessage validator message
Co-authored-by: Alexandre Girard <alexandre@airbyte.io>
* input can only be a string
* remove debug print
* cleanup tests
* fix in the factory
* Add a unit test
* fix for lists
* Update changelog
* Update changelog
* update abstract source and connector state manager to update shared and stream state
* clean up some extra comments and extra lines
* a few changes based on PR feedback
* remove separate legacy map from state manager and simplify mapping to descriptor -> state blob
* rename a few paramets and add testing for state update via stream.state override
* replace shared_state processing with an explicit error and fix a few comments and pr feedback
* add some polish and additional test cases
* Add create_state_message to manager and emit per-stream state for connectors
* pr feedback and restructuring parts of the connector state manager initialization
* fix unfinished comment
* Update airbyte-cdk/python/unit_tests/sources/test_abstract_source.py
Co-authored-by: Augustin <augustin.lafanechere@gmail.com>
* use pytest params to annotate tests better
* change to fix changed class name
* format test params a little better
* Update airbyte-cdk/python/airbyte_cdk/sources/connector_state_manager.py
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* a few bits of pr feedback
* do not emit namespace in the outbound message if it is None
* fix some issues w/ prior merge from master and pr feedback
* add new tests to ensure we never send None namespace to the platform
* bump CDK version number
Co-authored-by: Augustin <augustin.lafanechere@gmail.com>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* update abstract source and connector state manager to update shared and stream state
* clean up some extra comments and extra lines
* a few changes based on PR feedback
* remove separate legacy map from state manager and simplify mapping to descriptor -> state blob
* rename a few paramets and add testing for state update via stream.state override
* replace shared_state processing with an explicit error and fix a few comments and pr feedback
* add some polish and additional test cases
* pr feedback and restructuring parts of the connector state manager initialization
* fix unfinished comment
* Update airbyte-cdk/python/unit_tests/sources/test_abstract_source.py
Co-authored-by: Augustin <augustin.lafanechere@gmail.com>
* use pytest params to annotate tests better
* change to fix changed class name
* Update airbyte-cdk/python/airbyte_cdk/sources/connector_state_manager.py
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* a few bits of pr feedback
* pr feedback and cleaning up some comments and variable renames
Co-authored-by: Augustin <augustin.lafanechere@gmail.com>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>