dsh-skill-hub 0.3.18 → 0.3.20

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 (49) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/README.md +1 -1
  3. package/README.zh.md +1 -1
  4. package/lib/client.js +14 -8
  5. package/lib/client.js.map +1 -1
  6. package/lib/index.js +187 -102
  7. package/lib/types/client/api.d.ts +3 -3
  8. package/lib/types/client/locales/market.d.ts +1 -0
  9. package/lib/types/client/locales.d.ts +1 -0
  10. package/lib/types/protocol/config.d.ts +17 -11
  11. package/lib/types/protocol/market.d.ts +11 -0
  12. package/lib/types/protocol/repo.d.ts +6 -0
  13. package/lib/types/protocol.d.ts +1 -1
  14. package/lib/types/repo/github-client.d.ts +11 -4
  15. package/lib/types/repo.d.ts +1 -1
  16. package/lib/types/routes/catalog-data.d.ts +11 -2
  17. package/lib/types/routes/deps.d.ts +6 -1
  18. package/lib/types/routes/route-state.d.ts +5 -0
  19. package/lib/types/skillfs/scan.d.ts +6 -5
  20. package/lib/types/skillfs.d.ts +25 -1
  21. package/package.json +22 -20
  22. package/src/client/api.ts +4 -3
  23. package/src/client/locales/market.ts +2 -0
  24. package/src/client/panel/RepoScanCard.tsx +2 -1
  25. package/src/client/panel/hooks/useMarketFlow.ts +4 -2
  26. package/src/client/panel/panel.module.css +10 -2
  27. package/src/client/settings-card.tsx +2 -1
  28. package/src/client/settings-form.ts +6 -3
  29. package/src/index.ts +1 -1
  30. package/src/protocol/config.ts +27 -24
  31. package/src/protocol/market.ts +12 -0
  32. package/src/protocol/repo.ts +6 -0
  33. package/src/protocol.ts +1 -0
  34. package/src/repo/github-client.ts +26 -14
  35. package/src/repo/install.ts +5 -2
  36. package/src/repo.test.ts +40 -1
  37. package/src/repo.ts +1 -1
  38. package/src/routes/catalog-data.ts +20 -6
  39. package/src/routes/catalog.ts +4 -9
  40. package/src/routes/deps.ts +7 -2
  41. package/src/routes/market.ts +13 -2
  42. package/src/routes/repo-import.ts +49 -8
  43. package/src/routes/route-state.test.ts +1 -0
  44. package/src/routes/route-state.ts +5 -0
  45. package/src/routes.test.ts +187 -0
  46. package/src/skillfs/scan.ts +30 -17
  47. package/src/skillfs.test.ts +64 -3
  48. package/src/skillfs.ts +39 -8
  49. package/src/update.ts +6 -6
