ms-tau-sdk 2.0.8.dev45__tar.gz → 2.0.8.dev46__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.
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/CHANGELOG.md +9 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/PKG-INFO +1 -1
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/pyproject.toml +1 -1
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/sessions.py +50 -21
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/.gitignore +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/README.md +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/app.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/cli.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/config.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/env_file.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/logs.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/proxy.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/state.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/static/BULMA-LICENSE.txt +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/static/app.js +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/static/board.css +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/static/bulma.min.css +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/static/index.html +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/agent_skills/tau_a2a_runtime_adapter/SKILL.md +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/agent_skills/tau_local_development/SKILL.md +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/agent_skills/tau_project_customization/SKILL.md +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/agent_skills/tau_repository_integration/SKILL.md +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/agent_skills/tau_security_and_access/SKILL.md +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/a2a.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/chat.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/conversations.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/dependencies.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/health.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/inspection.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/local_chat.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/models.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/api/request_identity.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/app.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/application.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/backend/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/backend/assertions.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/backend/auth.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/backend/client.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/backend/local.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/backend/mcp.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/backend/models.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/backend/routes.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/cli.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/errors.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/logging.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/protocols/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/protocols/a2a_failure.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/protocols/a2a_message.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/protocols/a2a_roles.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/protocols/assistant_ui.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/protocols/chat_history.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/protocols/strict_json.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/providers/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/providers/definitions.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/providers/factory.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/providers/tau_compat.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/resources/SYSTEM.md +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/resources/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/resources/loader.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/resources/prompts/review-code-repository.md +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/deployment_health.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/events.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/extensions.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/failures.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/live_turns.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/manager.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/observability.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/provenance.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/requester.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/session.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/snapshots.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/task_context.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/sessions/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/sessions/storage.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/settings.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/skills.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/tools/__init__.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/tools/mainsequence_mcp.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/tools/mcp_applications.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/tools/mcp_connection.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/tools/skill_read.py +0 -0
- {ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/tools/task_control.py +0 -0
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
- **A new local chat reports and accepts its model before the first message
|
|
6
|
+
([#50](https://github.com/mainsequence-sdk/ms-tau-sdk/issues/50)).** In local mode,
|
|
7
|
+
`GET /api/chat/session-model` for a session that has not had a turn returns the model it would
|
|
8
|
+
start on (`TAU_LOCAL_PROVIDER`, `TAU_LOCAL_MODEL`, `TAU_LOCAL_THINKING`) instead of
|
|
9
|
+
`session_not_found`. A model selected with `PUT /api/chat/session-model` before the first turn
|
|
10
|
+
is used by that turn; that already worked and is now tested. Managed mode is unchanged.
|
|
11
|
+
|
|
3
12
|
## 2.0.7 — 2026-10-08
|
|
4
13
|
|
|
5
14
|
- **Breaking: one delegation envelope on every call made for the work
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: ms-tau-sdk
|
|
3
|
-
Version: 2.0.8.
|
|
3
|
+
Version: 2.0.8.dev46
|
|
4
4
|
Summary: Workspace-bound Tau application primitives for Main Sequence projects
|
|
5
5
|
Project-URL: Changelog, https://github.com/mainsequence-sdk/ms-tau-sdk/blob/development/CHANGELOG.md
|
|
6
6
|
Project-URL: Documentation, https://github.com/mainsequence-sdk/ms-tau-sdk/tree/development/docs
|
|
@@ -7,6 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
from fastapi import APIRouter, Depends, HTTPException, Query
|
|
8
8
|
|
|
9
9
|
from ms_tau_sdk.backend.client import MainSequenceClient
|
|
10
|
+
from ms_tau_sdk.errors import SessionNotFoundError
|
|
10
11
|
from ms_tau_sdk.runtime.manager import SessionRuntimeManager
|
|
11
12
|
from ms_tau_sdk.settings import TauSDKSettings
|
|
12
13
|
|
|
@@ -20,6 +21,25 @@ RuntimeManagerDep = Annotated[SessionRuntimeManager, Depends(runtime_manager)]
|
|
|
20
21
|
SettingsDep = Annotated[TauSDKSettings, Depends(settings)]
|
|
21
22
|
|
|
22
23
|
|
|
24
|
+
def _session_model(
|
|
25
|
+
session_uid: str,
|
|
26
|
+
*,
|
|
27
|
+
provider: str | None,
|
|
28
|
+
model: str | None,
|
|
29
|
+
thinking_level: str | None,
|
|
30
|
+
custom_id: str | None,
|
|
31
|
+
) -> dict[str, object]:
|
|
32
|
+
return {
|
|
33
|
+
"sessionUid": session_uid,
|
|
34
|
+
"model": {
|
|
35
|
+
"provider": provider,
|
|
36
|
+
"model": model,
|
|
37
|
+
"thinkingLevel": thinking_level,
|
|
38
|
+
**({"customId": custom_id} if custom_id is not None else {}),
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
23
43
|
@router.get("/session-model")
|
|
24
44
|
async def session_model(
|
|
25
45
|
client: BackendDep,
|
|
@@ -28,18 +48,29 @@ async def session_model(
|
|
|
28
48
|
) -> dict[str, object]:
|
|
29
49
|
if config.local_mode:
|
|
30
50
|
session_uid = config.local_session_uid(session_uid)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
session
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
51
|
+
try:
|
|
52
|
+
session = await require_session_access(client, session_uid)
|
|
53
|
+
if session is None:
|
|
54
|
+
session = await client.get_session(session_uid)
|
|
55
|
+
except SessionNotFoundError:
|
|
56
|
+
if not config.local_mode:
|
|
57
|
+
raise
|
|
58
|
+
# A local session is created by its first turn or model selection. Until then it reports
|
|
59
|
+
# the configured model it would start on.
|
|
60
|
+
return _session_model(
|
|
61
|
+
session_uid,
|
|
62
|
+
provider=config.local_provider,
|
|
63
|
+
model=config.local_model,
|
|
64
|
+
thinking_level=config.local_thinking,
|
|
65
|
+
custom_id=config.local_custom_id,
|
|
66
|
+
)
|
|
67
|
+
return _session_model(
|
|
68
|
+
session_uid,
|
|
69
|
+
provider=session.active_provider,
|
|
70
|
+
model=session.active_model,
|
|
71
|
+
thinking_level=session.active_thinking,
|
|
72
|
+
custom_id=session.custom_id,
|
|
73
|
+
)
|
|
43
74
|
|
|
44
75
|
|
|
45
76
|
@router.get("/model-providers")
|
|
@@ -72,15 +103,13 @@ async def select_session_model(
|
|
|
72
103
|
**({"custom_id": body.custom_id} if body.custom_id is not None else {}),
|
|
73
104
|
)
|
|
74
105
|
session = await manager.backend.get_session(session_uid)
|
|
75
|
-
return
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
},
|
|
83
|
-
}
|
|
106
|
+
return _session_model(
|
|
107
|
+
session_uid,
|
|
108
|
+
provider=session.active_provider,
|
|
109
|
+
model=session.active_model,
|
|
110
|
+
thinking_level=session.active_thinking,
|
|
111
|
+
custom_id=session.custom_id,
|
|
112
|
+
)
|
|
84
113
|
|
|
85
114
|
|
|
86
115
|
@router.post("/session/cancel")
|
|
File without changes
|
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/__init__.py
RENAMED
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/app.py
RENAMED
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/cli.py
RENAMED
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/config.py
RENAMED
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/env_file.py
RENAMED
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/logs.py
RENAMED
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/proxy.py
RENAMED
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/state.py
RENAMED
|
File without changes
|
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/packages/tau-board/src/ms_tau_board/static/app.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ms_tau_sdk-2.0.8.dev45 → ms_tau_sdk-2.0.8.dev46}/src/ms_tau_sdk/runtime/deployment_health.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|