refactor: code review improvements — fix bugs, extract shared utilities, add README
- Fix reactivity bug: use SvelteMap instead of Map in sessions store - Fix theme listener memory leak: guard against double-init, return cleanup function - Fix transport singleton ignoring different endpoints - Fix form/button type mismatch in MessageInput - Add safer retry validation in chat page - Extract shared utilities: date formatting, session config check, result source config - Extract shared components: Backdrop, PageHeader - Extract orchestration composable from chat page (310→85 lines of script) - Consolidate AuditTimeline switch functions into config record - Move sample data to dedicated module - Add dark mode support for LineageTree SVG colors - Memoize leaf count computation in LineageTree - Update README with usage guide and project structure Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -79,15 +79,18 @@ function getTransport(endpoint?: string) {
|
||||
/**
|
||||
* Reset the transport (useful for reconfiguring the endpoint).
|
||||
*/
|
||||
export function resetTransport(): void {
|
||||
export function resetTransport(newEndpoint?: string): void {
|
||||
transport = null;
|
||||
if (newEndpoint !== undefined) {
|
||||
transport = createGrpcWebTransport({ baseUrl: newEndpoint });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a configured orchestrator client.
|
||||
*/
|
||||
function getClient(endpoint?: string) {
|
||||
return createClient(OrchestratorService, getTransport(endpoint));
|
||||
function getClient() {
|
||||
return createClient(OrchestratorService, getTransport());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -147,8 +150,7 @@ function toOrchestratorError(err: unknown): OrchestratorError {
|
||||
export async function* processRequest(
|
||||
sessionId: string,
|
||||
userMessage: string,
|
||||
sessionConfig?: SessionConfig,
|
||||
endpoint?: string
|
||||
sessionConfig?: SessionConfig
|
||||
): AsyncGenerator<ProcessRequestResponse> {
|
||||
const request = create(ProcessRequestRequestSchema, {
|
||||
sessionId,
|
||||
@@ -166,7 +168,7 @@ export async function* processRequest(
|
||||
}
|
||||
|
||||
try {
|
||||
const client = getClient(endpoint);
|
||||
const client = getClient();
|
||||
for await (const response of client.processRequest(request)) {
|
||||
connectionStore.reportSuccess();
|
||||
yield response;
|
||||
|
||||
Reference in New Issue
Block a user