Rename voice_assistant to assist_pipeline (#16177)

This commit is contained in:
Bram Kragten 2023-04-13 23:25:32 +02:00 committed by GitHub
parent b21605e260
commit 689bc48f31
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 48 additions and 52 deletions

View File

@ -3,7 +3,7 @@ import type { ConversationResult } from "./conversation";
import type { ResolvedMediaSource } from "./media_source"; import type { ResolvedMediaSource } from "./media_source";
import type { SpeechMetadata } from "./stt"; import type { SpeechMetadata } from "./stt";
export interface VoiceAssistantPipeline { export interface AssistPipeline {
id: string; id: string;
conversation_engine: string; conversation_engine: string;
language: string; language: string;
@ -12,7 +12,7 @@ export interface VoiceAssistantPipeline {
tts_engine: string; tts_engine: string;
} }
export interface VoiceAssistantPipelineMutableParams { export interface AssistPipelineMutableParams {
conversation_engine: string; conversation_engine: string;
language: string; language: string;
name: string; name: string;
@ -131,7 +131,7 @@ export interface PipelineRun {
Partial<PipelineTTSEndEvent["data"]> & { done: boolean }; Partial<PipelineTTSEndEvent["data"]> & { done: boolean };
} }
export const runVoiceAssistantPipeline = ( export const runAssistPipeline = (
hass: HomeAssistant, hass: HomeAssistant,
callback: (event: PipelineRun) => void, callback: (event: PipelineRun) => void,
options: PipelineRunOptions options: PipelineRunOptions
@ -213,43 +213,40 @@ export const runVoiceAssistantPipeline = (
}, },
{ {
...options, ...options,
type: "voice_assistant/run", type: "assist_pipeline/run",
} }
); );
return unsubProm; return unsubProm;
}; };
export const fetchVoiceAssistantPipelines = (hass: HomeAssistant) => export const fetchAssistPipelines = (hass: HomeAssistant) =>
hass.callWS<VoiceAssistantPipeline[]>({ hass.callWS<AssistPipeline[]>({
type: "voice_assistant/pipeline/list", type: "assist_pipeline/pipeline/list",
}); });
export const createVoiceAssistantPipeline = ( export const createAssistPipeline = (
hass: HomeAssistant, hass: HomeAssistant,
pipeline: VoiceAssistantPipelineMutableParams pipeline: AssistPipelineMutableParams
) => ) =>
hass.callWS<VoiceAssistantPipeline>({ hass.callWS<AssistPipeline>({
type: "voice_assistant/pipeline/create", type: "assist_pipeline/pipeline/create",
...pipeline, ...pipeline,
}); });
export const updateVoiceAssistantPipeline = ( export const updateAssistPipeline = (
hass: HomeAssistant, hass: HomeAssistant,
pipelineId: string, pipelineId: string,
pipeline: Partial<VoiceAssistantPipelineMutableParams> pipeline: Partial<AssistPipelineMutableParams>
) => ) =>
hass.callWS<VoiceAssistantPipeline>({ hass.callWS<AssistPipeline>({
type: "voice_assistant/pipeline/update", type: "assist_pipeline/pipeline/update",
pipeline_id: pipelineId, pipeline_id: pipelineId,
...pipeline, ...pipeline,
}); });
export const deleteVoiceAssistantPipeline = ( export const deleteAssistPipeline = (hass: HomeAssistant, pipelineId: string) =>
hass: HomeAssistant,
pipelineId: string
) =>
hass.callWS<void>({ hass.callWS<void>({
type: "voice_assistant/pipeline/delete", type: "assist_pipeline/pipeline/delete",
pipeline_id: pipelineId, pipeline_id: pipelineId,
}); });

View File

