File size: 3,894 Bytes
75ca235
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f9cf02d
 
75ca235
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Bug Triage OpenEnv</title>
  <link rel="icon" href="__APP_BASE__/static/favicon.svg" type="image/svg+xml" />
  <link rel="stylesheet" href="__APP_BASE__/static/styles.css" />
</head>
<body>
  <main class="container">
    <header class="card">
      <h1>Bug Triage OpenEnv</h1>
      <p class="muted">Simple runner for <code>reset()</code>, <code>step()</code>, and <code>state()</code>.</p>
      <p>
        <strong>Health:</strong> <span id="health">checking...</span>
        <span class="sep">|</span>
        <strong>Status:</strong> <span id="status">idle</span>
      </p>
    </header>

    <section class="grid two">
      <article class="card">
        <h2>Session</h2>
        <div class="row">
          <label>
            Task
            <select id="task-select"></select>
          </label>
          <label>
            Seed
            <input id="seed-input" type="number" value="42" min="0" step="1" />
          </label>
        </div>
        <div class="row buttons">
          <button id="reset-btn">Reset</button>
          <button id="state-btn" class="secondary">Refresh State</button>
        </div>
        <div id="baseline" class="muted small">Baseline: loading...</div>
      </article>

      <article class="card">
        <h2>Metrics</h2>
        <div class="metrics">
          <div><span>steps_used</span><strong id="m-steps-used">0</strong></div>
          <div><span>steps_remaining</span><strong id="m-steps-remaining">0</strong></div>
          <div><span>queue_remaining</span><strong id="m-queue-remaining">0</strong></div>
          <div><span>urgent_count</span><strong id="m-urgent-count">0</strong></div>
          <div><span>sla_at_risk</span><strong id="m-sla-risk">0</strong></div>
          <div><span>partial_score</span><strong id="m-partial-score">0.00</strong></div>
          <div><span>cumulative_reward</span><strong id="m-cumulative-reward">0.00</strong></div>
          <div><span>episode_done</span><strong id="m-done">false</strong></div>
        </div>
      </article>
    </section>

    <section class="grid two">
      <article class="card">
        <h2>Action Builder</h2>
        <label>
          Action Type
          <select id="action-type">
            <option value="classify">classify</option>
            <option value="assign">assign</option>
            <option value="mark_duplicate">mark_duplicate</option>
            <option value="request_info">request_info</option>
            <option value="defer">defer</option>
            <option value="close">close</option>
            <option value="escalate_incident">escalate_incident</option>
            <option value="next_ticket">next_ticket</option>
          </select>
        </label>
        <div id="payload-fields" class="stack"></div>
        <div class="row buttons">
          <button id="suggest-btn" class="secondary">Suggest Action</button>
          <button id="step-btn">Take Action</button>
        </div>
        <h3>Action JSON</h3>
        <pre id="action-preview">{}</pre>
      </article>

      <article class="card">
        <h2>Current Ticket</h2>
        <p id="ticket-summary" class="muted">No ticket loaded.</p>
        <pre id="ticket-json">{}</pre>
      </article>
    </section>

    <section class="grid two">
      <article class="card">
        <h2>Last Reward</h2>
        <pre id="reward-json">{}</pre>
      </article>
      <article class="card">
        <h2>State</h2>
        <pre id="state-json">{}</pre>
      </article>
    </section>

    <section class="card">
      <h2>Step Log</h2>
      <ol id="log"></ol>
    </section>
  </main>

  <script>window.OPENENV_BASE_PATH = "__APP_BASE__";</script>
  <script src="__APP_BASE__/static/app.js"></script>
</body>
</html>