Files
Primora/packages/api-client/src/generated/index.ts
T
Tomas DvorakandDevin 55edbf8b56 feat: phase 6 production hardening + DB-to-DB transfer
Security:
- Graceful shutdown: http.Server + signal.NotifyContext, 10s drain,
  retention sweeper cancelled before pool close
- Scoped API keys (migration 00006): ingest/read/write/admin enforced in
  auth middleware; scope picker + badges in Settings UI; scopeless legacy
  keys act as admin. Read-only keys now get 403 on ingest (verified live)
- nginx: baseline security headers on all responses, CSP scoped to SPA;
  fixed add_header inheritance shadowing
- better-auth rate limit enabled unconditionally (was gated on NODE_ENV,
  which the shipped .env sets to development)
- Mailpit moved to docker-compose.dev.yml; prod compose cannot expose it
- setup.sh generates PRIMORA_ENCRYPTION_KEY

Reliability/ops:
- Retention: per-project retention_{events,audit,webhook}_days
  (migration 00007, 0=off) + hourly RetentionSweeper; edit UI in Projects
- GET /api/v1/metrics Prometheus exposition
- compose: healthchecks + restart policies everywhere, dragonfly pinned
  to v2.0.0, depends_on service_healthy
- backup.sh/restore.sh (pg_dump -Fc + storage volume); restore verified
  against scratch postgres+volume
- .dockerignore: exclude target dirs (build context was 4.7GB)

Correctness/testing:
- DBX transfer endpoint: POST /db-connections/:id/transfer — SQL or Redis
  target, 1000-row bound, server-side creds (verified live pg→dragonfly)
- Pagination audit: ListComponents capped at 500 (auto-registers)
- CI: goose up/reset/up job + compose e2e-smoke job (smoke-e2e.sh
  verified locally: signup, bootstrap, scoped keys, ingest, metrics)
- k6 load sanity script: 6650 reqs, ~217/s, 0 real failures, p95 221ms
  (429s = configured rate limiter working)

Docs: DEPLOYMENT_GUIDE.md, PRODUCTION_READINESS.md; verify script
repaired (stale refs + set -e arithmetic abort). ROADMAP: phase 2 +
phase 6 marked complete.

Authored By: TDvorak <[email protected]>

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 09:15:42 +02:00

250 lines
16 KiB
TypeScript

