Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a558052
feat: declarations for the app, storage, content API, search-engine a…
zumbrunn Nov 6, 2026
4d6f70f
feat: services, identity, engines, history and blueprint declarations…
zumbrunn Nov 6, 2026
b03cf73
feat: plugin object, hooks, capabilities, config and runtime declarat…
zumbrunn Nov 6, 2026
82f2fbf
refactor: declare only the User and PageIndex fields plugins read
zumbrunn Nov 6, 2026
5a66402
feat: keep the OAuth identity fields and UserStore provider methods
zumbrunn Nov 6, 2026
fb57ee5
feat: admin.prefix capability slot
zumbrunn Nov 6, 2026
1141d11
docs: AuthzService seeds the site resource and says when authz exists
zumbrunn Nov 7, 2026
aa90036
chore: use the editor.session and editor.inline slot names (duneorg/d…
zumbrunn Nov 7, 2026
0f67309
feat!: the contract keeps what core consumes; plugins declare their o…
zumbrunn Nov 7, 2026
1d8cd42
feat!: mirror the inline-edit HTTP gate (EditorIdentity, handleReques…
zumbrunn Nov 7, 2026
006824f
docs: changelog for the inline-edit HTTP gate and page-event actor (#…
zumbrunn Nov 7, 2026
239a71a
feat!: typed capability keys (CapabilityKey, capabilityKey) instead o…
zumbrunn Nov 8, 2026
1edd8d4
feat: EditorIdentity.relation; the author limit follows it, not role …
zumbrunn Nov 10, 2026
bd1ef4a
test: isDuneError (CI's test task needs a tests/ directory)
zumbrunn Nov 10, 2026
d224ba9
Merge branch 'feat/plugin-contract' into feat/own-contributions
zumbrunn Nov 10, 2026
8b30bbc
style: deno fmt the changelog
zumbrunn Nov 10, 2026
92bb233
Merge branch 'feat/own-contributions' into feat/inline-edit-routes
zumbrunn Nov 10, 2026
6d77258
test: capabilityKey
zumbrunn Nov 10, 2026
343a7aa
Merge branch 'feat/inline-edit-routes' into feat/editor-relation
zumbrunn Nov 10, 2026
8c576b9
Merge remote-tracking branch 'origin/main' into HEAD
zumbrunn Nov 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,6 @@ the admin is mounted. The admin provides it; core reads it instead of assuming
`patchFields`; `EditorIdentity` and `InlineEditRequestContext` are declared.
Page-event payloads (`onPageMove`'s `PageMovePayload`, and the others by
documentation) carry an optional `actor`.
- `EditorIdentity.relation` (`admin` | `editor` | `author`): the admin-tier
relation core decided for the editor from the site's role grants, for
providers that apply an ownership rule.
7 changes: 7 additions & 0 deletions src/inline-edit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,13 @@ export interface EditorIdentity {
username: string;
/** Every role on the user record (admin-tier roles and content-gating tags mixed). */
roles: string[];
/**
* The admin-tier relation this editor holds on the site: `admin` and `editor` may edit any
* page, `author` only the pages it created. Decided by core from the site's
* `system.role_grants` (a group `staff` mapped to `editor` makes its members `editor`), so a
* provider applies ownership rules to this and not to role names.
*/
relation: "admin" | "editor" | "author";
/** `site`: signed in through the site's own login; `session`: through the `editor.session` provider. */
source: "site" | "session";
}
Expand Down
Loading