@neocompose/cli 0.30.2 → 0.30.3
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,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.30.3] - 2026-08-13
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Identify stored dialogue and migration bodies in `neo script check --all`
|
|
8
|
+
compile failures and print each in-body source position once. The command
|
|
9
|
+
also accepts existing delegate and action types in constructor signatures.
|
|
10
|
+
|
|
3
11
|
## [0.30.2] - 2026-08-13
|
|
4
12
|
|
|
5
13
|
### Fixed
|
package/dist/neo.mjs
CHANGED
|
@@ -29717,6 +29717,38 @@ function substituteManifestType(type, genericEnvironment, environment, seenParam
|
|
|
29717
29717
|
)
|
|
29718
29718
|
};
|
|
29719
29719
|
}
|
|
29720
|
+
if (type.kind === "delegate") {
|
|
29721
|
+
return {
|
|
29722
|
+
...type,
|
|
29723
|
+
returnType: substituteManifestType(
|
|
29724
|
+
type.returnType,
|
|
29725
|
+
genericEnvironment,
|
|
29726
|
+
environment,
|
|
29727
|
+
seenParameters
|
|
29728
|
+
),
|
|
29729
|
+
parameterTypes: type.parameterTypes.map(
|
|
29730
|
+
(parameter4) => substituteManifestType(
|
|
29731
|
+
parameter4,
|
|
29732
|
+
genericEnvironment,
|
|
29733
|
+
environment,
|
|
29734
|
+
seenParameters
|
|
29735
|
+
)
|
|
29736
|
+
)
|
|
29737
|
+
};
|
|
29738
|
+
}
|
|
29739
|
+
if (type.kind === "action") {
|
|
29740
|
+
return {
|
|
29741
|
+
...type,
|
|
29742
|
+
parameterTypes: type.parameterTypes.map(
|
|
29743
|
+
(parameter4) => substituteManifestType(
|
|
29744
|
+
parameter4,
|
|
29745
|
+
genericEnvironment,
|
|
29746
|
+
environment,
|
|
29747
|
+
seenParameters
|
|
29748
|
+
)
|
|
29749
|
+
)
|
|
29750
|
+
};
|
|
29751
|
+
}
|
|
29720
29752
|
return type;
|
|
29721
29753
|
}
|
|
29722
29754
|
function substituteManifestSymbol(symbol, genericEnvironment, environment) {
|
|
@@ -30040,6 +30072,37 @@ function manifestType2(value, environment, field) {
|
|
|
30040
30072
|
nullable
|
|
30041
30073
|
};
|
|
30042
30074
|
}
|
|
30075
|
+
if (kind === "delegate") {
|
|
30076
|
+
return {
|
|
30077
|
+
kind: "delegate",
|
|
30078
|
+
returnType: manifestReturnType(
|
|
30079
|
+
type.returnType,
|
|
30080
|
+
environment,
|
|
30081
|
+
`${field}.returnType`
|
|
30082
|
+
),
|
|
30083
|
+
parameterTypes: records(type.argumentTypes, `${field}.argumentTypes`).map(
|
|
30084
|
+
(argument2, index) => manifestType2(
|
|
30085
|
+
argument2,
|
|
30086
|
+
environment,
|
|
30087
|
+
`${field}.argumentTypes[${index}]`
|
|
30088
|
+
)
|
|
30089
|
+
),
|
|
30090
|
+
nullable
|
|
30091
|
+
};
|
|
30092
|
+
}
|
|
30093
|
+
if (kind === "action") {
|
|
30094
|
+
return {
|
|
30095
|
+
kind: "action",
|
|
30096
|
+
parameterTypes: records(type.argumentTypes, `${field}.argumentTypes`).map(
|
|
30097
|
+
(argument2, index) => manifestType2(
|
|
30098
|
+
argument2,
|
|
30099
|
+
environment,
|
|
30100
|
+
`${field}.argumentTypes[${index}]`
|
|
30101
|
+
)
|
|
30102
|
+
),
|
|
30103
|
+
nullable
|
|
30104
|
+
};
|
|
30105
|
+
}
|
|
30043
30106
|
throw new Error(
|
|
30044
30107
|
`${field}.kind has unsupported schema type ${JSON.stringify(kind)}.`
|
|
30045
30108
|
);
|
|
@@ -99514,6 +99577,9 @@ function describeBodySite(site) {
|
|
|
99514
99577
|
return `Migration '${site.memberName}' (target ${site.ownerName})`;
|
|
99515
99578
|
}
|
|
99516
99579
|
const unit = unitLabel(site.unit);
|
|
99580
|
+
if ("recordName" in site) {
|
|
99581
|
+
return `${unit} '${site.recordName}'`;
|
|
99582
|
+
}
|
|
99517
99583
|
if (site.ownerName === null) {
|
|
99518
99584
|
return `${unit} '${site.memberName}' (member ${site.recordId}, whose declaring class is not in this push's schema)`;
|
|
99519
99585
|
}
|
|
@@ -100539,6 +100605,13 @@ function buildStoredNeoScriptChecks(document) {
|
|
|
100539
100605
|
name: nodeId,
|
|
100540
100606
|
unit: "condition",
|
|
100541
100607
|
path: `dialogueNodes.${nodeId}`,
|
|
100608
|
+
bodySite: {
|
|
100609
|
+
recordKind: "dialogue-node",
|
|
100610
|
+
recordId: nodeId,
|
|
100611
|
+
recordName: nodeId,
|
|
100612
|
+
unit: "getter",
|
|
100613
|
+
code: ""
|
|
100614
|
+
},
|
|
100542
100615
|
run: () => {
|
|
100543
100616
|
throw new Error(
|
|
100544
100617
|
`Dialogue node "${nodeId}" references missing dialogue "${String(node.dialogueId)}".`
|
|
@@ -100569,6 +100642,13 @@ function buildStoredNeoScriptChecks(document) {
|
|
|
100569
100642
|
name: recordName,
|
|
100570
100643
|
unit: "condition",
|
|
100571
100644
|
path: `${path}.${index}`,
|
|
100645
|
+
bodySite: {
|
|
100646
|
+
recordKind: "dialogue-node",
|
|
100647
|
+
recordId: nodeId,
|
|
100648
|
+
recordName,
|
|
100649
|
+
unit: "getter",
|
|
100650
|
+
code: typeof conditionValue.code === "string" ? conditionValue.code : ""
|
|
100651
|
+
},
|
|
100572
100652
|
run: () => {
|
|
100573
100653
|
compileDialogueLogicWithProjectData(
|
|
100574
100654
|
{
|
|
@@ -100595,6 +100675,13 @@ function buildStoredNeoScriptChecks(document) {
|
|
|
100595
100675
|
name: recordName,
|
|
100596
100676
|
unit: "text-variable",
|
|
100597
100677
|
path: `${path}.${variableKey}`,
|
|
100678
|
+
bodySite: {
|
|
100679
|
+
recordKind: "dialogue-node",
|
|
100680
|
+
recordId: nodeId,
|
|
100681
|
+
recordName,
|
|
100682
|
+
unit: "getter",
|
|
100683
|
+
code: ""
|
|
100684
|
+
},
|
|
100598
100685
|
run: () => {
|
|
100599
100686
|
compileDialogueLogicWithProjectData(
|
|
100600
100687
|
{
|
|
@@ -100670,6 +100757,13 @@ function buildStoredNeoScriptChecks(document) {
|
|
|
100670
100757
|
name: recordName,
|
|
100671
100758
|
unit: "action",
|
|
100672
100759
|
path: `${nodePath}.actions.${actionId}.logic`,
|
|
100760
|
+
bodySite: {
|
|
100761
|
+
recordKind: "dialogue-node",
|
|
100762
|
+
recordId: nodeId,
|
|
100763
|
+
recordName,
|
|
100764
|
+
unit: "action",
|
|
100765
|
+
code: typeof logic.code === "string" ? logic.code : ""
|
|
100766
|
+
},
|
|
100673
100767
|
run: () => {
|
|
100674
100768
|
compileDialogueLogicWithProjectData(
|
|
100675
100769
|
{
|
|
@@ -100714,6 +100808,13 @@ function buildStoredNeoScriptChecks(document) {
|
|
|
100714
100808
|
name: groupName,
|
|
100715
100809
|
unit: "condition",
|
|
100716
100810
|
path: `dialogueGroups.${groupId}.conditions.${index}`,
|
|
100811
|
+
bodySite: {
|
|
100812
|
+
recordKind: "dialogue-group",
|
|
100813
|
+
recordId: groupId,
|
|
100814
|
+
recordName: groupName,
|
|
100815
|
+
unit: "getter",
|
|
100816
|
+
code: typeof conditionValue.code === "string" ? conditionValue.code : ""
|
|
100817
|
+
},
|
|
100717
100818
|
run: () => {
|
|
100718
100819
|
compileDialogueLogicWithProjectData(
|
|
100719
100820
|
{
|
|
@@ -100741,6 +100842,14 @@ function buildStoredNeoScriptChecks(document) {
|
|
|
100741
100842
|
name: migrationName,
|
|
100742
100843
|
unit: "migration",
|
|
100743
100844
|
path: `migrations.${migrationId}.code`,
|
|
100845
|
+
bodySite: {
|
|
100846
|
+
recordKind: "migration",
|
|
100847
|
+
recordId: migrationId,
|
|
100848
|
+
ownerName: null,
|
|
100849
|
+
memberName: migrationName,
|
|
100850
|
+
unit: "migration",
|
|
100851
|
+
code: typeof migration.code === "string" ? migration.code : ""
|
|
100852
|
+
},
|
|
100744
100853
|
run: () => {
|
|
100745
100854
|
if (typeof migration.code !== "string") {
|
|
100746
100855
|
throw new Error(`Migration "${migrationId}" is missing source code.`);
|
|
@@ -100785,9 +100894,6 @@ function optionalString4(value) {
|
|
|
100785
100894
|
return typeof value === "string" ? value : null;
|
|
100786
100895
|
}
|
|
100787
100896
|
function neoScriptCheckErrorMessage(error) {
|
|
100788
|
-
if (error instanceof CompileError) {
|
|
100789
|
-
return `${error.line}:${error.column} ${error.message}`;
|
|
100790
|
-
}
|
|
100791
100897
|
return error instanceof Error ? error.message : String(error);
|
|
100792
100898
|
}
|
|
100793
100899
|
function resolveLocalScriptMember(manifest, memberRef) {
|
|
@@ -101032,7 +101138,7 @@ function runCheckAll(document, manifest, options) {
|
|
|
101032
101138
|
for (const check of buildStoredNeoScriptChecks(document)) {
|
|
101033
101139
|
checked += 1;
|
|
101034
101140
|
try {
|
|
101035
|
-
check.run
|
|
101141
|
+
compileNeoScriptBodyOrThrow(check.run, check.bodySite, null);
|
|
101036
101142
|
results.push({
|
|
101037
101143
|
id: check.id,
|
|
101038
101144
|
name: check.name,
|
|
@@ -104740,7 +104846,7 @@ var init_registry2 = __esm({
|
|
|
104740
104846
|
PROJECT_SCHEMA_CONTRACT = Object.freeze({
|
|
104741
104847
|
formatVersion: 3,
|
|
104742
104848
|
contractVersion: "3.11",
|
|
104743
|
-
cliVersion: "0.30.
|
|
104849
|
+
cliVersion: "0.30.3",
|
|
104744
104850
|
projectFileUploadBatchSize: 32,
|
|
104745
104851
|
documentRecords: {
|
|
104746
104852
|
member: {
|
|
@@ -111308,7 +111414,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
|
|
|
111308
111414
|
async function main() {
|
|
111309
111415
|
const args = parseArgs(process.argv.slice(2));
|
|
111310
111416
|
if (args.command === "--version") {
|
|
111311
|
-
console.log("0.30.
|
|
111417
|
+
console.log("0.30.3");
|
|
111312
111418
|
return;
|
|
111313
111419
|
}
|
|
111314
111420
|
if (args.command === null || args.command === "help" || args.command === "--help" || args.command === "-h") {
|
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.30.
|
|
86
|
+
<!-- reviewed-through-cli: 0.30.3 -->
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
The quoted version above is checked too, so this instruction cannot go stale
|