@neocompose/cli 0.38.5 → 0.39.0
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 +31 -0
- package/README.md +8 -8
- package/dist/neo.mjs +3236 -1568
- package/package.json +1 -1
- package/skills/neocompose-cli/SKILL.md +1 -1
- package/skills/neocompose-cli/references/cli-development.md +1 -1
- package/skills/neocompose-cli/references/commands-and-sync.md +7 -0
- package/skills/neocompose-cli/references/declarations-and-construction.md +7 -6
- package/skills/neocompose-cli/references/values-identities-and-references.md +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.39.0] - 2026-08-29
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Adopt project source format 4 and schema contract 4.0. Project records now
|
|
8
|
+
use compact numeric setting ordinals, a single class/member modality axis,
|
|
9
|
+
and absent keys for default enum arms.
|
|
10
|
+
- Replace `@hidden` with `@visibility(.Hidden)`, replace boolean annotation
|
|
11
|
+
settings with contextual enum cases, and remove the unused `@locked`
|
|
12
|
+
annotation.
|
|
13
|
+
- Canonicalize absent lookup collection values and variant-folder bindings
|
|
14
|
+
without writing equivalent `null` spellings.
|
|
15
|
+
|
|
16
|
+
### Compatibility
|
|
17
|
+
|
|
18
|
+
- This CLI requires runtime export schema 29 and the matching Neo Compose SDK.
|
|
19
|
+
Older SDKs would silently lose class/member modality, interpret the new
|
|
20
|
+
ordinal settings as their old defaults, and retain protection behavior for
|
|
21
|
+
the removed `locked` field.
|
|
22
|
+
|
|
23
|
+
## [0.38.6] - 2026-08-29
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Preserve locally edited nested records when the server deletes their owning
|
|
28
|
+
graph, restore kept records as explicit absent-CAS creates, and accept a
|
|
29
|
+
later server recreation cleanly after local deletion wins.
|
|
30
|
+
- Warn during pull when a conflicted record's retained local base strands
|
|
31
|
+
newly downloaded descendant value rows, before a later push reaches the
|
|
32
|
+
stale-base safety refusal.
|
|
33
|
+
|
|
3
34
|
## [0.38.5] - 2026-08-29
|
|
4
35
|
|
|
5
36
|
### Fixed
|
package/README.md
CHANGED
|
@@ -124,7 +124,7 @@ abstract class InventoryItem<
|
|
|
124
124
|
TContext extends SomeClass
|
|
125
125
|
> {
|
|
126
126
|
@id("item-name-id")
|
|
127
|
-
@settings(
|
|
127
|
+
@settings(searchBy: .MemberKey)
|
|
128
128
|
virtual string Name = "";
|
|
129
129
|
|
|
130
130
|
@id("item-rarity-id")
|
|
@@ -149,10 +149,10 @@ abstract class InventoryItem<
|
|
|
149
149
|
The source identifier is the persisted name. `@settings` and `@storage` are
|
|
150
150
|
typed by their declaration context; invalid fields and enum cases are
|
|
151
151
|
diagnostics. Swift-like `.EnumCase` syntax works whenever the expected enum
|
|
152
|
-
type is known. Focused annotations such as `@id`, `@
|
|
153
|
-
|
|
154
|
-
reserved for platform-owned system records. `@
|
|
155
|
-
selector and classes tree leave out; absent means visible.
|
|
152
|
+
type is known. Focused annotations such as `@id`, `@visibility`, and
|
|
153
|
+
`@relations` carry cross-cutting behavior. Never author `@system`; it is
|
|
154
|
+
reserved for platform-owned system records. `@visibility(.Hidden)` marks a
|
|
155
|
+
class the member selector and classes tree leave out; absent means visible.
|
|
156
156
|
|
|
157
157
|
Lists take repeatable `@index` and `@column` annotations naming a field on the
|
|
158
158
|
entry class. An index requires a non-localizable `string` or a single-select
|
|
@@ -162,9 +162,9 @@ default layout for every field a subclass adds.
|
|
|
162
162
|
```neo
|
|
163
163
|
@id("outpost-list-id")
|
|
164
164
|
@settings(kind: .Unordered)
|
|
165
|
-
@index(member: Slug,
|
|
166
|
-
@column(member: Slug, width: 158,
|
|
167
|
-
@column(member: Notes,
|
|
165
|
+
@index(member: Slug, kind: .Unique)
|
|
166
|
+
@column(member: Slug, width: 158, pin: .Leading)
|
|
167
|
+
@column(member: Notes, visibility: .Hidden)
|
|
168
168
|
public List<Outpost> Outposts = [];
|
|
169
169
|
```
|
|
170
170
|
|