- `stt`: one realtime transcription session per utterance on the speech
server's url, opened at `listening` true or the first chunk, committed at
false; a whole clip goes to /v1/audio/transcriptions. Returns at once and
publishes `partial` and `text` when the server answers.
- `tts`: one /v1/audio/speech call per sentence, cached by voice and text in
node state; a reference is marked `append` while earlier ones still play.
- wren: `reply` says what was applied, `unhandled` carries the prompt when
nothing was. The install hint names the git pin (PyPI's `wren` is another
package).
- ai/client: transcribe, speak and transcribe_stream beside stream_completion.
- A device socket publishes scalar `in` ports as {"type": "publish"} text,
in order with its binary frames.
- Pipeline.publish walks only what its values reach: a node downstream of a
consumer that published nothing no longer runs again (wren re-acted on
every microphone chunk).
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
"""Built-in node types.
|
|
|
|
Split by the outside world each one talks to. Importing from
|
|
``fluksio.flow.nodes`` keeps working, which is what every caller does.
|
|
"""
|
|
|
|
from fluksio.flow.nodes.base import RESERVED_SETTINGS, Node
|
|
from fluksio.flow.nodes.debounce import DebounceNode
|
|
from fluksio.flow.nodes.delay import DelayNode
|
|
from fluksio.flow.nodes.device import DeviceNode
|
|
from fluksio.flow.nodes.exec import ExecNode
|
|
from fluksio.flow.nodes.file import FileNode
|
|
from fluksio.flow.nodes.http import HttpNode
|
|
from fluksio.flow.nodes.influx import InfluxDbNode
|
|
from fluksio.flow.nodes.inject import InjectNode
|
|
from fluksio.flow.nodes.logic import ChangeNode, JoinNode, RbeNode, SwitchNode
|
|
from fluksio.flow.nodes.mlp import MLPNode
|
|
from fluksio.flow.nodes.mqtt import MqttNode
|
|
from fluksio.flow.nodes.ntfy import NtfyNode
|
|
from fluksio.flow.nodes.service import ServiceNode
|
|
from fluksio.flow.nodes.speech import SttNode, TtsNode
|
|
from fluksio.flow.nodes.websocket import WebSocketNode
|
|
from fluksio.flow.nodes.wren import WrenNode
|
|
|
|
__all__ = [
|
|
"ChangeNode",
|
|
"DebounceNode",
|
|
"DelayNode",
|
|
"DeviceNode",
|
|
"ExecNode",
|
|
"FileNode",
|
|
"HttpNode",
|
|
"InfluxDbNode",
|
|
"InjectNode",
|
|
"JoinNode",
|
|
"MLPNode",
|
|
"MqttNode",
|
|
"Node",
|
|
"NtfyNode",
|
|
"RESERVED_SETTINGS",
|
|
"RbeNode",
|
|
"ServiceNode",
|
|
"SttNode",
|
|
"SwitchNode",
|
|
"TtsNode",
|
|
"WebSocketNode",
|
|
"WrenNode",
|
|
]
|