@neocompose/cli 0.73.0 → 0.73.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.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.73.1] - 2026-10-08
|
|
4
|
+
|
|
5
|
+
- Breaking: rename `PriorityOption` to `NeoPriorityOption` in priority groups, to match `NeoPriorityGroup`. The old name is a compile error that names its replacement, and dialogue priorities that use the option still resolve. Stored data doesn't change. `neo pull` writes the new name.
|
|
6
|
+
|
|
3
7
|
## [0.73.0] - 2026-10-08
|
|
4
8
|
|
|
5
9
|
- Trigger dialogues from NeoScript. `root.Dialogues` mirrors the generated C# `Dialogues`, with `TryTrigger(dialogueId, onFinish)`, `CanTrigger(dialogueId)`, `VisitCount`, and `HasVisited`. Standard groups get `TryTrigger(onFinish)` and `CanTrigger()`, lookup groups take their entry class, and `NeoDialogueReference` gets `TryTrigger(onFinish)` and `CanTrigger()`. `TryTrigger` compiles only in functions and dialogue actions. `neo test`, `neo script eval`, and dialogue dry runs return false.
|
package/dist/neo.mjs
CHANGED
|
@@ -1202,7 +1202,8 @@ var init_dialogue_types = __esm({
|
|
|
1202
1202
|
{ base: "NeoDialogueReference", value: "NeoDialogueReference" }
|
|
1203
1203
|
],
|
|
1204
1204
|
["DialogueGroup", { base: "NeoDialogueGroup", value: "NeoDialogueGroup" }],
|
|
1205
|
-
["PriorityGroup", { base: "NeoPriorityGroup", value: "NeoPriorityGroup" }]
|
|
1205
|
+
["PriorityGroup", { base: "NeoPriorityGroup", value: "NeoPriorityGroup" }],
|
|
1206
|
+
["PriorityOption", { base: "NeoPriorityOption", value: "NeoPriorityOption" }]
|
|
1206
1207
|
]);
|
|
1207
1208
|
BOOL_TYPE = { kind: "primitive", name: "bool" };
|
|
1208
1209
|
INT_TYPE = { kind: "primitive", name: "int" };
|
|
@@ -27192,6 +27193,7 @@ function sourceDialogueGroups(source) {
|
|
|
27192
27193
|
if (cached) return cached;
|
|
27193
27194
|
const symbols = /* @__PURE__ */ new Map();
|
|
27194
27195
|
const globals = /* @__PURE__ */ new Map();
|
|
27196
|
+
const priorityGroups = /* @__PURE__ */ new Map();
|
|
27195
27197
|
const options = /* @__PURE__ */ new Map();
|
|
27196
27198
|
for (const symbol of source.symbols) {
|
|
27197
27199
|
if (symbol.kind !== "global") continue;
|
|
@@ -27199,12 +27201,13 @@ function sourceDialogueGroups(source) {
|
|
|
27199
27201
|
continue;
|
|
27200
27202
|
const id2 = symbol.id ?? `${symbol.location.uri}#${symbol.name}`;
|
|
27201
27203
|
globals.set(symbol.name, id2);
|
|
27204
|
+
if (symbol.detail === "NeoPriorityGroup")
|
|
27205
|
+
priorityGroups.set(symbol.name, id2);
|
|
27202
27206
|
symbols.set(id2, symbol);
|
|
27203
27207
|
}
|
|
27204
27208
|
for (const symbol of source.symbols) {
|
|
27205
|
-
if (symbol.kind !== "graphChild"
|
|
27206
|
-
|
|
27207
|
-
const owner = globals.get(symbol.ownerName ?? "");
|
|
27209
|
+
if (symbol.kind !== "graphChild") continue;
|
|
27210
|
+
const owner = priorityGroups.get(symbol.ownerName ?? "");
|
|
27208
27211
|
if (!owner) continue;
|
|
27209
27212
|
const id2 = symbol.id ?? `${owner}.${symbol.name}`;
|
|
27210
27213
|
symbols.set(id2, symbol);
|
|
@@ -27545,6 +27548,7 @@ function collectGlobalChildEntries(syntax, declaration) {
|
|
|
27545
27548
|
const value = tokens[index + 3];
|
|
27546
27549
|
entries.push({
|
|
27547
27550
|
typeName: token.text,
|
|
27551
|
+
typeRange: token.range,
|
|
27548
27552
|
name: name.text,
|
|
27549
27553
|
nameRange: name.range,
|
|
27550
27554
|
annotations: pendingAnnotations,
|
|
@@ -49490,7 +49494,7 @@ var init_project_source_type_checker = __esm({
|
|
|
49490
49494
|
"Localization",
|
|
49491
49495
|
"LocalizationStatus",
|
|
49492
49496
|
"NeoPriorityGroup",
|
|
49493
|
-
"
|
|
49497
|
+
"NeoPriorityOption",
|
|
49494
49498
|
"NeoDialogueGroup",
|
|
49495
49499
|
"ImageRegistry",
|
|
49496
49500
|
"AudioClipRegistry",
|
|
@@ -49944,7 +49948,18 @@ function collectDeclarationSymbols(uri, document, declaration, symbols, diagnost
|
|
|
49944
49948
|
}
|
|
49945
49949
|
function collectGlobalChildSymbols(uri, document, declaration, symbols, diagnostics) {
|
|
49946
49950
|
if (declaration.type.name === "Root") return;
|
|
49951
|
+
const priorityGroup = declaration.type.name === "NeoPriorityGroup";
|
|
49947
49952
|
for (const entry of collectGlobalChildEntries(document.syntax, declaration)) {
|
|
49953
|
+
if (priorityGroup && entry.typeName !== "NeoPriorityOption") {
|
|
49954
|
+
diagnostics.push({
|
|
49955
|
+
uri,
|
|
49956
|
+
range: entry.typeRange,
|
|
49957
|
+
severity: "error",
|
|
49958
|
+
source: "neo-project",
|
|
49959
|
+
code: "unknown-project-type",
|
|
49960
|
+
message: renamedDialogueTypeMessage(entry.typeName, "value") ?? `Priority group options are declared as \`NeoPriorityOption\`, not \`${entry.typeName}\`.`
|
|
49961
|
+
});
|
|
49962
|
+
}
|
|
49948
49963
|
collectSymbol(
|
|
49949
49964
|
uri,
|
|
49950
49965
|
"graphChild",
|
|
@@ -50416,7 +50431,7 @@ var init_project_source_analysis = __esm({
|
|
|
50416
50431
|
"Localization",
|
|
50417
50432
|
"LocalizationStatus",
|
|
50418
50433
|
"NeoPriorityGroup",
|
|
50419
|
-
"
|
|
50434
|
+
"NeoPriorityOption",
|
|
50420
50435
|
"NeoDialogueGroup",
|
|
50421
50436
|
"ImageRegistry",
|
|
50422
50437
|
"AudioClipRegistry",
|
|
@@ -51626,7 +51641,7 @@ var init_registry = __esm({
|
|
|
51626
51641
|
"../packages/manifest/schema-contract/registry.mjs"() {
|
|
51627
51642
|
"use strict";
|
|
51628
51643
|
PROJECT_SCHEMA_CONTRACT = Object.freeze({
|
|
51629
|
-
cliVersion: "0.73.
|
|
51644
|
+
cliVersion: "0.73.1",
|
|
51630
51645
|
projectFileUploadBatchSize: 32,
|
|
51631
51646
|
documentRecords: {
|
|
51632
51647
|
member: {
|
|
@@ -70188,7 +70203,7 @@ function emitPriorityGroup(data, recordId, name) {
|
|
|
70188
70203
|
}
|
|
70189
70204
|
assertMemberIdentifier2(option.name, "priority option");
|
|
70190
70205
|
return ` @id(${quote2(option.id)})
|
|
70191
|
-
|
|
70206
|
+
NeoPriorityOption ${option.name} = new();`;
|
|
70192
70207
|
});
|
|
70193
70208
|
const annotations = [
|
|
70194
70209
|
`@id(${quote2(recordId)})`,
|
|
@@ -71071,7 +71086,7 @@ var init_supplemental_records = __esm({
|
|
|
71071
71086
|
init_project_file_source();
|
|
71072
71087
|
init_source_format();
|
|
71073
71088
|
init_ui_action_source();
|
|
71074
|
-
PRIORITY_OPTION_PATTERN = /^(?:@id\(\s*"((?:[^"\\]|\\.)+)"\s*\)\s*)?
|
|
71089
|
+
PRIORITY_OPTION_PATTERN = /^(?:@id\(\s*"((?:[^"\\]|\\.)+)"\s*\)\s*)?[A-Za-z_][A-Za-z0-9_]*\s+([A-Za-z_][A-Za-z0-9_]*)\s*=\s*new\s*\(\s*\)\s*;/;
|
|
71075
71090
|
}
|
|
71076
71091
|
});
|
|
71077
71092
|
|
|
@@ -72496,10 +72511,10 @@ function lowerDialogueGroupSettings(context, member, base) {
|
|
|
72496
72511
|
member.arguments,
|
|
72497
72512
|
"priority"
|
|
72498
72513
|
);
|
|
72499
|
-
const priorityOptionId = priorityExpression === null ? null : referenceId3(priorityExpression, "
|
|
72514
|
+
const priorityOptionId = priorityExpression === null ? null : referenceId3(priorityExpression, "NeoPriorityOption");
|
|
72500
72515
|
if (priorityExpression !== null && priorityOptionId === null) {
|
|
72501
72516
|
throw dialogueSourceError(
|
|
72502
|
-
'Trigger priority must be authored as Reference<
|
|
72517
|
+
'Trigger priority must be authored as Reference<NeoPriorityOption>(id: "...").',
|
|
72503
72518
|
prioritySource
|
|
72504
72519
|
);
|
|
72505
72520
|
}
|
|
@@ -137416,7 +137431,7 @@ function emitTrigger(context, node) {
|
|
|
137416
137431
|
if (optionId) {
|
|
137417
137432
|
args.push([
|
|
137418
137433
|
"priority",
|
|
137419
|
-
`Reference<
|
|
137434
|
+
`Reference<NeoPriorityOption>(id: ${quote5(optionId)})`
|
|
137420
137435
|
]);
|
|
137421
137436
|
}
|
|
137422
137437
|
}
|
|
@@ -151992,7 +152007,7 @@ function dialogueGroupCompletions(analysis, document, position) {
|
|
|
151992
152007
|
items.push({
|
|
151993
152008
|
label: name,
|
|
151994
152009
|
kind: "enumMember",
|
|
151995
|
-
detail: "
|
|
152010
|
+
detail: "NeoPriorityOption",
|
|
151996
152011
|
insertText: name,
|
|
151997
152012
|
symbolId: option.id
|
|
151998
152013
|
});
|
|
@@ -191424,7 +191439,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
|
|
|
191424
191439
|
async function main() {
|
|
191425
191440
|
const args = parseArgs(process.argv.slice(2));
|
|
191426
191441
|
if (args.command === "--version") {
|
|
191427
|
-
console.log("0.73.
|
|
191442
|
+
console.log("0.73.1");
|
|
191428
191443
|
return;
|
|
191429
191444
|
}
|
|
191430
191445
|
if (args.command === null || args.command === "help" || args.command === "--help" || args.command === "-h") {
|
package/dist/test-worker.mjs
CHANGED
|
@@ -1609,7 +1609,8 @@ var RENAMED_DIALOGUE_TYPES = /* @__PURE__ */ new Map([
|
|
|
1609
1609
|
{ base: "NeoDialogueReference", value: "NeoDialogueReference" }
|
|
1610
1610
|
],
|
|
1611
1611
|
["DialogueGroup", { base: "NeoDialogueGroup", value: "NeoDialogueGroup" }],
|
|
1612
|
-
["PriorityGroup", { base: "NeoPriorityGroup", value: "NeoPriorityGroup" }]
|
|
1612
|
+
["PriorityGroup", { base: "NeoPriorityGroup", value: "NeoPriorityGroup" }],
|
|
1613
|
+
["PriorityOption", { base: "NeoPriorityOption", value: "NeoPriorityOption" }]
|
|
1613
1614
|
]);
|
|
1614
1615
|
function renamedDialogueTypeMessage(name, position) {
|
|
1615
1616
|
const replacement = RENAMED_DIALOGUE_TYPES.get(name)?.[position];
|
|
@@ -55287,7 +55288,7 @@ var SPECIALIZED_RELATION_KINDS = /* @__PURE__ */ new Set([
|
|
|
55287
55288
|
|
|
55288
55289
|
// ../packages/manifest/schema-contract/registry.mjs
|
|
55289
55290
|
var PROJECT_SCHEMA_CONTRACT = Object.freeze({
|
|
55290
|
-
cliVersion: "0.73.
|
|
55291
|
+
cliVersion: "0.73.1",
|
|
55291
55292
|
projectFileUploadBatchSize: 32,
|
|
55292
55293
|
documentRecords: {
|
|
55293
55294
|
member: {
|
package/package.json
CHANGED
|
@@ -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.73.
|
|
121
|
+
<!-- reviewed-through-cli: 0.73.1 -->
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
The quoted version above is checked too, so this instruction cannot go stale
|