airbytehq / airbytehq/PyAirbyte

Bug: Secret references to non-string fields are injected as strings, causing validation failures

Aperta
#852 1 commento 1 reazione 0 assegnatari Vedi su GitHub
bug enhancement
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.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.