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.
- {muse_code_msp-1.4.12/src/muse_code_msp.egg-info → muse_code_msp-1.4.13}/PKG-INFO +1 -1
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/pyproject.toml +1 -1
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/src/muse_code_msp/__init__.py +45 -2
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/src/muse_code_msp/experimental/__init__.py +60 -3
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13/src/muse_code_msp.egg-info}/PKG-INFO +1 -1
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/LICENSE +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/README.md +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/setup.cfg +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/src/muse_code_msp/py.typed +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/src/muse_code_msp.egg-info/SOURCES.txt +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/src/muse_code_msp.egg-info/dependency_links.txt +0 -0
- {muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/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.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.
|
|
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:
|
|
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.
|
|
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:
|
|
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.
|
|
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.
|
|
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
|
|
File without changes
|
|
File without changes
|
{muse_code_msp-1.4.12 → muse_code_msp-1.4.13}/src/muse_code_msp.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|