@owlmeans/client 0.1.18-rc.18 → 0.1.18-rc.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -89,7 +89,7 @@ Async data loader hook. Re-runs when `deps` change. Returns `null` while loading
89
89
  ### `useNavigate(): Navigator`
90
90
 
91
91
  Returns a navigator with:
92
- - `navigate(entrypoint, request?)` — navigate to a `ClientEntrypoint`, addressed by its `url()`
92
+ - `navigate(entrypoint, request?)` — navigate to a bound protocol, addressed by its `url()`
93
93
  - `go(alias, request?)` — navigate by entrypoint alias
94
94
  - `press(alias, request?)` / `pressBack()` — the same as event handlers
95
95
  - `back()` / `location()`
@@ -109,7 +109,7 @@ Simple boolean toggle hook.
109
109
  ## Related Packages
110
110
 
111
111
  - [`@owlmeans/state`](../state) — `StateModel`, `StateResource` used by `useStoreModel`
112
- - [`@owlmeans/client-entrypoint`](../client-entrypoint) — `ClientEntrypoint` used by `useNavigate`
112
+ - [`@owlmeans/client-entrypoint`](../client-entrypoint) — protocol bindings used by `useNavigate`
113
113
  - [`@owlmeans/client-context`](../client-context) — `ClientContext` returned by `useContext`
114
114
 
115
115
  <!-- owlmeans:agent-guidance:start -->
@@ -120,7 +120,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
120
120
  your project's skill store (`.agents/skills/`):
121
121
 
122
122
  ```sh
123
- npx @owlmeans/agent-skills@^0.1.18-rc.14
123
+ npx @owlmeans/agent-skills@^0.1.18-rc.15
124
124
  ```
125
125
 
126
126
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/client",
4
- "version": "0.1.18-rc.18",
5
- "generatedAt": "2026-09-10T23:12:07.510Z",
4
+ "version": "0.1.18-rc.19",
5
+ "generatedAt": "2026-09-12T08:39:52.725Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/client
9
9
 
10
10
  **Layer:** Client
11
- **Install:** `"@owlmeans/client": "^0.1.18-rc.18"` in `dependencies`
11
+ **Install:** `"@owlmeans/client": "^0.1.18-rc.19"` in `dependencies`
12
12
 
13
13
  The React substrate `@owlmeans/web-client` (browser) and the native equivalent are built on. A
14
14
  cross-platform package imports from here; an application normally imports from the platform
@@ -18,7 +18,7 @@ package, which re-exports what it needs — **except the hooks below, which are
18
18
 
19
19
  | Import from `@owlmeans/client` | Import from `@owlmeans/web-client` |
20
20
  |---|---|
21
- | `useNavigate`, `useEntrypoint`, `useStoreModel`, `useStoreList`, `useValue`, `useToggle`, `useSetupModalNavigator` — none of these are re-exported | `renderApp`, `makeContext`, `useAuthenticated`, and the re-exported `handler` / `elevate` / `entrypoint` / `route` / `frontend` |
21
+ | `useNavigate`, `useEntrypoint`, `useStoreModel`, `useStoreList`, `useValue`, `useToggle`, `useSetupModalNavigator` — none of these are re-exported | `renderApp`, `makeContext`, `useAuthenticated`, and protocol binding helpers from `@owlmeans/client-entrypoint` |
22
22
  | `RoutedComponent`, `EntrypointContextParams`, `Navigator`, `NavRequest`, `ClientContext` | `AppConfig`, `AppContext` |
23
23
  | `App`, `Router`, `makeClientContext` — the platform-agnostic mounts | `WebApp`, `renderApp` — the browser mounts that wrap them |
24
24
 
@@ -34,7 +34,7 @@ package, which re-exports what it needs — **except the hooks below, which are
34
34
  | `useNavigate()` | The `Navigator` — programmatic navigation by entrypoint alias |
35
35
  | `Navigator` / `NavRequest` | `navigate` `go` `press` `back` `pressBack` `location`; a request adds `replace` and `silent` to an `AbstractRequest` |
36
36
  | `useEntrypoint<T>()` | The `EntrypointContextParams` of the screen currently rendering — `{ alias, path, params, context }` |
