diff --git a/src/index.ts b/src/index.ts index 9cd4bfa..7c0c910 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,7 @@ import { AcaDefect, AcaFuelLow, AcaHeadingToBase, Message, MissileToOwnshipDetected, RequestApprovalToAttack } from "./schema"; import typia from "typia"; + /* sample messages ********************************************************************************/ const SAMPLES: Array = [ @@ -54,7 +55,7 @@ const SAMPLES: Array = [ data: { acaId: 5, fuelLevel: 0.1, - } + }, } satisfies AcaFuelLow, // example convo 3: low priority, low threat, no collateral @@ -86,7 +87,7 @@ const SAMPLES: Array = [ data: { acaId: 5, reason: "fuelLow", - } + }, } satisfies AcaHeadingToBase, // example convo 4: low priority, high threat, no collateral @@ -180,6 +181,7 @@ const SAMPLES: Array = [ } satisfies RequestApprovalToAttack, ]; + /* validation *************************************************************************************/ const VALIDATORS = { diff --git a/src/schema.ts b/src/schema.ts index cffffe5..3184e68 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -1,7 +1,7 @@ import { tags } from "typia"; -/* messages *******************************************************************/ +/* messages ***************************************************************************************/ export type Message = RequestApprovalToAttack | AcaFuelLow | MissileToOwnshipDetected | AcaDefect | AcaHeadingToBase; @@ -26,7 +26,7 @@ export type MissileToOwnshipDetected = BaseMessage<"MissileToOwnshipDetected", { detectedByAca?: Id, acaAttackWeapon?: Weapon, choiceWeight: Range<-1, 1>, // specifies which choice option to prefer, -1: avoid, 1: intervene -}> +}>; export type AcaFuelLow = BaseMessage<"AcaFuelLow", { acaId: Id, @@ -36,15 +36,15 @@ export type AcaFuelLow = BaseMessage<"AcaFuelLow", { export type AcaDefect = BaseMessage<"AcaDefect", { acaId: Id, message: string, -}> +}>; export type AcaHeadingToBase = BaseMessage<"AcaHeadingToBase", { acaId: Id, reason?: "fuelLow" | "weaponsLow", -}> +}>; -/* utility types **************************************************************/ +/* utility types **********************************************************************************/ export type Id = number & tags.Type<"uint64">; export type Priority = number & tags.Type<"uint32"> & tags.Maximum<10>;