"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SessionStatus = void 0; const ValueObject_1 = require("../../../../shared/domain/ValueObject"); const Result_1 = require("../../../../shared/domain/Result"); const VALID_STATUSES = ['running', 'completed', 'failed', 'stopped']; class SessionStatus extends ValueObject_1.ValueObject { constructor(props) { super(props); } static create(val) { if (!VALID_STATUSES.includes(val)) { return (0, Result_1.Err)(`Invalid session status: "${val}". Must be one of: ${VALID_STATUSES.join(', ')}`); } return (0, Result_1.Ok)(new SessionStatus({ value: val })); } getValue() { return this.props.value; } } exports.SessionStatus = SessionStatus;