muse-code-msp 1.4.12__tar.gz → 1.4.13__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: muse-code-msp
3
- Version: 1.4.12
3
+ Version: 1.4.13
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.12"
8
+ version = "1.4.13"
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:cfdb6d2525601b9bac76584ccb0610ab3a5539b5e4f51141f079b99b39fcb4e0"
10
+ SCHEMA_FINGERPRINT: Final[str] = "sha256:7fddaf646dbc317e5fcac0785e135eb04df14fbb0db1863089dfd6da21730e5b"
11
11
  SCHEMA_VERSION: Final[int] = 1
12
12
  EXPERIMENTAL: Final[bool] = False
13
- REQUIRED_HOST_VERSION: Final[str] = "1.4.12"
13
+ REQUIRED_HOST_VERSION: Final[str] = "1.4.13"
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
@@ -413,11 +413,31 @@ class ApprovalChoice(_ApprovalChoiceBase, total=False):
413
413
  class ApprovalCuaCardFacts(TypedDict, total=False):
414
414
  """One Computer Use card's facts. Empty collections and absent rows are omitted, never `null`."""
415
415
 
416
+ data: list[ApprovalCuaDataFact]
416
417
  page: ApprovalCuaPage
417
418
  steps: list[ApprovalCuaStep]
418
419
  windowTitle: str
419
420
 
420
421
 
422
+ class _ApprovalCuaDataFactBase(TypedDict):
423
+ kind: str
424
+
425
+
426
+ class ApprovalCuaDataFact(_ApprovalCuaDataFactBase, total=False):
427
+ """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."""
428
+
429
+ mask: ApprovalCuaMask
430
+ secretKind: str
431
+
432
+
433
+ class ApprovalCuaMask(TypedDict, total=False):
434
+ """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."""
435
+
436
+ chars: int
437
+ last4: str
438
+ prefix: str
439
+
440
+
421
441
  class ApprovalCuaPage(TypedDict):
422
442
  """The page's full host, no path or query."""
423
443
 
@@ -1189,6 +1209,7 @@ class Item(_ItemBase, total=False):
1189
1209
  reason: str
1190
1210
  recordedAt: str
1191
1211
  reminderAgentId: str
1212
+ replayHint: ReplayHint
1192
1213
  result: SubagentResult
1193
1214
  resumeFromRunId: str
1194
1215
  retracted: bool
@@ -1211,6 +1232,7 @@ class Item(_ItemBase, total=False):
1211
1232
  summarizedThrough: str
1212
1233
  summary: list[str]
1213
1234
  taskId: str
1235
+ terminalRowAfterItemId: str
1214
1236
  text: str
1215
1237
  tokenBudget: WorkflowTokenBudget
1216
1238
  tokensAfter: int
@@ -1223,6 +1245,7 @@ class Item(_ItemBase, total=False):
1223
1245
  turnId: str | None
1224
1246
  usage: TokenUsage
1225
1247
  visibleOutput: str
1248
+ workId: str
1226
1249
  workflowRunId: str
1227
1250
 
1228
1251
 
@@ -1684,6 +1707,18 @@ class PluginMarketplaceUpdateParams(TypedDict):
1684
1707
  sessionId: str
1685
1708
 
1686
1709
 
1710
+ class _QueuedInputBase(TypedDict):
1711
+ sequence: int
1712
+ text: str
1713
+
1714
+
1715
+ class QueuedInput(_QueuedInputBase, total=False):
1716
+ """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."""
1717
+
1718
+ sourceCommandId: str
1719
+ sourceRunRecordId: str
1720
+
1721
+
1687
1722
  class QuotaDetail(TypedDict):
1688
1723
  """Typed quota-exhaustion detail: the limit kind plus the provider's reset instant."""
1689
1724
 
@@ -1758,6 +1793,13 @@ class RecoveryObservation(TypedDict):
1758
1793
  sessionId: str
1759
1794
 
1760
1795
 
1796
+ class ReplayHint(TypedDict):
1797
+ """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."""
1798
+
1799
+ afterItemId: str
1800
+ rowKinds: list[str]
1801
+
1802
+
1761
1803
  class _RequestBase(TypedDict):
1762
1804
  id: RequestId
1763
1805
  jsonrpc: JsonRpcVersion
@@ -2090,6 +2132,7 @@ class SessionReadResult(_SessionReadResultBase, total=False):
2090
2132
 