package/CONTRIBUTING.md CHANGED
@@ -39,7 +39,7 @@ src/client/locales/ dictionaries by view (common/skills/market/sources/detai
39
39
  ```bash
40
40
  npm install
41
41
  npm run typecheck # tsc --noEmit
42
- npm test # vitest (254 tests across 14 suites)
42
+ npm test # vitest (266 tests across 14 suites)
43
43
  npm run build # tsc declarations + tsdown bundles (lib/index.js + lib/client.js)
44
44
  ```
45
45
 
package/README.md CHANGED
@@ -108,7 +108,7 @@ Host uses only `ctx.skills.snapshot/get`, `ctx.webServer.register`, `ctx.systemP
108
108
 
109
109
  ```bash
110
110
  npm run typecheck # tsc --noEmit
111
- npm test # 254 tests, 14 suites
111
+ npm test # 266 tests, 14 suites
112
112
  npm run build # tsc + tsdown → lib/index.js + lib/client.js
113
113
  ```
114
114
 
package/README.zh.md CHANGED
@@ -108,7 +108,7 @@ GitHub 仓库 ──扫描/导入──▶ ~/.dsh/skills
108
108
 
109
109
  ```bash
110
110
  npm run typecheck # tsc --noEmit
111
- npm test # 254 tests, 14 suites
111
+ npm test # 266 tests, 14 suites
112
112
  npm run build # tsc + tsdown → lib/index.js + lib/client.js
113
113
  ```
114
114
 
package/lib/client.js CHANGED
@@ -61,6 +61,10 @@ window.__ModuleLoader__.load({
61
61
  * `ctx.settings.update(HUB_ENTRY_ID, …)`.
62
62
  */
63
63
  const HUB_ENTRY_ID = "skill-hub";
64
+ /** HEX color validation shared by host routes and the settings card. */
65
+ const HEX_COLOR_RE = /^#[0-9a-f]{6}$/i;
66
+ /** GitHub token validation shared by host routes and the settings card. */
67
+ const GITHUB_TOKEN_RE = /^[A-Za-z0-9_\-]{8,255}$/;
64
68
  //#endregion
65
69
  //#region src/protocol/sources.ts
66
70
  /** 项目级技能来源(它们有 workspace 归属,不属于「个人」组)。 */
@@ -161,7 +165,7 @@ window.__ModuleLoader__.load({
161
165
  market() {
162
166
  return this.get(SKILL_HUB_API.market);
163
167
  }
164
- /** Add a market source repo; resolves with the fresh list. */
168
+ /** Add a market source repo; resolves with the fresh list plus the resolved slug. */
165
169
  addMarketSource(repo) {
166
170
  return this.post(SKILL_HUB_API.marketSource, { repo });
167
171
  }
@@ -492,6 +496,7 @@ window.__ModuleLoader__.load({
492
496
  "repo.files": "{count} 个文件 · {size}",
493
497
  "repo.imported": "导入成功 {count} 个",
494
498
  "repo.skippedExisting": "跳过已存在 {count} 个",
499
+ "repo.replaced": "已替换禁用占位 {count} 个(旧目录已移入回收站)",
495
500
  "repo.failed": "失败 {count} 个",
496
501
  "repo.cancel": "取消",
497
502
  "repo.cancelled": "已取消 · 已导入 {imported}/{total} 已保留,临时文件已清理",
@@ -572,6 +577,7 @@ window.__ModuleLoader__.load({
572
577
  "repo.files": "{count} files · {size}",
573
578
  "repo.imported": "Imported {count}",
574
579
  "repo.skippedExisting": "Skipped existing {count}",
580
+ "repo.replaced": "Replaced {count} disabled placeholder(s) — old dir moved to trash",
575
581
  "repo.failed": "Failed {count}",
576
582
  "repo.cancel": "Cancel",
577
583
  "repo.cancelled": "Cancelled · {imported}/{total} kept, temp files cleaned",
@@ -1540,7 +1546,7 @@ window.__ModuleLoader__.load({
1540
1546
  });
1541
1547
  }
1542
1548
  function ColorField(props) {
1543
- const value = /^#[0-9a-f]{6}$/i.test(props.text) ? props.text : props.defaultColor;
1549
+ const value = HEX_COLOR_RE.test(props.text) ? props.text : props.defaultColor;
1544
1550
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1545
1551
  className: settings_card_module_css_default.field,
1546
1552
  children: [
@@ -2358,9 +2364,9 @@ window.__ModuleLoader__.load({
2358
2364
  function colorField(field) {
2359
2365
  return {
2360
2366
  field,
2361
- format: (value) => typeof value === "string" && /^#[0-9a-f]{6}$/i.test(value) ? value : "",
2367
+ format: (value) => typeof value === "string" && HEX_COLOR_RE.test(value) ? value : "",
2362
2368
  parse: (text) => {
2363
- if (/^#[0-9a-f]{6}$/i.test(text)) return {
2369
+ if (HEX_COLOR_RE.test(text)) return {
2364
2370
  kind: "set",
2365
2371
  value: text
2366
2372
  };
@@ -2379,7 +2385,7 @@ window.__ModuleLoader__.load({
2379
2385
  parse: (text) => {
2380
2386
  const trimmed = text.trim();
2381
2387
  if (trimmed === "") return void 0;
2382
- if (!/^[A-Za-z0-9_-]{8,255}$/.test(trimmed)) return void 0;
2388
+ if (!GITHUB_TOKEN_RE.test(trimmed)) return void 0;
2383
2389
  return {
2384
2390
  kind: "set",
2385
2391
  value: trimmed
@@ -2773,7 +2779,7 @@ window.__ModuleLoader__.load({
2773
2779
  }
2774
2780
  //#endregion
2775
2781
  //#region \0dsh-css:/Users/huanyi/Documents/personal/tools/dsh-skill-hub/src/client/panel/panel.module.css.mjs
2776
- const css = "._6VtqdG_panel{-webkit-font-smoothing:antialiased;color-scheme:light dark;--hub-model:#2f81f7;--hub-user:#3fb950;--hub-accent:var(--dsw-alias-state-business-primary,#2f81f7);--hub-text:var(--dsw-alias-label-primary,currentColor);--hub-text-2:var(--dsw-alias-label-secondary,#61666b);--hub-text-3:var(--dsw-alias-label-tertiary,#81858c);--hub-text-4:var(--dsw-alias-label-caption,#adb2b8);--hub-surface:var(--dsw-alias-bg-module-platform,#8080800f);--hub-hover:var(--dsw-alias-interactive-bg-hover,#80808014);--hub-active:var(--dsw-alias-interactive-bg-active,#80808029);--hub-border:var(--dsw-alias-border-l2,#80808021);--hub-border-2:var(--dsw-alias-border-l3,#80808033);--hub-danger:var(--dsw-alias-state-error-primary,#d1242f);--hub-success:var(--dsw-alias-state-success-primary,#3fb950);--hub-warn:var(--dsw-alias-state-warn-primary,#d29922);--hub-on-accent:var(--dsw-alias-label-primary-foreground,#fff);--hub-skeleton:var(--dsw-alias-bg-skeleton,#8080801a);flex-direction:column;gap:14px;max-width:720px;margin:0 auto;padding:28px 20px 44px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;display:flex}._6VtqdG_header{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}._6VtqdG_title{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}._6VtqdG_hint{color:var(--hub-text-3);font-size:12px}._6VtqdG_actions{gap:8px;margin-left:auto;display:flex}._6VtqdG_segmented{background:var(--hub-hover);border-radius:9px;gap:2px;padding:2px;display:flex}._6VtqdG_segBtn{color:var(--hub-text-2);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 13px;font-size:12px;transition:background .15s,opacity .15s}._6VtqdG_segBtn:hover{color:var(--hub-text)}._6VtqdG_segBtnActive{background:var(--hub-active);opacity:1;font-weight:600}._6VtqdG_search{background:var(--hub-surface);width:100%;color:inherit;border:none;border-radius:10px;outline:none;padding:10px 14px;font-size:13px;transition:background .15s}._6VtqdG_search::placeholder{opacity:.45}._6VtqdG_search:focus{background:var(--hub-active)}._6VtqdG_section{background:var(--hub-surface);border-radius:12px;flex-direction:column;margin-top:4px;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000008,0 4px 12px #0000000a}._6VtqdG_sectionTitle{margin:14px 16px 2px;font-size:13px;font-weight:700}._6VtqdG_groupHead{box-sizing:border-box;align-items:center;gap:8px;min-height:44px;padding:10px 14px;display:flex}._6VtqdG_groupTitle{color:var(--hub-text);flex:1;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:600;line-height:1;display:inline-flex}._6VtqdG_groupOps{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:inline-flex}._6VtqdG_opBtn{background:var(--hub-hover);color:inherit;cursor:pointer;border:none;border-radius:999px;padding:3px 11px;font-size:11px;transition:background .15s}._6VtqdG_opBtn:hover{background:var(--hub-active)}._6VtqdG_opBtn:disabled{opacity:.4;cursor:default}._6VtqdG_row{cursor:pointer;background:0 0;align-items:center;gap:12px;padding:10px 14px;transition:background .12s;display:flex}._6VtqdG_row:hover{background:var(--hub-hover)}._6VtqdG_row:focus-visible{outline:2px solid var(--hub-accent);outline-offset:-2px}._6VtqdG_rowStatic{cursor:default}._6VtqdG_rowStatic:hover{background:0 0}._6VtqdG_row+._6VtqdG_row{border-top:.5px solid var(--hub-border)}._6VtqdG_rowMain{flex:1;min-width:0}._6VtqdG_rowName{align-items:center;gap:5px;font-size:13.5px;display:flex}._6VtqdG_rowNameText{font-weight:600}._6VtqdG_rowDesc{color:var(--hub-text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12.5px;overflow:hidden}._6VtqdG_badges{flex:none;align-items:center;gap:6px;display:flex}._6VtqdG_badge{border:.5px solid var(--hub-border-2);color:var(--hub-text-2);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:10.5px}._6VtqdG_badgeReadonly{opacity:.5}._6VtqdG_switch{border:1px solid var(--hub-border-2);background:var(--dsw-alias-bg-module-platform,#8080804d);cursor:pointer;border-radius:999px;flex:none;width:36px;height:21px;padding:2px;transition:background .18s}._6VtqdG_switch:disabled{opacity:.5;cursor:default}._6VtqdG_switchOn{background:var(--dsw-alias-state-business-primary,#34c759)}._6VtqdG_switchThumb{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;display:block;transform:translate(0);box-shadow:0 1px 2px #00000040}._6VtqdG_switchOn ._6VtqdG_switchThumb{transform:translate(15px)}._6VtqdG_empty{color:var(--hub-text-3);text-align:center;padding:20px 0;font-size:13px}._6VtqdG_diagRow{border-left:3px solid var(--hub-warn);background:#d299220f;padding:9px 14px;font-size:12px}._6VtqdG_diagPath{color:var(--hub-text-2);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}._6VtqdG_diagReason{color:var(--hub-text-3);margin-top:1px}._6VtqdG_updateLink{color:inherit;font-weight:600;text-decoration:underline}._6VtqdG_errorBanner{color:var(--hub-danger);white-space:pre-wrap;word-break:break-all;background:#d1242f12;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:12.5px;display:flex}._6VtqdG_successBanner{color:var(--hub-success);white-space:pre-wrap;word-break:break-all;background:#3fb95014;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:12.5px;display:flex}._6VtqdG_detailHead{flex-wrap:wrap;align-items:center;gap:10px;display:flex}._6VtqdG_back{background:var(--hub-hover);color:inherit;cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:12.5px}._6VtqdG_back:hover{background:var(--hub-active)}._6VtqdG_detailName{letter-spacing:-.01em;font-size:19px;font-weight:700}._6VtqdG_detailMeta{color:var(--hub-text-3);flex-direction:column;gap:4px;font-size:12px;display:flex}._6VtqdG_detailMetaLine{word-break:break-all}._6VtqdG_detailContent{white-space:pre-wrap;word-break:break-word;background:var(--hub-surface);border-radius:12px;max-height:62vh;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6;overflow:auto}._6VtqdG_form{background:var(--hub-surface);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex;box-shadow:0 1px 2px #00000008,0 4px 12px #0000000a}._6VtqdG_formRow{flex-direction:column;gap:5px;display:flex}._6VtqdG_formLabel{color:var(--hub-text-3);font-size:12px}._6VtqdG_input,._6VtqdG_select{background:var(--hub-surface);color:inherit;border:none;border-radius:9px;outline:none;padding:9px 12px;font-size:13px}._6VtqdG_input:focus,._6VtqdG_select:focus{background:var(--hub-active)}._6VtqdG_buttons{align-items:center;gap:8px;display:flex}._6VtqdG_button{cursor:pointer;background:var(--hub-hover);color:inherit;border:none;border-radius:8px;padding:6px 13px;font-size:12.5px;transition:background .15s}._6VtqdG_button:hover{background:var(--hub-active)}._6VtqdG_primary{background:var(--hub-accent);color:var(--hub-on-accent)}._6VtqdG_primary:hover{background:var(--hub-accent);opacity:.92}._6VtqdG_primary:disabled{opacity:.45;cursor:default}._6VtqdG_danger{background:var(--hub-danger);color:var(--hub-on-accent)}._6VtqdG_danger:hover{background:var(--hub-danger);opacity:.92}._6VtqdG_danger:disabled{opacity:.45;cursor:default}._6VtqdG_formError{color:var(--hub-danger)}._6VtqdG_formSuccess{color:var(--hub-success)}._6VtqdG_dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:5px;display:inline-block}._6VtqdG_dotModel{background:var(--hub-model)}._6VtqdG_dotUser{background:var(--hub-user)}._6VtqdG_displayName{color:var(--hub-text-3);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;max-width:160px;margin-left:6px;font-size:11px;font-weight:400;overflow:hidden}._6VtqdG_legend{color:var(--hub-text-3);flex-wrap:wrap;align-items:center;gap:12px;padding:2px 2px 0;font-size:11.5px;display:flex}._6VtqdG_legendItem{align-items:center;gap:4px;display:inline-flex}._6VtqdG_legendItem ._6VtqdG_dot{margin-left:0}._6VtqdG_legendHint{opacity:.8}._6VtqdG_badgeSource,._6VtqdG_badgeCount{background:var(--hub-hover);opacity:.72;border:none}._6VtqdG_disclosure{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:7px;min-height:24px;padding:2px 0;display:flex}._6VtqdG_disclosure:hover ._6VtqdG_groupTitle{opacity:1}._6VtqdG_chevron{opacity:.55;border-bottom:1.5px solid;border-right:1.5px solid;flex:none;align-self:center;width:8px;height:8px;margin-right:2px;transition:transform .15s;transform:rotate(45deg)translateY(-1px)}._6VtqdG_chevronCollapsed{transform:rotate(-45deg)translateY(-1px)}._6VtqdG_headerCount{color:var(--hub-text-3);white-space:nowrap;margin-left:2px;font-size:12px}._6VtqdG_pluginVersion{color:var(--hub-text-4);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:6px;font-size:12px;font-weight:500}._6VtqdG_subbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}._6VtqdG_legendToggle{background:var(--hub-hover);width:22px;height:22px;color:inherit;cursor:pointer;opacity:.55;border:none;border-radius:50%;flex:none;font-size:12px;line-height:1;transition:opacity .15s,background .15s}._6VtqdG_legendToggle:hover{opacity:1}._6VtqdG_legendToggleActive{opacity:1;background:var(--hub-active)}._6VtqdG_filterBar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}._6VtqdG_filterBar ._6VtqdG_formLabel{margin:0}._6VtqdG_useCount{color:var(--hub-warn);vertical-align:1px;background:#d299221f;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;line-height:1.6;display:inline-block}._6VtqdG_useTime{color:var(--hub-text-4);white-space:nowrap;margin-left:auto;font-size:11px}._6VtqdG_switchMixed{background:#2f81f773;background:color-mix(in srgb, var(--hub-accent) 45%, transparent)}._6VtqdG_switchMixed ._6VtqdG_switchThumb{transform:translate(7.5px);box-shadow:0 1px 2px #00000040}._6VtqdG_groupTitleInner{align-items:baseline;display:inline-flex}._6VtqdG_sourceLink{color:inherit;opacity:.9;border-bottom:1px dotted;font-weight:600;text-decoration:none}._6VtqdG_sourceLink:hover{opacity:1}._6VtqdG_statusBadges{flex:none;align-items:center;gap:4px;display:inline-flex}._6VtqdG_statusBadge{border:.5px solid var(--hub-border-2);opacity:.8;white-space:nowrap;background:var(--hub-hover);border-radius:999px;padding:1px 7px;font-size:10.5px}._6VtqdG_statusOk{color:var(--hub-success);background:0 0;border-color:currentColor}._6VtqdG_statusUpdated{color:var(--hub-warn);background:#d2992214;border-color:currentColor}._6VtqdG_statusError{color:var(--hub-danger);background:#d1242f14;border-color:currentColor}._6VtqdG_statusWrap{cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;display:inline-flex}._6VtqdG_statusWrap:hover ._6VtqdG_statusBadge{opacity:1}._6VtqdG_statusButton{cursor:pointer;font-family:inherit}._6VtqdG_statusButton:hover{opacity:1}._6VtqdG_opDanger{color:var(--hub-danger);background:#d1242f1a}._6VtqdG_opDanger:hover{background:#d1242f2e}._6VtqdG_iconBtn{border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}._6VtqdG_sourceCard{background:var(--hub-surface);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;font-size:12px;display:flex}._6VtqdG_sourceCardTitle{flex-wrap:wrap;align-items:center;gap:8px;display:flex}._6VtqdG_dialogOverlay{z-index:50;-webkit-backdrop-filter:blur(2px);background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}._6VtqdG_dialog{background:var(--dsw-alias-bg-layer-1,#f5f5f7);min-width:min(320px,100%);max-width:380px;color:var(--dsw-alias-label-primary,#1d1d1f);border-radius:14px;padding:18px 18px 14px;box-shadow:0 12px 40px #00000047,0 2px 8px #00000029}._6VtqdG_dialogTitle{letter-spacing:-.01em;margin:0 0 8px;font-size:15px;font-weight:700}._6VtqdG_dialogText{color:var(--hub-text-3);margin:0 0 10px;font-size:12.5px;line-height:1.5}._6VtqdG_dialogList{flex-direction:column;gap:5px;max-height:200px;margin:0 0 14px;padding:0;list-style:none;display:flex;overflow:auto}._6VtqdG_dialogList li{opacity:.85;word-break:break-all;font-size:12.5px}._6VtqdG_dialogActions{justify-content:flex-end;gap:8px;display:flex}._6VtqdG_filterBar ._6VtqdG_search{flex:1;min-width:160px}._6VtqdG_filterBar ._6VtqdG_formLabel{flex:none}._6VtqdG_filterBar ._6VtqdG_select{flex:none;max-width:150px}._6VtqdG_filterBar ._6VtqdG_segmented{flex:none}._6VtqdG_titleIcon{vertical-align:-2px;opacity:.8;margin-right:2px;display:inline-block}._6VtqdG_grow{flex:1}._6VtqdG_hintLine{color:var(--hub-text-3);margin:0;font-size:11.5px}._6VtqdG_hintPadded{margin:6px 12px 2px}._6VtqdG_hintInline{margin:4px 2px}._6VtqdG_rowMuted{cursor:default;opacity:.55}._6VtqdG_actionsPadded{padding:8px 12px}._6VtqdG_actionsTop{margin-top:8px}._6VtqdG_groupTime{margin-left:6px}._6VtqdG_sectionHeadRow{align-items:center;gap:8px;display:flex}._6VtqdG_sectionTitleFill{flex:1}._6VtqdG_dialogSelect{width:100%;margin-bottom:12px}._6VtqdG_dialogRow{align-items:center;gap:8px;display:flex}._6VtqdG_workspaceBox{align-items:center;gap:6px;display:inline-flex}._6VtqdG_workspaceInput{width:200px;padding:6px 10px;font-size:12px}._6VtqdG_projectNest{border-left:1px solid var(--dsw-alias-border-l1,#80808024);flex-direction:column;margin:2px 0 0 14px;display:flex}._6VtqdG_dragHandle{cursor:grab;opacity:.28;letter-spacing:0;user-select:none;flex:none;justify-content:center;align-self:center;align-items:center;width:8px;height:16px;padding:0 1px;font-size:10px;display:inline-flex;overflow:hidden}._6VtqdG_dragHandle:active{cursor:grabbing}._6VtqdG_dragging{opacity:.45}._6VtqdG_dragOver{outline:2px dashed var(--hub-accent);outline-offset:-2px;background:#2f81f712}._6VtqdG_scanList{border:.5px solid var(--hub-border-2);background:var(--hub-surface);border-radius:12px;max-height:360px;margin-top:8px;overflow:auto}._6VtqdG_scanProgressTrack{background:var(--hub-surface);border-radius:4px;flex:1;height:6px;overflow:hidden}._6VtqdG_scanProgressFill{background:var(--hub-accent);height:100%;transition:width .2s}._6VtqdG_filterPanel{background:var(--hub-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}._6VtqdG_filterField{align-items:center;gap:6px;display:inline-flex}._6VtqdG_filterField ._6VtqdG_formLabel{margin:0}._6VtqdG_filterField ._6VtqdG_select{max-width:150px}._6VtqdG_listTools{justify-content:flex-end;align-items:center;gap:8px;padding:0 2px;display:flex}._6VtqdG_opBtn:focus-visible,._6VtqdG_button:focus-visible,._6VtqdG_segBtn:focus-visible,._6VtqdG_disclosure:focus-visible,._6VtqdG_switch:focus-visible,._6VtqdG_legendToggle:focus-visible,._6VtqdG_back:focus-visible,._6VtqdG_statusWrap:focus-visible,._6VtqdG_input:focus-visible,._6VtqdG_select:focus-visible,._6VtqdG_search:focus-visible,._6VtqdG_sourceLink:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}._6VtqdG_opBtn{padding:4px 12px}._6VtqdG_segBtn{padding:6px 13px}._6VtqdG_iconBtn,._6VtqdG_legendToggle{width:28px;height:28px}._6VtqdG_dragHandle{opacity:.45;width:16px}._6VtqdG_dragHandle:hover{opacity:1}._6VtqdG_skeleton{background:var(--hub-surface);border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}._6VtqdG_skeletonRow{background:var(--hub-skeleton);border-radius:7px;height:14px;animation:1.4s ease-in-out infinite _6VtqdG_hubPulse}._6VtqdG_skeletonRow:nth-child(2){width:82%}._6VtqdG_skeletonRow:nth-child(3){width:64%}@keyframes _6VtqdG_hubPulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){._6VtqdG_panel *,._6VtqdG_panel :before,._6VtqdG_panel :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}";
2782
+ const css = "._6VtqdG_panel{-webkit-font-smoothing:antialiased;--hub-model:#2f81f7;--hub-user:#3fb950;--hub-accent:var(--dsw-alias-state-business-primary,#2f81f7);--hub-text:var(--dsw-alias-label-primary,currentColor);--hub-text-2:var(--dsw-alias-label-secondary,#61666b);--hub-text-3:var(--dsw-alias-label-tertiary,#81858c);--hub-text-4:var(--dsw-alias-label-caption,#adb2b8);--hub-surface:var(--dsw-alias-bg-module-platform,#8080800f);--hub-hover:var(--dsw-alias-interactive-bg-hover,#80808014);--hub-active:var(--dsw-alias-interactive-bg-active,#80808029);--hub-border:var(--dsw-alias-border-l2,#80808021);--hub-border-2:var(--dsw-alias-border-l3,#80808033);--hub-danger:var(--dsw-alias-state-error-primary,#d1242f);--hub-success:var(--dsw-alias-state-success-primary,#3fb950);--hub-warn:var(--dsw-alias-state-warn-primary,#d29922);--hub-on-accent:var(--dsw-alias-label-primary-foreground,#fff);--hub-skeleton:var(--dsw-alias-bg-skeleton,#8080801a);flex-direction:column;gap:14px;max-width:720px;margin:0 auto;padding:28px 20px 44px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;display:flex}._6VtqdG_header{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}._6VtqdG_title{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}._6VtqdG_hint{color:var(--hub-text-3);font-size:12px}._6VtqdG_actions{gap:8px;margin-left:auto;display:flex}._6VtqdG_segmented{background:var(--hub-hover);border-radius:9px;gap:2px;padding:2px;display:flex}._6VtqdG_segBtn{color:var(--hub-text-2);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 13px;font-size:12px;transition:background .15s,opacity .15s}._6VtqdG_segBtn:hover{color:var(--hub-text)}._6VtqdG_segBtnActive{background:var(--hub-active);opacity:1;font-weight:600}._6VtqdG_search{background:var(--hub-surface);width:100%;color:inherit;border:none;border-radius:10px;outline:none;padding:10px 14px;font-size:13px;transition:background .15s}._6VtqdG_search::placeholder{opacity:.45}._6VtqdG_search:focus{background:var(--hub-active)}._6VtqdG_section{background:var(--hub-surface);border-radius:12px;flex-direction:column;margin-top:4px;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000008,0 4px 12px #0000000a}._6VtqdG_sectionTitle{margin:14px 16px 2px;font-size:13px;font-weight:700}._6VtqdG_groupHead{box-sizing:border-box;align-items:center;gap:8px;min-height:44px;padding:10px 14px;display:flex}._6VtqdG_groupTitle{color:var(--hub-text);flex:1;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:600;line-height:1;display:inline-flex}._6VtqdG_groupOps{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:inline-flex}._6VtqdG_opBtn{background:var(--hub-hover);color:inherit;cursor:pointer;border:none;border-radius:999px;padding:3px 11px;font-size:11px;transition:background .15s}._6VtqdG_opBtn:hover{background:var(--hub-active)}._6VtqdG_opBtn:disabled{opacity:.4;cursor:default}._6VtqdG_row{cursor:pointer;background:0 0;align-items:center;gap:12px;padding:10px 14px;transition:background .12s;display:flex}._6VtqdG_row:hover{background:var(--hub-hover)}._6VtqdG_row:focus-visible{outline:2px solid var(--hub-accent);outline-offset:-2px}._6VtqdG_rowStatic{cursor:default}._6VtqdG_rowStatic:hover{background:0 0}._6VtqdG_row+._6VtqdG_row{border-top:.5px solid var(--hub-border)}._6VtqdG_rowMain{flex:1;min-width:0}._6VtqdG_rowName{align-items:center;gap:5px;font-size:13.5px;display:flex}._6VtqdG_rowNameText{font-weight:600}._6VtqdG_rowDesc{color:var(--hub-text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12.5px;overflow:hidden}._6VtqdG_badges{flex:none;align-items:center;gap:6px;display:flex}._6VtqdG_badge{border:.5px solid var(--hub-border-2);color:var(--hub-text-2);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:10.5px}._6VtqdG_badgeReadonly{opacity:.5}._6VtqdG_switch{border:1px solid var(--hub-border-2);background:var(--dsw-alias-bg-module-platform,#8080804d);cursor:pointer;border-radius:999px;flex:none;width:36px;height:21px;padding:2px;transition:background .18s}._6VtqdG_switch:disabled{opacity:.5;cursor:default}._6VtqdG_switchOn{background:var(--dsw-alias-state-business-primary,#34c759)}._6VtqdG_switchThumb{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;display:block;transform:translate(0);box-shadow:0 1px 2px #00000040}._6VtqdG_switchOn ._6VtqdG_switchThumb{transform:translate(15px)}._6VtqdG_empty{color:var(--hub-text-3);text-align:center;padding:20px 0;font-size:13px}._6VtqdG_diagRow{border-left:3px solid var(--hub-warn);background:#d299220f;padding:9px 14px;font-size:12px}._6VtqdG_diagPath{color:var(--hub-text-2);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}._6VtqdG_diagReason{color:var(--hub-text-3);margin-top:1px}._6VtqdG_updateLink{color:inherit;font-weight:600;text-decoration:underline}._6VtqdG_errorBanner{color:var(--hub-danger);white-space:pre-wrap;word-break:break-all;background:#d1242f12;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:12.5px;display:flex}._6VtqdG_successBanner{color:var(--hub-success);white-space:pre-wrap;word-break:break-all;background:#3fb95014;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:12.5px;display:flex}._6VtqdG_detailHead{flex-wrap:wrap;align-items:center;gap:10px;display:flex}._6VtqdG_back{background:var(--hub-hover);color:inherit;cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:12.5px}._6VtqdG_back:hover{background:var(--hub-active)}._6VtqdG_detailName{letter-spacing:-.01em;font-size:19px;font-weight:700}._6VtqdG_detailMeta{color:var(--hub-text-3);flex-direction:column;gap:4px;font-size:12px;display:flex}._6VtqdG_detailMetaLine{word-break:break-all}._6VtqdG_detailContent{white-space:pre-wrap;word-break:break-word;background:var(--hub-surface);border-radius:12px;max-height:62vh;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6;overflow:auto}._6VtqdG_form{background:var(--hub-surface);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex;box-shadow:0 1px 2px #00000008,0 4px 12px #0000000a}._6VtqdG_formRow{flex-direction:column;gap:5px;display:flex}._6VtqdG_formLabel{color:var(--hub-text-3);font-size:12px}._6VtqdG_input,._6VtqdG_select{background:var(--hub-surface);color:inherit;border:none;border-radius:9px;outline:none;padding:9px 12px;font-size:13px}._6VtqdG_input:focus,._6VtqdG_select:focus{background:var(--hub-active)}._6VtqdG_buttons{align-items:center;gap:8px;display:flex}._6VtqdG_button{cursor:pointer;background:var(--hub-hover);color:inherit;border:none;border-radius:8px;padding:6px 13px;font-size:12.5px;transition:background .15s}._6VtqdG_button:hover{background:var(--hub-active)}._6VtqdG_primary{background:var(--hub-accent);color:var(--hub-on-accent)}._6VtqdG_primary:hover{background:var(--hub-accent);opacity:.92}._6VtqdG_primary:disabled{opacity:.45;cursor:default}._6VtqdG_danger{background:var(--hub-danger);color:var(--hub-on-accent)}._6VtqdG_danger:hover{background:var(--hub-danger);opacity:.92}._6VtqdG_danger:disabled{opacity:.45;cursor:default}._6VtqdG_formError{color:var(--hub-danger)}._6VtqdG_formSuccess{color:var(--hub-success)}._6VtqdG_dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:5px;display:inline-block}._6VtqdG_dotModel{background:var(--hub-model)}._6VtqdG_dotUser{background:var(--hub-user)}._6VtqdG_displayName{color:var(--hub-text-3);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;max-width:160px;margin-left:6px;font-size:11px;font-weight:400;overflow:hidden}._6VtqdG_legend{color:var(--hub-text-3);flex-wrap:wrap;align-items:center;gap:12px;padding:2px 2px 0;font-size:11.5px;display:flex}._6VtqdG_legendItem{align-items:center;gap:4px;display:inline-flex}._6VtqdG_legendItem ._6VtqdG_dot{margin-left:0}._6VtqdG_legendHint{opacity:.8}._6VtqdG_badgeSource,._6VtqdG_badgeCount{background:var(--hub-hover);opacity:.72;border:none}._6VtqdG_disclosure{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:7px;min-height:24px;padding:2px 0;display:flex}._6VtqdG_disclosure:hover ._6VtqdG_groupTitle{opacity:1}._6VtqdG_chevron{opacity:.55;border-bottom:1.5px solid;border-right:1.5px solid;flex:none;align-self:center;width:8px;height:8px;margin-right:2px;transition:transform .15s;transform:rotate(45deg)translateY(-1px)}._6VtqdG_chevronCollapsed{transform:rotate(-45deg)translateY(-1px)}._6VtqdG_headerCount{color:var(--hub-text-3);white-space:nowrap;margin-left:2px;font-size:12px}._6VtqdG_pluginVersion{color:var(--hub-text-4);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:6px;font-size:12px;font-weight:500}._6VtqdG_subbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}._6VtqdG_legendToggle{background:var(--hub-hover);width:22px;height:22px;color:inherit;cursor:pointer;opacity:.55;border:none;border-radius:50%;flex:none;font-size:12px;line-height:1;transition:opacity .15s,background .15s}._6VtqdG_legendToggle:hover{opacity:1}._6VtqdG_legendToggleActive{opacity:1;background:var(--hub-active)}._6VtqdG_filterBar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}._6VtqdG_filterBar ._6VtqdG_formLabel{margin:0}._6VtqdG_useCount{color:var(--hub-warn);vertical-align:1px;background:#d299221f;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;line-height:1.6;display:inline-block}._6VtqdG_useTime{color:var(--hub-text-4);white-space:nowrap;margin-left:auto;font-size:11px}._6VtqdG_switchMixed{background:#2f81f773;background:color-mix(in srgb, var(--hub-accent) 45%, transparent)}._6VtqdG_switchMixed ._6VtqdG_switchThumb{transform:translate(7.5px);box-shadow:0 1px 2px #00000040}._6VtqdG_groupTitleInner{align-items:baseline;display:inline-flex}._6VtqdG_sourceLink{color:inherit;opacity:.9;border-bottom:1px dotted;font-weight:600;text-decoration:none}._6VtqdG_sourceLink:hover{opacity:1}._6VtqdG_statusBadges{flex:none;align-items:center;gap:4px;display:inline-flex}._6VtqdG_statusBadge{border:.5px solid var(--hub-border-2);opacity:.8;white-space:nowrap;background:var(--hub-hover);border-radius:999px;padding:1px 7px;font-size:10.5px}._6VtqdG_statusOk{color:var(--hub-success);background:0 0;border-color:currentColor}._6VtqdG_statusUpdated{color:var(--hub-warn);background:#d2992214;border-color:currentColor}._6VtqdG_statusError{color:var(--hub-danger);background:#d1242f14;border-color:currentColor}._6VtqdG_statusWrap{cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;display:inline-flex}._6VtqdG_statusWrap:hover ._6VtqdG_statusBadge{opacity:1}._6VtqdG_statusButton{cursor:pointer;font-family:inherit}._6VtqdG_statusButton:hover{opacity:1}._6VtqdG_opDanger{color:var(--hub-danger);background:#d1242f1a}._6VtqdG_opDanger:hover{background:#d1242f2e}._6VtqdG_iconBtn{border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}._6VtqdG_sourceCard{background:var(--hub-surface);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;font-size:12px;display:flex}._6VtqdG_sourceCardTitle{flex-wrap:wrap;align-items:center;gap:8px;display:flex}._6VtqdG_dialogOverlay{z-index:50;-webkit-backdrop-filter:blur(2px);background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}._6VtqdG_dialog{background:var(--dsw-alias-bg-layer-1,#f5f5f7);min-width:min(320px,100%);max-width:380px;color:var(--dsw-alias-label-primary,#1d1d1f);border-radius:14px;padding:18px 18px 14px;box-shadow:0 12px 40px #00000047,0 2px 8px #00000029}._6VtqdG_dialogTitle{letter-spacing:-.01em;margin:0 0 8px;font-size:15px;font-weight:700}._6VtqdG_dialogText{color:var(--hub-text-3);margin:0 0 10px;font-size:12.5px;line-height:1.5}._6VtqdG_dialogList{flex-direction:column;gap:5px;max-height:200px;margin:0 0 14px;padding:0;list-style:none;display:flex;overflow:auto}._6VtqdG_dialogList li{opacity:.85;word-break:break-all;font-size:12.5px}._6VtqdG_dialogActions{justify-content:flex-end;gap:8px;display:flex}._6VtqdG_filterBar ._6VtqdG_search{flex:1;min-width:160px}._6VtqdG_filterBar ._6VtqdG_formLabel{flex:none}._6VtqdG_filterBar ._6VtqdG_select{flex:none;max-width:150px}._6VtqdG_filterBar ._6VtqdG_segmented{flex:none}._6VtqdG_titleIcon{vertical-align:-2px;opacity:.8;margin-right:2px;display:inline-block}._6VtqdG_grow{flex:1}._6VtqdG_hintLine{color:var(--hub-text-3);margin:0;font-size:11.5px}._6VtqdG_hintPadded{margin:6px 12px 2px}._6VtqdG_hintInline{margin:4px 2px}._6VtqdG_rowMuted{cursor:default;opacity:.55}._6VtqdG_actionsPadded{padding:8px 12px}._6VtqdG_actionsTop{margin-top:8px}._6VtqdG_groupTime{margin-left:6px}._6VtqdG_sectionHeadRow{align-items:center;gap:8px;display:flex}._6VtqdG_sectionTitleFill{flex:1}._6VtqdG_dialogSelect{width:100%;margin-bottom:12px}._6VtqdG_dialogRow{align-items:center;gap:8px;display:flex}._6VtqdG_workspaceBox{align-items:center;gap:6px;display:inline-flex}._6VtqdG_workspaceInput{width:200px;padding:6px 10px;font-size:12px}._6VtqdG_projectNest{border-left:1px solid var(--dsw-alias-border-l1,#80808024);flex-direction:column;margin:2px 0 0 14px;display:flex}._6VtqdG_dragHandle{cursor:grab;opacity:.28;letter-spacing:0;user-select:none;flex:none;justify-content:center;align-self:center;align-items:center;width:8px;height:16px;padding:0 1px;font-size:10px;display:inline-flex;overflow:hidden}._6VtqdG_dragHandle:active{cursor:grabbing}._6VtqdG_dragging{opacity:.45}._6VtqdG_dragOver{outline:2px dashed var(--hub-accent);outline-offset:-2px;background:#2f81f712}._6VtqdG_scanList{border:.5px solid var(--hub-border-2);background:var(--hub-surface);border-radius:12px;max-height:360px;margin-top:8px;overflow:auto}._6VtqdG_scanProgressTrack{background:var(--hub-surface);border-radius:4px;flex:1;height:6px;overflow:hidden}._6VtqdG_scanProgressFill{background:var(--hub-accent);height:100%;transition:width .2s}._6VtqdG_filterPanel{background:var(--hub-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}._6VtqdG_filterField{align-items:center;gap:6px;display:inline-flex}._6VtqdG_filterField ._6VtqdG_formLabel{margin:0}._6VtqdG_filterField ._6VtqdG_select{max-width:150px}._6VtqdG_listTools{justify-content:flex-end;align-items:center;gap:8px;padding:0 2px;display:flex}._6VtqdG_opBtn:focus-visible,._6VtqdG_button:focus-visible,._6VtqdG_segBtn:focus-visible,._6VtqdG_disclosure:focus-visible,._6VtqdG_switch:focus-visible,._6VtqdG_legendToggle:focus-visible,._6VtqdG_back:focus-visible,._6VtqdG_statusWrap:focus-visible,._6VtqdG_input:focus-visible,._6VtqdG_select:focus-visible,._6VtqdG_search:focus-visible,._6VtqdG_sourceLink:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}._6VtqdG_opBtn{padding:4px 12px}._6VtqdG_segBtn{padding:6px 13px}._6VtqdG_iconBtn,._6VtqdG_legendToggle{width:28px;height:28px}._6VtqdG_dragHandle{opacity:.45;width:16px}._6VtqdG_dragHandle:hover{opacity:1}._6VtqdG_skeleton{background:var(--hub-surface);border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}._6VtqdG_skeletonRow{background:var(--hub-skeleton);border-radius:7px;height:14px;animation:1.4s ease-in-out infinite _6VtqdG_hubPulse}._6VtqdG_skeletonRow:nth-child(2){width:82%}._6VtqdG_skeletonRow:nth-child(3){width:64%}@keyframes _6VtqdG_hubPulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){._6VtqdG_panel *,._6VtqdG_panel :before,._6VtqdG_panel :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}";
2777
2783
  const tagId = "dsh-skill-hub/panel.module.css";
2778
2784
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
2779
2785
  const tag = document.createElement("style");
@@ -4835,7 +4841,6 @@ window.__ModuleLoader__.load({
4835
4841
  const entries = repoDiscoverState.data.entries;
4836
4842
  const installedNames = /* @__PURE__ */ new Set([
4837
4843
  ...(hub.catalog?.skills ?? []).map((s) => s.name),
4838
- ...(hub.catalog?.disabled ?? []).map((d) => d.name),
4839
4844
  ...(repoResult?.imported ?? []).map((r) => r.name),
4840
4845
  ...(repoResult?.skipped ?? []).map((r) => r.name)
4841
4846
  ]);
@@ -5134,6 +5139,7 @@ window.__ModuleLoader__.load({
5134
5139
  imported: repoResult.imported.length,
5135
5140
  total: repoResult.total
5136
5141
  }) : `${tt("repo.imported", { count: repoResult.imported.length })} · ${tt("repo.skippedExisting", { count: repoResult.skipped.length })} · ${tt("repo.failed", { count: repoResult.failed.length })}`,
5142
+ (repoResult.replaced?.length ?? 0) > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { children: [" · ", tt("repo.replaced", { count: repoResult.replaced?.length ?? 0 })] }) : null,
5137
5143
  repoResult.failed.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5138
5144
  style: { marginTop: 6 },
5139
5145
  children: repoResult.failed.map((f) => `${f.name}: ${f.error}`).join("; ")
@@ -6422,7 +6428,7 @@ window.__ModuleLoader__.load({
6422
6428
  setNewSourceName("");
6423
6429
  setRepoResult(null);
6424
6430
  setRepoSelected(/* @__PURE__ */ new Set());
6425
- const slug = result.repos[result.repos.length - 1].repo;
6431
+ const slug = result.repo;
6426
6432
  setScanningRepo(slug);
6427
6433
  setRepoDiscoverState({ status: "scanning" });
6428
6434
  try {