feat: extend supply workbench demo and map navigation

This commit is contained in:
2026-09-23 13:19:30 +08:00
parent bebcf2a06c
commit 1752b9ef84
45 changed files with 2137 additions and 449 deletions
+25 -3
View File
@@ -3,6 +3,25 @@ import type { AccessTokenProvider } from "@/shared/auth/keycloak-auth";
export type AgentRunStatus = "running" | "completed" | "error" | "aborted";
export type AgentEventTriggerContext = {
schema_version: "agent-trigger@1";
kind: "event";
trigger_id: string;
occurred_at: string;
source: "peripheral_sample";
subject_type: "work_order";
subject_id: string;
workflow: "water_quality_complaint";
payload: {
title: string;
summary: string;
location?: string | null;
priority: "low" | "normal" | "high" | "urgent";
scenario_code: "WQ-SECONDARY-SUPPLY-001";
origin: "synthetic";
};
};
export type AgentPermissionReply = "once" | "always" | "reject";
export type AgentModelOption = {
@@ -29,6 +48,9 @@ export type AgentChatSession = {
updated_at?: number | string;
is_title_manually_edited?: boolean;
parent_session_id?: string;
created?: boolean;
event_duplicate?: boolean;
trigger_id?: string;
};
export type AgentChatSessionSummary = {
@@ -80,7 +102,7 @@ export type AgentSessionStreamEvent =
};
export type AgentApiClient = {
createSession: () => Promise<AgentChatSession>;
createSession: (options?: { triggerContext?: AgentEventTriggerContext }) => Promise<AgentChatSession>;
listSessions: () => Promise<AgentChatSessionSummary[]>;
loadSession: (sessionId: string) => Promise<AgentLoadedChatSession | null>;
streamSession: (
@@ -154,11 +176,11 @@ export function createAgentApiClient(
};
return {
async createSession() {
async createSession(options) {
return requestJson<AgentChatSession>("/session", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({})
body: JSON.stringify({ trigger_context: options?.triggerContext })
});
},
+1
View File
@@ -11,6 +11,7 @@ export type {
AgentApiClient,
AgentApiClientOptions,
AgentChatSessionSummary,
AgentEventTriggerContext,
AgentLoadedChatSession,
AgentSessionStreamEvent
} from "./api/client";