@package-broker/ui 2.0.0-rc.3 → 2.0.0-rc.5

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 (181) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/api-types.d.ts +9218 -3014
  3. package/dist/api-types.d.ts.map +1 -1
  4. package/dist/api.d.ts +1 -1
  5. package/dist/api.d.ts.map +1 -1
  6. package/dist/api.js +10 -0
  7. package/dist/api.js.map +1 -1
  8. package/dist/app-path.d.ts +2 -0
  9. package/dist/app-path.d.ts.map +1 -0
  10. package/dist/app-path.js +2 -0
  11. package/dist/app-path.js.map +1 -0
  12. package/dist/app.d.ts +2 -0
  13. package/dist/app.d.ts.map +1 -1
  14. package/dist/app.js +16 -3
  15. package/dist/app.js.map +1 -1
  16. package/dist/assets/access.def9a17dc4a8.js +1 -0
  17. package/dist/assets/app.ec678c27ec0a.css +2 -0
  18. package/dist/assets/{app.e8434f3343de.js → app.fba0d059b40b.js} +5 -5
  19. package/dist/assets/audit.453367b59daf.js +1 -0
  20. package/dist/assets/chunk.2c3648a5bad1.js +1 -0
  21. package/dist/assets/{chunk.bf48b04e6a00.js → chunk.304a2b5d1663.js} +1 -1
  22. package/dist/assets/{chunk.f922af39a279.js → chunk.3f077ff17cea.js} +1 -1
  23. package/dist/assets/chunk.4721d4544d48.js +1 -0
  24. package/dist/assets/{chunk.bb25fc845269.js → chunk.4acf8fa7653f.js} +1 -1
  25. package/dist/assets/{chunk.3704953b4a66.js → chunk.53134c7df4e5.js} +1 -1
  26. package/dist/assets/{chunk.862544cf5835.js → chunk.56e058d97e0f.js} +1 -1
  27. package/dist/assets/chunk.675b635d9462.js +1 -0
  28. package/dist/assets/chunk.75e1357175af.js +1 -0
  29. package/dist/assets/chunk.815f9a91c741.js +1 -0
  30. package/dist/assets/chunk.837eb41f53ef.js +1 -0
  31. package/dist/assets/{chunk.7cb6f6b4daaa.js → chunk.ab1a14143dc6.js} +1 -1
  32. package/dist/assets/{chunk.ce96495b8b55.js → chunk.dc41ee9219cf.js} +1 -1
  33. package/dist/assets/chunk.e3b0c44298fc.js +0 -0
  34. package/dist/assets/chunk.f0fd799728ef.js +1 -0
  35. package/dist/assets/chunk.fac952720b72.js +4 -0
  36. package/dist/assets/import.4275bbce08ac.js +1 -0
  37. package/dist/assets/index.html +9 -6
  38. package/dist/assets/manifest.json +66 -38
  39. package/dist/assets/notifications.bd7d4c3f9882.js +1 -0
  40. package/dist/assets/npm-login.d8b60e11fe87.js +1 -0
  41. package/dist/assets/packages.bdd474bcfc11.js +2 -0
  42. package/dist/assets/projects.44006a838c67.js +1 -0
  43. package/dist/assets/setup.7bc86366227c.js +1 -0
  44. package/dist/assets/setup.html +2 -2
  45. package/dist/assets/sources.d95aabfbec73.js +1 -0
  46. package/dist/assets/tokens.4ee13a722abb.js +4 -0
  47. package/dist/auth.d.ts +23 -3
  48. package/dist/auth.d.ts.map +1 -1
  49. package/dist/auth.js +142 -21
  50. package/dist/auth.js.map +1 -1
  51. package/dist/components/ui/status-badge.d.ts +5 -0
  52. package/dist/components/ui/status-badge.d.ts.map +1 -1
  53. package/dist/components/ui/status-badge.js +10 -0
  54. package/dist/components/ui/status-badge.js.map +1 -1
  55. package/dist/package-limits.d.ts +3 -0
  56. package/dist/package-limits.d.ts.map +1 -0
  57. package/dist/package-limits.js +3 -0
  58. package/dist/package-limits.js.map +1 -0
  59. package/dist/page-hash.d.ts +1 -1
  60. package/dist/page-hash.d.ts.map +1 -1
  61. package/dist/page-hash.js.map +1 -1
  62. package/dist/pages/access/grant-form.d.ts.map +1 -1
  63. package/dist/pages/access/grant-form.js +1 -1
  64. package/dist/pages/access/grant-form.js.map +1 -1
  65. package/dist/pages/audit.d.ts.map +1 -1
  66. package/dist/pages/notification-actions.d.ts +41 -0
  67. package/dist/pages/notification-actions.d.ts.map +1 -0
  68. package/dist/pages/notification-actions.js +187 -0
  69. package/dist/pages/notification-actions.js.map +1 -0
  70. package/dist/pages/notification-draft.d.ts +13 -0
  71. package/dist/pages/notification-draft.d.ts.map +1 -0
  72. package/dist/pages/notification-draft.js +75 -0
  73. package/dist/pages/notification-draft.js.map +1 -0
  74. package/dist/pages/notification-form.d.ts +35 -0
  75. package/dist/pages/notification-form.d.ts.map +1 -0
  76. package/dist/pages/notification-form.js +167 -0
  77. package/dist/pages/notification-form.js.map +1 -0
  78. package/dist/pages/notifications-controller.d.ts +41 -0
  79. package/dist/pages/notifications-controller.d.ts.map +1 -0
  80. package/dist/pages/notifications-controller.js +184 -0
  81. package/dist/pages/notifications-controller.js.map +1 -0
  82. package/dist/pages/notifications.d.ts +10 -0
  83. package/dist/pages/notifications.d.ts.map +1 -0
  84. package/dist/pages/notifications.js +301 -0
  85. package/dist/pages/notifications.js.map +1 -0
  86. package/dist/pages/npm-login.d.ts +2 -0
  87. package/dist/pages/npm-login.d.ts.map +1 -0
  88. package/dist/pages/npm-login.js +62 -0
  89. package/dist/pages/npm-login.js.map +1 -0
  90. package/dist/pages/packages/discovery-labels.d.ts +8 -0
  91. package/dist/pages/packages/discovery-labels.d.ts.map +1 -0
  92. package/dist/pages/packages/discovery-labels.js +25 -0
  93. package/dist/pages/packages/discovery-labels.js.map +1 -0
  94. package/dist/pages/packages/discovery-picker-view.d.ts +8 -0
  95. package/dist/pages/packages/discovery-picker-view.d.ts.map +1 -0
  96. package/dist/pages/packages/discovery-picker-view.js +109 -0
  97. package/dist/pages/packages/discovery-picker-view.js.map +1 -0
  98. package/dist/pages/packages/discovery-picker.d.ts +67 -0
  99. package/dist/pages/packages/discovery-picker.d.ts.map +1 -0
  100. package/dist/pages/packages/discovery-picker.js +238 -0
  101. package/dist/pages/packages/discovery-picker.js.map +1 -0
  102. package/dist/pages/packages/npm-workflow.d.ts +31 -0
  103. package/dist/pages/packages/npm-workflow.d.ts.map +1 -0
  104. package/dist/pages/packages/npm-workflow.js +381 -0
  105. package/dist/pages/packages/npm-workflow.js.map +1 -0
  106. package/dist/pages/packages/package-detail.d.ts +9 -0
  107. package/dist/pages/packages/package-detail.d.ts.map +1 -0
  108. package/dist/pages/packages/package-detail.js +242 -0
  109. package/dist/pages/packages/package-detail.js.map +1 -0
  110. package/dist/pages/packages/source-actions.d.ts +5 -2
  111. package/dist/pages/packages/source-actions.d.ts.map +1 -1
  112. package/dist/pages/packages/source-actions.js +27 -10
  113. package/dist/pages/packages/source-actions.js.map +1 -1
  114. package/dist/pages/packages.d.ts +15 -4
  115. package/dist/pages/packages.d.ts.map +1 -1
  116. package/dist/pages/packages.js +136 -19
  117. package/dist/pages/packages.js.map +1 -1
  118. package/dist/pages/projects/project-form.js +1 -1
  119. package/dist/pages/projects/project-form.js.map +1 -1
  120. package/dist/pages/projects.d.ts.map +1 -1
  121. package/dist/pages/projects.js +1 -1
  122. package/dist/pages/projects.js.map +1 -1
  123. package/dist/pages/sources/discovery-rule-prefill.d.ts +13 -0
  124. package/dist/pages/sources/discovery-rule-prefill.d.ts.map +1 -0
  125. package/dist/pages/sources/discovery-rule-prefill.js +9 -0
  126. package/dist/pages/sources/discovery-rule-prefill.js.map +1 -0
  127. package/dist/pages/sources/discovery-rules-view.d.ts +9 -0
  128. package/dist/pages/sources/discovery-rules-view.d.ts.map +1 -0
  129. package/dist/pages/sources/discovery-rules-view.js +144 -0
  130. package/dist/pages/sources/discovery-rules-view.js.map +1 -0
  131. package/dist/pages/sources/discovery-rules.d.ts +57 -0
  132. package/dist/pages/sources/discovery-rules.d.ts.map +1 -0
  133. package/dist/pages/sources/discovery-rules.js +383 -0
  134. package/dist/pages/sources/discovery-rules.js.map +1 -0
  135. package/dist/pages/sources/source-form.d.ts +3 -2
  136. package/dist/pages/sources/source-form.d.ts.map +1 -1
  137. package/dist/pages/sources/source-form.js +22 -12
  138. package/dist/pages/sources/source-form.js.map +1 -1
  139. package/dist/pages/sources.d.ts +9 -3
  140. package/dist/pages/sources.d.ts.map +1 -1
  141. package/dist/pages/sources.js +59 -12
  142. package/dist/pages/sources.js.map +1 -1
  143. package/dist/pages/tokens/issue-token-form.js +1 -1
  144. package/dist/pages/tokens/issue-token-form.js.map +1 -1
  145. package/dist/pages/tokens/principal-form.d.ts.map +1 -1
  146. package/dist/pages/tokens/principal-form.js +4 -0
  147. package/dist/pages/tokens/principal-form.js.map +1 -1
  148. package/dist/pages/tokens/trusted-publishers-controller.d.ts +42 -0
  149. package/dist/pages/tokens/trusted-publishers-controller.d.ts.map +1 -0
  150. package/dist/pages/tokens/trusted-publishers-controller.js +202 -0
  151. package/dist/pages/tokens/trusted-publishers-controller.js.map +1 -0
  152. package/dist/pages/tokens/trusted-publishers.d.ts +6 -0
  153. package/dist/pages/tokens/trusted-publishers.d.ts.map +1 -0
  154. package/dist/pages/tokens/trusted-publishers.js +116 -0
  155. package/dist/pages/tokens/trusted-publishers.js.map +1 -0
  156. package/dist/pages/tokens.d.ts +53 -0
  157. package/dist/pages/tokens.d.ts.map +1 -1
  158. package/dist/pages/tokens.js +9 -2
  159. package/dist/pages/tokens.js.map +1 -1
  160. package/dist/pending.d.ts +6 -1
  161. package/dist/pending.d.ts.map +1 -1
  162. package/dist/pending.js +1 -1
  163. package/dist/pending.js.map +1 -1
  164. package/dist/setup.d.ts +3 -2
  165. package/dist/setup.d.ts.map +1 -1
  166. package/dist/setup.js +66 -9
  167. package/dist/setup.js.map +1 -1
  168. package/package.json +3 -3
  169. package/dist/assets/access.6859f43998ca.js +0 -1
  170. package/dist/assets/app.f15f8f21f88b.css +0 -2
  171. package/dist/assets/audit.576009342714.js +0 -1
  172. package/dist/assets/chunk.297a2d571f9c.js +0 -4
  173. package/dist/assets/chunk.6e23a75a1324.js +0 -1
  174. package/dist/assets/chunk.855a50f45830.js +0 -1
  175. package/dist/assets/chunk.976a2ff4338e.js +0 -1
  176. package/dist/assets/import.e2a1e35fcb8d.js +0 -1
  177. package/dist/assets/packages.a8726e5144de.js +0 -1
  178. package/dist/assets/projects.711deb86b7c9.js +0 -1
  179. package/dist/assets/setup.dfed30ecfbad.js +0 -1
  180. package/dist/assets/sources.d0ba0048bd96.js +0 -1
  181. package/dist/assets/tokens.f48d235e8d25.js +0 -4
