@goodandready/dsh-subscriptions 0.7.12 → 0.7.13

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 (2) hide show
  1. package/lib/client.js +16 -13
  2. package/package.json +1 -1
package/lib/client.js CHANGED
@@ -394,33 +394,33 @@ window.__ModuleLoader__.load({
394
394
  "quotaWidgetOff": "Off",
395
395
  "quotaWidgetDocked": "Docked",
396
396
  "quotaWidgetFloating": "Floating (draggable)",
397
- "quotaWidgetHint": "Floating: draggable; docked.",
397
+ "quotaWidgetHint": "Drag/dock.",
398
398
  "webhookUrl": "Webhook URL",
399
- "webhookUrlHint": "Signed POST target for alerts.",
399
+ "webhookUrlHint": "Signed target.",
400
400
  "webhookSecret": "Webhook secret",
401
401
  "webhookFormat": "Webhook format",
402
402
  "webhookFormatNative": "Native",
403
403
  "webhookFormatNotify": "dsh-plugin-notify compatible",
404
404
  "digestIntervalHours": "Digest interval (hours)",
405
- "digestHint": "0 disables digests; needs a URL.",
405
+ "digestHint": "0 = off.",
406
406
  "sendTest": "Send test",
407
407
  "delivered": "delivered",
408
408
  "vaultSnapshots": "Vault snapshots",
409
- "vaultSnapshotsHint": "Encrypted slots; auto pre-pull.",
409
+ "vaultSnapshotsHint": "Auto pre-pull.",
410
410
  "createSnapshot": "Create snapshot",
411
411
  "restoreSnapshot": "Restore",
412
412
  "noSnapshots": "No snapshots yet.",
413
413
  "created": "created",
414
414
  "restoredSlots": "restored slots:",
415
415
  "providerPacks": "Provider packs",
416
- "providerPacksHint": "Add a Responses provider as JSON.",
416
+ "providerPacksHint": "Add provider JSON.",
417
417
  "noPacks": "No packs yet.",
418
418
  "validateAndSave": "Validate & save",
419
419
  "exportPacks": "Export",
420
420
  "exported": "exported",
421
421
  "saved": "saved",
422
422
  "sources": "Sources",
423
- "sourcesHint": "Subscription → API key → Ollama.",
423
+ "sourcesHint": "OAuth → key → Ollama.",
424
424
  "keyRotationOffline": "key-rotation not installed/offline",
425
425
  "keyRotationHealth": "key-rotation health",
426
426
  "apiKeySource": "API key",
@@ -749,33 +749,33 @@ window.__ModuleLoader__.load({
749
749
  "quotaWidgetOff": "关闭",
750
750
  "quotaWidgetDocked": "停靠",
751
751
  "quotaWidgetFloating": "浮动(可拖动)",
752
- "quotaWidgetHint": "浮动可拖动;停靠右下。",
752
+ "quotaWidgetHint": "拖动/停靠",
753
753
  "webhookUrl": "Webhook 地址",
754
- "webhookUrlHint": "警报的签名 POST 目标。",
754
+ "webhookUrlHint": "签名目标。",
755
755
  "webhookSecret": "Webhook 密钥",
756
756
  "webhookFormat": "Webhook 格式",
757
757
  "webhookFormatNative": "原生",
758
758
  "webhookFormatNotify": "兼容 dsh-plugin-notify",
759
759
  "digestIntervalHours": "摘要间隔(小时)",
760
- "digestHint": "0 关闭摘要;需要地址。",
760
+ "digestHint": "0 关闭。",
761
761
  "sendTest": "发送测试",
762
762
  "delivered": "已送达",
763
763
  "vaultSnapshots": "Vault 快照",
764
- "vaultSnapshotsHint": "加密 slots 快照。",
764
+ "vaultSnapshotsHint": "自动预拉取",
765
765
  "createSnapshot": "创建快照",
766
766
  "restoreSnapshot": "恢复",
767
767
  "noSnapshots": "尚无快照。",
768
768
  "created": "已创建",
769
769
  "restoredSlots": "已恢复 slots:",
770
770
  "providerPacks": "供应商包",
771
- "providerPacksHint": "JSON 添加供应商。",
771
+ "providerPacksHint": "JSON 添加",
772
772
  "noPacks": "尚无供应商包。",
773
773
  "validateAndSave": "验证并保存",
774
774
  "exportPacks": "导出",
775
775
  "exported": "已导出",
776
776
  "saved": "已保存",
777
777
  "sources": "来源",
778
- "sourcesHint": "订阅 → 密钥 → Ollama。",
778
+ "sourcesHint": "订阅→密钥→Ollama",
779
779
  "keyRotationOffline": "key-rotation 未安装或离线",
780
780
  "keyRotationHealth": "key-rotation 健康度",
781
781
  "apiKeySource": "API 密钥",
@@ -937,6 +937,7 @@ window.__ModuleLoader__.load({
937
937
  // The translator comes from the slot because its registration declares locale.
938
938
  const t = (props && props.t) || ((key) => key)
939
939
  const [draft, setDraft] = React.useState(null)
940
+ const [newProviders, setNewProviders] = React.useState([])
940
941
  const [accounts, setAccounts] = React.useState([])
941
942
  const [providers, setProviders] = React.useState([])
942
943
  const [modelsCatalog, setModelsCatalog] = React.useState([])
@@ -1642,6 +1643,7 @@ window.__ModuleLoader__.load({
1642
1643
  const used = slots.filter((s) => s.provider === provider).map((s) => s.index)
1643
1644
  let index = 1
1644
1645
  while (used.indexOf(index) >= 0) index++
1646
+ setNewProviders((prev) => prev.includes(provider) ? prev : prev.concat([provider]))
1645
1647
  setSlots((prev) => prev.concat([{ provider: provider, index: index, label: '' }]))
1646
1648
  }
1647
1649
 
@@ -2542,7 +2544,8 @@ window.__ModuleLoader__.load({
2542
2544
  || slot.label || slot.proxyUrl || slot.expiresAt
2543
2545
  || (Array.isArray(slot.tags) && slot.tags.length) || slot.vipOnly || slot.isPro || slot.weight)
2544
2546
  }
2545
- const visibleNames = names.filter((prov) => slots.some((slot) => slot.provider === prov.id && configuredSlot(slot)))
2547
+ const visibleNames = names.filter((prov) => newProviders.includes(prov.id)
2548
+ || slots.some((slot) => slot.provider === prov.id && configuredSlot(slot)))
2546
2549
  const hiddenNames = names.filter((prov) => visibleNames.indexOf(prov) < 0)
2547
2550
  return h(React.Fragment, null,
2548
2551
  visibleNames.map((prov) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodandready/dsh-subscriptions",
3
- "version": "0.7.12",
3
+ "version": "0.7.13",
4
4
  "description": "Use ChatGPT Codex, Claude, Grok, Antigravity, Kimi, GLM, Cursor, Kiro, Copilot, Qwen, ERNIE, Spark, JetBrains, Perplexity, Replit, and Cody subscriptions as DeepSeek Harness LLM providers via OAuth.",
5
5
  "license": "MIT",
6
6
  "type": "module",