feat: add AI-assisted ISAC authoring

This commit is contained in:
JB
2026-07-27 14:53:36 -04:00
parent 4eb754e7c8
commit efb0ccdc7e
37 changed files with 3531 additions and 50 deletions
@@ -3,6 +3,8 @@
import SegmentedChoice from '$lib/components/SegmentedChoice.svelte';
import MechanicLanguageHelp from '$lib/components/MechanicLanguageHelp.svelte';
import PseudoScript from '$lib/components/PseudoScript.svelte';
import MechanicAuthoringAssistant from '$lib/components/isac/MechanicAuthoringAssistant.svelte';
import type { AiMechanicContext } from '$lib/ai/mechanic-authoring';
import {
blankConditionalMechanicDraft,
parseConditionalMechanicDraft,
@@ -40,6 +42,7 @@
idPrefix = 'mechanic',
allowAssignedAbility = false,
allowProtocolUpgradeScaling = false,
aiContext,
disabled = false
}: {
rule?: ConditionalMechanicDraftV1;
@@ -48,6 +51,7 @@
idPrefix?: string;
allowAssignedAbility?: boolean;
allowProtocolUpgradeScaling?: boolean;
aiContext?: AiMechanicContext;
disabled?: boolean;
} = $props();
@@ -463,6 +467,19 @@
<MechanicLanguageHelp />
</div>
{#if aiContext}
<MechanicAuthoringAssistant
context={aiContext}
currentDraft={rule}
{valueColumns}
{idPrefix}
{allowAssignedAbility}
{allowProtocolUpgradeScaling}
{disabled}
onapply={setRule}
/>
{/if}
<SegmentedChoice
legend="SIMULATION READINESS"
name={`${idPrefix}-readiness`}