@neocompose/cli 0.71.2 → 0.71.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neocompose/cli",
3
- "version": "0.71.2",
3
+ "version": "0.71.4",
4
4
  "description": "Neo Compose native project-source CLI with bidirectional sync.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -9,7 +9,7 @@ description: >-
9
9
  `@neocompose/cli` or `node cli/bin/neo.mjs` in the neo-compose repository.
10
10
  ---
11
11
 
12
- <!-- reviewed-through-cli: 0.71.2 -->
12
+ <!-- reviewed-through-cli: 0.71.4 -->
13
13
 
14
14
  # Neo Compose CLI
15
15
 
@@ -497,3 +497,41 @@ project candidate, including new dialogues and pending schema or value changes,
497
497
  without fetching or committing server content. Exit 1 means the graph
498
498
  would fail on device. Keep every dialogue edit in the tracked `.neoflow` source
499
499
  and commit it with `neo push`.
500
+
501
+ ### Dialogue group names and local symbols
502
+
503
+ Use `DialogueGroup QuestUnlocks = new(kind: .Standard, parent: Quests, name: "Unlocks")`
504
+ when the local identifier should differ from the record's display name. Omitting
505
+ `name` uses the identifier. Unity generates its dialogue API from the stored
506
+ name (`Quests.Unlocks`), independently of the local identifier. Pull, force-pull,
507
+ and reset retain the local identifier and authored file path by `@id`; a remote
508
+ rename updates the `name:` argument.
509
+
510
+ Trigger groups accept both `group: QuestUnlocks.Medium` and
511
+ `group: Quests.Unlocks.Medium`. Qualified paths use the group's display name
512
+ converted to an identifier; priority options use their declared names.
513
+ Completion, hover, navigation, and diagnostics resolve both forms. Sibling
514
+ groups that produce the same path segment require their distinct local aliases.
515
+
516
+ ### NeoFlow display names
517
+
518
+ For `Text`, `Actions`, `Conditions`, `Option`, and `Outcome`, omitting `name:`
519
+ infers the label from a custom authored symbol. `Option Accept = new()` gets
520
+ label `Accept`, regardless of its prose. Dialogue classes use the same rule
521
+ when `@settings(name: ...)` is omitted.
522
+
523
+ Generated symbols such as `Text1`, `Actions2`, `Option1_2`, `Outcome1`, and the
524
+ identity-based `Node_...` forms stay unlabeled for their corresponding kinds.
525
+ A symbol from another kind is custom: `Option Text1` gets label `Text1`.
526
+ Explicit names win, including
527
+ `name: ""` for clearing a label, or `name: null` on optional graph labels. Dialogues and outcomes store
528
+ an empty string for an unset label; optional graph labels store null. Pull
529
+ writes explicit empty overrides where omission would otherwise infer a name,
530
+ and omits a redundant label equal to the inferred symbol.
531
+
532
+ The fixed `Trigger` member does not infer a label. Reusable condition and action
533
+ functions keep their function identifiers as `sourceFunctionName`; they have
534
+ no separate display-name field or `name:` constructor. Rename the function
535
+ and its uses to change that source name. Linked-value aliases likewise retain
536
+ their `sourceName`. These names never come from prose, and the naming rule does
537
+ not change IDs, destinations, or condition/action use identities.
@@ -118,7 +118,7 @@ wrappers.
118
118
  The marker near the top of `SKILL.md` must exactly match the package version:
119
119
 
120
120
  ```html
121
- <!-- reviewed-through-cli: 0.71.2 -->
121
+ <!-- reviewed-through-cli: 0.71.4 -->
122
122
  ```
123
123
 
124
124
  The quoted version above is checked too, so this instruction cannot go stale
@@ -37,6 +37,9 @@ declarations with no prior placement use the canonical per-declaration layout. U
37
37
  version. Normal pulls persist a transaction cursor and fetch only changed
38
38
  records. If the remote head is unchanged, pull preserves the local source
39
39
  without compiling it; use `neo status` to inspect local edits and diagnostics.
40
+ Pull ignores records whose hashes already match the saved server baseline,
41
+ including echoes of this checkout's last push, and advances its cursor without
42
+ compiling or rewriting source. Later remote edits still count as changes.
40
43
  An undo/reset metadata change invalidates the cursor and causes a safe
41
44
  full-snapshot fallback.
42
45