Skip to content

Commit 66488b2

Browse files
committed
Fix connectors base
1 parent 556042c commit 66488b2

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

airbyte-cdk/python/airbyte_cdk/models/airbyte_protocol.py

+33
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class Type(Enum):
2020
SPEC = "SPEC"
2121
CONNECTION_STATUS = "CONNECTION_STATUS"
2222
CATALOG = "CATALOG"
23+
TRACE = "TRACE"
2324

2425

2526
class AirbyteRecordMessage(BaseModel):
@@ -59,6 +60,25 @@ class Config:
5960
message: str = Field(..., description="the log message")
6061

6162

63+
class Type1(Enum):
64+
ERROR = "ERROR"
65+
66+
67+
class FailureType(Enum):
68+
system_error = "system_error"
69+
config_error = "config_error"
70+
71+
72+
class AirbyteErrorTraceMessage(BaseModel):
73+
class Config:
74+
extra = Extra.allow
75+
76+
message: str = Field(..., description="A user-friendly message that indicates the cause of the error")
77+
internal_message: Optional[str] = Field(None, description="The internal error that caused the failure")
78+
stack_trace: Optional[str] = Field(None, description="The full stack trace of the error")
79+
failure_type: Optional[FailureType] = Field(None, description="The type of error")
80+
81+
6282
class Status(Enum):
6383
SUCCEEDED = "SUCCEEDED"
6484
FAILED = "FAILED"
@@ -137,6 +157,15 @@ class OAuthConfigSpecification(BaseModel):
137157
)
138158

139159

160+
class AirbyteTraceMessage(BaseModel):
161+
class Config:
162+
extra = Extra.allow
163+
164+
type: Type1 = Field(..., description="the type of trace message")
165+
emitted_at: float = Field(..., description="the time in ms that the message was emitted")
166+
error: Optional[AirbyteErrorTraceMessage] = Field(None, description="error trace message: the error object")
167+
168+
140169
class AirbyteStream(BaseModel):
141170
class Config:
142171
extra = Extra.allow
@@ -246,6 +275,10 @@ class Config:
246275
None,
247276
description="schema message: the state. Must be the last message produced. The platform uses this information",
248277
)
278+
trace: Optional[AirbyteTraceMessage] = Field(
279+
None,
280+
description="trace message: a message to communicate information about the status and performance of a connector",
281+
)
249282

250283

251284
class AirbyteProtocol(BaseModel):

airbyte-integrations/bases/airbyte-protocol/airbyte_protocol/models/airbyte_protocol.py

+32
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class Type(Enum):
2020
SPEC = "SPEC"
2121
CONNECTION_STATUS = "CONNECTION_STATUS"
2222
CATALOG = "CATALOG"
23+
TRACE = "TRACE"
2324

2425

2526
class AirbyteRecordMessage(BaseModel):
@@ -56,6 +57,25 @@ class Config:
5657
message: str = Field(..., description="the log message")
5758

5859

60+
class Type1(Enum):
61+
ERROR = "ERROR"
62+
63+
64+
class FailureType(Enum):
65+
system_error = "system_error"
66+
config_error = "config_error"
67+
68+
69+
class AirbyteErrorTraceMessage(BaseModel):
70+
class Config:
71+
extra = Extra.allow
72+
73+
message: str = Field(..., description="A user-friendly message that indicates the cause of the error")
74+
internal_message: Optional[str] = Field(None, description="The internal error that caused the failure")
75+
stack_trace: Optional[str] = Field(None, description="The full stack trace of the error")
76+
failure_type: Optional[FailureType] = Field(None, description="The type of error")
77+
78+
5979
class Status(Enum):
6080
SUCCEEDED = "SUCCEEDED"
6181
FAILED = "FAILED"
@@ -133,6 +153,15 @@ class OAuthConfigSpecification(BaseModel):
133153
)
134154

135155

156+
class AirbyteTraceMessage(BaseModel):
157+
class Config:
158+
extra = Extra.allow
159+
160+
type: Type1 = Field(..., description="the type of trace message")
161+
emitted_at: float = Field(..., description="the time in ms that the message was emitted")
162+
error: Optional[AirbyteErrorTraceMessage] = Field(None, description="error trace message: the error object")
163+
164+
136165
class AirbyteStream(BaseModel):
137166
class Config:
138167
extra = Extra.allow
@@ -231,6 +260,9 @@ class Config:
231260
state: Optional[AirbyteStateMessage] = Field(
232261
None, description="schema message: the state. Must be the last message produced. The platform uses this information"
233262
)
263+
trace: Optional[AirbyteTraceMessage] = Field(
264+
None, description="trace message: a message to communicate information about the status and performance of a connector"
265+
)
234266

235267

236268
class AirbyteProtocol(BaseModel):

0 commit comments

Comments
 (0)