@junctionpanel/server 0.1.76 → 0.1.77

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.
@@ -232,15 +232,17 @@ export declare class PullRequestRateLimitError extends Error {
232
232
  export declare function invalidatePullRequestCache(cwd: string, options?: {
233
233
  remoteName?: string | null;
234
234
  }): void;
235
- /**
236
- * Read the current branch pull request snapshot using cache-aware summary/detail hydration.
237
- */
238
- export declare function getPullRequestSnapshot(cwd: string, options?: {
235
+ type PullRequestLookupOptions = {
239
236
  remoteName?: string | null;
240
237
  detailLevel?: PullRequestDetailLevel;
241
238
  maxAgeMs?: number;
242
239
  forceRefresh?: boolean;
243
- }): Promise<PullRequestLookupResult>;
240
+ currentBranchHint?: string | null;
241
+ };
242
+ /**
243
+ * Read the current branch pull request snapshot using cache-aware summary/detail hydration.
244
+ */
245
+ export declare function getPullRequestSnapshot(cwd: string, options?: PullRequestLookupOptions): Promise<PullRequestLookupResult>;
244
246
  export declare function createPullRequest(cwd: string, options: CreatePullRequestOptions): Promise<{
245
247
  url: string;
246
248
  number: number;
@@ -252,6 +254,7 @@ export declare function getPullRequestStatus(cwd: string, options?: {
252
254
  remoteName?: string | null;
253
255
  maxAgeMs?: number;
254
256
  forceRefresh?: boolean;
257
+ currentBranchHint?: string | null;
255
258
  }): Promise<PullRequestStatusResult>;
256
259
  /**
257
260
  * Search pull requests for the current repository using a short-lived cache.
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-git.d.ts","sourceRoot":"","sources":["../../../src/utils/checkout-git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout-git.d.ts","sourceRoot":"","sources":["../../../src/utils/checkout-git.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,11 @@ const SMALL_OUTPUT_MAX_BUFFER = 20 * 1024 * 1024; // 20MB
18
18
  async function execGit(command, options) {
19
19
  return execAsync(command, { ...options, maxBuffer: SMALL_OUTPUT_MAX_BUFFER });
20
20
  }
21
+ function isSafeRemoteName(remoteName) {
22
+ return SAFE_GIT_REMOTE_NAME_PATTERN.test(remoteName);
23
+ }
21
24
  function assertSafeRemoteName(remoteName) {
22
- if (!SAFE_GIT_REMOTE_NAME_PATTERN.test(remoteName)) {
25
+ if (!isSafeRemoteName(remoteName)) {
23
26
  throw new Error(`Invalid remote name: ${remoteName}`);
24
27
  }
25
28
  }
@@ -637,6 +640,13 @@ async function listRemoteNames(cwd) {
637
640
  }
638
641
  async function getRemoteHeadBranch(cwd, remoteName) {
639
642
  assertSafeRemoteName(remoteName);
643
+ let cachedRemoteUrl;
644
+ const loadRemoteUrl = async () => {
645
+ if (cachedRemoteUrl === undefined) {
646
+ cachedRemoteUrl = await getRemoteUrl(cwd, remoteName);
647
+ }
648
+ return cachedRemoteUrl;
649
+ };
640
650
  try {
641
651
  const { stdout } = await execAsync(`git symbolic-ref --quiet refs/remotes/${remoteName}/HEAD`, {
642
652
  cwd,
@@ -644,7 +654,7 @@ async function getRemoteHeadBranch(cwd, remoteName) {
644
654
  });
645
655
  const ref = stdout.trim();
646
656
  if (!ref) {
647
- const remoteUrl = await getRemoteUrl(cwd, remoteName);
657
+ const remoteUrl = await loadRemoteUrl();
648
658
  return remoteUrl ? getLocalRemoteHeadBranch(remoteUrl) : null;
649
659
  }
650
660
  const shortRef = ref.replace(/^refs\/remotes\//, "");
@@ -663,14 +673,14 @@ async function getRemoteHeadBranch(cwd, remoteName) {
663
673
  .map((line) => line.trim())
664
674
  .find((line) => line.startsWith("ref: refs/heads/") && line.endsWith("\tHEAD"));
665
675
  if (!headLine) {
666
- const remoteUrl = await getRemoteUrl(cwd, remoteName);
676
+ const remoteUrl = await loadRemoteUrl();
667
677
  return remoteUrl ? getLocalRemoteHeadBranch(remoteUrl) : null;
668
678
  }
669
679
  const match = /^ref:\s+refs\/heads\/(.+)\tHEAD$/.exec(headLine);
670
680
  return match?.[1] ?? null;
671
681
  }
672
682
  catch {
673
- const remoteUrl = await getRemoteUrl(cwd, remoteName);
683
+ const remoteUrl = await loadRemoteUrl();
674
684
  return remoteUrl ? getLocalRemoteHeadBranch(remoteUrl) : null;
675
685
  }
676
686
  }
@@ -692,12 +702,56 @@ export async function listGitRemotes(cwd) {
692
702
  }));
693
703
  return remotes;
694
704
  }
705
+ async function resolveRemoteIdentity(cwd, requestedRemoteName) {
706
+ const trimmedRequested = requestedRemoteName?.trim();
707
+ if (trimmedRequested && isSafeRemoteName(trimmedRequested)) {
708
+ const requestedRemoteUrl = await getRemoteUrl(cwd, trimmedRequested);
709
+ if (requestedRemoteUrl !== null) {
710
+ return {
711
+ remoteName: trimmedRequested,
712
+ remoteUrl: requestedRemoteUrl,
713
+ repo: parseGitHubRepoFromRemoteUrl(requestedRemoteUrl),
714
+ };
715
+ }
716
+ }
717
+ const remotes = await listRemoteNames(cwd);
718
+ if (remotes.length === 0) {
719
+ return {
720
+ remoteName: null,
721
+ remoteUrl: null,
722
+ repo: null,
723
+ };
724
+ }
725
+ let remoteName = null;
726
+ if (trimmedRequested && remotes.includes(trimmedRequested)) {
727
+ assertSafeRemoteName(trimmedRequested);
728
+ remoteName = trimmedRequested;
729
+ }
730
+ else if (remotes.includes("origin")) {
731
+ remoteName = "origin";
732
+ }
733
+ else {
734
+ remoteName = remotes[0] ?? null;
735
+ }
736
+ const remoteUrl = remoteName ? await getRemoteUrl(cwd, remoteName) : null;
737
+ return {
738
+ remoteName,
739
+ remoteUrl,
740
+ repo: remoteUrl ? parseGitHubRepoFromRemoteUrl(remoteUrl) : null,
741
+ };
742
+ }
695
743
  async function resolveEffectiveRemoteName(cwd, requestedRemoteName) {
744
+ const trimmedRequested = requestedRemoteName?.trim();
745
+ if (trimmedRequested && isSafeRemoteName(trimmedRequested)) {
746
+ const requestedRemoteUrl = await getRemoteUrl(cwd, trimmedRequested);
747
+ if (requestedRemoteUrl !== null) {
748
+ return trimmedRequested;
749
+ }
750
+ }
696
751
  const remotes = await listRemoteNames(cwd);
697
752
  if (remotes.length === 0) {
698
753
  return null;
699
754
  }
700
- const trimmedRequested = requestedRemoteName?.trim();
701
755
  if (trimmedRequested && remotes.includes(trimmedRequested)) {
702
756
  assertSafeRemoteName(trimmedRequested);
703
757
  return trimmedRequested;
@@ -1622,12 +1676,7 @@ function parseGitHubRepoFromRemoteUrl(url) {
1622
1676
  return cleaned;
1623
1677
  }
1624
1678
  async function resolveGitHubRepo(cwd, options) {
1625
- const remoteName = await resolveEffectiveRemoteName(cwd, options?.remoteName);
1626
- if (!remoteName) {
1627
- return null;
1628
- }
1629
- const remoteUrl = await getRemoteUrl(cwd, remoteName);
1630
- return remoteUrl ? parseGitHubRepoFromRemoteUrl(remoteUrl) : null;
1679
+ return (await resolveRemoteIdentity(cwd, options?.remoteName)).repo;
1631
1680
  }
1632
1681
  async function hasAuthenticatedGitHubCliSession(cwd) {
1633
1682
  try {
@@ -1714,7 +1763,6 @@ function setCachedPullRequestLookup(cacheKey, localHeadSha, lookup, options) {
1714
1763
  if (getPullRequestLookupCacheGeneration(options.cwd) !== options.generation) {
1715
1764
  return lookup;
1716
1765
  }
1717
- prunePullRequestLookupCache();
1718
1766
  pullRequestLookupCache.set(cacheKey, {
1719
1767
  lookup,
1720
1768
  localHeadSha,
@@ -2078,6 +2126,13 @@ function toPullRequestStatus(baseStatus, checks, mergeability, options) {
2078
2126
  : requiredChecks.every((check) => check.bucket === "pass" || check.bucket === "skipping");
2079
2127
  const hasConflicts = baseStatus.isMerged ? false : (mergeability?.hasConflicts ?? false);
2080
2128
  const mergeableKnown = baseStatus.isMerged ? true : (mergeability?.mergeableKnown ?? true);
2129
+ const canMerge = baseStatus.isMerged
2130
+ ? false
2131
+ : baseStatus.draft || !requiredChecksPassed || hasConflicts
2132
+ ? false
2133
+ : !mergeableKnown
2134
+ ? null
2135
+ : true;
2081
2136
  return {
2082
2137
  number: baseStatus.number,
2083
2138
  url: baseStatus.url,
@@ -2089,11 +2144,7 @@ function toPullRequestStatus(baseStatus, checks, mergeability, options) {
2089
2144
  detailLevel: "detail",
2090
2145
  checksState,
2091
2146
  requiredChecksPassed,
2092
- canMerge: !baseStatus.isMerged &&
2093
- !baseStatus.draft &&
2094
- requiredChecksPassed &&
2095
- !hasConflicts &&
2096
- mergeableKnown,
2147
+ canMerge,
2097
2148
  hasConflicts,
2098
2149
  };
2099
2150
  }
@@ -2239,8 +2290,10 @@ function toSummaryOnlyPullRequestStatus(baseStatus) {
2239
2290
  async function loadCurrentPullRequest(cwd, options) {
2240
2291
  await requireGitRepo(cwd);
2241
2292
  const detailLevel = normalizePullRequestDetailLevel(options?.detailLevel);
2242
- const head = await getCurrentBranch(cwd);
2243
- const localHeadSha = await getCurrentHeadSha(cwd);
2293
+ const currentBranchHint = options?.currentBranchHint?.trim();
2294
+ const head = currentBranchHint && currentBranchHint.length > 0
2295
+ ? currentBranchHint
2296
+ : await getCurrentBranch(cwd);
2244
2297
  if (!head) {
2245
2298
  return {
2246
2299
  status: null,
@@ -2252,20 +2305,22 @@ async function loadCurrentPullRequest(cwd, options) {
2252
2305
  fetchedAt: Date.now(),
2253
2306
  };
2254
2307
  }
2255
- const remoteName = await resolveEffectiveRemoteName(cwd, options?.remoteName);
2256
- const remoteUrl = remoteName ? await getRemoteUrl(cwd, remoteName) : null;
2308
+ const { remoteName, remoteUrl, repo } = await resolveRemoteIdentity(cwd, options?.remoteName);
2257
2309
  const cacheKey = buildPullRequestLookupCacheKey({
2258
2310
  cwd,
2259
2311
  remoteName,
2260
2312
  repoIdentity: remoteUrl,
2261
2313
  branch: head,
2262
2314
  });
2315
+ const localHeadSha = repo ? await getCurrentHeadSha(cwd) : null;
2263
2316
  const cacheGeneration = getPullRequestLookupCacheGeneration(cwd);
2264
- const compatibleCachedLookup = getCompatiblePullRequestLookup({
2265
- cacheKey,
2266
- detailLevel,
2267
- localHeadSha,
2268
- });
2317
+ const compatibleCachedLookup = repo
2318
+ ? getCompatiblePullRequestLookup({
2319
+ cacheKey,
2320
+ detailLevel,
2321
+ localHeadSha,
2322
+ })
2323
+ : null;
2269
2324
  const maxAgeMs = options?.maxAgeMs ??
2270
2325
  resolvePullRequestLookupMaxAgeMs({
2271
2326
  detailLevel,
@@ -2273,12 +2328,14 @@ async function loadCurrentPullRequest(cwd, options) {
2273
2328
  });
2274
2329
  const freshCachedLookup = options?.forceRefresh
2275
2330
  ? null
2276
- : getCachedPullRequestLookup({
2277
- cacheKey,
2278
- detailLevel,
2279
- maxAgeMs,
2280
- localHeadSha,
2281
- });
2331
+ : repo
2332
+ ? getCachedPullRequestLookup({
2333
+ cacheKey,
2334
+ detailLevel,
2335
+ maxAgeMs,
2336
+ localHeadSha,
2337
+ })
2338
+ : null;
2282
2339
  if (freshCachedLookup) {
2283
2340
  return freshCachedLookup;
2284
2341
  }
@@ -2317,7 +2374,6 @@ async function loadCurrentPullRequest(cwd, options) {
2317
2374
  fetchedAt: Date.now(),
2318
2375
  };
2319
2376
  }
2320
- const repo = parseGitHubRepoFromRemoteUrl(remoteUrl);
2321
2377
  if (!repo) {
2322
2378
  return {
2323
2379
  status: null,
@@ -2558,6 +2614,7 @@ export async function getPullRequestStatus(cwd, options) {
2558
2614
  detailLevel: "detail",
2559
2615
  maxAgeMs: options?.maxAgeMs ?? PULL_REQUEST_STATUS_ACTIVE_CACHE_MS,
2560
2616
  forceRefresh: options?.forceRefresh,
2617
+ currentBranchHint: options?.currentBranchHint,
2561
2618
  });
2562
2619
  return {
2563
2620
  status: lookup.status,
@@ -2578,9 +2635,7 @@ export async function searchPullRequests(cwd, options = {}) {
2578
2635
  githubFeaturesEnabled: false,
2579
2636
  };
2580
2637
  }
2581
- const remoteName = await resolveEffectiveRemoteName(cwd, options.remoteName ?? undefined);
2582
- const remoteUrl = remoteName ? await getRemoteUrl(cwd, remoteName) : null;
2583
- const repo = remoteUrl ? parseGitHubRepoFromRemoteUrl(remoteUrl) : null;
2638
+ const { remoteName, repo } = await resolveRemoteIdentity(cwd, options.remoteName ?? undefined);
2584
2639
  if (!repo) {
2585
2640
  return {
2586
2641
  pullRequests: [],
@@ -2661,7 +2716,6 @@ export async function searchPullRequests(cwd, options = {}) {
2661
2716
  pullRequests,
2662
2717
  githubFeaturesEnabled: true,
2663
2718
  };
2664
- prunePullRequestSearchCache();
2665
2719
  pullRequestSearchCache.set(searchCacheKey, {
2666
2720
  result,
2667
2721
  fetchedAt: Date.now(),