muse-code-msp 1.4.7__tar.gz → 1.4.9__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.7/src/muse_code_msp.egg-info → muse_code_msp-1.4.9}/PKG-INFO +1 -1
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/pyproject.toml +1 -1
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/src/muse_code_msp/__init__.py +91 -7
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/src/muse_code_msp/experimental/__init__.py +163 -13
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9/src/muse_code_msp.egg-info}/PKG-INFO +1 -1
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/LICENSE +0 -0
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/README.md +0 -0
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/setup.cfg +0 -0
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/src/muse_code_msp/py.typed +0 -0
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/src/muse_code_msp.egg-info/SOURCES.txt +0 -0
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/src/muse_code_msp.egg-info/dependency_links.txt +0 -0
- {muse_code_msp-1.4.7 → muse_code_msp-1.4.9}/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.9
|
|
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.9"
|
|
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:5d3b43e5ccdb7dc4f5a32c380f5f2cde0f10e3059b93610afb2e73f73b1d914c"
|
|
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.9"
|
|
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", "computerUseHostSetup",)
|
|
54
|
+
CAPABILITY_NAME_KNOWN_VALUES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename",)
|
|
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
|
|
@@ -80,6 +80,14 @@ COMPACTION_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("compacted", "noop",
|
|
|
80
80
|
CompactionTrigger = str # open enum: unknown values stay representable
|
|
81
81
|
COMPACTION_TRIGGER_KNOWN_VALUES: Final[tuple[str, ...]] = ("manual", "auto",)
|
|
82
82
|
|
|
83
|
+
# A per-app choice. **Open**, like `ComputerUseChoice`.
|
|
84
|
+
ComputerUseAppChoice = str # open enum: unknown values stay representable
|
|
85
|
+
COMPUTER_USE_APP_CHOICE_KNOWN_VALUES: Final[tuple[str, ...]] = ("ask", "alwaysAllow", "blocked",)
|
|
86
|
+
|
|
87
|
+
# Why Settings can't change a row. **Open**.
|
|
88
|
+
ComputerUseAppLock = str # open enum: unknown values stay representable
|
|
89
|
+
COMPUTER_USE_APP_LOCK_KNOWN_VALUES: Final[tuple[str, ...]] = ("builtIn", "file",)
|
|
90
|
+
|
|
83
91
|
# A capability dropdown's value. **Open**: the read result carries it, so an older client tolerates a value it does not know.
|
|
84
92
|
ComputerUseChoice = str # open enum: unknown values stay representable
|
|
85
93
|
COMPUTER_USE_CHOICE_KNOWN_VALUES: Final[tuple[str, ...]] = ("ask", "alwaysAllow",)
|
|
@@ -135,7 +143,7 @@ IfBusy = Literal["queue", "steer", "replace"]
|
|
|
135
143
|
|
|
136
144
|
# The eleven v1 item kinds plus post-v1 kinds. Open: a new kind is additive evolution, and clients MUST render unknown kinds generically.
|
|
137
145
|
ItemKind = str # open enum: unknown values stay representable
|
|
138
|
-
ITEM_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("userMessage", "agentMessage", "reasoning", "toolCall", "userShell", "subagent", "workflow", "reminderChild", "compaction", "hookRun", "sideChat", "webSearch",)
|
|
146
|
+
ITEM_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("userMessage", "agentMessage", "reasoning", "toolCall", "userShell", "subagent", "workflow", "reminderChild", "compaction", "hookRun", "sideChat", "webSearch", "monitorFeed",)
|
|
139
147
|
|
|
140
148
|
# The `item/readOutput` content encoding. Closed: text media is ALWAYS `utf8` and binary media `base64`; a third value would change the client's decode contract.
|
|
141
149
|
ItemReadOutputEncoding = Literal["utf8", "base64"]
|
|
@@ -151,6 +159,10 @@ JsonRpcVersion = Literal["2.0"]
|
|
|
151
159
|
LimitKind = str # open enum: unknown values stay representable
|
|
152
160
|
LIMIT_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("tierLimit",)
|
|
153
161
|
|
|
162
|
+
# `agentMessage.messagePhase`: the phase the model declared on the commit, never inferred from position. Set on the completed item only; absent on `item/started`, which opens before the phase is recorded. Open: a client reads an absent or unknown value on a completed item as `"finalAnswer"` and still decodes the item. Not a turn-done signal; `turn/completed` is.
|
|
163
|
+
MessagePhase = str # open enum: unknown values stay representable
|
|
164
|
+
MESSAGE_PHASE_KNOWN_VALUES: Final[tuple[str, ...]] = ("commentary", "finalAnswer",)
|
|
165
|
+
|
|
154
166
|
# Where a model catalog came from. **Open**: an unrecognized value is an unknown source, not an error.
|
|
155
167
|
ModelCatalogSource = str # open enum: unknown values stay representable
|
|
156
168
|
MODEL_CATALOG_SOURCE_KNOWN_VALUES: Final[tuple[str, ...]] = ("providerCatalog", "fakeCatalog", "unresolvedCatalog", "bundledCatalog", "configCatalog",)
|
|
@@ -595,6 +607,27 @@ class CommandAcceptedResult(TypedDict):
|
|
|
595
607
|
status: CommandAckStatus
|
|
596
608
|
|
|
597
609
|
|
|
610
|
+
class _ComputerUseAppBase(TypedDict):
|
|
611
|
+
bundleId: str
|
|
612
|
+
choice: ComputerUseAppChoice
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
class ComputerUseApp(_ComputerUseAppBase, total=False):
|
|
616
|
+
"""One row of the Settings apps list."""
|
|
617
|
+
|
|
618
|
+
lastAskedAt: str
|
|
619
|
+
locked: bool
|
|
620
|
+
lockedBy: ComputerUseAppLock
|
|
621
|
+
name: str
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
class ComputerUseAppPatch(TypedDict):
|
|
625
|
+
"""One per-app choice to set in `computerUseSettings/update`."""
|
|
626
|
+
|
|
627
|
+
bundleId: str
|
|
628
|
+
choice: ComputerUseAppChoice
|
|
629
|
+
|
|
630
|
+
|
|
598
631
|
class _ComputerUseBlockedAppBase(TypedDict):
|
|
599
632
|
bundleId: str
|
|
600
633
|
locked: bool
|
|
@@ -606,23 +639,37 @@ class ComputerUseBlockedApp(_ComputerUseBlockedAppBase, total=False):
|
|
|
606
639
|
prefix: bool
|
|
607
640
|
|
|
608
641
|
|
|
609
|
-
class
|
|
610
|
-
"""
|
|
642
|
+
class ComputerUseInstalledApp(TypedDict):
|
|
643
|
+
"""One installed or running app, for Settings' app picker."""
|
|
611
644
|
|
|
645
|
+
bundleId: str
|
|
646
|
+
name: str
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
class _ComputerUseSettingsBase(TypedDict):
|
|
612
650
|
blockedApps: list[ComputerUseBlockedApp]
|
|
613
651
|
computerControl: ComputerUseChoice
|
|
614
652
|
screenshots: ComputerUseChoice
|
|
615
653
|
|
|
616
654
|
|
|
655
|
+
class ComputerUseSettings(_ComputerUseSettingsBase, total=False):
|
|
656
|
+
"""`computerUseSettings/read` result, also answered by `computerUseSettings/update`."""
|
|
657
|
+
|
|
658
|
+
apps: list[ComputerUseApp]
|
|
659
|
+
installedApps: list[ComputerUseInstalledApp]
|
|
660
|
+
|
|
661
|
+
|
|
617
662
|
class ComputerUseSettingsReadParams(TypedDict, total=False):
|
|
618
663
|
"""`computerUseSettings/read` params."""
|
|
619
664
|
|
|
665
|
+
installed: bool
|
|
620
666
|
showBuiltIns: bool
|
|
621
667
|
|
|
622
668
|
|
|
623
669
|
class ComputerUseSettingsUpdateParams(TypedDict, total=False):
|
|
624
670
|
"""`computerUseSettings/update` params: a patch. Omitted members are left alone; the whole patch applies or none of it does."""
|
|
625
671
|
|
|
672
|
+
apps: list[ComputerUseAppPatch]
|
|
626
673
|
blockApps: list[str]
|
|
627
674
|
computerControl: ComputerUseChoice
|
|
628
675
|
screenshots: ComputerUseChoice
|
|
@@ -977,6 +1024,7 @@ class Item(_ItemBase, total=False):
|
|
|
977
1024
|
cutOff: bool
|
|
978
1025
|
declaredPhase: str
|
|
979
1026
|
depth: int
|
|
1027
|
+
displayLabel: ToolDisplayLabel
|
|
980
1028
|
displayText: str
|
|
981
1029
|
durationMs: int
|
|
982
1030
|
entryId: str
|
|
@@ -991,7 +1039,10 @@ class Item(_ItemBase, total=False):
|
|
|
991
1039
|
hookKey: str
|
|
992
1040
|
label: str
|
|
993
1041
|
message: str
|
|
1042
|
+
messagePhase: MessagePhase
|
|
994
1043
|
modelVisibleContent: list[ModelVisibleContent]
|
|
1044
|
+
monitorDescription: str
|
|
1045
|
+
monitorId: str
|
|
995
1046
|
objective: str
|
|
996
1047
|
outcome: CompactionOutcome
|
|
997
1048
|
outputRef: OutputRef
|
|
@@ -1568,6 +1619,7 @@ class Session(_SessionBase, total=False):
|
|
|
1568
1619
|
branch: str
|
|
1569
1620
|
createdByClient: ClientInfo
|
|
1570
1621
|
firstUserPrompt: str
|
|
1622
|
+
generatedName: str
|
|
1571
1623
|
kind: SessionKind
|
|
1572
1624
|
lastActivityAt: str
|
|
1573
1625
|
name: str
|
|
@@ -1786,6 +1838,7 @@ class _SessionNameChangedParamsBase(TypedDict):
|
|
|
1786
1838
|
class SessionNameChangedParams(_SessionNameChangedParamsBase, total=False):
|
|
1787
1839
|
"""`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
1840
|
|
|
1841
|
+
generatedName: str
|
|
1789
1842
|
nameOrigin: SessionNameOrigin
|
|
1790
1843
|
|
|
1791
1844
|
|
|
@@ -1853,6 +1906,7 @@ class SessionResumeParams(_SessionResumeParamsBase, total=False):
|
|
|
1853
1906
|
cursor: str | None
|
|
1854
1907
|
excludeItems: bool
|
|
1855
1908
|
history: HistoryPreference
|
|
1909
|
+
permissionProfile: str
|
|
1856
1910
|
|
|
1857
1911
|
|
|
1858
1912
|
class _SessionResumeResultBase(TypedDict):
|
|
@@ -2049,6 +2103,7 @@ class SkillCatalogEntry(_SkillCatalogEntryBase, total=False):
|
|
|
2049
2103
|
|
|
2050
2104
|
argumentHint: str
|
|
2051
2105
|
pluginId: str
|
|
2106
|
+
title: str
|
|
2052
2107
|
|
|
2053
2108
|
|
|
2054
2109
|
class SkillChangedParams(TypedDict):
|
|
@@ -2418,6 +2473,14 @@ class TokenUsage(_TokenUsageBase, total=False):
|
|
|
2418
2473
|
cacheWriteTokens: int
|
|
2419
2474
|
|
|
2420
2475
|
|
|
2476
|
+
class ToolDisplayLabel(TypedDict):
|
|
2477
|
+
"""`toolCall.displayLabel`: the call's words in three forms, each one line of plain text, always present together. The item's `status` picks the form."""
|
|
2478
|
+
|
|
2479
|
+
active: str
|
|
2480
|
+
done: str
|
|
2481
|
+
neutral: str
|
|
2482
|
+
|
|
2483
|
+
|
|
2421
2484
|
class TraceContext(TypedDict, total=False):
|
|
2422
2485
|
"""Optional W3C trace context, on requests in both directions only — never on responses or notifications."""
|
|
2423
2486
|
|
|
@@ -2521,6 +2584,25 @@ class TurnInterruptResult(TypedDict):
|
|
|
2521
2584
|
turnId: str
|
|
2522
2585
|
|
|
2523
2586
|
|
|
2587
|
+
class _TurnModelRetryScheduledParamsBase(TypedDict):
|
|
2588
|
+
attempt: int
|
|
2589
|
+
maxAttempts: int
|
|
2590
|
+
nextAttempt: int
|
|
2591
|
+
retryDelayMs: int
|
|
2592
|
+
sessionId: str
|
|
2593
|
+
sourceRange: SourceRange
|
|
2594
|
+
turnId: str
|
|
2595
|
+
viewCursor: str
|
|
2596
|
+
|
|
2597
|
+
|
|
2598
|
+
class TurnModelRetryScheduledParams(_TurnModelRetryScheduledParamsBase, total=False):
|
|
2599
|
+
"""`turn/modelRetryScheduled` params: a durable model-stream retry-scheduled fact folded — the provider backoff behind one model attempt is observable BEFORE the turn terminates, so a streaming client can render \"system words · retrying in Ss · attempt N/M\" instead of dead air. Non-terminal: it never resolves a turn-wait. The sibling `turn/retryScheduled` shape at the model layer: same member names and semantics (attempt/nextAttempt/maxAttempts/ retryDelayMs/system/errorKind/httpStatus), minus `reason` — the row's words derive from `errorKind` through the shared gate-off mapping, and the recorded machine message is not user text. The delay is the recorded scheduled backoff, never an absolute fire time — clients derive any countdown locally. `sourceRange` cites the session stream's mirror of the task-lifecycle record."""
|
|
2600
|
+
|
|
2601
|
+
errorKind: str
|
|
2602
|
+
httpStatus: int
|
|
2603
|
+
system: str
|
|
2604
|
+
|
|
2605
|
+
|
|
2524
2606
|
class _TurnRefBase(TypedDict):
|
|
2525
2607
|
commandId: str
|
|
2526
2608
|
turnId: str
|
|
@@ -3148,6 +3230,7 @@ METHODS: Final[dict[str, MethodSpec]] = {
|
|
|
3148
3230
|
NOTIFICATIONS: Final[dict[str, NotificationSpec]] = {
|
|
3149
3231
|
"approval/requested": {"description": "An approval opened: the fold of its durable Requested record.", "params": "ApprovalRequestParams"},
|
|
3150
3232
|
"approval/resolved": {"description": "The first durable approval terminal landed; protected delivery.", "params": "ApprovalResolvedParams"},
|
|
3233
|
+
"approval/reviewing": {"description": "The native reviewer holds an approval: the fold of a Requested whose phase is automated_reviewing; typed activity, not a request.", "params": "ApprovalRequestParams"},
|
|
3151
3234
|
"approval/updated": {"description": "A non-terminal approval record changed the pending view.", "params": "ApprovalUpdatedParams"},
|
|
3152
3235
|
"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"},
|
|
3153
3236
|
"initialized": {"description": "Client-to-server notification closing the handshake; no params.", "params": None},
|
|
@@ -3176,6 +3259,7 @@ NOTIFICATIONS: Final[dict[str, NotificationSpec]] = {
|
|
|
3176
3259
|
"skill/changed": {"description": "The session's user-invocable skill set changed; clients re-issue skill/list. A live host-state projection, not a view event.", "params": "SkillChangedParams"},
|
|
3177
3260
|
"turn/completed": {"description": "Turn terminal: completed | failed | cancelled, with usage and the settled error object.", "params": "TurnCompletedParams"},
|
|
3178
3261
|
"turn/foregroundCompleted": {"description": "The turn's foreground work is done while named background reminder checks hold the turn open; explicitly non-terminal.", "params": "TurnForegroundCompletedParams"},
|
|
3262
|
+
"turn/modelRetryScheduled": {"description": "A provider backoff behind one model attempt is scheduled and waiting out its delay; observable mid-turn, non-terminal.", "params": "TurnModelRetryScheduledParams"},
|
|
3179
3263
|
"turn/retracted": {"description": "An accepted interrupt's paired retract durably settled, accepted or declined.", "params": "TurnRetractedParams"},
|
|
3180
3264
|
"turn/retryScheduled": {"description": "A failing model attempt's retry is scheduled and waiting out its backoff; observable mid-turn, non-terminal.", "params": "TurnRetryScheduledParams"},
|
|
3181
3265
|
"turn/started": {"description": "A foreground turn began running.", "params": "TurnStartedParams"},
|
|
@@ -3227,4 +3311,4 @@ ERRORS: Final[tuple[ErrorSpec, ...]] = (
|
|
|
3227
3311
|
{"code": -32057, "kind": "userInputAnswerInvalid", "retryable": False, "overrideKinds": ()},
|
|
3228
3312
|
)
|
|
3229
3313
|
|
|
3230
|
-
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup",)
|
|
3314
|
+
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename",)
|
|
@@ -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:e8b3d24f3922af8e567838a9ebdf8a28b64e6e0ddb516689f1a760e46c2f7fa1"
|
|
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.9"
|
|
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", "computerUseHostSetup", "peerMessaging", "rawLog",)
|
|
73
|
+
CAPABILITY_NAME_KNOWN_VALUES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename", "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
|
|
@@ -99,6 +99,14 @@ COMPACTION_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("compacted", "noop",
|
|
|
99
99
|
CompactionTrigger = str # open enum: unknown values stay representable
|
|
100
100
|
COMPACTION_TRIGGER_KNOWN_VALUES: Final[tuple[str, ...]] = ("manual", "auto",)
|
|
101
101
|
|
|
102
|
+
# A per-app choice. **Open**, like `ComputerUseChoice`.
|
|
103
|
+
ComputerUseAppChoice = str # open enum: unknown values stay representable
|
|
104
|
+
COMPUTER_USE_APP_CHOICE_KNOWN_VALUES: Final[tuple[str, ...]] = ("ask", "alwaysAllow", "blocked",)
|
|
105
|
+
|
|
106
|
+
# Why Settings can't change a row. **Open**.
|
|
107
|
+
ComputerUseAppLock = str # open enum: unknown values stay representable
|
|
108
|
+
COMPUTER_USE_APP_LOCK_KNOWN_VALUES: Final[tuple[str, ...]] = ("builtIn", "file",)
|
|
109
|
+
|
|
102
110
|
# A capability dropdown's value. **Open**: the read result carries it, so an older client tolerates a value it does not know.
|
|
103
111
|
ComputerUseChoice = str # open enum: unknown values stay representable
|
|
104
112
|
COMPUTER_USE_CHOICE_KNOWN_VALUES: Final[tuple[str, ...]] = ("ask", "alwaysAllow",)
|
|
@@ -154,7 +162,7 @@ IfBusy = Literal["queue", "steer", "replace"]
|
|
|
154
162
|
|
|
155
163
|
# The eleven v1 item kinds plus post-v1 kinds. Open: a new kind is additive evolution, and clients MUST render unknown kinds generically.
|
|
156
164
|
ItemKind = str # open enum: unknown values stay representable
|
|
157
|
-
ITEM_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("userMessage", "agentMessage", "reasoning", "toolCall", "userShell", "subagent", "workflow", "reminderChild", "compaction", "hookRun", "sideChat", "webSearch", "skillRead",)
|
|
165
|
+
ITEM_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("userMessage", "agentMessage", "reasoning", "toolCall", "userShell", "subagent", "workflow", "reminderChild", "compaction", "hookRun", "sideChat", "webSearch", "monitorFeed", "skillRead",)
|
|
158
166
|
|
|
159
167
|
# The `item/readOutput` content encoding. Closed: text media is ALWAYS `utf8` and binary media `base64`; a third value would change the client's decode contract.
|
|
160
168
|
ItemReadOutputEncoding = Literal["utf8", "base64"]
|
|
@@ -170,6 +178,10 @@ JsonRpcVersion = Literal["2.0"]
|
|
|
170
178
|
LimitKind = str # open enum: unknown values stay representable
|
|
171
179
|
LIMIT_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("tierLimit",)
|
|
172
180
|
|
|
181
|
+
# `log/gap` `reason`: only a `replayAnchorLost` gap is refillable through `log/page`; an `overFrame` gap is a known hole on that connection, its hole `(after, next]` less `next` when it is delivered. **Open**: a server-produced vocabulary.
|
|
182
|
+
LogGapReason = str # open enum: unknown values stay representable
|
|
183
|
+
LOG_GAP_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("replayAnchorLost", "overFrame",)
|
|
184
|
+
|
|
173
185
|
# The login flow's terminal vocabulary. Open.
|
|
174
186
|
McpOAuthLoginOutcome = str # open enum: unknown values stay representable
|
|
175
187
|
MCP_O_AUTH_LOGIN_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("granted", "denied", "expired", "cancelled", "failed",)
|
|
@@ -190,6 +202,10 @@ MCP_SERVER_LIST_SOURCE_KNOWN_VALUES: Final[tuple[str, ...]] = ("settings", "plug
|
|
|
190
202
|
McpServerListTransport = str # open enum: unknown values stay representable
|
|
191
203
|
MCP_SERVER_LIST_TRANSPORT_KNOWN_VALUES: Final[tuple[str, ...]] = ("stdio", "streamableHttp", "unknown",)
|
|
192
204
|
|
|
205
|
+
# `agentMessage.messagePhase`: the phase the model declared on the commit, never inferred from position. Set on the completed item only; absent on `item/started`, which opens before the phase is recorded. Open: a client reads an absent or unknown value on a completed item as `"finalAnswer"` and still decodes the item. Not a turn-done signal; `turn/completed` is.
|
|
206
|
+
MessagePhase = str # open enum: unknown values stay representable
|
|
207
|
+
MESSAGE_PHASE_KNOWN_VALUES: Final[tuple[str, ...]] = ("commentary", "finalAnswer",)
|
|
208
|
+
|
|
193
209
|
# Where a model catalog came from. **Open**: an unrecognized value is an unknown source, not an error.
|
|
194
210
|
ModelCatalogSource = str # open enum: unknown values stay representable
|
|
195
211
|
MODEL_CATALOG_SOURCE_KNOWN_VALUES: Final[tuple[str, ...]] = ("providerCatalog", "fakeCatalog", "unresolvedCatalog", "bundledCatalog", "configCatalog",)
|
|
@@ -210,6 +226,18 @@ PEER_STATUS_KNOWN_VALUES: Final[tuple[str, ...]] = ("idle", "active", "busy", "c
|
|
|
210
226
|
PendingRequestKind = str # open enum: unknown values stay representable
|
|
211
227
|
PENDING_REQUEST_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("approval", "userInput",)
|
|
212
228
|
|
|
229
|
+
# A profile's effective approval axis. **Open**: the vocabulary can widen.
|
|
230
|
+
PermissionApprovalAxis = str # open enum: unknown values stay representable
|
|
231
|
+
PERMISSION_APPROVAL_AXIS_KNOWN_VALUES: Final[tuple[str, ...]] = ("onRequest", "promptUnmatched", "allowAll",)
|
|
232
|
+
|
|
233
|
+
# A profile's effective filesystem axis. **Open**: the vocabulary can widen.
|
|
234
|
+
PermissionFilesystemAxis = str # open enum: unknown values stay representable
|
|
235
|
+
PERMISSION_FILESYSTEM_AXIS_KNOWN_VALUES: Final[tuple[str, ...]] = ("sandboxed", "unrestricted",)
|
|
236
|
+
|
|
237
|
+
# A profile's effective local-command network axis. **Open**: the vocabulary can widen.
|
|
238
|
+
PermissionNetworkAxis = str # open enum: unknown values stay representable
|
|
239
|
+
PERMISSION_NETWORK_AXIS_KNOWN_VALUES: Final[tuple[str, ...]] = ("restricted", "off", "enabled",)
|
|
240
|
+
|
|
213
241
|
# Whether a profile change did anything. The accepted arm spells `completed` exactly as `session/setApprovalMode` so the shared member never forks spellings. Apply failures are `commandRejected`.
|
|
214
242
|
PermissionProfileApplyOutcome = str # open enum: unknown values stay representable
|
|
215
243
|
PERMISSION_PROFILE_APPLY_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("completed", "noop",)
|
|
@@ -297,6 +325,12 @@ SessionMcpStdioFraming = Literal["auto", "contentLength", "lineDelimitedJson"]
|
|
|
297
325
|
SessionNameOrigin = str # open enum: unknown values stay representable
|
|
298
326
|
SESSION_NAME_ORIGIN_KNOWN_VALUES: Final[tuple[str, ...]] = ("automatic", "custom",)
|
|
299
327
|
|
|
328
|
+
# `session/reportStartupPhases` span phase: the `StartupPhasesRecord` phase vocabulary in camelCase. The host maps each value onto the record's snake_case spelling at append. Experimental: the stable bundle strips this until the surface stabilizes (in-v1 row 348).
|
|
329
|
+
SessionReportStartupPhase = Literal["terminalProbe", "sessionOpen", "runtimeInit", "firstFrame", "inputReady"]
|
|
330
|
+
|
|
331
|
+
# `session/reportStartupPhases` terminal color provenance: the durable `TerminalColorProvenance` vocabulary in camelCase. The host maps each value onto the record spelling at append. Experimental: the stable bundle strips this until the surface stabilizes (in-v1 row 348).
|
|
332
|
+
SessionReportTerminalColorProvenance = Literal["probed", "defaulted", "overridden"]
|
|
333
|
+
|
|
300
334
|
# A session's load state.
|
|
301
335
|
SessionStatus = str # open enum: unknown values stay representable
|
|
302
336
|
SESSION_STATUS_KNOWN_VALUES: Final[tuple[str, ...]] = ("notLoaded", "idle", "running",)
|
|
@@ -810,6 +844,27 @@ class CommandAcceptedResult(TypedDict):
|
|
|
810
844
|
status: CommandAckStatus
|
|
811
845
|
|
|
812
846
|
|
|
847
|
+
class _ComputerUseAppBase(TypedDict):
|
|
848
|
+
bundleId: str
|
|
849
|
+
choice: ComputerUseAppChoice
|
|
850
|
+
|
|
851
|
+
|
|
852
|
+
class ComputerUseApp(_ComputerUseAppBase, total=False):
|
|
853
|
+
"""One row of the Settings apps list."""
|
|
854
|
+
|
|
855
|
+
lastAskedAt: str
|
|
856
|
+
locked: bool
|
|
857
|
+
lockedBy: ComputerUseAppLock
|
|
858
|
+
name: str
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
class ComputerUseAppPatch(TypedDict):
|
|
862
|
+
"""One per-app choice to set in `computerUseSettings/update`."""
|
|
863
|
+
|
|
864
|
+
bundleId: str
|
|
865
|
+
choice: ComputerUseAppChoice
|
|
866
|
+
|
|
867
|
+
|
|
813
868
|
class _ComputerUseBlockedAppBase(TypedDict):
|
|
814
869
|
bundleId: str
|
|
815
870
|
locked: bool
|
|
@@ -821,23 +876,37 @@ class ComputerUseBlockedApp(_ComputerUseBlockedAppBase, total=False):
|
|
|
821
876
|
prefix: bool
|
|
822
877
|
|
|
823
878
|
|
|
824
|
-
class
|
|
825
|
-
"""
|
|
879
|
+
class ComputerUseInstalledApp(TypedDict):
|
|
880
|
+
"""One installed or running app, for Settings' app picker."""
|
|
881
|
+
|
|
882
|
+
bundleId: str
|
|
883
|
+
name: str
|
|
826
884
|
|
|
885
|
+
|
|
886
|
+
class _ComputerUseSettingsBase(TypedDict):
|
|
827
887
|
blockedApps: list[ComputerUseBlockedApp]
|
|
828
888
|
computerControl: ComputerUseChoice
|
|
829
889
|
screenshots: ComputerUseChoice
|
|
830
890
|
|
|
831
891
|
|
|
892
|
+
class ComputerUseSettings(_ComputerUseSettingsBase, total=False):
|
|
893
|
+
"""`computerUseSettings/read` result, also answered by `computerUseSettings/update`."""
|
|
894
|
+
|
|
895
|
+
apps: list[ComputerUseApp]
|
|
896
|
+
installedApps: list[ComputerUseInstalledApp]
|
|
897
|
+
|
|
898
|
+
|
|
832
899
|
class ComputerUseSettingsReadParams(TypedDict, total=False):
|
|
833
900
|
"""`computerUseSettings/read` params."""
|
|
834
901
|
|
|
902
|
+
installed: bool
|
|
835
903
|
showBuiltIns: bool
|
|
836
904
|
|
|
837
905
|
|
|
838
906
|
class ComputerUseSettingsUpdateParams(TypedDict, total=False):
|
|
839
907
|
"""`computerUseSettings/update` params: a patch. Omitted members are left alone; the whole patch applies or none of it does."""
|
|
840
908
|
|
|
909
|
+
apps: list[ComputerUseAppPatch]
|
|
841
910
|
blockApps: list[str]
|
|
842
911
|
computerControl: ComputerUseChoice
|
|
843
912
|
screenshots: ComputerUseChoice
|
|
@@ -947,14 +1016,18 @@ class EffectiveModel(TypedDict):
|
|
|
947
1016
|
source: ModelChangeSource
|
|
948
1017
|
|
|
949
1018
|
|
|
950
|
-
class
|
|
951
|
-
"""The effective permission-state projection: the committed native permission snapshot (profile identity, reviewer authority) plus the live per-session runtime's attachment evidence. The same object `session/setPermissionProfile` returns and the `Session` object carries as `permissionState`. Served values must be coherent: a read never combines an old profile with a newer runtime's attachment claim."""
|
|
952
|
-
|
|
1019
|
+
class _EffectivePermissionStateBase(TypedDict):
|
|
953
1020
|
profileId: str | None
|
|
954
1021
|
reviewerAttached: bool
|
|
955
1022
|
reviewerAuthority: ReviewerAuthority
|
|
956
1023
|
|
|
957
1024
|
|
|
1025
|
+
class EffectivePermissionState(_EffectivePermissionStateBase, total=False):
|
|
1026
|
+
"""The effective permission-state projection: the committed native permission snapshot (profile identity, reviewer authority) plus the live per-session runtime's attachment evidence. The same object `session/setPermissionProfile` returns and the `Session` object carries as `permissionState`. Served values must be coherent: a read never combines an old profile with a newer runtime's attachment claim."""
|
|
1027
|
+
|
|
1028
|
+
axes: PermissionAxes
|
|
1029
|
+
|
|
1030
|
+
|
|
958
1031
|
class _ErrorDataBase(TypedDict):
|
|
959
1032
|
kind: ErrorKind
|
|
960
1033
|
|
|
@@ -1213,6 +1286,7 @@ class Item(_ItemBase, total=False):
|
|
|
1213
1286
|
cutOff: bool
|
|
1214
1287
|
declaredPhase: str
|
|
1215
1288
|
depth: int
|
|
1289
|
+
displayLabel: ToolDisplayLabel
|
|
1216
1290
|
displayText: str
|
|
1217
1291
|
durationMs: int
|
|
1218
1292
|
entryId: str
|
|
@@ -1227,7 +1301,10 @@ class Item(_ItemBase, total=False):
|
|
|
1227
1301
|
hookKey: str
|
|
1228
1302
|
label: str
|
|
1229
1303
|
message: str
|
|
1304
|
+
messagePhase: MessagePhase
|
|
1230
1305
|
modelVisibleContent: list[ModelVisibleContent]
|
|
1306
|
+
monitorDescription: str
|
|
1307
|
+
monitorId: str
|
|
1231
1308
|
objective: str
|
|
1232
1309
|
outcome: CompactionOutcome
|
|
1233
1310
|
outputRef: OutputRef
|
|
@@ -1361,15 +1438,19 @@ class LastTurn(_LastTurnBase, total=False):
|
|
|
1361
1438
|
reason: str
|
|
1362
1439
|
|
|
1363
1440
|
|
|
1364
|
-
class
|
|
1365
|
-
"""`log/gap` notification params: the raw-altitude shape of the shared gap contract, per subscription. The client MUST fill `(after, next)` with `log/page` before treating its fold as current."""
|
|
1366
|
-
|
|
1441
|
+
class _LogGapParamsBase(TypedDict):
|
|
1367
1442
|
after: RecordPosition
|
|
1368
1443
|
next: RecordPosition
|
|
1369
1444
|
stream: StreamRef
|
|
1370
1445
|
subscriptionId: int
|
|
1371
1446
|
|
|
1372
1447
|
|
|
1448
|
+
class LogGapParams(_LogGapParamsBase, total=False):
|
|
1449
|
+
"""`log/gap` notification params: the raw-altitude shape of the shared gap contract, per subscription. The client MUST fill `(after, next)` with `log/page` before treating its fold as current, except for an `overFrame` gap (see [`LogGapReason`])."""
|
|
1450
|
+
|
|
1451
|
+
reason: LogGapReason
|
|
1452
|
+
|
|
1453
|
+
|
|
1373
1454
|
# `log/page` params.
|
|
1374
1455
|
LogPageParams = TypedDict("LogPageParams", {
|
|
1375
1456
|
"limit": "int",
|
|
@@ -1721,6 +1802,15 @@ class PendingUserInputPointer(_PendingUserInputPointerBase, total=False):
|
|
|
1721
1802
|
itemId: str
|
|
1722
1803
|
|
|
1723
1804
|
|
|
1805
|
+
class PermissionAxes(TypedDict):
|
|
1806
|
+
"""A committed profile's effective four axis values: the resolved filesystem, network, approval, and reviewer the YOLO predicate reads. The reviewer member reuses `ReviewerAuthority`, so its spelling never drifts from the served `reviewerAuthority`."""
|
|
1807
|
+
|
|
1808
|
+
approval: PermissionApprovalAxis
|
|
1809
|
+
filesystem: PermissionFilesystemAxis
|
|
1810
|
+
network: PermissionNetworkAxis
|
|
1811
|
+
reviewer: ReviewerAuthority
|
|
1812
|
+
|
|
1813
|
+
|
|
1724
1814
|
class PermissionProfileListParams(TypedDict, total=False):
|
|
1725
1815
|
"""`permissionProfile/list` params: read the native profile catalog. A read-only method — takes no lease, grants nothing."""
|
|
1726
1816
|
|
|
@@ -2078,6 +2168,7 @@ class Session(_SessionBase, total=False):
|
|
|
2078
2168
|
branch: str
|
|
2079
2169
|
createdByClient: ClientInfo
|
|
2080
2170
|
firstUserPrompt: str
|
|
2171
|
+
generatedName: str
|
|
2081
2172
|
kind: SessionKind
|
|
2082
2173
|
lastActivityAt: str
|
|
2083
2174
|
name: str
|
|
@@ -2298,6 +2389,7 @@ class _SessionNameChangedParamsBase(TypedDict):
|
|
|
2298
2389
|
class SessionNameChangedParams(_SessionNameChangedParamsBase, total=False):
|
|
2299
2390
|
"""`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
2391
|
|
|
2392
|
+
generatedName: str
|
|
2301
2393
|
nameOrigin: SessionNameOrigin
|
|
2302
2394
|
|
|
2303
2395
|
|
|
@@ -2385,6 +2477,32 @@ class SessionRenameResult(_SessionRenameResultBase, total=False):
|
|
|
2385
2477
|
name: str
|
|
2386
2478
|
|
|
2387
2479
|
|
|
2480
|
+
class _SessionReportStartupPhaseSpanBase(TypedDict):
|
|
2481
|
+
durationMs: int
|
|
2482
|
+
phase: SessionReportStartupPhase
|
|
2483
|
+
startMs: int
|
|
2484
|
+
|
|
2485
|
+
|
|
2486
|
+
class SessionReportStartupPhaseSpan(_SessionReportStartupPhaseSpanBase, total=False):
|
|
2487
|
+
"""`session/reportStartupPhases` span: one `StartupPhasesRecord` phase row in camelCase. The host ignores unknown members and fails closed (`invalidParams`) on an unknown phase or provenance value; a `colorProvenance` on any other phase is stripped. The host maps each row onto the record's snake_case spelling at append. Experimental: the stable bundle strips this until the surface stabilizes (in-v1 row 348)."""
|
|
2488
|
+
|
|
2489
|
+
colorProvenance: SessionReportTerminalColorProvenance
|
|
2490
|
+
|
|
2491
|
+
|
|
2492
|
+
class SessionReportStartupPhasesParams(TypedDict):
|
|
2493
|
+
"""`session/reportStartupPhases` params: the served session, the client-minted launch nonce (one UUID per process launch, any textual UUID form), and the finished spans. No `commandId`: the nonce is the idempotency key and the call is best-effort. Experimental: the stable bundle strips this until the surface stabilizes (in-v1 row 348)."""
|
|
2494
|
+
|
|
2495
|
+
launchNonce: str
|
|
2496
|
+
phases: list[SessionReportStartupPhaseSpan]
|
|
2497
|
+
sessionId: str
|
|
2498
|
+
|
|
2499
|
+
|
|
2500
|
+
class SessionReportStartupPhasesResult(TypedDict):
|
|
2501
|
+
"""`session/reportStartupPhases` result: whether this report appended. A duplicate nonce succeeds with `recorded: false` and appends nothing. Experimental: the stable bundle strips this until the surface stabilizes (in-v1 row 348)."""
|
|
2502
|
+
|
|
2503
|
+
recorded: bool
|
|
2504
|
+
|
|
2505
|
+
|
|
2388
2506
|
class _SessionResumeParamsBase(TypedDict):
|
|
2389
2507
|
commandId: str
|
|
2390
2508
|
sessionId: str
|
|
@@ -2397,6 +2515,7 @@ class SessionResumeParams(_SessionResumeParamsBase, total=False):
|
|
|
2397
2515
|
cursor: str | None
|
|
2398
2516
|
excludeItems: bool
|
|
2399
2517
|
history: HistoryPreference
|
|
2518
|
+
permissionProfile: str
|
|
2400
2519
|
|
|
2401
2520
|
|
|
2402
2521
|
class _SessionResumeResultBase(TypedDict):
|
|
@@ -2673,6 +2792,7 @@ class SkillCatalogEntry(_SkillCatalogEntryBase, total=False):
|
|
|
2673
2792
|
|
|
2674
2793
|
argumentHint: str
|
|
2675
2794
|
pluginId: str
|
|
2795
|
+
title: str
|
|
2676
2796
|
|
|
2677
2797
|
|
|
2678
2798
|
class SkillChangedParams(TypedDict):
|
|
@@ -3042,6 +3162,14 @@ class TokenUsage(_TokenUsageBase, total=False):
|
|
|
3042
3162
|
cacheWriteTokens: int
|
|
3043
3163
|
|
|
3044
3164
|
|
|
3165
|
+
class ToolDisplayLabel(TypedDict):
|
|
3166
|
+
"""`toolCall.displayLabel`: the call's words in three forms, each one line of plain text, always present together. The item's `status` picks the form."""
|
|
3167
|
+
|
|
3168
|
+
active: str
|
|
3169
|
+
done: str
|
|
3170
|
+
neutral: str
|
|
3171
|
+
|
|
3172
|
+
|
|
3045
3173
|
class TraceContext(TypedDict, total=False):
|
|
3046
3174
|
"""Optional W3C trace context, on requests in both directions only — never on responses or notifications."""
|
|
3047
3175
|
|
|
@@ -3145,6 +3273,25 @@ class TurnInterruptResult(TypedDict):
|
|
|
3145
3273
|
turnId: str
|
|
3146
3274
|
|
|
3147
3275
|
|
|
3276
|
+
class _TurnModelRetryScheduledParamsBase(TypedDict):
|
|
3277
|
+
attempt: int
|
|
3278
|
+
maxAttempts: int
|
|
3279
|
+
nextAttempt: int
|
|
3280
|
+
retryDelayMs: int
|
|
3281
|
+
sessionId: str
|
|
3282
|
+
sourceRange: SourceRange
|
|
3283
|
+
turnId: str
|
|
3284
|
+
viewCursor: str
|
|
3285
|
+
|
|
3286
|
+
|
|
3287
|
+
class TurnModelRetryScheduledParams(_TurnModelRetryScheduledParamsBase, total=False):
|
|
3288
|
+
"""`turn/modelRetryScheduled` params: a durable model-stream retry-scheduled fact folded — the provider backoff behind one model attempt is observable BEFORE the turn terminates, so a streaming client can render \"system words · retrying in Ss · attempt N/M\" instead of dead air. Non-terminal: it never resolves a turn-wait. The sibling `turn/retryScheduled` shape at the model layer: same member names and semantics (attempt/nextAttempt/maxAttempts/ retryDelayMs/system/errorKind/httpStatus), minus `reason` — the row's words derive from `errorKind` through the shared gate-off mapping, and the recorded machine message is not user text. The delay is the recorded scheduled backoff, never an absolute fire time — clients derive any countdown locally. `sourceRange` cites the session stream's mirror of the task-lifecycle record."""
|
|
3289
|
+
|
|
3290
|
+
errorKind: str
|
|
3291
|
+
httpStatus: int
|
|
3292
|
+
system: str
|
|
3293
|
+
|
|
3294
|
+
|
|
3148
3295
|
class _TurnRefBase(TypedDict):
|
|
3149
3296
|
commandId: str
|
|
3150
3297
|
turnId: str
|
|
@@ -3796,6 +3943,7 @@ METHODS: Final[dict[str, MethodSpec]] = {
|
|
|
3796
3943
|
"session/promptHint": {"description": "Picks one feature-tip table id over the client-supplied candidates; display-only, nothing is logged.", "params": "SessionPromptHintParams", "result": "SessionPromptHintResult"},
|
|
3797
3944
|
"session/read": {"description": "Reads one stored session without attaching: no lease, no load, no subscription, no resume record.", "params": "SessionReadParams", "result": "SessionReadResult"},
|
|
3798
3945
|
"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"},
|
|
3946
|
+
"session/reportStartupPhases": {"description": "Reports the client's measured startup spans once per launch; the host appends the durable phases record as single writer.", "params": "SessionReportStartupPhasesParams", "result": "SessionReportStartupPhasesResult"},
|
|
3799
3947
|
"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"},
|
|
3800
3948
|
"session/setApprovalMode": {"description": "Selects a preconfigured approval enforcement mode mid-session; select, never create.", "params": "SessionSetApprovalModeParams", "result": "SessionSetApprovalModeResult"},
|
|
3801
3949
|
"session/setModel": {"description": "Reconfigures the session's model; the selection is durable and applies to subsequent model calls.", "params": "SessionSetModelParams", "result": "SessionSetModelResult"},
|
|
@@ -3850,6 +3998,7 @@ NOTIFICATIONS: Final[dict[str, NotificationSpec]] = {
|
|
|
3850
3998
|
"admission/resolved": {"description": "A peer admission settled.", "params": "AdmissionResolvedViewParams"},
|
|
3851
3999
|
"approval/requested": {"description": "An approval opened: the fold of its durable Requested record.", "params": "ApprovalRequestParams"},
|
|
3852
4000
|
"approval/resolved": {"description": "The first durable approval terminal landed; protected delivery.", "params": "ApprovalResolvedParams"},
|
|
4001
|
+
"approval/reviewing": {"description": "The native reviewer holds an approval: the fold of a Requested whose phase is automated_reviewing; typed activity, not a request.", "params": "ApprovalRequestParams"},
|
|
3853
4002
|
"approval/updated": {"description": "A non-terminal approval record changed the pending view.", "params": "ApprovalUpdatedParams"},
|
|
3854
4003
|
"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"},
|
|
3855
4004
|
"initialized": {"description": "Client-to-server notification closing the handshake; no params.", "params": None},
|
|
@@ -3882,6 +4031,7 @@ NOTIFICATIONS: Final[dict[str, NotificationSpec]] = {
|
|
|
3882
4031
|
"skill/changed": {"description": "The session's user-invocable skill set changed; clients re-issue skill/list. A live host-state projection, not a view event.", "params": "SkillChangedParams"},
|
|
3883
4032
|
"turn/completed": {"description": "Turn terminal: completed | failed | cancelled, with usage and the settled error object.", "params": "TurnCompletedParams"},
|
|
3884
4033
|
"turn/foregroundCompleted": {"description": "The turn's foreground work is done while named background reminder checks hold the turn open; explicitly non-terminal.", "params": "TurnForegroundCompletedParams"},
|
|
4034
|
+
"turn/modelRetryScheduled": {"description": "A provider backoff behind one model attempt is scheduled and waiting out its delay; observable mid-turn, non-terminal.", "params": "TurnModelRetryScheduledParams"},
|
|
3885
4035
|
"turn/retracted": {"description": "An accepted interrupt's paired retract durably settled, accepted or declined.", "params": "TurnRetractedParams"},
|
|
3886
4036
|
"turn/retryScheduled": {"description": "A failing model attempt's retry is scheduled and waiting out its backoff; observable mid-turn, non-terminal.", "params": "TurnRetryScheduledParams"},
|
|
3887
4037
|
"turn/started": {"description": "A foreground turn began running.", "params": "TurnStartedParams"},
|
|
@@ -3942,4 +4092,4 @@ ERRORS: Final[tuple[ErrorSpec, ...]] = (
|
|
|
3942
4092
|
{"code": -32072, "kind": "admissionChoiceInvalid", "retryable": False, "overrideKinds": ()},
|
|
3943
4093
|
)
|
|
3944
4094
|
|
|
3945
|
-
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "rawLog", "peerMessaging",)
|
|
4095
|
+
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename", "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.9
|
|
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
|