@@ -20,6 +20,7 @@ class Type(Enum):
20
20
SPEC = "SPEC"
21
21
CONNECTION_STATUS = "CONNECTION_STATUS"
22
22
CATALOG = "CATALOG"
23
+ TRACE = "TRACE"
23
24
24
25
25
26
class AirbyteRecordMessage (BaseModel ):
@@ -56,6 +57,25 @@ class Config:
56
57
message : str = Field (..., description = "the log message" )
57
58
58
59
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
+
59
79
class Status (Enum ):
60
80
SUCCEEDED = "SUCCEEDED"
61
81
FAILED = "FAILED"
@@ -133,6 +153,15 @@ class OAuthConfigSpecification(BaseModel):
133
153
)
134
154
135
155
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
+
136
165
class AirbyteStream (BaseModel ):
137
166
class Config :
138
167
extra = Extra .allow
@@ -231,6 +260,9 @@ class Config:
231
260
state : Optional [AirbyteStateMessage ] = Field (
232
261
None , description = "schema message: the state. Must be the last message produced. The platform uses this information"
233
262
)
263
+ trace : Optional [AirbyteTraceMessage ] = Field (
264
+ None , description = "trace message: a message to communicate information about the status and performance of a connector"
265
+ )
234
266
235
267
236
268
class AirbyteProtocol (BaseModel ):
0 commit comments