* save working version of minimal landing page
* move landing page to own component and show Toast on invalid yaml
* add default Untitled connector name
* save styling progress
* style the landing page
* use card component
* reword descriptions
* undo unnecessary syntax change
* use file name as connector name
* move showLandingPage to global state and set to true on reset
* fix e2e test
* move local storage hooks into a separate service/context
* move landing page to its own page
* update doc
* move full file input handling logic into callback
* use hidden
* clear out notification on unmount
* use url if filename is 'manifest'
* add comment
---------
Co-authored-by: Joe Reuter <joe@airbyte.io>
* initial work to parse manifest objects into pydantic models
* pr feedback and some other validations
* rerun manifest schema generation
* remove field constraint due to bug
* initial work to construct most components from greenhouse
* custom components parse subcomponent fields correctly and adding a few more component constructors
* construct components from gnews
* first pass at posthog.yaml
* Handle nested custom components with list values.
Also includes updates to posthog.yaml, including autoformatting changes.
* adding constructors for slicers, filters, and transformations and a few bug fixes
* make sed work across multiple OS
* add NoAuth component
* fix handling of custom components with nested list
* Autogenerate `TYPE_NAME_TO_MODEL` mapping
* Handle default kwargs not defined on model for custom components
* Re-add `options` for CartesianProductStreamSlicer for backwards compat
with custom stream slicers
* add basic unit tests for the model component factory
* add back defaults and extra parameters like options to retain compatibility with legacy flow and backwards compatibility
* Remove `_get_defaults`; using actual default values on classes instead
* Add backoff strategy component creation functions
* add back defaults and extra parameters like options to retain compatibility with legacy flow and backwards compatibility
* add lots of tests to construct components from the pydantic models and a few bug fixes
* add a few tests for the model to component factory
* add catch
* fix a bug where propagated schema doesn't work with old factory
* clean up a few files
* add type inference for custom components, more tests and some refactoring of the model factory
* template, docs, manifest updates, pr feedback and some cleanup
* pr feedback and polish schema a bit
* fix tests from the latest rebase of master
* fix the last few bugs I found and adjust a few sources that weren't perfectly compatible with the new component flow
* fix CheckStream bug cleanup and a few small tweaks and polish
* add additional test to cover bug case
* fix formatting
* 🤖 Bump minor version of Airbyte CDK
Co-authored-by: Catherine Noll <noll.catherine@gmail.com>
Co-authored-by: brianjlai <brianjlai@users.noreply.github.com>
* handwritten low code manifest example components
* add MinMaxDatetime to jsonschema
* add a basic gradle command to generate manifest components
* Add auth components to handwritten component schema
- ApiKeyAuthenticator
- BasicHttpAuthenticator
- BearerAuthenticator
- DeclarativeOauth2Authenticator
- NoAuth
* Respect optional properties in DeclarativeOauth2Authenticator
* Fix `Dict[str, Any]` mapping in auth components
* add default error handler composite error handler and http response filter components
* [low code component schema] adding backoff strategies to schema
* [low code component schema] fix float types
* [low code component schema] add RecordFilter
* Remove `config` from auth components
* [low code component schema] add Interpolation (with pending question on 'type' not being defined)
* Add CartesianProductStreamSlicer & DatetimeStreamSlicer
* Add ListStreamSlicer, and fix nesting of DatetimeStreamSlicer
* [low code component schema] add InterpolatedRequestOptionsProvider
* Add slicer components, and fix a couple of components after reviewing output
* [low code component schema] adding transformations and adding type to interpolators
* adding spec and a few small tweaks
* Add DefaultSchemaLoader
* [low code component schema] attempt on custom class
* Add descriptions for auth components
* add RequestOption
* remove interpolated objects from the schema in favor of strings only
* a few schema fixes and adding some custom pagination and stream slicer
* [low code component schema] fix CustomBackoffStrategy
* Add CustomRecordExtractor
* add some description and add additional properties
* insert a transformer to hydrate default manifest components and perform validation against the handwritten schema
* [low code component schema] validating existing schemas
* [low code component schema] clean validation script
* add manifest transformer tests and a few tweaks to the schema
* Revert "[low code component schema] clean validation script"
This reverts commit 2408f41cf6.
* Revert "[low code component schema] validating existing schemas"
This reverts commit 9d39977815.
* [low code component schema] integrate validation script to gradle
* [low code component schema] updating validation script permissions
* remove a few model gen spike files and clean up comments
* default types should take parent type into account and a few schema changes
* add inline schema components and fix validation bugs
* add types to every component's literal enum and more little schema fixes
* missing component prefix
* pr feedback, renaming the schema and updating various docs
* fixing schema bugs from testing and new components
* last few small tweaks and fixes and fix the script
* bump the version before publsih
* include the declarative_component_schema.yaml as package data so its included when package is published
* roll the version to publish
Co-authored-by: Catherine Noll <noll.catherine@gmail.com>
Co-authored-by: maxi297 <maxime@airbyte.io>
Enable low-code CDK users to specify schema in the manifest
Also update documentation:
* Add inline schema loader info to yaml-overview.md
* Include inline schema info in tutorial
* Update 5-incremental-reads.md in response of Issue #20047
Added the suggested solution from issuer.
* Updated 5-incremental-reads.md #2
Appended the suggested +00:00 into another occurence. Datetime format now corresponds to standards defined in ISO-8601.
* Fix: Low Code Connector tutorial yaml #20071
Removes a duplicate of the paragraph that begins "Note that we're also setting the `stream_cursor_field` in the stream's `$options`..." which followed an outdated schema.
* 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>
* add if
* add of
* add clause stating that it starts out with dummy data
* use same format as in code below
* capitalize first word of sentence
* fix typo
* undo unintentional changes
* add quotes around values
* Update docs
* move substreams to another file
* Update link
* rename
* link to alpha definition
* Update docs/connector-development/config-based/index.md
Co-authored-by: Andy <andy@airbyte.io>
Co-authored-by: Andy <andy@airbyte.io>
* draft: first pass at complete schema language generation and factory validator
* actually a working validator and fixes to the schema that went uncaught
* remove extra spike file
* fix formatting file
* Add method to generate the complete JSON schema of the low code declarative language
* add testing of a few components during schema gen
* pr feedback and a little bit of refactoring
* test for schema version
* fix some types that were erroneously marked as invalid schema
* some comments
* add jsonschemamixin to interfaces
* update tests now that interfaces are jsonschemamixin
* accidentally removed a mixin
* remove unneeded test
* make comment a little more clear
* update changelog
* bump version
* generic enum not enum class
* Add method to generate the complete JSON schema of the low code declarative language
* add testing of a few components during schema gen
* test for schema version
* update tests now that interfaces are jsonschemamixin
* accidentally removed a mixin
* remove unneeded test
* make comment a little more clear
* generic enum not enum class
* add generated json file and update docs to reference it
* verbage