@neocompose/cli 0.73.2 → 0.75.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/package.json
CHANGED
|
@@ -118,21 +118,18 @@ 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.
|
|
121
|
+
<!-- reviewed-through-cli: 0.75.0 -->
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
The quoted version above is checked too, so this instruction cannot go stale
|
|
125
125
|
while the skill advances.
|
|
126
126
|
|
|
127
|
-
For every CLI
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
Every version bump also gets a `CHANGELOG.md` entry, newest first, under a
|
|
134
|
-
`## [version] - date` heading. The same check grades it, so an undocumented
|
|
135
|
-
release fails alongside a stale marker.
|
|
127
|
+
For every CLI behavior change, audit the affected skill/references in the same
|
|
128
|
+
feature PR and add a unique `.changeset/*.md` release note. Leave versions,
|
|
129
|
+
changelogs, and these markers unchanged. `npm run version:packages` combines
|
|
130
|
+
fragments in a release PR and advances the markers after those feature reviews.
|
|
131
|
+
`npm run doctor` and package verification still check marker/version agreement
|
|
132
|
+
and the newest changelog entry. See `.changeset/README.md` in the repository.
|
|
136
133
|
|
|
137
134
|
Keep `agents/openai.yaml` and every directly linked reference inside the
|
|
138
135
|
published `skills/neocompose-cli/` tree. Keep the frontmatter limited to
|
|
@@ -557,7 +557,24 @@ receiver.Handler`; use `-=` to remove the same receiver/handler pair. Handlers
|
|
|
557
557
|
are noncapturing, return void, and accept the field's type. Bindings to Session
|
|
558
558
|
receivers stay Session-only. Gameplay hosts dispatch after the write batch.
|
|
559
559
|
Authoring, replay, migration, and dialogue dry-run hosts retain wiring without
|
|
560
|
-
invoking callbacks.
|
|
560
|
+
invoking callbacks. `owner.Field.OnChanged.Clear()` removes every handler,
|
|
561
|
+
including `@listeners` defaults, in both Save and Session wiring.
|
|
562
|
+
|
|
563
|
+
Instance getters take the same syntax, for example
|
|
564
|
+
`this._quantity.Value.OnChanged += this.QuantityChanged`. A getter
|
|
565
|
+
subscription lives only in memory for the play session, so subscribe from a
|
|
566
|
+
function, effect, lifecycle hook, or dialogue action, never a constructor,
|
|
567
|
+
initializer, or migration. Subscribing reads the getter once. The SDK calls the
|
|
568
|
+
handler with a fresh result whenever something that read depended on changes,
|
|
569
|
+
even if the result is equal, and several changes before the next read call it
|
|
570
|
+
once. `Clear()` ends the subscription, and a constructor can't call it on a
|
|
571
|
+
getter. Static getters, `base.Value`, and `@listeners` can't observe a getter.
|
|
572
|
+
`neo test` dispatches getter subscriptions the same way, treating the test body
|
|
573
|
+
as the host: handlers run after each of its statements, so the next statement
|
|
574
|
+
sees their effects. A getter that reads through `Clone()` or a grid query can
|
|
575
|
+
run more often in `neo test` than in Unity: any write but its own handlers'
|
|
576
|
+
counts as a change. Other TypeScript hosts validate getter subscriptions and
|
|
577
|
+
never call the handler.
|
|
561
578
|
|
|
562
579
|
Persist wiring on the owning class value with named arguments, for example:
|
|
563
580
|
|