113 lines
4.8 KiB
Plaintext
113 lines
4.8 KiB
Plaintext
@model StoryIntelligenceDryRunViewModel
|
|
@{
|
|
ViewData["Title"] = "Story Intelligence Dry Run";
|
|
var result = Model.Result;
|
|
}
|
|
|
|
<div class="page-heading compact">
|
|
<div>
|
|
<p class="eyebrow">Admin utility</p>
|
|
<h1>Story Intelligence Dry Run</h1>
|
|
<p class="lead-text">This is a development dry run. It does not save data or modify projects.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<nav class="mb-3" aria-label="Breadcrumb">
|
|
<a asp-controller="Projects" asp-action="Index">Projects</a>
|
|
<span class="muted"> / </span>
|
|
<a asp-action="Index">Admin</a>
|
|
<span class="muted"> / </span>
|
|
<a asp-action="StoryIntelligenceDiagnostics">Story Intelligence Diagnostics</a>
|
|
<span class="muted"> / Dry Run</span>
|
|
</nav>
|
|
|
|
<section class="edit-panel">
|
|
<h2>Manual scene test</h2>
|
|
<p>Use short fictional sample text only. This page loads <code>Scene-Prompt-V1.md</code>, replaces runtime placeholders, and displays the raw response.</p>
|
|
<form asp-action="StoryIntelligenceTest" method="post">
|
|
<div class="row g-3">
|
|
<div class="col-md-3">
|
|
<label class="form-label" asp-for="Form.ProjectID">ProjectID</label>
|
|
<input class="form-control" asp-for="Form.ProjectID" />
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label class="form-label" asp-for="Form.BookID">BookID</label>
|
|
<input class="form-control" asp-for="Form.BookID" />
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label class="form-label" asp-for="Form.ChapterID">ChapterID</label>
|
|
<input class="form-control" asp-for="Form.ChapterID" />
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label class="form-label" asp-for="Form.SceneID">SceneID</label>
|
|
<input class="form-control" asp-for="Form.SceneID" />
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label class="form-label" asp-for="Form.ChapterNumber">ChapterNumber</label>
|
|
<input class="form-control" asp-for="Form.ChapterNumber" />
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label class="form-label" asp-for="Form.SceneNumber">SceneNumber</label>
|
|
<input class="form-control" asp-for="Form.SceneNumber" />
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label" asp-for="Form.SourceLabel">SourceLabel</label>
|
|
<input class="form-control" asp-for="Form.SourceLabel" />
|
|
</div>
|
|
<div class="col-12">
|
|
<label class="form-label" asp-for="Form.SceneText">Scene text</label>
|
|
<textarea class="form-control" asp-for="Form.SceneText" rows="8"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="button-row mt-3">
|
|
<button class="btn btn-primary" type="submit">Run dry test</button>
|
|
<a class="btn btn-outline-secondary" asp-action="StoryIntelligenceDiagnostics">Back to diagnostics</a>
|
|
</div>
|
|
</form>
|
|
</section>
|
|
|
|
@if (result is not null)
|
|
{
|
|
<section class="edit-panel">
|
|
<h2>Dry-run result</h2>
|
|
@if (!result.Success)
|
|
{
|
|
<div class="alert alert-warning">@result.ErrorMessage</div>
|
|
}
|
|
<div class="row g-3">
|
|
<div class="col-md-3">
|
|
<div class="border rounded p-3 h-100">
|
|
<p class="eyebrow">Prompt version</p>
|
|
<h3 class="mb-0">@result.PromptVersion</h3>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="border rounded p-3 h-100">
|
|
<p class="eyebrow">Model</p>
|
|
<h3 class="mb-0">@result.Model</h3>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="border rounded p-3 h-100">
|
|
<p class="eyebrow">Duration</p>
|
|
<h3 class="mb-0">@(string.IsNullOrWhiteSpace(result.Duration) ? "Not run" : result.Duration)</h3>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="border rounded p-3 h-100">
|
|
<p class="eyebrow">Retries</p>
|
|
<h3 class="mb-0">@result.RetryCount.ToString("N0")</h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mt-3">
|
|
<label class="form-label" for="sceneContextJson">Scene context JSON</label>
|
|
<textarea class="form-control font-monospace" id="sceneContextJson" rows="8" readonly>@result.SceneContextJson</textarea>
|
|
</div>
|
|
<div class="mt-3">
|
|
<label class="form-label" for="rawResponseText">Raw response text</label>
|
|
<textarea class="form-control font-monospace" id="rawResponseText" rows="18" readonly>@result.RawResponseText</textarea>
|
|
</div>
|
|
</section>
|
|
}
|