ms-tau-sdk 2.0.23.dev75__tar.gz → 2.0.24.dev76__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.
Files changed (87) hide show
  1. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/CHANGELOG.md +26 -0
  2. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/PKG-INFO +7 -1
  3. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/README.md +6 -0
  4. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/pyproject.toml +1 -1
  5. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/agent_skills/tau_project_customization/SKILL.md +4 -1
  6. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/agent_skills/tau_repository_integration/SKILL.md +28 -1
  7. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/.gitignore +0 -0
  8. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/__init__.py +0 -0
  9. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/app.py +0 -0
  10. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/cli.py +0 -0
  11. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/config.py +0 -0
  12. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/env_file.py +0 -0
  13. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/logs.py +0 -0
  14. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/proxy.py +0 -0
  15. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/state.py +0 -0
  16. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/static/BULMA-LICENSE.txt +0 -0
  17. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/static/app.js +0 -0
  18. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/static/board.css +0 -0
  19. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/static/bulma.min.css +0 -0
  20. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/packages/tau-board/src/ms_tau_board/static/index.html +0 -0
  21. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/__init__.py +0 -0
  22. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/agent_skills/tau_a2a_runtime_adapter/SKILL.md +0 -0
  23. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/agent_skills/tau_local_development/SKILL.md +0 -0
  24. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/agent_skills/tau_security_and_access/SKILL.md +0 -0
  25. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/__init__.py +0 -0
  26. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/a2a.py +0 -0
  27. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/chat.py +0 -0
  28. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/conversations.py +0 -0
  29. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/dependencies.py +0 -0
  30. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/health.py +0 -0
  31. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/inspection.py +0 -0
  32. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/local_chat.py +0 -0
  33. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/models.py +0 -0
  34. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/request_identity.py +0 -0
  35. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/api/sessions.py +0 -0
  36. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/app.py +0 -0
  37. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/application.py +0 -0
  38. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/__init__.py +0 -0
  39. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/assertions.py +0 -0
  40. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/auth.py +0 -0
  41. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/client.py +0 -0
  42. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/local.py +0 -0
  43. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/mcp.py +0 -0
  44. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/models.py +0 -0
  45. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/routes.py +0 -0
  46. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/backend/team_memberships.py +0 -0
  47. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/cli.py +0 -0
  48. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/errors.py +0 -0
  49. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/logging.py +0 -0
  50. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/protocols/__init__.py +0 -0
  51. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/protocols/a2a_failure.py +0 -0
  52. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/protocols/a2a_message.py +0 -0
  53. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/protocols/a2a_roles.py +0 -0
  54. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/protocols/assistant_ui.py +0 -0
  55. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/protocols/chat_history.py +0 -0
  56. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/protocols/strict_json.py +0 -0
  57. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/providers/__init__.py +0 -0
  58. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/providers/definitions.py +0 -0
  59. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/providers/factory.py +0 -0
  60. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/providers/tau_compat.py +0 -0
  61. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/resources/SYSTEM.md +0 -0
  62. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/resources/__init__.py +0 -0
  63. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/resources/loader.py +0 -0
  64. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/resources/prompts/review-code-repository.md +0 -0
  65. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/__init__.py +0 -0
  66. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/deployment_health.py +0 -0
  67. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/events.py +0 -0
  68. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/extensions.py +0 -0
  69. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/failures.py +0 -0
  70. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/live_turns.py +0 -0
  71. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/manager.py +0 -0
  72. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/observability.py +0 -0
  73. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/provenance.py +0 -0
  74. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/requester.py +0 -0
  75. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/session.py +0 -0
  76. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/snapshots.py +0 -0
  77. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/runtime/task_context.py +0 -0
  78. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/sessions/__init__.py +0 -0
  79. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/sessions/storage.py +0 -0
  80. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/settings.py +0 -0
  81. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/skills.py +0 -0
  82. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/tools/__init__.py +0 -0
  83. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/tools/mainsequence_mcp.py +0 -0
  84. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/tools/mcp_applications.py +0 -0
  85. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/tools/mcp_connection.py +0 -0
  86. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/tools/skill_read.py +0 -0
  87. {ms_tau_sdk-2.0.23.dev75 → ms_tau_sdk-2.0.24.dev76}/src/ms_tau_sdk/tools/task_control.py +0 -0
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.24 — 2026-10-22
4
+
5
+ - **Agent deployment and recovery guidance uses the repository workflow.** The runtime
6
+ contract, Security and access guide and troubleshooting guide retire the manual
7
+ `agent.update_runtime` operation and runtime-update REST endpoint. Discovery no longer
8
+ supplies manual-update remediation; A2A uses the active deployed image. No SDK runtime
9
+ behavior changes.
10
+
11
+ - **The quickstart, the README, troubleshooting and the Tau repository skills say what a hosted
12
+ runtime installs and runs.** When Main Sequence hosts the runtime, it now installs the packages
13
+ that the committed `requirements.txt` at the repository root lists (without that file, the
14
+ dependencies the root `pyproject.toml` declares), reuses them for every later commit until the
15
+ file changes, and runs the repository's files from `/workspace`, with `/workspace/src` and
16
+ `/workspace` on `PYTHONPATH`, without installing the project. The quickstart said that the
17
+ lockfile records the versions that will execute, and the README and `tau_repository_integration`
18
+ only said to add the SDK through the project's dependency manager. The new
19
+ [hosted Agents](docs/getting-started/quickstart.md#hosted-agents) section, the README and
20
+ `tau_repository_integration` now say to run `mainsequence code-repository sync` and commit
21
+ `requirements.txt` with `uv.lock` after adding or upgrading the SDK or a package that project
22
+ code or an extension imports, because a package that `pyproject.toml` declares but the file does
23
+ not list fails its import in the hosted runtime; to pin the SDK from the package index or a Git
24
+ commit, not a local path; and that project code must not rely on `importlib.metadata` for the
25
+ project's own package, its own console scripts or extensions compiled from its sources.
26
+ `tau_project_customization` says what an extension must list and import there, and
27
+ troubleshooting covers the import failures. No SDK behavior changes.
28
+
3
29
  ## 2.0.23 — 2026-10-21
4
30
 
5
31
  - **A hosted Task's answer reaches the platform in a few writes, and none of it is lost
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: ms-tau-sdk
3
- Version: 2.0.23.dev75
3
+ Version: 2.0.24.dev76
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
@@ -84,6 +84,12 @@ uv add --prerelease=allow ms-tau-sdk # or pin one exactly: uv add "ms-tau-sdk=
84
84
  See the [release process](docs/reference/releasing.md#registry-publication) for what each workflow
85
85
  publishes.
86
86
 
87
+ When Main Sequence hosts the runtime, it installs what the repository's committed
88
+ `requirements.txt` lists and runs the repository's files, not an installed copy of the project.
89
+ After adding or upgrading the SDK, run `mainsequence code-repository sync` and commit
90
+ `requirements.txt` with `uv.lock`. See
91
+ [hosted Agents](docs/getting-started/quickstart.md#hosted-agents).
92
+
87
93
  Provide the runtime credential that Main Sequence assigned to the deployment, and the file that
88
94
  holds the runtime's projected workload identity token:
89
95
 
@@ -51,6 +51,12 @@ uv add --prerelease=allow ms-tau-sdk # or pin one exactly: uv add "ms-tau-sdk=
51
51
  See the [release process](docs/reference/releasing.md#registry-publication) for what each workflow
52
52
  publishes.
53
53
 
54
+ When Main Sequence hosts the runtime, it installs what the repository's committed
55
+ `requirements.txt` lists and runs the repository's files, not an installed copy of the project.
56
+ After adding or upgrading the SDK, run `mainsequence code-repository sync` and commit
57
+ `requirements.txt` with `uv.lock`. See
58
+ [hosted Agents](docs/getting-started/quickstart.md#hosted-agents).
59
+
54
60
  Provide the runtime credential that Main Sequence assigned to the deployment, and the file that
55
61
  holds the runtime's projected workload identity token:
56
62
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "ms-tau-sdk"
7
- version = "2.0.23.dev75"
7
+ version = "2.0.24.dev76"
8
8
  description = "Workspace-bound Tau application primitives for Main Sequence projects"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -38,7 +38,10 @@ application can publish with the mainsequence SDK's skills publisher. The manage
38
38
 
39
39
  Project extensions belong under `.tau/extensions/` and may add tools, hooks, and lifecycle
40
40
  behavior. Keep reusable business logic in the normal application package and make extension
41
- adapters thin and structured.
41
+ adapters thin and structured. When Main Sequence hosts the runtime, list every package an
42
+ extension imports in the repository's committed `requirements.txt`, and import the project's own
43
+ packages from `src/` or the repository root, because the project itself is not installed;
44
+ `tau-repository-integration` says how to keep that file current.
42
45
 
43
46
  The project author owns:
44
47
 
@@ -58,6 +58,25 @@ only with that declaration, read from the object it serves. Therefore:
58
58
  repository. The platform sets them when it hosts the runtime, and local mode refuses to start
59
59
  with them.
60
60
 
61
+ ## Hosted dependencies and code
62
+
63
+ When Main Sequence hosts the runtime, it installs the packages that the committed
64
+ `requirements.txt` at the repository root lists, or, without that file, the dependencies that the
65
+ root `pyproject.toml` declares, and reuses them for every later commit until the file or the base
66
+ image changes. A package that `pyproject.toml` declares but `requirements.txt` does not list,
67
+ `ms-tau-sdk` included, is not installed, and its import fails in the hosted runtime. After adding
68
+ or upgrading the SDK, or a package that project code or an extension imports, run
69
+ `mainsequence code-repository sync` and commit `requirements.txt` with `uv.lock`. Pin the SDK from
70
+ the package index or a Git commit, never from a local path: the hosted build refuses local paths
71
+ other than the repository itself, and `-r` or `-c` references.
72
+
73
+ The hosted runtime runs the repository's files from `/workspace`, its working directory and
74
+ therefore the SDK workspace, with `/workspace/src` and `/workspace` on `PYTHONPATH`. The project
75
+ itself is not installed. Keep its top-level packages directly under `src/` or the repository root,
76
+ and do not make project code or extensions depend on `importlib.metadata` for the project's own
77
+ version or entry points, on the project's own console scripts, or on extensions compiled from its
78
+ sources.
79
+
61
80
  ## Job-hosted batch execution
62
81
 
63
82
  ADR 0015 accepts a Python batch entry point, but it is **not implemented in this SDK version**.
@@ -96,7 +115,8 @@ JobRun UID in the SDK.
96
115
  ## Repository integration procedure
97
116
 
98
117
  1. Inspect the project's Python constraint, dependency manager, lockfile, and application layout.
99
- 2. Add and pin `ms-tau-sdk` through that existing dependency workflow.
118
+ 2. Add and pin `ms-tau-sdk` through that existing dependency workflow. For a runtime that Main
119
+ Sequence hosts, refresh and commit `requirements.txt` as "Hosted dependencies and code" says.
100
120
  3. Synchronize these skills explicitly with `uv run ms-tau skills sync --path .`.
101
121
  4. For a service, use `uv run ms-tau` unless the repository needs an importable ASGI module.
102
122
  For a finite Job, follow the batch design only after the installed SDK supports it.
@@ -126,5 +146,12 @@ uv run python -c "from api.tau.main import app; print(app.state.mainsequence_req
126
146
  The second command prints `{'installed': True, 'mode': 'local', 'public_ingress': ()}` outside
127
147
  hosting.
128
148
 
149
+ For a runtime that Main Sequence hosts, also check that the committed `requirements.txt` pins the
150
+ SDK; the command prints its line:
151
+
152
+ ```bash
153
+ grep -i '^ms-tau-sdk' requirements.txt
154
+ ```
155
+
129
156
  Do not require the `mainsequence` Python distribution in the TAU dependency graph. Authentication
130
157
  and Main Sequence transport are implemented directly by `ms-tau-sdk`.