pm-github 2026.10.19 → 2026.10.23
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 +36 -5
- package/README.md +201 -7
- package/dist/closeout.d.ts +5 -3
- package/dist/closeout.d.ts.map +1 -1
- package/dist/closeout.js +27 -28
- package/dist/closeout.js.map +1 -1
- package/dist/gate.d.ts +10 -5
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +151 -14
- package/dist/gate.js.map +1 -1
- package/dist/identity.d.ts +62 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +178 -0
- package/dist/identity.js.map +1 -0
- package/dist/import-fidelity.d.ts +28 -2
- package/dist/import-fidelity.d.ts.map +1 -1
- package/dist/import-fidelity.js +260 -28
- package/dist/import-fidelity.js.map +1 -1
- package/dist/index.d.ts +169 -76
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +389 -71
- package/dist/index.js.map +1 -1
- package/dist/refresh.d.ts +41 -0
- package/dist/refresh.d.ts.map +1 -0
- package/dist/refresh.js +223 -0
- package/dist/refresh.js.map +1 -0
- package/dist/webhooks.d.ts +55 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +188 -0
- package/dist/webhooks.js.map +1 -0
- package/manifest.json +1 -1
- package/package.json +9 -6
package/dist/import-fidelity.js
CHANGED
|
@@ -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]
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
63
|
-
|
|
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
|
|
152
|
-
export function
|
|
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.
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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
|
-
|
|
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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"}
|