@gitkraken/core-gitlens 0.4.101 → 0.5.101

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.
Files changed (121) hide show
  1. package/CHANGELOG.md +29 -6
  2. package/dist/git/models/graph.d.ts +63 -33
  3. package/dist/git/models/graph.d.ts.map +1 -1
  4. package/dist/git/models/graph.js.map +1 -1
  5. package/dist/git/models/graphSession.d.ts +3 -84
  6. package/dist/git/models/graphSession.d.ts.map +1 -1
  7. package/dist/git/models/graphSession.js +1 -6
  8. package/dist/git/models/graphSession.js.map +1 -1
  9. package/dist/git/models/issue.d.ts +4 -3
  10. package/dist/git/models/issue.d.ts.map +1 -1
  11. package/dist/git/models/issue.js.map +1 -1
  12. package/dist/git/providers/graph.d.ts +1 -15
  13. package/dist/git/providers/graph.d.ts.map +1 -1
  14. package/dist/git/providers/pausedOperations.d.ts +2 -0
  15. package/dist/git/providers/pausedOperations.d.ts.map +1 -1
  16. package/dist/git/utils/issue.utils.d.ts.map +1 -1
  17. package/dist/git/utils/issue.utils.js +8 -6
  18. package/dist/git/utils/issue.utils.js.map +1 -1
  19. package/dist/git/utils/reachability.utils.d.ts +1 -1
  20. package/dist/git/utils/reachability.utils.js +1 -1
  21. package/dist/git/utils/remote.utils.d.ts +3 -0
  22. package/dist/git/utils/remote.utils.d.ts.map +1 -1
  23. package/dist/git/utils/remote.utils.js +5 -0
  24. package/dist/git/utils/remote.utils.js.map +1 -1
  25. package/dist/git-cli/providers/graph.d.ts +1 -3
  26. package/dist/git-cli/providers/graph.d.ts.map +1 -1
  27. package/dist/git-cli/providers/graph.js +37 -214
  28. package/dist/git-cli/providers/graph.js.map +1 -1
  29. package/dist/git-cli/providers/pausedOperations.d.ts +1 -0
  30. package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
  31. package/dist/git-cli/providers/pausedOperations.js +21 -1
  32. package/dist/git-cli/providers/pausedOperations.js.map +1 -1
  33. package/dist/git-cli/providers/staging.d.ts.map +1 -1
  34. package/dist/git-cli/providers/staging.js +10 -1
  35. package/dist/git-cli/providers/staging.js.map +1 -1
  36. package/dist/plus/git-github/api/github.d.ts.map +1 -1
  37. package/dist/plus/git-github/api/github.js +18 -5
  38. package/dist/plus/git-github/api/github.js.map +1 -1
  39. package/dist/plus/git-github/models.d.ts +6 -4
  40. package/dist/plus/git-github/models.d.ts.map +1 -1
  41. package/dist/plus/git-github/models.js +19 -26
  42. package/dist/plus/git-github/models.js.map +1 -1
  43. package/dist/plus/git-github/providers/github/graph.d.ts +1 -3
  44. package/dist/plus/git-github/providers/github/graph.d.ts.map +1 -1
  45. package/dist/plus/git-github/providers/github/graph.js +8 -10
  46. package/dist/plus/git-github/providers/github/graph.js.map +1 -1
  47. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +38 -48
  48. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +1 -1
  49. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +22 -5
  50. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -1
  51. package/dist/plus/integrations/authentication/rejectedTokenTracker.d.ts +39 -0
  52. package/dist/plus/integrations/authentication/rejectedTokenTracker.d.ts.map +1 -0
  53. package/dist/plus/integrations/authentication/rejectedTokenTracker.js +53 -0
  54. package/dist/plus/integrations/authentication/rejectedTokenTracker.js.map +1 -0
  55. package/dist/plus/integrations/collectionMetadata.d.ts +21 -1
  56. package/dist/plus/integrations/collectionMetadata.d.ts.map +1 -1
  57. package/dist/plus/integrations/collectionMetadata.js +82 -6
  58. package/dist/plus/integrations/collectionMetadata.js.map +1 -1
  59. package/dist/plus/integrations/integrationService.d.ts +3 -3
  60. package/dist/plus/integrations/integrationService.d.ts.map +1 -1
  61. package/dist/plus/integrations/integrationService.js +19 -3
  62. package/dist/plus/integrations/integrationService.js.map +1 -1
  63. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
  64. package/dist/plus/integrations/models/gitHostIntegration.js +19 -6
  65. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
  66. package/dist/plus/integrations/models/integration.d.ts +20 -0
  67. package/dist/plus/integrations/models/integration.d.ts.map +1 -1
  68. package/dist/plus/integrations/models/integration.js +64 -6
  69. package/dist/plus/integrations/models/integration.js.map +1 -1
  70. package/dist/plus/integrations/models/issuesIntegration.js +5 -5
  71. package/dist/plus/integrations/models/issuesIntegration.js.map +1 -1
  72. package/dist/plus/integrations/providers/models.d.ts +1 -0
  73. package/dist/plus/integrations/providers/models.d.ts.map +1 -1
  74. package/dist/plus/integrations/providers/models.js.map +1 -1
  75. package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -1
  76. package/dist/plus/integrations/providers/providersApi.js +4 -2
  77. package/dist/plus/integrations/providers/providersApi.js.map +1 -1
  78. package/dist/plus/integrations/providers/trello.d.ts +2 -0
  79. package/dist/plus/integrations/providers/trello.d.ts.map +1 -1
  80. package/dist/plus/integrations/providers/trello.js +1 -1
  81. package/dist/plus/integrations/providers/trello.js.map +1 -1
  82. package/dist/plus/integrations/providers/utils/providerPaging.d.ts +4 -2
  83. package/dist/plus/integrations/providers/utils/providerPaging.d.ts.map +1 -1
  84. package/dist/plus/integrations/providers/utils/providerPaging.js +34 -22
  85. package/dist/plus/integrations/providers/utils/providerPaging.js.map +1 -1
  86. package/dist/plus/integrations/reads/warnings.d.ts +4 -2
  87. package/dist/plus/integrations/reads/warnings.d.ts.map +1 -1
  88. package/dist/plus/integrations/reads/warnings.js +4 -2
  89. package/dist/plus/integrations/reads/warnings.js.map +1 -1
  90. package/dist/utils/date.d.ts +1 -1
  91. package/dist/utils/date.d.ts.map +1 -1
  92. package/dist/utils/date.js +5 -3
  93. package/dist/utils/date.js.map +1 -1
  94. package/package.json +2 -2
  95. package/src/git/models/graph.ts +59 -41
  96. package/src/git/models/graphSession.ts +3 -106
  97. package/src/git/models/issue.ts +3 -2
  98. package/src/git/providers/graph.ts +1 -15
  99. package/src/git/providers/pausedOperations.ts +8 -1
  100. package/src/git/utils/issue.utils.ts +9 -6
  101. package/src/git/utils/reachability.utils.ts +1 -1
  102. package/src/git/utils/remote.utils.ts +6 -0
  103. package/src/git-cli/providers/graph.ts +37 -250
  104. package/src/git-cli/providers/pausedOperations.ts +29 -2
  105. package/src/git-cli/providers/staging.ts +8 -1
  106. package/src/plus/git-github/api/github.ts +19 -9
  107. package/src/plus/git-github/models.ts +27 -31
  108. package/src/plus/git-github/providers/github/graph.ts +8 -15
  109. package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +62 -40
  110. package/src/plus/integrations/authentication/rejectedTokenTracker.ts +56 -0
  111. package/src/plus/integrations/collectionMetadata.ts +97 -7
  112. package/src/plus/integrations/integrationService.ts +37 -9
  113. package/src/plus/integrations/models/gitHostIntegration.ts +19 -6
  114. package/src/plus/integrations/models/integration.ts +71 -7
  115. package/src/plus/integrations/models/issuesIntegration.ts +5 -5
  116. package/src/plus/integrations/providers/models.ts +4 -1
  117. package/src/plus/integrations/providers/providersApi.ts +6 -10
  118. package/src/plus/integrations/providers/trello.ts +3 -2
  119. package/src/plus/integrations/providers/utils/providerPaging.ts +46 -24
  120. package/src/plus/integrations/reads/warnings.ts +4 -2
  121. package/src/utils/date.ts +6 -3
