muse-code-msp 1.4.12__tar.gz → 1.4.14__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.12/src/muse_code_msp.egg-info → muse_code_msp-1.4.14}/PKG-INFO +1 -1
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/pyproject.toml +1 -1
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/src/muse_code_msp/__init__.py +114 -3
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/src/muse_code_msp/experimental/__init__.py +351 -7
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14/src/muse_code_msp.egg-info}/PKG-INFO +1 -1
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/LICENSE +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/README.md +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/setup.cfg +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/src/muse_code_msp/py.typed +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/src/muse_code_msp.egg-info/SOURCES.txt +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/src/muse_code_msp.egg-info/dependency_links.txt +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/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.14
|
|
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.14"
|
|
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:c94c3d1f2f51e6424074b9ec43eac3eedcf532d3dcd77351ec1383a87d3049c6"
|
|
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.14"
|
|
14
14
|
|
|
15
15
|
# How long a rule created by an approval decision lasts. The set is open, so newer hosts may send other values.
|
|
16
16
|
ApprovalAmendmentDurability = str # open enum: unknown values stay representable
|
|
@@ -121,6 +121,10 @@ FeedbackClassification = Literal["bug", "badResult", "goodResult", "other"]
|
|
|
121
121
|
FeedbackSubmitOutcome = str # open enum: unknown values stay representable
|
|
122
122
|
FEEDBACK_SUBMIT_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("uploaded", "recorded", "acceptedWithoutReceipt", "trackingFailed", "trackingUncertain", "dark", "disabled", "noCredential", "authRejected", "rateLimited", "failed",)
|
|
123
123
|
|
|
124
|
+
# What holds a tool call before it is admitted to execute. Open: a client reads an unknown value as held by something it does not know, never as released.
|
|
125
|
+
HeldFor = str # open enum: unknown values stay representable
|
|
126
|
+
HELD_FOR_KNOWN_VALUES: Final[tuple[str, ...]] = ("approval", "hook",)
|
|
127
|
+
|
|
124
128
|
# What history a lifecycle result actually served. Open on the client side: report-what-was-served means a client treats an unknown mode as "page it yourself".
|
|
125
129
|
HistoryMode = str # open enum: unknown values stay representable
|
|
126
130
|
HISTORY_MODE_KNOWN_VALUES: Final[tuple[str, ...]] = ("anchoredSnapshot", "inline", "snapshot", "none",)
|
|
@@ -149,7 +153,7 @@ IfBusy = Literal["queue", "steer", "replace"]
|
|
|
149
153
|
|
|
150
154
|
# The eleven v1 item kinds plus post-v1 kinds. Open: a new kind is additive evolution, and clients MUST render unknown kinds generically.
|
|
151
155
|
ItemKind = str # open enum: unknown values stay representable
|
|
152
|
-
ITEM_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("userMessage", "agentMessage", "reasoning", "toolCall", "userShell", "subagent", "workflow", "reminderChild", "compaction", "hookRun", "sideChat", "webSearch", "monitorFeed", "damagedRange", "scheduledFire", "backgroundTerminalCompletion", "overdueNotice",)
|
|
156
|
+
ITEM_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("userMessage", "agentMessage", "reasoning", "toolCall", "userShell", "subagent", "workflow", "reminderChild", "compaction", "hookRun", "sideChat", "webSearch", "monitorFeed", "damagedRange", "scheduledFire", "backgroundTerminalCompletion", "overdueNotice", "earlierHistory",)
|
|
153
157
|
|
|
154
158
|
# 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.
|
|
155
159
|
ItemReadOutputEncoding = Literal["utf8", "base64"]
|
|
@@ -238,6 +242,18 @@ RequestId = int | str
|
|
|
238
242
|
RetractOutcome = str # open enum: unknown values stay representable
|
|
239
243
|
RETRACT_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("accepted", "declined",)
|
|
240
244
|
|
|
245
|
+
# How a session's worktree is cleaned up. The set is open, so newer hosts may send other values.
|
|
246
|
+
RuntimeWorktreeCleanupPolicy = str # open enum: unknown values stay representable
|
|
247
|
+
RUNTIME_WORKTREE_CLEANUP_POLICY_KNOWN_VALUES: Final[tuple[str, ...]] = ("removeIfClean",)
|
|
248
|
+
|
|
249
|
+
# Where a session's worktree cleanup stands. The set is open, so newer hosts may send other values.
|
|
250
|
+
RuntimeWorktreeCleanupState = str # open enum: unknown values stay representable
|
|
251
|
+
RUNTIME_WORKTREE_CLEANUP_STATE_KNOWN_VALUES: Final[tuple[str, ...]] = ("active", "cleaned", "retained", "cleanupFailed",)
|
|
252
|
+
|
|
253
|
+
# Who owns a session's worktree. The set is open, so newer hosts may send other values.
|
|
254
|
+
RuntimeWorktreeOwnership = str # open enum: unknown values stay representable
|
|
255
|
+
RUNTIME_WORKTREE_OWNERSHIP_KNOWN_VALUES: Final[tuple[str, ...]] = ("runtimeOwned",)
|
|
256
|
+
|
|
241
257
|
# 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.
|
|
242
258
|
SandboxAvailability = str # open enum: unknown values stay representable
|
|
243
259
|
SANDBOX_AVAILABILITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("available", "unavailable",)
|
|
@@ -413,11 +429,31 @@ class ApprovalChoice(_ApprovalChoiceBase, total=False):
|
|
|
413
429
|
class ApprovalCuaCardFacts(TypedDict, total=False):
|
|
414
430
|
"""One Computer Use card's facts. Empty collections and absent rows are omitted, never `null`."""
|
|
415
431
|
|
|
432
|
+
data: list[ApprovalCuaDataFact]
|
|
416
433
|
page: ApprovalCuaPage
|
|
417
434
|
steps: list[ApprovalCuaStep]
|
|
418
435
|
windowTitle: str
|
|
419
436
|
|
|
420
437
|
|
|
438
|
+
class _ApprovalCuaDataFactBase(TypedDict):
|
|
439
|
+
kind: str
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
class ApprovalCuaDataFact(_ApprovalCuaDataFactBase, total=False):
|
|
443
|
+
"""One piece of data the call would send. An open union on `kind` (`secret`, or `other` for a row the host can't word); a client shows `other` and any kind it doesn't know as a generic data row."""
|
|
444
|
+
|
|
445
|
+
mask: ApprovalCuaMask
|
|
446
|
+
secretKind: str
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
class ApprovalCuaMask(TypedDict, total=False):
|
|
450
|
+
"""A secret's mask: a vendor token's prefix and last 4 characters (`ghp_…3f9a`), a named value's name and length (`password=… (12 chars)`), or the length alone; all absent names the kind only."""
|
|
451
|
+
|
|
452
|
+
chars: int
|
|
453
|
+
last4: str
|
|
454
|
+
prefix: str
|
|
455
|
+
|
|
456
|
+
|
|
421
457
|
class ApprovalCuaPage(TypedDict):
|
|
422
458
|
"""The page's full host, no path or query."""
|
|
423
459
|
|
|
@@ -517,6 +553,7 @@ class ApprovalRequestParams(_ApprovalRequestParamsBase, total=False):
|
|
|
517
553
|
"""Full params shared by `approval/request` and `approval/requested`."""
|
|
518
554
|
|
|
519
555
|
cuaCardFacts: ApprovalCuaCardFacts
|
|
556
|
+
reviewerReason: str
|
|
520
557
|
subagentOrigin: ApprovalSubagentOrigin
|
|
521
558
|
|
|
522
559
|
|
|
@@ -891,6 +928,19 @@ class DamagedRange(_DamagedRangeBase, total=False):
|
|
|
891
928
|
readableBeforeAt: str
|
|
892
929
|
|
|
893
930
|
|
|
931
|
+
class EarlierHistory(TypedDict):
|
|
932
|
+
"""`earlierHistory`: the boundary checkpoint's transcript tail, served in place of every item that opened in its pruned prefix. No log record carries it; the host derives it from the checkpoint."""
|
|
933
|
+
|
|
934
|
+
messages: list[EarlierHistoryMessage]
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
class EarlierHistoryMessage(TypedDict):
|
|
938
|
+
"""One transcript-tail message of an [`EarlierHistory`] item."""
|
|
939
|
+
|
|
940
|
+
role: str
|
|
941
|
+
text: str
|
|
942
|
+
|
|
943
|
+
|
|
894
944
|
class EffectiveApprovalModeState(TypedDict):
|
|
895
945
|
"""The effective approval-mode projection: the same object `session/setApprovalMode` returns as `effectiveMode` and the `Session` object carries as `approvalMode`."""
|
|
896
946
|
|
|
@@ -1161,6 +1211,7 @@ class Item(_ItemBase, total=False):
|
|
|
1161
1211
|
displayLabel: ToolDisplayLabel
|
|
1162
1212
|
displayText: str
|
|
1163
1213
|
durationMs: int
|
|
1214
|
+
earlierHistory: EarlierHistory
|
|
1164
1215
|
entryId: str
|
|
1165
1216
|
event: HookEventName
|
|
1166
1217
|
exitCode: int
|
|
@@ -1170,6 +1221,8 @@ class Item(_ItemBase, total=False):
|
|
|
1170
1221
|
fallbackText: str
|
|
1171
1222
|
finalSummary: str
|
|
1172
1223
|
generationId: int
|
|
1224
|
+
held: bool
|
|
1225
|
+
heldFor: HeldFor
|
|
1173
1226
|
hookKey: str
|
|
1174
1227
|
jobId: str
|
|
1175
1228
|
label: str
|
|
@@ -1189,6 +1242,7 @@ class Item(_ItemBase, total=False):
|
|
|
1189
1242
|
reason: str
|
|
1190
1243
|
recordedAt: str
|
|
1191
1244
|
reminderAgentId: str
|
|
1245
|
+
replayHint: ReplayHint
|
|
1192
1246
|
result: SubagentResult
|
|
1193
1247
|
resumeFromRunId: str
|
|
1194
1248
|
retracted: bool
|
|
@@ -1211,6 +1265,7 @@ class Item(_ItemBase, total=False):
|
|
|
1211
1265
|
summarizedThrough: str
|
|
1212
1266
|
summary: list[str]
|
|
1213
1267
|
taskId: str
|
|
1268
|
+
terminalRowAfterItemId: str
|
|
1214
1269
|
text: str
|
|
1215
1270
|
tokenBudget: WorkflowTokenBudget
|
|
1216
1271
|
tokensAfter: int
|
|
@@ -1223,6 +1278,8 @@ class Item(_ItemBase, total=False):
|
|
|
1223
1278
|
turnId: str | None
|
|
1224
1279
|
usage: TokenUsage
|
|
1225
1280
|
visibleOutput: str
|
|
1281
|
+
wakeSourceDescriptions: list[str]
|
|
1282
|
+
workId: str
|
|
1226
1283
|
workflowRunId: str
|
|
1227
1284
|
|
|
1228
1285
|
|
|
@@ -1684,6 +1741,18 @@ class PluginMarketplaceUpdateParams(TypedDict):
|
|
|
1684
1741
|
sessionId: str
|
|
1685
1742
|
|
|
1686
1743
|
|
|
1744
|
+
class _QueuedInputBase(TypedDict):
|
|
1745
|
+
sequence: int
|
|
1746
|
+
text: str
|
|
1747
|
+
|
|
1748
|
+
|
|
1749
|
+
class QueuedInput(_QueuedInputBase, total=False):
|
|
1750
|
+
"""One input still queued for delivery to a session: the full message body plus its log record sequence, the delivery-order and re-read dedupe key, plus the run-log record id clients join served entries against record-seeded rows by."""
|
|
1751
|
+
|
|
1752
|
+
sourceCommandId: str
|
|
1753
|
+
sourceRunRecordId: str
|
|
1754
|
+
|
|
1755
|
+
|
|
1687
1756
|
class QuotaDetail(TypedDict):
|
|
1688
1757
|
"""Typed quota-exhaustion detail: the limit kind plus the provider's reset instant."""
|
|
1689
1758
|
|
|
@@ -1758,6 +1827,13 @@ class RecoveryObservation(TypedDict):
|
|
|
1758
1827
|
sessionId: str
|
|
1759
1828
|
|
|
1760
1829
|
|
|
1830
|
+
class ReplayHint(TypedDict):
|
|
1831
|
+
"""The first-tree-transition hint verdict plus anchor: `rowKinds` is the open lowercase row-kind vocabulary the client formats through its shared kind-noun constructor; `afterItemId` is the item id after whose rows the hint renders. Both members always ride when the object does."""
|
|
1832
|
+
|
|
1833
|
+
afterItemId: str
|
|
1834
|
+
rowKinds: list[str]
|
|
1835
|
+
|
|
1836
|
+
|
|
1761
1837
|
class _RequestBase(TypedDict):
|
|
1762
1838
|
id: RequestId
|
|
1763
1839
|
jsonrpc: JsonRpcVersion
|
|
@@ -1777,6 +1853,18 @@ class RequestReceipt(TypedDict):
|
|
|
1777
1853
|
pass
|
|
1778
1854
|
|
|
1779
1855
|
|
|
1856
|
+
class RuntimeWorktree(TypedDict):
|
|
1857
|
+
"""The runtime-owned git worktree a child session runs in, mirrored from the `subagent.worktree.*` records on its parent's log. The three enums are open: clients treat an unknown value as unknown."""
|
|
1858
|
+
|
|
1859
|
+
baseCommit: str
|
|
1860
|
+
cleanupPolicy: RuntimeWorktreeCleanupPolicy
|
|
1861
|
+
cleanupState: RuntimeWorktreeCleanupState
|
|
1862
|
+
headCommit: str
|
|
1863
|
+
ownership: RuntimeWorktreeOwnership
|
|
1864
|
+
parentDirtyExcluded: bool
|
|
1865
|
+
worktreeRoot: str
|
|
1866
|
+
|
|
1867
|
+
|
|
1780
1868
|
class SchemaInfo(TypedDict):
|
|
1781
1869
|
"""The `schema` pair in [`InitializeResult`]. `version` is the wire **envelope** schema version — distinct from the session-view `schemaVersion`, the raw-log `schema_version`, and the 0.x/1.0 stability posture, which is not on the wire at all."""
|
|
1782
1870
|
|
|
@@ -1812,14 +1900,19 @@ class Session(_SessionBase, total=False):
|
|
|
1812
1900
|
attention: list[AttentionFlag]
|
|
1813
1901
|
branch: str
|
|
1814
1902
|
createdByClient: ClientInfo
|
|
1903
|
+
driveHolder: ClientInfo
|
|
1815
1904
|
firstUserPrompt: str
|
|
1816
1905
|
generatedName: str
|
|
1906
|
+
itemCount: int
|
|
1817
1907
|
kind: SessionKind
|
|
1818
1908
|
lastActivityAt: str
|
|
1909
|
+
logBytes: int
|
|
1819
1910
|
name: str
|
|
1820
1911
|
nameOrigin: SessionNameOrigin
|
|
1821
1912
|
parentSessionId: str
|
|
1913
|
+
resumedByClient: ClientInfo
|
|
1822
1914
|
sideFrom: SideProvenance | None
|
|
1915
|
+
spawnedBy: SessionSpawnedBy
|
|
1823
1916
|
title: str
|
|
1824
1917
|
|
|
1825
1918
|
|
|
@@ -2090,7 +2183,9 @@ class SessionReadResult(_SessionReadResultBase, total=False):
|
|
|
2090
2183
|
|
|
2091
2184
|
blockedPrompt: BlockedPrompt
|
|
2092
2185
|
lastTurn: LastTurn
|
|
2186
|
+
queuedInputs: list[QueuedInput]
|
|
2093
2187
|
recoveryObservation: RecoveryObservation
|
|
2188
|
+
worktree: RuntimeWorktree
|
|
2094
2189
|
|
|
2095
2190
|
|
|
2096
2191
|
class SessionReasoningEffortChangedParams(TypedDict):
|
|
@@ -2134,6 +2229,7 @@ class SessionResumeParams(_SessionResumeParamsBase, total=False):
|
|
|
2134
2229
|
cursor: str | None
|
|
2135
2230
|
excludeItems: bool
|
|
2136
2231
|
history: HistoryPreference
|
|
2232
|
+
modelId: str
|
|
2137
2233
|
permissionProfile: str
|
|
2138
2234
|
recoveryMode: RecoveryMode
|
|
2139
2235
|
|
|
@@ -2215,6 +2311,17 @@ class SessionSideChatResult(TypedDict):
|
|
|
2215
2311
|
viewCursor: str
|
|
2216
2312
|
|
|
2217
2313
|
|
|
2314
|
+
class _SessionSpawnedByBase(TypedDict):
|
|
2315
|
+
parentSessionId: str
|
|
2316
|
+
|
|
2317
|
+
|
|
2318
|
+
class SessionSpawnedBy(_SessionSpawnedByBase, total=False):
|
|
2319
|
+
"""Who opened a session."""
|
|
2320
|
+
|
|
2321
|
+
project: str
|
|
2322
|
+
thread: str
|
|
2323
|
+
|
|
2324
|
+
|
|
2218
2325
|
class _SessionStartParamsBase(TypedDict):
|
|
2219
2326
|
commandId: str
|
|
2220
2327
|
|
|
@@ -2226,9 +2333,11 @@ class SessionStartParams(_SessionStartParamsBase, total=False):
|
|
|
2226
2333
|
config: SessionConfig
|
|
2227
2334
|
modelId: str
|
|
2228
2335
|
permissionProfile: str
|
|
2336
|
+
previousSessionId: str
|
|
2229
2337
|
providerId: str | None
|
|
2230
2338
|
recoveryMode: RecoveryMode
|
|
2231
2339
|
sessionId: str
|
|
2340
|
+
spawnedBy: SessionSpawnedBy
|
|
2232
2341
|
workspaceRoot: str
|
|
2233
2342
|
workspaceRoots: list[str]
|
|
2234
2343
|
|
|
@@ -2769,6 +2878,7 @@ class TurnError(_TurnErrorBase, total=False):
|
|
|
2769
2878
|
"""The settled turn-failure object: `{kind, message, retryable}`."""
|
|
2770
2879
|
|
|
2771
2880
|
quota: QuotaDetail
|
|
2881
|
+
requestDenied: bool
|
|
2772
2882
|
|
|
2773
2883
|
|
|
2774
2884
|
class TurnForegroundCompletedParams(TypedDict):
|
|
@@ -3193,6 +3303,7 @@ class ViewPageParams(_ViewPageParamsBase, total=False):
|
|
|
3193
3303
|
anchor: ViewPageAnchor
|
|
3194
3304
|
cursor: str
|
|
3195
3305
|
direction: ViewPageDirection
|
|
3306
|
+
maxBytes: int
|
|
3196
3307
|
|
|
3197
3308
|
|
|
3198
3309
|
class ViewPageResolvedAnchor(TypedDict):
|
|
@@ -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:159e01dd32c37f5ad711225aa1840dbca653e346fd83bed7f3b2b9ea49b40aa7"
|
|
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.14"
|
|
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
|
|
@@ -76,7 +76,7 @@ BACKGROUND_STATE_KNOWN_VALUES: Final[tuple[str, ...]] = ("backgrounded",)
|
|
|
76
76
|
|
|
77
77
|
# A grantable capability name. Open: the experimental-only `rawLog` entry joins the stable domain as an additive open-enum extension when it graduates — closed would make that a retype.
|
|
78
78
|
CapabilityName = str # open enum: unknown values stay representable
|
|
79
|
-
CAPABILITY_NAME_KNOWN_VALUES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename", "peerMessaging", "rawLog", "rawLogPhysical",)
|
|
79
|
+
CAPABILITY_NAME_KNOWN_VALUES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename", "peerMessaging", "rawLog", "rawLogPhysical", "daemonVacate",)
|
|
80
80
|
|
|
81
81
|
# 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.
|
|
82
82
|
CodeModeLanguage = str # open enum: unknown values stay representable
|
|
@@ -129,9 +129,21 @@ COMPUTER_USE_SETUP_PHASE_KNOWN_VALUES: Final[tuple[str, ...]] = ("dormant", "inP
|
|
|
129
129
|
ContextPressureLevel = str # open enum: unknown values stay representable
|
|
130
130
|
CONTEXT_PRESSURE_LEVEL_KNOWN_VALUES: Final[tuple[str, ...]] = ("normal", "warning", "blocked",)
|
|
131
131
|
|
|
132
|
+
# Why a session's drive holder changed. **Open**: a newer host may add a reason; a client keeps an unknown word and treats the frame as a holder change. No `started`: every `session/start`, `fork` and `sideChat` already broadcasts `session/started`, and the starter drives by construction.
|
|
133
|
+
DriveChangedReason = str # open enum: unknown values stay representable
|
|
134
|
+
DRIVE_CHANGED_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("requested", "released", "resumed", "lapsed",)
|
|
135
|
+
|
|
136
|
+
# The answer to a drive release. **Open**: a newer host may add a status; a client keeps an unknown word and treats it as "not released".
|
|
137
|
+
DriveReleaseStatus = str # open enum: unknown values stay representable
|
|
138
|
+
DRIVE_RELEASE_STATUS_KNOWN_VALUES: Final[tuple[str, ...]] = ("released", "busy",)
|
|
139
|
+
|
|
140
|
+
# The answer to a drive request. **Open**: a newer host may add a status; a client keeps an unknown word and treats it as "not granted".
|
|
141
|
+
DriveRequestStatus = str # open enum: unknown values stay representable
|
|
142
|
+
DRIVE_REQUEST_STATUS_KNOWN_VALUES: Final[tuple[str, ...]] = ("granted", "busy",)
|
|
143
|
+
|
|
132
144
|
# A stable `error.data.kind` category: camelCase, the value clients branch on. Open: new kinds are added as their methods land, and a new `kind` is additive only because this domain is declared open.
|
|
133
145
|
ErrorKind = str # open enum: unknown values stay representable
|
|
134
|
-
ERROR_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("parseError", "invalidRequest", "notInitialized", "alreadyInitialized", "methodNotFound", "invalidParams", "experimentalRequired", "internal", "pageEventTooLarge", "outputResultTooLarge", "overloaded", "inputTooLarge", "capabilityRequired", "notFound", "interrupted", "cancelled", "sessionNotFound", "sessionInUse", "sessionAmbiguous", "forkBoundaryInvalid", "sessionNotLoaded", "sessionStreamMismatch", "commandRejected", "backpressured", "skillNotFound", "computerUseUnavailable", "marketplaceNotFound", "pluginNotFound", "marketplaceAlreadyExists", "pluginMutationsDisabled", "uploadNotFound", "viewTruncated", "outputUnavailable", "boundaryPruned", "boundaryUnusable", "noBoundary", "approvalNotFound", "approvalAlreadyResolved", "approvalChoiceInvalid", "approvalRequirementStale", "approvalReviewerUnavailable", "userInputNotFound", "userInputAlreadySettled", "userInputAnswerInvalid", "limitsAboveMax", "workspaceNotTrusted", "missingAnchor", "prunedPrefix", "wrongStream", "unknownStream", "unknownProjection", "admissionNotFound", "admissionAlreadyResolved", "admissionChoiceInvalid",)
|
|
146
|
+
ERROR_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("parseError", "invalidRequest", "notInitialized", "alreadyInitialized", "methodNotFound", "invalidParams", "experimentalRequired", "internal", "pageEventTooLarge", "outputResultTooLarge", "overloaded", "inputTooLarge", "capabilityRequired", "notFound", "interrupted", "cancelled", "sessionNotFound", "sessionInUse", "sessionAmbiguous", "forkBoundaryInvalid", "sessionNotLoaded", "sessionStreamMismatch", "commandRejected", "backpressured", "skillNotFound", "computerUseUnavailable", "marketplaceNotFound", "pluginNotFound", "marketplaceAlreadyExists", "pluginMutationsDisabled", "uploadNotFound", "viewTruncated", "outputUnavailable", "boundaryPruned", "boundaryUnusable", "noBoundary", "approvalNotFound", "approvalAlreadyResolved", "approvalChoiceInvalid", "approvalRequirementStale", "approvalReviewerUnavailable", "userInputNotFound", "userInputAlreadySettled", "userInputAnswerInvalid", "daemonDraining", "limitsAboveMax", "workspaceNotTrusted", "missingAnchor", "prunedPrefix", "wrongStream", "unknownStream", "unknownProjection", "admissionNotFound", "admissionAlreadyResolved", "admissionChoiceInvalid", "usageRefreshRateLimited", "usageRefreshUnavailable", "usageRefreshFailed",)
|
|
135
147
|
|
|
136
148
|
# `feedback/submit` classification: the four TUI classes in camelCase wire spelling. **Closed**: a client-selected param vocabulary.
|
|
137
149
|
FeedbackClassification = Literal["bug", "badResult", "goodResult", "other"]
|
|
@@ -140,6 +152,10 @@ FeedbackClassification = Literal["bug", "badResult", "goodResult", "other"]
|
|
|
140
152
|
FeedbackSubmitOutcome = str # open enum: unknown values stay representable
|
|
141
153
|
FEEDBACK_SUBMIT_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("uploaded", "recorded", "acceptedWithoutReceipt", "trackingFailed", "trackingUncertain", "dark", "disabled", "noCredential", "authRejected", "rateLimited", "failed",)
|
|
142
154
|
|
|
155
|
+
# What holds a tool call before it is admitted to execute. Open: a client reads an unknown value as held by something it does not know, never as released.
|
|
156
|
+
HeldFor = str # open enum: unknown values stay representable
|
|
157
|
+
HELD_FOR_KNOWN_VALUES: Final[tuple[str, ...]] = ("approval", "hook",)
|
|
158
|
+
|
|
143
159
|
# What history a lifecycle result actually served. Open on the client side: report-what-was-served means a client treats an unknown mode as "page it yourself".
|
|
144
160
|
HistoryMode = str # open enum: unknown values stay representable
|
|
145
161
|
HISTORY_MODE_KNOWN_VALUES: Final[tuple[str, ...]] = ("anchoredSnapshot", "inline", "snapshot", "none",)
|
|
@@ -168,7 +184,7 @@ IfBusy = Literal["queue", "steer", "replace"]
|
|
|
168
184
|
|
|
169
185
|
# The eleven v1 item kinds plus post-v1 kinds. Open: a new kind is additive evolution, and clients MUST render unknown kinds generically.
|
|
170
186
|
ItemKind = str # open enum: unknown values stay representable
|
|
171
|
-
ITEM_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("userMessage", "agentMessage", "reasoning", "toolCall", "userShell", "subagent", "workflow", "reminderChild", "compaction", "hookRun", "sideChat", "webSearch", "monitorFeed", "damagedRange", "scheduledFire", "backgroundTerminalCompletion", "overdueNotice", "skillRead",)
|
|
187
|
+
ITEM_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("userMessage", "agentMessage", "reasoning", "toolCall", "userShell", "subagent", "workflow", "reminderChild", "compaction", "hookRun", "sideChat", "webSearch", "monitorFeed", "damagedRange", "scheduledFire", "backgroundTerminalCompletion", "overdueNotice", "earlierHistory", "skillRead",)
|
|
172
188
|
|
|
173
189
|
# 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.
|
|
174
190
|
ItemReadOutputEncoding = Literal["utf8", "base64"]
|
|
@@ -227,6 +243,28 @@ MODEL_CHANGE_SOURCE_KNOWN_VALUES: Final[tuple[str, ...]] = ("user", "default", "
|
|
|
227
243
|
OutputRefAvailability = str # open enum: unknown values stay representable
|
|
228
244
|
OUTPUT_REF_AVAILABILITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("available", "missing", "unsupported", "accessFailed",)
|
|
229
245
|
|
|
246
|
+
# Whether the owning lane is alive. **Open**: a newer host's state decodes to `Unknown`.
|
|
247
|
+
PeerMessageOwnerState = str # open enum: unknown values stay representable
|
|
248
|
+
PEER_MESSAGE_OWNER_STATE_KNOWN_VALUES: Final[tuple[str, ...]] = ("owned", "gone",)
|
|
249
|
+
|
|
250
|
+
# How the sender generation's code identity was established. **Open**: a newer host's identity decodes to `Unknown`.
|
|
251
|
+
PeerOriginCodeIdentity = str # open enum: unknown values stay representable
|
|
252
|
+
PEER_ORIGIN_CODE_IDENTITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("verifiedMacosCli", "unverifiedKernelPeer",)
|
|
253
|
+
|
|
254
|
+
# The sender generation's platform. **Open**: a newer host's platform decodes to `Unknown`.
|
|
255
|
+
PeerOriginPlatform = str # open enum: unknown values stay representable
|
|
256
|
+
PEER_ORIGIN_PLATFORM_KNOWN_VALUES: Final[tuple[str, ...]] = ("linux", "macos",)
|
|
257
|
+
|
|
258
|
+
# A connected-sender decision kind, spelled with the decision ids that `admission/resolved` uses for the same decisions. **Open**: a server-produced result vocabulary, so a word this build does not know decodes to `Unknown` instead of failing the page.
|
|
259
|
+
PeerSettlementDecisionKind = str # open enum: unknown values stay representable
|
|
260
|
+
PEER_SETTLEMENT_DECISION_KIND_KNOWN_VALUES: Final[tuple[str, ...]] = ("allow_connected", "reject_once", "block_connected",)
|
|
261
|
+
|
|
262
|
+
# Which kind of sender origin a settlement belongs to. **Closed**: the receiver timeline keys on exactly these two.
|
|
263
|
+
PeerSettlementOriginKind = Literal["authenticated", "nonCoalescing"]
|
|
264
|
+
|
|
265
|
+
# Which kind of released message an outcome shows. **Closed**: the receiver timeline renders exactly these two.
|
|
266
|
+
PeerSettlementOutcomeKind = Literal["normal", "allow_once"]
|
|
267
|
+
|
|
230
268
|
# `peer/list` row `status`: the `LocalSessionStatus` vocabulary. **Open**: a server-produced result vocabulary.
|
|
231
269
|
PeerStatus = str # open enum: unknown values stay representable
|
|
232
270
|
PEER_STATUS_KNOWN_VALUES: Final[tuple[str, ...]] = ("idle", "active", "busy", "closing", "stale", "unknown",)
|
|
@@ -320,6 +358,22 @@ RETRACT_OUTCOME_KNOWN_VALUES: Final[tuple[str, ...]] = ("accepted", "declined",)
|
|
|
320
358
|
ReviewerAuthority = str # open enum: unknown values stay representable
|
|
321
359
|
REVIEWER_AUTHORITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("autoReview", "human", "none",)
|
|
322
360
|
|
|
361
|
+
# Which kind of process runs a session elsewhere on this machine. **Open**: a new origin is additive evolution, and a client MUST treat an unknown value as an unknown-but-present origin rather than rejecting the row.
|
|
362
|
+
RunningElsewhereOrigin = str # open enum: unknown values stay representable
|
|
363
|
+
RUNNING_ELSEWHERE_ORIGIN_KNOWN_VALUES: Final[tuple[str, ...]] = ("tui", "exec", "serve",)
|
|
364
|
+
|
|
365
|
+
# How a session's worktree is cleaned up. The set is open, so newer hosts may send other values.
|
|
366
|
+
RuntimeWorktreeCleanupPolicy = str # open enum: unknown values stay representable
|
|
367
|
+
RUNTIME_WORKTREE_CLEANUP_POLICY_KNOWN_VALUES: Final[tuple[str, ...]] = ("removeIfClean",)
|
|
368
|
+
|
|
369
|
+
# Where a session's worktree cleanup stands. The set is open, so newer hosts may send other values.
|
|
370
|
+
RuntimeWorktreeCleanupState = str # open enum: unknown values stay representable
|
|
371
|
+
RUNTIME_WORKTREE_CLEANUP_STATE_KNOWN_VALUES: Final[tuple[str, ...]] = ("active", "cleaned", "retained", "cleanupFailed",)
|
|
372
|
+
|
|
373
|
+
# Who owns a session's worktree. The set is open, so newer hosts may send other values.
|
|
374
|
+
RuntimeWorktreeOwnership = str # open enum: unknown values stay representable
|
|
375
|
+
RUNTIME_WORKTREE_OWNERSHIP_KNOWN_VALUES: Final[tuple[str, ...]] = ("runtimeOwned",)
|
|
376
|
+
|
|
323
377
|
# 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.
|
|
324
378
|
SandboxAvailability = str # open enum: unknown values stay representable
|
|
325
379
|
SANDBOX_AVAILABILITY_KNOWN_VALUES: Final[tuple[str, ...]] = ("available", "unavailable",)
|
|
@@ -330,7 +384,7 @@ SANDBOX_UNAVAILABLE_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("userNamespac
|
|
|
330
384
|
|
|
331
385
|
# 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.
|
|
332
386
|
SessionClosedReason = str # open enum: unknown values stay representable
|
|
333
|
-
SESSION_CLOSED_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("idle", "hostShutdown", "leave",)
|
|
387
|
+
SESSION_CLOSED_REASON_KNOWN_VALUES: Final[tuple[str, ...]] = ("idle", "hostShutdown", "leave", "vacated",)
|
|
334
388
|
|
|
335
389
|
# Whether this host writes its sessions to disk. A property of the host process, fixed 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: the unrepresented degraded state has candidate resolutions that add a third value here, so closed would make that a breaking change.
|
|
336
390
|
SessionDurability = str # open enum: unknown values stay representable
|
|
@@ -468,6 +522,12 @@ LimitsAxisValue = bool | LimitsNetworkMode
|
|
|
468
522
|
# A complete ordered effort set, or an explicit unknown capability.
|
|
469
523
|
ModelReasoningEffortVariants = list[ReasoningEffort] | UnknownModelReasoningEffortVariants
|
|
470
524
|
|
|
525
|
+
class AbnormalEnd(TypedDict, total=False):
|
|
526
|
+
"""`abnormalEnd` on `session/resume`: the load found the session's latest serve segment without a clean end and recorded (or had already recorded) the `crash_inferred` backstop."""
|
|
527
|
+
|
|
528
|
+
lastActivityAt: str
|
|
529
|
+
|
|
530
|
+
|
|
471
531
|
class AccountLoginCancelResult(TypedDict):
|
|
472
532
|
"""`account/loginCancel` result: exactly `{cancelled}` — `true` iff a pending flow existed and was cancelled."""
|
|
473
533
|
|
|
@@ -653,11 +713,31 @@ class ApprovalChoice(_ApprovalChoiceBase, total=False):
|
|
|
653
713
|
class ApprovalCuaCardFacts(TypedDict, total=False):
|
|
654
714
|
"""One Computer Use card's facts. Empty collections and absent rows are omitted, never `null`."""
|
|
655
715
|
|
|
716
|
+
data: list[ApprovalCuaDataFact]
|
|
656
717
|
page: ApprovalCuaPage
|
|
657
718
|
steps: list[ApprovalCuaStep]
|
|
658
719
|
windowTitle: str
|
|
659
720
|
|
|
660
721
|
|
|
722
|
+
class _ApprovalCuaDataFactBase(TypedDict):
|
|
723
|
+
kind: str
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
class ApprovalCuaDataFact(_ApprovalCuaDataFactBase, total=False):
|
|
727
|
+
"""One piece of data the call would send. An open union on `kind` (`secret`, or `other` for a row the host can't word); a client shows `other` and any kind it doesn't know as a generic data row."""
|
|
728
|
+
|
|
729
|
+
mask: ApprovalCuaMask
|
|
730
|
+
secretKind: str
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
class ApprovalCuaMask(TypedDict, total=False):
|
|
734
|
+
"""A secret's mask: a vendor token's prefix and last 4 characters (`ghp_…3f9a`), a named value's name and length (`password=… (12 chars)`), or the length alone; all absent names the kind only."""
|
|
735
|
+
|
|
736
|
+
chars: int
|
|
737
|
+
last4: str
|
|
738
|
+
prefix: str
|
|
739
|
+
|
|
740
|
+
|
|
661
741
|
class ApprovalCuaPage(TypedDict):
|
|
662
742
|
"""The page's full host, no path or query."""
|
|
663
743
|
|
|
@@ -757,6 +837,7 @@ class ApprovalRequestParams(_ApprovalRequestParamsBase, total=False):
|
|
|
757
837
|
"""Full params shared by `approval/request` and `approval/requested`."""
|
|
758
838
|
|
|
759
839
|
cuaCardFacts: ApprovalCuaCardFacts
|
|
840
|
+
reviewerReason: str
|
|
760
841
|
subagentOrigin: ApprovalSubagentOrigin
|
|
761
842
|
|
|
762
843
|
|
|
@@ -1141,6 +1222,19 @@ class DamagedRange(_DamagedRangeBase, total=False):
|
|
|
1141
1222
|
readableBeforeAt: str
|
|
1142
1223
|
|
|
1143
1224
|
|
|
1225
|
+
class EarlierHistory(TypedDict):
|
|
1226
|
+
"""`earlierHistory`: the boundary checkpoint's transcript tail, served in place of every item that opened in its pruned prefix. No log record carries it; the host derives it from the checkpoint."""
|
|
1227
|
+
|
|
1228
|
+
messages: list[EarlierHistoryMessage]
|
|
1229
|
+
|
|
1230
|
+
|
|
1231
|
+
class EarlierHistoryMessage(TypedDict):
|
|
1232
|
+
"""One transcript-tail message of an [`EarlierHistory`] item."""
|
|
1233
|
+
|
|
1234
|
+
role: str
|
|
1235
|
+
text: str
|
|
1236
|
+
|
|
1237
|
+
|
|
1144
1238
|
class EffectiveApprovalModeState(TypedDict):
|
|
1145
1239
|
"""The effective approval-mode projection: the same object `session/setApprovalMode` returns as `effectiveMode` and the `Session` object carries as `approvalMode`."""
|
|
1146
1240
|
|
|
@@ -1193,6 +1287,7 @@ class ErrorData(_ErrorDataBase, total=False):
|
|
|
1193
1287
|
descriptor: str
|
|
1194
1288
|
details: dict[str, Any]
|
|
1195
1289
|
earliestCursor: str | None
|
|
1290
|
+
failureKind: str
|
|
1196
1291
|
index: int
|
|
1197
1292
|
itemId: str
|
|
1198
1293
|
keyPath: str
|
|
@@ -1210,6 +1305,7 @@ class ErrorData(_ErrorDataBase, total=False):
|
|
|
1210
1305
|
recoveryObservation: RecoveryObservation
|
|
1211
1306
|
requestedStream: StreamRef
|
|
1212
1307
|
resolution: ApprovalResolutionSummary
|
|
1308
|
+
retryAfterMs: int
|
|
1213
1309
|
retryable: bool
|
|
1214
1310
|
seedFallbackReason: str
|
|
1215
1311
|
seedPath: str
|
|
@@ -1444,6 +1540,7 @@ class Item(_ItemBase, total=False):
|
|
|
1444
1540
|
displayLabel: ToolDisplayLabel
|
|
1445
1541
|
displayText: str
|
|
1446
1542
|
durationMs: int
|
|
1543
|
+
earlierHistory: EarlierHistory
|
|
1447
1544
|
entryId: str
|
|
1448
1545
|
event: HookEventName
|
|
1449
1546
|
exitCode: int
|
|
@@ -1453,6 +1550,9 @@ class Item(_ItemBase, total=False):
|
|
|
1453
1550
|
fallbackText: str
|
|
1454
1551
|
finalSummary: str
|
|
1455
1552
|
generationId: int
|
|
1553
|
+
held: bool
|
|
1554
|
+
heldFor: HeldFor
|
|
1555
|
+
historyUnreadable: bool
|
|
1456
1556
|
hookKey: str
|
|
1457
1557
|
jobId: str
|
|
1458
1558
|
label: str
|
|
@@ -1476,6 +1576,7 @@ class Item(_ItemBase, total=False):
|
|
|
1476
1576
|
reason: str
|
|
1477
1577
|
recordedAt: str
|
|
1478
1578
|
reminderAgentId: str
|
|
1579
|
+
replayHint: ReplayHint
|
|
1479
1580
|
result: SubagentResult
|
|
1480
1581
|
results: list[WebSearchHit]
|
|
1481
1582
|
resumeFromRunId: str
|
|
@@ -1501,6 +1602,7 @@ class Item(_ItemBase, total=False):
|
|
|
1501
1602
|
summarizedThrough: str
|
|
1502
1603
|
summary: list[str]
|
|
1503
1604
|
taskId: str
|
|
1605
|
+
terminalRowAfterItemId: str
|
|
1504
1606
|
text: str
|
|
1505
1607
|
tokenBudget: WorkflowTokenBudget
|
|
1506
1608
|
tokensAfter: int
|
|
@@ -1514,6 +1616,8 @@ class Item(_ItemBase, total=False):
|
|
|
1514
1616
|
url: str
|
|
1515
1617
|
usage: TokenUsage
|
|
1516
1618
|
visibleOutput: str
|
|
1619
|
+
wakeSourceDescriptions: list[str]
|
|
1620
|
+
workId: str
|
|
1517
1621
|
workflowRunId: str
|
|
1518
1622
|
|
|
1519
1623
|
|
|
@@ -2031,6 +2135,38 @@ class PeerListResult(TypedDict):
|
|
|
2031
2135
|
sessionId: str
|
|
2032
2136
|
|
|
2033
2137
|
|
|
2138
|
+
class PeerMessageDisplayContext(TypedDict, total=False):
|
|
2139
|
+
"""The connector presentation facts of a forwarded message, every member optional."""
|
|
2140
|
+
|
|
2141
|
+
conversationKey: str
|
|
2142
|
+
inbox: str
|
|
2143
|
+
lane: str
|
|
2144
|
+
mailboxId: str
|
|
2145
|
+
owner: PeerMessageOwner
|
|
2146
|
+
relayContext: dict[str, Any]
|
|
2147
|
+
senderDisplayName: str
|
|
2148
|
+
transport: str
|
|
2149
|
+
transportMessageId: str
|
|
2150
|
+
|
|
2151
|
+
|
|
2152
|
+
class PeerMessageOwner(TypedDict):
|
|
2153
|
+
"""Which coordinator lane owns the forwarded conversation."""
|
|
2154
|
+
|
|
2155
|
+
laneSession: str
|
|
2156
|
+
state: PeerMessageOwnerState
|
|
2157
|
+
|
|
2158
|
+
|
|
2159
|
+
class PeerOriginGeneration(TypedDict):
|
|
2160
|
+
"""An authenticated sender process generation."""
|
|
2161
|
+
|
|
2162
|
+
bootInstance: str
|
|
2163
|
+
codeIdentity: PeerOriginCodeIdentity
|
|
2164
|
+
pid: int
|
|
2165
|
+
platform: PeerOriginPlatform
|
|
2166
|
+
processInstance: str
|
|
2167
|
+
uid: int
|
|
2168
|
+
|
|
2169
|
+
|
|
2034
2170
|
class PeerRow(TypedDict):
|
|
2035
2171
|
"""One `peer/list` row: local rows only — no `discoverySource`, no mailbox rows, no `host`."""
|
|
2036
2172
|
|
|
@@ -2042,6 +2178,93 @@ class PeerRow(TypedDict):
|
|
|
2042
2178
|
status: PeerStatus
|
|
2043
2179
|
|
|
2044
2180
|
|
|
2181
|
+
class _PeerSettlementBase(TypedDict):
|
|
2182
|
+
outcomes: list[PeerSettlementOutcome | None]
|
|
2183
|
+
position: PeerSettlementPosition
|
|
2184
|
+
|
|
2185
|
+
|
|
2186
|
+
class PeerSettlement(_PeerSettlementBase, total=False):
|
|
2187
|
+
"""One settlement: an optional admission decision plus the outcome of each message the settlement released, in order."""
|
|
2188
|
+
|
|
2189
|
+
decision: PeerSettlementDecision
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
class _PeerSettlementDecisionBase(TypedDict):
|
|
2193
|
+
decisionId: str
|
|
2194
|
+
kind: PeerSettlementDecisionKind
|
|
2195
|
+
origin: PeerSettlementOrigin
|
|
2196
|
+
senderLabel: str
|
|
2197
|
+
|
|
2198
|
+
|
|
2199
|
+
class PeerSettlementDecision(_PeerSettlementDecisionBase, total=False):
|
|
2200
|
+
"""The admission decision a settlement records."""
|
|
2201
|
+
|
|
2202
|
+
senderSessionId: str
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
class _PeerSettlementOriginBase(TypedDict):
|
|
2206
|
+
kind: PeerSettlementOriginKind
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
class PeerSettlementOrigin(_PeerSettlementOriginBase, total=False):
|
|
2210
|
+
"""The sender origin a settlement belongs to. Rows with the same authenticated generation coalesce on the timeline; a non-coalescing origin never coalesces with another. A flat object rather than a tagged union so the experimental gate can key every member."""
|
|
2211
|
+
|
|
2212
|
+
generation: PeerOriginGeneration
|
|
2213
|
+
value: str
|
|
2214
|
+
|
|
2215
|
+
|
|
2216
|
+
class _PeerSettlementOutcomeBase(TypedDict):
|
|
2217
|
+
body: str
|
|
2218
|
+
itemId: str
|
|
2219
|
+
kind: PeerSettlementOutcomeKind
|
|
2220
|
+
messageId: str
|
|
2221
|
+
origin: PeerSettlementOrigin
|
|
2222
|
+
senderLabel: str
|
|
2223
|
+
|
|
2224
|
+
|
|
2225
|
+
class PeerSettlementOutcome(_PeerSettlementOutcomeBase, total=False):
|
|
2226
|
+
"""What one released message shows on the receiver timeline. A flat object rather than a tagged union so the experimental gate can key every member."""
|
|
2227
|
+
|
|
2228
|
+
decisionId: str
|
|
2229
|
+
displayContext: PeerMessageDisplayContext
|
|
2230
|
+
senderSessionId: str
|
|
2231
|
+
settledAtUs: int
|
|
2232
|
+
|
|
2233
|
+
|
|
2234
|
+
class PeerSettlementPosition(TypedDict):
|
|
2235
|
+
"""A settlement's position in the receiving session's log: the settlement record's id and its stream sequence. Clients treat it as an opaque cursor that orders by `sequence`."""
|
|
2236
|
+
|
|
2237
|
+
id: str
|
|
2238
|
+
sequence: int
|
|
2239
|
+
|
|
2240
|
+
|
|
2241
|
+
class PeerSettlementsChangedParams(TypedDict):
|
|
2242
|
+
"""`peer/settlementsChanged` params: a non-view notification to the receiving session's connections. `revision` grows by at least one per committed settlement batch; it is a wake hint, not a cursor, and the client reads `peer/settlements` from its own cursor."""
|
|
2243
|
+
|
|
2244
|
+
revision: int
|
|
2245
|
+
sessionId: str
|
|
2246
|
+
|
|
2247
|
+
|
|
2248
|
+
class _PeerSettlementsParamsBase(TypedDict):
|
|
2249
|
+
sessionId: str
|
|
2250
|
+
|
|
2251
|
+
|
|
2252
|
+
class PeerSettlementsParams(_PeerSettlementsParamsBase, total=False):
|
|
2253
|
+
"""`peer/settlements` params. Unknown fields are `invalidParams`."""
|
|
2254
|
+
|
|
2255
|
+
after: PeerSettlementPosition
|
|
2256
|
+
limit: int
|
|
2257
|
+
|
|
2258
|
+
|
|
2259
|
+
class PeerSettlementsResult(TypedDict):
|
|
2260
|
+
"""`peer/settlements` result: one page, ascending by position."""
|
|
2261
|
+
|
|
2262
|
+
requestedAfter: PeerSettlementPosition | None
|
|
2263
|
+
sessionId: str
|
|
2264
|
+
settlements: list[PeerSettlement]
|
|
2265
|
+
through: PeerSettlementPosition | None
|
|
2266
|
+
|
|
2267
|
+
|
|
2045
2268
|
class _PendingApprovalPointerBase(TypedDict):
|
|
2046
2269
|
approvalId: str
|
|
2047
2270
|
viewCursor: str
|
|
@@ -2323,6 +2546,18 @@ class ProjectionReadResult(TypedDict):
|
|
|
2323
2546
|
state: dict[str, Any]
|
|
2324
2547
|
|
|
2325
2548
|
|
|
2549
|
+
class _QueuedInputBase(TypedDict):
|
|
2550
|
+
sequence: int
|
|
2551
|
+
text: str
|
|
2552
|
+
|
|
2553
|
+
|
|
2554
|
+
class QueuedInput(_QueuedInputBase, total=False):
|
|
2555
|
+
"""One input still queued for delivery to a session: the full message body plus its log record sequence, the delivery-order and re-read dedupe key, plus the run-log record id clients join served entries against record-seeded rows by."""
|
|
2556
|
+
|
|
2557
|
+
sourceCommandId: str
|
|
2558
|
+
sourceRunRecordId: str
|
|
2559
|
+
|
|
2560
|
+
|
|
2326
2561
|
class QuotaDetail(TypedDict):
|
|
2327
2562
|
"""Typed quota-exhaustion detail: the limit kind plus the provider's reset instant."""
|
|
2328
2563
|
|
|
@@ -2420,6 +2655,13 @@ class RecoveryObservation(TypedDict):
|
|
|
2420
2655
|
sessionId: str
|
|
2421
2656
|
|
|
2422
2657
|
|
|
2658
|
+
class ReplayHint(TypedDict):
|
|
2659
|
+
"""The first-tree-transition hint verdict plus anchor: `rowKinds` is the open lowercase row-kind vocabulary the client formats through its shared kind-noun constructor; `afterItemId` is the item id after whose rows the hint renders. Both members always ride when the object does."""
|
|
2660
|
+
|
|
2661
|
+
afterItemId: str
|
|
2662
|
+
rowKinds: list[str]
|
|
2663
|
+
|
|
2664
|
+
|
|
2423
2665
|
class _RequestBase(TypedDict):
|
|
2424
2666
|
id: RequestId
|
|
2425
2667
|
jsonrpc: JsonRpcVersion
|
|
@@ -2439,6 +2681,24 @@ class RequestReceipt(TypedDict):
|
|
|
2439
2681
|
pass
|
|
2440
2682
|
|
|
2441
2683
|
|
|
2684
|
+
class RunningElsewhere(TypedDict, total=False):
|
|
2685
|
+
"""The `runningElsewhere` member of a `Session`: another live process on this machine runs the session."""
|
|
2686
|
+
|
|
2687
|
+
origin: RunningElsewhereOrigin
|
|
2688
|
+
|
|
2689
|
+
|
|
2690
|
+
class RuntimeWorktree(TypedDict):
|
|
2691
|
+
"""The runtime-owned git worktree a child session runs in, mirrored from the `subagent.worktree.*` records on its parent's log. The three enums are open: clients treat an unknown value as unknown."""
|
|
2692
|
+
|
|
2693
|
+
baseCommit: str
|
|
2694
|
+
cleanupPolicy: RuntimeWorktreeCleanupPolicy
|
|
2695
|
+
cleanupState: RuntimeWorktreeCleanupState
|
|
2696
|
+
headCommit: str
|
|
2697
|
+
ownership: RuntimeWorktreeOwnership
|
|
2698
|
+
parentDirtyExcluded: bool
|
|
2699
|
+
worktreeRoot: str
|
|
2700
|
+
|
|
2701
|
+
|
|
2442
2702
|
class SchemaInfo(TypedDict):
|
|
2443
2703
|
"""The `schema` pair in [`InitializeResult`]. `version` is the wire **envelope** schema version — distinct from the session-view `schemaVersion`, the raw-log `schema_version`, and the 0.x/1.0 stability posture, which is not on the wire at all."""
|
|
2444
2704
|
|
|
@@ -2475,15 +2735,21 @@ class Session(_SessionBase, total=False):
|
|
|
2475
2735
|
branch: str
|
|
2476
2736
|
createdByClient: ClientInfo
|
|
2477
2737
|
currentLimits: SessionLimits
|
|
2738
|
+
driveHolder: ClientInfo
|
|
2478
2739
|
firstUserPrompt: str
|
|
2479
2740
|
generatedName: str
|
|
2741
|
+
itemCount: int
|
|
2480
2742
|
kind: SessionKind
|
|
2481
2743
|
lastActivityAt: str
|
|
2744
|
+
logBytes: int
|
|
2482
2745
|
name: str
|
|
2483
2746
|
nameOrigin: SessionNameOrigin
|
|
2484
2747
|
parentSessionId: str
|
|
2485
2748
|
permissionState: EffectivePermissionState
|
|
2749
|
+
resumedByClient: ClientInfo
|
|
2750
|
+
runningElsewhere: RunningElsewhere
|
|
2486
2751
|
sideFrom: SideProvenance | None
|
|
2752
|
+
spawnedBy: SessionSpawnedBy
|
|
2487
2753
|
title: str
|
|
2488
2754
|
worktree: SessionWorktree
|
|
2489
2755
|
|
|
@@ -2564,6 +2830,19 @@ class SessionContextUsageParams(_SessionContextUsageParamsBase, total=False):
|
|
|
2564
2830
|
windowTokens: int
|
|
2565
2831
|
|
|
2566
2832
|
|
|
2833
|
+
class _SessionDriveChangedParamsBase(TypedDict):
|
|
2834
|
+
reason: DriveChangedReason
|
|
2835
|
+
sessionId: str
|
|
2836
|
+
youDrive: bool
|
|
2837
|
+
|
|
2838
|
+
|
|
2839
|
+
class SessionDriveChangedParams(_SessionDriveChangedParamsBase, total=False):
|
|
2840
|
+
"""`session/driveChanged` params: the session's drive holder changed. A command-plane broadcast on the `session/statusChanged` pattern — delivered to every connection on the host, subscribed or not; a connection's `optOutNotificationMethods` suppresses it — so the previous holder and every observer learn who drives now. Not a view event: no `viewCursor`, no `sourceRange` (it reflects live registry state, no durable record). The embedded single-connection host never emits it. **Experimental tier**."""
|
|
2841
|
+
|
|
2842
|
+
driveHolder: ClientInfo
|
|
2843
|
+
previousDriveHolder: ClientInfo
|
|
2844
|
+
|
|
2845
|
+
|
|
2567
2846
|
class _SessionForkParamsBase(TypedDict):
|
|
2568
2847
|
commandId: str
|
|
2569
2848
|
sessionId: str
|
|
@@ -2820,7 +3099,9 @@ class SessionReadResult(_SessionReadResultBase, total=False):
|
|
|
2820
3099
|
|
|
2821
3100
|
blockedPrompt: BlockedPrompt
|
|
2822
3101
|
lastTurn: LastTurn
|
|
3102
|
+
queuedInputs: list[QueuedInput]
|
|
2823
3103
|
recoveryObservation: RecoveryObservation
|
|
3104
|
+
worktree: RuntimeWorktree
|
|
2824
3105
|
|
|
2825
3106
|
|
|
2826
3107
|
class SessionReasoningEffortChangedParams(TypedDict):
|
|
@@ -2833,6 +3114,18 @@ class SessionReasoningEffortChangedParams(TypedDict):
|
|
|
2833
3114
|
viewCursor: str
|
|
2834
3115
|
|
|
2835
3116
|
|
|
3117
|
+
class SessionReleaseDriveParams(TypedDict):
|
|
3118
|
+
"""`session/releaseDrive` params."""
|
|
3119
|
+
|
|
3120
|
+
sessionId: str
|
|
3121
|
+
|
|
3122
|
+
|
|
3123
|
+
class SessionReleaseDriveResult(TypedDict):
|
|
3124
|
+
"""`session/releaseDrive` result: `released` left the session loaded with nobody driving (a duplicate release or a holderless session answers it too, with no notice), `busy` changed nothing because a turn runs, or the session is idle with a launch still queued or its launch count unreadable (no `turn/completed` is promised on that arm). No holder member: after a release nobody holds. The two typed refusals (`sessionNotLoaded`, `sessionInUse`) are errors, not results."""
|
|
3125
|
+
|
|
3126
|
+
status: DriveReleaseStatus
|
|
3127
|
+
|
|
3128
|
+
|
|
2836
3129
|
class SessionRenameParams(TypedDict):
|
|
2837
3130
|
"""`session/rename` params: set or change the durable allocated session name through the runtime `session_name` command. One writer; withheld under the ephemeral profile."""
|
|
2838
3131
|
|
|
@@ -2878,6 +3171,22 @@ class SessionReportStartupPhasesResult(TypedDict):
|
|
|
2878
3171
|
recorded: bool
|
|
2879
3172
|
|
|
2880
3173
|
|
|
3174
|
+
class SessionRequestDriveParams(TypedDict):
|
|
3175
|
+
"""`session/requestDrive` params."""
|
|
3176
|
+
|
|
3177
|
+
sessionId: str
|
|
3178
|
+
|
|
3179
|
+
|
|
3180
|
+
class _SessionRequestDriveResultBase(TypedDict):
|
|
3181
|
+
status: DriveRequestStatus
|
|
3182
|
+
|
|
3183
|
+
|
|
3184
|
+
class SessionRequestDriveResult(_SessionRequestDriveResultBase, total=False):
|
|
3185
|
+
"""`session/requestDrive` result: `granted` moved the drive to the caller (or the caller already held it) and stopped nothing — no turn ran, or another connection's turn runs or its input waits and now runs on under the caller; `busy` left everything as it was — the caller's own turn runs or its input waits, the live holder is idle and its queue cannot be read, or the live holder is not quiet and has not opted into `experimentalApi`, so it could not hear that it lost the drive; nothing is parked, and the caller asks again later (after `turn/completed` when a turn runs; a runtime that cannot report its queue promises none). An unloaded session is the typed resume-first refusal, not a result."""
|
|
3186
|
+
|
|
3187
|
+
driveHolder: ClientInfo
|
|
3188
|
+
|
|
3189
|
+
|
|
2881
3190
|
class _SessionResumeParamsBase(TypedDict):
|
|
2882
3191
|
commandId: str
|
|
2883
3192
|
sessionId: str
|
|
@@ -2890,6 +3199,7 @@ class SessionResumeParams(_SessionResumeParamsBase, total=False):
|
|
|
2890
3199
|
cursor: str | None
|
|
2891
3200
|
excludeItems: bool
|
|
2892
3201
|
history: HistoryPreference
|
|
3202
|
+
modelId: str
|
|
2893
3203
|
permissionProfile: str
|
|
2894
3204
|
recoveryMode: RecoveryMode
|
|
2895
3205
|
|
|
@@ -2904,6 +3214,7 @@ class _SessionResumeResultBase(TypedDict):
|
|
|
2904
3214
|
class SessionResumeResult(_SessionResumeResultBase, total=False):
|
|
2905
3215
|
"""`session/resume` result."""
|
|
2906
3216
|
|
|
3217
|
+
abnormalEnd: AbnormalEnd
|
|
2907
3218
|
blockedPrompt: BlockedPrompt
|
|
2908
3219
|
lastTurn: LastTurn
|
|
2909
3220
|
tightenedAxes: list[str]
|
|
@@ -2989,6 +3300,17 @@ class SessionSideChatResult(TypedDict):
|
|
|
2989
3300
|
viewCursor: str
|
|
2990
3301
|
|
|
2991
3302
|
|
|
3303
|
+
class _SessionSpawnedByBase(TypedDict):
|
|
3304
|
+
parentSessionId: str
|
|
3305
|
+
|
|
3306
|
+
|
|
3307
|
+
class SessionSpawnedBy(_SessionSpawnedByBase, total=False):
|
|
3308
|
+
"""Who opened a session."""
|
|
3309
|
+
|
|
3310
|
+
project: str
|
|
3311
|
+
thread: str
|
|
3312
|
+
|
|
3313
|
+
|
|
2992
3314
|
class _SessionStartParamsBase(TypedDict):
|
|
2993
3315
|
commandId: str
|
|
2994
3316
|
|
|
@@ -3001,9 +3323,11 @@ class SessionStartParams(_SessionStartParamsBase, total=False):
|
|
|
3001
3323
|
limits: SessionLimitsChoice
|
|
3002
3324
|
modelId: str
|
|
3003
3325
|
permissionProfile: str
|
|
3326
|
+
previousSessionId: str
|
|
3004
3327
|
providerId: str | None
|
|
3005
3328
|
recoveryMode: RecoveryMode
|
|
3006
3329
|
sessionId: str
|
|
3330
|
+
spawnedBy: SessionSpawnedBy
|
|
3007
3331
|
workspaceRoot: str
|
|
3008
3332
|
workspaceRoots: list[str]
|
|
3009
3333
|
worktree: WorktreeStartRequest
|
|
@@ -3607,6 +3931,7 @@ class TurnError(_TurnErrorBase, total=False):
|
|
|
3607
3931
|
"""The settled turn-failure object: `{kind, message, retryable}`."""
|
|
3608
3932
|
|
|
3609
3933
|
quota: QuotaDetail
|
|
3934
|
+
requestDenied: bool
|
|
3610
3935
|
|
|
3611
3936
|
|
|
3612
3937
|
class TurnForegroundCompletedParams(TypedDict):
|
|
@@ -3834,6 +4159,14 @@ class UsageReadResult(TypedDict, total=False):
|
|
|
3834
4159
|
usage: SubscriptionUsage
|
|
3835
4160
|
|
|
3836
4161
|
|
|
4162
|
+
class UsageRefreshResult(TypedDict, total=False):
|
|
4163
|
+
"""`usage/refresh` result: the same `usage` member as `usage/read` after ONE fresh read, plus the mint's tier display name. A sibling method, not a `usage/read` param: a stable method cannot reference an experimental params type, so a param would change the stable surface."""
|
|
4164
|
+
|
|
4165
|
+
subscriptionActive: bool
|
|
4166
|
+
tierName: str
|
|
4167
|
+
usage: SubscriptionUsage
|
|
4168
|
+
|
|
4169
|
+
|
|
3837
4170
|
class _UserInputAnswerBase(TypedDict):
|
|
3838
4171
|
questionId: str
|
|
3839
4172
|
|
|
@@ -4033,6 +4366,7 @@ class ViewPageParams(_ViewPageParamsBase, total=False):
|
|
|
4033
4366
|
anchor: ViewPageAnchor
|
|
4034
4367
|
cursor: str
|
|
4035
4368
|
direction: ViewPageDirection
|
|
4369
|
+
maxBytes: int
|
|
4036
4370
|
|
|
4037
4371
|
|
|
4038
4372
|
class ViewPageResolvedAnchor(TypedDict):
|
|
@@ -4327,6 +4661,7 @@ METHODS: Final[dict[str, MethodSpec]] = {
|
|
|
4327
4661
|
"media/upload": {"description": "Moves one video chunk into the session's video store; answers the `uploadId` receipt on every chunk.", "params": "MediaUploadParams", "result": "MediaUploadResult"},
|
|
4328
4662
|
"model/list": {"description": "Reads the catalog of models the host will accept in `session/setModel`; a query, not a command.", "params": "ModelListParams", "result": "ModelListResult"},
|
|
4329
4663
|
"peer/list": {"description": "Lists the viewing session's live local peers from the registry snapshot, minus the viewer, ordered by session id — one row per live entry with its authority-joined name, label, status, age, and eligibility.", "params": "PeerListParams", "result": "PeerListResult"},
|
|
4664
|
+
"peer/settlements": {"description": "Reads one page of the receiving session's peer-admission settlements after a cursor, ascending, in the shape the receiver timeline folds.", "params": "PeerSettlementsParams", "result": "PeerSettlementsResult"},
|
|
4330
4665
|
"permissionProfile/list": {"description": "Reads the selectable permission profiles for a session; a lease-free read.", "params": "PermissionProfileListParams", "result": "PermissionProfileListResult"},
|
|
4331
4666
|
"plugin/install": {"description": "Install one plugin from a marketplace pair or a host local path with scope (per-session, `commandId`-idempotent, hold-open; answers the installed receipt).", "params": "PluginInstallParams", "result": "PluginInstallResult"},
|
|
4332
4667
|
"plugin/list": {"description": "Reads the installed plugin records — one row per installed plugin; a query, not a command.", "params": "PluginListParams", "result": "PluginListResult"},
|
|
@@ -4344,8 +4679,10 @@ METHODS: Final[dict[str, MethodSpec]] = {
|
|
|
4344
4679
|
"session/promptHint": {"description": "Picks one feature-tip table id over the client-supplied candidates; display-only, nothing is logged.", "params": "SessionPromptHintParams", "result": "SessionPromptHintResult"},
|
|
4345
4680
|
"session/read": {"description": "Reads one stored session without attaching: no lease, no load, no subscription, no resume record.", "params": "SessionReadParams", "result": "SessionReadResult"},
|
|
4346
4681
|
"session/readLimits": {"description": "Reads one session's effective limits — experimental, same-user socket only.", "params": "SessionReadLimitsParams", "result": "SessionReadLimitsResult"},
|
|
4682
|
+
"session/releaseDrive": {"description": "The holder gives a loaded session's drive back without ending the load: `released` (nobody drives until a request or resume takes it; `session/driveChanged` tells every connection), `busy` while a turn runs, or the session is idle with a launch still queued or its launch count unreadable (no `turn/completed` is promised on that arm).", "params": "SessionReleaseDriveParams", "result": "SessionReleaseDriveResult"},
|
|
4347
4683
|
"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"},
|
|
4348
4684
|
"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"},
|
|
4685
|
+
"session/requestDrive": {"description": "Asks for a loaded session's drive: `granted` at once and stopping nothing — when no turn runs, and to another connection while a turn runs or input waits, which run on under the caller (the drive moves and `session/driveChanged` tells every connection); `busy` while the caller's own turn runs or its input waits, while a live holder is idle and its queue cannot be read (no `turn/completed` is promised then), or for a live holder not opted into `experimentalApi` while it is not quiet (a result; nothing parked; ask again later, after `turn/completed` when a turn runs).", "params": "SessionRequestDriveParams", "result": "SessionRequestDriveResult"},
|
|
4349
4686
|
"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"},
|
|
4350
4687
|
"session/setApprovalMode": {"description": "Selects a preconfigured approval enforcement mode mid-session; select, never create.", "params": "SessionSetApprovalModeParams", "result": "SessionSetApprovalModeResult"},
|
|
4351
4688
|
"session/setModel": {"description": "Reconfigures the session's model; the selection is durable and applies to subsequent model calls.", "params": "SessionSetModelParams", "result": "SessionSetModelResult"},
|
|
@@ -4379,6 +4716,7 @@ METHODS: Final[dict[str, MethodSpec]] = {
|
|
|
4379
4716
|
"turn/steer": {"description": "Injects input into the turn the caller names, failing if that turn is no longer active.", "params": "TurnSteerParams", "result": "TurnSteerResult"},
|
|
4380
4717
|
"turn/unqueue": {"description": "Reclaims a queued submit before it launches; never upgrades into a cancel once the target is running.", "params": "TurnUnqueueParams", "result": "TurnUnqueueResult"},
|
|
4381
4718
|
"usage/read": {"description": "Reads the host's last-observed subscription usage window (5h-class and weekly percent blocks, tier, arrival stamp) without a model call; the usage member is omitted when nothing has been observed.", "params": None, "result": "UsageReadResult"},
|
|
4719
|
+
"usage/refresh": {"description": "Issues ONE rate-bounded fresh subscription-usage read (a key mint, at most one per host per 60 s), records it in the usage cache when one is composed, and answers the usage/read shape plus the mint's tierName.", "params": None, "result": "UsageRefreshResult"},
|
|
4382
4720
|
"userInput/answer": {"description": "Answers every question of an open user-input prompt.", "params": "UserInputAnswerParams", "result": "UserInputAnswerResult"},
|
|
4383
4721
|
"userInput/cancel": {"description": "Declines an open user-input prompt; the tool call resolves with a cancelled result the model sees.", "params": "UserInputCancelParams", "result": "UserInputCancelResult"},
|
|
4384
4722
|
"userInput/clarify": {"description": "Answers an open user-input prompt with a free-form clarification the model re-decides against.", "params": "UserInputClarifyParams", "result": "UserInputClarifyResult"},
|
|
@@ -4416,6 +4754,7 @@ NOTIFICATIONS: Final[dict[str, NotificationSpec]] = {
|
|
|
4416
4754
|
"monitor/inboxItemAdmitted": {"description": "One monitor inbox admission: the fold keys gate-off consumes.", "params": "MonitorInboxItemAdmittedParams"},
|
|
4417
4755
|
"monitor/inboxItemDrained": {"description": "One monitor inbox drain with its recorded stamp, the drain-side operand of latest-wins.", "params": "MonitorInboxItemDrainedParams"},
|
|
4418
4756
|
"monitor/inboxItemVoided": {"description": "One wake-missed void with its recorded stamp; count-only, no transcript row.", "params": "MonitorInboxItemVoidedParams"},
|
|
4757
|
+
"peer/settlementsChanged": {"description": "A peer-admission settlement committed in the receiving session; read `peer/settlements` from your cursor.", "params": "PeerSettlementsChangedParams"},
|
|
4419
4758
|
"plugin/changed": {"description": "An install landed; carries the installed-row summary and clients re-issue `plugin/list`.", "params": "PluginChangedParams"},
|
|
4420
4759
|
"plugin/marketplaceChanged": {"description": "A marketplace was added, updated, or removed; carries the change summary.", "params": "PluginMarketplaceChangedParams"},
|
|
4421
4760
|
"recap/completed": {"description": "A recap request settled exactly once — `completed` (with `text` plus optional `title`), `failed` (`providerFailed`), `cancelled`, or `timedOut` — delivered to the requesting connection outside the view stream.", "params": "RecapCompletedParams"},
|
|
@@ -4423,6 +4762,7 @@ NOTIFICATIONS: Final[dict[str, NotificationSpec]] = {
|
|
|
4423
4762
|
"session/branchChanged": {"description": "A durable workspace-branch observation landed; null branch is a detached-HEAD fact.", "params": "SessionBranchChangedParams"},
|
|
4424
4763
|
"session/closed": {"description": "A loaded session was unloaded (idle | hostShutdown | leave) with the final view cursor; broadcast to every initialized connection.", "params": "SessionClosedParams"},
|
|
4425
4764
|
"session/contextUsage": {"description": "A provider-reported context-occupancy fact folded to a changed (windowTokens, usedTokens, pressure) triple.", "params": "SessionContextUsageParams"},
|
|
4765
|
+
"session/driveChanged": {"description": "A session's drive holder changed; command-plane broadcast to every connection, not cursor-stamped, not subscription-gated, `youDrive` per recipient.", "params": "SessionDriveChangedParams"},
|
|
4426
4766
|
"session/goalChanged": {"description": "The session's goal block changed value; replace wholesale, an explicit null clears.", "params": "SessionGoalChangedParams"},
|
|
4427
4767
|
"session/leaveCompleted": {"description": "Protected correlated terminal for an admitted session/leave.", "params": "SessionLeaveCompletedParams"},
|
|
4428
4768
|
"session/listChanged": {"description": "The changed session/list row, full-row replace; opt-in per connection via the sessionListStream capability, never subscription-gated.", "params": "SessionListChangedParams"},
|
|
@@ -4469,6 +4809,7 @@ ERRORS: Final[tuple[ErrorSpec, ...]] = (
|
|
|
4469
4809
|
{"code": -32023, "kind": "forkBoundaryInvalid", "retryable": False, "overrideKinds": ()},
|
|
4470
4810
|
{"code": -32024, "kind": "sessionNotLoaded", "retryable": False, "overrideKinds": ()},
|
|
4471
4811
|
{"code": -32025, "kind": "sessionStreamMismatch", "retryable": False, "overrideKinds": ()},
|
|
4812
|
+
{"code": -32039, "kind": "daemonDraining", "retryable": True, "overrideKinds": ()},
|
|
4472
4813
|
{"code": -32028, "kind": "limitsAboveMax", "retryable": False, "overrideKinds": ()},
|
|
4473
4814
|
{"code": -32029, "kind": "workspaceNotTrusted", "retryable": False, "overrideKinds": ()},
|
|
4474
4815
|
{"code": -32030, "kind": "commandRejected", "retryable": False, "overrideKinds": ()},
|
|
@@ -4499,6 +4840,9 @@ ERRORS: Final[tuple[ErrorSpec, ...]] = (
|
|
|
4499
4840
|
{"code": -32070, "kind": "admissionNotFound", "retryable": False, "overrideKinds": ()},
|
|
4500
4841
|
{"code": -32071, "kind": "admissionAlreadyResolved", "retryable": False, "overrideKinds": ()},
|
|
4501
4842
|
{"code": -32072, "kind": "admissionChoiceInvalid", "retryable": False, "overrideKinds": ()},
|
|
4843
|
+
{"code": -32080, "kind": "usageRefreshRateLimited", "retryable": True, "overrideKinds": ()},
|
|
4844
|
+
{"code": -32081, "kind": "usageRefreshUnavailable", "retryable": False, "overrideKinds": ()},
|
|
4845
|
+
{"code": -32082, "kind": "usageRefreshFailed", "retryable": False, "overrideKinds": ()},
|
|
4502
4846
|
)
|
|
4503
4847
|
|
|
4504
|
-
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename", "rawLog", "peerMessaging", "rawLogPhysical",)
|
|
4848
|
+
GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename", "rawLog", "peerMessaging", "rawLogPhysical", "daemonVacate",)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: muse-code-msp
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.14
|
|
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
|
{muse_code_msp-1.4.12 → muse_code_msp-1.4.14}/src/muse_code_msp.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|