feat: add generic single-meeting ingestion endpoint - #500
Conversation
roborev: Combined Review (
|
|
Fixed in commit
Validation: |
roborev: Combined Review (
|
roborev: Combined Review (
|
|
will review |
roborev: Combined Review (
|
|
will review! |
ecda580 to
49df40c
Compare
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
2608f43 to
b287c24
Compare
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
Generic single-meeting ingestion needs one coherent change so the daemon API, persistence layer, TUI presentation, generated clients, and published contract evolve together. Keeping the browser contract generated from the same OpenAPI source prevents typed web consumers from silently missing the endpoint. Follow-up fixes consolidated: - keep imported sources out of account scheduling - preserve scheduled Teams and Discord sources - keep unchanged retries idempotent while repairing statistics - scope statistics recomputation to the affected conversation - refresh and preserve identity-derived attribution - support slow bounded uploads without weakening unauthenticated limits - make the import lifecycle and participant persistence cancellation-safe - preserve reversible source and identity attribution provenance - migrate legacy meeting attribution safely across SQLite and PostgreSQL - preserve configured calendar-account attribution - copy subset messages safely across upgraded schema column order - avoid no-op source-wide attribution rewrites - derive attribution atomically during initial ingestion and re-sync - preserve legacy Calendar organizer attribution provenance - refresh attribution after participant and identifier repoints - reconcile confirmed identities during upgrades and invalidate stale caches Generated with Codex Co-authored-by: Wes McKinney <wesmckinn+git@gmail.com> Co-authored-by: Codex <noreply@openai.com>
0805d47 to
f531dbb
Compare
roborev: Combined Review (
|
|
will merge this pending CI |
Windows materializes SQLite snapshots through CSV views instead of DuckDB's sqlite scanner. Schema detection selected source-native attribution for current archives, but the CSV projection omitted that column, causing every cache build against a migrated schema to fail at bind time. Keep the fallback projection aligned with the detected message schema while retaining compatibility with older archives that only expose the effective attribution flag. Generated with Codex Co-authored-by: Codex <noreply@openai.com>
roborev: Combined Review (
|
|
thank you! |
|
@wesm you're very welcome. thank you for merging! |
What changed
POST /api/v1/import/meetingfor one provider-neutral meeting.Why
Local transcription tools and automations currently have no supported way to archive one completed meeting without a provider-specific integration.
Usage
POST one JSON meeting with a stable
source.identifierandmeeting.external_id. The first delivery returns201 created; later deliveries replace the same archived meeting and return200 updated.