VesselManager
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:57
Manages vessel registration, lookup, and lifecycle events.
Creates and owns its own store. Every vessel passes through
validateVessel so all stored entries carry post-transform brands
for IDs, variant names, and action names. Invalid input is rejected:
registerVessel returns { valid: false, issues } and does not
mutate state or emit vessel_registered.
Example
Section titled “Example”const manager = new VesselManager({ debug: true });
manager.events.on('vessel_registered', (e) => { console.log(`Registered: ${e.vessel.id}`);});
const result = manager.registerVessel(myVessel);if (!result.valid) { console.error(result.issues);}Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new VesselManager(
options?):VesselManager
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:63
Parameters
Section titled “Parameters”options?
Section titled “options?”VesselManagerOptions = {}
Returns
Section titled “Returns”VesselManager
Properties
Section titled “Properties”events
Section titled “events”
readonlyevents:EventSubscriber<VesselManagerEvents>
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:60
readonlystore:Store<VesselManagerState>
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:58
Accessors
Section titled “Accessors”Get Signature
Section titled “Get Signature”get size():
number
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:150
Returns
Section titled “Returns”number
Methods
Section titled “Methods”dispose()
Section titled “dispose()”dispose():
void
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:158
Returns
Section titled “Returns”void
get(
vesselId): {defaultVariant:VariantName;description:string;id:VesselId;name:string;variants:z.ZodRecord<z.ZodPipe<z.ZodString,z.ZodTransform<VariantName,string>>,z.ZodObject<{actions:z.ZodArray<z.ZodObject<{description:z.ZodString;idempotent:z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;name:z.ZodPipe<z.ZodString,z.ZodTransform<ActionName,string>>;parameters:z.ZodOptional<z.ZodArray<z.ZodObject<…, …>>>;transitionsTo:z.ZodOptional<z.ZodPipe<z.ZodString,z.ZodTransform<…, …>>>; },z.core.$strip>>;description:z.ZodOptional<z.ZodString>;minSize:z.ZodObject<{height:z.ZodNumber;width:z.ZodNumber; },z.core.$strip>;props:z.ZodRecord<z.ZodString,z.ZodUnknown>; },z.core.$strip>>; } |undefined
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:138
Parameters
Section titled “Parameters”vesselId
Section titled “vesselId”string
Returns
Section titled “Returns”{ defaultVariant: VariantName; description: string; id: VesselId; name: string; variants: z.ZodRecord<z.ZodPipe<z.ZodString, z.ZodTransform<VariantName, string>>, z.ZodObject<{ actions: z.ZodArray<z.ZodObject<{ description: z.ZodString; idempotent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; name: z.ZodPipe<z.ZodString, z.ZodTransform<ActionName, string>>; parameters: z.ZodOptional<z.ZodArray<z.ZodObject<…, …>>>; transitionsTo: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<…, …>>>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; minSize: z.ZodObject<{ height: z.ZodNumber; width: z.ZodNumber; }, z.core.$strip>; props: z.ZodRecord<z.ZodString, z.ZodUnknown>; }, z.core.$strip>>; } | undefined
getAll()
Section titled “getAll()”getAll():
object[]
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:142
Returns
Section titled “Returns”object[]
getRegisteredIds()
Section titled “getRegisteredIds()”getRegisteredIds():
string[]
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:154
Returns
Section titled “Returns”string[]
has(
vesselId):boolean
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:146
Parameters
Section titled “Parameters”vesselId
Section titled “vesselId”string
Returns
Section titled “Returns”boolean
registerVessel()
Section titled “registerVessel()”registerVessel(
vessel):VesselValidationResult
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:78
Registers a vessel. Always validates through the schema; on failure, returns the validation result without mutating state. Overwrites any existing vessel with the same ID.
Parameters
Section titled “Parameters”vessel
Section titled “vessel”VesselDefinition
Returns
Section titled “Returns”VesselValidationResult
unregisterVessel()
Section titled “unregisterVessel()”unregisterVessel(
vesselId): {defaultVariant:VariantName;description:string;id:VesselId;name:string;variants:z.ZodRecord<z.ZodPipe<z.ZodString,z.ZodTransform<VariantName,string>>,z.ZodObject<{actions:z.ZodArray<z.ZodObject<{description:z.ZodString;idempotent:z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;name:z.ZodPipe<z.ZodString,z.ZodTransform<ActionName,string>>;parameters:z.ZodOptional<z.ZodArray<z.ZodObject<…, …>>>;transitionsTo:z.ZodOptional<z.ZodPipe<z.ZodString,z.ZodTransform<…, …>>>; },z.core.$strip>>;description:z.ZodOptional<z.ZodString>;minSize:z.ZodObject<{height:z.ZodNumber;width:z.ZodNumber; },z.core.$strip>;props:z.ZodRecord<z.ZodString,z.ZodUnknown>; },z.core.$strip>>; } |undefined
Defined in: packages/client/src/lib/vessel-management/vessel-manager.ts:113
Unregisters a vessel by ID. Returns the removed vessel, or undefined.
Parameters
Section titled “Parameters”vesselId
Section titled “vesselId”string
Returns
Section titled “Returns”{ defaultVariant: VariantName; description: string; id: VesselId; name: string; variants: z.ZodRecord<z.ZodPipe<z.ZodString, z.ZodTransform<VariantName, string>>, z.ZodObject<{ actions: z.ZodArray<z.ZodObject<{ description: z.ZodString; idempotent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; name: z.ZodPipe<z.ZodString, z.ZodTransform<ActionName, string>>; parameters: z.ZodOptional<z.ZodArray<z.ZodObject<…, …>>>; transitionsTo: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<…, …>>>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; minSize: z.ZodObject<{ height: z.ZodNumber; width: z.ZodNumber; }, z.core.$strip>; props: z.ZodRecord<z.ZodString, z.ZodUnknown>; }, z.core.$strip>>; } | undefined