uniweb 0.14.16 → 0.14.17

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uniweb",
3
- "version": "0.14.16",
3
+ "version": "0.14.17",
4
4
  "description": "Create structured Vite + React sites with content/code separation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -42,8 +42,8 @@
42
42
  "prompts": "^2.4.2",
43
43
  "tar": "^7.0.0",
44
44
  "@uniweb/core": "0.8.2",
45
- "@uniweb/kit": "0.10.14",
46
- "@uniweb/runtime": "0.9.4"
45
+ "@uniweb/runtime": "0.9.4",
46
+ "@uniweb/kit": "0.10.15"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@uniweb/build": "0.16.10",
@@ -1751,11 +1751,27 @@ section type, same arrangement as `fetcher:` and `search:`.
1751
1751
  A form gets its destination from the first of these that applies:
1752
1752
 
1753
1753
  1. **`submit:` in `site.yml`** — an endpoint you name yourself.
1754
- 2. **One the host supplies.** A site published to Uniweb Cloud gets submission
1755
- handling from the platform, so it normally needs **no `submit:` at all**.
1754
+ 2. **One the host supplies** `services.submit` in the served payload. A site
1755
+ published to Uniweb Cloud gets submission handling from the platform, so it
1756
+ normally needs **no `submit:` at all**.
1756
1757
  3. **Neither** — there is no destination, and the form says so instead of
1757
1758
  guessing at one.
1758
1759
 
1760
+ That is the general arrangement, not a forms-only one. A host declares
1761
+ everything it offers under `services`, keyed by name, and every service resolves
1762
+ by the same rule — your declaration, then the host's, then neither:
1763
+
1764
+ ```jsx
1765
+ import { resolveService } from '@uniweb/kit'
1766
+
1767
+ const { url, reason } = resolveService(website, 'assistant') // or 'search', or your own
1768
+ ```
1769
+
1770
+ **The name is open**: the framework ships clients for what it implements and
1771
+ resolution for anything, so a foundation can define a service the framework has
1772
+ never heard of and a host can fill it. Same escalation `fetcher.transports`
1773
+ offers for data.
1774
+
1759
1775
  ```yaml
1760
1776
  # site.yml — only when YOU are providing the endpoint. Publishing to Uniweb
1761
1777
  # Cloud needs nothing here; `uniweb export` and most `deploy --host` targets do.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-08-01T11:54:04.124Z",
3
+ "generatedAt": "2026-08-01T13:56:23.082Z",
4
4
  "packages": {
5
5
  "@uniweb/build": {
6
6
  "version": "0.16.10",
@@ -45,7 +45,7 @@
45
45
  "deps": []
46
46
  },
47
47
  "@uniweb/kit": {
48
- "version": "0.10.14",
48
+ "version": "0.10.15",
49
49
  "path": "framework/kit",
50
50
  "deps": [
51
51
  "@uniweb/core",
@@ -110,7 +110,7 @@
110
110
  "deps": []
111
111
  },
112
112
  "@uniweb/unipress": {
113
- "version": "0.6.8",
113
+ "version": "0.6.9",
114
114
  "path": "framework/unipress",
115
115
  "deps": [
116
116
  "@uniweb/build",