feat(planner): persist reusable action semantics
Tests / Test passed: 879

This commit is contained in:
2026-07-15 18:14:28 +08:00
parent 361dada276
commit d69be48f96
41 changed files with 733 additions and 116 deletions
+4
View File
@@ -190,6 +190,10 @@ export interface PlannerDecisionItem {
user_prompt: string;
tool_name: string;
arguments: Record<string, unknown>;
rationale?: string | null;
thinking?: string | null;
purpose?: string | null;
expected_outcome?: string | null;
created_at: string;
}
+16
View File
@@ -504,6 +504,22 @@ function formatArguments(args: Record<string, unknown>): string {
<summary>Arguments</summary>
<pre class="planner-prompt">{{ formatArguments(decision.arguments) }}</pre>
</details>
<details v-if="decision.purpose">
<summary>Action purpose</summary>
<pre class="planner-prompt">{{ decision.purpose }}</pre>
</details>
<details v-if="decision.expected_outcome">
<summary>Expected outcome</summary>
<pre class="planner-prompt">{{ decision.expected_outcome }}</pre>
</details>
<details v-if="decision.rationale">
<summary>Rationale</summary>
<pre class="planner-prompt">{{ decision.rationale }}</pre>
</details>
<details v-if="decision.thinking">
<summary>Thinking</summary>
<pre class="planner-prompt">{{ decision.thinking }}</pre>
</details>
</div>
</div>
<div v-else-if="plannerHistoryState.kind === 'empty_cloud_transport'" class="muted">