37
- | `RoutedComponent<Extra>` | Type of a component elevated on a frontend entrypoint |
37
+ | `RoutedComponent<Extra>` | Type of a component bound to a frontend protocol |
38
38
  | `handler(Component, preprender?)` | Wrap a React component as an entrypoint handler |
39
39
  | `useStoreModel` / `useStoreList` | React hooks over a `@owlmeans/state` resource — one record by id, or a live query |
40
40
  | `useValue(loader, deps?, forceDefault?)` / `UseValueParams<T>` | Render an async result. The second argument is the **dependency list**, not a default — see Async values |
@@ -78,7 +78,7 @@ A URL that comes back starting with `http` belongs to another service, and the n
78
78
  entrypoint itself when you already hold it; `nav.back()` / `nav.pressBack()` go one entry back, and
79
79
  `nav.location()` reads the current one.
80
80
 
81
- An elevated screen receives `{ alias, path, params, context }` as props, and `useEntrypoint()`
81
+ A bound screen receives `{ alias, path, params, context }` as props, and `useEntrypoint()`
82
82
  reads the same values from anywhere below it — read path parameters from `params` and pass them
83
83
  down; a nested component never resolves route parameters itself.
84
84
 
@@ -8,7 +8,7 @@ export const createRouteRenderer = ({ context, module, hasChildren }) => () => {
8
8
  const reply = provideResponse();
9
9
  // Own guards plus every ancestor's — the same set the request would be judged by. Whether a
10
10
  // screen is guarded is a question about THIS list being non-empty, never about the declaration
11
- // carrying a `guards` property: elevation always assigns the array, empty when nothing was
11
+ // carrying a `guards` property: binding always assigns the array, empty when nothing was
12
12
  // declared, and an empty list means an open screen. Asking the wrong question refuses every
13
13
  // guest screen with `frontend-guard`, since no guard can match when there are none.
14
14
  const aliases = module.getGuards();
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/utils/route.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/utils/route.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/client",
3
- "version": "0.1.18-rc.18",
3
+ "version": "0.1.18-rc.19",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -28,17 +28,17 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@owlmeans/auth": "^0.1.18-rc.11",
32
- "@owlmeans/client-context": "^0.1.18-rc.15",
33
- "@owlmeans/client-entrypoint": "^0.1.18-rc.15",
34
- "@owlmeans/client-resource": "^0.1.18-rc.15",
35
- "@owlmeans/config": "^0.1.18-rc.14",
36
- "@owlmeans/context": "^0.1.18-rc.10",
37
- "@owlmeans/error": "^0.1.18-rc.10",
38
- "@owlmeans/entrypoint": "^0.1.18-rc.13",
39
- "@owlmeans/resource": "^0.1.18-rc.11",
40
- "@owlmeans/router": "^0.1.18-rc.10",
41
- "@owlmeans/state": "^0.1.18-rc.12"
31
+ "@owlmeans/auth": "^0.1.18-rc.12",
32
+ "@owlmeans/client-context": "^0.1.18-rc.16",
33
+ "@owlmeans/client-entrypoint": "^0.1.18-rc.16",
34
+ "@owlmeans/client-resource": "^0.1.18-rc.16",
35
+ "@owlmeans/config": "^0.1.18-rc.15",
36
+ "@owlmeans/context": "^0.1.18-rc.11",
37
+ "@owlmeans/error": "^0.1.18-rc.11",
38
+ "@owlmeans/entrypoint": "^0.1.18-rc.14",
39
+ "@owlmeans/resource": "^0.1.18-rc.12",
40
+ "@owlmeans/router": "^0.1.18-rc.11",
41
+ "@owlmeans/state": "^0.1.18-rc.13"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "@remix-run/router": "*",
@@ -17,7 +17,7 @@ export const createRouteRenderer: (params: RendererParams) => FC = ({ context, m
17
17
 
18
18
  // Own guards plus every ancestor's — the same set the request would be judged by. Whether a
19
19
  // screen is guarded is a question about THIS list being non-empty, never about the declaration
20
- // carrying a `guards` property: elevation always assigns the array, empty when nothing was
20
+ // carrying a `guards` property: binding always assigns the array, empty when nothing was
21
21
  // declared, and an empty list means an open screen. Asking the wrong question refuses every
22
22
  // guest screen with `frontend-guard`, since no guard can match when there are none.
23
23
  const aliases = module.getGuards()