mainsequence 9.0.30.dev74__py3-none-any.whl → 9.0.31.dev76__py3-none-any.whl

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.
@@ -479,7 +479,10 @@ mainsequence code-repository resources list --filter resource_type=fastapi
479
479
 
480
480
  When the dependencies changed, run `mainsequence code-repository sync --path .`
481
481
  before the commit and include the refreshed `uv.lock` and `requirements.txt`.
482
- The command runs no Git command and makes no platform request.
482
+ The command runs no Git command and makes no platform request. The deployed API
483
+ gets only the dependencies that `requirements.txt` lists and runs from the
484
+ repository's files, not from an installed copy of the project, so do not read
485
+ the project's own version or entry points through `importlib.metadata`.
483
486
 
484
487
  Verify that:
485
488
 
@@ -235,6 +235,31 @@ key, changes no version, and runs no `git add`, `commit`, `tag`, or `push`.
235
235
  Review the changed `uv.lock` and `requirements.txt` and publish them with the
236
236
  dependency change.
237
237
 
238
+ The committed `requirements.txt` decides the repository's dependency image
239
+ (`pyproject.toml` only when there is no `requirements.txt`). The platform
240
+ builds that image once for each content of the file and reuses it for every
241
+ commit of every branch in the same Environment until the file changes, so a
242
+ code-only commit deploys without reinstalling dependencies. Therefore:
243
+
244
+ - never commit a dependency change in `pyproject.toml` without the refreshed
245
+ `requirements.txt`: a package the file does not list is not installed, and
246
+ the import fails when the workload runs;
247
+ - the `-e .` line that sync writes is fine, but no other local path
248
+ (`-e ./x`, `./x`, `file:`) and no `-r` or `-c` reference: the dependency
249
+ build fails on them;
250
+ - a line without an exact version or a Git URL that names a branch, and a
251
+ repository with only `pyproject.toml`, are resolved once and stay as
252
+ resolved until the file changes.
253
+
254
+ The repository's own package is not installed. Every deployed Job, FastAPI
255
+ release and Agent runs the commit's files from `/workspace` with
256
+ `/workspace/src` and `/workspace` on `PYTHONPATH`. Do not write code that needs
257
+ `importlib.metadata` for the repository's own package, its console scripts,
258
+ extensions compiled from its sources, or top-level packages that are not
259
+ directly under those two paths; put such code in a separate package listed in
260
+ `requirements.txt`. Details:
261
+ <https://mainsequence-sdk.github.io/mainsequence-sdk/knowledge/cli/#dependencies-and-the-deployed-image>
262
+
238
263
  ## Publish With Git
239
264
 
240
265
  Publish only when the user intends to commit and push the reviewed changes.
