airbyte-agent-greenhouse 0.17.48__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airbyte_agent_greenhouse/__init__.py +105 -0
- airbyte_agent_greenhouse/_vendored/__init__.py +1 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/__init__.py +82 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/auth_strategies.py +1120 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/auth_template.py +135 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/cloud_utils/__init__.py +5 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/cloud_utils/client.py +213 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/connector_model_loader.py +965 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/constants.py +78 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/exceptions.py +23 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/executor/__init__.py +31 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/executor/hosted_executor.py +196 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/executor/local_executor.py +1724 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/executor/models.py +190 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/extensions.py +693 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/http/__init__.py +37 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/http/adapters/__init__.py +9 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/http/adapters/httpx_adapter.py +251 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/http/config.py +98 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/http/exceptions.py +119 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/http/protocols.py +114 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/http/response.py +104 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/http_client.py +693 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/introspection.py +262 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/logging/__init__.py +11 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/logging/logger.py +273 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/logging/types.py +93 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/observability/__init__.py +11 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/observability/config.py +179 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/observability/models.py +19 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/observability/redactor.py +81 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/observability/session.py +103 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/performance/__init__.py +6 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/performance/instrumentation.py +57 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/performance/metrics.py +93 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/schema/__init__.py +75 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/schema/base.py +164 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/schema/components.py +239 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/schema/connector.py +120 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/schema/extensions.py +230 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/schema/operations.py +146 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/schema/security.py +223 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/secrets.py +182 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/telemetry/__init__.py +10 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/telemetry/config.py +32 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/telemetry/events.py +59 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/telemetry/tracker.py +155 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/types.py +245 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/utils.py +60 -0
- airbyte_agent_greenhouse/_vendored/connector_sdk/validation.py +828 -0
- airbyte_agent_greenhouse/connector.py +1391 -0
- airbyte_agent_greenhouse/connector_model.py +2356 -0
- airbyte_agent_greenhouse/models.py +281 -0
- airbyte_agent_greenhouse/types.py +136 -0
- airbyte_agent_greenhouse-0.17.48.dist-info/METADATA +116 -0
- airbyte_agent_greenhouse-0.17.48.dist-info/RECORD +57 -0
- airbyte_agent_greenhouse-0.17.48.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Pydantic models for greenhouse connector.
|
|
3
|
+
|
|
4
|
+
This module contains Pydantic models used for authentication configuration
|
|
5
|
+
and response envelope types.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
11
|
+
from typing import TypeVar, Generic, Union, Any
|
|
12
|
+
|
|
13
|
+
# Authentication configuration
|
|
14
|
+
|
|
15
|
+
class GreenhouseAuthConfig(BaseModel):
|
|
16
|
+
"""Harvest API Key Authentication"""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(extra="forbid")
|
|
19
|
+
|
|
20
|
+
api_key: str
|
|
21
|
+
"""Your Greenhouse Harvest API Key from the Dev Center"""
|
|
22
|
+
|
|
23
|
+
# ===== RESPONSE TYPE DEFINITIONS (PYDANTIC) =====
|
|
24
|
+
|
|
25
|
+
class Attachment(BaseModel):
|
|
26
|
+
"""File attachment (resume, cover letter, etc.)"""
|
|
27
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
28
|
+
|
|
29
|
+
filename: Union[str, Any] = Field(default=None)
|
|
30
|
+
url: Union[str, Any] = Field(default=None)
|
|
31
|
+
type: Union[str, Any] = Field(default=None)
|
|
32
|
+
created_at: Union[str, Any] = Field(default=None)
|
|
33
|
+
|
|
34
|
+
class Candidate(BaseModel):
|
|
35
|
+
"""Greenhouse candidate object"""
|
|
36
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
37
|
+
|
|
38
|
+
id: Union[int, Any] = Field(default=None)
|
|
39
|
+
first_name: Union[str, Any] = Field(default=None)
|
|
40
|
+
last_name: Union[str, Any] = Field(default=None)
|
|
41
|
+
company: Union[str | None, Any] = Field(default=None)
|
|
42
|
+
title: Union[str | None, Any] = Field(default=None)
|
|
43
|
+
created_at: Union[str, Any] = Field(default=None)
|
|
44
|
+
updated_at: Union[str, Any] = Field(default=None)
|
|
45
|
+
last_activity: Union[str, Any] = Field(default=None)
|
|
46
|
+
is_private: Union[bool, Any] = Field(default=None)
|
|
47
|
+
photo_url: Union[str | None, Any] = Field(default=None)
|
|
48
|
+
attachments: Union[list[Attachment], Any] = Field(default=None)
|
|
49
|
+
application_ids: Union[list[int], Any] = Field(default=None)
|
|
50
|
+
phone_numbers: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
51
|
+
addresses: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
52
|
+
email_addresses: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
53
|
+
website_addresses: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
54
|
+
social_media_addresses: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
55
|
+
recruiter: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
56
|
+
coordinator: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
57
|
+
can_email: Union[bool, Any] = Field(default=None)
|
|
58
|
+
tags: Union[list[str], Any] = Field(default=None)
|
|
59
|
+
custom_fields: Union[dict[str, Any], Any] = Field(default=None)
|
|
60
|
+
|
|
61
|
+
class Application(BaseModel):
|
|
62
|
+
"""Greenhouse application object"""
|
|
63
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
64
|
+
|
|
65
|
+
id: Union[int, Any] = Field(default=None)
|
|
66
|
+
candidate_id: Union[int, Any] = Field(default=None)
|
|
67
|
+
prospect: Union[bool, Any] = Field(default=None)
|
|
68
|
+
applied_at: Union[str, Any] = Field(default=None)
|
|
69
|
+
rejected_at: Union[str | None, Any] = Field(default=None)
|
|
70
|
+
last_activity_at: Union[str, Any] = Field(default=None)
|
|
71
|
+
location: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
72
|
+
source: Union[dict[str, Any], Any] = Field(default=None)
|
|
73
|
+
credited_to: Union[dict[str, Any], Any] = Field(default=None)
|
|
74
|
+
rejection_reason: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
75
|
+
rejection_details: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
76
|
+
jobs: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
77
|
+
job_post_id: Union[int | None, Any] = Field(default=None)
|
|
78
|
+
status: Union[str, Any] = Field(default=None)
|
|
79
|
+
current_stage: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
80
|
+
answers: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
81
|
+
prospective_office: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
82
|
+
prospective_department: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
83
|
+
prospect_detail: Union[dict[str, Any], Any] = Field(default=None)
|
|
84
|
+
attachments: Union[list[Attachment], Any] = Field(default=None)
|
|
85
|
+
custom_fields: Union[dict[str, Any], Any] = Field(default=None)
|
|
86
|
+
|
|
87
|
+
class Job(BaseModel):
|
|
88
|
+
"""Greenhouse job object"""
|
|
89
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
90
|
+
|
|
91
|
+
id: Union[int, Any] = Field(default=None)
|
|
92
|
+
name: Union[str, Any] = Field(default=None)
|
|
93
|
+
requisition_id: Union[str | None, Any] = Field(default=None)
|
|
94
|
+
notes: Union[str | None, Any] = Field(default=None)
|
|
95
|
+
confidential: Union[bool, Any] = Field(default=None)
|
|
96
|
+
status: Union[str, Any] = Field(default=None)
|
|
97
|
+
created_at: Union[str, Any] = Field(default=None)
|
|
98
|
+
opened_at: Union[str, Any] = Field(default=None)
|
|
99
|
+
closed_at: Union[str | None, Any] = Field(default=None)
|
|
100
|
+
updated_at: Union[str, Any] = Field(default=None)
|
|
101
|
+
departments: Union[list[dict[str, Any] | None], Any] = Field(default=None)
|
|
102
|
+
offices: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
103
|
+
custom_fields: Union[dict[str, Any], Any] = Field(default=None)
|
|
104
|
+
hiring_team: Union[dict[str, Any], Any] = Field(default=None)
|
|
105
|
+
openings: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
106
|
+
|
|
107
|
+
class Offer(BaseModel):
|
|
108
|
+
"""Greenhouse offer object"""
|
|
109
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
110
|
+
|
|
111
|
+
id: Union[int, Any] = Field(default=None)
|
|
112
|
+
version: Union[int, Any] = Field(default=None)
|
|
113
|
+
application_id: Union[int, Any] = Field(default=None)
|
|
114
|
+
job_id: Union[int, Any] = Field(default=None)
|
|
115
|
+
candidate_id: Union[int, Any] = Field(default=None)
|
|
116
|
+
opening: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
117
|
+
created_at: Union[str, Any] = Field(default=None)
|
|
118
|
+
updated_at: Union[str, Any] = Field(default=None)
|
|
119
|
+
sent_at: Union[str | None, Any] = Field(default=None)
|
|
120
|
+
resolved_at: Union[str | None, Any] = Field(default=None)
|
|
121
|
+
starts_at: Union[str | None, Any] = Field(default=None)
|
|
122
|
+
status: Union[str, Any] = Field(default=None)
|
|
123
|
+
custom_fields: Union[dict[str, Any], Any] = Field(default=None)
|
|
124
|
+
|
|
125
|
+
class User(BaseModel):
|
|
126
|
+
"""Greenhouse user object"""
|
|
127
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
128
|
+
|
|
129
|
+
id: Union[int, Any] = Field(default=None)
|
|
130
|
+
name: Union[str, Any] = Field(default=None)
|
|
131
|
+
first_name: Union[str, Any] = Field(default=None)
|
|
132
|
+
last_name: Union[str, Any] = Field(default=None)
|
|
133
|
+
primary_email_address: Union[str, Any] = Field(default=None)
|
|
134
|
+
updated_at: Union[str, Any] = Field(default=None)
|
|
135
|
+
created_at: Union[str, Any] = Field(default=None)
|
|
136
|
+
disabled: Union[bool, Any] = Field(default=None)
|
|
137
|
+
site_admin: Union[bool, Any] = Field(default=None)
|
|
138
|
+
emails: Union[list[str], Any] = Field(default=None)
|
|
139
|
+
employee_id: Union[str | None, Any] = Field(default=None)
|
|
140
|
+
linked_candidate_ids: Union[list[int], Any] = Field(default=None)
|
|
141
|
+
offices: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
142
|
+
departments: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
143
|
+
|
|
144
|
+
class Department(BaseModel):
|
|
145
|
+
"""Greenhouse department object"""
|
|
146
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
147
|
+
|
|
148
|
+
id: Union[int, Any] = Field(default=None)
|
|
149
|
+
name: Union[str, Any] = Field(default=None)
|
|
150
|
+
parent_id: Union[int | None, Any] = Field(default=None)
|
|
151
|
+
parent_department_external_id: Union[str | None, Any] = Field(default=None)
|
|
152
|
+
child_ids: Union[list[int], Any] = Field(default=None)
|
|
153
|
+
child_department_external_ids: Union[list[str], Any] = Field(default=None)
|
|
154
|
+
external_id: Union[str | None, Any] = Field(default=None)
|
|
155
|
+
|
|
156
|
+
class Office(BaseModel):
|
|
157
|
+
"""Greenhouse office object"""
|
|
158
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
159
|
+
|
|
160
|
+
id: Union[int, Any] = Field(default=None)
|
|
161
|
+
name: Union[str, Any] = Field(default=None)
|
|
162
|
+
location: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
163
|
+
primary_contact_user_id: Union[int | None, Any] = Field(default=None)
|
|
164
|
+
parent_id: Union[int | None, Any] = Field(default=None)
|
|
165
|
+
parent_office_external_id: Union[str | None, Any] = Field(default=None)
|
|
166
|
+
child_ids: Union[list[int], Any] = Field(default=None)
|
|
167
|
+
child_office_external_ids: Union[list[str], Any] = Field(default=None)
|
|
168
|
+
external_id: Union[str | None, Any] = Field(default=None)
|
|
169
|
+
|
|
170
|
+
class JobPost(BaseModel):
|
|
171
|
+
"""Greenhouse job post object"""
|
|
172
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
173
|
+
|
|
174
|
+
id: Union[int, Any] = Field(default=None)
|
|
175
|
+
title: Union[str, Any] = Field(default=None)
|
|
176
|
+
location: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
177
|
+
internal: Union[bool, Any] = Field(default=None)
|
|
178
|
+
external: Union[bool, Any] = Field(default=None)
|
|
179
|
+
active: Union[bool, Any] = Field(default=None)
|
|
180
|
+
live: Union[bool, Any] = Field(default=None)
|
|
181
|
+
first_published_at: Union[str | None, Any] = Field(default=None)
|
|
182
|
+
job_id: Union[int, Any] = Field(default=None)
|
|
183
|
+
content: Union[str | None, Any] = Field(default=None)
|
|
184
|
+
internal_content: Union[str | None, Any] = Field(default=None)
|
|
185
|
+
updated_at: Union[str, Any] = Field(default=None)
|
|
186
|
+
created_at: Union[str, Any] = Field(default=None)
|
|
187
|
+
demographic_question_set_id: Union[int | None, Any] = Field(default=None)
|
|
188
|
+
questions: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
189
|
+
|
|
190
|
+
class Source(BaseModel):
|
|
191
|
+
"""Greenhouse source object"""
|
|
192
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
193
|
+
|
|
194
|
+
id: Union[int, Any] = Field(default=None)
|
|
195
|
+
name: Union[str, Any] = Field(default=None)
|
|
196
|
+
type: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
197
|
+
|
|
198
|
+
class ScheduledInterview(BaseModel):
|
|
199
|
+
"""Greenhouse scheduled interview object"""
|
|
200
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
201
|
+
|
|
202
|
+
id: Union[int, Any] = Field(default=None)
|
|
203
|
+
application_id: Union[int, Any] = Field(default=None)
|
|
204
|
+
external_event_id: Union[str | None, Any] = Field(default=None)
|
|
205
|
+
created_at: Union[str, Any] = Field(default=None)
|
|
206
|
+
updated_at: Union[str, Any] = Field(default=None)
|
|
207
|
+
start: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
208
|
+
end: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
209
|
+
location: Union[str | None, Any] = Field(default=None)
|
|
210
|
+
video_conferencing_url: Union[str | None, Any] = Field(default=None)
|
|
211
|
+
status: Union[str, Any] = Field(default=None)
|
|
212
|
+
interview: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
213
|
+
organizer: Union[dict[str, Any] | None, Any] = Field(default=None)
|
|
214
|
+
interviewers: Union[list[dict[str, Any]], Any] = Field(default=None)
|
|
215
|
+
|
|
216
|
+
# ===== METADATA TYPE DEFINITIONS (PYDANTIC) =====
|
|
217
|
+
# Meta types for operations that extract metadata (e.g., pagination info)
|
|
218
|
+
|
|
219
|
+
# ===== RESPONSE ENVELOPE MODELS =====
|
|
220
|
+
|
|
221
|
+
# Type variables for generic envelope models
|
|
222
|
+
T = TypeVar('T')
|
|
223
|
+
S = TypeVar('S')
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
class GreenhouseExecuteResult(BaseModel, Generic[T]):
|
|
227
|
+
"""Response envelope with data only.
|
|
228
|
+
|
|
229
|
+
Used for actions that return data without metadata.
|
|
230
|
+
"""
|
|
231
|
+
model_config = ConfigDict(extra="forbid")
|
|
232
|
+
|
|
233
|
+
data: T
|
|
234
|
+
"""Response data containing the result of the action."""
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
class GreenhouseExecuteResultWithMeta(GreenhouseExecuteResult[T], Generic[T, S]):
|
|
238
|
+
"""Response envelope with data and metadata.
|
|
239
|
+
|
|
240
|
+
Used for actions that return both data and metadata (e.g., pagination info).
|
|
241
|
+
"""
|
|
242
|
+
meta: S
|
|
243
|
+
"""Metadata about the response (e.g., pagination cursors, record counts)."""
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
# ===== OPERATION RESULT TYPE ALIASES =====
|
|
248
|
+
|
|
249
|
+
# Concrete type aliases for each operation result.
|
|
250
|
+
# These provide simpler, more readable type annotations than using the generic forms.
|
|
251
|
+
|
|
252
|
+
CandidatesListResult = GreenhouseExecuteResult[list[Candidate]]
|
|
253
|
+
"""Result type for candidates.list operation."""
|
|
254
|
+
|
|
255
|
+
ApplicationsListResult = GreenhouseExecuteResult[list[Application]]
|
|
256
|
+
"""Result type for applications.list operation."""
|
|
257
|
+
|
|
258
|
+
JobsListResult = GreenhouseExecuteResult[list[Job]]
|
|
259
|
+
"""Result type for jobs.list operation."""
|
|
260
|
+
|
|
261
|
+
OffersListResult = GreenhouseExecuteResult[list[Offer]]
|
|
262
|
+
"""Result type for offers.list operation."""
|
|
263
|
+
|
|
264
|
+
UsersListResult = GreenhouseExecuteResult[list[User]]
|
|
265
|
+
"""Result type for users.list operation."""
|
|
266
|
+
|
|
267
|
+
DepartmentsListResult = GreenhouseExecuteResult[list[Department]]
|
|
268
|
+
"""Result type for departments.list operation."""
|
|
269
|
+
|
|
270
|
+
OfficesListResult = GreenhouseExecuteResult[list[Office]]
|
|
271
|
+
"""Result type for offices.list operation."""
|
|
272
|
+
|
|
273
|
+
JobPostsListResult = GreenhouseExecuteResult[list[JobPost]]
|
|
274
|
+
"""Result type for job_posts.list operation."""
|
|
275
|
+
|
|
276
|
+
SourcesListResult = GreenhouseExecuteResult[list[Source]]
|
|
277
|
+
"""Result type for sources.list operation."""
|
|
278
|
+
|
|
279
|
+
ScheduledInterviewsListResult = GreenhouseExecuteResult[list[ScheduledInterview]]
|
|
280
|
+
"""Result type for scheduled_interviews.list operation."""
|
|
281
|
+
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Type definitions for greenhouse connector.
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
# Use typing_extensions.TypedDict for Pydantic compatibility
|
|
7
|
+
try:
|
|
8
|
+
from typing_extensions import TypedDict, NotRequired
|
|
9
|
+
except ImportError:
|
|
10
|
+
from typing import TypedDict, NotRequired # type: ignore[attr-defined]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# ===== NESTED PARAM TYPE DEFINITIONS =====
|
|
15
|
+
# Nested parameter schemas discovered during parameter extraction
|
|
16
|
+
|
|
17
|
+
# ===== OPERATION PARAMS TYPE DEFINITIONS =====
|
|
18
|
+
|
|
19
|
+
class CandidatesListParams(TypedDict):
|
|
20
|
+
"""Parameters for candidates.list operation"""
|
|
21
|
+
per_page: NotRequired[int]
|
|
22
|
+
page: NotRequired[int]
|
|
23
|
+
|
|
24
|
+
class CandidatesGetParams(TypedDict):
|
|
25
|
+
"""Parameters for candidates.get operation"""
|
|
26
|
+
id: str
|
|
27
|
+
|
|
28
|
+
class ApplicationsListParams(TypedDict):
|
|
29
|
+
"""Parameters for applications.list operation"""
|
|
30
|
+
per_page: NotRequired[int]
|
|
31
|
+
page: NotRequired[int]
|
|
32
|
+
created_before: NotRequired[str]
|
|
33
|
+
created_after: NotRequired[str]
|
|
34
|
+
last_activity_after: NotRequired[str]
|
|
35
|
+
job_id: NotRequired[int]
|
|
36
|
+
status: NotRequired[str]
|
|
37
|
+
|
|
38
|
+
class ApplicationsGetParams(TypedDict):
|
|
39
|
+
"""Parameters for applications.get operation"""
|
|
40
|
+
id: str
|
|
41
|
+
|
|
42
|
+
class JobsListParams(TypedDict):
|
|
43
|
+
"""Parameters for jobs.list operation"""
|
|
44
|
+
per_page: NotRequired[int]
|
|
45
|
+
page: NotRequired[int]
|
|
46
|
+
|
|
47
|
+
class JobsGetParams(TypedDict):
|
|
48
|
+
"""Parameters for jobs.get operation"""
|
|
49
|
+
id: str
|
|
50
|
+
|
|
51
|
+
class OffersListParams(TypedDict):
|
|
52
|
+
"""Parameters for offers.list operation"""
|
|
53
|
+
per_page: NotRequired[int]
|
|
54
|
+
page: NotRequired[int]
|
|
55
|
+
created_before: NotRequired[str]
|
|
56
|
+
created_after: NotRequired[str]
|
|
57
|
+
resolved_after: NotRequired[str]
|
|
58
|
+
|
|
59
|
+
class OffersGetParams(TypedDict):
|
|
60
|
+
"""Parameters for offers.get operation"""
|
|
61
|
+
id: str
|
|
62
|
+
|
|
63
|
+
class UsersListParams(TypedDict):
|
|
64
|
+
"""Parameters for users.list operation"""
|
|
65
|
+
per_page: NotRequired[int]
|
|
66
|
+
page: NotRequired[int]
|
|
67
|
+
created_before: NotRequired[str]
|
|
68
|
+
created_after: NotRequired[str]
|
|
69
|
+
updated_before: NotRequired[str]
|
|
70
|
+
updated_after: NotRequired[str]
|
|
71
|
+
|
|
72
|
+
class UsersGetParams(TypedDict):
|
|
73
|
+
"""Parameters for users.get operation"""
|
|
74
|
+
id: str
|
|
75
|
+
|
|
76
|
+
class DepartmentsListParams(TypedDict):
|
|
77
|
+
"""Parameters for departments.list operation"""
|
|
78
|
+
per_page: NotRequired[int]
|
|
79
|
+
page: NotRequired[int]
|
|
80
|
+
|
|
81
|
+
class DepartmentsGetParams(TypedDict):
|
|
82
|
+
"""Parameters for departments.get operation"""
|
|
83
|
+
id: str
|
|
84
|
+
|
|
85
|
+
class OfficesListParams(TypedDict):
|
|
86
|
+
"""Parameters for offices.list operation"""
|
|
87
|
+
per_page: NotRequired[int]
|
|
88
|
+
page: NotRequired[int]
|
|
89
|
+
|
|
90
|
+
class OfficesGetParams(TypedDict):
|
|
91
|
+
"""Parameters for offices.get operation"""
|
|
92
|
+
id: str
|
|
93
|
+
|
|
94
|
+
class JobPostsListParams(TypedDict):
|
|
95
|
+
"""Parameters for job_posts.list operation"""
|
|
96
|
+
per_page: NotRequired[int]
|
|
97
|
+
page: NotRequired[int]
|
|
98
|
+
live: NotRequired[bool]
|
|
99
|
+
active: NotRequired[bool]
|
|
100
|
+
|
|
101
|
+
class JobPostsGetParams(TypedDict):
|
|
102
|
+
"""Parameters for job_posts.get operation"""
|
|
103
|
+
id: str
|
|
104
|
+
|
|
105
|
+
class SourcesListParams(TypedDict):
|
|
106
|
+
"""Parameters for sources.list operation"""
|
|
107
|
+
per_page: NotRequired[int]
|
|
108
|
+
page: NotRequired[int]
|
|
109
|
+
|
|
110
|
+
class ScheduledInterviewsListParams(TypedDict):
|
|
111
|
+
"""Parameters for scheduled_interviews.list operation"""
|
|
112
|
+
per_page: NotRequired[int]
|
|
113
|
+
page: NotRequired[int]
|
|
114
|
+
created_before: NotRequired[str]
|
|
115
|
+
created_after: NotRequired[str]
|
|
116
|
+
updated_before: NotRequired[str]
|
|
117
|
+
updated_after: NotRequired[str]
|
|
118
|
+
starts_after: NotRequired[str]
|
|
119
|
+
ends_before: NotRequired[str]
|
|
120
|
+
|
|
121
|
+
class ScheduledInterviewsGetParams(TypedDict):
|
|
122
|
+
"""Parameters for scheduled_interviews.get operation"""
|
|
123
|
+
id: str
|
|
124
|
+
|
|
125
|
+
class ApplicationAttachmentDownloadParams(TypedDict):
|
|
126
|
+
"""Parameters for application_attachment.download operation"""
|
|
127
|
+
id: str
|
|
128
|
+
attachment_index: str
|
|
129
|
+
range_header: NotRequired[str]
|
|
130
|
+
|
|
131
|
+
class CandidateAttachmentDownloadParams(TypedDict):
|
|
132
|
+
"""Parameters for candidate_attachment.download operation"""
|
|
133
|
+
id: str
|
|
134
|
+
attachment_index: str
|
|
135
|
+
range_header: NotRequired[str]
|
|
136
|
+
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: airbyte-agent-greenhouse
|
|
3
|
+
Version: 0.17.48
|
|
4
|
+
Summary: Airbyte Greenhouse Connector for AI platforms
|
|
5
|
+
Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
|
|
6
|
+
Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
|
|
7
|
+
Project-URL: Repository, https://github.com/airbytehq/airbyte-agent-connectors
|
|
8
|
+
Project-URL: Issues, https://github.com/airbytehq/airbyte-agent-connectors/issues
|
|
9
|
+
Author-email: Airbyte <contact@airbyte.io>
|
|
10
|
+
License: Elastic-2.0
|
|
11
|
+
Keywords: agent,ai,airbyte,api,connector,data-integration,greenhouse,llm,mcp
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: Other/Proprietary License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Requires-Python: >=3.13
|
|
22
|
+
Requires-Dist: httpx>=0.24.0
|
|
23
|
+
Requires-Dist: jinja2>=3.0.0
|
|
24
|
+
Requires-Dist: jsonpath-ng>=1.6.1
|
|
25
|
+
Requires-Dist: jsonref>=1.1.0
|
|
26
|
+
Requires-Dist: opentelemetry-api>=1.37.0
|
|
27
|
+
Requires-Dist: opentelemetry-sdk>=1.37.0
|
|
28
|
+
Requires-Dist: pydantic>=2.0.0
|
|
29
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
30
|
+
Requires-Dist: pyyaml>=6.0
|
|
31
|
+
Requires-Dist: segment-analytics-python>=2.2.0
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
# Greenhouse agent connector
|
|
35
|
+
|
|
36
|
+
Greenhouse is an applicant tracking system (ATS) that helps companies manage their
|
|
37
|
+
hiring process. This connector provides access to candidates, applications, jobs,
|
|
38
|
+
offers, users, departments, offices, job posts, sources, and scheduled interviews
|
|
39
|
+
for recruiting analytics and talent acquisition insights.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## Example questions
|
|
43
|
+
|
|
44
|
+
The Greenhouse connector is optimized to handle prompts like these.
|
|
45
|
+
|
|
46
|
+
- Show me candidates from \{company\} who applied last month
|
|
47
|
+
- What are the top 5 sources for our job applications this quarter?
|
|
48
|
+
- List all open jobs in the Sales department
|
|
49
|
+
- Analyze the interview schedules for our engineering candidates this week
|
|
50
|
+
- Get details of recent job offers for \{team_member\}
|
|
51
|
+
- Compare the number of applications across different offices
|
|
52
|
+
- Identify candidates who have multiple applications in our system
|
|
53
|
+
- Show me upcoming scheduled interviews for our marketing positions
|
|
54
|
+
- Summarize the candidate pipeline for our latest job posting
|
|
55
|
+
- Find the most active departments in recruiting this month
|
|
56
|
+
|
|
57
|
+
## Unsupported questions
|
|
58
|
+
|
|
59
|
+
The Greenhouse connector isn't currently able to handle prompts like these.
|
|
60
|
+
|
|
61
|
+
- Create a new job posting for the marketing team
|
|
62
|
+
- Schedule an interview for \{candidate\}
|
|
63
|
+
- Update the status of \{candidate\}'s application
|
|
64
|
+
- Delete a candidate profile
|
|
65
|
+
- Send an offer letter to \{candidate\}
|
|
66
|
+
- Edit the details of a job description
|
|
67
|
+
|
|
68
|
+
## Installation
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
uv pip install airbyte-agent-greenhouse
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Usage
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
from airbyte_agent_greenhouse import GreenhouseConnector, GreenhouseAuthConfig
|
|
78
|
+
|
|
79
|
+
connector = GreenhouseConnector(
|
|
80
|
+
auth_config=GreenhouseAuthConfig(
|
|
81
|
+
api_key="..."
|
|
82
|
+
)
|
|
83
|
+
)
|
|
84
|
+
result = await connector.candidates.list()
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
## Full documentation
|
|
89
|
+
|
|
90
|
+
This connector supports the following entities and actions.
|
|
91
|
+
|
|
92
|
+
| Entity | Actions |
|
|
93
|
+
|--------|---------|
|
|
94
|
+
| Candidates | [List](./REFERENCE.md#candidates-list), [Get](./REFERENCE.md#candidates-get) |
|
|
95
|
+
| Applications | [List](./REFERENCE.md#applications-list), [Get](./REFERENCE.md#applications-get) |
|
|
96
|
+
| Jobs | [List](./REFERENCE.md#jobs-list), [Get](./REFERENCE.md#jobs-get) |
|
|
97
|
+
| Offers | [List](./REFERENCE.md#offers-list), [Get](./REFERENCE.md#offers-get) |
|
|
98
|
+
| Users | [List](./REFERENCE.md#users-list), [Get](./REFERENCE.md#users-get) |
|
|
99
|
+
| Departments | [List](./REFERENCE.md#departments-list), [Get](./REFERENCE.md#departments-get) |
|
|
100
|
+
| Offices | [List](./REFERENCE.md#offices-list), [Get](./REFERENCE.md#offices-get) |
|
|
101
|
+
| Job Posts | [List](./REFERENCE.md#job-posts-list), [Get](./REFERENCE.md#job-posts-get) |
|
|
102
|
+
| Sources | [List](./REFERENCE.md#sources-list) |
|
|
103
|
+
| Scheduled Interviews | [List](./REFERENCE.md#scheduled-interviews-list), [Get](./REFERENCE.md#scheduled-interviews-get) |
|
|
104
|
+
| Application Attachment | [Download](./REFERENCE.md#application-attachment-download) |
|
|
105
|
+
| Candidate Attachment | [Download](./REFERENCE.md#candidate-attachment-download) |
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
For detailed documentation on available actions and parameters, see this connector's [full reference documentation](./REFERENCE.md).
|
|
109
|
+
|
|
110
|
+
For the service's official API docs, see the [Greenhouse API reference](https://developers.greenhouse.io/harvest.html).
|
|
111
|
+
|
|
112
|
+
## Version information
|
|
113
|
+
|
|
114
|
+
- **Package version:** 0.17.48
|
|
115
|
+
- **Connector version:** 0.1.2
|
|
116
|
+
- **Generated with Connector SDK commit SHA:** c46670b9e4ca5238c0372e143b44088a0d1a68ee
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
airbyte_agent_greenhouse/__init__.py,sha256=5uhqjwSB0X7tFuKwIjdnjMXQ6VsWrbX6NLkoVgtdUyk,2402
|
|
2
|
+
airbyte_agent_greenhouse/connector.py,sha256=u7rMNnIK9mIm-ePOnaaWBF2JnC90uL11jYPpXp7Qu1o,41943
|
|
3
|
+
airbyte_agent_greenhouse/connector_model.py,sha256=WwfFmPW6a0swSvmmRaattuG2myZpC9VjDImFA-mwkD4,123331
|
|
4
|
+
airbyte_agent_greenhouse/models.py,sha256=zZXLU-u4DMcMIa-pojQNgHdVf_pj1oh3V890Yxcraks,12455
|
|
5
|
+
airbyte_agent_greenhouse/types.py,sha256=QP2fSEm_yNTo0iamwMXkrs4_bw8Ud6sPV9mjqeWwm-I,3922
|
|
6
|
+
airbyte_agent_greenhouse/_vendored/__init__.py,sha256=ILl7AHXMui__swyrjxrh9yRa4dLiwBvV6axPWFWty80,38
|
|
7
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/__init__.py,sha256=T5o7roU6NSpH-lCAGZ338sE5dlh4ZU6i6IkeG1zpems,1949
|
|
8
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/auth_strategies.py,sha256=BdjAzFRTwXCmLFqYWqZ4Dx9RsqtI7pAkw-8NynSK4sQ,39914
|
|
9
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/auth_template.py,sha256=nju4jqlFC_KI82ILNumNIyiUtRJcy7J94INIZ0QraI4,4454
|
|
10
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/connector_model_loader.py,sha256=b88aoMynHxtG2dhzclkWrLiJbefTiKMzReyj3lOiwJI,34940
|
|
11
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/constants.py,sha256=AtzOvhDMWbRJgpsQNWl5tkogHD6mWgEY668PgRmgtOY,2737
|
|
12
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/exceptions.py,sha256=ss5MGv9eVPmsbLcLWetuu3sDmvturwfo6Pw3M37Oq5k,481
|
|
13
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/extensions.py,sha256=XWRRoJOOrwUHSKbuQt5DU7CCu8ePzhd_HuP7c_uD77w,21376
|
|
14
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/http_client.py,sha256=yucwu3OvJh5wLQa1mk-gTKjtqjKKucMw5ltmlE7mk1c,28000
|
|
15
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/introspection.py,sha256=2CyKXZHT74-1Id97uw1RLeyOi6TV24_hoNbQ6-6y7uI,10335
|
|
16
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/secrets.py,sha256=J9ezMu4xNnLW11xY5RCre6DHP7YMKZCqwGJfk7ufHAM,6855
|
|
17
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/types.py,sha256=CStkOsLtmZZdXylkdCsbYORDzughxygt1-Ucma0j-qE,8287
|
|
18
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/utils.py,sha256=G4LUXOC2HzPoND2v4tQW68R9uuPX9NQyCjaGxb7Kpl0,1958
|
|
19
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/validation.py,sha256=4MPrxYmQh8TbCU0KdvvRKe35Lg1YYLEBd0u4aKySl_E,32122
|
|
20
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/cloud_utils/__init__.py,sha256=4799Hv9f2zxDVj1aLyQ8JpTEuFTp_oOZMRz-NZCdBJg,134
|
|
21
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/cloud_utils/client.py,sha256=YxdRpQr9XjDzih6csSseBVGn9kfMtaqbOCXP0TPuzFY,7189
|
|
22
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/executor/__init__.py,sha256=EmG9YQNAjSuYCVB4D5VoLm4qpD1KfeiiOf7bpALj8p8,702
|
|
23
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/executor/hosted_executor.py,sha256=ydHcG-biRS1ITT5ELwPShdJW-KYpvK--Fos1ipNgHho,6995
|
|
24
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/executor/local_executor.py,sha256=oJDliuS7zU8GILJUjn7T_WNIu25sy5serJHxhnBKyB8,71411
|
|
25
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/executor/models.py,sha256=lYVT_bNcw-PoIks4WHNyl2VY-lJVf2FntzINSOBIheE,5845
|
|
26
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/http/__init__.py,sha256=y8fbzZn-3yV9OxtYz8Dy6FFGI5v6TOqADd1G3xHH3Hw,911
|
|
27
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/http/config.py,sha256=6J7YIIwHC6sRu9i-yKa5XvArwK2KU60rlnmxzDZq3lw,3283
|
|
28
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/http/exceptions.py,sha256=eYdYmxqcwA6pgrSoRXNfR6_nRBGRH6upp2-r1jcKaZo,3586
|
|
29
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/http/protocols.py,sha256=eV7NbBIQOcPLw-iu8mtkV2zCVgScDwP0ek1SbPNQo0g,3323
|
|
30
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/http/response.py,sha256=Q-RyM5D0D05ZhmZVJk4hVpmoS8YtyXNOTM5hqBt7rWI,3475
|
|
31
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/http/adapters/__init__.py,sha256=gjbWdU4LfzUG2PETI0TkfkukdzoCAhpL6FZtIEnkO-s,209
|
|
32
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/http/adapters/httpx_adapter.py,sha256=dkYhzBWiKBmzWZlc-cRTx50Hb6fy3OI8kOQvXRfS1CQ,8465
|
|
33
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/logging/__init__.py,sha256=IZoE5yXhwSA0m3xQqh0FiCifjp1sB3S8jnnFPuJLYf8,227
|
|
34
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/logging/logger.py,sha256=rUdKDEQe3pOODmBLEcvhgZeEZi48BvrgKXKq1xvCXu0,8387
|
|
35
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/logging/types.py,sha256=ONb9xKNXUkrR2lojSBMF7ruof7S2r92WjrO_kEZic84,3239
|
|
36
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/observability/__init__.py,sha256=ojx1n9vaWCXFFvb3-90Pwtg845trFdV2v6wcCoO75Ko,269
|
|
37
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/observability/config.py,sha256=uWvRAPHnEusVKviQQncqcpnHKNhoZ4ZoFK6nUOSVClY,5372
|
|
38
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/observability/models.py,sha256=IRGjlJia28_IU7BMSBb5RHWs47yAOLvE20JIIXHazLY,448
|
|
39
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/observability/redactor.py,sha256=HRbSwGxsfQYbYlG4QBVvv8Qnw0d4SMowMv0dTFHsHqQ,2361
|
|
40
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/observability/session.py,sha256=WYRIB3bVz9HhpElkUO9CILCRIrWs9p2MR2hmf8uJm3E,3086
|
|
41
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/performance/__init__.py,sha256=Sp5fSd1LvtIQkv-fnrKqPsM7-6IWp0sSZSK0mhzal_A,200
|
|
42
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/performance/instrumentation.py,sha256=_dXvNiqdndIBwDjeDKNViWzn_M5FkSUsMmJtFldrmsM,1504
|
|
43
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/performance/metrics.py,sha256=FRff7dKt4iwt_A7pxV5n9kAGBR756PC7q8-weWygPSM,2817
|
|
44
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/schema/__init__.py,sha256=Uymu-QuzGJuMxexBagIvUxpVAigIuIhz3KeBl_Vu4Ko,1638
|
|
45
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/schema/base.py,sha256=4RYTkCWgyS5Z75z9TKj9vXySfO00HJ03QDtbdVYeHYM,5086
|
|
46
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/schema/components.py,sha256=x3YCM1p2n_xHi50fMeOX0mXUiPqjGlLHs3Go8jXokb0,7895
|
|
47
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/schema/connector.py,sha256=mSZk1wr2YSdRj9tTRsPAuIlCzd_xZLw-Bzl1sMwE0rE,3731
|
|
48
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/schema/extensions.py,sha256=f7VhHrcIYxaPOJHMc4g0lpy04pZTbx5nlroNzAu5B9Q,7135
|
|
49
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/schema/operations.py,sha256=RpzGtAI4yvAtMHAfMUMcUwgHv_qJojnKlNb75_agUF8,5729
|
|
50
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/schema/security.py,sha256=zQ9RRuF3LBgLQi_4cItmjXbG_5WKlmCNM3nCil30H90,8470
|
|
51
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/telemetry/__init__.py,sha256=RaLgkBU4dfxn1LC5Y0Q9rr2PJbrwjxvPgBLmq8_WafE,211
|
|
52
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/telemetry/config.py,sha256=tLmQwAFD0kP1WyBGWBS3ysaudN9H3e-3EopKZi6cGKg,885
|
|
53
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/telemetry/events.py,sha256=8Y1NbXiwISX-V_wRofY7PqcwEXD0dLMnntKkY6XFU2s,1328
|
|
54
|
+
airbyte_agent_greenhouse/_vendored/connector_sdk/telemetry/tracker.py,sha256=Ftrk0_ddfM7dZG8hF9xBuPwhbc9D6JZ7Q9qs5o3LEyA,5579
|
|
55
|
+
airbyte_agent_greenhouse-0.17.48.dist-info/METADATA,sha256=1d2a_bL-YWUR4hAWFqCjkrD6AeOmxKiQa53X0AY5w1w,4769
|
|
56
|
+
airbyte_agent_greenhouse-0.17.48.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
57
|
+
airbyte_agent_greenhouse-0.17.48.dist-info/RECORD,,
|