2091
2133
  blockedPrompt: BlockedPrompt
2092
2134
  lastTurn: LastTurn
2135
+ queuedInputs: list[QueuedInput]
2093
2136
  recoveryObservation: RecoveryObservation
2094
2137
 
2095
2138
 
@@ -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:c37d9b6db138c4f079e38da665815619a3a4337702568aacee62de7252690fc1"
10
+ SCHEMA_FINGERPRINT: Final[str] = "sha256:92770f6e8883d1479dd33acc1b3687c70057de316980e6f2cd9cef25ea8e30fd"
11
11
  SCHEMA_VERSION: Final[int] = 1
12
12
  EXPERIMENTAL: Final[bool] = True
13
- REQUIRED_HOST_VERSION: Final[str] = "1.4.12"
13
+ REQUIRED_HOST_VERSION: Final[str] = "1.4.13"
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
@@ -131,7 +131,7 @@ CONTEXT_PRESSURE_LEVEL_KNOWN_VALUES: Final[tuple[str, ...]] = ("normal", "warnin
131
131
 
132
132
  # 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
133
  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",)
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", "usageRefreshRateLimited", "usageRefreshUnavailable", "usageRefreshFailed",)
135
135
 
136
136
  # `feedback/submit` classification: the four TUI classes in camelCase wire spelling. **Closed**: a client-selected param vocabulary.
137
137
  FeedbackClassification = Literal["bug", "badResult", "goodResult", "other"]
@@ -653,11 +653,31 @@ class ApprovalChoice(_ApprovalChoiceBase, total=False):
653
653
  class ApprovalCuaCardFacts(TypedDict, total=False):
654
654
  """One Computer Use card's facts. Empty collections and absent rows are omitted, never `null`."""
655
655
 
656
+ data: list[ApprovalCuaDataFact]
656
657
  page: ApprovalCuaPage
657
658
  steps: list[ApprovalCuaStep]
658
659
  windowTitle: str
659
660
 
660
661
 
662
+ class _ApprovalCuaDataFactBase(TypedDict):
663
+ kind: str
664
+
665
+
666
+ class ApprovalCuaDataFact(_ApprovalCuaDataFactBase, total=False):
667
+ """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."""
668
+
669
+ mask: ApprovalCuaMask
670
+ secretKind: str
671
+
672
+
673
+ class ApprovalCuaMask(TypedDict, total=False):
674
+ """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."""
675
+
676
+ chars: int
677
+ last4: str
678
+ prefix: str
679
+
680
+
661
681
  class ApprovalCuaPage(TypedDict):
662
682
  """The page's full host, no path or query."""
663
683
 
@@ -1193,6 +1213,7 @@ class ErrorData(_ErrorDataBase, total=False):
1193
1213
  descriptor: str
1194
1214
  details: dict[str, Any]
1195
1215
  earliestCursor: str | None
1216
+ failureKind: str
1196
1217
  index: int
1197
1218
  itemId: str
1198
1219
  keyPath: str
@@ -1210,6 +1231,7 @@ class ErrorData(_ErrorDataBase, total=False):
1210
1231
  recoveryObservation: RecoveryObservation
1211
1232
  requestedStream: StreamRef
1212
1233
  resolution: ApprovalResolutionSummary
1234
+ retryAfterMs: int
1213
1235
  retryable: bool
1214
1236
  seedFallbackReason: str
1215
1237
  seedPath: str
@@ -1476,6 +1498,7 @@ class Item(_ItemBase, total=False):
1476
1498
  reason: str
1477
1499
  recordedAt: str
1478
1500
  reminderAgentId: str
1501
+ replayHint: ReplayHint
1479
1502
  result: SubagentResult
1480
1503
  results: list[WebSearchHit]
1481
1504
  resumeFromRunId: str
@@ -1501,6 +1524,7 @@ class Item(_ItemBase, total=False):
1501
1524
  summarizedThrough: str
1502
1525
  summary: list[str]
1503
1526
  taskId: str
1527
+ terminalRowAfterItemId: str
1504
1528
  text: str
1505
1529
  tokenBudget: WorkflowTokenBudget
1506
1530
  tokensAfter: int
@@ -1514,6 +1538,7 @@ class Item(_ItemBase, total=False):
1514
1538
  url: str
1515
1539
  usage: TokenUsage
1516
1540
  visibleOutput: str
1541
+ workId: str
1517
1542
  workflowRunId: str
1518
1543
 
1519
1544
 
@@ -2323,6 +2348,18 @@ class ProjectionReadResult(TypedDict):
2323
2348
  state: dict[str, Any]
2324
2349
 
2325
2350
 
2351
+ class _QueuedInputBase(TypedDict):
2352
+ sequence: int
2353
+ text: str
2354
+
2355
+
2356
+ class QueuedInput(_QueuedInputBase, total=False):
2357
+ """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."""
2358
+
2359
+ sourceCommandId: str
2360
+ sourceRunRecordId: str
2361
+
2362
+
2326
2363
  class QuotaDetail(TypedDict):
2327
2364
  """Typed quota-exhaustion detail: the limit kind plus the provider's reset instant."""
2328
2365
 
@@ -2420,6 +2457,13 @@ class RecoveryObservation(TypedDict):
2420
2457
  sessionId: str
2421
2458
 
2422
2459
 
2460
+ class ReplayHint(TypedDict):
2461
+ """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."""
2462
+
2463
+ afterItemId: str
2464
+ rowKinds: list[str]
2465
+
2466
+
2423
2467
  class _RequestBase(TypedDict):
2424
2468
  id: RequestId
2425
2469
  jsonrpc: JsonRpcVersion
@@ -2820,6 +2864,7 @@ class SessionReadResult(_SessionReadResultBase, total=False):
2820
2864
 
2821
2865
  blockedPrompt: BlockedPrompt
2822
2866
  lastTurn: LastTurn
2867
+ queuedInputs: list[QueuedInput]
2823
2868
  recoveryObservation: RecoveryObservation
2824
2869
 
2825
2870
 
@@ -3834,6 +3879,14 @@ class UsageReadResult(TypedDict, total=False):
3834
3879
  usage: SubscriptionUsage
3835
3880
 
3836
3881
 
3882
+ class UsageRefreshResult(TypedDict, total=False):
3883
+ """`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."""
3884
+
3885
+ subscriptionActive: bool
3886
+ tierName: str
3887
+ usage: SubscriptionUsage
3888
+
3889
+
3837
3890
  class _UserInputAnswerBase(TypedDict):
3838
3891
  questionId: str
3839
3892
 
@@ -4379,6 +4432,7 @@ METHODS: Final[dict[str, MethodSpec]] = {
4379
4432
  "turn/steer": {"description": "Injects input into the turn the caller names, failing if that turn is no longer active.", "params": "TurnSteerParams", "result": "TurnSteerResult"},
4380
4433
  "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
4434
  "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"},
4435
+ "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
4436
  "userInput/answer": {"description": "Answers every question of an open user-input prompt.", "params": "UserInputAnswerParams", "result": "UserInputAnswerResult"},
4383
4437
  "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
4438
  "userInput/clarify": {"description": "Answers an open user-input prompt with a free-form clarification the model re-decides against.", "params": "UserInputClarifyParams", "result": "UserInputClarifyResult"},
@@ -4499,6 +4553,9 @@ ERRORS: Final[tuple[ErrorSpec, ...]] = (
4499
4553
  {"code": -32070, "kind": "admissionNotFound", "retryable": False, "overrideKinds": ()},
4500
4554
  {"code": -32071, "kind": "admissionAlreadyResolved", "retryable": False, "overrideKinds": ()},
4501
4555
  {"code": -32072, "kind": "admissionChoiceInvalid", "retryable": False, "overrideKinds": ()},
4556
+ {"code": -32080, "kind": "usageRefreshRateLimited", "retryable": True, "overrideKinds": ()},
4557
+ {"code": -32081, "kind": "usageRefreshUnavailable", "retryable": False, "overrideKinds": ()},
4558
+ {"code": -32082, "kind": "usageRefreshFailed", "retryable": False, "overrideKinds": ()},
4502
4559
  )
4503
4560
 
4504
4561
  GRANTABLE_CAPABILITIES: Final[tuple[str, ...]] = ("userShell", "sessionMcp", "sessionListStream", "feedback", "computerUseSetup", "computerUseHostSetup", "sessionRename", "rawLog", "peerMessaging", "rawLogPhysical",)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: muse-code-msp
3
- Version: 1.4.12
3
+ Version: 1.4.13
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