lightspeed/platform/foundation
App-platform foundation contracts and composition profiles for M38.
Types
Admin integration provider.
pub type AdminProvider {
EmbeddedPanel(module: String)
ExternalBackoffice(module: String)
MixedAdmin(primary: String, fallback: String)
}
Constructors
-
EmbeddedPanel(module: String) -
ExternalBackoffice(module: String) -
MixedAdmin(primary: String, fallback: String)
Admin seam with explicit override point.
pub type AdminSeam {
AdminSeam(
provider: AdminProvider,
override: OverridePoint,
audit_sink_module: String,
break_glass_role: String,
approval_workflow_required: Bool,
)
}
Constructors
-
AdminSeam( provider: AdminProvider, override: OverridePoint, audit_sink_module: String, break_glass_role: String, approval_workflow_required: Bool, )
One production-shaped app-platform profile.
pub type AppProfile {
AppProfile(
name: String,
auth: AuthSeam,
admin: AdminSeam,
policy: PolicySeam,
billing: BillingSeam,
surfaces: List(ProductSurface),
workflows: List(LifecycleWorkflow),
requires_framework_internal_patching: Bool,
)
}
Constructors
-
AppProfile( name: String, auth: AuthSeam, admin: AdminSeam, policy: PolicySeam, billing: BillingSeam, surfaces: List(ProductSurface), workflows: List(LifecycleWorkflow), requires_framework_internal_patching: Bool, )
Authentication integration provider.
pub type AuthProvider {
FirstParty(module: String)
Oidc(module: String)
Hybrid(primary: String, fallback: String)
}
Constructors
-
FirstParty(module: String) -
Oidc(module: String) -
Hybrid(primary: String, fallback: String)
Auth seam with explicit override point.
pub type AuthSeam {
AuthSeam(
provider: AuthProvider,
override: OverridePoint,
session_ttl_minutes: Int,
mfa_required: Bool,
passkey_enabled: Bool,
)
}
Constructors
-
AuthSeam( provider: AuthProvider, override: OverridePoint, session_ttl_minutes: Int, mfa_required: Bool, passkey_enabled: Bool, )
Billing integration provider.
pub type BillingProvider {
Stripe(module: String)
Paddle(module: String)
MixedBilling(primary: String, fallback: String)
}
Constructors
-
Stripe(module: String) -
Paddle(module: String) -
MixedBilling(primary: String, fallback: String)
Billing seam with explicit override point.
pub type BillingSeam {
BillingSeam(
provider: BillingProvider,
override: OverridePoint,
metering_source: MeteringSource,
webhook_verification: Bool,
dunning_enabled: Bool,
)
}
Constructors
-
BillingSeam( provider: BillingProvider, override: OverridePoint, metering_source: MeteringSource, webhook_verification: Bool, dunning_enabled: Bool, )
Core app-platform lifecycle workflow.
pub type LifecycleWorkflow {
AccountSignupActivation
SubscriptionUpgrade
AdminApprovalEscalation
TenantPolicyReview
}
Constructors
-
AccountSignupActivation -
SubscriptionUpgrade -
AdminApprovalEscalation -
TenantPolicyReview
Metering projection source.
pub type MeteringSource {
EventLog(module: String)
UsagePipeline(module: String)
HybridMetering(primary: String, fallback: String)
}
Constructors
-
EventLog(module: String) -
UsagePipeline(module: String) -
HybridMetering(primary: String, fallback: String)
Explicit app-platform override contract.
pub type OverridePoint {
Hook(module: String, hook: String)
Adapter(module: String)
RouteNamespace(module: String, namespace: String)
}
Constructors
-
Hook(module: String, hook: String) -
Adapter(module: String) -
RouteNamespace(module: String, namespace: String)
Policy integration provider.
pub type PolicyProvider {
RoleBased(module: String)
AttributeBased(module: String)
MixedPolicy(primary: String, fallback: String)
}
Constructors
-
RoleBased(module: String) -
AttributeBased(module: String) -
MixedPolicy(primary: String, fallback: String)
Policy seam with explicit override point.
pub type PolicySeam {
PolicySeam(
provider: PolicyProvider,
override: OverridePoint,
tenant_scoped: Bool,
deny_by_default: Bool,
decision_trace_enabled: Bool,
)
}
Constructors
-
PolicySeam( provider: PolicyProvider, override: OverridePoint, tenant_scoped: Bool, deny_by_default: Bool, decision_trace_enabled: Bool, )
Product-application surface.
pub type ProductSurface {
CustomerPortal
AdminConsole
PublicApi
PartnerApi
OperationsConsole
}
Constructors
-
CustomerPortal -
AdminConsole -
PublicApi -
PartnerApi -
OperationsConsole
Values
pub fn admin_provider_label(provider: AdminProvider) -> String
Admin-provider label.
pub fn auth_provider_label(provider: AuthProvider) -> String
Auth-provider label.
pub fn billing_provider_label(
provider: BillingProvider,
) -> String
Billing-provider label.
pub fn explicit_override_points(profile: AppProfile) -> Bool
All seams have explicit and external override points.
pub fn marketplace_profile() -> AppProfile
Marketplace profile with partner surface.
pub fn metering_source_label(source: MeteringSource) -> String
Metering-source label.
pub fn operations_platform_profile() -> AppProfile
Operations-heavy product profile.
pub fn override_point_label(value: OverridePoint) -> String
Override-point label.
pub fn policy_provider_label(provider: PolicyProvider) -> String
Policy-provider label.
pub fn required_workflows() -> List(LifecycleWorkflow)
Required core workflows for M38 conformance.
pub fn requires_framework_internal_patching(
profile: AppProfile,
) -> Bool
Whether profile requires framework-internal patching.
pub fn seam_contract_signature(profile: AppProfile) -> String
Stable integration-seam signature for extension contracts.
pub fn supports_workflow(
profile: AppProfile,
workflow: LifecycleWorkflow,
) -> Bool
Check whether one workflow is supported by one profile.
pub fn workflow_matrix_signature(profile: AppProfile) -> String
Stable workflow matrix signature.
pub fn workflow_runs_without_internal_patching(
profile: AppProfile,
workflow: LifecycleWorkflow,
) -> Bool
Verify one workflow can run through explicit seams without framework patching.
pub fn workflows(profile: AppProfile) -> List(LifecycleWorkflow)
Profile workflows accessor.