@neocompose/cli 0.19.5 → 0.19.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,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.19.6] - 2026-08-02
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- A push sends its authored value content as `authoredValueSeeds`, renamed
|
|
8
|
+
from `staticValueSeeds`. The seeds were never only a static member's — they
|
|
9
|
+
carry every authored value row, root values and collection entries included.
|
|
10
|
+
A CLI older than this fails against a server that has it, and vice versa: the
|
|
11
|
+
field is part of the push request and its staged payload.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- `neo push` no longer ends in an opaque `500` after a large push has already
|
|
16
|
+
committed. The transaction's results are read back a page at a time, and the
|
|
17
|
+
page was bounded by chunk count alone, so a big enough push read past what
|
|
18
|
+
the server may in one query. Pages are bounded by bytes now, and a workspace
|
|
19
|
+
learns the result of its own push.
|
|
20
|
+
- `neo pull` no longer rejects a project whose committed members carry doc text
|
|
21
|
+
while the local copy still names their pre-push ids.
|
|
22
|
+
|
|
3
23
|
## [0.19.5] - 2026-08-02
|
|
4
24
|
|
|
5
25
|
### Fixed
|
package/dist/neo.mjs
CHANGED
|
@@ -31428,10 +31428,18 @@ function assertMember2(value, path) {
|
|
|
31428
31428
|
assertMemberOwner(member.owner, `${path}.owner`);
|
|
31429
31429
|
assertOptionalDocsText2(member.docsText, `${path}.docsText`);
|
|
31430
31430
|
const owner = requireRecord(member.owner, `${path}.owner`);
|
|
31431
|
-
if (member.docsText !== void 0 && owner.kind !== "classMember" && owner.kind !== "sharedClassMember"
|
|
31431
|
+
if (member.docsText !== void 0 && owner.kind !== "classMember" && owner.kind !== "sharedClassMember" && // A loose member is not a kind of member — it is a member no class schema
|
|
31432
|
+
// in *this* view claims. A workspace merging its own pending records over
|
|
31433
|
+
// newer server ones sees exactly that: the local class still names the
|
|
31434
|
+
// pending member id the push replaced, so the committed member it now
|
|
31435
|
+
// holds is claimed by nothing. Doc text belongs to the member record, not
|
|
31436
|
+
// to where a schema happens to place it, so rejecting it here fails a pull
|
|
31437
|
+
// for a workspace whose only problem is being mid-sync — the one operation
|
|
31438
|
+
// that would fix it.
|
|
31439
|
+
owner.kind !== "loose") {
|
|
31432
31440
|
invalid(
|
|
31433
31441
|
`${path}.docsText`,
|
|
31434
|
-
|
|
31442
|
+
`is allowed only on source-declarable class members; ${JSON.stringify(String(member.name))} is owned by ${JSON.stringify(String(owner.kind))}.`
|
|
31435
31443
|
);
|
|
31436
31444
|
}
|
|
31437
31445
|
nonEmptyString(member.name, `${path}.name`);
|
|
@@ -60117,7 +60125,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60117
60125
|
parseErrors,
|
|
60118
60126
|
parseWarnings,
|
|
60119
60127
|
reconstructed: /* @__PURE__ */ new Map(),
|
|
60120
|
-
|
|
60128
|
+
authoredValueSeeds: /* @__PURE__ */ new Map(),
|
|
60121
60129
|
binaryChanges: [],
|
|
60122
60130
|
binaryFiles: []
|
|
60123
60131
|
};
|
|
@@ -60125,7 +60133,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60125
60133
|
const baseDocuments = schemaBaseDocuments(workspace);
|
|
60126
60134
|
const baseManifest = baseDocuments.length === 0 ? void 0 : documentsToProjectSchemaManifest(baseDocuments);
|
|
60127
60135
|
let manifest;
|
|
60128
|
-
let
|
|
60136
|
+
let authoredValueSeeds = /* @__PURE__ */ new Map();
|
|
60129
60137
|
let staticMemberValueIds = /* @__PURE__ */ new Map();
|
|
60130
60138
|
let memberDefaults = {
|
|
60131
60139
|
records: [],
|
|
@@ -60167,7 +60175,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60167
60175
|
parseErrors,
|
|
60168
60176
|
parseWarnings,
|
|
60169
60177
|
reconstructed: /* @__PURE__ */ new Map(),
|
|
60170
|
-
|
|
60178
|
+
authoredValueSeeds,
|
|
60171
60179
|
binaryChanges: [],
|
|
60172
60180
|
binaryFiles: []
|
|
60173
60181
|
};
|
|
@@ -60192,7 +60200,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60192
60200
|
parseErrors,
|
|
60193
60201
|
parseWarnings,
|
|
60194
60202
|
reconstructed: /* @__PURE__ */ new Map(),
|
|
60195
|
-
|
|
60203
|
+
authoredValueSeeds,
|
|
60196
60204
|
binaryChanges: [],
|
|
60197
60205
|
binaryFiles: []
|
|
60198
60206
|
};
|
|
@@ -60241,7 +60249,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60241
60249
|
parseErrors,
|
|
60242
60250
|
parseWarnings,
|
|
60243
60251
|
reconstructed: /* @__PURE__ */ new Map(),
|
|
60244
|
-
|
|
60252
|
+
authoredValueSeeds: /* @__PURE__ */ new Map(),
|
|
60245
60253
|
binaryChanges: [],
|
|
60246
60254
|
binaryFiles: []
|
|
60247
60255
|
};
|
|
@@ -60289,7 +60297,10 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60289
60297
|
manifest,
|
|
60290
60298
|
{ registry: valueLowerRegistry }
|
|
60291
60299
|
);
|
|
60292
|
-
|
|
60300
|
+
authoredValueSeeds = new Map([
|
|
60301
|
+
...staticValues.seeds,
|
|
60302
|
+
...memberDefaults.seeds
|
|
60303
|
+
]);
|
|
60293
60304
|
staticMemberValueIds = staticValues.memberValueIds;
|
|
60294
60305
|
const rootValues = lowerProjectRootSourceV4(
|
|
60295
60306
|
workspace.state.records,
|
|
@@ -60297,7 +60308,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60297
60308
|
manifest,
|
|
60298
60309
|
{ registry: valueLowerRegistry }
|
|
60299
60310
|
);
|
|
60300
|
-
|
|
60311
|
+
authoredValueSeeds = new Map([...authoredValueSeeds, ...rootValues.seeds]);
|
|
60301
60312
|
const rootPathResolutionState = overlayProspectiveSourceRecords(
|
|
60302
60313
|
workspace.state.records,
|
|
60303
60314
|
documents,
|
|
@@ -60533,7 +60544,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60533
60544
|
parseErrors,
|
|
60534
60545
|
parseWarnings,
|
|
60535
60546
|
reconstructed: /* @__PURE__ */ new Map(),
|
|
60536
|
-
|
|
60547
|
+
authoredValueSeeds: /* @__PURE__ */ new Map(),
|
|
60537
60548
|
binaryChanges: [],
|
|
60538
60549
|
binaryFiles: []
|
|
60539
60550
|
};
|
|
@@ -60607,7 +60618,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60607
60618
|
workspace.state.records,
|
|
60608
60619
|
reconstructed3,
|
|
60609
60620
|
changes,
|
|
60610
|
-
|
|
60621
|
+
authoredValueSeeds
|
|
60611
60622
|
)
|
|
60612
60623
|
);
|
|
60613
60624
|
} catch (error) {
|
|
@@ -60637,7 +60648,7 @@ function computeWorkspaceStatus(workspace, options = {}) {
|
|
|
60637
60648
|
parseErrors,
|
|
60638
60649
|
parseWarnings,
|
|
60639
60650
|
reconstructed: reconstructed3,
|
|
60640
|
-
|
|
60651
|
+
authoredValueSeeds,
|
|
60641
60652
|
binaryChanges,
|
|
60642
60653
|
binaryFiles,
|
|
60643
60654
|
initConversions: collectInitDefaultConversions(
|
|
@@ -63586,7 +63597,7 @@ var init_project_file_pull = __esm({
|
|
|
63586
63597
|
function staticValueSeedEmitRecords(status, present) {
|
|
63587
63598
|
const records2 = /* @__PURE__ */ new Map();
|
|
63588
63599
|
if (status === null) return records2;
|
|
63589
|
-
for (const [memberId, seed] of status.
|
|
63600
|
+
for (const [memberId, seed] of status.authoredValueSeeds) {
|
|
63590
63601
|
const rootId = seed.valueId ?? memberValueIdFromRecord(status, memberId);
|
|
63591
63602
|
if (rootId !== null) {
|
|
63592
63603
|
addSeedRecord(records2, present, {
|
|
@@ -81029,7 +81040,7 @@ function verifyProjectSourceCommitAgainstStateV4(args) {
|
|
|
81029
81040
|
);
|
|
81030
81041
|
}
|
|
81031
81042
|
auditAuthoredSeedRowIdentities(
|
|
81032
|
-
status.
|
|
81043
|
+
status.authoredValueSeeds,
|
|
81033
81044
|
args.stateRecords,
|
|
81034
81045
|
assignments
|
|
81035
81046
|
);
|
|
@@ -81048,7 +81059,7 @@ function verifyProjectSourceCommitAgainstStateV4(args) {
|
|
|
81048
81059
|
expectedBaseContentHash: change.kind === "create" ? null : change.casBaseHash ?? null
|
|
81049
81060
|
};
|
|
81050
81061
|
});
|
|
81051
|
-
const expectedSeeds = [...status.
|
|
81062
|
+
const expectedSeeds = [...status.authoredValueSeeds].map(
|
|
81052
81063
|
([memberId, seed]) => ({
|
|
81053
81064
|
memberId: rewritePending(memberId, assignments, usedAssignments),
|
|
81054
81065
|
value: rewritePending(seed.value, assignments, usedAssignments),
|
|
@@ -81092,7 +81103,7 @@ function verifyProjectSourceCommitAgainstStateV4(args) {
|
|
|
81092
81103
|
return !isDerivedOnlyRefresh(change, args.stateRecords);
|
|
81093
81104
|
});
|
|
81094
81105
|
compareChanges(expectedChanges, verifiableChanges);
|
|
81095
|
-
compareSeeds(expectedSeeds, args.
|
|
81106
|
+
compareSeeds(expectedSeeds, args.authoredValueSeeds);
|
|
81096
81107
|
}
|
|
81097
81108
|
function isDerivedOnlyRefresh(change, stateRecords) {
|
|
81098
81109
|
if (change.operation !== "update") return false;
|
|
@@ -82325,7 +82336,7 @@ var init_general_function_call_ir_source_recompile = __esm({
|
|
|
82325
82336
|
});
|
|
82326
82337
|
|
|
82327
82338
|
// ../src/database/project-version-transaction-types.ts
|
|
82328
|
-
function
|
|
82339
|
+
function isAuthoredValueSeedInitContent(content) {
|
|
82329
82340
|
return content.init !== void 0;
|
|
82330
82341
|
}
|
|
82331
82342
|
var init_project_version_transaction_types = __esm({
|
|
@@ -83932,10 +83943,10 @@ function prepareServerOwnedSchemaCommit(args) {
|
|
|
83932
83943
|
requiresCompleteSweep,
|
|
83933
83944
|
contentHashHeads: args.contentHashHeads
|
|
83934
83945
|
});
|
|
83935
|
-
|
|
83946
|
+
materializeAuthoredValueSeeds({
|
|
83936
83947
|
document: applyProjectVersionWriteChanges(postDocument, prepared),
|
|
83937
83948
|
prepared,
|
|
83938
|
-
|
|
83949
|
+
authoredValueSeeds: args.authoredValueSeeds ?? []
|
|
83939
83950
|
});
|
|
83940
83951
|
prepareServerOwnedValueInitializerBodies({
|
|
83941
83952
|
document: args.document,
|
|
@@ -84727,13 +84738,13 @@ function drainConstructedGraphValidations(args) {
|
|
|
84727
84738
|
});
|
|
84728
84739
|
}
|
|
84729
84740
|
}
|
|
84730
|
-
function
|
|
84741
|
+
function materializeAuthoredValueSeeds(args) {
|
|
84731
84742
|
const pendingGraphValidations = [];
|
|
84732
84743
|
materializeStaticSeedBindingMembers(args);
|
|
84733
84744
|
const seedByMemberId = new Map(
|
|
84734
|
-
args.
|
|
84745
|
+
args.authoredValueSeeds.map((seed) => [seed.memberId, seed])
|
|
84735
84746
|
);
|
|
84736
|
-
if (seedByMemberId.size !== args.
|
|
84747
|
+
if (seedByMemberId.size !== args.authoredValueSeeds.length) {
|
|
84737
84748
|
throw new Error("Schema commit contains duplicate member value seeds.");
|
|
84738
84749
|
}
|
|
84739
84750
|
const consumedSeedMemberIds = /* @__PURE__ */ new Set();
|
|
@@ -84891,9 +84902,9 @@ function materializeStaticValueSeeds(args) {
|
|
|
84891
84902
|
});
|
|
84892
84903
|
}
|
|
84893
84904
|
}
|
|
84894
|
-
for (const seed of args.
|
|
84905
|
+
for (const seed of args.authoredValueSeeds) {
|
|
84895
84906
|
if (consumedSeedMemberIds.has(seed.memberId)) continue;
|
|
84896
|
-
|
|
84907
|
+
materializeExistingAuthoredValueSeed({
|
|
84897
84908
|
document: args.document,
|
|
84898
84909
|
prepared: args.prepared,
|
|
84899
84910
|
pendingGraphValidations,
|
|
@@ -84907,7 +84918,7 @@ function materializeStaticValueSeeds(args) {
|
|
|
84907
84918
|
pending: pendingGraphValidations
|
|
84908
84919
|
});
|
|
84909
84920
|
}
|
|
84910
|
-
function
|
|
84921
|
+
function materializeExistingAuthoredValueSeed(args) {
|
|
84911
84922
|
const member = args.document.members.find(
|
|
84912
84923
|
(candidate) => candidate.id === args.seed.memberId
|
|
84913
84924
|
);
|
|
@@ -85008,7 +85019,7 @@ function materializeExistingStaticValueSeed(args) {
|
|
|
85008
85019
|
}
|
|
85009
85020
|
}
|
|
85010
85021
|
function materializeStaticSeedBindingMembers(args) {
|
|
85011
|
-
const bindings = args.
|
|
85022
|
+
const bindings = args.authoredValueSeeds.flatMap(
|
|
85012
85023
|
(seed) => seed.bindingMembers ?? []
|
|
85013
85024
|
);
|
|
85014
85025
|
const ids = new Set(bindings.map((binding) => binding.id));
|
|
@@ -85329,14 +85340,14 @@ function materializeSeedLocalizableStringWrites(args) {
|
|
|
85329
85340
|
return [...args.seededLocalizedTexts, ...generatedTexts];
|
|
85330
85341
|
}
|
|
85331
85342
|
function seedValueContent(seed) {
|
|
85332
|
-
if (
|
|
85343
|
+
if (isAuthoredValueSeedInitContent(seed)) return { init: seed.init };
|
|
85333
85344
|
return {
|
|
85334
85345
|
value: seed.value,
|
|
85335
85346
|
...seed.classId === null ? {} : { classId: seed.classId }
|
|
85336
85347
|
};
|
|
85337
85348
|
}
|
|
85338
85349
|
function seedRootRow(member, seed, rootId) {
|
|
85339
|
-
if (
|
|
85350
|
+
if (isAuthoredValueSeedInitContent(seed)) {
|
|
85340
85351
|
return { id: rootId, memberId: member.id, init: seed.init };
|
|
85341
85352
|
}
|
|
85342
85353
|
return {
|
|
@@ -85347,7 +85358,7 @@ function seedRootRow(member, seed, rootId) {
|
|
|
85347
85358
|
};
|
|
85348
85359
|
}
|
|
85349
85360
|
function authoredSeedRowMatchesValue(row, value) {
|
|
85350
|
-
if (
|
|
85361
|
+
if (isAuthoredValueSeedInitContent(row)) {
|
|
85351
85362
|
return isInitValueContent(value) && value.init.code === row.init.code;
|
|
85352
85363
|
}
|
|
85353
85364
|
if (isInitValueContent(value)) return false;
|
|
@@ -85421,7 +85432,7 @@ function materializeAuthoredSeedRow(args) {
|
|
|
85421
85432
|
);
|
|
85422
85433
|
}
|
|
85423
85434
|
if (args.authoredRows.has(args.row.id)) args.usedRows.add(args.row.id);
|
|
85424
|
-
if (
|
|
85435
|
+
if (isAuthoredValueSeedInitContent(args.row)) {
|
|
85425
85436
|
const initRow = {
|
|
85426
85437
|
id: args.row.id,
|
|
85427
85438
|
projectId: args.document.project.id,
|
|
@@ -89409,7 +89420,7 @@ function runServerPreparation(args) {
|
|
|
89409
89420
|
document,
|
|
89410
89421
|
contentHashHeads,
|
|
89411
89422
|
changes: trustedChanges,
|
|
89412
|
-
|
|
89423
|
+
authoredValueSeeds: args.authoredValueSeeds,
|
|
89413
89424
|
// A CLI push is always a trusted-source commit, so the server always
|
|
89414
89425
|
// expands read-only source conversions for it.
|
|
89415
89426
|
expandReadOnlySourceConversions: true
|
|
@@ -89683,7 +89694,7 @@ import {
|
|
|
89683
89694
|
readFileSync as readFileSync14
|
|
89684
89695
|
} from "node:fs";
|
|
89685
89696
|
import { dirname as dirname7, join as join17, relative as relative5, sep as sep5 } from "node:path";
|
|
89686
|
-
function assignPendingIds(changes,
|
|
89697
|
+
function assignPendingIds(changes, authoredValueSeeds, reconstructed3) {
|
|
89687
89698
|
const assigned = /* @__PURE__ */ new Map();
|
|
89688
89699
|
const assign = (pendingId2) => {
|
|
89689
89700
|
const existing = assigned.get(pendingId2);
|
|
@@ -89732,7 +89743,7 @@ function assignPendingIds(changes, staticValueSeeds, reconstructed3) {
|
|
|
89732
89743
|
collect(change.recordId);
|
|
89733
89744
|
collect(change.nextData);
|
|
89734
89745
|
}
|
|
89735
|
-
for (const [memberId, seed] of
|
|
89746
|
+
for (const [memberId, seed] of authoredValueSeeds) {
|
|
89736
89747
|
collect(memberId);
|
|
89737
89748
|
collect(seed);
|
|
89738
89749
|
}
|
|
@@ -89778,7 +89789,7 @@ function assignPendingIds(changes, staticValueSeeds, reconstructed3) {
|
|
|
89778
89789
|
}
|
|
89779
89790
|
}
|
|
89780
89791
|
const rewrittenSeeds = /* @__PURE__ */ new Map();
|
|
89781
|
-
for (const [memberId, seed] of
|
|
89792
|
+
for (const [memberId, seed] of authoredValueSeeds) {
|
|
89782
89793
|
const rewrittenId = rewrite(memberId);
|
|
89783
89794
|
if (typeof rewrittenId !== "string") {
|
|
89784
89795
|
throw new Error(
|
|
@@ -89840,7 +89851,7 @@ function assignPendingIds(changes, staticValueSeeds, reconstructed3) {
|
|
|
89840
89851
|
reconstructed3.set(key, record3);
|
|
89841
89852
|
}
|
|
89842
89853
|
}
|
|
89843
|
-
return { assigned,
|
|
89854
|
+
return { assigned, authoredValueSeeds: rewrittenSeeds };
|
|
89844
89855
|
}
|
|
89845
89856
|
function readAcceptedProjectVersionCommitResponse(value) {
|
|
89846
89857
|
if (!isObjectRecord2(value) || value.kind !== "accepted") return null;
|
|
@@ -90310,7 +90321,7 @@ ${blockingErrors.map((error) => ` ${error.message}`).join("\n")}`
|
|
|
90310
90321
|
type: "push-plan",
|
|
90311
90322
|
dryRun: options.dryRun,
|
|
90312
90323
|
changeCount: status.changes.length,
|
|
90313
|
-
staticValueSeedCount: status.
|
|
90324
|
+
staticValueSeedCount: status.authoredValueSeeds.size,
|
|
90314
90325
|
changes: status.changes.map((change) => ({
|
|
90315
90326
|
kind: change.kind,
|
|
90316
90327
|
recordKind: change.recordKind,
|
|
@@ -90335,9 +90346,9 @@ ${blockingErrors.map((error) => ` ${error.message}`).join("\n")}`
|
|
|
90335
90346
|
}
|
|
90336
90347
|
}
|
|
90337
90348
|
}
|
|
90338
|
-
if (status.
|
|
90349
|
+
if (status.authoredValueSeeds.size > 0) {
|
|
90339
90350
|
console.log(
|
|
90340
|
-
` ${color.dim(`create ${status.
|
|
90351
|
+
` ${color.dim(`create ${status.authoredValueSeeds.size} member value seed(s)`)}`
|
|
90341
90352
|
);
|
|
90342
90353
|
}
|
|
90343
90354
|
}
|
|
@@ -90403,7 +90414,7 @@ ${blockingErrors.map((error) => ` ${error.message}`).join("\n")}`
|
|
|
90403
90414
|
{
|
|
90404
90415
|
operation: transactionOperation,
|
|
90405
90416
|
changes: transportChanges,
|
|
90406
|
-
|
|
90417
|
+
authoredValueSeeds: transportSeeds,
|
|
90407
90418
|
stagedFiles,
|
|
90408
90419
|
sourceBundle: source.bundle,
|
|
90409
90420
|
pendingIdAssignments: Object.fromEntries(pendingAssignment.assigned),
|
|
@@ -90617,11 +90628,11 @@ async function prepareLocalPushArtifactsV4(workspace, status) {
|
|
|
90617
90628
|
const source = await createPendingProjectSourceBundleV4(
|
|
90618
90629
|
workspace,
|
|
90619
90630
|
status,
|
|
90620
|
-
status.
|
|
90631
|
+
status.authoredValueSeeds
|
|
90621
90632
|
);
|
|
90622
90633
|
const pendingAssignment = assignPendingIds(
|
|
90623
90634
|
status.changes,
|
|
90624
|
-
status.
|
|
90635
|
+
status.authoredValueSeeds,
|
|
90625
90636
|
status.reconstructed
|
|
90626
90637
|
);
|
|
90627
90638
|
const operations = new Set(status.changes.map((change) => change.kind));
|
|
@@ -90635,7 +90646,7 @@ async function prepareLocalPushArtifactsV4(workspace, status) {
|
|
|
90635
90646
|
intent: createNeoCliPushIntent(change),
|
|
90636
90647
|
expectedBaseContentHash: change.kind === "create" ? null : change.casBaseHash ?? null
|
|
90637
90648
|
}));
|
|
90638
|
-
const transportSeeds = [...pendingAssignment.
|
|
90649
|
+
const transportSeeds = [...pendingAssignment.authoredValueSeeds].map(
|
|
90639
90650
|
([memberId, seed]) => ({ memberId, ...seed })
|
|
90640
90651
|
);
|
|
90641
90652
|
const preparedFiles = prepareProjectFilePushesV4({
|
|
@@ -90654,14 +90665,14 @@ async function prepareLocalPushArtifactsV4(workspace, status) {
|
|
|
90654
90665
|
stateRecords: workspace.state.records,
|
|
90655
90666
|
files: source.files,
|
|
90656
90667
|
changes: transportChanges,
|
|
90657
|
-
|
|
90668
|
+
authoredValueSeeds: transportSeeds,
|
|
90658
90669
|
pendingIdAssignments: Object.fromEntries(pendingAssignment.assigned),
|
|
90659
90670
|
stagedFiles: preparedFiles
|
|
90660
90671
|
});
|
|
90661
90672
|
assertServerPreparationSucceeds({
|
|
90662
90673
|
workspace,
|
|
90663
90674
|
changes: transportChanges,
|
|
90664
|
-
|
|
90675
|
+
authoredValueSeeds: transportSeeds,
|
|
90665
90676
|
sourceByRecord: status.reconstructed
|
|
90666
90677
|
});
|
|
90667
90678
|
return {
|
|
@@ -90725,7 +90736,7 @@ function cloneStatusForDryRun(status) {
|
|
|
90725
90736
|
return {
|
|
90726
90737
|
...status,
|
|
90727
90738
|
changes: structuredClone(status.changes),
|
|
90728
|
-
|
|
90739
|
+
authoredValueSeeds: structuredClone(status.authoredValueSeeds),
|
|
90729
90740
|
reconstructed: structuredClone(status.reconstructed)
|
|
90730
90741
|
};
|
|
90731
90742
|
}
|
|
@@ -90743,7 +90754,7 @@ function reportDryRunFailure(error, json) {
|
|
|
90743
90754
|
}
|
|
90744
90755
|
console.error(`Dry run failed: ${message}`);
|
|
90745
90756
|
}
|
|
90746
|
-
async function createPendingProjectSourceBundleV4(workspace, status,
|
|
90757
|
+
async function createPendingProjectSourceBundleV4(workspace, status, authoredValueSeeds) {
|
|
90747
90758
|
const records2 = /* @__PURE__ */ new Map();
|
|
90748
90759
|
for (const [key, state] of Object.entries(workspace.state.records)) {
|
|
90749
90760
|
records2.set(key, {
|
|
@@ -90783,7 +90794,7 @@ async function createPendingProjectSourceBundleV4(workspace, status, staticValue
|
|
|
90783
90794
|
(record3) => record3.recordKind === "localization-config"
|
|
90784
90795
|
);
|
|
90785
90796
|
const mainLocale = isObjectRecord2(localizationConfig?.data) && typeof localizationConfig.data.mainLocale === "string" ? localizationConfig.data.mainLocale : "en-US";
|
|
90786
|
-
for (const seed of
|
|
90797
|
+
for (const seed of authoredValueSeeds.values()) {
|
|
90787
90798
|
for (const bindingMember of seed.bindingMembers ?? []) {
|
|
90788
90799
|
records2.set(`member:${bindingMember.id}`, {
|
|
90789
90800
|
recordKind: "member",
|
package/package.json
CHANGED
|
@@ -73,7 +73,7 @@ wrappers.
|
|
|
73
73
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
74
74
|
|
|
75
75
|
```html
|
|
76
|
-
<!-- reviewed-through-cli: 0.19.
|
|
76
|
+
<!-- reviewed-through-cli: 0.19.6 -->
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
The quoted version above is checked too, so this instruction cannot go stale
|