soothe-client-python 1.0.0__tar.gz → 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/PKG-INFO +1 -1
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/classifier.py +5 -7
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/intent_hints.py +6 -3
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/protocol_params.py +2 -2
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/websocket.py +3 -2
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/.gitignore +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/LICENSE +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/README.md +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/pyproject.toml +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/__init__.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/__init__.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/attachments.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/broadcaster.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/chunk_filter.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/daemon_session.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/events.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/managed_client.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/observability.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/pool.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/query_gate.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/session_store.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/thinking_step.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/turn.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/turn_runner.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/command_client.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/errors.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/helpers.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/py.typed +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/schemas.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/session.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/stream_terminal.py +0 -0
- {soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/turn_boundary.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: soothe-client-python
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.1
|
|
4
4
|
Summary: WebSocket client + appkit for soothe-daemon (Python)
|
|
5
5
|
Project-URL: Homepage, https://github.com/mirasoth/soothe-client-python
|
|
6
6
|
Project-URL: Documentation, https://soothe.readthedocs.io
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/classifier.py
RENAMED
|
@@ -51,7 +51,7 @@ class ClassifierConfig:
|
|
|
51
51
|
event allowlist.
|
|
52
52
|
treat_status_idle_as_complete: When true, a status frame with
|
|
53
53
|
``state==idle`` and non-empty accumulated assistant text completes
|
|
54
|
-
the turn (typical for
|
|
54
|
+
the turn (typical for intent-hint turns). Default false.
|
|
55
55
|
"""
|
|
56
56
|
|
|
57
57
|
deliverable_phases: frozenset[str] | set[str]
|
|
@@ -314,12 +314,10 @@ class EventClassifier:
|
|
|
314
314
|
)
|
|
315
315
|
return self._continue_result(content)
|
|
316
316
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
"soothe.protocol.message.direct_model",
|
|
322
|
-
)
|
|
317
|
+
# Unphased terminal AI text is streamable narration only.
|
|
318
|
+
unphased_content, unphased_ok = self._messages_mode_assistant_content(data)
|
|
319
|
+
if unphased_ok:
|
|
320
|
+
return self._continue_result(unphased_content)
|
|
323
321
|
|
|
324
322
|
if has_payload and raw_content:
|
|
325
323
|
if _is_terminal_message_type(msg_type) or msg_type == "":
|
|
@@ -9,14 +9,14 @@ IMAGE_TO_TEXT: Final = "image_to_text"
|
|
|
9
9
|
OCR: Final = "ocr"
|
|
10
10
|
EMBED: Final = "embed"
|
|
11
11
|
|
|
12
|
-
REMOVED_INTENT_HINTS: frozenset[str] = frozenset({"direct_llm", "quiz"})
|
|
12
|
+
REMOVED_INTENT_HINTS: frozenset[str] = frozenset({"direct_llm", "quiz", "direct_model"})
|
|
13
13
|
|
|
14
14
|
# Default deliverable phases for turn-ending replies (excludes plan_direct narration).
|
|
15
15
|
DEFAULT_DELIVERABLE_PHASES: frozenset[str] = frozenset(
|
|
16
16
|
{
|
|
17
17
|
"quiz",
|
|
18
18
|
"goal_completion",
|
|
19
|
-
"
|
|
19
|
+
"chitchat",
|
|
20
20
|
"text_completion",
|
|
21
21
|
"image_to_text",
|
|
22
22
|
"ocr",
|
|
@@ -30,13 +30,16 @@ _REMOVED_INTENT_HINT_MESSAGES: dict[str, str] = {
|
|
|
30
30
|
"use text_completion (text-only) or image_to_text (with attachments)"
|
|
31
31
|
),
|
|
32
32
|
"quiz": "intent_hint quiz is removed; omit intent_hint and let intake classify the turn",
|
|
33
|
+
"direct_model": (
|
|
34
|
+
"intent_hint direct_model is removed; use text_completion, image_to_text, ocr, or embed"
|
|
35
|
+
),
|
|
33
36
|
}
|
|
34
37
|
|
|
35
38
|
|
|
36
39
|
def validate_loop_input_intent_hint(hint: str) -> str | None:
|
|
37
40
|
"""Return an error message when ``hint`` is a removed legacy value.
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
Intent-hint values and agent-path pass-through values (e.g.
|
|
40
43
|
``resume_clarification``, ``skill:foo``) are allowed.
|
|
41
44
|
"""
|
|
42
45
|
key = hint.strip().lower()
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/protocol_params.py
RENAMED
|
@@ -200,7 +200,7 @@ class LoopInputParams(ParamsBase):
|
|
|
200
200
|
model_params: Additional model parameters.
|
|
201
201
|
router_profile: Named ``router_profiles`` overlay for chat roles this turn.
|
|
202
202
|
attachments: Image attachments.
|
|
203
|
-
intent_hint: Daemon
|
|
203
|
+
intent_hint: Daemon intent_hint (text_completion, image_to_text, ocr, embed).
|
|
204
204
|
response_schema: Structured output schema.
|
|
205
205
|
response_schema_name: Schema name for logging.
|
|
206
206
|
response_schema_strict: Enable strict schema validation.
|
|
@@ -415,7 +415,7 @@ class JobCreateParams(ParamsBase):
|
|
|
415
415
|
autonomous: Enable autonomous mode.
|
|
416
416
|
max_iterations: Max iterations.
|
|
417
417
|
guidance: Initial guidance.
|
|
418
|
-
intent_hint: Daemon
|
|
418
|
+
intent_hint: Daemon intent_hint (text_completion, image_to_text, ocr, embed).
|
|
419
419
|
"""
|
|
420
420
|
|
|
421
421
|
goal: str = Field(..., min_length=1, description="Root goal text")
|
|
@@ -966,7 +966,7 @@ class WebSocketClient:
|
|
|
966
966
|
model_params: Additional model parameters.
|
|
967
967
|
router_profile: Named router profile for chat-role overlay this turn.
|
|
968
968
|
attachments: Image attachments (mime_type + base64 data).
|
|
969
|
-
intent_hint: Daemon-only
|
|
969
|
+
intent_hint: Daemon-only intent_hint. Supported values:
|
|
970
970
|
``text_completion`` (``default`` role, text-only),
|
|
971
971
|
``image_to_text`` (``image`` role, attachments required),
|
|
972
972
|
``ocr`` (``ocr`` role, attachments required),
|
|
@@ -974,7 +974,8 @@ class WebSocketClient:
|
|
|
974
974
|
``response_schema`` is supported for ``text_completion`` and
|
|
975
975
|
``image_to_text``. Agent-path pass-through hints (e.g.
|
|
976
976
|
``resume_clarification``, ``skill:foo``) are forwarded unchanged.
|
|
977
|
-
Legacy ``direct_llm`` and ``
|
|
977
|
+
Legacy ``direct_llm``, ``quiz``, and ``direct_model`` are rejected
|
|
978
|
+
before send.
|
|
978
979
|
|
|
979
980
|
Raises:
|
|
980
981
|
ValueError: When ``intent_hint`` is a removed legacy value.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/__init__.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/attachments.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/broadcaster.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/chunk_filter.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/daemon_session.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/events.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/managed_client.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/observability.py
RENAMED
|
File without changes
|
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/query_gate.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/session_store.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/thinking_step.py
RENAMED
|
File without changes
|
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/appkit/turn_runner.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/command_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/stream_terminal.py
RENAMED
|
File without changes
|
{soothe_client_python-1.0.0 → soothe_client_python-1.0.1}/src/soothe_client/turn_boundary.py
RENAMED
|
File without changes
|