modsetter--surfsense
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
34 行
1.2 KiB
TypeScript
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}`;
|
|
}
|