Files
agentic-codemod-pipeline/.apm/skills/sdk-version-upgrade/references/acme-sdk-2.x-migration.md
T
2026-08-29 13:17:59 +02:00

28 lines
1.1 KiB
Markdown

# acme-sdk: migracja 1.x -> 2.x
> Przykładowa notatka migracyjna. W realnym wdrożeniu ten katalog zasila pakiet APM
> utrzymywany przez zespół właściciela SDK (np. `pubi/apm-packages/acme-sdk-migrations`),
> a `apm install` dostarcza go do joba CI z pinem po tagu.
## Zmiany łamiące kompatybilność
| 1.x | 2.x | Uwagi |
|---|---|---|
| `from acme import Client` | `from acme import AcmeClient` | zmiana wyłącznie nazwy |
| `Client(api_key=..., endpoint=...)` | `AcmeClient(api_key=..., base_url=...)` | `endpoint` -> `base_url` |
| `client.send(to=..., body=...)` | `client.messages.create(recipient=..., content=...)` | wysyłka przez sub-resource |
| `client.close()` | `with AcmeClient(...) as client:` | klient jest context managerem |
| zwracany `dict` z kluczem `id` | obiekt `Message` z atrybutem `.id` | dostęp `msg["id"]` -> `msg.id` |
## Bez zmian
- `AcmeError` pozostaje w `acme.errors`.
- Format kluczy API i semantyka retry są niezmienione.
## Kolejność migracji
1. Import i konstrukcja klienta.
2. Wywołania wysyłki.
3. Zarządzanie cyklem życia (`close()` -> `with`).
4. Odczyt pól odpowiedzi.