mainsequence/cli/cli.py CHANGED
@@ -3537,15 +3537,12 @@ def _parse_text_option_or_file(
3537
3537
 
3538
3538
 
3539
3539
  def _format_agent_preview(agent_payload: dict[str, object]) -> list[tuple[str, str]]:
3540
- runtime_update = agent_payload.get("runtime_update")
3541
- runtime_state = runtime_update.get("state") if isinstance(runtime_update, dict) else None
3542
3540
  return [
3543
3541
  ("UID", str(agent_payload.get("uid") or "-")),
3544
3542
  ("Name", str(agent_payload.get("name") or "-")),
3545
3543
  ("Description", str(agent_payload.get("description") or "-")),
3546
3544
  ("Repository Branch", str(agent_payload.get("repository_branch") or "-")),
3547
3545
  ("Runtime Release UID", str(agent_payload.get("runtime_release_uid") or "-")),
3548
- ("Runtime Update", str(runtime_state or "-")),
3549
3546
  ("LLM Provider", str(agent_payload.get("llm_provider") or "-")),
3550
3547
  ("LLM Model", str(agent_payload.get("llm_model") or "-")),
3551
3548
  ("LLM Thinking", str(agent_payload.get("llm_thinking") or "-")),
@@ -7644,6 +7641,10 @@ def code_repository_sync(
7644
7641
  Review the changed files, then commit and push them yourself. Release tags,
7645
7642
  when a repository uses them, are created by the repository's own CI.
7646
7643
 
7644
+ The committed `requirements.txt` decides the dependencies of the deployed
7645
+ image, and the platform reuses that image until the file changes. Deployed
7646
+ code runs from the repository's files; the project itself is not installed.
7647
+
7647
7648
  Parameters
7648
7649
  ----------
7649
7650
  path:
@@ -141,25 +141,6 @@ class AgentHarnessProtocol(OpenStrEnum):
141
141
  TAU_SESSION_V1 = "tau-session-v1"
142
142
 
143
143
 
144
- class AgentRuntimeUpdateRemediation(BasePydanticModel):
145
- tool: Literal["agent.update_runtime"]
146
-
147
-
148
- class AgentRuntimeUpdate(BasePydanticModel):
149
- state: OpenValueSet[
150
- Literal[
151
- "current",
152
- "update_required",
153
- "updating",
154
- "update_failed",
155
- "not_deployed",
156
- "unknown",
157
- ]
158
- ]
159
- needs_redeploy: bool | None
160
- remediation: AgentRuntimeUpdateRemediation | None
161
-
162
-
163
144
  class AgentSemanticSearchResult(BasePydanticModel):
164
145
  uid: str = Field(..., description="Public UID of the matched agent.")
165
146
  name: str = Field(..., description="Human-readable display name of the matched agent.")
@@ -184,10 +165,6 @@ class AgentSemanticSearchResult(BasePydanticModel):
184
165
  ...,
185
166
  description="Name of the Organization Environment that scoped the search result.",
186
167
  )
187
- runtime_update: AgentRuntimeUpdate = Field(
188
- ...,
189
- description="Backend-owned runtime-currency state for the matched Agent.",
190
- )
191
168
  semantic_score: float = Field(
192
169
  ...,
193
170
  description="Vector similarity component of the semantic-search ranking.",
@@ -754,10 +731,6 @@ class Agent(
754
731
  "CodeRepositoryBranch, or null when the Agent is not environment-scoped."
755
732
  ),
756
733
  )
757
- runtime_update: AgentRuntimeUpdate = Field(
758
- ...,
759
- description="Read-only backend-owned runtime-currency state for this Agent.",
760
- )
761
734
  observability: ObservabilityLinks | None = Field(
762
735
  default=None,
763
736
  description="Backend-owned runtime observability and related-resource capabilities.",
@@ -1998,8 +1971,6 @@ __all__ = [
1998
1971
  "AgentRuntimeImageDrift",
1999
1972
  "AgentRuntimeImageDriftCheck",
2000
1973
  "AgentRuntimeNotReadyError",
2001
- "AgentRuntimeUpdate",
2002
- "AgentRuntimeUpdateRemediation",
2003
1974
  "AgentHarnessKind",
2004
1975
  "AgentHarnessProtocol",
2005
1976
  "AgentSessionInsights",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 9.0.30.dev74
3
+ Version: 9.0.31.dev76
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: MIT
@@ -1,8 +1,8 @@
1
1
  agent_scaffold/skills/a2a_sdk_execution/SKILL.md,sha256=NcwIQ1QgD4Ku0mG2Hb-Izee8p9fm9LTPHa6gDEWTOSQ,13200
2
- agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md,sha256=rs2_TChiTrcNLHGdY8b8viO21d30uHiQcswtgTXItpM,26828
2
+ agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md,sha256=zAwa4bQfSWoTIq8kH5dMd2_j4BB2UY9jbBB61S2zHWU,27070
3
3
  agent_scaffold/skills/mainsequence-inference/SKILL.md,sha256=Kl1P_40_TCfZkYLM4hlAvlSIQspSMFALswwkmSJaDBI,12717
4
4
  agent_scaffold/skills/maintenance/bug_auditor/SKILL.md,sha256=lXoHxBAqyJ2MHgxbDNq-T6DDD2Yetlwv2hNoUnQG3w0,8935
5
- agent_scaffold/skills/maintenance/code_repository_maintenance/SKILL.md,sha256=3vHuR_43NbZ4cfGtoMM-FAYLwz137NSso-3J5AdNGQ4,18650
5
+ agent_scaffold/skills/maintenance/code_repository_maintenance/SKILL.md,sha256=dxPb7_j7oCzWu8F_sda7XWgQvWb6ATCckj2oIvRC-2c,20149
6
6
  agent_scaffold/skills/maintenance/metatables_transition/SKILL.md,sha256=PisgpytcksJnfZMS6aiPCmahsT3fm8DIwk_cefXA2qU,3759
7
7
  agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md,sha256=k3SYqiU-IuWm1IunlrAQY9NaCANlq6EjqCFN0gGcuiQ,29673
8
8
  agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md,sha256=hdGavnuDYYN8aBM3xWjOaKV3w7rc5rrLTRouRGnffc4,17670
@@ -24,7 +24,7 @@ mainsequence/scaffold_skills.py,sha256=k0V6eKC5AwbHr9wB9UGMJNF-8eJ0_1izF4-BU01KH
24
24
  mainsequence/cli/__init__.py,sha256=sMWTnomCaISjnureLuXFRqOzkH2Y77uYEivsd-M6_8Y,28
25
25
  mainsequence/cli/api.py,sha256=ExVKhvT99sXstS7aaL1Tx50_hbmf3X8X5aesOkTvXGo,128227
26
26
  mainsequence/cli/browser_auth.py,sha256=Vb5MBOnPC05HLZzVNUDODobJ_p5wEIzH_h8rIlpShlE,9984
27
- mainsequence/cli/cli.py,sha256=_KGmnmWhFRZ15RPuVJgwQo3mw6JYuFbXvI5_krGTM3c,277775
27
+ mainsequence/cli/cli.py,sha256=F0t9hnuPsrVtX8Lek9kr5EoNdCIn03qXuQTa8JufBko,277807
28
28
  mainsequence/cli/code_repository_status.py,sha256=SHEnU8YSWFowPG6dEdE4Yd8CS1tIcJSE1MXFLfvD3Os,5975
29
29
  mainsequence/cli/config.py,sha256=TJYnM11kg5pH2O7AGWFLpNEkC9UEu0g7k2RLjhAHCzo,45724
30
30
  mainsequence/cli/docker_utils.py,sha256=eAnp9MI042cHWwKasA5IF2I7INL3A6tV2JX-cSIe7rc,10687
@@ -37,7 +37,7 @@ mainsequence/cli/ssh_utils.py,sha256=m7HgFHZQ545sxY9igfQLpaNjWHm4SiN9VwCkAuGy2yw
37
37
  mainsequence/cli/ui.py,sha256=memd6pmjALfGj8zndGCx_z80ztQeqTcOvcofU0un34U,2277
38
38
  mainsequence/client/__init__.py,sha256=V6BCS6O5VXpyy7fUYU4yF_2QUF3RiUHP-rzrmRhpmD8,759
39
39
  mainsequence/client/access_catalog.py,sha256=fZhSqb3xNQHwHk9YqbzaFyesz3KrZUUBS5GEuO8pmT4,11817
40
- mainsequence/client/agent_runtime_models.py,sha256=ydblB7UQ3HvtPJoqlzgsJZuhdRPvsCXex2YE5RSdjQo,76205
40
+ mainsequence/client/agent_runtime_models.py,sha256=_H9--ppXFEbXFsvxxggvxpcEZIWMIuLjqhYf2n9XHiY,75390
41
41
  mainsequence/client/base.py,sha256=c9LVgXvW8OaT22PSgARrJ1_Ftc8v79kkstdBBNQpuMU,36454
42
42
  mainsequence/client/client.py,sha256=Jaw9RYObdVDS5J2O0pln99-XpuW9e4vW-SsbJRNldfw,3866
43
43
  mainsequence/client/compute_validation.py,sha256=ByeX0CkIE7qq06ggZFfN92U3Qp2e9cvo2RTIGWa5_Vw,6662
@@ -60,9 +60,9 @@ mainsequence/server/mcp_skills.py,sha256=-krRwAHCAMipScgGJ19uVkzznhTop1Nz4C_wRY1
60
60
  mainsequence/server/_mcp_skills_upstream/__init__.py,sha256=px283qBMf3z1nxCfN3WHrH9v8Y8jOb1xoBqZMRZcaD8,2694
61
61
  mainsequence/server/_mcp_skills_upstream/server.py,sha256=laHsfpoaYX3LcwQ04-GN7r0_C63fG6CzyXDci2rmbHE,7695
62
62
  mainsequence/server/_mcp_skills_upstream/shared.py,sha256=JmnX9PoLoyi93nBYnUEPWCdPXor_nQHjHptQDXpFzPs,11978
63
- mainsequence-9.0.30.dev74.dist-info/licenses/LICENSE,sha256=b6Ecsk8wjsEby3lbSzdljR6hHiFGHBizt9iWV2p1c_I,1074
64
- mainsequence-9.0.30.dev74.dist-info/METADATA,sha256=3G-3S7NWjLuHg2IFfmBUJJ0tyukYI6fap8og6wQCqjs,7555
65
- mainsequence-9.0.30.dev74.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
66
- mainsequence-9.0.30.dev74.dist-info/entry_points.txt,sha256=XGAOq3-mF2lWWpeRJvoaWyMarRcK167mH1g124aGdUs,88
67
- mainsequence-9.0.30.dev74.dist-info/top_level.txt,sha256=BFeblM_Q9q0cUWBvTxnfWcWQEHtf5XZi9nOS-Gdfwus,28
68
- mainsequence-9.0.30.dev74.dist-info/RECORD,,
63
+ mainsequence-9.0.31.dev76.dist-info/licenses/LICENSE,sha256=b6Ecsk8wjsEby3lbSzdljR6hHiFGHBizt9iWV2p1c_I,1074
64
+ mainsequence-9.0.31.dev76.dist-info/METADATA,sha256=lNcVpHeYgxFLT0A_guzwUWmd3D2Ft7NEtUaaYhwbHUw,7555
65
+ mainsequence-9.0.31.dev76.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
66
+ mainsequence-9.0.31.dev76.dist-info/entry_points.txt,sha256=XGAOq3-mF2lWWpeRJvoaWyMarRcK167mH1g124aGdUs,88
67
+ mainsequence-9.0.31.dev76.dist-info/top_level.txt,sha256=BFeblM_Q9q0cUWBvTxnfWcWQEHtf5XZi9nOS-Gdfwus,28
68
+ mainsequence-9.0.31.dev76.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (84.0.0)
2
+ Generator: setuptools (84.2.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5