pm-github 2026.10.19 → 2026.10.24

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.
@@ -1,7 +1,8 @@
1
1
  /** Source lifecycle, release-window and cross-provider identity rules for issue imports. */
2
2
  import { spawnSync } from "node:child_process";
3
+ import { decodeHTML } from "entities";
3
4
  import { acquireLock, appendHistoryEntry, canonicalDocument, createHistoryEntry, getHistoryPath, locateItem, normalizeItemId, readLocatedItem, readSettings, resolveItemTypeRegistry, resolvePmRoot, runActiveOnWriteHooks, serializeItemDocument, writeFileAtomic, } from "@unbrained/pm-cli/sdk";
4
- import { CommandError, fetchJSON, githubApiBase, githubGraphQL, parseNextLink } from "./index.js";
5
+ import { CommandError, fetchJSON, githubApiBase, githubGraphQL, parseNextLink, parseProvenanceTag } from "./index.js";
5
6
  /**
6
7
  * Select the latest external edit or different lifecycle generation in immutable history.
7
8
  * Creation staging and compensation are transient; importing the desired state again
@@ -24,10 +25,171 @@ export function selectImportContextIndex(entries, status) {
24
25
  }
25
26
  return selected;
26
27
  }
28
+ /** Carry a typed refusal from identity resolution into the batch's reviewable plan. */
29
+ export class AmbiguousCitationError extends Error {
30
+ entry;
31
+ /** Retain candidate IDs and the exact provenance tag needed to resolve the conflict. */
32
+ constructor(repo, number, candidates, incidental = []) {
33
+ const entry = { action: "ambiguous_citation", issue: number, candidates,
34
+ ...(incidental.length > 0 ? { citation_candidates: incidental } : {}),
35
+ remedy: `Tag the correct item with gh:${repo}#${number}, then retry.` };
36
+ super(JSON.stringify(entry));
37
+ this.entry = entry;
38
+ }
39
+ }
40
+ /** Parse strict issue/PR identities and source positions for positive ownership checks. */
41
+ function citationReferences(text, repoHint) {
42
+ const references = [];
43
+ const tokens = text.matchAll(/(?<![\w./#-])(?:https?:\/\/[^\s<>"'`\])}]+|(?:[\w.-]+\/[\w.-]+)?#[1-9]\d*(?![\w/=&%-]|\.\w))/gi);
44
+ for (const token of tokens) {
45
+ const raw = token[0];
46
+ if (/^https?:/i.test(raw)) {
47
+ try {
48
+ const url = new URL(trimLocatorPunctuation(raw, "),.;:!]}"));
49
+ const path = /^\/([\w.-]+\/[\w.-]+)\/(issues|pull)\/([1-9]\d*)\/?$/i.exec(url.pathname);
50
+ if (["github.com", "www.github.com"].includes(url.hostname) && path) {
51
+ references.push({ key: `${path[1].toLowerCase()}#${path[3]}`, index: token.index, ownsIssue: path[2].toLowerCase() === "issues" });
52
+ }
53
+ }
54
+ catch { /* Malformed URL tokens never expose shorter hash references inside them. */ }
55
+ }
56
+ else {
57
+ const [repo, number] = raw.split("#");
58
+ references.push({ key: `${repo || repoHint}#${number}`.toLowerCase(), index: token.index, ownsIssue: repo !== "" });
59
+ }
60
+ }
61
+ return references;
62
+ }
63
+ /** Decode nested representations before either ownership or exclusion; an exhausted bound refuses adoption. */
64
+ function normalizeCitationText(input) {
65
+ let text = input;
66
+ for (let pass = 0; pass < 8; pass++) {
67
+ const entities = decodeHTML(text.replace(/(?:%[a-f0-9]{2})+/gi, encoded => Buffer.from(encoded.slice(1).split("%").map(byte => Number.parseInt(byte, 16))).toString("utf8")));
68
+ // Both Unicode transforms are identity on printable ASCII and line whitespace.
69
+ const unicode = /[^\x20-\x7e\t\r\n]/.test(entities)
70
+ ? entities.normalize("NFKC").replace(/\p{Default_Ignorable_Code_Point}/gu, "") : entities;
71
+ const decoded = unicode.replace(/\r\n?/g, "\n");
72
+ if (decoded === text)
73
+ return { text: citationDisplayText(text), source: text, stable: true };
74
+ text = decoded;
75
+ }
76
+ return { text: citationDisplayText(text), source: text, stable: false };
77
+ }
78
+ /** Unwrap link destinations/definitions for anchored intent, retaining the normalized source for exclusion. */
79
+ function citationDisplayText(source) {
80
+ let text = source;
81
+ if (source.includes("[")) {
82
+ const definitions = new Map();
83
+ text = source.replace(/^[ \t]{0,3}\[([^[\]\n]+)\]:[ \t]*(?:<([^>\n]+)>|(\S+))/gm, (_raw, label, angle, destination) => {
84
+ definitions.set(label.trim().toLowerCase(), angle ?? destination);
85
+ return angle ?? destination;
86
+ }).replace(/!?\[([^[\]\n]*)\]\((?:<([^<>\n]+)>|([^()[\]\n]*))\)/g, (_raw, _label, angle, destination) => angle ?? destination.trim())
87
+ .replace(/\[([^[\]\n]+)\](?:\[([^[\]\n]*)\])?/g, (raw, label, key) => definitions.get((key || label).trim().toLowerCase()) ?? raw);
88
+ }
89
+ return text.includes("\n") ? text.replace(/\\\n/g, "").replace(/(?<!\n)\n(?!\n|[ \t]*(?:Issue|Tracks):)/gi, " ") : text;
90
+ }
91
+ /** Refuse every GitHub URL except a complete issue locator for this target, including embedded URLs. */
92
+ function hasOtherGithubUrl(text, repo, number) {
93
+ const sites = [...text.matchAll(/github\.com/gi)];
94
+ for (const [index, site] of sites.entries()) {
95
+ const segment = text.slice(site.index, sites[index + 1]?.index);
96
+ const token = /^github\.com[^\s<>"'`[\]()*{}]*/i.exec(segment)[0];
97
+ const locator = trimLocatorPunctuation(token, "),.;:!*_~]}");
98
+ const reference = /^github\.com\/([\w.-]+\/[\w.-]+)\/issues\/([1-9]\d*)\/?(?:[?#].*)?$/i.exec(locator);
99
+ if (!reference || reference[1].toLowerCase() !== repo || reference[2] !== String(number))
100
+ return true;
101
+ }
102
+ return false;
103
+ }
104
+ /** Read the immediately preceding repository without making every character a regex start position. */
105
+ function citationRepositoryBefore(text, index, hash) {
106
+ if (!hash && text[index - 1] !== "/")
107
+ return undefined;
108
+ const end = hash ? index : index - 1;
109
+ let repoStart = end;
110
+ while (repoStart > 0 && /[\w.-]/.test(text[repoStart - 1]))
111
+ repoStart--;
112
+ if (repoStart === end || text[repoStart - 1] !== "/")
113
+ return undefined;
114
+ let ownerStart = repoStart - 1;
115
+ while (ownerStart > 0 && /[\w.-]/.test(text[ownerStart - 1]))
116
+ ownerStart--;
117
+ if (ownerStart === repoStart - 1 || (!hash && text.slice(Math.max(0, ownerStart - 11), ownerStart).toLowerCase() !== "github.com/"))
118
+ return undefined;
119
+ return text.slice(ownerStart, end).toLowerCase();
120
+ }
121
+ /** Inspect normalized source without trusting Markdown interpretation or an assumed repository for bare hashes. */
122
+ function inspectCitationReferences(texts, repo, number) {
123
+ let mentioned = false;
124
+ let unsafe = false;
125
+ for (const source of new Set(texts)) {
126
+ // Check both retained source and joined soft lines; joining must not discard link labels or destinations.
127
+ for (const text of new Set([source, source.replace(/(?<!\n)\\?\n(?!\n)[ \t]*/g, "")])) {
128
+ if (hasOtherGithubUrl(text, repo, number))
129
+ unsafe = true;
130
+ for (const reference of text.matchAll(/(?:issues[\s/:]*|pull[\s/:]*|#)([0-9]+)/gi)) {
131
+ const sourceRepo = citationRepositoryBefore(text, reference.index, reference[0].startsWith("#"));
132
+ const sourceNumber = reference[1];
133
+ if (sourceNumber === String(number) && (sourceRepo === repo || sourceRepo === undefined))
134
+ mentioned = true;
135
+ if (sourceRepo !== repo || sourceNumber !== String(number))
136
+ unsafe = true;
137
+ }
138
+ }
139
+ }
140
+ return { mentioned, unsafe };
141
+ }
142
+ /** Permit only title references, leading description closing words, or whole body issue-label lines. */
143
+ function hasAnchoredCitationIntent(text, field, repo, number) {
144
+ for (const reference of citationReferences(text, repo)) {
145
+ if (reference.key !== `${repo}#${number}` || !reference.ownsIssue)
146
+ continue;
147
+ if (field === 0)
148
+ return true;
149
+ const prefix = text.slice(0, reference.index);
150
+ if (field === 1 && /^(?:fix|fixes|fixed|close|closes|closed|resolve|resolves|resolved)[ \t]+$/i.test(prefix))
151
+ return true;
152
+ if (field === 2 && /^(?:Issue|Tracks):[ \t]*<?$/i.test(prefix.slice(prefix.lastIndexOf("\n") + 1))) {
153
+ const line = text.slice(reference.index).split("\n")[0];
154
+ // Trim the allowed tail (`>`, then `.`/`)`, then spaces/tabs) by hand: a regex tail that can also match the
155
+ // query's last characters backtracks polynomially on a run of `)`.
156
+ let end = line.length;
157
+ while (end > 0 && (line[end - 1] === " " || line[end - 1] === "\t"))
158
+ end--;
159
+ while (end > 0 && (line[end - 1] === "." || line[end - 1] === ")"))
160
+ end--;
161
+ if (end > 0 && line[end - 1] === ">")
162
+ end--;
163
+ if (/^https:\/\/github\.com\/[\w.-]+\/[\w.-]+\/issues\/[1-9]\d*\/?(?:[?#][^\s<>]*)?$/i.test(line.slice(0, end)))
164
+ return true;
165
+ }
166
+ }
167
+ return false;
168
+ }
169
+ /** Normalize first, exclude other/unknown references, then apply the anchored ownership allowlist. */
170
+ function citesIssue(item, repo, number) {
171
+ const normalized = [item.title ?? "", item.description ?? "", item.body ?? ""].map(normalizeCitationText);
172
+ const assessment = inspectCitationReferences(normalized.flatMap(value => [value.source, value.text]), repo, number);
173
+ if (!assessment.mentioned)
174
+ return undefined;
175
+ if (normalized.some(value => !value.stable))
176
+ return "normalization_limit";
177
+ const intended = normalized.some((value, field) => hasAnchoredCitationIntent(value.text, field, repo, number));
178
+ if (assessment.unsafe)
179
+ return "multiple_issues";
180
+ return intended ? "eligible" : "missing_intent";
181
+ }
182
+ /** Trim configurable exporter punctuation in one backwards pass. @internal Shared with parity tests. */
183
+ export function trimLocatorPunctuation(locator, punctuation = "),.;") {
184
+ let end = locator.length;
185
+ while (end > 0 && punctuation.includes(locator[end - 1]))
186
+ end--;
187
+ return locator.slice(0, end);
188
+ }
27
189
  /** Normalize only complete HTTP issue/provider locators, never substring identities. */
28
190
  function locators(value) {
29
191
  const text = typeof value === "string" ? value : JSON.stringify(value) ?? "";
30
- return [...text.matchAll(/https?:\/\/[^\s<>"'`]+/gi)].map(match => match[0].replace(/[),.;]+$/, "").replace(/\/$/, "").toLowerCase()
192
+ return [...text.matchAll(/https?:\/\/[^\s<>"'`]+/gi)].map(match => trimLocatorPunctuation(match[0]).replace(/\/$/, "").toLowerCase()
31
193
  .replace(/^https?:\/\/(?:www\.)?github\.com\/([^/]+)\/([^/]+)\/(?:issues|pull)\/(\d+)\/?(?:[?#].*)?$/, "https://github.com/$1/$2/issues/$3"));
32
194
  }
33
195
  /** Copied body text and labels cannot transfer an established GitHub import to another owner. */
@@ -48,19 +210,70 @@ function providerProvenance(item) {
48
210
  /\[(linear|jira|ado)\]|\b(linear|jira|ado)_(id|key|url)=|Jira(?:\s+[A-Z][A-Z0-9]+-\d+)?:\s/i.test(value)))
49
211
  .map(([, value]) => typeof value === "string" ? value : JSON.stringify(value)).join("\n");
50
212
  }
213
+ /** Fields whose GitHub locators name an item's owner; shared by the owner matcher and the adoption guard so they cannot drift. */
214
+ const OWNER_LINK_FIELD = /^(?:github_?url|provenance|external_?(?:links?|url)|links?)$/i;
215
+ /**
216
+ * True when an item already carries a structured GitHub or provider identity of its own. Mirrors every ownership source
217
+ * identity.ts and the owner matcher recognize: any `github*` field (`github_url`, `githuburl`, ...), a GitHub identity tag in any case (`gh:`, `GH:`), a core `external_ref`, a native `source_owner`, provider identity fields
218
+ * (`linear_*`/`jira_*`/`ado_*` id, key, url or identifier), provider provenance, a native "GitHub issue <url>"
219
+ * declaration, or a GitHub issue URL in provenance/external links.
220
+ */
221
+ function hasStructuredOwnership(item) {
222
+ const issueLocator = /^https:\/\/github\.com\/[^/]+\/[^/]+\/issues\/\d+$/;
223
+ const filled = (value) => value !== undefined && value !== null && value !== false && !(typeof value === "string" && value.trim() === "");
224
+ return Object.entries(item).some(([key, value]) => filled(value) && (/^github/i.test(key) && !/^github_?link_?only$/i.test(key) ||
225
+ /^(?:external_ref|source_owner)$/.test(key) || /^(?:linear|jira|ado)_(?:.*_)?(?:id|key|url|identifier)$/i.test(key))) ||
226
+ item.github_link_only === false || Boolean(providerProvenance(item)) ||
227
+ Boolean(item.tags?.some(tag => /^gh:[^/\s]+\/[^#\s]+#[1-9]\d*$/i.test(tag))) ||
228
+ (typeof item.description === "string" && /^GitHub issue(?:\s*:\s+|\s+)https?:\/\//i.test(item.description)) ||
229
+ Object.entries(item).some(([key, value]) => OWNER_LINK_FIELD.test(key) &&
230
+ locators(value).some(url => issueLocator.test(url)));
231
+ }
51
232
  /** Match GitHub locators or provider back-links before creation, refusing multiple owners. */
52
- export function matchImportedIssue(items, issue, tagged) {
233
+ export function matchImportedIssue(items, issue, tagged, adoptCited = false) {
53
234
  const issueUrl = locators(issue.html_url)[0];
54
235
  const bodyUrls = new Set(locators(issue.body ?? ""));
236
+ /** Recognize leading native ownership declarations; later prose cannot transfer ownership. */
237
+ const declaredOwner = (item) => copiedProviderMarkersOwnItem(item) && typeof item.description === "string" &&
238
+ locators(/^GitHub issue(?:\s*:\s+|\s+)(https?:\/\/\S+)/i.exec(item.description)?.[1]).includes(issueUrl);
55
239
  const candidates = items.filter(item => item.id && (item.id === tagged?.id ||
56
- Object.entries(item).some(([key, value]) => /^(?:github_?url|provenance|external_?(?:links?|url)|links?)$/i.test(key) && locators(value).includes(issueUrl)) ||
240
+ declaredOwner(item) ||
241
+ Object.entries(item).some(([key, value]) => OWNER_LINK_FIELD.test(key) && locators(value).includes(issueUrl)) ||
57
242
  locators(providerProvenance(item)).some(url => bodyUrls.has(url))));
58
243
  if (candidates.length > 1)
59
244
  throw new CommandError(`GitHub issue #${issue.number} has multiple existing owners; import plan is not idempotent. No item was written for this issue.`);
60
- const item = candidates[0];
245
+ let item = candidates[0];
246
+ let cited = false;
247
+ const incidental = [];
248
+ if (!item && !issue.pull_request) {
249
+ const repo = issue.html_url.split("/").slice(3, 5).join("/").toLowerCase();
250
+ const citing = [];
251
+ for (const candidate of items) {
252
+ if (!candidate.id || candidate.tags?.some(tag => parseProvenanceTag(tag) !== undefined))
253
+ continue;
254
+ const assessment = citesIssue(candidate, repo, issue.number);
255
+ if (assessment === undefined)
256
+ continue;
257
+ // Structured ownership (a GitHub issue URL field, an issue number, provider provenance or a native declaration)
258
+ // already names an identity; prose citing another issue must never overwrite it.
259
+ if (assessment === "eligible" && hasStructuredOwnership(candidate))
260
+ incidental.push({ id: candidate.id, reason: "structured_owner" });
261
+ else if (assessment === "eligible" && adoptCited)
262
+ citing.push(candidate);
263
+ else if (assessment !== undefined)
264
+ incidental.push({ id: candidate.id, reason: assessment === "eligible" ? "adoption_disabled" : assessment });
265
+ }
266
+ incidental.sort((left, right) => left.id.localeCompare(right.id));
267
+ if (citing.length > 1)
268
+ throw new AmbiguousCitationError(repo, issue.number, citing.map(candidate => candidate.id).sort(), incidental);
269
+ item = citing[0];
270
+ cited = Boolean(item);
271
+ }
61
272
  const provider = item && (Boolean(providerProvenance(item)) || (copiedProviderMarkersOwnItem(item) && item.tags?.some(tag => /^(linear|jira|ado):/i.test(tag))));
62
- return { item, linkOnly: Boolean(item && (provider || item.github_link_only === true)),
63
- via: item ? (provider ? "provider-link" : item.id === tagged?.id ? "provenance-tag" : "github-url") : "new" };
273
+ const native = item && declaredOwner(item);
274
+ return { item, linkOnly: Boolean(item && (provider || native || item.github_link_only === true)),
275
+ ...(incidental.length > 0 ? { citation_candidates: incidental } : {}),
276
+ via: cited ? "citation" : item ? (provider ? "provider-link" : native ? "github-declaration" : item.id === tagged?.id ? "provenance-tag" : "github-url") : "new" };
64
277
  }
65
278
  /** Read calendar release tags from the selected tracker checkout, including annotated tag dates. */
66
279
  export function readImportReleases(pmRoot) {
@@ -148,8 +361,8 @@ export function importCloseReason(issue, events) {
148
361
  const connected = records.find(event => event.event === "connected" && typeof event.url === "string" && /^https:\/\/github\.com\/[^/]+\/[^/]+\/pull\/\d+$/.test(event.url));
149
362
  return connected ? `${base}; linked PR ${connected.url}` : base;
150
363
  }
151
- /** Validate source lifetimes and assign the earliest release tag at or after the closure. */
152
- export function buildImportFidelity(issue, releases, timeline) {
364
+ /** Validate source date ordering and return the parsed closure, when supplied. */
365
+ export function validateImportLifetime(issue) {
153
366
  const created = Date.parse(issue.created_at);
154
367
  const updated = Date.parse(issue.updated_at);
155
368
  const closed = issue.closed_at ? Date.parse(issue.closed_at) : undefined;
@@ -157,6 +370,11 @@ export function buildImportFidelity(issue, releases, timeline) {
157
370
  (closed !== undefined && (!Number.isFinite(closed) || closed < created || closed > updated))) {
158
371
  throw new CommandError(`GitHub issue #${issue.number} has an invalid source lifetime; nothing may be imported.`);
159
372
  }
373
+ return closed;
374
+ }
375
+ /** Validate source lifetimes and assign the earliest release tag at or after the closure. */
376
+ export function buildImportFidelity(issue, releases, timeline) {
377
+ const closed = validateImportLifetime(issue);
160
378
  return {
161
379
  github_url: issue.html_url, github_number: issue.number, github_state: issue.state,
162
380
  github_state_reason: issue.state_reason ?? "unspecified",
@@ -166,13 +384,39 @@ export function buildImportFidelity(issue, releases, timeline) {
166
384
  github_release: issue.state === "closed" && closed !== undefined ? releases.find(release => Date.parse(release.date) >= closed)?.tag ?? "" : "",
167
385
  };
168
386
  }
387
+ /** Project the import-owned metadata; undefined values remove stale native lifecycle fields. */
388
+ export function importFidelityFields(fidelity, linkOnly) {
389
+ return {
390
+ ...fidelity, github_link_only: linkOnly,
391
+ ...(!linkOnly ? {
392
+ created_at: fidelity.github_created_at,
393
+ close_reason: fidelity.github_state === "closed" ? fidelity.github_close_reason : undefined,
394
+ ...(fidelity.github_closed_at || fidelity.github_state === "open" ? {
395
+ closed_at: fidelity.github_closed_at || undefined,
396
+ completed_at: fidelity.github_closed_at || undefined,
397
+ } : {}),
398
+ // Assign release only when GitHub supplied one: an open issue or a
399
+ // closure without a matching calendar tag must preserve an existing
400
+ // release that users or tools set, instead of deleting it.
401
+ ...(fidelity.github_release ? { release: fidelity.github_release } : {}),
402
+ } : {}),
403
+ };
404
+ }
405
+ /** Compare source instants and tag sets without treating their serialized representation as a change. */
406
+ export function normalizeImportValue(field, value) {
407
+ if (field === "tags")
408
+ return [...new Set(value ?? [])].sort();
409
+ if (/^(?:github_)?(?:created|updated|closed|completed)_at$/.test(field) && typeof value === "string" && Number.isFinite(Date.parse(value)))
410
+ return Date.parse(value);
411
+ return value;
412
+ }
169
413
  /**
170
414
  * Finalize source metadata through public SDK lock, serialization and append-only history primitives.
171
415
  * High-level create/update reserve native timestamps. This import adapter appends a real
172
416
  * before/after event instead of editing past history; retrying identical metadata is a no-op.
173
417
  * Cross-provider owners retain their creation/completion dates, content and release.
174
418
  */
175
- export async function persistImportFidelity(pmRoot, id, fidelity, linkOnly) {
419
+ export async function persistImportFidelity(pmRoot, id, fidelity, linkOnly, normalizeFields = false) {
176
420
  pmRoot = resolvePmRoot(process.cwd(), pmRoot);
177
421
  const settings = await readSettings(pmRoot);
178
422
  id = normalizeItemId(id, settings.id_prefix);
@@ -183,25 +427,13 @@ export async function persistImportFidelity(pmRoot, id, fidelity, linkOnly) {
183
427
  throw new CommandError(`Imported item ${id} is missing during lifecycle finalization.`);
184
428
  const { document, raw } = await readLocatedItem(located);
185
429
  const before = canonicalDocument(document);
186
- Object.assign(document.metadata, fidelity);
187
- document.metadata.github_link_only = linkOnly;
188
- if (!linkOnly) {
189
- document.metadata.created_at = fidelity.github_created_at;
190
- if (fidelity.github_state === "closed")
191
- document.metadata.close_reason = fidelity.github_close_reason;
192
- if (fidelity.github_closed_at) {
193
- document.metadata.closed_at = fidelity.github_closed_at;
194
- document.metadata.completed_at = fidelity.github_closed_at;
195
- }
196
- else if (fidelity.github_state === "open") {
197
- delete document.metadata.closed_at;
198
- delete document.metadata.completed_at;
199
- delete document.metadata.close_reason;
200
- }
201
- if (fidelity.github_release)
202
- document.metadata.release = fidelity.github_release;
430
+ for (const [field, value] of Object.entries(importFidelityFields(fidelity, linkOnly))) {
431
+ if (normalizeFields && JSON.stringify(normalizeImportValue(field, document.metadata[field])) === JSON.stringify(normalizeImportValue(field, value)))
432
+ continue;
433
+ if (value === undefined)
434
+ delete document.metadata[field];
203
435
  else
204
- delete document.metadata.release;
436
+ document.metadata[field] = value;
205
437
  }
206
438
  if (document.metadata.closed_at && Date.parse(document.metadata.closed_at) < Date.parse(document.metadata.created_at)) {
207
439
  throw new CommandError(`GitHub issue #${fidelity.github_number} needs a source closure date before its lifecycle can be imported safely.`);
@@ -1 +1 @@
1
- {"version":3,"file":"import-fidelity.js","sourceRoot":"","sources":["../import-fidelity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-fidelity.js","sourceRoot":"","sources":["../import-fidelity.ts"],"names":[],"mappings":"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"}