Repository navigation
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
🔀 Cross-SDK feature parity, ports raisedThis pull request is labelled Ports (DO NOT EDIT)
3 of 3 sibling SDKs accounted for. Every sibling SDK is accounted for. The contract is in the SDK development specification. |
10 of 12 tasks
ThunderID now returns and accepts an agent's owner as an object with an id, an idType and an isLocal flag, so it can name a person managed in another identity system. Agent details showed the owner as text and failed to render once the owner became an object. Add the AgentOwner model, use it on Agent, CreateAgentRequest and UpdateAgentRequest, show the owner's ID in agent details for React and Vue, and take the owner as an object on AgentCreate. Refs thunder-id/thunderid#6435 Signed-off-by: thiva-k <kalyanasundaramthivaharan@gmail.com>
thiva-k
force-pushed
the
agent-owner-object
branch
from
November 5, 2026 15:29
9df713a to
7a5f5d7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
ThunderID is changing an agent's
ownerfrom a string to an object, so the owner can be a person managed in another identity system (thunder-id/thunderid#6435):The SDK still models
owneras a string. Agent details render it as text, so once the server returns the object,AgentDetailsthrows (React error #31) and the whole admin page goes blank. This is what fails the agent e2e tests on thunder-id/thunderid#6435, whose data plane admin console uses@thunderid/react'sAgentDetails. Agent create also sends the owner as a string, which the server now rejects with400 AGT-1001.🔧 Summary of Breaking Changes
owneronAgent,CreateAgentRequestandUpdateAgentRequestchanges fromstringtoAgentOwner.ownerprop ofAgentCreate(React and Vue) changes fromstringtoAgentOwner.💥 Impact
Code that reads
agent.owneras a string, or passes a stringownertoAgentCreateor the create and update requests, no longer type-checks. It must ship together with thunder-id/thunderid#6435, since the server change breaks the string form anyway.🔄 Migration Guide
Read the owner's ID from
agent.owner?.id, and pass the owner as an object:idTypedefaults touuidandisLocaltotrue, so{id: userId}names a user of the same deployment.Approach
@thunderid/javascript: addsAgentOwner(id, optionalidType, optionalisLocal) andAgentOwnerIdType. Both are exported and used onAgent,CreateAgentRequestandUpdateAgentRequest.@thunderid/reactand@thunderid/vue:BaseAgentDetailsshowsagent.owner?.id, still falling back to "No owner".AgentCreatetakes the owner as anAgentOwnerand sends it unchanged, so a caller can also name an external owner.AgentCreatestory passes and prints the owner as{id}.No new strings, so no translation changes.
Related Issues
Related PRs
ownertoAgentCreate(b2b/manageand the quickstarts were checked).SDK parity
Verification
turbo run build typecheck --continuepasses for every package and playground (the playgrounds failed before they were updated). The one exception is the@thunderid/nuxttypecheck, which cannot run locally becausevue-tscis not installed.@thunderid/javascript1160 passed,@thunderid/react730 passed, including new tests for the owner inBaseAgentDetailsand the owner object sent byAgentCreate. In@thunderid/vuethe admin component tests (64, including the new owner tests) pass. 12 tests in five unrelated files (flow select, user select wiring, consent decisions, key-value list, OTP field) fail locally withFailed to set an indexed property [0] on 'CSSStyleDeclaration'. None of them touch agents, and they were not run againstmainto confirm they fail there too.prettier --checkpasses on the changed files.lintreports existing errors injavascript,nextjsandexpress, none in the changed files.Checklist
breaking changelabel added. (The repository has no such label.)parity/prs-raisedorparity/prs-not-neededadded.parity/prs-raised, the port links are posted as a reply on the parity check's comment.Security checks
🤖 Generated with Claude Code