@abloatai/ablo 0.29.0 → 0.29.1
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/CHANGELOG.md +7 -1
- package/dist/schema/select.d.ts +4 -4
- package/dist/schema/select.js +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.29.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- **The `omitModels` doc example uses generic model names.** The schema-projection example in the `omitModels` JSDoc and the API docs now reads `omitModels(full, ['reports', 'reportSections'])` — an illustrative parent/child pair rather than application-specific model names. Documentation only; no API or behavior change.
|
|
8
|
+
|
|
3
9
|
## 0.29.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
|
6
12
|
|
|
7
|
-
- **`omitModels()` projects a schema by exclusion — the companion to `selectModels`.** Keep every model except the named ones, so one
|
|
13
|
+
- **`omitModels()` projects a schema by exclusion — the companion to `selectModels`.** Keep every model except the named ones, so one app can be the general case while a separate app owns the models it drops. The suite shell narrows with `omitModels(full, ['reports', 'reportSections'])` while the standalone app selects those same models. Validation matches `selectModels`: relations into the omitted set are dropped, and a dropped `parent` edge throws, so a model whose scope routes through an omitted parent can't be silently kept. Each app now binds its own schema projection rather than sharing one global registration.
|
|
8
14
|
|
|
9
15
|
- **Every application model has one typed access path: `ablo.<model>`.** Both the WebSocket and stateless HTTP clients return bare rows from `retrieve` and accept the same typed create/update/delete forms. The schema-less `Ablo({ schema: null })` overload, the public `.model(name)` accessors, the transport-envelope types, and the hidden capability CRUD client are removed. Select `transport: 'http'` for workers without changing model syntax, use `commits.create` only for atomic multi-row writes, and `sessions.create` to mint a scoped user or agent credential.
|
|
10
16
|
|
package/dist/schema/select.d.ts
CHANGED
|
@@ -25,12 +25,12 @@ import type { Schema, SchemaRecord } from './schema.js';
|
|
|
25
25
|
export declare function selectModels<S extends SchemaRecord, K extends keyof S & string>(schema: Schema<S>, keys: readonly K[]): Schema<Pick<S, K>>;
|
|
26
26
|
/**
|
|
27
27
|
* `omitModels` is `selectModels` from the other side: keep every model EXCEPT
|
|
28
|
-
* the named ones. Use it when an app is the general case and
|
|
29
|
-
* owns the omitted models —
|
|
30
|
-
*
|
|
28
|
+
* the named ones. Use it when an app is the general case and a separate app
|
|
29
|
+
* owns the omitted models — the suite shell drops a specialized store that the
|
|
30
|
+
* standalone app selects for itself:
|
|
31
31
|
*
|
|
32
32
|
* ```ts
|
|
33
|
-
* export const schema = omitModels(full, ['
|
|
33
|
+
* export const schema = omitModels(full, ['reports', 'reportSections']);
|
|
34
34
|
* ```
|
|
35
35
|
*
|
|
36
36
|
* Same validation as `selectModels`: relations into the omitted set are
|
package/dist/schema/select.js
CHANGED
|
@@ -55,12 +55,12 @@ export function selectModels(schema, keys) {
|
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* `omitModels` is `selectModels` from the other side: keep every model EXCEPT
|
|
58
|
-
* the named ones. Use it when an app is the general case and
|
|
59
|
-
* owns the omitted models —
|
|
60
|
-
*
|
|
58
|
+
* the named ones. Use it when an app is the general case and a separate app
|
|
59
|
+
* owns the omitted models — the suite shell drops a specialized store that the
|
|
60
|
+
* standalone app selects for itself:
|
|
61
61
|
*
|
|
62
62
|
* ```ts
|
|
63
|
-
* export const schema = omitModels(full, ['
|
|
63
|
+
* export const schema = omitModels(full, ['reports', 'reportSections']);
|
|
64
64
|
* ```
|
|
65
65
|
*
|
|
66
66
|
* Same validation as `selectModels`: relations into the omitted set are
|