项目文件夹

文件
wehub-resource-sync 6ede33ccdb
Build and Push Docker Images / create_manifest (web, surfsense-web, , cpu) (push) Has been cancelled
Build and Push Docker Images / finalize_release (push) Has been cancelled
Obsidian Plugin Lint / lint (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / compute_version (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / verify_digests (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, , cpu) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda, cuda) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda126, cuda126) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:33:44 +08:00

34 行
1.2 KiB
TypeScript

import { z } from "zod";
import type { PodcastSpec } from "@/contracts/types/podcast.types";
/**
* Tool-call contract for `generate_podcast`.
*
* The tool prepares a podcast and returns immediately with the row awaiting
* brief review; the card then follows the lifecycle by push. Legacy status
* values are accepted so old saved chats still render something sensible.
*/
export const generatePodcastArgsSchema = z.object({
source_content: z.string(),
podcast_title: z.string().nullish(),
user_prompt: z.string().nullish(),
});
export type GeneratePodcastArgs = z.infer<typeof generatePodcastArgsSchema>;
export const generatePodcastResultSchema = z.object({
status: z.string(),
podcast_id: z.number().nullish(),
task_id: z.string().nullish(), // legacy Celery id from old saved chats
title: z.string().nullish(),
message: z.string().nullish(),
error: z.string().nullish(),
});
export type GeneratePodcastResult = z.infer<typeof generatePodcastResultSchema>;
/** Display name for the speaker bound to `slot`, falling back to a number. */
export function speakerLabel(spec: PodcastSpec | null | undefined, slot: number): string {
const speaker = spec?.speakers.find((s) => s.slot === slot);
return speaker?.name ?? `Speaker ${slot + 1}`;
}