@aotter/mantle 0.1.2-alpha.2 → 0.1.2-alpha.4

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.
@@ -100,7 +100,8 @@ RuntimePlan and emits a versioned SQL migration artifact containing:
100
100
  - whether the change is expand-only or destructive.
101
101
 
102
102
  Mantle deterministically emits initial tables and safe additive changes. Field
103
- renames, type conversions, data transforms, and narrowing constraints are
103
+ renames, type conversions, data transforms, narrowing constraints, and any
104
+ `uniqueIndexes` tuple change are
104
105
  destructive in the pre-beta contract. Cloud rejects them; operators rebuild the
105
106
  database and move required data manually outside Mantle and Control. Production
106
107
  neither generates nor accepts arbitrary migration SQL.
@@ -87,8 +87,8 @@ The native-table storage contract is a pre-beta breaking change. Existing
87
87
  generic-`entries` databases are unsupported: rebuild the instance and move any
88
88
  required data manually outside Mantle. New native-table instances deploy safe
89
89
  additive changes online; destructive changes are rejected and require another
90
- manual rebuild. Mantle does not ship an in-product migration workflow for this
91
- unreleased storage format.
90
+ manual rebuild. Any `uniqueIndexes` tuple change is destructive. Mantle does not
91
+ ship an in-product migration workflow for this unreleased storage format.
92
92
 
93
93
  ## Source
94
94
  - [`packages/mantle/README.md`](../../../packages/mantle/README.md)
@@ -199,7 +199,9 @@ Keep implementation-detail children fold-only. Use `nav.standalone: true` when s
199
199
  On SQLite storage each Schema is a native table and every tuple becomes an
200
200
  index over its native field columns; queries benefit from a leftmost prefix.
201
201
  Unique indexes are also checked before every write; a conflicting row is
202
- `CONFLICT`.
202
+ `CONFLICT`. After the first deployment, adding, removing, reordering, or changing
203
+ any `uniqueIndexes` tuple is destructive and requires rebuilding the instance
204
+ and moving required data manually. Automatic deployment rejects the change.
203
205
 
204
206
  ## `searchableFields`
205
207
 
@@ -41,7 +41,8 @@ old `entries` layout. Move required data manually outside Mantle and Control;
41
41
  there is no product migration workflow for this unreleased format. Automatic
42
42
  artifacts cover initial and additive changes only. Removed columns and tables
43
43
  remain physically present so the previous Worker can still run. Renames, type
44
- changes and data transforms require the same manual rebuild. The pre-beta Cloud
44
+ changes, data transforms, and any `uniqueIndexes` tuple change require the same
45
+ manual rebuild. The pre-beta Cloud
45
46
  path does not accept or execute destructive SQL.
46
47
 
47
48
  Row APIs are now Schema-qualified. `EntryRepository.get` and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aotter/mantle",
3
- "version": "0.1.2-alpha.2",
3
+ "version": "0.1.2-alpha.4",
4
4
  "description": "Embeddable Mantle Core umbrella with Spec and Runtime; Web, Admin, Bun, Vercel, Cloudflare, and Admin UI are optional peer packages.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://mantle.tools/",
@@ -79,8 +79,8 @@
79
79
  "README.md"
80
80
  ],
81
81
  "dependencies": {
82
- "@aotter/mantle-runtime": "0.1.2-alpha.2",
83
- "@aotter/mantle-spec": "0.1.2-alpha.2"
82
+ "@aotter/mantle-spec": "0.1.2-alpha.4",
83
+ "@aotter/mantle-runtime": "0.1.2-alpha.4"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "aws4fetch": "^1.0.20",
@@ -88,12 +88,12 @@
88
88
  "hono": "^4.12.0",
89
89
  "@libsql/client": "^0.17.4",
90
90
  "zod": "^4.5.0",
91
- "@aotter/mantle-admin": "0.1.2-alpha.2",
92
- "@aotter/mantle-admin-ui": "0.1.2-alpha.2",
93
- "@aotter/mantle-bun": "0.1.2-alpha.2",
94
- "@aotter/mantle-vercel": "0.1.2-alpha.2",
95
- "@aotter/mantle-web": "0.1.2-alpha.2",
96
- "@aotter/mantle-cloudflare": "0.1.2-alpha.2"
91
+ "@aotter/mantle-admin": "0.1.2-alpha.4",
92
+ "@aotter/mantle-bun": "0.1.2-alpha.4",
93
+ "@aotter/mantle-admin-ui": "0.1.2-alpha.4",
94
+ "@aotter/mantle-cloudflare": "0.1.2-alpha.4",
95
+ "@aotter/mantle-vercel": "0.1.2-alpha.4",
96
+ "@aotter/mantle-web": "0.1.2-alpha.4"
97
97
  },
98
98
  "peerDependenciesMeta": {
99
99
  "@aotter/mantle-admin": {
@@ -136,12 +136,12 @@
136
136
  "typescript": "^6.0.3",
137
137
  "vitest": "^4.1.11",
138
138
  "zod": "^4.5.4",
139
- "@aotter/mantle-admin-ui": "0.1.2-alpha.2",
140
- "@aotter/mantle-admin": "0.1.2-alpha.2",
141
- "@aotter/mantle-bun": "0.1.2-alpha.2",
142
- "@aotter/mantle-cloudflare": "0.1.2-alpha.2",
143
- "@aotter/mantle-vercel": "0.1.2-alpha.2",
144
- "@aotter/mantle-web": "0.1.2-alpha.2"
139
+ "@aotter/mantle-bun": "0.1.2-alpha.4",
140
+ "@aotter/mantle-admin-ui": "0.1.2-alpha.4",
141
+ "@aotter/mantle-admin": "0.1.2-alpha.4",
142
+ "@aotter/mantle-cloudflare": "0.1.2-alpha.4",
143
+ "@aotter/mantle-vercel": "0.1.2-alpha.4",
144
+ "@aotter/mantle-web": "0.1.2-alpha.4"
145
145
  },
146
146
  "engines": {
147
147
  "node": ">=22"