/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export { ApiError } from './core/ApiError';
export { CancelablePromise, CancelError } from './core/CancelablePromise';
export { OpenAPI } from './core/OpenAPI';
export type { OpenAPIConfig } from './core/OpenAPI';
export type { AcceptInvitationRequest } from './models/AcceptInvitationRequest';
export type { ApiKey } from './models/ApiKey';
export type { ApiKeyID } from './models/ApiKeyID';
export type { AuditAction } from './models/AuditAction';
export type { AuditLog } from './models/AuditLog';
export type { AuditLogListResponse } from './models/AuditLogListResponse';
export type { AuditQuery } from './models/AuditQuery';
export type { BootstrapRequest } from './models/BootstrapRequest';
export type { BootstrapResponse } from './models/BootstrapResponse';
export type { Bucket } from './models/Bucket';
export type { BucketID } from './models/BucketID';
export type { BucketObject } from './models/BucketObject';
export type { BucketObjectListResponse } from './models/BucketObjectListResponse';
export type { Collection } from './models/Collection';
export type { CollectionID } from './models/CollectionID';
export type { CollectionListResponse } from './models/CollectionListResponse';
export type { ComponentHealth } from './models/ComponentHealth';
export type { ComponentID } from './models/ComponentID';
export type { ConnectionID } from './models/ConnectionID';
export type { CopyBucketObjectRequest } from './models/CopyBucketObjectRequest';
export type { CreateApiKeyRequest } from './models/CreateApiKeyRequest';
export { CreateBucketRequest } from './models/CreateBucketRequest';
export type { CreateCollectionRequest } from './models/CreateCollectionRequest';
export type { CreatedApiKey } from './models/CreatedApiKey';
export { CreateDBConnectionRequest } from './models/CreateDBConnectionRequest';
export type { CreateDeployMarkerRequest } from './models/CreateDeployMarkerRequest';
export type { CreateDocumentRequest } from './models/CreateDocumentRequest';
export { CreateIntegrationRequest } from './models/CreateIntegrationRequest';
export { CreateInvitationRequest } from './models/CreateInvitationRequest';
export type { CreateOrganizationRequest } from './models/CreateOrganizationRequest';
export type { CreateProjectRequest } from './models/CreateProjectRequest';
export type { CreateWebhookRequest } from './models/CreateWebhookRequest';
export type { DatabaseQuery } from './models/DatabaseQuery';
export type { DBConnection } from './models/DBConnection';
export type { DBConnectionListResponse } from './models/DBConnectionListResponse';
export type { DBConnectionTestResult } from './models/DBConnectionTestResult';
export type { DBDatabaseListResponse } from './models/DBDatabaseListResponse';
export type { DBDescribeResponse } from './models/DBDescribeResponse';
export type { DBForeignKeyEdge } from './models/DBForeignKeyEdge';
export type { DBForeignKeysResponse } from './models/DBForeignKeysResponse';
export type { DBMDTable } from './models/DBMDTable';
export type { DBObject } from './models/DBObject';
export type { DBQueryRequest } from './models/DBQueryRequest';
export type { DBQueryResponse } from './models/DBQueryResponse';
export type { DBRedisRequest } from './models/DBRedisRequest';
export type { DBRedisResponse } from './models/DBRedisResponse';
export type { DBSchemaContextResponse } from './models/DBSchemaContextResponse';
export type { DBTableListResponse } from './models/DBTableListResponse';
export type { DBTransferRequest } from './models/DBTransferRequest';
export type { DBTransferResponse } from './models/DBTransferResponse';
export type { DBXStatus } from './models/DBXStatus';
export type { DeployMarker } from './models/DeployMarker';
export type { Document } from './models/Document';
export type { DocumentID } from './models/DocumentID';
export type { DocumentListResponse } from './models/DocumentListResponse';
export type { ErrorEnvelope } from './models/ErrorEnvelope';
export type { EventSeriesBucket } from './models/EventSeriesBucket';
export type { HealthStatus } from './models/HealthStatus';
export { IngestEvent } from './models/IngestEvent';
export type { IngestRequest } from './models/IngestRequest';
export type { IngestResponse } from './models/IngestResponse';
export { Integration } from './models/Integration';
export type { IntegrationAnalytics } from './models/IntegrationAnalytics';
export type { IntegrationID } from './models/IntegrationID';
export type { IntegrationListResponse } from './models/IntegrationListResponse';
export type { IntegrationTestResult } from './models/IntegrationTestResult';
export type { Invitation } from './models/Invitation';
export type { InvitationID } from './models/InvitationID';
export type { MeResponse } from './models/MeResponse';
export type { MetricPoint } from './models/MetricPoint';
export type { MetricSeriesResponse } from './models/MetricSeriesResponse';
export type { ObjectKey } from './models/ObjectKey';
export type { OrganizationID } from './models/OrganizationID';
export { OrganizationInvitation } from './models/OrganizationInvitation';
export { OrganizationMember } from './models/OrganizationMember';
export type { OrganizationMembership } from './models/OrganizationMembership';
export type { OrganizationSummary } from './models/OrganizationSummary';
export type { PaginationLimit } from './models/PaginationLimit';
export type { PaginationMetadata } from './models/PaginationMetadata';
export type { PaginationOffset } from './models/PaginationOffset';
export type { Project } from './models/Project';
export type { ProjectID } from './models/ProjectID';
export { ProjectMember } from './models/ProjectMember';
export type { ProjectOverview } from './models/ProjectOverview';
export type { ProjectSummary } from './models/ProjectSummary';
export type { ReadinessStatus } from './models/ReadinessStatus';
export type { RybbitMetricItem } from './models/RybbitMetricItem';
export type { RybbitSite } from './models/RybbitSite';
export type { SchemaQuery } from './models/SchemaQuery';
export type { TableQuery } from './models/TableQuery';
export type { TelemetryComponent } from './models/TelemetryComponent';
export type { TelemetryComponentListResponse } from './models/TelemetryComponentListResponse';
export type { TelemetryEvent } from './models/TelemetryEvent';
export type { TelemetryEventListResponse } from './models/TelemetryEventListResponse';
export type { TelemetryIssue } from './models/TelemetryIssue';
export type { TelemetryIssueListResponse } from './models/TelemetryIssueListResponse';
export type { TelemetryStats } from './models/TelemetryStats';
export type { UpdateBucketObjectRequest } from './models/UpdateBucketObjectRequest';
export { UpdateBucketRequest } from './models/UpdateBucketRequest';
export type { UpdateCollectionRequest } from './models/UpdateCollectionRequest';
export type { UpdateDocumentRequest } from './models/UpdateDocumentRequest';
export { UpdateOrganizationMemberRoleRequest } from './models/UpdateOrganizationMemberRoleRequest';
export type { UpdateOrganizationRequest } from './models/UpdateOrganizationRequest';
export { UpdateProjectMemberRoleRequest } from './models/UpdateProjectMemberRoleRequest';
export type { UpdateProjectRequest } from './models/UpdateProjectRequest';
export type { UpdateWebhookRequest } from './models/UpdateWebhookRequest';
export type { UserID } from './models/UserID';
export type { UserSummary } from './models/UserSummary';
export type { Webhook } from './models/Webhook';
export type { WebhookCreateResponse } from './models/WebhookCreateResponse';
export { WebhookDelivery } from './models/WebhookDelivery';
export type { WebhookDeliveryListResponse } from './models/WebhookDeliveryListResponse';
export type { WebhookID } from './models/WebhookID';
export type { WebhookListResponse } from './models/WebhookListResponse';
export { $AcceptInvitationRequest } from './schemas/$AcceptInvitationRequest';
export { $ApiKey } from './schemas/$ApiKey';
export { $ApiKeyID } from './schemas/$ApiKeyID';
export { $AuditAction } from './schemas/$AuditAction';
export { $AuditLog } from './schemas/$AuditLog';
export { $AuditLogListResponse } from './schemas/$AuditLogListResponse';
export { $AuditQuery } from './schemas/$AuditQuery';
export { $BootstrapRequest } from './schemas/$BootstrapRequest';
export { $BootstrapResponse } from './schemas/$BootstrapResponse';
export { $Bucket } from './schemas/$Bucket';
export { $BucketID } from './schemas/$BucketID';
export { $BucketObject } from './schemas/$BucketObject';
export { $BucketObjectListResponse } from './schemas/$BucketObjectListResponse';
export { $Collection } from './schemas/$Collection';
export { $CollectionID } from './schemas/$CollectionID';
export { $CollectionListResponse } from './schemas/$CollectionListResponse';
export { $ComponentHealth } from './schemas/$ComponentHealth';
export { $ComponentID } from './schemas/$ComponentID';
export { $ConnectionID } from './schemas/$ConnectionID';
export { $CopyBucketObjectRequest } from './schemas/$CopyBucketObjectRequest';
export { $CreateApiKeyRequest } from './schemas/$CreateApiKeyRequest';
export { $CreateBucketRequest } from './schemas/$CreateBucketRequest';
export { $CreateCollectionRequest } from './schemas/$CreateCollectionRequest';
export { $CreatedApiKey } from './schemas/$CreatedApiKey';
export { $CreateDBConnectionRequest } from './schemas/$CreateDBConnectionRequest';
export { $CreateDeployMarkerRequest } from './schemas/$CreateDeployMarkerRequest';
export { $CreateDocumentRequest } from './schemas/$CreateDocumentRequest';
export { $CreateIntegrationRequest } from './schemas/$CreateIntegrationRequest';
export { $CreateInvitationRequest } from './schemas/$CreateInvitationRequest';
export { $CreateOrganizationRequest } from './schemas/$CreateOrganizationRequest';
export { $CreateProjectRequest } from './schemas/$CreateProjectRequest';
export { $CreateWebhookRequest } from './schemas/$CreateWebhookRequest';
export { $DatabaseQuery } from './schemas/$DatabaseQuery';
export { $DBConnection } from './schemas/$DBConnection';
export { $DBConnectionListResponse } from './schemas/$DBConnectionListResponse';
export { $DBConnectionTestResult } from './schemas/$DBConnectionTestResult';
export { $DBDatabaseListResponse } from './schemas/$DBDatabaseListResponse';
export { $DBDescribeResponse } from './schemas/$DBDescribeResponse';
export { $DBForeignKeyEdge } from './schemas/$DBForeignKeyEdge';
export { $DBForeignKeysResponse } from './schemas/$DBForeignKeysResponse';
export { $DBMDTable } from './schemas/$DBMDTable';
export { $DBObject } from './schemas/$DBObject';
export { $DBQueryRequest } from './schemas/$DBQueryRequest';
export { $DBQueryResponse } from './schemas/$DBQueryResponse';
export { $DBRedisRequest } from './schemas/$DBRedisRequest';
export { $DBRedisResponse } from './schemas/$DBRedisResponse';
export { $DBSchemaContextResponse } from './schemas/$DBSchemaContextResponse';
export { $DBTableListResponse } from './schemas/$DBTableListResponse';
export { $DBTransferRequest } from './schemas/$DBTransferRequest';
export { $DBTransferResponse } from './schemas/$DBTransferResponse';
export { $DBXStatus } from './schemas/$DBXStatus';
export { $DeployMarker } from './schemas/$DeployMarker';
export { $Document } from './schemas/$Document';
export { $DocumentID } from './schemas/$DocumentID';
export { $DocumentListResponse } from './schemas/$DocumentListResponse';
export { $ErrorEnvelope } from './schemas/$ErrorEnvelope';
export { $EventSeriesBucket } from './schemas/$EventSeriesBucket';
export { $HealthStatus } from './schemas/$HealthStatus';
export { $IngestEvent } from './schemas/$IngestEvent';
export { $IngestRequest } from './schemas/$IngestRequest';
export { $IngestResponse } from './schemas/$IngestResponse';
export { $Integration } from './schemas/$Integration';
export { $IntegrationAnalytics } from './schemas/$IntegrationAnalytics';
export { $IntegrationID } from './schemas/$IntegrationID';
export { $IntegrationListResponse } from './schemas/$IntegrationListResponse';
export { $IntegrationTestResult } from './schemas/$IntegrationTestResult';
export { $Invitation } from './schemas/$Invitation';
export { $InvitationID } from './schemas/$InvitationID';
export { $MeResponse } from './schemas/$MeResponse';
export { $MetricPoint } from './schemas/$MetricPoint';
export { $MetricSeriesResponse } from './schemas/$MetricSeriesResponse';
export { $ObjectKey } from './schemas/$ObjectKey';
export { $OrganizationID } from './schemas/$OrganizationID';
export { $OrganizationInvitation } from './schemas/$OrganizationInvitation';
export { $OrganizationMember } from './schemas/$OrganizationMember';
export { $OrganizationMembership } from './schemas/$OrganizationMembership';
export { $OrganizationSummary } from './schemas/$OrganizationSummary';
export { $PaginationLimit } from './schemas/$PaginationLimit';
export { $PaginationMetadata } from './schemas/$PaginationMetadata';
export { $PaginationOffset } from './schemas/$PaginationOffset';
export { $Project } from './schemas/$Project';
export { $ProjectID } from './schemas/$ProjectID';
export { $ProjectMember } from './schemas/$ProjectMember';
export { $ProjectOverview } from './schemas/$ProjectOverview';
export { $ProjectSummary } from './schemas/$ProjectSummary';
export { $ReadinessStatus } from './schemas/$ReadinessStatus';
export { $RybbitMetricItem } from './schemas/$RybbitMetricItem';
export { $RybbitSite } from './schemas/$RybbitSite';
export { $SchemaQuery } from './schemas/$SchemaQuery';
export { $TableQuery } from './schemas/$TableQuery';
export { $TelemetryComponent } from './schemas/$TelemetryComponent';
export { $TelemetryComponentListResponse } from './schemas/$TelemetryComponentListResponse';
export { $TelemetryEvent } from './schemas/$TelemetryEvent';
export { $TelemetryEventListResponse } from './schemas/$TelemetryEventListResponse';
export { $TelemetryIssue } from './schemas/$TelemetryIssue';
export { $TelemetryIssueListResponse } from './schemas/$TelemetryIssueListResponse';
export { $TelemetryStats } from './schemas/$TelemetryStats';
export { $UpdateBucketObjectRequest } from './schemas/$UpdateBucketObjectRequest';
export { $UpdateBucketRequest } from './schemas/$UpdateBucketRequest';
export { $UpdateCollectionRequest } from './schemas/$UpdateCollectionRequest';
export { $UpdateDocumentRequest } from './schemas/$UpdateDocumentRequest';
export { $UpdateOrganizationMemberRoleRequest } from './schemas/$UpdateOrganizationMemberRoleRequest';
export { $UpdateOrganizationRequest } from './schemas/$UpdateOrganizationRequest';
export { $UpdateProjectMemberRoleRequest } from './schemas/$UpdateProjectMemberRoleRequest';
export { $UpdateProjectRequest } from './schemas/$UpdateProjectRequest';
export { $UpdateWebhookRequest } from './schemas/$UpdateWebhookRequest';
export { $UserID } from './schemas/$UserID';
export { $UserSummary } from './schemas/$UserSummary';
export { $Webhook } from './schemas/$Webhook';
export { $WebhookCreateResponse } from './schemas/$WebhookCreateResponse';
export { $WebhookDelivery } from './schemas/$WebhookDelivery';
export { $WebhookDeliveryListResponse } from './schemas/$WebhookDeliveryListResponse';
export { $WebhookID } from './schemas/$WebhookID';
export { $WebhookListResponse } from './schemas/$WebhookListResponse';
export { CollectionsService } from './services/CollectionsService';
export { DatabasesService } from './services/DatabasesService';
export { HealthService } from './services/HealthService';
export { IntegrationsService } from './services/IntegrationsService';
export { OrganizationsService } from './services/OrganizationsService';
export { PlatformService } from './services/PlatformService';
export { ProjectsService } from './services/ProjectsService';
export { StorageService } from './services/StorageService';
export { TelemetryService } from './services/TelemetryService';
export { WebhooksService } from './services/WebhooksService';