airbytehq / airbytehq/PyAirbyte
Bug: Secret references to non-string fields are injected as strings, causing validation failures
- Lingua principale
- Python
- Stelle
- 344
- Fork
- 77
- Merge medio
- 1g 11h
- PR unite (30g)
- 35
Descrizione
## Description
When a secret reference is used to point to a non-string field (such as 'port'), the value is injected as a string. This can cause validation to fail due to type mismatch.
## Example
If a connector config has a numeric field like `port` and it's provided via secret reference:
```json
{
"host": "localhost",
"port": "secret_reference::MY_PORT_SECRET"
}
```
The secret value is injected as a string (e.g., `"5432"`) instead of being cast to the correct type (e.g., `5432`), causing JSON schema validation to fail.
## Proposed Solution
Use the connector's JSON schema (from `connectionSpecification`) to infer when a secret reference needs to be cast to a numeric type rather than keeping it as a string.
For now, we can focus on the generic numeric type and ignore other types.
## Context
This is relevant to the work in #850 and PR #851, where we're adding the ability to fetch connector specs from the registry. Having access to the JSON schema enables proper type casting of secret references without requiring local connector execution.
## Related
- Issue #850
- PR #851
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.