package/CHANGELOG.md CHANGED
@@ -6,13 +6,36 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- ## [0.4.101] - 2026-07-30
9
+ ## [0.5.101] - 2026-08-02
10
10
 
11
- ## [0.4.100] - 2026-07-29
11
+ ### Added
12
+
13
+ - Adds structured detail to the warnings raised from provider collection metadata — requires `@gitkraken/provider-apis` 0.55.0. A GitHub search that hits the 1,000-result cap now warns with the figures it was given (`Search (repository acme/web) matched 1393 results, but the provider exposes at most 1000`) instead of the fixed `Some results were omitted; the read is incomplete`, and the SDK's other two omission kinds (`recovery-budget`, `pagination-incomplete`) each get their own message, scoped to the repository/project the SDK attributes them to. An omission never sets `fetchFailed`: the request succeeded, so retrying returns the same truncated set — only a structured failure means the read broke. Note 0.55.0 also RECOVERS past the cap (it partitions an over-limit multi-repo search by repository, then bisects `updated:` windows), so the common over-cap read now returns complete and raises no warning at all (plus/integrations)
14
+
15
+ ### Changed
16
+
17
+ - Collapses repeated collection omissions per kind and scope, keeping the highest reported total, mirroring the SDK's own dedupe. GitHub recomputes its match total on every request, so a repository drained over several pages reports the same cap with a drifting count; without this the consumer got a near-identical warning per page that message-level dedupe could not collapse (plus/integrations)
18
+ - Truncation is now derived from one predicate, `isIncompleteCollection`, shared by the facade assessment and `getPagedResult`. Both computed it independently before, so a single metadata object could be reported as truncated by one and complete by the other (plus/integrations)
19
+
20
+ ### Fixed
21
+
22
+ - Fixes a GitHub pull-request search dropping the pages it had already collected when a later page came back empty — the drain returned `[]` instead of the accumulated results (plus/git-github)
23
+ - Fixes `GitHubPullRequestLite.body` being typed as non-nullable when GitHub's schema returns `null` for it; the mapped `PullRequest.body` now degrades to `undefined` rather than carrying a `null` typed as `string` (plus/git-github)
24
+ - Fixes Trello's project-scoped issue read dropping the SDK collection metadata it had already computed, so a partial Trello search reached the facade with its truncation signal but no structured detail (plus/integrations)
25
+
26
+ ## [0.5.100] - 2026-07-31
27
+
28
+ ### Changed
29
+
30
+ - **Breaking (git)** — `GitGraphRowHead.worktreeId` is removed; `worktree` now carries `isDefault` instead. Consumers asking "is this branch checked out somewhere other than here?" must test `worktree != null && !worktree.isDefault` rather than reading `worktreeId`. `GitGraphRowType` is renamed to `GitGraphRowKind`, and the row field carrying it from `type` to `kind`, adopting the commit-graph engine's own vocabulary — `'commit' | 'merge' | 'stash' | 'workdir'`, replacing `'commit-node' | 'merge-node' | 'stash-node' | 'work-dir-changes'` — and drops the never-produced `merge-conflict-node` and `unsupported-rebase-warning-node` members; `GitGraphRowContexts` drops eight slots no producer wrote (`ref`, `graph`, `avatar`, `message`, `author`, `date`, `sha`, `stats`) (git)
31
+ - **Breaking (git)** — `graphSessionSnapshotVersion` is now `7`; snapshots written by earlier versions are discarded on restore, because the persisted row shape changed with `worktree.isDefault`, again with the row-kind rename, and again when the per-ref `context` slots were removed (git)
32
+ - **Breaking (git)** — `GitGraphRowHead`, `GitGraphRowRemoteHead` and `GitGraphRowTag` drop their `context?: string | object` slot. The graph no longer ships a serialized webview-item context per ref per row; consumers that read those strings must build their own from the structured fields. An `id` marks a ref as identifiable and actionable — it does NOT promise complete enrichment, since the CLI settles branch/remote/worktree lookups independently and still stamps ids (git)
33
+ - **Breaking (git)** — graph rows now OMIT `heads`/`remotes`/`tags` when empty instead of shipping empty arrays; consumers must treat all three as optional (git)
12
34
 
13
35
  ### Added
14
36
 
