muse-code-msp 1.4.6__tar.gz → 1.4.7__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.
- {muse_code_msp-1.4.6/src/muse_code_msp.egg-info → muse_code_msp-1.4.7}/PKG-INFO +1 -1
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/pyproject.toml +1 -1
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/src/muse_code_msp/__init__.py +42 -15
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/src/muse_code_msp/experimental/__init__.py +63 -15
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7/src/muse_code_msp.egg-info}/PKG-INFO +1 -1
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/LICENSE +0 -0
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/README.md +0 -0
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/setup.cfg +0 -0
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/src/muse_code_msp/py.typed +0 -0
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/src/muse_code_msp.egg-info/SOURCES.txt +0 -0
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/src/muse_code_msp.egg-info/dependency_links.txt +0 -0
- {muse_code_msp-1.4.6 → muse_code_msp-1.4.7}/src/muse_code_msp.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: muse-code-msp
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.7
|
|
4
4
|
Summary: Generated Python wire types for the Muse Session Protocol (MSP). No hand-written protocol types, ever.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Project-URL: Homepage, https://github.com/meta-models/muse-code-sdk
|
|
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "muse-code-msp"
|
|
8
|
-
version = "1.4.
|
|
8
|
+
version = "1.4.7"
|
|
9
9
|
description = "Generated Python wire types for the Muse Session Protocol (MSP). No hand-written protocol types, ever."
|
|
10
10
|
readme = "README.md"
|
|
11
11
|
requires-python = ">=3.10"
|
|
@@ -7,10 +7,10 @@ from __future__ import annotations
|
|
|
7
7
|
|
|
8
8
|
from typing import Any, Final, Literal, TypedDict
|
|
9
9
|
|
|
10
|
-
SCHEMA_FINGERPRINT: Final[str] = "sha256:
|
|
10
|
+
SCHEMA_FINGERPRINT: Final[str] = "sha256:6de32db08bbbe0deb478d2bfcaba001e9fb490986bc80db3aceb4d996abf7df9"
|
|
11
11
|
SCHEMA_VERSION: Final[int] = 1
|
|
12
12
|
EXPERIMENTAL: Final[bool] = False
|
|
13
|
-
REQUIRED_HOST_VERSION: Final[str] = "1.4.
|
|
13
|
+
REQUIRED_HOST_VERSION: Final[str] = "1.4.7"
|
|
14
14
|
|
|
15
15
|
ApprovalAmendmentDurability = str # open enum: unknown values stay representable
|
|
16
16
|
APPROVAL_AMENDMENT_DURABILITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("session", "localPersistent",)
|
|
@@ -51,7 +51,7 @@ BACKGROUND_INITIATOR_KNOWN_VALUES: Final[tuple[str, ...]] = ("user", "timeout",)
|
|
|
51
51
|
|
|
52
52
|
# A grantable capability name. Open: the reserved `rawLog` entry joins this domain as an additive open-enum extension when the protocol spec un-defers — closed would make that a retype.
|
|
53
53
|
CapabilityName = str # open enum: unknown values stay representable
|
|
54
|
-
CAPABILITY_NAME_KNOWN_VALUES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup",)
|
|
54
|
+
CAPABILITY_NAME_KNOWN_VALUES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup",)
|
|
55
55
|
|
|
56
56
|
# The language a Code Mode cell ran in. Open: values are lowercase VS Code language identifiers, and only `javascript` (the V8 engine) is minted today.
|
|
57
57
|
CodeModeLanguage = str # open enum: unknown values stay representable
|
|
@@ -205,6 +205,14 @@ RequestId = int | str
|
|
|
205
205
|
RetractOutcome = str # open enum: unknown values stay representable
|
|
206
206
|
RETRACT_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("accepted", "declined",)
|
|
207
207
|
|
|
208
|
+
# Whether this host can enforce the sandbox. A property of the host process, probed once at construction and identical for every session and every connection it serves — never requested, granted, or negotiated, which is why it is not a capability. Open: a future enforcement posture arrives as a new value, read by older clients as unknown.
|
|
209
|
+
SandboxAvailability = str # open enum: unknown values stay representable
|
|
210
|
+
SANDBOX_AVAILABILITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("available", "unavailable",)
|
|
211
|
+
|
|
212
|
+
# Why sandbox enforcement is impossible on this host. Sent only when [`SandboxAvailability`] is `unavailable`; a client MUST NOT infer a reason when none is sent. Open: a future reason arrives as a new value, read by older clients as unknown.
|
|
213
|
+
SandboxUnavailableReason = str # open enum: unknown values stay representable
|
|
214
|
+
SANDBOX_UNAVAILABLE_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("userNamespacesDenied", "bubblewrapUnavailable",)
|
|
215
|
+
|
|
208
216
|
# The closed-reason vocabulary. Server-produced and published OPEN by owner ruling — the menu-B pick, which settles that this notification reason enum publishes open rather than resting on E2's result-vocabulary rule by analogy. A crash is deliberately not a reason, because a crash emits no notification at all.
|
|
209
217
|
SessionClosedReason = str # open enum: unknown values stay representable
|
|
210
218
|
SESSION_CLOSED_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("idle", "hostShutdown",)
|
|
@@ -226,6 +234,10 @@ SessionMcpServerMode = Literal["required", "optional"]
|
|
|
226
234
|
# Stdio framing choices exposed by session MCP configuration.
|
|
227
235
|
SessionMcpStdioFraming = Literal["auto", "contentLength", "lineDelimitedJson"]
|
|
228
236
|
|
|
237
|
+
# How the served session name was set. **Open enum** (`x-msp-openness: open`): v1 serves `automatic` and `custom`; a client MUST read absent — and any value it does not recognize — as unknown, never fabricated. Open: a future source such as conversation-generated names adds a value here, so closed would make that a breaking change.
|
|
238
|
+
SessionNameOrigin = str # open enum: unknown values stay representable
|
|
239
|
+
SESSION_NAME_ORIGIN_KNOWN_VALUES: Final[tuple[str, ...]] = ("automatic", "custom",)
|
|
240
|
+
|
|
229
241
|
# A session's load state.
|
|
230
242
|
SessionStatus = str # open enum: unknown values stay representable
|
|
231
243
|
SESSION_STATUS_KNOWN_VALUES: Final[tuple[str, ...]] = ("notLoaded", "idle", "running",)
|
|
@@ -617,23 +629,29 @@ class ComputerUseSettingsUpdateParams(TypedDict, total=False):
|
|
|
617
629
|
unblockApps: list[str]
|
|
618
630
|
|
|
619
631
|
|
|
620
|
-
class
|
|
632
|
+
class _ComputerUseSetupChangedBase(TypedDict):
|
|
633
|
+
state: ComputerUseSetupState
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
class ComputerUseSetupChanged(_ComputerUseSetupChangedBase, total=False):
|
|
621
637
|
"""`computerUseSetup/changed` params."""
|
|
622
638
|
|
|
623
639
|
sessionId: str
|
|
624
|
-
state: ComputerUseSetupState
|
|
625
640
|
|
|
626
641
|
|
|
627
|
-
class ComputerUseSetupReadParams(TypedDict):
|
|
642
|
+
class ComputerUseSetupReadParams(TypedDict, total=False):
|
|
628
643
|
"""`computerUseSetup/read` params."""
|
|
629
644
|
|
|
630
645
|
sessionId: str
|
|
631
646
|
|
|
632
647
|
|
|
633
|
-
class
|
|
648
|
+
class _ComputerUseSetupStartParamsBase(TypedDict):
|
|
649
|
+
commandId: str
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
class ComputerUseSetupStartParams(_ComputerUseSetupStartParamsBase, total=False):
|
|
634
653
|
"""`computerUseSetup/start` params: a human command."""
|
|
635
654
|
|
|
636
|
-
commandId: str
|
|
637
655
|
sessionId: str
|
|
638
656
|
|
|
639
657
|
|
|
@@ -926,6 +944,8 @@ class _InitializeResultBase(TypedDict):
|
|
|
926
944
|
class InitializeResult(_InitializeResultBase, total=False):
|
|
927
945
|
"""The `initialize` result."""
|
|
928
946
|
|
|
947
|
+
sandboxAvailability: SandboxAvailability
|
|
948
|
+
sandboxUnavailableReason: SandboxUnavailableReason
|
|
929
949
|
sessionDurability: SessionDurability
|
|
930
950
|
|
|
931
951
|
|
|
@@ -954,6 +974,7 @@ class Item(_ItemBase, total=False):
|
|
|
954
974
|
commandId: str
|
|
955
975
|
commandText: str
|
|
956
976
|
controlStatus: SubagentControlStatus
|
|
977
|
+
cutOff: bool
|
|
957
978
|
declaredPhase: str
|
|
958
979
|
depth: int
|
|
959
980
|
displayText: str
|
|
@@ -1550,6 +1571,7 @@ class Session(_SessionBase, total=False):
|
|
|
1550
1571
|
kind: SessionKind
|
|
1551
1572
|
lastActivityAt: str
|
|
1552
1573
|
name: str
|
|
1574
|
+
nameOrigin: SessionNameOrigin
|
|
1553
1575
|
parentSessionId: str
|
|
1554
1576
|
sideFrom: SideProvenance | None
|
|
1555
1577
|
title: str
|
|
@@ -1754,15 +1776,19 @@ class SessionModelRouteUnservedParams(TypedDict):
|
|
|
1754
1776
|
viewCursor: str
|
|
1755
1777
|
|
|
1756
1778
|
|
|
1757
|
-
class
|
|
1758
|
-
"""`session/nameChanged` params: the fold of ANY durable session-name record — the FIRST-NAMING automatic allocate as well as an accepted `session/rename` (or the same in-process runtime command). Replace-wholesale like every sibling."""
|
|
1759
|
-
|
|
1779
|
+
class _SessionNameChangedParamsBase(TypedDict):
|
|
1760
1780
|
name: str
|
|
1761
1781
|
sessionId: str
|
|
1762
1782
|
sourceRange: SourceRange
|
|
1763
1783
|
viewCursor: str
|
|
1764
1784
|
|
|
1765
1785
|
|
|
1786
|
+
class SessionNameChangedParams(_SessionNameChangedParamsBase, total=False):
|
|
1787
|
+
"""`session/nameChanged` params: the fold of ANY durable session-name record — the FIRST-NAMING automatic allocate as well as an accepted `session/rename` (or the same in-process runtime command). Replace-wholesale like every sibling."""
|
|
1788
|
+
|
|
1789
|
+
nameOrigin: SessionNameOrigin
|
|
1790
|
+
|
|
1791
|
+
|
|
1766
1792
|
class _SessionReadParamsBase(TypedDict):
|
|
1767
1793
|
sessionId: str
|
|
1768
1794
|
|
|
@@ -3052,8 +3078,9 @@ METHODS: Final[dict[str, MethodSpec]] = {
|
|
|
3052
3078
|
"approval/listPending": {"description": "Reads the full pending approval and user-input payloads for a session; a lease-free fold read.", "params": "ApprovalListPendingParams", "result": "ApprovalListPendingResult"},
|
|
3053
3079
|
"computerUseSettings/read": {"description": "Reads the computer-use Settings: each capability's Always allow switch and the user's blocked apps from the approval policy store, plus the built-in blocks as locked rows when asked; computerUseUnavailable while the CUA gate is off.", "params": "ComputerUseSettingsReadParams", "result": "ComputerUseSettings"},
|
|
3054
3080
|
"computerUseSettings/update": {"description": "Applies one Settings patch (capability dropdowns, blocked apps to add or remove) all-or-nothing and answers the user's Settings after it; a built-in block is refused in either list; computerUseUnavailable while the CUA gate is off.", "params": "ComputerUseSettingsUpdateParams", "result": "ComputerUseSettings"},
|
|
3055
|
-
"computerUseSetup/
|
|
3056
|
-
"computerUseSetup/
|
|
3081
|
+
"computerUseSetup/check": {"description": "Reads the host's three macOS grants with no prompt: starts the computer-use helper only long enough to check them, reports each as granted or missing, and ends it; never requests a grant or opens System Settings. Needs computerUseHostSetup; commandRejected runtime_busy while a setup attempt holds the host.", "params": None, "result": "ComputerUseSetupState"},
|
|
3082
|
+
"computerUseSetup/read": {"description": "Reads one session's computer-use setup state and permissions by running cua_setup status for it as a host command: no model turn, no prompt, no spawn; computerUseUnavailable while the CUA gate is off. Without sessionId it reads the host's own setup, with computerUseHostSetup.", "params": "ComputerUseSetupReadParams", "result": "ComputerUseSetupState"},
|
|
3083
|
+
"computerUseSetup/start": {"description": "A human command: runs cua_setup start for one session, between turns, exactly as the TUI's /cua on does, and answers the state it settles in, with the refusal code when setup refused; computerUseUnavailable while the CUA gate is off. Without sessionId it starts the host's own setup under one host owner, with computerUseHostSetup.", "params": "ComputerUseSetupStartParams", "result": "ComputerUseSetupState"},
|
|
3057
3084
|
"feedback/submit": {"description": "Submits a first-party feedback report through the host, reusing the TUI submitter seam (consent, bundle-first persistence, redaction), and answers the upload receipt.", "params": "FeedbackSubmitParams", "result": "FeedbackSubmitResult"},
|
|
3058
3085
|
"goal/clear": {"description": "Clears the session goal; never wakes and its ack never names a turn.", "params": "GoalClearParams", "result": "GoalCommandResult"},
|
|
3059
3086
|
"goal/edit": {"description": "Replaces the current goal's objective under the same wake gate as goal/set.", "params": "GoalEditParams", "result": "GoalCommandResult"},
|
|
@@ -3122,7 +3149,7 @@ NOTIFICATIONS: Final[dict[str, NotificationSpec]] = {
|
|
|
3122
3149
|
"approval/requested": {"description": "An approval opened: the fold of its durable Requested record.", "params": "ApprovalRequestParams"},
|
|
3123
3150
|
"approval/resolved": {"description": "The first durable approval terminal landed; protected delivery.", "params": "ApprovalResolvedParams"},
|
|
3124
3151
|
"approval/updated": {"description": "A non-terminal approval record changed the pending view.", "params": "ApprovalUpdatedParams"},
|
|
3125
|
-
"computerUseSetup/changed": {"description": "A computerUseSetup/read or /start observed a session's setup state differ from the last one sent for it, including inProgress when a start begins and the state it settles in.", "params": "ComputerUseSetupChanged"},
|
|
3152
|
+
"computerUseSetup/changed": {"description": "A computerUseSetup/read or /start observed a session's setup state differ from the last one sent for it, including inProgress when a start begins and the state it settles in. Without sessionId it carries the host's own setup state, delivered only with computerUseHostSetup.", "params": "ComputerUseSetupChanged"},
|
|
3126
3153
|
"initialized": {"description": "Client-to-server notification closing the handshake; no params.", "params": None},
|
|
3127
3154
|
"item/completed": {"description": "An item reached its terminal state: the authoritative final object.", "params": "ItemCompletedParams"},
|
|
3128
3155
|
"item/delta": {"description": "Streaming append to an open item's field path (ephemeral-sourced, no sourceRange; opt-out-able).", "params": "ItemDeltaParams"},
|
|
@@ -3200,4 +3227,4 @@ ERRORS: Final[tuple[ErrorSpec, ...]] = (
|
|
|
3200
3227
|
{"code": -32057, "kind": "userInputAnswerInvalid", "retryable": False, "overrideKinds": ()},
|
|
3201
3228
|
)
|
|
3202
3229
|
|
|
3203
|
-
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup",)
|
|
3230
|
+
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup",)
|
|
@@ -7,10 +7,10 @@ from __future__ import annotations
|
|
|
7
7
|
|
|
8
8
|
from typing import Any, Final, Literal, TypedDict
|
|
9
9
|
|
|
10
|
-
SCHEMA_FINGERPRINT: Final[str] = "sha256:
|
|
10
|
+
SCHEMA_FINGERPRINT: Final[str] = "sha256:0d803007acbd02ad07a6cec4d5a63b834f4db743886bbaf865b8738116dc212f"
|
|
11
11
|
SCHEMA_VERSION: Final[int] = 1
|
|
12
12
|
EXPERIMENTAL: Final[bool] = True
|
|
13
|
-
REQUIRED_HOST_VERSION: Final[str] = "1.4.
|
|
13
|
+
REQUIRED_HOST_VERSION: Final[str] = "1.4.7"
|
|
14
14
|
|
|
15
15
|
# How a login flow ended. Server-produced, so the vocabulary is open per the E2 rule — a future flow may end in a new way additively.
|
|
16
16
|
AccountLoginOutcome = str # open enum: unknown values stay representable
|
|
@@ -70,7 +70,7 @@ BACKGROUND_STATE_KNOWN_VALUES: Final[tuple[str, ...]] = ("backgrounded",)
|
|
|
70
70
|
|
|
71
71
|
# A grantable capability name. Open: the reserved `rawLog` entry joins this domain as an additive open-enum extension when the protocol spec un-defers — closed would make that a retype.
|
|
72
72
|
CapabilityName = str # open enum: unknown values stay representable
|
|
73
|
-
CAPABILITY_NAME_KNOWN_VALUES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "peerMessaging", "rawLog",)
|
|
73
|
+
CAPABILITY_NAME_KNOWN_VALUES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "peerMessaging", "rawLog",)
|
|
74
74
|
|
|
75
75
|
# The language a Code Mode cell ran in. Open: values are lowercase VS Code language identifiers, and only `javascript` (the V8 engine) is minted today.
|
|
76
76
|
CodeModeLanguage = str # open enum: unknown values stay representable
|
|
@@ -264,6 +264,14 @@ RETRACT_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("accepted", "declined",)
|
|
|
264
264
|
ReviewerAuthority = str # open enum: unknown values stay representable
|
|
265
265
|
REVIEWER_AUTHORITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("autoReview", "human", "none",)
|
|
266
266
|
|
|
267
|
+
# Whether this host can enforce the sandbox. A property of the host process, probed once at construction and identical for every session and every connection it serves — never requested, granted, or negotiated, which is why it is not a capability. Open: a future enforcement posture arrives as a new value, read by older clients as unknown.
|
|
268
|
+
SandboxAvailability = str # open enum: unknown values stay representable
|
|
269
|
+
SANDBOX_AVAILABILITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("available", "unavailable",)
|
|
270
|
+
|
|
271
|
+
# Why sandbox enforcement is impossible on this host. Sent only when [`SandboxAvailability`] is `unavailable`; a client MUST NOT infer a reason when none is sent. Open: a future reason arrives as a new value, read by older clients as unknown.
|
|
272
|
+
SandboxUnavailableReason = str # open enum: unknown values stay representable
|
|
273
|
+
SANDBOX_UNAVAILABLE_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("userNamespacesDenied", "bubblewrapUnavailable",)
|
|
274
|
+
|
|
267
275
|
# The closed-reason vocabulary. Server-produced and published OPEN by owner ruling — the menu-B pick, which settles that this notification reason enum publishes open rather than resting on E2's result-vocabulary rule by analogy. A crash is deliberately not a reason, because a crash emits no notification at all.
|
|
268
276
|
SessionClosedReason = str # open enum: unknown values stay representable
|
|
269
277
|
SESSION_CLOSED_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("idle", "hostShutdown",)
|
|
@@ -285,6 +293,10 @@ SessionMcpServerMode = Literal["required", "optional"]
|
|
|
285
293
|
# Stdio framing choices exposed by session MCP configuration.
|
|
286
294
|
SessionMcpStdioFraming = Literal["auto", "contentLength", "lineDelimitedJson"]
|
|
287
295
|
|
|
296
|
+
# How the served session name was set. **Open enum** (`x-msp-openness: open`): v1 serves `automatic` and `custom`; a client MUST read absent — and any value it does not recognize — as unknown, never fabricated. Open: a future source such as conversation-generated names adds a value here, so closed would make that a breaking change.
|
|
297
|
+
SessionNameOrigin = str # open enum: unknown values stay representable
|
|
298
|
+
SESSION_NAME_ORIGIN_KNOWN_VALUES: Final[tuple[str, ...]] = ("automatic", "custom",)
|
|
299
|
+
|
|
288
300
|
# A session's load state.
|
|
289
301
|
SessionStatus = str # open enum: unknown values stay representable
|
|
290
302
|
SESSION_STATUS_KNOWN_VALUES: Final[tuple[str, ...]] = ("notLoaded", "idle", "running",)
|
|
@@ -832,23 +844,29 @@ class ComputerUseSettingsUpdateParams(TypedDict, total=False):
|
|
|
832
844
|
unblockApps: list[str]
|
|
833
845
|
|
|
834
846
|
|
|
835
|
-
class
|
|
847
|
+
class _ComputerUseSetupChangedBase(TypedDict):
|
|
848
|
+
state: ComputerUseSetupState
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
class ComputerUseSetupChanged(_ComputerUseSetupChangedBase, total=False):
|
|
836
852
|
"""`computerUseSetup/changed` params."""
|
|
837
853
|
|
|
838
854
|
sessionId: str
|
|
839
|
-
state: ComputerUseSetupState
|
|
840
855
|
|
|
841
856
|
|
|
842
|
-
class ComputerUseSetupReadParams(TypedDict):
|
|
857
|
+
class ComputerUseSetupReadParams(TypedDict, total=False):
|
|
843
858
|
"""`computerUseSetup/read` params."""
|
|
844
859
|
|
|
845
860
|
sessionId: str
|
|
846
861
|
|
|
847
862
|
|
|
848
|
-
class
|
|
863
|
+
class _ComputerUseSetupStartParamsBase(TypedDict):
|
|
864
|
+
commandId: str
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
class ComputerUseSetupStartParams(_ComputerUseSetupStartParamsBase, total=False):
|
|
849
868
|
"""`computerUseSetup/start` params: a human command."""
|
|
850
869
|
|
|
851
|
-
commandId: str
|
|
852
870
|
sessionId: str
|
|
853
871
|
|
|
854
872
|
|
|
@@ -1160,6 +1178,8 @@ class _InitializeResultBase(TypedDict):
|
|
|
1160
1178
|
class InitializeResult(_InitializeResultBase, total=False):
|
|
1161
1179
|
"""The `initialize` result."""
|
|
1162
1180
|
|
|
1181
|
+
sandboxAvailability: SandboxAvailability
|
|
1182
|
+
sandboxUnavailableReason: SandboxUnavailableReason
|
|
1163
1183
|
sessionDurability: SessionDurability
|
|
1164
1184
|
|
|
1165
1185
|
|
|
@@ -1190,6 +1210,7 @@ class Item(_ItemBase, total=False):
|
|
|
1190
1210
|
commandId: str
|
|
1191
1211
|
commandText: str
|
|
1192
1212
|
controlStatus: SubagentControlStatus
|
|
1213
|
+
cutOff: bool
|
|
1193
1214
|
declaredPhase: str
|
|
1194
1215
|
depth: int
|
|
1195
1216
|
displayText: str
|
|
@@ -2060,6 +2081,7 @@ class Session(_SessionBase, total=False):
|
|
|
2060
2081
|
kind: SessionKind
|
|
2061
2082
|
lastActivityAt: str
|
|
2062
2083
|
name: str
|
|
2084
|
+
nameOrigin: SessionNameOrigin
|
|
2063
2085
|
parentSessionId: str
|
|
2064
2086
|
permissionState: EffectivePermissionState
|
|
2065
2087
|
sideFrom: SideProvenance | None
|
|
@@ -2266,15 +2288,19 @@ class SessionModelRouteUnservedParams(TypedDict):
|
|
|
2266
2288
|
viewCursor: str
|
|
2267
2289
|
|
|
2268
2290
|
|
|
2269
|
-
class
|
|
2270
|
-
"""`session/nameChanged` params: the fold of ANY durable session-name record — the FIRST-NAMING automatic allocate as well as an accepted `session/rename` (or the same in-process runtime command). Replace-wholesale like every sibling."""
|
|
2271
|
-
|
|
2291
|
+
class _SessionNameChangedParamsBase(TypedDict):
|
|
2272
2292
|
name: str
|
|
2273
2293
|
sessionId: str
|
|
2274
2294
|
sourceRange: SourceRange
|
|
2275
2295
|
viewCursor: str
|
|
2276
2296
|
|
|
2277
2297
|
|
|
2298
|
+
class SessionNameChangedParams(_SessionNameChangedParamsBase, total=False):
|
|
2299
|
+
"""`session/nameChanged` params: the fold of ANY durable session-name record — the FIRST-NAMING automatic allocate as well as an accepted `session/rename` (or the same in-process runtime command). Replace-wholesale like every sibling."""
|
|
2300
|
+
|
|
2301
|
+
nameOrigin: SessionNameOrigin
|
|
2302
|
+
|
|
2303
|
+
|
|
2278
2304
|
class SessionPermissionProfileChangedParams(TypedDict):
|
|
2279
2305
|
"""`session/permissionProfileChanged` params: the fold of the durable profile-commit audit fact — fired on every accepted POST-EPOCH-ONE profile commit, never for a mode-only change (that writes no such fact and keeps folding `session/approvalModeChanged` from its own reconfigure fact) and never for a reviewer-attachment change. It folds on EVERY `PermissionProfileCommittedV1` EXCEPT the epoch-one initialization fact and fork/child derivation facts — their causes (`newSessionDefault`, `launchCli` at start, `fork`, `childSpawn`, `legacyInitialization`, `launchOverrides`) are unreachable on the wire until a later commit carries them — so an omitted-profile start and an empty-cut fork fold nothing and their `\"\"`-cursor rules hold byte-for-byte. A held id recommitting under a changed definition or an managed refresh folds too (the `profileId` may equal the prior), exactly as the approvalMode precedent folds per accepted change. The `session/approvalModeChanged` member pattern with `profileId` in place of `mode`; additive-optional under the protocol spec (clients predating it skip the unknown method); subscription-gated as the protocol spec view events are."""
|
|
2280
2306
|
|
|
@@ -2287,6 +2313,26 @@ class SessionPermissionProfileChangedParams(TypedDict):
|
|
|
2287
2313
|
viewCursor: str
|
|
2288
2314
|
|
|
2289
2315
|
|
|
2316
|
+
class SessionPromptHintCandidate(TypedDict):
|
|
2317
|
+
"""One `session/promptHint` candidate: the table row's stable `id` plus its model-facing \"relevant when …\" description. Display copy stays client-side; the wire never carries it. Experimental: the stable bundle strips this until the surface stabilizes (in-v1 row 346)."""
|
|
2318
|
+
|
|
2319
|
+
description: str
|
|
2320
|
+
id: str
|
|
2321
|
+
|
|
2322
|
+
|
|
2323
|
+
class SessionPromptHintParams(TypedDict):
|
|
2324
|
+
"""`session/promptHint` params: the session plus the client-filtered candidate table. A read-only query in the `model/list` mold: no `commandId`, no durable record, no view event — the display-only side call over the wire. Experimental: the stable bundle strips this until the surface stabilizes (in-v1 row 346)."""
|
|
2325
|
+
|
|
2326
|
+
candidates: list[SessionPromptHintCandidate]
|
|
2327
|
+
sessionId: str
|
|
2328
|
+
|
|
2329
|
+
|
|
2330
|
+
class SessionPromptHintResult(TypedDict, total=False):
|
|
2331
|
+
"""`session/promptHint` result: the picked table id, or `None` when the model declines (the NONE arm) — never a copy string, so the pinned table stays the single source of truth. Experimental: the stable bundle strips this until the surface stabilizes (in-v1 row 346)."""
|
|
2332
|
+
|
|
2333
|
+
hintId: str
|
|
2334
|
+
|
|
2335
|
+
|
|
2290
2336
|
class _SessionReadParamsBase(TypedDict):
|
|
2291
2337
|
sessionId: str
|
|
2292
2338
|
|
|
@@ -3711,8 +3757,9 @@ METHODS: Final[dict[str, MethodSpec]] = {
|
|
|
3711
3757
|
"approval/listPending": {"description": "Reads the full pending approval and user-input payloads for a session; a lease-free fold read.", "params": "ApprovalListPendingParams", "result": "ApprovalListPendingResult"},
|
|
3712
3758
|
"computerUseSettings/read": {"description": "Reads the computer-use Settings: each capability's Always allow switch and the user's blocked apps from the approval policy store, plus the built-in blocks as locked rows when asked; computerUseUnavailable while the CUA gate is off.", "params": "ComputerUseSettingsReadParams", "result": "ComputerUseSettings"},
|
|
3713
3759
|
"computerUseSettings/update": {"description": "Applies one Settings patch (capability dropdowns, blocked apps to add or remove) all-or-nothing and answers the user's Settings after it; a built-in block is refused in either list; computerUseUnavailable while the CUA gate is off.", "params": "ComputerUseSettingsUpdateParams", "result": "ComputerUseSettings"},
|
|
3714
|
-
"computerUseSetup/
|
|
3715
|
-
"computerUseSetup/
|
|
3760
|
+
"computerUseSetup/check": {"description": "Reads the host's three macOS grants with no prompt: starts the computer-use helper only long enough to check them, reports each as granted or missing, and ends it; never requests a grant or opens System Settings. Needs computerUseHostSetup; commandRejected runtime_busy while a setup attempt holds the host.", "params": None, "result": "ComputerUseSetupState"},
|
|
3761
|
+
"computerUseSetup/read": {"description": "Reads one session's computer-use setup state and permissions by running cua_setup status for it as a host command: no model turn, no prompt, no spawn; computerUseUnavailable while the CUA gate is off. Without sessionId it reads the host's own setup, with computerUseHostSetup.", "params": "ComputerUseSetupReadParams", "result": "ComputerUseSetupState"},
|
|
3762
|
+
"computerUseSetup/start": {"description": "A human command: runs cua_setup start for one session, between turns, exactly as the TUI's /cua on does, and answers the state it settles in, with the refusal code when setup refused; computerUseUnavailable while the CUA gate is off. Without sessionId it starts the host's own setup under one host owner, with computerUseHostSetup.", "params": "ComputerUseSetupStartParams", "result": "ComputerUseSetupState"},
|
|
3716
3763
|
"feedback/submit": {"description": "Submits a first-party feedback report through the host, reusing the TUI submitter seam (consent, bundle-first persistence, redaction), and answers the upload receipt.", "params": "FeedbackSubmitParams", "result": "FeedbackSubmitResult"},
|
|
3717
3764
|
"goal/clear": {"description": "Clears the session goal; never wakes and its ack never names a turn.", "params": "GoalClearParams", "result": "GoalCommandResult"},
|
|
3718
3765
|
"goal/edit": {"description": "Replaces the current goal's objective under the same wake gate as goal/set.", "params": "GoalEditParams", "result": "GoalCommandResult"},
|
|
@@ -3746,6 +3793,7 @@ METHODS: Final[dict[str, MethodSpec]] = {
|
|
|
3746
3793
|
"session/compact": {"description": "Compacts the session's conversation context; runs asynchronously, so the ack is admission only.", "params": "SessionCompactParams", "result": "SessionCompactResult"},
|
|
3747
3794
|
"session/fork": {"description": "Branches a session into a new id whose log copies the source through a cut point, with durable provenance.", "params": "SessionForkParams", "result": "SessionForkResult"},
|
|
3748
3795
|
"session/list": {"description": "Pages through stored sessions under the sessions root for history and picker UIs; read-only, never touches leases.", "params": "SessionListParams", "result": "SessionListResult"},
|
|
3796
|
+
"session/promptHint": {"description": "Picks one feature-tip table id over the client-supplied candidates; display-only, nothing is logged.", "params": "SessionPromptHintParams", "result": "SessionPromptHintResult"},
|
|
3749
3797
|
"session/read": {"description": "Reads one stored session without attaching: no lease, no load, no subscription, no resume record.", "params": "SessionReadParams", "result": "SessionReadResult"},
|
|
3750
3798
|
"session/rename": {"description": "Sets or changes the durable allocated session name through the runtime session_name command; withheld under the ephemeral profile.", "params": "SessionRenameParams", "result": "SessionRenameResult"},
|
|
3751
3799
|
"session/resume": {"description": "Loads a stored session on this host, auto-subscribes this connection, and returns the history needed to render it.", "params": "SessionResumeParams", "result": "SessionResumeResult"},
|
|
@@ -3803,7 +3851,7 @@ NOTIFICATIONS: Final[dict[str, NotificationSpec]] = {
|
|
|
3803
3851
|
"approval/requested": {"description": "An approval opened: the fold of its durable Requested record.", "params": "ApprovalRequestParams"},
|
|
3804
3852
|
"approval/resolved": {"description": "The first durable approval terminal landed; protected delivery.", "params": "ApprovalResolvedParams"},
|
|
3805
3853
|
"approval/updated": {"description": "A non-terminal approval record changed the pending view.", "params": "ApprovalUpdatedParams"},
|
|
3806
|
-
"computerUseSetup/changed": {"description": "A computerUseSetup/read or /start observed a session's setup state differ from the last one sent for it, including inProgress when a start begins and the state it settles in.", "params": "ComputerUseSetupChanged"},
|
|
3854
|
+
"computerUseSetup/changed": {"description": "A computerUseSetup/read or /start observed a session's setup state differ from the last one sent for it, including inProgress when a start begins and the state it settles in. Without sessionId it carries the host's own setup state, delivered only with computerUseHostSetup.", "params": "ComputerUseSetupChanged"},
|
|
3807
3855
|
"initialized": {"description": "Client-to-server notification closing the handshake; no params.", "params": None},
|
|
3808
3856
|
"item/completed": {"description": "An item reached its terminal state: the authoritative final object.", "params": "ItemCompletedParams"},
|
|
3809
3857
|
"item/delta": {"description": "Streaming append to an open item's field path (ephemeral-sourced, no sourceRange; opt-out-able).", "params": "ItemDeltaParams"},
|
|
@@ -3894,4 +3942,4 @@ ERRORS: Final[tuple[ErrorSpec, ...]] = (
|
|
|
3894
3942
|
{"code": -32072, "kind": "admissionChoiceInvalid", "retryable": False, "overrideKinds": ()},
|
|
3895
3943
|
)
|
|
3896
3944
|
|
|
3897
|
-
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "rawLog", "peerMessaging",)
|
|
3945
|
+
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "rawLog", "peerMessaging",)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: muse-code-msp
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.7
|
|
4
4
|
Summary: Generated Python wire types for the Muse Session Protocol (MSP). No hand-written protocol types, ever.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Project-URL: Homepage, https://github.com/meta-models/muse-code-sdk
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|