@hawkeyexl/manni 2.3.7 → 2.3.8

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.
@@ -61,7 +61,7 @@ import {
61
61
  supportedExtensions,
62
62
  terminalConfirm,
63
63
  toJsonText
64
- } from "./chunk-D5FTEP3H.js";
64
+ } from "./chunk-EYD2RYKV.js";
65
65
 
66
66
  // src/meta/cli.ts
67
67
  import { existsSync } from "node:fs";
@@ -1517,4 +1517,4 @@ export {
1517
1517
  reportConfig,
1518
1518
  buildProgram
1519
1519
  };
1520
- //# sourceMappingURL=chunk-4YJ4TCKM.js.map
1520
+ //# sourceMappingURL=chunk-L73SKPCW.js.map
@@ -70,7 +70,7 @@ import {
70
70
  withValueAt,
71
71
  writeEncryptionKey,
72
72
  writeFileAtomic
73
- } from "./chunk-D5FTEP3H.js";
73
+ } from "./chunk-EYD2RYKV.js";
74
74
 
75
75
  // src/meta/core/reencrypt.ts
76
76
  import { extname } from "node:path";
@@ -2997,6 +2997,12 @@ async function runAdd(opts) {
2997
2997
  `${at2} runs past the ${holding.kind} at ${spellAt(holding)}. A marker anchors one paragraph.`
2998
2998
  );
2999
2999
  }
3000
+ const unitWide = tooWide({ start: holding.start, end: holding.end });
3001
+ if (unitWide !== void 0) {
3002
+ throw new CiteError(
3003
+ `${at2} is in a ${holding.kind} at ${spellAt(holding)} that ${unitWide}. A marker anchors the whole ${holding.kind}.`
3004
+ );
3005
+ }
3000
3006
  shifted = shiftedEntries(page.citations, holding.start, page.bodyLine, label);
3001
3007
  const statement = markerIndent(content, holding.start, format, page.bodyLine) + formatStatement(format, { kind: "ref", id: opts.id ?? "" });
3002
3008
  const insertAt = offsetOfLine(content, holding.start);
@@ -3242,7 +3248,7 @@ async function runUpdate(opts) {
3242
3248
  const manifests = new ManifestSet();
3243
3249
  const only = opts.only !== void 0 && opts.only.length > 0 ? new Set(opts.only) : void 0;
3244
3250
  const accept = opts.accept === true;
3245
- const plansFor = async (result, entry, page, lines) => {
3251
+ const plansFor = async (result, entry, page, lines, declined) => {
3246
3252
  const out = [];
3247
3253
  const claim = result.claim;
3248
3254
  if (claim !== null && claim.status === "moved" && claim.newLines !== void 0) {
@@ -3271,7 +3277,10 @@ async function runUpdate(opts) {
3271
3277
  })();
3272
3278
  const wantsBlock = entry.citation.quote === true;
3273
3279
  const pin = unit === void 0 ? void 0 : pinOfLines(lines, unit.lines);
3274
- if (unit !== void 0 && pin !== void 0 && (!wantsBlock || unit.kind === "block")) {
3280
+ const wide = unit === void 0 ? void 0 : tooWide(unit.lines);
3281
+ if (unit !== void 0 && wide !== void 0) {
3282
+ declined.set(result.origin.index, `Not re-pinned: the ${unit.kind} ${wide}.`);
3283
+ } else if (unit !== void 0 && pin !== void 0 && (!wantsBlock || unit.kind === "block")) {
3275
3284
  const plan = { kind: "claim-accepted", result, unit, pin };
3276
3285
  if (entry.citation.claim?.lines !== void 0) {
3277
3286
  const body = toBodyLines(unit.lines, page.bodyLine);
@@ -3314,6 +3323,7 @@ async function runUpdate(opts) {
3314
3323
  const lines = splitLines(content);
3315
3324
  const rewritten2 = [];
3316
3325
  const settled = /* @__PURE__ */ new Set();
3326
+ const declined = /* @__PURE__ */ new Map();
3317
3327
  let after = content;
3318
3328
  const owner = setup.sidecar?.owner;
3319
3329
  const entries = setup.sidecar?.citations === void 0 ? void 0 : JSON.parse(JSON.stringify(setup.sidecar.citations.map((c) => c.entry)));
@@ -3323,7 +3333,7 @@ async function runUpdate(opts) {
3323
3333
  continue;
3324
3334
  }
3325
3335
  const entry = page.citations.find((c) => c.origin.index === result.origin.index);
3326
- for (const plan of await plansFor(result, entry, page, lines)) {
3336
+ for (const plan of await plansFor(result, entry, page, lines, declined)) {
3327
3337
  if (result.origin.kind === "manifest") {
3328
3338
  if (entries === void 0 || !applyToEntry(entries[result.origin.index], plan)) continue;
3329
3339
  manifestDirty = true;
@@ -3344,7 +3354,10 @@ async function runUpdate(opts) {
3344
3354
  }
3345
3355
  const skipped2 = report.findings.filter(
3346
3356
  (finding2) => (only === void 0 || finding2.id !== void 0 && only.has(finding2.id)) && !settled.has(`${String(finding2.index ?? -1)}\0${finding2.rule}`)
3347
- );
3357
+ ).map((finding2) => {
3358
+ const why = finding2.rule === "claim-changed" && finding2.index !== void 0 ? declined.get(finding2.index) : void 0;
3359
+ return why === void 0 ? finding2 : { ...finding2, message: `${finding2.message} ${why}` };
3360
+ });
3348
3361
  const diff = after === content ? "" : unifiedDiff(label, content, after);
3349
3362
  const written = after !== content && path !== void 0 && opts.dryRun !== true;
3350
3363
  if (written) await writeFileAtomic(path, after);
@@ -4289,4 +4302,4 @@ export {
4289
4302
  runKeyRotate,
4290
4303
  runKeySet
4291
4304
  };
4292
- //# sourceMappingURL=chunk-Y2XNDEM6.js.map
4305
+ //# sourceMappingURL=chunk-TIZE6GXU.js.map