@neocompose/cli 0.43.0 → 0.43.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,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.43.1] - 2026-09-03
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Use one project-file assignment validator for local and trusted preparation,
|
|
8
|
+
and remove the obsolete test-only single-level migration target resolver.
|
|
9
|
+
|
|
3
10
|
## [0.43.0] - 2026-09-02
|
|
4
11
|
|
|
5
12
|
### Fixed
|
package/dist/neo.mjs
CHANGED
|
@@ -372,10 +372,6 @@ var init_auth_api_base_url = __esm({
|
|
|
372
372
|
// src/token-store.ts
|
|
373
373
|
var token_store_exports = {};
|
|
374
374
|
__export(token_store_exports, {
|
|
375
|
-
NEO_CONFIG_HOME_ENV_VAR: () => NEO_CONFIG_HOME_ENV_VAR,
|
|
376
|
-
NEO_CREDENTIAL_NAMESPACE_ENV_VAR: () => NEO_CREDENTIAL_NAMESPACE_ENV_VAR,
|
|
377
|
-
NEO_TOKEN_ENV_VAR: () => NEO_TOKEN_ENV_VAR,
|
|
378
|
-
credentialsDir: () => credentialsDir,
|
|
379
375
|
deleteCredential: () => deleteCredential,
|
|
380
376
|
keychainAccount: () => keychainAccount,
|
|
381
377
|
loadCredential: () => loadCredential,
|
|
@@ -22462,7 +22458,7 @@ function reportVariantTypePositions(uri, type, diagnostics, root = "nested") {
|
|
|
22462
22458
|
severity: "error",
|
|
22463
22459
|
source: "neo-project",
|
|
22464
22460
|
code: "variant-type-position",
|
|
22465
|
-
message: variantTypePositionMessage(type.name
|
|
22461
|
+
message: variantTypePositionMessage(type.name)
|
|
22466
22462
|
});
|
|
22467
22463
|
return;
|
|
22468
22464
|
}
|
|
@@ -22470,7 +22466,7 @@ function reportVariantTypePositions(uri, type, diagnostics, root = "nested") {
|
|
|
22470
22466
|
reportVariantTypePositions(uri, argument2, diagnostics);
|
|
22471
22467
|
}
|
|
22472
22468
|
}
|
|
22473
|
-
function variantTypePositionMessage(typeName
|
|
22469
|
+
function variantTypePositionMessage(typeName) {
|
|
22474
22470
|
if (isNeoVariantFolderTypeName(typeName)) {
|
|
22475
22471
|
return `'${typeName}' is reference-only: it declares variant folders as top-level globals and is never a member, entry, parameter, or generic binding type.`;
|
|
22476
22472
|
}
|
|
@@ -37229,7 +37225,6 @@ function memberFromDocument(record3, members, owners, classNames, context) {
|
|
|
37229
37225
|
"returnTypeInfo"
|
|
37230
37226
|
),
|
|
37231
37227
|
script: isAbstract || getterSource === null ? null : propertyScript(
|
|
37232
|
-
record3,
|
|
37233
37228
|
common.owner,
|
|
37234
37229
|
classNames,
|
|
37235
37230
|
getterSource,
|
|
@@ -37280,7 +37275,7 @@ function memberFromDocument(record3, members, owners, classNames, context) {
|
|
|
37280
37275
|
...signature,
|
|
37281
37276
|
...bodyModeValue === "ui" ? { bodyMode: "ui" } : {},
|
|
37282
37277
|
...uiActionValue === null ? {} : { uiAction: jsonValue(uiActionValue, record3, "uiAction") },
|
|
37283
|
-
script: isAbstract || code === null ? null : functionScript(
|
|
37278
|
+
script: isAbstract || code === null ? null : functionScript(common.owner, classNames, code)
|
|
37284
37279
|
};
|
|
37285
37280
|
}
|
|
37286
37281
|
if (kind === MEMBER_KIND.FunctionRef) {
|
|
@@ -37887,8 +37882,8 @@ function memberModifier(overrideOf, modifier) {
|
|
|
37887
37882
|
if (modifier === "static") return "static";
|
|
37888
37883
|
return "virtual";
|
|
37889
37884
|
}
|
|
37890
|
-
function propertyScript(
|
|
37891
|
-
const path = scriptPath(
|
|
37885
|
+
function propertyScript(owner, classNames, getterSource, setterSource) {
|
|
37886
|
+
const path = scriptPath(owner, classNames);
|
|
37892
37887
|
const sourceText = [
|
|
37893
37888
|
"get {",
|
|
37894
37889
|
getterSource,
|
|
@@ -37905,8 +37900,8 @@ function propertyScript(record3, owner, classNames, getterSource, setterSource)
|
|
|
37905
37900
|
source: zeroSpan(path)
|
|
37906
37901
|
};
|
|
37907
37902
|
}
|
|
37908
|
-
function functionScript(
|
|
37909
|
-
const path = scriptPath(
|
|
37903
|
+
function functionScript(owner, classNames, sourceText) {
|
|
37904
|
+
const path = scriptPath(owner, classNames);
|
|
37910
37905
|
return {
|
|
37911
37906
|
kind: "function",
|
|
37912
37907
|
path,
|
|
@@ -37914,7 +37909,7 @@ function functionScript(record3, owner, classNames, sourceText) {
|
|
|
37914
37909
|
source: zeroSpan(path)
|
|
37915
37910
|
};
|
|
37916
37911
|
}
|
|
37917
|
-
function scriptPath(
|
|
37912
|
+
function scriptPath(ownerValue, classNames) {
|
|
37918
37913
|
const owner = isRecord2(ownerValue) ? ownerValue : {};
|
|
37919
37914
|
const sharedMember = owner.kind === "sharedClassMember" && Array.isArray(owner.members) ? owner.members.find(isRecord2) : void 0;
|
|
37920
37915
|
let ownerClassId;
|
|
@@ -42725,36 +42720,36 @@ var MemberKind;
|
|
|
42725
42720
|
var init_member_kind_enum = __esm({
|
|
42726
42721
|
"../src/models/members/member-kind-enum.ts"() {
|
|
42727
42722
|
"use strict";
|
|
42728
|
-
MemberKind = /* @__PURE__ */ ((
|
|
42729
|
-
|
|
42730
|
-
|
|
42731
|
-
|
|
42732
|
-
|
|
42733
|
-
|
|
42734
|
-
|
|
42735
|
-
|
|
42736
|
-
|
|
42737
|
-
|
|
42738
|
-
|
|
42739
|
-
|
|
42740
|
-
|
|
42741
|
-
|
|
42742
|
-
|
|
42743
|
-
|
|
42744
|
-
|
|
42745
|
-
|
|
42746
|
-
|
|
42747
|
-
|
|
42748
|
-
|
|
42749
|
-
|
|
42750
|
-
|
|
42751
|
-
|
|
42752
|
-
|
|
42753
|
-
|
|
42754
|
-
|
|
42755
|
-
|
|
42756
|
-
|
|
42757
|
-
return
|
|
42723
|
+
MemberKind = /* @__PURE__ */ ((MemberKind13) => {
|
|
42724
|
+
MemberKind13[MemberKind13["Null"] = 0] = "Null";
|
|
42725
|
+
MemberKind13[MemberKind13["Bool"] = 1] = "Bool";
|
|
42726
|
+
MemberKind13[MemberKind13["Int"] = 2] = "Int";
|
|
42727
|
+
MemberKind13[MemberKind13["String"] = 3] = "String";
|
|
42728
|
+
MemberKind13[MemberKind13["Float"] = 4] = "Float";
|
|
42729
|
+
MemberKind13[MemberKind13["Dictionary"] = 5] = "Dictionary";
|
|
42730
|
+
MemberKind13[MemberKind13["List"] = 6] = "List";
|
|
42731
|
+
MemberKind13[MemberKind13["Class"] = 7] = "Class";
|
|
42732
|
+
MemberKind13[MemberKind13["Enum"] = 8] = "Enum";
|
|
42733
|
+
MemberKind13[MemberKind13["Lookup"] = 9] = "Lookup";
|
|
42734
|
+
MemberKind13[MemberKind13["NSProperty"] = 10] = "NSProperty";
|
|
42735
|
+
MemberKind13[MemberKind13["Sprite"] = 11] = "Sprite";
|
|
42736
|
+
MemberKind13[MemberKind13["Audio"] = 12] = "Audio";
|
|
42737
|
+
MemberKind13[MemberKind13["Function"] = 13] = "Function";
|
|
42738
|
+
MemberKind13[MemberKind13["Vector2"] = 14] = "Vector2";
|
|
42739
|
+
MemberKind13[MemberKind13["Vector2Int"] = 15] = "Vector2Int";
|
|
42740
|
+
MemberKind13[MemberKind13["Vector3"] = 16] = "Vector3";
|
|
42741
|
+
MemberKind13[MemberKind13["Vector3Int"] = 17] = "Vector3Int";
|
|
42742
|
+
MemberKind13[MemberKind13["DialogueLookup"] = 18] = "DialogueLookup";
|
|
42743
|
+
MemberKind13[MemberKind13["Color"] = 19] = "Color";
|
|
42744
|
+
MemberKind13[MemberKind13["Decimal"] = 20] = "Decimal";
|
|
42745
|
+
MemberKind13[MemberKind13["Generic"] = 21] = "Generic";
|
|
42746
|
+
MemberKind13[MemberKind13["Interface"] = 22] = "Interface";
|
|
42747
|
+
MemberKind13[MemberKind13["NSFunction"] = 23] = "NSFunction";
|
|
42748
|
+
MemberKind13[MemberKind13["FunctionRef"] = 24] = "FunctionRef";
|
|
42749
|
+
MemberKind13[MemberKind13["NSDelegate"] = 25] = "NSDelegate";
|
|
42750
|
+
MemberKind13[MemberKind13["NSAction"] = 26] = "NSAction";
|
|
42751
|
+
MemberKind13[MemberKind13["Variant"] = 27] = "Variant";
|
|
42752
|
+
return MemberKind13;
|
|
42758
42753
|
})(MemberKind || {});
|
|
42759
42754
|
}
|
|
42760
42755
|
});
|
|
@@ -51233,135 +51228,11 @@ var init_enum_types = __esm({
|
|
|
51233
51228
|
}
|
|
51234
51229
|
});
|
|
51235
51230
|
|
|
51236
|
-
// ../src/models/interfaces/interface-types.ts
|
|
51237
|
-
function isInterfaceFunctionMember(member) {
|
|
51238
|
-
return member.kind === 1 /* Function */;
|
|
51239
|
-
}
|
|
51240
|
-
function interfacePropertyIsSettable(member) {
|
|
51241
|
-
return member.accessors === 1 /* GetSet */;
|
|
51242
|
-
}
|
|
51243
|
-
function containsForbiddenMemberTypeInfo(typeInfo) {
|
|
51244
|
-
if (typeInfo.type === NS_TYPE_UNKNOWN) return true;
|
|
51245
|
-
if (typeInfo.type === 21 /* Generic */) return true;
|
|
51246
|
-
if (typeInfo.type === 6 /* List */ || typeInfo.type === 5 /* Dictionary */ || typeInfo.type === 9 /* Lookup */) {
|
|
51247
|
-
return containsForbiddenMemberTypeInfo(typeInfo.entryTypeInfo);
|
|
51248
|
-
}
|
|
51249
|
-
if (typeInfo.type === 7 /* Class */ && typeInfo.typeArguments) {
|
|
51250
|
-
return Object.values(typeInfo.typeArguments).some(
|
|
51251
|
-
containsForbiddenMemberTypeInfo
|
|
51252
|
-
);
|
|
51253
|
-
}
|
|
51254
|
-
return false;
|
|
51255
|
-
}
|
|
51256
|
-
function isNeoInterfaceMember(value) {
|
|
51257
|
-
if (typeof value !== "object") return false;
|
|
51258
|
-
if (value === null) return false;
|
|
51259
|
-
const member = value;
|
|
51260
|
-
if (typeof member.id !== "string" || member.id.length === 0) return false;
|
|
51261
|
-
if (!isValidDocsText(member.docsText)) return false;
|
|
51262
|
-
if (member.access !== void 0 && !isMemberAccessKind(member.access))
|
|
51263
|
-
return false;
|
|
51264
|
-
if (member.kind === void 0 || member.kind === 0 /* Property */) {
|
|
51265
|
-
const property2 = value;
|
|
51266
|
-
if (!isNSTypeInfo(property2.typeInfo)) return false;
|
|
51267
|
-
if (containsForbiddenMemberTypeInfo(property2.typeInfo)) return false;
|
|
51268
|
-
return property2.accessors === void 0 || property2.accessors === 0 /* Get */ || property2.accessors === 1 /* GetSet */;
|
|
51269
|
-
}
|
|
51270
|
-
if (member.kind !== 1 /* Function */) return false;
|
|
51271
|
-
const fn = value;
|
|
51272
|
-
if (!isNSFunctionReturnTypeInfo(fn.returnTypeInfo)) return false;
|
|
51273
|
-
if (containsForbiddenMemberTypeInfo(fn.returnTypeInfo)) return false;
|
|
51274
|
-
if (!Array.isArray(fn.argumentTypes)) return false;
|
|
51275
|
-
for (const argumentType of fn.argumentTypes) {
|
|
51276
|
-
if (!isNSFunctionArgumentTypeInfo(argumentType)) return false;
|
|
51277
|
-
if (containsForbiddenMemberTypeInfo(argumentType)) return false;
|
|
51278
|
-
}
|
|
51279
|
-
if (fn.dispatch !== void 0 && fn.dispatch !== 0 /* Synchronous */ && fn.dispatch !== 1 /* Asynchronous */)
|
|
51280
|
-
return false;
|
|
51281
|
-
if (fn.dispatch === 1 /* Asynchronous */ && hasAnyParameterDefault(fn.argumentTypes)) {
|
|
51282
|
-
return false;
|
|
51283
|
-
}
|
|
51284
|
-
return validateParameterDefaults(fn.argumentTypes).length === 0;
|
|
51285
|
-
}
|
|
51286
|
-
function isInterfaceMembersRecord(value) {
|
|
51287
|
-
if (typeof value !== "object") return false;
|
|
51288
|
-
if (value === null) return false;
|
|
51289
|
-
if (Array.isArray(value)) return false;
|
|
51290
|
-
for (const [key, member] of Object.entries(value)) {
|
|
51291
|
-
if (key.length === 0) return false;
|
|
51292
|
-
if (!isNeoInterfaceMember(member)) return false;
|
|
51293
|
-
}
|
|
51294
|
-
return true;
|
|
51295
|
-
}
|
|
51296
|
-
function isOptionalStringArray(value) {
|
|
51297
|
-
if (value === void 0) return true;
|
|
51298
|
-
if (!Array.isArray(value)) return false;
|
|
51299
|
-
return value.every((entry) => typeof entry === "string" && entry.length > 0);
|
|
51300
|
-
}
|
|
51301
|
-
function isNeoInterfaceBase(value) {
|
|
51302
|
-
if (typeof value !== "object") return false;
|
|
51303
|
-
if (value === null) return false;
|
|
51304
|
-
const neoInterface = value;
|
|
51305
|
-
if (typeof neoInterface.name !== "string") return false;
|
|
51306
|
-
if (!isValidDocsText(neoInterface.docsText)) return false;
|
|
51307
|
-
if (!isInterfaceMembersRecord(neoInterface.members)) return false;
|
|
51308
|
-
if (!isOptionalStringArray(neoInterface.memberKeyOrder)) return false;
|
|
51309
|
-
if (!isOptionalStringArray(neoInterface.extendsInterfaceIds)) return false;
|
|
51310
|
-
if (neoInterface.system !== void 0 && !isSystemMetadata(neoInterface.system)) {
|
|
51311
|
-
return false;
|
|
51312
|
-
}
|
|
51313
|
-
return true;
|
|
51314
|
-
}
|
|
51315
|
-
function isNeoInterfaceProps(value) {
|
|
51316
|
-
if (!isNeoInterfaceBase(value)) return false;
|
|
51317
|
-
if (!isWithId(value)) return false;
|
|
51318
|
-
const neoInterface = value;
|
|
51319
|
-
if (typeof neoInterface.projectId !== "string") return false;
|
|
51320
|
-
if (!isEpochMillis(neoInterface.createdAt)) return false;
|
|
51321
|
-
return isEpochMillis(neoInterface.updatedAt);
|
|
51322
|
-
}
|
|
51323
|
-
function isNeoInterface(value) {
|
|
51324
|
-
return isNeoInterfaceProps(value);
|
|
51325
|
-
}
|
|
51326
|
-
function getInterfaceMemberKeyOrder(neoInterface) {
|
|
51327
|
-
const memberKeys = Object.keys(neoInterface.members);
|
|
51328
|
-
const seen = /* @__PURE__ */ new Set();
|
|
51329
|
-
const result = [];
|
|
51330
|
-
for (const memberKey of neoInterface.memberKeyOrder ?? []) {
|
|
51331
|
-
if (!Object.prototype.hasOwnProperty.call(neoInterface.members, memberKey)) {
|
|
51332
|
-
continue;
|
|
51333
|
-
}
|
|
51334
|
-
if (seen.has(memberKey)) continue;
|
|
51335
|
-
seen.add(memberKey);
|
|
51336
|
-
result.push(memberKey);
|
|
51337
|
-
}
|
|
51338
|
-
for (const memberKey of memberKeys) {
|
|
51339
|
-
if (seen.has(memberKey)) continue;
|
|
51340
|
-
seen.add(memberKey);
|
|
51341
|
-
result.push(memberKey);
|
|
51342
|
-
}
|
|
51343
|
-
return result;
|
|
51344
|
-
}
|
|
51345
|
-
var init_interface_types = __esm({
|
|
51346
|
-
"../src/models/interfaces/interface-types.ts"() {
|
|
51347
|
-
"use strict";
|
|
51348
|
-
init_core();
|
|
51349
|
-
init_neoscript_types();
|
|
51350
|
-
init_docs_text2();
|
|
51351
|
-
init_neoscript_guards();
|
|
51352
|
-
init_parameter_defaults();
|
|
51353
|
-
init_member_kinds();
|
|
51354
|
-
}
|
|
51355
|
-
});
|
|
51356
|
-
|
|
51357
51231
|
// ../src/models/enum/enum-responses.ts
|
|
51358
51232
|
var init_enum_responses = __esm({
|
|
51359
51233
|
"../src/models/enum/enum-responses.ts"() {
|
|
51360
51234
|
"use strict";
|
|
51361
|
-
init_members();
|
|
51362
|
-
init_classes();
|
|
51363
51235
|
init_enum_types();
|
|
51364
|
-
init_interface_types();
|
|
51365
51236
|
}
|
|
51366
51237
|
});
|
|
51367
51238
|
|
|
@@ -53327,7 +53198,6 @@ var init_add_class_member = __esm({
|
|
|
53327
53198
|
init_enum2();
|
|
53328
53199
|
init_classes();
|
|
53329
53200
|
init_initial_class_internal_record_relation();
|
|
53330
|
-
init_project_version_types();
|
|
53331
53201
|
}
|
|
53332
53202
|
});
|
|
53333
53203
|
|
|
@@ -53347,8 +53217,6 @@ var init_edit_member_props = __esm({
|
|
|
53347
53217
|
var init_delete_member_response = __esm({
|
|
53348
53218
|
"../src/models/members/delete-member-response.ts"() {
|
|
53349
53219
|
"use strict";
|
|
53350
|
-
init_member_kinds();
|
|
53351
|
-
init_classes();
|
|
53352
53220
|
}
|
|
53353
53221
|
});
|
|
53354
53222
|
|
|
@@ -57495,12 +57363,131 @@ var init_dialogue_lookup_candidates = __esm({
|
|
|
57495
57363
|
}
|
|
57496
57364
|
});
|
|
57497
57365
|
|
|
57366
|
+
// ../src/models/interfaces/interface-types.ts
|
|
57367
|
+
function isInterfaceFunctionMember(member) {
|
|
57368
|
+
return member.kind === 1 /* Function */;
|
|
57369
|
+
}
|
|
57370
|
+
function interfacePropertyIsSettable(member) {
|
|
57371
|
+
return member.accessors === 1 /* GetSet */;
|
|
57372
|
+
}
|
|
57373
|
+
function containsForbiddenMemberTypeInfo(typeInfo) {
|
|
57374
|
+
if (typeInfo.type === NS_TYPE_UNKNOWN) return true;
|
|
57375
|
+
if (typeInfo.type === 21 /* Generic */) return true;
|
|
57376
|
+
if (typeInfo.type === 6 /* List */ || typeInfo.type === 5 /* Dictionary */ || typeInfo.type === 9 /* Lookup */) {
|
|
57377
|
+
return containsForbiddenMemberTypeInfo(typeInfo.entryTypeInfo);
|
|
57378
|
+
}
|
|
57379
|
+
if (typeInfo.type === 7 /* Class */ && typeInfo.typeArguments) {
|
|
57380
|
+
return Object.values(typeInfo.typeArguments).some(
|
|
57381
|
+
containsForbiddenMemberTypeInfo
|
|
57382
|
+
);
|
|
57383
|
+
}
|
|
57384
|
+
return false;
|
|
57385
|
+
}
|
|
57386
|
+
function isNeoInterfaceMember(value) {
|
|
57387
|
+
if (typeof value !== "object") return false;
|
|
57388
|
+
if (value === null) return false;
|
|
57389
|
+
const member = value;
|
|
57390
|
+
if (typeof member.id !== "string" || member.id.length === 0) return false;
|
|
57391
|
+
if (!isValidDocsText(member.docsText)) return false;
|
|
57392
|
+
if (member.access !== void 0 && !isMemberAccessKind(member.access))
|
|
57393
|
+
return false;
|
|
57394
|
+
if (member.kind === void 0 || member.kind === 0 /* Property */) {
|
|
57395
|
+
const property2 = value;
|
|
57396
|
+
if (!isNSTypeInfo(property2.typeInfo)) return false;
|
|
57397
|
+
if (containsForbiddenMemberTypeInfo(property2.typeInfo)) return false;
|
|
57398
|
+
return property2.accessors === void 0 || property2.accessors === 0 /* Get */ || property2.accessors === 1 /* GetSet */;
|
|
57399
|
+
}
|
|
57400
|
+
if (member.kind !== 1 /* Function */) return false;
|
|
57401
|
+
const fn = value;
|
|
57402
|
+
if (!isNSFunctionReturnTypeInfo(fn.returnTypeInfo)) return false;
|
|
57403
|
+
if (containsForbiddenMemberTypeInfo(fn.returnTypeInfo)) return false;
|
|
57404
|
+
if (!Array.isArray(fn.argumentTypes)) return false;
|
|
57405
|
+
for (const argumentType of fn.argumentTypes) {
|
|
57406
|
+
if (!isNSFunctionArgumentTypeInfo(argumentType)) return false;
|
|
57407
|
+
if (containsForbiddenMemberTypeInfo(argumentType)) return false;
|
|
57408
|
+
}
|
|
57409
|
+
if (fn.dispatch !== void 0 && fn.dispatch !== 0 /* Synchronous */ && fn.dispatch !== 1 /* Asynchronous */)
|
|
57410
|
+
return false;
|
|
57411
|
+
if (fn.dispatch === 1 /* Asynchronous */ && hasAnyParameterDefault(fn.argumentTypes)) {
|
|
57412
|
+
return false;
|
|
57413
|
+
}
|
|
57414
|
+
return validateParameterDefaults(fn.argumentTypes).length === 0;
|
|
57415
|
+
}
|
|
57416
|
+
function isInterfaceMembersRecord(value) {
|
|
57417
|
+
if (typeof value !== "object") return false;
|
|
57418
|
+
if (value === null) return false;
|
|
57419
|
+
if (Array.isArray(value)) return false;
|
|
57420
|
+
for (const [key, member] of Object.entries(value)) {
|
|
57421
|
+
if (key.length === 0) return false;
|
|
57422
|
+
if (!isNeoInterfaceMember(member)) return false;
|
|
57423
|
+
}
|
|
57424
|
+
return true;
|
|
57425
|
+
}
|
|
57426
|
+
function isOptionalStringArray(value) {
|
|
57427
|
+
if (value === void 0) return true;
|
|
57428
|
+
if (!Array.isArray(value)) return false;
|
|
57429
|
+
return value.every((entry) => typeof entry === "string" && entry.length > 0);
|
|
57430
|
+
}
|
|
57431
|
+
function isNeoInterfaceBase(value) {
|
|
57432
|
+
if (typeof value !== "object") return false;
|
|
57433
|
+
if (value === null) return false;
|
|
57434
|
+
const neoInterface = value;
|
|
57435
|
+
if (typeof neoInterface.name !== "string") return false;
|
|
57436
|
+
if (!isValidDocsText(neoInterface.docsText)) return false;
|
|
57437
|
+
if (!isInterfaceMembersRecord(neoInterface.members)) return false;
|
|
57438
|
+
if (!isOptionalStringArray(neoInterface.memberKeyOrder)) return false;
|
|
57439
|
+
if (!isOptionalStringArray(neoInterface.extendsInterfaceIds)) return false;
|
|
57440
|
+
if (neoInterface.system !== void 0 && !isSystemMetadata(neoInterface.system)) {
|
|
57441
|
+
return false;
|
|
57442
|
+
}
|
|
57443
|
+
return true;
|
|
57444
|
+
}
|
|
57445
|
+
function isNeoInterfaceProps(value) {
|
|
57446
|
+
if (!isNeoInterfaceBase(value)) return false;
|
|
57447
|
+
if (!isWithId(value)) return false;
|
|
57448
|
+
const neoInterface = value;
|
|
57449
|
+
if (typeof neoInterface.projectId !== "string") return false;
|
|
57450
|
+
if (!isEpochMillis(neoInterface.createdAt)) return false;
|
|
57451
|
+
return isEpochMillis(neoInterface.updatedAt);
|
|
57452
|
+
}
|
|
57453
|
+
function isNeoInterface(value) {
|
|
57454
|
+
return isNeoInterfaceProps(value);
|
|
57455
|
+
}
|
|
57456
|
+
function getInterfaceMemberKeyOrder(neoInterface) {
|
|
57457
|
+
const memberKeys = Object.keys(neoInterface.members);
|
|
57458
|
+
const seen = /* @__PURE__ */ new Set();
|
|
57459
|
+
const result = [];
|
|
57460
|
+
for (const memberKey of neoInterface.memberKeyOrder ?? []) {
|
|
57461
|
+
if (!Object.prototype.hasOwnProperty.call(neoInterface.members, memberKey)) {
|
|
57462
|
+
continue;
|
|
57463
|
+
}
|
|
57464
|
+
if (seen.has(memberKey)) continue;
|
|
57465
|
+
seen.add(memberKey);
|
|
57466
|
+
result.push(memberKey);
|
|
57467
|
+
}
|
|
57468
|
+
for (const memberKey of memberKeys) {
|
|
57469
|
+
if (seen.has(memberKey)) continue;
|
|
57470
|
+
seen.add(memberKey);
|
|
57471
|
+
result.push(memberKey);
|
|
57472
|
+
}
|
|
57473
|
+
return result;
|
|
57474
|
+
}
|
|
57475
|
+
var init_interface_types = __esm({
|
|
57476
|
+
"../src/models/interfaces/interface-types.ts"() {
|
|
57477
|
+
"use strict";
|
|
57478
|
+
init_core();
|
|
57479
|
+
init_neoscript_types();
|
|
57480
|
+
init_docs_text2();
|
|
57481
|
+
init_neoscript_guards();
|
|
57482
|
+
init_parameter_defaults();
|
|
57483
|
+
init_member_kinds();
|
|
57484
|
+
}
|
|
57485
|
+
});
|
|
57486
|
+
|
|
57498
57487
|
// ../src/models/interfaces/interface-responses.ts
|
|
57499
57488
|
var init_interface_responses = __esm({
|
|
57500
57489
|
"../src/models/interfaces/interface-responses.ts"() {
|
|
57501
57490
|
"use strict";
|
|
57502
|
-
init_member_kinds();
|
|
57503
|
-
init_classes();
|
|
57504
57491
|
init_interface_types();
|
|
57505
57492
|
}
|
|
57506
57493
|
});
|
|
@@ -58005,7 +57992,6 @@ var init_dialogue_db_response_types = __esm({
|
|
|
58005
57992
|
init_dialogue_types();
|
|
58006
57993
|
init_dialogue_group_types();
|
|
58007
57994
|
init_priority_types();
|
|
58008
|
-
init_localization_types();
|
|
58009
57995
|
}
|
|
58010
57996
|
});
|
|
58011
57997
|
|
|
@@ -66101,6 +66087,17 @@ function initializerReferencesAnyIdentifier(source, names) {
|
|
|
66101
66087
|
}
|
|
66102
66088
|
return false;
|
|
66103
66089
|
}
|
|
66090
|
+
function compilationProjectContext(args, members = args.members) {
|
|
66091
|
+
return {
|
|
66092
|
+
project: args.project,
|
|
66093
|
+
projectFiles: args.projectFiles ?? [],
|
|
66094
|
+
members: [...members],
|
|
66095
|
+
classes: [...args.classes],
|
|
66096
|
+
enums: [...args.enums],
|
|
66097
|
+
interfaces: [...args.interfaces ?? []],
|
|
66098
|
+
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject }
|
|
66099
|
+
};
|
|
66100
|
+
}
|
|
66104
66101
|
function compileNSPropertyBodies(args) {
|
|
66105
66102
|
if (args.member.kind !== 10 /* NSProperty */) return;
|
|
66106
66103
|
if (isMemberNSPropertyContractBase(args.member)) return;
|
|
@@ -66120,16 +66117,10 @@ function compileNSPropertyBodies(args) {
|
|
|
66120
66117
|
const getter = compileUnit2(
|
|
66121
66118
|
"getter",
|
|
66122
66119
|
() => compileNSGetter(code, {
|
|
66123
|
-
|
|
66124
|
-
projectFiles: args.projectFiles ?? [],
|
|
66125
|
-
members: [...members],
|
|
66126
|
-
classes: [...args.classes],
|
|
66127
|
-
enums: [...args.enums],
|
|
66128
|
-
interfaces: [...args.interfaces ?? []],
|
|
66120
|
+
...compilationProjectContext(args, members),
|
|
66129
66121
|
constructors: args.constructors ?? [],
|
|
66130
66122
|
variants: args.variants ?? [],
|
|
66131
66123
|
variantFolders: args.variantFolders ?? [],
|
|
66132
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66133
66124
|
thisClass: args.thisClass,
|
|
66134
66125
|
returnTypeInfo,
|
|
66135
66126
|
implicitMemberAccess: true,
|
|
@@ -66159,16 +66150,10 @@ function compileNSPropertyBodies(args) {
|
|
|
66159
66150
|
const setter = compileUnit2(
|
|
66160
66151
|
"setter",
|
|
66161
66152
|
() => compileNSSetter(setterCode, {
|
|
66162
|
-
|
|
66163
|
-
projectFiles: args.projectFiles ?? [],
|
|
66164
|
-
members: [...members],
|
|
66165
|
-
classes: [...args.classes],
|
|
66166
|
-
enums: [...args.enums],
|
|
66167
|
-
interfaces: [...args.interfaces ?? []],
|
|
66153
|
+
...compilationProjectContext(args, members),
|
|
66168
66154
|
constructors: args.constructors ?? [],
|
|
66169
66155
|
variants: args.variants ?? [],
|
|
66170
66156
|
variantFolders: args.variantFolders ?? [],
|
|
66171
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66172
66157
|
thisClass: args.thisClass,
|
|
66173
66158
|
valueTypeInfo: returnTypeInfo,
|
|
66174
66159
|
implicitMemberAccess: true,
|
|
@@ -66212,16 +66197,10 @@ function compileNSFunctionBody(args) {
|
|
|
66212
66197
|
const action2 = compileUnit2(
|
|
66213
66198
|
"function",
|
|
66214
66199
|
() => compileNSFunction("", {
|
|
66215
|
-
|
|
66216
|
-
projectFiles: args.projectFiles ?? [],
|
|
66217
|
-
members: [...members],
|
|
66218
|
-
classes: [...args.classes],
|
|
66219
|
-
enums: [...args.enums],
|
|
66220
|
-
interfaces: [...args.interfaces ?? []],
|
|
66200
|
+
...compilationProjectContext(args, members),
|
|
66221
66201
|
constructors: args.constructors ?? [],
|
|
66222
66202
|
variants: args.variants ?? [],
|
|
66223
66203
|
variantFolders: args.variantFolders ?? [],
|
|
66224
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66225
66204
|
thisClass: args.thisClass,
|
|
66226
66205
|
functionName: args.member.name,
|
|
66227
66206
|
implicitMemberAccess: true,
|
|
@@ -66261,16 +66240,10 @@ function compileNSFunctionBody(args) {
|
|
|
66261
66240
|
const action = compileUnit2(
|
|
66262
66241
|
"function",
|
|
66263
66242
|
() => compileNSFunction(code, {
|
|
66264
|
-
|
|
66265
|
-
projectFiles: args.projectFiles ?? [],
|
|
66266
|
-
members: [...members],
|
|
66267
|
-
classes: [...args.classes],
|
|
66268
|
-
enums: [...args.enums],
|
|
66269
|
-
interfaces: [...args.interfaces ?? []],
|
|
66243
|
+
...compilationProjectContext(args, members),
|
|
66270
66244
|
constructors: args.constructors ?? [],
|
|
66271
66245
|
variants: args.variants ?? [],
|
|
66272
66246
|
variantFolders: args.variantFolders ?? [],
|
|
66273
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66274
66247
|
thisClass: args.thisClass,
|
|
66275
66248
|
functionName: args.member.name,
|
|
66276
66249
|
implicitMemberAccess: true,
|
|
@@ -66300,16 +66273,10 @@ function compileMemberInitializerBody(args) {
|
|
|
66300
66273
|
compiled = compileUnit2(
|
|
66301
66274
|
"getter",
|
|
66302
66275
|
() => compileNSInitializer(defaultValue.init.code, {
|
|
66303
|
-
|
|
66304
|
-
projectFiles: args.projectFiles ?? [],
|
|
66305
|
-
members: [...members],
|
|
66306
|
-
classes: [...args.classes],
|
|
66307
|
-
enums: [...args.enums],
|
|
66308
|
-
interfaces: [...args.interfaces ?? []],
|
|
66276
|
+
...compilationProjectContext(args, members),
|
|
66309
66277
|
constructors: args.constructors ?? [],
|
|
66310
66278
|
variants: args.variants ?? [],
|
|
66311
66279
|
variantFolders: args.variantFolders ?? [],
|
|
66312
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66313
66280
|
returnTypeInfo,
|
|
66314
66281
|
initializerName: args.member.name,
|
|
66315
66282
|
argumentTypes: initializerArgumentTypes(
|
|
@@ -66363,12 +66330,7 @@ function compileValueRowInitializerBody(args) {
|
|
|
66363
66330
|
compiled = compileUnit2(
|
|
66364
66331
|
"getter",
|
|
66365
66332
|
() => compileNSInitializer(container.init.code, {
|
|
66366
|
-
|
|
66367
|
-
projectFiles: args.projectFiles ?? [],
|
|
66368
|
-
members: [...args.members],
|
|
66369
|
-
classes: [...args.classes],
|
|
66370
|
-
enums: [...args.enums],
|
|
66371
|
-
interfaces: [...args.interfaces ?? []],
|
|
66333
|
+
...compilationProjectContext(args),
|
|
66372
66334
|
constructors: args.constructors ?? [],
|
|
66373
66335
|
variants: args.variants ?? [],
|
|
66374
66336
|
variantFolders: args.variantFolders ?? [],
|
|
@@ -66379,7 +66341,6 @@ function compileValueRowInitializerBody(args) {
|
|
|
66379
66341
|
args.initializerOwnerClass,
|
|
66380
66342
|
args.constructors ?? []
|
|
66381
66343
|
),
|
|
66382
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66383
66344
|
...args.storedConstructionReplay === true ? { storedConstructionReplay: true } : {}
|
|
66384
66345
|
})
|
|
66385
66346
|
);
|
|
@@ -66446,14 +66407,8 @@ function compileConstructorRecord(args) {
|
|
|
66446
66407
|
const action = compileUnit2(
|
|
66447
66408
|
"function",
|
|
66448
66409
|
() => compileNSConstructor(code, {
|
|
66449
|
-
|
|
66450
|
-
projectFiles: args.projectFiles ?? [],
|
|
66451
|
-
members: [...args.members],
|
|
66452
|
-
classes: [...args.classes],
|
|
66453
|
-
enums: [...args.enums],
|
|
66454
|
-
interfaces: [...args.interfaces ?? []],
|
|
66410
|
+
...compilationProjectContext(args),
|
|
66455
66411
|
constructors: args.constructors,
|
|
66456
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66457
66412
|
thisClass: owner,
|
|
66458
66413
|
argumentTypes,
|
|
66459
66414
|
constructorName: owner.name
|
|
@@ -66490,14 +66445,8 @@ function compileConstructorBaseArguments(args, owner) {
|
|
|
66490
66445
|
return compileUnit2(
|
|
66491
66446
|
"getter",
|
|
66492
66447
|
() => compileNSInitializer(baseArgument.code, {
|
|
66493
|
-
|
|
66494
|
-
projectFiles: args.projectFiles ?? [],
|
|
66495
|
-
members: [...args.members],
|
|
66496
|
-
classes: [...args.classes],
|
|
66497
|
-
enums: [...args.enums],
|
|
66498
|
-
interfaces: [...args.interfaces ?? []],
|
|
66448
|
+
...compilationProjectContext(args),
|
|
66499
66449
|
constructors: args.constructors,
|
|
66500
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66501
66450
|
returnTypeInfo,
|
|
66502
66451
|
argumentTypes,
|
|
66503
66452
|
initializerName: `${owner.name} base argument ${baseArgument.name}`
|
|
@@ -66617,14 +66566,8 @@ function compileConstructorBaseInitializerFields(args, owner) {
|
|
|
66617
66566
|
return compileUnit2(
|
|
66618
66567
|
"getter",
|
|
66619
66568
|
() => compileNSInitializer(field.code, {
|
|
66620
|
-
|
|
66621
|
-
projectFiles: args.projectFiles ?? [],
|
|
66622
|
-
members: [...args.members],
|
|
66623
|
-
classes: [...args.classes],
|
|
66624
|
-
enums: [...args.enums],
|
|
66625
|
-
interfaces: [...args.interfaces ?? []],
|
|
66569
|
+
...compilationProjectContext(args),
|
|
66626
66570
|
constructors: args.constructors,
|
|
66627
|
-
...args.compilationProject === void 0 ? {} : { compilationProject: args.compilationProject },
|
|
66628
66571
|
returnTypeInfo,
|
|
66629
66572
|
argumentTypes: args.constructor.argumentTypes,
|
|
66630
66573
|
initializerName: `${owner.name} base initializer ${field.name}`
|
|
@@ -67893,7 +67836,6 @@ var init_constructor_argument_ownership = __esm({
|
|
|
67893
67836
|
childrenByContainerId;
|
|
67894
67837
|
edgesByOwnerValueId;
|
|
67895
67838
|
referenceCountByTargetValueId;
|
|
67896
|
-
classesById;
|
|
67897
67839
|
membersById;
|
|
67898
67840
|
constructorsById;
|
|
67899
67841
|
contextualRootMembersByValueId;
|
|
@@ -67908,9 +67850,6 @@ var init_constructor_argument_ownership = __esm({
|
|
|
67908
67850
|
this.valuesById = rows;
|
|
67909
67851
|
this.document = { ...document, values: [...rows.values()] };
|
|
67910
67852
|
this.contextualRootMembersByValueId = contextualRootMembersByValueId;
|
|
67911
|
-
this.classesById = new Map(
|
|
67912
|
-
document.classes.map((schemaClass2) => [schemaClass2.id, schemaClass2])
|
|
67913
|
-
);
|
|
67914
67853
|
this.membersById = new Map(
|
|
67915
67854
|
document.members.map((member) => [member.id, member])
|
|
67916
67855
|
);
|
|
@@ -69927,7 +69866,21 @@ function invalidateEvaluatorIndexes(ctx) {
|
|
|
69927
69866
|
function trackedRowForValueReference(value, ctx) {
|
|
69928
69867
|
if (typeof value !== "object" || value === null) return null;
|
|
69929
69868
|
const indexes = evaluatorIndexes(ctx);
|
|
69930
|
-
|
|
69869
|
+
const indexed = indexes.rowByValueReference.get(value) ?? indexes.baseRowByValueReference?.get(value) ?? ctx.vm.databaseVM?.rowForValueReference?.(value) ?? null;
|
|
69870
|
+
if (indexed !== null) return indexed;
|
|
69871
|
+
if (value !== ctx.thisValue || typeof ctx.thisValueRowId !== "string") {
|
|
69872
|
+
return null;
|
|
69873
|
+
}
|
|
69874
|
+
return evalValueById(
|
|
69875
|
+
ctx,
|
|
69876
|
+
ctx.thisValueRowId,
|
|
69877
|
+
ctx.__runtimeSessionValues,
|
|
69878
|
+
ctx.__valueOverlay
|
|
69879
|
+
);
|
|
69880
|
+
}
|
|
69881
|
+
function bindThisValue(ctx, thisValue) {
|
|
69882
|
+
const rowId = thisValue === ctx.thisValue ? ctx.thisValueRowId : trackedRowForValueReference(thisValue, ctx)?.id;
|
|
69883
|
+
return { ...ctx, thisValue, thisValueRowId: rowId };
|
|
69931
69884
|
}
|
|
69932
69885
|
function assertStoredReplayMutableValue(value, ctx, label) {
|
|
69933
69886
|
if (ctx.storedConstructionReplay !== true) return;
|
|
@@ -71651,8 +71604,7 @@ function dispatchNSSetter(target, value, scope, ctx, writes) {
|
|
|
71651
71604
|
evaluateNSSetter(
|
|
71652
71605
|
setter,
|
|
71653
71606
|
{
|
|
71654
|
-
...ctx,
|
|
71655
|
-
thisValue: receiver,
|
|
71607
|
+
...bindThisValue(ctx, receiver),
|
|
71656
71608
|
__setterCallStack: innerStack
|
|
71657
71609
|
},
|
|
71658
71610
|
value,
|
|
@@ -72233,7 +72185,7 @@ function evalPointer(pointer, scope, ctx) {
|
|
|
72233
72185
|
try {
|
|
72234
72186
|
return executeCompiledFunction(
|
|
72235
72187
|
action,
|
|
72236
|
-
|
|
72188
|
+
bindThisValue(ctx, innerThis),
|
|
72237
72189
|
args,
|
|
72238
72190
|
runtimeSignature.returnTypeInfo.type === NS_TYPE_VOID,
|
|
72239
72191
|
runtimeSignature
|
|
@@ -72476,7 +72428,7 @@ function invokeDelegateValue(value, args, ctx, callSiteId, ownerReceiver) {
|
|
|
72476
72428
|
const runtimeSignature = receiver === null ? signature : substituteCallableSignatureForReceiver(signature, receiver, ctx);
|
|
72477
72429
|
return executeCompiledFunction(
|
|
72478
72430
|
action,
|
|
72479
|
-
|
|
72431
|
+
bindThisValue(ctx, receiver),
|
|
72480
72432
|
args,
|
|
72481
72433
|
runtimeSignature.returnTypeInfo.type === NS_TYPE_VOID,
|
|
72482
72434
|
runtimeSignature
|
|
@@ -73146,8 +73098,7 @@ function dispatchNSGetterById(memberId, receiver, ctx) {
|
|
|
73146
73098
|
const innerStack = new Set(stack);
|
|
73147
73099
|
innerStack.add(memberId);
|
|
73148
73100
|
return evaluateNSGetter(getter, {
|
|
73149
|
-
...ctx,
|
|
73150
|
-
thisValue: receiver,
|
|
73101
|
+
...bindThisValue(ctx, receiver),
|
|
73151
73102
|
__getterCallStack: innerStack
|
|
73152
73103
|
});
|
|
73153
73104
|
}
|
|
@@ -75683,7 +75634,7 @@ function runDeclaredConstructorChain(args) {
|
|
|
75683
75634
|
args.applyBaseInitializerBlock(record3, args.argumentValues, args.thisValue);
|
|
75684
75635
|
executeCompiledFunction(
|
|
75685
75636
|
record3.action,
|
|
75686
|
-
|
|
75637
|
+
bindThisValue(ctx, args.thisValue),
|
|
75687
75638
|
args.argumentValues,
|
|
75688
75639
|
true
|
|
75689
75640
|
);
|
|
@@ -75758,7 +75709,7 @@ function evaluateBaseInitializerFields(args) {
|
|
|
75758
75709
|
});
|
|
75759
75710
|
const value = executeCompiledFunction(
|
|
75760
75711
|
getter,
|
|
75761
|
-
|
|
75712
|
+
bindThisValue(ctx, args.thisValue),
|
|
75762
75713
|
args.argumentValues,
|
|
75763
75714
|
false
|
|
75764
75715
|
);
|
|
@@ -75999,9 +75950,7 @@ function evaluateInitializerInContext(init, member, ctx, createdValues, argument
|
|
|
75999
75950
|
const closeFrame = pushConstructionFrame(ctx, `${member.name} initializer`);
|
|
76000
75951
|
let result;
|
|
76001
75952
|
try {
|
|
76002
|
-
const initializerCtx = ctx.thisValue === null ? ctx :
|
|
76003
|
-
thisValue: null
|
|
76004
|
-
});
|
|
75953
|
+
const initializerCtx = ctx.thisValue === null ? ctx : bindThisValue(ctx, null);
|
|
76005
75954
|
result = evaluateNSGetterWithEffects(
|
|
76006
75955
|
compiled,
|
|
76007
75956
|
initializerCtx,
|
|
@@ -81136,6 +81085,7 @@ var init_evaluateInitializer = __esm({
|
|
|
81136
81085
|
"../src/view-models/neoscript-evaluator/evaluateInitializer.ts"() {
|
|
81137
81086
|
"use strict";
|
|
81138
81087
|
init_deep_clone_plain_data();
|
|
81088
|
+
init_collections();
|
|
81139
81089
|
init_instance_provenance();
|
|
81140
81090
|
init_members();
|
|
81141
81091
|
init_project2();
|
|
@@ -81625,24 +81575,17 @@ var init_project_record_migrations = __esm({
|
|
|
81625
81575
|
var project_document_read_exports = {};
|
|
81626
81576
|
__export(project_document_read_exports, {
|
|
81627
81577
|
DOCUMENT_MANIFEST_PAGE_SIZE: () => DOCUMENT_MANIFEST_PAGE_SIZE,
|
|
81628
|
-
DOCUMENT_SNAPSHOT_FETCH_CHUNK_SIZE: () => DOCUMENT_SNAPSHOT_FETCH_CHUNK_SIZE,
|
|
81629
|
-
DOCUMENT_SNAPSHOT_FETCH_CONCURRENCY: () => DOCUMENT_SNAPSHOT_FETCH_CONCURRENCY,
|
|
81630
|
-
appendProjectRecordToBuckets: () => appendProjectRecordToBuckets,
|
|
81631
81578
|
assembleProjectDocumentRaw: () => assembleProjectDocumentRaw,
|
|
81632
|
-
emptyProjectRecordBuckets: () => emptyProjectRecordBuckets,
|
|
81633
81579
|
fetchProjectDocumentPartitionRecords: () => fetchProjectDocumentPartitionRecords,
|
|
81634
81580
|
fetchProjectDocumentRawChunked: () => fetchProjectDocumentRawChunked,
|
|
81635
81581
|
fetchProjectDocumentSnapshots: () => fetchProjectDocumentSnapshots,
|
|
81636
81582
|
readArrayField: () => readArrayField,
|
|
81637
|
-
readField: () => readField,
|
|
81638
|
-
readOptionalArrayField: () => readOptionalArrayField,
|
|
81639
81583
|
readProjectDocument: () => readProjectDocument,
|
|
81640
81584
|
readProjectDocumentContentHashHeads: () => readProjectDocumentContentHashHeads,
|
|
81641
81585
|
readProjectDocumentManifestPage: () => readProjectDocumentManifestPage,
|
|
81642
81586
|
readProjectDocumentManifestPageRecords: () => readProjectDocumentManifestPageRecords,
|
|
81643
81587
|
readProjectDocumentManifestRecords: () => readProjectDocumentManifestRecords,
|
|
81644
81588
|
readProjectDocumentRevisionMarker: () => readProjectDocumentRevisionMarker,
|
|
81645
|
-
readStoredMembersField: () => readStoredMembersField,
|
|
81646
81589
|
withStoredValueBase: () => withStoredValueBase
|
|
81647
81590
|
});
|
|
81648
81591
|
async function fetchProjectDocumentRawChunked(runner, options = {}) {
|
|
@@ -86460,7 +86403,6 @@ var init_root_source = __esm({
|
|
|
86460
86403
|
init_projection();
|
|
86461
86404
|
init_instance_provenance();
|
|
86462
86405
|
init_value_sources();
|
|
86463
|
-
init_root_value_paths();
|
|
86464
86406
|
init_source_format();
|
|
86465
86407
|
init_stored_value_placements();
|
|
86466
86408
|
ROOT_PROJECT_FIELDS2 = [
|
|
@@ -87095,16 +87037,6 @@ var init_animation_clips = __esm({
|
|
|
87095
87037
|
const member = this.envBindingMember(env, paramId);
|
|
87096
87038
|
return isMemberClass(member) ? member.classId : null;
|
|
87097
87039
|
}
|
|
87098
|
-
classDescendsFrom(classId, baseClassId) {
|
|
87099
|
-
const visited = /* @__PURE__ */ new Set();
|
|
87100
|
-
let current = this.classById.get(classId);
|
|
87101
|
-
while (current !== void 0 && !visited.has(current.id)) {
|
|
87102
|
-
if (current.id === baseClassId) return true;
|
|
87103
|
-
visited.add(current.id);
|
|
87104
|
-
current = current.extendsClassId ? this.classById.get(current.extendsClassId) : void 0;
|
|
87105
|
-
}
|
|
87106
|
-
return false;
|
|
87107
|
-
}
|
|
87108
87040
|
/**
|
|
87109
87041
|
* P48 §1 and §7's segment rules, for every segment the document holds.
|
|
87110
87042
|
*
|
|
@@ -87580,13 +87512,6 @@ var init_animation_clips = __esm({
|
|
|
87580
87512
|
};
|
|
87581
87513
|
return isMemberClass(resolvedEntryMember) ? resolvedEntryMember.classId : void 0;
|
|
87582
87514
|
}
|
|
87583
|
-
requireSingleLookupField(parent, classId, memberId, label) {
|
|
87584
|
-
const value = this.scalarField(parent, classId, memberId);
|
|
87585
|
-
if (!Array.isArray(value) || value.length !== 1 || typeof value[0] !== "string") {
|
|
87586
|
-
throw new Error(`${label} must reference exactly one child.`);
|
|
87587
|
-
}
|
|
87588
|
-
return value[0];
|
|
87589
|
-
}
|
|
87590
87515
|
requirePositiveIntegerField(parent, classId, memberId, label) {
|
|
87591
87516
|
const value = this.requireIntegerField(parent, classId, memberId, label);
|
|
87592
87517
|
if (value < 1) throw new Error(`${label} must be at least 1.`);
|
|
@@ -87655,10 +87580,6 @@ var init_animation_clips = __esm({
|
|
|
87655
87580
|
const bindingMember = binding?.kind === "member" ? this.memberById.get(binding.memberId) : void 0;
|
|
87656
87581
|
return isMemberClass(bindingMember) ? bindingMember.classId : null;
|
|
87657
87582
|
}
|
|
87658
|
-
requireClassMember(value) {
|
|
87659
|
-
if (!isMemberClass(value)) throw new Error("Expected Class member.");
|
|
87660
|
-
return value;
|
|
87661
|
-
}
|
|
87662
87583
|
field(classId, requiredMemberId) {
|
|
87663
87584
|
const entry = mergeStoredInstanceSchema(
|
|
87664
87585
|
classId,
|
|
@@ -88717,7 +88638,7 @@ function storedConstructionEmitters(state, manifest) {
|
|
|
88717
88638
|
if (!isObjectRecord2(record3.data)) continue;
|
|
88718
88639
|
if (!isObjectRecord2(record3.data.value)) continue;
|
|
88719
88640
|
const constructorArgs = record3.data.constructorArgs;
|
|
88720
|
-
const hasInstanceProvenance =
|
|
88641
|
+
const hasInstanceProvenance = isVirtualInstanceRootShape(record3.data);
|
|
88721
88642
|
if (constructorArgs !== void 0 && constructorArgs !== null && !hasInstanceProvenance) {
|
|
88722
88643
|
continue;
|
|
88723
88644
|
}
|
|
@@ -88816,9 +88737,6 @@ function nearestOwnedAncestor(valueId, parents, owners) {
|
|
|
88816
88737
|
}
|
|
88817
88738
|
return null;
|
|
88818
88739
|
}
|
|
88819
|
-
function carriesStoredInstanceProvenance(value) {
|
|
88820
|
-
return isVirtualInstanceRootShape(value);
|
|
88821
|
-
}
|
|
88822
88740
|
function readMaterializedConstructionBuildCacheV2(root, state) {
|
|
88823
88741
|
try {
|
|
88824
88742
|
const parsed = JSON.parse(
|
|
@@ -89660,7 +89578,7 @@ function withoutFields(value, ignored) {
|
|
|
89660
89578
|
Object.entries(value).filter(([field]) => !ignored.has(field))
|
|
89661
89579
|
);
|
|
89662
89580
|
}
|
|
89663
|
-
var NON_CONTRACT_MEMBER_FIELDS, NS_PROPERTY_BODY_FIELDS, NS_FUNCTION_BODY_FIELDS
|
|
89581
|
+
var NON_CONTRACT_MEMBER_FIELDS, NS_PROPERTY_BODY_FIELDS, NS_FUNCTION_BODY_FIELDS;
|
|
89664
89582
|
var init_neo_script_recompile_scope = __esm({
|
|
89665
89583
|
"../src/database/neo-script-recompile-scope.ts"() {
|
|
89666
89584
|
"use strict";
|
|
@@ -89700,7 +89618,6 @@ var init_neo_script_recompile_scope = __esm({
|
|
|
89700
89618
|
"bodyMode",
|
|
89701
89619
|
"uiAction"
|
|
89702
89620
|
]);
|
|
89703
|
-
collectCompiledClassIds = collectConstructedClassIds;
|
|
89704
89621
|
}
|
|
89705
89622
|
});
|
|
89706
89623
|
|
|
@@ -91134,7 +91051,7 @@ function consumeWorldPlacementSidecarKeys(args) {
|
|
|
91134
91051
|
}
|
|
91135
91052
|
return present;
|
|
91136
91053
|
}
|
|
91137
|
-
var WORLD_PLACEMENT_SIDECAR_KEYS,
|
|
91054
|
+
var WORLD_PLACEMENT_SIDECAR_KEYS, WORLD_PLACEMENT_ASSET_KIND;
|
|
91138
91055
|
var init_world_content_sidecar_validation = __esm({
|
|
91139
91056
|
"../src/models/project/world-content-sidecar-validation.ts"() {
|
|
91140
91057
|
"use strict";
|
|
@@ -91150,9 +91067,6 @@ var init_world_content_sidecar_validation = __esm({
|
|
|
91150
91067
|
"assetValueId",
|
|
91151
91068
|
"variantId"
|
|
91152
91069
|
];
|
|
91153
|
-
WORLD_PLACEMENT_SIDECAR_KEY_SET = new Set(
|
|
91154
|
-
WORLD_PLACEMENT_SIDECAR_KEYS
|
|
91155
|
-
);
|
|
91156
91070
|
WORLD_PLACEMENT_ASSET_KIND = /* @__PURE__ */ new Map([
|
|
91157
91071
|
[NeoWorldSystemClassKind.TileInstance, NeoWorldSystemClassKind.Tile],
|
|
91158
91072
|
[NeoWorldSystemClassKind.ObjectPlacementTile, NeoWorldSystemClassKind.Object],
|
|
@@ -105870,7 +105784,7 @@ function extractProjectSnapshotDerivedEdges(source) {
|
|
|
105870
105784
|
payloadJson: canonicalJsonStringify({ referenceKind: "type-name" })
|
|
105871
105785
|
});
|
|
105872
105786
|
}
|
|
105873
|
-
for (const targetKey of
|
|
105787
|
+
for (const targetKey of collectConstructedClassIds(source.data)) {
|
|
105874
105788
|
add({
|
|
105875
105789
|
edgeKind: "compiled-reference",
|
|
105876
105790
|
targetKey,
|
|
@@ -110767,7 +110681,6 @@ function lowerSeedRow(context, member, sourceExpression, source, valueId, path,
|
|
|
110767
110681
|
context,
|
|
110768
110682
|
effectiveClass,
|
|
110769
110683
|
environment,
|
|
110770
|
-
source,
|
|
110771
110684
|
path
|
|
110772
110685
|
);
|
|
110773
110686
|
const body = {};
|
|
@@ -111097,7 +111010,6 @@ function lowerStructuralConstructionRow(context, member, expression, source, val
|
|
|
111097
111010
|
context,
|
|
111098
111011
|
effectiveClass,
|
|
111099
111012
|
environment,
|
|
111100
|
-
source,
|
|
111101
111013
|
path
|
|
111102
111014
|
);
|
|
111103
111015
|
const parameters = structuralConstructorParameters(
|
|
@@ -112227,7 +112139,7 @@ function selectorReferenceReturnClassId(context, expression) {
|
|
|
112227
112139
|
const className = astTypeNameV4(returned.typeArguments[0]);
|
|
112228
112140
|
return className === null ? null : context.classesByName.get(className)?.id ?? null;
|
|
112229
112141
|
}
|
|
112230
|
-
function animationChildOverrideSeedBindings(context, schemaClass2, environment,
|
|
112142
|
+
function animationChildOverrideSeedBindings(context, schemaClass2, environment, path) {
|
|
112231
112143
|
if (schemaClass2.system?.worldKind !== "animationChildOverride") {
|
|
112232
112144
|
return void 0;
|
|
112233
112145
|
}
|
|
@@ -116331,7 +116243,7 @@ function discoverProjectBinariesV4(root, explicit, ignoredPaths = []) {
|
|
|
116331
116243
|
});
|
|
116332
116244
|
}
|
|
116333
116245
|
const reserved = explicit.map((entry) => entry.symbol);
|
|
116334
|
-
const symbols =
|
|
116246
|
+
const symbols = assignDeterministicFileSymbols(candidates, reserved);
|
|
116335
116247
|
return candidates.map((candidate) => {
|
|
116336
116248
|
const inspected = inspectBinaryFile(candidate.absolute, candidate.path);
|
|
116337
116249
|
return { ...inspected, symbol: symbols.get(candidate.stableId) };
|
|
@@ -116582,15 +116494,14 @@ function safePathSegment2(value) {
|
|
|
116582
116494
|
function normalizeSlash2(value) {
|
|
116583
116495
|
return value.split(sep2).join("/").replaceAll("\\", "/");
|
|
116584
116496
|
}
|
|
116585
|
-
var SUPPORTED_BINARY_TYPES, REGISTRY_ENTRY2
|
|
116497
|
+
var SUPPORTED_BINARY_TYPES, REGISTRY_ENTRY2;
|
|
116586
116498
|
var init_project_files = __esm({
|
|
116587
116499
|
"src/project-source/project-files.ts"() {
|
|
116588
116500
|
"use strict";
|
|
116589
116501
|
init_src();
|
|
116590
116502
|
init_projection();
|
|
116591
116503
|
init_source_format();
|
|
116592
|
-
|
|
116593
|
-
init_project_file_registry();
|
|
116504
|
+
init_project_file_source();
|
|
116594
116505
|
init_project_file_source();
|
|
116595
116506
|
SUPPORTED_BINARY_TYPES = /* @__PURE__ */ new Map([
|
|
116596
116507
|
[".png", { kind: "image", mimeType: "image/png" }],
|
|
@@ -116602,7 +116513,6 @@ var init_project_files = __esm({
|
|
|
116602
116513
|
[".ogg", { kind: "audio", mimeType: "audio/ogg" }]
|
|
116603
116514
|
]);
|
|
116604
116515
|
REGISTRY_ENTRY2 = /(?:@id\(\s*("(?:[^"\\]|\\.)*")\s*\)\s*)?(?:@settings\(([\s\S]*?)\)\s*)?(NeoImage|NeoAudioClip)\s+([A-Za-z_][A-Za-z0-9_]*)\s*=\s*new\(\s*("(?:[^"\\]|\\.)*")\s*\)\s*;/gy;
|
|
116605
|
-
assignDeterministicFileSymbols2 = assignDeterministicProjectFileSymbols;
|
|
116606
116516
|
}
|
|
116607
116517
|
});
|
|
116608
116518
|
|
|
@@ -118296,7 +118206,6 @@ var init_static_value_seed_records = __esm({
|
|
|
118296
118206
|
// src/commands/pull.ts
|
|
118297
118207
|
var pull_exports = {};
|
|
118298
118208
|
__export(pull_exports, {
|
|
118299
|
-
deltaRequiresSourceProjectionV4: () => deltaRequiresSourceProjectionV4,
|
|
118300
118209
|
projectSourcePathsRequiringRewriteV4: () => projectSourcePathsRequiringRewriteV4,
|
|
118301
118210
|
runPull: () => runPull
|
|
118302
118211
|
});
|
|
@@ -126391,7 +126300,7 @@ var init_registry2 = __esm({
|
|
|
126391
126300
|
PROJECT_SCHEMA_CONTRACT = Object.freeze({
|
|
126392
126301
|
formatVersion: 4,
|
|
126393
126302
|
contractVersion: "4.1",
|
|
126394
|
-
cliVersion: "0.43.
|
|
126303
|
+
cliVersion: "0.43.1",
|
|
126395
126304
|
projectFileUploadBatchSize: 32,
|
|
126396
126305
|
documentRecords: {
|
|
126397
126306
|
member: {
|
|
@@ -129524,11 +129433,6 @@ var init_test = __esm({
|
|
|
129524
129433
|
// src/commands/doctor.ts
|
|
129525
129434
|
var doctor_exports = {};
|
|
129526
129435
|
__export(doctor_exports, {
|
|
129527
|
-
NEO_COMPILER_CONTRACT: () => NEO_COMPILER_CONTRACT,
|
|
129528
|
-
NEO_FILE_CONTRACT_VERSION: () => NEO_FILE_CONTRACT_VERSION,
|
|
129529
|
-
NEO_SOURCE_CONTRACT_VERSION: () => NEO_SOURCE_CONTRACT_VERSION,
|
|
129530
|
-
NEO_VSCODE_EXTENSION_CONTRACT_VERSION: () => NEO_VSCODE_EXTENSION_CONTRACT_VERSION,
|
|
129531
|
-
NEO_VSCODE_EXTENSION_ID: () => NEO_VSCODE_EXTENSION_ID,
|
|
129532
129436
|
inspectNeoDoctor: () => inspectNeoDoctor,
|
|
129533
129437
|
runDoctor: () => runDoctor
|
|
129534
129438
|
});
|
|
@@ -129867,8 +129771,6 @@ var init_doctor = __esm({
|
|
|
129867
129771
|
var migrate_exports = {};
|
|
129868
129772
|
__export(migrate_exports, {
|
|
129869
129773
|
planCollectionMutation: () => planCollectionMutation,
|
|
129870
|
-
resolveAssignTarget: () => resolveAssignTarget,
|
|
129871
|
-
resolveCollectionTarget: () => resolveCollectionTarget,
|
|
129872
129774
|
resolveWriteTarget: () => resolveWriteTarget,
|
|
129873
129775
|
runMigrate: () => runMigrate
|
|
129874
129776
|
});
|
|
@@ -130063,8 +129965,8 @@ async function runMigrate(workspace, subcommand, positional, targetRef, json, de
|
|
|
130063
129965
|
return;
|
|
130064
129966
|
}
|
|
130065
129967
|
if (subcommand === "run") {
|
|
130066
|
-
const client = NeoApiClient.forBaseUrl(workspace.config.apiBaseUrl);
|
|
130067
129968
|
if (process.argv.includes("--server")) {
|
|
129969
|
+
const client = NeoApiClient.forBaseUrl(workspace.config.apiBaseUrl);
|
|
130068
129970
|
const result = await client.post(
|
|
130069
129971
|
`/api/projects/${workspace.config.projectId}/versions/${workspace.config.versionId}/migrations/run`,
|
|
130070
129972
|
{
|
|
@@ -130082,11 +129984,9 @@ async function runMigrate(workspace, subcommand, positional, targetRef, json, de
|
|
|
130082
129984
|
}
|
|
130083
129985
|
await runPendingMigrations(
|
|
130084
129986
|
workspace,
|
|
130085
|
-
client,
|
|
130086
129987
|
raw,
|
|
130087
129988
|
migrations,
|
|
130088
|
-
positional[0] ?? null
|
|
130089
|
-
json
|
|
129989
|
+
positional[0] ?? null
|
|
130090
129990
|
);
|
|
130091
129991
|
return;
|
|
130092
129992
|
}
|
|
@@ -130279,36 +130179,12 @@ function resolveCollectionTarget(write, env, migrationName) {
|
|
|
130279
130179
|
`Migration "${migrationName}" mutates a collection through an unsupported target.`
|
|
130280
130180
|
);
|
|
130281
130181
|
}
|
|
130282
|
-
function resolveAssignTarget(write, instanceValue, migrationName) {
|
|
130283
|
-
if (write.kind !== "assign") {
|
|
130284
|
-
throw new Error(
|
|
130285
|
-
`Migration "${migrationName}" produced a "${write.kind}" write; the current runner only applies plain assignments (this.<Field> = ...).`
|
|
130286
|
-
);
|
|
130287
|
-
}
|
|
130288
|
-
const target = isObjectRecord2(write.target) ? write.target : {};
|
|
130289
|
-
const pointer = isObjectRecord2(target.pointer) ? target.pointer : {};
|
|
130290
|
-
const keyOf = isObjectRecord2(pointer.keyOf) ? pointer.keyOf : {};
|
|
130291
|
-
const receiver = keyOf.pointer;
|
|
130292
|
-
if (!isObjectRecord2(receiver) || receiver.type !== "variable" || receiver.variableId !== "__this__" && receiver.variableId !== "__target__") {
|
|
130293
|
-
throw new Error(
|
|
130294
|
-
`Migration "${migrationName}" assigns to a non-this receiver; the current runner only applies direct this.<Field> assignments.`
|
|
130295
|
-
);
|
|
130296
|
-
}
|
|
130297
|
-
const childKey = readLiteralKey(keyOf.key, migrationName);
|
|
130298
|
-
if (!isObjectRecord2(instanceValue) || typeof instanceValue[childKey] !== "string") {
|
|
130299
|
-
throw new Error(
|
|
130300
|
-
`Migration "${migrationName}" writes "${childKey}" but the instance has no stored value id for that key.`
|
|
130301
|
-
);
|
|
130302
|
-
}
|
|
130303
|
-
return { childKey };
|
|
130304
|
-
}
|
|
130305
130182
|
function migrationTargetClassName(thisClass) {
|
|
130306
130183
|
if (thisClass === null) return null;
|
|
130307
130184
|
if (typeof thisClass.name !== "string") return null;
|
|
130308
130185
|
return thisClass.name;
|
|
130309
130186
|
}
|
|
130310
|
-
async function runPendingMigrations(workspace,
|
|
130311
|
-
void dryRunFlagUnused;
|
|
130187
|
+
async function runPendingMigrations(workspace, raw, migrations, onlyRef) {
|
|
130312
130188
|
const dryRun = process.argv.includes("--dry-run");
|
|
130313
130189
|
const document = readDocumentArrays(raw);
|
|
130314
130190
|
const heads = /* @__PURE__ */ new Map();
|
|
@@ -132902,8 +132778,7 @@ var init_dev = __esm({
|
|
|
132902
132778
|
var resolve_exports = {};
|
|
132903
132779
|
__export(resolve_exports, {
|
|
132904
132780
|
resolveMarkers: () => resolveMarkers,
|
|
132905
|
-
runResolve: () => runResolve
|
|
132906
|
-
workspaceFilePath: () => workspaceFilePath
|
|
132781
|
+
runResolve: () => runResolve
|
|
132907
132782
|
});
|
|
132908
132783
|
import { readFileSync as readFileSync19, rmSync as rmSync8, writeFileSync as writeFileSync14 } from "node:fs";
|
|
132909
132784
|
import { join as join20 } from "node:path";
|
|
@@ -133005,9 +132880,6 @@ function resolveMarkers(source, side) {
|
|
|
133005
132880
|
}
|
|
133006
132881
|
return output.join("\n");
|
|
133007
132882
|
}
|
|
133008
|
-
function workspaceFilePath(workspace, file) {
|
|
133009
|
-
return join20(workspace.root, file);
|
|
133010
|
-
}
|
|
133011
132883
|
var init_resolve = __esm({
|
|
133012
132884
|
"src/commands/resolve.ts"() {
|
|
133013
132885
|
"use strict";
|
|
@@ -133211,7 +133083,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
|
|
|
133211
133083
|
async function main() {
|
|
133212
133084
|
const args = parseArgs(process.argv.slice(2));
|
|
133213
133085
|
if (args.command === "--version") {
|
|
133214
|
-
console.log("0.43.
|
|
133086
|
+
console.log("0.43.1");
|
|
133215
133087
|
return;
|
|
133216
133088
|
}
|
|
133217
133089
|
if (args.command === null || args.command === "help" || args.command === "--help" || args.command === "-h") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neocompose/cli",
|
|
3
|
-
"version": "0.43.
|
|
3
|
+
"version": "0.43.1",
|
|
4
4
|
"description": "Neo Compose native project-source CLI with bidirectional sync.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"ignore": "^7.0.6"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
+
"@neocompose/neoscript-language": "file:../packages/neoscript-language",
|
|
42
43
|
"esbuild": "^0.28.1",
|
|
43
44
|
"prettier": "^3.9.5",
|
|
44
45
|
"uuid": "^14.0.1"
|
|
@@ -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.43.
|
|
86
|
+
<!-- reviewed-through-cli: 0.43.1 -->
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
The quoted version above is checked too, so this instruction cannot go stale
|