dsh-model-extension 1.2.3 → 1.3.1
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.
- package/README.md +89 -78
- package/lib/client.js +160 -110
- package/lib/client.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +8 -8
package/lib/client.js
CHANGED
|
@@ -3,7 +3,7 @@ window.__ModuleLoader__.load({
|
|
|
3
3
|
factory: (require) => {
|
|
4
4
|
var module = { exports: {} };
|
|
5
5
|
var exports = module.exports;
|
|
6
|
-
var __extCss = ".J84-9a_section{max-width:720px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}.J84-9a_titleRow{align-items:center;gap:10px;display:flex}.J84-9a_title{color:var(--dsw-alias-label-primary);margin:0;font-size:16px;font-weight:500;line-height:24px}.J84-9a_intro{color:var(--dsw-alias-label-tertiary);margin:0;font-size:14px;line-height:22px}.J84-9a_savedNotice{color:var(--dsw-alias-state-success-primary);margin:0;font-size:12px;line-height:18px}.J84-9a_error{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:18px}.J84-9a_rows{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.J84-9a_rowCard{border:.5px solid var(--dsw-alias-border-l4);border-radius:16px;flex-direction:column;gap:12px;padding:12px 14px;display:flex}.J84-9a_rowHead{align-items:center;gap:10px;display:flex}.J84-9a_rowIdentity{align-items:center;gap:6px;min-width:0;display:inline-flex}.J84-9a_rowName{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:500;line-height:22px}.J84-9a_rowTag{border:.5px solid var(--dsw-alias-border-l3);color:var(--dsw-alias-label-secondary);border-radius:4px;flex:none;padding:1px 6px;font-size:11px;line-height:16px}.J84-9a_credentialDot{box-sizing:border-box;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.J84-9a_credentialDotConfigured{background:var(--dsw-alias-state-success-primary)}.J84-9a_credentialDotMissing{background:var(--dsw-alias-state-error-primary)}.J84-9a_rowActions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.J84-9a_primaryButton,.J84-9a_secondaryButton,.J84-9a_addButton{box-sizing:border-box;height:36px;font:inherit;cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;gap:4px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.J84-9a_primaryButton{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}.J84-9a_primaryButton:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}.J84-9a_secondaryButton,.J84-9a_addButton{border:.5px solid var(--dsw-alias-border-l3);color:var(--dsw-alias-label-primary);background:0 0}.J84-9a_secondaryButton:hover:not(:disabled),.J84-9a_addButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.J84-9a_secondaryButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-solid)}.J84-9a_dangerButton{box-sizing:border-box;height:36px;color:var(--dsw-alias-state-error-primary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:18px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.J84-9a_dangerButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}.J84-9a_rowActions .J84-9a_secondaryButton,.J84-9a_rowActions .J84-9a_dangerButton{border-radius:14px;height:28px;padding:0 10px;font-size:12px;line-height:18px}.J84-9a_primaryButton:disabled,.J84-9a_secondaryButton:disabled,.J84-9a_dangerButton:disabled,.J84-9a_addButton:disabled,.J84-9a_linkButton:disabled,.J84-9a_addModelButton:disabled{opacity:.4;cursor:default}.J84-9a_primaryButton:focus-visible,.J84-9a_secondaryButton:focus-visible,.J84-9a_dangerButton:focus-visible,.J84-9a_addButton:focus-visible,.J84-9a_linkButton:focus-visible,.J84-9a_addModelButton:focus-visible,.J84-9a_iconButton:focus-visible,.J84-9a_customizedSummary:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-border-l3);outline:none}.J84-9a_editor{background:var(--dsw-alias-bg-module-platform);border-radius:12px;flex-direction:column;gap:14px;padding:14px 16px;display:flex}.J84-9a_field{flex-direction:column;gap:6px;display:flex}.J84-9a_fieldLabel{color:var(--dsw-alias-label-secondary);align-items:center;gap:10px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.J84-9a_linkButton{box-sizing:border-box;height:28px;color:var(--dsw-alias-label-tertiary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:14px;align-items:center;padding:0 10px;font-size:12px;line-height:18px;display:inline-flex}.J84-9a_linkButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}.J84-9a_advancedHint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}.J84-9a_editorActions{justify-content:flex-end;gap:8px;display:flex}.J84-9a_addBlock{flex-direction:column;gap:12px;display:flex}.J84-9a_addActions{flex-wrap:wrap;gap:10px;display:flex}.J84-9a_addButton{border:1px dashed var(--dsw-alias-border-l3);border-radius:16px;flex:1 1 0;gap:6px;min-width:180px;height:44px}.J84-9a_addCard{background:var(--dsw-alias-bg-module-platform);border-radius:12px;flex-direction:column;gap:14px;padding:14px 16px;list-style:none;display:flex}.J84-9a_addCard .J84-9a_editor,.J84-9a_setupCard .J84-9a_editor{background:0 0;padding:0}.J84-9a_tabs{flex-direction:column;gap:12px;display:flex}.J84-9a_tabBar{border-bottom:.5px solid var(--dsw-alias-border-l2);gap:4px;display:flex}.J84-9a_tabButton{appearance:none;font:inherit;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;padding:6px 12px 8px;font-size:13px;line-height:20px;position:relative}.J84-9a_tabButton:hover{color:var(--dsw-alias-label-primary)}.J84-9a_tabButton:disabled{opacity:.4;cursor:default}.J84-9a_tabButtonActive{color:var(--dsw-alias-label-primary);font-weight:500}.J84-9a_tabButtonActive:after{content:\"\";background:var(--dsw-alias-brand-primary);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.J84-9a_tabPanel{flex-direction:column;gap:12px;display:flex}.J84-9a_modelCatalog{flex-direction:column;gap:10px;display:flex}.J84-9a_modelCatalogHeading{flex-direction:column;gap:2px;display:flex}.J84-9a_modelCatalogTitle{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:500;line-height:18px}.J84-9a_modelCatalogMeta,.J84-9a_modelEmpty{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}.J84-9a_modelList{flex-direction:column;gap:8px;display:flex}.J84-9a_modelListHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.J84-9a_modelEntry{border:.5px solid var(--dsw-alias-border-l4);border-radius:10px;padding:6px}.J84-9a_modelRow{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.J84-9a_iconButton{box-sizing:border-box;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.J84-9a_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.J84-9a_iconButton:disabled{cursor:default;opacity:.4}.J84-9a_iconButtonDanger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.J84-9a_modelAdvanced{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:8px 4px 2px;display:grid}.J84-9a_modelField{flex-direction:column;gap:4px;display:flex}.J84-9a_modelFieldLabel{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.J84-9a_modelEmpty{border:1px dashed var(--dsw-alias-border-l3);text-align:center;border-radius:8px;padding:12px}.J84-9a_addModelButton{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);height:28px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-self:flex-start;align-items:center;gap:4px;padding:0 10px;font-size:12px;line-height:18px;display:inline-flex}.J84-9a_addModelButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.J84-9a_input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);width:100%;height:32px;font:inherit;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 10px;font-size:14px;line-height:22px}select.J84-9a_input{cursor:pointer;max-width:240px}.J84-9a_input:focus{border-color:var(--dsw-alias-brand-primary);outline:none}.J84-9a_input::placeholder{color:var(--dsw-alias-label-dimmed)}.J84-9a_input:disabled{opacity:.6;cursor:default}.J84-9a_selectInput{appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}.J84-9a_deleteDialog{width:min(480px,100%)}.J84-9a_deleteConfirm:not(:disabled){border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}.J84-9a_deleteConfirm:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}.J84-9a_fetchDialog{max-width:520px}.J84-9a_candidateToolbar{align-items:center;gap:8px;margin-bottom:6px;display:flex}.J84-9a_candidateSearch{flex:240px;min-width:0}.J84-9a_candidateList{flex-direction:column;gap:2px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.J84-9a_candidate{border-radius:6px}.J84-9a_candidateLabel{cursor:pointer;align-items:center;gap:8px;padding:6px 8px;display:flex}.J84-9a_candidateId{overflow-wrap:anywhere;flex:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.J84-9a_candidateEmpty{color:var(--dsw-alias-label-secondary);text-align:center;margin:24px 0;font-size:13px;line-height:20px}[hidden]{display:none!important}.J84-9a_extBlock{border:.5px solid var(--dsw-alias-border-l3);background:var(--dsw-alias-bg-layer-1);border-radius:10px;flex-direction:column;gap:10px;margin:8px 4px 2px;padding:10px;display:flex}.J84-9a_extGroup{border-top:.5px solid var(--dsw-alias-border-l2);padding-top:12px}.J84-9a_extGroupFirst{border-top:none;padding-top:0}.J84-9a_extCheck{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.J84-9a_extCheckLabel{color:var(--dsw-alias-label-primary);font-size:14px;line-height:22px}.J84-9a_extHint{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.J84-9a_extGated{flex-direction:column;gap:12px;padding-left:2px;display:flex}.J84-9a_extField{flex-direction:column;gap:6px;display:flex}.J84-9a_extLabel{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.J84-9a_extTable{border:.5px solid var(--dsw-alias-border-l4);border-radius:8px;overflow:hidden}.J84-9a_extTHead{color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-module-platform);grid-template-columns:64px minmax(0,1fr) minmax(0,1.2fr);font-size:12px;line-height:18px;display:grid}.J84-9a_extTHead>div{padding:6px 10px}.J84-9a_extTHead>div+div{border-left:.5px solid var(--dsw-alias-border-l2)}.J84-9a_extTRow{border-top:.5px solid var(--dsw-alias-border-l2);grid-template-columns:64px minmax(0,1fr) minmax(0,1.2fr);align-items:center;display:grid}.J84-9a_extTRow>div{padding:6px 10px;font-size:14px}.J84-9a_extTRow>div+div{border-left:.5px solid var(--dsw-alias-border-l2)}.J84-9a_extTRow input[type=text]{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);width:100%;height:32px;font:inherit;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 10px;font-size:14px}.J84-9a_extTRow input[type=text]:disabled{opacity:.6;cursor:default}.J84-9a_extCheckbox{accent-color:var(--dsw-alias-brand-primary);flex:none;width:15px;height:15px}.J84-9a_switchRow{cursor:pointer;align-items:center;gap:8px;font-size:14px;line-height:22px;display:flex}.J84-9a_extTag{background:var(--dsw-static-deepseek-100);color:var(--dsw-static-deepseek-600);border:.5px solid #4176e659;border-radius:4px;flex:none;padding:1px 6px;font-size:11px;font-weight:500;line-height:16px}.J84-9a_modalMask{background:var(--dsw-alias-bg-mask-1);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.J84-9a_modal{background:var(--dsw-specific-menu);border-radius:16px;width:100%;padding:20px;box-shadow:0 12px 40px #0000002e}.J84-9a_modalTitle{color:var(--dsw-alias-label-primary);margin-bottom:8px;font-size:16px;font-weight:500;line-height:24px}.J84-9a_modalDesc{color:var(--dsw-alias-label-secondary);margin-bottom:16px;font-size:14px;line-height:22px}.J84-9a_modalFoot{justify-content:flex-end;gap:8px;display:flex}.J84-9a_quickWrap{flex-direction:column;gap:6px;display:flex;position:relative}.J84-9a_quickList{z-index:20;border:.5px solid var(--dsw-alias-border-l3);background:var(--dsw-specific-menu);border-radius:8px;max-height:264px;margin-top:2px;padding:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.J84-9a_quickItem{width:100%;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;display:flex}.J84-9a_quickItemId{overflow-wrap:anywhere}.J84-9a_quickItemApi{color:var(--dsw-alias-label-tertiary);letter-spacing:.2px;font-size:11px;line-height:14px}.J84-9a_quickItem:hover{background:var(--dsw-alias-interactive-bg-hover)}.J84-9a_quickEmpty{color:var(--dsw-alias-label-tertiary);padding:6px 8px;font-size:12px;line-height:18px}@media (prefers-reduced-motion:reduce){.J84-9a_customizedSummary:before{transition:none}}\n";
|
|
6
|
+
var __extCss = ".PkL4gq_section{max-width:720px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}.PkL4gq_titleRow{align-items:center;gap:10px;display:flex}.PkL4gq_title{color:var(--dsw-alias-label-primary);margin:0;font-size:16px;font-weight:500;line-height:24px}.PkL4gq_intro{color:var(--dsw-alias-label-tertiary);margin:0;font-size:14px;line-height:22px}.PkL4gq_savedNotice{color:var(--dsw-alias-state-success-primary);margin:0;font-size:12px;line-height:18px}.PkL4gq_error{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:18px}.PkL4gq_rows{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.PkL4gq_rowCard{border:.5px solid var(--dsw-alias-border-l4);border-radius:16px;flex-direction:column;gap:12px;padding:12px 14px;display:flex}.PkL4gq_rowHead{align-items:center;gap:10px;display:flex}.PkL4gq_rowIdentity{align-items:center;gap:6px;min-width:0;display:inline-flex}.PkL4gq_rowName{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:500;line-height:22px}.PkL4gq_rowTag{border:.5px solid var(--dsw-alias-border-l3);color:var(--dsw-alias-label-secondary);border-radius:4px;flex:none;padding:1px 6px;font-size:11px;line-height:16px}.PkL4gq_credentialDot{box-sizing:border-box;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.PkL4gq_credentialDotConfigured{background:var(--dsw-alias-state-success-primary)}.PkL4gq_credentialDotMissing{background:var(--dsw-alias-state-error-primary)}.PkL4gq_rowActions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.PkL4gq_primaryButton,.PkL4gq_secondaryButton,.PkL4gq_addButton{box-sizing:border-box;height:36px;font:inherit;cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;gap:4px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.PkL4gq_primaryButton{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}.PkL4gq_primaryButton:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}.PkL4gq_secondaryButton,.PkL4gq_addButton{border:.5px solid var(--dsw-alias-border-l3);color:var(--dsw-alias-label-primary);background:0 0}.PkL4gq_secondaryButton:hover:not(:disabled),.PkL4gq_addButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.PkL4gq_secondaryButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-solid)}.PkL4gq_dangerButton{box-sizing:border-box;height:36px;color:var(--dsw-alias-state-error-primary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:18px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.PkL4gq_dangerButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}.PkL4gq_rowActions .PkL4gq_secondaryButton,.PkL4gq_rowActions .PkL4gq_dangerButton{border-radius:14px;height:28px;padding:0 10px;font-size:12px;line-height:18px}.PkL4gq_primaryButton:disabled,.PkL4gq_secondaryButton:disabled,.PkL4gq_dangerButton:disabled,.PkL4gq_addButton:disabled,.PkL4gq_linkButton:disabled,.PkL4gq_addModelButton:disabled{opacity:.4;cursor:default}.PkL4gq_primaryButton:focus-visible,.PkL4gq_secondaryButton:focus-visible,.PkL4gq_dangerButton:focus-visible,.PkL4gq_addButton:focus-visible,.PkL4gq_linkButton:focus-visible,.PkL4gq_addModelButton:focus-visible,.PkL4gq_iconButton:focus-visible,.PkL4gq_customizedSummary:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-border-l3);outline:none}.PkL4gq_editor{background:var(--dsw-alias-bg-module-platform);border-radius:12px;flex-direction:column;gap:14px;padding:14px 16px;display:flex}.PkL4gq_field{flex-direction:column;gap:6px;display:flex}.PkL4gq_fieldLabel{color:var(--dsw-alias-label-secondary);align-items:center;gap:10px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.PkL4gq_linkButton{box-sizing:border-box;height:28px;color:var(--dsw-alias-label-tertiary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:14px;align-items:center;padding:0 10px;font-size:12px;line-height:18px;display:inline-flex}.PkL4gq_linkButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}.PkL4gq_advancedHint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}.PkL4gq_editorActions{justify-content:flex-end;gap:8px;display:flex}.PkL4gq_addBlock{flex-direction:column;gap:12px;display:flex}.PkL4gq_addActions{flex-wrap:wrap;gap:10px;display:flex}.PkL4gq_addButton{border:1px dashed var(--dsw-alias-border-l3);border-radius:16px;flex:1 1 0;gap:6px;min-width:180px;height:44px}.PkL4gq_addCard{background:var(--dsw-alias-bg-module-platform);border-radius:12px;flex-direction:column;gap:14px;padding:14px 16px;list-style:none;display:flex}.PkL4gq_addCard .PkL4gq_editor,.PkL4gq_setupCard .PkL4gq_editor{background:0 0;padding:0}.PkL4gq_tabs{flex-direction:column;gap:12px;display:flex}.PkL4gq_tabBar{border-bottom:.5px solid var(--dsw-alias-border-l2);gap:4px;display:flex}.PkL4gq_tabButton{appearance:none;font:inherit;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;padding:6px 12px 8px;font-size:13px;line-height:20px;position:relative}.PkL4gq_tabButton:hover{color:var(--dsw-alias-label-primary)}.PkL4gq_tabButton:disabled{opacity:.4;cursor:default}.PkL4gq_tabButtonActive{color:var(--dsw-alias-label-primary);font-weight:500}.PkL4gq_tabButtonActive:after{content:\"\";background:var(--dsw-alias-brand-primary);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.PkL4gq_tabPanel{flex-direction:column;gap:12px;display:flex}.PkL4gq_modelCatalog{flex-direction:column;gap:10px;display:flex}.PkL4gq_modelCatalogHeading{flex-direction:column;gap:2px;display:flex}.PkL4gq_modelCatalogTitle{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:500;line-height:18px}.PkL4gq_modelCatalogMeta,.PkL4gq_modelEmpty{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}.PkL4gq_modelList{flex-direction:column;gap:8px;display:flex}.PkL4gq_modelListHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.PkL4gq_modelEntry{border:.5px solid var(--dsw-alias-border-l4);border-radius:10px;padding:6px}.PkL4gq_modelRow{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.PkL4gq_iconButton{box-sizing:border-box;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.PkL4gq_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.PkL4gq_iconButton:disabled{cursor:default;opacity:.4}.PkL4gq_iconButtonDanger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.PkL4gq_modelAdvanced{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:8px 4px 2px;display:grid}.PkL4gq_modelField{flex-direction:column;gap:4px;display:flex}.PkL4gq_modelFieldLabel{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.PkL4gq_modelEmpty{border:1px dashed var(--dsw-alias-border-l3);text-align:center;border-radius:8px;padding:12px}.PkL4gq_addModelButton{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);height:28px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-self:flex-start;align-items:center;gap:4px;padding:0 10px;font-size:12px;line-height:18px;display:inline-flex}.PkL4gq_addModelButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.PkL4gq_input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);width:100%;height:32px;font:inherit;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 10px;font-size:14px;line-height:22px}select.PkL4gq_input{cursor:pointer;max-width:240px}.PkL4gq_input:focus{border-color:var(--dsw-alias-brand-primary);outline:none}.PkL4gq_input::placeholder{color:var(--dsw-alias-label-dimmed)}.PkL4gq_input:disabled{opacity:.6;cursor:default}.PkL4gq_selectInput{appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}.PkL4gq_deleteDialog{width:min(480px,100%)}.PkL4gq_deleteConfirm:not(:disabled){border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}.PkL4gq_deleteConfirm:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}.PkL4gq_fetchDialog{max-width:520px}.PkL4gq_candidateToolbar{align-items:center;gap:8px;margin-bottom:6px;display:flex}.PkL4gq_candidateSearch{flex:240px;min-width:0}.PkL4gq_candidateList{flex-direction:column;gap:2px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.PkL4gq_candidate{border-radius:6px}.PkL4gq_candidateLabel{cursor:pointer;align-items:center;gap:8px;padding:6px 8px;display:flex}.PkL4gq_candidateId{overflow-wrap:anywhere;flex:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.PkL4gq_candidateEmpty{color:var(--dsw-alias-label-secondary);text-align:center;margin:24px 0;font-size:13px;line-height:20px}[hidden]{display:none!important}.PkL4gq_extBlock{border:.5px solid var(--dsw-alias-border-l3);background:var(--dsw-alias-bg-layer-1);border-radius:10px;flex-direction:column;gap:10px;margin:8px 4px 2px;padding:10px;display:flex}.PkL4gq_extGroup{border-top:.5px solid var(--dsw-alias-border-l2);padding-top:12px}.PkL4gq_extGroupFirst{border-top:none;padding-top:0}.PkL4gq_extCheck{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.PkL4gq_extCheckLabel{color:var(--dsw-alias-label-primary);font-size:14px;line-height:22px}.PkL4gq_extHint{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.PkL4gq_extGated{flex-direction:column;gap:12px;padding-left:2px;display:flex}.PkL4gq_extField{flex-direction:column;gap:6px;display:flex}.PkL4gq_extLabel{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.PkL4gq_extTable{border:.5px solid var(--dsw-alias-border-l4);border-radius:8px;overflow:hidden}.PkL4gq_extTHead{color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-module-platform);grid-template-columns:64px minmax(0,1fr) minmax(0,1.2fr);font-size:12px;line-height:18px;display:grid}.PkL4gq_extTHead>div{padding:6px 10px}.PkL4gq_extTHead>div+div{border-left:.5px solid var(--dsw-alias-border-l2)}.PkL4gq_extTRow{border-top:.5px solid var(--dsw-alias-border-l2);grid-template-columns:64px minmax(0,1fr) minmax(0,1.2fr);align-items:center;display:grid}.PkL4gq_extTRow>div{padding:6px 10px;font-size:14px}.PkL4gq_extTRow>div+div{border-left:.5px solid var(--dsw-alias-border-l2)}.PkL4gq_extTRow input[type=text]{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);width:100%;height:32px;font:inherit;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 10px;font-size:14px}.PkL4gq_extTRow input[type=text]:disabled{opacity:.6;cursor:default}.PkL4gq_extCheckbox{accent-color:var(--dsw-alias-brand-primary);flex:none;width:15px;height:15px}.PkL4gq_switchRow{cursor:pointer;align-items:center;gap:8px;font-size:14px;line-height:22px;display:flex}.PkL4gq_extTag{background:var(--dsw-static-deepseek-100);color:var(--dsw-static-deepseek-600);border:.5px solid #4176e659;border-radius:4px;flex:none;padding:1px 6px;font-size:11px;font-weight:500;line-height:16px}.PkL4gq_modalMask{background:var(--dsw-alias-bg-mask-1);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.PkL4gq_modal{background:var(--dsw-specific-menu);border-radius:16px;width:100%;padding:20px;box-shadow:0 12px 40px #0000002e}.PkL4gq_modalTitle{color:var(--dsw-alias-label-primary);margin-bottom:8px;font-size:16px;font-weight:500;line-height:24px}.PkL4gq_modalDesc{color:var(--dsw-alias-label-secondary);margin-bottom:16px;font-size:14px;line-height:22px}.PkL4gq_modalFoot{justify-content:flex-end;gap:8px;display:flex}.PkL4gq_quickWrap{flex-direction:column;gap:6px;display:flex;position:relative}.PkL4gq_quickList{z-index:20;background:var(--dsw-specific-menu);backdrop-filter:var(--dsw-menu-backdrop-filter);--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-elevation-prominent);border:0;border-radius:8px;max-height:264px;margin-top:2px;padding:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.PkL4gq_quickItem{width:100%;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;display:flex}.PkL4gq_quickItemId{overflow-wrap:anywhere}.PkL4gq_quickItemApi{color:var(--dsw-alias-label-tertiary);letter-spacing:.2px;font-size:11px;line-height:14px}.PkL4gq_quickItem:hover{background:var(--dsw-alias-interactive-bg-hover)}.PkL4gq_quickEmpty{color:var(--dsw-alias-label-tertiary);padding:6px 8px;font-size:12px;line-height:18px}@media (prefers-reduced-motion:reduce){.PkL4gq_customizedSummary:before{transition:none}}\n";
|
|
7
7
|
if (typeof document !== 'undefined' && document.querySelector('style[data-plugin-css="dsh-model-extension"]') === null) {
|
|
8
8
|
var __tag = document.createElement('style');
|
|
9
9
|
__tag.dataset.plugin = "dsh-model-extension";
|
|
@@ -26,7 +26,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
26
26
|
* Join declared configurable providers with the currently registered routes.
|
|
27
27
|
* @param registered - live provider routes in registration order.
|
|
28
28
|
* @param directory - declared configurable providers in declaration order.
|
|
29
|
-
* @returns
|
|
29
|
+
* @returns account and official routes first, then other routes in their original order.
|
|
30
30
|
*/
|
|
31
31
|
function joinProviderDirectory(registered, directory) {
|
|
32
32
|
const active = new Set(registered.map((provider) => provider.id));
|
|
@@ -50,7 +50,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
50
50
|
active: true
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
-
return rows;
|
|
53
|
+
return rows.toSorted((left, right) => (left.provider === "deepseek-account" ? 0 : left.provider === "deepseek-official" ? 1 : 2) - (right.provider === "deepseek-account" ? 0 : right.provider === "deepseek-official" ? 1 : 2));
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* Derive the conventional credential reference for a provider route: the v1
|
|
@@ -158,11 +158,15 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
158
158
|
entry,
|
|
159
159
|
configured: namespace !== void 0 && (entry.settingsPath.length === 0 || this.schema.getPath(namespace.value, entry.settingsPath) !== void 0),
|
|
160
160
|
removable: namespace !== void 0 && entry.settingsPath.length > 0 && this.schema.hasPath(namespace.user, entry.settingsPath) && !this.schema.hasPath(namespace.base, entry.settingsPath),
|
|
161
|
-
apiKeyEnv: apiKeyEnvOf(namespace, entry.settingsPath, this.schema),
|
|
161
|
+
apiKeyEnv: entry.provider === "deepseek-account" ? void 0 : apiKeyEnvOf(namespace, entry.settingsPath, this.schema),
|
|
162
162
|
credential: void 0
|
|
163
163
|
};
|
|
164
164
|
});
|
|
165
|
-
|
|
165
|
+
if (rows.some((row) => row.entry.provider === "deepseek-account")) {
|
|
166
|
+
const catalog = await this.ctx.remote.session.modelCatalog();
|
|
167
|
+
for (const row of rows) if (row.entry.provider === "deepseek-account") row.accountAvailable = catalog.ok && catalog.value.groups.some((group) => group.id === "deepseek-account" && group.models.length > 0);
|
|
168
|
+
}
|
|
169
|
+
const refs = [...new Set(rows.filter((row) => row.entry.provider !== "deepseek-account").map((row) => row.apiKeyEnv ?? deriveKeyRef(row.entry.provider)))];
|
|
166
170
|
let credentials = {};
|
|
167
171
|
let credentialError = null;
|
|
168
172
|
if (refs.length > 0) {
|
|
@@ -176,7 +180,8 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
176
180
|
s.error = null;
|
|
177
181
|
s.credentialError = credentialError;
|
|
178
182
|
s.writable = writable;
|
|
179
|
-
s.rows = rows.map((row) => {
|
|
183
|
+
s.rows = rows.filter((row) => row.entry.provider !== "deepseek-account" || row.accountAvailable === true).map((row) => {
|
|
184
|
+
if (row.entry.provider === "deepseek-account") return row;
|
|
180
185
|
const named = row.apiKeyEnv === void 0 ? void 0 : credentials[row.apiKeyEnv];
|
|
181
186
|
const derived = row.apiKeyEnv !== void 0 ? void 0 : credentials[deriveKeyRef(row.entry.provider)];
|
|
182
187
|
return {
|
|
@@ -209,6 +214,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
209
214
|
*/
|
|
210
215
|
function providerUsable(row) {
|
|
211
216
|
if (!row.entry.active) return false;
|
|
217
|
+
if (row.entry.provider === "deepseek-account") return row.accountAvailable === true;
|
|
212
218
|
if (row.apiKeyEnv === void 0) return true;
|
|
213
219
|
return row.credential?.configured === true;
|
|
214
220
|
}
|
|
@@ -596,6 +602,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
596
602
|
/** Extra copy for the extension, keyed like the official dictionaries (en is authoritative). */
|
|
597
603
|
const en = {
|
|
598
604
|
nav: "Models+",
|
|
605
|
+
deepSeekAccount: "DeepSeek Account",
|
|
599
606
|
title: "Models+",
|
|
600
607
|
intro: "Enter your API keys to use models from the following providers.",
|
|
601
608
|
edit: "Edit",
|
|
@@ -708,6 +715,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
708
715
|
/** Chinese strings — same key set as {@link en}. */
|
|
709
716
|
const zh = {
|
|
710
717
|
nav: "模型+",
|
|
718
|
+
deepSeekAccount: "DeepSeek 账号",
|
|
711
719
|
title: "模型+",
|
|
712
720
|
intro: "填入各提供方的 API 密钥即可使用其模型。",
|
|
713
721
|
edit: "编辑",
|
|
@@ -1161,95 +1169,95 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
1161
1169
|
//#endregion
|
|
1162
1170
|
//#region src/client/models-plus/models-plus.module.css
|
|
1163
1171
|
var models_plus_module_default = {
|
|
1164
|
-
"addActions": "
|
|
1165
|
-
"addBlock": "
|
|
1166
|
-
"addButton": "
|
|
1167
|
-
"addCard": "
|
|
1168
|
-
"addModelButton": "
|
|
1169
|
-
"advancedHint": "
|
|
1170
|
-
"candidate": "
|
|
1171
|
-
"candidateEmpty": "
|
|
1172
|
-
"candidateId": "
|
|
1173
|
-
"candidateLabel": "
|
|
1174
|
-
"candidateList": "
|
|
1175
|
-
"candidateSearch": "
|
|
1176
|
-
"candidateToolbar": "
|
|
1177
|
-
"credentialDot": "
|
|
1178
|
-
"credentialDotConfigured": "
|
|
1179
|
-
"credentialDotMissing": "
|
|
1180
|
-
"customizedSummary": "
|
|
1181
|
-
"dangerButton": "
|
|
1182
|
-
"deleteConfirm": "
|
|
1183
|
-
"deleteDialog": "
|
|
1184
|
-
"editor": "
|
|
1185
|
-
"editorActions": "
|
|
1186
|
-
"error": "
|
|
1187
|
-
"extBlock": "
|
|
1188
|
-
"extCheck": "
|
|
1189
|
-
"extCheckbox": "
|
|
1190
|
-
"extCheckLabel": "
|
|
1191
|
-
"extField": "
|
|
1192
|
-
"extGated": "
|
|
1193
|
-
"extGroup": "
|
|
1194
|
-
"extGroupFirst": "
|
|
1195
|
-
"extHint": "
|
|
1196
|
-
"extLabel": "
|
|
1197
|
-
"extTable": "
|
|
1198
|
-
"extTag": "
|
|
1199
|
-
"extTHead": "
|
|
1200
|
-
"extTRow": "
|
|
1201
|
-
"fetchDialog": "
|
|
1202
|
-
"field": "
|
|
1203
|
-
"fieldLabel": "
|
|
1204
|
-
"iconButton": "
|
|
1205
|
-
"iconButtonDanger": "
|
|
1206
|
-
"input": "
|
|
1207
|
-
"intro": "
|
|
1208
|
-
"linkButton": "
|
|
1209
|
-
"modal": "
|
|
1210
|
-
"modalDesc": "
|
|
1211
|
-
"modalFoot": "
|
|
1212
|
-
"modalMask": "
|
|
1213
|
-
"modalTitle": "
|
|
1214
|
-
"modelAdvanced": "
|
|
1215
|
-
"modelCatalog": "
|
|
1216
|
-
"modelCatalogHeading": "
|
|
1217
|
-
"modelCatalogMeta": "
|
|
1218
|
-
"modelCatalogTitle": "
|
|
1219
|
-
"modelEmpty": "
|
|
1220
|
-
"modelEntry": "
|
|
1221
|
-
"modelField": "
|
|
1222
|
-
"modelFieldLabel": "
|
|
1223
|
-
"modelList": "
|
|
1224
|
-
"modelListHead": "
|
|
1225
|
-
"modelRow": "
|
|
1226
|
-
"primaryButton": "
|
|
1227
|
-
"quickEmpty": "
|
|
1228
|
-
"quickItem": "
|
|
1229
|
-
"quickItemApi": "
|
|
1230
|
-
"quickItemId": "
|
|
1231
|
-
"quickList": "
|
|
1232
|
-
"quickWrap": "
|
|
1233
|
-
"rowActions": "
|
|
1234
|
-
"rowCard": "
|
|
1235
|
-
"rowHead": "
|
|
1236
|
-
"rowIdentity": "
|
|
1237
|
-
"rowName": "
|
|
1238
|
-
"rows": "
|
|
1239
|
-
"rowTag": "
|
|
1240
|
-
"savedNotice": "
|
|
1241
|
-
"secondaryButton": "
|
|
1242
|
-
"section": "
|
|
1243
|
-
"selectInput": "
|
|
1244
|
-
"setupCard": "
|
|
1245
|
-
"switchRow": "
|
|
1246
|
-
"tabBar": "
|
|
1247
|
-
"tabButton": "
|
|
1248
|
-
"tabButtonActive": "
|
|
1249
|
-
"tabPanel": "
|
|
1250
|
-
"tabs": "
|
|
1251
|
-
"title": "
|
|
1252
|
-
"titleRow": "
|
|
1172
|
+
"addActions": "PkL4gq_addActions",
|
|
1173
|
+
"addBlock": "PkL4gq_addBlock",
|
|
1174
|
+
"addButton": "PkL4gq_addButton",
|
|
1175
|
+
"addCard": "PkL4gq_addCard",
|
|
1176
|
+
"addModelButton": "PkL4gq_addModelButton",
|
|
1177
|
+
"advancedHint": "PkL4gq_advancedHint",
|
|
1178
|
+
"candidate": "PkL4gq_candidate",
|
|
1179
|
+
"candidateEmpty": "PkL4gq_candidateEmpty",
|
|
1180
|
+
"candidateId": "PkL4gq_candidateId",
|
|
1181
|
+
"candidateLabel": "PkL4gq_candidateLabel",
|
|
1182
|
+
"candidateList": "PkL4gq_candidateList",
|
|
1183
|
+
"candidateSearch": "PkL4gq_candidateSearch",
|
|
1184
|
+
"candidateToolbar": "PkL4gq_candidateToolbar",
|
|
1185
|
+
"credentialDot": "PkL4gq_credentialDot",
|
|
1186
|
+
"credentialDotConfigured": "PkL4gq_credentialDotConfigured",
|
|
1187
|
+
"credentialDotMissing": "PkL4gq_credentialDotMissing",
|
|
1188
|
+
"customizedSummary": "PkL4gq_customizedSummary",
|
|
1189
|
+
"dangerButton": "PkL4gq_dangerButton",
|
|
1190
|
+
"deleteConfirm": "PkL4gq_deleteConfirm",
|
|
1191
|
+
"deleteDialog": "PkL4gq_deleteDialog",
|
|
1192
|
+
"editor": "PkL4gq_editor",
|
|
1193
|
+
"editorActions": "PkL4gq_editorActions",
|
|
1194
|
+
"error": "PkL4gq_error",
|
|
1195
|
+
"extBlock": "PkL4gq_extBlock",
|
|
1196
|
+
"extCheck": "PkL4gq_extCheck",
|
|
1197
|
+
"extCheckbox": "PkL4gq_extCheckbox",
|
|
1198
|
+
"extCheckLabel": "PkL4gq_extCheckLabel",
|
|
1199
|
+
"extField": "PkL4gq_extField",
|
|
1200
|
+
"extGated": "PkL4gq_extGated",
|
|
1201
|
+
"extGroup": "PkL4gq_extGroup",
|
|
1202
|
+
"extGroupFirst": "PkL4gq_extGroupFirst",
|
|
1203
|
+
"extHint": "PkL4gq_extHint",
|
|
1204
|
+
"extLabel": "PkL4gq_extLabel",
|
|
1205
|
+
"extTable": "PkL4gq_extTable",
|
|
1206
|
+
"extTag": "PkL4gq_extTag",
|
|
1207
|
+
"extTHead": "PkL4gq_extTHead",
|
|
1208
|
+
"extTRow": "PkL4gq_extTRow",
|
|
1209
|
+
"fetchDialog": "PkL4gq_fetchDialog",
|
|
1210
|
+
"field": "PkL4gq_field",
|
|
1211
|
+
"fieldLabel": "PkL4gq_fieldLabel",
|
|
1212
|
+
"iconButton": "PkL4gq_iconButton",
|
|
1213
|
+
"iconButtonDanger": "PkL4gq_iconButtonDanger",
|
|
1214
|
+
"input": "PkL4gq_input",
|
|
1215
|
+
"intro": "PkL4gq_intro",
|
|
1216
|
+
"linkButton": "PkL4gq_linkButton",
|
|
1217
|
+
"modal": "PkL4gq_modal",
|
|
1218
|
+
"modalDesc": "PkL4gq_modalDesc",
|
|
1219
|
+
"modalFoot": "PkL4gq_modalFoot",
|
|
1220
|
+
"modalMask": "PkL4gq_modalMask",
|
|
1221
|
+
"modalTitle": "PkL4gq_modalTitle",
|
|
1222
|
+
"modelAdvanced": "PkL4gq_modelAdvanced",
|
|
1223
|
+
"modelCatalog": "PkL4gq_modelCatalog",
|
|
1224
|
+
"modelCatalogHeading": "PkL4gq_modelCatalogHeading",
|
|
1225
|
+
"modelCatalogMeta": "PkL4gq_modelCatalogMeta",
|
|
1226
|
+
"modelCatalogTitle": "PkL4gq_modelCatalogTitle",
|
|
1227
|
+
"modelEmpty": "PkL4gq_modelEmpty",
|
|
1228
|
+
"modelEntry": "PkL4gq_modelEntry",
|
|
1229
|
+
"modelField": "PkL4gq_modelField",
|
|
1230
|
+
"modelFieldLabel": "PkL4gq_modelFieldLabel",
|
|
1231
|
+
"modelList": "PkL4gq_modelList",
|
|
1232
|
+
"modelListHead": "PkL4gq_modelListHead",
|
|
1233
|
+
"modelRow": "PkL4gq_modelRow",
|
|
1234
|
+
"primaryButton": "PkL4gq_primaryButton",
|
|
1235
|
+
"quickEmpty": "PkL4gq_quickEmpty",
|
|
1236
|
+
"quickItem": "PkL4gq_quickItem",
|
|
1237
|
+
"quickItemApi": "PkL4gq_quickItemApi",
|
|
1238
|
+
"quickItemId": "PkL4gq_quickItemId",
|
|
1239
|
+
"quickList": "PkL4gq_quickList",
|
|
1240
|
+
"quickWrap": "PkL4gq_quickWrap",
|
|
1241
|
+
"rowActions": "PkL4gq_rowActions",
|
|
1242
|
+
"rowCard": "PkL4gq_rowCard",
|
|
1243
|
+
"rowHead": "PkL4gq_rowHead",
|
|
1244
|
+
"rowIdentity": "PkL4gq_rowIdentity",
|
|
1245
|
+
"rowName": "PkL4gq_rowName",
|
|
1246
|
+
"rows": "PkL4gq_rows",
|
|
1247
|
+
"rowTag": "PkL4gq_rowTag",
|
|
1248
|
+
"savedNotice": "PkL4gq_savedNotice",
|
|
1249
|
+
"secondaryButton": "PkL4gq_secondaryButton",
|
|
1250
|
+
"section": "PkL4gq_section",
|
|
1251
|
+
"selectInput": "PkL4gq_selectInput",
|
|
1252
|
+
"setupCard": "PkL4gq_setupCard",
|
|
1253
|
+
"switchRow": "PkL4gq_switchRow",
|
|
1254
|
+
"tabBar": "PkL4gq_tabBar",
|
|
1255
|
+
"tabButton": "PkL4gq_tabButton",
|
|
1256
|
+
"tabButtonActive": "PkL4gq_tabButtonActive",
|
|
1257
|
+
"tabPanel": "PkL4gq_tabPanel",
|
|
1258
|
+
"tabs": "PkL4gq_tabs",
|
|
1259
|
+
"title": "PkL4gq_title",
|
|
1260
|
+
"titleRow": "PkL4gq_titleRow"
|
|
1253
1261
|
};
|
|
1254
1262
|
//#endregion
|
|
1255
1263
|
//#region src/client/models-plus/QuickLoad.tsx
|
|
@@ -2362,14 +2370,21 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
2362
2370
|
* write — the draft comes from the user layer, so a wholesale replace can
|
|
2363
2371
|
* never delete fields outside the card.
|
|
2364
2372
|
*/
|
|
2365
|
-
/**
|
|
2366
|
-
*
|
|
2367
|
-
*
|
|
2368
|
-
*
|
|
2369
|
-
*
|
|
2370
|
-
*
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
+
/**
|
|
2374
|
+
* The official DeepSeek endpoint root, and the only one left to prefill: the
|
|
2375
|
+
* route is Messages-only. The host dropped the `protocol` field in
|
|
2376
|
+
* 0.1.7-alpha.1 and its resolver now refuses a configuration that still carries
|
|
2377
|
+
* one, so a chat-completions variant is neither offered nor reachable — reading
|
|
2378
|
+
* that old field only ever produced the bare root, which the adapter refuses
|
|
2379
|
+
* (host @ 0.1.7-rc.2, `PUBLIC_BASE_URL`).
|
|
2380
|
+
*/
|
|
2381
|
+
const DEEPSEEK_BASE_URL = "https://api.deepseek.com/anthropic";
|
|
2382
|
+
/**
|
|
2383
|
+
* The official signed-in account route. It carries no API key and no base URL
|
|
2384
|
+
* of its own — the host renders the model catalog alone for it, under the
|
|
2385
|
+
* DeepSeek family's curated field set (host @ 0.1.7-rc.2).
|
|
2386
|
+
*/
|
|
2387
|
+
const ACCOUNT_PROVIDER = "deepseek-account";
|
|
2373
2388
|
/** The editor layout the owning namespace selects. */
|
|
2374
2389
|
function layoutOf(ns) {
|
|
2375
2390
|
if (ns === "llm-deepseek") return "deepseek";
|
|
@@ -2411,7 +2426,8 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
2411
2426
|
]);
|
|
2412
2427
|
const fallback = schema.getPath(namespace.value, settingsPath);
|
|
2413
2428
|
const disabled = props.readOnly || busy;
|
|
2414
|
-
const
|
|
2429
|
+
const accountProvider = props.provider === ACCOUNT_PROVIDER;
|
|
2430
|
+
const layout = accountProvider ? "deepseek" : layoutOf(namespace.ns);
|
|
2415
2431
|
const keyRef = refFor(schema, namespace, settingsPath, props.provider);
|
|
2416
2432
|
const protocols = (0, react.useMemo)(() => layout === "pi-ai" ? protocolChoices(namespace, schema) : [], [
|
|
2417
2433
|
layout,
|
|
@@ -2435,6 +2451,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
2435
2451
|
};
|
|
2436
2452
|
}, [layout]);
|
|
2437
2453
|
(0, react.useEffect)(() => {
|
|
2454
|
+
if (accountProvider) return;
|
|
2438
2455
|
let stale = false;
|
|
2439
2456
|
setKeyState(void 0);
|
|
2440
2457
|
operations.describeCredential(keyRef).then((described) => {
|
|
@@ -2444,7 +2461,11 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
2444
2461
|
return () => {
|
|
2445
2462
|
stale = true;
|
|
2446
2463
|
};
|
|
2447
|
-
}, [
|
|
2464
|
+
}, [
|
|
2465
|
+
operations,
|
|
2466
|
+
keyRef,
|
|
2467
|
+
accountProvider
|
|
2468
|
+
]);
|
|
2448
2469
|
const stringAt = (source, key) => {
|
|
2449
2470
|
const value = schema.getPath(source, [key]);
|
|
2450
2471
|
return typeof value === "string" && value.trim().length > 0 ? value : void 0;
|
|
@@ -2566,6 +2587,23 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
2566
2587
|
namespace.ns,
|
|
2567
2588
|
")"
|
|
2568
2589
|
]
|
|
2590
|
+
}) : accountProvider ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModelCatalog, {
|
|
2591
|
+
models,
|
|
2592
|
+
overridden: modelsOverridden,
|
|
2593
|
+
routeApi,
|
|
2594
|
+
defaultContextWindow: typeof defaultContextWindow === "number" ? defaultContextWindow : void 0,
|
|
2595
|
+
defaultMaxTokens: typeof defaultMaxTokens === "number" ? defaultMaxTokens : void 0,
|
|
2596
|
+
probe,
|
|
2597
|
+
probeBlocked: keyFailure,
|
|
2598
|
+
hideFetch: true,
|
|
2599
|
+
operations,
|
|
2600
|
+
disabled,
|
|
2601
|
+
onChange: (rows) => {
|
|
2602
|
+
setDraft((current) => schema.setPath(current, ["models"], rows));
|
|
2603
|
+
},
|
|
2604
|
+
onReset: () => {
|
|
2605
|
+
setDraft((current) => schema.deletePath(current, ["models"]));
|
|
2606
|
+
}
|
|
2569
2607
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
2570
2608
|
className: models_plus_module_default["tabs"],
|
|
2571
2609
|
children: [
|
|
@@ -2651,7 +2689,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
2651
2689
|
className: models_plus_module_default["input"],
|
|
2652
2690
|
type: "text",
|
|
2653
2691
|
value: stringAt(draft, "baseURL") ?? "",
|
|
2654
|
-
placeholder: layout === "deepseek" ?
|
|
2692
|
+
placeholder: layout === "deepseek" ? DEEPSEEK_BASE_URL : stringAt(fallback, "baseURL") ?? "提供方默认",
|
|
2655
2693
|
"aria-label": "API 地址",
|
|
2656
2694
|
disabled,
|
|
2657
2695
|
onChange: (event) => {
|
|
@@ -2660,7 +2698,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
2660
2698
|
}),
|
|
2661
2699
|
layout === "deepseek" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
2662
2700
|
className: models_plus_module_default["advancedHint"],
|
|
2663
|
-
children: "
|
|
2701
|
+
children: "该路由固定使用 Messages 协议,地址须指向兼容该协议的端点。"
|
|
2664
2702
|
}) : null
|
|
2665
2703
|
]
|
|
2666
2704
|
}),
|
|
@@ -3046,7 +3084,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
3046
3084
|
*/
|
|
3047
3085
|
/** One fact decides the first-run posture: whether any provider is usable. */
|
|
3048
3086
|
function needsSetup(row, anyUsable) {
|
|
3049
|
-
if (anyUsable) return false;
|
|
3087
|
+
if (anyUsable || row.entry.provider === "deepseek-account") return false;
|
|
3050
3088
|
if (row.entry.settingsPath.length > 0) return false;
|
|
3051
3089
|
return row.credential?.configured !== true;
|
|
3052
3090
|
}
|
|
@@ -3102,7 +3140,17 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
3102
3140
|
function Loaded({ injected }) {
|
|
3103
3141
|
const { controller, operations, schema, t } = injected;
|
|
3104
3142
|
const useSnapshot = injected.useSnapshot;
|
|
3105
|
-
const
|
|
3143
|
+
const snapshot = useSnapshot((value) => value);
|
|
3144
|
+
const state = {
|
|
3145
|
+
...snapshot,
|
|
3146
|
+
rows: snapshot.rows.map((row) => row.entry.provider === "deepseek-account" ? {
|
|
3147
|
+
...row,
|
|
3148
|
+
entry: {
|
|
3149
|
+
...row.entry,
|
|
3150
|
+
displayName: t("deepSeekAccount")
|
|
3151
|
+
}
|
|
3152
|
+
} : row)
|
|
3153
|
+
};
|
|
3106
3154
|
const [editing, setEditing] = (0, react.useState)(void 0);
|
|
3107
3155
|
const [adding, setAdding] = (0, react.useState)(false);
|
|
3108
3156
|
const [declaring, setDeclaring] = (0, react.useState)(false);
|
|
@@ -3529,7 +3577,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
3529
3577
|
//#region src/client/index-extension.ts
|
|
3530
3578
|
/** Cordis service name (distinct from the npm package name). */
|
|
3531
3579
|
const name = "model-extension-client";
|
|
3532
|
-
/** Required services — mirrors the upstream Models section registration @ 0.1.7-rc.
|
|
3580
|
+
/** Required services — mirrors the upstream Models section registration @ 0.1.7-rc.2. */
|
|
3533
3581
|
const inject = [
|
|
3534
3582
|
"slots",
|
|
3535
3583
|
"locale",
|
|
@@ -3537,6 +3585,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
3537
3585
|
"remote.credentials",
|
|
3538
3586
|
"remote.llm",
|
|
3539
3587
|
"remote.settings",
|
|
3588
|
+
"remote.session",
|
|
3540
3589
|
"configForms",
|
|
3541
3590
|
"settingsSchema"
|
|
3542
3591
|
];
|
|
@@ -3574,6 +3623,7 @@ if (typeof document !== 'undefined' && document.querySelector('style[data-plugin
|
|
|
3574
3623
|
ctx.remote.$on("settings/document-updated", () => {
|
|
3575
3624
|
refreshModels();
|
|
3576
3625
|
}),
|
|
3626
|
+
ctx.remote.$on("credentials/record-updated", refreshModels),
|
|
3577
3627
|
ctx.remote.$on("credentials/reference-updated", refreshModels),
|
|
3578
3628
|
ctx.remote.$on("llm/adapters-updated", refreshModels),
|
|
3579
3629
|
ctx.on("connection/reset", refreshModels)
|