Skip to content

Commit 19b7f73

Browse files
chore: merge main into PR branch
Resolve merge conflicts: - overlays/python_speakeasy.yaml: include both connector model removal actions and the RowFilteringOperationNot circular-ref fix from main - src/airbyte_api/models/__init__.py: keep ours (generated, will be regenerated by /generate) Co-Authored-By: AJ Steers <aj@airbyte.io>
2 parents bfa15a0 + ad179fe commit 19b7f73

6 files changed

Lines changed: 41 additions & 31 deletions

File tree

docs/models/rowfilteringoperation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
value: models.RowFilteringOperationEqual = /* values here */
1010
```
1111

12-
### `models.RowFilteringOperationNot1`
12+
### `models.RowFilteringOperationNot`
1313

1414
```python
15-
value: models.RowFilteringOperationNot1 = /* values here */
15+
value: models.RowFilteringOperationNot = /* values here */
1616
```
1717

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# RowFilteringOperationNot
2+
3+
4+
## Fields
5+
6+
| Field | Type | Required | Description |
7+
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
8+
| `conditions` | List[[models.RowFilteringOperationEqual](../models/rowfilteringoperationequal.md)] | :heavy_check_mark: | Conditions to evaluate with the NOT operator. |
9+
| `type` | [models.RowFilteringOperationType](../models/rowfilteringoperationtype.md) | :heavy_check_mark: | N/A |

docs/models/rowfilteringoperationnot1.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

overlays/python_speakeasy.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,17 @@ actions:
8686
update:
8787
type: string
8888
description: "The name of the OAuth-enabled connector (e.g. 'github', 'google-ads')."
89+
90+
# Workaround for Speakeasy circular-ref model_rebuild() bug.
91+
# See: https://github.com/airbytehq/airbyte-api-python-sdk/issues/186
92+
#
93+
# Break the circular $ref: RowFilteringOperationNot.conditions references
94+
# RowFilteringOperation, which references RowFilteringOperationNot again.
95+
# This causes Speakeasy to use TYPE_CHECKING imports and miss model_rebuild()
96+
# calls for dependent models (ConnectionResponse, StreamConfigurations, etc.).
97+
#
98+
# Fix: point conditions.items directly at RowFilteringOperationEqual,
99+
# removing the recursion. NOT(NOT(x)) = x, so nested NOT is redundant.
100+
- target: "$.components.schemas.RowFilteringOperationNot.properties.conditions.items"
101+
update:
102+
$ref: "#/components/schemas/RowFilteringOperationEqual"

src/airbyte_api/models/rowfilteringoperation.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,26 @@
55
RowFilteringOperationEqual,
66
RowFilteringOperationEqualTypedDict,
77
)
8+
from .rowfilteringoperationnot import (
9+
RowFilteringOperationNot,
10+
RowFilteringOperationNotTypedDict,
11+
)
812
from airbyte_api.utils import get_discriminator
913
from pydantic import Discriminator, Tag
10-
from typing import TYPE_CHECKING, Union
14+
from typing import Union
1115
from typing_extensions import Annotated, TypeAliasType
1216

13-
if TYPE_CHECKING:
14-
from .rowfilteringoperationnot_1 import (
15-
RowFilteringOperationNot1,
16-
RowFilteringOperationNot1TypedDict,
17-
)
18-
1917

2018
RowFilteringOperationTypedDict = TypeAliasType(
2119
"RowFilteringOperationTypedDict",
22-
Union["RowFilteringOperationNot1TypedDict", RowFilteringOperationEqualTypedDict],
20+
Union[RowFilteringOperationNotTypedDict, RowFilteringOperationEqualTypedDict],
2321
)
2422

2523

2624
RowFilteringOperation = Annotated[
2725
Union[
2826
Annotated[RowFilteringOperationEqual, Tag("EQUAL")],
29-
Annotated["RowFilteringOperationNot1", Tag("NOT")],
27+
Annotated[RowFilteringOperationNot, Tag("NOT")],
3028
],
3129
Discriminator(lambda m: get_discriminator(m, "type", "type")),
3230
]
Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,24 @@
11
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
22

33
from __future__ import annotations
4+
from .rowfilteringoperationequal import (
5+
RowFilteringOperationEqual,
6+
RowFilteringOperationEqualTypedDict,
7+
)
48
from .rowfilteringoperationtype import RowFilteringOperationType
59
from airbyte_api.types import BaseModel
6-
from typing import List, TYPE_CHECKING
10+
from typing import List
711
from typing_extensions import TypedDict
812

9-
if TYPE_CHECKING:
10-
from .rowfilteringoperation import (
11-
RowFilteringOperation,
12-
RowFilteringOperationTypedDict,
13-
)
1413

15-
16-
class RowFilteringOperationNot1TypedDict(TypedDict):
17-
conditions: List["RowFilteringOperationTypedDict"]
14+
class RowFilteringOperationNotTypedDict(TypedDict):
15+
conditions: List[RowFilteringOperationEqualTypedDict]
1816
r"""Conditions to evaluate with the NOT operator."""
1917
type: RowFilteringOperationType
2018

2119

22-
class RowFilteringOperationNot1(BaseModel):
23-
conditions: List["RowFilteringOperation"]
20+
class RowFilteringOperationNot(BaseModel):
21+
conditions: List[RowFilteringOperationEqual]
2422
r"""Conditions to evaluate with the NOT operator."""
2523

2624
type: RowFilteringOperationType

0 commit comments

Comments
 (0)