import { AdmissionDecision, AdmissionFacts, AdmissionPolicy, AdmissionReason, AdmissionRule, OccupancySnapshot, evaluateAdmission, isAdmitted, validateAdmissionPolicy } from "./domain/admission/admission.mjs"; import { MUSTER_EVENTS, MusterEventName } from "./events/event-constants.mjs"; import { CorrectionApproved, CorrectionRejected, CorrectionRequested, MusterEventDefinition, MusterEventSchema, RecordAppended, SessionCancelled, SessionClosed, SessionCorrected, SessionOpened, musterEventDefinitions } from "./events/event-catalog.mjs"; import { MusterContext, PENDING_EVENTS, resolveCtx } from "./domain/ports/common.mjs"; import { SubjectBridge, SubjectReference, SubjectSnapshot } from "./domain/ports/subject.bridge.mjs"; import { ScheduleBridge, ScheduleWindow } from "./domain/ports/schedule.bridge.mjs"; import { AdmissionBridge, AdmissionFactsQuery } from "./domain/ports/admission.bridge.mjs"; import { ATTENDANCE_OUTCOME_VALUES, AttendanceOutcome, AttendanceOutcomeValue } from "./domain/enums/attendance-outcome.enum.mjs"; import { CHECK_IN_METHOD_VALUES, CheckInMethod, CheckInMethodValue } from "./domain/enums/check-in-method.enum.mjs"; import { OutcomePolicy, OutcomePolicyInput } from "./domain/ports/outcome.policy.mjs"; import { SESSION_STATUS_VALUES, SESSION_TERMINAL_STATUSES, SessionStatus, SessionStatusValue, isSessionTerminal } from "./domain/enums/session-status.enum.mjs"; import { AttendanceRecordImmutableError, CorrectionAwaitingApprovalError, CorrectionNotFoundError, CorrectionNotPendingError, EmptyCorrectionError, InvalidBreakStateError, InvalidCorrectionTransitionError, InvalidSessionTransitionError, InvalidTimeRangeError, MusterCapabilityError, MusterError, SessionAlreadyOpenError, SessionNotFoundError, SessionNotOpenError, UnknownSubjectError, UnmanagedSessionError, VersionMismatchError } from "./domain/errors/muster.errors.mjs"; import { GeoPoint, InvalidGeoPointError, assertValidGeoPoint } from "./domain/value-objects/geo-point.vo.mjs"; import { DeviceInfo } from "./domain/value-objects/device-info.vo.mjs"; import { AttendanceSessionDocument, SessionCompanion } from "./models/attendance-session.model.mjs"; import { RECORD_TYPE_VALUES, RecordType, RecordTypeValue } from "./domain/enums/record-type.enum.mjs"; import { AttendanceRecordDocument } from "./models/attendance-record.model.mjs"; import { CORRECTION_STATUS_VALUES, CORRECTION_TERMINAL_STATUSES, CorrectionStatus, CorrectionStatusValue, isCorrectionTerminal } from "./domain/enums/correction-status.enum.mjs"; import { AttendanceCorrectionDocument, ProposedSessionChanges } from "./models/attendance-correction.model.mjs"; import { DefineMusterModelsConfig, MusterModels, defineMusterModels } from "./models/create-models.mjs"; import { AttendanceRecordRepository, AttendanceRecordRepositoryConfig } from "./repositories/attendance-record.repository.mjs"; import { AttendanceSessionRepository, AttendanceSessionRepositoryConfig, BreakInput, CancelSessionInput, CheckInInput, CheckOutInput, PunchInput, PunchResult } from "./repositories/attendance-session.repository.mjs"; import { AttendanceCorrectionRepository, AttendanceCorrectionRepositoryConfig, RequestCorrectionInput, ReviewCorrectionInput } from "./repositories/attendance-correction.repository.mjs"; import { MusterBridges, MusterEngine, MusterLogger, MusterPolicies, MusterRepositories, MusterRuntime, MusterShape, MusterTenantOptions, ResolvedMusterConfig } from "./engine/engine-types.mjs"; import { MusterBlueprint, defineMuster } from "./engine/define-muster.mjs"; import { RepoOptions, repoOptionsFromCtx } from "./repositories/repo-options.mjs"; import { allowedNextSessionStatuses, canTransitionSession } from "./domain/state-machines/session.fsm.mjs"; import { allowedNextCorrectionStatuses, canTransitionCorrection } from "./domain/state-machines/correction.fsm.mjs"; import { InvalidScopeRefError, SCOPE_KINDS, ScopeRef, encodeScopeRef, isScopeKind, isZoneScope, parseScopeRef, zoneScope } from "./domain/value-objects/scope-ref.vo.mjs"; import { flushPending } from "./repositories/run-unit.mjs"; import { InvalidOutboxEventError, MemoryOutboxStore, OutboxAcknowledgeOptions, OutboxClaimOptions, OutboxErrorInfo, OutboxFailOptions, OutboxFailureContext, OutboxFailureDecision, OutboxFailurePolicy, OutboxOwnershipError, OutboxStore, OutboxWriteOptions } from "./events/outbox-store.mjs"; import { CorrectionApprovedPayload, CorrectionRejectedPayload, CorrectionRequestedPayload, MusterEventPayloads, ProposedSessionChangesWire, RecordAppendedPayload, SessionCancelledPayload, SessionClosedPayload, SessionCorrectedPayload, SessionOpenedPayload, toProposedChangesWire } from "./events/event-payloads.mjs"; import { createEvent } from "./events/helpers.mjs"; import { InProcessMusterBus, InProcessMusterBusOptions } from "./events/in-process-bus.mjs"; import { DomainEvent, EventHandler, EventMeta, EventTransport } from "@classytic/primitives/events"; export { ATTENDANCE_OUTCOME_VALUES, type AdmissionBridge, type AdmissionDecision, type AdmissionFacts, type AdmissionFactsQuery, type AdmissionPolicy, type AdmissionReason, type AdmissionRule, type AttendanceCorrectionDocument, AttendanceCorrectionRepository, type AttendanceCorrectionRepositoryConfig, AttendanceOutcome, type AttendanceOutcomeValue, type AttendanceRecordDocument, AttendanceRecordImmutableError, AttendanceRecordRepository, type AttendanceRecordRepositoryConfig, type AttendanceSessionDocument, AttendanceSessionRepository, type AttendanceSessionRepositoryConfig, type BreakInput, CHECK_IN_METHOD_VALUES, CORRECTION_STATUS_VALUES, CORRECTION_TERMINAL_STATUSES, type CancelSessionInput, type CheckInInput, CheckInMethod, type CheckInMethodValue, type CheckOutInput, CorrectionApproved, type CorrectionApprovedPayload, CorrectionAwaitingApprovalError, CorrectionNotFoundError, CorrectionNotPendingError, CorrectionRejected, type CorrectionRejectedPayload, CorrectionRequested, type CorrectionRequestedPayload, CorrectionStatus, type CorrectionStatusValue, type DefineMusterModelsConfig, type DeviceInfo, type DomainEvent, EmptyCorrectionError, type EventHandler, type EventMeta, type EventTransport, type GeoPoint, InProcessMusterBus, type InProcessMusterBusOptions, InvalidBreakStateError, InvalidCorrectionTransitionError, InvalidGeoPointError, InvalidOutboxEventError, InvalidScopeRefError, InvalidSessionTransitionError, InvalidTimeRangeError, MUSTER_EVENTS, MemoryOutboxStore, type MusterBlueprint, type MusterBridges, MusterCapabilityError, type MusterContext, type MusterEngine, MusterError, type MusterEventDefinition, type MusterEventName, type MusterEventPayloads, type MusterEventSchema, type MusterLogger, type MusterModels, type MusterPolicies, type MusterRepositories, type MusterRuntime, type MusterShape, type MusterTenantOptions, type OccupancySnapshot, type OutboxAcknowledgeOptions, type OutboxClaimOptions, type OutboxErrorInfo, type OutboxFailOptions, type OutboxFailureContext, type OutboxFailureDecision, type OutboxFailurePolicy, OutboxOwnershipError, type OutboxStore, type OutboxWriteOptions, type OutcomePolicy, type OutcomePolicyInput, PENDING_EVENTS, type ProposedSessionChanges, type ProposedSessionChangesWire, type PunchInput, type PunchResult, RECORD_TYPE_VALUES, RecordAppended, type RecordAppendedPayload, RecordType, type RecordTypeValue, type RepoOptions, type RequestCorrectionInput, type ResolvedMusterConfig, type ReviewCorrectionInput, SCOPE_KINDS, SESSION_STATUS_VALUES, SESSION_TERMINAL_STATUSES, type ScheduleBridge, type ScheduleWindow, type ScopeRef, SessionAlreadyOpenError, SessionCancelled, type SessionCancelledPayload, SessionClosed, type SessionClosedPayload, type SessionCompanion, SessionCorrected, type SessionCorrectedPayload, SessionNotFoundError, SessionNotOpenError, SessionOpened, type SessionOpenedPayload, SessionStatus, type SessionStatusValue, type SubjectBridge, type SubjectReference, type SubjectSnapshot, UnknownSubjectError, UnmanagedSessionError, VersionMismatchError, allowedNextCorrectionStatuses, allowedNextSessionStatuses, assertValidGeoPoint, canTransitionCorrection, canTransitionSession, createEvent, defineMuster, defineMusterModels, encodeScopeRef, evaluateAdmission, flushPending, isAdmitted, isCorrectionTerminal, isScopeKind, isSessionTerminal, isZoneScope, musterEventDefinitions, parseScopeRef, repoOptionsFromCtx, resolveCtx, toProposedChangesWire, validateAdmissionPolicy, zoneScope };