@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/package.json
CHANGED
|
@@ -83,7 +83,7 @@ wrappers.
|
|
|
83
83
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
84
84
|
|
|
85
85
|
```html
|
|
86
|
-
<!-- reviewed-through-cli: 0.
|
|
86
|
+
<!-- reviewed-through-cli: 0.39.0 -->
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
The quoted version above is checked too, so this instruction cannot go stale
|
|
@@ -94,6 +94,13 @@ rows its own file projection holds, so the plan would delete live server rows.
|
|
|
94
94
|
Nothing is planned in that state; run `neo pull` and retry. The same message
|
|
95
95
|
as a warning reports the inconsistency without blocking.
|
|
96
96
|
|
|
97
|
+
When pull conflicts with a server-side deletion, keeping the authored record
|
|
98
|
+
restores it as an explicit create guarded by an absent-record CAS check;
|
|
99
|
+
removing it from the resolved source accepts the deletion without sending a
|
|
100
|
+
write. Pull also warns immediately when a conflicted record's retained local
|
|
101
|
+
base strands newly downloaded descendant value rows. Resolve that conflict
|
|
102
|
+
with `neo resolve --mine` or `neo resolve --theirs` before pushing.
|
|
103
|
+
|
|
97
104
|
For `base-hash-conflict`, pull and merge. For `version-bump-required`, inspect
|
|
98
105
|
the classification and use `neo push --accept-bump` only when the bump is
|
|
99
106
|
intended.
|
|
@@ -44,7 +44,7 @@ interface INamed {
|
|
|
44
44
|
@storage(allowed: .Immutable)
|
|
45
45
|
abstract class Item<TContext extends SomeClass> : INamed {
|
|
46
46
|
@id("item-name-id")
|
|
47
|
-
@settings(
|
|
47
|
+
@settings(searchBy: .MemberKey)
|
|
48
48
|
public virtual string Name = "";
|
|
49
49
|
|
|
50
50
|
@id("item-use-id")
|
|
@@ -80,17 +80,18 @@ that does not authorize copying the annotation onto authored records.
|
|
|
80
80
|
|
|
81
81
|
Use context-aware typed annotations:
|
|
82
82
|
|
|
83
|
-
- `@settings(...)` for
|
|
83
|
+
- `@settings(...)` for format/search/selection/editor constraints.
|
|
84
84
|
- `@storage(allowed: ...)` on classes and storage keys on members.
|
|
85
|
-
- `@
|
|
86
|
-
-
|
|
85
|
+
- `@visibility(.Hidden)` only on a class; absence means visible.
|
|
86
|
+
- Stateful settings use contextual enum cases, such as
|
|
87
|
+
`@settings(format: .Plain)` and `@settings(selection: .Multi)`.
|
|
87
88
|
- `@relations(...)` only on the source class of a specialized direct relation.
|
|
88
89
|
|
|
89
90
|
Use numeric literals for numeric limits. Keep annotations separate instead of
|
|
90
91
|
inventing a generic metadata bag.
|
|
91
92
|
|
|
92
|
-
`@index(member: Field,
|
|
93
|
-
`@column(member: Field, width: ...,
|
|
93
|
+
`@index(member: Field, kind: .Unique)` and
|
|
94
|
+
`@column(member: Field, width: ..., visibility: ..., pin: ..., overflow: ...)`
|
|
94
95
|
are repeatable List annotations. `member:` is a bare field name on the entry
|
|
95
96
|
class. An index accepts a non-localizable string or single-select enum. A column
|
|
96
97
|
may target `__other__` for the default layout of subclass-added fields.
|