airbytehq / airbytehq/airbyte-api-python-sdk

Add SDK support for Cloud source execution

未關閉
#210 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
61
分支
27
平均合併
4 分鐘
30 天內合併 PR
2

描述

Track SDK support for the new Cloud source action endpoint, `POST /v1/sources/{sourceId}/execute`, once its platform specification is published.

The endpoint supports registry-declared JSON-only direct `get`, `list` and `api_search` operations across connectors/entities. Describe, writes, downloads, streaming, Context Store and unclassified operations are excluded.

Required `entity` and `action` are nonempty strings. `params` is an arbitrary JSON object, defaulting to `{}` when omitted. Optional `select_fields`/`exclude_fields` are nullable string arrays; `skip_truncation` is a strict boolean defaulting to `true`; `intent` is nullable with a 512-character maximum. Unknown root fields and invalid option types reject.

```json
{"entity":"repositories","action":"list","params":{"owner":"example","first":10},"skip_truncation":true}
```

The response requires `data` containing any JSON value, including objects, arrays, scalars or explicit null. Optional `meta` is a JSON object containing connector/pagination metadata. SDK serialization must preserve unknown/nested properties, numeric values, null-valued properties, empty objects/arrays, and required `data:null`; absent metadata stays absent. Explicit null is invalid for `params`, `skip_truncation` and `meta`.

Acceptance:

- Regenerate the Sources operation from the platform `api_sdk.yaml` using this repository's Speakeasy workflow.
- Verify request defaults/options and response wire contracts against the generated schema, including pagination, large numbers, nested nulls, empty `meta:{}`, and required `data:null`.
- Document Cloud authentication, workspace reader access, controlled availability, and the disabled/unavailable 503 response.
- Coordinate the SDK release with publication of the platform specification and endpoint activation.

The implementation ships disabled. The paired platform and Sonar changes passed 88/88 local E2E cases plus cleanup on their current unmerged revisions. See the [platform draft PR](https://github.com/airbytehq/airbyte-platform-internal/pull/19452) and its [paired premerge verification](https://github.com/airbytehq/airbyte-platform-internal/pull/19452#paired-premerge-proof). SDK regeneration and release remain pending.

Workspace discovery and describe/documentation/skill-discovery endpoints remain deferred. No SDK regeneration, release or production activation is claimed by this tracking update.

貢獻指南

開啟貢獻指南

研究方向

Wait for publication of the platform specification, then inspect api_sdk.yaml and this repository's Speakeasy workflow before regenerating the Sources operation. Verify the generated request and response contracts against the listed edge cases, document authentication and availability behavior, and confirm release coordination; done means regeneration, verification, documentation, and release are complete without production activation.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
api, developer-experience, documentation, release
Issue 類型
功能
難度
4/5
預估耗時
3-5 天
活躍度
活躍
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。