[Critical] SDK Sync: Add 4 missing resources + ManualConnect#73
[Critical] SDK Sync: Add 4 missing resources + ManualConnect#73mack-ship-it wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e053773d5c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| self.forwarding_requests = ForwardingRequestResource(config) | ||
| self.secrets = SecretResource(config) |
There was a problem hiding this comment.
Bump Method-Version before exposing new endpoints
These newly wired forwarding_requests and secrets clients still inherit Resource.__init__'s hard-coded method-version: 2025-07-04, but those endpoints are available under the newer API version. When a caller uses method.forwarding_requests.create(...) or method.secrets.create(...), the SDK sends the older version header and the server can reject the endpoint or return an incompatible schema, so the SDK needs to update/configure the Method-Version before exposing these resources.
Useful? React with 👍 / 👎.
| def __init__(self, config: Configuration): | ||
| _config = config.add_path('teams') | ||
| super(TeamResource, self).__init__(_config) | ||
| self.public_keys = TeamPublicKeysResource(_config) |
There was a problem hiding this comment.
Expose MLE keys under teams.mle
The documented SDK shape for MLE key management is method.teams.mle.public_keys.*, but this attaches the resource directly as method.teams.public_keys and never defines teams.mle. Users following the documented Python/Node shape will hit AttributeError before any request is sent; wrap this in a mle subresource and put public_keys under it.
Useful? React with 👍 / 👎.
| class MLEPublicKeyCreateOpts(TypedDict): | ||
| jwk: Dict[str, Any] |
There was a problem hiding this comment.
Model the full MLE key create payload
For direct registration the API requires type: 'direct' and contact, and for well-known registration it requires type: 'well_known' plus well_known_endpoint; typing the create opts as only jwk makes the documented payload fail type checking and encourages sending {jwk: ...}, which the API rejects. Include the registration type/contact and optional well-known fields in this TypedDict.
Useful? React with 👍 / 👎.
e053773 to
8ef0c7d
Compare
… ManualConnect Critical SDK sync — 4 entirely missing resources and 1 missing sub-resource.
Codex Review AssessmentComment 1 (P1) - API version on forwarding_requests/secrets: Comment 2 (P2) - Team.public_keys path: Comment 3 (P2) - MLE public key create opts missing type/contact/well_known_endpoint: |
Critical — New Resources
Adds 4 entirely missing resources and 1 missing sub-resource that exist in the OpenAPI spec and Node SDK but were absent from Python:
All resources wired into the Method client.
Part of the SDK sync split — see also: High, Medium, Low PRs.