15
- - Adds an account-wide issue read for GitLab and exposes `includeAllAssignees` on the account-wide seam — `GitHostIntegration.searchMyIssuesWithTruncationResult`/`IntegrationService.listIssuesPage` now serve GitLab (previously reported as unsupported, since GitLab's issue reads were repo-scoped only) via a new `getIssuesForCurrentUser` REST read (`GET /issues`, open issues only), and honor an `includeAllAssignees` toggle across GitHub (`assignee:@me` `assignee:*`), GitLab (`scope=all`, no assignee), and Azure DevOps (a single unfiltered per-project drain); requires `@gitkraken/provider-apis` 0.53.0 ([#5535](https://github.com/gitkraken/vscode-gitlens/issues/5535)) (plus/integrations)
37
+ - Adds structured branch and stash state to graph rows `GitGraphRowHead.starred` and `GitGraphRowRemoteHead.starred`, `upstream.missing` and `upstream.state { ahead, behind }` on a head's upstream, and `GitGraphRow.stashNumber` (the `{n}` of `stash@{n}`). All optional and populated only by the CLI provider; absent means the producer did not compute it, not a negative value (git)
38
+ - Adds an account-wide issue read for GitLab and exposes `includeAllAssignees` on the account-wide seam — `GitHostIntegration.searchMyIssuesWithTruncationResult`/`IntegrationService.listIssuesPage` now serve GitLab (previously reported as unsupported, since GitLab's issue reads were repo-scoped only) via a new `getIssuesForCurrentUser` REST read (`GET /issues`, open issues only), and honor an `includeAllAssignees` toggle across GitHub (`assignee:@me` → `assignee:*`), GitLab (`scope=all`, no assignee), and Azure DevOps (a single unfiltered per-project drain); requires `@gitkraken/provider-apis` 0.53.0 ([#5535](https://github.com/gitkraken/vscode-gitlens/issues/5535)) (plus/integrations)
16
39
  - Adds multiple simultaneous connections (multi-account) per provider integration — `ConfiguredIntegrationDescriptor` now carries a stable per-connection `id` (backend `tokenId`) plus `primary`, `type`, and `accountName`; `IntegrationService` gains `setPrimaryConnection`, `deleteConnection`, and `refreshConnections`; cloud sync fans out over every backend connection (primary + secondaries) and resolves account names with a backend → cache → provider-API precedence. Existing single-connection sessions keep working with zero secret migration ([#5430](https://github.com/gitkraken/vscode-gitlens/issues/5430)) (plus/integrations)
17
40
  - Adds per-connection reads for multi-account integrations — issue/PR search and issue-tracker resource reads (`searchMyIssues`, `searchMyPullRequests`, `searchPullRequests`, `getIssuesForProject`, `getAccountForResource`, `getResourcesForUser`, `getProjectsForResources`) accept an optional `connectionId` that reads with that specific connection's token instead of the provider's primary (mirrors the `gk` CLI's `--connection`); omitting it preserves the existing primary behavior ([#5430](https://github.com/gitkraken/vscode-gitlens/issues/5430)) (plus/integrations)
18
41
  - Adds a lightweight, token-scoped entry point `createTokenScopedGitHostIntegration` at `plus/integrations/lite.js` — fetches `RepositoryMetadata` and `DefaultBranch` for GitHub, GitLab, Bitbucket, and Azure DevOps from just an access token + a `fetch`, without constructing an `IntegrationServiceContext` or running any session/OAuth lifecycle (plus/integrations)
@@ -122,9 +145,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
122
145
 
123
146
  - Initial release. Bundles `@gitlens/utils`, `@gitlens/git`, `@gitlens/git-cli`, `@gitlens/ai`, and `@gitlens/git-github` into a single core npm package with subpath exports.
124
147
 
125
- [unreleased]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.4.101...HEAD
126
- [0.4.101]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.4.100...gitkraken:releases/core/v0.4.101
127
- [0.4.100]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.4.0...gitkraken:releases/core/v0.4.100
148
+ [unreleased]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.5.101...HEAD
149
+ [0.5.101]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.5.100...gitkraken:releases/core/v0.5.101
150
+ [0.5.100]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.5.0...gitkraken:releases/core/v0.5.100
128
151
  [0.4.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.3.1...gitkraken:releases/core/v0.4.0
129
152
  [0.3.1]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.3.0...gitkraken:releases/core/v0.3.1
130
153
  [0.3.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.2.0...gitkraken:releases/core/v0.3.0
@@ -4,49 +4,81 @@ import type { GitStashCommit } from './commit.js';
4
4
  import type { GitRemote } from './remote.js';
5
5
  import type { GkProviderId } from './repositoryIdentities.js';
6
6
  import type { GitWorktree } from './worktree.js';
7
- export type GitGraphRowType = 'commit-node' | 'merge-node' | 'stash-node' | 'work-dir-changes' | 'merge-conflict-node' | 'unsupported-rebase-warning-node';
7
+ export type GitGraphRowKind = 'commit' | 'merge' | 'stash' | 'workdir';
8
8
  export interface GitGraphRowHead {
9
+ /**
10
+ * Stable ref id. **Its presence is the provider-tier marker** — the one signal separating a ref that
11
+ * can be acted on from a lean, name-only one, now that neither carries a serialized context.
12
+ *
13
+ * The CLI provider stamps an id on every ref it emits (`git-cli/providers/graph.ts:781`, `:805`,
14
+ * `:836`); the GitHub provider never does, because it has no branch metadata to key
15
+ * (`git-github/providers/github/graph.ts:231`, `:239`). So `id == null` means "this ref came from a
16
+ * provider that computes nothing beyond a name", and every id-keyed feature — ref metadata, exclusions,
17
+ * pinning, PR/issue lookup — must degrade rather than guess. Consumers already do this; it is written
18
+ * down here because until now it was an accident of two providers rather than a stated contract.
19
+ *
20
+ * ⚠ An id means the ref is **identifiable and actionable** — it does NOT mean its enrichment is
21
+ * complete. The CLI resolves branches, remotes and worktrees with `Promise.allSettled`
22
+ * (`git-cli/providers/graph.ts:546`) and still synthesizes ids when any of those settle rejected, so an
23
+ * id-bearing ref can carry a missing `starred`/`upstream` that means "not computed" rather than "no".
24
+ * Treat every optional field as enrichment that may be absent, and never report a capability from its
25
+ * absence. If a consumer ever needs to tell "unavailable" from "false", that wants one graph-level
26
+ * completeness flag, not a per-ref field on every row.
27
+ */
9
28
  id?: string;
10
29
  name: string;
11
30
  isCurrentHead: boolean;
12
- context?: string | object;
31
+ /**
32
+ * The tracked upstream. `missing`/`state` are optional here while {@link GitTrackingUpstream} makes
33
+ * them required, and the difference is meaningful: absent means the producer did NOT compute them
34
+ * (the GitHub provider has no branch metadata at all), NOT "present and false/zero". Consumers must
35
+ * treat `undefined` as unknown rather than folding it into the negative case.
36
+ */
13
37
  upstream?: {
14
38
  name: string;
15
39
  id: string;
40
+ missing?: boolean;
41
+ state?: {
42
+ ahead: number;
43
+ behind: number;
44
+ };
16
45
  };
17
- /** Set when this branch is checked out in a (non-default) worktree. Grouped so producers can't
18
- * half-populate id-without-path or vice versa. GitLens consumers should read this field. */
46
+ /** Starred (a GitKraken branch disposition). Structured so `+starred` stops being baked into the
47
+ * serialized context at row-build time, where starring a branch left the label stale. */
48
+ starred?: boolean;
49
+ /** Set when this branch is checked out in ANY worktree, including the default one. Grouped so
50
+ * producers can't half-populate id-without-path or vice versa. Consumers that mean "checked out
51
+ * somewhere other than here" — the ref-ordering tier and the worktree glyph — must test
52
+ * `isDefault` too; the default worktree's checkout is the ordinary case, not a worktree badge.
53
+ * Note `isDefault` here describes the WORKTREE; the sibling `isDefault` below describes the BRANCH. */
19
54
  worktree?: {
20
55
  id: string;
21
56
  path: string;
57
+ isDefault: boolean;
22
58
  };
23
- /** Upstream-component-compatibility mirror of `worktree?.id`. The bundled
24
- * `@gitkraken/gitkraken-components` library still reads `worktreeId` to switch between
25
- * WORKTREE and HEAD ref-badge styling — keeping it populated preserves the visual cue.
26
- * Producers MUST set this whenever they set `worktree`; do not read it from GitLens code,
27
- * read `worktree.id` instead. */
28
- worktreeId?: string;
29
59
  /** True when this head is the repository's default branch. */
30
60
  isDefault?: boolean;
31
61
  }
32
62
  export interface GitGraphRowRemoteHead {
63
+ /** Stable ref id; see {@link GitGraphRowHead.id} — its presence is the provider-tier marker. */
33
64
  id?: string;
34
65
  name: string;
35
66
  url?: string;
36
67
  owner: string;
37
68
  avatarUrl?: string;
38
- context?: string | object;
39
69
  current?: boolean;
40
70
  /** True when this remote ref IS the repository's default branch and no local branch tracks it (no
41
71
  * local checkout) — so the default-branch tier still applies for remote-only defaults. */
42
72
  isDefault?: boolean;
43
73
  hostingServiceType?: GkProviderId;
74
+ /** See {@link GitGraphRowHead.starred}. */
75
+ starred?: boolean;
44
76
  }
45
77
  export interface GitGraphRowTag {
78
+ /** Stable ref id; see {@link GitGraphRowHead.id} — its presence is the provider-tier marker. */
46
79
  id?: string;
47
80
  name: string;
48
81
  annotated: boolean;
49
- context?: string | object;
50
82
  }
51
83
  /**
52
84
  * Compact, host-computed flags for a commit/stash row, shipped instead of the bulky serialized
@@ -75,10 +107,7 @@ export declare const enum GitGraphRowContextFlags {
75
107
  RewriteableFromHead = 16,
76
108
  Unpulled = 32
77
109
  }
78
- /**
79
- * Context data attached to graph row regions for command/menu handling.
80
- * Structurally compatible with @gitkraken/gitkraken-components RowContexts.
81
- */
110
+ /** Context data attached to graph rows for command/menu handling. */
82
111
  export interface GitGraphRowContexts {
83
112
  /** Compact replacement for the serialized commit `row`/`avatar` contexts; see {@link GitGraphRowContextFlags}. */
84
113
  flags?: GitGraphRowContextFlags;
@@ -88,16 +117,11 @@ export interface GitGraphRowContexts {
88
117
  * webview rebuilds `row.reachability` from the shared table. Absent ⇒ no reachability for this row.
89
118
  */
90
119
  reachabilityIndex?: number;
120
+ /** Serialized right-click context. Built here only for stash rows; commit rows ship {@link flags}
121
+ * instead and have theirs rebuilt on demand (see `rowContext.utils`). */
91
122
  row?: string | object;
92
- ref?: string | object;
123
+ /** Serialized context per grouped-ref name, for the group's own menu. */
93
124
  refGroups?: Record<string, string | object>;
94
- graph?: string | object;
95
- avatar?: string | object;
96
- message?: string | object;
97
- author?: string | object;
98
- date?: string | object;
99
- sha?: string | object;
100
- stats?: string | object;
101
125
  }
102
126
  export interface GitGraphRowStats {
103
127
  files: number;
@@ -125,7 +149,7 @@ export interface GraphReachabilityTable {
125
149
  /** Distinct ref-membership bitmaps, base64-encoded `Uint8Array` of `ceil(dictionary.length/8)` bytes. */
126
150
  readonly sets: string[];
127
151
  }
128
- /** Library-owned graph row type. Structurally compatible with @gitkraken/gitkraken-components GraphRow. */
152
+ /** Library-owned graph row type. */
129
153
  export interface GitGraphRow {
130
154
  sha: string;
131
155
  parents: string[];
@@ -134,12 +158,14 @@ export interface GitGraphRow {
134
158
  date: number;
135
159
  commitDate?: number;
136
160
  message: string;
137
- type: GitGraphRowType;
161
+ kind: GitGraphRowKind;
138
162
  heads?: GitGraphRowHead[];
139
163
  remotes?: GitGraphRowRemoteHead[];
140
164
  tags?: GitGraphRowTag[];
141
165
  contexts?: GitGraphRowContexts;
142
166
  stats?: GitGraphRowStats;
167
+ /** Stash rows only: the `{n}` of `stash@{n}`, so consumers stop parsing it back out of the message. */
168
+ stashNumber?: string;
143
169
  /**
144
170
  * Transient, set only for the duration of {@link GraphRowProcessor.processRow} (the row processor's
145
171
  * `+unique` decision reads it). The provider strips it before pushing the row and records the
@@ -265,10 +291,9 @@ export type GitGraphRowsStats = Map<string, GitGraphRowStats>;
265
291
  * repo-change rebuild can walk ONLY the changed head region, stitch the cached tail, and re-derive
266
292
  * flags/reachability in memory — instead of re-walking every loaded row.
267
293
  *
268
- * R6a status: the Node provider ACCEPTS this option but IGNORES it, falling through to the full ordered
269
- * walk (so a seeded rebuild is byte-equivalent to an unseeded one). It is threaded now purely so the
270
- * equivalence harness can pin the shape and R6b can light up the fast path without an interface change.
271
- * The GitHub provider ignores it structurally (it never lists the option).
294
+ * The CLI provider consumes this on its incremental fast path, degrading to the full ordered walk
295
+ * whenever any gate below rejects the seed. The GitHub provider ignores it structurally (it never
296
+ * lists the option).
272
297
  */
273
298
  export interface GraphIncrementalSeed {
274
299
  /**
@@ -328,7 +353,8 @@ export interface GraphIncrementalSeed {
328
353
  * {@link GitGraph.decorationFingerprint} of the prior walk. R6b falls back to a full walk on ANY change:
329
354
  * reused rows keep their embedded decorations (upstream/worktree/default/remote/user metadata), so a
330
355
  * metadata-only change — one that moves no ref tip — would otherwise ship stale pills indefinitely.
331
- * Absent (e.g. an old persisted snapshot) never matches safe full fallback.
356
+ * Optional because providers without the incremental machinery (e.g. GitHub) never populate it; absent
357
+ * never matches ⇒ safe full fallback.
332
358
  */
333
359
  readonly decorationFingerprint?: string;
334
360
  }
@@ -348,10 +374,14 @@ export type IncrementalGraphFallbackReason = 'no-row-processor' | 'ordering-not-
348
374
  /**
349
375
  * Processes a single graph row — mutates the row in place.
350
376
  *
351
- * Sets `row.contexts`, `row.message` (e.g., emojified), `tag.context`,
352
- * `head.context`, `remoteHead.context`, `remoteHead.avatarUrl`.
377
+ * Sets `row.contexts` and `row.message` (e.g., emojified), and resolves `remoteHead.avatarUrl`.
353
378
  * Also populates `context.avatars` with email → URL mappings.
354
379
  *
380
+ * Per-ref contexts are NOT serialized here. The webview builds them from the structured ref fields
381
+ * (`webviews/apps/plus/graph/utils/refContext.utils.ts`), where live state the host would have baked in
382
+ * stale — whether a branch is starred, which ref is pinned — is actually visible. What remains here needs
383
+ * something the webview cannot reach: the extension's asset URIs, or the whole-row grouping.
384
+ *
355
385
  * Called inline during graph row iteration in the library's row-building
356
386
  * loop, once per row. Because it runs inside the loop, `more()` pagination
357
387
  * automatically gets processing for free — no wrapping needed.
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/git/models/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/git/models/graph.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/git/models/graph.ts"],"names":[],"mappings":"AAuDA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAN,IAAkB,uBAQjB;AARD,WAAkB,uBAAuB;IACxC,qEAAQ,CAAA;IACR,+FAA0B,CAAA;IAC1B,yFAAuB,CAAA;IACvB,mFAAoB,CAAA;IACpB,mFAAoB,CAAA;IACpB,oGAA4B,CAAA;IAC5B,8EAAiB,CAAA;AAClB,CAAC,EARiB,uBAAuB,KAAvB,uBAAuB,QAQxC"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/git/models/graph.ts"],"names":[],"mappings":"AA2EA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAN,IAAkB,uBAQjB;AARD,WAAkB,uBAAuB;IACxC,qEAAQ,CAAA;IACR,+FAA0B,CAAA;IAC1B,yFAAuB,CAAA;IACvB,mFAAoB,CAAA;IACpB,mFAAoB,CAAA;IACpB,oGAA4B,CAAA;IAC5B,8EAAiB,CAAA;AAClB,CAAC,EARiB,uBAAuB,KAAvB,uBAAuB,QAQxC"}
@@ -1,4 +1,4 @@
1
- import type { GitGraph, GitGraphRow, GitGraphRowStats, GraphReachabilityTable, IncrementalGraphFallbackReason } from './graph.js';
1
+ import type { GitGraph, GitGraphRow, IncrementalGraphFallbackReason } from './graph.js';
2
2
  /**
3
3
  * A provider-owned, stateful graph window for a single repo. It is the canonical accumulated window and
4
4
  * the single builder of the incremental rebuild seed — the host no longer mirrors loaded rows, stamps
@@ -9,8 +9,8 @@ import type { GitGraph, GitGraphRow, GitGraphRowStats, GraphReachabilityTable, I
9
9
  * `getGraph` incremental machinery (it internally builds the seed from the accumulated window, tips, and
10
10
  * prior artifacts, with the same shape gating), {@link more} delegates to the prior result's `more()`,
11
11
  * and {@link current} mirrors today's `GitGraph` result shape so the publisher/wire semantics stay
12
- * byte-identical. R7b (refresh-result-driven channel marking) and R7c (restart persistence) extend this
13
- * without breaking — {@link refresh} returns a result object, never a bare `GitGraph`.
12
+ * byte-identical. R7b (refresh-result-driven channel marking) extends this without breaking
13
+ * {@link refresh} returns a result object, never a bare `GitGraph`.
14
14
  */
15
15
  export interface GitGraphSession {
16
16
  readonly repoPath: string;
@@ -35,89 +35,8 @@ export interface GitGraphSession {
35
35
  * there was nothing to add or a concurrent {@link refresh} superseded the page.
36
36
  */
37
37
  more(limit?: number, targetId?: string, cancellation?: AbortSignal): Promise<boolean>;
38
- /**
39
- * Snapshot the canonical window for restart persistence, or `undefined` when there's nothing worth
40
- * persisting — an empty window, or a provider without an incremental restore path (e.g. GitHub, which
41
- * stamps no ref tips for the restore's tip-diff gate). The host writes this into the repo's own git dir
42
- * (`<commonGitDir>/gitlens/graph/` — a repo-derived cache, like git's commit-graph file) on an idle
43
- * debounce / dispose; a later {@link GitGraphSubProvider.openGraphSession} `restore` reconstructs +
44
- * refreshes it. Never trusted over git — restore always re-refreshes (see {@link GitGraphSessionSnapshot}).
45
- */
46
- serialize(): GitGraphSessionSnapshot | undefined;
47
38
  dispose(): void;
48
39
  }
49
- /**
50
- * Schema version for {@link GitGraphSessionSnapshot}. Bump on ANY shape change (field add/remove/rename or a
51
- * semantics change): a restore whose snapshot version doesn't match this EXACTLY is discarded (a normal
52
- * initial walk), so an old-shaped cache written by a prior extension version can never be misread.
53
- */
54
- export declare const graphSessionSnapshotVersion = 3;
55
- /**
56
- * Restart-persistence snapshot of a {@link GitGraphSession}'s canonical window — everything a restore needs
57
- * to reconstruct the session's prior generation as an R6 incremental SEED, so a cold open on an unchanged
58
- * repo is ≈ deserialize + one enumeration instead of a full walk.
59
- *
60
- * NEVER trusted over git: on restore the session reconstructs this as its window/tips/builders WITHOUT any
61
- * git, then IMMEDIATELY {@link GitGraphSession.refresh | refreshes} — the same enumeration + tip-diff + FF +
62
- * stash gates reconcile a stale snapshot (fast when unchanged, a full walk on any structural change), and any
63
- * parse/validation failure discards it entirely for a normal initial walk.
64
- *
65
- * Rows are persisted as-is: they're already the JSON-safe wire shapes (strings/numbers/plain objects — the
66
- * graph's Maps live at the graph level, not on rows, and the transient per-row `reachability` is stripped
67
- * before a row is emitted). Maps are persisted as entry arrays.
68
- */
69
- export interface GitGraphSessionSnapshot {
70
- /** Must equal {@link graphSessionSnapshotVersion}; any mismatch discards the snapshot. */
71
- readonly v: number;
72
- readonly repoPath: string;
73
- /** Walk shape the window was produced under (`${ordering}|${onlyFollowFirstParent}`). A restore is
74
- * discarded when this disagrees with the current config's shape — the cached rows can't be reused. */
75
- readonly buildShape: string;
76
- readonly ordering: 'date' | 'author-date' | 'topo';
77
- readonly onlyFollowFirstParent: boolean;
78
- /** The persisted window rows, in walk order — a TOP slice capped at a bounded row count (see the host
79
- * store); a longer window persists its top slice with {@link hasMore} forced true so the bottom re-pages. */
80
- readonly rows: GitGraphRow[];
81
- /** Ref tips as of the persisted walk: `[canonical refname, peeled tip sha]` entries — the map the restore
82
- * refresh diffs against current git to find the structural changes that force a full fallback. */
83
- readonly refTips: [string, string][];
84
- /** {@link GitGraph.decorationFingerprint} as of the persisted walk — the restore refresh diffs it against
85
- * current git so a metadata-only change while closed (upstream/default/worktree/remote/user) still forces
86
- * the full fallback that rebuilds row decorations. Absent ⇒ never matches ⇒ safe full fallback. */
87
- readonly decorationFingerprint?: string;
88
- /** Shared reachability table for the window (the primary reachability representation — rows carry only a
89
- * `contexts.reachabilityIndex` into its `sets`). The restore refresh CONTINUES it (stable indices). */
90
- readonly reachability?: GraphReachabilityTable;
91
- /** Per-sha immutable stats `[sha, stats]` entries for the persisted rows (present only when stats were
92
- * included in the walk). */
93
- readonly rowsStats?: [string, GitGraphRowStats][];
94
- /** Downstreams `[upstream name, tracking branch names]` entries (for the refresh's change diffing). */
95
- readonly downstreams: [string, string[]][];
96
- /** Whether the persisted window had more rows below it — genuinely paged OR truncated by the cap. */
97
- readonly hasMore: boolean;
98
- /** Whether the persisted walk included per-row stats. */
99
- readonly includesStats: boolean;
100
- /** Whether the repo was a shallow clone when the window was walked. The restore refresh diffs this
101
- * against current git — an un-shallow (or re-shallow) while closed forces a full fallback. */
102
- readonly shallow: boolean;
103
- }
104
- /** Why a restore discarded its snapshot (reported via {@link GraphSessionRestoreResult.reason}). */
105
- export type GraphSessionRestoreDiscardReason = 'schema' | 'repo-path' | 'shape' | 'empty' | 'tips' | 'rows' | 'reachability' | 'downstreams' | 'rowsStats' | 'corrupt';
106
- /**
107
- * Outcome of a restore attempt, reported via the {@link GitGraphSubProvider.openGraphSession} `onRestore`
108
- * callback so the host can emit its single, assertable INFO line. `restored` is true only when the snapshot
109
- * validated and seeded the (always-run) refresh — `refresh` then carries that refresh's path so the host can
110
- * distinguish `→ refresh fast (+M)` from `→ refresh full (<reason>)`.
111
- */
112
- export interface GraphSessionRestoreResult {
113
- readonly restored: boolean;
114
- /** Present when `!restored`: why the snapshot was discarded; the host logs `miss (<reason>)`. */
115
- readonly reason?: GraphSessionRestoreDiscardReason;
116
- /** Present when `restored`: how many window rows the snapshot carried. */
117
- readonly rows?: number;
118
- /** Present when `restored`: the post-restore refresh outcome (a restore ALWAYS refreshes to current truth). */
119
- readonly refresh?: GitGraphSessionRefreshResult;
120
- }
121
40
  export interface GitGraphSessionRefreshOptions {
122
41
  /** Rebuild anchor / find target — the loaded window's bottom sha (pins the walk's bottom boundary),
123
42
  * or a selection/centering hint. Mirrors the `rev` the host passed to `getGraph` today. */
@@ -1 +1 @@
1
- {"version":3,"file":"graphSession.d.ts","sourceRoot":"","sources":["../../../src/git/models/graphSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphSession.d.ts","sourceRoot":"","sources":["../../../src/git/models/graphSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAExF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,6BAA6B,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAEpH;;;OAGG;IACH,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtF,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC7C;gGAC4F;IAC5F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,2GAA2G;IAC3G,QAAQ,CAAC,MAAM,CAAC,EAAE,8BAA8B,CAAC;IACjD,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;CACjD;AAED,6HAA6H;AAC7H,MAAM,WAAW,8BAA8B;IAC9C;kGAC8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4GAA4G;IAC5G,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;8FAC0F;IAC1F,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,wGAAwG;IACxG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC9B"}
@@ -1,7 +1,2 @@
1
- /**
2
- * Schema version for {@link GitGraphSessionSnapshot}. Bump on ANY shape change (field add/remove/rename or a
3
- * semantics change): a restore whose snapshot version doesn't match this EXACTLY is discarded (a normal
4
- * initial walk), so an old-shaped cache written by a prior extension version can never be misread.
5
- */
6
- export const graphSessionSnapshotVersion = 3;
1
+ export {};
7
2
  //# sourceMappingURL=graphSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphSession.js","sourceRoot":"","sources":["../../../src/git/models/graphSession.ts"],"names":[],"mappings":"AA8DA;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"graphSession.js","sourceRoot":"","sources":["../../../src/git/models/graphSession.ts"],"names":[],"mappings":""}
@@ -5,7 +5,8 @@ import type { RepositoryIdentityDescriptor } from './repositoryIdentities.js';
5
5
  /** Selects which issue states a read should include. `all` covers open + closed. */
6
6
  export type IssueStateFilter = 'open' | 'closed' | 'all';
7
7
  export interface IssueShape extends IssueOrPullRequest {
8
- author: IssueMember;
8
+ /** `undefined` when the provider can't resolve the author, e.g. a deleted GitHub account */
9
+ author: IssueMember | undefined;
9
10
  assignees: IssueMember[];
10
11
  repository?: IssueRepository;
11
12
  labels?: IssueLabel[];
@@ -23,7 +24,7 @@ export declare class Issue implements IssueShape {
23
24
  readonly updatedDate: Date;
24
25
  readonly closed: boolean;
25
26
  readonly state: IssueOrPullRequestState;
26
- readonly author: IssueMember;
27
+ readonly author: IssueMember | undefined;
27
28
  readonly assignees: IssueMember[];
28
29
  readonly repository?: IssueRepository | undefined;
29
30
  readonly closedDate?: Date | undefined;
@@ -35,7 +36,7 @@ export declare class Issue implements IssueShape {
35
36
  readonly number?: string | undefined;
36
37
  readonly issueType?: string | undefined;
37
38
  readonly type = "issue";
38
- constructor(provider: ProviderReference, id: string, nodeId: string | undefined, title: string, url: string, createdDate: Date, updatedDate: Date, closed: boolean, state: IssueOrPullRequestState, author: IssueMember, assignees: IssueMember[], repository?: IssueRepository | undefined, closedDate?: Date | undefined, labels?: IssueLabel[] | undefined, commentsCount?: number | undefined, thumbsUpCount?: number | undefined, body?: string | undefined, project?: IssueProject | undefined, number?: string | undefined, issueType?: string | undefined);
39
+ constructor(provider: ProviderReference, id: string, nodeId: string | undefined, title: string, url: string, createdDate: Date, updatedDate: Date, closed: boolean, state: IssueOrPullRequestState, author: IssueMember | undefined, assignees: IssueMember[], repository?: IssueRepository | undefined, closedDate?: Date | undefined, labels?: IssueLabel[] | undefined, commentsCount?: number | undefined, thumbsUpCount?: number | undefined, body?: string | undefined, project?: IssueProject | undefined, number?: string | undefined, issueType?: string | undefined);
39
40
  static is(issue: unknown): issue is Issue;
40
41
  }
41
42
  export declare const enum RepositoryAccessLevel {
@@ -1 +1 @@
1
- {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../src/git/models/issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../src/git/models/issue.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/git/models/issue.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAoBrD,IAAM,KAAK,aAAX,MAAM,KAAK;IAIA,QAAQ;IACR,EAAE;IACF,MAAM;IACN,KAAK;IACL,GAAG;IACH,WAAW;IACX,WAAW;IACX,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,MAAM;IACN,aAAa;IACb,aAAa;IACb,IAAI;IACJ,OAAO;IACP,MAAM;IACN,SAAS;IAtBjB,IAAI,GAAG,OAAO,CAAC;IAExB,YACiB,QAA2B,EAC3B,EAAU,EACV,MAA0B,EAC1B,KAAa,EACb,GAAW,EACX,WAAiB,EACjB,WAAiB,EACjB,MAAe,EACf,KAA8B,EAC9B,MAAmB,EACnB,SAAwB,EACxB,UAA4B,EAC5B,UAAiB,EACjB,MAAqB,EACrB,aAAsB,EACtB,aAAsB,EACtB,IAAa,EACb,OAAsB,EACtB,MAAe,EACf,SAAkB;wBAnBlB,QAAQ;kBACR,EAAE;sBACF,MAAM;qBACN,KAAK;mBACL,GAAG;2BACH,WAAW;2BACX,WAAW;sBACX,MAAM;qBACN,KAAK;sBACL,MAAM;yBACN,SAAS;0BACT,UAAU;0BACV,UAAU;sBACV,MAAM;6BACN,aAAa;6BACb,aAAa;oBACb,IAAI;uBACJ,OAAO;sBACP,MAAM;yBACN,SAAS;IACvB,CAAC;IAEG,AAAP,MAAM,CAAC,EAAE,CAAC,KAAc;QACvB,OAAO,KAAK,mBAAiB,CAAC;IAC/B,CAAC;CACD,CAAA;AA7BY,KAAK;IADjB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;GACP,KAAK,CA6BjB;;AAED,MAAM,CAAN,IAAkB,qBAOjB;AAPD,WAAkB,qBAAqB;IACtC,qEAAW,CAAA;IACX,0EAAa,CAAA;IACb,oEAAU,CAAA;IACV,sEAAW,CAAA;IACX,kEAAS,CAAA;IACT,iEAAQ,CAAA;AACT,CAAC,EAPiB,qBAAqB,KAArB,qBAAqB,QAOtC"}
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/git/models/issue.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAqBrD,IAAM,KAAK,aAAX,MAAM,KAAK;IAIA,QAAQ;IACR,EAAE;IACF,MAAM;IACN,KAAK;IACL,GAAG;IACH,WAAW;IACX,WAAW;IACX,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,MAAM;IACN,aAAa;IACb,aAAa;IACb,IAAI;IACJ,OAAO;IACP,MAAM;IACN,SAAS;IAtBjB,IAAI,GAAG,OAAO,CAAC;IAExB,YACiB,QAA2B,EAC3B,EAAU,EACV,MAA0B,EAC1B,KAAa,EACb,GAAW,EACX,WAAiB,EACjB,WAAiB,EACjB,MAAe,EACf,KAA8B,EAC9B,MAA+B,EAC/B,SAAwB,EACxB,UAA4B,EAC5B,UAAiB,EACjB,MAAqB,EACrB,aAAsB,EACtB,aAAsB,EACtB,IAAa,EACb,OAAsB,EACtB,MAAe,EACf,SAAkB;wBAnBlB,QAAQ;kBACR,EAAE;sBACF,MAAM;qBACN,KAAK;mBACL,GAAG;2BACH,WAAW;2BACX,WAAW;sBACX,MAAM;qBACN,KAAK;sBACL,MAAM;yBACN,SAAS;0BACT,UAAU;0BACV,UAAU;sBACV,MAAM;6BACN,aAAa;6BACb,aAAa;oBACb,IAAI;uBACJ,OAAO;sBACP,MAAM;yBACN,SAAS;IACvB,CAAC;IAEG,AAAP,MAAM,CAAC,EAAE,CAAC,KAAc;QACvB,OAAO,KAAK,mBAAiB,CAAC;IAC/B,CAAC;CACD,CAAA;AA7BY,KAAK;IADjB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;GACP,KAAK,CA6BjB;;AAED,MAAM,CAAN,IAAkB,qBAOjB;AAPD,WAAkB,qBAAqB;IACtC,qEAAW,CAAA;IACX,0EAAa,CAAA;IACb,oEAAU,CAAA;IACV,sEAAW,CAAA;IACX,kEAAS,CAAA;IACT,iEAAQ,CAAA;AACT,CAAC,EAPiB,qBAAqB,KAArB,qBAAqB,QAOtC"}
@@ -1,6 +1,6 @@
1
1
  import type { GitGraph, GitGraphRowsStats, GraphIncrementalSeed, GraphReachabilityTable, GraphRowProcessor, IncrementalGraphOutcome } from '../models/graph.js';
2
2
  import type { GitGraphSearch, GitGraphSearchCursor, GitGraphSearchProgress, GitGraphSearchResults } from '../models/graphSearch.js';
3
- import type { GitGraphSession, GitGraphSessionSnapshot, GraphSessionRestoreResult } from '../models/graphSession.js';
3
+ import type { GitGraphSession } from '../models/graphSession.js';
4
4
  import type { SearchQuery } from '../models/search.js';
5
5
  export interface GitGraphSubProvider {
6
6
  /**
@@ -17,20 +17,6 @@ export interface GitGraphSubProvider {
17
17
  include?: {
18
18
  stats?: boolean;
19
19
  };
20
- /**
21
- * Restart-persistence snapshot to seed the session from (see {@link GitGraphSessionSnapshot}). When
22
- * present and structurally valid, the session reconstructs it as its prior generation WITHOUT any git,
23
- * then immediately refreshes to current truth — so a cold open on an unchanged repo is ≈ deserialize +
24
- * one enumeration. Any validation/parse failure is ignored (a normal initial walk). Never trusted over
25
- * git. Providers without an incremental restore path (e.g. GitHub) ignore it.
26
- */
27
- restore?: GitGraphSessionSnapshot;
28
- /**
29
- * Reports the restore outcome (validated + refreshed, or discarded with a reason) so the host can log
30
- * a single assertable line. Called at most once, only when `restore` was provided. See
31
- * {@link GraphSessionRestoreResult}.
32
- */
33
- onRestore?: (result: GraphSessionRestoreResult) => void;
34
20
  }, cancellation?: AbortSignal): Promise<GitGraphSession>;
35
21
  getGraph(repoPath: string, rev: string | undefined, options?: {
36
22
  include?: {
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/git/providers/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,QAAQ,EACR,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACX,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IACnC;;;;;;OAMG;IACH,gBAAgB,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC9B;;;;;;WAMG;QACH,OAAO,CAAC,EAAE,uBAAuB,CAAC;QAClC;;;;WAIG;QACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,IAAI,CAAC;KACxD,EACD,YAAY,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,QAAQ,CACP,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,CAAC,EAAE;QACT,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC;;;;WAIG;QACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;QAC1C;;;WAGG;QACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;QAClC;;;;;WAKG;QACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;QACvC;;;;WAIG;QACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACjE,EACD,YAAY,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,WAAW,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAA;KAAE,EACxE,YAAY,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,sBAAsB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,mBAAmB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,oBAAoB,EAC5B,eAAe,EAAE,qBAAqB,EACtC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5B,YAAY,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,sBAAsB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/git/providers/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,QAAQ,EACR,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACX,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IACnC;;;;;;OAMG;IACH,gBAAgB,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAC9B,EACD,YAAY,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,QAAQ,CACP,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,CAAC,EAAE;QACT,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC;;;;WAIG;QACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;QAC1C;;;WAGG;QACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;QAClC;;;;;WAKG;QACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;QACvC;;;;WAIG;QACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACjE,EACD,YAAY,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,WAAW,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAA;KAAE,EACxE,YAAY,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,sBAAsB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,mBAAmB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,oBAAoB,EAC5B,eAAe,EAAE,qBAAqB,EACtC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5B,YAAY,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,sBAAsB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;CAChE"}
@@ -8,6 +8,8 @@ export interface GitPausedOperationsSubProvider {
8
8
  }): Promise<void>;
9
9
  continuePausedOperation(repoPath: string, options?: {
10
10
  skip?: boolean;
11
+ /** Editor command used if the operation needs to edit a commit message (e.g. `true` to keep the original message without opening an editor) */
12
+ messageEditor?: string;
11
13
  }): Promise<void>;
12
14
  }
13
15
  //# sourceMappingURL=pausedOperations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pausedOperations.d.ts","sourceRoot":"","sources":["../../../src/git/providers/pausedOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAEnF,MAAM,WAAW,8BAA8B;IAC9C,wBAAwB,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAC7B,YAAY,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAC;IACjD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvF"}
1
+ {"version":3,"file":"pausedOperations.d.ts","sourceRoot":"","sources":["../../../src/git/providers/pausedOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAEnF,MAAM,WAAW,8BAA8B;IAC9C,wBAAwB,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAC7B,YAAY,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAC;IACjD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,uBAAuB,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,+IAA+I;QAC/I,aAAa,CAAC,EAAE,MAAM,CAAC;KACvB,GACC,OAAO,CAAC,IAAI,CAAC,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"issue.utils.d.ts","sourceRoot":"","sources":["../../../src/git/utils/issue.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE/F,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,GAAG,iCAAiC,CAiB1G;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CA4D5D"}
1
+ {"version":3,"file":"issue.utils.d.ts","sourceRoot":"","sources":["../../../src/git/utils/issue.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE/F,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,GAAG,iCAAiC,CAiB1G;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CA+D5D"}
@@ -35,12 +35,14 @@ export function serializeIssue(value) {
35
35
  closedDate: value.closedDate,
36
36
  closed: value.closed,
37
37
  state: value.state,
38
- author: {
39
- id: value.author.id,
40
- name: value.author.name,
41
- avatarUrl: value.author.avatarUrl,
42
- url: value.author.url,
43
- },
38
+ author: value.author == null
39
+ ? undefined
40
+ : {
41
+ id: value.author.id,
42
+ name: value.author.name,
43
+ avatarUrl: value.author.avatarUrl,
44
+ url: value.author.url,
45
+ },
44
46
  repository: value.repository == null
45
47
  ? undefined
46
48
  : {
@@ -1 +1 @@
1
- {"version":3,"file":"issue.utils.js","sourceRoot":"","sources":["../../../src/git/utils/issue.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue.utils.js","sourceRoot":"","sources":["../../../src/git/utils/issue.utils.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ type ReachableRef = GitCommitReachability['refs'][number];
7
7
  * set and the walk's HEAD-derived sets. Single-sourced so the host row processor
8
8
  * (`GlGraphRowProcessor`), the R6b incremental fast path, and the equivalence harness all compute
9
9
  * byte-identical flags (no manual mirrors that can drift). Stash rows carry no flags — callers skip this
10
- * for `stash-node` rows. See {@link GitGraphRowContextFlags} for the per-bit semantics.
10
+ * for `stash` rows. See {@link GitGraphRowContextFlags} for the per-bit semantics.
11
11
  */
12
12
  export declare function computeGraphRowContextFlags(sha: string, reachableRefs: Iterable<ReachableRef> | undefined, ctx: Pick<GraphContext, 'reachableFromHEAD' | 'rewriteableFromHEAD' | 'tipShasWithChildren' | 'reachableFromHeadUpstream'>): GitGraphRowContextFlags;
13
13
  /**
@@ -5,7 +5,7 @@ import { GitGraphRowContextFlags } from '../models/graph.js';
5
5
  * set and the walk's HEAD-derived sets. Single-sourced so the host row processor
6
6
  * (`GlGraphRowProcessor`), the R6b incremental fast path, and the equivalence harness all compute
7
7
  * byte-identical flags (no manual mirrors that can drift). Stash rows carry no flags — callers skip this
8
- * for `stash-node` rows. See {@link GitGraphRowContextFlags} for the per-bit semantics.
8
+ * for `stash` rows. See {@link GitGraphRowContextFlags} for the per-bit semantics.
9
9
  */
10
10
  export function computeGraphRowContextFlags(sha, reachableRefs, ctx) {
11
11
  // Allocation-free "exactly one local branch reachable" check → `+unique`.