@neocompose/cli 0.36.5 → 0.36.6
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,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.36.6] - 2026-08-20
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Keep normal pull's in-memory overlay of uncommitted static value seeds valid
|
|
8
|
+
for computed-initializer replay. This lets a pull reconcile source that
|
|
9
|
+
still has pending member identities after a successful remote commit without
|
|
10
|
+
requiring a destructive `neo pull --reset`.
|
|
11
|
+
|
|
3
12
|
## [0.36.5] - 2026-08-20
|
|
4
13
|
|
|
5
14
|
### Fixed
|
package/dist/neo.mjs
CHANGED
|
@@ -106486,25 +106486,25 @@ var init_project_file_pull = __esm({
|
|
|
106486
106486
|
});
|
|
106487
106487
|
|
|
106488
106488
|
// src/project-source/static-value-seed-records.ts
|
|
106489
|
-
function staticValueSeedEmitRecords(status, present) {
|
|
106489
|
+
function staticValueSeedEmitRecords(status, present, projectId) {
|
|
106490
106490
|
const records2 = /* @__PURE__ */ new Map();
|
|
106491
106491
|
if (status === null) return records2;
|
|
106492
106492
|
for (const [memberId, seed] of status.authoredValueSeeds) {
|
|
106493
106493
|
const rootId = seed.valueId ?? memberValueIdFromRecord(status, memberId);
|
|
106494
106494
|
if (rootId !== null) {
|
|
106495
|
-
addSeedRecord(records2, present, {
|
|
106495
|
+
addSeedRecord(records2, present, projectId, {
|
|
106496
106496
|
id: rootId,
|
|
106497
106497
|
memberId,
|
|
106498
106498
|
...seed.init === void 0 ? { value: seed.value, classId: seed.classId } : { init: seed.init }
|
|
106499
106499
|
});
|
|
106500
106500
|
}
|
|
106501
106501
|
for (const row of seed.values ?? []) {
|
|
106502
|
-
addSeedRecord(records2, present, { ...row });
|
|
106502
|
+
addSeedRecord(records2, present, projectId, { ...row });
|
|
106503
106503
|
}
|
|
106504
106504
|
}
|
|
106505
106505
|
return records2;
|
|
106506
106506
|
}
|
|
106507
|
-
function addSeedRecord(records2, present, data) {
|
|
106507
|
+
function addSeedRecord(records2, present, projectId, data) {
|
|
106508
106508
|
const key = `value:${data.id}`;
|
|
106509
106509
|
if (present.has(key)) return;
|
|
106510
106510
|
if (records2.has(key)) return;
|
|
@@ -106514,7 +106514,18 @@ function addSeedRecord(records2, present, data) {
|
|
|
106514
106514
|
// A seed has no committed content, so it has no server hash to carry.
|
|
106515
106515
|
contentHash: "",
|
|
106516
106516
|
deleted: false,
|
|
106517
|
-
|
|
106517
|
+
// These records exist only in normal pull's in-memory local projection,
|
|
106518
|
+
// but the value emitter deliberately validates the entire graph before it
|
|
106519
|
+
// replays any computed initializer. Give the seed the same envelope as a
|
|
106520
|
+
// persisted value row so an unrelated replay does not reject a valid
|
|
106521
|
+
// locally-authored static initializer. The overlay is never written to
|
|
106522
|
+
// workspace state or sent to the server.
|
|
106523
|
+
data: {
|
|
106524
|
+
...data,
|
|
106525
|
+
projectId,
|
|
106526
|
+
createdAt: 0,
|
|
106527
|
+
updatedAt: 0
|
|
106528
|
+
}
|
|
106518
106529
|
});
|
|
106519
106530
|
}
|
|
106520
106531
|
function memberValueIdFromRecord(status, memberId) {
|
|
@@ -106854,7 +106865,8 @@ async function finishFormat4Pull(args) {
|
|
|
106854
106865
|
const plannedLocalRecords = buildEmitRecordSet(document, plans, "emit");
|
|
106855
106866
|
for (const [key, record3] of staticValueSeedEmitRecords(
|
|
106856
106867
|
localStatus,
|
|
106857
|
-
new Set(plannedLocalRecords.keys())
|
|
106868
|
+
new Set(plannedLocalRecords.keys()),
|
|
106869
|
+
workspace.config.projectId
|
|
106858
106870
|
)) {
|
|
106859
106871
|
plannedLocalRecords.set(key, record3);
|
|
106860
106872
|
}
|
|
@@ -114140,7 +114152,7 @@ var init_registry2 = __esm({
|
|
|
114140
114152
|
PROJECT_SCHEMA_CONTRACT = Object.freeze({
|
|
114141
114153
|
formatVersion: 3,
|
|
114142
114154
|
contractVersion: "3.14",
|
|
114143
|
-
cliVersion: "0.36.
|
|
114155
|
+
cliVersion: "0.36.6",
|
|
114144
114156
|
projectFileUploadBatchSize: 32,
|
|
114145
114157
|
documentRecords: {
|
|
114146
114158
|
member: {
|
|
@@ -120742,7 +120754,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
|
|
|
120742
120754
|
async function main() {
|
|
120743
120755
|
const args = parseArgs(process.argv.slice(2));
|
|
120744
120756
|
if (args.command === "--version") {
|
|
120745
|
-
console.log("0.36.
|
|
120757
|
+
console.log("0.36.6");
|
|
120746
120758
|
return;
|
|
120747
120759
|
}
|
|
120748
120760
|
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.36.
|
|
86
|
+
<!-- reviewed-through-cli: 0.36.6 -->
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
The quoted version above is checked too, so this instruction cannot go stale
|