Vorbereitung für die Spiegelung nach git.mana.how/offen (Prüfliste QUELLOEFFNUNG.md §5): Sweep sauber, keine Privat-Marker, Apache-2.0 mit NOTICE seit Welle 1, Schriften mit OFL-Texten. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
61 lines
2.2 KiB
Markdown
61 lines
2.2 KiB
Markdown
# mana-swift-event-sync
|
|
|
|
`ManaEventSync` — der native Swift-Counterpart zu `@mana/event-sync`.
|
|
Eine geteilte Event-Sourcing-Sync-Bibliothek für alle nativen
|
|
mana-Apps: lokaler Event-Log + Projektion, Outbox, HTTP/WebSocket-
|
|
Sync gegen `mana-sync` (`sync2.mana.how`), optionale Payload-Crypto und
|
|
**Local-First mit Anonymous-Mode + Claim bei Login**.
|
|
|
|
Vereinheitlicht die zuvor zweimal von Hand gebaute Plumbing aus
|
|
`pageta-native` und `nutriphi-native`.
|
|
|
|
## Was die App liefert, was die Lib liefert
|
|
|
|
- **Lib (`ManaEventSync`):** Wire-Format (`EventEnvelope`), `EventStorage`
|
|
(SwiftData), `SyncHTTPClient` + optionaler `SyncWSClient`, optionale
|
|
`CryptoProvider`/`VaultClient`, die `EventSyncEngine` mit Anonymous-
|
|
Identität + `signIn`-Claim.
|
|
- **App:** ihre Domäne — Payload-Typen, State-Projektionen, Reducer und
|
|
ein dünner Coordinator, der `engine.makeEnvelope/emit/events(forAggregate:)`
|
|
nutzt.
|
|
|
|
## Stand
|
|
|
|
Siehe [`CHANGELOG.md`](CHANGELOG.md). Plan + Phasen:
|
|
[`../mana/docs/playbooks/MANA_SWIFT_EVENT_SYNC.md`](../mana/docs/playbooks/MANA_SWIFT_EVENT_SYNC.md).
|
|
|
|
## Lokal
|
|
|
|
```bash
|
|
swift build
|
|
swift test
|
|
```
|
|
|
|
## Bauen
|
|
|
|
Swift Package. Die Abhängigkeiten auf andere mana-Bibliotheken sind
|
|
Pfad-Abhängigkeiten — alle nebeneinander in denselben Ordner klonen:
|
|
|
|
```bash
|
|
for r in mana-swift-core mana-swift-llm mana-swift-event-sync mana-swift-ui; do
|
|
git clone https://git.mana.how/offen/$r.git
|
|
done
|
|
swift build # im jeweiligen Ordner
|
|
```
|
|
|
|
## Für Mitlesende
|
|
|
|
Dieses Repo gehört zum Ökosystem von [mana](https://mana.how) und liegt
|
|
offen, damit andere es lesen, einordnen und als Grundlage nutzen können —
|
|
das spart Arbeit, egal ob ein Mensch oder ein Modell davorsitzt.
|
|
|
|
**Was du erwarten darfst:** den Code so, wie er tatsächlich in Gebrauch ist,
|
|
unter Apache-2.0 (siehe `LICENSE` und `NOTICE`). Keine Attrappe, kein
|
|
zurechtgeschnittener Auszug — samt seiner Geschichte.
|
|
|
|
**Was du nicht erwarten darfst:** Support, Antwortzeiten, Zusagen zur
|
|
Abwärtskompatibilität oder die Übernahme von Änderungswünschen. Dieses Repo
|
|
folgt dem, was die eigenen Anwendungen brauchen. Fehlermeldungen sind
|
|
willkommen, eine Antwort ist nicht zugesagt.
|
|
|
|
**Fork ist ausdrücklich erlaubt** und oft der schnellere Weg als zu warten.
|