/** * Domain types shared across capability modules. * * ADR-084 Wave 1 entities — **Project, Environment, Database, EnvVar, * Domain* (Domain / DomainHostname / DomainEmailBinding / DnsRecord / * HostnameInstruction), Deployment* (DeploymentStatus / DeployResult / * DeploymentDetail / PromoteResult), Secret* (SecretDetail / SecretListItem * / SecretVersion / EnvironmentRef), User (WhoAmI), Organization (Org / * OrgMember)** — are re-exported **type-only** from `@sylphx/contract` * (the framework-free Effect Schema SSOT). Hand-written types are gone; if * wire shape drifts, fix it at the contract, not here. * * Entities whose contract package hasn't landed yet (Service, * StorageResource, ConfigEntry, Task, Sandbox*) keep their hand-written types * below — they graduate as later ADR-084 waves ship. */ export type { DeploymentDetail, DeploymentEnvironmentStatus as DeploymentStatusEnv, DeploymentHistoryItem, DeploymentHistoryResult, DeploymentStatus, DeployResult, DnsRecord, Domain, Domain as DomainResult, DomainEmailBinding, DomainHostname, Environment, EnvVar, HostnameInstruction, ManagedWorkspace, ManagedWorkspaceLifecycle, ManagedWorkspaceLineage, MobileDeviceTest, MobileDeviceTestStatus, Organization as Org, OrgMember, ProjectStatus, PromoteResult, RollbackResult, WorkspaceCapacitySnapshot, WorkspaceIntent, } from '@sylphx/contract'; import type { MachineSize, Project, ScalePolicy, VolumeResource } from '@sylphx/contract'; export type { MachineSize, Project, ScalePolicy }; export type { AuthenticatedPrincipal, Database, ResourceBinding, WhoAmI } from '@sylphx/contract'; export interface LogEntry { id?: string; sequence?: number; level: 'info' | 'warn' | 'error' | 'success'; message: string; timestamp?: string; service?: string; content?: string; msg?: string; } export interface LogStream { url: string; token: string; } export interface LogListResult { object: 'list'; projectId: string; envId: string; envType: string; deploymentRecordId: string; deploymentStatus: string; data: readonly LogEntry[]; } export interface Service { id: string; name: string; projectId: string; githubRepo?: string | null; githubBranch?: string | null; dockerfilePath?: string | null; buildContext?: string | null; buildCommand?: string | null; startCommand?: string | null; port?: string | null; healthCheckPath?: string | null; scalePolicy?: ScalePolicy | null; instanceType?: MachineSize | null; publicNetworking?: boolean | null; protection?: string | null; /** * ADR-141 — framework-detection signals captured at deploy time and * persisted on `project_services.machine_config.frameworkSignals`. Used * by `sylphx migrate status` for fleet visibility. `null` means no * SDK signal has been observed yet (not an opt-out). */ frameworkSignals?: { sdkHealthDetected?: boolean; } | null; createdAt?: string; environmentCount?: number; } export type Volume = Pick; /** * Storage binding object as returned by GET /projects/:id/storage. * Each entry represents a blob storage resource bound to a project environment. */ export interface StorageResource { /** Binding ID (bkt_xxx) */ id: string; /** Underlying resource ID (res_xxx) */ resourceId?: string; /** Binding role (e.g. "primary") */ role?: string; /** Environment type (e.g. "production") */ envType?: string; /** Public CDN URL */ publicUrl?: string; /** Non-secret managed env vars returned on create. */ envVars?: Record; /** Full set of env var names made available to deployments. */ envVarNames?: string[]; createdAt?: string; } export interface ConfigEntry { key: string; /** Can be any JSON value (string, number, object, etc.) */ value: unknown; version?: number; environmentId?: string | null; updatedBy?: string | null; updatedAt?: Date | string | null; } export interface Task { /** Prefixed task ID (task_xxx) */ id: string; projectId: string; environmentId: string; taskName: string; /** 'job' | 'service' | 'cron' */ executionMode: string; command?: string[] | null; imageRef?: string | null; machine?: MachineSize | null; handlerPath?: string | null; timeoutSeconds?: number | null; retryConfig?: { maxAttempts?: number; backoff?: 'fixed' | 'exponential'; } | null; source?: string; version?: number; hash?: string | null; createdAt?: string; updatedAt?: string; volumeMounts?: Array<{ id: string; volumeId: string; mountPath: string; readOnly: boolean; }>; } export interface SandboxSummary { id: string; status: string; image: string; endpoint: string | null; } export interface Sandbox extends SandboxSummary { token: string | null; createdAt: string; startedAt: string | null; expiresAt: string | null; } export interface SandboxCreateResult extends SandboxSummary { token: string | null; } //# sourceMappingURL=types.d.ts.map