259d7fe58d
Opens the brief that holds this binding to `@activitypods/refine-providers`, with which it must be interchangeable, and settles its six questions. The decisive finding of the comparison: the reference asks its server for almost none of what a Refine resource needs — filters, sorting, pagination and totals are computed in memory there too — so most of the gap is this package's own work rather than the polyfill's. What the engagement is now asked for, in order: a shape-typed write and removal that can be awaited outside React, a call that closes a session, a display name, and a write-ownership predicate that would let an interface hide a control instead of letting it fail. Two corrections worth their own mention, both found by review rather than by reading further: - a non-guarantee about how strongly the upstream authenticates was being allowed to dictate the SHAPE of this binding, which had `login` and `logout` published as having no surface. Opening a wallet is the act the target will have, so the auth provider is wired to it and the missing closing call is a request, not an absence of analogue; - what is internal to the emulation must not be known in this repository at all. Restating it here would duplicate a claim this package cannot verify and would teach an application a distinction that disappears at migration.
29 lines
1.9 KiB
Markdown
29 lines
1.9 KiB
Markdown
---
|
|
type: overview
|
|
summary: How a Refine application's resources are bound to NextGraph documents through the eventual SDK — and what that binding may rely on
|
|
triggers:
|
|
keywords: [refine, provider, dataProvider, authProvider, liveProvider, accessControlProvider, resource, getList, getOne, shapeTypes, shape, scope, store, polyfill, eventually, activitypods, interchangeable, equivalence]
|
|
paths:
|
|
- "src/**"
|
|
- "package.json"
|
|
- "examples/**"
|
|
vocabulary:
|
|
- term: resource
|
|
gloss: Refine's name for a data type an application declares and lists — bound here to one SHEX shape
|
|
- term: binding
|
|
gloss: the translation this package performs between a Refine resource and NextGraph documents
|
|
not: [adapter, bridge, glue]
|
|
---
|
|
|
|
# refine-binding — Refine's resources over NextGraph's documents
|
|
|
|
This package binds a [Refine](https://refine.dev/core/) application to NextGraph through `@ng-eventually/polyfill`, which stands in for the NextGraph SDK that has not shipped yet. It is a sibling of `@ng-org/refine-providers`, which binds the same application to the SDK **as it is today**; both have a legitimate existence, and an application may move from one to the other.
|
|
|
|
The distinguishing rule: **nothing here compensates for the current state of NextGraph.** Capability isolation, identity, inboxes, sharing, the state of any deployed broker — all of that is the polyfill's to carry. What belongs here is only the translation between Refine's model and NextGraph's: what a resource is, what an id is, where a document is placed, and what a listing may legitimately contain.
|
|
|
|
## Read first
|
|
|
|
- `polyfill-surface/contract_polyfill-surface` — the engagement this package consumes (pulled, version-pinned).
|
|
- `polyfill-surface/usage_refine-providers-eventually` — what this package actually relies on, and what it still needs.
|
|
- `brief_2026-10-01_interchangeability-with-activitypods` — the bar this binding is held to, and the questions still open on it.
|