Skip to content

feat(identity): describe existing identities - #34

Merged
pikann merged 6 commits into
Paca-AI:masterfrom
gorlix:github/describe-identity
Nov 3, 2026
Merged

pikann merged 6 commits into
Paca-AI:masterfrom
gorlix:github/describe-identity

Conversation

@gorlix

@gorlix gorlix commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements identity_description, so a connection carried over by a migration gets its name and @handle the first time Paca lists connections. Part of Paca-AI/paca#661.

Changes

  • DescribeIdentity: an App answers from what is stored; a token is checked with one GET /user, which gives login, name and expiry and completes a migrated token. A rejected token reports forbidden.
  • identity_description capability, token expiry reported.
  • README: when the name appears and what happens if it cannot.

Tests

go test ./...: 121 passed (includes a check that errors never carry the token); go vet and golangci-lint clean; TinyGo build ok. End to end with core and a mock platform, over TLS: the plugin was rebuilt with TinyGo 0.41.1 and installed unchanged. Details in Paca-AI/paca#692.

Dependency and merge order

Uses plugin-sdk-go v0.4.2 (Paca-AI/plugin-sdk-go#17). Merge after Paca-AI/paca#692. With an older core nothing breaks: the name appears at first use of the token, as today.

🤖 Generated with Claude Code

gorlix and others added 6 commits November 3, 2026 11:51
Implement the identity_description capability. DescribeIdentity returns
the same Identity CompleteIdentitySetup would: Apps from the stored
record (slug as handle), tokens from the stored record too, except for
tokens migrated from the previous release, which are completed on the
spot (GitHub is asked for the owner's login once, the result stored).
Unknown ids are not_found; a token GitHub rejects is forbidden.

Refs Paca-AI/paca#661

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs Paca-AI/paca#661

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DescribeIdentity now asks GitHub who a token is (one GET /user) so core,
which keeps the first answer, gets the owner's login, the expiry of
fine-grained tokens and a forbidden for a revoked token. Migrated tokens
are completed from the same response, with no second call. Apps are
still described from the stored record.

Refs Paca-AI/paca#661

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs Paca-AI/paca#661

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drops the temporary kayahk replace; v0.4.2 ships issue listing and
identity_description.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

@pikann pikann left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you for the contribution! 🚀

@pikann
pikann merged commit 4575eb4 into Paca-AI:master Nov 3, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants