@dforge-core/metadata 0.0.40 → 0.0.42
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 +29 -0
- package/dist/dsl/index.js +4 -4
- package/dist/dsl/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/schemas/entity.schema.json +32 -2
- package/schemas/roles.schema.json +5 -2
- package/src/dsl/builtins.ts +4 -4
- package/src/index.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,35 @@ and this package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.0.42] — 2026-10-15
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`entity.schema.json`, `periodGuards`:** closed-period locks for a document that posts to no
|
|
15
|
+
register — a period entity, the date the period follows from, the column that references it, and
|
|
16
|
+
`lockedFields` (with `lineEntity` / `lineField` / `lockedLineFields` for lines). Not allowed on an
|
|
17
|
+
extension.
|
|
18
|
+
- **`entity.schema.json`, partial and unique indexes:** an entry in `indexes` takes `unique` and
|
|
19
|
+
`where` (a SQL condition, so uniqueness holds among the rows it selects).
|
|
20
|
+
- **`roles.schema.json`, rights keys are checked for their prefix:** `propertyNames` accepts a bare
|
|
21
|
+
entity code, `module.entity`, `action:<code>`, and `sp:` / `report:` with an optional module
|
|
22
|
+
qualifier, so an editor flags `"post_invoice": "E"` (which install would drop) as it is typed.
|
|
23
|
+
- **`RegisterSource`** type is exported from the package root.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- **DSL builtins `getAccountBalance` / `getAccountTurnover`:** the signatures and hints show the new
|
|
28
|
+
last `options` argument — `groupBy`, `exclude` and (balance only) `before`.
|
|
29
|
+
|
|
30
|
+
## [0.0.41] — 2026-10-13
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- **`entity.schema.json`: an extension that declares only `reactions` is valid.** The root
|
|
35
|
+
requirement of `fields` or `traits` now also accepts `extends` together with `reactions`, so a
|
|
36
|
+
bridge module's extension file carrying just field-change reactions (e.g. `crm-pricing`'s
|
|
37
|
+
`crm.quote_line`) no longer fails validation.
|
|
38
|
+
|
|
10
39
|
## [0.0.40] — 2026-10-13
|
|
11
40
|
|
|
12
41
|
### Added
|
package/dist/dsl/index.js
CHANGED
|
@@ -805,15 +805,15 @@ var BUILTINS = [
|
|
|
805
805
|
},
|
|
806
806
|
{
|
|
807
807
|
name: "getAccountBalance",
|
|
808
|
-
signature: "getAccountBalance(register, account, filter?, asOf?)",
|
|
808
|
+
signature: "getAccountBalance(register, account, filter?, asOf?, options?)",
|
|
809
809
|
returns: "object",
|
|
810
|
-
doc: "Balance of one account of an accounting register: `{debit, credit, net}` per resource. `filter` narrows by a dimension, or by an analytic kind the ACCOUNT declares \u2014 an analytic takes the key alone, or `{ entity, value }` to name one entity of a kind that is a union of several."
|
|
810
|
+
doc: "Balance of one account of an accounting register: `{debit, credit, net}` per resource. `filter` narrows by a dimension, or by an analytic kind the ACCOUNT declares \u2014 an analytic takes the key alone, or `{ entity, value }` to name one entity of a kind that is a union of several. `options`: `groupBy` (a name or array \u2014 returns an array, a row per combination with a non-zero balance), `exclude: { entity, key }` (leaves out that document's postings) and `before` (a moment, exclusive, in place of `asOf`)."
|
|
811
811
|
},
|
|
812
812
|
{
|
|
813
813
|
name: "getAccountTurnover",
|
|
814
|
-
signature: "getAccountTurnover(register, account, filter, from, to)",
|
|
814
|
+
signature: "getAccountTurnover(register, account, filter, from, to, options?)",
|
|
815
815
|
returns: "object",
|
|
816
|
-
doc: "What moved through one account over an interval: `{debit, credit, net}` per resource. `filter` narrows as in `getAccountBalance` and may be `null`; `from` and `to` are both required."
|
|
816
|
+
doc: "What moved through one account over an interval: `{debit, credit, net}` per resource. `filter` narrows as in `getAccountBalance` and may be `null`; `from` and `to` are both required. `options` takes `groupBy` and `exclude` as in `getAccountBalance`; a grouped turnover has a row per combination that moved."
|
|
817
817
|
},
|
|
818
818
|
{
|
|
819
819
|
name: "getCorrespondence",
|