@ -1,7 +1,7 @@
import { HomeAssistant } from "../types"; import { HomeAssistant } from "../types";
export const voiceAssistants = { export const voiceAssistants = {
conversation: { domain: "voice_assistant", name: "Assist" }, conversation: { domain: "assist_pipeline", name: "Assist" },
"cloud.alexa": { "cloud.alexa": {
domain: "alexa", domain: "alexa",
name: "Amazon Alexa", name: "Amazon Alexa",

View File

@ -4,8 +4,8 @@ import "../../../../../../components/ha-button";
import { import {
PipelineRun, PipelineRun,
PipelineRunOptions, PipelineRunOptions,
runVoiceAssistantPipeline, runAssistPipeline,
} from "../../../../../../data/voice_assistant"; } from "../../../../../../data/assist_pipeline";
import "../../../../../../layouts/hass-subpage"; import "../../../../../../layouts/hass-subpage";
import "../../../../../../components/ha-formfield"; import "../../../../../../components/ha-formfield";
import "../../../../../../components/ha-checkbox"; import "../../../../../../components/ha-checkbox";
@ -269,7 +269,7 @@ export class AssistPipelineDebug extends LitElement {
this._finished = false; this._finished = false;
let added = false; let added = false;
try { try {
await runVoiceAssistantPipeline( await runAssistPipeline(
this.hass, this.hass,
(updatedRun) => { (updatedRun) => {
if (added) { if (added) {

View File

@ -5,7 +5,7 @@ import "../../../../../../components/ha-alert";
import "../../../../../../components/ha-button"; import "../../../../../../components/ha-button";
import "../../../../../../components/ha-circular-progress"; import "../../../../../../components/ha-circular-progress";
import "../../../../../../components/ha-expansion-panel"; import "../../../../../../components/ha-expansion-panel";
import type { PipelineRun } from "../../../../../../data/voice_assistant"; import type { PipelineRun } from "../../../../../../data/assist_pipeline";
import type { HomeAssistant } from "../../../../../../types"; import type { HomeAssistant } from "../../../../../../types";
import { formatNumber } from "../../../../../../common/number/format_number"; import { formatNumber } from "../../../../../../common/number/format_number";

View File

@ -9,12 +9,12 @@ import "../../../components/ha-list-item";
import "../../../components/ha-switch"; import "../../../components/ha-switch";
import "../../../components/ha-button"; import "../../../components/ha-button";
import { import {
createVoiceAssistantPipeline, createAssistPipeline,
deleteVoiceAssistantPipeline, deleteAssistPipeline,
fetchVoiceAssistantPipelines, fetchAssistPipelines,
updateVoiceAssistantPipeline, updateAssistPipeline,
VoiceAssistantPipeline, AssistPipeline,
} from "../../../data/voice_assistant"; } from "../../../data/assist_pipeline";
import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box";
import type { HomeAssistant } from "../../../types"; import type { HomeAssistant } from "../../../types";
import { showVoiceAssistantPipelineDetailDialog } from "./show-dialog-voice-assistant-pipeline-detail"; import { showVoiceAssistantPipelineDetailDialog } from "./show-dialog-voice-assistant-pipeline-detail";
@ -23,12 +23,12 @@ import { brandsUrl } from "../../../util/brands-url";
export class AssistPref extends LitElement { export class AssistPref extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant; @property({ attribute: false }) public hass!: HomeAssistant;
@state() private _pipelines: VoiceAssistantPipeline[] = []; @state() private _pipelines: AssistPipeline[] = [];
protected firstUpdated(changedProps: PropertyValues) { protected firstUpdated(changedProps: PropertyValues) {
super.firstUpdated(changedProps); super.firstUpdated(changedProps);
fetchVoiceAssistantPipelines(this.hass).then((pipelines) => { fetchAssistPipelines(this.hass).then((pipelines) => {
this._pipelines = pipelines; this._pipelines = pipelines;
}); });
} }
@ -40,7 +40,7 @@ export class AssistPref extends LitElement {
<img <img
alt="" alt=""
src=${brandsUrl({ src=${brandsUrl({
domain: "voice_assistant", domain: "assist_pipeline",
type: "icon", type: "icon",
darkOptimized: this.hass.themes?.darkMode, darkOptimized: this.hass.themes?.darkMode,
})} })}
@ -109,15 +109,15 @@ export class AssistPref extends LitElement {
this._openDialog(); this._openDialog();
} }
private async _openDialog(pipeline?: VoiceAssistantPipeline): Promise<void> { private async _openDialog(pipeline?: AssistPipeline): Promise<void> {
showVoiceAssistantPipelineDetailDialog(this, { showVoiceAssistantPipelineDetailDialog(this, {
pipeline, pipeline,
createPipeline: async (values) => { createPipeline: async (values) => {
const created = await createVoiceAssistantPipeline(this.hass!, values); const created = await createAssistPipeline(this.hass!, values);
this._pipelines = this._pipelines!.concat(created); this._pipelines = this._pipelines!.concat(created);
}, },
updatePipeline: async (values) => { updatePipeline: async (values) => {
const updated = await updateVoiceAssistantPipeline( const updated = await updateAssistPipeline(
this.hass!, this.hass!,
pipeline!.id, pipeline!.id,
values values
@ -145,7 +145,7 @@ export class AssistPref extends LitElement {
} }
try { try {
await deleteVoiceAssistantPipeline(this.hass!, pipeline!.id); await deleteAssistPipeline(this.hass!, pipeline!.id);
this._pipelines = this._pipelines!.filter((res) => res !== pipeline); this._pipelines = this._pipelines!.filter((res) => res !== pipeline);
return true; return true;
} catch (err: any) { } catch (err: any) {
@ -186,6 +186,7 @@ export class AssistPref extends LitElement {
.card-header { .card-header {
display: flex; display: flex;
align-items: center; align-items: center;
padding-bottom: 0;
} }
img { img {
height: 28px; height: 28px;

View File

@ -7,9 +7,9 @@ import { createCloseHeading } from "../../../components/ha-dialog";
import "../../../components/ha-form/ha-form"; import "../../../components/ha-form/ha-form";
import { SchemaUnion } from "../../../components/ha-form/types"; import { SchemaUnion } from "../../../components/ha-form/types";
import { import {
VoiceAssistantPipeline, AssistPipeline,
VoiceAssistantPipelineMutableParams, AssistPipelineMutableParams,
} from "../../../data/voice_assistant"; } from "../../../data/assist_pipeline";
import { haStyleDialog } from "../../../resources/styles"; import { haStyleDialog } from "../../../resources/styles";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { VoiceAssistantPipelineDetailsDialogParams } from "./show-dialog-voice-assistant-pipeline-detail"; import { VoiceAssistantPipelineDetailsDialogParams } from "./show-dialog-voice-assistant-pipeline-detail";
@ -20,7 +20,7 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement {
@state() private _params?: VoiceAssistantPipelineDetailsDialogParams; @state() private _params?: VoiceAssistantPipelineDetailsDialogParams;
@state() private _data?: Partial<VoiceAssistantPipeline>; @state() private _data?: Partial<AssistPipeline>;
@state() private _error?: Record<string, string>; @state() private _error?: Record<string, string>;
@ -160,7 +160,7 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement {
this._submitting = true; this._submitting = true;
try { try {
if (this._params!.pipeline?.id) { if (this._params!.pipeline?.id) {
const values: Partial<VoiceAssistantPipelineMutableParams> = { const values: Partial<AssistPipelineMutableParams> = {
name: this._data!.name, name: this._data!.name,
conversation_engine: this._data!.conversation_engine, conversation_engine: this._data!.conversation_engine,
language: this._data!.language, language: this._data!.language,
@ -170,7 +170,7 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement {
await this._params!.updatePipeline(values); await this._params!.updatePipeline(values);
} else { } else {
await this._params!.createPipeline( await this._params!.createPipeline(
this._data as VoiceAssistantPipelineMutableParams this._data as AssistPipelineMutableParams
); );
} }
this.closeDialog(); this.closeDialog();

View File

@ -1,16 +1,14 @@
import { fireEvent } from "../../../common/dom/fire_event"; import { fireEvent } from "../../../common/dom/fire_event";
import { import {
VoiceAssistantPipeline, AssistPipeline,
VoiceAssistantPipelineMutableParams, AssistPipelineMutableParams,
} from "../../../data/voice_assistant"; } from "../../../data/assist_pipeline";
export interface VoiceAssistantPipelineDetailsDialogParams { export interface VoiceAssistantPipelineDetailsDialogParams {
pipeline?: VoiceAssistantPipeline; pipeline?: AssistPipeline;
createPipeline: ( createPipeline: (values: AssistPipelineMutableParams) => Promise<unknown>;
values: VoiceAssistantPipelineMutableParams
) => Promise<unknown>;
updatePipeline: ( updatePipeline: (
updates: Partial<VoiceAssistantPipelineMutableParams> updates: Partial<AssistPipelineMutableParams>
) => Promise<unknown>; ) => Promise<unknown>;
deletePipeline: () => Promise<boolean>; deletePipeline: () => Promise<boolean>;
} }