@@ -0,0 +1,109 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef, useSyncExternalStore } from 'react';
3
+ import { Button } from '../../components/ui/button.js';
4
+ import { Input } from '../../components/ui/input.js';
5
+ import { Label } from '../../components/ui/label.js';
6
+ import { Select } from '../../components/ui/select.js';
7
+ import { connectionLabel, PATTERN_HELP } from './discovery-labels.js';
8
+ import { prefillDiscoveryRule } from '../sources/discovery-rule-prefill.js';
9
+ import { createDiscoveryPicker, discoveryReason } from './discovery-picker.js';
10
+ export function DiscoveryPicker({ services, ecosystem, onBack, onImportingChange, }) {
11
+ const model = useMemo(() => createDiscoveryPicker(services, ecosystem), [services, ecosystem]);
12
+ const state = useSyncExternalStore(model.subscribe, model.snapshot, model.snapshot);
13
+ useEffect(() => {
14
+ void model.load();
15
+ return () => model.cancel();
16
+ }, [model]);
17
+ // Reported from the store, not from a render effect: the dialog's Escape guard must see the
18
+ // import start in the same render as the click, or an early Escape closes the dialog mid-import.
19
+ useEffect(() => {
20
+ let importing = model.snapshot().importing;
21
+ onImportingChange(importing);
22
+ const unsubscribe = model.subscribe(() => {
23
+ if (model.snapshot().importing === importing)
24
+ return;
25
+ importing = model.snapshot().importing;
26
+ onImportingChange(importing);
27
+ });
28
+ return () => {
29
+ unsubscribe();
30
+ onImportingChange(false);
31
+ };
32
+ }, [model, onImportingChange]);
33
+ const connectionControl = useRef(null);
34
+ const initiallyFocused = useRef(false);
35
+ const patternControl = useRef(null);
36
+ const selectAll = useRef(null);
37
+ const previewHeading = useRef(null);
38
+ useEffect(() => {
39
+ if (state.reviewed)
40
+ previewHeading.current?.focus();
41
+ }, [state.reviewed, state.entries]);
42
+ useEffect(() => {
43
+ if (!state.loading && state.connections.length && !initiallyFocused.current) {
44
+ initiallyFocused.current = true;
45
+ connectionControl.current?.focus();
46
+ }
47
+ }, [state.loading, state.connections.length]);
48
+ useEffect(() => {
49
+ if (state.patternError)
50
+ patternControl.current?.focus();
51
+ }, [state.patternError]);
52
+ const eligible = state.entries.filter((e) => e.action === 'new' && model.eligible(e.repository));
53
+ useEffect(() => {
54
+ if (selectAll.current)
55
+ selectAll.current.indeterminate =
56
+ state.selected.length > 0 && state.selected.length < eligible.length;
57
+ }, [state.selected, eligible.length]);
58
+ const failed = state.results.some((r) => r.outcome === 'failed' && !state.pending.includes(r.repository));
59
+ return (_jsxs("section", { "aria-label": "GitHub organization repositories", className: "space-y-4", children: [_jsxs("div", { className: "flex flex-wrap gap-3", children: [_jsx(Button, { variant: "outline", disabled: state.busy, onClick: onBack, children: "Back" }), _jsx(Button, { variant: "outline", disabled: state.busy, onClick: () => model.startOver(), children: "Start over" })] }), state.importing ? (_jsx("p", { children: "Import in progress. Wait for this batch to finish before closing or going back." })) : null, _jsxs("p", { children: ["Import ", ecosystem === 'npm' ? 'npm' : 'Composer', " repositories as shared organization sources. Projects can attach these sources to use their packages."] }), state.loading ? _jsx("p", { role: "status", children: "Loading GitHub connections\u2026" }) : null, state.error ? _jsx("p", { role: "alert", children: state.error }) : null, !state.loading && !state.connections.length ? (_jsx(_Fragment, { children: state.error ? (_jsx(Button, { onClick: () => void model.load(), children: "Try again" })) : (_jsxs(_Fragment, { children: [_jsx("p", { children: "No GitHub App connections yet. Add one organization GitHub source with GitHub App authentication first, then return here to choose repositories." }), _jsx("a", { className: "inline-flex min-h-11 items-center underline", href: "#/sources?create=vcs&provider=github", children: "Add a GitHub source" })] })) })) : null, state.connections.length ? (_jsxs(_Fragment, { children: [_jsxs("form", { className: "grid max-w-5xl items-start gap-x-6 gap-y-4 lg:grid-cols-2", onSubmit: (e) => {
60
+ e.preventDefault();
61
+ void model.preview().then(() => {
62
+ if (model.snapshot().patternError)
63
+ patternControl.current?.focus();
64
+ });
65
+ }, "aria-busy": state.busy, noValidate: true, children: [_jsxs("div", { className: "min-w-0", children: [_jsx(Label, { htmlFor: "discovery-connection", children: "GitHub connection" }), _jsx(Select, { id: "discovery-connection", ref: connectionControl, className: "min-h-11 min-w-0 max-w-full", value: state.connection, disabled: state.busy, onChange: (e) => model.configure({ connection: e.target.value }), children: state.connections.map((c, i) => (_jsx("option", { value: String(i), children: connectionLabel(c) }, `${c.credentialId}:${c.installationId}`))) })] }), _jsxs("div", { className: "min-w-0", children: [_jsx(Label, { htmlFor: "discovery-pattern", children: "Repository name pattern (optional)" }), _jsx(Input, { id: "discovery-pattern", ref: patternControl, className: "min-h-11", value: state.pattern, maxLength: 100, pattern: "[A-Za-z0-9._*?\\-]{1,100}", "aria-invalid": !!state.patternError, "aria-describedby": `discovery-pattern-help${state.patternError ? ' discovery-pattern-error' : ''}`, disabled: state.busy, onChange: (e) => model.configure({ pattern: e.target.value }) }), state.patternError ? (_jsx("p", { id: "discovery-pattern-error", role: "alert", children: state.patternError })) : null, _jsx("p", { id: "discovery-pattern-help", children: PATTERN_HELP })] }), _jsxs("label", { className: "flex min-h-11 items-center gap-2", children: [_jsx("input", { type: "checkbox", checked: state.includeForks, disabled: state.busy, onChange: (e) => model.configure({ includeForks: e.target.checked }) }), "Include forks"] }), _jsx("div", { className: "lg:col-span-2", children: _jsx(Button, { className: "min-h-11 w-full sm:w-auto", disabled: state.busy, type: "submit", children: state.busy && !state.importing
66
+ ? 'Previewing repositories…'
67
+ : 'Preview repositories' }) })] }), _jsx("a", { className: "inline-flex min-h-11 items-center underline", href: "#/sources?discovery=new", "aria-disabled": state.busy || !state.connections[Number(state.connection)], "aria-describedby": "rule-prefill-help", onClick: (event) => {
68
+ const chosen = state.connections[Number(state.connection)];
69
+ if (state.busy || !chosen) {
70
+ event.preventDefault();
71
+ return;
72
+ }
73
+ prefillDiscoveryRule(services, {
74
+ credentialId: chosen.credentialId,
75
+ installationId: chosen.installationId,
76
+ ecosystem,
77
+ pattern: state.pattern || '*',
78
+ includeForks: state.includeForks,
79
+ });
80
+ }, children: "Keep this selection up to date" }), _jsxs("p", { id: "rule-prefill-help", children: [state.connections[Number(state.connection)] === undefined
81
+ ? 'Choose a connection to keep this selection up to date. '
82
+ : '', "A rule scans all repositories matching these settings, including future matches. Individual checkboxes do not limit the rule."] }), state.reviewed ? (_jsxs("div", { className: "space-y-4", children: [_jsx("h3", { ref: previewHeading, tabIndex: -1, className: "font-semibold", children: "Repository preview" }), _jsx("p", { children: "Select up to 20 repositories per import. Load more replaces the current preview page." }), state.selected.length === 20 ? (_jsx("p", { role: "status", "aria-live": "polite", children: "20 repository limit reached. Import these repositories before selecting more." })) : null, ['new', 'existing', 'skipped'].map((action) => {
83
+ const entries = state.entries.filter((e) => (e.action === 'new' && !model.eligible(e.repository)
84
+ ? 'existing'
85
+ : e.action) === action);
86
+ return (_jsxs("section", { "aria-label": action === 'new'
87
+ ? 'Will be added'
88
+ : action === 'existing'
89
+ ? 'Already added'
90
+ : 'Skipped', children: [_jsxs("h3", { className: "font-semibold", children: [action === 'new'
91
+ ? 'Will be added'
92
+ : action === 'existing'
93
+ ? 'Already added'
94
+ : 'Skipped', ' ', "(", entries.length, ")"] }), action === 'new' && eligible.length ? (_jsxs("label", { className: "flex min-h-11 items-center gap-2", children: [_jsx("input", { type: "checkbox", disabled: state.busy, ref: selectAll, checked: state.selected.length === Math.min(eligible.length, 20), onChange: (e) => model.selectPage(e.target.checked) }), "Select all on page (up to 20)"] })) : null, _jsx("ul", { className: "space-y-2", children: entries.map((entry) => (_jsxs("li", { className: "break-words rounded border p-3", children: [action === 'new' ? (_jsxs("label", { className: "flex min-h-11 items-center gap-2", children: [_jsx("input", { type: "checkbox", checked: state.selected.includes(entry.repository), disabled: state.busy ||
95
+ (state.selected.length >= 20 &&
96
+ !state.selected.includes(entry.repository)), onChange: (e) => model.toggle(entry.repository, e.target.checked) }), entry.repository] })) : (_jsx("p", { children: entry.repository })), entry.packageName ? _jsx("p", { children: entry.packageName }) : null, action === 'existing' ? (_jsx("p", { children: "This repository already has an organization source. No new source will be created." })) : null, action === 'skipped' ? _jsx("p", { children: discoveryReason(entry.reason) }) : null] }, `${entry.repository}:${entry.ecosystem}`))) })] }, action));
97
+ }), !state.entries.length ? (_jsx("p", { children: "No repositories match this preview. Change the pattern or connection and try again." })) : null, _jsxs("div", { className: "flex flex-wrap gap-3", children: [_jsxs(Button, { className: "min-h-11 w-full sm:w-auto", disabled: state.busy || !!state.pending.length || !state.selected.length, onClick: () => void model.importSelected(), children: ["Import selected (", state.selected.length, ")"] }), state.nextCursor ? (_jsx(Button, { variant: "outline", className: "min-h-11 w-full sm:w-auto", disabled: state.busy, onClick: () => void model.preview(true), children: "Load more" })) : null] })] })) : null, state.total > 0 ? (_jsxs("p", { role: "status", "aria-live": "polite", children: [state.importing
98
+ ? 'Importing'
99
+ : state.pending.length
100
+ ? 'Import paused'
101
+ : 'Import finished', ": ", state.progress, " of ", state.total, " repositories processed."] })) : null, state.pending.length ? (_jsx(Button, { disabled: state.busy, onClick: () => void model.continueImport(), children: "Continue import" })) : null, state.results.length ? (_jsxs("section", { "aria-label": "Import results", className: "space-y-3", children: [_jsx("h3", { className: "font-semibold", children: "Import results" }), _jsx("ul", { className: "space-y-2", children: state.results.map((r) => (_jsxs("li", { className: "break-words rounded border p-3", children: [_jsxs("p", { children: [r.repository, " \u00B7", ' ', r.outcome === 'created'
102
+ ? 'Created'
103
+ : r.outcome === 'existing'
104
+ ? 'Already added'
105
+ : r.outcome === 'skipped'
106
+ ? 'Refused'
107
+ : 'Failed'] }), r.outcome === 'skipped' ? _jsx("p", { children: discoveryReason(r.reason) }) : null, r.outcome === 'failed' ? (_jsx("p", { children: "No successful import was confirmed. Try this repository again." })) : null] }, r.repository))) }), failed ? (_jsx(Button, { className: "min-h-11 w-full sm:w-auto", disabled: state.busy, onClick: () => void model.retryFailed(), children: "Retry failed repositories" })) : null] })) : null] })) : null] }));
108
+ }
109
+ //# sourceMappingURL=discovery-picker-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-picker-view.js","sourceRoot":"","sources":["../../../src/pages/packages/discovery-picker-view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { ShellServices } from '../../auth.js';
2
+ import type { paths } from '../../api-types.js';
3
+ type ResponseAt<P extends keyof paths, M extends keyof paths[P]> = paths[P][M] extends {
4
+ responses: {
5
+ 200: {
6
+ content: {
7
+ 'application/json': infer T;
8
+ };
9
+ };
10
+ };
11
+ } ? T : never;
12
+ type Connection = ResponseAt<'/_pb/sources/discovery/connections', 'get'>['items'][number];
13
+ type Plan = ResponseAt<'/_pb/sources/discovery/plan', 'post'>;
14
+ type Applied = ResponseAt<'/_pb/sources/discovery/apply', 'post'>['results'][number];
15
+ export { discoveryReason } from './discovery-labels.js';
16
+ export declare function createDiscoveryPicker(services: ShellServices, ecosystem: 'composer' | 'npm'): {
17
+ snapshot: () => {
18
+ loading: boolean;
19
+ busy: boolean;
20
+ importing: boolean;
21
+ connections: Connection[];
22
+ connection: string;
23
+ pattern: string;
24
+ includeForks: boolean;
25
+ entries: Plan["entries"];
26
+ nextCursor: string | null;
27
+ selected: string[];
28
+ results: Applied[];
29
+ error: string | null;
30
+ patternError: string | null;
31
+ pending: string[];
32
+ reviewed: boolean;
33
+ progress: number;
34
+ total: number;
35
+ };
36
+ cancel(): void;
37
+ startOver(): void;
38
+ eligible: (repository: string) => boolean;
39
+ subscribe: (fn: () => void) => () => void;
40
+ load(): Promise<void>;
41
+ configure(patch: Partial<Pick<{
42
+ loading: boolean;
43
+ busy: boolean;
44
+ importing: boolean;
45
+ connections: Connection[];
46
+ connection: string;
47
+ pattern: string;
48
+ includeForks: boolean;
49
+ entries: Plan["entries"];
50
+ nextCursor: string | null;
51
+ selected: string[];
52
+ results: Applied[];
53
+ error: string | null;
54
+ patternError: string | null;
55
+ pending: string[];
56
+ reviewed: boolean;
57
+ progress: number;
58
+ total: number;
59
+ }, "connection" | "pattern" | "includeForks">>): void;
60
+ preview(more?: boolean): Promise<void>;
61
+ toggle(repository: string, checked: boolean): void;
62
+ selectPage(checked: boolean): void;
63
+ importSelected: () => Promise<void>;
64
+ continueImport: () => Promise<void>;
65
+ retryFailed: () => Promise<void>;
66
+ };
67
+ //# sourceMappingURL=discovery-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-picker.d.ts","sourceRoot":"","sources":["../../../src/pages/packages/discovery-picker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,KAAK,EAAE,CAAC,SAAS,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACrF,SAAS,EAAE;QAAE,GAAG,EAAE;YAAE,OAAO,EAAE;gBAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CAClE,GACG,CAAC,GACD,KAAK,CAAC;AACV,KAAK,UAAU,GAAG,UAAU,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3F,KAAK,IAAI,GAAG,UAAU,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;AAC9D,KAAK,OAAO,GAAG,UAAU,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK;;;;;qBAKrE,UAAU,EAAE;;;;iBAIhB,IAAI,CAAC,SAAS,CAAC;oBACV,MAAM,GAAG,IAAI;kBACjB,MAAM,EAAE;iBACT,OAAO,EAAE;eACT,MAAM,GAAG,IAAI;sBACN,MAAM,GAAG,IAAI;iBACpB,MAAM,EAAE;;;;;;;2BAmBK,MAAM;oBAyGlB,MAAM,IAAI;;qBAoBT,OAAO,CAAC,IAAI;;;;qBA1JV,UAAU,EAAE;;;;iBAIhB,IAAI,CAAC,SAAS,CAAC;oBACV,MAAM,GAAG,IAAI;kBACjB,MAAM,EAAE;iBACT,OAAO,EAAE;eACT,MAAM,GAAG,IAAI;sBACN,MAAM,GAAG,IAAI;iBACpB,MAAM,EAAE;;;;OAgJqB,YAAY,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC;;uBAiDpE,MAAM,WAAW,OAAO;wBAcvB,OAAO;;;;EAiC9B"}
@@ -0,0 +1,238 @@
1
+ export { discoveryReason } from './discovery-labels.js';
2
+ import { PATTERN_ERROR, validDiscoveryPattern } from './discovery-labels.js';
3
+ export function createDiscoveryPicker(services, ecosystem) {
4
+ let state = {
5
+ loading: true,
6
+ busy: false,
7
+ importing: false,
8
+ connections: [],
9
+ connection: '',
10
+ pattern: '*',
11
+ includeForks: false,
12
+ entries: [],
13
+ nextCursor: null,
14
+ selected: [],
15
+ results: [],
16
+ error: null,
17
+ patternError: null,
18
+ pending: [],
19
+ reviewed: false,
20
+ progress: 0,
21
+ total: 0,
22
+ };
23
+ const listeners = new Set();
24
+ const set = (patch) => {
25
+ state = { ...state, ...patch };
26
+ listeners.forEach((fn) => fn());
27
+ };
28
+ let cancelled = false;
29
+ const retryOptions = new Map();
30
+ let pendingOptions;
31
+ const eligible = (repository) => !state.results.some((r) => r.repository === repository && (r.outcome === 'created' || r.outcome === 'existing'));
32
+ const connection = () => state.connections[Number(state.connection)];
33
+ async function apply(repositories, savedOptions, continuing = false) {
34
+ const chosen = connection();
35
+ if (cancelled ||
36
+ state.busy ||
37
+ (!chosen && !savedOptions) ||
38
+ !repositories.length ||
39
+ repositories.length > 20)
40
+ return;
41
+ const options = savedOptions ?? {
42
+ credentialId: chosen.credentialId,
43
+ installationId: chosen.installationId,
44
+ ecosystem,
45
+ includeForks: state.includeForks,
46
+ };
47
+ set({
48
+ busy: true,
49
+ importing: true,
50
+ error: null,
51
+ progress: continuing ? state.total - repositories.length : 0,
52
+ total: continuing ? state.total : repositories.length,
53
+ });
54
+ pendingOptions = options;
55
+ for (const repository of repositories)
56
+ retryOptions.set(repository, options);
57
+ let remaining = repositories;
58
+ while (remaining.length) {
59
+ const response = await services.client.request('post', '/_pb/sources/discovery/apply', {
60
+ body: { ...options, repositories: remaining },
61
+ });
62
+ if (cancelled)
63
+ break;
64
+ const returned = response.ok ? response.data.results : [];
65
+ const next = response.ok ? response.data.remainingRepositories : [];
66
+ const rateLimited = response.ok && response.data.results.some((r) => r.error === 'rate_limited');
67
+ const stalled = response.ok &&
68
+ !rateLimited &&
69
+ (next.length >= remaining.length || next.some((r) => !remaining.includes(r)));
70
+ const results = !response.ok || stalled
71
+ ? remaining.map((repository) => ({
72
+ repository,
73
+ outcome: 'failed',
74
+ error: 'import_unconfirmed',
75
+ }))
76
+ : returned.map(({ repository, outcome, reason }) => ({
77
+ repository,
78
+ outcome,
79
+ ...(reason ? { reason } : {}),
80
+ }));
81
+ for (const repository of remaining) {
82
+ if (!results.some((r) => r.repository === repository) && !next.includes(repository))
83
+ results.push({ repository, outcome: 'failed', error: 'import_unconfirmed' });
84
+ }
85
+ const updated = new Map(state.results.map((r) => [r.repository, r]));
86
+ for (const result of results)
87
+ updated.set(result.repository, result);
88
+ set({
89
+ results: [...updated.values()],
90
+ progress: state.total - next.length,
91
+ pending: rateLimited ? next : [],
92
+ ...(!response.ok || stalled
93
+ ? { error: 'Import could not finish. Retry failed repositories.', progress: state.total }
94
+ : {}),
95
+ });
96
+ if (rateLimited) {
97
+ set({
98
+ error: 'GitHub is rate limiting imports. Continue import when it is available again.',
99
+ });
100
+ break;
101
+ }
102
+ if (!response.ok || stalled)
103
+ break;
104
+ remaining = next;
105
+ }
106
+ set({ busy: false, importing: false, selected: [] });
107
+ }
108
+ return {
109
+ snapshot: () => state,
110
+ cancel() {
111
+ cancelled = true;
112
+ set({ busy: false, importing: false });
113
+ },
114
+ startOver() {
115
+ if (state.busy)
116
+ return;
117
+ retryOptions.clear();
118
+ pendingOptions = undefined;
119
+ set({
120
+ entries: [],
121
+ nextCursor: null,
122
+ selected: [],
123
+ reviewed: false,
124
+ results: [],
125
+ pending: [],
126
+ progress: 0,
127
+ total: 0,
128
+ error: null,
129
+ patternError: null,
130
+ });
131
+ },
132
+ eligible,
133
+ subscribe: (fn) => {
134
+ listeners.add(fn);
135
+ return () => {
136
+ listeners.delete(fn);
137
+ };
138
+ },
139
+ async load() {
140
+ if (state.busy)
141
+ return;
142
+ set({ loading: true, error: null });
143
+ const response = await services.client.request('get', '/_pb/sources/discovery/connections');
144
+ set(response.ok
145
+ ? {
146
+ loading: false,
147
+ connections: response.data.items,
148
+ connection: response.data.items.length ? '0' : '',
149
+ }
150
+ : { loading: false, error: 'GitHub connections could not be loaded. Try again.' });
151
+ },
152
+ configure(patch) {
153
+ if (state.busy)
154
+ return;
155
+ set({
156
+ ...patch,
157
+ entries: [],
158
+ nextCursor: null,
159
+ selected: [],
160
+ reviewed: false,
161
+ error: null,
162
+ patternError: null,
163
+ });
164
+ },
165
+ async preview(more = false) {
166
+ const chosen = connection();
167
+ if (state.busy || !chosen || (more && !state.nextCursor))
168
+ return;
169
+ const pattern = state.pattern || '*';
170
+ if (!validDiscoveryPattern(pattern)) {
171
+ set({
172
+ patternError: PATTERN_ERROR,
173
+ });
174
+ return;
175
+ }
176
+ set({ busy: true, error: null, patternError: null });
177
+ const response = await services.client.request('post', '/_pb/sources/discovery/plan', {
178
+ body: {
179
+ credentialId: chosen.credentialId,
180
+ installationId: chosen.installationId,
181
+ ecosystem,
182
+ includeForks: state.includeForks,
183
+ pattern,
184
+ cursor: more ? state.nextCursor : null,
185
+ },
186
+ });
187
+ if (cancelled) {
188
+ set({ busy: false });
189
+ return;
190
+ }
191
+ set(response.ok
192
+ ? {
193
+ busy: false,
194
+ entries: response.data.entries,
195
+ nextCursor: response.data.nextCursor,
196
+ selected: [],
197
+ reviewed: true,
198
+ }
199
+ : { busy: false, error: 'Repositories could not be previewed. Try again.' });
200
+ },
201
+ toggle(repository, checked) {
202
+ if (state.busy ||
203
+ !state.entries.some((e) => e.repository === repository && e.action === 'new' && eligible(repository)))
204
+ return;
205
+ set({
206
+ selected: checked
207
+ ? [...new Set([...state.selected, repository])].slice(0, 20)
208
+ : state.selected.filter((r) => r !== repository),
209
+ });
210
+ },
211
+ selectPage(checked) {
212
+ if (!state.busy)
213
+ set({
214
+ selected: checked
215
+ ? state.entries
216
+ .filter((e) => e.action === 'new' && eligible(e.repository))
217
+ .map((e) => e.repository)
218
+ .slice(0, 20)
219
+ : [],
220
+ });
221
+ },
222
+ importSelected: () => (state.pending.length ? Promise.resolve() : apply(state.selected)),
223
+ continueImport: () => apply(state.pending, pendingOptions, true),
224
+ retryFailed: () => {
225
+ const first = state.results.find((r) => r.outcome === 'failed' && !state.pending.includes(r.repository));
226
+ if (!first)
227
+ return Promise.resolve();
228
+ const options = retryOptions.get(first.repository);
229
+ return apply(state.results
230
+ .filter((r) => r.outcome === 'failed' &&
231
+ !state.pending.includes(r.repository) &&
232
+ retryOptions.get(r.repository) === options)
233
+ .map((r) => r.repository)
234
+ .slice(0, 20), options);
235
+ },
236
+ };
237
+ }
238
+ //# sourceMappingURL=discovery-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-picker.js","sourceRoot":"","sources":["../../../src/pages/packages/discovery-picker.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,MAAM,UAAU,qBAAqB,CAAC,QAAuB,EAAE,SAA6B;IAC1F,IAAI,KAAK,GAAG;QACV,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,EAAkB;QAC/B,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,GAAG;QACZ,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,EAAqB;QAC9B,UAAU,EAAE,IAAqB;QACjC,QAAQ,EAAE,EAAc;QACxB,OAAO,EAAE,EAAe;QACxB,KAAK,EAAE,IAAqB;QAC5B,YAAY,EAAE,IAAqB;QACnC,OAAO,EAAE,EAAc;QACvB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;KACT,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,KAA4B,EAAE,EAAE;QAC3C,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;QAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,IAAI,SAAS,GAAG,KAAK,CAAC;IAOtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAChD,IAAI,cAAmC,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAE,EAAE,CACtC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAC5F,CAAC;IACJ,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,KAAK,UAAU,KAAK,CAAC,YAAsB,EAAE,YAAsB,EAAE,UAAU,GAAG,KAAK;QACrF,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IACE,SAAS;YACT,KAAK,CAAC,IAAI;YACV,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC;YAC1B,CAAC,YAAY,CAAC,MAAM;YACpB,YAAY,CAAC,MAAM,GAAG,EAAE;YAExB,OAAO;QACT,MAAM,OAAO,GAAG,YAAY,IAAI;YAC9B,YAAY,EAAE,MAAO,CAAC,YAAY;YAClC,cAAc,EAAE,MAAO,CAAC,cAAc;YACtC,SAAS;YACT,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;SACtD,CAAC,CAAC;QACH,cAAc,GAAG,OAAO,CAAC;QACzB,KAAK,MAAM,UAAU,IAAI,YAAY;YAAE,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,SAAS,GAAG,YAAY,CAAC;QAC7B,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,8BAA8B,EAAE;gBACrF,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE;aAC9C,CAAC,CAAC;YACH,IAAI,SAAS;gBAAE,MAAM;YACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,WAAW,GACf,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC;YAC/E,MAAM,OAAO,GACX,QAAQ,CAAC,EAAE;gBACX,CAAC,WAAW;gBACZ,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,OAAO,GACX,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO;gBACrB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC7B,UAAU;oBACV,OAAO,EAAE,QAAQ;oBACjB,KAAK,EAAE,oBAAoB;iBAC5B,CAAC,CAAC;gBACL,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;oBACjD,UAAU;oBACV,OAAO;oBACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B,CAAC,CAAC,CAAC;YACV,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACjF,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACrE,GAAG,CAAC;gBACF,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9B,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM;gBACnC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAChC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO;oBACzB,CAAC,CAAC,EAAE,KAAK,EAAE,qDAAqD,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE;oBACzF,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC;oBACF,KAAK,EAAE,8EAA8E;iBACtF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO;gBAAE,MAAM;YACnC,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;QACrB,MAAM;YACJ,SAAS,GAAG,IAAI,CAAC;YACjB,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,SAAS;YACP,IAAI,KAAK,CAAC,IAAI;gBAAE,OAAO;YACvB,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,cAAc,GAAG,SAAS,CAAC;YAC3B,GAAG,CAAC;gBACF,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,IAAI;gBACX,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QACD,QAAQ;QACR,SAAS,EAAE,CAAC,EAAc,EAAE,EAAE;YAC5B,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI;YACR,IAAI,KAAK,CAAC,IAAI;gBAAE,OAAO;YACvB,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAC;YAC5F,GAAG,CACD,QAAQ,CAAC,EAAE;gBACT,CAAC,CAAC;oBACE,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;oBAChC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;iBAClD;gBACH,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oDAAoD,EAAE,CACpF,CAAC;QACJ,CAAC;QACD,SAAS,CAAC,KAA6E;YACrF,IAAI,KAAK,CAAC,IAAI;gBAAE,OAAO;YACvB,GAAG,CAAC;gBACF,GAAG,KAAK;gBACR,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI;gBACX,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK;YACxB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBAAE,OAAO;YACjE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC;YACrC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,GAAG,CAAC;oBACF,YAAY,EAAE,aAAa;iBAC5B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,6BAA6B,EAAE;gBACpF,IAAI,EAAE;oBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,SAAS;oBACT,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,OAAO;oBACP,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;iBACvC;aACF,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,GAAG,CACD,QAAQ,CAAC,EAAE;gBACT,CAAC,CAAC;oBACE,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;oBAC9B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;oBACpC,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACf;gBACH,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iDAAiD,EAAE,CAC9E,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,UAAkB,EAAE,OAAgB;YACzC,IACE,KAAK,CAAC,IAAI;gBACV,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC,CACjF;gBAED,OAAO;YACT,GAAG,CAAC;gBACF,QAAQ,EAAE,OAAO;oBACf,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC5D,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;QACD,UAAU,CAAC,OAAgB;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI;gBACb,GAAG,CAAC;oBACF,QAAQ,EAAE,OAAO;wBACf,CAAC,CAAC,KAAK,CAAC,OAAO;6BACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;6BAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;6BACxB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;wBACjB,CAAC,CAAC,EAAE;iBACP,CAAC,CAAC;QACP,CAAC;QACD,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxF,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC;QAChE,WAAW,EAAE,GAAG,EAAE;YAChB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CACvE,CAAC;YACF,IAAI,CAAC,KAAK;gBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnD,OAAO,KAAK,CACV,KAAK,CAAC,OAAO;iBACV,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,QAAQ;gBACtB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;gBACrC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,OAAO,CAC7C;iBACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;iBACxB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EACf,OAAO,CACR,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { operations } from '../../api-types.js';
2
+ import type { ShellServices } from '../../auth.js';
3
+ type Result<K extends keyof operations> = operations[K] extends {
4
+ responses: {
5
+ 200: {
6
+ content: {
7
+ 'application/json': infer T;
8
+ };
9
+ };
10
+ };
11
+ } ? T : never;
12
+ type Publish = Result<'listPublishes'>['items'][number];
13
+ export type AccessChoice = 'available' | 'request' | 'unavailable';
14
+ export declare function accessSetting(choice: AccessChoice): {
15
+ visibleToNewProjects: boolean;
16
+ newProjectAccessMode: "request" | "none";
17
+ };
18
+ export declare function canEditAccess(owner: string | null, organization: readonly string[], permissions: readonly string[], projectId: string | null): boolean;
19
+ export declare function decisionHeaders(revision: number): {
20
+ 'If-Match': string;
21
+ };
22
+ export declare function decisionAllowed(authorized: boolean, busy: boolean, stale: boolean, state: string): boolean;
23
+ type PublishAction = 'approve' | 'reject' | 'rescan';
24
+ export declare function publishActions(item: Pick<Publish, 'approvalState' | 'scanState' | 'holdScan'>): PublishAction[];
25
+ export declare function validReason(reason: string, required: boolean): boolean;
26
+ export declare function PackageWorkflow({ services, project, }: {
27
+ services: ShellServices;
28
+ project: string | null;
29
+ }): import("react").JSX.Element | null;
30
+ export {};
31
+ //# sourceMappingURL=npm-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-workflow.d.ts","sourceRoot":"","sources":["../../../src/pages/packages/npm-workflow.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAcnD,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS;IAC9D,SAAS,EAAE;QAAE,GAAG,EAAE;YAAE,OAAO,EAAE;gBAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CAClE,GACG,CAAC,GACD,KAAK,CAAC;AACV,KAAK,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAGxD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AACnE,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY;;;EAKjD;AACD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,WAKzB;AACD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM;;EAE/C;AACD,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAEhG;AACD,KAAK,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACrD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,WAAW,GAAG,UAAU,CAAC,GAC9D,aAAa,EAAE,CAejB;AACD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,WAS5D;AAwBD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,sCAsiBA"}