@dforge-core/metadata 0.0.12 → 0.0.14

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.
Files changed (112) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/index.d.ts +1251 -28
  3. package/dist/index.js +418 -32
  4. package/dist/index.js.map +1 -1
  5. package/package.json +60 -58
  6. package/schemas/data_views.schema.json +16 -3
  7. package/schemas/folders.schema.json +18 -2
  8. package/schemas/reports.schema.json +25 -4
  9. package/src/filter.ts +35 -3
  10. package/src/index.ts +10 -1
  11. package/src/reports.ts +38 -5
  12. package/dist/actions.d.ts +0 -31
  13. package/dist/actions.d.ts.map +0 -1
  14. package/dist/actions.js +0 -7
  15. package/dist/actions.js.map +0 -1
  16. package/dist/aggregation.d.ts +0 -13
  17. package/dist/aggregation.d.ts.map +0 -1
  18. package/dist/aggregation.js +0 -17
  19. package/dist/aggregation.js.map +0 -1
  20. package/dist/base-datatypes.d.ts +0 -5
  21. package/dist/base-datatypes.d.ts.map +0 -1
  22. package/dist/base-datatypes.js +0 -49
  23. package/dist/base-datatypes.js.map +0 -1
  24. package/dist/column-types.d.ts +0 -5
  25. package/dist/column-types.d.ts.map +0 -1
  26. package/dist/column-types.js +0 -18
  27. package/dist/column-types.js.map +0 -1
  28. package/dist/data-views.d.ts +0 -95
  29. package/dist/data-views.d.ts.map +0 -1
  30. package/dist/data-views.js +0 -18
  31. package/dist/data-views.js.map +0 -1
  32. package/dist/deps.d.ts +0 -55
  33. package/dist/deps.d.ts.map +0 -1
  34. package/dist/deps.js +0 -23
  35. package/dist/deps.js.map +0 -1
  36. package/dist/derive.d.ts +0 -19
  37. package/dist/derive.d.ts.map +0 -1
  38. package/dist/derive.js +0 -68
  39. package/dist/derive.js.map +0 -1
  40. package/dist/domains.d.ts +0 -32
  41. package/dist/domains.d.ts.map +0 -1
  42. package/dist/domains.js +0 -10
  43. package/dist/domains.js.map +0 -1
  44. package/dist/entity-meta.d.ts +0 -18
  45. package/dist/entity-meta.d.ts.map +0 -1
  46. package/dist/entity-meta.js +0 -45
  47. package/dist/entity-meta.js.map +0 -1
  48. package/dist/entity.d.ts +0 -116
  49. package/dist/entity.d.ts.map +0 -1
  50. package/dist/entity.js +0 -7
  51. package/dist/entity.js.map +0 -1
  52. package/dist/field-types.d.ts +0 -287
  53. package/dist/field-types.d.ts.map +0 -1
  54. package/dist/field-types.js +0 -58
  55. package/dist/field-types.js.map +0 -1
  56. package/dist/filter.d.ts +0 -26
  57. package/dist/filter.d.ts.map +0 -1
  58. package/dist/filter.js +0 -7
  59. package/dist/filter.js.map +0 -1
  60. package/dist/folders.d.ts +0 -32
  61. package/dist/folders.d.ts.map +0 -1
  62. package/dist/folders.js +0 -6
  63. package/dist/folders.js.map +0 -1
  64. package/dist/index.d.ts.map +0 -1
  65. package/dist/jobs.d.ts +0 -32
  66. package/dist/jobs.d.ts.map +0 -1
  67. package/dist/jobs.js +0 -3
  68. package/dist/jobs.js.map +0 -1
  69. package/dist/manifest.d.ts +0 -53
  70. package/dist/manifest.d.ts.map +0 -1
  71. package/dist/manifest.js +0 -4
  72. package/dist/manifest.js.map +0 -1
  73. package/dist/menus.d.ts +0 -32
  74. package/dist/menus.d.ts.map +0 -1
  75. package/dist/menus.js +0 -3
  76. package/dist/menus.js.map +0 -1
  77. package/dist/print-templates.d.ts +0 -36
  78. package/dist/print-templates.d.ts.map +0 -1
  79. package/dist/print-templates.js +0 -4
  80. package/dist/print-templates.js.map +0 -1
  81. package/dist/reports.d.ts +0 -84
  82. package/dist/reports.d.ts.map +0 -1
  83. package/dist/reports.js +0 -24
  84. package/dist/reports.js.map +0 -1
  85. package/dist/roles.d.ts +0 -10
  86. package/dist/roles.d.ts.map +0 -1
  87. package/dist/roles.js +0 -3
  88. package/dist/roles.js.map +0 -1
  89. package/dist/seed-data.d.ts +0 -8
  90. package/dist/seed-data.d.ts.map +0 -1
  91. package/dist/seed-data.js +0 -4
  92. package/dist/seed-data.js.map +0 -1
  93. package/dist/settings.d.ts +0 -26
  94. package/dist/settings.d.ts.map +0 -1
  95. package/dist/settings.js +0 -3
  96. package/dist/settings.js.map +0 -1
  97. package/dist/traits.d.ts +0 -14
  98. package/dist/traits.d.ts.map +0 -1
  99. package/dist/traits.js +0 -121
  100. package/dist/traits.js.map +0 -1
  101. package/dist/triggers.d.ts +0 -28
  102. package/dist/triggers.d.ts.map +0 -1
  103. package/dist/triggers.js +0 -3
  104. package/dist/triggers.js.map +0 -1
  105. package/dist/types.d.ts +0 -128
  106. package/dist/types.d.ts.map +0 -1
  107. package/dist/types.js +0 -7
  108. package/dist/types.js.map +0 -1
  109. package/dist/webhooks.d.ts +0 -31
  110. package/dist/webhooks.d.ts.map +0 -1
  111. package/dist/webhooks.js +0 -3
  112. package/dist/webhooks.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,66 @@ All notable changes to `@dforge-core/metadata` are documented here.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.0.14] — 2026-08-10
