@canhta/dsh-autopilot 0.1.0-alpha.2 → 0.1.0-alpha.4
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/lib/client-types/client/SettingsProviderSection.d.ts +2 -1
- package/lib/client-types/client/locales/en.d.ts +2 -1
- package/lib/client-types/client/locales/zh.d.ts +2 -1
- package/lib/client-types/code-host/model.d.ts +7 -0
- package/lib/client-types/code-host/registry.d.ts +3 -1
- package/lib/client-types/web/contract.d.ts +31 -0
- package/lib/client.js +96 -76
- package/lib/client.js.map +1 -1
- package/lib/code-host/model.d.ts +7 -0
- package/lib/code-host/model.js.map +1 -1
- package/lib/code-host/registry.d.ts +3 -1
- package/lib/code-host/registry.js +12 -0
- package/lib/code-host/registry.js.map +1 -1
- package/lib/providers/github-code-host/provider.js +40 -1
- package/lib/providers/github-code-host/provider.js.map +1 -1
- package/lib/web/contract.d.ts +31 -0
- package/lib/web/contract.js +1 -0
- package/lib/web/contract.js.map +1 -1
- package/lib/web/contributions.d.ts +3 -0
- package/lib/web/contributions.js +7 -0
- package/lib/web/contributions.js.map +1 -1
- package/lib/web/projection.d.ts +2 -0
- package/lib/web/projection.js +9 -3
- package/lib/web/projection.js.map +1 -1
- package/lib/web/service.js +3 -1
- package/lib/web/service.js.map +1 -1
- package/package.json +13 -15
|
@@ -3,9 +3,10 @@ import { type ReactNode } from 'react';
|
|
|
3
3
|
import type { OperationsSnapshot, ProviderTestResult } from '../web/contract.js';
|
|
4
4
|
import type { AutopilotTranslate } from './settings-draft.js';
|
|
5
5
|
type Provider = OperationsSnapshot['providers'][number];
|
|
6
|
-
export declare function ProviderConnectionSection({ providers, selectedProvider, codeHostProvider, allowWorkflowChanges, credentials, onSelectProvider, onSelectCodeHostProvider, onAllowWorkflowChanges, onOpenSettings, onTestProvider, onSetCredential, onUnsetCredential, t, }: {
|
|
6
|
+
export declare function ProviderConnectionSection({ providers, selectedProvider, codeHostProviders, codeHostProvider, allowWorkflowChanges, credentials, onSelectProvider, onSelectCodeHostProvider, onAllowWorkflowChanges, onOpenSettings, onTestProvider, onSetCredential, onUnsetCredential, t, }: {
|
|
7
7
|
readonly providers: readonly Provider[];
|
|
8
8
|
readonly selectedProvider: string;
|
|
9
|
+
readonly codeHostProviders: readonly Provider[];
|
|
9
10
|
readonly codeHostProvider: string;
|
|
10
11
|
readonly allowWorkflowChanges: boolean;
|
|
11
12
|
readonly credentials: Record<string, CredentialInfo> | undefined;
|
|
@@ -78,17 +78,18 @@ export declare const en: {
|
|
|
78
78
|
removeWorktree: string;
|
|
79
79
|
settingsIntro: string;
|
|
80
80
|
providerSection: string;
|
|
81
|
+
codeHostProviderSection: string;
|
|
81
82
|
policySection: string;
|
|
82
83
|
budgetSection: string;
|
|
83
84
|
provider: string;
|
|
84
85
|
codeHostProviderReference: string;
|
|
86
|
+
codeHostConfigureHint: string;
|
|
85
87
|
allowWorkflowChanges: string;
|
|
86
88
|
providerSettingsOwnership: string;
|
|
87
89
|
providerAvailable: string;
|
|
88
90
|
providerUnavailable: string;
|
|
89
91
|
providerConfigUnknown: string;
|
|
90
92
|
configurationNamespace: string;
|
|
91
|
-
mcpNotice: string;
|
|
92
93
|
testConnection: string;
|
|
93
94
|
testReady: string;
|
|
94
95
|
testFailed: string;
|
|
@@ -78,17 +78,18 @@ export declare const zh: {
|
|
|
78
78
|
removeWorktree: string;
|
|
79
79
|
settingsIntro: string;
|
|
80
80
|
providerSection: string;
|
|
81
|
+
codeHostProviderSection: string;
|
|
81
82
|
policySection: string;
|
|
82
83
|
budgetSection: string;
|
|
83
84
|
provider: string;
|
|
84
85
|
codeHostProviderReference: string;
|
|
86
|
+
codeHostConfigureHint: string;
|
|
85
87
|
allowWorkflowChanges: string;
|
|
86
88
|
providerSettingsOwnership: string;
|
|
87
89
|
providerAvailable: string;
|
|
88
90
|
providerUnavailable: string;
|
|
89
91
|
providerConfigUnknown: string;
|
|
90
92
|
configurationNamespace: string;
|
|
91
|
-
mcpNotice: string;
|
|
92
93
|
testConnection: string;
|
|
93
94
|
testReady: string;
|
|
94
95
|
testFailed: string;
|
|
@@ -103,6 +103,13 @@ export interface CodeHostProvider {
|
|
|
103
103
|
publishChanges(request: CodeHostProviderRequest): Promise<void>;
|
|
104
104
|
createPullRequest(request: CodeHostProviderRequest): Promise<PullRequestReceipt>;
|
|
105
105
|
}
|
|
106
|
+
/** Stable, secret-free metadata for one currently accepting code-host provider generation. */
|
|
107
|
+
export interface CodeHostProviderRegistration {
|
|
108
|
+
readonly id: CodeHostProviderId;
|
|
109
|
+
readonly displayName: string;
|
|
110
|
+
readonly configurationNamespace: string;
|
|
111
|
+
readonly capabilities: readonly CodeHostCapability[];
|
|
112
|
+
}
|
|
106
113
|
export interface CodeHostPublisher {
|
|
107
114
|
reconcile(publication: CodeHostPublication, signal?: AbortSignal): Promise<CodeHostReconciliation>;
|
|
108
115
|
createBranch(publication: CodeHostPublication, signal?: AbortSignal): Promise<void>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Context, Service } from '@deepseek-ai/cordis';
|
|
2
|
-
import { type CodeHostBinding, type CodeHostProvider, type CodeHostProviderId, type CodeHostPublisher } from './model.js';
|
|
2
|
+
import { type CodeHostBinding, type CodeHostProvider, type CodeHostProviderId, type CodeHostProviderRegistration, type CodeHostPublisher } from './model.js';
|
|
3
3
|
declare module '@deepseek-ai/cordis' {
|
|
4
4
|
interface Context {
|
|
5
5
|
codeHost: CodeHost;
|
|
@@ -12,6 +12,8 @@ export declare class CodeHost extends Service {
|
|
|
12
12
|
constructor(ctx: Context);
|
|
13
13
|
/** Register one complete provider generation; the disposer fences new calls, aborts active work, and drains it. */
|
|
14
14
|
register(provider: CodeHostProvider): () => Promise<void>;
|
|
15
|
+
/** Return stable, secret-free metadata for every currently accepting provider generation. */
|
|
16
|
+
providerRegistrations(): readonly CodeHostProviderRegistration[];
|
|
15
17
|
/** Register the single provider-owned target snapshot used for future execution claims. */
|
|
16
18
|
registerBinding(binding: CodeHostBinding): () => void;
|
|
17
19
|
/** Return the current provider-owned target, or fail before a run can snapshot an unavailable binding. */
|
|
@@ -724,6 +724,37 @@ export declare const operationsSnapshotSchema: z.ZodObject<{
|
|
|
724
724
|
reason: z.ZodString;
|
|
725
725
|
}, z.core.$strip>], "status">;
|
|
726
726
|
}, z.core.$strip>>;
|
|
727
|
+
codeHostProviders: z.ZodArray<z.ZodObject<{
|
|
728
|
+
id: z.ZodString;
|
|
729
|
+
displayName: z.ZodString;
|
|
730
|
+
configurationNamespace: z.ZodString;
|
|
731
|
+
selected: z.ZodBoolean;
|
|
732
|
+
availability: z.ZodEnum<{
|
|
733
|
+
available: "available";
|
|
734
|
+
unavailable: "unavailable";
|
|
735
|
+
}>;
|
|
736
|
+
setup: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
737
|
+
status: z.ZodLiteral<"available">;
|
|
738
|
+
mcpServerName: z.ZodString;
|
|
739
|
+
resources: z.ZodArray<z.ZodObject<{
|
|
740
|
+
label: z.ZodString;
|
|
741
|
+
value: z.ZodString;
|
|
742
|
+
}, z.core.$strip>>;
|
|
743
|
+
credentialRefs: z.ZodArray<z.ZodObject<{
|
|
744
|
+
label: z.ZodString;
|
|
745
|
+
ref: z.ZodString;
|
|
746
|
+
}, z.core.$strip>>;
|
|
747
|
+
lookup: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
748
|
+
status: z.ZodLiteral<"available">;
|
|
749
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
750
|
+
status: z.ZodLiteral<"unavailable">;
|
|
751
|
+
reason: z.ZodString;
|
|
752
|
+
}, z.core.$strip>], "status">;
|
|
753
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
754
|
+
status: z.ZodLiteral<"unavailable">;
|
|
755
|
+
reason: z.ZodString;
|
|
756
|
+
}, z.core.$strip>], "status">;
|
|
757
|
+
}, z.core.$strip>>;
|
|
727
758
|
runs: z.ZodObject<{
|
|
728
759
|
items: z.ZodArray<z.ZodObject<{
|
|
729
760
|
runId: z.ZodString;
|
package/lib/client.js
CHANGED
|
@@ -5536,6 +5536,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5536
5536
|
changedAt: string().datetime()
|
|
5537
5537
|
}),
|
|
5538
5538
|
providers: array(providerViewSchema),
|
|
5539
|
+
codeHostProviders: array(providerViewSchema),
|
|
5539
5540
|
runs: object({
|
|
5540
5541
|
items: array(runSummarySchema),
|
|
5541
5542
|
total: number().int().min(0),
|
|
@@ -5772,17 +5773,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5772
5773
|
removeWorktree: "Remove worktree",
|
|
5773
5774
|
settingsIntro: "Choose the installed tracker binding and operational limits. Provider credentials remain in DSH MCP connections.",
|
|
5774
5775
|
providerSection: "Provider & project",
|
|
5776
|
+
codeHostProviderSection: "Code host provider",
|
|
5775
5777
|
policySection: "Schedule & capacity",
|
|
5776
5778
|
budgetSection: "Budget",
|
|
5777
5779
|
provider: "Tracker provider",
|
|
5778
5780
|
codeHostProviderReference: "Code host provider reference",
|
|
5781
|
+
codeHostConfigureHint: "Enter the code host provider reference above (for example, \"github\") to bind it.",
|
|
5779
5782
|
allowWorkflowChanges: "Allow provider-owned workflow file changes",
|
|
5780
|
-
providerSettingsOwnership: "Project, binding, repository
|
|
5783
|
+
providerSettingsOwnership: "Project, binding, repository, mapping values and the official MCP server connection all live in DSH Settings, not here. Autopilot stores only which MCP server name to use and never asks for the vendor token.",
|
|
5781
5784
|
providerAvailable: "Available",
|
|
5782
5785
|
providerUnavailable: "Unavailable",
|
|
5783
5786
|
providerConfigUnknown: "Configuration is checked on demand",
|
|
5784
5787
|
configurationNamespace: "Settings namespace",
|
|
5785
|
-
mcpNotice: "Connect the matching official MCP server in DSH. Autopilot stores only its binding name and never asks for the vendor token.",
|
|
5786
5788
|
testConnection: "Test connection",
|
|
5787
5789
|
testReady: "Connection ready",
|
|
5788
5790
|
testFailed: "Connection test failed",
|
|
@@ -5928,17 +5930,18 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
5928
5930
|
removeWorktree: "移除工作树",
|
|
5929
5931
|
settingsIntro: "选择已安装的工单绑定和运维限制。提供方凭据仍由 DSH MCP 连接管理。",
|
|
5930
5932
|
providerSection: "提供方与项目",
|
|
5933
|
+
codeHostProviderSection: "代码托管提供方",
|
|
5931
5934
|
policySection: "计划与容量",
|
|
5932
5935
|
budgetSection: "预算",
|
|
5933
5936
|
provider: "工单提供方",
|
|
5934
5937
|
codeHostProviderReference: "代码托管提供方引用",
|
|
5938
|
+
codeHostConfigureHint: "请在上方填写代码托管提供方引用(例如 “github”)以完成绑定。",
|
|
5935
5939
|
allowWorkflowChanges: "允许提供方拥有的工作流文件更改",
|
|
5936
|
-
providerSettingsOwnership: "
|
|
5940
|
+
providerSettingsOwnership: "项目、绑定、仓库、映射值以及官方 MCP 服务器连接均保留在 DSH 设置中,而非此处。Autopilot 只保存要使用的 MCP 服务器名称,绝不会索取提供方令牌。",
|
|
5937
5941
|
providerAvailable: "可用",
|
|
5938
5942
|
providerUnavailable: "不可用",
|
|
5939
5943
|
providerConfigUnknown: "按需检查配置",
|
|
5940
5944
|
configurationNamespace: "设置命名空间",
|
|
5941
|
-
mcpNotice: "请在 DSH 中连接相应的官方 MCP 服务器。Autopilot 只保存绑定名称,绝不会索取提供方令牌。",
|
|
5942
5945
|
testConnection: "测试连接",
|
|
5943
5946
|
testReady: "连接可用",
|
|
5944
5947
|
testFailed: "连接测试失败",
|
|
@@ -6003,9 +6006,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6003
6006
|
configureHint: "请先在此设置页面选择已安装的提供方,再启用调度器。"
|
|
6004
6007
|
};
|
|
6005
6008
|
//#endregion
|
|
6006
|
-
//#region \0dsh-autopilot-css
|
|
6007
|
-
const css$1 = ".
|
|
6008
|
-
const tagId$1 = "@canhta/dsh-autopilot/
|
|
6009
|
+
//#region \0dsh-autopilot-css:/home/runner/work/dsh-autopilot/dsh-autopilot/src/client/operations.module.css.mjs
|
|
6010
|
+
const css$1 = ".Fc_jqa_page{box-sizing:border-box;min-width:0;height:100%;color:var(--dsw-alias-label-primary,#202124);background:var(--dsw-alias-bg-layer-1,#fff);padding:20px 24px;font-size:14px;overflow:auto}.Fc_jqa_header,.Fc_jqa_headerActions,.Fc_jqa_toolbar,.Fc_jqa_detailHeader,.Fc_jqa_detailActions{align-items:center;gap:8px;display:flex}.Fc_jqa_header{justify-content:space-between;gap:24px;margin-bottom:14px}.Fc_jqa_header h1{margin:0;font-size:20px;line-height:1.3}.Fc_jqa_header p,.Fc_jqa_summary>p{color:var(--dsw-alias-label-secondary,#5f6368);margin:4px 0 0}.Fc_jqa_headerActions{flex-wrap:wrap;justify-content:flex-end}.Fc_jqa_connectionNotice,.Fc_jqa_attention,.Fc_jqa_command,.Fc_jqa_notice,.Fc_jqa_blocker{border:1px solid var(--dsw-alias-border-l3,#d9dce1);border-radius:8px;margin:8px 0;padding:10px 12px}.Fc_jqa_attention,.Fc_jqa_blocker{border-color:var(--dsw-alias-state-warn-primary,#a15c00);color:var(--dsw-alias-state-warn-label,#713f00)}.Fc_jqa_connectionNotice,.Fc_jqa_command,.Fc_jqa_notice{background:var(--dsw-alias-bg-layer-2,#f7f8fa)}.Fc_jqa_tabs{border-bottom:1px solid var(--dsw-alias-border-l3,#d9dce1);gap:4px;margin-top:16px;display:flex;overflow-x:auto}.Fc_jqa_tabs button{appearance:none;color:var(--dsw-alias-label-secondary,#5f6368);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px}.Fc_jqa_tabs button:hover{background:var(--dsw-alias-interactive-bg-hover,#f1f3f4)}.Fc_jqa_tabs button:focus-visible,.Fc_jqa_runLink:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,#315efb);outline-offset:2px}.Fc_jqa_tabs .Fc_jqa_activeTab{border-bottom-color:var(--dsw-alias-brand-primary,#315efb);color:var(--dsw-alias-label-primary,#202124)}.Fc_jqa_content{min-width:0;padding-top:16px}.Fc_jqa_runsOnly,.Fc_jqa_split{min-width:0}.Fc_jqa_split{grid-template-columns:minmax(480px,1fr) minmax(380px,460px);gap:16px;display:grid}.Fc_jqa_listRegion{min-width:0}.Fc_jqa_toolbar{flex-wrap:wrap;margin-bottom:12px}.Fc_jqa_toolbar select{border:1px solid var(--dsw-alias-border-l4,#c7cbd1);min-height:34px;color:inherit;background:var(--dsw-alias-bg-layer-1,#fff);border-radius:8px;padding:0 10px}.Fc_jqa_checkbox{align-items:center;gap:6px;display:inline-flex}.Fc_jqa_resultCount{color:var(--dsw-alias-label-tertiary,#767b83);font-variant-numeric:tabular-nums;margin-left:auto}.Fc_jqa_tableScroll{max-width:100%;overflow-x:auto}.Fc_jqa_table{border-collapse:collapse;table-layout:fixed;width:100%}.Fc_jqa_table th{color:var(--dsw-alias-label-tertiary,#767b83);text-align:left;padding:8px 10px;font-size:12px;font-weight:600}.Fc_jqa_table th:first-child{width:30%}.Fc_jqa_table th:nth-child(2){width:25%}.Fc_jqa_table td{border-top:1px solid var(--dsw-alias-border-l3,#e2e4e8);vertical-align:middle;height:48px;padding:8px 10px}.Fc_jqa_table tr[data-selected=true]{background:var(--dsw-alias-interactive-bg-active,#edf2ff)}.Fc_jqa_runLink{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:grid}.Fc_jqa_runLink span,.Fc_jqa_stateLabel>span,.Fc_jqa_worktreeList code{color:var(--dsw-alias-label-secondary,#5f6368);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.Fc_jqa_stateLabel{justify-items:start;gap:3px;display:grid}.Fc_jqa_numeric{text-align:right;font-variant-numeric:tabular-nums}.Fc_jqa_detail{border-left:1px solid var(--dsw-alias-border-l3,#d9dce1);min-width:0;padding-left:16px}.Fc_jqa_detailHeader{justify-content:space-between;align-items:flex-start;margin-top:12px}.Fc_jqa_detailHeader h2,.Fc_jqa_summary h2,.Fc_jqa_empty h2{margin:0;font-size:17px}.Fc_jqa_detailHeader p,.Fc_jqa_reason{margin:4px 0 10px}.Fc_jqa_detail details{border-top:1px solid var(--dsw-alias-border-l3,#d9dce1);padding:12px 0}.Fc_jqa_detail summary{cursor:pointer;font-weight:600}.Fc_jqa_longText{white-space:pre-wrap;overflow-wrap:anywhere}.Fc_jqa_timeline{gap:10px;padding-left:20px;display:grid}.Fc_jqa_timeline li{gap:2px;display:grid}.Fc_jqa_timeline time,.Fc_jqa_timeline span{color:var(--dsw-alias-label-tertiary,#767b83);font-size:12px}.Fc_jqa_resource{grid-template-columns:100px minmax(0,1fr);gap:8px;margin-top:8px;display:grid}.Fc_jqa_resource code,.Fc_jqa_resource span{overflow-wrap:anywhere}.Fc_jqa_summary,.Fc_jqa_empty{max-width:820px;padding:16px 0}.Fc_jqa_summary dl{gap:0;margin:16px 0;display:grid}.Fc_jqa_summary dl>div{border-top:1px solid var(--dsw-alias-border-l3,#d9dce1);grid-template-columns:minmax(160px,1fr) minmax(180px,2fr);gap:12px;padding:10px 0;display:grid}.Fc_jqa_summary dt{color:var(--dsw-alias-label-secondary,#5f6368)}.Fc_jqa_summary dd{margin:0}.Fc_jqa_empty{text-align:center;color:var(--dsw-alias-label-secondary,#5f6368)}.Fc_jqa_worktreeList{gap:0;padding:0;list-style:none;display:grid}.Fc_jqa_worktreeList li{border-top:1px solid var(--dsw-alias-border-l3,#d9dce1);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.Fc_jqa_worktreeList li>div{min-width:0;display:grid}.Fc_jqa_success{color:var(--dsw-alias-state-success-primary,#0a7a45)}.Fc_jqa_error{color:var(--dsw-alias-state-error-primary,#c62828)}@media (width<=1000px){.Fc_jqa_split{grid-template-columns:1fr}.Fc_jqa_detail{border-top:1px solid var(--dsw-alias-border-l3,#d9dce1);border-left:0;padding-top:16px;padding-left:0}}@media (width<=640px){.Fc_jqa_page{padding:16px 12px}.Fc_jqa_header{flex-direction:column;align-items:flex-start}.Fc_jqa_headerActions{justify-content:flex-start}.Fc_jqa_table th:nth-child(n+3),.Fc_jqa_table td:nth-child(n+3){display:none}.Fc_jqa_table th:first-child{width:52%}.Fc_jqa_table th:nth-child(2){width:48%}.Fc_jqa_toolbar>span:first-child{width:100%}.Fc_jqa_resultCount{margin-left:0}}@media (prefers-reduced-motion:reduce){.Fc_jqa_page *{scroll-behavior:auto;transition:none}}";
|
|
6011
|
+
const tagId$1 = "@canhta/dsh-autopilot/operations.module.css";
|
|
6009
6012
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
6010
6013
|
const element = document.createElement("style");
|
|
6011
6014
|
element.dataset.plugin = "@canhta/dsh-autopilot";
|
|
@@ -6014,40 +6017,40 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6014
6017
|
document.head.appendChild(element);
|
|
6015
6018
|
}
|
|
6016
6019
|
var operations_module_css_default = {
|
|
6017
|
-
"
|
|
6018
|
-
"
|
|
6019
|
-
"
|
|
6020
|
-
"
|
|
6021
|
-
"
|
|
6022
|
-
"
|
|
6023
|
-
"
|
|
6024
|
-
"
|
|
6025
|
-
"
|
|
6026
|
-
"
|
|
6027
|
-
"
|
|
6028
|
-
"
|
|
6029
|
-
"
|
|
6030
|
-
"
|
|
6031
|
-
"
|
|
6032
|
-
"
|
|
6033
|
-
"detail": "
|
|
6034
|
-
"
|
|
6035
|
-
"
|
|
6036
|
-
"
|
|
6037
|
-
"
|
|
6038
|
-
"
|
|
6039
|
-
"
|
|
6040
|
-
"
|
|
6041
|
-
"
|
|
6042
|
-
"
|
|
6043
|
-
"
|
|
6044
|
-
"
|
|
6045
|
-
"
|
|
6046
|
-
"
|
|
6047
|
-
"
|
|
6048
|
-
"
|
|
6049
|
-
"
|
|
6050
|
-
"
|
|
6020
|
+
"activeTab": "Fc_jqa_activeTab",
|
|
6021
|
+
"longText": "Fc_jqa_longText",
|
|
6022
|
+
"summary": "Fc_jqa_summary",
|
|
6023
|
+
"checkbox": "Fc_jqa_checkbox",
|
|
6024
|
+
"numeric": "Fc_jqa_numeric",
|
|
6025
|
+
"split": "Fc_jqa_split",
|
|
6026
|
+
"listRegion": "Fc_jqa_listRegion",
|
|
6027
|
+
"empty": "Fc_jqa_empty",
|
|
6028
|
+
"command": "Fc_jqa_command",
|
|
6029
|
+
"resultCount": "Fc_jqa_resultCount",
|
|
6030
|
+
"headerActions": "Fc_jqa_headerActions",
|
|
6031
|
+
"detailActions": "Fc_jqa_detailActions",
|
|
6032
|
+
"success": "Fc_jqa_success",
|
|
6033
|
+
"error": "Fc_jqa_error",
|
|
6034
|
+
"resource": "Fc_jqa_resource",
|
|
6035
|
+
"timeline": "Fc_jqa_timeline",
|
|
6036
|
+
"detail": "Fc_jqa_detail",
|
|
6037
|
+
"worktreeList": "Fc_jqa_worktreeList",
|
|
6038
|
+
"detailHeader": "Fc_jqa_detailHeader",
|
|
6039
|
+
"header": "Fc_jqa_header",
|
|
6040
|
+
"runsOnly": "Fc_jqa_runsOnly",
|
|
6041
|
+
"page": "Fc_jqa_page",
|
|
6042
|
+
"stateLabel": "Fc_jqa_stateLabel",
|
|
6043
|
+
"reason": "Fc_jqa_reason",
|
|
6044
|
+
"tableScroll": "Fc_jqa_tableScroll",
|
|
6045
|
+
"tabs": "Fc_jqa_tabs",
|
|
6046
|
+
"connectionNotice": "Fc_jqa_connectionNotice",
|
|
6047
|
+
"blocker": "Fc_jqa_blocker",
|
|
6048
|
+
"attention": "Fc_jqa_attention",
|
|
6049
|
+
"toolbar": "Fc_jqa_toolbar",
|
|
6050
|
+
"content": "Fc_jqa_content",
|
|
6051
|
+
"notice": "Fc_jqa_notice",
|
|
6052
|
+
"table": "Fc_jqa_table",
|
|
6053
|
+
"runLink": "Fc_jqa_runLink"
|
|
6051
6054
|
};
|
|
6052
6055
|
//#endregion
|
|
6053
6056
|
//#region src/client/OperationsAtoms.tsx
|
|
@@ -6752,9 +6755,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6752
6755
|
return state.command?.status === "pending" || state.command?.status === "accepted" || state.command?.status === "in-progress";
|
|
6753
6756
|
}
|
|
6754
6757
|
//#endregion
|
|
6755
|
-
//#region \0dsh-autopilot-css
|
|
6756
|
-
const css = ".
|
|
6757
|
-
const tagId = "@canhta/dsh-autopilot/
|
|
6758
|
+
//#region \0dsh-autopilot-css:/home/runner/work/dsh-autopilot/dsh-autopilot/src/client/settings.module.css.mjs
|
|
6759
|
+
const css = ".Rycwsq_settings{max-width:920px;color:var(--dsw-alias-label-primary,#202124);padding:0 8px 24px;font-size:14px}.Rycwsq_settings h2{margin:0;font-size:20px;line-height:1.3}.Rycwsq_settings>p,.Rycwsq_providerCard p,.Rycwsq_gap{color:var(--dsw-alias-label-secondary,#5f6368)}.Rycwsq_settings fieldset{border:1px solid var(--dsw-alias-border-l3,#d9dce1);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0;padding:16px;display:grid}.Rycwsq_settings legend{padding:0 6px;font-weight:600}.Rycwsq_settings label{gap:6px;display:grid}.Rycwsq_settings select{border:1px solid var(--dsw-alias-border-l4,#c7cbd1);color:inherit;background:var(--dsw-alias-bg-layer-1,#fff);border-radius:8px;padding:0 10px}.Rycwsq_settings label>select,.Rycwsq_settings input{width:100%;min-height:34px}.Rycwsq_notice,.Rycwsq_fullWidth{grid-column:1/-1}.Rycwsq_notice,.Rycwsq_gap{border:1px solid var(--dsw-alias-border-l3,#d9dce1);background:var(--dsw-alias-bg-layer-2,#f7f8fa);border-radius:8px;margin:8px 0;padding:10px 12px}.Rycwsq_gap{border-color:var(--dsw-alias-state-warn-primary,#a15c00)}.Rycwsq_providerCard{border:1px solid var(--dsw-alias-border-l3,#d9dce1);background:var(--dsw-alias-bg-layer-2,#f7f8fa);border-radius:8px;padding:12px}.Rycwsq_providerCard>div:first-child,.Rycwsq_settingsFooter,.Rycwsq_credentialActions{align-items:center;gap:8px;display:flex}.Rycwsq_providerCard h3{margin:0 auto 0 0;font-size:15px}.Rycwsq_providerCard dl{gap:3px;margin:12px 0;display:grid}.Rycwsq_providerCard dt{color:var(--dsw-alias-label-secondary,#5f6368)}.Rycwsq_providerCard dd{overflow-wrap:anywhere;margin:0 0 6px}.Rycwsq_credential{border-top:1px solid var(--dsw-alias-border-l3,#d9dce1);gap:8px;padding-top:12px;display:grid}.Rycwsq_settings .Rycwsq_checkboxLabel{flex-direction:row;align-items:center;gap:8px;display:flex}.Rycwsq_checkboxLabel input[type=checkbox]{width:auto;min-height:auto;margin:0}.Rycwsq_notificationList{gap:12px;display:grid}.Rycwsq_notificationRow{border:1px solid var(--dsw-alias-border-l3,#d9dce1);background:var(--dsw-alias-bg-layer-2,#f7f8fa);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;display:grid}.Rycwsq_settings .Rycwsq_eventChoices{border:0;flex-wrap:wrap;grid-column:1/-1;gap:8px 16px;margin:0;padding:0;display:flex}.Rycwsq_eventChoices legend{width:100%;padding:0;font-weight:400}.Rycwsq_settingsFooter{flex-wrap:wrap}.Rycwsq_success{color:var(--dsw-alias-state-success-primary,#0a7a45)}.Rycwsq_error{color:var(--dsw-alias-state-error-primary,#c62828)}@media (width<=640px){.Rycwsq_settings fieldset{grid-template-columns:1fr}.Rycwsq_notice,.Rycwsq_fullWidth{grid-column:auto}.Rycwsq_notificationRow{grid-template-columns:1fr}.Rycwsq_eventChoices{grid-column:auto}}@media (prefers-reduced-motion:reduce){.Rycwsq_settings *{scroll-behavior:auto;transition:none}}";
|
|
6760
|
+
const tagId = "@canhta/dsh-autopilot/settings.module.css";
|
|
6758
6761
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
6759
6762
|
const element = document.createElement("style");
|
|
6760
6763
|
element.dataset.plugin = "@canhta/dsh-autopilot";
|
|
@@ -6763,20 +6766,20 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
6763
6766
|
document.head.appendChild(element);
|
|
6764
6767
|
}
|
|
6765
6768
|
var settings_module_css_default = {
|
|
6766
|
-
"
|
|
6767
|
-
"eventChoices": "
|
|
6768
|
-
"
|
|
6769
|
-
"
|
|
6770
|
-
"
|
|
6771
|
-
"
|
|
6772
|
-
"
|
|
6773
|
-
"
|
|
6774
|
-
"
|
|
6775
|
-
"
|
|
6776
|
-
"
|
|
6777
|
-
"
|
|
6778
|
-
"
|
|
6779
|
-
"
|
|
6769
|
+
"notificationRow": "Rycwsq_notificationRow",
|
|
6770
|
+
"eventChoices": "Rycwsq_eventChoices",
|
|
6771
|
+
"error": "Rycwsq_error",
|
|
6772
|
+
"notice": "Rycwsq_notice",
|
|
6773
|
+
"settingsFooter": "Rycwsq_settingsFooter",
|
|
6774
|
+
"credentialActions": "Rycwsq_credentialActions",
|
|
6775
|
+
"providerCard": "Rycwsq_providerCard",
|
|
6776
|
+
"gap": "Rycwsq_gap",
|
|
6777
|
+
"fullWidth": "Rycwsq_fullWidth",
|
|
6778
|
+
"settings": "Rycwsq_settings",
|
|
6779
|
+
"checkboxLabel": "Rycwsq_checkboxLabel",
|
|
6780
|
+
"success": "Rycwsq_success",
|
|
6781
|
+
"credential": "Rycwsq_credential",
|
|
6782
|
+
"notificationList": "Rycwsq_notificationList"
|
|
6780
6783
|
};
|
|
6781
6784
|
//#endregion
|
|
6782
6785
|
//#region src/client/SettingsCapabilitySections.tsx
|
|
@@ -7066,11 +7069,12 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7066
7069
|
}
|
|
7067
7070
|
//#endregion
|
|
7068
7071
|
//#region src/client/SettingsProviderSection.tsx
|
|
7069
|
-
function ProviderConnectionSection({ providers, selectedProvider, codeHostProvider, allowWorkflowChanges, credentials, onSelectProvider, onSelectCodeHostProvider, onAllowWorkflowChanges, onOpenSettings, onTestProvider, onSetCredential, onUnsetCredential, t }) {
|
|
7072
|
+
function ProviderConnectionSection({ providers, selectedProvider, codeHostProviders, codeHostProvider, allowWorkflowChanges, credentials, onSelectProvider, onSelectCodeHostProvider, onAllowWorkflowChanges, onOpenSettings, onTestProvider, onSetCredential, onUnsetCredential, t }) {
|
|
7070
7073
|
const [tests, setTests] = (0, react.useState)({});
|
|
7071
7074
|
const testRequests = (0, react.useRef)(/* @__PURE__ */ new Map());
|
|
7072
7075
|
const codeHostProviderInputId = (0, react.useId)();
|
|
7073
7076
|
const activeProvider = providers.find((provider) => provider.id === selectedProvider);
|
|
7077
|
+
const activeCodeHostProvider = codeHostProviders.find((provider) => provider.id === codeHostProvider);
|
|
7074
7078
|
(0, react.useEffect)(() => () => {
|
|
7075
7079
|
for (const request of testRequests.current.values()) request.abort();
|
|
7076
7080
|
testRequests.current.clear();
|
|
@@ -7105,7 +7109,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7105
7109
|
if (testRequests.current.get(provider.id) === request) testRequests.current.delete(provider.id);
|
|
7106
7110
|
}
|
|
7107
7111
|
};
|
|
7108
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("fieldset", { children: [
|
|
7112
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("fieldset", { children: [
|
|
7109
7113
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("legend", { children: t("providerSection") }),
|
|
7110
7114
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", { children: [t("provider"), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
7111
7115
|
value: selectedProvider,
|
|
@@ -7118,14 +7122,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7118
7122
|
children: selectedProvider
|
|
7119
7123
|
})]
|
|
7120
7124
|
})] }),
|
|
7121
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
7122
|
-
htmlFor: codeHostProviderInputId,
|
|
7123
|
-
children: [t("codeHostProviderReference"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Input, {
|
|
7124
|
-
id: codeHostProviderInputId,
|
|
7125
|
-
value: codeHostProvider,
|
|
7126
|
-
onChange: (event) => onSelectCodeHostProvider(event.currentTarget.value)
|
|
7127
|
-
})]
|
|
7128
|
-
}),
|
|
7129
7125
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
7130
7126
|
className: `${settings_module_css_default.checkboxLabel} ${settings_module_css_default.fullWidth}`,
|
|
7131
7127
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
@@ -7147,10 +7143,6 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7147
7143
|
className: `${settings_module_css_default.notice} ${settings_module_css_default.fullWidth}`,
|
|
7148
7144
|
children: t("providerSettingsOwnership")
|
|
7149
7145
|
}),
|
|
7150
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
7151
|
-
className: settings_module_css_default.notice,
|
|
7152
|
-
children: t("mcpNotice")
|
|
7153
|
-
}),
|
|
7154
7146
|
activeProvider === void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
7155
7147
|
className: `${settings_module_css_default.gap} ${settings_module_css_default.fullWidth}`,
|
|
7156
7148
|
children: t("configureHint")
|
|
@@ -7163,9 +7155,36 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7163
7155
|
onUnsetCredential,
|
|
7164
7156
|
t
|
|
7165
7157
|
})
|
|
7166
|
-
] })
|
|
7158
|
+
] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("fieldset", { children: [
|
|
7159
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("legend", { children: t("codeHostProviderSection") }),
|
|
7160
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
7161
|
+
htmlFor: codeHostProviderInputId,
|
|
7162
|
+
className: settings_module_css_default.fullWidth,
|
|
7163
|
+
children: [t("codeHostProviderReference"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Input, {
|
|
7164
|
+
id: codeHostProviderInputId,
|
|
7165
|
+
value: codeHostProvider,
|
|
7166
|
+
onChange: (event) => onSelectCodeHostProvider(event.currentTarget.value)
|
|
7167
|
+
})]
|
|
7168
|
+
}),
|
|
7169
|
+
codeHostProvider === "" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
7170
|
+
className: `${settings_module_css_default.gap} ${settings_module_css_default.fullWidth}`,
|
|
7171
|
+
children: t("codeHostConfigureHint")
|
|
7172
|
+
}) : activeCodeHostProvider === void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
7173
|
+
className: `${settings_module_css_default.gap} ${settings_module_css_default.fullWidth}`,
|
|
7174
|
+
children: t("configureHint")
|
|
7175
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProviderCard, {
|
|
7176
|
+
provider: activeCodeHostProvider,
|
|
7177
|
+
test: void 0,
|
|
7178
|
+
canTest: false,
|
|
7179
|
+
credentials,
|
|
7180
|
+
onTest: () => Promise.resolve(),
|
|
7181
|
+
onSetCredential,
|
|
7182
|
+
onUnsetCredential,
|
|
7183
|
+
t
|
|
7184
|
+
})
|
|
7185
|
+
] })] });
|
|
7167
7186
|
}
|
|
7168
|
-
function ProviderCard({ provider, test, credentials, onTest, onSetCredential, onUnsetCredential, t }) {
|
|
7187
|
+
function ProviderCard({ provider, test, canTest = true, credentials, onTest, onSetCredential, onUnsetCredential, t }) {
|
|
7169
7188
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("article", {
|
|
7170
7189
|
className: `${settings_module_css_default.providerCard} ${settings_module_css_default.fullWidth}`,
|
|
7171
7190
|
children: [
|
|
@@ -7195,13 +7214,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7195
7214
|
t
|
|
7196
7215
|
}, credential.ref))
|
|
7197
7216
|
] }),
|
|
7198
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
7217
|
+
canTest ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
7199
7218
|
size: "sm",
|
|
7200
7219
|
variant: "outline",
|
|
7201
7220
|
disabled: provider.availability !== "available" || test === "testing",
|
|
7202
7221
|
onClick: () => void onTest(),
|
|
7203
7222
|
children: t("testConnection")
|
|
7204
|
-
}),
|
|
7223
|
+
}) : null,
|
|
7205
7224
|
test === void 0 || test === "testing" ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
7206
7225
|
role: "status",
|
|
7207
7226
|
className: test.status === "ready" ? settings_module_css_default.success : settings_module_css_default.error,
|
|
@@ -7426,6 +7445,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
7426
7445
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProviderConnectionSection, {
|
|
7427
7446
|
providers: host?.providers ?? [],
|
|
7428
7447
|
selectedProvider: draft.trackerProvider,
|
|
7448
|
+
codeHostProviders: host?.codeHostProviders ?? [],
|
|
7429
7449
|
codeHostProvider: draft.codeHostProvider,
|
|
7430
7450
|
allowWorkflowChanges: draft.allowWorkflowChanges,
|
|
7431
7451
|
credentials,
|