dreamteamer 0.25.0 → 0.25.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.
@@ -85,8 +85,25 @@ schema:
85
85
  description: How a record's id is derived and what shape it is allowed to take.
86
86
  properties:
87
87
  generate:
88
- type: string
89
- description: 'Template the id is built from, e.g. `{{ created | date }}--{{ name | slug }}`. Derive it from a field the record OWNS, never from write time.'
88
+ # ⚠ STRING OR AN ORDERED LIST OF STRINGS, and this schema has to say so or `check` refuses
89
+ # the very form 0.25.0 added. `generateId` learned the list in 0.25.0 and THIS declaration
90
+ # did not, so a descriptor carrying one compiled fine and then failed `check` with
91
+ # "must be string" — the feature was unusable in exactly the workspaces it was written for.
92
+ # Missed because the release was smoked with `dt add` against string templates; nothing
93
+ # ran `check` over a descriptor that used a list.
94
+ # anyOf, NOT oneOf: the validator coerces a single-element array to a string, so
95
+ # `['{{ name | slug }}']` matches BOTH branches and `oneOf` (exactly one) rejects it.
96
+ anyOf:
97
+ - type: string
98
+ - type: array
99
+ minItems: 1
100
+ items: { type: string }
101
+ description: >-
102
+ Template the id is built from, e.g. `{{ created | date }}--{{ name | slug }}`. Derive it from a field the
103
+ record OWNS, never from write time. An ORDERED LIST takes the first template whose fields are all present —
104
+ `['{{ code }}', '{{ name | slug }}']` is "the code when there is one, the name otherwise", which is how a
105
+ collection keeps a readable latin handle without forcing a field onto every record. A template naming a
106
+ missing field is skipped rather than fatal; when every one fails, the last error is the one raised.
90
107
  pattern:
91
108
  type: string
92
109
  description: Regex every id must match. `check` enforces it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dreamteamer",
3
- "version": "0.25.0",
3
+ "version": "0.25.1",
4
4
  "description": "A workspace compiler for coding agents — schema-validated records as plain files over git, compiled into every harness",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Gilad Khen <giladkhen@gmail.com>",