9
+
10
+ ### Added
11
+
12
+ - **A report parameter can borrow a column domain.** `paramDef` accepts `domain`
13
+ (`domain_cd` or `module_cd.domain_cd`) as an alternative to `fieldTypeCd`: the domain
14
+ supplies the control *and* the option list, so a list shared with the column the
15
+ parameter's value is written to is authored — and translated — exactly once instead of
16
+ being restated per parameter and left to drift. The action-DSL equivalent is
17
+ `paramCd: domain <domainCd>`, which has no JSON schema of its own.
18
+
19
+ `schemas/reports.schema.json` rejects exactly one combination —
20
+ `not: { required: ["fieldTypeCd", "domain"] }` — so declaring both is invalid, matching
21
+ the install-time check that refuses to silently pick a winner. Declaring neither stays
22
+ valid: the param installs as `text`.
23
+
24
+ ### Changed
25
+
26
+ - **`ParamDef` is now a union, and `fieldTypeCd` is no longer required.** The type mirrors
27
+ the schema: one branch carries an optional `fieldTypeCd` (with `domain?: never`), the
28
+ other requires `domain` (with `fieldTypeCd?: never`). The shared members moved to an
29
+ exported `ParamDefBase`.
30
+
31
+ **Breaking for TypeScript consumers** in two ways, both intentional: a param literal
32
+ declaring both keys no longer compiles, and reading `p.fieldTypeCd` off a `ParamDef`
33
+ now yields `string | undefined` — a domain-backed param genuinely doesn't carry one,
34
+ and an inline param may omit it and take the `text` default. This is the
35
+ authoring-manifest type (what you write in `ui/reports.json`); the SDK's runtime
36
+ `ReportParamDef` is unchanged, since the server resolves the domain at install and the
37
+ wire payload always carries a concrete `fieldTypeCd` plus the merged option list.
38
+
39
+ - **`params.options` documentation.** The doc comment now spells out that a dropdown
40
+ param's options take the same rich `{value, label, icon, color}` form entity columns
41
+ use, and that a bare string list renders raw codes in every locale — which is what
42
+ action and report parameters did until dForge-core 1.20.0 gave them a place to put a
43
+ label. Per-locale option labels live in `translations/<locale>.json` under
44
+ `reports.<report_cd>.params.<param_cd>.options`.
45
+
46
+ ## [0.0.13] — 2026-08-07
47
+
48
+ ### Changed
49
+
50
+ - **Filter operators are now a closed, enumerated set.** `FilterCondition.o` and
51
+ `FilterGroup.g` were typed as plain `string`, and the `o` field in
52
+ `schemas/{data_views,reports,folders}.schema.json` had no `enum` — its description
53
+ listed operators that never existed (`isNull`, `isNotNull`, `neq`, `gt`, `gte`,
54
+ `lt`, `lte`, `like`). Modules were authored against that list; the server drops an
55
+ operator it can't translate, so those conditions were silently discarded at query
56
+ time and the query ran *wider* than written. The schemas now carry an `enum`, and
57
+ the TS types narrow to the new `FilterOperator` / `FilterGroupOperator` unions,
58
+ exported alongside the `FILTER_OPERATORS` / `FILTER_GROUP_OPERATORS` value arrays.
59
+
60
+ The real spellings for the ones most often invented: `null` / `!null` (not
61
+ `isNull` / `isNotNull`), `contains` or `mask` (not `like`), and
62
+ `!=` / `>` / `>=` / `<` / `<=` (not `neq` / `gt` / `gte` / `lt` / `lte`).
63
+
64
+ **Breaking for TypeScript consumers** that assign an arbitrary `string` to `o` or
65
+ `g` — those assignments now fail to compile, which is the point: dForge-core
66
+ rejects the same values at module install.
67
+
8
68
  ## [0.0.12] — 2026-08-04
9
69
 
10
70
  ### Changed