Skip to content

feat: EditorIdentity.relation - #4

Merged
zumbrunn merged 20 commits into
mainfrom
feat/editor-relation
Nov 10, 2026
Merged

zumbrunn merged 20 commits into
mainfrom
feat/editor-relation

Conversation

@zumbrunn

@zumbrunn zumbrunn commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Part of duneorg/dune#139. Stacked on #3; mirrors duneorg/dune#141.

EditorIdentity.relation (admin | editor | author): the admin-tier relation core decided for the editor from the site's system.role_grants, for providers that apply an ownership rule (an author edits only the pages it created).

🤖 Generated with Claude Code

zumbrunn and others added 19 commits November 6, 2026 13:41
…nd form contracts

First slice of the plugin contract. Copied from @dune/core where the shape
is already the public one, narrowed where core's is wider than a plugin
needs (SearchEngineCreateContext).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… (slice 2a)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ions (slice 2b)

DunePlugin, PluginApi, MountApi, HookRegistry, HookContext and the hook events;
the capability slot and contribution types; a narrow DuneConfig and PluginAuthz;
PluginRuntime with narrow structural interfaces for the engine, router, theme
loader, search, flex, submissions, sections, metrics and jobs. Handlers and
plugin callbacks are bivariant so core's wider contexts are accepted.

Also drops two unused imports left by slice 2a.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
User loses avatarUrl, providerId, linkedProviders, lastSeenAt and
stripeCustomerId; UserStore loses getByProvider, linkProvider and
unlinkProvider. PageIndex loses gated, roles, publishAt, unpublishAt, fileUrl,
termPageFor and coverImage. Nothing in the first-party plugins or the testing
harness reads them; adding a field later is additive, removing one is not.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
providerId, linkedProviders, getByProvider, linkProvider and unlinkProvider are
what a third-party OAuth login provider is built from. No first-party plugin
uses them yet; they stay so one can be written against the 1.0 contract.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Where the admin is mounted. Core reads it instead of assuming /admin; with no
provider there is no admin.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…une#125)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…wn extension points (#127)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…t) and page-event actor

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

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…f Contributions and module augmentation

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…names (duneorg/dune#139)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
# Conflicts:
#	CHANGELOG.md
#	src/inline-edit.ts
@zumbrunn
zumbrunn changed the base branch from feat/inline-edit-routes to main November 10, 2026 15:36
@zumbrunn
zumbrunn merged commit 7854f32 into main Nov 10, 2026
2 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.

1 participant